diff --git a/.github/ISSUE_TEMPLATE/01_bug_report.yml b/.github/ISSUE_TEMPLATE/01_bug_report.yml index 504ff9573d77..e0ec7544c83b 100644 --- a/.github/ISSUE_TEMPLATE/01_bug_report.yml +++ b/.github/ISSUE_TEMPLATE/01_bug_report.yml @@ -9,9 +9,9 @@ body:

- - - NixOS logo + + + NixOS logo

@@ -20,7 +20,9 @@ body: > [!TIP] > For instance, if you were filing a bug against the [`hello`](https://search.nixos.org/packages?channel=unstable&from=0&size=1&buckets=%7B%22package_attr_set%22%3A%5B%22No%20package%20set%22%5D%2C%22package_license_set%22%3A%5B%22GNU%20General%20Public%20License%20v3.0%20or%20later%22%5D%2C%22package_maintainers_set%22%3A%5B%5D%2C%22package_platforms%22%3A%5B%5D%7D&sort=relevance&type=packages&query=hello) package about it failing to launch on ARM Linux, your title would be as follows: - > `hello: fails to launch on aarch64-linux` + > ``` + > hello: fails to launch on aarch64-linux + > ``` --- - type: "dropdown" @@ -30,8 +32,7 @@ body: description: | What version of Nixpkgs are you using? - > [!IMPORTANT] - > If you are using an older version, please update to the latest stable version and check if the issue persists before continuing this bug report. + If you are using an older version, please update to the latest stable version and check if the issue persists before continuing this bug report. options: - "Please select a version." - "- Unstable (25.11)" @@ -100,7 +101,7 @@ body: label: "Notify maintainers" description: | Please mention the people who are in the **Maintainers** list of the offending package. This is done by by searching for the package on the [NixOS Package Search](https://search.nixos.org/packages) and mentioning the people listed under **Maintainers** by prefixing their GitHub usernames with an '@' character. Please add the mentions above the `---` characters in the template below. - value: | + value: |2 --- diff --git a/.github/ISSUE_TEMPLATE/02_bug_report_darwin.yml b/.github/ISSUE_TEMPLATE/02_bug_report_darwin.yml index e99882bb3bcc..980c7dd2bb2c 100644 --- a/.github/ISSUE_TEMPLATE/02_bug_report_darwin.yml +++ b/.github/ISSUE_TEMPLATE/02_bug_report_darwin.yml @@ -9,9 +9,9 @@ body:

- - - NixOS logo + + + NixOS logo

@@ -20,7 +20,9 @@ body: > [!TIP] > For instance, if you were filing a bug against the [`hello`](https://search.nixos.org/packages?channel=unstable&from=0&size=1&buckets=%7B%22package_attr_set%22%3A%5B%22No%20package%20set%22%5D%2C%22package_license_set%22%3A%5B%22GNU%20General%20Public%20License%20v3.0%20or%20later%22%5D%2C%22package_maintainers_set%22%3A%5B%5D%2C%22package_platforms%22%3A%5B%5D%7D&sort=relevance&type=packages&query=hello) package about it failing to launch on Apple Silicon, your title would be as follows: - > `hello: fails to launch on aarch64-darwin` + > ``` + > hello: fails to launch on aarch64-darwin + > ``` --- - type: "dropdown" @@ -30,8 +32,7 @@ body: description: | What version of Nixpkgs are you using? - > [!IMPORTANT] - > If you are using an older version, please update to the latest stable version and check if the issue persists before continuing this bug report. + If you are using an older version, please update to the latest stable version and check if the issue persists before continuing this bug report. options: - "Please select a version." - "- Unstable (25.11)" @@ -114,7 +115,7 @@ body: Please mention the people who are in the **Maintainers** list of the offending package. This is done by by searching for the package on the [NixOS Package Search](https://search.nixos.org/packages) and mentioning the people listed under **Maintainers** by prefixing their GitHub usernames with an '@' character. Please add the mentions above the `---` characters in the template below. If this issue is related to the Darwin packaging architecture as a whole, or is related to the core Darwin frameworks, consider mentioning the `@NixOS/darwin-core` team. - value: | + value: |2 --- diff --git a/.github/ISSUE_TEMPLATE/03_bug_report_nixos.yml b/.github/ISSUE_TEMPLATE/03_bug_report_nixos.yml index d22e9fa7a897..9a6834cf9810 100644 --- a/.github/ISSUE_TEMPLATE/03_bug_report_nixos.yml +++ b/.github/ISSUE_TEMPLATE/03_bug_report_nixos.yml @@ -9,9 +9,9 @@ body:

- - - NixOS logo + + + NixOS logo

@@ -20,7 +20,9 @@ body: > [!TIP] > For instance, if you were filing a bug against the [`systemd-boot`](https://search.nixos.org/options?channel=unstable&show=boot.loader.systemd-boot.enable&from=0&size=1) module about it failing to install [`memtest86`](https://search.nixos.org/options?channel=unstable&show=boot.loader.systemd-boot.memtest86.enable&from=0&size=1), your title would be as follows: - > `nixos/systemd-boot: fails to install memtest86` + > ``` + > nixos/systemd-boot: fails to install memtest86 + > ``` --- - type: "dropdown" @@ -30,8 +32,7 @@ body: description: | What version of Nixpkgs are you using? - > [!IMPORTANT] - > If you are using an older version, please [update to the latest stable version](https://nixos.org/download) and check if the issue persists before continuing this bug report. + If you are using an older version, please update to the latest stable version and check if the issue persists before continuing this bug report. options: - "Please select a version." - "- Unstable (25.11)" @@ -104,7 +105,7 @@ body: Please note that the maintainer attribute name does not always match the maintainer's GitHub username. If that occurs, try looking in [`maintainers/maintainer-list.nix`](https://github.com/NixOS/nixpkgs/blob/master/maintainers/maintainer-list.nix) for the maintainer attribute name, and checking if the maintainer has a listed GitHub username. If in doubt, check `git blame` for whoever last touched the module, or check the associated package's maintainers. Please add the mentions above the `---` characters. - value: | + value: |2 --- diff --git a/.github/ISSUE_TEMPLATE/04_build_failure.yml b/.github/ISSUE_TEMPLATE/04_build_failure.yml index 03b4065b2389..4060900452a7 100644 --- a/.github/ISSUE_TEMPLATE/04_build_failure.yml +++ b/.github/ISSUE_TEMPLATE/04_build_failure.yml @@ -9,9 +9,9 @@ body:

- - - NixOS logo + + + NixOS logo

@@ -20,7 +20,9 @@ body: > [!TIP] > For instance, if you were filing a build failure against the [`hello`](https://search.nixos.org/packages?channel=unstable&from=0&size=1&buckets=%7B%22package_attr_set%22%3A%5B%22No%20package%20set%22%5D%2C%22package_license_set%22%3A%5B%22GNU%20General%20Public%20License%20v3.0%20or%20later%22%5D%2C%22package_maintainers_set%22%3A%5B%5D%2C%22package_platforms%22%3A%5B%5D%7D&sort=relevance&type=packages&query=hello) package, your title would be as follows: - > `Build failure: hello` + > ``` + > Build failure: hello + > ``` --- - type: "dropdown" @@ -30,9 +32,9 @@ body: description: | In what version of Nixpkgs did the build failure occur? - > [!IMPORTANT] - > If you are using an older version, please update to the latest stable version and check if the build failure persists before continuing this report. - > If you are purposefully trying to build an ancient version of a package in an older Nixpkgs, please coordinate with the [NixOS Archivists](https://matrix.to/#/#archivists:nixos.org). + If you are using an older version, please update to the latest stable version and check if the build failure persists before continuing this report. + + If you are purposefully trying to build an ancient version of a package in an older Nixpkgs, please coordinate with the [NixOS Archivists](https://matrix.to/#/#archivists:nixos.org). options: - "Please select a version." - "- Unstable (25.11)" @@ -109,7 +111,7 @@ body: label: "Notify maintainers" description: | Please mention the people who are in the **Maintainers** list of the offending package. This is done by by searching for the package on the [NixOS Package Search](https://search.nixos.org/packages) and mentioning the people listed under **Maintainers** by prefixing their GitHub usernames with an '@' character. Please add the mentions above the `---` characters in the template below. - value: | + value: |2 --- diff --git a/.github/ISSUE_TEMPLATE/05_update_request.yml b/.github/ISSUE_TEMPLATE/05_update_request.yml index 0fc3c0cd2362..a0f076973d7b 100644 --- a/.github/ISSUE_TEMPLATE/05_update_request.yml +++ b/.github/ISSUE_TEMPLATE/05_update_request.yml @@ -9,9 +9,9 @@ body:

- - - NixOS logo + + + NixOS logo

@@ -20,7 +20,9 @@ body: > [!TIP] > For instance, if you were filing a request against the out of date `hello` package, where the current version in Nixpkgs is 1.0.0, but the latest version upstream is 1.0.1, your title would be as follows: - > `Update Request: hello 1.0.0 → 1.0.1` + > ``` + > Update Request: hello 1.0.0 → 1.0.1 + > ``` --- - type: "dropdown" @@ -30,9 +32,9 @@ body: description: | What version of Nixpkgs are you using? - > [!IMPORTANT] - > If you are using an older or stable version, please update to the latest **unstable** version and check if the package is still out of date. - > If the package has been updated in unstable, but you believe the update should be backported to the stable release of Nixpkgs, please file the '**Request: backport to stable**' form instead. + If you are using an older or stable version, please update to the latest **unstable** version and check if the package is still out of date. + + If the package has been updated in unstable, but you believe the update should be backported to the stable release of Nixpkgs, please file the '**Request: backport to stable**' form instead. options: - "Please select a version." - "- Unstable (25.11)" @@ -84,7 +86,7 @@ body: label: "Notify maintainers" description: | Please mention the people who are in the **Maintainers** list of the offending package. This is done by by searching for the package on the [NixOS Package Search](https://search.nixos.org/packages) and mentioning the people listed under **Maintainers** by prefixing their GitHub usernames with an '@' character. Please add the mentions above the `---` characters in the template below. - value: | + value: |2 --- diff --git a/.github/ISSUE_TEMPLATE/06_module_request.yml b/.github/ISSUE_TEMPLATE/06_module_request.yml index bb800bc0e087..cdd7908041a5 100644 --- a/.github/ISSUE_TEMPLATE/06_module_request.yml +++ b/.github/ISSUE_TEMPLATE/06_module_request.yml @@ -9,9 +9,9 @@ body:

- - - NixOS logo + + + NixOS logo

@@ -20,7 +20,9 @@ body: > [!TIP] > For instance, if you were filing a request against the missing `hello` module, your title would be as follows: - > `Module Request: nixos/hello` + > ``` + > Module Request: nixos/hello + > ``` --- - type: "dropdown" @@ -30,8 +32,7 @@ body: description: | What version of Nixpkgs are you using? - > [!IMPORTANT] - > If you are using an older or stable version, please update to the latest **unstable** version and check if the module still does not exist before continuing this request. + If you are using an older or stable version, please update to the latest **unstable** version and check if the module still does not exist before continuing this request. options: - "Please select a version." - "- Unstable (25.11)" @@ -60,7 +61,7 @@ body: label: "Notify maintainers" description: | Please mention the people who are in the **Maintainers** list of the offending package. This is done by by searching for the package on the [NixOS Package Search](https://search.nixos.org/packages) and mentioning the people listed under **Maintainers** by prefixing their GitHub usernames with an '@' character. Please add the mentions above the `---` characters in the template below. - value: | + value: |2 --- diff --git a/.github/ISSUE_TEMPLATE/07_backport_request.yml b/.github/ISSUE_TEMPLATE/07_backport_request.yml index b0c5deba3247..eb07f62a9ab9 100644 --- a/.github/ISSUE_TEMPLATE/07_backport_request.yml +++ b/.github/ISSUE_TEMPLATE/07_backport_request.yml @@ -9,23 +9,27 @@ body:

- - - NixOS logo + + + NixOS logo

> [!CAUTION] > **Before you begin:** Be advised that backports are subject to the [release suitability guidelines](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#changes-acceptable-for-releases). - > Stable releases of Nixpkgs do not receive breaking changes, which include major package updates that have incompatible API changes and break backwards compatibility. In the [Semantic Versioning standard](https://semver.org/), this is the first version number. (1.X.X) + > + > Stable releases of Nixpkgs do not receive breaking changes, which include major package updates that have incompatible API changes and break backwards compatibility. In the [Semantic Versioning standard](https://semver.org/), this is the first version number (1.X.X). + > > Generally, only minor package updates, such as security patches, bug fixes and feature additions (but not removals!) will be considered for backporting. Please read the rules above carefully before filing this backport request. Welcome to Nixpkgs. Please replace the **`Backport to Stable: PACKAGENAME OLDVERSION → NEWVERSION`** template above with the correct package name (As seen in the [NixOS Package Search](https://search.nixos.org/packages)), the current version of the package in Nixpkgs Stable and the current version of the package in Nixpkgs Unstable. > [!TIP] > For instance, if you were filing a request against the out of date `hello` package, where the current version in Nixpkgs Unstable is 1.0.1, but the current version in Nixpkgs Stable is 1.0.0, your title would be as follows: - > `Backport to Stable: hello 1.0.0 → 1.0.1` + > ``` + > Backport to Stable: hello 1.0.0 → 1.0.1 + > ``` --- - type: "input" @@ -62,7 +66,7 @@ body: label: "Notify maintainers" description: | Please mention the people who are in the **Maintainers** list of the offending package. This is done by by searching for the package on the [NixOS Package Search](https://search.nixos.org/packages) and mentioning the people listed under **Maintainers** by prefixing their GitHub usernames with an '@' character. Please add the mentions above the `---` characters in the template below. - value: | + value: |2 --- diff --git a/.github/ISSUE_TEMPLATE/08_documentation_request.yml b/.github/ISSUE_TEMPLATE/08_documentation_request.yml index cfa3df26acf8..6879cb48083c 100644 --- a/.github/ISSUE_TEMPLATE/08_documentation_request.yml +++ b/.github/ISSUE_TEMPLATE/08_documentation_request.yml @@ -9,9 +9,9 @@ body:

- - - NixOS logo + + + NixOS logo

@@ -20,7 +20,9 @@ body: > [!TIP] > For instance, if you were filing an issue against the [`hello`](https://search.nixos.org/packages?channel=unstable&from=0&size=1&buckets=%7B%22package_attr_set%22%3A%5B%22No%20package%20set%22%5D%2C%22package_license_set%22%3A%5B%22GNU%20General%20Public%20License%20v3.0%20or%20later%22%5D%2C%22package_maintainers_set%22%3A%5B%5D%2C%22package_platforms%22%3A%5B%5D%7D&sort=relevance&type=packages&query=hello) package about it not having any NixOS-specific documentation, your title would be as follows: - > `Missing Documentation: hello` + > ``` + > Missing Documentation: hello + > ``` --- - type: "textarea" @@ -46,7 +48,7 @@ body: label: "Notify maintainers" description: | Please mention the people who are in the **Maintainers** list of the offending package. This is done by by searching for the package on the [NixOS Package Search](https://search.nixos.org/packages) and mentioning the people listed under **Maintainers** by prefixing their GitHub usernames with an '@' character. Please add the mentions above the `---` characters in the template below. - value: | + value: |2 --- diff --git a/.github/ISSUE_TEMPLATE/09_unreproducible_package.yml b/.github/ISSUE_TEMPLATE/09_unreproducible_package.yml index b554f6f48ef9..bc3af9c4db47 100644 --- a/.github/ISSUE_TEMPLATE/09_unreproducible_package.yml +++ b/.github/ISSUE_TEMPLATE/09_unreproducible_package.yml @@ -9,9 +9,9 @@ body:

- - - NixOS logo + + + NixOS logo

@@ -20,6 +20,7 @@ body: > [!NOTE] > This form is for reporting unreproducible packages. For more information, see the [Reproducible Builds Status](https://reproducible.nixos.org/) page. + > > To report a package that fails to build entirely, please use the "Build Failure" form instead. --- @@ -119,7 +120,7 @@ body: label: "Notify maintainers" description: | Please mention the people who are in the **Maintainers** list of the offending package. This is done by by searching for the package on the [NixOS Package Search](https://search.nixos.org/packages) and mentioning the people listed under **Maintainers** by prefixing their GitHub usernames with an '@' character. Please add the mentions above the `---` characters in the template below. - value: | + value: |2 --- diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 27635498f54d..1ed8ae285d89 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -30,7 +30,7 @@ For new packages please briefly describe the package or provide a link to its ho - [NixOS 25.11 Release Notes](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2511.section.md) (or backporting [24.11](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2411.section.md) and [25.05](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2505.section.md) NixOS Release notes) - [ ] (Module updates) Added a release notes entry if the change is significant - [ ] (Module addition) Added a release notes entry if adding a new NixOS module -- [ ] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md). +- [ ] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md), [pkgs/README.md](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md), [maintainers/README.md](https://github.com/NixOS/nixpkgs/blob/master/maintainers/README.md) and other contributing documentation in corresponding paths. +[`evalModules`]: #module-system-lib-evalModules +[`specialArgs`]: #module-system-lib-evalModules-param-specialArgs diff --git a/doc/redirects.json b/doc/redirects.json index 7fb27ab4ced1..4175d8ef4c91 100644 --- a/doc/redirects.json +++ b/doc/redirects.json @@ -4515,5 +4515,23 @@ ], "sec-interop.cylonedx-fod": [ "index.html#sec-interop.cylonedx-fod" + ], + "module-system-module-argument-_prefix": [ + "index.html#module-system-module-argument-_prefix" + ], + "module-system-module-argument-lib": [ + "index.html#module-system-module-argument-lib" + ], + "module-system-module-argument-config": [ + "index.html#module-system-module-argument-config" + ], + "module-system-module-arguments": [ + "index.html#module-system-module-arguments" + ], + "module-system-module-argument-_class": [ + "index.html#module-system-module-argument-_class" + ], + "module-system-module-argument-options": [ + "index.html#module-system-module-argument-options" ] } diff --git a/doc/release-notes/rl-2511.section.md b/doc/release-notes/rl-2511.section.md index b258d5f8e9a6..c9547663b129 100644 --- a/doc/release-notes/rl-2511.section.md +++ b/doc/release-notes/rl-2511.section.md @@ -17,14 +17,23 @@ - `base16-builder` node package has been removed due to lack of upstream maintenance. - `gentium` package now provides `Gentium-*.ttf` files, and not `GentiumPlus-*.ttf` files like before. The font identifiers `Gentium Plus*` are available in the `gentium-plus` package, and if you want to use the more recently updated package `gentium` [by sil](https://software.sil.org/gentium/), you should update your configuration files to use the `Gentium` font identifier. +- `space-orbit` package has been removed due to lack of upstream maintenance. Debian upstream stopped tracking it in 2011. +- `command-not-found` package is now disabled by default; it works only for nix-channels based systems, and requires setup for it to work. + +- `gnome-keyring` no longer ships with an SSH agent anymore because it has been deprecated upstream. You should use `gcr_4` instead, which provides the same features. More information on why this was done can be found on [the relevant GCR upstream PR](https://gitlab.gnome.org/GNOME/gcr/-/merge_requests/67). + +- `lima` package now only includes the guest agent for the host's architecture by default. If your guest VM's architecture differs from your Lima host's, you'll need to enable the `lima-additional-guestagents` package by setting `withAdditionalGuestAgents = true` when overriding lima with this input. ## Other Notable Changes {#sec-nixpkgs-release-25.11-notable-changes} +- Added `rewriteURL` attribute to the nixpkgs `config`, to allow for rewriting the URLs downloaded by `fetchurl`. + - New hardening flags, `strictflexarrays1` and `strictflexarrays3` were made available, corresponding to the gcc/clang options `-fstrict-flex-arrays=1` and `-fstrict-flex-arrays=3` respectively. -- Added `rewriteURL` attribute to the nixpkgs `config`, to allow for rewriting the URLs downloaded by `fetchurl`. +- `gramps` has been updated to 6.0.0 + Upstream recommends [backing up your Family Trees](https://gramps-project.org/wiki/index.php/Gramps_6.0_Wiki_Manual_-_Manage_Family_Trees#Backing_up_a_Family_Tree) before upgrading. ## Nixpkgs Library {#sec-nixpkgs-release-25.11-lib} diff --git a/lib/default.nix b/lib/default.nix index 6f8530296044..d45e6de0c33f 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -433,6 +433,8 @@ let pathHasContext canCleanSource pathIsGitRepo + revOrTag + repoRevToName ; inherit (self.modules) evalModules diff --git a/lib/derivations.nix b/lib/derivations.nix index 3a8c683da3c0..574b01695d86 100644 --- a/lib/derivations.nix +++ b/lib/derivations.nix @@ -216,8 +216,9 @@ in /** Wrap a derivation such that instantiating it produces a warning. - All attributes apart from `meta`, `name`, and `type` (which are used by - `nix search`) will be wrapped in `lib.warn`. + All attributes will be wrapped with `lib.warn` except from `.meta`, `.name`, + and `.type` which are used by `nix search`, and `.outputName` which avoids + double warnings with `nix-instantiate` and `nix-build`. # Inputs @@ -246,6 +247,7 @@ in "meta" "name" "type" + "outputName" ]; in drv // mapAttrs (_: lib.warn msg) drvToWrap; diff --git a/lib/licenses.nix b/lib/licenses.nix index 91a09db4082d..7204e5e539c6 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -702,6 +702,18 @@ lib.mapAttrs mkLicense ( fullName = "Historic Permission Notice and Disclaimer"; }; + hpndDifferentDisclaimer = { + fullName = "HPND with different disclaimer"; + url = "https://gitlab.freedesktop.org/xorg/proto/xorgproto/-/blob/1914233e662d23ffb3812b80fadd0bbd064ad91c/COPYING-x11proto#L69-88"; + # TODO: if the license gets accepted to spdx then + # add spdxId + # else + # remove license + # && replace reference with whatever this license is supposed to be then + # https://tools.spdx.org/app/license_requests/456 + # https://github.com/spdx/license-list-xml/issues/2753 + }; + hpndSellVariant = { fullName = "Historical Permission Notice and Disclaimer - sell variant"; spdxId = "HPND-sell-variant"; diff --git a/lib/modules.nix b/lib/modules.nix index d6061ec6d039..23ee8201f7c5 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -258,6 +258,7 @@ let specialArgs ; _class = class; + _prefix = prefix; } // specialArgs ); @@ -388,6 +389,7 @@ let value = m; _type = m._type; expectedClass = class; + prefix = args._prefix; } ) else if isList m then @@ -1976,6 +1978,10 @@ let file != null && file != unknownModule ) ", while trying to load a module into ${toString file}"; + into_prefix_maybe = + prefix: + optionalString (prefix != [ ]) ", while trying to load a module into ${code (showOption prefix)}"; + /** Format text with one line break between each list item. */ @@ -2023,12 +2029,13 @@ let value, _type, expectedClass ? null, + prefix, }: paragraphs ( [ '' - Expected a module, but found a value of type ${warn (escapeNixString _type)}${into_fallback_file_maybe fallbackFile}. - A module is typically loaded by adding it the ${code "imports = [ ... ];"} attribute of an existing module, or in the ${code "modules = [ ... ];"} argument of various functions. + Expected a module, but found a value of type ${warn (escapeNixString _type)}${into_fallback_file_maybe fallbackFile}${into_prefix_maybe prefix}. + A module is typically loaded by adding it to the ${code "imports = [ ... ];"} attribute of an existing module, or in the ${code "modules = [ ... ];"} argument of various functions. Please make sure that each of the list items is a module, and not a different kind of value. '' ] @@ -2057,7 +2064,7 @@ let '') ] ++ optionalMatch { - # We'll no more than 5 custom suggestions here. + # We'll add no more than 5 custom suggestions here. # Please switch to `.modules.${class}` in your Module System application. "nixos" = trim '' or diff --git a/lib/options.nix b/lib/options.nix index 198f3eef47df..25f5cefb5da9 100644 --- a/lib/options.nix +++ b/lib/options.nix @@ -170,8 +170,8 @@ rec { config.foo.enable = true; } - ]: - } + ]; + }; in eval.config => { foo.enable = true; } diff --git a/lib/sources.nix b/lib/sources.nix index e165439998a1..47376d0d0369 100644 --- a/lib/sources.nix +++ b/lib/sources.nix @@ -3,7 +3,7 @@ # Tested in lib/tests/sources.sh let - inherit (builtins) + inherit (lib.strings) match split storeDir @@ -403,6 +403,101 @@ let }; }; + # urlToName : (URL | Path | String) -> String + # + # Transform a URL (or path, or string) into a clean package name. + urlToName = + url: + let + inherit (lib.strings) stringLength; + base = baseNameOf (lib.removeSuffix "/" (lib.last (lib.splitString ":" (toString url)))); + # chop away one git or archive-related extension + removeExt = + name: + let + matchExt = match "(.*)\\.(git|tar|zip|gz|tgz|bz|tbz|bz2|tbz2|lzma|txz|xz|zstd)$" name; + in + if matchExt != null then lib.head matchExt else name; + # apply function f to string x while the result shrinks + shrink = + f: x: + let + v = f x; + in + if stringLength v < stringLength x then shrink f v else x; + in + shrink removeExt base; + + # shortRev : (String | Integer) -> String + # + # Given a package revision (like "refs/tags/v12.0"), produce a short revision ("12.0"). + shortRev = + rev: + let + baseRev = baseNameOf (toString rev); + matchHash = match "[a-f0-9]+" baseRev; + matchVer = match "([A-Za-z]+[-_. ]?)*(v)?([0-9.]+.*)" baseRev; + in + if matchHash != null then + builtins.substring 0 7 baseRev + else if matchVer != null then + lib.last matchVer + else + baseRev; + + # revOrTag : String -> String -> String + # + # Turn git `rev` and `tag` pair into a revision usable in `repoRevToName*`. + revOrTag = + rev: tag: + if tag != null then + tag + else if rev != null then + rev + else + "HEAD"; + + # repoRevToNameFull : (URL | Path | String) -> (String | Integer | null) -> (String | null) -> String + # + # See `repoRevToName` below. + repoRevToNameFull = + repo_: rev_: suffix_: + let + repo = urlToName repo_; + rev = if rev_ != null then "-${shortRev rev_}" else ""; + suffix = if suffix_ != null then "-${suffix_}" else ""; + in + "${repo}${rev}${suffix}-source"; + + # repoRevToName : String -> (URL | Path | String) -> (String | Integer | null) -> String -> String + # + # Produce derivation.name attribute for a given repository URL/path/name and (optionally) its revision/version tag. + # + # This is used by fetch(zip|git|FromGitHub|hg|svn|etc) to generate discoverable + # /nix/store paths. + # + # This uses a different implementation depending on the `pretty` argument: + # "source" -> name everything as "source" + # "versioned" -> name everything as "${repo}-${rev}-source" + # "full" -> name everything as "${repo}-${rev}-${fetcher}-source" + repoRevToName = + kind: + # match on `kind` first to minimize the thunk + if kind == "source" then + ( + repo: rev: suffix: + "source" + ) + else if kind == "versioned" then + ( + repo: rev: suffix: + repoRevToNameFull repo rev null + ) + else if kind == "full" then + repoRevToNameFull + else + throw "repoRevToName: invalid kind"; + in { @@ -431,6 +526,11 @@ in pathHasContext canCleanSource + urlToName + shortRev + revOrTag + repoRevToName + sourceByRegex sourceFilesBySuffices diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh index 3b19c8c63f26..dac8b0e33676 100755 --- a/lib/tests/modules.sh +++ b/lib/tests/modules.sh @@ -364,6 +364,9 @@ checkConfigOutput '^"submodule"$' options.submodule.type.description ./declare-s ## Paths should be allowed as values and work as expected checkConfigOutput '^true$' config.submodule.enable ./declare-submoduleWith-path.nix +## _prefix module argument is available at import time and contains the prefix +checkConfigOutput '^true$' config.foo.ok ./prefix-module-argument.nix + ## deferredModule # default module is merged into nodes.foo checkConfigOutput '"beta"' config.nodes.foo.settingsDict.c ./deferred-module.nix @@ -615,6 +618,7 @@ checkConfigError 'Expected a module, but found a value of type .*"flake".*, whil checkConfigOutput '^true$' config.enable ./declare-enable.nix ./define-enable-with-top-level-mkIf.nix checkConfigError 'Expected a module, but found a value of type .*"configuration".*, while trying to load a module into .*/import-configuration.nix.' config ./import-configuration.nix checkConfigError 'please only import the modules that make up the configuration' config ./import-configuration.nix +checkConfigError 'Expected a module, but found a value of type "configuration", while trying to load a module into .*/import-error-submodule.nix, while trying to load a module into .*foo.*\.' config.foo ./import-error-submodule.nix # doRename works when `warnings` does not exist. checkConfigOutput '^1234$' config.c.d.e ./doRename-basic.nix diff --git a/lib/tests/modules/import-error-submodule.nix b/lib/tests/modules/import-error-submodule.nix new file mode 100644 index 000000000000..d2237c58bb5a --- /dev/null +++ b/lib/tests/modules/import-error-submodule.nix @@ -0,0 +1,18 @@ +{ lib, ... }: +let + myconf = lib.evalModules { modules = [ { } ]; }; +in +{ + options.foo = lib.mkOption { + type = lib.types.submodule { }; + default = { }; + }; + config.foo = + { ... }: + { + imports = [ + # error, like `import-configuration.nix`, but in a submodule this time + myconf + ]; + }; +} diff --git a/lib/tests/modules/prefix-module-argument.nix b/lib/tests/modules/prefix-module-argument.nix new file mode 100644 index 000000000000..2cb854341a22 --- /dev/null +++ b/lib/tests/modules/prefix-module-argument.nix @@ -0,0 +1,17 @@ +{ lib, ... }: +{ + options.foo = lib.mkOption { + type = lib.types.submodule { }; + default = { }; + }; + + config = { + foo = + { _prefix, ... }: + assert _prefix == [ "foo" ]; + { + options.ok = lib.mkOption { }; + config.ok = true; + }; + }; +} diff --git a/lib/tests/test-with-nix.nix b/lib/tests/test-with-nix.nix index 4f9aa53f83dd..d9089902a0a3 100644 --- a/lib/tests/test-with-nix.nix +++ b/lib/tests/test-with-nix.nix @@ -3,9 +3,10 @@ IMPORTANT: This is used by the github.com/NixOS/nix CI. + This is used by Lix's CI (see flake.nix in the Lix repo). Try not to change the interface of this file, or if you need to, ping the - Nix maintainers for help. Thank you! + Nix AND Lix maintainers (`nix eval -f . lib.teams.lix`) for help. Thank you! */ { pkgs, diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 58cf591b197f..55fda4abe90f 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1070,6 +1070,11 @@ } ]; }; + aldenparker = { + github = "aldenparker"; + githubId = 32986873; + name = "Alden Parker"; + }; aldoborrero = { email = "aldoborrero+nixos@pm.me"; github = "aldoborrero"; @@ -1643,6 +1648,12 @@ github = "angaz"; githubId = 10219618; }; + angelodlfrtr = { + name = "Angelo Delefortrie"; + email = "angelo.delefortrie@gmail.com"; + github = "angelodlfrtr"; + githubId = 5405598; + }; angristan = { email = "angristan@pm.me"; github = "angristan"; @@ -2227,6 +2238,12 @@ githubId = 104313094; name = "Andrey Shaat"; }; + ashish0kumar = { + email = "ashishkumar901336@gmail.com"; + github = "ashish0kumar"; + githubId = 143941235; + name = "Ashish Kumar"; + }; ashley = { email = "ashley@kira64.xyz"; github = "kira64xyz"; @@ -2776,6 +2793,13 @@ githubId = 68944906; name = "Nikita"; }; + bandithedoge = { + email = "bandithedoge@protonmail.com"; + matrix = "@bandithedoge:matrix.org"; + github = "bandithedoge"; + githubId = 26331682; + name = "Mikołaj Lercher"; + }; bandresen = { email = "bandresen@gmail.com"; github = "bennyandresen"; @@ -3383,6 +3407,12 @@ github = "blenderfreaky"; githubId = 14351657; }; + blghnks = { + email = "bilgehankuch@gmail.com"; + name = "Bilgehan Kuş"; + github = "blghnks"; + githubId = 175811412; + }; blinry = { name = "blinry"; email = "mail@blinry.org"; @@ -3414,12 +3444,6 @@ githubId = 75451918; name = "Charlie Root"; }; - bluescreen303 = { - email = "mathijs@bluescreen303.nl"; - github = "bluescreen303"; - githubId = 16330; - name = "Mathijs Kwik"; - }; blusk = { email = "bluskript@gmail.com"; github = "bluskript"; @@ -3718,6 +3742,13 @@ githubId = 92804487; keys = [ { fingerprint = "58A2 81E6 2FBD 6E4E 664C B603 7B4D 2A02 BB0E C28C"; } ]; }; + bricklou = { + name = "Bricklou"; + email = "louis13.bailleau@gmail.com"; + github = "bricklou"; + githubId = 15181236; + keys = [ { fingerprint = "AE1E 3B80 7727 C974 B972 AB3C C324 01C3 BF52 1179"; } ]; + }; britter = { name = "Benedikt Ritter"; email = "beneritter@gmail.com"; @@ -3807,6 +3838,12 @@ githubId = 2379774; name = "Sean Buckley"; }; + bugarela = { + email = "gabrielamoreira05@gmail.com"; + github = "bugarela"; + githubId = 18356186; + name = "Gabriela Moreira"; + }; bugworm = { email = "bugworm@zoho.com"; github = "bugworm"; @@ -3904,15 +3941,14 @@ github = "c4f3z1n"; githubId = 22820003; }; - c4thebomb = { + c4patino = { name = "Ceferino Patino"; email = "c4patino@gmail.com"; - github = "c4thebomb"; + github = "c4patino"; githubId = 79673111; keys = [ - { - fingerprint = "EA60 D516 A926 7532 369D 3E67 E161 DF22 9EC1 280E"; - } + { fingerprint = "EA60 D516 A926 7532 369D 3E67 E161 DF22 9EC1 280E"; } + { fingerprint = "D088 A5AF C45B 78D1 CD4F 457C 6957 B3B6 46F2 BB4E"; } ]; }; caarlos0 = { @@ -5342,6 +5378,11 @@ githubId = 16950437; name = "cwyc"; }; + cybardev = { + name = "Sheikh"; + github = "cybardev"; + githubId = 50134239; + }; cybershadow = { name = "Vladimir Panteleev"; email = "nixpkgs@cy.md"; @@ -6681,6 +6722,7 @@ drakon64 = { name = "Adam Chance"; email = "nixpkgs@drakon.cloud"; + github = "drakon64"; githubId = 6444703; }; dramaturg = { @@ -6758,6 +6800,13 @@ githubId = 11205987; name = "Daniel Salazar"; }; + dsalwasser = { + name = "Daniel Salwasser"; + email = "daniel.salwasser@outlook.com"; + github = "dsalwasser"; + githubId = 148379503; + keys = [ { fingerprint = "DBA9 AE6B 84A9 C08E C4AD 1E46 6CD2 0B2D 0655 BDF6"; } ]; + }; dschrempf = { name = "Dominik Schrempf"; email = "dominik.schrempf@gmail.com"; @@ -6913,6 +6962,12 @@ githubId = 277927; name = "Dylan Taylor"; }; + dynamicgoose = { + email = "gezaahs@gmail.com"; + github = "dynamicgoose"; + githubId = 75172915; + name = "Géza Ahsendorf"; + }; dysinger = { email = "tim@dysinger.net"; github = "dysinger"; @@ -7609,6 +7664,12 @@ github = "ErinvanderVeen"; githubId = 10973664; }; + ern775 = { + email = "eren.demir2479090@gmail.com"; + github = "ern775"; + githubId = 188162351; + name = "Eren Demir"; + }; erooke = { email = "ethan@roo.ke"; name = "Ethan Rooke"; @@ -7993,12 +8054,6 @@ githubId = 8073; name = "Francois-Rene Rideau"; }; - farlion = { - email = "florian.peter@gmx.at"; - github = "workflow"; - githubId = 1276854; - name = "Florian Peter"; - }; farnoy = { email = "jakub@okonski.org"; github = "farnoy"; @@ -9878,6 +9933,12 @@ githubId = 155722885; name = "Joachim Ernst"; }; + hemera = { + email = "neikos@neikos.email"; + github = "TheNeikos"; + githubId = 1631166; + name = "Marcel Müller"; + }; henkery = { email = "jim@reupload.nl"; github = "henkery"; @@ -10146,6 +10207,14 @@ githubId = 1064477; name = "Hannes Hornwall"; }; + hougo = { + name = "Hugo Renard"; + email = "hugo.renard@proton.me"; + matrix = "@hougo:liiib.re"; + github = "hrenard"; + githubId = 7594435; + keys = [ { fingerprint = "3AE9 67F9 2C9F 55E9 03C8 283F 3A28 5FD4 7020 9C59"; } ]; + }; hoverbear = { email = "operator+nix@hoverbear.org"; matrix = "@hoverbear:matrix.org"; @@ -10835,6 +10904,12 @@ githubId = 13622947; keys = [ { fingerprint = "1412 816B A9FA F62F D051 1975 D3E1 B013 B463 1293"; } ]; }; + isotoxal = { + name = "Abhinav Kuruvila Joseph"; + email = "abhinavkuruvila@proton.me"; + github = "IsotoxalDev"; + githubId = 62714538; + }; istoph = { email = "chr@istoph.de"; name = "Christoph Hüffelmann"; @@ -11085,6 +11160,12 @@ githubId = 7558482; name = "Jack Gerrits"; }; + jackr = { + name = "Jack Rosenberg"; + email = "nixos@jackr.eu"; + github = "jackrosenberg"; + githubId = 56937175; + }; jacobkoziej = { name = "Jacob Koziej"; email = "jacobkoziej@gmail.com"; @@ -11578,6 +11659,13 @@ githubId = 110620; name = "Jevin Maltais"; }; + jezcope = { + email = "j.cope@erambler.co.uk"; + github = "jezcope"; + githubId = 457628; + name = "Jez Cope"; + keys = [ { fingerprint = "D9DA 3E47 E8BD 377D A317 B3D0 9E42 CE07 1C45 59D1"; } ]; + }; jfchevrette = { email = "jfchevrette@gmail.com"; github = "jfchevrette"; @@ -12253,6 +12341,11 @@ github = "joshniemela"; githubId = 88747315; }; + joshprk = { + name = "Joshua Park"; + github = "joshprk"; + githubId = 123624726; + }; joshuafern = { name = "Joshua Fern"; email = "joshuafern@protonmail.com"; @@ -12495,6 +12588,12 @@ githubId = 62934740; keys = [ { fingerprint = "E9C6 44C7 F6AA A865 4CB9 2723 22C8 B0CE B9AC 4AFF"; } ]; }; + juliabru = { + name = "Julia Brunenberg"; + email = "julia@jjim.de"; + github = "juliadin"; + githubId = 7837969; + }; JulianFP = { name = "Julian Partanen"; github = "JulianFP"; @@ -12543,6 +12642,13 @@ githubId = 39434424; name = "Felix Springer"; }; + junestepp = { + email = "git@junestepp.me"; + github = "junestepp"; + githubId = 26205306; + name = "June Stepp"; + keys = [ { fingerprint = "2561 0243 2233 CFE6 E13E 3C33 348C 6EB3 39AE C582"; } ]; + }; junjihashimoto = { email = "junji.hashimoto@gmail.com"; github = "junjihashimoto"; @@ -12926,6 +13032,13 @@ githubId = 8211181; name = "Kevin Kandlbinder"; }; + keyruu = { + name = "Lucas"; + email = "me@keyruu.de"; + matrix = "@keyruu:matrix.org"; + github = "Keyruu"; + githubId = 53177682; + }; keysmashes = { email = "x-89cjg9@keysmash.solutions"; github = "keysmashes"; @@ -13934,6 +14047,12 @@ githubId = 567634; name = "Daniel Kuehn"; }; + leleuvilela = { + email = "viniciusvilela19@gmail.com"; + github = "leleuvilela"; + githubId = 19839085; + name = "Vinicius Vilela"; + }; lelgenio = { email = "lelgenio@lelgenio.com"; github = "lelgenio"; @@ -14209,6 +14328,12 @@ githubId = 75130626; keys = [ { fingerprint = "80EE AAD8 43F9 3097 24B5 3D7E 27E9 7B91 E63A 7FF8"; } ]; }; + link00000000 = { + email = "crandall.logan@gmail.com"; + github = "link00000000"; + githubId = 9771505; + name = "Logan Crandall"; + }; link2xt = { email = "link2xt@testrun.org"; githubId = 18373967; @@ -14357,6 +14482,12 @@ name = "legendofmiracles"; keys = [ { fingerprint = "CC50 F82C 985D 2679 0703 AF15 19B0 82B3 DEFE 5451"; } ]; }; + lonerOrz = { + email = "2788892716@qq.com"; + name = "lonerOrz"; + github = "lonerOrz"; + githubId = 68736947; + }; longer = { email = "michal@mieszczak.com.pl"; name = "Michał Mieszczak"; @@ -14937,6 +15068,13 @@ name = "Mæve"; keys = [ { fingerprint = "96C9 D086 CC9D 7BD7 EF24 80E2 9168 796A 1CC3 AEA2"; } ]; }; + maeve-oake = { + email = "maeve@oa.ke"; + matrix = "@maeve:oa.ke"; + github = "maeve-oake"; + githubId = 38541651; + name = "maeve"; + }; mafo = { email = "Marc.Fontaine@gmx.de"; github = "MarcFontaine"; @@ -15442,6 +15580,11 @@ githubId = 952712; name = "Matt Christ"; }; + matteobongio = { + github = "matteobongio"; + githubId = 155063357; + name = "Matteo Bongiovanni"; + }; matteopacini = { email = "m@matteopacini.me"; github = "matteo-pacini"; @@ -15795,6 +15938,12 @@ githubId = 1377571; name = "Matthew S. Daiter"; }; + mdaniels5757 = { + email = "nix@mdaniels.me"; + github = "mdaniels5757"; + githubId = 8762511; + name = "Michael Daniels"; + }; mdarocha = { email = "marek@mdarocha.pl"; github = "mdarocha"; @@ -16168,11 +16317,11 @@ name = "midchildan"; keys = [ { fingerprint = "FEF0 AE2D 5449 3482 5F06 40AA 186A 1EDA C5C6 3F83"; } ]; }; - midirhee12 = { - email = "midirhee@proton.me"; - github = "midirhee12"; + midischwarz12 = { + email = "midischwarz@proton.me"; + github = "midischwarz12"; githubId = 38054771; - name = "midirhee12"; + name = "midischwarz12"; }; mig4ng = { email = "mig4ng@gmail.com"; @@ -17094,6 +17243,13 @@ githubId = 110892040; name = "Mykyta Polchanov"; }; + myzel394 = { + email = "github.7a2op@simplelogin.co"; + github = "Myzel394"; + githubId = 50424412; + matrix = "@myzel394:matrix.org"; + name = "Myzel394"; + }; mzabani = { email = "mzabani@gmail.com"; github = "mzabani"; @@ -17231,6 +17387,12 @@ githubId = 144328493; keys = [ { fingerprint = "D89F 440C 6CD7 4753 090F EC7A 4682 C5CB 4D9D EA3C"; } ]; }; + naora = { + name = "Joris Gundermann"; + email = "jorisgundermann@gmail.com"; + github = "Naora"; + githubId = 2221163; + }; naphta = { github = "naphta"; githubId = 6709831; @@ -18485,6 +18647,11 @@ githubId = 4728903; name = "Owen Lynch"; }; + omarjatoi = { + github = "omarjatoi"; + githubId = 9091609; + name = "Omar Jatoi"; + }; omasanori = { github = "omasanori"; githubId = 167209; @@ -19315,6 +19482,12 @@ githubId = 28323; name = "Peter Simons"; }; + petingoso = { + email = "petingavasco@protonmail.com"; + github = "Petingoso"; + githubId = 92183955; + name = "Vasco Petinga"; + }; petrkozorezov = { email = "petr.kozorezov@gmail.com"; github = "petrkozorezov"; @@ -19946,6 +20119,12 @@ githubId = 24578572; name = "Blake North"; }; + powwu = { + name = "powwu"; + email = "hello@powwu.sh"; + github = "powwu"; + githubId = 20643401; + }; poz = { name = "Jacek Poziemski"; email = "poz@poz.pet"; @@ -20459,6 +20638,11 @@ githubId = 39039420; name = "Quinn Dougherty"; }; + QuiNzX = { + name = "QuiNz-"; + github = "QuiNzX"; + githubId = 76129478; + }; quodlibetor = { email = "quodlibetor@gmail.com"; github = "quodlibetor"; @@ -20498,6 +20682,12 @@ matrix = "@qyriad:katesiria.org"; name = "Qyriad"; }; + r-aizawa = { + github = "Xantibody"; + githubId = 109563705; + name = "Ryu Aizawa"; + email = "zeku.bushinryu38@gmail.com"; + }; r-burns = { email = "rtburns@protonmail.com"; github = "r-burns"; @@ -22344,6 +22534,12 @@ github = "sdaqo"; githubId = 63876564; }; + sdedovic = { + name = "Stevan Dedovic"; + email = "stevan@dedovic.com"; + github = "sdedovic"; + githubId = 599915; + }; sdht0 = { email = "nixpkgs@sdht.in"; github = "sdht0"; @@ -23029,6 +23225,7 @@ name = "Zhifan"; email = "nonno.felice69uwu@gmail.com"; matrix = "@c3n21:matrix.org"; + github = "c3n21"; githubId = 37077738; }; sinjin2300 = { @@ -23623,6 +23820,12 @@ github = "braaandon"; githubId = 86573128; }; + stackptr = { + name = "Corey Johns"; + email = "corey@zx.dev"; + github = "stackptr"; + githubId = 4542907; + }; stackshadow = { email = "stackshadow@evilbrain.de"; github = "stackshadow"; @@ -23642,6 +23845,12 @@ githubId = 6362238; name = "Christoph Honal"; }; + starius = { + email = "bnagaev@gmail.com"; + github = "starius"; + githubId = 920155; + name = "Boris Nagaev"; + }; starkca90 = { email = "starkca90@gmail.com"; github = "starkca90"; @@ -24748,6 +24957,12 @@ githubId = 71843723; keys = [ { fingerprint = "EEFB CC3A C529 CFD1 943D A75C BDD5 7BE9 9D55 5965"; } ]; }; + theonlymrcat = { + name = "Max Guppy"; + email = "theonly@mrcat.au"; + github = "TheOnlyMrCat"; + githubId = 23222857; + }; theoparis = { email = "theo@tinted.dev"; github = "theoparis"; @@ -25366,6 +25581,17 @@ github = "tpwrules"; githubId = 208010; }; + transcaffeine = { + name = "transcaffeine"; + email = "transcaffeine@finally.coffee"; + github = "transcaffeine"; + githubId = 139544537; + keys = [ + { + fingerprint = "5E0A 9CB3 9806 57CB 9AB9 4AE6 790E AEC8 F99A B41F"; + } + ]; + }; traverseda = { email = "traverse.da@gmail.com"; github = "traverseda"; @@ -25572,6 +25798,12 @@ name = "Denny Schäfer"; keys = [ { fingerprint = "C752 0E49 4D92 1740 D263 C467 B057 455D 1E56 7270"; } ]; }; + tuxy = { + email = "lastpass7565@gmail.com"; + github = "tuxy"; + githubId = 57819359; + name = "Binh Nguyen"; + }; tv = { email = "tv@krebsco.de"; github = "4z3"; @@ -26219,10 +26451,11 @@ name = "Danny Wilson"; }; vizid = { - email = "vizid1337@gmail.com"; + email = "mail@vizqq.cc"; github = "ViZiD"; githubId = 7444430; name = "Radik Islamov"; + keys = [ { fingerprint = "5779 01B8 C620 E064 4212 C6FC F396 46E8 0C71 08E7"; } ]; }; vji = { email = "mail@viktor.im"; @@ -26833,6 +27066,13 @@ githubId = 1595132; name = "Kranium Gikos Mendoza"; }; + workflow = { + email = "4farlion@gmail.com"; + github = "workflow"; + githubId = 1276854; + name = "Florian Peter"; + keys = [ { fingerprint = "C349 3C74 E232 A1EE E005 1678 2457 5DB9 3F6C EC16"; } ]; + }; worldofpeace = { email = "worldofpeace@protonmail.ch"; github = "worldofpeace"; @@ -26911,6 +27151,13 @@ githubId = 13378502; name = "Wulfsta"; }; + wulpine = { + name = "Wulpey"; + email = "wulpine@proton.me"; + matrix = "@wulpine:matrix.org"; + github = "wulpine"; + githubId = 59339992; + }; wunderbrick = { name = "Andrew Phipps"; email = "lambdafuzz@tutanota.com"; @@ -27377,6 +27624,15 @@ githubId = 40352765; name = "Yoctocell"; }; + yogansh = { + email = "yogansh@yogansh.tech"; + github = "YoganshSharma"; + githubId = 38936915; + name = "Yogansh Sharma"; + keys = [ + { fingerprint = "D2A8 A906 ACA7 B6D6 575E 9A2F 3A49 5054 6EA6 9E5C"; } + ]; + }; yomaq = { name = "yomaq"; github = "yomaq"; @@ -27759,6 +28015,12 @@ { fingerprint = "E22F 760E E074 E57A 21CB 1733 8DD2 9BB5 2C25 EA09"; } ]; }; + Zirconium419122 = { + name = "Rasmus Liaskar"; + github = "Zirconium419122"; + email = "rasmus@liaskar.net"; + githubId = 152716976; + }; zlepper = { name = "Rasmus Hansen"; github = "zlepper"; diff --git a/maintainers/scripts/README.md b/maintainers/scripts/README.md index 02d90afe441b..a80942bb7343 100644 --- a/maintainers/scripts/README.md +++ b/maintainers/scripts/README.md @@ -22,7 +22,7 @@ robustly than text search through `maintainer-list.nix`. ❯ ./get-maintainer.sh nicoo { "email": "nicoo@debian.org", - "github": "nbraud", + "github": "nicoonoclaste", "githubId": 1155801, "keys": [ { diff --git a/maintainers/scripts/kde/collect-missing-deps.py b/maintainers/scripts/kde/collect-missing-deps.py index d7e3ec899bb1..e3b687cba025 100755 --- a/maintainers/scripts/kde/collect-missing-deps.py +++ b/maintainers/scripts/kde/collect-missing-deps.py @@ -62,6 +62,9 @@ OK_MISSING_BY_PACKAGE = { "krfb": { "Qt6XkbCommonSupport", # not real }, + "ksystemstats": { + "Libcap", # used to call setcap at build time and nothing else + }, "kuserfeedback": { "Qt6Svg", # all used for backend console stuff we don't ship "QmlLint", @@ -75,6 +78,9 @@ OK_MISSING_BY_PACKAGE = { "display-info", # newer versions identify as libdisplay-info "Libcap", # used to call setcap at build time and nothing else }, + "kwin-x11": { + "Libcap", # used to call setcap at build time and nothing else + }, "libksysguard": { "Libcap", # used to call setcap at build time and nothing else }, @@ -84,6 +90,12 @@ OK_MISSING_BY_PACKAGE = { }, "plasma-desktop": { "scim", # upstream is dead, not packaged in Nixpkgs + "KAccounts6", # dead upstream + "AccountsQt6", # dead upstream + "signon-oauth2plugin", # dead upstream + }, + "plasma-dialer": { + "KTactileFeedback", # dead? }, "poppler-qt6": { "gobject-introspection-1.0", # we don't actually want to build the GTK variant diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix index 35aa999a58be..bdde7f2f5d41 100644 --- a/maintainers/team-list.nix +++ b/maintainers/team-list.nix @@ -186,6 +186,19 @@ with lib.maintainers; shortName = "Categorization"; }; + ci = { + members = [ + MattSturgeon + mic92 + philiptaron + wolfgangwalther + zowoq + ]; + githubTeams = [ "nixpkgs-ci" ]; + scope = "Maintain Nixpkgs' in-tree Continuous Integration, including GitHub Actions."; + shortName = "CI"; + }; + cinnamon = { members = [ bobby285271 @@ -915,12 +928,21 @@ with lib.maintainers; eljamm ethancedwards8 fricklerhandwerk + OPNA2608 + prince213 wegank ]; scope = "Maintain NGI-supported software."; shortName = "NGI"; }; + nixos-rebuild = { + members = [ thiagokokada ]; + scope = "Maintain nixos-rebuild(-ng)."; + shortName = "nixos-rebuild"; + enableFeatureFreezePing = true; + }; + node = { members = [ winter ]; scope = "Maintain Node.js runtimes and build tooling."; diff --git a/nixos/doc/manual/contributing-to-this-manual.chapter.md b/nixos/doc/manual/contributing-to-this-manual.chapter.md index a78a136becca..1b296918f9e2 100644 --- a/nixos/doc/manual/contributing-to-this-manual.chapter.md +++ b/nixos/doc/manual/contributing-to-this-manual.chapter.md @@ -37,7 +37,9 @@ Make sure that your local files aren't added to Git history by adding the follow /**/.direnv ``` -You might want to also use [`devmode`](https://github.com/NixOS/nixpkgs/blob/master/doc/README.md#devmode) while editing the manual. +### `devmode` {#sec-contributing-devmode} + +Use [`devmode`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/de/devmode/README.md) for a live preview when editing the manual. ## Testing redirects {#sec-contributing-redirects} diff --git a/nixos/doc/manual/redirects.json b/nixos/doc/manual/redirects.json index 625dd1516cd5..fe19534a82e4 100644 --- a/nixos/doc/manual/redirects.json +++ b/nixos/doc/manual/redirects.json @@ -50,6 +50,15 @@ "module-services-crab-hole-upstream-options": [ "index.html#module-services-crab-hole-upstream-options" ], + "module-services-firefox-syncserver-clients": [ + "index.html#module-services-firefox-syncserver-clients" + ], + "module-services-firefox-syncserver-clients-android": [ + "index.html#module-services-firefox-syncserver-clients-android" + ], + "module-services-firefox-syncserver-clients-desktop": [ + "index.html#module-services-firefox-syncserver-clients-desktop" + ], "module-services-opencloud": [ "index.html#module-services-opencloud" ], @@ -86,6 +95,9 @@ "sec-contributing-development-env": [ "index.html#sec-contributing-development-env" ], + "sec-contributing-devmode": [ + "index.html#sec-contributing-devmode" + ], "sec-mattermost": [ "index.html#sec-mattermost" ], @@ -542,6 +554,18 @@ "module-services-youtrack-upgrade-2022_3-2023_1": [ "index.html#module-services-youtrack-upgrade-2022_3-2023_1" ], + "module-services-szurubooru": [ + "index.html#module-services-szurubooru" + ], + "module-services-szurubooru-basic-usage": [ + "index.html#module-services-szurubooru-basic-usage" + ], + "module-services-szurubooru-reverse-proxy-configuration": [ + "index.html#module-services-szurubooru-reverse-proxy-configuration" + ], + "module-services-szurubooru-extra-config": [ + "index.html#module-services-szurubooru-extra-config" + ], "module-services-suwayomi-server": [ "index.html#module-services-suwayomi-server" ], diff --git a/nixos/doc/manual/release-notes/rl-2305.section.md b/nixos/doc/manual/release-notes/rl-2305.section.md index cae573c3452a..7ffe079977af 100644 --- a/nixos/doc/manual/release-notes/rl-2305.section.md +++ b/nixos/doc/manual/release-notes/rl-2305.section.md @@ -105,7 +105,7 @@ In addition to numerous new and updated packages, this release has the following - [ivpn](https://www.ivpn.net/), a secure, private VPN with fast WireGuard connections. Available as [services.ivpn](#opt-services.ivpn.enable). -- [vmalert](https://victoriametrics.com/), an alerting engine for VictoriaMetrics. Available as [services.vmalert](#opt-services.vmalert.enable). +- [vmalert](https://victoriametrics.com/), an alerting engine for VictoriaMetrics. Available as [services.vmalert.instances](#opt-services.vmalert.instances._name_.enable). - [jellyseerr](https://github.com/Fallenbagel/jellyseerr), a web-based requests manager for Jellyfin, forked from Overseerr. Available as [services.jellyseerr](#opt-services.jellyseerr.enable). diff --git a/nixos/doc/manual/release-notes/rl-2511.section.md b/nixos/doc/manual/release-notes/rl-2511.section.md index fa08bb988f7e..295d9ede7118 100644 --- a/nixos/doc/manual/release-notes/rl-2511.section.md +++ b/nixos/doc/manual/release-notes/rl-2511.section.md @@ -4,8 +4,12 @@ +- `nixos-rebuild-ng`, a full rewrite of `nixos-rebuild` in Python, is enabled by default from this release. You can disable it by setting [](#opt-system.rebuild.enableNg) to `false` in your configuration if you need, but please report any issues. It is expected that the next major version of NixOS (26.05) will remove the {option}`system.rebuild.enableNg` option. + - Secure boot support can now be enabled for the Limine bootloader through {option}`boot.loader.limine.secureBoot.enable`. Bootloader install script signs the bootloader, then kernels are hashed during system rebuild and written to a config. This allows Limine to boot only the kernels installed through NixOS system. +- The default PostgreSQL version for new NixOS installations (i.e. with `system.stateVersion >= 25.11`) is v17. + ## New Modules {#sec-release-25.11-new-modules} @@ -15,15 +19,29 @@ - [Pi-hole](https://pi-hole.net/), a DNS sinkhole for advertisements based on Dnsmasq. Available as [services.pihole-ftl](#opt-services.pihole-ftl.enable), and [services.pihole-web](#opt-services.pihole-web.enable) for the web GUI and API. +- [Fediwall](https://fediwall.social), a web application for live displaying toots from mastodon, inspired by mastowall. Available as [services.fediwall](#opt-services.fediwall.enable). + - [FileBrowser](https://filebrowser.org/), a web application for managing and sharing files. Available as [services.filebrowser](#opt-services.filebrowser.enable). +- Options under [networking.getaddrinfo](#opt-networking.getaddrinfo.enable) are now allowed to declaratively configure address selection and sorting behavior of `getaddrinfo` in dual-stack networks. + - [LACT](https://github.com/ilya-zlobintsev/LACT), a GPU monitoring and configuration tool, can now be enabled through [services.lact.enable](#opt-services.lact.enable). Note that for LACT to work properly on AMD GPU systems, you need to enable [hardware.amdgpu.overdrive.enable](#opt-hardware.amdgpu.overdrive.enable). +- [tlsrpt-reporter], an application suite to generate and deliver TLSRPT reports. Available as [services.tlsrpt](#opt-services.tlsrpt.enable). + - [Broadcast Box](https://github.com/Glimesh/broadcast-box), a WebRTC broadcast server. Available as [services.broadcast-box](options.html#opt-services.broadcast-box.enable). +- Docker now defaults to 28.x, because version 27.x stopped receiving security updates and bug fixes after [May 2, 2025](https://github.com/moby/moby/pull/49910). + - [Draupnir](https://github.com/the-draupnir-project/draupnir), a Matrix moderation bot. Available as [services.draupnir](#opt-services.draupnir.enable). +- [postfix-tlspol](https://github.com/Zuplu/postfix-tlspol), MTA-STS and DANE resolver and TLS policy server for Postfix. Available as [services.postfix-tlspol](#opt-services.postfix-tlspol.enable). + +- [Szurubooru](https://github.com/rr-/szurubooru), an image board engine inspired by services such as Danbooru, dedicated for small and medium communities. Available as [services.szurubooru](#opt-services.szurubooru.enable). + +- [nix-store-veritysetup](https://github.com/nikstur/nix-store-veritysetup-generator), a systemd generator to unlock the Nix Store as a dm-verity protected block device. Available as [boot.initrd.nix-store-veritysetup](options.html#opt-boot.initrd.nix-store-veritysetup.enable). + - [SuiteNumérique Docs](https://github.com/suitenumerique/docs), a collaborative note taking, wiki and documentation web platform and alternative to Notion or Outline. Available as [services.lasuite-docs](#opt-services.lasuite-docs.enable). [dwl](https://codeberg.org/dwl/dwl), a compact, hackable compositor for Wayland based on wlroots. Available as [programs.dwl](#opt-programs.dwl.enable). @@ -32,12 +50,34 @@ +- The Perl implementation of the `switch-to-configuration` program is removed. All switchable systems now use the Rust rewrite. Any prior usage of `system.switch.enableNg` must now be removed. If you have any outstanding issues with the new implementation, please open an issue on GitHub. + - The `services.polipo` module has been removed as `polipo` is unmaintained and archived upstream. - The Pocket ID module ([`services.pocket-id`][#opt-services.pocket-id.enable]) and package (`pocket-id`) has been updated to 1.0.0. Some environment variables have been changed or removed, see the [migration guide](https://pocket-id.org/docs/setup/migrate-to-v1/). +- The `yeahwm` package and `services.xserver.windowManager.yeahwm` module were removed due to the package being broken and unmaintained upstream. + +- The `services.siproxd` module has been removed as `siproxd` is unmaintained and broken with libosip 5.x. + +- `services.dwm-status.extraConfig` was replaced by [RFC0042](https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md)-compliant [](#opt-services.dwm-status.settings), which is used to generate the config file. `services.dwm-status.order` is now moved to [](#opt-services.dwm-status.settings.order), as it's a part of the config file. + +- `gitversion` was updated to 6.3.0, which includes a number of breaking changes, old configurations may need updating or they will cause the tool to fail to run. + See the [6.0.0 release notes for GitVersion](https://github.com/GitTools/GitVersion/releases/tag/6.0.0) for details on the breaking changes, [the documentation on the configuration format](https://gitversion.net/docs/reference/configuration) for the new configuration specification, and [the documentation on version variables](https://gitversion.net/docs/reference/variables) for what is now supported. + - `renovate` was updated to v40. See the [upstream release notes](https://github.com/renovatebot/renovate/releases/tag/40.0.0) for breaking changes. +- The `boot.readOnlyNixStore` has been removed. Control over bind mount options on `/nix/store` is now offered by the `boot.nixStoreMountOpts` option. + +- The Postfix module has been updated and likely requires configuration changes: + - The `services.postfix.sslCert` and `sslKey` options were removed and you now need to configure + - [services.postfix.config.smtpd_tls_chain_files](#opt-services.postfix.config.smtpd_tls_chain_files) for server certificates, + - [services.postfix.config.smtp_tls_chain_files](#opt-services.postfix.config) for client certificates. + +- `vmalert` now supports multiple instances with the option `services.vmalert.instances."".enable` + +- The `wstunnel` module was converted to RFC42-style settings, you will need to update your NixOS config if you make use of this module. + ## Other Notable Changes {#sec-release-25.11-notable-changes} @@ -48,3 +88,5 @@ - `amdgpu` kernel driver overdrive mode can now be enabled by setting [hardware.amdgpu.overdrive.enable](#opt-hardware.amdgpu.overdrive.enable) and customized through [hardware.amdgpu.overdrive.ppfeaturemask](#opt-hardware.amdgpu.overdrive.ppfeaturemask). This allows for fine-grained control over the GPU's performance and maybe required by overclocking softwares like Corectrl and Lact. These new options replace old options such as {option}`programs.corectrl.gpuOverclock.enable` and {option}`programs.tuxclocker.enableAMD`. + +- [](#opt-services.gnome.gnome-keyring.enable) does not ship with an SSH agent anymore, as this is now handled by the `gcr_4` package instead of `gnome-keyring`. A new module has been added to support this, under [](#opt-services.gnome.gcr-ssh-agent.enable) (its default value has been set to [](#opt-services.gnome.gnome-keyring.enable) to ensure a smooth transition). See the [relevant upstream PR](https://gitlab.gnome.org/GNOME/gcr/-/merge_requests/67) for more details. diff --git a/nixos/modules/config/getaddrinfo.nix b/nixos/modules/config/getaddrinfo.nix new file mode 100644 index 000000000000..f18651a9e031 --- /dev/null +++ b/nixos/modules/config/getaddrinfo.nix @@ -0,0 +1,120 @@ +{ + pkgs, + lib, + config, + ... +}: +let + cfg = config.networking.getaddrinfo; + + formatTableEntries = + tableName: table: + if table == null then + [ ] + else + lib.mapAttrsToList (cidr: val: "${tableName} ${cidr} ${toString val}") table; + + gaiConfText = lib.concatStringsSep "\n" ( + [ + "# Generated by NixOS module networking.getaddrinfo" + "# Do not edit manually!" + "reload ${if cfg.reload then "yes" else "no"}" + ] + ++ formatTableEntries "label" cfg.label + ++ formatTableEntries "precedence" cfg.precedence + ++ formatTableEntries "scopev4" cfg.scopev4 + ); +in +{ + options.networking.getaddrinfo = { + enable = lib.mkOption { + type = lib.types.bool; + default = pkgs.stdenv.hostPlatform.libc == "glibc"; + defaultText = lib.literalExpression '' + pkgs.stdenv.hostPlatform.libc == "glibc" + ''; + description = '' + Enables custom address sorting configuration for {manpage}`getaddrinfo(3)` according to RFC 3484. + + This option generates a {file}`/etc/gai.conf` file to override the default address sorting tables, + as described in {manpage}`gai.conf(5)`. + + This setting is only applicable when using the GNU C Library (glibc). + It has no effect with other libc implementations. + ''; + }; + + reload = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Determines whether a process should detect changes to the configuration file since it was last read. + + If enabled, the file is re-read automatically. This may cause issues in multithreaded applications + and is generally discouraged. + ''; + }; + + label = lib.mkOption { + type = lib.types.nullOr (lib.types.attrsOf lib.types.int); + default = null; + description = '' + Adds entries to the label table, as described in section 2.1 of RFC 3484. + + If any label entries are provided, the glibc’s default label table is ignored. + ''; + example = { + "::/0" = 1; + "2002::/16" = 2; + "::/96" = 3; + "::ffff:0:0/96" = 4; + "fec0::/10" = 5; + "fc00::/7" = 6; + "2001:0::/32" = 7; + }; + }; + + precedence = lib.mkOption { + type = lib.types.nullOr (lib.types.attrsOf lib.types.int); + default = null; + description = '' + Similar to {option}`networking.getaddrinfo.label`, but this option + defines entries for the precedence table instead. + + See sections 2.1 and 10.3 of RFC 3484 for details. + + Providing any value will disable the glibc's default precedence table. + ''; + example = { + "::1/128" = 50; + "::/0" = 40; + "2002::/16" = 30; + "::/96" = 20; + "::ffff:0:0/96" = 10; + }; + }; + + scopev4 = lib.mkOption { + type = lib.types.nullOr (lib.types.attrsOf lib.types.int); + default = null; + description = '' + Adds custom rules to the IPv4 scope table. + + By default, the scope IDs described in section 3.2 of RFC 6724 are used. + + Modifying these values is rarely necessary. + ''; + example = { + "::ffff:169.254.0.0/112" = 2; + "::ffff:127.0.0.0/104" = 2; + "::ffff:0.0.0.0/96" = 14; + }; + }; + }; + + config = lib.mkIf cfg.enable { + environment.etc."gai.conf".text = gaiConfText; + }; + + meta.maintainers = with lib.maintainers; [ moraxyc ]; +} diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix index 48f8ded73c64..21a9d35a451c 100644 --- a/nixos/modules/hardware/video/nvidia.nix +++ b/nixos/modules/hardware/video/nvidia.nix @@ -204,11 +204,22 @@ in prime.offload.enableOffloadCmd = lib.mkEnableOption '' adding a `nvidia-offload` convenience script to {option}`environment.systemPackages` - for offloading programs to an nvidia device. To work, should have also enabled + for offloading programs to an nvidia device. To work, you must also enable {option}`hardware.nvidia.prime.offload.enable` or {option}`hardware.nvidia.prime.reverseSync.enable`. - Example usage `nvidia-offload sauerbraten_client` + Example usage: `nvidia-offload sauerbraten_client` + + This script can be renamed with {option}`hardware.nvidia.prime.offload.enableOffloadCmd`. ''; + prime.offload.offloadCmdMainProgram = lib.mkOption { + type = lib.types.str; + description = '' + Specifies the CLI name of the {option}`hardware.nvidia.prime.offload.enableOffloadCmd` + convenience script for offloading programs to an nvidia device. + ''; + default = "nvidia-offload"; + example = "prime-run"; + }; prime.reverseSync.enable = lib.mkEnableOption '' NVIDIA Optimus support using the NVIDIA proprietary driver via reverse @@ -558,7 +569,7 @@ in lib.optional cfg.nvidiaSettings nvidia_x11.settings ++ lib.optional cfg.nvidiaPersistenced nvidia_x11.persistenced ++ lib.optional offloadCfg.enableOffloadCmd ( - pkgs.writeShellScriptBin "nvidia-offload" '' + pkgs.writeShellScriptBin cfg.prime.offload.offloadCmdMainProgram '' export __NV_PRIME_RENDER_OFFLOAD=1 export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0 export __GLX_VENDOR_LIBRARY_NAME=nvidia diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma6.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma6.nix index f71a624156cd..90683fa088dc 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma6.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma6.nix @@ -24,6 +24,16 @@ pkgs.maliit-keyboard ]; + environment.plasma6.excludePackages = [ + # Optional wallpapers that add 126 MiB to the graphical installer + # closure. They will still need to be downloaded when installing a + # Plasma system, though. + pkgs.kdePackages.plasma-workspace-wallpapers + ]; + + # Avoid bundling an entire MariaDB installation on the ISO. + programs.kde-pim.enable = false; + system.activationScripts.installerDesktop = let diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix index bbbe0a7ed4a9..b45c51e98192 100644 --- a/nixos/modules/installer/tools/tools.nix +++ b/nixos/modules/installer/tools/tools.nix @@ -280,6 +280,7 @@ in }; options.system.rebuild.enableNg = lib.mkEnableOption "" // { + default = true; description = '' Whether to use ‘nixos-rebuild-ng’ in place of ‘nixos-rebuild’, the Python-based re-implementation of the original in Bash. @@ -330,6 +331,12 @@ in config = { documentation.man.man-db.skipPackages = [ nixos-version ]; + warnings = lib.optional (!config.system.disableInstallerTools && !config.system.rebuild.enableNg) '' + The Bash implementation of nixos-rebuild will be deprecated and removed in the 26.05 release of NixOS. + Please migrate to the newer implementation by removing 'system.rebuild.enableNg = false' from your configuration. + If you are unable to migrate due to any issues with the new implementation, please create an issue and tag the maintainers of 'nixos-rebuild-ng'. + ''; + # These may be used in auxiliary scripts (ie not part of toplevel), so they are defined unconditionally. system.build = { inherit nixos-generate-config nixos-install; diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index 64f0d4247ddc..b50d7c7a50c8 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -6,11 +6,17 @@ # https://github.com/NixOS/rfcs/blob/master/rfcs/0052-dynamic-ids.md # # Use of static ids is deprecated within NixOS. Dynamic allocation is -# required, barring special circumstacnes. Please check if the service +# required, barring special circumstances. Please check if the service # is applicable for systemd's DynamicUser option and does not need a -# uid/gid allocation at all. Systemd can also change ownership of -# service directories using the RuntimeDirectory/StateDirectory -# options. +# uid/gid allocation at all. If DynamicUser is problematic consider +# making a `isSystemUser=true` user with the uid and gid unset and let +# NixOS pick dynamic persistent ids on activation. These IDs are persisted +# locally on the host in the event that the user is removed and added back. +# Systemd will also change ownership of service directories using the +# RuntimeDirectory/StateDirectory options just in case a change happens. +# It's only for special circumstances like for example the ids being hardcoded +# in the application or the ids having to be consistent across multiple hosts +# that configuring static ids in this file makes sense. { lib, ... }: diff --git a/nixos/modules/misc/man-db.nix b/nixos/modules/misc/man-db.nix index 56b935c97597..dc6af4fe9692 100644 --- a/nixos/modules/misc/man-db.nix +++ b/nixos/modules/misc/man-db.nix @@ -69,10 +69,19 @@ in environment.systemPackages = [ cfg.package ]; environment.etc."man_db.conf".text = let + # We unfortunately can’t use the customized `cfg.package` when + # cross‐compiling. Instead we detect that situation and work + # around it by using the vanilla one, like the OpenSSH module. + buildPackage = + if pkgs.stdenv.buildPlatform.canExecute pkgs.stdenv.hostPlatform then + cfg.package + else + pkgs.buildPackages.man-db; + manualCache = pkgs.runCommand "man-cache" { - nativeBuildInputs = [ cfg.package ]; + nativeBuildInputs = [ buildPackage ]; } '' echo "MANDB_MAP ${cfg.manualPages}/share/man $out" > man.conf diff --git a/nixos/modules/misc/nixpkgs/read-only.nix b/nixos/modules/misc/nixpkgs/read-only.nix index fa372d13e545..db43615c12f0 100644 --- a/nixos/modules/misc/nixpkgs/read-only.nix +++ b/nixos/modules/misc/nixpkgs/read-only.nix @@ -63,7 +63,7 @@ in # find mistaken definitions builtins.seq cfg.config builtins.seq cfg.overlays builtins.seq cfg.hostPlatform builtins.seq cfg.buildPlatform - cfg.pkgs; + cfg.pkgs.__splicedPackages; nixpkgs.config = cfg.pkgs.config; nixpkgs.overlays = cfg.pkgs.overlays; nixpkgs.hostPlatform = cfg.pkgs.stdenv.hostPlatform; diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 34419e33f3f3..036490c9589a 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -8,6 +8,7 @@ ./config/fonts/fontdir.nix ./config/fonts/ghostscript.nix ./config/fonts/packages.nix + ./config/getaddrinfo.nix ./config/gtk/gtk-icon-cache.nix ./config/i18n.nix ./config/iproute2.nix @@ -354,7 +355,6 @@ ./programs/xonsh.nix ./programs/xss-lock.nix ./programs/xwayland.nix - ./programs/yabar.nix ./programs/yazi.nix ./programs/ydotool.nix ./programs/yubikey-touch-detector.nix @@ -548,6 +548,7 @@ ./services/desktops/geoclue2.nix ./services/desktops/gnome/at-spi2-core.nix ./services/desktops/gnome/evolution-data-server.nix + ./services/desktops/gnome/gcr-ssh-agent.nix ./services/desktops/gnome/glib-networking.nix ./services/desktops/gnome/gnome-browser-connector.nix ./services/desktops/gnome/gnome-initial-setup.nix @@ -738,6 +739,7 @@ ./services/mail/opendkim.nix ./services/mail/opensmtpd.nix ./services/mail/pfix-srsd.nix + ./services/mail/postfix-tlspol.nix ./services/mail/postfix.nix ./services/mail/postfixadmin.nix ./services/mail/postgrey.nix @@ -752,6 +754,7 @@ ./services/mail/spamassassin.nix ./services/mail/stalwart-mail.nix ./services/mail/sympa.nix + ./services/mail/tlsrpt.nix ./services/mail/zeyple.nix ./services/matrix/appservice-discord.nix ./services/matrix/appservice-irc.nix @@ -909,7 +912,6 @@ ./services/misc/servarr/whisparr.nix ./services/misc/serviio.nix ./services/misc/sickbeard.nix - ./services/misc/siproxd.nix ./services/misc/snapper.nix ./services/misc/soft-serve.nix ./services/misc/sourcehut @@ -1542,6 +1544,7 @@ ./services/web-apps/eintopf.nix ./services/web-apps/engelsystem.nix ./services/web-apps/ethercalc.nix + ./services/web-apps/fediwall.nix ./services/web-apps/fider.nix ./services/web-apps/filebrowser.nix ./services/web-apps/filesender.nix @@ -1662,6 +1665,7 @@ ./services/web-apps/stirling-pdf.nix ./services/web-apps/strfry.nix ./services/web-apps/suwayomi-server.nix + ./services/web-apps/szurubooru.nix ./services/web-apps/trilium.nix ./services/web-apps/tt-rss.nix ./services/web-apps/vikunja.nix @@ -1784,6 +1788,7 @@ ./system/boot/luksroot.nix ./system/boot/modprobe.nix ./system/boot/networkd.nix + ./system/boot/nix-store-veritysetup.nix ./system/boot/plymouth.nix ./system/boot/resolved.nix ./system/boot/shutdown.nix diff --git a/nixos/modules/profiles/minimal.nix b/nixos/modules/profiles/minimal.nix index f4b0ea0668a6..ddeca9601e66 100644 --- a/nixos/modules/profiles/minimal.nix +++ b/nixos/modules/profiles/minimal.nix @@ -27,6 +27,7 @@ in # The lessopen package pulls in Perl. less.lessopen = mkDefault null; command-not-found.enable = mkDefault false; + fish.generateCompletions = mkDefault false; }; # This pulls in nixos-containers which depends on Perl. diff --git a/nixos/modules/programs/command-not-found/command-not-found.nix b/nixos/modules/programs/command-not-found/command-not-found.nix index 47c5e0de3f8b..40ee958a0a49 100644 --- a/nixos/modules/programs/command-not-found/command-not-found.nix +++ b/nixos/modules/programs/command-not-found/command-not-found.nix @@ -33,10 +33,16 @@ in enable = lib.mkOption { type = lib.types.bool; - default = true; + default = false; description = '' Whether interactive shells should show which Nix package (if any) provides a missing command. + + Requires nix-channels to be set and downloaded (sudo nix-channels --update.) + + See also nix-index and nix-index-database as an alternative for flakes-based systems. + + Additionally, having the env var NIX_AUTO_RUN set will automatically run the matching package, and with NIX_AUTO_RUN_INTERACTIVE it will confirm the package before running. ''; }; @@ -54,47 +60,24 @@ in config = lib.mkIf cfg.enable { programs.bash.interactiveShellInit = '' - # This function is called whenever a command is not found. command_not_found_handle() { - local p='${commandNotFound}/bin/command-not-found' - if [ -x "$p" ] && [ -f '${cfg.dbPath}' ]; then - # Run the helper program. - "$p" "$@" - # Retry the command if we just installed it. - if [ $? = 126 ]; then - "$@" - else - return 127 - fi - else - echo "$1: command not found" >&2 - return 127 - fi + '${commandNotFound}/bin/command-not-found' "$@" } ''; programs.zsh.interactiveShellInit = '' - # This function is called whenever a command is not found. command_not_found_handler() { - local p='${commandNotFound}/bin/command-not-found' - if [ -x "$p" ] && [ -f '${cfg.dbPath}' ]; then - # Run the helper program. - "$p" "$@" - - # Retry the command if we just installed it. - if [ $? = 126 ]; then - "$@" - else - return 127 - fi - else - # Indicate than there was an error so ZSH falls back to its default handler - echo "$1: command not found" >&2 - return 127 - fi + '${commandNotFound}/bin/command-not-found' "$@" } ''; + # NOTE: Fish by itself checks for nixos command-not-found, let's instead makes it explicit. + programs.fish.interactiveShellInit = '' + function fish_command_not_found + "${commandNotFound}/bin/command-not-found" $argv + end + ''; + environment.systemPackages = [ commandNotFound ]; }; diff --git a/nixos/modules/programs/command-not-found/command-not-found.pl b/nixos/modules/programs/command-not-found/command-not-found.pl index 72e246c81ae9..64f0f1a49877 100644 --- a/nixos/modules/programs/command-not-found/command-not-found.pl +++ b/nixos/modules/programs/command-not-found/command-not-found.pl @@ -10,6 +10,24 @@ my $program = $ARGV[0]; my $dbPath = "@dbPath@"; +if (! -e $dbPath) { + print STDERR "$program: command not found\n"; + print STDERR "\n"; + print STDERR "command-not-found: Missing package database\n"; + print STDERR "command-not-found is a tool for searching for missing packages.\n"; + print STDERR "No database was found, this likely means the database hasn't been generated yet.\n"; + print STDERR "This tool requires nix-channels to generate the database for the `nixos` channel.\n"; + print STDERR "\n"; + print STDERR "If you are using nix-channels you can run:\n"; + print STDERR " sudo nix-channels --update\n"; + print STDERR "\n"; + print STDERR "If you are using flakes, see nix-index and nix-index-database.\n"; + print STDERR "\n"; + print STDERR "If you would like to disable this message you can set:\n"; + print STDERR " programs.command-not-found.enable = false;\n"; + exit 127; +} + my $dbh = DBI->connect("dbi:SQLite:dbname=$dbPath", "", "") or die "cannot open database `$dbPath'"; $dbh->{RaiseError} = 0; diff --git a/nixos/modules/programs/firefox.nix b/nixos/modules/programs/firefox.nix index b041e1d072b0..2019f1724523 100644 --- a/nixos/modules/programs/firefox.nix +++ b/nixos/modules/programs/firefox.nix @@ -74,9 +74,7 @@ in defaultText = lib.literalExpression "pkgs.firefox"; relatedPackages = [ "firefox" - "firefox-beta-bin" "firefox-bin" - "firefox-devedition-bin" "firefox-esr" ]; }; diff --git a/nixos/modules/programs/fish.nix b/nixos/modules/programs/fish.nix index b4431aba8797..38700fa387b4 100644 --- a/nixos/modules/programs/fish.nix +++ b/nixos/modules/programs/fish.nix @@ -72,6 +72,11 @@ in ''; }; + generateCompletions = lib.mkEnableOption "generating completion files from man pages" // { + default = true; + example = false; + }; + vendor.config.enable = lib.mkOption { type = lib.types.bool; default = true; @@ -247,7 +252,7 @@ in ''; } - { + (lib.mkIf cfg.generateCompletions { etc."fish/generated_completions".source = let patchedGenerator = pkgs.stdenv.mkDerivation { @@ -297,7 +302,7 @@ in ignoreCollisions = true; paths = builtins.map generateCompletions config.environment.systemPackages; }; - } + }) # include programs that bring their own completions { @@ -318,20 +323,23 @@ in } ]; - programs.fish.interactiveShellInit = '' - # add completions generated by NixOS to $fish_complete_path - begin - # joins with null byte to accommodate all characters in paths, then respectively gets all paths before (exclusive) / after (inclusive) the first one including "generated_completions", - # splits by null byte, and then removes all empty lines produced by using 'string' - set -l prev (string join0 $fish_complete_path | string match --regex "^.*?(?=\x00[^\x00]*generated_completions.*)" | string split0 | string match -er ".") - set -l post (string join0 $fish_complete_path | string match --regex "[^\x00]*generated_completions.*" | string split0 | string match -er ".") - set fish_complete_path $prev "/etc/fish/generated_completions" $post - end - # prevent fish from generating completions on first run - if not test -d $__fish_user_data_dir/generated_completions - ${pkgs.coreutils}/bin/mkdir $__fish_user_data_dir/generated_completions - end - ''; + programs.fish.interactiveShellInit = + lib.optionalString cfg.generateCompletions '' + # add completions generated by NixOS to $fish_complete_path + begin + # joins with null byte to accommodate all characters in paths, then respectively gets all paths before (exclusive) / after (inclusive) the first one including "generated_completions", + # splits by null byte, and then removes all empty lines produced by using 'string' + set -l prev (string join0 $fish_complete_path | string match --regex "^.*?(?=\x00[^\x00]*generated_completions.*)" | string split0 | string match -er ".") + set -l post (string join0 $fish_complete_path | string match --regex "[^\x00]*generated_completions.*" | string split0 | string match -er ".") + set fish_complete_path $prev "/etc/fish/generated_completions" $post + end + '' + + '' + # prevent fish from generating completions on first run + if not test -d $__fish_user_data_dir/generated_completions + ${pkgs.coreutils}/bin/mkdir $__fish_user_data_dir/generated_completions + end + ''; }; meta.maintainers = with lib.maintainers; [ sigmasquadron ]; diff --git a/nixos/modules/programs/pay-respects.nix b/nixos/modules/programs/pay-respects.nix index 5bd90b71f1b2..71d5c8f0e51d 100644 --- a/nixos/modules/programs/pay-respects.nix +++ b/nixos/modules/programs/pay-respects.nix @@ -44,7 +44,7 @@ let '' mkdir -p $out/bin makeWrapper ${getExe cfg.package} $out/bin/${cfg.package.meta.mainProgram} \ - ${optionalString (cfg.aiIntegration == false) "--set _PR_AI_DISABLE true"} + ${optionalString (cfg.aiIntegration == false) "--set _PR_AI_DISABLE true"} \ ${optionalString (cfg.aiIntegration != false) '' --set _PR_AI_URL ${cfg.aiIntegration.url} \ --set _PR_AI_MODEL ${cfg.aiIntegration.model} \ diff --git a/nixos/modules/programs/yabar.nix b/nixos/modules/programs/yabar.nix deleted file mode 100644 index 08d7036a3e39..000000000000 --- a/nixos/modules/programs/yabar.nix +++ /dev/null @@ -1,187 +0,0 @@ -{ - lib, - pkgs, - config, - ... -}: - -let - cfg = config.programs.yabar; - - mapExtra = - v: - lib.concatStringsSep "\n" ( - lib.mapAttrsToList ( - key: val: - "${key} = ${if (builtins.isString val) then "\"${val}\"" else "${builtins.toString val}"};" - ) v - ); - - listKeys = r: builtins.concatStringsSep "," (builtins.map (n: "\"${n}\"") (builtins.attrNames r)); - - configFile = - let - bars = lib.mapAttrsToList (name: cfg: '' - ${name}: { - font: "${cfg.font}"; - position: "${cfg.position}"; - - ${mapExtra cfg.extra} - - block-list: [${listKeys cfg.indicators}] - - ${builtins.concatStringsSep "\n" ( - lib.mapAttrsToList (name: cfg: '' - ${name}: { - exec: "${cfg.exec}"; - align: "${cfg.align}"; - ${mapExtra cfg.extra} - }; - '') cfg.indicators - )} - }; - '') cfg.bars; - in - pkgs.writeText "yabar.conf" '' - bar-list = [${listKeys cfg.bars}]; - ${builtins.concatStringsSep "\n" bars} - ''; -in -{ - options.programs.yabar = { - enable = lib.mkEnableOption "yabar, a status bar for X window managers"; - - package = lib.mkOption { - default = pkgs.yabar-unstable; - defaultText = lib.literalExpression "pkgs.yabar-unstable"; - example = lib.literalExpression "pkgs.yabar"; - type = lib.types.package; - - # `yabar-stable` segfaults under certain conditions. - # remember to update yabar.passthru.tests if nixos switches back to it! - apply = - x: - if x == pkgs.yabar-unstable then - x - else - lib.flip lib.warn x '' - It's not recommended to use `yabar' with `programs.yabar', the (old) stable release - tends to segfault under certain circumstances: - - * https://github.com/geommer/yabar/issues/86 - * https://github.com/geommer/yabar/issues/68 - * https://github.com/geommer/yabar/issues/143 - - Most of them don't occur on master anymore, until a new release is published, it's recommended - to use `yabar-unstable'. - ''; - - description = '' - The package which contains the `yabar` binary. - - Nixpkgs offers both a stable (`yabar`) and unstable (`yabar-unstable`) version of Yabar. - ''; - }; - - bars = lib.mkOption { - default = { }; - type = lib.types.attrsOf ( - lib.types.submodule { - options = { - font = lib.mkOption { - default = "sans bold 9"; - example = "Droid Sans, FontAwesome Bold 9"; - type = lib.types.str; - - description = '' - The font that will be used to draw the status bar. - ''; - }; - - position = lib.mkOption { - default = "top"; - example = "bottom"; - type = lib.types.enum [ - "top" - "bottom" - ]; - - description = '' - The position where the bar will be rendered. - ''; - }; - - extra = lib.mkOption { - default = { }; - type = lib.types.attrsOf lib.types.str; - - description = '' - An attribute set which contains further attributes of a bar. - ''; - }; - - indicators = lib.mkOption { - default = { }; - type = lib.types.attrsOf ( - lib.types.submodule { - options.exec = lib.mkOption { - example = "YABAR_DATE"; - type = lib.types.str; - description = '' - The type of the indicator to be executed. - ''; - }; - - options.align = lib.mkOption { - default = "left"; - example = "right"; - type = lib.types.enum [ - "left" - "center" - "right" - ]; - - description = '' - Whether to align the indicator at the left or right of the bar. - ''; - }; - - options.extra = lib.mkOption { - default = { }; - type = lib.types.attrsOf (lib.types.either lib.types.str lib.types.int); - - description = '' - An attribute set which contains further attributes of a indicator. - ''; - }; - } - ); - - description = '' - Indicators that should be rendered by yabar. - ''; - }; - }; - } - ); - - description = '' - List of bars that should be rendered by yabar. - ''; - }; - }; - - config = lib.mkIf cfg.enable { - systemd.user.services.yabar = { - description = "yabar service"; - wantedBy = [ "graphical-session.target" ]; - partOf = [ "graphical-session.target" ]; - - script = '' - ${cfg.package}/bin/yabar -c ${configFile} - ''; - - serviceConfig.Restart = "always"; - }; - }; -} diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix index c75ee41099f4..965510d4a526 100644 --- a/nixos/modules/rename.nix +++ b/nixos/modules/rename.nix @@ -75,6 +75,9 @@ in "way-cooler is abandoned by its author: " + "https://way-cooler.org/blog/2020/01/09/way-cooler-post-mortem.html" )) + (mkRemovedOptionModule [ "programs" "yabar" ] + "programs.yabar has been removed from NixOS. This is because the yabar repository has been archived upstream." + ) (mkRemovedOptionModule [ "security" "hideProcessInformation" ] '' The hidepid module was removed, since the underlying machinery is broken when using cgroups-v2. @@ -223,6 +226,11 @@ in "services" "shout" ] "shout was removed because it was deprecated upstream in favor of thelounge.") + (mkRemovedOptionModule [ "services" "siproxd" ] '' + The siproxd package and the corresponding module have been removed due to + the service being unmaintained. `services.asterisk.*` or `services.freeswitch.*` + could be used instead. + '') (mkRemovedOptionModule [ "services" "ssmtp" ] '' The ssmtp package and the corresponding module have been removed due to the program being unmaintained. The options `programs.msmtp.*` can be diff --git a/nixos/modules/services/cluster/patroni/default.nix b/nixos/modules/services/cluster/patroni/default.nix index bcddcd23a6b5..c304a266967a 100644 --- a/nixos/modules/services/cluster/patroni/default.nix +++ b/nixos/modules/services/cluster/patroni/default.nix @@ -175,6 +175,21 @@ in }; config = lib.mkIf cfg.enable { + assertions = [ + { + assertion = + !( + cfg.enable + && config.services.postgresql.enable + && cfg.postgresqlDataDir == config.services.postgresql.dataDir + ); + message = '' + Both services.patroni and services.postgresql are enabled and + services.patroni.postgresqlDataDir == services.postgresql.dataDir + Disable one or the other, or configure them to use different directories. + ''; + } + ]; services.patroni.settings = { scope = cfg.scope; diff --git a/nixos/modules/services/databases/mongodb.nix b/nixos/modules/services/databases/mongodb.nix index 129b679d73f8..1eba6fdc60af 100644 --- a/nixos/modules/services/databases/mongodb.nix +++ b/nixos/modules/services/databases/mongodb.nix @@ -199,7 +199,7 @@ in postStart = '' if test -e "${cfg.dbpath}/.first_startup"; then ${lib.optionalString (cfg.initialScript != null) '' - initialRootPassword=$(<${cfg.initialRootPasswordFile}) + ${lib.optionalString (cfg.enableAuth) "initialRootPassword=$(<${cfg.initialRootPasswordFile})"} ${mongoshExe} ${lib.optionalString (cfg.enableAuth) "-u root -p $initialRootPassword"} admin "${cfg.initialScript}" ''} rm -f "${cfg.dbpath}/.first_startup" diff --git a/nixos/modules/services/databases/postgresql.md b/nixos/modules/services/databases/postgresql.md index e1256c9672f2..a83918efc7cc 100644 --- a/nixos/modules/services/databases/postgresql.md +++ b/nixos/modules/services/databases/postgresql.md @@ -21,7 +21,10 @@ To enable PostgreSQL, add the following to your {file}`configuration.nix`: services.postgresql.package = pkgs.postgresql_15; } ``` -Note that you are required to specify the desired version of PostgreSQL (e.g. `pkgs.postgresql_15`). Since upgrading your PostgreSQL version requires a database dump and reload (see below), NixOS cannot provide a default value for [](#opt-services.postgresql.package) such as the most recent release of PostgreSQL. + +The default PostgreSQL version is approximately the latest major version available on the NixOS release matching your [`system.stateVersion`](#opt-system.stateVersion). +This is because PostgreSQL upgrades require a manual migration process (see below). +Hence, upgrades must happen by setting [`services.postgresql.package`](#opt-services.postgresql.package) explicitly. + kafka:9092 + test_topic + clickhouse + JSONEachRow + 0 + 1 + 1 + + + + all + earliest + + + + + ''; + + kafkaNamedCollection = pkgs.writeText "kafka.xml" kafkaNamedCollectionConfig; +in +{ + name = "clickhouse-kafka"; + meta.maintainers = with pkgs.lib.maintainers; [ jpds ]; + + nodes = { + clickhouse = { + environment.etc = { + "clickhouse-server/config.d/kafka.xml" = { + source = "${kafkaNamedCollection}"; + }; + }; + + services.clickhouse.enable = true; + virtualisation.memorySize = 4096; + }; + + kafka = { + networking.firewall.allowedTCPPorts = [ + 9092 + 9093 + ]; + + environment.systemPackages = [ + pkgs.apacheKafka + pkgs.jq + ]; + + services.apache-kafka = { + enable = true; + + # Randomly generated uuid. You can get one by running: + # kafka-storage.sh random-uuid + clusterId = "b81s-MuGSwyt_B9_h37wtQ"; + + formatLogDirs = true; + + settings = { + listeners = [ + "PLAINTEXT://:9092" + "CONTROLLER://:9093" + ]; + "listener.security.protocol.map" = [ + "PLAINTEXT:PLAINTEXT" + "CONTROLLER:PLAINTEXT" + ]; + "controller.quorum.voters" = [ + "1@kafka:9093" + ]; + "controller.listener.names" = [ "CONTROLLER" ]; + + "node.id" = 1; + "broker.rack" = 1; + + "process.roles" = [ + "broker" + "controller" + ]; + + "log.dirs" = [ "/var/lib/apache-kafka" ]; + "num.partitions" = 1; + "offsets.topic.replication.factor" = 1; + "transaction.state.log.replication.factor" = 1; + "transaction.state.log.min.isr" = 1; + }; + }; + + systemd.services.apache-kafka.serviceConfig.StateDirectory = "apache-kafka"; + }; + }; + + testScript = + let + jsonTestMessage = pkgs.writeText "kafka-test-data.json" '' + { "id": 1, "first_name": "Fred", "age": 32 } + { "id": 2, "first_name": "Barbara", "age": 30 } + { "id": 3, "first_name": "Nicola", "age": 12 } + ''; + # work around quote/substitution complexity by Nix, Perl, bash and SQL. + tableKafkaDDL = pkgs.writeText "ddl-kafka.sql" '' + CREATE TABLE `test_kafka_topic` ( + `id` UInt32, + `first_name` String, + `age` UInt32 + ) ENGINE = Kafka(cluster_1); + ''; + + tableDDL = pkgs.writeText "ddl.sql" '' + CREATE TABLE `test_topic` ( + `id` UInt32, + `first_name` String, + `age` UInt32 + ) ENGINE = MergeTree ORDER BY id; + ''; + + viewDDL = pkgs.writeText "view.sql" '' + CREATE MATERIALIZED VIEW kafka_view TO test_topic AS + SELECT + id, + first_name, + age, + FROM test_kafka_topic; + ''; + selectQuery = pkgs.writeText "select.sql" "SELECT sum(age) from `test_topic`"; + in + '' + kafka.start() + kafka.wait_for_unit("apache-kafka") + kafka.wait_for_open_port(9092) + + clickhouse.start() + clickhouse.wait_for_unit("clickhouse") + clickhouse.wait_for_open_port(9000) + + clickhouse.wait_until_succeeds( + """ + journalctl -o cat -u clickhouse.service | grep "Merging configuration file '/etc/clickhouse-server/config.d/kafka.xml'" + """ + ) + + clickhouse.succeed( + "cat ${tableKafkaDDL} | clickhouse-client" + ) + + clickhouse.succeed( + "cat ${tableDDL} | clickhouse-client" + ) + + clickhouse.succeed( + "cat ${viewDDL} | clickhouse-client" + ) + + kafka.succeed( + "jq -rc . ${jsonTestMessage} | kafka-console-producer.sh --topic test_topic --bootstrap-server kafka:9092" + ) + + kafka.wait_until_succeeds( + "journalctl -o cat -u apache-kafka.service | grep 'Created a new member id ClickHouse-clickhouse-default-test_kafka_topic'" + ) + + clickhouse.wait_until_succeeds( + "cat ${selectQuery} | clickhouse-client | grep 74" + ) + ''; +} diff --git a/nixos/tests/clickhouse/keeper.nix b/nixos/tests/clickhouse/keeper.nix new file mode 100644 index 000000000000..40be4c19f2cf --- /dev/null +++ b/nixos/tests/clickhouse/keeper.nix @@ -0,0 +1,183 @@ +{ lib, pkgs, ... }: +rec { + name = "clickhouse-keeper"; + meta.maintainers = with pkgs.lib.maintainers; [ jpds ]; + + nodes = + let + node = i: { + + environment.etc = { + "clickhouse-server/config.d/cluster.xml".text = '' + + + + ${lib.concatStrings ( + lib.imap0 (j: name: '' + + + ${name} + 9000 + + + '') (builtins.attrNames nodes) + )} + + + + ''; + + "clickhouse-server/config.d/keeper.xml".text = '' + + + ${toString i} + 9181 + /var/lib/clickhouse/coordination/log + /var/lib/clickhouse/coordination/snapshots + + + 10000 + 30000 + trace + 10000 + + + + ${lib.concatStrings ( + lib.imap1 (j: name: '' + + ${toString j} + ${name} + 9444 + + '') (builtins.attrNames nodes) + )} + + + + + ${lib.concatStrings ( + lib.imap0 (j: name: '' + + ${name} + 9181 + + '') (builtins.attrNames nodes) + )} + + + + /clickhouse/testcluster/task_queue/ddl + + + ''; + + "clickhouse-server/config.d/listen.xml".text = '' + + :: + + ''; + + "clickhouse-server/config.d/macros.xml".text = '' + + + ${toString i} + perftest_2shards_1replicas + + + ''; + }; + + networking.firewall.allowedTCPPorts = [ + 9009 + 9181 + 9444 + ]; + + services.clickhouse.enable = true; + + systemd.services.clickhouse = { + after = [ "network-online.target" ]; + requires = [ "network-online.target" ]; + }; + + virtualisation.memorySize = 1024 * 4; + virtualisation.diskSize = 1024 * 10; + }; + in + { + clickhouse1 = node 1; + clickhouse2 = node 2; + }; + + testScript = + let + # work around quote/substitution complexity by Nix, Perl, bash and SQL. + clustersQuery = pkgs.writeText "clusters.sql" "SHOW clusters"; + keeperQuery = pkgs.writeText "keeper.sql" "SELECT * FROM system.zookeeper WHERE path IN ('/', '/clickhouse') FORMAT VERTICAL"; + systemClustersQuery = pkgs.writeText "system-clusters.sql" "SELECT host_name, host_address, replica_num FROM system.clusters WHERE cluster = 'perftest_2shards_1replicas'"; + + tableDDL = pkgs.writeText "table.sql" '' + CREATE TABLE test ON cluster 'perftest_2shards_1replicas' ( A Int64, S String) + Engine = ReplicatedMergeTree('/clickhouse/{cluster}/tables/{database}/{table}', '{replica}') + ORDER BY A; + ''; + + insertDDL = pkgs.writeText "insert.sql" " + INSERT INTO test SELECT number, '' FROM numbers(100000000); + "; + + selectCountQuery = pkgs.writeText "select-count.sql" " + select count() from test; + "; + in + '' + clickhouse1.start() + clickhouse2.start() + + for machine in clickhouse1, clickhouse2: + machine.wait_for_unit("clickhouse.service") + machine.wait_for_open_port(9000) + machine.wait_for_open_port(9009) + machine.wait_for_open_port(9181) + machine.wait_for_open_port(9444) + + machine.wait_until_succeeds( + """ + journalctl -o cat -u clickhouse.service | grep "Merging configuration file '/etc/clickhouse-server/config.d/keeper.xml'" + """ + ) + + machine.log(machine.succeed( + "cat ${clustersQuery} | clickhouse-client | grep perftest_2shards_1replicas" + )) + + machine.log(machine.succeed( + "cat ${keeperQuery} | clickhouse-client" + )) + + machine.succeed( + "cat ${systemClustersQuery} | clickhouse-client | grep clickhouse1" + ) + machine.succeed( + "cat ${systemClustersQuery} | clickhouse-client | grep clickhouse2" + ) + + machine.succeed( + "ls /var/lib/clickhouse/coordination/log | grep changelog" + ) + + clickhouse2.succeed( + "cat ${tableDDL} | clickhouse-client" + ) + + clickhouse2.succeed( + "cat ${insertDDL} | clickhouse-client" + ) + + for machine in clickhouse1, clickhouse2: + machine.wait_until_succeeds( + "cat ${selectCountQuery} | clickhouse-client | grep 100000000" + ) + ''; +} diff --git a/nixos/tests/clickhouse/s3.nix b/nixos/tests/clickhouse/s3.nix new file mode 100644 index 000000000000..2268b6128fe6 --- /dev/null +++ b/nixos/tests/clickhouse/s3.nix @@ -0,0 +1,121 @@ +{ pkgs, ... }: + +let + s3 = { + bucket = "clickhouse-bucket"; + accessKey = "BKIKJAA5BMMU2RHO6IBB"; + secretKey = "V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12"; + }; + + clickhouseS3StorageConfig = '' + + + + + s3 + http://minio:9000/${s3.bucket}/ + ${s3.accessKey} + ${s3.secretKey} + /var/lib/clickhouse/disks/s3_disk/ + + + cache + s3_disk + /var/lib/clickhouse/disks/s3_cache/ + 10Gi + + + + + +
+ s3_disk +
+
+
+
+
+
+ ''; +in +{ + name = "clickhouse-s3"; + meta.maintainers = with pkgs.lib.maintainers; [ jpds ]; + + nodes = { + clickhouse = { + environment.etc = { + "clickhouse-server/config.d/s3.xml" = { + text = "${clickhouseS3StorageConfig}"; + }; + }; + + services.clickhouse.enable = true; + virtualisation.diskSize = 15 * 1024; + virtualisation.memorySize = 4 * 1024; + }; + + minio = + { pkgs, ... }: + { + virtualisation.diskSize = 2 * 1024; + networking.firewall.allowedTCPPorts = [ 9000 ]; + + services.minio = { + enable = true; + inherit (s3) accessKey secretKey; + }; + + environment.systemPackages = [ pkgs.minio-client ]; + }; + }; + + testScript = + let + # work around quote/substitution complexity by Nix, Perl, bash and SQL. + tableDDL = pkgs.writeText "ddl.sql" '' + CREATE TABLE `demo` ( + `value` String + ) + ENGINE = MergeTree + ORDER BY value + SETTINGS storage_policy = 's3_main'; + ''; + insertQuery = pkgs.writeText "insert.sql" "INSERT INTO `demo` (`value`) VALUES ('foo');"; + selectQuery = pkgs.writeText "select.sql" "SELECT * from `demo`"; + in + '' + minio.wait_for_unit("minio") + minio.wait_for_open_port(9000) + minio.succeed( + "mc alias set minio " + + "http://localhost:9000 " + + "${s3.accessKey} ${s3.secretKey} --api s3v4", + "mc mb minio/${s3.bucket}", + ) + + clickhouse.start() + clickhouse.wait_for_unit("clickhouse.service") + clickhouse.wait_for_open_port(9000) + + clickhouse.wait_until_succeeds( + """ + journalctl -o cat -u clickhouse.service | grep "Merging configuration file '/etc/clickhouse-server/config.d/s3.xml'" + """ + ) + + clickhouse.succeed( + "cat ${tableDDL} | clickhouse-client" + ) + clickhouse.succeed( + "cat ${insertQuery} | clickhouse-client" + ) + clickhouse.succeed( + "cat ${selectQuery} | clickhouse-client | grep foo" + ) + + minio.log(minio.succeed( + "mc ls minio/${s3.bucket}", + )) + ''; +} diff --git a/nixos/tests/dovecot.nix b/nixos/tests/dovecot.nix index cd17234980f5..66b62cba1117 100644 --- a/nixos/tests/dovecot.nix +++ b/nixos/tests/dovecot.nix @@ -12,7 +12,6 @@ import ./make-test-python.nix { "imap" "pop3" ]; - modules = [ pkgs.dovecot_pigeonhole ]; mailUser = "vmail"; mailGroup = "vmail"; }; @@ -75,6 +74,7 @@ import ./make-test-python.nix { in [ + pkgs.dovecot_pigeonhole sendTestMail sendTestMailViaDeliveryAgent testImap diff --git a/nixos/tests/fedimintd.nix b/nixos/tests/fedimintd.nix index 19e92b43da65..ade63fcb252a 100644 --- a/nixos/tests/fedimintd.nix +++ b/nixos/tests/fedimintd.nix @@ -17,12 +17,10 @@ p2p = { url = "fedimint://example.com"; }; - api = { + api_ws = { url = "wss://example.com"; }; - environment = { - "FM_REL_NOTES_ACK" = "0_4_xyz"; - }; + environment = { }; }; }; @@ -32,6 +30,6 @@ start_all() machine.wait_for_unit("fedimintd-mainnet.service") - machine.wait_for_open_port(${toString nodes.machine.services.fedimintd.mainnet.api.port}) + machine.wait_for_open_port(${toString nodes.machine.services.fedimintd.mainnet.api_ws.port}) ''; } diff --git a/nixos/tests/getaddrinfo.nix b/nixos/tests/getaddrinfo.nix new file mode 100644 index 000000000000..0e686255fff9 --- /dev/null +++ b/nixos/tests/getaddrinfo.nix @@ -0,0 +1,68 @@ +{ lib, ... }: +let + ip4 = "192.0.2.1"; + ip6 = "2001:db8::1"; + + precedence = { + "::1/128" = 50; + "::/0" = 40; + "2002::/16" = 30; + "::/96" = 20; + "::ffff:0:0/96" = 100; + }; +in +{ + name = "getaddrinfo"; + meta.maintainers = with lib.maintainers; [ moraxyc ]; + + nodes.server = _: { + networking.firewall.enable = false; + networking.useDHCP = false; + + services.dnsmasq = { + enable = true; + settings = { + address = [ + "/nixos.test/${ip4}" + "/nixos.test/${ip6}" + ]; + }; + }; + }; + + nodes.client = + { pkgs, nodes, ... }: + { + networking.nameservers = [ + (lib.head nodes.server.networking.interfaces.eth1.ipv4.addresses).address + ]; + networking.getaddrinfo = { + reload = true; + inherit precedence; + }; + networking.useDHCP = false; + environment.systemPackages = [ + (pkgs.writers.writePython3Bin "request-addr" { } '' + import socket + + results = socket.getaddrinfo("nixos.test", None) + print(results[0][4][0]) + '') + ]; + }; + + testScript = + { ... }: + '' + server.wait_for_unit("dnsmasq.service") + client.wait_for_unit("network.target") + + assert "${ip4}" in client.succeed("request-addr") + + client.succeed(""" + sed 's/100/10/' /etc/gai.conf > /etc/gai.conf.new && \ + mv /etc/gai.conf.new /etc/gai.conf + """) + assert "${ip6}" in client.succeed("request-addr") + ''; +} diff --git a/nixos/tests/grafana/basic.nix b/nixos/tests/grafana/basic.nix index 7c7728016003..3b0d5a6a3258 100644 --- a/nixos/tests/grafana/basic.nix +++ b/nixos/tests/grafana/basic.nix @@ -94,9 +94,7 @@ import ../make-test-python.nix ( { name = "grafana-basic"; - meta = with maintainers; { - maintainers = [ willibutz ]; - }; + meta.maintainers = [ ]; inherit nodes; diff --git a/nixos/tests/grafana/provision/default.nix b/nixos/tests/grafana/provision/default.nix index 6eba72fb9501..d4a1e29ed7c2 100644 --- a/nixos/tests/grafana/provision/default.nix +++ b/nixos/tests/grafana/provision/default.nix @@ -193,9 +193,7 @@ import ../../make-test-python.nix ( { name = "grafana-provision"; - meta = with maintainers; { - maintainers = [ willibutz ]; - }; + meta.maintainers = [ ]; inherit nodes; diff --git a/nixos/tests/hedgedoc.nix b/nixos/tests/hedgedoc.nix index aaf83a30bfc5..826e35289900 100644 --- a/nixos/tests/hedgedoc.nix +++ b/nixos/tests/hedgedoc.nix @@ -2,10 +2,7 @@ { name = "hedgedoc"; - meta = with lib.maintainers; { - maintainers = [ willibutz ]; - }; - + meta.maintainers = [ ]; nodes = { hedgedocSqlite = { ... }: diff --git a/nixos/tests/home-assistant.nix b/nixos/tests/home-assistant.nix index ce2cf17fab56..55664bfa0d79 100644 --- a/nixos/tests/home-assistant.nix +++ b/nixos/tests/home-assistant.nix @@ -128,16 +128,22 @@ in ]; }; lovelaceConfigWritable = true; + }; - blueprints.automation = [ - (pkgs.fetchurl { - url = "https://github.com/home-assistant/core/raw/2025.1.4/homeassistant/components/automation/blueprints/motion_light.yaml"; - hash = "sha256-4HrDX65ycBMfEY2nZ7A25/d3ZnIHdpHZ+80Cblp+P5w="; - }) - ]; - blueprints.template = [ - "${pkgs.home-assistant.src}/homeassistant/components/template/blueprints/inverted_binary_sensor.yaml" - ]; + # Add blueprints next, because we want to test the installation of the default blueprints first + specialisation.addBlueprints = { + inheritParentConfig = true; + configuration.services.home-assistant = { + blueprints.automation = [ + (pkgs.fetchurl { + url = "https://github.com/home-assistant/core/raw/2025.1.4/homeassistant/components/automation/blueprints/motion_light.yaml"; + hash = "sha256-4HrDX65ycBMfEY2nZ7A25/d3ZnIHdpHZ+80Cblp+P5w="; + }) + ]; + blueprints.template = [ + "${pkgs.home-assistant.src}/homeassistant/components/template/blueprints/inverted_binary_sensor.yaml" + ]; + }; }; # Cause a configuration change inside `configuration.yml` and verify that the process is being reloaded. @@ -237,7 +243,16 @@ in with subtest("Check extra components are considered in systemd unit hardening"): hass.succeed("systemctl show -p DeviceAllow home-assistant.service | grep -q char-ttyUSB") - with subtest("Check that blueprints are installed"): + with subtest("Check that default blueprints are copied writable"): + hass.succeed("stat -c '%a' ${configDir}/blueprints/automation/homeassistant | grep 700") + hass.succeed("stat -c '%a' ${configDir}/blueprints/automation/homeassistant/motion_light.yaml | grep 600") + # Delete blueprints, so we can check the declarative setup next + hass.execute("rm -rf ${configDir}/blueprints") + + with subtest("Check that configured blueprints are installed"): + cursor = get_journal_cursor() + hass.succeed("${system}/specialisation/addBlueprints/bin/switch-to-configuration test") + wait_for_homeassistant(cursor) hass.succeed("test -L '${configDir}/blueprints/automation/motion_light.yaml'") hass.succeed("test -L '${configDir}/blueprints/template/inverted_binary_sensor.yaml'") diff --git a/nixos/tests/incus/incus-tests.nix b/nixos/tests/incus/incus-tests.nix index 3d0e4f0e082f..3a9479f5ab55 100644 --- a/nixos/tests/incus/incus-tests.nix +++ b/nixos/tests/incus/incus-tests.nix @@ -221,6 +221,14 @@ import ../make-test-python.nix ( machine.succeed("incus storage show default") '' + + lib.optionalString appArmor '' + with subtest("Verify AppArmor service is started without issue"): + # restart AppArmor service since the Incus AppArmor folders are + # created after AA service is started + machine.systemctl("restart apparmor.service") + machine.succeed("systemctl --no-pager -l status apparmor.service") + machine.wait_for_unit("apparmor.service") + '' + lib.optionalString instanceContainer ( lib.foldl ( acc: variant: diff --git a/nixos/tests/initrd-network-ssh/default.nix b/nixos/tests/initrd-network-ssh/default.nix index c67ead716e0f..510a9f7ef4e5 100644 --- a/nixos/tests/initrd-network-ssh/default.nix +++ b/nixos/tests/initrd-network-ssh/default.nix @@ -4,7 +4,6 @@ import ../make-test-python.nix ( { name = "initrd-network-ssh"; meta.maintainers = with lib.maintainers; [ - willibutz emily ]; diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index 6c7b97d055bc..56f1b4f19bfb 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -296,7 +296,7 @@ let with subtest("Test nixos-option"): kernel_modules = target.succeed("nixos-option boot.initrd.kernelModules") assert "virtio_console" in kernel_modules - assert "List of modules" in kernel_modules + assert "list of modules" in kernel_modules assert "qemu-guest.nix" in kernel_modules target.shutdown() diff --git a/nixos/tests/jenkins.nix b/nixos/tests/jenkins.nix index 7a8e4ea4d0b4..dcfd5a03bab6 100644 --- a/nixos/tests/jenkins.nix +++ b/nixos/tests/jenkins.nix @@ -10,7 +10,6 @@ meta = with pkgs.lib.maintainers; { maintainers = [ bjornfor - domenkozar ]; }; diff --git a/nixos/tests/loki.nix b/nixos/tests/loki.nix index 9c08c4312c97..1c67b0e7f7f2 100644 --- a/nixos/tests/loki.nix +++ b/nixos/tests/loki.nix @@ -3,9 +3,7 @@ { name = "loki"; - meta = with lib.maintainers; { - maintainers = [ willibutz ]; - }; + meta.maintainers = [ ]; nodes.machine = { ... }: @@ -13,10 +11,13 @@ services.loki = { enable = true; - # FIXME(globin) revert to original file when upstream fix released + # FIXME: revert to original file when upstream fix released + # https://github.com/grafana/loki/issues/16990 + # https://github.com/grafana/loki/issues/17736 # configFile = "${pkgs.grafana-loki.src}/cmd/loki/loki-local-config.yaml"; - configFile = pkgs.runCommandNoCC "patched-loki-cfg.yml" { } '' - sed '/metric_aggregation/!b;n;/enable/d' "${pkgs.grafana-loki.src}/cmd/loki/loki-local-config.yaml" > $out + configFile = pkgs.runCommand "patched-loki-cfg.yml" { } '' + substitute "${pkgs.grafana-loki.src}/cmd/loki/loki-local-config.yaml" "$out" \ + --replace-fail "enable_multi_variant_queries: true" "" ''; }; services.promtail = { diff --git a/nixos/tests/lomiri-camera-app.nix b/nixos/tests/lomiri-camera-app.nix index ec3442966982..24824a30cd4b 100644 --- a/nixos/tests/lomiri-camera-app.nix +++ b/nixos/tests/lomiri-camera-app.nix @@ -1,155 +1,257 @@ -{ lib, ... }: -{ - name = "lomiri-camera-app-standalone"; - meta.maintainers = lib.teams.lomiri.members; - - nodes.machine = - { config, pkgs, ... }: - { - imports = [ ./common/x11.nix ]; - - services.xserver.enable = true; - - environment = { - systemPackages = - with pkgs; - [ - feh # view photo result - ffmpeg # fake webcam stream - gnome-text-editor # somewhere to paste QR result - (imagemagick.override { ghostscriptSupport = true; }) # add label for OCR - qrtool # generate QR code - xdotool # clicking on QR button - ] - ++ (with pkgs.lomiri; [ - suru-icon-theme - lomiri-camera-app - ]); - variables = { - UITK_ICON_THEME = "suru"; - }; - }; - - i18n.supportedLocales = [ "all" ]; - - fonts = { - packages = with pkgs; [ - # Intended font & helps with OCR - ubuntu-classic +let + makeTest = import ./make-test-python.nix; + feedLabel = "Image"; + feedQrContent = "Test"; + feedImageFile = "feed.png"; + makeFeedImage = + pkgs: + pkgs.runCommand feedImageFile + { + nativeBuildInputs = with pkgs; [ + (imagemagick.override { ghostscriptSupport = true; }) # add label for OCR + qrtool # generate QR code ]; - }; + } + '' + qrtool encode '${feedQrContent}' -s 20 -m 10 > qr.png - # Fake camera - boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; - }; + # Horizontal flip, add text, flip back. Camera displays image mirrored, so need reversed text for OCR + magick qr.png \ + -flop \ + -pointsize 30 -fill black -annotate +100+100 '${feedLabel}' \ + -flop \ + $out + ''; +in +{ + basic = makeTest ( + { lib, ... }: + { + name = "lomiri-camera-app-basic"; + meta.maintainers = lib.teams.lomiri.members; - enableOCR = true; + nodes.machine = + { config, pkgs, ... }: + { + imports = [ ./common/x11.nix ]; - testScript = - let - qrLabel = "Feed"; - qrContent = "Test"; - in - '' - machine.wait_for_x() + services.xserver.enable = true; - with subtest("lomiri camera launches"): - machine.succeed("lomiri-camera-app >&2 &") - machine.wait_for_console_text("updateViewfinderResolution: viewfinder resolutions is not known yet") + environment = { + systemPackages = with pkgs.lomiri; [ + suru-icon-theme + lomiri-camera-app + ]; + variables = { + UITK_ICON_THEME = "suru"; + }; + }; + + i18n.supportedLocales = [ "all" ]; + + fonts = { + packages = with pkgs; [ + # Intended font & helps with OCR + ubuntu-classic + ]; + }; + }; + + enableOCR = true; + + testScript = + let + qrLabel = "Feed"; + qrContent = "Test"; + in + '' + machine.wait_for_x() + + with subtest("lomiri camera launches"): + machine.succeed("lomiri-camera-app >&2 &") + # emitted twice + machine.wait_for_console_text("updateViewfinderResolution: viewfinder resolutions is not known yet") + machine.wait_for_console_text("updateViewfinderResolution: viewfinder resolutions is not known yet") + machine.sleep(10) + machine.send_key("alt-f10") + machine.sleep(5) + machine.wait_for_text("Cannot access") + machine.screenshot("lomiri-camera_open") + + machine.succeed("pgrep -afx lomiri-camera-app >&2") + machine.succeed("pkill -efx lomiri-camera-app >&2") + machine.wait_until_fails("pgrep -afx lomiri-camera-app >&2") + + # Sometimes, GStreamer errors out on camera init with: CameraBin error: "Failed to allocate required memory." + # Adding more VM memory didn't affect this. Maybe flaky in general? + # Current assumption: Camera access gets requested in a weird/still-in-use state, so sleep abit machine.sleep(10) - machine.send_key("alt-f10") - machine.sleep(5) - machine.wait_for_text("Cannot access") - machine.screenshot("lomiri-camera_open") - machine.succeed("pkill -f lomiri-camera-app") + with subtest("lomiri camera localisation works"): + machine.succeed("env LANG=de_DE.UTF-8 lomiri-camera-app >&2 &") + # emitted twice + machine.wait_for_console_text("updateViewfinderResolution: viewfinder resolutions is not known yet") + machine.wait_for_console_text("updateViewfinderResolution: viewfinder resolutions is not known yet") + machine.sleep(10) + machine.send_key("alt-f10") + machine.sleep(5) + machine.wait_for_text("Zugriff auf") + machine.screenshot("lomiri-camera_localised") + ''; + } + ); - # Setup fake v4l2 camera - machine.succeed("modprobe v4l2loopback video_nr=10 card_label=Video-Loopback exclusive_caps=1") - machine.succeed("qrtool encode '${qrContent}' -s 20 -m 10 > qr.png") - # Horizontal flip, add text, flip back. Camera displays image mirrored, so need reversed text for OCR - machine.succeed("magick qr.png -flop -pointsize 30 -fill black -annotate +100+100 '${qrLabel}' -flop output.png") - machine.succeed("ffmpeg -re -loop 1 -i output.png -vf format=yuv420p -f v4l2 /dev/video10 -loglevel fatal >&2 &") + v4l2-photo = makeTest ( + { lib, ... }: + { + name = "lomiri-camera-app-v4l2-photo"; + meta.maintainers = lib.teams.lomiri.members; - with subtest("lomiri camera uses camera"): - machine.succeed("lomiri-camera-app >&2 &") - machine.wait_for_console_text("updateViewfinderResolution: For target resolution") - machine.sleep(10) - machine.send_key("alt-f10") - machine.sleep(5) - machine.wait_for_text("${qrLabel}") - machine.screenshot("lomiri-camera_feed") + nodes.machine = + { config, pkgs, ... }: + { + imports = [ ./common/x11.nix ]; - machine.succeed("xdotool mousemove 510 670 click 1") # take photo - machine.wait_until_succeeds("ls /root/Pictures/camera.ubports | grep '\\.jpg$'") + services.xserver.enable = true; - # Check that the image is correct - machine.send_key("ctrl-alt-right") - machine.succeed("magick /root/Pictures/camera.ubports/IMG_00000001.jpg -flop photo_flip.png") - machine.succeed("feh photo_flip.png >&2 &") - machine.sleep(10) - machine.wait_for_text("${qrLabel}") - machine.screenshot("lomiri-camera_photo") + environment = { + etc."${feedImageFile}".source = makeFeedImage pkgs; + systemPackages = + with pkgs; + [ + feh # view photo result + ffmpeg # fake webcam stream + imagemagick # unflip webcam photo + xdotool # clicking on camera button + ] + ++ (with pkgs.lomiri; [ + suru-icon-theme + lomiri-camera-app + ]); + variables = { + UITK_ICON_THEME = "suru"; + }; + }; - machine.succeed("pkill -f feh") - machine.send_key("ctrl-alt-left") - machine.succeed("pkill -f lomiri-camera-app") + i18n.supportedLocales = [ "all" ]; - with subtest("lomiri barcode scanner uses camera"): - machine.succeed("lomiri-camera-app --mode=barcode-reader >&2 &") - machine.wait_for_console_text("updateViewfinderResolution: For target resolution") - machine.sleep(10) - machine.send_key("alt-f10") - machine.sleep(5) - machine.wait_for_text("${qrLabel}") - machine.succeed("xdotool mousemove 510 670 click 1") # open up QR decode result + fonts = { + packages = with pkgs; [ + # Intended font & helps with OCR + ubuntu-classic + ]; + }; - # OCR is struggling to recognise the text. Click the clipboard button and paste the result somewhere else - machine.sleep(5) - machine.screenshot("lomiri-barcode_decode") - machine.succeed("xdotool mousemove 540 590 click 1") - machine.sleep(5) + # Fake camera + boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; + }; - # Need to make a new window without closing camera app, otherwise clipboard content gets lost? - machine.send_key("ctrl-alt-right") - machine.succeed("gnome-text-editor >&2 &") - machine.sleep(10) - machine.send_key("alt-f10") - machine.sleep(5) - machine.wait_for_text("New") + enableOCR = true; - # Font size up to help with OCR - machine.send_key("ctrl-kp_add") - machine.send_key("ctrl-kp_add") - machine.send_key("ctrl-kp_add") - machine.send_key("ctrl-kp_add") - machine.send_key("ctrl-kp_add") - machine.send_key("ctrl-kp_add") - machine.send_key("ctrl-kp_add") - machine.send_key("ctrl-kp_add") - machine.send_key("ctrl-kp_add") - machine.send_key("ctrl-kp_add") - machine.send_key("ctrl-kp_add") - machine.send_key("ctrl-kp_add") - machine.send_key("ctrl-kp_add") - machine.send_key("ctrl-kp_add") - machine.send_key("ctrl-kp_add") - machine.send_key("ctrl-kp_add") + testScript = '' + machine.wait_for_x() - machine.send_key("ctrl-v") - machine.wait_for_text("${qrContent}") + # Setup fake v4l2 camera + machine.succeed("modprobe v4l2loopback video_nr=10 card_label=Video-Loopback exclusive_caps=1") + machine.succeed("ffmpeg -re -loop 1 -i /etc/${feedImageFile} -vf format=yuv420p -f v4l2 /dev/video10 -loglevel fatal >&2 &") - machine.succeed("pkill -f gnome-text-editor") - machine.send_key("ctrl-alt-left") - machine.succeed("pkill -f lomiri-camera-app") + with subtest("lomiri camera uses camera"): + machine.succeed("lomiri-camera-app >&2 &") + # emitted twice + machine.wait_for_console_text("No flash control support") + machine.wait_for_console_text("No flash control support") + machine.sleep(10) + machine.send_key("alt-f10") + machine.sleep(5) + machine.wait_for_text("${feedLabel}") + machine.screenshot("lomiri-camera_feed") - with subtest("lomiri camera localisation works"): - machine.succeed("env LANG=de_DE.UTF-8 lomiri-camera-app >&2 &") - machine.wait_for_console_text("updateViewfinderResolution: For target resolution") - machine.sleep(10) - machine.send_key("alt-f10") - machine.sleep(5) - machine.wait_for_text("Kamera") - machine.screenshot("lomiri-camera_localised") - ''; + machine.succeed("xdotool mousemove 510 670 click 1") # take photo + machine.wait_until_succeeds("ls /root/Pictures/camera.ubports | grep '\\.jpg$'") + + # Check that the image is correct + machine.send_key("ctrl-alt-right") + machine.succeed("magick /root/Pictures/camera.ubports/IMG_00000001.jpg -flop photo_flip.png") + machine.succeed("feh photo_flip.png >&2 &") + machine.sleep(10) + machine.send_key("alt-f10") + machine.sleep(5) + machine.wait_for_text("${feedLabel}") + machine.screenshot("lomiri-camera_photo") + ''; + } + ); + + v4l2-qr = makeTest ( + { lib, ... }: + { + name = "lomiri-camera-app-v4l2-qr"; + meta.maintainers = lib.teams.lomiri.members; + + nodes.machine = + { config, pkgs, ... }: + { + imports = [ ./common/x11.nix ]; + + services.xserver.enable = true; + + environment = { + etc."${feedImageFile}".source = makeFeedImage pkgs; + systemPackages = + with pkgs; + [ + ffmpeg # fake webcam stream + xclip # inspect QR contents copied into clipboard + xdotool # clicking on QR button + ] + ++ (with pkgs.lomiri; [ + suru-icon-theme + lomiri-camera-app + ]); + variables = { + UITK_ICON_THEME = "suru"; + }; + }; + + i18n.supportedLocales = [ "all" ]; + + fonts = { + packages = with pkgs; [ + # Intended font & helps with OCR + ubuntu-classic + ]; + }; + + # Fake camera + boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; + }; + + enableOCR = true; + + testScript = '' + machine.wait_for_x() + + # Setup fake v4l2 camera + machine.succeed("modprobe v4l2loopback video_nr=10 card_label=Video-Loopback exclusive_caps=1") + machine.succeed("ffmpeg -re -loop 1 -i /etc/${feedImageFile} -vf format=yuv420p -f v4l2 /dev/video10 -loglevel fatal >&2 &") + + with subtest("lomiri barcode scanner uses camera"): + machine.succeed("lomiri-camera-app --mode=barcode-reader >&2 &") + # emitted twice + machine.wait_for_console_text("No flash control support") + machine.wait_for_console_text("No flash control support") + machine.sleep(10) + machine.send_key("alt-f10") + machine.sleep(5) + machine.wait_for_text("${feedLabel}") + machine.succeed("xdotool mousemove 510 670 click 1") # open up QR decode result + + # OCR is struggling to recognise the text. Click the clipboard button, check what got copied + machine.sleep(5) + machine.screenshot("lomiri-barcode_decode") + machine.succeed("xdotool mousemove 540 590 click 1") + machine.wait_until_succeeds("env DISPLAY=:0 xclip -selection clipboard -o | grep -q '${feedQrContent}'") + ''; + } + ); } diff --git a/nixos/tests/lomiri-gallery-app.nix b/nixos/tests/lomiri-gallery-app.nix index c7cec10d875c..1f5638f39ba1 100644 --- a/nixos/tests/lomiri-gallery-app.nix +++ b/nixos/tests/lomiri-gallery-app.nix @@ -1,163 +1,311 @@ -{ lib, ... }: -{ - name = "lomiri-gallery-app-standalone"; - meta.maintainers = lib.teams.lomiri.members; +let + makeTest = import ./make-test-python.nix; + imageDataDir = "gallery-app-sampledata"; + imageLabel = "Image"; - nodes.machine = - { config, pkgs, ... }: + makeFormatTest = { - imports = [ ./common/x11.nix ]; + file, + buttonIsOffset ? null, + customTest ? null, + }: - services.xserver.enable = true; + makeTest ( + { pkgs, lib, ... }: - environment = { - systemPackages = - with pkgs; - [ - ffmpeg # make a video from the image - (imagemagick.override { ghostscriptSupport = true; }) # example image creation - mpv # URI dispatching for video support - xdotool # mouse movement - ] - ++ (with pkgs.lomiri; [ - suru-icon-theme - lomiri-gallery-app - lomiri-thumbnailer # finds new images & generates thumbnails - ]); - variables = { - UITK_ICON_THEME = "suru"; + assert lib.asserts.assertMsg ( + buttonIsOffset != null || customTest != null + ) "Must either clarify button position, or define custom test code"; + + let + format = lib.lists.last (lib.strings.splitString "." file); + in + + { + name = "lomiri-gallery-app-standalone-format-${format}"; + meta.maintainers = lib.teams.lomiri.members; + + nodes.machine = + { config, pkgs, ... }: + { + imports = [ ./common/x11.nix ]; + + services.xserver.enable = true; + + environment = { + etc."${imageDataDir}".source = + pkgs.runCommand imageDataDir + { + nativeBuildInputs = with pkgs; [ + ffmpeg # make a video from the image + (imagemagick.override { ghostscriptSupport = true; }) # add label for OCR + ]; + } + '' + mkdir -p $out/{Pictures,Videos} + + # Setup example data, OCR-friendly: + # - White square, black text + # - Small text for display OCR + # - Big text for gallery preview OCR + # - uppercase extension + magick -size 500x500 -background white -fill black canvas:white \ + -pointsize 20 -annotate +100+100 '${imageLabel}' \ + -pointsize 70 -annotate +100+300 '${imageLabel}' \ + $out/Pictures/output.PNG + + # Different image formats + magick $out/Pictures/output.PNG $out/Pictures/output.JPG + magick $out/Pictures/output.PNG $out/Pictures/output.BMP + magick $out/Pictures/output.PNG $out/Pictures/output.GIF + + # Video for dispatching + ffmpeg -loop 1 -r 1 -i $out/Pictures/output.PNG -t 100 -pix_fmt yuv420p $out/Videos/output.MP4 + ''; + systemPackages = + with pkgs; + [ + glib # Poke thumbnailer to process media via gdbus + mpv # URI dispatching for video support + xdotool # mouse movement + ] + ++ (with pkgs.lomiri; [ + suru-icon-theme + lomiri-gallery-app + lomiri-thumbnailer # finds new images & generates thumbnails + ]); + variables = { + UITK_ICON_THEME = "suru"; + }; + }; + + # Allow us to start thumbnailer ahead-of-time, hopefully let thumbnails get processed in peace + systemd.user.services."dbus-com.lomiri.Thumbnailer" = { + serviceConfig = { + Type = "dbus"; + BusName = "com.lomiri.Thumbnailer"; + ExecStart = "${pkgs.lomiri.lomiri-thumbnailer}/libexec/lomiri-thumbnailer/thumbnailer-service"; + }; + }; + + fonts = { + packages = with pkgs; [ + # Intended font & helps with OCR + ubuntu-classic + ]; + }; + }; + + enableOCR = true; + + testScript = + '' + machine.wait_for_x() + + machine.succeed("mkdir /root/${builtins.dirOf file}") + machine.succeed("cp -vr /etc/${imageDataDir}/${file} /root/${builtins.dirOf file}") + + # Start thumbnailer, wait for idle shutdown + machine.systemctl("start dbus-com.lomiri.Thumbnailer", "root") + machine.wait_until_succeeds( + "env XDG_RUNTIME_DIR=/run/user/0 " + + "systemctl --user is-active dbus-com.lomiri.Thumbnailer" + ) + machine.wait_for_console_text("thumbnail cache:") + + # Request thumbnail processing, get initial thumbnail image into cache + # This can randomly take abit longer, just run it until it succeeds + # Touch file to invalidate failure cache + machine.wait_until_succeeds( + "touch '/root/${file}' && " + + "env XDG_RUNTIME_DIR=/run/user/0 " + + "gdbus call -e " + + "-d com.lomiri.Thumbnailer -o /com/lomiri/Thumbnailer " + + "-m com.lomiri.Thumbnailer.GetThumbnail " + + "'/root/${file}' " + # Same size as source, to reduce processing - we're very close to hitting 20s on slow hardware here + + "'@(ii) (500,500)'" + ) + + machine.wait_for_console_text("Idle timeout reached") + machine.wait_until_fails( + "env XDG_RUNTIME_DIR=/run/user/0 " + + "systemctl --user is-active dbus-com.lomiri.Thumbnailer" + ) + + with subtest("lomiri gallery finds files"): + machine.succeed("lomiri-gallery-app >&2 &") + machine.wait_for_console_text("qq= AlbumsOverview") # logged when album page actually gets loaded + machine.sleep(10) + machine.send_key("alt-f10") + machine.sleep(5) + machine.wait_for_text(r"(Albums|Events|Photos|${imageLabel})") + + machine.succeed("xdotool mousemove 30 40 click 1") # burger menu for categories + machine.sleep(2) + machine.succeed("xdotool mousemove 30 180 click 1") # photos + machine.sleep(2) + machine.screenshot("lomiri-gallery_photos") + + machine.succeed("xdotool mousemove 80 140 click 1") # select first one + machine.sleep(2) + machine.succeed("xdotool mousemove 80 140 click 1") # enable top-bar + machine.sleep(2) + + '' + + ( + if (customTest != null) then + customTest + else + '' + with subtest("lomiri gallery handles ${format}"): + machine.succeed("xdotool mousemove ${ + if buttonIsOffset then "900" else "940" + } 50 click 1") # open media information + machine.sleep(2) + machine.screenshot("lomiri-gallery_${format}_info") + machine.send_key("esc") + machine.sleep(2) + machine.wait_for_text("${imageLabel}") # make sure media shows fine + '' + ); + + } + ); + makeFormatTests = + detailsList: + builtins.listToAttrs ( + builtins.map ( + { + name, + file, + buttonIsOffset ? null, + customTest ? null, + }: + { + name = "format-${name}"; + value = makeFormatTest { + inherit + file + buttonIsOffset + customTest + ; + }; + } + ) detailsList + ); +in +{ + basic = makeTest ( + { lib, ... }: + { + name = "lomiri-gallery-app-standalone-basic"; + meta.maintainers = lib.teams.lomiri.members; + + nodes.machine = + { config, pkgs, ... }: + { + imports = [ ./common/x11.nix ]; + + services.xserver.enable = true; + + environment = { + systemPackages = + with pkgs; + [ + xdotool # mouse movement + ] + ++ (with pkgs.lomiri; [ + suru-icon-theme + lomiri-gallery-app + ]); + variables = { + UITK_ICON_THEME = "suru"; + }; + }; + + i18n.supportedLocales = [ "all" ]; + + fonts = { + packages = with pkgs; [ + # Intended font & helps with OCR + ubuntu-classic + ]; + }; }; - }; - i18n.supportedLocales = [ "all" ]; + enableOCR = true; - fonts = { - packages = with pkgs; [ - # Intended font & helps with OCR - ubuntu-classic - ]; - }; - }; + testScript = '' + machine.wait_for_x() - enableOCR = true; + with subtest("lomiri gallery launches"): + machine.succeed("lomiri-gallery-app >&2 &") + machine.wait_for_console_text("qq= AlbumsOverview") # logged when album page actually gets loaded + machine.sleep(10) + machine.send_key("alt-f10") + machine.sleep(5) + machine.wait_for_text(r"(Albums|Events|Photos)") + machine.screenshot("lomiri-gallery_open") - testScript = - let - imageLabel = "Image"; - in - '' - machine.wait_for_x() + machine.succeed("pgrep -afx lomiri-gallery-app >&2") + machine.succeed("pkill -efx lomiri-gallery-app >&2") + machine.wait_until_fails("pgrep -afx lomiri-gallery-app >&2") - with subtest("lomiri gallery launches"): - machine.succeed("lomiri-gallery-app >&2 &") - machine.sleep(2) - machine.wait_for_text(r"(Albums|Events|Photos)") - machine.screenshot("lomiri-gallery_open") - machine.succeed("pkill -f lomiri-gallery-app") - - machine.succeed("mkdir /root/Pictures /root/Videos") - # Setup example data, OCR-friendly: - # - White square, black text - # - Small text for display OCR - # - Big text for gallery preview OCR - # - uppercase extension - machine.succeed( - "magick -size 500x500 -background white -fill black canvas:white " - + "-pointsize 20 -annotate +100+100 '${imageLabel}' " - + "-pointsize 50 -annotate +100+300 '${imageLabel}' " - + "/root/Pictures/output.PNG" - ) - - # Different image formats - machine.succeed("magick /root/Pictures/output.PNG /root/Pictures/output.JPG") - machine.succeed("magick /root/Pictures/output.PNG /root/Pictures/output.BMP") - machine.succeed("magick /root/Pictures/output.PNG /root/Pictures/output.GIF") - - # Video for dispatching - machine.succeed("ffmpeg -loop 1 -r 1 -i /root/Pictures/output.PNG -t 100 -pix_fmt yuv420p /root/Videos/output.MP4") - - with subtest("lomiri gallery handles files"): - machine.succeed("lomiri-gallery-app >&2 &") - machine.sleep(2) - machine.wait_for_text(r"(Albums|Events|Photos|${imageLabel})") - - machine.succeed("xdotool mousemove 30 40 click 1") # burger menu for categories - machine.sleep(2) - machine.succeed("xdotool mousemove 30 180 click 1") # photos - machine.sleep(2) - machine.wait_for_text("${imageLabel}") # should see thumbnail of at least one of them - machine.screenshot("lomiri-gallery_photos") - - machine.succeed("xdotool mousemove 80 140 click 1") # select newest one - machine.sleep(2) - machine.succeed("xdotool mousemove 80 140 click 1") # enable top-bar - machine.sleep(2) - - with subtest("lomiri gallery handles mp4"): - machine.succeed("xdotool mousemove 870 50 click 1") # open media information - machine.sleep(2) - machine.wait_for_text("MP4") # make sure we're looking at the right file - machine.screenshot("lomiri-gallery_mp4_info") - machine.send_key("esc") - - machine.wait_for_text("${imageLabel}") # make sure thumbnail rendering worked - - machine.succeed("xdotool mousemove 450 350 click 1") # dispatch to system's video handler - machine.wait_until_succeeds("pgrep -u root -f mpv") # wait for video to start - machine.sleep(10) - machine.succeed("pgrep -u root -f mpv") # should still be playing - machine.screenshot("lomiri-gallery_mp4_dispatch") - - machine.send_key("q") - machine.wait_until_fails("pgrep mpv") # wait for video to stop - - machine.send_key("right") - - with subtest("lomiri gallery handles gif"): - machine.succeed("xdotool mousemove 870 50 click 1") # open media information - machine.sleep(2) - machine.wait_for_text("GIF") # make sure we're looking at the right file - machine.screenshot("lomiri-gallery_gif_info") - machine.send_key("esc") - - machine.wait_for_text("${imageLabel}") # make sure media shows fine - machine.send_key("right") - - with subtest("lomiri gallery handles bmp"): - machine.succeed("xdotool mousemove 840 50 click 1") # open media information (extra icon, different location) - machine.sleep(2) - machine.wait_for_text("BMP") # make sure we're looking at the right file - machine.screenshot("lomiri-gallery_bmp_info") - machine.send_key("esc") - - machine.wait_for_text("${imageLabel}") # make sure media shows fine - machine.send_key("right") - - with subtest("lomiri gallery handles jpg"): - machine.succeed("xdotool mousemove 840 50 click 1") # open media information (extra icon, different location) - machine.sleep(2) - machine.wait_for_text("JPG") # make sure we're looking at the right file - machine.screenshot("lomiri-gallery_jpg_info") - machine.send_key("esc") - - machine.wait_for_text("${imageLabel}") # make sure media shows fine - machine.send_key("right") - - with subtest("lomiri gallery handles png"): - machine.succeed("xdotool mousemove 840 50 click 1") # open media information (extra icon, different location) - machine.sleep(2) - machine.wait_for_text("PNG") # make sure we're looking at the right file - machine.screenshot("lomiri-gallery_png_info") - machine.send_key("esc") - - machine.wait_for_text("${imageLabel}") # make sure media shows fine - - machine.succeed("pkill -f lomiri-gallery-app") - - with subtest("lomiri gallery localisation works"): - machine.succeed("env LANG=de_DE.UTF-8 lomiri-gallery-app >&2 &") - machine.wait_for_text(r"(Alben|Ereignisse|Fotos)") - machine.screenshot("lomiri-gallery_localised") - ''; + with subtest("lomiri gallery localisation works"): + machine.succeed("env LANG=de_DE.UTF-8 lomiri-gallery-app >&2 &") + machine.wait_for_console_text("qq= AlbumsOverview") # logged when album page actually gets loaded + machine.sleep(10) + machine.send_key("alt-f10") + machine.sleep(5) + machine.wait_for_text(r"(Alben|Ereignisse|Fotos)") + machine.screenshot("lomiri-gallery_localised") + ''; + } + ); } +// makeFormatTests [ + { + name = "mp4"; + file = "Videos/output.MP4"; + # MP4 gets special treatment + customTest = '' + with subtest("lomiri gallery handles mp4"): + machine.succeed("xdotool mousemove 935 40 click 1") # open media information + machine.sleep(2) + machine.screenshot("lomiri-gallery_mp4_info") + machine.send_key("esc") + machine.sleep(2) + + machine.wait_for_text("${imageLabel}") # make sure thumbnail processing worked + machine.screenshot("lomiri-gallery_mp4_thumbnail") + + machine.succeed("xdotool mousemove 510 380 click 1") # dispatch to system's video handler + machine.wait_until_succeeds("pgrep -u root -f mpv") # wait for video to start + machine.sleep(10) + machine.succeed("pgrep -u root -f mpv") # should still be playing + machine.screenshot("lomiri-gallery_mp4_dispatch") + ''; + } + { + name = "gif"; + file = "Pictures/output.GIF"; + buttonIsOffset = false; + } + { + name = "bmp"; + file = "Pictures/output.BMP"; + buttonIsOffset = true; + } + { + name = "jpg"; + file = "Pictures/output.JPG"; + buttonIsOffset = true; + } + { + name = "png"; + file = "Pictures/output.PNG"; + buttonIsOffset = true; + } +] diff --git a/nixos/tests/ly.nix b/nixos/tests/ly.nix index 4791bf8056f2..b7bee09c3372 100644 --- a/nixos/tests/ly.nix +++ b/nixos/tests/ly.nix @@ -1,23 +1,35 @@ -{ ... }: +{ lib, ... }: +let + machineBase = { + imports = [ ./common/user-account.nix ]; + services.displayManager.ly = { + enable = true; + settings = { + load = false; + save = false; + }; + }; + }; +in { name = "ly"; nodes.machine = { ... }: - { - imports = [ ./common/user-account.nix ]; - services.displayManager.ly = { - enable = true; - settings = { - load = false; - save = false; - }; - }; + lib.attrsets.recursiveUpdate machineBase { + services.displayManager.ly.x11Support = true; services.xserver.enable = true; services.displayManager.defaultSession = "none+icewm"; services.xserver.windowManager.icewm.enable = true; }; + nodes.machineNoX11 = + { ... }: + lib.attrsets.recursiveUpdate machineBase { + services.displayManager.ly.x11Support = false; + services.displayManager.defaultSession = "sway"; + programs.sway.enable = true; + }; testScript = { nodes, ... }: @@ -26,6 +38,7 @@ in '' start_all() + machine.wait_until_tty_matches("2", "password:") machine.send_key("ctrl-alt-f2") machine.sleep(1) @@ -38,5 +51,18 @@ machine.succeed("xauth merge /run/user/${toString user.uid}/lyxauth") machine.wait_for_window("^IceWM ") machine.screenshot("icewm") + + machineNoX11.wait_until_tty_matches("2", "password:") + machineNoX11.send_key("ctrl-alt-f2") + machineNoX11.sleep(1) + machineNoX11.screenshot("ly-no-x11") + machineNoX11.send_chars("alice") + machineNoX11.send_key("tab") + machineNoX11.send_chars("${user.password}") + machineNoX11.send_key("ret") + machineNoX11.wait_for_file("/run/user/${toString user.uid}/wayland-1") + machineNoX11.wait_for_file("/run/user/${toString user.uid}/sway-ipc.*.sock") + machineNoX11.sleep(5) + machineNoX11.screenshot("sway") ''; } diff --git a/nixos/tests/mate-wayland.nix b/nixos/tests/mate-wayland.nix index 42b88439357a..c2e0ee1feaf7 100644 --- a/nixos/tests/mate-wayland.nix +++ b/nixos/tests/mate-wayland.nix @@ -52,6 +52,8 @@ machine.succeed(f"{cmd} | grep 'XDG_SESSION_TYPE' | grep 'wayland'") machine.succeed(f"{cmd} | grep 'XDG_SESSION_DESKTOP' | grep 'MATE'") machine.succeed(f"{cmd} | grep 'MATE_PANEL_APPLETS_DIR' | grep '${pkgs.mate.mate-panel-with-applets.pname}'") + # From the nixos/mate module + machine.succeed(f"{cmd} | grep 'SSH_AUTH_SOCK' | grep 'gcr'") with subtest("Check if Wayfire config is properly configured"): for i in ["button_style = mate", "firedecor", "mate-wayland-components.sh"]: diff --git a/nixos/tests/mate.nix b/nixos/tests/mate.nix index 6112044837db..45fd877c1ca4 100644 --- a/nixos/tests/mate.nix +++ b/nixos/tests/mate.nix @@ -58,6 +58,8 @@ machine.succeed("xargs --null --max-args=1 echo < /proc/$(pgrep -xf marco)/environ | grep 'XDG_CURRENT_DESKTOP' | grep 'MATE'") # From mate-panel-with-applets packaging machine.succeed("xargs --null --max-args=1 echo < /proc/$(pgrep -xf mate-panel)/environ | grep 'MATE_PANEL_APPLETS_DIR' | grep '${pkgs.mate.mate-panel-with-applets.pname}'") + # From the nixos/mate module + machine.succeed("xargs --null --max-args=1 echo < /proc/$(pgrep -xf mate-panel)/environ | grep 'SSH_AUTH_SOCK' | grep 'gcr'") with subtest("Check if applets are built with in-process support"): # This is needed for Wayland support diff --git a/nixos/tests/matrix/synapse.nix b/nixos/tests/matrix/synapse.nix index 323fa25ccb6c..4b9ade875a78 100644 --- a/nixos/tests/matrix/synapse.nix +++ b/nixos/tests/matrix/synapse.nix @@ -187,8 +187,6 @@ in networksStyle = "subnet"; enableSubmission = true; tlsTrustedAuthorities = "${mailerCerts.ca.cert}"; - sslCert = "${mailerCerts.${mailerDomain}.cert}"; - sslKey = "${mailerCerts.${mailerDomain}.key}"; # blackhole transport transport = "example.com discard:silently"; @@ -205,6 +203,14 @@ in smtp_tls_protocols = "TLSv1.3, TLSv1.2, !TLSv1.1, !TLSv1, !SSLv2, !SSLv3"; smtpd_tls_mandatory_protocols = "TLSv1.3, TLSv1.2, !TLSv1.1, !TLSv1, !SSLv2, !SSLv3"; smtp_tls_mandatory_protocols = "TLSv1.3, TLSv1.2, !TLSv1.1, !TLSv1, !SSLv2, !SSLv3"; + smtp_tls_chain_files = [ + "${mailerCerts.${mailerDomain}.key}" + "${mailerCerts.${mailerDomain}.cert}" + ]; + smtpd_tls_chain_files = [ + "${mailerCerts.${mailerDomain}.key}" + "${mailerCerts.${mailerDomain}.cert}" + ]; }; }; }; diff --git a/nixos/tests/mongodb.nix b/nixos/tests/mongodb.nix index 2b4b0fbe6a50..e0174d4dd345 100644 --- a/nixos/tests/mongodb.nix +++ b/nixos/tests/mongodb.nix @@ -12,7 +12,6 @@ in { name = "mongodb"; meta.maintainers = with pkgs.lib.maintainers; [ - bluescreen303 offline phile314 niklaskorz diff --git a/nixos/tests/morph-browser.nix b/nixos/tests/morph-browser.nix index d75b3444be5a..04857ceeeb10 100644 --- a/nixos/tests/morph-browser.nix +++ b/nixos/tests/morph-browser.nix @@ -36,7 +36,10 @@ machine.wait_for_x() with subtest("morph browser launches"): - machine.execute("morph-browser >&2 &") + machine.succeed("morph-browser >&2 &") + machine.sleep(10) + machine.send_key("alt-f10") + machine.sleep(5) machine.wait_for_text(r"Web Browser|New|sites|Bookmarks") machine.screenshot("morph_open") @@ -47,8 +50,14 @@ machine.succeed("pkill -f morph-browser") + # Get rid of saved tabs, to show localised start page + machine.succeed("rm -r /root/.local/share/morph-browser") + with subtest("morph browser localisation works"): - machine.execute("env LANG=de_DE.UTF-8 morph-browser >&2 &") + machine.succeed("env LANG=de_DE.UTF-8 morph-browser >&2 &") + machine.sleep(10) + machine.send_key("alt-f10") + machine.sleep(5) machine.wait_for_text(r"Web-Browser|Neuer|Seiten|Lesezeichen") machine.screenshot("morph_localised") ''; diff --git a/nixos/tests/munin.nix b/nixos/tests/munin.nix index fad3f2b52fae..fe4a7627f615 100644 --- a/nixos/tests/munin.nix +++ b/nixos/tests/munin.nix @@ -5,7 +5,7 @@ { name = "munin"; meta = with pkgs.lib.maintainers; { - maintainers = [ domenkozar ]; + maintainers = [ ]; }; nodes = { diff --git a/nixos/tests/nix-store-veritysetup.nix b/nixos/tests/nix-store-veritysetup.nix new file mode 100644 index 000000000000..3b6a5e6a734f --- /dev/null +++ b/nixos/tests/nix-store-veritysetup.nix @@ -0,0 +1,108 @@ +{ lib, ... }: +{ + + name = "nix-store-veritysetup"; + + meta.maintainers = with lib.maintainers; [ nikstur ]; + + nodes.machine = + { config, modulesPath, ... }: + { + + imports = [ + "${modulesPath}/image/repart.nix" + ]; + + image.repart = { + name = "nix-store"; + partitions = { + "nix-store" = { + storePaths = [ config.system.build.toplevel ]; + stripNixStorePrefix = true; + repartConfig = { + Type = "linux-generic"; + Label = "nix-store"; + Format = "erofs"; + Minimize = "best"; + Verity = "data"; + VerityMatchKey = "nix-store"; + }; + }; + "nix-store-verity" = { + repartConfig = { + Type = "linux-generic"; + Label = "nix-store-verity"; + Verity = "hash"; + VerityMatchKey = "nix-store"; + Minimize = "best"; + }; + }; + }; + }; + + boot.initrd = { + systemd = { + enable = true; + dmVerity.enable = true; + }; + nix-store-veritysetup.enable = true; + }; + + virtualisation = { + mountHostNixStore = false; + qemu.drives = [ + { + name = "nix-store"; + file = ''"$NIX_STORE"''; + } + ]; + fileSystems = { + "/nix/store" = { + fsType = "erofs"; + device = "/dev/mapper/nix-store"; + }; + }; + }; + + }; + + testScript = + { nodes, ... }: + '' + import os + import json + import subprocess + import tempfile + + with open("${nodes.machine.system.build.image}/repart-output.json") as f: + data = json.load(f) + + storehash = data[0]["roothash"] + + os.environ["QEMU_KERNEL_PARAMS"] = f"storehash={storehash}" + + tmp_disk_image = tempfile.NamedTemporaryFile() + + subprocess.run([ + "${nodes.machine.virtualisation.qemu.package}/bin/qemu-img", + "create", + "-f", + "qcow2", + "-b", + "${nodes.machine.system.build.image}/${nodes.machine.image.repart.imageFile}", + "-F", + "raw", + tmp_disk_image.name, + ]) + + os.environ["NIX_STORE"] = tmp_disk_image.name + + machine.start() + + print(machine.succeed("findmnt")) + print(machine.succeed("dmsetup info nix-store")) + + machine.wait_for_unit("multi-user.target") + ''; + +} diff --git a/nixos/tests/nixos-rebuild-target-host.nix b/nixos/tests/nixos-rebuild-target-host.nix index 4c3e894a6977..480963fa1bf1 100644 --- a/nixos/tests/nixos-rebuild-target-host.nix +++ b/nixos/tests/nixos-rebuild-target-host.nix @@ -57,7 +57,7 @@ users.users.alice.extraGroups = [ "wheel" ]; users.users.bob.extraGroups = [ "wheel" ]; - # Disable sudo for root to ensure sudo isn't called without `--use-remote-sudo` + # Disable sudo for root to ensure sudo isn't called without `--sudo` security.sudo.extraRules = lib.mkForce [ { groups = [ "wheel" ]; @@ -170,20 +170,20 @@ # Ensure sudo is disabled for root target.fail("sudo true") - # This test also ensures that sudo is not called without --use-remote-sudo + # This test also ensures that sudo is not called without --sudo with subtest("Deploy to root@target"): deployer.succeed("nixos-rebuild switch -I nixos-config=/root/configuration-1.nix --target-host root@target &>/dev/console") target_hostname = deployer.succeed("ssh alice@target cat /etc/hostname").rstrip() assert target_hostname == "config-1-deployed", f"{target_hostname=}" with subtest("Deploy to alice@target with passwordless sudo"): - deployer.succeed("nixos-rebuild switch -I nixos-config=/root/configuration-2.nix --target-host alice@target --use-remote-sudo &>/dev/console") + deployer.succeed("nixos-rebuild switch -I nixos-config=/root/configuration-2.nix --target-host alice@target --sudo &>/dev/console") target_hostname = deployer.succeed("ssh alice@target cat /etc/hostname").rstrip() assert target_hostname == "config-2-deployed", f"{target_hostname=}" with subtest("Deploy to bob@target with password based sudo"): # TODO: investigate why --ask-sudo-password from nixos-rebuild-ng is not working here - deployer.succeed(r'${lib.optionalString withNg "NIX_SSHOPTS=-t "}passh -c 3 -C -p ${nodes.target.users.users.bob.password} -P "\[sudo\] password" nixos-rebuild switch -I nixos-config=/root/configuration-3.nix --target-host bob@target --use-remote-sudo &>/dev/console') + deployer.succeed(r'${lib.optionalString withNg "NIX_SSHOPTS=-t "}passh -c 3 -C -p ${nodes.target.users.users.bob.password} -P "\[sudo\] password" nixos-rebuild switch -I nixos-config=/root/configuration-3.nix --target-host bob@target --sudo &>/dev/console') target_hostname = deployer.succeed("ssh alice@target cat /etc/hostname").rstrip() assert target_hostname == "config-3-deployed", f"{target_hostname=}" diff --git a/nixos/tests/opensnitch.nix b/nixos/tests/opensnitch.nix index 3f279037df2e..46366b8ec5c1 100644 --- a/nixos/tests/opensnitch.nix +++ b/nixos/tests/opensnitch.nix @@ -34,6 +34,7 @@ in enable = true; settings.DefaultAction = "deny"; settings.ProcMonitorMethod = m; + settings.LogLevel = 0; }; } ) monitorMethods @@ -46,6 +47,7 @@ in enable = true; settings.DefaultAction = "deny"; settings.ProcMonitorMethod = m; + settings.LogLevel = 0; rules = { curl = { name = "curl"; diff --git a/nixos/tests/opentelemetry-collector.nix b/nixos/tests/opentelemetry-collector.nix index df319e5c7df9..5498bbdd5fa9 100644 --- a/nixos/tests/opentelemetry-collector.nix +++ b/nixos/tests/opentelemetry-collector.nix @@ -15,14 +15,14 @@ in services.opentelemetry-collector = { enable = true; settings = { - exporters.logging.verbosity = "detailed"; + exporters.debug.verbosity = "detailed"; receivers.otlp.protocols = { http.endpoint = "0.0.0.0:${toString port}"; }; service = { pipelines.logs = { receivers = [ "otlp" ]; - exporters = [ "logging" ]; + exporters = [ "debug" ]; }; }; }; diff --git a/nixos/tests/pantheon-wayland.nix b/nixos/tests/pantheon-wayland.nix index 6bda9e508ef2..87c8b17a692c 100644 --- a/nixos/tests/pantheon-wayland.nix +++ b/nixos/tests/pantheon-wayland.nix @@ -78,6 +78,8 @@ machine.succeed(f"{cmd} | grep 'XDG_DATA_DIRS' | grep 'gsettings-schemas/pantheon-agent-geoclue2'") # Hopefully from login shell. machine.succeed(f"{cmd} | grep '__NIXOS_SET_ENVIRONMENT_DONE' | grep '1'") + # Hopefully from gcr-ssh-agent. + machine.succeed(f"{cmd} | grep 'SSH_AUTH_SOCK' | grep 'gcr'") with subtest("Wait for elementary videos autostart"): machine.wait_until_succeeds("pgrep -f io.elementary.videos") diff --git a/nixos/tests/pantheon.nix b/nixos/tests/pantheon.nix index b8cb0512c542..855d0f48f80c 100644 --- a/nixos/tests/pantheon.nix +++ b/nixos/tests/pantheon.nix @@ -73,6 +73,8 @@ machine.succeed(f"{cmd} | grep 'XDG_DATA_DIRS' | grep 'gsettings-schemas/pantheon-agent-geoclue2'") # Hopefully from login shell. machine.succeed(f"{cmd} | grep '__NIXOS_SET_ENVIRONMENT_DONE' | grep '1'") + # Hopefully from gcr-ssh-agent. + machine.succeed(f"{cmd} | grep 'SSH_AUTH_SOCK' | grep 'gcr'") with subtest("Open elementary videos"): machine.execute("su - ${user.name} -c 'DISPLAY=:0 io.elementary.videos >&2 &'") diff --git a/nixos/tests/paretosecurity.nix b/nixos/tests/paretosecurity.nix index 4bafcf1c1f8c..4a0f00e66000 100644 --- a/nixos/tests/paretosecurity.nix +++ b/nixos/tests/paretosecurity.nix @@ -19,20 +19,20 @@ oldAttrs.postPatch or "" + '' substituteInPlace team/report.go \ - --replace-warn 'const reportURL = "https://dash.paretosecurity.com"' \ - 'const reportURL = "http://dashboard"' + --replace-warn 'const reportURL = "https://cloud.paretosecurity.com"' \ + 'const reportURL = "http://cloud"' ''; }); }; }; - nodes.dashboard = { + nodes.cloud = { networking.firewall.allowedTCPPorts = [ 80 ]; services.nginx = { enable = true; - virtualHosts."dashboard" = { + virtualHosts."cloud" = { locations."/api/v1/team/".extraConfig = '' add_header Content-Type application/json; return 200 '{"message": "Linked device."}'; @@ -72,7 +72,7 @@ testScript = '' # Test setup terminal.succeed("su - alice -c 'mkdir -p /home/alice/.config'") - for m in [terminal, dashboard]: + for m in [terminal, cloud]: m.systemctl("start network-online.target") m.wait_for_unit("network-online.target") diff --git a/nixos/tests/postfix-tlspol.nix b/nixos/tests/postfix-tlspol.nix new file mode 100644 index 000000000000..0c76257f6a5a --- /dev/null +++ b/nixos/tests/postfix-tlspol.nix @@ -0,0 +1,29 @@ +{ + lib, + ... +}: +{ + name = "postfix-tlspol"; + + meta.maintainers = with lib.maintainers; [ hexa ]; + + nodes.machine = { + services.postfix-tlspol.enable = true; + }; + + enableOCR = true; + + testScript = '' + import json + + machine.wait_for_unit("postfix-tlspol.service") + + with subtest("Interact with the service"): + machine.succeed("postfix-tlspol -purge") + + response = json.loads((machine.succeed("postfix-tlspol -query localhost"))) + machine.log(json.dumps(response, indent=2)) + + ''; + +} diff --git a/nixos/tests/postfix.nix b/nixos/tests/postfix.nix index 674a7656079f..36a2b03469d6 100644 --- a/nixos/tests/postfix.nix +++ b/nixos/tests/postfix.nix @@ -14,8 +14,10 @@ import ./make-test-python.nix { enableSubmission = true; enableSubmissions = true; tlsTrustedAuthorities = "${certs.ca.cert}"; - sslCert = "${certs.${domain}.cert}"; - sslKey = "${certs.${domain}.key}"; + config.smtpd_tls_chain_files = [ + certs.${domain}.key + certs.${domain}.cert + ]; submissionsOptions = { smtpd_sasl_auth_enable = "yes"; smtpd_client_restrictions = "permit"; diff --git a/nixos/tests/postgresql/pgjwt.nix b/nixos/tests/postgresql/pgjwt.nix index 9a5e12bc3d7d..7ba246a778f6 100644 --- a/nixos/tests/postgresql/pgjwt.nix +++ b/nixos/tests/postgresql/pgjwt.nix @@ -14,7 +14,6 @@ let meta = with lib.maintainers; { maintainers = [ spinus - willibutz ]; }; diff --git a/nixos/tests/printing.nix b/nixos/tests/printing.nix index 890bc207a326..f7e414100ed7 100644 --- a/nixos/tests/printing.nix +++ b/nixos/tests/printing.nix @@ -14,7 +14,6 @@ in name = "printing"; meta = with lib.maintainers; { maintainers = [ - domenkozar matthewbauer ]; }; diff --git a/nixos/tests/prometheus-exporters.nix b/nixos/tests/prometheus-exporters.nix index ef356dbc7bb1..9cc455466bdf 100644 --- a/nixos/tests/prometheus-exporters.nix +++ b/nixos/tests/prometheus-exporters.nix @@ -1905,9 +1905,7 @@ mapAttrs ( ${nodeName}.shutdown() ''; - meta = with maintainers; { - maintainers = [ willibutz ]; - }; + meta.maintainers = [ ]; } )) ) exporterTests diff --git a/nixos/tests/prometheus/prometheus-pair.nix b/nixos/tests/prometheus/prometheus-pair.nix index 6d8d5900480f..48300f926858 100644 --- a/nixos/tests/prometheus/prometheus-pair.nix +++ b/nixos/tests/prometheus/prometheus-pair.nix @@ -14,6 +14,9 @@ services.prometheus = { enable = true; globalConfig.scrape_interval = "2s"; + extraFlags = [ + "--storage.tsdb.min-block-duration=15s" + ]; scrapeConfigs = [ { job_name = "prometheus"; @@ -40,6 +43,9 @@ services.prometheus = { enable = true; globalConfig.scrape_interval = "2s"; + extraFlags = [ + "--storage.tsdb.min-block-duration=15s" + ]; scrapeConfigs = [ { job_name = "prometheus"; @@ -86,6 +92,38 @@ + "jq '.data.result[0].value[1]' | grep '\"2\"'" ) + machine.wait_until_succeeds( + "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=prometheus_tsdb_head_series_created_total\{instance=\"prometheus1:9090\"\}' | " + + "jq '.data.result[0].value[1]' | grep -v '\"0\"'" + ) + + with subtest("Compaction verification"): + for machine in prometheus1, prometheus2: + machine.wait_until_succeeds("journalctl -o cat -u prometheus.service | grep -E '(log=ERROR|write block)'") + + machine.wait_until_succeeds("journalctl -o cat -u prometheus.service | grep 'Head GC completed'") + + machine.wait_until_succeeds("journalctl -o cat -u prometheus.service | grep 'Creating checkpoint'") + + machine.wait_until_succeeds("journalctl -o cat -u prometheus.service | grep 'WAL checkpoint complete'") + + machine.wait_until_succeeds("journalctl -o cat -u prometheus.service | grep 'compact blocks'") + + machine.wait_until_succeeds("journalctl -o cat -u prometheus.service | grep 'Deleting obsolete block'") + + machine.wait_until_succeeds( + "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=prometheus_tsdb_compactions_total\{instance=\"prometheus1:9090\"\}' | " + + "jq '.data.result[0].value[1]' | grep -v '\"0\"'" + ) + + machine.wait_until_succeeds( + "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=prometheus_tsdb_compactions_failed_total\{instance=\"prometheus1:9090\"\}' | " + + "jq '.data.result[0].value[1]' | grep '\"0\"'" + ) + + for machine in prometheus1, prometheus2: + machine.fail("journalctl -o cat -u prometheus.service | grep 'level=ERROR'") + prometheus1.log(prometheus1.succeed("systemd-analyze security prometheus.service | grep -v '✓'")) ''; } diff --git a/nixos/tests/quake3.nix b/nixos/tests/quake3.nix index 67867796be56..8171b09dbd65 100644 --- a/nixos/tests/quake3.nix +++ b/nixos/tests/quake3.nix @@ -31,7 +31,7 @@ let in { name = "quake3"; - meta.maintainers = with lib.maintainers; [ domenkozar ]; + meta.maintainers = with lib.maintainers; [ ]; node.pkgsReadOnly = false; diff --git a/nixos/tests/scion/freestanding-deployment/topology1.json b/nixos/tests/scion/freestanding-deployment/topology1.json index de51515eebc2..9494121421a0 100644 --- a/nixos/tests/scion/freestanding-deployment/topology1.json +++ b/nixos/tests/scion/freestanding-deployment/topology1.json @@ -1,4 +1,5 @@ { + "dispatched_ports": "31000-32767", "attributes": [ "core" ], diff --git a/nixos/tests/scion/freestanding-deployment/topology2.json b/nixos/tests/scion/freestanding-deployment/topology2.json index f8e10d5d1f75..d576ea6ed307 100644 --- a/nixos/tests/scion/freestanding-deployment/topology2.json +++ b/nixos/tests/scion/freestanding-deployment/topology2.json @@ -1,4 +1,5 @@ { + "dispatched_ports": "31000-32767", "attributes": [ "core" ], diff --git a/nixos/tests/scion/freestanding-deployment/topology3.json b/nixos/tests/scion/freestanding-deployment/topology3.json index 53cee431885b..8f9a8bd260a9 100644 --- a/nixos/tests/scion/freestanding-deployment/topology3.json +++ b/nixos/tests/scion/freestanding-deployment/topology3.json @@ -1,4 +1,5 @@ { + "dispatched_ports": "31000-32767", "attributes": [ "core" ], diff --git a/nixos/tests/scion/freestanding-deployment/topology4.json b/nixos/tests/scion/freestanding-deployment/topology4.json index 0526c1f1edd6..6dc847b1711d 100644 --- a/nixos/tests/scion/freestanding-deployment/topology4.json +++ b/nixos/tests/scion/freestanding-deployment/topology4.json @@ -1,4 +1,5 @@ { + "dispatched_ports": "31000-32767", "attributes": [], "isd_as": "42-ffaa:1:4", "mtu": 1472, diff --git a/nixos/tests/scion/freestanding-deployment/topology5.json b/nixos/tests/scion/freestanding-deployment/topology5.json index 1326bd3c2955..8bbb2eac72fc 100644 --- a/nixos/tests/scion/freestanding-deployment/topology5.json +++ b/nixos/tests/scion/freestanding-deployment/topology5.json @@ -1,4 +1,5 @@ { + "dispatched_ports": "31000-32767", "attributes": [], "isd_as": "42-ffaa:1:5", "mtu": 1472, diff --git a/nixos/tests/slurm.nix b/nixos/tests/slurm.nix index cac0a671ca8b..1747e714117a 100644 --- a/nixos/tests/slurm.nix +++ b/nixos/tests/slurm.nix @@ -118,12 +118,6 @@ in name = "slurm"; } ]; - settings.mysqld = { - # recommendations from: https://slurm.schedmd.com/accounting.html#mysql-configuration - innodb_buffer_pool_size = "1024M"; - innodb_log_file_size = "64M"; - innodb_lock_wait_timeout = 900; - }; }; }; diff --git a/nixos/tests/sway.nix b/nixos/tests/sway.nix index a79e692d24cb..b8634cf482b6 100644 --- a/nixos/tests/sway.nix +++ b/nixos/tests/sway.nix @@ -181,14 +181,18 @@ machine.send_key("alt-shift-q") machine.wait_until_fails("pgrep --exact gpg") - # Test swaynag: - def get_height(): - return [node['rect']['height'] for node in walk(swaymsg(type="get_tree")) if node['focused']][0] - before = get_height() - machine.send_key("alt-shift-e") - retry(lambda _: get_height() < before) - machine.screenshot("sway_exit") + ${lib.optionalString pkgs.stdenv.hostPlatform.isx86_64 '' + # Test swaynag: + # Broken on aarch64-linux, see https://github.com/NixOS/nixpkgs/issues/416217 + def get_height(): + return [node['rect']['height'] for node in walk(swaymsg(type="get_tree")) if node['focused']][0] + + before = get_height() + machine.send_key("alt-shift-e") + retry(lambda _: get_height() < before) + machine.screenshot("sway_exit") + ''} swaymsg("exec swaylock") machine.wait_until_succeeds("pgrep -xf swaylock") diff --git a/nixos/tests/switch-test.nix b/nixos/tests/switch-test.nix index daf605f64667..18defdfc9d76 100644 --- a/nixos/tests/switch-test.nix +++ b/nixos/tests/switch-test.nix @@ -663,7 +663,7 @@ in ''; # Returns a comma separated representation of the given list in sorted - # order, that matches the output format of switch-to-configuration.pl + # order, that matches the output format of switch-to-configuration sortedUnits = xs: lib.concatStringsSep ", " (builtins.sort builtins.lessThan xs); dbusService = diff --git a/nixos/tests/szurubooru.nix b/nixos/tests/szurubooru.nix new file mode 100644 index 000000000000..adcfecdbf34b --- /dev/null +++ b/nixos/tests/szurubooru.nix @@ -0,0 +1,52 @@ +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "szurubooru"; + meta.maintainers = with lib.maintainers; [ ratcornu ]; + + nodes.machine = + let + dbpass = "changeme"; + in + + { config, ... }: + { + services.postgresql = { + enable = true; + initialScript = pkgs.writeText "init.sql" '' + CREATE USER ${config.services.szurubooru.database.user} WITH PASSWORD '${dbpass}'; + CREATE DATABASE ${config.services.szurubooru.database.name} WITH OWNER ${config.services.szurubooru.database.user}; + ''; + }; + + services.szurubooru = { + enable = true; + + dataDir = "/var/lib/szurubooru"; + + server = { + port = 6666; + settings = { + domain = "http://127.0.0.1"; + secretFile = pkgs.writeText "secret" "secret"; + debug = 1; + }; + }; + + database = { + host = "localhost"; + port = 5432; + name = "szurubooru"; + user = "szurubooru"; + passwordFile = pkgs.writeText "pass" "${dbpass}"; + }; + }; + }; + + testScript = '' + machine.wait_for_unit("szurubooru.service") + machine.wait_for_open_port(6666) + machine.succeed('curl -H "Content-Type: application/json" -H "Accept: application/json" --fail http://127.0.0.1:6666/info') + ''; + } +) diff --git a/nixos/tests/teleports.nix b/nixos/tests/teleports.nix index 613ad5a7fc84..84a880f9ad50 100644 --- a/nixos/tests/teleports.nix +++ b/nixos/tests/teleports.nix @@ -36,7 +36,7 @@ with subtest("teleports launches"): machine.succeed("teleports >&2 &") machine.wait_for_console_text("authorizationStateWaitPhoneNumber") - machine.send_key("alt-f10") + # Not fullscreening, because main app colour makes OCR stuck machine.sleep(2) machine.wait_for_text(r"(TELEports|Phone Number)") machine.screenshot("teleports_open") @@ -46,7 +46,7 @@ with subtest("teleports localisation works"): machine.succeed("env LANG=de_DE.UTF-8 teleports >&2 &") machine.wait_for_console_text("authorizationStateWaitPhoneNumber") - machine.send_key("alt-f10") + # Not fullscreening, because main app colour makes OCR stuck machine.sleep(2) machine.wait_for_text("Telefonnummer") machine.screenshot("teleports_localised") diff --git a/nixos/tests/tlsrpt.nix b/nixos/tests/tlsrpt.nix new file mode 100644 index 000000000000..d93ac78b5240 --- /dev/null +++ b/nixos/tests/tlsrpt.nix @@ -0,0 +1,42 @@ +{ + pkgs, + ... +}: + +{ + name = "tlsrpt"; + + meta = { + inherit (pkgs.tlsrpt-reporter.meta) maintainers; + }; + + nodes.machine = { + services.tlsrpt = { + enable = true; + reportd.settings = { + organization_name = "NixOS Testers United"; + contact_info = "smtp-tls-report@localhost"; + sender_address = "noreply@localhost"; + }; + }; + + # To test the postfix integration + services.postfix.enable = true; + }; + + testScript = '' + machine.wait_for_unit("tlsrpt-collectd.service") + machine.wait_for_unit("tlsrpt-reportd.service") + + machine.wait_for_file("/run/tlsrpt/collectd.sock") + machine.wait_until_succeeds("journalctl -o cat -u tlsrpt-collectd | grep -Pq 'Database .* setup finished'") + machine.wait_until_succeeds("journalctl -o cat -u tlsrpt-reportd | grep -Pq 'Database .* setup finished'") + machine.wait_until_succeeds("journalctl -o cat -u tlsrpt-reportd | grep -Pq 'Fetcher .* finished'") + + # Enabling postfix should put sendmail as the sendmail setting + machine.succeed("grep -q sendmail_script=sendmail /etc/tlsrpt/reportd.cfg") + machine.succeed("systemctl show --property SupplementaryGroups postfix.service | grep tlsrpt") + + machine.log(machine.succeed("systemd-analyze security tlsrpt-collectd.service tlsrpt-reportd.service | grep -v ✓")) + ''; +} diff --git a/nixos/tests/vector/api.nix b/nixos/tests/vector/api.nix index e67097ee9428..84a140fda9e3 100644 --- a/nixos/tests/vector/api.nix +++ b/nixos/tests/vector/api.nix @@ -1,45 +1,43 @@ -import ../make-test-python.nix ( - { lib, pkgs, ... }: +{ lib, pkgs, ... }: - { - name = "vector-api"; - meta.maintainers = [ pkgs.lib.maintainers.happysalada ]; +{ + name = "vector-api"; + meta.maintainers = [ pkgs.lib.maintainers.happysalada ]; - nodes.machineapi = - { config, pkgs, ... }: - { - services.vector = { - enable = true; - journaldAccess = false; - settings = { - api.enabled = true; + nodes.machineapi = + { config, pkgs, ... }: + { + services.vector = { + enable = true; + journaldAccess = false; + settings = { + api.enabled = true; - sources = { - demo_logs = { - type = "demo_logs"; - format = "json"; - }; + sources = { + demo_logs = { + type = "demo_logs"; + format = "json"; }; + }; - sinks = { - file = { - type = "file"; - inputs = [ "demo_logs" ]; - path = "/var/lib/vector/logs.log"; - encoding = { - codec = "json"; - }; + sinks = { + file = { + type = "file"; + inputs = [ "demo_logs" ]; + path = "/var/lib/vector/logs.log"; + encoding = { + codec = "json"; }; }; }; }; }; + }; - testScript = '' - machineapi.wait_for_unit("vector") - machineapi.wait_for_open_port(8686) - machineapi.succeed("journalctl -o cat -u vector.service | grep 'API server running'") - machineapi.wait_until_succeeds("curl -sSf http://localhost:8686/health") - ''; - } -) + testScript = '' + machineapi.wait_for_unit("vector") + machineapi.wait_for_open_port(8686) + machineapi.succeed("journalctl -o cat -u vector.service | grep 'API server running'") + machineapi.wait_until_succeeds("curl -sSf http://localhost:8686/health") + ''; +} diff --git a/nixos/tests/vector/caddy-clickhouse.nix b/nixos/tests/vector/caddy-clickhouse.nix new file mode 100644 index 000000000000..c1b478f3648c --- /dev/null +++ b/nixos/tests/vector/caddy-clickhouse.nix @@ -0,0 +1,206 @@ +{ lib, pkgs, ... }: + +{ + name = "vector-caddy-clickhouse"; + meta.maintainers = [ pkgs.lib.maintainers.happysalada ]; + + nodes = { + caddy = + { config, pkgs, ... }: + { + networking.firewall.allowedTCPPorts = [ 80 ]; + + services.caddy = { + enable = true; + virtualHosts = { + "http://caddy" = { + extraConfig = '' + encode gzip + + file_server + root /srv + ''; + logFormat = " + output file ${config.services.caddy.logDir}/access-caddy.log { + mode 0640 + } + "; + }; + }; + }; + + systemd.services.vector.serviceConfig = { + SupplementaryGroups = [ "caddy" ]; + }; + + services.vector = { + enable = true; + + settings = { + sources = { + caddy-log = { + type = "file"; + include = [ "/var/log/caddy/*.log" ]; + }; + }; + + transforms = { + caddy_logs_timestamp = { + type = "remap"; + inputs = [ "caddy-log" ]; + source = '' + .tmp_timestamp, err = parse_json!(.message).ts * 1000000 + + if err != null { + log("Unable to parse ts value: " + err, level: "error") + } else { + .timestamp = from_unix_timestamp!(to_int!(.tmp_timestamp), unit: "microseconds") + } + + del(.tmp_timestamp) + ''; + }; + }; + + sinks = { + vector_sink = { + type = "vector"; + inputs = [ "caddy_logs_timestamp" ]; + address = "clickhouse:6000"; + }; + }; + }; + }; + }; + + client = + { config, pkgs, ... }: + { + environment.systemPackages = [ pkgs.curl ]; + }; + + clickhouse = + { config, pkgs, ... }: + { + virtualisation.memorySize = 4096; + + networking.firewall.allowedTCPPorts = [ 6000 ]; + + services.vector = { + enable = true; + + settings = { + sources = { + vector_source = { + type = "vector"; + address = "[::]:6000"; + }; + }; + + sinks = { + clickhouse = { + type = "clickhouse"; + inputs = [ + "vector_source" + ]; + endpoint = "http://localhost:8123"; + database = "caddy"; + table = "access_logs"; + date_time_best_effort = true; + skip_unknown_fields = true; + }; + }; + }; + + }; + + services.clickhouse = { + enable = true; + }; + }; + }; + + testScript = + let + # work around quote/substitution complexity by Nix, Perl, bash and SQL. + databaseDDL = pkgs.writeText "database.sql" "CREATE DATABASE IF NOT EXISTS caddy"; + + tableDDL = pkgs.writeText "table.sql" '' + CREATE TABLE IF NOT EXISTS caddy.access_logs ( + timestamp DateTime64(6), + host LowCardinality(String), + message String, + ) + ENGINE = MergeTree() + ORDER BY timestamp + PARTITION BY toYYYYMM(timestamp) + ''; + + tableViewBase = pkgs.writeText "table-view-base.sql" '' + CREATE TABLE IF NOT EXISTS caddy.access_logs_view_base ( + timestamp DateTime64(6), + host LowCardinality(String), + request JSON, + status UInt16, + ) + ENGINE = MergeTree() + ORDER BY timestamp + PARTITION BY toYYYYMM(timestamp) + ''; + + tableView = pkgs.writeText "table-view.sql" '' + CREATE MATERIALIZED VIEW IF NOT EXISTS caddy.access_logs_view TO caddy.access_logs_view_base + AS SELECT + timestamp, + host, + simpleJSONExtractRaw(message, 'request') AS request, + simpleJSONExtractRaw(message, 'status') AS status + FROM caddy.access_logs; + ''; + + selectQuery = pkgs.writeText "select.sql" '' + SELECT + timestamp, + request.host, + request.remote_ip, + request.proto, + request.method, + request.uri, + status + FROM caddy.access_logs_view_base + WHERE request.uri LIKE '%test-uri%' + FORMAT Pretty + ''; + in + '' + clickhouse.wait_for_unit("clickhouse") + clickhouse.wait_for_unit("vector") + clickhouse.wait_for_open_port(6000) + clickhouse.wait_for_open_port(8123) + + clickhouse.succeed( + "cat ${databaseDDL} | clickhouse-client", + "cat ${tableDDL} | clickhouse-client", + "cat ${tableViewBase} | clickhouse-client", + "cat ${tableView} | clickhouse-client", + ) + + caddy.wait_for_unit("caddy") + caddy.wait_for_open_port(80) + caddy.wait_for_unit("vector") + caddy.wait_until_succeeds( + "journalctl -o cat -u vector.service | grep 'Vector has started'" + ) + + client.systemctl("start network-online.target") + client.wait_until_succeeds("curl http://caddy/test-uri") + + caddy.wait_until_succeeds( + "journalctl -o cat -u vector.service | grep 'Found new file to watch. file=/var/log/caddy/access-caddy.log'" + ) + + clickhouse.wait_until_succeeds( + "cat ${selectQuery} | clickhouse-client | grep test-uri" + ) + ''; +} diff --git a/nixos/tests/vector/default.nix b/nixos/tests/vector/default.nix index 764689d5cb03..360fbd9a716f 100644 --- a/nixos/tests/vector/default.nix +++ b/nixos/tests/vector/default.nix @@ -1,14 +1,11 @@ -{ - system ? builtins.currentSystem, - config ? { }, - pkgs ? import ../../.. { inherit system config; }, -}: +{ runTest }: { - file-sink = import ./file-sink.nix { inherit system pkgs; }; - api = import ./api.nix { inherit system pkgs; }; - dnstap = import ./dnstap.nix { inherit system pkgs; }; - journald-clickhouse = import ./journald-clickhouse.nix { inherit system pkgs; }; - nginx-clickhouse = import ./nginx-clickhouse.nix { inherit system pkgs; }; - syslog-quickwit = import ./syslog-quickwit.nix { inherit system pkgs; }; + file-sink = runTest ./file-sink.nix; + api = runTest ./api.nix; + caddy-clickhouse = runTest ./caddy-clickhouse.nix; + dnstap = runTest ./dnstap.nix; + journald-clickhouse = runTest ./journald-clickhouse.nix; + nginx-clickhouse = runTest ./nginx-clickhouse.nix; + syslog-quickwit = runTest ./syslog-quickwit.nix; } diff --git a/nixos/tests/vector/dnstap.nix b/nixos/tests/vector/dnstap.nix index ec20ce1f6a1d..02d40907f8af 100644 --- a/nixos/tests/vector/dnstap.nix +++ b/nixos/tests/vector/dnstap.nix @@ -1,106 +1,210 @@ -import ../make-test-python.nix ( - { lib, pkgs, ... }: +{ lib, pkgs, ... }: - let - dnstapSocket = "/var/run/vector/dnstap.sock"; - in - { - name = "vector-dnstap"; - meta.maintainers = [ pkgs.lib.maintainers.happysalada ]; +let + dnstapSocket = "/var/run/vector/dnstap.sock"; +in +{ + name = "vector-dnstap"; + meta.maintainers = [ pkgs.lib.maintainers.happysalada ]; - nodes = { - unbound = - { config, pkgs, ... }: - { - networking.firewall.allowedUDPPorts = [ 53 ]; + nodes = { + clickhouse = + { config, pkgs, ... }: + { + networking.firewall.allowedTCPPorts = [ 6000 ]; - services.vector = { - enable = true; + services.vector = { + enable = true; - settings = { - sources = { - dnstap = { - type = "dnstap"; - multithreaded = true; - mode = "unix"; - lowercase_hostnames = true; - socket_file_mode = 504; - socket_path = "${dnstapSocket}"; - }; + settings = { + sources = { + vector_dnstap_source = { + type = "vector"; + address = "[::]:6000"; }; + }; - sinks = { - file = { - type = "file"; - inputs = [ "dnstap" ]; - path = "/var/lib/vector/logs.log"; - encoding = { - codec = "json"; - }; - }; + sinks = { + clickhouse = { + type = "clickhouse"; + inputs = [ + "vector_dnstap_source" + ]; + endpoint = "http://localhost:8123"; + database = "dnstap"; + table = "records"; + date_time_best_effort = true; }; }; }; + }; - systemd.services.vector.serviceConfig = { - RuntimeDirectory = "vector"; - RuntimeDirectoryMode = "0770"; - }; + services.clickhouse.enable = true; + }; - services.unbound = { - enable = true; - enableRootTrustAnchor = false; - package = pkgs.unbound-full; - settings = { - server = { - interface = [ - "0.0.0.0" - "::" - ]; - access-control = [ - "192.168.0.0/24 allow" - "::/0 allow" - ]; + unbound = + { config, pkgs, ... }: + { + networking.firewall.allowedUDPPorts = [ 53 ]; - domain-insecure = "local"; - private-domain = "local"; - - local-zone = "local. static"; - local-data = [ - ''"test.local. 10800 IN A 192.168.123.5"'' - ]; - }; + services.vector = { + enable = true; + settings = { + sources = { dnstap = { - dnstap-enable = "yes"; - dnstap-socket-path = "${dnstapSocket}"; - dnstap-send-identity = "yes"; - dnstap-send-version = "yes"; - dnstap-log-client-query-messages = "yes"; - dnstap-log-client-response-messages = "yes"; + type = "dnstap"; + multithreaded = true; + mode = "unix"; + lowercase_hostnames = true; + socket_file_mode = 504; + socket_path = "${dnstapSocket}"; + }; + }; + + sinks = { + file = { + type = "file"; + inputs = [ "dnstap" ]; + path = "/var/lib/vector/logs.log"; + encoding = { + codec = "json"; + }; + }; + + vector_dnstap_sink = { + type = "vector"; + inputs = [ "dnstap" ]; + address = "clickhouse:6000"; }; }; }; + }; - systemd.services.unbound = { - after = [ "vector.service" ]; - wants = [ "vector.service" ]; - serviceConfig = { - # DNSTAP access - ReadWritePaths = [ "/var/run/vector" ]; - SupplementaryGroups = [ "vector" ]; + systemd.services.vector.serviceConfig = { + RuntimeDirectory = "vector"; + RuntimeDirectoryMode = "0770"; + }; + + services.unbound = { + enable = true; + enableRootTrustAnchor = false; + package = pkgs.unbound-full; + settings = { + server = { + interface = [ + "0.0.0.0" + "::" + ]; + access-control = [ + "192.168.0.0/24 allow" + "::/0 allow" + ]; + + domain-insecure = "local"; + private-domain = "local"; + + local-zone = "local. static"; + local-data = [ + ''"test.local. 10800 IN A 192.168.123.5"'' + ]; + }; + + dnstap = { + dnstap-enable = "yes"; + dnstap-socket-path = "${dnstapSocket}"; + dnstap-send-identity = "yes"; + dnstap-send-version = "yes"; + dnstap-log-client-query-messages = "yes"; + dnstap-log-client-response-messages = "yes"; }; }; }; - dnsclient = - { config, pkgs, ... }: - { - environment.systemPackages = [ pkgs.dig ]; + systemd.services.unbound = { + after = [ "vector.service" ]; + wants = [ "vector.service" ]; + serviceConfig = { + # DNSTAP access + ReadWritePaths = [ "/var/run/vector" ]; + SupplementaryGroups = [ "vector" ]; + }; }; - }; + }; + + dnsclient = + { config, pkgs, ... }: + { + environment.systemPackages = [ pkgs.dig ]; + }; + }; + + testScript = + let + # work around quote/substitution complexity by Nix, Perl, bash and SQL. + databaseDDL = pkgs.writeText "database.sql" "CREATE DATABASE IF NOT EXISTS dnstap"; + + tableDDL = pkgs.writeText "table.sql" '' + CREATE TABLE IF NOT EXISTS dnstap.records ( + timestamp DateTime64(6), + dataType LowCardinality(String), + dataTypeId UInt8, + messageType LowCardinality(String), + messageTypeId UInt8, + requestData Nullable(JSON), + responseData Nullable(JSON), + responsePort UInt16, + serverId LowCardinality(String), + serverVersion LowCardinality(String), + socketFamily LowCardinality(String), + socketProtocol LowCardinality(String), + sourceAddress String, + sourcePort UInt16, + ) + ENGINE = MergeTree() + ORDER BY (serverId, timestamp) + PARTITION BY toYYYYMM(timestamp) + ''; + + tableView = pkgs.writeText "view.sql" '' + CREATE MATERIALIZED VIEW dnstap.domains_view ( + timestamp DateTime64(6), + serverId LowCardinality(String), + domain String, + record_type LowCardinality(String) + ) + ENGINE = MergeTree() + PARTITION BY toYYYYMM(timestamp) + ORDER BY (serverId, timestamp) + POPULATE AS + SELECT + timestamp, + serverId, + JSONExtractString(requestData.question[1]::String, 'domainName') as domain, + JSONExtractString(requestData.question[1]::String, 'questionType') as record_type + FROM dnstap.records + WHERE messageTypeId = 5 # ClientQuery + ''; + + selectQuery = pkgs.writeText "select.sql" '' + SELECT + domain, + count(domain) + FROM dnstap.domains_view + GROUP BY domain + ''; + in + '' + clickhouse.wait_for_unit("clickhouse") + clickhouse.wait_for_open_port(6000) + clickhouse.wait_for_open_port(8123) + + clickhouse.succeed( + "cat ${databaseDDL} | clickhouse-client", + "cat ${tableDDL} | clickhouse-client", + "cat ${tableView} | clickhouse-client", + ) - testScript = '' unbound.wait_for_unit("unbound") unbound.wait_for_unit("vector") @@ -128,6 +232,9 @@ import ../make-test-python.nix ( unbound.wait_until_succeeds( "grep ClientResponse /var/lib/vector/logs.log | grep '\"domainName\":\"test.local.\"' | grep '\"rData\":\"192.168.123.5\"'" ) + + clickhouse.log(clickhouse.wait_until_succeeds( + "cat ${selectQuery} | clickhouse-client | grep 'test.local.'" + )) ''; - } -) +} diff --git a/nixos/tests/vector/file-sink.nix b/nixos/tests/vector/file-sink.nix index 999e8d58443c..13389717dcfc 100644 --- a/nixos/tests/vector/file-sink.nix +++ b/nixos/tests/vector/file-sink.nix @@ -1,58 +1,56 @@ -import ../make-test-python.nix ( - { lib, pkgs, ... }: +{ lib, pkgs, ... }: - { - name = "vector-test1"; - meta.maintainers = [ pkgs.lib.maintainers.happysalada ]; +{ + name = "vector-test1"; + meta.maintainers = [ pkgs.lib.maintainers.happysalada ]; - nodes.machine = - { config, pkgs, ... }: - { - services.vector = { - enable = true; - journaldAccess = true; - settings = { - sources = { - journald.type = "journald"; + nodes.machine = + { config, pkgs, ... }: + { + services.vector = { + enable = true; + journaldAccess = true; + settings = { + sources = { + journald.type = "journald"; - vector_metrics.type = "internal_metrics"; + vector_metrics.type = "internal_metrics"; - vector_logs.type = "internal_logs"; + vector_logs.type = "internal_logs"; + }; + + sinks = { + file = { + type = "file"; + inputs = [ + "journald" + "vector_logs" + ]; + path = "/var/lib/vector/logs.log"; + encoding = { + codec = "json"; + }; }; - sinks = { - file = { - type = "file"; - inputs = [ - "journald" - "vector_logs" - ]; - path = "/var/lib/vector/logs.log"; - encoding = { - codec = "json"; - }; - }; - - prometheus_exporter = { - type = "prometheus_exporter"; - inputs = [ "vector_metrics" ]; - address = "[::]:9598"; - }; + prometheus_exporter = { + type = "prometheus_exporter"; + inputs = [ "vector_metrics" ]; + address = "[::]:9598"; }; }; }; }; + }; - # ensure vector is forwarding the messages appropriately - testScript = '' - machine.wait_for_unit("vector.service") - machine.wait_for_open_port(9598) - machine.wait_until_succeeds("journalctl -o cat -u vector.service | grep 'version=\"${pkgs.vector.version}\"'") - machine.wait_until_succeeds("journalctl -o cat -u vector.service | grep 'API is disabled'") - machine.wait_until_succeeds("curl -sSf http://localhost:9598/metrics | grep vector_build_info") - machine.wait_until_succeeds("curl -sSf http://localhost:9598/metrics | grep vector_component_received_bytes_total | grep journald") - machine.wait_until_succeeds("curl -sSf http://localhost:9598/metrics | grep vector_utilization | grep prometheus_exporter") - machine.wait_for_file("/var/lib/vector/logs.log") - ''; - } -) + # ensure vector is forwarding the messages appropriately + testScript = '' + machine.wait_for_unit("vector.service") + machine.wait_for_open_port(9598) + machine.wait_until_succeeds("journalctl -o cat -u vector.service | grep 'version=\"${pkgs.vector.version}\"'") + machine.wait_until_succeeds("journalctl -o cat -u vector.service | grep 'API is disabled'") + machine.wait_until_succeeds("curl -sSf http://localhost:9598/metrics | grep vector_build_info") + machine.wait_until_succeeds("curl -sSf http://localhost:9598/metrics | grep vector_component_received_bytes_total | grep journald") + machine.wait_until_succeeds("curl -sSf http://localhost:9598/metrics | grep vector_utilization | grep prometheus_exporter") + machine.wait_for_file("/var/lib/vector/logs.log") + ''; +} diff --git a/nixos/tests/vector/journald-clickhouse.nix b/nixos/tests/vector/journald-clickhouse.nix index 6979ed5a9c87..b0ca516306ea 100644 --- a/nixos/tests/vector/journald-clickhouse.nix +++ b/nixos/tests/vector/journald-clickhouse.nix @@ -1,157 +1,155 @@ -import ../make-test-python.nix ( - { lib, pkgs, ... }: - let - # Take the original journald message and create a new payload which only - # contains the relevant fields - these must match the database columns. - journalVrlRemapTransform = { - journald_remap = { - inputs = [ "journald" ]; - type = "remap"; - source = '' - m = {} - m.app = .SYSLOG_IDENTIFIER - m.host = .host - m.severity = to_int(.PRIORITY) ?? 0 - m.level = to_syslog_level(m.severity) ?? "" - m.message = strip_ansi_escape_codes!(.message) - m.timestamp = .timestamp - m.uid = to_int(._UID) ?? 0 - m.pid = to_int(._PID) ?? 0 - . = [m] - ''; - }; - }; - in - { - name = "vector-journald-clickhouse"; - meta.maintainers = [ pkgs.lib.maintainers.happysalada ]; - - nodes = { - clickhouse = - { config, pkgs, ... }: - { - virtualisation.diskSize = 5 * 1024; - virtualisation.memorySize = 4096; - - networking.firewall.allowedTCPPorts = [ 6000 ]; - - services.vector = { - enable = true; - journaldAccess = true; - - settings = { - sources = { - journald = { - type = "journald"; - }; - - vector_source = { - type = "vector"; - address = "[::]:6000"; - }; - }; - - transforms = journalVrlRemapTransform; - - sinks = { - clickhouse = { - type = "clickhouse"; - inputs = [ - "journald_remap" - "vector_source" - ]; - endpoint = "http://localhost:8123"; - database = "journald"; - table = "logs"; - date_time_best_effort = true; - }; - }; - }; - - }; - - services.clickhouse = { - enable = true; - }; - }; - - vector = - { config, pkgs, ... }: - { - services.vector = { - enable = true; - journaldAccess = true; - - settings = { - sources = { - journald = { - type = "journald"; - }; - }; - - transforms = journalVrlRemapTransform; - - sinks = { - vector_sink = { - type = "vector"; - inputs = [ "journald_remap" ]; - address = "clickhouse:6000"; - }; - }; - }; - }; - }; - }; - - testScript = - let - # work around quote/substitution complexity by Nix, Perl, bash and SQL. - databaseDDL = pkgs.writeText "database.sql" "CREATE DATABASE IF NOT EXISTS journald"; - - # https://clickhouse.com/blog/storing-log-data-in-clickhouse-fluent-bit-vector-open-telemetry - tableDDL = pkgs.writeText "table.sql" '' - CREATE TABLE IF NOT EXISTS journald.logs ( - timestamp DateTime64(6), - app LowCardinality(String), - host LowCardinality(String), - level LowCardinality(String), - severity UInt8, - message String, - uid UInt16, - pid UInt32, - ) - ENGINE = MergeTree() - ORDER BY (host, app, timestamp) - PARTITION BY toYYYYMM(timestamp) - ''; - - selectQuery = pkgs.writeText "select.sql" '' - SELECT COUNT(host) FROM journald.logs - WHERE message LIKE '%Vector has started%' - ''; - in - '' - clickhouse.wait_for_unit("clickhouse") - clickhouse.wait_for_open_port(6000) - clickhouse.wait_for_open_port(8123) - - clickhouse.succeed( - "cat ${databaseDDL} | clickhouse-client" - ) - - clickhouse.succeed( - "cat ${tableDDL} | clickhouse-client" - ) - - for machine in clickhouse, vector: - machine.wait_for_unit("vector") - machine.wait_until_succeeds( - "journalctl -o cat -u vector.service | grep 'Vector has started'" - ) - - clickhouse.wait_until_succeeds( - "cat ${selectQuery} | clickhouse-client | grep 2" - ) +{ lib, pkgs, ... }: +let + # Take the original journald message and create a new payload which only + # contains the relevant fields - these must match the database columns. + journalVrlRemapTransform = { + journald_remap = { + inputs = [ "journald" ]; + type = "remap"; + source = '' + m = {} + m.app = .SYSLOG_IDENTIFIER + m.host = .host + m.severity = to_int(.PRIORITY) ?? 0 + m.level = to_syslog_level(m.severity) ?? "" + m.message = strip_ansi_escape_codes!(.message) + m.timestamp = .timestamp + m.uid = to_int(._UID) ?? 0 + m.pid = to_int(._PID) ?? 0 + . = [m] ''; - } -) + }; + }; +in +{ + name = "vector-journald-clickhouse"; + meta.maintainers = [ pkgs.lib.maintainers.happysalada ]; + + nodes = { + clickhouse = + { config, pkgs, ... }: + { + virtualisation.diskSize = 5 * 1024; + virtualisation.memorySize = 4096; + + networking.firewall.allowedTCPPorts = [ 6000 ]; + + services.vector = { + enable = true; + journaldAccess = true; + + settings = { + sources = { + journald = { + type = "journald"; + }; + + vector_source = { + type = "vector"; + address = "[::]:6000"; + }; + }; + + transforms = journalVrlRemapTransform; + + sinks = { + clickhouse = { + type = "clickhouse"; + inputs = [ + "journald_remap" + "vector_source" + ]; + endpoint = "http://localhost:8123"; + database = "journald"; + table = "logs"; + date_time_best_effort = true; + }; + }; + }; + + }; + + services.clickhouse = { + enable = true; + }; + }; + + vector = + { config, pkgs, ... }: + { + services.vector = { + enable = true; + journaldAccess = true; + + settings = { + sources = { + journald = { + type = "journald"; + }; + }; + + transforms = journalVrlRemapTransform; + + sinks = { + vector_sink = { + type = "vector"; + inputs = [ "journald_remap" ]; + address = "clickhouse:6000"; + }; + }; + }; + }; + }; + }; + + testScript = + let + # work around quote/substitution complexity by Nix, Perl, bash and SQL. + databaseDDL = pkgs.writeText "database.sql" "CREATE DATABASE IF NOT EXISTS journald"; + + # https://clickhouse.com/blog/storing-log-data-in-clickhouse-fluent-bit-vector-open-telemetry + tableDDL = pkgs.writeText "table.sql" '' + CREATE TABLE IF NOT EXISTS journald.logs ( + timestamp DateTime64(6), + app LowCardinality(String), + host LowCardinality(String), + level LowCardinality(String), + severity UInt8, + message String, + uid UInt16, + pid UInt32, + ) + ENGINE = MergeTree() + ORDER BY (host, app, timestamp) + PARTITION BY toYYYYMM(timestamp) + ''; + + selectQuery = pkgs.writeText "select.sql" '' + SELECT COUNT(host) FROM journald.logs + WHERE message LIKE '%Vector has started%' + ''; + in + '' + clickhouse.wait_for_unit("clickhouse") + clickhouse.wait_for_open_port(6000) + clickhouse.wait_for_open_port(8123) + + clickhouse.succeed( + "cat ${databaseDDL} | clickhouse-client" + ) + + clickhouse.succeed( + "cat ${tableDDL} | clickhouse-client" + ) + + for machine in clickhouse, vector: + machine.wait_for_unit("vector") + machine.wait_until_succeeds( + "journalctl -o cat -u vector.service | grep 'Vector has started'" + ) + + clickhouse.wait_until_succeeds( + "cat ${selectQuery} | clickhouse-client | grep 2" + ) + ''; +} diff --git a/nixos/tests/vector/nginx-clickhouse.nix b/nixos/tests/vector/nginx-clickhouse.nix index 9470d78d968b..38dc0c7991c9 100644 --- a/nixos/tests/vector/nginx-clickhouse.nix +++ b/nixos/tests/vector/nginx-clickhouse.nix @@ -1,174 +1,172 @@ -import ../make-test-python.nix ( - { lib, pkgs, ... }: +{ lib, pkgs, ... }: - { - name = "vector-nginx-clickhouse"; - meta.maintainers = [ pkgs.lib.maintainers.happysalada ]; +{ + name = "vector-nginx-clickhouse"; + meta.maintainers = [ pkgs.lib.maintainers.happysalada ]; - nodes = { - clickhouse = - { config, pkgs, ... }: - { - virtualisation.memorySize = 4096; + nodes = { + clickhouse = + { config, pkgs, ... }: + { + virtualisation.memorySize = 4096; - # Clickhouse module can't listen on a non-loopback IP. - networking.firewall.allowedTCPPorts = [ 6000 ]; - services.clickhouse.enable = true; + # Clickhouse module can't listen on a non-loopback IP. + networking.firewall.allowedTCPPorts = [ 6000 ]; + services.clickhouse.enable = true; - # Exercise Vector sink->source for now. - services.vector = { - enable = true; + # Exercise Vector sink->source for now. + services.vector = { + enable = true; - settings = { - sources = { - vector_source = { - type = "vector"; - address = "[::]:6000"; - }; + settings = { + sources = { + vector_source = { + type = "vector"; + address = "[::]:6000"; }; + }; - sinks = { - clickhouse = { - type = "clickhouse"; - inputs = [ "vector_source" ]; - endpoint = "http://localhost:8123"; - database = "nginxdb"; - table = "access_logs"; - skip_unknown_fields = true; - }; + sinks = { + clickhouse = { + type = "clickhouse"; + inputs = [ "vector_source" ]; + endpoint = "http://localhost:8123"; + database = "nginxdb"; + table = "access_logs"; + skip_unknown_fields = true; + }; + }; + }; + }; + }; + + nginx = + { config, pkgs, ... }: + { + services.nginx = { + enable = true; + virtualHosts.localhost = { }; + }; + + services.vector = { + enable = true; + + settings = { + sources = { + nginx_logs = { + type = "file"; + include = [ "/var/log/nginx/access.log" ]; + read_from = "end"; + }; + }; + + sinks = { + vector_sink = { + type = "vector"; + inputs = [ "nginx_logs" ]; + address = "clickhouse:6000"; }; }; }; }; - nginx = - { config, pkgs, ... }: - { - services.nginx = { - enable = true; - virtualHosts.localhost = { }; - }; - - services.vector = { - enable = true; - - settings = { - sources = { - nginx_logs = { - type = "file"; - include = [ "/var/log/nginx/access.log" ]; - read_from = "end"; - }; - }; - - sinks = { - vector_sink = { - type = "vector"; - inputs = [ "nginx_logs" ]; - address = "clickhouse:6000"; - }; - }; - }; - }; - - systemd.services.vector.serviceConfig = { - SupplementaryGroups = [ "nginx" ]; - }; + systemd.services.vector.serviceConfig = { + SupplementaryGroups = [ "nginx" ]; }; - }; + }; + }; - testScript = - let - # work around quote/substitution complexity by Nix, Perl, bash and SQL. - databaseDDL = pkgs.writeText "database.sql" "CREATE DATABASE IF NOT EXISTS nginxdb"; + testScript = + let + # work around quote/substitution complexity by Nix, Perl, bash and SQL. + databaseDDL = pkgs.writeText "database.sql" "CREATE DATABASE IF NOT EXISTS nginxdb"; - tableDDL = pkgs.writeText "table.sql" '' - CREATE TABLE IF NOT EXISTS nginxdb.access_logs ( - message String - ) - ENGINE = MergeTree() - ORDER BY tuple() - ''; - - # Graciously taken from https://clickhouse.com/docs/en/integrations/vector - tableView = pkgs.writeText "table-view.sql" '' - CREATE MATERIALIZED VIEW nginxdb.access_logs_view - ( - RemoteAddr String, - Client String, - RemoteUser String, - TimeLocal DateTime, - RequestMethod String, - Request String, - HttpVersion String, - Status Int32, - BytesSent Int64, - UserAgent String - ) - ENGINE = MergeTree() - ORDER BY RemoteAddr - POPULATE AS - WITH - splitByWhitespace(message) as split, - splitByRegexp('\S \d+ "([^"]*)"', message) as referer - SELECT - split[1] AS RemoteAddr, - split[2] AS Client, - split[3] AS RemoteUser, - parseDateTimeBestEffort(replaceOne(trim(LEADING '[' FROM split[4]), ':', ' ')) AS TimeLocal, - trim(LEADING '"' FROM split[6]) AS RequestMethod, - split[7] AS Request, - trim(TRAILING '"' FROM split[8]) AS HttpVersion, - split[9] AS Status, - split[10] AS BytesSent, - trim(BOTH '"' from referer[2]) AS UserAgent - FROM - (SELECT message FROM nginxdb.access_logs) - ''; - - selectQuery = pkgs.writeText "select.sql" "SELECT * from nginxdb.access_logs_view"; - in - '' - clickhouse.wait_for_unit("clickhouse") - clickhouse.wait_for_open_port(8123) - - clickhouse.wait_until_succeeds( - "journalctl -o cat -u clickhouse.service | grep 'Started ClickHouse server'" - ) - - clickhouse.wait_for_unit("vector") - clickhouse.wait_for_open_port(6000) - - clickhouse.succeed( - "cat ${databaseDDL} | clickhouse-client" - ) - - clickhouse.succeed( - "cat ${tableDDL} | clickhouse-client" - ) - - clickhouse.succeed( - "cat ${tableView} | clickhouse-client" - ) - - nginx.wait_for_unit("nginx") - nginx.wait_for_open_port(80) - nginx.wait_for_unit("vector") - nginx.wait_until_succeeds( - "journalctl -o cat -u vector.service | grep 'Starting file server'" - ) - - nginx.succeed("curl http://localhost/") - nginx.succeed("curl http://localhost/") - - nginx.wait_for_file("/var/log/nginx/access.log") - nginx.wait_until_succeeds( - "journalctl -o cat -u vector.service | grep 'Found new file to watch. file=/var/log/nginx/access.log'" - ) - - clickhouse.wait_until_succeeds( - "cat ${selectQuery} | clickhouse-client | grep 'curl'" + tableDDL = pkgs.writeText "table.sql" '' + CREATE TABLE IF NOT EXISTS nginxdb.access_logs ( + message String ) + ENGINE = MergeTree() + ORDER BY tuple() ''; - } -) + + # Graciously taken from https://clickhouse.com/docs/en/integrations/vector + tableView = pkgs.writeText "table-view.sql" '' + CREATE MATERIALIZED VIEW nginxdb.access_logs_view + ( + RemoteAddr String, + Client String, + RemoteUser String, + TimeLocal DateTime, + RequestMethod String, + Request String, + HttpVersion String, + Status Int32, + BytesSent Int64, + UserAgent String + ) + ENGINE = MergeTree() + ORDER BY RemoteAddr + POPULATE AS + WITH + splitByWhitespace(message) as split, + splitByRegexp('\S \d+ "([^"]*)"', message) as referer + SELECT + split[1] AS RemoteAddr, + split[2] AS Client, + split[3] AS RemoteUser, + parseDateTimeBestEffort(replaceOne(trim(LEADING '[' FROM split[4]), ':', ' ')) AS TimeLocal, + trim(LEADING '"' FROM split[6]) AS RequestMethod, + split[7] AS Request, + trim(TRAILING '"' FROM split[8]) AS HttpVersion, + split[9] AS Status, + split[10] AS BytesSent, + trim(BOTH '"' from referer[2]) AS UserAgent + FROM + (SELECT message FROM nginxdb.access_logs) + ''; + + selectQuery = pkgs.writeText "select.sql" "SELECT * from nginxdb.access_logs_view"; + in + '' + clickhouse.wait_for_unit("clickhouse") + clickhouse.wait_for_open_port(8123) + + clickhouse.wait_until_succeeds( + "journalctl -o cat -u clickhouse.service | grep 'Started ClickHouse server'" + ) + + clickhouse.wait_for_unit("vector") + clickhouse.wait_for_open_port(6000) + + clickhouse.succeed( + "cat ${databaseDDL} | clickhouse-client" + ) + + clickhouse.succeed( + "cat ${tableDDL} | clickhouse-client" + ) + + clickhouse.succeed( + "cat ${tableView} | clickhouse-client" + ) + + nginx.wait_for_unit("nginx") + nginx.wait_for_open_port(80) + nginx.wait_for_unit("vector") + nginx.wait_until_succeeds( + "journalctl -o cat -u vector.service | grep 'Starting file server'" + ) + + nginx.succeed("curl http://localhost/") + nginx.succeed("curl http://localhost/") + + nginx.wait_for_file("/var/log/nginx/access.log") + nginx.wait_until_succeeds( + "journalctl -o cat -u vector.service | grep 'Found new file to watch. file=/var/log/nginx/access.log'" + ) + + clickhouse.wait_until_succeeds( + "cat ${selectQuery} | clickhouse-client | grep 'curl'" + ) + ''; +} diff --git a/nixos/tests/vector/syslog-quickwit.nix b/nixos/tests/vector/syslog-quickwit.nix index 68783a1642f1..affae5f86b3d 100644 --- a/nixos/tests/vector/syslog-quickwit.nix +++ b/nixos/tests/vector/syslog-quickwit.nix @@ -1,162 +1,160 @@ -import ../make-test-python.nix ( - { lib, pkgs, ... }: +{ lib, pkgs, ... }: - # Based on https://quickwit.io/docs/log-management/send-logs/using-vector +# Based on https://quickwit.io/docs/log-management/send-logs/using-vector - { - name = "vector-syslog-quickwit"; - meta.maintainers = [ pkgs.lib.maintainers.happysalada ]; +{ + name = "vector-syslog-quickwit"; + meta.maintainers = [ pkgs.lib.maintainers.happysalada ]; - nodes = { - quickwit = - { config, pkgs, ... }: - { - environment.systemPackages = [ pkgs.jq ]; + nodes = { + quickwit = + { config, pkgs, ... }: + { + environment.systemPackages = [ pkgs.jq ]; - networking.firewall.allowedTCPPorts = [ 7280 ]; + networking.firewall.allowedTCPPorts = [ 7280 ]; - services.quickwit = { - enable = true; - settings = { - listen_address = "::"; - }; + services.quickwit = { + enable = true; + settings = { + listen_address = "::"; }; }; + }; - syslog = - { config, pkgs, ... }: - { - services.vector = { - enable = true; + syslog = + { config, pkgs, ... }: + { + services.vector = { + enable = true; - settings = { - sources = { - generate_syslog = { - type = "demo_logs"; - format = "syslog"; - interval = 0.5; - }; + settings = { + sources = { + generate_syslog = { + type = "demo_logs"; + format = "syslog"; + interval = 0.5; }; + }; - transforms = { - remap_syslog = { - inputs = [ "generate_syslog" ]; - type = "remap"; - source = '' - structured = parse_syslog!(.message) - .timestamp_nanos = to_unix_timestamp!(structured.timestamp, unit: "nanoseconds") - .body = structured - .service_name = structured.appname - .resource_attributes.source_type = .source_type - .resource_attributes.host.hostname = structured.hostname - .resource_attributes.service.name = structured.appname - .attributes.syslog.procid = structured.procid - .attributes.syslog.facility = structured.facility - .attributes.syslog.version = structured.version - .severity_text = if includes(["emerg", "err", "crit", "alert"], structured.severity) { - "ERROR" - } else if structured.severity == "warning" { - "WARN" - } else if structured.severity == "debug" { - "DEBUG" - } else if includes(["info", "notice"], structured.severity) { - "INFO" - } else { - structured.severity - } - .scope_name = structured.msgid - del(.message) - del(.host) - del(.timestamp) - del(.service) - del(.source_type) - ''; - }; + transforms = { + remap_syslog = { + inputs = [ "generate_syslog" ]; + type = "remap"; + source = '' + structured = parse_syslog!(.message) + .timestamp_nanos = to_unix_timestamp!(structured.timestamp, unit: "nanoseconds") + .body = structured + .service_name = structured.appname + .resource_attributes.source_type = .source_type + .resource_attributes.host.hostname = structured.hostname + .resource_attributes.service.name = structured.appname + .attributes.syslog.procid = structured.procid + .attributes.syslog.facility = structured.facility + .attributes.syslog.version = structured.version + .severity_text = if includes(["emerg", "err", "crit", "alert"], structured.severity) { + "ERROR" + } else if structured.severity == "warning" { + "WARN" + } else if structured.severity == "debug" { + "DEBUG" + } else if includes(["info", "notice"], structured.severity) { + "INFO" + } else { + structured.severity + } + .scope_name = structured.msgid + del(.message) + del(.host) + del(.timestamp) + del(.service) + del(.source_type) + ''; }; + }; - sinks = { - #emit_syslog = { - # inputs = ["remap_syslog"]; - # type = "console"; - # encoding.codec = "json"; - #}; - quickwit_logs = { - type = "http"; - method = "post"; - inputs = [ "remap_syslog" ]; - encoding.codec = "json"; - framing.method = "newline_delimited"; - uri = "http://quickwit:7280/api/v1/otel-logs-v0_7/ingest"; - }; + sinks = { + #emit_syslog = { + # inputs = ["remap_syslog"]; + # type = "console"; + # encoding.codec = "json"; + #}; + quickwit_logs = { + type = "http"; + method = "post"; + inputs = [ "remap_syslog" ]; + encoding.codec = "json"; + framing.method = "newline_delimited"; + uri = "http://quickwit:7280/api/v1/otel-logs-v0_7/ingest"; }; }; }; }; - }; + }; + }; - testScript = - let - aggregationQuery = pkgs.writeText "aggregation-query.json" '' - { - "query": "*", - "max_hits": 0, - "aggs": { - "count_per_minute": { - "histogram": { - "field": "timestamp_nanos", - "interval": 60000000 - }, - "aggs": { - "severity_text_count": { - "terms": { - "field": "severity_text" - } + testScript = + let + aggregationQuery = pkgs.writeText "aggregation-query.json" '' + { + "query": "*", + "max_hits": 0, + "aggs": { + "count_per_minute": { + "histogram": { + "field": "timestamp_nanos", + "interval": 60000000 + }, + "aggs": { + "severity_text_count": { + "terms": { + "field": "severity_text" } } } } } - ''; - in - '' - quickwit.wait_for_unit("quickwit") - quickwit.wait_for_open_port(7280) - quickwit.wait_for_open_port(7281) - - quickwit.wait_until_succeeds( - "journalctl -o cat -u quickwit.service | grep 'transitioned to ready state'" - ) - - syslog.wait_for_unit("vector") - syslog.wait_until_succeeds( - "journalctl -o cat -u vector.service | grep 'Vector has started'" - ) - - quickwit.wait_until_succeeds( - "journalctl -o cat -u quickwit.service | grep 'publish-new-splits'" - ) - - # Wait for logs to be generated - # Test below aggregates by the minute - syslog.sleep(60 * 2) - - quickwit.wait_until_succeeds( - "curl -sSf -XGET http://127.0.0.1:7280/api/v1/otel-logs-v0_7/search?query=severity_text:ERROR |" - + " jq '.num_hits' | grep -v '0'" - ) - - quickwit.wait_until_succeeds( - "journalctl -o cat -u quickwit.service | grep 'SearchRequest'" - ) - - quickwit.wait_until_succeeds( - "curl -sSf -XPOST -H 'Content-Type: application/json' http://127.0.0.1:7280/api/v1/otel-logs-v0_7/search --data @${aggregationQuery} |" - + " jq '.num_hits' | grep -v '0'" - ) - - quickwit.wait_until_succeeds( - "journalctl -o cat -u quickwit.service | grep 'count_per_minute'" - ) + } ''; - } -) + in + '' + quickwit.wait_for_unit("quickwit") + quickwit.wait_for_open_port(7280) + quickwit.wait_for_open_port(7281) + + quickwit.wait_until_succeeds( + "journalctl -o cat -u quickwit.service | grep 'transitioned to ready state'" + ) + + syslog.wait_for_unit("vector") + syslog.wait_until_succeeds( + "journalctl -o cat -u vector.service | grep 'Vector has started'" + ) + + quickwit.wait_until_succeeds( + "journalctl -o cat -u quickwit.service | grep 'publish-new-splits'" + ) + + # Wait for logs to be generated + # Test below aggregates by the minute + syslog.sleep(60 * 2) + + quickwit.wait_until_succeeds( + "curl -sSf -XGET http://127.0.0.1:7280/api/v1/otel-logs-v0_7/search?query=severity_text:ERROR |" + + " jq '.num_hits' | grep -v '0'" + ) + + quickwit.wait_until_succeeds( + "journalctl -o cat -u quickwit.service | grep 'SearchRequest'" + ) + + quickwit.wait_until_succeeds( + "curl -sSf -XPOST -H 'Content-Type: application/json' http://127.0.0.1:7280/api/v1/otel-logs-v0_7/search --data @${aggregationQuery} |" + + " jq '.num_hits' | grep -v '0'" + ) + + quickwit.wait_until_succeeds( + "journalctl -o cat -u quickwit.service | grep 'count_per_minute'" + ) + ''; +} diff --git a/nixos/tests/victoriametrics/vmalert.nix b/nixos/tests/victoriametrics/vmalert.nix index f92c35a82010..aa5026cbd8f6 100644 --- a/nixos/tests/victoriametrics/vmalert.nix +++ b/nixos/tests/victoriametrics/vmalert.nix @@ -55,7 +55,7 @@ import ../make-test-python.nix ( }; }; - services.vmalert = { + services.vmalert.instances."" = { enable = true; settings = { "datasource.url" = "http://localhost:8428"; # victoriametrics' api diff --git a/nixos/tests/wireguard/default.nix b/nixos/tests/wireguard/default.nix index da08a81c42b3..93d0efaf0889 100644 --- a/nixos/tests/wireguard/default.nix +++ b/nixos/tests/wireguard/default.nix @@ -39,7 +39,8 @@ listToAttrs ( flip mapAttrsToList tests ( name: test: nameValuePair "wireguard-${name}-linux-${v'}" (test { - kernelPackages = pkgs."linuxPackages_${v'}"; + kernelPackages = + if v' == "latest" then pkgs.linuxPackages_latest else pkgs.linuxKernel.packages."linux_${v'}"; }) ) ) diff --git a/nixos/tests/wstunnel.nix b/nixos/tests/wstunnel.nix index 12547213f20b..97ef562e8f8f 100644 --- a/nixos/tests/wstunnel.nix +++ b/nixos/tests/wstunnel.nix @@ -1,5 +1,3 @@ -{ lib, ... }: - let certs = import ./common/acme/server/snakeoil-certs.nix; domain = certs.domain; @@ -32,8 +30,10 @@ in host = "10.0.0.1"; port = 443; }; - tlsCertificate = certs.${domain}.cert; - tlsKey = certs.${domain}.key; + settings = { + tls-certificate = "${certs.${domain}.cert}"; + tls-private-key = "${certs.${domain}.key}"; + }; }; }; }; @@ -47,9 +47,9 @@ in useNetworkd = true; useDHCP = false; firewall.enable = false; - extraHosts = '' - 10.0.0.1 ${domain} - ''; + hosts = { + "10.0.0.1" = [ domain ]; + }; }; systemd.network.networks."01-eth1" = { @@ -62,8 +62,10 @@ in clients.my-client = { autoStart = false; connectTo = "wss://${domain}:443"; - localToRemote = [ "tcp://8080:localhost:2080" ]; - remoteToLocal = [ "tcp://2081:localhost:8081" ]; + settings = { + local-to-remote = [ "tcp://8080:localhost:2080" ]; + remote-to-local = [ "tcp://2081:localhost:8081" ]; + }; }; }; }; diff --git a/nixos/tests/yabar.nix b/nixos/tests/yabar.nix deleted file mode 100644 index 13a207f74829..000000000000 --- a/nixos/tests/yabar.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ - name = "yabar"; - meta.maintainers = [ ]; - - nodes.machine = { - imports = [ - ./common/x11.nix - ./common/user-account.nix - ]; - - test-support.displayManager.auto.user = "bob"; - - programs.yabar.enable = true; - programs.yabar.bars = { - top.indicators.date.exec = "YABAR_DATE"; - }; - }; - - testScript = '' - machine.start() - machine.wait_for_x() - - # confirm proper startup - machine.wait_for_unit("yabar.service", "bob") - machine.sleep(10) - machine.wait_for_unit("yabar.service", "bob") - - machine.screenshot("top_bar") - ''; -} diff --git a/nixos/tests/zipline.nix b/nixos/tests/zipline.nix index 023c4484a810..40498db9133f 100644 --- a/nixos/tests/zipline.nix +++ b/nixos/tests/zipline.nix @@ -1,10 +1,13 @@ -{ lib, ... }: +{ lib, pkgs, ... }: { name = "zipline"; meta.maintainers = with lib.maintainers; [ defelo ]; nodes.machine = { + # On x86, testing with a CPU without SSE 4.2 support + # to ensure native libvips is used + virtualisation.qemu.options = lib.mkIf pkgs.stdenv.hostPlatform.isx86 [ "-cpu core2duo" ]; services.zipline = { enable = true; settings = { @@ -38,7 +41,7 @@ import re machine.wait_for_unit("zipline.service") - machine.wait_for_open_port(8000) + machine.wait_for_open_port(8000, timeout=300) resp = machine.succeed("curl zipline.local:8000/api/setup -v -X POST -H 'Content-Type: application/json' -d '{\"username\": \"administrator\", \"password\": \"password\"}' 2>&1") data = json.loads(resp.splitlines()[-1]) diff --git a/nixos/tests/zrepl.nix b/nixos/tests/zrepl.nix index 3bc6ed9d342c..e800340df6e6 100644 --- a/nixos/tests/zrepl.nix +++ b/nixos/tests/zrepl.nix @@ -1,76 +1,178 @@ { name = "zrepl"; - nodes.host = - { pkgs, ... }: - { - config = { - # Prerequisites for ZFS and tests. - boot.supportedFilesystems = [ "zfs" ]; - environment.systemPackages = [ pkgs.zrepl ]; - networking.hostId = "deadbeef"; - services.zrepl = { - enable = true; - settings = { - # Enable Prometheus output for status assertions. - global.monitoring = [ - { - type = "prometheus"; - listen = ":9811"; - } - ]; - # Create a periodic snapshot job for an ephemeral zpool. - jobs = [ - { - name = "snap_test"; - type = "snap"; + nodes = { + source = + { nodes, pkgs, ... }: + { + config = { + # Prerequisites for ZFS and tests. + virtualisation.emptyDiskImages = [ + 2048 + ]; - filesystems."test" = true; - snapshotting = { - type = "periodic"; - prefix = "zrepl_"; - interval = "1s"; - }; + boot.supportedFilesystems = [ "zfs" ]; + environment.systemPackages = [ + pkgs.parted + pkgs.zrepl + ]; + networking.firewall.allowedTCPPorts = [ 8888 ]; + networking.hostId = "deadbeef"; + services.zrepl = { + enable = true; + settings = { + # Enable Prometheus output for status assertions. + global.monitoring = [ + { + type = "prometheus"; + listen = ":9811"; + } + ]; + # Create a periodic snapshot job for an ephemeral zpool. + jobs = [ + { + name = "snapshots"; + type = "snap"; - pruning.keep = [ - { - type = "last_n"; - count = 8; - } - ]; - } - ]; + filesystems."tank/data" = true; + snapshotting = { + type = "periodic"; + prefix = "zrepl_"; + interval = "10s"; + }; + + pruning.keep = [ + { + type = "last_n"; + count = 8; + } + ]; + } + { + name = "backup-target"; + type = "source"; + + serve = { + type = "tcp"; + listen = ":8888"; + + clients = { + "${nodes.target.networking.primaryIPAddress}" = "${nodes.target.networking.hostName}"; + "${nodes.target.networking.primaryIPv6Address}" = "${nodes.target.networking.hostName}"; + }; + }; + filesystems."tank/data" = true; + # Snapshots are handled by the separate snap job + snapshotting = { + type = "manual"; + }; + } + ]; + }; }; }; }; - }; + + target = + { pkgs, ... }: + { + config = { + # Prerequisites for ZFS and tests. + virtualisation.emptyDiskImages = [ + 2048 + ]; + + boot.supportedFilesystems = [ "zfs" ]; + environment.systemPackages = [ + pkgs.parted + pkgs.zrepl + ]; + networking.hostId = "deadd0d0"; + services.zrepl = { + enable = true; + settings = { + # Enable Prometheus output for status assertions. + global.monitoring = [ + { + type = "prometheus"; + listen = ":9811"; + } + ]; + jobs = [ + { + name = "source-pull"; + type = "pull"; + + connect = { + type = "tcp"; + address = "source:8888"; + }; + root_fs = "tank/zrepl/source"; + interval = "15s"; + recv = { + placeholder = { + encryption = "off"; + }; + }; + pruning = { + keep_sender = [ + { + type = "regex"; + regex = ".*"; + } + ]; + keep_receiver = [ + { + type = "grid"; + grid = "1x1h(keep=all) | 24x1h"; + regex = "^zrepl_"; + } + ]; + }; + } + ]; + }; + }; + }; + }; + }; testScript = '' start_all() with subtest("Wait for zrepl and network ready"): - host.systemctl("start network-online.target") - host.wait_for_unit("network-online.target") - host.wait_for_unit("zrepl.service") + for machine in source, target: + machine.systemctl("start network-online.target") + machine.wait_for_unit("network-online.target") + machine.wait_for_unit("zrepl.service") - with subtest("Create test zpool"): - # ZFS requires 64MiB minimum pool size. - host.succeed("fallocate -l 64MiB /root/zpool.img") - host.succeed("zpool create test /root/zpool.img") + with subtest("Create tank zpool"): + for machine in source, target: + machine.succeed( + "parted --script /dev/vdb mklabel gpt", + "zpool create tank /dev/vdb", + ) - with subtest("Check for completed zrepl snapshot"): + # Create ZFS datasets + source.succeed("zfs create tank/data") + target.succeed("zfs create -p tank/zrepl/source") + + with subtest("Check for completed zrepl snapshot on target"): # zrepl periodic snapshot job creates a snapshot with this prefix. - host.wait_until_succeeds("zfs list -t snapshot | grep -q zrepl_") + target.wait_until_succeeds("zfs list -t snapshot | grep -q tank/zrepl/source/tank/data@zrepl_") + + with subtest("Check for completed zrepl bookmark on source"): + source.wait_until_succeeds("zfs list -t bookmark | grep -q tank/data#zrepl_") with subtest("Verify HTTP monitoring server is configured"): - out = host.succeed("curl -f localhost:9811/metrics") + out = source.succeed("curl -f localhost:9811/metrics") assert ( "zrepl_start_time" in out ), "zrepl start time metric was not found in Prometheus output" assert ( - "zrepl_zfs_snapshot_duration_count{filesystem=\"test\"}" in out - ), "zrepl snapshot counter for test was not found in Prometheus output" + "zrepl_zfs_snapshot_duration_count{filesystem=\"tank/data\"}" in out + ), "zrepl snapshot counter for tank/data was not found in Prometheus output" ''; } diff --git a/pkgs/README.md b/pkgs/README.md index 6201839f23c4..0442822765b9 100644 --- a/pkgs/README.md +++ b/pkgs/README.md @@ -97,7 +97,7 @@ Now that this is out of the way. To add a package to Nixpkgs: - GNU Multiple Precision arithmetic library (GMP): [`pkgs/development/libraries/gmp`](development/libraries/gmp). Also done by the generic builder, but has a dependency on `m4`. - - Pan, a GTK-based newsreader: [`pkgs/by-name/pa/pan/package.nix`](./by-name/pa/pan/package.nix). Has an optional dependency on `gtkspell`, which is only built if `spellCheck` is `true`. + - Pan, a GTK-based newsreader: [`pkgs/by-name/pa/pan/package.nix`](./by-name/pa/pan/package.nix). Has an optional dependency on `gspell`, which is only built if `spellCheck` is `true`. - Apache HTTPD: [`pkgs/servers/http/apache-httpd/2.4.nix`](servers/http/apache-httpd/2.4.nix). A bunch of optional features, variable substitutions in the configure flags, a post-install hook, and miscellaneous hackery. @@ -529,14 +529,19 @@ In the interest of keeping our maintenance burden and the size of Nixpkgs to a m { patches = [ (fetchpatch2 { - name = "fix-check-for-using-shared-freetype-lib.patch"; - url = "https://cgit.ghostscript.com/cgi-bin/cgit.cgi/ghostpdl.git/patch/?id=8f5d28536e4518716fdfe974e580194c8f57871d"; - hash = "sha256-uRcxaCjd+WAuGrXOmGfFeu79cUILwkRdBu48mwcBE7g="; + name = "make-no-atomics-a-soft-failure.patch"; + url = "https://github.com/boostorg/math/commit/7d482f6ebc356e6ec455ccb5f51a23971bf6ce5b.patch?full_index=1"; + hash = "sha256-9Goa0NTUdSOs1Vm+FnkoSFhw0o8ZLNOw6cLUqCVnF5Y="; }) ]; } ``` +> [!Warning] +> If the patch file contains short commit hashes, use `fetchpatch` instead of `fetchpatch2` ([tracking issue](https://github.com/NixOS/nixpkgs/issues/257446)). +> This is the case if the patch contains a line similar to `index 0c97fcc35..f533e464a 100644`. +> Depending on the patch source it is possible to expand the commit hash, in which case using `fetchpatch2` is acceptable (e.g. GitHub supports appending `?full_index=1` to the URL, as seen above). + If a patch is available online but does not cleanly apply, it can be modified in some fixed ways by using additional optional arguments for `fetchpatch2`. Check [the `fetchpatch` reference](https://nixos.org/manual/nixpkgs/unstable/#fetchpatch) for details. When adding patches in this manner you should be reasonably sure that the used URL is stable. Patches referencing open pull requests will change when the PR is updated and code forges (such as GitHub) usually garbage collect commits that are no longer reachable due to rebases/amends. diff --git a/pkgs/applications/audio/ardour/default.nix b/pkgs/applications/audio/ardour/default.nix index 45e8e95d2c0a..688e9e92599e 100644 --- a/pkgs/applications/audio/ardour/default.nix +++ b/pkgs/applications/audio/ardour/default.nix @@ -62,172 +62,179 @@ optimize ? true, # disable to print Lua DSP script output to stdout videoSupport ? true, }: -stdenv.mkDerivation rec { - pname = "ardour"; - version = "8.11"; +stdenv.mkDerivation ( + finalAttrs: + let + majorVersion = lib.versions.major finalAttrs.version; + in + { + pname = "ardour"; + version = "8.12"; - # We can't use `fetchFromGitea` here, as attempting to fetch release archives from git.ardour.org - # result in an empty archive. See https://tracker.ardour.org/view.php?id=7328 for more info. - src = fetchgit { - url = "git://git.ardour.org/ardour/ardour.git"; - rev = version; - hash = "sha256-z+rIWFVua1IG4GZ8kH3quKaBbN+I7Yr62vukJZk6KAg="; - }; + # We can't use `fetchFromGitea` here, as attempting to fetch release archives from git.ardour.org + # result in an empty archive. See https://tracker.ardour.org/view.php?id=7328 for more info. + src = fetchgit { + url = "git://git.ardour.org/ardour/ardour.git"; + rev = finalAttrs.version; + hash = "sha256-4IgBQ53cwPA35YwNQyo+qBqsMGv+TLn6w1zaDX97erE="; + }; - bundledContent = fetchzip { - url = "https://web.archive.org/web/20221026200824/http://stuff.ardour.org/loops/ArdourBundledMedia.zip"; - hash = "sha256-IbPQWFeyMuvCoghFl1ZwZNNcSvLNsH84rGArXnw+t7A="; - # archive does not contain a single folder at the root - stripRoot = false; - }; + bundledContent = fetchzip { + url = "https://web.archive.org/web/20221026200824/http://stuff.ardour.org/loops/ArdourBundledMedia.zip"; + hash = "sha256-IbPQWFeyMuvCoghFl1ZwZNNcSvLNsH84rGArXnw+t7A="; + # archive does not contain a single folder at the root + stripRoot = false; + }; - patches = [ - # AS=as in the environment causes build failure https://tracker.ardour.org/view.php?id=8096 - ./as-flags.patch - ./default-plugin-search-paths.patch - ]; + patches = [ + # AS=as in the environment causes build failure https://tracker.ardour.org/view.php?id=8096 + ./as-flags.patch + ./default-plugin-search-paths.patch + ]; - # Ardour's wscript requires git revision and date to be available. - # Since they are not, let's generate the file manually. - postPatch = '' - printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = "${version}"; const char* date = ""; }\n' > libs/ardour/revision.cc - sed 's|/usr/include/libintl.h|${glibc.dev}/include/libintl.h|' -i wscript - patchShebangs ./tools/ - substituteInPlace libs/ardour/video_tools_paths.cc \ - --replace-fail 'ffmpeg_exe = X_("");' 'ffmpeg_exe = X_("${ffmpeg}/bin/ffmpeg");' \ - --replace-fail 'ffprobe_exe = X_("");' 'ffprobe_exe = X_("${ffmpeg}/bin/ffprobe");' - ''; + # Ardour's wscript requires git revision and date to be available. + # Since they are not, let's generate the file manually. + postPatch = '' + printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = "${finalAttrs.version}"; const char* date = ""; }\n' > libs/ardour/revision.cc + sed 's|/usr/include/libintl.h|${glibc.dev}/include/libintl.h|' -i wscript + patchShebangs ./tools/ + substituteInPlace libs/ardour/video_tools_paths.cc \ + --replace-fail 'ffmpeg_exe = X_("");' 'ffmpeg_exe = X_("${ffmpeg}/bin/ffmpeg");' \ + --replace-fail 'ffprobe_exe = X_("");' 'ffprobe_exe = X_("${ffmpeg}/bin/ffprobe");' + ''; - nativeBuildInputs = [ - doxygen - graphviz # for dot - itstool - makeWrapper - perl - pkg-config - python3 - wafHook - ]; - - buildInputs = - [ - alsa-lib - aubio - boost - cairomm - cppunit - curl - dbus - ffmpeg - fftw - fftwSinglePrec - flac - fluidsynth - glibmm - gtkmm2 - hidapi + nativeBuildInputs = [ + doxygen + graphviz # for dot itstool - kissfft - libarchive - libjack2 - liblo - libltc - libogg - libpulseaudio - librdf_rasqal - libsamplerate - libsigcxx - libsndfile - libusb1 - libuv - libwebsockets - libxml2 - libxslt - lilv - lrdf - lv2 - pango + makeWrapper perl + pkg-config python3 - qm-dsp - readline - rubberband - serd - sord - soundtouch - sratom - suil - taglib - vamp-plugin-sdk - ] - ++ lib.optionals videoSupport [ - harvid - xjadeo + wafHook ]; - wafConfigureFlags = [ - "--cxx17" - "--docs" - "--freedesktop" - "--no-phone-home" - "--ptformat" - "--run-tests" - "--test" - # since we don't have https://github.com/agfline/LibAAF yet, - # we need to use some of ardours internal libs, see: - # https://discourse.ardour.org/t/ardour-8-2-released/109615/6 - # and - # https://discourse.ardour.org/t/ardour-8-2-released/109615/8 - # "--use-external-libs" - ] ++ lib.optional optimize "--optimize"; + buildInputs = + [ + alsa-lib + aubio + boost + cairomm + cppunit + curl + dbus + ffmpeg + fftw + fftwSinglePrec + flac + fluidsynth + glibmm + gtkmm2 + hidapi + itstool + kissfft + libarchive + libjack2 + liblo + libltc + libogg + libpulseaudio + librdf_rasqal + libsamplerate + libsigcxx + libsndfile + libusb1 + libuv + libwebsockets + libxml2 + libxslt + lilv + lrdf + lv2 + pango + perl + python3 + qm-dsp + readline + rubberband + serd + sord + soundtouch + sratom + suil + taglib + vamp-plugin-sdk + ] + ++ lib.optionals videoSupport [ + harvid + xjadeo + ]; - postInstall = - '' - # wscript does not install these for some reason - install -vDm 644 "build/gtk2_ardour/ardour.xml" \ - -t "$out/share/mime/packages" - install -vDm 644 "build/gtk2_ardour/ardour${lib.versions.major version}.desktop" \ - -t "$out/share/applications" - for size in 16 22 32 48 256 512; do - install -vDm 644 "gtk2_ardour/resources/Ardour-icon_''${size}px.png" \ - "$out/share/icons/hicolor/''${size}x''${size}/apps/ardour${lib.versions.major version}.png" - done - install -vDm 644 "ardour.1"* -t "$out/share/man/man1" + wafConfigureFlags = [ + "--cxx17" + "--docs" + "--freedesktop" + "--no-phone-home" + "--ptformat" + "--run-tests" + "--test" + # since we don't have https://github.com/agfline/LibAAF yet, + # we need to use some of ardours internal libs, see: + # https://discourse.ardour.org/t/ardour-8-2-released/109615/6 + # and + # https://discourse.ardour.org/t/ardour-8-2-released/109615/8 + # "--use-external-libs" + ] ++ lib.optional optimize "--optimize"; - # install additional bundled beats, chords and progressions - cp -rp "${bundledContent}"/* "$out/share/ardour${lib.versions.major version}/media" - '' - + lib.optionalString videoSupport '' - # `harvid` and `xjadeo` must be accessible in `PATH` for video to work. - wrapProgram "$out/bin/ardour${lib.versions.major version}" \ - --prefix PATH : "${ - lib.makeBinPath [ - harvid - xjadeo - ] - }" - ''; + postInstall = + '' + # wscript does not install these for some reason + install -vDm 644 "build/gtk2_ardour/ardour.xml" \ + -t "$out/share/mime/packages" + install -vDm 644 "build/gtk2_ardour/ardour${majorVersion}.desktop" \ + -t "$out/share/applications" + for size in 16 22 32 48 256 512; do + install -vDm 644 "gtk2_ardour/resources/Ardour-icon_''${size}px.png" \ + "$out/share/icons/hicolor/''${size}x''${size}/apps/ardour${majorVersion}.png" + done + install -vDm 644 "ardour.1"* -t "$out/share/man/man1" - LINKFLAGS = "-lpthread"; + # install additional bundled beats, chords and progressions + cp -rp "${finalAttrs.bundledContent}"/* "$out/share/ardour${majorVersion}/media" + '' + + lib.optionalString videoSupport '' + # `harvid` and `xjadeo` must be accessible in `PATH` for video to work. + wrapProgram "$out/bin/ardour${majorVersion}" \ + --prefix PATH : "${ + lib.makeBinPath [ + harvid + xjadeo + ] + }" + ''; - meta = { - description = "Multi-track hard disk recording software"; - longDescription = '' - Ardour is a digital audio workstation (DAW), You can use it to - record, edit and mix multi-track audio and midi. Produce your - own CDs. Mix video soundtracks. Experiment with new ideas about - music and sound. + LINKFLAGS = "-lpthread"; - Please consider supporting the ardour project financially: - https://community.ardour.org/donate - ''; - homepage = "https://ardour.org/"; - license = lib.licenses.gpl2Plus; - mainProgram = "ardour8"; - platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ - magnetophon - mitchmindtree - ]; - }; -} + meta = { + description = "Multi-track hard disk recording software"; + longDescription = '' + Ardour is a digital audio workstation (DAW), You can use it to + record, edit and mix multi-track audio and midi. Produce your + own CDs. Mix video soundtracks. Experiment with new ideas about + music and sound. + + Please consider supporting the ardour project financially: + https://community.ardour.org/donate + ''; + homepage = "https://ardour.org/"; + license = lib.licenses.gpl2Plus; + mainProgram = "ardour8"; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ + magnetophon + mitchmindtree + ryand56 + ]; + }; + } +) diff --git a/pkgs/applications/audio/deadbeef/plugins/lyricbar.nix b/pkgs/applications/audio/deadbeef/plugins/lyricbar.nix index 3a6a705de5cb..28b390d837e9 100644 --- a/pkgs/applications/audio/deadbeef/plugins/lyricbar.nix +++ b/pkgs/applications/audio/deadbeef/plugins/lyricbar.nix @@ -26,6 +26,8 @@ stdenv.mkDerivation { libxmlxx3 ]; + NIX_CFLAGS_COMPILE = "-Wno-incompatible-pointer-types"; + buildFlags = [ "gtk3" ]; meta = with lib; { diff --git a/pkgs/applications/audio/deadbeef/plugins/musical-spectrum.nix b/pkgs/applications/audio/deadbeef/plugins/musical-spectrum.nix index f0a77e38e41d..3cac7e91ec29 100644 --- a/pkgs/applications/audio/deadbeef/plugins/musical-spectrum.nix +++ b/pkgs/applications/audio/deadbeef/plugins/musical-spectrum.nix @@ -29,6 +29,8 @@ stdenv.mkDerivation { ]; makeFlags = [ "gtk3" ]; + NIX_CFLAGS_COMPILE = "-Wno-incompatible-pointer-types"; + installPhase = '' runHook preInstall diff --git a/pkgs/applications/audio/mixxx/default.nix b/pkgs/applications/audio/mixxx/default.nix index 56eab79bba4f..027aab52109d 100644 --- a/pkgs/applications/audio/mixxx/default.nix +++ b/pkgs/applications/audio/mixxx/default.nix @@ -56,13 +56,13 @@ stdenv.mkDerivation rec { pname = "mixxx"; - version = "2.5.1"; + version = "2.5.2"; src = fetchFromGitHub { owner = "mixxxdj"; repo = "mixxx"; rev = version; - hash = "sha256-s66XrcMGgA8KvBDxljg95nbKW1pIv8rJJ+DyxirHwDo="; + hash = "sha256-dKk3n3KDindnLbON52SW5h4cz96WVi0OPjwA27HqQCI="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/audio/noson/default.nix b/pkgs/applications/audio/noson/default.nix index 1270c10059c6..f99fa36c3b37 100644 --- a/pkgs/applications/audio/noson/default.nix +++ b/pkgs/applications/audio/noson/default.nix @@ -8,19 +8,20 @@ qtbase, qtgraphicaleffects, qtquickcontrols2, + qtwayland, wrapQtAppsHook, makeWrapper, }: stdenv.mkDerivation (finalAttrs: { pname = "noson"; - version = "5.6.10"; + version = "5.6.13"; src = fetchFromGitHub { owner = "janbar"; repo = "noson-app"; rev = finalAttrs.version; - hash = "sha256-ERlZtQTwPu5Y1i5cV9c5IMSJW30ootjmFix0EiF+/x0="; + hash = "sha256-XJBkPhyDPeyVrcY5Q5W9LtESuVxcbcQ8JoyOzKg+0NU="; }; nativeBuildInputs = [ @@ -29,13 +30,17 @@ stdenv.mkDerivation (finalAttrs: { makeWrapper ]; - buildInputs = [ - flac - libpulseaudio - qtbase - qtgraphicaleffects - qtquickcontrols2 - ]; + buildInputs = + [ + flac + libpulseaudio + qtbase + qtgraphicaleffects + qtquickcontrols2 + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + qtwayland + ]; # wrapQtAppsHook doesn't automatically find noson-gui dontWrapQtApps = true; diff --git a/pkgs/applications/audio/reaper/default.nix b/pkgs/applications/audio/reaper/default.nix index d53c11c00424..a2fcd05f28ee 100644 --- a/pkgs/applications/audio/reaper/default.nix +++ b/pkgs/applications/audio/reaper/default.nix @@ -38,17 +38,17 @@ let in stdenv.mkDerivation rec { pname = "reaper"; - version = "7.39"; + version = "7.40"; src = fetchurl { url = url_for_platform version stdenv.hostPlatform.qemuArch; hash = if stdenv.hostPlatform.isDarwin then - "sha256-Xfalo8fjNOdOBrvAHnZ7NqukDHKDNAYKxFwQSk2xRAo=" + "sha256-tTLuNflyj4tV8Avq0doinir+6oifaxw7C3yIkyPvAaY=" else { - x86_64-linux = "sha256-Aee8gzS0gwB9IU1H5GpaL7oJ4iKyQLdpFMvQjfgBYEA="; - aarch64-linux = "sha256-B+VWtGQ5pBE434pHccubHZPkNqT5nkNsuvhxKLa1Imc="; + x86_64-linux = "sha256-RqhlD6DKi1+M2FhkEM5SSximiwdD7eadkCEaOdCxBwE="; + aarch64-linux = "sha256-Iq5oQuKXebW/jUZEgEx09G6FlCuxmgrRJUMBwHAVaxI="; } .${stdenv.hostPlatform.system}; }; diff --git a/pkgs/applications/audio/seq66/default.nix b/pkgs/applications/audio/seq66/default.nix index c6cbbaa53756..8f4f1283655d 100644 --- a/pkgs/applications/audio/seq66/default.nix +++ b/pkgs/applications/audio/seq66/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { pname = "seq66"; - version = "0.99.19"; + version = "0.99.20"; src = fetchFromGitHub { owner = "ahlstromcj"; repo = "seq66"; rev = version; - hash = "sha256-9cEvwJTH6Iwi4aZQHTjQ/DhUtKYw2QC1Oq+D1/tpE90="; + hash = "sha256-YFSvwviC2f5PJD91jcmLuqf+kDqDeMhXNXD3n45kJL8="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/blockchains/bitcoin-abc/default.nix b/pkgs/applications/blockchains/bitcoin-abc/default.nix deleted file mode 100644 index a59989946e5a..000000000000 --- a/pkgs/applications/blockchains/bitcoin-abc/default.nix +++ /dev/null @@ -1,99 +0,0 @@ -{ - lib, - stdenv, - mkDerivation, - fetchFromGitHub, - fetchpatch2, - pkg-config, - cmake, - openssl, - db53, - boost, - zlib, - miniupnpc, - qtbase ? null, - qttools ? null, - util-linux, - protobuf, - qrencode, - libevent, - libnatpmp, - sqlite, - withGui, - python3, - jemalloc, - zeromq, -}: - -mkDerivation rec { - pname = "bitcoin" + lib.optionalString (!withGui) "d" + "-abc"; - version = "0.29.7"; - - src = fetchFromGitHub { - owner = "bitcoin-ABC"; - repo = "bitcoin-abc"; - rev = "v${version}"; - hash = "sha256-+9uBmmdQ/shWYnJ7tM+Y8OgqYcQHHI2qeMw2tl1lE+w="; - }; - - patches = [ - # upnp: add compatibility for miniupnpc 2.2.8 - (fetchpatch2 { - url = "https://github.com/Bitcoin-ABC/bitcoin-abc/commit/5678070f182124a1a8c7c60873d1877094be76ab.patch?full_index=1"; - hash = "sha256-QC7TlWepVxQuIZVTbGtQy+HmmXP8PWNhJWdVYudJvmI="; - }) - ]; - - nativeBuildInputs = [ - pkg-config - cmake - ]; - buildInputs = - [ - openssl - db53 - boost - zlib - python3 - jemalloc - libnatpmp - zeromq - miniupnpc - util-linux - protobuf - libevent - sqlite - ] - ++ lib.optionals withGui [ - qtbase - qttools - qrencode - ]; - - cmakeFlags = lib.optionals (!withGui) [ - "-DBUILD_BITCOIN_QT=OFF" - ]; - - # many of the generated scripts lack execute permissions - postConfigure = '' - find ./. -type f -iname "*.sh" -exec chmod +x {} \; - ''; - - meta = { - description = "Peer-to-peer electronic cash system (Cash client)"; - longDescription = '' - Bitcoin ABC is the name of open source software which enables the use of Bitcoin. - It is designed to facilite a hard fork to increase Bitcoin's block size limit. - "ABC" stands for "Adjustable Blocksize Cap". - - Bitcoin ABC is a fork of the Bitcoin Core software project. - ''; - homepage = "https://bitcoinabc.org/"; - changelog = "https://www.bitcoinabc.org/doc/release-notes/release-notes-${version}.html"; - maintainers = with lib.maintainers; [ lassulus ]; - license = lib.licenses.mit; - broken = stdenv.hostPlatform.isDarwin; - platforms = lib.platforms.unix; - mainProgram = "bitcoin-cli"; - }; -} diff --git a/pkgs/applications/display-managers/sddm/default.nix b/pkgs/applications/display-managers/sddm/default.nix index bbddc99731fc..23ba6006d737 100644 --- a/pkgs/applications/display-managers/sddm/default.nix +++ b/pkgs/applications/display-managers/sddm/default.nix @@ -21,6 +21,8 @@ runCommand "sddm-wrapped" ++ lib.optional (withWayland && withLayerShellQt) layer-shell-qt; nativeBuildInputs = [ wrapQtAppsHook ]; + strictDeps = true; + passthru = { inherit unwrapped; inherit (unwrapped.passthru) tests; diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix index 5f15e827ef02..705b78e6cf55 100644 --- a/pkgs/applications/editors/android-studio/default.nix +++ b/pkgs/applications/editors/android-studio/default.nix @@ -20,12 +20,12 @@ let sha256Hash = "sha256-L8s8l1/Q4AJEGvdzTLLu9sRZlkNyRDMQvK8moZXOeIE="; }; betaVersion = { - version = "2024.3.2.13"; # "Android Studio Meerkat Feature Drop | 2024.3.2 RC 4" - sha256Hash = "sha256-tPRTDFyKGPR1DKuJRBcwjWjNxylS/8Zv/Nd6vBmcujg="; + version = "2025.1.1.11"; # "Android Studio Narwhal | 2025.1.1 RC 1" + sha256Hash = "sha256-upx+qcrd+E4XVV94iaqZPN8w1RpcD8KfV37397nkznU="; }; latestVersion = { - version = "2025.1.2.2"; # "Android Studio Narwhal Feature Drop | 2025.1.2 Canary 2" - sha256Hash = "sha256-zQ3PK9Fq8iYocSRFsYXNrnJ34QJGUkQoLtSNhFA2Ido="; + version = "2025.1.2.5"; # "Android Studio Narwhal Feature Drop | 2025.1.2 Canary 5" + sha256Hash = "sha256-7GgWBwMrsGwqjodjBBQEFzT6MqJ+LgzP3emoS8HJjfE="; }; in { diff --git a/pkgs/applications/editors/emacs/make-emacs.nix b/pkgs/applications/editors/emacs/make-emacs.nix index 1a1211d6bf84..abb61a2a228c 100644 --- a/pkgs/applications/editors/emacs/make-emacs.nix +++ b/pkgs/applications/editors/emacs/make-emacs.nix @@ -35,6 +35,7 @@ libXft, libXi, libXpm, + libXrandr, libgccjit, libjpeg, libotf, @@ -339,6 +340,7 @@ mkDerivation (finalAttrs: { giflib libXaw libXpm + libXrandr libjpeg libpng librsvg diff --git a/pkgs/applications/editors/jetbrains/bin/versions.json b/pkgs/applications/editors/jetbrains/bin/versions.json index 2220a70fe0f6..ef2b8e40fb32 100644 --- a/pkgs/applications/editors/jetbrains/bin/versions.json +++ b/pkgs/applications/editors/jetbrains/bin/versions.json @@ -11,58 +11,58 @@ "clion": { "update-channel": "CLion RELEASE", "url-template": "https://download.jetbrains.com/cpp/CLion-{version}.tar.gz", - "version": "2025.1.1", - "sha256": "2f747d7240d70b65ed98d736dbcd6ac2b98ac93aff993a63c5f8bd0f65918ac5", - "url": "https://download.jetbrains.com/cpp/CLion-2025.1.1.tar.gz", - "build_number": "251.25410.104" + "version": "2025.1.2", + "sha256": "3bdd0cd731bcdcd15de7ebee3ec36a13b82b72f68a77f6e6e780e36d88acd51e", + "url": "https://download.jetbrains.com/cpp/CLion-2025.1.2.tar.gz", + "build_number": "251.26094.123" }, "datagrip": { "update-channel": "DataGrip RELEASE", "url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}.tar.gz", - "version": "2025.1.2", - "sha256": "47d1c891a34f12f371aeab2364b9280766e1e99b27933f8d11c3c3832ed865ca", - "url": "https://download.jetbrains.com/datagrip/datagrip-2025.1.2.tar.gz", - "build_number": "251.25410.123" + "version": "2025.1.3", + "sha256": "b672b2b50e2ae539af24e32ac7678ff32a8b207e6692e12c8b891eaf78200d24", + "url": "https://download.jetbrains.com/datagrip/datagrip-2025.1.3.tar.gz", + "build_number": "251.26094.87" }, "dataspell": { "update-channel": "DataSpell RELEASE", "url-template": "https://download.jetbrains.com/python/dataspell-{version}.tar.gz", - "version": "2025.1", - "sha256": "d0078ceae9f7ae8cc6b57223874e3a818383aedf10fa8b73b2d34a522c52e53d", - "url": "https://download.jetbrains.com/python/dataspell-2025.1.tar.gz", - "build_number": "251.23774.439" + "version": "2025.1.1", + "sha256": "e0711b629ad45d6d051fd9796bf81689d46212fdd8f21306128a8522097ca3e9", + "url": "https://download.jetbrains.com/python/dataspell-2025.1.1.tar.gz", + "build_number": "251.25410.158" }, "gateway": { "update-channel": "Gateway RELEASE", "url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}.tar.gz", - "version": "2025.1.1", - "sha256": "edccd3d877407dfc628d9ba2a8ee767c11a861532dd4e0b1cb2a4d8787476ea8", - "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2025.1.1.tar.gz", - "build_number": "251.25410.139" + "version": "2025.1.2", + "sha256": "666ea22f7bdfdbf327dd77b7292e2abf5a3ac356ae043fe8b35102d78437d7f2", + "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2025.1.2.tar.gz", + "build_number": "251.26094.128" }, "goland": { "update-channel": "GoLand RELEASE", "url-template": "https://download.jetbrains.com/go/goland-{version}.tar.gz", - "version": "2025.1.1", - "sha256": "fb94d5df43942db47a5506b50e511457cf845b986e70168171b9f5324b7d0d77", - "url": "https://download.jetbrains.com/go/goland-2025.1.1.tar.gz", - "build_number": "251.25410.140" + "version": "2025.1.2", + "sha256": "18d4465e8c50911d8f4ecd7ba75ee1aa14cf3d05eb4df39790729cf67bf2a638", + "url": "https://download.jetbrains.com/go/goland-2025.1.2.tar.gz", + "build_number": "251.26094.127" }, "idea-community": { "update-channel": "IntelliJ IDEA RELEASE", "url-template": "https://download.jetbrains.com/idea/ideaIC-{version}.tar.gz", - "version": "2025.1.1.1", - "sha256": "36b72ac85e8e1536dfccb300b5a435461b1e2953585a90a5d8f06e1b263b0b5c", - "url": "https://download.jetbrains.com/idea/ideaIC-2025.1.1.1.tar.gz", - "build_number": "251.25410.129" + "version": "2025.1.2", + "sha256": "70dc870bd31fda67de30d3a132cfed543d5e67c15c7db52f6f4c4691a044930a", + "url": "https://download.jetbrains.com/idea/ideaIC-2025.1.2.tar.gz", + "build_number": "251.26094.121" }, "idea-ultimate": { "update-channel": "IntelliJ IDEA RELEASE", "url-template": "https://download.jetbrains.com/idea/ideaIU-{version}.tar.gz", - "version": "2025.1.1.1", - "sha256": "337d34b20cdaa8da30d71b98e1b36817bdfe2f2245c491ef38f0cee02f0d0316", - "url": "https://download.jetbrains.com/idea/ideaIU-2025.1.1.1.tar.gz", - "build_number": "251.25410.129" + "version": "2025.1.2", + "sha256": "1e675bda1314ae914b64b31a22309ba2eba6f35e6659e53d4b291e73c2fb856b", + "url": "https://download.jetbrains.com/idea/ideaIU-2025.1.2.tar.gz", + "build_number": "251.26094.121" }, "mps": { "update-channel": "MPS RELEASE", @@ -75,27 +75,27 @@ "phpstorm": { "update-channel": "PhpStorm RELEASE", "url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}.tar.gz", - "version": "2025.1.1", - "sha256": "b64722ea715db8566754978af617716016deaa2cda3521cf05e4a049e5bbf6a3", - "url": "https://download.jetbrains.com/webide/PhpStorm-2025.1.1.tar.gz", - "build_number": "251.25410.148", + "version": "2025.1.2", + "sha256": "229f3afde8e3466e1d262de915420f66a5fc97858788cc08f7d0f0b826c2a77b", + "url": "https://download.jetbrains.com/webide/PhpStorm-2025.1.2.tar.gz", + "build_number": "251.26094.133", "version-major-minor": "2022.3" }, "pycharm-community": { "update-channel": "PyCharm RELEASE", "url-template": "https://download.jetbrains.com/python/pycharm-community-{version}.tar.gz", - "version": "2025.1.1", - "sha256": "d2df49f8ec2df88039f535e0d8706d35f608db3e58b9411f5e8e726536788237", - "url": "https://download.jetbrains.com/python/pycharm-community-2025.1.1.tar.gz", - "build_number": "251.25410.122" + "version": "2025.1.2", + "sha256": "193fbbb638235c4c671bb6c6b432f43a2d46f7f7ebd6b5f2cc8a1db7db93c5d6", + "url": "https://download.jetbrains.com/python/pycharm-community-2025.1.2.tar.gz", + "build_number": "251.26094.141" }, "pycharm-professional": { "update-channel": "PyCharm RELEASE", "url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}.tar.gz", - "version": "2025.1.1", - "sha256": "b1e8660b1c947f3bb746d0736e1e9c247635fadedb52f230ef5c64862893ad0b", - "url": "https://download.jetbrains.com/python/pycharm-professional-2025.1.1.tar.gz", - "build_number": "251.25410.122" + "version": "2025.1.2", + "sha256": "4a407779c5df9728e29698eeabdb4533911e755ead224d0c1deff959876c3108", + "url": "https://download.jetbrains.com/python/pycharm-professional-2025.1.2.tar.gz", + "build_number": "251.26094.141" }, "rider": { "update-channel": "Rider RELEASE", @@ -108,26 +108,26 @@ "ruby-mine": { "update-channel": "RubyMine RELEASE", "url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}.tar.gz", - "version": "2025.1.1", - "sha256": "f5014b52770be4d1c743c5a60f0e20d0dd1a1c172018180d05c0a22f1ffd1027", - "url": "https://download.jetbrains.com/ruby/RubyMine-2025.1.1.tar.gz", - "build_number": "251.25410.120" + "version": "2025.1.2", + "sha256": "2d4127e0284a262acb015c9d4247b654592e045b61664043a4de56029b45174f", + "url": "https://download.jetbrains.com/ruby/RubyMine-2025.1.2.tar.gz", + "build_number": "251.26094.122" }, "rust-rover": { "update-channel": "RustRover RELEASE", "url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}.tar.gz", - "version": "2025.1.2", - "sha256": "b2974feb5406153817797b7dc93baaafe35c7b3687d38091d5d1b5d010a03132", - "url": "https://download.jetbrains.com/rustrover/RustRover-2025.1.2.tar.gz", - "build_number": "251.25410.115" + "version": "2025.1.3", + "sha256": "b3c4999f1d7ef7deffa56bfe75f011a012842bec5c199b0090d2ac45af78ea5e", + "url": "https://download.jetbrains.com/rustrover/RustRover-2025.1.3.tar.gz", + "build_number": "251.25410.170" }, "webstorm": { "update-channel": "WebStorm RELEASE", "url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}.tar.gz", - "version": "2025.1.1", - "sha256": "411b6d93e47d7743aa9189f4a3cab3956c573ce406908da5621f8dee0098ad99", - "url": "https://download.jetbrains.com/webstorm/WebStorm-2025.1.1.tar.gz", - "build_number": "251.25410.117" + "version": "2025.1.2", + "sha256": "055510371e3c6a8d9fbfcd352645d847d2c092309c4746222babe4af240c2eac", + "url": "https://download.jetbrains.com/webstorm/WebStorm-2025.1.2.tar.gz", + "build_number": "251.26094.131" }, "writerside": { "update-channel": "Writerside EAP", @@ -150,58 +150,58 @@ "clion": { "update-channel": "CLion RELEASE", "url-template": "https://download.jetbrains.com/cpp/CLion-{version}-aarch64.tar.gz", - "version": "2025.1.1", - "sha256": "dcd7373dc9dd941703d18ae602dd384ce6d154a90745c37c3358bf1f6b41ed2e", - "url": "https://download.jetbrains.com/cpp/CLion-2025.1.1-aarch64.tar.gz", - "build_number": "251.25410.104" + "version": "2025.1.2", + "sha256": "911568cef55f23b134a4c316b5436214c2b51638c14a3b243785e19e354c2d4c", + "url": "https://download.jetbrains.com/cpp/CLion-2025.1.2-aarch64.tar.gz", + "build_number": "251.26094.123" }, "datagrip": { "update-channel": "DataGrip RELEASE", "url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}-aarch64.tar.gz", - "version": "2025.1.2", - "sha256": "fb34b6469c96a54018b3c728f96787d03da0ec92c88a80f52e8f89a0eecc8d01", - "url": "https://download.jetbrains.com/datagrip/datagrip-2025.1.2-aarch64.tar.gz", - "build_number": "251.25410.123" + "version": "2025.1.3", + "sha256": "ca0b5a6685e8494311e3276ad22c097ea3a2f8925baff39951a45c467f3c547c", + "url": "https://download.jetbrains.com/datagrip/datagrip-2025.1.3-aarch64.tar.gz", + "build_number": "251.26094.87" }, "dataspell": { "update-channel": "DataSpell RELEASE", "url-template": "https://download.jetbrains.com/python/dataspell-{version}-aarch64.tar.gz", - "version": "2025.1", - "sha256": "e55cfc4e3327aff6bd3447e2980cd1e5cbd9223c8e0330688d65031b1e95d0fd", - "url": "https://download.jetbrains.com/python/dataspell-2025.1-aarch64.tar.gz", - "build_number": "251.23774.439" + "version": "2025.1.1", + "sha256": "4f7f05141bee346dd29ed48dafcea24197494aa8bbc02409df9089da1c8e0be8", + "url": "https://download.jetbrains.com/python/dataspell-2025.1.1-aarch64.tar.gz", + "build_number": "251.25410.158" }, "gateway": { "update-channel": "Gateway RELEASE", "url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}-aarch64.tar.gz", - "version": "2025.1.1", - "sha256": "869882db293640328f5e1ae80c5cf60183ba850f6087ab1b3cf95ec77b3837be", - "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2025.1.1-aarch64.tar.gz", - "build_number": "251.25410.139" + "version": "2025.1.2", + "sha256": "306a3eea012a9c398d95e1579fab38c5979297390ae048c98bd32026bd0fbe7f", + "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2025.1.2-aarch64.tar.gz", + "build_number": "251.26094.128" }, "goland": { "update-channel": "GoLand RELEASE", "url-template": "https://download.jetbrains.com/go/goland-{version}-aarch64.tar.gz", - "version": "2025.1.1", - "sha256": "949e86c6991e14d90adcaea75c18f679b1ab029ec0c00f00f464a631e999c036", - "url": "https://download.jetbrains.com/go/goland-2025.1.1-aarch64.tar.gz", - "build_number": "251.25410.140" + "version": "2025.1.2", + "sha256": "71f8c4addac839823b9875e6f01f8ab98d7cf77ab9acf03c09e057cc5d030757", + "url": "https://download.jetbrains.com/go/goland-2025.1.2-aarch64.tar.gz", + "build_number": "251.26094.127" }, "idea-community": { "update-channel": "IntelliJ IDEA RELEASE", "url-template": "https://download.jetbrains.com/idea/ideaIC-{version}-aarch64.tar.gz", - "version": "2025.1.1.1", - "sha256": "7860b836a18b82827fdb54a86cc5601fe8ef28aab4253981f238ef975a982915", - "url": "https://download.jetbrains.com/idea/ideaIC-2025.1.1.1-aarch64.tar.gz", - "build_number": "251.25410.129" + "version": "2025.1.2", + "sha256": "d98c8d7bdc3e274d278b81ba2b6c1baa38f67be9407b4bfd3bad3413c6f128f1", + "url": "https://download.jetbrains.com/idea/ideaIC-2025.1.2-aarch64.tar.gz", + "build_number": "251.26094.121" }, "idea-ultimate": { "update-channel": "IntelliJ IDEA RELEASE", "url-template": "https://download.jetbrains.com/idea/ideaIU-{version}-aarch64.tar.gz", - "version": "2025.1.1.1", - "sha256": "756baa32d72bd982d9b8c06f86cd42755d2677a9f1ea37bd6ad6a963d17226b2", - "url": "https://download.jetbrains.com/idea/ideaIU-2025.1.1.1-aarch64.tar.gz", - "build_number": "251.25410.129" + "version": "2025.1.2", + "sha256": "0f982a4f4424bde5a33206c20df053a7afe174fe9d590943665504814a273c9d", + "url": "https://download.jetbrains.com/idea/ideaIU-2025.1.2-aarch64.tar.gz", + "build_number": "251.26094.121" }, "mps": { "update-channel": "MPS RELEASE", @@ -214,27 +214,27 @@ "phpstorm": { "update-channel": "PhpStorm RELEASE", "url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}-aarch64.tar.gz", - "version": "2025.1.1", - "sha256": "6e479318f5627ec1d6ccd47610a93aa9e9a56c9badd2be4d8f935008d0e71b9e", - "url": "https://download.jetbrains.com/webide/PhpStorm-2025.1.1-aarch64.tar.gz", - "build_number": "251.25410.148", + "version": "2025.1.2", + "sha256": "2c3b703fc1d97e87fa02664bd1165ecf8439898b0a4561f522edd0252606ab5a", + "url": "https://download.jetbrains.com/webide/PhpStorm-2025.1.2-aarch64.tar.gz", + "build_number": "251.26094.133", "version-major-minor": "2022.3" }, "pycharm-community": { "update-channel": "PyCharm RELEASE", "url-template": "https://download.jetbrains.com/python/pycharm-community-{version}-aarch64.tar.gz", - "version": "2025.1.1", - "sha256": "d717e039a91587e5396c69d056ebd91f640ae03ddf398e575c8f8eb3817d8afb", - "url": "https://download.jetbrains.com/python/pycharm-community-2025.1.1-aarch64.tar.gz", - "build_number": "251.25410.122" + "version": "2025.1.2", + "sha256": "10e7426804d649d3c5bdbfc365cf85fe73dd7e74e67fd1e4c82645e8532d17e7", + "url": "https://download.jetbrains.com/python/pycharm-community-2025.1.2-aarch64.tar.gz", + "build_number": "251.26094.141" }, "pycharm-professional": { "update-channel": "PyCharm RELEASE", "url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}-aarch64.tar.gz", - "version": "2025.1.1", - "sha256": "3f8f8a3773652ec99ea7a05b55dff41b5683548838f009e5e3d132ea644384d9", - "url": "https://download.jetbrains.com/python/pycharm-professional-2025.1.1-aarch64.tar.gz", - "build_number": "251.25410.122" + "version": "2025.1.2", + "sha256": "831f5563a354e617158cd88c2a63c0bda80b21c3a64fc98a3b6dc7ae22151805", + "url": "https://download.jetbrains.com/python/pycharm-professional-2025.1.2-aarch64.tar.gz", + "build_number": "251.26094.141" }, "rider": { "update-channel": "Rider RELEASE", @@ -247,26 +247,26 @@ "ruby-mine": { "update-channel": "RubyMine RELEASE", "url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}-aarch64.tar.gz", - "version": "2025.1.1", - "sha256": "00b7526795af4e7eba1c65fc5e10a963e717770e68c5bfd28b10163f9fa37f8c", - "url": "https://download.jetbrains.com/ruby/RubyMine-2025.1.1-aarch64.tar.gz", - "build_number": "251.25410.120" + "version": "2025.1.2", + "sha256": "13ed96cc82771ec49ce8e9f72179ac12829f4bc2ffae6a9ab553708aec47d4a9", + "url": "https://download.jetbrains.com/ruby/RubyMine-2025.1.2-aarch64.tar.gz", + "build_number": "251.26094.122" }, "rust-rover": { "update-channel": "RustRover RELEASE", "url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}-aarch64.tar.gz", - "version": "2025.1.2", - "sha256": "4660f8f2fd37b166bae904385b863157ab596fac35869de17a39df999efde8ce", - "url": "https://download.jetbrains.com/rustrover/RustRover-2025.1.2-aarch64.tar.gz", - "build_number": "251.25410.115" + "version": "2025.1.3", + "sha256": "4fcd2d8560dd7fe60c3262474dd1fcea1d54b476869a62ede0de86b8d115fce9", + "url": "https://download.jetbrains.com/rustrover/RustRover-2025.1.3-aarch64.tar.gz", + "build_number": "251.25410.170" }, "webstorm": { "update-channel": "WebStorm RELEASE", "url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}-aarch64.tar.gz", - "version": "2025.1.1", - "sha256": "0156affae3222afb51cfe8a82e1eabf26f62bd91a74a2822fa821afd1eab9bad", - "url": "https://download.jetbrains.com/webstorm/WebStorm-2025.1.1-aarch64.tar.gz", - "build_number": "251.25410.117" + "version": "2025.1.2", + "sha256": "c182bcd17ff4d0188c0e024952677dd21415456a421c5c1aaa356870f2efa009", + "url": "https://download.jetbrains.com/webstorm/WebStorm-2025.1.2-aarch64.tar.gz", + "build_number": "251.26094.131" }, "writerside": { "update-channel": "Writerside EAP", @@ -289,58 +289,58 @@ "clion": { "update-channel": "CLion RELEASE", "url-template": "https://download.jetbrains.com/cpp/CLion-{version}.dmg", - "version": "2025.1.1", - "sha256": "e7558d0196390c18e2c11143aa59f2ad56c020d43ebd05057f997fa117abb484", - "url": "https://download.jetbrains.com/cpp/CLion-2025.1.1.dmg", - "build_number": "251.25410.104" + "version": "2025.1.2", + "sha256": "f7dde8532ba52d4cfaab37828ba52fa2e159d82baf1fa555c1a0e65bb1186a86", + "url": "https://download.jetbrains.com/cpp/CLion-2025.1.2.dmg", + "build_number": "251.26094.123" }, "datagrip": { "update-channel": "DataGrip RELEASE", "url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}.dmg", - "version": "2025.1.2", - "sha256": "a6b7dadb262813d867281d700456c7bca82b61bea99e52fd54edec05cd07180e", - "url": "https://download.jetbrains.com/datagrip/datagrip-2025.1.2.dmg", - "build_number": "251.25410.123" + "version": "2025.1.3", + "sha256": "006fb7a0875c8fd205cd1d4204dee3be87d1fe359375b75e20ee6e0d21ca7d00", + "url": "https://download.jetbrains.com/datagrip/datagrip-2025.1.3.dmg", + "build_number": "251.26094.87" }, "dataspell": { "update-channel": "DataSpell RELEASE", "url-template": "https://download.jetbrains.com/python/dataspell-{version}.dmg", - "version": "2025.1", - "sha256": "dd856c72855b0309ea98774a3b4c38cf899b6e307dbd3ced316cd8cc721faa38", - "url": "https://download.jetbrains.com/python/dataspell-2025.1.dmg", - "build_number": "251.23774.439" + "version": "2025.1.1", + "sha256": "a0b3bd8513f98e448a90132dfb61b221cab22938d8a3992627f9cb141cf71926", + "url": "https://download.jetbrains.com/python/dataspell-2025.1.1.dmg", + "build_number": "251.25410.158" }, "gateway": { "update-channel": "Gateway RELEASE", "url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}.dmg", - "version": "2025.1.1", - "sha256": "c849cd16b77b5268ee2e8279bddf02c21a925a25885549d0b1922a785f18120f", - "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2025.1.1.dmg", - "build_number": "251.25410.139" + "version": "2025.1.2", + "sha256": "b4e45266159352598d0cbd7b03283cb53260d20866ca77d57a43150e81cf3d09", + "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2025.1.2.dmg", + "build_number": "251.26094.128" }, "goland": { "update-channel": "GoLand RELEASE", "url-template": "https://download.jetbrains.com/go/goland-{version}.dmg", - "version": "2025.1.1", - "sha256": "0b00984d45430b37538bf9c55f8f93f1476f819fba1bdea2588ffd36d7e91cb3", - "url": "https://download.jetbrains.com/go/goland-2025.1.1.dmg", - "build_number": "251.25410.140" + "version": "2025.1.2", + "sha256": "6d3c732fb3aadc7dad9bb6dafd294be04c82a4dd994223e4982b77213bf9a4b6", + "url": "https://download.jetbrains.com/go/goland-2025.1.2.dmg", + "build_number": "251.26094.127" }, "idea-community": { "update-channel": "IntelliJ IDEA RELEASE", "url-template": "https://download.jetbrains.com/idea/ideaIC-{version}.dmg", - "version": "2025.1.1.1", - "sha256": "ee1577a44930b94112819b200acd617cbb3efdfa039df7911094051e9a10e465", - "url": "https://download.jetbrains.com/idea/ideaIC-2025.1.1.1.dmg", - "build_number": "251.25410.129" + "version": "2025.1.2", + "sha256": "c64c7ff7fe2e73d7552f1727d912bb5f901d040c7269b4292f94190475580c2b", + "url": "https://download.jetbrains.com/idea/ideaIC-2025.1.2.dmg", + "build_number": "251.26094.121" }, "idea-ultimate": { "update-channel": "IntelliJ IDEA RELEASE", "url-template": "https://download.jetbrains.com/idea/ideaIU-{version}.dmg", - "version": "2025.1.1.1", - "sha256": "eccd0ba3f9b1f2f680b946a3658830562fd4369dd11cc618b86671c8e237c375", - "url": "https://download.jetbrains.com/idea/ideaIU-2025.1.1.1.dmg", - "build_number": "251.25410.129" + "version": "2025.1.2", + "sha256": "bacfa3bcf48d57d8e8ca8d352895025ffc42ce395b9b0074b3b566dc217324c9", + "url": "https://download.jetbrains.com/idea/ideaIU-2025.1.2.dmg", + "build_number": "251.26094.121" }, "mps": { "update-channel": "MPS RELEASE", @@ -353,27 +353,27 @@ "phpstorm": { "update-channel": "PhpStorm RELEASE", "url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}.dmg", - "version": "2025.1.1", - "sha256": "2f7c9b0ec1947c7bb2247fd3a949de9921e82e9a2801e388f6cf9d4421073dbd", - "url": "https://download.jetbrains.com/webide/PhpStorm-2025.1.1.dmg", - "build_number": "251.25410.148", + "version": "2025.1.2", + "sha256": "18b63995efa4e5ef555f08089c998694b4e3fcda84013155e970524f92c1b90e", + "url": "https://download.jetbrains.com/webide/PhpStorm-2025.1.2.dmg", + "build_number": "251.26094.133", "version-major-minor": "2022.3" }, "pycharm-community": { "update-channel": "PyCharm RELEASE", "url-template": "https://download.jetbrains.com/python/pycharm-community-{version}.dmg", - "version": "2025.1.1", - "sha256": "3d439ad29771d8618b03f28497899f09a6eb696c96c789b54aac9ac1bfb4766c", - "url": "https://download.jetbrains.com/python/pycharm-community-2025.1.1.dmg", - "build_number": "251.25410.122" + "version": "2025.1.2", + "sha256": "38283e62677079d7d830217087c563ac6daf5e71422c03e56082bde9572e3908", + "url": "https://download.jetbrains.com/python/pycharm-community-2025.1.2.dmg", + "build_number": "251.26094.141" }, "pycharm-professional": { "update-channel": "PyCharm RELEASE", "url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}.dmg", - "version": "2025.1.1", - "sha256": "cd56a7e1072f4562e2d3ef67e70f227606376572634120170f5689d3b970b570", - "url": "https://download.jetbrains.com/python/pycharm-professional-2025.1.1.dmg", - "build_number": "251.25410.122" + "version": "2025.1.2", + "sha256": "41c6187f4f044522d02749f979cef8f127337b2945772070a0ba44c53a6ebf0c", + "url": "https://download.jetbrains.com/python/pycharm-professional-2025.1.2.dmg", + "build_number": "251.26094.141" }, "rider": { "update-channel": "Rider RELEASE", @@ -386,26 +386,26 @@ "ruby-mine": { "update-channel": "RubyMine RELEASE", "url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}.dmg", - "version": "2025.1.1", - "sha256": "97b154079ef326c9a3ce229129d7d220faee30f266954288f74bf6f27ee43942", - "url": "https://download.jetbrains.com/ruby/RubyMine-2025.1.1.dmg", - "build_number": "251.25410.120" + "version": "2025.1.2", + "sha256": "059d3d4c089b9277089bd7d64b8f6eedcf039fe791cddc694af434a1c5ad88c8", + "url": "https://download.jetbrains.com/ruby/RubyMine-2025.1.2.dmg", + "build_number": "251.26094.122" }, "rust-rover": { "update-channel": "RustRover RELEASE", "url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}.dmg", - "version": "2025.1.2", - "sha256": "1419d2aac23965838e16c2bedc31851045f8b9d99ccf93594838a4e329059d92", - "url": "https://download.jetbrains.com/rustrover/RustRover-2025.1.2.dmg", - "build_number": "251.25410.115" + "version": "2025.1.3", + "sha256": "2ed48a8d1f0afb13a5a2d59a1f478128bff406028f82290db1f9b2847a1e6ade", + "url": "https://download.jetbrains.com/rustrover/RustRover-2025.1.3.dmg", + "build_number": "251.25410.170" }, "webstorm": { "update-channel": "WebStorm RELEASE", "url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}.dmg", - "version": "2025.1.1", - "sha256": "44363b71b4ad461c07c2c0ae8424f6efabe356b347a2974765f88549a8ee183c", - "url": "https://download.jetbrains.com/webstorm/WebStorm-2025.1.1.dmg", - "build_number": "251.25410.117" + "version": "2025.1.2", + "sha256": "c33853a8d8a2dd47ce3a795202e2d802a9f1888b2c998c91cdfc9bc66f9bb19a", + "url": "https://download.jetbrains.com/webstorm/WebStorm-2025.1.2.dmg", + "build_number": "251.26094.131" }, "writerside": { "update-channel": "Writerside EAP", @@ -428,58 +428,58 @@ "clion": { "update-channel": "CLion RELEASE", "url-template": "https://download.jetbrains.com/cpp/CLion-{version}-aarch64.dmg", - "version": "2025.1.1", - "sha256": "475280e277cc94d18de228bf5f81ebd6ff14084c2e1d2b0db5b4612007dc46fe", - "url": "https://download.jetbrains.com/cpp/CLion-2025.1.1-aarch64.dmg", - "build_number": "251.25410.104" + "version": "2025.1.2", + "sha256": "9a47d3d86f2465f4b741408ad3a792d63a4dff486a05103825e479dae4d63932", + "url": "https://download.jetbrains.com/cpp/CLion-2025.1.2-aarch64.dmg", + "build_number": "251.26094.123" }, "datagrip": { "update-channel": "DataGrip RELEASE", "url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}-aarch64.dmg", - "version": "2025.1.2", - "sha256": "6d12a59053db3dfa33079ac79b1ea263e5b3ec6fde01d1d803f6d27afea033de", - "url": "https://download.jetbrains.com/datagrip/datagrip-2025.1.2-aarch64.dmg", - "build_number": "251.25410.123" + "version": "2025.1.3", + "sha256": "83da07ddd46fe95aed36d98cbb61c7f81097dc38abe5515933653746859b396c", + "url": "https://download.jetbrains.com/datagrip/datagrip-2025.1.3-aarch64.dmg", + "build_number": "251.26094.87" }, "dataspell": { "update-channel": "DataSpell RELEASE", "url-template": "https://download.jetbrains.com/python/dataspell-{version}-aarch64.dmg", - "version": "2025.1", - "sha256": "f6dd63c5458ea2adeb76a9042ab3316b124fd9cbdcccd4d4b08c2d90e17b49b8", - "url": "https://download.jetbrains.com/python/dataspell-2025.1-aarch64.dmg", - "build_number": "251.23774.439" + "version": "2025.1.1", + "sha256": "65bbf4da47e5ceecfab5e19f80bec7ddd5f66bfcdc8dc75691cad98958e72af1", + "url": "https://download.jetbrains.com/python/dataspell-2025.1.1-aarch64.dmg", + "build_number": "251.25410.158" }, "gateway": { "update-channel": "Gateway RELEASE", "url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}-aarch64.dmg", - "version": "2025.1.1", - "sha256": "abad0e061896590bea9bd1d4bead2183be3c1e71d6dfcba89ce2408f34af3536", - "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2025.1.1-aarch64.dmg", - "build_number": "251.25410.139" + "version": "2025.1.2", + "sha256": "1cf7dcdbb5408c9c7711a436e4c763df147ce332ce2e1f260fa246af87b0a58e", + "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2025.1.2-aarch64.dmg", + "build_number": "251.26094.128" }, "goland": { "update-channel": "GoLand RELEASE", "url-template": "https://download.jetbrains.com/go/goland-{version}-aarch64.dmg", - "version": "2025.1.1", - "sha256": "52e62d5a616b6ab6bf36f0d40d1925e9f477fcf84e187a2a1194d56d5ccae6ec", - "url": "https://download.jetbrains.com/go/goland-2025.1.1-aarch64.dmg", - "build_number": "251.25410.140" + "version": "2025.1.2", + "sha256": "a30940d1b2659487ababc3a9ad8e4770236e90ad6c732cb1fd0c24690829a0ce", + "url": "https://download.jetbrains.com/go/goland-2025.1.2-aarch64.dmg", + "build_number": "251.26094.127" }, "idea-community": { "update-channel": "IntelliJ IDEA RELEASE", "url-template": "https://download.jetbrains.com/idea/ideaIC-{version}-aarch64.dmg", - "version": "2025.1.1.1", - "sha256": "92ea35ebfcd9e34cd9bda0103ca036fe1f9eb900c005ae33a9295050ad636dae", - "url": "https://download.jetbrains.com/idea/ideaIC-2025.1.1.1-aarch64.dmg", - "build_number": "251.25410.129" + "version": "2025.1.2", + "sha256": "61a64b8abf0b350cb14f963975fc87ec574bc4b50ae7944980c43c816ffad5a8", + "url": "https://download.jetbrains.com/idea/ideaIC-2025.1.2-aarch64.dmg", + "build_number": "251.26094.121" }, "idea-ultimate": { "update-channel": "IntelliJ IDEA RELEASE", "url-template": "https://download.jetbrains.com/idea/ideaIU-{version}-aarch64.dmg", - "version": "2025.1.1.1", - "sha256": "5207878b28df2a13e4248c1936ee4fff7c89495e3d4ffdaa3b8da3f21548117e", - "url": "https://download.jetbrains.com/idea/ideaIU-2025.1.1.1-aarch64.dmg", - "build_number": "251.25410.129" + "version": "2025.1.2", + "sha256": "1c1afc32c8edcf1d2057a505f7f0b0dd1f1a20a6859172c1dd6a91a311a3167b", + "url": "https://download.jetbrains.com/idea/ideaIU-2025.1.2-aarch64.dmg", + "build_number": "251.26094.121" }, "mps": { "update-channel": "MPS RELEASE", @@ -492,27 +492,27 @@ "phpstorm": { "update-channel": "PhpStorm RELEASE", "url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}-aarch64.dmg", - "version": "2025.1.1", - "sha256": "8bb7acf16076e4a32b522107bc359197bb2ee0eeebe0ed5feb1d25d9110830c1", - "url": "https://download.jetbrains.com/webide/PhpStorm-2025.1.1-aarch64.dmg", - "build_number": "251.25410.148", + "version": "2025.1.2", + "sha256": "0437ba56e1b12b1781ba132d10f9f66c6375cb0609b4755982c7edd1778a3a3b", + "url": "https://download.jetbrains.com/webide/PhpStorm-2025.1.2-aarch64.dmg", + "build_number": "251.26094.133", "version-major-minor": "2022.3" }, "pycharm-community": { "update-channel": "PyCharm RELEASE", "url-template": "https://download.jetbrains.com/python/pycharm-community-{version}-aarch64.dmg", - "version": "2025.1.1", - "sha256": "4e493ce20dd840402ed040f4447d06cab62e59514b5ab2058e94421877f72270", - "url": "https://download.jetbrains.com/python/pycharm-community-2025.1.1-aarch64.dmg", - "build_number": "251.25410.122" + "version": "2025.1.2", + "sha256": "cdcdea2e167c3621f5b5ea8e0150c62d24495192edd2282616676d3f53b06063", + "url": "https://download.jetbrains.com/python/pycharm-community-2025.1.2-aarch64.dmg", + "build_number": "251.26094.141" }, "pycharm-professional": { "update-channel": "PyCharm RELEASE", "url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}-aarch64.dmg", - "version": "2025.1.1", - "sha256": "76a97e0d1ca75cbfbcc0acb046154daec1113010c052318077a128ff89fb55a6", - "url": "https://download.jetbrains.com/python/pycharm-professional-2025.1.1-aarch64.dmg", - "build_number": "251.25410.122" + "version": "2025.1.2", + "sha256": "89a463c896e4e7f6cf6a624b78305d881756b2a350780bfcecd15d6cb766e54b", + "url": "https://download.jetbrains.com/python/pycharm-professional-2025.1.2-aarch64.dmg", + "build_number": "251.26094.141" }, "rider": { "update-channel": "Rider RELEASE", @@ -525,26 +525,26 @@ "ruby-mine": { "update-channel": "RubyMine RELEASE", "url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}-aarch64.dmg", - "version": "2025.1.1", - "sha256": "6b8bd9c8ffeec01b0a907604d99cc77ede865aa9abf350e76957d9675ab8a810", - "url": "https://download.jetbrains.com/ruby/RubyMine-2025.1.1-aarch64.dmg", - "build_number": "251.25410.120" + "version": "2025.1.2", + "sha256": "1da265fa947d5d1cf3075495414b9e65ec519a5bd9bee5ca2fa7df67bafdc352", + "url": "https://download.jetbrains.com/ruby/RubyMine-2025.1.2-aarch64.dmg", + "build_number": "251.26094.122" }, "rust-rover": { "update-channel": "RustRover RELEASE", "url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}-aarch64.dmg", - "version": "2025.1.2", - "sha256": "3f12ad41285d6b67dcc577526976b5c394b44caa3f243147143968a505144a79", - "url": "https://download.jetbrains.com/rustrover/RustRover-2025.1.2-aarch64.dmg", - "build_number": "251.25410.115" + "version": "2025.1.3", + "sha256": "552145a2d550cfcb2dc59530605dbe4af179102a99dab4b69acb80d9504d0ef3", + "url": "https://download.jetbrains.com/rustrover/RustRover-2025.1.3-aarch64.dmg", + "build_number": "251.25410.170" }, "webstorm": { "update-channel": "WebStorm RELEASE", "url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}-aarch64.dmg", - "version": "2025.1.1", - "sha256": "7acfa46536b598b576775892ac46bb570dd06bc9461cc58c51b9efd4afd09139", - "url": "https://download.jetbrains.com/webstorm/WebStorm-2025.1.1-aarch64.dmg", - "build_number": "251.25410.117" + "version": "2025.1.2", + "sha256": "298d53fcd1a979e6910f97d9a29ac9bc0ed12386838a93a6d279bb415cf4708f", + "url": "https://download.jetbrains.com/webstorm/WebStorm-2025.1.2-aarch64.dmg", + "build_number": "251.26094.131" }, "writerside": { "update-channel": "Writerside EAP", diff --git a/pkgs/applications/editors/jetbrains/patches/no-download.patch b/pkgs/applications/editors/jetbrains/patches/no-download.patch index a9ae0d00fd13..050cd2e57c26 100644 --- a/pkgs/applications/editors/jetbrains/patches/no-download.patch +++ b/pkgs/applications/editors/jetbrains/patches/no-download.patch @@ -35,10 +35,10 @@ suspend fun downloadMavenTelemetryDependencies(communityRoot: BuildDependenciesCommunityRoot): Path = --- a/platform/build-scripts/downloader/src/org/jetbrains/intellij/build/dependencies/BuildDependenciesDownloader.kt +++ b/platform/build-scripts/downloader/src/org/jetbrains/intellij/build/dependencies/BuildDependenciesDownloader.kt -@@ -70,7 +70,7 @@ - version: String, - classifier: String?, - packaging: String): URI { +@@ -68,7 +68,7 @@ + classifier: String?, + packaging: String, + ): URI { - val base = mavenRepository.trim('/') + val base = mavenRepository.trimEnd('/') val groupStr = groupId.replace('.', '/') @@ -46,11 +46,11 @@ return URI.create("${base}/${groupStr}/${artifactId}/${version}/${artifactId}-${version}${classifierStr}.${packaging}") --- a/platform/build-scripts/downloader/src/org/jetbrains/intellij/build/dependencies/JdkDownloader.kt +++ b/platform/build-scripts/downloader/src/org/jetbrains/intellij/build/dependencies/JdkDownloader.kt -@@ -55,11 +55,7 @@ - variation: String? = null, +@@ -59,11 +59,7 @@ infoLog: (String) -> Unit, ): Path { -- val jdkUrl = getUrl(communityRoot = communityRoot, os = os, arch = arch, jdkBuildNumber = jdkBuildNumber, variation = variation) + val effectiveVariation = if (isMusl) null else variation +- val jdkUrl = getUrl(communityRoot = communityRoot, os = os, arch = arch, isMusl = isMusl, jdkBuildNumber = jdkBuildNumber, variation = effectiveVariation) - val jdkArchive = downloadFileToCacheLocation(url = jdkUrl.toString(), communityRoot = communityRoot) - val jdkExtracted = BuildDependenciesDownloader.extractFileToCacheLocation(communityRoot = communityRoot, - archiveFile = jdkArchive, diff --git a/pkgs/applications/editors/jetbrains/plugins/default.nix b/pkgs/applications/editors/jetbrains/plugins/default.nix index 6a369768fd1d..86efec069f95 100644 --- a/pkgs/applications/editors/jetbrains/plugins/default.nix +++ b/pkgs/applications/editors/jetbrains/plugins/default.nix @@ -134,9 +134,9 @@ in fi done - for exe in $out/bin/${meta.mainProgram}*; do - if [[ -x "$exe" ]]; then - substituteInPlace $(realpath "$exe") --replace-warn '${ide.outPath}' $out + for exe in $out/${rootDir}/bin/*; do + if [ -x "$exe" ] && ( file "$exe" | grep -q 'text' ); then + substituteInPlace "$exe" --replace-quiet '${ide}' $out fi done ) diff --git a/pkgs/applications/editors/jetbrains/plugins/plugins.json b/pkgs/applications/editors/jetbrains/plugins/plugins.json index a34e9ccd6cc4..d2b577185dad 100644 --- a/pkgs/applications/editors/jetbrains/plugins/plugins.json +++ b/pkgs/applications/editors/jetbrains/plugins/plugins.json @@ -17,17 +17,17 @@ ], "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/164/676777/IdeaVIM-2.19.0.zip", - "251.23774.423": "https://plugins.jetbrains.com/files/164/736911/IdeaVIM-2.24.0.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/164/736911/IdeaVIM-2.24.0.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/164/736911/IdeaVIM-2.24.0.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/164/736911/IdeaVIM-2.24.0.zip", - "251.25410.119": "https://plugins.jetbrains.com/files/164/736911/IdeaVIM-2.24.0.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/164/736911/IdeaVIM-2.24.0.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/164/736911/IdeaVIM-2.24.0.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/164/736911/IdeaVIM-2.24.0.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/164/736911/IdeaVIM-2.24.0.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/164/736911/IdeaVIM-2.24.0.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/164/736911/IdeaVIM-2.24.0.zip" + "251.23774.423": "https://plugins.jetbrains.com/files/164/756054/IdeaVIM-2.25.1.zip", + "251.25410.119": "https://plugins.jetbrains.com/files/164/756054/IdeaVIM-2.25.1.zip", + "251.25410.170": "https://plugins.jetbrains.com/files/164/756054/IdeaVIM-2.25.1.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/164/756054/IdeaVIM-2.25.1.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/164/756054/IdeaVIM-2.25.1.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/164/756054/IdeaVIM-2.25.1.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/164/756054/IdeaVIM-2.25.1.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/164/756054/IdeaVIM-2.25.1.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/164/756054/IdeaVIM-2.25.1.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/164/756054/IdeaVIM-2.25.1.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/164/756054/IdeaVIM-2.25.1.zip" }, "name": "ideavim" }, @@ -36,7 +36,7 @@ "idea-ultimate" ], "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/631/737817/python-251.25410.129.zip" + "251.26094.121": "https://plugins.jetbrains.com/files/631/766544/python-251.26094.121.zip" }, "name": "python" }, @@ -46,8 +46,8 @@ "idea-ultimate" ], "builds": { - "243.22562.218": "https://plugins.jetbrains.com/files/1347/667258/scala-intellij-bin-2024.3.35.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/1347/748379/scala-intellij-bin-2025.1.24.zip" + "243.22562.218": null, + "251.26094.121": "https://plugins.jetbrains.com/files/1347/770332/scala-intellij-bin-2025.1.25.zip" }, "name": "scala" }, @@ -69,16 +69,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/2162/640476/StringManipulation-9.15.0.zip", "251.23774.423": "https://plugins.jetbrains.com/files/2162/640476/StringManipulation-9.15.0.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/2162/640476/StringManipulation-9.15.0.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/2162/640476/StringManipulation-9.15.0.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/2162/640476/StringManipulation-9.15.0.zip", "251.25410.119": "https://plugins.jetbrains.com/files/2162/640476/StringManipulation-9.15.0.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/2162/640476/StringManipulation-9.15.0.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/2162/640476/StringManipulation-9.15.0.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/2162/640476/StringManipulation-9.15.0.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/2162/640476/StringManipulation-9.15.0.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/2162/640476/StringManipulation-9.15.0.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/2162/640476/StringManipulation-9.15.0.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/2162/640476/StringManipulation-9.15.0.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/2162/640476/StringManipulation-9.15.0.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/2162/640476/StringManipulation-9.15.0.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/2162/640476/StringManipulation-9.15.0.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/2162/640476/StringManipulation-9.15.0.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/2162/640476/StringManipulation-9.15.0.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/2162/640476/StringManipulation-9.15.0.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/2162/640476/StringManipulation-9.15.0.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/2162/640476/StringManipulation-9.15.0.zip" }, "name": "string-manipulation" }, @@ -100,16 +100,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/6884/630038/handlebars-243.21565.122.zip", "251.23774.423": "https://plugins.jetbrains.com/files/6884/711128/handlebars-251.23774.318.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/6884/711128/handlebars-251.23774.318.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/6884/711128/handlebars-251.23774.318.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/6884/711128/handlebars-251.23774.318.zip", "251.25410.119": "https://plugins.jetbrains.com/files/6884/711128/handlebars-251.23774.318.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/6884/711128/handlebars-251.23774.318.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/6884/711128/handlebars-251.23774.318.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/6884/711128/handlebars-251.23774.318.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/6884/711128/handlebars-251.23774.318.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/6884/711128/handlebars-251.23774.318.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/6884/711128/handlebars-251.23774.318.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/6884/711128/handlebars-251.23774.318.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/6884/711128/handlebars-251.23774.318.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/6884/711128/handlebars-251.23774.318.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/6884/711128/handlebars-251.23774.318.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/6884/711128/handlebars-251.23774.318.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/6884/711128/handlebars-251.23774.318.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/6884/711128/handlebars-251.23774.318.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/6884/711128/handlebars-251.23774.318.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/6884/711128/handlebars-251.23774.318.zip" }, "name": "handlebars-mustache" }, @@ -131,16 +131,16 @@ "builds": { "243.22562.218": null, "251.23774.423": null, - "251.25410.104": null, - "251.25410.115": null, - "251.25410.117": null, "251.25410.119": null, - "251.25410.120": null, - "251.25410.122": null, - "251.25410.123": null, - "251.25410.129": null, - "251.25410.140": null, - "251.25410.148": null + "251.25410.170": null, + "251.26094.121": null, + "251.26094.122": null, + "251.26094.123": null, + "251.26094.127": null, + "251.26094.131": null, + "251.26094.133": null, + "251.26094.141": null, + "251.26094.87": null }, "name": "kotlin" }, @@ -162,16 +162,16 @@ "builds": { "243.22562.218": null, "251.23774.423": "https://plugins.jetbrains.com/files/6981/724264/ini-251.23774.466.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/6981/724294/ini-251.25410.24.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/6981/724294/ini-251.25410.24.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/6981/724294/ini-251.25410.24.zip", "251.25410.119": "https://plugins.jetbrains.com/files/6981/724294/ini-251.25410.24.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/6981/724294/ini-251.25410.24.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/6981/724294/ini-251.25410.24.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/6981/724294/ini-251.25410.24.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/6981/724294/ini-251.25410.24.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/6981/724294/ini-251.25410.24.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/6981/724294/ini-251.25410.24.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/6981/724294/ini-251.25410.24.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/6981/771136/ini-251.26094.141.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/6981/771136/ini-251.26094.141.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/6981/771136/ini-251.26094.141.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/6981/771136/ini-251.26094.141.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/6981/771136/ini-251.26094.141.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/6981/771136/ini-251.26094.141.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/6981/771136/ini-251.26094.141.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/6981/771136/ini-251.26094.141.zip" }, "name": "ini" }, @@ -193,16 +193,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip", "251.23774.423": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip", "251.25410.119": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip" }, "name": "acejump" }, @@ -224,16 +224,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/7125/627704/GrepConsole-13.2.0-IJ2023.3.zip", "251.23774.423": "https://plugins.jetbrains.com/files/7125/627704/GrepConsole-13.2.0-IJ2023.3.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/7125/627704/GrepConsole-13.2.0-IJ2023.3.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/7125/627704/GrepConsole-13.2.0-IJ2023.3.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/7125/627704/GrepConsole-13.2.0-IJ2023.3.zip", "251.25410.119": "https://plugins.jetbrains.com/files/7125/627704/GrepConsole-13.2.0-IJ2023.3.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/7125/627704/GrepConsole-13.2.0-IJ2023.3.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/7125/627704/GrepConsole-13.2.0-IJ2023.3.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/7125/627704/GrepConsole-13.2.0-IJ2023.3.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/7125/627704/GrepConsole-13.2.0-IJ2023.3.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/7125/627704/GrepConsole-13.2.0-IJ2023.3.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/7125/627704/GrepConsole-13.2.0-IJ2023.3.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/7125/627704/GrepConsole-13.2.0-IJ2023.3.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/7125/627704/GrepConsole-13.2.0-IJ2023.3.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/7125/627704/GrepConsole-13.2.0-IJ2023.3.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/7125/627704/GrepConsole-13.2.0-IJ2023.3.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/7125/627704/GrepConsole-13.2.0-IJ2023.3.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/7125/627704/GrepConsole-13.2.0-IJ2023.3.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/7125/627704/GrepConsole-13.2.0-IJ2023.3.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/7125/627704/GrepConsole-13.2.0-IJ2023.3.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/7125/627704/GrepConsole-13.2.0-IJ2023.3.zip" }, "name": "grep-console" }, @@ -255,16 +255,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/7177/636663/fileWatcher-243.22562.13.zip", "251.23774.423": "https://plugins.jetbrains.com/files/7177/711086/fileWatcher-251.23774.318.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/7177/711086/fileWatcher-251.23774.318.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/7177/711086/fileWatcher-251.23774.318.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/7177/711086/fileWatcher-251.23774.318.zip", "251.25410.119": "https://plugins.jetbrains.com/files/7177/711086/fileWatcher-251.23774.318.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/7177/711086/fileWatcher-251.23774.318.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/7177/711086/fileWatcher-251.23774.318.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/7177/711086/fileWatcher-251.23774.318.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/7177/711086/fileWatcher-251.23774.318.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/7177/711086/fileWatcher-251.23774.318.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/7177/711086/fileWatcher-251.23774.318.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/7177/711086/fileWatcher-251.23774.318.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/7177/711086/fileWatcher-251.23774.318.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/7177/711086/fileWatcher-251.23774.318.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/7177/711086/fileWatcher-251.23774.318.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/7177/711086/fileWatcher-251.23774.318.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/7177/711086/fileWatcher-251.23774.318.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/7177/711086/fileWatcher-251.23774.318.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/7177/711086/fileWatcher-251.23774.318.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/7177/711086/fileWatcher-251.23774.318.zip" }, "name": "file-watchers" }, @@ -274,8 +274,8 @@ "idea-ultimate" ], "builds": { - "243.22562.218": "https://plugins.jetbrains.com/files/7179/617030/MavenHelper-4.29.0-IJ2022.2.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/7179/617030/MavenHelper-4.29.0-IJ2022.2.zip" + "243.22562.218": "https://plugins.jetbrains.com/files/7179/767851/MavenHelper-4.30.0-IJ2022.2.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/7179/767851/MavenHelper-4.30.0-IJ2022.2.zip" }, "name": "maven-helper" }, @@ -297,16 +297,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/7212/636678/cucumber-java-243.22562.13.zip", "251.23774.423": "https://plugins.jetbrains.com/files/7212/711023/cucumber-java-251.23774.318.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/7212/711023/cucumber-java-251.23774.318.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/7212/711023/cucumber-java-251.23774.318.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/7212/711023/cucumber-java-251.23774.318.zip", "251.25410.119": "https://plugins.jetbrains.com/files/7212/711023/cucumber-java-251.23774.318.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/7212/711023/cucumber-java-251.23774.318.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/7212/711023/cucumber-java-251.23774.318.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/7212/711023/cucumber-java-251.23774.318.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/7212/711023/cucumber-java-251.23774.318.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/7212/711023/cucumber-java-251.23774.318.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/7212/711023/cucumber-java-251.23774.318.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/7212/711023/cucumber-java-251.23774.318.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/7212/711023/cucumber-java-251.23774.318.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/7212/711023/cucumber-java-251.23774.318.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/7212/711023/cucumber-java-251.23774.318.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/7212/711023/cucumber-java-251.23774.318.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/7212/711023/cucumber-java-251.23774.318.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/7212/711023/cucumber-java-251.23774.318.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/7212/711023/cucumber-java-251.23774.318.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/7212/711023/cucumber-java-251.23774.318.zip" }, "name": "cucumber-for-java" }, @@ -316,8 +316,8 @@ "phpstorm" ], "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/7219/739169/Symfony_Plugin-2025.1.279.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/7219/739169/Symfony_Plugin-2025.1.279.zip" + "251.26094.121": "https://plugins.jetbrains.com/files/7219/770179/Symfony_Plugin-2025.1.280.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/7219/770179/Symfony_Plugin-2025.1.280.zip" }, "name": "symfony-plugin" }, @@ -327,8 +327,8 @@ "phpstorm" ], "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/7320/718466/PHP_Annotations-12.0.0.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/7320/718466/PHP_Annotations-12.0.0.zip" + "251.26094.121": "https://plugins.jetbrains.com/files/7320/718466/PHP_Annotations-12.0.0.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/7320/718466/PHP_Annotations-12.0.0.zip" }, "name": "php-annotations" }, @@ -346,14 +346,14 @@ ], "builds": { "243.22562.218": null, - "251.25410.104": "https://plugins.jetbrains.com/files/7322/737802/python-ce-251.25410.129.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/7322/737802/python-ce-251.25410.129.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/7322/737802/python-ce-251.25410.129.zip", "251.25410.119": "https://plugins.jetbrains.com/files/7322/737802/python-ce-251.25410.129.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/7322/737802/python-ce-251.25410.129.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/7322/737802/python-ce-251.25410.129.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/7322/737802/python-ce-251.25410.129.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/7322/737802/python-ce-251.25410.129.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/7322/737802/python-ce-251.25410.129.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/7322/766528/python-ce-251.26094.121.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/7322/766528/python-ce-251.26094.121.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/7322/766528/python-ce-251.26094.121.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/7322/766528/python-ce-251.26094.121.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/7322/766528/python-ce-251.26094.121.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/7322/766528/python-ce-251.26094.121.zip" }, "name": "python-community-edition" }, @@ -374,17 +374,17 @@ ], "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/7391/658997/asciidoctor-intellij-plugin-0.43.6.zip", - "251.23774.423": "https://plugins.jetbrains.com/files/7391/722116/asciidoctor-intellij-plugin-0.44.5.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/7391/722116/asciidoctor-intellij-plugin-0.44.5.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/7391/722116/asciidoctor-intellij-plugin-0.44.5.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/7391/722116/asciidoctor-intellij-plugin-0.44.5.zip", - "251.25410.119": "https://plugins.jetbrains.com/files/7391/722116/asciidoctor-intellij-plugin-0.44.5.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/7391/722116/asciidoctor-intellij-plugin-0.44.5.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/7391/722116/asciidoctor-intellij-plugin-0.44.5.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/7391/722116/asciidoctor-intellij-plugin-0.44.5.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/7391/722116/asciidoctor-intellij-plugin-0.44.5.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/7391/722116/asciidoctor-intellij-plugin-0.44.5.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/7391/722116/asciidoctor-intellij-plugin-0.44.5.zip" + "251.23774.423": "https://plugins.jetbrains.com/files/7391/763266/asciidoctor-intellij-plugin-0.44.7.zip", + "251.25410.119": "https://plugins.jetbrains.com/files/7391/763266/asciidoctor-intellij-plugin-0.44.7.zip", + "251.25410.170": "https://plugins.jetbrains.com/files/7391/763266/asciidoctor-intellij-plugin-0.44.7.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/7391/763266/asciidoctor-intellij-plugin-0.44.7.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/7391/763266/asciidoctor-intellij-plugin-0.44.7.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/7391/763266/asciidoctor-intellij-plugin-0.44.7.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/7391/763266/asciidoctor-intellij-plugin-0.44.7.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/7391/763266/asciidoctor-intellij-plugin-0.44.7.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/7391/763266/asciidoctor-intellij-plugin-0.44.7.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/7391/763266/asciidoctor-intellij-plugin-0.44.7.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/7391/763266/asciidoctor-intellij-plugin-0.44.7.zip" }, "name": "asciidoc" }, @@ -404,18 +404,18 @@ "webstorm" ], "builds": { - "243.22562.218": "https://plugins.jetbrains.com/files/7425/603907/WakaTime.jar", - "251.23774.423": "https://plugins.jetbrains.com/files/7425/603907/WakaTime.jar", - "251.25410.104": "https://plugins.jetbrains.com/files/7425/603907/WakaTime.jar", - "251.25410.115": "https://plugins.jetbrains.com/files/7425/603907/WakaTime.jar", - "251.25410.117": "https://plugins.jetbrains.com/files/7425/603907/WakaTime.jar", - "251.25410.119": "https://plugins.jetbrains.com/files/7425/603907/WakaTime.jar", - "251.25410.120": "https://plugins.jetbrains.com/files/7425/603907/WakaTime.jar", - "251.25410.122": "https://plugins.jetbrains.com/files/7425/603907/WakaTime.jar", - "251.25410.123": "https://plugins.jetbrains.com/files/7425/603907/WakaTime.jar", - "251.25410.129": "https://plugins.jetbrains.com/files/7425/603907/WakaTime.jar", - "251.25410.140": "https://plugins.jetbrains.com/files/7425/603907/WakaTime.jar", - "251.25410.148": "https://plugins.jetbrains.com/files/7425/603907/WakaTime.jar" + "243.22562.218": "https://plugins.jetbrains.com/files/7425/760442/WakaTime.jar", + "251.23774.423": "https://plugins.jetbrains.com/files/7425/760442/WakaTime.jar", + "251.25410.119": "https://plugins.jetbrains.com/files/7425/760442/WakaTime.jar", + "251.25410.170": "https://plugins.jetbrains.com/files/7425/760442/WakaTime.jar", + "251.26094.121": "https://plugins.jetbrains.com/files/7425/760442/WakaTime.jar", + "251.26094.122": "https://plugins.jetbrains.com/files/7425/760442/WakaTime.jar", + "251.26094.123": "https://plugins.jetbrains.com/files/7425/760442/WakaTime.jar", + "251.26094.127": "https://plugins.jetbrains.com/files/7425/760442/WakaTime.jar", + "251.26094.131": "https://plugins.jetbrains.com/files/7425/760442/WakaTime.jar", + "251.26094.133": "https://plugins.jetbrains.com/files/7425/760442/WakaTime.jar", + "251.26094.141": "https://plugins.jetbrains.com/files/7425/760442/WakaTime.jar", + "251.26094.87": "https://plugins.jetbrains.com/files/7425/760442/WakaTime.jar" }, "name": "wakatime" }, @@ -437,16 +437,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/7499/721170/gittoolbox-600.1.2_243-signed.zip", "251.23774.423": "https://plugins.jetbrains.com/files/7499/721170/gittoolbox-600.1.2_243-signed.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/7499/721170/gittoolbox-600.1.2_243-signed.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/7499/721170/gittoolbox-600.1.2_243-signed.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/7499/721170/gittoolbox-600.1.2_243-signed.zip", "251.25410.119": "https://plugins.jetbrains.com/files/7499/721170/gittoolbox-600.1.2_243-signed.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/7499/721170/gittoolbox-600.1.2_243-signed.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/7499/721170/gittoolbox-600.1.2_243-signed.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/7499/721170/gittoolbox-600.1.2_243-signed.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/7499/721170/gittoolbox-600.1.2_243-signed.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/7499/721170/gittoolbox-600.1.2_243-signed.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/7499/721170/gittoolbox-600.1.2_243-signed.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/7499/721170/gittoolbox-600.1.2_243-signed.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/7499/721170/gittoolbox-600.1.2_243-signed.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/7499/721170/gittoolbox-600.1.2_243-signed.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/7499/721170/gittoolbox-600.1.2_243-signed.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/7499/721170/gittoolbox-600.1.2_243-signed.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/7499/721170/gittoolbox-600.1.2_243-signed.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/7499/721170/gittoolbox-600.1.2_243-signed.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/7499/721170/gittoolbox-600.1.2_243-signed.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/7499/721170/gittoolbox-600.1.2_243-signed.zip" }, "name": "gittoolbox" }, @@ -468,16 +468,16 @@ "builds": { "243.22562.218": null, "251.23774.423": "https://plugins.jetbrains.com/files/7724/724240/clouds-docker-impl-251.23774.466.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/7724/731335/clouds-docker-impl-251.25410.67.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/7724/731335/clouds-docker-impl-251.25410.67.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/7724/731335/clouds-docker-impl-251.25410.67.zip", "251.25410.119": "https://plugins.jetbrains.com/files/7724/731335/clouds-docker-impl-251.25410.67.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/7724/731335/clouds-docker-impl-251.25410.67.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/7724/731335/clouds-docker-impl-251.25410.67.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/7724/731335/clouds-docker-impl-251.25410.67.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/7724/731335/clouds-docker-impl-251.25410.67.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/7724/731335/clouds-docker-impl-251.25410.67.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/7724/731335/clouds-docker-impl-251.25410.67.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/7724/731335/clouds-docker-impl-251.25410.67.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/7724/771131/clouds-docker-impl-251.26094.141.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/7724/771131/clouds-docker-impl-251.26094.141.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/7724/771131/clouds-docker-impl-251.26094.141.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/7724/771131/clouds-docker-impl-251.26094.141.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/7724/771131/clouds-docker-impl-251.26094.141.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/7724/771131/clouds-docker-impl-251.26094.141.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/7724/771131/clouds-docker-impl-251.26094.141.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/7724/771131/clouds-docker-impl-251.26094.141.zip" }, "name": "docker" }, @@ -499,16 +499,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/8097/636616/graphql-243.22562.13.zip", "251.23774.423": "https://plugins.jetbrains.com/files/8097/711188/graphql-251.23774.318.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/8097/711188/graphql-251.23774.318.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/8097/711188/graphql-251.23774.318.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/8097/711188/graphql-251.23774.318.zip", "251.25410.119": "https://plugins.jetbrains.com/files/8097/711188/graphql-251.23774.318.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/8097/711188/graphql-251.23774.318.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/8097/711188/graphql-251.23774.318.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/8097/711188/graphql-251.23774.318.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/8097/711188/graphql-251.23774.318.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/8097/711188/graphql-251.23774.318.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/8097/711188/graphql-251.23774.318.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/8097/711188/graphql-251.23774.318.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/8097/747099/graphql-251.26094.37.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/8097/747099/graphql-251.26094.37.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/8097/747099/graphql-251.26094.37.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/8097/747099/graphql-251.26094.37.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/8097/747099/graphql-251.26094.37.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/8097/747099/graphql-251.26094.37.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/8097/747099/graphql-251.26094.37.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/8097/747099/graphql-251.26094.37.zip" }, "name": "graphql" }, @@ -529,15 +529,15 @@ "builds": { "243.22562.218": null, "251.23774.423": null, - "251.25410.104": null, - "251.25410.117": null, "251.25410.119": null, - "251.25410.120": null, - "251.25410.122": null, - "251.25410.123": null, - "251.25410.129": null, - "251.25410.140": null, - "251.25410.148": null + "251.26094.121": null, + "251.26094.122": null, + "251.26094.123": null, + "251.26094.127": null, + "251.26094.131": null, + "251.26094.133": null, + "251.26094.141": null, + "251.26094.87": null }, "name": "-deprecated-rust" }, @@ -558,15 +558,15 @@ "builds": { "243.22562.218": null, "251.23774.423": null, - "251.25410.104": null, - "251.25410.117": null, "251.25410.119": null, - "251.25410.120": null, - "251.25410.122": null, - "251.25410.123": null, - "251.25410.129": null, - "251.25410.140": null, - "251.25410.148": null + "251.26094.121": null, + "251.26094.122": null, + "251.26094.123": null, + "251.26094.127": null, + "251.26094.131": null, + "251.26094.133": null, + "251.26094.141": null, + "251.26094.87": null }, "name": "-deprecated-rust-beta" }, @@ -588,16 +588,16 @@ "builds": { "243.22562.218": null, "251.23774.423": "https://plugins.jetbrains.com/files/8195/715934/toml-251.23774.429.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/8195/740008/toml-251.25410.140.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/8195/740008/toml-251.25410.140.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/8195/740008/toml-251.25410.140.zip", "251.25410.119": "https://plugins.jetbrains.com/files/8195/740008/toml-251.25410.140.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/8195/740008/toml-251.25410.140.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/8195/740008/toml-251.25410.140.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/8195/740008/toml-251.25410.140.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/8195/740008/toml-251.25410.140.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/8195/740008/toml-251.25410.140.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/8195/740008/toml-251.25410.140.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/8195/740008/toml-251.25410.140.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/8195/763535/toml-251.26094.108.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/8195/763535/toml-251.26094.108.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/8195/763535/toml-251.26094.108.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/8195/763535/toml-251.26094.108.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/8195/763535/toml-251.26094.108.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/8195/763535/toml-251.26094.108.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/8195/763535/toml-251.26094.108.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/8195/763535/toml-251.26094.108.zip" }, "name": "toml" }, @@ -608,7 +608,7 @@ ], "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/8327/615097/Minecraft_Development-2024.3-1.8.2.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/8327/718480/Minecraft_Development-2025.1-1.8.4.zip" + "251.26094.121": "https://plugins.jetbrains.com/files/8327/770049/Minecraft_Development-2025.1-1.8.5.zip" }, "name": "minecraft-development" }, @@ -630,16 +630,16 @@ "builds": { "243.22562.218": null, "251.23774.423": "https://plugins.jetbrains.com/files/8554/716074/featuresTrainer-251.23774.436.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/8554/740850/featuresTrainer-251.25410.148.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/8554/740850/featuresTrainer-251.25410.148.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/8554/740850/featuresTrainer-251.25410.148.zip", "251.25410.119": "https://plugins.jetbrains.com/files/8554/740850/featuresTrainer-251.25410.148.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/8554/740850/featuresTrainer-251.25410.148.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/8554/740850/featuresTrainer-251.25410.148.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/8554/740850/featuresTrainer-251.25410.148.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/8554/740850/featuresTrainer-251.25410.148.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/8554/740850/featuresTrainer-251.25410.148.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/8554/740850/featuresTrainer-251.25410.148.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/8554/740850/featuresTrainer-251.25410.148.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/8554/768764/featuresTrainer-251.26094.133.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/8554/768764/featuresTrainer-251.26094.133.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/8554/768764/featuresTrainer-251.26094.133.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/8554/768764/featuresTrainer-251.26094.133.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/8554/768764/featuresTrainer-251.26094.133.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/8554/768764/featuresTrainer-251.26094.133.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/8554/768764/featuresTrainer-251.26094.133.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/8554/768764/featuresTrainer-251.26094.133.zip" }, "name": "ide-features-trainer" }, @@ -661,16 +661,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/8607/673303/NixIDEA-0.4.0.17.zip", "251.23774.423": "https://plugins.jetbrains.com/files/8607/673303/NixIDEA-0.4.0.17.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/8607/673303/NixIDEA-0.4.0.17.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/8607/673303/NixIDEA-0.4.0.17.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/8607/673303/NixIDEA-0.4.0.17.zip", "251.25410.119": "https://plugins.jetbrains.com/files/8607/673303/NixIDEA-0.4.0.17.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/8607/673303/NixIDEA-0.4.0.17.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/8607/673303/NixIDEA-0.4.0.17.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/8607/673303/NixIDEA-0.4.0.17.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/8607/673303/NixIDEA-0.4.0.17.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/8607/673303/NixIDEA-0.4.0.17.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/8607/673303/NixIDEA-0.4.0.17.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/8607/673303/NixIDEA-0.4.0.17.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/8607/673303/NixIDEA-0.4.0.17.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/8607/673303/NixIDEA-0.4.0.17.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/8607/673303/NixIDEA-0.4.0.17.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/8607/673303/NixIDEA-0.4.0.17.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/8607/673303/NixIDEA-0.4.0.17.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/8607/673303/NixIDEA-0.4.0.17.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/8607/673303/NixIDEA-0.4.0.17.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/8607/673303/NixIDEA-0.4.0.17.zip" }, "name": "nixidea" }, @@ -692,16 +692,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/9164/636661/gherkin-243.22562.13.zip", "251.23774.423": "https://plugins.jetbrains.com/files/9164/710996/gherkin-251.23774.318.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/9164/710996/gherkin-251.23774.318.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/9164/710996/gherkin-251.23774.318.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/9164/710996/gherkin-251.23774.318.zip", "251.25410.119": "https://plugins.jetbrains.com/files/9164/710996/gherkin-251.23774.318.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/9164/710996/gherkin-251.23774.318.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/9164/710996/gherkin-251.23774.318.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/9164/710996/gherkin-251.23774.318.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/9164/710996/gherkin-251.23774.318.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/9164/710996/gherkin-251.23774.318.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/9164/710996/gherkin-251.23774.318.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/9164/710996/gherkin-251.23774.318.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/9164/710996/gherkin-251.23774.318.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/9164/710996/gherkin-251.23774.318.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/9164/710996/gherkin-251.23774.318.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/9164/710996/gherkin-251.23774.318.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/9164/710996/gherkin-251.23774.318.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/9164/710996/gherkin-251.23774.318.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/9164/710996/gherkin-251.23774.318.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/9164/710996/gherkin-251.23774.318.zip" }, "name": "gherkin" }, @@ -723,16 +723,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/9525/603167/idea-php-dotenv-plugin-2024.3.zip", "251.23774.423": "https://plugins.jetbrains.com/files/9525/711041/dotenv-251.23774.318.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/9525/711041/dotenv-251.23774.318.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/9525/711041/dotenv-251.23774.318.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/9525/711041/dotenv-251.23774.318.zip", "251.25410.119": "https://plugins.jetbrains.com/files/9525/711041/dotenv-251.23774.318.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/9525/711041/dotenv-251.23774.318.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/9525/711041/dotenv-251.23774.318.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/9525/711041/dotenv-251.23774.318.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/9525/711041/dotenv-251.23774.318.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/9525/711041/dotenv-251.23774.318.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/9525/711041/dotenv-251.23774.318.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/9525/711041/dotenv-251.23774.318.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/9525/711041/dotenv-251.23774.318.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/9525/711041/dotenv-251.23774.318.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/9525/711041/dotenv-251.23774.318.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/9525/711041/dotenv-251.23774.318.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/9525/711041/dotenv-251.23774.318.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/9525/711041/dotenv-251.23774.318.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/9525/711041/dotenv-251.23774.318.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/9525/711041/dotenv-251.23774.318.zip" }, "name": "-env-files" }, @@ -742,8 +742,8 @@ "idea-ultimate" ], "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/9568/728728/go-plugin-251.25410.59.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/9568/728728/go-plugin-251.25410.59.zip" + "251.26094.121": "https://plugins.jetbrains.com/files/9568/766540/go-plugin-251.26094.121.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/9568/766540/go-plugin-251.26094.121.zip" }, "name": "go" }, @@ -765,16 +765,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/9707/702582/ANSI_Highlighter_Premium-24.3.4.jar", "251.23774.423": "https://plugins.jetbrains.com/files/9707/702581/ANSI_Highlighter_Premium-25.1.5.jar", - "251.25410.104": "https://plugins.jetbrains.com/files/9707/702581/ANSI_Highlighter_Premium-25.1.5.jar", - "251.25410.115": "https://plugins.jetbrains.com/files/9707/702581/ANSI_Highlighter_Premium-25.1.5.jar", - "251.25410.117": "https://plugins.jetbrains.com/files/9707/702581/ANSI_Highlighter_Premium-25.1.5.jar", "251.25410.119": "https://plugins.jetbrains.com/files/9707/702581/ANSI_Highlighter_Premium-25.1.5.jar", - "251.25410.120": "https://plugins.jetbrains.com/files/9707/702581/ANSI_Highlighter_Premium-25.1.5.jar", - "251.25410.122": "https://plugins.jetbrains.com/files/9707/702581/ANSI_Highlighter_Premium-25.1.5.jar", - "251.25410.123": "https://plugins.jetbrains.com/files/9707/702581/ANSI_Highlighter_Premium-25.1.5.jar", - "251.25410.129": "https://plugins.jetbrains.com/files/9707/702581/ANSI_Highlighter_Premium-25.1.5.jar", - "251.25410.140": "https://plugins.jetbrains.com/files/9707/702581/ANSI_Highlighter_Premium-25.1.5.jar", - "251.25410.148": "https://plugins.jetbrains.com/files/9707/702581/ANSI_Highlighter_Premium-25.1.5.jar" + "251.25410.170": "https://plugins.jetbrains.com/files/9707/702581/ANSI_Highlighter_Premium-25.1.5.jar", + "251.26094.121": "https://plugins.jetbrains.com/files/9707/702581/ANSI_Highlighter_Premium-25.1.5.jar", + "251.26094.122": "https://plugins.jetbrains.com/files/9707/702581/ANSI_Highlighter_Premium-25.1.5.jar", + "251.26094.123": "https://plugins.jetbrains.com/files/9707/702581/ANSI_Highlighter_Premium-25.1.5.jar", + "251.26094.127": "https://plugins.jetbrains.com/files/9707/702581/ANSI_Highlighter_Premium-25.1.5.jar", + "251.26094.131": "https://plugins.jetbrains.com/files/9707/702581/ANSI_Highlighter_Premium-25.1.5.jar", + "251.26094.133": "https://plugins.jetbrains.com/files/9707/702581/ANSI_Highlighter_Premium-25.1.5.jar", + "251.26094.141": "https://plugins.jetbrains.com/files/9707/702581/ANSI_Highlighter_Premium-25.1.5.jar", + "251.26094.87": "https://plugins.jetbrains.com/files/9707/702581/ANSI_Highlighter_Premium-25.1.5.jar" }, "name": "ansi-highlighter-premium" }, @@ -796,16 +796,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip", "251.23774.423": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip", "251.25410.119": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip" }, "name": "key-promoter-x" }, @@ -827,16 +827,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/9836/681714/intellij-randomness-3.3.6-signed.zip", "251.23774.423": "https://plugins.jetbrains.com/files/9836/681714/intellij-randomness-3.3.6-signed.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/9836/681714/intellij-randomness-3.3.6-signed.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/9836/681714/intellij-randomness-3.3.6-signed.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/9836/681714/intellij-randomness-3.3.6-signed.zip", "251.25410.119": "https://plugins.jetbrains.com/files/9836/681714/intellij-randomness-3.3.6-signed.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/9836/681714/intellij-randomness-3.3.6-signed.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/9836/681714/intellij-randomness-3.3.6-signed.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/9836/681714/intellij-randomness-3.3.6-signed.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/9836/681714/intellij-randomness-3.3.6-signed.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/9836/681714/intellij-randomness-3.3.6-signed.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/9836/681714/intellij-randomness-3.3.6-signed.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/9836/681714/intellij-randomness-3.3.6-signed.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/9836/681714/intellij-randomness-3.3.6-signed.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/9836/681714/intellij-randomness-3.3.6-signed.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/9836/681714/intellij-randomness-3.3.6-signed.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/9836/681714/intellij-randomness-3.3.6-signed.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/9836/681714/intellij-randomness-3.3.6-signed.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/9836/681714/intellij-randomness-3.3.6-signed.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/9836/681714/intellij-randomness-3.3.6-signed.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/9836/681714/intellij-randomness-3.3.6-signed.zip" }, "name": "randomness" }, @@ -858,16 +858,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/10037/658496/intellij-csv-validator-4.0.2.zip", "251.23774.423": "https://plugins.jetbrains.com/files/10037/658496/intellij-csv-validator-4.0.2.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/10037/658496/intellij-csv-validator-4.0.2.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/10037/658496/intellij-csv-validator-4.0.2.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/10037/658496/intellij-csv-validator-4.0.2.zip", "251.25410.119": "https://plugins.jetbrains.com/files/10037/658496/intellij-csv-validator-4.0.2.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/10037/658496/intellij-csv-validator-4.0.2.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/10037/658496/intellij-csv-validator-4.0.2.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/10037/658496/intellij-csv-validator-4.0.2.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/10037/658496/intellij-csv-validator-4.0.2.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/10037/658496/intellij-csv-validator-4.0.2.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/10037/658496/intellij-csv-validator-4.0.2.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/10037/658496/intellij-csv-validator-4.0.2.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/10037/658496/intellij-csv-validator-4.0.2.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/10037/658496/intellij-csv-validator-4.0.2.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/10037/658496/intellij-csv-validator-4.0.2.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/10037/658496/intellij-csv-validator-4.0.2.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/10037/658496/intellij-csv-validator-4.0.2.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/10037/658496/intellij-csv-validator-4.0.2.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/10037/658496/intellij-csv-validator-4.0.2.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/10037/658496/intellij-csv-validator-4.0.2.zip" }, "name": "csv-editor" }, @@ -889,16 +889,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/10080/739688/intellij-rainbow-brackets-2024.2.11-241.zip", "251.23774.423": "https://plugins.jetbrains.com/files/10080/739688/intellij-rainbow-brackets-2024.2.11-241.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/10080/739688/intellij-rainbow-brackets-2024.2.11-241.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/10080/739688/intellij-rainbow-brackets-2024.2.11-241.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/10080/739688/intellij-rainbow-brackets-2024.2.11-241.zip", "251.25410.119": "https://plugins.jetbrains.com/files/10080/739688/intellij-rainbow-brackets-2024.2.11-241.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/10080/739688/intellij-rainbow-brackets-2024.2.11-241.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/10080/739688/intellij-rainbow-brackets-2024.2.11-241.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/10080/739688/intellij-rainbow-brackets-2024.2.11-241.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/10080/739688/intellij-rainbow-brackets-2024.2.11-241.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/10080/739688/intellij-rainbow-brackets-2024.2.11-241.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/10080/739688/intellij-rainbow-brackets-2024.2.11-241.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/10080/739688/intellij-rainbow-brackets-2024.2.11-241.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/10080/739688/intellij-rainbow-brackets-2024.2.11-241.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/10080/739688/intellij-rainbow-brackets-2024.2.11-241.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/10080/739688/intellij-rainbow-brackets-2024.2.11-241.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/10080/739688/intellij-rainbow-brackets-2024.2.11-241.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/10080/739688/intellij-rainbow-brackets-2024.2.11-241.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/10080/739688/intellij-rainbow-brackets-2024.2.11-241.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/10080/739688/intellij-rainbow-brackets-2024.2.11-241.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/10080/739688/intellij-rainbow-brackets-2024.2.11-241.zip" }, "name": "rainbow-brackets" }, @@ -920,16 +920,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip", "251.23774.423": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip", "251.25410.119": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip" }, "name": "dot-language" }, @@ -951,16 +951,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/10481/583591/intellij-hocon-2024.2.0.zip", "251.23774.423": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip", "251.25410.119": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip" }, "name": "hocon" }, @@ -981,15 +981,15 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/10581/629973/go-template-243.21565.122.zip", "251.23774.423": "https://plugins.jetbrains.com/files/10581/711019/go-template-251.23774.318.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/10581/711019/go-template-251.23774.318.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/10581/711019/go-template-251.23774.318.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/10581/711019/go-template-251.23774.318.zip", "251.25410.119": "https://plugins.jetbrains.com/files/10581/711019/go-template-251.23774.318.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/10581/711019/go-template-251.23774.318.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/10581/711019/go-template-251.23774.318.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/10581/711019/go-template-251.23774.318.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/10581/711019/go-template-251.23774.318.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/10581/711019/go-template-251.23774.318.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/10581/711019/go-template-251.23774.318.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/10581/711019/go-template-251.23774.318.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/10581/711019/go-template-251.23774.318.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/10581/711019/go-template-251.23774.318.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/10581/711019/go-template-251.23774.318.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/10581/711019/go-template-251.23774.318.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/10581/711019/go-template-251.23774.318.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/10581/711019/go-template-251.23774.318.zip" }, "name": "go-template" }, @@ -1011,16 +1011,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/11058/734948/Extra_Icons-2025.1.5.zip", "251.23774.423": "https://plugins.jetbrains.com/files/11058/734948/Extra_Icons-2025.1.5.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/11058/734948/Extra_Icons-2025.1.5.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/11058/734948/Extra_Icons-2025.1.5.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/11058/734948/Extra_Icons-2025.1.5.zip", "251.25410.119": "https://plugins.jetbrains.com/files/11058/734948/Extra_Icons-2025.1.5.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/11058/734948/Extra_Icons-2025.1.5.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/11058/734948/Extra_Icons-2025.1.5.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/11058/734948/Extra_Icons-2025.1.5.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/11058/734948/Extra_Icons-2025.1.5.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/11058/734948/Extra_Icons-2025.1.5.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/11058/734948/Extra_Icons-2025.1.5.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/11058/734948/Extra_Icons-2025.1.5.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/11058/734948/Extra_Icons-2025.1.5.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/11058/734948/Extra_Icons-2025.1.5.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/11058/734948/Extra_Icons-2025.1.5.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/11058/734948/Extra_Icons-2025.1.5.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/11058/734948/Extra_Icons-2025.1.5.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/11058/734948/Extra_Icons-2025.1.5.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/11058/734948/Extra_Icons-2025.1.5.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/11058/734948/Extra_Icons-2025.1.5.zip" }, "name": "extra-icons" }, @@ -1040,18 +1040,18 @@ "webstorm" ], "builds": { - "243.22562.218": "https://plugins.jetbrains.com/files/11349/743145/aws-toolkit-jetbrains-standalone-3.71-243.zip", - "251.23774.423": "https://plugins.jetbrains.com/files/11349/743148/aws-toolkit-jetbrains-standalone-3.71-251.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/11349/743148/aws-toolkit-jetbrains-standalone-3.71-251.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/11349/743148/aws-toolkit-jetbrains-standalone-3.71-251.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/11349/743148/aws-toolkit-jetbrains-standalone-3.71-251.zip", - "251.25410.119": "https://plugins.jetbrains.com/files/11349/743148/aws-toolkit-jetbrains-standalone-3.71-251.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/11349/743148/aws-toolkit-jetbrains-standalone-3.71-251.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/11349/743148/aws-toolkit-jetbrains-standalone-3.71-251.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/11349/743148/aws-toolkit-jetbrains-standalone-3.71-251.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/11349/743148/aws-toolkit-jetbrains-standalone-3.71-251.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/11349/743148/aws-toolkit-jetbrains-standalone-3.71-251.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/11349/743148/aws-toolkit-jetbrains-standalone-3.71-251.zip" + "243.22562.218": "https://plugins.jetbrains.com/files/11349/768106/aws-toolkit-jetbrains-standalone-3.74.243.zip", + "251.23774.423": "https://plugins.jetbrains.com/files/11349/768108/aws-toolkit-jetbrains-standalone-3.74.251.zip", + "251.25410.119": "https://plugins.jetbrains.com/files/11349/768108/aws-toolkit-jetbrains-standalone-3.74.251.zip", + "251.25410.170": "https://plugins.jetbrains.com/files/11349/768108/aws-toolkit-jetbrains-standalone-3.74.251.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/11349/768108/aws-toolkit-jetbrains-standalone-3.74.251.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/11349/768108/aws-toolkit-jetbrains-standalone-3.74.251.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/11349/768108/aws-toolkit-jetbrains-standalone-3.74.251.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/11349/768108/aws-toolkit-jetbrains-standalone-3.74.251.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/11349/768108/aws-toolkit-jetbrains-standalone-3.74.251.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/11349/768108/aws-toolkit-jetbrains-standalone-3.74.251.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/11349/768108/aws-toolkit-jetbrains-standalone-3.74.251.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/11349/768108/aws-toolkit-jetbrains-standalone-3.74.251.zip" }, "name": "aws-toolkit" }, @@ -1082,16 +1082,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/12062/630060/keymap-vscode-243.21565.122.zip", "251.23774.423": "https://plugins.jetbrains.com/files/12062/711097/keymap-vscode-251.23774.318.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/12062/711097/keymap-vscode-251.23774.318.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/12062/711097/keymap-vscode-251.23774.318.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/12062/711097/keymap-vscode-251.23774.318.zip", "251.25410.119": "https://plugins.jetbrains.com/files/12062/711097/keymap-vscode-251.23774.318.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/12062/711097/keymap-vscode-251.23774.318.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/12062/711097/keymap-vscode-251.23774.318.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/12062/711097/keymap-vscode-251.23774.318.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/12062/711097/keymap-vscode-251.23774.318.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/12062/711097/keymap-vscode-251.23774.318.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/12062/711097/keymap-vscode-251.23774.318.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/12062/711097/keymap-vscode-251.23774.318.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/12062/711097/keymap-vscode-251.23774.318.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/12062/711097/keymap-vscode-251.23774.318.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/12062/711097/keymap-vscode-251.23774.318.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/12062/711097/keymap-vscode-251.23774.318.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/12062/711097/keymap-vscode-251.23774.318.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/12062/711097/keymap-vscode-251.23774.318.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/12062/711097/keymap-vscode-251.23774.318.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/12062/711097/keymap-vscode-251.23774.318.zip" }, "name": "vscode-keymap" }, @@ -1113,16 +1113,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/12559/629985/keymap-eclipse-243.21565.122.zip", "251.23774.423": "https://plugins.jetbrains.com/files/12559/711714/keymap-eclipse-251.23774.329.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/12559/711714/keymap-eclipse-251.23774.329.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/12559/711714/keymap-eclipse-251.23774.329.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/12559/711714/keymap-eclipse-251.23774.329.zip", "251.25410.119": "https://plugins.jetbrains.com/files/12559/711714/keymap-eclipse-251.23774.329.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/12559/711714/keymap-eclipse-251.23774.329.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/12559/711714/keymap-eclipse-251.23774.329.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/12559/711714/keymap-eclipse-251.23774.329.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/12559/711714/keymap-eclipse-251.23774.329.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/12559/711714/keymap-eclipse-251.23774.329.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/12559/711714/keymap-eclipse-251.23774.329.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/12559/711714/keymap-eclipse-251.23774.329.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/12559/711714/keymap-eclipse-251.23774.329.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/12559/711714/keymap-eclipse-251.23774.329.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/12559/711714/keymap-eclipse-251.23774.329.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/12559/711714/keymap-eclipse-251.23774.329.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/12559/711714/keymap-eclipse-251.23774.329.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/12559/711714/keymap-eclipse-251.23774.329.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/12559/711714/keymap-eclipse-251.23774.329.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/12559/711714/keymap-eclipse-251.23774.329.zip" }, "name": "eclipse-keymap" }, @@ -1144,16 +1144,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip", "251.23774.423": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip", "251.25410.119": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip" }, "name": "rainbow-csv" }, @@ -1175,16 +1175,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/13017/630016/keymap-visualStudio-243.21565.122.zip", "251.23774.423": "https://plugins.jetbrains.com/files/13017/711726/keymap-visualStudio-251.23774.329.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/13017/711726/keymap-visualStudio-251.23774.329.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/13017/711726/keymap-visualStudio-251.23774.329.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/13017/711726/keymap-visualStudio-251.23774.329.zip", "251.25410.119": "https://plugins.jetbrains.com/files/13017/711726/keymap-visualStudio-251.23774.329.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/13017/711726/keymap-visualStudio-251.23774.329.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/13017/711726/keymap-visualStudio-251.23774.329.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/13017/711726/keymap-visualStudio-251.23774.329.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/13017/711726/keymap-visualStudio-251.23774.329.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/13017/711726/keymap-visualStudio-251.23774.329.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/13017/711726/keymap-visualStudio-251.23774.329.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/13017/711726/keymap-visualStudio-251.23774.329.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/13017/711726/keymap-visualStudio-251.23774.329.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/13017/711726/keymap-visualStudio-251.23774.329.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/13017/711726/keymap-visualStudio-251.23774.329.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/13017/711726/keymap-visualStudio-251.23774.329.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/13017/711726/keymap-visualStudio-251.23774.329.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/13017/711726/keymap-visualStudio-251.23774.329.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/13017/711726/keymap-visualStudio-251.23774.329.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/13017/711726/keymap-visualStudio-251.23774.329.zip" }, "name": "visual-studio-keymap" }, @@ -1206,16 +1206,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip", "251.23774.423": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip", "251.25410.119": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip" }, "name": "indent-rainbow" }, @@ -1237,16 +1237,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/14004/636643/protoeditor-243.22562.13.zip", "251.23774.423": "https://plugins.jetbrains.com/files/14004/711000/protoeditor-251.23774.318.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/14004/711000/protoeditor-251.23774.318.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/14004/711000/protoeditor-251.23774.318.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/14004/711000/protoeditor-251.23774.318.zip", "251.25410.119": "https://plugins.jetbrains.com/files/14004/711000/protoeditor-251.23774.318.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/14004/711000/protoeditor-251.23774.318.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/14004/711000/protoeditor-251.23774.318.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/14004/711000/protoeditor-251.23774.318.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/14004/711000/protoeditor-251.23774.318.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/14004/711000/protoeditor-251.23774.318.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/14004/711000/protoeditor-251.23774.318.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/14004/711000/protoeditor-251.23774.318.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/14004/711000/protoeditor-251.23774.318.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/14004/711000/protoeditor-251.23774.318.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/14004/711000/protoeditor-251.23774.318.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/14004/711000/protoeditor-251.23774.318.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/14004/711000/protoeditor-251.23774.318.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/14004/711000/protoeditor-251.23774.318.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/14004/711000/protoeditor-251.23774.318.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/14004/711000/protoeditor-251.23774.318.zip" }, "name": "protocol-buffers" }, @@ -1268,16 +1268,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", "251.23774.423": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", - "251.25410.104": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", - "251.25410.115": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", - "251.25410.117": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", "251.25410.119": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", - "251.25410.120": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", - "251.25410.122": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", - "251.25410.123": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", - "251.25410.129": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", - "251.25410.140": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", - "251.25410.148": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar" + "251.25410.170": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", + "251.26094.121": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", + "251.26094.122": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", + "251.26094.123": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", + "251.26094.127": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", + "251.26094.131": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", + "251.26094.133": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", + "251.26094.141": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", + "251.26094.87": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar" }, "name": "darcula-pitch-black" }, @@ -1299,16 +1299,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar", "251.23774.423": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar", - "251.25410.104": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar", - "251.25410.115": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar", - "251.25410.117": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar", "251.25410.119": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar", - "251.25410.120": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar", - "251.25410.122": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar", - "251.25410.123": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar", - "251.25410.129": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar", - "251.25410.140": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar", - "251.25410.148": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar" + "251.25410.170": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar", + "251.26094.121": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar", + "251.26094.122": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar", + "251.26094.123": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar", + "251.26094.127": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar", + "251.26094.131": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar", + "251.26094.133": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar", + "251.26094.141": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar", + "251.26094.87": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar" }, "name": "mario-progress-bar" }, @@ -1329,17 +1329,17 @@ ], "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/15976/593529/IDEA_Which-Key-0.10.3.jar", - "251.23774.423": "https://plugins.jetbrains.com/files/15976/593529/IDEA_Which-Key-0.10.3.jar", - "251.25410.104": "https://plugins.jetbrains.com/files/15976/593529/IDEA_Which-Key-0.10.3.jar", - "251.25410.115": "https://plugins.jetbrains.com/files/15976/593529/IDEA_Which-Key-0.10.3.jar", - "251.25410.117": "https://plugins.jetbrains.com/files/15976/593529/IDEA_Which-Key-0.10.3.jar", - "251.25410.119": "https://plugins.jetbrains.com/files/15976/593529/IDEA_Which-Key-0.10.3.jar", - "251.25410.120": "https://plugins.jetbrains.com/files/15976/593529/IDEA_Which-Key-0.10.3.jar", - "251.25410.122": "https://plugins.jetbrains.com/files/15976/593529/IDEA_Which-Key-0.10.3.jar", - "251.25410.123": "https://plugins.jetbrains.com/files/15976/593529/IDEA_Which-Key-0.10.3.jar", - "251.25410.129": "https://plugins.jetbrains.com/files/15976/593529/IDEA_Which-Key-0.10.3.jar", - "251.25410.140": "https://plugins.jetbrains.com/files/15976/593529/IDEA_Which-Key-0.10.3.jar", - "251.25410.148": "https://plugins.jetbrains.com/files/15976/593529/IDEA_Which-Key-0.10.3.jar" + "251.23774.423": "https://plugins.jetbrains.com/files/15976/762630/IDEA_Which-Key-0.11.1.jar", + "251.25410.119": "https://plugins.jetbrains.com/files/15976/762630/IDEA_Which-Key-0.11.1.jar", + "251.25410.170": "https://plugins.jetbrains.com/files/15976/762630/IDEA_Which-Key-0.11.1.jar", + "251.26094.121": "https://plugins.jetbrains.com/files/15976/762630/IDEA_Which-Key-0.11.1.jar", + "251.26094.122": "https://plugins.jetbrains.com/files/15976/762630/IDEA_Which-Key-0.11.1.jar", + "251.26094.123": "https://plugins.jetbrains.com/files/15976/762630/IDEA_Which-Key-0.11.1.jar", + "251.26094.127": "https://plugins.jetbrains.com/files/15976/762630/IDEA_Which-Key-0.11.1.jar", + "251.26094.131": "https://plugins.jetbrains.com/files/15976/762630/IDEA_Which-Key-0.11.1.jar", + "251.26094.133": "https://plugins.jetbrains.com/files/15976/762630/IDEA_Which-Key-0.11.1.jar", + "251.26094.141": "https://plugins.jetbrains.com/files/15976/762630/IDEA_Which-Key-0.11.1.jar", + "251.26094.87": "https://plugins.jetbrains.com/files/15976/762630/IDEA_Which-Key-0.11.1.jar" }, "name": "which-key" }, @@ -1361,16 +1361,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/16604/734947/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.7.zip", "251.23774.423": "https://plugins.jetbrains.com/files/16604/734947/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.7.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/16604/734947/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.7.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/16604/734947/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.7.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/16604/734947/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.7.zip", "251.25410.119": "https://plugins.jetbrains.com/files/16604/734947/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.7.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/16604/734947/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.7.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/16604/734947/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.7.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/16604/734947/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.7.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/16604/734947/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.7.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/16604/734947/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.7.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/16604/734947/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.7.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/16604/734947/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.7.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/16604/734947/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.7.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/16604/734947/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.7.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/16604/734947/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.7.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/16604/734947/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.7.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/16604/734947/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.7.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/16604/734947/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.7.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/16604/734947/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.7.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/16604/734947/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.7.zip" }, "name": "extra-toolwindow-colorful-icons" }, @@ -1390,18 +1390,18 @@ "webstorm" ], "builds": { - "243.22562.218": "https://plugins.jetbrains.com/files/17718/743191/github-copilot-intellij-1.5.45-243.zip", - "251.23774.423": "https://plugins.jetbrains.com/files/17718/743191/github-copilot-intellij-1.5.45-243.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/17718/743191/github-copilot-intellij-1.5.45-243.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/17718/743191/github-copilot-intellij-1.5.45-243.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/17718/743191/github-copilot-intellij-1.5.45-243.zip", - "251.25410.119": "https://plugins.jetbrains.com/files/17718/743191/github-copilot-intellij-1.5.45-243.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/17718/743191/github-copilot-intellij-1.5.45-243.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/17718/743191/github-copilot-intellij-1.5.45-243.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/17718/743191/github-copilot-intellij-1.5.45-243.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/17718/743191/github-copilot-intellij-1.5.45-243.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/17718/743191/github-copilot-intellij-1.5.45-243.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/17718/743191/github-copilot-intellij-1.5.45-243.zip" + "243.22562.218": "https://plugins.jetbrains.com/files/17718/765945/github-copilot-intellij-1.5.46-243.zip", + "251.23774.423": "https://plugins.jetbrains.com/files/17718/765945/github-copilot-intellij-1.5.46-243.zip", + "251.25410.119": "https://plugins.jetbrains.com/files/17718/765945/github-copilot-intellij-1.5.46-243.zip", + "251.25410.170": "https://plugins.jetbrains.com/files/17718/765945/github-copilot-intellij-1.5.46-243.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/17718/765945/github-copilot-intellij-1.5.46-243.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/17718/765945/github-copilot-intellij-1.5.46-243.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/17718/765945/github-copilot-intellij-1.5.46-243.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/17718/765945/github-copilot-intellij-1.5.46-243.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/17718/765945/github-copilot-intellij-1.5.46-243.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/17718/765945/github-copilot-intellij-1.5.46-243.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/17718/765945/github-copilot-intellij-1.5.46-243.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/17718/765945/github-copilot-intellij-1.5.46-243.zip" }, "name": "github-copilot" }, @@ -1423,16 +1423,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", "251.23774.423": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", "251.25410.119": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip" }, "name": "netbeans-6-5-keymap" }, @@ -1454,16 +1454,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/18682/744076/Catppuccin_Theme-3.4.2.zip", "251.23774.423": "https://plugins.jetbrains.com/files/18682/744076/Catppuccin_Theme-3.4.2.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/18682/744076/Catppuccin_Theme-3.4.2.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/18682/744076/Catppuccin_Theme-3.4.2.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/18682/744076/Catppuccin_Theme-3.4.2.zip", "251.25410.119": "https://plugins.jetbrains.com/files/18682/744076/Catppuccin_Theme-3.4.2.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/18682/744076/Catppuccin_Theme-3.4.2.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/18682/744076/Catppuccin_Theme-3.4.2.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/18682/744076/Catppuccin_Theme-3.4.2.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/18682/744076/Catppuccin_Theme-3.4.2.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/18682/744076/Catppuccin_Theme-3.4.2.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/18682/744076/Catppuccin_Theme-3.4.2.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/18682/744076/Catppuccin_Theme-3.4.2.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/18682/744076/Catppuccin_Theme-3.4.2.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/18682/744076/Catppuccin_Theme-3.4.2.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/18682/744076/Catppuccin_Theme-3.4.2.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/18682/744076/Catppuccin_Theme-3.4.2.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/18682/744076/Catppuccin_Theme-3.4.2.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/18682/744076/Catppuccin_Theme-3.4.2.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/18682/744076/Catppuccin_Theme-3.4.2.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/18682/744076/Catppuccin_Theme-3.4.2.zip" }, "name": "catppuccin-theme" }, @@ -1485,16 +1485,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/18824/694222/CodeGlancePro-1.9.7-signed.zip", "251.23774.423": "https://plugins.jetbrains.com/files/18824/736403/CodeGlancePro-1.9.8-signed.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/18824/736403/CodeGlancePro-1.9.8-signed.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/18824/736403/CodeGlancePro-1.9.8-signed.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/18824/736403/CodeGlancePro-1.9.8-signed.zip", "251.25410.119": "https://plugins.jetbrains.com/files/18824/736403/CodeGlancePro-1.9.8-signed.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/18824/736403/CodeGlancePro-1.9.8-signed.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/18824/736403/CodeGlancePro-1.9.8-signed.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/18824/736403/CodeGlancePro-1.9.8-signed.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/18824/736403/CodeGlancePro-1.9.8-signed.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/18824/736403/CodeGlancePro-1.9.8-signed.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/18824/736403/CodeGlancePro-1.9.8-signed.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/18824/736403/CodeGlancePro-1.9.8-signed.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/18824/736403/CodeGlancePro-1.9.8-signed.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/18824/736403/CodeGlancePro-1.9.8-signed.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/18824/736403/CodeGlancePro-1.9.8-signed.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/18824/736403/CodeGlancePro-1.9.8-signed.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/18824/736403/CodeGlancePro-1.9.8-signed.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/18824/736403/CodeGlancePro-1.9.8-signed.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/18824/736403/CodeGlancePro-1.9.8-signed.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/18824/736403/CodeGlancePro-1.9.8-signed.zip" }, "name": "codeglance-pro" }, @@ -1514,18 +1514,18 @@ "webstorm" ], "builds": { - "243.22562.218": "https://plugins.jetbrains.com/files/18922/747693/GerryThemes.jar", - "251.23774.423": "https://plugins.jetbrains.com/files/18922/747693/GerryThemes.jar", - "251.25410.104": "https://plugins.jetbrains.com/files/18922/747693/GerryThemes.jar", - "251.25410.115": "https://plugins.jetbrains.com/files/18922/747693/GerryThemes.jar", - "251.25410.117": "https://plugins.jetbrains.com/files/18922/747693/GerryThemes.jar", - "251.25410.119": "https://plugins.jetbrains.com/files/18922/747693/GerryThemes.jar", - "251.25410.120": "https://plugins.jetbrains.com/files/18922/747693/GerryThemes.jar", - "251.25410.122": "https://plugins.jetbrains.com/files/18922/747693/GerryThemes.jar", - "251.25410.123": "https://plugins.jetbrains.com/files/18922/747693/GerryThemes.jar", - "251.25410.129": "https://plugins.jetbrains.com/files/18922/747693/GerryThemes.jar", - "251.25410.140": "https://plugins.jetbrains.com/files/18922/747693/GerryThemes.jar", - "251.25410.148": "https://plugins.jetbrains.com/files/18922/747693/GerryThemes.jar" + "243.22562.218": "https://plugins.jetbrains.com/files/18922/767365/GerryThemes.jar", + "251.23774.423": "https://plugins.jetbrains.com/files/18922/767365/GerryThemes.jar", + "251.25410.119": "https://plugins.jetbrains.com/files/18922/767365/GerryThemes.jar", + "251.25410.170": "https://plugins.jetbrains.com/files/18922/767365/GerryThemes.jar", + "251.26094.121": "https://plugins.jetbrains.com/files/18922/767365/GerryThemes.jar", + "251.26094.122": "https://plugins.jetbrains.com/files/18922/767365/GerryThemes.jar", + "251.26094.123": "https://plugins.jetbrains.com/files/18922/767365/GerryThemes.jar", + "251.26094.127": "https://plugins.jetbrains.com/files/18922/767365/GerryThemes.jar", + "251.26094.131": "https://plugins.jetbrains.com/files/18922/767365/GerryThemes.jar", + "251.26094.133": "https://plugins.jetbrains.com/files/18922/767365/GerryThemes.jar", + "251.26094.141": "https://plugins.jetbrains.com/files/18922/767365/GerryThemes.jar", + "251.26094.87": "https://plugins.jetbrains.com/files/18922/767365/GerryThemes.jar" }, "name": "gerry-themes" }, @@ -1547,16 +1547,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip", "251.23774.423": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip", "251.25410.119": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip" }, "name": "better-direnv" }, @@ -1578,16 +1578,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/20146/633971/Mermaid-0.0.24_IJ.243.zip", "251.23774.423": "https://plugins.jetbrains.com/files/20146/717659/Mermaid-0.0.25_IJ.243.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/20146/717659/Mermaid-0.0.25_IJ.243.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/20146/717659/Mermaid-0.0.25_IJ.243.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/20146/717659/Mermaid-0.0.25_IJ.243.zip", "251.25410.119": "https://plugins.jetbrains.com/files/20146/717659/Mermaid-0.0.25_IJ.243.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/20146/717659/Mermaid-0.0.25_IJ.243.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/20146/717659/Mermaid-0.0.25_IJ.243.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/20146/717659/Mermaid-0.0.25_IJ.243.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/20146/717659/Mermaid-0.0.25_IJ.243.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/20146/717659/Mermaid-0.0.25_IJ.243.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/20146/717659/Mermaid-0.0.25_IJ.243.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/20146/717659/Mermaid-0.0.25_IJ.243.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/20146/717659/Mermaid-0.0.25_IJ.243.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/20146/717659/Mermaid-0.0.25_IJ.243.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/20146/717659/Mermaid-0.0.25_IJ.243.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/20146/717659/Mermaid-0.0.25_IJ.243.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/20146/717659/Mermaid-0.0.25_IJ.243.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/20146/717659/Mermaid-0.0.25_IJ.243.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/20146/717659/Mermaid-0.0.25_IJ.243.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/20146/717659/Mermaid-0.0.25_IJ.243.zip" }, "name": "mermaid" }, @@ -1609,16 +1609,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip", "251.23774.423": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip", "251.25410.119": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip" }, "name": "ferris" }, @@ -1640,16 +1640,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/21667/693656/code-complexity-plugin-1.6.2.zip", "251.23774.423": "https://plugins.jetbrains.com/files/21667/693656/code-complexity-plugin-1.6.2.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/21667/693656/code-complexity-plugin-1.6.2.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/21667/693656/code-complexity-plugin-1.6.2.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/21667/693656/code-complexity-plugin-1.6.2.zip", "251.25410.119": "https://plugins.jetbrains.com/files/21667/693656/code-complexity-plugin-1.6.2.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/21667/693656/code-complexity-plugin-1.6.2.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/21667/693656/code-complexity-plugin-1.6.2.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/21667/693656/code-complexity-plugin-1.6.2.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/21667/693656/code-complexity-plugin-1.6.2.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/21667/693656/code-complexity-plugin-1.6.2.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/21667/693656/code-complexity-plugin-1.6.2.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/21667/693656/code-complexity-plugin-1.6.2.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/21667/693656/code-complexity-plugin-1.6.2.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/21667/693656/code-complexity-plugin-1.6.2.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/21667/693656/code-complexity-plugin-1.6.2.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/21667/693656/code-complexity-plugin-1.6.2.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/21667/693656/code-complexity-plugin-1.6.2.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/21667/693656/code-complexity-plugin-1.6.2.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/21667/693656/code-complexity-plugin-1.6.2.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/21667/693656/code-complexity-plugin-1.6.2.zip" }, "name": "code-complexity" }, @@ -1671,16 +1671,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip", "251.23774.423": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip", "251.25410.119": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip" }, "name": "developer-tools" }, @@ -1696,14 +1696,14 @@ "webstorm" ], "builds": { - "251.25410.104": "https://plugins.jetbrains.com/files/21962/732363/clouds-docker-gateway-251.25410.75.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/21962/732363/clouds-docker-gateway-251.25410.75.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/21962/732363/clouds-docker-gateway-251.25410.75.zip", "251.25410.119": "https://plugins.jetbrains.com/files/21962/732363/clouds-docker-gateway-251.25410.75.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/21962/732363/clouds-docker-gateway-251.25410.75.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/21962/732363/clouds-docker-gateway-251.25410.75.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/21962/732363/clouds-docker-gateway-251.25410.75.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/21962/732363/clouds-docker-gateway-251.25410.75.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/21962/732363/clouds-docker-gateway-251.25410.75.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/21962/732363/clouds-docker-gateway-251.25410.75.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/21962/732363/clouds-docker-gateway-251.25410.75.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/21962/732363/clouds-docker-gateway-251.25410.75.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/21962/732363/clouds-docker-gateway-251.25410.75.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/21962/732363/clouds-docker-gateway-251.25410.75.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/21962/732363/clouds-docker-gateway-251.25410.75.zip" }, "name": "dev-containers" }, @@ -1714,9 +1714,9 @@ "rust-rover" ], "builds": { - "251.25410.104": "https://plugins.jetbrains.com/files/22407/736889/intellij-rust-251.25410.127.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/22407/736889/intellij-rust-251.25410.127.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/22407/736889/intellij-rust-251.25410.127.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/22407/757316/intellij-rust-251.25410.170.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/22407/757316/intellij-rust-251.25410.170.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/22407/757316/intellij-rust-251.25410.170.zip" }, "name": "rust" }, @@ -1736,18 +1736,18 @@ "webstorm" ], "builds": { - "243.22562.218": "https://plugins.jetbrains.com/files/22707/738247/continue-intellij-extension-1.0.16.zip", - "251.23774.423": "https://plugins.jetbrains.com/files/22707/738247/continue-intellij-extension-1.0.16.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/22707/738247/continue-intellij-extension-1.0.16.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/22707/738247/continue-intellij-extension-1.0.16.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/22707/738247/continue-intellij-extension-1.0.16.zip", - "251.25410.119": "https://plugins.jetbrains.com/files/22707/738247/continue-intellij-extension-1.0.16.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/22707/738247/continue-intellij-extension-1.0.16.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/22707/738247/continue-intellij-extension-1.0.16.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/22707/738247/continue-intellij-extension-1.0.16.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/22707/738247/continue-intellij-extension-1.0.16.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/22707/738247/continue-intellij-extension-1.0.16.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/22707/738247/continue-intellij-extension-1.0.16.zip" + "243.22562.218": "https://plugins.jetbrains.com/files/22707/762617/continue-intellij-extension-1.0.21.zip", + "251.23774.423": "https://plugins.jetbrains.com/files/22707/762617/continue-intellij-extension-1.0.21.zip", + "251.25410.119": "https://plugins.jetbrains.com/files/22707/762617/continue-intellij-extension-1.0.21.zip", + "251.25410.170": "https://plugins.jetbrains.com/files/22707/762617/continue-intellij-extension-1.0.21.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/22707/762617/continue-intellij-extension-1.0.21.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/22707/762617/continue-intellij-extension-1.0.21.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/22707/762617/continue-intellij-extension-1.0.21.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/22707/762617/continue-intellij-extension-1.0.21.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/22707/762617/continue-intellij-extension-1.0.21.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/22707/762617/continue-intellij-extension-1.0.21.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/22707/762617/continue-intellij-extension-1.0.21.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/22707/762617/continue-intellij-extension-1.0.21.zip" }, "name": "continue" }, @@ -1769,16 +1769,16 @@ "builds": { "243.22562.218": null, "251.23774.423": "https://plugins.jetbrains.com/files/22857/716106/vcs-gitlab-IU-251.23774.435-IU.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/22857/742106/vcs-gitlab-IU-251.25410.159-IU.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/22857/742106/vcs-gitlab-IU-251.25410.159-IU.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/22857/742106/vcs-gitlab-IU-251.25410.159-IU.zip", "251.25410.119": "https://plugins.jetbrains.com/files/22857/742106/vcs-gitlab-IU-251.25410.159-IU.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/22857/742106/vcs-gitlab-IU-251.25410.159-IU.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/22857/742106/vcs-gitlab-IU-251.25410.159-IU.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/22857/742106/vcs-gitlab-IU-251.25410.159-IU.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/22857/742106/vcs-gitlab-IU-251.25410.159-IU.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/22857/742106/vcs-gitlab-IU-251.25410.159-IU.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/22857/742106/vcs-gitlab-IU-251.25410.159-IU.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/22857/742106/vcs-gitlab-IU-251.25410.159-IU.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/22857/764755/vcs-gitlab-IU-251.26094.114-IU.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/22857/764755/vcs-gitlab-IU-251.26094.114-IU.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/22857/764755/vcs-gitlab-IU-251.26094.114-IU.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/22857/764755/vcs-gitlab-IU-251.26094.114-IU.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/22857/764755/vcs-gitlab-IU-251.26094.114-IU.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/22857/764755/vcs-gitlab-IU-251.26094.114-IU.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/22857/764755/vcs-gitlab-IU-251.26094.114-IU.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/22857/764755/vcs-gitlab-IU-251.26094.114-IU.zip" }, "name": "gitlab" }, @@ -1798,18 +1798,18 @@ "webstorm" ], "builds": { - "243.22562.218": "https://plugins.jetbrains.com/files/23029/702798/Catppuccin_Icons-1.11.0.zip", - "251.23774.423": "https://plugins.jetbrains.com/files/23029/702798/Catppuccin_Icons-1.11.0.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/23029/702798/Catppuccin_Icons-1.11.0.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/23029/702798/Catppuccin_Icons-1.11.0.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/23029/702798/Catppuccin_Icons-1.11.0.zip", - "251.25410.119": "https://plugins.jetbrains.com/files/23029/702798/Catppuccin_Icons-1.11.0.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/23029/702798/Catppuccin_Icons-1.11.0.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/23029/702798/Catppuccin_Icons-1.11.0.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/23029/702798/Catppuccin_Icons-1.11.0.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/23029/702798/Catppuccin_Icons-1.11.0.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/23029/702798/Catppuccin_Icons-1.11.0.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/23029/702798/Catppuccin_Icons-1.11.0.zip" + "243.22562.218": "https://plugins.jetbrains.com/files/23029/764814/Catppuccin_Icons-1.12.0.zip", + "251.23774.423": "https://plugins.jetbrains.com/files/23029/764814/Catppuccin_Icons-1.12.0.zip", + "251.25410.119": "https://plugins.jetbrains.com/files/23029/764814/Catppuccin_Icons-1.12.0.zip", + "251.25410.170": "https://plugins.jetbrains.com/files/23029/764814/Catppuccin_Icons-1.12.0.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/23029/764814/Catppuccin_Icons-1.12.0.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/23029/764814/Catppuccin_Icons-1.12.0.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/23029/764814/Catppuccin_Icons-1.12.0.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/23029/764814/Catppuccin_Icons-1.12.0.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/23029/764814/Catppuccin_Icons-1.12.0.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/23029/764814/Catppuccin_Icons-1.12.0.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/23029/764814/Catppuccin_Icons-1.12.0.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/23029/764814/Catppuccin_Icons-1.12.0.zip" }, "name": "catppuccin-icons" }, @@ -1831,16 +1831,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip", "251.23774.423": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip", "251.25410.119": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip" }, "name": "mermaid-chart" }, @@ -1862,16 +1862,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/23806/664310/Oxocarbon-1.4.5.zip", "251.23774.423": null, - "251.25410.104": null, - "251.25410.115": null, - "251.25410.117": null, "251.25410.119": null, - "251.25410.120": null, - "251.25410.122": null, - "251.25410.123": null, - "251.25410.129": null, - "251.25410.140": null, - "251.25410.148": null + "251.25410.170": null, + "251.26094.121": null, + "251.26094.122": null, + "251.26094.123": null, + "251.26094.127": null, + "251.26094.131": null, + "251.26094.133": null, + "251.26094.141": null, + "251.26094.87": null }, "name": "oxocarbon" }, @@ -1893,16 +1893,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/23927/734950/Extra_IDE_Tweaks-2025.1.5.zip", "251.23774.423": "https://plugins.jetbrains.com/files/23927/734950/Extra_IDE_Tweaks-2025.1.5.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/23927/734950/Extra_IDE_Tweaks-2025.1.5.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/23927/734950/Extra_IDE_Tweaks-2025.1.5.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/23927/734950/Extra_IDE_Tweaks-2025.1.5.zip", "251.25410.119": "https://plugins.jetbrains.com/files/23927/734950/Extra_IDE_Tweaks-2025.1.5.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/23927/734950/Extra_IDE_Tweaks-2025.1.5.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/23927/734950/Extra_IDE_Tweaks-2025.1.5.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/23927/734950/Extra_IDE_Tweaks-2025.1.5.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/23927/734950/Extra_IDE_Tweaks-2025.1.5.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/23927/734950/Extra_IDE_Tweaks-2025.1.5.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/23927/734950/Extra_IDE_Tweaks-2025.1.5.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/23927/734950/Extra_IDE_Tweaks-2025.1.5.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/23927/734950/Extra_IDE_Tweaks-2025.1.5.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/23927/734950/Extra_IDE_Tweaks-2025.1.5.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/23927/734950/Extra_IDE_Tweaks-2025.1.5.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/23927/734950/Extra_IDE_Tweaks-2025.1.5.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/23927/734950/Extra_IDE_Tweaks-2025.1.5.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/23927/734950/Extra_IDE_Tweaks-2025.1.5.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/23927/734950/Extra_IDE_Tweaks-2025.1.5.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/23927/734950/Extra_IDE_Tweaks-2025.1.5.zip" }, "name": "extra-ide-tweaks" }, @@ -1924,16 +1924,16 @@ "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/24559/734949/Extra_Tools_Pack-2025.1.6.zip", "251.23774.423": "https://plugins.jetbrains.com/files/24559/734949/Extra_Tools_Pack-2025.1.6.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/24559/734949/Extra_Tools_Pack-2025.1.6.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/24559/734949/Extra_Tools_Pack-2025.1.6.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/24559/734949/Extra_Tools_Pack-2025.1.6.zip", "251.25410.119": "https://plugins.jetbrains.com/files/24559/734949/Extra_Tools_Pack-2025.1.6.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/24559/734949/Extra_Tools_Pack-2025.1.6.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/24559/734949/Extra_Tools_Pack-2025.1.6.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/24559/734949/Extra_Tools_Pack-2025.1.6.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/24559/734949/Extra_Tools_Pack-2025.1.6.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/24559/734949/Extra_Tools_Pack-2025.1.6.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/24559/734949/Extra_Tools_Pack-2025.1.6.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/24559/734949/Extra_Tools_Pack-2025.1.6.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/24559/734949/Extra_Tools_Pack-2025.1.6.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/24559/734949/Extra_Tools_Pack-2025.1.6.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/24559/734949/Extra_Tools_Pack-2025.1.6.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/24559/734949/Extra_Tools_Pack-2025.1.6.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/24559/734949/Extra_Tools_Pack-2025.1.6.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/24559/734949/Extra_Tools_Pack-2025.1.6.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/24559/734949/Extra_Tools_Pack-2025.1.6.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/24559/734949/Extra_Tools_Pack-2025.1.6.zip" }, "name": "extra-tools-pack" }, @@ -1950,15 +1950,15 @@ "webstorm" ], "builds": { - "251.25410.104": null, - "251.25410.115": null, - "251.25410.117": null, "251.25410.119": null, - "251.25410.120": null, - "251.25410.123": null, - "251.25410.129": null, - "251.25410.140": null, - "251.25410.148": null + "251.25410.170": null, + "251.26094.121": null, + "251.26094.122": null, + "251.26094.123": null, + "251.26094.127": null, + "251.26094.131": null, + "251.26094.133": null, + "251.26094.87": null }, "name": "nix-lsp" }, @@ -1978,16 +1978,16 @@ ], "builds": { "243.22562.218": "https://plugins.jetbrains.com/files/26084/745003/markdtask-2025.1.2.zip", - "251.25410.104": "https://plugins.jetbrains.com/files/26084/745003/markdtask-2025.1.2.zip", - "251.25410.115": "https://plugins.jetbrains.com/files/26084/745003/markdtask-2025.1.2.zip", - "251.25410.117": "https://plugins.jetbrains.com/files/26084/745003/markdtask-2025.1.2.zip", "251.25410.119": "https://plugins.jetbrains.com/files/26084/745003/markdtask-2025.1.2.zip", - "251.25410.120": "https://plugins.jetbrains.com/files/26084/745003/markdtask-2025.1.2.zip", - "251.25410.122": "https://plugins.jetbrains.com/files/26084/745003/markdtask-2025.1.2.zip", - "251.25410.123": "https://plugins.jetbrains.com/files/26084/745003/markdtask-2025.1.2.zip", - "251.25410.129": "https://plugins.jetbrains.com/files/26084/745003/markdtask-2025.1.2.zip", - "251.25410.140": "https://plugins.jetbrains.com/files/26084/745003/markdtask-2025.1.2.zip", - "251.25410.148": "https://plugins.jetbrains.com/files/26084/745003/markdtask-2025.1.2.zip" + "251.25410.170": "https://plugins.jetbrains.com/files/26084/745003/markdtask-2025.1.2.zip", + "251.26094.121": "https://plugins.jetbrains.com/files/26084/745003/markdtask-2025.1.2.zip", + "251.26094.122": "https://plugins.jetbrains.com/files/26084/745003/markdtask-2025.1.2.zip", + "251.26094.123": "https://plugins.jetbrains.com/files/26084/745003/markdtask-2025.1.2.zip", + "251.26094.127": "https://plugins.jetbrains.com/files/26084/745003/markdtask-2025.1.2.zip", + "251.26094.131": "https://plugins.jetbrains.com/files/26084/745003/markdtask-2025.1.2.zip", + "251.26094.133": "https://plugins.jetbrains.com/files/26084/745003/markdtask-2025.1.2.zip", + "251.26094.141": "https://plugins.jetbrains.com/files/26084/745003/markdtask-2025.1.2.zip", + "251.26094.87": "https://plugins.jetbrains.com/files/26084/745003/markdtask-2025.1.2.zip" }, "name": "markdtask" } @@ -2001,8 +2001,8 @@ "https://plugins.jetbrains.com/files/10581/629973/go-template-243.21565.122.zip": "sha256-6pZ8vHw8C08IUvU76meMTGShoSMntQABv/KBX4BRDYs=", "https://plugins.jetbrains.com/files/10581/711019/go-template-251.23774.318.zip": "sha256-zX1nEdq84wwQvGhV664V5bNBPVTI4zWo306JtjXcGkE=", "https://plugins.jetbrains.com/files/11058/734948/Extra_Icons-2025.1.5.zip": "sha256-trVQyV4PcxI1BeLtIg3fP1dOITiFRheIGpxU3GuA83w=", - "https://plugins.jetbrains.com/files/11349/743145/aws-toolkit-jetbrains-standalone-3.71-243.zip": "sha256-vmVmsichxO8hpzqCtLdqxScHbjwAN+7tVDnbCAh7Kuc=", - "https://plugins.jetbrains.com/files/11349/743148/aws-toolkit-jetbrains-standalone-3.71-251.zip": "sha256-aH9P8oYlUSKGJHzbwPZe+gOUekuGZc8PPQoJXKahfCY=", + "https://plugins.jetbrains.com/files/11349/768106/aws-toolkit-jetbrains-standalone-3.74.243.zip": "sha256-eWAEs18QSUate1bvO1412v+XniVEhjykgNsEn/rhGH0=", + "https://plugins.jetbrains.com/files/11349/768108/aws-toolkit-jetbrains-standalone-3.74.251.zip": "sha256-yklhTCVPh6vJo/ppVh3W6d7Cy8mfzfHbfOiXZT/vyI4=", "https://plugins.jetbrains.com/files/12024/667413/ReSharperPlugin.CognitiveComplexity-2025.1.0-eap01.zip": "sha256-SWIXjxnwAf9dju1oOgzePrTY0lPNNX54Afp5OIkGGi4=", "https://plugins.jetbrains.com/files/12062/630060/keymap-vscode-243.21565.122.zip": "sha256-phv8MTGKNGzRviKzX+nIVTbkX4WkU82QVO5zXUQLtAo=", "https://plugins.jetbrains.com/files/12062/711097/keymap-vscode-251.23774.318.zip": "sha256-obbLL8n6gK8oFw8NnJbdAylPHfTv4GheBDnVFOUpwL0=", @@ -2012,22 +2012,22 @@ "https://plugins.jetbrains.com/files/13017/630016/keymap-visualStudio-243.21565.122.zip": "sha256-VQqK0Cm9ddXN63KYIqimuGOh7EB9VvdlErp/VrWx8SA=", "https://plugins.jetbrains.com/files/13017/711726/keymap-visualStudio-251.23774.329.zip": "sha256-DKkgt0z/ui0bOLSbnKy51RL7+9HIqeriroi2otZ64mQ=", "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip": "sha256-eKwDE+PMtYhrGbDDZPS5cimssH+1xV4GF6RXXg/3urU=", - "https://plugins.jetbrains.com/files/1347/667258/scala-intellij-bin-2024.3.35.zip": "sha256-4I75KqXyFl73S63O+00usrg8QBcuBRBgfjRmCQMpNks=", - "https://plugins.jetbrains.com/files/1347/748379/scala-intellij-bin-2025.1.24.zip": "sha256-S0VowbZJFSPwbydmAYoZ9mMOvgXHB90Rx+KECdybQwI=", + "https://plugins.jetbrains.com/files/1347/770332/scala-intellij-bin-2025.1.25.zip": "sha256-h9GNGjqTc+h+x/0TRilKmqGoPsxhPmXIKoGC/s4/PKg=", "https://plugins.jetbrains.com/files/14004/636643/protoeditor-243.22562.13.zip": "sha256-Tgu8CfDhO6KugfuLNhmxe89dMm+Qo3fmAg/8hwjUaoc=", "https://plugins.jetbrains.com/files/14004/711000/protoeditor-251.23774.318.zip": "sha256-ZYn365EY8+VP1TKM4wBotMj1hYbSSr4J1K5oIZlE2SE=", "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar": "sha256-eXInfAqY3yEZRXCAuv3KGldM1pNKEioNwPB0rIGgJFw=", "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar": "sha256-mB09zvUg1hLXl9lgW1NEU+DyVel1utZv6s+mFykckYY=", "https://plugins.jetbrains.com/files/15976/593529/IDEA_Which-Key-0.10.3.jar": "sha256-2FlEaHf2rO6xgG3LnZIPt/XKgRGjpLSiEXCncfAf3bI=", + "https://plugins.jetbrains.com/files/15976/762630/IDEA_Which-Key-0.11.1.jar": "sha256-Z3q0d4jCqeBwzW0jSSM3q4MTAPaTqQuwnV3ZVHfOMR4=", "https://plugins.jetbrains.com/files/164/676777/IdeaVIM-2.19.0.zip": "sha256-yKpWQZGxfsKwPVTJLHpF4KGJ5ANCd73uxHlfdFE4Qf4=", - "https://plugins.jetbrains.com/files/164/736911/IdeaVIM-2.24.0.zip": "sha256-v9GD6SHR1MuhXrqLit/eQm2R9c50aZTjpUJN/UOKCa0=", + "https://plugins.jetbrains.com/files/164/756054/IdeaVIM-2.25.1.zip": "sha256-W5CtJqmejx2braLiJEYGPU29fCSOZNSQG0HZxqdOJIk=", "https://plugins.jetbrains.com/files/16604/734947/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.7.zip": "sha256-9DLY2HIyQR2w8xPVVKa2l7OZWqfoTvHkLGZYEnDV7/A=", - "https://plugins.jetbrains.com/files/17718/743191/github-copilot-intellij-1.5.45-243.zip": "sha256-wSIGsDmgZV8o6F9ekf84b06Ul16rw+wXdQx/X4D/rCI=", + "https://plugins.jetbrains.com/files/17718/765945/github-copilot-intellij-1.5.46-243.zip": "sha256-GKCOuZJerzhkhbl4zXWukonkygCT/Dm/tV4zRxFAP+g=", "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip": "sha256-KrzZTKZMQqoEMw+vDUv2jjs0EX0leaPBkU8H/ecq/oI=", "https://plugins.jetbrains.com/files/18682/744076/Catppuccin_Theme-3.4.2.zip": "sha256-fa9GiD/PNGy8AEao99vW3DBF1FKSulu3t+wO7mdr5fk=", "https://plugins.jetbrains.com/files/18824/694222/CodeGlancePro-1.9.7-signed.zip": "sha256-8RjKjmadd1o/M+WTLtKPn354bbKgEht4nvWnMcRPN9w=", "https://plugins.jetbrains.com/files/18824/736403/CodeGlancePro-1.9.8-signed.zip": "sha256-/1lyQq7JANhcKmIaaBHZ8ZCR4p23sLjLTTq9/68Fz+c=", - "https://plugins.jetbrains.com/files/18922/747693/GerryThemes.jar": "sha256-BAFShNv5PYuOSTysEk1A7ykqtJBAXhkMsGWGwU3X+hY=", + "https://plugins.jetbrains.com/files/18922/767365/GerryThemes.jar": "sha256-NjhQX8TY9B+aOPm3RrR42OyPM2GnZ5d0/+L83fcaGM0=", "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip": "sha256-hoFfIid7lClHDiT+ZH3H+tFSvWYb1tSRZH1iif+kWrM=", "https://plugins.jetbrains.com/files/20146/633971/Mermaid-0.0.24_IJ.243.zip": "sha256-jGWRU0g120qYvvFiUFI10zvprTsemuIq3XmIjYxZGts=", "https://plugins.jetbrains.com/files/20146/717659/Mermaid-0.0.25_IJ.243.zip": "sha256-QqEjnN6lUUtHkDRFWPeV3vqgGB/ZfWGVDqtk8gwJEqY=", @@ -2036,51 +2036,58 @@ "https://plugins.jetbrains.com/files/21667/693656/code-complexity-plugin-1.6.2.zip": "sha256-2qDeC2Fxp4/IfiLPL1JDquJDCzONCp4m92Ht2fnCn/M=", "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip": "sha256-lOPUSxlbgagD0SuXTw+fEdwTxxfUHP1Kl6L+u/oa4fs=", "https://plugins.jetbrains.com/files/21962/732363/clouds-docker-gateway-251.25410.75.zip": "sha256-kfXB36mIOn82pq+22ryztxY9K6CgwwNarNKcLuIH9G4=", - "https://plugins.jetbrains.com/files/22407/736889/intellij-rust-251.25410.127.zip": "sha256-ynht10qwZ9cXWDhNJPuFOdhEAuwdr62ZAI5pRsrn7Rs=", - "https://plugins.jetbrains.com/files/22707/738247/continue-intellij-extension-1.0.16.zip": "sha256-H83yxmkzqwkV5W89xuGogm4n5OSppjZAymtIZdnVXWI=", + "https://plugins.jetbrains.com/files/22407/757316/intellij-rust-251.25410.170.zip": "sha256-drL4D+lWFdKkmjMHDsPl8nJ+0oMldR6fs4MpyuiVWYg=", + "https://plugins.jetbrains.com/files/22707/762617/continue-intellij-extension-1.0.21.zip": "sha256-Jdt7S5goBdA8kf09pjDdLLyRXi3AVy2BdnC1zUDm46Y=", "https://plugins.jetbrains.com/files/22857/716106/vcs-gitlab-IU-251.23774.435-IU.zip": "sha256-zNNFPPPnYLkSzXX3CA1IMA0cjeXMcPY58+v80/KjVkg=", "https://plugins.jetbrains.com/files/22857/742106/vcs-gitlab-IU-251.25410.159-IU.zip": "sha256-PwxExt+Dlq11Y5UdEwFr/2BJPST3EYY7r/3gsXoxGzo=", - "https://plugins.jetbrains.com/files/23029/702798/Catppuccin_Icons-1.11.0.zip": "sha256-w2vt4kuGd5T8OA5DcTTik2ksvCu0T3oynvTqYtMsVyo=", + "https://plugins.jetbrains.com/files/22857/764755/vcs-gitlab-IU-251.26094.114-IU.zip": "sha256-0x7t3Lo29Bwmo5pItUD/D+na2yIfd2shPiAVCZp9j/w=", + "https://plugins.jetbrains.com/files/23029/764814/Catppuccin_Icons-1.12.0.zip": "sha256-TZNCi4kRc7NNcV89j2UhT6y1+l1L512xTN/yTztjQfY=", "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip": "sha256-ssaSY1I6FopLBgVKHUyjBrqzxHLSuI/swtDfQWJ7gxU=", "https://plugins.jetbrains.com/files/23806/664310/Oxocarbon-1.4.5.zip": "sha256-zF89Q1LE6xwBeDKv4FSQ6H6cbABjz74Z/qGwddRWp7M=", "https://plugins.jetbrains.com/files/23927/734950/Extra_IDE_Tweaks-2025.1.5.zip": "sha256-bwZSaUkfJ2D6XLr0e7EoismsTmvNCyRzGd4OWu6u9n0=", "https://plugins.jetbrains.com/files/24559/734949/Extra_Tools_Pack-2025.1.6.zip": "sha256-SC8IMca0EYEmZFrMsaK3oadaemM4FQnYiTxOTt1zQGg=", "https://plugins.jetbrains.com/files/26084/745003/markdtask-2025.1.2.zip": "sha256-rRSyr7nShG1q9tVSO7VRo3KoGnBcrND4D4+38gNBtqI=", - "https://plugins.jetbrains.com/files/631/737817/python-251.25410.129.zip": "sha256-ieQ+ZWowWGwoTj1vxxCnO4hhNeGVE36V12V5Q5MOUr8=", + "https://plugins.jetbrains.com/files/631/766544/python-251.26094.121.zip": "sha256-gj3s+D04AcmPxzhKDWdYFED8Ab+iHIp6fpZhxasofUQ=", "https://plugins.jetbrains.com/files/6884/630038/handlebars-243.21565.122.zip": "sha256-pFKAZ8xFNfUh7/Hi4NYPDQAhRRYm4WKTpCQELqBfb40=", "https://plugins.jetbrains.com/files/6884/711128/handlebars-251.23774.318.zip": "sha256-34s7pOsqMaGoVYhCuAZtylNwplQOtNQJUppepsl4F4Q=", "https://plugins.jetbrains.com/files/6981/724264/ini-251.23774.466.zip": "sha256-CnoNNfcsbP9IipuqsBV1OZu+l3h7Yrs6MSofriDvI34=", "https://plugins.jetbrains.com/files/6981/724294/ini-251.25410.24.zip": "sha256-dcFDO0/mzbjkrsgM+RdHBAA5davTqD5is2D7JYQiTxc=", + "https://plugins.jetbrains.com/files/6981/771136/ini-251.26094.141.zip": "sha256-pyB9/Rutax3lp69NcvbVKy4b4OpZZ3cJst6UrrsQCho=", "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip": "sha256-BW47ZEUINVnhV0RZ1np7Dkf3lfyrtKoZ9ej/SVct2Xs=", "https://plugins.jetbrains.com/files/7125/627704/GrepConsole-13.2.0-IJ2023.3.zip": "sha256-KY5VRiLJJwa9OVVog1W3MboZjwVboYwYm+i4eqooo44=", "https://plugins.jetbrains.com/files/7177/636663/fileWatcher-243.22562.13.zip": "sha256-8IHS3kmmbL8uQYnaMW7NgBIpBKT+XDJ4QDiiPZa5pzo=", "https://plugins.jetbrains.com/files/7177/711086/fileWatcher-251.23774.318.zip": "sha256-jNHP/vaCaolmvNUQRGmIgSR1ykjDtKqyJ69UIn5cz70=", - "https://plugins.jetbrains.com/files/7179/617030/MavenHelper-4.29.0-IJ2022.2.zip": "sha256-BA6gbStpYb76VS+61WCxakZyGM9Zuxokc3zfx2OBGn4=", + "https://plugins.jetbrains.com/files/7179/767851/MavenHelper-4.30.0-IJ2022.2.zip": "sha256-Xsw4P/KddgOuwcNBzT3UWkaQBYXLqGop+fQhoL65Dfg=", "https://plugins.jetbrains.com/files/7212/636678/cucumber-java-243.22562.13.zip": "sha256-q8LjYzKuTK5da+A/29Z2+bHhWKmvsIUVG1MprbsIoLM=", "https://plugins.jetbrains.com/files/7212/711023/cucumber-java-251.23774.318.zip": "sha256-I7gwjCnW8OXzM5eioM7h6RW9qYaQX0MWJPfHOOL9KJA=", - "https://plugins.jetbrains.com/files/7219/739169/Symfony_Plugin-2025.1.279.zip": "sha256-OiUfPbbSuEFTHTmAdRNev7/StLnz5d1ziebSpuEHCPA=", + "https://plugins.jetbrains.com/files/7219/770179/Symfony_Plugin-2025.1.280.zip": "sha256-SgldikXjVx6hUw3LqcN8/NxLLBfnr/LUc/SrIIACl7k=", "https://plugins.jetbrains.com/files/7320/718466/PHP_Annotations-12.0.0.zip": "sha256-HfTd3zT/7sOrYutEkEzpFAu6AijrFrpHJg1ftP3N87Y=", "https://plugins.jetbrains.com/files/7322/737802/python-ce-251.25410.129.zip": "sha256-gN9XqO/x41scgJ9dzTdC4i4hIZJpwSeR7OjU2BG8gzU=", + "https://plugins.jetbrains.com/files/7322/766528/python-ce-251.26094.121.zip": "sha256-8om1u4KfXRkMUV8YzXWa1cgMeqTCRKSvDUh86ZBzPTE=", "https://plugins.jetbrains.com/files/7391/658997/asciidoctor-intellij-plugin-0.43.6.zip": "sha256-3RJ7YVFtynyqeLIzdrirCMbWNZmUkJ+DT/9my71H0Dk=", - "https://plugins.jetbrains.com/files/7391/722116/asciidoctor-intellij-plugin-0.44.5.zip": "sha256-OqjgUctKp9bxVX3zXR48NGGUgZxmwBK6Olcsz0ZWEZ8=", - "https://plugins.jetbrains.com/files/7425/603907/WakaTime.jar": "sha256-Z7ZWDomXnTdHFKOElMkt53imef6aT7H5XeD6lOOFxfQ=", + "https://plugins.jetbrains.com/files/7391/763266/asciidoctor-intellij-plugin-0.44.7.zip": "sha256-//bXaBJI+eIAYCuXek0pl9h7Utmrtui68QC1vrxPY8c=", + "https://plugins.jetbrains.com/files/7425/760442/WakaTime.jar": "sha256-DobKZKokueqq0z75d2Fo3BD8mWX9+LpGdT9C7Eu2fHc=", "https://plugins.jetbrains.com/files/7499/721170/gittoolbox-600.1.2_243-signed.zip": "sha256-cnVK5tsExjEAqP3cuh1PgNjrZYt2dVGQ/RL/jr89Zew=", "https://plugins.jetbrains.com/files/7724/724240/clouds-docker-impl-251.23774.466.zip": "sha256-2o1CaX3Xe86ZksIMW9ZqvnuvfvnqSddDDxEU/SFWER8=", "https://plugins.jetbrains.com/files/7724/731335/clouds-docker-impl-251.25410.67.zip": "sha256-p+7U17bTsrxGFVR+Kguma43FOHW0d3NQKRjwxONqL1g=", + "https://plugins.jetbrains.com/files/7724/771131/clouds-docker-impl-251.26094.141.zip": "sha256-+WJP3tXjIC4eGkssPrNf+tGEIKGQeLP3CcFtyXYUlQg=", "https://plugins.jetbrains.com/files/8097/636616/graphql-243.22562.13.zip": "sha256-rr2pO0mIsqWXYZgwEhcQJlk0lQabxnIPxqRCGdTFaTw=", "https://plugins.jetbrains.com/files/8097/711188/graphql-251.23774.318.zip": "sha256-O+gSW36MwqQqUiZBQl8J4NFNK+jFowtT9k1ykhSraxM=", + "https://plugins.jetbrains.com/files/8097/747099/graphql-251.26094.37.zip": "sha256-5QQ3zmfgtcy4cSyGale9GvENuiWV8cQmzTEfxPkox2A=", "https://plugins.jetbrains.com/files/8195/715934/toml-251.23774.429.zip": "sha256-cNWs+ycKlqednnqJAm4AkqF3LTdMt8jhwWWiEDdKQE4=", "https://plugins.jetbrains.com/files/8195/740008/toml-251.25410.140.zip": "sha256-DYgGpnlqpr/d/hJXD6uYsa2tzErM4uCofgok/3WayYs=", + "https://plugins.jetbrains.com/files/8195/763535/toml-251.26094.108.zip": "sha256-l1dKtjk1YkO2Bd5H/4MDIGAyqi3tNMsDIrVNoMDwzEs=", "https://plugins.jetbrains.com/files/8327/615097/Minecraft_Development-2024.3-1.8.2.zip": "sha256-4c1nxjbEsNs9twmQnJllk1OIVmm0nnUYZ0R7f/6bJt4=", - "https://plugins.jetbrains.com/files/8327/718480/Minecraft_Development-2025.1-1.8.4.zip": "sha256-PNKG9qHZRrPDw95ZWs8gwkcomxFFLl5WEvCk6NR7gSk=", + "https://plugins.jetbrains.com/files/8327/770049/Minecraft_Development-2025.1-1.8.5.zip": "sha256-JD/OcG0B/KUMNmNsnRmiWzZ3QWVcFjaqNnQW8WbV1zc=", "https://plugins.jetbrains.com/files/8554/716074/featuresTrainer-251.23774.436.zip": "sha256-P6ux6UgbjeJW3lF4w696bZ73zumY8hEm1iM98IsKgTQ=", "https://plugins.jetbrains.com/files/8554/740850/featuresTrainer-251.25410.148.zip": "sha256-iK3cy0Nf87rLV0m/t3LJv65Klij/9L5l9ad2UW9O00w=", + "https://plugins.jetbrains.com/files/8554/768764/featuresTrainer-251.26094.133.zip": "sha256-qcMxLM2Y/Q18r718VasRMAlKppbH+ra/6eKCkmVL88s=", "https://plugins.jetbrains.com/files/8607/673303/NixIDEA-0.4.0.17.zip": "sha256-OFisV6Vs/xlbDvchxfrREDVgVh7wcfGnot+zUrgQU6M=", "https://plugins.jetbrains.com/files/9164/636661/gherkin-243.22562.13.zip": "sha256-aG15ecfrsvNkpLjHclJEVKEW95GvBH+dEaqa+VCRkUo=", "https://plugins.jetbrains.com/files/9164/710996/gherkin-251.23774.318.zip": "sha256-Boy61dRieXmWrnTMfqqYZbdG/DNQ24KdguKN2fcZ+eg=", "https://plugins.jetbrains.com/files/9525/603167/idea-php-dotenv-plugin-2024.3.zip": "sha256-hR7hC2phDJnHXxPy80WlEDFAhZHtMCu7nqYvAb0VeTI=", "https://plugins.jetbrains.com/files/9525/711041/dotenv-251.23774.318.zip": "sha256-0c/2qbuu+M6z0gvpme+Mkv23JlQKNTUU+9GL9mh2IFw=", - "https://plugins.jetbrains.com/files/9568/728728/go-plugin-251.25410.59.zip": "sha256-hBZozpcXPSsvSH5/8hJ2OhA3ukCsLXvXGlqYMv2GtFA=", + "https://plugins.jetbrains.com/files/9568/766540/go-plugin-251.26094.121.zip": "sha256-P6XLFObtTrnxNWvNZag73hFVVY82t3+YQ2G31cwAVgg=", "https://plugins.jetbrains.com/files/9707/702581/ANSI_Highlighter_Premium-25.1.5.jar": "sha256-XYCD4kOHDeIKhti0T175xhBHR8uscaFN4c9CNlUaCDs=", "https://plugins.jetbrains.com/files/9707/702582/ANSI_Highlighter_Premium-24.3.4.jar": "sha256-STDhSOshNJU8YOjd1ZMxNl4WaHEp81t9TimFVQGZgWw=", "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip": "sha256-Mzmmq0RzMKZeKfBSo7FHvzeEtPGIrwqEDLAONQEsR1M=", diff --git a/pkgs/applications/editors/jetbrains/readme.md b/pkgs/applications/editors/jetbrains/readme.md index 1fe201860e18..92db4228cdde 100644 --- a/pkgs/applications/editors/jetbrains/readme.md +++ b/pkgs/applications/editors/jetbrains/readme.md @@ -24,17 +24,14 @@ The jdk is in `pkgs/development/compilers/jetbrains-jdk`. ## How to update stuff: - Run ./bin/update_bin.py, this will update binary IDEs and plugins, and automatically commit them - Source builds need a bit more effort, as they **aren't automated at the moment**: - - Find the build of the stable release you want to target (usually different for pycharm and idea, should have three components) - - Build number is available on JetBrains website: - - IDEA: https://www.jetbrains.com/idea/download/other.html - - PyCharm: https://www.jetbrains.com/pycharm/download/other.html - - Update the `version` & `buildNumber` fields in source/ides.json - - Empty the `ideaHash`, `androidHash`, `jpsHash` and `restarterHash` (only `ideaHash` and `restarterHash` changes on a regular basis) fields and try to build to get the new hashes + - Run ./source/update.py ./source/ides.json ./bin/versions.json. This will update the source version to the version of their corresponding binary packages. - Run these commands respectively: - `nix build .#jetbrains.idea-community-src.src.src && ./source/build_maven.py source/idea_maven_artefacts.json result/` for IDEA - `nix build .#jetbrains.pycharm-community-src.src.src && ./source/build_maven.py source/pycharm_maven_artefacts.json result/` for PyCharm - Update `brokenPlugins` timestamp and hash (from https://web.archive.org/web/*/https://plugins.jetbrains.com/files/brokenPlugins.json) - Do a test build + - Notice that sometimes a newer Kotlin version is required to build from source, if build fails, first check the recommended Kotlin version in `.idea/kotlinc.xml` in the IDEA source root + - Feel free to update the Kotlin version to a compatible one - If it succeeds, make a commit - Run ./plugins/update_plugins.py, this will update plugins and automatically commit them - make a PR/merge diff --git a/pkgs/applications/editors/jetbrains/source/build.nix b/pkgs/applications/editors/jetbrains/source/build.nix index f24c9947fe43..052f7285f3c3 100644 --- a/pkgs/applications/editors/jetbrains/source/build.nix +++ b/pkgs/applications/editors/jetbrains/source/build.nix @@ -12,6 +12,7 @@ ant, cmake, + fsnotifier, glib, glibc, jetbrains, @@ -30,14 +31,16 @@ jpsHash, restarterHash, mvnDeps, + repositories, + kotlin-jps-plugin, }: let - kotlin_2_0_21 = kotlin.overrideAttrs (oldAttrs: { - version = "2.0.21"; + kotlin' = kotlin.overrideAttrs (oldAttrs: { + version = "2.1.10"; src = fetchurl { url = oldAttrs.src.url; - sha256 = "sha256-A1LApFvSL4D2sm5IXNBNqAR7ql3lSGUoH7n4mkp7zyo="; + sha256 = "sha256-xuniY2iJgo4ZyIEdWriQhiU4yJ3CoxAZVt/uPCqLprE="; }; }); @@ -111,24 +114,6 @@ let ''; }; - fsnotifier = stdenv.mkDerivation { - pname = "fsnotifier"; - version = buildNumber; - inherit src; - sourceRoot = "${src.name}/native/fsNotifier/linux"; - buildPhase = '' - runHook preBuild - $CC -O2 -Wall -Wextra -Wpedantic -D "VERSION=\"${buildNumber}\"" -std=c11 main.c inotify.c util.c -o fsnotifier - runHook postBuild - ''; - installPhase = '' - runHook preInstall - mkdir -p $out/bin - mv fsnotifier $out/bin - runHook postInstall - ''; - }; - restarter = rustPlatform.buildRustPackage { pname = "restarter"; version = buildNumber; @@ -175,7 +160,7 @@ let jbr ]; patches = [ ../patches/kotlinc-path.patch ]; - postPatch = "sed -i 's|KOTLIN_PATH_HERE|${kotlin_2_0_21}|' src/main/java/org/jetbrains/jpsBootstrap/KotlinCompiler.kt"; + postPatch = "sed -i 's|KOTLIN_PATH_HERE|${kotlin'}|' src/main/java/org/jetbrains/jpsBootstrap/KotlinCompiler.kt"; buildPhase = '' runHook preInstall @@ -200,19 +185,7 @@ let mkRepoEntry = entry: { name = ".m2/repository/" + entry.path; path = fetchurl { - urls = [ - "https://cache-redirector.jetbrains.com/repo1.maven.org/maven2/${entry.url}" - "https://cache-redirector.jetbrains.com/packages.jetbrains.team/maven/p/ij/intellij-dependencies/${entry.url}" - "https://cache-redirector.jetbrains.com/maven.pkg.jetbrains.space/kotlin/p/kotlin/kotlin-ide-plugin-dependencies/${entry.url}" - "https://cache-redirector.jetbrains.com/packages.jetbrains.team/maven/p/grazi/grazie-platform-public/${entry.url}" - "https://cache-redirector.jetbrains.com/dl.google.com/dl/android/maven2/${entry.url}" - "https://packages.jetbrains.team/maven/p/kpm/public/${entry.url}" - "https://packages.jetbrains.team/maven/p/ki/maven/${entry.url}" - "https://packages.jetbrains.team/maven/p/dpgpv/maven/${entry.url}" - "https://cache-redirector.jetbrains.com/download.jetbrains.com/teamcity-repository/${entry.url}" - "https://cache-redirector.jetbrains.com/maven.pkg.jetbrains.space/kotlin/p/kotlin/kotlin-ide-plugin-dependencies/${entry.url}" - "https://cache-redirector.jetbrains.com/maven.pkg.jetbrains.space/public/p/compose/dev/${entry.url}" - ]; + urls = builtins.map (url: "${url}/${entry.url}") repositories; sha256 = entry.hash; }; }; @@ -223,7 +196,7 @@ let repoUrl = "https://cache-redirector.jetbrains.com/maven.pkg.jetbrains.space/kotlin/p/kotlin/kotlin-ide-plugin-dependencies"; groupId = builtins.replaceStrings [ "." ] [ "/" ] "org.jetbrains.kotlin"; artefactId = "kotlin-jps-plugin-classpath"; - version = "2.0.21-RC"; + version = kotlin-jps-plugin.version; in fetchurl { url = @@ -239,7 +212,7 @@ let + "-" + version + ".jar"; - hash = "sha256-jFjxP1LGjrvc1x2XqF5gg/SeKdSFNefxABBlrYl81zA="; + hash = kotlin-jps-plugin.hash; }; targetClass = @@ -260,8 +233,8 @@ let }; brokenPlugins = fetchurl { - url = "https://web.archive.org/web/20250224030717if_/https://downloads.marketplace.jetbrains.com/files/brokenPlugins.json"; - hash = "sha256-wQO+qmFfBn32F//bs/a5Q/H4Kpc171jKA9EMmeatc6w="; + url = "https://web.archive.org/web/20250509141038/https://downloads.marketplace.jetbrains.com/files/brokenPlugins.json"; + hash = "sha256-FzYANZSTasCdVEu9jLF1+2PEH8SadUddaIaec5vhKH8="; }; in @@ -291,7 +264,7 @@ stdenvNoCC.mkDerivation rec { substituteInPlace \ platform/build-scripts/src/org/jetbrains/intellij/build/kotlin/KotlinCompilerDependencyDownloader.kt \ --replace-fail 'JPS_PLUGIN_CLASSPATH_HERE' '${kotlin-jps-plugin-classpath}' \ - --replace-fail 'KOTLIN_PATH_HERE' '${kotlin_2_0_21}' + --replace-fail 'KOTLIN_PATH_HERE' '${kotlin'}' substituteInPlace \ platform/build-scripts/downloader/src/org/jetbrains/intellij/build/dependencies/JdkDownloader.kt \ --replace-fail 'JDK_PATH_HERE' '${jbr}/lib/openjdk' @@ -316,7 +289,7 @@ stdenvNoCC.mkDerivation rec { export JPS_BOOTSTRAP_COMMUNITY_HOME=/build/source jps-bootstrap \ -Dbuild.number=${buildNumber} \ - -Djps.kotlin.home=${kotlin_2_0_21} \ + -Djps.kotlin.home=${kotlin'} \ -Dintellij.build.target.os=linux \ -Dintellij.build.target.arch=x64 \ -Dintellij.build.skip.build.steps=mac_artifacts,mac_dmg,mac_sit,windows_exe_installer,windows_sign,repair_utility_bundle_step,sources_archive \ @@ -332,7 +305,7 @@ stdenvNoCC.mkDerivation rec { runHook preBuild java \ - -Djps.kotlin.home=${kotlin_2_0_21} \ + -Djps.kotlin.home=${kotlin'} \ "@java_argfile" runHook postBuild diff --git a/pkgs/applications/editors/jetbrains/source/idea_maven_artefacts.json b/pkgs/applications/editors/jetbrains/source/idea_maven_artefacts.json index 87217254df29..466d1b0f4ba2 100644 --- a/pkgs/applications/editors/jetbrains/source/idea_maven_artefacts.json +++ b/pkgs/applications/editors/jetbrains/source/idea_maven_artefacts.json @@ -5,14 +5,14 @@ "path": "org/jetbrains/intellij/deps/asm-all/9.6.1/asm-all-9.6.1.jar" }, { - "url": "org/jetbrains/intellij/deps/gradle-api/8.10/gradle-api-8.10.jar", - "hash": "fb4396fe3c6abf4cae1e753a8d1b28180d09c3e4fbd0cf46c2cae847483e6c5b", - "path": "org/jetbrains/intellij/deps/gradle-api/8.10/gradle-api-8.10.jar" + "url": "org/jetbrains/intellij/deps/gradle-api/8.13/gradle-api-8.13.jar", + "hash": "63047597f2f6724abc9b39508b1da58a793edd93990e1c23f7ef5634e25adda9", + "path": "org/jetbrains/intellij/deps/gradle-api/8.13/gradle-api-8.13.jar" }, { - "url": "com/google/guava/guava/33.3.0-jre/guava-33.3.0-jre.jar", - "hash": "dfadc3bce3101eff1452aae47d7c833fee443b47bdf9ef13311b6c7cab663ddf", - "path": "com/google/guava/guava/33.3.0-jre/guava-33.3.0-jre.jar" + "url": "com/google/guava/guava/33.4.0-jre/guava-33.4.0-jre.jar", + "hash": "b918c98a7e44dbe94ebd9fe3e40cddaadb5a93e6a78eb6008b42df237241e538", + "path": "com/google/guava/guava/33.4.0-jre/guava-33.4.0-jre.jar" }, { "url": "com/google/guava/failureaccess/1.0.2/failureaccess-1.0.2.jar", @@ -45,9 +45,9 @@ "path": "org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar" }, { - "url": "org/junit/jupiter/junit-jupiter-api/5.11.0/junit-jupiter-api-5.11.0.jar", - "hash": "42aa202fc862f76cc5af65b47b1c0b1961cdd79cd2216405a6dfa2bd20b20974", - "path": "org/junit/jupiter/junit-jupiter-api/5.11.0/junit-jupiter-api-5.11.0.jar" + "url": "org/junit/jupiter/junit-jupiter-api/5.11.3/junit-jupiter-api-5.11.3.jar", + "hash": "5d8147a60f49453973e250ed68701b7ff055964fe2462fc2cb1ec1d6d44889ba", + "path": "org/junit/jupiter/junit-jupiter-api/5.11.3/junit-jupiter-api-5.11.3.jar" }, { "url": "org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar", @@ -55,9 +55,9 @@ "path": "org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar" }, { - "url": "org/junit/platform/junit-platform-commons/1.11.0/junit-platform-commons-1.11.0.jar", - "hash": "609333a4545f9018eb0c59071efd30663a9e9fdce528121b65a04c27e5fc26a7", - "path": "org/junit/platform/junit-platform-commons/1.11.0/junit-platform-commons-1.11.0.jar" + "url": "org/junit/platform/junit-platform-commons/1.11.3/junit-platform-commons-1.11.3.jar", + "hash": "be262964b0b6b48de977c61d4f931df8cf61e80e750cc3f3a0a39cdd21c1008c", + "path": "org/junit/platform/junit-platform-commons/1.11.3/junit-platform-commons-1.11.3.jar" }, { "url": "org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar", @@ -65,54 +65,54 @@ "path": "org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar" }, { - "url": "org/junit/jupiter/junit-jupiter-engine/5.11.0/junit-jupiter-engine-5.11.0.jar", - "hash": "7012423383d0c79d0347c5cf2bd1996c30a12240fb729e0cdfa954852ec693cc", - "path": "org/junit/jupiter/junit-jupiter-engine/5.11.0/junit-jupiter-engine-5.11.0.jar" + "url": "org/junit/jupiter/junit-jupiter-engine/5.11.3/junit-jupiter-engine-5.11.3.jar", + "hash": "e62420c99f7c0d59a2159a2ef63e61877e9c80bd722c03ca8bf3bdcea050a589", + "path": "org/junit/jupiter/junit-jupiter-engine/5.11.3/junit-jupiter-engine-5.11.3.jar" }, { - "url": "org/junit/platform/junit-platform-launcher/1.11.0/junit-platform-launcher-1.11.0.jar", - "hash": "a44535e639814236844e2247204f89247d13af0cebdea53a42314100dfde19ce", - "path": "org/junit/platform/junit-platform-launcher/1.11.0/junit-platform-launcher-1.11.0.jar" + "url": "org/junit/platform/junit-platform-launcher/1.11.3/junit-platform-launcher-1.11.3.jar", + "hash": "b4727459201b0011beb0742bd807421a1fc8426b116193031ed87825bc2d4f04", + "path": "org/junit/platform/junit-platform-launcher/1.11.3/junit-platform-launcher-1.11.3.jar" }, { - "url": "org/junit/platform/junit-platform-engine/1.11.0/junit-platform-engine-1.11.0.jar", - "hash": "a7e67279c651c516949512b506916475a6d9e284cd4f4c30d029b4ad73a944d8", - "path": "org/junit/platform/junit-platform-engine/1.11.0/junit-platform-engine-1.11.0.jar" + "url": "org/junit/platform/junit-platform-engine/1.11.3/junit-platform-engine-1.11.3.jar", + "hash": "0043f72f611664735da8dc9a308bf12ecd2236b05339351c4741edb4d8fab0da", + "path": "org/junit/platform/junit-platform-engine/1.11.3/junit-platform-engine-1.11.3.jar" }, { - "url": "org/junit/jupiter/junit-jupiter-params/5.11.0/junit-jupiter-params-5.11.0.jar", - "hash": "92ccae2d72e8cc7ac4d3a912fd1a8fecc5e3040a62ac6c667a07a6f55b8023eb", - "path": "org/junit/jupiter/junit-jupiter-params/5.11.0/junit-jupiter-params-5.11.0.jar" + "url": "org/junit/jupiter/junit-jupiter-params/5.11.3/junit-jupiter-params-5.11.3.jar", + "hash": "0f798ebec744c4e6605fd4f2072f41a8e989e2d469e21db5aa67cf799c0b51ec", + "path": "org/junit/jupiter/junit-jupiter-params/5.11.3/junit-jupiter-params-5.11.3.jar" }, { - "url": "org/junit-pioneer/junit-pioneer/2.2.0/junit-pioneer-2.2.0.jar", - "hash": "82cb4155f882a2d6eff3ca92d96cce52612aad5345b65b65e1fc82837bb5df4e", - "path": "org/junit-pioneer/junit-pioneer/2.2.0/junit-pioneer-2.2.0.jar" + "url": "org/junit-pioneer/junit-pioneer/2.3.0/junit-pioneer-2.3.0.jar", + "hash": "8b09db32c8cf5b2112a00262411ccd4ef6ca3bae695a0015ecad4def23dea9fd", + "path": "org/junit-pioneer/junit-pioneer/2.3.0/junit-pioneer-2.3.0.jar" }, { - "url": "org/junit/platform/junit-platform-suite/1.11.0/junit-platform-suite-1.11.0.jar", - "hash": "10fbe6e9d63b8776c7d578eb5bf51f72a2e34fb3e171987531b30dee2c577c5d", - "path": "org/junit/platform/junit-platform-suite/1.11.0/junit-platform-suite-1.11.0.jar" + "url": "org/junit/platform/junit-platform-suite/1.11.3/junit-platform-suite-1.11.3.jar", + "hash": "ef4cb7ed1625394c3cecfa8a1eed3559cd119be75b5cba3b7cb4a60c511aa2d3", + "path": "org/junit/platform/junit-platform-suite/1.11.3/junit-platform-suite-1.11.3.jar" }, { - "url": "org/junit/platform/junit-platform-suite-api/1.11.0/junit-platform-suite-api-1.11.0.jar", - "hash": "4e007a34fabc491f4c460ad7430bd9a7bd2cc00b5ad579067c3e7d19ca1af944", - "path": "org/junit/platform/junit-platform-suite-api/1.11.0/junit-platform-suite-api-1.11.0.jar" + "url": "org/junit/platform/junit-platform-suite-api/1.11.3/junit-platform-suite-api-1.11.3.jar", + "hash": "c728aa61ccd7942552f8bd4e50ec3064260d4a1e085022cbfccd64a88f9b3820", + "path": "org/junit/platform/junit-platform-suite-api/1.11.3/junit-platform-suite-api-1.11.3.jar" }, { - "url": "org/junit/platform/junit-platform-suite-engine/1.11.0/junit-platform-suite-engine-1.11.0.jar", - "hash": "f818fd53a13dfa341bb3205ce5baf78a768904db639b8ec751ae63339c697da7", - "path": "org/junit/platform/junit-platform-suite-engine/1.11.0/junit-platform-suite-engine-1.11.0.jar" + "url": "org/junit/platform/junit-platform-suite-engine/1.11.3/junit-platform-suite-engine-1.11.3.jar", + "hash": "b09dda0a52850bfb7cb8b94b76225b0245cac9dd3fa2d3cc4beef68dc255e6ca", + "path": "org/junit/platform/junit-platform-suite-engine/1.11.3/junit-platform-suite-engine-1.11.3.jar" }, { - "url": "org/junit/platform/junit-platform-suite-commons/1.11.0/junit-platform-suite-commons-1.11.0.jar", - "hash": "18d4deb308c8aa47886b6a5fe95439ac6d8480f450da1722fb670527cc8e4854", - "path": "org/junit/platform/junit-platform-suite-commons/1.11.0/junit-platform-suite-commons-1.11.0.jar" + "url": "org/junit/platform/junit-platform-suite-commons/1.11.3/junit-platform-suite-commons-1.11.3.jar", + "hash": "1369846b83b7ea6f24670b2b4d8a372a1bbbc844e2746f5a93396b5a13a28ca6", + "path": "org/junit/platform/junit-platform-suite-commons/1.11.3/junit-platform-suite-commons-1.11.3.jar" }, { - "url": "org/junit/vintage/junit-vintage-engine/5.11.0/junit-vintage-engine-5.11.0.jar", - "hash": "ce50ffc70b37fbbd4b9c84fb132bf1b004475ed6af45121499a750fae85a6a60", - "path": "org/junit/vintage/junit-vintage-engine/5.11.0/junit-vintage-engine-5.11.0.jar" + "url": "org/junit/vintage/junit-vintage-engine/5.11.3/junit-vintage-engine-5.11.3.jar", + "hash": "d58022419bc76b3df4f479a2b3599d95e24464cd68fb7c2267f1a1a871215c47", + "path": "org/junit/vintage/junit-vintage-engine/5.11.3/junit-vintage-engine-5.11.3.jar" }, { "url": "org/jetbrains/intellij/deps/java-compatibility/1.0.1/java-compatibility-1.0.1.jar", @@ -210,59 +210,64 @@ "path": "com/android/tools/build/aapt2-proto/8.1.0-10154469/aapt2-proto-8.1.0-10154469.jar" }, { - "url": "ai/grazie/spell/gec-spell-engine-local-jvm/0.3.133/gec-spell-engine-local-jvm-0.3.133.jar", - "hash": "577d36ca97c381f4f24ce81624f1ac5588d2f110a81034564aeefea7fec13066", - "path": "ai/grazie/spell/gec-spell-engine-local-jvm/0.3.133/gec-spell-engine-local-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-langs-jvm/0.4.16/nlp-langs-jvm-0.4.16.jar", + "hash": "dd132003dfc893e046834ec15ec5104f067d7a90eb9786e85f49b4e47bac4561", + "path": "ai/grazie/nlp/nlp-langs-jvm/0.4.16/nlp-langs-jvm-0.4.16.jar" }, { - "url": "ai/grazie/utils/utils-common-jvm/0.3.133/utils-common-jvm-0.3.133.jar", - "hash": "c543a072a0f4d96c3afa37756f694be4a9348777fd7690ab4bd21e7df466a309", - "path": "ai/grazie/utils/utils-common-jvm/0.3.133/utils-common-jvm-0.3.133.jar" + "url": "ai/grazie/spell/gec-spell-engine-local-jvm/0.4.16/gec-spell-engine-local-jvm-0.4.16.jar", + "hash": "ddb7e0eaddaddfb9ee27bb723614364818898a242189f36cfca7f8031a6ae383", + "path": "ai/grazie/spell/gec-spell-engine-local-jvm/0.4.16/gec-spell-engine-local-jvm-0.4.16.jar" }, { - "url": "ai/grazie/model/model-gec-jvm/0.3.133/model-gec-jvm-0.3.133.jar", - "hash": "dab239b1efb88d5087ecc64260cd34613b6ad200e80a001014d1129d954d3a24", - "path": "ai/grazie/model/model-gec-jvm/0.3.133/model-gec-jvm-0.3.133.jar" + "url": "ai/grazie/utils/utils-common-jvm/0.4.16/utils-common-jvm-0.4.16.jar", + "hash": "1721b8bb4a7dbcbc34da8cec18100f03b72c8c06d4e945622c1a24b720981b73", + "path": "ai/grazie/utils/utils-common-jvm/0.4.16/utils-common-jvm-0.4.16.jar" }, { - "url": "ai/grazie/model/model-text-jvm/0.3.133/model-text-jvm-0.3.133.jar", - "hash": "dfd010d8b4d0522121fef66652cae5c73f0dfde77cc79cf1c73067a7e63e8cf2", - "path": "ai/grazie/model/model-text-jvm/0.3.133/model-text-jvm-0.3.133.jar" + "url": "ai/grazie/model/model-gec-jvm/0.4.16/model-gec-jvm-0.4.16.jar", + "hash": "554347aa33621257891e492a2e315c9e93a6d0ac57a3b7e5bb9f8d35bc071da5", + "path": "ai/grazie/model/model-gec-jvm/0.4.16/model-gec-jvm-0.4.16.jar" }, { - "url": "ai/grazie/model/model-common-jvm/0.3.133/model-common-jvm-0.3.133.jar", - "hash": "8fb936cb7c83862210841d81a870a9ea6677a0122ff0c7c8c055705c3945100a", - "path": "ai/grazie/model/model-common-jvm/0.3.133/model-common-jvm-0.3.133.jar" + "url": "ai/grazie/model/model-text-jvm/0.4.16/model-text-jvm-0.4.16.jar", + "hash": "fac290bca4ef5ac2084e35dcb1663d5725de799d51333359931f542690672d7b", + "path": "ai/grazie/model/model-text-jvm/0.4.16/model-text-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-langs-jvm/0.3.133/nlp-langs-jvm-0.3.133.jar", - "hash": "270164fec0acafa1a38795d66229b7099776879bb4eb659fe01c505eb2659f5c", - "path": "ai/grazie/nlp/nlp-langs-jvm/0.3.133/nlp-langs-jvm-0.3.133.jar" + "url": "ai/grazie/model/model-common-jvm/0.4.16/model-common-jvm-0.4.16.jar", + "hash": "58339397d3350db6c549a5ebee98b9611693c187fa2311b18aa849e27067c438", + "path": "ai/grazie/model/model-common-jvm/0.4.16/model-common-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-common-jvm/0.3.133/nlp-common-jvm-0.3.133.jar", - "hash": "985c391e50c040cfb4f0e9f2bd297f1333343392e894ad4c3cc52846f8693e6b", - "path": "ai/grazie/nlp/nlp-common-jvm/0.3.133/nlp-common-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-langs-jvm/0.4.16/nlp-langs-jvm-0.4.16.jar", + "hash": "dd132003dfc893e046834ec15ec5104f067d7a90eb9786e85f49b4e47bac4561", + "path": "ai/grazie/nlp/nlp-langs-jvm/0.4.16/nlp-langs-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-patterns-jvm/0.3.133/nlp-patterns-jvm-0.3.133.jar", - "hash": "739fa806547fa71a3c36ae65128308138617d19b699db272bd9cfcede754cc50", - "path": "ai/grazie/nlp/nlp-patterns-jvm/0.3.133/nlp-patterns-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-common-jvm/0.4.16/nlp-common-jvm-0.4.16.jar", + "hash": "d1c17c4dbb3f5f43b6e3cfc30a319d1a050aa5425ab0ce27b802b90f114a649e", + "path": "ai/grazie/nlp/nlp-common-jvm/0.4.16/nlp-common-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-similarity-jvm/0.3.133/nlp-similarity-jvm-0.3.133.jar", - "hash": "1071e4c47a14f1df6d3ecaf0c5d3c2272fe9c691e350e5cd442385f7a5f8256c", - "path": "ai/grazie/nlp/nlp-similarity-jvm/0.3.133/nlp-similarity-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-patterns-jvm/0.4.16/nlp-patterns-jvm-0.4.16.jar", + "hash": "add762a914bd20ca21ea25b43f24627f902b687514ddce9ba28916bb20e8066e", + "path": "ai/grazie/nlp/nlp-patterns-jvm/0.4.16/nlp-patterns-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-phonetics-jvm/0.3.133/nlp-phonetics-jvm-0.3.133.jar", - "hash": "4cbf17f5c7049077cc1b8f885cb332b8d2271c7d3cd71d1501cda3e9328936d6", - "path": "ai/grazie/nlp/nlp-phonetics-jvm/0.3.133/nlp-phonetics-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-similarity-jvm/0.4.16/nlp-similarity-jvm-0.4.16.jar", + "hash": "79a42758913de07c1ebeb851a4a70236309ea12dcb64d1db7ea007618593470f", + "path": "ai/grazie/nlp/nlp-similarity-jvm/0.4.16/nlp-similarity-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-tokenizer-jvm/0.3.133/nlp-tokenizer-jvm-0.3.133.jar", - "hash": "3c3b9b40dc65a8542edcf5f919cc700536829d0c2b9f9eb23e8c89e2d7c437d9", - "path": "ai/grazie/nlp/nlp-tokenizer-jvm/0.3.133/nlp-tokenizer-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-phonetics-jvm/0.4.16/nlp-phonetics-jvm-0.4.16.jar", + "hash": "35479690a543b83528932122a18a476902673caa591bbeb580564eb09fbfdf62", + "path": "ai/grazie/nlp/nlp-phonetics-jvm/0.4.16/nlp-phonetics-jvm-0.4.16.jar" + }, + { + "url": "ai/grazie/nlp/nlp-tokenizer-jvm/0.4.16/nlp-tokenizer-jvm-0.4.16.jar", + "hash": "fcc839a317aba9e165c4d061e0f266dcebf32c7ceee9cb5571144cd1db60d63d", + "path": "ai/grazie/nlp/nlp-tokenizer-jvm/0.4.16/nlp-tokenizer-jvm-0.4.16.jar" }, { "url": "com/android/tools/analytics-library/testing/31.5.0-alpha08/testing-31.5.0-alpha08.jar", @@ -284,6 +289,11 @@ "hash": "2d931e26e6632f608a6dab0fb60d27fae075260bf4532bb6ba8828d81bd167b3", "path": "com/jetbrains/fus/reporting/model/76/model-76.jar" }, + { + "url": "org/apache/sshd/sshd-osgi/2.14.0/sshd-osgi-2.14.0.jar", + "hash": "cf7450bf7204380a817c86bb5968aa7df81555081f479690b32eb20fb51015e9", + "path": "org/apache/sshd/sshd-osgi/2.14.0/sshd-osgi-2.14.0.jar" + }, { "url": "org/ow2/asm/asm-analysis/9.7/asm-analysis-9.7.jar", "hash": "7bc6bcbc21379948a0c8c467fb0f864206e5b818f6bc0b546872f5c9f941556f", @@ -325,34 +335,34 @@ "path": "org/jetbrains/intellij/blockmap/1.0.7/blockmap-1.0.7.jar" }, { - "url": "org/bouncycastle/bcpg-jdk18on/1.78.1/bcpg-jdk18on-1.78.1.jar", - "hash": "1463bb2cb8737e9ae34f5bd93f48e27711365bb277f4918f44608ed89b68792d", - "path": "org/bouncycastle/bcpg-jdk18on/1.78.1/bcpg-jdk18on-1.78.1.jar" + "url": "org/bouncycastle/bcpg-jdk18on/1.80/bcpg-jdk18on-1.80.jar", + "hash": "3799a0d53511b860780af43c44ae8e0519afabb263195af40174f46312cd58bd", + "path": "org/bouncycastle/bcpg-jdk18on/1.80/bcpg-jdk18on-1.80.jar" }, { - "url": "org/bouncycastle/bcpkix-jdk18on/1.78.1/bcpkix-jdk18on-1.78.1.jar", - "hash": "4b48ea084e5232b9d79ebca1887b9de037b124931807cd60710748c2aee08cc9", - "path": "org/bouncycastle/bcpkix-jdk18on/1.78.1/bcpkix-jdk18on-1.78.1.jar" + "url": "org/bouncycastle/bcpkix-jdk18on/1.80/bcpkix-jdk18on-1.80.jar", + "hash": "4f4ba6a92617ea19dc183f0fa5db492eee426fdde2a0a2d6c94777ffd1af6413", + "path": "org/bouncycastle/bcpkix-jdk18on/1.80/bcpkix-jdk18on-1.80.jar" }, { - "url": "org/bouncycastle/bcprov-jdk18on/1.78.1/bcprov-jdk18on-1.78.1.jar", - "hash": "add5915e6acfc6ab5836e1fd8a5e21c6488536a8c1f21f386eeb3bf280b702d7", - "path": "org/bouncycastle/bcprov-jdk18on/1.78.1/bcprov-jdk18on-1.78.1.jar" + "url": "org/bouncycastle/bcutil-jdk18on/1.80/bcutil-jdk18on-1.80.jar", + "hash": "22eca687f7955411f456af33e6ea8e68fc73cd80cb8b32aa5f7a8b1827d7c678", + "path": "org/bouncycastle/bcutil-jdk18on/1.80/bcutil-jdk18on-1.80.jar" }, { - "url": "org/bouncycastle/bcutil-jdk18on/1.78.1/bcutil-jdk18on-1.78.1.jar", - "hash": "d9fa56f97b0f761ce3bc8d9d74c5d7137a987bf5bd3abfe1003f9bafa45a1d2f", - "path": "org/bouncycastle/bcutil-jdk18on/1.78.1/bcutil-jdk18on-1.78.1.jar" + "url": "org/bouncycastle/bcprov-jdk18on/1.80/bcprov-jdk18on-1.80.jar", + "hash": "e8ad209f8c58d291a37ca9750e9e9fac60596956c983e49dd8282381dd8b3249", + "path": "org/bouncycastle/bcprov-jdk18on/1.80/bcprov-jdk18on-1.80.jar" }, { - "url": "com/github/ben-manes/caffeine/caffeine/3.1.8/caffeine-3.1.8.jar", - "hash": "7dd15f9df1be238ffaa367ce6f556737a88031de4294dad18eef57c474ddf1d3", - "path": "com/github/ben-manes/caffeine/caffeine/3.1.8/caffeine-3.1.8.jar" + "url": "com/github/ben-manes/caffeine/caffeine/3.2.0/caffeine-3.2.0.jar", + "hash": "ec411dfdf0c03f25218648ce89861630b71680e5858a9a7278ebac8e55cab3d7", + "path": "com/github/ben-manes/caffeine/caffeine/3.2.0/caffeine-3.2.0.jar" }, { - "url": "io/github/classgraph/classgraph/4.8.174/classgraph-4.8.174.jar", - "hash": "3594bdb5ff2b420df7330b7e192221eaa6960c5f1e08890c391cb56109e3c4b9", - "path": "io/github/classgraph/classgraph/4.8.174/classgraph-4.8.174.jar" + "url": "io/github/classgraph/classgraph/4.8.179/classgraph-4.8.179.jar", + "hash": "16558357f234052370109127a45d69a9bd6d8646925594792634486dc48b159d", + "path": "io/github/classgraph/classgraph/4.8.179/classgraph-4.8.179.jar" }, { "url": "com/github/spullara/cli-parser/cli-parser/1.1.6/cli-parser-1.1.6.jar", @@ -405,14 +415,14 @@ "path": "commons-logging/commons-logging/1.2/commons-logging-1.2.jar" }, { - "url": "org/apache/commons/commons-text/1.12.0/commons-text-1.12.0.jar", - "hash": "de023257ff166044a56bd1aa9124e843cd05dac5806cc705a9311f3556d5a15f", - "path": "org/apache/commons/commons-text/1.12.0/commons-text-1.12.0.jar" + "url": "org/apache/commons/commons-text/1.13.0/commons-text-1.13.0.jar", + "hash": "1e323a501127df78ed0987f345d69d65d0ea7fa3d4fb5b3f84aaeba3a8b20f38", + "path": "org/apache/commons/commons-text/1.13.0/commons-text-1.13.0.jar" }, { - "url": "info/cukes/cucumber-core/1.2.4/cucumber-core-1.2.4.jar", - "hash": "424f81cb5ce84386bd310d572f8edd91723cde58abd52f65db5888e0b38eb8f5", - "path": "info/cukes/cucumber-core/1.2.4/cucumber-core-1.2.4.jar" + "url": "io/cucumber/cucumber-core/1.2.6/cucumber-core-1.2.6.jar", + "hash": "ace77c533236213a1aa9f68b8de10e564da809605371ef2f8c73cd8f4c71293a", + "path": "io/cucumber/cucumber-core/1.2.6/cucumber-core-1.2.6.jar" }, { "url": "info/cukes/gherkin/2.12.2/gherkin-2.12.2.jar", @@ -450,9 +460,14 @@ "path": "info/cukes/cucumber-jvm-deps/1.0.5/cucumber-jvm-deps-1.0.5.jar" }, { - "url": "com/jetbrains/intellij/devkit/devkit-runtime-module-repository-jps/241.12019/devkit-runtime-module-repository-jps-241.12019.jar", - "hash": "9f4d52fc52b1e1505e44a427dbbbb7a010f7f1d8506c2fe2c3c8cc132eb87daa", - "path": "com/jetbrains/intellij/devkit/devkit-runtime-module-repository-jps/241.12019/devkit-runtime-module-repository-jps-241.12019.jar" + "url": "de/cketti/unicode/kotlin-codepoints-jvm/0.9.0/kotlin-codepoints-jvm-0.9.0.jar", + "hash": "d642f145f6123739e779d4156145cc5fe7c2173bb58d437b813961a31c337ff9", + "path": "de/cketti/unicode/kotlin-codepoints-jvm/0.9.0/kotlin-codepoints-jvm-0.9.0.jar" + }, + { + "url": "com/jetbrains/intellij/devkit/devkit-runtime-module-repository-jps/251.16369/devkit-runtime-module-repository-jps-251.16369.jar", + "hash": "bb46909020abfc29fb6480b261ab1a887d19d0af83777ac8fb0cb950f45e7005", + "path": "com/jetbrains/intellij/devkit/devkit-runtime-module-repository-jps/251.16369/devkit-runtime-module-repository-jps-251.16369.jar" }, { "url": "com/jetbrains/infra/download-pgp-verifier/1.1.4/download-pgp-verifier-1.1.4.jar", @@ -460,9 +475,9 @@ "path": "com/jetbrains/infra/download-pgp-verifier/1.1.4/download-pgp-verifier-1.1.4.jar" }, { - "url": "org/easymock/easymock/5.2.0/easymock-5.2.0.jar", - "hash": "e63a6494b96553cbd0dfde13b5f23dabbd811854410d6ebc53a6a6684a1763b5", - "path": "org/easymock/easymock/5.2.0/easymock-5.2.0.jar" + "url": "org/easymock/easymock/5.5.0/easymock-5.5.0.jar", + "hash": "bf05b56b102be91c7cd0bbad1684d5809ac2ccd0380e684f9445bfde14418f7f", + "path": "org/easymock/easymock/5.5.0/easymock-5.5.0.jar" }, { "url": "org/ec4j/core/ec4j-core/0.3.0/ec4j-core-0.3.0.jar", @@ -484,6 +499,11 @@ "hash": "ba8254ff6d612af49acee4cac1108453ce3a417efa548b24f2f4f268cd2b441a", "path": "net/bytebuddy/byte-buddy/1.14.13/byte-buddy-1.14.13.jar" }, + { + "url": "jetbrains/fleet/expects-compiler-plugin/2.1.10-0.1/expects-compiler-plugin-2.1.10-0.1.jar", + "hash": "5cc221cebbc1f72146b6f2bcd7f3804fada53ca75885854024f8141c20ebe734", + "path": "jetbrains/fleet/expects-compiler-plugin/2.1.10-0.1/expects-compiler-plugin-2.1.10-0.1.jar" + }, { "url": "org/jetbrains/intellij/deps/fastutil/intellij-deps-fastutil/8.5.14-jb1/intellij-deps-fastutil-8.5.14-jb1.jar", "hash": "d9652a225d86e5420d1a07b2bd5be33cdaff9184a2522ced837bd3b963e7f4a4", @@ -585,9 +605,9 @@ "path": "io/grpc/grpc-stub/1.66.0/grpc-stub-1.66.0.jar" }, { - "url": "com/google/code/gson/gson/2.11.0/gson-2.11.0.jar", - "hash": "57928d6e5a6edeb2abd3770a8f95ba44dce45f3b23b7a9dc2b309c581552a78b", - "path": "com/google/code/gson/gson/2.11.0/gson-2.11.0.jar" + "url": "com/google/code/gson/gson/2.12.1/gson-2.12.1.jar", + "hash": "ebee13d5fb7477cd7f1cc010e0c356df8ca80709715248da97f79e35ccb4fbec", + "path": "com/google/code/gson/gson/2.12.1/gson-2.12.1.jar" }, { "url": "com/google/guava/guava-testlib/33.0.0-jre/guava-testlib-33.0.0-jre.jar", @@ -600,9 +620,9 @@ "path": "org/hamcrest/hamcrest/2.2/hamcrest-2.2.jar" }, { - "url": "com/dynatrace/hash4j/hash4j/0.18.0/hash4j-0.18.0.jar", - "hash": "bf974b5654aa4254915a0d63a76a429acaed1d005f0f79f4adaf2292f3541f80", - "path": "com/dynatrace/hash4j/hash4j/0.18.0/hash4j-0.18.0.jar" + "url": "com/dynatrace/hash4j/hash4j/0.20.0/hash4j-0.20.0.jar", + "hash": "0181873ba85684d119134f5598432f5b63109a03adc455767a1500b2145df8a2", + "path": "com/dynatrace/hash4j/hash4j/0.20.0/hash4j-0.20.0.jar" }, { "url": "org/apache/httpcomponents/httpmime/4.5.14/httpmime-4.5.14.jar", @@ -660,9 +680,9 @@ "path": "org/jetbrains/intellij/deps/intellij-test-discovery-agent/1.0.763/intellij-test-discovery-agent-1.0.763.jar" }, { - "url": "io/lacuna/bifurcan/0.2.0-alpha6/bifurcan-0.2.0-alpha6.jar", - "hash": "e7ac848bc0bf207bac0d8272540c4972efdeb1e25d1108f42d6f64f9795336b9", - "path": "io/lacuna/bifurcan/0.2.0-alpha6/bifurcan-0.2.0-alpha6.jar" + "url": "io/github/z4kn4fein/semver-jvm/2.0.0/semver-jvm-2.0.0.jar", + "hash": "fbbf174a4e78aa5be1f1b7db73edc5c0a6a2e59e1562263e2c3a2e510fa1ba45", + "path": "io/github/z4kn4fein/semver-jvm/2.0.0/semver-jvm-2.0.0.jar" }, { "url": "io/mockk/mockk/1.13.12/mockk-1.13.12.jar", @@ -734,6 +754,11 @@ "hash": "873a606e23507969f9bbbea939d5e19274a88775ea5a169ba7e2d795aa5156e1", "path": "com/fasterxml/jackson/core/jackson-annotations/2.17.2/jackson-annotations-2.17.2.jar" }, + { + "url": "com/fasterxml/jackson/dataformat/jackson-dataformat-toml/2.17.2/jackson-dataformat-toml-2.17.2.jar", + "hash": "bc7ecf3f1bf76a26daddf2c7ab4facc017ce6e8c5c8c6b8f29cb610494828017", + "path": "com/fasterxml/jackson/dataformat/jackson-dataformat-toml/2.17.2/jackson-dataformat-toml-2.17.2.jar" + }, { "url": "com/fasterxml/jackson/dataformat/jackson-dataformat-yaml/2.17.2/jackson-dataformat-yaml-2.17.2.jar", "hash": "941bcd8b1381bb3b0d726fab41624fa8ece0ee7b6cf2860ad95e8157ce673376", @@ -805,19 +830,19 @@ "path": "com/sun/activation/jakarta.activation/1.2.2/jakarta.activation-1.2.2.jar" }, { - "url": "org/jetbrains/intellij/deps/jb-jdi/2.37/jb-jdi-2.37.jar", - "hash": "e2e01941b253707ae47d0a9c6f7d2b5e3803f55deb4324f1d00e5f3dafd2580d", - "path": "org/jetbrains/intellij/deps/jb-jdi/2.37/jb-jdi-2.37.jar" + "url": "org/jetbrains/intellij/deps/jb-jdi/2.41/jb-jdi-2.41.jar", + "hash": "6cf1a0a0d77420bb644f3a737c42642e9f7e601c63843d73d492a55a1b926af3", + "path": "org/jetbrains/intellij/deps/jb-jdi/2.41/jb-jdi-2.41.jar" }, { - "url": "com/jetbrains/jbr-api/1.0.0/jbr-api-1.0.0.jar", - "hash": "f472369968f6692804e528e3a17d3d71386ac502d1312164b6dd670b46d966e3", - "path": "com/jetbrains/jbr-api/1.0.0/jbr-api-1.0.0.jar" + "url": "com/jetbrains/jbr-api/1.2.0/jbr-api-1.2.0.jar", + "hash": "c8c63ab5e027125413df7e064b7df4f8f767c111e015a8a3099c49a3c0fd9004", + "path": "com/jetbrains/jbr-api/1.2.0/jbr-api-1.2.0.jar" }, { - "url": "org/jetbrains/intellij/deps/jcef/jcef/122.1.9-gd14e051-chromium-122.0.6261.94-api-1.17-dev-b538/jcef-122.1.9-gd14e051-chromium-122.0.6261.94-api-1.17-dev-b538.jar", - "hash": "da1a0d3e31eb33c7bfd72b64ce89f0883479d574041bb933138308fa0c2cc54e", - "path": "org/jetbrains/intellij/deps/jcef/jcef/122.1.9-gd14e051-chromium-122.0.6261.94-api-1.17-dev-b538/jcef-122.1.9-gd14e051-chromium-122.0.6261.94-api-1.17-dev-b538.jar" + "url": "org/jetbrains/intellij/deps/jcef/jcef/122.1.9-gd14e051-chromium-122.0.6261.94-api-1.18-251-b27/jcef-122.1.9-gd14e051-chromium-122.0.6261.94-api-1.18-251-b27.jar", + "hash": "6ea1b11de64cafdad0521421d261a9b3c1531d3c28caf9a7c88a1487cbb27d4c", + "path": "org/jetbrains/intellij/deps/jcef/jcef/122.1.9-gd14e051-chromium-122.0.6261.94-api-1.18-251-b27/jcef-122.1.9-gd14e051-chromium-122.0.6261.94-api-1.18-251-b27.jar" }, { "url": "net/jcip/jcip-annotations/1.0/jcip-annotations-1.0.jar", @@ -825,14 +850,14 @@ "path": "net/jcip/jcip-annotations/1.0/jcip-annotations-1.0.jar" }, { - "url": "org/jetbrains/jediterm/jediterm-core/3.47/jediterm-core-3.47.jar", - "hash": "783da24cb8fbf0b928e58d39a5c7d43284ee7646f8039a3681f75db73aab794a", - "path": "org/jetbrains/jediterm/jediterm-core/3.47/jediterm-core-3.47.jar" + "url": "org/jetbrains/jediterm/jediterm-core/3.51/jediterm-core-3.51.jar", + "hash": "3227c674735a375a5ddfc53f131683b7f20be84571e2226bbed751b11f70adc5", + "path": "org/jetbrains/jediterm/jediterm-core/3.51/jediterm-core-3.51.jar" }, { - "url": "org/jetbrains/jediterm/jediterm-ui/3.47/jediterm-ui-3.47.jar", - "hash": "5217fe12ddcdb5bb134bc22410c74400ffc3ecca1bc465692e42809f64be1158", - "path": "org/jetbrains/jediterm/jediterm-ui/3.47/jediterm-ui-3.47.jar" + "url": "org/jetbrains/jediterm/jediterm-ui/3.51/jediterm-ui-3.51.jar", + "hash": "9d9da462aa81ce66989d70f006d1725a099d7cf7d0730ed5202608e408c68ac5", + "path": "org/jetbrains/jediterm/jediterm-ui/3.51/jediterm-ui-3.51.jar" }, { "url": "org/jetbrains/jetCheck/0.2.2/jetCheck-0.2.2.jar", @@ -865,9 +890,9 @@ "path": "org/jetbrains/intellij/deps/rwmutex-idea/0.0.7/rwmutex-idea-0.0.7.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-compose-compiler-plugin/2.0.21-RC/kotlin-compose-compiler-plugin-2.0.21-RC.jar", - "hash": "42268e4a0700ee3a436985166f30462cf44ef0185f07129a353d2479e4397824", - "path": "org/jetbrains/kotlin/kotlin-compose-compiler-plugin/2.0.21-RC/kotlin-compose-compiler-plugin-2.0.21-RC.jar" + "url": "org/jetbrains/kotlin/kotlin-compose-compiler-plugin/2.1.10/kotlin-compose-compiler-plugin-2.1.10.jar", + "hash": "c89e312d4bb3706e082b1e1a7c484da03ff1d6dfaf6db1ce6003d6ac66a1823a", + "path": "org/jetbrains/kotlin/kotlin-compose-compiler-plugin/2.1.10/kotlin-compose-compiler-plugin-2.1.10.jar" }, { "url": "org/jetbrains/kotlinx/lincheck-jvm/2.33/lincheck-jvm-2.33.jar", @@ -919,25 +944,35 @@ "hash": "b3d9ec0298e84ed09e0448c52a643bfdad7f3d8096f1303592a3046e711551af", "path": "org/jetbrains/kotlinx/atomicfu-jvm/0.20.2/atomicfu-jvm-0.20.2.jar" }, - { - "url": "org/jetbrains/kotlinx/kotlinx-metadata-jvm/0.8.0/kotlinx-metadata-jvm-0.8.0.jar", - "hash": "6030de49e7fc2ca8009e1221213035694b97494044aa99bcfb0c8e0e73984d4d", - "path": "org/jetbrains/kotlinx/kotlinx-metadata-jvm/0.8.0/kotlinx-metadata-jvm-0.8.0.jar" - }, { "url": "org/jetbrains/markdown-jvm/0.7.2/markdown-jvm-0.7.2.jar", "hash": "02e0f9bf95e4b9f81e34593691a5c0ff14604db39fb8446fe9a4efa66553f3ac", "path": "org/jetbrains/markdown-jvm/0.7.2/markdown-jvm-0.7.2.jar" }, { - "url": "com/jetbrains/mlapi/extension/34/extension-34.jar", - "hash": "1d18aa7a0d891cab230ddb67e3d1174830e1472c7373c37296c23a3905040a7d", - "path": "com/jetbrains/mlapi/extension/34/extension-34.jar" + "url": "com/jetbrains/ml/models/python-imports-ranking-model/coral-panda/python-imports-ranking-model-coral-panda.jar", + "hash": "3ede7c75d81a2a643bca12c237c814508c70178708923e27a282a0c896cf1c6e", + "path": "com/jetbrains/ml/models/python-imports-ranking-model/coral-panda/python-imports-ranking-model-coral-panda.jar" }, { - "url": "com/jetbrains/mlapi/usage/34/usage-34.jar", - "hash": "b28271a408b89f4a9e00e4a849543b5e9206333472ee379027d969e5d1b42e6f", - "path": "com/jetbrains/mlapi/usage/34/usage-34.jar" + "url": "com/jetbrains/mlapi/catboost-shadow-need-slf4j/1.2.5/catboost-shadow-need-slf4j-1.2.5.jar", + "hash": "94a06c3fdd4aa638df59c8c783a379ca43a5b933187760e219e09e84f1633d76", + "path": "com/jetbrains/mlapi/catboost-shadow-need-slf4j/1.2.5/catboost-shadow-need-slf4j-1.2.5.jar" + }, + { + "url": "com/jetbrains/mlapi/ml-api/76/ml-api-76.jar", + "hash": "0bba8638b6297f9f2b8c441dc6a95c68ccfbe97850e31892ecef1d418fecf7fd", + "path": "com/jetbrains/mlapi/ml-api/76/ml-api-76.jar" + }, + { + "url": "com/jetbrains/mlapi/ml-tools/76/ml-tools-76.jar", + "hash": "92f9aacba9f8bfaa6f4fc8341127f2499a432a84e0e95575302a1ecba6f7f6ef", + "path": "com/jetbrains/mlapi/ml-tools/76/ml-tools-76.jar" + }, + { + "url": "com/jetbrains/mlapi/ml-tools-suspendable/76/ml-tools-suspendable-76.jar", + "hash": "98be4a00226838f7afc9dd054ee40ed03e1379672b343258480b8b72f1b25e0f", + "path": "com/jetbrains/mlapi/ml-tools-suspendable/76/ml-tools-suspendable-76.jar" }, { "url": "com/jgoodies/jgoodies-common/1.4.0/jgoodies-common-1.4.0.jar", @@ -1040,14 +1075,14 @@ "path": "net/java/dev/jna/jna/5.14.0/jna-5.14.0.jar" }, { - "url": "org/jruby/joni/joni/2.2.1/joni-2.2.1.jar", - "hash": "b3e4b657a3ed1d8f684114f6baa462d553a5932a865c1574695498dda8577748", - "path": "org/jruby/joni/joni/2.2.1/joni-2.2.1.jar" + "url": "org/jruby/joni/joni/2.2.3/joni-2.2.3.jar", + "hash": "7ea54221f5f91deff2e860fe986eefe208b59fa04300e54c505c5c0c08d55e9a", + "path": "org/jruby/joni/joni/2.2.3/joni-2.2.3.jar" }, { - "url": "org/jruby/jcodings/jcodings/1.0.58/jcodings-1.0.58.jar", - "hash": "e2f85def67d6848a7a41c648248645689e3990d17ab8f253ab2fd7e69407df67", - "path": "org/jruby/jcodings/jcodings/1.0.58/jcodings-1.0.58.jar" + "url": "org/jruby/jcodings/jcodings/1.0.61/jcodings-1.0.61.jar", + "hash": "3238c68a2f86cec53cc184ad26df8352db87bb22a419bd17fb4acdfbb0bc40f0", + "path": "org/jruby/jcodings/jcodings/1.0.61/jcodings-1.0.61.jar" }, { "url": "org/jetbrains/jps/jps-javac-extension/10/jps-javac-extension-10.jar", @@ -1075,9 +1110,9 @@ "path": "net/minidev/accessors-smart/2.5.0/accessors-smart-2.5.0.jar" }, { - "url": "org/jsoup/jsoup/1.18.1/jsoup-1.18.1.jar", - "hash": "3bb5b0ec02998abe45a51f37d7ce67c3068b4ccd4ab63c965929ec5074d64e91", - "path": "org/jsoup/jsoup/1.18.1/jsoup-1.18.1.jar" + "url": "org/jsoup/jsoup/1.18.3/jsoup-1.18.3.jar", + "hash": "5be1ccd3228ae5fd6eed1bd6d827bac2bc65b91c20e9957d16ea65f739f15302", + "path": "org/jsoup/jsoup/1.18.3/jsoup-1.18.3.jar" }, { "url": "com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar", @@ -1090,15 +1125,30 @@ "path": "com/github/weisj/jsvg/1.3.0-jb.8/jsvg-1.3.0-jb.8.jar" }, { - "url": "org/jetbrains/nativecerts/jvm-native-trusted-roots/1.0.21/jvm-native-trusted-roots-1.0.21.jar", - "hash": "9501d16ed256fa0db804e54e4d46732f1dceceae37f8590bec51032d3415496f", - "path": "org/jetbrains/nativecerts/jvm-native-trusted-roots/1.0.21/jvm-native-trusted-roots-1.0.21.jar" + "url": "org/jetbrains/nativecerts/jvm-native-trusted-roots/1.0.24/jvm-native-trusted-roots-1.0.24.jar", + "hash": "2626f65eac06b4626468692c18413d0b3db65aa71a9960dd6ac237b04e18efd8", + "path": "org/jetbrains/nativecerts/jvm-native-trusted-roots/1.0.24/jvm-native-trusted-roots-1.0.24.jar" }, { "url": "com/jcraft/jzlib/1.1.3/jzlib-1.1.3.jar", "hash": "89b1360f407381bf61fde411019d8cbd009ebb10cff715f3669017a031027560", "path": "com/jcraft/jzlib/1.1.3/jzlib-1.1.3.jar" }, + { + "url": "com/charleskorn/kaml/kaml-jvm/0.66.0/kaml-jvm-0.66.0.jar", + "hash": "b7e94d0f2d8a5c4d826cfc31d4a1475e96fc1244228fb41e121bf005bb9f7f28", + "path": "com/charleskorn/kaml/kaml-jvm/0.66.0/kaml-jvm-0.66.0.jar" + }, + { + "url": "it/krzeminski/snakeyaml-engine-kmp-jvm/3.0.3/snakeyaml-engine-kmp-jvm-3.0.3.jar", + "hash": "f1a11e3ad9525cb7f300b4174b74e1fe4a89d619a54a1fba75747f8c854b5856", + "path": "it/krzeminski/snakeyaml-engine-kmp-jvm/3.0.3/snakeyaml-engine-kmp-jvm-3.0.3.jar" + }, + { + "url": "net/thauvin/erik/urlencoder/urlencoder-lib-jvm/1.6.0/urlencoder-lib-jvm-1.6.0.jar", + "hash": "8d0fd2aeb48d19dc49c563ebc00f274947e45f716c107535c12ead63decd688d", + "path": "net/thauvin/erik/urlencoder/urlencoder-lib-jvm/1.6.0/urlencoder-lib-jvm-1.6.0.jar" + }, { "url": "org/jetbrains/kotlin/kotlin-gradle-plugin-idea/1.9.20-dev-8162/kotlin-gradle-plugin-idea-1.9.20-dev-8162.jar", "hash": "8d1af87632d95148f122a9fa0ae2903c19ee6fab7d01e017f76e0d2c9a022c20", @@ -1109,30 +1159,35 @@ "hash": "3841d6ad1fdd4bf90143ac6012146d291409b431e837f143c023135bd24b79a6", "path": "org/jetbrains/kotlin/kotlin-gradle-plugin-idea-proto/1.9.20-dev-8162/kotlin-gradle-plugin-idea-proto-1.9.20-dev-8162.jar" }, + { + "url": "org/jetbrains/kotlin/kotlin-metadata-jvm/2.1.20-Beta2/kotlin-metadata-jvm-2.1.20-Beta2.jar", + "hash": "a4d99e5b88eff9972c117b577436aa587e83f78e60cf005cd614065f59ead7a9", + "path": "org/jetbrains/kotlin/kotlin-metadata-jvm/2.1.20-Beta2/kotlin-metadata-jvm-2.1.20-Beta2.jar" + }, { "url": "org/jetbrains/kotlin/kotlin-project-model/1.6.0/kotlin-project-model-1.6.0.jar", "hash": "38135d3f995fc505d604aed2e82ac5ba858b2a6a3e476899c3b8be47fd222b68", "path": "org/jetbrains/kotlin/kotlin-project-model/1.6.0/kotlin-project-model-1.6.0.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-reflect/2.0.21-RC/kotlin-reflect-2.0.21-RC.jar", - "hash": "3084af03e6c23e7a874ccca28b9b45a22a07f26bfde92d8f65c1f9f0f5e06334", - "path": "org/jetbrains/kotlin/kotlin-reflect/2.0.21-RC/kotlin-reflect-2.0.21-RC.jar" + "url": "org/jetbrains/kotlin/kotlin-reflect/2.1.10/kotlin-reflect-2.1.10.jar", + "hash": "d019d3d615f3e55a2ea1299b619c26a73e227b250376e529aea1e1adbc65a4e4", + "path": "org/jetbrains/kotlin/kotlin-reflect/2.1.10/kotlin-reflect-2.1.10.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-script-runtime/2.0.21-RC/kotlin-script-runtime-2.0.21-RC.jar", - "hash": "23f602af8812a962800a3422228176d7a20852da669566e542debdf739c795e4", - "path": "org/jetbrains/kotlin/kotlin-script-runtime/2.0.21-RC/kotlin-script-runtime-2.0.21-RC.jar" + "url": "org/jetbrains/kotlin/kotlin-script-runtime/2.1.10/kotlin-script-runtime-2.1.10.jar", + "hash": "e244c0e7f664111755f2e6e977861b71a6eba3b4f45162704833e46dfa883ae8", + "path": "org/jetbrains/kotlin/kotlin-script-runtime/2.1.10/kotlin-script-runtime-2.1.10.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-stdlib/2.0.21-RC/kotlin-stdlib-2.0.21-RC.jar", - "hash": "b381dd01cdbc24063d77d2dfe8b3609b3947225a88e9664606c2d241aff4fd82", - "path": "org/jetbrains/kotlin/kotlin-stdlib/2.0.21-RC/kotlin-stdlib-2.0.21-RC.jar" + "url": "org/jetbrains/kotlin/kotlin-stdlib/2.1.10/kotlin-stdlib-2.1.10.jar", + "hash": "5f2ac1ca8dc8b37a3f4314e716d36969ebf0227a75181d32699d0a8f645b1c21", + "path": "org/jetbrains/kotlin/kotlin-stdlib/2.1.10/kotlin-stdlib-2.1.10.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-test/2.0.21-RC/kotlin-test-2.0.21-RC.jar", - "hash": "9d2b8d690e8038c825af6a6644c7d81476958b298e37770e85229dd73a348ce8", - "path": "org/jetbrains/kotlin/kotlin-test/2.0.21-RC/kotlin-test-2.0.21-RC.jar" + "url": "org/jetbrains/kotlin/kotlin-test/2.1.10/kotlin-test-2.1.10.jar", + "hash": "940eaaeccc434c79fc5afcb3093f47e46469661bb350e79f82f4d92ac6e960c5", + "path": "org/jetbrains/kotlin/kotlin-test/2.1.10/kotlin-test-2.1.10.jar" }, { "url": "io/kotest/kotest-assertions-core-jvm/5.5.4/kotest-assertions-core-jvm-5.5.4.jar", @@ -1160,9 +1215,9 @@ "path": "io/kotest/kotest-assertions-api-jvm/5.5.4/kotest-assertions-api-jvm-5.5.4.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-test-junit/2.0.21-RC/kotlin-test-junit-2.0.21-RC.jar", - "hash": "60426dbc1035b08eaf460057fcfa43c2d7fb0a66d8409c18a5b4503a8e797753", - "path": "org/jetbrains/kotlin/kotlin-test-junit/2.0.21-RC/kotlin-test-junit-2.0.21-RC.jar" + "url": "org/jetbrains/kotlin/kotlin-test-junit/2.1.10/kotlin-test-junit-2.1.10.jar", + "hash": "1bc2f4e0bad73a2d04bcc67f46ab63fb10cc8e288f77f94b5e5dc07361ef30be", + "path": "org/jetbrains/kotlin/kotlin-test-junit/2.1.10/kotlin-test-junit-2.1.10.jar" }, { "url": "org/jetbrains/kotlin/kotlin-tooling-core/1.9.20-dev-8162/kotlin-tooling-core-1.9.20-dev-8162.jar", @@ -1170,194 +1225,204 @@ "path": "org/jetbrains/kotlin/kotlin-tooling-core/1.9.20-dev-8162/kotlin-tooling-core-1.9.20-dev-8162.jar" }, { - "url": "org/jetbrains/kotlin/allopen-compiler-plugin-for-ide/2.1.20-ij243-27/allopen-compiler-plugin-for-ide-2.1.20-ij243-27.jar", - "hash": "c8adcf05d31e8c8b95c424ff7f4fcea7d1d2fd6c9bf240d4d195209ca4638247", - "path": "org/jetbrains/kotlin/allopen-compiler-plugin-for-ide/2.1.20-ij243-27/allopen-compiler-plugin-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/allopen-compiler-plugin-for-ide/2.2.0-ij251-113/allopen-compiler-plugin-for-ide-2.2.0-ij251-113.jar", + "hash": "68dde6aafe14dcd94bafb2390e57b8c885f0d9efcf83379de6fa6d85cc644d0e", + "path": "org/jetbrains/kotlin/allopen-compiler-plugin-for-ide/2.2.0-ij251-113/allopen-compiler-plugin-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/analysis-api-for-ide/2.1.20-ij243-27/analysis-api-for-ide-2.1.20-ij243-27.jar", - "hash": "1b444fb7269f7cdd1b507dd3673c837ca842e80186606fac452538cf39604983", - "path": "org/jetbrains/kotlin/analysis-api-for-ide/2.1.20-ij243-27/analysis-api-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/analysis-api-for-ide/2.2.0-ij251-113/analysis-api-for-ide-2.2.0-ij251-113.jar", + "hash": "0428679338ee7e5fdd8f56b1ab4fb7cf16a3905b23e9c40e55276afe2760fd0d", + "path": "org/jetbrains/kotlin/analysis-api-for-ide/2.2.0-ij251-113/analysis-api-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/analysis-api-fe10-for-ide/2.1.20-ij243-27/analysis-api-fe10-for-ide-2.1.20-ij243-27.jar", - "hash": "cbdbf36ad3b26ff90a88b97d35b8f753cb93495ee65618b195f8c56f1c8fb5ee", - "path": "org/jetbrains/kotlin/analysis-api-fe10-for-ide/2.1.20-ij243-27/analysis-api-fe10-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/analysis-api-fe10-for-ide/2.2.0-ij251-113/analysis-api-fe10-for-ide-2.2.0-ij251-113.jar", + "hash": "ed0dc0ae7fae09130516642ef11541c02a6d6842aba0f2c77b68c70c32fed5b3", + "path": "org/jetbrains/kotlin/analysis-api-fe10-for-ide/2.2.0-ij251-113/analysis-api-fe10-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/analysis-api-impl-base-for-ide/2.1.20-ij243-27/analysis-api-impl-base-for-ide-2.1.20-ij243-27.jar", - "hash": "2670c1ef5d0fee7703e85a02adbf332491f4adcbd7f4c73c37ad321284614273", - "path": "org/jetbrains/kotlin/analysis-api-impl-base-for-ide/2.1.20-ij243-27/analysis-api-impl-base-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/analysis-api-impl-base-for-ide/2.2.0-ij251-113/analysis-api-impl-base-for-ide-2.2.0-ij251-113.jar", + "hash": "509fcbcc46e6570122b81fc2d8753eeec9e6560b38a8cdbbf419406ebfef7ffe", + "path": "org/jetbrains/kotlin/analysis-api-impl-base-for-ide/2.2.0-ij251-113/analysis-api-impl-base-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/analysis-api-impl-base-tests-for-ide/2.1.20-ij243-27/analysis-api-impl-base-tests-for-ide-2.1.20-ij243-27.jar", - "hash": "9244f9542fc33b743fd4eb95cb9afad94469af83cc41cd1145c837b2ea0b6438", - "path": "org/jetbrains/kotlin/analysis-api-impl-base-tests-for-ide/2.1.20-ij243-27/analysis-api-impl-base-tests-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/analysis-api-impl-base-tests-for-ide/2.2.0-ij251-113/analysis-api-impl-base-tests-for-ide-2.2.0-ij251-113.jar", + "hash": "6e00c06173b25a209d819432c894630a283e110b909fcdb0258bf4971d74d199", + "path": "org/jetbrains/kotlin/analysis-api-impl-base-tests-for-ide/2.2.0-ij251-113/analysis-api-impl-base-tests-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/analysis-api-k2-for-ide/2.1.20-ij243-27/analysis-api-k2-for-ide-2.1.20-ij243-27.jar", - "hash": "1d7563eb83797d89a82fc68dc5f4a83cc45a0f2c7600c29c5967ddc00e28d99b", - "path": "org/jetbrains/kotlin/analysis-api-k2-for-ide/2.1.20-ij243-27/analysis-api-k2-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/analysis-api-k2-for-ide/2.2.0-ij251-113/analysis-api-k2-for-ide-2.2.0-ij251-113.jar", + "hash": "efbdecbea08ffa0378c4106ceaf356d3038440c4d9bdcf56f5ec74f79cb1b329", + "path": "org/jetbrains/kotlin/analysis-api-k2-for-ide/2.2.0-ij251-113/analysis-api-k2-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/analysis-api-k2-tests-for-ide/2.1.20-ij243-27/analysis-api-k2-tests-for-ide-2.1.20-ij243-27.jar", - "hash": "50e8f50d80e7e8c9ebbf15f423a82ebc277ced66370509d7e8b9680fc1f4930f", - "path": "org/jetbrains/kotlin/analysis-api-k2-tests-for-ide/2.1.20-ij243-27/analysis-api-k2-tests-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/analysis-api-k2-tests-for-ide/2.2.0-ij251-113/analysis-api-k2-tests-for-ide-2.2.0-ij251-113.jar", + "hash": "247163b97450f15365b0c1591f97f3415d914fa58578af903530b147b2ae07ab", + "path": "org/jetbrains/kotlin/analysis-api-k2-tests-for-ide/2.2.0-ij251-113/analysis-api-k2-tests-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/analysis-api-platform-interface-for-ide/2.1.20-ij243-27/analysis-api-platform-interface-for-ide-2.1.20-ij243-27.jar", - "hash": "208a3912cd03910dc8e8bc66ee080bea29f6690ecaf1540b24ade4052841cd0c", - "path": "org/jetbrains/kotlin/analysis-api-platform-interface-for-ide/2.1.20-ij243-27/analysis-api-platform-interface-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/analysis-api-platform-interface-for-ide/2.2.0-ij251-113/analysis-api-platform-interface-for-ide-2.2.0-ij251-113.jar", + "hash": "06deb049fceb7e3752fa7f1b41a522ceb073f35e713c40fb6e39a0c7d6bec6e4", + "path": "org/jetbrains/kotlin/analysis-api-platform-interface-for-ide/2.2.0-ij251-113/analysis-api-platform-interface-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/android-extensions-compiler-plugin-for-ide/2.1.20-ij243-27/android-extensions-compiler-plugin-for-ide-2.1.20-ij243-27.jar", - "hash": "273cb56b099731bfcd042f5723d8927eb6595e60c503e2cbbf8e50279bbf6c1c", - "path": "org/jetbrains/kotlin/android-extensions-compiler-plugin-for-ide/2.1.20-ij243-27/android-extensions-compiler-plugin-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/android-extensions-compiler-plugin-for-ide/2.2.0-ij251-113/android-extensions-compiler-plugin-for-ide-2.2.0-ij251-113.jar", + "hash": "0c70387a833da47727d3e78ed41cdb6ed1d9ed14d5e343d26f5e1849fd0d5ede", + "path": "org/jetbrains/kotlin/android-extensions-compiler-plugin-for-ide/2.2.0-ij251-113/android-extensions-compiler-plugin-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/assignment-compiler-plugin-for-ide/2.1.20-ij243-27/assignment-compiler-plugin-for-ide-2.1.20-ij243-27.jar", - "hash": "51d89282a038b9f9c5624a7047f3b05bd944afd9873855f8afc0d56369ea7235", - "path": "org/jetbrains/kotlin/assignment-compiler-plugin-for-ide/2.1.20-ij243-27/assignment-compiler-plugin-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/assignment-compiler-plugin-for-ide/2.2.0-ij251-113/assignment-compiler-plugin-for-ide-2.2.0-ij251-113.jar", + "hash": "140b48b6299cdc520c61acef0e3fe7e954bd02c7547dd4ee132df1f3194e4f58", + "path": "org/jetbrains/kotlin/assignment-compiler-plugin-for-ide/2.2.0-ij251-113/assignment-compiler-plugin-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/compose-compiler-plugin-for-ide/2.1.20-ij243-27/compose-compiler-plugin-for-ide-2.1.20-ij243-27.jar", - "hash": "98cab727bfb519b915b9daebd1ef65bef7970948d553edbd77b414d567371d1c", - "path": "org/jetbrains/kotlin/compose-compiler-plugin-for-ide/2.1.20-ij243-27/compose-compiler-plugin-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/compose-compiler-plugin-for-ide/2.2.0-ij251-113/compose-compiler-plugin-for-ide-2.2.0-ij251-113.jar", + "hash": "5f58828ae2c0f0e85fab247b7f7552d9b24134659d194b680732ba54adb72359", + "path": "org/jetbrains/kotlin/compose-compiler-plugin-for-ide/2.2.0-ij251-113/compose-compiler-plugin-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/incremental-compilation-impl-tests-for-ide/2.1.20-ij243-27/incremental-compilation-impl-tests-for-ide-2.1.20-ij243-27.jar", - "hash": "04b1014cb80ed3734acc384c5b73b73326c10367fcf6f4ed326d58f5de676b32", - "path": "org/jetbrains/kotlin/incremental-compilation-impl-tests-for-ide/2.1.20-ij243-27/incremental-compilation-impl-tests-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/incremental-compilation-impl-tests-for-ide/2.2.0-ij251-113/incremental-compilation-impl-tests-for-ide-2.2.0-ij251-113.jar", + "hash": "3151d70d9baf13cc76cb5ab96ee1d73c24e105bfa2b27bb1756b28433eabb611", + "path": "org/jetbrains/kotlin/incremental-compilation-impl-tests-for-ide/2.2.0-ij251-113/incremental-compilation-impl-tests-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/js-plain-objects-compiler-plugin-for-ide/2.1.20-ij243-27/js-plain-objects-compiler-plugin-for-ide-2.1.20-ij243-27.jar", - "hash": "b0c84299e91a2fe55e4d23f474442fc1d2e547be95e0cedd1725347c15884619", - "path": "org/jetbrains/kotlin/js-plain-objects-compiler-plugin-for-ide/2.1.20-ij243-27/js-plain-objects-compiler-plugin-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/js-plain-objects-compiler-plugin-for-ide/2.2.0-ij251-113/js-plain-objects-compiler-plugin-for-ide-2.2.0-ij251-113.jar", + "hash": "fc292a9b9d1523fa6deddcb8a62fc56a093222100b8dd8c73091d35e412d4d96", + "path": "org/jetbrains/kotlin/js-plain-objects-compiler-plugin-for-ide/2.2.0-ij251-113/js-plain-objects-compiler-plugin-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-build-common-tests-for-ide/2.1.20-ij243-27/kotlin-build-common-tests-for-ide-2.1.20-ij243-27.jar", - "hash": "477d2ee6473418d930ea1c51dcf82750465dd8b60410432c03ea4012db4fabaf", - "path": "org/jetbrains/kotlin/kotlin-build-common-tests-for-ide/2.1.20-ij243-27/kotlin-build-common-tests-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-build-common-tests-for-ide/2.2.0-ij251-113/kotlin-build-common-tests-for-ide-2.2.0-ij251-113.jar", + "hash": "7aaa4d25fb414cc7559255a06a5027f63d319f1ae893dca3b5ac60b3ebb648b5", + "path": "org/jetbrains/kotlin/kotlin-build-common-tests-for-ide/2.2.0-ij251-113/kotlin-build-common-tests-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-compiler-cli-for-ide/2.1.20-ij243-27/kotlin-compiler-cli-for-ide-2.1.20-ij243-27.jar", - "hash": "67c21a14263fc9e4bdef697f378ff2718642c510f11f700155e7d35bf074db11", - "path": "org/jetbrains/kotlin/kotlin-compiler-cli-for-ide/2.1.20-ij243-27/kotlin-compiler-cli-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-compiler-cli-for-ide/2.2.0-ij251-113/kotlin-compiler-cli-for-ide-2.2.0-ij251-113.jar", + "hash": "2bd4959d245de9f914d0ece10d18327eac7f59ccaa2e18cab3191101b689f970", + "path": "org/jetbrains/kotlin/kotlin-compiler-cli-for-ide/2.2.0-ij251-113/kotlin-compiler-cli-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-compiler-common-for-ide/2.1.20-ij243-27/kotlin-compiler-common-for-ide-2.1.20-ij243-27.jar", - "hash": "0f179e0b0cf96b50c51efd5f28f7800c73dbe4b807b98cd42714832150fd8451", - "path": "org/jetbrains/kotlin/kotlin-compiler-common-for-ide/2.1.20-ij243-27/kotlin-compiler-common-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-compiler-common-for-ide/2.2.0-ij251-113/kotlin-compiler-common-for-ide-2.2.0-ij251-113.jar", + "hash": "ba660cd2228902d9cff9d24c462c9e23d687a5a6d9ca6c98bae8a5ceed4ae4df", + "path": "org/jetbrains/kotlin/kotlin-compiler-common-for-ide/2.2.0-ij251-113/kotlin-compiler-common-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-compiler-fe10-for-ide/2.1.20-ij243-27/kotlin-compiler-fe10-for-ide-2.1.20-ij243-27.jar", - "hash": "415c64817d712c51321be1164109f7e4e0d07adb04e57e47409cb9826c487ad6", - "path": "org/jetbrains/kotlin/kotlin-compiler-fe10-for-ide/2.1.20-ij243-27/kotlin-compiler-fe10-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-compiler-fe10-for-ide/2.2.0-ij251-113/kotlin-compiler-fe10-for-ide-2.2.0-ij251-113.jar", + "hash": "2d1db1b8e8f87f6057c7204ca9949fa6ec95d938cc424f29ccb26165c6ccb2ce", + "path": "org/jetbrains/kotlin/kotlin-compiler-fe10-for-ide/2.2.0-ij251-113/kotlin-compiler-fe10-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-compiler-fir-for-ide/2.1.20-ij243-27/kotlin-compiler-fir-for-ide-2.1.20-ij243-27.jar", - "hash": "babfd8f49f1fe2b2e57fd1ff4c39c54f73624157cdbcda67a31260efd1c5ca03", - "path": "org/jetbrains/kotlin/kotlin-compiler-fir-for-ide/2.1.20-ij243-27/kotlin-compiler-fir-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-compiler-fir-for-ide/2.2.0-ij251-113/kotlin-compiler-fir-for-ide-2.2.0-ij251-113.jar", + "hash": "69520294ce045a019cbf3a74f266b18ba540db4bf8c8c7e5037bc8934c4dc34e", + "path": "org/jetbrains/kotlin/kotlin-compiler-fir-for-ide/2.2.0-ij251-113/kotlin-compiler-fir-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-compiler-ir-for-ide/2.1.20-ij243-27/kotlin-compiler-ir-for-ide-2.1.20-ij243-27.jar", - "hash": "531d54d53c6ea8406f6b461dc555b5f816f8a10497fc07238b215b7e28d70a8a", - "path": "org/jetbrains/kotlin/kotlin-compiler-ir-for-ide/2.1.20-ij243-27/kotlin-compiler-ir-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-compiler-ir-for-ide/2.2.0-ij251-113/kotlin-compiler-ir-for-ide-2.2.0-ij251-113.jar", + "hash": "fb6c7f0f1e75553b152f635cf53f685565f282acf88d505abf18691ceba186ec", + "path": "org/jetbrains/kotlin/kotlin-compiler-ir-for-ide/2.2.0-ij251-113/kotlin-compiler-ir-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-compiler-tests-for-ide/2.1.20-ij243-27/kotlin-compiler-tests-for-ide-2.1.20-ij243-27.jar", - "hash": "66c7ae509ad0e1594620e177040d57af4fe5efb4e31b4f3156e83bc3fd2bce0a", - "path": "org/jetbrains/kotlin/kotlin-compiler-tests-for-ide/2.1.20-ij243-27/kotlin-compiler-tests-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-compiler-tests-for-ide/2.2.0-ij251-113/kotlin-compiler-tests-for-ide-2.2.0-ij251-113.jar", + "hash": "b8c256faf7ec0d060e919b08f88a7d5d5d892df630bad85ff56b5d0be92ae746", + "path": "org/jetbrains/kotlin/kotlin-compiler-tests-for-ide/2.2.0-ij251-113/kotlin-compiler-tests-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-dist-for-ide/2.0.21-release-482/kotlin-dist-for-ide-2.0.21-release-482.jar", - "hash": "4e26804c21c588a93f498ac875a2cc022fc3e6a0bfafad904a4cd2f4750fe3fd", - "path": "org/jetbrains/kotlin/kotlin-dist-for-ide/2.0.21-release-482/kotlin-dist-for-ide-2.0.21-release-482.jar" + "url": "org/jetbrains/kotlin/kotlin-dist-for-ide/2.1.10-release-473/kotlin-dist-for-ide-2.1.10-release-473.jar", + "hash": "6dd76c8210c222475afcfe6d9aedcf4bbd22bda094be28cc8c262fd3025021a3", + "path": "org/jetbrains/kotlin/kotlin-dist-for-ide/2.1.10-release-473/kotlin-dist-for-ide-2.1.10-release-473.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-gradle-statistics-for-ide/2.1.20-ij243-27/kotlin-gradle-statistics-for-ide-2.1.20-ij243-27.jar", - "hash": "b0c2200a590800499bb0cd1dc475627753ef87b3f71f354848a8330eb18a169b", - "path": "org/jetbrains/kotlin/kotlin-gradle-statistics-for-ide/2.1.20-ij243-27/kotlin-gradle-statistics-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-gradle-statistics-for-ide/2.2.0-ij251-113/kotlin-gradle-statistics-for-ide-2.2.0-ij251-113.jar", + "hash": "7f462ff29dd7c76dac54d79390d1ba6f4ade330c4ec18b9f959343b347d9e65a", + "path": "org/jetbrains/kotlin/kotlin-gradle-statistics-for-ide/2.2.0-ij251-113/kotlin-gradle-statistics-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-jps-common-for-ide/2.1.20-ij243-27/kotlin-jps-common-for-ide-2.1.20-ij243-27.jar", - "hash": "386a37676bf6e05213a874c81fc15a28d8da1f86c5b6d458e9d958c9fa3549f4", - "path": "org/jetbrains/kotlin/kotlin-jps-common-for-ide/2.1.20-ij243-27/kotlin-jps-common-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-dist-for-ide/2.2.0-ij251-113/kotlin-dist-for-ide-2.2.0-ij251-113.jar", + "hash": "72118ba64af8914b96658b157ec1d38c24edc97be283699b1d2abf021dde9f69", + "path": "org/jetbrains/kotlin/kotlin-dist-for-ide/2.2.0-ij251-113/kotlin-dist-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.0.21-release-482/kotlin-jps-plugin-classpath-2.0.21-release-482.jar", - "hash": "e583f6bbb97292944b576c39140691e73cc2c4c4c5479b984ce0cf072ce9b749", - "path": "org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.0.21-release-482/kotlin-jps-plugin-classpath-2.0.21-release-482.jar" + "url": "org/jetbrains/kotlin/kotlin-jps-common-for-ide/2.2.0-ij251-113/kotlin-jps-common-for-ide-2.2.0-ij251-113.jar", + "hash": "5662991aed8e8553f8ebe80adcb559a2d7523bc0e415561a7ac36687353fb260", + "path": "org/jetbrains/kotlin/kotlin-jps-common-for-ide/2.2.0-ij251-113/kotlin-jps-common-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.1.20-ij243-27/kotlin-jps-plugin-classpath-2.1.20-ij243-27.jar", - "hash": "adcc0c81e59b0586d9457077423cad639577bf9220a28bd39a0ae2a972345bfd", - "path": "org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.1.20-ij243-27/kotlin-jps-plugin-classpath-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.1.10-release-473/kotlin-jps-plugin-classpath-2.1.10-release-473.jar", + "hash": "fe44b80eef227eadeb265e06a66461fa8be390bbfdb194e14d9fc5cc4c0e637f", + "path": "org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.1.10-release-473/kotlin-jps-plugin-classpath-2.1.10-release-473.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-jps-plugin-tests-for-ide/2.0.21-release-482/kotlin-jps-plugin-tests-for-ide-2.0.21-release-482.jar", - "hash": "c600098bb441fc147eced59c2f4647a378184a5637bbce66e3a98dae6b13772b", - "path": "org/jetbrains/kotlin/kotlin-jps-plugin-tests-for-ide/2.0.21-release-482/kotlin-jps-plugin-tests-for-ide-2.0.21-release-482.jar" + "url": "org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.2.0-ij251-113/kotlin-jps-plugin-classpath-2.2.0-ij251-113.jar", + "hash": "7f76f25eff7b31b8919eb13ea84f90b8208d1e62e7a7df26dedcc526325321f6", + "path": "org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.2.0-ij251-113/kotlin-jps-plugin-classpath-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-script-runtime/2.1.20-ij243-27/kotlin-script-runtime-2.1.20-ij243-27.jar", - "hash": "c8b80761147ec3696cdb967fe8c989d57a0364d808bf5317ae79f660eeba1bd6", - "path": "org/jetbrains/kotlin/kotlin-script-runtime/2.1.20-ij243-27/kotlin-script-runtime-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-jps-plugin-tests-for-ide/2.1.10-release-473/kotlin-jps-plugin-tests-for-ide-2.1.10-release-473.jar", + "hash": "367c500b2dc454413b00746bc4ee9dce2842515ca4699ec73bb846bc3db58a26", + "path": "org/jetbrains/kotlin/kotlin-jps-plugin-tests-for-ide/2.1.10-release-473/kotlin-jps-plugin-tests-for-ide-2.1.10-release-473.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-scripting-common/2.1.20-ij243-27/kotlin-scripting-common-2.1.20-ij243-27.jar", - "hash": "56cce8ba74fad85b31f8a51c55ebb723d90e25bdb6fc5a6848684c32ba88bcbf", - "path": "org/jetbrains/kotlin/kotlin-scripting-common/2.1.20-ij243-27/kotlin-scripting-common-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-script-runtime/2.2.0-ij251-113/kotlin-script-runtime-2.2.0-ij251-113.jar", + "hash": "2459e696992df776b3e3d1bc764ddd01538c503ca4c14d969faae1f50f839245", + "path": "org/jetbrains/kotlin/kotlin-script-runtime/2.2.0-ij251-113/kotlin-script-runtime-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-scripting-compiler-impl/2.1.20-ij243-27/kotlin-scripting-compiler-impl-2.1.20-ij243-27.jar", - "hash": "ca7cd3385bccd1834e10b1400aa72e4b818fb9d87846713dd6999a1db3faa081", - "path": "org/jetbrains/kotlin/kotlin-scripting-compiler-impl/2.1.20-ij243-27/kotlin-scripting-compiler-impl-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-scripting-common/2.2.0-ij251-113/kotlin-scripting-common-2.2.0-ij251-113.jar", + "hash": "e2b5b208e7ff5d66de1c9c60e2d2bd378764243a34cb164595682470f0f2c513", + "path": "org/jetbrains/kotlin/kotlin-scripting-common/2.2.0-ij251-113/kotlin-scripting-common-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-scripting-jvm/2.1.20-ij243-27/kotlin-scripting-jvm-2.1.20-ij243-27.jar", - "hash": "158a331bea55564b095d35f3809380191049805e49764b9b4e2bf000dfe83efd", - "path": "org/jetbrains/kotlin/kotlin-scripting-jvm/2.1.20-ij243-27/kotlin-scripting-jvm-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-scripting-compiler-impl/2.2.0-ij251-113/kotlin-scripting-compiler-impl-2.2.0-ij251-113.jar", + "hash": "3aa2c2b3eb89a4ce3391573fe5c0b68336e14f2c28e9e54c408ad61b74a668a3", + "path": "org/jetbrains/kotlin/kotlin-scripting-compiler-impl/2.2.0-ij251-113/kotlin-scripting-compiler-impl-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/kotlinx-serialization-compiler-plugin-for-ide/2.1.20-ij243-27/kotlinx-serialization-compiler-plugin-for-ide-2.1.20-ij243-27.jar", - "hash": "8e6298709f8069827106bba06affea8d6bcbbce292ffb1b6403f9744c0ea759c", - "path": "org/jetbrains/kotlin/kotlinx-serialization-compiler-plugin-for-ide/2.1.20-ij243-27/kotlinx-serialization-compiler-plugin-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-scripting-dependencies/2.2.0-ij251-113/kotlin-scripting-dependencies-2.2.0-ij251-113.jar", + "hash": "b77ac6a8aa085a856074bc8b39546bdf294ea989c3dbb8d8750044c580d95949", + "path": "org/jetbrains/kotlin/kotlin-scripting-dependencies/2.2.0-ij251-113/kotlin-scripting-dependencies-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/lombok-compiler-plugin-for-ide/2.1.20-ij243-27/lombok-compiler-plugin-for-ide-2.1.20-ij243-27.jar", - "hash": "37f0d61c72d7dbcbf91b079d150b3d29234875d7a74ceb9e0523dcfdb2656dba", - "path": "org/jetbrains/kotlin/lombok-compiler-plugin-for-ide/2.1.20-ij243-27/lombok-compiler-plugin-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-scripting-jvm/2.2.0-ij251-113/kotlin-scripting-jvm-2.2.0-ij251-113.jar", + "hash": "12c5601a20e50b07568730033c6d9beb46e543aa09cfff4ff92b27782103ae8c", + "path": "org/jetbrains/kotlin/kotlin-scripting-jvm/2.2.0-ij251-113/kotlin-scripting-jvm-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/low-level-api-fir-for-ide/2.1.20-ij243-27/low-level-api-fir-for-ide-2.1.20-ij243-27.jar", - "hash": "eb22464cad954a6b922e69d1594883e7ec05c6bbecf74874610b931dc2e140c1", - "path": "org/jetbrains/kotlin/low-level-api-fir-for-ide/2.1.20-ij243-27/low-level-api-fir-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlinx-serialization-compiler-plugin-for-ide/2.2.0-ij251-113/kotlinx-serialization-compiler-plugin-for-ide-2.2.0-ij251-113.jar", + "hash": "6785503b6d70df42206fa2ba2179c082c99ef2bcf1f2abf3afbb01623837a289", + "path": "org/jetbrains/kotlin/kotlinx-serialization-compiler-plugin-for-ide/2.2.0-ij251-113/kotlinx-serialization-compiler-plugin-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/noarg-compiler-plugin-for-ide/2.1.20-ij243-27/noarg-compiler-plugin-for-ide-2.1.20-ij243-27.jar", - "hash": "27ec611f8efc1e7d59d1f153cd1b7605ef38aa266095b3cca9280a976d3972a8", - "path": "org/jetbrains/kotlin/noarg-compiler-plugin-for-ide/2.1.20-ij243-27/noarg-compiler-plugin-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/lombok-compiler-plugin-for-ide/2.2.0-ij251-113/lombok-compiler-plugin-for-ide-2.2.0-ij251-113.jar", + "hash": "be89498e1d104ae7cb1fa8837c9373cc7112b8e65bb880845f4c200b03e07c71", + "path": "org/jetbrains/kotlin/lombok-compiler-plugin-for-ide/2.2.0-ij251-113/lombok-compiler-plugin-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/parcelize-compiler-plugin-for-ide/2.1.20-ij243-27/parcelize-compiler-plugin-for-ide-2.1.20-ij243-27.jar", - "hash": "062fae0ea84b4bc8ab80dcc94100263f741e8e8a7e5a1ba62aaa0d0b75c0239e", - "path": "org/jetbrains/kotlin/parcelize-compiler-plugin-for-ide/2.1.20-ij243-27/parcelize-compiler-plugin-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/low-level-api-fir-for-ide/2.2.0-ij251-113/low-level-api-fir-for-ide-2.2.0-ij251-113.jar", + "hash": "ab4ee3ac977eabd1819ad0c3c56c85bec62e218557b86a20df96a32ecc284729", + "path": "org/jetbrains/kotlin/low-level-api-fir-for-ide/2.2.0-ij251-113/low-level-api-fir-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/sam-with-receiver-compiler-plugin-for-ide/2.1.20-ij243-27/sam-with-receiver-compiler-plugin-for-ide-2.1.20-ij243-27.jar", - "hash": "8baba2c6e065e2895dcf483a067ed4f2088408e2b5a2522ef4f375ed27ab908b", - "path": "org/jetbrains/kotlin/sam-with-receiver-compiler-plugin-for-ide/2.1.20-ij243-27/sam-with-receiver-compiler-plugin-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/noarg-compiler-plugin-for-ide/2.2.0-ij251-113/noarg-compiler-plugin-for-ide-2.2.0-ij251-113.jar", + "hash": "f43b1827eb22e54db6daf09e093661bee645097bc91ad82ff9a25b0cbc5afb11", + "path": "org/jetbrains/kotlin/noarg-compiler-plugin-for-ide/2.2.0-ij251-113/noarg-compiler-plugin-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/scripting-compiler-plugin-for-ide/2.1.20-ij243-27/scripting-compiler-plugin-for-ide-2.1.20-ij243-27.jar", - "hash": "83ec2e236bfb4e66c766aa84e83582fd83dbb290162fff6140627742ba1169fb", - "path": "org/jetbrains/kotlin/scripting-compiler-plugin-for-ide/2.1.20-ij243-27/scripting-compiler-plugin-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/parcelize-compiler-plugin-for-ide/2.2.0-ij251-113/parcelize-compiler-plugin-for-ide-2.2.0-ij251-113.jar", + "hash": "b19f4f6ccd8da25be1e203be14b6dd3adf536a09143a95ca7099d131a0151235", + "path": "org/jetbrains/kotlin/parcelize-compiler-plugin-for-ide/2.2.0-ij251-113/parcelize-compiler-plugin-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/symbol-light-classes-for-ide/2.1.20-ij243-27/symbol-light-classes-for-ide-2.1.20-ij243-27.jar", - "hash": "67cdd930333a1fee46b45e997560cb5279c6c92f060fffd44832255104834531", - "path": "org/jetbrains/kotlin/symbol-light-classes-for-ide/2.1.20-ij243-27/symbol-light-classes-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/sam-with-receiver-compiler-plugin-for-ide/2.2.0-ij251-113/sam-with-receiver-compiler-plugin-for-ide-2.2.0-ij251-113.jar", + "hash": "30fe55c761ae4fe20c9cdbf360736c3b9a113aeb31ed14cc9f518beb5c3589d1", + "path": "org/jetbrains/kotlin/sam-with-receiver-compiler-plugin-for-ide/2.2.0-ij251-113/sam-with-receiver-compiler-plugin-for-ide-2.2.0-ij251-113.jar" + }, + { + "url": "org/jetbrains/kotlin/scripting-compiler-plugin-for-ide/2.2.0-ij251-113/scripting-compiler-plugin-for-ide-2.2.0-ij251-113.jar", + "hash": "b6b9913645e9737665b28d86d54b82f774cd244e5add095e6cf7bd66d3e1f319", + "path": "org/jetbrains/kotlin/scripting-compiler-plugin-for-ide/2.2.0-ij251-113/scripting-compiler-plugin-for-ide-2.2.0-ij251-113.jar" + }, + { + "url": "org/jetbrains/kotlin/symbol-light-classes-for-ide/2.2.0-ij251-113/symbol-light-classes-for-ide-2.2.0-ij251-113.jar", + "hash": "1046966135cd38c348a7b7be1f54667224653876fe8cd61c236cd6caf653d4c6", + "path": "org/jetbrains/kotlin/symbol-light-classes-for-ide/2.2.0-ij251-113/symbol-light-classes-for-ide-2.2.0-ij251-113.jar" }, { "url": "org/jetbrains/kotlinx/kotlinx-collections-immutable-jvm/0.3.8/kotlinx-collections-immutable-jvm-0.3.8.jar", @@ -1365,324 +1430,404 @@ "path": "org/jetbrains/kotlinx/kotlinx-collections-immutable-jvm/0.3.8/kotlinx-collections-immutable-jvm-0.3.8.jar" }, { - "url": "com/intellij/platform/kotlinx-coroutines-core-jvm/1.8.0-intellij-11/kotlinx-coroutines-core-jvm-1.8.0-intellij-11.jar", - "hash": "e7acf96587bc3148db64b5e0adc988fa743f9820a99eb118acb905935ead1bc6", - "path": "com/intellij/platform/kotlinx-coroutines-core-jvm/1.8.0-intellij-11/kotlinx-coroutines-core-jvm-1.8.0-intellij-11.jar" + "url": "com/intellij/platform/kotlinx-coroutines-core-jvm/1.8.0-intellij-13/kotlinx-coroutines-core-jvm-1.8.0-intellij-13.jar", + "hash": "48e61a763238a5153e536e69ee756e39fcd52337316f1e1649d59c542ec04296", + "path": "com/intellij/platform/kotlinx-coroutines-core-jvm/1.8.0-intellij-13/kotlinx-coroutines-core-jvm-1.8.0-intellij-13.jar" }, { - "url": "com/intellij/platform/kotlinx-coroutines-debug/1.8.0-intellij-11/kotlinx-coroutines-debug-1.8.0-intellij-11.jar", - "hash": "c142a8fd37fddb317df6ba14bb781a874b110e56d39ba1f8b2e8a58c9d957106", - "path": "com/intellij/platform/kotlinx-coroutines-debug/1.8.0-intellij-11/kotlinx-coroutines-debug-1.8.0-intellij-11.jar" + "url": "com/intellij/platform/kotlinx-coroutines-debug/1.8.0-intellij-13/kotlinx-coroutines-debug-1.8.0-intellij-13.jar", + "hash": "59bf113af7f36da5d9060cdc35d28da3ee51132124417e3ea044ef2c6a532b77", + "path": "com/intellij/platform/kotlinx-coroutines-debug/1.8.0-intellij-13/kotlinx-coroutines-debug-1.8.0-intellij-13.jar" }, { - "url": "com/intellij/platform/kotlinx-coroutines-guava/1.8.0-intellij-11/kotlinx-coroutines-guava-1.8.0-intellij-11.jar", - "hash": "28e9e136435e6d7fd99f9b15dba736f396c5f7252653cd2e557fff09fbfb38cc", - "path": "com/intellij/platform/kotlinx-coroutines-guava/1.8.0-intellij-11/kotlinx-coroutines-guava-1.8.0-intellij-11.jar" + "url": "com/intellij/platform/kotlinx-coroutines-guava/1.8.0-intellij-13/kotlinx-coroutines-guava-1.8.0-intellij-13.jar", + "hash": "1503cfdab3e5203944da627903e5019aee9b39b14d3d21a4a50b99bce5de5b33", + "path": "com/intellij/platform/kotlinx-coroutines-guava/1.8.0-intellij-13/kotlinx-coroutines-guava-1.8.0-intellij-13.jar" }, { - "url": "com/intellij/platform/kotlinx-coroutines-slf4j/1.8.0-intellij-11/kotlinx-coroutines-slf4j-1.8.0-intellij-11.jar", - "hash": "840478a0983ef57e81d0e4089e73fa9337bd777da57474e12bd20b0000966d0d", - "path": "com/intellij/platform/kotlinx-coroutines-slf4j/1.8.0-intellij-11/kotlinx-coroutines-slf4j-1.8.0-intellij-11.jar" + "url": "com/intellij/platform/kotlinx-coroutines-slf4j/1.8.0-intellij-13/kotlinx-coroutines-slf4j-1.8.0-intellij-13.jar", + "hash": "3b293c76828fe94916dd781b7a9a8adef65b2ca621f2a55608aaf90d2754891f", + "path": "com/intellij/platform/kotlinx-coroutines-slf4j/1.8.0-intellij-13/kotlinx-coroutines-slf4j-1.8.0-intellij-13.jar" }, { - "url": "com/intellij/platform/kotlinx-coroutines-test-jvm/1.8.0-intellij-11/kotlinx-coroutines-test-jvm-1.8.0-intellij-11.jar", - "hash": "7f0091c913579944e1d7b8d10f94cd2687ee8474d26aaca511ea7ae8fb8d8b44", - "path": "com/intellij/platform/kotlinx-coroutines-test-jvm/1.8.0-intellij-11/kotlinx-coroutines-test-jvm-1.8.0-intellij-11.jar" + "url": "com/intellij/platform/kotlinx-coroutines-test-jvm/1.8.0-intellij-13/kotlinx-coroutines-test-jvm-1.8.0-intellij-13.jar", + "hash": "c7f514518440283a8e8e4052b79cb56310ed708af35e734cef8de201d18c341a", + "path": "com/intellij/platform/kotlinx-coroutines-test-jvm/1.8.0-intellij-13/kotlinx-coroutines-test-jvm-1.8.0-intellij-13.jar" }, { - "url": "org/jetbrains/kotlinx/kotlinx-datetime-jvm/0.6.1/kotlinx-datetime-jvm-0.6.1.jar", - "hash": "bc94b0fcb4464742f02cf54a3e8db9e7b141a1a052ca8ddaf662a60affa21530", - "path": "org/jetbrains/kotlinx/kotlinx-datetime-jvm/0.6.1/kotlinx-datetime-jvm-0.6.1.jar" + "url": "org/jetbrains/kotlinx/kotlinx-datetime-jvm/0.6.2/kotlinx-datetime-jvm-0.6.2.jar", + "hash": "102764921129e1e44a74f408b7a0b8dac6d1892c6042e0e48f8bdbbbf78c6d2e", + "path": "org/jetbrains/kotlinx/kotlinx-datetime-jvm/0.6.2/kotlinx-datetime-jvm-0.6.2.jar" }, { - "url": "org/jetbrains/kotlinx/kotlinx-html-jvm/0.11.0/kotlinx-html-jvm-0.11.0.jar", - "hash": "e276fd903e32532ff63744713a3d1025e7a50f0f78ac46fbe5910e1596fd1c3d", - "path": "org/jetbrains/kotlinx/kotlinx-html-jvm/0.11.0/kotlinx-html-jvm-0.11.0.jar" + "url": "com/github/lamba92/kotlinx-document-store-mvstore/0.0.4/kotlinx-document-store-mvstore-0.0.4.jar", + "hash": "956a4c7faad66e3471861adaa278d9486f3a050ac25fb6a99ca90809d379adfe", + "path": "com/github/lamba92/kotlinx-document-store-mvstore/0.0.4/kotlinx-document-store-mvstore-0.0.4.jar" }, { - "url": "org/jetbrains/kotlinx/kotlinx-serialization-core-jvm/1.6.3/kotlinx-serialization-core-jvm-1.6.3.jar", - "hash": "29c821a8d4e25cbfe4f2ce96cdd4526f61f8f4e69a135f9612a34a81d93b65f1", - "path": "org/jetbrains/kotlinx/kotlinx-serialization-core-jvm/1.6.3/kotlinx-serialization-core-jvm-1.6.3.jar" + "url": "com/github/lamba92/kotlinx-document-store-core-jvm/0.0.4/kotlinx-document-store-core-jvm-0.0.4.jar", + "hash": "7e638082b4a14e3a96ca90f3f5db70ac65591e0b6c6670629e849d22ec34455f", + "path": "com/github/lamba92/kotlinx-document-store-core-jvm/0.0.4/kotlinx-document-store-core-jvm-0.0.4.jar" }, { - "url": "org/jetbrains/kotlinx/kotlinx-serialization-json-jvm/1.6.3/kotlinx-serialization-json-jvm-1.6.3.jar", - "hash": "d3234179bcff1886d53d67c11eca47f7f3cf7b63c349d16965f6db51b7f3dd9a", - "path": "org/jetbrains/kotlinx/kotlinx-serialization-json-jvm/1.6.3/kotlinx-serialization-json-jvm-1.6.3.jar" + "url": "org/jetbrains/kotlinx/kotlinx-html-jvm/0.12.0/kotlinx-html-jvm-0.12.0.jar", + "hash": "f854126f39acbd963fd54e0cd226000a151a76f7225ee28185d52f44e262befb", + "path": "org/jetbrains/kotlinx/kotlinx-html-jvm/0.12.0/kotlinx-html-jvm-0.12.0.jar" }, { - "url": "org/jetbrains/kotlinx/kotlinx-serialization-protobuf-jvm/1.6.3/kotlinx-serialization-protobuf-jvm-1.6.3.jar", - "hash": "94c6ecb14ef5503db65807caa3cb35bbfa175d1ca83c8ffaba32219f3b992597", - "path": "org/jetbrains/kotlinx/kotlinx-serialization-protobuf-jvm/1.6.3/kotlinx-serialization-protobuf-jvm-1.6.3.jar" + "url": "org/jetbrains/kotlinx/kotlinx-serialization-core-jvm/1.7.3/kotlinx-serialization-core-jvm-1.7.3.jar", + "hash": "f0adde45864144475385cf4aa7e0b7feb27f61fcf9472665ed98cc971b06b1eb", + "path": "org/jetbrains/kotlinx/kotlinx-serialization-core-jvm/1.7.3/kotlinx-serialization-core-jvm-1.7.3.jar" }, { - "url": "io/ktor/ktor-client-core-jvm/2.3.12/ktor-client-core-jvm-2.3.12.jar", - "hash": "b407a81d92e6cd41f92c150f1fd3060d5fca3491ce02afb7f713424404081c7a", - "path": "io/ktor/ktor-client-core-jvm/2.3.12/ktor-client-core-jvm-2.3.12.jar" + "url": "org/jetbrains/kotlinx/kotlinx-serialization-json-jvm/1.7.3/kotlinx-serialization-json-jvm-1.7.3.jar", + "hash": "b1e9138499ed8d20375edda3f2b1c95f3103a258eff6af9edc5ea07100f2b29c", + "path": "org/jetbrains/kotlinx/kotlinx-serialization-json-jvm/1.7.3/kotlinx-serialization-json-jvm-1.7.3.jar" }, { - "url": "io/ktor/ktor-http-jvm/2.3.12/ktor-http-jvm-2.3.12.jar", - "hash": "907111c439b3bd4433d2debb687920d5f8df8c6229b68ed540805d5e3763b6a8", - "path": "io/ktor/ktor-http-jvm/2.3.12/ktor-http-jvm-2.3.12.jar" + "url": "org/jetbrains/kotlinx/kotlinx-serialization-json-io-jvm/1.7.3/kotlinx-serialization-json-io-jvm-1.7.3.jar", + "hash": "963372b471616c2cd421fdea8085c4afb801a9aa71e5ef3acd1ba66e3450216c", + "path": "org/jetbrains/kotlinx/kotlinx-serialization-json-io-jvm/1.7.3/kotlinx-serialization-json-io-jvm-1.7.3.jar" }, { - "url": "io/ktor/ktor-utils-jvm/2.3.12/ktor-utils-jvm-2.3.12.jar", - "hash": "6a72d6867330065ed461952fff19ea55ba844352f748cec1872f5bc7b21efc02", - "path": "io/ktor/ktor-utils-jvm/2.3.12/ktor-utils-jvm-2.3.12.jar" + "url": "org/jetbrains/kotlinx/kotlinx-serialization-protobuf-jvm/1.7.3/kotlinx-serialization-protobuf-jvm-1.7.3.jar", + "hash": "7c85fb07055583a2e58dfdcee9dc19fef7255a323285707f82a0adc84f2ee84d", + "path": "org/jetbrains/kotlinx/kotlinx-serialization-protobuf-jvm/1.7.3/kotlinx-serialization-protobuf-jvm-1.7.3.jar" }, { - "url": "io/ktor/ktor-io-jvm/2.3.12/ktor-io-jvm-2.3.12.jar", - "hash": "1d93a45665f6744ff96cd7b97a45fb85ffec725b63bcc327d33a26a1c7e05fbd", - "path": "io/ktor/ktor-io-jvm/2.3.12/ktor-io-jvm-2.3.12.jar" + "url": "io/ktor/ktor-client-core-jvm/3.0.3/ktor-client-core-jvm-3.0.3.jar", + "hash": "e3d174d16548023805041b29a42fb135bfe3182534d3bf9f839d5821337f8d69", + "path": "io/ktor/ktor-client-core-jvm/3.0.3/ktor-client-core-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-events-jvm/2.3.12/ktor-events-jvm-2.3.12.jar", - "hash": "44f0b1de6b0947182d25408d1101c56cf8c01a7b809ee0152bd81d9adc9aa576", - "path": "io/ktor/ktor-events-jvm/2.3.12/ktor-events-jvm-2.3.12.jar" + "url": "io/ktor/ktor-http-jvm/3.0.3/ktor-http-jvm-3.0.3.jar", + "hash": "0e4e38b5f7098f269f39962cd78f3479027637f3970176798a41be82bd46d2ca", + "path": "io/ktor/ktor-http-jvm/3.0.3/ktor-http-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-websocket-serialization-jvm/2.3.12/ktor-websocket-serialization-jvm-2.3.12.jar", - "hash": "bff890d7ab6171551ae4f0632e9aeccb9048df31d6d73cf50abd5b330080ad3a", - "path": "io/ktor/ktor-websocket-serialization-jvm/2.3.12/ktor-websocket-serialization-jvm-2.3.12.jar" + "url": "io/ktor/ktor-utils-jvm/3.0.3/ktor-utils-jvm-3.0.3.jar", + "hash": "4948ec013b71417fffcae187e4aa7943f24eaf907210a4ac9bf853af27131b72", + "path": "io/ktor/ktor-utils-jvm/3.0.3/ktor-utils-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-serialization-jvm/2.3.12/ktor-serialization-jvm-2.3.12.jar", - "hash": "0e05534fbc3b0941127b6ef39e705c34c367dae8b0a08290701c60e97e88fa72", - "path": "io/ktor/ktor-serialization-jvm/2.3.12/ktor-serialization-jvm-2.3.12.jar" + "url": "io/ktor/ktor-io-jvm/3.0.3/ktor-io-jvm-3.0.3.jar", + "hash": "587f6aa4a22daf484ebb84ee5513f1b898e0feeeac714bd2fe0dd2232f57ade5", + "path": "io/ktor/ktor-io-jvm/3.0.3/ktor-io-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-websockets-jvm/2.3.12/ktor-websockets-jvm-2.3.12.jar", - "hash": "dc35cc539f4dfa5a4ad9b391c14d06527dfac4f64b3e3f050f5143ceb215bca4", - "path": "io/ktor/ktor-websockets-jvm/2.3.12/ktor-websockets-jvm-2.3.12.jar" + "url": "org/jetbrains/kotlinx/kotlinx-io-core-jvm/0.5.4/kotlinx-io-core-jvm-0.5.4.jar", + "hash": "dc3587c12795af01231591c0ef09a4139dfca8113c2989273b96b958006853c3", + "path": "org/jetbrains/kotlinx/kotlinx-io-core-jvm/0.5.4/kotlinx-io-core-jvm-0.5.4.jar" }, { - "url": "io/ktor/ktor-client-auth-jvm/2.3.12/ktor-client-auth-jvm-2.3.12.jar", - "hash": "0b590dec3031565efa778d0fcee7fb6c7b033bf7e883dafecb5b165a2254ef03", - "path": "io/ktor/ktor-client-auth-jvm/2.3.12/ktor-client-auth-jvm-2.3.12.jar" + "url": "org/jetbrains/kotlinx/kotlinx-io-bytestring-jvm/0.5.4/kotlinx-io-bytestring-jvm-0.5.4.jar", + "hash": "1fc96e19b445387dbc49183d0cc623c5a61bfa47c86cf81aaf5aff4845154fab", + "path": "org/jetbrains/kotlinx/kotlinx-io-bytestring-jvm/0.5.4/kotlinx-io-bytestring-jvm-0.5.4.jar" }, { - "url": "io/ktor/ktor-client-cio-jvm/2.3.12/ktor-client-cio-jvm-2.3.12.jar", - "hash": "770aad975dacaae756ae85bfd6bf10e4add844df303a4bfb4de5e62ff105af1c", - "path": "io/ktor/ktor-client-cio-jvm/2.3.12/ktor-client-cio-jvm-2.3.12.jar" + "url": "io/ktor/ktor-events-jvm/3.0.3/ktor-events-jvm-3.0.3.jar", + "hash": "317ee7adeb43e197717a5ab61fa3d8761514805ca0bcff49de029c4d6f2b3df2", + "path": "io/ktor/ktor-events-jvm/3.0.3/ktor-events-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-client-core-jvm/2.3.12/ktor-client-core-jvm-2.3.12.jar", - "hash": "b407a81d92e6cd41f92c150f1fd3060d5fca3491ce02afb7f713424404081c7a", - "path": "io/ktor/ktor-client-core-jvm/2.3.12/ktor-client-core-jvm-2.3.12.jar" + "url": "io/ktor/ktor-websocket-serialization-jvm/3.0.3/ktor-websocket-serialization-jvm-3.0.3.jar", + "hash": "80cdcfd738948e123744e24534a752e90b353b3485a5c48c8af17a2467a96e76", + "path": "io/ktor/ktor-websocket-serialization-jvm/3.0.3/ktor-websocket-serialization-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-http-jvm/2.3.12/ktor-http-jvm-2.3.12.jar", - "hash": "907111c439b3bd4433d2debb687920d5f8df8c6229b68ed540805d5e3763b6a8", - "path": "io/ktor/ktor-http-jvm/2.3.12/ktor-http-jvm-2.3.12.jar" + "url": "io/ktor/ktor-serialization-jvm/3.0.3/ktor-serialization-jvm-3.0.3.jar", + "hash": "78eb204e4b58f9357cd7f5c7a92d301518488c721befedb6c3832dc4c32a0354", + "path": "io/ktor/ktor-serialization-jvm/3.0.3/ktor-serialization-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-events-jvm/2.3.12/ktor-events-jvm-2.3.12.jar", - "hash": "44f0b1de6b0947182d25408d1101c56cf8c01a7b809ee0152bd81d9adc9aa576", - "path": "io/ktor/ktor-events-jvm/2.3.12/ktor-events-jvm-2.3.12.jar" + "url": "io/ktor/ktor-websockets-jvm/3.0.3/ktor-websockets-jvm-3.0.3.jar", + "hash": "4ecb08d33dc0d7c9d6b943b2b3e706f3d55fabef584b0c72fb2f0c5ba8a0eb7a", + "path": "io/ktor/ktor-websockets-jvm/3.0.3/ktor-websockets-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-websocket-serialization-jvm/2.3.12/ktor-websocket-serialization-jvm-2.3.12.jar", - "hash": "bff890d7ab6171551ae4f0632e9aeccb9048df31d6d73cf50abd5b330080ad3a", - "path": "io/ktor/ktor-websocket-serialization-jvm/2.3.12/ktor-websocket-serialization-jvm-2.3.12.jar" + "url": "io/ktor/ktor-sse-jvm/3.0.3/ktor-sse-jvm-3.0.3.jar", + "hash": "5fbfc2833738bc283d5bb8464bff48e08e7b526014e0eff5828efa9e69bffdf3", + "path": "io/ktor/ktor-sse-jvm/3.0.3/ktor-sse-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-serialization-jvm/2.3.12/ktor-serialization-jvm-2.3.12.jar", - "hash": "0e05534fbc3b0941127b6ef39e705c34c367dae8b0a08290701c60e97e88fa72", - "path": "io/ktor/ktor-serialization-jvm/2.3.12/ktor-serialization-jvm-2.3.12.jar" + "url": "io/ktor/ktor-client-auth-jvm/3.0.3/ktor-client-auth-jvm-3.0.3.jar", + "hash": "e78ff6ab04f5c7ddbfd64e23039a325cc244ee9b6b813ed3806147db2cd4eae5", + "path": "io/ktor/ktor-client-auth-jvm/3.0.3/ktor-client-auth-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-http-cio-jvm/2.3.12/ktor-http-cio-jvm-2.3.12.jar", - "hash": "278a5c1662701db9d89f49e74ea77218ed35ad830efffbdf44522ea861477f4b", - "path": "io/ktor/ktor-http-cio-jvm/2.3.12/ktor-http-cio-jvm-2.3.12.jar" + "url": "io/ktor/ktor-client-cio-jvm/3.0.3/ktor-client-cio-jvm-3.0.3.jar", + "hash": "0d3bbfc7698254bd93f52522ac9b8ed92597d5cf80ea3ffc0f0c9f237f3396ce", + "path": "io/ktor/ktor-client-cio-jvm/3.0.3/ktor-client-cio-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-network-jvm/2.3.12/ktor-network-jvm-2.3.12.jar", - "hash": "095ab8afab1a9408e55a67fca6f2f96848573519ddd22e7e8eb1c17dc4bc8d1b", - "path": "io/ktor/ktor-network-jvm/2.3.12/ktor-network-jvm-2.3.12.jar" + "url": "io/ktor/ktor-client-core-jvm/3.0.3/ktor-client-core-jvm-3.0.3.jar", + "hash": "e3d174d16548023805041b29a42fb135bfe3182534d3bf9f839d5821337f8d69", + "path": "io/ktor/ktor-client-core-jvm/3.0.3/ktor-client-core-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-websockets-jvm/2.3.12/ktor-websockets-jvm-2.3.12.jar", - "hash": "dc35cc539f4dfa5a4ad9b391c14d06527dfac4f64b3e3f050f5143ceb215bca4", - "path": "io/ktor/ktor-websockets-jvm/2.3.12/ktor-websockets-jvm-2.3.12.jar" + "url": "io/ktor/ktor-http-jvm/3.0.3/ktor-http-jvm-3.0.3.jar", + "hash": "0e4e38b5f7098f269f39962cd78f3479027637f3970176798a41be82bd46d2ca", + "path": "io/ktor/ktor-http-jvm/3.0.3/ktor-http-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-network-tls-jvm/2.3.12/ktor-network-tls-jvm-2.3.12.jar", - "hash": "2b74bf6a17776658520106de5137df9dc35df8ac1ed01624f83409962d128a75", - "path": "io/ktor/ktor-network-tls-jvm/2.3.12/ktor-network-tls-jvm-2.3.12.jar" + "url": "io/ktor/ktor-events-jvm/3.0.3/ktor-events-jvm-3.0.3.jar", + "hash": "317ee7adeb43e197717a5ab61fa3d8761514805ca0bcff49de029c4d6f2b3df2", + "path": "io/ktor/ktor-events-jvm/3.0.3/ktor-events-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-utils-jvm/2.3.12/ktor-utils-jvm-2.3.12.jar", - "hash": "6a72d6867330065ed461952fff19ea55ba844352f748cec1872f5bc7b21efc02", - "path": "io/ktor/ktor-utils-jvm/2.3.12/ktor-utils-jvm-2.3.12.jar" + "url": "io/ktor/ktor-websocket-serialization-jvm/3.0.3/ktor-websocket-serialization-jvm-3.0.3.jar", + "hash": "80cdcfd738948e123744e24534a752e90b353b3485a5c48c8af17a2467a96e76", + "path": "io/ktor/ktor-websocket-serialization-jvm/3.0.3/ktor-websocket-serialization-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-io-jvm/2.3.12/ktor-io-jvm-2.3.12.jar", - "hash": "1d93a45665f6744ff96cd7b97a45fb85ffec725b63bcc327d33a26a1c7e05fbd", - "path": "io/ktor/ktor-io-jvm/2.3.12/ktor-io-jvm-2.3.12.jar" + "url": "io/ktor/ktor-serialization-jvm/3.0.3/ktor-serialization-jvm-3.0.3.jar", + "hash": "78eb204e4b58f9357cd7f5c7a92d301518488c721befedb6c3832dc4c32a0354", + "path": "io/ktor/ktor-serialization-jvm/3.0.3/ktor-serialization-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-client-content-negotiation-jvm/2.3.12/ktor-client-content-negotiation-jvm-2.3.12.jar", - "hash": "b65290ac100096363d01ea71027d970cec6a48d076b6e4b36de1cae2c183cd72", - "path": "io/ktor/ktor-client-content-negotiation-jvm/2.3.12/ktor-client-content-negotiation-jvm-2.3.12.jar" + "url": "io/ktor/ktor-sse-jvm/3.0.3/ktor-sse-jvm-3.0.3.jar", + "hash": "5fbfc2833738bc283d5bb8464bff48e08e7b526014e0eff5828efa9e69bffdf3", + "path": "io/ktor/ktor-sse-jvm/3.0.3/ktor-sse-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-client-core-jvm/2.3.12/ktor-client-core-jvm-2.3.12.jar", - "hash": "b407a81d92e6cd41f92c150f1fd3060d5fca3491ce02afb7f713424404081c7a", - "path": "io/ktor/ktor-client-core-jvm/2.3.12/ktor-client-core-jvm-2.3.12.jar" + "url": "io/ktor/ktor-http-cio-jvm/3.0.3/ktor-http-cio-jvm-3.0.3.jar", + "hash": "2574639ce266e33419ecbbb729c8f921274b2588ed1dfeb4aa87039115df0666", + "path": "io/ktor/ktor-http-cio-jvm/3.0.3/ktor-http-cio-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-http-jvm/2.3.12/ktor-http-jvm-2.3.12.jar", - "hash": "907111c439b3bd4433d2debb687920d5f8df8c6229b68ed540805d5e3763b6a8", - "path": "io/ktor/ktor-http-jvm/2.3.12/ktor-http-jvm-2.3.12.jar" + "url": "io/ktor/ktor-network-jvm/3.0.3/ktor-network-jvm-3.0.3.jar", + "hash": "c7c440822e0dcd90b3c794b17c85a50851cb92fa406693bd08d858141ecdc6c1", + "path": "io/ktor/ktor-network-jvm/3.0.3/ktor-network-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-utils-jvm/2.3.12/ktor-utils-jvm-2.3.12.jar", - "hash": "6a72d6867330065ed461952fff19ea55ba844352f748cec1872f5bc7b21efc02", - "path": "io/ktor/ktor-utils-jvm/2.3.12/ktor-utils-jvm-2.3.12.jar" + "url": "io/ktor/ktor-io-jvm/3.0.3/ktor-io-jvm-3.0.3.jar", + "hash": "587f6aa4a22daf484ebb84ee5513f1b898e0feeeac714bd2fe0dd2232f57ade5", + "path": "io/ktor/ktor-io-jvm/3.0.3/ktor-io-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-io-jvm/2.3.12/ktor-io-jvm-2.3.12.jar", - "hash": "1d93a45665f6744ff96cd7b97a45fb85ffec725b63bcc327d33a26a1c7e05fbd", - "path": "io/ktor/ktor-io-jvm/2.3.12/ktor-io-jvm-2.3.12.jar" + "url": "org/jetbrains/kotlinx/kotlinx-io-core-jvm/0.5.4/kotlinx-io-core-jvm-0.5.4.jar", + "hash": "dc3587c12795af01231591c0ef09a4139dfca8113c2989273b96b958006853c3", + "path": "org/jetbrains/kotlinx/kotlinx-io-core-jvm/0.5.4/kotlinx-io-core-jvm-0.5.4.jar" }, { - "url": "io/ktor/ktor-events-jvm/2.3.12/ktor-events-jvm-2.3.12.jar", - "hash": "44f0b1de6b0947182d25408d1101c56cf8c01a7b809ee0152bd81d9adc9aa576", - "path": "io/ktor/ktor-events-jvm/2.3.12/ktor-events-jvm-2.3.12.jar" + "url": "org/jetbrains/kotlinx/kotlinx-io-bytestring-jvm/0.5.4/kotlinx-io-bytestring-jvm-0.5.4.jar", + "hash": "1fc96e19b445387dbc49183d0cc623c5a61bfa47c86cf81aaf5aff4845154fab", + "path": "org/jetbrains/kotlinx/kotlinx-io-bytestring-jvm/0.5.4/kotlinx-io-bytestring-jvm-0.5.4.jar" }, { - "url": "io/ktor/ktor-websocket-serialization-jvm/2.3.12/ktor-websocket-serialization-jvm-2.3.12.jar", - "hash": "bff890d7ab6171551ae4f0632e9aeccb9048df31d6d73cf50abd5b330080ad3a", - "path": "io/ktor/ktor-websocket-serialization-jvm/2.3.12/ktor-websocket-serialization-jvm-2.3.12.jar" + "url": "io/ktor/ktor-websockets-jvm/3.0.3/ktor-websockets-jvm-3.0.3.jar", + "hash": "4ecb08d33dc0d7c9d6b943b2b3e706f3d55fabef584b0c72fb2f0c5ba8a0eb7a", + "path": "io/ktor/ktor-websockets-jvm/3.0.3/ktor-websockets-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-serialization-jvm/2.3.12/ktor-serialization-jvm-2.3.12.jar", - "hash": "0e05534fbc3b0941127b6ef39e705c34c367dae8b0a08290701c60e97e88fa72", - "path": "io/ktor/ktor-serialization-jvm/2.3.12/ktor-serialization-jvm-2.3.12.jar" + "url": "io/ktor/ktor-network-tls-jvm/3.0.3/ktor-network-tls-jvm-3.0.3.jar", + "hash": "65e9a916e918fc76dd72764d17235506190ec1ec92dd7a4633246b2db12579c8", + "path": "io/ktor/ktor-network-tls-jvm/3.0.3/ktor-network-tls-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-websockets-jvm/2.3.12/ktor-websockets-jvm-2.3.12.jar", - "hash": "dc35cc539f4dfa5a4ad9b391c14d06527dfac4f64b3e3f050f5143ceb215bca4", - "path": "io/ktor/ktor-websockets-jvm/2.3.12/ktor-websockets-jvm-2.3.12.jar" + "url": "io/ktor/ktor-utils-jvm/3.0.3/ktor-utils-jvm-3.0.3.jar", + "hash": "4948ec013b71417fffcae187e4aa7943f24eaf907210a4ac9bf853af27131b72", + "path": "io/ktor/ktor-utils-jvm/3.0.3/ktor-utils-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-client-encoding-jvm/2.3.12/ktor-client-encoding-jvm-2.3.12.jar", - "hash": "393d1951ebad2d44b52bc722a1b63bed474890e4d86ce842bcf9aa99462b699e", - "path": "io/ktor/ktor-client-encoding-jvm/2.3.12/ktor-client-encoding-jvm-2.3.12.jar" + "url": "io/ktor/ktor-client-content-negotiation-jvm/3.0.3/ktor-client-content-negotiation-jvm-3.0.3.jar", + "hash": "683829363345abb59e20f6adfb3323d6abb100ba4d46c10002fa0c1bad149532", + "path": "io/ktor/ktor-client-content-negotiation-jvm/3.0.3/ktor-client-content-negotiation-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-client-java-jvm/2.3.12/ktor-client-java-jvm-2.3.12.jar", - "hash": "580511f2299c1c0ead906fcb4bbdd24cbc8068f027b4c3ad0d8de5e900d8cabd", - "path": "io/ktor/ktor-client-java-jvm/2.3.12/ktor-client-java-jvm-2.3.12.jar" + "url": "io/ktor/ktor-client-core-jvm/3.0.3/ktor-client-core-jvm-3.0.3.jar", + "hash": "e3d174d16548023805041b29a42fb135bfe3182534d3bf9f839d5821337f8d69", + "path": "io/ktor/ktor-client-core-jvm/3.0.3/ktor-client-core-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-client-logging-jvm/2.3.12/ktor-client-logging-jvm-2.3.12.jar", - "hash": "29023713116db9c910618edbd3ca0e7a0f07ed18a678523b892fd164d1c9dacf", - "path": "io/ktor/ktor-client-logging-jvm/2.3.12/ktor-client-logging-jvm-2.3.12.jar" + "url": "io/ktor/ktor-http-jvm/3.0.3/ktor-http-jvm-3.0.3.jar", + "hash": "0e4e38b5f7098f269f39962cd78f3479027637f3970176798a41be82bd46d2ca", + "path": "io/ktor/ktor-http-jvm/3.0.3/ktor-http-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-client-mock-jvm/2.3.12/ktor-client-mock-jvm-2.3.12.jar", - "hash": "c631d4e9d3b13739d6787ca1f6703984007c1e50b881ebe0706bb12eeb29b1bc", - "path": "io/ktor/ktor-client-mock-jvm/2.3.12/ktor-client-mock-jvm-2.3.12.jar" + "url": "io/ktor/ktor-utils-jvm/3.0.3/ktor-utils-jvm-3.0.3.jar", + "hash": "4948ec013b71417fffcae187e4aa7943f24eaf907210a4ac9bf853af27131b72", + "path": "io/ktor/ktor-utils-jvm/3.0.3/ktor-utils-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-http-jvm/2.3.12/ktor-http-jvm-2.3.12.jar", - "hash": "907111c439b3bd4433d2debb687920d5f8df8c6229b68ed540805d5e3763b6a8", - "path": "io/ktor/ktor-http-jvm/2.3.12/ktor-http-jvm-2.3.12.jar" + "url": "io/ktor/ktor-io-jvm/3.0.3/ktor-io-jvm-3.0.3.jar", + "hash": "587f6aa4a22daf484ebb84ee5513f1b898e0feeeac714bd2fe0dd2232f57ade5", + "path": "io/ktor/ktor-io-jvm/3.0.3/ktor-io-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-utils-jvm/2.3.12/ktor-utils-jvm-2.3.12.jar", - "hash": "6a72d6867330065ed461952fff19ea55ba844352f748cec1872f5bc7b21efc02", - "path": "io/ktor/ktor-utils-jvm/2.3.12/ktor-utils-jvm-2.3.12.jar" + "url": "org/jetbrains/kotlinx/kotlinx-io-core-jvm/0.5.4/kotlinx-io-core-jvm-0.5.4.jar", + "hash": "dc3587c12795af01231591c0ef09a4139dfca8113c2989273b96b958006853c3", + "path": "org/jetbrains/kotlinx/kotlinx-io-core-jvm/0.5.4/kotlinx-io-core-jvm-0.5.4.jar" }, { - "url": "io/ktor/ktor-io-jvm/2.3.12/ktor-io-jvm-2.3.12.jar", - "hash": "1d93a45665f6744ff96cd7b97a45fb85ffec725b63bcc327d33a26a1c7e05fbd", - "path": "io/ktor/ktor-io-jvm/2.3.12/ktor-io-jvm-2.3.12.jar" + "url": "org/jetbrains/kotlinx/kotlinx-io-bytestring-jvm/0.5.4/kotlinx-io-bytestring-jvm-0.5.4.jar", + "hash": "1fc96e19b445387dbc49183d0cc623c5a61bfa47c86cf81aaf5aff4845154fab", + "path": "org/jetbrains/kotlinx/kotlinx-io-bytestring-jvm/0.5.4/kotlinx-io-bytestring-jvm-0.5.4.jar" }, { - "url": "io/ktor/ktor-client-core-jvm/2.3.12/ktor-client-core-jvm-2.3.12.jar", - "hash": "b407a81d92e6cd41f92c150f1fd3060d5fca3491ce02afb7f713424404081c7a", - "path": "io/ktor/ktor-client-core-jvm/2.3.12/ktor-client-core-jvm-2.3.12.jar" + "url": "io/ktor/ktor-events-jvm/3.0.3/ktor-events-jvm-3.0.3.jar", + "hash": "317ee7adeb43e197717a5ab61fa3d8761514805ca0bcff49de029c4d6f2b3df2", + "path": "io/ktor/ktor-events-jvm/3.0.3/ktor-events-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-events-jvm/2.3.12/ktor-events-jvm-2.3.12.jar", - "hash": "44f0b1de6b0947182d25408d1101c56cf8c01a7b809ee0152bd81d9adc9aa576", - "path": "io/ktor/ktor-events-jvm/2.3.12/ktor-events-jvm-2.3.12.jar" + "url": "io/ktor/ktor-websocket-serialization-jvm/3.0.3/ktor-websocket-serialization-jvm-3.0.3.jar", + "hash": "80cdcfd738948e123744e24534a752e90b353b3485a5c48c8af17a2467a96e76", + "path": "io/ktor/ktor-websocket-serialization-jvm/3.0.3/ktor-websocket-serialization-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-websocket-serialization-jvm/2.3.12/ktor-websocket-serialization-jvm-2.3.12.jar", - "hash": "bff890d7ab6171551ae4f0632e9aeccb9048df31d6d73cf50abd5b330080ad3a", - "path": "io/ktor/ktor-websocket-serialization-jvm/2.3.12/ktor-websocket-serialization-jvm-2.3.12.jar" + "url": "io/ktor/ktor-serialization-jvm/3.0.3/ktor-serialization-jvm-3.0.3.jar", + "hash": "78eb204e4b58f9357cd7f5c7a92d301518488c721befedb6c3832dc4c32a0354", + "path": "io/ktor/ktor-serialization-jvm/3.0.3/ktor-serialization-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-serialization-jvm/2.3.12/ktor-serialization-jvm-2.3.12.jar", - "hash": "0e05534fbc3b0941127b6ef39e705c34c367dae8b0a08290701c60e97e88fa72", - "path": "io/ktor/ktor-serialization-jvm/2.3.12/ktor-serialization-jvm-2.3.12.jar" + "url": "io/ktor/ktor-websockets-jvm/3.0.3/ktor-websockets-jvm-3.0.3.jar", + "hash": "4ecb08d33dc0d7c9d6b943b2b3e706f3d55fabef584b0c72fb2f0c5ba8a0eb7a", + "path": "io/ktor/ktor-websockets-jvm/3.0.3/ktor-websockets-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-websockets-jvm/2.3.12/ktor-websockets-jvm-2.3.12.jar", - "hash": "dc35cc539f4dfa5a4ad9b391c14d06527dfac4f64b3e3f050f5143ceb215bca4", - "path": "io/ktor/ktor-websockets-jvm/2.3.12/ktor-websockets-jvm-2.3.12.jar" + "url": "io/ktor/ktor-sse-jvm/3.0.3/ktor-sse-jvm-3.0.3.jar", + "hash": "5fbfc2833738bc283d5bb8464bff48e08e7b526014e0eff5828efa9e69bffdf3", + "path": "io/ktor/ktor-sse-jvm/3.0.3/ktor-sse-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-client-okhttp-jvm/2.3.12/ktor-client-okhttp-jvm-2.3.12.jar", - "hash": "31f4d9cfb02da8d874f050c9841b2cb31e535f9b13a9797af4799d5b0356d10a", - "path": "io/ktor/ktor-client-okhttp-jvm/2.3.12/ktor-client-okhttp-jvm-2.3.12.jar" + "url": "io/ktor/ktor-client-encoding-jvm/3.0.3/ktor-client-encoding-jvm-3.0.3.jar", + "hash": "924822996d4dd9696c21480eaca5b3bcfd1280d7780c89ca7a5c510db50e0fcf", + "path": "io/ktor/ktor-client-encoding-jvm/3.0.3/ktor-client-encoding-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-network-tls-jvm/2.3.12/ktor-network-tls-jvm-2.3.12.jar", - "hash": "2b74bf6a17776658520106de5137df9dc35df8ac1ed01624f83409962d128a75", - "path": "io/ktor/ktor-network-tls-jvm/2.3.12/ktor-network-tls-jvm-2.3.12.jar" + "url": "io/ktor/ktor-client-java-jvm/3.0.3/ktor-client-java-jvm-3.0.3.jar", + "hash": "0ef22cd0d7a0dd5c99878e02786a7bbacf3e4327accfb282232b687e4d08b8d6", + "path": "io/ktor/ktor-client-java-jvm/3.0.3/ktor-client-java-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-http-jvm/2.3.12/ktor-http-jvm-2.3.12.jar", - "hash": "907111c439b3bd4433d2debb687920d5f8df8c6229b68ed540805d5e3763b6a8", - "path": "io/ktor/ktor-http-jvm/2.3.12/ktor-http-jvm-2.3.12.jar" + "url": "io/ktor/ktor-client-logging-jvm/3.0.3/ktor-client-logging-jvm-3.0.3.jar", + "hash": "4761f5ea9ae9d4839d36098a8747619aaa48635c1ca6616aadc62f1865b35d97", + "path": "io/ktor/ktor-client-logging-jvm/3.0.3/ktor-client-logging-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-network-jvm/2.3.12/ktor-network-jvm-2.3.12.jar", - "hash": "095ab8afab1a9408e55a67fca6f2f96848573519ddd22e7e8eb1c17dc4bc8d1b", - "path": "io/ktor/ktor-network-jvm/2.3.12/ktor-network-jvm-2.3.12.jar" + "url": "io/ktor/ktor-client-mock-jvm/3.0.3/ktor-client-mock-jvm-3.0.3.jar", + "hash": "fbbcc7694b2ec2269f9a140527a9aadd4f973b6c92c75fd121941c5501774ab0", + "path": "io/ktor/ktor-client-mock-jvm/3.0.3/ktor-client-mock-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-utils-jvm/2.3.12/ktor-utils-jvm-2.3.12.jar", - "hash": "6a72d6867330065ed461952fff19ea55ba844352f748cec1872f5bc7b21efc02", - "path": "io/ktor/ktor-utils-jvm/2.3.12/ktor-utils-jvm-2.3.12.jar" + "url": "io/ktor/ktor-http-jvm/3.0.3/ktor-http-jvm-3.0.3.jar", + "hash": "0e4e38b5f7098f269f39962cd78f3479027637f3970176798a41be82bd46d2ca", + "path": "io/ktor/ktor-http-jvm/3.0.3/ktor-http-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-io-jvm/2.3.12/ktor-io-jvm-2.3.12.jar", - "hash": "1d93a45665f6744ff96cd7b97a45fb85ffec725b63bcc327d33a26a1c7e05fbd", - "path": "io/ktor/ktor-io-jvm/2.3.12/ktor-io-jvm-2.3.12.jar" + "url": "io/ktor/ktor-utils-jvm/3.0.3/ktor-utils-jvm-3.0.3.jar", + "hash": "4948ec013b71417fffcae187e4aa7943f24eaf907210a4ac9bf853af27131b72", + "path": "io/ktor/ktor-utils-jvm/3.0.3/ktor-utils-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-serialization-kotlinx-json-jvm/2.3.8/ktor-serialization-kotlinx-json-jvm-2.3.8.jar", - "hash": "b911a79263026ab81768ff2664a92586f192da108f5ba8b11e9172e5bb7a7ceb", - "path": "io/ktor/ktor-serialization-kotlinx-json-jvm/2.3.8/ktor-serialization-kotlinx-json-jvm-2.3.8.jar" + "url": "io/ktor/ktor-io-jvm/3.0.3/ktor-io-jvm-3.0.3.jar", + "hash": "587f6aa4a22daf484ebb84ee5513f1b898e0feeeac714bd2fe0dd2232f57ade5", + "path": "io/ktor/ktor-io-jvm/3.0.3/ktor-io-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-serialization-kotlinx-jvm/2.3.8/ktor-serialization-kotlinx-jvm-2.3.8.jar", - "hash": "40a27f5347c8b737d7b8c2ef224d638a9e40d011aa9a56fb489b99ba9898d90d", - "path": "io/ktor/ktor-serialization-kotlinx-jvm/2.3.8/ktor-serialization-kotlinx-jvm-2.3.8.jar" + "url": "org/jetbrains/kotlinx/kotlinx-io-core-jvm/0.5.4/kotlinx-io-core-jvm-0.5.4.jar", + "hash": "dc3587c12795af01231591c0ef09a4139dfca8113c2989273b96b958006853c3", + "path": "org/jetbrains/kotlinx/kotlinx-io-core-jvm/0.5.4/kotlinx-io-core-jvm-0.5.4.jar" }, { - "url": "io/ktor/ktor-serialization-jvm/2.3.8/ktor-serialization-jvm-2.3.8.jar", - "hash": "7d942475bf3995fe080c5f103532e51736d0c474aea3d9f6133a4031ae08799a", - "path": "io/ktor/ktor-serialization-jvm/2.3.8/ktor-serialization-jvm-2.3.8.jar" + "url": "org/jetbrains/kotlinx/kotlinx-io-bytestring-jvm/0.5.4/kotlinx-io-bytestring-jvm-0.5.4.jar", + "hash": "1fc96e19b445387dbc49183d0cc623c5a61bfa47c86cf81aaf5aff4845154fab", + "path": "org/jetbrains/kotlinx/kotlinx-io-bytestring-jvm/0.5.4/kotlinx-io-bytestring-jvm-0.5.4.jar" }, { - "url": "io/ktor/ktor-server-cio-jvm/2.3.12/ktor-server-cio-jvm-2.3.12.jar", - "hash": "5a4849630a491c2357a7fe72521c05a87d68272a1e1f5772cf881a0fe906769a", - "path": "io/ktor/ktor-server-cio-jvm/2.3.12/ktor-server-cio-jvm-2.3.12.jar" + "url": "io/ktor/ktor-client-core-jvm/3.0.3/ktor-client-core-jvm-3.0.3.jar", + "hash": "e3d174d16548023805041b29a42fb135bfe3182534d3bf9f839d5821337f8d69", + "path": "io/ktor/ktor-client-core-jvm/3.0.3/ktor-client-core-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-server-host-common-jvm/2.3.12/ktor-server-host-common-jvm-2.3.12.jar", - "hash": "3ea0b0b88ffaf6b3b3c8bf506e8c168b7a0ad926f9611638910e8fb334acf98d", - "path": "io/ktor/ktor-server-host-common-jvm/2.3.12/ktor-server-host-common-jvm-2.3.12.jar" + "url": "io/ktor/ktor-events-jvm/3.0.3/ktor-events-jvm-3.0.3.jar", + "hash": "317ee7adeb43e197717a5ab61fa3d8761514805ca0bcff49de029c4d6f2b3df2", + "path": "io/ktor/ktor-events-jvm/3.0.3/ktor-events-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-server-core-jvm/2.3.12/ktor-server-core-jvm-2.3.12.jar", - "hash": "f3b30ba1355720a39fde21460ce0cc3a83222417236d7de6fdffe542764536b9", - "path": "io/ktor/ktor-server-core-jvm/2.3.12/ktor-server-core-jvm-2.3.12.jar" + "url": "io/ktor/ktor-websocket-serialization-jvm/3.0.3/ktor-websocket-serialization-jvm-3.0.3.jar", + "hash": "80cdcfd738948e123744e24534a752e90b353b3485a5c48c8af17a2467a96e76", + "path": "io/ktor/ktor-websocket-serialization-jvm/3.0.3/ktor-websocket-serialization-jvm-3.0.3.jar" + }, + { + "url": "io/ktor/ktor-serialization-jvm/3.0.3/ktor-serialization-jvm-3.0.3.jar", + "hash": "78eb204e4b58f9357cd7f5c7a92d301518488c721befedb6c3832dc4c32a0354", + "path": "io/ktor/ktor-serialization-jvm/3.0.3/ktor-serialization-jvm-3.0.3.jar" + }, + { + "url": "io/ktor/ktor-websockets-jvm/3.0.3/ktor-websockets-jvm-3.0.3.jar", + "hash": "4ecb08d33dc0d7c9d6b943b2b3e706f3d55fabef584b0c72fb2f0c5ba8a0eb7a", + "path": "io/ktor/ktor-websockets-jvm/3.0.3/ktor-websockets-jvm-3.0.3.jar" + }, + { + "url": "io/ktor/ktor-sse-jvm/3.0.3/ktor-sse-jvm-3.0.3.jar", + "hash": "5fbfc2833738bc283d5bb8464bff48e08e7b526014e0eff5828efa9e69bffdf3", + "path": "io/ktor/ktor-sse-jvm/3.0.3/ktor-sse-jvm-3.0.3.jar" + }, + { + "url": "io/ktor/ktor-client-okhttp-jvm/3.0.3/ktor-client-okhttp-jvm-3.0.3.jar", + "hash": "c497931a1cc4192e59d3e28c39bab4a821a02da0856b71a2014a814bb64587bb", + "path": "io/ktor/ktor-client-okhttp-jvm/3.0.3/ktor-client-okhttp-jvm-3.0.3.jar" + }, + { + "url": "io/ktor/ktor-network-tls-jvm/3.0.3/ktor-network-tls-jvm-3.0.3.jar", + "hash": "65e9a916e918fc76dd72764d17235506190ec1ec92dd7a4633246b2db12579c8", + "path": "io/ktor/ktor-network-tls-jvm/3.0.3/ktor-network-tls-jvm-3.0.3.jar" + }, + { + "url": "io/ktor/ktor-http-jvm/3.0.3/ktor-http-jvm-3.0.3.jar", + "hash": "0e4e38b5f7098f269f39962cd78f3479027637f3970176798a41be82bd46d2ca", + "path": "io/ktor/ktor-http-jvm/3.0.3/ktor-http-jvm-3.0.3.jar" + }, + { + "url": "io/ktor/ktor-network-jvm/3.0.3/ktor-network-jvm-3.0.3.jar", + "hash": "c7c440822e0dcd90b3c794b17c85a50851cb92fa406693bd08d858141ecdc6c1", + "path": "io/ktor/ktor-network-jvm/3.0.3/ktor-network-jvm-3.0.3.jar" + }, + { + "url": "io/ktor/ktor-utils-jvm/3.0.3/ktor-utils-jvm-3.0.3.jar", + "hash": "4948ec013b71417fffcae187e4aa7943f24eaf907210a4ac9bf853af27131b72", + "path": "io/ktor/ktor-utils-jvm/3.0.3/ktor-utils-jvm-3.0.3.jar" + }, + { + "url": "io/ktor/ktor-io-jvm/3.0.3/ktor-io-jvm-3.0.3.jar", + "hash": "587f6aa4a22daf484ebb84ee5513f1b898e0feeeac714bd2fe0dd2232f57ade5", + "path": "io/ktor/ktor-io-jvm/3.0.3/ktor-io-jvm-3.0.3.jar" + }, + { + "url": "org/jetbrains/kotlinx/kotlinx-io-core-jvm/0.5.4/kotlinx-io-core-jvm-0.5.4.jar", + "hash": "dc3587c12795af01231591c0ef09a4139dfca8113c2989273b96b958006853c3", + "path": "org/jetbrains/kotlinx/kotlinx-io-core-jvm/0.5.4/kotlinx-io-core-jvm-0.5.4.jar" + }, + { + "url": "org/jetbrains/kotlinx/kotlinx-io-bytestring-jvm/0.5.4/kotlinx-io-bytestring-jvm-0.5.4.jar", + "hash": "1fc96e19b445387dbc49183d0cc623c5a61bfa47c86cf81aaf5aff4845154fab", + "path": "org/jetbrains/kotlinx/kotlinx-io-bytestring-jvm/0.5.4/kotlinx-io-bytestring-jvm-0.5.4.jar" + }, + { + "url": "io/ktor/ktor-serialization-kotlinx-json-jvm/3.0.3/ktor-serialization-kotlinx-json-jvm-3.0.3.jar", + "hash": "dbee8f66edf9a845c1f96b9b8c34ff6920c600f1c46e72f4fe530b4333f4a8cb", + "path": "io/ktor/ktor-serialization-kotlinx-json-jvm/3.0.3/ktor-serialization-kotlinx-json-jvm-3.0.3.jar" + }, + { + "url": "io/ktor/ktor-serialization-kotlinx-jvm/3.0.3/ktor-serialization-kotlinx-jvm-3.0.3.jar", + "hash": "101fa93a9bb0a1b70d410834bbad3e7a060a5eb8da0ba76f3c6f00737ade28ea", + "path": "io/ktor/ktor-serialization-kotlinx-jvm/3.0.3/ktor-serialization-kotlinx-jvm-3.0.3.jar" + }, + { + "url": "io/ktor/ktor-serialization-jvm/3.0.3/ktor-serialization-jvm-3.0.3.jar", + "hash": "78eb204e4b58f9357cd7f5c7a92d301518488c721befedb6c3832dc4c32a0354", + "path": "io/ktor/ktor-serialization-jvm/3.0.3/ktor-serialization-jvm-3.0.3.jar" + }, + { + "url": "io/ktor/ktor-server-cio-jvm/3.0.3/ktor-server-cio-jvm-3.0.3.jar", + "hash": "172e5fc3dc4f00f90252f7a92466b53712cce16d9e7160d414923fb3332bfc92", + "path": "io/ktor/ktor-server-cio-jvm/3.0.3/ktor-server-cio-jvm-3.0.3.jar" + }, + { + "url": "io/ktor/ktor-server-core-jvm/3.0.3/ktor-server-core-jvm-3.0.3.jar", + "hash": "bb751d8ed0b0b72b37e5101ac552f1555d6fcbb557c1ec46802ac84e5873413a", + "path": "io/ktor/ktor-server-core-jvm/3.0.3/ktor-server-core-jvm-3.0.3.jar" }, { "url": "com/typesafe/config/1.4.3/config-1.4.3.jar", @@ -1690,44 +1835,54 @@ "path": "com/typesafe/config/1.4.3/config-1.4.3.jar" }, { - "url": "io/ktor/ktor-serialization-jvm/2.3.12/ktor-serialization-jvm-2.3.12.jar", - "hash": "0e05534fbc3b0941127b6ef39e705c34c367dae8b0a08290701c60e97e88fa72", - "path": "io/ktor/ktor-serialization-jvm/2.3.12/ktor-serialization-jvm-2.3.12.jar" + "url": "io/ktor/ktor-utils-jvm/3.0.3/ktor-utils-jvm-3.0.3.jar", + "hash": "4948ec013b71417fffcae187e4aa7943f24eaf907210a4ac9bf853af27131b72", + "path": "io/ktor/ktor-utils-jvm/3.0.3/ktor-utils-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-events-jvm/2.3.12/ktor-events-jvm-2.3.12.jar", - "hash": "44f0b1de6b0947182d25408d1101c56cf8c01a7b809ee0152bd81d9adc9aa576", - "path": "io/ktor/ktor-events-jvm/2.3.12/ktor-events-jvm-2.3.12.jar" + "url": "io/ktor/ktor-http-jvm/3.0.3/ktor-http-jvm-3.0.3.jar", + "hash": "0e4e38b5f7098f269f39962cd78f3479027637f3970176798a41be82bd46d2ca", + "path": "io/ktor/ktor-http-jvm/3.0.3/ktor-http-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-http-cio-jvm/2.3.12/ktor-http-cio-jvm-2.3.12.jar", - "hash": "278a5c1662701db9d89f49e74ea77218ed35ad830efffbdf44522ea861477f4b", - "path": "io/ktor/ktor-http-cio-jvm/2.3.12/ktor-http-cio-jvm-2.3.12.jar" + "url": "io/ktor/ktor-serialization-jvm/3.0.3/ktor-serialization-jvm-3.0.3.jar", + "hash": "78eb204e4b58f9357cd7f5c7a92d301518488c721befedb6c3832dc4c32a0354", + "path": "io/ktor/ktor-serialization-jvm/3.0.3/ktor-serialization-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-http-jvm/2.3.12/ktor-http-jvm-2.3.12.jar", - "hash": "907111c439b3bd4433d2debb687920d5f8df8c6229b68ed540805d5e3763b6a8", - "path": "io/ktor/ktor-http-jvm/2.3.12/ktor-http-jvm-2.3.12.jar" + "url": "io/ktor/ktor-events-jvm/3.0.3/ktor-events-jvm-3.0.3.jar", + "hash": "317ee7adeb43e197717a5ab61fa3d8761514805ca0bcff49de029c4d6f2b3df2", + "path": "io/ktor/ktor-events-jvm/3.0.3/ktor-events-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-websockets-jvm/2.3.12/ktor-websockets-jvm-2.3.12.jar", - "hash": "dc35cc539f4dfa5a4ad9b391c14d06527dfac4f64b3e3f050f5143ceb215bca4", - "path": "io/ktor/ktor-websockets-jvm/2.3.12/ktor-websockets-jvm-2.3.12.jar" + "url": "io/ktor/ktor-http-cio-jvm/3.0.3/ktor-http-cio-jvm-3.0.3.jar", + "hash": "2574639ce266e33419ecbbb729c8f921274b2588ed1dfeb4aa87039115df0666", + "path": "io/ktor/ktor-http-cio-jvm/3.0.3/ktor-http-cio-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-network-jvm/2.3.12/ktor-network-jvm-2.3.12.jar", - "hash": "095ab8afab1a9408e55a67fca6f2f96848573519ddd22e7e8eb1c17dc4bc8d1b", - "path": "io/ktor/ktor-network-jvm/2.3.12/ktor-network-jvm-2.3.12.jar" + "url": "io/ktor/ktor-io-jvm/3.0.3/ktor-io-jvm-3.0.3.jar", + "hash": "587f6aa4a22daf484ebb84ee5513f1b898e0feeeac714bd2fe0dd2232f57ade5", + "path": "io/ktor/ktor-io-jvm/3.0.3/ktor-io-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-utils-jvm/2.3.12/ktor-utils-jvm-2.3.12.jar", - "hash": "6a72d6867330065ed461952fff19ea55ba844352f748cec1872f5bc7b21efc02", - "path": "io/ktor/ktor-utils-jvm/2.3.12/ktor-utils-jvm-2.3.12.jar" + "url": "org/jetbrains/kotlinx/kotlinx-io-core-jvm/0.5.4/kotlinx-io-core-jvm-0.5.4.jar", + "hash": "dc3587c12795af01231591c0ef09a4139dfca8113c2989273b96b958006853c3", + "path": "org/jetbrains/kotlinx/kotlinx-io-core-jvm/0.5.4/kotlinx-io-core-jvm-0.5.4.jar" }, { - "url": "io/ktor/ktor-io-jvm/2.3.12/ktor-io-jvm-2.3.12.jar", - "hash": "1d93a45665f6744ff96cd7b97a45fb85ffec725b63bcc327d33a26a1c7e05fbd", - "path": "io/ktor/ktor-io-jvm/2.3.12/ktor-io-jvm-2.3.12.jar" + "url": "org/jetbrains/kotlinx/kotlinx-io-bytestring-jvm/0.5.4/kotlinx-io-bytestring-jvm-0.5.4.jar", + "hash": "1fc96e19b445387dbc49183d0cc623c5a61bfa47c86cf81aaf5aff4845154fab", + "path": "org/jetbrains/kotlinx/kotlinx-io-bytestring-jvm/0.5.4/kotlinx-io-bytestring-jvm-0.5.4.jar" + }, + { + "url": "io/ktor/ktor-websockets-jvm/3.0.3/ktor-websockets-jvm-3.0.3.jar", + "hash": "4ecb08d33dc0d7c9d6b943b2b3e706f3d55fabef584b0c72fb2f0c5ba8a0eb7a", + "path": "io/ktor/ktor-websockets-jvm/3.0.3/ktor-websockets-jvm-3.0.3.jar" + }, + { + "url": "io/ktor/ktor-network-jvm/3.0.3/ktor-network-jvm-3.0.3.jar", + "hash": "c7c440822e0dcd90b3c794b17c85a50851cb92fa406693bd08d858141ecdc6c1", + "path": "io/ktor/ktor-network-jvm/3.0.3/ktor-network-jvm-3.0.3.jar" }, { "url": "net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.jar", @@ -1735,9 +1890,9 @@ "path": "net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.jar" }, { - "url": "com/android/tools/layoutlib/layoutlib/15.0.3/layoutlib-15.0.3.jar", - "hash": "b8e1002333aedb972e000c52bb38672642344e3403b797592344578f62df62c1", - "path": "com/android/tools/layoutlib/layoutlib/15.0.3/layoutlib-15.0.3.jar" + "url": "com/android/tools/layoutlib/layoutlib/15.1.2/layoutlib-15.1.2.jar", + "hash": "5b8567d7ef44b616a340ba1207c0f75bbb4046f2035fbd5ddaba6bc62aecba8b", + "path": "com/android/tools/layoutlib/layoutlib/15.1.2/layoutlib-15.1.2.jar" }, { "url": "org/apache/thrift/libthrift/0.19.0/libthrift-0.19.0.jar", @@ -1860,9 +2015,9 @@ "path": "org/apache/maven/resolver/maven-resolver-named-locks/1.9.22/maven-resolver-named-locks-1.9.22.jar" }, { - "url": "com/github/marschall/memoryfilesystem/2.8.0/memoryfilesystem-2.8.0.jar", - "hash": "c98b4dae95e5ac8b6dc48d184bdedf463730959d6db02709930dcd0bd910d68c", - "path": "com/github/marschall/memoryfilesystem/2.8.0/memoryfilesystem-2.8.0.jar" + "url": "com/github/marschall/memoryfilesystem/2.8.1/memoryfilesystem-2.8.1.jar", + "hash": "4926485c107e0f44c0037a3cca7c10f1ef1c57844a13837f99fd8e848a74a00b", + "path": "com/github/marschall/memoryfilesystem/2.8.1/memoryfilesystem-2.8.1.jar" }, { "url": "com/miglayout/miglayout-swing/11.4/miglayout-swing-11.4.jar", @@ -1910,190 +2065,265 @@ "path": "com/h2database/h2-mvstore/2.3.232/h2-mvstore-2.3.232.jar" }, { - "url": "io/netty/netty-all/4.2.0.Alpha4/netty-all-4.2.0.Alpha4.jar", - "hash": "7fbc74c4d6c764ff5ab3c6ba7083b3871abe7142409c4bfc9014697b8b31a6d1", - "path": "io/netty/netty-all/4.2.0.Alpha4/netty-all-4.2.0.Alpha4.jar" + "url": "io/netty/netty-all/4.2.0.RC2/netty-all-4.2.0.RC2.jar", + "hash": "4a12af2ac8345bfc7e0987ad8748787de033a9e27357cace7f45c7d40be522e0", + "path": "io/netty/netty-all/4.2.0.RC2/netty-all-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-buffer/4.2.0.Alpha4/netty-buffer-4.2.0.Alpha4.jar", - "hash": "c5d5181c50da3eb08b028cec426564a7ef4a2b25a6d496edcacb4cd733484a7e", - "path": "io/netty/netty-buffer/4.2.0.Alpha4/netty-buffer-4.2.0.Alpha4.jar" + "url": "io/netty/netty-buffer/4.2.0.RC2/netty-buffer-4.2.0.RC2.jar", + "hash": "74d953cec00048b892112f9602fc7b1113ea55337dc1ede32e449efcb2b231c7", + "path": "io/netty/netty-buffer/4.2.0.RC2/netty-buffer-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-codec/4.2.0.Alpha4/netty-codec-4.2.0.Alpha4.jar", - "hash": "da0b6b9596649c5d86c369f678088530a26c930fccf6bdd3bdd4956243955f85", - "path": "io/netty/netty-codec/4.2.0.Alpha4/netty-codec-4.2.0.Alpha4.jar" + "url": "io/netty/netty-codec-base/4.2.0.RC2/netty-codec-base-4.2.0.RC2.jar", + "hash": "f39581a55f89fb0586373e237e1e4a9d5e2fe3b94167c7a6762552651e5a6038", + "path": "io/netty/netty-codec-base/4.2.0.RC2/netty-codec-base-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-codec-http/4.2.0.Alpha4/netty-codec-http-4.2.0.Alpha4.jar", - "hash": "ca2f2cd15eee29887be13d365c202dd00f1311ba08850e6ee5fa67a7945656c1", - "path": "io/netty/netty-codec-http/4.2.0.Alpha4/netty-codec-http-4.2.0.Alpha4.jar" + "url": "io/netty/netty-codec/4.2.0.RC2/netty-codec-4.2.0.RC2.jar", + "hash": "b94f2d169acd04e8a41f1082e8f522529be1f5a10515473de9fb8d259afbfc77", + "path": "io/netty/netty-codec/4.2.0.RC2/netty-codec-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-codec-http2/4.2.0.Alpha4/netty-codec-http2-4.2.0.Alpha4.jar", - "hash": "36a279030958ad573cdcfb2495a1be2e61a2ffada3505b98b0c408fab2dc1d58", - "path": "io/netty/netty-codec-http2/4.2.0.Alpha4/netty-codec-http2-4.2.0.Alpha4.jar" + "url": "io/netty/netty-codec-http/4.2.0.RC2/netty-codec-http-4.2.0.RC2.jar", + "hash": "a44d21dff0254e4f4f9ceb7870e8b27a403d7f1d6325ab03ae6c045302957761", + "path": "io/netty/netty-codec-http/4.2.0.RC2/netty-codec-http-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-common/4.2.0.Alpha4/netty-common-4.2.0.Alpha4.jar", - "hash": "ac67b0cf3ced3918cdf7a73814003bfa223311e3c6816448a1bea01624203a3b", - "path": "io/netty/netty-common/4.2.0.Alpha4/netty-common-4.2.0.Alpha4.jar" + "url": "io/netty/netty-codec-http2/4.2.0.RC2/netty-codec-http2-4.2.0.RC2.jar", + "hash": "c542657efd81b268535fb77e1866c8234c5a22de416ecbd8aea0e06e2c1588de", + "path": "io/netty/netty-codec-http2/4.2.0.RC2/netty-codec-http2-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-handler/4.2.0.Alpha4/netty-handler-4.2.0.Alpha4.jar", - "hash": "0782fa2592152a40fde6d076a98e67ff557d4e4c450917a49c4825477e883927", - "path": "io/netty/netty-handler/4.2.0.Alpha4/netty-handler-4.2.0.Alpha4.jar" + "url": "io/netty/netty-common/4.2.0.RC2/netty-common-4.2.0.RC2.jar", + "hash": "cc65afe17daf2f9380d3c64460f5b10ec279f98b9461fbf0ccf62b3cb3ee6c37", + "path": "io/netty/netty-common/4.2.0.RC2/netty-common-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-transport-native-unix-common/4.2.0.Alpha4/netty-transport-native-unix-common-4.2.0.Alpha4.jar", - "hash": "19eb779e9d078308eb39a6a1073391fd5339f4be2dbd8682240ae5788fbd5d59", - "path": "io/netty/netty-transport-native-unix-common/4.2.0.Alpha4/netty-transport-native-unix-common-4.2.0.Alpha4.jar" + "url": "io/netty/netty-handler/4.2.0.RC2/netty-handler-4.2.0.RC2.jar", + "hash": "3f1912b14a2fdd7ad2ef0bda9eeb1ae544c463857081d7dd69f9aa2b7137de6e", + "path": "io/netty/netty-handler/4.2.0.RC2/netty-handler-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-handler-ssl-ocsp/4.2.0.Alpha4/netty-handler-ssl-ocsp-4.2.0.Alpha4.jar", - "hash": "184306b9b920864c24a36c690c7a894e5845b521b0c72bd09d06d0c733ab7977", - "path": "io/netty/netty-handler-ssl-ocsp/4.2.0.Alpha4/netty-handler-ssl-ocsp-4.2.0.Alpha4.jar" + "url": "io/netty/netty-transport-native-unix-common/4.2.0.RC2/netty-transport-native-unix-common-4.2.0.RC2.jar", + "hash": "dfc1db2a05dafeba40987a76591004cc72d4a27062d874961fadc5059900f65d", + "path": "io/netty/netty-transport-native-unix-common/4.2.0.RC2/netty-transport-native-unix-common-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-resolver/4.2.0.Alpha4/netty-resolver-4.2.0.Alpha4.jar", - "hash": "a30b0aa009af7226cd3d4abfddc26dcaf89414f3dfb566324503e5fe5e5fffe3", - "path": "io/netty/netty-resolver/4.2.0.Alpha4/netty-resolver-4.2.0.Alpha4.jar" + "url": "io/netty/netty-handler-ssl-ocsp/4.2.0.RC2/netty-handler-ssl-ocsp-4.2.0.RC2.jar", + "hash": "c1d3051facf0297a3d7e15078a2c94f3650b6beddd398f21c591d098fd549922", + "path": "io/netty/netty-handler-ssl-ocsp/4.2.0.RC2/netty-handler-ssl-ocsp-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-transport/4.2.0.Alpha4/netty-transport-4.2.0.Alpha4.jar", - "hash": "c02ea3e9a2a3604ff7bb3ef8c06b0e5286977de2d503d62efdbe98add4509766", - "path": "io/netty/netty-transport/4.2.0.Alpha4/netty-transport-4.2.0.Alpha4.jar" + "url": "io/netty/netty-resolver/4.2.0.RC2/netty-resolver-4.2.0.RC2.jar", + "hash": "10fa70357cbfd55f52d64cf4bb4011e01ced0e0e5dea0bac77f73908cef676ff", + "path": "io/netty/netty-resolver/4.2.0.RC2/netty-resolver-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-transport-classes-epoll/4.2.0.Alpha4/netty-transport-classes-epoll-4.2.0.Alpha4.jar", - "hash": "f5d696ea58ad5745d088c552bb09274736efe46f85a5b30e2c5fbd9bebd15908", - "path": "io/netty/netty-transport-classes-epoll/4.2.0.Alpha4/netty-transport-classes-epoll-4.2.0.Alpha4.jar" + "url": "io/netty/netty-transport/4.2.0.RC2/netty-transport-4.2.0.RC2.jar", + "hash": "9c86cf3a130237b059f5ef89661a4fbe715f5e8bce9626a6aded95a1c3775a47", + "path": "io/netty/netty-transport/4.2.0.RC2/netty-transport-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-transport-classes-kqueue/4.2.0.Alpha4/netty-transport-classes-kqueue-4.2.0.Alpha4.jar", - "hash": "5b4b25e0f85bdce105c5a59a97f3853ed58554ad2d8647a156331243f59987d8", - "path": "io/netty/netty-transport-classes-kqueue/4.2.0.Alpha4/netty-transport-classes-kqueue-4.2.0.Alpha4.jar" + "url": "io/netty/netty-pkitesting/4.2.0.RC2/netty-pkitesting-4.2.0.RC2.jar", + "hash": "6d3fbdf60229ee2baafaa850bf46115923109c73d6d1b0fefdcce5a12ddd43e8", + "path": "io/netty/netty-pkitesting/4.2.0.RC2/netty-pkitesting-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-transport-native-epoll/4.2.0.Alpha4/netty-transport-native-epoll-4.2.0.Alpha4-linux-x86_64.jar", - "hash": "135297f41ec3a71a70484933998b45282d0d458d1bc50bc8071c3d044285b062", - "path": "io/netty/netty-transport-native-epoll/4.2.0.Alpha4/netty-transport-native-epoll-4.2.0.Alpha4-linux-x86_64.jar" + "url": "org/bouncycastle/bcpkix-jdk18on/1.79/bcpkix-jdk18on-1.79.jar", + "hash": "3639a24ddf9ba4b7eba0659b44770e91eba816421888e571f285aadefe532cd6", + "path": "org/bouncycastle/bcpkix-jdk18on/1.79/bcpkix-jdk18on-1.79.jar" }, { - "url": "io/netty/netty-transport-native-epoll/4.2.0.Alpha4/netty-transport-native-epoll-4.2.0.Alpha4-linux-aarch_64.jar", - "hash": "e218c98436c2d443335d35c753665c10a68da8d3c5a0ed3db982f9da6081a95b", - "path": "io/netty/netty-transport-native-epoll/4.2.0.Alpha4/netty-transport-native-epoll-4.2.0.Alpha4-linux-aarch_64.jar" + "url": "org/bouncycastle/bcutil-jdk18on/1.79/bcutil-jdk18on-1.79.jar", + "hash": "c70b88ada58938cbc2f005d40329054078bcfa1149e6ffc03e9242eb6ab21836", + "path": "org/bouncycastle/bcutil-jdk18on/1.79/bcutil-jdk18on-1.79.jar" }, { - "url": "io/netty/netty-transport-native-epoll/4.2.0.Alpha4/netty-transport-native-epoll-4.2.0.Alpha4-linux-riscv64.jar", - "hash": "aaa6c7650b7bb650de930cf38f3de9e3728325ee817d3c5b61dec8880b43c7cb", - "path": "io/netty/netty-transport-native-epoll/4.2.0.Alpha4/netty-transport-native-epoll-4.2.0.Alpha4-linux-riscv64.jar" + "url": "org/bouncycastle/bcprov-jdk18on/1.79/bcprov-jdk18on-1.79.jar", + "hash": "0d81ecc3124536b539bce9aa3fe9621b7f84c9cee371b635a5b31c78b79ab1da", + "path": "org/bouncycastle/bcprov-jdk18on/1.79/bcprov-jdk18on-1.79.jar" }, { - "url": "io/netty/netty-transport-native-kqueue/4.2.0.Alpha4/netty-transport-native-kqueue-4.2.0.Alpha4-osx-x86_64.jar", - "hash": "725547387e40d2c2b96c86a03ba9e9484fed9c293d4399d6da2f6127575668b3", - "path": "io/netty/netty-transport-native-kqueue/4.2.0.Alpha4/netty-transport-native-kqueue-4.2.0.Alpha4-osx-x86_64.jar" + "url": "io/netty/netty-transport-classes-epoll/4.2.0.RC2/netty-transport-classes-epoll-4.2.0.RC2.jar", + "hash": "b28e39a15989b29683ccbc360d27cdb71fa992c16e50f2b331278a68267d110a", + "path": "io/netty/netty-transport-classes-epoll/4.2.0.RC2/netty-transport-classes-epoll-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-transport-native-kqueue/4.2.0.Alpha4/netty-transport-native-kqueue-4.2.0.Alpha4-osx-aarch_64.jar", - "hash": "1077692c053ae15c8912ca194b8ca07627848b3d707b1e4047e59b813135bd83", - "path": "io/netty/netty-transport-native-kqueue/4.2.0.Alpha4/netty-transport-native-kqueue-4.2.0.Alpha4-osx-aarch_64.jar" + "url": "io/netty/netty-transport-classes-kqueue/4.2.0.RC2/netty-transport-classes-kqueue-4.2.0.RC2.jar", + "hash": "15c46096b22d0fc833c09ce85d002cc8e171c9f1741030663899a6315997d5bd", + "path": "io/netty/netty-transport-classes-kqueue/4.2.0.RC2/netty-transport-classes-kqueue-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-buffer/4.2.0.Alpha4/netty-buffer-4.2.0.Alpha4.jar", - "hash": "c5d5181c50da3eb08b028cec426564a7ef4a2b25a6d496edcacb4cd733484a7e", - "path": "io/netty/netty-buffer/4.2.0.Alpha4/netty-buffer-4.2.0.Alpha4.jar" + "url": "io/netty/netty-transport-native-epoll/4.2.0.RC2/netty-transport-native-epoll-4.2.0.RC2-linux-x86_64.jar", + "hash": "d57f64acefa1cebc8b18f1add825f4d965bb495a340eee69b9d626d54e161a24", + "path": "io/netty/netty-transport-native-epoll/4.2.0.RC2/netty-transport-native-epoll-4.2.0.RC2-linux-x86_64.jar" }, { - "url": "io/netty/netty-common/4.2.0.Alpha4/netty-common-4.2.0.Alpha4.jar", - "hash": "ac67b0cf3ced3918cdf7a73814003bfa223311e3c6816448a1bea01624203a3b", - "path": "io/netty/netty-common/4.2.0.Alpha4/netty-common-4.2.0.Alpha4.jar" + "url": "io/netty/netty-transport-native-epoll/4.2.0.RC2/netty-transport-native-epoll-4.2.0.RC2-linux-aarch_64.jar", + "hash": "9ff603349365d28397dc239097cab0ceca3b27cacd13fb5f1afda8d4d7388194", + "path": "io/netty/netty-transport-native-epoll/4.2.0.RC2/netty-transport-native-epoll-4.2.0.RC2-linux-aarch_64.jar" }, { - "url": "io/netty/netty-codec-compression/4.2.0.Alpha4/netty-codec-compression-4.2.0.Alpha4.jar", - "hash": "f72ad668f7618e23b0a2b07e8b42a1a76e31fa23cb26e6940c59e57355a0c5e9", - "path": "io/netty/netty-codec-compression/4.2.0.Alpha4/netty-codec-compression-4.2.0.Alpha4.jar" + "url": "io/netty/netty-transport-native-epoll/4.2.0.RC2/netty-transport-native-epoll-4.2.0.RC2-linux-riscv64.jar", + "hash": "c9fb752bd54bf2dae1e4330d2446202fdfb28e6a7f933248886de13d4b2f6959", + "path": "io/netty/netty-transport-native-epoll/4.2.0.RC2/netty-transport-native-epoll-4.2.0.RC2-linux-riscv64.jar" }, { - "url": "io/netty/netty-codec-http2/4.2.0.Alpha4/netty-codec-http2-4.2.0.Alpha4.jar", - "hash": "36a279030958ad573cdcfb2495a1be2e61a2ffada3505b98b0c408fab2dc1d58", - "path": "io/netty/netty-codec-http2/4.2.0.Alpha4/netty-codec-http2-4.2.0.Alpha4.jar" + "url": "io/netty/netty-transport-native-kqueue/4.2.0.RC2/netty-transport-native-kqueue-4.2.0.RC2-osx-x86_64.jar", + "hash": "2c80194e02e8f2424be3eb18be4514ece9fcaec79cb11a7d2f0dbe92fe86e283", + "path": "io/netty/netty-transport-native-kqueue/4.2.0.RC2/netty-transport-native-kqueue-4.2.0.RC2-osx-x86_64.jar" }, { - "url": "io/netty/netty-transport/4.2.0.Alpha4/netty-transport-4.2.0.Alpha4.jar", - "hash": "c02ea3e9a2a3604ff7bb3ef8c06b0e5286977de2d503d62efdbe98add4509766", - "path": "io/netty/netty-transport/4.2.0.Alpha4/netty-transport-4.2.0.Alpha4.jar" + "url": "io/netty/netty-transport-native-kqueue/4.2.0.RC2/netty-transport-native-kqueue-4.2.0.RC2-osx-aarch_64.jar", + "hash": "d942f12645bf694c5083e40d7ec2f1d03b897ceccb0d0acd9d1178bf4f72092d", + "path": "io/netty/netty-transport-native-kqueue/4.2.0.RC2/netty-transport-native-kqueue-4.2.0.RC2-osx-aarch_64.jar" }, { - "url": "io/netty/netty-resolver/4.2.0.Alpha4/netty-resolver-4.2.0.Alpha4.jar", - "hash": "a30b0aa009af7226cd3d4abfddc26dcaf89414f3dfb566324503e5fe5e5fffe3", - "path": "io/netty/netty-resolver/4.2.0.Alpha4/netty-resolver-4.2.0.Alpha4.jar" + "url": "io/netty/netty-buffer/4.2.0.RC2/netty-buffer-4.2.0.RC2.jar", + "hash": "74d953cec00048b892112f9602fc7b1113ea55337dc1ede32e449efcb2b231c7", + "path": "io/netty/netty-buffer/4.2.0.RC2/netty-buffer-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-codec/4.2.0.Alpha4/netty-codec-4.2.0.Alpha4.jar", - "hash": "da0b6b9596649c5d86c369f678088530a26c930fccf6bdd3bdd4956243955f85", - "path": "io/netty/netty-codec/4.2.0.Alpha4/netty-codec-4.2.0.Alpha4.jar" + "url": "io/netty/netty-common/4.2.0.RC2/netty-common-4.2.0.RC2.jar", + "hash": "cc65afe17daf2f9380d3c64460f5b10ec279f98b9461fbf0ccf62b3cb3ee6c37", + "path": "io/netty/netty-common/4.2.0.RC2/netty-common-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-handler/4.2.0.Alpha4/netty-handler-4.2.0.Alpha4.jar", - "hash": "0782fa2592152a40fde6d076a98e67ff557d4e4c450917a49c4825477e883927", - "path": "io/netty/netty-handler/4.2.0.Alpha4/netty-handler-4.2.0.Alpha4.jar" + "url": "io/netty/netty-codec-compression/4.2.0.RC2/netty-codec-compression-4.2.0.RC2.jar", + "hash": "7251646a8ea8d56a2415311de6040159479ac0e35de36dab70b667ed899ac931", + "path": "io/netty/netty-codec-compression/4.2.0.RC2/netty-codec-compression-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-transport-native-unix-common/4.2.0.Alpha4/netty-transport-native-unix-common-4.2.0.Alpha4.jar", - "hash": "19eb779e9d078308eb39a6a1073391fd5339f4be2dbd8682240ae5788fbd5d59", - "path": "io/netty/netty-transport-native-unix-common/4.2.0.Alpha4/netty-transport-native-unix-common-4.2.0.Alpha4.jar" + "url": "io/netty/netty-codec-http2/4.2.0.RC2/netty-codec-http2-4.2.0.RC2.jar", + "hash": "c542657efd81b268535fb77e1866c8234c5a22de416ecbd8aea0e06e2c1588de", + "path": "io/netty/netty-codec-http2/4.2.0.RC2/netty-codec-http2-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-codec-http/4.2.0.Alpha4/netty-codec-http-4.2.0.Alpha4.jar", - "hash": "ca2f2cd15eee29887be13d365c202dd00f1311ba08850e6ee5fa67a7945656c1", - "path": "io/netty/netty-codec-http/4.2.0.Alpha4/netty-codec-http-4.2.0.Alpha4.jar" + "url": "io/netty/netty-transport/4.2.0.RC2/netty-transport-4.2.0.RC2.jar", + "hash": "9c86cf3a130237b059f5ef89661a4fbe715f5e8bce9626a6aded95a1c3775a47", + "path": "io/netty/netty-transport/4.2.0.RC2/netty-transport-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-codec-protobuf/4.2.0.Alpha4/netty-codec-protobuf-4.2.0.Alpha4.jar", - "hash": "c5c1ce6ba385e8873d028b065507012eaeb4b445c325c9b67fd5e1590dbaef47", - "path": "io/netty/netty-codec-protobuf/4.2.0.Alpha4/netty-codec-protobuf-4.2.0.Alpha4.jar" + "url": "io/netty/netty-resolver/4.2.0.RC2/netty-resolver-4.2.0.RC2.jar", + "hash": "10fa70357cbfd55f52d64cf4bb4011e01ced0e0e5dea0bac77f73908cef676ff", + "path": "io/netty/netty-resolver/4.2.0.RC2/netty-resolver-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-tcnative-boringssl-static/2.0.66.Final/netty-tcnative-boringssl-static-2.0.66.Final.jar", - "hash": "df215103b6082caceef6b83ed5bbf61d2072688b8b248e9d86cc0bbdb785b5e4", - "path": "io/netty/netty-tcnative-boringssl-static/2.0.66.Final/netty-tcnative-boringssl-static-2.0.66.Final.jar" + "url": "io/netty/netty-codec/4.2.0.RC2/netty-codec-4.2.0.RC2.jar", + "hash": "b94f2d169acd04e8a41f1082e8f522529be1f5a10515473de9fb8d259afbfc77", + "path": "io/netty/netty-codec/4.2.0.RC2/netty-codec-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-tcnative-classes/2.0.66.Final/netty-tcnative-classes-2.0.66.Final.jar", - "hash": "669a811a193dc1e7c9ef86cb547a4ab92f0f34cce8f9b842b9029bf5cfa07cc5", - "path": "io/netty/netty-tcnative-classes/2.0.66.Final/netty-tcnative-classes-2.0.66.Final.jar" + "url": "io/netty/netty-codec-base/4.2.0.RC2/netty-codec-base-4.2.0.RC2.jar", + "hash": "f39581a55f89fb0586373e237e1e4a9d5e2fe3b94167c7a6762552651e5a6038", + "path": "io/netty/netty-codec-base/4.2.0.RC2/netty-codec-base-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-tcnative-boringssl-static/2.0.66.Final/netty-tcnative-boringssl-static-2.0.66.Final-linux-x86_64.jar", - "hash": "407547388ead01c371ae1de7616fa9ce8bc26aa4b180aa5f0452e23ecc02a8f1", - "path": "io/netty/netty-tcnative-boringssl-static/2.0.66.Final/netty-tcnative-boringssl-static-2.0.66.Final-linux-x86_64.jar" + "url": "io/netty/netty-handler/4.2.0.RC2/netty-handler-4.2.0.RC2.jar", + "hash": "3f1912b14a2fdd7ad2ef0bda9eeb1ae544c463857081d7dd69f9aa2b7137de6e", + "path": "io/netty/netty-handler/4.2.0.RC2/netty-handler-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-tcnative-boringssl-static/2.0.66.Final/netty-tcnative-boringssl-static-2.0.66.Final-linux-aarch_64.jar", - "hash": "0c18e0f8c70d801f1711ca9fef1ef9bdd5f9b9afb43292f439459ee780d758b6", - "path": "io/netty/netty-tcnative-boringssl-static/2.0.66.Final/netty-tcnative-boringssl-static-2.0.66.Final-linux-aarch_64.jar" + "url": "io/netty/netty-transport-native-unix-common/4.2.0.RC2/netty-transport-native-unix-common-4.2.0.RC2.jar", + "hash": "dfc1db2a05dafeba40987a76591004cc72d4a27062d874961fadc5059900f65d", + "path": "io/netty/netty-transport-native-unix-common/4.2.0.RC2/netty-transport-native-unix-common-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-tcnative-boringssl-static/2.0.66.Final/netty-tcnative-boringssl-static-2.0.66.Final-osx-x86_64.jar", - "hash": "a34307997449310bcf327c42c46e2db0067c2adf3d66a19fe18e0fd9981fe162", - "path": "io/netty/netty-tcnative-boringssl-static/2.0.66.Final/netty-tcnative-boringssl-static-2.0.66.Final-osx-x86_64.jar" + "url": "io/netty/netty-codec-http/4.2.0.RC2/netty-codec-http-4.2.0.RC2.jar", + "hash": "a44d21dff0254e4f4f9ceb7870e8b27a403d7f1d6325ab03ae6c045302957761", + "path": "io/netty/netty-codec-http/4.2.0.RC2/netty-codec-http-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-tcnative-boringssl-static/2.0.66.Final/netty-tcnative-boringssl-static-2.0.66.Final-osx-aarch_64.jar", - "hash": "3cf31a82c0d2c79b48050f02a60d08e9a17db00759ca1f7920cd35d842c7f95e", - "path": "io/netty/netty-tcnative-boringssl-static/2.0.66.Final/netty-tcnative-boringssl-static-2.0.66.Final-osx-aarch_64.jar" + "url": "io/netty/netty-codec-protobuf/4.2.0.RC2/netty-codec-protobuf-4.2.0.RC2.jar", + "hash": "c5fb188895ffdfd529473c5e7ba1c58da2f514a44134b15ad0d51efe3f28bb38", + "path": "io/netty/netty-codec-protobuf/4.2.0.RC2/netty-codec-protobuf-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-tcnative-boringssl-static/2.0.66.Final/netty-tcnative-boringssl-static-2.0.66.Final-windows-x86_64.jar", - "hash": "4f5a5665d3d8c4b2d5ffc40a0c4b07f94399b7d0a4ee01966df0bfc6f49d4524", - "path": "io/netty/netty-tcnative-boringssl-static/2.0.66.Final/netty-tcnative-boringssl-static-2.0.66.Final-windows-x86_64.jar" + "url": "io/netty/netty-all/4.1.117.Final/netty-all-4.1.117.Final.jar", + "hash": "c78613ac0db94650c03a37b2a35b3238b2d018fcac9f10e5fe268c3887cf5e0b", + "path": "io/netty/netty-all/4.1.117.Final/netty-all-4.1.117.Final.jar" + }, + { + "url": "io/netty/netty-buffer/4.1.117.Final/netty-buffer-4.1.117.Final.jar", + "hash": "7d01bf0334ffa3ab55f3828bb50188bf9969774a23791a3df1905e53bfeea8f5", + "path": "io/netty/netty-buffer/4.1.117.Final/netty-buffer-4.1.117.Final.jar" + }, + { + "url": "io/netty/netty-codec/4.1.117.Final/netty-codec-4.1.117.Final.jar", + "hash": "0b93f01cff5bc2a64af829ca01c826e8e861a03b96a871fa2a240fa25681df78", + "path": "io/netty/netty-codec/4.1.117.Final/netty-codec-4.1.117.Final.jar" + }, + { + "url": "io/netty/netty-codec-http/4.1.117.Final/netty-codec-http-4.1.117.Final.jar", + "hash": "a7e19945a6baa86ab285383a0bda632eae7703a889da1d20ea4eaad4c996cc21", + "path": "io/netty/netty-codec-http/4.1.117.Final/netty-codec-http-4.1.117.Final.jar" + }, + { + "url": "io/netty/netty-common/4.1.117.Final/netty-common-4.1.117.Final.jar", + "hash": "5b4e125a341566b24d5030479da475b20ea1f6145bf7b3c3d69fe537088bb4c1", + "path": "io/netty/netty-common/4.1.117.Final/netty-common-4.1.117.Final.jar" + }, + { + "url": "io/netty/netty-handler/4.1.117.Final/netty-handler-4.1.117.Final.jar", + "hash": "f3272149099883cf98ad8a2a82a08111a78d17e604aebc094c80592a730fcac5", + "path": "io/netty/netty-handler/4.1.117.Final/netty-handler-4.1.117.Final.jar" + }, + { + "url": "io/netty/netty-resolver/4.1.117.Final/netty-resolver-4.1.117.Final.jar", + "hash": "0f5f7220d34d32751cc624bc9c47afdde7392f0d9551569c90a568309015d796", + "path": "io/netty/netty-resolver/4.1.117.Final/netty-resolver-4.1.117.Final.jar" + }, + { + "url": "io/netty/netty-transport/4.1.117.Final/netty-transport-4.1.117.Final.jar", + "hash": "c07aac2ea55aa42c34fc6b53fbee661e0de077f45483133b6ca297c70a67a44a", + "path": "io/netty/netty-transport/4.1.117.Final/netty-transport-4.1.117.Final.jar" + }, + { + "url": "io/netty/netty-tcnative-boringssl-static/2.0.69.Final/netty-tcnative-boringssl-static-2.0.69.Final.jar", + "hash": "79dbae7f0c2a1f73a6b4bb992edb0ab94ebd3196f5e83a94784039fb96d9a040", + "path": "io/netty/netty-tcnative-boringssl-static/2.0.69.Final/netty-tcnative-boringssl-static-2.0.69.Final.jar" + }, + { + "url": "io/netty/netty-tcnative-classes/2.0.69.Final/netty-tcnative-classes-2.0.69.Final.jar", + "hash": "0bbc2848cb099eb3f6f4ec36501b3600e1828457cda41d5330687f601ee04bef", + "path": "io/netty/netty-tcnative-classes/2.0.69.Final/netty-tcnative-classes-2.0.69.Final.jar" + }, + { + "url": "io/netty/netty-tcnative-boringssl-static/2.0.69.Final/netty-tcnative-boringssl-static-2.0.69.Final-linux-x86_64.jar", + "hash": "083b527de741bd8e7cf3c4714429454122d2fb5e8cdd17c42d90269a391f6d11", + "path": "io/netty/netty-tcnative-boringssl-static/2.0.69.Final/netty-tcnative-boringssl-static-2.0.69.Final-linux-x86_64.jar" + }, + { + "url": "io/netty/netty-tcnative-boringssl-static/2.0.69.Final/netty-tcnative-boringssl-static-2.0.69.Final-linux-aarch_64.jar", + "hash": "9e2a725c68de1b14347b4d849557d81940692613b0e7f7ec4fe3d4064ce82b53", + "path": "io/netty/netty-tcnative-boringssl-static/2.0.69.Final/netty-tcnative-boringssl-static-2.0.69.Final-linux-aarch_64.jar" + }, + { + "url": "io/netty/netty-tcnative-boringssl-static/2.0.69.Final/netty-tcnative-boringssl-static-2.0.69.Final-osx-x86_64.jar", + "hash": "f66b18f8367c2a244d3d95e9869ab8178e8ff2f90d4b8bf076c6e2563ffd3442", + "path": "io/netty/netty-tcnative-boringssl-static/2.0.69.Final/netty-tcnative-boringssl-static-2.0.69.Final-osx-x86_64.jar" + }, + { + "url": "io/netty/netty-tcnative-boringssl-static/2.0.69.Final/netty-tcnative-boringssl-static-2.0.69.Final-osx-aarch_64.jar", + "hash": "78bac6de55f6333157671007f989d5c183bbad9302e1a43b01b625125552e619", + "path": "io/netty/netty-tcnative-boringssl-static/2.0.69.Final/netty-tcnative-boringssl-static-2.0.69.Final-osx-aarch_64.jar" + }, + { + "url": "io/netty/netty-tcnative-boringssl-static/2.0.69.Final/netty-tcnative-boringssl-static-2.0.69.Final-windows-x86_64.jar", + "hash": "bbfc52aaf8d15db7ed4b2707bdc59e5b8b2c20fcee6a27a2475a8fbb8fa2f747", + "path": "io/netty/netty-tcnative-boringssl-static/2.0.69.Final/netty-tcnative-boringssl-static-2.0.69.Final-windows-x86_64.jar" }, { "url": "org/jetbrains/intellij/deps/completion/ngram-slp/0.0.3/ngram-slp-0.0.3.jar", "hash": "4ac10d8fb7e6326e09179fd83e664610a3362dc1d661fb32e5b2a19bcb9fc867", "path": "org/jetbrains/intellij/deps/completion/ngram-slp/0.0.3/ngram-slp-0.0.3.jar" }, + { + "url": "jetbrains/fleet/noria-compiler-plugin/2.1.10-0.1/noria-compiler-plugin-2.1.10-0.1.jar", + "hash": "0343917854d11f7b85fcf1bf014e07c1a958fdc6fdb89771be64a6785fddc6c7", + "path": "jetbrains/fleet/noria-compiler-plugin/2.1.10-0.1/noria-compiler-plugin-2.1.10-0.1.jar" + }, { "url": "com/squareup/okhttp3/okhttp/5.0.0-alpha.14/okhttp-5.0.0-alpha.14.jar", "hash": "f0e3ffcbba6744ab4918a55aa32ff4f408fcd21e45ab8bd5f7883a1793b2a253", @@ -2105,64 +2335,59 @@ "path": "com/squareup/okio/okio-jvm/3.9.0/okio-jvm-3.9.0.jar" }, { - "url": "io/opentelemetry/opentelemetry-sdk/1.41.0/opentelemetry-sdk-1.41.0.jar", - "hash": "1e20916ea9b76b85aec3ad1c78170e0cd59556f3ae120ec4fdea256a87cb3d91", - "path": "io/opentelemetry/opentelemetry-sdk/1.41.0/opentelemetry-sdk-1.41.0.jar" + "url": "io/opentelemetry/opentelemetry-sdk/1.47.0/opentelemetry-sdk-1.47.0.jar", + "hash": "4a09eb2ee484769973e14218a34e6da54f35955aa02b26dc5238b0c2ed6a801d", + "path": "io/opentelemetry/opentelemetry-sdk/1.47.0/opentelemetry-sdk-1.47.0.jar" }, { - "url": "io/opentelemetry/opentelemetry-api/1.41.0/opentelemetry-api-1.41.0.jar", - "hash": "9336668f388de68a0a2c3e114154febd29db19a7644f27c4eba548f5de852258", - "path": "io/opentelemetry/opentelemetry-api/1.41.0/opentelemetry-api-1.41.0.jar" + "url": "io/opentelemetry/opentelemetry-api/1.47.0/opentelemetry-api-1.47.0.jar", + "hash": "6566f1f1133d611ff4e8b8fdb8eb18577b970425620315363ee9be43843b14bf", + "path": "io/opentelemetry/opentelemetry-api/1.47.0/opentelemetry-api-1.47.0.jar" }, { - "url": "io/opentelemetry/opentelemetry-context/1.41.0/opentelemetry-context-1.41.0.jar", - "hash": "5e3432a4464a432abfdab73be7142e516d25a84aa8426fce1192ffb0532faa35", - "path": "io/opentelemetry/opentelemetry-context/1.41.0/opentelemetry-context-1.41.0.jar" + "url": "io/opentelemetry/opentelemetry-context/1.47.0/opentelemetry-context-1.47.0.jar", + "hash": "15b4fc4234e6dca6d54800d572694ecbd07ba52c15fc5b221b4da5517ce8d90d", + "path": "io/opentelemetry/opentelemetry-context/1.47.0/opentelemetry-context-1.47.0.jar" }, { - "url": "io/opentelemetry/opentelemetry-sdk-common/1.41.0/opentelemetry-sdk-common-1.41.0.jar", - "hash": "9da8a6e0c0eb33d5dbee588885da7f936ae4734f665af8400499cde8432ab5a0", - "path": "io/opentelemetry/opentelemetry-sdk-common/1.41.0/opentelemetry-sdk-common-1.41.0.jar" + "url": "io/opentelemetry/opentelemetry-sdk-common/1.47.0/opentelemetry-sdk-common-1.47.0.jar", + "hash": "7ce55666aca7f2e5697a57bd4133e4508a6dc5041685f2d1ef31bb156f32e3bd", + "path": "io/opentelemetry/opentelemetry-sdk-common/1.47.0/opentelemetry-sdk-common-1.47.0.jar" }, { - "url": "io/opentelemetry/opentelemetry-sdk-trace/1.41.0/opentelemetry-sdk-trace-1.41.0.jar", - "hash": "b18b38ef0687b36ed0e0bc2e1e796bc0479eadb8c13109cad203f759474a921f", - "path": "io/opentelemetry/opentelemetry-sdk-trace/1.41.0/opentelemetry-sdk-trace-1.41.0.jar" + "url": "io/opentelemetry/opentelemetry-sdk-trace/1.47.0/opentelemetry-sdk-trace-1.47.0.jar", + "hash": "03950efd5fa5a276769a593579d8f602742a5d52f9978569326d2a9f9e162546", + "path": "io/opentelemetry/opentelemetry-sdk-trace/1.47.0/opentelemetry-sdk-trace-1.47.0.jar" }, { - "url": "io/opentelemetry/opentelemetry-api-incubator/1.41.0-alpha/opentelemetry-api-incubator-1.41.0-alpha.jar", - "hash": "9dd36c6744b73c4d85e669cb646fa1f8b8c1888a4e3c0b9d04d2eebf24f3a875", - "path": "io/opentelemetry/opentelemetry-api-incubator/1.41.0-alpha/opentelemetry-api-incubator-1.41.0-alpha.jar" + "url": "io/opentelemetry/opentelemetry-sdk-metrics/1.47.0/opentelemetry-sdk-metrics-1.47.0.jar", + "hash": "7d1442c5ca916ba2513005205d3b8b9bc5dca4e2a84867d0550602a0dfc0bba5", + "path": "io/opentelemetry/opentelemetry-sdk-metrics/1.47.0/opentelemetry-sdk-metrics-1.47.0.jar" }, { - "url": "io/opentelemetry/opentelemetry-sdk-metrics/1.41.0/opentelemetry-sdk-metrics-1.41.0.jar", - "hash": "acda798602ff7ae41e64bb21ea2011cd56b3fbde71df39fbdf6e59892edf345f", - "path": "io/opentelemetry/opentelemetry-sdk-metrics/1.41.0/opentelemetry-sdk-metrics-1.41.0.jar" + "url": "io/opentelemetry/opentelemetry-sdk-logs/1.47.0/opentelemetry-sdk-logs-1.47.0.jar", + "hash": "302491984b63eebaf4b58bd3ae19d223a55f79090a3e46b40507b49c3cbe9cc5", + "path": "io/opentelemetry/opentelemetry-sdk-logs/1.47.0/opentelemetry-sdk-logs-1.47.0.jar" }, { - "url": "io/opentelemetry/opentelemetry-sdk-logs/1.41.0/opentelemetry-sdk-logs-1.41.0.jar", - "hash": "1cc068c52d0a89096dc8814bc90b126388a68ec9e41defbd9ea349ebf91755a4", - "path": "io/opentelemetry/opentelemetry-sdk-logs/1.41.0/opentelemetry-sdk-logs-1.41.0.jar" + "url": "io/opentelemetry/opentelemetry-exporter-otlp-common/1.47.0/opentelemetry-exporter-otlp-common-1.47.0.jar", + "hash": "aa1799740e75486da0b64b1455d24150a5bff64c71a72482bdf3d8e5274d4bd5", + "path": "io/opentelemetry/opentelemetry-exporter-otlp-common/1.47.0/opentelemetry-exporter-otlp-common-1.47.0.jar" }, { - "url": "io/opentelemetry/opentelemetry-exporter-otlp-common/1.41.0/opentelemetry-exporter-otlp-common-1.41.0.jar", - "hash": "b9407cc68ce93cd68598f726b98d86507a4541ef1ed6385bb7af24e4e85298db", - "path": "io/opentelemetry/opentelemetry-exporter-otlp-common/1.41.0/opentelemetry-exporter-otlp-common-1.41.0.jar" + "url": "io/opentelemetry/opentelemetry-exporter-common/1.47.0/opentelemetry-exporter-common-1.47.0.jar", + "hash": "691479853712dbdf4ccbd5ec72434732918723f21d7d75b6b57436cca943a330", + "path": "io/opentelemetry/opentelemetry-exporter-common/1.47.0/opentelemetry-exporter-common-1.47.0.jar" }, { - "url": "io/opentelemetry/opentelemetry-exporter-common/1.41.0/opentelemetry-exporter-common-1.41.0.jar", - "hash": "904e98ec9b92ae6e910c55c370addb8459f23d3b2678f7c9c89484e0f2d51ac2", - "path": "io/opentelemetry/opentelemetry-exporter-common/1.41.0/opentelemetry-exporter-common-1.41.0.jar" + "url": "io/opentelemetry/opentelemetry-extension-kotlin/1.47.0/opentelemetry-extension-kotlin-1.47.0.jar", + "hash": "bd1ef04d976c0c4c5f2c7dea8250f12affccdc48ec34ac96c60bac579433d55d", + "path": "io/opentelemetry/opentelemetry-extension-kotlin/1.47.0/opentelemetry-extension-kotlin-1.47.0.jar" }, { - "url": "io/opentelemetry/opentelemetry-extension-kotlin/1.41.0/opentelemetry-extension-kotlin-1.41.0.jar", - "hash": "04d45037ca1555d747147428a466c119749be7fe7b4225ebe5f1b4748c55ca93", - "path": "io/opentelemetry/opentelemetry-extension-kotlin/1.41.0/opentelemetry-extension-kotlin-1.41.0.jar" - }, - { - "url": "io/opentelemetry/semconv/opentelemetry-semconv/1.27.0-alpha/opentelemetry-semconv-1.27.0-alpha.jar", - "hash": "9d63590c51a3455f440841e149b132bfd4d46eccbff9823d10211c1cec3e97f0", - "path": "io/opentelemetry/semconv/opentelemetry-semconv/1.27.0-alpha/opentelemetry-semconv-1.27.0-alpha.jar" + "url": "io/opentelemetry/semconv/opentelemetry-semconv/1.30.0-rc.1/opentelemetry-semconv-1.30.0-rc.1.jar", + "hash": "b913fe3b2063216dfedf66580a4c508c3078c2dda8f85fe145638b37f6130ea2", + "path": "io/opentelemetry/semconv/opentelemetry-semconv/1.30.0-rc.1/opentelemetry-semconv-1.30.0-rc.1.jar" }, { "url": "org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar", @@ -2200,50 +2425,30 @@ "path": "org/codehaus/groovy/groovy-xml/3.0.19/groovy-xml-3.0.19.jar" }, { - "url": "org/jetbrains/packagesearch/packagesearch-api-client-jvm/3.3.1/packagesearch-api-client-jvm-3.3.1.jar", - "hash": "d7e293f78f1be85cec7a1ad3dfec5b5a868074b00a90a8be2438c25660526019", - "path": "org/jetbrains/packagesearch/packagesearch-api-client-jvm/3.3.1/packagesearch-api-client-jvm-3.3.1.jar" + "url": "org/jetbrains/packagesearch/packagesearch-api-client-jvm/3.4.0/packagesearch-api-client-jvm-3.4.0.jar", + "hash": "9d0f4c74e96787499fcc2462c32afeb7f4db97db30042e2578f205f61e5898fb", + "path": "org/jetbrains/packagesearch/packagesearch-api-client-jvm/3.4.0/packagesearch-api-client-jvm-3.4.0.jar" }, { - "url": "org/jetbrains/packagesearch/packagesearch-http-models-jvm/3.3.1/packagesearch-http-models-jvm-3.3.1.jar", + "url": "org/jetbrains/packagesearch/packagesearch-http-models-jvm/3.4.0/packagesearch-http-models-jvm-3.4.0.jar", "hash": "0318b967115de0c7c8fbd93bc6e3d279c82de2954f90794146962921de45972d", - "path": "org/jetbrains/packagesearch/packagesearch-http-models-jvm/3.3.1/packagesearch-http-models-jvm-3.3.1.jar" + "path": "org/jetbrains/packagesearch/packagesearch-http-models-jvm/3.4.0/packagesearch-http-models-jvm-3.4.0.jar" }, { - "url": "org/jetbrains/packagesearch/packagesearch-api-models-jvm/3.3.1/packagesearch-api-models-jvm-3.3.1.jar", - "hash": "a16f54c2126f9289610438d4f5592cd386113110cb8180ccfbe6999f5b1a3dbf", - "path": "org/jetbrains/packagesearch/packagesearch-api-models-jvm/3.3.1/packagesearch-api-models-jvm-3.3.1.jar" + "url": "org/jetbrains/packagesearch/packagesearch-api-models-jvm/3.4.0/packagesearch-api-models-jvm-3.4.0.jar", + "hash": "22022fe954980d8e183b252889719fc6ca71a13e91b8e869d92532da308e3da1", + "path": "org/jetbrains/packagesearch/packagesearch-api-models-jvm/3.4.0/packagesearch-api-models-jvm-3.4.0.jar" }, { - "url": "com/github/lamba92/kotlinx-document-store-mvstore/0.0.4/kotlinx-document-store-mvstore-0.0.4.jar", - "hash": "956a4c7faad66e3471861adaa278d9486f3a050ac25fb6a99ca90809d379adfe", - "path": "com/github/lamba92/kotlinx-document-store-mvstore/0.0.4/kotlinx-document-store-mvstore-0.0.4.jar" - }, - { - "url": "org/jetbrains/packagesearch/packagesearch-version-utils-jvm/3.3.1/packagesearch-version-utils-jvm-3.3.1.jar", + "url": "org/jetbrains/packagesearch/packagesearch-version-utils-jvm/3.4.0/packagesearch-version-utils-jvm-3.4.0.jar", "hash": "4c86546693efaeb889e02d043521cda15da5f10853b0471095b7db80dc0540e7", - "path": "org/jetbrains/packagesearch/packagesearch-version-utils-jvm/3.3.1/packagesearch-version-utils-jvm-3.3.1.jar" + "path": "org/jetbrains/packagesearch/packagesearch-version-utils-jvm/3.4.0/packagesearch-version-utils-jvm-3.4.0.jar" }, { "url": "com/soywiz/korlibs/krypto/krypto-jvm/4.0.10/krypto-jvm-4.0.10.jar", "hash": "0fe8dcdf54b13b5ec56fdb5f63c057364264bb2f51b7f7bc3c271d5b1ba68dcb", "path": "com/soywiz/korlibs/krypto/krypto-jvm/4.0.10/krypto-jvm-4.0.10.jar" }, - { - "url": "com/github/lamba92/kotlinx-document-store-core-jvm/0.0.4/kotlinx-document-store-core-jvm-0.0.4.jar", - "hash": "7e638082b4a14e3a96ca90f3f5db70ac65591e0b6c6670629e849d22ec34455f", - "path": "com/github/lamba92/kotlinx-document-store-core-jvm/0.0.4/kotlinx-document-store-core-jvm-0.0.4.jar" - }, - { - "url": "org/jetbrains/kotlinx/kotlinx-io-core-jvm/0.5.0/kotlinx-io-core-jvm-0.5.0.jar", - "hash": "f43dd81cf3c7f87abdc80100607b3892a5eb13d87b4d1ceccb7dfb53a68fa4ca", - "path": "org/jetbrains/kotlinx/kotlinx-io-core-jvm/0.5.0/kotlinx-io-core-jvm-0.5.0.jar" - }, - { - "url": "org/jetbrains/kotlinx/kotlinx-io-bytestring-jvm/0.5.0/kotlinx-io-bytestring-jvm-0.5.0.jar", - "hash": "9b462754c2a574cb7720b16ef1129e6ea76d360d7c84c58684fcab77b17f844d", - "path": "org/jetbrains/kotlinx/kotlinx-io-bytestring-jvm/0.5.0/kotlinx-io-bytestring-jvm-0.5.0.jar" - }, { "url": "org/codehaus/plexus/plexus-utils/3.5.1/plexus-utils-3.5.1.jar", "hash": "86e0255d4c879c61b4833ed7f13124e8bb679df47debb127326e7db7dd49a07b", @@ -2255,9 +2460,9 @@ "path": "com/google/protobuf/protobuf-java/3.24.4-jb.2/protobuf-java-3.24.4-jb.2.jar" }, { - "url": "org/bidib/com/github/markusbernhardt/proxy-vole/1.1.5/proxy-vole-1.1.5.jar", - "hash": "15afa73395b3136ab9067b55d644e8ead65d374e0f2ae2db91299c0b07866bd9", - "path": "org/bidib/com/github/markusbernhardt/proxy-vole/1.1.5/proxy-vole-1.1.5.jar" + "url": "org/bidib/com/github/markusbernhardt/proxy-vole/1.1.6/proxy-vole-1.1.6.jar", + "hash": "4b9fb2e5a13b37cf8bd62eebada8d3485c3dc17df752783b68d89d657bcc01fd", + "path": "org/bidib/com/github/markusbernhardt/proxy-vole/1.1.6/proxy-vole-1.1.6.jar" }, { "url": "org/javadelight/delight-rhino-sandbox/0.0.17/delight-rhino-sandbox-0.0.17.jar", @@ -2270,29 +2475,29 @@ "path": "org/jetbrains/pty4j/pty4j/0.13.1/pty4j-0.13.1.jar" }, { - "url": "com/jetbrains/rd/rd-core/2024.3.0/rd-core-2024.3.0.jar", - "hash": "7ee412c75510ac57ac92ea1eea1c7681939b3aac66272825d4275097e0873c41", - "path": "com/jetbrains/rd/rd-core/2024.3.0/rd-core-2024.3.0.jar" + "url": "com/jetbrains/rd/rd-core/2025.1.1/rd-core-2025.1.1.jar", + "hash": "fd55d05786bb6cdef140ae931bde12c53c76fa75ea9cde7e7553c2eea520e251", + "path": "com/jetbrains/rd/rd-core/2025.1.1/rd-core-2025.1.1.jar" }, { - "url": "com/jetbrains/rd/rd-framework/2024.3.0/rd-framework-2024.3.0.jar", - "hash": "4363414ada6fd4c012016a59bfc7955d9eab6f4763d016617b834b94570c9a28", - "path": "com/jetbrains/rd/rd-framework/2024.3.0/rd-framework-2024.3.0.jar" + "url": "com/jetbrains/rd/rd-framework/2025.1.1/rd-framework-2025.1.1.jar", + "hash": "bda87e5727c89c84558e6274d6ba9f4aef5c7e5b367cfc8e1948ad2aa116e55b", + "path": "com/jetbrains/rd/rd-framework/2025.1.1/rd-framework-2025.1.1.jar" }, { - "url": "com/jetbrains/rd/rd-gen/2024.3.0/rd-gen-2024.3.0.jar", - "hash": "c40f57851c4db7ec1113956756195ad7f21b82da5b9b31201c42e22ac41ea1fc", - "path": "com/jetbrains/rd/rd-gen/2024.3.0/rd-gen-2024.3.0.jar" + "url": "com/jetbrains/rd/rd-gen/2025.1.1/rd-gen-2025.1.1.jar", + "hash": "ac27be39dc003b2e820be90f1615e2afe01ed885da7d67cf8e2b4cec86b089ae", + "path": "com/jetbrains/rd/rd-gen/2025.1.1/rd-gen-2025.1.1.jar" }, { - "url": "com/jetbrains/rd/rd-swing/2024.3.0/rd-swing-2024.3.0.jar", - "hash": "43410d08767fee20d98af74bf1317fdd85692207cee0f4fe99d86a86ddd0c60a", - "path": "com/jetbrains/rd/rd-swing/2024.3.0/rd-swing-2024.3.0.jar" + "url": "com/jetbrains/rd/rd-swing/2025.1.1/rd-swing-2025.1.1.jar", + "hash": "2f6ff47219254512cd7c4b5889678f702f71abee8a4315d8b1fcb5ca1c2a8a4e", + "path": "com/jetbrains/rd/rd-swing/2025.1.1/rd-swing-2025.1.1.jar" }, { - "url": "com/jetbrains/rd/rd-text/2024.3.0/rd-text-2024.3.0.jar", - "hash": "7bd9c61581250ea5bc981e84f5c33da79fe13581dc34df2555270ccfc470d987", - "path": "com/jetbrains/rd/rd-text/2024.3.0/rd-text-2024.3.0.jar" + "url": "com/jetbrains/rd/rd-text/2025.1.1/rd-text-2025.1.1.jar", + "hash": "87f3de641877980b21985dca5df46dc937e4cd1c7ed567ed3e8366f0e8188e91", + "path": "com/jetbrains/rd/rd-text/2025.1.1/rd-text-2025.1.1.jar" }, { "url": "org/mozilla/rhino-runtime/1.7.15/rhino-runtime-1.7.15.jar", @@ -2300,14 +2505,14 @@ "path": "org/mozilla/rhino-runtime/1.7.15/rhino-runtime-1.7.15.jar" }, { - "url": "jetbrains/fleet/rhizomedb-compiler-plugin/2.0.21-RC-0.1/rhizomedb-compiler-plugin-2.0.21-RC-0.1.jar", - "hash": "c03deb4c62ee66d6154d872959b2e0b32296ab284a50eb68e46fbded5a04f665", - "path": "jetbrains/fleet/rhizomedb-compiler-plugin/2.0.21-RC-0.1/rhizomedb-compiler-plugin-2.0.21-RC-0.1.jar" + "url": "jetbrains/fleet/rhizomedb-compiler-plugin/2.1.10-0.1/rhizomedb-compiler-plugin-2.1.10-0.1.jar", + "hash": "274000194023322bf6b1377e2d01d3af8abd181cd2d5ecebe6f2bcc1cad83a7a", + "path": "jetbrains/fleet/rhizomedb-compiler-plugin/2.1.10-0.1/rhizomedb-compiler-plugin-2.1.10-0.1.jar" }, { - "url": "com/jetbrains/fleet/rpc-compiler-plugin/2.0.21-RC-0.1/rpc-compiler-plugin-2.0.21-RC-0.1.jar", - "hash": "5eba3332e83bd037ed2b0818c48bfc4536bf5de38c3cd67078d8b4621445d939", - "path": "com/jetbrains/fleet/rpc-compiler-plugin/2.0.21-RC-0.1/rpc-compiler-plugin-2.0.21-RC-0.1.jar" + "url": "com/jetbrains/fleet/rpc-compiler-plugin/2.1.10-0.1/rpc-compiler-plugin-2.1.10-0.1.jar", + "hash": "35dfa35e72724fdad2adeb5b1c1bf3e5d6ac196274e804eed765465a4f9f9853", + "path": "com/jetbrains/fleet/rpc-compiler-plugin/2.1.10-0.1/rpc-compiler-plugin-2.1.10-0.1.jar" }, { "url": "org/slf4j/slf4j-api/2.0.13/slf4j-api-2.0.13.jar", @@ -2325,14 +2530,14 @@ "path": "org/yaml/snakeyaml/2.3/snakeyaml-2.3.jar" }, { - "url": "org/snakeyaml/snakeyaml-engine/2.7/snakeyaml-engine-2.7.jar", - "hash": "4053f878c171692aab8782f53a3974f43e55e2b6ed12c3682b36a46968c5ded1", - "path": "org/snakeyaml/snakeyaml-engine/2.7/snakeyaml-engine-2.7.jar" + "url": "org/snakeyaml/snakeyaml-engine/2.9/snakeyaml-engine-2.9.jar", + "hash": "2f7a957461b6d70c0005e2c35b78a1c97bef6c446704c0ee9393ce98e4958ba8", + "path": "org/snakeyaml/snakeyaml-engine/2.9/snakeyaml-engine-2.9.jar" }, { - "url": "org/xerial/sqlite-jdbc/3.46.1.0/sqlite-jdbc-3.46.1.0.jar", - "hash": "6dc7464e3803648d3ff18a7359bab6adf079fcd8495b18991f6f5edcb8ac6e3b", - "path": "org/xerial/sqlite-jdbc/3.46.1.0/sqlite-jdbc-3.46.1.0.jar" + "url": "org/xerial/sqlite-jdbc/3.48.0.0/sqlite-jdbc-3.48.0.0.jar", + "hash": "dbe24ab138e9654c918f561299e47cb6a3baf1a946eda97871f6f3abd4eca395", + "path": "org/xerial/sqlite-jdbc/3.48.0.0/sqlite-jdbc-3.48.0.0.jar" }, { "url": "org/sqlite/native/3.42.0-jb.1/native-3.42.0-jb.1.jar", @@ -2340,14 +2545,14 @@ "path": "org/sqlite/native/3.42.0-jb.1/native-3.42.0-jb.1.jar" }, { - "url": "org/jetbrains/intellij/deps/studio-platform/2024.2.2-canary5-202/studio-platform-2024.2.2-canary5-202.jar", - "hash": "e53a880874df8e81512de5697fbfec19ea3d5e2d3646094fd0221f0a04e8f3a9", - "path": "org/jetbrains/intellij/deps/studio-platform/2024.2.2-canary5-202/studio-platform-2024.2.2-canary5-202.jar" + "url": "org/jetbrains/intellij/deps/studio-platform/2024.3.2-alpha05-222/studio-platform-2024.3.2-alpha05-222.jar", + "hash": "29254aa865510979045ee3812c652bdba0bbee01d5ac95bb829ce686fff0dd1b", + "path": "org/jetbrains/intellij/deps/studio-platform/2024.3.2-alpha05-222/studio-platform-2024.3.2-alpha05-222.jar" }, { - "url": "org/jetbrains/intellij/deps/studio-test-platform/2024.2.2-canary5-202/studio-test-platform-2024.2.2-canary5-202.jar", - "hash": "0607a695a007e4c643ed3abc3f47e6d943ddea44e19ddc074c983e5f42aa081b", - "path": "org/jetbrains/intellij/deps/studio-test-platform/2024.2.2-canary5-202/studio-test-platform-2024.2.2-canary5-202.jar" + "url": "org/jetbrains/intellij/deps/studio-test-platform/2024.3.2-alpha05-222/studio-test-platform-2024.3.2-alpha05-222.jar", + "hash": "9c1322c7186947c8b78af455c4430abf9ca275c83b800e7189a8f0ca44a00fea", + "path": "org/jetbrains/intellij/deps/studio-test-platform/2024.3.2-alpha05-222/studio-test-platform-2024.3.2-alpha05-222.jar" }, { "url": "org/swinglabs/swingx-core/1.6.2-2/swingx-core-1.6.2-2.jar", @@ -2365,9 +2570,9 @@ "path": "org/jetbrains/testDiscovery/test-discovery-plugin-base/0.1.191/test-discovery-plugin-base-0.1.191.jar" }, { - "url": "org/testcontainers/testcontainers/1.17.3/testcontainers-1.17.3.jar", - "hash": "b87e3bd3d005683ca5dcac70f431b633e407d8f63e3754a867112c631dcf683e", - "path": "org/testcontainers/testcontainers/1.17.3/testcontainers-1.17.3.jar" + "url": "org/testcontainers/testcontainers/1.20.3/testcontainers-1.20.3.jar", + "hash": "e1d89a13d93337e1b14000d6c7c3e8e047fe244db63231134e52fbc1c0ffc5f7", + "path": "org/testcontainers/testcontainers/1.20.3/testcontainers-1.20.3.jar" }, { "url": "org/rnorth/duct-tape/duct-tape/1.0.8/duct-tape-1.0.8.jar", @@ -2375,19 +2580,24 @@ "path": "org/rnorth/duct-tape/duct-tape/1.0.8/duct-tape-1.0.8.jar" }, { - "url": "com/github/docker-java/docker-java-api/3.2.13/docker-java-api-3.2.13.jar", - "hash": "f810d8c76637991990d17282be226feb7c8d74056147dc79f0d9d2a6e201aecc", - "path": "com/github/docker-java/docker-java-api/3.2.13/docker-java-api-3.2.13.jar" + "url": "com/github/docker-java/docker-java-api/3.4.0/docker-java-api-3.4.0.jar", + "hash": "ad8e9f748380985e0b702bfb2356749a0966afa28a7d637aa3211217ae6a6f2e", + "path": "com/github/docker-java/docker-java-api/3.4.0/docker-java-api-3.4.0.jar" }, { - "url": "com/github/docker-java/docker-java-transport-zerodep/3.2.13/docker-java-transport-zerodep-3.2.13.jar", - "hash": "3f76f8eb0332607c145d69f27ad8aa6941b5448e745823641d3867ba3746f0f7", - "path": "com/github/docker-java/docker-java-transport-zerodep/3.2.13/docker-java-transport-zerodep-3.2.13.jar" + "url": "com/github/docker-java/docker-java-transport-zerodep/3.4.0/docker-java-transport-zerodep-3.4.0.jar", + "hash": "aac3ba9ed78c73961d13d7b7dac51ba51fe9089629efd4f77ffa4e6e8c6e4048", + "path": "com/github/docker-java/docker-java-transport-zerodep/3.4.0/docker-java-transport-zerodep-3.4.0.jar" }, { - "url": "com/github/docker-java/docker-java-transport/3.2.13/docker-java-transport-3.2.13.jar", - "hash": "778c35c0557cd3ba4f1c9f64fb942f77ca7e390c5daae4471854150f4ee8d87d", - "path": "com/github/docker-java/docker-java-transport/3.2.13/docker-java-transport-3.2.13.jar" + "url": "com/github/docker-java/docker-java-transport/3.4.0/docker-java-transport-3.4.0.jar", + "hash": "a1a8ce872dbf92423a948443b88b9417283ead5d56cb5ed77803353658b97b34", + "path": "com/github/docker-java/docker-java-transport/3.4.0/docker-java-transport-3.4.0.jar" + }, + { + "url": "org/testcontainers/junit-jupiter/1.20.3/junit-jupiter-1.20.3.jar", + "hash": "3b0f0422993e571f3460d8436a0e56538bd474147084a6cbb244a6d5cb1a01a5", + "path": "org/testcontainers/junit-jupiter/1.20.3/junit-jupiter-1.20.3.jar" }, { "url": "com/jetbrains/intellij/documentation/tips-pycharm-community/241.74/tips-pycharm-community-241.74.jar", @@ -2404,6 +2614,16 @@ "hash": "61ba4dc49adca95243beaa0569adc2a23aedb5292ae78aa01186fa782ebdc5c2", "path": "com/googlecode/java-diff-utils/diffutils/1.3.0/diffutils-1.3.0.jar" }, + { + "url": "org/apache/tuweni/tuweni-toml/2.0.0/tuweni-toml-2.0.0.jar", + "hash": "b7331e02e955b6b962a8fa89eb8d7db0960d0b232880bfc60e8602fb3fed36ad", + "path": "org/apache/tuweni/tuweni-toml/2.0.0/tuweni-toml-2.0.0.jar" + }, + { + "url": "org/antlr/antlr4-runtime/4.7.1/antlr4-runtime-4.7.1.jar", + "hash": "43516d19beae35909e04d06af6c0c58c17bc94e0070c85e8dc9929ca640dc91d", + "path": "org/antlr/antlr4-runtime/4.7.1/antlr4-runtime-4.7.1.jar" + }, { "url": "io/vavr/vavr/0.10.4/vavr-0.10.4.jar", "hash": "12622deeea2618b59b284051a9484f1def8ccbebc847c350358f12d325ba9dd5", @@ -2440,9 +2660,9 @@ "path": "org/jetbrains/marketplace-zip-signer/0.1.24/marketplace-zip-signer-0.1.24.jar" }, { - "url": "com/github/luben/zstd-jni/1.5.6-5/zstd-jni-1.5.6-5.jar", - "hash": "7b53497a2731b1a47c7dcb42ac7ded60524a15353d1b99999a8bb192d1da89ab", - "path": "com/github/luben/zstd-jni/1.5.6-5/zstd-jni-1.5.6-5.jar" + "url": "com/github/luben/zstd-jni/1.5.6-9/zstd-jni-1.5.6-9.jar", + "hash": "e122143e2abb041b6384e43c9a79980fe3d2ff3d9610ea20b29231ea518772b2", + "path": "com/github/luben/zstd-jni/1.5.6-9/zstd-jni-1.5.6-9.jar" }, { "url": "com/google/zxing/core/3.5.1/core-3.5.1.jar", @@ -2479,6 +2699,21 @@ "hash": "2f43eea679ea66f14ca0f13fec2a8600ac124f5a5231dcb4df8393eddcb97550", "path": "org/apache/logging/log4j/log4j-api/2.20.0/log4j-api-2.20.0.jar" }, + { + "url": "com/apollographql/apollo/apollo-ast-jvm/4.0.0/apollo-ast-jvm-4.0.0.jar", + "hash": "1e83e448c104d946a6146c32409275a6ed4259999d469514be4f878a420f0b4f", + "path": "com/apollographql/apollo/apollo-ast-jvm/4.0.0/apollo-ast-jvm-4.0.0.jar" + }, + { + "url": "com/squareup/okio/okio-jvm/3.9.0/okio-jvm-3.9.0.jar", + "hash": "ddc386ff14bd25d5c934167196eaf45b18de4f28e1c55a4db37ae594cbfd37e4", + "path": "com/squareup/okio/okio-jvm/3.9.0/okio-jvm-3.9.0.jar" + }, + { + "url": "com/apollographql/apollo/apollo-annotations-jvm/4.0.0/apollo-annotations-jvm-4.0.0.jar", + "hash": "ade351bed9f7b5c0c321429187229be7814ade496004dab10c389c4cd1930db9", + "path": "com/apollographql/apollo/apollo-annotations-jvm/4.0.0/apollo-annotations-jvm-4.0.0.jar" + }, { "url": "org/jetbrains/intellij/deps/changeReminder/prediction/randomForestRegressor/0.0.11/randomForestRegressor-0.0.11.jar", "hash": "a6908f14a17757a20a0d629c5d2f0986826021c679bfb224963ef6a06097aa21", @@ -2540,59 +2775,59 @@ "path": "org/jetbrains/intellij/deps/completion/completion-log-events/0.0.3/completion-log-events-0.0.3.jar" }, { - "url": "ai/grazie/nlp/nlp-detect-jvm/0.3.133/nlp-detect-jvm-0.3.133.jar", - "hash": "24c494d1cb209ebbf2dd6fffa7c67499731db59968f28a560bb2938f35bcd22f", - "path": "ai/grazie/nlp/nlp-detect-jvm/0.3.133/nlp-detect-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-detect-jvm/0.4.16/nlp-detect-jvm-0.4.16.jar", + "hash": "5f28a3687f814c10cef0e3a733295ba26732d06242bad4f5e991c802c30169f7", + "path": "ai/grazie/nlp/nlp-detect-jvm/0.4.16/nlp-detect-jvm-0.4.16.jar" }, { - "url": "ai/grazie/utils/utils-common-jvm/0.3.133/utils-common-jvm-0.3.133.jar", - "hash": "c543a072a0f4d96c3afa37756f694be4a9348777fd7690ab4bd21e7df466a309", - "path": "ai/grazie/utils/utils-common-jvm/0.3.133/utils-common-jvm-0.3.133.jar" + "url": "ai/grazie/utils/utils-common-jvm/0.4.16/utils-common-jvm-0.4.16.jar", + "hash": "1721b8bb4a7dbcbc34da8cec18100f03b72c8c06d4e945622c1a24b720981b73", + "path": "ai/grazie/utils/utils-common-jvm/0.4.16/utils-common-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-common-jvm/0.3.133/nlp-common-jvm-0.3.133.jar", - "hash": "985c391e50c040cfb4f0e9f2bd297f1333343392e894ad4c3cc52846f8693e6b", - "path": "ai/grazie/nlp/nlp-common-jvm/0.3.133/nlp-common-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-common-jvm/0.4.16/nlp-common-jvm-0.4.16.jar", + "hash": "d1c17c4dbb3f5f43b6e3cfc30a319d1a050aa5425ab0ce27b802b90f114a649e", + "path": "ai/grazie/nlp/nlp-common-jvm/0.4.16/nlp-common-jvm-0.4.16.jar" }, { - "url": "ai/grazie/model/model-text-jvm/0.3.133/model-text-jvm-0.3.133.jar", - "hash": "dfd010d8b4d0522121fef66652cae5c73f0dfde77cc79cf1c73067a7e63e8cf2", - "path": "ai/grazie/model/model-text-jvm/0.3.133/model-text-jvm-0.3.133.jar" + "url": "ai/grazie/model/model-text-jvm/0.4.16/model-text-jvm-0.4.16.jar", + "hash": "fac290bca4ef5ac2084e35dcb1663d5725de799d51333359931f542690672d7b", + "path": "ai/grazie/model/model-text-jvm/0.4.16/model-text-jvm-0.4.16.jar" }, { - "url": "ai/grazie/model/model-common-jvm/0.3.133/model-common-jvm-0.3.133.jar", - "hash": "8fb936cb7c83862210841d81a870a9ea6677a0122ff0c7c8c055705c3945100a", - "path": "ai/grazie/model/model-common-jvm/0.3.133/model-common-jvm-0.3.133.jar" + "url": "ai/grazie/model/model-common-jvm/0.4.16/model-common-jvm-0.4.16.jar", + "hash": "58339397d3350db6c549a5ebee98b9611693c187fa2311b18aa849e27067c438", + "path": "ai/grazie/model/model-common-jvm/0.4.16/model-common-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-patterns-jvm/0.3.133/nlp-patterns-jvm-0.3.133.jar", - "hash": "739fa806547fa71a3c36ae65128308138617d19b699db272bd9cfcede754cc50", - "path": "ai/grazie/nlp/nlp-patterns-jvm/0.3.133/nlp-patterns-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-patterns-jvm/0.4.16/nlp-patterns-jvm-0.4.16.jar", + "hash": "add762a914bd20ca21ea25b43f24627f902b687514ddce9ba28916bb20e8066e", + "path": "ai/grazie/nlp/nlp-patterns-jvm/0.4.16/nlp-patterns-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-tokenizer-jvm/0.3.133/nlp-tokenizer-jvm-0.3.133.jar", - "hash": "3c3b9b40dc65a8542edcf5f919cc700536829d0c2b9f9eb23e8c89e2d7c437d9", - "path": "ai/grazie/nlp/nlp-tokenizer-jvm/0.3.133/nlp-tokenizer-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-tokenizer-jvm/0.4.16/nlp-tokenizer-jvm-0.4.16.jar", + "hash": "fcc839a317aba9e165c4d061e0f266dcebf32c7ceee9cb5571144cd1db60d63d", + "path": "ai/grazie/nlp/nlp-tokenizer-jvm/0.4.16/nlp-tokenizer-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-similarity-jvm/0.3.133/nlp-similarity-jvm-0.3.133.jar", - "hash": "1071e4c47a14f1df6d3ecaf0c5d3c2272fe9c691e350e5cd442385f7a5f8256c", - "path": "ai/grazie/nlp/nlp-similarity-jvm/0.3.133/nlp-similarity-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-similarity-jvm/0.4.16/nlp-similarity-jvm-0.4.16.jar", + "hash": "79a42758913de07c1ebeb851a4a70236309ea12dcb64d1db7ea007618593470f", + "path": "ai/grazie/nlp/nlp-similarity-jvm/0.4.16/nlp-similarity-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-langs-jvm/0.3.133/nlp-langs-jvm-0.3.133.jar", - "hash": "270164fec0acafa1a38795d66229b7099776879bb4eb659fe01c505eb2659f5c", - "path": "ai/grazie/nlp/nlp-langs-jvm/0.3.133/nlp-langs-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-langs-jvm/0.4.16/nlp-langs-jvm-0.4.16.jar", + "hash": "dd132003dfc893e046834ec15ec5104f067d7a90eb9786e85f49b4e47bac4561", + "path": "ai/grazie/nlp/nlp-langs-jvm/0.4.16/nlp-langs-jvm-0.4.16.jar" }, { - "url": "ai/grazie/spell/hunspell-en-jvm/0.2.141/hunspell-en-jvm-0.2.141.jar", - "hash": "0ffeaeb975d46daee23845a9e146bf8c2155da56e90fce2037ba774c17703374", - "path": "ai/grazie/spell/hunspell-en-jvm/0.2.141/hunspell-en-jvm-0.2.141.jar" + "url": "ai/grazie/spell/hunspell-en-jvm/0.2.246/hunspell-en-jvm-0.2.246.jar", + "hash": "b76f2c0952ed3b7cde6362e2104986572f05d5fa35840473973d81e41b842f4a", + "path": "ai/grazie/spell/hunspell-en-jvm/0.2.246/hunspell-en-jvm-0.2.246.jar" }, { - "url": "ai/grazie/utils/utils-lucene-lt-compatibility/0.3.133/utils-lucene-lt-compatibility-0.3.133.jar", - "hash": "d42719647748cf655f126ddad767ef62804079fe9b52d81ced30a7b7bd4ca780", - "path": "ai/grazie/utils/utils-lucene-lt-compatibility/0.3.133/utils-lucene-lt-compatibility-0.3.133.jar" + "url": "ai/grazie/utils/utils-lucene-lt-compatibility/0.4.16/utils-lucene-lt-compatibility-0.4.16.jar", + "hash": "c9f992502b804b28381d5b194f855280e69b8866c292a1449589ad389f1c05a9", + "path": "ai/grazie/utils/utils-lucene-lt-compatibility/0.4.16/utils-lucene-lt-compatibility-0.4.16.jar" }, { "url": "info/debatty/java-string-similarity/2.0.0/java-string-similarity-2.0.0.jar", @@ -2600,9 +2835,14 @@ "path": "info/debatty/java-string-similarity/2.0.0/java-string-similarity-2.0.0.jar" }, { - "url": "org/eclipse/jgit/org.eclipse.jgit.ssh.jsch/6.5.0.202303070854-r/org.eclipse.jgit.ssh.jsch-6.5.0.202303070854-r.jar", - "hash": "8ab7b5fefc2a42c5156c678148f415ce35ae8d93a8e3127b5426241e965606f6", - "path": "org/eclipse/jgit/org.eclipse.jgit.ssh.jsch/6.5.0.202303070854-r/org.eclipse.jgit.ssh.jsch-6.5.0.202303070854-r.jar" + "url": "org/eclipse/jgit/org.eclipse.jgit.ssh.apache.agent/6.6.1.202309021850-r/org.eclipse.jgit.ssh.apache.agent-6.6.1.202309021850-r.jar", + "hash": "4ddd0cf1a7ece350b33f0a6b865e8fb777c30a2282a0fbd1754020a4e06af481", + "path": "org/eclipse/jgit/org.eclipse.jgit.ssh.apache.agent/6.6.1.202309021850-r/org.eclipse.jgit.ssh.apache.agent-6.6.1.202309021850-r.jar" + }, + { + "url": "org/eclipse/jgit/org.eclipse.jgit.ssh.apache/6.6.1.202309021850-r/org.eclipse.jgit.ssh.apache-6.6.1.202309021850-r.jar", + "hash": "cc379265edb2b74850156c16fefd7990281bf47e33fe7665e838f8b5fdb94755", + "path": "org/eclipse/jgit/org.eclipse.jgit.ssh.apache/6.6.1.202309021850-r/org.eclipse.jgit.ssh.apache-6.6.1.202309021850-r.jar" }, { "url": "org/jetbrains/intellij/deps/searchEverywhere/model/find-action-model/231.0.0/find-action-model-231.0.0.jar", @@ -2640,24 +2880,29 @@ "path": "org/jetbrains/intellij/deps/searchEverywhere/model/find-all-model/232.1.1/find-all-model-232.1.1.jar" }, { - "url": "ai/grazie/model/model-emb-jvm/0.3.133/model-emb-jvm-0.3.133.jar", - "hash": "e9d275753050bea00184ca43b96ab8f13a38bc4db2d9184fe9c7815891d5084b", - "path": "ai/grazie/model/model-emb-jvm/0.3.133/model-emb-jvm-0.3.133.jar" + "url": "org/jetbrains/intellij/deps/searchEverywhere/model/find-ec-model/251.0.1/find-ec-model-251.0.1.jar", + "hash": "ae63199745e718694979c467993df0e6170d5fedda3a38916b1d009436bf0c3c", + "path": "org/jetbrains/intellij/deps/searchEverywhere/model/find-ec-model/251.0.1/find-ec-model-251.0.1.jar" }, { - "url": "ai/grazie/model/model-text-jvm/0.3.133/model-text-jvm-0.3.133.jar", - "hash": "dfd010d8b4d0522121fef66652cae5c73f0dfde77cc79cf1c73067a7e63e8cf2", - "path": "ai/grazie/model/model-text-jvm/0.3.133/model-text-jvm-0.3.133.jar" + "url": "ai/grazie/model/model-emb-jvm/0.4.16/model-emb-jvm-0.4.16.jar", + "hash": "41a39ea18d934827d293a918e144042ae65c0974892c0330add0a52c366c2709", + "path": "ai/grazie/model/model-emb-jvm/0.4.16/model-emb-jvm-0.4.16.jar" }, { - "url": "ai/grazie/model/model-common-jvm/0.3.133/model-common-jvm-0.3.133.jar", - "hash": "8fb936cb7c83862210841d81a870a9ea6677a0122ff0c7c8c055705c3945100a", - "path": "ai/grazie/model/model-common-jvm/0.3.133/model-common-jvm-0.3.133.jar" + "url": "ai/grazie/model/model-text-jvm/0.4.16/model-text-jvm-0.4.16.jar", + "hash": "fac290bca4ef5ac2084e35dcb1663d5725de799d51333359931f542690672d7b", + "path": "ai/grazie/model/model-text-jvm/0.4.16/model-text-jvm-0.4.16.jar" }, { - "url": "ai/grazie/utils/utils-common-jvm/0.3.133/utils-common-jvm-0.3.133.jar", - "hash": "c543a072a0f4d96c3afa37756f694be4a9348777fd7690ab4bd21e7df466a309", - "path": "ai/grazie/utils/utils-common-jvm/0.3.133/utils-common-jvm-0.3.133.jar" + "url": "ai/grazie/model/model-common-jvm/0.4.16/model-common-jvm-0.4.16.jar", + "hash": "58339397d3350db6c549a5ebee98b9611693c187fa2311b18aa849e27067c438", + "path": "ai/grazie/model/model-common-jvm/0.4.16/model-common-jvm-0.4.16.jar" + }, + { + "url": "ai/grazie/utils/utils-common-jvm/0.4.16/utils-common-jvm-0.4.16.jar", + "hash": "1721b8bb4a7dbcbc34da8cec18100f03b72c8c06d4e945622c1a24b720981b73", + "path": "ai/grazie/utils/utils-common-jvm/0.4.16/utils-common-jvm-0.4.16.jar" }, { "url": "isorelax/isorelax/20030108/isorelax-20030108.jar", @@ -2674,16 +2919,6 @@ "hash": "8924b199c8cc52530de2b250670806d8b046fa5ae9d32a9f27a9b224e934a1ad", "path": "completion/ml/python/features/ml-completion-prev-exprs-models/1.11/ml-completion-prev-exprs-models-1.11.jar" }, - { - "url": "org/apache/tuweni/tuweni-toml/2.0.0/tuweni-toml-2.0.0.jar", - "hash": "b7331e02e955b6b962a8fa89eb8d7db0960d0b232880bfc60e8602fb3fed36ad", - "path": "org/apache/tuweni/tuweni-toml/2.0.0/tuweni-toml-2.0.0.jar" - }, - { - "url": "org/antlr/antlr4-runtime/4.7.1/antlr4-runtime-4.7.1.jar", - "hash": "43516d19beae35909e04d06af6c0c58c17bc94e0070c85e8dc9929ca640dc91d", - "path": "org/antlr/antlr4-runtime/4.7.1/antlr4-runtime-4.7.1.jar" - }, { "url": "org/jetbrains/intellij/deps/completion/completion-ranking-python-with-full-line/0.2.1/completion-ranking-python-with-full-line-0.2.1.jar", "hash": "141df5d2e70b27911bb5b601e1574623dc43b31bc6b4160f164ddd6f2ca27e6f", @@ -2810,9 +3045,9 @@ "path": "com/squareup/okhttp3/mockwebserver3/5.0.0-alpha.11/mockwebserver3-5.0.0-alpha.11.jar" }, { - "url": "org/jetbrains/kotlinx/kotlinx-serialization-cbor-jvm/1.6.2/kotlinx-serialization-cbor-jvm-1.6.2.jar", - "hash": "5e405251ecdca6badb483c94ce22709489fe8a97a4d4ddca5cd43af8449e439f", - "path": "org/jetbrains/kotlinx/kotlinx-serialization-cbor-jvm/1.6.2/kotlinx-serialization-cbor-jvm-1.6.2.jar" + "url": "org/jetbrains/kotlinx/kotlinx-serialization-cbor-jvm/1.7.3/kotlinx-serialization-cbor-jvm-1.7.3.jar", + "hash": "ec45d74e2293eacbc1f804f3ec55d4908f9905ac5053316b565f1b66326f1f70", + "path": "org/jetbrains/kotlinx/kotlinx-serialization-cbor-jvm/1.7.3/kotlinx-serialization-cbor-jvm-1.7.3.jar" }, { "url": "com/fasterxml/jackson/dataformat/jackson-dataformat-cbor/2.16.0/jackson-dataformat-cbor-2.16.0.jar", @@ -2820,9 +3055,9 @@ "path": "com/fasterxml/jackson/dataformat/jackson-dataformat-cbor/2.16.0/jackson-dataformat-cbor-2.16.0.jar" }, { - "url": "net/jqwik/jqwik/1.9.0/jqwik-1.9.0.jar", - "hash": "bcbbc834752835d9c534647f925756de2cd6f51a1e94fcf6162fd55f3fc2c706", - "path": "net/jqwik/jqwik/1.9.0/jqwik-1.9.0.jar" + "url": "net/jqwik/jqwik/1.9.2/jqwik-1.9.2.jar", + "hash": "92c164d7c9d77b3883f3dd43cec9301603847c30c2e247782dc67fb86a4d8e36", + "path": "net/jqwik/jqwik/1.9.2/jqwik-1.9.2.jar" }, { "url": "org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar", @@ -2830,29 +3065,244 @@ "path": "org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar" }, { - "url": "net/jqwik/jqwik-api/1.9.0/jqwik-api-1.9.0.jar", - "hash": "1ebd46a1df6575c3d46ba263a6575c88fe654f164f9e3d1f7fbc05fdc9dc726c", - "path": "net/jqwik/jqwik-api/1.9.0/jqwik-api-1.9.0.jar" + "url": "net/jqwik/jqwik-api/1.9.2/jqwik-api-1.9.2.jar", + "hash": "60244aefd583d349cb26e81f5cc3ef9f66d309d49b6534ab7c9b63be38954054", + "path": "net/jqwik/jqwik-api/1.9.2/jqwik-api-1.9.2.jar" }, { - "url": "net/jqwik/jqwik-web/1.9.0/jqwik-web-1.9.0.jar", - "hash": "67030794b96c3e854795c6e709b1e9adc54df93474cb8e8380a791d58db2560e", - "path": "net/jqwik/jqwik-web/1.9.0/jqwik-web-1.9.0.jar" + "url": "net/jqwik/jqwik-web/1.9.2/jqwik-web-1.9.2.jar", + "hash": "4f5006f8dd93a13ca59ef92d5476b9aca1c479c0b6d0beb7c3e64970f6b7e632", + "path": "net/jqwik/jqwik-web/1.9.2/jqwik-web-1.9.2.jar" }, { - "url": "net/jqwik/jqwik-time/1.9.0/jqwik-time-1.9.0.jar", - "hash": "4258ec1239879e520ac6df63de21b821691cf57479a14700c6ab8bd98cba1fa5", - "path": "net/jqwik/jqwik-time/1.9.0/jqwik-time-1.9.0.jar" + "url": "net/jqwik/jqwik-time/1.9.2/jqwik-time-1.9.2.jar", + "hash": "3d5f67f87a7b305601a8aef6ec400df3ad400123af4e8459acf663126b08e05d", + "path": "net/jqwik/jqwik-time/1.9.2/jqwik-time-1.9.2.jar" }, { - "url": "net/jqwik/jqwik-engine/1.9.0/jqwik-engine-1.9.0.jar", - "hash": "6eb6ffbfcf81f5eef65cffdd41186f961f1a0fcb3c44f17e4c09d5d3aa773b2c", - "path": "net/jqwik/jqwik-engine/1.9.0/jqwik-engine-1.9.0.jar" + "url": "net/jqwik/jqwik-engine/1.9.2/jqwik-engine-1.9.2.jar", + "hash": "623d105e90cd94b688baaa527bd0c4e284001c07c1f53e3b9a2db179ea57a70a", + "path": "net/jqwik/jqwik-engine/1.9.2/jqwik-engine-1.9.2.jar" }, { - "url": "com/thoughtworks/qdox/qdox/2.0.1/qdox-2.0.1.jar", - "hash": "c28db4602da9f3817a59de9be137c1f6083a9cb95fa1781f54eda75763a95c67", - "path": "com/thoughtworks/qdox/qdox/2.0.1/qdox-2.0.1.jar" + "url": "com/thoughtworks/qdox/qdox/2.2.0/qdox-2.2.0.jar", + "hash": "c260c3230b2340af97d54bf01f7f67ebc57c901922736c881bb11cb981302be2", + "path": "com/thoughtworks/qdox/qdox/2.2.0/qdox-2.2.0.jar" + }, + { + "url": "org/jetbrains/compose/components/components-resources/1.8.0-alpha04/components-resources-1.8.0-alpha04.jar", + "hash": "7bc14c3ea620289907b3bc666999005ceda75c4da407bc8596d0965cf06990fe", + "path": "org/jetbrains/compose/components/components-resources/1.8.0-alpha04/components-resources-1.8.0-alpha04.jar" + }, + { + "url": "org/jetbrains/compose/components/components-resources-desktop/1.8.0-alpha04/components-resources-desktop-1.8.0-alpha04.jar", + "hash": "1b58df32c67ffb4f0f3dbc15fda9b959e2ec3f43e0bc56ddb088be351237b9a0", + "path": "org/jetbrains/compose/components/components-resources-desktop/1.8.0-alpha04/components-resources-desktop-1.8.0-alpha04.jar" + }, + { + "url": "com/darkrockstudios/mpfilepicker/3.1.0/mpfilepicker-3.1.0.jar", + "hash": "93e571b342f2bc87aa192fc7eb6d177ac5075415617824674b0d5fa063840f4e", + "path": "com/darkrockstudios/mpfilepicker/3.1.0/mpfilepicker-3.1.0.jar" + }, + { + "url": "com/darkrockstudios/mpfilepicker-jvm/3.1.0/mpfilepicker-jvm-3.1.0.jar", + "hash": "65bb8c814bc66faf28395e7f9d51c74f5cc35d70919c50ea8639388ec46cef2d", + "path": "com/darkrockstudios/mpfilepicker-jvm/3.1.0/mpfilepicker-jvm-3.1.0.jar" + }, + { + "url": "org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1.jar", + "hash": "488f51ed95f0fac48d1d87cb0e3bac08c012dcbf6ef3c1688685d708cdbccd56", + "path": "org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1.jar" + }, + { + "url": "org/nibor/autolink/autolink/0.11.0/autolink-0.11.0.jar", + "hash": "39c6588948ab31b98ab1fea4a6abab37243f387cb48cb50ae599410effb70038", + "path": "org/nibor/autolink/autolink/0.11.0/autolink-0.11.0.jar" + }, + { + "url": "org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1.jar", + "hash": "cf83f90e32fb973ff5edfca4ef35f55ca51bb70a579b6a1f290744f552e8e484", + "path": "org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1.jar" + }, + { + "url": "org/commonmark/commonmark-ext-gfm-tables/0.24.0/commonmark-ext-gfm-tables-0.24.0.jar", + "hash": "b54dc332f931e6d07c2766144c087b08f3693677e368151a67020b4e95bb4b99", + "path": "org/commonmark/commonmark-ext-gfm-tables/0.24.0/commonmark-ext-gfm-tables-0.24.0.jar" + }, + { + "url": "org/commonmark/commonmark-ext-gfm-strikethrough/0.24.0/commonmark-ext-gfm-strikethrough-0.24.0.jar", + "hash": "7385cb637f04dc4cbda4ddca9c2fcd2af7ac536a50e4c8d2c77f4748bb14bf41", + "path": "org/commonmark/commonmark-ext-gfm-strikethrough/0.24.0/commonmark-ext-gfm-strikethrough-0.24.0.jar" + }, + { + "url": "org/commonmark/commonmark-ext-autolink/0.24.0/commonmark-ext-autolink-0.24.0.jar", + "hash": "013ba4f3ba4850a1de35935d1501587c518f764331d279805da33473e79f5f33", + "path": "org/commonmark/commonmark-ext-autolink/0.24.0/commonmark-ext-autolink-0.24.0.jar" + }, + { + "url": "org/commonmark/commonmark/0.24.0/commonmark-0.24.0.jar", + "hash": "679338e0b7fc15c02d275d598654b01a149893bc28a87992e90123c8d06af25b", + "path": "org/commonmark/commonmark/0.24.0/commonmark-0.24.0.jar" + }, + { + "url": "org/nibor/autolink/autolink/0.11.0/autolink-0.11.0.jar", + "hash": "39c6588948ab31b98ab1fea4a6abab37243f387cb48cb50ae599410effb70038", + "path": "org/nibor/autolink/autolink/0.11.0/autolink-0.11.0.jar" + }, + { + "url": "org/commonmark/commonmark/0.24.0/commonmark-0.24.0.jar", + "hash": "679338e0b7fc15c02d275d598654b01a149893bc28a87992e90123c8d06af25b", + "path": "org/commonmark/commonmark/0.24.0/commonmark-0.24.0.jar" + }, + { + "url": "io/gitlab/arturbosch/detekt/detekt-api/1.23.7/detekt-api-1.23.7.jar", + "hash": "93fd0c9cdb22dd97ecfc843d55abfc52c9d9c6a0db32abdf9c85735e1bc8047d", + "path": "io/gitlab/arturbosch/detekt/detekt-api/1.23.7/detekt-api-1.23.7.jar" + }, + { + "url": "org/jetbrains/kotlin/kotlin-compiler-embeddable/2.0.10/kotlin-compiler-embeddable-2.0.10.jar", + "hash": "ea76850ffe3b84c92654a73f8e366964857f7e95687ca158882241cebef591e8", + "path": "org/jetbrains/kotlin/kotlin-compiler-embeddable/2.0.10/kotlin-compiler-embeddable-2.0.10.jar" + }, + { + "url": "org/jetbrains/kotlin/kotlin-script-runtime/2.0.10/kotlin-script-runtime-2.0.10.jar", + "hash": "58f4f7ad99a4a045964b44fe55f0b2604d2c5f51ff4d97c7e6817983fdf92ea7", + "path": "org/jetbrains/kotlin/kotlin-script-runtime/2.0.10/kotlin-script-runtime-2.0.10.jar" + }, + { + "url": "org/jetbrains/kotlin/kotlin-reflect/1.6.10/kotlin-reflect-1.6.10.jar", + "hash": "3277ac102ae17aad10a55abec75ff5696c8d109790396434b496e75087854203", + "path": "org/jetbrains/kotlin/kotlin-reflect/1.6.10/kotlin-reflect-1.6.10.jar" + }, + { + "url": "org/jetbrains/kotlin/kotlin-daemon-embeddable/2.0.10/kotlin-daemon-embeddable-2.0.10.jar", + "hash": "a500d6f7bb2152a8387a9e24b886d0654fdbdb6662ec264c544ce9346f186141", + "path": "org/jetbrains/kotlin/kotlin-daemon-embeddable/2.0.10/kotlin-daemon-embeddable-2.0.10.jar" + }, + { + "url": "org/jetbrains/intellij/deps/trove4j/1.0.20200330/trove4j-1.0.20200330.jar", + "hash": "c5fd725bffab51846bf3c77db1383c60aaaebfe1b7fe2f00d23fe1b7df0a439d", + "path": "org/jetbrains/intellij/deps/trove4j/1.0.20200330/trove4j-1.0.20200330.jar" + }, + { + "url": "io/gitlab/arturbosch/detekt/detekt-psi-utils/1.23.7/detekt-psi-utils-1.23.7.jar", + "hash": "6a054c91da27aac77db3ed509ff9f408c45410e1a5e989dc380aae3c09d7fb6e", + "path": "io/gitlab/arturbosch/detekt/detekt-psi-utils/1.23.7/detekt-psi-utils-1.23.7.jar" + }, + { + "url": "io/gitlab/arturbosch/detekt/detekt-utils/1.23.7/detekt-utils-1.23.7.jar", + "hash": "0b5c211c72f63985a3e2e0f12f9a7733c7b3411b983a1c7f3175f3bd68d72194", + "path": "io/gitlab/arturbosch/detekt/detekt-utils/1.23.7/detekt-utils-1.23.7.jar" + }, + { + "url": "dev/drewhamilton/poko/poko-annotations-jvm/0.16.0/poko-annotations-jvm-0.16.0.jar", + "hash": "940e6d50445bc6b0ae26ad414ec7b953a3e4e802dc7756cc14d56958bc97cc31", + "path": "dev/drewhamilton/poko/poko-annotations-jvm/0.16.0/poko-annotations-jvm-0.16.0.jar" + }, + { + "url": "io/gitlab/arturbosch/detekt/detekt-test/1.23.7/detekt-test-1.23.7.jar", + "hash": "fdceebdaead6217fbe6292c15ac93c7712f460458977201a0bb695ae847e3749", + "path": "io/gitlab/arturbosch/detekt/detekt-test/1.23.7/detekt-test-1.23.7.jar" + }, + { + "url": "io/gitlab/arturbosch/detekt/detekt-api/1.23.7/detekt-api-1.23.7.jar", + "hash": "93fd0c9cdb22dd97ecfc843d55abfc52c9d9c6a0db32abdf9c85735e1bc8047d", + "path": "io/gitlab/arturbosch/detekt/detekt-api/1.23.7/detekt-api-1.23.7.jar" + }, + { + "url": "org/jetbrains/kotlin/kotlin-compiler-embeddable/2.0.10/kotlin-compiler-embeddable-2.0.10.jar", + "hash": "ea76850ffe3b84c92654a73f8e366964857f7e95687ca158882241cebef591e8", + "path": "org/jetbrains/kotlin/kotlin-compiler-embeddable/2.0.10/kotlin-compiler-embeddable-2.0.10.jar" + }, + { + "url": "org/jetbrains/kotlin/kotlin-script-runtime/2.0.10/kotlin-script-runtime-2.0.10.jar", + "hash": "58f4f7ad99a4a045964b44fe55f0b2604d2c5f51ff4d97c7e6817983fdf92ea7", + "path": "org/jetbrains/kotlin/kotlin-script-runtime/2.0.10/kotlin-script-runtime-2.0.10.jar" + }, + { + "url": "org/jetbrains/kotlin/kotlin-daemon-embeddable/2.0.10/kotlin-daemon-embeddable-2.0.10.jar", + "hash": "a500d6f7bb2152a8387a9e24b886d0654fdbdb6662ec264c544ce9346f186141", + "path": "org/jetbrains/kotlin/kotlin-daemon-embeddable/2.0.10/kotlin-daemon-embeddable-2.0.10.jar" + }, + { + "url": "org/jetbrains/intellij/deps/trove4j/1.0.20200330/trove4j-1.0.20200330.jar", + "hash": "c5fd725bffab51846bf3c77db1383c60aaaebfe1b7fe2f00d23fe1b7df0a439d", + "path": "org/jetbrains/intellij/deps/trove4j/1.0.20200330/trove4j-1.0.20200330.jar" + }, + { + "url": "io/gitlab/arturbosch/detekt/detekt-psi-utils/1.23.7/detekt-psi-utils-1.23.7.jar", + "hash": "6a054c91da27aac77db3ed509ff9f408c45410e1a5e989dc380aae3c09d7fb6e", + "path": "io/gitlab/arturbosch/detekt/detekt-psi-utils/1.23.7/detekt-psi-utils-1.23.7.jar" + }, + { + "url": "dev/drewhamilton/poko/poko-annotations-jvm/0.16.0/poko-annotations-jvm-0.16.0.jar", + "hash": "940e6d50445bc6b0ae26ad414ec7b953a3e4e802dc7756cc14d56958bc97cc31", + "path": "dev/drewhamilton/poko/poko-annotations-jvm/0.16.0/poko-annotations-jvm-0.16.0.jar" + }, + { + "url": "io/gitlab/arturbosch/detekt/detekt-test-utils/1.23.7/detekt-test-utils-1.23.7.jar", + "hash": "33d970cc98c59e5d9d0b01ba7b525a76d363443a6a463f8cb869e08677e37ca3", + "path": "io/gitlab/arturbosch/detekt/detekt-test-utils/1.23.7/detekt-test-utils-1.23.7.jar" + }, + { + "url": "org/junit/jupiter/junit-jupiter-api/5.10.2/junit-jupiter-api-5.10.2.jar", + "hash": "afff77c186cd317275803872fa5133aa801fd6ac40bd91c78a6cf8009b4b17cc", + "path": "org/junit/jupiter/junit-jupiter-api/5.10.2/junit-jupiter-api-5.10.2.jar" + }, + { + "url": "org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar", + "hash": "48e2df636cab6563ced64dcdff8abb2355627cb236ef0bf37598682ddf742f1b", + "path": "org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar" + }, + { + "url": "org/junit/platform/junit-platform-commons/1.10.2/junit-platform-commons-1.10.2.jar", + "hash": "b56a5ec000a479df4973b18bba24c98fe0db8faa14c8907d3ef451d8c71fd8ae", + "path": "org/junit/platform/junit-platform-commons/1.10.2/junit-platform-commons-1.10.2.jar" + }, + { + "url": "org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar", + "hash": "b509448ac506d607319f182537f0b35d71007582ec741832a1f111e5b5b70b38", + "path": "org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar" + }, + { + "url": "io/gitlab/arturbosch/detekt/detekt-parser/1.23.7/detekt-parser-1.23.7.jar", + "hash": "e217ab883e2e0f0e8a69b1fce7a131ff93a8bf2e06bd5fd395b38cde6b9c9504", + "path": "io/gitlab/arturbosch/detekt/detekt-parser/1.23.7/detekt-parser-1.23.7.jar" + }, + { + "url": "io/github/davidburstrom/contester/contester-breakpoint/0.2.0/contester-breakpoint-0.2.0.jar", + "hash": "672cbebb5d45a72b35dd81fd6127e187451bb6fb7fba35315bbdf2f57cfce835", + "path": "io/github/davidburstrom/contester/contester-breakpoint/0.2.0/contester-breakpoint-0.2.0.jar" + }, + { + "url": "org/jetbrains/kotlin/kotlin-main-kts/2.0.10/kotlin-main-kts-2.0.10.jar", + "hash": "1ae40572a7b9cc19dde70e88dae3dd7fa9db642578b5fbfaabca4dfc22e76b60", + "path": "org/jetbrains/kotlin/kotlin-main-kts/2.0.10/kotlin-main-kts-2.0.10.jar" + }, + { + "url": "org/jetbrains/kotlin/kotlin-scripting-compiler-embeddable/2.0.10/kotlin-scripting-compiler-embeddable-2.0.10.jar", + "hash": "6c83faccacfc9ed71ade5e5ad1f22202a6b5be37deea10d2bc7df4dc3abdab3a", + "path": "org/jetbrains/kotlin/kotlin-scripting-compiler-embeddable/2.0.10/kotlin-scripting-compiler-embeddable-2.0.10.jar" + }, + { + "url": "org/jetbrains/kotlin/kotlin-scripting-compiler-impl-embeddable/2.0.10/kotlin-scripting-compiler-impl-embeddable-2.0.10.jar", + "hash": "97749ff32fce25ac35b2fd333080d34b6fc4d7a6b6ffb0499ece09ffebd123c8", + "path": "org/jetbrains/kotlin/kotlin-scripting-compiler-impl-embeddable/2.0.10/kotlin-scripting-compiler-impl-embeddable-2.0.10.jar" + }, + { + "url": "org/jetbrains/kotlin/kotlin-scripting-common/2.0.10/kotlin-scripting-common-2.0.10.jar", + "hash": "37d4671e73ca6599f597aba464577ebb3b8771a31ee9d7dcb52d916762d16871", + "path": "org/jetbrains/kotlin/kotlin-scripting-common/2.0.10/kotlin-scripting-common-2.0.10.jar" + }, + { + "url": "org/jetbrains/kotlin/kotlin-scripting-jvm/2.0.10/kotlin-scripting-jvm-2.0.10.jar", + "hash": "5259a5173e2ea1b0256fb5ab994be50c18fdc15ed4f5b62edcf7e2579ecc9a7a", + "path": "org/jetbrains/kotlin/kotlin-scripting-jvm/2.0.10/kotlin-scripting-jvm-2.0.10.jar" + }, + { + "url": "io/gitlab/arturbosch/detekt/detekt-utils/1.23.7/detekt-utils-1.23.7.jar", + "hash": "0b5c211c72f63985a3e2e0f12f9a7733c7b3411b983a1c7f3175f3bd68d72194", + "path": "io/gitlab/arturbosch/detekt/detekt-utils/1.23.7/detekt-utils-1.23.7.jar" }, { "url": "com/pngencoder/pngencoder/0.14.0/pngencoder-0.14.0.jar", @@ -2880,9 +3330,9 @@ "path": "com/github/hypfvieh/dbus-java-core/4.2.1/dbus-java-core-4.2.1.jar" }, { - "url": "org/jetbrains/intellij/deps/intellij-coverage-agent/1.0.763/intellij-coverage-agent-1.0.763.jar", - "hash": "fd05be7d518be8024cb475dd1cb9b12bf11655b0e3f84c87eb9e1c1698ee8548", - "path": "org/jetbrains/intellij/deps/intellij-coverage-agent/1.0.763/intellij-coverage-agent-1.0.763.jar" + "url": "org/jetbrains/intellij/deps/intellij-coverage-agent/1.0.766/intellij-coverage-agent-1.0.766.jar", + "hash": "52f66c83318dcacb879f2a07fe448eccd1313b077809190810c83aa4b875611c", + "path": "org/jetbrains/intellij/deps/intellij-coverage-agent/1.0.766/intellij-coverage-agent-1.0.766.jar" }, { "url": "org/jetbrains/compose/compiler/compiler-hosted/1.5.14/compiler-hosted-1.5.14.jar", @@ -2890,14 +3340,14 @@ "path": "org/jetbrains/compose/compiler/compiler-hosted/1.5.14/compiler-hosted-1.5.14.jar" }, { - "url": "com/guardsquare/proguard-base/7.5.0/proguard-base-7.5.0.jar", - "hash": "04f507bf11e57d798d972b6640cd026302e0b54800cd75813dc4715da66f3ab5", - "path": "com/guardsquare/proguard-base/7.5.0/proguard-base-7.5.0.jar" + "url": "com/guardsquare/proguard-base/7.6.1/proguard-base-7.6.1.jar", + "hash": "c2650e666c3443781dc5e9eaee5de8721593f00be44e9d87cec761406357c770", + "path": "com/guardsquare/proguard-base/7.6.1/proguard-base-7.6.1.jar" }, { - "url": "com/guardsquare/proguard-core/9.1.4/proguard-core-9.1.4.jar", - "hash": "c51bb89ac5668280e3db7e4ab6c16f454ec5132ed356c840a4f930f16ef6ed51", - "path": "com/guardsquare/proguard-core/9.1.4/proguard-core-9.1.4.jar" + "url": "com/guardsquare/proguard-core/9.1.7/proguard-core-9.1.7.jar", + "hash": "db06fa9f6b43bb7d386420f854f41aa55a11023de36bad68e043c3ac3f33b8d5", + "path": "com/guardsquare/proguard-core/9.1.7/proguard-core-9.1.7.jar" }, { "url": "org/jetbrains/kotlin/kotlin-metadata-jvm/2.0.0/kotlin-metadata-jvm-2.0.0.jar", @@ -2905,19 +3355,19 @@ "path": "org/jetbrains/kotlin/kotlin-metadata-jvm/2.0.0/kotlin-metadata-jvm-2.0.0.jar" }, { - "url": "org/jetbrains/annotations/24.0.0/annotations-24.0.0.jar", - "hash": "ff112f54ce874b8ae899cfd68f0315d96c9f406a338b8eca80c76d10e2e5a2f7", - "path": "org/jetbrains/annotations/24.0.0/annotations-24.0.0.jar" + "url": "org/jetbrains/annotations/26.0.1/annotations-26.0.1.jar", + "hash": "2037be378980d3ba9333e97955f3b2cde392aa124d04ca73ce2eee6657199297", + "path": "org/jetbrains/annotations/26.0.1/annotations-26.0.1.jar" }, { - "url": "org/apache/logging/log4j/log4j-api/2.19.0/log4j-api-2.19.0.jar", - "hash": "5ccb24ad9f92e768d0bc456d3061a737951262df803e004d2cad096b75a88d60", - "path": "org/apache/logging/log4j/log4j-api/2.19.0/log4j-api-2.19.0.jar" + "url": "org/apache/logging/log4j/log4j-api/2.24.2/log4j-api-2.24.2.jar", + "hash": "0ca3ecbd4c315bdd5f2ef6af127712df718c78334cce5bf6fb7b4aa17fdab126", + "path": "org/apache/logging/log4j/log4j-api/2.24.2/log4j-api-2.24.2.jar" }, { - "url": "org/apache/logging/log4j/log4j-core/2.19.0/log4j-core-2.19.0.jar", - "hash": "b4a1796fab7bfc36df015c1b4052459147997e8d215a7199d71d05f9e747e4f4", - "path": "org/apache/logging/log4j/log4j-core/2.19.0/log4j-core-2.19.0.jar" + "url": "org/apache/logging/log4j/log4j-core/2.24.2/log4j-core-2.24.2.jar", + "hash": "7a7b90db866c86a1093b3fde758ca28398ebb2a533da0d79a30cc0a78506b9df", + "path": "org/apache/logging/log4j/log4j-core/2.24.2/log4j-core-2.24.2.jar" }, { "url": "org/json/json/20231013/json-20231013.jar", @@ -2930,9 +3380,9 @@ "path": "com/jetbrains/format-ripper/format-ripper/1.1.1/format-ripper-1.1.1.jar" }, { - "url": "org/jetbrains/apple-notary-api-kotlin-client/1.0.5/apple-notary-api-kotlin-client-1.0.5.jar", - "hash": "68d0ecf4537f09f9115b2d68c57664cd1bdcf8ec25937b7280f89eea20c3bf22", - "path": "org/jetbrains/apple-notary-api-kotlin-client/1.0.5/apple-notary-api-kotlin-client-1.0.5.jar" + "url": "org/jetbrains/apple-notary-api-kotlin-client/2.0.1/apple-notary-api-kotlin-client-2.0.1.jar", + "hash": "46aa057f38b1cb2ac89d7e4b6357570b82bfd8e2b4d062ab40b09db3290d1c26", + "path": "org/jetbrains/apple-notary-api-kotlin-client/2.0.1/apple-notary-api-kotlin-client-2.0.1.jar" }, { "url": "com/amazonaws/aws-java-sdk-s3/1.12.431/aws-java-sdk-s3-1.12.431.jar", @@ -2990,44 +3440,149 @@ "path": "io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar" }, { - "url": "org/apache/maven/maven-embedder/4.0.0-beta-4/maven-embedder-4.0.0-beta-4.jar", - "hash": "6d88971a0cf8975a651ca353f0a605f1b82c5393f4b9d4311da9744e7c8fdaab", - "path": "org/apache/maven/maven-embedder/4.0.0-beta-4/maven-embedder-4.0.0-beta-4.jar" + "url": "org/apache/maven/maven-embedder/4.0.0-rc-3/maven-embedder-4.0.0-rc-3.jar", + "hash": "8edfbc2c8889fc79401d3248dc249bc3f8417ed51a8ec7c8beb348e1b273a672", + "path": "org/apache/maven/maven-embedder/4.0.0-rc-3/maven-embedder-4.0.0-rc-3.jar" }, { - "url": "org/apache/maven/maven-settings/4.0.0-beta-4/maven-settings-4.0.0-beta-4.jar", - "hash": "08a5bb3a59660981652e53150bc8a3c895b49c78b183781eba44b411cd5d84e2", - "path": "org/apache/maven/maven-settings/4.0.0-beta-4/maven-settings-4.0.0-beta-4.jar" + "url": "org/apache/maven/maven-api-annotations/4.0.0-rc-3/maven-api-annotations-4.0.0-rc-3.jar", + "hash": "5d3490f72ad3a7e82be88b27629f37c59fd2531bae511c3b13866420d5d862bd", + "path": "org/apache/maven/maven-api-annotations/4.0.0-rc-3/maven-api-annotations-4.0.0-rc-3.jar" }, { - "url": "org/apache/maven/maven-api-settings/4.0.0-beta-4/maven-api-settings-4.0.0-beta-4.jar", - "hash": "e660e8aad8e59a042ea63b08184dac237686e55237d16845f71b547e0bdf6b23", - "path": "org/apache/maven/maven-api-settings/4.0.0-beta-4/maven-api-settings-4.0.0-beta-4.jar" + "url": "org/apache/maven/maven-api-core/4.0.0-rc-3/maven-api-core-4.0.0-rc-3.jar", + "hash": "f5ef65b6b707160439f6e0548d66b74e8ac19686aa741619e3c8e7955bb7a2ba", + "path": "org/apache/maven/maven-api-core/4.0.0-rc-3/maven-api-core-4.0.0-rc-3.jar" }, { - "url": "org/apache/maven/maven-api-xml/4.0.0-beta-4/maven-api-xml-4.0.0-beta-4.jar", - "hash": "eb5124a6451c20f7b00efc4794102bc1a6243422c14510d5943f5dc181b474ae", - "path": "org/apache/maven/maven-api-xml/4.0.0-beta-4/maven-api-xml-4.0.0-beta-4.jar" + "url": "org/apache/maven/maven-api-di/4.0.0-rc-3/maven-api-di-4.0.0-rc-3.jar", + "hash": "a325978f2d9d05756a426fd35ef1180a90fbad1f0477e11bca7dd0dd8f6f754e", + "path": "org/apache/maven/maven-api-di/4.0.0-rc-3/maven-api-di-4.0.0-rc-3.jar" }, { - "url": "org/apache/maven/maven-api-meta/4.0.0-beta-4/maven-api-meta-4.0.0-beta-4.jar", - "hash": "9a73d755a57de09a53626bfcd34ba34d00c74bf73751e8afe93b1698b60adeef", - "path": "org/apache/maven/maven-api-meta/4.0.0-beta-4/maven-api-meta-4.0.0-beta-4.jar" + "url": "org/apache/maven/maven-api-settings/4.0.0-rc-3/maven-api-settings-4.0.0-rc-3.jar", + "hash": "4f5e43e45efd4c92d6cef4f8f64171ac62298b612ea39d086dff82f468f67bfd", + "path": "org/apache/maven/maven-api-settings/4.0.0-rc-3/maven-api-settings-4.0.0-rc-3.jar" }, { - "url": "org/apache/maven/maven-xml-impl/4.0.0-beta-4/maven-xml-impl-4.0.0-beta-4.jar", - "hash": "212c64e4635c281621ed56f180db83a6389dcf3eb602e8fe61821a2efeff6dee", - "path": "org/apache/maven/maven-xml-impl/4.0.0-beta-4/maven-xml-impl-4.0.0-beta-4.jar" + "url": "org/apache/maven/maven-api-toolchain/4.0.0-rc-3/maven-api-toolchain-4.0.0-rc-3.jar", + "hash": "0faebfcd9142c4fadf47a9024ca5bec52a693c298cfdf2e24f3749af163bae09", + "path": "org/apache/maven/maven-api-toolchain/4.0.0-rc-3/maven-api-toolchain-4.0.0-rc-3.jar" }, { - "url": "org/codehaus/plexus/plexus-xml/4.0.4/plexus-xml-4.0.4.jar", - "hash": "069e78b537108dc6124a67073fc998264791f6b6499e955a38e72bb3e4fe1adf", - "path": "org/codehaus/plexus/plexus-xml/4.0.4/plexus-xml-4.0.4.jar" + "url": "org/apache/maven/maven-api-plugin/4.0.0-rc-3/maven-api-plugin-4.0.0-rc-3.jar", + "hash": "841b52f2cecb43a21836d25bf667b9ca40e2e0d4e66980859029c5f2d4e88365", + "path": "org/apache/maven/maven-api-plugin/4.0.0-rc-3/maven-api-plugin-4.0.0-rc-3.jar" }, { - "url": "com/fasterxml/woodstox/woodstox-core/7.0.0/woodstox-core-7.0.0.jar", - "hash": "eeb3853282c24964a93a6eb4c1bbcb60c8d09fd8e0ffc75ab64ad21045a1fa78", - "path": "com/fasterxml/woodstox/woodstox-core/7.0.0/woodstox-core-7.0.0.jar" + "url": "org/apache/maven/maven-api-cli/4.0.0-rc-3/maven-api-cli-4.0.0-rc-3.jar", + "hash": "bdefb5e95b159d4bad4b0755346f6e4ebee9451e9edff3be5d221aaad1637157", + "path": "org/apache/maven/maven-api-cli/4.0.0-rc-3/maven-api-cli-4.0.0-rc-3.jar" + }, + { + "url": "org/apache/maven/maven-api-model/4.0.0-rc-3/maven-api-model-4.0.0-rc-3.jar", + "hash": "7208a02aeca7534e361d5e16aa71fd53cd7bfe8f8acaf51d4610f312794691c8", + "path": "org/apache/maven/maven-api-model/4.0.0-rc-3/maven-api-model-4.0.0-rc-3.jar" + }, + { + "url": "org/apache/maven/maven-api-xml/4.0.0-rc-3/maven-api-xml-4.0.0-rc-3.jar", + "hash": "f3e3b3642373c69d4c7441d40eba0765e1d744e992b62194452f5ea5451dfdba", + "path": "org/apache/maven/maven-api-xml/4.0.0-rc-3/maven-api-xml-4.0.0-rc-3.jar" + }, + { + "url": "org/apache/maven/maven-core/4.0.0-rc-3/maven-core-4.0.0-rc-3.jar", + "hash": "aa6077183921bf068aecba9080622354b7cc660d12f588f554424564b4640041", + "path": "org/apache/maven/maven-core/4.0.0-rc-3/maven-core-4.0.0-rc-3.jar" + }, + { + "url": "org/apache/maven/maven-api-metadata/4.0.0-rc-3/maven-api-metadata-4.0.0-rc-3.jar", + "hash": "dd346dde9f11ea854c2519e40aaaab375559a60a43e3b1e6463b805bb88ce2d9", + "path": "org/apache/maven/maven-api-metadata/4.0.0-rc-3/maven-api-metadata-4.0.0-rc-3.jar" + }, + { + "url": "org/apache/maven/maven-api-spi/4.0.0-rc-3/maven-api-spi-4.0.0-rc-3.jar", + "hash": "69dc1e9ef3865f7c6c09125eb797867aa6e55573e79570519279f2aafa817613", + "path": "org/apache/maven/maven-api-spi/4.0.0-rc-3/maven-api-spi-4.0.0-rc-3.jar" + }, + { + "url": "org/apache/maven/maven-impl/4.0.0-rc-3/maven-impl-4.0.0-rc-3.jar", + "hash": "e54093819207d287e0c2234d0bffd6fd09d12f62a1b6da920a9b285475446d94", + "path": "org/apache/maven/maven-impl/4.0.0-rc-3/maven-impl-4.0.0-rc-3.jar" + }, + { + "url": "org/apache/maven/maven-repository-metadata/4.0.0-rc-3/maven-repository-metadata-4.0.0-rc-3.jar", + "hash": "564b6c79d4a9567d1d86592c915a6d95d48e152e6fec5984467f60e5ff9cd67c", + "path": "org/apache/maven/maven-repository-metadata/4.0.0-rc-3/maven-repository-metadata-4.0.0-rc-3.jar" + }, + { + "url": "org/apache/maven/maven-cli/4.0.0-rc-3/maven-cli-4.0.0-rc-3.jar", + "hash": "fd06199863cb1b9469e1266d1ac8ed7c1595fb742903670e1012f4aed379979f", + "path": "org/apache/maven/maven-cli/4.0.0-rc-3/maven-cli-4.0.0-rc-3.jar" + }, + { + "url": "org/apache/maven/maven-di/4.0.0-rc-3/maven-di-4.0.0-rc-3.jar", + "hash": "21a99039af86d0bdf7564a7c23e4cc686912dfe8ee9db4fa54ad586f4b5330b0", + "path": "org/apache/maven/maven-di/4.0.0-rc-3/maven-di-4.0.0-rc-3.jar" + }, + { + "url": "org/apache/maven/maven-jline/4.0.0-rc-3/maven-jline-4.0.0-rc-3.jar", + "hash": "65530eadac880e73b9a197c20009262e609f60244986dca5c3d60246cca112e3", + "path": "org/apache/maven/maven-jline/4.0.0-rc-3/maven-jline-4.0.0-rc-3.jar" + }, + { + "url": "org/jline/jline-reader/3.29.0/jline-reader-3.29.0.jar", + "hash": "a4cb0a5fde9289f2f1b614e04f94b202f6ff5c9c96476425837b1184c92ef81d", + "path": "org/jline/jline-reader/3.29.0/jline-reader-3.29.0.jar" + }, + { + "url": "org/jline/jline-style/3.29.0/jline-style-3.29.0.jar", + "hash": "2912bb71f9c0eb974529adfb27d9d377c5696b84209199576f73722bb60b4c87", + "path": "org/jline/jline-style/3.29.0/jline-style-3.29.0.jar" + }, + { + "url": "org/jline/jline-builtins/3.29.0/jline-builtins-3.29.0.jar", + "hash": "cce95577dcc70c10b434647361d8ce486264b63ef17936f67be4de72629f1ea7", + "path": "org/jline/jline-builtins/3.29.0/jline-builtins-3.29.0.jar" + }, + { + "url": "org/jline/jline-console/3.29.0/jline-console-3.29.0.jar", + "hash": "12cc156e01914b10cff94dd269bcc990ba9e673106faa9ab8050dacec2af56b0", + "path": "org/jline/jline-console/3.29.0/jline-console-3.29.0.jar" + }, + { + "url": "org/jline/jline-console-ui/3.29.0/jline-console-ui-3.29.0.jar", + "hash": "269271915902489e8a1067052ddd4d172933ec94a42c14832a1e03524222ba60", + "path": "org/jline/jline-console-ui/3.29.0/jline-console-ui-3.29.0.jar" + }, + { + "url": "org/jline/jline-terminal/3.29.0/jline-terminal-3.29.0.jar", + "hash": "fd68a98b32b1132035c62102e5df0b0fdc358e7c87a9f876ce7071450b4d10da", + "path": "org/jline/jline-terminal/3.29.0/jline-terminal-3.29.0.jar" + }, + { + "url": "org/jline/jline-native/3.29.0/jline-native-3.29.0.jar", + "hash": "19cfcc9d3c78a1c6cfe4c6c9599f16a657e4bf8da43940fc4b875373236dc258", + "path": "org/jline/jline-native/3.29.0/jline-native-3.29.0.jar" + }, + { + "url": "org/jline/jline-terminal-jni/3.29.0/jline-terminal-jni-3.29.0.jar", + "hash": "13fef8bcc0e4788c8e192dc76c33758683c6bfdbaef6f67b41445eb8986773ad", + "path": "org/jline/jline-terminal-jni/3.29.0/jline-terminal-jni-3.29.0.jar" + }, + { + "url": "org/apache/maven/maven-logging/4.0.0-rc-3/maven-logging-4.0.0-rc-3.jar", + "hash": "ae036cbf0b3f96b2d6051e9ec4cefcecbd33bf1e9897bc99527d35d4f5bda8ad", + "path": "org/apache/maven/maven-logging/4.0.0-rc-3/maven-logging-4.0.0-rc-3.jar" + }, + { + "url": "org/apache/maven/maven-xml/4.0.0-rc-3/maven-xml-4.0.0-rc-3.jar", + "hash": "063c424cb47f75164125d5eea25167b931dd694e34268d50247374e74211dd19", + "path": "org/apache/maven/maven-xml/4.0.0-rc-3/maven-xml-4.0.0-rc-3.jar" + }, + { + "url": "com/fasterxml/woodstox/woodstox-core/7.1.0/woodstox-core-7.1.0.jar", + "hash": "81266920a1cdc47306a8a2b4726c99ec89b3fbf31c2470e4f5e477d9d857ca9f", + "path": "com/fasterxml/woodstox/woodstox-core/7.1.0/woodstox-core-7.1.0.jar" }, { "url": "org/codehaus/woodstox/stax2-api/4.2.2/stax2-api-4.2.2.jar", @@ -3035,224 +3590,29 @@ "path": "org/codehaus/woodstox/stax2-api/4.2.2/stax2-api-4.2.2.jar" }, { - "url": "org/apache/maven/maven-settings-builder/4.0.0-beta-4/maven-settings-builder-4.0.0-beta-4.jar", - "hash": "b5f4f334c2d9be1d531f19cb4849db50c7e1e2f102624d2d080366839a7fbff4", - "path": "org/apache/maven/maven-settings-builder/4.0.0-beta-4/maven-settings-builder-4.0.0-beta-4.jar" + "url": "org/apache/maven/maven-artifact/4.0.0-rc-3/maven-artifact-4.0.0-rc-3.jar", + "hash": "fefad6c28ff188d7a69ada304eb7967163fd83ce84bf0a42ad85f86e9a31dafd", + "path": "org/apache/maven/maven-artifact/4.0.0-rc-3/maven-artifact-4.0.0-rc-3.jar" }, { - "url": "org/apache/maven/maven-api-core/4.0.0-beta-4/maven-api-core-4.0.0-beta-4.jar", - "hash": "ef45e9b1837cbc9cc00d8725016dd9e149e5bca5c31ce1b85a2acda4638a08b9", - "path": "org/apache/maven/maven-api-core/4.0.0-beta-4/maven-api-core-4.0.0-beta-4.jar" + "url": "org/apache/maven/maven-builder-support/4.0.0-rc-3/maven-builder-support-4.0.0-rc-3.jar", + "hash": "cbba8801716569d012f4ee51b514a01f971656bba7753dc7204fe1b53483b540", + "path": "org/apache/maven/maven-builder-support/4.0.0-rc-3/maven-builder-support-4.0.0-rc-3.jar" }, { - "url": "org/apache/maven/maven-api-di/4.0.0-beta-4/maven-api-di-4.0.0-beta-4.jar", - "hash": "84ed3852f3bb9dc50b16c79a5f02ae6ef9479cdef3844a965037a823f22e7874", - "path": "org/apache/maven/maven-api-di/4.0.0-beta-4/maven-api-di-4.0.0-beta-4.jar" + "url": "org/apache/maven/maven-model/4.0.0-rc-3/maven-model-4.0.0-rc-3.jar", + "hash": "5414a8b23f5932bd4b2ea4b5d2e188620ff60bf3fd5b2bb16a7d4d63d39e6248", + "path": "org/apache/maven/maven-model/4.0.0-rc-3/maven-model-4.0.0-rc-3.jar" }, { - "url": "org/apache/maven/maven-api-impl/4.0.0-beta-4/maven-api-impl-4.0.0-beta-4.jar", - "hash": "e119e70c281f4270c219e9f527304bd468f6a859851723ed9b09c0209e76f5ef", - "path": "org/apache/maven/maven-api-impl/4.0.0-beta-4/maven-api-impl-4.0.0-beta-4.jar" + "url": "org/apache/maven/maven-support/4.0.0-rc-3/maven-support-4.0.0-rc-3.jar", + "hash": "d0e7c70887c09c2039c224d9c47489c6ac93bef27b3d387e862da9e06681d45c", + "path": "org/apache/maven/maven-support/4.0.0-rc-3/maven-support-4.0.0-rc-3.jar" }, { - "url": "org/apache/maven/maven-api-metadata/4.0.0-beta-4/maven-api-metadata-4.0.0-beta-4.jar", - "hash": "68b821d2809ad4da28fb496b9730bee5c732d51080c53f2fbe03a07307c76043", - "path": "org/apache/maven/maven-api-metadata/4.0.0-beta-4/maven-api-metadata-4.0.0-beta-4.jar" - }, - { - "url": "org/assertj/assertj-core/3.26.3/assertj-core-3.26.3.jar", - "hash": "4c2f86418ff47ee6b67fbc6adb194e80219b793281b3bda28799d4425bc9a0bd", - "path": "org/assertj/assertj-core/3.26.3/assertj-core-3.26.3.jar" - }, - { - "url": "net/bytebuddy/byte-buddy/1.14.18/byte-buddy-1.14.18.jar", - "hash": "52117af1696a53aa77c131353074ada25ccbdf2df511f2af33fad6704fa95104", - "path": "net/bytebuddy/byte-buddy/1.14.18/byte-buddy-1.14.18.jar" - }, - { - "url": "org/apache/maven/maven-toolchain-builder/4.0.0-beta-4/maven-toolchain-builder-4.0.0-beta-4.jar", - "hash": "7697360fb48e95ccd64925f9928e27e05dccb42f951ed902ab50e1503dca3ba9", - "path": "org/apache/maven/maven-toolchain-builder/4.0.0-beta-4/maven-toolchain-builder-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/maven-api-toolchain/4.0.0-beta-4/maven-api-toolchain-4.0.0-beta-4.jar", - "hash": "fabe13493b94abde03186c93ce363839e753355667dda9112e2d9546349cde76", - "path": "org/apache/maven/maven-api-toolchain/4.0.0-beta-4/maven-api-toolchain-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/maven-toolchain-model/4.0.0-beta-4/maven-toolchain-model-4.0.0-beta-4.jar", - "hash": "10102b6b5d94b2d83c3fb4194129ccc0d190310b65590f03afedd02bf5e17fa0", - "path": "org/apache/maven/maven-toolchain-model/4.0.0-beta-4/maven-toolchain-model-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/maven-core/4.0.0-beta-4/maven-core-4.0.0-beta-4.jar", - "hash": "76a96573a889e47dca04dcfedbcc4c7c93af003b9a6839dd199432ad1e19396a", - "path": "org/apache/maven/maven-core/4.0.0-beta-4/maven-core-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/maven-di/4.0.0-beta-4/maven-di-4.0.0-beta-4.jar", - "hash": "9185ef10ae5f192f128d5901c96c6217e23745fc919e22acc04562bc1fb03bc9", - "path": "org/apache/maven/maven-di/4.0.0-beta-4/maven-di-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/maven-repository-metadata/4.0.0-beta-4/maven-repository-metadata-4.0.0-beta-4.jar", - "hash": "5e39de5d6ab0a7d9dda3530c3051d245d772060ea5c621ee337ece25d9c02cad", - "path": "org/apache/maven/maven-repository-metadata/4.0.0-beta-4/maven-repository-metadata-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/maven-artifact/4.0.0-beta-4/maven-artifact-4.0.0-beta-4.jar", - "hash": "7a9435282137b8f7295fa9fbbb5022da3be2c8c0f8466aaf736b6e9795795218", - "path": "org/apache/maven/maven-artifact/4.0.0-beta-4/maven-artifact-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/maven-resolver-provider/4.0.0-beta-4/maven-resolver-provider-4.0.0-beta-4.jar", - "hash": "a13726bc0ad222e4b7c9081b99a1f22043807edf27d149ff8051d30a967502dd", - "path": "org/apache/maven/maven-resolver-provider/4.0.0-beta-4/maven-resolver-provider-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/resolver/maven-resolver-connector-basic/2.0.1/maven-resolver-connector-basic-2.0.1.jar", - "hash": "52b300e45e398ea13c462d7f76ebbd941bbc296c317204a85828070119cb6bd8", - "path": "org/apache/maven/resolver/maven-resolver-connector-basic/2.0.1/maven-resolver-connector-basic-2.0.1.jar" - }, - { - "url": "org/apache/maven/resolver/maven-resolver-transport-file/2.0.1/maven-resolver-transport-file-2.0.1.jar", - "hash": "c5a21b26d0d1d6cc975e7763d2d492feafd0be106aebd8f0276b299932657204", - "path": "org/apache/maven/resolver/maven-resolver-transport-file/2.0.1/maven-resolver-transport-file-2.0.1.jar" - }, - { - "url": "org/apache/maven/resolver/maven-resolver-transport-apache/2.0.1/maven-resolver-transport-apache-2.0.1.jar", - "hash": "bfd0b3e5b0904fc2df23c5a588cd5bde9cebca07f3b57c9692bbd384bdbdbf6b", - "path": "org/apache/maven/resolver/maven-resolver-transport-apache/2.0.1/maven-resolver-transport-apache-2.0.1.jar" - }, - { - "url": "org/apache/httpcomponents/httpclient/4.5.14/httpclient-4.5.14.jar", - "hash": "c8bc7e1c51a6d4ce72f40d2ebbabf1c4b68bfe76e732104b04381b493478e9d6", - "path": "org/apache/httpcomponents/httpclient/4.5.14/httpclient-4.5.14.jar" - }, - { - "url": "org/apache/httpcomponents/httpcore/4.4.16/httpcore-4.4.16.jar", - "hash": "6c9b3dd142a09dc468e23ad39aad6f75a0f2b85125104469f026e52a474e464f", - "path": "org/apache/httpcomponents/httpcore/4.4.16/httpcore-4.4.16.jar" - }, - { - "url": "commons-codec/commons-codec/1.17.1/commons-codec-1.17.1.jar", - "hash": "f9f6cb103f2ddc3c99a9d80ada2ae7bf0685111fd6bffccb72033d1da4e6ff23", - "path": "commons-codec/commons-codec/1.17.1/commons-codec-1.17.1.jar" - }, - { - "url": "org/slf4j/jcl-over-slf4j/2.0.13/jcl-over-slf4j-2.0.13.jar", - "hash": "c53560fa3a0837964207dd1f7835d0e6cea0835bd110e94696f2dc65f27e6f5a", - "path": "org/slf4j/jcl-over-slf4j/2.0.13/jcl-over-slf4j-2.0.13.jar" - }, - { - "url": "org/apache/maven/maven-api-spi/4.0.0-beta-4/maven-api-spi-4.0.0-beta-4.jar", - "hash": "ffc56c8120e0828ac48227922b50437a1668a648973407743d319ee899874235", - "path": "org/apache/maven/maven-api-spi/4.0.0-beta-4/maven-api-spi-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/maven-slf4j-provider/4.0.0-beta-4/maven-slf4j-provider-4.0.0-beta-4.jar", - "hash": "60e7bb88664af09f9c9f5da24bfe041b1e0788d62e958cc3053018590a11aca8", - "path": "org/apache/maven/maven-slf4j-provider/4.0.0-beta-4/maven-slf4j-provider-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/resolver/maven-resolver-spi/2.0.1/maven-resolver-spi-2.0.1.jar", - "hash": "46d5766c850611f01e6346d232dcb8b92604b941c5c66b89ccd2b256dbf1bddb", - "path": "org/apache/maven/resolver/maven-resolver-spi/2.0.1/maven-resolver-spi-2.0.1.jar" - }, - { - "url": "org/apache/maven/resolver/maven-resolver-impl/2.0.1/maven-resolver-impl-2.0.1.jar", - "hash": "5d819ac843de8e08b70d095e50a2bdd34471cdeb05d507bc6e72799758d5309b", - "path": "org/apache/maven/resolver/maven-resolver-impl/2.0.1/maven-resolver-impl-2.0.1.jar" - }, - { - "url": "org/apache/maven/resolver/maven-resolver-named-locks/2.0.1/maven-resolver-named-locks-2.0.1.jar", - "hash": "bb3365713c82d9abcf3841eb5386d6d87de2b10229926107022b87587196924d", - "path": "org/apache/maven/resolver/maven-resolver-named-locks/2.0.1/maven-resolver-named-locks-2.0.1.jar" - }, - { - "url": "org/codehaus/plexus/plexus-classworlds/2.8.0/plexus-classworlds-2.8.0.jar", - "hash": "081b40e0eab033cd5ac72d2501bfff4f5fd2a3eef827051111730ea152681c72", - "path": "org/codehaus/plexus/plexus-classworlds/2.8.0/plexus-classworlds-2.8.0.jar" - }, - { - "url": "org/apache/maven/maven-jline/4.0.0-beta-4/maven-jline-4.0.0-beta-4.jar", - "hash": "6477687327d47193f9dae0547c60d362125ce7f67aa91e2e673fee410b1c7e0c", - "path": "org/apache/maven/maven-jline/4.0.0-beta-4/maven-jline-4.0.0-beta-4.jar" - }, - { - "url": "javax/inject/javax.inject/1/javax.inject-1.jar", - "hash": "91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff", - "path": "javax/inject/javax.inject/1/javax.inject-1.jar" - }, - { - "url": "javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar", - "hash": "e04ba5195bcd555dc95650f7cc614d151e4bcd52d29a10b8aa2197f3ab89ab9b", - "path": "javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar" - }, - { - "url": "org/apache/maven/maven-plugin-api/4.0.0-beta-4/maven-plugin-api-4.0.0-beta-4.jar", - "hash": "b0ecf2d295fedaa65d48cb882b743481804a1a3c2f09b97a1d00d488e4051839", - "path": "org/apache/maven/maven-plugin-api/4.0.0-beta-4/maven-plugin-api-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/maven-api-plugin/4.0.0-beta-4/maven-api-plugin-4.0.0-beta-4.jar", - "hash": "72dcb6995c64bc5afcaf6c8650d2b4c0285c53be57f55550c971e7e379a339bc", - "path": "org/apache/maven/maven-api-plugin/4.0.0-beta-4/maven-api-plugin-4.0.0-beta-4.jar" - }, - { - "url": "org/eclipse/sisu/org.eclipse.sisu.plexus/0.9.0.M3/org.eclipse.sisu.plexus-0.9.0.M3.jar", - "hash": "c99674d3773e26154885661711f0b6d63aa5008f5cc99227a236756d4ad9de5e", - "path": "org/eclipse/sisu/org.eclipse.sisu.plexus/0.9.0.M3/org.eclipse.sisu.plexus-0.9.0.M3.jar" - }, - { - "url": "org/apache/maven/maven-model/4.0.0-beta-4/maven-model-4.0.0-beta-4.jar", - "hash": "db081a404deaf999f760c0e1ef44c2b1d4330bab28085dc98b0228c20d1863b2", - "path": "org/apache/maven/maven-model/4.0.0-beta-4/maven-model-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/maven-api-model/4.0.0-beta-4/maven-api-model-4.0.0-beta-4.jar", - "hash": "f43c7176db9492c69f14174ee100c9655cd52432850dec0127a128808a9bdffc", - "path": "org/apache/maven/maven-api-model/4.0.0-beta-4/maven-api-model-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/maven-model-builder/4.0.0-beta-4/maven-model-builder-4.0.0-beta-4.jar", - "hash": "c6d88471949e033714afe0e35ebbc2f4a8b03a4aded5eb9514265b75c672e4d1", - "path": "org/apache/maven/maven-model-builder/4.0.0-beta-4/maven-model-builder-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/maven-builder-support/4.0.0-beta-4/maven-builder-support-4.0.0-beta-4.jar", - "hash": "53d2df49e46fd837aba1da30ba0605424d7ad0f0fad4d8ca2c85c3aca33e1958", - "path": "org/apache/maven/maven-builder-support/4.0.0-beta-4/maven-builder-support-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/maven-slf4j-wrapper/4.0.0-beta-4/maven-slf4j-wrapper-4.0.0-beta-4.jar", - "hash": "5b1bd79d0aa8aeafedd44ee33eaad48dd45350a52bfb248a4b8c4ea8b9b16a38", - "path": "org/apache/maven/maven-slf4j-wrapper/4.0.0-beta-4/maven-slf4j-wrapper-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/resolver/maven-resolver-api/2.0.1/maven-resolver-api-2.0.1.jar", - "hash": "211e181d4acd8517b33c647b102371d4ce877d46e981f96b1b463bb7077919e9", - "path": "org/apache/maven/resolver/maven-resolver-api/2.0.1/maven-resolver-api-2.0.1.jar" - }, - { - "url": "org/apache/maven/resolver/maven-resolver-util/2.0.1/maven-resolver-util-2.0.1.jar", - "hash": "5f6070e2b1f67b514d35a4137db40d5738a97cba5dd7f6df6818857ae62dfd9a", - "path": "org/apache/maven/resolver/maven-resolver-util/2.0.1/maven-resolver-util-2.0.1.jar" - }, - { - "url": "org/codehaus/plexus/plexus-sec-dispatcher/2.0/plexus-sec-dispatcher-2.0.jar", - "hash": "873139960c4c780176dda580b003a2c4bf82188bdce5bb99234e224ef7acfceb", - "path": "org/codehaus/plexus/plexus-sec-dispatcher/2.0/plexus-sec-dispatcher-2.0.jar" - }, - { - "url": "org/codehaus/plexus/plexus-utils/3.4.1/plexus-utils-3.4.1.jar", - "hash": "52d85e04b3918722af11d12855b4a8257df96a0e76c8f4e3852e6faa851f357b", - "path": "org/codehaus/plexus/plexus-utils/3.4.1/plexus-utils-3.4.1.jar" - }, - { - "url": "org/codehaus/plexus/plexus-cipher/2.0/plexus-cipher-2.0.jar", - "hash": "9a7f1b5c5a9effd61eadfd8731452a2f76a8e79111fac391ef75ea801bea203a", - "path": "org/codehaus/plexus/plexus-cipher/2.0/plexus-cipher-2.0.jar" + "url": "org/apache/maven/maven-model-builder/4.0.0-rc-3/maven-model-builder-4.0.0-rc-3.jar", + "hash": "f9f53bf648ada66efd5ca4a4d31e435cb101f42fc51b7e85fc7cbad7c7901c14", + "path": "org/apache/maven/maven-model-builder/4.0.0-rc-3/maven-model-builder-4.0.0-rc-3.jar" }, { "url": "org/codehaus/plexus/plexus-interpolation/1.27/plexus-interpolation-1.27.jar", @@ -3260,14 +3620,94 @@ "path": "org/codehaus/plexus/plexus-interpolation/1.27/plexus-interpolation-1.27.jar" }, { - "url": "org/codehaus/plexus/plexus-interactivity-api/1.3/plexus-interactivity-api-1.3.jar", - "hash": "c26de0f7a578a82f8116aced2c3c62f5e06dc1815a8fe22b1af0c1467f2edb25", - "path": "org/codehaus/plexus/plexus-interactivity-api/1.3/plexus-interactivity-api-1.3.jar" + "url": "org/apache/maven/maven-plugin-api/4.0.0-rc-3/maven-plugin-api-4.0.0-rc-3.jar", + "hash": "f60657d910241f8f2b971261c001057248ee0f8b34cb8fb049a7786a73888a21", + "path": "org/apache/maven/maven-plugin-api/4.0.0-rc-3/maven-plugin-api-4.0.0-rc-3.jar" }, { - "url": "org/slf4j/slf4j-api/2.0.16/slf4j-api-2.0.16.jar", - "hash": "a12578dde1ba00bd9b816d388a0b879928d00bab3c83c240f7013bf4196c579a", - "path": "org/slf4j/slf4j-api/2.0.16/slf4j-api-2.0.16.jar" + "url": "org/eclipse/sisu/org.eclipse.sisu.plexus/0.9.0.M3/org.eclipse.sisu.plexus-0.9.0.M3.jar", + "hash": "c99674d3773e26154885661711f0b6d63aa5008f5cc99227a236756d4ad9de5e", + "path": "org/eclipse/sisu/org.eclipse.sisu.plexus/0.9.0.M3/org.eclipse.sisu.plexus-0.9.0.M3.jar" + }, + { + "url": "org/apache/maven/maven-settings/4.0.0-rc-3/maven-settings-4.0.0-rc-3.jar", + "hash": "3d09035a2aa80221f2544ac101863dcbd1a1eb35e4d8cd040eeea7edfa6a6afc", + "path": "org/apache/maven/maven-settings/4.0.0-rc-3/maven-settings-4.0.0-rc-3.jar" + }, + { + "url": "org/apache/maven/maven-settings-builder/4.0.0-rc-3/maven-settings-builder-4.0.0-rc-3.jar", + "hash": "57988664da4e055d4e98bc0c32dc123ce717876f93067758fa7328f6b4a1830a", + "path": "org/apache/maven/maven-settings-builder/4.0.0-rc-3/maven-settings-builder-4.0.0-rc-3.jar" + }, + { + "url": "org/apache/maven/maven-toolchain-builder/4.0.0-rc-3/maven-toolchain-builder-4.0.0-rc-3.jar", + "hash": "7682bd8a512b3eee4786af196ece04cbe99686ba586dc1f8ca6f3221ec016fd3", + "path": "org/apache/maven/maven-toolchain-builder/4.0.0-rc-3/maven-toolchain-builder-4.0.0-rc-3.jar" + }, + { + "url": "org/apache/maven/maven-toolchain-model/4.0.0-rc-3/maven-toolchain-model-4.0.0-rc-3.jar", + "hash": "20e1d769f05c7b2bc649839ebbc42ef312283e17b71c5cbeb1377481ca05a832", + "path": "org/apache/maven/maven-toolchain-model/4.0.0-rc-3/maven-toolchain-model-4.0.0-rc-3.jar" + }, + { + "url": "org/apache/maven/resolver/maven-resolver-api/2.0.7/maven-resolver-api-2.0.7.jar", + "hash": "1cc517753bd14e94b77c16a8258963f12a5a50907b778e60bb2c8e3ac4c4f8b7", + "path": "org/apache/maven/resolver/maven-resolver-api/2.0.7/maven-resolver-api-2.0.7.jar" + }, + { + "url": "org/apache/maven/resolver/maven-resolver-spi/2.0.7/maven-resolver-spi-2.0.7.jar", + "hash": "8e08e6cabf5b80c555955e1285109127dcffffa47978e8dc4349607643ca5f58", + "path": "org/apache/maven/resolver/maven-resolver-spi/2.0.7/maven-resolver-spi-2.0.7.jar" + }, + { + "url": "com/google/code/gson/gson/2.12.1/gson-2.12.1.jar", + "hash": "ebee13d5fb7477cd7f1cc010e0c356df8ca80709715248da97f79e35ccb4fbec", + "path": "com/google/code/gson/gson/2.12.1/gson-2.12.1.jar" + }, + { + "url": "org/apache/maven/resolver/maven-resolver-util/2.0.7/maven-resolver-util-2.0.7.jar", + "hash": "0c56c2dd5aaeacc531b5a9e564124a32610f88875822545ee89eea79cdb7755b", + "path": "org/apache/maven/resolver/maven-resolver-util/2.0.7/maven-resolver-util-2.0.7.jar" + }, + { + "url": "org/apache/maven/resolver/maven-resolver-impl/2.0.7/maven-resolver-impl-2.0.7.jar", + "hash": "a09e61fb4ce391d5363b6752332b331fefad483fb22ed3f7a4f1ea9f99b112bb", + "path": "org/apache/maven/resolver/maven-resolver-impl/2.0.7/maven-resolver-impl-2.0.7.jar" + }, + { + "url": "org/apache/maven/resolver/maven-resolver-named-locks/2.0.7/maven-resolver-named-locks-2.0.7.jar", + "hash": "20e101e8a883566ed3afaf349dac765b1d18c66bd93c4b6df6aec5a64441a0cc", + "path": "org/apache/maven/resolver/maven-resolver-named-locks/2.0.7/maven-resolver-named-locks-2.0.7.jar" + }, + { + "url": "org/codehaus/plexus/plexus-utils/4.0.1/plexus-utils-4.0.1.jar", + "hash": "96b9cc44439191d2d0635974e2d44e768736b4fb2abcb65f94cd95e41912fa8b", + "path": "org/codehaus/plexus/plexus-utils/4.0.1/plexus-utils-4.0.1.jar" + }, + { + "url": "org/codehaus/plexus/plexus-xml/4.0.4/plexus-xml-4.0.4.jar", + "hash": "069e78b537108dc6124a67073fc998264791f6b6499e955a38e72bb3e4fe1adf", + "path": "org/codehaus/plexus/plexus-xml/4.0.4/plexus-xml-4.0.4.jar" + }, + { + "url": "org/apache/maven/maven-xml-impl/4.0.0-alpha-9/maven-xml-impl-4.0.0-alpha-9.jar", + "hash": "26e702b881d57ae4ee88d02c00940ba64063705ee69205ae8958bf839a8b06b1", + "path": "org/apache/maven/maven-xml-impl/4.0.0-alpha-9/maven-xml-impl-4.0.0-alpha-9.jar" + }, + { + "url": "org/codehaus/plexus/plexus-classworlds/2.8.0/plexus-classworlds-2.8.0.jar", + "hash": "081b40e0eab033cd5ac72d2501bfff4f5fd2a3eef827051111730ea152681c72", + "path": "org/codehaus/plexus/plexus-classworlds/2.8.0/plexus-classworlds-2.8.0.jar" + }, + { + "url": "org/codehaus/plexus/plexus-sec-dispatcher/4.1.0/plexus-sec-dispatcher-4.1.0.jar", + "hash": "efc10a957d070940701a591685dab92c33f0ba3ffea9518b8d691b23897734fe", + "path": "org/codehaus/plexus/plexus-sec-dispatcher/4.1.0/plexus-sec-dispatcher-4.1.0.jar" + }, + { + "url": "org/slf4j/slf4j-api/2.0.17/slf4j-api-2.0.17.jar", + "hash": "7b751d952061954d5abfed7181c1f645d336091b679891591d63329c622eb832", + "path": "org/slf4j/slf4j-api/2.0.17/slf4j-api-2.0.17.jar" }, { "url": "commons-cli/commons-cli/1.9.0/commons-cli-1.9.0.jar", @@ -3275,15 +3715,25 @@ "path": "commons-cli/commons-cli/1.9.0/commons-cli-1.9.0.jar" }, { - "url": "org/jline/jline/3.26.3/jline-3.26.3.jar", - "hash": "f23116c349314658cdebaa6caf6d0067733cc9e5b852cad2a29e643d32bd52bd", - "path": "org/jline/jline/3.26.3/jline-3.26.3.jar" + "url": "org/jline/jansi-core/3.29.0/jansi-core-3.29.0.jar", + "hash": "b610f582187fe566a54076cb0d433a9b4e83a32a9caacff45b66fa4c9371628d", + "path": "org/jline/jansi-core/3.29.0/jansi-core-3.29.0.jar" }, { "url": "com/google/inject/guice/6.0.0/guice-6.0.0.jar", "hash": "b4d4f7ec5e8fc17b4f98dee9d3f6cf6ae3ae13e2e5ed4b2f7bbf09bc4bb675d5", "path": "com/google/inject/guice/6.0.0/guice-6.0.0.jar" }, + { + "url": "org/eclipse/sisu/org.eclipse.sisu.inject/0.9.0.M3/org.eclipse.sisu.inject-0.9.0.M3.jar", + "hash": "15335c4dcf082f599fb8eddcfb58d6a7e9a9c97de2883c257089a479b9b24522", + "path": "org/eclipse/sisu/org.eclipse.sisu.inject/0.9.0.M3/org.eclipse.sisu.inject-0.9.0.M3.jar" + }, + { + "url": "javax/inject/javax.inject/1/javax.inject-1.jar", + "hash": "91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff", + "path": "javax/inject/javax.inject/1/javax.inject-1.jar" + }, { "url": "org/apache/maven/maven-compat/3.6.0/maven-compat-3.6.0.jar", "hash": "8f1a5d4daff952dabeb3acaa0aa642903702a1aa8b442fcd7a07a8cf9e3db48b", @@ -5135,119 +5585,234 @@ "path": "org/jetbrains/idea/maven/maven-indexer-api-rt/2023.2/maven-indexer-api-rt-2023.2.jar" }, { - "url": "org/jetbrains/jewel/jewel-markdown-ide-laf-bridge-styling-242/0.22.1/jewel-markdown-ide-laf-bridge-styling-242-0.22.1.jar", - "hash": "c95a80492bfe83213d89cc2b051cf31d782046832320498510cbcd137d4da9d2", - "path": "org/jetbrains/jewel/jewel-markdown-ide-laf-bridge-styling-242/0.22.1/jewel-markdown-ide-laf-bridge-styling-242-0.22.1.jar" + "url": "org/jetbrains/skiko/skiko-awt/0.9.2/skiko-awt-0.9.2.jar", + "hash": "e1f815f44f5dafcf12f673cda3355ae59c39754bf99f3b11f6d00fd700156148", + "path": "org/jetbrains/skiko/skiko-awt/0.9.2/skiko-awt-0.9.2.jar" }, { - "url": "org/jetbrains/jewel/jewel-markdown-core-242/0.22.1/jewel-markdown-core-242-0.22.1.jar", - "hash": "4fc7147440e975f10133f8e6f0232c249ff9b07d03e7eaf6f86f4540fda62ac2", - "path": "org/jetbrains/jewel/jewel-markdown-core-242/0.22.1/jewel-markdown-core-242-0.22.1.jar" + "url": "org/jetbrains/skiko/skiko-awt-runtime-all/0.9.2/skiko-awt-runtime-all-0.9.2.jar", + "hash": "f4077aabec7cd2af8d330b0bac1b69e0556dfcb6fbedf1370cfbf0e0d8177f15", + "path": "org/jetbrains/skiko/skiko-awt-runtime-all/0.9.2/skiko-awt-runtime-all-0.9.2.jar" }, { - "url": "org/commonmark/commonmark/0.22.0/commonmark-0.22.0.jar", - "hash": "3417909f2997bc8c61d90d64c6af29f4a3f5b6729caceaef97221ceac93df814", - "path": "org/commonmark/commonmark/0.22.0/commonmark-0.22.0.jar" + "url": "io/ktor/ktor-client-cio-jvm/3.0.3/ktor-client-cio-jvm-3.0.3.jar", + "hash": "0d3bbfc7698254bd93f52522ac9b8ed92597d5cf80ea3ffc0f0c9f237f3396ce", + "path": "io/ktor/ktor-client-cio-jvm/3.0.3/ktor-client-cio-jvm-3.0.3.jar" }, { - "url": "org/jetbrains/skiko/skiko-awt-runtime-all/0.8.15/skiko-awt-runtime-all-0.8.15.jar", - "hash": "805ca62e64ec4945a17fde87841c5b0bb32767d2cc7e25968dcef8fa44f990cf", - "path": "org/jetbrains/skiko/skiko-awt-runtime-all/0.8.15/skiko-awt-runtime-all-0.8.15.jar" + "url": "io/ktor/ktor-http-cio-jvm/3.0.3/ktor-http-cio-jvm-3.0.3.jar", + "hash": "2574639ce266e33419ecbbb729c8f921274b2588ed1dfeb4aa87039115df0666", + "path": "io/ktor/ktor-http-cio-jvm/3.0.3/ktor-http-cio-jvm-3.0.3.jar" }, { - "url": "org/jetbrains/skiko/skiko-awt/0.8.15/skiko-awt-0.8.15.jar", - "hash": "2d6efe988f8d3a57e63fcf923f3439cdabb88947e351f97d06ec9b2a6a87fff0", - "path": "org/jetbrains/skiko/skiko-awt/0.8.15/skiko-awt-0.8.15.jar" + "url": "io/ktor/ktor-network-tls-jvm/3.0.3/ktor-network-tls-jvm-3.0.3.jar", + "hash": "65e9a916e918fc76dd72764d17235506190ec1ec92dd7a4633246b2db12579c8", + "path": "io/ktor/ktor-network-tls-jvm/3.0.3/ktor-network-tls-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-client-cio-jvm/2.3.12/ktor-client-cio-jvm-2.3.12.jar", - "hash": "770aad975dacaae756ae85bfd6bf10e4add844df303a4bfb4de5e62ff105af1c", - "path": "io/ktor/ktor-client-cio-jvm/2.3.12/ktor-client-cio-jvm-2.3.12.jar" + "url": "org/jetbrains/dokka/dokka-cli/2.0.0/dokka-cli-2.0.0.jar", + "hash": "5f70f358160b48ef9763b2ced4e96037f1bfc8d0122de692550ca320ab4b9f20", + "path": "org/jetbrains/dokka/dokka-cli/2.0.0/dokka-cli-2.0.0.jar" }, { - "url": "io/ktor/ktor-http-cio-jvm/2.3.12/ktor-http-cio-jvm-2.3.12.jar", - "hash": "278a5c1662701db9d89f49e74ea77218ed35ad830efffbdf44522ea861477f4b", - "path": "io/ktor/ktor-http-cio-jvm/2.3.12/ktor-http-cio-jvm-2.3.12.jar" + "url": "org/jetbrains/dokka/javadoc-plugin/2.0.0/javadoc-plugin-2.0.0.jar", + "hash": "41055e59e3f0a6e04b77557641b9a2db0311e99f81c5bc7b1fcc3409bb23d99b", + "path": "org/jetbrains/dokka/javadoc-plugin/2.0.0/javadoc-plugin-2.0.0.jar" }, { - "url": "io/ktor/ktor-network-jvm/2.3.12/ktor-network-jvm-2.3.12.jar", - "hash": "095ab8afab1a9408e55a67fca6f2f96848573519ddd22e7e8eb1c17dc4bc8d1b", - "path": "io/ktor/ktor-network-jvm/2.3.12/ktor-network-jvm-2.3.12.jar" + "url": "org/jetbrains/dokka/dokka-base/2.0.0/dokka-base-2.0.0.jar", + "hash": "0411d1c38a1d100cbd346c6340c3c4b5f154a48a9c119ed11893d6fae94c91aa", + "path": "org/jetbrains/dokka/dokka-base/2.0.0/dokka-base-2.0.0.jar" }, { - "url": "io/ktor/ktor-websockets-jvm/2.3.12/ktor-websockets-jvm-2.3.12.jar", - "hash": "dc35cc539f4dfa5a4ad9b391c14d06527dfac4f64b3e3f050f5143ceb215bca4", - "path": "io/ktor/ktor-websockets-jvm/2.3.12/ktor-websockets-jvm-2.3.12.jar" + "url": "org/freemarker/freemarker/2.3.32/freemarker-2.3.32.jar", + "hash": "04d65ec1bde6cea20e3495d5e78ef96ab774d9936434861d3254bd88e7e94f92", + "path": "org/freemarker/freemarker/2.3.32/freemarker-2.3.32.jar" }, { - "url": "io/ktor/ktor-network-tls-jvm/2.3.12/ktor-network-tls-jvm-2.3.12.jar", - "hash": "2b74bf6a17776658520106de5137df9dc35df8ac1ed01624f83409962d128a75", - "path": "io/ktor/ktor-network-tls-jvm/2.3.12/ktor-network-tls-jvm-2.3.12.jar" + "url": "org/jetbrains/dokka/kotlin-as-java-plugin/2.0.0/kotlin-as-java-plugin-2.0.0.jar", + "hash": "3d8931b3c03f84edbf72f67348265205d819d327bb110043ab11d840d59bde41", + "path": "org/jetbrains/dokka/kotlin-as-java-plugin/2.0.0/kotlin-as-java-plugin-2.0.0.jar" }, { - "url": "org/jetbrains/jewel/jewel-ide-laf-bridge-243/0.26.2/jewel-ide-laf-bridge-243-0.26.2.jar", - "hash": "b92f618a53f44c0a78ec81adf08d9a0a4d80d2500f60858451160444b6eccabb", - "path": "org/jetbrains/jewel/jewel-ide-laf-bridge-243/0.26.2/jewel-ide-laf-bridge-243-0.26.2.jar" + "url": "com/soywiz/korlibs/korte/korte-jvm/4.0.10/korte-jvm-4.0.10.jar", + "hash": "b9b983817a80dbb5f9b599b508616115c1e8e1e3f1fccc301695f4530792690f", + "path": "com/soywiz/korlibs/korte/korte-jvm/4.0.10/korte-jvm-4.0.10.jar" }, { - "url": "org/jetbrains/jewel/jewel-ui-243/0.26.2/jewel-ui-243-0.26.2.jar", - "hash": "7706ba526aa859fff92db67cf12e25383f776f8825b1ba3b5482e3d140fb75e9", - "path": "org/jetbrains/jewel/jewel-ui-243/0.26.2/jewel-ui-243-0.26.2.jar" + "url": "org/jetbrains/kotlinx/kotlinx-html-jvm/0.9.1/kotlinx-html-jvm-0.9.1.jar", + "hash": "b68f39cd9ad7b46de0a0e77e7f5908d4e7661f3d0c85d2d9171543fcd5b156fb", + "path": "org/jetbrains/kotlinx/kotlinx-html-jvm/0.9.1/kotlinx-html-jvm-0.9.1.jar" }, { - "url": "org/jetbrains/jewel/jewel-foundation-243/0.26.2/jewel-foundation-243-0.26.2.jar", - "hash": "f3101a0b541d6bb6543e5f09c30ee4217f4065ee36860f6e74ca681675ed5b91", - "path": "org/jetbrains/jewel/jewel-foundation-243/0.26.2/jewel-foundation-243-0.26.2.jar" + "url": "org/jetbrains/dokka/analysis-kotlin-descriptors/2.0.0/analysis-kotlin-descriptors-2.0.0.jar", + "hash": "829788c40891a2a3c4b9435cb9ec80d645560d926e9fbbd08ccc29e8e4f1eb7c", + "path": "org/jetbrains/dokka/analysis-kotlin-descriptors/2.0.0/analysis-kotlin-descriptors-2.0.0.jar" }, { - "url": "org/jetbrains/compose/foundation/foundation-desktop/1.7.0/foundation-desktop-1.7.0.jar", - "hash": "9c7523130d795eecde9cbf3baea04d30e567cd11b79e73d3da8ce031d8b256e8", - "path": "org/jetbrains/compose/foundation/foundation-desktop/1.7.0/foundation-desktop-1.7.0.jar" + "url": "org/jetbrains/compose/ui/ui-test-junit4/1.8.0-alpha04/ui-test-junit4-1.8.0-alpha04.jar", + "hash": "8fcad9fc0ae84479092715a9fe2c06077df9f79f4b1547c1835800813ef4441c", + "path": "org/jetbrains/compose/ui/ui-test-junit4/1.8.0-alpha04/ui-test-junit4-1.8.0-alpha04.jar" }, { - "url": "androidx/annotation/annotation-jvm/1.8.0/annotation-jvm-1.8.0.jar", - "hash": "9aab326d9492800991854360ac248f493ce7f7c3183519309b78ace9e240f6f6", - "path": "androidx/annotation/annotation-jvm/1.8.0/annotation-jvm-1.8.0.jar" + "url": "org/jetbrains/compose/ui/ui-test-junit4-desktop/1.8.0-alpha04/ui-test-junit4-desktop-1.8.0-alpha04.jar", + "hash": "dcaa6f6c4ac510333c99919151a5da37ec5959905634143ce35d232d5df432a8", + "path": "org/jetbrains/compose/ui/ui-test-junit4-desktop/1.8.0-alpha04/ui-test-junit4-desktop-1.8.0-alpha04.jar" }, { - "url": "androidx/collection/collection-jvm/1.4.0/collection-jvm-1.4.0.jar", - "hash": "d5cf7b72647c7995071588fe870450ff9c8f127f253d2d4851e161b800f67ae0", - "path": "androidx/collection/collection-jvm/1.4.0/collection-jvm-1.4.0.jar" + "url": "org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar", + "hash": "66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9", + "path": "org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar" }, { - "url": "org/jetbrains/compose/animation/animation-desktop/1.7.0/animation-desktop-1.7.0.jar", - "hash": "5e40f2fc7bc8cb42243cfa7d73c631a17b3d9874af68841ad3ef778f70663be3", - "path": "org/jetbrains/compose/animation/animation-desktop/1.7.0/animation-desktop-1.7.0.jar" + "url": "org/jetbrains/compose/ui/ui-test/1.8.0-alpha04/ui-test-1.8.0-alpha04.jar", + "hash": "59800a701fa24b4e972148db89babe95c6f38b9abf67799b28a2dde995499304", + "path": "org/jetbrains/compose/ui/ui-test/1.8.0-alpha04/ui-test-1.8.0-alpha04.jar" }, { - "url": "org/jetbrains/compose/animation/animation-core-desktop/1.7.0/animation-core-desktop-1.7.0.jar", - "hash": "49b5a4e8f3a5e84702450325c0175688d55c4a12973cfc1a1a36e64f18fdf8d5", - "path": "org/jetbrains/compose/animation/animation-core-desktop/1.7.0/animation-core-desktop-1.7.0.jar" + "url": "org/jetbrains/compose/ui/ui-test-desktop/1.8.0-alpha04/ui-test-desktop-1.8.0-alpha04.jar", + "hash": "f20c0c3dd83ff8fef72d131d9d86dddbd432aa0f133c56aaf548783202a7c0f3", + "path": "org/jetbrains/compose/ui/ui-test-desktop/1.8.0-alpha04/ui-test-desktop-1.8.0-alpha04.jar" }, { - "url": "org/jetbrains/compose/ui/ui-geometry-desktop/1.7.0/ui-geometry-desktop-1.7.0.jar", - "hash": "4b86c961c0b4bce7995329fd57d4339ede11cb75d7ec90bc1b9913396addb30f", - "path": "org/jetbrains/compose/ui/ui-geometry-desktop/1.7.0/ui-geometry-desktop-1.7.0.jar" + "url": "org/jetbrains/compose/runtime/runtime/1.8.0-alpha04/runtime-1.8.0-alpha04.jar", + "hash": "3941e008a0041664eea0712d8598cd957ab045cf8facac0033b35c5a251e3ea1", + "path": "org/jetbrains/compose/runtime/runtime/1.8.0-alpha04/runtime-1.8.0-alpha04.jar" }, { - "url": "org/jetbrains/compose/foundation/foundation-layout-desktop/1.7.0/foundation-layout-desktop-1.7.0.jar", - "hash": "d2c867c13ff6632f9880e67dabab2e930007b008b9b22950fc2cc075008eceb6", - "path": "org/jetbrains/compose/foundation/foundation-layout-desktop/1.7.0/foundation-layout-desktop-1.7.0.jar" + "url": "org/jetbrains/compose/ui/ui/1.8.0-alpha04/ui-1.8.0-alpha04.jar", + "hash": "d1bbc8b6155f8db7ef3d3ee66cf506cc1d533fddc2de0590d6e5575d16fb39ae", + "path": "org/jetbrains/compose/ui/ui/1.8.0-alpha04/ui-1.8.0-alpha04.jar" }, { - "url": "org/jetbrains/compose/ui/ui-desktop/1.7.0/ui-desktop-1.7.0.jar", - "hash": "b2ecafea6072044624c4b66de01d4891fd9c80b26885b03ced036ccceacc0e27", - "path": "org/jetbrains/compose/ui/ui-desktop/1.7.0/ui-desktop-1.7.0.jar" + "url": "org/jetbrains/compose/ui/ui-text/1.8.0-alpha04/ui-text-1.8.0-alpha04.jar", + "hash": "839f2e601ac1c923c9a8402b173c82025d666aa1e614af5e5423808d85e219e0", + "path": "org/jetbrains/compose/ui/ui-text/1.8.0-alpha04/ui-text-1.8.0-alpha04.jar" }, { - "url": "androidx/lifecycle/lifecycle-common-jvm/2.8.5/lifecycle-common-jvm-2.8.5.jar", - "hash": "61c873a7327c946ec033c310bb98f3f92eeabcede0e1a5200ab8a1896483c7bf", - "path": "androidx/lifecycle/lifecycle-common-jvm/2.8.5/lifecycle-common-jvm-2.8.5.jar" + "url": "org/jetbrains/compose/ui/ui-unit/1.8.0-alpha04/ui-unit-1.8.0-alpha04.jar", + "hash": "10e5f2639f20c8898e38a319ab9008d024ee5b92fafc75aa2819802fc8f6b72b", + "path": "org/jetbrains/compose/ui/ui-unit/1.8.0-alpha04/ui-unit-1.8.0-alpha04.jar" }, { - "url": "androidx/lifecycle/lifecycle-runtime-desktop/2.8.5/lifecycle-runtime-desktop-2.8.5.jar", - "hash": "10bfe53bb2752f967751a5102cdb785eeea54e1d4df6bde88fb0f50b0a49156c", - "path": "androidx/lifecycle/lifecycle-runtime-desktop/2.8.5/lifecycle-runtime-desktop-2.8.5.jar" + "url": "org/jetbrains/annotations/23.0.0/annotations-23.0.0.jar", + "hash": "7b0f19724082cbfcbc66e5abea2b9bc92cf08a1ea11e191933ed43801eb3cd05", + "path": "org/jetbrains/annotations/23.0.0/annotations-23.0.0.jar" + }, + { + "url": "org/jetbrains/compose/desktop/desktop/1.8.0-alpha04/desktop-1.8.0-alpha04.jar", + "hash": "bff3d1e895fd5abd54ee725dab59214acabf900e1a0784544d20cf20521bf9f3", + "path": "org/jetbrains/compose/desktop/desktop/1.8.0-alpha04/desktop-1.8.0-alpha04.jar" + }, + { + "url": "org/jetbrains/compose/desktop/desktop-jvm/1.8.0-alpha04/desktop-jvm-1.8.0-alpha04.jar", + "hash": "21913b100d46165707b2b656ed5b38bc8eda0f6063f5532787e9d1bf7f943efe", + "path": "org/jetbrains/compose/desktop/desktop-jvm/1.8.0-alpha04/desktop-jvm-1.8.0-alpha04.jar" + }, + { + "url": "org/jetbrains/compose/runtime/runtime/1.8.0-alpha04/runtime-1.8.0-alpha04.jar", + "hash": "3941e008a0041664eea0712d8598cd957ab045cf8facac0033b35c5a251e3ea1", + "path": "org/jetbrains/compose/runtime/runtime/1.8.0-alpha04/runtime-1.8.0-alpha04.jar" + }, + { + "url": "org/jetbrains/compose/ui/ui/1.8.0-alpha04/ui-1.8.0-alpha04.jar", + "hash": "d1bbc8b6155f8db7ef3d3ee66cf506cc1d533fddc2de0590d6e5575d16fb39ae", + "path": "org/jetbrains/compose/ui/ui/1.8.0-alpha04/ui-1.8.0-alpha04.jar" + }, + { + "url": "org/jetbrains/compose/ui/ui-tooling-preview/1.8.0-alpha04/ui-tooling-preview-1.8.0-alpha04.jar", + "hash": "1b409141a9ee6ed38e76a8fb8f9cf280030bf45375ba7e07e60b2742039b573e", + "path": "org/jetbrains/compose/ui/ui-tooling-preview/1.8.0-alpha04/ui-tooling-preview-1.8.0-alpha04.jar" + }, + { + "url": "org/jetbrains/compose/ui/ui-tooling-preview-desktop/1.8.0-alpha04/ui-tooling-preview-desktop-1.8.0-alpha04.jar", + "hash": "497823104629591a0bf40bb99546a6fc43fce0abbb3bfcac746748d60e8dba80", + "path": "org/jetbrains/compose/ui/ui-tooling-preview-desktop/1.8.0-alpha04/ui-tooling-preview-desktop-1.8.0-alpha04.jar" + }, + { + "url": "org/jetbrains/compose/runtime/runtime/1.8.0-alpha04/runtime-1.8.0-alpha04.jar", + "hash": "3941e008a0041664eea0712d8598cd957ab045cf8facac0033b35c5a251e3ea1", + "path": "org/jetbrains/compose/runtime/runtime/1.8.0-alpha04/runtime-1.8.0-alpha04.jar" + }, + { + "url": "org/jetbrains/compose/foundation/foundation-desktop/1.8.0-alpha04/foundation-desktop-1.8.0-alpha04.jar", + "hash": "52c64187d615ad38bf3df41068b2a0180d8188d0f875f79a46938f3073fdafbb", + "path": "org/jetbrains/compose/foundation/foundation-desktop/1.8.0-alpha04/foundation-desktop-1.8.0-alpha04.jar" + }, + { + "url": "androidx/annotation/annotation-jvm/1.9.1/annotation-jvm-1.9.1.jar", + "hash": "1e343917ebf27ba96fe4dc52b1cad7fd32b738fbc6355bb6cd5b3b305d7212d0", + "path": "androidx/annotation/annotation-jvm/1.9.1/annotation-jvm-1.9.1.jar" + }, + { + "url": "androidx/collection/collection-jvm/1.5.0-beta01/collection-jvm-1.5.0-beta01.jar", + "hash": "70b35924e4babcdffa37d0e575ee039c56a2d97123342624c48b603233704341", + "path": "androidx/collection/collection-jvm/1.5.0-beta01/collection-jvm-1.5.0-beta01.jar" + }, + { + "url": "androidx/performance/performance-annotation-jvm/1.0.0-alpha01/performance-annotation-jvm-1.0.0-alpha01.jar", + "hash": "8d00edd2b0ed35431017aa5997397e1dd140d4547f55462cd18a0c62c817e847", + "path": "androidx/performance/performance-annotation-jvm/1.0.0-alpha01/performance-annotation-jvm-1.0.0-alpha01.jar" + }, + { + "url": "org/jetbrains/compose/animation/animation-desktop/1.8.0-alpha04/animation-desktop-1.8.0-alpha04.jar", + "hash": "72e9e981a79b6db970fbc770163892b773e29db1b7dcbf0a865c5ec34ed3f9ac", + "path": "org/jetbrains/compose/animation/animation-desktop/1.8.0-alpha04/animation-desktop-1.8.0-alpha04.jar" + }, + { + "url": "org/jetbrains/compose/animation/animation-core-desktop/1.8.0-alpha04/animation-core-desktop-1.8.0-alpha04.jar", + "hash": "291aea1ca6feab3b0ac31cc1646ee2e634152e282bba2636fdd7e1b7e0c5b50c", + "path": "org/jetbrains/compose/animation/animation-core-desktop/1.8.0-alpha04/animation-core-desktop-1.8.0-alpha04.jar" + }, + { + "url": "org/jetbrains/compose/ui/ui-geometry-desktop/1.8.0-alpha04/ui-geometry-desktop-1.8.0-alpha04.jar", + "hash": "c22d44c85a5d557f61a25b610704f70507c7ad4fd161af712be3adf5c6614429", + "path": "org/jetbrains/compose/ui/ui-geometry-desktop/1.8.0-alpha04/ui-geometry-desktop-1.8.0-alpha04.jar" + }, + { + "url": "org/jetbrains/compose/foundation/foundation-layout-desktop/1.8.0-alpha04/foundation-layout-desktop-1.8.0-alpha04.jar", + "hash": "38297c980358678a238359b5d2bbb90e1136b49b800c6b2f0276e8475abe48c2", + "path": "org/jetbrains/compose/foundation/foundation-layout-desktop/1.8.0-alpha04/foundation-layout-desktop-1.8.0-alpha04.jar" + }, + { + "url": "org/jetbrains/compose/runtime/runtime-desktop/1.8.0-alpha04/runtime-desktop-1.8.0-alpha04.jar", + "hash": "758a8b46d8f74d3dd6a18ecf50db2c065da1714d5391eafa8cfc0d4ae0056327", + "path": "org/jetbrains/compose/runtime/runtime-desktop/1.8.0-alpha04/runtime-desktop-1.8.0-alpha04.jar" + }, + { + "url": "org/jetbrains/compose/ui/ui-desktop/1.8.0-alpha04/ui-desktop-1.8.0-alpha04.jar", + "hash": "2686fc8d0eea80b75ff8bee6438c16e7d8d8c08341bcd4d5748c389c67492fb9", + "path": "org/jetbrains/compose/ui/ui-desktop/1.8.0-alpha04/ui-desktop-1.8.0-alpha04.jar" + }, + { + "url": "androidx/lifecycle/lifecycle-common-jvm/2.9.0-alpha08/lifecycle-common-jvm-2.9.0-alpha08.jar", + "hash": "acb453973a1360ed18d840580e6f8d71dcabfa527aa1e859bed484db4c5335b1", + "path": "androidx/lifecycle/lifecycle-common-jvm/2.9.0-alpha08/lifecycle-common-jvm-2.9.0-alpha08.jar" + }, + { + "url": "org/jspecify/jspecify/1.0.0/jspecify-1.0.0.jar", + "hash": "1fad6e6be7557781e4d33729d49ae1cdc8fdda6fe477bb0cc68ce351eafdfbab", + "path": "org/jspecify/jspecify/1.0.0/jspecify-1.0.0.jar" + }, + { + "url": "androidx/lifecycle/lifecycle-runtime-desktop/2.9.0-alpha08/lifecycle-runtime-desktop-2.9.0-alpha08.jar", + "hash": "739e08e477466cd87184bbd17c490b3eb81d04dd17fe8b68c0b549a459e583ea", + "path": "androidx/lifecycle/lifecycle-runtime-desktop/2.9.0-alpha08/lifecycle-runtime-desktop-2.9.0-alpha08.jar" + }, + { + "url": "androidx/lifecycle/lifecycle-common/2.9.0-alpha08/lifecycle-common-2.9.0-alpha08.jar", + "hash": "49e9f49d93194176788bb8ca2672f69358ba466c00405861d91e11f0610c5f76", + "path": "androidx/lifecycle/lifecycle-common/2.9.0-alpha08/lifecycle-common-2.9.0-alpha08.jar" + }, + { + "url": "androidx/annotation/annotation/1.8.1/annotation-1.8.1.jar", + "hash": "fa5e67ffcc52a0413f4b39c2737b43c1ba6c6975b4bd4a4ea8627549e766285b", + "path": "androidx/annotation/annotation/1.8.1/annotation-1.8.1.jar" + }, + { + "url": "org/jetbrains/kotlinx/atomicfu/0.17.0/atomicfu-0.17.0.jar", + "hash": "5cbc0c867b5028242a760149b25e8190c9247f648e3e5e72501bea1fa7911b23", + "path": "org/jetbrains/kotlinx/atomicfu/0.17.0/atomicfu-0.17.0.jar" }, { "url": "androidx/arch/core/core-common/2.2.0/core-common-2.2.0.jar", @@ -5255,54 +5820,49 @@ "path": "androidx/arch/core/core-common/2.2.0/core-common-2.2.0.jar" }, { - "url": "androidx/lifecycle/lifecycle-viewmodel-desktop/2.8.5/lifecycle-viewmodel-desktop-2.8.5.jar", - "hash": "21ec0e77dc02ed0d6bfe6f3cba7f43e25400446d89ded8568ee165437e0c1922", - "path": "androidx/lifecycle/lifecycle-viewmodel-desktop/2.8.5/lifecycle-viewmodel-desktop-2.8.5.jar" + "url": "androidx/lifecycle/lifecycle-viewmodel-desktop/2.9.0-alpha08/lifecycle-viewmodel-desktop-2.9.0-alpha08.jar", + "hash": "5d120a2592f5d83e1cd7991aafafdd946abd77868cd22e769aa9a6027eb4b230", + "path": "androidx/lifecycle/lifecycle-viewmodel-desktop/2.9.0-alpha08/lifecycle-viewmodel-desktop-2.9.0-alpha08.jar" }, { - "url": "org/jetbrains/androidx/lifecycle/lifecycle-runtime-compose-desktop/2.8.3/lifecycle-runtime-compose-desktop-2.8.3.jar", - "hash": "c1e51a246e69e237e87d289be08bebd8d406ffe9ff60a125e8f2072db6119966", - "path": "org/jetbrains/androidx/lifecycle/lifecycle-runtime-compose-desktop/2.8.3/lifecycle-runtime-compose-desktop-2.8.3.jar" + "url": "org/jetbrains/androidx/lifecycle/lifecycle-runtime-compose-desktop/2.9.0-alpha04/lifecycle-runtime-compose-desktop-2.9.0-alpha04.jar", + "hash": "d284a13d10c29b8fe93ea5c39413cb8d7406532ba0f13760f7c5ce3aae977b84", + "path": "org/jetbrains/androidx/lifecycle/lifecycle-runtime-compose-desktop/2.9.0-alpha04/lifecycle-runtime-compose-desktop-2.9.0-alpha04.jar" }, { - "url": "androidx/annotation/annotation/1.8.0/annotation-1.8.0.jar", - "hash": "fe70ace6f942a5fc29045bb2fe25b4e77bdc742dc69f76ed65b39c3ae185888e", - "path": "androidx/annotation/annotation/1.8.0/annotation-1.8.0.jar" + "url": "org/jetbrains/compose/runtime/runtime-saveable-desktop/1.8.0-alpha04/runtime-saveable-desktop-1.8.0-alpha04.jar", + "hash": "33977899f904a7ee5c6992d79163af59d214cd898b0af3d37e094ec37d8ef59b", + "path": "org/jetbrains/compose/runtime/runtime-saveable-desktop/1.8.0-alpha04/runtime-saveable-desktop-1.8.0-alpha04.jar" }, { - "url": "org/jetbrains/compose/runtime/runtime-saveable-desktop/1.7.0/runtime-saveable-desktop-1.7.0.jar", - "hash": "4306363be90eaabe74b900db4c32ed1f15c7548e5b30a7093c4ee40c436b9b8c", - "path": "org/jetbrains/compose/runtime/runtime-saveable-desktop/1.7.0/runtime-saveable-desktop-1.7.0.jar" + "url": "org/jetbrains/compose/ui/ui-backhandler-desktop/1.8.0-alpha04/ui-backhandler-desktop-1.8.0-alpha04.jar", + "hash": "d93b6f0605d3d7a7ed7c5ca1782cbfc9194ca4a074ce8cfbe5b6018618045efb", + "path": "org/jetbrains/compose/ui/ui-backhandler-desktop/1.8.0-alpha04/ui-backhandler-desktop-1.8.0-alpha04.jar" }, { - "url": "org/jetbrains/compose/ui/ui-graphics-desktop/1.7.0/ui-graphics-desktop-1.7.0.jar", - "hash": "4fb70e8727af0c6e0d44d8f4bff65db9342a95c7996a180898fed71716787db8", - "path": "org/jetbrains/compose/ui/ui-graphics-desktop/1.7.0/ui-graphics-desktop-1.7.0.jar" + "url": "org/jetbrains/compose/ui/ui-graphics-desktop/1.8.0-alpha04/ui-graphics-desktop-1.8.0-alpha04.jar", + "hash": "7605320d82149da3b78fb83e97a006c36cee41c9e6df6bece9e67a9e3bd27827", + "path": "org/jetbrains/compose/ui/ui-graphics-desktop/1.8.0-alpha04/ui-graphics-desktop-1.8.0-alpha04.jar" }, { - "url": "org/jetbrains/compose/ui/ui-unit-desktop/1.7.0/ui-unit-desktop-1.7.0.jar", - "hash": "598b52e257ed674145694b9790a7383a90fed2ec7154ba09ace4aa983c65b1a2", - "path": "org/jetbrains/compose/ui/ui-unit-desktop/1.7.0/ui-unit-desktop-1.7.0.jar" + "url": "org/jetbrains/compose/ui/ui-unit-desktop/1.8.0-alpha04/ui-unit-desktop-1.8.0-alpha04.jar", + "hash": "505a77fcd544d8e158e3ad5b852adefcd961eb8fbd341feb8e21a693952db906", + "path": "org/jetbrains/compose/ui/ui-unit-desktop/1.8.0-alpha04/ui-unit-desktop-1.8.0-alpha04.jar" }, { - "url": "org/jetbrains/compose/ui/ui-text-desktop/1.7.0/ui-text-desktop-1.7.0.jar", - "hash": "80e07e4ca739f7b6122f63e9a17e6853b947220ecb1180f8dcaf419d0e468996", - "path": "org/jetbrains/compose/ui/ui-text-desktop/1.7.0/ui-text-desktop-1.7.0.jar" + "url": "org/jetbrains/compose/ui/ui-text-desktop/1.8.0-alpha04/ui-text-desktop-1.8.0-alpha04.jar", + "hash": "eb8ef32b95d6099098054cd494b00f1c9e3ddaa49e164c296dd03866c71bc45d", + "path": "org/jetbrains/compose/ui/ui-text-desktop/1.8.0-alpha04/ui-text-desktop-1.8.0-alpha04.jar" }, { - "url": "org/jetbrains/compose/ui/ui-util-desktop/1.7.0/ui-util-desktop-1.7.0.jar", - "hash": "161dcc73b929da61cee50045e96fb02f1633c36f18a2ef38b5c2c44c38606b52", - "path": "org/jetbrains/compose/ui/ui-util-desktop/1.7.0/ui-util-desktop-1.7.0.jar" + "url": "org/jetbrains/compose/ui/ui-util-desktop/1.8.0-alpha04/ui-util-desktop-1.8.0-alpha04.jar", + "hash": "cdd9f33872710c14df7550dadbfc91d55ad9a3b7134431c2af8eb42f757e17af", + "path": "org/jetbrains/compose/ui/ui-util-desktop/1.8.0-alpha04/ui-util-desktop-1.8.0-alpha04.jar" }, { - "url": "org/jetbrains/compose/components/components-resources-desktop/1.7.0/components-resources-desktop-1.7.0.jar", - "hash": "1584b739e8f1869e4f340519dc984d4a44582a80ef323e655999ddb18dd954c2", - "path": "org/jetbrains/compose/components/components-resources-desktop/1.7.0/components-resources-desktop-1.7.0.jar" - }, - { - "url": "org/jetbrains/compose/runtime/runtime-desktop/1.7.0/runtime-desktop-1.7.0.jar", - "hash": "76e3250547b9ca3cb1a49c272933b25cb3bccbc9ba12775dd6161a63d9aa7cf1", - "path": "org/jetbrains/compose/runtime/runtime-desktop/1.7.0/runtime-desktop-1.7.0.jar" + "url": "org/jetbrains/kotlinx/atomicfu-jvm/0.23.2/atomicfu-jvm-0.23.2.jar", + "hash": "101ff43ff563fca167af5ade98c3b69bf569010eab745013b84d8955034d3b3c", + "path": "org/jetbrains/kotlinx/atomicfu-jvm/0.23.2/atomicfu-jvm-0.23.2.jar" }, { "url": "cglib/cglib-nodep/3.3.0/cglib-nodep-3.3.0.jar", @@ -5335,14 +5895,14 @@ "path": "org/jetbrains/intellij/deps/debugger-memory-agent/1.0.51/debugger-memory-agent-1.0.51.jar" }, { - "url": "org/jetbrains/intellij/deps/sa-jdwp/1.22/sa-jdwp-1.22.jar", - "hash": "eaee1397eb553601c29954945e6dafbd7b9a17983704da4088db4da65a156b21", - "path": "org/jetbrains/intellij/deps/sa-jdwp/1.22/sa-jdwp-1.22.jar" + "url": "org/jetbrains/intellij/deps/sa-jdwp/1.24/sa-jdwp-1.24.jar", + "hash": "2334e030f1ebdaddbd84aa8cd3af514a3b80d674b343532187b6d6bdff24329d", + "path": "org/jetbrains/intellij/deps/sa-jdwp/1.24/sa-jdwp-1.24.jar" }, { - "url": "org/jetbrains/intellij/deps/debugger-agent/1.47/debugger-agent-1.47.jar", - "hash": "abdc709c4777d5de52f72cfd40f787d654eaea718a6b7186445a40b5bb81defe", - "path": "org/jetbrains/intellij/deps/debugger-agent/1.47/debugger-agent-1.47.jar" + "url": "org/jetbrains/intellij/deps/debugger-agent/1.53/debugger-agent-1.53.jar", + "hash": "cdd1e043326c1cd5a73c1a97fcf7838544c01a3293badb7e9440de5edd899e9b", + "path": "org/jetbrains/intellij/deps/debugger-agent/1.53/debugger-agent-1.53.jar" }, { "url": "org/jacoco/org.jacoco.ant/0.8.12/org.jacoco.ant-0.8.12.jar", @@ -5420,9 +5980,9 @@ "path": "org/junit/platform/junit-platform-engine/1.8.1/junit-platform-engine-1.8.1.jar" }, { - "url": "org/languagetool/languagetool-core/6.4/languagetool-core-6.4.jar", - "hash": "d294773b397ab740f39add9cf4028f15399599cb762af359448586e777a5e3d3", - "path": "org/languagetool/languagetool-core/6.4/languagetool-core-6.4.jar" + "url": "org/jetbrains/intellij/deps/languagetool/languagetool-core/6.5.0.12/languagetool-core-6.5.0.12.jar", + "hash": "e10d39ffb791e396af55a91c469103f1dd0b8c8345cae5a33597ac7d11cc3698", + "path": "org/jetbrains/intellij/deps/languagetool/languagetool-core/6.5.0.12/languagetool-core-6.5.0.12.jar" }, { "url": "edu/washington/cs/knowitall/openregex/1.1.1/openregex-1.1.1.jar", @@ -5430,14 +5990,14 @@ "path": "edu/washington/cs/knowitall/openregex/1.1.1/openregex-1.1.1.jar" }, { - "url": "org/languagetool/language-ru/6.4/language-ru-6.4.jar", - "hash": "1aca970f0f9a297bb12dde5ee70e2ba413a0f312c464fb3e155db696f867e4fe", - "path": "org/languagetool/language-ru/6.4/language-ru-6.4.jar" + "url": "org/jetbrains/intellij/deps/languagetool/language-ru/6.5.0.12/language-ru-6.5.0.12.jar", + "hash": "41ae74c748ee15fdc90ea9536575490850b8d044b39d92f85e2d30072ca0cb8c", + "path": "org/jetbrains/intellij/deps/languagetool/language-ru/6.5.0.12/language-ru-6.5.0.12.jar" }, { - "url": "org/languagetool/language-de/6.4/language-de-6.4.jar", - "hash": "f9f6d61c460c86e30e28397c3326a998f93953b2a2a02c2af91003c7838470ee", - "path": "org/languagetool/language-de/6.4/language-de-6.4.jar" + "url": "org/jetbrains/intellij/deps/languagetool/language-de/6.5.0.12/language-de-6.5.0.12.jar", + "hash": "75cb2c34c15ef013a3b910bd072e006dec9128f5f39060202addcb7f85961714", + "path": "org/jetbrains/intellij/deps/languagetool/language-de/6.5.0.12/language-de-6.5.0.12.jar" }, { "url": "de/danielnaber/german-pos-dict/1.2.4/german-pos-dict-1.2.4.jar", @@ -5450,19 +6010,14 @@ "path": "de/danielnaber/jwordsplitter/4.7/jwordsplitter-4.7.jar" }, { - "url": "edu/washington/cs/knowitall/openregex/1.1.1/openregex-1.1.1.jar", - "hash": "33021c9cca70c6292d53ff7dac5d1832d422e986aba52ec998532a5f47f921f8", - "path": "edu/washington/cs/knowitall/openregex/1.1.1/openregex-1.1.1.jar" + "url": "org/jetbrains/intellij/deps/languagetool/language-it/6.5.0.12/language-it-6.5.0.12.jar", + "hash": "a9507ccc947090df269fe7f75eb416f1ac69941920c8075497606d8f8f275f8c", + "path": "org/jetbrains/intellij/deps/languagetool/language-it/6.5.0.12/language-it-6.5.0.12.jar" }, { - "url": "org/languagetool/language-it/6.4/language-it-6.4.jar", - "hash": "7b90dfc47041ff31a7fd06c1803f30de88072278ad768d65c588205b68fceb25", - "path": "org/languagetool/language-it/6.4/language-it-6.4.jar" - }, - { - "url": "org/languagetool/languagetool-core/6.4/languagetool-core-6.4.jar", - "hash": "d294773b397ab740f39add9cf4028f15399599cb762af359448586e777a5e3d3", - "path": "org/languagetool/languagetool-core/6.4/languagetool-core-6.4.jar" + "url": "org/jetbrains/intellij/deps/languagetool/languagetool-core/6.5.0.12/languagetool-core-6.5.0.12.jar", + "hash": "e10d39ffb791e396af55a91c469103f1dd0b8c8345cae5a33597ac7d11cc3698", + "path": "org/jetbrains/intellij/deps/languagetool/languagetool-core/6.5.0.12/languagetool-core-6.5.0.12.jar" }, { "url": "edu/washington/cs/knowitall/openregex/1.1.1/openregex-1.1.1.jar", @@ -5470,9 +6025,9 @@ "path": "edu/washington/cs/knowitall/openregex/1.1.1/openregex-1.1.1.jar" }, { - "url": "org/languagetool/language-en/6.4/language-en-6.4.jar", - "hash": "68a46d9f5d85f207ea470863ead0d5b498d7b112f6f1fb98e9d2e58c7aabfe38", - "path": "org/languagetool/language-en/6.4/language-en-6.4.jar" + "url": "org/jetbrains/intellij/deps/languagetool/language-en/6.5.0.12/language-en-6.5.0.12.jar", + "hash": "3eae20541a836164fc33136971c8d09899b08fecf4df1ccc490b1371a4563730", + "path": "org/jetbrains/intellij/deps/languagetool/language-en/6.5.0.12/language-en-6.5.0.12.jar" }, { "url": "org/languagetool/english-pos-dict/0.3/english-pos-dict-0.3.jar", @@ -5540,59 +6095,54 @@ "path": "org/json/json/20240205/json-20240205.jar" }, { - "url": "ai/grazie/utils/utils-lucene-lt-compatibility/0.3.133/utils-lucene-lt-compatibility-0.3.133.jar", - "hash": "d42719647748cf655f126ddad767ef62804079fe9b52d81ced30a7b7bd4ca780", - "path": "ai/grazie/utils/utils-lucene-lt-compatibility/0.3.133/utils-lucene-lt-compatibility-0.3.133.jar" + "url": "ai/grazie/utils/utils-lucene-lt-compatibility/0.4.16/utils-lucene-lt-compatibility-0.4.16.jar", + "hash": "c9f992502b804b28381d5b194f855280e69b8866c292a1449589ad389f1c05a9", + "path": "ai/grazie/utils/utils-lucene-lt-compatibility/0.4.16/utils-lucene-lt-compatibility-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-langs-jvm/0.3.133/nlp-langs-jvm-0.3.133.jar", - "hash": "270164fec0acafa1a38795d66229b7099776879bb4eb659fe01c505eb2659f5c", - "path": "ai/grazie/nlp/nlp-langs-jvm/0.3.133/nlp-langs-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-detect-jvm/0.4.16/nlp-detect-jvm-0.4.16.jar", + "hash": "5f28a3687f814c10cef0e3a733295ba26732d06242bad4f5e991c802c30169f7", + "path": "ai/grazie/nlp/nlp-detect-jvm/0.4.16/nlp-detect-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-detect-jvm/0.3.133/nlp-detect-jvm-0.3.133.jar", - "hash": "24c494d1cb209ebbf2dd6fffa7c67499731db59968f28a560bb2938f35bcd22f", - "path": "ai/grazie/nlp/nlp-detect-jvm/0.3.133/nlp-detect-jvm-0.3.133.jar" + "url": "ai/grazie/utils/utils-common-jvm/0.4.16/utils-common-jvm-0.4.16.jar", + "hash": "1721b8bb4a7dbcbc34da8cec18100f03b72c8c06d4e945622c1a24b720981b73", + "path": "ai/grazie/utils/utils-common-jvm/0.4.16/utils-common-jvm-0.4.16.jar" }, { - "url": "ai/grazie/utils/utils-common-jvm/0.3.133/utils-common-jvm-0.3.133.jar", - "hash": "c543a072a0f4d96c3afa37756f694be4a9348777fd7690ab4bd21e7df466a309", - "path": "ai/grazie/utils/utils-common-jvm/0.3.133/utils-common-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-common-jvm/0.4.16/nlp-common-jvm-0.4.16.jar", + "hash": "d1c17c4dbb3f5f43b6e3cfc30a319d1a050aa5425ab0ce27b802b90f114a649e", + "path": "ai/grazie/nlp/nlp-common-jvm/0.4.16/nlp-common-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-common-jvm/0.3.133/nlp-common-jvm-0.3.133.jar", - "hash": "985c391e50c040cfb4f0e9f2bd297f1333343392e894ad4c3cc52846f8693e6b", - "path": "ai/grazie/nlp/nlp-common-jvm/0.3.133/nlp-common-jvm-0.3.133.jar" + "url": "ai/grazie/model/model-text-jvm/0.4.16/model-text-jvm-0.4.16.jar", + "hash": "fac290bca4ef5ac2084e35dcb1663d5725de799d51333359931f542690672d7b", + "path": "ai/grazie/model/model-text-jvm/0.4.16/model-text-jvm-0.4.16.jar" }, { - "url": "ai/grazie/model/model-text-jvm/0.3.133/model-text-jvm-0.3.133.jar", - "hash": "dfd010d8b4d0522121fef66652cae5c73f0dfde77cc79cf1c73067a7e63e8cf2", - "path": "ai/grazie/model/model-text-jvm/0.3.133/model-text-jvm-0.3.133.jar" + "url": "ai/grazie/model/model-common-jvm/0.4.16/model-common-jvm-0.4.16.jar", + "hash": "58339397d3350db6c549a5ebee98b9611693c187fa2311b18aa849e27067c438", + "path": "ai/grazie/model/model-common-jvm/0.4.16/model-common-jvm-0.4.16.jar" }, { - "url": "ai/grazie/model/model-common-jvm/0.3.133/model-common-jvm-0.3.133.jar", - "hash": "8fb936cb7c83862210841d81a870a9ea6677a0122ff0c7c8c055705c3945100a", - "path": "ai/grazie/model/model-common-jvm/0.3.133/model-common-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-patterns-jvm/0.4.16/nlp-patterns-jvm-0.4.16.jar", + "hash": "add762a914bd20ca21ea25b43f24627f902b687514ddce9ba28916bb20e8066e", + "path": "ai/grazie/nlp/nlp-patterns-jvm/0.4.16/nlp-patterns-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-patterns-jvm/0.3.133/nlp-patterns-jvm-0.3.133.jar", - "hash": "739fa806547fa71a3c36ae65128308138617d19b699db272bd9cfcede754cc50", - "path": "ai/grazie/nlp/nlp-patterns-jvm/0.3.133/nlp-patterns-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-tokenizer-jvm/0.4.16/nlp-tokenizer-jvm-0.4.16.jar", + "hash": "fcc839a317aba9e165c4d061e0f266dcebf32c7ceee9cb5571144cd1db60d63d", + "path": "ai/grazie/nlp/nlp-tokenizer-jvm/0.4.16/nlp-tokenizer-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-tokenizer-jvm/0.3.133/nlp-tokenizer-jvm-0.3.133.jar", - "hash": "3c3b9b40dc65a8542edcf5f919cc700536829d0c2b9f9eb23e8c89e2d7c437d9", - "path": "ai/grazie/nlp/nlp-tokenizer-jvm/0.3.133/nlp-tokenizer-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-similarity-jvm/0.4.16/nlp-similarity-jvm-0.4.16.jar", + "hash": "79a42758913de07c1ebeb851a4a70236309ea12dcb64d1db7ea007618593470f", + "path": "ai/grazie/nlp/nlp-similarity-jvm/0.4.16/nlp-similarity-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-similarity-jvm/0.3.133/nlp-similarity-jvm-0.3.133.jar", - "hash": "1071e4c47a14f1df6d3ecaf0c5d3c2272fe9c691e350e5cd442385f7a5f8256c", - "path": "ai/grazie/nlp/nlp-similarity-jvm/0.3.133/nlp-similarity-jvm-0.3.133.jar" - }, - { - "url": "ai/grazie/nlp/nlp-langs-jvm/0.3.133/nlp-langs-jvm-0.3.133.jar", - "hash": "270164fec0acafa1a38795d66229b7099776879bb4eb659fe01c505eb2659f5c", - "path": "ai/grazie/nlp/nlp-langs-jvm/0.3.133/nlp-langs-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-langs-jvm/0.4.16/nlp-langs-jvm-0.4.16.jar", + "hash": "dd132003dfc893e046834ec15ec5104f067d7a90eb9786e85f49b4e47bac4561", + "path": "ai/grazie/nlp/nlp-langs-jvm/0.4.16/nlp-langs-jvm-0.4.16.jar" }, { "url": "io/github/classgraph/classgraph/4.8.87/classgraph-4.8.87.jar", @@ -5609,6 +6159,11 @@ "hash": "cdb3d038c188de6f46ffd5cd930be2d5e5dba59c53b26437995d534e3db2fb80", "path": "org/objenesis/objenesis/3.1/objenesis-3.1.jar" }, + { + "url": "org/apache/ant/ant/1.10.15/ant-1.10.15.jar", + "hash": "763acda4a69588c9ea8817a952851ff0c2fc4bffa1d081c2565dc407f29d5794", + "path": "org/apache/ant/ant/1.10.15/ant-1.10.15.jar" + }, { "url": "org/jetbrains/intellij/deps/filePrediction/model/file-prediction-model/0.3.0/file-prediction-model-0.3.0.jar", "hash": "e506fd77462afcdb16f0ccfe7c96c1549443580a3be240c5dcff1ae2bfac0555", @@ -6014,11 +6569,6 @@ "hash": "e7faa7021cfd9042231fbb5e6bbea2616f7c6947905e5db95c196e9a602f88a0", "path": "org/jetbrains/intellij/deps/android/tools/base/libserver-flag-test-proto/232.1.23.0/libserver-flag-test-proto-232.1.23.0.jar" }, - { - "url": "org/jetbrains/intellij/deps/android/tools/base/liblint-checks-proto.lib/232.1.23.0/liblint-checks-proto.lib-232.1.23.0.jar", - "hash": "e7cbc38e71c6d6c6368fd73ee6c56c88e10c504d08e373c1c9afc262e0430512", - "path": "org/jetbrains/intellij/deps/android/tools/base/liblint-checks-proto.lib/232.1.23.0/liblint-checks-proto.lib-232.1.23.0.jar" - }, { "url": "org/jetbrains/intellij/deps/android/tools/base/traceprocessor_protos/232.1.23.0/traceprocessor_protos-232.1.23.0.jar", "hash": "d34f8d993c5ad098050d512e3abfd2e6361b73e41b029f58af20dfc89e4ad62c", @@ -6054,31 +6604,6 @@ "hash": "7b5a2c04f1c942af3d8b891a9a535e74cfa45b4151b7835c3e9f63e96ec0332f", "path": "org/eclipse/elk/org.eclipse.elk.alg.common.compaction/0.3.0/org.eclipse.elk.alg.common.compaction-0.3.0.jar" }, - { - "url": "org/jetbrains/intellij/deps/android/tools/base/jb-r8/232.1.23.0/jb-r8-232.1.23.0.jar", - "hash": "2f0cb16c17ded3eaeeebbd3abd350651569d94f28bee887563de65f0e8b54153", - "path": "org/jetbrains/intellij/deps/android/tools/base/jb-r8/232.1.23.0/jb-r8-232.1.23.0.jar" - }, - { - "url": "org/jetbrains/intellij/deps/android/tools/base/libandroid-core-proto-test/232.1.23.0/libandroid-core-proto-test-232.1.23.0.jar", - "hash": "8be2430e78591325783f5491959a86685404626ba9c585fb1ba8248e0bf10ed7", - "path": "org/jetbrains/intellij/deps/android/tools/base/libandroid-core-proto-test/232.1.23.0/libandroid-core-proto-test-232.1.23.0.jar" - }, - { - "url": "org/jetbrains/intellij/deps/android/tools/base/libstudio.android-test-plugin-host-retention-proto/232.1.23.0/libstudio.android-test-plugin-host-retention-proto-232.1.23.0.jar", - "hash": "4b7f508bdaa694e8e4e8d7df88c934e159871fa5228a045f42666f6c59dd5541", - "path": "org/jetbrains/intellij/deps/android/tools/base/libstudio.android-test-plugin-host-retention-proto/232.1.23.0/libstudio.android-test-plugin-host-retention-proto-232.1.23.0.jar" - }, - { - "url": "org/jetbrains/intellij/deps/android/tools/base/libandroid-core-proto/232.1.23.0/libandroid-core-proto-232.1.23.0.jar", - "hash": "3f1c9633ab5088526450c72bd456d6a6704a70744b8118638233fd63b1001ed0", - "path": "org/jetbrains/intellij/deps/android/tools/base/libandroid-core-proto/232.1.23.0/libandroid-core-proto-232.1.23.0.jar" - }, - { - "url": "org/jetbrains/intellij/deps/android/tools/base/jb-r8/232.1.23.0/jb-r8-232.1.23.0.jar", - "hash": "2f0cb16c17ded3eaeeebbd3abd350651569d94f28bee887563de65f0e8b54153", - "path": "org/jetbrains/intellij/deps/android/tools/base/jb-r8/232.1.23.0/jb-r8-232.1.23.0.jar" - }, { "url": "org/brotli/dec/0.1.2/dec-0.1.2.jar", "hash": "615c0c3efef990d77831104475fba6a1f7971388691d4bad1471ad84101f6d52", @@ -6095,69 +6620,59 @@ "path": "org/jetbrains/intellij/deps/android/tools/base/backgroundtask_inspector_java_proto/232.1.23.0/backgroundtask_inspector_java_proto-232.1.23.0.jar" }, { - "url": "org/jetbrains/skiko/skiko-awt-runtime-all/0.8.12/skiko-awt-runtime-all-0.8.12.jar", - "hash": "5f484588775569f3e0d18a63e1f370f74452d74e6bcc2bed15b8b9c5e4b1dadb", - "path": "org/jetbrains/skiko/skiko-awt-runtime-all/0.8.12/skiko-awt-runtime-all-0.8.12.jar" + "url": "org/jetbrains/skiko/skiko-awt-runtime-all/0.8.18/skiko-awt-runtime-all-0.8.18.jar", + "hash": "3b50eeef280bf673bcd02cbb2ea9d3e43d88f87f2d51409cc84d99453896629c", + "path": "org/jetbrains/skiko/skiko-awt-runtime-all/0.8.18/skiko-awt-runtime-all-0.8.18.jar" }, { - "url": "org/jetbrains/compose/ui/ui-test-junit4-desktop/1.7.0-beta02/ui-test-junit4-desktop-1.7.0-beta02.jar", + "url": "org/jetbrains/compose/ui/ui-test-junit4-desktop/1.7.1/ui-test-junit4-desktop-1.7.1.jar", "hash": "f1e334b73d49ceab00afe776a4c393de77b4fc805e9ff488dac596a2663b1dc1", - "path": "org/jetbrains/compose/ui/ui-test-junit4-desktop/1.7.0-beta02/ui-test-junit4-desktop-1.7.0-beta02.jar" + "path": "org/jetbrains/compose/ui/ui-test-junit4-desktop/1.7.1/ui-test-junit4-desktop-1.7.1.jar" }, { - "url": "org/jetbrains/compose/ui/ui-test-desktop/1.7.0-beta02/ui-test-desktop-1.7.0-beta02.jar", + "url": "org/jetbrains/compose/ui/ui-test-desktop/1.7.1/ui-test-desktop-1.7.1.jar", "hash": "34dfab5b4fa8b2913f00facdddc049e2fef4b176f8e7cde0ad306485674c3b5c", - "path": "org/jetbrains/compose/ui/ui-test-desktop/1.7.0-beta02/ui-test-desktop-1.7.0-beta02.jar" + "path": "org/jetbrains/compose/ui/ui-test-desktop/1.7.1/ui-test-desktop-1.7.1.jar" }, { - "url": "org/jetbrains/jewel/jewel-markdown-int-ui-standalone-styling-242/0.25.0/jewel-markdown-int-ui-standalone-styling-242-0.25.0.jar", - "hash": "5cd0874b1aa1ee4925c315cc599412b497d056c601be1fb5ca81209686cec674", - "path": "org/jetbrains/jewel/jewel-markdown-int-ui-standalone-styling-242/0.25.0/jewel-markdown-int-ui-standalone-styling-242-0.25.0.jar" + "url": "org/jetbrains/jewel/jewel-markdown-int-ui-standalone-styling-243/0.27.0/jewel-markdown-int-ui-standalone-styling-243-0.27.0.jar", + "hash": "de85ba5f961dccd756ce55f093372fc9749cf028b9739db235340d261abddd0a", + "path": "org/jetbrains/jewel/jewel-markdown-int-ui-standalone-styling-243/0.27.0/jewel-markdown-int-ui-standalone-styling-243-0.27.0.jar" }, { - "url": "org/jetbrains/jewel/jewel-int-ui-standalone-242/0.25.0/jewel-int-ui-standalone-242-0.25.0.jar", - "hash": "b45ecb2a78ba691c0df2886d8adffb67106d6644cdbd628edd005b8c2688ebdc", - "path": "org/jetbrains/jewel/jewel-int-ui-standalone-242/0.25.0/jewel-int-ui-standalone-242-0.25.0.jar" + "url": "org/jetbrains/jewel/jewel-markdown-core-243/0.27.0/jewel-markdown-core-243-0.27.0.jar", + "hash": "377d9f19ebc66b151b262184bc5bd5047c185087505baf8784e3a05150e6d1ef", + "path": "org/jetbrains/jewel/jewel-markdown-core-243/0.27.0/jewel-markdown-core-243-0.27.0.jar" }, { - "url": "org/jetbrains/jewel/jewel-markdown-ide-laf-bridge-styling-242/0.25.0/jewel-markdown-ide-laf-bridge-styling-242-0.25.0.jar", - "hash": "a48fdb886bf182f54351b4f6212e5af3f2f829acbc3b2c9a6aed59c4c72f8424", - "path": "org/jetbrains/jewel/jewel-markdown-ide-laf-bridge-styling-242/0.25.0/jewel-markdown-ide-laf-bridge-styling-242-0.25.0.jar" + "url": "org/commonmark/commonmark/0.24.0/commonmark-0.24.0.jar", + "hash": "679338e0b7fc15c02d275d598654b01a149893bc28a87992e90123c8d06af25b", + "path": "org/commonmark/commonmark/0.24.0/commonmark-0.24.0.jar" }, { - "url": "org/jetbrains/jewel/jewel-markdown-core-242/0.25.0/jewel-markdown-core-242-0.25.0.jar", - "hash": "40713997b5b7daf5c3563eec8a6b769fbb775018fb1112aa16a8086af73c0222", - "path": "org/jetbrains/jewel/jewel-markdown-core-242/0.25.0/jewel-markdown-core-242-0.25.0.jar" + "url": "org/jetbrains/jewel/jewel-int-ui-standalone-243/0.27.0/jewel-int-ui-standalone-243-0.27.0.jar", + "hash": "8fdf9e0041d62848297eada9c58dfe7cdd93902667a8e654b7d0aaf8b1ba240e", + "path": "org/jetbrains/jewel/jewel-int-ui-standalone-243/0.27.0/jewel-int-ui-standalone-243-0.27.0.jar" }, { - "url": "org/commonmark/commonmark/0.22.0/commonmark-0.22.0.jar", - "hash": "3417909f2997bc8c61d90d64c6af29f4a3f5b6729caceaef97221ceac93df814", - "path": "org/commonmark/commonmark/0.22.0/commonmark-0.22.0.jar" + "url": "org/jetbrains/jewel/jewel-ide-laf-bridge-243/0.27.0/jewel-ide-laf-bridge-243-0.27.0.jar", + "hash": "b2b988104d5cfb8d3c185e588d73bdb75bb1beea0f74994a7f01e1bbb427d085", + "path": "org/jetbrains/jewel/jewel-ide-laf-bridge-243/0.27.0/jewel-ide-laf-bridge-243-0.27.0.jar" }, { - "url": "org/jetbrains/jewel/jewel-ide-laf-bridge-242/0.25.0/jewel-ide-laf-bridge-242-0.25.0.jar", - "hash": "b7a484a4388360171ba5d61eb511608720331d42d41627ff7342e514347f6a23", - "path": "org/jetbrains/jewel/jewel-ide-laf-bridge-242/0.25.0/jewel-ide-laf-bridge-242-0.25.0.jar" + "url": "org/jetbrains/jewel/jewel-ui-243/0.27.0/jewel-ui-243-0.27.0.jar", + "hash": "7ebfaa3b64dc0d10d5ba915f50deae5ee89610ef953db263b089c81eed557e66", + "path": "org/jetbrains/jewel/jewel-ui-243/0.27.0/jewel-ui-243-0.27.0.jar" }, { - "url": "org/jetbrains/jewel/jewel-ide-laf-bridge-242/0.25.0/jewel-ide-laf-bridge-242-0.25.0.jar", - "hash": "b7a484a4388360171ba5d61eb511608720331d42d41627ff7342e514347f6a23", - "path": "org/jetbrains/jewel/jewel-ide-laf-bridge-242/0.25.0/jewel-ide-laf-bridge-242-0.25.0.jar" + "url": "org/jetbrains/jewel/jewel-foundation-243/0.27.0/jewel-foundation-243-0.27.0.jar", + "hash": "414ecd3268a0cb2d1dfbd49861bf774e6d9e89d665e4bfd4049c09fd020807f0", + "path": "org/jetbrains/jewel/jewel-foundation-243/0.27.0/jewel-foundation-243-0.27.0.jar" }, { - "url": "org/jetbrains/jewel/jewel-ui-242/0.25.0/jewel-ui-242-0.25.0.jar", - "hash": "5f44765bb9566775bc8578c7a4843128b6b5e6560b516dc07bb0773c4220db34", - "path": "org/jetbrains/jewel/jewel-ui-242/0.25.0/jewel-ui-242-0.25.0.jar" - }, - { - "url": "org/jetbrains/jewel/jewel-foundation-242/0.25.0/jewel-foundation-242-0.25.0.jar", - "hash": "05cba8a5cf9dd9fc28777c6cb67de1ea05b00fa1d2730e1397e72d8a9d565a92", - "path": "org/jetbrains/jewel/jewel-foundation-242/0.25.0/jewel-foundation-242-0.25.0.jar" - }, - { - "url": "org/jetbrains/compose/foundation/foundation-desktop/1.7.0-beta02/foundation-desktop-1.7.0-beta02.jar", - "hash": "2c63f62672141736696afe3dba275d651c01372a4a425c50d63e0c2955e7c08f", - "path": "org/jetbrains/compose/foundation/foundation-desktop/1.7.0-beta02/foundation-desktop-1.7.0-beta02.jar" + "url": "org/jetbrains/compose/foundation/foundation-desktop/1.7.1/foundation-desktop-1.7.1.jar", + "hash": "50df385b328a0ad7a479e690cfe593fbce08ad39ed57916747932956dee07f0b", + "path": "org/jetbrains/compose/foundation/foundation-desktop/1.7.1/foundation-desktop-1.7.1.jar" }, { "url": "androidx/annotation/annotation-jvm/1.8.0/annotation-jvm-1.8.0.jar", @@ -6170,39 +6685,39 @@ "path": "androidx/collection/collection-jvm/1.4.0/collection-jvm-1.4.0.jar" }, { - "url": "org/jetbrains/compose/animation/animation-desktop/1.7.0-beta02/animation-desktop-1.7.0-beta02.jar", - "hash": "5628022a524e81603b2c62303b967863203d86bdad898f7d66f71e6e9c511ede", - "path": "org/jetbrains/compose/animation/animation-desktop/1.7.0-beta02/animation-desktop-1.7.0-beta02.jar" + "url": "org/jetbrains/compose/animation/animation-desktop/1.7.1/animation-desktop-1.7.1.jar", + "hash": "474e6bd2a6ac2362e5dabd780f93b852768640aa16403b0fc505da88177f97b3", + "path": "org/jetbrains/compose/animation/animation-desktop/1.7.1/animation-desktop-1.7.1.jar" }, { - "url": "org/jetbrains/compose/animation/animation-core-desktop/1.7.0-beta02/animation-core-desktop-1.7.0-beta02.jar", - "hash": "31c475b8534a8307de86f36aa095c9ea9fae2fbc3a9c2ecf30bc3317ead6d487", - "path": "org/jetbrains/compose/animation/animation-core-desktop/1.7.0-beta02/animation-core-desktop-1.7.0-beta02.jar" + "url": "org/jetbrains/compose/animation/animation-core-desktop/1.7.1/animation-core-desktop-1.7.1.jar", + "hash": "2b347abf6c48626153a02b70eef6bbe1d3c9527515d6f9f7eceaea3c398533bb", + "path": "org/jetbrains/compose/animation/animation-core-desktop/1.7.1/animation-core-desktop-1.7.1.jar" }, { - "url": "org/jetbrains/compose/ui/ui-geometry-desktop/1.7.0-beta02/ui-geometry-desktop-1.7.0-beta02.jar", + "url": "org/jetbrains/compose/ui/ui-geometry-desktop/1.7.1/ui-geometry-desktop-1.7.1.jar", "hash": "4b86c961c0b4bce7995329fd57d4339ede11cb75d7ec90bc1b9913396addb30f", - "path": "org/jetbrains/compose/ui/ui-geometry-desktop/1.7.0-beta02/ui-geometry-desktop-1.7.0-beta02.jar" + "path": "org/jetbrains/compose/ui/ui-geometry-desktop/1.7.1/ui-geometry-desktop-1.7.1.jar" }, { - "url": "org/jetbrains/compose/foundation/foundation-layout-desktop/1.7.0-beta02/foundation-layout-desktop-1.7.0-beta02.jar", + "url": "org/jetbrains/compose/foundation/foundation-layout-desktop/1.7.1/foundation-layout-desktop-1.7.1.jar", "hash": "d2c867c13ff6632f9880e67dabab2e930007b008b9b22950fc2cc075008eceb6", - "path": "org/jetbrains/compose/foundation/foundation-layout-desktop/1.7.0-beta02/foundation-layout-desktop-1.7.0-beta02.jar" + "path": "org/jetbrains/compose/foundation/foundation-layout-desktop/1.7.1/foundation-layout-desktop-1.7.1.jar" }, { - "url": "org/jetbrains/compose/ui/ui-desktop/1.7.0-beta02/ui-desktop-1.7.0-beta02.jar", - "hash": "781f0bbff8b4efbc5c859272babd985df7cb4692a68645c25551eb4417075cca", - "path": "org/jetbrains/compose/ui/ui-desktop/1.7.0-beta02/ui-desktop-1.7.0-beta02.jar" + "url": "org/jetbrains/compose/ui/ui-desktop/1.7.1/ui-desktop-1.7.1.jar", + "hash": "40729b9637eac91fd9ba9d10c4cd2eb328bb3116f8097a5b9d3f071971cea022", + "path": "org/jetbrains/compose/ui/ui-desktop/1.7.1/ui-desktop-1.7.1.jar" }, { - "url": "androidx/lifecycle/lifecycle-common-jvm/2.8.4/lifecycle-common-jvm-2.8.4.jar", + "url": "androidx/lifecycle/lifecycle-common-jvm/2.8.5/lifecycle-common-jvm-2.8.5.jar", "hash": "61c873a7327c946ec033c310bb98f3f92eeabcede0e1a5200ab8a1896483c7bf", - "path": "androidx/lifecycle/lifecycle-common-jvm/2.8.4/lifecycle-common-jvm-2.8.4.jar" + "path": "androidx/lifecycle/lifecycle-common-jvm/2.8.5/lifecycle-common-jvm-2.8.5.jar" }, { - "url": "androidx/lifecycle/lifecycle-runtime-desktop/2.8.4/lifecycle-runtime-desktop-2.8.4.jar", + "url": "androidx/lifecycle/lifecycle-runtime-desktop/2.8.5/lifecycle-runtime-desktop-2.8.5.jar", "hash": "10bfe53bb2752f967751a5102cdb785eeea54e1d4df6bde88fb0f50b0a49156c", - "path": "androidx/lifecycle/lifecycle-runtime-desktop/2.8.4/lifecycle-runtime-desktop-2.8.4.jar" + "path": "androidx/lifecycle/lifecycle-runtime-desktop/2.8.5/lifecycle-runtime-desktop-2.8.5.jar" }, { "url": "androidx/arch/core/core-common/2.2.0/core-common-2.2.0.jar", @@ -6210,14 +6725,14 @@ "path": "androidx/arch/core/core-common/2.2.0/core-common-2.2.0.jar" }, { - "url": "androidx/lifecycle/lifecycle-viewmodel-desktop/2.8.4/lifecycle-viewmodel-desktop-2.8.4.jar", + "url": "androidx/lifecycle/lifecycle-viewmodel-desktop/2.8.5/lifecycle-viewmodel-desktop-2.8.5.jar", "hash": "21ec0e77dc02ed0d6bfe6f3cba7f43e25400446d89ded8568ee165437e0c1922", - "path": "androidx/lifecycle/lifecycle-viewmodel-desktop/2.8.4/lifecycle-viewmodel-desktop-2.8.4.jar" + "path": "androidx/lifecycle/lifecycle-viewmodel-desktop/2.8.5/lifecycle-viewmodel-desktop-2.8.5.jar" }, { - "url": "org/jetbrains/androidx/lifecycle/lifecycle-runtime-compose-desktop/2.8.2/lifecycle-runtime-compose-desktop-2.8.2.jar", + "url": "org/jetbrains/androidx/lifecycle/lifecycle-runtime-compose-desktop/2.8.4/lifecycle-runtime-compose-desktop-2.8.4.jar", "hash": "c1e51a246e69e237e87d289be08bebd8d406ffe9ff60a125e8f2072db6119966", - "path": "org/jetbrains/androidx/lifecycle/lifecycle-runtime-compose-desktop/2.8.2/lifecycle-runtime-compose-desktop-2.8.2.jar" + "path": "org/jetbrains/androidx/lifecycle/lifecycle-runtime-compose-desktop/2.8.4/lifecycle-runtime-compose-desktop-2.8.4.jar" }, { "url": "androidx/annotation/annotation/1.8.0/annotation-1.8.0.jar", @@ -6225,43 +6740,63 @@ "path": "androidx/annotation/annotation/1.8.0/annotation-1.8.0.jar" }, { - "url": "org/jetbrains/compose/runtime/runtime-saveable-desktop/1.7.0-beta02/runtime-saveable-desktop-1.7.0-beta02.jar", + "url": "org/jetbrains/compose/runtime/runtime-saveable-desktop/1.7.1/runtime-saveable-desktop-1.7.1.jar", "hash": "4306363be90eaabe74b900db4c32ed1f15c7548e5b30a7093c4ee40c436b9b8c", - "path": "org/jetbrains/compose/runtime/runtime-saveable-desktop/1.7.0-beta02/runtime-saveable-desktop-1.7.0-beta02.jar" + "path": "org/jetbrains/compose/runtime/runtime-saveable-desktop/1.7.1/runtime-saveable-desktop-1.7.1.jar" }, { - "url": "org/jetbrains/compose/ui/ui-graphics-desktop/1.7.0-beta02/ui-graphics-desktop-1.7.0-beta02.jar", - "hash": "6f09b8790a0d3c8c0231c5962a39f2e354ca3148098318049de5e51cf6684b94", - "path": "org/jetbrains/compose/ui/ui-graphics-desktop/1.7.0-beta02/ui-graphics-desktop-1.7.0-beta02.jar" + "url": "org/jetbrains/compose/ui/ui-graphics-desktop/1.7.1/ui-graphics-desktop-1.7.1.jar", + "hash": "9109d77cc262f90408169b1ca0ba2d15135b6034e377a80bbf3ec0234954e852", + "path": "org/jetbrains/compose/ui/ui-graphics-desktop/1.7.1/ui-graphics-desktop-1.7.1.jar" }, { - "url": "org/jetbrains/compose/ui/ui-unit-desktop/1.7.0-beta02/ui-unit-desktop-1.7.0-beta02.jar", + "url": "org/jetbrains/compose/ui/ui-unit-desktop/1.7.1/ui-unit-desktop-1.7.1.jar", "hash": "598b52e257ed674145694b9790a7383a90fed2ec7154ba09ace4aa983c65b1a2", - "path": "org/jetbrains/compose/ui/ui-unit-desktop/1.7.0-beta02/ui-unit-desktop-1.7.0-beta02.jar" + "path": "org/jetbrains/compose/ui/ui-unit-desktop/1.7.1/ui-unit-desktop-1.7.1.jar" }, { - "url": "org/jetbrains/compose/ui/ui-text-desktop/1.7.0-beta02/ui-text-desktop-1.7.0-beta02.jar", + "url": "org/jetbrains/compose/ui/ui-text-desktop/1.7.1/ui-text-desktop-1.7.1.jar", "hash": "80e07e4ca739f7b6122f63e9a17e6853b947220ecb1180f8dcaf419d0e468996", - "path": "org/jetbrains/compose/ui/ui-text-desktop/1.7.0-beta02/ui-text-desktop-1.7.0-beta02.jar" + "path": "org/jetbrains/compose/ui/ui-text-desktop/1.7.1/ui-text-desktop-1.7.1.jar" }, { - "url": "org/jetbrains/compose/ui/ui-util-desktop/1.7.0-beta02/ui-util-desktop-1.7.0-beta02.jar", + "url": "org/jetbrains/compose/ui/ui-util-desktop/1.7.1/ui-util-desktop-1.7.1.jar", "hash": "161dcc73b929da61cee50045e96fb02f1633c36f18a2ef38b5c2c44c38606b52", - "path": "org/jetbrains/compose/ui/ui-util-desktop/1.7.0-beta02/ui-util-desktop-1.7.0-beta02.jar" + "path": "org/jetbrains/compose/ui/ui-util-desktop/1.7.1/ui-util-desktop-1.7.1.jar" }, { - "url": "org/jetbrains/skiko/skiko-awt/0.8.12/skiko-awt-0.8.12.jar", - "hash": "4ecb815bf90b2d6fbc241073fe37c893fb3499f2041c3655064a02ce80daeb9b", - "path": "org/jetbrains/skiko/skiko-awt/0.8.12/skiko-awt-0.8.12.jar" + "url": "org/jetbrains/skiko/skiko-awt/0.8.18/skiko-awt-0.8.18.jar", + "hash": "637f5de1a208f1368ac51b5a286a4827cec828cd62dda332dc3400b8543e243d", + "path": "org/jetbrains/skiko/skiko-awt/0.8.18/skiko-awt-0.8.18.jar" }, { - "url": "org/jetbrains/compose/components/components-resources-desktop/1.7.0-beta02/components-resources-desktop-1.7.0-beta02.jar", + "url": "org/jetbrains/compose/components/components-resources-desktop/1.7.1/components-resources-desktop-1.7.1.jar", "hash": "1584b739e8f1869e4f340519dc984d4a44582a80ef323e655999ddb18dd954c2", - "path": "org/jetbrains/compose/components/components-resources-desktop/1.7.0-beta02/components-resources-desktop-1.7.0-beta02.jar" + "path": "org/jetbrains/compose/components/components-resources-desktop/1.7.1/components-resources-desktop-1.7.1.jar" }, { - "url": "org/jetbrains/compose/runtime/runtime-desktop/1.7.0-beta02/runtime-desktop-1.7.0-beta02.jar", + "url": "org/jetbrains/compose/runtime/runtime-desktop/1.7.1/runtime-desktop-1.7.1.jar", "hash": "76e3250547b9ca3cb1a49c272933b25cb3bccbc9ba12775dd6161a63d9aa7cf1", - "path": "org/jetbrains/compose/runtime/runtime-desktop/1.7.0-beta02/runtime-desktop-1.7.0-beta02.jar" + "path": "org/jetbrains/compose/runtime/runtime-desktop/1.7.1/runtime-desktop-1.7.1.jar" + }, + { + "url": "org/jetbrains/jewel/jewel-markdown-ide-laf-bridge-styling-242/0.27.0/jewel-markdown-ide-laf-bridge-styling-242-0.27.0.jar", + "hash": "70f7247e1eeb6f4c6ea1564f101d5382fb192fbfde127dbe32808abdeda540b4", + "path": "org/jetbrains/jewel/jewel-markdown-ide-laf-bridge-styling-242/0.27.0/jewel-markdown-ide-laf-bridge-styling-242-0.27.0.jar" + }, + { + "url": "org/jetbrains/jewel/jewel-markdown-core-242/0.27.0/jewel-markdown-core-242-0.27.0.jar", + "hash": "f449e0d45cde9d9bae8df329e8c4a4f23b302d0043892cfe4c095889be9ef8e2", + "path": "org/jetbrains/jewel/jewel-markdown-core-242/0.27.0/jewel-markdown-core-242-0.27.0.jar" + }, + { + "url": "org/commonmark/commonmark/0.24.0/commonmark-0.24.0.jar", + "hash": "679338e0b7fc15c02d275d598654b01a149893bc28a87992e90123c8d06af25b", + "path": "org/commonmark/commonmark/0.24.0/commonmark-0.24.0.jar" + }, + { + "url": "org/jetbrains/jewel/jewel-ide-laf-bridge-242/0.27.0/jewel-ide-laf-bridge-242-0.27.0.jar", + "hash": "fb4dda7cb9610f0e0a80765ec6fba97af3c6a228212bb128aeb84e0557db3af8", + "path": "org/jetbrains/jewel/jewel-ide-laf-bridge-242/0.27.0/jewel-ide-laf-bridge-242-0.27.0.jar" } ] diff --git a/pkgs/applications/editors/jetbrains/source/ides.json b/pkgs/applications/editors/jetbrains/source/ides.json index 076f701dd4a2..2f93c7965db9 100644 --- a/pkgs/applications/editors/jetbrains/source/ides.json +++ b/pkgs/applications/editors/jetbrains/source/ides.json @@ -1,22 +1,52 @@ { "idea-community": { - "version": "2024.3.1.1", - "buildNumber": "243.22562.218", + "version": "2025.1.1.1", + "buildNumber": "251.25410.129", "buildType": "idea", - "ideaHash": "sha256-QKFUg6C+ZVgPrgd6jwWSkBVMHAF30ja0Uqezy9syo5k=", - "androidHash": "sha256-2ZLTh3mwrIWOqn1UHqAVibG5JvfvxinqDna/EGxd0Ds=", - "jpsHash": "sha256-p3AEHULhVECIicyhCYNkxeQoMAorrbvoIj7jcqxYD2s=", + "ideaHash": "sha256-9YatnO+9Pcrlx7EXmq4wMVdeR3DzJF2fsQOvRWH11tk=", + "androidHash": "sha256-ueMdEkXt/x5WIex163iwTlOm5bvZNluNO7SNxs+bPYs=", + "jpsHash": "sha256-aOYCwDSso0X/7f5tWfP+veoQhCvd6tEDk9lq4YX/cb0=", "restarterHash": "sha256-acCmC58URd6p9uKZrm0qWgdZkqu9yqCs23v8qgxV2Ag=", - "mvnDeps": "idea_maven_artefacts.json" + "mvnDeps": "idea_maven_artefacts.json", + "repositories": [ + "https://cache-redirector.jetbrains.com/repo1.maven.org/maven2", + "https://cache-redirector.jetbrains.com/packages.jetbrains.team/maven/p/ij/intellij-dependencies", + "https://cache-redirector.jetbrains.com/dl.google.com/dl/android/maven2", + "https://cache-redirector.jetbrains.com/download.jetbrains.com/teamcity-repository", + "https://cache-redirector.jetbrains.com/maven.pkg.jetbrains.space/kotlin/p/kotlin/kotlin-ide-plugin-dependencies", + "https://cache-redirector.jetbrains.com/packages.jetbrains.team/maven/p/grazi/grazie-platform-public", + "https://cache-redirector.jetbrains.com/packages.jetbrains.team/maven/p/kpm/public", + "https://cache-redirector.jetbrains.com/packages.jetbrains.team/maven/p/ki/maven", + "https://cache-redirector.jetbrains.com/maven.pkg.jetbrains.space/public/p/compose/dev" + ], + "kotlin-jps-plugin": { + "version": "2.1.10", + "hash": "sha256-Bu5eCHxls6EoIgzadiEY31plAcxZ6DA2a10CXAtPqV4=" + } }, "pycharm-community": { - "version": "2024.3.1.1", - "buildNumber": "243.22562.220", + "version": "2025.1.1.1", + "buildNumber": "251.25410.159", "buildType": "pycharm", - "ideaHash": "sha256-QKFUg6C+ZVgPrgd6jwWSkBVMHAF30ja0Uqezy9syo5k=", - "androidHash": "sha256-2ZLTh3mwrIWOqn1UHqAVibG5JvfvxinqDna/EGxd0Ds=", - "jpsHash": "sha256-p3AEHULhVECIicyhCYNkxeQoMAorrbvoIj7jcqxYD2s=", + "ideaHash": "sha256-0VHoFk9/xKei4jvkEvl+9KiJwCoVPKh7g5EBSXQ+Ios=", + "androidHash": "sha256-af1RJeU7BJTtYTvZRNcH77/Tn4j4lLsRRJUGS80rM4U=", + "jpsHash": "sha256-aOYCwDSso0X/7f5tWfP+veoQhCvd6tEDk9lq4YX/cb0=", "restarterHash": "sha256-acCmC58URd6p9uKZrm0qWgdZkqu9yqCs23v8qgxV2Ag=", - "mvnDeps": "pycharm_maven_artefacts.json" + "mvnDeps": "pycharm_maven_artefacts.json", + "repositories": [ + "https://cache-redirector.jetbrains.com/repo1.maven.org/maven2", + "https://cache-redirector.jetbrains.com/packages.jetbrains.team/maven/p/ij/intellij-dependencies", + "https://cache-redirector.jetbrains.com/dl.google.com/dl/android/maven2", + "https://cache-redirector.jetbrains.com/download.jetbrains.com/teamcity-repository", + "https://cache-redirector.jetbrains.com/maven.pkg.jetbrains.space/kotlin/p/kotlin/kotlin-ide-plugin-dependencies", + "https://cache-redirector.jetbrains.com/packages.jetbrains.team/maven/p/grazi/grazie-platform-public", + "https://cache-redirector.jetbrains.com/packages.jetbrains.team/maven/p/kpm/public", + "https://cache-redirector.jetbrains.com/packages.jetbrains.team/maven/p/ki/maven", + "https://cache-redirector.jetbrains.com/maven.pkg.jetbrains.space/public/p/compose/dev" + ], + "kotlin-jps-plugin": { + "version": "2.1.10", + "hash": "sha256-Bu5eCHxls6EoIgzadiEY31plAcxZ6DA2a10CXAtPqV4=" + } } } diff --git a/pkgs/applications/editors/jetbrains/source/pycharm_maven_artefacts.json b/pkgs/applications/editors/jetbrains/source/pycharm_maven_artefacts.json index 87217254df29..466d1b0f4ba2 100644 --- a/pkgs/applications/editors/jetbrains/source/pycharm_maven_artefacts.json +++ b/pkgs/applications/editors/jetbrains/source/pycharm_maven_artefacts.json @@ -5,14 +5,14 @@ "path": "org/jetbrains/intellij/deps/asm-all/9.6.1/asm-all-9.6.1.jar" }, { - "url": "org/jetbrains/intellij/deps/gradle-api/8.10/gradle-api-8.10.jar", - "hash": "fb4396fe3c6abf4cae1e753a8d1b28180d09c3e4fbd0cf46c2cae847483e6c5b", - "path": "org/jetbrains/intellij/deps/gradle-api/8.10/gradle-api-8.10.jar" + "url": "org/jetbrains/intellij/deps/gradle-api/8.13/gradle-api-8.13.jar", + "hash": "63047597f2f6724abc9b39508b1da58a793edd93990e1c23f7ef5634e25adda9", + "path": "org/jetbrains/intellij/deps/gradle-api/8.13/gradle-api-8.13.jar" }, { - "url": "com/google/guava/guava/33.3.0-jre/guava-33.3.0-jre.jar", - "hash": "dfadc3bce3101eff1452aae47d7c833fee443b47bdf9ef13311b6c7cab663ddf", - "path": "com/google/guava/guava/33.3.0-jre/guava-33.3.0-jre.jar" + "url": "com/google/guava/guava/33.4.0-jre/guava-33.4.0-jre.jar", + "hash": "b918c98a7e44dbe94ebd9fe3e40cddaadb5a93e6a78eb6008b42df237241e538", + "path": "com/google/guava/guava/33.4.0-jre/guava-33.4.0-jre.jar" }, { "url": "com/google/guava/failureaccess/1.0.2/failureaccess-1.0.2.jar", @@ -45,9 +45,9 @@ "path": "org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar" }, { - "url": "org/junit/jupiter/junit-jupiter-api/5.11.0/junit-jupiter-api-5.11.0.jar", - "hash": "42aa202fc862f76cc5af65b47b1c0b1961cdd79cd2216405a6dfa2bd20b20974", - "path": "org/junit/jupiter/junit-jupiter-api/5.11.0/junit-jupiter-api-5.11.0.jar" + "url": "org/junit/jupiter/junit-jupiter-api/5.11.3/junit-jupiter-api-5.11.3.jar", + "hash": "5d8147a60f49453973e250ed68701b7ff055964fe2462fc2cb1ec1d6d44889ba", + "path": "org/junit/jupiter/junit-jupiter-api/5.11.3/junit-jupiter-api-5.11.3.jar" }, { "url": "org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar", @@ -55,9 +55,9 @@ "path": "org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar" }, { - "url": "org/junit/platform/junit-platform-commons/1.11.0/junit-platform-commons-1.11.0.jar", - "hash": "609333a4545f9018eb0c59071efd30663a9e9fdce528121b65a04c27e5fc26a7", - "path": "org/junit/platform/junit-platform-commons/1.11.0/junit-platform-commons-1.11.0.jar" + "url": "org/junit/platform/junit-platform-commons/1.11.3/junit-platform-commons-1.11.3.jar", + "hash": "be262964b0b6b48de977c61d4f931df8cf61e80e750cc3f3a0a39cdd21c1008c", + "path": "org/junit/platform/junit-platform-commons/1.11.3/junit-platform-commons-1.11.3.jar" }, { "url": "org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar", @@ -65,54 +65,54 @@ "path": "org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar" }, { - "url": "org/junit/jupiter/junit-jupiter-engine/5.11.0/junit-jupiter-engine-5.11.0.jar", - "hash": "7012423383d0c79d0347c5cf2bd1996c30a12240fb729e0cdfa954852ec693cc", - "path": "org/junit/jupiter/junit-jupiter-engine/5.11.0/junit-jupiter-engine-5.11.0.jar" + "url": "org/junit/jupiter/junit-jupiter-engine/5.11.3/junit-jupiter-engine-5.11.3.jar", + "hash": "e62420c99f7c0d59a2159a2ef63e61877e9c80bd722c03ca8bf3bdcea050a589", + "path": "org/junit/jupiter/junit-jupiter-engine/5.11.3/junit-jupiter-engine-5.11.3.jar" }, { - "url": "org/junit/platform/junit-platform-launcher/1.11.0/junit-platform-launcher-1.11.0.jar", - "hash": "a44535e639814236844e2247204f89247d13af0cebdea53a42314100dfde19ce", - "path": "org/junit/platform/junit-platform-launcher/1.11.0/junit-platform-launcher-1.11.0.jar" + "url": "org/junit/platform/junit-platform-launcher/1.11.3/junit-platform-launcher-1.11.3.jar", + "hash": "b4727459201b0011beb0742bd807421a1fc8426b116193031ed87825bc2d4f04", + "path": "org/junit/platform/junit-platform-launcher/1.11.3/junit-platform-launcher-1.11.3.jar" }, { - "url": "org/junit/platform/junit-platform-engine/1.11.0/junit-platform-engine-1.11.0.jar", - "hash": "a7e67279c651c516949512b506916475a6d9e284cd4f4c30d029b4ad73a944d8", - "path": "org/junit/platform/junit-platform-engine/1.11.0/junit-platform-engine-1.11.0.jar" + "url": "org/junit/platform/junit-platform-engine/1.11.3/junit-platform-engine-1.11.3.jar", + "hash": "0043f72f611664735da8dc9a308bf12ecd2236b05339351c4741edb4d8fab0da", + "path": "org/junit/platform/junit-platform-engine/1.11.3/junit-platform-engine-1.11.3.jar" }, { - "url": "org/junit/jupiter/junit-jupiter-params/5.11.0/junit-jupiter-params-5.11.0.jar", - "hash": "92ccae2d72e8cc7ac4d3a912fd1a8fecc5e3040a62ac6c667a07a6f55b8023eb", - "path": "org/junit/jupiter/junit-jupiter-params/5.11.0/junit-jupiter-params-5.11.0.jar" + "url": "org/junit/jupiter/junit-jupiter-params/5.11.3/junit-jupiter-params-5.11.3.jar", + "hash": "0f798ebec744c4e6605fd4f2072f41a8e989e2d469e21db5aa67cf799c0b51ec", + "path": "org/junit/jupiter/junit-jupiter-params/5.11.3/junit-jupiter-params-5.11.3.jar" }, { - "url": "org/junit-pioneer/junit-pioneer/2.2.0/junit-pioneer-2.2.0.jar", - "hash": "82cb4155f882a2d6eff3ca92d96cce52612aad5345b65b65e1fc82837bb5df4e", - "path": "org/junit-pioneer/junit-pioneer/2.2.0/junit-pioneer-2.2.0.jar" + "url": "org/junit-pioneer/junit-pioneer/2.3.0/junit-pioneer-2.3.0.jar", + "hash": "8b09db32c8cf5b2112a00262411ccd4ef6ca3bae695a0015ecad4def23dea9fd", + "path": "org/junit-pioneer/junit-pioneer/2.3.0/junit-pioneer-2.3.0.jar" }, { - "url": "org/junit/platform/junit-platform-suite/1.11.0/junit-platform-suite-1.11.0.jar", - "hash": "10fbe6e9d63b8776c7d578eb5bf51f72a2e34fb3e171987531b30dee2c577c5d", - "path": "org/junit/platform/junit-platform-suite/1.11.0/junit-platform-suite-1.11.0.jar" + "url": "org/junit/platform/junit-platform-suite/1.11.3/junit-platform-suite-1.11.3.jar", + "hash": "ef4cb7ed1625394c3cecfa8a1eed3559cd119be75b5cba3b7cb4a60c511aa2d3", + "path": "org/junit/platform/junit-platform-suite/1.11.3/junit-platform-suite-1.11.3.jar" }, { - "url": "org/junit/platform/junit-platform-suite-api/1.11.0/junit-platform-suite-api-1.11.0.jar", - "hash": "4e007a34fabc491f4c460ad7430bd9a7bd2cc00b5ad579067c3e7d19ca1af944", - "path": "org/junit/platform/junit-platform-suite-api/1.11.0/junit-platform-suite-api-1.11.0.jar" + "url": "org/junit/platform/junit-platform-suite-api/1.11.3/junit-platform-suite-api-1.11.3.jar", + "hash": "c728aa61ccd7942552f8bd4e50ec3064260d4a1e085022cbfccd64a88f9b3820", + "path": "org/junit/platform/junit-platform-suite-api/1.11.3/junit-platform-suite-api-1.11.3.jar" }, { - "url": "org/junit/platform/junit-platform-suite-engine/1.11.0/junit-platform-suite-engine-1.11.0.jar", - "hash": "f818fd53a13dfa341bb3205ce5baf78a768904db639b8ec751ae63339c697da7", - "path": "org/junit/platform/junit-platform-suite-engine/1.11.0/junit-platform-suite-engine-1.11.0.jar" + "url": "org/junit/platform/junit-platform-suite-engine/1.11.3/junit-platform-suite-engine-1.11.3.jar", + "hash": "b09dda0a52850bfb7cb8b94b76225b0245cac9dd3fa2d3cc4beef68dc255e6ca", + "path": "org/junit/platform/junit-platform-suite-engine/1.11.3/junit-platform-suite-engine-1.11.3.jar" }, { - "url": "org/junit/platform/junit-platform-suite-commons/1.11.0/junit-platform-suite-commons-1.11.0.jar", - "hash": "18d4deb308c8aa47886b6a5fe95439ac6d8480f450da1722fb670527cc8e4854", - "path": "org/junit/platform/junit-platform-suite-commons/1.11.0/junit-platform-suite-commons-1.11.0.jar" + "url": "org/junit/platform/junit-platform-suite-commons/1.11.3/junit-platform-suite-commons-1.11.3.jar", + "hash": "1369846b83b7ea6f24670b2b4d8a372a1bbbc844e2746f5a93396b5a13a28ca6", + "path": "org/junit/platform/junit-platform-suite-commons/1.11.3/junit-platform-suite-commons-1.11.3.jar" }, { - "url": "org/junit/vintage/junit-vintage-engine/5.11.0/junit-vintage-engine-5.11.0.jar", - "hash": "ce50ffc70b37fbbd4b9c84fb132bf1b004475ed6af45121499a750fae85a6a60", - "path": "org/junit/vintage/junit-vintage-engine/5.11.0/junit-vintage-engine-5.11.0.jar" + "url": "org/junit/vintage/junit-vintage-engine/5.11.3/junit-vintage-engine-5.11.3.jar", + "hash": "d58022419bc76b3df4f479a2b3599d95e24464cd68fb7c2267f1a1a871215c47", + "path": "org/junit/vintage/junit-vintage-engine/5.11.3/junit-vintage-engine-5.11.3.jar" }, { "url": "org/jetbrains/intellij/deps/java-compatibility/1.0.1/java-compatibility-1.0.1.jar", @@ -210,59 +210,64 @@ "path": "com/android/tools/build/aapt2-proto/8.1.0-10154469/aapt2-proto-8.1.0-10154469.jar" }, { - "url": "ai/grazie/spell/gec-spell-engine-local-jvm/0.3.133/gec-spell-engine-local-jvm-0.3.133.jar", - "hash": "577d36ca97c381f4f24ce81624f1ac5588d2f110a81034564aeefea7fec13066", - "path": "ai/grazie/spell/gec-spell-engine-local-jvm/0.3.133/gec-spell-engine-local-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-langs-jvm/0.4.16/nlp-langs-jvm-0.4.16.jar", + "hash": "dd132003dfc893e046834ec15ec5104f067d7a90eb9786e85f49b4e47bac4561", + "path": "ai/grazie/nlp/nlp-langs-jvm/0.4.16/nlp-langs-jvm-0.4.16.jar" }, { - "url": "ai/grazie/utils/utils-common-jvm/0.3.133/utils-common-jvm-0.3.133.jar", - "hash": "c543a072a0f4d96c3afa37756f694be4a9348777fd7690ab4bd21e7df466a309", - "path": "ai/grazie/utils/utils-common-jvm/0.3.133/utils-common-jvm-0.3.133.jar" + "url": "ai/grazie/spell/gec-spell-engine-local-jvm/0.4.16/gec-spell-engine-local-jvm-0.4.16.jar", + "hash": "ddb7e0eaddaddfb9ee27bb723614364818898a242189f36cfca7f8031a6ae383", + "path": "ai/grazie/spell/gec-spell-engine-local-jvm/0.4.16/gec-spell-engine-local-jvm-0.4.16.jar" }, { - "url": "ai/grazie/model/model-gec-jvm/0.3.133/model-gec-jvm-0.3.133.jar", - "hash": "dab239b1efb88d5087ecc64260cd34613b6ad200e80a001014d1129d954d3a24", - "path": "ai/grazie/model/model-gec-jvm/0.3.133/model-gec-jvm-0.3.133.jar" + "url": "ai/grazie/utils/utils-common-jvm/0.4.16/utils-common-jvm-0.4.16.jar", + "hash": "1721b8bb4a7dbcbc34da8cec18100f03b72c8c06d4e945622c1a24b720981b73", + "path": "ai/grazie/utils/utils-common-jvm/0.4.16/utils-common-jvm-0.4.16.jar" }, { - "url": "ai/grazie/model/model-text-jvm/0.3.133/model-text-jvm-0.3.133.jar", - "hash": "dfd010d8b4d0522121fef66652cae5c73f0dfde77cc79cf1c73067a7e63e8cf2", - "path": "ai/grazie/model/model-text-jvm/0.3.133/model-text-jvm-0.3.133.jar" + "url": "ai/grazie/model/model-gec-jvm/0.4.16/model-gec-jvm-0.4.16.jar", + "hash": "554347aa33621257891e492a2e315c9e93a6d0ac57a3b7e5bb9f8d35bc071da5", + "path": "ai/grazie/model/model-gec-jvm/0.4.16/model-gec-jvm-0.4.16.jar" }, { - "url": "ai/grazie/model/model-common-jvm/0.3.133/model-common-jvm-0.3.133.jar", - "hash": "8fb936cb7c83862210841d81a870a9ea6677a0122ff0c7c8c055705c3945100a", - "path": "ai/grazie/model/model-common-jvm/0.3.133/model-common-jvm-0.3.133.jar" + "url": "ai/grazie/model/model-text-jvm/0.4.16/model-text-jvm-0.4.16.jar", + "hash": "fac290bca4ef5ac2084e35dcb1663d5725de799d51333359931f542690672d7b", + "path": "ai/grazie/model/model-text-jvm/0.4.16/model-text-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-langs-jvm/0.3.133/nlp-langs-jvm-0.3.133.jar", - "hash": "270164fec0acafa1a38795d66229b7099776879bb4eb659fe01c505eb2659f5c", - "path": "ai/grazie/nlp/nlp-langs-jvm/0.3.133/nlp-langs-jvm-0.3.133.jar" + "url": "ai/grazie/model/model-common-jvm/0.4.16/model-common-jvm-0.4.16.jar", + "hash": "58339397d3350db6c549a5ebee98b9611693c187fa2311b18aa849e27067c438", + "path": "ai/grazie/model/model-common-jvm/0.4.16/model-common-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-common-jvm/0.3.133/nlp-common-jvm-0.3.133.jar", - "hash": "985c391e50c040cfb4f0e9f2bd297f1333343392e894ad4c3cc52846f8693e6b", - "path": "ai/grazie/nlp/nlp-common-jvm/0.3.133/nlp-common-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-langs-jvm/0.4.16/nlp-langs-jvm-0.4.16.jar", + "hash": "dd132003dfc893e046834ec15ec5104f067d7a90eb9786e85f49b4e47bac4561", + "path": "ai/grazie/nlp/nlp-langs-jvm/0.4.16/nlp-langs-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-patterns-jvm/0.3.133/nlp-patterns-jvm-0.3.133.jar", - "hash": "739fa806547fa71a3c36ae65128308138617d19b699db272bd9cfcede754cc50", - "path": "ai/grazie/nlp/nlp-patterns-jvm/0.3.133/nlp-patterns-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-common-jvm/0.4.16/nlp-common-jvm-0.4.16.jar", + "hash": "d1c17c4dbb3f5f43b6e3cfc30a319d1a050aa5425ab0ce27b802b90f114a649e", + "path": "ai/grazie/nlp/nlp-common-jvm/0.4.16/nlp-common-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-similarity-jvm/0.3.133/nlp-similarity-jvm-0.3.133.jar", - "hash": "1071e4c47a14f1df6d3ecaf0c5d3c2272fe9c691e350e5cd442385f7a5f8256c", - "path": "ai/grazie/nlp/nlp-similarity-jvm/0.3.133/nlp-similarity-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-patterns-jvm/0.4.16/nlp-patterns-jvm-0.4.16.jar", + "hash": "add762a914bd20ca21ea25b43f24627f902b687514ddce9ba28916bb20e8066e", + "path": "ai/grazie/nlp/nlp-patterns-jvm/0.4.16/nlp-patterns-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-phonetics-jvm/0.3.133/nlp-phonetics-jvm-0.3.133.jar", - "hash": "4cbf17f5c7049077cc1b8f885cb332b8d2271c7d3cd71d1501cda3e9328936d6", - "path": "ai/grazie/nlp/nlp-phonetics-jvm/0.3.133/nlp-phonetics-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-similarity-jvm/0.4.16/nlp-similarity-jvm-0.4.16.jar", + "hash": "79a42758913de07c1ebeb851a4a70236309ea12dcb64d1db7ea007618593470f", + "path": "ai/grazie/nlp/nlp-similarity-jvm/0.4.16/nlp-similarity-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-tokenizer-jvm/0.3.133/nlp-tokenizer-jvm-0.3.133.jar", - "hash": "3c3b9b40dc65a8542edcf5f919cc700536829d0c2b9f9eb23e8c89e2d7c437d9", - "path": "ai/grazie/nlp/nlp-tokenizer-jvm/0.3.133/nlp-tokenizer-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-phonetics-jvm/0.4.16/nlp-phonetics-jvm-0.4.16.jar", + "hash": "35479690a543b83528932122a18a476902673caa591bbeb580564eb09fbfdf62", + "path": "ai/grazie/nlp/nlp-phonetics-jvm/0.4.16/nlp-phonetics-jvm-0.4.16.jar" + }, + { + "url": "ai/grazie/nlp/nlp-tokenizer-jvm/0.4.16/nlp-tokenizer-jvm-0.4.16.jar", + "hash": "fcc839a317aba9e165c4d061e0f266dcebf32c7ceee9cb5571144cd1db60d63d", + "path": "ai/grazie/nlp/nlp-tokenizer-jvm/0.4.16/nlp-tokenizer-jvm-0.4.16.jar" }, { "url": "com/android/tools/analytics-library/testing/31.5.0-alpha08/testing-31.5.0-alpha08.jar", @@ -284,6 +289,11 @@ "hash": "2d931e26e6632f608a6dab0fb60d27fae075260bf4532bb6ba8828d81bd167b3", "path": "com/jetbrains/fus/reporting/model/76/model-76.jar" }, + { + "url": "org/apache/sshd/sshd-osgi/2.14.0/sshd-osgi-2.14.0.jar", + "hash": "cf7450bf7204380a817c86bb5968aa7df81555081f479690b32eb20fb51015e9", + "path": "org/apache/sshd/sshd-osgi/2.14.0/sshd-osgi-2.14.0.jar" + }, { "url": "org/ow2/asm/asm-analysis/9.7/asm-analysis-9.7.jar", "hash": "7bc6bcbc21379948a0c8c467fb0f864206e5b818f6bc0b546872f5c9f941556f", @@ -325,34 +335,34 @@ "path": "org/jetbrains/intellij/blockmap/1.0.7/blockmap-1.0.7.jar" }, { - "url": "org/bouncycastle/bcpg-jdk18on/1.78.1/bcpg-jdk18on-1.78.1.jar", - "hash": "1463bb2cb8737e9ae34f5bd93f48e27711365bb277f4918f44608ed89b68792d", - "path": "org/bouncycastle/bcpg-jdk18on/1.78.1/bcpg-jdk18on-1.78.1.jar" + "url": "org/bouncycastle/bcpg-jdk18on/1.80/bcpg-jdk18on-1.80.jar", + "hash": "3799a0d53511b860780af43c44ae8e0519afabb263195af40174f46312cd58bd", + "path": "org/bouncycastle/bcpg-jdk18on/1.80/bcpg-jdk18on-1.80.jar" }, { - "url": "org/bouncycastle/bcpkix-jdk18on/1.78.1/bcpkix-jdk18on-1.78.1.jar", - "hash": "4b48ea084e5232b9d79ebca1887b9de037b124931807cd60710748c2aee08cc9", - "path": "org/bouncycastle/bcpkix-jdk18on/1.78.1/bcpkix-jdk18on-1.78.1.jar" + "url": "org/bouncycastle/bcpkix-jdk18on/1.80/bcpkix-jdk18on-1.80.jar", + "hash": "4f4ba6a92617ea19dc183f0fa5db492eee426fdde2a0a2d6c94777ffd1af6413", + "path": "org/bouncycastle/bcpkix-jdk18on/1.80/bcpkix-jdk18on-1.80.jar" }, { - "url": "org/bouncycastle/bcprov-jdk18on/1.78.1/bcprov-jdk18on-1.78.1.jar", - "hash": "add5915e6acfc6ab5836e1fd8a5e21c6488536a8c1f21f386eeb3bf280b702d7", - "path": "org/bouncycastle/bcprov-jdk18on/1.78.1/bcprov-jdk18on-1.78.1.jar" + "url": "org/bouncycastle/bcutil-jdk18on/1.80/bcutil-jdk18on-1.80.jar", + "hash": "22eca687f7955411f456af33e6ea8e68fc73cd80cb8b32aa5f7a8b1827d7c678", + "path": "org/bouncycastle/bcutil-jdk18on/1.80/bcutil-jdk18on-1.80.jar" }, { - "url": "org/bouncycastle/bcutil-jdk18on/1.78.1/bcutil-jdk18on-1.78.1.jar", - "hash": "d9fa56f97b0f761ce3bc8d9d74c5d7137a987bf5bd3abfe1003f9bafa45a1d2f", - "path": "org/bouncycastle/bcutil-jdk18on/1.78.1/bcutil-jdk18on-1.78.1.jar" + "url": "org/bouncycastle/bcprov-jdk18on/1.80/bcprov-jdk18on-1.80.jar", + "hash": "e8ad209f8c58d291a37ca9750e9e9fac60596956c983e49dd8282381dd8b3249", + "path": "org/bouncycastle/bcprov-jdk18on/1.80/bcprov-jdk18on-1.80.jar" }, { - "url": "com/github/ben-manes/caffeine/caffeine/3.1.8/caffeine-3.1.8.jar", - "hash": "7dd15f9df1be238ffaa367ce6f556737a88031de4294dad18eef57c474ddf1d3", - "path": "com/github/ben-manes/caffeine/caffeine/3.1.8/caffeine-3.1.8.jar" + "url": "com/github/ben-manes/caffeine/caffeine/3.2.0/caffeine-3.2.0.jar", + "hash": "ec411dfdf0c03f25218648ce89861630b71680e5858a9a7278ebac8e55cab3d7", + "path": "com/github/ben-manes/caffeine/caffeine/3.2.0/caffeine-3.2.0.jar" }, { - "url": "io/github/classgraph/classgraph/4.8.174/classgraph-4.8.174.jar", - "hash": "3594bdb5ff2b420df7330b7e192221eaa6960c5f1e08890c391cb56109e3c4b9", - "path": "io/github/classgraph/classgraph/4.8.174/classgraph-4.8.174.jar" + "url": "io/github/classgraph/classgraph/4.8.179/classgraph-4.8.179.jar", + "hash": "16558357f234052370109127a45d69a9bd6d8646925594792634486dc48b159d", + "path": "io/github/classgraph/classgraph/4.8.179/classgraph-4.8.179.jar" }, { "url": "com/github/spullara/cli-parser/cli-parser/1.1.6/cli-parser-1.1.6.jar", @@ -405,14 +415,14 @@ "path": "commons-logging/commons-logging/1.2/commons-logging-1.2.jar" }, { - "url": "org/apache/commons/commons-text/1.12.0/commons-text-1.12.0.jar", - "hash": "de023257ff166044a56bd1aa9124e843cd05dac5806cc705a9311f3556d5a15f", - "path": "org/apache/commons/commons-text/1.12.0/commons-text-1.12.0.jar" + "url": "org/apache/commons/commons-text/1.13.0/commons-text-1.13.0.jar", + "hash": "1e323a501127df78ed0987f345d69d65d0ea7fa3d4fb5b3f84aaeba3a8b20f38", + "path": "org/apache/commons/commons-text/1.13.0/commons-text-1.13.0.jar" }, { - "url": "info/cukes/cucumber-core/1.2.4/cucumber-core-1.2.4.jar", - "hash": "424f81cb5ce84386bd310d572f8edd91723cde58abd52f65db5888e0b38eb8f5", - "path": "info/cukes/cucumber-core/1.2.4/cucumber-core-1.2.4.jar" + "url": "io/cucumber/cucumber-core/1.2.6/cucumber-core-1.2.6.jar", + "hash": "ace77c533236213a1aa9f68b8de10e564da809605371ef2f8c73cd8f4c71293a", + "path": "io/cucumber/cucumber-core/1.2.6/cucumber-core-1.2.6.jar" }, { "url": "info/cukes/gherkin/2.12.2/gherkin-2.12.2.jar", @@ -450,9 +460,14 @@ "path": "info/cukes/cucumber-jvm-deps/1.0.5/cucumber-jvm-deps-1.0.5.jar" }, { - "url": "com/jetbrains/intellij/devkit/devkit-runtime-module-repository-jps/241.12019/devkit-runtime-module-repository-jps-241.12019.jar", - "hash": "9f4d52fc52b1e1505e44a427dbbbb7a010f7f1d8506c2fe2c3c8cc132eb87daa", - "path": "com/jetbrains/intellij/devkit/devkit-runtime-module-repository-jps/241.12019/devkit-runtime-module-repository-jps-241.12019.jar" + "url": "de/cketti/unicode/kotlin-codepoints-jvm/0.9.0/kotlin-codepoints-jvm-0.9.0.jar", + "hash": "d642f145f6123739e779d4156145cc5fe7c2173bb58d437b813961a31c337ff9", + "path": "de/cketti/unicode/kotlin-codepoints-jvm/0.9.0/kotlin-codepoints-jvm-0.9.0.jar" + }, + { + "url": "com/jetbrains/intellij/devkit/devkit-runtime-module-repository-jps/251.16369/devkit-runtime-module-repository-jps-251.16369.jar", + "hash": "bb46909020abfc29fb6480b261ab1a887d19d0af83777ac8fb0cb950f45e7005", + "path": "com/jetbrains/intellij/devkit/devkit-runtime-module-repository-jps/251.16369/devkit-runtime-module-repository-jps-251.16369.jar" }, { "url": "com/jetbrains/infra/download-pgp-verifier/1.1.4/download-pgp-verifier-1.1.4.jar", @@ -460,9 +475,9 @@ "path": "com/jetbrains/infra/download-pgp-verifier/1.1.4/download-pgp-verifier-1.1.4.jar" }, { - "url": "org/easymock/easymock/5.2.0/easymock-5.2.0.jar", - "hash": "e63a6494b96553cbd0dfde13b5f23dabbd811854410d6ebc53a6a6684a1763b5", - "path": "org/easymock/easymock/5.2.0/easymock-5.2.0.jar" + "url": "org/easymock/easymock/5.5.0/easymock-5.5.0.jar", + "hash": "bf05b56b102be91c7cd0bbad1684d5809ac2ccd0380e684f9445bfde14418f7f", + "path": "org/easymock/easymock/5.5.0/easymock-5.5.0.jar" }, { "url": "org/ec4j/core/ec4j-core/0.3.0/ec4j-core-0.3.0.jar", @@ -484,6 +499,11 @@ "hash": "ba8254ff6d612af49acee4cac1108453ce3a417efa548b24f2f4f268cd2b441a", "path": "net/bytebuddy/byte-buddy/1.14.13/byte-buddy-1.14.13.jar" }, + { + "url": "jetbrains/fleet/expects-compiler-plugin/2.1.10-0.1/expects-compiler-plugin-2.1.10-0.1.jar", + "hash": "5cc221cebbc1f72146b6f2bcd7f3804fada53ca75885854024f8141c20ebe734", + "path": "jetbrains/fleet/expects-compiler-plugin/2.1.10-0.1/expects-compiler-plugin-2.1.10-0.1.jar" + }, { "url": "org/jetbrains/intellij/deps/fastutil/intellij-deps-fastutil/8.5.14-jb1/intellij-deps-fastutil-8.5.14-jb1.jar", "hash": "d9652a225d86e5420d1a07b2bd5be33cdaff9184a2522ced837bd3b963e7f4a4", @@ -585,9 +605,9 @@ "path": "io/grpc/grpc-stub/1.66.0/grpc-stub-1.66.0.jar" }, { - "url": "com/google/code/gson/gson/2.11.0/gson-2.11.0.jar", - "hash": "57928d6e5a6edeb2abd3770a8f95ba44dce45f3b23b7a9dc2b309c581552a78b", - "path": "com/google/code/gson/gson/2.11.0/gson-2.11.0.jar" + "url": "com/google/code/gson/gson/2.12.1/gson-2.12.1.jar", + "hash": "ebee13d5fb7477cd7f1cc010e0c356df8ca80709715248da97f79e35ccb4fbec", + "path": "com/google/code/gson/gson/2.12.1/gson-2.12.1.jar" }, { "url": "com/google/guava/guava-testlib/33.0.0-jre/guava-testlib-33.0.0-jre.jar", @@ -600,9 +620,9 @@ "path": "org/hamcrest/hamcrest/2.2/hamcrest-2.2.jar" }, { - "url": "com/dynatrace/hash4j/hash4j/0.18.0/hash4j-0.18.0.jar", - "hash": "bf974b5654aa4254915a0d63a76a429acaed1d005f0f79f4adaf2292f3541f80", - "path": "com/dynatrace/hash4j/hash4j/0.18.0/hash4j-0.18.0.jar" + "url": "com/dynatrace/hash4j/hash4j/0.20.0/hash4j-0.20.0.jar", + "hash": "0181873ba85684d119134f5598432f5b63109a03adc455767a1500b2145df8a2", + "path": "com/dynatrace/hash4j/hash4j/0.20.0/hash4j-0.20.0.jar" }, { "url": "org/apache/httpcomponents/httpmime/4.5.14/httpmime-4.5.14.jar", @@ -660,9 +680,9 @@ "path": "org/jetbrains/intellij/deps/intellij-test-discovery-agent/1.0.763/intellij-test-discovery-agent-1.0.763.jar" }, { - "url": "io/lacuna/bifurcan/0.2.0-alpha6/bifurcan-0.2.0-alpha6.jar", - "hash": "e7ac848bc0bf207bac0d8272540c4972efdeb1e25d1108f42d6f64f9795336b9", - "path": "io/lacuna/bifurcan/0.2.0-alpha6/bifurcan-0.2.0-alpha6.jar" + "url": "io/github/z4kn4fein/semver-jvm/2.0.0/semver-jvm-2.0.0.jar", + "hash": "fbbf174a4e78aa5be1f1b7db73edc5c0a6a2e59e1562263e2c3a2e510fa1ba45", + "path": "io/github/z4kn4fein/semver-jvm/2.0.0/semver-jvm-2.0.0.jar" }, { "url": "io/mockk/mockk/1.13.12/mockk-1.13.12.jar", @@ -734,6 +754,11 @@ "hash": "873a606e23507969f9bbbea939d5e19274a88775ea5a169ba7e2d795aa5156e1", "path": "com/fasterxml/jackson/core/jackson-annotations/2.17.2/jackson-annotations-2.17.2.jar" }, + { + "url": "com/fasterxml/jackson/dataformat/jackson-dataformat-toml/2.17.2/jackson-dataformat-toml-2.17.2.jar", + "hash": "bc7ecf3f1bf76a26daddf2c7ab4facc017ce6e8c5c8c6b8f29cb610494828017", + "path": "com/fasterxml/jackson/dataformat/jackson-dataformat-toml/2.17.2/jackson-dataformat-toml-2.17.2.jar" + }, { "url": "com/fasterxml/jackson/dataformat/jackson-dataformat-yaml/2.17.2/jackson-dataformat-yaml-2.17.2.jar", "hash": "941bcd8b1381bb3b0d726fab41624fa8ece0ee7b6cf2860ad95e8157ce673376", @@ -805,19 +830,19 @@ "path": "com/sun/activation/jakarta.activation/1.2.2/jakarta.activation-1.2.2.jar" }, { - "url": "org/jetbrains/intellij/deps/jb-jdi/2.37/jb-jdi-2.37.jar", - "hash": "e2e01941b253707ae47d0a9c6f7d2b5e3803f55deb4324f1d00e5f3dafd2580d", - "path": "org/jetbrains/intellij/deps/jb-jdi/2.37/jb-jdi-2.37.jar" + "url": "org/jetbrains/intellij/deps/jb-jdi/2.41/jb-jdi-2.41.jar", + "hash": "6cf1a0a0d77420bb644f3a737c42642e9f7e601c63843d73d492a55a1b926af3", + "path": "org/jetbrains/intellij/deps/jb-jdi/2.41/jb-jdi-2.41.jar" }, { - "url": "com/jetbrains/jbr-api/1.0.0/jbr-api-1.0.0.jar", - "hash": "f472369968f6692804e528e3a17d3d71386ac502d1312164b6dd670b46d966e3", - "path": "com/jetbrains/jbr-api/1.0.0/jbr-api-1.0.0.jar" + "url": "com/jetbrains/jbr-api/1.2.0/jbr-api-1.2.0.jar", + "hash": "c8c63ab5e027125413df7e064b7df4f8f767c111e015a8a3099c49a3c0fd9004", + "path": "com/jetbrains/jbr-api/1.2.0/jbr-api-1.2.0.jar" }, { - "url": "org/jetbrains/intellij/deps/jcef/jcef/122.1.9-gd14e051-chromium-122.0.6261.94-api-1.17-dev-b538/jcef-122.1.9-gd14e051-chromium-122.0.6261.94-api-1.17-dev-b538.jar", - "hash": "da1a0d3e31eb33c7bfd72b64ce89f0883479d574041bb933138308fa0c2cc54e", - "path": "org/jetbrains/intellij/deps/jcef/jcef/122.1.9-gd14e051-chromium-122.0.6261.94-api-1.17-dev-b538/jcef-122.1.9-gd14e051-chromium-122.0.6261.94-api-1.17-dev-b538.jar" + "url": "org/jetbrains/intellij/deps/jcef/jcef/122.1.9-gd14e051-chromium-122.0.6261.94-api-1.18-251-b27/jcef-122.1.9-gd14e051-chromium-122.0.6261.94-api-1.18-251-b27.jar", + "hash": "6ea1b11de64cafdad0521421d261a9b3c1531d3c28caf9a7c88a1487cbb27d4c", + "path": "org/jetbrains/intellij/deps/jcef/jcef/122.1.9-gd14e051-chromium-122.0.6261.94-api-1.18-251-b27/jcef-122.1.9-gd14e051-chromium-122.0.6261.94-api-1.18-251-b27.jar" }, { "url": "net/jcip/jcip-annotations/1.0/jcip-annotations-1.0.jar", @@ -825,14 +850,14 @@ "path": "net/jcip/jcip-annotations/1.0/jcip-annotations-1.0.jar" }, { - "url": "org/jetbrains/jediterm/jediterm-core/3.47/jediterm-core-3.47.jar", - "hash": "783da24cb8fbf0b928e58d39a5c7d43284ee7646f8039a3681f75db73aab794a", - "path": "org/jetbrains/jediterm/jediterm-core/3.47/jediterm-core-3.47.jar" + "url": "org/jetbrains/jediterm/jediterm-core/3.51/jediterm-core-3.51.jar", + "hash": "3227c674735a375a5ddfc53f131683b7f20be84571e2226bbed751b11f70adc5", + "path": "org/jetbrains/jediterm/jediterm-core/3.51/jediterm-core-3.51.jar" }, { - "url": "org/jetbrains/jediterm/jediterm-ui/3.47/jediterm-ui-3.47.jar", - "hash": "5217fe12ddcdb5bb134bc22410c74400ffc3ecca1bc465692e42809f64be1158", - "path": "org/jetbrains/jediterm/jediterm-ui/3.47/jediterm-ui-3.47.jar" + "url": "org/jetbrains/jediterm/jediterm-ui/3.51/jediterm-ui-3.51.jar", + "hash": "9d9da462aa81ce66989d70f006d1725a099d7cf7d0730ed5202608e408c68ac5", + "path": "org/jetbrains/jediterm/jediterm-ui/3.51/jediterm-ui-3.51.jar" }, { "url": "org/jetbrains/jetCheck/0.2.2/jetCheck-0.2.2.jar", @@ -865,9 +890,9 @@ "path": "org/jetbrains/intellij/deps/rwmutex-idea/0.0.7/rwmutex-idea-0.0.7.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-compose-compiler-plugin/2.0.21-RC/kotlin-compose-compiler-plugin-2.0.21-RC.jar", - "hash": "42268e4a0700ee3a436985166f30462cf44ef0185f07129a353d2479e4397824", - "path": "org/jetbrains/kotlin/kotlin-compose-compiler-plugin/2.0.21-RC/kotlin-compose-compiler-plugin-2.0.21-RC.jar" + "url": "org/jetbrains/kotlin/kotlin-compose-compiler-plugin/2.1.10/kotlin-compose-compiler-plugin-2.1.10.jar", + "hash": "c89e312d4bb3706e082b1e1a7c484da03ff1d6dfaf6db1ce6003d6ac66a1823a", + "path": "org/jetbrains/kotlin/kotlin-compose-compiler-plugin/2.1.10/kotlin-compose-compiler-plugin-2.1.10.jar" }, { "url": "org/jetbrains/kotlinx/lincheck-jvm/2.33/lincheck-jvm-2.33.jar", @@ -919,25 +944,35 @@ "hash": "b3d9ec0298e84ed09e0448c52a643bfdad7f3d8096f1303592a3046e711551af", "path": "org/jetbrains/kotlinx/atomicfu-jvm/0.20.2/atomicfu-jvm-0.20.2.jar" }, - { - "url": "org/jetbrains/kotlinx/kotlinx-metadata-jvm/0.8.0/kotlinx-metadata-jvm-0.8.0.jar", - "hash": "6030de49e7fc2ca8009e1221213035694b97494044aa99bcfb0c8e0e73984d4d", - "path": "org/jetbrains/kotlinx/kotlinx-metadata-jvm/0.8.0/kotlinx-metadata-jvm-0.8.0.jar" - }, { "url": "org/jetbrains/markdown-jvm/0.7.2/markdown-jvm-0.7.2.jar", "hash": "02e0f9bf95e4b9f81e34593691a5c0ff14604db39fb8446fe9a4efa66553f3ac", "path": "org/jetbrains/markdown-jvm/0.7.2/markdown-jvm-0.7.2.jar" }, { - "url": "com/jetbrains/mlapi/extension/34/extension-34.jar", - "hash": "1d18aa7a0d891cab230ddb67e3d1174830e1472c7373c37296c23a3905040a7d", - "path": "com/jetbrains/mlapi/extension/34/extension-34.jar" + "url": "com/jetbrains/ml/models/python-imports-ranking-model/coral-panda/python-imports-ranking-model-coral-panda.jar", + "hash": "3ede7c75d81a2a643bca12c237c814508c70178708923e27a282a0c896cf1c6e", + "path": "com/jetbrains/ml/models/python-imports-ranking-model/coral-panda/python-imports-ranking-model-coral-panda.jar" }, { - "url": "com/jetbrains/mlapi/usage/34/usage-34.jar", - "hash": "b28271a408b89f4a9e00e4a849543b5e9206333472ee379027d969e5d1b42e6f", - "path": "com/jetbrains/mlapi/usage/34/usage-34.jar" + "url": "com/jetbrains/mlapi/catboost-shadow-need-slf4j/1.2.5/catboost-shadow-need-slf4j-1.2.5.jar", + "hash": "94a06c3fdd4aa638df59c8c783a379ca43a5b933187760e219e09e84f1633d76", + "path": "com/jetbrains/mlapi/catboost-shadow-need-slf4j/1.2.5/catboost-shadow-need-slf4j-1.2.5.jar" + }, + { + "url": "com/jetbrains/mlapi/ml-api/76/ml-api-76.jar", + "hash": "0bba8638b6297f9f2b8c441dc6a95c68ccfbe97850e31892ecef1d418fecf7fd", + "path": "com/jetbrains/mlapi/ml-api/76/ml-api-76.jar" + }, + { + "url": "com/jetbrains/mlapi/ml-tools/76/ml-tools-76.jar", + "hash": "92f9aacba9f8bfaa6f4fc8341127f2499a432a84e0e95575302a1ecba6f7f6ef", + "path": "com/jetbrains/mlapi/ml-tools/76/ml-tools-76.jar" + }, + { + "url": "com/jetbrains/mlapi/ml-tools-suspendable/76/ml-tools-suspendable-76.jar", + "hash": "98be4a00226838f7afc9dd054ee40ed03e1379672b343258480b8b72f1b25e0f", + "path": "com/jetbrains/mlapi/ml-tools-suspendable/76/ml-tools-suspendable-76.jar" }, { "url": "com/jgoodies/jgoodies-common/1.4.0/jgoodies-common-1.4.0.jar", @@ -1040,14 +1075,14 @@ "path": "net/java/dev/jna/jna/5.14.0/jna-5.14.0.jar" }, { - "url": "org/jruby/joni/joni/2.2.1/joni-2.2.1.jar", - "hash": "b3e4b657a3ed1d8f684114f6baa462d553a5932a865c1574695498dda8577748", - "path": "org/jruby/joni/joni/2.2.1/joni-2.2.1.jar" + "url": "org/jruby/joni/joni/2.2.3/joni-2.2.3.jar", + "hash": "7ea54221f5f91deff2e860fe986eefe208b59fa04300e54c505c5c0c08d55e9a", + "path": "org/jruby/joni/joni/2.2.3/joni-2.2.3.jar" }, { - "url": "org/jruby/jcodings/jcodings/1.0.58/jcodings-1.0.58.jar", - "hash": "e2f85def67d6848a7a41c648248645689e3990d17ab8f253ab2fd7e69407df67", - "path": "org/jruby/jcodings/jcodings/1.0.58/jcodings-1.0.58.jar" + "url": "org/jruby/jcodings/jcodings/1.0.61/jcodings-1.0.61.jar", + "hash": "3238c68a2f86cec53cc184ad26df8352db87bb22a419bd17fb4acdfbb0bc40f0", + "path": "org/jruby/jcodings/jcodings/1.0.61/jcodings-1.0.61.jar" }, { "url": "org/jetbrains/jps/jps-javac-extension/10/jps-javac-extension-10.jar", @@ -1075,9 +1110,9 @@ "path": "net/minidev/accessors-smart/2.5.0/accessors-smart-2.5.0.jar" }, { - "url": "org/jsoup/jsoup/1.18.1/jsoup-1.18.1.jar", - "hash": "3bb5b0ec02998abe45a51f37d7ce67c3068b4ccd4ab63c965929ec5074d64e91", - "path": "org/jsoup/jsoup/1.18.1/jsoup-1.18.1.jar" + "url": "org/jsoup/jsoup/1.18.3/jsoup-1.18.3.jar", + "hash": "5be1ccd3228ae5fd6eed1bd6d827bac2bc65b91c20e9957d16ea65f739f15302", + "path": "org/jsoup/jsoup/1.18.3/jsoup-1.18.3.jar" }, { "url": "com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar", @@ -1090,15 +1125,30 @@ "path": "com/github/weisj/jsvg/1.3.0-jb.8/jsvg-1.3.0-jb.8.jar" }, { - "url": "org/jetbrains/nativecerts/jvm-native-trusted-roots/1.0.21/jvm-native-trusted-roots-1.0.21.jar", - "hash": "9501d16ed256fa0db804e54e4d46732f1dceceae37f8590bec51032d3415496f", - "path": "org/jetbrains/nativecerts/jvm-native-trusted-roots/1.0.21/jvm-native-trusted-roots-1.0.21.jar" + "url": "org/jetbrains/nativecerts/jvm-native-trusted-roots/1.0.24/jvm-native-trusted-roots-1.0.24.jar", + "hash": "2626f65eac06b4626468692c18413d0b3db65aa71a9960dd6ac237b04e18efd8", + "path": "org/jetbrains/nativecerts/jvm-native-trusted-roots/1.0.24/jvm-native-trusted-roots-1.0.24.jar" }, { "url": "com/jcraft/jzlib/1.1.3/jzlib-1.1.3.jar", "hash": "89b1360f407381bf61fde411019d8cbd009ebb10cff715f3669017a031027560", "path": "com/jcraft/jzlib/1.1.3/jzlib-1.1.3.jar" }, + { + "url": "com/charleskorn/kaml/kaml-jvm/0.66.0/kaml-jvm-0.66.0.jar", + "hash": "b7e94d0f2d8a5c4d826cfc31d4a1475e96fc1244228fb41e121bf005bb9f7f28", + "path": "com/charleskorn/kaml/kaml-jvm/0.66.0/kaml-jvm-0.66.0.jar" + }, + { + "url": "it/krzeminski/snakeyaml-engine-kmp-jvm/3.0.3/snakeyaml-engine-kmp-jvm-3.0.3.jar", + "hash": "f1a11e3ad9525cb7f300b4174b74e1fe4a89d619a54a1fba75747f8c854b5856", + "path": "it/krzeminski/snakeyaml-engine-kmp-jvm/3.0.3/snakeyaml-engine-kmp-jvm-3.0.3.jar" + }, + { + "url": "net/thauvin/erik/urlencoder/urlencoder-lib-jvm/1.6.0/urlencoder-lib-jvm-1.6.0.jar", + "hash": "8d0fd2aeb48d19dc49c563ebc00f274947e45f716c107535c12ead63decd688d", + "path": "net/thauvin/erik/urlencoder/urlencoder-lib-jvm/1.6.0/urlencoder-lib-jvm-1.6.0.jar" + }, { "url": "org/jetbrains/kotlin/kotlin-gradle-plugin-idea/1.9.20-dev-8162/kotlin-gradle-plugin-idea-1.9.20-dev-8162.jar", "hash": "8d1af87632d95148f122a9fa0ae2903c19ee6fab7d01e017f76e0d2c9a022c20", @@ -1109,30 +1159,35 @@ "hash": "3841d6ad1fdd4bf90143ac6012146d291409b431e837f143c023135bd24b79a6", "path": "org/jetbrains/kotlin/kotlin-gradle-plugin-idea-proto/1.9.20-dev-8162/kotlin-gradle-plugin-idea-proto-1.9.20-dev-8162.jar" }, + { + "url": "org/jetbrains/kotlin/kotlin-metadata-jvm/2.1.20-Beta2/kotlin-metadata-jvm-2.1.20-Beta2.jar", + "hash": "a4d99e5b88eff9972c117b577436aa587e83f78e60cf005cd614065f59ead7a9", + "path": "org/jetbrains/kotlin/kotlin-metadata-jvm/2.1.20-Beta2/kotlin-metadata-jvm-2.1.20-Beta2.jar" + }, { "url": "org/jetbrains/kotlin/kotlin-project-model/1.6.0/kotlin-project-model-1.6.0.jar", "hash": "38135d3f995fc505d604aed2e82ac5ba858b2a6a3e476899c3b8be47fd222b68", "path": "org/jetbrains/kotlin/kotlin-project-model/1.6.0/kotlin-project-model-1.6.0.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-reflect/2.0.21-RC/kotlin-reflect-2.0.21-RC.jar", - "hash": "3084af03e6c23e7a874ccca28b9b45a22a07f26bfde92d8f65c1f9f0f5e06334", - "path": "org/jetbrains/kotlin/kotlin-reflect/2.0.21-RC/kotlin-reflect-2.0.21-RC.jar" + "url": "org/jetbrains/kotlin/kotlin-reflect/2.1.10/kotlin-reflect-2.1.10.jar", + "hash": "d019d3d615f3e55a2ea1299b619c26a73e227b250376e529aea1e1adbc65a4e4", + "path": "org/jetbrains/kotlin/kotlin-reflect/2.1.10/kotlin-reflect-2.1.10.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-script-runtime/2.0.21-RC/kotlin-script-runtime-2.0.21-RC.jar", - "hash": "23f602af8812a962800a3422228176d7a20852da669566e542debdf739c795e4", - "path": "org/jetbrains/kotlin/kotlin-script-runtime/2.0.21-RC/kotlin-script-runtime-2.0.21-RC.jar" + "url": "org/jetbrains/kotlin/kotlin-script-runtime/2.1.10/kotlin-script-runtime-2.1.10.jar", + "hash": "e244c0e7f664111755f2e6e977861b71a6eba3b4f45162704833e46dfa883ae8", + "path": "org/jetbrains/kotlin/kotlin-script-runtime/2.1.10/kotlin-script-runtime-2.1.10.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-stdlib/2.0.21-RC/kotlin-stdlib-2.0.21-RC.jar", - "hash": "b381dd01cdbc24063d77d2dfe8b3609b3947225a88e9664606c2d241aff4fd82", - "path": "org/jetbrains/kotlin/kotlin-stdlib/2.0.21-RC/kotlin-stdlib-2.0.21-RC.jar" + "url": "org/jetbrains/kotlin/kotlin-stdlib/2.1.10/kotlin-stdlib-2.1.10.jar", + "hash": "5f2ac1ca8dc8b37a3f4314e716d36969ebf0227a75181d32699d0a8f645b1c21", + "path": "org/jetbrains/kotlin/kotlin-stdlib/2.1.10/kotlin-stdlib-2.1.10.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-test/2.0.21-RC/kotlin-test-2.0.21-RC.jar", - "hash": "9d2b8d690e8038c825af6a6644c7d81476958b298e37770e85229dd73a348ce8", - "path": "org/jetbrains/kotlin/kotlin-test/2.0.21-RC/kotlin-test-2.0.21-RC.jar" + "url": "org/jetbrains/kotlin/kotlin-test/2.1.10/kotlin-test-2.1.10.jar", + "hash": "940eaaeccc434c79fc5afcb3093f47e46469661bb350e79f82f4d92ac6e960c5", + "path": "org/jetbrains/kotlin/kotlin-test/2.1.10/kotlin-test-2.1.10.jar" }, { "url": "io/kotest/kotest-assertions-core-jvm/5.5.4/kotest-assertions-core-jvm-5.5.4.jar", @@ -1160,9 +1215,9 @@ "path": "io/kotest/kotest-assertions-api-jvm/5.5.4/kotest-assertions-api-jvm-5.5.4.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-test-junit/2.0.21-RC/kotlin-test-junit-2.0.21-RC.jar", - "hash": "60426dbc1035b08eaf460057fcfa43c2d7fb0a66d8409c18a5b4503a8e797753", - "path": "org/jetbrains/kotlin/kotlin-test-junit/2.0.21-RC/kotlin-test-junit-2.0.21-RC.jar" + "url": "org/jetbrains/kotlin/kotlin-test-junit/2.1.10/kotlin-test-junit-2.1.10.jar", + "hash": "1bc2f4e0bad73a2d04bcc67f46ab63fb10cc8e288f77f94b5e5dc07361ef30be", + "path": "org/jetbrains/kotlin/kotlin-test-junit/2.1.10/kotlin-test-junit-2.1.10.jar" }, { "url": "org/jetbrains/kotlin/kotlin-tooling-core/1.9.20-dev-8162/kotlin-tooling-core-1.9.20-dev-8162.jar", @@ -1170,194 +1225,204 @@ "path": "org/jetbrains/kotlin/kotlin-tooling-core/1.9.20-dev-8162/kotlin-tooling-core-1.9.20-dev-8162.jar" }, { - "url": "org/jetbrains/kotlin/allopen-compiler-plugin-for-ide/2.1.20-ij243-27/allopen-compiler-plugin-for-ide-2.1.20-ij243-27.jar", - "hash": "c8adcf05d31e8c8b95c424ff7f4fcea7d1d2fd6c9bf240d4d195209ca4638247", - "path": "org/jetbrains/kotlin/allopen-compiler-plugin-for-ide/2.1.20-ij243-27/allopen-compiler-plugin-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/allopen-compiler-plugin-for-ide/2.2.0-ij251-113/allopen-compiler-plugin-for-ide-2.2.0-ij251-113.jar", + "hash": "68dde6aafe14dcd94bafb2390e57b8c885f0d9efcf83379de6fa6d85cc644d0e", + "path": "org/jetbrains/kotlin/allopen-compiler-plugin-for-ide/2.2.0-ij251-113/allopen-compiler-plugin-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/analysis-api-for-ide/2.1.20-ij243-27/analysis-api-for-ide-2.1.20-ij243-27.jar", - "hash": "1b444fb7269f7cdd1b507dd3673c837ca842e80186606fac452538cf39604983", - "path": "org/jetbrains/kotlin/analysis-api-for-ide/2.1.20-ij243-27/analysis-api-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/analysis-api-for-ide/2.2.0-ij251-113/analysis-api-for-ide-2.2.0-ij251-113.jar", + "hash": "0428679338ee7e5fdd8f56b1ab4fb7cf16a3905b23e9c40e55276afe2760fd0d", + "path": "org/jetbrains/kotlin/analysis-api-for-ide/2.2.0-ij251-113/analysis-api-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/analysis-api-fe10-for-ide/2.1.20-ij243-27/analysis-api-fe10-for-ide-2.1.20-ij243-27.jar", - "hash": "cbdbf36ad3b26ff90a88b97d35b8f753cb93495ee65618b195f8c56f1c8fb5ee", - "path": "org/jetbrains/kotlin/analysis-api-fe10-for-ide/2.1.20-ij243-27/analysis-api-fe10-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/analysis-api-fe10-for-ide/2.2.0-ij251-113/analysis-api-fe10-for-ide-2.2.0-ij251-113.jar", + "hash": "ed0dc0ae7fae09130516642ef11541c02a6d6842aba0f2c77b68c70c32fed5b3", + "path": "org/jetbrains/kotlin/analysis-api-fe10-for-ide/2.2.0-ij251-113/analysis-api-fe10-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/analysis-api-impl-base-for-ide/2.1.20-ij243-27/analysis-api-impl-base-for-ide-2.1.20-ij243-27.jar", - "hash": "2670c1ef5d0fee7703e85a02adbf332491f4adcbd7f4c73c37ad321284614273", - "path": "org/jetbrains/kotlin/analysis-api-impl-base-for-ide/2.1.20-ij243-27/analysis-api-impl-base-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/analysis-api-impl-base-for-ide/2.2.0-ij251-113/analysis-api-impl-base-for-ide-2.2.0-ij251-113.jar", + "hash": "509fcbcc46e6570122b81fc2d8753eeec9e6560b38a8cdbbf419406ebfef7ffe", + "path": "org/jetbrains/kotlin/analysis-api-impl-base-for-ide/2.2.0-ij251-113/analysis-api-impl-base-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/analysis-api-impl-base-tests-for-ide/2.1.20-ij243-27/analysis-api-impl-base-tests-for-ide-2.1.20-ij243-27.jar", - "hash": "9244f9542fc33b743fd4eb95cb9afad94469af83cc41cd1145c837b2ea0b6438", - "path": "org/jetbrains/kotlin/analysis-api-impl-base-tests-for-ide/2.1.20-ij243-27/analysis-api-impl-base-tests-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/analysis-api-impl-base-tests-for-ide/2.2.0-ij251-113/analysis-api-impl-base-tests-for-ide-2.2.0-ij251-113.jar", + "hash": "6e00c06173b25a209d819432c894630a283e110b909fcdb0258bf4971d74d199", + "path": "org/jetbrains/kotlin/analysis-api-impl-base-tests-for-ide/2.2.0-ij251-113/analysis-api-impl-base-tests-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/analysis-api-k2-for-ide/2.1.20-ij243-27/analysis-api-k2-for-ide-2.1.20-ij243-27.jar", - "hash": "1d7563eb83797d89a82fc68dc5f4a83cc45a0f2c7600c29c5967ddc00e28d99b", - "path": "org/jetbrains/kotlin/analysis-api-k2-for-ide/2.1.20-ij243-27/analysis-api-k2-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/analysis-api-k2-for-ide/2.2.0-ij251-113/analysis-api-k2-for-ide-2.2.0-ij251-113.jar", + "hash": "efbdecbea08ffa0378c4106ceaf356d3038440c4d9bdcf56f5ec74f79cb1b329", + "path": "org/jetbrains/kotlin/analysis-api-k2-for-ide/2.2.0-ij251-113/analysis-api-k2-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/analysis-api-k2-tests-for-ide/2.1.20-ij243-27/analysis-api-k2-tests-for-ide-2.1.20-ij243-27.jar", - "hash": "50e8f50d80e7e8c9ebbf15f423a82ebc277ced66370509d7e8b9680fc1f4930f", - "path": "org/jetbrains/kotlin/analysis-api-k2-tests-for-ide/2.1.20-ij243-27/analysis-api-k2-tests-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/analysis-api-k2-tests-for-ide/2.2.0-ij251-113/analysis-api-k2-tests-for-ide-2.2.0-ij251-113.jar", + "hash": "247163b97450f15365b0c1591f97f3415d914fa58578af903530b147b2ae07ab", + "path": "org/jetbrains/kotlin/analysis-api-k2-tests-for-ide/2.2.0-ij251-113/analysis-api-k2-tests-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/analysis-api-platform-interface-for-ide/2.1.20-ij243-27/analysis-api-platform-interface-for-ide-2.1.20-ij243-27.jar", - "hash": "208a3912cd03910dc8e8bc66ee080bea29f6690ecaf1540b24ade4052841cd0c", - "path": "org/jetbrains/kotlin/analysis-api-platform-interface-for-ide/2.1.20-ij243-27/analysis-api-platform-interface-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/analysis-api-platform-interface-for-ide/2.2.0-ij251-113/analysis-api-platform-interface-for-ide-2.2.0-ij251-113.jar", + "hash": "06deb049fceb7e3752fa7f1b41a522ceb073f35e713c40fb6e39a0c7d6bec6e4", + "path": "org/jetbrains/kotlin/analysis-api-platform-interface-for-ide/2.2.0-ij251-113/analysis-api-platform-interface-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/android-extensions-compiler-plugin-for-ide/2.1.20-ij243-27/android-extensions-compiler-plugin-for-ide-2.1.20-ij243-27.jar", - "hash": "273cb56b099731bfcd042f5723d8927eb6595e60c503e2cbbf8e50279bbf6c1c", - "path": "org/jetbrains/kotlin/android-extensions-compiler-plugin-for-ide/2.1.20-ij243-27/android-extensions-compiler-plugin-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/android-extensions-compiler-plugin-for-ide/2.2.0-ij251-113/android-extensions-compiler-plugin-for-ide-2.2.0-ij251-113.jar", + "hash": "0c70387a833da47727d3e78ed41cdb6ed1d9ed14d5e343d26f5e1849fd0d5ede", + "path": "org/jetbrains/kotlin/android-extensions-compiler-plugin-for-ide/2.2.0-ij251-113/android-extensions-compiler-plugin-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/assignment-compiler-plugin-for-ide/2.1.20-ij243-27/assignment-compiler-plugin-for-ide-2.1.20-ij243-27.jar", - "hash": "51d89282a038b9f9c5624a7047f3b05bd944afd9873855f8afc0d56369ea7235", - "path": "org/jetbrains/kotlin/assignment-compiler-plugin-for-ide/2.1.20-ij243-27/assignment-compiler-plugin-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/assignment-compiler-plugin-for-ide/2.2.0-ij251-113/assignment-compiler-plugin-for-ide-2.2.0-ij251-113.jar", + "hash": "140b48b6299cdc520c61acef0e3fe7e954bd02c7547dd4ee132df1f3194e4f58", + "path": "org/jetbrains/kotlin/assignment-compiler-plugin-for-ide/2.2.0-ij251-113/assignment-compiler-plugin-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/compose-compiler-plugin-for-ide/2.1.20-ij243-27/compose-compiler-plugin-for-ide-2.1.20-ij243-27.jar", - "hash": "98cab727bfb519b915b9daebd1ef65bef7970948d553edbd77b414d567371d1c", - "path": "org/jetbrains/kotlin/compose-compiler-plugin-for-ide/2.1.20-ij243-27/compose-compiler-plugin-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/compose-compiler-plugin-for-ide/2.2.0-ij251-113/compose-compiler-plugin-for-ide-2.2.0-ij251-113.jar", + "hash": "5f58828ae2c0f0e85fab247b7f7552d9b24134659d194b680732ba54adb72359", + "path": "org/jetbrains/kotlin/compose-compiler-plugin-for-ide/2.2.0-ij251-113/compose-compiler-plugin-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/incremental-compilation-impl-tests-for-ide/2.1.20-ij243-27/incremental-compilation-impl-tests-for-ide-2.1.20-ij243-27.jar", - "hash": "04b1014cb80ed3734acc384c5b73b73326c10367fcf6f4ed326d58f5de676b32", - "path": "org/jetbrains/kotlin/incremental-compilation-impl-tests-for-ide/2.1.20-ij243-27/incremental-compilation-impl-tests-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/incremental-compilation-impl-tests-for-ide/2.2.0-ij251-113/incremental-compilation-impl-tests-for-ide-2.2.0-ij251-113.jar", + "hash": "3151d70d9baf13cc76cb5ab96ee1d73c24e105bfa2b27bb1756b28433eabb611", + "path": "org/jetbrains/kotlin/incremental-compilation-impl-tests-for-ide/2.2.0-ij251-113/incremental-compilation-impl-tests-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/js-plain-objects-compiler-plugin-for-ide/2.1.20-ij243-27/js-plain-objects-compiler-plugin-for-ide-2.1.20-ij243-27.jar", - "hash": "b0c84299e91a2fe55e4d23f474442fc1d2e547be95e0cedd1725347c15884619", - "path": "org/jetbrains/kotlin/js-plain-objects-compiler-plugin-for-ide/2.1.20-ij243-27/js-plain-objects-compiler-plugin-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/js-plain-objects-compiler-plugin-for-ide/2.2.0-ij251-113/js-plain-objects-compiler-plugin-for-ide-2.2.0-ij251-113.jar", + "hash": "fc292a9b9d1523fa6deddcb8a62fc56a093222100b8dd8c73091d35e412d4d96", + "path": "org/jetbrains/kotlin/js-plain-objects-compiler-plugin-for-ide/2.2.0-ij251-113/js-plain-objects-compiler-plugin-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-build-common-tests-for-ide/2.1.20-ij243-27/kotlin-build-common-tests-for-ide-2.1.20-ij243-27.jar", - "hash": "477d2ee6473418d930ea1c51dcf82750465dd8b60410432c03ea4012db4fabaf", - "path": "org/jetbrains/kotlin/kotlin-build-common-tests-for-ide/2.1.20-ij243-27/kotlin-build-common-tests-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-build-common-tests-for-ide/2.2.0-ij251-113/kotlin-build-common-tests-for-ide-2.2.0-ij251-113.jar", + "hash": "7aaa4d25fb414cc7559255a06a5027f63d319f1ae893dca3b5ac60b3ebb648b5", + "path": "org/jetbrains/kotlin/kotlin-build-common-tests-for-ide/2.2.0-ij251-113/kotlin-build-common-tests-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-compiler-cli-for-ide/2.1.20-ij243-27/kotlin-compiler-cli-for-ide-2.1.20-ij243-27.jar", - "hash": "67c21a14263fc9e4bdef697f378ff2718642c510f11f700155e7d35bf074db11", - "path": "org/jetbrains/kotlin/kotlin-compiler-cli-for-ide/2.1.20-ij243-27/kotlin-compiler-cli-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-compiler-cli-for-ide/2.2.0-ij251-113/kotlin-compiler-cli-for-ide-2.2.0-ij251-113.jar", + "hash": "2bd4959d245de9f914d0ece10d18327eac7f59ccaa2e18cab3191101b689f970", + "path": "org/jetbrains/kotlin/kotlin-compiler-cli-for-ide/2.2.0-ij251-113/kotlin-compiler-cli-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-compiler-common-for-ide/2.1.20-ij243-27/kotlin-compiler-common-for-ide-2.1.20-ij243-27.jar", - "hash": "0f179e0b0cf96b50c51efd5f28f7800c73dbe4b807b98cd42714832150fd8451", - "path": "org/jetbrains/kotlin/kotlin-compiler-common-for-ide/2.1.20-ij243-27/kotlin-compiler-common-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-compiler-common-for-ide/2.2.0-ij251-113/kotlin-compiler-common-for-ide-2.2.0-ij251-113.jar", + "hash": "ba660cd2228902d9cff9d24c462c9e23d687a5a6d9ca6c98bae8a5ceed4ae4df", + "path": "org/jetbrains/kotlin/kotlin-compiler-common-for-ide/2.2.0-ij251-113/kotlin-compiler-common-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-compiler-fe10-for-ide/2.1.20-ij243-27/kotlin-compiler-fe10-for-ide-2.1.20-ij243-27.jar", - "hash": "415c64817d712c51321be1164109f7e4e0d07adb04e57e47409cb9826c487ad6", - "path": "org/jetbrains/kotlin/kotlin-compiler-fe10-for-ide/2.1.20-ij243-27/kotlin-compiler-fe10-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-compiler-fe10-for-ide/2.2.0-ij251-113/kotlin-compiler-fe10-for-ide-2.2.0-ij251-113.jar", + "hash": "2d1db1b8e8f87f6057c7204ca9949fa6ec95d938cc424f29ccb26165c6ccb2ce", + "path": "org/jetbrains/kotlin/kotlin-compiler-fe10-for-ide/2.2.0-ij251-113/kotlin-compiler-fe10-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-compiler-fir-for-ide/2.1.20-ij243-27/kotlin-compiler-fir-for-ide-2.1.20-ij243-27.jar", - "hash": "babfd8f49f1fe2b2e57fd1ff4c39c54f73624157cdbcda67a31260efd1c5ca03", - "path": "org/jetbrains/kotlin/kotlin-compiler-fir-for-ide/2.1.20-ij243-27/kotlin-compiler-fir-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-compiler-fir-for-ide/2.2.0-ij251-113/kotlin-compiler-fir-for-ide-2.2.0-ij251-113.jar", + "hash": "69520294ce045a019cbf3a74f266b18ba540db4bf8c8c7e5037bc8934c4dc34e", + "path": "org/jetbrains/kotlin/kotlin-compiler-fir-for-ide/2.2.0-ij251-113/kotlin-compiler-fir-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-compiler-ir-for-ide/2.1.20-ij243-27/kotlin-compiler-ir-for-ide-2.1.20-ij243-27.jar", - "hash": "531d54d53c6ea8406f6b461dc555b5f816f8a10497fc07238b215b7e28d70a8a", - "path": "org/jetbrains/kotlin/kotlin-compiler-ir-for-ide/2.1.20-ij243-27/kotlin-compiler-ir-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-compiler-ir-for-ide/2.2.0-ij251-113/kotlin-compiler-ir-for-ide-2.2.0-ij251-113.jar", + "hash": "fb6c7f0f1e75553b152f635cf53f685565f282acf88d505abf18691ceba186ec", + "path": "org/jetbrains/kotlin/kotlin-compiler-ir-for-ide/2.2.0-ij251-113/kotlin-compiler-ir-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-compiler-tests-for-ide/2.1.20-ij243-27/kotlin-compiler-tests-for-ide-2.1.20-ij243-27.jar", - "hash": "66c7ae509ad0e1594620e177040d57af4fe5efb4e31b4f3156e83bc3fd2bce0a", - "path": "org/jetbrains/kotlin/kotlin-compiler-tests-for-ide/2.1.20-ij243-27/kotlin-compiler-tests-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-compiler-tests-for-ide/2.2.0-ij251-113/kotlin-compiler-tests-for-ide-2.2.0-ij251-113.jar", + "hash": "b8c256faf7ec0d060e919b08f88a7d5d5d892df630bad85ff56b5d0be92ae746", + "path": "org/jetbrains/kotlin/kotlin-compiler-tests-for-ide/2.2.0-ij251-113/kotlin-compiler-tests-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-dist-for-ide/2.0.21-release-482/kotlin-dist-for-ide-2.0.21-release-482.jar", - "hash": "4e26804c21c588a93f498ac875a2cc022fc3e6a0bfafad904a4cd2f4750fe3fd", - "path": "org/jetbrains/kotlin/kotlin-dist-for-ide/2.0.21-release-482/kotlin-dist-for-ide-2.0.21-release-482.jar" + "url": "org/jetbrains/kotlin/kotlin-dist-for-ide/2.1.10-release-473/kotlin-dist-for-ide-2.1.10-release-473.jar", + "hash": "6dd76c8210c222475afcfe6d9aedcf4bbd22bda094be28cc8c262fd3025021a3", + "path": "org/jetbrains/kotlin/kotlin-dist-for-ide/2.1.10-release-473/kotlin-dist-for-ide-2.1.10-release-473.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-gradle-statistics-for-ide/2.1.20-ij243-27/kotlin-gradle-statistics-for-ide-2.1.20-ij243-27.jar", - "hash": "b0c2200a590800499bb0cd1dc475627753ef87b3f71f354848a8330eb18a169b", - "path": "org/jetbrains/kotlin/kotlin-gradle-statistics-for-ide/2.1.20-ij243-27/kotlin-gradle-statistics-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-gradle-statistics-for-ide/2.2.0-ij251-113/kotlin-gradle-statistics-for-ide-2.2.0-ij251-113.jar", + "hash": "7f462ff29dd7c76dac54d79390d1ba6f4ade330c4ec18b9f959343b347d9e65a", + "path": "org/jetbrains/kotlin/kotlin-gradle-statistics-for-ide/2.2.0-ij251-113/kotlin-gradle-statistics-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-jps-common-for-ide/2.1.20-ij243-27/kotlin-jps-common-for-ide-2.1.20-ij243-27.jar", - "hash": "386a37676bf6e05213a874c81fc15a28d8da1f86c5b6d458e9d958c9fa3549f4", - "path": "org/jetbrains/kotlin/kotlin-jps-common-for-ide/2.1.20-ij243-27/kotlin-jps-common-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-dist-for-ide/2.2.0-ij251-113/kotlin-dist-for-ide-2.2.0-ij251-113.jar", + "hash": "72118ba64af8914b96658b157ec1d38c24edc97be283699b1d2abf021dde9f69", + "path": "org/jetbrains/kotlin/kotlin-dist-for-ide/2.2.0-ij251-113/kotlin-dist-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.0.21-release-482/kotlin-jps-plugin-classpath-2.0.21-release-482.jar", - "hash": "e583f6bbb97292944b576c39140691e73cc2c4c4c5479b984ce0cf072ce9b749", - "path": "org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.0.21-release-482/kotlin-jps-plugin-classpath-2.0.21-release-482.jar" + "url": "org/jetbrains/kotlin/kotlin-jps-common-for-ide/2.2.0-ij251-113/kotlin-jps-common-for-ide-2.2.0-ij251-113.jar", + "hash": "5662991aed8e8553f8ebe80adcb559a2d7523bc0e415561a7ac36687353fb260", + "path": "org/jetbrains/kotlin/kotlin-jps-common-for-ide/2.2.0-ij251-113/kotlin-jps-common-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.1.20-ij243-27/kotlin-jps-plugin-classpath-2.1.20-ij243-27.jar", - "hash": "adcc0c81e59b0586d9457077423cad639577bf9220a28bd39a0ae2a972345bfd", - "path": "org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.1.20-ij243-27/kotlin-jps-plugin-classpath-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.1.10-release-473/kotlin-jps-plugin-classpath-2.1.10-release-473.jar", + "hash": "fe44b80eef227eadeb265e06a66461fa8be390bbfdb194e14d9fc5cc4c0e637f", + "path": "org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.1.10-release-473/kotlin-jps-plugin-classpath-2.1.10-release-473.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-jps-plugin-tests-for-ide/2.0.21-release-482/kotlin-jps-plugin-tests-for-ide-2.0.21-release-482.jar", - "hash": "c600098bb441fc147eced59c2f4647a378184a5637bbce66e3a98dae6b13772b", - "path": "org/jetbrains/kotlin/kotlin-jps-plugin-tests-for-ide/2.0.21-release-482/kotlin-jps-plugin-tests-for-ide-2.0.21-release-482.jar" + "url": "org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.2.0-ij251-113/kotlin-jps-plugin-classpath-2.2.0-ij251-113.jar", + "hash": "7f76f25eff7b31b8919eb13ea84f90b8208d1e62e7a7df26dedcc526325321f6", + "path": "org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.2.0-ij251-113/kotlin-jps-plugin-classpath-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-script-runtime/2.1.20-ij243-27/kotlin-script-runtime-2.1.20-ij243-27.jar", - "hash": "c8b80761147ec3696cdb967fe8c989d57a0364d808bf5317ae79f660eeba1bd6", - "path": "org/jetbrains/kotlin/kotlin-script-runtime/2.1.20-ij243-27/kotlin-script-runtime-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-jps-plugin-tests-for-ide/2.1.10-release-473/kotlin-jps-plugin-tests-for-ide-2.1.10-release-473.jar", + "hash": "367c500b2dc454413b00746bc4ee9dce2842515ca4699ec73bb846bc3db58a26", + "path": "org/jetbrains/kotlin/kotlin-jps-plugin-tests-for-ide/2.1.10-release-473/kotlin-jps-plugin-tests-for-ide-2.1.10-release-473.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-scripting-common/2.1.20-ij243-27/kotlin-scripting-common-2.1.20-ij243-27.jar", - "hash": "56cce8ba74fad85b31f8a51c55ebb723d90e25bdb6fc5a6848684c32ba88bcbf", - "path": "org/jetbrains/kotlin/kotlin-scripting-common/2.1.20-ij243-27/kotlin-scripting-common-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-script-runtime/2.2.0-ij251-113/kotlin-script-runtime-2.2.0-ij251-113.jar", + "hash": "2459e696992df776b3e3d1bc764ddd01538c503ca4c14d969faae1f50f839245", + "path": "org/jetbrains/kotlin/kotlin-script-runtime/2.2.0-ij251-113/kotlin-script-runtime-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-scripting-compiler-impl/2.1.20-ij243-27/kotlin-scripting-compiler-impl-2.1.20-ij243-27.jar", - "hash": "ca7cd3385bccd1834e10b1400aa72e4b818fb9d87846713dd6999a1db3faa081", - "path": "org/jetbrains/kotlin/kotlin-scripting-compiler-impl/2.1.20-ij243-27/kotlin-scripting-compiler-impl-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-scripting-common/2.2.0-ij251-113/kotlin-scripting-common-2.2.0-ij251-113.jar", + "hash": "e2b5b208e7ff5d66de1c9c60e2d2bd378764243a34cb164595682470f0f2c513", + "path": "org/jetbrains/kotlin/kotlin-scripting-common/2.2.0-ij251-113/kotlin-scripting-common-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-scripting-jvm/2.1.20-ij243-27/kotlin-scripting-jvm-2.1.20-ij243-27.jar", - "hash": "158a331bea55564b095d35f3809380191049805e49764b9b4e2bf000dfe83efd", - "path": "org/jetbrains/kotlin/kotlin-scripting-jvm/2.1.20-ij243-27/kotlin-scripting-jvm-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-scripting-compiler-impl/2.2.0-ij251-113/kotlin-scripting-compiler-impl-2.2.0-ij251-113.jar", + "hash": "3aa2c2b3eb89a4ce3391573fe5c0b68336e14f2c28e9e54c408ad61b74a668a3", + "path": "org/jetbrains/kotlin/kotlin-scripting-compiler-impl/2.2.0-ij251-113/kotlin-scripting-compiler-impl-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/kotlinx-serialization-compiler-plugin-for-ide/2.1.20-ij243-27/kotlinx-serialization-compiler-plugin-for-ide-2.1.20-ij243-27.jar", - "hash": "8e6298709f8069827106bba06affea8d6bcbbce292ffb1b6403f9744c0ea759c", - "path": "org/jetbrains/kotlin/kotlinx-serialization-compiler-plugin-for-ide/2.1.20-ij243-27/kotlinx-serialization-compiler-plugin-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-scripting-dependencies/2.2.0-ij251-113/kotlin-scripting-dependencies-2.2.0-ij251-113.jar", + "hash": "b77ac6a8aa085a856074bc8b39546bdf294ea989c3dbb8d8750044c580d95949", + "path": "org/jetbrains/kotlin/kotlin-scripting-dependencies/2.2.0-ij251-113/kotlin-scripting-dependencies-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/lombok-compiler-plugin-for-ide/2.1.20-ij243-27/lombok-compiler-plugin-for-ide-2.1.20-ij243-27.jar", - "hash": "37f0d61c72d7dbcbf91b079d150b3d29234875d7a74ceb9e0523dcfdb2656dba", - "path": "org/jetbrains/kotlin/lombok-compiler-plugin-for-ide/2.1.20-ij243-27/lombok-compiler-plugin-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlin-scripting-jvm/2.2.0-ij251-113/kotlin-scripting-jvm-2.2.0-ij251-113.jar", + "hash": "12c5601a20e50b07568730033c6d9beb46e543aa09cfff4ff92b27782103ae8c", + "path": "org/jetbrains/kotlin/kotlin-scripting-jvm/2.2.0-ij251-113/kotlin-scripting-jvm-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/low-level-api-fir-for-ide/2.1.20-ij243-27/low-level-api-fir-for-ide-2.1.20-ij243-27.jar", - "hash": "eb22464cad954a6b922e69d1594883e7ec05c6bbecf74874610b931dc2e140c1", - "path": "org/jetbrains/kotlin/low-level-api-fir-for-ide/2.1.20-ij243-27/low-level-api-fir-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/kotlinx-serialization-compiler-plugin-for-ide/2.2.0-ij251-113/kotlinx-serialization-compiler-plugin-for-ide-2.2.0-ij251-113.jar", + "hash": "6785503b6d70df42206fa2ba2179c082c99ef2bcf1f2abf3afbb01623837a289", + "path": "org/jetbrains/kotlin/kotlinx-serialization-compiler-plugin-for-ide/2.2.0-ij251-113/kotlinx-serialization-compiler-plugin-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/noarg-compiler-plugin-for-ide/2.1.20-ij243-27/noarg-compiler-plugin-for-ide-2.1.20-ij243-27.jar", - "hash": "27ec611f8efc1e7d59d1f153cd1b7605ef38aa266095b3cca9280a976d3972a8", - "path": "org/jetbrains/kotlin/noarg-compiler-plugin-for-ide/2.1.20-ij243-27/noarg-compiler-plugin-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/lombok-compiler-plugin-for-ide/2.2.0-ij251-113/lombok-compiler-plugin-for-ide-2.2.0-ij251-113.jar", + "hash": "be89498e1d104ae7cb1fa8837c9373cc7112b8e65bb880845f4c200b03e07c71", + "path": "org/jetbrains/kotlin/lombok-compiler-plugin-for-ide/2.2.0-ij251-113/lombok-compiler-plugin-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/parcelize-compiler-plugin-for-ide/2.1.20-ij243-27/parcelize-compiler-plugin-for-ide-2.1.20-ij243-27.jar", - "hash": "062fae0ea84b4bc8ab80dcc94100263f741e8e8a7e5a1ba62aaa0d0b75c0239e", - "path": "org/jetbrains/kotlin/parcelize-compiler-plugin-for-ide/2.1.20-ij243-27/parcelize-compiler-plugin-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/low-level-api-fir-for-ide/2.2.0-ij251-113/low-level-api-fir-for-ide-2.2.0-ij251-113.jar", + "hash": "ab4ee3ac977eabd1819ad0c3c56c85bec62e218557b86a20df96a32ecc284729", + "path": "org/jetbrains/kotlin/low-level-api-fir-for-ide/2.2.0-ij251-113/low-level-api-fir-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/sam-with-receiver-compiler-plugin-for-ide/2.1.20-ij243-27/sam-with-receiver-compiler-plugin-for-ide-2.1.20-ij243-27.jar", - "hash": "8baba2c6e065e2895dcf483a067ed4f2088408e2b5a2522ef4f375ed27ab908b", - "path": "org/jetbrains/kotlin/sam-with-receiver-compiler-plugin-for-ide/2.1.20-ij243-27/sam-with-receiver-compiler-plugin-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/noarg-compiler-plugin-for-ide/2.2.0-ij251-113/noarg-compiler-plugin-for-ide-2.2.0-ij251-113.jar", + "hash": "f43b1827eb22e54db6daf09e093661bee645097bc91ad82ff9a25b0cbc5afb11", + "path": "org/jetbrains/kotlin/noarg-compiler-plugin-for-ide/2.2.0-ij251-113/noarg-compiler-plugin-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/scripting-compiler-plugin-for-ide/2.1.20-ij243-27/scripting-compiler-plugin-for-ide-2.1.20-ij243-27.jar", - "hash": "83ec2e236bfb4e66c766aa84e83582fd83dbb290162fff6140627742ba1169fb", - "path": "org/jetbrains/kotlin/scripting-compiler-plugin-for-ide/2.1.20-ij243-27/scripting-compiler-plugin-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/parcelize-compiler-plugin-for-ide/2.2.0-ij251-113/parcelize-compiler-plugin-for-ide-2.2.0-ij251-113.jar", + "hash": "b19f4f6ccd8da25be1e203be14b6dd3adf536a09143a95ca7099d131a0151235", + "path": "org/jetbrains/kotlin/parcelize-compiler-plugin-for-ide/2.2.0-ij251-113/parcelize-compiler-plugin-for-ide-2.2.0-ij251-113.jar" }, { - "url": "org/jetbrains/kotlin/symbol-light-classes-for-ide/2.1.20-ij243-27/symbol-light-classes-for-ide-2.1.20-ij243-27.jar", - "hash": "67cdd930333a1fee46b45e997560cb5279c6c92f060fffd44832255104834531", - "path": "org/jetbrains/kotlin/symbol-light-classes-for-ide/2.1.20-ij243-27/symbol-light-classes-for-ide-2.1.20-ij243-27.jar" + "url": "org/jetbrains/kotlin/sam-with-receiver-compiler-plugin-for-ide/2.2.0-ij251-113/sam-with-receiver-compiler-plugin-for-ide-2.2.0-ij251-113.jar", + "hash": "30fe55c761ae4fe20c9cdbf360736c3b9a113aeb31ed14cc9f518beb5c3589d1", + "path": "org/jetbrains/kotlin/sam-with-receiver-compiler-plugin-for-ide/2.2.0-ij251-113/sam-with-receiver-compiler-plugin-for-ide-2.2.0-ij251-113.jar" + }, + { + "url": "org/jetbrains/kotlin/scripting-compiler-plugin-for-ide/2.2.0-ij251-113/scripting-compiler-plugin-for-ide-2.2.0-ij251-113.jar", + "hash": "b6b9913645e9737665b28d86d54b82f774cd244e5add095e6cf7bd66d3e1f319", + "path": "org/jetbrains/kotlin/scripting-compiler-plugin-for-ide/2.2.0-ij251-113/scripting-compiler-plugin-for-ide-2.2.0-ij251-113.jar" + }, + { + "url": "org/jetbrains/kotlin/symbol-light-classes-for-ide/2.2.0-ij251-113/symbol-light-classes-for-ide-2.2.0-ij251-113.jar", + "hash": "1046966135cd38c348a7b7be1f54667224653876fe8cd61c236cd6caf653d4c6", + "path": "org/jetbrains/kotlin/symbol-light-classes-for-ide/2.2.0-ij251-113/symbol-light-classes-for-ide-2.2.0-ij251-113.jar" }, { "url": "org/jetbrains/kotlinx/kotlinx-collections-immutable-jvm/0.3.8/kotlinx-collections-immutable-jvm-0.3.8.jar", @@ -1365,324 +1430,404 @@ "path": "org/jetbrains/kotlinx/kotlinx-collections-immutable-jvm/0.3.8/kotlinx-collections-immutable-jvm-0.3.8.jar" }, { - "url": "com/intellij/platform/kotlinx-coroutines-core-jvm/1.8.0-intellij-11/kotlinx-coroutines-core-jvm-1.8.0-intellij-11.jar", - "hash": "e7acf96587bc3148db64b5e0adc988fa743f9820a99eb118acb905935ead1bc6", - "path": "com/intellij/platform/kotlinx-coroutines-core-jvm/1.8.0-intellij-11/kotlinx-coroutines-core-jvm-1.8.0-intellij-11.jar" + "url": "com/intellij/platform/kotlinx-coroutines-core-jvm/1.8.0-intellij-13/kotlinx-coroutines-core-jvm-1.8.0-intellij-13.jar", + "hash": "48e61a763238a5153e536e69ee756e39fcd52337316f1e1649d59c542ec04296", + "path": "com/intellij/platform/kotlinx-coroutines-core-jvm/1.8.0-intellij-13/kotlinx-coroutines-core-jvm-1.8.0-intellij-13.jar" }, { - "url": "com/intellij/platform/kotlinx-coroutines-debug/1.8.0-intellij-11/kotlinx-coroutines-debug-1.8.0-intellij-11.jar", - "hash": "c142a8fd37fddb317df6ba14bb781a874b110e56d39ba1f8b2e8a58c9d957106", - "path": "com/intellij/platform/kotlinx-coroutines-debug/1.8.0-intellij-11/kotlinx-coroutines-debug-1.8.0-intellij-11.jar" + "url": "com/intellij/platform/kotlinx-coroutines-debug/1.8.0-intellij-13/kotlinx-coroutines-debug-1.8.0-intellij-13.jar", + "hash": "59bf113af7f36da5d9060cdc35d28da3ee51132124417e3ea044ef2c6a532b77", + "path": "com/intellij/platform/kotlinx-coroutines-debug/1.8.0-intellij-13/kotlinx-coroutines-debug-1.8.0-intellij-13.jar" }, { - "url": "com/intellij/platform/kotlinx-coroutines-guava/1.8.0-intellij-11/kotlinx-coroutines-guava-1.8.0-intellij-11.jar", - "hash": "28e9e136435e6d7fd99f9b15dba736f396c5f7252653cd2e557fff09fbfb38cc", - "path": "com/intellij/platform/kotlinx-coroutines-guava/1.8.0-intellij-11/kotlinx-coroutines-guava-1.8.0-intellij-11.jar" + "url": "com/intellij/platform/kotlinx-coroutines-guava/1.8.0-intellij-13/kotlinx-coroutines-guava-1.8.0-intellij-13.jar", + "hash": "1503cfdab3e5203944da627903e5019aee9b39b14d3d21a4a50b99bce5de5b33", + "path": "com/intellij/platform/kotlinx-coroutines-guava/1.8.0-intellij-13/kotlinx-coroutines-guava-1.8.0-intellij-13.jar" }, { - "url": "com/intellij/platform/kotlinx-coroutines-slf4j/1.8.0-intellij-11/kotlinx-coroutines-slf4j-1.8.0-intellij-11.jar", - "hash": "840478a0983ef57e81d0e4089e73fa9337bd777da57474e12bd20b0000966d0d", - "path": "com/intellij/platform/kotlinx-coroutines-slf4j/1.8.0-intellij-11/kotlinx-coroutines-slf4j-1.8.0-intellij-11.jar" + "url": "com/intellij/platform/kotlinx-coroutines-slf4j/1.8.0-intellij-13/kotlinx-coroutines-slf4j-1.8.0-intellij-13.jar", + "hash": "3b293c76828fe94916dd781b7a9a8adef65b2ca621f2a55608aaf90d2754891f", + "path": "com/intellij/platform/kotlinx-coroutines-slf4j/1.8.0-intellij-13/kotlinx-coroutines-slf4j-1.8.0-intellij-13.jar" }, { - "url": "com/intellij/platform/kotlinx-coroutines-test-jvm/1.8.0-intellij-11/kotlinx-coroutines-test-jvm-1.8.0-intellij-11.jar", - "hash": "7f0091c913579944e1d7b8d10f94cd2687ee8474d26aaca511ea7ae8fb8d8b44", - "path": "com/intellij/platform/kotlinx-coroutines-test-jvm/1.8.0-intellij-11/kotlinx-coroutines-test-jvm-1.8.0-intellij-11.jar" + "url": "com/intellij/platform/kotlinx-coroutines-test-jvm/1.8.0-intellij-13/kotlinx-coroutines-test-jvm-1.8.0-intellij-13.jar", + "hash": "c7f514518440283a8e8e4052b79cb56310ed708af35e734cef8de201d18c341a", + "path": "com/intellij/platform/kotlinx-coroutines-test-jvm/1.8.0-intellij-13/kotlinx-coroutines-test-jvm-1.8.0-intellij-13.jar" }, { - "url": "org/jetbrains/kotlinx/kotlinx-datetime-jvm/0.6.1/kotlinx-datetime-jvm-0.6.1.jar", - "hash": "bc94b0fcb4464742f02cf54a3e8db9e7b141a1a052ca8ddaf662a60affa21530", - "path": "org/jetbrains/kotlinx/kotlinx-datetime-jvm/0.6.1/kotlinx-datetime-jvm-0.6.1.jar" + "url": "org/jetbrains/kotlinx/kotlinx-datetime-jvm/0.6.2/kotlinx-datetime-jvm-0.6.2.jar", + "hash": "102764921129e1e44a74f408b7a0b8dac6d1892c6042e0e48f8bdbbbf78c6d2e", + "path": "org/jetbrains/kotlinx/kotlinx-datetime-jvm/0.6.2/kotlinx-datetime-jvm-0.6.2.jar" }, { - "url": "org/jetbrains/kotlinx/kotlinx-html-jvm/0.11.0/kotlinx-html-jvm-0.11.0.jar", - "hash": "e276fd903e32532ff63744713a3d1025e7a50f0f78ac46fbe5910e1596fd1c3d", - "path": "org/jetbrains/kotlinx/kotlinx-html-jvm/0.11.0/kotlinx-html-jvm-0.11.0.jar" + "url": "com/github/lamba92/kotlinx-document-store-mvstore/0.0.4/kotlinx-document-store-mvstore-0.0.4.jar", + "hash": "956a4c7faad66e3471861adaa278d9486f3a050ac25fb6a99ca90809d379adfe", + "path": "com/github/lamba92/kotlinx-document-store-mvstore/0.0.4/kotlinx-document-store-mvstore-0.0.4.jar" }, { - "url": "org/jetbrains/kotlinx/kotlinx-serialization-core-jvm/1.6.3/kotlinx-serialization-core-jvm-1.6.3.jar", - "hash": "29c821a8d4e25cbfe4f2ce96cdd4526f61f8f4e69a135f9612a34a81d93b65f1", - "path": "org/jetbrains/kotlinx/kotlinx-serialization-core-jvm/1.6.3/kotlinx-serialization-core-jvm-1.6.3.jar" + "url": "com/github/lamba92/kotlinx-document-store-core-jvm/0.0.4/kotlinx-document-store-core-jvm-0.0.4.jar", + "hash": "7e638082b4a14e3a96ca90f3f5db70ac65591e0b6c6670629e849d22ec34455f", + "path": "com/github/lamba92/kotlinx-document-store-core-jvm/0.0.4/kotlinx-document-store-core-jvm-0.0.4.jar" }, { - "url": "org/jetbrains/kotlinx/kotlinx-serialization-json-jvm/1.6.3/kotlinx-serialization-json-jvm-1.6.3.jar", - "hash": "d3234179bcff1886d53d67c11eca47f7f3cf7b63c349d16965f6db51b7f3dd9a", - "path": "org/jetbrains/kotlinx/kotlinx-serialization-json-jvm/1.6.3/kotlinx-serialization-json-jvm-1.6.3.jar" + "url": "org/jetbrains/kotlinx/kotlinx-html-jvm/0.12.0/kotlinx-html-jvm-0.12.0.jar", + "hash": "f854126f39acbd963fd54e0cd226000a151a76f7225ee28185d52f44e262befb", + "path": "org/jetbrains/kotlinx/kotlinx-html-jvm/0.12.0/kotlinx-html-jvm-0.12.0.jar" }, { - "url": "org/jetbrains/kotlinx/kotlinx-serialization-protobuf-jvm/1.6.3/kotlinx-serialization-protobuf-jvm-1.6.3.jar", - "hash": "94c6ecb14ef5503db65807caa3cb35bbfa175d1ca83c8ffaba32219f3b992597", - "path": "org/jetbrains/kotlinx/kotlinx-serialization-protobuf-jvm/1.6.3/kotlinx-serialization-protobuf-jvm-1.6.3.jar" + "url": "org/jetbrains/kotlinx/kotlinx-serialization-core-jvm/1.7.3/kotlinx-serialization-core-jvm-1.7.3.jar", + "hash": "f0adde45864144475385cf4aa7e0b7feb27f61fcf9472665ed98cc971b06b1eb", + "path": "org/jetbrains/kotlinx/kotlinx-serialization-core-jvm/1.7.3/kotlinx-serialization-core-jvm-1.7.3.jar" }, { - "url": "io/ktor/ktor-client-core-jvm/2.3.12/ktor-client-core-jvm-2.3.12.jar", - "hash": "b407a81d92e6cd41f92c150f1fd3060d5fca3491ce02afb7f713424404081c7a", - "path": "io/ktor/ktor-client-core-jvm/2.3.12/ktor-client-core-jvm-2.3.12.jar" + "url": "org/jetbrains/kotlinx/kotlinx-serialization-json-jvm/1.7.3/kotlinx-serialization-json-jvm-1.7.3.jar", + "hash": "b1e9138499ed8d20375edda3f2b1c95f3103a258eff6af9edc5ea07100f2b29c", + "path": "org/jetbrains/kotlinx/kotlinx-serialization-json-jvm/1.7.3/kotlinx-serialization-json-jvm-1.7.3.jar" }, { - "url": "io/ktor/ktor-http-jvm/2.3.12/ktor-http-jvm-2.3.12.jar", - "hash": "907111c439b3bd4433d2debb687920d5f8df8c6229b68ed540805d5e3763b6a8", - "path": "io/ktor/ktor-http-jvm/2.3.12/ktor-http-jvm-2.3.12.jar" + "url": "org/jetbrains/kotlinx/kotlinx-serialization-json-io-jvm/1.7.3/kotlinx-serialization-json-io-jvm-1.7.3.jar", + "hash": "963372b471616c2cd421fdea8085c4afb801a9aa71e5ef3acd1ba66e3450216c", + "path": "org/jetbrains/kotlinx/kotlinx-serialization-json-io-jvm/1.7.3/kotlinx-serialization-json-io-jvm-1.7.3.jar" }, { - "url": "io/ktor/ktor-utils-jvm/2.3.12/ktor-utils-jvm-2.3.12.jar", - "hash": "6a72d6867330065ed461952fff19ea55ba844352f748cec1872f5bc7b21efc02", - "path": "io/ktor/ktor-utils-jvm/2.3.12/ktor-utils-jvm-2.3.12.jar" + "url": "org/jetbrains/kotlinx/kotlinx-serialization-protobuf-jvm/1.7.3/kotlinx-serialization-protobuf-jvm-1.7.3.jar", + "hash": "7c85fb07055583a2e58dfdcee9dc19fef7255a323285707f82a0adc84f2ee84d", + "path": "org/jetbrains/kotlinx/kotlinx-serialization-protobuf-jvm/1.7.3/kotlinx-serialization-protobuf-jvm-1.7.3.jar" }, { - "url": "io/ktor/ktor-io-jvm/2.3.12/ktor-io-jvm-2.3.12.jar", - "hash": "1d93a45665f6744ff96cd7b97a45fb85ffec725b63bcc327d33a26a1c7e05fbd", - "path": "io/ktor/ktor-io-jvm/2.3.12/ktor-io-jvm-2.3.12.jar" + "url": "io/ktor/ktor-client-core-jvm/3.0.3/ktor-client-core-jvm-3.0.3.jar", + "hash": "e3d174d16548023805041b29a42fb135bfe3182534d3bf9f839d5821337f8d69", + "path": "io/ktor/ktor-client-core-jvm/3.0.3/ktor-client-core-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-events-jvm/2.3.12/ktor-events-jvm-2.3.12.jar", - "hash": "44f0b1de6b0947182d25408d1101c56cf8c01a7b809ee0152bd81d9adc9aa576", - "path": "io/ktor/ktor-events-jvm/2.3.12/ktor-events-jvm-2.3.12.jar" + "url": "io/ktor/ktor-http-jvm/3.0.3/ktor-http-jvm-3.0.3.jar", + "hash": "0e4e38b5f7098f269f39962cd78f3479027637f3970176798a41be82bd46d2ca", + "path": "io/ktor/ktor-http-jvm/3.0.3/ktor-http-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-websocket-serialization-jvm/2.3.12/ktor-websocket-serialization-jvm-2.3.12.jar", - "hash": "bff890d7ab6171551ae4f0632e9aeccb9048df31d6d73cf50abd5b330080ad3a", - "path": "io/ktor/ktor-websocket-serialization-jvm/2.3.12/ktor-websocket-serialization-jvm-2.3.12.jar" + "url": "io/ktor/ktor-utils-jvm/3.0.3/ktor-utils-jvm-3.0.3.jar", + "hash": "4948ec013b71417fffcae187e4aa7943f24eaf907210a4ac9bf853af27131b72", + "path": "io/ktor/ktor-utils-jvm/3.0.3/ktor-utils-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-serialization-jvm/2.3.12/ktor-serialization-jvm-2.3.12.jar", - "hash": "0e05534fbc3b0941127b6ef39e705c34c367dae8b0a08290701c60e97e88fa72", - "path": "io/ktor/ktor-serialization-jvm/2.3.12/ktor-serialization-jvm-2.3.12.jar" + "url": "io/ktor/ktor-io-jvm/3.0.3/ktor-io-jvm-3.0.3.jar", + "hash": "587f6aa4a22daf484ebb84ee5513f1b898e0feeeac714bd2fe0dd2232f57ade5", + "path": "io/ktor/ktor-io-jvm/3.0.3/ktor-io-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-websockets-jvm/2.3.12/ktor-websockets-jvm-2.3.12.jar", - "hash": "dc35cc539f4dfa5a4ad9b391c14d06527dfac4f64b3e3f050f5143ceb215bca4", - "path": "io/ktor/ktor-websockets-jvm/2.3.12/ktor-websockets-jvm-2.3.12.jar" + "url": "org/jetbrains/kotlinx/kotlinx-io-core-jvm/0.5.4/kotlinx-io-core-jvm-0.5.4.jar", + "hash": "dc3587c12795af01231591c0ef09a4139dfca8113c2989273b96b958006853c3", + "path": "org/jetbrains/kotlinx/kotlinx-io-core-jvm/0.5.4/kotlinx-io-core-jvm-0.5.4.jar" }, { - "url": "io/ktor/ktor-client-auth-jvm/2.3.12/ktor-client-auth-jvm-2.3.12.jar", - "hash": "0b590dec3031565efa778d0fcee7fb6c7b033bf7e883dafecb5b165a2254ef03", - "path": "io/ktor/ktor-client-auth-jvm/2.3.12/ktor-client-auth-jvm-2.3.12.jar" + "url": "org/jetbrains/kotlinx/kotlinx-io-bytestring-jvm/0.5.4/kotlinx-io-bytestring-jvm-0.5.4.jar", + "hash": "1fc96e19b445387dbc49183d0cc623c5a61bfa47c86cf81aaf5aff4845154fab", + "path": "org/jetbrains/kotlinx/kotlinx-io-bytestring-jvm/0.5.4/kotlinx-io-bytestring-jvm-0.5.4.jar" }, { - "url": "io/ktor/ktor-client-cio-jvm/2.3.12/ktor-client-cio-jvm-2.3.12.jar", - "hash": "770aad975dacaae756ae85bfd6bf10e4add844df303a4bfb4de5e62ff105af1c", - "path": "io/ktor/ktor-client-cio-jvm/2.3.12/ktor-client-cio-jvm-2.3.12.jar" + "url": "io/ktor/ktor-events-jvm/3.0.3/ktor-events-jvm-3.0.3.jar", + "hash": "317ee7adeb43e197717a5ab61fa3d8761514805ca0bcff49de029c4d6f2b3df2", + "path": "io/ktor/ktor-events-jvm/3.0.3/ktor-events-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-client-core-jvm/2.3.12/ktor-client-core-jvm-2.3.12.jar", - "hash": "b407a81d92e6cd41f92c150f1fd3060d5fca3491ce02afb7f713424404081c7a", - "path": "io/ktor/ktor-client-core-jvm/2.3.12/ktor-client-core-jvm-2.3.12.jar" + "url": "io/ktor/ktor-websocket-serialization-jvm/3.0.3/ktor-websocket-serialization-jvm-3.0.3.jar", + "hash": "80cdcfd738948e123744e24534a752e90b353b3485a5c48c8af17a2467a96e76", + "path": "io/ktor/ktor-websocket-serialization-jvm/3.0.3/ktor-websocket-serialization-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-http-jvm/2.3.12/ktor-http-jvm-2.3.12.jar", - "hash": "907111c439b3bd4433d2debb687920d5f8df8c6229b68ed540805d5e3763b6a8", - "path": "io/ktor/ktor-http-jvm/2.3.12/ktor-http-jvm-2.3.12.jar" + "url": "io/ktor/ktor-serialization-jvm/3.0.3/ktor-serialization-jvm-3.0.3.jar", + "hash": "78eb204e4b58f9357cd7f5c7a92d301518488c721befedb6c3832dc4c32a0354", + "path": "io/ktor/ktor-serialization-jvm/3.0.3/ktor-serialization-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-events-jvm/2.3.12/ktor-events-jvm-2.3.12.jar", - "hash": "44f0b1de6b0947182d25408d1101c56cf8c01a7b809ee0152bd81d9adc9aa576", - "path": "io/ktor/ktor-events-jvm/2.3.12/ktor-events-jvm-2.3.12.jar" + "url": "io/ktor/ktor-websockets-jvm/3.0.3/ktor-websockets-jvm-3.0.3.jar", + "hash": "4ecb08d33dc0d7c9d6b943b2b3e706f3d55fabef584b0c72fb2f0c5ba8a0eb7a", + "path": "io/ktor/ktor-websockets-jvm/3.0.3/ktor-websockets-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-websocket-serialization-jvm/2.3.12/ktor-websocket-serialization-jvm-2.3.12.jar", - "hash": "bff890d7ab6171551ae4f0632e9aeccb9048df31d6d73cf50abd5b330080ad3a", - "path": "io/ktor/ktor-websocket-serialization-jvm/2.3.12/ktor-websocket-serialization-jvm-2.3.12.jar" + "url": "io/ktor/ktor-sse-jvm/3.0.3/ktor-sse-jvm-3.0.3.jar", + "hash": "5fbfc2833738bc283d5bb8464bff48e08e7b526014e0eff5828efa9e69bffdf3", + "path": "io/ktor/ktor-sse-jvm/3.0.3/ktor-sse-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-serialization-jvm/2.3.12/ktor-serialization-jvm-2.3.12.jar", - "hash": "0e05534fbc3b0941127b6ef39e705c34c367dae8b0a08290701c60e97e88fa72", - "path": "io/ktor/ktor-serialization-jvm/2.3.12/ktor-serialization-jvm-2.3.12.jar" + "url": "io/ktor/ktor-client-auth-jvm/3.0.3/ktor-client-auth-jvm-3.0.3.jar", + "hash": "e78ff6ab04f5c7ddbfd64e23039a325cc244ee9b6b813ed3806147db2cd4eae5", + "path": "io/ktor/ktor-client-auth-jvm/3.0.3/ktor-client-auth-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-http-cio-jvm/2.3.12/ktor-http-cio-jvm-2.3.12.jar", - "hash": "278a5c1662701db9d89f49e74ea77218ed35ad830efffbdf44522ea861477f4b", - "path": "io/ktor/ktor-http-cio-jvm/2.3.12/ktor-http-cio-jvm-2.3.12.jar" + "url": "io/ktor/ktor-client-cio-jvm/3.0.3/ktor-client-cio-jvm-3.0.3.jar", + "hash": "0d3bbfc7698254bd93f52522ac9b8ed92597d5cf80ea3ffc0f0c9f237f3396ce", + "path": "io/ktor/ktor-client-cio-jvm/3.0.3/ktor-client-cio-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-network-jvm/2.3.12/ktor-network-jvm-2.3.12.jar", - "hash": "095ab8afab1a9408e55a67fca6f2f96848573519ddd22e7e8eb1c17dc4bc8d1b", - "path": "io/ktor/ktor-network-jvm/2.3.12/ktor-network-jvm-2.3.12.jar" + "url": "io/ktor/ktor-client-core-jvm/3.0.3/ktor-client-core-jvm-3.0.3.jar", + "hash": "e3d174d16548023805041b29a42fb135bfe3182534d3bf9f839d5821337f8d69", + "path": "io/ktor/ktor-client-core-jvm/3.0.3/ktor-client-core-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-websockets-jvm/2.3.12/ktor-websockets-jvm-2.3.12.jar", - "hash": "dc35cc539f4dfa5a4ad9b391c14d06527dfac4f64b3e3f050f5143ceb215bca4", - "path": "io/ktor/ktor-websockets-jvm/2.3.12/ktor-websockets-jvm-2.3.12.jar" + "url": "io/ktor/ktor-http-jvm/3.0.3/ktor-http-jvm-3.0.3.jar", + "hash": "0e4e38b5f7098f269f39962cd78f3479027637f3970176798a41be82bd46d2ca", + "path": "io/ktor/ktor-http-jvm/3.0.3/ktor-http-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-network-tls-jvm/2.3.12/ktor-network-tls-jvm-2.3.12.jar", - "hash": "2b74bf6a17776658520106de5137df9dc35df8ac1ed01624f83409962d128a75", - "path": "io/ktor/ktor-network-tls-jvm/2.3.12/ktor-network-tls-jvm-2.3.12.jar" + "url": "io/ktor/ktor-events-jvm/3.0.3/ktor-events-jvm-3.0.3.jar", + "hash": "317ee7adeb43e197717a5ab61fa3d8761514805ca0bcff49de029c4d6f2b3df2", + "path": "io/ktor/ktor-events-jvm/3.0.3/ktor-events-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-utils-jvm/2.3.12/ktor-utils-jvm-2.3.12.jar", - "hash": "6a72d6867330065ed461952fff19ea55ba844352f748cec1872f5bc7b21efc02", - "path": "io/ktor/ktor-utils-jvm/2.3.12/ktor-utils-jvm-2.3.12.jar" + "url": "io/ktor/ktor-websocket-serialization-jvm/3.0.3/ktor-websocket-serialization-jvm-3.0.3.jar", + "hash": "80cdcfd738948e123744e24534a752e90b353b3485a5c48c8af17a2467a96e76", + "path": "io/ktor/ktor-websocket-serialization-jvm/3.0.3/ktor-websocket-serialization-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-io-jvm/2.3.12/ktor-io-jvm-2.3.12.jar", - "hash": "1d93a45665f6744ff96cd7b97a45fb85ffec725b63bcc327d33a26a1c7e05fbd", - "path": "io/ktor/ktor-io-jvm/2.3.12/ktor-io-jvm-2.3.12.jar" + "url": "io/ktor/ktor-serialization-jvm/3.0.3/ktor-serialization-jvm-3.0.3.jar", + "hash": "78eb204e4b58f9357cd7f5c7a92d301518488c721befedb6c3832dc4c32a0354", + "path": "io/ktor/ktor-serialization-jvm/3.0.3/ktor-serialization-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-client-content-negotiation-jvm/2.3.12/ktor-client-content-negotiation-jvm-2.3.12.jar", - "hash": "b65290ac100096363d01ea71027d970cec6a48d076b6e4b36de1cae2c183cd72", - "path": "io/ktor/ktor-client-content-negotiation-jvm/2.3.12/ktor-client-content-negotiation-jvm-2.3.12.jar" + "url": "io/ktor/ktor-sse-jvm/3.0.3/ktor-sse-jvm-3.0.3.jar", + "hash": "5fbfc2833738bc283d5bb8464bff48e08e7b526014e0eff5828efa9e69bffdf3", + "path": "io/ktor/ktor-sse-jvm/3.0.3/ktor-sse-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-client-core-jvm/2.3.12/ktor-client-core-jvm-2.3.12.jar", - "hash": "b407a81d92e6cd41f92c150f1fd3060d5fca3491ce02afb7f713424404081c7a", - "path": "io/ktor/ktor-client-core-jvm/2.3.12/ktor-client-core-jvm-2.3.12.jar" + "url": "io/ktor/ktor-http-cio-jvm/3.0.3/ktor-http-cio-jvm-3.0.3.jar", + "hash": "2574639ce266e33419ecbbb729c8f921274b2588ed1dfeb4aa87039115df0666", + "path": "io/ktor/ktor-http-cio-jvm/3.0.3/ktor-http-cio-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-http-jvm/2.3.12/ktor-http-jvm-2.3.12.jar", - "hash": "907111c439b3bd4433d2debb687920d5f8df8c6229b68ed540805d5e3763b6a8", - "path": "io/ktor/ktor-http-jvm/2.3.12/ktor-http-jvm-2.3.12.jar" + "url": "io/ktor/ktor-network-jvm/3.0.3/ktor-network-jvm-3.0.3.jar", + "hash": "c7c440822e0dcd90b3c794b17c85a50851cb92fa406693bd08d858141ecdc6c1", + "path": "io/ktor/ktor-network-jvm/3.0.3/ktor-network-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-utils-jvm/2.3.12/ktor-utils-jvm-2.3.12.jar", - "hash": "6a72d6867330065ed461952fff19ea55ba844352f748cec1872f5bc7b21efc02", - "path": "io/ktor/ktor-utils-jvm/2.3.12/ktor-utils-jvm-2.3.12.jar" + "url": "io/ktor/ktor-io-jvm/3.0.3/ktor-io-jvm-3.0.3.jar", + "hash": "587f6aa4a22daf484ebb84ee5513f1b898e0feeeac714bd2fe0dd2232f57ade5", + "path": "io/ktor/ktor-io-jvm/3.0.3/ktor-io-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-io-jvm/2.3.12/ktor-io-jvm-2.3.12.jar", - "hash": "1d93a45665f6744ff96cd7b97a45fb85ffec725b63bcc327d33a26a1c7e05fbd", - "path": "io/ktor/ktor-io-jvm/2.3.12/ktor-io-jvm-2.3.12.jar" + "url": "org/jetbrains/kotlinx/kotlinx-io-core-jvm/0.5.4/kotlinx-io-core-jvm-0.5.4.jar", + "hash": "dc3587c12795af01231591c0ef09a4139dfca8113c2989273b96b958006853c3", + "path": "org/jetbrains/kotlinx/kotlinx-io-core-jvm/0.5.4/kotlinx-io-core-jvm-0.5.4.jar" }, { - "url": "io/ktor/ktor-events-jvm/2.3.12/ktor-events-jvm-2.3.12.jar", - "hash": "44f0b1de6b0947182d25408d1101c56cf8c01a7b809ee0152bd81d9adc9aa576", - "path": "io/ktor/ktor-events-jvm/2.3.12/ktor-events-jvm-2.3.12.jar" + "url": "org/jetbrains/kotlinx/kotlinx-io-bytestring-jvm/0.5.4/kotlinx-io-bytestring-jvm-0.5.4.jar", + "hash": "1fc96e19b445387dbc49183d0cc623c5a61bfa47c86cf81aaf5aff4845154fab", + "path": "org/jetbrains/kotlinx/kotlinx-io-bytestring-jvm/0.5.4/kotlinx-io-bytestring-jvm-0.5.4.jar" }, { - "url": "io/ktor/ktor-websocket-serialization-jvm/2.3.12/ktor-websocket-serialization-jvm-2.3.12.jar", - "hash": "bff890d7ab6171551ae4f0632e9aeccb9048df31d6d73cf50abd5b330080ad3a", - "path": "io/ktor/ktor-websocket-serialization-jvm/2.3.12/ktor-websocket-serialization-jvm-2.3.12.jar" + "url": "io/ktor/ktor-websockets-jvm/3.0.3/ktor-websockets-jvm-3.0.3.jar", + "hash": "4ecb08d33dc0d7c9d6b943b2b3e706f3d55fabef584b0c72fb2f0c5ba8a0eb7a", + "path": "io/ktor/ktor-websockets-jvm/3.0.3/ktor-websockets-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-serialization-jvm/2.3.12/ktor-serialization-jvm-2.3.12.jar", - "hash": "0e05534fbc3b0941127b6ef39e705c34c367dae8b0a08290701c60e97e88fa72", - "path": "io/ktor/ktor-serialization-jvm/2.3.12/ktor-serialization-jvm-2.3.12.jar" + "url": "io/ktor/ktor-network-tls-jvm/3.0.3/ktor-network-tls-jvm-3.0.3.jar", + "hash": "65e9a916e918fc76dd72764d17235506190ec1ec92dd7a4633246b2db12579c8", + "path": "io/ktor/ktor-network-tls-jvm/3.0.3/ktor-network-tls-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-websockets-jvm/2.3.12/ktor-websockets-jvm-2.3.12.jar", - "hash": "dc35cc539f4dfa5a4ad9b391c14d06527dfac4f64b3e3f050f5143ceb215bca4", - "path": "io/ktor/ktor-websockets-jvm/2.3.12/ktor-websockets-jvm-2.3.12.jar" + "url": "io/ktor/ktor-utils-jvm/3.0.3/ktor-utils-jvm-3.0.3.jar", + "hash": "4948ec013b71417fffcae187e4aa7943f24eaf907210a4ac9bf853af27131b72", + "path": "io/ktor/ktor-utils-jvm/3.0.3/ktor-utils-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-client-encoding-jvm/2.3.12/ktor-client-encoding-jvm-2.3.12.jar", - "hash": "393d1951ebad2d44b52bc722a1b63bed474890e4d86ce842bcf9aa99462b699e", - "path": "io/ktor/ktor-client-encoding-jvm/2.3.12/ktor-client-encoding-jvm-2.3.12.jar" + "url": "io/ktor/ktor-client-content-negotiation-jvm/3.0.3/ktor-client-content-negotiation-jvm-3.0.3.jar", + "hash": "683829363345abb59e20f6adfb3323d6abb100ba4d46c10002fa0c1bad149532", + "path": "io/ktor/ktor-client-content-negotiation-jvm/3.0.3/ktor-client-content-negotiation-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-client-java-jvm/2.3.12/ktor-client-java-jvm-2.3.12.jar", - "hash": "580511f2299c1c0ead906fcb4bbdd24cbc8068f027b4c3ad0d8de5e900d8cabd", - "path": "io/ktor/ktor-client-java-jvm/2.3.12/ktor-client-java-jvm-2.3.12.jar" + "url": "io/ktor/ktor-client-core-jvm/3.0.3/ktor-client-core-jvm-3.0.3.jar", + "hash": "e3d174d16548023805041b29a42fb135bfe3182534d3bf9f839d5821337f8d69", + "path": "io/ktor/ktor-client-core-jvm/3.0.3/ktor-client-core-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-client-logging-jvm/2.3.12/ktor-client-logging-jvm-2.3.12.jar", - "hash": "29023713116db9c910618edbd3ca0e7a0f07ed18a678523b892fd164d1c9dacf", - "path": "io/ktor/ktor-client-logging-jvm/2.3.12/ktor-client-logging-jvm-2.3.12.jar" + "url": "io/ktor/ktor-http-jvm/3.0.3/ktor-http-jvm-3.0.3.jar", + "hash": "0e4e38b5f7098f269f39962cd78f3479027637f3970176798a41be82bd46d2ca", + "path": "io/ktor/ktor-http-jvm/3.0.3/ktor-http-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-client-mock-jvm/2.3.12/ktor-client-mock-jvm-2.3.12.jar", - "hash": "c631d4e9d3b13739d6787ca1f6703984007c1e50b881ebe0706bb12eeb29b1bc", - "path": "io/ktor/ktor-client-mock-jvm/2.3.12/ktor-client-mock-jvm-2.3.12.jar" + "url": "io/ktor/ktor-utils-jvm/3.0.3/ktor-utils-jvm-3.0.3.jar", + "hash": "4948ec013b71417fffcae187e4aa7943f24eaf907210a4ac9bf853af27131b72", + "path": "io/ktor/ktor-utils-jvm/3.0.3/ktor-utils-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-http-jvm/2.3.12/ktor-http-jvm-2.3.12.jar", - "hash": "907111c439b3bd4433d2debb687920d5f8df8c6229b68ed540805d5e3763b6a8", - "path": "io/ktor/ktor-http-jvm/2.3.12/ktor-http-jvm-2.3.12.jar" + "url": "io/ktor/ktor-io-jvm/3.0.3/ktor-io-jvm-3.0.3.jar", + "hash": "587f6aa4a22daf484ebb84ee5513f1b898e0feeeac714bd2fe0dd2232f57ade5", + "path": "io/ktor/ktor-io-jvm/3.0.3/ktor-io-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-utils-jvm/2.3.12/ktor-utils-jvm-2.3.12.jar", - "hash": "6a72d6867330065ed461952fff19ea55ba844352f748cec1872f5bc7b21efc02", - "path": "io/ktor/ktor-utils-jvm/2.3.12/ktor-utils-jvm-2.3.12.jar" + "url": "org/jetbrains/kotlinx/kotlinx-io-core-jvm/0.5.4/kotlinx-io-core-jvm-0.5.4.jar", + "hash": "dc3587c12795af01231591c0ef09a4139dfca8113c2989273b96b958006853c3", + "path": "org/jetbrains/kotlinx/kotlinx-io-core-jvm/0.5.4/kotlinx-io-core-jvm-0.5.4.jar" }, { - "url": "io/ktor/ktor-io-jvm/2.3.12/ktor-io-jvm-2.3.12.jar", - "hash": "1d93a45665f6744ff96cd7b97a45fb85ffec725b63bcc327d33a26a1c7e05fbd", - "path": "io/ktor/ktor-io-jvm/2.3.12/ktor-io-jvm-2.3.12.jar" + "url": "org/jetbrains/kotlinx/kotlinx-io-bytestring-jvm/0.5.4/kotlinx-io-bytestring-jvm-0.5.4.jar", + "hash": "1fc96e19b445387dbc49183d0cc623c5a61bfa47c86cf81aaf5aff4845154fab", + "path": "org/jetbrains/kotlinx/kotlinx-io-bytestring-jvm/0.5.4/kotlinx-io-bytestring-jvm-0.5.4.jar" }, { - "url": "io/ktor/ktor-client-core-jvm/2.3.12/ktor-client-core-jvm-2.3.12.jar", - "hash": "b407a81d92e6cd41f92c150f1fd3060d5fca3491ce02afb7f713424404081c7a", - "path": "io/ktor/ktor-client-core-jvm/2.3.12/ktor-client-core-jvm-2.3.12.jar" + "url": "io/ktor/ktor-events-jvm/3.0.3/ktor-events-jvm-3.0.3.jar", + "hash": "317ee7adeb43e197717a5ab61fa3d8761514805ca0bcff49de029c4d6f2b3df2", + "path": "io/ktor/ktor-events-jvm/3.0.3/ktor-events-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-events-jvm/2.3.12/ktor-events-jvm-2.3.12.jar", - "hash": "44f0b1de6b0947182d25408d1101c56cf8c01a7b809ee0152bd81d9adc9aa576", - "path": "io/ktor/ktor-events-jvm/2.3.12/ktor-events-jvm-2.3.12.jar" + "url": "io/ktor/ktor-websocket-serialization-jvm/3.0.3/ktor-websocket-serialization-jvm-3.0.3.jar", + "hash": "80cdcfd738948e123744e24534a752e90b353b3485a5c48c8af17a2467a96e76", + "path": "io/ktor/ktor-websocket-serialization-jvm/3.0.3/ktor-websocket-serialization-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-websocket-serialization-jvm/2.3.12/ktor-websocket-serialization-jvm-2.3.12.jar", - "hash": "bff890d7ab6171551ae4f0632e9aeccb9048df31d6d73cf50abd5b330080ad3a", - "path": "io/ktor/ktor-websocket-serialization-jvm/2.3.12/ktor-websocket-serialization-jvm-2.3.12.jar" + "url": "io/ktor/ktor-serialization-jvm/3.0.3/ktor-serialization-jvm-3.0.3.jar", + "hash": "78eb204e4b58f9357cd7f5c7a92d301518488c721befedb6c3832dc4c32a0354", + "path": "io/ktor/ktor-serialization-jvm/3.0.3/ktor-serialization-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-serialization-jvm/2.3.12/ktor-serialization-jvm-2.3.12.jar", - "hash": "0e05534fbc3b0941127b6ef39e705c34c367dae8b0a08290701c60e97e88fa72", - "path": "io/ktor/ktor-serialization-jvm/2.3.12/ktor-serialization-jvm-2.3.12.jar" + "url": "io/ktor/ktor-websockets-jvm/3.0.3/ktor-websockets-jvm-3.0.3.jar", + "hash": "4ecb08d33dc0d7c9d6b943b2b3e706f3d55fabef584b0c72fb2f0c5ba8a0eb7a", + "path": "io/ktor/ktor-websockets-jvm/3.0.3/ktor-websockets-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-websockets-jvm/2.3.12/ktor-websockets-jvm-2.3.12.jar", - "hash": "dc35cc539f4dfa5a4ad9b391c14d06527dfac4f64b3e3f050f5143ceb215bca4", - "path": "io/ktor/ktor-websockets-jvm/2.3.12/ktor-websockets-jvm-2.3.12.jar" + "url": "io/ktor/ktor-sse-jvm/3.0.3/ktor-sse-jvm-3.0.3.jar", + "hash": "5fbfc2833738bc283d5bb8464bff48e08e7b526014e0eff5828efa9e69bffdf3", + "path": "io/ktor/ktor-sse-jvm/3.0.3/ktor-sse-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-client-okhttp-jvm/2.3.12/ktor-client-okhttp-jvm-2.3.12.jar", - "hash": "31f4d9cfb02da8d874f050c9841b2cb31e535f9b13a9797af4799d5b0356d10a", - "path": "io/ktor/ktor-client-okhttp-jvm/2.3.12/ktor-client-okhttp-jvm-2.3.12.jar" + "url": "io/ktor/ktor-client-encoding-jvm/3.0.3/ktor-client-encoding-jvm-3.0.3.jar", + "hash": "924822996d4dd9696c21480eaca5b3bcfd1280d7780c89ca7a5c510db50e0fcf", + "path": "io/ktor/ktor-client-encoding-jvm/3.0.3/ktor-client-encoding-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-network-tls-jvm/2.3.12/ktor-network-tls-jvm-2.3.12.jar", - "hash": "2b74bf6a17776658520106de5137df9dc35df8ac1ed01624f83409962d128a75", - "path": "io/ktor/ktor-network-tls-jvm/2.3.12/ktor-network-tls-jvm-2.3.12.jar" + "url": "io/ktor/ktor-client-java-jvm/3.0.3/ktor-client-java-jvm-3.0.3.jar", + "hash": "0ef22cd0d7a0dd5c99878e02786a7bbacf3e4327accfb282232b687e4d08b8d6", + "path": "io/ktor/ktor-client-java-jvm/3.0.3/ktor-client-java-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-http-jvm/2.3.12/ktor-http-jvm-2.3.12.jar", - "hash": "907111c439b3bd4433d2debb687920d5f8df8c6229b68ed540805d5e3763b6a8", - "path": "io/ktor/ktor-http-jvm/2.3.12/ktor-http-jvm-2.3.12.jar" + "url": "io/ktor/ktor-client-logging-jvm/3.0.3/ktor-client-logging-jvm-3.0.3.jar", + "hash": "4761f5ea9ae9d4839d36098a8747619aaa48635c1ca6616aadc62f1865b35d97", + "path": "io/ktor/ktor-client-logging-jvm/3.0.3/ktor-client-logging-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-network-jvm/2.3.12/ktor-network-jvm-2.3.12.jar", - "hash": "095ab8afab1a9408e55a67fca6f2f96848573519ddd22e7e8eb1c17dc4bc8d1b", - "path": "io/ktor/ktor-network-jvm/2.3.12/ktor-network-jvm-2.3.12.jar" + "url": "io/ktor/ktor-client-mock-jvm/3.0.3/ktor-client-mock-jvm-3.0.3.jar", + "hash": "fbbcc7694b2ec2269f9a140527a9aadd4f973b6c92c75fd121941c5501774ab0", + "path": "io/ktor/ktor-client-mock-jvm/3.0.3/ktor-client-mock-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-utils-jvm/2.3.12/ktor-utils-jvm-2.3.12.jar", - "hash": "6a72d6867330065ed461952fff19ea55ba844352f748cec1872f5bc7b21efc02", - "path": "io/ktor/ktor-utils-jvm/2.3.12/ktor-utils-jvm-2.3.12.jar" + "url": "io/ktor/ktor-http-jvm/3.0.3/ktor-http-jvm-3.0.3.jar", + "hash": "0e4e38b5f7098f269f39962cd78f3479027637f3970176798a41be82bd46d2ca", + "path": "io/ktor/ktor-http-jvm/3.0.3/ktor-http-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-io-jvm/2.3.12/ktor-io-jvm-2.3.12.jar", - "hash": "1d93a45665f6744ff96cd7b97a45fb85ffec725b63bcc327d33a26a1c7e05fbd", - "path": "io/ktor/ktor-io-jvm/2.3.12/ktor-io-jvm-2.3.12.jar" + "url": "io/ktor/ktor-utils-jvm/3.0.3/ktor-utils-jvm-3.0.3.jar", + "hash": "4948ec013b71417fffcae187e4aa7943f24eaf907210a4ac9bf853af27131b72", + "path": "io/ktor/ktor-utils-jvm/3.0.3/ktor-utils-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-serialization-kotlinx-json-jvm/2.3.8/ktor-serialization-kotlinx-json-jvm-2.3.8.jar", - "hash": "b911a79263026ab81768ff2664a92586f192da108f5ba8b11e9172e5bb7a7ceb", - "path": "io/ktor/ktor-serialization-kotlinx-json-jvm/2.3.8/ktor-serialization-kotlinx-json-jvm-2.3.8.jar" + "url": "io/ktor/ktor-io-jvm/3.0.3/ktor-io-jvm-3.0.3.jar", + "hash": "587f6aa4a22daf484ebb84ee5513f1b898e0feeeac714bd2fe0dd2232f57ade5", + "path": "io/ktor/ktor-io-jvm/3.0.3/ktor-io-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-serialization-kotlinx-jvm/2.3.8/ktor-serialization-kotlinx-jvm-2.3.8.jar", - "hash": "40a27f5347c8b737d7b8c2ef224d638a9e40d011aa9a56fb489b99ba9898d90d", - "path": "io/ktor/ktor-serialization-kotlinx-jvm/2.3.8/ktor-serialization-kotlinx-jvm-2.3.8.jar" + "url": "org/jetbrains/kotlinx/kotlinx-io-core-jvm/0.5.4/kotlinx-io-core-jvm-0.5.4.jar", + "hash": "dc3587c12795af01231591c0ef09a4139dfca8113c2989273b96b958006853c3", + "path": "org/jetbrains/kotlinx/kotlinx-io-core-jvm/0.5.4/kotlinx-io-core-jvm-0.5.4.jar" }, { - "url": "io/ktor/ktor-serialization-jvm/2.3.8/ktor-serialization-jvm-2.3.8.jar", - "hash": "7d942475bf3995fe080c5f103532e51736d0c474aea3d9f6133a4031ae08799a", - "path": "io/ktor/ktor-serialization-jvm/2.3.8/ktor-serialization-jvm-2.3.8.jar" + "url": "org/jetbrains/kotlinx/kotlinx-io-bytestring-jvm/0.5.4/kotlinx-io-bytestring-jvm-0.5.4.jar", + "hash": "1fc96e19b445387dbc49183d0cc623c5a61bfa47c86cf81aaf5aff4845154fab", + "path": "org/jetbrains/kotlinx/kotlinx-io-bytestring-jvm/0.5.4/kotlinx-io-bytestring-jvm-0.5.4.jar" }, { - "url": "io/ktor/ktor-server-cio-jvm/2.3.12/ktor-server-cio-jvm-2.3.12.jar", - "hash": "5a4849630a491c2357a7fe72521c05a87d68272a1e1f5772cf881a0fe906769a", - "path": "io/ktor/ktor-server-cio-jvm/2.3.12/ktor-server-cio-jvm-2.3.12.jar" + "url": "io/ktor/ktor-client-core-jvm/3.0.3/ktor-client-core-jvm-3.0.3.jar", + "hash": "e3d174d16548023805041b29a42fb135bfe3182534d3bf9f839d5821337f8d69", + "path": "io/ktor/ktor-client-core-jvm/3.0.3/ktor-client-core-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-server-host-common-jvm/2.3.12/ktor-server-host-common-jvm-2.3.12.jar", - "hash": "3ea0b0b88ffaf6b3b3c8bf506e8c168b7a0ad926f9611638910e8fb334acf98d", - "path": "io/ktor/ktor-server-host-common-jvm/2.3.12/ktor-server-host-common-jvm-2.3.12.jar" + "url": "io/ktor/ktor-events-jvm/3.0.3/ktor-events-jvm-3.0.3.jar", + "hash": "317ee7adeb43e197717a5ab61fa3d8761514805ca0bcff49de029c4d6f2b3df2", + "path": "io/ktor/ktor-events-jvm/3.0.3/ktor-events-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-server-core-jvm/2.3.12/ktor-server-core-jvm-2.3.12.jar", - "hash": "f3b30ba1355720a39fde21460ce0cc3a83222417236d7de6fdffe542764536b9", - "path": "io/ktor/ktor-server-core-jvm/2.3.12/ktor-server-core-jvm-2.3.12.jar" + "url": "io/ktor/ktor-websocket-serialization-jvm/3.0.3/ktor-websocket-serialization-jvm-3.0.3.jar", + "hash": "80cdcfd738948e123744e24534a752e90b353b3485a5c48c8af17a2467a96e76", + "path": "io/ktor/ktor-websocket-serialization-jvm/3.0.3/ktor-websocket-serialization-jvm-3.0.3.jar" + }, + { + "url": "io/ktor/ktor-serialization-jvm/3.0.3/ktor-serialization-jvm-3.0.3.jar", + "hash": "78eb204e4b58f9357cd7f5c7a92d301518488c721befedb6c3832dc4c32a0354", + "path": "io/ktor/ktor-serialization-jvm/3.0.3/ktor-serialization-jvm-3.0.3.jar" + }, + { + "url": "io/ktor/ktor-websockets-jvm/3.0.3/ktor-websockets-jvm-3.0.3.jar", + "hash": "4ecb08d33dc0d7c9d6b943b2b3e706f3d55fabef584b0c72fb2f0c5ba8a0eb7a", + "path": "io/ktor/ktor-websockets-jvm/3.0.3/ktor-websockets-jvm-3.0.3.jar" + }, + { + "url": "io/ktor/ktor-sse-jvm/3.0.3/ktor-sse-jvm-3.0.3.jar", + "hash": "5fbfc2833738bc283d5bb8464bff48e08e7b526014e0eff5828efa9e69bffdf3", + "path": "io/ktor/ktor-sse-jvm/3.0.3/ktor-sse-jvm-3.0.3.jar" + }, + { + "url": "io/ktor/ktor-client-okhttp-jvm/3.0.3/ktor-client-okhttp-jvm-3.0.3.jar", + "hash": "c497931a1cc4192e59d3e28c39bab4a821a02da0856b71a2014a814bb64587bb", + "path": "io/ktor/ktor-client-okhttp-jvm/3.0.3/ktor-client-okhttp-jvm-3.0.3.jar" + }, + { + "url": "io/ktor/ktor-network-tls-jvm/3.0.3/ktor-network-tls-jvm-3.0.3.jar", + "hash": "65e9a916e918fc76dd72764d17235506190ec1ec92dd7a4633246b2db12579c8", + "path": "io/ktor/ktor-network-tls-jvm/3.0.3/ktor-network-tls-jvm-3.0.3.jar" + }, + { + "url": "io/ktor/ktor-http-jvm/3.0.3/ktor-http-jvm-3.0.3.jar", + "hash": "0e4e38b5f7098f269f39962cd78f3479027637f3970176798a41be82bd46d2ca", + "path": "io/ktor/ktor-http-jvm/3.0.3/ktor-http-jvm-3.0.3.jar" + }, + { + "url": "io/ktor/ktor-network-jvm/3.0.3/ktor-network-jvm-3.0.3.jar", + "hash": "c7c440822e0dcd90b3c794b17c85a50851cb92fa406693bd08d858141ecdc6c1", + "path": "io/ktor/ktor-network-jvm/3.0.3/ktor-network-jvm-3.0.3.jar" + }, + { + "url": "io/ktor/ktor-utils-jvm/3.0.3/ktor-utils-jvm-3.0.3.jar", + "hash": "4948ec013b71417fffcae187e4aa7943f24eaf907210a4ac9bf853af27131b72", + "path": "io/ktor/ktor-utils-jvm/3.0.3/ktor-utils-jvm-3.0.3.jar" + }, + { + "url": "io/ktor/ktor-io-jvm/3.0.3/ktor-io-jvm-3.0.3.jar", + "hash": "587f6aa4a22daf484ebb84ee5513f1b898e0feeeac714bd2fe0dd2232f57ade5", + "path": "io/ktor/ktor-io-jvm/3.0.3/ktor-io-jvm-3.0.3.jar" + }, + { + "url": "org/jetbrains/kotlinx/kotlinx-io-core-jvm/0.5.4/kotlinx-io-core-jvm-0.5.4.jar", + "hash": "dc3587c12795af01231591c0ef09a4139dfca8113c2989273b96b958006853c3", + "path": "org/jetbrains/kotlinx/kotlinx-io-core-jvm/0.5.4/kotlinx-io-core-jvm-0.5.4.jar" + }, + { + "url": "org/jetbrains/kotlinx/kotlinx-io-bytestring-jvm/0.5.4/kotlinx-io-bytestring-jvm-0.5.4.jar", + "hash": "1fc96e19b445387dbc49183d0cc623c5a61bfa47c86cf81aaf5aff4845154fab", + "path": "org/jetbrains/kotlinx/kotlinx-io-bytestring-jvm/0.5.4/kotlinx-io-bytestring-jvm-0.5.4.jar" + }, + { + "url": "io/ktor/ktor-serialization-kotlinx-json-jvm/3.0.3/ktor-serialization-kotlinx-json-jvm-3.0.3.jar", + "hash": "dbee8f66edf9a845c1f96b9b8c34ff6920c600f1c46e72f4fe530b4333f4a8cb", + "path": "io/ktor/ktor-serialization-kotlinx-json-jvm/3.0.3/ktor-serialization-kotlinx-json-jvm-3.0.3.jar" + }, + { + "url": "io/ktor/ktor-serialization-kotlinx-jvm/3.0.3/ktor-serialization-kotlinx-jvm-3.0.3.jar", + "hash": "101fa93a9bb0a1b70d410834bbad3e7a060a5eb8da0ba76f3c6f00737ade28ea", + "path": "io/ktor/ktor-serialization-kotlinx-jvm/3.0.3/ktor-serialization-kotlinx-jvm-3.0.3.jar" + }, + { + "url": "io/ktor/ktor-serialization-jvm/3.0.3/ktor-serialization-jvm-3.0.3.jar", + "hash": "78eb204e4b58f9357cd7f5c7a92d301518488c721befedb6c3832dc4c32a0354", + "path": "io/ktor/ktor-serialization-jvm/3.0.3/ktor-serialization-jvm-3.0.3.jar" + }, + { + "url": "io/ktor/ktor-server-cio-jvm/3.0.3/ktor-server-cio-jvm-3.0.3.jar", + "hash": "172e5fc3dc4f00f90252f7a92466b53712cce16d9e7160d414923fb3332bfc92", + "path": "io/ktor/ktor-server-cio-jvm/3.0.3/ktor-server-cio-jvm-3.0.3.jar" + }, + { + "url": "io/ktor/ktor-server-core-jvm/3.0.3/ktor-server-core-jvm-3.0.3.jar", + "hash": "bb751d8ed0b0b72b37e5101ac552f1555d6fcbb557c1ec46802ac84e5873413a", + "path": "io/ktor/ktor-server-core-jvm/3.0.3/ktor-server-core-jvm-3.0.3.jar" }, { "url": "com/typesafe/config/1.4.3/config-1.4.3.jar", @@ -1690,44 +1835,54 @@ "path": "com/typesafe/config/1.4.3/config-1.4.3.jar" }, { - "url": "io/ktor/ktor-serialization-jvm/2.3.12/ktor-serialization-jvm-2.3.12.jar", - "hash": "0e05534fbc3b0941127b6ef39e705c34c367dae8b0a08290701c60e97e88fa72", - "path": "io/ktor/ktor-serialization-jvm/2.3.12/ktor-serialization-jvm-2.3.12.jar" + "url": "io/ktor/ktor-utils-jvm/3.0.3/ktor-utils-jvm-3.0.3.jar", + "hash": "4948ec013b71417fffcae187e4aa7943f24eaf907210a4ac9bf853af27131b72", + "path": "io/ktor/ktor-utils-jvm/3.0.3/ktor-utils-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-events-jvm/2.3.12/ktor-events-jvm-2.3.12.jar", - "hash": "44f0b1de6b0947182d25408d1101c56cf8c01a7b809ee0152bd81d9adc9aa576", - "path": "io/ktor/ktor-events-jvm/2.3.12/ktor-events-jvm-2.3.12.jar" + "url": "io/ktor/ktor-http-jvm/3.0.3/ktor-http-jvm-3.0.3.jar", + "hash": "0e4e38b5f7098f269f39962cd78f3479027637f3970176798a41be82bd46d2ca", + "path": "io/ktor/ktor-http-jvm/3.0.3/ktor-http-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-http-cio-jvm/2.3.12/ktor-http-cio-jvm-2.3.12.jar", - "hash": "278a5c1662701db9d89f49e74ea77218ed35ad830efffbdf44522ea861477f4b", - "path": "io/ktor/ktor-http-cio-jvm/2.3.12/ktor-http-cio-jvm-2.3.12.jar" + "url": "io/ktor/ktor-serialization-jvm/3.0.3/ktor-serialization-jvm-3.0.3.jar", + "hash": "78eb204e4b58f9357cd7f5c7a92d301518488c721befedb6c3832dc4c32a0354", + "path": "io/ktor/ktor-serialization-jvm/3.0.3/ktor-serialization-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-http-jvm/2.3.12/ktor-http-jvm-2.3.12.jar", - "hash": "907111c439b3bd4433d2debb687920d5f8df8c6229b68ed540805d5e3763b6a8", - "path": "io/ktor/ktor-http-jvm/2.3.12/ktor-http-jvm-2.3.12.jar" + "url": "io/ktor/ktor-events-jvm/3.0.3/ktor-events-jvm-3.0.3.jar", + "hash": "317ee7adeb43e197717a5ab61fa3d8761514805ca0bcff49de029c4d6f2b3df2", + "path": "io/ktor/ktor-events-jvm/3.0.3/ktor-events-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-websockets-jvm/2.3.12/ktor-websockets-jvm-2.3.12.jar", - "hash": "dc35cc539f4dfa5a4ad9b391c14d06527dfac4f64b3e3f050f5143ceb215bca4", - "path": "io/ktor/ktor-websockets-jvm/2.3.12/ktor-websockets-jvm-2.3.12.jar" + "url": "io/ktor/ktor-http-cio-jvm/3.0.3/ktor-http-cio-jvm-3.0.3.jar", + "hash": "2574639ce266e33419ecbbb729c8f921274b2588ed1dfeb4aa87039115df0666", + "path": "io/ktor/ktor-http-cio-jvm/3.0.3/ktor-http-cio-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-network-jvm/2.3.12/ktor-network-jvm-2.3.12.jar", - "hash": "095ab8afab1a9408e55a67fca6f2f96848573519ddd22e7e8eb1c17dc4bc8d1b", - "path": "io/ktor/ktor-network-jvm/2.3.12/ktor-network-jvm-2.3.12.jar" + "url": "io/ktor/ktor-io-jvm/3.0.3/ktor-io-jvm-3.0.3.jar", + "hash": "587f6aa4a22daf484ebb84ee5513f1b898e0feeeac714bd2fe0dd2232f57ade5", + "path": "io/ktor/ktor-io-jvm/3.0.3/ktor-io-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-utils-jvm/2.3.12/ktor-utils-jvm-2.3.12.jar", - "hash": "6a72d6867330065ed461952fff19ea55ba844352f748cec1872f5bc7b21efc02", - "path": "io/ktor/ktor-utils-jvm/2.3.12/ktor-utils-jvm-2.3.12.jar" + "url": "org/jetbrains/kotlinx/kotlinx-io-core-jvm/0.5.4/kotlinx-io-core-jvm-0.5.4.jar", + "hash": "dc3587c12795af01231591c0ef09a4139dfca8113c2989273b96b958006853c3", + "path": "org/jetbrains/kotlinx/kotlinx-io-core-jvm/0.5.4/kotlinx-io-core-jvm-0.5.4.jar" }, { - "url": "io/ktor/ktor-io-jvm/2.3.12/ktor-io-jvm-2.3.12.jar", - "hash": "1d93a45665f6744ff96cd7b97a45fb85ffec725b63bcc327d33a26a1c7e05fbd", - "path": "io/ktor/ktor-io-jvm/2.3.12/ktor-io-jvm-2.3.12.jar" + "url": "org/jetbrains/kotlinx/kotlinx-io-bytestring-jvm/0.5.4/kotlinx-io-bytestring-jvm-0.5.4.jar", + "hash": "1fc96e19b445387dbc49183d0cc623c5a61bfa47c86cf81aaf5aff4845154fab", + "path": "org/jetbrains/kotlinx/kotlinx-io-bytestring-jvm/0.5.4/kotlinx-io-bytestring-jvm-0.5.4.jar" + }, + { + "url": "io/ktor/ktor-websockets-jvm/3.0.3/ktor-websockets-jvm-3.0.3.jar", + "hash": "4ecb08d33dc0d7c9d6b943b2b3e706f3d55fabef584b0c72fb2f0c5ba8a0eb7a", + "path": "io/ktor/ktor-websockets-jvm/3.0.3/ktor-websockets-jvm-3.0.3.jar" + }, + { + "url": "io/ktor/ktor-network-jvm/3.0.3/ktor-network-jvm-3.0.3.jar", + "hash": "c7c440822e0dcd90b3c794b17c85a50851cb92fa406693bd08d858141ecdc6c1", + "path": "io/ktor/ktor-network-jvm/3.0.3/ktor-network-jvm-3.0.3.jar" }, { "url": "net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.jar", @@ -1735,9 +1890,9 @@ "path": "net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.jar" }, { - "url": "com/android/tools/layoutlib/layoutlib/15.0.3/layoutlib-15.0.3.jar", - "hash": "b8e1002333aedb972e000c52bb38672642344e3403b797592344578f62df62c1", - "path": "com/android/tools/layoutlib/layoutlib/15.0.3/layoutlib-15.0.3.jar" + "url": "com/android/tools/layoutlib/layoutlib/15.1.2/layoutlib-15.1.2.jar", + "hash": "5b8567d7ef44b616a340ba1207c0f75bbb4046f2035fbd5ddaba6bc62aecba8b", + "path": "com/android/tools/layoutlib/layoutlib/15.1.2/layoutlib-15.1.2.jar" }, { "url": "org/apache/thrift/libthrift/0.19.0/libthrift-0.19.0.jar", @@ -1860,9 +2015,9 @@ "path": "org/apache/maven/resolver/maven-resolver-named-locks/1.9.22/maven-resolver-named-locks-1.9.22.jar" }, { - "url": "com/github/marschall/memoryfilesystem/2.8.0/memoryfilesystem-2.8.0.jar", - "hash": "c98b4dae95e5ac8b6dc48d184bdedf463730959d6db02709930dcd0bd910d68c", - "path": "com/github/marschall/memoryfilesystem/2.8.0/memoryfilesystem-2.8.0.jar" + "url": "com/github/marschall/memoryfilesystem/2.8.1/memoryfilesystem-2.8.1.jar", + "hash": "4926485c107e0f44c0037a3cca7c10f1ef1c57844a13837f99fd8e848a74a00b", + "path": "com/github/marschall/memoryfilesystem/2.8.1/memoryfilesystem-2.8.1.jar" }, { "url": "com/miglayout/miglayout-swing/11.4/miglayout-swing-11.4.jar", @@ -1910,190 +2065,265 @@ "path": "com/h2database/h2-mvstore/2.3.232/h2-mvstore-2.3.232.jar" }, { - "url": "io/netty/netty-all/4.2.0.Alpha4/netty-all-4.2.0.Alpha4.jar", - "hash": "7fbc74c4d6c764ff5ab3c6ba7083b3871abe7142409c4bfc9014697b8b31a6d1", - "path": "io/netty/netty-all/4.2.0.Alpha4/netty-all-4.2.0.Alpha4.jar" + "url": "io/netty/netty-all/4.2.0.RC2/netty-all-4.2.0.RC2.jar", + "hash": "4a12af2ac8345bfc7e0987ad8748787de033a9e27357cace7f45c7d40be522e0", + "path": "io/netty/netty-all/4.2.0.RC2/netty-all-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-buffer/4.2.0.Alpha4/netty-buffer-4.2.0.Alpha4.jar", - "hash": "c5d5181c50da3eb08b028cec426564a7ef4a2b25a6d496edcacb4cd733484a7e", - "path": "io/netty/netty-buffer/4.2.0.Alpha4/netty-buffer-4.2.0.Alpha4.jar" + "url": "io/netty/netty-buffer/4.2.0.RC2/netty-buffer-4.2.0.RC2.jar", + "hash": "74d953cec00048b892112f9602fc7b1113ea55337dc1ede32e449efcb2b231c7", + "path": "io/netty/netty-buffer/4.2.0.RC2/netty-buffer-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-codec/4.2.0.Alpha4/netty-codec-4.2.0.Alpha4.jar", - "hash": "da0b6b9596649c5d86c369f678088530a26c930fccf6bdd3bdd4956243955f85", - "path": "io/netty/netty-codec/4.2.0.Alpha4/netty-codec-4.2.0.Alpha4.jar" + "url": "io/netty/netty-codec-base/4.2.0.RC2/netty-codec-base-4.2.0.RC2.jar", + "hash": "f39581a55f89fb0586373e237e1e4a9d5e2fe3b94167c7a6762552651e5a6038", + "path": "io/netty/netty-codec-base/4.2.0.RC2/netty-codec-base-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-codec-http/4.2.0.Alpha4/netty-codec-http-4.2.0.Alpha4.jar", - "hash": "ca2f2cd15eee29887be13d365c202dd00f1311ba08850e6ee5fa67a7945656c1", - "path": "io/netty/netty-codec-http/4.2.0.Alpha4/netty-codec-http-4.2.0.Alpha4.jar" + "url": "io/netty/netty-codec/4.2.0.RC2/netty-codec-4.2.0.RC2.jar", + "hash": "b94f2d169acd04e8a41f1082e8f522529be1f5a10515473de9fb8d259afbfc77", + "path": "io/netty/netty-codec/4.2.0.RC2/netty-codec-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-codec-http2/4.2.0.Alpha4/netty-codec-http2-4.2.0.Alpha4.jar", - "hash": "36a279030958ad573cdcfb2495a1be2e61a2ffada3505b98b0c408fab2dc1d58", - "path": "io/netty/netty-codec-http2/4.2.0.Alpha4/netty-codec-http2-4.2.0.Alpha4.jar" + "url": "io/netty/netty-codec-http/4.2.0.RC2/netty-codec-http-4.2.0.RC2.jar", + "hash": "a44d21dff0254e4f4f9ceb7870e8b27a403d7f1d6325ab03ae6c045302957761", + "path": "io/netty/netty-codec-http/4.2.0.RC2/netty-codec-http-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-common/4.2.0.Alpha4/netty-common-4.2.0.Alpha4.jar", - "hash": "ac67b0cf3ced3918cdf7a73814003bfa223311e3c6816448a1bea01624203a3b", - "path": "io/netty/netty-common/4.2.0.Alpha4/netty-common-4.2.0.Alpha4.jar" + "url": "io/netty/netty-codec-http2/4.2.0.RC2/netty-codec-http2-4.2.0.RC2.jar", + "hash": "c542657efd81b268535fb77e1866c8234c5a22de416ecbd8aea0e06e2c1588de", + "path": "io/netty/netty-codec-http2/4.2.0.RC2/netty-codec-http2-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-handler/4.2.0.Alpha4/netty-handler-4.2.0.Alpha4.jar", - "hash": "0782fa2592152a40fde6d076a98e67ff557d4e4c450917a49c4825477e883927", - "path": "io/netty/netty-handler/4.2.0.Alpha4/netty-handler-4.2.0.Alpha4.jar" + "url": "io/netty/netty-common/4.2.0.RC2/netty-common-4.2.0.RC2.jar", + "hash": "cc65afe17daf2f9380d3c64460f5b10ec279f98b9461fbf0ccf62b3cb3ee6c37", + "path": "io/netty/netty-common/4.2.0.RC2/netty-common-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-transport-native-unix-common/4.2.0.Alpha4/netty-transport-native-unix-common-4.2.0.Alpha4.jar", - "hash": "19eb779e9d078308eb39a6a1073391fd5339f4be2dbd8682240ae5788fbd5d59", - "path": "io/netty/netty-transport-native-unix-common/4.2.0.Alpha4/netty-transport-native-unix-common-4.2.0.Alpha4.jar" + "url": "io/netty/netty-handler/4.2.0.RC2/netty-handler-4.2.0.RC2.jar", + "hash": "3f1912b14a2fdd7ad2ef0bda9eeb1ae544c463857081d7dd69f9aa2b7137de6e", + "path": "io/netty/netty-handler/4.2.0.RC2/netty-handler-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-handler-ssl-ocsp/4.2.0.Alpha4/netty-handler-ssl-ocsp-4.2.0.Alpha4.jar", - "hash": "184306b9b920864c24a36c690c7a894e5845b521b0c72bd09d06d0c733ab7977", - "path": "io/netty/netty-handler-ssl-ocsp/4.2.0.Alpha4/netty-handler-ssl-ocsp-4.2.0.Alpha4.jar" + "url": "io/netty/netty-transport-native-unix-common/4.2.0.RC2/netty-transport-native-unix-common-4.2.0.RC2.jar", + "hash": "dfc1db2a05dafeba40987a76591004cc72d4a27062d874961fadc5059900f65d", + "path": "io/netty/netty-transport-native-unix-common/4.2.0.RC2/netty-transport-native-unix-common-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-resolver/4.2.0.Alpha4/netty-resolver-4.2.0.Alpha4.jar", - "hash": "a30b0aa009af7226cd3d4abfddc26dcaf89414f3dfb566324503e5fe5e5fffe3", - "path": "io/netty/netty-resolver/4.2.0.Alpha4/netty-resolver-4.2.0.Alpha4.jar" + "url": "io/netty/netty-handler-ssl-ocsp/4.2.0.RC2/netty-handler-ssl-ocsp-4.2.0.RC2.jar", + "hash": "c1d3051facf0297a3d7e15078a2c94f3650b6beddd398f21c591d098fd549922", + "path": "io/netty/netty-handler-ssl-ocsp/4.2.0.RC2/netty-handler-ssl-ocsp-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-transport/4.2.0.Alpha4/netty-transport-4.2.0.Alpha4.jar", - "hash": "c02ea3e9a2a3604ff7bb3ef8c06b0e5286977de2d503d62efdbe98add4509766", - "path": "io/netty/netty-transport/4.2.0.Alpha4/netty-transport-4.2.0.Alpha4.jar" + "url": "io/netty/netty-resolver/4.2.0.RC2/netty-resolver-4.2.0.RC2.jar", + "hash": "10fa70357cbfd55f52d64cf4bb4011e01ced0e0e5dea0bac77f73908cef676ff", + "path": "io/netty/netty-resolver/4.2.0.RC2/netty-resolver-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-transport-classes-epoll/4.2.0.Alpha4/netty-transport-classes-epoll-4.2.0.Alpha4.jar", - "hash": "f5d696ea58ad5745d088c552bb09274736efe46f85a5b30e2c5fbd9bebd15908", - "path": "io/netty/netty-transport-classes-epoll/4.2.0.Alpha4/netty-transport-classes-epoll-4.2.0.Alpha4.jar" + "url": "io/netty/netty-transport/4.2.0.RC2/netty-transport-4.2.0.RC2.jar", + "hash": "9c86cf3a130237b059f5ef89661a4fbe715f5e8bce9626a6aded95a1c3775a47", + "path": "io/netty/netty-transport/4.2.0.RC2/netty-transport-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-transport-classes-kqueue/4.2.0.Alpha4/netty-transport-classes-kqueue-4.2.0.Alpha4.jar", - "hash": "5b4b25e0f85bdce105c5a59a97f3853ed58554ad2d8647a156331243f59987d8", - "path": "io/netty/netty-transport-classes-kqueue/4.2.0.Alpha4/netty-transport-classes-kqueue-4.2.0.Alpha4.jar" + "url": "io/netty/netty-pkitesting/4.2.0.RC2/netty-pkitesting-4.2.0.RC2.jar", + "hash": "6d3fbdf60229ee2baafaa850bf46115923109c73d6d1b0fefdcce5a12ddd43e8", + "path": "io/netty/netty-pkitesting/4.2.0.RC2/netty-pkitesting-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-transport-native-epoll/4.2.0.Alpha4/netty-transport-native-epoll-4.2.0.Alpha4-linux-x86_64.jar", - "hash": "135297f41ec3a71a70484933998b45282d0d458d1bc50bc8071c3d044285b062", - "path": "io/netty/netty-transport-native-epoll/4.2.0.Alpha4/netty-transport-native-epoll-4.2.0.Alpha4-linux-x86_64.jar" + "url": "org/bouncycastle/bcpkix-jdk18on/1.79/bcpkix-jdk18on-1.79.jar", + "hash": "3639a24ddf9ba4b7eba0659b44770e91eba816421888e571f285aadefe532cd6", + "path": "org/bouncycastle/bcpkix-jdk18on/1.79/bcpkix-jdk18on-1.79.jar" }, { - "url": "io/netty/netty-transport-native-epoll/4.2.0.Alpha4/netty-transport-native-epoll-4.2.0.Alpha4-linux-aarch_64.jar", - "hash": "e218c98436c2d443335d35c753665c10a68da8d3c5a0ed3db982f9da6081a95b", - "path": "io/netty/netty-transport-native-epoll/4.2.0.Alpha4/netty-transport-native-epoll-4.2.0.Alpha4-linux-aarch_64.jar" + "url": "org/bouncycastle/bcutil-jdk18on/1.79/bcutil-jdk18on-1.79.jar", + "hash": "c70b88ada58938cbc2f005d40329054078bcfa1149e6ffc03e9242eb6ab21836", + "path": "org/bouncycastle/bcutil-jdk18on/1.79/bcutil-jdk18on-1.79.jar" }, { - "url": "io/netty/netty-transport-native-epoll/4.2.0.Alpha4/netty-transport-native-epoll-4.2.0.Alpha4-linux-riscv64.jar", - "hash": "aaa6c7650b7bb650de930cf38f3de9e3728325ee817d3c5b61dec8880b43c7cb", - "path": "io/netty/netty-transport-native-epoll/4.2.0.Alpha4/netty-transport-native-epoll-4.2.0.Alpha4-linux-riscv64.jar" + "url": "org/bouncycastle/bcprov-jdk18on/1.79/bcprov-jdk18on-1.79.jar", + "hash": "0d81ecc3124536b539bce9aa3fe9621b7f84c9cee371b635a5b31c78b79ab1da", + "path": "org/bouncycastle/bcprov-jdk18on/1.79/bcprov-jdk18on-1.79.jar" }, { - "url": "io/netty/netty-transport-native-kqueue/4.2.0.Alpha4/netty-transport-native-kqueue-4.2.0.Alpha4-osx-x86_64.jar", - "hash": "725547387e40d2c2b96c86a03ba9e9484fed9c293d4399d6da2f6127575668b3", - "path": "io/netty/netty-transport-native-kqueue/4.2.0.Alpha4/netty-transport-native-kqueue-4.2.0.Alpha4-osx-x86_64.jar" + "url": "io/netty/netty-transport-classes-epoll/4.2.0.RC2/netty-transport-classes-epoll-4.2.0.RC2.jar", + "hash": "b28e39a15989b29683ccbc360d27cdb71fa992c16e50f2b331278a68267d110a", + "path": "io/netty/netty-transport-classes-epoll/4.2.0.RC2/netty-transport-classes-epoll-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-transport-native-kqueue/4.2.0.Alpha4/netty-transport-native-kqueue-4.2.0.Alpha4-osx-aarch_64.jar", - "hash": "1077692c053ae15c8912ca194b8ca07627848b3d707b1e4047e59b813135bd83", - "path": "io/netty/netty-transport-native-kqueue/4.2.0.Alpha4/netty-transport-native-kqueue-4.2.0.Alpha4-osx-aarch_64.jar" + "url": "io/netty/netty-transport-classes-kqueue/4.2.0.RC2/netty-transport-classes-kqueue-4.2.0.RC2.jar", + "hash": "15c46096b22d0fc833c09ce85d002cc8e171c9f1741030663899a6315997d5bd", + "path": "io/netty/netty-transport-classes-kqueue/4.2.0.RC2/netty-transport-classes-kqueue-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-buffer/4.2.0.Alpha4/netty-buffer-4.2.0.Alpha4.jar", - "hash": "c5d5181c50da3eb08b028cec426564a7ef4a2b25a6d496edcacb4cd733484a7e", - "path": "io/netty/netty-buffer/4.2.0.Alpha4/netty-buffer-4.2.0.Alpha4.jar" + "url": "io/netty/netty-transport-native-epoll/4.2.0.RC2/netty-transport-native-epoll-4.2.0.RC2-linux-x86_64.jar", + "hash": "d57f64acefa1cebc8b18f1add825f4d965bb495a340eee69b9d626d54e161a24", + "path": "io/netty/netty-transport-native-epoll/4.2.0.RC2/netty-transport-native-epoll-4.2.0.RC2-linux-x86_64.jar" }, { - "url": "io/netty/netty-common/4.2.0.Alpha4/netty-common-4.2.0.Alpha4.jar", - "hash": "ac67b0cf3ced3918cdf7a73814003bfa223311e3c6816448a1bea01624203a3b", - "path": "io/netty/netty-common/4.2.0.Alpha4/netty-common-4.2.0.Alpha4.jar" + "url": "io/netty/netty-transport-native-epoll/4.2.0.RC2/netty-transport-native-epoll-4.2.0.RC2-linux-aarch_64.jar", + "hash": "9ff603349365d28397dc239097cab0ceca3b27cacd13fb5f1afda8d4d7388194", + "path": "io/netty/netty-transport-native-epoll/4.2.0.RC2/netty-transport-native-epoll-4.2.0.RC2-linux-aarch_64.jar" }, { - "url": "io/netty/netty-codec-compression/4.2.0.Alpha4/netty-codec-compression-4.2.0.Alpha4.jar", - "hash": "f72ad668f7618e23b0a2b07e8b42a1a76e31fa23cb26e6940c59e57355a0c5e9", - "path": "io/netty/netty-codec-compression/4.2.0.Alpha4/netty-codec-compression-4.2.0.Alpha4.jar" + "url": "io/netty/netty-transport-native-epoll/4.2.0.RC2/netty-transport-native-epoll-4.2.0.RC2-linux-riscv64.jar", + "hash": "c9fb752bd54bf2dae1e4330d2446202fdfb28e6a7f933248886de13d4b2f6959", + "path": "io/netty/netty-transport-native-epoll/4.2.0.RC2/netty-transport-native-epoll-4.2.0.RC2-linux-riscv64.jar" }, { - "url": "io/netty/netty-codec-http2/4.2.0.Alpha4/netty-codec-http2-4.2.0.Alpha4.jar", - "hash": "36a279030958ad573cdcfb2495a1be2e61a2ffada3505b98b0c408fab2dc1d58", - "path": "io/netty/netty-codec-http2/4.2.0.Alpha4/netty-codec-http2-4.2.0.Alpha4.jar" + "url": "io/netty/netty-transport-native-kqueue/4.2.0.RC2/netty-transport-native-kqueue-4.2.0.RC2-osx-x86_64.jar", + "hash": "2c80194e02e8f2424be3eb18be4514ece9fcaec79cb11a7d2f0dbe92fe86e283", + "path": "io/netty/netty-transport-native-kqueue/4.2.0.RC2/netty-transport-native-kqueue-4.2.0.RC2-osx-x86_64.jar" }, { - "url": "io/netty/netty-transport/4.2.0.Alpha4/netty-transport-4.2.0.Alpha4.jar", - "hash": "c02ea3e9a2a3604ff7bb3ef8c06b0e5286977de2d503d62efdbe98add4509766", - "path": "io/netty/netty-transport/4.2.0.Alpha4/netty-transport-4.2.0.Alpha4.jar" + "url": "io/netty/netty-transport-native-kqueue/4.2.0.RC2/netty-transport-native-kqueue-4.2.0.RC2-osx-aarch_64.jar", + "hash": "d942f12645bf694c5083e40d7ec2f1d03b897ceccb0d0acd9d1178bf4f72092d", + "path": "io/netty/netty-transport-native-kqueue/4.2.0.RC2/netty-transport-native-kqueue-4.2.0.RC2-osx-aarch_64.jar" }, { - "url": "io/netty/netty-resolver/4.2.0.Alpha4/netty-resolver-4.2.0.Alpha4.jar", - "hash": "a30b0aa009af7226cd3d4abfddc26dcaf89414f3dfb566324503e5fe5e5fffe3", - "path": "io/netty/netty-resolver/4.2.0.Alpha4/netty-resolver-4.2.0.Alpha4.jar" + "url": "io/netty/netty-buffer/4.2.0.RC2/netty-buffer-4.2.0.RC2.jar", + "hash": "74d953cec00048b892112f9602fc7b1113ea55337dc1ede32e449efcb2b231c7", + "path": "io/netty/netty-buffer/4.2.0.RC2/netty-buffer-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-codec/4.2.0.Alpha4/netty-codec-4.2.0.Alpha4.jar", - "hash": "da0b6b9596649c5d86c369f678088530a26c930fccf6bdd3bdd4956243955f85", - "path": "io/netty/netty-codec/4.2.0.Alpha4/netty-codec-4.2.0.Alpha4.jar" + "url": "io/netty/netty-common/4.2.0.RC2/netty-common-4.2.0.RC2.jar", + "hash": "cc65afe17daf2f9380d3c64460f5b10ec279f98b9461fbf0ccf62b3cb3ee6c37", + "path": "io/netty/netty-common/4.2.0.RC2/netty-common-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-handler/4.2.0.Alpha4/netty-handler-4.2.0.Alpha4.jar", - "hash": "0782fa2592152a40fde6d076a98e67ff557d4e4c450917a49c4825477e883927", - "path": "io/netty/netty-handler/4.2.0.Alpha4/netty-handler-4.2.0.Alpha4.jar" + "url": "io/netty/netty-codec-compression/4.2.0.RC2/netty-codec-compression-4.2.0.RC2.jar", + "hash": "7251646a8ea8d56a2415311de6040159479ac0e35de36dab70b667ed899ac931", + "path": "io/netty/netty-codec-compression/4.2.0.RC2/netty-codec-compression-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-transport-native-unix-common/4.2.0.Alpha4/netty-transport-native-unix-common-4.2.0.Alpha4.jar", - "hash": "19eb779e9d078308eb39a6a1073391fd5339f4be2dbd8682240ae5788fbd5d59", - "path": "io/netty/netty-transport-native-unix-common/4.2.0.Alpha4/netty-transport-native-unix-common-4.2.0.Alpha4.jar" + "url": "io/netty/netty-codec-http2/4.2.0.RC2/netty-codec-http2-4.2.0.RC2.jar", + "hash": "c542657efd81b268535fb77e1866c8234c5a22de416ecbd8aea0e06e2c1588de", + "path": "io/netty/netty-codec-http2/4.2.0.RC2/netty-codec-http2-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-codec-http/4.2.0.Alpha4/netty-codec-http-4.2.0.Alpha4.jar", - "hash": "ca2f2cd15eee29887be13d365c202dd00f1311ba08850e6ee5fa67a7945656c1", - "path": "io/netty/netty-codec-http/4.2.0.Alpha4/netty-codec-http-4.2.0.Alpha4.jar" + "url": "io/netty/netty-transport/4.2.0.RC2/netty-transport-4.2.0.RC2.jar", + "hash": "9c86cf3a130237b059f5ef89661a4fbe715f5e8bce9626a6aded95a1c3775a47", + "path": "io/netty/netty-transport/4.2.0.RC2/netty-transport-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-codec-protobuf/4.2.0.Alpha4/netty-codec-protobuf-4.2.0.Alpha4.jar", - "hash": "c5c1ce6ba385e8873d028b065507012eaeb4b445c325c9b67fd5e1590dbaef47", - "path": "io/netty/netty-codec-protobuf/4.2.0.Alpha4/netty-codec-protobuf-4.2.0.Alpha4.jar" + "url": "io/netty/netty-resolver/4.2.0.RC2/netty-resolver-4.2.0.RC2.jar", + "hash": "10fa70357cbfd55f52d64cf4bb4011e01ced0e0e5dea0bac77f73908cef676ff", + "path": "io/netty/netty-resolver/4.2.0.RC2/netty-resolver-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-tcnative-boringssl-static/2.0.66.Final/netty-tcnative-boringssl-static-2.0.66.Final.jar", - "hash": "df215103b6082caceef6b83ed5bbf61d2072688b8b248e9d86cc0bbdb785b5e4", - "path": "io/netty/netty-tcnative-boringssl-static/2.0.66.Final/netty-tcnative-boringssl-static-2.0.66.Final.jar" + "url": "io/netty/netty-codec/4.2.0.RC2/netty-codec-4.2.0.RC2.jar", + "hash": "b94f2d169acd04e8a41f1082e8f522529be1f5a10515473de9fb8d259afbfc77", + "path": "io/netty/netty-codec/4.2.0.RC2/netty-codec-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-tcnative-classes/2.0.66.Final/netty-tcnative-classes-2.0.66.Final.jar", - "hash": "669a811a193dc1e7c9ef86cb547a4ab92f0f34cce8f9b842b9029bf5cfa07cc5", - "path": "io/netty/netty-tcnative-classes/2.0.66.Final/netty-tcnative-classes-2.0.66.Final.jar" + "url": "io/netty/netty-codec-base/4.2.0.RC2/netty-codec-base-4.2.0.RC2.jar", + "hash": "f39581a55f89fb0586373e237e1e4a9d5e2fe3b94167c7a6762552651e5a6038", + "path": "io/netty/netty-codec-base/4.2.0.RC2/netty-codec-base-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-tcnative-boringssl-static/2.0.66.Final/netty-tcnative-boringssl-static-2.0.66.Final-linux-x86_64.jar", - "hash": "407547388ead01c371ae1de7616fa9ce8bc26aa4b180aa5f0452e23ecc02a8f1", - "path": "io/netty/netty-tcnative-boringssl-static/2.0.66.Final/netty-tcnative-boringssl-static-2.0.66.Final-linux-x86_64.jar" + "url": "io/netty/netty-handler/4.2.0.RC2/netty-handler-4.2.0.RC2.jar", + "hash": "3f1912b14a2fdd7ad2ef0bda9eeb1ae544c463857081d7dd69f9aa2b7137de6e", + "path": "io/netty/netty-handler/4.2.0.RC2/netty-handler-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-tcnative-boringssl-static/2.0.66.Final/netty-tcnative-boringssl-static-2.0.66.Final-linux-aarch_64.jar", - "hash": "0c18e0f8c70d801f1711ca9fef1ef9bdd5f9b9afb43292f439459ee780d758b6", - "path": "io/netty/netty-tcnative-boringssl-static/2.0.66.Final/netty-tcnative-boringssl-static-2.0.66.Final-linux-aarch_64.jar" + "url": "io/netty/netty-transport-native-unix-common/4.2.0.RC2/netty-transport-native-unix-common-4.2.0.RC2.jar", + "hash": "dfc1db2a05dafeba40987a76591004cc72d4a27062d874961fadc5059900f65d", + "path": "io/netty/netty-transport-native-unix-common/4.2.0.RC2/netty-transport-native-unix-common-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-tcnative-boringssl-static/2.0.66.Final/netty-tcnative-boringssl-static-2.0.66.Final-osx-x86_64.jar", - "hash": "a34307997449310bcf327c42c46e2db0067c2adf3d66a19fe18e0fd9981fe162", - "path": "io/netty/netty-tcnative-boringssl-static/2.0.66.Final/netty-tcnative-boringssl-static-2.0.66.Final-osx-x86_64.jar" + "url": "io/netty/netty-codec-http/4.2.0.RC2/netty-codec-http-4.2.0.RC2.jar", + "hash": "a44d21dff0254e4f4f9ceb7870e8b27a403d7f1d6325ab03ae6c045302957761", + "path": "io/netty/netty-codec-http/4.2.0.RC2/netty-codec-http-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-tcnative-boringssl-static/2.0.66.Final/netty-tcnative-boringssl-static-2.0.66.Final-osx-aarch_64.jar", - "hash": "3cf31a82c0d2c79b48050f02a60d08e9a17db00759ca1f7920cd35d842c7f95e", - "path": "io/netty/netty-tcnative-boringssl-static/2.0.66.Final/netty-tcnative-boringssl-static-2.0.66.Final-osx-aarch_64.jar" + "url": "io/netty/netty-codec-protobuf/4.2.0.RC2/netty-codec-protobuf-4.2.0.RC2.jar", + "hash": "c5fb188895ffdfd529473c5e7ba1c58da2f514a44134b15ad0d51efe3f28bb38", + "path": "io/netty/netty-codec-protobuf/4.2.0.RC2/netty-codec-protobuf-4.2.0.RC2.jar" }, { - "url": "io/netty/netty-tcnative-boringssl-static/2.0.66.Final/netty-tcnative-boringssl-static-2.0.66.Final-windows-x86_64.jar", - "hash": "4f5a5665d3d8c4b2d5ffc40a0c4b07f94399b7d0a4ee01966df0bfc6f49d4524", - "path": "io/netty/netty-tcnative-boringssl-static/2.0.66.Final/netty-tcnative-boringssl-static-2.0.66.Final-windows-x86_64.jar" + "url": "io/netty/netty-all/4.1.117.Final/netty-all-4.1.117.Final.jar", + "hash": "c78613ac0db94650c03a37b2a35b3238b2d018fcac9f10e5fe268c3887cf5e0b", + "path": "io/netty/netty-all/4.1.117.Final/netty-all-4.1.117.Final.jar" + }, + { + "url": "io/netty/netty-buffer/4.1.117.Final/netty-buffer-4.1.117.Final.jar", + "hash": "7d01bf0334ffa3ab55f3828bb50188bf9969774a23791a3df1905e53bfeea8f5", + "path": "io/netty/netty-buffer/4.1.117.Final/netty-buffer-4.1.117.Final.jar" + }, + { + "url": "io/netty/netty-codec/4.1.117.Final/netty-codec-4.1.117.Final.jar", + "hash": "0b93f01cff5bc2a64af829ca01c826e8e861a03b96a871fa2a240fa25681df78", + "path": "io/netty/netty-codec/4.1.117.Final/netty-codec-4.1.117.Final.jar" + }, + { + "url": "io/netty/netty-codec-http/4.1.117.Final/netty-codec-http-4.1.117.Final.jar", + "hash": "a7e19945a6baa86ab285383a0bda632eae7703a889da1d20ea4eaad4c996cc21", + "path": "io/netty/netty-codec-http/4.1.117.Final/netty-codec-http-4.1.117.Final.jar" + }, + { + "url": "io/netty/netty-common/4.1.117.Final/netty-common-4.1.117.Final.jar", + "hash": "5b4e125a341566b24d5030479da475b20ea1f6145bf7b3c3d69fe537088bb4c1", + "path": "io/netty/netty-common/4.1.117.Final/netty-common-4.1.117.Final.jar" + }, + { + "url": "io/netty/netty-handler/4.1.117.Final/netty-handler-4.1.117.Final.jar", + "hash": "f3272149099883cf98ad8a2a82a08111a78d17e604aebc094c80592a730fcac5", + "path": "io/netty/netty-handler/4.1.117.Final/netty-handler-4.1.117.Final.jar" + }, + { + "url": "io/netty/netty-resolver/4.1.117.Final/netty-resolver-4.1.117.Final.jar", + "hash": "0f5f7220d34d32751cc624bc9c47afdde7392f0d9551569c90a568309015d796", + "path": "io/netty/netty-resolver/4.1.117.Final/netty-resolver-4.1.117.Final.jar" + }, + { + "url": "io/netty/netty-transport/4.1.117.Final/netty-transport-4.1.117.Final.jar", + "hash": "c07aac2ea55aa42c34fc6b53fbee661e0de077f45483133b6ca297c70a67a44a", + "path": "io/netty/netty-transport/4.1.117.Final/netty-transport-4.1.117.Final.jar" + }, + { + "url": "io/netty/netty-tcnative-boringssl-static/2.0.69.Final/netty-tcnative-boringssl-static-2.0.69.Final.jar", + "hash": "79dbae7f0c2a1f73a6b4bb992edb0ab94ebd3196f5e83a94784039fb96d9a040", + "path": "io/netty/netty-tcnative-boringssl-static/2.0.69.Final/netty-tcnative-boringssl-static-2.0.69.Final.jar" + }, + { + "url": "io/netty/netty-tcnative-classes/2.0.69.Final/netty-tcnative-classes-2.0.69.Final.jar", + "hash": "0bbc2848cb099eb3f6f4ec36501b3600e1828457cda41d5330687f601ee04bef", + "path": "io/netty/netty-tcnative-classes/2.0.69.Final/netty-tcnative-classes-2.0.69.Final.jar" + }, + { + "url": "io/netty/netty-tcnative-boringssl-static/2.0.69.Final/netty-tcnative-boringssl-static-2.0.69.Final-linux-x86_64.jar", + "hash": "083b527de741bd8e7cf3c4714429454122d2fb5e8cdd17c42d90269a391f6d11", + "path": "io/netty/netty-tcnative-boringssl-static/2.0.69.Final/netty-tcnative-boringssl-static-2.0.69.Final-linux-x86_64.jar" + }, + { + "url": "io/netty/netty-tcnative-boringssl-static/2.0.69.Final/netty-tcnative-boringssl-static-2.0.69.Final-linux-aarch_64.jar", + "hash": "9e2a725c68de1b14347b4d849557d81940692613b0e7f7ec4fe3d4064ce82b53", + "path": "io/netty/netty-tcnative-boringssl-static/2.0.69.Final/netty-tcnative-boringssl-static-2.0.69.Final-linux-aarch_64.jar" + }, + { + "url": "io/netty/netty-tcnative-boringssl-static/2.0.69.Final/netty-tcnative-boringssl-static-2.0.69.Final-osx-x86_64.jar", + "hash": "f66b18f8367c2a244d3d95e9869ab8178e8ff2f90d4b8bf076c6e2563ffd3442", + "path": "io/netty/netty-tcnative-boringssl-static/2.0.69.Final/netty-tcnative-boringssl-static-2.0.69.Final-osx-x86_64.jar" + }, + { + "url": "io/netty/netty-tcnative-boringssl-static/2.0.69.Final/netty-tcnative-boringssl-static-2.0.69.Final-osx-aarch_64.jar", + "hash": "78bac6de55f6333157671007f989d5c183bbad9302e1a43b01b625125552e619", + "path": "io/netty/netty-tcnative-boringssl-static/2.0.69.Final/netty-tcnative-boringssl-static-2.0.69.Final-osx-aarch_64.jar" + }, + { + "url": "io/netty/netty-tcnative-boringssl-static/2.0.69.Final/netty-tcnative-boringssl-static-2.0.69.Final-windows-x86_64.jar", + "hash": "bbfc52aaf8d15db7ed4b2707bdc59e5b8b2c20fcee6a27a2475a8fbb8fa2f747", + "path": "io/netty/netty-tcnative-boringssl-static/2.0.69.Final/netty-tcnative-boringssl-static-2.0.69.Final-windows-x86_64.jar" }, { "url": "org/jetbrains/intellij/deps/completion/ngram-slp/0.0.3/ngram-slp-0.0.3.jar", "hash": "4ac10d8fb7e6326e09179fd83e664610a3362dc1d661fb32e5b2a19bcb9fc867", "path": "org/jetbrains/intellij/deps/completion/ngram-slp/0.0.3/ngram-slp-0.0.3.jar" }, + { + "url": "jetbrains/fleet/noria-compiler-plugin/2.1.10-0.1/noria-compiler-plugin-2.1.10-0.1.jar", + "hash": "0343917854d11f7b85fcf1bf014e07c1a958fdc6fdb89771be64a6785fddc6c7", + "path": "jetbrains/fleet/noria-compiler-plugin/2.1.10-0.1/noria-compiler-plugin-2.1.10-0.1.jar" + }, { "url": "com/squareup/okhttp3/okhttp/5.0.0-alpha.14/okhttp-5.0.0-alpha.14.jar", "hash": "f0e3ffcbba6744ab4918a55aa32ff4f408fcd21e45ab8bd5f7883a1793b2a253", @@ -2105,64 +2335,59 @@ "path": "com/squareup/okio/okio-jvm/3.9.0/okio-jvm-3.9.0.jar" }, { - "url": "io/opentelemetry/opentelemetry-sdk/1.41.0/opentelemetry-sdk-1.41.0.jar", - "hash": "1e20916ea9b76b85aec3ad1c78170e0cd59556f3ae120ec4fdea256a87cb3d91", - "path": "io/opentelemetry/opentelemetry-sdk/1.41.0/opentelemetry-sdk-1.41.0.jar" + "url": "io/opentelemetry/opentelemetry-sdk/1.47.0/opentelemetry-sdk-1.47.0.jar", + "hash": "4a09eb2ee484769973e14218a34e6da54f35955aa02b26dc5238b0c2ed6a801d", + "path": "io/opentelemetry/opentelemetry-sdk/1.47.0/opentelemetry-sdk-1.47.0.jar" }, { - "url": "io/opentelemetry/opentelemetry-api/1.41.0/opentelemetry-api-1.41.0.jar", - "hash": "9336668f388de68a0a2c3e114154febd29db19a7644f27c4eba548f5de852258", - "path": "io/opentelemetry/opentelemetry-api/1.41.0/opentelemetry-api-1.41.0.jar" + "url": "io/opentelemetry/opentelemetry-api/1.47.0/opentelemetry-api-1.47.0.jar", + "hash": "6566f1f1133d611ff4e8b8fdb8eb18577b970425620315363ee9be43843b14bf", + "path": "io/opentelemetry/opentelemetry-api/1.47.0/opentelemetry-api-1.47.0.jar" }, { - "url": "io/opentelemetry/opentelemetry-context/1.41.0/opentelemetry-context-1.41.0.jar", - "hash": "5e3432a4464a432abfdab73be7142e516d25a84aa8426fce1192ffb0532faa35", - "path": "io/opentelemetry/opentelemetry-context/1.41.0/opentelemetry-context-1.41.0.jar" + "url": "io/opentelemetry/opentelemetry-context/1.47.0/opentelemetry-context-1.47.0.jar", + "hash": "15b4fc4234e6dca6d54800d572694ecbd07ba52c15fc5b221b4da5517ce8d90d", + "path": "io/opentelemetry/opentelemetry-context/1.47.0/opentelemetry-context-1.47.0.jar" }, { - "url": "io/opentelemetry/opentelemetry-sdk-common/1.41.0/opentelemetry-sdk-common-1.41.0.jar", - "hash": "9da8a6e0c0eb33d5dbee588885da7f936ae4734f665af8400499cde8432ab5a0", - "path": "io/opentelemetry/opentelemetry-sdk-common/1.41.0/opentelemetry-sdk-common-1.41.0.jar" + "url": "io/opentelemetry/opentelemetry-sdk-common/1.47.0/opentelemetry-sdk-common-1.47.0.jar", + "hash": "7ce55666aca7f2e5697a57bd4133e4508a6dc5041685f2d1ef31bb156f32e3bd", + "path": "io/opentelemetry/opentelemetry-sdk-common/1.47.0/opentelemetry-sdk-common-1.47.0.jar" }, { - "url": "io/opentelemetry/opentelemetry-sdk-trace/1.41.0/opentelemetry-sdk-trace-1.41.0.jar", - "hash": "b18b38ef0687b36ed0e0bc2e1e796bc0479eadb8c13109cad203f759474a921f", - "path": "io/opentelemetry/opentelemetry-sdk-trace/1.41.0/opentelemetry-sdk-trace-1.41.0.jar" + "url": "io/opentelemetry/opentelemetry-sdk-trace/1.47.0/opentelemetry-sdk-trace-1.47.0.jar", + "hash": "03950efd5fa5a276769a593579d8f602742a5d52f9978569326d2a9f9e162546", + "path": "io/opentelemetry/opentelemetry-sdk-trace/1.47.0/opentelemetry-sdk-trace-1.47.0.jar" }, { - "url": "io/opentelemetry/opentelemetry-api-incubator/1.41.0-alpha/opentelemetry-api-incubator-1.41.0-alpha.jar", - "hash": "9dd36c6744b73c4d85e669cb646fa1f8b8c1888a4e3c0b9d04d2eebf24f3a875", - "path": "io/opentelemetry/opentelemetry-api-incubator/1.41.0-alpha/opentelemetry-api-incubator-1.41.0-alpha.jar" + "url": "io/opentelemetry/opentelemetry-sdk-metrics/1.47.0/opentelemetry-sdk-metrics-1.47.0.jar", + "hash": "7d1442c5ca916ba2513005205d3b8b9bc5dca4e2a84867d0550602a0dfc0bba5", + "path": "io/opentelemetry/opentelemetry-sdk-metrics/1.47.0/opentelemetry-sdk-metrics-1.47.0.jar" }, { - "url": "io/opentelemetry/opentelemetry-sdk-metrics/1.41.0/opentelemetry-sdk-metrics-1.41.0.jar", - "hash": "acda798602ff7ae41e64bb21ea2011cd56b3fbde71df39fbdf6e59892edf345f", - "path": "io/opentelemetry/opentelemetry-sdk-metrics/1.41.0/opentelemetry-sdk-metrics-1.41.0.jar" + "url": "io/opentelemetry/opentelemetry-sdk-logs/1.47.0/opentelemetry-sdk-logs-1.47.0.jar", + "hash": "302491984b63eebaf4b58bd3ae19d223a55f79090a3e46b40507b49c3cbe9cc5", + "path": "io/opentelemetry/opentelemetry-sdk-logs/1.47.0/opentelemetry-sdk-logs-1.47.0.jar" }, { - "url": "io/opentelemetry/opentelemetry-sdk-logs/1.41.0/opentelemetry-sdk-logs-1.41.0.jar", - "hash": "1cc068c52d0a89096dc8814bc90b126388a68ec9e41defbd9ea349ebf91755a4", - "path": "io/opentelemetry/opentelemetry-sdk-logs/1.41.0/opentelemetry-sdk-logs-1.41.0.jar" + "url": "io/opentelemetry/opentelemetry-exporter-otlp-common/1.47.0/opentelemetry-exporter-otlp-common-1.47.0.jar", + "hash": "aa1799740e75486da0b64b1455d24150a5bff64c71a72482bdf3d8e5274d4bd5", + "path": "io/opentelemetry/opentelemetry-exporter-otlp-common/1.47.0/opentelemetry-exporter-otlp-common-1.47.0.jar" }, { - "url": "io/opentelemetry/opentelemetry-exporter-otlp-common/1.41.0/opentelemetry-exporter-otlp-common-1.41.0.jar", - "hash": "b9407cc68ce93cd68598f726b98d86507a4541ef1ed6385bb7af24e4e85298db", - "path": "io/opentelemetry/opentelemetry-exporter-otlp-common/1.41.0/opentelemetry-exporter-otlp-common-1.41.0.jar" + "url": "io/opentelemetry/opentelemetry-exporter-common/1.47.0/opentelemetry-exporter-common-1.47.0.jar", + "hash": "691479853712dbdf4ccbd5ec72434732918723f21d7d75b6b57436cca943a330", + "path": "io/opentelemetry/opentelemetry-exporter-common/1.47.0/opentelemetry-exporter-common-1.47.0.jar" }, { - "url": "io/opentelemetry/opentelemetry-exporter-common/1.41.0/opentelemetry-exporter-common-1.41.0.jar", - "hash": "904e98ec9b92ae6e910c55c370addb8459f23d3b2678f7c9c89484e0f2d51ac2", - "path": "io/opentelemetry/opentelemetry-exporter-common/1.41.0/opentelemetry-exporter-common-1.41.0.jar" + "url": "io/opentelemetry/opentelemetry-extension-kotlin/1.47.0/opentelemetry-extension-kotlin-1.47.0.jar", + "hash": "bd1ef04d976c0c4c5f2c7dea8250f12affccdc48ec34ac96c60bac579433d55d", + "path": "io/opentelemetry/opentelemetry-extension-kotlin/1.47.0/opentelemetry-extension-kotlin-1.47.0.jar" }, { - "url": "io/opentelemetry/opentelemetry-extension-kotlin/1.41.0/opentelemetry-extension-kotlin-1.41.0.jar", - "hash": "04d45037ca1555d747147428a466c119749be7fe7b4225ebe5f1b4748c55ca93", - "path": "io/opentelemetry/opentelemetry-extension-kotlin/1.41.0/opentelemetry-extension-kotlin-1.41.0.jar" - }, - { - "url": "io/opentelemetry/semconv/opentelemetry-semconv/1.27.0-alpha/opentelemetry-semconv-1.27.0-alpha.jar", - "hash": "9d63590c51a3455f440841e149b132bfd4d46eccbff9823d10211c1cec3e97f0", - "path": "io/opentelemetry/semconv/opentelemetry-semconv/1.27.0-alpha/opentelemetry-semconv-1.27.0-alpha.jar" + "url": "io/opentelemetry/semconv/opentelemetry-semconv/1.30.0-rc.1/opentelemetry-semconv-1.30.0-rc.1.jar", + "hash": "b913fe3b2063216dfedf66580a4c508c3078c2dda8f85fe145638b37f6130ea2", + "path": "io/opentelemetry/semconv/opentelemetry-semconv/1.30.0-rc.1/opentelemetry-semconv-1.30.0-rc.1.jar" }, { "url": "org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar", @@ -2200,50 +2425,30 @@ "path": "org/codehaus/groovy/groovy-xml/3.0.19/groovy-xml-3.0.19.jar" }, { - "url": "org/jetbrains/packagesearch/packagesearch-api-client-jvm/3.3.1/packagesearch-api-client-jvm-3.3.1.jar", - "hash": "d7e293f78f1be85cec7a1ad3dfec5b5a868074b00a90a8be2438c25660526019", - "path": "org/jetbrains/packagesearch/packagesearch-api-client-jvm/3.3.1/packagesearch-api-client-jvm-3.3.1.jar" + "url": "org/jetbrains/packagesearch/packagesearch-api-client-jvm/3.4.0/packagesearch-api-client-jvm-3.4.0.jar", + "hash": "9d0f4c74e96787499fcc2462c32afeb7f4db97db30042e2578f205f61e5898fb", + "path": "org/jetbrains/packagesearch/packagesearch-api-client-jvm/3.4.0/packagesearch-api-client-jvm-3.4.0.jar" }, { - "url": "org/jetbrains/packagesearch/packagesearch-http-models-jvm/3.3.1/packagesearch-http-models-jvm-3.3.1.jar", + "url": "org/jetbrains/packagesearch/packagesearch-http-models-jvm/3.4.0/packagesearch-http-models-jvm-3.4.0.jar", "hash": "0318b967115de0c7c8fbd93bc6e3d279c82de2954f90794146962921de45972d", - "path": "org/jetbrains/packagesearch/packagesearch-http-models-jvm/3.3.1/packagesearch-http-models-jvm-3.3.1.jar" + "path": "org/jetbrains/packagesearch/packagesearch-http-models-jvm/3.4.0/packagesearch-http-models-jvm-3.4.0.jar" }, { - "url": "org/jetbrains/packagesearch/packagesearch-api-models-jvm/3.3.1/packagesearch-api-models-jvm-3.3.1.jar", - "hash": "a16f54c2126f9289610438d4f5592cd386113110cb8180ccfbe6999f5b1a3dbf", - "path": "org/jetbrains/packagesearch/packagesearch-api-models-jvm/3.3.1/packagesearch-api-models-jvm-3.3.1.jar" + "url": "org/jetbrains/packagesearch/packagesearch-api-models-jvm/3.4.0/packagesearch-api-models-jvm-3.4.0.jar", + "hash": "22022fe954980d8e183b252889719fc6ca71a13e91b8e869d92532da308e3da1", + "path": "org/jetbrains/packagesearch/packagesearch-api-models-jvm/3.4.0/packagesearch-api-models-jvm-3.4.0.jar" }, { - "url": "com/github/lamba92/kotlinx-document-store-mvstore/0.0.4/kotlinx-document-store-mvstore-0.0.4.jar", - "hash": "956a4c7faad66e3471861adaa278d9486f3a050ac25fb6a99ca90809d379adfe", - "path": "com/github/lamba92/kotlinx-document-store-mvstore/0.0.4/kotlinx-document-store-mvstore-0.0.4.jar" - }, - { - "url": "org/jetbrains/packagesearch/packagesearch-version-utils-jvm/3.3.1/packagesearch-version-utils-jvm-3.3.1.jar", + "url": "org/jetbrains/packagesearch/packagesearch-version-utils-jvm/3.4.0/packagesearch-version-utils-jvm-3.4.0.jar", "hash": "4c86546693efaeb889e02d043521cda15da5f10853b0471095b7db80dc0540e7", - "path": "org/jetbrains/packagesearch/packagesearch-version-utils-jvm/3.3.1/packagesearch-version-utils-jvm-3.3.1.jar" + "path": "org/jetbrains/packagesearch/packagesearch-version-utils-jvm/3.4.0/packagesearch-version-utils-jvm-3.4.0.jar" }, { "url": "com/soywiz/korlibs/krypto/krypto-jvm/4.0.10/krypto-jvm-4.0.10.jar", "hash": "0fe8dcdf54b13b5ec56fdb5f63c057364264bb2f51b7f7bc3c271d5b1ba68dcb", "path": "com/soywiz/korlibs/krypto/krypto-jvm/4.0.10/krypto-jvm-4.0.10.jar" }, - { - "url": "com/github/lamba92/kotlinx-document-store-core-jvm/0.0.4/kotlinx-document-store-core-jvm-0.0.4.jar", - "hash": "7e638082b4a14e3a96ca90f3f5db70ac65591e0b6c6670629e849d22ec34455f", - "path": "com/github/lamba92/kotlinx-document-store-core-jvm/0.0.4/kotlinx-document-store-core-jvm-0.0.4.jar" - }, - { - "url": "org/jetbrains/kotlinx/kotlinx-io-core-jvm/0.5.0/kotlinx-io-core-jvm-0.5.0.jar", - "hash": "f43dd81cf3c7f87abdc80100607b3892a5eb13d87b4d1ceccb7dfb53a68fa4ca", - "path": "org/jetbrains/kotlinx/kotlinx-io-core-jvm/0.5.0/kotlinx-io-core-jvm-0.5.0.jar" - }, - { - "url": "org/jetbrains/kotlinx/kotlinx-io-bytestring-jvm/0.5.0/kotlinx-io-bytestring-jvm-0.5.0.jar", - "hash": "9b462754c2a574cb7720b16ef1129e6ea76d360d7c84c58684fcab77b17f844d", - "path": "org/jetbrains/kotlinx/kotlinx-io-bytestring-jvm/0.5.0/kotlinx-io-bytestring-jvm-0.5.0.jar" - }, { "url": "org/codehaus/plexus/plexus-utils/3.5.1/plexus-utils-3.5.1.jar", "hash": "86e0255d4c879c61b4833ed7f13124e8bb679df47debb127326e7db7dd49a07b", @@ -2255,9 +2460,9 @@ "path": "com/google/protobuf/protobuf-java/3.24.4-jb.2/protobuf-java-3.24.4-jb.2.jar" }, { - "url": "org/bidib/com/github/markusbernhardt/proxy-vole/1.1.5/proxy-vole-1.1.5.jar", - "hash": "15afa73395b3136ab9067b55d644e8ead65d374e0f2ae2db91299c0b07866bd9", - "path": "org/bidib/com/github/markusbernhardt/proxy-vole/1.1.5/proxy-vole-1.1.5.jar" + "url": "org/bidib/com/github/markusbernhardt/proxy-vole/1.1.6/proxy-vole-1.1.6.jar", + "hash": "4b9fb2e5a13b37cf8bd62eebada8d3485c3dc17df752783b68d89d657bcc01fd", + "path": "org/bidib/com/github/markusbernhardt/proxy-vole/1.1.6/proxy-vole-1.1.6.jar" }, { "url": "org/javadelight/delight-rhino-sandbox/0.0.17/delight-rhino-sandbox-0.0.17.jar", @@ -2270,29 +2475,29 @@ "path": "org/jetbrains/pty4j/pty4j/0.13.1/pty4j-0.13.1.jar" }, { - "url": "com/jetbrains/rd/rd-core/2024.3.0/rd-core-2024.3.0.jar", - "hash": "7ee412c75510ac57ac92ea1eea1c7681939b3aac66272825d4275097e0873c41", - "path": "com/jetbrains/rd/rd-core/2024.3.0/rd-core-2024.3.0.jar" + "url": "com/jetbrains/rd/rd-core/2025.1.1/rd-core-2025.1.1.jar", + "hash": "fd55d05786bb6cdef140ae931bde12c53c76fa75ea9cde7e7553c2eea520e251", + "path": "com/jetbrains/rd/rd-core/2025.1.1/rd-core-2025.1.1.jar" }, { - "url": "com/jetbrains/rd/rd-framework/2024.3.0/rd-framework-2024.3.0.jar", - "hash": "4363414ada6fd4c012016a59bfc7955d9eab6f4763d016617b834b94570c9a28", - "path": "com/jetbrains/rd/rd-framework/2024.3.0/rd-framework-2024.3.0.jar" + "url": "com/jetbrains/rd/rd-framework/2025.1.1/rd-framework-2025.1.1.jar", + "hash": "bda87e5727c89c84558e6274d6ba9f4aef5c7e5b367cfc8e1948ad2aa116e55b", + "path": "com/jetbrains/rd/rd-framework/2025.1.1/rd-framework-2025.1.1.jar" }, { - "url": "com/jetbrains/rd/rd-gen/2024.3.0/rd-gen-2024.3.0.jar", - "hash": "c40f57851c4db7ec1113956756195ad7f21b82da5b9b31201c42e22ac41ea1fc", - "path": "com/jetbrains/rd/rd-gen/2024.3.0/rd-gen-2024.3.0.jar" + "url": "com/jetbrains/rd/rd-gen/2025.1.1/rd-gen-2025.1.1.jar", + "hash": "ac27be39dc003b2e820be90f1615e2afe01ed885da7d67cf8e2b4cec86b089ae", + "path": "com/jetbrains/rd/rd-gen/2025.1.1/rd-gen-2025.1.1.jar" }, { - "url": "com/jetbrains/rd/rd-swing/2024.3.0/rd-swing-2024.3.0.jar", - "hash": "43410d08767fee20d98af74bf1317fdd85692207cee0f4fe99d86a86ddd0c60a", - "path": "com/jetbrains/rd/rd-swing/2024.3.0/rd-swing-2024.3.0.jar" + "url": "com/jetbrains/rd/rd-swing/2025.1.1/rd-swing-2025.1.1.jar", + "hash": "2f6ff47219254512cd7c4b5889678f702f71abee8a4315d8b1fcb5ca1c2a8a4e", + "path": "com/jetbrains/rd/rd-swing/2025.1.1/rd-swing-2025.1.1.jar" }, { - "url": "com/jetbrains/rd/rd-text/2024.3.0/rd-text-2024.3.0.jar", - "hash": "7bd9c61581250ea5bc981e84f5c33da79fe13581dc34df2555270ccfc470d987", - "path": "com/jetbrains/rd/rd-text/2024.3.0/rd-text-2024.3.0.jar" + "url": "com/jetbrains/rd/rd-text/2025.1.1/rd-text-2025.1.1.jar", + "hash": "87f3de641877980b21985dca5df46dc937e4cd1c7ed567ed3e8366f0e8188e91", + "path": "com/jetbrains/rd/rd-text/2025.1.1/rd-text-2025.1.1.jar" }, { "url": "org/mozilla/rhino-runtime/1.7.15/rhino-runtime-1.7.15.jar", @@ -2300,14 +2505,14 @@ "path": "org/mozilla/rhino-runtime/1.7.15/rhino-runtime-1.7.15.jar" }, { - "url": "jetbrains/fleet/rhizomedb-compiler-plugin/2.0.21-RC-0.1/rhizomedb-compiler-plugin-2.0.21-RC-0.1.jar", - "hash": "c03deb4c62ee66d6154d872959b2e0b32296ab284a50eb68e46fbded5a04f665", - "path": "jetbrains/fleet/rhizomedb-compiler-plugin/2.0.21-RC-0.1/rhizomedb-compiler-plugin-2.0.21-RC-0.1.jar" + "url": "jetbrains/fleet/rhizomedb-compiler-plugin/2.1.10-0.1/rhizomedb-compiler-plugin-2.1.10-0.1.jar", + "hash": "274000194023322bf6b1377e2d01d3af8abd181cd2d5ecebe6f2bcc1cad83a7a", + "path": "jetbrains/fleet/rhizomedb-compiler-plugin/2.1.10-0.1/rhizomedb-compiler-plugin-2.1.10-0.1.jar" }, { - "url": "com/jetbrains/fleet/rpc-compiler-plugin/2.0.21-RC-0.1/rpc-compiler-plugin-2.0.21-RC-0.1.jar", - "hash": "5eba3332e83bd037ed2b0818c48bfc4536bf5de38c3cd67078d8b4621445d939", - "path": "com/jetbrains/fleet/rpc-compiler-plugin/2.0.21-RC-0.1/rpc-compiler-plugin-2.0.21-RC-0.1.jar" + "url": "com/jetbrains/fleet/rpc-compiler-plugin/2.1.10-0.1/rpc-compiler-plugin-2.1.10-0.1.jar", + "hash": "35dfa35e72724fdad2adeb5b1c1bf3e5d6ac196274e804eed765465a4f9f9853", + "path": "com/jetbrains/fleet/rpc-compiler-plugin/2.1.10-0.1/rpc-compiler-plugin-2.1.10-0.1.jar" }, { "url": "org/slf4j/slf4j-api/2.0.13/slf4j-api-2.0.13.jar", @@ -2325,14 +2530,14 @@ "path": "org/yaml/snakeyaml/2.3/snakeyaml-2.3.jar" }, { - "url": "org/snakeyaml/snakeyaml-engine/2.7/snakeyaml-engine-2.7.jar", - "hash": "4053f878c171692aab8782f53a3974f43e55e2b6ed12c3682b36a46968c5ded1", - "path": "org/snakeyaml/snakeyaml-engine/2.7/snakeyaml-engine-2.7.jar" + "url": "org/snakeyaml/snakeyaml-engine/2.9/snakeyaml-engine-2.9.jar", + "hash": "2f7a957461b6d70c0005e2c35b78a1c97bef6c446704c0ee9393ce98e4958ba8", + "path": "org/snakeyaml/snakeyaml-engine/2.9/snakeyaml-engine-2.9.jar" }, { - "url": "org/xerial/sqlite-jdbc/3.46.1.0/sqlite-jdbc-3.46.1.0.jar", - "hash": "6dc7464e3803648d3ff18a7359bab6adf079fcd8495b18991f6f5edcb8ac6e3b", - "path": "org/xerial/sqlite-jdbc/3.46.1.0/sqlite-jdbc-3.46.1.0.jar" + "url": "org/xerial/sqlite-jdbc/3.48.0.0/sqlite-jdbc-3.48.0.0.jar", + "hash": "dbe24ab138e9654c918f561299e47cb6a3baf1a946eda97871f6f3abd4eca395", + "path": "org/xerial/sqlite-jdbc/3.48.0.0/sqlite-jdbc-3.48.0.0.jar" }, { "url": "org/sqlite/native/3.42.0-jb.1/native-3.42.0-jb.1.jar", @@ -2340,14 +2545,14 @@ "path": "org/sqlite/native/3.42.0-jb.1/native-3.42.0-jb.1.jar" }, { - "url": "org/jetbrains/intellij/deps/studio-platform/2024.2.2-canary5-202/studio-platform-2024.2.2-canary5-202.jar", - "hash": "e53a880874df8e81512de5697fbfec19ea3d5e2d3646094fd0221f0a04e8f3a9", - "path": "org/jetbrains/intellij/deps/studio-platform/2024.2.2-canary5-202/studio-platform-2024.2.2-canary5-202.jar" + "url": "org/jetbrains/intellij/deps/studio-platform/2024.3.2-alpha05-222/studio-platform-2024.3.2-alpha05-222.jar", + "hash": "29254aa865510979045ee3812c652bdba0bbee01d5ac95bb829ce686fff0dd1b", + "path": "org/jetbrains/intellij/deps/studio-platform/2024.3.2-alpha05-222/studio-platform-2024.3.2-alpha05-222.jar" }, { - "url": "org/jetbrains/intellij/deps/studio-test-platform/2024.2.2-canary5-202/studio-test-platform-2024.2.2-canary5-202.jar", - "hash": "0607a695a007e4c643ed3abc3f47e6d943ddea44e19ddc074c983e5f42aa081b", - "path": "org/jetbrains/intellij/deps/studio-test-platform/2024.2.2-canary5-202/studio-test-platform-2024.2.2-canary5-202.jar" + "url": "org/jetbrains/intellij/deps/studio-test-platform/2024.3.2-alpha05-222/studio-test-platform-2024.3.2-alpha05-222.jar", + "hash": "9c1322c7186947c8b78af455c4430abf9ca275c83b800e7189a8f0ca44a00fea", + "path": "org/jetbrains/intellij/deps/studio-test-platform/2024.3.2-alpha05-222/studio-test-platform-2024.3.2-alpha05-222.jar" }, { "url": "org/swinglabs/swingx-core/1.6.2-2/swingx-core-1.6.2-2.jar", @@ -2365,9 +2570,9 @@ "path": "org/jetbrains/testDiscovery/test-discovery-plugin-base/0.1.191/test-discovery-plugin-base-0.1.191.jar" }, { - "url": "org/testcontainers/testcontainers/1.17.3/testcontainers-1.17.3.jar", - "hash": "b87e3bd3d005683ca5dcac70f431b633e407d8f63e3754a867112c631dcf683e", - "path": "org/testcontainers/testcontainers/1.17.3/testcontainers-1.17.3.jar" + "url": "org/testcontainers/testcontainers/1.20.3/testcontainers-1.20.3.jar", + "hash": "e1d89a13d93337e1b14000d6c7c3e8e047fe244db63231134e52fbc1c0ffc5f7", + "path": "org/testcontainers/testcontainers/1.20.3/testcontainers-1.20.3.jar" }, { "url": "org/rnorth/duct-tape/duct-tape/1.0.8/duct-tape-1.0.8.jar", @@ -2375,19 +2580,24 @@ "path": "org/rnorth/duct-tape/duct-tape/1.0.8/duct-tape-1.0.8.jar" }, { - "url": "com/github/docker-java/docker-java-api/3.2.13/docker-java-api-3.2.13.jar", - "hash": "f810d8c76637991990d17282be226feb7c8d74056147dc79f0d9d2a6e201aecc", - "path": "com/github/docker-java/docker-java-api/3.2.13/docker-java-api-3.2.13.jar" + "url": "com/github/docker-java/docker-java-api/3.4.0/docker-java-api-3.4.0.jar", + "hash": "ad8e9f748380985e0b702bfb2356749a0966afa28a7d637aa3211217ae6a6f2e", + "path": "com/github/docker-java/docker-java-api/3.4.0/docker-java-api-3.4.0.jar" }, { - "url": "com/github/docker-java/docker-java-transport-zerodep/3.2.13/docker-java-transport-zerodep-3.2.13.jar", - "hash": "3f76f8eb0332607c145d69f27ad8aa6941b5448e745823641d3867ba3746f0f7", - "path": "com/github/docker-java/docker-java-transport-zerodep/3.2.13/docker-java-transport-zerodep-3.2.13.jar" + "url": "com/github/docker-java/docker-java-transport-zerodep/3.4.0/docker-java-transport-zerodep-3.4.0.jar", + "hash": "aac3ba9ed78c73961d13d7b7dac51ba51fe9089629efd4f77ffa4e6e8c6e4048", + "path": "com/github/docker-java/docker-java-transport-zerodep/3.4.0/docker-java-transport-zerodep-3.4.0.jar" }, { - "url": "com/github/docker-java/docker-java-transport/3.2.13/docker-java-transport-3.2.13.jar", - "hash": "778c35c0557cd3ba4f1c9f64fb942f77ca7e390c5daae4471854150f4ee8d87d", - "path": "com/github/docker-java/docker-java-transport/3.2.13/docker-java-transport-3.2.13.jar" + "url": "com/github/docker-java/docker-java-transport/3.4.0/docker-java-transport-3.4.0.jar", + "hash": "a1a8ce872dbf92423a948443b88b9417283ead5d56cb5ed77803353658b97b34", + "path": "com/github/docker-java/docker-java-transport/3.4.0/docker-java-transport-3.4.0.jar" + }, + { + "url": "org/testcontainers/junit-jupiter/1.20.3/junit-jupiter-1.20.3.jar", + "hash": "3b0f0422993e571f3460d8436a0e56538bd474147084a6cbb244a6d5cb1a01a5", + "path": "org/testcontainers/junit-jupiter/1.20.3/junit-jupiter-1.20.3.jar" }, { "url": "com/jetbrains/intellij/documentation/tips-pycharm-community/241.74/tips-pycharm-community-241.74.jar", @@ -2404,6 +2614,16 @@ "hash": "61ba4dc49adca95243beaa0569adc2a23aedb5292ae78aa01186fa782ebdc5c2", "path": "com/googlecode/java-diff-utils/diffutils/1.3.0/diffutils-1.3.0.jar" }, + { + "url": "org/apache/tuweni/tuweni-toml/2.0.0/tuweni-toml-2.0.0.jar", + "hash": "b7331e02e955b6b962a8fa89eb8d7db0960d0b232880bfc60e8602fb3fed36ad", + "path": "org/apache/tuweni/tuweni-toml/2.0.0/tuweni-toml-2.0.0.jar" + }, + { + "url": "org/antlr/antlr4-runtime/4.7.1/antlr4-runtime-4.7.1.jar", + "hash": "43516d19beae35909e04d06af6c0c58c17bc94e0070c85e8dc9929ca640dc91d", + "path": "org/antlr/antlr4-runtime/4.7.1/antlr4-runtime-4.7.1.jar" + }, { "url": "io/vavr/vavr/0.10.4/vavr-0.10.4.jar", "hash": "12622deeea2618b59b284051a9484f1def8ccbebc847c350358f12d325ba9dd5", @@ -2440,9 +2660,9 @@ "path": "org/jetbrains/marketplace-zip-signer/0.1.24/marketplace-zip-signer-0.1.24.jar" }, { - "url": "com/github/luben/zstd-jni/1.5.6-5/zstd-jni-1.5.6-5.jar", - "hash": "7b53497a2731b1a47c7dcb42ac7ded60524a15353d1b99999a8bb192d1da89ab", - "path": "com/github/luben/zstd-jni/1.5.6-5/zstd-jni-1.5.6-5.jar" + "url": "com/github/luben/zstd-jni/1.5.6-9/zstd-jni-1.5.6-9.jar", + "hash": "e122143e2abb041b6384e43c9a79980fe3d2ff3d9610ea20b29231ea518772b2", + "path": "com/github/luben/zstd-jni/1.5.6-9/zstd-jni-1.5.6-9.jar" }, { "url": "com/google/zxing/core/3.5.1/core-3.5.1.jar", @@ -2479,6 +2699,21 @@ "hash": "2f43eea679ea66f14ca0f13fec2a8600ac124f5a5231dcb4df8393eddcb97550", "path": "org/apache/logging/log4j/log4j-api/2.20.0/log4j-api-2.20.0.jar" }, + { + "url": "com/apollographql/apollo/apollo-ast-jvm/4.0.0/apollo-ast-jvm-4.0.0.jar", + "hash": "1e83e448c104d946a6146c32409275a6ed4259999d469514be4f878a420f0b4f", + "path": "com/apollographql/apollo/apollo-ast-jvm/4.0.0/apollo-ast-jvm-4.0.0.jar" + }, + { + "url": "com/squareup/okio/okio-jvm/3.9.0/okio-jvm-3.9.0.jar", + "hash": "ddc386ff14bd25d5c934167196eaf45b18de4f28e1c55a4db37ae594cbfd37e4", + "path": "com/squareup/okio/okio-jvm/3.9.0/okio-jvm-3.9.0.jar" + }, + { + "url": "com/apollographql/apollo/apollo-annotations-jvm/4.0.0/apollo-annotations-jvm-4.0.0.jar", + "hash": "ade351bed9f7b5c0c321429187229be7814ade496004dab10c389c4cd1930db9", + "path": "com/apollographql/apollo/apollo-annotations-jvm/4.0.0/apollo-annotations-jvm-4.0.0.jar" + }, { "url": "org/jetbrains/intellij/deps/changeReminder/prediction/randomForestRegressor/0.0.11/randomForestRegressor-0.0.11.jar", "hash": "a6908f14a17757a20a0d629c5d2f0986826021c679bfb224963ef6a06097aa21", @@ -2540,59 +2775,59 @@ "path": "org/jetbrains/intellij/deps/completion/completion-log-events/0.0.3/completion-log-events-0.0.3.jar" }, { - "url": "ai/grazie/nlp/nlp-detect-jvm/0.3.133/nlp-detect-jvm-0.3.133.jar", - "hash": "24c494d1cb209ebbf2dd6fffa7c67499731db59968f28a560bb2938f35bcd22f", - "path": "ai/grazie/nlp/nlp-detect-jvm/0.3.133/nlp-detect-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-detect-jvm/0.4.16/nlp-detect-jvm-0.4.16.jar", + "hash": "5f28a3687f814c10cef0e3a733295ba26732d06242bad4f5e991c802c30169f7", + "path": "ai/grazie/nlp/nlp-detect-jvm/0.4.16/nlp-detect-jvm-0.4.16.jar" }, { - "url": "ai/grazie/utils/utils-common-jvm/0.3.133/utils-common-jvm-0.3.133.jar", - "hash": "c543a072a0f4d96c3afa37756f694be4a9348777fd7690ab4bd21e7df466a309", - "path": "ai/grazie/utils/utils-common-jvm/0.3.133/utils-common-jvm-0.3.133.jar" + "url": "ai/grazie/utils/utils-common-jvm/0.4.16/utils-common-jvm-0.4.16.jar", + "hash": "1721b8bb4a7dbcbc34da8cec18100f03b72c8c06d4e945622c1a24b720981b73", + "path": "ai/grazie/utils/utils-common-jvm/0.4.16/utils-common-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-common-jvm/0.3.133/nlp-common-jvm-0.3.133.jar", - "hash": "985c391e50c040cfb4f0e9f2bd297f1333343392e894ad4c3cc52846f8693e6b", - "path": "ai/grazie/nlp/nlp-common-jvm/0.3.133/nlp-common-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-common-jvm/0.4.16/nlp-common-jvm-0.4.16.jar", + "hash": "d1c17c4dbb3f5f43b6e3cfc30a319d1a050aa5425ab0ce27b802b90f114a649e", + "path": "ai/grazie/nlp/nlp-common-jvm/0.4.16/nlp-common-jvm-0.4.16.jar" }, { - "url": "ai/grazie/model/model-text-jvm/0.3.133/model-text-jvm-0.3.133.jar", - "hash": "dfd010d8b4d0522121fef66652cae5c73f0dfde77cc79cf1c73067a7e63e8cf2", - "path": "ai/grazie/model/model-text-jvm/0.3.133/model-text-jvm-0.3.133.jar" + "url": "ai/grazie/model/model-text-jvm/0.4.16/model-text-jvm-0.4.16.jar", + "hash": "fac290bca4ef5ac2084e35dcb1663d5725de799d51333359931f542690672d7b", + "path": "ai/grazie/model/model-text-jvm/0.4.16/model-text-jvm-0.4.16.jar" }, { - "url": "ai/grazie/model/model-common-jvm/0.3.133/model-common-jvm-0.3.133.jar", - "hash": "8fb936cb7c83862210841d81a870a9ea6677a0122ff0c7c8c055705c3945100a", - "path": "ai/grazie/model/model-common-jvm/0.3.133/model-common-jvm-0.3.133.jar" + "url": "ai/grazie/model/model-common-jvm/0.4.16/model-common-jvm-0.4.16.jar", + "hash": "58339397d3350db6c549a5ebee98b9611693c187fa2311b18aa849e27067c438", + "path": "ai/grazie/model/model-common-jvm/0.4.16/model-common-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-patterns-jvm/0.3.133/nlp-patterns-jvm-0.3.133.jar", - "hash": "739fa806547fa71a3c36ae65128308138617d19b699db272bd9cfcede754cc50", - "path": "ai/grazie/nlp/nlp-patterns-jvm/0.3.133/nlp-patterns-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-patterns-jvm/0.4.16/nlp-patterns-jvm-0.4.16.jar", + "hash": "add762a914bd20ca21ea25b43f24627f902b687514ddce9ba28916bb20e8066e", + "path": "ai/grazie/nlp/nlp-patterns-jvm/0.4.16/nlp-patterns-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-tokenizer-jvm/0.3.133/nlp-tokenizer-jvm-0.3.133.jar", - "hash": "3c3b9b40dc65a8542edcf5f919cc700536829d0c2b9f9eb23e8c89e2d7c437d9", - "path": "ai/grazie/nlp/nlp-tokenizer-jvm/0.3.133/nlp-tokenizer-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-tokenizer-jvm/0.4.16/nlp-tokenizer-jvm-0.4.16.jar", + "hash": "fcc839a317aba9e165c4d061e0f266dcebf32c7ceee9cb5571144cd1db60d63d", + "path": "ai/grazie/nlp/nlp-tokenizer-jvm/0.4.16/nlp-tokenizer-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-similarity-jvm/0.3.133/nlp-similarity-jvm-0.3.133.jar", - "hash": "1071e4c47a14f1df6d3ecaf0c5d3c2272fe9c691e350e5cd442385f7a5f8256c", - "path": "ai/grazie/nlp/nlp-similarity-jvm/0.3.133/nlp-similarity-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-similarity-jvm/0.4.16/nlp-similarity-jvm-0.4.16.jar", + "hash": "79a42758913de07c1ebeb851a4a70236309ea12dcb64d1db7ea007618593470f", + "path": "ai/grazie/nlp/nlp-similarity-jvm/0.4.16/nlp-similarity-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-langs-jvm/0.3.133/nlp-langs-jvm-0.3.133.jar", - "hash": "270164fec0acafa1a38795d66229b7099776879bb4eb659fe01c505eb2659f5c", - "path": "ai/grazie/nlp/nlp-langs-jvm/0.3.133/nlp-langs-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-langs-jvm/0.4.16/nlp-langs-jvm-0.4.16.jar", + "hash": "dd132003dfc893e046834ec15ec5104f067d7a90eb9786e85f49b4e47bac4561", + "path": "ai/grazie/nlp/nlp-langs-jvm/0.4.16/nlp-langs-jvm-0.4.16.jar" }, { - "url": "ai/grazie/spell/hunspell-en-jvm/0.2.141/hunspell-en-jvm-0.2.141.jar", - "hash": "0ffeaeb975d46daee23845a9e146bf8c2155da56e90fce2037ba774c17703374", - "path": "ai/grazie/spell/hunspell-en-jvm/0.2.141/hunspell-en-jvm-0.2.141.jar" + "url": "ai/grazie/spell/hunspell-en-jvm/0.2.246/hunspell-en-jvm-0.2.246.jar", + "hash": "b76f2c0952ed3b7cde6362e2104986572f05d5fa35840473973d81e41b842f4a", + "path": "ai/grazie/spell/hunspell-en-jvm/0.2.246/hunspell-en-jvm-0.2.246.jar" }, { - "url": "ai/grazie/utils/utils-lucene-lt-compatibility/0.3.133/utils-lucene-lt-compatibility-0.3.133.jar", - "hash": "d42719647748cf655f126ddad767ef62804079fe9b52d81ced30a7b7bd4ca780", - "path": "ai/grazie/utils/utils-lucene-lt-compatibility/0.3.133/utils-lucene-lt-compatibility-0.3.133.jar" + "url": "ai/grazie/utils/utils-lucene-lt-compatibility/0.4.16/utils-lucene-lt-compatibility-0.4.16.jar", + "hash": "c9f992502b804b28381d5b194f855280e69b8866c292a1449589ad389f1c05a9", + "path": "ai/grazie/utils/utils-lucene-lt-compatibility/0.4.16/utils-lucene-lt-compatibility-0.4.16.jar" }, { "url": "info/debatty/java-string-similarity/2.0.0/java-string-similarity-2.0.0.jar", @@ -2600,9 +2835,14 @@ "path": "info/debatty/java-string-similarity/2.0.0/java-string-similarity-2.0.0.jar" }, { - "url": "org/eclipse/jgit/org.eclipse.jgit.ssh.jsch/6.5.0.202303070854-r/org.eclipse.jgit.ssh.jsch-6.5.0.202303070854-r.jar", - "hash": "8ab7b5fefc2a42c5156c678148f415ce35ae8d93a8e3127b5426241e965606f6", - "path": "org/eclipse/jgit/org.eclipse.jgit.ssh.jsch/6.5.0.202303070854-r/org.eclipse.jgit.ssh.jsch-6.5.0.202303070854-r.jar" + "url": "org/eclipse/jgit/org.eclipse.jgit.ssh.apache.agent/6.6.1.202309021850-r/org.eclipse.jgit.ssh.apache.agent-6.6.1.202309021850-r.jar", + "hash": "4ddd0cf1a7ece350b33f0a6b865e8fb777c30a2282a0fbd1754020a4e06af481", + "path": "org/eclipse/jgit/org.eclipse.jgit.ssh.apache.agent/6.6.1.202309021850-r/org.eclipse.jgit.ssh.apache.agent-6.6.1.202309021850-r.jar" + }, + { + "url": "org/eclipse/jgit/org.eclipse.jgit.ssh.apache/6.6.1.202309021850-r/org.eclipse.jgit.ssh.apache-6.6.1.202309021850-r.jar", + "hash": "cc379265edb2b74850156c16fefd7990281bf47e33fe7665e838f8b5fdb94755", + "path": "org/eclipse/jgit/org.eclipse.jgit.ssh.apache/6.6.1.202309021850-r/org.eclipse.jgit.ssh.apache-6.6.1.202309021850-r.jar" }, { "url": "org/jetbrains/intellij/deps/searchEverywhere/model/find-action-model/231.0.0/find-action-model-231.0.0.jar", @@ -2640,24 +2880,29 @@ "path": "org/jetbrains/intellij/deps/searchEverywhere/model/find-all-model/232.1.1/find-all-model-232.1.1.jar" }, { - "url": "ai/grazie/model/model-emb-jvm/0.3.133/model-emb-jvm-0.3.133.jar", - "hash": "e9d275753050bea00184ca43b96ab8f13a38bc4db2d9184fe9c7815891d5084b", - "path": "ai/grazie/model/model-emb-jvm/0.3.133/model-emb-jvm-0.3.133.jar" + "url": "org/jetbrains/intellij/deps/searchEverywhere/model/find-ec-model/251.0.1/find-ec-model-251.0.1.jar", + "hash": "ae63199745e718694979c467993df0e6170d5fedda3a38916b1d009436bf0c3c", + "path": "org/jetbrains/intellij/deps/searchEverywhere/model/find-ec-model/251.0.1/find-ec-model-251.0.1.jar" }, { - "url": "ai/grazie/model/model-text-jvm/0.3.133/model-text-jvm-0.3.133.jar", - "hash": "dfd010d8b4d0522121fef66652cae5c73f0dfde77cc79cf1c73067a7e63e8cf2", - "path": "ai/grazie/model/model-text-jvm/0.3.133/model-text-jvm-0.3.133.jar" + "url": "ai/grazie/model/model-emb-jvm/0.4.16/model-emb-jvm-0.4.16.jar", + "hash": "41a39ea18d934827d293a918e144042ae65c0974892c0330add0a52c366c2709", + "path": "ai/grazie/model/model-emb-jvm/0.4.16/model-emb-jvm-0.4.16.jar" }, { - "url": "ai/grazie/model/model-common-jvm/0.3.133/model-common-jvm-0.3.133.jar", - "hash": "8fb936cb7c83862210841d81a870a9ea6677a0122ff0c7c8c055705c3945100a", - "path": "ai/grazie/model/model-common-jvm/0.3.133/model-common-jvm-0.3.133.jar" + "url": "ai/grazie/model/model-text-jvm/0.4.16/model-text-jvm-0.4.16.jar", + "hash": "fac290bca4ef5ac2084e35dcb1663d5725de799d51333359931f542690672d7b", + "path": "ai/grazie/model/model-text-jvm/0.4.16/model-text-jvm-0.4.16.jar" }, { - "url": "ai/grazie/utils/utils-common-jvm/0.3.133/utils-common-jvm-0.3.133.jar", - "hash": "c543a072a0f4d96c3afa37756f694be4a9348777fd7690ab4bd21e7df466a309", - "path": "ai/grazie/utils/utils-common-jvm/0.3.133/utils-common-jvm-0.3.133.jar" + "url": "ai/grazie/model/model-common-jvm/0.4.16/model-common-jvm-0.4.16.jar", + "hash": "58339397d3350db6c549a5ebee98b9611693c187fa2311b18aa849e27067c438", + "path": "ai/grazie/model/model-common-jvm/0.4.16/model-common-jvm-0.4.16.jar" + }, + { + "url": "ai/grazie/utils/utils-common-jvm/0.4.16/utils-common-jvm-0.4.16.jar", + "hash": "1721b8bb4a7dbcbc34da8cec18100f03b72c8c06d4e945622c1a24b720981b73", + "path": "ai/grazie/utils/utils-common-jvm/0.4.16/utils-common-jvm-0.4.16.jar" }, { "url": "isorelax/isorelax/20030108/isorelax-20030108.jar", @@ -2674,16 +2919,6 @@ "hash": "8924b199c8cc52530de2b250670806d8b046fa5ae9d32a9f27a9b224e934a1ad", "path": "completion/ml/python/features/ml-completion-prev-exprs-models/1.11/ml-completion-prev-exprs-models-1.11.jar" }, - { - "url": "org/apache/tuweni/tuweni-toml/2.0.0/tuweni-toml-2.0.0.jar", - "hash": "b7331e02e955b6b962a8fa89eb8d7db0960d0b232880bfc60e8602fb3fed36ad", - "path": "org/apache/tuweni/tuweni-toml/2.0.0/tuweni-toml-2.0.0.jar" - }, - { - "url": "org/antlr/antlr4-runtime/4.7.1/antlr4-runtime-4.7.1.jar", - "hash": "43516d19beae35909e04d06af6c0c58c17bc94e0070c85e8dc9929ca640dc91d", - "path": "org/antlr/antlr4-runtime/4.7.1/antlr4-runtime-4.7.1.jar" - }, { "url": "org/jetbrains/intellij/deps/completion/completion-ranking-python-with-full-line/0.2.1/completion-ranking-python-with-full-line-0.2.1.jar", "hash": "141df5d2e70b27911bb5b601e1574623dc43b31bc6b4160f164ddd6f2ca27e6f", @@ -2810,9 +3045,9 @@ "path": "com/squareup/okhttp3/mockwebserver3/5.0.0-alpha.11/mockwebserver3-5.0.0-alpha.11.jar" }, { - "url": "org/jetbrains/kotlinx/kotlinx-serialization-cbor-jvm/1.6.2/kotlinx-serialization-cbor-jvm-1.6.2.jar", - "hash": "5e405251ecdca6badb483c94ce22709489fe8a97a4d4ddca5cd43af8449e439f", - "path": "org/jetbrains/kotlinx/kotlinx-serialization-cbor-jvm/1.6.2/kotlinx-serialization-cbor-jvm-1.6.2.jar" + "url": "org/jetbrains/kotlinx/kotlinx-serialization-cbor-jvm/1.7.3/kotlinx-serialization-cbor-jvm-1.7.3.jar", + "hash": "ec45d74e2293eacbc1f804f3ec55d4908f9905ac5053316b565f1b66326f1f70", + "path": "org/jetbrains/kotlinx/kotlinx-serialization-cbor-jvm/1.7.3/kotlinx-serialization-cbor-jvm-1.7.3.jar" }, { "url": "com/fasterxml/jackson/dataformat/jackson-dataformat-cbor/2.16.0/jackson-dataformat-cbor-2.16.0.jar", @@ -2820,9 +3055,9 @@ "path": "com/fasterxml/jackson/dataformat/jackson-dataformat-cbor/2.16.0/jackson-dataformat-cbor-2.16.0.jar" }, { - "url": "net/jqwik/jqwik/1.9.0/jqwik-1.9.0.jar", - "hash": "bcbbc834752835d9c534647f925756de2cd6f51a1e94fcf6162fd55f3fc2c706", - "path": "net/jqwik/jqwik/1.9.0/jqwik-1.9.0.jar" + "url": "net/jqwik/jqwik/1.9.2/jqwik-1.9.2.jar", + "hash": "92c164d7c9d77b3883f3dd43cec9301603847c30c2e247782dc67fb86a4d8e36", + "path": "net/jqwik/jqwik/1.9.2/jqwik-1.9.2.jar" }, { "url": "org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar", @@ -2830,29 +3065,244 @@ "path": "org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar" }, { - "url": "net/jqwik/jqwik-api/1.9.0/jqwik-api-1.9.0.jar", - "hash": "1ebd46a1df6575c3d46ba263a6575c88fe654f164f9e3d1f7fbc05fdc9dc726c", - "path": "net/jqwik/jqwik-api/1.9.0/jqwik-api-1.9.0.jar" + "url": "net/jqwik/jqwik-api/1.9.2/jqwik-api-1.9.2.jar", + "hash": "60244aefd583d349cb26e81f5cc3ef9f66d309d49b6534ab7c9b63be38954054", + "path": "net/jqwik/jqwik-api/1.9.2/jqwik-api-1.9.2.jar" }, { - "url": "net/jqwik/jqwik-web/1.9.0/jqwik-web-1.9.0.jar", - "hash": "67030794b96c3e854795c6e709b1e9adc54df93474cb8e8380a791d58db2560e", - "path": "net/jqwik/jqwik-web/1.9.0/jqwik-web-1.9.0.jar" + "url": "net/jqwik/jqwik-web/1.9.2/jqwik-web-1.9.2.jar", + "hash": "4f5006f8dd93a13ca59ef92d5476b9aca1c479c0b6d0beb7c3e64970f6b7e632", + "path": "net/jqwik/jqwik-web/1.9.2/jqwik-web-1.9.2.jar" }, { - "url": "net/jqwik/jqwik-time/1.9.0/jqwik-time-1.9.0.jar", - "hash": "4258ec1239879e520ac6df63de21b821691cf57479a14700c6ab8bd98cba1fa5", - "path": "net/jqwik/jqwik-time/1.9.0/jqwik-time-1.9.0.jar" + "url": "net/jqwik/jqwik-time/1.9.2/jqwik-time-1.9.2.jar", + "hash": "3d5f67f87a7b305601a8aef6ec400df3ad400123af4e8459acf663126b08e05d", + "path": "net/jqwik/jqwik-time/1.9.2/jqwik-time-1.9.2.jar" }, { - "url": "net/jqwik/jqwik-engine/1.9.0/jqwik-engine-1.9.0.jar", - "hash": "6eb6ffbfcf81f5eef65cffdd41186f961f1a0fcb3c44f17e4c09d5d3aa773b2c", - "path": "net/jqwik/jqwik-engine/1.9.0/jqwik-engine-1.9.0.jar" + "url": "net/jqwik/jqwik-engine/1.9.2/jqwik-engine-1.9.2.jar", + "hash": "623d105e90cd94b688baaa527bd0c4e284001c07c1f53e3b9a2db179ea57a70a", + "path": "net/jqwik/jqwik-engine/1.9.2/jqwik-engine-1.9.2.jar" }, { - "url": "com/thoughtworks/qdox/qdox/2.0.1/qdox-2.0.1.jar", - "hash": "c28db4602da9f3817a59de9be137c1f6083a9cb95fa1781f54eda75763a95c67", - "path": "com/thoughtworks/qdox/qdox/2.0.1/qdox-2.0.1.jar" + "url": "com/thoughtworks/qdox/qdox/2.2.0/qdox-2.2.0.jar", + "hash": "c260c3230b2340af97d54bf01f7f67ebc57c901922736c881bb11cb981302be2", + "path": "com/thoughtworks/qdox/qdox/2.2.0/qdox-2.2.0.jar" + }, + { + "url": "org/jetbrains/compose/components/components-resources/1.8.0-alpha04/components-resources-1.8.0-alpha04.jar", + "hash": "7bc14c3ea620289907b3bc666999005ceda75c4da407bc8596d0965cf06990fe", + "path": "org/jetbrains/compose/components/components-resources/1.8.0-alpha04/components-resources-1.8.0-alpha04.jar" + }, + { + "url": "org/jetbrains/compose/components/components-resources-desktop/1.8.0-alpha04/components-resources-desktop-1.8.0-alpha04.jar", + "hash": "1b58df32c67ffb4f0f3dbc15fda9b959e2ec3f43e0bc56ddb088be351237b9a0", + "path": "org/jetbrains/compose/components/components-resources-desktop/1.8.0-alpha04/components-resources-desktop-1.8.0-alpha04.jar" + }, + { + "url": "com/darkrockstudios/mpfilepicker/3.1.0/mpfilepicker-3.1.0.jar", + "hash": "93e571b342f2bc87aa192fc7eb6d177ac5075415617824674b0d5fa063840f4e", + "path": "com/darkrockstudios/mpfilepicker/3.1.0/mpfilepicker-3.1.0.jar" + }, + { + "url": "com/darkrockstudios/mpfilepicker-jvm/3.1.0/mpfilepicker-jvm-3.1.0.jar", + "hash": "65bb8c814bc66faf28395e7f9d51c74f5cc35d70919c50ea8639388ec46cef2d", + "path": "com/darkrockstudios/mpfilepicker-jvm/3.1.0/mpfilepicker-jvm-3.1.0.jar" + }, + { + "url": "org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1.jar", + "hash": "488f51ed95f0fac48d1d87cb0e3bac08c012dcbf6ef3c1688685d708cdbccd56", + "path": "org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1.jar" + }, + { + "url": "org/nibor/autolink/autolink/0.11.0/autolink-0.11.0.jar", + "hash": "39c6588948ab31b98ab1fea4a6abab37243f387cb48cb50ae599410effb70038", + "path": "org/nibor/autolink/autolink/0.11.0/autolink-0.11.0.jar" + }, + { + "url": "org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1.jar", + "hash": "cf83f90e32fb973ff5edfca4ef35f55ca51bb70a579b6a1f290744f552e8e484", + "path": "org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1.jar" + }, + { + "url": "org/commonmark/commonmark-ext-gfm-tables/0.24.0/commonmark-ext-gfm-tables-0.24.0.jar", + "hash": "b54dc332f931e6d07c2766144c087b08f3693677e368151a67020b4e95bb4b99", + "path": "org/commonmark/commonmark-ext-gfm-tables/0.24.0/commonmark-ext-gfm-tables-0.24.0.jar" + }, + { + "url": "org/commonmark/commonmark-ext-gfm-strikethrough/0.24.0/commonmark-ext-gfm-strikethrough-0.24.0.jar", + "hash": "7385cb637f04dc4cbda4ddca9c2fcd2af7ac536a50e4c8d2c77f4748bb14bf41", + "path": "org/commonmark/commonmark-ext-gfm-strikethrough/0.24.0/commonmark-ext-gfm-strikethrough-0.24.0.jar" + }, + { + "url": "org/commonmark/commonmark-ext-autolink/0.24.0/commonmark-ext-autolink-0.24.0.jar", + "hash": "013ba4f3ba4850a1de35935d1501587c518f764331d279805da33473e79f5f33", + "path": "org/commonmark/commonmark-ext-autolink/0.24.0/commonmark-ext-autolink-0.24.0.jar" + }, + { + "url": "org/commonmark/commonmark/0.24.0/commonmark-0.24.0.jar", + "hash": "679338e0b7fc15c02d275d598654b01a149893bc28a87992e90123c8d06af25b", + "path": "org/commonmark/commonmark/0.24.0/commonmark-0.24.0.jar" + }, + { + "url": "org/nibor/autolink/autolink/0.11.0/autolink-0.11.0.jar", + "hash": "39c6588948ab31b98ab1fea4a6abab37243f387cb48cb50ae599410effb70038", + "path": "org/nibor/autolink/autolink/0.11.0/autolink-0.11.0.jar" + }, + { + "url": "org/commonmark/commonmark/0.24.0/commonmark-0.24.0.jar", + "hash": "679338e0b7fc15c02d275d598654b01a149893bc28a87992e90123c8d06af25b", + "path": "org/commonmark/commonmark/0.24.0/commonmark-0.24.0.jar" + }, + { + "url": "io/gitlab/arturbosch/detekt/detekt-api/1.23.7/detekt-api-1.23.7.jar", + "hash": "93fd0c9cdb22dd97ecfc843d55abfc52c9d9c6a0db32abdf9c85735e1bc8047d", + "path": "io/gitlab/arturbosch/detekt/detekt-api/1.23.7/detekt-api-1.23.7.jar" + }, + { + "url": "org/jetbrains/kotlin/kotlin-compiler-embeddable/2.0.10/kotlin-compiler-embeddable-2.0.10.jar", + "hash": "ea76850ffe3b84c92654a73f8e366964857f7e95687ca158882241cebef591e8", + "path": "org/jetbrains/kotlin/kotlin-compiler-embeddable/2.0.10/kotlin-compiler-embeddable-2.0.10.jar" + }, + { + "url": "org/jetbrains/kotlin/kotlin-script-runtime/2.0.10/kotlin-script-runtime-2.0.10.jar", + "hash": "58f4f7ad99a4a045964b44fe55f0b2604d2c5f51ff4d97c7e6817983fdf92ea7", + "path": "org/jetbrains/kotlin/kotlin-script-runtime/2.0.10/kotlin-script-runtime-2.0.10.jar" + }, + { + "url": "org/jetbrains/kotlin/kotlin-reflect/1.6.10/kotlin-reflect-1.6.10.jar", + "hash": "3277ac102ae17aad10a55abec75ff5696c8d109790396434b496e75087854203", + "path": "org/jetbrains/kotlin/kotlin-reflect/1.6.10/kotlin-reflect-1.6.10.jar" + }, + { + "url": "org/jetbrains/kotlin/kotlin-daemon-embeddable/2.0.10/kotlin-daemon-embeddable-2.0.10.jar", + "hash": "a500d6f7bb2152a8387a9e24b886d0654fdbdb6662ec264c544ce9346f186141", + "path": "org/jetbrains/kotlin/kotlin-daemon-embeddable/2.0.10/kotlin-daemon-embeddable-2.0.10.jar" + }, + { + "url": "org/jetbrains/intellij/deps/trove4j/1.0.20200330/trove4j-1.0.20200330.jar", + "hash": "c5fd725bffab51846bf3c77db1383c60aaaebfe1b7fe2f00d23fe1b7df0a439d", + "path": "org/jetbrains/intellij/deps/trove4j/1.0.20200330/trove4j-1.0.20200330.jar" + }, + { + "url": "io/gitlab/arturbosch/detekt/detekt-psi-utils/1.23.7/detekt-psi-utils-1.23.7.jar", + "hash": "6a054c91da27aac77db3ed509ff9f408c45410e1a5e989dc380aae3c09d7fb6e", + "path": "io/gitlab/arturbosch/detekt/detekt-psi-utils/1.23.7/detekt-psi-utils-1.23.7.jar" + }, + { + "url": "io/gitlab/arturbosch/detekt/detekt-utils/1.23.7/detekt-utils-1.23.7.jar", + "hash": "0b5c211c72f63985a3e2e0f12f9a7733c7b3411b983a1c7f3175f3bd68d72194", + "path": "io/gitlab/arturbosch/detekt/detekt-utils/1.23.7/detekt-utils-1.23.7.jar" + }, + { + "url": "dev/drewhamilton/poko/poko-annotations-jvm/0.16.0/poko-annotations-jvm-0.16.0.jar", + "hash": "940e6d50445bc6b0ae26ad414ec7b953a3e4e802dc7756cc14d56958bc97cc31", + "path": "dev/drewhamilton/poko/poko-annotations-jvm/0.16.0/poko-annotations-jvm-0.16.0.jar" + }, + { + "url": "io/gitlab/arturbosch/detekt/detekt-test/1.23.7/detekt-test-1.23.7.jar", + "hash": "fdceebdaead6217fbe6292c15ac93c7712f460458977201a0bb695ae847e3749", + "path": "io/gitlab/arturbosch/detekt/detekt-test/1.23.7/detekt-test-1.23.7.jar" + }, + { + "url": "io/gitlab/arturbosch/detekt/detekt-api/1.23.7/detekt-api-1.23.7.jar", + "hash": "93fd0c9cdb22dd97ecfc843d55abfc52c9d9c6a0db32abdf9c85735e1bc8047d", + "path": "io/gitlab/arturbosch/detekt/detekt-api/1.23.7/detekt-api-1.23.7.jar" + }, + { + "url": "org/jetbrains/kotlin/kotlin-compiler-embeddable/2.0.10/kotlin-compiler-embeddable-2.0.10.jar", + "hash": "ea76850ffe3b84c92654a73f8e366964857f7e95687ca158882241cebef591e8", + "path": "org/jetbrains/kotlin/kotlin-compiler-embeddable/2.0.10/kotlin-compiler-embeddable-2.0.10.jar" + }, + { + "url": "org/jetbrains/kotlin/kotlin-script-runtime/2.0.10/kotlin-script-runtime-2.0.10.jar", + "hash": "58f4f7ad99a4a045964b44fe55f0b2604d2c5f51ff4d97c7e6817983fdf92ea7", + "path": "org/jetbrains/kotlin/kotlin-script-runtime/2.0.10/kotlin-script-runtime-2.0.10.jar" + }, + { + "url": "org/jetbrains/kotlin/kotlin-daemon-embeddable/2.0.10/kotlin-daemon-embeddable-2.0.10.jar", + "hash": "a500d6f7bb2152a8387a9e24b886d0654fdbdb6662ec264c544ce9346f186141", + "path": "org/jetbrains/kotlin/kotlin-daemon-embeddable/2.0.10/kotlin-daemon-embeddable-2.0.10.jar" + }, + { + "url": "org/jetbrains/intellij/deps/trove4j/1.0.20200330/trove4j-1.0.20200330.jar", + "hash": "c5fd725bffab51846bf3c77db1383c60aaaebfe1b7fe2f00d23fe1b7df0a439d", + "path": "org/jetbrains/intellij/deps/trove4j/1.0.20200330/trove4j-1.0.20200330.jar" + }, + { + "url": "io/gitlab/arturbosch/detekt/detekt-psi-utils/1.23.7/detekt-psi-utils-1.23.7.jar", + "hash": "6a054c91da27aac77db3ed509ff9f408c45410e1a5e989dc380aae3c09d7fb6e", + "path": "io/gitlab/arturbosch/detekt/detekt-psi-utils/1.23.7/detekt-psi-utils-1.23.7.jar" + }, + { + "url": "dev/drewhamilton/poko/poko-annotations-jvm/0.16.0/poko-annotations-jvm-0.16.0.jar", + "hash": "940e6d50445bc6b0ae26ad414ec7b953a3e4e802dc7756cc14d56958bc97cc31", + "path": "dev/drewhamilton/poko/poko-annotations-jvm/0.16.0/poko-annotations-jvm-0.16.0.jar" + }, + { + "url": "io/gitlab/arturbosch/detekt/detekt-test-utils/1.23.7/detekt-test-utils-1.23.7.jar", + "hash": "33d970cc98c59e5d9d0b01ba7b525a76d363443a6a463f8cb869e08677e37ca3", + "path": "io/gitlab/arturbosch/detekt/detekt-test-utils/1.23.7/detekt-test-utils-1.23.7.jar" + }, + { + "url": "org/junit/jupiter/junit-jupiter-api/5.10.2/junit-jupiter-api-5.10.2.jar", + "hash": "afff77c186cd317275803872fa5133aa801fd6ac40bd91c78a6cf8009b4b17cc", + "path": "org/junit/jupiter/junit-jupiter-api/5.10.2/junit-jupiter-api-5.10.2.jar" + }, + { + "url": "org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar", + "hash": "48e2df636cab6563ced64dcdff8abb2355627cb236ef0bf37598682ddf742f1b", + "path": "org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar" + }, + { + "url": "org/junit/platform/junit-platform-commons/1.10.2/junit-platform-commons-1.10.2.jar", + "hash": "b56a5ec000a479df4973b18bba24c98fe0db8faa14c8907d3ef451d8c71fd8ae", + "path": "org/junit/platform/junit-platform-commons/1.10.2/junit-platform-commons-1.10.2.jar" + }, + { + "url": "org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar", + "hash": "b509448ac506d607319f182537f0b35d71007582ec741832a1f111e5b5b70b38", + "path": "org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar" + }, + { + "url": "io/gitlab/arturbosch/detekt/detekt-parser/1.23.7/detekt-parser-1.23.7.jar", + "hash": "e217ab883e2e0f0e8a69b1fce7a131ff93a8bf2e06bd5fd395b38cde6b9c9504", + "path": "io/gitlab/arturbosch/detekt/detekt-parser/1.23.7/detekt-parser-1.23.7.jar" + }, + { + "url": "io/github/davidburstrom/contester/contester-breakpoint/0.2.0/contester-breakpoint-0.2.0.jar", + "hash": "672cbebb5d45a72b35dd81fd6127e187451bb6fb7fba35315bbdf2f57cfce835", + "path": "io/github/davidburstrom/contester/contester-breakpoint/0.2.0/contester-breakpoint-0.2.0.jar" + }, + { + "url": "org/jetbrains/kotlin/kotlin-main-kts/2.0.10/kotlin-main-kts-2.0.10.jar", + "hash": "1ae40572a7b9cc19dde70e88dae3dd7fa9db642578b5fbfaabca4dfc22e76b60", + "path": "org/jetbrains/kotlin/kotlin-main-kts/2.0.10/kotlin-main-kts-2.0.10.jar" + }, + { + "url": "org/jetbrains/kotlin/kotlin-scripting-compiler-embeddable/2.0.10/kotlin-scripting-compiler-embeddable-2.0.10.jar", + "hash": "6c83faccacfc9ed71ade5e5ad1f22202a6b5be37deea10d2bc7df4dc3abdab3a", + "path": "org/jetbrains/kotlin/kotlin-scripting-compiler-embeddable/2.0.10/kotlin-scripting-compiler-embeddable-2.0.10.jar" + }, + { + "url": "org/jetbrains/kotlin/kotlin-scripting-compiler-impl-embeddable/2.0.10/kotlin-scripting-compiler-impl-embeddable-2.0.10.jar", + "hash": "97749ff32fce25ac35b2fd333080d34b6fc4d7a6b6ffb0499ece09ffebd123c8", + "path": "org/jetbrains/kotlin/kotlin-scripting-compiler-impl-embeddable/2.0.10/kotlin-scripting-compiler-impl-embeddable-2.0.10.jar" + }, + { + "url": "org/jetbrains/kotlin/kotlin-scripting-common/2.0.10/kotlin-scripting-common-2.0.10.jar", + "hash": "37d4671e73ca6599f597aba464577ebb3b8771a31ee9d7dcb52d916762d16871", + "path": "org/jetbrains/kotlin/kotlin-scripting-common/2.0.10/kotlin-scripting-common-2.0.10.jar" + }, + { + "url": "org/jetbrains/kotlin/kotlin-scripting-jvm/2.0.10/kotlin-scripting-jvm-2.0.10.jar", + "hash": "5259a5173e2ea1b0256fb5ab994be50c18fdc15ed4f5b62edcf7e2579ecc9a7a", + "path": "org/jetbrains/kotlin/kotlin-scripting-jvm/2.0.10/kotlin-scripting-jvm-2.0.10.jar" + }, + { + "url": "io/gitlab/arturbosch/detekt/detekt-utils/1.23.7/detekt-utils-1.23.7.jar", + "hash": "0b5c211c72f63985a3e2e0f12f9a7733c7b3411b983a1c7f3175f3bd68d72194", + "path": "io/gitlab/arturbosch/detekt/detekt-utils/1.23.7/detekt-utils-1.23.7.jar" }, { "url": "com/pngencoder/pngencoder/0.14.0/pngencoder-0.14.0.jar", @@ -2880,9 +3330,9 @@ "path": "com/github/hypfvieh/dbus-java-core/4.2.1/dbus-java-core-4.2.1.jar" }, { - "url": "org/jetbrains/intellij/deps/intellij-coverage-agent/1.0.763/intellij-coverage-agent-1.0.763.jar", - "hash": "fd05be7d518be8024cb475dd1cb9b12bf11655b0e3f84c87eb9e1c1698ee8548", - "path": "org/jetbrains/intellij/deps/intellij-coverage-agent/1.0.763/intellij-coverage-agent-1.0.763.jar" + "url": "org/jetbrains/intellij/deps/intellij-coverage-agent/1.0.766/intellij-coverage-agent-1.0.766.jar", + "hash": "52f66c83318dcacb879f2a07fe448eccd1313b077809190810c83aa4b875611c", + "path": "org/jetbrains/intellij/deps/intellij-coverage-agent/1.0.766/intellij-coverage-agent-1.0.766.jar" }, { "url": "org/jetbrains/compose/compiler/compiler-hosted/1.5.14/compiler-hosted-1.5.14.jar", @@ -2890,14 +3340,14 @@ "path": "org/jetbrains/compose/compiler/compiler-hosted/1.5.14/compiler-hosted-1.5.14.jar" }, { - "url": "com/guardsquare/proguard-base/7.5.0/proguard-base-7.5.0.jar", - "hash": "04f507bf11e57d798d972b6640cd026302e0b54800cd75813dc4715da66f3ab5", - "path": "com/guardsquare/proguard-base/7.5.0/proguard-base-7.5.0.jar" + "url": "com/guardsquare/proguard-base/7.6.1/proguard-base-7.6.1.jar", + "hash": "c2650e666c3443781dc5e9eaee5de8721593f00be44e9d87cec761406357c770", + "path": "com/guardsquare/proguard-base/7.6.1/proguard-base-7.6.1.jar" }, { - "url": "com/guardsquare/proguard-core/9.1.4/proguard-core-9.1.4.jar", - "hash": "c51bb89ac5668280e3db7e4ab6c16f454ec5132ed356c840a4f930f16ef6ed51", - "path": "com/guardsquare/proguard-core/9.1.4/proguard-core-9.1.4.jar" + "url": "com/guardsquare/proguard-core/9.1.7/proguard-core-9.1.7.jar", + "hash": "db06fa9f6b43bb7d386420f854f41aa55a11023de36bad68e043c3ac3f33b8d5", + "path": "com/guardsquare/proguard-core/9.1.7/proguard-core-9.1.7.jar" }, { "url": "org/jetbrains/kotlin/kotlin-metadata-jvm/2.0.0/kotlin-metadata-jvm-2.0.0.jar", @@ -2905,19 +3355,19 @@ "path": "org/jetbrains/kotlin/kotlin-metadata-jvm/2.0.0/kotlin-metadata-jvm-2.0.0.jar" }, { - "url": "org/jetbrains/annotations/24.0.0/annotations-24.0.0.jar", - "hash": "ff112f54ce874b8ae899cfd68f0315d96c9f406a338b8eca80c76d10e2e5a2f7", - "path": "org/jetbrains/annotations/24.0.0/annotations-24.0.0.jar" + "url": "org/jetbrains/annotations/26.0.1/annotations-26.0.1.jar", + "hash": "2037be378980d3ba9333e97955f3b2cde392aa124d04ca73ce2eee6657199297", + "path": "org/jetbrains/annotations/26.0.1/annotations-26.0.1.jar" }, { - "url": "org/apache/logging/log4j/log4j-api/2.19.0/log4j-api-2.19.0.jar", - "hash": "5ccb24ad9f92e768d0bc456d3061a737951262df803e004d2cad096b75a88d60", - "path": "org/apache/logging/log4j/log4j-api/2.19.0/log4j-api-2.19.0.jar" + "url": "org/apache/logging/log4j/log4j-api/2.24.2/log4j-api-2.24.2.jar", + "hash": "0ca3ecbd4c315bdd5f2ef6af127712df718c78334cce5bf6fb7b4aa17fdab126", + "path": "org/apache/logging/log4j/log4j-api/2.24.2/log4j-api-2.24.2.jar" }, { - "url": "org/apache/logging/log4j/log4j-core/2.19.0/log4j-core-2.19.0.jar", - "hash": "b4a1796fab7bfc36df015c1b4052459147997e8d215a7199d71d05f9e747e4f4", - "path": "org/apache/logging/log4j/log4j-core/2.19.0/log4j-core-2.19.0.jar" + "url": "org/apache/logging/log4j/log4j-core/2.24.2/log4j-core-2.24.2.jar", + "hash": "7a7b90db866c86a1093b3fde758ca28398ebb2a533da0d79a30cc0a78506b9df", + "path": "org/apache/logging/log4j/log4j-core/2.24.2/log4j-core-2.24.2.jar" }, { "url": "org/json/json/20231013/json-20231013.jar", @@ -2930,9 +3380,9 @@ "path": "com/jetbrains/format-ripper/format-ripper/1.1.1/format-ripper-1.1.1.jar" }, { - "url": "org/jetbrains/apple-notary-api-kotlin-client/1.0.5/apple-notary-api-kotlin-client-1.0.5.jar", - "hash": "68d0ecf4537f09f9115b2d68c57664cd1bdcf8ec25937b7280f89eea20c3bf22", - "path": "org/jetbrains/apple-notary-api-kotlin-client/1.0.5/apple-notary-api-kotlin-client-1.0.5.jar" + "url": "org/jetbrains/apple-notary-api-kotlin-client/2.0.1/apple-notary-api-kotlin-client-2.0.1.jar", + "hash": "46aa057f38b1cb2ac89d7e4b6357570b82bfd8e2b4d062ab40b09db3290d1c26", + "path": "org/jetbrains/apple-notary-api-kotlin-client/2.0.1/apple-notary-api-kotlin-client-2.0.1.jar" }, { "url": "com/amazonaws/aws-java-sdk-s3/1.12.431/aws-java-sdk-s3-1.12.431.jar", @@ -2990,44 +3440,149 @@ "path": "io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar" }, { - "url": "org/apache/maven/maven-embedder/4.0.0-beta-4/maven-embedder-4.0.0-beta-4.jar", - "hash": "6d88971a0cf8975a651ca353f0a605f1b82c5393f4b9d4311da9744e7c8fdaab", - "path": "org/apache/maven/maven-embedder/4.0.0-beta-4/maven-embedder-4.0.0-beta-4.jar" + "url": "org/apache/maven/maven-embedder/4.0.0-rc-3/maven-embedder-4.0.0-rc-3.jar", + "hash": "8edfbc2c8889fc79401d3248dc249bc3f8417ed51a8ec7c8beb348e1b273a672", + "path": "org/apache/maven/maven-embedder/4.0.0-rc-3/maven-embedder-4.0.0-rc-3.jar" }, { - "url": "org/apache/maven/maven-settings/4.0.0-beta-4/maven-settings-4.0.0-beta-4.jar", - "hash": "08a5bb3a59660981652e53150bc8a3c895b49c78b183781eba44b411cd5d84e2", - "path": "org/apache/maven/maven-settings/4.0.0-beta-4/maven-settings-4.0.0-beta-4.jar" + "url": "org/apache/maven/maven-api-annotations/4.0.0-rc-3/maven-api-annotations-4.0.0-rc-3.jar", + "hash": "5d3490f72ad3a7e82be88b27629f37c59fd2531bae511c3b13866420d5d862bd", + "path": "org/apache/maven/maven-api-annotations/4.0.0-rc-3/maven-api-annotations-4.0.0-rc-3.jar" }, { - "url": "org/apache/maven/maven-api-settings/4.0.0-beta-4/maven-api-settings-4.0.0-beta-4.jar", - "hash": "e660e8aad8e59a042ea63b08184dac237686e55237d16845f71b547e0bdf6b23", - "path": "org/apache/maven/maven-api-settings/4.0.0-beta-4/maven-api-settings-4.0.0-beta-4.jar" + "url": "org/apache/maven/maven-api-core/4.0.0-rc-3/maven-api-core-4.0.0-rc-3.jar", + "hash": "f5ef65b6b707160439f6e0548d66b74e8ac19686aa741619e3c8e7955bb7a2ba", + "path": "org/apache/maven/maven-api-core/4.0.0-rc-3/maven-api-core-4.0.0-rc-3.jar" }, { - "url": "org/apache/maven/maven-api-xml/4.0.0-beta-4/maven-api-xml-4.0.0-beta-4.jar", - "hash": "eb5124a6451c20f7b00efc4794102bc1a6243422c14510d5943f5dc181b474ae", - "path": "org/apache/maven/maven-api-xml/4.0.0-beta-4/maven-api-xml-4.0.0-beta-4.jar" + "url": "org/apache/maven/maven-api-di/4.0.0-rc-3/maven-api-di-4.0.0-rc-3.jar", + "hash": "a325978f2d9d05756a426fd35ef1180a90fbad1f0477e11bca7dd0dd8f6f754e", + "path": "org/apache/maven/maven-api-di/4.0.0-rc-3/maven-api-di-4.0.0-rc-3.jar" }, { - "url": "org/apache/maven/maven-api-meta/4.0.0-beta-4/maven-api-meta-4.0.0-beta-4.jar", - "hash": "9a73d755a57de09a53626bfcd34ba34d00c74bf73751e8afe93b1698b60adeef", - "path": "org/apache/maven/maven-api-meta/4.0.0-beta-4/maven-api-meta-4.0.0-beta-4.jar" + "url": "org/apache/maven/maven-api-settings/4.0.0-rc-3/maven-api-settings-4.0.0-rc-3.jar", + "hash": "4f5e43e45efd4c92d6cef4f8f64171ac62298b612ea39d086dff82f468f67bfd", + "path": "org/apache/maven/maven-api-settings/4.0.0-rc-3/maven-api-settings-4.0.0-rc-3.jar" }, { - "url": "org/apache/maven/maven-xml-impl/4.0.0-beta-4/maven-xml-impl-4.0.0-beta-4.jar", - "hash": "212c64e4635c281621ed56f180db83a6389dcf3eb602e8fe61821a2efeff6dee", - "path": "org/apache/maven/maven-xml-impl/4.0.0-beta-4/maven-xml-impl-4.0.0-beta-4.jar" + "url": "org/apache/maven/maven-api-toolchain/4.0.0-rc-3/maven-api-toolchain-4.0.0-rc-3.jar", + "hash": "0faebfcd9142c4fadf47a9024ca5bec52a693c298cfdf2e24f3749af163bae09", + "path": "org/apache/maven/maven-api-toolchain/4.0.0-rc-3/maven-api-toolchain-4.0.0-rc-3.jar" }, { - "url": "org/codehaus/plexus/plexus-xml/4.0.4/plexus-xml-4.0.4.jar", - "hash": "069e78b537108dc6124a67073fc998264791f6b6499e955a38e72bb3e4fe1adf", - "path": "org/codehaus/plexus/plexus-xml/4.0.4/plexus-xml-4.0.4.jar" + "url": "org/apache/maven/maven-api-plugin/4.0.0-rc-3/maven-api-plugin-4.0.0-rc-3.jar", + "hash": "841b52f2cecb43a21836d25bf667b9ca40e2e0d4e66980859029c5f2d4e88365", + "path": "org/apache/maven/maven-api-plugin/4.0.0-rc-3/maven-api-plugin-4.0.0-rc-3.jar" }, { - "url": "com/fasterxml/woodstox/woodstox-core/7.0.0/woodstox-core-7.0.0.jar", - "hash": "eeb3853282c24964a93a6eb4c1bbcb60c8d09fd8e0ffc75ab64ad21045a1fa78", - "path": "com/fasterxml/woodstox/woodstox-core/7.0.0/woodstox-core-7.0.0.jar" + "url": "org/apache/maven/maven-api-cli/4.0.0-rc-3/maven-api-cli-4.0.0-rc-3.jar", + "hash": "bdefb5e95b159d4bad4b0755346f6e4ebee9451e9edff3be5d221aaad1637157", + "path": "org/apache/maven/maven-api-cli/4.0.0-rc-3/maven-api-cli-4.0.0-rc-3.jar" + }, + { + "url": "org/apache/maven/maven-api-model/4.0.0-rc-3/maven-api-model-4.0.0-rc-3.jar", + "hash": "7208a02aeca7534e361d5e16aa71fd53cd7bfe8f8acaf51d4610f312794691c8", + "path": "org/apache/maven/maven-api-model/4.0.0-rc-3/maven-api-model-4.0.0-rc-3.jar" + }, + { + "url": "org/apache/maven/maven-api-xml/4.0.0-rc-3/maven-api-xml-4.0.0-rc-3.jar", + "hash": "f3e3b3642373c69d4c7441d40eba0765e1d744e992b62194452f5ea5451dfdba", + "path": "org/apache/maven/maven-api-xml/4.0.0-rc-3/maven-api-xml-4.0.0-rc-3.jar" + }, + { + "url": "org/apache/maven/maven-core/4.0.0-rc-3/maven-core-4.0.0-rc-3.jar", + "hash": "aa6077183921bf068aecba9080622354b7cc660d12f588f554424564b4640041", + "path": "org/apache/maven/maven-core/4.0.0-rc-3/maven-core-4.0.0-rc-3.jar" + }, + { + "url": "org/apache/maven/maven-api-metadata/4.0.0-rc-3/maven-api-metadata-4.0.0-rc-3.jar", + "hash": "dd346dde9f11ea854c2519e40aaaab375559a60a43e3b1e6463b805bb88ce2d9", + "path": "org/apache/maven/maven-api-metadata/4.0.0-rc-3/maven-api-metadata-4.0.0-rc-3.jar" + }, + { + "url": "org/apache/maven/maven-api-spi/4.0.0-rc-3/maven-api-spi-4.0.0-rc-3.jar", + "hash": "69dc1e9ef3865f7c6c09125eb797867aa6e55573e79570519279f2aafa817613", + "path": "org/apache/maven/maven-api-spi/4.0.0-rc-3/maven-api-spi-4.0.0-rc-3.jar" + }, + { + "url": "org/apache/maven/maven-impl/4.0.0-rc-3/maven-impl-4.0.0-rc-3.jar", + "hash": "e54093819207d287e0c2234d0bffd6fd09d12f62a1b6da920a9b285475446d94", + "path": "org/apache/maven/maven-impl/4.0.0-rc-3/maven-impl-4.0.0-rc-3.jar" + }, + { + "url": "org/apache/maven/maven-repository-metadata/4.0.0-rc-3/maven-repository-metadata-4.0.0-rc-3.jar", + "hash": "564b6c79d4a9567d1d86592c915a6d95d48e152e6fec5984467f60e5ff9cd67c", + "path": "org/apache/maven/maven-repository-metadata/4.0.0-rc-3/maven-repository-metadata-4.0.0-rc-3.jar" + }, + { + "url": "org/apache/maven/maven-cli/4.0.0-rc-3/maven-cli-4.0.0-rc-3.jar", + "hash": "fd06199863cb1b9469e1266d1ac8ed7c1595fb742903670e1012f4aed379979f", + "path": "org/apache/maven/maven-cli/4.0.0-rc-3/maven-cli-4.0.0-rc-3.jar" + }, + { + "url": "org/apache/maven/maven-di/4.0.0-rc-3/maven-di-4.0.0-rc-3.jar", + "hash": "21a99039af86d0bdf7564a7c23e4cc686912dfe8ee9db4fa54ad586f4b5330b0", + "path": "org/apache/maven/maven-di/4.0.0-rc-3/maven-di-4.0.0-rc-3.jar" + }, + { + "url": "org/apache/maven/maven-jline/4.0.0-rc-3/maven-jline-4.0.0-rc-3.jar", + "hash": "65530eadac880e73b9a197c20009262e609f60244986dca5c3d60246cca112e3", + "path": "org/apache/maven/maven-jline/4.0.0-rc-3/maven-jline-4.0.0-rc-3.jar" + }, + { + "url": "org/jline/jline-reader/3.29.0/jline-reader-3.29.0.jar", + "hash": "a4cb0a5fde9289f2f1b614e04f94b202f6ff5c9c96476425837b1184c92ef81d", + "path": "org/jline/jline-reader/3.29.0/jline-reader-3.29.0.jar" + }, + { + "url": "org/jline/jline-style/3.29.0/jline-style-3.29.0.jar", + "hash": "2912bb71f9c0eb974529adfb27d9d377c5696b84209199576f73722bb60b4c87", + "path": "org/jline/jline-style/3.29.0/jline-style-3.29.0.jar" + }, + { + "url": "org/jline/jline-builtins/3.29.0/jline-builtins-3.29.0.jar", + "hash": "cce95577dcc70c10b434647361d8ce486264b63ef17936f67be4de72629f1ea7", + "path": "org/jline/jline-builtins/3.29.0/jline-builtins-3.29.0.jar" + }, + { + "url": "org/jline/jline-console/3.29.0/jline-console-3.29.0.jar", + "hash": "12cc156e01914b10cff94dd269bcc990ba9e673106faa9ab8050dacec2af56b0", + "path": "org/jline/jline-console/3.29.0/jline-console-3.29.0.jar" + }, + { + "url": "org/jline/jline-console-ui/3.29.0/jline-console-ui-3.29.0.jar", + "hash": "269271915902489e8a1067052ddd4d172933ec94a42c14832a1e03524222ba60", + "path": "org/jline/jline-console-ui/3.29.0/jline-console-ui-3.29.0.jar" + }, + { + "url": "org/jline/jline-terminal/3.29.0/jline-terminal-3.29.0.jar", + "hash": "fd68a98b32b1132035c62102e5df0b0fdc358e7c87a9f876ce7071450b4d10da", + "path": "org/jline/jline-terminal/3.29.0/jline-terminal-3.29.0.jar" + }, + { + "url": "org/jline/jline-native/3.29.0/jline-native-3.29.0.jar", + "hash": "19cfcc9d3c78a1c6cfe4c6c9599f16a657e4bf8da43940fc4b875373236dc258", + "path": "org/jline/jline-native/3.29.0/jline-native-3.29.0.jar" + }, + { + "url": "org/jline/jline-terminal-jni/3.29.0/jline-terminal-jni-3.29.0.jar", + "hash": "13fef8bcc0e4788c8e192dc76c33758683c6bfdbaef6f67b41445eb8986773ad", + "path": "org/jline/jline-terminal-jni/3.29.0/jline-terminal-jni-3.29.0.jar" + }, + { + "url": "org/apache/maven/maven-logging/4.0.0-rc-3/maven-logging-4.0.0-rc-3.jar", + "hash": "ae036cbf0b3f96b2d6051e9ec4cefcecbd33bf1e9897bc99527d35d4f5bda8ad", + "path": "org/apache/maven/maven-logging/4.0.0-rc-3/maven-logging-4.0.0-rc-3.jar" + }, + { + "url": "org/apache/maven/maven-xml/4.0.0-rc-3/maven-xml-4.0.0-rc-3.jar", + "hash": "063c424cb47f75164125d5eea25167b931dd694e34268d50247374e74211dd19", + "path": "org/apache/maven/maven-xml/4.0.0-rc-3/maven-xml-4.0.0-rc-3.jar" + }, + { + "url": "com/fasterxml/woodstox/woodstox-core/7.1.0/woodstox-core-7.1.0.jar", + "hash": "81266920a1cdc47306a8a2b4726c99ec89b3fbf31c2470e4f5e477d9d857ca9f", + "path": "com/fasterxml/woodstox/woodstox-core/7.1.0/woodstox-core-7.1.0.jar" }, { "url": "org/codehaus/woodstox/stax2-api/4.2.2/stax2-api-4.2.2.jar", @@ -3035,224 +3590,29 @@ "path": "org/codehaus/woodstox/stax2-api/4.2.2/stax2-api-4.2.2.jar" }, { - "url": "org/apache/maven/maven-settings-builder/4.0.0-beta-4/maven-settings-builder-4.0.0-beta-4.jar", - "hash": "b5f4f334c2d9be1d531f19cb4849db50c7e1e2f102624d2d080366839a7fbff4", - "path": "org/apache/maven/maven-settings-builder/4.0.0-beta-4/maven-settings-builder-4.0.0-beta-4.jar" + "url": "org/apache/maven/maven-artifact/4.0.0-rc-3/maven-artifact-4.0.0-rc-3.jar", + "hash": "fefad6c28ff188d7a69ada304eb7967163fd83ce84bf0a42ad85f86e9a31dafd", + "path": "org/apache/maven/maven-artifact/4.0.0-rc-3/maven-artifact-4.0.0-rc-3.jar" }, { - "url": "org/apache/maven/maven-api-core/4.0.0-beta-4/maven-api-core-4.0.0-beta-4.jar", - "hash": "ef45e9b1837cbc9cc00d8725016dd9e149e5bca5c31ce1b85a2acda4638a08b9", - "path": "org/apache/maven/maven-api-core/4.0.0-beta-4/maven-api-core-4.0.0-beta-4.jar" + "url": "org/apache/maven/maven-builder-support/4.0.0-rc-3/maven-builder-support-4.0.0-rc-3.jar", + "hash": "cbba8801716569d012f4ee51b514a01f971656bba7753dc7204fe1b53483b540", + "path": "org/apache/maven/maven-builder-support/4.0.0-rc-3/maven-builder-support-4.0.0-rc-3.jar" }, { - "url": "org/apache/maven/maven-api-di/4.0.0-beta-4/maven-api-di-4.0.0-beta-4.jar", - "hash": "84ed3852f3bb9dc50b16c79a5f02ae6ef9479cdef3844a965037a823f22e7874", - "path": "org/apache/maven/maven-api-di/4.0.0-beta-4/maven-api-di-4.0.0-beta-4.jar" + "url": "org/apache/maven/maven-model/4.0.0-rc-3/maven-model-4.0.0-rc-3.jar", + "hash": "5414a8b23f5932bd4b2ea4b5d2e188620ff60bf3fd5b2bb16a7d4d63d39e6248", + "path": "org/apache/maven/maven-model/4.0.0-rc-3/maven-model-4.0.0-rc-3.jar" }, { - "url": "org/apache/maven/maven-api-impl/4.0.0-beta-4/maven-api-impl-4.0.0-beta-4.jar", - "hash": "e119e70c281f4270c219e9f527304bd468f6a859851723ed9b09c0209e76f5ef", - "path": "org/apache/maven/maven-api-impl/4.0.0-beta-4/maven-api-impl-4.0.0-beta-4.jar" + "url": "org/apache/maven/maven-support/4.0.0-rc-3/maven-support-4.0.0-rc-3.jar", + "hash": "d0e7c70887c09c2039c224d9c47489c6ac93bef27b3d387e862da9e06681d45c", + "path": "org/apache/maven/maven-support/4.0.0-rc-3/maven-support-4.0.0-rc-3.jar" }, { - "url": "org/apache/maven/maven-api-metadata/4.0.0-beta-4/maven-api-metadata-4.0.0-beta-4.jar", - "hash": "68b821d2809ad4da28fb496b9730bee5c732d51080c53f2fbe03a07307c76043", - "path": "org/apache/maven/maven-api-metadata/4.0.0-beta-4/maven-api-metadata-4.0.0-beta-4.jar" - }, - { - "url": "org/assertj/assertj-core/3.26.3/assertj-core-3.26.3.jar", - "hash": "4c2f86418ff47ee6b67fbc6adb194e80219b793281b3bda28799d4425bc9a0bd", - "path": "org/assertj/assertj-core/3.26.3/assertj-core-3.26.3.jar" - }, - { - "url": "net/bytebuddy/byte-buddy/1.14.18/byte-buddy-1.14.18.jar", - "hash": "52117af1696a53aa77c131353074ada25ccbdf2df511f2af33fad6704fa95104", - "path": "net/bytebuddy/byte-buddy/1.14.18/byte-buddy-1.14.18.jar" - }, - { - "url": "org/apache/maven/maven-toolchain-builder/4.0.0-beta-4/maven-toolchain-builder-4.0.0-beta-4.jar", - "hash": "7697360fb48e95ccd64925f9928e27e05dccb42f951ed902ab50e1503dca3ba9", - "path": "org/apache/maven/maven-toolchain-builder/4.0.0-beta-4/maven-toolchain-builder-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/maven-api-toolchain/4.0.0-beta-4/maven-api-toolchain-4.0.0-beta-4.jar", - "hash": "fabe13493b94abde03186c93ce363839e753355667dda9112e2d9546349cde76", - "path": "org/apache/maven/maven-api-toolchain/4.0.0-beta-4/maven-api-toolchain-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/maven-toolchain-model/4.0.0-beta-4/maven-toolchain-model-4.0.0-beta-4.jar", - "hash": "10102b6b5d94b2d83c3fb4194129ccc0d190310b65590f03afedd02bf5e17fa0", - "path": "org/apache/maven/maven-toolchain-model/4.0.0-beta-4/maven-toolchain-model-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/maven-core/4.0.0-beta-4/maven-core-4.0.0-beta-4.jar", - "hash": "76a96573a889e47dca04dcfedbcc4c7c93af003b9a6839dd199432ad1e19396a", - "path": "org/apache/maven/maven-core/4.0.0-beta-4/maven-core-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/maven-di/4.0.0-beta-4/maven-di-4.0.0-beta-4.jar", - "hash": "9185ef10ae5f192f128d5901c96c6217e23745fc919e22acc04562bc1fb03bc9", - "path": "org/apache/maven/maven-di/4.0.0-beta-4/maven-di-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/maven-repository-metadata/4.0.0-beta-4/maven-repository-metadata-4.0.0-beta-4.jar", - "hash": "5e39de5d6ab0a7d9dda3530c3051d245d772060ea5c621ee337ece25d9c02cad", - "path": "org/apache/maven/maven-repository-metadata/4.0.0-beta-4/maven-repository-metadata-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/maven-artifact/4.0.0-beta-4/maven-artifact-4.0.0-beta-4.jar", - "hash": "7a9435282137b8f7295fa9fbbb5022da3be2c8c0f8466aaf736b6e9795795218", - "path": "org/apache/maven/maven-artifact/4.0.0-beta-4/maven-artifact-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/maven-resolver-provider/4.0.0-beta-4/maven-resolver-provider-4.0.0-beta-4.jar", - "hash": "a13726bc0ad222e4b7c9081b99a1f22043807edf27d149ff8051d30a967502dd", - "path": "org/apache/maven/maven-resolver-provider/4.0.0-beta-4/maven-resolver-provider-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/resolver/maven-resolver-connector-basic/2.0.1/maven-resolver-connector-basic-2.0.1.jar", - "hash": "52b300e45e398ea13c462d7f76ebbd941bbc296c317204a85828070119cb6bd8", - "path": "org/apache/maven/resolver/maven-resolver-connector-basic/2.0.1/maven-resolver-connector-basic-2.0.1.jar" - }, - { - "url": "org/apache/maven/resolver/maven-resolver-transport-file/2.0.1/maven-resolver-transport-file-2.0.1.jar", - "hash": "c5a21b26d0d1d6cc975e7763d2d492feafd0be106aebd8f0276b299932657204", - "path": "org/apache/maven/resolver/maven-resolver-transport-file/2.0.1/maven-resolver-transport-file-2.0.1.jar" - }, - { - "url": "org/apache/maven/resolver/maven-resolver-transport-apache/2.0.1/maven-resolver-transport-apache-2.0.1.jar", - "hash": "bfd0b3e5b0904fc2df23c5a588cd5bde9cebca07f3b57c9692bbd384bdbdbf6b", - "path": "org/apache/maven/resolver/maven-resolver-transport-apache/2.0.1/maven-resolver-transport-apache-2.0.1.jar" - }, - { - "url": "org/apache/httpcomponents/httpclient/4.5.14/httpclient-4.5.14.jar", - "hash": "c8bc7e1c51a6d4ce72f40d2ebbabf1c4b68bfe76e732104b04381b493478e9d6", - "path": "org/apache/httpcomponents/httpclient/4.5.14/httpclient-4.5.14.jar" - }, - { - "url": "org/apache/httpcomponents/httpcore/4.4.16/httpcore-4.4.16.jar", - "hash": "6c9b3dd142a09dc468e23ad39aad6f75a0f2b85125104469f026e52a474e464f", - "path": "org/apache/httpcomponents/httpcore/4.4.16/httpcore-4.4.16.jar" - }, - { - "url": "commons-codec/commons-codec/1.17.1/commons-codec-1.17.1.jar", - "hash": "f9f6cb103f2ddc3c99a9d80ada2ae7bf0685111fd6bffccb72033d1da4e6ff23", - "path": "commons-codec/commons-codec/1.17.1/commons-codec-1.17.1.jar" - }, - { - "url": "org/slf4j/jcl-over-slf4j/2.0.13/jcl-over-slf4j-2.0.13.jar", - "hash": "c53560fa3a0837964207dd1f7835d0e6cea0835bd110e94696f2dc65f27e6f5a", - "path": "org/slf4j/jcl-over-slf4j/2.0.13/jcl-over-slf4j-2.0.13.jar" - }, - { - "url": "org/apache/maven/maven-api-spi/4.0.0-beta-4/maven-api-spi-4.0.0-beta-4.jar", - "hash": "ffc56c8120e0828ac48227922b50437a1668a648973407743d319ee899874235", - "path": "org/apache/maven/maven-api-spi/4.0.0-beta-4/maven-api-spi-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/maven-slf4j-provider/4.0.0-beta-4/maven-slf4j-provider-4.0.0-beta-4.jar", - "hash": "60e7bb88664af09f9c9f5da24bfe041b1e0788d62e958cc3053018590a11aca8", - "path": "org/apache/maven/maven-slf4j-provider/4.0.0-beta-4/maven-slf4j-provider-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/resolver/maven-resolver-spi/2.0.1/maven-resolver-spi-2.0.1.jar", - "hash": "46d5766c850611f01e6346d232dcb8b92604b941c5c66b89ccd2b256dbf1bddb", - "path": "org/apache/maven/resolver/maven-resolver-spi/2.0.1/maven-resolver-spi-2.0.1.jar" - }, - { - "url": "org/apache/maven/resolver/maven-resolver-impl/2.0.1/maven-resolver-impl-2.0.1.jar", - "hash": "5d819ac843de8e08b70d095e50a2bdd34471cdeb05d507bc6e72799758d5309b", - "path": "org/apache/maven/resolver/maven-resolver-impl/2.0.1/maven-resolver-impl-2.0.1.jar" - }, - { - "url": "org/apache/maven/resolver/maven-resolver-named-locks/2.0.1/maven-resolver-named-locks-2.0.1.jar", - "hash": "bb3365713c82d9abcf3841eb5386d6d87de2b10229926107022b87587196924d", - "path": "org/apache/maven/resolver/maven-resolver-named-locks/2.0.1/maven-resolver-named-locks-2.0.1.jar" - }, - { - "url": "org/codehaus/plexus/plexus-classworlds/2.8.0/plexus-classworlds-2.8.0.jar", - "hash": "081b40e0eab033cd5ac72d2501bfff4f5fd2a3eef827051111730ea152681c72", - "path": "org/codehaus/plexus/plexus-classworlds/2.8.0/plexus-classworlds-2.8.0.jar" - }, - { - "url": "org/apache/maven/maven-jline/4.0.0-beta-4/maven-jline-4.0.0-beta-4.jar", - "hash": "6477687327d47193f9dae0547c60d362125ce7f67aa91e2e673fee410b1c7e0c", - "path": "org/apache/maven/maven-jline/4.0.0-beta-4/maven-jline-4.0.0-beta-4.jar" - }, - { - "url": "javax/inject/javax.inject/1/javax.inject-1.jar", - "hash": "91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff", - "path": "javax/inject/javax.inject/1/javax.inject-1.jar" - }, - { - "url": "javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar", - "hash": "e04ba5195bcd555dc95650f7cc614d151e4bcd52d29a10b8aa2197f3ab89ab9b", - "path": "javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar" - }, - { - "url": "org/apache/maven/maven-plugin-api/4.0.0-beta-4/maven-plugin-api-4.0.0-beta-4.jar", - "hash": "b0ecf2d295fedaa65d48cb882b743481804a1a3c2f09b97a1d00d488e4051839", - "path": "org/apache/maven/maven-plugin-api/4.0.0-beta-4/maven-plugin-api-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/maven-api-plugin/4.0.0-beta-4/maven-api-plugin-4.0.0-beta-4.jar", - "hash": "72dcb6995c64bc5afcaf6c8650d2b4c0285c53be57f55550c971e7e379a339bc", - "path": "org/apache/maven/maven-api-plugin/4.0.0-beta-4/maven-api-plugin-4.0.0-beta-4.jar" - }, - { - "url": "org/eclipse/sisu/org.eclipse.sisu.plexus/0.9.0.M3/org.eclipse.sisu.plexus-0.9.0.M3.jar", - "hash": "c99674d3773e26154885661711f0b6d63aa5008f5cc99227a236756d4ad9de5e", - "path": "org/eclipse/sisu/org.eclipse.sisu.plexus/0.9.0.M3/org.eclipse.sisu.plexus-0.9.0.M3.jar" - }, - { - "url": "org/apache/maven/maven-model/4.0.0-beta-4/maven-model-4.0.0-beta-4.jar", - "hash": "db081a404deaf999f760c0e1ef44c2b1d4330bab28085dc98b0228c20d1863b2", - "path": "org/apache/maven/maven-model/4.0.0-beta-4/maven-model-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/maven-api-model/4.0.0-beta-4/maven-api-model-4.0.0-beta-4.jar", - "hash": "f43c7176db9492c69f14174ee100c9655cd52432850dec0127a128808a9bdffc", - "path": "org/apache/maven/maven-api-model/4.0.0-beta-4/maven-api-model-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/maven-model-builder/4.0.0-beta-4/maven-model-builder-4.0.0-beta-4.jar", - "hash": "c6d88471949e033714afe0e35ebbc2f4a8b03a4aded5eb9514265b75c672e4d1", - "path": "org/apache/maven/maven-model-builder/4.0.0-beta-4/maven-model-builder-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/maven-builder-support/4.0.0-beta-4/maven-builder-support-4.0.0-beta-4.jar", - "hash": "53d2df49e46fd837aba1da30ba0605424d7ad0f0fad4d8ca2c85c3aca33e1958", - "path": "org/apache/maven/maven-builder-support/4.0.0-beta-4/maven-builder-support-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/maven-slf4j-wrapper/4.0.0-beta-4/maven-slf4j-wrapper-4.0.0-beta-4.jar", - "hash": "5b1bd79d0aa8aeafedd44ee33eaad48dd45350a52bfb248a4b8c4ea8b9b16a38", - "path": "org/apache/maven/maven-slf4j-wrapper/4.0.0-beta-4/maven-slf4j-wrapper-4.0.0-beta-4.jar" - }, - { - "url": "org/apache/maven/resolver/maven-resolver-api/2.0.1/maven-resolver-api-2.0.1.jar", - "hash": "211e181d4acd8517b33c647b102371d4ce877d46e981f96b1b463bb7077919e9", - "path": "org/apache/maven/resolver/maven-resolver-api/2.0.1/maven-resolver-api-2.0.1.jar" - }, - { - "url": "org/apache/maven/resolver/maven-resolver-util/2.0.1/maven-resolver-util-2.0.1.jar", - "hash": "5f6070e2b1f67b514d35a4137db40d5738a97cba5dd7f6df6818857ae62dfd9a", - "path": "org/apache/maven/resolver/maven-resolver-util/2.0.1/maven-resolver-util-2.0.1.jar" - }, - { - "url": "org/codehaus/plexus/plexus-sec-dispatcher/2.0/plexus-sec-dispatcher-2.0.jar", - "hash": "873139960c4c780176dda580b003a2c4bf82188bdce5bb99234e224ef7acfceb", - "path": "org/codehaus/plexus/plexus-sec-dispatcher/2.0/plexus-sec-dispatcher-2.0.jar" - }, - { - "url": "org/codehaus/plexus/plexus-utils/3.4.1/plexus-utils-3.4.1.jar", - "hash": "52d85e04b3918722af11d12855b4a8257df96a0e76c8f4e3852e6faa851f357b", - "path": "org/codehaus/plexus/plexus-utils/3.4.1/plexus-utils-3.4.1.jar" - }, - { - "url": "org/codehaus/plexus/plexus-cipher/2.0/plexus-cipher-2.0.jar", - "hash": "9a7f1b5c5a9effd61eadfd8731452a2f76a8e79111fac391ef75ea801bea203a", - "path": "org/codehaus/plexus/plexus-cipher/2.0/plexus-cipher-2.0.jar" + "url": "org/apache/maven/maven-model-builder/4.0.0-rc-3/maven-model-builder-4.0.0-rc-3.jar", + "hash": "f9f53bf648ada66efd5ca4a4d31e435cb101f42fc51b7e85fc7cbad7c7901c14", + "path": "org/apache/maven/maven-model-builder/4.0.0-rc-3/maven-model-builder-4.0.0-rc-3.jar" }, { "url": "org/codehaus/plexus/plexus-interpolation/1.27/plexus-interpolation-1.27.jar", @@ -3260,14 +3620,94 @@ "path": "org/codehaus/plexus/plexus-interpolation/1.27/plexus-interpolation-1.27.jar" }, { - "url": "org/codehaus/plexus/plexus-interactivity-api/1.3/plexus-interactivity-api-1.3.jar", - "hash": "c26de0f7a578a82f8116aced2c3c62f5e06dc1815a8fe22b1af0c1467f2edb25", - "path": "org/codehaus/plexus/plexus-interactivity-api/1.3/plexus-interactivity-api-1.3.jar" + "url": "org/apache/maven/maven-plugin-api/4.0.0-rc-3/maven-plugin-api-4.0.0-rc-3.jar", + "hash": "f60657d910241f8f2b971261c001057248ee0f8b34cb8fb049a7786a73888a21", + "path": "org/apache/maven/maven-plugin-api/4.0.0-rc-3/maven-plugin-api-4.0.0-rc-3.jar" }, { - "url": "org/slf4j/slf4j-api/2.0.16/slf4j-api-2.0.16.jar", - "hash": "a12578dde1ba00bd9b816d388a0b879928d00bab3c83c240f7013bf4196c579a", - "path": "org/slf4j/slf4j-api/2.0.16/slf4j-api-2.0.16.jar" + "url": "org/eclipse/sisu/org.eclipse.sisu.plexus/0.9.0.M3/org.eclipse.sisu.plexus-0.9.0.M3.jar", + "hash": "c99674d3773e26154885661711f0b6d63aa5008f5cc99227a236756d4ad9de5e", + "path": "org/eclipse/sisu/org.eclipse.sisu.plexus/0.9.0.M3/org.eclipse.sisu.plexus-0.9.0.M3.jar" + }, + { + "url": "org/apache/maven/maven-settings/4.0.0-rc-3/maven-settings-4.0.0-rc-3.jar", + "hash": "3d09035a2aa80221f2544ac101863dcbd1a1eb35e4d8cd040eeea7edfa6a6afc", + "path": "org/apache/maven/maven-settings/4.0.0-rc-3/maven-settings-4.0.0-rc-3.jar" + }, + { + "url": "org/apache/maven/maven-settings-builder/4.0.0-rc-3/maven-settings-builder-4.0.0-rc-3.jar", + "hash": "57988664da4e055d4e98bc0c32dc123ce717876f93067758fa7328f6b4a1830a", + "path": "org/apache/maven/maven-settings-builder/4.0.0-rc-3/maven-settings-builder-4.0.0-rc-3.jar" + }, + { + "url": "org/apache/maven/maven-toolchain-builder/4.0.0-rc-3/maven-toolchain-builder-4.0.0-rc-3.jar", + "hash": "7682bd8a512b3eee4786af196ece04cbe99686ba586dc1f8ca6f3221ec016fd3", + "path": "org/apache/maven/maven-toolchain-builder/4.0.0-rc-3/maven-toolchain-builder-4.0.0-rc-3.jar" + }, + { + "url": "org/apache/maven/maven-toolchain-model/4.0.0-rc-3/maven-toolchain-model-4.0.0-rc-3.jar", + "hash": "20e1d769f05c7b2bc649839ebbc42ef312283e17b71c5cbeb1377481ca05a832", + "path": "org/apache/maven/maven-toolchain-model/4.0.0-rc-3/maven-toolchain-model-4.0.0-rc-3.jar" + }, + { + "url": "org/apache/maven/resolver/maven-resolver-api/2.0.7/maven-resolver-api-2.0.7.jar", + "hash": "1cc517753bd14e94b77c16a8258963f12a5a50907b778e60bb2c8e3ac4c4f8b7", + "path": "org/apache/maven/resolver/maven-resolver-api/2.0.7/maven-resolver-api-2.0.7.jar" + }, + { + "url": "org/apache/maven/resolver/maven-resolver-spi/2.0.7/maven-resolver-spi-2.0.7.jar", + "hash": "8e08e6cabf5b80c555955e1285109127dcffffa47978e8dc4349607643ca5f58", + "path": "org/apache/maven/resolver/maven-resolver-spi/2.0.7/maven-resolver-spi-2.0.7.jar" + }, + { + "url": "com/google/code/gson/gson/2.12.1/gson-2.12.1.jar", + "hash": "ebee13d5fb7477cd7f1cc010e0c356df8ca80709715248da97f79e35ccb4fbec", + "path": "com/google/code/gson/gson/2.12.1/gson-2.12.1.jar" + }, + { + "url": "org/apache/maven/resolver/maven-resolver-util/2.0.7/maven-resolver-util-2.0.7.jar", + "hash": "0c56c2dd5aaeacc531b5a9e564124a32610f88875822545ee89eea79cdb7755b", + "path": "org/apache/maven/resolver/maven-resolver-util/2.0.7/maven-resolver-util-2.0.7.jar" + }, + { + "url": "org/apache/maven/resolver/maven-resolver-impl/2.0.7/maven-resolver-impl-2.0.7.jar", + "hash": "a09e61fb4ce391d5363b6752332b331fefad483fb22ed3f7a4f1ea9f99b112bb", + "path": "org/apache/maven/resolver/maven-resolver-impl/2.0.7/maven-resolver-impl-2.0.7.jar" + }, + { + "url": "org/apache/maven/resolver/maven-resolver-named-locks/2.0.7/maven-resolver-named-locks-2.0.7.jar", + "hash": "20e101e8a883566ed3afaf349dac765b1d18c66bd93c4b6df6aec5a64441a0cc", + "path": "org/apache/maven/resolver/maven-resolver-named-locks/2.0.7/maven-resolver-named-locks-2.0.7.jar" + }, + { + "url": "org/codehaus/plexus/plexus-utils/4.0.1/plexus-utils-4.0.1.jar", + "hash": "96b9cc44439191d2d0635974e2d44e768736b4fb2abcb65f94cd95e41912fa8b", + "path": "org/codehaus/plexus/plexus-utils/4.0.1/plexus-utils-4.0.1.jar" + }, + { + "url": "org/codehaus/plexus/plexus-xml/4.0.4/plexus-xml-4.0.4.jar", + "hash": "069e78b537108dc6124a67073fc998264791f6b6499e955a38e72bb3e4fe1adf", + "path": "org/codehaus/plexus/plexus-xml/4.0.4/plexus-xml-4.0.4.jar" + }, + { + "url": "org/apache/maven/maven-xml-impl/4.0.0-alpha-9/maven-xml-impl-4.0.0-alpha-9.jar", + "hash": "26e702b881d57ae4ee88d02c00940ba64063705ee69205ae8958bf839a8b06b1", + "path": "org/apache/maven/maven-xml-impl/4.0.0-alpha-9/maven-xml-impl-4.0.0-alpha-9.jar" + }, + { + "url": "org/codehaus/plexus/plexus-classworlds/2.8.0/plexus-classworlds-2.8.0.jar", + "hash": "081b40e0eab033cd5ac72d2501bfff4f5fd2a3eef827051111730ea152681c72", + "path": "org/codehaus/plexus/plexus-classworlds/2.8.0/plexus-classworlds-2.8.0.jar" + }, + { + "url": "org/codehaus/plexus/plexus-sec-dispatcher/4.1.0/plexus-sec-dispatcher-4.1.0.jar", + "hash": "efc10a957d070940701a591685dab92c33f0ba3ffea9518b8d691b23897734fe", + "path": "org/codehaus/plexus/plexus-sec-dispatcher/4.1.0/plexus-sec-dispatcher-4.1.0.jar" + }, + { + "url": "org/slf4j/slf4j-api/2.0.17/slf4j-api-2.0.17.jar", + "hash": "7b751d952061954d5abfed7181c1f645d336091b679891591d63329c622eb832", + "path": "org/slf4j/slf4j-api/2.0.17/slf4j-api-2.0.17.jar" }, { "url": "commons-cli/commons-cli/1.9.0/commons-cli-1.9.0.jar", @@ -3275,15 +3715,25 @@ "path": "commons-cli/commons-cli/1.9.0/commons-cli-1.9.0.jar" }, { - "url": "org/jline/jline/3.26.3/jline-3.26.3.jar", - "hash": "f23116c349314658cdebaa6caf6d0067733cc9e5b852cad2a29e643d32bd52bd", - "path": "org/jline/jline/3.26.3/jline-3.26.3.jar" + "url": "org/jline/jansi-core/3.29.0/jansi-core-3.29.0.jar", + "hash": "b610f582187fe566a54076cb0d433a9b4e83a32a9caacff45b66fa4c9371628d", + "path": "org/jline/jansi-core/3.29.0/jansi-core-3.29.0.jar" }, { "url": "com/google/inject/guice/6.0.0/guice-6.0.0.jar", "hash": "b4d4f7ec5e8fc17b4f98dee9d3f6cf6ae3ae13e2e5ed4b2f7bbf09bc4bb675d5", "path": "com/google/inject/guice/6.0.0/guice-6.0.0.jar" }, + { + "url": "org/eclipse/sisu/org.eclipse.sisu.inject/0.9.0.M3/org.eclipse.sisu.inject-0.9.0.M3.jar", + "hash": "15335c4dcf082f599fb8eddcfb58d6a7e9a9c97de2883c257089a479b9b24522", + "path": "org/eclipse/sisu/org.eclipse.sisu.inject/0.9.0.M3/org.eclipse.sisu.inject-0.9.0.M3.jar" + }, + { + "url": "javax/inject/javax.inject/1/javax.inject-1.jar", + "hash": "91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff", + "path": "javax/inject/javax.inject/1/javax.inject-1.jar" + }, { "url": "org/apache/maven/maven-compat/3.6.0/maven-compat-3.6.0.jar", "hash": "8f1a5d4daff952dabeb3acaa0aa642903702a1aa8b442fcd7a07a8cf9e3db48b", @@ -5135,119 +5585,234 @@ "path": "org/jetbrains/idea/maven/maven-indexer-api-rt/2023.2/maven-indexer-api-rt-2023.2.jar" }, { - "url": "org/jetbrains/jewel/jewel-markdown-ide-laf-bridge-styling-242/0.22.1/jewel-markdown-ide-laf-bridge-styling-242-0.22.1.jar", - "hash": "c95a80492bfe83213d89cc2b051cf31d782046832320498510cbcd137d4da9d2", - "path": "org/jetbrains/jewel/jewel-markdown-ide-laf-bridge-styling-242/0.22.1/jewel-markdown-ide-laf-bridge-styling-242-0.22.1.jar" + "url": "org/jetbrains/skiko/skiko-awt/0.9.2/skiko-awt-0.9.2.jar", + "hash": "e1f815f44f5dafcf12f673cda3355ae59c39754bf99f3b11f6d00fd700156148", + "path": "org/jetbrains/skiko/skiko-awt/0.9.2/skiko-awt-0.9.2.jar" }, { - "url": "org/jetbrains/jewel/jewel-markdown-core-242/0.22.1/jewel-markdown-core-242-0.22.1.jar", - "hash": "4fc7147440e975f10133f8e6f0232c249ff9b07d03e7eaf6f86f4540fda62ac2", - "path": "org/jetbrains/jewel/jewel-markdown-core-242/0.22.1/jewel-markdown-core-242-0.22.1.jar" + "url": "org/jetbrains/skiko/skiko-awt-runtime-all/0.9.2/skiko-awt-runtime-all-0.9.2.jar", + "hash": "f4077aabec7cd2af8d330b0bac1b69e0556dfcb6fbedf1370cfbf0e0d8177f15", + "path": "org/jetbrains/skiko/skiko-awt-runtime-all/0.9.2/skiko-awt-runtime-all-0.9.2.jar" }, { - "url": "org/commonmark/commonmark/0.22.0/commonmark-0.22.0.jar", - "hash": "3417909f2997bc8c61d90d64c6af29f4a3f5b6729caceaef97221ceac93df814", - "path": "org/commonmark/commonmark/0.22.0/commonmark-0.22.0.jar" + "url": "io/ktor/ktor-client-cio-jvm/3.0.3/ktor-client-cio-jvm-3.0.3.jar", + "hash": "0d3bbfc7698254bd93f52522ac9b8ed92597d5cf80ea3ffc0f0c9f237f3396ce", + "path": "io/ktor/ktor-client-cio-jvm/3.0.3/ktor-client-cio-jvm-3.0.3.jar" }, { - "url": "org/jetbrains/skiko/skiko-awt-runtime-all/0.8.15/skiko-awt-runtime-all-0.8.15.jar", - "hash": "805ca62e64ec4945a17fde87841c5b0bb32767d2cc7e25968dcef8fa44f990cf", - "path": "org/jetbrains/skiko/skiko-awt-runtime-all/0.8.15/skiko-awt-runtime-all-0.8.15.jar" + "url": "io/ktor/ktor-http-cio-jvm/3.0.3/ktor-http-cio-jvm-3.0.3.jar", + "hash": "2574639ce266e33419ecbbb729c8f921274b2588ed1dfeb4aa87039115df0666", + "path": "io/ktor/ktor-http-cio-jvm/3.0.3/ktor-http-cio-jvm-3.0.3.jar" }, { - "url": "org/jetbrains/skiko/skiko-awt/0.8.15/skiko-awt-0.8.15.jar", - "hash": "2d6efe988f8d3a57e63fcf923f3439cdabb88947e351f97d06ec9b2a6a87fff0", - "path": "org/jetbrains/skiko/skiko-awt/0.8.15/skiko-awt-0.8.15.jar" + "url": "io/ktor/ktor-network-tls-jvm/3.0.3/ktor-network-tls-jvm-3.0.3.jar", + "hash": "65e9a916e918fc76dd72764d17235506190ec1ec92dd7a4633246b2db12579c8", + "path": "io/ktor/ktor-network-tls-jvm/3.0.3/ktor-network-tls-jvm-3.0.3.jar" }, { - "url": "io/ktor/ktor-client-cio-jvm/2.3.12/ktor-client-cio-jvm-2.3.12.jar", - "hash": "770aad975dacaae756ae85bfd6bf10e4add844df303a4bfb4de5e62ff105af1c", - "path": "io/ktor/ktor-client-cio-jvm/2.3.12/ktor-client-cio-jvm-2.3.12.jar" + "url": "org/jetbrains/dokka/dokka-cli/2.0.0/dokka-cli-2.0.0.jar", + "hash": "5f70f358160b48ef9763b2ced4e96037f1bfc8d0122de692550ca320ab4b9f20", + "path": "org/jetbrains/dokka/dokka-cli/2.0.0/dokka-cli-2.0.0.jar" }, { - "url": "io/ktor/ktor-http-cio-jvm/2.3.12/ktor-http-cio-jvm-2.3.12.jar", - "hash": "278a5c1662701db9d89f49e74ea77218ed35ad830efffbdf44522ea861477f4b", - "path": "io/ktor/ktor-http-cio-jvm/2.3.12/ktor-http-cio-jvm-2.3.12.jar" + "url": "org/jetbrains/dokka/javadoc-plugin/2.0.0/javadoc-plugin-2.0.0.jar", + "hash": "41055e59e3f0a6e04b77557641b9a2db0311e99f81c5bc7b1fcc3409bb23d99b", + "path": "org/jetbrains/dokka/javadoc-plugin/2.0.0/javadoc-plugin-2.0.0.jar" }, { - "url": "io/ktor/ktor-network-jvm/2.3.12/ktor-network-jvm-2.3.12.jar", - "hash": "095ab8afab1a9408e55a67fca6f2f96848573519ddd22e7e8eb1c17dc4bc8d1b", - "path": "io/ktor/ktor-network-jvm/2.3.12/ktor-network-jvm-2.3.12.jar" + "url": "org/jetbrains/dokka/dokka-base/2.0.0/dokka-base-2.0.0.jar", + "hash": "0411d1c38a1d100cbd346c6340c3c4b5f154a48a9c119ed11893d6fae94c91aa", + "path": "org/jetbrains/dokka/dokka-base/2.0.0/dokka-base-2.0.0.jar" }, { - "url": "io/ktor/ktor-websockets-jvm/2.3.12/ktor-websockets-jvm-2.3.12.jar", - "hash": "dc35cc539f4dfa5a4ad9b391c14d06527dfac4f64b3e3f050f5143ceb215bca4", - "path": "io/ktor/ktor-websockets-jvm/2.3.12/ktor-websockets-jvm-2.3.12.jar" + "url": "org/freemarker/freemarker/2.3.32/freemarker-2.3.32.jar", + "hash": "04d65ec1bde6cea20e3495d5e78ef96ab774d9936434861d3254bd88e7e94f92", + "path": "org/freemarker/freemarker/2.3.32/freemarker-2.3.32.jar" }, { - "url": "io/ktor/ktor-network-tls-jvm/2.3.12/ktor-network-tls-jvm-2.3.12.jar", - "hash": "2b74bf6a17776658520106de5137df9dc35df8ac1ed01624f83409962d128a75", - "path": "io/ktor/ktor-network-tls-jvm/2.3.12/ktor-network-tls-jvm-2.3.12.jar" + "url": "org/jetbrains/dokka/kotlin-as-java-plugin/2.0.0/kotlin-as-java-plugin-2.0.0.jar", + "hash": "3d8931b3c03f84edbf72f67348265205d819d327bb110043ab11d840d59bde41", + "path": "org/jetbrains/dokka/kotlin-as-java-plugin/2.0.0/kotlin-as-java-plugin-2.0.0.jar" }, { - "url": "org/jetbrains/jewel/jewel-ide-laf-bridge-243/0.26.2/jewel-ide-laf-bridge-243-0.26.2.jar", - "hash": "b92f618a53f44c0a78ec81adf08d9a0a4d80d2500f60858451160444b6eccabb", - "path": "org/jetbrains/jewel/jewel-ide-laf-bridge-243/0.26.2/jewel-ide-laf-bridge-243-0.26.2.jar" + "url": "com/soywiz/korlibs/korte/korte-jvm/4.0.10/korte-jvm-4.0.10.jar", + "hash": "b9b983817a80dbb5f9b599b508616115c1e8e1e3f1fccc301695f4530792690f", + "path": "com/soywiz/korlibs/korte/korte-jvm/4.0.10/korte-jvm-4.0.10.jar" }, { - "url": "org/jetbrains/jewel/jewel-ui-243/0.26.2/jewel-ui-243-0.26.2.jar", - "hash": "7706ba526aa859fff92db67cf12e25383f776f8825b1ba3b5482e3d140fb75e9", - "path": "org/jetbrains/jewel/jewel-ui-243/0.26.2/jewel-ui-243-0.26.2.jar" + "url": "org/jetbrains/kotlinx/kotlinx-html-jvm/0.9.1/kotlinx-html-jvm-0.9.1.jar", + "hash": "b68f39cd9ad7b46de0a0e77e7f5908d4e7661f3d0c85d2d9171543fcd5b156fb", + "path": "org/jetbrains/kotlinx/kotlinx-html-jvm/0.9.1/kotlinx-html-jvm-0.9.1.jar" }, { - "url": "org/jetbrains/jewel/jewel-foundation-243/0.26.2/jewel-foundation-243-0.26.2.jar", - "hash": "f3101a0b541d6bb6543e5f09c30ee4217f4065ee36860f6e74ca681675ed5b91", - "path": "org/jetbrains/jewel/jewel-foundation-243/0.26.2/jewel-foundation-243-0.26.2.jar" + "url": "org/jetbrains/dokka/analysis-kotlin-descriptors/2.0.0/analysis-kotlin-descriptors-2.0.0.jar", + "hash": "829788c40891a2a3c4b9435cb9ec80d645560d926e9fbbd08ccc29e8e4f1eb7c", + "path": "org/jetbrains/dokka/analysis-kotlin-descriptors/2.0.0/analysis-kotlin-descriptors-2.0.0.jar" }, { - "url": "org/jetbrains/compose/foundation/foundation-desktop/1.7.0/foundation-desktop-1.7.0.jar", - "hash": "9c7523130d795eecde9cbf3baea04d30e567cd11b79e73d3da8ce031d8b256e8", - "path": "org/jetbrains/compose/foundation/foundation-desktop/1.7.0/foundation-desktop-1.7.0.jar" + "url": "org/jetbrains/compose/ui/ui-test-junit4/1.8.0-alpha04/ui-test-junit4-1.8.0-alpha04.jar", + "hash": "8fcad9fc0ae84479092715a9fe2c06077df9f79f4b1547c1835800813ef4441c", + "path": "org/jetbrains/compose/ui/ui-test-junit4/1.8.0-alpha04/ui-test-junit4-1.8.0-alpha04.jar" }, { - "url": "androidx/annotation/annotation-jvm/1.8.0/annotation-jvm-1.8.0.jar", - "hash": "9aab326d9492800991854360ac248f493ce7f7c3183519309b78ace9e240f6f6", - "path": "androidx/annotation/annotation-jvm/1.8.0/annotation-jvm-1.8.0.jar" + "url": "org/jetbrains/compose/ui/ui-test-junit4-desktop/1.8.0-alpha04/ui-test-junit4-desktop-1.8.0-alpha04.jar", + "hash": "dcaa6f6c4ac510333c99919151a5da37ec5959905634143ce35d232d5df432a8", + "path": "org/jetbrains/compose/ui/ui-test-junit4-desktop/1.8.0-alpha04/ui-test-junit4-desktop-1.8.0-alpha04.jar" }, { - "url": "androidx/collection/collection-jvm/1.4.0/collection-jvm-1.4.0.jar", - "hash": "d5cf7b72647c7995071588fe870450ff9c8f127f253d2d4851e161b800f67ae0", - "path": "androidx/collection/collection-jvm/1.4.0/collection-jvm-1.4.0.jar" + "url": "org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar", + "hash": "66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9", + "path": "org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar" }, { - "url": "org/jetbrains/compose/animation/animation-desktop/1.7.0/animation-desktop-1.7.0.jar", - "hash": "5e40f2fc7bc8cb42243cfa7d73c631a17b3d9874af68841ad3ef778f70663be3", - "path": "org/jetbrains/compose/animation/animation-desktop/1.7.0/animation-desktop-1.7.0.jar" + "url": "org/jetbrains/compose/ui/ui-test/1.8.0-alpha04/ui-test-1.8.0-alpha04.jar", + "hash": "59800a701fa24b4e972148db89babe95c6f38b9abf67799b28a2dde995499304", + "path": "org/jetbrains/compose/ui/ui-test/1.8.0-alpha04/ui-test-1.8.0-alpha04.jar" }, { - "url": "org/jetbrains/compose/animation/animation-core-desktop/1.7.0/animation-core-desktop-1.7.0.jar", - "hash": "49b5a4e8f3a5e84702450325c0175688d55c4a12973cfc1a1a36e64f18fdf8d5", - "path": "org/jetbrains/compose/animation/animation-core-desktop/1.7.0/animation-core-desktop-1.7.0.jar" + "url": "org/jetbrains/compose/ui/ui-test-desktop/1.8.0-alpha04/ui-test-desktop-1.8.0-alpha04.jar", + "hash": "f20c0c3dd83ff8fef72d131d9d86dddbd432aa0f133c56aaf548783202a7c0f3", + "path": "org/jetbrains/compose/ui/ui-test-desktop/1.8.0-alpha04/ui-test-desktop-1.8.0-alpha04.jar" }, { - "url": "org/jetbrains/compose/ui/ui-geometry-desktop/1.7.0/ui-geometry-desktop-1.7.0.jar", - "hash": "4b86c961c0b4bce7995329fd57d4339ede11cb75d7ec90bc1b9913396addb30f", - "path": "org/jetbrains/compose/ui/ui-geometry-desktop/1.7.0/ui-geometry-desktop-1.7.0.jar" + "url": "org/jetbrains/compose/runtime/runtime/1.8.0-alpha04/runtime-1.8.0-alpha04.jar", + "hash": "3941e008a0041664eea0712d8598cd957ab045cf8facac0033b35c5a251e3ea1", + "path": "org/jetbrains/compose/runtime/runtime/1.8.0-alpha04/runtime-1.8.0-alpha04.jar" }, { - "url": "org/jetbrains/compose/foundation/foundation-layout-desktop/1.7.0/foundation-layout-desktop-1.7.0.jar", - "hash": "d2c867c13ff6632f9880e67dabab2e930007b008b9b22950fc2cc075008eceb6", - "path": "org/jetbrains/compose/foundation/foundation-layout-desktop/1.7.0/foundation-layout-desktop-1.7.0.jar" + "url": "org/jetbrains/compose/ui/ui/1.8.0-alpha04/ui-1.8.0-alpha04.jar", + "hash": "d1bbc8b6155f8db7ef3d3ee66cf506cc1d533fddc2de0590d6e5575d16fb39ae", + "path": "org/jetbrains/compose/ui/ui/1.8.0-alpha04/ui-1.8.0-alpha04.jar" }, { - "url": "org/jetbrains/compose/ui/ui-desktop/1.7.0/ui-desktop-1.7.0.jar", - "hash": "b2ecafea6072044624c4b66de01d4891fd9c80b26885b03ced036ccceacc0e27", - "path": "org/jetbrains/compose/ui/ui-desktop/1.7.0/ui-desktop-1.7.0.jar" + "url": "org/jetbrains/compose/ui/ui-text/1.8.0-alpha04/ui-text-1.8.0-alpha04.jar", + "hash": "839f2e601ac1c923c9a8402b173c82025d666aa1e614af5e5423808d85e219e0", + "path": "org/jetbrains/compose/ui/ui-text/1.8.0-alpha04/ui-text-1.8.0-alpha04.jar" }, { - "url": "androidx/lifecycle/lifecycle-common-jvm/2.8.5/lifecycle-common-jvm-2.8.5.jar", - "hash": "61c873a7327c946ec033c310bb98f3f92eeabcede0e1a5200ab8a1896483c7bf", - "path": "androidx/lifecycle/lifecycle-common-jvm/2.8.5/lifecycle-common-jvm-2.8.5.jar" + "url": "org/jetbrains/compose/ui/ui-unit/1.8.0-alpha04/ui-unit-1.8.0-alpha04.jar", + "hash": "10e5f2639f20c8898e38a319ab9008d024ee5b92fafc75aa2819802fc8f6b72b", + "path": "org/jetbrains/compose/ui/ui-unit/1.8.0-alpha04/ui-unit-1.8.0-alpha04.jar" }, { - "url": "androidx/lifecycle/lifecycle-runtime-desktop/2.8.5/lifecycle-runtime-desktop-2.8.5.jar", - "hash": "10bfe53bb2752f967751a5102cdb785eeea54e1d4df6bde88fb0f50b0a49156c", - "path": "androidx/lifecycle/lifecycle-runtime-desktop/2.8.5/lifecycle-runtime-desktop-2.8.5.jar" + "url": "org/jetbrains/annotations/23.0.0/annotations-23.0.0.jar", + "hash": "7b0f19724082cbfcbc66e5abea2b9bc92cf08a1ea11e191933ed43801eb3cd05", + "path": "org/jetbrains/annotations/23.0.0/annotations-23.0.0.jar" + }, + { + "url": "org/jetbrains/compose/desktop/desktop/1.8.0-alpha04/desktop-1.8.0-alpha04.jar", + "hash": "bff3d1e895fd5abd54ee725dab59214acabf900e1a0784544d20cf20521bf9f3", + "path": "org/jetbrains/compose/desktop/desktop/1.8.0-alpha04/desktop-1.8.0-alpha04.jar" + }, + { + "url": "org/jetbrains/compose/desktop/desktop-jvm/1.8.0-alpha04/desktop-jvm-1.8.0-alpha04.jar", + "hash": "21913b100d46165707b2b656ed5b38bc8eda0f6063f5532787e9d1bf7f943efe", + "path": "org/jetbrains/compose/desktop/desktop-jvm/1.8.0-alpha04/desktop-jvm-1.8.0-alpha04.jar" + }, + { + "url": "org/jetbrains/compose/runtime/runtime/1.8.0-alpha04/runtime-1.8.0-alpha04.jar", + "hash": "3941e008a0041664eea0712d8598cd957ab045cf8facac0033b35c5a251e3ea1", + "path": "org/jetbrains/compose/runtime/runtime/1.8.0-alpha04/runtime-1.8.0-alpha04.jar" + }, + { + "url": "org/jetbrains/compose/ui/ui/1.8.0-alpha04/ui-1.8.0-alpha04.jar", + "hash": "d1bbc8b6155f8db7ef3d3ee66cf506cc1d533fddc2de0590d6e5575d16fb39ae", + "path": "org/jetbrains/compose/ui/ui/1.8.0-alpha04/ui-1.8.0-alpha04.jar" + }, + { + "url": "org/jetbrains/compose/ui/ui-tooling-preview/1.8.0-alpha04/ui-tooling-preview-1.8.0-alpha04.jar", + "hash": "1b409141a9ee6ed38e76a8fb8f9cf280030bf45375ba7e07e60b2742039b573e", + "path": "org/jetbrains/compose/ui/ui-tooling-preview/1.8.0-alpha04/ui-tooling-preview-1.8.0-alpha04.jar" + }, + { + "url": "org/jetbrains/compose/ui/ui-tooling-preview-desktop/1.8.0-alpha04/ui-tooling-preview-desktop-1.8.0-alpha04.jar", + "hash": "497823104629591a0bf40bb99546a6fc43fce0abbb3bfcac746748d60e8dba80", + "path": "org/jetbrains/compose/ui/ui-tooling-preview-desktop/1.8.0-alpha04/ui-tooling-preview-desktop-1.8.0-alpha04.jar" + }, + { + "url": "org/jetbrains/compose/runtime/runtime/1.8.0-alpha04/runtime-1.8.0-alpha04.jar", + "hash": "3941e008a0041664eea0712d8598cd957ab045cf8facac0033b35c5a251e3ea1", + "path": "org/jetbrains/compose/runtime/runtime/1.8.0-alpha04/runtime-1.8.0-alpha04.jar" + }, + { + "url": "org/jetbrains/compose/foundation/foundation-desktop/1.8.0-alpha04/foundation-desktop-1.8.0-alpha04.jar", + "hash": "52c64187d615ad38bf3df41068b2a0180d8188d0f875f79a46938f3073fdafbb", + "path": "org/jetbrains/compose/foundation/foundation-desktop/1.8.0-alpha04/foundation-desktop-1.8.0-alpha04.jar" + }, + { + "url": "androidx/annotation/annotation-jvm/1.9.1/annotation-jvm-1.9.1.jar", + "hash": "1e343917ebf27ba96fe4dc52b1cad7fd32b738fbc6355bb6cd5b3b305d7212d0", + "path": "androidx/annotation/annotation-jvm/1.9.1/annotation-jvm-1.9.1.jar" + }, + { + "url": "androidx/collection/collection-jvm/1.5.0-beta01/collection-jvm-1.5.0-beta01.jar", + "hash": "70b35924e4babcdffa37d0e575ee039c56a2d97123342624c48b603233704341", + "path": "androidx/collection/collection-jvm/1.5.0-beta01/collection-jvm-1.5.0-beta01.jar" + }, + { + "url": "androidx/performance/performance-annotation-jvm/1.0.0-alpha01/performance-annotation-jvm-1.0.0-alpha01.jar", + "hash": "8d00edd2b0ed35431017aa5997397e1dd140d4547f55462cd18a0c62c817e847", + "path": "androidx/performance/performance-annotation-jvm/1.0.0-alpha01/performance-annotation-jvm-1.0.0-alpha01.jar" + }, + { + "url": "org/jetbrains/compose/animation/animation-desktop/1.8.0-alpha04/animation-desktop-1.8.0-alpha04.jar", + "hash": "72e9e981a79b6db970fbc770163892b773e29db1b7dcbf0a865c5ec34ed3f9ac", + "path": "org/jetbrains/compose/animation/animation-desktop/1.8.0-alpha04/animation-desktop-1.8.0-alpha04.jar" + }, + { + "url": "org/jetbrains/compose/animation/animation-core-desktop/1.8.0-alpha04/animation-core-desktop-1.8.0-alpha04.jar", + "hash": "291aea1ca6feab3b0ac31cc1646ee2e634152e282bba2636fdd7e1b7e0c5b50c", + "path": "org/jetbrains/compose/animation/animation-core-desktop/1.8.0-alpha04/animation-core-desktop-1.8.0-alpha04.jar" + }, + { + "url": "org/jetbrains/compose/ui/ui-geometry-desktop/1.8.0-alpha04/ui-geometry-desktop-1.8.0-alpha04.jar", + "hash": "c22d44c85a5d557f61a25b610704f70507c7ad4fd161af712be3adf5c6614429", + "path": "org/jetbrains/compose/ui/ui-geometry-desktop/1.8.0-alpha04/ui-geometry-desktop-1.8.0-alpha04.jar" + }, + { + "url": "org/jetbrains/compose/foundation/foundation-layout-desktop/1.8.0-alpha04/foundation-layout-desktop-1.8.0-alpha04.jar", + "hash": "38297c980358678a238359b5d2bbb90e1136b49b800c6b2f0276e8475abe48c2", + "path": "org/jetbrains/compose/foundation/foundation-layout-desktop/1.8.0-alpha04/foundation-layout-desktop-1.8.0-alpha04.jar" + }, + { + "url": "org/jetbrains/compose/runtime/runtime-desktop/1.8.0-alpha04/runtime-desktop-1.8.0-alpha04.jar", + "hash": "758a8b46d8f74d3dd6a18ecf50db2c065da1714d5391eafa8cfc0d4ae0056327", + "path": "org/jetbrains/compose/runtime/runtime-desktop/1.8.0-alpha04/runtime-desktop-1.8.0-alpha04.jar" + }, + { + "url": "org/jetbrains/compose/ui/ui-desktop/1.8.0-alpha04/ui-desktop-1.8.0-alpha04.jar", + "hash": "2686fc8d0eea80b75ff8bee6438c16e7d8d8c08341bcd4d5748c389c67492fb9", + "path": "org/jetbrains/compose/ui/ui-desktop/1.8.0-alpha04/ui-desktop-1.8.0-alpha04.jar" + }, + { + "url": "androidx/lifecycle/lifecycle-common-jvm/2.9.0-alpha08/lifecycle-common-jvm-2.9.0-alpha08.jar", + "hash": "acb453973a1360ed18d840580e6f8d71dcabfa527aa1e859bed484db4c5335b1", + "path": "androidx/lifecycle/lifecycle-common-jvm/2.9.0-alpha08/lifecycle-common-jvm-2.9.0-alpha08.jar" + }, + { + "url": "org/jspecify/jspecify/1.0.0/jspecify-1.0.0.jar", + "hash": "1fad6e6be7557781e4d33729d49ae1cdc8fdda6fe477bb0cc68ce351eafdfbab", + "path": "org/jspecify/jspecify/1.0.0/jspecify-1.0.0.jar" + }, + { + "url": "androidx/lifecycle/lifecycle-runtime-desktop/2.9.0-alpha08/lifecycle-runtime-desktop-2.9.0-alpha08.jar", + "hash": "739e08e477466cd87184bbd17c490b3eb81d04dd17fe8b68c0b549a459e583ea", + "path": "androidx/lifecycle/lifecycle-runtime-desktop/2.9.0-alpha08/lifecycle-runtime-desktop-2.9.0-alpha08.jar" + }, + { + "url": "androidx/lifecycle/lifecycle-common/2.9.0-alpha08/lifecycle-common-2.9.0-alpha08.jar", + "hash": "49e9f49d93194176788bb8ca2672f69358ba466c00405861d91e11f0610c5f76", + "path": "androidx/lifecycle/lifecycle-common/2.9.0-alpha08/lifecycle-common-2.9.0-alpha08.jar" + }, + { + "url": "androidx/annotation/annotation/1.8.1/annotation-1.8.1.jar", + "hash": "fa5e67ffcc52a0413f4b39c2737b43c1ba6c6975b4bd4a4ea8627549e766285b", + "path": "androidx/annotation/annotation/1.8.1/annotation-1.8.1.jar" + }, + { + "url": "org/jetbrains/kotlinx/atomicfu/0.17.0/atomicfu-0.17.0.jar", + "hash": "5cbc0c867b5028242a760149b25e8190c9247f648e3e5e72501bea1fa7911b23", + "path": "org/jetbrains/kotlinx/atomicfu/0.17.0/atomicfu-0.17.0.jar" }, { "url": "androidx/arch/core/core-common/2.2.0/core-common-2.2.0.jar", @@ -5255,54 +5820,49 @@ "path": "androidx/arch/core/core-common/2.2.0/core-common-2.2.0.jar" }, { - "url": "androidx/lifecycle/lifecycle-viewmodel-desktop/2.8.5/lifecycle-viewmodel-desktop-2.8.5.jar", - "hash": "21ec0e77dc02ed0d6bfe6f3cba7f43e25400446d89ded8568ee165437e0c1922", - "path": "androidx/lifecycle/lifecycle-viewmodel-desktop/2.8.5/lifecycle-viewmodel-desktop-2.8.5.jar" + "url": "androidx/lifecycle/lifecycle-viewmodel-desktop/2.9.0-alpha08/lifecycle-viewmodel-desktop-2.9.0-alpha08.jar", + "hash": "5d120a2592f5d83e1cd7991aafafdd946abd77868cd22e769aa9a6027eb4b230", + "path": "androidx/lifecycle/lifecycle-viewmodel-desktop/2.9.0-alpha08/lifecycle-viewmodel-desktop-2.9.0-alpha08.jar" }, { - "url": "org/jetbrains/androidx/lifecycle/lifecycle-runtime-compose-desktop/2.8.3/lifecycle-runtime-compose-desktop-2.8.3.jar", - "hash": "c1e51a246e69e237e87d289be08bebd8d406ffe9ff60a125e8f2072db6119966", - "path": "org/jetbrains/androidx/lifecycle/lifecycle-runtime-compose-desktop/2.8.3/lifecycle-runtime-compose-desktop-2.8.3.jar" + "url": "org/jetbrains/androidx/lifecycle/lifecycle-runtime-compose-desktop/2.9.0-alpha04/lifecycle-runtime-compose-desktop-2.9.0-alpha04.jar", + "hash": "d284a13d10c29b8fe93ea5c39413cb8d7406532ba0f13760f7c5ce3aae977b84", + "path": "org/jetbrains/androidx/lifecycle/lifecycle-runtime-compose-desktop/2.9.0-alpha04/lifecycle-runtime-compose-desktop-2.9.0-alpha04.jar" }, { - "url": "androidx/annotation/annotation/1.8.0/annotation-1.8.0.jar", - "hash": "fe70ace6f942a5fc29045bb2fe25b4e77bdc742dc69f76ed65b39c3ae185888e", - "path": "androidx/annotation/annotation/1.8.0/annotation-1.8.0.jar" + "url": "org/jetbrains/compose/runtime/runtime-saveable-desktop/1.8.0-alpha04/runtime-saveable-desktop-1.8.0-alpha04.jar", + "hash": "33977899f904a7ee5c6992d79163af59d214cd898b0af3d37e094ec37d8ef59b", + "path": "org/jetbrains/compose/runtime/runtime-saveable-desktop/1.8.0-alpha04/runtime-saveable-desktop-1.8.0-alpha04.jar" }, { - "url": "org/jetbrains/compose/runtime/runtime-saveable-desktop/1.7.0/runtime-saveable-desktop-1.7.0.jar", - "hash": "4306363be90eaabe74b900db4c32ed1f15c7548e5b30a7093c4ee40c436b9b8c", - "path": "org/jetbrains/compose/runtime/runtime-saveable-desktop/1.7.0/runtime-saveable-desktop-1.7.0.jar" + "url": "org/jetbrains/compose/ui/ui-backhandler-desktop/1.8.0-alpha04/ui-backhandler-desktop-1.8.0-alpha04.jar", + "hash": "d93b6f0605d3d7a7ed7c5ca1782cbfc9194ca4a074ce8cfbe5b6018618045efb", + "path": "org/jetbrains/compose/ui/ui-backhandler-desktop/1.8.0-alpha04/ui-backhandler-desktop-1.8.0-alpha04.jar" }, { - "url": "org/jetbrains/compose/ui/ui-graphics-desktop/1.7.0/ui-graphics-desktop-1.7.0.jar", - "hash": "4fb70e8727af0c6e0d44d8f4bff65db9342a95c7996a180898fed71716787db8", - "path": "org/jetbrains/compose/ui/ui-graphics-desktop/1.7.0/ui-graphics-desktop-1.7.0.jar" + "url": "org/jetbrains/compose/ui/ui-graphics-desktop/1.8.0-alpha04/ui-graphics-desktop-1.8.0-alpha04.jar", + "hash": "7605320d82149da3b78fb83e97a006c36cee41c9e6df6bece9e67a9e3bd27827", + "path": "org/jetbrains/compose/ui/ui-graphics-desktop/1.8.0-alpha04/ui-graphics-desktop-1.8.0-alpha04.jar" }, { - "url": "org/jetbrains/compose/ui/ui-unit-desktop/1.7.0/ui-unit-desktop-1.7.0.jar", - "hash": "598b52e257ed674145694b9790a7383a90fed2ec7154ba09ace4aa983c65b1a2", - "path": "org/jetbrains/compose/ui/ui-unit-desktop/1.7.0/ui-unit-desktop-1.7.0.jar" + "url": "org/jetbrains/compose/ui/ui-unit-desktop/1.8.0-alpha04/ui-unit-desktop-1.8.0-alpha04.jar", + "hash": "505a77fcd544d8e158e3ad5b852adefcd961eb8fbd341feb8e21a693952db906", + "path": "org/jetbrains/compose/ui/ui-unit-desktop/1.8.0-alpha04/ui-unit-desktop-1.8.0-alpha04.jar" }, { - "url": "org/jetbrains/compose/ui/ui-text-desktop/1.7.0/ui-text-desktop-1.7.0.jar", - "hash": "80e07e4ca739f7b6122f63e9a17e6853b947220ecb1180f8dcaf419d0e468996", - "path": "org/jetbrains/compose/ui/ui-text-desktop/1.7.0/ui-text-desktop-1.7.0.jar" + "url": "org/jetbrains/compose/ui/ui-text-desktop/1.8.0-alpha04/ui-text-desktop-1.8.0-alpha04.jar", + "hash": "eb8ef32b95d6099098054cd494b00f1c9e3ddaa49e164c296dd03866c71bc45d", + "path": "org/jetbrains/compose/ui/ui-text-desktop/1.8.0-alpha04/ui-text-desktop-1.8.0-alpha04.jar" }, { - "url": "org/jetbrains/compose/ui/ui-util-desktop/1.7.0/ui-util-desktop-1.7.0.jar", - "hash": "161dcc73b929da61cee50045e96fb02f1633c36f18a2ef38b5c2c44c38606b52", - "path": "org/jetbrains/compose/ui/ui-util-desktop/1.7.0/ui-util-desktop-1.7.0.jar" + "url": "org/jetbrains/compose/ui/ui-util-desktop/1.8.0-alpha04/ui-util-desktop-1.8.0-alpha04.jar", + "hash": "cdd9f33872710c14df7550dadbfc91d55ad9a3b7134431c2af8eb42f757e17af", + "path": "org/jetbrains/compose/ui/ui-util-desktop/1.8.0-alpha04/ui-util-desktop-1.8.0-alpha04.jar" }, { - "url": "org/jetbrains/compose/components/components-resources-desktop/1.7.0/components-resources-desktop-1.7.0.jar", - "hash": "1584b739e8f1869e4f340519dc984d4a44582a80ef323e655999ddb18dd954c2", - "path": "org/jetbrains/compose/components/components-resources-desktop/1.7.0/components-resources-desktop-1.7.0.jar" - }, - { - "url": "org/jetbrains/compose/runtime/runtime-desktop/1.7.0/runtime-desktop-1.7.0.jar", - "hash": "76e3250547b9ca3cb1a49c272933b25cb3bccbc9ba12775dd6161a63d9aa7cf1", - "path": "org/jetbrains/compose/runtime/runtime-desktop/1.7.0/runtime-desktop-1.7.0.jar" + "url": "org/jetbrains/kotlinx/atomicfu-jvm/0.23.2/atomicfu-jvm-0.23.2.jar", + "hash": "101ff43ff563fca167af5ade98c3b69bf569010eab745013b84d8955034d3b3c", + "path": "org/jetbrains/kotlinx/atomicfu-jvm/0.23.2/atomicfu-jvm-0.23.2.jar" }, { "url": "cglib/cglib-nodep/3.3.0/cglib-nodep-3.3.0.jar", @@ -5335,14 +5895,14 @@ "path": "org/jetbrains/intellij/deps/debugger-memory-agent/1.0.51/debugger-memory-agent-1.0.51.jar" }, { - "url": "org/jetbrains/intellij/deps/sa-jdwp/1.22/sa-jdwp-1.22.jar", - "hash": "eaee1397eb553601c29954945e6dafbd7b9a17983704da4088db4da65a156b21", - "path": "org/jetbrains/intellij/deps/sa-jdwp/1.22/sa-jdwp-1.22.jar" + "url": "org/jetbrains/intellij/deps/sa-jdwp/1.24/sa-jdwp-1.24.jar", + "hash": "2334e030f1ebdaddbd84aa8cd3af514a3b80d674b343532187b6d6bdff24329d", + "path": "org/jetbrains/intellij/deps/sa-jdwp/1.24/sa-jdwp-1.24.jar" }, { - "url": "org/jetbrains/intellij/deps/debugger-agent/1.47/debugger-agent-1.47.jar", - "hash": "abdc709c4777d5de52f72cfd40f787d654eaea718a6b7186445a40b5bb81defe", - "path": "org/jetbrains/intellij/deps/debugger-agent/1.47/debugger-agent-1.47.jar" + "url": "org/jetbrains/intellij/deps/debugger-agent/1.53/debugger-agent-1.53.jar", + "hash": "cdd1e043326c1cd5a73c1a97fcf7838544c01a3293badb7e9440de5edd899e9b", + "path": "org/jetbrains/intellij/deps/debugger-agent/1.53/debugger-agent-1.53.jar" }, { "url": "org/jacoco/org.jacoco.ant/0.8.12/org.jacoco.ant-0.8.12.jar", @@ -5420,9 +5980,9 @@ "path": "org/junit/platform/junit-platform-engine/1.8.1/junit-platform-engine-1.8.1.jar" }, { - "url": "org/languagetool/languagetool-core/6.4/languagetool-core-6.4.jar", - "hash": "d294773b397ab740f39add9cf4028f15399599cb762af359448586e777a5e3d3", - "path": "org/languagetool/languagetool-core/6.4/languagetool-core-6.4.jar" + "url": "org/jetbrains/intellij/deps/languagetool/languagetool-core/6.5.0.12/languagetool-core-6.5.0.12.jar", + "hash": "e10d39ffb791e396af55a91c469103f1dd0b8c8345cae5a33597ac7d11cc3698", + "path": "org/jetbrains/intellij/deps/languagetool/languagetool-core/6.5.0.12/languagetool-core-6.5.0.12.jar" }, { "url": "edu/washington/cs/knowitall/openregex/1.1.1/openregex-1.1.1.jar", @@ -5430,14 +5990,14 @@ "path": "edu/washington/cs/knowitall/openregex/1.1.1/openregex-1.1.1.jar" }, { - "url": "org/languagetool/language-ru/6.4/language-ru-6.4.jar", - "hash": "1aca970f0f9a297bb12dde5ee70e2ba413a0f312c464fb3e155db696f867e4fe", - "path": "org/languagetool/language-ru/6.4/language-ru-6.4.jar" + "url": "org/jetbrains/intellij/deps/languagetool/language-ru/6.5.0.12/language-ru-6.5.0.12.jar", + "hash": "41ae74c748ee15fdc90ea9536575490850b8d044b39d92f85e2d30072ca0cb8c", + "path": "org/jetbrains/intellij/deps/languagetool/language-ru/6.5.0.12/language-ru-6.5.0.12.jar" }, { - "url": "org/languagetool/language-de/6.4/language-de-6.4.jar", - "hash": "f9f6d61c460c86e30e28397c3326a998f93953b2a2a02c2af91003c7838470ee", - "path": "org/languagetool/language-de/6.4/language-de-6.4.jar" + "url": "org/jetbrains/intellij/deps/languagetool/language-de/6.5.0.12/language-de-6.5.0.12.jar", + "hash": "75cb2c34c15ef013a3b910bd072e006dec9128f5f39060202addcb7f85961714", + "path": "org/jetbrains/intellij/deps/languagetool/language-de/6.5.0.12/language-de-6.5.0.12.jar" }, { "url": "de/danielnaber/german-pos-dict/1.2.4/german-pos-dict-1.2.4.jar", @@ -5450,19 +6010,14 @@ "path": "de/danielnaber/jwordsplitter/4.7/jwordsplitter-4.7.jar" }, { - "url": "edu/washington/cs/knowitall/openregex/1.1.1/openregex-1.1.1.jar", - "hash": "33021c9cca70c6292d53ff7dac5d1832d422e986aba52ec998532a5f47f921f8", - "path": "edu/washington/cs/knowitall/openregex/1.1.1/openregex-1.1.1.jar" + "url": "org/jetbrains/intellij/deps/languagetool/language-it/6.5.0.12/language-it-6.5.0.12.jar", + "hash": "a9507ccc947090df269fe7f75eb416f1ac69941920c8075497606d8f8f275f8c", + "path": "org/jetbrains/intellij/deps/languagetool/language-it/6.5.0.12/language-it-6.5.0.12.jar" }, { - "url": "org/languagetool/language-it/6.4/language-it-6.4.jar", - "hash": "7b90dfc47041ff31a7fd06c1803f30de88072278ad768d65c588205b68fceb25", - "path": "org/languagetool/language-it/6.4/language-it-6.4.jar" - }, - { - "url": "org/languagetool/languagetool-core/6.4/languagetool-core-6.4.jar", - "hash": "d294773b397ab740f39add9cf4028f15399599cb762af359448586e777a5e3d3", - "path": "org/languagetool/languagetool-core/6.4/languagetool-core-6.4.jar" + "url": "org/jetbrains/intellij/deps/languagetool/languagetool-core/6.5.0.12/languagetool-core-6.5.0.12.jar", + "hash": "e10d39ffb791e396af55a91c469103f1dd0b8c8345cae5a33597ac7d11cc3698", + "path": "org/jetbrains/intellij/deps/languagetool/languagetool-core/6.5.0.12/languagetool-core-6.5.0.12.jar" }, { "url": "edu/washington/cs/knowitall/openregex/1.1.1/openregex-1.1.1.jar", @@ -5470,9 +6025,9 @@ "path": "edu/washington/cs/knowitall/openregex/1.1.1/openregex-1.1.1.jar" }, { - "url": "org/languagetool/language-en/6.4/language-en-6.4.jar", - "hash": "68a46d9f5d85f207ea470863ead0d5b498d7b112f6f1fb98e9d2e58c7aabfe38", - "path": "org/languagetool/language-en/6.4/language-en-6.4.jar" + "url": "org/jetbrains/intellij/deps/languagetool/language-en/6.5.0.12/language-en-6.5.0.12.jar", + "hash": "3eae20541a836164fc33136971c8d09899b08fecf4df1ccc490b1371a4563730", + "path": "org/jetbrains/intellij/deps/languagetool/language-en/6.5.0.12/language-en-6.5.0.12.jar" }, { "url": "org/languagetool/english-pos-dict/0.3/english-pos-dict-0.3.jar", @@ -5540,59 +6095,54 @@ "path": "org/json/json/20240205/json-20240205.jar" }, { - "url": "ai/grazie/utils/utils-lucene-lt-compatibility/0.3.133/utils-lucene-lt-compatibility-0.3.133.jar", - "hash": "d42719647748cf655f126ddad767ef62804079fe9b52d81ced30a7b7bd4ca780", - "path": "ai/grazie/utils/utils-lucene-lt-compatibility/0.3.133/utils-lucene-lt-compatibility-0.3.133.jar" + "url": "ai/grazie/utils/utils-lucene-lt-compatibility/0.4.16/utils-lucene-lt-compatibility-0.4.16.jar", + "hash": "c9f992502b804b28381d5b194f855280e69b8866c292a1449589ad389f1c05a9", + "path": "ai/grazie/utils/utils-lucene-lt-compatibility/0.4.16/utils-lucene-lt-compatibility-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-langs-jvm/0.3.133/nlp-langs-jvm-0.3.133.jar", - "hash": "270164fec0acafa1a38795d66229b7099776879bb4eb659fe01c505eb2659f5c", - "path": "ai/grazie/nlp/nlp-langs-jvm/0.3.133/nlp-langs-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-detect-jvm/0.4.16/nlp-detect-jvm-0.4.16.jar", + "hash": "5f28a3687f814c10cef0e3a733295ba26732d06242bad4f5e991c802c30169f7", + "path": "ai/grazie/nlp/nlp-detect-jvm/0.4.16/nlp-detect-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-detect-jvm/0.3.133/nlp-detect-jvm-0.3.133.jar", - "hash": "24c494d1cb209ebbf2dd6fffa7c67499731db59968f28a560bb2938f35bcd22f", - "path": "ai/grazie/nlp/nlp-detect-jvm/0.3.133/nlp-detect-jvm-0.3.133.jar" + "url": "ai/grazie/utils/utils-common-jvm/0.4.16/utils-common-jvm-0.4.16.jar", + "hash": "1721b8bb4a7dbcbc34da8cec18100f03b72c8c06d4e945622c1a24b720981b73", + "path": "ai/grazie/utils/utils-common-jvm/0.4.16/utils-common-jvm-0.4.16.jar" }, { - "url": "ai/grazie/utils/utils-common-jvm/0.3.133/utils-common-jvm-0.3.133.jar", - "hash": "c543a072a0f4d96c3afa37756f694be4a9348777fd7690ab4bd21e7df466a309", - "path": "ai/grazie/utils/utils-common-jvm/0.3.133/utils-common-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-common-jvm/0.4.16/nlp-common-jvm-0.4.16.jar", + "hash": "d1c17c4dbb3f5f43b6e3cfc30a319d1a050aa5425ab0ce27b802b90f114a649e", + "path": "ai/grazie/nlp/nlp-common-jvm/0.4.16/nlp-common-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-common-jvm/0.3.133/nlp-common-jvm-0.3.133.jar", - "hash": "985c391e50c040cfb4f0e9f2bd297f1333343392e894ad4c3cc52846f8693e6b", - "path": "ai/grazie/nlp/nlp-common-jvm/0.3.133/nlp-common-jvm-0.3.133.jar" + "url": "ai/grazie/model/model-text-jvm/0.4.16/model-text-jvm-0.4.16.jar", + "hash": "fac290bca4ef5ac2084e35dcb1663d5725de799d51333359931f542690672d7b", + "path": "ai/grazie/model/model-text-jvm/0.4.16/model-text-jvm-0.4.16.jar" }, { - "url": "ai/grazie/model/model-text-jvm/0.3.133/model-text-jvm-0.3.133.jar", - "hash": "dfd010d8b4d0522121fef66652cae5c73f0dfde77cc79cf1c73067a7e63e8cf2", - "path": "ai/grazie/model/model-text-jvm/0.3.133/model-text-jvm-0.3.133.jar" + "url": "ai/grazie/model/model-common-jvm/0.4.16/model-common-jvm-0.4.16.jar", + "hash": "58339397d3350db6c549a5ebee98b9611693c187fa2311b18aa849e27067c438", + "path": "ai/grazie/model/model-common-jvm/0.4.16/model-common-jvm-0.4.16.jar" }, { - "url": "ai/grazie/model/model-common-jvm/0.3.133/model-common-jvm-0.3.133.jar", - "hash": "8fb936cb7c83862210841d81a870a9ea6677a0122ff0c7c8c055705c3945100a", - "path": "ai/grazie/model/model-common-jvm/0.3.133/model-common-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-patterns-jvm/0.4.16/nlp-patterns-jvm-0.4.16.jar", + "hash": "add762a914bd20ca21ea25b43f24627f902b687514ddce9ba28916bb20e8066e", + "path": "ai/grazie/nlp/nlp-patterns-jvm/0.4.16/nlp-patterns-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-patterns-jvm/0.3.133/nlp-patterns-jvm-0.3.133.jar", - "hash": "739fa806547fa71a3c36ae65128308138617d19b699db272bd9cfcede754cc50", - "path": "ai/grazie/nlp/nlp-patterns-jvm/0.3.133/nlp-patterns-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-tokenizer-jvm/0.4.16/nlp-tokenizer-jvm-0.4.16.jar", + "hash": "fcc839a317aba9e165c4d061e0f266dcebf32c7ceee9cb5571144cd1db60d63d", + "path": "ai/grazie/nlp/nlp-tokenizer-jvm/0.4.16/nlp-tokenizer-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-tokenizer-jvm/0.3.133/nlp-tokenizer-jvm-0.3.133.jar", - "hash": "3c3b9b40dc65a8542edcf5f919cc700536829d0c2b9f9eb23e8c89e2d7c437d9", - "path": "ai/grazie/nlp/nlp-tokenizer-jvm/0.3.133/nlp-tokenizer-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-similarity-jvm/0.4.16/nlp-similarity-jvm-0.4.16.jar", + "hash": "79a42758913de07c1ebeb851a4a70236309ea12dcb64d1db7ea007618593470f", + "path": "ai/grazie/nlp/nlp-similarity-jvm/0.4.16/nlp-similarity-jvm-0.4.16.jar" }, { - "url": "ai/grazie/nlp/nlp-similarity-jvm/0.3.133/nlp-similarity-jvm-0.3.133.jar", - "hash": "1071e4c47a14f1df6d3ecaf0c5d3c2272fe9c691e350e5cd442385f7a5f8256c", - "path": "ai/grazie/nlp/nlp-similarity-jvm/0.3.133/nlp-similarity-jvm-0.3.133.jar" - }, - { - "url": "ai/grazie/nlp/nlp-langs-jvm/0.3.133/nlp-langs-jvm-0.3.133.jar", - "hash": "270164fec0acafa1a38795d66229b7099776879bb4eb659fe01c505eb2659f5c", - "path": "ai/grazie/nlp/nlp-langs-jvm/0.3.133/nlp-langs-jvm-0.3.133.jar" + "url": "ai/grazie/nlp/nlp-langs-jvm/0.4.16/nlp-langs-jvm-0.4.16.jar", + "hash": "dd132003dfc893e046834ec15ec5104f067d7a90eb9786e85f49b4e47bac4561", + "path": "ai/grazie/nlp/nlp-langs-jvm/0.4.16/nlp-langs-jvm-0.4.16.jar" }, { "url": "io/github/classgraph/classgraph/4.8.87/classgraph-4.8.87.jar", @@ -5609,6 +6159,11 @@ "hash": "cdb3d038c188de6f46ffd5cd930be2d5e5dba59c53b26437995d534e3db2fb80", "path": "org/objenesis/objenesis/3.1/objenesis-3.1.jar" }, + { + "url": "org/apache/ant/ant/1.10.15/ant-1.10.15.jar", + "hash": "763acda4a69588c9ea8817a952851ff0c2fc4bffa1d081c2565dc407f29d5794", + "path": "org/apache/ant/ant/1.10.15/ant-1.10.15.jar" + }, { "url": "org/jetbrains/intellij/deps/filePrediction/model/file-prediction-model/0.3.0/file-prediction-model-0.3.0.jar", "hash": "e506fd77462afcdb16f0ccfe7c96c1549443580a3be240c5dcff1ae2bfac0555", @@ -6014,11 +6569,6 @@ "hash": "e7faa7021cfd9042231fbb5e6bbea2616f7c6947905e5db95c196e9a602f88a0", "path": "org/jetbrains/intellij/deps/android/tools/base/libserver-flag-test-proto/232.1.23.0/libserver-flag-test-proto-232.1.23.0.jar" }, - { - "url": "org/jetbrains/intellij/deps/android/tools/base/liblint-checks-proto.lib/232.1.23.0/liblint-checks-proto.lib-232.1.23.0.jar", - "hash": "e7cbc38e71c6d6c6368fd73ee6c56c88e10c504d08e373c1c9afc262e0430512", - "path": "org/jetbrains/intellij/deps/android/tools/base/liblint-checks-proto.lib/232.1.23.0/liblint-checks-proto.lib-232.1.23.0.jar" - }, { "url": "org/jetbrains/intellij/deps/android/tools/base/traceprocessor_protos/232.1.23.0/traceprocessor_protos-232.1.23.0.jar", "hash": "d34f8d993c5ad098050d512e3abfd2e6361b73e41b029f58af20dfc89e4ad62c", @@ -6054,31 +6604,6 @@ "hash": "7b5a2c04f1c942af3d8b891a9a535e74cfa45b4151b7835c3e9f63e96ec0332f", "path": "org/eclipse/elk/org.eclipse.elk.alg.common.compaction/0.3.0/org.eclipse.elk.alg.common.compaction-0.3.0.jar" }, - { - "url": "org/jetbrains/intellij/deps/android/tools/base/jb-r8/232.1.23.0/jb-r8-232.1.23.0.jar", - "hash": "2f0cb16c17ded3eaeeebbd3abd350651569d94f28bee887563de65f0e8b54153", - "path": "org/jetbrains/intellij/deps/android/tools/base/jb-r8/232.1.23.0/jb-r8-232.1.23.0.jar" - }, - { - "url": "org/jetbrains/intellij/deps/android/tools/base/libandroid-core-proto-test/232.1.23.0/libandroid-core-proto-test-232.1.23.0.jar", - "hash": "8be2430e78591325783f5491959a86685404626ba9c585fb1ba8248e0bf10ed7", - "path": "org/jetbrains/intellij/deps/android/tools/base/libandroid-core-proto-test/232.1.23.0/libandroid-core-proto-test-232.1.23.0.jar" - }, - { - "url": "org/jetbrains/intellij/deps/android/tools/base/libstudio.android-test-plugin-host-retention-proto/232.1.23.0/libstudio.android-test-plugin-host-retention-proto-232.1.23.0.jar", - "hash": "4b7f508bdaa694e8e4e8d7df88c934e159871fa5228a045f42666f6c59dd5541", - "path": "org/jetbrains/intellij/deps/android/tools/base/libstudio.android-test-plugin-host-retention-proto/232.1.23.0/libstudio.android-test-plugin-host-retention-proto-232.1.23.0.jar" - }, - { - "url": "org/jetbrains/intellij/deps/android/tools/base/libandroid-core-proto/232.1.23.0/libandroid-core-proto-232.1.23.0.jar", - "hash": "3f1c9633ab5088526450c72bd456d6a6704a70744b8118638233fd63b1001ed0", - "path": "org/jetbrains/intellij/deps/android/tools/base/libandroid-core-proto/232.1.23.0/libandroid-core-proto-232.1.23.0.jar" - }, - { - "url": "org/jetbrains/intellij/deps/android/tools/base/jb-r8/232.1.23.0/jb-r8-232.1.23.0.jar", - "hash": "2f0cb16c17ded3eaeeebbd3abd350651569d94f28bee887563de65f0e8b54153", - "path": "org/jetbrains/intellij/deps/android/tools/base/jb-r8/232.1.23.0/jb-r8-232.1.23.0.jar" - }, { "url": "org/brotli/dec/0.1.2/dec-0.1.2.jar", "hash": "615c0c3efef990d77831104475fba6a1f7971388691d4bad1471ad84101f6d52", @@ -6095,69 +6620,59 @@ "path": "org/jetbrains/intellij/deps/android/tools/base/backgroundtask_inspector_java_proto/232.1.23.0/backgroundtask_inspector_java_proto-232.1.23.0.jar" }, { - "url": "org/jetbrains/skiko/skiko-awt-runtime-all/0.8.12/skiko-awt-runtime-all-0.8.12.jar", - "hash": "5f484588775569f3e0d18a63e1f370f74452d74e6bcc2bed15b8b9c5e4b1dadb", - "path": "org/jetbrains/skiko/skiko-awt-runtime-all/0.8.12/skiko-awt-runtime-all-0.8.12.jar" + "url": "org/jetbrains/skiko/skiko-awt-runtime-all/0.8.18/skiko-awt-runtime-all-0.8.18.jar", + "hash": "3b50eeef280bf673bcd02cbb2ea9d3e43d88f87f2d51409cc84d99453896629c", + "path": "org/jetbrains/skiko/skiko-awt-runtime-all/0.8.18/skiko-awt-runtime-all-0.8.18.jar" }, { - "url": "org/jetbrains/compose/ui/ui-test-junit4-desktop/1.7.0-beta02/ui-test-junit4-desktop-1.7.0-beta02.jar", + "url": "org/jetbrains/compose/ui/ui-test-junit4-desktop/1.7.1/ui-test-junit4-desktop-1.7.1.jar", "hash": "f1e334b73d49ceab00afe776a4c393de77b4fc805e9ff488dac596a2663b1dc1", - "path": "org/jetbrains/compose/ui/ui-test-junit4-desktop/1.7.0-beta02/ui-test-junit4-desktop-1.7.0-beta02.jar" + "path": "org/jetbrains/compose/ui/ui-test-junit4-desktop/1.7.1/ui-test-junit4-desktop-1.7.1.jar" }, { - "url": "org/jetbrains/compose/ui/ui-test-desktop/1.7.0-beta02/ui-test-desktop-1.7.0-beta02.jar", + "url": "org/jetbrains/compose/ui/ui-test-desktop/1.7.1/ui-test-desktop-1.7.1.jar", "hash": "34dfab5b4fa8b2913f00facdddc049e2fef4b176f8e7cde0ad306485674c3b5c", - "path": "org/jetbrains/compose/ui/ui-test-desktop/1.7.0-beta02/ui-test-desktop-1.7.0-beta02.jar" + "path": "org/jetbrains/compose/ui/ui-test-desktop/1.7.1/ui-test-desktop-1.7.1.jar" }, { - "url": "org/jetbrains/jewel/jewel-markdown-int-ui-standalone-styling-242/0.25.0/jewel-markdown-int-ui-standalone-styling-242-0.25.0.jar", - "hash": "5cd0874b1aa1ee4925c315cc599412b497d056c601be1fb5ca81209686cec674", - "path": "org/jetbrains/jewel/jewel-markdown-int-ui-standalone-styling-242/0.25.0/jewel-markdown-int-ui-standalone-styling-242-0.25.0.jar" + "url": "org/jetbrains/jewel/jewel-markdown-int-ui-standalone-styling-243/0.27.0/jewel-markdown-int-ui-standalone-styling-243-0.27.0.jar", + "hash": "de85ba5f961dccd756ce55f093372fc9749cf028b9739db235340d261abddd0a", + "path": "org/jetbrains/jewel/jewel-markdown-int-ui-standalone-styling-243/0.27.0/jewel-markdown-int-ui-standalone-styling-243-0.27.0.jar" }, { - "url": "org/jetbrains/jewel/jewel-int-ui-standalone-242/0.25.0/jewel-int-ui-standalone-242-0.25.0.jar", - "hash": "b45ecb2a78ba691c0df2886d8adffb67106d6644cdbd628edd005b8c2688ebdc", - "path": "org/jetbrains/jewel/jewel-int-ui-standalone-242/0.25.0/jewel-int-ui-standalone-242-0.25.0.jar" + "url": "org/jetbrains/jewel/jewel-markdown-core-243/0.27.0/jewel-markdown-core-243-0.27.0.jar", + "hash": "377d9f19ebc66b151b262184bc5bd5047c185087505baf8784e3a05150e6d1ef", + "path": "org/jetbrains/jewel/jewel-markdown-core-243/0.27.0/jewel-markdown-core-243-0.27.0.jar" }, { - "url": "org/jetbrains/jewel/jewel-markdown-ide-laf-bridge-styling-242/0.25.0/jewel-markdown-ide-laf-bridge-styling-242-0.25.0.jar", - "hash": "a48fdb886bf182f54351b4f6212e5af3f2f829acbc3b2c9a6aed59c4c72f8424", - "path": "org/jetbrains/jewel/jewel-markdown-ide-laf-bridge-styling-242/0.25.0/jewel-markdown-ide-laf-bridge-styling-242-0.25.0.jar" + "url": "org/commonmark/commonmark/0.24.0/commonmark-0.24.0.jar", + "hash": "679338e0b7fc15c02d275d598654b01a149893bc28a87992e90123c8d06af25b", + "path": "org/commonmark/commonmark/0.24.0/commonmark-0.24.0.jar" }, { - "url": "org/jetbrains/jewel/jewel-markdown-core-242/0.25.0/jewel-markdown-core-242-0.25.0.jar", - "hash": "40713997b5b7daf5c3563eec8a6b769fbb775018fb1112aa16a8086af73c0222", - "path": "org/jetbrains/jewel/jewel-markdown-core-242/0.25.0/jewel-markdown-core-242-0.25.0.jar" + "url": "org/jetbrains/jewel/jewel-int-ui-standalone-243/0.27.0/jewel-int-ui-standalone-243-0.27.0.jar", + "hash": "8fdf9e0041d62848297eada9c58dfe7cdd93902667a8e654b7d0aaf8b1ba240e", + "path": "org/jetbrains/jewel/jewel-int-ui-standalone-243/0.27.0/jewel-int-ui-standalone-243-0.27.0.jar" }, { - "url": "org/commonmark/commonmark/0.22.0/commonmark-0.22.0.jar", - "hash": "3417909f2997bc8c61d90d64c6af29f4a3f5b6729caceaef97221ceac93df814", - "path": "org/commonmark/commonmark/0.22.0/commonmark-0.22.0.jar" + "url": "org/jetbrains/jewel/jewel-ide-laf-bridge-243/0.27.0/jewel-ide-laf-bridge-243-0.27.0.jar", + "hash": "b2b988104d5cfb8d3c185e588d73bdb75bb1beea0f74994a7f01e1bbb427d085", + "path": "org/jetbrains/jewel/jewel-ide-laf-bridge-243/0.27.0/jewel-ide-laf-bridge-243-0.27.0.jar" }, { - "url": "org/jetbrains/jewel/jewel-ide-laf-bridge-242/0.25.0/jewel-ide-laf-bridge-242-0.25.0.jar", - "hash": "b7a484a4388360171ba5d61eb511608720331d42d41627ff7342e514347f6a23", - "path": "org/jetbrains/jewel/jewel-ide-laf-bridge-242/0.25.0/jewel-ide-laf-bridge-242-0.25.0.jar" + "url": "org/jetbrains/jewel/jewel-ui-243/0.27.0/jewel-ui-243-0.27.0.jar", + "hash": "7ebfaa3b64dc0d10d5ba915f50deae5ee89610ef953db263b089c81eed557e66", + "path": "org/jetbrains/jewel/jewel-ui-243/0.27.0/jewel-ui-243-0.27.0.jar" }, { - "url": "org/jetbrains/jewel/jewel-ide-laf-bridge-242/0.25.0/jewel-ide-laf-bridge-242-0.25.0.jar", - "hash": "b7a484a4388360171ba5d61eb511608720331d42d41627ff7342e514347f6a23", - "path": "org/jetbrains/jewel/jewel-ide-laf-bridge-242/0.25.0/jewel-ide-laf-bridge-242-0.25.0.jar" + "url": "org/jetbrains/jewel/jewel-foundation-243/0.27.0/jewel-foundation-243-0.27.0.jar", + "hash": "414ecd3268a0cb2d1dfbd49861bf774e6d9e89d665e4bfd4049c09fd020807f0", + "path": "org/jetbrains/jewel/jewel-foundation-243/0.27.0/jewel-foundation-243-0.27.0.jar" }, { - "url": "org/jetbrains/jewel/jewel-ui-242/0.25.0/jewel-ui-242-0.25.0.jar", - "hash": "5f44765bb9566775bc8578c7a4843128b6b5e6560b516dc07bb0773c4220db34", - "path": "org/jetbrains/jewel/jewel-ui-242/0.25.0/jewel-ui-242-0.25.0.jar" - }, - { - "url": "org/jetbrains/jewel/jewel-foundation-242/0.25.0/jewel-foundation-242-0.25.0.jar", - "hash": "05cba8a5cf9dd9fc28777c6cb67de1ea05b00fa1d2730e1397e72d8a9d565a92", - "path": "org/jetbrains/jewel/jewel-foundation-242/0.25.0/jewel-foundation-242-0.25.0.jar" - }, - { - "url": "org/jetbrains/compose/foundation/foundation-desktop/1.7.0-beta02/foundation-desktop-1.7.0-beta02.jar", - "hash": "2c63f62672141736696afe3dba275d651c01372a4a425c50d63e0c2955e7c08f", - "path": "org/jetbrains/compose/foundation/foundation-desktop/1.7.0-beta02/foundation-desktop-1.7.0-beta02.jar" + "url": "org/jetbrains/compose/foundation/foundation-desktop/1.7.1/foundation-desktop-1.7.1.jar", + "hash": "50df385b328a0ad7a479e690cfe593fbce08ad39ed57916747932956dee07f0b", + "path": "org/jetbrains/compose/foundation/foundation-desktop/1.7.1/foundation-desktop-1.7.1.jar" }, { "url": "androidx/annotation/annotation-jvm/1.8.0/annotation-jvm-1.8.0.jar", @@ -6170,39 +6685,39 @@ "path": "androidx/collection/collection-jvm/1.4.0/collection-jvm-1.4.0.jar" }, { - "url": "org/jetbrains/compose/animation/animation-desktop/1.7.0-beta02/animation-desktop-1.7.0-beta02.jar", - "hash": "5628022a524e81603b2c62303b967863203d86bdad898f7d66f71e6e9c511ede", - "path": "org/jetbrains/compose/animation/animation-desktop/1.7.0-beta02/animation-desktop-1.7.0-beta02.jar" + "url": "org/jetbrains/compose/animation/animation-desktop/1.7.1/animation-desktop-1.7.1.jar", + "hash": "474e6bd2a6ac2362e5dabd780f93b852768640aa16403b0fc505da88177f97b3", + "path": "org/jetbrains/compose/animation/animation-desktop/1.7.1/animation-desktop-1.7.1.jar" }, { - "url": "org/jetbrains/compose/animation/animation-core-desktop/1.7.0-beta02/animation-core-desktop-1.7.0-beta02.jar", - "hash": "31c475b8534a8307de86f36aa095c9ea9fae2fbc3a9c2ecf30bc3317ead6d487", - "path": "org/jetbrains/compose/animation/animation-core-desktop/1.7.0-beta02/animation-core-desktop-1.7.0-beta02.jar" + "url": "org/jetbrains/compose/animation/animation-core-desktop/1.7.1/animation-core-desktop-1.7.1.jar", + "hash": "2b347abf6c48626153a02b70eef6bbe1d3c9527515d6f9f7eceaea3c398533bb", + "path": "org/jetbrains/compose/animation/animation-core-desktop/1.7.1/animation-core-desktop-1.7.1.jar" }, { - "url": "org/jetbrains/compose/ui/ui-geometry-desktop/1.7.0-beta02/ui-geometry-desktop-1.7.0-beta02.jar", + "url": "org/jetbrains/compose/ui/ui-geometry-desktop/1.7.1/ui-geometry-desktop-1.7.1.jar", "hash": "4b86c961c0b4bce7995329fd57d4339ede11cb75d7ec90bc1b9913396addb30f", - "path": "org/jetbrains/compose/ui/ui-geometry-desktop/1.7.0-beta02/ui-geometry-desktop-1.7.0-beta02.jar" + "path": "org/jetbrains/compose/ui/ui-geometry-desktop/1.7.1/ui-geometry-desktop-1.7.1.jar" }, { - "url": "org/jetbrains/compose/foundation/foundation-layout-desktop/1.7.0-beta02/foundation-layout-desktop-1.7.0-beta02.jar", + "url": "org/jetbrains/compose/foundation/foundation-layout-desktop/1.7.1/foundation-layout-desktop-1.7.1.jar", "hash": "d2c867c13ff6632f9880e67dabab2e930007b008b9b22950fc2cc075008eceb6", - "path": "org/jetbrains/compose/foundation/foundation-layout-desktop/1.7.0-beta02/foundation-layout-desktop-1.7.0-beta02.jar" + "path": "org/jetbrains/compose/foundation/foundation-layout-desktop/1.7.1/foundation-layout-desktop-1.7.1.jar" }, { - "url": "org/jetbrains/compose/ui/ui-desktop/1.7.0-beta02/ui-desktop-1.7.0-beta02.jar", - "hash": "781f0bbff8b4efbc5c859272babd985df7cb4692a68645c25551eb4417075cca", - "path": "org/jetbrains/compose/ui/ui-desktop/1.7.0-beta02/ui-desktop-1.7.0-beta02.jar" + "url": "org/jetbrains/compose/ui/ui-desktop/1.7.1/ui-desktop-1.7.1.jar", + "hash": "40729b9637eac91fd9ba9d10c4cd2eb328bb3116f8097a5b9d3f071971cea022", + "path": "org/jetbrains/compose/ui/ui-desktop/1.7.1/ui-desktop-1.7.1.jar" }, { - "url": "androidx/lifecycle/lifecycle-common-jvm/2.8.4/lifecycle-common-jvm-2.8.4.jar", + "url": "androidx/lifecycle/lifecycle-common-jvm/2.8.5/lifecycle-common-jvm-2.8.5.jar", "hash": "61c873a7327c946ec033c310bb98f3f92eeabcede0e1a5200ab8a1896483c7bf", - "path": "androidx/lifecycle/lifecycle-common-jvm/2.8.4/lifecycle-common-jvm-2.8.4.jar" + "path": "androidx/lifecycle/lifecycle-common-jvm/2.8.5/lifecycle-common-jvm-2.8.5.jar" }, { - "url": "androidx/lifecycle/lifecycle-runtime-desktop/2.8.4/lifecycle-runtime-desktop-2.8.4.jar", + "url": "androidx/lifecycle/lifecycle-runtime-desktop/2.8.5/lifecycle-runtime-desktop-2.8.5.jar", "hash": "10bfe53bb2752f967751a5102cdb785eeea54e1d4df6bde88fb0f50b0a49156c", - "path": "androidx/lifecycle/lifecycle-runtime-desktop/2.8.4/lifecycle-runtime-desktop-2.8.4.jar" + "path": "androidx/lifecycle/lifecycle-runtime-desktop/2.8.5/lifecycle-runtime-desktop-2.8.5.jar" }, { "url": "androidx/arch/core/core-common/2.2.0/core-common-2.2.0.jar", @@ -6210,14 +6725,14 @@ "path": "androidx/arch/core/core-common/2.2.0/core-common-2.2.0.jar" }, { - "url": "androidx/lifecycle/lifecycle-viewmodel-desktop/2.8.4/lifecycle-viewmodel-desktop-2.8.4.jar", + "url": "androidx/lifecycle/lifecycle-viewmodel-desktop/2.8.5/lifecycle-viewmodel-desktop-2.8.5.jar", "hash": "21ec0e77dc02ed0d6bfe6f3cba7f43e25400446d89ded8568ee165437e0c1922", - "path": "androidx/lifecycle/lifecycle-viewmodel-desktop/2.8.4/lifecycle-viewmodel-desktop-2.8.4.jar" + "path": "androidx/lifecycle/lifecycle-viewmodel-desktop/2.8.5/lifecycle-viewmodel-desktop-2.8.5.jar" }, { - "url": "org/jetbrains/androidx/lifecycle/lifecycle-runtime-compose-desktop/2.8.2/lifecycle-runtime-compose-desktop-2.8.2.jar", + "url": "org/jetbrains/androidx/lifecycle/lifecycle-runtime-compose-desktop/2.8.4/lifecycle-runtime-compose-desktop-2.8.4.jar", "hash": "c1e51a246e69e237e87d289be08bebd8d406ffe9ff60a125e8f2072db6119966", - "path": "org/jetbrains/androidx/lifecycle/lifecycle-runtime-compose-desktop/2.8.2/lifecycle-runtime-compose-desktop-2.8.2.jar" + "path": "org/jetbrains/androidx/lifecycle/lifecycle-runtime-compose-desktop/2.8.4/lifecycle-runtime-compose-desktop-2.8.4.jar" }, { "url": "androidx/annotation/annotation/1.8.0/annotation-1.8.0.jar", @@ -6225,43 +6740,63 @@ "path": "androidx/annotation/annotation/1.8.0/annotation-1.8.0.jar" }, { - "url": "org/jetbrains/compose/runtime/runtime-saveable-desktop/1.7.0-beta02/runtime-saveable-desktop-1.7.0-beta02.jar", + "url": "org/jetbrains/compose/runtime/runtime-saveable-desktop/1.7.1/runtime-saveable-desktop-1.7.1.jar", "hash": "4306363be90eaabe74b900db4c32ed1f15c7548e5b30a7093c4ee40c436b9b8c", - "path": "org/jetbrains/compose/runtime/runtime-saveable-desktop/1.7.0-beta02/runtime-saveable-desktop-1.7.0-beta02.jar" + "path": "org/jetbrains/compose/runtime/runtime-saveable-desktop/1.7.1/runtime-saveable-desktop-1.7.1.jar" }, { - "url": "org/jetbrains/compose/ui/ui-graphics-desktop/1.7.0-beta02/ui-graphics-desktop-1.7.0-beta02.jar", - "hash": "6f09b8790a0d3c8c0231c5962a39f2e354ca3148098318049de5e51cf6684b94", - "path": "org/jetbrains/compose/ui/ui-graphics-desktop/1.7.0-beta02/ui-graphics-desktop-1.7.0-beta02.jar" + "url": "org/jetbrains/compose/ui/ui-graphics-desktop/1.7.1/ui-graphics-desktop-1.7.1.jar", + "hash": "9109d77cc262f90408169b1ca0ba2d15135b6034e377a80bbf3ec0234954e852", + "path": "org/jetbrains/compose/ui/ui-graphics-desktop/1.7.1/ui-graphics-desktop-1.7.1.jar" }, { - "url": "org/jetbrains/compose/ui/ui-unit-desktop/1.7.0-beta02/ui-unit-desktop-1.7.0-beta02.jar", + "url": "org/jetbrains/compose/ui/ui-unit-desktop/1.7.1/ui-unit-desktop-1.7.1.jar", "hash": "598b52e257ed674145694b9790a7383a90fed2ec7154ba09ace4aa983c65b1a2", - "path": "org/jetbrains/compose/ui/ui-unit-desktop/1.7.0-beta02/ui-unit-desktop-1.7.0-beta02.jar" + "path": "org/jetbrains/compose/ui/ui-unit-desktop/1.7.1/ui-unit-desktop-1.7.1.jar" }, { - "url": "org/jetbrains/compose/ui/ui-text-desktop/1.7.0-beta02/ui-text-desktop-1.7.0-beta02.jar", + "url": "org/jetbrains/compose/ui/ui-text-desktop/1.7.1/ui-text-desktop-1.7.1.jar", "hash": "80e07e4ca739f7b6122f63e9a17e6853b947220ecb1180f8dcaf419d0e468996", - "path": "org/jetbrains/compose/ui/ui-text-desktop/1.7.0-beta02/ui-text-desktop-1.7.0-beta02.jar" + "path": "org/jetbrains/compose/ui/ui-text-desktop/1.7.1/ui-text-desktop-1.7.1.jar" }, { - "url": "org/jetbrains/compose/ui/ui-util-desktop/1.7.0-beta02/ui-util-desktop-1.7.0-beta02.jar", + "url": "org/jetbrains/compose/ui/ui-util-desktop/1.7.1/ui-util-desktop-1.7.1.jar", "hash": "161dcc73b929da61cee50045e96fb02f1633c36f18a2ef38b5c2c44c38606b52", - "path": "org/jetbrains/compose/ui/ui-util-desktop/1.7.0-beta02/ui-util-desktop-1.7.0-beta02.jar" + "path": "org/jetbrains/compose/ui/ui-util-desktop/1.7.1/ui-util-desktop-1.7.1.jar" }, { - "url": "org/jetbrains/skiko/skiko-awt/0.8.12/skiko-awt-0.8.12.jar", - "hash": "4ecb815bf90b2d6fbc241073fe37c893fb3499f2041c3655064a02ce80daeb9b", - "path": "org/jetbrains/skiko/skiko-awt/0.8.12/skiko-awt-0.8.12.jar" + "url": "org/jetbrains/skiko/skiko-awt/0.8.18/skiko-awt-0.8.18.jar", + "hash": "637f5de1a208f1368ac51b5a286a4827cec828cd62dda332dc3400b8543e243d", + "path": "org/jetbrains/skiko/skiko-awt/0.8.18/skiko-awt-0.8.18.jar" }, { - "url": "org/jetbrains/compose/components/components-resources-desktop/1.7.0-beta02/components-resources-desktop-1.7.0-beta02.jar", + "url": "org/jetbrains/compose/components/components-resources-desktop/1.7.1/components-resources-desktop-1.7.1.jar", "hash": "1584b739e8f1869e4f340519dc984d4a44582a80ef323e655999ddb18dd954c2", - "path": "org/jetbrains/compose/components/components-resources-desktop/1.7.0-beta02/components-resources-desktop-1.7.0-beta02.jar" + "path": "org/jetbrains/compose/components/components-resources-desktop/1.7.1/components-resources-desktop-1.7.1.jar" }, { - "url": "org/jetbrains/compose/runtime/runtime-desktop/1.7.0-beta02/runtime-desktop-1.7.0-beta02.jar", + "url": "org/jetbrains/compose/runtime/runtime-desktop/1.7.1/runtime-desktop-1.7.1.jar", "hash": "76e3250547b9ca3cb1a49c272933b25cb3bccbc9ba12775dd6161a63d9aa7cf1", - "path": "org/jetbrains/compose/runtime/runtime-desktop/1.7.0-beta02/runtime-desktop-1.7.0-beta02.jar" + "path": "org/jetbrains/compose/runtime/runtime-desktop/1.7.1/runtime-desktop-1.7.1.jar" + }, + { + "url": "org/jetbrains/jewel/jewel-markdown-ide-laf-bridge-styling-242/0.27.0/jewel-markdown-ide-laf-bridge-styling-242-0.27.0.jar", + "hash": "70f7247e1eeb6f4c6ea1564f101d5382fb192fbfde127dbe32808abdeda540b4", + "path": "org/jetbrains/jewel/jewel-markdown-ide-laf-bridge-styling-242/0.27.0/jewel-markdown-ide-laf-bridge-styling-242-0.27.0.jar" + }, + { + "url": "org/jetbrains/jewel/jewel-markdown-core-242/0.27.0/jewel-markdown-core-242-0.27.0.jar", + "hash": "f449e0d45cde9d9bae8df329e8c4a4f23b302d0043892cfe4c095889be9ef8e2", + "path": "org/jetbrains/jewel/jewel-markdown-core-242/0.27.0/jewel-markdown-core-242-0.27.0.jar" + }, + { + "url": "org/commonmark/commonmark/0.24.0/commonmark-0.24.0.jar", + "hash": "679338e0b7fc15c02d275d598654b01a149893bc28a87992e90123c8d06af25b", + "path": "org/commonmark/commonmark/0.24.0/commonmark-0.24.0.jar" + }, + { + "url": "org/jetbrains/jewel/jewel-ide-laf-bridge-242/0.27.0/jewel-ide-laf-bridge-242-0.27.0.jar", + "hash": "fb4dda7cb9610f0e0a80765ec6fba97af3c6a228212bb128aeb84e0557db3af8", + "path": "org/jetbrains/jewel/jewel-ide-laf-bridge-242/0.27.0/jewel-ide-laf-bridge-242-0.27.0.jar" } ] diff --git a/pkgs/applications/editors/jetbrains/source/update.py b/pkgs/applications/editors/jetbrains/source/update.py new file mode 100755 index 000000000000..e98e92e751fe --- /dev/null +++ b/pkgs/applications/editors/jetbrains/source/update.py @@ -0,0 +1,138 @@ +#!/usr/bin/env nix-shell +# ! nix-shell -i python3 -p python3 python3.pkgs.xmltodict +import os +import subprocess +import pprint +from argparse import ArgumentParser +from xmltodict import parse +from json import dump, loads +from sys import stdout + +def convert_hash_to_sri(base32: str) -> str: + result = subprocess.run(["nix-hash", "--to-sri", "--type", "sha256", base32], capture_output=True, check=True, text=True) + return result.stdout.strip() + + +def ensure_is_list(x): + if type(x) != list: + return [x] + return x + + +def jar_repositories(root_path: str) -> list[str]: + repositories = [] + file_contents = parse(open(root_path + "/.idea/jarRepositories.xml").read()) + component = file_contents['project']['component'] + if component['@name'] != 'RemoteRepositoriesConfiguration': + return repositories + options = component['remote-repository'] + for option in ensure_is_list(options): + for item in option['option']: + if item['@name'] == 'url': + repositories.append(item['@value']) + + return repositories + + +def kotlin_jps_plugin_info(root_path: str) -> (str, str): + file_contents = parse(open(root_path + "/.idea/kotlinc.xml").read()) + components = file_contents['project']['component'] + for component in components: + if component['@name'] != 'KotlinJpsPluginSettings': + continue + + option = component['option'] + version = option['@value'] + + print(f"* Prefetching Kotlin JPS Plugin version {version}...") + prefetch = subprocess.run(["nix-prefetch-url", "--type", "sha256", f"https://cache-redirector.jetbrains.com/maven.pkg.jetbrains.space/kotlin/p/kotlin/kotlin-ide-plugin-dependencies/org/jetbrains/kotlin/kotlin-jps-plugin-classpath/{version}/kotlin-jps-plugin-classpath-{version}.jar"], capture_output=True, check=True, text=True) + + return (version, convert_hash_to_sri(prefetch.stdout.strip())) + + +def requested_kotlinc_version(root_path: str) -> str: + file_contents = parse(open(root_path + "/.idea/kotlinc.xml").read()) + components = file_contents['project']['component'] + for component in components: + if component['@name'] != 'KotlinJpsPluginSettings': + continue + + option = component['option'] + version = option['@value'] + + return version + + +def prefetch_intellij_community(variant: str, buildNumber: str) -> (str, str): + print("* Prefetching IntelliJ community source code...") + prefetch = subprocess.run(["nix-prefetch-url", "--print-path", "--unpack", "--name", "source", "--type", "sha256", f"https://github.com/jetbrains/intellij-community/archive/{variant}/{buildNumber}.tar.gz"], capture_output=True, check=True, text=True) + parts = prefetch.stdout.strip().split() + + hash = convert_hash_to_sri(parts[0]) + outPath = parts[1] + + return (hash, outPath) + + +def prefetch_android(variant: str, buildNumber: str) -> str: + print("* Prefetching Android plugin source code...") + prefetch = subprocess.run(["nix-prefetch-url", "--unpack", "--name", "source", "--type", "sha256", f"https://github.com/jetbrains/android/archive/{variant}/{buildNumber}.tar.gz"], capture_output=True, check=True, text=True) + return convert_hash_to_sri(prefetch.stdout.strip()) + + +def get_args() -> (str, str): + parser = ArgumentParser( + description="Updates the IDEA / PyCharm source build infomations" + ) + parser.add_argument("out", help="File to output json to") + parser.add_argument("path", help="Path to the bin/versions.json file") + args = parser.parse_args() + return args.path, args.out + + +def main(): + versions_path, out = get_args() + versions = loads(open(versions_path).read()) + idea_data = versions['x86_64-linux']['idea-community'] + pycharm_data = versions['x86_64-linux']['pycharm-community'] + + result = { 'idea-community': {}, 'pycharm-community': {} } + result['idea-community']['version'] = idea_data['version'] + result['idea-community']['buildNumber'] = idea_data['build_number'] + result['idea-community']['buildType'] = 'idea' + result['pycharm-community']['version'] = pycharm_data['version'] + result['pycharm-community']['buildNumber'] = pycharm_data['build_number'] + result['pycharm-community']['buildType'] = 'pycharm' + print('Fetching IDEA info...') + result['idea-community']['ideaHash'], ideaOutPath = prefetch_intellij_community('idea', result['idea-community']['buildNumber']) + result['idea-community']['androidHash'] = prefetch_android('idea', result['idea-community']['buildNumber']) + result['idea-community']['jpsHash'] = '' + result['idea-community']['restarterHash'] = '' + result['idea-community']['mvnDeps'] = 'idea_maven_artefacts.json' + result['idea-community']['repositories'] = jar_repositories(ideaOutPath) + result['idea-community']['kotlin-jps-plugin'] = {} + result['idea-community']['kotlin-jps-plugin']['version'], result['idea-community']['kotlin-jps-plugin']['hash'] = kotlin_jps_plugin_info(ideaOutPath) + kotlinc_version = requested_kotlinc_version(ideaOutPath) + print(f"* Prefetched IDEA Community requested Kotlin compiler {kotlinc_version}") + print('Fetching PyCharm info...') + result['pycharm-community']['ideaHash'], pycharmOutPath = prefetch_intellij_community('pycharm', result['pycharm-community']['buildNumber']) + result['pycharm-community']['androidHash'] = prefetch_android('pycharm', result['pycharm-community']['buildNumber']) + result['pycharm-community']['jpsHash'] = '' + result['pycharm-community']['restarterHash'] = '' + result['pycharm-community']['mvnDeps'] = 'pycharm_maven_artefacts.json' + result['pycharm-community']['repositories'] = jar_repositories(pycharmOutPath) + result['pycharm-community']['kotlin-jps-plugin'] = {} + result['pycharm-community']['kotlin-jps-plugin']['version'], result['pycharm-community']['kotlin-jps-plugin']['hash'] = kotlin_jps_plugin_info(pycharmOutPath) + kotlinc_version = requested_kotlinc_version(pycharmOutPath) + print(f"* Prefetched PyCharm Community requested Kotlin compiler {kotlinc_version}") + + if out == "stdout": + dump(result, stdout, indent=2) + else: + file = open(out, "w") + dump(result, file, indent=2) + file.write("\n") + + +if __name__ == '__main__': + main() diff --git a/pkgs/applications/editors/neovim/utils.nix b/pkgs/applications/editors/neovim/utils.nix index 69aa638d05a0..490753ebb840 100644 --- a/pkgs/applications/editors/neovim/utils.nix +++ b/pkgs/applications/editors/neovim/utils.nix @@ -227,12 +227,9 @@ let ) vimPlugins.nvim-treesitter.grammarPlugins; isNvimGrammar = x: builtins.elem x nvimGrammars; - toNvimTreesitterGrammar = callPackage ( - { }: - makeSetupHook { - name = "to-nvim-treesitter-grammar"; - } ./to-nvim-treesitter-grammar.sh - ) { }; + toNvimTreesitterGrammar = makeSetupHook { + name = "to-nvim-treesitter-grammar"; + } ./to-nvim-treesitter-grammar.sh; in (toVimPlugin ( diff --git a/pkgs/applications/editors/okteta/default.nix b/pkgs/applications/editors/okteta/default.nix index e371605d341f..2d3e52da3b63 100644 --- a/pkgs/applications/editors/okteta/default.nix +++ b/pkgs/applications/editors/okteta/default.nix @@ -19,11 +19,11 @@ mkDerivation rec { pname = "okteta"; - version = "0.26.21"; + version = "0.26.22"; src = fetchurl { url = "mirror://kde/stable/okteta/${version}/src/${pname}-${version}.tar.xz"; - sha256 = "sha256-tuYvcfcxdX1nzTR603rEYIgXLEjnZH3mDRJUD/BVRJs="; + sha256 = "sha256-vi7XhMj/PaMeK4V6FxU7Yi7XyWMaOBUenafZPpaP+n0="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/editors/vim/plugins/aliases.nix b/pkgs/applications/editors/vim/plugins/aliases.nix index 80d7196a1b51..e1daf3f598b4 100644 --- a/pkgs/applications/editors/vim/plugins/aliases.nix +++ b/pkgs/applications/editors/vim/plugins/aliases.nix @@ -39,6 +39,7 @@ mapAliases ( airline = vim-airline; alternative = a-vim; # backwards compat, added 2014-10-21 bats = bats-vim; + blueballs-neovim = throw "`blueballs-neovim` has been removed"; # added 2025-06-17 BufOnly = BufOnly-vim; calendar = calendar-vim; coffee-script = vim-coffee-script; @@ -75,6 +76,7 @@ mapAliases ( floating-nvim = throw "floating.nvim has been removed: abandoned by upstream. Use popup-nvim or nui-nvim"; # Added 2024-11-26 ghc-mod-vim = ghcmod-vim; ghcmod = ghcmod-vim; + gleam-vim = throw "gleam.vim has been removed: its code was merged into vim."; # Added 2025-06-10 goyo = goyo-vim; Gist = vim-gist; gitgutter = vim-gitgutter; diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index 4b693a5a0583..7e0eb9ee3f45 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -74,12 +74,12 @@ final: prev: { CopilotChat-nvim = buildVimPlugin { pname = "CopilotChat.nvim"; - version = "2025-05-13"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "CopilotC-Nvim"; repo = "CopilotChat.nvim"; - rev = "16d897fd43d07e3b54478ccdb2f8a16e4df4f45a"; - sha256 = "1mda0maxgr4yqyaixl1x56fsldaj46pnq8xlcz01apvmc8i91yq6"; + rev = "5df0b668d23c05c173f6bc79bb19642215b8b66a"; + sha256 = "0mq037ay24xs3948g85hrxn8rfgsrv6d3x6sxfca777fs2wjr04l"; }; meta.homepage = "https://github.com/CopilotC-Nvim/CopilotChat.nvim/"; meta.hydraPlatforms = [ ]; @@ -87,12 +87,12 @@ final: prev: { Coqtail = buildVimPlugin { pname = "Coqtail"; - version = "2025-03-29"; + version = "2025-06-06"; src = fetchFromGitHub { owner = "whonore"; repo = "Coqtail"; - rev = "262e4cf3fe6a6564e536efb631ab9dd6994ebcd9"; - sha256 = "14jhh4b3z6fgs7bxd5a62vb2k4j038v23nq6j8r9l9rcra5i2hik"; + rev = "28340858a528a6e86d3eee2ff5ccbf56f3eaf43f"; + sha256 = "1c43ydn48w54w4wxwfgjibjczd6sg4mw9c6lssdnkq03xy6ysabs"; }; meta.homepage = "https://github.com/whonore/Coqtail/"; meta.hydraPlatforms = [ ]; @@ -217,12 +217,12 @@ final: prev: { LeaderF = buildVimPlugin { pname = "LeaderF"; - version = "2025-05-26"; + version = "2025-06-12"; src = fetchFromGitHub { owner = "Yggdroot"; repo = "LeaderF"; - rev = "007d8487d888dbeacbd4a06783ce3b35d7ba90f4"; - sha256 = "0v0188icx4jd45q8jafbs4f67zafnzbyzr9fiygvjhf071r5rimw"; + rev = "b3e44d5dce2a9f1f882f64d2b24bb68f71acce4c"; + sha256 = "1zb2qqxzdppiwiv18qh93i64n000wa5snd3w1v7ps9m6jgng120d"; }; meta.homepage = "https://github.com/Yggdroot/LeaderF/"; meta.hydraPlatforms = [ ]; @@ -386,12 +386,12 @@ final: prev: { SchemaStore-nvim = buildVimPlugin { pname = "SchemaStore.nvim"; - version = "2025-06-05"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "b0o"; repo = "SchemaStore.nvim"; - rev = "307a3320d3ec6c8ddafd62c4c661e71bc20cb93f"; - sha256 = "17025v5zzp848jglz2iws1fgdji8dwvxknfas6fvkg3m7m79n38i"; + rev = "8e4bade719270663d726a0a781c7555da5d28721"; + sha256 = "0rg0zcza256d42z1fbaxmsicx9yxgc8sxay7jlabqf9a0kszlqmi"; }; meta.homepage = "https://github.com/b0o/SchemaStore.nvim/"; meta.hydraPlatforms = [ ]; @@ -634,12 +634,12 @@ final: prev: { adwaita-nvim = buildVimPlugin { pname = "adwaita.nvim"; - version = "2024-04-28"; + version = "2025-06-11"; src = fetchFromGitHub { owner = "Mofiqul"; repo = "adwaita.nvim"; - rev = "c9379097755701ab597140bafd097fbaff3dd517"; - sha256 = "18qswcjppgcxcf5p8vlr0nwb6p6s3j68a7ng05bpx49i5nwrd0vy"; + rev = "513b0fb829b993a67d9466c9b864144c9f8aee86"; + sha256 = "03np15m734083qnm1463ahggacnbwi2j2928hkl8il09yzm54wwf"; }; meta.homepage = "https://github.com/Mofiqul/adwaita.nvim/"; meta.hydraPlatforms = [ ]; @@ -804,12 +804,12 @@ final: prev: { aniseed = buildVimPlugin { pname = "aniseed"; - version = "2024-08-09"; + version = "2025-06-12"; src = fetchFromGitHub { owner = "Olical"; repo = "aniseed"; - rev = "d558a68329c465bced901adf3238a6f946d62483"; - sha256 = "0dwzxbf0xdlspwynx37y7zwfzi5ng09crlywpymbj9lpdpyfy14p"; + rev = "97078331cf59765613d248ca6d6c7942ebbd219b"; + sha256 = "0gamsyc70yklrcpfv2y4j9crd0zl6h4b1dd9l4rxkwnfbyn70hvl"; }; meta.homepage = "https://github.com/Olical/aniseed/"; meta.hydraPlatforms = [ ]; @@ -895,12 +895,12 @@ final: prev: { astrocore = buildVimPlugin { pname = "astrocore"; - version = "2025-06-05"; + version = "2025-06-06"; src = fetchFromGitHub { owner = "AstroNvim"; repo = "astrocore"; - rev = "cd9a7d82f00df90b7f76e73ef1569551b6993a5f"; - sha256 = "1jg94s5i6q756nq0f7jcw5gvgqwipmnnf8k82sfrsvc0k3j8p126"; + rev = "269484c17558cab87f20e7a0dbc78a0c596f76b8"; + sha256 = "1cpwp76jn0v0g0xxjnvqfnkqgisqz716saj27xhixmizrrnk8kbp"; }; meta.homepage = "https://github.com/AstroNvim/astrocore/"; meta.hydraPlatforms = [ ]; @@ -908,12 +908,12 @@ final: prev: { astrolsp = buildVimPlugin { pname = "astrolsp"; - version = "2025-05-31"; + version = "2025-06-06"; src = fetchFromGitHub { owner = "AstroNvim"; repo = "astrolsp"; - rev = "a215b1caedfc93092374fe5f1d63f958b9efa568"; - sha256 = "0bynmjjdcgkyfgw3dy54j9pzczv9gpcda63jlqlbakdhh6w7zibs"; + rev = "23ee7404b160d6d181aeb96442c2af00b5cf849d"; + sha256 = "0bg167fylnhjzpa6jyyg77432s6jg1hcxa1j3rqxfh68fsl4fbx7"; }; meta.homepage = "https://github.com/AstroNvim/astrolsp/"; meta.hydraPlatforms = [ ]; @@ -921,12 +921,12 @@ final: prev: { astrotheme = buildVimPlugin { pname = "astrotheme"; - version = "2025-02-14"; + version = "2025-06-06"; src = fetchFromGitHub { owner = "AstroNvim"; repo = "astrotheme"; - rev = "f12dcf64b1f9a05839c3ac2146f550f43bae9dab"; - sha256 = "179qgb6c3pv4f2p6jj0w9akzsv8rgn68hfdv3mh0kzhz16myha2n"; + rev = "3d2e2c08344930606812f0934a0afcb522fa1c71"; + sha256 = "1wp56wlmd4sjq5fv0np81bdy31rv38mk9ha4hhjl34rgk19aqw3w"; }; meta.homepage = "https://github.com/AstroNvim/astrotheme/"; meta.hydraPlatforms = [ ]; @@ -934,12 +934,12 @@ final: prev: { astroui = buildVimPlugin { pname = "astroui"; - version = "2025-04-18"; + version = "2025-06-06"; src = fetchFromGitHub { owner = "AstroNvim"; repo = "astroui"; - rev = "fded232ee0001c6bed9b654188e3dd4b0c58317c"; - sha256 = "0vh7qyj0cyd3vq1mv253sd48dcapf7idfnh7wv29qvvpsvwvamxc"; + rev = "525a900e55c86bdf81c52deacfb9407ae1240fae"; + sha256 = "1fqcsf3r8p56kyrlwzp3d690hlsz95l2p89wb6i8p9m8qm9g02zi"; }; meta.homepage = "https://github.com/AstroNvim/astroui/"; meta.hydraPlatforms = [ ]; @@ -1168,12 +1168,12 @@ final: prev: { auto-session = buildVimPlugin { pname = "auto-session"; - version = "2025-04-23"; + version = "2025-06-15"; src = fetchFromGitHub { owner = "rmagatti"; repo = "auto-session"; - rev = "00334ee24b9a05001ad50221c8daffbeedaa0842"; - sha256 = "0pk8qsnimr2csbwnih5fwc0gvay60443c42r75xhb4sli03k6kjx"; + rev = "fffb13dcbe8731b8650e5bf1caa749a485d20556"; + sha256 = "0p7dhk5vyvlhn2g0h5gb5ln0gv8s7a58d1zw3y65iq49y6xhd4nn"; }; meta.homepage = "https://github.com/rmagatti/auto-session/"; meta.hydraPlatforms = [ ]; @@ -1559,12 +1559,12 @@ final: prev: { blink-cmp-spell = buildVimPlugin { pname = "blink-cmp-spell"; - version = "2025-03-05"; + version = "2025-06-07"; src = fetchFromGitHub { owner = "ribru17"; repo = "blink-cmp-spell"; - rev = "782bc76be09c0c5dd08e3edd04e4ec1054c3158e"; - sha256 = "13adgj9qxfmbwzvx348kpkm70h0jli9qv3bqhkwh8p6zkfajm607"; + rev = "2bd0e0d5e7735c047e72b6918a0458f3e8fadaba"; + sha256 = "1h84kmyxnyq9nrv3z6rvsfiabx2cdl54h86r5xxs5zacaygpha67"; }; meta.homepage = "https://github.com/ribru17/blink-cmp-spell/"; meta.hydraPlatforms = [ ]; @@ -1624,12 +1624,12 @@ final: prev: { blink-ripgrep-nvim = buildVimPlugin { pname = "blink-ripgrep.nvim"; - version = "2025-06-02"; + version = "2025-06-15"; src = fetchFromGitHub { owner = "mikavilpas"; repo = "blink-ripgrep.nvim"; - rev = "3b146c70869c3f42c623341ad8befe9a073087a6"; - sha256 = "0058rns7sgkzsfkgdqlx51bi04fn6hxv4ddl8g32mpq27dji13pn"; + rev = "12fb7348cf9d32a0ed2e3ab4960d561632e57ba4"; + sha256 = "1fls5v4ykw23fnbag2ssiwnif7hgif72qpz3bcicqvic4r06dcw7"; }; meta.homepage = "https://github.com/mikavilpas/blink-ripgrep.nvim/"; meta.hydraPlatforms = [ ]; @@ -1661,27 +1661,14 @@ final: prev: { meta.hydraPlatforms = [ ]; }; - blueballs-neovim = buildVimPlugin { - pname = "blueballs-neovim"; - version = "2021-11-28"; - src = fetchFromGitHub { - owner = "blueballs-theme"; - repo = "blueballs-neovim"; - rev = "6201c1bf272bd3d8516a68579f5ead8ac5ab95b0"; - sha256 = "1k9fh5r64csp1xxr647s3rd67h1ay36y57afkp67xgv7mlk17cv5"; - }; - meta.homepage = "https://github.com/blueballs-theme/blueballs-neovim/"; - meta.hydraPlatforms = [ ]; - }; - bluloco-nvim = buildVimPlugin { pname = "bluloco.nvim"; - version = "2025-04-11"; + version = "2025-06-11"; src = fetchFromGitHub { owner = "uloco"; repo = "bluloco.nvim"; - rev = "29322e83d4e5a1577c20532fee7173a9e7c9bd2b"; - sha256 = "08cmn6dnzx4vq17i3y1npmczc3r2dm20y0wvx3ibr8yxjfw6hp2h"; + rev = "afc95b6696a0a568a5a186a7e563f6c9947d0d79"; + sha256 = "1swbvml5h23707b273cnsxv20xf8591s718hhdf6xrq4hjhkqi7j"; }; meta.homepage = "https://github.com/uloco/bluloco.nvim/"; meta.hydraPlatforms = [ ]; @@ -1858,12 +1845,12 @@ final: prev: { catppuccin-nvim = buildVimPlugin { pname = "catppuccin-nvim"; - version = "2025-06-01"; + version = "2025-06-07"; src = fetchFromGitHub { owner = "catppuccin"; repo = "nvim"; - rev = "a0c769bc7cd04bbbf258b3d5f01e2bdce744108d"; - sha256 = "08qv1had0gi2hzd854j7xyq3s3z9bvf1x40bav05ll52xkksn5vx"; + rev = "fa42eb5e26819ef58884257d5ae95dd0552b9a66"; + sha256 = "0pc64ic487icb6acf5g9ncrv61ymdh1whb740wsdzq1b71pdipy2"; }; meta.homepage = "https://github.com/catppuccin/nvim/"; meta.hydraPlatforms = [ ]; @@ -1962,12 +1949,12 @@ final: prev: { checkmate-nvim = buildVimPlugin { pname = "checkmate.nvim"; - version = "2025-06-05"; + version = "2025-06-15"; src = fetchFromGitHub { owner = "bngarren"; repo = "checkmate.nvim"; - rev = "aabe87c58d3c30f45aadab4bef38536e9933cd4a"; - sha256 = "1qc3i32hkp59sha7rxbil1r76krlxgqqxn9wj7qlabc99bh11d3s"; + rev = "6209d045c7f2405c02c865d08e7403ca1c2851df"; + sha256 = "1na4dj236ghvy7dr8d3g38r542gdrcxkasfa8b84g1xpgkr8pia1"; }; meta.homepage = "https://github.com/bngarren/checkmate.nvim/"; meta.hydraPlatforms = [ ]; @@ -2014,12 +2001,12 @@ final: prev: { citruszest-nvim = buildVimPlugin { pname = "citruszest.nvim"; - version = "2025-05-29"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "zootedb0t"; repo = "citruszest.nvim"; - rev = "a2df858072e0820a0a9254b17bcf9734b1a1c727"; - sha256 = "0l789pc4xfryqqg9v6qd1hmx9d5fnm5bspsdd73nmgd6yazf1g42"; + rev = "ce6749e4c3a842679cc302ce1c2db76c2d07f700"; + sha256 = "1mbbz6376gji36l9pxqfr8dwk0bwza74h69s8nniwi5p645svbbj"; }; meta.homepage = "https://github.com/zootedb0t/citruszest.nvim/"; meta.hydraPlatforms = [ ]; @@ -2040,12 +2027,12 @@ final: prev: { claude-code-nvim = buildVimPlugin { pname = "claude-code.nvim"; - version = "2025-05-22"; + version = "2025-06-10"; src = fetchFromGitHub { owner = "greggh"; repo = "claude-code.nvim"; - rev = "ffdf35d8566528cb144d9812eccfecee34502edf"; - sha256 = "0zlf3cdb83kiy2pyrian7rwc1w1ixi87rjvibd0s80ngrn76rrw0"; + rev = "275c47615f4424a0329290ce1d0c18a8320fd8b0"; + sha256 = "14n96zq8yldzqf74rj52gz95n20ig1dk02n20rsjd7vraggad9cc"; }; meta.homepage = "https://github.com/greggh/claude-code.nvim/"; meta.hydraPlatforms = [ ]; @@ -2118,12 +2105,12 @@ final: prev: { cmake-tools-nvim = buildVimPlugin { pname = "cmake-tools.nvim"; - version = "2025-05-25"; + version = "2025-06-11"; src = fetchFromGitHub { owner = "Civitasv"; repo = "cmake-tools.nvim"; - rev = "591ae37fc5494677e929118f0a182d2b61fe1af1"; - sha256 = "0lkwrgbcdxss008bczid3bg4jh03brjvmjg5z32nqq4x7nss58vz"; + rev = "17244215b1a96e4b2a83a16abd6719197f270f96"; + sha256 = "06mk6ba4w5hv53a6f6f1j7i6mlj2frgzjy6a483dvxqrsnk4jccw"; }; meta.homepage = "https://github.com/Civitasv/cmake-tools.nvim/"; meta.hydraPlatforms = [ ]; @@ -2794,12 +2781,12 @@ final: prev: { cmp_yanky = buildVimPlugin { pname = "cmp_yanky"; - version = "2024-11-27"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "chrisgrieser"; repo = "cmp_yanky"; - rev = "fcd2e221f072ef917ed45583de0ee34d43685347"; - sha256 = "0404bqwarm86f0d6ryagvyfzi0gf2z5ap4hn1wlhqzr5zv9x55nn"; + rev = "7204219a68f4fd965260c9cd7c3c7eec2e27ad69"; + sha256 = "1fhcv79hpg5pwq90fvzm4bqk4x5h9q70vrxa9n3qavp1w38jjrg2"; }; meta.homepage = "https://github.com/chrisgrieser/cmp_yanky/"; meta.hydraPlatforms = [ ]; @@ -2885,12 +2872,12 @@ final: prev: { coc-nvim = buildVimPlugin { pname = "coc.nvim"; - version = "2025-06-01"; + version = "2025-06-11"; src = fetchFromGitHub { owner = "neoclide"; repo = "coc.nvim"; - rev = "9f7f280194f70229ec667721373a74d238618220"; - sha256 = "0bmpc1dsd796dmg4ig9i1ijl2a4p9jd1dfmwppmfdlpp9awqp7n3"; + rev = "4fee4938afa69843a3c147f9fdb453de67a1a7a2"; + sha256 = "0lnd8s9rkzwxy0xwxprlhx55jifflp6hva8grh4vwfx4z48fzr8s"; }; meta.homepage = "https://github.com/neoclide/coc.nvim/"; meta.hydraPlatforms = [ ]; @@ -2937,12 +2924,12 @@ final: prev: { codecompanion-history-nvim = buildVimPlugin { pname = "codecompanion-history.nvim"; - version = "2025-06-01"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "ravitemer"; repo = "codecompanion-history.nvim"; - rev = "66943e78bcacaa27f4ac4a398df4016eb5413ecd"; - sha256 = "053sk528m4cq8xmawqk2vgrdwp5f9m1zv4vnx3n9r4zglp75ibar"; + rev = "33ec95c4f59fdfe31fac52680ff145c3ff1cda79"; + sha256 = "02m8asjnfk92f38ygmlq6wg5bhirswslvz7fpkcyrpvj0aj0x4mw"; }; meta.homepage = "https://github.com/ravitemer/codecompanion-history.nvim/"; meta.hydraPlatforms = [ ]; @@ -2950,12 +2937,12 @@ final: prev: { codecompanion-nvim = buildVimPlugin { pname = "codecompanion.nvim"; - version = "2025-06-05"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "olimorris"; repo = "codecompanion.nvim"; - rev = "cdf772165782e55a451c0793bf4c2a89926b89bd"; - sha256 = "1q2c35b5razr2aav9k8gn3z3z2j7vx4haf12gm4w9dj35gx3d3kq"; + rev = "fa31ecd06ffae66b19ecb143ea39f62bc5ba6679"; + sha256 = "0pflf78ic9vbhgvrr6ks1dkghnspr86f95m58bp3a4fxlkllpy5l"; }; meta.homepage = "https://github.com/olimorris/codecompanion.nvim/"; meta.hydraPlatforms = [ ]; @@ -3054,12 +3041,12 @@ final: prev: { command-t = buildVimPlugin { pname = "command-t"; - version = "2025-03-16"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "wincent"; repo = "command-t"; - rev = "27760ac90e0b554e3a066fe60127e45f924cc973"; - sha256 = "1rfkpzlvxh545j0s97hw138rf71a707ih4q2s70li8kqi5fissqi"; + rev = "c6d088dd080a05e31598a6be79c241442ddbadfc"; + sha256 = "1shgn01aw1s3gk6ds7i3zrca721s983vzlra6da1r95p0kiqxfhr"; }; meta.homepage = "https://github.com/wincent/command-t/"; meta.hydraPlatforms = [ ]; @@ -3223,12 +3210,12 @@ final: prev: { conform-nvim = buildVimPlugin { pname = "conform.nvim"; - version = "2025-06-04"; + version = "2025-06-09"; src = fetchFromGitHub { owner = "stevearc"; repo = "conform.nvim"; - rev = "0e93e0d12d2f7ebdea9e3e444dfaff0050cefbe6"; - sha256 = "0hvpvk0gs76b9sfzrzhmrq9d7rab3ldim0vf18qf424xl72fbw8b"; + rev = "8132ec733eed3bf415b97b76797ca41b59f51d7d"; + sha256 = "0bpvr49j951bq0w8gwidadqx05dsr43nwcsf1njqbmq3vi80yllz"; fetchSubmodules = true; }; meta.homepage = "https://github.com/stevearc/conform.nvim/"; @@ -3237,12 +3224,12 @@ final: prev: { conjure = buildVimPlugin { pname = "conjure"; - version = "2025-05-26"; + version = "2025-06-12"; src = fetchFromGitHub { owner = "Olical"; repo = "conjure"; - rev = "83c6394f916197d73f2a19538bd5615e08842d10"; - sha256 = "02xc264np0dl7fpqf32kkrbxyvvfs5jfblp40lajyb273y3fv9ag"; + rev = "8edc78f7cf2cd49c0feba3ddd9a29eca1673a8ce"; + sha256 = "0qkf9cskj907v2495mhlpmwxd6x0gy5052i1nzhjw1wfsmd8b60a"; }; meta.homepage = "https://github.com/Olical/conjure/"; meta.hydraPlatforms = [ ]; @@ -3276,12 +3263,12 @@ final: prev: { contextfiles-nvim = buildVimPlugin { pname = "contextfiles.nvim"; - version = "2025-05-07"; + version = "2025-06-12"; src = fetchFromGitHub { owner = "banjo"; repo = "contextfiles.nvim"; - rev = "d9541105d60c708e2ec6641109f5f2a6179c2a80"; - sha256 = "1n8nkpy53mqr0hn26lqzcxmp8l6r2873yrsqxrj5cpis0f52qc45"; + rev = "62be911a2f852da4da28c0e6a36c3e92004fdef0"; + sha256 = "0a5jpghfhk2awl252n5dpcayl25fdsyjicmmdirmr6fp62px6zwj"; }; meta.homepage = "https://github.com/banjo/contextfiles.nvim/"; meta.hydraPlatforms = [ ]; @@ -3406,12 +3393,12 @@ final: prev: { coq_nvim = buildVimPlugin { pname = "coq_nvim"; - version = "2025-06-05"; + version = "2025-06-07"; src = fetchFromGitHub { owner = "ms-jpq"; repo = "coq_nvim"; - rev = "09ce78ef988eacad5393ed73908613554b1ea30c"; - sha256 = "1zbpvd90h2jmim9kbp1g9zvacb7qvfkdpi1m6rnqvmii2g5sqvw1"; + rev = "c58e4dd929aa9284975b42e154264d6082b4e77f"; + sha256 = "1jkm8w12hpb5jsmvkfajccw6x08y53004fivabg3af6hgbgyhf8k"; }; meta.homepage = "https://github.com/ms-jpq/coq_nvim/"; meta.hydraPlatforms = [ ]; @@ -3627,12 +3614,12 @@ final: prev: { darcubox-nvim = buildVimPlugin { pname = "darcubox-nvim"; - version = "2025-06-03"; + version = "2025-06-08"; src = fetchFromGitHub { owner = "Koalhack"; repo = "darcubox-nvim"; - rev = "59754cb99fee640da1b64730a17476593af92fd3"; - sha256 = "1xbpisq980hkdybjkd2pxdz8ghhk1a4y33ygpgi311rzx1ijapgs"; + rev = "0202aa268afc9503c38e03570b17c9c01df12836"; + sha256 = "1w7rf731q9zklid9yby8d9rx784wyk39nhh82zdxkfx993qpn9f9"; }; meta.homepage = "https://github.com/Koalhack/darcubox-nvim/"; meta.hydraPlatforms = [ ]; @@ -3757,12 +3744,12 @@ final: prev: { ddc-source-lsp = buildVimPlugin { pname = "ddc-source-lsp"; - version = "2025-05-20"; + version = "2025-06-10"; src = fetchFromGitHub { owner = "Shougo"; repo = "ddc-source-lsp"; - rev = "5338125ad0ad0fa790fc111ce83df3a71cd9727a"; - sha256 = "1ddx1h4d2yq18slb9q9fhf9flkymz7y3gqzm72115zkpgi0m33wc"; + rev = "5b1de333a5c77d74b7c3fa1839578e4bd47ec1c3"; + sha256 = "0w3qjazmsvgiyvf1nab44x58p7l4ak8l4jy01rbn5k0dimqlyl89"; }; meta.homepage = "https://github.com/Shougo/ddc-source-lsp/"; meta.hydraPlatforms = [ ]; @@ -3796,12 +3783,12 @@ final: prev: { ddc-vim = buildVimPlugin { pname = "ddc.vim"; - version = "2025-06-02"; + version = "2025-06-15"; src = fetchFromGitHub { owner = "Shougo"; repo = "ddc.vim"; - rev = "57fc46eef055a9ef8c9b75a01291567a13bf22fe"; - sha256 = "19wr7n18ds2x36khjca5a1wlmphm3vfa76lhlcpskfwxwckpnvmz"; + rev = "78bd46fa1c49fa84d825c94a06ed60d5ee56c08a"; + sha256 = "16g2zpns4xaiqixrd9sf7y0gj0gmv9min0n6l6hds7jiiampifrp"; }; meta.homepage = "https://github.com/Shougo/ddc.vim/"; meta.hydraPlatforms = [ ]; @@ -4084,12 +4071,12 @@ final: prev: { deoplete-lsp = buildVimPlugin { pname = "deoplete-lsp"; - version = "2022-12-13"; + version = "2025-06-09"; src = fetchFromGitHub { owner = "deoplete-plugins"; repo = "deoplete-lsp"; - rev = "bc41a2f523909f852251e9d179bdf6433892bdda"; - sha256 = "061352gf9wv2bvf4bqn3pip0lwdxdv92m8i2y55wjrhfvmmq52xx"; + rev = "cff5f76bd1ac97cb15fc8bbf3c20ea0a20c63118"; + sha256 = "1vvgh3ss1jwdi7k6758r7kyzg9azvvslxjk5n3dk588897y7lb0z"; }; meta.homepage = "https://github.com/deoplete-plugins/deoplete-lsp/"; meta.hydraPlatforms = [ ]; @@ -4435,12 +4422,12 @@ final: prev: { dropbar-nvim = buildVimPlugin { pname = "dropbar.nvim"; - version = "2025-06-01"; + version = "2025-06-10"; src = fetchFromGitHub { owner = "Bekaboo"; repo = "dropbar.nvim"; - rev = "ce1db78abd1fae838abc23740b8fc9525679d6dc"; - sha256 = "17jlzw6qa685w2kqilvlh3i0rmjsp4cscrb7bw71k7cp5s6xxpsn"; + rev = "b695c346fd180d504c1d135435cbcfba08ad3946"; + sha256 = "0syn8461x1a2ywrp46k916g7ljyn59qs1a8wygcvh27df4q12612"; }; meta.homepage = "https://github.com/Bekaboo/dropbar.nvim/"; meta.hydraPlatforms = [ ]; @@ -4461,12 +4448,12 @@ final: prev: { easy-dotnet-nvim = buildVimPlugin { pname = "easy-dotnet.nvim"; - version = "2025-06-03"; + version = "2025-06-15"; src = fetchFromGitHub { owner = "GustavEikaas"; repo = "easy-dotnet.nvim"; - rev = "9fe1ca3e5c9128609b45bf23771935729fc50af0"; - sha256 = "0z1f5hcmjf4fbkmsh0h9nw0mxlyqx69b2gh49hndmx5nk2zagsql"; + rev = "334044f5ced3cb5bf84cebfaa32d18dbc290dbca"; + sha256 = "0ri3z365xbhpmrzzh6366i93qkw0427c869dgrn5k7qv0ynlhav0"; }; meta.homepage = "https://github.com/GustavEikaas/easy-dotnet.nvim/"; meta.hydraPlatforms = [ ]; @@ -4579,12 +4566,12 @@ final: prev: { elixir-tools-nvim = buildVimPlugin { pname = "elixir-tools.nvim"; - version = "2025-03-03"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "elixir-tools"; repo = "elixir-tools.nvim"; - rev = "6beae8194152e2d8b4a59de19a3e60c1f7ffcff5"; - sha256 = "0kncq60x3kvy4plszq4zygrsy6cyzf43g2xgzqwif88i85ki7zq6"; + rev = "8cb756bda5773e8a8f1cd7dc1eff6d3c5b13433f"; + sha256 = "0hfr43624i1rrrj5ygjrnj7qysxzbkr9hrj2g0rmnvv3bz6i3c38"; }; meta.homepage = "https://github.com/elixir-tools/elixir-tools.nvim/"; meta.hydraPlatforms = [ ]; @@ -4710,12 +4697,12 @@ final: prev: { executor-nvim = buildVimPlugin { pname = "executor.nvim"; - version = "2025-01-13"; + version = "2025-06-15"; src = fetchFromGitHub { owner = "google"; repo = "executor.nvim"; - rev = "3fc6493a9cefc91af120394e5fee4465ef0b5f5b"; - sha256 = "0gm6a53m8spc9qk0f1lvj9p5znkgv9l2601rhk4cril2d21j2ps6"; + rev = "07a7f4aa21b54dc3d527800437010297250fe462"; + sha256 = "1zcvm2i7zras7bpkrxmzr4zavcxayss556ljw12mwmqjrjpdjsfk"; }; meta.homepage = "https://github.com/google/executor.nvim/"; meta.hydraPlatforms = [ ]; @@ -4749,12 +4736,12 @@ final: prev: { famous-quotes-nvim = buildVimPlugin { pname = "famous-quotes.nvim"; - version = "2025-05-07"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "mahyarmirrashed"; repo = "famous-quotes.nvim"; - rev = "dc493abfb51581b6716986b4311c367c6a100bab"; - sha256 = "179hgxyhzca4g0xmx02kl7gy7c6058kgww4zv7f1dvl2mf59ln67"; + rev = "522270312ee7c30c7ee54a85ff50050591663ca8"; + sha256 = "1wi6dnhv8smhj192yz4r5vdkn5j7003ablqigq8xzvpyvfaq6bp5"; }; meta.homepage = "https://github.com/mahyarmirrashed/famous-quotes.nvim/"; meta.hydraPlatforms = [ ]; @@ -4775,12 +4762,12 @@ final: prev: { fastaction-nvim = buildVimPlugin { pname = "fastaction.nvim"; - version = "2025-05-28"; + version = "2025-06-15"; src = fetchFromGitHub { owner = "Chaitanyabsprip"; repo = "fastaction.nvim"; - rev = "f9a986b84a6da2a5ebbe57bbda7762d06f1ac64d"; - sha256 = "15jxrif7qkgj7fadvby95y2b2cav90f7dilhjyj6117ky9yxlr8w"; + rev = "9bf0c368565023914c120562473dc5a5c179ee8c"; + sha256 = "12fb8av6q0y2ii23lx7rqln15syqhdxjrf9459jbm9dqjqrm6m9n"; }; meta.homepage = "https://github.com/Chaitanyabsprip/fastaction.nvim/"; meta.hydraPlatforms = [ ]; @@ -5128,12 +5115,12 @@ final: prev: { fugit2-nvim = buildVimPlugin { pname = "fugit2.nvim"; - version = "2025-05-04"; + version = "2025-06-10"; src = fetchFromGitHub { owner = "SuperBo"; repo = "fugit2.nvim"; - rev = "bc68dd19bd2f3957a674ccd2da14a922746e93d9"; - sha256 = "0x85ivhs00pami05ss257fjpbqlisz6f7l7nfi7d1920km7v5k3b"; + rev = "48ceeb550a517e8fd28de4f72a313940a4777a71"; + sha256 = "1zzdxkanpvsl0mickxwbc8zmcmr12fr23nrqp289xwbc9vqmq216"; }; meta.homepage = "https://github.com/SuperBo/fugit2.nvim/"; meta.hydraPlatforms = [ ]; @@ -5232,12 +5219,12 @@ final: prev: { fzf-vim = buildVimPlugin { pname = "fzf.vim"; - version = "2025-05-24"; + version = "2025-06-08"; src = fetchFromGitHub { owner = "junegunn"; repo = "fzf.vim"; - rev = "3ed6ac56d03fff0389cd5b30dfd1e1f940fe91d0"; - sha256 = "0c4ii43dr138k6iv8g16d4wi54gi6lq7ylkk45chj1j2bsaij9bg"; + rev = "98dcd77a189a8a87052c20d1be8082aea60101b7"; + sha256 = "1lbyccgllsw2h7sg2d2cmmjmil1prc4p7bv41d36p6sl9d87gxgm"; }; meta.homepage = "https://github.com/junegunn/fzf.vim/"; meta.hydraPlatforms = [ ]; @@ -5479,30 +5466,17 @@ final: prev: { glance-nvim = buildVimPlugin { pname = "glance.nvim"; - version = "2025-05-22"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "DNLHC"; repo = "glance.nvim"; - rev = "1649b772a7216bfd55125c627e100d065ddf3de9"; - sha256 = "049d0p9jhf970mcf3zv90ql4vvndxrvgy3famygigk4s2zk25vnw"; + rev = "bf86d8b79dce808e65fdb6e9269d0b4ed6d2eefc"; + sha256 = "1c1gdbk3z1i04mi6l4zcgr57y9n6wk3qxz91v0rpjyi5yxmsnyrp"; }; meta.homepage = "https://github.com/DNLHC/glance.nvim/"; meta.hydraPlatforms = [ ]; }; - gleam-vim = buildVimPlugin { - pname = "gleam.vim"; - version = "2025-04-24"; - src = fetchFromGitHub { - owner = "gleam-lang"; - repo = "gleam.vim"; - rev = "7174886f4974629a4427b0c703d6ce77f39422c5"; - sha256 = "0g99zc9x9l5mdh6nmlkwfqh4hk82ncqcgdzjp5b702fiymjhpkf4"; - }; - meta.homepage = "https://github.com/gleam-lang/gleam.vim/"; - meta.hydraPlatforms = [ ]; - }; - glow-nvim = buildVimPlugin { pname = "glow.nvim"; version = "2025-03-21"; @@ -5713,12 +5687,12 @@ final: prev: { gruvbox-material-nvim = buildVimPlugin { pname = "gruvbox-material.nvim"; - version = "2025-05-29"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "f4z3r"; repo = "gruvbox-material.nvim"; - rev = "dd9c24d702880c044b3f4a53270f742d0d10c79f"; - sha256 = "021g6c0gannaj25h0lmavx50qv8yagliqcwd8p6rgnnqng4xb3ls"; + rev = "ad2b0129bcf94656660a16512238bb034dc9fdd0"; + sha256 = "0yq5i8j9w692jbsiq1bycgdjm8g6gnz6pal488piyh3pflb010al"; }; meta.homepage = "https://github.com/f4z3r/gruvbox-material.nvim/"; meta.hydraPlatforms = [ ]; @@ -5752,12 +5726,12 @@ final: prev: { guard-nvim = buildVimPlugin { pname = "guard.nvim"; - version = "2025-05-16"; + version = "2025-06-11"; src = fetchFromGitHub { owner = "nvimdev"; repo = "guard.nvim"; - rev = "37e2a5bcc10169b78537f7279afe6bdca85c3446"; - sha256 = "0kz9mn0x3rsazz8dfgjj8iciqy35g53r8kvkc57sv62b8ykak077"; + rev = "9a9f00a6f70e5da2ea8379f203fcd45d8a7250cc"; + sha256 = "15v0snqjsrx711zy4cbw139nk2b4xcs8p8c6156bx75nqqj09v3f"; }; meta.homepage = "https://github.com/nvimdev/guard.nvim/"; meta.hydraPlatforms = [ ]; @@ -5831,12 +5805,12 @@ final: prev: { hardtime-nvim = buildVimPlugin { pname = "hardtime.nvim"; - version = "2025-05-29"; + version = "2025-06-17"; src = fetchFromGitHub { owner = "m4xshen"; repo = "hardtime.nvim"; - rev = "145b930954a3146cfb5b8a73cdcad42eb7d2740c"; - sha256 = "126wxmqc4y8pff7z4rj58pnnzlz61nr9z9vbffk889yphgjjkdfm"; + rev = "b9a989191b3a97c9316a0efea02341c4cdab845a"; + sha256 = "17z058y5qrjjijxyfh4bpi11m8cng1chbqlz4b1k1iaicvk5fcc7"; }; meta.homepage = "https://github.com/m4xshen/hardtime.nvim/"; meta.hydraPlatforms = [ ]; @@ -6053,12 +6027,12 @@ final: prev: { hmts-nvim = buildVimPlugin { pname = "hmts.nvim"; - version = "2024-10-24"; + version = "2025-06-11"; src = fetchFromGitHub { owner = "calops"; repo = "hmts.nvim"; - rev = "c7ff4c3ad96cd05664b18fb5bbbe2abbd7682dd2"; - sha256 = "12x44kcc4bz386cbn7sl7m3lszp0bwlqjdd9ai2yj1kijwh715sp"; + rev = "a32cd413f7d0a69d7f3d279c631f20cb117c8d30"; + sha256 = "1rgw40b00k1n5c0acrvwjg71ngdk3fs4dd5dv2apys4v00k4bx4g"; }; meta.homepage = "https://github.com/calops/hmts.nvim/"; meta.hydraPlatforms = [ ]; @@ -6157,12 +6131,12 @@ final: prev: { hunk-nvim = buildVimPlugin { pname = "hunk.nvim"; - version = "2025-05-14"; + version = "2025-06-09"; src = fetchFromGitHub { owner = "julienvincent"; repo = "hunk.nvim"; - rev = "48713c5348bb0ba001a6ea781f301dcd74fe88d4"; - sha256 = "0apmix9kya5f3912j6is1ckq9jz757ig79mispv33qvcw5rw3z86"; + rev = "1e0a4d719c780bb8b0690a54915601508ced321e"; + sha256 = "036cwnswx36m048mvlwa8rr9baclf7lrgjlq065pb4w13c4drbmx"; }; meta.homepage = "https://github.com/julienvincent/hunk.nvim/"; meta.hydraPlatforms = [ ]; @@ -6170,12 +6144,12 @@ final: prev: { hurl-nvim = buildVimPlugin { pname = "hurl.nvim"; - version = "2025-05-06"; + version = "2025-06-11"; src = fetchFromGitHub { owner = "jellydn"; repo = "hurl.nvim"; - rev = "b211cceb591b04b1bcaa3d7f81e3ef65207221ba"; - sha256 = "0gb7cnfbhyw5nvqfqf1n2k5fp94ix04prqix4j7961yq3pp4yx6j"; + rev = "33ff81c0027c1d0071174eb40257010c7ce61e62"; + sha256 = "1n3d0ahyqr9dlg3p7l3ncarj6fj4czs62283ia0595f2rws18s4b"; }; meta.homepage = "https://github.com/jellydn/hurl.nvim/"; meta.hydraPlatforms = [ ]; @@ -6261,12 +6235,12 @@ final: prev: { img-clip-nvim = buildVimPlugin { pname = "img-clip.nvim"; - version = "2025-04-01"; + version = "2025-06-08"; src = fetchFromGitHub { owner = "HakonHarnes"; repo = "img-clip.nvim"; - rev = "08a02e14c8c0d42fa7a92c30a98fd04d6993b35d"; - sha256 = "0ani8z5pkvqmmalzcgyj27rfhqs76ivmpq79xn8rsdyy5a5fy979"; + rev = "d8b6b030672f9f551a0e3526347699985a779d93"; + sha256 = "1kah8n88jzlp52nz0l2kncws9sjxy6silr556lwpq4n9p8jm46pa"; }; meta.homepage = "https://github.com/HakonHarnes/img-clip.nvim/"; meta.hydraPlatforms = [ ]; @@ -6587,12 +6561,12 @@ final: prev: { jinja-vim = buildVimPlugin { pname = "jinja.vim"; - version = "2025-05-11"; + version = "2025-06-12"; src = fetchFromGitHub { owner = "HiPhish"; repo = "jinja.vim"; - rev = "966cc763f35472ea1033743766688621d93a39af"; - sha256 = "1j37m6bka2y7qisb9g2r404kkxw222134r9aanxp50xlayzn02j9"; + rev = "99afb6bf05b761d87abc0833304b508521ca2bd0"; + sha256 = "13dlzzdnbqz7p9x6nbrrkg8qya2fhy51nsaxfrbv2ww4c1n6w80y"; fetchSubmodules = true; }; meta.homepage = "https://github.com/HiPhish/jinja.vim/"; @@ -6625,20 +6599,6 @@ final: prev: { meta.hydraPlatforms = [ ]; }; - jsonfly-nvim = buildVimPlugin { - pname = "jsonfly.nvim"; - version = "2024-09-30"; - src = fetchFromGitHub { - owner = "Myzel394"; - repo = "jsonfly.nvim"; - rev = "d713d9ef38115ab09b4a2828dac67b2b3f7d35c4"; - sha256 = "12nafsy2s01ci679sj6s980kx4lgd7zyqng7xv3gbf2r2xvj3prr"; - fetchSubmodules = true; - }; - meta.homepage = "https://github.com/Myzel394/jsonfly.nvim/"; - meta.hydraPlatforms = [ ]; - }; - jule-nvim = buildVimPlugin { pname = "jule.nvim"; version = "2025-02-22"; @@ -6693,12 +6653,12 @@ final: prev: { kanagawa-paper-nvim = buildVimPlugin { pname = "kanagawa-paper.nvim"; - version = "2025-06-04"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "thesimonho"; repo = "kanagawa-paper.nvim"; - rev = "9815b97b8e7e9913495ce2a88afbd47bf31edf25"; - sha256 = "1px6m7s1dk3k2fn282w8mvv622j458iz88jyhvjp10bcpspck5ib"; + rev = "f7b1ef3766081cf6f3d989f8fd67ae861d8e89fa"; + sha256 = "1lhc639cwk5l1zrhq0gh6vls8m21qwjvs470nh78z40fc3d83vkl"; }; meta.homepage = "https://github.com/thesimonho/kanagawa-paper.nvim/"; meta.hydraPlatforms = [ ]; @@ -6706,12 +6666,12 @@ final: prev: { kanso-nvim = buildVimPlugin { pname = "kanso.nvim"; - version = "2025-06-03"; + version = "2025-06-17"; src = fetchFromGitHub { owner = "webhooked"; repo = "kanso.nvim"; - rev = "d5975aa93bc157cfc60d4863d0704ab1d6e4deca"; - sha256 = "17faa8mk90ch2s774lrvf17r4461askvv64b0ls95b9ilps9vl4j"; + rev = "f0b41d6235bf0b4032304202ca84d2cdeb6fb1cb"; + sha256 = "046455w80j1hrp1j2ybn5k0c0g6nlcxvrsrks6rdsis0vn4zj0fi"; }; meta.homepage = "https://github.com/webhooked/kanso.nvim/"; meta.hydraPlatforms = [ ]; @@ -6810,12 +6770,12 @@ final: prev: { kulala-nvim = buildVimPlugin { pname = "kulala.nvim"; - version = "2025-06-02"; + version = "2025-06-08"; src = fetchFromGitHub { owner = "mistweaverco"; repo = "kulala.nvim"; - rev = "1568d31c9d115d6cf36da9fc6bf047e00830f730"; - sha256 = "1kp535fdvw9bzw78p4skqh9xrsnz7647w0j077b9gns7lkcwgyrj"; + rev = "b176ecbc9d4286d83bfa9e5b8f6998230ee42f23"; + sha256 = "1lysy0vn82zvnz161j65bcsxm5bafs4rb1w7dvw84jlciaybkgy9"; fetchSubmodules = true; }; meta.homepage = "https://github.com/mistweaverco/kulala.nvim/"; @@ -6928,12 +6888,12 @@ final: prev: { lazygit-nvim = buildVimPlugin { pname = "lazygit.nvim"; - version = "2025-02-17"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "kdheepak"; repo = "lazygit.nvim"; - rev = "b9eae3badab982e71abab96d3ee1d258f0c07961"; - sha256 = "05vv6np9vva8hz5hq3la4myvhvv7fmm1ijy3p15z1n1c5n37yz9h"; + rev = "4839ab642962cc76bb1bf278427dc4c59be15072"; + sha256 = "020c3yvijy26ls0lx2mp1r11shywrkml3bzggc8y1ny8a26b19vk"; }; meta.homepage = "https://github.com/kdheepak/lazygit.nvim/"; meta.hydraPlatforms = [ ]; @@ -6980,12 +6940,12 @@ final: prev: { leap-nvim = buildVimPlugin { pname = "leap.nvim"; - version = "2025-06-04"; + version = "2025-06-14"; src = fetchFromGitHub { owner = "ggandor"; repo = "leap.nvim"; - rev = "9958013bd9c41e6f32af0202b9ea41055fe4667e"; - sha256 = "1l4hpjwfa2d2vkfrymjsv1zn0clx6vxnr0xzlfdi2jg41ms1niwq"; + rev = "10c14af4ddfb34dbd7721f0bfb2b4d91f0558907"; + sha256 = "1psqljxz120133xz4lfm0g5z02xdiyvwlg7idxmwxj49v1b9736z"; }; meta.homepage = "https://github.com/ggandor/leap.nvim/"; meta.hydraPlatforms = [ ]; @@ -7331,12 +7291,12 @@ final: prev: { llama-vim = buildVimPlugin { pname = "llama.vim"; - version = "2025-05-22"; + version = "2025-06-11"; src = fetchFromGitHub { owner = "ggml-org"; repo = "llama.vim"; - rev = "abbc6841529e99535a739569e60fe7bba388e228"; - sha256 = "0sglwbkd21xr5b5c3ca48bh23hlnf50wa0lfm3ap5i4siqiy3yj0"; + rev = "3c1248c236f471b3987359e262dd0abd56f3028b"; + sha256 = "0pdip1pjd13hzfk12balkr28ip0kymg3kv10dzxkd0p01j6vwfvp"; }; meta.homepage = "https://github.com/ggml-org/llama.vim/"; meta.hydraPlatforms = [ ]; @@ -7461,12 +7421,12 @@ final: prev: { lsp_signature-nvim = buildVimPlugin { pname = "lsp_signature.nvim"; - version = "2025-05-29"; + version = "2025-06-17"; src = fetchFromGitHub { owner = "ray-x"; repo = "lsp_signature.nvim"; - rev = "d50e40b3bf9324128e71b0b7e589765ce89466d2"; - sha256 = "0kw5631k18xjzxv0rlbcxv9vy9ai125bda32cr05yijcl86rf7ld"; + rev = "2923666d092300e6d03c8d895991d0bef43f1613"; + sha256 = "111y70zhbymh1jblx5kkrg7zmsw4qnl2p9w8bjvcl833ysk7y3py"; }; meta.homepage = "https://github.com/ray-x/lsp_signature.nvim/"; meta.hydraPlatforms = [ ]; @@ -7708,12 +7668,12 @@ final: prev: { markview-nvim = buildVimPlugin { pname = "markview.nvim"; - version = "2025-06-02"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "OXY2DEV"; repo = "markview.nvim"; - rev = "c3b270ac84391b9792dba122d47139c741217311"; - sha256 = "1lskdf92s9vjd6jdmnh1dmpjyb93xww4axwlnz7md7155cajqlyd"; + rev = "fbfcd8ed6e3a1323a326cf3384cf110c57eab87f"; + sha256 = "17y1z5g85f9cgcy331b9p2fylli1ygkrpf488vq2jrfphyfjm5zv"; fetchSubmodules = true; }; meta.homepage = "https://github.com/OXY2DEV/markview.nvim/"; @@ -7722,12 +7682,12 @@ final: prev: { mason-lspconfig-nvim = buildVimPlugin { pname = "mason-lspconfig.nvim"; - version = "2025-06-05"; + version = "2025-06-17"; src = fetchFromGitHub { owner = "mason-org"; repo = "mason-lspconfig.nvim"; - rev = "bef29b653ba71d442816bf56286c2a686210be04"; - sha256 = "08nsyzzflaplvy626ai8qpcdl7hjh2q4zgiamh1w2xz9pvy2rm01"; + rev = "bb30c422329e86fcaa4e4920181f6715d634e516"; + sha256 = "0zc4l4d5wczr0nmig28nixmysvql80lz5fz5rsgci53l62wwk01l"; }; meta.homepage = "https://github.com/mason-org/mason-lspconfig.nvim/"; meta.hydraPlatforms = [ ]; @@ -7865,12 +7825,12 @@ final: prev: { melange-nvim = buildVimPlugin { pname = "melange-nvim"; - version = "2025-06-01"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "savq"; repo = "melange-nvim"; - rev = "a51c6faa4fb09331382f87be99f71a8aa48dd422"; - sha256 = "1342j1mlzw51prp9w9ink03mmsjbq0jdp7xk86qazaia3k8ynnd9"; + rev = "ce42f6b629beeaa00591ba73a77d3eeac4cf28ce"; + sha256 = "008wfwradxblsg8adwmgmysb2qypv77jssn30x31rxfw8s18hrz1"; }; meta.homepage = "https://github.com/savq/melange-nvim/"; meta.hydraPlatforms = [ ]; @@ -7930,12 +7890,12 @@ final: prev: { mini-ai = buildVimPlugin { pname = "mini.ai"; - version = "2025-05-31"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.ai"; - rev = "5225f16eacf4dce2cb7204ca345123ef54e209d6"; - sha256 = "0vqf5xywkqw84r96malik5jxib7ifr9vpk1f6ifj74d23ldqzs1c"; + rev = "d172ada7b0281044a06cb9a625a862553c457b6f"; + sha256 = "0pyi0krx7sbhqpbhy35xf09krgsnjm5cys476pvyaks2sz0fxhbq"; }; meta.homepage = "https://github.com/echasnovski/mini.ai/"; meta.hydraPlatforms = [ ]; @@ -7943,12 +7903,12 @@ final: prev: { mini-align = buildVimPlugin { pname = "mini.align"; - version = "2025-05-15"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.align"; - rev = "969bdcdf9b88e30bda9cb8ad6f56afed208778ad"; - sha256 = "0yp6flw1xwwb8s74186bi5pm3m0426aixl34g8dm98wl66hh162c"; + rev = "247af030951ccbd3b2fbaae7711b5d618dbbdeea"; + sha256 = "1amfzamhnhpmjbs899wv6bnvn6sjlf8xncbs8iamyp9zgkyywhic"; }; meta.homepage = "https://github.com/echasnovski/mini.align/"; meta.hydraPlatforms = [ ]; @@ -7956,12 +7916,12 @@ final: prev: { mini-animate = buildVimPlugin { pname = "mini.animate"; - version = "2025-04-01"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.animate"; - rev = "9b518c39c0e25b7b5e4e61db3f1407f7b4889f4e"; - sha256 = "197fgvnh05j5s0bhablgvlz1h6fl4m3n9d1sxzyf6p661dk8chcf"; + rev = "10cc793c7589db42b11353e7186f6e3e19f19072"; + sha256 = "0cblml5rhghwawq71aqz86zcdf6mqikrxa8bz8yisdx2hbdk7kw1"; }; meta.homepage = "https://github.com/echasnovski/mini.animate/"; meta.hydraPlatforms = [ ]; @@ -7969,12 +7929,12 @@ final: prev: { mini-base16 = buildVimPlugin { pname = "mini.base16"; - version = "2025-04-12"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.base16"; - rev = "2eb2d2b889a8c861d1a66ec651bd0edb417d5c7f"; - sha256 = "0g09bgk7y2j83phckg9wlm82ih1ya5j0sgz6xbscbj6jh0w75lvz"; + rev = "521a52b7fedd00b6534cf821f9b2f4951f8df094"; + sha256 = "02jipsxpgikhgs43by3h82dimqwzzw75kx3kdpyx00g8jnys7v0r"; }; meta.homepage = "https://github.com/echasnovski/mini.base16/"; meta.hydraPlatforms = [ ]; @@ -7982,12 +7942,12 @@ final: prev: { mini-basics = buildVimPlugin { pname = "mini.basics"; - version = "2025-04-01"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.basics"; - rev = "9904890cf863a7cbc3f57a1cbac3d298a33e90a4"; - sha256 = "0k9xzdgmyrjvazvi2j1pgy8wsdbm3g3wcq4nnhdxl51i9ib5i3wj"; + rev = "0f1d4d4da527f23a4c0ea00ed56ae3a9f132388a"; + sha256 = "0ls2sbsghr9652ycqs6qy5g5cyljy6nb1w35gp0j2dzaiiv7bh0p"; }; meta.homepage = "https://github.com/echasnovski/mini.basics/"; meta.hydraPlatforms = [ ]; @@ -7995,12 +7955,12 @@ final: prev: { mini-bracketed = buildVimPlugin { pname = "mini.bracketed"; - version = "2025-05-08"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.bracketed"; - rev = "079b8375e40ebf3f8af319ad835263ff390c3965"; - sha256 = "1d7kz48400bjdlkrlfparmi4w44mq08gp5bvz9vggc7hmm0baa4n"; + rev = "a54a2a180dc40f4d85875eeafacbdf991d042a36"; + sha256 = "0dxzz11mbf6ynw84cgdxwm78lgpiyps97sv0ldbis0vh4ww01yk6"; }; meta.homepage = "https://github.com/echasnovski/mini.bracketed/"; meta.hydraPlatforms = [ ]; @@ -8008,12 +7968,12 @@ final: prev: { mini-bufremove = buildVimPlugin { pname = "mini.bufremove"; - version = "2025-04-07"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.bufremove"; - rev = "66019ecebdc5bc0759e04747586994e2e3f98416"; - sha256 = "0pqwi0ix7zl7sg74p19q61mizv48mjmbijigsssi9fbyk0hwmkww"; + rev = "aaee5c281c5ca26c78d6c103ffb51dc93507e211"; + sha256 = "0l1pjalv4maaxavic7my8xqf0wqphg57bp8cm4d8a63x2ix5v7vw"; }; meta.homepage = "https://github.com/echasnovski/mini.bufremove/"; meta.hydraPlatforms = [ ]; @@ -8021,12 +7981,12 @@ final: prev: { mini-clue = buildVimPlugin { pname = "mini.clue"; - version = "2025-05-27"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.clue"; - rev = "97198ef9d8425e69f74d2875e217440ba0ff1730"; - sha256 = "1ma9rmdgqlc9iwl3yrqxljnmibqj4zvs9g3wn2n27mrm10xl1z5y"; + rev = "9d3001a921809f951e4fed04e0b0275bec778d6c"; + sha256 = "1lsc6isz62hi7gf25hhygh8ig0w9p85rggfsyj1f0vqpqz4qgwkm"; }; meta.homepage = "https://github.com/echasnovski/mini.clue/"; meta.hydraPlatforms = [ ]; @@ -8034,12 +7994,12 @@ final: prev: { mini-colors = buildVimPlugin { pname = "mini.colors"; - version = "2025-05-13"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.colors"; - rev = "ef76867adda63d6010acdc8732a816c8527d276b"; - sha256 = "0z2cg6fsy5idqp0p3i6rrx9mp48g4z915ylbi5q597d1vmglqffm"; + rev = "4189460cc02eeb355458f15130350ac1d8485bed"; + sha256 = "1f0nqmqkcxyypqsh74fz7b3khfzam76vzxsi7936ggfxk7wc2xh4"; }; meta.homepage = "https://github.com/echasnovski/mini.colors/"; meta.hydraPlatforms = [ ]; @@ -8047,12 +8007,12 @@ final: prev: { mini-comment = buildVimPlugin { pname = "mini.comment"; - version = "2025-05-25"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.comment"; - rev = "22ee9f6be1c78bcebe009a564758e5b6df08903b"; - sha256 = "1j1bg8506ag9fmjbx41w1hqnd61vyq1paclh2nc25krcbv2plyas"; + rev = "51c173dffa17dc14c81169deaeea430bd394ab51"; + sha256 = "1xy0ppmgwss10nkqsxm230xhryxmwsr1gypj5cq0kwhj61wb6hk0"; }; meta.homepage = "https://github.com/echasnovski/mini.comment/"; meta.hydraPlatforms = [ ]; @@ -8060,12 +8020,12 @@ final: prev: { mini-completion = buildVimPlugin { pname = "mini.completion"; - version = "2025-05-10"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.completion"; - rev = "ea78d31e8164468f0b3a909f863806f2c4cb84c4"; - sha256 = "01zc0kvwiq1h37q4fgwqi0bg875dks8vxw3aqjg3kyjj1v3z0zw9"; + rev = "89e051092ad9d273550d7352169c8b0524f12441"; + sha256 = "03x1j8ldkr92x72p3j1dspr6if9lckr47pljgdrvp798gfil6r99"; }; meta.homepage = "https://github.com/echasnovski/mini.completion/"; meta.hydraPlatforms = [ ]; @@ -8073,12 +8033,12 @@ final: prev: { mini-cursorword = buildVimPlugin { pname = "mini.cursorword"; - version = "2025-04-01"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.cursorword"; - rev = "ab63cc74975f4e107dbb490f6d3040eacfc1c023"; - sha256 = "0sgii7m2lfp95vxnchisk3hpbjwwqpky6ivkx2nc5djkmj07b7mj"; + rev = "d986b696657468708efca66417c039a79e37f1c9"; + sha256 = "0fpa2bin23pp7kw4639a5snzdidr19cry5b86y6xxpql55pj682d"; }; meta.homepage = "https://github.com/echasnovski/mini.cursorword/"; meta.hydraPlatforms = [ ]; @@ -8086,12 +8046,12 @@ final: prev: { mini-deps = buildVimPlugin { pname = "mini.deps"; - version = "2025-05-29"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.deps"; - rev = "be67d7b9e5361e3b3b26705d10ea5f869b74c6bc"; - sha256 = "0lzx5rgqsg212k08fp1qlc0f31y6hvsg3q7gsz6z5vsi9cqfvwml"; + rev = "d5b868777d63c7e1028dcd601dfe6738d4686fca"; + sha256 = "01ydj15x6nbg2gchi35zsvcydrk1q0lzm29n81xsrbhhm2nfixn9"; }; meta.homepage = "https://github.com/echasnovski/mini.deps/"; meta.hydraPlatforms = [ ]; @@ -8099,12 +8059,12 @@ final: prev: { mini-diff = buildVimPlugin { pname = "mini.diff"; - version = "2025-05-25"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.diff"; - rev = "f7bcd3cb4561f7d3a02ae9afafeda899c82f7108"; - sha256 = "1z2jklgm72mj4rpknl4s9kl22in2b40vx1k7psscz4b8d6ljh41m"; + rev = "9bccf260cdb9308223f47a29fb4cb91c817a9349"; + sha256 = "1fjg8ql9v9sx98s0fcbfi1pfjm9a9sg04fifql8hgll626qkcxr5"; }; meta.homepage = "https://github.com/echasnovski/mini.diff/"; meta.hydraPlatforms = [ ]; @@ -8112,12 +8072,12 @@ final: prev: { mini-doc = buildVimPlugin { pname = "mini.doc"; - version = "2025-04-01"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.doc"; - rev = "9b3e1b20508c7a6218cadf59b177a79a5df290f6"; - sha256 = "1anxn3lasm1x3yn1i0hd4im7y8fvf0fhyazn3yj6hzpm4vb12p0k"; + rev = "f6c090a6c2a8c11eea9b981aceaa1e329b7f60c4"; + sha256 = "0n920j25rnb66hk3klrni9ji673800dbxyb8j30vd4dymq5051ym"; }; meta.homepage = "https://github.com/echasnovski/mini.doc/"; meta.hydraPlatforms = [ ]; @@ -8125,12 +8085,12 @@ final: prev: { mini-extra = buildVimPlugin { pname = "mini.extra"; - version = "2025-05-25"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.extra"; - rev = "69ba107ac8712820f3ad391d327f62b57fead277"; - sha256 = "15q6q4laycfzb2rr2h948n61ybgv46cgcsgr8cjfwna4bby8gvj3"; + rev = "7854e6c8c4486f28da22e2e5f131295672208c84"; + sha256 = "0yxhll50xmfbj7sl6pl05dgjhkw7rlmq1dib0zmfhcyzy1yhkh34"; }; meta.homepage = "https://github.com/echasnovski/mini.extra/"; meta.hydraPlatforms = [ ]; @@ -8138,12 +8098,12 @@ final: prev: { mini-files = buildVimPlugin { pname = "mini.files"; - version = "2025-05-05"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.files"; - rev = "49c855977e9f4821d1ed8179ed44fe098b93ea2a"; - sha256 = "12027xb9907zk145hsx6qniq1cjm8bm5405njq4cs9vx992pafsh"; + rev = "6c610050b20a2bc353c418a411401127faceb038"; + sha256 = "0s3agg4p9s1jm3vz6h4xyv263m694dmrj84gas4qn5l5593rmdk0"; }; meta.homepage = "https://github.com/echasnovski/mini.files/"; meta.hydraPlatforms = [ ]; @@ -8151,12 +8111,12 @@ final: prev: { mini-fuzzy = buildVimPlugin { pname = "mini.fuzzy"; - version = "2025-04-01"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.fuzzy"; - rev = "c33d6a93c4fe395ae8a9bd02fed35315a90b688a"; - sha256 = "0n3rnvhz1hzj32l006il96zf61iv4wc0fy6dqp1lyrqm13skadvp"; + rev = "6898e68f9d8f45a09fd8898fbb8f3b5959cdf9a3"; + sha256 = "0hl5ygzlf73g70j7pdd1x4975368sqpynpja1zx7bc5jln698vr4"; }; meta.homepage = "https://github.com/echasnovski/mini.fuzzy/"; meta.hydraPlatforms = [ ]; @@ -8164,12 +8124,12 @@ final: prev: { mini-git = buildVimPlugin { pname = "mini-git"; - version = "2025-04-06"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini-git"; - rev = "a0ddc6302f654523053c28109e8b6dbbf05c08f8"; - sha256 = "0vf0ys710yf1apalglxj7kcdyrnrd7jkz1ksi9v1vj3h60pvany2"; + rev = "9d4e4e220b59fed49c6efbadfdd8230994d969be"; + sha256 = "036djzqr0k37q7x24vshn6cxnb9s5972534m861svf7vj5mvq173"; }; meta.homepage = "https://github.com/echasnovski/mini-git/"; meta.hydraPlatforms = [ ]; @@ -8177,12 +8137,12 @@ final: prev: { mini-hipatterns = buildVimPlugin { pname = "mini.hipatterns"; - version = "2025-04-06"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.hipatterns"; - rev = "e5083df391171dc9d8172645606f8496d9443374"; - sha256 = "116vpf4b86qbwrcax7dfhiswb4pwf3nmj2dh4kafj9vnpwyw1c3w"; + rev = "d71c21167d6bd5f21c9ecf90912c510f9edfc02b"; + sha256 = "1ghkbdkjbi6032mcq5nkl1l1iz4yyhj6d8gvajbf5bkkfznlrcas"; }; meta.homepage = "https://github.com/echasnovski/mini.hipatterns/"; meta.hydraPlatforms = [ ]; @@ -8190,12 +8150,12 @@ final: prev: { mini-hues = buildVimPlugin { pname = "mini.hues"; - version = "2025-06-03"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.hues"; - rev = "62f16a7b4704d051f69c39dbbe867dfdb4f0d3ed"; - sha256 = "0hmflllpxmp39d1x1lx0j6w3mm2yin3mf0mjgfics2s6jdami3pj"; + rev = "2fefb9923b0fedb0d6085f87469e54d9e9ebd269"; + sha256 = "0s2fr2dmj4c1xbzcminad5jxhyvax5cl7056vnih3j7hl0jwqw3b"; }; meta.homepage = "https://github.com/echasnovski/mini.hues/"; meta.hydraPlatforms = [ ]; @@ -8203,12 +8163,12 @@ final: prev: { mini-icons = buildVimPlugin { pname = "mini.icons"; - version = "2025-04-01"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.icons"; - rev = "397ed3807e96b59709ef3292f0a3e253d5c1dc0a"; - sha256 = "110bglbbyafjym4md2slgccyjhf90bgg8h9h2ipya6cfqfs4pizy"; + rev = "94848dad1589a199f876539bd79befb0c5e3abf0"; + sha256 = "1810mvav1k24kxx3kj364v09k26d1s1p2y6dnc2l8mwzw7q70byr"; }; meta.homepage = "https://github.com/echasnovski/mini.icons/"; meta.hydraPlatforms = [ ]; @@ -8216,12 +8176,12 @@ final: prev: { mini-indentscope = buildVimPlugin { pname = "mini.indentscope"; - version = "2025-04-01"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.indentscope"; - rev = "8af2569a7d7fd37300dfa760e44e71efbbf322fd"; - sha256 = "1xk31bl9gchc8r1pv6f2z7nfkr6q7f1i4qrrj3h4crxb6nhpxmry"; + rev = "5fdc3edf7bb1b6365980c2c47dac2f19ec93c97b"; + sha256 = "0dv4c6yf1s5fzvwy1n0chq553353bsix3g8ysajp9lswnd9lhbh4"; }; meta.homepage = "https://github.com/echasnovski/mini.indentscope/"; meta.hydraPlatforms = [ ]; @@ -8229,12 +8189,12 @@ final: prev: { mini-jump = buildVimPlugin { pname = "mini.jump"; - version = "2025-05-23"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.jump"; - rev = "aad72c99f446086b0a53b8a660a2d89d296be057"; - sha256 = "1dsqpcr54sglr0x9mmp0xxpmrmgq10j0xpnj2dxvxabi9h1h179a"; + rev = "c3db083094ab8f146d4c3897682928727082e5e7"; + sha256 = "0k724raf1ifinldb24dr66sislqhx2kq7j8b96rrcgsb6ab47a5s"; }; meta.homepage = "https://github.com/echasnovski/mini.jump/"; meta.hydraPlatforms = [ ]; @@ -8242,12 +8202,12 @@ final: prev: { mini-jump2d = buildVimPlugin { pname = "mini.jump2d"; - version = "2025-05-26"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.jump2d"; - rev = "6045bd61659d97926ba7ae5f9be8924e11c15079"; - sha256 = "1zk5y1gdkg8m1ncic0b0iqcp9k32pd1dklnw69jjwm30mxmixky8"; + rev = "c2bb2ccb1fc023e4d0a9800d999731594c998403"; + sha256 = "1661vzmhs7in897w5cykk54m8gqiyg2pkz37isw5knd276hb4miv"; }; meta.homepage = "https://github.com/echasnovski/mini.jump2d/"; meta.hydraPlatforms = [ ]; @@ -8255,12 +8215,12 @@ final: prev: { mini-keymap = buildVimPlugin { pname = "mini.keymap"; - version = "2025-06-05"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.keymap"; - rev = "da545fb70161aedb5331572ddcbffbdb8e31d8ce"; - sha256 = "0s1x9c2rbz947g3wnbcf50hrs8d6wvqia2y4mi1nk0zafp3v1ijb"; + rev = "64f3573d1f0c7497725e8c95305b601ea550d4b3"; + sha256 = "1i0wfmnc1fs2d5hk5p1ar5scvw4jmym8x8w8r11m5qq50xkm63np"; }; meta.homepage = "https://github.com/echasnovski/mini.keymap/"; meta.hydraPlatforms = [ ]; @@ -8268,12 +8228,12 @@ final: prev: { mini-map = buildVimPlugin { pname = "mini.map"; - version = "2025-04-01"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.map"; - rev = "f3c156693a9f68a10ae285d537edd36f4cf0e64f"; - sha256 = "1z2rf664z7krs40w66b5fjmq3xffv357mv689425i5nyc1q0gr4n"; + rev = "6219866e6ce327365c67c016b10032f6b67e16dd"; + sha256 = "1mqf5bkyp8r05h7ba4drfxx97js2fzmdbjz0xb88xhnpmrikfjnv"; }; meta.homepage = "https://github.com/echasnovski/mini.map/"; meta.hydraPlatforms = [ ]; @@ -8281,12 +8241,12 @@ final: prev: { mini-misc = buildVimPlugin { pname = "mini.misc"; - version = "2025-05-05"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.misc"; - rev = "d92235cfb7b1bce2dfc21d06ee1a1a3d7e04b969"; - sha256 = "0cbq6kw58jiiy7f3fraxkskr1vpwmdnpv38pbywwfr8w1f6rf2fi"; + rev = "02de0d3fa53fcad1bee6c770b92a485769143155"; + sha256 = "0cx751vmhwmvbddhm2ybsib63d8lpvqq3b1ivf37wvysdcp3z2q7"; }; meta.homepage = "https://github.com/echasnovski/mini.misc/"; meta.hydraPlatforms = [ ]; @@ -8294,12 +8254,12 @@ final: prev: { mini-move = buildVimPlugin { pname = "mini.move"; - version = "2025-04-01"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.move"; - rev = "4fe4a855fee53c66b0f3255a4b54ddc2ae6b308c"; - sha256 = "0dd29nx1z54ljjz9m4m9ghhv39x7ajjx43hbr4gn7p1lv2kvjv7p"; + rev = "f471ecb98395781827ef1dffee61afe1af0ace29"; + sha256 = "0cnzfn706s90bc0m49jkx3fjghrcv0byqbajdhwbrv8f77c6crg3"; }; meta.homepage = "https://github.com/echasnovski/mini.move/"; meta.hydraPlatforms = [ ]; @@ -8307,12 +8267,12 @@ final: prev: { mini-notify = buildVimPlugin { pname = "mini.notify"; - version = "2025-04-21"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.notify"; - rev = "3a06b21dd0b335b95d125eae813276113b5e9ce7"; - sha256 = "13pa82zmz6w8is4gfh33fqcd2yx3f1bmd5r3q4sp1kfgf2c68c30"; + rev = "9996951977b503b8c9572a0bdb2c516f099701f9"; + sha256 = "0wxvggpcpyi3ngjdybr6jzz42mfb4b66dwxlikssvham6hs56a6d"; }; meta.homepage = "https://github.com/echasnovski/mini.notify/"; meta.hydraPlatforms = [ ]; @@ -8320,12 +8280,12 @@ final: prev: { mini-nvim = buildVimPlugin { pname = "mini.nvim"; - version = "2025-06-05"; + version = "2025-06-14"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.nvim"; - rev = "c3d398d8bfbd18ae24cb22a17cde1aaad3764cd3"; - sha256 = "1gc67yassyasxl9z6da75rhxgnbclcvlpgbx0z3v48l91ampmv7g"; + rev = "3f5d06a6f710966cb93baaadc4897eeb6d6210e5"; + sha256 = "1pizh780sw61fxg94jssnv9ghy1zxkvvdh29jq93yjc4a4x2q7xx"; }; meta.homepage = "https://github.com/echasnovski/mini.nvim/"; meta.hydraPlatforms = [ ]; @@ -8333,12 +8293,12 @@ final: prev: { mini-operators = buildVimPlugin { pname = "mini.operators"; - version = "2025-05-22"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.operators"; - rev = "b79a95958c57e127704bbeb1dc11a511954fc888"; - sha256 = "0dyackl7a6kayk7chd3qm45j7h1pjf1r6qhbdl7m21dzdbp9c4s5"; + rev = "87753a6748ac8871f7b81aa9473df76adb83a037"; + sha256 = "0vdamhys9p7hv2w5d1nm0qccwlfjmw9fdff1qmxwz52x3y775hsd"; }; meta.homepage = "https://github.com/echasnovski/mini.operators/"; meta.hydraPlatforms = [ ]; @@ -8346,12 +8306,12 @@ final: prev: { mini-pairs = buildVimPlugin { pname = "mini.pairs"; - version = "2025-04-01"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.pairs"; - rev = "69864a2efb36c030877421634487fd90db1e4298"; - sha256 = "0avjjikmz3b8676hzcqck3r2lv0zxsdr8hqs65zn2dr12q8zh41r"; + rev = "42407ccb80ec59c84e7c91d815f42ed90a8cc093"; + sha256 = "0h35xn8029d74sdv1fyrycpkl10vv0m01fvx2v955v0jfc9cii1n"; }; meta.homepage = "https://github.com/echasnovski/mini.pairs/"; meta.hydraPlatforms = [ ]; @@ -8359,12 +8319,12 @@ final: prev: { mini-pick = buildVimPlugin { pname = "mini.pick"; - version = "2025-05-29"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.pick"; - rev = "c272dc61cd0326b344761cd9d031bfcdef1978c7"; - sha256 = "0kpn9ha5kivv46r6m30bpbfv8qksg8k2xgb3n4gih7rlvik9qa3m"; + rev = "fdb920aa92ed624a0447bc13ddac79d9d2653c24"; + sha256 = "14v17p7safqb38n2qk8bfqsvsg48033a61kg575nnfbgp6vqa1jg"; }; meta.homepage = "https://github.com/echasnovski/mini.pick/"; meta.hydraPlatforms = [ ]; @@ -8372,12 +8332,12 @@ final: prev: { mini-sessions = buildVimPlugin { pname = "mini.sessions"; - version = "2025-04-01"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.sessions"; - rev = "dd7fe484dfcbf270a788e9291545df509cdb9691"; - sha256 = "0m8l1hw8y3mwhcnyzhxb7j4jvvwmf8i7ybxddy2r2rq89rc7x3ln"; + rev = "a74bcbf8c461a7b95a89013a5f5c6759db0577c6"; + sha256 = "05c19rdd7mj29f5k1hawwnsrgb71b0fylbc1wsb8qrwh0cgl3gmq"; }; meta.homepage = "https://github.com/echasnovski/mini.sessions/"; meta.hydraPlatforms = [ ]; @@ -8385,12 +8345,12 @@ final: prev: { mini-snippets = buildVimPlugin { pname = "mini.snippets"; - version = "2025-06-03"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.snippets"; - rev = "6f0de3c3f97a8c015f99619f72edf9b2880b6886"; - sha256 = "0pbkwp5p0y3djf3xfvmnf6ys1w5287gyhas09s94ha2ghhsyzy2w"; + rev = "27184798d8fa8aa190cad7004c314a0dc28f0e57"; + sha256 = "0bhaclzjn4hqx90479dfpg39l1xgx6w8j132pvyl9z6qak93vrym"; }; meta.homepage = "https://github.com/echasnovski/mini.snippets/"; meta.hydraPlatforms = [ ]; @@ -8398,12 +8358,12 @@ final: prev: { mini-splitjoin = buildVimPlugin { pname = "mini.splitjoin"; - version = "2025-04-01"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.splitjoin"; - rev = "70240d5d3881ff1b2b1d7902450f98a6fa303800"; - sha256 = "1sp4p0s4cv888n0nmgy04j5k51ndxpmksy235rg9jkk7j5gg47qb"; + rev = "ebde0e2a33ec983ade3b2bb3c495b3751b458e4c"; + sha256 = "0xnc61cm1zpj8j7j10zgpx4438vmqpdwbqick9rrw9jbmbzcc0p5"; }; meta.homepage = "https://github.com/echasnovski/mini.splitjoin/"; meta.hydraPlatforms = [ ]; @@ -8411,12 +8371,12 @@ final: prev: { mini-starter = buildVimPlugin { pname = "mini.starter"; - version = "2025-05-22"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.starter"; - rev = "03a124f307ebfb9fd05a0e6503d30605c32a9e1a"; - sha256 = "0c024xvdww9331bcfd3i7x8pp4phxkgqhnfv3fgld1imbnif1547"; + rev = "1c6467a6a46e02a0f6202de2f69ef6533fe95659"; + sha256 = "171dnnwjcc423xyrwk8p7ajynvwcjs801q5xkmgy73m3kbi7kq4i"; }; meta.homepage = "https://github.com/echasnovski/mini.starter/"; meta.hydraPlatforms = [ ]; @@ -8424,12 +8384,12 @@ final: prev: { mini-statusline = buildVimPlugin { pname = "mini.statusline"; - version = "2025-04-07"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.statusline"; - rev = "e331175f10d9f400b42523b3890841aba202ce16"; - sha256 = "1hhd4fln3m04d9v5pwa3mb1n4nifsilrxp8hs14njcgk2rxv6qar"; + rev = "452d27d764720cddcb9909b786598bb9e80c1ce8"; + sha256 = "1fwimcd7vlmmny961j9nr767ybx3zd1k5f8zfs4jszln12m9q4ig"; }; meta.homepage = "https://github.com/echasnovski/mini.statusline/"; meta.hydraPlatforms = [ ]; @@ -8437,12 +8397,12 @@ final: prev: { mini-surround = buildVimPlugin { pname = "mini.surround"; - version = "2025-06-02"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.surround"; - rev = "0d278217ca98ffa5b768701fb57f52a88b1e1f93"; - sha256 = "0r93kgzd5xhykcwxzfjcmdmcd2dmj80hxqfd4r6ikbaxq6b6vnk0"; + rev = "1a2b59c77a0c4713a5bd8972da322f842f4821b1"; + sha256 = "0ar1c147q6053klj9fg8kciqzmalvhcnynp09lfmhn8siqc6y64j"; }; meta.homepage = "https://github.com/echasnovski/mini.surround/"; meta.hydraPlatforms = [ ]; @@ -8450,12 +8410,12 @@ final: prev: { mini-tabline = buildVimPlugin { pname = "mini.tabline"; - version = "2025-04-08"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.tabline"; - rev = "ff7a050721352580184db1ff203286c1032d5b54"; - sha256 = "142vv5nwg3bvia21frmcyps1ycyqqj1l0v5vclrm46cwaz2b2qfb"; + rev = "3b764ec62ad344f64f5051c5392075174f5c3ec0"; + sha256 = "1as0vdqz3xyzswgmki9gc0dwklq94sprsl6p2vcwcrw5z3jymlrp"; }; meta.homepage = "https://github.com/echasnovski/mini.tabline/"; meta.hydraPlatforms = [ ]; @@ -8463,12 +8423,12 @@ final: prev: { mini-trailspace = buildVimPlugin { pname = "mini.trailspace"; - version = "2025-04-01"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.trailspace"; - rev = "39a0460c025a605519fdd6bea1ce870642429996"; - sha256 = "1d95vcxm7fhav8gz9n8m36q3hkxi6j1p0f6y35qnps1x7yz1wyfg"; + rev = "13e3fcdac308ae2072a015456be88e1ecb7836d3"; + sha256 = "1ihd8fbs5imnp5xcllcj6fgpx0y4vclrkfz802q9fl7fqh00dcay"; }; meta.homepage = "https://github.com/echasnovski/mini.trailspace/"; meta.hydraPlatforms = [ ]; @@ -8476,12 +8436,12 @@ final: prev: { mini-visits = buildVimPlugin { pname = "mini.visits"; - version = "2025-04-01"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.visits"; - rev = "c0a3b02f5d82080a2aa6cd9185ff16944ce2451a"; - sha256 = "02wr34zzd5x6zn4iwhbv5g4shibpvb8536hr5lk0aw7i55aqg5x8"; + rev = "fa369785d530a942c184a3f2e1b88909c6d42e29"; + sha256 = "0wc25nv99mg8s7p96hssfvfqls4cplm2arm7zhgwyciqffbw6hj7"; }; meta.homepage = "https://github.com/echasnovski/mini.visits/"; meta.hydraPlatforms = [ ]; @@ -8710,12 +8670,12 @@ final: prev: { ncm2 = buildVimPlugin { pname = "ncm2"; - version = "2025-05-29"; + version = "2025-06-07"; src = fetchFromGitHub { owner = "ncm2"; repo = "ncm2"; - rev = "259d1bb1d26bf7f7e5935484a3cc15010512f54b"; - sha256 = "1prgwjlw9m6qjrax90hn3ip1fbrx451zq274qwc9ii3isvcr7x6l"; + rev = "6a22e976475c810222623c9418c71f74f720e6a5"; + sha256 = "00q7jg2y26nzdvnyjfkwwrr5qbyjwyiawhvdcrar6c9s6n018mr0"; }; meta.homepage = "https://github.com/ncm2/ncm2/"; meta.hydraPlatforms = [ ]; @@ -8970,12 +8930,12 @@ final: prev: { neo-tree-nvim = buildVimPlugin { pname = "neo-tree.nvim"; - version = "2025-06-01"; + version = "2025-06-09"; src = fetchFromGitHub { owner = "nvim-neo-tree"; repo = "neo-tree.nvim"; - rev = "f3e8633f06007e015f855d3c1ec0cee23af14d8e"; - sha256 = "04ddr8cl67xk7i459y49m3mfxc3ca8kbdzmiwwz3ksrfhxyzr0g1"; + rev = "e01ca7de8e6dbc6118bcb12c4cbe1f88162a337f"; + sha256 = "1wyilri9vmb6il8ikf42hv96rxfbzyz8hj63ga4qrgj307aqx5bf"; }; meta.homepage = "https://github.com/nvim-neo-tree/neo-tree.nvim/"; meta.hydraPlatforms = [ ]; @@ -8996,12 +8956,12 @@ final: prev: { neoconf-nvim = buildVimPlugin { pname = "neoconf.nvim"; - version = "2025-06-05"; + version = "2025-06-17"; src = fetchFromGitHub { owner = "folke"; repo = "neoconf.nvim"; - rev = "27ad122b711ad1ab7fe1cd8d352ded0c454ec05e"; - sha256 = "1n3fi1njgqg27g1aakizi2bqclk0f3hxqzym9ya1jh7dxaxagp3x"; + rev = "070555e5155e185b3d84a9110bdb017b8a33915f"; + sha256 = "1b6ab2spc5f882kg4mwysbzwiazvn1azplgaq8zbzlc6pny48d46"; }; meta.homepage = "https://github.com/folke/neoconf.nvim/"; meta.hydraPlatforms = [ ]; @@ -9048,12 +9008,12 @@ final: prev: { neoformat = buildVimPlugin { pname = "neoformat"; - version = "2025-05-03"; + version = "2025-06-07"; src = fetchFromGitHub { owner = "sbdchd"; repo = "neoformat"; - rev = "33cab6962999ca74824ee6dc6e627f406139d6ee"; - sha256 = "1gw0vxvkwpfawk7ixy8m67hqm0gjyb5b9riy1lx5knjaj198qrjv"; + rev = "9d2e28993e06e86b88c364b6176612b917468f3e"; + sha256 = "06silkhbjkzf43013ffmyprz3xvb2ywf9ilgflqzmvsq2ysl8f00"; }; meta.homepage = "https://github.com/sbdchd/neoformat/"; meta.hydraPlatforms = [ ]; @@ -9074,12 +9034,12 @@ final: prev: { neogit = buildVimPlugin { pname = "neogit"; - version = "2025-06-04"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "NeogitOrg"; repo = "neogit"; - rev = "89a2df9a882868ddfa2a757e3224f57971e38329"; - sha256 = "0smcr2y4nrgdsp7nk2v06dhpchl2gsrn9ckzhzwq1smdh0nlgdkf"; + rev = "1b4f44374f97d9262caa680e41ecbebcaf1553bd"; + sha256 = "0vryfpxgm68mi0955ljzald8yb17qkfibas7sfx373aq11dcqwqj"; }; meta.homepage = "https://github.com/NeogitOrg/neogit/"; meta.hydraPlatforms = [ ]; @@ -9336,12 +9296,12 @@ final: prev: { neotest-golang = buildVimPlugin { pname = "neotest-golang"; - version = "2025-05-31"; + version = "2025-06-10"; src = fetchFromGitHub { owner = "fredrikaverpil"; repo = "neotest-golang"; - rev = "863a9d8cef20b7392aac77eaa7d116faa8344aab"; - sha256 = "04knx74iqwqm1w165jp0jnjf3nas8mdfsqp9yw5vz7krn6cgywql"; + rev = "0a0acff3cf9a0bf140c84ea9e66d818df7c2608f"; + sha256 = "1ig67jwj8hh8h4i66iflr7d7dvv99c8sdg3ingp3dqf1kb2p10mq"; }; meta.homepage = "https://github.com/fredrikaverpil/neotest-golang/"; meta.hydraPlatforms = [ ]; @@ -9376,12 +9336,12 @@ final: prev: { neotest-haskell = buildVimPlugin { pname = "neotest-haskell"; - version = "2025-06-01"; + version = "2025-06-15"; src = fetchFromGitHub { owner = "MrcJkb"; repo = "neotest-haskell"; - rev = "f2a3373ccc5e41ce53dd2f3fa76e8b0a82cf3613"; - sha256 = "06jgrcrbjrpi4wfkschcrwyzapy4bcssfy03vnxw2lj6c5czjrwz"; + rev = "4d0beb0bc7fed78241c12a95d68b3aaebf384b8b"; + sha256 = "0a5iwvb9bpxqqvqjnasa2cyxkrijxhldlykayjycgjykfc93zh9h"; }; meta.homepage = "https://github.com/MrcJkb/neotest-haskell/"; meta.hydraPlatforms = [ ]; @@ -9402,12 +9362,12 @@ final: prev: { neotest-jest = buildVimPlugin { pname = "neotest-jest"; - version = "2024-03-21"; + version = "2025-06-14"; src = fetchFromGitHub { owner = "nvim-neotest"; repo = "neotest-jest"; - rev = "514fd4eae7da15fd409133086bb8e029b65ac43f"; - sha256 = "1lmz248bzdhggvarikhpr5210mbw9fycks93k719d05sb4l6i2dg"; + rev = "dd82016c01704d9bbd5188749fe0586b3b620693"; + sha256 = "1ymh9383yccvgm1fpb1lb3jg036gb2ll74mpxk9cdqmv8kr1snw3"; }; meta.homepage = "https://github.com/nvim-neotest/neotest-jest/"; meta.hydraPlatforms = [ ]; @@ -9506,12 +9466,12 @@ final: prev: { neotest-rspec = buildVimPlugin { pname = "neotest-rspec"; - version = "2025-03-12"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "olimorris"; repo = "neotest-rspec"; - rev = "281c0ed0e55d623e8028796e1c4dc27b7e421fd0"; - sha256 = "0gbdpplvai8cay0xmhiw1j27rxy5wzsx2b6jfnv3cqwk77chbabp"; + rev = "825bc085b7a691860d5cafc5fa7ab140c713e6c8"; + sha256 = "1552sawyf6mn2yrapbpxqi0984mlffwxadmy72jzq6qikqmmbsrc"; }; meta.homepage = "https://github.com/olimorris/neotest-rspec/"; meta.hydraPlatforms = [ ]; @@ -9688,12 +9648,12 @@ final: prev: { nerdy-nvim = buildVimPlugin { pname = "nerdy.nvim"; - version = "2025-06-01"; + version = "2025-06-10"; src = fetchFromGitHub { owner = "2KAbhishek"; repo = "nerdy.nvim"; - rev = "dcf0afa6cd5a325d6779cb75d8d703dc2188adbb"; - sha256 = "0d82dk112dpnk1i4x2gg32nq8fpjc8irv5kj9xnh1m6s4aycg25v"; + rev = "826a74b0e2d86548190ac4575cccd8d5b159c0a1"; + sha256 = "1nxhrdpjicrw7kvhvv4b341pn9qbm4a6w18brjbwrz1lmy8ywmpm"; }; meta.homepage = "https://github.com/2KAbhishek/nerdy.nvim/"; meta.hydraPlatforms = [ ]; @@ -9753,12 +9713,12 @@ final: prev: { nfnl = buildVimPlugin { pname = "nfnl"; - version = "2025-05-19"; + version = "2025-06-14"; src = fetchFromGitHub { owner = "Olical"; repo = "nfnl"; - rev = "19cac83657514a0718b7af4a086d06bd73269b7a"; - sha256 = "0323dfwsg6rfcngnzq7i00n1vsxjpa6z17442shirq5w43b492vq"; + rev = "143b595069d98d47b26b80f0e0375420673de4af"; + sha256 = "1m2c2cjkzsdzqm79y9x28521cgz5a44b66crcn2lzi6n30xbn4h8"; }; meta.homepage = "https://github.com/Olical/nfnl/"; meta.hydraPlatforms = [ ]; @@ -9870,12 +9830,12 @@ final: prev: { nlsp-settings-nvim = buildVimPlugin { pname = "nlsp-settings.nvim"; - version = "2025-06-03"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "tamago324"; repo = "nlsp-settings.nvim"; - rev = "757e1580182f62162a22da6131645a7c51397a25"; - sha256 = "10q2kck6mjnvsk0c3rcnakfqij3757wj67rmml0zgg0k43bar423"; + rev = "a37ba3865f0e56efbfa879289d71aeca771f742e"; + sha256 = "03hjj2fqlksw02d7fs9lih3va2hhjkn0yrsl3lf7ljjn2iqv3ibr"; }; meta.homepage = "https://github.com/tamago324/nlsp-settings.nvim/"; meta.hydraPlatforms = [ ]; @@ -9909,12 +9869,12 @@ final: prev: { no-neck-pain-nvim = buildVimPlugin { pname = "no-neck-pain.nvim"; - version = "2025-06-02"; + version = "2025-06-08"; src = fetchFromGitHub { owner = "shortcuts"; repo = "no-neck-pain.nvim"; - rev = "ecdfe60f23134089fac92659e688b65fdd8b5cc0"; - sha256 = "0a5xmflib60k81gj6v11m1wymnzknyjxl5ydxpawyx61y36k3xhc"; + rev = "0b6e82a6f1db9ff0b694df2a8e3bd3f7828a3958"; + sha256 = "0grs2j9x3qzhrbfj8lc5m6b4fzzy78cmc5is8qh290n6ymqyhsr0"; }; meta.homepage = "https://github.com/shortcuts/no-neck-pain.nvim/"; meta.hydraPlatforms = [ ]; @@ -10065,12 +10025,12 @@ final: prev: { nvchad-ui = buildVimPlugin { pname = "nvchad-ui"; - version = "2025-06-03"; + version = "2025-06-17"; src = fetchFromGitHub { owner = "nvchad"; repo = "ui"; - rev = "b7c656064ec54f77bc6c75e4c51108ba451e6d7a"; - sha256 = "12zqah2zgsi3ic3blhkcyhg8ahpzywk20hjq0gxl7ijpqfqq73d6"; + rev = "c960121b7470c465138177383af364451bb2c102"; + sha256 = "09b8fdawd02g7dav7l850xgz1bkym5izxpgzmylwmyq7smizy383"; }; meta.homepage = "https://github.com/nvchad/ui/"; meta.hydraPlatforms = [ ]; @@ -10117,12 +10077,12 @@ final: prev: { nvim-autopairs = buildVimPlugin { pname = "nvim-autopairs"; - version = "2025-04-13"; + version = "2025-06-17"; src = fetchFromGitHub { owner = "windwp"; repo = "nvim-autopairs"; - rev = "4d74e75913832866aa7de35e4202463ddf6efd1b"; - sha256 = "0q6pv89x05l71nfg2chqf9p0d2ha72agmll2svimq0npp84ymfxz"; + rev = "2647cce4cb64fb35c212146663384e05ae126bdf"; + sha256 = "0qq20icy449c6jhrrxqc9w6fk7xsfnww0a7bwqnxalglvl0ss92k"; }; meta.homepage = "https://github.com/windwp/nvim-autopairs/"; meta.hydraPlatforms = [ ]; @@ -10156,12 +10116,12 @@ final: prev: { nvim-bqf = buildVimPlugin { pname = "nvim-bqf"; - version = "2025-03-29"; + version = "2025-06-10"; src = fetchFromGitHub { owner = "kevinhwang91"; repo = "nvim-bqf"; - rev = "e20417d5e589e03eaaaadc4687904528500608be"; - sha256 = "0gxfpld6f60a6679f58m0v2f2m9lar74mmvi0fh4880gbd92kdm6"; + rev = "9cbec7cf8ad2a902a0a41241ad16c3489620321b"; + sha256 = "106310ra6xqf198bznmbmmvlvyrhc7a8gpaqqkli48zgrndmq5fx"; }; meta.homepage = "https://github.com/kevinhwang91/nvim-bqf/"; meta.hydraPlatforms = [ ]; @@ -10299,12 +10259,12 @@ final: prev: { nvim-dap = buildVimPlugin { pname = "nvim-dap"; - version = "2025-06-04"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "mfussenegger"; repo = "nvim-dap"; - rev = "ea82027c3447dc1a022be9a9884de276c05cd33a"; - sha256 = "0m91bqbprp6n00m7kk5wqrhl237a5q082m98xak6r7gvxg1c7ac7"; + rev = "2edd6375692d9ac1053d50acfe415c1eb2ba92d0"; + sha256 = "19af0kdpkaxilpbbg44yd6jq520vy5fzrnxymz7d58d1niw136hi"; }; meta.homepage = "https://github.com/mfussenegger/nvim-dap/"; meta.hydraPlatforms = [ ]; @@ -10403,12 +10363,12 @@ final: prev: { nvim-dap-view = buildVimPlugin { pname = "nvim-dap-view"; - version = "2025-06-04"; + version = "2025-06-15"; src = fetchFromGitHub { owner = "igorlfs"; repo = "nvim-dap-view"; - rev = "7b305ecbbdeb5c6fb7463e68e42c44c19add60b9"; - sha256 = "0788q2p5534l9qsxpd9ik6dwd99pfprr1j8cszvffl6mh1rjf9ss"; + rev = "1ea46f5ded7d5885a56adbe9e568bead45a9331c"; + sha256 = "06v6kynkh0zbrv8ck5ii4lq9qw987jzgwx3y3p8ig8nc1l89rwr1"; }; meta.homepage = "https://github.com/igorlfs/nvim-dap-view/"; meta.hydraPlatforms = [ ]; @@ -10455,12 +10415,12 @@ final: prev: { nvim-early-retirement = buildVimPlugin { pname = "nvim-early-retirement"; - version = "2025-05-19"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "chrisgrieser"; repo = "nvim-early-retirement"; - rev = "6db15a859cf73d4027e919f5a49cc795ee96831a"; - sha256 = "1532kfsfvjf61gg238dwqyam5p9ncnpzvzbmvw8wjqv12izn39nj"; + rev = "d9ffd8f70ed6d466cecd3e7e2dd1425b0010932f"; + sha256 = "19nph2kp0l5mpykvii8wajh7svqd89gd8l3jzsyqmxdgkyxdg3nw"; }; meta.homepage = "https://github.com/chrisgrieser/nvim-early-retirement/"; meta.hydraPlatforms = [ ]; @@ -10520,12 +10480,12 @@ final: prev: { nvim-genghis = buildVimPlugin { pname = "nvim-genghis"; - version = "2025-05-20"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "chrisgrieser"; repo = "nvim-genghis"; - rev = "80f7725d1e3d537ef4e223e772afd4d6de41b10e"; - sha256 = "0ncqy98qq58gdxpr6j4kn5vgw5hdj7f8p87qknmawfx754x3vykp"; + rev = "16268746ae4617be8e8989748b9a0b0372f5e3b4"; + sha256 = "0j9ymq52dxqq9ysjgz8a5qna8ayi0ym6kvxh6ircnhqs4ff92mli"; }; meta.homepage = "https://github.com/chrisgrieser/nvim-genghis/"; meta.hydraPlatforms = [ ]; @@ -10572,12 +10532,12 @@ final: prev: { nvim-highlite = buildVimPlugin { pname = "nvim-highlite"; - version = "2025-06-03"; + version = "2025-06-06"; src = fetchFromGitHub { owner = "Iron-E"; repo = "nvim-highlite"; - rev = "9097dfdab09c0610c5057a0161f68d9e9a187657"; - sha256 = "0hf826dk6wvfmzs7d6xrnilkvqlrdnfrrr5h5b4jyvqy8k0zsckv"; + rev = "421e76a4f7c11f7dec75feb9412ac4cb169cfa52"; + sha256 = "112l0mnzwfkxg2v818i7z68vf2sxczaxw87hdsknmwwm3b7vl0js"; }; meta.homepage = "https://github.com/Iron-E/nvim-highlite/"; meta.hydraPlatforms = [ ]; @@ -10585,12 +10545,12 @@ final: prev: { nvim-hlslens = buildVimPlugin { pname = "nvim-hlslens"; - version = "2025-04-26"; + version = "2025-06-10"; src = fetchFromGitHub { owner = "kevinhwang91"; repo = "nvim-hlslens"; - rev = "1e650c136f9f9d5fefe34947ad27c80010d3321f"; - sha256 = "05rxzl519p9wqymbdnz3jrc6k1p7l7sj0mw6cz12snsg5cisn2h7"; + rev = "95ced18ebaf19c1bdb64982a614ee8a9d7ee8e51"; + sha256 = "0gyww7b3hgjf5lyrn2xcg14wscpaj6pxf2jmchc5vx0clxl5rybq"; }; meta.homepage = "https://github.com/kevinhwang91/nvim-hlslens/"; meta.hydraPlatforms = [ ]; @@ -10689,12 +10649,12 @@ final: prev: { nvim-jdtls = buildVimPlugin { pname = "nvim-jdtls"; - version = "2025-04-24"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "mfussenegger"; repo = "nvim-jdtls"; - rev = "c23f200fee469a415c77265ca55b496feb646992"; - sha256 = "0sk1gspldc513fhcicv5sqp5v1gin3nprmanvbd87cbi1l3rkhvh"; + rev = "4d77ff02063cf88963d5cf10683ab1fd15d072de"; + sha256 = "16sdq2ymrdnbm8667yairfji3md0w6c34qhssgahwb867185akzl"; }; meta.homepage = "https://github.com/mfussenegger/nvim-jdtls/"; meta.hydraPlatforms = [ ]; @@ -10780,12 +10740,12 @@ final: prev: { nvim-lint = buildVimPlugin { pname = "nvim-lint"; - version = "2025-06-05"; + version = "2025-06-12"; src = fetchFromGitHub { owner = "mfussenegger"; repo = "nvim-lint"; - rev = "cc26ae6a620298bb3f33b0e0681f99a10ae57781"; - sha256 = "0jspqgw8zwz79jrlcqr15waaxzw68n5c10bvhm3hqw02dr0bbipq"; + rev = "2b0039b8be9583704591a13129c600891ac2c596"; + sha256 = "06x67mhdw5d2482f9bq024pklalk3clynpiw0la8p80pakalk0jp"; }; meta.homepage = "https://github.com/mfussenegger/nvim-lint/"; meta.hydraPlatforms = [ ]; @@ -10832,12 +10792,12 @@ final: prev: { nvim-lspconfig = buildVimPlugin { pname = "nvim-lspconfig"; - version = "2025-06-04"; + version = "2025-06-17"; src = fetchFromGitHub { owner = "neovim"; repo = "nvim-lspconfig"; - rev = "036885e8e5456d3907626b634693234f628afef6"; - sha256 = "1zkjmr33srzdcjriwdlvq1dmpia7n0xgy3k5l3cdhrfn66k3mwl2"; + rev = "a371b662a4a8bc56e8a994531fcc280f30260048"; + sha256 = "065xwcbbnrrwkahpwmri0x8mi489md52i9mr1ngf5vqnvvsglgm3"; }; meta.homepage = "https://github.com/neovim/nvim-lspconfig/"; meta.hydraPlatforms = [ ]; @@ -10897,12 +10857,12 @@ final: prev: { nvim-metals = buildVimPlugin { pname = "nvim-metals"; - version = "2025-06-05"; + version = "2025-06-14"; src = fetchFromGitHub { owner = "scalameta"; repo = "nvim-metals"; - rev = "5ab889232ccb6e749094294e7979fda4a71fdecb"; - sha256 = "10asl4vi6di8vzhhjsczf8c5l16lcj0ygj2fbylav44ydy4dlwxd"; + rev = "852b8aa60d8ca30e14ef9253ced91656e845cfb7"; + sha256 = "1dg9fcj54w6xsbqxwv43694fpy3r172qgsnnhnndh82slmnxh55b"; }; meta.homepage = "https://github.com/scalameta/nvim-metals/"; meta.hydraPlatforms = [ ]; @@ -11001,12 +10961,12 @@ final: prev: { nvim-numbertoggle = buildVimPlugin { pname = "nvim-numbertoggle"; - version = "2025-04-25"; + version = "2025-06-11"; src = fetchFromGitHub { owner = "sitiom"; repo = "nvim-numbertoggle"; - rev = "c469e0e588a54895591047f94c9f9ff5a1d658aa"; - sha256 = "1nf74a8ssw23rq3vq0kqkbwpd680pp19pdhl6z4qf11l427jn5n0"; + rev = "4b898b84d6f31f76bd563330d76177d5eb299efa"; + sha256 = "1fdlg874wvxynax8cmjag22sj333m7avavkpxxgqpxna3i61ndrm"; }; meta.homepage = "https://github.com/sitiom/nvim-numbertoggle/"; meta.hydraPlatforms = [ ]; @@ -11014,12 +10974,12 @@ final: prev: { nvim-origami = buildVimPlugin { pname = "nvim-origami"; - version = "2025-05-19"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "chrisgrieser"; repo = "nvim-origami"; - rev = "6965856d2282d015a9679184cdd91f6f01a26dad"; - sha256 = "0w6i90axf6gnf0ixxb8a3q2kgg83kx97zial0rw8sx8x3jy4n79n"; + rev = "d42ac98ae68d0280dc4d36d5968dd8f170ab9ccb"; + sha256 = "0wpbjzvv2l6xkqbs4v9b9qc3kbnvjbf8cbci6g1nakr3c50hv8g3"; }; meta.homepage = "https://github.com/chrisgrieser/nvim-origami/"; meta.hydraPlatforms = [ ]; @@ -11131,12 +11091,12 @@ final: prev: { nvim-rip-substitute = buildVimPlugin { pname = "nvim-rip-substitute"; - version = "2025-06-02"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "chrisgrieser"; repo = "nvim-rip-substitute"; - rev = "1738c92fe35f95a0f9814cd5984534c50f1b5103"; - sha256 = "101lhrnqqywzx9c0n0ad60a7pwgpwrnw1jsy0wqkav1d3l3pqllr"; + rev = "9718e040e3593608eb0654cf643be4982d68bb46"; + sha256 = "14vycvd1sccrg13n0225nl20kikngfn49nfp1pri3c9gy8ksvsl0"; }; meta.homepage = "https://github.com/chrisgrieser/nvim-rip-substitute/"; meta.hydraPlatforms = [ ]; @@ -11144,12 +11104,12 @@ final: prev: { nvim-scissors = buildVimPlugin { pname = "nvim-scissors"; - version = "2025-05-19"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "chrisgrieser"; repo = "nvim-scissors"; - rev = "8123690127a599b7d5669b074d572e6239222c45"; - sha256 = "0d9qw33y3b3jmvddplji284r0y0kj5bah8k014f9kzqbb0sdp3xk"; + rev = "cf890edfa78a5ba49176083150dbed1888872ff9"; + sha256 = "04rzsq8b1yq0x2cghj27i2y4kfb1zbm54df76iip40qksi33igpn"; }; meta.homepage = "https://github.com/chrisgrieser/nvim-scissors/"; meta.hydraPlatforms = [ ]; @@ -11170,12 +11130,12 @@ final: prev: { nvim-scrollview = buildVimPlugin { pname = "nvim-scrollview"; - version = "2025-04-26"; + version = "2025-06-14"; src = fetchFromGitHub { owner = "dstein64"; repo = "nvim-scrollview"; - rev = "70e88d7248eda2f73e8ea0c6a12aa4748b7a950e"; - sha256 = "1xyh04amj12q1cfdl7b6gz1zhym458faw7lymdgbvyg25pm06ah4"; + rev = "095181bc2adb64af670dae73208871a731f0bb86"; + sha256 = "1m2vdd7vw22s5mnvmy4ncwxpgdnr04i0bqxx20w2ywlg3qwpvrw1"; }; meta.homepage = "https://github.com/dstein64/nvim-scrollview/"; meta.hydraPlatforms = [ ]; @@ -11209,12 +11169,12 @@ final: prev: { nvim-snippy = buildVimPlugin { pname = "nvim-snippy"; - version = "2025-04-02"; + version = "2025-06-08"; src = fetchFromGitHub { owner = "dcampos"; repo = "nvim-snippy"; - rev = "93c329f7dad98565ad5db9634ced253d665c1760"; - sha256 = "0n2sp3m8glvwnanqa8yk3d54n9p16rcshqyi7d0manf1iykv9ilh"; + rev = "6e5a522e74595b0b2d45359a00b199dca4981236"; + sha256 = "0bzn5bl9gyj2bp8ljf9nm0p2gig31v54l46xjcj27r9aqccqhqrx"; }; meta.homepage = "https://github.com/dcampos/nvim-snippy/"; meta.hydraPlatforms = [ ]; @@ -11248,12 +11208,12 @@ final: prev: { nvim-spider = buildVimPlugin { pname = "nvim-spider"; - version = "2025-05-19"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "chrisgrieser"; repo = "nvim-spider"; - rev = "99df646eab60df0b948dd2532ef5f5512707a9a4"; - sha256 = "1w87hjylahnnw4dmj65dqd2kp9xb1hn14fn6bmqqg1ayhm3r0w92"; + rev = "d4bdc45eac425e77108f068bd0706ff3ac20be7f"; + sha256 = "1jflkycs68mx3am63gqp5nlqp0m2fgfav5njicl252cb4w1337xv"; }; meta.homepage = "https://github.com/chrisgrieser/nvim-spider/"; meta.hydraPlatforms = [ ]; @@ -11313,12 +11273,12 @@ final: prev: { nvim-tinygit = buildVimPlugin { pname = "nvim-tinygit"; - version = "2025-05-19"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "chrisgrieser"; repo = "nvim-tinygit"; - rev = "5988da3f64665798a67596e25eb93b9fc102a5e1"; - sha256 = "0xr5nlhd355dn330gm8l9d4s52k6shdh5njy8hdx0r13rznjvhvp"; + rev = "ac211b1df4064dd4b6a85f71b7c88e6b610d6881"; + sha256 = "0c7h7g7l6d0wlglgab95pfsd8428wfr44h2b733qgv4qr9s4ljrq"; }; meta.homepage = "https://github.com/chrisgrieser/nvim-tinygit/"; meta.hydraPlatforms = [ ]; @@ -11326,12 +11286,12 @@ final: prev: { nvim-tree-lua = buildVimPlugin { pname = "nvim-tree.lua"; - version = "2025-06-01"; + version = "2025-06-17"; src = fetchFromGitHub { owner = "nvim-tree"; repo = "nvim-tree.lua"; - rev = "1c733e8c1957dc67f47580fe9c458a13b5612d5b"; - sha256 = "1a92zsb1r48s6cjphvx406lbxyc1v9w3gk9kkp3ri0k1l134aaw8"; + rev = "d54a1875a91e1a705795ea26074795210b92ce7f"; + sha256 = "0pwdkbyk2q1w9wl3fd1j7fgc55n2bl4pvci67vzp99pgbcd1srhk"; }; meta.homepage = "https://github.com/nvim-tree/nvim-tree.lua/"; meta.hydraPlatforms = [ ]; @@ -11352,12 +11312,12 @@ final: prev: { nvim-treesitter-context = buildVimPlugin { pname = "nvim-treesitter-context"; - version = "2025-06-02"; + version = "2025-06-14"; src = fetchFromGitHub { owner = "nvim-treesitter"; repo = "nvim-treesitter-context"; - rev = "464a443b5a6657f39772b20baa95d02ffe97b268"; - sha256 = "1q8ll6lkgqc2vhr9jz687a9rgzxrd0swy8cnsy2mb6c6626sxxhq"; + rev = "1a1a7c5d6d75cb49bf64049dafab15ebe294a79f"; + sha256 = "0akp0pvnvciigpnhinmmy6x5iwrf27ll2808a9ikq7akayjiz420"; }; meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-context/"; meta.hydraPlatforms = [ ]; @@ -11430,12 +11390,12 @@ final: prev: { nvim-treesitter-textobjects = buildVimPlugin { pname = "nvim-treesitter-textobjects"; - version = "2025-05-23"; + version = "2025-06-14"; src = fetchFromGitHub { owner = "nvim-treesitter"; repo = "nvim-treesitter-textobjects"; - rev = "0f051e9813a36481f48ca1f833897210dbcfffde"; - sha256 = "1vy2ihqknjrbmn4lw81hvhhqdg1pc2wc32ir96506bb3d273am7b"; + rev = "89ebe73cd2836db80a22d9748999ace0241917a5"; + sha256 = "1lvny4hzw0h8f1xdz78ga24w9w7j68ha68sjs9mvqsxn6xqh4ngr"; }; meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/"; meta.hydraPlatforms = [ ]; @@ -11495,12 +11455,12 @@ final: prev: { nvim-ufo = buildVimPlugin { pname = "nvim-ufo"; - version = "2025-05-07"; + version = "2025-06-09"; src = fetchFromGitHub { owner = "kevinhwang91"; repo = "nvim-ufo"; - rev = "3c7a3570e9c9dc198a2ad4491b0b0e51c4d4ba08"; - sha256 = "1akbq1nsm71snjx6n37070ycmhh46n5lqlvz6625zgsfg272fnz2"; + rev = "80fe8215ba566df2fbf3bf4d25f59ff8f41bc0e1"; + sha256 = "1rwk6hfkpvmm9sbbrqy89aacb00myha2ggsmfqqpnv06vmr68z34"; }; meta.homepage = "https://github.com/kevinhwang91/nvim-ufo/"; meta.hydraPlatforms = [ ]; @@ -11521,12 +11481,12 @@ final: prev: { nvim-various-textobjs = buildVimPlugin { pname = "nvim-various-textobjs"; - version = "2025-05-22"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "chrisgrieser"; repo = "nvim-various-textobjs"; - rev = "e60113244e43c8aefc118626056b310261211175"; - sha256 = "03wy31fmzpvjqx7klv6hwlgc66p4alc33vx5g81wjm78nxkr9yr3"; + rev = "61f69a0f2029b32cc3a815e5642592add3713a00"; + sha256 = "1dzjwvbf9kq6qx23vfbirzb01sq5l55b4b3954h5z7a55ag07b6z"; }; meta.homepage = "https://github.com/chrisgrieser/nvim-various-textobjs/"; meta.hydraPlatforms = [ ]; @@ -11651,12 +11611,12 @@ final: prev: { nvzone-typr = buildVimPlugin { pname = "nvzone-typr"; - version = "2025-04-24"; + version = "2025-06-12"; src = fetchFromGitHub { owner = "nvzone"; repo = "typr"; - rev = "ec1abe68229a0c3480ae2df51e1807fd091261ba"; - sha256 = "1n71rcx712cw2yhsiqzmby94j8d7nps9irx0j8bml63h96kkj6wb"; + rev = "bdd9ef7143702851edd1dac85101e0a537056d2f"; + sha256 = "0shikbdl2c82ql5wv0g7dcij6gb0kagywxwh3cy2jn0swqyfpf2h"; }; meta.homepage = "https://github.com/nvzone/typr/"; meta.hydraPlatforms = [ ]; @@ -11664,12 +11624,12 @@ final: prev: { nvzone-volt = buildVimPlugin { pname = "nvzone-volt"; - version = "2025-04-11"; + version = "2025-06-12"; src = fetchFromGitHub { owner = "nvzone"; repo = "volt"; - rev = "c45d5f48da8e802e608b5c6da471ca4d84276dfb"; - sha256 = "0mx2npsj39y0q11i14kg4brc6nqhk5hjfdbwr197x41m0qjdqdpb"; + rev = "7b8c5e790120d9f08c8487dcb80692db6d2087a1"; + sha256 = "0ms94297mw7vzn1kwbdbfri4dfg0h352fvm0gb5a0qrn290byfmk"; }; meta.homepage = "https://github.com/nvzone/volt/"; meta.hydraPlatforms = [ ]; @@ -11677,12 +11637,12 @@ final: prev: { obsidian-nvim = buildVimPlugin { pname = "obsidian.nvim"; - version = "2025-05-28"; + version = "2025-06-17"; src = fetchFromGitHub { owner = "obsidian-nvim"; repo = "obsidian.nvim"; - rev = "b0e121ef4d1475dc56a2146d54a98a7520b87c8a"; - sha256 = "1rmfv5a232ld65y8hp715354am7220nzdfgj5iay8c4fq0dgc02z"; + rev = "08cd55aef5fe1968a2319c244187de160719e422"; + sha256 = "0hkc24makflribyni75ih4zvj8rhbfyicrhvbvww2aw69lz24sfn"; }; meta.homepage = "https://github.com/obsidian-nvim/obsidian.nvim/"; meta.hydraPlatforms = [ ]; @@ -11716,12 +11676,12 @@ final: prev: { octo-nvim = buildVimPlugin { pname = "octo.nvim"; - version = "2025-06-03"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "pwntester"; repo = "octo.nvim"; - rev = "ef7ece509e43cf757f027aa41436c0a40f4ed8bb"; - sha256 = "0smi2g8c7cfaj72jrdsx4na42x8yw9hmyrxrc0jp4swml8cymzfg"; + rev = "010864b6ffd70ac3ee7b2e61d04aa9d94ec225d9"; + sha256 = "01yinxrx1miy79k0gn24j0b4xn78wnp1xajxhhwpszrsyn6pig38"; }; meta.homepage = "https://github.com/pwntester/octo.nvim/"; meta.hydraPlatforms = [ ]; @@ -11794,12 +11754,12 @@ final: prev: { one-small-step-for-vimkind = buildVimPlugin { pname = "one-small-step-for-vimkind"; - version = "2025-06-01"; + version = "2025-06-10"; src = fetchFromGitHub { owner = "jbyuki"; repo = "one-small-step-for-vimkind"; - rev = "81415bd613479d6d6d55e99ac9057264fe6aadac"; - sha256 = "1cr0slzggfbdhqapl2sw80hkqsayh08wigga1xkdcqvzikwjjal3"; + rev = "d9f832598e14f3b206b06f5738d02cebede65269"; + sha256 = "0shm8y5xgi2dj04dq964l1ww81bx7kvgw2h7nkz1lr1a63g4gfpx"; }; meta.homepage = "https://github.com/jbyuki/one-small-step-for-vimkind/"; meta.hydraPlatforms = [ ]; @@ -11963,12 +11923,12 @@ final: prev: { otter-nvim = buildVimPlugin { pname = "otter.nvim"; - version = "2025-06-04"; + version = "2025-06-10"; src = fetchFromGitHub { owner = "jmbuhr"; repo = "otter.nvim"; - rev = "1348aad77adac26fe3dff44aa220c5a7e96aa8ae"; - sha256 = "0qdc2dy16jk9a081g1kfiiibxfmzwxvnl5d5m239mcfivzkwn8yq"; + rev = "f3a401851c25c64220dcf2470252a1adc28308d5"; + sha256 = "107x0x5h3rn8jj0wnm359jdw1nkarb04qia5f6248nnrjvm2xyii"; }; meta.homepage = "https://github.com/jmbuhr/otter.nvim/"; meta.hydraPlatforms = [ ]; @@ -12120,12 +12080,12 @@ final: prev: { parrot-nvim = buildVimPlugin { pname = "parrot.nvim"; - version = "2025-05-31"; + version = "2025-06-06"; src = fetchFromGitHub { owner = "frankroeder"; repo = "parrot.nvim"; - rev = "378d7706a392c06eabe0ddbbdc6ed5fa57ca4db0"; - sha256 = "1q9fg57vp7gvxlvzbml5j9vvzsivby384h0y5bxg32nvggj4amhy"; + rev = "476058b8acd677c556f76f34bb6a40dc2dfeedbd"; + sha256 = "1091jrs22zv1qqmw0193rmfb05p2arqckp73yi3lyqlkjfngwkdq"; }; meta.homepage = "https://github.com/frankroeder/parrot.nvim/"; meta.hydraPlatforms = [ ]; @@ -12146,12 +12106,12 @@ final: prev: { pckr-nvim = buildVimPlugin { pname = "pckr.nvim"; - version = "2025-05-09"; + version = "2025-06-11"; src = fetchFromGitHub { owner = "lewis6991"; repo = "pckr.nvim"; - rev = "a793c6c38e7b54744c4b4658443e2d8fc103d552"; - sha256 = "1796rnacb8wm3bvmqsax78krw6a93yq9865vxm9387088fjd8a8v"; + rev = "dcc0e2766d7a3a1911287fef7060ac07908cf376"; + sha256 = "1230zv396bfx962a5zmq5ng3bhzfqq76bcad1imc3gm99ihvnmin"; }; meta.homepage = "https://github.com/lewis6991/pckr.nvim/"; meta.hydraPlatforms = [ ]; @@ -12394,12 +12354,12 @@ final: prev: { precognition-nvim = buildVimPlugin { pname = "precognition.nvim"; - version = "2025-04-01"; + version = "2025-06-10"; src = fetchFromGitHub { owner = "tris203"; repo = "precognition.nvim"; - rev = "80ac0a99064eba71894dd164e891cc5d7e05827e"; - sha256 = "1v1knpvd3wxvixmfyzrjwg9r7xbixg53n4dvvk7r8d05y5cgbzmc"; + rev = "a0ed9c97b24002394201c39755e10495d47b2d3f"; + sha256 = "15gsd3cyx5na06nwy2p5jj68j6ln5mfjx2v7dvyyns3q6g8k98nl"; }; meta.homepage = "https://github.com/tris203/precognition.nvim/"; meta.hydraPlatforms = [ ]; @@ -12889,12 +12849,12 @@ final: prev: { render-markdown-nvim = buildVimPlugin { pname = "render-markdown.nvim"; - version = "2025-06-04"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "MeanderingProgrammer"; repo = "render-markdown.nvim"; - rev = "6f5a4c36d9383b2a916facaa63dcd573afa11ee8"; - sha256 = "15q8169wxslr6kmzqagvsj20j745cym72a2yjmdavh61mgs56rxh"; + rev = "76f7ce56ccb913632745714f160faa53164c5574"; + sha256 = "0qn538kmyi9m4axigscdkrazwq74bvgi40qlp9ckyg6j1nasqmlg"; }; meta.homepage = "https://github.com/MeanderingProgrammer/render-markdown.nvim/"; meta.hydraPlatforms = [ ]; @@ -13020,12 +12980,12 @@ final: prev: { roslyn-nvim = buildVimPlugin { pname = "roslyn.nvim"; - version = "2025-06-05"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "seblyng"; repo = "roslyn.nvim"; - rev = "21c8ff60d6e36b3938c88d81cc98096e2156d77f"; - sha256 = "00lm72l8zqav2cjv8m0vgrn5s359rbqi6a2p23hr6zbhwx8wbzj4"; + rev = "898dbd66bc88e170a5be5e1682073ecb5074d757"; + sha256 = "0x3bf16l6y94bjfxvj5csgqa2vxmkrjv76j70xh05q4cfyzsff7k"; }; meta.homepage = "https://github.com/seblyng/roslyn.nvim/"; meta.hydraPlatforms = [ ]; @@ -13148,6 +13108,19 @@ final: prev: { meta.hydraPlatforms = [ ]; }; + schema-companion-nvim = buildVimPlugin { + pname = "schema-companion.nvim"; + version = "2025-06-09"; + src = fetchFromGitHub { + owner = "cenk1cenk2"; + repo = "schema-companion.nvim"; + rev = "71c9e53b399dc7063381c693b7f06f7144772d45"; + sha256 = "0ahra24bz8zphk9irzlsrab12vmxrqxzfbj6h59bshhp97hm2s40"; + }; + meta.homepage = "https://github.com/cenk1cenk2/schema-companion.nvim/"; + meta.hydraPlatforms = [ ]; + }; + scnvim = buildVimPlugin { pname = "scnvim"; version = "2025-01-29"; @@ -13213,6 +13186,19 @@ final: prev: { meta.hydraPlatforms = [ ]; }; + search-and-replace-nvim = buildVimPlugin { + pname = "search-and-replace.nvim"; + version = "2025-06-16"; + src = fetchFromGitHub { + owner = "mahyarmirrashed"; + repo = "search-and-replace.nvim"; + rev = "12dce26afc7f3c66d6ffbf2eae91ce19d4cdcc74"; + sha256 = "0i197fs58qk6mgqsxi7cacba8sya7kh9cdnnz6sa79ry42cdff6a"; + }; + meta.homepage = "https://github.com/mahyarmirrashed/search-and-replace.nvim/"; + meta.hydraPlatforms = [ ]; + }; + searchbox-nvim = buildVimPlugin { pname = "searchbox.nvim"; version = "2025-01-09"; @@ -13372,12 +13358,12 @@ final: prev: { smart-splits-nvim = buildVimPlugin { pname = "smart-splits.nvim"; - version = "2025-06-02"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "mrjones2014"; repo = "smart-splits.nvim"; - rev = "e80bf81015a342b78e3e9ef0395a09ca91f666de"; - sha256 = "12nd3cra6dw5nyqgcp9cvsrdxrf4m575ngi3f03180cpnsw6vhmx"; + rev = "dcc9a886ac7214db6dd67d27044b8388b628dcb6"; + sha256 = "189iw8k8zvsg6h9xc7r221dp1jdaqmglrpba62grzz9w2gwayka1"; }; meta.homepage = "https://github.com/mrjones2014/smart-splits.nvim/"; meta.hydraPlatforms = [ ]; @@ -13424,12 +13410,12 @@ final: prev: { smear-cursor-nvim = buildVimPlugin { pname = "smear-cursor.nvim"; - version = "2025-05-08"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "sphamba"; repo = "smear-cursor.nvim"; - rev = "162703638203060b1d3412e73429d232bbd2627e"; - sha256 = "03clizj8bfv4smkf63n4idq6jijynnqj8p61ck8fg9w4l27n51bc"; + rev = "1f90eb06eab82b5fe2ed708b94dcc325d6f5fb5a"; + sha256 = "1pgj8mcmb9ym1h88fc1650mv0vzdgm9j2v7q6k3zplkwvvy143qf"; }; meta.homepage = "https://github.com/sphamba/smear-cursor.nvim/"; meta.hydraPlatforms = [ ]; @@ -13500,6 +13486,19 @@ final: prev: { meta.hydraPlatforms = [ ]; }; + solarized-osaka-nvim = buildVimPlugin { + pname = "solarized-osaka.nvim"; + version = "2025-04-19"; + src = fetchFromGitHub { + owner = "craftzdog"; + repo = "solarized-osaka.nvim"; + rev = "f796014c14b1910e08d42cc2077fef34f08e0295"; + sha256 = "0jy2hk4fc210jih30ybvisr9pliya1s3nazw4d131vh5k4p1xqi6"; + }; + meta.homepage = "https://github.com/craftzdog/solarized-osaka.nvim/"; + meta.hydraPlatforms = [ ]; + }; + sonokai = buildVimPlugin { pname = "sonokai"; version = "2025-04-16"; @@ -13945,12 +13944,12 @@ final: prev: { switch-vim = buildVimPlugin { pname = "switch.vim"; - version = "2025-04-16"; + version = "2025-06-17"; src = fetchFromGitHub { owner = "AndrewRadev"; repo = "switch.vim"; - rev = "f4b831b86e1e65af8c4f8be6434e15bef98d111e"; - sha256 = "1ygv1wj9034r6g2yr9ibb10hnm8z0f1dkf8a3rk5mc59803f3mvs"; + rev = "df58397cfa36d2f428ddc2652ba32d1db2af6d02"; + sha256 = "1yi6dh2icsqvz8i47mnyirgk9i6wipqmmq7gn3jzzcnxp7y327i4"; fetchSubmodules = true; }; meta.homepage = "https://github.com/AndrewRadev/switch.vim/"; @@ -14116,12 +14115,12 @@ final: prev: { tagbar = buildVimPlugin { pname = "tagbar"; - version = "2025-06-03"; + version = "2025-06-11"; src = fetchFromGitHub { owner = "preservim"; repo = "tagbar"; - rev = "b72250e9d77b7a5cf9be067875dc5270652b005e"; - sha256 = "19p2j36bzjma3rgxxms1ckw4ir6sngiz3df8gkmjnxszdwaw5fva"; + rev = "2ef4ecba94440fcf8a8c692a0f2b36b332f1f0f2"; + sha256 = "1axbmapl50yjxdx07rxf7bfna776bv6lpcx42gl291bmilnqgxfq"; }; meta.homepage = "https://github.com/preservim/tagbar/"; meta.hydraPlatforms = [ ]; @@ -14181,14 +14180,14 @@ final: prev: { taskwiki = buildVimPlugin { pname = "taskwiki"; - version = "2024-02-29"; + version = "2025-06-14"; src = fetchFromGitHub { - owner = "tools-life"; + owner = "tbabej"; repo = "taskwiki"; - rev = "0ee63dd1f5d80be3296f14070211f4ade96d0e36"; - sha256 = "0njp2jy76vl2m627iswi6dmfqbp04da7q2p4lc32n1a4p7b2vfcc"; + rev = "e7f4335a777b47cf6896651187ce2b9a64b06825"; + sha256 = "01c4ig1rxnp7iigasca3psmalfpka2zba52zhc3qqhb0ysaxsw81"; }; - meta.homepage = "https://github.com/tools-life/taskwiki/"; + meta.homepage = "https://github.com/tbabej/taskwiki/"; meta.hydraPlatforms = [ ]; }; @@ -14286,12 +14285,12 @@ final: prev: { telescope-file-browser-nvim = buildVimPlugin { pname = "telescope-file-browser.nvim"; - version = "2024-10-24"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "nvim-telescope"; repo = "telescope-file-browser.nvim"; - rev = "626998e5c1b71c130d8bc6cf7abb6709b98287bb"; - sha256 = "066b5mhn35ia6v4fi61zgyswqplfip74qch6j4afqk2kvn5x35jl"; + rev = "7bf55ed0ff5be182ad3301cff266581fc1c56cce"; + sha256 = "1d08218s9qqwdgwzizhcah3p1xxalrrcbzbsljrbg95mrzfi8xrl"; }; meta.homepage = "https://github.com/nvim-telescope/telescope-file-browser.nvim/"; meta.hydraPlatforms = [ ]; @@ -14443,12 +14442,12 @@ final: prev: { telescope-sg = buildVimPlugin { pname = "telescope-sg"; - version = "2024-04-22"; + version = "2025-06-10"; src = fetchFromGitHub { owner = "Marskey"; repo = "telescope-sg"; - rev = "caceaa670f26a581fb20ce99576ed8155c3ae96d"; - sha256 = "0aii4vy97zyh2fpdkawwdanwd7sd0751ih5yznjcwn8cvrv74wl5"; + rev = "9eb1c2a35359892c0b02be4bbdd549e06ad097ba"; + sha256 = "0dzc8s6ycalgzkjpv10vwas98l7aqs2nvjr41nlsyk1jnyxshbpz"; }; meta.homepage = "https://github.com/Marskey/telescope-sg/"; meta.hydraPlatforms = [ ]; @@ -14769,12 +14768,12 @@ final: prev: { timerly = buildVimPlugin { pname = "timerly"; - version = "2025-04-16"; + version = "2025-06-15"; src = fetchFromGitHub { owner = "nvzone"; repo = "timerly"; - rev = "17299a4d332c483ce09052fe8478b41b992f2594"; - sha256 = "0nfyw98nb95df0dpnxlaipgar92b8z2z3rxfih2fc86m6gxv2mm2"; + rev = "8e150d9952f4d8be73d0869f8b2fc766aef068b8"; + sha256 = "07rkikq090xj518rhz2kfh1dcg3iryf0mb1mmw8b8qp47n27r41a"; }; meta.homepage = "https://github.com/nvzone/timerly/"; meta.hydraPlatforms = [ ]; @@ -14806,14 +14805,27 @@ final: prev: { meta.hydraPlatforms = [ ]; }; + tinted-nvim = buildVimPlugin { + pname = "tinted-nvim"; + version = "2025-06-10"; + src = fetchFromGitHub { + owner = "tinted-theming"; + repo = "tinted-nvim"; + rev = "d3e6d9b0875e60e9aa9d105ff8eb64ee9d599514"; + sha256 = "08wn9kzxblbvrjnzx5v52lk57av0dbg6jnk581jaiia8z6c5bja2"; + }; + meta.homepage = "https://github.com/tinted-theming/tinted-nvim/"; + meta.hydraPlatforms = [ ]; + }; + tinted-vim = buildVimPlugin { pname = "tinted-vim"; - version = "2025-06-05"; + version = "2025-06-10"; src = fetchFromGitHub { owner = "tinted-theming"; repo = "tinted-vim"; - rev = "658b34995a253d0ee4764103a0e17440b6cfb45a"; - sha256 = "1b0gsw1nld6r886npp0s64si7x3dpvmjr7vmr4a3jwi1jday15cg"; + rev = "d100783e156d14d9864e1404dc2cc560a8ac5cde"; + sha256 = "1ri64z8zs65zs6i1mbfgp8kln506fvcl66rffmpsa24hnxspjgvd"; }; meta.homepage = "https://github.com/tinted-theming/tinted-vim/"; meta.hydraPlatforms = [ ]; @@ -14976,6 +14988,20 @@ final: prev: { meta.hydraPlatforms = [ ]; }; + trailblazer-nvim = buildVimPlugin { + pname = "trailblazer.nvim"; + version = "2025-02-04"; + src = fetchFromGitHub { + owner = "LeonHeidelbach"; + repo = "trailblazer.nvim"; + rev = "5c0e3ac01e227bb9afe428583f29f0ec34801408"; + sha256 = "0fvm4gb190b9a2gv3spf7429p2adjbsxcgpgd89azmpgqcsdg509"; + fetchSubmodules = true; + }; + meta.homepage = "https://github.com/LeonHeidelbach/trailblazer.nvim/"; + meta.hydraPlatforms = [ ]; + }; + train-nvim = buildVimPlugin { pname = "train.nvim"; version = "2023-07-31"; @@ -15017,12 +15043,12 @@ final: prev: { treewalker-nvim = buildVimPlugin { pname = "treewalker.nvim"; - version = "2025-06-05"; + version = "2025-06-10"; src = fetchFromGitHub { owner = "aaronik"; repo = "treewalker.nvim"; - rev = "fe814c2181dc3004d97073a613c20554cc1a7d7b"; - sha256 = "05dkiilkqzl488k1ifwk5xj48zfy14pzny062llm2jyc7pxcrwlk"; + rev = "cfae49dedd041dbe867c2b3d0b081fc381a735e9"; + sha256 = "0iglgg23halpidapj7d4fb391ivclac0i50yq3wzs2jyv1372xmp"; }; meta.homepage = "https://github.com/aaronik/treewalker.nvim/"; meta.hydraPlatforms = [ ]; @@ -15107,6 +15133,19 @@ final: prev: { meta.hydraPlatforms = [ ]; }; + ts-autotag-nvim = buildVimPlugin { + pname = "ts-autotag.nvim"; + version = "2025-01-15"; + src = fetchFromGitHub { + owner = "tronikelis"; + repo = "ts-autotag.nvim"; + rev = "0f1dc38fddd99b468ef58938d7cd99ce1d6bcb0e"; + sha256 = "1m0gng9v5dn6mm026nxw0n24bvysr156xhwvf83pv9xqp28xfwar"; + }; + meta.homepage = "https://github.com/tronikelis/ts-autotag.nvim/"; + meta.hydraPlatforms = [ ]; + }; + ts-comments-nvim = buildVimPlugin { pname = "ts-comments.nvim"; version = "2025-02-27"; @@ -15317,12 +15356,12 @@ final: prev: { unified-nvim = buildVimPlugin { pname = "unified.nvim"; - version = "2025-06-08"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "axkirillov"; repo = "unified.nvim"; - rev = "0d8eebd3909b86ca30407d79b547a245185082c2"; - sha256 = "1r3pdh3rhlkrp9ykzxwaqrfww87dpa6b72kfvxf3j24firl0m9nv"; + rev = "020610abdead2a9e953fa4dafc404da27394a84e"; + sha256 = "0kh04a5w0qca52lfnvwwx9khq1drcmhxpvjq1himqisvbqi0g0hm"; }; meta.homepage = "https://github.com/axkirillov/unified.nvim/"; meta.hydraPlatforms = [ ]; @@ -15356,12 +15395,12 @@ final: prev: { unison = buildVimPlugin { pname = "unison"; - version = "2025-06-04"; + version = "2025-06-17"; src = fetchFromGitHub { owner = "unisonweb"; repo = "unison"; - rev = "3766e89f85cb838a89d14e36f5ca836ce022e8b1"; - sha256 = "1sxcypq5fgmjif30vqgdgql6mbvbdm9ckidri6mp6p8rhqy9ssm4"; + rev = "87afbd3d8053c5594b79fd26d7893c4bf60c106b"; + sha256 = "0bz9r6r606gd1vyz24v6vxq5699in0zysp50yyvsl1aivq5qwnrh"; }; meta.homepage = "https://github.com/unisonweb/unison/"; meta.hydraPlatforms = [ ]; @@ -15486,12 +15525,12 @@ final: prev: { vifm-vim = buildVimPlugin { pname = "vifm.vim"; - version = "2025-05-30"; + version = "2025-06-15"; src = fetchFromGitHub { owner = "vifm"; repo = "vifm.vim"; - rev = "169373867147a45db6b5ce5855addbcc1a4d6893"; - sha256 = "09wfp8zm7s3mcsi2j0wps1lwhrlivq5jzjhnl5fiimz441d4k3hn"; + rev = "e5321c4399db69bf8ccfd2d880aae97a2ca44715"; + sha256 = "1dallw577f5ipzmiaj93jkm5vixqmjkq3blmx4wpfga8b357wcb2"; }; meta.homepage = "https://github.com/vifm/vifm.vim/"; meta.hydraPlatforms = [ ]; @@ -17267,12 +17306,12 @@ final: prev: { vim-floaterm = buildVimPlugin { pname = "vim-floaterm"; - version = "2025-05-24"; + version = "2025-06-07"; src = fetchFromGitHub { owner = "voldikss"; repo = "vim-floaterm"; - rev = "b02d1f4a87ad6f5b300d225e5ac62bde9d86086b"; - sha256 = "1wb8bdxiq8hmvz0ffmf9sqyx6bpjh29r5mqrjn51smnlzcfqsxmy"; + rev = "b18b41d15d2492f74f01ecac12f786b81f38262e"; + sha256 = "0xflmkvzgl45srlm8ii87as4sfdi2lhah6qgvx428xicix2sfsq2"; }; meta.homepage = "https://github.com/voldikss/vim-floaterm/"; meta.hydraPlatforms = [ ]; @@ -17735,12 +17774,12 @@ final: prev: { vim-helm = buildVimPlugin { pname = "vim-helm"; - version = "2024-05-31"; + version = "2025-06-08"; src = fetchFromGitHub { owner = "towolf"; repo = "vim-helm"; - rev = "ae1ebc160d2b9b90108477ab10df7a4fc501e358"; - sha256 = "04lv5sv6533fnyg28pbghrqnimhaxssav4lam1zh7h4y5cq7rdn6"; + rev = "cc5ac22444332381f38084a6c7f023c25eef6201"; + sha256 = "0jkfhgw0zczk8kgd3cxj6d5ir0c3llnv19a4wzzfr8zdxv98n2q2"; }; meta.homepage = "https://github.com/towolf/vim-helm/"; meta.hydraPlatforms = [ ]; @@ -18788,6 +18827,19 @@ final: prev: { meta.hydraPlatforms = [ ]; }; + vim-moonfly-colors = buildVimPlugin { + pname = "vim-moonfly-colors"; + version = "2025-05-28"; + src = fetchFromGitHub { + owner = "bluz71"; + repo = "vim-moonfly-colors"; + rev = "ff822100c5d268e0db79e8e725cbd3ade3470de3"; + sha256 = "14ffclg7yjkyw05bdqwc7rmzf195vjswfpmcfi7sd85rr4d3midz"; + }; + meta.homepage = "https://github.com/bluz71/vim-moonfly-colors/"; + meta.hydraPlatforms = [ ]; + }; + vim-move = buildVimPlugin { pname = "vim-move"; version = "2023-10-08"; @@ -20168,12 +20220,12 @@ final: prev: { vim-spirv = buildVimPlugin { pname = "vim-spirv"; - version = "2025-06-05"; + version = "2025-06-12"; src = fetchFromGitHub { owner = "kbenzie"; repo = "vim-spirv"; - rev = "5e5dbebfae3b239bf5b5fdae1ba748940468830e"; - sha256 = "0hicyp3q6hhpsk6v944v3if6v47a8xsg2czz4qka8rlggc039v9w"; + rev = "f5d8ba0a1e184bf98b8676331eebec9bfe4f240d"; + sha256 = "1i4jas25f6swckfsplg03bhph9pkr5h2j6919kf8i7mpsik39dj9"; }; meta.homepage = "https://github.com/kbenzie/vim-spirv/"; meta.hydraPlatforms = [ ]; @@ -20442,12 +20494,12 @@ final: prev: { vim-test = buildVimPlugin { pname = "vim-test"; - version = "2025-06-04"; + version = "2025-06-17"; src = fetchFromGitHub { owner = "vim-test"; repo = "vim-test"; - rev = "202d4cd6ace8399014d5c0e81385cb65da398642"; - sha256 = "0rscbqx2yf4xav8fq3r2dz70k87vsn7lkzkg1yf9q8dkfarvwyyi"; + rev = "672573b20307e0b692da03028770b058668d670f"; + sha256 = "1lswa5qypnybqksk0ffkwrh0rsvz3i35lwbblw9n7hy2xabkgwmv"; }; meta.homepage = "https://github.com/vim-test/vim-test/"; meta.hydraPlatforms = [ ]; @@ -20598,12 +20650,12 @@ final: prev: { vim-tmux-navigator = buildVimPlugin { pname = "vim-tmux-navigator"; - version = "2025-06-02"; + version = "2025-06-08"; src = fetchFromGitHub { owner = "christoomey"; repo = "vim-tmux-navigator"; - rev = "97e58f2b3b4f8fd30ce149302f10202f363cc361"; - sha256 = "0xg9gdybrpm02m3jff393bdhdaynisanidc6zr6hv8lc66vcl6j3"; + rev = "412c474e97468e7934b9c217064025ea7a69e05e"; + sha256 = "15in1awm0xr1mq0i8hpxdfh89hyfa937sb3axxwdgf6sarip6f3k"; }; meta.homepage = "https://github.com/christoomey/vim-tmux-navigator/"; meta.hydraPlatforms = [ ]; @@ -21131,12 +21183,12 @@ final: prev: { vimade = buildVimPlugin { pname = "vimade"; - version = "2025-03-02"; + version = "2025-06-08"; src = fetchFromGitHub { owner = "TaDaa"; repo = "vimade"; - rev = "f63ca5cb9cf811b2c526694e820b87fe2238deb6"; - sha256 = "16cpxgh44lv4z4lqmdvf04ynrak4frnpqyahrh6gc1zn6xg92fwx"; + rev = "7a7252406918c60992c01fd9d8ad08152815ba67"; + sha256 = "0ld3mabhdr33hbwv19nliv7kcfaxz6hxm6fn77dzcag6zmhs1iw8"; }; meta.homepage = "https://github.com/TaDaa/vimade/"; meta.hydraPlatforms = [ ]; @@ -21262,12 +21314,12 @@ final: prev: { vimtex = buildVimPlugin { pname = "vimtex"; - version = "2025-06-02"; + version = "2025-06-15"; src = fetchFromGitHub { owner = "lervag"; repo = "vimtex"; - rev = "f20b11458e97250d690ce0dc8670759b838cace9"; - sha256 = "1ihq3l1wx7pbm6qw1gky8r51f2z08c723gvc19j1mklcg4gxgw7z"; + rev = "e10525a5aa65e2544f11e680dd81c77fba800248"; + sha256 = "0c2pcllw1a7q6jb5dkm3947g4969fan94ca1y6v2lj6bdarrb8a7"; }; meta.homepage = "https://github.com/lervag/vimtex/"; meta.hydraPlatforms = [ ]; @@ -21366,12 +21418,12 @@ final: prev: { visual-whitespace-nvim = buildVimPlugin { pname = "visual-whitespace.nvim"; - version = "2025-06-02"; + version = "2025-06-12"; src = fetchFromGitHub { owner = "mcauley-penney"; repo = "visual-whitespace.nvim"; - rev = "11b654e7e053e52e375297f472c8824a74b1b965"; - sha256 = "0ivs92hr1gbz6hap9vm31gxypdjrqffv4si4hh9nxvaw2hcnmasv"; + rev = "b5ab2ea698a07ef0fa042d0c61667c3cb06e92c8"; + sha256 = "1zkip86yyg4jk05rpm5df256bpcdzvx5aiijj2cvq8j5c69sxjx0"; }; meta.homepage = "https://github.com/mcauley-penney/visual-whitespace.nvim/"; meta.hydraPlatforms = [ ]; @@ -21392,12 +21444,12 @@ final: prev: { vscode-nvim = buildVimPlugin { pname = "vscode.nvim"; - version = "2025-05-14"; + version = "2025-06-10"; src = fetchFromGitHub { owner = "Mofiqul"; repo = "vscode.nvim"; - rev = "57cec1509bfb57dfc3c4d5ba5e8db9a5b5e42be2"; - sha256 = "0w2ibwcxj4i2xa4xs7901mmkyynxs7q0754fmzj4mfhxpb6nqz9q"; + rev = "4d1c3c64d1afddd7934fb0e687fd9557fc66be41"; + sha256 = "0al7q15101sv29plfxjg5l0s1wnac7v4bvx97bz394q6nw1ssjnb"; }; meta.homepage = "https://github.com/Mofiqul/vscode.nvim/"; meta.hydraPlatforms = [ ]; @@ -21678,12 +21730,12 @@ final: prev: { wtf-nvim = buildVimPlugin { pname = "wtf.nvim"; - version = "2025-03-17"; + version = "2025-06-14"; src = fetchFromGitHub { owner = "piersolenski"; repo = "wtf.nvim"; - rev = "22dac666c8847c9cb03afe99229d459f1d0822c4"; - sha256 = "0hraiw10ia93ryhfb207kha6hhhnsbmfdid6h44dsg87mkixm3c8"; + rev = "7e6a73f3db0fb9e572a91d015c2bec2083da95d2"; + sha256 = "1qka1d19azxbn3r5zfrbvvwzpc2gfhda254fhzaamamriwzs39z8"; }; meta.homepage = "https://github.com/piersolenski/wtf.nvim/"; meta.hydraPlatforms = [ ]; @@ -21743,12 +21795,12 @@ final: prev: { yaml-schema-detect-nvim = buildVimPlugin { pname = "yaml-schema-detect.nvim"; - version = "2025-05-15"; + version = "2025-06-06"; src = fetchFromGitHub { owner = "cwrau"; repo = "yaml-schema-detect.nvim"; - rev = "18b40548cb9a8c70e0d35c362e5f7150d6baef12"; - sha256 = "1kydjk8816b2348yny3ci0dqd96syy7jsf4g577dm7d0rsskimz8"; + rev = "debcb2835685a06d5b22666bb30d2d930e23d68a"; + sha256 = "1q4n6ns8rw84lhc8ydcnb1n856x9pvfwhl33w09lv9k7nqplcl00"; }; meta.homepage = "https://github.com/cwrau/yaml-schema-detect.nvim/"; meta.hydraPlatforms = [ ]; @@ -21783,12 +21835,12 @@ final: prev: { yazi-nvim = buildVimPlugin { pname = "yazi.nvim"; - version = "2025-06-01"; + version = "2025-06-15"; src = fetchFromGitHub { owner = "mikavilpas"; repo = "yazi.nvim"; - rev = "e2ddbaa88ec61d0b96e3d53ba851b0e7a0b36f14"; - sha256 = "1d3lk4q5ivysvjmy8pq2l39cd2sabwkh9y0iizcydaa2vdax8cyy"; + rev = "c61f2d29ab94c5f22cbca5088dcfd33d7659dae8"; + sha256 = "0nzj7b0v0xnvi92yxx95wl5212gk7yfw3l0za7rwnyb443x2afgw"; }; meta.homepage = "https://github.com/mikavilpas/yazi.nvim/"; meta.hydraPlatforms = [ ]; @@ -21887,12 +21939,12 @@ final: prev: { zenbones-nvim = buildVimPlugin { pname = "zenbones.nvim"; - version = "2025-04-22"; + version = "2025-06-11"; src = fetchFromGitHub { owner = "zenbones-theme"; repo = "zenbones.nvim"; - rev = "9deaa8a38e43e8c587b427095dd43c3511255b21"; - sha256 = "1raj06j4qr0gamvjvpj109dhaxybrkcmdb271f1v42aw7v1mn9w0"; + rev = "510819be60a7e470f244488bc705c1fbcd88c4fc"; + sha256 = "0xm8nys1sjqrihlgrsiv2adpwwhmgsqc3jfjr0rpzhik6mbkagpw"; }; meta.homepage = "https://github.com/zenbones-theme/zenbones.nvim/"; meta.hydraPlatforms = [ ]; @@ -21939,12 +21991,12 @@ final: prev: { zk-nvim = buildVimPlugin { pname = "zk-nvim"; - version = "2025-05-20"; + version = "2025-06-06"; src = fetchFromGitHub { owner = "zk-org"; repo = "zk-nvim"; - rev = "08f3591d55cc73828a99019ef6545b939a88cc13"; - sha256 = "1fxyl3gj792li8s3kpcvsf6yxa6bbwaibrfh22jcpr0hpc5haz7s"; + rev = "b18782530b23ad118d578c0fa0e4d0b8d386db4c"; + sha256 = "1wnlh24gh5v2bkw8gbagravlchx73i4l0x5virp9q6f82kscmq43"; }; meta.homepage = "https://github.com/zk-org/zk-nvim/"; meta.hydraPlatforms = [ ]; diff --git a/pkgs/applications/editors/vim/plugins/non-generated/avante-nvim/default.nix b/pkgs/applications/editors/vim/plugins/non-generated/avante-nvim/default.nix index 3207844a8a6b..0d0fbae5b09a 100644 --- a/pkgs/applications/editors/vim/plugins/non-generated/avante-nvim/default.nix +++ b/pkgs/applications/editors/vim/plugins/non-generated/avante-nvim/default.nix @@ -12,12 +12,12 @@ pkgs, }: let - version = "0.0.24-unstable-2025-06-05"; + version = "0.0.25-unstable-2025-06-20"; src = fetchFromGitHub { owner = "yetone"; repo = "avante.nvim"; - rev = "12bdb66ea4749f9f59861e7165a4de6cfbf4eb22"; - hash = "sha256-dUtvMkb85HR7xzMoCHeeJIwwyQPdwHNdQHUMyA7+EsU="; + rev = "060c0de2aa2ef7c9e6e100f3bd8ef92c085d0555"; + hash = "sha256-g5GVTRy1RiNNYrVIQbHxOu1ihxlQk/kww3DEKJ6hF9Q="; }; avante-nvim-lib = rustPlatform.buildRustPackage { pname = "avante-nvim-lib"; diff --git a/pkgs/applications/editors/vim/plugins/non-generated/blink-pairs/default.nix b/pkgs/applications/editors/vim/plugins/non-generated/blink-pairs/default.nix index d469e1ee8dbd..cdb06f1ca764 100644 --- a/pkgs/applications/editors/vim/plugins/non-generated/blink-pairs/default.nix +++ b/pkgs/applications/editors/vim/plugins/non-generated/blink-pairs/default.nix @@ -8,13 +8,13 @@ nix-update-script, }: let - version = "0.2.0"; + version = "0.3.0"; src = fetchFromGitHub { owner = "Saghen"; repo = "blink.pairs"; tag = "v${version}"; - hash = "sha256-fOOo+UnrbQJFWyqjpiFwhytlPoPRnUlGswQdZb3/ws0="; + hash = "sha256-RTY/uGviyHlO+ZmLwOC5BabKr+kRDAXGZNdS9fVRPWA="; }; blink-pairs-lib = rustPlatform.buildRustPackage { @@ -22,7 +22,9 @@ let inherit version src; useFetchCargoVendor = true; - cargoHash = "sha256-vkybRuym1yibaw943Gs9luYLdYEp4tgvA8e4maATiTY="; + cargoHash = "sha256-j+zk0UMjvaVgsdF5iaRVO4Puf/XtGu08Cs92jKPaM1g="; + + env.RUSTC_BOOTSTRAP = 1; nativeBuildInputs = [ pkg-config diff --git a/pkgs/applications/editors/vim/plugins/non-generated/jsonfly-nvim/default.nix b/pkgs/applications/editors/vim/plugins/non-generated/jsonfly-nvim/default.nix new file mode 100644 index 000000000000..22d445b55ded --- /dev/null +++ b/pkgs/applications/editors/vim/plugins/non-generated/jsonfly-nvim/default.nix @@ -0,0 +1,27 @@ +{ + lib, + fetchFromGitea, + vimUtils, + nix-update-script, +}: +vimUtils.buildVimPlugin { + pname = "jsonfly.nvim"; + version = "0-unstable-2025-06-07"; + + src = fetchFromGitea { + domain = "git.myzel394.app"; + owner = "Myzel394"; + repo = "jsonfly.nvim"; + rev = "db4394d856059d99d82ea2c75d033721e9dcb1fc"; + hash = "sha256-PmYm+vZ0XONoHUo08haBozbXRpN+/LAlr6Fyg7anTNw="; + }; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Search blazingly fast for JSON / XML / YAML keys via Telescope"; + homepage = "https://git.myzel394.app/Myzel394/jsonfly.nvim"; + platforms = lib.platforms.all; + maintainers = with lib.maintainers; [ myzel394 ]; + }; +} diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix index 1979699c777c..46b813529cc8 100644 --- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix +++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix @@ -43,12 +43,12 @@ }; angular = buildGrammar { language = "angular"; - version = "0.0.0+rev=8435251"; + version = "0.0.0+rev=820566b"; src = fetchFromGitHub { owner = "dlvandenberg"; repo = "tree-sitter-angular"; - rev = "843525141575e397541e119698f0532755e959f6"; - hash = "sha256-SPBtbwEMGPrEUCbxSlQl44+hK4Yphngp8QsLkmMsDBk="; + rev = "820566bb4eb3d288822dbfee42417a5a9491aea6"; + hash = "sha256-sSa/a0Py0M5fDRxe/9jTLHDq7Wl4bK3umSZOI82FLwg="; }; meta.homepage = "https://github.com/dlvandenberg/tree-sitter-angular"; }; @@ -121,12 +121,12 @@ }; bash = buildGrammar { language = "bash"; - version = "0.0.0+rev=0c46d79"; + version = "0.0.0+rev=56b54c6"; src = fetchFromGitHub { owner = "tree-sitter"; repo = "tree-sitter-bash"; - rev = "0c46d792d54c536be5ff7eb18eb95c70fccdb232"; - hash = "sha256-ODWgFpCLLPgzNYXFhfAVvDXPr5bW8/49ezsaS9MOWMk="; + rev = "56b54c61fb48bce0c63e3dfa2240b5d274384763"; + hash = "sha256-vRaN/mNfpR+hdv2HVS1bzaW0o+HGjizRFsk3iinICJE="; }; meta.homepage = "https://github.com/tree-sitter/tree-sitter-bash"; }; @@ -231,23 +231,23 @@ }; c = buildGrammar { language = "c"; - version = "0.0.0+rev=0910937"; + version = "0.0.0+rev=7fa1be1"; src = fetchFromGitHub { owner = "tree-sitter"; repo = "tree-sitter-c"; - rev = "091093731389448e10822dd140621cfec1ff96b2"; - hash = "sha256-VKbmi5UjwkK1sME11x97lAvLvliDK4Wc/1V0hkQZDS0="; + rev = "7fa1be1b694b6e763686793d97da01f36a0e5c12"; + hash = "sha256-gmzbdwvrKSo6C1fqTJFGxy8x0+T+vUTswm7F5sojzKc="; }; meta.homepage = "https://github.com/tree-sitter/tree-sitter-c"; }; c3 = buildGrammar { language = "c3"; - version = "0.0.0+rev=dce56cc"; + version = "0.0.0+rev=6eb8acc"; src = fetchFromGitHub { owner = "c3lang"; repo = "tree-sitter-c3"; - rev = "dce56ccc5d2731ac14a0f6bb3fd1666d994b2a25"; - hash = "sha256-EWM787+zcaEULu2fnt/fmATSmBhVU/zp9vxI4xdcXEI="; + rev = "6eb8acc275961d137b4b4dd7fe84a19a0680c893"; + hash = "sha256-SRA1u4763dyRilr3oja/izNDEx5eejGivMbxVg9snYo="; }; meta.homepage = "https://github.com/c3lang/tree-sitter-c3"; }; @@ -319,12 +319,12 @@ }; clojure = buildGrammar { language = "clojure"; - version = "0.0.0+rev=f4236d4"; + version = "0.0.0+rev=40c5fc2"; src = fetchFromGitHub { owner = "sogaiu"; repo = "tree-sitter-clojure"; - rev = "f4236d4da8aa92bc105d9c118746474c608e6af7"; - hash = "sha256-UlK6D/xnuPFL/Cu5W7hBMQ/zbodFwrS1CeJDjVpZFpo="; + rev = "40c5fc2e2a0f511a802a82002553c5de00feeaf4"; + hash = "sha256-t5lLOUBgsUewnfTOIreGq83OnGNzUbl6UDDB/HCocpg="; }; meta.homepage = "https://github.com/sogaiu/tree-sitter-clojure"; }; @@ -452,12 +452,12 @@ }; cylc = buildGrammar { language = "cylc"; - version = "0.0.0+rev=1f3cb70"; + version = "0.0.0+rev=5517eca"; src = fetchFromGitHub { owner = "elliotfontaine"; repo = "tree-sitter-cylc"; - rev = "1f3cb70200b4e238e19652705336e7f2c52b8e2f"; - hash = "sha256-bUyjBY4lunMKYvuD/AnqLJF8Ej0AM7unnEropIcqwFg="; + rev = "5517ecade85b1de85ed8e0cb742b81decc64183a"; + hash = "sha256-nKlQ80s7JytMsvJdoIdGmWo3KRs9YDe3W3PBjcvSB1A="; }; meta.homepage = "https://github.com/elliotfontaine/tree-sitter-cylc"; }; @@ -584,12 +584,12 @@ }; dtd = buildGrammar { language = "dtd"; - version = "0.0.0+rev=291b020"; + version = "0.0.0+rev=87be254"; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-xml"; - rev = "291b02018c525abe70fec41559cfe8f2f1cc84b2"; - hash = "sha256-UxFI86fbhuij+QTex4l139PPMMgAha7rZcBlHSRPJYI="; + rev = "87be254e12169240a0e0214dbee5e208df96fa75"; + hash = "sha256-Wf5PY8I0i/YH5dTgVhiZ+DZ2LGsc+NPVWyzkidaQxeI="; }; location = "dtd"; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-xml"; @@ -619,12 +619,12 @@ }; editorconfig = buildGrammar { language = "editorconfig"; - version = "0.0.0+rev=65de8da"; + version = "0.0.0+rev=cbe0d13"; src = fetchFromGitHub { owner = "ValdezFOmar"; repo = "tree-sitter-editorconfig"; - rev = "65de8da4ff21a8be40adb5dadcd7a0f39d2f0747"; - hash = "sha256-nxDl0/2zsTL7ae1L+NvMn2QoaaJa0YTk7BP8bHnkAUA="; + rev = "cbe0d13e8d67d3a97856f29e5b1d4233cbf32577"; + hash = "sha256-NAFZy/Mhn8o3Cvfs6eRdwJL3etD9eh8o3wQ7nejXl8Y="; }; meta.homepage = "https://github.com/ValdezFOmar/tree-sitter-editorconfig"; }; @@ -707,23 +707,23 @@ }; enforce = buildGrammar { language = "enforce"; - version = "0.0.0+rev=36064bd"; + version = "0.0.0+rev=8e4c841"; src = fetchFromGitHub { owner = "simonvic"; repo = "tree-sitter-enforce"; - rev = "36064bd71ce22e9a8c73b64b1a3448cc600a4312"; - hash = "sha256-Ijt0OSQtyXU1zTqkaudN0c7i0jV6asN1VR/Ip06LLsw="; + rev = "8e4c84144153deaf2b8461def43126cea6790020"; + hash = "sha256-63zruBKP7aeyJ6SOTMaic/7xXibxuiETdPVqhj1UlfI="; }; meta.homepage = "https://github.com/simonvic/tree-sitter-enforce"; }; erlang = buildGrammar { language = "erlang"; - version = "0.0.0+rev=067d669"; + version = "0.0.0+rev=07dad14"; src = fetchFromGitHub { owner = "WhatsApp"; repo = "tree-sitter-erlang"; - rev = "067d66937c8eeb6651e349f400c1756c2ea90b2e"; - hash = "sha256-EJJZr193G6O8cTOkqfp1zbWfzp0NBWzAqReGHk0+BQo="; + rev = "07dad1469ecb7df80f2b6d5178f79564d19d67e0"; + hash = "sha256-wo6EX5X0Cuby9CEwfTTZjZ/RHq3/U910wuowFoNkQf8="; }; meta.homepage = "https://github.com/WhatsApp/tree-sitter-erlang"; }; @@ -740,12 +740,12 @@ }; faust = buildGrammar { language = "faust"; - version = "0.0.0+rev=f3b9274"; + version = "0.0.0+rev=aa033eb"; src = fetchFromGitHub { owner = "khiner"; repo = "tree-sitter-faust"; - rev = "f3b9274514b5f9bf6b0dd4a01c30f9cc15c58bc4"; - hash = "sha256-JwR8LCEptgQmEG/ruK5ukIGCNtvKJw5bobZ0WXF1ulY="; + rev = "aa033eb46c3b40e936db5847e0e91445ab606ee4"; + hash = "sha256-OTevU/b8jcnShXXPHTHhF5urppU0QMa+6iFO/m+7NDY="; }; meta.homepage = "https://github.com/khiner/tree-sitter-faust"; }; @@ -784,12 +784,12 @@ }; fish = buildGrammar { language = "fish"; - version = "0.0.0+rev=70640c0"; + version = "0.0.0+rev=aa074a0"; src = fetchFromGitHub { owner = "ram02z"; repo = "tree-sitter-fish"; - rev = "70640c0696abde32622afc43291a385681afbd32"; - hash = "sha256-d+z43w7nl0ZzVjypwxk+xPivb/W6xJ21Uc63Ux9S74k="; + rev = "aa074a0bacde8b5823c592574d7138f156a95776"; + hash = "sha256-ZQj6XR7pHGoCOBS6GOHiRW9LWNoNPlwVcZe5F2mtGNE="; }; meta.homepage = "https://github.com/ram02z/tree-sitter-fish"; }; @@ -817,12 +817,12 @@ }; fortran = buildGrammar { language = "fortran"; - version = "0.0.0+rev=d738334"; + version = "0.0.0+rev=1b08f4c"; src = fetchFromGitHub { owner = "stadelmanma"; repo = "tree-sitter-fortran"; - rev = "d738334e4a21866a1ab81fb3f27f9b0b2ad2e515"; - hash = "sha256-NiGBc8o+WOegHm/2yl5EXAdjpKE+l9Lo5bUvOkCWXqo="; + rev = "1b08f4c65fb47c76d3532cd3f7432d03abb9ef69"; + hash = "sha256-s3yRM80QTy1KnVObmHtKQRY8hLe/nBRUWpdsHf7TYLc="; }; meta.homepage = "https://github.com/stadelmanma/tree-sitter-fortran"; }; @@ -895,12 +895,12 @@ }; gdscript = buildGrammar { language = "gdscript"; - version = "0.0.0+rev=e964ce9"; + version = "0.0.0+rev=48b4933"; src = fetchFromGitHub { owner = "PrestonKnopp"; repo = "tree-sitter-gdscript"; - rev = "e964ce912b5b835f1caedb600df9d5be77e803a8"; - hash = "sha256-nLe5AY3my4fjez6EFRL8l3JFJWJWoq3jWUn0Apq/Lac="; + rev = "48b49330888a4669b48619b211cc8da573827725"; + hash = "sha256-mGmrCK3nGSzi/66mOxvpRyTA9b74aTMSoIISqzj+l90="; }; meta.homepage = "https://github.com/PrestonKnopp/tree-sitter-gdscript"; }; @@ -939,12 +939,12 @@ }; gitattributes = buildGrammar { language = "gitattributes"; - version = "0.0.0+rev=5425944"; + version = "0.0.0+rev=f23072a"; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-gitattributes"; - rev = "5425944fd61bf2b3bad2c17c2dc9f53172b0f01d"; - hash = "sha256-X6M9/41xISnkDnXNgQAWexs68h8A0dwOz+aQa86H0pc="; + rev = "f23072a51e1c764d6c5bf461194a775c8a5c7a95"; + hash = "sha256-CPs4loc+UcFZTeC+NkFo/LK2UAxG39RTkbnKR6g9kOE="; }; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-gitattributes"; }; @@ -1071,12 +1071,12 @@ }; godot_resource = buildGrammar { language = "godot_resource"; - version = "0.0.0+rev=a1a7295"; + version = "0.0.0+rev=9bbb540"; src = fetchFromGitHub { owner = "PrestonKnopp"; repo = "tree-sitter-godot-resource"; - rev = "a1a7295b376fbd2531601f4ffff191b031ffc795"; - hash = "sha256-+tUMLqtak9ToY+UUnIiqngDs6diG8crW8Ac0mbk7FMo="; + rev = "9bbb540e8a2734101c6857bd437f04baa974e03d"; + hash = "sha256-cBhDILQwu+RmYVXrnQ2eBCyUlDj7yztdc2nb/jIFikg="; }; meta.homepage = "https://github.com/PrestonKnopp/tree-sitter-godot-resource"; }; @@ -1225,12 +1225,12 @@ }; hcl = buildGrammar { language = "hcl"; - version = "0.0.0+rev=009def4"; + version = "0.0.0+rev=28e327c"; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-hcl"; - rev = "009def4ae38ec30e5b40beeae26efe93484ab286"; - hash = "sha256-3tM4cggewH2uorO8sgM0E/YFt1//zxBKHAqZVNmZVQU="; + rev = "28e327cd3f5be4816020b1230c0602a6deb40290"; + hash = "sha256-IAcr6D53b6i8S9/5ZTHKcH6BBPcg4BIbssD16n382YM="; }; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-hcl"; }; @@ -1358,12 +1358,12 @@ }; hyprlang = buildGrammar { language = "hyprlang"; - version = "0.0.0+rev=d0441fd"; + version = "0.0.0+rev=d626ec0"; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-hyprlang"; - rev = "d0441fd4b883ecc0e70140723a1cf5907992639a"; - hash = "sha256-pNAN5TF01Bnqfcsoa0IllchCCBph9/SowzIoMyQcN5w="; + rev = "d626ec06e4d876fc41200a30b3e6f2b4714c7367"; + hash = "sha256-f8CjiLd2tof+zfr7ze/CxZWtKRqQv8sK9Q21ZxEg6C8="; }; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-hyprlang"; }; @@ -1391,12 +1391,12 @@ }; ini = buildGrammar { language = "ini"; - version = "0.0.0+rev=32b3186"; + version = "0.0.0+rev=31899df"; src = fetchFromGitHub { owner = "justinmk"; repo = "tree-sitter-ini"; - rev = "32b31863f222bf22eb43b07d4e9be8017e36fb31"; - hash = "sha256-kWCaOIC81GP5EHCqzPZP9EUgYy39CZ6/8TVS6soB6Wo="; + rev = "31899dfa3b91622ea39e5c0bcddc88f45a9a3cfe"; + hash = "sha256-vplaqSCW2hUU0A4jzc+bpozTuUlGI6TaEUaglD8E6w0="; }; meta.homepage = "https://github.com/justinmk/tree-sitter-ini"; }; @@ -1411,17 +1411,6 @@ }; meta.homepage = "https://github.com/inko-lang/tree-sitter-inko"; }; - ipkg = buildGrammar { - language = "ipkg"; - version = "0.0.0+rev=8d3e978"; - src = fetchFromGitHub { - owner = "srghma"; - repo = "tree-sitter-ipkg"; - rev = "8d3e9782f2d091d0cd39c13bfb3068db0c675960"; - hash = "sha256-DyxD+Ehoqh0ywgU+J6EgnOQTcwOUJEuuXSOVjZ8M89c="; - }; - meta.homepage = "https://github.com/srghma/tree-sitter-ipkg"; - }; ispc = buildGrammar { language = "ispc"; version = "0.0.0+rev=9b2f9ae"; @@ -1457,12 +1446,12 @@ }; javadoc = buildGrammar { language = "javadoc"; - version = "0.0.0+rev=001a8e4"; + version = "0.0.0+rev=573ff1f"; src = fetchFromGitHub { owner = "rmuir"; repo = "tree-sitter-javadoc"; - rev = "001a8e4f8e839b640201c49046fbf5957fe1ee2c"; - hash = "sha256-8jNosU9jcQ5ffA1asoa6eFBdX/jE+sZPqOj3hufDl+g="; + rev = "573ff1f5e909daade4fba984fc5e8b14afe278ef"; + hash = "sha256-SpOICmpBjVZ5NR7jafJbspgjtq8a/aP5SUPmNXotnnk="; }; meta.homepage = "https://github.com/rmuir/tree-sitter-javadoc"; }; @@ -1569,12 +1558,12 @@ }; julia = buildGrammar { language = "julia"; - version = "0.0.0+rev=18b739c"; + version = "0.0.0+rev=12a3aed"; src = fetchFromGitHub { owner = "tree-sitter"; repo = "tree-sitter-julia"; - rev = "18b739c1563c83fc816170a4241adfa4b69e5c47"; - hash = "sha256-DLzbu/r+CNQinHDoy4IihHHbr/j+WDMfimn03gWNO5s="; + rev = "12a3aede757bc7fbdfb1909507c7a6fddd31df37"; + hash = "sha256-527US8LI8ZItb/O0em47+v4HnYnhJd48KBAWpasD62E="; }; meta.homepage = "https://github.com/tree-sitter/tree-sitter-julia"; }; @@ -1635,12 +1624,12 @@ }; koto = buildGrammar { language = "koto"; - version = "0.0.0+rev=1e61074"; + version = "0.0.0+rev=620ff8a"; src = fetchFromGitHub { owner = "koto-lang"; repo = "tree-sitter-koto"; - rev = "1e610746f48c24607733fac158d5bae79accd845"; - hash = "sha256-+Qzj4jliz4KyitBln6YyQyxpNrngnZo6KICqdvmIAsk="; + rev = "620ff8a32143f24f6f8e157bd1836183599d334d"; + hash = "sha256-IT9ZgZr2VViD9PyyqZTEmkgLHDD17aYMPx+IznagNAQ="; }; meta.homepage = "https://github.com/koto-lang/tree-sitter-koto"; }; @@ -1668,12 +1657,12 @@ }; latex = buildGrammar { language = "latex"; - version = "0.0.0+rev=f736d24"; + version = "0.0.0+rev=8e130cd"; src = fetchFromGitHub { owner = "latex-lsp"; repo = "tree-sitter-latex"; - rev = "f736d24d89acbd90092d92089e5171e6a449db40"; - hash = "sha256-R2HYfoLL4vEeSRbp3APVw6YsEYSppu7k3g0aN3+ld2Q="; + rev = "8e130cd5394487f5b686fbbb547f4ad7dbe811db"; + hash = "sha256-n8earQJI1KEuU89o7NmvzczB4HiJsKHRkvMTNccckic="; }; generate = true; meta.homepage = "https://github.com/latex-lsp/tree-sitter-latex"; @@ -1812,36 +1801,36 @@ }; markdown = buildGrammar { language = "markdown"; - version = "0.0.0+rev=efb075c"; + version = "0.0.0+rev=9dca2b6"; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-markdown"; - rev = "efb075cbd57ce33f694c2bb264b99cdba0f31789"; - hash = "sha256-Vz5bzIvJ0ZojK61RbU+uV59c5cyLA4M1Vw7H6O8JFrE="; + rev = "9dca2b6834df9be17bed2ec0fc05c215fa10acf3"; + hash = "sha256-8O8U7bLvzimLYzQAhwi7fYa9QkrvMHwVtL++4Fu4uyk="; }; location = "tree-sitter-markdown"; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-markdown"; }; markdown_inline = buildGrammar { language = "markdown_inline"; - version = "0.0.0+rev=efb075c"; + version = "0.0.0+rev=9dca2b6"; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-markdown"; - rev = "efb075cbd57ce33f694c2bb264b99cdba0f31789"; - hash = "sha256-Vz5bzIvJ0ZojK61RbU+uV59c5cyLA4M1Vw7H6O8JFrE="; + rev = "9dca2b6834df9be17bed2ec0fc05c215fa10acf3"; + hash = "sha256-8O8U7bLvzimLYzQAhwi7fYa9QkrvMHwVtL++4Fu4uyk="; }; location = "tree-sitter-markdown-inline"; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-markdown"; }; matlab = buildGrammar { language = "matlab"; - version = "0.0.0+rev=88ccb5e"; + version = "0.0.0+rev=a419361"; src = fetchFromGitHub { owner = "acristoffers"; repo = "tree-sitter-matlab"; - rev = "88ccb5ee90711e9961582d421c42bc8c6bd53f59"; - hash = "sha256-iiELNwO4m0lr2Bcowu5zj0VdA2Eg2i5N58MwC7HiGbs="; + rev = "a419361e4a6f2ec435dac4465fb0c0e5b2446b08"; + hash = "sha256-QPxuK+1jiKZakVE2+Op96yxmtJZgQ+sCCXZ7UPEkec4="; }; meta.homepage = "https://github.com/acristoffers/tree-sitter-matlab"; }; @@ -1869,23 +1858,23 @@ }; meson = buildGrammar { language = "meson"; - version = "0.0.0+rev=b1ff003"; + version = "0.0.0+rev=243aa33"; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-meson"; - rev = "b1ff0037b665e7e84715390820d6ecbe763a9c79"; - hash = "sha256-wO8N5RBZMQ5Bwq8JPHiYldjwOw0qKRv3WfSX5p5Vhpo="; + rev = "243aa33382d6ac7b8b66d962024d339cb3bae3f6"; + hash = "sha256-pL7PnHVUt0wmJSk8UUQhc5s8je6FRAlJ0nPk9OVlvVM="; }; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-meson"; }; mlir = buildGrammar { language = "mlir"; - version = "0.0.0+rev=4d2396f"; + version = "0.0.0+rev=eb78968"; src = fetchFromGitHub { owner = "artagnon"; repo = "tree-sitter-mlir"; - rev = "4d2396f21722d0c8d2ea285f380b21f1a71668b3"; - hash = "sha256-zYT9C6NXJqlOiv2JZLTfu4Vv4tmwA1SaKWKRFobrJKc="; + rev = "eb78968fdb3728510f9260129a2dd57b7c04f761"; + hash = "sha256-CC13vsuX41Ie/lqbT8gtMj7BcT9pkmD1j6fqtq2To1E="; }; generate = true; meta.homepage = "https://github.com/artagnon/tree-sitter-mlir"; @@ -1991,12 +1980,12 @@ }; nu = buildGrammar { language = "nu"; - version = "0.0.0+rev=d5c71a1"; + version = "0.0.0+rev=100d06e"; src = fetchFromGitHub { owner = "nushell"; repo = "tree-sitter-nu"; - rev = "d5c71a10b4d1b02e38967b05f8de70e847448dd1"; - hash = "sha256-7Ny3wXa5iE6s7szqTkPqaXWL/NL5yA2MbhdQHylxwE0="; + rev = "100d06e29d13a8ebfc3f29173c07a5c4f2050586"; + hash = "sha256-ZKpaAvXwMP6Z/15u1TwocCrgfD+ebPywM+UDTt04Sh0="; }; meta.homepage = "https://github.com/nushell/tree-sitter-nu"; }; @@ -2024,24 +2013,24 @@ }; ocaml = buildGrammar { language = "ocaml"; - version = "0.0.0+rev=ef6ed4a"; + version = "0.0.0+rev=3ef7c00"; src = fetchFromGitHub { owner = "tree-sitter"; repo = "tree-sitter-ocaml"; - rev = "ef6ed4a773a260545f0b03c43d2ca78235e9a488"; - hash = "sha256-mSp6ib5FWSB8iA3HmOEk6CAh0/sPw0a13lcFQNzTSLA="; + rev = "3ef7c00b29e41e3a0c1d18e82ea37c64d72b93fc"; + hash = "sha256-8u1jtUFMjykVG6aCDzqcb4vFCY401CZ2o+JPGMadg6o="; }; location = "grammars/ocaml"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-ocaml"; }; ocaml_interface = buildGrammar { language = "ocaml_interface"; - version = "0.0.0+rev=ef6ed4a"; + version = "0.0.0+rev=3ef7c00"; src = fetchFromGitHub { owner = "tree-sitter"; repo = "tree-sitter-ocaml"; - rev = "ef6ed4a773a260545f0b03c43d2ca78235e9a488"; - hash = "sha256-mSp6ib5FWSB8iA3HmOEk6CAh0/sPw0a13lcFQNzTSLA="; + rev = "3ef7c00b29e41e3a0c1d18e82ea37c64d72b93fc"; + hash = "sha256-8u1jtUFMjykVG6aCDzqcb4vFCY401CZ2o+JPGMadg6o="; }; location = "grammars/interface"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-ocaml"; @@ -2115,24 +2104,24 @@ }; php = buildGrammar { language = "php"; - version = "0.0.0+rev=eb289f1"; + version = "0.0.0+rev=b2278db"; src = fetchFromGitHub { owner = "tree-sitter"; repo = "tree-sitter-php"; - rev = "eb289f127fc341ae7129902a2dd1c6c197a4c1e7"; - hash = "sha256-RtUzTFt23b/qA0NHjR/T4L5+JzTUoyBKf7U2zsQPwXs="; + rev = "b2278dbac9d58b02653fe6a8530ccebc492e4ed4"; + hash = "sha256-xvUUw+532j49MhEgAeEDfLo+bqN0U65s/uV9BPbsVt4="; }; location = "php"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-php"; }; php_only = buildGrammar { language = "php_only"; - version = "0.0.0+rev=eb289f1"; + version = "0.0.0+rev=b2278db"; src = fetchFromGitHub { owner = "tree-sitter"; repo = "tree-sitter-php"; - rev = "eb289f127fc341ae7129902a2dd1c6c197a4c1e7"; - hash = "sha256-RtUzTFt23b/qA0NHjR/T4L5+JzTUoyBKf7U2zsQPwXs="; + rev = "b2278dbac9d58b02653fe6a8530ccebc492e4ed4"; + hash = "sha256-xvUUw+532j49MhEgAeEDfLo+bqN0U65s/uV9BPbsVt4="; }; location = "php_only"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-php"; @@ -2340,12 +2329,12 @@ }; purescript = buildGrammar { language = "purescript"; - version = "0.0.0+rev=4cacfda"; + version = "0.0.0+rev=603daa9"; src = fetchFromGitHub { owner = "postsolar"; repo = "tree-sitter-purescript"; - rev = "4cacfdaa75090bb790965674fe387bb215bab64b"; - hash = "sha256-UPK3PkBLO5c5AokvFfICwBjy1cPUOVx/pwDNuZTW8FA="; + rev = "603daa9178bcef3386b3040d86435794965fc6f2"; + hash = "sha256-hOY2TfG+rAZyjm3PxXvF/Z3kEpIC2yZctk9YvWfG8wg="; }; meta.homepage = "https://github.com/postsolar/tree-sitter-purescript"; }; @@ -2406,23 +2395,23 @@ }; query = buildGrammar { language = "query"; - version = "0.0.0+rev=8bf3112"; + version = "0.0.0+rev=2b36699"; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-query"; - rev = "8bf3112db43bdba3002bb1f88b7cda5f6278fc88"; - hash = "sha256-3HnLSe47TQzQwy/ZLO87b6S+fi0CKytsoRkUncy8/+k="; + rev = "2b3669919b22f1a6e5bfcf3753caaa63fd14e8ec"; + hash = "sha256-9lNtbyRCwTvYGscDyncSfnzQFIP9KOV981QvtPHQKK8="; }; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-query"; }; r = buildGrammar { language = "r"; - version = "0.0.0+rev=a0d3e33"; + version = "0.0.0+rev=95aff09"; src = fetchFromGitHub { owner = "r-lib"; repo = "tree-sitter-r"; - rev = "a0d3e3307489c3ca54da8c7b5b4e0c5f5fd6953a"; - hash = "sha256-ryKgJ+3dv/O2AN5zIGtQnKml0zU0/s4Io8Tumpm62Gc="; + rev = "95aff097aa927a66bb357f715b58cde821be8867"; + hash = "sha256-H4iK2p4xXjP6gGrOP/qpHQCiO3Jyy0jmb8u29RM0sBg="; }; meta.homepage = "https://github.com/r-lib/tree-sitter-r"; }; @@ -2582,12 +2571,12 @@ }; roc = buildGrammar { language = "roc"; - version = "0.0.0+rev=0b1afe8"; + version = "0.0.0+rev=94634c7"; src = fetchFromGitHub { owner = "faldor20"; repo = "tree-sitter-roc"; - rev = "0b1afe88161cbd81f5ddea1bb4fa786314ed49a7"; - hash = "sha256-DO0c6xRpJvj35qifh9/sfj5Op9CPsKA+4X6A7FBTGLI="; + rev = "94634c7e882d3c55066aa074cab4911284326deb"; + hash = "sha256-469w0zP+hQ6zbC+WSVInpfzXBZr2+51Ee/tuz9oGi38="; }; meta.homepage = "https://github.com/faldor20/tree-sitter-roc"; }; @@ -2648,12 +2637,12 @@ }; scala = buildGrammar { language = "scala"; - version = "0.0.0+rev=c118995"; + version = "0.0.0+rev=2d55e74"; src = fetchFromGitHub { owner = "tree-sitter"; repo = "tree-sitter-scala"; - rev = "c1189954df854977c3a52003ca8a247c5f4729ba"; - hash = "sha256-aomchVnOjYrgGA3hem/PEumkiUuIiJbb89hnz7uYAwI="; + rev = "2d55e74b0485fe05058ffe5e8155506c9710c767"; + hash = "sha256-ZE+zjpb52hvehJjNchJYK81XZbGAudeTRxlczuoix5g="; }; meta.homepage = "https://github.com/tree-sitter/tree-sitter-scala"; }; @@ -2671,12 +2660,12 @@ }; scheme = buildGrammar { language = "scheme"; - version = "0.0.0+rev=1e4d38d"; + version = "0.0.0+rev=e35b41a"; src = fetchFromGitHub { owner = "6cdh"; repo = "tree-sitter-scheme"; - rev = "1e4d38d650bf6b53930ec9d41a7000775c134039"; - hash = "sha256-ZBMDnFp5dqVLng5AvdzzJxbF+jZctoAzFmkmvDW4sCA="; + rev = "e35b41a183164f4a12e10da3d0c430e837c3d75a"; + hash = "sha256-drLgTk0opTlyQFgsFdz0hPNl6wzMcQaRycpqIpWirIk="; }; meta.homepage = "https://github.com/6cdh/tree-sitter-scheme"; }; @@ -2705,34 +2694,34 @@ }; slang = buildGrammar { language = "slang"; - version = "0.0.0+rev=327b1b8"; + version = "0.0.0+rev=a4454e3"; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-slang"; - rev = "327b1b821c255867a4fb724c8eee48887e3d014b"; - hash = "sha256-Oj3Z1Zw1geM2jid7xg0041cYtStV+CRl7anXbIIGE5c="; + rev = "a4454e3004a9e8fea2df7fd2535fbaa05500da21"; + hash = "sha256-z1cIxsunZ7ZhzaQVuYtsXbgdrNjDcYtGi/jOQ+FhlYM="; }; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-slang"; }; slim = buildGrammar { language = "slim"; - version = "0.0.0+rev=d8a79d1"; + version = "0.0.0+rev=a06113f"; src = fetchFromGitHub { owner = "theoo"; repo = "tree-sitter-slim"; - rev = "d8a79d15c7b9a68d2d1616c319d2b04d1999ab9f"; - hash = "sha256-jgED9DCpv3Kz24LvUbUmO1/G+O8hVQTY2K0qI6j+fRA="; + rev = "a06113f5175b805a37d20df0a6f9d722e0ab6cfe"; + hash = "sha256-Uk0AltQNhVd3VHQYRN+gJWd7tnVYr7qzBce6yEdtVaw="; }; meta.homepage = "https://github.com/theoo/tree-sitter-slim"; }; slint = buildGrammar { language = "slint"; - version = "0.0.0+rev=3493309"; + version = "0.0.0+rev=cd04d91"; src = fetchFromGitHub { owner = "slint-ui"; repo = "tree-sitter-slint"; - rev = "3493309534cd08ae176c7b917ec79068dca2c1c9"; - hash = "sha256-GM1h+7IcPXTxoRVjVIRWk+3xSWxS3nhPdGaehq2/1xE="; + rev = "cd04d91ff4eaff3467a6a0968e29fa9e4ac8f024"; + hash = "sha256-Kf87ccFZrVyVduEB/2/g3BmDLQGVutKoloYt4AKSDB4="; }; meta.homepage = "https://github.com/slint-ui/tree-sitter-slint"; }; @@ -2806,12 +2795,12 @@ }; sourcepawn = buildGrammar { language = "sourcepawn"; - version = "0.0.0+rev=f2af8d0"; + version = "0.0.0+rev=5a8fdd4"; src = fetchFromGitHub { owner = "nilshelmig"; repo = "tree-sitter-sourcepawn"; - rev = "f2af8d0dc14c6790130cceb2a20027eb41a8297c"; - hash = "sha256-u8/wM2Dj+uO3g24MsGZfH9zkABCEaWWFI8EX3fxuljk="; + rev = "5a8fdd446b516c81e218245c12129c6ad4bccfa2"; + hash = "sha256-TfLCG2Ro3QnGStyCNqHwO54HQMR2fEOV6FjBv+0LjJ0="; }; meta.homepage = "https://github.com/nilshelmig/tree-sitter-sourcepawn"; }; @@ -2984,12 +2973,12 @@ }; t32 = buildGrammar { language = "t32"; - version = "0.0.0+rev=61607b3"; + version = "0.0.0+rev=15f0032"; src = fetchFromGitLab { owner = "xasc"; repo = "tree-sitter-t32"; - rev = "61607b32915fdeda275b2346e6a76a7c9b363251"; - hash = "sha256-tNRYOPUSquxxyazBvgvjRCObf8Z7D98GDtKY5MAExqE="; + rev = "15f0032f3eadf95988293338e883c095fd5936f6"; + hash = "sha256-wL19lYFhtGRXQst1NSTIamONKJVT5fl6J2h+S/11/BA="; }; meta.homepage = "https://gitlab.com/xasc/tree-sitter-t32"; }; @@ -3017,12 +3006,12 @@ }; tcl = buildGrammar { language = "tcl"; - version = "0.0.0+rev=8f11ac7"; + version = "0.0.0+rev=f15e711"; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-tcl"; - rev = "8f11ac7206a54ed11210491cee1e0657e2962c47"; - hash = "sha256-JrGSHGolf7OhInxotXslw1QXxJscl+bXCxZPYJeBfTY="; + rev = "f15e711167661d1ba541d4f62b9dbfc4ce61ec56"; + hash = "sha256-173xUAc2/LMDQSTEM3l3R4UuF/R5fdUyhEpXv6Eh02s="; }; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-tcl"; }; @@ -3040,12 +3029,12 @@ }; templ = buildGrammar { language = "templ"; - version = "0.0.0+rev=5504cc9"; + version = "0.0.0+rev=de35706"; src = fetchFromGitHub { owner = "vrischmann"; repo = "tree-sitter-templ"; - rev = "5504cc96fbf5c9a029add2dfcb6e585e8fdaad75"; - hash = "sha256-bbwRwk8FHmtL4VcGIWm9w5ApPfYN0EAHHkcjt7wF1OY="; + rev = "de35706f89beed5087670a9c4421b7794ef02411"; + hash = "sha256-YMhUsJHeUPbWf6FGIoE5S39Bglo/5f78XWelg4qecG0="; }; meta.homepage = "https://github.com/vrischmann/tree-sitter-templ"; }; @@ -3062,12 +3051,12 @@ }; terraform = buildGrammar { language = "terraform"; - version = "0.0.0+rev=009def4"; + version = "0.0.0+rev=28e327c"; src = fetchFromGitHub { owner = "MichaHoffmann"; repo = "tree-sitter-hcl"; - rev = "009def4ae38ec30e5b40beeae26efe93484ab286"; - hash = "sha256-3tM4cggewH2uorO8sgM0E/YFt1//zxBKHAqZVNmZVQU="; + rev = "28e327cd3f5be4816020b1230c0602a6deb40290"; + hash = "sha256-IAcr6D53b6i8S9/5ZTHKcH6BBPcg4BIbssD16n382YM="; }; location = "dialects/terraform"; meta.homepage = "https://github.com/MichaHoffmann/tree-sitter-hcl"; @@ -3343,12 +3332,12 @@ }; vhdl = buildGrammar { language = "vhdl"; - version = "0.0.0+rev=ec2cb14"; + version = "0.0.0+rev=5840549"; src = fetchFromGitHub { owner = "jpt13653903"; repo = "tree-sitter-vhdl"; - rev = "ec2cb14f68053cf49d1d18cd5742af8e81771ebb"; - hash = "sha256-UbrTs3r+0gSHePTRiHyxZe55t9EIkaK2Auwojq6Dd+A="; + rev = "5840549516f2faf8c45cae5a3b16c1b81a2498a1"; + hash = "sha256-53KZbyiYZR/vlmgcELzo/0+Fop3CQrFQudFpARbNrEs="; }; meta.homepage = "https://github.com/jpt13653903/tree-sitter-vhdl"; }; @@ -3464,35 +3453,35 @@ }; xml = buildGrammar { language = "xml"; - version = "0.0.0+rev=291b020"; + version = "0.0.0+rev=87be254"; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-xml"; - rev = "291b02018c525abe70fec41559cfe8f2f1cc84b2"; - hash = "sha256-UxFI86fbhuij+QTex4l139PPMMgAha7rZcBlHSRPJYI="; + rev = "87be254e12169240a0e0214dbee5e208df96fa75"; + hash = "sha256-Wf5PY8I0i/YH5dTgVhiZ+DZ2LGsc+NPVWyzkidaQxeI="; }; location = "xml"; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-xml"; }; xresources = buildGrammar { language = "xresources"; - version = "0.0.0+rev=dcbce0c"; + version = "0.0.0+rev=45c020e"; src = fetchFromGitHub { owner = "ValdezFOmar"; repo = "tree-sitter-xresources"; - rev = "dcbce0c5dde0fca01dd83a8f497ebe4d053eab1d"; - hash = "sha256-JgPQxB0nT+4YvwKfAHgUC+Eo664l93ITuWLG7IWUZnU="; + rev = "45c020e74e924d8e3a0656a0dbe18688c063f5f0"; + hash = "sha256-+HXnWfSlI09HOeBfKx1FJVSn4rXbjIlMTrTYvtHudIU="; }; meta.homepage = "https://github.com/ValdezFOmar/tree-sitter-xresources"; }; yaml = buildGrammar { language = "yaml"; - version = "0.0.0+rev=08c5caa"; + version = "0.0.0+rev=3431ec2"; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-yaml"; - rev = "08c5caaeb34e5ccd614706d3b5359a78f1c9e275"; - hash = "sha256-mQvo90Z4xCXwMDKnCGScw9dKtplEtJuRa1QDjhM4wR4="; + rev = "3431ec21da1dde751bab55520963cf3a4f1121f3"; + hash = "sha256-4XYAgMXq9AmEuejbM+y1x9oHrStxgrXlm3zg33iEvNQ="; }; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-yaml"; }; diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix index 643bab355ea9..e7ff898d8257 100644 --- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix @@ -1,6 +1,5 @@ { lib, - stdenv, callPackage, tree-sitter, neovim, @@ -8,6 +7,7 @@ runCommand, vimPlugins, tree-sitter-grammars, + writableTmpDirAsHomeHook, }: self: super: @@ -16,17 +16,6 @@ let inherit (neovimUtils) grammarToPlugin; overrides = prev: { - ocamllex = - if stdenv.hostPlatform.isDarwin then - # remove after https://github.com/314eter/tree-sitter-ocamllex/issues/10 is resolved - # see https://github.com/NixOS/nixpkgs/pull/394636 - (prev.ocamllex.overrideAttrs { - src = prev.ocamllex.src.override { - hash = "sha256-UBGVc98lrtTCp/kYDEFM/8iG9n7Tekx+xbE7Wdyp2uQ="; - }; - }) - else - prev.ocamllex; }; generatedGrammars = @@ -100,19 +89,22 @@ in in runCommand "nvim-treesitter-check-queries" { - nativeBuildInputs = [ nvimWithAllGrammars ]; + nativeBuildInputs = [ + nvimWithAllGrammars + writableTmpDirAsHomeHook + ]; CI = true; } '' touch $out - export HOME=$(mktemp -d) ln -s ${withAllGrammars}/CONTRIBUTING.md . + export ALLOWED_INSTALLATION_FAILURES=ipkg,norg nvim --headless "+luafile ${withAllGrammars}/scripts/check-queries.lua" | tee log if grep -q Warning log; then - echo "Error: warnings were emitted by the check" - exit 1 + echo "WARNING: warnings were emitted by the check" + echo "Check if they were expected warnings!" fi ''; diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index 2035c0ac0d44..821a7be77646 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -124,6 +124,9 @@ uv, # nvim-vstsl dependencies vtsls, + # search-and-replace.nvim dependencies + fd, + sad, }: self: super: let @@ -3011,6 +3014,10 @@ in dependencies = [ self.plenary-nvim ]; }; + schema-companion-nvim = super.schema-companion-nvim.overrideAttrs { + dependencies = [ self.plenary-nvim ]; + }; + scretch-nvim = super.scretch-nvim.overrideAttrs { }; @@ -3018,6 +3025,13 @@ in dependencies = [ self.nui-nvim ]; }; + search-and-replace-nvim = super.search-and-replace-nvim.overrideAttrs { + runtimeDeps = [ + fd + sad + ]; + }; + skim = buildVimPlugin { pname = "skim"; inherit (skim) version; @@ -3094,6 +3108,15 @@ in ]; }; + solarized-osaka-nvim = super.solarized-osaka-nvim.overrideAttrs { + checkInputs = [ self.fzf-lua ]; + + nvimSkipModules = [ + # lua/solarized-osaka/extra/fzf.lua:55: color not found for header:FzfLuaTitle + "solarized-osaka.extra.fzf" + ]; + }; + spaceman-nvim = super.spaceman-nvim.overrideAttrs { # Optional telescope integration nvimSkipModules = "spaceman.adapters.telescope"; @@ -3886,7 +3909,7 @@ in vim-textobj-entire = super.vim-textobj-entire.overrideAttrs { dependencies = [ self.vim-textobj-user ]; - meta.maintainers = with lib.maintainers; [ farlion ]; + meta.maintainers = with lib.maintainers; [ workflow ]; }; vim-tpipeline = super.vim-tpipeline.overrideAttrs { diff --git a/pkgs/applications/editors/vim/plugins/utils/nvim-treesitter/update.py b/pkgs/applications/editors/vim/plugins/utils/nvim-treesitter/update.py index 6b19eb24ebf6..7ae13615d2ab 100755 --- a/pkgs/applications/editors/vim/plugins/utils/nvim-treesitter/update.py +++ b/pkgs/applications/editors/vim/plugins/utils/nvim-treesitter/update.py @@ -1,56 +1,58 @@ #!/usr/bin/env nix-shell -#!nix-shell update-shell.nix -i python +#!nix-shell ./update-shell.nix -i python import json import logging import os import subprocess from concurrent.futures import ThreadPoolExecutor +from pathlib import Path import requests log = logging.getLogger("vim-updater") -NURR_JSON_URL = "https://raw.githubusercontent.com/nvim-neorocks/nurr/main/tree-sitter-parsers.json" +NURR_JSON_URL = ( + "https://raw.githubusercontent.com/nvim-neorocks/nurr/main/tree-sitter-parsers.json" +) + def generate_grammar(lang, parser_info): """Generate grammar for a language based on the parser info""" - try: - if "install_info" not in parser_info: - log.warning(f"Parser {lang} does not have install_info, skipping") - return "" + if "install_info" not in parser_info: + log.warning(f"Parser {lang} does not have install_info, skipping") + return "" - install_info = parser_info["install_info"] + install_info = parser_info["install_info"] - url = install_info["url"] - rev = install_info["revision"] + url = install_info["url"] + rev = install_info["revision"] - generated = f""" {lang} = buildGrammar {{ + generated = f""" {lang} = buildGrammar {{ language = "{lang}"; version = "0.0.0+rev={rev[:7]}"; src = """ - generated += subprocess.check_output(["nurl", url, rev, "--indent=4"], text=True) - generated += ";" + generated += subprocess.check_output( + ["nurl", url, rev, "--indent=4"], text=True + ) + generated += ";" - location = install_info.get("location", "") - if location: - generated += f""" + location = install_info.get("location", "") + if location: + generated += f""" location = "{location}";""" - if install_info.get("generate", False): - generated += """ + if install_info.get("generate", False): + generated += """ generate = true;""" - generated += f""" + generated += f""" meta.homepage = "{url}"; }}; """ - return generated - except Exception as e: - log.error(f"Error generating grammar for {lang}: {e}") - return "" + return generated def fetch_nurr_parsers(): @@ -81,12 +83,7 @@ def fetch_nurr_parsers(): def process_parser_info(parser_info): """Process a single parser info entry and generate grammar for it""" - try: - lang = parser_info["lang"] - return generate_grammar(lang, parser_info) - except Exception as e: - log.error(f"Error processing parser: {e}") - return "" + return generate_grammar(parser_info["lang"], parser_info) def update_grammars(): @@ -119,13 +116,10 @@ def update_grammars(): if __name__ == "__main__": - logging.basicConfig(level=logging.INFO, format='%(levelname)s: %(message)s') + logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s") generated = update_grammars() - output_path = os.path.join( - os.path.dirname(__file__), - "../../nvim-treesitter/generated.nix" - ) + output_path = Path(__file__).parent.parent / "nvim-treesitter/generated.nix" log.info("Writing output to %s", output_path) with open(output_path, "w") as f: f.write(generated) diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index 578dbed86586..b0d7453038b2 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -126,7 +126,6 @@ https://github.com/mikavilpas/blink-ripgrep.nvim/,HEAD, https://github.com/Saghen/blink.compat/,HEAD, https://github.com/dundalek/bloat.nvim/,HEAD, https://github.com/HampusHauffman/block.nvim/,HEAD, -https://github.com/blueballs-theme/blueballs-neovim/,, https://github.com/uloco/bluloco.nvim/,, https://github.com/rockerBOO/boo-colorscheme-nvim/,, https://github.com/nat-418/boole.nvim/,HEAD, @@ -420,7 +419,6 @@ https://github.com/vim-scripts/gitignore.vim/,, https://github.com/ruifm/gitlinker.nvim/,, https://github.com/gregsexton/gitv/,, https://github.com/DNLHC/glance.nvim/,HEAD, -https://github.com/gleam-lang/gleam.vim/,, https://github.com/ellisonleao/glow.nvim/,, https://github.com/ray-x/go.nvim/,HEAD, https://github.com/p00f/godbolt.nvim/,HEAD, @@ -507,7 +505,6 @@ https://github.com/nanotech/jellybeans.vim/,, https://github.com/HiPhish/jinja.vim/,HEAD, https://github.com/vito-c/jq.vim/,, https://github.com/neoclide/jsonc.vim/,, -https://github.com/Myzel394/jsonfly.nvim/,HEAD, https://github.com/julelang/jule.nvim/,HEAD, https://github.com/julelang/jule.nvim/,HEAD, https://github.com/JuliaEditorSupport/julia-vim/,, @@ -1009,11 +1006,13 @@ https://github.com/hauleth/sad.vim/,, https://github.com/vmware-archive/salt-vim/,, https://github.com/samodostal/image.nvim/,HEAD,samodostal-image-nvim https://github.com/lewis6991/satellite.nvim/,HEAD, +https://github.com/cenk1cenk2/schema-companion.nvim/,HEAD, https://github.com/davidgranstrom/scnvim/,HEAD, https://github.com/tiagovla/scope.nvim/,HEAD, https://github.com/0xJohnnyboy/scretch.nvim/,HEAD, https://github.com/Xuyuanp/scrollbar.nvim/,, https://github.com/cakebaker/scss-syntax.vim/,, +https://github.com/mahyarmirrashed/search-and-replace.nvim/,HEAD, https://github.com/VonHeikemen/searchbox.nvim/,, https://github.com/RobertAudi/securemodelines/,, https://github.com/megaannum/self/,, @@ -1035,6 +1034,7 @@ https://github.com/folke/snacks.nvim/,HEAD, https://github.com/camspiers/snap/,, https://github.com/leath-dub/snipe.nvim/,HEAD, https://github.com/norcalli/snippets.nvim/,, +https://github.com/craftzdog/solarized-osaka.nvim/,HEAD, https://github.com/shaunsingh/solarized.nvim/,HEAD, https://github.com/sainnhe/sonokai/,, https://github.com/sQVe/sort.nvim/,HEAD, @@ -1088,7 +1088,7 @@ https://github.com/vim-scripts/taglist.vim/,, https://github.com/luckasRanarison/tailwind-tools.nvim/,HEAD, https://github.com/themaxmarchuk/tailwindcss-colors.nvim/,HEAD, https://github.com/wellle/targets.vim/,, -https://github.com/tools-life/taskwiki/,, +https://github.com/tbabej/taskwiki/,, https://github.com/tomtom/tcomment_vim/,, https://github.com/nvim-telekasten/telekasten.nvim/,, https://github.com/GustavoKatel/telescope-asynctasks.nvim/,, @@ -1136,6 +1136,7 @@ https://github.com/itchyny/thumbnail.vim/,, https://github.com/nvzone/timerly/,HEAD, https://github.com/vim-scripts/timestamp.vim/,, https://github.com/levouh/tint.nvim/,HEAD, +https://github.com/tinted-theming/tinted-nvim/,HEAD, https://github.com/tinted-theming/tinted-vim/,HEAD, https://github.com/rachartier/tiny-devicons-auto-colors.nvim/,HEAD, https://github.com/rachartier/tiny-inline-diagnostic.nvim/,HEAD, @@ -1149,6 +1150,7 @@ https://github.com/freitass/todo.txt-vim/,, https://github.com/akinsho/toggleterm.nvim/,, https://github.com/folke/tokyonight.nvim/,, https://github.com/markonm/traces.vim/,, +https://github.com/LeonHeidelbach/trailblazer.nvim/,HEAD, https://github.com/tjdevries/train.nvim/,, https://github.com/xiyaowong/transparent.nvim/,HEAD, https://github.com/Wansmer/treesj/,main, @@ -1159,6 +1161,7 @@ https://github.com/simonmclean/triptych.nvim/,HEAD, https://github.com/folke/trouble.nvim/,, https://github.com/Pocco81/true-zen.nvim/,, https://github.com/tesaguri/trust.vim/,HEAD, +https://github.com/tronikelis/ts-autotag.nvim/,HEAD, https://github.com/folke/ts-comments.nvim/,HEAD, https://github.com/dmmulroy/tsc.nvim/,HEAD, https://github.com/jgdavey/tslime.vim/,, @@ -1442,6 +1445,7 @@ https://github.com/delroth/vim-molokai-delroth/,HEAD, https://github.com/crusoexia/vim-monokai/,, https://github.com/phanviet/vim-monokai-pro/,, https://github.com/patstockwell/vim-monokai-tasty/,HEAD, +https://github.com/bluz71/vim-moonfly-colors/,HEAD, https://github.com/matze/vim-move/,, https://github.com/lifepillar/vim-mucomplete/,, https://github.com/terryma/vim-multiple-cursors/,, diff --git a/pkgs/applications/editors/vscode/extensions/README.md b/pkgs/applications/editors/vscode/extensions/README.md index 09de650067fc..3977dc5a3e13 100644 --- a/pkgs/applications/editors/vscode/extensions/README.md +++ b/pkgs/applications/editors/vscode/extensions/README.md @@ -2,10 +2,10 @@ ## Conventions for adding new extensions -* Extensions are named in the **lowercase** version of the extension's unique identifier. Which is found on the marketplace extension page, and is the name under which the extension is installed by VSCode under `~/.vscode`. +* Extensions are named in the **lowercase** version of the extension's unique identifier which is found on the extension's marketplace page, and is the name under which the extension is installed by VSCode under `~/.vscode`. Extension location should be: ${lib.strings.toLower mktplcRef.publisher}.${lib.string.toLower mktplcRef.name} -* Move extension to a discrete directory whenever the extension needs extra parameters/packages (at top of the file) or other files (such as patches, update script, components). Global index file parameters/packages should be utilities shared by many extensions. Extension specific parameters/packages should not be in the global index page. +* When adding a new extension, place its definition in a `default.nix` file in a directory with the extension's ID (e.g. `publisher.extension-name/default.nix`) and refer to it in `./default.nix`, e.g. `publisher.extension-name = callPackage ./publisher.extension-name { };`. * Currently `nixfmt-rfc-style` formatter is being used to format the VSCode extensions. @@ -39,4 +39,4 @@ > vscode-extensions.publisher.extension-name: 1.2.3 -> 2.3.4 > > Release: https://github.com/owner/project/releases/tag/2.3.4 - - Multiple extensions can be added in a single PR, but each extension requires it's own commit. + - Multiple extensions can be added in a single PR, but each extension requires its own commit. diff --git a/pkgs/applications/editors/vscode/extensions/amazonwebservices.amazon-q-vscode/default.nix b/pkgs/applications/editors/vscode/extensions/amazonwebservices.amazon-q-vscode/default.nix index 1a55635b6571..ebc8d13d8343 100644 --- a/pkgs/applications/editors/vscode/extensions/amazonwebservices.amazon-q-vscode/default.nix +++ b/pkgs/applications/editors/vscode/extensions/amazonwebservices.amazon-q-vscode/default.nix @@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension (finalAttrs: { mktplcRef = { name = "amazon-q-vscode"; publisher = "AmazonWebServices"; - version = "1.70.0"; - hash = "sha256-nMAhVl93CImy0tQ6naB2tBAcMVC6Elo2AfvQj3jaEc4="; + version = "1.75.0"; + hash = "sha256-a6Hvk3q8nqHgjZujuEcJ6UlspJpXeLPNtFl0n1A+Wu0="; }; meta = { diff --git a/pkgs/applications/editors/vscode/extensions/betterthantomorrow.calva/default.nix b/pkgs/applications/editors/vscode/extensions/betterthantomorrow.calva/default.nix index b83f1d3cb757..d23940e88854 100644 --- a/pkgs/applications/editors/vscode/extensions/betterthantomorrow.calva/default.nix +++ b/pkgs/applications/editors/vscode/extensions/betterthantomorrow.calva/default.nix @@ -11,8 +11,8 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { name = "calva"; publisher = "betterthantomorrow"; - version = "2.0.516"; - hash = "sha256-0RBydQ2+ec6Swj/DGYVen3g8a6SqhIKLZ9m1Bohjqco="; + version = "2.0.519"; + hash = "sha256-Ndgps72L1mT7a2xoBmeXm/iAbyFMXP+e8SuQ5Q7HqcI="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/editors/vscode/extensions/charliermarsh.ruff/default.nix b/pkgs/applications/editors/vscode/extensions/charliermarsh.ruff/default.nix index c92f38180f5f..c781c5145415 100644 --- a/pkgs/applications/editors/vscode/extensions/charliermarsh.ruff/default.nix +++ b/pkgs/applications/editors/vscode/extensions/charliermarsh.ruff/default.nix @@ -12,26 +12,26 @@ vscode-utils.buildVscodeMarketplaceExtension { sources = { "x86_64-linux" = { arch = "linux-x64"; - hash = "sha256-lGV/Zc4pibm7sTVtN4UYzuroxNgUltaUT9oJPaa5S8Q="; + hash = "sha256-+EiBEYZpJYjUMvVcNgs5pdXr1g8FB1ha2bKy29OPcSM="; }; "x86_64-darwin" = { arch = "darwin-x64"; - hash = "sha256-h1cvTJ9VUHOL27F9twdbLTSzLb+NUhqrbaScoKF5jZ4="; + hash = "sha256-ijy/ZVhVU1/ZrS1Fu3vuiThcjLuKSqf3lrgl8is54Co="; }; "aarch64-linux" = { arch = "linux-arm64"; - hash = "sha256-Ca9DGjQDT5BbJUL7FtU3dS6Zb7C2Blxr69l5HpZR4ZQ="; + hash = "sha256-mpUV/xN98Xi3B7ujotXK9T6xEfZWsQuWtvuPyufxfoY="; }; "aarch64-darwin" = { arch = "darwin-arm64"; - hash = "sha256-8Qay/ynixASQ8FFyAYjBeGcjBKQGXucGlOndOYa1Fn8="; + hash = "sha256-YaNMN7887v3tFccoPBz7hVhpGbGtbys7e5D5GCBIe20="; }; }; in { name = "ruff"; publisher = "charliermarsh"; - version = "2025.22.0"; + version = "2025.24.0"; } // sources.${stdenvNoCC.hostPlatform.system} or (throw "Unsupported system ${stdenvNoCC.hostPlatform.system}"); diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index 9b75ef082621..963b48977134 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -89,8 +89,8 @@ let mktplcRef = { publisher = "42Crunch"; name = "vscode-openapi"; - version = "4.34.0"; - hash = "sha256-iGVXWKa7xX4WrUeta8ofsXWHQSlxpv8289R9iFdPaII="; + version = "4.35.0"; + hash = "sha256-wpWPT8BW2GPo2SCzM+l1HTpiXMTnbDOc9Oj9wDT/o/8="; }; meta = { changelog = "https://marketplace.visualstudio.com/items/42Crunch.vscode-openapi/changelog"; @@ -685,8 +685,8 @@ let mktplcRef = { name = "markdown-preview-github-styles"; publisher = "bierner"; - version = "2.1.0"; - hash = "sha256-6Gs05RcYbeKBCi67K33KIpL0aGLGykYgyy3IPlx7ybo="; + version = "2.2.0"; + hash = "sha256-Jg8XpMoSVZA/VpQhLY3bmmG9pb0XL2CRlhlemcWvzSg="; }; meta = { changelog = "https://marketplace.visualstudio.com/items/bierner.markdown-preview-github-styles/changelog"; @@ -786,8 +786,8 @@ let mktplcRef = { name = "vscode-tailwindcss"; publisher = "bradlc"; - version = "0.14.20"; - hash = "sha256-Q45o7UAqyPuSMI02BOyXHzD5eqOJLYcYGnwA+eppEj4="; + version = "0.14.21"; + hash = "sha256-TRc0RAhVZuvMHqmvNnDQlj1udslvQofxYvJnv/Ftp/g="; }; meta = { changelog = "https://marketplace.visualstudio.com/items/bradlc.vscode-tailwindcss/changelog"; @@ -1165,8 +1165,8 @@ let mktplcRef = { name = "dbclient-jdbc"; publisher = "cweijan"; - version = "1.4.4"; - hash = "sha256-hrymsnprfrRQeS/WRGqdV3MNPw+C+iJCcXF1IfNjGWE="; + version = "1.4.6"; + hash = "sha256-989egeJlpJ2AfZra9VSQDQ8e+nQCa2sfoUeti674ecA="; }; meta = { description = "JDBC Adapter For Database Client"; @@ -1181,8 +1181,8 @@ let mktplcRef = { name = "vscode-database-client2"; publisher = "cweijan"; - version = "8.3.5"; - hash = "sha256-ld8M46LGF5nJEuk0iexOVnhiuX3mcNUnqnXNZE9Bl+4="; + version = "8.3.6"; + hash = "sha256-DHI5Cor6iYAB5RPMEOIoV5NX8sqkEwQI5hDwKF1m+oY="; }; meta = { description = "Database Client For Visual Studio Code"; @@ -1210,8 +1210,8 @@ let mktplcRef = { publisher = "DanielSanMedium"; name = "dscodegpt"; - version = "3.12.39"; - hash = "sha256-CShqaG3P6b9JdAtbqFyGn7RGZX8ov98sYJiBy9RCXnE="; + version = "3.12.81"; + hash = "sha256-IcO1jdmFZ5G9XIJo7I7YnYpp7TgMXSfnqIpCzZJaPyI="; }; meta = { changelog = "https://marketplace.visualstudio.com/items/DanielSanMedium.dscodegpt/changelog"; @@ -1339,12 +1339,14 @@ let }; }; + detachhead.basedpyright = callPackage ./detachhead.basedpyright { }; + devsense.composer-php-vscode = buildVscodeMarketplaceExtension { mktplcRef = { name = "composer-php-vscode"; publisher = "devsense"; - version = "1.58.17223"; - hash = "sha256-eobPtePHqW0+2PgMN6ydJWMLQJ14FsevKbhZzaXYxqc="; + version = "1.59.17466"; + hash = "sha256-efgwdF1bRE4sngayKq0fcFWDNtvkX+tgEKbF3RyYY68="; }; meta = { changelog = "https://marketplace.visualstudio.com/items/DEVSENSE.composer-php-vscode/changelog"; @@ -1352,7 +1354,7 @@ let downloadPage = "https://marketplace.visualstudio.com/items?itemName=DEVSENSE.composer-php-vscode"; homepage = "https://github.com/DEVSENSE/phptools-docs"; license = lib.licenses.unfree; - maintainers = [ lib.maintainers.drupol ]; + maintainers = [ ]; }; }; @@ -1402,7 +1404,7 @@ let downloadPage = "https://marketplace.visualstudio.com/items?itemName=DEVSENSE.phptools-vscode"; homepage = "https://github.com/DEVSENSE/phptools-docs"; license = lib.licenses.unfree; - maintainers = [ lib.maintainers.drupol ]; + maintainers = [ ]; platforms = [ "x86_64-linux" "x86_64-darwin" @@ -1416,8 +1418,8 @@ let mktplcRef = { name = "profiler-php-vscode"; publisher = "devsense"; - version = "1.58.17223"; - hash = "sha256-LC/I/r7ZPOZJ21eGPKLOZEtiKXeIIggAaE8fSKHnTjg="; + version = "1.59.17478"; + hash = "sha256-rFgB+gR9l/Y//6q1j6Wo6GAKoEwhR4QVljUKymOKdJ0="; }; meta = { changelog = "https://marketplace.visualstudio.com/items/DEVSENSE.profiler-php-vscode/changelog"; @@ -1425,7 +1427,7 @@ let downloadPage = "https://marketplace.visualstudio.com/items?itemName=DEVSENSE.profiler-php-vscode"; homepage = "https://github.com/DEVSENSE/phptools-docs"; license = lib.licenses.unfree; - maintainers = [ lib.maintainers.drupol ]; + maintainers = [ ]; }; }; @@ -1587,8 +1589,8 @@ let # semver scheme, contrary to preview versions which are listed on # the VSCode Marketplace and use a calver scheme. We should avoid # using preview versions, because they expire after two weeks. - version = "17.1.1"; - hash = "sha256-hlhq4bR3v0AqI3lxilgNEgjjEEBVL0xfvIWbV/Ronh4="; + version = "17.2.0"; + hash = "sha256-jruhqXJfCACYBFUbPCL22nhqCSrm1QFSMIpsPguQ6J8="; }; meta = { changelog = "https://marketplace.visualstudio.com/items/eamodio.gitlens/changelog"; @@ -2101,8 +2103,8 @@ let mktplcRef = { name = "vscode-github-actions"; publisher = "github"; - version = "0.27.1"; - hash = "sha256-mHKaWXSyDmsdQVzMqJI6ctNUwE/6bs1ZyeAEWKg9CV8="; + version = "0.27.2"; + hash = "sha256-yWQQxYRdU5WWaIiGvCtLYH3mrwDv+frm2ml1S1KPThk="; }; meta = { description = "Visual Studio Code extension for GitHub Actions workflows and runs for github.com hosted repositories"; @@ -2129,8 +2131,8 @@ let mktplcRef = { name = "gitlab-workflow"; publisher = "gitlab"; - version = "6.21.0"; - hash = "sha256-vaOAk4ovQjUcnBtxqMlRstYLvR6uzmqGk3Sx6zV6wvY="; + version = "6.25.0"; + hash = "sha256-Y4NeeT2CddHj++hE0JxionmEPQHaIeibsrwztCjHYHs="; }; meta = { description = "GitLab extension for Visual Studio Code"; @@ -2514,8 +2516,8 @@ let mktplcRef = { name = "Ionide-fsharp"; publisher = "Ionide"; - version = "7.25.10"; - hash = "sha256-2d12itLc9qBZZ7nQNS/80K46dde2RUKpkWgPwFxogIs="; + version = "7.26.2"; + hash = "sha256-Ox2L39Q3XsnktThVaLP0JxqJlvvkJXaZsdBE2A2ntAc="; }; meta = { changelog = "https://marketplace.visualstudio.com/items/Ionide.Ionide-fsharp/changelog"; @@ -2777,8 +2779,8 @@ let mktplcRef = { name = "language-julia"; publisher = "julialang"; - version = "1.141.2"; - hash = "sha256-i5mY037rs65BKiQLvUbu9Lup2ljhZI0owqjZ0AUsXMw="; + version = "1.144.2"; + hash = "sha256-9OFMQc5Y+979wYkd3qyuLuw7bRBMcsTQ9uSd2ea5cxk="; }; meta = { changelog = "https://marketplace.visualstudio.com/items/julialang.language-julia/changelog"; @@ -2884,8 +2886,8 @@ let mktplcRef = { name = "vscode-cfn-lint"; publisher = "kddejong"; - version = "0.26.5"; - hash = "sha256-/DSGwHkXu6auCN1KZ3pJnMC6PnCHIhXDkCD5oE2fYdk="; + version = "0.26.6"; + hash = "sha256-83hvz4nqpOxou5tFmiXyuUgWjRnTrOu42R+pRJdNbwU="; }; nativeBuildInputs = [ @@ -2960,8 +2962,8 @@ let mktplcRef = { name = "vscord"; publisher = "leonardssh"; - version = "5.3.2"; - hash = "sha256-kj1D0X6Wj088nwgFlWZkPG+zaHsqb0MapycPIfRWEIk="; + version = "5.3.5"; + hash = "sha256-b5osn7UeSkr8gnLZ/PkrxS0WmgHUwfS0jnwTc1Uw0Sg="; }; meta = { description = "Highly customizable Discord Rich Presence extension for Visual Studio Code"; @@ -2978,8 +2980,8 @@ let mktplcRef = { publisher = "llvm-vs-code-extensions"; name = "vscode-clangd"; - version = "0.1.33"; - hash = "sha256-NAQ7qT99vudcb/R55pKY3M5H6sV32aB4P8IWZKVQJas="; + version = "0.2.0"; + hash = "sha256-I5cvu+DKtpE0s9IzLl487FnqfGeBsueHY9CTP/o2XyU="; }; meta = { description = "C/C++ completion, navigation, and insights"; @@ -3350,8 +3352,8 @@ let mktplcRef = { name = "vscode-kubernetes-tools"; publisher = "ms-kubernetes-tools"; - version = "1.3.23"; - hash = "sha256-8s1fuuTwUPd1Z32EqZNloD50KaFlPOxlvMmo5D6NaE4="; + version = "1.3.24"; + hash = "sha256-LO8WWLxvLZKSpQx+iLR8RpRxnck0oZU/A0WzEeDPgyQ="; }; meta = { license = lib.licenses.mit; @@ -3575,8 +3577,8 @@ let mktplcRef = { name = "remote-containers"; publisher = "ms-vscode-remote"; - version = "0.413.0"; - hash = "sha256-OLi4gSjoz+TRgkb5UH1u6UTNfEF8ZgawrcXFDkoJtIc="; + version = "0.417.0"; + hash = "sha256-kWen+uBzQg+N/cWKnS9UjWTbWdV/6NnZ0IgeW1QqRNM="; }; meta = { description = "Open any folder or repository inside a Docker container"; @@ -3689,6 +3691,8 @@ let myriad-dreamin.tinymist = callPackage ./myriad-dreamin.tinymist { }; + natqe.reload = callPackage ./natqe.reload { }; + naumovs.color-highlight = buildVscodeMarketplaceExtension { mktplcRef = { name = "color-highlight"; @@ -3840,6 +3844,8 @@ let oops418.nix-env-picker = callPackage ./oops418.nix-env-picker { }; + ph-hawkins.arc-plus = callPackage ./ph-hawkins.arc-plus { }; + phind.phind = buildVscodeMarketplaceExtension { mktplcRef = { name = "phind"; @@ -3938,8 +3944,8 @@ let mktplcRef = { name = "prisma"; publisher = "Prisma"; - version = "6.9.0"; - hash = "sha256-xXmGPQs/tmYLkyzRstr34X43P64BrTR+suwKTYtd/ac="; + version = "6.10.0"; + hash = "sha256-+oYDEbDMltGhyjtyCJcDaR074SzVWW48vzoOlxklojU="; }; meta = { changelog = "https://marketplace.visualstudio.com/items/Prisma.prisma/changelog"; @@ -4239,8 +4245,8 @@ let mktplcRef = { name = "sas-lsp"; publisher = "SAS"; - version = "1.14.0"; - hash = "sha256-layaVQGcIOS8tToHt99yjaFlrw0hsOoiUW66FPJz+AY="; + version = "1.15.0"; + hash = "sha256-BprmYUQhjXoqk21NxsmlrU8XiFuyWZa//JyIUoEa1Tc="; }; meta = { changelog = "https://marketplace.visualstudio.com/items/SAS.sas-lsp/changelog"; @@ -4268,8 +4274,8 @@ let mktplcRef = { name = "metals"; publisher = "scalameta"; - version = "1.51.0"; - hash = "sha256-yLSOLVxulSH4b6EitMyws3FvKub/KXZHuIBGfri9thw="; + version = "1.52.0"; + hash = "sha256-oF/NNP8PfzwQRYxV1rNgcWX6hlZasxppxa0AphQDSVg="; }; meta = { license = lib.licenses.asl20; @@ -4370,8 +4376,8 @@ let mktplcRef = { publisher = "shopify"; name = "ruby-lsp"; - version = "0.9.26"; - hash = "sha256-DKtrXdCRLZn7GzOGkp3mrH5Y5me5cE9NqpWTWCv8ZqY="; + version = "0.9.28"; + hash = "sha256-VJzj6a4CkZDoHGLds4qTkAJsccTFa9QWLIF7N4cDWp4="; }; meta = { description = "VS Code plugin for connecting with the Ruby LSP"; @@ -4487,8 +4493,8 @@ let mktplcRef = { publisher = "sonarsource"; name = "sonarlint-vscode"; - version = "4.23.0"; - hash = "sha256-ki9Dbj8g6rArjJxVm5OhB2mYFR/PUA96szNyWBtbfxc="; + version = "4.24.0"; + hash = "sha256-ZOQmCy5JGLOOqqiOOt7rz0xAC0eObhO0KUz+Bb95tLY="; }; meta.license = lib.licenses.lgpl3Only; }; @@ -4619,8 +4625,8 @@ let mktplcRef = { name = "vscode-stylelint"; publisher = "stylelint"; - version = "1.5.1"; - hash = "sha256-Sbp2zy/6PcsMlUPe94spm3JrWxBYHfd7py3f4rb+0G4="; + version = "1.5.3"; + hash = "sha256-fgMs9/gYhhHCkiKJX5rDRbiXy6gxvmLhU6blNxEoNc8="; }; meta = { description = "Official Stylelint extension for Visual Studio Code"; @@ -4692,8 +4698,8 @@ let mktplcRef = { name = "tabnine-vscode"; publisher = "tabnine"; - version = "3.287.0"; - hash = "sha256-E4ew40NNuOW9e7ZIsJjkO/4r6gbbC2IsghFbO+n27cg="; + version = "3.288.0"; + hash = "sha256-2wq7ohOIAzF2EXeSkg2ADRLMvksaIeYBDJfSbPwX9vk="; }; meta = { license = lib.licenses.mit; diff --git a/pkgs/applications/editors/vscode/extensions/detachhead.basedpyright/default.nix b/pkgs/applications/editors/vscode/extensions/detachhead.basedpyright/default.nix new file mode 100644 index 000000000000..a83bbd839dbc --- /dev/null +++ b/pkgs/applications/editors/vscode/extensions/detachhead.basedpyright/default.nix @@ -0,0 +1,22 @@ +{ + lib, + vscode-utils, + ... +}: + +vscode-utils.buildVscodeMarketplaceExtension { + mktplcRef = { + name = "basedpyright"; + publisher = "detachhead"; + version = "1.29.2"; + hash = "sha256-RNX4UG+zHAFOhp8PI6iW3YaX1ODhpwGwjLFe1MkuzZs="; + }; + meta = { + changelog = "https://github.com/detachhead/basedpyright/releases"; + description = "VS Code static type checking for Python (but based)"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=detachhead.basedpyright"; + homepage = "https://docs.basedpyright.com/"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.hasnep ]; + }; +} diff --git a/pkgs/applications/editors/vscode/extensions/github.copilot-chat/default.nix b/pkgs/applications/editors/vscode/extensions/github.copilot-chat/default.nix index 7f81447eeb4e..da862b3ce182 100644 --- a/pkgs/applications/editors/vscode/extensions/github.copilot-chat/default.nix +++ b/pkgs/applications/editors/vscode/extensions/github.copilot-chat/default.nix @@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { publisher = "github"; name = "copilot-chat"; - version = "0.27.3"; - hash = "sha256-b7zvbDzwJcHAp9tn2ibtyeErrH2KNbgqT4Ir7aqLMQg="; + version = "0.28.0"; + hash = "sha256-Pc04vtCSPlXALPnFtgQcEVa+exzfkYqFh/b8K3bUBJg="; }; meta = { diff --git a/pkgs/applications/editors/vscode/extensions/github.copilot/default.nix b/pkgs/applications/editors/vscode/extensions/github.copilot/default.nix index 8c4253b97f92..d17df25af3e3 100644 --- a/pkgs/applications/editors/vscode/extensions/github.copilot/default.nix +++ b/pkgs/applications/editors/vscode/extensions/github.copilot/default.nix @@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { publisher = "github"; name = "copilot"; - version = "1.326.0"; - hash = "sha256-bZ8Cm3bowUCWq4mMv/7rWIBOdw1U6UoH7RODz20/r9U="; + version = "1.335.0"; + hash = "sha256-GqUegNF1XIpEaQy+0v+TTyIR+EPaeXKVpH4QnvxXt9c="; }; meta = { diff --git a/pkgs/applications/editors/vscode/extensions/hashicorp.terraform/default.nix b/pkgs/applications/editors/vscode/extensions/hashicorp.terraform/default.nix index d6a72f85ceef..1fdbc79eb4ee 100644 --- a/pkgs/applications/editors/vscode/extensions/hashicorp.terraform/default.nix +++ b/pkgs/applications/editors/vscode/extensions/hashicorp.terraform/default.nix @@ -1,21 +1,32 @@ { lib, vscode-utils, + jq, + moreutils, terraform-ls, + vscode-extension-update-script, }: + vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { name = "terraform"; publisher = "hashicorp"; - version = "2.34.3"; - hash = "sha256-kE9xH0cp741aCqhrwFDW+lQxOAsdLNzCCOTWMxd+li0="; + version = "2.34.4"; + hash = "sha256-gTU37q7kh51CxqQE7KylSwEK4ubiUU5uihbFew/Fg98="; }; - postPatch = '' - substituteInPlace dist/extension.js \ - --replace-fail 'this.customBinPath=Ga("terraform").get("languageServer.path")' 'this.customBinPath = Ga("terraform").get("languageServer.path") || '${terraform-ls}/bin/terraform-ls';' + postInstall = '' + cd "$out/$installPrefix" + ${lib.getExe jq} '.contributes.configuration[0].properties."terraform.languageServer.path".default = "${terraform-ls}/bin/terraform-ls"' package.json | ${lib.getExe' moreutils "sponge"} package.json ''; + passthru.updateScript = vscode-extension-update-script { + extraArgs = [ + "--override-filename" + "pkgs/applications/editors/vscode/extensions/hashicorp.terraform/default.nix" + ]; + }; + meta = { license = lib.licenses.mit; maintainers = [ lib.maintainers.rhoriguchi ]; diff --git a/pkgs/applications/editors/vscode/extensions/language-packs.nix b/pkgs/applications/editors/vscode/extensions/language-packs.nix index 50fe8ff60c6b..04ab08d8dfac 100644 --- a/pkgs/applications/editors/vscode/extensions/language-packs.nix +++ b/pkgs/applications/editors/vscode/extensions/language-packs.nix @@ -13,7 +13,7 @@ let buildVscodeLanguagePack = { language, - version ? "1.100.2025051409", + version ? "1.101.2025061109", hash, }: buildVscodeMarketplaceExtension { @@ -41,71 +41,71 @@ in # French vscode-language-pack-fr = buildVscodeLanguagePack { language = "fr"; - hash = "sha256-W0yM1vg+g7JbCoPmyzx3xSDvq1RoQq2lc6BkDtOkF3M="; + hash = "sha256-DeloielNVsZk+1/rGlyfT49Hst+Xh/jk7BYvqNwMQuU="; }; # Italian vscode-language-pack-it = buildVscodeLanguagePack { language = "it"; - hash = "sha256-Lg6XS3VOzfIYTVCfE7wxzhXLFLug5hcTMrxp8BBKzk4="; + hash = "sha256-tc5G3O6KYP9+CI7t+B2jP9saKSbjoK7jceqrAT1lbZ8="; }; # German vscode-language-pack-de = buildVscodeLanguagePack { language = "de"; - hash = "sha256-rgAKQd5gztaVQnqAHOY9BjPhM6CZ1NKkqI+oveJRo0E="; + hash = "sha256-5fLQkZj3U175NUY2uMwrpUg3KWSb+FYV69XT995tgko="; }; # Spanish vscode-language-pack-es = buildVscodeLanguagePack { language = "es"; - hash = "sha256-5XEqcAxBlKGSmet12M1EAa7TiEzN5XyAaa9Tc/3smUM="; + hash = "sha256-OSpFOZc33jfcHWYiskqj5TIHjicdSAotXLeM9YnVycs="; }; # Russian vscode-language-pack-ru = buildVscodeLanguagePack { language = "ru"; - hash = "sha256-EnzMlQoW9zqJHXwpCcYUu/vN+SHIoluVpij8lF44RJg="; + hash = "sha256-aqpBo19NvDYFWP1a6HnNvwuS6iEUhkn4lTihqy2EQqc="; }; # Chinese (Simplified) vscode-language-pack-zh-hans = buildVscodeLanguagePack { language = "zh-hans"; - hash = "sha256-2oKthoWgXGsWsVco2bjkOyOEE5A4Tzhr+8n525Vkujk="; + hash = "sha256-mykSRH3v7uW1iu4RmNf7SnL9q1ZPLkRZwY3sv5IfNt0="; }; # Chinese (Traditional) vscode-language-pack-zh-hant = buildVscodeLanguagePack { language = "zh-hant"; - hash = "sha256-oh3EuyFzWNf+JfALlIqauUIpuDEbU9Gr2Q+/0fkCguw="; + hash = "sha256-4AXpiJfFd4PpMR89IQWTnzeU+n3ROwmM1waI+h0odro="; }; # Japanese vscode-language-pack-ja = buildVscodeLanguagePack { language = "ja"; - hash = "sha256-KRDS9q8jF9pHd8WiUxXUY6LLRUD95uVNWc78RA9rHo4="; + hash = "sha256-TGDBrATWlIDiCyOqxuGL5IHRObLRkEpwX8yo1HnvEvE="; }; # Korean vscode-language-pack-ko = buildVscodeLanguagePack { language = "ko"; - hash = "sha256-eF4M59rQG+8sz5h4zL766D/rgbcXSep/C3GdJwwRx10="; + hash = "sha256-QKnA/5/J8nwnc91BEwAxOCHHlSG8nYyDGdiwAf9A4kM="; }; # Czech vscode-language-pack-cs = buildVscodeLanguagePack { language = "cs"; - hash = "sha256-dDWWlEkU4pX9AdBOnCI/VPACXI1xq7EjeUjn7zgr8vU="; + hash = "sha256-XXQ5zXPZA9l/7QJVTtMZB7kLsM5/92anG+Mvpxq81RE="; }; # Portuguese (Brazil) vscode-language-pack-pt-br = buildVscodeLanguagePack { language = "pt-BR"; - hash = "sha256-PZR9SOHXHmyiqbaTBETDUTZkjuk2XvF5MiH/laNMCLs="; + hash = "sha256-KYRt6KXkVthDXOZ2TLNJJFjDPvpknxRSi3Fo/T37KoA="; }; # Turkish vscode-language-pack-tr = buildVscodeLanguagePack { language = "tr"; - hash = "sha256-AKO04+S9wHap7yhvCyWMT6QT7zC0Rb8XRZvrg9ROjV4="; + hash = "sha256-4qCRDHTQD1jZ/pugAfSDdWeYU0GpM9PvRWXYNcncSUA="; }; # Polish vscode-language-pack-pl = buildVscodeLanguagePack { language = "pl"; - hash = "sha256-VR7WrI4lnr3hN2GoS/ZxAZ3kEHdd+S0ZmLfOhHHkYWM="; + hash = "sha256-Cg+VpwX78HmyOHB9OGPPjSmJFHAZ4HpQ+HceFJw/FgE="; }; # Pseudo Language vscode-language-pack-qps-ploc = buildVscodeLanguagePack { language = "qps-ploc"; - hash = "sha256-nWqw3Og0VMyDM7YgUX4xrd4dgXBDXUdk4AWqaapu3EA="; + hash = "sha256-Z2qrwgziEupCEqHVGyY1WnZO3ZGM1LVDeSxmVgkEd3o="; }; } diff --git a/pkgs/applications/editors/vscode/extensions/mongodb.mongodb-vscode/default.nix b/pkgs/applications/editors/vscode/extensions/mongodb.mongodb-vscode/default.nix index 830d23ef8ddf..07d95019b5d5 100644 --- a/pkgs/applications/editors/vscode/extensions/mongodb.mongodb-vscode/default.nix +++ b/pkgs/applications/editors/vscode/extensions/mongodb.mongodb-vscode/default.nix @@ -4,8 +4,8 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { name = "mongodb-vscode"; publisher = "mongodb"; - version = "1.13.2"; - hash = "sha256-XgDFiB0LaHNC8Z9+pug6f+x/MGwtkm7a49pyfIBKkwo="; + version = "1.13.3"; + hash = "sha256-SCKo1yUnv3FVy19DHEUH1dkubGLjzZbF3Gq9YTsVpxw="; }; meta = { diff --git a/pkgs/applications/editors/vscode/extensions/ms-pyright.pyright/default.nix b/pkgs/applications/editors/vscode/extensions/ms-pyright.pyright/default.nix index f1f5d566837e..540d3bdac28e 100644 --- a/pkgs/applications/editors/vscode/extensions/ms-pyright.pyright/default.nix +++ b/pkgs/applications/editors/vscode/extensions/ms-pyright.pyright/default.nix @@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { publisher = "ms-pyright"; name = "pyright"; - version = "1.1.401"; - hash = "sha256-EkuF7GqGH30KSZzJVBJhLso6HkOi2fyzsO+fS8KQvaE="; + version = "1.1.402"; + hash = "sha256-7xVqTsf54AePrYa21Mq21cYoJfL4GRPhd6KocBIjrng="; }; meta = { diff --git a/pkgs/applications/editors/vscode/extensions/ms-python.vscode-pylance/default.nix b/pkgs/applications/editors/vscode/extensions/ms-python.vscode-pylance/default.nix index f933b986728e..b921ce256ec5 100644 --- a/pkgs/applications/editors/vscode/extensions/ms-python.vscode-pylance/default.nix +++ b/pkgs/applications/editors/vscode/extensions/ms-python.vscode-pylance/default.nix @@ -8,8 +8,8 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { name = "vscode-pylance"; publisher = "MS-python"; - version = "2025.5.1"; - hash = "sha256-6HnWqD6wTRPjkHYN6HaPHJbbK0wWk/boBtqBhuR7W7U="; + version = "2025.6.1"; + hash = "sha256-rmG57PU1kwFdogaeyxUDfJ6ZOOxWFXp+RbO7hoExvG4="; }; buildInputs = [ pyright ]; diff --git a/pkgs/applications/editors/vscode/extensions/natqe.reload/default.nix b/pkgs/applications/editors/vscode/extensions/natqe.reload/default.nix new file mode 100644 index 000000000000..f23581c2b1c0 --- /dev/null +++ b/pkgs/applications/editors/vscode/extensions/natqe.reload/default.nix @@ -0,0 +1,19 @@ +{ + lib, + vscode-utils, +}: +vscode-utils.buildVscodeMarketplaceExtension { + mktplcRef = { + name = "reload"; + publisher = "natqe"; + version = "0.0.7"; + hash = "sha256-j0Dj7YiawhPAMHe8wk8Ph4vo26IneidoGJ4C9O7Z/64="; + }; + meta = { + description = "This extension will add reload button to status bar in the right-bottom of your VSCode editor."; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=natqe.reload"; + homepage = "https://github.com/natqe/reload"; + license = lib.licenses.unfree; + maintainers = [ lib.maintainers.therobot2105 ]; + }; +} diff --git a/pkgs/applications/editors/vscode/extensions/ph-hawkins.arc-plus/default.nix b/pkgs/applications/editors/vscode/extensions/ph-hawkins.arc-plus/default.nix new file mode 100644 index 000000000000..9534fa301bd7 --- /dev/null +++ b/pkgs/applications/editors/vscode/extensions/ph-hawkins.arc-plus/default.nix @@ -0,0 +1,17 @@ +{ lib, vscode-utils }: + +vscode-utils.buildVscodeMarketplaceExtension { + mktplcRef = { + name = "arc-plus"; + publisher = "ph-hawkins"; + version = "1.0.2"; + hash = "sha256-kI8UHo16PbOSLXBG9du4Ceb+aorVGGOH17Vg6ufy/D0="; + }; + meta = { + description = "UI theme based on the Arc GTK theme while also retaining some elements of the default VS Code theme"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=ph-hawkins.arc-plus"; + homepage = "https://github.com/phil-harmoniq/arc-plus"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ aduh95 ]; + }; +} diff --git a/pkgs/applications/editors/vscode/extensions/reditorsupport.r/default.nix b/pkgs/applications/editors/vscode/extensions/reditorsupport.r/default.nix index 85359d2a95ca..b35de8c5ce0b 100644 --- a/pkgs/applications/editors/vscode/extensions/reditorsupport.r/default.nix +++ b/pkgs/applications/editors/vscode/extensions/reditorsupport.r/default.nix @@ -3,9 +3,9 @@ vscode-utils, jq, moreutils, - python311Packages, R, rPackages, + radian, }: vscode-utils.buildVscodeMarketplaceExtension { @@ -20,7 +20,7 @@ vscode-utils.buildVscodeMarketplaceExtension { moreutils ]; buildInputs = [ - python311Packages.radian + radian R rPackages.languageserver ]; @@ -28,8 +28,8 @@ vscode-utils.buildVscodeMarketplaceExtension { cd "$out/$installPrefix" jq '.contributes.configuration.properties."r.rpath.mac".default = "${lib.getExe' R "R"}"' package.json | sponge package.json jq '.contributes.configuration.properties."r.rpath.linux".default = "${lib.getExe' R "R"}"' package.json | sponge package.json - jq '.contributes.configuration.properties."r.rterm.mac".default = "${lib.getExe python311Packages.radian}"' package.json | sponge package.json - jq '.contributes.configuration.properties."r.rterm.linux".default = "${lib.getExe python311Packages.radian}"' package.json | sponge package.json + jq '.contributes.configuration.properties."r.rterm.mac".default = "${lib.getExe radian}"' package.json | sponge package.json + jq '.contributes.configuration.properties."r.rterm.linux".default = "${lib.getExe radian}"' package.json | sponge package.json ''; meta = { changelog = "https://marketplace.visualstudio.com/items/REditorSupport.r/changelog"; diff --git a/pkgs/applications/editors/vscode/extensions/rooveterinaryinc.roo-cline/default.nix b/pkgs/applications/editors/vscode/extensions/rooveterinaryinc.roo-cline/default.nix index 9cf7d817b7b6..4b3b1556c561 100644 --- a/pkgs/applications/editors/vscode/extensions/rooveterinaryinc.roo-cline/default.nix +++ b/pkgs/applications/editors/vscode/extensions/rooveterinaryinc.roo-cline/default.nix @@ -8,8 +8,8 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { publisher = "RooVeterinaryInc"; name = "roo-cline"; - version = "3.19.3"; - hash = "sha256-7GZD7oCrkGcG7B/pgXK92hL0QyyodmqyxOcRhTt5LMs="; + version = "3.20.3"; + hash = "sha256-YCO8TjUZ2IpjTkDYf/4wQgsqGEvn2bt4+yVwWlb2eUQ="; }; passthru.updateScript = vscode-extension-update-script { }; diff --git a/pkgs/applications/editors/vscode/extensions/saoudrizwan.claude-dev/default.nix b/pkgs/applications/editors/vscode/extensions/saoudrizwan.claude-dev/default.nix index 7c651c2425dd..2b4fdc758840 100644 --- a/pkgs/applications/editors/vscode/extensions/saoudrizwan.claude-dev/default.nix +++ b/pkgs/applications/editors/vscode/extensions/saoudrizwan.claude-dev/default.nix @@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { name = "claude-dev"; publisher = "saoudrizwan"; - version = "3.17.11"; - hash = "sha256-z98AhLZwAR31u4GfEzzd41sCQ3kSu5xJTKDZQZ3ZZYQ="; + version = "3.17.14"; + hash = "sha256-pYO1uy1Xd2+74rbc0D+MwK8xvSpmDeRLAVIjAR/F23w="; }; meta = { diff --git a/pkgs/applications/editors/vscode/extensions/visualjj.visualjj/default.nix b/pkgs/applications/editors/vscode/extensions/visualjj.visualjj/default.nix index 79aed61d8b0c..33a1ea90272f 100644 --- a/pkgs/applications/editors/vscode/extensions/visualjj.visualjj/default.nix +++ b/pkgs/applications/editors/vscode/extensions/visualjj.visualjj/default.nix @@ -11,26 +11,26 @@ vscode-utils.buildVscodeMarketplaceExtension { sources = { "x86_64-linux" = { arch = "linux-x64"; - hash = "sha256-tnZh8WioZ4EtooQlM5RYQkvWO35PPeNTAyCbMQ4raXE="; + hash = "sha256-3JEqkFY1vuI11HdM+X1rZkbVOrFpykAy7CdYxtyfu+0="; }; "x86_64-darwin" = { arch = "darwin-x64"; - hash = "sha256-tkZRGO1W0QA/aEW2BqyPhmGt06yTvrsQ4Xp8jmbzPP0="; + hash = "sha256-yqb0PdhSpCecUxEO2ZUpFzn1wZcaDcfvFPXJW0gYgh4="; }; "aarch64-linux" = { arch = "linux-arm64"; - hash = "sha256-hoZf3ofcPHkqyWwfL79Hnu5pzcLKRHD5PVOBjTXq828="; + hash = "sha256-CUpfezfvhVSROFBV8ZI9W+DpwxyH6QLvhOOO8O5PYag="; }; "aarch64-darwin" = { arch = "darwin-arm64"; - hash = "sha256-qZnHSdcby7FNb1+EUB4O8dK30xtZWS4m07m8je0/CHI="; + hash = "sha256-AGc6wI15C7tZJAJ8yfx1xlQ8wQj/f8S3xHKwp+C/5x4="; }; }; in { name = "visualjj"; publisher = "visualjj"; - version = "0.15.0"; + version = "0.15.1"; } // sources.${stdenvNoCC.hostPlatform.system} or (throw "Unsupported system ${stdenvNoCC.hostPlatform.system}"); diff --git a/pkgs/applications/editors/vscode/generic.nix b/pkgs/applications/editors/vscode/generic.nix index 0f1ad0aca010..be51acc0b3ac 100644 --- a/pkgs/applications/editors/vscode/generic.nix +++ b/pkgs/applications/editors/vscode/generic.nix @@ -53,6 +53,7 @@ useVSCodeRipgrep ? false, ripgrep, hasVsceSign ? false, + patchVSCodePath ? true, }: stdenv.mkDerivation ( @@ -262,9 +263,13 @@ stdenv.mkDerivation ( mkdir -p "$out/share/pixmaps" cp "$out/lib/${libraryName}/resources/app/resources/linux/code.png" "$out/share/pixmaps/${iconName}.png" + '' + + (lib.optionalString patchVSCodePath '' # Override the previously determined VSCODE_PATH with the one we know to be correct sed -i "/ELECTRON=/iVSCODE_PATH='$out/lib/${libraryName}'" "$out/bin/${executableName}" grep -q "VSCODE_PATH='$out/lib/${libraryName}'" "$out/bin/${executableName}" # check if sed succeeded + '') + + '' # Remove native encryption code, as it derives the key from the executable path which does not work for us. # The credentials should be stored in a secure keychain already, so the benefit of this is questionable diff --git a/pkgs/applications/editors/vscode/update-shell.nix b/pkgs/applications/editors/vscode/update-shell.nix deleted file mode 100644 index 03ad77807222..000000000000 --- a/pkgs/applications/editors/vscode/update-shell.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ - pkgs ? import ../../../.. { }, -}: - -# Ideally, pkgs points to default.nix file of Nixpkgs official tree -with pkgs; - -mkShell { - packages = [ - bash - curl - gawk - gnugrep - gnused - jq - nix - nix-prefetch - nix-prefetch-scripts - ]; -} diff --git a/pkgs/applications/editors/vscode/update-vscode.sh b/pkgs/applications/editors/vscode/update-vscode.sh index d1df522f4024..e839bc194082 100755 --- a/pkgs/applications/editors/vscode/update-vscode.sh +++ b/pkgs/applications/editors/vscode/update-vscode.sh @@ -1,53 +1,26 @@ #! /usr/bin/env nix-shell -#! nix-shell update-shell.nix -i bash - -# Update script for the vscode versions and hashes. -# Usually doesn't need to be called by hand, -# but is called by a bot: https://github.com/samuela/nixpkgs-upkeep/actions -# Call it by hand if the bot fails to automatically update the versions. +#!nix-shell -i bash -p bash curl gawk gnugrep gnused jq nix nix-prefetch nix-prefetch-scripts common-updater-scripts set -eou pipefail -ROOT="$(dirname "$(readlink -f "$0")")" -if [ ! -f "$ROOT/vscode.nix" ]; then - echo "ERROR: cannot find vscode.nix in $ROOT" - exit 1 +latestVersion=$(curl --fail --silent https://api.github.com/repos/Microsoft/vscode/releases/latest | jq --raw-output .tag_name) +currentVersion=$(nix eval --raw -f . vscode.version) + +echo "latest version: $latestVersion" +echo "current version: $currentVersion" + +if [[ "$latestVersion" == "$currentVersion" ]]; then + echo "package is up-to-date" + exit 0 fi -# VSCode +update-source-version vscode $latestVersion -VSCODE_VER=$(curl --fail --silent https://api.github.com/repos/Microsoft/vscode/releases/latest | jq --raw-output .tag_name) -sed -i "s/version = \".*\"/version = \"${VSCODE_VER}\"/" "$ROOT/vscode.nix" +systems=$(nix eval --json -f . vscode.meta.platforms | jq --raw-output '.[]') +for system in $systems; do + hash=$(nix hash convert --to sri --hash-algo sha256 $(nix-prefetch-url $(nix eval --raw -f . vscode.src.url --system "$system"))) + update-source-version vscode $latestVersion $hash --system=$system --ignore-same-version --ignore-same-hash +done -TEMP_FOLDER=$(mktemp -d) - -VSCODE_X64_LINUX_URL="https://update.code.visualstudio.com/${VSCODE_VER}/linux-x64/stable" - -# Split output by newlines into Bash array -readarray -t VSCODE_X64_LINUX <<< $(nix-prefetch-url --print-path ${VSCODE_X64_LINUX_URL}) - -sed -i "s/x86_64-linux = \".\{52\}\"/x86_64-linux = \"${VSCODE_X64_LINUX[0]}\"/" "$ROOT/vscode.nix" - -tar xf ${VSCODE_X64_LINUX[1]} -C $TEMP_FOLDER -VSCODE_COMMIT=$(jq --raw-output .commit $TEMP_FOLDER/VSCode-linux-x64/resources/app/product.json) -sed -i "s/rev = \".\{40\}\"/rev = \"${VSCODE_COMMIT}\"/" "$ROOT/vscode.nix" - -SERVER_X64_LINUX_URL="https://update.code.visualstudio.com/commit:${VSCODE_COMMIT}/server-linux-x64/stable" -SERVER_X64_LINUX_SHA256=$(nix-prefetch-url ${SERVER_X64_LINUX_URL}) -sed -i "s/sha256 = \".\{51,52\}\"/sha256 = \"${SERVER_X64_LINUX_SHA256}\"/" "$ROOT/vscode.nix" - -VSCODE_X64_DARWIN_URL="https://update.code.visualstudio.com/${VSCODE_VER}/darwin/stable" -VSCODE_X64_DARWIN_SHA256=$(nix-prefetch-url ${VSCODE_X64_DARWIN_URL}) -sed -i "s/x86_64-darwin = \".\{52\}\"/x86_64-darwin = \"${VSCODE_X64_DARWIN_SHA256}\"/" "$ROOT/vscode.nix" - -VSCODE_AARCH64_LINUX_URL="https://update.code.visualstudio.com/${VSCODE_VER}/linux-arm64/stable" -VSCODE_AARCH64_LINUX_SHA256=$(nix-prefetch-url ${VSCODE_AARCH64_LINUX_URL}) -sed -i "s/aarch64-linux = \".\{52\}\"/aarch64-linux = \"${VSCODE_AARCH64_LINUX_SHA256}\"/" "$ROOT/vscode.nix" - -VSCODE_AARCH64_DARWIN_URL="https://update.code.visualstudio.com/${VSCODE_VER}/darwin-arm64/stable" -VSCODE_AARCH64_DARWIN_SHA256=$(nix-prefetch-url ${VSCODE_AARCH64_DARWIN_URL}) -sed -i "s/aarch64-darwin = \".\{52\}\"/aarch64-darwin = \"${VSCODE_AARCH64_DARWIN_SHA256}\"/" "$ROOT/vscode.nix" - -VSCODE_ARMV7L_LINUX_URL="https://update.code.visualstudio.com/${VSCODE_VER}/linux-armhf/stable" -VSCODE_ARMV7L_LINUX_SHA256=$(nix-prefetch-url ${VSCODE_ARMV7L_LINUX_URL}) -sed -i "s/armv7l-linux = \".\{52\}\"/armv7l-linux = \"${VSCODE_ARMV7L_LINUX_SHA256}\"/" "$ROOT/vscode.nix" +rev=$(curl --fail --silent https://api.github.com/repos/Microsoft/vscode/git/ref/tags/$latestVersion | jq --raw-output .object.sha) +update-source-version vscode $rev --version-key=rev --source-key=vscodeServer.src --ignore-same-version --ignore-same-hash diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix index d3b1618f0ad8..1a49065fdcfb 100644 --- a/pkgs/applications/editors/vscode/vscode.nix +++ b/pkgs/applications/editors/vscode/vscode.nix @@ -1,7 +1,7 @@ { + lib, stdenv, stdenvNoCC, - lib, callPackage, fetchurl, nixosTests, @@ -34,24 +34,24 @@ let archive_fmt = if stdenv.hostPlatform.isDarwin then "zip" else "tar.gz"; - sha256 = + hash = { - x86_64-linux = "0kd4nb8b17j7ii5lhq4cih62pghb4j9gylgz9yqippxivzzkq6dd"; - x86_64-darwin = "1y96sp3lkm32fnhjak2js11m9qf8155gglp9g83ynv9d8sdy14ya"; - aarch64-linux = "162wac7s0l4pq6r6sh32lh69j90rna430z57ksb6g9w8spqzqnv4"; - aarch64-darwin = "1rqq131f1hs2z14ddh7sp6flwsgb58r8nw1ydbcclcmzi3vbdgr9"; - armv7l-linux = "06czqpzwlrx98bv2vmawjxxmzw9z6bcfxikp7nxhi8qp8nsjfvgy"; + x86_64-linux = "sha256-Rr7JNWloV4VkgGk9zDEnD/WRHSYv5su8UrOSIl3247c="; + x86_64-darwin = "sha256-hHAJVmFKwD0Z8YyqvNlM4SpWnSIniVvdMwR3fhk/mKE="; + aarch64-linux = "sha256-/pYykG/1IJU7aJ9wtO5oo3dUdCGtfxklre0SGMpgnq8="; + aarch64-darwin = "sha256-pWMCQlgxoJ4EGfycuz3H76r9Sc3x006el1ITOM6E4wE="; + armv7l-linux = "sha256-M0fK1n/HMuNQvN85I4g5GV8QAg3n6vQtR6V/B1PFAwQ="; } .${system} or throwSystem; in callPackage ./generic.nix rec { # Please backport all compatible updates to the stable release. # This is important for the extension ecosystem. - version = "1.100.3"; + version = "1.101.1"; pname = "vscode" + lib.optionalString isInsiders "-insiders"; # This is used for VS Code - Remote SSH test - rev = "258e40fedc6cb8edf399a463ce3a9d32e7e1f6f3"; + rev = "18e3a1ec544e6907be1e944a94c496e302073435"; executableName = "code" + lib.optionalString isInsiders "-insiders"; longName = "Visual Studio Code" + lib.optionalString isInsiders " - Insiders"; @@ -61,7 +61,7 @@ callPackage ./generic.nix rec { src = fetchurl { name = "VSCode_${version}_${plat}.${archive_fmt}"; url = "https://update.code.visualstudio.com/${version}/${plat}/stable"; - inherit sha256; + inherit hash; }; # We don't test vscode on CI, instead we test vscodium @@ -75,7 +75,7 @@ callPackage ./generic.nix rec { src = fetchurl { name = "vscode-server-${rev}.tar.gz"; url = "https://update.code.visualstudio.com/commit:${rev}/server-linux-x64/stable"; - sha256 = "0bd04p4i5hkkccglw5x3vxf4vbq9hj83gdwfnaps5yskcqizhw77"; + hash = "sha256-Myq0OUrwv6bq53Q5FDCVtt+wfGlEX2bjz9CMeVLfd+4="; }; stdenv = stdenvNoCC; }; @@ -91,7 +91,7 @@ callPackage ./generic.nix rec { hasVsceSign = true; - meta = with lib; { + meta = { description = '' Open source source code editor developed by Microsoft for Windows, Linux and macOS @@ -106,8 +106,8 @@ callPackage ./generic.nix rec { ''; homepage = "https://code.visualstudio.com/"; downloadPage = "https://code.visualstudio.com/Updates"; - license = licenses.unfree; - maintainers = with maintainers; [ + license = lib.licenses.unfree; + maintainers = with lib.maintainers; [ eadwu synthetica bobby285271 diff --git a/pkgs/applications/editors/vscode/vscodium.nix b/pkgs/applications/editors/vscode/vscodium.nix index e72dacf46971..71a9af93d1fa 100644 --- a/pkgs/applications/editors/vscode/vscodium.nix +++ b/pkgs/applications/editors/vscode/vscodium.nix @@ -26,11 +26,11 @@ let hash = { - x86_64-linux = "sha256-4zLMqwIFMfeZBuHDmaORx+BK9vqxe0SMwSKUyqVYtb8="; - x86_64-darwin = "sha256-RzvRknMzZPdM2sd/nRIYSWN7TUJ/uBl3NL4H3+ckAUI="; - aarch64-linux = "sha256-rfsfgWmX24783VM9srcCZHNIeCSV1I9J7NoFjtXqdBc="; - aarch64-darwin = "sha256-3fcO8Wy0703j4y2TCe6O5tSuAMSW3kLzxrZ5ztgN9r8="; - armv7l-linux = "sha256-7Qk0V7sZeBohqCp1ciEtccGj073ZYXvvLsxMZ40ZqFg="; + x86_64-linux = "sha256-8ICeLN4KZo3kg0QSGgDqwnulMf4wligZZTeXQ+dC61U="; + x86_64-darwin = "sha256-4UDb678hbstvnkySzwI8uhgoR4pmL7KXv9gYLdhigkg="; + aarch64-linux = "sha256-dMsyOV4HFF4xZuUzOBOhVru1XfNu14Ga/2iX2ux07qY="; + aarch64-darwin = "sha256-lcX3562Aj994+vWQNcDTOVkSJ/zhH0GRjlNlNxoZUXg="; + armv7l-linux = "sha256-iSqVoTppc5WDBLRCFhy1hNtovCxeN2bpcvBW4Gqu2+U="; } .${system} or throwSystem; @@ -41,7 +41,7 @@ callPackage ./generic.nix rec { # Please backport all compatible updates to the stable release. # This is important for the extension ecosystem. - version = "1.100.33714"; + version = "1.101.14098"; pname = "vscodium"; executableName = "codium"; diff --git a/pkgs/applications/emulators/box64/default.nix b/pkgs/applications/emulators/box64/default.nix index 04c4f768e9bd..537998c47eb3 100644 --- a/pkgs/applications/emulators/box64/default.nix +++ b/pkgs/applications/emulators/box64/default.nix @@ -21,15 +21,22 @@ assert stdenv.mkDerivation (finalAttrs: { pname = "box64"; - version = "0.3.4"; + version = "0.3.6"; src = fetchFromGitHub { owner = "ptitSeb"; repo = "box64"; rev = "v${finalAttrs.version}"; - hash = "sha256-CY5Emg5TsMVs++2EukhVzqn9440kF/BO8HZGQgCpGu4="; + hash = "sha256-Z8r7aonVj7VSifgLKx/L7VRdGNnQtTvS4mjI+2+uPxY="; }; + # Setting cpu doesn't seem to work (or maybe isn't enough / gets overwritten by the wrapper's arch flag?), errors about unsupported instructions for target + # (this is for code that gets executed conditionally if the cpu at runtime supports their features, so setting this should be fine) + postPatch = '' + substituteInPlace CMakeLists.txt \ + --replace-fail 'ASMFLAGS -pipe -mcpu=cortex-a76' 'ASMFLAGS -pipe -march=armv8.2-a+fp16+dotprod' + ''; + nativeBuildInputs = [ cmake python3 diff --git a/pkgs/applications/emulators/cdemu/gui.nix b/pkgs/applications/emulators/cdemu/gui.nix index 779f21ac2f20..90523e12ead6 100644 --- a/pkgs/applications/emulators/cdemu/gui.nix +++ b/pkgs/applications/emulators/cdemu/gui.nix @@ -9,6 +9,7 @@ intltool, adwaita-icon-theme, gdk-pixbuf, + libappindicator-gtk3, }: python3Packages.buildPythonApplication { @@ -35,6 +36,7 @@ python3Packages.buildPythonApplication { libnotify adwaita-icon-theme gdk-pixbuf + libappindicator-gtk3 ]; propagatedBuildInputs = with python3Packages; [ pygobject3 ]; diff --git a/pkgs/applications/emulators/cdemu/libmirage.nix b/pkgs/applications/emulators/cdemu/libmirage.nix index 811dc33858cc..257ce5ea44ac 100644 --- a/pkgs/applications/emulators/cdemu/libmirage.nix +++ b/pkgs/applications/emulators/cdemu/libmirage.nix @@ -4,6 +4,7 @@ cmake, pkg-config, gobject-introspection, + vala, glib, libsndfile, zlib, @@ -48,6 +49,7 @@ stdenv.mkDerivation { pkg-config intltool gobject-introspection + vala ]; propagatedBuildInputs = [ pcre diff --git a/pkgs/applications/emulators/libretro/cores/beetle-psx.nix b/pkgs/applications/emulators/libretro/cores/beetle-psx.nix index 0655fef98a6e..198b9270c2e0 100644 --- a/pkgs/applications/emulators/libretro/cores/beetle-psx.nix +++ b/pkgs/applications/emulators/libretro/cores/beetle-psx.nix @@ -8,13 +8,13 @@ }: mkLibretroCore { core = "mednafen-psx" + lib.optionalString withHw "-hw"; - version = "0-unstable-2025-05-30"; + version = "0-unstable-2025-06-06"; src = fetchFromGitHub { owner = "libretro"; repo = "beetle-psx-libretro"; - rev = "67c0bb961e7679aa8f1882ee6411ce34cef084db"; - hash = "sha256-4hkKf61h/0FVE9nQub2YN0mOpql7dwmVngckagWLCuc="; + rev = "271a967e78dfe2e5936523e3ba52ce6f3c2fa870"; + hash = "sha256-P8SAX/JujHRnPSSIb9m2fXLHUt20RTJbfjsCrP9jh/U="; }; extraBuildInputs = lib.optionals withHw [ diff --git a/pkgs/applications/emulators/libretro/cores/dosbox-pure.nix b/pkgs/applications/emulators/libretro/cores/dosbox-pure.nix index 95ddc703f354..743821705917 100644 --- a/pkgs/applications/emulators/libretro/cores/dosbox-pure.nix +++ b/pkgs/applications/emulators/libretro/cores/dosbox-pure.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "dosbox-pure"; - version = "0-unstable-2025-06-03"; + version = "0-unstable-2025-06-14"; src = fetchFromGitHub { owner = "schellingb"; repo = "dosbox-pure"; - rev = "ee1ff009d8edf87c668bc5d1aa6d6f1320b8b654"; - hash = "sha256-3vIw73T47gTS2A9PBJuZGBNlDiXPNabsj4YopXLMMIY="; + rev = "bdabec1651380f3f736eecff8d859090ae822f9b"; + hash = "sha256-plUeFjkUSbWKs/TZHqQLR5MtOgWLNZLUg7QedtR+/Vo="; }; hardeningDisable = [ "format" ]; diff --git a/pkgs/applications/emulators/libretro/cores/easyrpg.nix b/pkgs/applications/emulators/libretro/cores/easyrpg.nix index e95d443f06f4..288204631657 100644 --- a/pkgs/applications/emulators/libretro/cores/easyrpg.nix +++ b/pkgs/applications/emulators/libretro/cores/easyrpg.nix @@ -1,64 +1,73 @@ { lib, fetchFromGitHub, + mkLibretroCore, + nix-update-script, + asciidoctor, cmake, - fetchpatch, + doxygen, + pkg-config, + flac, + fluidsynth, fmt, freetype, + glib, harfbuzz, + lhasa, liblcf, libpng, libsndfile, + libsysprof-capture, libvorbis, libxmp, - mkLibretroCore, mpg123, + nlohmann_json, opusfile, - pcre, + pcre2, pixman, - pkg-config, speexdsp, + wildmidi, }: -mkLibretroCore { +mkLibretroCore rec { core = "easyrpg"; - version = "0.8-unstable-2023-04-29"; + # liblcf needs to be updated before this. + version = "0.8.1.1"; src = fetchFromGitHub { owner = "EasyRPG"; repo = "Player"; - rev = "f8e41f43b619413f95847536412b56f85307d378"; - hash = "sha256-nvWM4czTv/GxY9raomBEn7dmKBeLtSA9nvjMJxc3Q8s="; + rev = version; + hash = "sha256-2a8IdYP6Suc8a+Np5G+xoNzuPxkk9gAgR+sjdKUf89M="; fetchSubmodules = true; }; extraNativeBuildInputs = [ + asciidoctor cmake + doxygen pkg-config ]; extraBuildInputs = [ + flac # needed by libsndfile + fluidsynth fmt freetype + glib harfbuzz + lhasa liblcf libpng libsndfile + libsysprof-capture # needed by glib libvorbis libxmp mpg123 + nlohmann_json opusfile - pcre + pcre2 # needed by glib pixman speexdsp - ]; - patches = [ - # The following patch is shared with easyrpg-player. - # Update when new versions of liblcf and easyrpg-player are released. - # See easyrpg-player expression for details. - (fetchpatch { - name = "0001-Fix-building-with-fmtlib-10.patch"; - url = "https://github.com/EasyRPG/Player/commit/ab6286f6d01bada649ea52d1f0881dde7db7e0cf.patch"; - hash = "sha256-GdSdVFEG1OJCdf2ZIzTP+hSrz+ddhTMBvOPjvYQHy54="; - }) + wildmidi ]; cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" @@ -67,12 +76,13 @@ mkLibretroCore { ]; makefile = "Makefile"; - # Do not update automatically since we want to pin a specific version - passthru.updateScript = null; + # Since liblcf needs to be updated before this, we should not + # use the default unstableGitUpdater. + passthru.updateScript = nix-update-script { }; meta = { description = "EasyRPG Player libretro port"; homepage = "https://github.com/EasyRPG/Player"; - license = lib.licenses.gpl3Only; + license = lib.licenses.gpl3Plus; }; } diff --git a/pkgs/applications/emulators/libretro/cores/fbneo.nix b/pkgs/applications/emulators/libretro/cores/fbneo.nix index 60ea66263875..95a53443d719 100644 --- a/pkgs/applications/emulators/libretro/cores/fbneo.nix +++ b/pkgs/applications/emulators/libretro/cores/fbneo.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "fbneo"; - version = "0-unstable-2025-05-28"; + version = "0-unstable-2025-06-09"; src = fetchFromGitHub { owner = "libretro"; repo = "fbneo"; - rev = "60d812a5a25b7f6cc7df2842264b67847e51122b"; - hash = "sha256-4HJZXsgUp0do7T0bwPPuuyoN7XIII3DSzk6LsLqZQeQ="; + rev = "a087cca4b133bdb7bb5d8d359500a0bf663928b8"; + hash = "sha256-Z3WB4d9me7PDwOsICRdz+u93MTSkTGt8vZtfRvZEcEw="; }; makefile = "Makefile"; diff --git a/pkgs/applications/emulators/libretro/cores/flycast.nix b/pkgs/applications/emulators/libretro/cores/flycast.nix index f5ad35c6edce..b497f3d0d18d 100644 --- a/pkgs/applications/emulators/libretro/cores/flycast.nix +++ b/pkgs/applications/emulators/libretro/cores/flycast.nix @@ -8,13 +8,13 @@ }: mkLibretroCore { core = "flycast"; - version = "0-unstable-2025-06-01"; + version = "0-unstable-2025-06-06"; src = fetchFromGitHub { owner = "flyinghead"; repo = "flycast"; - rev = "d9ec0cb3ab0ce383f24f86d023e1889b7f37c5c7"; - hash = "sha256-MwXq+qhba+PNS1e2LS3CduWcdO3Tm0OS8ny1Gq3Zo5s="; + rev = "8f033723a1b3437c8e3c8b42a92331eebe53ed0b"; + hash = "sha256-RrWBN8RDAS7RcIOouU3x2Pv/RKrshrmmmCZCeXQ6upk="; fetchSubmodules = true; }; diff --git a/pkgs/applications/emulators/libretro/cores/gambatte.nix b/pkgs/applications/emulators/libretro/cores/gambatte.nix index 03b379bde0e1..f4932af2b942 100644 --- a/pkgs/applications/emulators/libretro/cores/gambatte.nix +++ b/pkgs/applications/emulators/libretro/cores/gambatte.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "gambatte"; - version = "0-unstable-2025-05-16"; + version = "0-unstable-2025-06-13"; src = fetchFromGitHub { owner = "libretro"; repo = "gambatte-libretro"; - rev = "0b95f252ba9cdb366b4d87e6236b0a63f4305cba"; - hash = "sha256-EcTd5ihZcdQ2LJNy8jcD4g6+PhR1Jialjd3xa6tZMew="; + rev = "811b1f7a56c16f8588caada36d7a3f9a56cb16d4"; + hash = "sha256-pPLUvlwRoVMRcCGyxqot2QAanKmQWknk5uF4rRZ41zY="; }; meta = { diff --git a/pkgs/applications/emulators/libretro/cores/genesis-plus-gx.nix b/pkgs/applications/emulators/libretro/cores/genesis-plus-gx.nix index b3774f5cbc4f..740d4758a4bc 100644 --- a/pkgs/applications/emulators/libretro/cores/genesis-plus-gx.nix +++ b/pkgs/applications/emulators/libretro/cores/genesis-plus-gx.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "genesis-plus-gx"; - version = "0-unstable-2025-05-23"; + version = "0-unstable-2025-06-13"; src = fetchFromGitHub { owner = "libretro"; repo = "Genesis-Plus-GX"; - rev = "d2a3d8a03ac76c01543da22c20d3654de890ee97"; - hash = "sha256-d8YqkzeMc7Q07YTDUH1bxzscDY/1CGf3V0BIuFdqV+A="; + rev = "def3a7c0e413ef35a7d9d4430e5c9c9a5698b4fe"; + hash = "sha256-MCLPReWzW+NsEVtt4ySplLzGKGAaNXgDtoPYJC2yY3I="; }; meta = { diff --git a/pkgs/applications/emulators/libretro/cores/handy.nix b/pkgs/applications/emulators/libretro/cores/handy.nix index fe046d5eaf38..4d9f9ec997f7 100644 --- a/pkgs/applications/emulators/libretro/cores/handy.nix +++ b/pkgs/applications/emulators/libretro/cores/handy.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "handy"; - version = "0-unstable-2024-10-21"; + version = "0-unstable-2025-06-16"; src = fetchFromGitHub { owner = "libretro"; repo = "libretro-handy"; - rev = "4e9e072796e5552a9d57f6ab83b3f85f27b17fb6"; - hash = "sha256-ThzFEqLCX2JC06n6GZgkGzX5sFY5CxFDjkeekXRmbXY="; + rev = "fca239207e9c111da3e85d2faf0b1b9d7524e498"; + hash = "sha256-8RpRhGgW5JWY6TZa9CEaXF66WpbjcjprorVqu+FGYu0="; }; makefile = "Makefile"; diff --git a/pkgs/applications/emulators/libretro/cores/mupen64plus.nix b/pkgs/applications/emulators/libretro/cores/mupen64plus.nix index ae8fdad83733..db7abe097359 100644 --- a/pkgs/applications/emulators/libretro/cores/mupen64plus.nix +++ b/pkgs/applications/emulators/libretro/cores/mupen64plus.nix @@ -12,13 +12,13 @@ }: mkLibretroCore { core = "mupen64plus-next"; - version = "0-unstable-2025-03-04"; + version = "0-unstable-2025-06-04"; src = fetchFromGitHub { owner = "libretro"; repo = "mupen64plus-libretro-nx"; - rev = "7c7f11061f29b2ccd5d0952e2373ae5b55cfea8f"; - hash = "sha256-KUx1lUffGY5mqElHNGVttjsNMrgl4qRIM91jesgavF4="; + rev = "0346d3ef26016bb4de604cf918d004bd791447ee"; + hash = "sha256-DV6X94BHr97S1jW3zNUDx6w35JcEnSFNgv6fCi2amek="; }; # Fix for GCC 14 @@ -41,11 +41,13 @@ mkLibretroCore { }) ]; + extraNativeBuildInputs = [ + nasm + ]; extraBuildInputs = [ libGLU libGL libpng - nasm xorg.libX11 ]; makefile = "Makefile"; diff --git a/pkgs/applications/emulators/libretro/cores/play.nix b/pkgs/applications/emulators/libretro/cores/play.nix index 71bfa87ec7e6..08cef36027aa 100644 --- a/pkgs/applications/emulators/libretro/cores/play.nix +++ b/pkgs/applications/emulators/libretro/cores/play.nix @@ -14,13 +14,13 @@ }: mkLibretroCore { core = "play"; - version = "0-unstable-2025-05-23"; + version = "0-unstable-2025-06-13"; src = fetchFromGitHub { owner = "jpd002"; repo = "Play-"; - rev = "0bd77c19fbbdb83e98988fc5b7944dbeee9eee3e"; - hash = "sha256-L99pyfhuMf40MXMAFz/aGmp+i7LjosubQXQZd4XzkHY="; + rev = "011be1b24fcafd4e5c2262538bd37dfe42a2cd05"; + hash = "sha256-fcIDh5ydfbwwdlP0KcGNekjUt+uiDe/spzPLOwvLeUI="; fetchSubmodules = true; }; diff --git a/pkgs/applications/emulators/libretro/cores/ppsspp.nix b/pkgs/applications/emulators/libretro/cores/ppsspp.nix index 83143f3ccdd9..e857f79702a2 100644 --- a/pkgs/applications/emulators/libretro/cores/ppsspp.nix +++ b/pkgs/applications/emulators/libretro/cores/ppsspp.nix @@ -13,13 +13,13 @@ }: mkLibretroCore { core = "ppsspp"; - version = "0-unstable-2025-05-29"; + version = "0-unstable-2025-06-19"; src = fetchFromGitHub { owner = "hrydgard"; repo = "ppsspp"; - rev = "9bebc1233017c7869f8a3e1025026803d968ef81"; - hash = "sha256-Un97Xa7Nt+v7T356Gdk0EZTOPMmlkv6Xl/2dilGhsxw="; + rev = "b0df912935040b572aaa08d6a8d99f8b45e3da80"; + hash = "sha256-qsCUZgaGy79wd1MRz5gVQmHyyVM1wDRlwZj8Qh3j7yU="; fetchSubmodules = true; }; diff --git a/pkgs/applications/emulators/libretro/cores/same_cdi.nix b/pkgs/applications/emulators/libretro/cores/same_cdi.nix index d322d5ced1a5..517fd721caea 100644 --- a/pkgs/applications/emulators/libretro/cores/same_cdi.nix +++ b/pkgs/applications/emulators/libretro/cores/same_cdi.nix @@ -2,7 +2,7 @@ lib, alsa-lib, fetchFromGitHub, - gcc12Stdenv, + fetchpatch2, libGL, libGLU, mkLibretroCore, @@ -21,6 +21,15 @@ mkLibretroCore { hash = "sha256-EGE3NuO0gpZ8MKPypH8rFwJiv4QsdKuIyLKVuKTcvws="; }; + patches = [ + (fetchpatch2 { + # https://github.com/libretro/same_cdi/pull/19 + name = "Fixes_compilation_errors_as_per_issue_9.patch"; + url = "https://github.com/libretro/same_cdi/commit/bf3212315546cdd514118a4f3ea764fd9c401091.patch?full_index=1"; + hash = "sha256-1vrMxnRtEWUt+6I/4PSfCPDIUAGKkXFd2UVr9473ngo="; + }) + ]; + extraNativeBuildInputs = [ python3 ]; extraBuildInputs = [ alsa-lib @@ -29,9 +38,6 @@ mkLibretroCore { portaudio xorg.libX11 ]; - # FIXME = build fail with GCC13: - # error = 'uint8_t' in namespace 'std' does not name a type; did you mean 'wint_t'? - stdenv = gcc12Stdenv; meta = { description = "SAME_CDI is a libretro core to play CD-i games"; diff --git a/pkgs/applications/emulators/libretro/cores/snes9x.nix b/pkgs/applications/emulators/libretro/cores/snes9x.nix index d2031ec06789..d206e6afbe98 100644 --- a/pkgs/applications/emulators/libretro/cores/snes9x.nix +++ b/pkgs/applications/emulators/libretro/cores/snes9x.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "snes9x"; - version = "0-unstable-2025-05-03"; + version = "0-unstable-2025-06-13"; src = fetchFromGitHub { owner = "snes9xgit"; repo = "snes9x"; - rev = "97bc6b08b1da511fa449ecb412ca74fa54f4a3fb"; - hash = "sha256-BZTpQACkjFxk9QsDievu8NHYkJiRAQ0jAuD4LlkrZ7A="; + rev = "a93dd67c516061c3390506eb26e0457a264f86b6"; + hash = "sha256-IOxYhDkrd9TgzEGiCM2HQxUiTv3Icmc0JE6216PqbYg="; }; makefile = "Makefile"; diff --git a/pkgs/applications/emulators/libretro/cores/stella.nix b/pkgs/applications/emulators/libretro/cores/stella.nix index 96e5b6afdad9..e499fe2f887a 100644 --- a/pkgs/applications/emulators/libretro/cores/stella.nix +++ b/pkgs/applications/emulators/libretro/cores/stella.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "stella"; - version = "0-unstable-2025-05-21"; + version = "0-unstable-2025-06-12"; src = fetchFromGitHub { owner = "stella-emu"; repo = "stella"; - rev = "3d3f223a17fe065c7dee1ff440f0309eb8583009"; - hash = "sha256-RR6/zRqFUctWc+Rrbm+4Twk6GZwpPgYHgFP65sL6UN8="; + rev = "ee0b96cd87710ad19aa47156d39df5a92c156a34"; + hash = "sha256-BnDF/UC3GiBC/06zBCDYrWA5cJPv7vtJ0grYgn5CcKo="; }; makefile = "Makefile"; diff --git a/pkgs/applications/emulators/libretro/default.nix b/pkgs/applications/emulators/libretro/default.nix index 7cac65848810..46faa0f29e9b 100644 --- a/pkgs/applications/emulators/libretro/default.nix +++ b/pkgs/applications/emulators/libretro/default.nix @@ -4,7 +4,7 @@ }: lib.makeScope newScope (self: { - mkLibretroCore = self.callPackage ./mkLibretroCore.nix; + mkLibretroCore = self.callPackage ./mkLibretroCore.nix { }; atari800 = self.callPackage ./cores/atari800.nix { }; diff --git a/pkgs/applications/emulators/libretro/mkLibretroCore.nix b/pkgs/applications/emulators/libretro/mkLibretroCore.nix index 892f5798c4d9..1702f150e4ee 100644 --- a/pkgs/applications/emulators/libretro/mkLibretroCore.nix +++ b/pkgs/applications/emulators/libretro/mkLibretroCore.nix @@ -6,96 +6,93 @@ retroarch-bare, unstableGitUpdater, zlib, - # Params - core, - makefile ? "Makefile.libretro", - extraBuildInputs ? [ ], - extraNativeBuildInputs ? [ ], - ## Location of resulting RetroArch core on $out - libretroCore ? "/lib/retroarch/cores", - ## The core filename is derived from the core name - ## Setting `normalizeCore` to `true` will convert `-` to `_` on the core filename - normalizeCore ? true, - ... -}@args: +}: -let - d2u = if normalizeCore then (lib.replaceStrings [ "-" ] [ "_" ]) else (x: x); - coreDir = placeholder "out" + libretroCore; - coreFilename = "${d2u core}_libretro${stdenv.hostPlatform.extensions.sharedLibrary}"; - mainProgram = "retroarch-${core}"; - extraArgs = builtins.removeAttrs args [ - "lib" - "stdenv" - "makeWrapper" - "retroarch-bare" - "unstableGitUpdater" - "zlib" +lib.extendMkDerivation { + constructDrv = stdenv.mkDerivation; + excludeDrvArgNames = [ "core" "extraBuildInputs" "extraNativeBuildInputs" "libretroCore" - "makefile" "normalizeCore" - "passthru" - "meta" ]; -in -stdenv.mkDerivation ( - { - pname = "libretro-${core}"; - buildInputs = [ zlib ] ++ extraBuildInputs; - nativeBuildInputs = [ makeWrapper ] ++ extraNativeBuildInputs; + extendDrvArgs = + finalAttrs: + { + core, + enableParallelBuilding ? true, + extraBuildInputs ? [ ], + extraNativeBuildInputs ? [ ], + makeFlags ? [ ], + makefile ? "Makefile.libretro", + meta ? { }, + passthru ? { }, + strictDeps ? true, + ## Location of resulting RetroArch core on $out + libretroCore ? "/lib/retroarch/cores", + ## The core filename is derived from the core name + ## Setting `normalizeCore` to `true` will convert `-` to `_` on the core filename + normalizeCore ? true, + ... + }: + let + d2u = if normalizeCore then (lib.replaceStrings [ "-" ] [ "_" ]) else (x: x); + coreDir = placeholder "out" + libretroCore; + coreFilename = "${d2u core}_libretro${stdenv.hostPlatform.extensions.sharedLibrary}"; + mainProgram = "retroarch-${core}"; + in + { + pname = "libretro-${core}"; - inherit makefile; + buildInputs = [ zlib ] ++ extraBuildInputs; + nativeBuildInputs = [ makeWrapper ] ++ extraNativeBuildInputs; - makeFlags = [ - "platform=${ - { - linux = "unix"; - darwin = "osx"; - windows = "win"; - } - .${stdenv.hostPlatform.parsed.kernel.name} or stdenv.hostPlatform.parsed.kernel.name - }" - "ARCH=${ - { - armv7l = "arm"; - armv6l = "arm"; - aarch64 = "arm64"; - i686 = "x86"; - } - .${stdenv.hostPlatform.parsed.cpu.name} or stdenv.hostPlatform.parsed.cpu.name - }" - ] ++ (args.makeFlags or [ ]); + inherit enableParallelBuilding makefile strictDeps; - installPhase = '' - runHook preInstall + makeFlags = [ + "platform=${ + { + linux = "unix"; + darwin = "osx"; + windows = "win"; + } + .${stdenv.hostPlatform.parsed.kernel.name} or stdenv.hostPlatform.parsed.kernel.name + }" + "ARCH=${ + { + armv7l = "arm"; + armv6l = "arm"; + aarch64 = "arm64"; + i686 = "x86"; + } + .${stdenv.hostPlatform.parsed.cpu.name} or stdenv.hostPlatform.parsed.cpu.name + }" + ] ++ makeFlags; - install -Dt ${coreDir} ${coreFilename} - makeWrapper ${retroarch-bare}/bin/retroarch $out/bin/${mainProgram} \ - --add-flags "-L ${coreDir}/${coreFilename}" + installPhase = '' + runHook preInstall - runHook postInstall - ''; + install -Dt ${coreDir} ${coreFilename} + makeWrapper ${retroarch-bare}/bin/retroarch $out/bin/${mainProgram} \ + --add-flags "-L ${coreDir}/${coreFilename}" - enableParallelBuilding = true; + runHook postInstall + ''; - passthru = { - inherit core libretroCore; - # libretro repos sometimes has a fake tag like "Current", ignore - # it by setting hardcodeZeroVersion - updateScript = unstableGitUpdater { hardcodeZeroVersion = true; }; - } // (args.passthru or { }); + passthru = { + inherit core libretroCore; + # libretro repos sometimes has a fake tag like "Current", ignore + # it by setting hardcodeZeroVersion + updateScript = unstableGitUpdater { hardcodeZeroVersion = true; }; + } // passthru; - meta = { - inherit mainProgram; - inherit (retroarch-bare.meta) platforms; - homepage = "https://www.libretro.com/"; - teams = [ lib.teams.libretro ]; - } // (args.meta or { }); - } - // extraArgs -) + meta = { + inherit mainProgram; + inherit (retroarch-bare.meta) platforms; + teams = [ lib.teams.libretro ]; + } // meta; + }; +} diff --git a/pkgs/applications/graphics/drawio/default.nix b/pkgs/applications/graphics/drawio/default.nix index 8925a2f2d576..f9ad7182c1ca 100644 --- a/pkgs/applications/graphics/drawio/default.nix +++ b/pkgs/applications/graphics/drawio/default.nix @@ -57,6 +57,9 @@ stdenv.mkDerivation rec { export HOME="$TMPDIR" yarn config --offline set yarn-offline-mirror "$offlineCache" fixup-yarn-lock yarn.lock + # Ensure that the node_modules folder is created by yarn install. + # See https://github.com/yarnpkg/yarn/issues/5500#issuecomment-1221456246 + echo "nodeLinker: node-modules" > .yarnrc.yml yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive patchShebangs node_modules/ diff --git a/pkgs/applications/graphics/feh/default.nix b/pkgs/applications/graphics/feh/default.nix index fcc62660dc0f..4d74eb8c0fff 100644 --- a/pkgs/applications/graphics/feh/default.nix +++ b/pkgs/applications/graphics/feh/default.nix @@ -75,7 +75,6 @@ stdenv.mkDerivation (finalAttrs: { maintainers = with maintainers; [ gepbird globin - willibutz ]; platforms = platforms.unix; mainProgram = "feh"; diff --git a/pkgs/applications/graphics/rawtherapee/default.nix b/pkgs/applications/graphics/rawtherapee/default.nix index 378706775928..f6c1a774886f 100644 --- a/pkgs/applications/graphics/rawtherapee/default.nix +++ b/pkgs/applications/graphics/rawtherapee/default.nix @@ -37,13 +37,13 @@ stdenv.mkDerivation rec { pname = "rawtherapee"; - version = "5.11"; + version = "5.12"; src = fetchFromGitHub { - owner = "Beep6581"; + owner = "RawTherapee"; repo = "RawTherapee"; - rev = version; - hash = "sha256-jIAbguwF2aqRTk72ro5oHNTawA7biPSFC41YHgRR730="; + tag = version; + hash = "sha256-h8eWnw9I1R0l9WAI/DylsdA241qU9NhYGEPYz+JlE18="; # The developers ask not to use the tarball from Github releases, see # https://www.rawtherapee.com/downloads/5.10/#news-relevant-to-package-maintainers forceFetchGit = true; diff --git a/pkgs/applications/graphics/sane/backends/default.nix b/pkgs/applications/graphics/sane/backends/default.nix index 03bccb1b17e6..66fd491c99a4 100644 --- a/pkgs/applications/graphics/sane/backends/default.nix +++ b/pkgs/applications/graphics/sane/backends/default.nix @@ -43,13 +43,13 @@ stdenv.mkDerivation rec { pname = "sane-backends"; - version = "1.3.1"; + version = "1.4.0"; src = fetchFromGitLab { owner = "sane-project"; repo = "backends"; rev = "refs/tags/${version}"; - hash = "sha256-4mwPGeRsyzngDxBQ8/48mK+VR9LYV6082xr8lTrUZrk="; + hash = "sha256-e7Wjda+CobYatblvVCGkMAO2aWrdSCp7q+qIEGnGDCY="; }; postPatch = '' diff --git a/pkgs/applications/graphics/seamly2d/default.nix b/pkgs/applications/graphics/seamly2d/default.nix index 27f2c3627fda..d125d56fb4d7 100644 --- a/pkgs/applications/graphics/seamly2d/default.nix +++ b/pkgs/applications/graphics/seamly2d/default.nix @@ -18,13 +18,13 @@ let in stdenv.mkDerivation rec { pname = "seamly2d"; - version = "2025.5.5.213"; + version = "2025.6.9.216"; src = fetchFromGitHub { owner = "FashionFreedom"; repo = "Seamly2D"; tag = "v${version}"; - hash = "sha256-jcdk10TcyfPXStM+iRSaOTHczv4K+9JS2h+e/+ArtD0="; + hash = "sha256-2fQFCVoSap1kv3mD91UEvol9JvZjXL7f9KR3St+XqaU="; }; buildInputs = [ diff --git a/pkgs/applications/graphics/tesseract/tesseract5.nix b/pkgs/applications/graphics/tesseract/tesseract5.nix index 4c1442b42b96..6050f7ba94e2 100644 --- a/pkgs/applications/graphics/tesseract/tesseract5.nix +++ b/pkgs/applications/graphics/tesseract/tesseract5.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation rec { pname = "tesseract"; - version = "5.5.0"; + version = "5.5.1"; src = fetchFromGitHub { owner = "tesseract-ocr"; repo = "tesseract"; rev = version; - sha256 = "sha256-qyckAQZs3gR1NBqWgE+COSKXhv3kPF+iHVQrt6OPi8s="; + sha256 = "sha256-bLTYdT9CNfgrmmjP6m0rRqJDHiSOkcuGVCFwPqT12jk="; }; enableParallelBuilding = true; diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix index c89d01584238..68f295594d51 100644 --- a/pkgs/applications/misc/gpxsee/default.nix +++ b/pkgs/applications/misc/gpxsee/default.nix @@ -11,6 +11,7 @@ qtserialport, qtsvg, wrapQtAppsHook, + wrapGAppsHook3, }: let @@ -18,13 +19,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "gpxsee"; - version = "13.43"; + version = "13.44"; src = fetchFromGitHub { owner = "tumic0"; repo = "GPXSee"; tag = finalAttrs.version; - hash = "sha256-IP5l8YUsCNm9rixgpQqbyyhfcBNQgrZha1MNjetug2c="; + hash = "sha256-eFANrUMESQVsZwTfz20VW2Qf7hiSgtkeKszCiJ8i/jk="; }; buildInputs = @@ -48,8 +49,15 @@ stdenv.mkDerivation (finalAttrs: { qmake qttools wrapQtAppsHook + wrapGAppsHook3 ]; + dontWrapGApps = true; + + preFixup = '' + qtWrapperArgs+=(''${gappsWrapperArgs[@]}) + ''; + preConfigure = '' lrelease gpxsee.pro ''; diff --git a/pkgs/applications/misc/meerk40t/default.nix b/pkgs/applications/misc/meerk40t/default.nix index 5043e43ddee6..1795dd5c9480 100644 --- a/pkgs/applications/misc/meerk40t/default.nix +++ b/pkgs/applications/misc/meerk40t/default.nix @@ -9,14 +9,14 @@ python3Packages.buildPythonApplication rec { pname = "MeerK40t"; - version = "0.9.7030"; + version = "0.9.7051"; pyproject = true; src = fetchFromGitHub { owner = "meerk40t"; repo = pname; tag = version; - hash = "sha256-3UO2M4mDzRdzhS+H2gyzJo5W4JWGK+qt1Gg9LHGmdOY="; + hash = "sha256-v3lwFl4Qls+NzR2rYwNF8PyFTH0nNcLlF/uwc0h3Pc0="; }; nativeBuildInputs = diff --git a/pkgs/applications/misc/organicmaps/default.nix b/pkgs/applications/misc/organicmaps/default.nix index 51109c49051c..1af095e1faaa 100644 --- a/pkgs/applications/misc/organicmaps/default.nix +++ b/pkgs/applications/misc/organicmaps/default.nix @@ -33,13 +33,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "organicmaps"; - version = "2025.05.20-5"; + version = "2025.06.12-3"; src = fetchFromGitHub { owner = "organicmaps"; repo = "organicmaps"; tag = "${finalAttrs.version}-android"; - hash = "sha256-cqcFI5cXREOeHusPkXsMwdCopzpea50mZQ/+ogLlemk="; + hash = "sha256-hOSa3soCDvRHUMKg+IYtzBdzJ9S5X5z3+Ynd5JJgLTs="; fetchSubmodules = true; }; diff --git a/pkgs/applications/misc/osmscout-server/default.nix b/pkgs/applications/misc/osmscout-server/default.nix index c7680b8f2dfb..00719698e9b8 100644 --- a/pkgs/applications/misc/osmscout-server/default.nix +++ b/pkgs/applications/misc/osmscout-server/default.nix @@ -1,10 +1,11 @@ { lib, - mkDerivation, + stdenv, fetchFromGitHub, pkg-config, qmake, qttools, + wrapQtAppsHook, boost, kirigami2, kyotocabinet, @@ -24,19 +25,19 @@ let date = fetchFromGitHub { owner = "HowardHinnant"; repo = "date"; - rev = "a2fdba1adcb076bf9a8343c07524afdf09aa8dcc"; - sha256 = "00sf1pbaz0g0gsa0dlm23lxk4h46xm1jv1gzbjj5rr9sf1qccyr5"; + rev = "a45ea7c17b4a7f320e199b71436074bd624c9e15"; + hash = "sha256-Mq7Yd+y8M3JNG9BEScwVEmxGWYEy6gaNNSlTGgR9LB4="; }; in -mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "osmscout-server"; - version = "3.1.0"; + version = "3.1.5"; src = fetchFromGitHub { owner = "rinigus"; repo = "osmscout-server"; - rev = version; - hash = "sha256-GqUXHn3ZK8gdDlm3TitEp/jhBpQoVeQZUCfAyiyrDEg="; + tag = finalAttrs.version; + hash = "sha256-gmAHX7Gt2oAvTSTCypAjzI5a9TWOPDAYAMD1i1fJVUY="; fetchSubmodules = true; }; @@ -44,7 +45,9 @@ mkDerivation rec { qmake pkg-config qttools + wrapQtAppsHook ]; + buildInputs = [ kirigami2 qtquickcontrols2 @@ -67,11 +70,11 @@ mkDerivation rec { "CONFIG+=disable_mapnik" # Disable the optional mapnik backend ]; - meta = with lib; { + meta = { description = "Maps server providing tiles, geocoder, and router"; homepage = "https://github.com/rinigus/osmscout-server"; - license = licenses.gpl3Only; - maintainers = [ maintainers.Thra11 ]; - platforms = platforms.linux; + license = lib.licenses.gpl3Only; + maintainers = [ lib.maintainers.Thra11 ]; + platforms = lib.platforms.linux; }; -} +}) diff --git a/pkgs/applications/misc/pagefind/default.nix b/pkgs/applications/misc/pagefind/default.nix index 7d2864a4de2b..76aef72d9736 100644 --- a/pkgs/applications/misc/pagefind/default.nix +++ b/pkgs/applications/misc/pagefind/default.nix @@ -5,7 +5,6 @@ fetchFromGitHub, fetchNpmDeps, fetchurl, - httplz, binaryen, gzip, nodejs, @@ -88,30 +87,11 @@ rustPlatform.buildRustPackage rec { # patch a build-time dependency download ( - realpath $cargoDepsCopy/* | grep lindera-unidic # debug for when version number changes - cd $cargoDepsCopy/lindera-unidic-0.32.2 - #oldHash=$(sha256sum build.rs | cut -d " " -f 1) + patch -d $cargoDepsCopy/lindera-assets-*/ -p1 < ${./lindera-assets-support-file-paths.patch} - # serve lindera-unidic on localhost vacant port - httplz_port="${ - if stdenv.buildPlatform.isDarwin then - ''$(python -c 'import socket; s=socket.socket(); s.bind(("", 0)); print(s.getsockname()[1]); s.close()')'' - else - "34567" - }" - mkdir .lindera-http-plz - ln -s ${lindera-unidic-src} .lindera-http-plz/unidic-mecab-2.1.2.tar.gz - httplz --port "$httplz_port" -- .lindera-http-plz/ & - echo $! >$TMPDIR/.httplz_pid - - # file:// does not work - substituteInPlace build.rs --replace-fail \ - "https://dlwqk3ibdg1xh.cloudfront.net/unidic-mecab-2.1.2.tar.gz" \ - "http://localhost:$httplz_port/unidic-mecab-2.1.2.tar.gz" - - # not needed with useFetchCargoVendor=true, but kept in case it is required again - #newHash=$(sha256sum build.rs | cut -d " " -f 1) - #substituteInPlace .cargo-checksum.json --replace-fail $oldHash $newHash + substituteInPlace $cargoDepsCopy/lindera-unidic-*/build.rs --replace-fail \ + "${lindera-unidic-src.url}" \ + "file://${lindera-unidic-src}" ) ''; @@ -126,7 +106,6 @@ rustPlatform.buildRustPackage rec { rustc.llvmPackages.lld wasm-bindgen-cli_0_2_92 wasm-pack - httplz ] ++ lib.optionals stdenv.buildPlatform.isDarwin [ python3 @@ -162,11 +141,6 @@ rustPlatform.buildRustPackage rec { ) ''; - # the file is also fetched during checkPhase - preInstall = '' - kill ${lib.optionalString stdenv.hostPlatform.isDarwin "-9"} $(cat $TMPDIR/.httplz_pid) - ''; - buildFeatures = [ "extended" ]; doInstallCheck = true; diff --git a/pkgs/applications/misc/pagefind/lindera-assets-support-file-paths.patch b/pkgs/applications/misc/pagefind/lindera-assets-support-file-paths.patch new file mode 100644 index 000000000000..57462c07ecf4 --- /dev/null +++ b/pkgs/applications/misc/pagefind/lindera-assets-support-file-paths.patch @@ -0,0 +1,30 @@ +diff --git a/src/lib.rs b/src/lib.rs +index 6f86cc4..a9ca418 100644 +--- a/src/lib.rs ++++ b/src/lib.rs +@@ -128,12 +128,17 @@ pub fn fetch(params: FetchParams, builder: impl DictionaryBuilder) -> Result<(), + // copy(&source_path, &source_path_for_build)?; + let tmp_path = Path::new(&build_dir).join(params.file_name.to_owned() + ".download"); + ++ if let Some(path) = params.download_url.strip_prefix("file://") { ++ std::fs::copy(path, &tmp_path)?; ++ } ++ else { + // Download a tarball + let resp = ureq::get(params.download_url).call()?; + let mut dest = File::create(&tmp_path)?; + + io::copy(&mut resp.into_reader(), &mut dest)?; + dest.flush()?; ++ } + + rename(tmp_path, source_path_for_build).expect("Failed to rename temporary file"); + +@@ -153,7 +158,6 @@ pub fn fetch(params: FetchParams, builder: impl DictionaryBuilder) -> Result<(), + archive.unpack(&tmp_extract_path)?; + rename(tmp_extracted_path, &input_dir).expect("Failed to rename archive directory"); + let _ = std::fs::remove_dir_all(&tmp_extract_path); +- drop(dest); + let _ = std::fs::remove_file(source_path_for_build); + } + diff --git a/pkgs/applications/misc/prusa-slicer/allow_wayland.patch b/pkgs/applications/misc/prusa-slicer/allow_wayland.patch new file mode 100644 index 000000000000..e780335d00f0 --- /dev/null +++ b/pkgs/applications/misc/prusa-slicer/allow_wayland.patch @@ -0,0 +1,54 @@ +commit c9282b73f3d09daff23a2603addd94605596ebe7 +Author: Robert Schiele +Date: Thu May 8 19:16:46 2025 +0200 + + remove forcing GDK_BACKEND to x11 + + It seems the problems on Wayland from the past are removed meanwhile. + +diff --git a/src/CLI/GuiParams.cpp b/src/CLI/GuiParams.cpp +index f44b91651f..41b42ff368 100644 +--- a/src/CLI/GuiParams.cpp ++++ b/src/CLI/GuiParams.cpp +@@ -107,9 +107,8 @@ int start_gui_with_params(GUI::GUI_InitParams& params) + #if !defined(_WIN32) && !defined(__APPLE__) + // likely some linux / unix system + const char* display = boost::nowide::getenv("DISPLAY"); +- // const char *wayland_display = boost::nowide::getenv("WAYLAND_DISPLAY"); +- //if (! ((display && *display) || (wayland_display && *wayland_display))) { +- if (!(display && *display)) { ++ const char *wayland_display = boost::nowide::getenv("WAYLAND_DISPLAY"); ++ if (! ((display && *display) || (wayland_display && *wayland_display))) { + // DISPLAY not set. + boost::nowide::cerr << "DISPLAY not set, GUI mode not available." << std::endl << std::endl; + print_help(false); +@@ -141,4 +140,4 @@ int start_as_gcode_viewer(GUI::GUI_InitParams& gui_params) + } + #else // SLIC3R_GUI + // If there is no GUI, we shall ignore the parameters. Remove them from the list. +-#endif // SLIC3R_GUI +\ No newline at end of file ++#endif // SLIC3R_GUI +diff --git a/src/CLI/Setup.cpp b/src/CLI/Setup.cpp +index 82e03d466d..95acdf3477 100644 +--- a/src/CLI/Setup.cpp ++++ b/src/CLI/Setup.cpp +@@ -212,11 +212,6 @@ static bool setup_common() + save_main_thread_id(); + + #ifdef __WXGTK__ +- // On Linux, wxGTK has no support for Wayland, and the app crashes on +- // startup if gtk3 is used. This env var has to be set explicitly to +- // instruct the window manager to fall back to X server mode. +- ::setenv("GDK_BACKEND", "x11", /* replace */ true); +- + // https://github.com/prusa3d/PrusaSlicer/issues/12969 + ::setenv("WEBKIT_DISABLE_COMPOSITING_MODE", "1", /* replace */ false); + ::setenv("WEBKIT_DISABLE_DMABUF_RENDERER", "1", /* replace */ false); +@@ -338,4 +333,4 @@ bool setup(Data& cli, int argc, char** argv) + return true; + } + +-} +\ No newline at end of file ++} diff --git a/pkgs/applications/misc/prusa-slicer/default.nix b/pkgs/applications/misc/prusa-slicer/default.nix index ae04c2e6ff59..fe9260366fdb 100644 --- a/pkgs/applications/misc/prusa-slicer/default.nix +++ b/pkgs/applications/misc/prusa-slicer/default.nix @@ -3,7 +3,6 @@ lib, binutils, fetchFromGitHub, - fetchpatch, cmake, pkg-config, wrapGAppsHook3, @@ -28,17 +27,18 @@ opencascade-occt_7_6_1, openvdb, qhull, - tbb_2021_11, + tbb_2021, wxGTK32, xorg, libbgcode, heatshrink, - catch2, + catch2_3, webkitgtk_4_1, ctestCheckHook, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, systemd, udevCheckHook, + z3, wxGTK-override ? null, opencascade-override ? null, }: @@ -54,43 +54,44 @@ let hash = "sha256-WNdAYu66ggpSYJ8Kt57yEA4mSTv+Rvzj9Rm1q765HpY="; }; }); - openvdb_tbb_2021_8 = openvdb.override { tbb = tbb_2021_11; }; + openvdb_tbb_2021_8 = openvdb.override { tbb = tbb_2021; }; wxGTK-override' = if wxGTK-override == null then wxGTK32 else wxGTK-override; opencascade-override' = if opencascade-override == null then opencascade-occt_7_6_1 else opencascade-override; in stdenv.mkDerivation (finalAttrs: { pname = "prusa-slicer"; - version = "2.9.0"; + version = "2.9.2"; src = fetchFromGitHub { owner = "prusa3d"; repo = "PrusaSlicer"; - hash = "sha256-6BrmTNIiu6oI/CbKPKoFQIh1aHEVfJPIkxomQou0xKk="; + hash = "sha256-j/fdEgcFq0nWBLpyapwZIbBIXCnqEWV6Tk+6sTHk/Bc="; rev = "version_${finalAttrs.version}"; }; - # https://github.com/prusa3d/PrusaSlicer/pull/14010 + # only applies to prusa slicer because super-slicer overrides *all* patches patches = [ - (fetchpatch { - url = "https://github.com/prusa3d/PrusaSlicer/commit/cdc3db58f9002778a0ca74517865527f50ade4c3.patch"; - hash = "sha256-zgpGg1jtdnCBaWjR6oUcHo5sGuZx5oEzpux3dpRdMAM="; - }) - # https://github.com/prusa3d/PrusaSlicer/pull/11769 - ./fix-ambiguous-constructors.patch + # https://github.com/NixOS/nixpkgs/issues/415703 + # https://gitlab.archlinux.org/archlinux/packaging/packages/prusa-slicer/-/merge_requests/5 + ./allow_wayland.patch ]; - # Patch required for GCC 14. # (not applicable to super-slicer fork) - # Make Gcode viewer open newer bgcode files. - postPatch = lib.optionalString (finalAttrs.pname == "prusa-slicer") '' - substituteInPlace src/slic3r-arrange/include/arrange/DataStoreTraits.hpp \ - --replace-fail \ - "WritableDataStoreTraits::template set" \ - "WritableDataStoreTraits::set" - substituteInPlace src/platform/unix/PrusaGcodeviewer.desktop \ - --replace-fail 'MimeType=text/x.gcode;' 'MimeType=application/x-bgcode;text/x.gcode;' - ''; + postPatch = lib.optionalString (finalAttrs.pname == "prusa-slicer") ( + # Patch required for GCC 14, but breaks on clang + lib.optionalString stdenv.cc.isGNU '' + substituteInPlace src/slic3r-arrange/include/arrange/DataStoreTraits.hpp \ + --replace-fail \ + "WritableDataStoreTraits::template set" \ + "WritableDataStoreTraits::set" + '' + # Make Gcode viewer open newer bgcode files. + + '' + substituteInPlace src/platform/unix/PrusaGcodeviewer.desktop \ + --replace-fail 'MimeType=text/x.gcode;' 'MimeType=application/x-bgcode;text/x.gcode;' + '' + ); nativeBuildInputs = [ cmake @@ -124,13 +125,14 @@ stdenv.mkDerivation (finalAttrs: { opencascade-override' openvdb_tbb_2021_8 qhull - tbb_2021_11 + tbb_2021 wxGTK-override' xorg.libX11 libbgcode heatshrink - catch2 + catch2_3 webkitgtk_4_1 + z3 ] ++ lib.optionals withSystemd [ systemd @@ -165,7 +167,7 @@ stdenv.mkDerivation (finalAttrs: { # dlopen(3) for context. if [ -f "src/libslic3r/Format/STEP.cpp" ]; then substituteInPlace src/libslic3r/Format/STEP.cpp \ - --replace 'libpath /= "OCCTWrapper.so";' 'libpath = "OCCTWrapper.so";' + --replace-fail 'libpath /= "OCCTWrapper.so";' 'libpath = "OCCTWrapper.so";' fi # https://github.com/prusa3d/PrusaSlicer/issues/9581 if [ -f "cmake/modules/FindEXPAT.cmake" ]; then @@ -173,8 +175,10 @@ stdenv.mkDerivation (finalAttrs: { fi # Fix resources folder location on macOS - substituteInPlace src/PrusaSlicer.cpp \ - --replace "#ifdef __APPLE__" "#if 0" + substituteInPlace src/${ + if finalAttrs.pname == "prusa-slicer" then "CLI/Setup.cpp" else "PrusaSlicer.cpp" + } \ + --replace-fail "#ifdef __APPLE__" "#if 0" ''; cmakeFlags = [ diff --git a/pkgs/applications/misc/prusa-slicer/fix-ambiguous-constructors.patch b/pkgs/applications/misc/prusa-slicer/fix-ambiguous-constructors.patch deleted file mode 100644 index 209a0d1a08a9..000000000000 --- a/pkgs/applications/misc/prusa-slicer/fix-ambiguous-constructors.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 910328f3131e24e330808f5d4cb814454dbe201d Mon Sep 17 00:00:00 2001 -From: Gregor Riepl -Date: Mon, 27 Nov 2023 13:01:55 +0100 -Subject: [PATCH] Make initializers explicit to avoid ambiguous wxArrayString - overloads - ---- - src/slic3r/GUI/PhysicalPrinterDialog.cpp | 2 +- - src/slic3r/GUI/Plater.cpp | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/slic3r/GUI/PhysicalPrinterDialog.cpp b/src/slic3r/GUI/PhysicalPrinterDialog.cpp -index 849e987c731..7d0c628c23f 100644 ---- a/src/slic3r/GUI/PhysicalPrinterDialog.cpp -+++ b/src/slic3r/GUI/PhysicalPrinterDialog.cpp -@@ -607,7 +607,7 @@ void PhysicalPrinterDialog::build_printhost_settings(ConfigOptionsGroup* m_optgr - // Always fill in the "printhost_port" combo box from the config and select it. - { - Choice* choice = dynamic_cast(m_optgroup->get_field("printhost_port")); -- choice->set_values({ m_config->opt_string("printhost_port") }); -+ choice->set_values(std::vector({ m_config->opt_string("printhost_port") })); - choice->set_selection(); - } - -diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp -index debfe625fd4..4d61e29a2dc 100644 ---- a/src/slic3r/GUI/Plater.cpp -+++ b/src/slic3r/GUI/Plater.cpp -@@ -4420,7 +4420,7 @@ void Plater::load_project(const wxString& filename) - s_multiple_beds.set_loading_project_flag(true); - ScopeGuard guard([](){ s_multiple_beds.set_loading_project_flag(false);}); - -- if (! load_files({ into_path(filename) }).empty()) { -+ if (! load_files(std::vector({ into_path(filename) })).empty()) { - // At least one file was loaded. - p->set_project_filename(filename); - // Save the names of active presets and project specific config into ProjectDirtyStateManager. diff --git a/pkgs/applications/misc/qtpass/default.nix b/pkgs/applications/misc/qtpass/default.nix index 56a43e10e360..60cfc60bd138 100644 --- a/pkgs/applications/misc/qtpass/default.nix +++ b/pkgs/applications/misc/qtpass/default.nix @@ -12,6 +12,7 @@ qttools, qmake, wrapQtAppsHook, + makeWrapper, }: stdenv.mkDerivation rec { @@ -42,6 +43,7 @@ stdenv.mkDerivation rec { qmake qttools wrapQtAppsHook + makeWrapper ]; qmakeFlags = [ @@ -60,6 +62,14 @@ stdenv.mkDerivation rec { }" ]; + installPhase = lib.optionalString stdenv.hostPlatform.isDarwin '' + runHook preInstall + mkdir -p $out/Applications + cp -r main/QtPass.app $out/Applications + makeWrapper $out/Applications/QtPass.app/Contents/MacOS/QtPass $out/bin/qtpass + runHook postInstall + ''; + postInstall = '' install -D qtpass.desktop -t $out/share/applications install -D artwork/icon.svg $out/share/icons/hicolor/scalable/apps/qtpass-icon.svg diff --git a/pkgs/applications/misc/tipp10/default.nix b/pkgs/applications/misc/tipp10/default.nix index fd3f631d6cf1..5a00508dc17f 100644 --- a/pkgs/applications/misc/tipp10/default.nix +++ b/pkgs/applications/misc/tipp10/default.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation rec { pname = "tipp10"; - version = "3.3.3"; + version = "3.3.4"; src = fetchFromGitLab { owner = "tipp10"; repo = "tipp10"; rev = "v${version}"; - hash = "sha256-OiBtUizN6OjcAb5RLvzfod6tVQo/b8p8Ec4lgKYaifw="; + hash = "sha256-q5D+8Z9dNpCXgRQtVC+0RBHK2szv7M+dwlmW4H7j2qg="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/misc/yokadi/default.nix b/pkgs/applications/misc/yokadi/default.nix index 84030033ffe0..53d8f84371ae 100644 --- a/pkgs/applications/misc/yokadi/default.nix +++ b/pkgs/applications/misc/yokadi/default.nix @@ -6,31 +6,34 @@ sqlalchemy, setproctitle, icalendar, + colorama, }: buildPythonApplication rec { pname = "yokadi"; - version = "1.2.0"; + version = "1.3.0"; src = fetchurl { url = "https://yokadi.github.io/download/${pname}-${version}.tar.gz"; - sha256 = "681c8aa52b2e4b5255e1311e76b4b81dcb63ee7f6ca3a47178e684c06baf330f"; + hash = "sha256-zF2ffHeU+i7wzu1u4DhQ5zJXr8AjXboiyFAisXNX6TM="; }; - propagatedBuildInputs = [ + dependencies = [ python-dateutil sqlalchemy setproctitle icalendar + colorama ]; # Yokadi doesn't have any tests doCheck = false; - meta = with lib; { + meta = { description = "Command line oriented, sqlite powered, todo-list"; homepage = "https://yokadi.github.io/index.html"; - license = licenses.gpl3Plus; - maintainers = [ maintainers.nkpvk ]; + mainProgram = "yokadi"; + license = lib.licenses.gpl3Plus; + maintainers = [ lib.maintainers.nkpvk ]; }; } diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index 031ac6d70db7..abc4d61c02cd 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -850,6 +850,11 @@ let enable_hangout_services_extension = true; ffmpeg_branding = "Chrome"; } + // lib.optionalAttrs stdenv.hostPlatform.isAarch64 { + # Enable v4l2 video decoder for hardware acceleratation on aarch64: + use_vaapi = false; + use_v4l2_codec = true; + } // lib.optionalAttrs pulseSupport { use_pulseaudio = true; link_pulseaudio = true; diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix index d8c3cf2e3780..990eafa06677 100644 --- a/pkgs/applications/networking/browsers/chromium/default.nix +++ b/pkgs/applications/networking/browsers/chromium/default.nix @@ -85,16 +85,6 @@ let url = "https://gn.googlesource.com/gn"; inherit (upstream-info.deps.gn) rev hash; }; - - # Relax hardening as otherwise gn unstable 2024-06-06 and later fail with: - # cc1plus: error: '-Wformat-security' ignored without '-Wformat' [-Werror=format-security] - hardeningDisable = [ "format" ]; - - # At the time of writing, gn is at v2024-05-13 and has a backported patch. - # This patch appears to be already present in v2024-09-09 (from M130), which - # results in the patch not applying and thus failing the build. - # As a work around until gn is updated again, we filter specifically that patch out. - patches = lib.filter (e: lib.getName e != "LFS64.patch") oldAttrs.patches; }); }); diff --git a/pkgs/applications/networking/browsers/chromium/info.json b/pkgs/applications/networking/browsers/chromium/info.json index d5dad782046f..ae3334e23ce0 100644 --- a/pkgs/applications/networking/browsers/chromium/info.json +++ b/pkgs/applications/networking/browsers/chromium/info.json @@ -1,10 +1,10 @@ { "chromium": { - "version": "137.0.7151.68", + "version": "137.0.7151.119", "chromedriver": { - "version": "137.0.7151.69", - "hash_darwin": "sha256-G88jte6xraXrrfEvCj7zndpQ7nxyzappuu4oZ79XY8U=", - "hash_darwin_aarch64": "sha256-wbOD/sVjLVcpPzrbAGu8b8YMbUOKkOt7eNxJDLKRjxo=" + "version": "137.0.7151.120", + "hash_darwin": "sha256-3NECoMlK57ZlCUPra20rJrZcx9FnMWvTXlcdksn8FUc=", + "hash_darwin_aarch64": "sha256-P1trGStKjTD/h+avjAXE5N6nqvAra9RDsSvrR/pTRUA=" }, "deps": { "depot_tools": { @@ -20,8 +20,8 @@ "DEPS": { "src": { "url": "https://chromium.googlesource.com/chromium/src.git", - "rev": "2989ffee9373ea8b8623bd98b3cb350a8e95cadc", - "hash": "sha256-lPmmXVCNUa9of8d52hUejImPSEfOz7v7PlovZS4cfIE=", + "rev": "e0ac9d12dff5f2d33c935958b06bf1ded7f1c08c", + "hash": "sha256-+3C2n/7bbIOpXGvBrFnSMNlgLVRMoPtOF14CDROVClI=", "recompress": true }, "src/third_party/clang-format/script": { @@ -241,8 +241,8 @@ }, "src/third_party/devtools-frontend/src": { "url": "https://chromium.googlesource.com/devtools/devtools-frontend", - "rev": "fdc8ca697612f90e7ddf2621dffbc43733d2d238", - "hash": "sha256-jKYldgZJwJeTQavmcM9enTdGN8+zt/EG7K1E9wQYIBA=" + "rev": "afc8e923a37090445d6d97ca23fea49d9eb7b9cf", + "hash": "sha256-io0J6tt0RXumjjSklZyJpALV5IikPbROd40xcrX4iBs=" }, "src/third_party/dom_distiller_js/dist": { "url": "https://chromium.googlesource.com/chromium/dom-distiller/dist.git", @@ -791,13 +791,13 @@ }, "src/v8": { "url": "https://chromium.googlesource.com/v8/v8.git", - "rev": "e398f9bf6d5c8a768ab736f46146d7349cf31547", - "hash": "sha256-cJx8IgUB3UA3jEPvb5aDvHLYmAnHydK1qR11q6Y5PnA=" + "rev": "075234cf3d7622d9d588a6f748fc4501aa23080c", + "hash": "sha256-wrLxRuJ3rq1yC0PIUGPsuDB/YNee1x3J/i6ZSLk70HM=" } } }, "ungoogled-chromium": { - "version": "137.0.7151.68", + "version": "137.0.7151.119", "deps": { "depot_tools": { "rev": "1fcc527019d786502b02f71b8b764ee674a40953", @@ -808,16 +808,16 @@ "hash": "sha256-+nKP2hBUKIqdNfDz1vGggXSdCuttOt0GwyGUQ3Z1ZHI=" }, "ungoogled-patches": { - "rev": "137.0.7151.68-1", - "hash": "sha256-oPYNvnBuBKBb1SRNQkQeApmPVDoV+bFVjCh9HKa4A8o=" + "rev": "137.0.7151.119-1", + "hash": "sha256-SMEe/Wc4cjaZfw4pQIWeblEvB9CmOJWVNkDvCKAow3Q=" }, "npmHash": "sha256-I6MsfAhrLRmgiRJ13LSejfy2N63C3Oug5tOOXA622j4=" }, "DEPS": { "src": { "url": "https://chromium.googlesource.com/chromium/src.git", - "rev": "2989ffee9373ea8b8623bd98b3cb350a8e95cadc", - "hash": "sha256-lPmmXVCNUa9of8d52hUejImPSEfOz7v7PlovZS4cfIE=", + "rev": "e0ac9d12dff5f2d33c935958b06bf1ded7f1c08c", + "hash": "sha256-+3C2n/7bbIOpXGvBrFnSMNlgLVRMoPtOF14CDROVClI=", "recompress": true }, "src/third_party/clang-format/script": { @@ -1037,8 +1037,8 @@ }, "src/third_party/devtools-frontend/src": { "url": "https://chromium.googlesource.com/devtools/devtools-frontend", - "rev": "fdc8ca697612f90e7ddf2621dffbc43733d2d238", - "hash": "sha256-jKYldgZJwJeTQavmcM9enTdGN8+zt/EG7K1E9wQYIBA=" + "rev": "afc8e923a37090445d6d97ca23fea49d9eb7b9cf", + "hash": "sha256-io0J6tt0RXumjjSklZyJpALV5IikPbROd40xcrX4iBs=" }, "src/third_party/dom_distiller_js/dist": { "url": "https://chromium.googlesource.com/chromium/dom-distiller/dist.git", @@ -1587,8 +1587,8 @@ }, "src/v8": { "url": "https://chromium.googlesource.com/v8/v8.git", - "rev": "e398f9bf6d5c8a768ab736f46146d7349cf31547", - "hash": "sha256-cJx8IgUB3UA3jEPvb5aDvHLYmAnHydK1qR11q6Y5PnA=" + "rev": "075234cf3d7622d9d588a6f748fc4501aa23080c", + "hash": "sha256-wrLxRuJ3rq1yC0PIUGPsuDB/YNee1x3J/i6ZSLk70HM=" } } } diff --git a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix deleted file mode 100644 index 98920f6ab23c..000000000000 --- a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix +++ /dev/null @@ -1,2477 +0,0 @@ -{ - version = "140.0b6"; - sources = [ - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/ach/firefox-140.0b6.tar.xz"; - locale = "ach"; - arch = "linux-x86_64"; - sha256 = "0cf9f3c0865a1dc3c327e78cfb2447f64d64a280121c78aeee4046d74116dce4"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/af/firefox-140.0b6.tar.xz"; - locale = "af"; - arch = "linux-x86_64"; - sha256 = "6a38e65b960d36ad164e71cbbd2c427ae28e68662f78182cafbccedbdaee86cb"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/an/firefox-140.0b6.tar.xz"; - locale = "an"; - arch = "linux-x86_64"; - sha256 = "93a085d3bcbf1074c309aae8dd0418dbaaa030666c16f732ba21079854f3098b"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/ar/firefox-140.0b6.tar.xz"; - locale = "ar"; - arch = "linux-x86_64"; - sha256 = "b324f71e736da3d7dce96dcae18a19e3a1ed01b2075d68d4662a740c2011662f"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/ast/firefox-140.0b6.tar.xz"; - locale = "ast"; - arch = "linux-x86_64"; - sha256 = "4c57ca12f04a176a29ce31ccbbbf4f5454b8af8e7fc14ddef6c09a7906156dbb"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/az/firefox-140.0b6.tar.xz"; - locale = "az"; - arch = "linux-x86_64"; - sha256 = "78934de24158bcb311683170a5131da2b746322e761d5fbddeb321982764fde7"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/be/firefox-140.0b6.tar.xz"; - locale = "be"; - arch = "linux-x86_64"; - sha256 = "e01175f882c4771dc533a3129178c8382c42757e4873c092da36ae8ebde4110a"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/bg/firefox-140.0b6.tar.xz"; - locale = "bg"; - arch = "linux-x86_64"; - sha256 = "39b6654edc934d89c18e9d1e9b5a9af0ce0b320d872400c2e9acda873a9c103d"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/bn/firefox-140.0b6.tar.xz"; - locale = "bn"; - arch = "linux-x86_64"; - sha256 = "f6afacf863c3d7ae32c15bf7fdb82fa6cab55a372628758d57dc603282ce0c35"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/br/firefox-140.0b6.tar.xz"; - locale = "br"; - arch = "linux-x86_64"; - sha256 = "aae4aa8ff7fd6680e5d2571379f439577950126a09eea6fe674f1bb500d4a6fd"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/bs/firefox-140.0b6.tar.xz"; - locale = "bs"; - arch = "linux-x86_64"; - sha256 = "4adf72960e23017bb0bc17c009fec323ecccd343a2fce5978c1b27207051f8aa"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/ca-valencia/firefox-140.0b6.tar.xz"; - locale = "ca-valencia"; - arch = "linux-x86_64"; - sha256 = "1f4f93108d0786912a5c18b65de23e206d1ed6456a2bcb98a4e481b21e397e09"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/ca/firefox-140.0b6.tar.xz"; - locale = "ca"; - arch = "linux-x86_64"; - sha256 = "f0be5b5097befc19b90c81f042211c6d00f934d13a9cc1b243072f02075a7738"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/cak/firefox-140.0b6.tar.xz"; - locale = "cak"; - arch = "linux-x86_64"; - sha256 = "5bf076d97c7b82cbf17bdee89a1d7c3cc79d91cfbde3a2b62238a0801778e107"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/cs/firefox-140.0b6.tar.xz"; - locale = "cs"; - arch = "linux-x86_64"; - sha256 = "9d57075e5c848034041250eb54d074daf69e77b6bcd5d9ce6f69796af0739b3d"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/cy/firefox-140.0b6.tar.xz"; - locale = "cy"; - arch = "linux-x86_64"; - sha256 = "86f5f9313a932943b0baa0ef256fe569732008e89a9a4a5c66adb8d310663d33"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/da/firefox-140.0b6.tar.xz"; - locale = "da"; - arch = "linux-x86_64"; - sha256 = "3775d07785b01441a592676a7546d689fb5ee0b378ba0204e7ac26e13eae5955"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/de/firefox-140.0b6.tar.xz"; - locale = "de"; - arch = "linux-x86_64"; - sha256 = "8a33d39219373b134b8b489d096b09d5d60362ae67d302ac4c19297221a23720"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/dsb/firefox-140.0b6.tar.xz"; - locale = "dsb"; - arch = "linux-x86_64"; - sha256 = "9ef44a1dbb19631b3efbd09980bb7763a7d3d6c709c0dc1396f0d21a6dcfba59"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/el/firefox-140.0b6.tar.xz"; - locale = "el"; - arch = "linux-x86_64"; - sha256 = "1364dbebf6329bf9e74395835f3a50377a744945a952bf0019943f3af81963c3"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/en-CA/firefox-140.0b6.tar.xz"; - locale = "en-CA"; - arch = "linux-x86_64"; - sha256 = "a9105aa0ef0560c406b7e99248ee72ec32fc1341a7853dfcbeaa19db6d33088e"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/en-GB/firefox-140.0b6.tar.xz"; - locale = "en-GB"; - arch = "linux-x86_64"; - sha256 = "b3f6af8344a975f7f6d421a55ba8d5093209b5b99bf2081192a15efd4d6977e1"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/en-US/firefox-140.0b6.tar.xz"; - locale = "en-US"; - arch = "linux-x86_64"; - sha256 = "ae3fc88078ea41f85a24ab6c4f865b476ceebef4c3a2117e02607c7afdc191a8"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/eo/firefox-140.0b6.tar.xz"; - locale = "eo"; - arch = "linux-x86_64"; - sha256 = "8cc56cc9d1b5f00356e7c060e74902c3887dd05681192d49602eb637495706d1"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/es-AR/firefox-140.0b6.tar.xz"; - locale = "es-AR"; - arch = "linux-x86_64"; - sha256 = "1f46f27b8ecf033c263d8a01cd3a5670796ce36c81ffe59c9654edf70c2efea1"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/es-CL/firefox-140.0b6.tar.xz"; - locale = "es-CL"; - arch = "linux-x86_64"; - sha256 = "6476b0ba91fb25eb196cd49afd41801bfe8ec4985200b66d09cc1d430ed7b26a"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/es-ES/firefox-140.0b6.tar.xz"; - locale = "es-ES"; - arch = "linux-x86_64"; - sha256 = "884cfa9e904ae82ad83f671f0a659e9b32471d25df13dbe666a68d526172c4ee"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/es-MX/firefox-140.0b6.tar.xz"; - locale = "es-MX"; - arch = "linux-x86_64"; - sha256 = "586e2f31126ab58c7c9ff9935e95a4f009274119f08d196c59de21907c0f0b79"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/et/firefox-140.0b6.tar.xz"; - locale = "et"; - arch = "linux-x86_64"; - sha256 = "044a218da86f3aa042834b6b4dd72f0ebfbbdafb54bc822b1f265280bbb7ae9d"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/eu/firefox-140.0b6.tar.xz"; - locale = "eu"; - arch = "linux-x86_64"; - sha256 = "7dcaf2b10df00a0d594279b1e05e346a1f7a1551b5b479f6691d95de93403158"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/fa/firefox-140.0b6.tar.xz"; - locale = "fa"; - arch = "linux-x86_64"; - sha256 = "6098121dd11f772b24d157cb0aa1eff7acc914bfe05586672350454598c09622"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/ff/firefox-140.0b6.tar.xz"; - locale = "ff"; - arch = "linux-x86_64"; - sha256 = "81d1eea86c5299adbb8c5d6076a5f7f910ef10b0620ec8aabb9551e8ff100a93"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/fi/firefox-140.0b6.tar.xz"; - locale = "fi"; - arch = "linux-x86_64"; - sha256 = "017ed1a20f955537b8641828cc168c75a1ca912a44155d035c8adc17c0723581"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/fr/firefox-140.0b6.tar.xz"; - locale = "fr"; - arch = "linux-x86_64"; - sha256 = "816b97fb48194cf5f738a05d204434c43a3619ece174825cc1d0b012d53845cf"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/fur/firefox-140.0b6.tar.xz"; - locale = "fur"; - arch = "linux-x86_64"; - sha256 = "c3b8c021459f70b7a56d47d4b6d159bce7c2e5e02d6eb01025a08f7c377310b5"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/fy-NL/firefox-140.0b6.tar.xz"; - locale = "fy-NL"; - arch = "linux-x86_64"; - sha256 = "ed00ebe292e5fcce02dc3e7a296dc8fe56b06e285f5884a89be8d3aefb0a931f"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/ga-IE/firefox-140.0b6.tar.xz"; - locale = "ga-IE"; - arch = "linux-x86_64"; - sha256 = "e0e13635b24ef4a84668d192fea83f69f066592f2baa010d2634c55b699ac257"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/gd/firefox-140.0b6.tar.xz"; - locale = "gd"; - arch = "linux-x86_64"; - sha256 = "c1dabaf4658a4a73e0de9a4e8f804f181bf304fc7c7d3542073fe8c28be39750"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/gl/firefox-140.0b6.tar.xz"; - locale = "gl"; - arch = "linux-x86_64"; - sha256 = "a4ea22f0a82a2f920e5e3398995926f93e1bb0a1cefc704cef1412bd7d7bf5fe"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/gn/firefox-140.0b6.tar.xz"; - locale = "gn"; - arch = "linux-x86_64"; - sha256 = "0998b1331fe1e87a3ca03c64d720be715d35e6bb90ff0fb8cf1ac4077ec20265"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/gu-IN/firefox-140.0b6.tar.xz"; - locale = "gu-IN"; - arch = "linux-x86_64"; - sha256 = "16f62c0e2bf9e9ad8fd807da12ffb34b1a49f1a22c93d025dc5d287c0aa186f9"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/he/firefox-140.0b6.tar.xz"; - locale = "he"; - arch = "linux-x86_64"; - sha256 = "5017fb8bae1791da686b7f8d09081334fc26c91b50790f642e4567e367b054e4"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/hi-IN/firefox-140.0b6.tar.xz"; - locale = "hi-IN"; - arch = "linux-x86_64"; - sha256 = "41e966607bd8974e25768e49e8c2ea389c19d183a5c48155be2abe489b7daea9"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/hr/firefox-140.0b6.tar.xz"; - locale = "hr"; - arch = "linux-x86_64"; - sha256 = "2cd3ae2af8f30aaedd60ca8ad4fd30d37d613c80687ee0febe8dccb0aaa954c6"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/hsb/firefox-140.0b6.tar.xz"; - locale = "hsb"; - arch = "linux-x86_64"; - sha256 = "a921b7fd7fb36227594f60a7891cd052807d4f78f7facfc888490c10bbb5019b"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/hu/firefox-140.0b6.tar.xz"; - locale = "hu"; - arch = "linux-x86_64"; - sha256 = "d7443861c49462e780638801de1e43217677110eb9c5198fcfc333b144d91ca2"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/hy-AM/firefox-140.0b6.tar.xz"; - locale = "hy-AM"; - arch = "linux-x86_64"; - sha256 = "459af37c50eda7ce2394a0f410a0daeafdb8114df77b4933bc6fbd9057b3dc30"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/ia/firefox-140.0b6.tar.xz"; - locale = "ia"; - arch = "linux-x86_64"; - sha256 = "91f680cdae1bf75398b86e6f16c20f05917efcddc5482ecef0b60aad18a215ef"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/id/firefox-140.0b6.tar.xz"; - locale = "id"; - arch = "linux-x86_64"; - sha256 = "20e45c279a9c94d3870248c511b0d3f9e002ff93f7cb4f61ee3606a76012bc81"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/is/firefox-140.0b6.tar.xz"; - locale = "is"; - arch = "linux-x86_64"; - sha256 = "fa73b2738537764133d71d2beb15e0a0b5f1b34df335b84dcc76e23f5903c47f"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/it/firefox-140.0b6.tar.xz"; - locale = "it"; - arch = "linux-x86_64"; - sha256 = "c67b03b3a21c21cc196e87a4fe44e96bc1fa7bcc138b8e9f5dd109f30a2ea27e"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/ja/firefox-140.0b6.tar.xz"; - locale = "ja"; - arch = "linux-x86_64"; - sha256 = "f748f10054ca044435d03337fb16b922a4513929186dbd6fa3954e397b4f7b9d"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/ka/firefox-140.0b6.tar.xz"; - locale = "ka"; - arch = "linux-x86_64"; - sha256 = "b764067cc3dd81cd029ee418dcb2876afcd04c5d1288e1f8e8f0fb0bc11652c2"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/kab/firefox-140.0b6.tar.xz"; - locale = "kab"; - arch = "linux-x86_64"; - sha256 = "545392d704bf3efb780b634366abc503dbbb773baa0cb4b720d8ea26c7d8d5f7"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/kk/firefox-140.0b6.tar.xz"; - locale = "kk"; - arch = "linux-x86_64"; - sha256 = "cbf09845b5ea0c2d3964bd391f699cf6c0138a65f650b538330e101aa0493a88"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/km/firefox-140.0b6.tar.xz"; - locale = "km"; - arch = "linux-x86_64"; - sha256 = "03c4299ea106f19383d8e3ee96657c4953ba7ba137c369c6f37382223fc675ea"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/kn/firefox-140.0b6.tar.xz"; - locale = "kn"; - arch = "linux-x86_64"; - sha256 = "b4f0d0cd7e89322200db11b1ad1205847b14ce53357788e4a8150b99838e3ad3"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/ko/firefox-140.0b6.tar.xz"; - locale = "ko"; - arch = "linux-x86_64"; - sha256 = "2d01bf0017f16fb0c1c0e582e8a5b67b8e2ef20ef51e953f5690b7f12ca2ebf9"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/lij/firefox-140.0b6.tar.xz"; - locale = "lij"; - arch = "linux-x86_64"; - sha256 = "636259f735696e95ce397ba0d5b7f7764702491406229dfd7425ead6e7340623"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/lt/firefox-140.0b6.tar.xz"; - locale = "lt"; - arch = "linux-x86_64"; - sha256 = "42e902162cdd874b5586f2ce2c8a9a9302dbb231928e7425259bfad3ce964db4"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/lv/firefox-140.0b6.tar.xz"; - locale = "lv"; - arch = "linux-x86_64"; - sha256 = "0604cfc1f31b65d17f019eb42296e69730674cb04862c14929cfc0f9e6508071"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/mk/firefox-140.0b6.tar.xz"; - locale = "mk"; - arch = "linux-x86_64"; - sha256 = "38d564c93c332d7c2da567b8bececf38daad80282427ad8c5056d34223d500a6"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/mr/firefox-140.0b6.tar.xz"; - locale = "mr"; - arch = "linux-x86_64"; - sha256 = "cb6bcb2c9d8f8f4fd8ea9b9084811d4eef589ce11c0fbe08a65306dabc8f0c04"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/ms/firefox-140.0b6.tar.xz"; - locale = "ms"; - arch = "linux-x86_64"; - sha256 = "e4d9a5131aa92cedde0b2708c57dc5c07ea39fc1caf5885869bb7959c51a0bdc"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/my/firefox-140.0b6.tar.xz"; - locale = "my"; - arch = "linux-x86_64"; - sha256 = "fe0317e8a76f98962e28f4e958b6af2cd159ade85c30ff742ebd6d2bf08cbb2c"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/nb-NO/firefox-140.0b6.tar.xz"; - locale = "nb-NO"; - arch = "linux-x86_64"; - sha256 = "86bd123290299872a5f2c7a5b595cf40b268b942be1d885307d0844d7bf6be4a"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/ne-NP/firefox-140.0b6.tar.xz"; - locale = "ne-NP"; - arch = "linux-x86_64"; - sha256 = "7518b27513141150a3594f11e380ca53c94f16aebdab70b47fb3e9b7bcdd5980"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/nl/firefox-140.0b6.tar.xz"; - locale = "nl"; - arch = "linux-x86_64"; - sha256 = "e90009b1e48d1569a7f58caa280301c7ec08ec96d948a35b1c9d779914bbe528"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/nn-NO/firefox-140.0b6.tar.xz"; - locale = "nn-NO"; - arch = "linux-x86_64"; - sha256 = "fea69d9a206a4551d868ee8785bb393c881248b8c3921ee72d9300af4bbb976c"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/oc/firefox-140.0b6.tar.xz"; - locale = "oc"; - arch = "linux-x86_64"; - sha256 = "1fce99f304498dc4f0b57e5b72c45f7794200ce602ea1ef164c30141242cb1d2"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/pa-IN/firefox-140.0b6.tar.xz"; - locale = "pa-IN"; - arch = "linux-x86_64"; - sha256 = "d297d30be098565a3465e9e754ef4574a86f02745582a829842809c31e7ad96f"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/pl/firefox-140.0b6.tar.xz"; - locale = "pl"; - arch = "linux-x86_64"; - sha256 = "a56a7810bbcda13feb96dc387a517fe2b17f753e90e51e25649dc1eafe395b8c"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/pt-BR/firefox-140.0b6.tar.xz"; - locale = "pt-BR"; - arch = "linux-x86_64"; - sha256 = "6c690de44032785f5b0744507cec3f8de18864b4e4b87a95d904d1eb91c2eebe"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/pt-PT/firefox-140.0b6.tar.xz"; - locale = "pt-PT"; - arch = "linux-x86_64"; - sha256 = "225790fcb18195777044676919338af8382d3d3e941035abfc7339d201cf8c9b"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/rm/firefox-140.0b6.tar.xz"; - locale = "rm"; - arch = "linux-x86_64"; - sha256 = "6a7ef06460dfd17cb3404ac37f26efad541ddbe8561a0bfbde46309595e9eff5"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/ro/firefox-140.0b6.tar.xz"; - locale = "ro"; - arch = "linux-x86_64"; - sha256 = "e117d4d651309ef6f8140156c266ac8da40fa4aa8d94eb43b9239d2f959cf063"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/ru/firefox-140.0b6.tar.xz"; - locale = "ru"; - arch = "linux-x86_64"; - sha256 = "8db80259e879eef2dff706952ca9d7ca5d19430ebcf096c554e8c6476e706364"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/sat/firefox-140.0b6.tar.xz"; - locale = "sat"; - arch = "linux-x86_64"; - sha256 = "c188276663efa50e65b425b2782fda9a48abefc927c14a5028330a1f303ecd53"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/sc/firefox-140.0b6.tar.xz"; - locale = "sc"; - arch = "linux-x86_64"; - sha256 = "86f11d795e454349c52e1e11ba27d4450057bf4ed34470ba5e247d98dbc81d48"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/sco/firefox-140.0b6.tar.xz"; - locale = "sco"; - arch = "linux-x86_64"; - sha256 = "18bc467710002822c7ea3d64dacde32ac5e63f3eff6e783a5940340094112721"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/si/firefox-140.0b6.tar.xz"; - locale = "si"; - arch = "linux-x86_64"; - sha256 = "0183d3f674a52f77eabe70bd7e4cf6ddefafbe63e4c4a7c531fe278df44b4879"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/sk/firefox-140.0b6.tar.xz"; - locale = "sk"; - arch = "linux-x86_64"; - sha256 = "87b651fc158b90391e26c5f203ef83de9f0e2e7583da32b055517f54c33fff37"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/skr/firefox-140.0b6.tar.xz"; - locale = "skr"; - arch = "linux-x86_64"; - sha256 = "d8add697f79c5b3885db3ad11e997145bf4961e6e7a3050fff60893c9d8ed7d9"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/sl/firefox-140.0b6.tar.xz"; - locale = "sl"; - arch = "linux-x86_64"; - sha256 = "a86132fb0b515b6305a028c1a5db05c19aea27ffe32bcf45e86ad787ba414091"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/son/firefox-140.0b6.tar.xz"; - locale = "son"; - arch = "linux-x86_64"; - sha256 = "44c8eb2cebf499787b53a6fb6b5935dc07edb298fac94c91d111ceaa15cee342"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/sq/firefox-140.0b6.tar.xz"; - locale = "sq"; - arch = "linux-x86_64"; - sha256 = "1b22f775d19a412d6ba6aed33637076c1d232fcfe1ae72a7bc4f69e943aacd47"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/sr/firefox-140.0b6.tar.xz"; - locale = "sr"; - arch = "linux-x86_64"; - sha256 = "8369302b248ab2cf0b13f98ca0280b9604f16f524ace8b9e5bf897a273589ae6"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/sv-SE/firefox-140.0b6.tar.xz"; - locale = "sv-SE"; - arch = "linux-x86_64"; - sha256 = "b768fc130f0098ab7139e2256451f696291c6511a92568b9b8f0e0fac8e4f55c"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/szl/firefox-140.0b6.tar.xz"; - locale = "szl"; - arch = "linux-x86_64"; - sha256 = "e65a61516d5d50bb042c802800f5ccb78e89f9407a2c20abedb4af6fd7bf44f2"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/ta/firefox-140.0b6.tar.xz"; - locale = "ta"; - arch = "linux-x86_64"; - sha256 = "49c920bf3981ae5b006810b09262436b0b727f54b47f92768c9beaba4ce02dec"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/te/firefox-140.0b6.tar.xz"; - locale = "te"; - arch = "linux-x86_64"; - sha256 = "c35da2873dcdf14a1c82eabdf5993492bc0fd1b6b16215dcfcb27259b6b2bacd"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/tg/firefox-140.0b6.tar.xz"; - locale = "tg"; - arch = "linux-x86_64"; - sha256 = "34cf2a7bac30ec63f04619d1af7f834e0a985336017d39f951f2f8e3b9b70350"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/th/firefox-140.0b6.tar.xz"; - locale = "th"; - arch = "linux-x86_64"; - sha256 = "0381cb55121754b1ee6d8e1b2b9d02d3f36249f3c1682b9f43edee72ad8204ea"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/tl/firefox-140.0b6.tar.xz"; - locale = "tl"; - arch = "linux-x86_64"; - sha256 = "0919075e4bee9347c39c798c75a99c2ce649c13616cc24b7c049a087a8a1c34d"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/tr/firefox-140.0b6.tar.xz"; - locale = "tr"; - arch = "linux-x86_64"; - sha256 = "418fea6d08064abbb3083b18cb984dcb3262b905b046628d0326307e345400c1"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/trs/firefox-140.0b6.tar.xz"; - locale = "trs"; - arch = "linux-x86_64"; - sha256 = "05314fe33cd5385b9ef91fefd2a762152ac23e37e02d7e2b472e895d57e1168e"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/uk/firefox-140.0b6.tar.xz"; - locale = "uk"; - arch = "linux-x86_64"; - sha256 = "e00f4d1f6bca26f76a153338d198ae66faba06890d3f4eeb5b44ddfd30eb0671"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/ur/firefox-140.0b6.tar.xz"; - locale = "ur"; - arch = "linux-x86_64"; - sha256 = "082a79e6e6b5581f7875bce9ce639bce31aa8b91c5d21cb06ad5e5a14f9374f0"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/uz/firefox-140.0b6.tar.xz"; - locale = "uz"; - arch = "linux-x86_64"; - sha256 = "838688993ec796618ac9591a1a625f1e36b47e2e6e095dc23afe635b391901b6"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/vi/firefox-140.0b6.tar.xz"; - locale = "vi"; - arch = "linux-x86_64"; - sha256 = "238703e05962465bf1f5a6a92ce1087ff2e9580bf2f53f68ff1e3c6b29c0855e"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/xh/firefox-140.0b6.tar.xz"; - locale = "xh"; - arch = "linux-x86_64"; - sha256 = "e0d99e21a6f51a6e855d6d08fe7f2e9e843ae50e5ec5669625fdf6cda16e654d"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/zh-CN/firefox-140.0b6.tar.xz"; - locale = "zh-CN"; - arch = "linux-x86_64"; - sha256 = "db71a35fe0ca3c3c6e4d876fd63799d62a99782c758374329f1fc5ccf89493a8"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-x86_64/zh-TW/firefox-140.0b6.tar.xz"; - locale = "zh-TW"; - arch = "linux-x86_64"; - sha256 = "a870eb913257d6cc7c20de330b21bf5b6d32fae4912c3cbc35272d6b0c26229a"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/ach/firefox-140.0b6.tar.xz"; - locale = "ach"; - arch = "linux-i686"; - sha256 = "d2f0b4c8fe575b71fef12e929319af3bf93a27a2cbf3527d93c75a07038eddf8"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/af/firefox-140.0b6.tar.xz"; - locale = "af"; - arch = "linux-i686"; - sha256 = "15e3d504b0a371a21fda09566740c9d103f1b170d734c3578f31ca9bb8f66cad"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/an/firefox-140.0b6.tar.xz"; - locale = "an"; - arch = "linux-i686"; - sha256 = "811be339e2c8e66b7afc32d2c70adc4515a9b9569dbee6f342756b5429c2df4b"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/ar/firefox-140.0b6.tar.xz"; - locale = "ar"; - arch = "linux-i686"; - sha256 = "7d73d8431416034c6b6c0112e2991d1f4fb248a7f8e209b922cad2a926d2c51c"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/ast/firefox-140.0b6.tar.xz"; - locale = "ast"; - arch = "linux-i686"; - sha256 = "44e68de0c7d4280bc08cabd991eb37cc0792b680055600471ec763e43cd5b890"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/az/firefox-140.0b6.tar.xz"; - locale = "az"; - arch = "linux-i686"; - sha256 = "31c4d3a48e3672a7c8fc81ebb29337e57be65999781c9d56c91456f704f81240"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/be/firefox-140.0b6.tar.xz"; - locale = "be"; - arch = "linux-i686"; - sha256 = "ede450caa7f05865b3694f3821bc092e0de6616b640b4748b45673b41a33c099"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/bg/firefox-140.0b6.tar.xz"; - locale = "bg"; - arch = "linux-i686"; - sha256 = "a605ad91d87ea41ce7a93f564cd7fd647ba6fce99d403754414a9dd0b3f967d7"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/bn/firefox-140.0b6.tar.xz"; - locale = "bn"; - arch = "linux-i686"; - sha256 = "a08d45ac7f0a780562206e552ae7ab5462a83ac14bfead0c2103ac675e5f556b"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/br/firefox-140.0b6.tar.xz"; - locale = "br"; - arch = "linux-i686"; - sha256 = "4f51e2f63ea3e4e5c3eb7025c125cc4b828cd8880b6736c43abfca5b879e3f8a"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/bs/firefox-140.0b6.tar.xz"; - locale = "bs"; - arch = "linux-i686"; - sha256 = "7e88222a53d40e8a07d8cc273b07451947cb97d0f3d496372d970903f2ad0fd4"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/ca-valencia/firefox-140.0b6.tar.xz"; - locale = "ca-valencia"; - arch = "linux-i686"; - sha256 = "1f8687252bfdefe43c8906cdb4bf8d80fc8640228627ddc9160acfd39e628d4c"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/ca/firefox-140.0b6.tar.xz"; - locale = "ca"; - arch = "linux-i686"; - sha256 = "24d65222d3f9219ec0be30c5ec56a6f84240bbbf21fbbe9030fd719cc2898a6d"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/cak/firefox-140.0b6.tar.xz"; - locale = "cak"; - arch = "linux-i686"; - sha256 = "5059334800af7ec61d95bccba166cf2535d2bdf9741b7e3ce4ade7bd5cdd5e47"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/cs/firefox-140.0b6.tar.xz"; - locale = "cs"; - arch = "linux-i686"; - sha256 = "ade2f416e75e8897310d856bfb5973361800585e6b66678623bea921a3434ee7"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/cy/firefox-140.0b6.tar.xz"; - locale = "cy"; - arch = "linux-i686"; - sha256 = "4351eab5adf589d168b2c198445df2071798e5a9aeaed154942594edc9a8083a"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/da/firefox-140.0b6.tar.xz"; - locale = "da"; - arch = "linux-i686"; - sha256 = "8942e7b9e12ca93113af82d6d962616d1c31756112e61d0dd3663cd0504a59d0"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/de/firefox-140.0b6.tar.xz"; - locale = "de"; - arch = "linux-i686"; - sha256 = "59067654101e138c156bc0cca05ecf34ec16aab9a4e5de9a6ce2e3bc26c3261b"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/dsb/firefox-140.0b6.tar.xz"; - locale = "dsb"; - arch = "linux-i686"; - sha256 = "526ce1d68ea90d5a3588b179ac64a303d9d23ef2b46b4fe91b7942ab60ccc2d6"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/el/firefox-140.0b6.tar.xz"; - locale = "el"; - arch = "linux-i686"; - sha256 = "7d48fc74739da6112497526c0937a3e5865b5df23e3487e3f946d828a2570fbd"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/en-CA/firefox-140.0b6.tar.xz"; - locale = "en-CA"; - arch = "linux-i686"; - sha256 = "45da4da2bcb75edc054a52ee20aff8dafa5bdd0bcc90670c1fd25b43ad52dfd5"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/en-GB/firefox-140.0b6.tar.xz"; - locale = "en-GB"; - arch = "linux-i686"; - sha256 = "f38ce30e7897332d617cb0b1b6524f34f76e49d4e7a17d8497d4c8e5bf48fb87"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/en-US/firefox-140.0b6.tar.xz"; - locale = "en-US"; - arch = "linux-i686"; - sha256 = "744bb60dfe646854831b6b2370190ad5dfc304dd6554deff999516c56e6d81da"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/eo/firefox-140.0b6.tar.xz"; - locale = "eo"; - arch = "linux-i686"; - sha256 = "afced063370710bf3d41bad286f7bcab50913a84ba1b91d50afc8426ce51a2bf"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/es-AR/firefox-140.0b6.tar.xz"; - locale = "es-AR"; - arch = "linux-i686"; - sha256 = "eb29815d5e8eb1eb042fa81dba0d36537b2454511da08848842d544bf8cfb18b"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/es-CL/firefox-140.0b6.tar.xz"; - locale = "es-CL"; - arch = "linux-i686"; - sha256 = "61d15090c8d7d2b0e2a11cab506da51cb2c373b120e678570cd9b676d8f66966"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/es-ES/firefox-140.0b6.tar.xz"; - locale = "es-ES"; - arch = "linux-i686"; - sha256 = "a1faac6928171076c66f71be8f29c17547bb92989b163bc4ad074577394a0173"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/es-MX/firefox-140.0b6.tar.xz"; - locale = "es-MX"; - arch = "linux-i686"; - sha256 = "f513b34704478c1887552ce2d25d1967d103320fbbaf7a603c956fb2453befc3"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/et/firefox-140.0b6.tar.xz"; - locale = "et"; - arch = "linux-i686"; - sha256 = "f907f4648ea7af3ae32a5961c166610a3c7758d94e0f952ca52cb33b78a5cfb3"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/eu/firefox-140.0b6.tar.xz"; - locale = "eu"; - arch = "linux-i686"; - sha256 = "290d946ce84974b3c632f9c3e061d90a9a99edccde8ded6a42986385e0eeff89"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/fa/firefox-140.0b6.tar.xz"; - locale = "fa"; - arch = "linux-i686"; - sha256 = "370aa3e5cd53d25654f317239ad54399d9e0dd66e3ea087216c6e6d0d2733af6"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/ff/firefox-140.0b6.tar.xz"; - locale = "ff"; - arch = "linux-i686"; - sha256 = "541b9ddef7f2ab5890e1f5a2f406b1fb9a2ecd9deab6ac133b99c95fb2cae12a"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/fi/firefox-140.0b6.tar.xz"; - locale = "fi"; - arch = "linux-i686"; - sha256 = "b98d0801eef3570adbd582c7c0c986ff04458e9d1dd2ebc51c5bb1fbde2dcb73"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/fr/firefox-140.0b6.tar.xz"; - locale = "fr"; - arch = "linux-i686"; - sha256 = "1fca999a4f229c6cb0873ca8aa8394037cb6c714830fbbcd37ee28ffe9c718f3"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/fur/firefox-140.0b6.tar.xz"; - locale = "fur"; - arch = "linux-i686"; - sha256 = "83ae16e567c02107d7ba91939e5646ef6cba12599f7e38ca78a55b535482bf16"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/fy-NL/firefox-140.0b6.tar.xz"; - locale = "fy-NL"; - arch = "linux-i686"; - sha256 = "d2c2f3e5b5af91decea6b7ebf5dab2f3d1af8bcbf646b7fa3c43f520a22566f9"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/ga-IE/firefox-140.0b6.tar.xz"; - locale = "ga-IE"; - arch = "linux-i686"; - sha256 = "297539876431286bf553f117fab3a7b685531d72598f304d3458ff4a517587b4"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/gd/firefox-140.0b6.tar.xz"; - locale = "gd"; - arch = "linux-i686"; - sha256 = "475bcb51afdaa55ac37bc726ba3fee59fc10b94b9b599a93ac6abd4733d09cb3"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/gl/firefox-140.0b6.tar.xz"; - locale = "gl"; - arch = "linux-i686"; - sha256 = "207410a4654026bb5c7ce013292f56cd01c29b2258fdb0a9814e0d5d77b149b4"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/gn/firefox-140.0b6.tar.xz"; - locale = "gn"; - arch = "linux-i686"; - sha256 = "99eb7d29efbbf6e554900813317319e0fa3ad63f7eee9ca25de095cbcc493fd7"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/gu-IN/firefox-140.0b6.tar.xz"; - locale = "gu-IN"; - arch = "linux-i686"; - sha256 = "bd709c5ec938d75c7d671c5daa148504d6c9ca92aeb99d3d18c8c3925f6a18cb"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/he/firefox-140.0b6.tar.xz"; - locale = "he"; - arch = "linux-i686"; - sha256 = "5ff6c30851da3fbc1264a756a5033a727bd034389a907f977c01f19e98a1adde"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/hi-IN/firefox-140.0b6.tar.xz"; - locale = "hi-IN"; - arch = "linux-i686"; - sha256 = "027a328ca0740683923a1c3ff25a819948145c242ceab503e5104818b272afa6"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/hr/firefox-140.0b6.tar.xz"; - locale = "hr"; - arch = "linux-i686"; - sha256 = "e80303a7d26effef99db9a6c4f1503f4741398448b3bbec31ed9b01d06b7fd40"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/hsb/firefox-140.0b6.tar.xz"; - locale = "hsb"; - arch = "linux-i686"; - sha256 = "f977ea04c392b706c821eb7768128868d542dfacd6c3473196e938f47bfcfad6"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/hu/firefox-140.0b6.tar.xz"; - locale = "hu"; - arch = "linux-i686"; - sha256 = "46c7ca5364ad35e8e228d6b3d85dfbc1021250b9c476f49cd6a893fc6a901b04"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/hy-AM/firefox-140.0b6.tar.xz"; - locale = "hy-AM"; - arch = "linux-i686"; - sha256 = "c1e295ec58562a570995049960f82ea50f1af7019fea5347a1a5dee96e07fc3e"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/ia/firefox-140.0b6.tar.xz"; - locale = "ia"; - arch = "linux-i686"; - sha256 = "04d95ce50b8043066bb7504299f474f8aa7dac6492ff02358a88c8d3d8fb3e99"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/id/firefox-140.0b6.tar.xz"; - locale = "id"; - arch = "linux-i686"; - sha256 = "2d2427f8cc377920f4fc30335aa4592eda7b5d2886080153b3da3b4f4d2a73f1"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/is/firefox-140.0b6.tar.xz"; - locale = "is"; - arch = "linux-i686"; - sha256 = "f9b3a865e6bb380aacb2f4b334b93add7034547be50052027b02fcd834b75ecd"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/it/firefox-140.0b6.tar.xz"; - locale = "it"; - arch = "linux-i686"; - sha256 = "5370c6da3f46aef9026846bc5bc0566fb90a32aa0754db8fae8b607a4d2a43fd"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/ja/firefox-140.0b6.tar.xz"; - locale = "ja"; - arch = "linux-i686"; - sha256 = "9d08742f62ae6ca7b165f2f96bf6271d2cf0046d7193c8b9f2cdb34d03b96859"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/ka/firefox-140.0b6.tar.xz"; - locale = "ka"; - arch = "linux-i686"; - sha256 = "1f02ea4d7ef27f1a3d91619c36bd7792ae98f372ead28eb113855b8fd04ab910"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/kab/firefox-140.0b6.tar.xz"; - locale = "kab"; - arch = "linux-i686"; - sha256 = "6fa89a1a815c47a995ff59d07146d61cd7d89c2bcb9ccea47487b50c532924a1"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/kk/firefox-140.0b6.tar.xz"; - locale = "kk"; - arch = "linux-i686"; - sha256 = "6753dc18bb24785def22e0dca28396b78d68844bd6938e3dcaeaba1065e2d3ae"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/km/firefox-140.0b6.tar.xz"; - locale = "km"; - arch = "linux-i686"; - sha256 = "9a1a7159d5c46f610aed98e90cacbbd212d20ff728aa4c631e162fbaf6d8406c"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/kn/firefox-140.0b6.tar.xz"; - locale = "kn"; - arch = "linux-i686"; - sha256 = "cb088595f1d75e551abd1d73d6a538b4cbb8bad5b6ec01e56fefcc10fd9e0706"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/ko/firefox-140.0b6.tar.xz"; - locale = "ko"; - arch = "linux-i686"; - sha256 = "4e4804dd60447ca1e679f8d47dc6135e1f3206b7b43af6dd005e022802f6b48c"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/lij/firefox-140.0b6.tar.xz"; - locale = "lij"; - arch = "linux-i686"; - sha256 = "9c5d5b72d87a7c264bd7f3c7dba35396ce1ccdd8c65849b00be6eee217f4d3f7"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/lt/firefox-140.0b6.tar.xz"; - locale = "lt"; - arch = "linux-i686"; - sha256 = "c5d223f1330fb422e93cfcb3260e1c01304b0d6fb679eebdfeff03981b83c359"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/lv/firefox-140.0b6.tar.xz"; - locale = "lv"; - arch = "linux-i686"; - sha256 = "114b816891f56fdcea51d1f884bb8296f6ec2d4f681606369d5dfc9ec9e2fdb6"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/mk/firefox-140.0b6.tar.xz"; - locale = "mk"; - arch = "linux-i686"; - sha256 = "6b5b923590b1fe5f44dd9c66786a975a1daaa960d347ebafb4f4e68944d3cc44"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/mr/firefox-140.0b6.tar.xz"; - locale = "mr"; - arch = "linux-i686"; - sha256 = "74ea9528539de6d1eb5ca192771086f8b0de3605fe1832ec2e36f34b5bac6888"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/ms/firefox-140.0b6.tar.xz"; - locale = "ms"; - arch = "linux-i686"; - sha256 = "a91bf31e8d1d10e8e9130fd17b51746ef82d97c0bfe13315234d84307e1545e8"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/my/firefox-140.0b6.tar.xz"; - locale = "my"; - arch = "linux-i686"; - sha256 = "00d39a9f695533772299e360e37a9802e3a3c4b6f1abc9c497c463005ea1574a"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/nb-NO/firefox-140.0b6.tar.xz"; - locale = "nb-NO"; - arch = "linux-i686"; - sha256 = "974b886f74d31d85d895235de365d3f0b600ff6e7a3f30c79d5ce7752e379f7f"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/ne-NP/firefox-140.0b6.tar.xz"; - locale = "ne-NP"; - arch = "linux-i686"; - sha256 = "e1eee217e3b7b553b4ca8d558efba40b2edde4ed638953d1e6a0915c175b49fe"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/nl/firefox-140.0b6.tar.xz"; - locale = "nl"; - arch = "linux-i686"; - sha256 = "c54d599a561e854b9ceff273d33b80ecb309a5020e49d8048b2ea66c1cdde8b7"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/nn-NO/firefox-140.0b6.tar.xz"; - locale = "nn-NO"; - arch = "linux-i686"; - sha256 = "e75f486146d99c1cc914676ac94fb1525f560a1de0c75c34d07271d6186e019a"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/oc/firefox-140.0b6.tar.xz"; - locale = "oc"; - arch = "linux-i686"; - sha256 = "6bf3e0d03d5322ad4b1201ece3f5e0a5cae2af55fa05b60ab49cb6baa5dc4867"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/pa-IN/firefox-140.0b6.tar.xz"; - locale = "pa-IN"; - arch = "linux-i686"; - sha256 = "3a992433e2e830936b1058ad2d367fb350f6c15664244557248b405d2c954b08"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/pl/firefox-140.0b6.tar.xz"; - locale = "pl"; - arch = "linux-i686"; - sha256 = "da7da39491ac13769a6673b4e6f126c156dd2913ab6d620ca1055a72aaac5254"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/pt-BR/firefox-140.0b6.tar.xz"; - locale = "pt-BR"; - arch = "linux-i686"; - sha256 = "eea15f6e8b4b044dcea2031611fe076aab859bbf402908cfb2910e892ce0ee18"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/pt-PT/firefox-140.0b6.tar.xz"; - locale = "pt-PT"; - arch = "linux-i686"; - sha256 = "5fdb682b34ca8d49c684752b9e02c87220b90324e1ca80a364aabf91e41666b3"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/rm/firefox-140.0b6.tar.xz"; - locale = "rm"; - arch = "linux-i686"; - sha256 = "49e7c74c44294802392928abc00d2602c3f2154ec04e6f48b6a612cfb24cc43b"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/ro/firefox-140.0b6.tar.xz"; - locale = "ro"; - arch = "linux-i686"; - sha256 = "ba5e9d888d7416c25882776486cbf8f2098c676dd4f2d56ab65b506477949451"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/ru/firefox-140.0b6.tar.xz"; - locale = "ru"; - arch = "linux-i686"; - sha256 = "219cf4ad9f20736b7d0f6d018daeb39f2410f5bd70abd8b3329d6e5a461ed495"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/sat/firefox-140.0b6.tar.xz"; - locale = "sat"; - arch = "linux-i686"; - sha256 = "64ab98b82919db52ea2434fff7d65f82b4283370c694e42315023477d84344ec"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/sc/firefox-140.0b6.tar.xz"; - locale = "sc"; - arch = "linux-i686"; - sha256 = "7b167dd8f162d5235bee196db9c4855caf819bc8731d1ec7156a37b55acb52f4"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/sco/firefox-140.0b6.tar.xz"; - locale = "sco"; - arch = "linux-i686"; - sha256 = "2d8b1adc2b3d34d621ef2bca5020e41e89f9e8534ab6d91e56a4ad3ed04e7b97"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/si/firefox-140.0b6.tar.xz"; - locale = "si"; - arch = "linux-i686"; - sha256 = "e12f2ec9b3ca80de69c96fd7d4f208ca8d7555e436c7848202b65c043af64e3c"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/sk/firefox-140.0b6.tar.xz"; - locale = "sk"; - arch = "linux-i686"; - sha256 = "cb16aa9355ef7e8eb43b18d19f9dbdc0bbea9fc36a1ab13317678de0e2af6a24"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/skr/firefox-140.0b6.tar.xz"; - locale = "skr"; - arch = "linux-i686"; - sha256 = "e56e34598b0ec80d599dce78cd2d4c9859468eb2cb2877da53ce529baa38da31"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/sl/firefox-140.0b6.tar.xz"; - locale = "sl"; - arch = "linux-i686"; - sha256 = "21de66e4aeb3f66fea37be933f4b8a376c0048297768d88c0f1a65f4d5f09f8c"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/son/firefox-140.0b6.tar.xz"; - locale = "son"; - arch = "linux-i686"; - sha256 = "541a51db2ee1d8854fe949901ebb15c0f6969f87bdffa1815bc4a6ef93321570"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/sq/firefox-140.0b6.tar.xz"; - locale = "sq"; - arch = "linux-i686"; - sha256 = "0584176b701fcd82ecb53723ebbb793846680873adaca5b1b32abe8e149ed1e7"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/sr/firefox-140.0b6.tar.xz"; - locale = "sr"; - arch = "linux-i686"; - sha256 = "23936d0de1043c74b1e971d7ca721324016d98158781b517ce024beef092412c"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/sv-SE/firefox-140.0b6.tar.xz"; - locale = "sv-SE"; - arch = "linux-i686"; - sha256 = "bae54d47460f3c11773d252f3e1029e754bc4d6e3ce273ca584146054a7b2acc"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/szl/firefox-140.0b6.tar.xz"; - locale = "szl"; - arch = "linux-i686"; - sha256 = "d2419e9f0a9f72d4ebce03887489af6d7b5a997e7d7334ff893ef18e44c84763"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/ta/firefox-140.0b6.tar.xz"; - locale = "ta"; - arch = "linux-i686"; - sha256 = "8c3cadbded3754fc10a0b261cabe28a0b68d1185403f0d37849d455778aeae78"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/te/firefox-140.0b6.tar.xz"; - locale = "te"; - arch = "linux-i686"; - sha256 = "6bbd734e9ddb18d4ea281da0beed20a601196b9a720438d6697efdb30508ad75"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/tg/firefox-140.0b6.tar.xz"; - locale = "tg"; - arch = "linux-i686"; - sha256 = "adb666a98cf8648a4633206020e27517ad39cb950c248541b9434f21446288ee"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/th/firefox-140.0b6.tar.xz"; - locale = "th"; - arch = "linux-i686"; - sha256 = "0179b0d20e57e6cb67da17f28d2391a3318a550227e752e1906d0c579aab6a3f"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/tl/firefox-140.0b6.tar.xz"; - locale = "tl"; - arch = "linux-i686"; - sha256 = "6124e86e5d986a503a6fd0c185057162ea3540503d80999eafe3a34680e0bad6"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/tr/firefox-140.0b6.tar.xz"; - locale = "tr"; - arch = "linux-i686"; - sha256 = "149b8bb8c8dd85ab43deb6dbc400f3d4959b557d10a67cf92b6f79d47e738695"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/trs/firefox-140.0b6.tar.xz"; - locale = "trs"; - arch = "linux-i686"; - sha256 = "4f0cf978ecf62cd4a923a18fb5044796bbb2efc6338e1cf27bff9c349183bacf"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/uk/firefox-140.0b6.tar.xz"; - locale = "uk"; - arch = "linux-i686"; - sha256 = "51c0ebe8f9b5281babb44870bff97ad02398a55404776c1661174ef988a1c0f8"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/ur/firefox-140.0b6.tar.xz"; - locale = "ur"; - arch = "linux-i686"; - sha256 = "bc98672543b6462ae5178df9fe930326cb8b9e4def69a6a3d8ce282fdb090261"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/uz/firefox-140.0b6.tar.xz"; - locale = "uz"; - arch = "linux-i686"; - sha256 = "f22197a95cec99fa2cc84f6295d9eeb6c6f3f5faf3aaf7508c1506569bbb4fc0"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/vi/firefox-140.0b6.tar.xz"; - locale = "vi"; - arch = "linux-i686"; - sha256 = "24d60c5620a29e75af5a43593d7c2229bcb4aa708d01ab40cae92269b59df25c"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/xh/firefox-140.0b6.tar.xz"; - locale = "xh"; - arch = "linux-i686"; - sha256 = "95190a46cd3041b6624160a75c37319eade659b3b154419b3b95ed670cbf2e90"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/zh-CN/firefox-140.0b6.tar.xz"; - locale = "zh-CN"; - arch = "linux-i686"; - sha256 = "d3da8d8f8eaab4d6447199f9e5108f292883c79ba5c7cd48ae4dd1f2d9bcd2d0"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-i686/zh-TW/firefox-140.0b6.tar.xz"; - locale = "zh-TW"; - arch = "linux-i686"; - sha256 = "b0afc944c042e4dc8a98f3cf1701693a98c2f8d230be21d35b7bc474d2496065"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/ach/firefox-140.0b6.tar.xz"; - locale = "ach"; - arch = "linux-aarch64"; - sha256 = "5b15edca7ba886bfcb34bee6c08cda64f757a848a20ea91450ceb75555351f8b"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/af/firefox-140.0b6.tar.xz"; - locale = "af"; - arch = "linux-aarch64"; - sha256 = "e778e95f524f7f5cc69171caac0475712ae05b278d6737fff9b0a2d00ae78ff1"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/an/firefox-140.0b6.tar.xz"; - locale = "an"; - arch = "linux-aarch64"; - sha256 = "9b902942c9f8c9d74a37b91d6c2f950a56bd56e1db6f626552e1a4b5eead83cb"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/ar/firefox-140.0b6.tar.xz"; - locale = "ar"; - arch = "linux-aarch64"; - sha256 = "97157acefcec8cd9a5564a12f1c08c084891f22c70dea4eaca301c3a9e711876"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/ast/firefox-140.0b6.tar.xz"; - locale = "ast"; - arch = "linux-aarch64"; - sha256 = "4cc18776eb262ffb699f58d96312eace21cefc7d88673568e585a07ca37173bb"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/az/firefox-140.0b6.tar.xz"; - locale = "az"; - arch = "linux-aarch64"; - sha256 = "2ff4833d379ae47a2365fd72570b3e230ee3acec037bdeb432b3caaf6b013a3f"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/be/firefox-140.0b6.tar.xz"; - locale = "be"; - arch = "linux-aarch64"; - sha256 = "e7553858a06e1a1f35bf9f3da91b2b367e5c203221ad8fc064359b5b6c60cf07"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/bg/firefox-140.0b6.tar.xz"; - locale = "bg"; - arch = "linux-aarch64"; - sha256 = "0c09e5d84a4a63293d46ffaabaf65aaeed0a70799768b4f7b5ea0d485b7202eb"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/bn/firefox-140.0b6.tar.xz"; - locale = "bn"; - arch = "linux-aarch64"; - sha256 = "6c0bc3a7c3ad9ec76923dc886a8a0c676ebda43969b8dfc31a5d39320db80024"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/br/firefox-140.0b6.tar.xz"; - locale = "br"; - arch = "linux-aarch64"; - sha256 = "ee2553bb9d8dee02646c6c3bf17e17af86fd6e8607ad8432c3d742652f15bcc9"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/bs/firefox-140.0b6.tar.xz"; - locale = "bs"; - arch = "linux-aarch64"; - sha256 = "abf76060303df5d1773e6828987fbfbdb00af03588fcdf6a3965b320502e6b63"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/ca-valencia/firefox-140.0b6.tar.xz"; - locale = "ca-valencia"; - arch = "linux-aarch64"; - sha256 = "19a3c72cf20d28353d59a1cf0ee3dce6490e10a90ce9f44b2f1944c4c43245bb"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/ca/firefox-140.0b6.tar.xz"; - locale = "ca"; - arch = "linux-aarch64"; - sha256 = "0412d10ef86ed5a8ddab3e1ba25cd4d7ebfc4f9c2013e0b234c1d92d6bd77b73"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/cak/firefox-140.0b6.tar.xz"; - locale = "cak"; - arch = "linux-aarch64"; - sha256 = "a33cbfb911b5096eaa412cbd04906f024cd732b01b456c4963aebd2adf317253"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/cs/firefox-140.0b6.tar.xz"; - locale = "cs"; - arch = "linux-aarch64"; - sha256 = "bf20cc69af960c04edd471c4fd72d3597ec7fb4924b3449789f1a5b44d5a0133"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/cy/firefox-140.0b6.tar.xz"; - locale = "cy"; - arch = "linux-aarch64"; - sha256 = "f0925388ec9f9316399c82f03b4b6350bea6d3b515e0587c9e6fc5b897b77324"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/da/firefox-140.0b6.tar.xz"; - locale = "da"; - arch = "linux-aarch64"; - sha256 = "15f52ae2b4065cb38b36f9e395bc7b6d6f5bf2bfafda2410f661738ebff2a5c1"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/de/firefox-140.0b6.tar.xz"; - locale = "de"; - arch = "linux-aarch64"; - sha256 = "dfe792ee7af319e1b84451b4cfeaedbc49292b4eafdffd07149adbb493ef7127"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/dsb/firefox-140.0b6.tar.xz"; - locale = "dsb"; - arch = "linux-aarch64"; - sha256 = "a7a4fbfcfb260fb3acde102faaedc31a1b8a06c6fb2e9c15876786d831437e3b"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/el/firefox-140.0b6.tar.xz"; - locale = "el"; - arch = "linux-aarch64"; - sha256 = "96de1969c025ed81f08258aa2acb5c3bcc8de287634d8593d71a7eee82661572"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/en-CA/firefox-140.0b6.tar.xz"; - locale = "en-CA"; - arch = "linux-aarch64"; - sha256 = "66ead601728050a0d3a11e745dadf8cc5ebbce10081a2b3ccaf5b74b094fa0f4"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/en-GB/firefox-140.0b6.tar.xz"; - locale = "en-GB"; - arch = "linux-aarch64"; - sha256 = "89248abcaaaa0ad95c1122e329765895d1ecda7bb09c249436e5754d24b66d4b"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/en-US/firefox-140.0b6.tar.xz"; - locale = "en-US"; - arch = "linux-aarch64"; - sha256 = "74b718e0d55d4b5604ec0329c031d1c4df6d1e8f563a1cdf0856359b5a1e0733"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/eo/firefox-140.0b6.tar.xz"; - locale = "eo"; - arch = "linux-aarch64"; - sha256 = "8f838213f60897bf7efa4ac2bae5d2158bdc0badca1199007daaa28300c3798b"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/es-AR/firefox-140.0b6.tar.xz"; - locale = "es-AR"; - arch = "linux-aarch64"; - sha256 = "71347bf238c17fade8c0b976162f79c15fc7ddb2757739e6726fa9c5178483b9"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/es-CL/firefox-140.0b6.tar.xz"; - locale = "es-CL"; - arch = "linux-aarch64"; - sha256 = "a03fd736264f9350ce8afbb7bf748ef1334cd0c56d3a46b7cc4a7cbec9102ae6"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/es-ES/firefox-140.0b6.tar.xz"; - locale = "es-ES"; - arch = "linux-aarch64"; - sha256 = "359b40f625f56dc6d0d0b9d485ac63191150c3a44a74e9075a41e911ceeb4a86"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/es-MX/firefox-140.0b6.tar.xz"; - locale = "es-MX"; - arch = "linux-aarch64"; - sha256 = "c57bb72b0bef5d9cb51c8090105a5f67e1588ca4e7c7df39c4f62065af0615db"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/et/firefox-140.0b6.tar.xz"; - locale = "et"; - arch = "linux-aarch64"; - sha256 = "c2fa39b2e8e8a30b9cb5bf5659a060740dfb38674788bdd3c49ccb097113a1a4"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/eu/firefox-140.0b6.tar.xz"; - locale = "eu"; - arch = "linux-aarch64"; - sha256 = "904d296570aba820bbd085669c99c14c821af6115fc06141afa1769fb5216f48"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/fa/firefox-140.0b6.tar.xz"; - locale = "fa"; - arch = "linux-aarch64"; - sha256 = "748a9367cd5c0eb882d6d215b75398eae46125ea1468a58a5afbf062c949a294"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/ff/firefox-140.0b6.tar.xz"; - locale = "ff"; - arch = "linux-aarch64"; - sha256 = "30afedea01cf5bcb552b75c07dc5681f16fa24f64fbf25f3b366ba0a2142409d"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/fi/firefox-140.0b6.tar.xz"; - locale = "fi"; - arch = "linux-aarch64"; - sha256 = "d60fa03385f079befeea5fd302a655c6e93612b9ce191ad1e04023c6ddc83130"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/fr/firefox-140.0b6.tar.xz"; - locale = "fr"; - arch = "linux-aarch64"; - sha256 = "571d520820c9bc24310ec5191040ca999ca41d1f95b99f16d4147f0a867dc253"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/fur/firefox-140.0b6.tar.xz"; - locale = "fur"; - arch = "linux-aarch64"; - sha256 = "2f7a970b94fa2a0fd54768558517fe8bfe8e0f27a946b0495603b824982a2623"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/fy-NL/firefox-140.0b6.tar.xz"; - locale = "fy-NL"; - arch = "linux-aarch64"; - sha256 = "43e6c3489dfdebe246ab67d6d625706b8b445748a3ee182568572f3c3038a94a"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/ga-IE/firefox-140.0b6.tar.xz"; - locale = "ga-IE"; - arch = "linux-aarch64"; - sha256 = "c14c09e50413596f1e50aed7a64744103e2d6765b7e41b34a0551e5562313203"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/gd/firefox-140.0b6.tar.xz"; - locale = "gd"; - arch = "linux-aarch64"; - sha256 = "11dde7a7e5b04f37df9932a3b43f7f2a8b1983311888742366ac1bcc9634a1af"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/gl/firefox-140.0b6.tar.xz"; - locale = "gl"; - arch = "linux-aarch64"; - sha256 = "68328e15c35b069a9ca2ebccdaef368d66f7dce7f14adf7bebeeaa7c0a41892b"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/gn/firefox-140.0b6.tar.xz"; - locale = "gn"; - arch = "linux-aarch64"; - sha256 = "7180f6d3d3b3718547663e4d6545066ab258cfdf5910124625035cc35f1c26e3"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/gu-IN/firefox-140.0b6.tar.xz"; - locale = "gu-IN"; - arch = "linux-aarch64"; - sha256 = "d459f0bcfbc1ca990121513e0bed6b3315ea114e297ccbe7e80a9e310bb94cb9"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/he/firefox-140.0b6.tar.xz"; - locale = "he"; - arch = "linux-aarch64"; - sha256 = "b83d10b890852cd347b36923838ac0fc38d1b1d6657fa27852c9a0d7f0d8de30"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/hi-IN/firefox-140.0b6.tar.xz"; - locale = "hi-IN"; - arch = "linux-aarch64"; - sha256 = "3b3d208f0ee43f5fb49b11e64c5d2f4cdd4939d004d9429e24849ffbba6311f8"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/hr/firefox-140.0b6.tar.xz"; - locale = "hr"; - arch = "linux-aarch64"; - sha256 = "c02589f2dd9f4b736e6a00f151e1ad5e763279b1a9d4b5e037b14f71b8d005f2"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/hsb/firefox-140.0b6.tar.xz"; - locale = "hsb"; - arch = "linux-aarch64"; - sha256 = "622f74e99562c74d055ae1bfde21dca5d24362498cd72a71f6dcb0a424599541"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/hu/firefox-140.0b6.tar.xz"; - locale = "hu"; - arch = "linux-aarch64"; - sha256 = "3c2af96b89aa2a91bee2c684876912b2fe94e29ec04e64f516c27dadee496a3e"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/hy-AM/firefox-140.0b6.tar.xz"; - locale = "hy-AM"; - arch = "linux-aarch64"; - sha256 = "13b89a8966517155f3dc21f24c200b303f9f109f7aacd2714119102582f74f14"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/ia/firefox-140.0b6.tar.xz"; - locale = "ia"; - arch = "linux-aarch64"; - sha256 = "2e3d19abddff21e05666f3de3fc92d1b82e324273d0ac743e5e7c1591f5bb405"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/id/firefox-140.0b6.tar.xz"; - locale = "id"; - arch = "linux-aarch64"; - sha256 = "0a4a3ed1eb5ea28e8c0076cafa34c5a9b1008fb6cc118b73e8addb0c1a944452"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/is/firefox-140.0b6.tar.xz"; - locale = "is"; - arch = "linux-aarch64"; - sha256 = "599184c990b9960c021822eaebe88a57fa4900843fabe2d1e2a40c0806e29cdb"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/it/firefox-140.0b6.tar.xz"; - locale = "it"; - arch = "linux-aarch64"; - sha256 = "9ede42df893c8034c5773b149e1a9d83671999ca6931829b6042177531649dc3"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/ja/firefox-140.0b6.tar.xz"; - locale = "ja"; - arch = "linux-aarch64"; - sha256 = "ac162386b75ed1f4e0019fb3adca8ed1b23dfae029aae7cbadc7cc9ae49c3cec"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/ka/firefox-140.0b6.tar.xz"; - locale = "ka"; - arch = "linux-aarch64"; - sha256 = "f6c5896f77ac909c9af4fddb4c5a4d920dc3fc2d8b564c22264d719a7c763163"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/kab/firefox-140.0b6.tar.xz"; - locale = "kab"; - arch = "linux-aarch64"; - sha256 = "cbf718b24c98f40c9b76415f307da3e0d53aa920e6a4db70ed9829f359c20431"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/kk/firefox-140.0b6.tar.xz"; - locale = "kk"; - arch = "linux-aarch64"; - sha256 = "9bdc580d9b0de74523b8e0dcaa171ea116d482342bb7121267245ccbfd509b34"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/km/firefox-140.0b6.tar.xz"; - locale = "km"; - arch = "linux-aarch64"; - sha256 = "bb77e241893deff4db5e9f128c9cc28caba530c7e85ba458b1664768c97dea4f"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/kn/firefox-140.0b6.tar.xz"; - locale = "kn"; - arch = "linux-aarch64"; - sha256 = "89c2e1abcf24f2d0831c110d5633151edcb90a4203a0bd19b83e384f8773b3aa"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/ko/firefox-140.0b6.tar.xz"; - locale = "ko"; - arch = "linux-aarch64"; - sha256 = "157613edeaafeb7d68bdc577fdb31ee6c75df0711f0d79f08a8f3a5595775891"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/lij/firefox-140.0b6.tar.xz"; - locale = "lij"; - arch = "linux-aarch64"; - sha256 = "38b59f648d4627b9a71752f56feaff5587982317f7e37d0a64fc72df4dc755e5"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/lt/firefox-140.0b6.tar.xz"; - locale = "lt"; - arch = "linux-aarch64"; - sha256 = "0273f44ecb90e322660b7a9421964c1280bc82e18ace52fb504b8c9febb23b15"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/lv/firefox-140.0b6.tar.xz"; - locale = "lv"; - arch = "linux-aarch64"; - sha256 = "8fe48d4fcc4ac652babc461a5df06825597d18c74109e89ced2fb0d733541313"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/mk/firefox-140.0b6.tar.xz"; - locale = "mk"; - arch = "linux-aarch64"; - sha256 = "b961d6b55540d9d9fa567b3013d4fe1f812d9937c3412345e1baa92564444a04"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/mr/firefox-140.0b6.tar.xz"; - locale = "mr"; - arch = "linux-aarch64"; - sha256 = "e6dd1df55d196d150a46385c46d8657a744ca26caa810d14e04aaf2910e3b452"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/ms/firefox-140.0b6.tar.xz"; - locale = "ms"; - arch = "linux-aarch64"; - sha256 = "f366c7de84e193bd073f6319dbce4777e16fdf9d1cbf53147f3d75265c8031e7"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/my/firefox-140.0b6.tar.xz"; - locale = "my"; - arch = "linux-aarch64"; - sha256 = "33f8c912359b751b729514df0d4d557643cb79274f51a7bb74b467cff33745a3"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/nb-NO/firefox-140.0b6.tar.xz"; - locale = "nb-NO"; - arch = "linux-aarch64"; - sha256 = "a43a870dd37f15fbeb101da1960ecdb639ecfd2985410e13c1f1da183605ec67"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/ne-NP/firefox-140.0b6.tar.xz"; - locale = "ne-NP"; - arch = "linux-aarch64"; - sha256 = "b13943075cab22dba51f25ba6c5124316c3be4b0cb2ff77fde4a9247fa8c02fc"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/nl/firefox-140.0b6.tar.xz"; - locale = "nl"; - arch = "linux-aarch64"; - sha256 = "64b77da1ffd4eacdaf27daf254e1962a46a4ce8f18f60e1673c27200355d5366"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/nn-NO/firefox-140.0b6.tar.xz"; - locale = "nn-NO"; - arch = "linux-aarch64"; - sha256 = "a705d090315ec18416ef1cb457f497ba683d477458949af30bffd0ab2c853f61"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/oc/firefox-140.0b6.tar.xz"; - locale = "oc"; - arch = "linux-aarch64"; - sha256 = "3e174eb2d5857949af246dea468b4c193acbd25bcd4fc906c000f387ac8269a5"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/pa-IN/firefox-140.0b6.tar.xz"; - locale = "pa-IN"; - arch = "linux-aarch64"; - sha256 = "5fe8a03510b6aac0e79d18ccf41f2fcb4d269fc1c37a4f491954d05f8f48616b"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/pl/firefox-140.0b6.tar.xz"; - locale = "pl"; - arch = "linux-aarch64"; - sha256 = "426d5cdf137a6ab9de2f3777bc334a028d2dc8daddb2b6df27c0dde224567168"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/pt-BR/firefox-140.0b6.tar.xz"; - locale = "pt-BR"; - arch = "linux-aarch64"; - sha256 = "3e138e048eeaae877d4fed415408f460283e6e6082189ed0835af6c55ea40b85"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/pt-PT/firefox-140.0b6.tar.xz"; - locale = "pt-PT"; - arch = "linux-aarch64"; - sha256 = "6d867d7cfcc8f9885474d28b3c46323075883bba1e75ca47c3ac3cbe048315c1"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/rm/firefox-140.0b6.tar.xz"; - locale = "rm"; - arch = "linux-aarch64"; - sha256 = "c8330384c35ebaf86549f8fa2c1d73fb9ee236e33f8a54b353403624d348da57"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/ro/firefox-140.0b6.tar.xz"; - locale = "ro"; - arch = "linux-aarch64"; - sha256 = "dfb2ffdc9ffc70f7eb2f04fc2b5e0445f039706b15f669490b830e53844f0377"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/ru/firefox-140.0b6.tar.xz"; - locale = "ru"; - arch = "linux-aarch64"; - sha256 = "c13c2d800a4a2b3fe556274d16ad2be4ee26e642f56dabfb176da516e07e92f9"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/sat/firefox-140.0b6.tar.xz"; - locale = "sat"; - arch = "linux-aarch64"; - sha256 = "87da408c95335989987a8fc08adeb48558b65222530fbcc56f15a8989e44ac73"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/sc/firefox-140.0b6.tar.xz"; - locale = "sc"; - arch = "linux-aarch64"; - sha256 = "d5654ae0594dff8078bec584fc3884bb399c218181f6415bec8d2eae610c99ad"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/sco/firefox-140.0b6.tar.xz"; - locale = "sco"; - arch = "linux-aarch64"; - sha256 = "0cf196fa3fb5d8a4ef068eae26cab0cb9e38bddb1aa2261b2ae4e04bebdfe2c4"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/si/firefox-140.0b6.tar.xz"; - locale = "si"; - arch = "linux-aarch64"; - sha256 = "0ffa2511f59d9b5702d55d827c27847cdbddb3285794a21bb86546fe7c949449"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/sk/firefox-140.0b6.tar.xz"; - locale = "sk"; - arch = "linux-aarch64"; - sha256 = "03bd3e41fdd25dcff6a55555237bd025153df0529a2075d33dcfc1054116ce7a"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/skr/firefox-140.0b6.tar.xz"; - locale = "skr"; - arch = "linux-aarch64"; - sha256 = "9cf365d13319694513adb0e47a7805d843d44c976019a1f50c4b1ddde76ff62a"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/sl/firefox-140.0b6.tar.xz"; - locale = "sl"; - arch = "linux-aarch64"; - sha256 = "fdd2f3c6f0124bf5ca160d10cec486ead78fa2e889bea2c5e134390dbc1b1cc8"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/son/firefox-140.0b6.tar.xz"; - locale = "son"; - arch = "linux-aarch64"; - sha256 = "4a2031a9b2a4d51e919903920fe77b7084abc15cc30c9f551df0948a3c816d5d"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/sq/firefox-140.0b6.tar.xz"; - locale = "sq"; - arch = "linux-aarch64"; - sha256 = "16155600c16b2982190500613130a34b098d5891b9eca894e555f0281b22f20d"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/sr/firefox-140.0b6.tar.xz"; - locale = "sr"; - arch = "linux-aarch64"; - sha256 = "096dd836daf90b18f701253df7c66fe4cab845dffe5e60f6f35e2c661d8f3cc8"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/sv-SE/firefox-140.0b6.tar.xz"; - locale = "sv-SE"; - arch = "linux-aarch64"; - sha256 = "788cbe4cc058a0c23a0f0057dcdaa309ab12b35e4b1fc340aecd92ca0cf4cc5c"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/szl/firefox-140.0b6.tar.xz"; - locale = "szl"; - arch = "linux-aarch64"; - sha256 = "521bf2cc23622f3f2604280bcfa1f4659051b88a7ffedcaa6dacbc0f98c43a66"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/ta/firefox-140.0b6.tar.xz"; - locale = "ta"; - arch = "linux-aarch64"; - sha256 = "42a0073e0ae87cd35ced857704b2dbb9f82ef8bd2a176cda6b5591eb2ad6333d"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/te/firefox-140.0b6.tar.xz"; - locale = "te"; - arch = "linux-aarch64"; - sha256 = "6ae3d560934edbfb3bae0d4b2a1b314da00bc963eb3cfc3ed7a903570d0f5022"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/tg/firefox-140.0b6.tar.xz"; - locale = "tg"; - arch = "linux-aarch64"; - sha256 = "4dd4a7b1cc077a3373a5e7b8ca0e7843c183647d5db20028eabf7f365f73711e"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/th/firefox-140.0b6.tar.xz"; - locale = "th"; - arch = "linux-aarch64"; - sha256 = "dcd8f27f9d2aeb8238ab26682998798885c1efcbce3f1d57658b7a3a4fa23127"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/tl/firefox-140.0b6.tar.xz"; - locale = "tl"; - arch = "linux-aarch64"; - sha256 = "5784552f364919bcb9bf9d0465ea76123cf7ba88bb143afa88e5e367c5155ca2"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/tr/firefox-140.0b6.tar.xz"; - locale = "tr"; - arch = "linux-aarch64"; - sha256 = "c78ed3a6888b25870cf88adb9f634a264ad3ee9e8ca9d265da4d490118ee1241"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/trs/firefox-140.0b6.tar.xz"; - locale = "trs"; - arch = "linux-aarch64"; - sha256 = "6aafade8a1be4d728699217df5af58d35201dc0d7ae06b48b811f04291e28b53"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/uk/firefox-140.0b6.tar.xz"; - locale = "uk"; - arch = "linux-aarch64"; - sha256 = "a9b244db3309a36817d592de909023fecc3ead9bb1a4cf18af9be2635770c9b0"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/ur/firefox-140.0b6.tar.xz"; - locale = "ur"; - arch = "linux-aarch64"; - sha256 = "890c8fd5caa23fad6573f96c6ccdf494c8f98a4e5396efc336635293ab6a8e6f"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/uz/firefox-140.0b6.tar.xz"; - locale = "uz"; - arch = "linux-aarch64"; - sha256 = "b8046e671f98405f294fcf7e9c4e267fd2ed4febd2f808de001455051409bb5b"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/vi/firefox-140.0b6.tar.xz"; - locale = "vi"; - arch = "linux-aarch64"; - sha256 = "e27c08f33fc10a4cd4c0b70d75d6566a6cc7b4cc6b0aaad4a4b92c108060349f"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/xh/firefox-140.0b6.tar.xz"; - locale = "xh"; - arch = "linux-aarch64"; - sha256 = "4fc6beb921e2361125efc2c450655714e675dc9d50a2ec82391f49eaed1172c6"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/zh-CN/firefox-140.0b6.tar.xz"; - locale = "zh-CN"; - arch = "linux-aarch64"; - sha256 = "34b989b326905d4bf6edf463b6203b712de51900ce743233d00f1b3b6df1e822"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/linux-aarch64/zh-TW/firefox-140.0b6.tar.xz"; - locale = "zh-TW"; - arch = "linux-aarch64"; - sha256 = "5334fddef31da56b1cc03b9bccbb0658c47a24a4fb77fa8391a60af102fde10d"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/ach/Firefox%20140.0b6.dmg"; - locale = "ach"; - arch = "mac"; - sha256 = "b55c9da845a9ad7dfb14d787a0cb0df34fa9e6fa3c05b165be9ce64267d008b9"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/af/Firefox%20140.0b6.dmg"; - locale = "af"; - arch = "mac"; - sha256 = "b8cb63d503a141499caa5fb68ecfb7f2ca5f49fef960d6119024b8b89dca5b03"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/an/Firefox%20140.0b6.dmg"; - locale = "an"; - arch = "mac"; - sha256 = "ebda4c5460c13c8602ceee736f9ac844996beb7752e51934e5b019e0d60214a3"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/ar/Firefox%20140.0b6.dmg"; - locale = "ar"; - arch = "mac"; - sha256 = "2467bfc7aa85172172dfe260e247c04359b7be21367da86470175222dae629eb"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/ast/Firefox%20140.0b6.dmg"; - locale = "ast"; - arch = "mac"; - sha256 = "cdb7b50b3f3364e0b0b27e2f4c8aaede449ab1244523e812cd0822ab281fda57"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/az/Firefox%20140.0b6.dmg"; - locale = "az"; - arch = "mac"; - sha256 = "9218696ae94c2d932669d94f29885906759a39bf5bce2580d8b188085571ecc6"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/be/Firefox%20140.0b6.dmg"; - locale = "be"; - arch = "mac"; - sha256 = "10569a7297baa577cabef6c73bfc6d89168864e36ddc67a815c9a6551cd4fae2"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/bg/Firefox%20140.0b6.dmg"; - locale = "bg"; - arch = "mac"; - sha256 = "03acebd1cb5b0614b51511c780462c62f31214eb86751753bf7dff3ec503a0f8"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/bn/Firefox%20140.0b6.dmg"; - locale = "bn"; - arch = "mac"; - sha256 = "b6f512cfd426c73a95a9a0f649b032079a66ffee662d22e1b67e9faf83ea724f"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/br/Firefox%20140.0b6.dmg"; - locale = "br"; - arch = "mac"; - sha256 = "657be978a9c98b8ab0e8d98c94efbfdebc903071283ea805bf126e29e72684f7"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/bs/Firefox%20140.0b6.dmg"; - locale = "bs"; - arch = "mac"; - sha256 = "46c70921eb40ff3ef655e96fb971cd20400723e94cc0a5a1ff30c7f65edd58a2"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/ca-valencia/Firefox%20140.0b6.dmg"; - locale = "ca-valencia"; - arch = "mac"; - sha256 = "19c2bfac3bf614054b224dba62b3afbb72d3eb66d033adf2fdaae38554554cf1"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/ca/Firefox%20140.0b6.dmg"; - locale = "ca"; - arch = "mac"; - sha256 = "ea93aaba1785ef017831f83ced895332adadf219504e70c54d0c57ff9496f9ae"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/cak/Firefox%20140.0b6.dmg"; - locale = "cak"; - arch = "mac"; - sha256 = "e3f364f81cf5ac7cec821f05f7cc07177fa7d0af8722c91b4f0fbc347cb97d23"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/cs/Firefox%20140.0b6.dmg"; - locale = "cs"; - arch = "mac"; - sha256 = "a86648acdcbed9d7421c72424d42052157ea1f825c14603c0266508238e189e6"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/cy/Firefox%20140.0b6.dmg"; - locale = "cy"; - arch = "mac"; - sha256 = "c1725f092c3e43f9b7ed234cf5283c69e61095ae80594d99ddb65cbfd234996c"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/da/Firefox%20140.0b6.dmg"; - locale = "da"; - arch = "mac"; - sha256 = "a752f31d76882f756a4f7e8488eafd0f746ece071894b5a79e5f119892e071b1"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/de/Firefox%20140.0b6.dmg"; - locale = "de"; - arch = "mac"; - sha256 = "70ee084818040191e975e1a8a8ad80acb6a62f4e46f22df1e5683b22a844c4c9"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/dsb/Firefox%20140.0b6.dmg"; - locale = "dsb"; - arch = "mac"; - sha256 = "908627cb2807b27c09825bcbdd7998ba015d95488309fe74c90d309df342e901"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/el/Firefox%20140.0b6.dmg"; - locale = "el"; - arch = "mac"; - sha256 = "b29bf2354ce959e36b82b22db10220656dceaa8d7429b5abd142fa1faa381e7c"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/en-CA/Firefox%20140.0b6.dmg"; - locale = "en-CA"; - arch = "mac"; - sha256 = "0756edd349c74d680ee93bdb5e2ac5d290f203a3293c03b160b9b359d2f58464"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/en-GB/Firefox%20140.0b6.dmg"; - locale = "en-GB"; - arch = "mac"; - sha256 = "460eec43ccc80b8a260ac3d4a5623ad694c504e1c01d912a48c13ef9f539c7b2"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/en-US/Firefox%20140.0b6.dmg"; - locale = "en-US"; - arch = "mac"; - sha256 = "cd0326af92ca17e5121c916edfe10e913ec39d8ccd16c079207effa7d4aaab75"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/eo/Firefox%20140.0b6.dmg"; - locale = "eo"; - arch = "mac"; - sha256 = "92e1280e109c947c297a6047b975972af21ac979a39f75b6e9f0a7b05896560d"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/es-AR/Firefox%20140.0b6.dmg"; - locale = "es-AR"; - arch = "mac"; - sha256 = "7cceac00533262e4736748a4ce273aca2676e99e4c52ecf667e421994e9f8b25"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/es-CL/Firefox%20140.0b6.dmg"; - locale = "es-CL"; - arch = "mac"; - sha256 = "a06a0de4c99dd388ea23b37c845a2861a5fe5e0f0e9d303ee86eb01aef4e392a"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/es-ES/Firefox%20140.0b6.dmg"; - locale = "es-ES"; - arch = "mac"; - sha256 = "05761e789f9c61f4bc8749bbc584bc64fcb07d0c2c8b18a27b8b4459b5a80621"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/es-MX/Firefox%20140.0b6.dmg"; - locale = "es-MX"; - arch = "mac"; - sha256 = "c688be8725af8d5b8ab9a81f9dbb4ca5255a8578fe759d46f602b4ba13e445d7"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/et/Firefox%20140.0b6.dmg"; - locale = "et"; - arch = "mac"; - sha256 = "6dd742ab79ea9d0653f4096a63d6fcea9f142707fbaf5eef8dc0c8cb8070baf3"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/eu/Firefox%20140.0b6.dmg"; - locale = "eu"; - arch = "mac"; - sha256 = "64c3c50a965bf153482e1ab9a78384be231f58051b66cdb9bb790f4cccc6b171"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/fa/Firefox%20140.0b6.dmg"; - locale = "fa"; - arch = "mac"; - sha256 = "c5b677703e9eb533987b7371d4f4de7654df9d415958f1216ca0287d5bc24f8e"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/ff/Firefox%20140.0b6.dmg"; - locale = "ff"; - arch = "mac"; - sha256 = "e4f6751e5eca0f69c303da861cbd150e7af6fddeeaeab1caf3934dd73adb6a91"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/fi/Firefox%20140.0b6.dmg"; - locale = "fi"; - arch = "mac"; - sha256 = "3892f17ad12fa9347a2650c152aa19e5b6b5ec79f21bcd28a641261925bc8976"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/fr/Firefox%20140.0b6.dmg"; - locale = "fr"; - arch = "mac"; - sha256 = "3462880c9f1f48ab6976d507727b7e3d7d0e86c0eddef198e426a7ce3f9e4659"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/fur/Firefox%20140.0b6.dmg"; - locale = "fur"; - arch = "mac"; - sha256 = "7b00ba6b6eb8fe2f04a2411c9e1e764afa49e2d6d8b183eee0bbdc97e017922a"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/fy-NL/Firefox%20140.0b6.dmg"; - locale = "fy-NL"; - arch = "mac"; - sha256 = "e115dce3ec12cad902029ccb060cd56a258524cfb797bb3aff5645221c192c3d"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/ga-IE/Firefox%20140.0b6.dmg"; - locale = "ga-IE"; - arch = "mac"; - sha256 = "25c3a1ff61afd4d0ca9ccb2d5d5d1a7a8f224c2cbc7f9aa00b48248c32ea64fc"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/gd/Firefox%20140.0b6.dmg"; - locale = "gd"; - arch = "mac"; - sha256 = "481725f402a7b0970ca3d5d535a75d3198da2eeac41c2cfae24f99ee0c3ed5bb"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/gl/Firefox%20140.0b6.dmg"; - locale = "gl"; - arch = "mac"; - sha256 = "4294ffc7380aec2e1c2e65475fcdff5159b8ee53fd4e806d60112ccfdd1d0df2"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/gn/Firefox%20140.0b6.dmg"; - locale = "gn"; - arch = "mac"; - sha256 = "5ecd0e96fb453c2ba66deea4550f21d5f8fd350f4d688a3b5962a0198a84a3a9"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/gu-IN/Firefox%20140.0b6.dmg"; - locale = "gu-IN"; - arch = "mac"; - sha256 = "f47ad848401f16be4d0b8dd8081ce53d9173cd856b68de2c98c4c611a8dbb4de"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/he/Firefox%20140.0b6.dmg"; - locale = "he"; - arch = "mac"; - sha256 = "d2a83af6f008ac9753ab19cc6169c0bccc5a3d7999c396bb96bfd81db6959790"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/hi-IN/Firefox%20140.0b6.dmg"; - locale = "hi-IN"; - arch = "mac"; - sha256 = "210b0d9c78cec2cb72eaa070bfe814cfeadddadef4fdf11840396e94c4c4174a"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/hr/Firefox%20140.0b6.dmg"; - locale = "hr"; - arch = "mac"; - sha256 = "16b7bcff84e6f5dafef18f3cb1e392b60220c23318b74755de13970f05c62edb"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/hsb/Firefox%20140.0b6.dmg"; - locale = "hsb"; - arch = "mac"; - sha256 = "874ad72bcef64fc6a89026a67895e13510b1230ed4df3445e1dada090724315a"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/hu/Firefox%20140.0b6.dmg"; - locale = "hu"; - arch = "mac"; - sha256 = "a82849f2244b6d0662566f3ee25bc4c277d91a703635bbe41a7bc63c60e8f239"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/hy-AM/Firefox%20140.0b6.dmg"; - locale = "hy-AM"; - arch = "mac"; - sha256 = "abb9561be5a12506d7a077936753f83bc234b3f160e26225757e1c0bbfecda73"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/ia/Firefox%20140.0b6.dmg"; - locale = "ia"; - arch = "mac"; - sha256 = "52835ece73d0f34ec410d2f6c6240fc7d0860d6b055a4a0a19be71e39c68e759"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/id/Firefox%20140.0b6.dmg"; - locale = "id"; - arch = "mac"; - sha256 = "5c6a886706bb6b27c717af90a20fc1d694748ad8cfe568eaf374dffb872a6c0b"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/is/Firefox%20140.0b6.dmg"; - locale = "is"; - arch = "mac"; - sha256 = "9707fec98234f35621fec0a43b4410eed814064126d701d76b520188b5f47dfb"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/it/Firefox%20140.0b6.dmg"; - locale = "it"; - arch = "mac"; - sha256 = "dc7b193ad74003a206ea2bc681837c175de45322be21d395b75062fb227cef2b"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/ja-JP-mac/Firefox%20140.0b6.dmg"; - locale = "ja-JP-mac"; - arch = "mac"; - sha256 = "aa4c38ccbe19b139465acfb54984ff5076ee596b562b51f2cbe522fff14c4527"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/ka/Firefox%20140.0b6.dmg"; - locale = "ka"; - arch = "mac"; - sha256 = "e1402e34d8a455d9f2473a81ba853e5fb369581ecc329d296115ddb33967875d"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/kab/Firefox%20140.0b6.dmg"; - locale = "kab"; - arch = "mac"; - sha256 = "1575a80d66865bdea6e972aada77795c07e74dbebd92b30f3fa32a229f0a487c"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/kk/Firefox%20140.0b6.dmg"; - locale = "kk"; - arch = "mac"; - sha256 = "fa2d1f2d2deeaf1d095b3ae32b90394763a326c724455e8bb644c21d7cb31b61"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/km/Firefox%20140.0b6.dmg"; - locale = "km"; - arch = "mac"; - sha256 = "849d0e8f1a42faf78440f331cc3b77e85e4e3a75e4a8d3e31609a14904644ce3"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/kn/Firefox%20140.0b6.dmg"; - locale = "kn"; - arch = "mac"; - sha256 = "2aeb6d55236f0b89756f4dd496a53f972ec8c24c8c52db4aefbdbbad7747fd52"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/ko/Firefox%20140.0b6.dmg"; - locale = "ko"; - arch = "mac"; - sha256 = "c007683b92b34d34b305aa998f59d0d9affc4e07ecc3848576fa065922e6a97b"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/lij/Firefox%20140.0b6.dmg"; - locale = "lij"; - arch = "mac"; - sha256 = "6792e8affd2b4b240663b34f983c3467942e7f6a4135ae27da9fd3632d39ae92"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/lt/Firefox%20140.0b6.dmg"; - locale = "lt"; - arch = "mac"; - sha256 = "514e98aa37a819951b35c8e3c0cb57045deaf2d1a24d0f0bccbecf89d3e0b6a1"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/lv/Firefox%20140.0b6.dmg"; - locale = "lv"; - arch = "mac"; - sha256 = "2a254dafd7c4bbe05c0855347f620e95188a49e4336363c90fa17959e1b610a3"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/mk/Firefox%20140.0b6.dmg"; - locale = "mk"; - arch = "mac"; - sha256 = "2af405b2012bc0641c2e4eece36f7c5282b38315b052998138a5ed36dd11f5f6"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/mr/Firefox%20140.0b6.dmg"; - locale = "mr"; - arch = "mac"; - sha256 = "304b360bb71fa4071a05fc0bb3142a231e9f500da09a8e442c0848fcac99fd4e"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/ms/Firefox%20140.0b6.dmg"; - locale = "ms"; - arch = "mac"; - sha256 = "5e4c5e3a6e5fd45c2653b54d3b6174e99511aa9e20b976dc21af048036066bd4"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/my/Firefox%20140.0b6.dmg"; - locale = "my"; - arch = "mac"; - sha256 = "ecb541b9ca27ea7d879941fef632bd8ba4d576503291d74abb507dd9041f44d4"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/nb-NO/Firefox%20140.0b6.dmg"; - locale = "nb-NO"; - arch = "mac"; - sha256 = "4909f39237eb6480cd188bd87012a95cb33435fd5a98c0baf82567ea9020a8d0"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/ne-NP/Firefox%20140.0b6.dmg"; - locale = "ne-NP"; - arch = "mac"; - sha256 = "464e6346b517c62c00bca230af7d6f9ae996677f450776530c51046e4d21f750"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/nl/Firefox%20140.0b6.dmg"; - locale = "nl"; - arch = "mac"; - sha256 = "4bfcd05169003a8bfd3276860b8c6162dfe91c515b4e014bdb14783aa110390f"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/nn-NO/Firefox%20140.0b6.dmg"; - locale = "nn-NO"; - arch = "mac"; - sha256 = "7cc8e377ae8db78e84cc3e7de5a8477902d8dd331df1c63380b607f7e660a3bc"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/oc/Firefox%20140.0b6.dmg"; - locale = "oc"; - arch = "mac"; - sha256 = "428788ef0bdf30d681924a9a581581ba63fdd2bd8152b3b33e020b9db2f298d7"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/pa-IN/Firefox%20140.0b6.dmg"; - locale = "pa-IN"; - arch = "mac"; - sha256 = "2cc98f9a1b36ba958be93784731a629b535b5c310b4ed7dd3c979cc543076288"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/pl/Firefox%20140.0b6.dmg"; - locale = "pl"; - arch = "mac"; - sha256 = "43ab0fdd7d995d4c60d962c3db5f1907a4f8ae8f5bbf9401a96b424d458cee48"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/pt-BR/Firefox%20140.0b6.dmg"; - locale = "pt-BR"; - arch = "mac"; - sha256 = "b469cbd87a88d09fae83f8b2ba395ebc468935b6beb7db8b83bcb1f47396ff4e"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/pt-PT/Firefox%20140.0b6.dmg"; - locale = "pt-PT"; - arch = "mac"; - sha256 = "31e3ad58f6790f04383bd0e32c530cea7559d8234a1faa234a40405181ada782"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/rm/Firefox%20140.0b6.dmg"; - locale = "rm"; - arch = "mac"; - sha256 = "c5f25f30d5f12576711457bc884ba679ac790108c3db1ee70b307205b6875cf4"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/ro/Firefox%20140.0b6.dmg"; - locale = "ro"; - arch = "mac"; - sha256 = "a3a266d6889610681ac0b4f5226190aa7ef64df557bf69df17a0e8ab9cc336f8"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/ru/Firefox%20140.0b6.dmg"; - locale = "ru"; - arch = "mac"; - sha256 = "017954fc938efc470dffb50141944b041958a50c79fd24f6172a180db46e2078"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/sat/Firefox%20140.0b6.dmg"; - locale = "sat"; - arch = "mac"; - sha256 = "75d42a50eb3526478cd966e0327733426b74e5159733527f34afee1cc1de2596"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/sc/Firefox%20140.0b6.dmg"; - locale = "sc"; - arch = "mac"; - sha256 = "53946a3f22d87ea274b3ea737150a6f80095a6be9b158ebe2f287739a7835732"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/sco/Firefox%20140.0b6.dmg"; - locale = "sco"; - arch = "mac"; - sha256 = "9dda7a42af7a7a04b0301f2fc528cf908da7612d5cab43dc8dbb094e4d5faee2"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/si/Firefox%20140.0b6.dmg"; - locale = "si"; - arch = "mac"; - sha256 = "d7bb27ea910c83d42522f57dd1da9212a3294aa3850aebaac2695d38e46f4ef6"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/sk/Firefox%20140.0b6.dmg"; - locale = "sk"; - arch = "mac"; - sha256 = "dde7bb699ca39a97b8a9d6438df6bc352c51dad20b5981dfe38251cc269dc7f5"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/skr/Firefox%20140.0b6.dmg"; - locale = "skr"; - arch = "mac"; - sha256 = "eebc4cdbdd6676ccdcf8b180ce7c2682b9f8e7350e79a24564e34cfa1607b4cf"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/sl/Firefox%20140.0b6.dmg"; - locale = "sl"; - arch = "mac"; - sha256 = "7c2ea1dca6b8d9cf2bfa1dd6293a6b348e6ab18a100b406f5d3a30c71f1b2e7d"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/son/Firefox%20140.0b6.dmg"; - locale = "son"; - arch = "mac"; - sha256 = "8b0c01e1cbb12df69fe954c63035881f9f3333b330134903eafcc215d831534d"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/sq/Firefox%20140.0b6.dmg"; - locale = "sq"; - arch = "mac"; - sha256 = "2a586a51f2422727b47b1adc60409da330a6a49bdd216116a2b45cea0d903437"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/sr/Firefox%20140.0b6.dmg"; - locale = "sr"; - arch = "mac"; - sha256 = "df767db631863e930224f4f5b434af5dda0b0a41696ec5c158173b52f0f8604a"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/sv-SE/Firefox%20140.0b6.dmg"; - locale = "sv-SE"; - arch = "mac"; - sha256 = "029264295eac7a66f050c8aa6951e036b8bceb77e4371af076e57d86d9b3df24"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/szl/Firefox%20140.0b6.dmg"; - locale = "szl"; - arch = "mac"; - sha256 = "2c3849b9b9c87b5b9f6e979f8a6fafa4b01c9bc14124843315039e691a38edd4"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/ta/Firefox%20140.0b6.dmg"; - locale = "ta"; - arch = "mac"; - sha256 = "d2943aa24ff22e41068bcc90bc6303e659f484d5bcacd7af97788cbd10b50100"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/te/Firefox%20140.0b6.dmg"; - locale = "te"; - arch = "mac"; - sha256 = "1e50c08c4463e659ff845a49cc199653ae686ef858755cba389cf73da128d88d"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/tg/Firefox%20140.0b6.dmg"; - locale = "tg"; - arch = "mac"; - sha256 = "37f238ad85c4cf54b0ee15e85925fd20089f43419ae5ee715548c572a2cfd437"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/th/Firefox%20140.0b6.dmg"; - locale = "th"; - arch = "mac"; - sha256 = "e1a656061c4a75e9d615e5a5fc606a9d9f0d5eee1b6d7673011e86913efd203c"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/tl/Firefox%20140.0b6.dmg"; - locale = "tl"; - arch = "mac"; - sha256 = "8e0a4dce49b2d37c7ca42109693d2b8cc308b2fd5e61bc2671322e31a7f38fe8"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/tr/Firefox%20140.0b6.dmg"; - locale = "tr"; - arch = "mac"; - sha256 = "8956253cbaab457d68da6c59d6babfc7efd69a514ccb0b97926cf1574a12c104"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/trs/Firefox%20140.0b6.dmg"; - locale = "trs"; - arch = "mac"; - sha256 = "c4935598b8ddb10a3c7078acb982d303d4b10d018104e4af80e4cc9e68bd3faf"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/uk/Firefox%20140.0b6.dmg"; - locale = "uk"; - arch = "mac"; - sha256 = "3fbaf24aaeec14b7a5448a6b1c040652dde18f20c77eaf84a464649132dc52db"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/ur/Firefox%20140.0b6.dmg"; - locale = "ur"; - arch = "mac"; - sha256 = "a1669faa39064f6d931c8dbf8f87744ddba9fc084a6d7dca8260e1a07d73557e"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/uz/Firefox%20140.0b6.dmg"; - locale = "uz"; - arch = "mac"; - sha256 = "fd3a3c761959a2397731d1238c5cecb2a5be1ae7c94d31d6443816cc0401d856"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/vi/Firefox%20140.0b6.dmg"; - locale = "vi"; - arch = "mac"; - sha256 = "0afa6ce2c479289cc88973ff877bc5c3d25ecf60a6fd8c8c65d08bb60dea16f7"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/xh/Firefox%20140.0b6.dmg"; - locale = "xh"; - arch = "mac"; - sha256 = "96ccfcd62e221d67e1f58e279396af1c0ae4b39eb96873df419b78ef5e002fd4"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/zh-CN/Firefox%20140.0b6.dmg"; - locale = "zh-CN"; - arch = "mac"; - sha256 = "1c682d40183b7256d5e0759399cb486639ce56cce460811f962e754ee9196ac2"; - } - { - url = "https://archive.mozilla.org/pub/firefox/releases/140.0b6/mac/zh-TW/Firefox%20140.0b6.dmg"; - locale = "zh-TW"; - arch = "mac"; - sha256 = "bba2984115271c7a9c21d80b98b373a5b44c032e7b966b45602fec6904df7e0e"; - } - ]; -} diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix index 1d2dfc1f5ef5..dba0cf0e30cb 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/default.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix @@ -14,7 +14,6 @@ pciutils, pipewire, adwaita-icon-theme, - channel, generated, writeScript, writeText, @@ -34,8 +33,7 @@ let inherit (generated) version sources; - binaryName = - if (channel == "release" || stdenv.hostPlatform.isDarwin) then "firefox" else "firefox-${channel}"; + binaryName = "firefox"; mozillaPlatforms = { i686-linux = "linux-i686"; @@ -68,7 +66,7 @@ let source = lib.findFirst (sourceMatches mozLocale) defaultSource sources; - pname = "firefox-${channel}-bin-unwrapped"; + pname = "firefox-bin-unwrapped"; in stdenv.mkDerivation { @@ -144,8 +142,6 @@ stdenv.mkDerivation { updateScript = import ./update.nix { inherit pname - channel - lib writeScript xidel coreutils @@ -155,11 +151,7 @@ stdenv.mkDerivation { curl runtimeShell ; - baseUrl = - if channel == "developer-edition" then - "https://archive.mozilla.org/pub/devedition/releases/" - else - "https://archive.mozilla.org/pub/firefox/releases/"; + baseUrl = "https://archive.mozilla.org/pub/firefox/releases/"; }; }; diff --git a/pkgs/applications/networking/browsers/firefox-bin/developer-edition_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/developer-edition_sources.nix deleted file mode 100644 index 02dcc819e4f8..000000000000 --- a/pkgs/applications/networking/browsers/firefox-bin/developer-edition_sources.nix +++ /dev/null @@ -1,2477 +0,0 @@ -{ - version = "140.0b5"; - sources = [ - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/ach/firefox-140.0b5.tar.xz"; - locale = "ach"; - arch = "linux-x86_64"; - sha256 = "1f0375f886207ee6dde86ddbb12445774197020d37d749560618865b479b98d7"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/af/firefox-140.0b5.tar.xz"; - locale = "af"; - arch = "linux-x86_64"; - sha256 = "7e7cf35862873d17ab3bbc1feb285d79b263b8a3cd78e310dabef83ba622979e"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/an/firefox-140.0b5.tar.xz"; - locale = "an"; - arch = "linux-x86_64"; - sha256 = "95700689dccb1e1035f8642c4fd3ccba7cd7985b967992cabd75ab82d3bf83d5"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/ar/firefox-140.0b5.tar.xz"; - locale = "ar"; - arch = "linux-x86_64"; - sha256 = "214f50dcc2566cef3db820eef8b211187d1f46ab973b55bce948f975166ec527"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/ast/firefox-140.0b5.tar.xz"; - locale = "ast"; - arch = "linux-x86_64"; - sha256 = "9847906a18ee8f83708c20954443cecd00644b83f0b9fbbd3fc435e728fc3881"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/az/firefox-140.0b5.tar.xz"; - locale = "az"; - arch = "linux-x86_64"; - sha256 = "73dd33ed39918c78a298808fbd6666e122ef5bb8e027437e5b84c9fd0ed49c8e"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/be/firefox-140.0b5.tar.xz"; - locale = "be"; - arch = "linux-x86_64"; - sha256 = "dc15d821f6ef14ad47e1faaf47fa33e1f47e6d2fe2c6991c1b05c42b93caa646"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/bg/firefox-140.0b5.tar.xz"; - locale = "bg"; - arch = "linux-x86_64"; - sha256 = "15754b928c5de3ad978134ec7a41cab691e80541a7b77d40f587a4ef49056ca3"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/bn/firefox-140.0b5.tar.xz"; - locale = "bn"; - arch = "linux-x86_64"; - sha256 = "d6608a03f465ba43d6a19745d371e896f751c9965b39d48864fb51acd657ade9"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/br/firefox-140.0b5.tar.xz"; - locale = "br"; - arch = "linux-x86_64"; - sha256 = "e92b43c268562f6601367d8fcd5cbff941c0bde8c2f5e83f01a5e8606d25e1b4"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/bs/firefox-140.0b5.tar.xz"; - locale = "bs"; - arch = "linux-x86_64"; - sha256 = "d93a05def66a977d4a30fbd84c9238128ce1f4790584b7a8d649b953b97b63ca"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/ca-valencia/firefox-140.0b5.tar.xz"; - locale = "ca-valencia"; - arch = "linux-x86_64"; - sha256 = "ce716548b10a8dc0e61b065e9b388f00f83596f7cd02aad650260f6690bb3e26"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/ca/firefox-140.0b5.tar.xz"; - locale = "ca"; - arch = "linux-x86_64"; - sha256 = "649ca4101a10ef6dd1daa520b1cf6a131c1379298241db3cee23d5df6ef60677"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/cak/firefox-140.0b5.tar.xz"; - locale = "cak"; - arch = "linux-x86_64"; - sha256 = "6fb8e27c6068aa3b91e4405b1c5272ef9258cc5d9ebc8b521129694faa7afdab"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/cs/firefox-140.0b5.tar.xz"; - locale = "cs"; - arch = "linux-x86_64"; - sha256 = "665afa6ff95c2893d025827e19a2a00283f4317a5dbe70fd699b72f6c1b88032"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/cy/firefox-140.0b5.tar.xz"; - locale = "cy"; - arch = "linux-x86_64"; - sha256 = "747e19b6455197097bff2376537e07a7b221683b57cd8f94d87531607f9c4c60"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/da/firefox-140.0b5.tar.xz"; - locale = "da"; - arch = "linux-x86_64"; - sha256 = "3c07cb7562cccaee370526f6f3377eba01bd497d15b32e38813aaf20e872a6f1"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/de/firefox-140.0b5.tar.xz"; - locale = "de"; - arch = "linux-x86_64"; - sha256 = "3190ba13d9e483e6b245058e73fcfa2b14b45ecfca089e0d58b719903bcbc49f"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/dsb/firefox-140.0b5.tar.xz"; - locale = "dsb"; - arch = "linux-x86_64"; - sha256 = "b989fb3ef4c972bd17eb590e66e4f829bdcd1ec3d1a1f1cfe0c16607448c8e4b"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/el/firefox-140.0b5.tar.xz"; - locale = "el"; - arch = "linux-x86_64"; - sha256 = "b903e43d0e2d1ec0b434c979e90a00c4df1a39f59c5698b0dbdfc1f1eccae780"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/en-CA/firefox-140.0b5.tar.xz"; - locale = "en-CA"; - arch = "linux-x86_64"; - sha256 = "1b6586b6d6e646f690d8ef05fe05a019e3320fbd16b4945ddcbb18bbf841ee80"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/en-GB/firefox-140.0b5.tar.xz"; - locale = "en-GB"; - arch = "linux-x86_64"; - sha256 = "b80c1cf17aa66d6d1cf35f3166ca9d409ac169e7f33f7159daebfe7cc714f825"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/en-US/firefox-140.0b5.tar.xz"; - locale = "en-US"; - arch = "linux-x86_64"; - sha256 = "e57259f92dc44630d5f0ed60e24cc3358cc7053754171134f1c8d5413aa297e0"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/eo/firefox-140.0b5.tar.xz"; - locale = "eo"; - arch = "linux-x86_64"; - sha256 = "b413dd6127f3661945a98691d972b72dde13dff6460e0a8a7cdf4b0b8ac05bf6"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/es-AR/firefox-140.0b5.tar.xz"; - locale = "es-AR"; - arch = "linux-x86_64"; - sha256 = "e832a156c248c826e2d4b3026fcec5dfa2c395a22de474d26a08d912e150b029"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/es-CL/firefox-140.0b5.tar.xz"; - locale = "es-CL"; - arch = "linux-x86_64"; - sha256 = "72b105af7610696a56f0ac576d92f09c2890891bc6057988f9af7e803893dc7f"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/es-ES/firefox-140.0b5.tar.xz"; - locale = "es-ES"; - arch = "linux-x86_64"; - sha256 = "8b49655f00932ba12a7c4d182f00c69109130c0d55dfe9c58400c1d81c79aa70"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/es-MX/firefox-140.0b5.tar.xz"; - locale = "es-MX"; - arch = "linux-x86_64"; - sha256 = "00ecb996a022264e13bd1d7877dbcbbefc16ebd272cb55d0e2bf6f59f17c1629"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/et/firefox-140.0b5.tar.xz"; - locale = "et"; - arch = "linux-x86_64"; - sha256 = "371a145b068313d3bc2f2a2229e6db80a109b5d82c2030f9e952a1638dc79a31"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/eu/firefox-140.0b5.tar.xz"; - locale = "eu"; - arch = "linux-x86_64"; - sha256 = "df1c9b82cdfafee8495e7c2f668fcad116866f9cff8047a3cee9490242386edd"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/fa/firefox-140.0b5.tar.xz"; - locale = "fa"; - arch = "linux-x86_64"; - sha256 = "9209168394b752bd142ede109f93cb2291c58d61457a1d8e9835525a43befbd9"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/ff/firefox-140.0b5.tar.xz"; - locale = "ff"; - arch = "linux-x86_64"; - sha256 = "f56c153920106cfe48bd822e6e1c8d1c9d9075bc868a06e3ad92a38a603f0b1d"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/fi/firefox-140.0b5.tar.xz"; - locale = "fi"; - arch = "linux-x86_64"; - sha256 = "3dd2e61b36e421c21bab47aa32e72156197f650f1d930a39106b1519b30bc9a6"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/fr/firefox-140.0b5.tar.xz"; - locale = "fr"; - arch = "linux-x86_64"; - sha256 = "83ca5faffd5679f63d9abf7ce95e68ef66e764e49ac0babdd35ec20217086a47"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/fur/firefox-140.0b5.tar.xz"; - locale = "fur"; - arch = "linux-x86_64"; - sha256 = "43e0cce06fb685e2a7c2dd0c19cb8d340d821976ca582400222626bc75cec5f6"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/fy-NL/firefox-140.0b5.tar.xz"; - locale = "fy-NL"; - arch = "linux-x86_64"; - sha256 = "804fbcdaecab060280ca1c86f92c41b9e5e4b8384eafebba56ce2524f8a2ae7d"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/ga-IE/firefox-140.0b5.tar.xz"; - locale = "ga-IE"; - arch = "linux-x86_64"; - sha256 = "b4e9e07084cc1683befabd6353b7df48bb093c08d52eebf1c8ae571f106553bb"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/gd/firefox-140.0b5.tar.xz"; - locale = "gd"; - arch = "linux-x86_64"; - sha256 = "37b708878f8835eb98214d236ba6749776dc98db251f4b5443b9405882920e51"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/gl/firefox-140.0b5.tar.xz"; - locale = "gl"; - arch = "linux-x86_64"; - sha256 = "a91659c8dcef37a9b94c71e8e0741ace6e705e9f36dfc65b1a604dcc50357ade"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/gn/firefox-140.0b5.tar.xz"; - locale = "gn"; - arch = "linux-x86_64"; - sha256 = "6d50592dc20b4e3b874eef21e50c5b5b5bff5fcce5d71c959c8c044e690648ca"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/gu-IN/firefox-140.0b5.tar.xz"; - locale = "gu-IN"; - arch = "linux-x86_64"; - sha256 = "15ef43dba8a61a8fb0717b132b57d510f57f40ceeab758cfca5b4b7bb152cc55"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/he/firefox-140.0b5.tar.xz"; - locale = "he"; - arch = "linux-x86_64"; - sha256 = "bb9c0e28b3526e2873728ed0b912cf3ac5aabbe48e7cd3181b75bbcd2706fa06"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/hi-IN/firefox-140.0b5.tar.xz"; - locale = "hi-IN"; - arch = "linux-x86_64"; - sha256 = "078f4ff60fedb0ca2f4955997cc9f80c77923195aa45ff9c4a9d428a5982ff4d"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/hr/firefox-140.0b5.tar.xz"; - locale = "hr"; - arch = "linux-x86_64"; - sha256 = "7bde8d2f20e21705000f9ccde96ac4444a002d822e7d8b35b6b5550931a42b9d"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/hsb/firefox-140.0b5.tar.xz"; - locale = "hsb"; - arch = "linux-x86_64"; - sha256 = "2143fe5abf7cbc3bcefdfb17cb6ab9e751bd33bf8b1e9a00fad356d3490b34d7"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/hu/firefox-140.0b5.tar.xz"; - locale = "hu"; - arch = "linux-x86_64"; - sha256 = "fbba0f840bc931ab4515fc8e5d9f38ac54ee090f127f381160c9f8a26f1d12cc"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/hy-AM/firefox-140.0b5.tar.xz"; - locale = "hy-AM"; - arch = "linux-x86_64"; - sha256 = "bd3259df39763727d25de9bba943bc4037535c90ba3ebfa42e7b1835b683e772"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/ia/firefox-140.0b5.tar.xz"; - locale = "ia"; - arch = "linux-x86_64"; - sha256 = "a0bd18ac32ff40fca8b255878013eee13a357d2aab8693376ca9e17d535bc8c8"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/id/firefox-140.0b5.tar.xz"; - locale = "id"; - arch = "linux-x86_64"; - sha256 = "de80edc3b03c238f448a7710fc74c061ed4a281692771667788cf2ad1afa175e"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/is/firefox-140.0b5.tar.xz"; - locale = "is"; - arch = "linux-x86_64"; - sha256 = "b85126641862e01bb17da1f8e316630157d7dfe18f4670579221b049f8edd891"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/it/firefox-140.0b5.tar.xz"; - locale = "it"; - arch = "linux-x86_64"; - sha256 = "456adcf9c274637e211c8d0f19e64f288ab83a4a24b353fc55b399ed92ba8ebd"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/ja/firefox-140.0b5.tar.xz"; - locale = "ja"; - arch = "linux-x86_64"; - sha256 = "90235c0a0fa89fb72e64760fa613ffed6bc4c829019a4fd4744e15be523891e9"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/ka/firefox-140.0b5.tar.xz"; - locale = "ka"; - arch = "linux-x86_64"; - sha256 = "be4c4ed1517876d1b8fc6bc61827f2517e41a5f6456f9a66687948e458699da8"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/kab/firefox-140.0b5.tar.xz"; - locale = "kab"; - arch = "linux-x86_64"; - sha256 = "19e9316dd5b08edb3e44a067446c2d87fc222a562c1fca8f2b8985652b0b69b1"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/kk/firefox-140.0b5.tar.xz"; - locale = "kk"; - arch = "linux-x86_64"; - sha256 = "9bcd6689af6b3931acebdf57eae4d36b9fbe13e1efe7e1c458af146a6fca0b71"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/km/firefox-140.0b5.tar.xz"; - locale = "km"; - arch = "linux-x86_64"; - sha256 = "461dec754f0c5acb4100fd980aa50244dba4f17129dba26bef5d25bc95bc7079"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/kn/firefox-140.0b5.tar.xz"; - locale = "kn"; - arch = "linux-x86_64"; - sha256 = "d7b6b9442a088633245e7dfa9d75748d3c8a8549eeaac41b147d2d61e2ea2c52"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/ko/firefox-140.0b5.tar.xz"; - locale = "ko"; - arch = "linux-x86_64"; - sha256 = "97ba610de2be5754682a903f56bfb486301ea9fdd6fd59320715a05cac426bd5"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/lij/firefox-140.0b5.tar.xz"; - locale = "lij"; - arch = "linux-x86_64"; - sha256 = "0a96d7be3e3522ae802eca359080f99adaeb5cb534c0e96588a87b3c1f6899d3"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/lt/firefox-140.0b5.tar.xz"; - locale = "lt"; - arch = "linux-x86_64"; - sha256 = "2fd758c3e16e9c2289683bfe219f7b950269f21a359fec496c3fffbff915bb13"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/lv/firefox-140.0b5.tar.xz"; - locale = "lv"; - arch = "linux-x86_64"; - sha256 = "b0375b051d45de1722893042c2a6adf36cfb0a463078da62603a06421610b2f2"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/mk/firefox-140.0b5.tar.xz"; - locale = "mk"; - arch = "linux-x86_64"; - sha256 = "fdc935009644294a4349474c28d087c29ca1a07934dc7b5ba11e34c367f858e0"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/mr/firefox-140.0b5.tar.xz"; - locale = "mr"; - arch = "linux-x86_64"; - sha256 = "38675d2e5500a21d93f8184f0e1839a490405dd56701bae901a1f4fecd0e41fa"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/ms/firefox-140.0b5.tar.xz"; - locale = "ms"; - arch = "linux-x86_64"; - sha256 = "9fe67041bba54945fbdf969c0c585bee99560132a2fe85db632400c08cf341d0"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/my/firefox-140.0b5.tar.xz"; - locale = "my"; - arch = "linux-x86_64"; - sha256 = "bc8d5e0d70b4c0ba24ba956b460f5d70fd6a9c2d09bb6effa9f142655ccb6547"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/nb-NO/firefox-140.0b5.tar.xz"; - locale = "nb-NO"; - arch = "linux-x86_64"; - sha256 = "b97f0e0d3f2018d82778039a27a11b67021936c9bf526ff85b4795e6040fe563"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/ne-NP/firefox-140.0b5.tar.xz"; - locale = "ne-NP"; - arch = "linux-x86_64"; - sha256 = "05d9dd4c60971f42262e16cb42417acdbe36c595fada3bdac9b4ad1b9797d736"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/nl/firefox-140.0b5.tar.xz"; - locale = "nl"; - arch = "linux-x86_64"; - sha256 = "ddf3b254e789cc5133ed56b3ddf83f8cec6b9f1b8d840d3885c92c3395b18198"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/nn-NO/firefox-140.0b5.tar.xz"; - locale = "nn-NO"; - arch = "linux-x86_64"; - sha256 = "34aece8d99b5b0996b5fc46ce3bc622e052dce3bff8313c4248de22e2391823c"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/oc/firefox-140.0b5.tar.xz"; - locale = "oc"; - arch = "linux-x86_64"; - sha256 = "f7f36e08f8602abcaa855cde1f825e6ea68aeef51fb9ccf48cab40868ddb7ad0"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/pa-IN/firefox-140.0b5.tar.xz"; - locale = "pa-IN"; - arch = "linux-x86_64"; - sha256 = "9a6d448c1b564dbe8f839ea47ff03d5f9b029895e095d916ac9d6b4e47957887"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/pl/firefox-140.0b5.tar.xz"; - locale = "pl"; - arch = "linux-x86_64"; - sha256 = "cfcec2e6a45f8808d5ac1ab24760b28a21c77851b607e358b225a144fbf87e97"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/pt-BR/firefox-140.0b5.tar.xz"; - locale = "pt-BR"; - arch = "linux-x86_64"; - sha256 = "b586d6f8327547fd985ab8ece9effe5ae508f839a9c4e85012c39174fab21eb4"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/pt-PT/firefox-140.0b5.tar.xz"; - locale = "pt-PT"; - arch = "linux-x86_64"; - sha256 = "4aec4f5a831ad1720d3705059ac2a7ada0842b730d9df5ba00b628f068209a6d"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/rm/firefox-140.0b5.tar.xz"; - locale = "rm"; - arch = "linux-x86_64"; - sha256 = "03fefcfec26e178b1af63f35c8889536a96af3f40f95ec967b7f47e3af28f061"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/ro/firefox-140.0b5.tar.xz"; - locale = "ro"; - arch = "linux-x86_64"; - sha256 = "8b0ad9ee6e3572bb46cd2ee3f0d2ce5c0a31801b713c28307b9239c124f9baee"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/ru/firefox-140.0b5.tar.xz"; - locale = "ru"; - arch = "linux-x86_64"; - sha256 = "81c813ef203182d8d1d3b66ba9f096dfa6be1620d013852f4582c728ebc1e08e"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/sat/firefox-140.0b5.tar.xz"; - locale = "sat"; - arch = "linux-x86_64"; - sha256 = "171b85bf91ed8e51568ca1510455d6f12044a414604e0950c20ae9b7ab9e7425"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/sc/firefox-140.0b5.tar.xz"; - locale = "sc"; - arch = "linux-x86_64"; - sha256 = "dfe78faa9752928e3fa198379392963363c22669d6a830ab5d03fa596a436584"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/sco/firefox-140.0b5.tar.xz"; - locale = "sco"; - arch = "linux-x86_64"; - sha256 = "333cb935eafd06ede21d8f29fc9b94c2ef617f97b7ef29612af5842e57a0a20f"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/si/firefox-140.0b5.tar.xz"; - locale = "si"; - arch = "linux-x86_64"; - sha256 = "7fc61ce0118c16c866ae74e15aa68b8cba8a799afead5841efe85c799adbeb21"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/sk/firefox-140.0b5.tar.xz"; - locale = "sk"; - arch = "linux-x86_64"; - sha256 = "fbf4c3f430558a1925f8aeb263ef9f31313b7dac9a5f965cca5c58643d183e61"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/skr/firefox-140.0b5.tar.xz"; - locale = "skr"; - arch = "linux-x86_64"; - sha256 = "ae4933c0bc448b40f44de22ea8ca6d3c65fc767df3e41a1224c44365a9c86f58"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/sl/firefox-140.0b5.tar.xz"; - locale = "sl"; - arch = "linux-x86_64"; - sha256 = "4a91e009d7ee4fb7586874212f5c8244c228836ca22f5eb7a2dbe2b915587492"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/son/firefox-140.0b5.tar.xz"; - locale = "son"; - arch = "linux-x86_64"; - sha256 = "2448c45428dc05793a0fe4fe90209809879b4476d4199f942ca4e4bbdbf2b025"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/sq/firefox-140.0b5.tar.xz"; - locale = "sq"; - arch = "linux-x86_64"; - sha256 = "0f11bea317827b4fd23cbc6e3bb70aa10f7f879886c16a9106fee8521ca1f440"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/sr/firefox-140.0b5.tar.xz"; - locale = "sr"; - arch = "linux-x86_64"; - sha256 = "449844010b9fe25100d21a796203cd05353b3151ea012a7f6dcabd2992057c2d"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/sv-SE/firefox-140.0b5.tar.xz"; - locale = "sv-SE"; - arch = "linux-x86_64"; - sha256 = "f03a9888f5b98b3bf371bc0617a604892abda50220348bb76fa41d2600ad091e"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/szl/firefox-140.0b5.tar.xz"; - locale = "szl"; - arch = "linux-x86_64"; - sha256 = "68b101310ca823bb8ca02a86644704afdd6ce52378d96537cca4cbeee6670a5b"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/ta/firefox-140.0b5.tar.xz"; - locale = "ta"; - arch = "linux-x86_64"; - sha256 = "199406d08eb4b0c0002123eb13bb43d894f19de3686406542b75b63ea9debdca"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/te/firefox-140.0b5.tar.xz"; - locale = "te"; - arch = "linux-x86_64"; - sha256 = "4fe2b70b0038bd505b1d98d711bfb7495decaae51dbc9a7728e23ad05d72fc60"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/tg/firefox-140.0b5.tar.xz"; - locale = "tg"; - arch = "linux-x86_64"; - sha256 = "bebe0aa276b1aa9c029898487ad71e4ab7e19419c973afd0bb308a86c70d1af1"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/th/firefox-140.0b5.tar.xz"; - locale = "th"; - arch = "linux-x86_64"; - sha256 = "26f91bf692ab8e1ded4f1cdd7701786098c4019ee5cbf55abc5c7ed1dabb1e70"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/tl/firefox-140.0b5.tar.xz"; - locale = "tl"; - arch = "linux-x86_64"; - sha256 = "4f143b73ee41bcaa442db99e65a86f47d2f517e854fdaea51ac32f23acc51feb"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/tr/firefox-140.0b5.tar.xz"; - locale = "tr"; - arch = "linux-x86_64"; - sha256 = "4804e037f5f1c77d94f539a7ecf55ed1fd76e24a240276a32274d1bab8b78f0f"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/trs/firefox-140.0b5.tar.xz"; - locale = "trs"; - arch = "linux-x86_64"; - sha256 = "0eecf30a34a7253efb99fd12f354dda39aba1a967ef9fdc2491399a7fa2d6f83"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/uk/firefox-140.0b5.tar.xz"; - locale = "uk"; - arch = "linux-x86_64"; - sha256 = "1676a467fc60e18d7625a2d8ff56447ee2d324ece1798f2a72e01fdd04b07590"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/ur/firefox-140.0b5.tar.xz"; - locale = "ur"; - arch = "linux-x86_64"; - sha256 = "d1be9330ced56239b4b060fa0840dc66e0eb6672e56b7c53ee6d3a9a7ab66497"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/uz/firefox-140.0b5.tar.xz"; - locale = "uz"; - arch = "linux-x86_64"; - sha256 = "fba3e9e66bae2d51de4d619c878434794a31928a6f17198b88cf9b3611b5dd8b"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/vi/firefox-140.0b5.tar.xz"; - locale = "vi"; - arch = "linux-x86_64"; - sha256 = "389182910fc820cd7742b6adb9693c6d819e7ef18d8d59c3947d742f863858c4"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/xh/firefox-140.0b5.tar.xz"; - locale = "xh"; - arch = "linux-x86_64"; - sha256 = "54a8be4548e339b09d8f0a580e21dcfaf6b805879cc4b11d322ad1c7e61814c3"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/zh-CN/firefox-140.0b5.tar.xz"; - locale = "zh-CN"; - arch = "linux-x86_64"; - sha256 = "910a3c47ad88ce41190640d00d13b9bce983fe82b1b424c2e0ea8ffdc46cb8c7"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-x86_64/zh-TW/firefox-140.0b5.tar.xz"; - locale = "zh-TW"; - arch = "linux-x86_64"; - sha256 = "084aef73cc86d91d0de87756d24c10bd9408d669766be163ef2ca654255d3ad2"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/ach/firefox-140.0b5.tar.xz"; - locale = "ach"; - arch = "linux-i686"; - sha256 = "31b38971dbb4179219abebba2e4af9ebc7408cc22efa7d509a6d2e95e4483d31"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/af/firefox-140.0b5.tar.xz"; - locale = "af"; - arch = "linux-i686"; - sha256 = "088d709c208f5b6c61ac3b2c9f92b1033f2f4e12ec8c59d6818e489f83c6ce7a"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/an/firefox-140.0b5.tar.xz"; - locale = "an"; - arch = "linux-i686"; - sha256 = "2f6ea2031c3297c08acf4129727c439839a8187169caaa3cfb4f7e0af435c0d7"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/ar/firefox-140.0b5.tar.xz"; - locale = "ar"; - arch = "linux-i686"; - sha256 = "f655136b09c77116ea3a34ff249233e704630f82fbeeca4e69e536e6cf54e5f4"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/ast/firefox-140.0b5.tar.xz"; - locale = "ast"; - arch = "linux-i686"; - sha256 = "bc037b74217b18486f22f749150c43fdd5832f9468fcd78f874d686af07f9d12"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/az/firefox-140.0b5.tar.xz"; - locale = "az"; - arch = "linux-i686"; - sha256 = "7518cb0f99987c58c6974073e207b3d61acf0da2205113c5b2850e017d96ef6a"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/be/firefox-140.0b5.tar.xz"; - locale = "be"; - arch = "linux-i686"; - sha256 = "3e282507c63ba8c1cae72de29776aa0acafee8d3ce761e08cd6be80679de5806"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/bg/firefox-140.0b5.tar.xz"; - locale = "bg"; - arch = "linux-i686"; - sha256 = "802ad40c1faf63046840e79268ab2c1f57e07976c61c0b88569c0ae6b1fa1126"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/bn/firefox-140.0b5.tar.xz"; - locale = "bn"; - arch = "linux-i686"; - sha256 = "0d7e8b4014c21fcd432026a0ba8ec404fb29e19788ce781703e3c66af888c989"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/br/firefox-140.0b5.tar.xz"; - locale = "br"; - arch = "linux-i686"; - sha256 = "73e555c48f77650ac03e23f914bf555bb680aa43cdf31611149b5605106fbd6f"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/bs/firefox-140.0b5.tar.xz"; - locale = "bs"; - arch = "linux-i686"; - sha256 = "b21e377b6fd7caab4b3296936bff662e3798ebee398d81569937e14b3a7911c9"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/ca-valencia/firefox-140.0b5.tar.xz"; - locale = "ca-valencia"; - arch = "linux-i686"; - sha256 = "5c6e85f38e21832b4bde1a818b013559ca0afc13877b84f31e2fd0fd15d23110"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/ca/firefox-140.0b5.tar.xz"; - locale = "ca"; - arch = "linux-i686"; - sha256 = "636fa17ab60cc9229d6def795fdd225104455d5c39764af63534f8c9cbeb038f"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/cak/firefox-140.0b5.tar.xz"; - locale = "cak"; - arch = "linux-i686"; - sha256 = "c1a802e80a78e50504c0134071f83ecffdfe8ec96960ab6b13c586b29bc7b6d9"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/cs/firefox-140.0b5.tar.xz"; - locale = "cs"; - arch = "linux-i686"; - sha256 = "2f91cc15d3c298c70c41ec327c462bff3a25bd84a292a731ef0ede406253aa22"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/cy/firefox-140.0b5.tar.xz"; - locale = "cy"; - arch = "linux-i686"; - sha256 = "dbaa4dd4487b3851c82ae57157076197df67eb51d635dce9ba4bdc107c121ea6"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/da/firefox-140.0b5.tar.xz"; - locale = "da"; - arch = "linux-i686"; - sha256 = "e70bad35611124a24952eb7e5eefb2e40df4d7c91998fa62f8da1d73c468f6f8"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/de/firefox-140.0b5.tar.xz"; - locale = "de"; - arch = "linux-i686"; - sha256 = "ad4a122375d2bbf9d5f53d8001a13e7655b42f7cd1e8f85c4ccdeb5a1fcb29bb"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/dsb/firefox-140.0b5.tar.xz"; - locale = "dsb"; - arch = "linux-i686"; - sha256 = "cf60d3e0baa038a8e8541ff60df61f992d2e8924f8b623a853f1c18b6b621c70"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/el/firefox-140.0b5.tar.xz"; - locale = "el"; - arch = "linux-i686"; - sha256 = "c182514ffe63d2f89f048034df5cbab78503a0c0604abe01beb3877be052fa83"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/en-CA/firefox-140.0b5.tar.xz"; - locale = "en-CA"; - arch = "linux-i686"; - sha256 = "2e35526cfbf9ec90ca05e03086eb8ed38126c7df4e2019549b071b1fc1c702c9"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/en-GB/firefox-140.0b5.tar.xz"; - locale = "en-GB"; - arch = "linux-i686"; - sha256 = "faffc77533d11a3c95ae03604cea6d89724fd3888b80a75d3d294ba0e1a3738a"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/en-US/firefox-140.0b5.tar.xz"; - locale = "en-US"; - arch = "linux-i686"; - sha256 = "6b4c4042ebba0447e2abdba1492f74a3d64294c08f6ead9486389df079719511"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/eo/firefox-140.0b5.tar.xz"; - locale = "eo"; - arch = "linux-i686"; - sha256 = "7533ece466a96dbde70e989b65f6cb54d932198b1c0b14a436513a23dbf70d73"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/es-AR/firefox-140.0b5.tar.xz"; - locale = "es-AR"; - arch = "linux-i686"; - sha256 = "3f9f4246aa07b6e4eebb829147b6b36677f640d4165f0309e573577abdec0090"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/es-CL/firefox-140.0b5.tar.xz"; - locale = "es-CL"; - arch = "linux-i686"; - sha256 = "d38573e34c9e65d91bb2183e6a4b2dae26746a3906eaf61326810da7c16b6b60"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/es-ES/firefox-140.0b5.tar.xz"; - locale = "es-ES"; - arch = "linux-i686"; - sha256 = "31a88ca04d74fa7e9276090eb75c5605cae5e560b4383b2308486dd31b6aac2c"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/es-MX/firefox-140.0b5.tar.xz"; - locale = "es-MX"; - arch = "linux-i686"; - sha256 = "dba3c5ee85d385c9ba25bc30f6c1dad03d942f5ef8263dfdcfc92daff280fc94"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/et/firefox-140.0b5.tar.xz"; - locale = "et"; - arch = "linux-i686"; - sha256 = "9be9acf89163402f93ace157412617d6a4b4cc15c657d7053eb1237029738e80"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/eu/firefox-140.0b5.tar.xz"; - locale = "eu"; - arch = "linux-i686"; - sha256 = "519305e7e193995715b89a21dc2a625071fbdf3ac65aef24ce5a8617864b3acc"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/fa/firefox-140.0b5.tar.xz"; - locale = "fa"; - arch = "linux-i686"; - sha256 = "238f5f7b0d5fc5bdc407e64ad1daeebb411360f1f2bca8190593dd477ef36ffd"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/ff/firefox-140.0b5.tar.xz"; - locale = "ff"; - arch = "linux-i686"; - sha256 = "198c8ad774c8cfae507024576afd485a16d4d7d1e83ccae711151ab90b19b625"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/fi/firefox-140.0b5.tar.xz"; - locale = "fi"; - arch = "linux-i686"; - sha256 = "659adb1e73e8797637a2c2e0d035d1e17423d2a50aa1ef9545b20ce80471df52"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/fr/firefox-140.0b5.tar.xz"; - locale = "fr"; - arch = "linux-i686"; - sha256 = "4681342dfdd4dad61553a441eddfcb6fd4e682ccaa8b8d62bf13c052845b34be"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/fur/firefox-140.0b5.tar.xz"; - locale = "fur"; - arch = "linux-i686"; - sha256 = "5bc884aed861946b0672b21bc109ef022246bdd2db03efb18e368f16a676494b"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/fy-NL/firefox-140.0b5.tar.xz"; - locale = "fy-NL"; - arch = "linux-i686"; - sha256 = "168b6a3e1a9ca5bf492042ac69d837bb33ae596e94e3dcae08a74121f2074084"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/ga-IE/firefox-140.0b5.tar.xz"; - locale = "ga-IE"; - arch = "linux-i686"; - sha256 = "338d580883071a761bec3e3da24d35ffc052eb17629f6f2443febb88c2c03199"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/gd/firefox-140.0b5.tar.xz"; - locale = "gd"; - arch = "linux-i686"; - sha256 = "7ef232669d13c123ff4cc1f90860006118535e29d309e62bda58680327f94441"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/gl/firefox-140.0b5.tar.xz"; - locale = "gl"; - arch = "linux-i686"; - sha256 = "bd5e5f72002d0bbaa383ce42ec93b604d783403439f8833579e2efbb07a4c7bd"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/gn/firefox-140.0b5.tar.xz"; - locale = "gn"; - arch = "linux-i686"; - sha256 = "7e625da091883d57f8aa7ed3ec060feba9328c55b735de718777b76222fd0e82"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/gu-IN/firefox-140.0b5.tar.xz"; - locale = "gu-IN"; - arch = "linux-i686"; - sha256 = "95e9aff8285cb9aafe2214d6dce93d263c281a0764d1c2b156d75c11de182e0d"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/he/firefox-140.0b5.tar.xz"; - locale = "he"; - arch = "linux-i686"; - sha256 = "1d19868991246f680f80ce6345791872590556393a27c7ddf95cf88044a9966d"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/hi-IN/firefox-140.0b5.tar.xz"; - locale = "hi-IN"; - arch = "linux-i686"; - sha256 = "f8b88f626cc9877fb18b3c14738f53866e60e9a2eac65f76efcd33c52f5342bf"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/hr/firefox-140.0b5.tar.xz"; - locale = "hr"; - arch = "linux-i686"; - sha256 = "5044709e5e8a7833ebeb776ef2452b6b649e8772d3755c05e27cec934b9e4146"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/hsb/firefox-140.0b5.tar.xz"; - locale = "hsb"; - arch = "linux-i686"; - sha256 = "a0be36a177558e786fa83d570dd474e820f871c1a8b2a271b860b1e3d9a11202"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/hu/firefox-140.0b5.tar.xz"; - locale = "hu"; - arch = "linux-i686"; - sha256 = "d047f4eab64cd13b150687d0ee8ac0f2a6742f31bd0466d3f07005c2c36c6045"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/hy-AM/firefox-140.0b5.tar.xz"; - locale = "hy-AM"; - arch = "linux-i686"; - sha256 = "0041adc487a2a6ad619ddedf225edbc1bcb0ccffa547d57c962312a0fefd45dc"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/ia/firefox-140.0b5.tar.xz"; - locale = "ia"; - arch = "linux-i686"; - sha256 = "df8f85019145dc181a1ba2ce3e4d38fc076d4a269bf55c9f8c84cba3564c599e"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/id/firefox-140.0b5.tar.xz"; - locale = "id"; - arch = "linux-i686"; - sha256 = "12f0c14b9fae63ba2bb43f2f5cd42ee7eaa93666d1c592549d4bd34b5a1dc5a8"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/is/firefox-140.0b5.tar.xz"; - locale = "is"; - arch = "linux-i686"; - sha256 = "a0dd980be044409d5ff9ce9063130338399dd8be0221f3ac05d2296c36f666a9"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/it/firefox-140.0b5.tar.xz"; - locale = "it"; - arch = "linux-i686"; - sha256 = "3da4194adb4d2fe2003357f8fdda6ac9bcbfc0157a5b9d1a47784184a97ec901"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/ja/firefox-140.0b5.tar.xz"; - locale = "ja"; - arch = "linux-i686"; - sha256 = "d088fd24e8b02ee67e6c9214c63543d82141062c6ed135c0b4c60bfe79135c45"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/ka/firefox-140.0b5.tar.xz"; - locale = "ka"; - arch = "linux-i686"; - sha256 = "9c3c6266e37138bb3f9af48b6a4f9dcebccfc356fa2785a800180dca3f1b0513"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/kab/firefox-140.0b5.tar.xz"; - locale = "kab"; - arch = "linux-i686"; - sha256 = "1b3fa3bb800bf323210af14329529f4211ffb637281c69c7cde0e3c017dbeccb"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/kk/firefox-140.0b5.tar.xz"; - locale = "kk"; - arch = "linux-i686"; - sha256 = "75938c7f4bd5af50df2ebb88275b7cc597342b9423b4e5a84b99fc3a5205e4e3"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/km/firefox-140.0b5.tar.xz"; - locale = "km"; - arch = "linux-i686"; - sha256 = "f96fb28c8c1136e082140732b290c928c9bd7dce3b06b0bab066b38471dc3cc9"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/kn/firefox-140.0b5.tar.xz"; - locale = "kn"; - arch = "linux-i686"; - sha256 = "6bd3d219077118ef67c1ebbb803c857dc04c674607ae264b0946247b870f81ba"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/ko/firefox-140.0b5.tar.xz"; - locale = "ko"; - arch = "linux-i686"; - sha256 = "37540ac5c5e624d11125ed9673292ccafa35be4e6e662c8c9786beac2fb321ec"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/lij/firefox-140.0b5.tar.xz"; - locale = "lij"; - arch = "linux-i686"; - sha256 = "c7bcc816b14aa145d48fd5076effc4f00d79432ae12b5714fae8d0550918686d"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/lt/firefox-140.0b5.tar.xz"; - locale = "lt"; - arch = "linux-i686"; - sha256 = "3c6b7495391e8e59d1cf2085ee4d7850989b4112cb9e68206bc75f0e20acf4de"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/lv/firefox-140.0b5.tar.xz"; - locale = "lv"; - arch = "linux-i686"; - sha256 = "add8c79b308fe6b4a12db0342cd1c4036e6e1a6007bfdade4c90c6e5a612493d"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/mk/firefox-140.0b5.tar.xz"; - locale = "mk"; - arch = "linux-i686"; - sha256 = "0ef1d0d8ba0550f1cd1ed9ff80b18a19f4a9abe4e2861709883c4e0011fabd0d"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/mr/firefox-140.0b5.tar.xz"; - locale = "mr"; - arch = "linux-i686"; - sha256 = "124145c79a65804bca92a11586b3f420e093d7d84f068b61e9a0c8ea9a17df62"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/ms/firefox-140.0b5.tar.xz"; - locale = "ms"; - arch = "linux-i686"; - sha256 = "e3ee714e18c5a8ecdedd3f53fe8825054ddc2f12943bce3952aad9840093665e"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/my/firefox-140.0b5.tar.xz"; - locale = "my"; - arch = "linux-i686"; - sha256 = "09aa50674311c91c6894ad159289922c1344a0f80b29e2273d9126a57e47dd87"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/nb-NO/firefox-140.0b5.tar.xz"; - locale = "nb-NO"; - arch = "linux-i686"; - sha256 = "3f61fce6f15fd873eb33a8deac9b11c0f0e835c81e48ecdd615f2358678227e4"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/ne-NP/firefox-140.0b5.tar.xz"; - locale = "ne-NP"; - arch = "linux-i686"; - sha256 = "28a5ad4cd3691b9fd8b56203810e0071667370773cc725dc85a6918082b3a98e"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/nl/firefox-140.0b5.tar.xz"; - locale = "nl"; - arch = "linux-i686"; - sha256 = "eb6aaf0fd490205fb55a50422363c49cb2e9334e8d9b17589f90bcdae2eda99e"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/nn-NO/firefox-140.0b5.tar.xz"; - locale = "nn-NO"; - arch = "linux-i686"; - sha256 = "225b9dd0b61653a729946b7e2a694998486e10397cae85b1aca6bff7d81a70d6"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/oc/firefox-140.0b5.tar.xz"; - locale = "oc"; - arch = "linux-i686"; - sha256 = "4cbbdae996545ecfb2b0503fae50986cef6fceccbe72d68eee301f1a0a83c5a0"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/pa-IN/firefox-140.0b5.tar.xz"; - locale = "pa-IN"; - arch = "linux-i686"; - sha256 = "71e3e3aa45afd446fc060600c475f1efed29856f99c5f8eddc009a4197758776"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/pl/firefox-140.0b5.tar.xz"; - locale = "pl"; - arch = "linux-i686"; - sha256 = "928e1b89d48c504ceef9622ccee53b1e73bf007160de8c2a47fe27679700a217"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/pt-BR/firefox-140.0b5.tar.xz"; - locale = "pt-BR"; - arch = "linux-i686"; - sha256 = "a6641527d0bb48f1ebd0e943a1b6520cb20fdc017a99781996ee7cb3224d432f"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/pt-PT/firefox-140.0b5.tar.xz"; - locale = "pt-PT"; - arch = "linux-i686"; - sha256 = "73ff19ebdc38f46a463bd850df6529e73260be52892e54cbc809f3ce22a910e8"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/rm/firefox-140.0b5.tar.xz"; - locale = "rm"; - arch = "linux-i686"; - sha256 = "a770b4d0efcb405f06c493064a252b1171d0f4a9676e2305ac6a7ebbd94bd415"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/ro/firefox-140.0b5.tar.xz"; - locale = "ro"; - arch = "linux-i686"; - sha256 = "9dc409c431468cdd06b17fc4341eb9e32952cfa09a49b666c50ca926ed18c168"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/ru/firefox-140.0b5.tar.xz"; - locale = "ru"; - arch = "linux-i686"; - sha256 = "70c0285e2c6d0a9e4b9f0ebe7f1704fbebd0c116f145dc2efccb31564c44ec90"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/sat/firefox-140.0b5.tar.xz"; - locale = "sat"; - arch = "linux-i686"; - sha256 = "a31c13e572411b3a21ad460335bee076012ee0fcb736156b0d0adacd2e16d685"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/sc/firefox-140.0b5.tar.xz"; - locale = "sc"; - arch = "linux-i686"; - sha256 = "4e2452c54842dfabe8ef514766c6678023260ed0ca621cf95f1a38a855358eb0"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/sco/firefox-140.0b5.tar.xz"; - locale = "sco"; - arch = "linux-i686"; - sha256 = "964377cb40cdf509a0117b7b18eeebfef92807502ba93b8d0744cabc19590d1f"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/si/firefox-140.0b5.tar.xz"; - locale = "si"; - arch = "linux-i686"; - sha256 = "046f379314acc324d62aa2e4fc3fe06b1cbf4506609029c9e9694ab44ab31efc"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/sk/firefox-140.0b5.tar.xz"; - locale = "sk"; - arch = "linux-i686"; - sha256 = "c0b3443e765be546c04d609150cd0d0aebcfa83f8142da85ad6af921e2a286af"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/skr/firefox-140.0b5.tar.xz"; - locale = "skr"; - arch = "linux-i686"; - sha256 = "ef7d2d23ad027e4d263d61e1d581fb6b6e3e8f75567d46f6cc2d769034dfa822"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/sl/firefox-140.0b5.tar.xz"; - locale = "sl"; - arch = "linux-i686"; - sha256 = "b2c87ac86184c0860c35e11ed46205c695cbcd9efc68dc6253754161cb1bb4ba"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/son/firefox-140.0b5.tar.xz"; - locale = "son"; - arch = "linux-i686"; - sha256 = "a7588f9989c1ade6420dc81d3192a74283b63fa62d2968e98604cb10e6e2a079"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/sq/firefox-140.0b5.tar.xz"; - locale = "sq"; - arch = "linux-i686"; - sha256 = "b0930917909caa42a400471105887dee86af422c3faea00d41f79826e11f4b6c"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/sr/firefox-140.0b5.tar.xz"; - locale = "sr"; - arch = "linux-i686"; - sha256 = "4fd3e9643e6835053dfa9e41857aa4858513f5e0e51155ccde6fc74f13f85755"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/sv-SE/firefox-140.0b5.tar.xz"; - locale = "sv-SE"; - arch = "linux-i686"; - sha256 = "2604b9a5e6204d90799a2deb7a5fe0428265b857c073304c8633de4f410db45d"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/szl/firefox-140.0b5.tar.xz"; - locale = "szl"; - arch = "linux-i686"; - sha256 = "cfa4729ce0645fb581b00b10cf46784d6c5bc44f1fa313e3ec2476f85c7b993a"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/ta/firefox-140.0b5.tar.xz"; - locale = "ta"; - arch = "linux-i686"; - sha256 = "7293bd556ab5ba7af783b732047ae4735445a2cedf3cdf633cb71c6181c6cd45"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/te/firefox-140.0b5.tar.xz"; - locale = "te"; - arch = "linux-i686"; - sha256 = "245e23da711630d327092b23bedc30bb43abbab850a02e7d794ee871212200c2"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/tg/firefox-140.0b5.tar.xz"; - locale = "tg"; - arch = "linux-i686"; - sha256 = "562caf3ad16817c9fab7031d6eb95cbab162e937577a1b7b3adcd25556e5e83e"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/th/firefox-140.0b5.tar.xz"; - locale = "th"; - arch = "linux-i686"; - sha256 = "09b77a463e1d587e90f0761ceedaff1dbfa9618b3615da9c1c217a968b1a099a"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/tl/firefox-140.0b5.tar.xz"; - locale = "tl"; - arch = "linux-i686"; - sha256 = "2a7edc4e6f8437564817e07bf6a70360c0cb13cba796f1e5f5d75e9a9a2ada03"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/tr/firefox-140.0b5.tar.xz"; - locale = "tr"; - arch = "linux-i686"; - sha256 = "b756378920ca14c37469d61c63f34a9466f59f40a82b472ea28d61899bb895f7"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/trs/firefox-140.0b5.tar.xz"; - locale = "trs"; - arch = "linux-i686"; - sha256 = "0ae49d1e6bda868036ec0c414d5bbc5ff74be0732bb6e4805a2e2e828f72b24c"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/uk/firefox-140.0b5.tar.xz"; - locale = "uk"; - arch = "linux-i686"; - sha256 = "aa70f392172d975aa5041b023b9b80a21f5f718d4ca4bdf109d3bfde49088ade"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/ur/firefox-140.0b5.tar.xz"; - locale = "ur"; - arch = "linux-i686"; - sha256 = "91fddeb7716b46bb8777edb7267e60aaabec997aa42d7e2df71e6487e569c7da"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/uz/firefox-140.0b5.tar.xz"; - locale = "uz"; - arch = "linux-i686"; - sha256 = "e638a03300432737035c8ec16c9436ad3774ca47b2046a86148293b293fda3e6"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/vi/firefox-140.0b5.tar.xz"; - locale = "vi"; - arch = "linux-i686"; - sha256 = "9bd9044f192512c9ea151e78363695e4b6b3b983818c86192f73ffe9513d9b01"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/xh/firefox-140.0b5.tar.xz"; - locale = "xh"; - arch = "linux-i686"; - sha256 = "5705c42926c38b630f6c9fc5fb04cf09ecafb589dadba19e2e6cd91600141085"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/zh-CN/firefox-140.0b5.tar.xz"; - locale = "zh-CN"; - arch = "linux-i686"; - sha256 = "ddcd5d6ae6274b4f341fa1a1a92b738ddbb2851701482e52b014f282c7d1774e"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-i686/zh-TW/firefox-140.0b5.tar.xz"; - locale = "zh-TW"; - arch = "linux-i686"; - sha256 = "aead8a1998fe6f5364c1c1a57477361b3c23b63e6c73ded903b2e0ad341b363e"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/ach/firefox-140.0b5.tar.xz"; - locale = "ach"; - arch = "linux-aarch64"; - sha256 = "1e011638061ce47193502f1244c48b2ba954e7e665c7ddcd8d7fe338cc9e61ce"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/af/firefox-140.0b5.tar.xz"; - locale = "af"; - arch = "linux-aarch64"; - sha256 = "b7eff363385cad3a3cf1e6e4afb704b203f5a7becbff73729411355199105ff8"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/an/firefox-140.0b5.tar.xz"; - locale = "an"; - arch = "linux-aarch64"; - sha256 = "2bc588b60e77e62063ec8c6b7fa7b05bb68100953b58e82335644135f1406ebc"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/ar/firefox-140.0b5.tar.xz"; - locale = "ar"; - arch = "linux-aarch64"; - sha256 = "6f4edbedf96574f929eac18e8c727f0de149ee37ee73fc6c48df52dc2ef4f49b"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/ast/firefox-140.0b5.tar.xz"; - locale = "ast"; - arch = "linux-aarch64"; - sha256 = "3495d176546a734f7f187559418fe2d7f3c76c9e83da587c1fb4edcda4dbfb8f"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/az/firefox-140.0b5.tar.xz"; - locale = "az"; - arch = "linux-aarch64"; - sha256 = "550d5cf64ee2c75daa38a6cda871bec1f61ca0e563e0d5b1962880f80e70c160"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/be/firefox-140.0b5.tar.xz"; - locale = "be"; - arch = "linux-aarch64"; - sha256 = "330e775dca339e3a6945d23eeb03aa752eeb9e8491a35eaba36601610f5ea122"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/bg/firefox-140.0b5.tar.xz"; - locale = "bg"; - arch = "linux-aarch64"; - sha256 = "8faa665c4a0b31b933a7408f116eafceb88a62ac35ad5e4e168763d9a191c5b7"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/bn/firefox-140.0b5.tar.xz"; - locale = "bn"; - arch = "linux-aarch64"; - sha256 = "8c72162a644877585db295686598bc7e5dc8d620ac5bb266b7781ad44dc7a248"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/br/firefox-140.0b5.tar.xz"; - locale = "br"; - arch = "linux-aarch64"; - sha256 = "a18b9133a16206f1d67bc9d5e627cfc9fb721619c5ac01da1546da98147e735a"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/bs/firefox-140.0b5.tar.xz"; - locale = "bs"; - arch = "linux-aarch64"; - sha256 = "58777ac3d69a8855e2b0a951cedd3f4f953de54b70420083b78dbd19275448a8"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/ca-valencia/firefox-140.0b5.tar.xz"; - locale = "ca-valencia"; - arch = "linux-aarch64"; - sha256 = "449002fe40db46803bcf5bd6a52eee835480a72c9c59df4496ed68e4b56832a6"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/ca/firefox-140.0b5.tar.xz"; - locale = "ca"; - arch = "linux-aarch64"; - sha256 = "59474c67b320c3e9e8ab08d47b2b0277265ec09e1b5f12c7532bd223c3f8f3dc"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/cak/firefox-140.0b5.tar.xz"; - locale = "cak"; - arch = "linux-aarch64"; - sha256 = "60dabdd0cdf32ea8dfa74a8e867e93846dcbdba1fed03063caf70781df141b83"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/cs/firefox-140.0b5.tar.xz"; - locale = "cs"; - arch = "linux-aarch64"; - sha256 = "45ae87dfcfebf1fb2912b5644d162162d8a98455e9229c06d5f23a5644a91db1"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/cy/firefox-140.0b5.tar.xz"; - locale = "cy"; - arch = "linux-aarch64"; - sha256 = "40108a63e30314a5aa599b09ac6f0ca87b5f7dbd08de0fa09038bfcf291e951b"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/da/firefox-140.0b5.tar.xz"; - locale = "da"; - arch = "linux-aarch64"; - sha256 = "19627a6e38683435e26c184139d9fef0c85d354fe34b406ac16be4de09e7d783"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/de/firefox-140.0b5.tar.xz"; - locale = "de"; - arch = "linux-aarch64"; - sha256 = "f64faf6d852a31a0e833215789c49f2d58ac4f2f293a68ad1ff6e81ebdbf0bef"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/dsb/firefox-140.0b5.tar.xz"; - locale = "dsb"; - arch = "linux-aarch64"; - sha256 = "184d700e189dcbc21d40d3f5db54c2837356321b027608b330e1cd76268a8650"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/el/firefox-140.0b5.tar.xz"; - locale = "el"; - arch = "linux-aarch64"; - sha256 = "9a8ca4f1f802229d9cc0f560488186245a82405aa938cdba20d7ef760314a262"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/en-CA/firefox-140.0b5.tar.xz"; - locale = "en-CA"; - arch = "linux-aarch64"; - sha256 = "4886557b6a6ab5db4c71cc6440b60cdbd43bfc432f122de2194ca059766919f6"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/en-GB/firefox-140.0b5.tar.xz"; - locale = "en-GB"; - arch = "linux-aarch64"; - sha256 = "45050e91de2864cffc6dd4300d44f389922d8dd572ec257ec72171ce8c09143a"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/en-US/firefox-140.0b5.tar.xz"; - locale = "en-US"; - arch = "linux-aarch64"; - sha256 = "a0ee52348165433189bc72678a3e62899b7f63dfc0b26a5533df43af98f11f9c"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/eo/firefox-140.0b5.tar.xz"; - locale = "eo"; - arch = "linux-aarch64"; - sha256 = "2f283c0c08a403861b015d003bb2cbbb989f960a4cf5071dbfd076b2b8311c75"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/es-AR/firefox-140.0b5.tar.xz"; - locale = "es-AR"; - arch = "linux-aarch64"; - sha256 = "6161b9e86c35efcd3528f37c0075b18c718fbc143075f2580ee5e297479b9cd8"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/es-CL/firefox-140.0b5.tar.xz"; - locale = "es-CL"; - arch = "linux-aarch64"; - sha256 = "997bdb4cf544482f75456a95435f3e21aab8ab62b84bd095d673f7f289eac774"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/es-ES/firefox-140.0b5.tar.xz"; - locale = "es-ES"; - arch = "linux-aarch64"; - sha256 = "90f601277721de0bc1f7f443e1078c662ee999856f5810e58efc999bc9ead114"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/es-MX/firefox-140.0b5.tar.xz"; - locale = "es-MX"; - arch = "linux-aarch64"; - sha256 = "653916d1c61dcf53fdb1346e78b7c6c7054ace4ad09304316c3b81fdf71957da"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/et/firefox-140.0b5.tar.xz"; - locale = "et"; - arch = "linux-aarch64"; - sha256 = "7dd4dab421af15474b0417753c5df7b422014ad85c62954518b78589d28ff143"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/eu/firefox-140.0b5.tar.xz"; - locale = "eu"; - arch = "linux-aarch64"; - sha256 = "60d186881b7694813433badc2e8ff787ff6f5ebb4a868197831b8e38abca7870"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/fa/firefox-140.0b5.tar.xz"; - locale = "fa"; - arch = "linux-aarch64"; - sha256 = "ff5b4003af3d4be4041517216e94a8ccdf7370cec16000df01cb30a238a07a75"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/ff/firefox-140.0b5.tar.xz"; - locale = "ff"; - arch = "linux-aarch64"; - sha256 = "ca08ec6ac6a77cad1e0e24dc29f29a7857eebcd8abcb6614b40045a2ecae699f"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/fi/firefox-140.0b5.tar.xz"; - locale = "fi"; - arch = "linux-aarch64"; - sha256 = "762d4cb09ecb00e5a51f6f9eef51805f9613716717a52ef107725c5466e81bfb"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/fr/firefox-140.0b5.tar.xz"; - locale = "fr"; - arch = "linux-aarch64"; - sha256 = "6db714ca2523ba57e70e625be0281bf65065b4b3a928671f3bc8286c3a60d1b2"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/fur/firefox-140.0b5.tar.xz"; - locale = "fur"; - arch = "linux-aarch64"; - sha256 = "886b97c7d720d5bcf0cb083da7c8c9272c354116ae9a6174a135f024ece89a7f"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/fy-NL/firefox-140.0b5.tar.xz"; - locale = "fy-NL"; - arch = "linux-aarch64"; - sha256 = "35af23cfc3b24562fd897163a3e128bf75eb155c591c8aa39faaa25e83acde3b"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/ga-IE/firefox-140.0b5.tar.xz"; - locale = "ga-IE"; - arch = "linux-aarch64"; - sha256 = "f3b13118476e1c27cec0cc5a6953a0ff9a937c3840d4356af0dbc346943e0cd7"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/gd/firefox-140.0b5.tar.xz"; - locale = "gd"; - arch = "linux-aarch64"; - sha256 = "eb9cb4cc1d142a50b19f43325f455620cf8c88924d8688f2a4706e81cd0f67f1"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/gl/firefox-140.0b5.tar.xz"; - locale = "gl"; - arch = "linux-aarch64"; - sha256 = "033e8e3693b8cf68066435d85490db69e615688f0b29a3c55c5cea97f867abeb"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/gn/firefox-140.0b5.tar.xz"; - locale = "gn"; - arch = "linux-aarch64"; - sha256 = "4c224925a326b8f8d9a1fd95bf5033a5be1e2bae657be6decc329f39d57275ea"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/gu-IN/firefox-140.0b5.tar.xz"; - locale = "gu-IN"; - arch = "linux-aarch64"; - sha256 = "85f1222a1cd7175d03cf8a8d2985ec8e26cb3eb6ce9b995ef001cb7d2669caa1"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/he/firefox-140.0b5.tar.xz"; - locale = "he"; - arch = "linux-aarch64"; - sha256 = "3c16de5fff4b745cf82331d1ca61e26d3470828f7a0780923825193fbd7a77c9"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/hi-IN/firefox-140.0b5.tar.xz"; - locale = "hi-IN"; - arch = "linux-aarch64"; - sha256 = "5bd8778a884af045280bebb3dad18c3713596f2f4bc28866a174aa905a8033c5"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/hr/firefox-140.0b5.tar.xz"; - locale = "hr"; - arch = "linux-aarch64"; - sha256 = "090c4785527ff5060af5ec61ed257a79fe09f48355fdace3748557b66644545e"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/hsb/firefox-140.0b5.tar.xz"; - locale = "hsb"; - arch = "linux-aarch64"; - sha256 = "a4e024dc461e043c80752b615f81040d963313c6a7d846535520e51f644d2f50"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/hu/firefox-140.0b5.tar.xz"; - locale = "hu"; - arch = "linux-aarch64"; - sha256 = "4e782f584f846064a7cbf5765c3be5b204ff2979447c98a84efafe0f6ec96da2"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/hy-AM/firefox-140.0b5.tar.xz"; - locale = "hy-AM"; - arch = "linux-aarch64"; - sha256 = "d72106a177b9cdd4202e28d9ae687185acae2e2057a47628249b7b814dd79512"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/ia/firefox-140.0b5.tar.xz"; - locale = "ia"; - arch = "linux-aarch64"; - sha256 = "037217e499e38a3db7589c73092d49dcab2de8e98f2bb09e9c243397573c4fe3"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/id/firefox-140.0b5.tar.xz"; - locale = "id"; - arch = "linux-aarch64"; - sha256 = "e49cc487d68df6e4f3c5e829e67ba9b66f6becab4956d7d37818b00d93adf096"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/is/firefox-140.0b5.tar.xz"; - locale = "is"; - arch = "linux-aarch64"; - sha256 = "935810f00a7742c48a80559b8e387c77781664a202be6f014375ca9b50f0c14e"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/it/firefox-140.0b5.tar.xz"; - locale = "it"; - arch = "linux-aarch64"; - sha256 = "3f28d9eebaa24d21583110e062177b2e709a8b20558de73df1d8852ef1fb4095"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/ja/firefox-140.0b5.tar.xz"; - locale = "ja"; - arch = "linux-aarch64"; - sha256 = "bbb9ff9c320061e98e54a93930c63944cb6cc4f921e89c00a5d5295d4770f59a"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/ka/firefox-140.0b5.tar.xz"; - locale = "ka"; - arch = "linux-aarch64"; - sha256 = "8bbe2d76336c916920a74bbff6a80ad53bec9f282849a6ffed4f2c54deef0c2b"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/kab/firefox-140.0b5.tar.xz"; - locale = "kab"; - arch = "linux-aarch64"; - sha256 = "d2a9cd1f96f1dce323ec228e361ef056b648402011c34c9fcc506d76a7cb775c"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/kk/firefox-140.0b5.tar.xz"; - locale = "kk"; - arch = "linux-aarch64"; - sha256 = "2ff4750434a085bcc6967355ad60895faa9b0f66aebb1df9e77a2b4ad5ec05d7"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/km/firefox-140.0b5.tar.xz"; - locale = "km"; - arch = "linux-aarch64"; - sha256 = "3821c7e71d387596c042b231a046c4e1737beb59fc4869f2731aef7bbba0f61a"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/kn/firefox-140.0b5.tar.xz"; - locale = "kn"; - arch = "linux-aarch64"; - sha256 = "38f9731050ce577db8e657bf817d7e049d75fec65a5a46d3b4092146264fcf56"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/ko/firefox-140.0b5.tar.xz"; - locale = "ko"; - arch = "linux-aarch64"; - sha256 = "81bbc9a2dfd74aab21573a0d914992be67cafd07b3c9340575a4e2e15d8800d5"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/lij/firefox-140.0b5.tar.xz"; - locale = "lij"; - arch = "linux-aarch64"; - sha256 = "c310e302c58b8c051879cfe416930b686662cb13d57e416f8d4fcc03a8c10cf9"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/lt/firefox-140.0b5.tar.xz"; - locale = "lt"; - arch = "linux-aarch64"; - sha256 = "380ceac202194db26a7c04d718542be4d7ed53d12b90431a80c729fb6a314d0d"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/lv/firefox-140.0b5.tar.xz"; - locale = "lv"; - arch = "linux-aarch64"; - sha256 = "966c9fd50281bb33eeb194bc4725e1c7f090fa73de4b525d417f05427cdf809a"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/mk/firefox-140.0b5.tar.xz"; - locale = "mk"; - arch = "linux-aarch64"; - sha256 = "627744979950de4aa672aefddba71aefeb600175b53146601ab8d2afa41e014c"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/mr/firefox-140.0b5.tar.xz"; - locale = "mr"; - arch = "linux-aarch64"; - sha256 = "8c747e56063119607db5c2aab161bd52c4e7a13967c54144fccee5862231766b"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/ms/firefox-140.0b5.tar.xz"; - locale = "ms"; - arch = "linux-aarch64"; - sha256 = "e33f0ceb939e05283d62de4f07098d40da5895c6ac9cc3394e357d5d66e17e08"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/my/firefox-140.0b5.tar.xz"; - locale = "my"; - arch = "linux-aarch64"; - sha256 = "9f4fa6be9d82941e39c7c8290b9d1c81db93b5e14e8762164b7fb51dc79f9a29"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/nb-NO/firefox-140.0b5.tar.xz"; - locale = "nb-NO"; - arch = "linux-aarch64"; - sha256 = "b933144efd2c94924acbdc023b6e970ec86dcb3af66992f5b8adbd7c6196c07f"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/ne-NP/firefox-140.0b5.tar.xz"; - locale = "ne-NP"; - arch = "linux-aarch64"; - sha256 = "a1538cb554c8e0cdd7aa3cae99b42c8f873b53d8a66f68a1c771792fdcc9ad66"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/nl/firefox-140.0b5.tar.xz"; - locale = "nl"; - arch = "linux-aarch64"; - sha256 = "c8a4a788a71971d188c684168569fb65180681e34dd0c40068cdf74e577ce031"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/nn-NO/firefox-140.0b5.tar.xz"; - locale = "nn-NO"; - arch = "linux-aarch64"; - sha256 = "5fbaab1173ee8b8dfd283641a6dcb2f5d70138045bd0c794a75b5ba09fbe98d0"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/oc/firefox-140.0b5.tar.xz"; - locale = "oc"; - arch = "linux-aarch64"; - sha256 = "fcfda166f46d99afb40654d1a7028b395f91f50ec22ea873fb2a20b2358866c6"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/pa-IN/firefox-140.0b5.tar.xz"; - locale = "pa-IN"; - arch = "linux-aarch64"; - sha256 = "4a7f826caf0bac406b5c0025f64e04e0f40cd74c12251f2541dba3e2125b1018"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/pl/firefox-140.0b5.tar.xz"; - locale = "pl"; - arch = "linux-aarch64"; - sha256 = "7be0dc3d878ff5b3b0089dbdd6124fb736f1ae6e43aefdc30e17fa7095fc7eec"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/pt-BR/firefox-140.0b5.tar.xz"; - locale = "pt-BR"; - arch = "linux-aarch64"; - sha256 = "21f9f3142584c0798e88331cf8d961ad66f2d0ff3796d978ba1b7bc7bbb810dc"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/pt-PT/firefox-140.0b5.tar.xz"; - locale = "pt-PT"; - arch = "linux-aarch64"; - sha256 = "7b54964662af7c975d64a56178d3a0bcb63fa4f4d7f3022e85384ab2ac194016"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/rm/firefox-140.0b5.tar.xz"; - locale = "rm"; - arch = "linux-aarch64"; - sha256 = "4f084efd1dbe4424aecf726b9bf78e3e832c79930d366017acc32c3f6bad1969"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/ro/firefox-140.0b5.tar.xz"; - locale = "ro"; - arch = "linux-aarch64"; - sha256 = "a544b6aec82ea94e87d76907ffa295f22f8cafe76b47cdad117437a5ce626733"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/ru/firefox-140.0b5.tar.xz"; - locale = "ru"; - arch = "linux-aarch64"; - sha256 = "ac918191cd19b1cefdbaa34a83aa9e343323f75cedea255ab1caf0119116f826"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/sat/firefox-140.0b5.tar.xz"; - locale = "sat"; - arch = "linux-aarch64"; - sha256 = "ec11b2475fca2aeae9550b2647492227def51ed21ea349586227bbbae2e5362e"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/sc/firefox-140.0b5.tar.xz"; - locale = "sc"; - arch = "linux-aarch64"; - sha256 = "a6e14ccd27f4b6f57c3464069a194dda3da1b079dd451667fe45f2709b29ab49"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/sco/firefox-140.0b5.tar.xz"; - locale = "sco"; - arch = "linux-aarch64"; - sha256 = "78c90f950c950766a633f358920e06da279069f33c37322a1638ac0bf6c2dd59"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/si/firefox-140.0b5.tar.xz"; - locale = "si"; - arch = "linux-aarch64"; - sha256 = "5b2155b0e7f61b4bb008dac5a91cfbc373ecf72c8bced76773bcc78bb75e6f1c"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/sk/firefox-140.0b5.tar.xz"; - locale = "sk"; - arch = "linux-aarch64"; - sha256 = "8e5217e5796f746ac6fd99c9b87982e20c70910a15f2e05531d0093ece37da6d"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/skr/firefox-140.0b5.tar.xz"; - locale = "skr"; - arch = "linux-aarch64"; - sha256 = "1fae131ac8dcf6aff16717e0f681cec5621a1952d0d13928ec4ec1f4a923af02"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/sl/firefox-140.0b5.tar.xz"; - locale = "sl"; - arch = "linux-aarch64"; - sha256 = "44e9aeeb682f91ce60571732aaad6e94a2231c2660029ca741707d49f4d2d41d"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/son/firefox-140.0b5.tar.xz"; - locale = "son"; - arch = "linux-aarch64"; - sha256 = "0e4fe06cbb4e9678d59ab2568d4e1fb7d6dfb388c7dfc55c918405d975c45a68"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/sq/firefox-140.0b5.tar.xz"; - locale = "sq"; - arch = "linux-aarch64"; - sha256 = "21d94ec8f62ff82e72c5b249506f9d2cf735f96ef9ba92575630353d14edc0da"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/sr/firefox-140.0b5.tar.xz"; - locale = "sr"; - arch = "linux-aarch64"; - sha256 = "7bcb3e71959b65fb29974cce8169f2ad151475d7f9788c9e22c0b32f7e012c5f"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/sv-SE/firefox-140.0b5.tar.xz"; - locale = "sv-SE"; - arch = "linux-aarch64"; - sha256 = "9a8b15f4813305901df5482b7873dd9f6e6cb6377aafbcc3186a769f7ed8383b"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/szl/firefox-140.0b5.tar.xz"; - locale = "szl"; - arch = "linux-aarch64"; - sha256 = "16c007db8ae7cf01f08fbab1f8f8fc974a65aa5d85dba39eed0c2170e0ad1411"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/ta/firefox-140.0b5.tar.xz"; - locale = "ta"; - arch = "linux-aarch64"; - sha256 = "924fe10a4ec038dfac1f10a445f88bb16d13d2d9e572e34a454654b622a11ac7"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/te/firefox-140.0b5.tar.xz"; - locale = "te"; - arch = "linux-aarch64"; - sha256 = "fe73e00623af2142be1986748602ffd4b4a809285d6b36131be723dff691067f"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/tg/firefox-140.0b5.tar.xz"; - locale = "tg"; - arch = "linux-aarch64"; - sha256 = "557792ef8ed1e0ecd81fdaaf21c176f5b8a1b2c90d7ed0bc322792020e2d6898"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/th/firefox-140.0b5.tar.xz"; - locale = "th"; - arch = "linux-aarch64"; - sha256 = "0fbe64c99655b66c8b6c17bbc63c6e3a4ed3e44bbd635077a641fa0e05eb4c3c"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/tl/firefox-140.0b5.tar.xz"; - locale = "tl"; - arch = "linux-aarch64"; - sha256 = "ebbf21cbea61c110f81ad452989691b81ed2bf830ad7946e51f3f39c2b43df0f"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/tr/firefox-140.0b5.tar.xz"; - locale = "tr"; - arch = "linux-aarch64"; - sha256 = "3649d99ec7c366e1fbde17ad18282ebe05486cf178a3e59f57caa58dde6ef0bc"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/trs/firefox-140.0b5.tar.xz"; - locale = "trs"; - arch = "linux-aarch64"; - sha256 = "ca03e8b17cd5fb3b52d0de8b80c83299d0d90497c758442d60914cf1dd7661fe"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/uk/firefox-140.0b5.tar.xz"; - locale = "uk"; - arch = "linux-aarch64"; - sha256 = "5c18f39c0ba60ba060213f8b72266663d97258dffa0453a071c7810954adc320"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/ur/firefox-140.0b5.tar.xz"; - locale = "ur"; - arch = "linux-aarch64"; - sha256 = "011b35f3ddae4f2dee8424731d41157008409cf3c19184429ef6a83a198975f4"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/uz/firefox-140.0b5.tar.xz"; - locale = "uz"; - arch = "linux-aarch64"; - sha256 = "ef25f008c7ab6bb046a46d57e93c0015a7189e7fd72684c218a0992f806005a0"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/vi/firefox-140.0b5.tar.xz"; - locale = "vi"; - arch = "linux-aarch64"; - sha256 = "81978010063f3d9bf9cef6719592f5fbb41c64826bb68f658547826e92c9d1d4"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/xh/firefox-140.0b5.tar.xz"; - locale = "xh"; - arch = "linux-aarch64"; - sha256 = "7409e9898935f78bb6762f76a68662ac64086868b89f5e52940e2e3a963e9637"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/zh-CN/firefox-140.0b5.tar.xz"; - locale = "zh-CN"; - arch = "linux-aarch64"; - sha256 = "91172a1bd8722fc67e12f968a51f5d383f9a0bd3d40b4ad56c63e1316d5156fd"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/linux-aarch64/zh-TW/firefox-140.0b5.tar.xz"; - locale = "zh-TW"; - arch = "linux-aarch64"; - sha256 = "804adf3d4db86537174d2c680daff8df249909d8254e1e5583ac1c0d7a3a5d61"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/ach/Firefox%20140.0b5.dmg"; - locale = "ach"; - arch = "mac"; - sha256 = "9cb867c92c058f81bb6b7777740f0904cf8610cfe48640b4ba788bec42712cf9"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/af/Firefox%20140.0b5.dmg"; - locale = "af"; - arch = "mac"; - sha256 = "5713bf29a1dae788af6a2308548c0a617841a338262b901d2d7e8e6c906a2a1d"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/an/Firefox%20140.0b5.dmg"; - locale = "an"; - arch = "mac"; - sha256 = "24eb57bbd9af5800d8141f61db2b7abcd67afc40b35cebe9d6a606bac1170d01"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/ar/Firefox%20140.0b5.dmg"; - locale = "ar"; - arch = "mac"; - sha256 = "c256d4b3f0658d3d2534a2f99df78a9c8de4c6d9159052aff6d138220c2909a4"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/ast/Firefox%20140.0b5.dmg"; - locale = "ast"; - arch = "mac"; - sha256 = "9d7008c2ba0142f14ba330a4561e5ba66a9729dffd094a56c0688eb0545d42f4"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/az/Firefox%20140.0b5.dmg"; - locale = "az"; - arch = "mac"; - sha256 = "b999fc3eab4d3306607f916d7d19b8b380ffd62128b9eb70f8f184a0fe01932d"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/be/Firefox%20140.0b5.dmg"; - locale = "be"; - arch = "mac"; - sha256 = "9b295b314b77c345e91972574b3563cf85b020876abf0825b404b7840057d046"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/bg/Firefox%20140.0b5.dmg"; - locale = "bg"; - arch = "mac"; - sha256 = "3157128ca5cd17a0e1e38baa2bdf90322595751cdf51fc70201d9ce51a30c91c"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/bn/Firefox%20140.0b5.dmg"; - locale = "bn"; - arch = "mac"; - sha256 = "a2493281741e7338b3e58294aa72a9b39afa0976c6f5db01a0077d95ec781f8e"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/br/Firefox%20140.0b5.dmg"; - locale = "br"; - arch = "mac"; - sha256 = "9bbbb53e059cfb4fa06f60ea7c60cc2af7e4fc61579812f8fa9aec3474096f88"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/bs/Firefox%20140.0b5.dmg"; - locale = "bs"; - arch = "mac"; - sha256 = "539dcf035d240f794074b5fa7968d12c819d044f3bb8299aacf12dc0013ef34b"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/ca-valencia/Firefox%20140.0b5.dmg"; - locale = "ca-valencia"; - arch = "mac"; - sha256 = "97d6d7866c8d1fb14a57f926e322a9d4f3addb37fde7977a26dc882d1ac44a5b"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/ca/Firefox%20140.0b5.dmg"; - locale = "ca"; - arch = "mac"; - sha256 = "d21d03e2e4c44e5d0ac8d3b685232c1bf21ba52cdbbccad13016834bb735b306"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/cak/Firefox%20140.0b5.dmg"; - locale = "cak"; - arch = "mac"; - sha256 = "a6bbbb0815a0e0a1a9e2ac65ff4847f8be81973a5f333e0130e412cf1f20dd75"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/cs/Firefox%20140.0b5.dmg"; - locale = "cs"; - arch = "mac"; - sha256 = "3363713cfe06c13a43a9682cb4ba4b5af198474122d0cb1e35c4979c29a6865c"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/cy/Firefox%20140.0b5.dmg"; - locale = "cy"; - arch = "mac"; - sha256 = "18354d7d9de625afcb1c210903a18d06d35ab393f5bba56b2601cca90e1a19c3"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/da/Firefox%20140.0b5.dmg"; - locale = "da"; - arch = "mac"; - sha256 = "09f68ef5a82abba5a0d5c26bd42efb9811a4c8e8b05e3a2e68881f86114dd681"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/de/Firefox%20140.0b5.dmg"; - locale = "de"; - arch = "mac"; - sha256 = "55207c58022b9de2580800ae7f7dcf8885d4e500196bec60ae7c3895650b8be2"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/dsb/Firefox%20140.0b5.dmg"; - locale = "dsb"; - arch = "mac"; - sha256 = "f4e7f6644f58ed9dd5bd368be6c493542baf429d04694a41be716008b1e1cbdc"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/el/Firefox%20140.0b5.dmg"; - locale = "el"; - arch = "mac"; - sha256 = "56868683851c6f9acc8aaaa68db7d27aa37d8bd3897f765105ed4b834852c605"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/en-CA/Firefox%20140.0b5.dmg"; - locale = "en-CA"; - arch = "mac"; - sha256 = "1cd3a2bee71bfd98480dbb185a83fad901654f5d2cbbc8b82451916123d5a477"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/en-GB/Firefox%20140.0b5.dmg"; - locale = "en-GB"; - arch = "mac"; - sha256 = "0b52e0534c313ccb0b8ab92235a31d6a02e3d93ea0ed16d2226d6225f6c2e29c"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/en-US/Firefox%20140.0b5.dmg"; - locale = "en-US"; - arch = "mac"; - sha256 = "0e18a2d29400dec3e9285e69d40a6fcd68df1fa59b15aa1e838d97ee95b633e1"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/eo/Firefox%20140.0b5.dmg"; - locale = "eo"; - arch = "mac"; - sha256 = "bffc32a0b380178016dccf7b737c7ac9a4b7eb92cd16105a0b3b18dffae63ad3"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/es-AR/Firefox%20140.0b5.dmg"; - locale = "es-AR"; - arch = "mac"; - sha256 = "99dd4c2524cea56eb5a01d11f180a3e491878ceb4b4b85e2bdd5c351e3eed52c"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/es-CL/Firefox%20140.0b5.dmg"; - locale = "es-CL"; - arch = "mac"; - sha256 = "4eaf81cc55445d10bf5d6afe7060c7f673ceed66d26350104f7aef497621447d"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/es-ES/Firefox%20140.0b5.dmg"; - locale = "es-ES"; - arch = "mac"; - sha256 = "d2ba722e1a28cac2c99a8573364b264545777cac53839859218bd5d64400d568"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/es-MX/Firefox%20140.0b5.dmg"; - locale = "es-MX"; - arch = "mac"; - sha256 = "0674f00814c54795d93a362cb15f7d3037da3fae78098a1bcf569d10625f166d"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/et/Firefox%20140.0b5.dmg"; - locale = "et"; - arch = "mac"; - sha256 = "05e738277b188119d318de64b473a08a144253eb7f373d2a8c9519c546c327fe"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/eu/Firefox%20140.0b5.dmg"; - locale = "eu"; - arch = "mac"; - sha256 = "d1a098bccfac6bad61085d4d6e3ef07decef5665edc590a216b85d46d36f6380"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/fa/Firefox%20140.0b5.dmg"; - locale = "fa"; - arch = "mac"; - sha256 = "8443c7db3237c5a30ab9aeeb2084358a71a030a6d4dda51b4b3b274d8050bf09"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/ff/Firefox%20140.0b5.dmg"; - locale = "ff"; - arch = "mac"; - sha256 = "3f6f2af196e3ea13d21b20739ad8d4afea28753e4a6f6911efd2889c3861ffb1"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/fi/Firefox%20140.0b5.dmg"; - locale = "fi"; - arch = "mac"; - sha256 = "404209bea1e3d2915445212b5f2ca2e448dec7adedfb4a9901eee0b175b0adb5"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/fr/Firefox%20140.0b5.dmg"; - locale = "fr"; - arch = "mac"; - sha256 = "2530f98106899fcb75ef098929d07cb467c8c89c497205874d2285e88f23945f"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/fur/Firefox%20140.0b5.dmg"; - locale = "fur"; - arch = "mac"; - sha256 = "c895f27121dc816cc26f849de1fa1a89221ef5df7d617f39b69d552afd08987a"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/fy-NL/Firefox%20140.0b5.dmg"; - locale = "fy-NL"; - arch = "mac"; - sha256 = "e03b79439c2f497a0e8d87eea16ff659417d435454095e050f68f738e091644d"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/ga-IE/Firefox%20140.0b5.dmg"; - locale = "ga-IE"; - arch = "mac"; - sha256 = "1717510309b0dfed21485023db01b4f8531807f63ce6c14fc6c6342100fd6981"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/gd/Firefox%20140.0b5.dmg"; - locale = "gd"; - arch = "mac"; - sha256 = "f555688aff2a86f6859be7f5ad862107b270e733b54bc6ab8de012628c232550"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/gl/Firefox%20140.0b5.dmg"; - locale = "gl"; - arch = "mac"; - sha256 = "98eb52e363b2bdaf4be579df53d5fcda9f61ba6fe0ea021be00e3ae4eef24924"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/gn/Firefox%20140.0b5.dmg"; - locale = "gn"; - arch = "mac"; - sha256 = "ad81d8310d57e9f871eecc27943ed1130642c9621b7ddc1b1800bef8db084175"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/gu-IN/Firefox%20140.0b5.dmg"; - locale = "gu-IN"; - arch = "mac"; - sha256 = "ef2567ffef364b7a90d69549ebaee0bdc1791db0f236492b41ee2a9ccbd8d70f"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/he/Firefox%20140.0b5.dmg"; - locale = "he"; - arch = "mac"; - sha256 = "8720ef790fc80a8508996adb56cc4d0ca6ea86c098d3dd6a0e3dfe8309f0b3b3"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/hi-IN/Firefox%20140.0b5.dmg"; - locale = "hi-IN"; - arch = "mac"; - sha256 = "2918bbc9d199cb74938f54f5009def557fdfdcadec03ba7048ede47edb04f4a9"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/hr/Firefox%20140.0b5.dmg"; - locale = "hr"; - arch = "mac"; - sha256 = "883da09b8860a1340691fcfb04f5b8665c4f497489cd4b0670e93288317472fc"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/hsb/Firefox%20140.0b5.dmg"; - locale = "hsb"; - arch = "mac"; - sha256 = "9691f64a2cca90f19c0de44ffa92d897ab79cc9435dbe3fbb7ad8fa831b1b7b0"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/hu/Firefox%20140.0b5.dmg"; - locale = "hu"; - arch = "mac"; - sha256 = "3283f61dddd81f508dc58fe594f37bae973be39bbb6eb783dd19a644e8dc88ea"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/hy-AM/Firefox%20140.0b5.dmg"; - locale = "hy-AM"; - arch = "mac"; - sha256 = "e871812379227c2c06db83ab082cbc8b4f75b67a4676176f127628272bfc5f35"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/ia/Firefox%20140.0b5.dmg"; - locale = "ia"; - arch = "mac"; - sha256 = "a829991bdb4c990daae07037d6047daecc7e3277a1122f1f983a8812990b9648"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/id/Firefox%20140.0b5.dmg"; - locale = "id"; - arch = "mac"; - sha256 = "67d899f44ad9306ab978c00eb885df149ebbf6dd326a34075611980a2e25c81c"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/is/Firefox%20140.0b5.dmg"; - locale = "is"; - arch = "mac"; - sha256 = "b8498494c0b4de37276de5c75a43c846bc25c2fe8f69f59d4d36d55ae7b5eff4"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/it/Firefox%20140.0b5.dmg"; - locale = "it"; - arch = "mac"; - sha256 = "78db18219d6be4ea2edf84b8e2ede39140385c069a088291703c256da38ed7c9"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/ja-JP-mac/Firefox%20140.0b5.dmg"; - locale = "ja-JP-mac"; - arch = "mac"; - sha256 = "1ffc9a14b28e03415157d31078f798ee9c65a89040c5e97fa1997fc2ee5352be"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/ka/Firefox%20140.0b5.dmg"; - locale = "ka"; - arch = "mac"; - sha256 = "f0da37860137d3ac987d0b736c0c9c50f4e937df1e4e0bc3d0966982332f76c4"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/kab/Firefox%20140.0b5.dmg"; - locale = "kab"; - arch = "mac"; - sha256 = "a81e1d4dd438a1765e201c2dfe2da494f0c5212ee122041bb9f93348b9b6dedc"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/kk/Firefox%20140.0b5.dmg"; - locale = "kk"; - arch = "mac"; - sha256 = "ab6d96b83912e227644c01854b938df703fa6743fb7f9baae997ab80ca065ac5"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/km/Firefox%20140.0b5.dmg"; - locale = "km"; - arch = "mac"; - sha256 = "42b8255377a61f1fb6967ded391204bea51c86554fefab9138b7848fcadd1ed6"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/kn/Firefox%20140.0b5.dmg"; - locale = "kn"; - arch = "mac"; - sha256 = "77775d78528c08d22ce54fcd00dc977b7debc6f0b315a220bef7876d1da78eb7"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/ko/Firefox%20140.0b5.dmg"; - locale = "ko"; - arch = "mac"; - sha256 = "70d12fe85b89d9834f9c7d0fd28959cbd839e5dc7ad0f2c07c794263fb0803bf"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/lij/Firefox%20140.0b5.dmg"; - locale = "lij"; - arch = "mac"; - sha256 = "a61c7c1e3a4437817a97a82f8892cea11ed3cc2bde412b5a64b0966261d17b0a"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/lt/Firefox%20140.0b5.dmg"; - locale = "lt"; - arch = "mac"; - sha256 = "41b77702aa68ca11f0a52a4baf60de49f9668f5cb0706802337591acd3406fdc"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/lv/Firefox%20140.0b5.dmg"; - locale = "lv"; - arch = "mac"; - sha256 = "bebeabd65c432b401191bacda6f939aab6c00e837a3233b369196db16a5f72cc"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/mk/Firefox%20140.0b5.dmg"; - locale = "mk"; - arch = "mac"; - sha256 = "291213929ba1950abbdcbab35eb59e53aace3a60b3fbe634815c3ce24af22562"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/mr/Firefox%20140.0b5.dmg"; - locale = "mr"; - arch = "mac"; - sha256 = "e03bdf951d82b0962500171f0b232b1d3578f9a84e1eba78b41be19ff232e19b"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/ms/Firefox%20140.0b5.dmg"; - locale = "ms"; - arch = "mac"; - sha256 = "011d7de785d36d20bb77bb5757399a062abfc1339de5dfb5611a029b3870601d"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/my/Firefox%20140.0b5.dmg"; - locale = "my"; - arch = "mac"; - sha256 = "438f8a5a989d17655ad7b71d38aa624659e90cdb6178e7094f1e27057362d104"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/nb-NO/Firefox%20140.0b5.dmg"; - locale = "nb-NO"; - arch = "mac"; - sha256 = "0a964cbb07466468fa9d948c4dd2049f2cd3a5af268c38d27329f0b86ca1b9a2"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/ne-NP/Firefox%20140.0b5.dmg"; - locale = "ne-NP"; - arch = "mac"; - sha256 = "b4f2ecc4062c00c8af8e158f1c0eabc2f3a249b8ce411907cca3f32ed7259e9a"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/nl/Firefox%20140.0b5.dmg"; - locale = "nl"; - arch = "mac"; - sha256 = "1ba0773d4d0871dc1cef8c43195f0b0a409cd65d60cd52bdfb2be343310ef8dd"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/nn-NO/Firefox%20140.0b5.dmg"; - locale = "nn-NO"; - arch = "mac"; - sha256 = "ec1b194966c8b9131dec53e4886449ebaef57cc5a74b4c07f3f1300be45d89e2"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/oc/Firefox%20140.0b5.dmg"; - locale = "oc"; - arch = "mac"; - sha256 = "64db50d7cf8110fb07a52a051f679de87431e20a9e8b9cc7d70216392da864e2"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/pa-IN/Firefox%20140.0b5.dmg"; - locale = "pa-IN"; - arch = "mac"; - sha256 = "3aef49944cbcf028418aa2d00728f6234fb097943a92613de7cbd44f1fd00763"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/pl/Firefox%20140.0b5.dmg"; - locale = "pl"; - arch = "mac"; - sha256 = "11dcb8d1920b878241e0288d0bf5ab948d4e6715f614538aa37428809c45fe61"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/pt-BR/Firefox%20140.0b5.dmg"; - locale = "pt-BR"; - arch = "mac"; - sha256 = "b3be4818299c53c21bdc5f969ef1ef25f63184d3d2f6b64818ed0953b133e48d"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/pt-PT/Firefox%20140.0b5.dmg"; - locale = "pt-PT"; - arch = "mac"; - sha256 = "00e15c805509c1581807f30824b724886822f0ae3374c7915df02df7cf1b3103"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/rm/Firefox%20140.0b5.dmg"; - locale = "rm"; - arch = "mac"; - sha256 = "fcec910fe50b4048026300de226efb24102ba3b5f49414e3aeb654a53dd92021"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/ro/Firefox%20140.0b5.dmg"; - locale = "ro"; - arch = "mac"; - sha256 = "190cec36a92228f5a378f27c06a13318436da437b5ea9aa7e952bae31a874495"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/ru/Firefox%20140.0b5.dmg"; - locale = "ru"; - arch = "mac"; - sha256 = "44324c4801ee925644ea48529b303abda5bf1af1b0bafaa05b219bee85dd968e"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/sat/Firefox%20140.0b5.dmg"; - locale = "sat"; - arch = "mac"; - sha256 = "bd75841f7cc401cbde05c186ed05acb0cc0054def01a93746ef5635544d563d1"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/sc/Firefox%20140.0b5.dmg"; - locale = "sc"; - arch = "mac"; - sha256 = "7a33465f018f499feb6d923c78a706d6a7b91a185142cde2888cd7f3c7bc0f91"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/sco/Firefox%20140.0b5.dmg"; - locale = "sco"; - arch = "mac"; - sha256 = "6b375e9a10242a14962d3a32eacce685024604d1d01b94d34552836ede00dee1"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/si/Firefox%20140.0b5.dmg"; - locale = "si"; - arch = "mac"; - sha256 = "00d743162f57c98c4d1dfb0d9dad8b054d396b837e904bf08769052efc5bd001"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/sk/Firefox%20140.0b5.dmg"; - locale = "sk"; - arch = "mac"; - sha256 = "e42ed7d1e3c27e0a0b9eda60cb62f8f80ca6efff1eb5bc760dc54ef332bc7dde"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/skr/Firefox%20140.0b5.dmg"; - locale = "skr"; - arch = "mac"; - sha256 = "8b8f25f4fca29cc8cdee2dc1b115dd61fbbba2b4e34182a44034237ce837883c"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/sl/Firefox%20140.0b5.dmg"; - locale = "sl"; - arch = "mac"; - sha256 = "33bc92c84f8898cfb651e3dbaa6e44d0d36cf25bcd18590709b6ebce20fe16ea"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/son/Firefox%20140.0b5.dmg"; - locale = "son"; - arch = "mac"; - sha256 = "5ec0e3c5e1245ced15371f8004bb49c9347bcbeafec752bd9ec057a6e4fa80fc"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/sq/Firefox%20140.0b5.dmg"; - locale = "sq"; - arch = "mac"; - sha256 = "84c9d9c34363870bdfc7f6a6a5416cf5c533d785618c9d098782378c156474ef"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/sr/Firefox%20140.0b5.dmg"; - locale = "sr"; - arch = "mac"; - sha256 = "346f1cc1d9c66b339ea555d97965a32ba18e45e4991e08f098cd4ec848a60a87"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/sv-SE/Firefox%20140.0b5.dmg"; - locale = "sv-SE"; - arch = "mac"; - sha256 = "54284aed0d3dfd716c0a709a5407b5a4de149da36e28d22dccd744f5a1386f3b"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/szl/Firefox%20140.0b5.dmg"; - locale = "szl"; - arch = "mac"; - sha256 = "2f8c6f6a7b4ff6a4ae10cc8e613077ed44ed20686f4d774fd7b98902e9259c33"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/ta/Firefox%20140.0b5.dmg"; - locale = "ta"; - arch = "mac"; - sha256 = "f9e32144bbb38db0e22affc83e57413dfbe95ae0227421a9957a28a4d5bd2ca2"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/te/Firefox%20140.0b5.dmg"; - locale = "te"; - arch = "mac"; - sha256 = "8617d545a09b95120344c5e60a6e4819189a273a9f5607a781d5922cf83ad023"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/tg/Firefox%20140.0b5.dmg"; - locale = "tg"; - arch = "mac"; - sha256 = "254bf6df96997dc2fe6bbb655bd6f46657d9a213a24829e446658ea9946ba463"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/th/Firefox%20140.0b5.dmg"; - locale = "th"; - arch = "mac"; - sha256 = "4cf71048da6a518b6cbeab880ec83d8c25f1ca46768c6f6804ec186964ea11e4"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/tl/Firefox%20140.0b5.dmg"; - locale = "tl"; - arch = "mac"; - sha256 = "04b080f4db8874455ce062da8344a0197224d132ac9e548d1de491a76f27adb3"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/tr/Firefox%20140.0b5.dmg"; - locale = "tr"; - arch = "mac"; - sha256 = "3d168f13fb87266ff10a1f982cc98f40dbbacf9bead6193c5909941307964182"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/trs/Firefox%20140.0b5.dmg"; - locale = "trs"; - arch = "mac"; - sha256 = "16eccfd086ee2cffa37bf3851eb9422264276d6fb75eb3b095701f041820456b"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/uk/Firefox%20140.0b5.dmg"; - locale = "uk"; - arch = "mac"; - sha256 = "c8dc6ff629b92cec90cd81664135988b89cda7e92885b206ffb36be6af97a5cc"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/ur/Firefox%20140.0b5.dmg"; - locale = "ur"; - arch = "mac"; - sha256 = "d55d1df00cb1a89e256088d871f046e2c79b25d4f6c221e55072d8a52551aea2"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/uz/Firefox%20140.0b5.dmg"; - locale = "uz"; - arch = "mac"; - sha256 = "f97a5bc25b935296e6f41a04e4ed33776f86a95767ccebbe184ac0491cd31f27"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/vi/Firefox%20140.0b5.dmg"; - locale = "vi"; - arch = "mac"; - sha256 = "dfd48c9cdfe3aa8291a83c2cb174f098076168d76340e1c787cb1a2f6254c330"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/xh/Firefox%20140.0b5.dmg"; - locale = "xh"; - arch = "mac"; - sha256 = "b4dde818b1b2587b9057e96771a205ce691609934ddc4fe3f293a1f4f92598f8"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/zh-CN/Firefox%20140.0b5.dmg"; - locale = "zh-CN"; - arch = "mac"; - sha256 = "c7a7cc8c0f059f44053b712aede9f86e9ebff927dc001dc89e78e844030bdf79"; - } - { - url = "https://archive.mozilla.org/pub/devedition/releases/140.0b5/mac/zh-TW/Firefox%20140.0b5.dmg"; - locale = "zh-TW"; - arch = "mac"; - sha256 = "728aac576c19521a5cb35e1cf7eb8e82a5055a9dbd4cc31eaa1b0110db10846c"; - } - ]; -} diff --git a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix index 445154e47b18..5254073e2b7d 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix @@ -1,2477 +1,2477 @@ { - version = "139.0.1"; + version = "139.0.4"; sources = [ { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/ach/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/ach/firefox-139.0.4.tar.xz"; locale = "ach"; arch = "linux-x86_64"; - sha256 = "531bace0287edd3126a7de1a4950edb3886219284f5cfb698f54bd93f7d89957"; + sha256 = "19ae3a43da28e5c553bbf4f760e8aac79351ba8e9c643af0f2631a2376d92dea"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/af/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/af/firefox-139.0.4.tar.xz"; locale = "af"; arch = "linux-x86_64"; - sha256 = "cb6fe313b9cca7d7f0884b3b63316cd4ac0f021dab718c0c6346c8107054ef47"; + sha256 = "b79aef52e82d5a9516a78f0f42e68780ef7aade45774a50349ae47e02493d3bb"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/an/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/an/firefox-139.0.4.tar.xz"; locale = "an"; arch = "linux-x86_64"; - sha256 = "21b18ae991160f15608e5aae118d9f872f03f7e4c20b708be6e1ab6c58d4675b"; + sha256 = "c543ad41991d2b3236bbd569ec9a3a6ae7b9e5937be9de9fe09fc82362782768"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/ar/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/ar/firefox-139.0.4.tar.xz"; locale = "ar"; arch = "linux-x86_64"; - sha256 = "a9fd657366881ccab8ffe614d4afe7b87bbe2c631e690886950a2a98a4ced119"; + sha256 = "7d7c6f4952eb844cfc2d99397949e85159ee6213b0bffad340d1a27956a40bfc"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/ast/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/ast/firefox-139.0.4.tar.xz"; locale = "ast"; arch = "linux-x86_64"; - sha256 = "346bc1e46ac8b87d642fb14aa58144cd967d6504226fd6503db98ac4d617cda7"; + sha256 = "d11e10813bf6caef3a3f53f9ab078cd04a6fbcb9f631f79a29f34551ebd8e36e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/az/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/az/firefox-139.0.4.tar.xz"; locale = "az"; arch = "linux-x86_64"; - sha256 = "921d0fd361669a97a64f5e871bd93b8afc650568a3936e4b1fdeba95b1e3bfd8"; + sha256 = "d96a57a592b109a288eb73219f44197eed9513a42f14d9f5f71c2507dc0f8f3d"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/be/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/be/firefox-139.0.4.tar.xz"; locale = "be"; arch = "linux-x86_64"; - sha256 = "be98f68df512b714b0a2547415d397a71ae1b1e0b69c404899536714088b8850"; + sha256 = "2919a424467a0272ab35a01382c646962f8600ca16bee4176ad5cbad82e6dbc1"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/bg/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/bg/firefox-139.0.4.tar.xz"; locale = "bg"; arch = "linux-x86_64"; - sha256 = "f4dca70d4134c5ebd8020f6c7b2006fb1fe7ec18517593e6ee0f718803227db8"; + sha256 = "7777ece2f960ca28ac2312dd18c3bc1d5efb513ddc07e91543dfa77ed94db2f7"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/bn/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/bn/firefox-139.0.4.tar.xz"; locale = "bn"; arch = "linux-x86_64"; - sha256 = "08f2a48ee6e4e4080f5a70fd397ef39305e87e7e03c8c19248a5bcef35234ae3"; + sha256 = "3f924e294a5e6fe2cddb55e89112744772c2b46fc4450eae13e4a167a2e91853"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/br/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/br/firefox-139.0.4.tar.xz"; locale = "br"; arch = "linux-x86_64"; - sha256 = "6527229a51049ed5f346cc272cbea875d83214a0e83d85416821c4f6ea587220"; + sha256 = "812a847532d26309cd2d1fde6150b5e39539ceea15073a15ff4b2cc551586db7"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/bs/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/bs/firefox-139.0.4.tar.xz"; locale = "bs"; arch = "linux-x86_64"; - sha256 = "499ba368e57fce3fd31ac200af6ba5ae918ea5e3326704d8f3a446b5681da66e"; + sha256 = "41ca24213010d602e2e1bacf62cd3067dc5c635025c0f52df453cc17276a19ae"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/ca-valencia/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/ca-valencia/firefox-139.0.4.tar.xz"; locale = "ca-valencia"; arch = "linux-x86_64"; - sha256 = "70c274813df3a9541b432fbdc87b453ebcf7d6b12ae27c86b24086ad8e0055a8"; + sha256 = "4a7a838e799b0c562538a907b6a9d6b62308a5a5c30a80d92d925dec2a53f7c6"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/ca/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/ca/firefox-139.0.4.tar.xz"; locale = "ca"; arch = "linux-x86_64"; - sha256 = "9e95e3c0474306acd060f86128eafb1dd5cc6ade3e9bb44da440902ba571c799"; + sha256 = "aef43b035212bb41aa691e7d8c312665bd97787f68c72a334e6a93623e8d21d1"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/cak/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/cak/firefox-139.0.4.tar.xz"; locale = "cak"; arch = "linux-x86_64"; - sha256 = "405c00b08ff957ea775168fd4a5a0ae6bc9512854b8d24b786eaffb0e3d73ae7"; + sha256 = "3ed2e87b31317ee971b7bb96a8dd7badf8e2fceec526b764fbaac90b4f0065f3"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/cs/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/cs/firefox-139.0.4.tar.xz"; locale = "cs"; arch = "linux-x86_64"; - sha256 = "9628d9a50311e99a35411ab503fff696d62d2205f4a57718a9f2f5176fdbd93b"; + sha256 = "b61df9364e2bc3505596890983a29e6ba0da82f9983d54e101876c5d3f5e959c"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/cy/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/cy/firefox-139.0.4.tar.xz"; locale = "cy"; arch = "linux-x86_64"; - sha256 = "9843d46864214dbf6a7e7ac91dc4df53c37ac01616c95c1f29e8df8169b60139"; + sha256 = "222132c847107c81b9c929efadcb0181366379e62ae10f11a353ed5fe91f896a"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/da/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/da/firefox-139.0.4.tar.xz"; locale = "da"; arch = "linux-x86_64"; - sha256 = "e0b2e1ae31f6ef3b63f2272ad5fababf03c1a632ac06554b0a2975f03b6aeadc"; + sha256 = "3d6c51d6cab42c94c1537f7ca9f871ae023bb58596fcf1214676b33ce073fec7"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/de/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/de/firefox-139.0.4.tar.xz"; locale = "de"; arch = "linux-x86_64"; - sha256 = "6f28b439dc219daa41c6dea5bc6f1c397cb1da00617373d9f2e568396ee09f9e"; + sha256 = "a47df34f27af806d3022034975b9cddd358ab3289e430f361c12f877ee24684d"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/dsb/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/dsb/firefox-139.0.4.tar.xz"; locale = "dsb"; arch = "linux-x86_64"; - sha256 = "d10e5c883663f19159e2685734459d54203d2c3a5cdfd1f6f8d77b6945a010ca"; + sha256 = "11bdcc776d0c2e6402b56af730b11e870a6f049d31a5090f642c8096e7dd2898"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/el/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/el/firefox-139.0.4.tar.xz"; locale = "el"; arch = "linux-x86_64"; - sha256 = "3601d5016cff81a3108f7a5e03c25553bcbdf18b6ce86504d12f9da04f7c0257"; + sha256 = "d692ffdc64227eaed48fce8c77d124fc0743577b4bc9a3e8fe78966c2f3ec5bc"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/en-CA/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/en-CA/firefox-139.0.4.tar.xz"; locale = "en-CA"; arch = "linux-x86_64"; - sha256 = "19236a577a4902ea72a2025c5df851bde6aa5aea38900ce264e9673dc67f531e"; + sha256 = "9e470eb8dc39111c621c32cce5a95c7d3a8b57bcc574720515ceb9b8d972ecc3"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/en-GB/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/en-GB/firefox-139.0.4.tar.xz"; locale = "en-GB"; arch = "linux-x86_64"; - sha256 = "7191920a7b31f514534d0086113c18ccf3070c64780a6d6700fcfd049a4f833e"; + sha256 = "f43c3b9b31b17cddb029933815cde6edb9602436801485279f7843b16a9c1dd1"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/en-US/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/en-US/firefox-139.0.4.tar.xz"; locale = "en-US"; arch = "linux-x86_64"; - sha256 = "f1a264f61d41700e8fcfa2310478d0c909655399a413072664fddaf612b53c07"; + sha256 = "fe22686f09a0c46390fea430b26cccc323d92af26869699f394f25b5e71527a3"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/eo/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/eo/firefox-139.0.4.tar.xz"; locale = "eo"; arch = "linux-x86_64"; - sha256 = "3773ae8f49fdb802ac3a4f5c9995a2e4a018a4959a45802e3d7fc382a7fb846b"; + sha256 = "78e64de10a7fc95dd7bff528b21e0a5deb2afa00dbfc96fd83de9ac2ef3a9794"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/es-AR/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/es-AR/firefox-139.0.4.tar.xz"; locale = "es-AR"; arch = "linux-x86_64"; - sha256 = "c148a4c9d587710fe85c94acaa2cc1b0e0ac9979e07ccb3d65edf589ba814d3a"; + sha256 = "5bd405f5cb1fd55b65ee0c50e03b7b00c6e5640b6e1cdbd5e242c75341c2ace2"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/es-CL/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/es-CL/firefox-139.0.4.tar.xz"; locale = "es-CL"; arch = "linux-x86_64"; - sha256 = "07a5533f64b7c6cccbe6c8585498bfe112b24d87cad5f83b88b5906dfa80baf8"; + sha256 = "8c3f35f8bd8bc114916133659c9b0847a1f2cb83f48f0139e7a32d429850f85f"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/es-ES/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/es-ES/firefox-139.0.4.tar.xz"; locale = "es-ES"; arch = "linux-x86_64"; - sha256 = "a1050e1b1d082b4532aa152ca60168110ef054d7269ba51d179572945945c355"; + sha256 = "85e59a1f85cadcabc191ca4127086b5162f80af63f5d90efa8aeb7c8f47195fd"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/es-MX/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/es-MX/firefox-139.0.4.tar.xz"; locale = "es-MX"; arch = "linux-x86_64"; - sha256 = "2a50480c184d44c1ef996823696095376916dcdd03038121897ff3d9a40434d8"; + sha256 = "27c3494deb84db86620c7029d36a8d300ac484555b925b50aa6c9cc94c646b61"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/et/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/et/firefox-139.0.4.tar.xz"; locale = "et"; arch = "linux-x86_64"; - sha256 = "d90aa3f7081f2239ce020c5ad14c5186e35362871a4b857ea6d40abb18d8195f"; + sha256 = "a82d41362ffe731565a1e5ddb4ff14c61c22f703c5582b0068ed462ff76e0557"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/eu/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/eu/firefox-139.0.4.tar.xz"; locale = "eu"; arch = "linux-x86_64"; - sha256 = "df530782bb84d1b7ced7b69b0e4b335adc40e391a767f69002b5d670ec5b23d9"; + sha256 = "bc28af96081a3b3df3570e368d4712e2de86da3b6d4abb5da93bcd3dc72372ca"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/fa/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/fa/firefox-139.0.4.tar.xz"; locale = "fa"; arch = "linux-x86_64"; - sha256 = "cf55def36d7c7e02b3fcc204fa61c6de1cc89d5a25aebbdd3e87263f9cae38b8"; + sha256 = "940e74356f31591d458e4e4767c27aa8704c9adf3d586599789d7440874f02c0"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/ff/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/ff/firefox-139.0.4.tar.xz"; locale = "ff"; arch = "linux-x86_64"; - sha256 = "b1bddfbccc91cf904f21a7ef347c053349296513514167b367cba1448f4c79d7"; + sha256 = "d5e94fccef9530647f6b28e94e47265277b187eeceb5104915a9ce1dd4b776e0"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/fi/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/fi/firefox-139.0.4.tar.xz"; locale = "fi"; arch = "linux-x86_64"; - sha256 = "ff106a72ef7908a85b970b270be8cdbb2be9b9f844f30a4feff385f33ac7d72a"; + sha256 = "b03c29658689808dfb8a112f8804eeded078cd1b5046e7964c83083f4c241a81"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/fr/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/fr/firefox-139.0.4.tar.xz"; locale = "fr"; arch = "linux-x86_64"; - sha256 = "9589769873aa494ed4df75aa6f7842c110655bbc12616d4f361db68fad6a31a2"; + sha256 = "91f4dd68920742372caf8285ea2670ee10de53cc95d3e4eecb8a8c5c44eb3230"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/fur/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/fur/firefox-139.0.4.tar.xz"; locale = "fur"; arch = "linux-x86_64"; - sha256 = "e99f42326c7d4b7b66dc5f04ecce923aa8a6a8fd79033540678cc4f3bb50613e"; + sha256 = "789717e8a3317f1e0ccdc7df1c82bfc717204f7a7362da7f1c6d73cf73ceccb6"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/fy-NL/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/fy-NL/firefox-139.0.4.tar.xz"; locale = "fy-NL"; arch = "linux-x86_64"; - sha256 = "cd2617791e4444f4752a6d49f19683e42a06f8238cac5ad33b92f296ff821689"; + sha256 = "da3063893f76052b19975ad1a5cf59296d2b05ec7756861271c2dfcc9de3997b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/ga-IE/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/ga-IE/firefox-139.0.4.tar.xz"; locale = "ga-IE"; arch = "linux-x86_64"; - sha256 = "acd0644887f6d3b2e3ba24f87f29a3211002799e430130e85c29086eadcf4805"; + sha256 = "443390d6794b84cd0bb2d0856aba154f1b3747fc580141285d5f5f4223d4dbdf"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/gd/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/gd/firefox-139.0.4.tar.xz"; locale = "gd"; arch = "linux-x86_64"; - sha256 = "db082a8c3d652f9cd67cbd495f8ded411ceeebadc4f819753107557bf8c817ff"; + sha256 = "0da26d8a5bf46e61ee2bb6a0a585d61aefa398bb970e830e6044931dec7e65b1"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/gl/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/gl/firefox-139.0.4.tar.xz"; locale = "gl"; arch = "linux-x86_64"; - sha256 = "ecd26fdf0f91f3647a0a0ddffd31b1343fefe70ca0681abccd051f1ff23cd763"; + sha256 = "e948e6433e2b5a0455348bcea3dc5ca2d9473e77a260a6a4a9aa49e0d745a20b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/gn/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/gn/firefox-139.0.4.tar.xz"; locale = "gn"; arch = "linux-x86_64"; - sha256 = "77ddef80e76576e6e4617e887256cd58175f1ea7a3f03577ea0bc80c2dffa02d"; + sha256 = "1a9ed525b71685b5ffbc9bb88f006fff1aa634dc437581796baed4f7ed318ac8"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/gu-IN/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/gu-IN/firefox-139.0.4.tar.xz"; locale = "gu-IN"; arch = "linux-x86_64"; - sha256 = "cad1a57b3daeb7f5a73e4b9f7772d0ea040a0af7364ceaa9133888e06c95d30d"; + sha256 = "9b2255cc4c2ce0901fa2080dd68cc437c26ce51197242837f4f82dacf59070f5"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/he/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/he/firefox-139.0.4.tar.xz"; locale = "he"; arch = "linux-x86_64"; - sha256 = "71710c4a4a9624da9aa61464320c6142e01f2a26d2a729df9dc32adb5f0ab5ae"; + sha256 = "7fd2fe76a612667b09ae2547aa83c92023abcee1c3ab18a4645c5e39d3ff2c08"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/hi-IN/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/hi-IN/firefox-139.0.4.tar.xz"; locale = "hi-IN"; arch = "linux-x86_64"; - sha256 = "e6150a19678737c0f4035b3bb9004cf5ca2e26778bb1f79bc2db01bbecff8b4f"; + sha256 = "86fcf458b4e72b2345b3d4f22c0eed581ba743a0f44be9c8b1cd07612538154e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/hr/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/hr/firefox-139.0.4.tar.xz"; locale = "hr"; arch = "linux-x86_64"; - sha256 = "32bbd13a90626f7e3bb60458add891bb7227552007b1e2bc09614b5060a2a130"; + sha256 = "a084d7d1260b86ac8a5390fe435acc534fe7a4835bc5dae0136232aeb2b00a4e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/hsb/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/hsb/firefox-139.0.4.tar.xz"; locale = "hsb"; arch = "linux-x86_64"; - sha256 = "b8ae9765b8c76c141858761ee097601175e0039a671fd77e30c55879eaf7e83d"; + sha256 = "e7e611f6df72b8019ca44ec6f3ad68365d7dffda5dfa2b6b3025479607f67fdd"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/hu/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/hu/firefox-139.0.4.tar.xz"; locale = "hu"; arch = "linux-x86_64"; - sha256 = "3bf39ae1423543d0cbf15ce9cbc831b78bf511d4273536d1a62f15b03eb4bbe3"; + sha256 = "0c52bf023a58d78b4da76e15c6a127ffb45a2bd58c75ac7572f2ef3decea3cff"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/hy-AM/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/hy-AM/firefox-139.0.4.tar.xz"; locale = "hy-AM"; arch = "linux-x86_64"; - sha256 = "3050f529026eb2d712779890abe1a7f94e6502457a6d9eb7cdcb0c15be17b784"; + sha256 = "1ca30d46dfa5a0f372d89c073387fd261db9ec7aa3d1a48f5d6ae09f21a4efb2"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/ia/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/ia/firefox-139.0.4.tar.xz"; locale = "ia"; arch = "linux-x86_64"; - sha256 = "cdea2b43c1cfa36b720105c5f403571de2c7b5b8c0667f2dba422380f2092fd6"; + sha256 = "75b3a6d0eb90f977370709b03e2d84bb62d25105cfdbb86d6b85d11916546582"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/id/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/id/firefox-139.0.4.tar.xz"; locale = "id"; arch = "linux-x86_64"; - sha256 = "6123ea5e0a86caf53f210af2e3bc5f53d1abb32c9aa5dae6f855572339e45e75"; + sha256 = "d4d40d1de930670b5da5edbad90a58d87a9ef1256a90acd42b867322f1069550"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/is/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/is/firefox-139.0.4.tar.xz"; locale = "is"; arch = "linux-x86_64"; - sha256 = "14d36069a1ad136dd72cec1283d7d78edce6a02843a3441b99a513a547c158fa"; + sha256 = "89805ee54ff0261b9063dfbce2ad833d8967593591adb780ee905b0f55a72191"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/it/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/it/firefox-139.0.4.tar.xz"; locale = "it"; arch = "linux-x86_64"; - sha256 = "52091e49f5cb9c82cd5b0096eff6802c42464d95b605c18ae28db2c19d36e89a"; + sha256 = "1d18aad4f64e91760a5fe18ba26aa2d102a1c5c1977ccd8313a47811bbfb7bb8"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/ja/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/ja/firefox-139.0.4.tar.xz"; locale = "ja"; arch = "linux-x86_64"; - sha256 = "f6c3d8a5837bae90ec81fe607193044e9de5742e862c10d369b1d5a47762e996"; + sha256 = "1c1304057882bd87a6553c68cca3c9c6341d1f910fc2a8be5918d91e63e82191"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/ka/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/ka/firefox-139.0.4.tar.xz"; locale = "ka"; arch = "linux-x86_64"; - sha256 = "3565e61f3347861c8930f1c62f8d1796207f11cc9312367d8d025657096c8b2a"; + sha256 = "d6ea469bac110bf20def38bef0d0f1f6c1eb6369ac5ea38e597a78d9be8ceb6d"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/kab/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/kab/firefox-139.0.4.tar.xz"; locale = "kab"; arch = "linux-x86_64"; - sha256 = "84f8ea8e91d7425a7ebed74c4589fdb90dbc6adb09bba598355662b3cf5ed405"; + sha256 = "46a9370b9eb7411955785bfa9c7707720333255014b6fb76b55d26c76aed04f7"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/kk/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/kk/firefox-139.0.4.tar.xz"; locale = "kk"; arch = "linux-x86_64"; - sha256 = "1aba65cf2b8613c7f2c0938a4ce4ca5eb58f197855456b2ee1ab21a0f1261fb0"; + sha256 = "53bfcb7fb280ad84446a2aee466eb86181f24d6c6ee13989b1cd03e89ebb836b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/km/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/km/firefox-139.0.4.tar.xz"; locale = "km"; arch = "linux-x86_64"; - sha256 = "7f26bad7ba58f2e6ce13a5c551c29e847bc174aef8066de914496247a4cf8fbd"; + sha256 = "8f59704ba6bc586e92402296f801acecb47175194e70f7d2fd102122128af36e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/kn/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/kn/firefox-139.0.4.tar.xz"; locale = "kn"; arch = "linux-x86_64"; - sha256 = "a7654f9f6f827f17ea9a9eec1126416bb8e2364808d956d6b15e4e66c1b4c2c2"; + sha256 = "0502db9a7390f4918dc7495d1923c10f65a81202f926f5f9c8930e21ae53b504"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/ko/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/ko/firefox-139.0.4.tar.xz"; locale = "ko"; arch = "linux-x86_64"; - sha256 = "521ca6a04f2bcab3a48473400733e02c5dd08e19e8d0a27507b6e7d0981277bf"; + sha256 = "2beab3ce63ef964f521a0a74ce4f59155b02215e221cf34d3f353cddff79017a"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/lij/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/lij/firefox-139.0.4.tar.xz"; locale = "lij"; arch = "linux-x86_64"; - sha256 = "8a18d13ce49f43f4fa14d9b23f5831e62188e87f093a6e79737e8484c4652d2a"; + sha256 = "3ece05b3bf61cedc4c4e9ff7c783ef5697d10bf5c64d460bb8c4c325caa163c6"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/lt/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/lt/firefox-139.0.4.tar.xz"; locale = "lt"; arch = "linux-x86_64"; - sha256 = "e065cb65be49bb3b3564f320ea9f46664e2d248acd358132d91a982327373f96"; + sha256 = "e42a660ab50c2fdbd17327c5d6c6d7f84b34a427ab63476ba652813923fda45d"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/lv/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/lv/firefox-139.0.4.tar.xz"; locale = "lv"; arch = "linux-x86_64"; - sha256 = "9827102276a0c08b8f7f8285eb801f0b56f5c57f8971b37bd0b5bc5c128aa54d"; + sha256 = "32ae55c17cb7ca8876bb8228fdd2f3c1db61e34d421f45c7d1cb44fb9ce20d3f"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/mk/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/mk/firefox-139.0.4.tar.xz"; locale = "mk"; arch = "linux-x86_64"; - sha256 = "049ea07365404a812cdf695642bd331d932687d134b64275683c446edad9eb5c"; + sha256 = "635c32aefaceb333fcb202425fbee52f31e4de24456d795e7d0a6c09e9f98da9"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/mr/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/mr/firefox-139.0.4.tar.xz"; locale = "mr"; arch = "linux-x86_64"; - sha256 = "5783b8a946f35e8210342430a6765fed5fa7cb05206d0463219be875ea71cfca"; + sha256 = "20355f6b420d2ce43ac8314f7a0ee059076fb8a94c831a21e839b780b24b749a"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/ms/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/ms/firefox-139.0.4.tar.xz"; locale = "ms"; arch = "linux-x86_64"; - sha256 = "05a7ba72380a7efd710f995022cf2ee59f84229967bf52db6a61669fc4d5df52"; + sha256 = "1b9bdec98b7c9b12bab7efc119165e62d8cc0a3a43a9f8f8feb5eabf7aa88f2f"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/my/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/my/firefox-139.0.4.tar.xz"; locale = "my"; arch = "linux-x86_64"; - sha256 = "004a93603fa6eb4d05b8e8e49cfca9f72522495850f7bdf80b0c07314b9a0819"; + sha256 = "76a2a5edf32125554af394111c4ebaec727c2cbe3967af231f6be2daecd6f448"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/nb-NO/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/nb-NO/firefox-139.0.4.tar.xz"; locale = "nb-NO"; arch = "linux-x86_64"; - sha256 = "d7c26672a5589ca6b7f4f7b08c3b0b33f722e6be5ae4f4fcad0e4e5fbd771689"; + sha256 = "3382e49c093fcb69f9dfb7621dd4f5de3d8820bf83104d1f05538ad8b8165939"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/ne-NP/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/ne-NP/firefox-139.0.4.tar.xz"; locale = "ne-NP"; arch = "linux-x86_64"; - sha256 = "d1a9a80c5919632c78fb8e51fbb750eac3c17cd369771ae4cf3291b2f5a07d97"; + sha256 = "26537a983ed0a7b01b8ebddafa97f78680f2ed49e738959d43fdeb6c7dbe5c2a"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/nl/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/nl/firefox-139.0.4.tar.xz"; locale = "nl"; arch = "linux-x86_64"; - sha256 = "822ee67f7d9dca15b9661ab2706840ed5a057cbdd99d398620c713398ccfb496"; + sha256 = "d21d95b1bc2f94b03a3f19690047ae1988b8be01fcc07509f08d95a020ddd21b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/nn-NO/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/nn-NO/firefox-139.0.4.tar.xz"; locale = "nn-NO"; arch = "linux-x86_64"; - sha256 = "32a73765b1c74d38a38a7e8d64248f89b330c71acf632719bc7b7766727715af"; + sha256 = "04b5f772b1ae9dac6b04b4ce548583888682f482a2f0459bff995d8ba8544304"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/oc/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/oc/firefox-139.0.4.tar.xz"; locale = "oc"; arch = "linux-x86_64"; - sha256 = "45d3b696a9cd7a48ad429a7bcf94b5954341d44286b87bf95d6bfe05c31e9de9"; + sha256 = "d56bdb33635703b014f3f367ae60ae5d2c3d2e78f375386a909bd5567d844461"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/pa-IN/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/pa-IN/firefox-139.0.4.tar.xz"; locale = "pa-IN"; arch = "linux-x86_64"; - sha256 = "30e78f06834e64f85f78202b37f1d8e99a92c1893cb9e5cd53083fb609ba99b9"; + sha256 = "178067f1e94cdc889da0129ed2c58d16c5d22f7c77ffe91f31ec32297f0771d0"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/pl/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/pl/firefox-139.0.4.tar.xz"; locale = "pl"; arch = "linux-x86_64"; - sha256 = "2a386637a6747e2d31fb0f5269af67ea2540436b8ea655527dccfd281c198660"; + sha256 = "1ddb01a76f28b567d2db1fa6bc855491f3fa74183ca1249254172865ef77bb9e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/pt-BR/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/pt-BR/firefox-139.0.4.tar.xz"; locale = "pt-BR"; arch = "linux-x86_64"; - sha256 = "79e7285dcb77bee9c54f45bf66f376002fbf3796e76f335151a617597d935431"; + sha256 = "58ae54a2d2e7eb7be41f8fb7f80bb1079d05480c9b9cd10574d6c5d2d2ff4903"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/pt-PT/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/pt-PT/firefox-139.0.4.tar.xz"; locale = "pt-PT"; arch = "linux-x86_64"; - sha256 = "93cdd703ea7aa0b4571e2a7cba8aee1e48c81e37fe5f8e28c4d2499babf13cbb"; + sha256 = "24d8c16d57b2e0a05537dbe1604c185e71e145feb28391a3637e755d995b5fb1"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/rm/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/rm/firefox-139.0.4.tar.xz"; locale = "rm"; arch = "linux-x86_64"; - sha256 = "68adac4215430e27de94af7b28dc0f96f4618c221a4e820cc1fc2c6ce2ff13a1"; + sha256 = "b6a5b1264958af49edfde10b8382b7fce334e823088d77a7fc8fb667a498f7a4"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/ro/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/ro/firefox-139.0.4.tar.xz"; locale = "ro"; arch = "linux-x86_64"; - sha256 = "722480295bd52b05f4bf155d234a9f6ffeb031f80c5363aa44971f6b76296e28"; + sha256 = "4e73194bc045f14683813073dbdd080e6186cfd0686b53fcc4db425fd9d1838b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/ru/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/ru/firefox-139.0.4.tar.xz"; locale = "ru"; arch = "linux-x86_64"; - sha256 = "e261ec1650b3c345998f809805d93f7f32c25480efe0ba37158b44a7ba398a69"; + sha256 = "85a14c256da423a302b8f421d88f825c04257a5e3dec68aa13a6d3b2b3e85dda"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/sat/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/sat/firefox-139.0.4.tar.xz"; locale = "sat"; arch = "linux-x86_64"; - sha256 = "850beb7ddf0eebab3c89a85a5ac16ad4598d355e8065ba9218f22cc9c653e084"; + sha256 = "f27bf4b33ca14dd78b7fc89f9bbc3b333b546205c360f63f7816479ef4025809"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/sc/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/sc/firefox-139.0.4.tar.xz"; locale = "sc"; arch = "linux-x86_64"; - sha256 = "cc1886fa8333f41b409f21a30608571731ad86e215816dc318066e13357c3ee4"; + sha256 = "47df778b5e1a83fe60082a56e9bda65250ef184abf4f7127fa30ace642ef81e5"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/sco/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/sco/firefox-139.0.4.tar.xz"; locale = "sco"; arch = "linux-x86_64"; - sha256 = "7e1aa53c0d7286726940e6e034ee0c73c2ad1de3407003bbe56ee9425c352b99"; + sha256 = "ce671e5af5682e095e96552e5e407a301ad2e545766318e59cbc4ddae8792e62"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/si/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/si/firefox-139.0.4.tar.xz"; locale = "si"; arch = "linux-x86_64"; - sha256 = "08d28d4fa7a479c7342757a0ce1c4c739248643839f8effaaae17a40f9fff922"; + sha256 = "ea337ce012881ada3a142900fb1f7390ba84a3f38e085d670a8db4c810607689"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/sk/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/sk/firefox-139.0.4.tar.xz"; locale = "sk"; arch = "linux-x86_64"; - sha256 = "a16b64ad14f4afdeb03ad067cf191331c6e768185e2335299b8811d3268a337a"; + sha256 = "a05d7215de61dc20252969a3b1adbba0d7b9ce474f555ef1d59ccfc012faa53d"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/skr/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/skr/firefox-139.0.4.tar.xz"; locale = "skr"; arch = "linux-x86_64"; - sha256 = "a17345215dfd4c8f84ae90a2b8319c8733fd4bd1f65398867d8f160b35595c4d"; + sha256 = "57a2cadc0f4c1ebdb91454433ed3d46e7ae8885b5918ef5969c95d879c655b19"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/sl/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/sl/firefox-139.0.4.tar.xz"; locale = "sl"; arch = "linux-x86_64"; - sha256 = "207b5c912db4a45848aef0f62edfcbd5ad16c3d21daf1207f4099726fdf1f0d5"; + sha256 = "17d516442c8fe6dfc8813101e6a4e93f68f16d13e24794c41303e23030e6ce82"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/son/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/son/firefox-139.0.4.tar.xz"; locale = "son"; arch = "linux-x86_64"; - sha256 = "25aee28a370f27571f13238d81396363b0261e2fd3fccf81f00cbfd6568e7a59"; + sha256 = "4abfd19e1af1ef6b6e0010cf5efb2ef55ba5aaea4e029e1383b5146557860a51"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/sq/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/sq/firefox-139.0.4.tar.xz"; locale = "sq"; arch = "linux-x86_64"; - sha256 = "816e70168f783c76b7da3b2c0d62a440e681a4377ff6d381c21aadce559acc6e"; + sha256 = "4092fdf3144d610c5d4d5d367dbae82356d7928e2f6adb960453b44b89144ab7"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/sr/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/sr/firefox-139.0.4.tar.xz"; locale = "sr"; arch = "linux-x86_64"; - sha256 = "71c9b81a9a98bb5b0f5cbb1d4bffe5d38652f0e6597d7f746fb20fa6ca5d60d5"; + sha256 = "684263380f03524571b23c7872313363eceb952173fe257b4cf2c4035f5393bb"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/sv-SE/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/sv-SE/firefox-139.0.4.tar.xz"; locale = "sv-SE"; arch = "linux-x86_64"; - sha256 = "4f0c25b3d37dfdcd78c08e4c610dd605d4587fb32a618bf02dc260a974ce60ee"; + sha256 = "301deb5f1ebf0c8c7d659c437d7d89c91fa881608a5a4461e345d5b5e3b75c46"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/szl/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/szl/firefox-139.0.4.tar.xz"; locale = "szl"; arch = "linux-x86_64"; - sha256 = "1061a6dbc76d2ca70a09636d8dca724d7b66cd4dcc9f80b144dc77eb12380f7e"; + sha256 = "e5ff830a49042bf2bdb49d5b9627a981f41222b4bc0b35fb0fdd740c093b526c"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/ta/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/ta/firefox-139.0.4.tar.xz"; locale = "ta"; arch = "linux-x86_64"; - sha256 = "e8fe9b50026febcdb600d3e825ee80b3d832f6dfd404334db09a296ae8fbaed0"; + sha256 = "3e42562dc712c3d1eea01a853c9c269dec150491369a7f94a088f61e04eb52cb"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/te/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/te/firefox-139.0.4.tar.xz"; locale = "te"; arch = "linux-x86_64"; - sha256 = "84e8d2fca89f772852acef8e055f8c2fe648b553fcd948206c61212387151c86"; + sha256 = "afaaac45d761de23084ba0451b20b9ef242aa46cfdc36a59ca54a570067af0b4"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/tg/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/tg/firefox-139.0.4.tar.xz"; locale = "tg"; arch = "linux-x86_64"; - sha256 = "df59bfe8b7b0c046c41d752394513d958ad22873c48e5d387ef012c5eb5e3f24"; + sha256 = "0803a98962b05a22772c6d84bc9625a25f8bef046996cc709b85a73fced57ff1"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/th/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/th/firefox-139.0.4.tar.xz"; locale = "th"; arch = "linux-x86_64"; - sha256 = "e98a80c45a5df3004e4f7643bdd81a8cad4b78b898ae12782d197118a2b8efb8"; + sha256 = "1e67f3c723c6b50c99a61815a19d0e7aa488de58f0a3b77aef0dfc9f95de20ba"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/tl/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/tl/firefox-139.0.4.tar.xz"; locale = "tl"; arch = "linux-x86_64"; - sha256 = "f92e9564fe26faf2f0e2e63e45b10144b3edcb7f9756a72c0ea78cf51145d924"; + sha256 = "8a036dbbd704d47ac6f135a5b44acf7a726ee8721b0fcbca9ce7150115c32732"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/tr/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/tr/firefox-139.0.4.tar.xz"; locale = "tr"; arch = "linux-x86_64"; - sha256 = "460cbbac0c082747d0f6ea127473f6dfc71be8e715576414961fe4cea53a5628"; + sha256 = "29b1554086dd239490c9b9076a812137823cb9447b39ba7c5d7b8b3d5d74bf5a"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/trs/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/trs/firefox-139.0.4.tar.xz"; locale = "trs"; arch = "linux-x86_64"; - sha256 = "6bd7ef58f999e8847970eab629fc343a2565662e6392e3badbde20f4d6ee259d"; + sha256 = "105a01e63c556791c78645af541b75c090ae8db3b479b396e0949b81849b3a07"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/uk/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/uk/firefox-139.0.4.tar.xz"; locale = "uk"; arch = "linux-x86_64"; - sha256 = "8bfda5a3f6bf15c2f2ce52346ebb97297da25090edd819f4400d3841bdf9a56d"; + sha256 = "f889d5347935b505c8acd832eb7f55e909e5c2335396b4630d0518e6533d342c"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/ur/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/ur/firefox-139.0.4.tar.xz"; locale = "ur"; arch = "linux-x86_64"; - sha256 = "d1030ed4a5ca208c78f878a82f4027bcbc1ed0bf8da416fdd3e0061027c0fac8"; + sha256 = "c10cb624597df0621d33e9fae0a033ebc0256ede3ea84173dbc5aa83d6c04735"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/uz/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/uz/firefox-139.0.4.tar.xz"; locale = "uz"; arch = "linux-x86_64"; - sha256 = "5441f193a9af2fa56a676b2ec9ac79a0630145af04441bd3c3ea2bc287216926"; + sha256 = "1045edafc95910b71233a47af11268e7f065d4bd9976c676f45cdbc146a7febe"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/vi/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/vi/firefox-139.0.4.tar.xz"; locale = "vi"; arch = "linux-x86_64"; - sha256 = "00073389b9e049e3318f61f880167a1f4b37bfb9f4eeb671711dd638bb20141d"; + sha256 = "b6d0ed7399eec4d69c7dd5c991818b9be52fd6ec670fc148ff8f75a29fe8a633"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/xh/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/xh/firefox-139.0.4.tar.xz"; locale = "xh"; arch = "linux-x86_64"; - sha256 = "bd71ac2385beae6f6fe8ce07044c403c9eab3de664bb07d26bff6bfb98f586e5"; + sha256 = "360437bc312d5e113919ced6d82acbe8f6d8c463da00d89af67df03fec971279"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/zh-CN/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/zh-CN/firefox-139.0.4.tar.xz"; locale = "zh-CN"; arch = "linux-x86_64"; - sha256 = "8f8bfeb4d826950d1ae903c7c0b9715cea351c72e7faed9fb769c084acca9b63"; + sha256 = "2fde7c9ccf14c9091e2f2e96238a2f0c7dbc84a82920d0a3c3eed329cb4d9360"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-x86_64/zh-TW/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/zh-TW/firefox-139.0.4.tar.xz"; locale = "zh-TW"; arch = "linux-x86_64"; - sha256 = "bd23be469666d3413bf5f57b3b675adf2e6e17d9c5c6b6da012cc5a0e3f190b4"; + sha256 = "318be7f9b81b5e7c4469dca4201213f9f064b8b47ceeebcc0f93040544b10181"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/ach/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/ach/firefox-139.0.4.tar.xz"; locale = "ach"; arch = "linux-i686"; - sha256 = "d57ea35a639a93d6f8e53aa8e1272bd731fef0f162e1e5c65f968e958ce82da4"; + sha256 = "efe3d84e60799cdf38914250d0ac2703d5b44a536823413b4f97177df4ca9d44"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/af/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/af/firefox-139.0.4.tar.xz"; locale = "af"; arch = "linux-i686"; - sha256 = "855adfd79d3a16aba4cea8ad85295fc5b553cebca558223f10b1ed2738cfd828"; + sha256 = "f4df58379868d079a8e92cdaf1af3c68f34c59004fe6eba1c0d12d27a2e28016"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/an/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/an/firefox-139.0.4.tar.xz"; locale = "an"; arch = "linux-i686"; - sha256 = "6bcb30d4f8971819fa3944773f19b0da8e81c55bd9616e942ecee5156f2c66be"; + sha256 = "c5511db64b806b079dea8c5eb685339bae2e5a7760994e0ce734c8078fc6444f"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/ar/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/ar/firefox-139.0.4.tar.xz"; locale = "ar"; arch = "linux-i686"; - sha256 = "b6e35885d5791461d2a8455cdcd3693ff9eccae90393c1bf658c63aa185d01b1"; + sha256 = "3193ae86eb7ec60886719fc605d1ebc894f41c31315fcf5e0719497cdd97d492"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/ast/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/ast/firefox-139.0.4.tar.xz"; locale = "ast"; arch = "linux-i686"; - sha256 = "ed6f4985196d14eebcaf7a3e394159eb0d6df00c09073439ed807fd59a70085f"; + sha256 = "ccb94417b06a43a8768e7aae99b4ea791b693fdccd6a4f017aa60a4371ea693d"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/az/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/az/firefox-139.0.4.tar.xz"; locale = "az"; arch = "linux-i686"; - sha256 = "799c4aeee747108c5d6ef6c00003a167640fcd5d477590b75a6c099b52ecc32b"; + sha256 = "77c0de8966b6f48df45f86e8c82e0b63a83c414715d65499fbbee60d94a096d4"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/be/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/be/firefox-139.0.4.tar.xz"; locale = "be"; arch = "linux-i686"; - sha256 = "075fa1c35244705239ad055daeb5343009b80a74b1f4fca204f451fe4dd13294"; + sha256 = "81e15f0edb1b737f6a8130c68dbc1b2dcb520c5655af1533c4ee4cbc43ac31e5"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/bg/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/bg/firefox-139.0.4.tar.xz"; locale = "bg"; arch = "linux-i686"; - sha256 = "b856073a0ef47fb94b817806da9cabcf575f3ad4c7b69dd491c2ba4a2a7d8edf"; + sha256 = "c77c220629c4018afb8db7abedbe3cba1614289b3642d9e953dc712a01125781"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/bn/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/bn/firefox-139.0.4.tar.xz"; locale = "bn"; arch = "linux-i686"; - sha256 = "9aa12ef33389b7a9d81abb99347ce6f0d6911eb0c1bbc1068807800fe0373b82"; + sha256 = "9113a41a8a08a89451631c18346c954cade93eb51a6e79a5219338b86cb81873"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/br/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/br/firefox-139.0.4.tar.xz"; locale = "br"; arch = "linux-i686"; - sha256 = "bd29aba9fe802b7eb2e8d8c6b5d186f9a41d4afc8062866d57674ed75a25fd29"; + sha256 = "74487a03a2e7b6545cbdf5e948795588840e502985b03e3670fe6da1f16b5a84"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/bs/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/bs/firefox-139.0.4.tar.xz"; locale = "bs"; arch = "linux-i686"; - sha256 = "7d5e1a3060f748e59a46e237290d728e4ea5f82d2ca691354063e18ea27a56dc"; + sha256 = "88ef03c50f048d843c123e9fc54a9eb8524ad7ff2473ca5456f4500bb62bf91e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/ca-valencia/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/ca-valencia/firefox-139.0.4.tar.xz"; locale = "ca-valencia"; arch = "linux-i686"; - sha256 = "cb6c81e6dd880a1895b73f7d1e10c3887c13823e3b4b633ec7a3ebb81f86d7ae"; + sha256 = "d08a89ef4fe795946393fc9d5b29c1b38e1b600cda286fae769d9ed5c67829d6"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/ca/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/ca/firefox-139.0.4.tar.xz"; locale = "ca"; arch = "linux-i686"; - sha256 = "60953ffe23a1e2370935b74fa3669c66e6ec97f750e37817e3c0a0922a2be9b6"; + sha256 = "07501520cf38f7e2478277fafb18f9f388e347b9e66af8d756b10ab259831ff3"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/cak/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/cak/firefox-139.0.4.tar.xz"; locale = "cak"; arch = "linux-i686"; - sha256 = "bc8c620ac433f24a7346b9ae503c08dee9f54005f4cafde73eea315fcc63a0ea"; + sha256 = "9eae6daf22a0925eab388d54fb01402a71dcd18879e760a7594ef46faf27b592"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/cs/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/cs/firefox-139.0.4.tar.xz"; locale = "cs"; arch = "linux-i686"; - sha256 = "42a02e26dfdc94a5e7f988a739903b08009e39bf0e5c56777029b6e7da69e8ab"; + sha256 = "3d509a4576a2d2b08ab707c7a56ee46178e7fba07de2ac8bd8b97e81c640833c"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/cy/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/cy/firefox-139.0.4.tar.xz"; locale = "cy"; arch = "linux-i686"; - sha256 = "ff4f7b4012a7127dd97d5633907a463048082f22b035428552f5aaccb51beeb8"; + sha256 = "459045eb67dc09d299e76f1ef29f883ff3d73020b184e457e4bf4998809d9e0b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/da/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/da/firefox-139.0.4.tar.xz"; locale = "da"; arch = "linux-i686"; - sha256 = "4b713d15cbd819ab01dc3943557ccce1ddf69690e9814c0470072aa572d82526"; + sha256 = "8d23fda9058523461e9dcffd32a1fd10810dfef8cf86efd6748a241ee44d195e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/de/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/de/firefox-139.0.4.tar.xz"; locale = "de"; arch = "linux-i686"; - sha256 = "01aacc8059f91ba0c5aa57110541bb888412b3c1a9eb1f81c211ad41af8dfad4"; + sha256 = "91269c0e3190d315404ba75056b9c766091a8cfe69e257099668703dd88282e2"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/dsb/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/dsb/firefox-139.0.4.tar.xz"; locale = "dsb"; arch = "linux-i686"; - sha256 = "4849f130f85cfaf5e9aa9f12051517510f25d75ea29bf6596d9ae06ccb63661c"; + sha256 = "b28fa2d3da1e2641909bd08b1ff685863df6a6521a82b832831854d7a1d2526d"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/el/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/el/firefox-139.0.4.tar.xz"; locale = "el"; arch = "linux-i686"; - sha256 = "3442b9c3d6f7532c685c588052d3fd978ca677528c596c01cd4fc52346071b04"; + sha256 = "4d4c4a62417b5475cfa7f9b45c30e5745b5cb0b87b37e2699f092d3bc606d389"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/en-CA/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/en-CA/firefox-139.0.4.tar.xz"; locale = "en-CA"; arch = "linux-i686"; - sha256 = "a098a3e60f2f75a691a8e4d73da0a1c5bc538660e6e6af8794bb7a061fa09cbc"; + sha256 = "32cedd68211d70e232980b9659b17f584f3e03fab735563f3fadf9b2f7678d14"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/en-GB/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/en-GB/firefox-139.0.4.tar.xz"; locale = "en-GB"; arch = "linux-i686"; - sha256 = "a643758f3637a68bf13e9bd8e8af6819d5d0af41f2e993f8ea6fa62816e2b0c8"; + sha256 = "6662323e1b378b59043eb06e6b64b9e0828a50c8ee2e36c3059102e0d210b837"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/en-US/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/en-US/firefox-139.0.4.tar.xz"; locale = "en-US"; arch = "linux-i686"; - sha256 = "6b7e55674aed8208aeb78ff5439984c6f39260b993e9ecc7b29e7a04a0c61586"; + sha256 = "202a6ee018ff34923a6f59363b45408fbbedaf73d96a751285e801ca73bce4f8"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/eo/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/eo/firefox-139.0.4.tar.xz"; locale = "eo"; arch = "linux-i686"; - sha256 = "a4a83a72da16d0cebd59362dc4f12fe38e5469889ee8a5c1b99785fd66dd9720"; + sha256 = "c9fe021fd4df933305fa18e0c142549c4d1acc8fc870fd361df721648e602cc5"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/es-AR/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/es-AR/firefox-139.0.4.tar.xz"; locale = "es-AR"; arch = "linux-i686"; - sha256 = "ff251f725a782571880faaaed72e99c06c18229be2b33575eae217ac28e4bb0d"; + sha256 = "e930de6127ed5991a03873a3aa696f004db19ca3e2364d5ff1a585812c2f110e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/es-CL/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/es-CL/firefox-139.0.4.tar.xz"; locale = "es-CL"; arch = "linux-i686"; - sha256 = "71160481a52a0fb3aa0b74ab9ad1e2504934dea7f0a50c2e58adb66be0ea3696"; + sha256 = "6323556e58ab72674e9a5520d6657e8ce3b52d50c962c4e6c60bd0e8105804c5"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/es-ES/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/es-ES/firefox-139.0.4.tar.xz"; locale = "es-ES"; arch = "linux-i686"; - sha256 = "23387f47087b600e7ab306001feec62127aa23580b5110b6e7e69a0ab55c153e"; + sha256 = "71b02535bf7d7e8cd0a3da9317e33314ed54e8f8109f495887cc9a032219a071"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/es-MX/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/es-MX/firefox-139.0.4.tar.xz"; locale = "es-MX"; arch = "linux-i686"; - sha256 = "b93f788d5314c36fb2e5c5997d004062843735bacf35c532630da8b60895b18d"; + sha256 = "065dedf422a3b5d678d6359070a08934b809996349ba09452158e79f899b92a4"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/et/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/et/firefox-139.0.4.tar.xz"; locale = "et"; arch = "linux-i686"; - sha256 = "ffe0e36f552d16932d79676655e15f62cfe4a9e6aefe8bc06b78d8e4ea1daad8"; + sha256 = "19dcef89982b967497a2b309ffa9f7f6f64e8490560820151919242f273f9ae5"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/eu/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/eu/firefox-139.0.4.tar.xz"; locale = "eu"; arch = "linux-i686"; - sha256 = "69897e19e2c78c3b8270f613403d82c77b4f6cfce93c1eb6062994ab21e29283"; + sha256 = "11c074185d5ed9ed58a031fad9bfe58a7132470d9d5e4069c249f66022d7a2f7"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/fa/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/fa/firefox-139.0.4.tar.xz"; locale = "fa"; arch = "linux-i686"; - sha256 = "e240afc9dbd52d11528cac6e997b664966d5a67138f55f602a52bc160f2a72b7"; + sha256 = "227d95350e398a4f7d1f89dac0ed9245a56db622bc835a63c468afb0bd9d3a06"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/ff/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/ff/firefox-139.0.4.tar.xz"; locale = "ff"; arch = "linux-i686"; - sha256 = "86168aa7b853f2a03a5d46f5e79be651cbc882ac2d3bbe8ffbb34da8e6b1b6ee"; + sha256 = "893642972019297eb6719c57915d6c898a12619a6fd86c8ad15f375335f13568"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/fi/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/fi/firefox-139.0.4.tar.xz"; locale = "fi"; arch = "linux-i686"; - sha256 = "ed2df63cbbb221d122d9f807eb156ec68ff249361fbccbf5c0745eed8e5ea6d5"; + sha256 = "8744a6c8e71dba3e7eb93f3f528c61272e8e7bc7ba78934b3dfc58590dccadf7"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/fr/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/fr/firefox-139.0.4.tar.xz"; locale = "fr"; arch = "linux-i686"; - sha256 = "b6ba27540b8642791d29dcf5ee9ac4fae650f36d21b361341ba68097f50ffedf"; + sha256 = "acc8290a763d963321119241e834282d8e512e5ef782185f689723e83a69ad86"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/fur/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/fur/firefox-139.0.4.tar.xz"; locale = "fur"; arch = "linux-i686"; - sha256 = "7e03ba4f68a25d2550fdcda237dc5dd3fb1f91157fcc93bab65efea9dc42be23"; + sha256 = "92d2b697e4bb3bd9a3925b51ee52ba617a8b5bd326df56e6272f24cdeec4b386"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/fy-NL/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/fy-NL/firefox-139.0.4.tar.xz"; locale = "fy-NL"; arch = "linux-i686"; - sha256 = "569534c2b0fc0e89c250df8989df51b0bd2f32d2238d7925e2fff12d82d6e728"; + sha256 = "f141dc5175a168286c26ce9a6294071dd6b30ae282ff283c1940e066a25fba83"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/ga-IE/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/ga-IE/firefox-139.0.4.tar.xz"; locale = "ga-IE"; arch = "linux-i686"; - sha256 = "abfcd8a7350f52dbe9963f25f0941f18230a21943175581c5f50ffdf5c769a3b"; + sha256 = "316f4910bda0c1b0d93867795bcd83961af9974840a667d9934d3e51e1d9aa41"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/gd/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/gd/firefox-139.0.4.tar.xz"; locale = "gd"; arch = "linux-i686"; - sha256 = "f51612c8dc8ab58fa7a618ce492ef991283f09e398fa31297838f2d543c66f0a"; + sha256 = "5f6195295380b09d7133336f33184218b0d1e2cda5e668eae21cf80cf4342028"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/gl/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/gl/firefox-139.0.4.tar.xz"; locale = "gl"; arch = "linux-i686"; - sha256 = "c8f2a31e3333b8fe197c939c2fee4638ee2d72cb2dcfb45f328baf06ba891dde"; + sha256 = "f7e1d0d8f7e1030e1b8cc01efeaeb3dae2db2958417f40bd8af330f4f3db4d6e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/gn/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/gn/firefox-139.0.4.tar.xz"; locale = "gn"; arch = "linux-i686"; - sha256 = "42a795220c3ddeee2a6f030a5493ad154f67ca7590a4d1855cf238eacf936280"; + sha256 = "e1909c80d052fb087603d436f1a85e60646867d3b47011151783af8fb455a522"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/gu-IN/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/gu-IN/firefox-139.0.4.tar.xz"; locale = "gu-IN"; arch = "linux-i686"; - sha256 = "04429b5f941b90719e7a6be9fb8b324e7af1a6c30e86b5f0b1748f74ba66a9ae"; + sha256 = "b23cedf29625670b7abb6d85175fa75e99435abd9c0c2e42dc6ed87cc4e5eedc"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/he/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/he/firefox-139.0.4.tar.xz"; locale = "he"; arch = "linux-i686"; - sha256 = "fa8153e9d18193642d927c10e347774493c4e72ad897f3e8c3237b8df1a99b56"; + sha256 = "320905f0b53c4598f26f40f384861cbaae5a383f893c199f2810980803d0371b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/hi-IN/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/hi-IN/firefox-139.0.4.tar.xz"; locale = "hi-IN"; arch = "linux-i686"; - sha256 = "b54ef45e99c9d8a9f2400ffa0be1c4cbf231edbcf5ed0ba21e0b2d286c397bbd"; + sha256 = "0bb67c56ed826d80eae37936759c4e61e9542723ec85650c7d1fb49bd30bab31"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/hr/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/hr/firefox-139.0.4.tar.xz"; locale = "hr"; arch = "linux-i686"; - sha256 = "d729892c8ea66f18fb47a400652691458f962422e498bf3214fef137db4fbed8"; + sha256 = "90d798dfdce48ce1890dbd20d162f87125abdf4eb3be462221791695004f5418"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/hsb/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/hsb/firefox-139.0.4.tar.xz"; locale = "hsb"; arch = "linux-i686"; - sha256 = "1a010e259399ff0c954555879a819a923b032095b6008dd66095343745b2f89d"; + sha256 = "e6ae699dfeef12c80850199023e04437cb7fbdb080c8e89c1ca5bb4ff94f76c2"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/hu/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/hu/firefox-139.0.4.tar.xz"; locale = "hu"; arch = "linux-i686"; - sha256 = "8d2f6a07fe19c068a14d6894683ae9689929727fc17d116384a9e2237e3c4e01"; + sha256 = "069f4b63808accee6110bed0ae704c5414b03080a5c1bd08ff18352e3b839f41"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/hy-AM/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/hy-AM/firefox-139.0.4.tar.xz"; locale = "hy-AM"; arch = "linux-i686"; - sha256 = "dd37d935d23353f41bc7012a6e04e6f12a0a8aec326783af7e5b6693275dbb5c"; + sha256 = "fa521147a6df1296b324cbaac2a0ae4ff07972f54027bdf6a281dd0472db67a8"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/ia/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/ia/firefox-139.0.4.tar.xz"; locale = "ia"; arch = "linux-i686"; - sha256 = "9a766bf724b5b3141942959eb80929ab9b691cc8e3c498e660e056bd05a94aeb"; + sha256 = "7e4b9937e16fb2470df8988bbad9dd40794260e7de04f859438b7e47e8a9a210"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/id/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/id/firefox-139.0.4.tar.xz"; locale = "id"; arch = "linux-i686"; - sha256 = "1123cb036cf09ce217407c6d08b7215d082da0d400e7719405f6b35d7618a8e0"; + sha256 = "22f4ec4a846e904a5ed1681be4e3f840dabdc6ae627da28969bd8b9f97d3fe7c"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/is/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/is/firefox-139.0.4.tar.xz"; locale = "is"; arch = "linux-i686"; - sha256 = "7a644e85f3d87f243437cfba38056cc4706553f0c164d21f16c8109ea4d1acb6"; + sha256 = "d7501f4c8a09320974f920b4d7dbd52dc99083f76ee8a20f1e2429837ba11b80"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/it/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/it/firefox-139.0.4.tar.xz"; locale = "it"; arch = "linux-i686"; - sha256 = "11b7e2f620230a95a383568c099fad94f5b1e2f3d2261a27463960234bb1b455"; + sha256 = "2652df2e30ec14f334cf4003018329467c9976eb13aaf325fa2bdd36143e7d87"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/ja/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/ja/firefox-139.0.4.tar.xz"; locale = "ja"; arch = "linux-i686"; - sha256 = "cf6f63fa3c3dd8b833db032d78254b0c677c03c0e54b9794974fa9c6828446dc"; + sha256 = "78a22a99f12d047ca962132beee798766f4e90c20f285b8b8ee80d4ea993eea9"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/ka/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/ka/firefox-139.0.4.tar.xz"; locale = "ka"; arch = "linux-i686"; - sha256 = "39fd4fa5efadcd2dd8c8c18e0bb7fa441db92b6bbab9620f933190732aa3eb71"; + sha256 = "fb3b3e8862859547f9b5b90a090e7d6710570bbee4787e97abb46bff28cc1c95"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/kab/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/kab/firefox-139.0.4.tar.xz"; locale = "kab"; arch = "linux-i686"; - sha256 = "0f4adac40d9e09467b1e900fb12bb67efe1350887502f2948abbf49249e7f953"; + sha256 = "3552aebf4a502dfe025c46507d850da260a6ba4658e5351d2251f556b83ad46f"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/kk/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/kk/firefox-139.0.4.tar.xz"; locale = "kk"; arch = "linux-i686"; - sha256 = "d74717d38379f9bc28dc019bf598727c5478cae52d17ab086865544d987ad840"; + sha256 = "e0dbd303cc0bf6b871d014c713cf82f266b9d967863accef19f6b56827382052"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/km/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/km/firefox-139.0.4.tar.xz"; locale = "km"; arch = "linux-i686"; - sha256 = "3a5e4aabb4a34eae8328ae03b99569070c1fa88a494c92b6e45d5617c71d050a"; + sha256 = "b17961974cecc5590308355f1b508d419d84461218971ac9a908bea487fa9967"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/kn/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/kn/firefox-139.0.4.tar.xz"; locale = "kn"; arch = "linux-i686"; - sha256 = "bfca6f25ffb42e03541a029d6d4487e6074135dbb2d4f534ec45ceb5216d1748"; + sha256 = "047486b8b9df977cf9a76f109ab03625def072a22d3bffa2dbb9c77d71520b26"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/ko/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/ko/firefox-139.0.4.tar.xz"; locale = "ko"; arch = "linux-i686"; - sha256 = "5b31d0affa4fcfed32ca63359d015cf60af23fa22ad3d5e4c2562948224f77f3"; + sha256 = "0919023686ae97cf1374d1bf304375ba73754b99dd2c23f9223b1b12305f2de0"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/lij/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/lij/firefox-139.0.4.tar.xz"; locale = "lij"; arch = "linux-i686"; - sha256 = "0713608a6faf58c4ab48b8167fb1a6fa343e5c37104afafeebb7b61f19316937"; + sha256 = "a85760998268af3d85e276192803f8dd2a25aa32a6dce49073b04a49a9cf5a59"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/lt/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/lt/firefox-139.0.4.tar.xz"; locale = "lt"; arch = "linux-i686"; - sha256 = "6f150cec31aa1d4ea131d82ede6fc21aefd32aeb89bd32bb4c6bd9d7f4ba32c1"; + sha256 = "529e0dee5e1d763c6e55ddc84681b5184d2969acad240ff22a214c59ad01532d"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/lv/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/lv/firefox-139.0.4.tar.xz"; locale = "lv"; arch = "linux-i686"; - sha256 = "4628bd10b679995289f8ad75432befa2a520e1179ee8026ebd8ebafbaca48829"; + sha256 = "71f092b9cec8e46243624b66e5b4b5a52a0b9986f0c3e14416c5d25a077e04c6"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/mk/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/mk/firefox-139.0.4.tar.xz"; locale = "mk"; arch = "linux-i686"; - sha256 = "36d2e33f42684c1aea44e5ca4f492685e47aef64a2af10098fb61fdf22b53578"; + sha256 = "04e73e2ebdae9de26fcbaf8571a41af32af4a3ca6d7ea3091471915ce20bdcc2"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/mr/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/mr/firefox-139.0.4.tar.xz"; locale = "mr"; arch = "linux-i686"; - sha256 = "8934ad54fcf7d8828bb17a03503c7430b7b88748a92017d537211939c8682477"; + sha256 = "324442e377367a7c0258e4fb40b6224dc2959529b8f1fed37538e45a20163595"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/ms/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/ms/firefox-139.0.4.tar.xz"; locale = "ms"; arch = "linux-i686"; - sha256 = "396f8284f1a90464434f231e058c39045c64676580b179a9e4cdcf9212e4689b"; + sha256 = "4b8e02849118a679336a2abdbfb042e7bd3224a1e9222446516d91d77832d71b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/my/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/my/firefox-139.0.4.tar.xz"; locale = "my"; arch = "linux-i686"; - sha256 = "edc1e440935ed92fa8e3e2be881e7bf5339afe619d79c57753479a7106b0bee0"; + sha256 = "bda89eac6da7f59b3b2de2a1698f4383357e948686f9dc84998ec1d92a9652e9"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/nb-NO/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/nb-NO/firefox-139.0.4.tar.xz"; locale = "nb-NO"; arch = "linux-i686"; - sha256 = "03eb234e0211ff8e2eac6d1f7319fa2db858043139106cfcb81f06c7a5f8a26f"; + sha256 = "9988f3cf8dad6902fe2763d9b948583c8f82299d81cea3f65a676935c7f313f1"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/ne-NP/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/ne-NP/firefox-139.0.4.tar.xz"; locale = "ne-NP"; arch = "linux-i686"; - sha256 = "d4f5d53edd5271cdf58697f63d56911925d498cbfa1789dc7d9de98fb83c4ff6"; + sha256 = "1b61eb98a83d23559b1fffaa7499e9e2b3f4fe2c2a0327ffb744120f5f80da52"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/nl/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/nl/firefox-139.0.4.tar.xz"; locale = "nl"; arch = "linux-i686"; - sha256 = "c9b2c2429732bd883e0dad9c4fb2bfee54058b00f0a2f85ea400c8f0bb0f1a3b"; + sha256 = "f553b638e106ddc6049cf67f5634782ec6ae34f6bdbd246f81c82adc827e6c01"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/nn-NO/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/nn-NO/firefox-139.0.4.tar.xz"; locale = "nn-NO"; arch = "linux-i686"; - sha256 = "1fe6d631f56a0c1f6026b10de4ffefa99ed9c9e394ec5f3dd1528b81dafd0a30"; + sha256 = "86555515661c06fa00591bdb3423396269fe7a2e3ba4d73b4e1b8620eaa1f822"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/oc/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/oc/firefox-139.0.4.tar.xz"; locale = "oc"; arch = "linux-i686"; - sha256 = "953ae4c44b8913ffdeca0cf5de5fd40590f460f1706aeedc401edd312bba48b7"; + sha256 = "f242548e87b0e92ef4fb0eb68d29addcc3f58b65df2b2fb5ad913273b3fe3d95"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/pa-IN/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/pa-IN/firefox-139.0.4.tar.xz"; locale = "pa-IN"; arch = "linux-i686"; - sha256 = "a98ef95a4415a79181f3a860e7a37785ee1ff4977011253e22e7062d64eca420"; + sha256 = "9e72ef974c9f54f45bd21fd7cb9c6fe151dcfb34e28592a288e4b4015b32baf2"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/pl/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/pl/firefox-139.0.4.tar.xz"; locale = "pl"; arch = "linux-i686"; - sha256 = "8e9458bc036e05d0c4569c9c2933426569e4fa129c13f01283bf906bcb5c4acf"; + sha256 = "6e34c07c6e49496f2a7432a208856ce79243922fd66ac2aa9ad52554edc8c23a"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/pt-BR/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/pt-BR/firefox-139.0.4.tar.xz"; locale = "pt-BR"; arch = "linux-i686"; - sha256 = "f060702a00157656c64ad08124dfb327a32bc0d967c396e8145175cf5d09ee4c"; + sha256 = "afa37290f28660747079c4bd2ab98dba5e457367b724403fd77519fb9c9f08f0"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/pt-PT/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/pt-PT/firefox-139.0.4.tar.xz"; locale = "pt-PT"; arch = "linux-i686"; - sha256 = "91a54ac0f051e2f7871c30e68a45e91bcd7327fe65703f9f37e637af66a85dd0"; + sha256 = "814e3f6291e2069f7943f4b2346db6ec2a988d25e745fe22cd485d050c7b775e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/rm/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/rm/firefox-139.0.4.tar.xz"; locale = "rm"; arch = "linux-i686"; - sha256 = "1545b211227ecf80561c9c46b4d5f6d00a67c17cf1502e35be328c14d20415e7"; + sha256 = "48baf70deb72a311169ab36de965d533f8bcb3960c281337e2b37056cedd8789"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/ro/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/ro/firefox-139.0.4.tar.xz"; locale = "ro"; arch = "linux-i686"; - sha256 = "2432683ff328cd57c655709ddf76b7c38ffb876ee94847d8160194b3767f8ac2"; + sha256 = "b177ac8b560468584ccd25b3bb0fafe1e278cc7e8ae18802b6d5d7c657f233c0"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/ru/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/ru/firefox-139.0.4.tar.xz"; locale = "ru"; arch = "linux-i686"; - sha256 = "41b16e8b5186afcf340cd2d6f332c13d6fd5bb57c476c072c1b7bcf234b5e35f"; + sha256 = "d6dc4192564fde8408f898c817751c11e2cf68aa2e9844fad60ed91c9178cdef"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/sat/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/sat/firefox-139.0.4.tar.xz"; locale = "sat"; arch = "linux-i686"; - sha256 = "e05d553e082fab66311a2b70479696cdccbe3038cf53d67d86a6c15d81102678"; + sha256 = "8eeb999dd5a933c38ea7d62fe3d5c2e10fd9d07847ad462e6f5507d099f762e8"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/sc/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/sc/firefox-139.0.4.tar.xz"; locale = "sc"; arch = "linux-i686"; - sha256 = "5aca43e5138107247b60d0d04c7e8c88f77473877b1a058460536290a74902d7"; + sha256 = "803635fd3702461becc8ab010ea0bda7d301d5c5cbc8392a5ab58dff56d8f445"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/sco/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/sco/firefox-139.0.4.tar.xz"; locale = "sco"; arch = "linux-i686"; - sha256 = "a0f2e6523b683d2efb5b29eb8776297594e32233b4847216e182a8ab74b188ee"; + sha256 = "140f73e91f87117102182ba5a3202732534079cefb1e4a2b6e2433bcb7715ceb"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/si/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/si/firefox-139.0.4.tar.xz"; locale = "si"; arch = "linux-i686"; - sha256 = "25dc341d0ef50ed46d70e9979e34455218d782697f883be75d8bcd05450d85b1"; + sha256 = "74295d3e36c89e63491c206aa35c7a997c7e27294da858945c278e1099af36e3"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/sk/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/sk/firefox-139.0.4.tar.xz"; locale = "sk"; arch = "linux-i686"; - sha256 = "1196c08cd1e131e8e73a78ae0ad59271cfe9063f8ec02b4eb6d17992629c17ae"; + sha256 = "1fcf471dcdeda8e54de423aa0a1a0a5b5749204e01614af653ffd2918e05c151"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/skr/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/skr/firefox-139.0.4.tar.xz"; locale = "skr"; arch = "linux-i686"; - sha256 = "748a7947bed46029a7459a6e6137e07e2b217a963821d5ee7211d068eb321b93"; + sha256 = "42c02a2f60d103d2c9995997e10d633df030834bf7b4ce83d9727578cf7ff742"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/sl/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/sl/firefox-139.0.4.tar.xz"; locale = "sl"; arch = "linux-i686"; - sha256 = "51c9823fd5f2c877cf8f14167724ac7f1c7be9cf0240ba76514ad24128652738"; + sha256 = "3759a62cee67569c3d806ea5c0654b805b279fe1f73f0564bc37b2d670fdc864"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/son/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/son/firefox-139.0.4.tar.xz"; locale = "son"; arch = "linux-i686"; - sha256 = "eae73e669da7e69d495938b47819a8497b8ebea626418ed944e7cabdcf98952b"; + sha256 = "5a42bf5cbceaba1110e6aeb4702a9e428a461c4279365718f9c97c9d05572f94"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/sq/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/sq/firefox-139.0.4.tar.xz"; locale = "sq"; arch = "linux-i686"; - sha256 = "4fbec57e180edc04ef83f06b8cf43116915e8be4813bce718c54bb13726b2fff"; + sha256 = "8ad93b9be577f097c463159ce387734ff7f9eb36e0ed8f9fbbacc771fc868a94"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/sr/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/sr/firefox-139.0.4.tar.xz"; locale = "sr"; arch = "linux-i686"; - sha256 = "e193271c3de4ed28dfbc58d889f9375f213a78dd7c49689874a98daccf6931df"; + sha256 = "e0995b485641a2eb03a200fb7d4f7f046b90c426d23d042d9c25b56ec2f295e6"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/sv-SE/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/sv-SE/firefox-139.0.4.tar.xz"; locale = "sv-SE"; arch = "linux-i686"; - sha256 = "8ed2575b7df656a3c7deae83ed74b86b88e14b6dc787fbfa25e4963af0b68e78"; + sha256 = "a3520a6c77e8c67a76880bee35653d0445b18049a9ada355c71fbc56318bffaf"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/szl/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/szl/firefox-139.0.4.tar.xz"; locale = "szl"; arch = "linux-i686"; - sha256 = "8adbc52d048923d931fa5792942c879d6d76e46bd357d17729143e671bb05bab"; + sha256 = "52cb80058bf8543f14a2202855d64e83dfc8993446de69e08e2bb8abb439b222"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/ta/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/ta/firefox-139.0.4.tar.xz"; locale = "ta"; arch = "linux-i686"; - sha256 = "6bc69ca284aa3b2ab7f66447e7565919a93b5590b000295ac811f3b4ad26cd93"; + sha256 = "7ac2507c436c6c4646be555e1e173d77563b55921242e203f4883c3cd67cd3c2"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/te/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/te/firefox-139.0.4.tar.xz"; locale = "te"; arch = "linux-i686"; - sha256 = "99b712bd9a62bc55fc6efff3ee257ed6ffc147c182a4202ee0dc65a894c1fafc"; + sha256 = "9f2220954e02fed4a702783198a7abb2c4d6fd760faf6bfd0287ed12b4a6c453"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/tg/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/tg/firefox-139.0.4.tar.xz"; locale = "tg"; arch = "linux-i686"; - sha256 = "6a0e0f494358cae01e54d5125d3b6ddfa79f13726b7a13f539027ef27f2a1808"; + sha256 = "5f6cefd0b7aac491bcb9bba8fd1eeba47bdef89b98e779b85dc549bb6ecafda5"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/th/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/th/firefox-139.0.4.tar.xz"; locale = "th"; arch = "linux-i686"; - sha256 = "6e535cff15670e7040e6994227315d6a791fd215f892ff462f20a0d1fe38f35e"; + sha256 = "b1d1aa04e53a3999c0c62165aa40515edca0c7acc770bfa78134eeb553358ea8"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/tl/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/tl/firefox-139.0.4.tar.xz"; locale = "tl"; arch = "linux-i686"; - sha256 = "440d6d465ee995188f4559fb638e53fef952087b16d8a847c8ce84ee8e363ce4"; + sha256 = "972ababdcd8d3dde44576161e02261e8cd78adeea818163e45c4b90f9bfcbb23"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/tr/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/tr/firefox-139.0.4.tar.xz"; locale = "tr"; arch = "linux-i686"; - sha256 = "e9c65d648d6e1dcd0e5d349f98475ccb565c06c077f0b0da0ba0a5bd655ce4bb"; + sha256 = "08801042b4a12f267c93d6d781ca269dc3b2e5caed8e86403a6cb43a3d4d5b3d"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/trs/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/trs/firefox-139.0.4.tar.xz"; locale = "trs"; arch = "linux-i686"; - sha256 = "2894b20c8c61052ca52e14849209a5efed4ca36c6f35d5be00b3306702de24c6"; + sha256 = "c7c254cf94b2cd6207c2ad434b09072d36059fa0a4d2b8c41702f69895984b7e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/uk/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/uk/firefox-139.0.4.tar.xz"; locale = "uk"; arch = "linux-i686"; - sha256 = "2be2c7d98a638877bd9d8700c7b06ba8403b1dc2eab9e63cf671025114d7959f"; + sha256 = "1d341cbfad5acac7ebe73300178247e7015b7eae7e00071fbe19492cc3dfc8e1"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/ur/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/ur/firefox-139.0.4.tar.xz"; locale = "ur"; arch = "linux-i686"; - sha256 = "42860a7bbaf5e8f4be7dbab22625f73dce0b501cfb2ed995ab53667c5e5c0743"; + sha256 = "e51b2223a7cb2d88e07b2ed5c9b4d79867717c895d5774b122b8d6831e6c1be1"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/uz/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/uz/firefox-139.0.4.tar.xz"; locale = "uz"; arch = "linux-i686"; - sha256 = "0c6e80d19d6de22ee0fefa5a86483e265b708bc4271dc7e94e0a56248335db89"; + sha256 = "de64d9c4fdd89e7c9848240b75071f8ac19aa9e15d68206e255d35485c3a8737"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/vi/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/vi/firefox-139.0.4.tar.xz"; locale = "vi"; arch = "linux-i686"; - sha256 = "7dfd8f9936d90c2b82969ebae647c35a414662952510a4659b8bd06343dccbb0"; + sha256 = "847d66a816495a3b9aa5cdb55223d0f7e2f433dc1317e9f57ccac6f0e8b8672f"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/xh/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/xh/firefox-139.0.4.tar.xz"; locale = "xh"; arch = "linux-i686"; - sha256 = "bc7bff33b80b9eec5cf44fd4f23c74e6d48345e40b816ad8a3cab4e7a12334f3"; + sha256 = "06c0b927c4f78c193c905ba6377ce7c73adca7d365c87ee956fb5da498dc2a59"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/zh-CN/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/zh-CN/firefox-139.0.4.tar.xz"; locale = "zh-CN"; arch = "linux-i686"; - sha256 = "69bad85e477b9641759b9bc56ad01a54ea471febd8fe272f3e4027fe099b236f"; + sha256 = "85bfe68ecd852a836dbb5d50622236aa5bfa29440264f5ea1e34f602c6fbbeaf"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-i686/zh-TW/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-i686/zh-TW/firefox-139.0.4.tar.xz"; locale = "zh-TW"; arch = "linux-i686"; - sha256 = "af02fb0db8bf10210c2dc78101e97916488d1e2311179df28293e95352c71cee"; + sha256 = "2ffdaedc3ecaa4a1ff114a01de553820de01b5913f28cee6d414491b96f55145"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/ach/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/ach/firefox-139.0.4.tar.xz"; locale = "ach"; arch = "linux-aarch64"; - sha256 = "6ff00d32f83bee69a6d128a19581a75f0a3f8e19b35c17178d179d322f2b26c1"; + sha256 = "721ac1aa1a9b026395e091fd8e1301ca0a39b73927da73854f2eab4162ade513"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/af/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/af/firefox-139.0.4.tar.xz"; locale = "af"; arch = "linux-aarch64"; - sha256 = "3f127ecce788609ff39e81835247f911187c91dbc79df748229387691dbe93dc"; + sha256 = "aa5fb1e9e707df84d1429c9e142cf1f2055f34da3f16637d96e6df251288e291"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/an/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/an/firefox-139.0.4.tar.xz"; locale = "an"; arch = "linux-aarch64"; - sha256 = "35ecdda6dedb3a415e595ff5bc90f8938ca9784a5e57037162fea56e04b752c9"; + sha256 = "d81540e5421ffec2d304aa170c18312587299de64c31bfcd702bb47fbe3632b0"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/ar/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/ar/firefox-139.0.4.tar.xz"; locale = "ar"; arch = "linux-aarch64"; - sha256 = "a1eadf0c9911a06c50262249abb1ff3038d521dd6b55f610875e69c50c3d427d"; + sha256 = "c450168bf703e95ff56eefbd74e8c46d05ddda4d2bd305540a8849958a6283d4"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/ast/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/ast/firefox-139.0.4.tar.xz"; locale = "ast"; arch = "linux-aarch64"; - sha256 = "7228dc43d8a695948b5a0d867aee0615882e5e58fa55d9fc756955abc5c68062"; + sha256 = "02e2382dc6c35cd06385ab7c3c3c3c73cebe9ce7e25047911d9503a77f7d4ac4"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/az/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/az/firefox-139.0.4.tar.xz"; locale = "az"; arch = "linux-aarch64"; - sha256 = "b0a65d238d235deceba64cb2be8c8c37627751740e12fc32327f3f96f67fb45b"; + sha256 = "a9eb519fb77528ab492d01b8d121553ebf25d4ed20fe05b4b6592fbef1d7c7a6"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/be/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/be/firefox-139.0.4.tar.xz"; locale = "be"; arch = "linux-aarch64"; - sha256 = "148cec26cd0d54728071f63b04a8aca191b7c342708b5a03c50b1f67ef2ceab9"; + sha256 = "e9a41ec7d9a082935d6f2a60344e1d7c04c18771ee5d64988f862bb2be55b783"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/bg/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/bg/firefox-139.0.4.tar.xz"; locale = "bg"; arch = "linux-aarch64"; - sha256 = "dbc1cf3f97099ccab859d7c7a3d7b8a88e99aa800605fcbe713d4a12265647b9"; + sha256 = "d494965d72a0fcc08e5ef743dc3fd24c1ab1c9a204ad1a080069e2bc65024b09"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/bn/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/bn/firefox-139.0.4.tar.xz"; locale = "bn"; arch = "linux-aarch64"; - sha256 = "c68193081a4d93423230cbfb2d6f57578a5d2860f41592d6da888ce0a2974c9f"; + sha256 = "1268bfb3ea7c9d44bc7b4a905d1d9547045bb405b89a7e95fa855ac6c4818690"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/br/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/br/firefox-139.0.4.tar.xz"; locale = "br"; arch = "linux-aarch64"; - sha256 = "05a21ba4ad69d64535b07bb42f8c593a0ffe9bec30804edc38267be29bc96ff3"; + sha256 = "46d998f97d1d61a03fdfaa0af5c882d8ed376eefa2a843323e538aff1f61e005"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/bs/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/bs/firefox-139.0.4.tar.xz"; locale = "bs"; arch = "linux-aarch64"; - sha256 = "d59f287f4cc86e275ea11564cb6701e926710c3d8fc7a44e9203a802057ffbfd"; + sha256 = "9e4d2eb785ecdd8032a8db6f4c6dc728ba5f66f39ecd80951ab5b62c70aade72"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/ca-valencia/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/ca-valencia/firefox-139.0.4.tar.xz"; locale = "ca-valencia"; arch = "linux-aarch64"; - sha256 = "89870c24456d8a14af42b09141174d9e927fe9d3537aaf1b38ecfb93ca20567b"; + sha256 = "ba707f4d818ec61c6ff7bf12ae1955b322a0b849d4bc9ebd43f6cf722fab7c4a"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/ca/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/ca/firefox-139.0.4.tar.xz"; locale = "ca"; arch = "linux-aarch64"; - sha256 = "35c7fe91fda71c2d0e047a14018db83fa0cb010f40f62defa63767e8e471fcdc"; + sha256 = "27537f26f75f8a5569f5be5e660183370a37196c679ed2a30a98a10ed4f35433"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/cak/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/cak/firefox-139.0.4.tar.xz"; locale = "cak"; arch = "linux-aarch64"; - sha256 = "fd444ede91a95bfe02c17a559061c39c2fb46b7b042ade8d4863c384d945d3ee"; + sha256 = "15c59a9a1c580363e55d7bd0849e6c4ed1edf0dba06ea4752d9d183816a5f9f8"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/cs/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/cs/firefox-139.0.4.tar.xz"; locale = "cs"; arch = "linux-aarch64"; - sha256 = "1c02b82baf751296427a9f317262825f8ea72ab82485dfea30d055bcb6598ccf"; + sha256 = "a48b8edf3dfc26177f62e67eae803b33ec1d682de8e47610ba738cecda6b7d67"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/cy/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/cy/firefox-139.0.4.tar.xz"; locale = "cy"; arch = "linux-aarch64"; - sha256 = "04278af60b97a6c750e703d53015a14ed11ebf26676b5bd552fe1b6b3bff84fb"; + sha256 = "ce62f2ed99700e205bdd7f33da5e1a449e08f978eaea2e589aef93fd4bffc6c3"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/da/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/da/firefox-139.0.4.tar.xz"; locale = "da"; arch = "linux-aarch64"; - sha256 = "00277462352dab6d60bfe047495fb548adce8e40caefce6701be9e1839aa334f"; + sha256 = "4999f6e1ad62df71024aa60690adda3c61b71d0f45283a9d11a7d4145f861f65"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/de/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/de/firefox-139.0.4.tar.xz"; locale = "de"; arch = "linux-aarch64"; - sha256 = "b0f6d68f6527870dc54f54cb225e834a6a71db40aaa6641f9f2f89250c2b73b3"; + sha256 = "68ae79e7e04bbf6aba7231887c0b3a3d3fd7d3183bfe41ad08b2443fddcd1002"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/dsb/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/dsb/firefox-139.0.4.tar.xz"; locale = "dsb"; arch = "linux-aarch64"; - sha256 = "613926660e11094dcf1babf2df6bddc337f35638695639d670acc6e9540fd8a2"; + sha256 = "c1cff3c3535d70efbd0ac9bd3c68ed6c99b45a7b9ad7763f7a601fecbb032023"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/el/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/el/firefox-139.0.4.tar.xz"; locale = "el"; arch = "linux-aarch64"; - sha256 = "0ca8476d60fe31ca9d4f0b5f05d17759d11f22bf89b754f3400eab60d8e93b70"; + sha256 = "d663076f5dc885d88c7be9c7305c81ceed9c47073c09e12d688c8353328cb83b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/en-CA/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/en-CA/firefox-139.0.4.tar.xz"; locale = "en-CA"; arch = "linux-aarch64"; - sha256 = "718b869470d3bc01435d848ae065f5c7a97a44a663041098b7b06a6d3643089a"; + sha256 = "ec8fc28141b1782c9f2e8ad4e8c727213e32183be318d2933f10858e008bba81"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/en-GB/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/en-GB/firefox-139.0.4.tar.xz"; locale = "en-GB"; arch = "linux-aarch64"; - sha256 = "a51f9b0a306f4f8c8511356fd147332759a1e3f0c9c8b2ccc0445560aca0f328"; + sha256 = "b984c4ce0a6ef874a7fe8e36e447de0b60c06af95a90b965fd137dea01102bdb"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/en-US/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/en-US/firefox-139.0.4.tar.xz"; locale = "en-US"; arch = "linux-aarch64"; - sha256 = "6a4c428377e8c85eb46ddbde007b39a6d37d221747a2229047120962c82f37de"; + sha256 = "b59b346c9e671de73ffa4f5b5c72b98a91918849d31988c3251f8e91bdbb72b6"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/eo/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/eo/firefox-139.0.4.tar.xz"; locale = "eo"; arch = "linux-aarch64"; - sha256 = "9a0a8b4a8dc9709ed520491dbdc02fdb45a9dc69d61e287bf0ad6f04b94e8809"; + sha256 = "59785f561ae0f63bf9f93a02163c15bd26eb4a5d0c50a34a45cf239741370b61"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/es-AR/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/es-AR/firefox-139.0.4.tar.xz"; locale = "es-AR"; arch = "linux-aarch64"; - sha256 = "51063abc95c2c57dfbaa66a563d6a10564d754a884bd7b6467c2fc67a8be5a2a"; + sha256 = "bef36861d98bb216e88a058bc59dec24d8e283ba0dc9bf7a5127953eb380bc0f"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/es-CL/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/es-CL/firefox-139.0.4.tar.xz"; locale = "es-CL"; arch = "linux-aarch64"; - sha256 = "2ecc8f18cd13425108fa587ae5e9094107ded80c731f307ed7422365ab61367c"; + sha256 = "a12d5e40d9e5be9378f38be23a392b84ad0a834a1457f64b8764ebf8c005996a"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/es-ES/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/es-ES/firefox-139.0.4.tar.xz"; locale = "es-ES"; arch = "linux-aarch64"; - sha256 = "a40a69052beab8ca2ee1e01b349a74c32672096722793596a9232cc7cd652871"; + sha256 = "4367810587bedae2ea641744068a9525dcdd5be0cea615797903c4c7e6ad55e1"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/es-MX/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/es-MX/firefox-139.0.4.tar.xz"; locale = "es-MX"; arch = "linux-aarch64"; - sha256 = "ff0210e4f42ed95f849c3b915fe68f51436dc14d91c63b75284632a6e5d73276"; + sha256 = "afb6b459940b41b2df8b548b7d7e11804ed3d9da414e5cbfe1bc44072b4ca276"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/et/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/et/firefox-139.0.4.tar.xz"; locale = "et"; arch = "linux-aarch64"; - sha256 = "a115c43c014edde78b856db25bf93b24c7ff8e3f9787c2be8d0471b15d48e918"; + sha256 = "7d6958124f15eb18dca3bc54ed5e39716d3cf684adf46ba7d6e9572221f5d422"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/eu/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/eu/firefox-139.0.4.tar.xz"; locale = "eu"; arch = "linux-aarch64"; - sha256 = "1a82fc1adfbc8c80d1f0544f4ac3bda1b4f980d88958b11a1398bdef922d415e"; + sha256 = "7138126b3f15555cb03407820a409b756e37b33724b7aaaebde0c4044d84040a"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/fa/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/fa/firefox-139.0.4.tar.xz"; locale = "fa"; arch = "linux-aarch64"; - sha256 = "2bb90ffb5517acac0f7b284f7205c00ff14c8dae2e64311553bd253d95e443ca"; + sha256 = "76a0973988a103276071e610ee86f93a24ca25a7009bb19e6e088376a09896aa"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/ff/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/ff/firefox-139.0.4.tar.xz"; locale = "ff"; arch = "linux-aarch64"; - sha256 = "3fa7ac442b9b1f1d63293048f96b6c0b5e4ddeecec92950b9139bf8cfdf1c16b"; + sha256 = "b6e6d90c6bc697161d654ff6012441181c2d9865fd4cd1fc68de32ab774a976d"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/fi/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/fi/firefox-139.0.4.tar.xz"; locale = "fi"; arch = "linux-aarch64"; - sha256 = "9bf83062f23fc1904d96c8ad988b49a30d8e36b9bec066630149810a93333a84"; + sha256 = "123d5ed0791af1efc678ef66dbd5d32b2471778cca369db221b08357d334b4ef"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/fr/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/fr/firefox-139.0.4.tar.xz"; locale = "fr"; arch = "linux-aarch64"; - sha256 = "4dca6bf03f58f2c665d7870584077ac9dbf9f047e2984a9656e914a48f4ca553"; + sha256 = "0c42d4d1a2eabe8bd47ba98a07f17cd0b8d65b8095ee10fdb267776940fc67a0"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/fur/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/fur/firefox-139.0.4.tar.xz"; locale = "fur"; arch = "linux-aarch64"; - sha256 = "b2eea73524fff2ad2b539b77427c2e1299a0d9004b9913f96bfec5ae9da6cbb2"; + sha256 = "b0226617fbccdb8eeb2ff725df50b7cc5abd3b3f5812950da35724a4ba05bd23"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/fy-NL/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/fy-NL/firefox-139.0.4.tar.xz"; locale = "fy-NL"; arch = "linux-aarch64"; - sha256 = "9d789b4e77350d81c40d6467dfaa1a6c492f20be3be6f186fb605ee20b17c750"; + sha256 = "3258d3615d1f6ca53a401da36ec79f8c3fff806c4ab464267049c13c2bcebd70"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/ga-IE/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/ga-IE/firefox-139.0.4.tar.xz"; locale = "ga-IE"; arch = "linux-aarch64"; - sha256 = "4324b2237c06bf8d5aeab3fba62aaa47ab0323ce3f33bbe102e5608a83f13fc3"; + sha256 = "150a762bf9250bee6cac653973d3de117d1742478ae38b19e27dd7b32d5433cb"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/gd/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/gd/firefox-139.0.4.tar.xz"; locale = "gd"; arch = "linux-aarch64"; - sha256 = "850c4f77adf3df46dbe4fecc5fce6f577a1be246a4877fd7d392873c885ec039"; + sha256 = "a1c2964046d07c3e75aaa0c5fed25faaadeb035b07b7b58a2773992ec62aad5e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/gl/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/gl/firefox-139.0.4.tar.xz"; locale = "gl"; arch = "linux-aarch64"; - sha256 = "6b5dfd36f856d1ddc6bf0a0af30c71f3870dfd8db03ff37e3a1f70894d5ac5db"; + sha256 = "8ed6a5d0f2e468be74ae1748fb06638ba6334c9a7ac67f7242c67d039ad6873a"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/gn/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/gn/firefox-139.0.4.tar.xz"; locale = "gn"; arch = "linux-aarch64"; - sha256 = "a6796aa7b5b46a823c50bce5669189bf00399277388df37eb2c2a29df36c86b2"; + sha256 = "fd2c91b162ce8f8061d33d0fa482454247c3a8e3586dd63bdea2661b4f7c715d"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/gu-IN/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/gu-IN/firefox-139.0.4.tar.xz"; locale = "gu-IN"; arch = "linux-aarch64"; - sha256 = "191a2ef396c692cf27c6ee7c5c672eec98a117a33d53b770ac5351e1a8ec438e"; + sha256 = "b2e606a4cac7109f532f755be363486a1d675b547ece41c909923b3da412eb5f"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/he/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/he/firefox-139.0.4.tar.xz"; locale = "he"; arch = "linux-aarch64"; - sha256 = "ec3b32a0311ea6cf0b9da4e0b7d14dce67774589d995e7aca3835d9c3e24add1"; + sha256 = "7dcd61cb1a244dacf7baf2a62f5d6e2bc49cec1fde0ffc7016c8b1e07c899629"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/hi-IN/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/hi-IN/firefox-139.0.4.tar.xz"; locale = "hi-IN"; arch = "linux-aarch64"; - sha256 = "ef2bbded04e5b3b42733f15ca5c2421202ddf94e48ee36eddae8a1493038c295"; + sha256 = "200769ad72f55a409325e3448e1101235c7e2bc79921c84cc9b490c6963e90ae"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/hr/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/hr/firefox-139.0.4.tar.xz"; locale = "hr"; arch = "linux-aarch64"; - sha256 = "bc87681d0cdc994e510be535214e1bbaf202f02a275313ec9a60348fa9792c53"; + sha256 = "0c9420f07e89e8521157086b813172328a5e16ae1d2bc7871ddba1bb0d17c5af"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/hsb/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/hsb/firefox-139.0.4.tar.xz"; locale = "hsb"; arch = "linux-aarch64"; - sha256 = "9ae4b3e4a97ea340f6437c34256570584179fa68a5b0f656250f0af06ee6d40b"; + sha256 = "27ef785504bf2f8bf8c2cca9d64ba186bf524084808f95eb4f8ec32f341560ce"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/hu/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/hu/firefox-139.0.4.tar.xz"; locale = "hu"; arch = "linux-aarch64"; - sha256 = "3624d215ec23105d4bbb983bd0630757417688e9260e63ff0e6f3d12d040c686"; + sha256 = "f3ca60ad21b7018ba81a49169b1facce8fd60ba02865315bae43ceb03515e0fd"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/hy-AM/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/hy-AM/firefox-139.0.4.tar.xz"; locale = "hy-AM"; arch = "linux-aarch64"; - sha256 = "cb0a376c8d87e465f02bc8a9b395b1224fb0cb11b2f8ebebfcf97e32f1bf09b3"; + sha256 = "31ccd33e188417a6e70b8175a75e3ff74121b8d2b34129d18513813a93f8cbc5"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/ia/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/ia/firefox-139.0.4.tar.xz"; locale = "ia"; arch = "linux-aarch64"; - sha256 = "efe2d4ecb334babf3c63a902b6ca160344927fcc6e6aa5eea6b33c7ff0273206"; + sha256 = "801c272c3103376127f8d42580b72c4122e8393390d9131ab8a3a0407fcf3361"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/id/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/id/firefox-139.0.4.tar.xz"; locale = "id"; arch = "linux-aarch64"; - sha256 = "109237a734baad5d45b797a92c61f34c30b5e81f340460b92db1f564bc1e4f71"; + sha256 = "ec6b300a7a8a56f53d073dd2701ebd09e1e1135a9d1c172608a3ea5e5a547f62"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/is/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/is/firefox-139.0.4.tar.xz"; locale = "is"; arch = "linux-aarch64"; - sha256 = "76bd307c03e68a05ab686dd83858078f1def8595dcac73eb4f522dc0ff58ccda"; + sha256 = "35a509b08306b57a9070afba7af4d84d4b4cbc9d3134d7a404fd6e868540a7e0"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/it/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/it/firefox-139.0.4.tar.xz"; locale = "it"; arch = "linux-aarch64"; - sha256 = "114438d75d29f45e39e16d9b6e8808952d3cd4678777406fd8981ee70fcc8532"; + sha256 = "3ae8722ad53868202863eb5d7aa9dbf374a0976f56d91af64592c4f36ec931ec"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/ja/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/ja/firefox-139.0.4.tar.xz"; locale = "ja"; arch = "linux-aarch64"; - sha256 = "9e0d336535866b6ce29fcc134482c880a1f0df3b474f0988504b60ab5dde052b"; + sha256 = "53bbccb2da46849c7b3c213eceb17464fa51ed6c17da52428005d7cdc82f3b9e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/ka/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/ka/firefox-139.0.4.tar.xz"; locale = "ka"; arch = "linux-aarch64"; - sha256 = "9f686044f1f2c173f83f88f80325d355b7ee9885aa1d8743c286553992e1a7af"; + sha256 = "ef111ba916afc60e16e3ccaf098d7e990d24224b72b4128d583de1f6df678d19"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/kab/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/kab/firefox-139.0.4.tar.xz"; locale = "kab"; arch = "linux-aarch64"; - sha256 = "4f9649531b1836015c9dce5e86f817aa0001f6d691df78cbad9f81edfc386808"; + sha256 = "c45c8fb00c6466eaba03d85f76af53e5fa31adadeb77cc0f05508cabf933164a"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/kk/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/kk/firefox-139.0.4.tar.xz"; locale = "kk"; arch = "linux-aarch64"; - sha256 = "100131428d318c5f8ae7a19881c267575bec9656bc33f9c7417ea1120aee558e"; + sha256 = "429007e329666ceb00f9cf94742ce821d8b99f2dfab224a32b73390652aa12e5"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/km/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/km/firefox-139.0.4.tar.xz"; locale = "km"; arch = "linux-aarch64"; - sha256 = "b6d9cf24f5f1cc74e2278fc6069d4b9569b042b0b7db7d7ee6935caf9d124805"; + sha256 = "5afb548f21199ac57e14a980d900cca7c660815e2929b25b87d772bfdb238ecb"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/kn/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/kn/firefox-139.0.4.tar.xz"; locale = "kn"; arch = "linux-aarch64"; - sha256 = "328c4024b60ff402e8a2e77f6d1724054d43d35cef6e44b19a7cde383a76f966"; + sha256 = "b1d8c9c0c116e0f5dd9f666e78c3a4036cb99b9e3c0c790214495a315a2fbfed"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/ko/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/ko/firefox-139.0.4.tar.xz"; locale = "ko"; arch = "linux-aarch64"; - sha256 = "db2aa3ce35f8045153480a3f507d7bc124408aa8a8bf3734e5ad33b7afc5a1c8"; + sha256 = "1c17fe426a94ec40b6f8e9e66d47ff8dac8ce5aab84ce6a41c38949dd2598643"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/lij/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/lij/firefox-139.0.4.tar.xz"; locale = "lij"; arch = "linux-aarch64"; - sha256 = "41696a7cbe1cbf94c0f33cba8366863aad48b6fe2415bb178f3b01eb9eac8394"; + sha256 = "3b7f171db231c0033df14ee114a515d76240e6b4e09ef17830742db184618b19"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/lt/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/lt/firefox-139.0.4.tar.xz"; locale = "lt"; arch = "linux-aarch64"; - sha256 = "ea3c0ef8b19a850497e2c5d41ee94f09c508c3f4eb4755d068b00ddaeb368368"; + sha256 = "5fcb5b1319faa335e49019722c28dd2056694d00c4e75c6d2ac069c6a23766e5"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/lv/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/lv/firefox-139.0.4.tar.xz"; locale = "lv"; arch = "linux-aarch64"; - sha256 = "13335c41ea5a46ac4667244ba050f9cf0d057cfc6ea31dba2b9310b5a5a6788e"; + sha256 = "22694a5bc3a735208bb88e37daf713cef9c96bb82c131f9adb5f45e67755657c"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/mk/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/mk/firefox-139.0.4.tar.xz"; locale = "mk"; arch = "linux-aarch64"; - sha256 = "13e8b822b64c3b963e02c230ba0a8085dcab4b5dbd264e857cb7b4ab95205223"; + sha256 = "6b7ca8e14e8562d81a4d290d2bde8ee18b5980d9cb98558053f49c1543e74b41"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/mr/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/mr/firefox-139.0.4.tar.xz"; locale = "mr"; arch = "linux-aarch64"; - sha256 = "c2343b4852519d34d31d883b4f57c4afb464cc345381fa06b8e2f7fb26de1912"; + sha256 = "285287a5a5b0e47f1247a36d180abdb85100e81a674b886f1ff82455569c43ad"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/ms/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/ms/firefox-139.0.4.tar.xz"; locale = "ms"; arch = "linux-aarch64"; - sha256 = "79654737a2a69aed9fe520b7768e403ff4bfe0efa1e362dba7531720245388aa"; + sha256 = "1da9d48c54528cdfd9a8a9182f53331450afff64bb3a8ef6333bc0531feaef16"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/my/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/my/firefox-139.0.4.tar.xz"; locale = "my"; arch = "linux-aarch64"; - sha256 = "bb1d2b4fc6c4f2bbdc14b37a1b7e92a730bd17355b724f5edd5f977afa7ac061"; + sha256 = "cf4147013aa446ff5a35428210d857e8709c1843f050c1f7bb1e7bb7e4020d8c"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/nb-NO/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/nb-NO/firefox-139.0.4.tar.xz"; locale = "nb-NO"; arch = "linux-aarch64"; - sha256 = "b5d2bc8f1c431b08774e2852c0b1228ec448b2107ce5c85bb4abcd20a25778d7"; + sha256 = "bee86e15e1d93fd0713d18538069ca55c07604633dd5307786eb89bc0d958edf"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/ne-NP/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/ne-NP/firefox-139.0.4.tar.xz"; locale = "ne-NP"; arch = "linux-aarch64"; - sha256 = "45760e6e2bba448ac04b63a73e2f492e1dc5f6a7d22a1dfe8d9ffc6e8794549a"; + sha256 = "84124164fe4db505a9e2b4d35c9f7dfd335438bb81f758c8ac0cdbe66ef4189f"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/nl/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/nl/firefox-139.0.4.tar.xz"; locale = "nl"; arch = "linux-aarch64"; - sha256 = "83a7f0c060f1842e608f95f18a6d7ca2b951212f98b965acb9724d7dd3c21330"; + sha256 = "f0b4f0e0c303cf5b81004813a8e43e6a3bc8ca3a1f1e683e951dc1fec6cfa947"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/nn-NO/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/nn-NO/firefox-139.0.4.tar.xz"; locale = "nn-NO"; arch = "linux-aarch64"; - sha256 = "1146bfa012bc1188c73cf80d04ea7702283e0b2064da99f5cd4dc901e5b7eac7"; + sha256 = "936a6d960143b2f573581fac753c8e0687f0f18080283b10d1ac122e069afcc7"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/oc/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/oc/firefox-139.0.4.tar.xz"; locale = "oc"; arch = "linux-aarch64"; - sha256 = "ac0ee08ce254108259c16639dc42fe55571ef801d4968b7fea9c7e5c719f0b2b"; + sha256 = "ee733c11d6748f89620546b60dd6e364b055ffdbb7834275b4c2a224b44a1d79"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/pa-IN/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/pa-IN/firefox-139.0.4.tar.xz"; locale = "pa-IN"; arch = "linux-aarch64"; - sha256 = "3f0028e6ee7952504544772b47d9e2058298df8fc89cbf4cb7aa6c11cd56be75"; + sha256 = "2807b091028c94b92171cd3369325357dca07549224d5484a761fb996966d70c"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/pl/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/pl/firefox-139.0.4.tar.xz"; locale = "pl"; arch = "linux-aarch64"; - sha256 = "da7fb11ea9d808f1b7458f21302d25cfbb3e86cf9c4bf71808db121af291741b"; + sha256 = "2ad1f24700bada087409929ad541f213f25dba9065dff152521f760a6ce03573"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/pt-BR/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/pt-BR/firefox-139.0.4.tar.xz"; locale = "pt-BR"; arch = "linux-aarch64"; - sha256 = "bf21f9fb4ac6f5db2e934b82024e1c4a92336e05390e715c545cf7345d2dbb38"; + sha256 = "1555a9dfecbb351ac2c4f83c20c61730e4939f06fbd1335f5a117e35d3baeda2"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/pt-PT/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/pt-PT/firefox-139.0.4.tar.xz"; locale = "pt-PT"; arch = "linux-aarch64"; - sha256 = "8799b56f3fad06219f7f08f6e3ddd0ae058fc036d8fb17694eb1bd5d467e6448"; + sha256 = "0b68437f514b694fd81482e1933cee522fd03e0a73ac88184fab4eed5b48ee70"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/rm/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/rm/firefox-139.0.4.tar.xz"; locale = "rm"; arch = "linux-aarch64"; - sha256 = "927c857492f76a969c753d588e5338cb9fcfebfd2615e2699b49be30267badd4"; + sha256 = "274e83d5bfa3f358d416a420a608722ad69a8ebccc5ca8ff826bb9b6c5c366d9"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/ro/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/ro/firefox-139.0.4.tar.xz"; locale = "ro"; arch = "linux-aarch64"; - sha256 = "e43c59838c3a6bce58b586459c9d0189b9ae277f06010e8b8f0a2b145bfc082c"; + sha256 = "1cde9cdd28a1a4f1d9c6e53442600d2ffd3e0e37125ce6a8953b350cabffbf30"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/ru/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/ru/firefox-139.0.4.tar.xz"; locale = "ru"; arch = "linux-aarch64"; - sha256 = "f2e51d2d2298b40d9c356829ca93c16b36c5d283a1dbc6fa84ddf73eeedb4b12"; + sha256 = "311cc9df6d653aadc89e1c1f4a54d52c4c2235dc3a1ab07f7aa7fe32adc85b8c"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/sat/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/sat/firefox-139.0.4.tar.xz"; locale = "sat"; arch = "linux-aarch64"; - sha256 = "5c30ce8c52d0633fc68ca8bf1fcc77d5cbc1bcb7099ac68fdd08d790c5ec043c"; + sha256 = "0a7c5624a4c50eec58ad041c1a94ae24922a66c1477407c5188e0e7b57c86cc1"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/sc/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/sc/firefox-139.0.4.tar.xz"; locale = "sc"; arch = "linux-aarch64"; - sha256 = "4d3fe5784f37c5078f1bc97962c6cea471e392af9cc3cadc541cd1da722b1241"; + sha256 = "2b230266a68e8b9bd897b05c1bffe1d5c16b23d599e4dbac377e2a36532563c1"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/sco/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/sco/firefox-139.0.4.tar.xz"; locale = "sco"; arch = "linux-aarch64"; - sha256 = "4e3435921feefca8d8c4a5fb688834db410f53f1398e6acc1aba3b37765d04aa"; + sha256 = "4c91e4c4e9a762f92d374fffe0f6a9f76a58e8228bad6e16242a441c99dd0330"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/si/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/si/firefox-139.0.4.tar.xz"; locale = "si"; arch = "linux-aarch64"; - sha256 = "2566371bbe8cca6e49bfea9efbb7eff26f8130e38823291c27f63bc25562fb53"; + sha256 = "b72ec88381e4a65e8572c64c23070d8e382d11bd8da236e8e67879b8e143daf3"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/sk/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/sk/firefox-139.0.4.tar.xz"; locale = "sk"; arch = "linux-aarch64"; - sha256 = "30008c0962d8aeaed71a282638fe23e0f803e5baab96bd5ede8da76a9c55dd30"; + sha256 = "5b158a10f6ce4a22a004f71c5891d1de64a33f4eede7bc4d84bee5e306424d34"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/skr/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/skr/firefox-139.0.4.tar.xz"; locale = "skr"; arch = "linux-aarch64"; - sha256 = "8e3671992eb4e94bf51fc61b4e667e44de403b17250695be9f60da035f4c6dca"; + sha256 = "91dd2ca54f93c2e0e1bfab6063dbce82657b9a66364613b100f55c643bd442ee"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/sl/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/sl/firefox-139.0.4.tar.xz"; locale = "sl"; arch = "linux-aarch64"; - sha256 = "36d2779bb1c11444a6e8ebd915e055bd5e3620cf93dc851bdce11cf8e9ba354f"; + sha256 = "178e67e4ddba5077f8439b3441ae7e03e9b4df0a305c8dcd3cc6be3f6718dd12"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/son/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/son/firefox-139.0.4.tar.xz"; locale = "son"; arch = "linux-aarch64"; - sha256 = "cab84e27c93fd7c8f214356c3d41f9173e7a522debd3d3967a8123f06b616359"; + sha256 = "a1cd95b97d652be5b2191a05c97d7c32981de3949801126dcfc15a09714a4f84"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/sq/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/sq/firefox-139.0.4.tar.xz"; locale = "sq"; arch = "linux-aarch64"; - sha256 = "45db9a5c58face8f082de103b5ccb310c57692b0c25132ac0b22207168cf6b2f"; + sha256 = "1fbadabcb66c4d4826db66510718235415e7d22af37273f14389bebf2693e13f"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/sr/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/sr/firefox-139.0.4.tar.xz"; locale = "sr"; arch = "linux-aarch64"; - sha256 = "b505448b343b4282e7fb2dbbf727b787e1d960c5fad198f9136718353ac03adc"; + sha256 = "b8855b52f62c4f59b9e96b38e2b31ebd4c82a402596a504c2d630d585aecd0ca"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/sv-SE/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/sv-SE/firefox-139.0.4.tar.xz"; locale = "sv-SE"; arch = "linux-aarch64"; - sha256 = "43c4aea298be5c63b90386d9c8fc440dee49f712419abdbda891c6fa5c46e38e"; + sha256 = "16c5827b2fd8945525073a7736bb55c7cba282b637c207fdd94b5afb1828ff84"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/szl/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/szl/firefox-139.0.4.tar.xz"; locale = "szl"; arch = "linux-aarch64"; - sha256 = "8d1436b0675229daf2341c2f2ef1bc2982187bd0a6d6e48de3eb7a8d9637261a"; + sha256 = "3c8ee2ab4777e8d22e3e61f11ecb9597b5974bbf13eabfd6a1c9a53beb18bdad"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/ta/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/ta/firefox-139.0.4.tar.xz"; locale = "ta"; arch = "linux-aarch64"; - sha256 = "53e96d8a92f19b1515623ef9c57e328271e8b35ed0d5edefdc6a8efc1e4602a4"; + sha256 = "e229643e0c446e56fa5e9917b343647dca48665629adaf7f251d2a5b4e547420"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/te/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/te/firefox-139.0.4.tar.xz"; locale = "te"; arch = "linux-aarch64"; - sha256 = "4f0be6446aca61f98bde48e94393515f957d57988c86dd7493a2f0f5b21b8ee8"; + sha256 = "1a7dbf9b69427cd8f424640062741b6e2bed0280fdff5f4acc13a0d7703fea0f"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/tg/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/tg/firefox-139.0.4.tar.xz"; locale = "tg"; arch = "linux-aarch64"; - sha256 = "470a17f31f4bc5df6bd02ec210fd6bb3f69eb4cd4c84aee65b2a46e7d5676238"; + sha256 = "02564d54f763fec86e911690ad0457d0e7eddb032bc397e57fda436eb74d5ee4"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/th/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/th/firefox-139.0.4.tar.xz"; locale = "th"; arch = "linux-aarch64"; - sha256 = "19dee19c2daaac94a451ccb00b5026cba7513c255a7428443d53d054ca3f7cf1"; + sha256 = "4b16d0fbcee12931001714232dedcb3a4ddf7d2df0c1d5ff4da43d757d4cae08"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/tl/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/tl/firefox-139.0.4.tar.xz"; locale = "tl"; arch = "linux-aarch64"; - sha256 = "a72c025dbe24d4a5c6ad30c9c471a9f10920ab99744e33f5d74e0cebdb6b7d0e"; + sha256 = "5744f47fef3dcbebca72356dc27ac08e501dd325ebd47cf48a6442dd6d6de33e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/tr/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/tr/firefox-139.0.4.tar.xz"; locale = "tr"; arch = "linux-aarch64"; - sha256 = "7f1f9634fc5914287088c1e496f30923a33fdb282a1d7acfb8fc5e16abf987d3"; + sha256 = "b674fd55febe6d3ca585127ddee719e6bff0fec486ddaf5ecd2b1bdc922ba1cc"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/trs/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/trs/firefox-139.0.4.tar.xz"; locale = "trs"; arch = "linux-aarch64"; - sha256 = "cf57e807833781e5730187c95e8cb70793ba8e9fa1304684c6ecab1b517e8cce"; + sha256 = "d91fe874274c0ba294b7a9d6a9a53704ee17e10ef23b7e6402fd20b4877e1b76"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/uk/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/uk/firefox-139.0.4.tar.xz"; locale = "uk"; arch = "linux-aarch64"; - sha256 = "caedd3dba7d404b1ea6f99deeb2c130163de956612a35c24cebe20ec8e10d343"; + sha256 = "ce55b8f396382d8c7ce0be3e50fc4a3415d7ab2ce546293c3c1e777c26334b6f"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/ur/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/ur/firefox-139.0.4.tar.xz"; locale = "ur"; arch = "linux-aarch64"; - sha256 = "d2d713d43ebf52298db592386dcf7c11886b075ef916e9d27070c8dbf8981fee"; + sha256 = "532d90fb392d3edabecf917b3198cb78c7a4a6dd571483894970c53f0d0651d2"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/uz/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/uz/firefox-139.0.4.tar.xz"; locale = "uz"; arch = "linux-aarch64"; - sha256 = "ed38a6f27b6e3446177d274f24a40213b3a86f79d2e07e6525b99ed3364a2511"; + sha256 = "ca1355ea31db97494ead7c8ccd18280c56262c961f6f2e473c10ead9a47ed680"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/vi/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/vi/firefox-139.0.4.tar.xz"; locale = "vi"; arch = "linux-aarch64"; - sha256 = "cdd018f3f42b9a33a5f8ed1fb0a1fb17ff0b936a47f29c413845671dbedb7feb"; + sha256 = "50b132ca628e3d252a56878e327e431c63361949da213b4a75482820a15a7f1a"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/xh/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/xh/firefox-139.0.4.tar.xz"; locale = "xh"; arch = "linux-aarch64"; - sha256 = "c49b490522a2f7b2bd5b0f5896acec58f4425410e7bc2f7b01f1a4073a4a9102"; + sha256 = "59a1a5b5dfd3b46b133ee289d4942e0d0c4dfe656336a04f9f8a69498d989ee1"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/zh-CN/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/zh-CN/firefox-139.0.4.tar.xz"; locale = "zh-CN"; arch = "linux-aarch64"; - sha256 = "8e3e1fe160bdaa5063a3c5fc4d6ef2fb88e83e84bd57ed910e26f537ba6f6458"; + sha256 = "f21395911323c3a68e8fbee8ff8fc4aee40b35eea99879f35b6dae872ff08f71"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/linux-aarch64/zh-TW/firefox-139.0.1.tar.xz"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/linux-aarch64/zh-TW/firefox-139.0.4.tar.xz"; locale = "zh-TW"; arch = "linux-aarch64"; - sha256 = "0a29aacb072ead048190850b6bcc33ef39f23309d25cb1eff17ca0ba59a2c832"; + sha256 = "7f2c6edc679c4b3ca126d40051eb57429cfd12e4e0b88632945f8c3f43559a1d"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/ach/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/ach/Firefox%20139.0.4.dmg"; locale = "ach"; arch = "mac"; - sha256 = "90705dbdd3f7acbac499231f003c74540f27d34499436e745c45f97220d1489a"; + sha256 = "2719e5aac6eb8c169e75a26ebf6b6de8e9c54adfd09431a8c6a140553136b84c"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/af/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/af/Firefox%20139.0.4.dmg"; locale = "af"; arch = "mac"; - sha256 = "297fbe1c131593d465d2f3aab0bbd512df42bdc3ff08df401f12d74fdc072b32"; + sha256 = "b1c6cf858c3c8918267e4a41aef6827931d317c45fb8c8a00ba05593c80b27e5"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/an/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/an/Firefox%20139.0.4.dmg"; locale = "an"; arch = "mac"; - sha256 = "84d726ca420c06fda08d47d862b7d4230313f726822521e1172af2728c7caa33"; + sha256 = "577d4c2dd712b3241b143f1bc61c830bf59867200a62165ff6e8c9f0f6df3516"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/ar/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/ar/Firefox%20139.0.4.dmg"; locale = "ar"; arch = "mac"; - sha256 = "c23a655d63c5733eb57ad7847b2bd6273779908a1da0575328599e26e86a430b"; + sha256 = "17c75522114962ea274133e014e4dad95dd9a6e00182ab3edb2ad7980f891365"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/ast/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/ast/Firefox%20139.0.4.dmg"; locale = "ast"; arch = "mac"; - sha256 = "fdce02a1f23686e49ab5ce67e3d81cdd95c32c8798b4a27e7e77b8d56c770aa4"; + sha256 = "cb511c581fb63bc060f9580257bd324f37bac7f9bc1c1de2d900c67767197a19"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/az/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/az/Firefox%20139.0.4.dmg"; locale = "az"; arch = "mac"; - sha256 = "c50d1163bcb87dc6547e3d412cea1cb32851c498250247cfadd15be970371168"; + sha256 = "3fc6810b311358add979fba5952b8297b0c1e1f4f8b9e886a6f4d03f7a063934"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/be/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/be/Firefox%20139.0.4.dmg"; locale = "be"; arch = "mac"; - sha256 = "5a2ea89b6d25b625c7ecb986ad8ab811ce319a03c09ee2e8318928fea7210ae7"; + sha256 = "8a4658504c3563479bd7a82f2508ece131a90cf8980d3dbd58aa58fd7ebb31ef"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/bg/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/bg/Firefox%20139.0.4.dmg"; locale = "bg"; arch = "mac"; - sha256 = "8cbc2408e868b9da6a6cf597ad20c4704ba49e99eab519a51523fe8009d3cdd8"; + sha256 = "e13d1527f19e15a777b35a0c8ba29107fa96ae08f148e11bacc000b3cca6b1bd"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/bn/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/bn/Firefox%20139.0.4.dmg"; locale = "bn"; arch = "mac"; - sha256 = "eff53f1f3a5a7b9a1e8139ca22debccc5dd6e5962ceb9643650bbcb1ccf8c470"; + sha256 = "78f298ec415f37e760e0f1452acf648cdd0ae46629f701004d12ced70265be66"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/br/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/br/Firefox%20139.0.4.dmg"; locale = "br"; arch = "mac"; - sha256 = "d9985ef28037e6d2f34abeab02e20a43634de7f66280c76952ba4d6f9d1a5453"; + sha256 = "eb955ddd18c7059e07c2286969ec681acb35021946316b40435fe2a0d176d6d8"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/bs/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/bs/Firefox%20139.0.4.dmg"; locale = "bs"; arch = "mac"; - sha256 = "c51c7d2cd20255bb4a762f28b93521a49d1faae084bc740d0a8ae43d61ac7241"; + sha256 = "f06bae4d8a0abe53f939af0f104680939179b08993ad75e50e125083d2f7da71"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/ca-valencia/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/ca-valencia/Firefox%20139.0.4.dmg"; locale = "ca-valencia"; arch = "mac"; - sha256 = "762e80a697f73b4a3f59ff0648f34ad9bf913ab18ee1078c1387991a7a18596f"; + sha256 = "5f51dc58073d1f4ad4af26798e7e27d4fc217a12d78fab9ae17830bbde946511"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/ca/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/ca/Firefox%20139.0.4.dmg"; locale = "ca"; arch = "mac"; - sha256 = "ced2a1dd77d68f30d301736d59f95ea2db17de0b503234b2f759516762a187a1"; + sha256 = "474044466024a959160445d50807c8464af8948152141c3883d654a65d60f09c"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/cak/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/cak/Firefox%20139.0.4.dmg"; locale = "cak"; arch = "mac"; - sha256 = "75f917cf56586fa09e8513df164850f3260eb90b799ffa2265c4617ee9b9aabc"; + sha256 = "7af9ffce74118116447796b25014c7a4e0b248c3459c7e34bd666ffcbdc8a7b1"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/cs/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/cs/Firefox%20139.0.4.dmg"; locale = "cs"; arch = "mac"; - sha256 = "a3f6963cc2b1706e4f219baa51904217c35f9c0aff751715dd6a3049f2c44cb3"; + sha256 = "87581633817c93876ce2121a547efac0d5e042ed0636262367aed6f494fa0122"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/cy/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/cy/Firefox%20139.0.4.dmg"; locale = "cy"; arch = "mac"; - sha256 = "e94006b3ce4ecb3db70414c4251d3d80b7205719c3f7bb8314aba90f1252b842"; + sha256 = "94acd045d30585b9d0313be4d4a94144c3aa51915b391819bdf7ada85c80dfb3"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/da/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/da/Firefox%20139.0.4.dmg"; locale = "da"; arch = "mac"; - sha256 = "c77c2e1e277ce34bc60c48b79f9d086ba692630ebb5a49b5a8bd76cb53e387f2"; + sha256 = "29dbd5985eae4674fa1009fb54f817a00b70c419c7186695874798d99f9e18a4"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/de/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/de/Firefox%20139.0.4.dmg"; locale = "de"; arch = "mac"; - sha256 = "568b562ea800aaf84d518799a0359b0735eaa9e5876365ad14a07bb35b72ceda"; + sha256 = "5c890b5a31079d7cc6fe3668b0f9af86fcb165b1821c3534e7e373e2a5928152"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/dsb/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/dsb/Firefox%20139.0.4.dmg"; locale = "dsb"; arch = "mac"; - sha256 = "024d8876d5cc026b8ae28bca1e33b9ade5d4debd8694aca10efb52fbe74d0f57"; + sha256 = "f3f0549e3aaaea2d33341ff9172ff296841846f1f7482b89e725124534cc804d"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/el/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/el/Firefox%20139.0.4.dmg"; locale = "el"; arch = "mac"; - sha256 = "62ccd1443039fb529f3ec60b8fb50c7c1bbec2767f6ebaa34061af51129a20a7"; + sha256 = "0bc124319e9997a07c73f820f39d41f3ca739dbc5cba458b9391531c80c1f128"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/en-CA/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/en-CA/Firefox%20139.0.4.dmg"; locale = "en-CA"; arch = "mac"; - sha256 = "be1d29d51b4207942803dadf181c899dcf2730c4d6cf302c88d7ee9f91468dbd"; + sha256 = "b2edf6cacbc8651beedf56e9b7ec882cba7c860ea1bce19f7cd5ba366efea23b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/en-GB/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/en-GB/Firefox%20139.0.4.dmg"; locale = "en-GB"; arch = "mac"; - sha256 = "d8a859aed08080dd5a9a2291330a69594ebdc6a3c455508d95aff91bf84119e0"; + sha256 = "142d495b2aae797d5c33904d3f694a717b14b627e78efbcbc344020eb42d44f7"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/en-US/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/en-US/Firefox%20139.0.4.dmg"; locale = "en-US"; arch = "mac"; - sha256 = "243478e2a2fd5d9dd0cc261c812b0146e433d703fec960c27c7284b2de7e65bc"; + sha256 = "fc058bf34094828c0919ad81672d697cf01dfa291ba9b11e0b1c119588878405"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/eo/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/eo/Firefox%20139.0.4.dmg"; locale = "eo"; arch = "mac"; - sha256 = "68912adb877fad9b038bcec66ff6749b8c22ddc1814c7e1ad9e8e95a8c119dec"; + sha256 = "528d792d5c2398f8164408d4de59d10aef40441a882a304b9f4eb05dd9ea30f4"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/es-AR/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/es-AR/Firefox%20139.0.4.dmg"; locale = "es-AR"; arch = "mac"; - sha256 = "b2cbc3a357a9a74d77fb39e8503efc84b9bdc816250faac8731d2e7a088a4143"; + sha256 = "6280d5f556981cbd48cd7912383c2e5a6640c88b7a6392b3be5a4c34d52ec8ca"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/es-CL/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/es-CL/Firefox%20139.0.4.dmg"; locale = "es-CL"; arch = "mac"; - sha256 = "dc95f2e0d47f57bd4196c749aab6f04a426eb6ddafe0c1f9b4028301323266e3"; + sha256 = "1566a7f4c80ad0c8b6ad6e05aafa7c8913fdd66c0a43951e409c9e56a1e4e461"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/es-ES/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/es-ES/Firefox%20139.0.4.dmg"; locale = "es-ES"; arch = "mac"; - sha256 = "10ec09d1c88b25087857af5c0d3bd2c8de65d2098319350a573435c6dfbfce09"; + sha256 = "e7fbd059301ab812c1e6ff7c697eaec507618729992fbd8bf6ec5bceefa497b8"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/es-MX/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/es-MX/Firefox%20139.0.4.dmg"; locale = "es-MX"; arch = "mac"; - sha256 = "72f7e5aef01526eb697c578659a0ac4d6353d6a698315e5b147f19b499577cdc"; + sha256 = "1fe5aef83bd5e06dc90c199a30e6eba1ff4091526943db986f3c84537f0ebed3"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/et/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/et/Firefox%20139.0.4.dmg"; locale = "et"; arch = "mac"; - sha256 = "1cae2a23b54cef6657c47073e23ae6bc1056c7195c84d03f5111f893c4b275ab"; + sha256 = "4b144faa4612ae94a859e35f3eebecb1d1b9211620910532fd1a870abc7ec420"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/eu/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/eu/Firefox%20139.0.4.dmg"; locale = "eu"; arch = "mac"; - sha256 = "09c7f0564a8c96aef212953100d04c9ec72fcbaa1727e816f6695025c65d8c0c"; + sha256 = "432c0021630a9b4a968ef7125abfc3dfbf9730b3ff79889e2f777150a0c3827d"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/fa/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/fa/Firefox%20139.0.4.dmg"; locale = "fa"; arch = "mac"; - sha256 = "f420b5706210b9c22e3bf3a8f8bee45abf0b2e1c556072f040af41b990a36262"; + sha256 = "0263b2636e2b0e031b90d880a1a1cefa62bbddfce62caf7f32998ddaa6c11c6b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/ff/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/ff/Firefox%20139.0.4.dmg"; locale = "ff"; arch = "mac"; - sha256 = "f8ca52cc78ee5cc2f1f5b1483509c821183e16072c08765ddb102c509cbf4e26"; + sha256 = "12772b28d793b9b799be5b53c3ec4a1536bbb024876e4e1a79ced06ba239fa82"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/fi/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/fi/Firefox%20139.0.4.dmg"; locale = "fi"; arch = "mac"; - sha256 = "161f80460829488560859f3a5b3a1aab0342f6062ea033721748d5a038466bfd"; + sha256 = "f92075580647bb4e1c1a6e5bb9d2d6a6070d3b25133af4f19af83264e1600f52"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/fr/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/fr/Firefox%20139.0.4.dmg"; locale = "fr"; arch = "mac"; - sha256 = "b33ddd6074f49f281579768f0496e0a7775c56789430beae97c108de9534c194"; + sha256 = "90504a396e4a4026872c12af19dfd19bb1d97b1d8968ea2ad9873fc4f2dda276"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/fur/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/fur/Firefox%20139.0.4.dmg"; locale = "fur"; arch = "mac"; - sha256 = "ccd0854020645c2dae8827cce789d6a6549566afe9ec31c4797dbf5f2e881b65"; + sha256 = "0cd66ee8c58052f27e0b13856c6338a1b63c413c9102f736571f7940958675af"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/fy-NL/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/fy-NL/Firefox%20139.0.4.dmg"; locale = "fy-NL"; arch = "mac"; - sha256 = "0ae690d15c2fafd99d9fada3ba80e5ab480fdce0ab29e04c09354d8e265c20e3"; + sha256 = "0cd10570538578e18e02c7b51e8460d840354bd06e28861daae67cf9e49b0f79"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/ga-IE/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/ga-IE/Firefox%20139.0.4.dmg"; locale = "ga-IE"; arch = "mac"; - sha256 = "efbcb4bf59a1bbcb7a029c32392d175935da72263f795fa64d5437887c2c961b"; + sha256 = "87aa41740c0295b335c87c425734e24167dd8f1503ba1f04dcc37fff48122dc4"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/gd/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/gd/Firefox%20139.0.4.dmg"; locale = "gd"; arch = "mac"; - sha256 = "f40bceae5ccce329d9ab871337fd558222dfc26a715e7acd8cd628324547fae3"; + sha256 = "83de5db2482bd10a915c9a68bac65e9a9e363e6cd1dd1e21ee04591db0a5ef1b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/gl/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/gl/Firefox%20139.0.4.dmg"; locale = "gl"; arch = "mac"; - sha256 = "9ad62642cdae3735a4fa68999152dca54467e92e173c9c38c10a60a299e23b1d"; + sha256 = "a0134ebb1dcacd91c5f25565e4b2c2bedae7318e8528f0965bf28583e7c1dd8d"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/gn/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/gn/Firefox%20139.0.4.dmg"; locale = "gn"; arch = "mac"; - sha256 = "4283168026c7fecf6b8e444375d5823bd6d1c81d07b0b70f9b76fbe6dd6c9454"; + sha256 = "d54c02566b8ae14d22351b00e34235a8d523a29db858c349e6b045acf581b9de"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/gu-IN/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/gu-IN/Firefox%20139.0.4.dmg"; locale = "gu-IN"; arch = "mac"; - sha256 = "69282aac4c06e0d9110005989b045eaf6f4a0158c06effa7098ce30fb584cf6b"; + sha256 = "abfdc34b558c160e0e0404103057caf0235bf011f3f8950dbf2e30d106a9d6ee"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/he/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/he/Firefox%20139.0.4.dmg"; locale = "he"; arch = "mac"; - sha256 = "88e5bb9a6e7c36725e2408eb2b8ee7a4cfb48e09314e3c5431df6640d8a4b507"; + sha256 = "4178f39bd52b4971ad3a7aae51291b716ad777df1566aaf14637881d8f654d47"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/hi-IN/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/hi-IN/Firefox%20139.0.4.dmg"; locale = "hi-IN"; arch = "mac"; - sha256 = "4a4495a3e32e6d79e67f41048e8115feb0283693b12209b80cd3e3e92f353a01"; + sha256 = "0d78e61fb3fb8947dd96e7284fd4f74710c8fc61d7701755c0e266b2093f21de"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/hr/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/hr/Firefox%20139.0.4.dmg"; locale = "hr"; arch = "mac"; - sha256 = "a98af3f668e6bb6f2cdfb416a74d78ed0ddcf1060125c73eb7f8a8b66c539450"; + sha256 = "5ea7cdbc8fd8dc992584a5d869fa5006d1c1f8c62d033933579bd732e42bee4e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/hsb/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/hsb/Firefox%20139.0.4.dmg"; locale = "hsb"; arch = "mac"; - sha256 = "b8da34f008e70ce54176521625c1f77e2cb7e4167d6e81cdedce012ffa67ba6f"; + sha256 = "96c9aaf1b9b176674889e777cfc12632ed9db3a68faec70444f488aee633811c"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/hu/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/hu/Firefox%20139.0.4.dmg"; locale = "hu"; arch = "mac"; - sha256 = "9f396ff5aea2604013f1d4d199660a3157a915a28ae6d04894e9277a84320c4d"; + sha256 = "257410ceb23e6e83499ef28b31876394b7b048b83034f09ead3f11be96d34fd3"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/hy-AM/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/hy-AM/Firefox%20139.0.4.dmg"; locale = "hy-AM"; arch = "mac"; - sha256 = "c2074346fa59f96cbdc0c31d86e218fdeb8dc9aa31a0f19e1a6d0875c45c1316"; + sha256 = "406d8e063c5cc1ec425884a93142f6e830683634cbdbbf19a9768f9685d12b55"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/ia/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/ia/Firefox%20139.0.4.dmg"; locale = "ia"; arch = "mac"; - sha256 = "38ae1f39ec8d063cb581f3bd7ef77574a538a7390b91a208e0e2c21e59e17737"; + sha256 = "df4608b82381b51c41151e00cb008b8a015a0718d03f18a09b25732e6f5a11ba"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/id/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/id/Firefox%20139.0.4.dmg"; locale = "id"; arch = "mac"; - sha256 = "4b8c298aaa0a13e31929f27a1b10620775a85153aaf8b18aa370cdff7473393d"; + sha256 = "a4aaa52e496b42e9327e9f45f03cf5a7561636abb797b032dfa0c3d675b8146e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/is/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/is/Firefox%20139.0.4.dmg"; locale = "is"; arch = "mac"; - sha256 = "27979073fa3c7d499876e4c15d98565986ebc53486560aeca27597d7a68331d5"; + sha256 = "8cc6b1e260b44c61400a925cbdbb966d0a902f0e41e16385662b1985abdcd795"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/it/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/it/Firefox%20139.0.4.dmg"; locale = "it"; arch = "mac"; - sha256 = "66f87df7f6168e692091e0a5b8317fdfdbaa2d2c71d1c5745ff4bef3db3af9ca"; + sha256 = "c682480079c6e4f620b6b8b284dbbdbd207252b73d04fbdba8288c9a866c59c1"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/ja-JP-mac/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/ja-JP-mac/Firefox%20139.0.4.dmg"; locale = "ja-JP-mac"; arch = "mac"; - sha256 = "c55cdf4c12ed9ccf12340ddd494655ad5d4824a5bf00079e7f4d4198a9a1091f"; + sha256 = "c18ba704027225ef0242f26f67c36a7041d1ec3046144d7ca2e966810297f093"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/ka/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/ka/Firefox%20139.0.4.dmg"; locale = "ka"; arch = "mac"; - sha256 = "c6a80bdf695c935fa3ddba101e1e9d3a552d2e64ffcb03b6a486ece7cf092ee0"; + sha256 = "b2c1676fc61153bedd3f3982f1c4060af14bc38817bba726e6bcb2c09db64546"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/kab/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/kab/Firefox%20139.0.4.dmg"; locale = "kab"; arch = "mac"; - sha256 = "ae81d15ec907d015e8a1e491779391b4112adae18d1063792c247b1106659dba"; + sha256 = "f1554093d387fe1594dd18809ac8389afc8cff6825776b63b1a767829ee1654c"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/kk/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/kk/Firefox%20139.0.4.dmg"; locale = "kk"; arch = "mac"; - sha256 = "dbf7aa923dc1531b1457ffe4eafcbf75ce2246078fd708a903b91af9784553da"; + sha256 = "25638b911edf9f048e1cb572fade0859717a534706dc47209ddc1c51dc0922a2"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/km/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/km/Firefox%20139.0.4.dmg"; locale = "km"; arch = "mac"; - sha256 = "8b1ffc20c721b014f5190faadac1856a6cde670df45806449eefc8169a32ff50"; + sha256 = "3faa1af1ca8f0bb154e5869b89d9917b20bd8412cf04949395d9da43a852329c"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/kn/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/kn/Firefox%20139.0.4.dmg"; locale = "kn"; arch = "mac"; - sha256 = "6c96ae6870fb6d9d6f06b23fef6013c4d1e697f27145ecb4960c0a08d5f78a34"; + sha256 = "335fb5839de6fc6920291279dc6b8818b793337e1d8638f9cf157578da0c0dec"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/ko/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/ko/Firefox%20139.0.4.dmg"; locale = "ko"; arch = "mac"; - sha256 = "2e2cd7ff45d1152a112fad55284d199dc33210c1f1821f7c43b51c9508ec4606"; + sha256 = "3128c4737cd097eecfa21726ad83e66980b3d3b5f45048db0b855fa8991df9c4"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/lij/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/lij/Firefox%20139.0.4.dmg"; locale = "lij"; arch = "mac"; - sha256 = "80b2cbd9687e2474e8f52c5f8cab938da4ec01ec08bc858a06de8cd98b31f57e"; + sha256 = "6f7f425011d071dca7df6fe90e7fc92b60dbc4e1f1d370d5dbf2b6ddaab3ecc7"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/lt/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/lt/Firefox%20139.0.4.dmg"; locale = "lt"; arch = "mac"; - sha256 = "e836ed07b13a5b02e612b9825e8d5d404972f6d2fd91e95210ec7ae838426f9e"; + sha256 = "7b8e7547f8c00067ddbf3d241464dcf5badbc243165d106e19397908f2f2aeaf"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/lv/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/lv/Firefox%20139.0.4.dmg"; locale = "lv"; arch = "mac"; - sha256 = "0cd6580a21df980be2c2ad8a7e7fc162206b62cd3673f4509db609e326cd9ed7"; + sha256 = "a302243b62092df91c71b599bc2163276eca95902cce0601cc078d0566bf8fd4"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/mk/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/mk/Firefox%20139.0.4.dmg"; locale = "mk"; arch = "mac"; - sha256 = "d5c548bac8aa256e28f6f2e76ccbfe54087dd76479b582317def096be056c58b"; + sha256 = "86204f6459eb1b2911ba33b14ddcc980b00d6c594991ac3c2761abbe5565c0e3"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/mr/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/mr/Firefox%20139.0.4.dmg"; locale = "mr"; arch = "mac"; - sha256 = "5ef64765786bb49ffdd7cf0670ef22796a546429b6892c3fd92921cb8b83644f"; + sha256 = "561d755efb2679d4633d05179e5f40b1fe248152ca4761b16ea4fc22d1e22563"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/ms/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/ms/Firefox%20139.0.4.dmg"; locale = "ms"; arch = "mac"; - sha256 = "088b75c258d62a6e8bb53de458b2a3b7a1df7022e98d4d2c782ee61b21c93db6"; + sha256 = "bb141b43428f737e2ba51684db29227e0cae38dfd1b10179e39f362c95bbd25e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/my/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/my/Firefox%20139.0.4.dmg"; locale = "my"; arch = "mac"; - sha256 = "e2217ecd841382ce3d502d717e2403309b7926846538a9d5d87725a66c44b411"; + sha256 = "e7de2a6cdcd380a320a25a7af7c55e672f3663e23a083c5b8f9ddf976406fba3"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/nb-NO/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/nb-NO/Firefox%20139.0.4.dmg"; locale = "nb-NO"; arch = "mac"; - sha256 = "420220b20cf11b8240875c13cf9e33c39364e72118fb8b3449e5e5da0157336b"; + sha256 = "2820e7fe079d6380ab0b17694bf3c92e9d170e2ed7409385d88bb4c2938dd0fa"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/ne-NP/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/ne-NP/Firefox%20139.0.4.dmg"; locale = "ne-NP"; arch = "mac"; - sha256 = "c9c591f0acd41376c0e2067941702339b43141fbfac90ce7c1a67bac421ad56c"; + sha256 = "fee6597075f76447647e946ae07a6d52befe6503bdaeba811d5b1c91064f9bc7"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/nl/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/nl/Firefox%20139.0.4.dmg"; locale = "nl"; arch = "mac"; - sha256 = "a2a56b7d9815c69cc15df54dfb7ce9cc43f083bc2a7be1960ca48a461afb9807"; + sha256 = "77990db73258c0d0154bb60a231673953ee1764aea5b74594ab2c53b4a842549"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/nn-NO/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/nn-NO/Firefox%20139.0.4.dmg"; locale = "nn-NO"; arch = "mac"; - sha256 = "a7f0f6e099edfbeb82c52324113302098570d483bdf4f41394c031756032709e"; + sha256 = "989109b352cea0a86d940d740511e87f0df7647a92d13553b08547802938a199"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/oc/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/oc/Firefox%20139.0.4.dmg"; locale = "oc"; arch = "mac"; - sha256 = "c1ac050cb59700f7c7fef9d46fe52fe3c6ae0398342486d4097acf8e3afe1e0b"; + sha256 = "723ce4b024b3122fb9540191dff60c13439b02e464f55263448a25af3d62c3e8"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/pa-IN/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/pa-IN/Firefox%20139.0.4.dmg"; locale = "pa-IN"; arch = "mac"; - sha256 = "dd22354c6d627ea338ba4dcf1907c709606b3ae9889be92c5ad4374b6960de19"; + sha256 = "0e3f52eff557e2f932808ebed3f945410d77cea2f464597ebf5ae8633a40850e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/pl/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/pl/Firefox%20139.0.4.dmg"; locale = "pl"; arch = "mac"; - sha256 = "33931e4ced252ce729f3d43fecf9f4720d193664b824271bc9f60d1149b09c2c"; + sha256 = "bc7efd404ad0d2229abc23c1f86e34666520fde23ef240f079b4858a38d0c2ae"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/pt-BR/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/pt-BR/Firefox%20139.0.4.dmg"; locale = "pt-BR"; arch = "mac"; - sha256 = "e4fcd07958c32a953be40f9a4a14c9941dcb69c7c432b68f428f4ec9c0fde5a2"; + sha256 = "2b1ebc065b613420f62889885fe80145a298af98bd0c4b5e5de30907a990d831"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/pt-PT/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/pt-PT/Firefox%20139.0.4.dmg"; locale = "pt-PT"; arch = "mac"; - sha256 = "037a139a087e796e18f1b5247d34797e4aa91b0a2acfb0b66a371687f0936b4a"; + sha256 = "83cd9b7ce08cdbe9c5b2e6ec9c08fe66fdbc0390c2bcdbc29afe9948896b2794"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/rm/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/rm/Firefox%20139.0.4.dmg"; locale = "rm"; arch = "mac"; - sha256 = "370b78747a9439c2f205820f5dce9d078fd28dc208c77597443787604c07d461"; + sha256 = "4eb6d711138e79e9f54e9b471366f3f6597870faa1888266f9aeb11a9e99ba19"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/ro/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/ro/Firefox%20139.0.4.dmg"; locale = "ro"; arch = "mac"; - sha256 = "0d48fa56226f6be494e507f3d05669a4a12597b890458d0e51b88277c17fb5d6"; + sha256 = "1be921022c549ba21a6fcb43dc340ac758526284ffa1b9276a8ebf035e3ad19c"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/ru/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/ru/Firefox%20139.0.4.dmg"; locale = "ru"; arch = "mac"; - sha256 = "1c9972d288c9af9784b5eaea75c8583d4bd57be5cdff0300cc85ac860d3cfabd"; + sha256 = "86d13a9741f3d4833f0396e2aa861c0752551d96834fd19fbcc702c9e2481b16"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/sat/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/sat/Firefox%20139.0.4.dmg"; locale = "sat"; arch = "mac"; - sha256 = "9a8537438377a20b23c4fb7233e881a142b257b3516fd44586921369dcdfd8c0"; + sha256 = "f3c5804d0c67625d5a99e5eff23608717beaf501c67e3afc45aeb7c6a7e41b72"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/sc/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/sc/Firefox%20139.0.4.dmg"; locale = "sc"; arch = "mac"; - sha256 = "81c316ef0cca280bc41b664d9db2bc1c45e1b06f100f4c8687784fb8aa4afd73"; + sha256 = "b72b0b375fb4c0e5219f3ca20d5341c3661399f53280fcb88284f74efb13f9e5"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/sco/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/sco/Firefox%20139.0.4.dmg"; locale = "sco"; arch = "mac"; - sha256 = "0a8c54624945f06daad9368c8333cba7ee3d204b27eb54b3fb4629d1e2db416a"; + sha256 = "59b7a195a106dbe0eb1f63d5bb909150be235c87a80822094a7ec5fb4f4012ba"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/si/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/si/Firefox%20139.0.4.dmg"; locale = "si"; arch = "mac"; - sha256 = "65e57e930a9b3eb0a58fd6fcaaea7a059161b3b800811899fd1e1569beb1a514"; + sha256 = "e5d43658711bce6ce97c5574fdb8619ace7d519ba43c5801aec6abd68af4a33c"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/sk/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/sk/Firefox%20139.0.4.dmg"; locale = "sk"; arch = "mac"; - sha256 = "f53d1c2e249b7dae8acfe51539fb7628bf31251b5c377a3db0289695e21a8351"; + sha256 = "6af5643493b2bf6bf4e03d872656f7adef2c776cd7c977065e88f2b3cd7b6754"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/skr/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/skr/Firefox%20139.0.4.dmg"; locale = "skr"; arch = "mac"; - sha256 = "910b1ce3d5765d790114776322343afa0bf77d4f75fc2edc3c7144a2af8c0644"; + sha256 = "4026ae3d0eeb24e54b2d4c562fae11f186a848576fc7ffde4780f3b3e135f02e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/sl/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/sl/Firefox%20139.0.4.dmg"; locale = "sl"; arch = "mac"; - sha256 = "791514db0971cea4133582b95eede42a618f8725353c69d6ab9df58590078cc0"; + sha256 = "7c3f9fe1117f43a68efdf46e245320960c3c72f64ec5e0af048736177e54326a"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/son/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/son/Firefox%20139.0.4.dmg"; locale = "son"; arch = "mac"; - sha256 = "864e755abefbd43ee15e8d6c0423004d975cef8638d6fbe6a399ecd0344ade52"; + sha256 = "7da2f4a3dd1366bdcda44cbe9b403d2ff6730c8d924498aa5df70b0ab5d59181"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/sq/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/sq/Firefox%20139.0.4.dmg"; locale = "sq"; arch = "mac"; - sha256 = "c198eb883aed34be07c179ee7b63809189614ae71eeb6ee334cb5531b950097b"; + sha256 = "8bb9038523a4c6f84ff56b5e53e7e69b3af8037070d4417b0d14b560f6e6a4b1"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/sr/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/sr/Firefox%20139.0.4.dmg"; locale = "sr"; arch = "mac"; - sha256 = "07799c0d2427c01f92036c2b472c2496000957e06be875e360715964d353cc0e"; + sha256 = "a896b61f56d414820b0c133bcd07e4d47093b9b85efddd560d08ea5c1b4922ca"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/sv-SE/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/sv-SE/Firefox%20139.0.4.dmg"; locale = "sv-SE"; arch = "mac"; - sha256 = "9c7020e14c9b2fb6316aa64101e5c22a543837aa859ccde7d3d85b21706110dd"; + sha256 = "3e897ef4eb7ce809a4c372788b8e8b99aec3fdf81a401ee1641670f64d354c06"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/szl/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/szl/Firefox%20139.0.4.dmg"; locale = "szl"; arch = "mac"; - sha256 = "1b3cca5c3825534614e0622c0c9390adcc3d977b2929b6b6b71569bda944c1f4"; + sha256 = "1c7229bed317ceff4dfd6304004aa1148189019cd7241f5b5fd966f0a9a0148c"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/ta/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/ta/Firefox%20139.0.4.dmg"; locale = "ta"; arch = "mac"; - sha256 = "a948221b830cd91e2baf75267f0c88d7fbb922bb5fa3400a7cdb56ab4a2ac24e"; + sha256 = "df7507990a863894ef7cfcfafd4d11747f8178c8abe37f0bd33d2c3bfde485b0"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/te/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/te/Firefox%20139.0.4.dmg"; locale = "te"; arch = "mac"; - sha256 = "f0f7a591948768c0a1be88dd6d6e3894eecee31c03bc1b27e78e1be935cffccf"; + sha256 = "095a1a6429f394effd24d4b44f9d25cf7517aec0e4cdb923451e5f76a57dda86"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/tg/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/tg/Firefox%20139.0.4.dmg"; locale = "tg"; arch = "mac"; - sha256 = "9a70c9b3f12b40176ff6517f595e07aeb384e9629b0d88290ac6b5e3afb1648a"; + sha256 = "2dccfae304c30b04b550df94d617098998c0a98ce2a3ebe57cb00797cdbd3c2b"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/th/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/th/Firefox%20139.0.4.dmg"; locale = "th"; arch = "mac"; - sha256 = "7488d21f91cfda5bae385a9ba89e15165e589f57c7c6220bcdccb685e2a8714f"; + sha256 = "e613b617f9a65dcb9fd4f1e03d581fb507cd25faf679f87dc42ac570c6f5f7ff"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/tl/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/tl/Firefox%20139.0.4.dmg"; locale = "tl"; arch = "mac"; - sha256 = "6d5d31adfcbb36e69cb81f56d305ab9929d2706e22ced6a104f80b84d449f37f"; + sha256 = "6efe7c21216267dc62351512345ea66560bfd500f797976e7dc83e70b463ab1a"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/tr/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/tr/Firefox%20139.0.4.dmg"; locale = "tr"; arch = "mac"; - sha256 = "fa3194f18780f33cb67df28c20dc75a726d2aa31792e03671c9e2848c5f803d2"; + sha256 = "69c54d76eacbb12aa053530aa3ebe35e738b6f02023fa362bbe707a9177b6a58"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/trs/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/trs/Firefox%20139.0.4.dmg"; locale = "trs"; arch = "mac"; - sha256 = "8196eae763439591b98f11de6685af6db3e776f6c478e8315d768d2395187dae"; + sha256 = "ad940a6df0329b5b55f80e2c13365e2d72cf39ddf67b66cf1e9b3ff6d2f042cc"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/uk/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/uk/Firefox%20139.0.4.dmg"; locale = "uk"; arch = "mac"; - sha256 = "8c66b35d7ddfbe0515c22eda7c625609b4d1c7e4b98deccf2c3bd766a1bec504"; + sha256 = "704b38bd5112e439045cf10e560729371bb3c594087e6ac1aa446eefe966817a"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/ur/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/ur/Firefox%20139.0.4.dmg"; locale = "ur"; arch = "mac"; - sha256 = "7ffe482db093fa473e21ead858cc47fc9a5349337103200b8c3bd2b4ba636d90"; + sha256 = "b7a68c0c5563050a704f77d10507d09fc92a36ad04f39e4e5204f5adc5af3d5e"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/uz/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/uz/Firefox%20139.0.4.dmg"; locale = "uz"; arch = "mac"; - sha256 = "efba670f42c3e9a1b471299b2c77f437660db4213cbc47e029a4c9531a6c222a"; + sha256 = "d1d0176923c64b99c196b726c087e48ea077295a8fb9af86acd933e139d36cb2"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/vi/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/vi/Firefox%20139.0.4.dmg"; locale = "vi"; arch = "mac"; - sha256 = "74b6f1e646e9cbc40402334bb9ff05625a3edb125783f3bdbfc2ef525e4e0706"; + sha256 = "7a09f94b79b2ae9c2a49ed736dab4f7b4bdd8e247e07853be7162c5b2b4231df"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/xh/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/xh/Firefox%20139.0.4.dmg"; locale = "xh"; arch = "mac"; - sha256 = "acfbcab5e0e6b43fb5a7061daaf18425bc573407a413b6d5cfd312a9f8691ca5"; + sha256 = "143fddb9f5726fc718992cd102b76c28db3da234a94f673620bfc329db84b245"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/zh-CN/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/zh-CN/Firefox%20139.0.4.dmg"; locale = "zh-CN"; arch = "mac"; - sha256 = "c05f05e9f112e0d848f21407592f683d569b5c50b849139386a07acf052f8079"; + sha256 = "9bade8971332379a9fcf99aa9541a50fd3a3383797242dc0a7c459a1e4f6a1f2"; } { - url = "https://archive.mozilla.org/pub/firefox/releases/139.0.1/mac/zh-TW/Firefox%20139.0.1.dmg"; + url = "https://archive.mozilla.org/pub/firefox/releases/139.0.4/mac/zh-TW/Firefox%20139.0.4.dmg"; locale = "zh-TW"; arch = "mac"; - sha256 = "c1253c7ae884c0b95ef467f8be3adc3550d88ec1e36c2cc0d491202a26d956bc"; + sha256 = "d3ac4855f2c20fe0719ed01c7a6ad1821f9225f6753286a455e0f53dc5da699f"; } ]; } diff --git a/pkgs/applications/networking/browsers/firefox-bin/update.nix b/pkgs/applications/networking/browsers/firefox-bin/update.nix index 00f1c18dc422..991ebd844a67 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/update.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/update.nix @@ -1,7 +1,5 @@ { pname, - channel, - lib, writeScript, xidel, coreutils, @@ -16,10 +14,6 @@ versionSuffix ? "", }: -let - isBeta = channel != "release"; - -in writeScript "update-${pname}" '' #!${runtimeShell} PATH=${coreutils}/bin:${gnused}/bin:${gnugrep}/bin:${xidel}/bin:${curl}/bin:${gnupg}/bin @@ -49,9 +43,7 @@ writeScript "update-${pname}" '' grep "^[0-9]" | \ sort --version-sort | \ grep -v "funnelcake" | \ - grep -e "${lib.optionalString isBeta "b"}\([[:digit:]]\|[[:digit:]][[:digit:]]\)${versionSuffix}$" | ${ - lib.optionalString (!isBeta) "grep -v \"b\" |" - } \ + grep -e "\([[:digit:]]\|[[:digit:]][[:digit:]]\)${versionSuffix}$" | grep -v "b" | \ tail -1` curl --silent -o $HOME/shasums "$url$version/SHA256SUMS" @@ -94,7 +86,7 @@ writeScript "update-${pname}" '' } EOF - mv $tmpfile ${channel}${if versionSuffix == "" then "" else "_${versionSuffix}"}_sources.nix + mv $tmpfile release${if versionSuffix == "" then "" else "_${versionSuffix}"}_sources.nix popd '' diff --git a/pkgs/applications/networking/browsers/firefox/139-wayland-drag-animation.patch b/pkgs/applications/networking/browsers/firefox/139-wayland-drag-animation.patch new file mode 100644 index 000000000000..9e0053a1f336 --- /dev/null +++ b/pkgs/applications/networking/browsers/firefox/139-wayland-drag-animation.patch @@ -0,0 +1,53 @@ +# HG changeset patch +# User Dão Gottwald +# Date 1742828426 0 +# Node ID aa8a29bd1fb9668c81475b534b4ceb220dd4fe55 +# Parent 653a7b21210b5b61a36af11b99ccd51e6c85a905 +Bug 1955112 - Finish tab moving animation when a drag session wasn't ended properly. r=dwalker,tabbrowser-reviewers + +Differential Revision: https://phabricator.services.mozilla.com/D242631 + +diff --git a/browser/components/tabbrowser/content/tabs.js b/browser/components/tabbrowser/content/tabs.js +--- a/browser/components/tabbrowser/content/tabs.js ++++ b/browser/components/tabbrowser/content/tabs.js +@@ -1012,18 +1012,39 @@ + newMargin *= -1; + } + ind.style.transform = this.verticalMode + ? "translateY(" + Math.round(newMargin) + "px)" + : "translateX(" + Math.round(newMargin) + "px)"; + } + + #setMovingTabMode(movingTab) { ++ if (movingTab == this.#isMovingTab()) { ++ return; ++ } ++ + this.toggleAttribute("movingtab", movingTab); + gNavToolbox.toggleAttribute("movingtab", movingTab); ++ ++ if (movingTab) { ++ // This is a bit of an escape hatch in case a tab drag & drop session ++ // wasn't ended properly, leaving behind the movingtab attribute, which ++ // may break the UI (bug 1954163). We don't get mousemove events while ++ // dragging tabs, so at that point it should be safe to assume that we ++ // should not be in drag and drop mode, and clean things up if needed. ++ requestAnimationFrame(() => { ++ this.addEventListener( ++ "mousemove", ++ () => { ++ this.finishAnimateTabMove(); ++ }, ++ { once: true } ++ ); ++ }); ++ } + } + + #isMovingTab() { + return this.hasAttribute("movingtab"); + } + + #expandGroupOnDrop(draggedTab) { + if ( + diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix index 965afea61031..3f21274f81a7 100644 --- a/pkgs/applications/networking/browsers/firefox/common.nix +++ b/pkgs/applications/networking/browsers/firefox/common.nix @@ -310,6 +310,11 @@ buildStdenv.mkDerivation { ./no-buildconfig-ffx121.patch ] ++ lib.optionals (lib.versionAtLeast version "136") [ ./no-buildconfig-ffx136.patch ] + ++ lib.optionals (lib.versionAtLeast version "139" && lib.versionOlder version "141") [ + # https://bugzilla.mozilla.org/show_bug.cgi?id=1955112 + # https://hg-edge.mozilla.org/mozilla-central/rev/aa8a29bd1fb9 + ./139-wayland-drag-animation.patch + ] ++ lib.optionals (lib.versionAtLeast version "139") [ ./139-relax-apple-sdk.patch ] ++ lib.optionals (lib.versionOlder version "139") [ # Fix for missing vector header on macOS diff --git a/pkgs/applications/networking/browsers/firefox/packages/firefox-beta.nix b/pkgs/applications/networking/browsers/firefox/packages/firefox-beta.nix index 6133d8c87ebf..a77441834596 100644 --- a/pkgs/applications/networking/browsers/firefox/packages/firefox-beta.nix +++ b/pkgs/applications/networking/browsers/firefox/packages/firefox-beta.nix @@ -10,11 +10,11 @@ buildMozillaMach rec { pname = "firefox-beta"; binaryName = pname; - version = "140.0b4"; + version = "140.0b9"; applicationName = "Firefox Beta"; src = fetchurl { url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; - sha512 = "ec3d3377db8629742d428cceded3c7c92ba952f1b9cb6a15eae7f053213c3a377287a577c33b291a5e4d3cbbf918be52a31c3f4ac5f6d06c1f5edfc6312656fe"; + sha512 = "eb63be9dd42f5f777706c15a87e536769deb22658da6c35070962d98d03ec678409a1d09bf257c0421039cccdf7db892eb4c7aee610341a262ffae28b04b52b3"; }; meta = { diff --git a/pkgs/applications/networking/browsers/firefox/packages/firefox-devedition.nix b/pkgs/applications/networking/browsers/firefox/packages/firefox-devedition.nix index cd1f7f72219f..45ad9b2a0d2f 100644 --- a/pkgs/applications/networking/browsers/firefox/packages/firefox-devedition.nix +++ b/pkgs/applications/networking/browsers/firefox/packages/firefox-devedition.nix @@ -10,13 +10,13 @@ buildMozillaMach rec { pname = "firefox-devedition"; binaryName = pname; - version = "140.0b4"; + version = "140.0b9"; applicationName = "Firefox Developer Edition"; requireSigning = false; branding = "browser/branding/aurora"; src = fetchurl { url = "mirror://mozilla/devedition/releases/${version}/source/firefox-${version}.source.tar.xz"; - sha512 = "bc71e5183b7f527f006b82ba729cb9556a0c756059025392d31ace1e3e49c0a48f5f7c8b64615353c7ae72ab67eb77212f3b573ea06a278f806328093d1424a4"; + sha512 = "c653824a5be5e376f53bd73589760af6bb74d7ee66f6557ec9fda4e3d795a851f49d73c063abac69aa6663f7f8b3c76b9487d0c067e33bd1c2be7733b9356325"; }; meta = { diff --git a/pkgs/applications/networking/browsers/firefox/packages/firefox.nix b/pkgs/applications/networking/browsers/firefox/packages/firefox.nix index 3ca9fefaab60..71b05e56578e 100644 --- a/pkgs/applications/networking/browsers/firefox/packages/firefox.nix +++ b/pkgs/applications/networking/browsers/firefox/packages/firefox.nix @@ -9,10 +9,10 @@ buildMozillaMach rec { pname = "firefox"; - version = "139.0.1"; + version = "139.0.4"; src = fetchurl { url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; - sha512 = "78ae10fc14900eb1273b7ff798a159504f68166c39b1f12ef9ea04243debc78472c24499da01641590feb5d2b28475131d2ec94d6f28fd4f2f644a721f7f40ba"; + sha512 = "fa5ae798b0cd485e0a56b0c57ed7f33e0d0ef921302dc0169eac91926194abe2070beb54239c81924f819a60b589f305f923970d753c07ba50acc36e1a492db4"; }; meta = { diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix index f2e7b430f825..e994dbd9fe16 100644 --- a/pkgs/applications/networking/browsers/firefox/wrapper.nix +++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix @@ -521,7 +521,7 @@ let extraPoliciesFiles=(${builtins.toString extraPoliciesFiles}) for extraPoliciesFile in "''${extraPoliciesFiles[@]}"; do - jq -s '.[0] * .[1]' "$POL_PATH" $extraPoliciesFile > .tmp.json + jq -s '.[0] * .[1]' $extraPoliciesFile "$POL_PATH" > .tmp.json mv .tmp.json "$POL_PATH" done diff --git a/pkgs/applications/networking/browsers/librewolf/src.json b/pkgs/applications/networking/browsers/librewolf/src.json index 7c53666455cd..4b24b1a27002 100644 --- a/pkgs/applications/networking/browsers/librewolf/src.json +++ b/pkgs/applications/networking/browsers/librewolf/src.json @@ -1,11 +1,11 @@ { - "packageVersion": "139.0.1-1", + "packageVersion": "139.0.4-1", "source": { - "rev": "139.0.1-1", - "hash": "sha256-3qMMu33y4MCPSUsFCMNd7CDEJjZJsfLdjPSFRC/obQg=" + "rev": "139.0.4-1", + "hash": "sha256-rEhidZsJEQU8ist278Cw1//+MVWz1UqqZPDF9v+H+cc=" }, "firefox": { - "version": "139.0.1", - "hash": "sha512-eK4Q/BSQDrEnO3/3mKFZUE9oFmw5sfEu+eoEJD3rx4RywkSZ2gFkFZD+tdKyhHUTHS7JTW8o/U8vZEpyH39Aug==" + "version": "139.0.4", + "hash": "sha512-+lrnmLDNSF4KVrDFftfzPg0O+SEwLcAWnqyRkmGUq+IHC+tUI5yBkk+BmmC1ifMF+SOXDXU8B7pQrMNuGkkttA==" } } diff --git a/pkgs/applications/networking/browsers/nyxt/default.nix b/pkgs/applications/networking/browsers/nyxt/default.nix index c97bf204e483..d8817dccddbf 100644 --- a/pkgs/applications/networking/browsers/nyxt/default.nix +++ b/pkgs/applications/networking/browsers/nyxt/default.nix @@ -17,6 +17,7 @@ pango, webkitgtk_4_1, openssl, + sqlite, gstreamer, gst-libav, gst-plugins-base, @@ -69,6 +70,7 @@ stdenv.mkDerivation (finalAttrs: { gtk3 webkitgtk_4_1 openssl + sqlite libfixposix ]; diff --git a/pkgs/applications/networking/cluster/helm/default.nix b/pkgs/applications/networking/cluster/helm/default.nix index d5aa2727ab0f..5a6fb4af2537 100644 --- a/pkgs/applications/networking/cluster/helm/default.nix +++ b/pkgs/applications/networking/cluster/helm/default.nix @@ -9,15 +9,15 @@ buildGoModule (finalAttrs: { pname = "kubernetes-helm"; - version = "3.17.3"; + version = "3.18.3"; src = fetchFromGitHub { owner = "helm"; repo = "helm"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-1mOOG3MNFROnuZVUvLuspqNUUUctm6QDpCXP/6Di9H0="; + sha256 = "sha256-V5gWzgsinT0hGFDocPlljH1ls8Z0j5cz37oPrB6LI9Y="; }; - vendorHash = "sha256-IX4zZnu8+cb2mJxQHOmZLUVxyqfWvbsRQR3q02Wpx6c="; + vendorHash = "sha256-r9DLYgEjxapUOAz+FCgYXqdE6APhGKO/YnshbLRmdrU="; subPackages = [ "cmd/helm" ]; ldflags = [ diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix index 785ba5cc981d..fe8cacf3e10e 100644 --- a/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix +++ b/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "helm-diff"; - version = "3.12.1"; + version = "3.12.2"; src = fetchFromGitHub { owner = "databus23"; repo = pname; rev = "v${version}"; - hash = "sha256-wI4D8C9NkI6fgNqleLTRFmj/g/8eTUGOQtMoh6+LKlQ="; + hash = "sha256-N7n9/MjZR9jCRk2iZmFBOxwn6GVUNuUBaQHJqcgOQc4="; }; - vendorHash = "sha256-mGb3FsCNMsnG1+VE4ZplrJ1T9XHvi88c5HnYyqjdVXc="; + vendorHash = "sha256-uJxLpbFKdH5t08wZD/zPS5UPZO7YPtiBqcdN6997ik4="; ldflags = [ "-s" diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-dt.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-dt.nix index 098b1d1741e5..c6f153bfb889 100644 --- a/pkgs/applications/networking/cluster/helm/plugins/helm-dt.nix +++ b/pkgs/applications/networking/cluster/helm/plugins/helm-dt.nix @@ -5,16 +5,16 @@ }: buildGoModule rec { pname = "helm-dt"; - version = "0.4.5"; + version = "0.4.6"; src = fetchFromGitHub { owner = "vmware-labs"; repo = "distribution-tooling-for-helm"; rev = "refs/tags/v${version}"; - hash = "sha256-/TRhi4YgEB5RwRZXuwGCCqHz3SoBfs1SdKLBWg1yed0="; + hash = "sha256-SB1XjWB2vYUUT9EvUCZM0dt4Q9J38lh6x6RQWjZCQXU="; }; - vendorHash = "sha256-54QB8dZSqSpDb4z7di5K6d8/fFbXftKfQJAljV50/Jk="; + vendorHash = "sha256-aGFWyDq0HUlOF85VBRD7KN8/qm4iPsXau8W636h6meo="; ldflags = [ "-s" diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-git.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-git.nix index 12724709f993..b439df92a0cd 100644 --- a/pkgs/applications/networking/cluster/helm/plugins/helm-git.nix +++ b/pkgs/applications/networking/cluster/helm/plugins/helm-git.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation rec { pname = "helm-git"; - version = "1.3.0"; + version = "1.4.0"; src = fetchFromGitHub { owner = "aslafy-z"; repo = pname; rev = "v${version}"; - sha256 = "sha256-o9y1C4O1uG2Z7f3kCEoK1tSmSuQh1zJxB/CZBv/GPus="; + sha256 = "sha256-/J/RAFNsxwG9aiCe28daJmC2D6Gz7CrPjucqkhC++y0="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/networking/cluster/helmfile/default.nix b/pkgs/applications/networking/cluster/helmfile/default.nix index 1b8bd0e81aac..5a3f688447be 100644 --- a/pkgs/applications/networking/cluster/helmfile/default.nix +++ b/pkgs/applications/networking/cluster/helmfile/default.nix @@ -9,16 +9,16 @@ buildGoModule rec { pname = "helmfile"; - version = "1.1.1"; + version = "1.1.2"; src = fetchFromGitHub { owner = "helmfile"; repo = "helmfile"; rev = "v${version}"; - hash = "sha256-UGmthYbm0uMuWfUpXpTQUtZ71yXPRvmTZUJ2PLqjUrA="; + hash = "sha256-mnY8cUaE5NS+Ty3tqxg6DATitZQNLFgxEf8ITufI0g4="; }; - vendorHash = "sha256-Sil18yyhEbITTEmU5IiqEXpip1GUgCaKQO3IOGsgX54="; + vendorHash = "sha256-P9ubNA0eiriAA90UPrhU+x76i8667vPvAWLH7rduYLo="; proxyVendor = true; # darwin/linux hash mismatch diff --git a/pkgs/applications/networking/cluster/k3s/docs/USAGE.md b/pkgs/applications/networking/cluster/k3s/docs/USAGE.md index e3f3dfb8d38c..1ddeba7a7132 100644 --- a/pkgs/applications/networking/cluster/k3s/docs/USAGE.md +++ b/pkgs/applications/networking/cluster/k3s/docs/USAGE.md @@ -64,3 +64,37 @@ Tip: If you run into connectivity issues between nodes for specific applications K3s has a config setting `prefer-bundled-bin` (and CLI flag `--prefer-bundled-bin`) that makes k3s use binaries from the `/var/lib/rancher/k3s/data/current/bin/aux/` directory, as unpacked by the k3s binary, before the system `$PATH`. This works with the official distribution of k3s but not with the package from nixpkgs, as it does not bundle the upstream binaries from [`k3s-root`](https://github.com/k3s-io/k3s-root) into the k3s binary. Thus the `prefer-bundled-bin` setting **cannot** be used to work around issues (like [this `mount` regression](https://github.com/util-linux/util-linux/issues/3474)) with binaries used/called by the kubelet. + +### Building from a different source + +Because the package is split into multiple derivations and the build process is generally more complex, it is not very obvious how to build k3s from a different source (fork or arbitrary commit). + +To build k3s from a different source, you must use `.override` together with `overrideBundleAttrs` (for the k3sBundle derivation) and another `.overrideAttrs` (for the final derivation): + +```nix +{ fetchgit, k3s }: +let + k3sRepo = fetchgit { + url = "https://github.com/k3s-io/k3s"; + rev = "99d91538b1327da933356c318dc8040335fbb66c"; + hash = "sha256-vVqZzVp0Tea27s8HDVq4SgqlbHBdZcFzNKmPFi0Yktk="; + }; + vendorHash = "sha256-jrPVY+FVZV9wlbik/I35W8ChcLrHlYbLAwUYU16mJLM="; +in +(k3s.override { + overrideBundleAttrs = { + src = k3sRepo; + inherit vendorHash; + }; +}).overrideAttrs + { + src = k3sRepo; + inherit vendorHash; + } +``` + +- Additionally to `overrideBundleAttrs` there are also: `overrideCniPluginsAttrs` and `overrideContainerdAttrs`. +- `k3s --version` still prints the commit SHA (`k3sCommit` passed into `builder.nix`) from the "base" package instead of the actually used `rev`. +- Depending on the changes made in the fork / commit, the `k3s.override` (without the `overrideAttrs` of the final derivation) might already be enough. +- If the commit is for a different version of k3s, make sure to use the correct "base" package, e.g., `k3s_1_31.override`. Otherwise the build fails with `Tagged version 'v1.33.1+k3s1' does not match expected version 'v1.31.9[+-]*'` +- When adding an entirely new k3s version by calling `builder.nix`, keep in mind that the `k3sCommit` parameter is not used as the `k3sRepo` `rev` (it uses `v${k3sVersion}`). Therefore, you additionally must override the package, as shown above. diff --git a/pkgs/applications/networking/cluster/kubectl-view-allocations/default.nix b/pkgs/applications/networking/cluster/kubectl-view-allocations/default.nix index 0f5924487a47..4b0d2eaea476 100644 --- a/pkgs/applications/networking/cluster/kubectl-view-allocations/default.nix +++ b/pkgs/applications/networking/cluster/kubectl-view-allocations/default.nix @@ -8,17 +8,17 @@ rustPlatform.buildRustPackage rec { pname = "kubectl-view-allocations"; - version = "0.21.2"; + version = "0.22.0"; src = fetchFromGitHub { owner = "davidB"; repo = "kubectl-view-allocations"; tag = version; - hash = "sha256-WIByZc2B38NC+kp0ODQjYS81R7vX60A2aoVaE86w/NQ="; + hash = "sha256-MwTncyfR6knXss83sd3u879YRFUxWdDyNLpQO40sZ9c="; }; useFetchCargoVendor = true; - cargoHash = "sha256-aSI5SN0RujHVq7VNNsV6m3KnQqVTWyqfLmGHhwH/3ig="; + cargoHash = "sha256-bbNjOMShJMCWEcxU8F+R1BC6fqlLe2AK0y3N00HXjts="; doInstallCheck = true; nativeInstallCheckInputs = [ versionCheckHook ]; diff --git a/pkgs/applications/networking/cluster/kuma/default.nix b/pkgs/applications/networking/cluster/kuma/default.nix index 12f67a593caf..2308c31db40d 100644 --- a/pkgs/applications/networking/cluster/kuma/default.nix +++ b/pkgs/applications/networking/cluster/kuma/default.nix @@ -16,17 +16,17 @@ buildGoModule rec { inherit pname; - version = "2.10.1"; + version = "2.11.0"; tags = lib.optionals enableGateway [ "gateway" ]; src = fetchFromGitHub { owner = "kumahq"; repo = "kuma"; - rev = version; - hash = "sha256-7vRz2B1aSxpQrV7Om8Zs4o1kJgSVd9rMsOagQZyWMLI="; + tag = version; + hash = "sha256-NXhBwbazoi3DONWf5tuKKnXrIBHZ/lyL5BQE6yCGQ+Y="; }; - vendorHash = "sha256-1vI61lfs9R9aY1vFQUxXN99zE1SPSfPQ8RxWxykqqp0="; + vendorHash = "sha256-hq+n9nTSf7LDMvlttTmk59pZQaJJIRlqwOSBtMJKPfc="; # no test files doCheck = false; diff --git a/pkgs/applications/networking/cluster/linkerd/edge.nix b/pkgs/applications/networking/cluster/linkerd/edge.nix index a68785209a01..ea8d7e5ac924 100644 --- a/pkgs/applications/networking/cluster/linkerd/edge.nix +++ b/pkgs/applications/networking/cluster/linkerd/edge.nix @@ -2,7 +2,7 @@ (callPackage ./generic.nix { }) { channel = "edge"; - version = "25.5.4"; - sha256 = "0hyjhcb36qbsigc0knf4spyal0djijln1w5cdjrrpwx58jzjhzj8"; - vendorHash = "sha256-DNR2qLTai7BOOovbd9MfQ1ZUUehkD9WQ/UJo+MDdjSg="; + version = "25.6.1"; + sha256 = "0lpf9f5bj6x8b21xak6dzwscj0w9jcdvz83fl6nymy8z8y0dybq7"; + vendorHash = "sha256-ePioPHA9gps76VncdPkDEDE3sLUlrCxr7CFsXqoR6KM="; } diff --git a/pkgs/applications/networking/cluster/nomad/default.nix b/pkgs/applications/networking/cluster/nomad/default.nix index c48a154d39e0..b86cbb7d8bdf 100644 --- a/pkgs/applications/networking/cluster/nomad/default.nix +++ b/pkgs/applications/networking/cluster/nomad/default.nix @@ -12,7 +12,7 @@ let { buildGoModule, version, - sha256, + hash, vendorHash, license, ... @@ -21,7 +21,7 @@ let attrs' = builtins.removeAttrs attrs [ "buildGoModule" "version" - "sha256" + "hash" "vendorHash" "license" ]; @@ -37,9 +37,15 @@ let owner = "hashicorp"; repo = pname; rev = "v${version}"; - inherit sha256; + inherit hash; }; + # Nomad requires Go 1.24.4, but nixpkgs doesn't have it in unstable yet. + postPatch = '' + substituteInPlace go.mod \ + --replace-warn "go 1.24.4" "go 1.24.3" + ''; + nativeBuildInputs = [ installShellFiles ]; ldflags = [ @@ -59,7 +65,7 @@ let ''; meta = with lib; { - homepage = "https://www.nomadproject.io/"; + homepage = "https://developer.hashicorp.com/nomad"; description = "Distributed, Highly Available, Datacenter-Aware Scheduler"; mainProgram = "nomad"; inherit license; @@ -81,12 +87,24 @@ rec { # Upstream partially documents used Go versions here # https://github.com/hashicorp/nomad/blob/master/contributing/golang.md - nomad = nomad_1_9; + nomad = nomad_1_10; + + nomad_1_10 = generic { + buildGoModule = buildGo124Module; + version = "1.10.2"; + hash = "sha256-7i/tMQwaEmLGXNarrdPzmorv+SHrxCzeaF3BI9Jjhwg="; + vendorHash = "sha256-yq8xQ9wThPK/X9/lEHD8FCXq1Mrz0lO6UvrP2ipXMnw="; + license = lib.licenses.bsl11; + passthru.tests.nomad = nixosTests.nomad; + preCheck = '' + export PATH="$PATH:$NIX_BUILD_TOP/go/bin" + ''; + }; nomad_1_9 = generic { buildGoModule = buildGo124Module; version = "1.9.7"; - sha256 = "sha256-U02H6DPr1friQ9EwqD/wQnE2Fm20OE5xNccPDJfnsqI="; + hash = "sha256-U02H6DPr1friQ9EwqD/wQnE2Fm20OE5xNccPDJfnsqI="; vendorHash = "sha256-9GnwqkexJAxrhW9yJFaDTdSaZ+p+/dcMuhlusp4cmyw="; license = lib.licenses.bsl11; passthru.tests.nomad = nixosTests.nomad; diff --git a/pkgs/applications/networking/cluster/rke2/1_29/images-versions.json b/pkgs/applications/networking/cluster/rke2/1_29/images-versions.json deleted file mode 100644 index f336be5f8284..000000000000 --- a/pkgs/applications/networking/cluster/rke2/1_29/images-versions.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "images-calico-linux-amd64-tar-gz": { - "url": "https://github.com/rancher/rke2/releases/download/v1.29.15%2Brke2r1/rke2-images-calico.linux-amd64.tar.gz", - "sha256": "020d5dfa9f00591444e57223bd0cd236bb4ad8f0fae6e5cc19a60fa71b0096cd" - }, - "images-calico-linux-amd64-tar-zst": { - "url": "https://github.com/rancher/rke2/releases/download/v1.29.15%2Brke2r1/rke2-images-calico.linux-amd64.tar.zst", - "sha256": "004cb2dbd99b15a311a68697a89f3747de9dbf643654bf52db19b5ad12f809a7" - }, - "images-calico-linux-arm64-tar-gz": { - "url": "https://github.com/rancher/rke2/releases/download/v1.29.15%2Brke2r1/rke2-images-calico.linux-arm64.tar.gz", - "sha256": "df9502035dfdca214a4c4ef7353ff6a9b003e14baf81d6c34a4d72ac85837062" - }, - "images-calico-linux-arm64-tar-zst": { - "url": "https://github.com/rancher/rke2/releases/download/v1.29.15%2Brke2r1/rke2-images-calico.linux-arm64.tar.zst", - "sha256": "acbc610d1def7f24c47832b5e93780e7cd0f8fd7ce74f8fd3ff29fab713feb32" - }, - "images-canal-linux-amd64-tar-gz": { - "url": "https://github.com/rancher/rke2/releases/download/v1.29.15%2Brke2r1/rke2-images-canal.linux-amd64.tar.gz", - "sha256": "ba47ab111cda68836b36f1480d63b088d0de6a97d3ac511d1be57ed714ad0860" - }, - "images-canal-linux-amd64-tar-zst": { - "url": "https://github.com/rancher/rke2/releases/download/v1.29.15%2Brke2r1/rke2-images-canal.linux-amd64.tar.zst", - "sha256": "e0e8d9757a0f5445a33ce83c4c96d5c5023d70288fa4ee34103d3375e912b2b2" - }, - "images-canal-linux-arm64-tar-gz": { - "url": "https://github.com/rancher/rke2/releases/download/v1.29.15%2Brke2r1/rke2-images-canal.linux-arm64.tar.gz", - "sha256": "e1411b8a65525573f36df2587829dd6ba2565ed5961f818bcef532fd8ad64296" - }, - "images-canal-linux-arm64-tar-zst": { - "url": "https://github.com/rancher/rke2/releases/download/v1.29.15%2Brke2r1/rke2-images-canal.linux-arm64.tar.zst", - "sha256": "7dd696507da2fbc4e6e4d7b730fc8df0cb2c216614020217d77f58d10703f11a" - }, - "images-cilium-linux-amd64-tar-gz": { - "url": "https://github.com/rancher/rke2/releases/download/v1.29.15%2Brke2r1/rke2-images-cilium.linux-amd64.tar.gz", - "sha256": "9107d48dcc8b1839d2f910005737327d0f3c653472caf0588f0824f77603300f" - }, - "images-cilium-linux-amd64-tar-zst": { - "url": "https://github.com/rancher/rke2/releases/download/v1.29.15%2Brke2r1/rke2-images-cilium.linux-amd64.tar.zst", - "sha256": "0ce5b126150c0d5f11529bb9cfb945cf2da342c06aa432e3df79cb896eceef9f" - }, - "images-cilium-linux-arm64-tar-gz": { - "url": "https://github.com/rancher/rke2/releases/download/v1.29.15%2Brke2r1/rke2-images-cilium.linux-arm64.tar.gz", - "sha256": "1d8870e6369bbb56cfbfa3bdcc5b81c329d021a4b2183654c301f82f4a6fe65e" - }, - "images-cilium-linux-arm64-tar-zst": { - "url": "https://github.com/rancher/rke2/releases/download/v1.29.15%2Brke2r1/rke2-images-cilium.linux-arm64.tar.zst", - "sha256": "eb1d54688eacadc97cf77a6e6cbb039182596d0b895cebfb40e71786944f0358" - }, - "images-core-linux-amd64-tar-gz": { - "url": "https://github.com/rancher/rke2/releases/download/v1.29.15%2Brke2r1/rke2-images-core.linux-amd64.tar.gz", - "sha256": "98c366348a67572702c1332c71d81b98b14c3bf4ca4f1e0a5caedab462bf61b3" - }, - "images-core-linux-amd64-tar-zst": { - "url": "https://github.com/rancher/rke2/releases/download/v1.29.15%2Brke2r1/rke2-images-core.linux-amd64.tar.zst", - "sha256": "41616e68c3e456dea8d5e40158857c27bc786eade7a1c7dbb4621b372971f17e" - }, - "images-core-linux-arm64-tar-gz": { - "url": "https://github.com/rancher/rke2/releases/download/v1.29.15%2Brke2r1/rke2-images-core.linux-arm64.tar.gz", - "sha256": "ef4a9b0acaaac2341c54741107c653efb2610d3d443c03cb2947a7d9076415dc" - }, - "images-core-linux-arm64-tar-zst": { - "url": "https://github.com/rancher/rke2/releases/download/v1.29.15%2Brke2r1/rke2-images-core.linux-arm64.tar.zst", - "sha256": "d7f5ee3b12399082c4b52b4513f581c257123989dff1dbba822e9343ceb92139" - }, - "images-flannel-linux-amd64-tar-gz": { - "url": "https://github.com/rancher/rke2/releases/download/v1.29.15%2Brke2r1/rke2-images-flannel.linux-amd64.tar.gz", - "sha256": "8c0e75adf064bd1cc37df4b6a0c01edebbd1381fcc49799b589d072f8919bb14" - }, - "images-flannel-linux-amd64-tar-zst": { - "url": "https://github.com/rancher/rke2/releases/download/v1.29.15%2Brke2r1/rke2-images-flannel.linux-amd64.tar.zst", - "sha256": "a3b13a559f4ea866774e93d0c9883bea7ff2eb9fb4832529e8c7e7fee924ca2b" - }, - "images-flannel-linux-arm64-tar-gz": { - "url": "https://github.com/rancher/rke2/releases/download/v1.29.15%2Brke2r1/rke2-images-flannel.linux-arm64.tar.gz", - "sha256": "035142ddea7ce5ad3e30a485cda3091c86bda22c1f106614327a9ab4504a9ec3" - }, - "images-flannel-linux-arm64-tar-zst": { - "url": "https://github.com/rancher/rke2/releases/download/v1.29.15%2Brke2r1/rke2-images-flannel.linux-arm64.tar.zst", - "sha256": "28b1d7fc4544296724031007ae29415d7ee128354b8bcdc90bd13b328f3122d1" - }, - "images-harvester-linux-amd64-tar-gz": { - "url": "https://github.com/rancher/rke2/releases/download/v1.29.15%2Brke2r1/rke2-images-harvester.linux-amd64.tar.gz", - "sha256": "b571e832903c6f9abe94bea4c4128eb4784d11c6b4a53030e29bccdb6205338d" - }, - "images-harvester-linux-amd64-tar-zst": { - "url": "https://github.com/rancher/rke2/releases/download/v1.29.15%2Brke2r1/rke2-images-harvester.linux-amd64.tar.zst", - "sha256": "b464b22d3fcd708f09b659f730773f6ca9340dc0b5c5e703ea9b69af4c9919b3" - }, - "images-harvester-linux-arm64-tar-gz": { - "url": "https://github.com/rancher/rke2/releases/download/v1.29.15%2Brke2r1/rke2-images-harvester.linux-arm64.tar.gz", - "sha256": "99d014012b54a64bd9c0387fc81615bcc6a9095dca87ddf256a4d14cdf93c511" - }, - "images-harvester-linux-arm64-tar-zst": { - "url": "https://github.com/rancher/rke2/releases/download/v1.29.15%2Brke2r1/rke2-images-harvester.linux-arm64.tar.zst", - "sha256": "1e46a193719b2e1394f133b071a8bfe60081160c929d38973d34b600380a2080" - }, - "images-multus-linux-amd64-tar-gz": { - "url": "https://github.com/rancher/rke2/releases/download/v1.29.15%2Brke2r1/rke2-images-multus.linux-amd64.tar.gz", - "sha256": "ac1e5082d27473d81d7fa8f7765e4023878ca92c27878ed0cd99accfb8d8b38e" - }, - "images-multus-linux-amd64-tar-zst": { - "url": "https://github.com/rancher/rke2/releases/download/v1.29.15%2Brke2r1/rke2-images-multus.linux-amd64.tar.zst", - "sha256": "087148184e0e06ef58111ac336b58ad62c061189d0d0dd7c316a842732449c05" - }, - "images-multus-linux-arm64-tar-gz": { - "url": "https://github.com/rancher/rke2/releases/download/v1.29.15%2Brke2r1/rke2-images-multus.linux-arm64.tar.gz", - "sha256": "49d1914afe109bd6b1e5c56435cb3cd4ed79ae4688f11ade33b37f4e9a592f77" - }, - "images-multus-linux-arm64-tar-zst": { - "url": "https://github.com/rancher/rke2/releases/download/v1.29.15%2Brke2r1/rke2-images-multus.linux-arm64.tar.zst", - "sha256": "f14ab45b4d315ea27787f4741a0eb4bc0bff7a9ecb498da5694ce991097becd8" - }, - "images-vsphere-linux-amd64-tar-gz": { - "url": "https://github.com/rancher/rke2/releases/download/v1.29.15%2Brke2r1/rke2-images-vsphere.linux-amd64.tar.gz", - "sha256": "3ce2832234efde4dfc61d74debb380ac245ec9828aa7613e8ff9204207038069" - }, - "images-vsphere-linux-amd64-tar-zst": { - "url": "https://github.com/rancher/rke2/releases/download/v1.29.15%2Brke2r1/rke2-images-vsphere.linux-amd64.tar.zst", - "sha256": "b182062f8eff3e71d6e8afea8b5e2cbadfa3d02d092744cd05673803cb464746" - } -} diff --git a/pkgs/applications/networking/cluster/rke2/1_29/versions.nix b/pkgs/applications/networking/cluster/rke2/1_29/versions.nix deleted file mode 100644 index 862a51b7aabd..000000000000 --- a/pkgs/applications/networking/cluster/rke2/1_29/versions.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ - rke2Version = "1.29.15+rke2r1"; - rke2Commit = "c228232895f83b6c3e17a9741e0c8d8e4439894d"; - rke2TarballHash = "sha256-ZvujSxuTsM6oBNEehQSMmCkbSTsp8sBZd00vwJGx5Lk="; - rke2VendorHash = "sha256-PhJgHvVCZAxWK78cn0pURC/Oy63/V41k0ZFn4sveCPY="; - k8sImageTag = "v1.29.15-rke2r1-build20250312"; - etcdVersion = "v3.5.19-k3s1-build20250306"; - pauseVersion = "3.6"; - ccmVersion = "v1.29.10-0.20241016053521-9510ac25fefb-build20241016"; - dockerizedVersion = "v1.29.15-rke2r1"; - imagesVersions = with builtins; fromJSON (readFile ./images-versions.json); -} diff --git a/pkgs/applications/networking/cluster/rke2/default.nix b/pkgs/applications/networking/cluster/rke2/default.nix index 264770a242af..31fadb41ac29 100644 --- a/pkgs/applications/networking/cluster/rke2/default.nix +++ b/pkgs/applications/networking/cluster/rke2/default.nix @@ -5,16 +5,6 @@ let extraArgs = builtins.removeAttrs args [ "callPackage" ]; in rec { - rke2_1_29 = common ( - (import ./1_29/versions.nix) - // { - updateScript = [ - ./update-script.sh - "29" - ]; - } - ) extraArgs; - rke2_1_30 = common ( (import ./1_30/versions.nix) // { diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 41fd8594257b..88a228dfcf65 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -99,13 +99,13 @@ "vendorHash": "sha256-YIn8akPW+DCVF0eYZxsmJxmrJuYhK4QLG/uhmmrXd4c=" }, "auth0": { - "hash": "sha256-85U2EFC8defpag89zssO4nd5JovdwkyyobgH1t85/jY=", + "hash": "sha256-QYP/VyMp4veJenA/bTlEGnKAc1NB+pVWJa7jPieOZ9A=", "homepage": "https://registry.terraform.io/providers/auth0/auth0", "owner": "auth0", "repo": "terraform-provider-auth0", - "rev": "v1.20.1", + "rev": "v1.21.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-eMnWzin7lTMHQ0NEvt8KiMqJz+ihxKBwXniAyWkkqd0=" + "vendorHash": "sha256-AmRdgQVREU+uN8FFMAogXVdaEG0DMPaBYqKW0yJWJJM=" }, "avi": { "hash": "sha256-e8yzc3nRP0ktcuuKyBXydS9NhoceYZKzJcqCWOfaPL0=", @@ -144,11 +144,11 @@ "vendorHash": null }, "azurerm": { - "hash": "sha256-dd/PAMkdnVlcjOk8Q5i4TsfmSWJgG25FgI/lF0OrVXI=", + "hash": "sha256-NghMNvsCRtgZjOTnnSYGn53KhP8ZY0hizkgEmI/+P6A=", "homepage": "https://registry.terraform.io/providers/hashicorp/azurerm", "owner": "hashicorp", "repo": "terraform-provider-azurerm", - "rev": "v4.31.0", + "rev": "v4.32.0", "spdx": "MPL-2.0", "vendorHash": null }, @@ -207,22 +207,22 @@ "vendorHash": "sha256-/dOiXO2aPkuZaFiwv/6AXJdIADgx8T7eOwvJfBBoqg8=" }, "btp": { - "hash": "sha256-c2nYUsjErdjxk6IyqpcDxExLLNjxh5A7Mq7WW2BWviw=", + "hash": "sha256-mZBNo3AoVVEOOzR9CL0DROQAao3czjwMfXs5LkKI8JM=", "homepage": "https://registry.terraform.io/providers/SAP/btp", "owner": "SAP", "repo": "terraform-provider-btp", - "rev": "v1.12.0", + "rev": "v1.13.0", "spdx": "Apache-2.0", - "vendorHash": "sha256-arLGaa/o9X0MYg/qIl6qhpBqcduu5Bu06FteR5KGSPw=" + "vendorHash": "sha256-JXziajQcCKckcCPSxElgQ7DAtoDlNIVgMce9brcgGDw=" }, "buildkite": { - "hash": "sha256-u2BkD6h12drlz6MQIjoi/EFSj7l1dBWBjHVSmL+hB4g=", + "hash": "sha256-g26NUMbi2h6Igm39kpcJP+ZpynOoFsiwQikyfu59K88=", "homepage": "https://registry.terraform.io/providers/buildkite/buildkite", "owner": "buildkite", "repo": "terraform-provider-buildkite", - "rev": "v1.19.0", + "rev": "v1.20.0", "spdx": "MIT", - "vendorHash": "sha256-bhPpFPn1hdpSJYTvO1HWTrFRBvcm8gIDmMEGOaFjM6c=" + "vendorHash": "sha256-m0ephwJ7+yode77GPHszJwhxtAZwDX5ZXLAYlSRaSjk=" }, "ccloud": { "hash": "sha256-Dpx0eugcHCJV8GNPqjxx4P9ohgJgB10DTnHr+CeN/iQ=", @@ -252,13 +252,13 @@ "vendorHash": null }, "cloudamqp": { - "hash": "sha256-jB2tR53z9/ZHe/oI1TH4tQ0YrJmK7HiFCSzeI3brnRI=", + "hash": "sha256-v+hbbmGAbCY+DlgQPzZmiknQ/88icn6ja6UIecoMDbU=", "homepage": "https://registry.terraform.io/providers/cloudamqp/cloudamqp", "owner": "cloudamqp", "repo": "terraform-provider-cloudamqp", - "rev": "v1.34.0", + "rev": "v1.35.1", "spdx": "MPL-2.0", - "vendorHash": "sha256-f6sqKzoQAUpCDrpQdMuK1SuLTKrd2PUn/J6VuKxXGZI=" + "vendorHash": "sha256-shRiTPn4A1rmwBnoSlRDfdYuHqSFvL4o6o8vAJutu3Q=" }, "cloudflare": { "hash": "sha256-REHAEG7Ux+Twv0kA13NQpthBdb+LulYm0McquE6gL14=", @@ -363,11 +363,11 @@ "vendorHash": "sha256-quoFrJbB1vjz+MdV+jnr7FPACHuUe5Gx9POLubD2IaM=" }, "digitalocean": { - "hash": "sha256-tj59LvvxDDxfmYfF9rN17KII6QZZOu4ymY7u8XtpSUs=", + "hash": "sha256-uAke0Zds4MERYXz+Ie0pefoVY9HDQ1ewOAU/As03V6g=", "homepage": "https://registry.terraform.io/providers/digitalocean/digitalocean", "owner": "digitalocean", "repo": "terraform-provider-digitalocean", - "rev": "v2.54.0", + "rev": "v2.55.0", "spdx": "MPL-2.0", "vendorHash": null }, @@ -399,20 +399,20 @@ "vendorHash": "sha256-0axKIqF1t4AW1PPi+fHfsFQLRrjhpsloQIZ9clR+8Gc=" }, "docker": { - "hash": "sha256-A2XFSVWpEZs6vmJb5i9dDqkIIlwoGLgbFxXUnFKgtMo=", + "hash": "sha256-THMGfpRrPFReRdYusdrJGnUKEUtxy4Pu+HdcceK2FNc=", "homepage": "https://registry.terraform.io/providers/kreuzwerker/docker", "owner": "kreuzwerker", "repo": "terraform-provider-docker", - "rev": "v3.6.1", + "rev": "v3.6.2", "spdx": "MPL-2.0", "vendorHash": "sha256-duHOqjy8AthXuDX63GO3myJ9TJmV0Ts1a8OsbSOGZWI=" }, "doppler": { - "hash": "sha256-TPWHqRpvyk1dtSbQySMOecq0AhN2VlSB+2naPIbvMHI=", + "hash": "sha256-2sgNPQvk0jylCEiZ0Cja54YbmqHSj+AgLANSLMVAqgw=", "homepage": "https://registry.terraform.io/providers/DopplerHQ/doppler", "owner": "DopplerHQ", "repo": "terraform-provider-doppler", - "rev": "v1.17.0", + "rev": "v1.18.0", "spdx": "Apache-2.0", "vendorHash": "sha256-B8mYLd4VdADWoQLWiCM85VQrBfDdlYQ0wkCp9eUBQ4U=" }, @@ -516,20 +516,20 @@ "vendorHash": "sha256-X0vbtUIKYzCeRD/BbMj3VPVAwx6d7gkbHV8j9JXlaFM=" }, "google": { - "hash": "sha256-TSDkXXYkneTsY10WV5cSFzOX04kFdFVHJPgpKt5hBSE=", + "hash": "sha256-HtPhwWobRBB89embUxtUwUabKmtQkeWtR0QEyb4iBYM=", "homepage": "https://registry.terraform.io/providers/hashicorp/google", "owner": "hashicorp", "repo": "terraform-provider-google", - "rev": "v6.37.0", + "rev": "v6.39.0", "spdx": "MPL-2.0", "vendorHash": "sha256-YZI6zhxXU2aABARP6GcTMeU98F4+imbL1vKIEMzsJHM=" }, "google-beta": { - "hash": "sha256-9VjgTc0vCXxPEbuycMbxWdbwnhz/4Clff3GcMZ+zKoc=", + "hash": "sha256-ujeUKkyVKix+H4vROuu5+hjYuPpPBiSseoWHEl4ULPU=", "homepage": "https://registry.terraform.io/providers/hashicorp/google-beta", "owner": "hashicorp", "repo": "terraform-provider-google-beta", - "rev": "v6.38.0", + "rev": "v6.40.0", "spdx": "MPL-2.0", "vendorHash": "sha256-oz4zVv5swFokYCdcJhBE+PLrIOjwszl58Cn0e7hOKmI=" }, @@ -624,11 +624,11 @@ "vendorHash": "sha256-SsEWNIBkgcdTlSrB4hIvRmhMv2eJ2qQaPUmiN09A+NM=" }, "huaweicloud": { - "hash": "sha256-kNXlCtc1x9FWC5edeIv46QWCnDS2ET1Stdzn8WCkCLQ=", + "hash": "sha256-2jZSjDE1WVeGOYhjtF049Cl3ZusXWo6rwWAVt3ib/B4=", "homepage": "https://registry.terraform.io/providers/huaweicloud/huaweicloud", "owner": "huaweicloud", "repo": "terraform-provider-huaweicloud", - "rev": "v1.74.1", + "rev": "v1.75.3", "spdx": "MPL-2.0", "vendorHash": null }, @@ -651,13 +651,13 @@ "vendorHash": null }, "ibm": { - "hash": "sha256-5AYTRuZ9hhi5AgAT3woHTv3vMmqUUXUjZKZjaBRf9H8=", + "hash": "sha256-ivy9RuScV4MxrJVBtZoX3wfnwva17FRpkspG5KvhGkQ=", "homepage": "https://registry.terraform.io/providers/IBM-Cloud/ibm", "owner": "IBM-Cloud", "repo": "terraform-provider-ibm", - "rev": "v1.78.4", + "rev": "v1.79.1", "spdx": "MPL-2.0", - "vendorHash": "sha256-ug5TAuOJCk2wmhhwLQLYXVL3xxODUum6oEK/8A6ojIA=" + "vendorHash": "sha256-lphCy2RTpA0kwjlr52VfXUqNH7IKB36ublRqjRCpXDg=" }, "icinga2": { "hash": "sha256-Y/Oq0aTzP+oSKPhHiHY9Leal4HJJm7TNDpcdqkUsCmk=", @@ -696,11 +696,11 @@ "vendorHash": "sha256-ctd9V5EXL0c9b4aJ47nfjhqCMTewL55IkjkQ39ShoUk=" }, "kafka": { - "hash": "sha256-RZwag424lXwI1GR/kFOcpv+huaYMyG4jcFjkhvA0Nlc=", + "hash": "sha256-NiAbUZ+ZMRLXm/WLrfj0ZjbPft4jZhdwLBhFIE4PjeI=", "homepage": "https://registry.terraform.io/providers/Mongey/kafka", "owner": "Mongey", "repo": "terraform-provider-kafka", - "rev": "v0.10.2", + "rev": "v0.10.3", "spdx": "MIT", "vendorHash": "sha256-57V/0JIsq+pqbWmg3iZ0s8t8iD2Xtipy08I/+ZJCkNc=" }, @@ -822,13 +822,13 @@ "vendorHash": "sha256-QxbZv6YMa5/I4bTeQBNdmG3EKtLEmstnH7HMiZzFJrI=" }, "migadu": { - "hash": "sha256-WD9i0i8Jkl3aROcWHflc+FP4xOtBMsRvaHM+V40+Me0=", + "hash": "sha256-KBTWlhi42EZISHNX7tqJ0x9rCNWoNIoDehR5vAGdS4A=", "homepage": "https://registry.terraform.io/providers/metio/migadu", "owner": "metio", "repo": "terraform-provider-migadu", - "rev": "2025.5.22", + "rev": "2025.6.12", "spdx": "0BSD", - "vendorHash": "sha256-c3rg9n3JL14kEZJTe3oIPiNM7AvG1QqtTnpX0P0JuMY=" + "vendorHash": "sha256-ryAkyS70J4yZIsTLSXfeIX+bRsh+8XnOUliMJnMhMrU=" }, "minio": { "hash": "sha256-loUcdsr5zFoOXIu0CLYKvutIVLYG0+DsuwPCxAeVMF8=", @@ -867,13 +867,13 @@ "vendorHash": null }, "newrelic": { - "hash": "sha256-jmvCEJM+hcYToawCcUasWN+gMY9rw5Niw8YT28hk3aw=", + "hash": "sha256-8yHgn2TQRgW4QMnkhG1L4y+40a/V4zJOXMqJoJsULlU=", "homepage": "https://registry.terraform.io/providers/newrelic/newrelic", "owner": "newrelic", "repo": "terraform-provider-newrelic", - "rev": "v3.62.0", + "rev": "v3.62.1", "spdx": "MPL-2.0", - "vendorHash": "sha256-UArO7zOOAlnWzzg+t/IWWuMfRAmauvLO4M7Y/mmdz2k=" + "vendorHash": "sha256-6Ug3PpYCG3f3Q3ftMgoTW/8uXAQZ7vQVl9s8+miQqCY=" }, "nexus": { "hash": "sha256-Lm5CZ+eBDUNIL2KuK/iKc5dTif7P+E9II714vwvYuyU=", @@ -922,22 +922,22 @@ "vendorHash": "sha256-LRIfxQGwG988HE5fftGl6JmBG7tTknvmgpm4Fu1NbWI=" }, "oci": { - "hash": "sha256-aV69aOYkHQwD8JVFC9zD+pV0Wwjx5ZqG1PoP20aED8o=", + "hash": "sha256-byNyMIfebQYBZMO46+F2A4xf8ONy67JI+wgfp1TCs7A=", "homepage": "https://registry.terraform.io/providers/oracle/oci", "owner": "oracle", "repo": "terraform-provider-oci", - "rev": "v7.2.0", + "rev": "v7.4.0", "spdx": "MPL-2.0", "vendorHash": null }, "okta": { - "hash": "sha256-8dFl39q8GTLGFR2O7ZIstA957x6gkAxL0qauXUxVMcI=", + "hash": "sha256-nHeFvCquh+xEAJZxuUmmPYacDpK+uwStGRHCCLhlUm8=", "homepage": "https://registry.terraform.io/providers/okta/okta", "owner": "okta", "repo": "terraform-provider-okta", - "rev": "v4.19.0", + "rev": "v4.20.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-5BkKjne3r3V8T+SkqjfHVEpXXK8sKTYMc23g1EaLoOE=" + "vendorHash": "sha256-XmTIyHZOWgoE3+9KVgv8CY//rc62PSddn2iRTBUdkSs=" }, "oktaasa": { "hash": "sha256-2LhxgowqKvDDDOwdznusL52p2DKP+UiXALHcs9ZQd0U=", @@ -967,22 +967,22 @@ "vendorHash": "sha256-Z8ARwVWhep9qrUpl/B7Gj9Aey07Wtwn1XiLnCirV11M=" }, "openstack": { - "hash": "sha256-7oQ4O76yEF8QKFUHTrwchbShtiG0LAp67MqfIcDLU7o=", + "hash": "sha256-pGNHWhg/1LM1IJYEVLppCJWVzow+j3WPW+H8yWQXMyM=", "homepage": "https://registry.terraform.io/providers/terraform-provider-openstack/openstack", "owner": "terraform-provider-openstack", "repo": "terraform-provider-openstack", - "rev": "v3.1.0", + "rev": "v3.2.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-HQVKblAm8H0Q5pbJdIVSMc5FLi3O9TV475yass6BraY=" + "vendorHash": "sha256-mTWLix4A0GRe7ayHTwU3Jt+DfDKMIKJlt1I6JuL3wXU=" }, "opentelekomcloud": { - "hash": "sha256-v7nJcnVbxwf7khyjlSfVAyz0ZZEuIJNjjXpsIynNPZk=", + "hash": "sha256-PPrZAxJxLiR3LLEAtWucdWXI5qvsmOVfwCDCtjWuu/A=", "homepage": "https://registry.terraform.io/providers/opentelekomcloud/opentelekomcloud", "owner": "opentelekomcloud", "repo": "terraform-provider-opentelekomcloud", - "rev": "v1.36.39", + "rev": "v1.36.40", "spdx": "MPL-2.0", - "vendorHash": "sha256-rTyx5FuBzO4RZ3IefsWaVTSW5YtTBT95ZtP8aZJgoD8=" + "vendorHash": "sha256-04ijE9Levq9ZsaEfn1O1iueDt15boOKlBqnX4iJ1EM4=" }, "openwrt": { "hash": "sha256-z78IceF2VJtiQpVqC+rTUDsph73LZawIK+az3rEhljA=", @@ -1003,11 +1003,11 @@ "vendorHash": null }, "ovh": { - "hash": "sha256-DTMVVBvQZijVtbrIrYBvQ5appk4lp5jXKMNTkc3ttHw=", + "hash": "sha256-t8W2rWOIlh0GG2aSR/nKwHuoy9VnU0lq35aJuqAEvsA=", "homepage": "https://registry.terraform.io/providers/ovh/ovh", "owner": "ovh", "repo": "terraform-provider-ovh", - "rev": "v2.3.0", + "rev": "v2.4.0", "spdx": "MPL-2.0", "vendorHash": null }, @@ -1111,13 +1111,13 @@ "vendorHash": "sha256-xo0alLK3fccbKRG5bN1G7orDsP47I3ySAzpZ9O0f2Fg=" }, "rootly": { - "hash": "sha256-2TVqXQYiCMsMQJtZMWtYiPbeOOsPck5Hpu6cmo9ZaIM=", + "hash": "sha256-dnFQVvqvwu2K7Y5NEqwPrGiHKSOKQ4QKW8VSjarbij4=", "homepage": "https://registry.terraform.io/providers/rootlyhq/rootly", "owner": "rootlyhq", "repo": "terraform-provider-rootly", - "rev": "v2.27.2", + "rev": "v3.0.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-KezwDRmQQj0MnmsVlrX1OhNG6oMgw8fCxX5VFGdUynw=" + "vendorHash": "sha256-EZbYkyeQdroVJj3a7T7MICU4MSimB+ZqI2Yg9PNUcV0=" }, "routeros": { "hash": "sha256-ciQsBvpX6gWnDPt9O1SGrVVgNCvAHBPCaLfVlPxrSAY=", @@ -1138,13 +1138,13 @@ "vendorHash": null }, "sakuracloud": { - "hash": "sha256-KrzqIAK6ImUW22Iik97R4HARoXN4lG6AquitLjCqS/A=", + "hash": "sha256-HGG6Tf1MR7V+AAo1ic9H1xWChSFiiEKfUN0D4QFUNfU=", "homepage": "https://registry.terraform.io/providers/sacloud/sakuracloud", "owner": "sacloud", "repo": "terraform-provider-sakuracloud", - "rev": "v2.26.1", + "rev": "v2.27.0", "spdx": "Apache-2.0", - "vendorHash": "sha256-Ry791h5AuYP03nex9nM8X5Mk6PeL7hNDbFyVRvVPJNE=" + "vendorHash": "sha256-dW3qlNRcmsuWidBYPmFpjBi2u+oT67UPJELAeALq1FY=" }, "scaleway": { "hash": "sha256-rAbCLMA4u+bOXbmGDdM5wHIzPytwuX8HTOUgYQwLAdg=", @@ -1165,13 +1165,13 @@ "vendorHash": null }, "selectel": { - "hash": "sha256-NhU+FB7gZgeBJuFSsioQJlrN0yk/T9hwYhN3fqe+eoA=", + "hash": "sha256-n9/lmrfjILQpqPan379cwrUc7zjbiGhxz1JuL8jSCcY=", "homepage": "https://registry.terraform.io/providers/selectel/selectel", "owner": "selectel", "repo": "terraform-provider-selectel", - "rev": "v6.4.1", + "rev": "v6.5.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-ESoNG3a0JblNnQJHMlnvbNAYWirSqfPabtkZnDMeMp0=" + "vendorHash": "sha256-tOQkoTt8NTPyyONWY3JKtHdnfgGKqImH4jp588hrMiE=" }, "sentry": { "hash": "sha256-/rulw49DcAi5tk4j6XpvlG0X6HJgcMI+zotKsFU2MmI=", @@ -1192,13 +1192,13 @@ "vendorHash": "sha256-MIO0VHofPtKPtynbvjvEukMNr5NXHgk7BqwIhbc9+u0=" }, "signalfx": { - "hash": "sha256-VDBnZMvXEDjyDCC0fbm+kppglY9W83re6ABBsX6Ur+M=", + "hash": "sha256-8G+IYK3vt6kyNtccmuz0OtTWvZPH8p9kWSY0guAdASo=", "homepage": "https://registry.terraform.io/providers/splunk-terraform/signalfx", "owner": "splunk-terraform", "repo": "terraform-provider-signalfx", - "rev": "v9.15.0", + "rev": "v9.16.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-2q3IMGzGm7CVuzs+jfU2oUD+NGwck+ny8GwcMnKfU9U=" + "vendorHash": "sha256-1iRf42VxhKvmmasQ3IaPBbLcRmB8SavFXzwXlmFwYfU=" }, "skytap": { "hash": "sha256-JII4czazo6Di2sad1uFHMKDO2gWgZlQE8l/+IRYHQHU=", @@ -1237,11 +1237,11 @@ "vendorHash": "sha256-K/44Jio2a1kKYuyI6o/5wwMNRaZvx9zrNEC85v56xdU=" }, "spacelift": { - "hash": "sha256-AptuuQV+uswWPU8ltjqSWqkPWTglPrrUkeVafD+RQ0U=", + "hash": "sha256-lBt1ZtQ5pxX/t4b264LzQwajXDozE9veYOOV3lhfTZQ=", "homepage": "https://registry.terraform.io/providers/spacelift-io/spacelift", "owner": "spacelift-io", "repo": "terraform-provider-spacelift", - "rev": "v1.24.0", + "rev": "v1.25.0", "spdx": "MIT", "vendorHash": "sha256-Tft0YjNUtwDH0SliSseXHqMKB2yzQTsAG1Wfc5ihpvE=" }, @@ -1318,20 +1318,20 @@ "vendorHash": "sha256-V0dK5G3zheyyqexBud+9Hg9ExYI/9X1wuYx+lEn6pVg=" }, "temporalcloud": { - "hash": "sha256-hLY9C0df1h8JCwuXBPxemNurQR57oGXAq2v7NbAyZnU=", + "hash": "sha256-nm7YQNoVTy53GpXIu2gQhIblvZMIdCyDcXK9aCL+Xfg=", "homepage": "https://registry.terraform.io/providers/temporalio/temporalcloud", "owner": "temporalio", "repo": "terraform-provider-temporalcloud", - "rev": "v0.7.1", + "rev": "v0.8.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-HBdvXWZNPPAqPEKodwG0ZeiJOhfJHe9HRCcuozKpwVs=" + "vendorHash": "sha256-Sqi4MLQTF5n3AZyEkaI03KhFvgy34ROqbd8Rx1N6/oY=" }, "tencentcloud": { - "hash": "sha256-JMLuH/NDCNiByLh65NQH/goaN7/J7MGfsUNKfHJ3LFQ=", + "hash": "sha256-3r3DCZ1bmoBieF0BQ37ai3UxzxWbf5orJ4mvh8aeUhQ=", "homepage": "https://registry.terraform.io/providers/tencentcloudstack/tencentcloud", "owner": "tencentcloudstack", "repo": "terraform-provider-tencentcloud", - "rev": "v1.81.197", + "rev": "v1.81.199", "spdx": "MPL-2.0", "vendorHash": null }, @@ -1427,13 +1427,13 @@ "vendorHash": "sha256-eCIJ2w8DjmUCGp0VbliLaQ6C29mJhl6Spya06Xyiqd4=" }, "venafi": { - "hash": "sha256-9/rFRZz5KqfUnX3/Dp8CVfGOtlEVu6HuYsUT2WVAPg0=", + "hash": "sha256-A3/uphCYgHtYgtCuHQUPIOeiUOJ23p9Oy6NkGUGPzXw=", "homepage": "https://registry.terraform.io/providers/Venafi/venafi", "owner": "Venafi", "repo": "terraform-provider-venafi", - "rev": "v0.22.1", + "rev": "v0.22.2", "spdx": "MPL-2.0", - "vendorHash": "sha256-OUQgisFi8ZR/Hv70pKB5Kwdk+Rd/Ll6qx3vKaX4NNtA=" + "vendorHash": "sha256-s6D5cWrPtPckFVbJkAA7WifpJY+mA4YvN55xUFdBb1I=" }, "vinyldns": { "hash": "sha256-ow+o9fRw/t2i4N65zuVFbfPb68ZUcJfNB5ARYqRTsIs=", diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix index d2a4fc33341f..fb96aaca627a 100644 --- a/pkgs/applications/networking/cluster/terraform/default.nix +++ b/pkgs/applications/networking/cluster/terraform/default.nix @@ -194,8 +194,8 @@ rec { mkTerraform = attrs: pluggable (generic attrs); terraform_1 = mkTerraform { - version = "1.12.1"; - hash = "sha256-ikpSkcP4zt91Lf9gziytlZ4P27A0IP2qL+H2Lp9Cspg="; + version = "1.12.2"; + hash = "sha256-ilQ1rscGD66OT6lHsBgWELayC24B2D7l6iH6vtvqzFI="; vendorHash = "sha256-zWNLIurNP5e/AWr84kQCb2+gZIn6EAsuvr0ZnfSq7Zw="; patches = [ ./provider-path-0_15.patch ]; passthru = { diff --git a/pkgs/applications/networking/cluster/timoni/default.nix b/pkgs/applications/networking/cluster/timoni/default.nix index a9c2f1dd153b..beb785f8dcfc 100644 --- a/pkgs/applications/networking/cluster/timoni/default.nix +++ b/pkgs/applications/networking/cluster/timoni/default.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "timoni"; - version = "0.25.0"; + version = "0.25.1"; src = fetchFromGitHub { owner = "stefanprodan"; repo = "timoni"; rev = "v${version}"; - hash = "sha256-Obx8I8n2UY6sTHKQ0qFNQ50XI+ajrbQtjQ7PCVwrSTI="; + hash = "sha256-iTVTlxMCLHTXQj3I+nDHhE5w4fDaaM7p52wuvZY2uy4="; }; - vendorHash = "sha256-hCvFe27DdX/pAeyfSEDx5oiLEZjhldOVDz6ElsUPjJs="; + vendorHash = "sha256-JFJZguXpPrLbIC5lzvcOMDv5n2K7OoNXKJvWWcNOzKc="; subPackages = [ "cmd/timoni" ]; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/applications/networking/discordo/default.nix b/pkgs/applications/networking/discordo/default.nix index fe86c17638ca..80b35ac186fc 100644 --- a/pkgs/applications/networking/discordo/default.nix +++ b/pkgs/applications/networking/discordo/default.nix @@ -10,16 +10,16 @@ buildGoModule rec { pname = "discordo"; - version = "0-unstable-2025-06-03"; + version = "0-unstable-2025-06-12"; src = fetchFromGitHub { owner = "ayn2op"; repo = pname; - rev = "23be8cd23591d3076712dd6c7c0b9e20571e1545"; - hash = "sha256-hbgCxu48c+glnLN8jEAzFrOwxYxAdap3TaqKKtYtzqE="; + rev = "ea5abfdcd67298086a6eb8fc84b7b622b6ab3496"; + hash = "sha256-Srm1nEiY4DiZB2Ogj1jzvB+9pmJRcBYLvlikANa7FHM="; }; - vendorHash = "sha256-Kx0dI53ordvsSY0GCp6H+1XiSBAHXLbcg0tQJVa86uw="; + vendorHash = "sha256-4iBMRcnOWCGz6QkYY7mmgKFw6c5LR25sZaRVm7wreOM="; env.CGO_ENABLED = 0; diff --git a/pkgs/applications/networking/instant-messengers/franz/generic.nix b/pkgs/applications/networking/instant-messengers/franz/generic.nix index 9c9731455daf..f7e6833ec59d 100644 --- a/pkgs/applications/networking/instant-messengers/franz/generic.nix +++ b/pkgs/applications/networking/instant-messengers/franz/generic.nix @@ -126,7 +126,7 @@ stdenv.mkDerivation ( wrapProgramShell $out/opt/${name}/${pname} \ --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDependencies}" \ --suffix PATH : ${xdg-utils}/bin \ - --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations,WebRTCPipeWireCapturer --enable-wayland-ime=true}}" \ "''${gappsWrapperArgs[@]}" ''; } diff --git a/pkgs/applications/networking/instant-messengers/jami/default.nix b/pkgs/applications/networking/instant-messengers/jami/default.nix index 18555d053545..01b661171aca 100644 --- a/pkgs/applications/networking/instant-messengers/jami/default.nix +++ b/pkgs/applications/networking/instant-messengers/jami/default.nix @@ -68,14 +68,14 @@ stdenv.mkDerivation rec { pname = "jami"; - version = "20250523.0"; + version = "20250613.0"; src = fetchFromGitLab { domain = "git.jami.net"; owner = "savoirfairelinux"; repo = "jami-client-qt"; rev = "stable/${version}"; - hash = "sha256-uc2IcSAaCTkTMwjhgMRVdWsStLkOO5dPU2Hx+cYUUL0="; + hash = "sha256-+6DTbYq50UPSQ+KipXhWje1bZs64wZrS37z2Na1RtN8="; fetchSubmodules = true; }; @@ -123,14 +123,14 @@ stdenv.mkDerivation rec { dhtnet = stdenv.mkDerivation { pname = "dhtnet"; - version = "unstable-2025-03-19"; + version = "unstable-2025-05-26"; src = fetchFromGitLab { domain = "git.jami.net"; owner = "savoirfairelinux"; repo = "dhtnet"; - rev = "7e7359ff5dadd9aaf6d341486f3ee41029f645e1"; - hash = "sha256-sT7OgYUBnO+HfIeCaR3lmoFJ9qE1Y5TEK1/KHzhvK7M="; + rev = "6c5ee3a21556d668d047cdedb5c4b746c3c6bdb2"; + hash = "sha256-uweYSEysVMUC7DhI9BhS1TDZ6ZY7WQ9JS3ZF9lKA4Fo="; }; postPatch = '' diff --git a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix index d33cdaf0e5c7..642f6c22de4f 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix @@ -8,6 +8,10 @@ qtimageformats, qtsvg, qtwayland, + kimageformats, + libavif, + libheif, + libjxl, wrapGAppsHook3, wrapQtAppsHook, glib-networking, @@ -35,8 +39,14 @@ stdenv.mkDerivation (finalAttrs: { qtsvg ] ++ lib.optionals stdenv.hostPlatform.isLinux [ + kimageformats qtwayland ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libavif + libheif + libjxl + ] ++ lib.optionals withWebkit [ glib-networking ]; diff --git a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/unwrapped.nix b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/unwrapped.nix index 4159be1e1092..c7b7814e2f32 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/unwrapped.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/unwrapped.nix @@ -10,12 +10,7 @@ python3, tdlib, tg_owt ? callPackage ./tg_owt.nix { inherit stdenv; }, - libavif, - libheif, - libjxl, - kimageformats, qtbase, - qtimageformats, qtsvg, qtwayland, kcoreaddons, @@ -51,14 +46,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "telegram-desktop-unwrapped"; - version = "5.15.2"; + version = "5.15.4"; src = fetchFromGitHub { owner = "telegramdesktop"; repo = "tdesktop"; rev = "v${finalAttrs.version}"; fetchSubmodules = true; - hash = "sha256-T+gzNY3jPfCWjV9yFEGlz8kNGeAioyDUD2qazM/j05I="; + hash = "sha256-C7mUV/Jc0OJnVXxRGVx/l2T7APOsY05t5MLW8laIwnA="; }; postPatch = lib.optionalString stdenv.hostPlatform.isLinux '' @@ -86,7 +81,6 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ qtbase - qtimageformats qtsvg lz4 xxHash @@ -102,17 +96,6 @@ stdenv.mkDerivation (finalAttrs: { boost ada (tdlib.override { tde2eOnly = true; }) - # even though the last 3 dependencies are already in `kimageformats`, - # because of a logic error in the cmake files, in td 5.15.{1,2} it - # doesn't link when you don't add them explicitly - # - # this has been fixed - # (https://github.com/desktop-app/cmake_helpers/pull/413), remove next - # release - kimageformats - libavif - libheif - libjxl ] ++ lib.optionals stdenv.hostPlatform.isLinux [ protobuf diff --git a/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix b/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix index 443738ff08a1..6e99039b5003 100644 --- a/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix +++ b/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix @@ -48,7 +48,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/wee-slack/wee-slack"; license = licenses.mit; - maintainers = with maintainers; [ willibutz ]; + maintainers = [ ]; description = '' A WeeChat plugin for Slack.com. Synchronizes read markers, provides typing notification, search, etc.. ''; diff --git a/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix b/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix index 2c4061da23bb..6213da291bd8 100644 --- a/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix +++ b/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix @@ -46,11 +46,11 @@ stdenv.mkDerivation rec { pname = "evolution"; - version = "3.56.1"; + version = "3.56.2"; src = fetchurl { url = "mirror://gnome/sources/evolution/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - hash = "sha256-39/lmRCdI5vFbajpYlssGVcGegGujv81BmOj2q50vRY="; + hash = "sha256-ff3JrrLasybav9wfhXfE7MEjoS2gAS+MZKcmBlo8Cys="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix index bf1c439bbc3b..a00eb83a2a5e 100644 --- a/pkgs/applications/networking/mailreaders/notmuch/default.nix +++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix @@ -190,7 +190,7 @@ stdenv.mkDerivation (finalAttrs: { PLUG=$vim/share/vim-plugins/notmuch/plugin/notmuch.vim cat >> $PLUG << EOF let \$GEM_PATH=\$GEM_PATH . ":${finalAttrs.passthru.gemEnv}/${ruby.gemPath}" - let \$RUBYLIB=\$RUBYLIB . ":$vim/${ruby.libPath}/${ruby.system}" + let \$RUBYLIB=\$RUBYLIB . ":$out/${ruby.libPath}/${ruby.system}" if has('nvim') EOF for gem in ${finalAttrs.passthru.gemEnv}/${ruby.gemPath}/gems/*/lib; do diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix index f86e352bcc6a..a94c451aa0e7 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix @@ -104,7 +104,6 @@ stdenv.mkDerivation { passthru.updateScript = import ./../../browsers/firefox-bin/update.nix { inherit pname - lib writeScript xidel coreutils @@ -116,7 +115,6 @@ stdenv.mkDerivation { versionSuffix ; baseName = "thunderbird"; - channel = "release"; basePath = "pkgs/applications/networking/mailreaders/thunderbird-bin"; baseUrl = "http://archive.mozilla.org/pub/thunderbird/releases/"; }; diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_esr_sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_esr_sources.nix index 7758d6a5d882..f4b3e1e046ab 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_esr_sources.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_esr_sources.nix @@ -1,1193 +1,1193 @@ { - version = "128.11.0esr"; + version = "128.11.1esr"; sources = [ { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/af/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/af/thunderbird-128.11.1esr.tar.bz2"; locale = "af"; arch = "linux-x86_64"; - sha256 = "b0a8ffa0b3a489f5c4121aaef34b51b13eb3802a77f3561601152796031a2faa"; + sha256 = "4c5d8bfcfa05423efd1f4d0fd0848ff72ab9fd31ff3e9eb11f3685c5dfb68e04"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/ar/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/ar/thunderbird-128.11.1esr.tar.bz2"; locale = "ar"; arch = "linux-x86_64"; - sha256 = "1309c22fed0408f03fa7121de214625f622b74ada6fef86a289f7d660c6e17ea"; + sha256 = "c40f9151efc1a580fd822ed0eaadb35ce56df7f9ec52941eb01252602f0f0d54"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/ast/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/ast/thunderbird-128.11.1esr.tar.bz2"; locale = "ast"; arch = "linux-x86_64"; - sha256 = "6c97500878038dfe1823ef6c10295fb17bb54d86552e11964fb48db3ee1c1f16"; + sha256 = "7a519cee82ec611073e8b0ae4b24ca59b21cccd46e795d699330fb87f65ed1eb"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/be/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/be/thunderbird-128.11.1esr.tar.bz2"; locale = "be"; arch = "linux-x86_64"; - sha256 = "7c936e7ac0c2ece4ac5bf8529d327ddd86dd995bcb9f6b0aa0f538d7a61cb440"; + sha256 = "eca443f0501b7441c71c71f88b0710dc7c75e28e90819e74b2f920959b30c7bb"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/bg/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/bg/thunderbird-128.11.1esr.tar.bz2"; locale = "bg"; arch = "linux-x86_64"; - sha256 = "73280bd32c41edc38094c3299707c8b2449deba9735d32bf801967203f4e39fc"; + sha256 = "eb8a824f9dc96d6ad19b612969d6643a1f2e90e7898eaf0998bc95c97bc0a0d2"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/br/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/br/thunderbird-128.11.1esr.tar.bz2"; locale = "br"; arch = "linux-x86_64"; - sha256 = "200bb74fce955a7e7fe1ae03d469e662cc885e76f543f05ad288be7d849042a1"; + sha256 = "5f9fd740cacd732375a65d9afa85447f5ac6d1d3d24303ffd6f5d8c524aadb10"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/ca/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/ca/thunderbird-128.11.1esr.tar.bz2"; locale = "ca"; arch = "linux-x86_64"; - sha256 = "dde2e5e69b7bf24ff0e6cb9bdb202a3f363a568e5636109d339f9e24d62d5c79"; + sha256 = "548b0a8d16cc7ef934974b71fc292f3b25dda8df187d24ad6325a3ec728159e9"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/cak/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/cak/thunderbird-128.11.1esr.tar.bz2"; locale = "cak"; arch = "linux-x86_64"; - sha256 = "d546f73a7d12eb5551a326d4ed90d1236a893522c9ccf636ef98e789f407dfb5"; + sha256 = "b4c6a6ff1826481a6344eb02cd02de7b36c11741e36092e3067ec2f8611e8896"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/cs/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/cs/thunderbird-128.11.1esr.tar.bz2"; locale = "cs"; arch = "linux-x86_64"; - sha256 = "d72847a0cd7511bf954425b74f64190aac603577f0438cd86504f0e73e99470d"; + sha256 = "5ed093659df290708a4c5491a735cfacd48b05c0c3ac12fb5b4866bafe88ed7f"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/cy/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/cy/thunderbird-128.11.1esr.tar.bz2"; locale = "cy"; arch = "linux-x86_64"; - sha256 = "27e198634bcee4eb9a048537caac55294cd08da193e9d4db6237173ce696b2ca"; + sha256 = "faaed9ba9c8c77d5746fb2281b909fead2a9c4bf22693228540fc706c5263d98"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/da/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/da/thunderbird-128.11.1esr.tar.bz2"; locale = "da"; arch = "linux-x86_64"; - sha256 = "bfdcec29a1b0f512f5183b8ea3a3dde0de5e31c0a289108365ef208c641c57ac"; + sha256 = "4f45cbc3ecff2e608c210ae2cb9ea1cdbd4a31a7133044b7e37e0fe3d51e1dd0"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/de/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/de/thunderbird-128.11.1esr.tar.bz2"; locale = "de"; arch = "linux-x86_64"; - sha256 = "13b8cdc1bb772de898caf376c89da74f75cf2f4040a3cda858f0f88af3c8eff8"; + sha256 = "00f55afea34eace46798661c3f4fd15deb5fb23f6fce595af15a8628e81fce74"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/dsb/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/dsb/thunderbird-128.11.1esr.tar.bz2"; locale = "dsb"; arch = "linux-x86_64"; - sha256 = "db534420d5fd292849e9f54ef9bf0755dd301a04b2700d2bb2ac8d4b6fd6ddc7"; + sha256 = "5cefcd091aaab2e2d7dff6215bb32cc750f59c245688b67908d8350ea4c6aa8f"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/el/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/el/thunderbird-128.11.1esr.tar.bz2"; locale = "el"; arch = "linux-x86_64"; - sha256 = "3ddda65156961513f393c4bf13a679d5c878427793ed5c18d6b9b9cbfddd64ac"; + sha256 = "09fb56913dcf3b5a4a5aac77aec83d2981211dd12160382e6de6f8de08521419"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/en-CA/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/en-CA/thunderbird-128.11.1esr.tar.bz2"; locale = "en-CA"; arch = "linux-x86_64"; - sha256 = "a32fe87536fdb2537170abafe84ea860c2ab66bf247db9529b5029711c951198"; + sha256 = "48c1fef2388352fed9a4aca79bf8b08e45a5de7bb8f0c14ce7024559f5ade487"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/en-GB/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/en-GB/thunderbird-128.11.1esr.tar.bz2"; locale = "en-GB"; arch = "linux-x86_64"; - sha256 = "450afd730337f4bde982dded28ec0434996e3734a1b93ac93d981ae299af5349"; + sha256 = "7d58ff808050a56f3d15429926947909a85a08b918f5c998d1b3dbbb92fa20b6"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/en-US/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/en-US/thunderbird-128.11.1esr.tar.bz2"; locale = "en-US"; arch = "linux-x86_64"; - sha256 = "de6d32c96c6c3b99c0f35f6f38f08079d534a5b7f2ef38cc8cf1f61549885274"; + sha256 = "a9ce7e6d976fcb6f666ac8bbda0341eb88325de92d46cbf650402014cc94cc1d"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/es-AR/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/es-AR/thunderbird-128.11.1esr.tar.bz2"; locale = "es-AR"; arch = "linux-x86_64"; - sha256 = "164c540d9e275860e5503982b3bda20d840be9728b8629c943a5fb9084168625"; + sha256 = "4a0d95b1eed90999ab1a991cb485004955d6fa657f0606cde3836bda436f624b"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/es-ES/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/es-ES/thunderbird-128.11.1esr.tar.bz2"; locale = "es-ES"; arch = "linux-x86_64"; - sha256 = "10a77813766ff14ad64d9317b9bb19877d135ab3e184a56516b79a524bf77c38"; + sha256 = "f566a2f28b45d7babac97c1fd5e91ecd613493f62a6bb27e6f28f2f63dd05b83"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/es-MX/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/es-MX/thunderbird-128.11.1esr.tar.bz2"; locale = "es-MX"; arch = "linux-x86_64"; - sha256 = "9d2c4fac454703423a6bb91651bcc47c722a9cca8f739abc87c6bdd6b7523739"; + sha256 = "aa579b2eb5106ed37cc7a80bb9a69cbed691e54bef0c154f350baf9024e96c66"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/et/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/et/thunderbird-128.11.1esr.tar.bz2"; locale = "et"; arch = "linux-x86_64"; - sha256 = "a44d881fc416f588a4bed3303ed07b1fc158adf2bbac3196710d43a30065aa9e"; + sha256 = "0ec388dc71bb31a4729cc34b348f7ef6c1aa456e75958e18f0e1a0aa3487485c"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/eu/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/eu/thunderbird-128.11.1esr.tar.bz2"; locale = "eu"; arch = "linux-x86_64"; - sha256 = "6847b49aa68e9adcf3883163aba6f012e3bc54998f5eec334493841bbbbafcd1"; + sha256 = "c3a0a7a08eefa9b20c7eb0f00b380f3b59019585587ef7a7c7518376426eb717"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/fi/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/fi/thunderbird-128.11.1esr.tar.bz2"; locale = "fi"; arch = "linux-x86_64"; - sha256 = "8c1d9abcb72ec6dcb9b3d40d0311c28613d0a2efb7869ccd6ca04a423bcc1b64"; + sha256 = "48724600f5dbee5d8bf01025fd85fd8605ae3328cbba36a0cf66a5fb36f76215"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/fr/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/fr/thunderbird-128.11.1esr.tar.bz2"; locale = "fr"; arch = "linux-x86_64"; - sha256 = "2ddebc586491cc7448c22fa13585b82a6a13c91d46eaed62f77128d63efe4b67"; + sha256 = "9d046568bdb3914fb039ccd7ed9f7a6eb57ab8ec654be89c4e7a46e7b09e106b"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/fy-NL/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/fy-NL/thunderbird-128.11.1esr.tar.bz2"; locale = "fy-NL"; arch = "linux-x86_64"; - sha256 = "c73d2692e2be3e86253657ae9c98186249b579aee77344c13d9c16d9dc30f1eb"; + sha256 = "1928a51ce10f959ba5774d278e79fa65d3fa9518d9f51f6401bbf48ea9722192"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/ga-IE/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/ga-IE/thunderbird-128.11.1esr.tar.bz2"; locale = "ga-IE"; arch = "linux-x86_64"; - sha256 = "f7f1a13ba8c9e59b9d5a6049d7970d8bcdd407e4823c3c3ed4e118728cd17640"; + sha256 = "d3cb2ae096f89d4435df4f478b3fbd10a48fcb99dd53f3fd9e1ab63fb4fe2075"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/gd/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/gd/thunderbird-128.11.1esr.tar.bz2"; locale = "gd"; arch = "linux-x86_64"; - sha256 = "dd60c63c98dc43e7f6446a3d563550dfe35c3c5350a014ec5127b20453be8a74"; + sha256 = "ed52f16a9c754d7e12bdc7bc6bb5d3c3273352569ac075120426bc54c495d404"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/gl/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/gl/thunderbird-128.11.1esr.tar.bz2"; locale = "gl"; arch = "linux-x86_64"; - sha256 = "b89d7f956c78a8432c0e02e100f286585df6f17af43ba005b8b4aab02e72fbe6"; + sha256 = "b160144e23fb630f522fe0ddcb474c547f7f2c81c566611bd3139ac43cebdf9a"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/he/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/he/thunderbird-128.11.1esr.tar.bz2"; locale = "he"; arch = "linux-x86_64"; - sha256 = "36d5b9928cc3f70882931defe1f87d7430514d358ef7e9214ea145ee096966c9"; + sha256 = "08088bd8e492ee0f0408bd1126b4f0bf1dc713bfea540d0fe646ec1813705e5a"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/hr/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/hr/thunderbird-128.11.1esr.tar.bz2"; locale = "hr"; arch = "linux-x86_64"; - sha256 = "070b2e037e96e338d658b088ea2b39b75799dd5aff1cbab2f942f7142d9bbd5e"; + sha256 = "30a797e5eda3b45cfaec58d4af61ec8ebedccfd8c7f7fcbd875bbb0f5bb1a2bd"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/hsb/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/hsb/thunderbird-128.11.1esr.tar.bz2"; locale = "hsb"; arch = "linux-x86_64"; - sha256 = "5d69c7f93def7bec56afb85990380c6eb76c543af61aad3933493fab60081d0b"; + sha256 = "edec321ce22bbc1f23186acc526afddf7fe1f31542609f176550f2d064cff8c9"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/hu/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/hu/thunderbird-128.11.1esr.tar.bz2"; locale = "hu"; arch = "linux-x86_64"; - sha256 = "6253b1908a8c268f51babd096947d4755bb4eee3d64bc06e9fa9ee44d31c9813"; + sha256 = "b09425982fb5268104f41f6c9f4575c2a0c826c493131da48044f6916a53ff8d"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/hy-AM/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/hy-AM/thunderbird-128.11.1esr.tar.bz2"; locale = "hy-AM"; arch = "linux-x86_64"; - sha256 = "422965b47284186ab870784274ba01526069cb7c14384286e46414e079dee130"; + sha256 = "08db6f74f258e21a23a730a5dd9725c75d1e3125f164f41ba1023fa43bc2ba19"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/id/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/id/thunderbird-128.11.1esr.tar.bz2"; locale = "id"; arch = "linux-x86_64"; - sha256 = "f1a91dbcdda48d90b517d1e1966dff27f16c2e5b3bd9ddec0b026a91f41080af"; + sha256 = "737bdcba6ada377cc8729fb4b5ad115062dca1398949cdffab12bcfbacbbeb09"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/is/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/is/thunderbird-128.11.1esr.tar.bz2"; locale = "is"; arch = "linux-x86_64"; - sha256 = "e2b3127f2b032af7e2cb69377700251b0fc9b26c68258884c9de2236d38ac1d9"; + sha256 = "0b48d0b881d99e91ebb6a62763504fc3fcf941ae3a946b2cff5d557113baea29"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/it/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/it/thunderbird-128.11.1esr.tar.bz2"; locale = "it"; arch = "linux-x86_64"; - sha256 = "a3ef4ccb354fe207d037e0ffe802b334f127dbec84138782316d629f3568a4b1"; + sha256 = "54d0a4980828e74ae8605bc3b61e919376e16c016e140667093b1959249061e4"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/ja/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/ja/thunderbird-128.11.1esr.tar.bz2"; locale = "ja"; arch = "linux-x86_64"; - sha256 = "0a8ce5f4b644287f38279693b7859576961b07d0a6e019b408fe18ff92d386fe"; + sha256 = "ea466164a5b4a86667ae0b6f85b78f729a2ea548b65a84bbca2b8a8836cb21ca"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/ka/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/ka/thunderbird-128.11.1esr.tar.bz2"; locale = "ka"; arch = "linux-x86_64"; - sha256 = "724c39f5f6cc8c3de6fdc80162e2f07d93a661126466a4802f3acad54d10a402"; + sha256 = "93c584f654955026231c4e26c1d25734406044cf53c63d99e1da6ef00ea34c9d"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/kab/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/kab/thunderbird-128.11.1esr.tar.bz2"; locale = "kab"; arch = "linux-x86_64"; - sha256 = "136a6aa0611487b679beb8ac4bbe4512015e5432d7a3c109b23b2ad137cf7138"; + sha256 = "4d155a1e427611c9b7d2e90fa0c03751d45c5273b213b05ec2c3933060cd164a"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/kk/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/kk/thunderbird-128.11.1esr.tar.bz2"; locale = "kk"; arch = "linux-x86_64"; - sha256 = "23c544b09ba1e49f56a8eece84d07b2f683ae7114ffd6e6377bef46591721ece"; + sha256 = "37952480dd1db22937c026ec86353a3fe4d198ea599a8655531867531c26fb57"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/ko/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/ko/thunderbird-128.11.1esr.tar.bz2"; locale = "ko"; arch = "linux-x86_64"; - sha256 = "b17748d3d4306f661cb708b859589c118b3c48b3f833e7d545a0940084454d42"; + sha256 = "2585c98466e0ab121a0218839b25a81933338e6c833d90b7f45a9977b0f5b5cf"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/lt/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/lt/thunderbird-128.11.1esr.tar.bz2"; locale = "lt"; arch = "linux-x86_64"; - sha256 = "4e6bf8b343156935412358b0e362f7de7f66cac00b94824090e8c89966a589c1"; + sha256 = "a8f17cd2ceeae6e8493bc1080a1df398a22606488100e92f9d09734f39f84fc3"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/lv/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/lv/thunderbird-128.11.1esr.tar.bz2"; locale = "lv"; arch = "linux-x86_64"; - sha256 = "9173422a5df58b13f62d74df636555f7e040bc8f3cba600aeb29626b3c989327"; + sha256 = "85dfc8450b35967b78cb3c219d243ff03f3647465aeb255b94a4e7f3478dfc89"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/ms/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/ms/thunderbird-128.11.1esr.tar.bz2"; locale = "ms"; arch = "linux-x86_64"; - sha256 = "6bfb11c4461c4292402fe3217d1be193136a0bd660440b12465c4a3e7255c0fd"; + sha256 = "bbf683df18e06900b76d05e9a0a6db60d6e8626817a2cb416d37028331343ad4"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/nb-NO/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/nb-NO/thunderbird-128.11.1esr.tar.bz2"; locale = "nb-NO"; arch = "linux-x86_64"; - sha256 = "c69773267bbc3dbd6a7d53b66a02b8b6b76f34c899e710a0d446e4a0839531f9"; + sha256 = "a0bc5dbe90b850510c070963ea21380ce65eb3f6926710d1bb012cb50d784132"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/nl/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/nl/thunderbird-128.11.1esr.tar.bz2"; locale = "nl"; arch = "linux-x86_64"; - sha256 = "05458c4137e09c20f9be6e335d346e048d054dd62fb1f2a89500790f14ee7c76"; + sha256 = "fc89316092a335e53fdff912350a17369cfa653576979064f1fd1addd9dd38f4"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/nn-NO/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/nn-NO/thunderbird-128.11.1esr.tar.bz2"; locale = "nn-NO"; arch = "linux-x86_64"; - sha256 = "0055cc060a0934d20e4e264d051ac50eae91455554497c9f5f4ab2aaaa382a76"; + sha256 = "eb686ca02ebd3b2c018697b707763f7b80e0159c3756d1ac3181f5a7071d1cfc"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/pa-IN/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/pa-IN/thunderbird-128.11.1esr.tar.bz2"; locale = "pa-IN"; arch = "linux-x86_64"; - sha256 = "8dda9257c94d3a5753f578c67a8c5c939757bbc812d2f75a02633dc6717a6712"; + sha256 = "e26e3557f2348ddd3763566a2b5dc4897cfba7181c904807b37a73fceed8e3d6"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/pl/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/pl/thunderbird-128.11.1esr.tar.bz2"; locale = "pl"; arch = "linux-x86_64"; - sha256 = "afdd28291f27a634c8b7d0d3fb4d02056973818a4218913a20d4560e8b532fa3"; + sha256 = "ffdd0668cc1f94ec3ee99dace3cebdc9143be05b7931e7b3d75a11134f410063"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/pt-BR/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/pt-BR/thunderbird-128.11.1esr.tar.bz2"; locale = "pt-BR"; arch = "linux-x86_64"; - sha256 = "496b95963b9949a7009d2416837aac60523fe53ddb07dede29a60680532f0f0e"; + sha256 = "994b3e8fa530b4d1d5333dec0497d393223b26774ec8e6794308a15240fc8a39"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/pt-PT/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/pt-PT/thunderbird-128.11.1esr.tar.bz2"; locale = "pt-PT"; arch = "linux-x86_64"; - sha256 = "ab60938e6f28fee805d23d739d52b003ee9b94ad2648d917cc8dcf283ac59980"; + sha256 = "ead36dc368cbf288100e63c1a23a14eed9821ebaad5e53d485a96640cf8c9488"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/rm/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/rm/thunderbird-128.11.1esr.tar.bz2"; locale = "rm"; arch = "linux-x86_64"; - sha256 = "4ff61809a1e3fc19e415d11c98eb6cfd6f94d8246de3d4d736612820a5461aff"; + sha256 = "32e966ffc3c1353369d498b4dd668726c92b05cd8fa875844b35c55eea24ffbd"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/ro/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/ro/thunderbird-128.11.1esr.tar.bz2"; locale = "ro"; arch = "linux-x86_64"; - sha256 = "a4debb5cb3782c674f1fe48064fd761ae80d15388fbcc0303ee8252d7c6a8ef7"; + sha256 = "d3e6ee59b0fc83d40e3eb7fc469ab3cd8fc9ad2607ff1177a54c3774c611399d"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/ru/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/ru/thunderbird-128.11.1esr.tar.bz2"; locale = "ru"; arch = "linux-x86_64"; - sha256 = "fcf137902ef9fbf274bba913277ef04a598f708c0eb5e6e0bcd8ccb26485dd37"; + sha256 = "23036342924ac4327e8e89236c3a9b5d72aa17bf6e6587995879781546ff3030"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/sk/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/sk/thunderbird-128.11.1esr.tar.bz2"; locale = "sk"; arch = "linux-x86_64"; - sha256 = "666e6f9e8fe7d206a356fb577c61c08da96bbe176439e52e855a2c3125cda9b3"; + sha256 = "8531b07c52f9b3c4cc1595728101b541fb18f20ff57210d865bae13edc8f984e"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/sl/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/sl/thunderbird-128.11.1esr.tar.bz2"; locale = "sl"; arch = "linux-x86_64"; - sha256 = "21bdfa1b4f26d3c15bbb19d14e9be1b8810e143d0163276f88961fc7f8c9d2a7"; + sha256 = "9a36d79fc11198001f6c9dd9dca78ab3985ed08cf34c1545f0f06aa7c4284ead"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/sq/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/sq/thunderbird-128.11.1esr.tar.bz2"; locale = "sq"; arch = "linux-x86_64"; - sha256 = "c814479ade79d4f1a67fec8f0029602eea11b3e4bd1b04def7f2fce38e7f9f99"; + sha256 = "e332752f37abb17e98a667400e0cd2728d11f1fd9a6798d0c4b03e54935c9f52"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/sr/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/sr/thunderbird-128.11.1esr.tar.bz2"; locale = "sr"; arch = "linux-x86_64"; - sha256 = "f763ec52bd9ad5597177be270b4f64262d79a50a624a614ae391d8aca1f16f81"; + sha256 = "0091e1363aaed53741b2ac684aeb09412cf43ddbd340989f2420148ddf72623b"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/sv-SE/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/sv-SE/thunderbird-128.11.1esr.tar.bz2"; locale = "sv-SE"; arch = "linux-x86_64"; - sha256 = "113bf376ed90b9d40f3a305b821e1ddb578770b7ad7dc982c5e21aa1cc00f437"; + sha256 = "92f0ed514b9946151ce7047f9afffdadb2f8724f468e435041f2841cb8052d95"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/th/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/th/thunderbird-128.11.1esr.tar.bz2"; locale = "th"; arch = "linux-x86_64"; - sha256 = "c188b57aa0a53d4fe904e3978bf1e49d0dd62bcf817ed5a5c65466d202389a18"; + sha256 = "bbc0fd2e86cdc944930d059fc218fe55c96b8ee39f520a340af2afcc9902ef42"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/tr/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/tr/thunderbird-128.11.1esr.tar.bz2"; locale = "tr"; arch = "linux-x86_64"; - sha256 = "3dcd14eff5be9c753cce59874ddc3f0424d7fd55dc7c85f615580f9bd5f1b4b1"; + sha256 = "2c6e1bbd9804a3cd02381f93034420626cb09968c12d236426ac6823d89c8399"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/uk/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/uk/thunderbird-128.11.1esr.tar.bz2"; locale = "uk"; arch = "linux-x86_64"; - sha256 = "230a96141510e9cf113781ebd4749fcd2e4fe5e65054cc6013ebe1e38406f55f"; + sha256 = "1fec47b0bddcc4f40d0f4e098429f2ad2a8fc988cffd11d04277bdea320aa2d3"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/uz/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/uz/thunderbird-128.11.1esr.tar.bz2"; locale = "uz"; arch = "linux-x86_64"; - sha256 = "1729cfe13c1df489a74b6307ac08660e3bffd390ac8b706061ff2b05f866619e"; + sha256 = "dd6501bc49611667168aec9c4b5a01f41476308abde61c065fee786a3da11025"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/vi/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/vi/thunderbird-128.11.1esr.tar.bz2"; locale = "vi"; arch = "linux-x86_64"; - sha256 = "89e07861fec281e858faa92bcca44e393d7cfcb240db525451d9c21671447ac4"; + sha256 = "7d752d79dc29a79346a5faeb62ad792c83361813ab43230fc4024d0575ea4aef"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/zh-CN/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/zh-CN/thunderbird-128.11.1esr.tar.bz2"; locale = "zh-CN"; arch = "linux-x86_64"; - sha256 = "91f65b163623a716ba54656173e48e73624f35b80caad06053eee3d3bcb3028c"; + sha256 = "99e62f429e86e251229ba05874b2dd6fecbbc961d99b82467e39c4674253c31b"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-x86_64/zh-TW/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-x86_64/zh-TW/thunderbird-128.11.1esr.tar.bz2"; locale = "zh-TW"; arch = "linux-x86_64"; - sha256 = "b7f1e29fdc6f1333c8717ccbf8912646ee6fe8b02215c13eee5310a1bd1751c4"; + sha256 = "b6454a0ad85263d3a4e211df5a2853367504dcc06323aede8f456b327f7ffc61"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/af/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/af/thunderbird-128.11.1esr.tar.bz2"; locale = "af"; arch = "linux-i686"; - sha256 = "79e8f7d5fd539b76dee8083c14784addee0bda0117b51b219ebb4762e9d0006f"; + sha256 = "d0e5b10d52ad457c51cf7dad8a8e46df110c7637c74cc67f47da353a4a607402"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/ar/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/ar/thunderbird-128.11.1esr.tar.bz2"; locale = "ar"; arch = "linux-i686"; - sha256 = "a98c61432bf0150d41b1e91b0094939b6a39348878b31b7195762e2de2802fe2"; + sha256 = "cae238cc797b4aacf015f866b11496423c7e6751ec3853076459e89a6735f07e"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/ast/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/ast/thunderbird-128.11.1esr.tar.bz2"; locale = "ast"; arch = "linux-i686"; - sha256 = "ce19fd8535e87d57673dc5f01bdda71ab2ce4dbfe4b8a5318ab3779f16b912a2"; + sha256 = "6003bdefb99a650b0d7d6fddddc5f68e906de90913f77aa50386b3223e73e96e"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/be/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/be/thunderbird-128.11.1esr.tar.bz2"; locale = "be"; arch = "linux-i686"; - sha256 = "9972d5163c1167650a7be20962a2f1f24b3e8bc7523f6e0fe4592b3ac67c00b2"; + sha256 = "b840a0af87de630bacd4ce180aa9277ea4bd47d2fea423513095965b315cc71c"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/bg/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/bg/thunderbird-128.11.1esr.tar.bz2"; locale = "bg"; arch = "linux-i686"; - sha256 = "3b30ccc53a5cdc0524dc87b27438bb0293e78160d4c9e73fdd6566ce3f1e0d17"; + sha256 = "aeb40e4f78ab26ca930e83a4f3e8e17493167bacfa0c3dbfb07ae89208527039"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/br/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/br/thunderbird-128.11.1esr.tar.bz2"; locale = "br"; arch = "linux-i686"; - sha256 = "4f3748883067431b85f7ec7232f547bc796593f39df19619791e8e1fcb33176f"; + sha256 = "e813f9086d8a72885a544108fd7c553517096470d3db9a8bd26796f728e92ee6"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/ca/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/ca/thunderbird-128.11.1esr.tar.bz2"; locale = "ca"; arch = "linux-i686"; - sha256 = "e4c7d90c5d7bcfc094321f31c90aa781df05a09cd9233bcc1d0ab4245728306d"; + sha256 = "260d795eb520f8e834bd829d9fd87cc4542978389589cbb75f7680533224534e"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/cak/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/cak/thunderbird-128.11.1esr.tar.bz2"; locale = "cak"; arch = "linux-i686"; - sha256 = "2dc3d129c1bcd405ea401713f1e2085d240a8d7a639b05b8c8a41130ce9ff794"; + sha256 = "485889bf966f5d3ee13bee4afa944786a20a06589cbe3c647e173e20bb866890"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/cs/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/cs/thunderbird-128.11.1esr.tar.bz2"; locale = "cs"; arch = "linux-i686"; - sha256 = "668bf801d6276dfecb16bb8725f1bbf30b29b88cec84e4937e6f183434f01004"; + sha256 = "5ab583992354e7d228aee2921a8d957af5c68e35e2c6ec6021ce59907170999d"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/cy/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/cy/thunderbird-128.11.1esr.tar.bz2"; locale = "cy"; arch = "linux-i686"; - sha256 = "8c5c187ac03f6c15dd925b8629ece2600502d22195d189a8bb1c82ba53906e23"; + sha256 = "60ea047453cf3c8a72b1fb00cd623c69ef2ebe5dfec07cac8864cd2372044728"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/da/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/da/thunderbird-128.11.1esr.tar.bz2"; locale = "da"; arch = "linux-i686"; - sha256 = "d56faf22d047e0c8e812bc90c8cd386ae2064eb0c393b0b511c20c672665e5be"; + sha256 = "d1c1f2989fde7fdd1cce600de24c9c4b07ffb1014bf86842162e295b588c6f79"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/de/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/de/thunderbird-128.11.1esr.tar.bz2"; locale = "de"; arch = "linux-i686"; - sha256 = "ba27c673edcfeb3062cfb302e58feeeaff1a6a310211b245d37a57f55cfcdb25"; + sha256 = "8e3ac147b314d5ec4b5236dc1c58c3db9d48122d069ba366a8e48e459232d853"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/dsb/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/dsb/thunderbird-128.11.1esr.tar.bz2"; locale = "dsb"; arch = "linux-i686"; - sha256 = "838caf3134a77780ca9df68478e3bf82823dd4ce30434bc6602990e6570772aa"; + sha256 = "9097661bc5c121006fde36cd002bf26f1d6b3466552dae941cbc87a0463eb662"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/el/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/el/thunderbird-128.11.1esr.tar.bz2"; locale = "el"; arch = "linux-i686"; - sha256 = "7280b1211b1573e15dcbd27e9494c1e2425756ae8f23e1c16d89e9fc759421fa"; + sha256 = "2fe49f83343fd5aa6d7c65dfbde69edf1d80f3a44b0a3b20a108df2986db4ea7"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/en-CA/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/en-CA/thunderbird-128.11.1esr.tar.bz2"; locale = "en-CA"; arch = "linux-i686"; - sha256 = "1cba98d71b0cf1a9eb650a45876f533344038214f98f1de985e295397dd95acd"; + sha256 = "9e9907b25631afc69d80fc14fd798f156177b0f6e012cb6293a38982b2cfed66"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/en-GB/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/en-GB/thunderbird-128.11.1esr.tar.bz2"; locale = "en-GB"; arch = "linux-i686"; - sha256 = "b6b95419b44feae7eb47f1c31625c0d7ce7a201642fbbce881f954379efe3e1f"; + sha256 = "c66668a98f93e2e60a65908142721c40dd719ece1fd27bc9b12f098a36934a1b"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/en-US/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/en-US/thunderbird-128.11.1esr.tar.bz2"; locale = "en-US"; arch = "linux-i686"; - sha256 = "15296a6f1fa57e7c9b204925c19503eb4848a4ca024677fb3fc00732661e5f9c"; + sha256 = "f11acab3c1b9b8bc0d000e79bb4aa627c8b982da6e867884fd38c018385336bd"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/es-AR/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/es-AR/thunderbird-128.11.1esr.tar.bz2"; locale = "es-AR"; arch = "linux-i686"; - sha256 = "01d801f7171a76f8d60de07ffa47b41ffb10f2bc904d72e0b7f2902626a724b4"; + sha256 = "5366b9cf55dbaecac231a870c37422513719d4b387baf1802537b6ed23b7c9b8"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/es-ES/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/es-ES/thunderbird-128.11.1esr.tar.bz2"; locale = "es-ES"; arch = "linux-i686"; - sha256 = "a8ef2366404d128b2107f0fe63c4246497bee7c45a5180c21e9f1a28744bda25"; + sha256 = "0a3c9e633e4563aa12f4a6b727bed4ca3c58b7e68df7d4736241e19c67913ed6"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/es-MX/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/es-MX/thunderbird-128.11.1esr.tar.bz2"; locale = "es-MX"; arch = "linux-i686"; - sha256 = "28b87e0a3c422146b15e17d523aff37cbd56be81d2b5541f6c62f72eb5b34be8"; + sha256 = "9bdf1e3863e2eddbedcdaee4794fca3b7cc43ae28d1447adffa2bdb5521d2fa1"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/et/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/et/thunderbird-128.11.1esr.tar.bz2"; locale = "et"; arch = "linux-i686"; - sha256 = "9ea05e436d4bbe64b3126090341615870cae452757e6a0f8ce0c6da297caa79e"; + sha256 = "039c3c19263e262973a3bf97985675534698c824401ea2b03fcdf9efa2e98fbf"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/eu/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/eu/thunderbird-128.11.1esr.tar.bz2"; locale = "eu"; arch = "linux-i686"; - sha256 = "7b25e5ef8ae9f353358d58226ea20582d196d387469011fd2ab3527b737953f2"; + sha256 = "0c556b10fd5d223cd484bff84e4edf9ee12f22662ef3643e00e25a723e29ca1e"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/fi/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/fi/thunderbird-128.11.1esr.tar.bz2"; locale = "fi"; arch = "linux-i686"; - sha256 = "7a135aceb0c1b9b2d0517d48e61ef56bdc2370ceb3e65d5e4ecf948272b148d3"; + sha256 = "6cc6403a5aa5bf484d1d41d55e4d1d7587097a95b0ee8e9ccf972f65a9c4993b"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/fr/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/fr/thunderbird-128.11.1esr.tar.bz2"; locale = "fr"; arch = "linux-i686"; - sha256 = "2263eb3f54e93e2c6306d0e68f9e27988e7c09cc6dba08414595d01face08740"; + sha256 = "e9e16cf3909a04eeb8beeeb6214534faa4fe71b31c9e7e62a06a3d5888ac93bc"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/fy-NL/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/fy-NL/thunderbird-128.11.1esr.tar.bz2"; locale = "fy-NL"; arch = "linux-i686"; - sha256 = "dfc031584e1eafd390cf286a34232e296dcd98ea3818f60dd38965d44432f565"; + sha256 = "bdedaf4080dd020b48c8146d7ca160f694c30c7ae3813573f14dfffa23c3a5a9"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/ga-IE/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/ga-IE/thunderbird-128.11.1esr.tar.bz2"; locale = "ga-IE"; arch = "linux-i686"; - sha256 = "b80b2e6e57d2b63e495134a1829660ad125a55f1caa561ffd98d132c97a139c9"; + sha256 = "8b977495fe24fc7a2692c099f4f36e11532e827242f27cc2e9dfb352d79b7ba8"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/gd/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/gd/thunderbird-128.11.1esr.tar.bz2"; locale = "gd"; arch = "linux-i686"; - sha256 = "29228207b3aac9bd54df245031459ebc5495b0bb15ba4cdd936dae566d94deca"; + sha256 = "bab69a8e3283a9bf2a3e4893a3ee5a13fd7855e6c27c6bc888fb7099aa63c3a9"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/gl/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/gl/thunderbird-128.11.1esr.tar.bz2"; locale = "gl"; arch = "linux-i686"; - sha256 = "9ab1995698d206eb046e5b96e6f18c290e99ada6c7b7bc64347fb1cc603ce66f"; + sha256 = "0f1204117d3ac178b4256f6736bae0763e2d725f7f31d35d14c2fe81149983a4"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/he/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/he/thunderbird-128.11.1esr.tar.bz2"; locale = "he"; arch = "linux-i686"; - sha256 = "9adf0aed871d04cfe814800f1fcbc8128a9449afbdd21d9d4b47c0c9048df61f"; + sha256 = "b8f9776ee8c13945eb0fafddf35bfe15aebd624266cb7a59c3a35c295c30ca87"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/hr/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/hr/thunderbird-128.11.1esr.tar.bz2"; locale = "hr"; arch = "linux-i686"; - sha256 = "b62307dbe3fa6d62600dd92f9416a2bbab32b12bffc2668242eeca33093871d2"; + sha256 = "7ef80e9826a3c6f68d977d7f4d37e4e464bf3ed758f6a4bde55c25908bad1e5a"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/hsb/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/hsb/thunderbird-128.11.1esr.tar.bz2"; locale = "hsb"; arch = "linux-i686"; - sha256 = "246069502c7e64d2772274a656d7e4a80a6b4e053468a501a9603609d24d3c6b"; + sha256 = "977c9dcf1c4a5415168d4d6ba8bfc678ffd8fc71fad57c4591b67d2c5b66bb40"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/hu/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/hu/thunderbird-128.11.1esr.tar.bz2"; locale = "hu"; arch = "linux-i686"; - sha256 = "f9adc3da0aa28b66ebc4f370d05f58904d361b0e3b24078d653967490387ef50"; + sha256 = "50b063f5cdee1c3f34b335e1e69645c9d95217fd5e252a52cfb8da88655fafda"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/hy-AM/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/hy-AM/thunderbird-128.11.1esr.tar.bz2"; locale = "hy-AM"; arch = "linux-i686"; - sha256 = "f77f12e8d0323602c8994e3bd513190558aadf34c21d29fe1b13f4f9156e707f"; + sha256 = "a7634aaab27e184cff3e8c9abc0508c999c22370c9290e99c114e5e4585d0267"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/id/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/id/thunderbird-128.11.1esr.tar.bz2"; locale = "id"; arch = "linux-i686"; - sha256 = "7b73d10c98ab8dd3b808fae707878ff5726944cb32564b9c03c4dcc83fdb4c2f"; + sha256 = "c01eabdfd17451caa579caad715ae0fc401f8d782df1b4072523a930b85e19a3"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/is/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/is/thunderbird-128.11.1esr.tar.bz2"; locale = "is"; arch = "linux-i686"; - sha256 = "77f500e0e9b2571731b7095d1660260bfbfd4e69c4731e19ebcd2d3e9621064f"; + sha256 = "6159e093852e94ab37e2446bfbdda0a1c67dfe1d88b6eb37c82c1fa3a0adea30"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/it/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/it/thunderbird-128.11.1esr.tar.bz2"; locale = "it"; arch = "linux-i686"; - sha256 = "209bac038f4fe98fa717c0d4c8edf2ddfc8c10351024db3dd184446be0df9020"; + sha256 = "b91c6b9dae50ffe444b99737c8e3f645ba8ac126572295be10d32fd88efd521d"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/ja/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/ja/thunderbird-128.11.1esr.tar.bz2"; locale = "ja"; arch = "linux-i686"; - sha256 = "4f1a227819a301dddf4a6a59e1655fe5c45030dcc20ef00581a9a0072cbcd0ed"; + sha256 = "392a3568f390b6193a0f5236a88a9e3ed84557d74f440978797e26c027a85135"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/ka/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/ka/thunderbird-128.11.1esr.tar.bz2"; locale = "ka"; arch = "linux-i686"; - sha256 = "7b91286ebdd92926ec66c5784f28c028dcf8466524914fd795ff054f65e87de2"; + sha256 = "e96c43f4bfa370b60b9f447b82dcf48b5ce021b756fedd47013fc5ac7926bb67"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/kab/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/kab/thunderbird-128.11.1esr.tar.bz2"; locale = "kab"; arch = "linux-i686"; - sha256 = "5c4900accf4e1c78de6e8b8c010ea4fb6caf8f13746be982acff97fb50f73680"; + sha256 = "cf1d16b6477b2b836d896fb3e5ac65c32799c21ffe76a986c085bafa08883f92"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/kk/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/kk/thunderbird-128.11.1esr.tar.bz2"; locale = "kk"; arch = "linux-i686"; - sha256 = "34c00860100e2a6f628440f2c981ecd20bff6d6277acd29b4f7206c8c79c842c"; + sha256 = "abe96a32627fa819f97438b0b65cde4b6d92f372cac0e21c3ac79f896fb2da11"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/ko/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/ko/thunderbird-128.11.1esr.tar.bz2"; locale = "ko"; arch = "linux-i686"; - sha256 = "8eaeae964a1854551819386b2fb84a4fcc77f3d4ff512a234ab7cfcede93dbd3"; + sha256 = "895ad3c0187367a3fbb4e04e846c1ab993458d38cdce5c7745778e8530f7893e"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/lt/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/lt/thunderbird-128.11.1esr.tar.bz2"; locale = "lt"; arch = "linux-i686"; - sha256 = "be8ae36d61171efb90f94e40c6548d29d79cfa75fbd4c1eebc646a09f8eb62a4"; + sha256 = "efffe1bdf4b546e794d5085d7a1cf91d8634a679e6ebf2aaca9828814c73c581"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/lv/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/lv/thunderbird-128.11.1esr.tar.bz2"; locale = "lv"; arch = "linux-i686"; - sha256 = "be4617b8892e9402c3f71222d0f4c5dd817a6150fd62ecd06e3ca39a5567d317"; + sha256 = "395fe93b274f19761037defe7d3b44248f6a53ce70b386bfcfa979bf2bc61f56"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/ms/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/ms/thunderbird-128.11.1esr.tar.bz2"; locale = "ms"; arch = "linux-i686"; - sha256 = "9d91e6caf44a4fb59bc2f4eb98120f8edf99410b26dfbd19e95b5147d8dfe40a"; + sha256 = "43b0260c9a74d76163cbbeba33de06dde61e084a1f241ae5d6c9bb5bad424c27"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/nb-NO/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/nb-NO/thunderbird-128.11.1esr.tar.bz2"; locale = "nb-NO"; arch = "linux-i686"; - sha256 = "a2410593b21fbd893529e69dc9014d2a0656eb2b386abac88f8fb7719e40fb73"; + sha256 = "41a214594554f40959f7d53ac09f6422d8cc06945ab91757e34c31cdf3303599"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/nl/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/nl/thunderbird-128.11.1esr.tar.bz2"; locale = "nl"; arch = "linux-i686"; - sha256 = "6213d0b2338c7bb96e489bb98497f411258ed7d5b9ff911e1190cb46a19371a9"; + sha256 = "517eb90659cdce2cd47c33d485dd205a2fecf05735cff999f500e66daaf32a88"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/nn-NO/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/nn-NO/thunderbird-128.11.1esr.tar.bz2"; locale = "nn-NO"; arch = "linux-i686"; - sha256 = "7fab860f87513fd6d51d5059885080eba0145679ae0e08cd32a5fcbce4b5574a"; + sha256 = "55fc05dfdad632116c09683c4d7b13679114c8935dc4931723f4744240e0ca9c"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/pa-IN/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/pa-IN/thunderbird-128.11.1esr.tar.bz2"; locale = "pa-IN"; arch = "linux-i686"; - sha256 = "71812f79a2caaf52d82d0c979a00d9617dc61cce7271e9fe7a77a0390d4781ff"; + sha256 = "f4526e30c386550a95128830464b1ea8f2ff0e68fd8ae6aeba40a9c76fb0883f"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/pl/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/pl/thunderbird-128.11.1esr.tar.bz2"; locale = "pl"; arch = "linux-i686"; - sha256 = "c21318200cf87abf4ed29ee28042194e2e98476ec6b0b5e5a969c6f03edec86c"; + sha256 = "be59a45e3866eec1e7034766cbbf7f40017e517763f96cf55dc028fde5a5e446"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/pt-BR/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/pt-BR/thunderbird-128.11.1esr.tar.bz2"; locale = "pt-BR"; arch = "linux-i686"; - sha256 = "38f250376d391e3b1d6e8911ffa17f958499635f5edbdf1f24ac1fe20b954d5d"; + sha256 = "1ef73fbba3104f5c71939974ceb1a231489bc0bfd1d079e8394f51c59dc66923"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/pt-PT/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/pt-PT/thunderbird-128.11.1esr.tar.bz2"; locale = "pt-PT"; arch = "linux-i686"; - sha256 = "49486228ff9d9386c30121f0486e6706d0f0288a98d1a609b744b72e9b33f75e"; + sha256 = "e8a28970d175427f75d61605fbef7cbff7fe39cf08d9427c3a3ea1f561b751b6"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/rm/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/rm/thunderbird-128.11.1esr.tar.bz2"; locale = "rm"; arch = "linux-i686"; - sha256 = "0ea2ca69000833a10ce6514c29271cef21f3d9f5c8190e65f7a4fb6e04772b11"; + sha256 = "6b48d31bfa44c4815a4c09821b19c9249c6d916ff15712d163e3d7f74883345e"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/ro/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/ro/thunderbird-128.11.1esr.tar.bz2"; locale = "ro"; arch = "linux-i686"; - sha256 = "711600bf95079a73f2bb8eaa4f38a03f6f19a6ec0cc2a7eb190bc83e2691b400"; + sha256 = "f12cd678b765d97f5ffa6aaaff007e7ec5c07ee4f95b78abaee83a19e3ab44a0"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/ru/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/ru/thunderbird-128.11.1esr.tar.bz2"; locale = "ru"; arch = "linux-i686"; - sha256 = "ae8a9c18f949cc8da0b59b1c5d0d8fcb8971c17b877ab3186d7db6ce7e4d1a5b"; + sha256 = "686c8dd08600adf3bee7c32cf58cd575399e4cc7aa3e0905b0bd1613dfcd3358"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/sk/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/sk/thunderbird-128.11.1esr.tar.bz2"; locale = "sk"; arch = "linux-i686"; - sha256 = "d208072fad055567a49aaebd077d0792ccd1eb5abe06bd1ded38290acb46be84"; + sha256 = "0292c2f3343da364f29828dab5d24658fe31a707eb52bbc963b042f0f2501787"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/sl/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/sl/thunderbird-128.11.1esr.tar.bz2"; locale = "sl"; arch = "linux-i686"; - sha256 = "1dfb61309fe70f8e2e150eec820f8b781fddaca80eb505aeacab20a606b79348"; + sha256 = "a4bd96ee63ad05fac5bd45c506e9038537dbd9a8ac88e17387f43c8f6d9e2423"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/sq/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/sq/thunderbird-128.11.1esr.tar.bz2"; locale = "sq"; arch = "linux-i686"; - sha256 = "e840139cab6e541aadee9176a499e8b43bdfe5b235c027be057863504ca8e8e4"; + sha256 = "6b6614c7ac1a4a80725a146fdd5c2840228130b23d1abeb7e088a879d613b70d"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/sr/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/sr/thunderbird-128.11.1esr.tar.bz2"; locale = "sr"; arch = "linux-i686"; - sha256 = "e0bf6f7b511f42abe57aa8fb60c2c17644917b64fb2cce153d84c4c05f768c4c"; + sha256 = "42ce92dcaf772e57d48cfcca18be0fc63a5aa3c76b6a257559ec5e003fd31451"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/sv-SE/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/sv-SE/thunderbird-128.11.1esr.tar.bz2"; locale = "sv-SE"; arch = "linux-i686"; - sha256 = "7a0c15fd62d7cac19603703ea98db055a8f6a2919b3014c24d4239ec81a9affa"; + sha256 = "ae88cd1e1b4123e308107e804a339d05141c696c1ad7ee6d1c9c942269a39001"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/th/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/th/thunderbird-128.11.1esr.tar.bz2"; locale = "th"; arch = "linux-i686"; - sha256 = "a7ea7940d8633b658434bda40237fe6ade0d53119df682d3cf29e22dbc40d0a7"; + sha256 = "a38e31d43db5cd6f67f1b40e72e8a93f21ea7e5492f50ff228677d66d9b1fb45"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/tr/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/tr/thunderbird-128.11.1esr.tar.bz2"; locale = "tr"; arch = "linux-i686"; - sha256 = "b0eeccd04d688630eaf5b89abb315a8ae6d26ebdc9aa81e162de038f0b9ce823"; + sha256 = "08e2ce8ba8e2960ba34bf3570a7d6bbe55d70b9f35aeb938c0c752fbffdc7131"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/uk/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/uk/thunderbird-128.11.1esr.tar.bz2"; locale = "uk"; arch = "linux-i686"; - sha256 = "8887e558faf706e0d06361263467c530f0effbb5d98182f9c0a86660f43070ef"; + sha256 = "de8b699e322488a765f354819d2f79baf530405ac0f4a6540ab5ac3b474f20d2"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/uz/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/uz/thunderbird-128.11.1esr.tar.bz2"; locale = "uz"; arch = "linux-i686"; - sha256 = "7340529cc7b782a976198ff9b406cc2ece3b38b5cb21e06f671a0dbe9e69624f"; + sha256 = "2d969f62cf9c164a0623a769eebda1e3ff9790818cfce05978da3b49a630b726"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/vi/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/vi/thunderbird-128.11.1esr.tar.bz2"; locale = "vi"; arch = "linux-i686"; - sha256 = "90fe241497823b198b05204ec7912286cf17adfab93278ef7ef6e3751a929505"; + sha256 = "0e3585662595e365e54a4f4f8e06fc843729387f005607d6e78f4049db6c9657"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/zh-CN/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/zh-CN/thunderbird-128.11.1esr.tar.bz2"; locale = "zh-CN"; arch = "linux-i686"; - sha256 = "bce0ff5de4331df1318b97af68fdfcad66510bb3a45896c192e6a6430aebf884"; + sha256 = "7365a226c7f4e7771edf4f90602d14826240d3352c77d6b736765b762cd25434"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/linux-i686/zh-TW/thunderbird-128.11.0esr.tar.bz2"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/linux-i686/zh-TW/thunderbird-128.11.1esr.tar.bz2"; locale = "zh-TW"; arch = "linux-i686"; - sha256 = "0eb96f16b451c7f7dc767c5902cf718f23900e172f58fb75cf904ae2ac80c522"; + sha256 = "f7c7afad8dbccdecc9c4e8a29f3450877e151512a931875a89521c8b39053837"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/af/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/af/Thunderbird%20128.11.1esr.dmg"; locale = "af"; arch = "mac"; - sha256 = "da085fe383e5180a2a4f8c0f09d00a6aefb34f87165fa1294f3cd695d2fe1243"; + sha256 = "5044e23b78ec2c1f06dcbc938d8849516005577c78445ae8212930572b5a4530"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/ar/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/ar/Thunderbird%20128.11.1esr.dmg"; locale = "ar"; arch = "mac"; - sha256 = "1669163e39c4faa41b731b3d3706dac9a711137ca9579aa08e4f5f0e415268bf"; + sha256 = "51a94e0f3b040b53aabccee293b1b8e4f5be12a3fae4bbe5ce50ce95649f1701"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/ast/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/ast/Thunderbird%20128.11.1esr.dmg"; locale = "ast"; arch = "mac"; - sha256 = "15bed24f02a8acee10d8d1032d61192e69b51dd27b0c27111ffdd69bc01059ce"; + sha256 = "493626258864ece20d2357b5ee94aa921100f6d0e50de3187123260963b736d5"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/be/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/be/Thunderbird%20128.11.1esr.dmg"; locale = "be"; arch = "mac"; - sha256 = "2ee91bc9d17323daddf940b1404483b76fbd453e466389167b2ab5fe94b18c94"; + sha256 = "4a1c3252264b101400fa5cddebdc85143a0486a93df7db52a05e796dbf447cac"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/bg/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/bg/Thunderbird%20128.11.1esr.dmg"; locale = "bg"; arch = "mac"; - sha256 = "f443a05e626c2d97393f5837e74c73060d70d16986e03f59136f775ef6e4736d"; + sha256 = "62221accab70032a18e5014aebcb032acc964875b3b586cb7a1e8a6d2e785c7c"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/br/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/br/Thunderbird%20128.11.1esr.dmg"; locale = "br"; arch = "mac"; - sha256 = "0fc5557a2e70a23e57ec42dfadd6845ee45216a381ec0fc10180243d66615a73"; + sha256 = "1d75ebd1ce55ae195cd26b32c59689f6481cf68b7578151315d5006c669ed97b"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/ca/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/ca/Thunderbird%20128.11.1esr.dmg"; locale = "ca"; arch = "mac"; - sha256 = "1e6362c01b20e61d6b01e6c7b99844463db75d87bdc42a0481fa2ceea74df788"; + sha256 = "2be38ab16c24f73ad88baae4ce37b7121397cd9e5406f510ffec2df5103ad0a8"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/cak/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/cak/Thunderbird%20128.11.1esr.dmg"; locale = "cak"; arch = "mac"; - sha256 = "a7cd7e195246ba738fc992f2dd5c157ed3f857cf4cd6c3925a8a5138de2c1df4"; + sha256 = "54728cb3b6128eceeab66d509c7b90cf244504455f5425cfcfb49c881f3c68d3"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/cs/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/cs/Thunderbird%20128.11.1esr.dmg"; locale = "cs"; arch = "mac"; - sha256 = "25698c35ea90de843cb228a31190c708b4f50868bae5fa86ff6108009984878b"; + sha256 = "7a21159417b5fe4641155ae43e4d41effe94fbec0431fc0b5567484d7087c8c0"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/cy/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/cy/Thunderbird%20128.11.1esr.dmg"; locale = "cy"; arch = "mac"; - sha256 = "a00be11e9f16854b74681cdda118bce2fc6c89dca9cdb7e94ab029556179d10b"; + sha256 = "4044f729e7b202d50110529df9592617fe0b948c8b1860b456b3f3d38c341599"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/da/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/da/Thunderbird%20128.11.1esr.dmg"; locale = "da"; arch = "mac"; - sha256 = "a2e83e16817051806676f162881e4e86e02c66597e373310b21ad1008146bb20"; + sha256 = "da7e5440d28bca85f7a4456e39556e2f8c357feb024163d763d61ca3261b58db"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/de/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/de/Thunderbird%20128.11.1esr.dmg"; locale = "de"; arch = "mac"; - sha256 = "f4d06c64a3e88ed08eee81b0f6fbf9ba58a9b08b41908324547f7490bca4b279"; + sha256 = "2036cb0ec75668a4a82b524b752ed3973195e0e721fec14b9b101a36277dd72e"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/dsb/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/dsb/Thunderbird%20128.11.1esr.dmg"; locale = "dsb"; arch = "mac"; - sha256 = "ef0140803e0c66de10fbed038c9222b37ae4720f40351bb45cd04c6aac4c731f"; + sha256 = "27404dc749bfc62b4153640a06421e77da13de6acca1867ea60623eea8a354af"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/el/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/el/Thunderbird%20128.11.1esr.dmg"; locale = "el"; arch = "mac"; - sha256 = "9b6ee192ada2e5b8676d5f1aefcd8e22cc99c9a1eaabcd298fcf706eb62863b1"; + sha256 = "9ec737d7b1ad4f2b062a1a430ca7316a2c4fcedab43b0a034926356ceda336ec"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/en-CA/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/en-CA/Thunderbird%20128.11.1esr.dmg"; locale = "en-CA"; arch = "mac"; - sha256 = "ac02b3c4c3230ee3cc398c4ecef9909efabfc501d47168861d9c0df272f9519d"; + sha256 = "c55389c197313ea19c20a292fe52aba160185a7eb6ff6f47c21406f2b87de88e"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/en-GB/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/en-GB/Thunderbird%20128.11.1esr.dmg"; locale = "en-GB"; arch = "mac"; - sha256 = "bc2c20160179b52efa9a5709ed4f3275560dfdaa0e4d3ca10766689e844f712a"; + sha256 = "29e77840a36c3235d478e0d0b1843a7c9bbc6ed0fc2ca08e5302e4befe3f6784"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/en-US/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/en-US/Thunderbird%20128.11.1esr.dmg"; locale = "en-US"; arch = "mac"; - sha256 = "4be869257fa9b50364f9f1cbe64e9b89520a4b1d11c1bf7727ea002320a0d7f3"; + sha256 = "6aaeb32a4964b1bdee1322dbb2e0e17b54632a5cc5a4c8f8c2fa78bfdfed4365"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/es-AR/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/es-AR/Thunderbird%20128.11.1esr.dmg"; locale = "es-AR"; arch = "mac"; - sha256 = "e3bdbec28bf3cd1f63693581bd4bb3f402da1f1c4c9a850442a3c36f182524a1"; + sha256 = "006229fe8ed1e141b09a2c835125cee3ed273e84198eebadfa8e66186121acd9"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/es-ES/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/es-ES/Thunderbird%20128.11.1esr.dmg"; locale = "es-ES"; arch = "mac"; - sha256 = "9d4ce0f71c07514a34c4d28b19eb5dab2502770ff9da96649957808ab1b07b82"; + sha256 = "643d80c431a4dc12760d492275797fb1b67f4edc699e731aeafec17e9f9d96e1"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/es-MX/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/es-MX/Thunderbird%20128.11.1esr.dmg"; locale = "es-MX"; arch = "mac"; - sha256 = "7213926fd638ed67f2393d7eeae3cc648003b43f2713fed5c45c48a71957727f"; + sha256 = "b18b4f8e9ca142e2a46f52c7f67aabc10365314be07b438bd20cb631ad4d6bbb"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/et/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/et/Thunderbird%20128.11.1esr.dmg"; locale = "et"; arch = "mac"; - sha256 = "eebd432cc11c7c5f464c88c31b79f02152dcf131959f15fa53580aa8d0073ead"; + sha256 = "82d13921c5879939f35a3321e94fd6a67611da959806fd1795bb6442ec17c0cd"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/eu/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/eu/Thunderbird%20128.11.1esr.dmg"; locale = "eu"; arch = "mac"; - sha256 = "f78b9242f66418c1b654c67ae43f4705c5c725f116061778905ff649d753f0c7"; + sha256 = "a84dd42a44ed2124a7372d89c4f469605ff8837e80b33dad433cdb5a46988425"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/fi/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/fi/Thunderbird%20128.11.1esr.dmg"; locale = "fi"; arch = "mac"; - sha256 = "1c76f1a38ff3e5d1ec1b118e014eebccfe09e1a7375b337128978adfbbe8e31b"; + sha256 = "d2f5b3a691fd66eb2c5a062ab79e845d689f63b913daa4bebdea5c5d548276c6"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/fr/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/fr/Thunderbird%20128.11.1esr.dmg"; locale = "fr"; arch = "mac"; - sha256 = "b900fdb8621904b6bc8d2f730e4896ae82f7cfa4847fdbfb6c5e30716ecb529f"; + sha256 = "305c169b9f254e695be9f35d8ade9ca72b225cd27220cc8858873d2f1b6f09ca"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/fy-NL/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/fy-NL/Thunderbird%20128.11.1esr.dmg"; locale = "fy-NL"; arch = "mac"; - sha256 = "00a351ef965a57b89a8b7fa5ba7b198c5ebba3d418c8484601146e501f129f16"; + sha256 = "043043862111a5cac0c8411fc7884931e2546eff9f9ca84e4354d3b6858540f5"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/ga-IE/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/ga-IE/Thunderbird%20128.11.1esr.dmg"; locale = "ga-IE"; arch = "mac"; - sha256 = "9099460bf5eb5ac6299559a987105c8d1463118e60b3acb8e834a7305e14ee86"; + sha256 = "8f1244fe456395030b0510fe4be3a81bfe9505a236b6c8ffd1d0e4da23424fbf"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/gd/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/gd/Thunderbird%20128.11.1esr.dmg"; locale = "gd"; arch = "mac"; - sha256 = "1c7e069df9a19230ed6b894e3185c1b7b171ae0d5f1fac1c1bfb5c56317d50e1"; + sha256 = "519466f56694b3256744ccbcfb9c070234e739c14c072c951a3082d2eb38af3d"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/gl/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/gl/Thunderbird%20128.11.1esr.dmg"; locale = "gl"; arch = "mac"; - sha256 = "8b7c53595ac38cb56a4977b260a61552630b24601db4dc383a1d2be5944e538d"; + sha256 = "beba3e556dcd796bf4c97e581aa7a3350723abee9dec21bfa87f908b08029ca0"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/he/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/he/Thunderbird%20128.11.1esr.dmg"; locale = "he"; arch = "mac"; - sha256 = "b8a50d2f13c25acfc52c8d28e833f524b92bca7d1af838cb25f67d05356b55cf"; + sha256 = "f28de27c4c326fcd9c2fbcdd06162c19a85d797a57171e14d8e9da9d6f5fca11"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/hr/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/hr/Thunderbird%20128.11.1esr.dmg"; locale = "hr"; arch = "mac"; - sha256 = "f5a53ab0f611af6047bc58742f4ad3da14ef41478ab9b52ce2425ee3a7f1f686"; + sha256 = "271cbd5738ada0ef82b104d58915517c449c8406dc60798580fb23930519a9d6"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/hsb/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/hsb/Thunderbird%20128.11.1esr.dmg"; locale = "hsb"; arch = "mac"; - sha256 = "6aa2fa1e62297d244fd18ac2f2517e75c9c8c381ac67fb0f14b9c3ad330529c2"; + sha256 = "d0a0c1b967fd8bbc55d9e3c07463cbfc2fa00f71488b09a59551aa4607f4798c"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/hu/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/hu/Thunderbird%20128.11.1esr.dmg"; locale = "hu"; arch = "mac"; - sha256 = "fbbfa983987a224920cc4fb806703e51e689f1d35801dfdea63a9f0249105a64"; + sha256 = "3f04c03977715039a2eb3f7449a32b53a41b264e45c29d25315321c1c5277eef"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/hy-AM/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/hy-AM/Thunderbird%20128.11.1esr.dmg"; locale = "hy-AM"; arch = "mac"; - sha256 = "a45d3670f7f0e3b4556137d93dc6dd6754addf14998de1b2e4e849027e459d56"; + sha256 = "53d33d183ae181bfac1fd721e105ba4142d6a0010be9cf5f3448cd46876a23da"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/id/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/id/Thunderbird%20128.11.1esr.dmg"; locale = "id"; arch = "mac"; - sha256 = "00a7e4b6b9448e977952e0bb1784e863d444063604653f138202b93600477d43"; + sha256 = "c5c0e230a22e18356524eefe04c7590625d6e616901de4a1fd02439c32333d26"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/is/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/is/Thunderbird%20128.11.1esr.dmg"; locale = "is"; arch = "mac"; - sha256 = "2a7ed1ddba330a2bea14ee1ebe03355e86243b257eecd289ba28a3ba95a11c3a"; + sha256 = "211762c3d1d400be1c3f2a568a0111c56338553ce57f5b938c25d369f9cd6e22"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/it/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/it/Thunderbird%20128.11.1esr.dmg"; locale = "it"; arch = "mac"; - sha256 = "7da455c0c44b199cc46311ed898f851f0e41b7d948e3e8098fe4ec61b8d8e135"; + sha256 = "acc08c97b56f20df44483402071e11c63410646181bc49ed43a144a8aa76a523"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/ja-JP-mac/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/ja-JP-mac/Thunderbird%20128.11.1esr.dmg"; locale = "ja-JP-mac"; arch = "mac"; - sha256 = "a0bf0b932bd66b0c9e736576d60eae8d15c5ad034693ffba6d255916afa6e123"; + sha256 = "507c90c52b0f43df9eb08df40ce5b62fb132a00a561007d2d0b8759052419195"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/ka/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/ka/Thunderbird%20128.11.1esr.dmg"; locale = "ka"; arch = "mac"; - sha256 = "80f0f47724169f8e5ee992aea5eb91828d76acb46c981a4ad1623ad002a88ec4"; + sha256 = "721adf949350e037c25cf8291c431c4ad1a1c973e3b5c7f8038c49d101bff42f"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/kab/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/kab/Thunderbird%20128.11.1esr.dmg"; locale = "kab"; arch = "mac"; - sha256 = "34c78ee1a34c8fdbc2758af1e5a453a7c09a39e8d0ea5738e9b397e8aab74d46"; + sha256 = "5d80290a4450704ee98e14fe1ff5355838866f5bd02dd76b35d34340234e2fca"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/kk/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/kk/Thunderbird%20128.11.1esr.dmg"; locale = "kk"; arch = "mac"; - sha256 = "4b06bfae6288320843745a9f14a09f9215f83a534b570f0caf18c167aa2c639d"; + sha256 = "d2e06a4b9217647fb251f4923704cb2a328f2f6bd2cdec2dffa565f035256118"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/ko/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/ko/Thunderbird%20128.11.1esr.dmg"; locale = "ko"; arch = "mac"; - sha256 = "2aad2ccce1383b396ae8dd5d40a07daa5fedbac4b7d878b7a157b4f920e75b5f"; + sha256 = "93be46780d45123071b98e3a502bd66a0e013173113328c5bb490348e0e95e3b"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/lt/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/lt/Thunderbird%20128.11.1esr.dmg"; locale = "lt"; arch = "mac"; - sha256 = "c79d788688778a912b57e5f1e05798bb96903a333985cabbb3963bcce6723543"; + sha256 = "e7290fb83d7d599e19ba084ac0cea5e8766ac939a53536260566150ce0967888"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/lv/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/lv/Thunderbird%20128.11.1esr.dmg"; locale = "lv"; arch = "mac"; - sha256 = "d84936a74f0a888f1da82eb0ccaf397c9f433d6c5faf517fd5bcc409e2ea31a0"; + sha256 = "953833f44f8d18c645dc4581389e3c4e6620e7ecbb612223589b01a8b0f0c7b3"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/ms/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/ms/Thunderbird%20128.11.1esr.dmg"; locale = "ms"; arch = "mac"; - sha256 = "15e3f97f44294668d22cd96a346dbd22c5d64c2526593872f6ca8412d634a9a1"; + sha256 = "96cd6ceb2eeee23e41df9e85f66d972652eb883185dfe3ee467e3d339db89728"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/nb-NO/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/nb-NO/Thunderbird%20128.11.1esr.dmg"; locale = "nb-NO"; arch = "mac"; - sha256 = "87823062cd2d43536018305dc0425e8b604f4df14336e54751ac1fee4a5be79e"; + sha256 = "873acfd868eb4eb98fd89ed940a4f94106102d671906ed96aa5cbdc8adfd0aad"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/nl/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/nl/Thunderbird%20128.11.1esr.dmg"; locale = "nl"; arch = "mac"; - sha256 = "02ece8ecee3d231bf566f6939a0388d78d0fa717a80f4fb94713db92870f4f67"; + sha256 = "4eb57ac9ee74c73390f5e7d85c99974b39c8e029891c9264a59f7f4caf35189e"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/nn-NO/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/nn-NO/Thunderbird%20128.11.1esr.dmg"; locale = "nn-NO"; arch = "mac"; - sha256 = "b5b1c602b497bfad1b48842c06e24ffd64d032183d354811f5a791e652505373"; + sha256 = "7b460dc745f4216207cbbe31c22ca078097da98fc36608e30c801460b53e4175"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/pa-IN/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/pa-IN/Thunderbird%20128.11.1esr.dmg"; locale = "pa-IN"; arch = "mac"; - sha256 = "92a253aed7e42efed4a85adf74f8e6dde0208a94bd3f887219f0b29075d26ba8"; + sha256 = "ae6e070503490be4a20cfe88957c50bd2d5b61558e4e082e405dbb6c9af8d650"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/pl/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/pl/Thunderbird%20128.11.1esr.dmg"; locale = "pl"; arch = "mac"; - sha256 = "966febf37cf9c2da85ffac82d7da03fc482a6135e25dbf78800401239215448e"; + sha256 = "8d7bef22f5ec018230675388f1e09f57ca1a56c14faf20625947ace6a63f1b4f"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/pt-BR/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/pt-BR/Thunderbird%20128.11.1esr.dmg"; locale = "pt-BR"; arch = "mac"; - sha256 = "0fcd133b82aeffcb7814142b88ff1aba12af813374a24fa3d85c62d62077554a"; + sha256 = "8d07693400e2ce47f28e50063f754f5ecfe33bce80c20836e5964e58c30d808b"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/pt-PT/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/pt-PT/Thunderbird%20128.11.1esr.dmg"; locale = "pt-PT"; arch = "mac"; - sha256 = "3b171a3b97807a81149e7d27572318056fce2fb6872f40f354e651624ff5fa53"; + sha256 = "9807509c6214bfa50cc4da2d4e1182f398f5d2dc01527e946b6f3f3a62f2c5bf"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/rm/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/rm/Thunderbird%20128.11.1esr.dmg"; locale = "rm"; arch = "mac"; - sha256 = "76edae404bd60f35f2752d6098c1df55b124520c15246e5eb173676ab4e4b915"; + sha256 = "02d138d8e70732f364b600f96e3d493025b0b30ad2f97c86c1de56a4ac396c21"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/ro/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/ro/Thunderbird%20128.11.1esr.dmg"; locale = "ro"; arch = "mac"; - sha256 = "e3167f11923f5fc2c5dc985dedf5daaf029b8097d9a7f43417b39911708ce27f"; + sha256 = "fc3a92974d3dd7c8ea9e253e15685e951a9378af81260a32bc981222ec9096ba"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/ru/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/ru/Thunderbird%20128.11.1esr.dmg"; locale = "ru"; arch = "mac"; - sha256 = "5bcb97eb90761a83d1c68049d7f98ba1232d93996cafc2c175001c720bf7ae1c"; + sha256 = "ff86c68ca4fac2512ac16a7d46a93d9fb799f0cc7faed74bc11804d8945a6f24"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/sk/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/sk/Thunderbird%20128.11.1esr.dmg"; locale = "sk"; arch = "mac"; - sha256 = "bbc0a8484ba2356bdbf3bda13f15c72e502acfa848d96d802ce045334ed27584"; + sha256 = "2d41c7410469e0157c0856e1c615dc950b1b2773a889391afe96faebb064c56b"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/sl/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/sl/Thunderbird%20128.11.1esr.dmg"; locale = "sl"; arch = "mac"; - sha256 = "883034d9eaa9a0f34742fa3d51f0499625644b1400bc3a5e17e444c1d84dff9d"; + sha256 = "620044e83c647d4d59fe4bf04c0baad67ebd3e987962f46e5b3207319efff547"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/sq/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/sq/Thunderbird%20128.11.1esr.dmg"; locale = "sq"; arch = "mac"; - sha256 = "bbe0490ea11d4cf67daa3d200b017b5c023d15fccd0e9055af55145a414fe585"; + sha256 = "2053c3b73c6cc460ae19a16b68cc20847ae5c1ccaa257cf0f1bb94ceb5303a77"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/sr/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/sr/Thunderbird%20128.11.1esr.dmg"; locale = "sr"; arch = "mac"; - sha256 = "abd1d84d5e15bb544fd088890660d8541f7f53f969818415a6029546d62c1ab3"; + sha256 = "97c49fcce28b8a3fbafa9c0ac0057269c738a02b599298891ed95cfc5f9c326e"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/sv-SE/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/sv-SE/Thunderbird%20128.11.1esr.dmg"; locale = "sv-SE"; arch = "mac"; - sha256 = "f6162e8a7ab8ec395c41d5ae2c12a2e7115248dc67d525577d6a70c55d7f4568"; + sha256 = "09b44ad55e36b02d907063f166ffa97a9405b7bed912e42917fdd4a662d257ba"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/th/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/th/Thunderbird%20128.11.1esr.dmg"; locale = "th"; arch = "mac"; - sha256 = "c0c0e65f1cd3de690a94b8a018489ba2b398d26e4475e084f5756b533c847ba6"; + sha256 = "e261fbd2bda8eac5044194412e872ee06e95ce9a1c6f8b03374b9d5bdb211a13"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/tr/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/tr/Thunderbird%20128.11.1esr.dmg"; locale = "tr"; arch = "mac"; - sha256 = "aa8d919937da919d67f22bed23432393f1c14764a8a34e0da58d6df33ee09cdd"; + sha256 = "0998341bc976e2680424270866cc172987e6e6a0285fe9ae730a3dc693e7dd63"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/uk/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/uk/Thunderbird%20128.11.1esr.dmg"; locale = "uk"; arch = "mac"; - sha256 = "e317aa1da153f12abac7938838f3b902859514974e416ff382f9431dfa79ce1f"; + sha256 = "56e5bfddc16ad37931fd2d8fc13f0808ce49368840a1ef18e093f8a2cfb2a51c"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/uz/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/uz/Thunderbird%20128.11.1esr.dmg"; locale = "uz"; arch = "mac"; - sha256 = "102bba7d14f01947d1a4fb7e3f9b69133faaf7bdba54d129477fa6bddafd28c7"; + sha256 = "a517ead8414d926f604903230fd1a987a5867c05f78dac18597201bae98f22bf"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/vi/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/vi/Thunderbird%20128.11.1esr.dmg"; locale = "vi"; arch = "mac"; - sha256 = "80162191a22406dcf6613bf09c7eb6dfdb6b83799dba528a4b09b0d4b955a6bc"; + sha256 = "b59993cbd972fe642be6a9f57c44cf75cfe6c31664b8daf81b1eede51b00eede"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/zh-CN/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/zh-CN/Thunderbird%20128.11.1esr.dmg"; locale = "zh-CN"; arch = "mac"; - sha256 = "f2a12e4fbd3b0afe1739dc3e70681943e5dde3cd7244b701fce8c7ec93c4ef1f"; + sha256 = "6030459cbef475ea9efabde5d2a7be84587871365a3a7f1b589168c39485b8e8"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.0esr/mac/zh-TW/Thunderbird%20128.11.0esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.11.1esr/mac/zh-TW/Thunderbird%20128.11.1esr.dmg"; locale = "zh-TW"; arch = "mac"; - sha256 = "e977bc3a7dd0e8d0298241a418fd081db651524e6dd956e1713c80f20a4c58c7"; + sha256 = "cf9ab16f91e90662c1ac9b37cb08ba7d357179d8fd66b40e176847d341b99418"; } ]; } diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix index 68e77500f2a3..712fd2d22bbb 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix @@ -1,1193 +1,1193 @@ { - version = "139.0.1"; + version = "139.0.2"; sources = [ { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/af/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/af/thunderbird-139.0.2.tar.xz"; locale = "af"; arch = "linux-x86_64"; - sha256 = "7ef065fa719bbf53cc90960e7e4447e693f9d09683ea9c08a07b1d96d1743bc9"; + sha256 = "fac575196a0f674af9bc4a0bbcf28b4b6378d0f85c0027784ddaaae3e7948c82"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/ar/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/ar/thunderbird-139.0.2.tar.xz"; locale = "ar"; arch = "linux-x86_64"; - sha256 = "1ccd6ebfec955788c16890625921bed8ff6257e6c0cb8e1d29c714d456f6f44b"; + sha256 = "e607f615cc37d11b068608023eb04106a41610c055406bcd1ee8c0efb14e466d"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/ast/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/ast/thunderbird-139.0.2.tar.xz"; locale = "ast"; arch = "linux-x86_64"; - sha256 = "96071b6ca366486698f8c8df2fe6382f508ad060b09949be5bd90a0c0220e750"; + sha256 = "f054f3460f07341a1b5d698d5fe68b6f4ac43715eabfde348137fa2aeee9245c"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/be/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/be/thunderbird-139.0.2.tar.xz"; locale = "be"; arch = "linux-x86_64"; - sha256 = "483b03382e8424d8de2bdd0c3ef547e50229dda1bc715267a68398b1f6a76b70"; + sha256 = "6d992740e1c8804e6eb21b5a54f58aa0d3038e97b0cb190f757d0998e9d332a2"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/bg/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/bg/thunderbird-139.0.2.tar.xz"; locale = "bg"; arch = "linux-x86_64"; - sha256 = "aaf55c20a839c19a29af4803d9638c26667122463a9e176775f5d3b11dd04a28"; + sha256 = "9e0052b94a39ea779f25476f21695b6aaaa3d2e1a9728b8cf023844832a43407"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/br/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/br/thunderbird-139.0.2.tar.xz"; locale = "br"; arch = "linux-x86_64"; - sha256 = "90c4e7cce7a2cfeaf85e7c7dc82d9cdcac3fec6f229a03752e316127fe5a7f62"; + sha256 = "9820286b62f9b19eaeab280a4dc44b47c9bde7c6207bd303be3ab2cdb841fa32"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/ca/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/ca/thunderbird-139.0.2.tar.xz"; locale = "ca"; arch = "linux-x86_64"; - sha256 = "9f7c08369c2e4d5ab8a0e358a9d5d58f8e08a36283abf02cdd0830df6ead0f12"; + sha256 = "5bbff46917963b11a4d27407f6e696aa1c1e1ae013574f7ba5f0a216dc1e5c1b"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/cak/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/cak/thunderbird-139.0.2.tar.xz"; locale = "cak"; arch = "linux-x86_64"; - sha256 = "f171cc36936c7e01bfec26c75d8af603e543ee8d3bbab0df19785d7cb565a1f3"; + sha256 = "b230111ca99527b06a437a1515da5e6985843a11b9aa05c1a67063bebe4ae0ad"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/cs/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/cs/thunderbird-139.0.2.tar.xz"; locale = "cs"; arch = "linux-x86_64"; - sha256 = "713673b7f136d135a33bf5bc868ad0b8407dc897cd1396dd9d38f7dfe112cd5f"; + sha256 = "c1395573306bb7a8992c82ccee300588dbcec55db623e4818c1741d30f7db1ae"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/cy/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/cy/thunderbird-139.0.2.tar.xz"; locale = "cy"; arch = "linux-x86_64"; - sha256 = "7ce9780928b730d7afc91eb58205085d85e738356e9d7c3a8d42eb15a9c96c28"; + sha256 = "b8b9e3642b8e4d979f96ecda5175c65eaf5186589292cfdcf1707b4647f656cf"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/da/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/da/thunderbird-139.0.2.tar.xz"; locale = "da"; arch = "linux-x86_64"; - sha256 = "4b228ea6b03e8b668d5373c87083e5df09bdbdfb4e99096d7f41b3deca0a113f"; + sha256 = "0e7602f34ccfb74069c5da866c56620c2d3ec7c8f4631cbcc9fe310ad6e2a11b"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/de/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/de/thunderbird-139.0.2.tar.xz"; locale = "de"; arch = "linux-x86_64"; - sha256 = "81d03a58340356ef8251682a26ea716675dd0efd5b6fe44d05c67ec787a4775d"; + sha256 = "f554153c2e3fbc1234c173fed2cbabdc4da217a79bb9076ea0e63973ff377c2c"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/dsb/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/dsb/thunderbird-139.0.2.tar.xz"; locale = "dsb"; arch = "linux-x86_64"; - sha256 = "3a6bffe03366be36e60b929a0c11680dd4e23e70c3fb724754352e45ffda4a52"; + sha256 = "1b6ce6fff33ee7cc0fcb1ade2f5aecad3d33b8842ad0f91651b0479495900214"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/el/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/el/thunderbird-139.0.2.tar.xz"; locale = "el"; arch = "linux-x86_64"; - sha256 = "e26e5ea129ddf0873e672d4801ab3ebc3343b3b4c4b4333bfd6b15014f056f4b"; + sha256 = "adeb90cbca0d092dd7d03f9295c880a757aa4ec98da1912c30fe068e054804c2"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/en-CA/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/en-CA/thunderbird-139.0.2.tar.xz"; locale = "en-CA"; arch = "linux-x86_64"; - sha256 = "f64a4226e56eebe7b153d6df2bd2ec2726df55d1ae5390b7ec5c1e5abdf4493f"; + sha256 = "71eba2aeff733dd2d21700a7a92d7741b52aa1a2297003fdb612066e0846c5f2"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/en-GB/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/en-GB/thunderbird-139.0.2.tar.xz"; locale = "en-GB"; arch = "linux-x86_64"; - sha256 = "f20f525d312dc1cf137a026a9384fc1cd7b9e93bf71079b4034601a73c63f781"; + sha256 = "2e9b4009229e378bf42a7f9a56fa4d8c84850323f94123bf69bd88877501f281"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/en-US/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/en-US/thunderbird-139.0.2.tar.xz"; locale = "en-US"; arch = "linux-x86_64"; - sha256 = "dedf6a79562de4206d282a5c2c6bcfa6b487b221f67205a5e1943c58207d973f"; + sha256 = "586a26ae67befe3a9b435e5f704d8a802d89dd52f7f3c644b73ff3510effb546"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/es-AR/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/es-AR/thunderbird-139.0.2.tar.xz"; locale = "es-AR"; arch = "linux-x86_64"; - sha256 = "6e5411df2be9a7060df619c431117156a0aa91cc2e502b3235897f3517dfa9d8"; + sha256 = "265da7fe5b88196c220a287b4e8de3c3728c633ab85fa02dd352a25337b4a073"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/es-ES/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/es-ES/thunderbird-139.0.2.tar.xz"; locale = "es-ES"; arch = "linux-x86_64"; - sha256 = "d2f50611860bb84aa5daef5d138ec9dd19e8f7d4f911952bf7e69929b47db5ce"; + sha256 = "3e573a6363b0fb85485df4cdc20a59d3b5af25daf40930abef2c9e480203d248"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/es-MX/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/es-MX/thunderbird-139.0.2.tar.xz"; locale = "es-MX"; arch = "linux-x86_64"; - sha256 = "1e8613b1c305c7154eeb33a6c9df0e94d0454400a5ee0c56f4cc651b43feab65"; + sha256 = "e5fe333f6461143366441f2d9ed22fb423e5f9bb8b3d9fde064f15f37c7306dc"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/et/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/et/thunderbird-139.0.2.tar.xz"; locale = "et"; arch = "linux-x86_64"; - sha256 = "bed511d77ab5c8cec7ce4f39566f734eaa7524fc0c8acfa47d39e4ef02a8e334"; + sha256 = "182a2b9bfd8711b694ada070426e06c29b6b6b07755e3caa813ea5e4776a17fd"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/eu/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/eu/thunderbird-139.0.2.tar.xz"; locale = "eu"; arch = "linux-x86_64"; - sha256 = "889231875468dcc70efb754396760a784f442c02bac0798ec2dc4af4465e0e00"; + sha256 = "f948dc2e081de225381908f0cd7e488610d47fec1de74eee4bd2d64083db6456"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/fi/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/fi/thunderbird-139.0.2.tar.xz"; locale = "fi"; arch = "linux-x86_64"; - sha256 = "c851f335b07df527c30bb91f0e3d23630db9f66eb777de71e82eb5b361b4f33a"; + sha256 = "88e46da83192cec302e860ac87a7da89f4315fcc7075309738e8620f83d18c1c"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/fr/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/fr/thunderbird-139.0.2.tar.xz"; locale = "fr"; arch = "linux-x86_64"; - sha256 = "2865d107f04cb96c0ce7d32fb5b011d95fef0aef857e945141e71a1667b93c59"; + sha256 = "756f63ecbb4174fecdd65caed5813deeaf500c15d3762f966bf49a51a04f7343"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/fy-NL/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/fy-NL/thunderbird-139.0.2.tar.xz"; locale = "fy-NL"; arch = "linux-x86_64"; - sha256 = "49f409fe9bf8c333411cb22266cd3ce1320e185cd0ca51a185fc4003dcbce8b7"; + sha256 = "ee21ad76da5a373d2de3121e8b2a3cf894b522d1ee88e7b5690c78352c505d60"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/ga-IE/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/ga-IE/thunderbird-139.0.2.tar.xz"; locale = "ga-IE"; arch = "linux-x86_64"; - sha256 = "e2013f4dec549534a69355516ba77e78a6bec2aa829f8fd3d65d324addcd21f7"; + sha256 = "35fe29248d87da93b544acc514180f55fa874b645fab57e7db41a019157652bf"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/gd/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/gd/thunderbird-139.0.2.tar.xz"; locale = "gd"; arch = "linux-x86_64"; - sha256 = "a9ae80efc69bf1e8ac66e727b0e55b1fc8102a6920504fc19ab3c3349eb5538e"; + sha256 = "37c75f8635251cf91de32a95b1d146f276cb2c03fed5aa0f3e49fe7f65b04211"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/gl/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/gl/thunderbird-139.0.2.tar.xz"; locale = "gl"; arch = "linux-x86_64"; - sha256 = "1628ed76c9d0f2356bf343ad7d01a0519bbdc922176c89d0823083419381fe97"; + sha256 = "6f9b6701d431112d4f3288834d029151ba8be7212258de4a1b9fa27aa7f3e3a0"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/he/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/he/thunderbird-139.0.2.tar.xz"; locale = "he"; arch = "linux-x86_64"; - sha256 = "372aa98be9ab60171732a129eb22651b78c9eef707462a10215c54df839f4bf8"; + sha256 = "7d47acafcda302e129804763670e8440f0968b7ea1307ffd1f6a7cc4c8461ca0"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/hr/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/hr/thunderbird-139.0.2.tar.xz"; locale = "hr"; arch = "linux-x86_64"; - sha256 = "bcaeb2708f6ec35685a36ad842a373e17a3fe0cc4ecd3f3ff83da6b044738b24"; + sha256 = "cdcdeb674f9289a7267c46c86e347dcd4255a5962cbbdca79fb2951ea5b71b27"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/hsb/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/hsb/thunderbird-139.0.2.tar.xz"; locale = "hsb"; arch = "linux-x86_64"; - sha256 = "94d6bd4a991d0dea6776f8514700e257700a225ff0c742a3eb8367f02a59e3c8"; + sha256 = "0756e367e329ea10a87590954ea97b2b17a2475b8d72dc59919541539b0a7b30"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/hu/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/hu/thunderbird-139.0.2.tar.xz"; locale = "hu"; arch = "linux-x86_64"; - sha256 = "60b1b13ff2ee3f1817cfbc28f3b91e89646c2ac0b284c49c49787d50c3d6f402"; + sha256 = "1b3279673b30b342da299cbaa2973ba48ddc4b739b88c5e6e5825b954b731f6c"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/hy-AM/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/hy-AM/thunderbird-139.0.2.tar.xz"; locale = "hy-AM"; arch = "linux-x86_64"; - sha256 = "e4c862e6cdb3d1ec0bbec2177b2c6e8ff1380fbc86a67a8623696bf3b42d98e1"; + sha256 = "82c9d1f617a56cbd300ae6d0fa0ac6a633cf8a1610d1ab612902a6503ca55a3e"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/id/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/id/thunderbird-139.0.2.tar.xz"; locale = "id"; arch = "linux-x86_64"; - sha256 = "ee6bfa08b9762a263775e0277ce073a1702cf5220f9bd3c11fa0916311ac46b7"; + sha256 = "c420f360bd82e4f840e0a20f25c3a8dc3984d2b95594310930e20f55693a1e92"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/is/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/is/thunderbird-139.0.2.tar.xz"; locale = "is"; arch = "linux-x86_64"; - sha256 = "a9cd910fff3728cd03889229371843b0e82917781ff6fc08543a7ce8627d9bb5"; + sha256 = "bbdf9ca3a40f1808312238dbda332bdbeb82aad249c62e9ea578e0e0e10abbbd"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/it/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/it/thunderbird-139.0.2.tar.xz"; locale = "it"; arch = "linux-x86_64"; - sha256 = "ab5e8383942baff5651163634abe77e12630043043a9bdcbb94770fa9aa197f6"; + sha256 = "6a320104a48724bfe7a4b30108fe36d2858dac36977555f7c8cb8258c0213a3b"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/ja/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/ja/thunderbird-139.0.2.tar.xz"; locale = "ja"; arch = "linux-x86_64"; - sha256 = "39ca584b1e3e9e0c9b66c76ff4ed90d74217e67eef77f52ad28875efc0eb1fd1"; + sha256 = "abaf0566a742c1e362f3e26d58a148bfa1e8e1e7cdcb2ab2bdee0f9c1d5c6672"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/ka/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/ka/thunderbird-139.0.2.tar.xz"; locale = "ka"; arch = "linux-x86_64"; - sha256 = "8ca65d0cc30231cab311c69fcb5d5476a9cc8b29617b084a83a6403d73351a13"; + sha256 = "944155d09532a22bc3d3df1bd98c4f60156e2be13387469c25c7f0afcc802dc6"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/kab/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/kab/thunderbird-139.0.2.tar.xz"; locale = "kab"; arch = "linux-x86_64"; - sha256 = "b1ca13cae106971b3e2870eea1f982b44097791cd3be96650a994ad3930b1c3f"; + sha256 = "6961557b8f8b1861859cbb4f434934b108864417ea154ae39a20090f4473e987"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/kk/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/kk/thunderbird-139.0.2.tar.xz"; locale = "kk"; arch = "linux-x86_64"; - sha256 = "4fc774da83dd6c3de1798f5fd80322051896e4b00e71cff4a9ed71118d72e8ab"; + sha256 = "c5b3822594e14f87e79864d51d9601dc28402bd137cece61b1ab5e8090cc15cb"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/ko/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/ko/thunderbird-139.0.2.tar.xz"; locale = "ko"; arch = "linux-x86_64"; - sha256 = "841e9542be655e83ca7bb2047900553299df34a7488a48a854f4895fb5b3b987"; + sha256 = "a15e35c955dbb8afce11bfd3d760e3e82008513ff8616e9467aade7e51f9e1c8"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/lt/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/lt/thunderbird-139.0.2.tar.xz"; locale = "lt"; arch = "linux-x86_64"; - sha256 = "212d437ef461bde05244c9a5c03ec34892338d64009b5189ec1aadac7215f83d"; + sha256 = "710861d995c73b852ec829a743c026448894b21b564fceb10b954af20c762f96"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/lv/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/lv/thunderbird-139.0.2.tar.xz"; locale = "lv"; arch = "linux-x86_64"; - sha256 = "c0c46cae2c8869a96507e43bb101d504b3aeb9b75e891ca86f8e09af6390ef78"; + sha256 = "383bcfc9abe761fb567ced9f148e8185d87f180e5e2098ed820756b9909aa517"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/ms/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/ms/thunderbird-139.0.2.tar.xz"; locale = "ms"; arch = "linux-x86_64"; - sha256 = "d3dc90b521bb031dc2f88ab6a33c7e7b8787cfa60f661c5d44353790d1f5df4d"; + sha256 = "dcf7c77542edb9035d588a5e313642235840168a93d3a317f772c4f519e2d38a"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/nb-NO/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/nb-NO/thunderbird-139.0.2.tar.xz"; locale = "nb-NO"; arch = "linux-x86_64"; - sha256 = "5a48f953c80b0eb7ed79c267a9774fc46e78c0938e898d0f5564d5bfe6e3107b"; + sha256 = "39e277927fa2b5b6e2fd407e03eabf17d67b44b3941fc07488c2cac6bdf8b136"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/nl/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/nl/thunderbird-139.0.2.tar.xz"; locale = "nl"; arch = "linux-x86_64"; - sha256 = "43a3feaa77d4deb2a5eac7e0d656c7c98c080fde67adb404840d64d637d2551a"; + sha256 = "1e3d4bd0a56e06a51280503a4240039456a485be67b5078a52ac40bac76d021a"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/nn-NO/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/nn-NO/thunderbird-139.0.2.tar.xz"; locale = "nn-NO"; arch = "linux-x86_64"; - sha256 = "c7eaf6891abc7883a6dbfa71a8fd60ec06876312009438815130e8d5fdf76ced"; + sha256 = "7dec758e056e9360979ca8f2dd4222d4cee6960f3280f5d3f78cbf83fb4e3740"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/pa-IN/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/pa-IN/thunderbird-139.0.2.tar.xz"; locale = "pa-IN"; arch = "linux-x86_64"; - sha256 = "d798542672ee30e8412ec69e30c097422fefca56dc84237861c9f3034959867f"; + sha256 = "f9ea9a44b5568bfc17df45a498d7179c3f545bd9fee4fd14e0df6f6ca264e0e5"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/pl/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/pl/thunderbird-139.0.2.tar.xz"; locale = "pl"; arch = "linux-x86_64"; - sha256 = "8ac1464237e4c35d678ef33345b31dcee1ba3c93ff6f537d125df211b03fe987"; + sha256 = "5f9adcc99df0fdd3f5f7456d8ad8a3cb51d05e723922c240ec9f4af83ab58160"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/pt-BR/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/pt-BR/thunderbird-139.0.2.tar.xz"; locale = "pt-BR"; arch = "linux-x86_64"; - sha256 = "4eef716bf8581ca382864efc1ffb8f8a96cf8e6d3ad3014cb9e3bdc988f6e8f2"; + sha256 = "c8503ec2ab35b46ea7dc9bb75e88899751f9cce7cbefc61035a1e7a0998cb1e6"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/pt-PT/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/pt-PT/thunderbird-139.0.2.tar.xz"; locale = "pt-PT"; arch = "linux-x86_64"; - sha256 = "3004f0317d3c4bd0cb38dbd76832e0f9d180a0e7a880c59093f5f6f00ed083a8"; + sha256 = "9b94ece80963bd911fc11ac56519139e91aa3147e877cc47c16560e684d92f03"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/rm/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/rm/thunderbird-139.0.2.tar.xz"; locale = "rm"; arch = "linux-x86_64"; - sha256 = "5c5b21c92b833dbbe174d733649bcd8bb58c58cbaaf7d1ce574ad45ff5b2452d"; + sha256 = "339fb7a75f6d69f25548c05fac908f85a7930bf444505957977d813c8338221a"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/ro/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/ro/thunderbird-139.0.2.tar.xz"; locale = "ro"; arch = "linux-x86_64"; - sha256 = "788a562eeedadd9d203ac4f3cfb35bf9910f97fa903748c3f79795101a393fc7"; + sha256 = "91fd8f9585ea0fa013fc9de142c3ac901baf84ee68135130ac95f5f8971da709"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/ru/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/ru/thunderbird-139.0.2.tar.xz"; locale = "ru"; arch = "linux-x86_64"; - sha256 = "bbd187438ce46448fb2749b122ec5ddec10c5f9c4caac441190a8b995690d412"; + sha256 = "0f080d4d070fc51976996c9fb12a9041742790a9e5caffd89c79c11045748de1"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/sk/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/sk/thunderbird-139.0.2.tar.xz"; locale = "sk"; arch = "linux-x86_64"; - sha256 = "a851f55fb22598ee01f813981712cc5cb13c5a9ca4dd24e038e93507519bde33"; + sha256 = "271900618cebfaf8cff7c26289e03b3685144b560eff2c5542348f67cd9f24e7"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/sl/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/sl/thunderbird-139.0.2.tar.xz"; locale = "sl"; arch = "linux-x86_64"; - sha256 = "5a01038fb3c2f9d412d27a7daf76d07e20106638f8d818c53e0a4e1879964aa0"; + sha256 = "ce1e33c9c0b5825993300b235eb53bb566c277d1b00d6654f2c36c469031bc33"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/sq/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/sq/thunderbird-139.0.2.tar.xz"; locale = "sq"; arch = "linux-x86_64"; - sha256 = "b30963504f613e8d4bfc3ab437fe89a9717a3272979b09fab62892e27aacf684"; + sha256 = "b1982a4733bc0cc9666b563bbf3ca6bdffb6af7a54b2522c05a9248fdbd44661"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/sr/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/sr/thunderbird-139.0.2.tar.xz"; locale = "sr"; arch = "linux-x86_64"; - sha256 = "23a56276622b8554b0d6dee30974b7927112551f7c5fa865abd1721832d9a6a3"; + sha256 = "f4f5ea86865068be75bb9d5af34fed1a53ab22f6a17f6d46ca3ff99de77bab4b"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/sv-SE/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/sv-SE/thunderbird-139.0.2.tar.xz"; locale = "sv-SE"; arch = "linux-x86_64"; - sha256 = "952383ddebe9e9f04f2a3e9be865d79dffd660ad3c3a696d2306a2fef1d843f2"; + sha256 = "18c709cd269b4fc3f5ed34457e86da5491bfdad8437e47861ea751cddab43ce3"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/th/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/th/thunderbird-139.0.2.tar.xz"; locale = "th"; arch = "linux-x86_64"; - sha256 = "4481ef7dfe05cb9ebedf2b542d4ae9a649697e633cd2ee2aabb048b0a2940946"; + sha256 = "b3ee51fb55022fef4451eb6a18c0ec0c560d68e3c071a3976f150f539b7498d2"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/tr/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/tr/thunderbird-139.0.2.tar.xz"; locale = "tr"; arch = "linux-x86_64"; - sha256 = "4d8e64531ed430f862db230ee536c249047267bbfbb7bcf5da519cf0c71a7d09"; + sha256 = "e9039353ef4084148a827889b4e1ddaabe138aa38e3b4312b40b9979ff763649"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/uk/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/uk/thunderbird-139.0.2.tar.xz"; locale = "uk"; arch = "linux-x86_64"; - sha256 = "26406671dcbc9827402ba888ddf5bdd812490cee2f3feea4692b8a7ae082d9c2"; + sha256 = "32f4a7528ce0bf4a8fbcc584fc9b4e6469cd5a206b14fcc6dc52c3c8dd223a0e"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/uz/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/uz/thunderbird-139.0.2.tar.xz"; locale = "uz"; arch = "linux-x86_64"; - sha256 = "a5a4031870f5466624b6ae1a199ffa91d94cb445f5c0aaaabedf162e0d0ab991"; + sha256 = "4f5a39e05fb4d1fb7a6ab0524f5ecd57a341c5134ecf40a90e2cf1fc8a325a0d"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/vi/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/vi/thunderbird-139.0.2.tar.xz"; locale = "vi"; arch = "linux-x86_64"; - sha256 = "e21d0c70bf8b7c6873d9694ded72d71448da2d72c4eb3e44259af2110e6a7dfb"; + sha256 = "ed23cfe4810df01e7ad6e56fbd1154fa85a06bfb8477f7fd267e063774c9ff38"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/zh-CN/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/zh-CN/thunderbird-139.0.2.tar.xz"; locale = "zh-CN"; arch = "linux-x86_64"; - sha256 = "e7dcd9677cba509ceaebe28495250f92601dcaba554ea08dd8f57a69c3cb9b9f"; + sha256 = "3235b83d0f06a37de13785dbab4d08224db04d7ea130926806bac2d113208d51"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-x86_64/zh-TW/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-x86_64/zh-TW/thunderbird-139.0.2.tar.xz"; locale = "zh-TW"; arch = "linux-x86_64"; - sha256 = "60e3a1e633187e3f123ffcfc34f54298e1fa58f1909798f3a5d7f91636e76e20"; + sha256 = "eb7b50e215c8cbf75bc320c92c9248c9378dec2dd638975a9175ad4569b98bee"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/af/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/af/thunderbird-139.0.2.tar.xz"; locale = "af"; arch = "linux-i686"; - sha256 = "1d15d538349db0b36c2eed61d72588a13fec14320d1ab7603470d16637e7e5cd"; + sha256 = "34e11a2e2d94e9657a8c754370894c5bff35394d812d57f198836d2aca2cdfb7"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/ar/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/ar/thunderbird-139.0.2.tar.xz"; locale = "ar"; arch = "linux-i686"; - sha256 = "ae52f131ea8b59be872780f6909336c726cf347790f3fb08b05514a62060dc9e"; + sha256 = "b59436ab074c8e032787ff20c54ddc3c6fe7a48dcc6c18b153dcac6233cb0a83"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/ast/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/ast/thunderbird-139.0.2.tar.xz"; locale = "ast"; arch = "linux-i686"; - sha256 = "e3f71fce236d5c6f1a820f9afe94059289a73fc19ff366ba5db94559c8276415"; + sha256 = "0c2048333df674b1e8944c068ad1dd985696e87bd86671819675d6b7994d9f57"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/be/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/be/thunderbird-139.0.2.tar.xz"; locale = "be"; arch = "linux-i686"; - sha256 = "42723214b091f79dab334315ffb2c6b08da6403f1a54e0a1bcc8facc80577b43"; + sha256 = "d08eed9fbca8220fa5a4186197ea82090b1fa490c27c1186b7278ddb3b730f9c"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/bg/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/bg/thunderbird-139.0.2.tar.xz"; locale = "bg"; arch = "linux-i686"; - sha256 = "7c8acc9c1140ed0e81f60954542666c31c138cc496586321f35e6ec329ec3441"; + sha256 = "e16524042ba4390587ad0db661c515d0679eeb2c76f8e0b5343e7e1832ce5935"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/br/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/br/thunderbird-139.0.2.tar.xz"; locale = "br"; arch = "linux-i686"; - sha256 = "0b93c04e9359eda1e965205f835f9f99555cd40dee0c06c2aa09307fd3746ab4"; + sha256 = "28a5e0bcd7f18be8ffadc1cbf211084304db07ca3068b054ef11e694a282de80"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/ca/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/ca/thunderbird-139.0.2.tar.xz"; locale = "ca"; arch = "linux-i686"; - sha256 = "b9b1404b2113ba5ae51eaa7aca2d8f1b3bc1659a7a00ecfae78dbe79ab31b892"; + sha256 = "ec8690303c76f35278c9240caa004812196f765dab26de27baeaee51cc773c8f"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/cak/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/cak/thunderbird-139.0.2.tar.xz"; locale = "cak"; arch = "linux-i686"; - sha256 = "45d5b6f0a9729b6d8b3c8fd81b13f26794fadcd99faadbb6f213399475ffcc0c"; + sha256 = "4f3454a77c571208bc016e740df81feb659ddc2a112b54d8aff7e6cc62d68b84"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/cs/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/cs/thunderbird-139.0.2.tar.xz"; locale = "cs"; arch = "linux-i686"; - sha256 = "ef220581d2288a88603c1d543031751259ac26bf9cccfd5f26b38e005cb739d4"; + sha256 = "78dbbfd0e1a38e2bb34c95ca9e2773333364e762f028d744abb8385d445582c1"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/cy/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/cy/thunderbird-139.0.2.tar.xz"; locale = "cy"; arch = "linux-i686"; - sha256 = "397e567faf08dfa288ab73d29a79e8b388dec4a1d8f90b6479dd6ecd3bec3a05"; + sha256 = "1362148e056cc2aa0677f3211624d800eadd8a82bb7e0e8830dbbf18429db0d4"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/da/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/da/thunderbird-139.0.2.tar.xz"; locale = "da"; arch = "linux-i686"; - sha256 = "ffdce843d5c4157892fc1f361339922626fc0046b32d85d8fbda6e8b9f960f2f"; + sha256 = "390a3acc9847a6577305b761590774a3380bab0eebe0b485d8276c8a66e02e75"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/de/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/de/thunderbird-139.0.2.tar.xz"; locale = "de"; arch = "linux-i686"; - sha256 = "d4b6f8b0c59df2b08bd076226c4b8a560f7e7bec9a686287a95375e48673bbdf"; + sha256 = "9a27987742b0ae03da6ce9862859d1d6f03d282eca853753e784964047dbd919"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/dsb/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/dsb/thunderbird-139.0.2.tar.xz"; locale = "dsb"; arch = "linux-i686"; - sha256 = "7c258641dc9b1cf94fbb22e001d71dc8b8a1aa6a51f171fecffa5e2b8fba1974"; + sha256 = "fa4559b51e0c8e6b0ac9814cc512242ec66761998cddcd3080de3c72233183c1"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/el/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/el/thunderbird-139.0.2.tar.xz"; locale = "el"; arch = "linux-i686"; - sha256 = "c8408efa15dccdcc631d9d0e70328277b89d91395c03e0107db6e100932b8365"; + sha256 = "f4da4d59391a4cc1752aa5bf8b1dc407b67772a754502ef82e4b8fc7cf10d41f"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/en-CA/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/en-CA/thunderbird-139.0.2.tar.xz"; locale = "en-CA"; arch = "linux-i686"; - sha256 = "687f11e03112259e0bfef9c377438fdceef611833c6a8c4fcd5d250ceeeed7a1"; + sha256 = "b576214306853bebee0b65fb5c76e2f616be56e3b9cb0943fcbadfdfdc7883a9"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/en-GB/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/en-GB/thunderbird-139.0.2.tar.xz"; locale = "en-GB"; arch = "linux-i686"; - sha256 = "e18ff3ad8b0cdace5a35943e8fcc8f1131b04b8507968141c939fc54a96dbfb1"; + sha256 = "88c97b1642fe6ea9628388943be43d9d119133f85e19f64bb62981a9abb786c4"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/en-US/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/en-US/thunderbird-139.0.2.tar.xz"; locale = "en-US"; arch = "linux-i686"; - sha256 = "7be84f87ba47c787306e25b784faf1c867116df6d24ccecd88178761ab63e205"; + sha256 = "ea3f53da34b54b4597214f3192badaf823e5ff925e64e2b673ed8705419df05d"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/es-AR/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/es-AR/thunderbird-139.0.2.tar.xz"; locale = "es-AR"; arch = "linux-i686"; - sha256 = "e83daaf389dd8a88bc6bbe0b6939306b76a8859b20a8d239e53660e2f0ce23d6"; + sha256 = "f81d7ec8abb4fe7a725ccbe327da201cd9ea816252f140d06fb11a8fa4714abb"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/es-ES/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/es-ES/thunderbird-139.0.2.tar.xz"; locale = "es-ES"; arch = "linux-i686"; - sha256 = "c6738cda3b5ad0621d00b08e40003814cfb314bf18dcab9e65c5c328ddb45c49"; + sha256 = "dc5a3770044a0c3f845ade493ffa687a93cfe862bc5b0216baf5728c332ff675"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/es-MX/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/es-MX/thunderbird-139.0.2.tar.xz"; locale = "es-MX"; arch = "linux-i686"; - sha256 = "5ad3b6ea069de42e012de197fd5b71b85a64b9654352643932fe807fae20678b"; + sha256 = "38cec780ab13337890478ae1636a48e7288b1d8c504f148e0dda0ab62281327d"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/et/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/et/thunderbird-139.0.2.tar.xz"; locale = "et"; arch = "linux-i686"; - sha256 = "d8e6d717094b9fe472e41fcd0c3580bd238bcf4aaa9ecbcd2c75523cd9e4486c"; + sha256 = "669a2a9f5bd3b2458538e586dcefeca44a4cfc599b594fad169f80e773eb044d"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/eu/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/eu/thunderbird-139.0.2.tar.xz"; locale = "eu"; arch = "linux-i686"; - sha256 = "6514de42116b9c08a55c354b48fb8021c3b6e938c3cec7fa8ff841b0ec80746e"; + sha256 = "312a9efed65dafe8de66a5945b0cf8cb166d11ccc69c29e7e23452e2e0d5cbbc"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/fi/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/fi/thunderbird-139.0.2.tar.xz"; locale = "fi"; arch = "linux-i686"; - sha256 = "8833b2ef6795169c64c3e79710da763f0557aa238ba96b48c243897392c5448b"; + sha256 = "039340a1d2827f487d8dab42a96612c778d97e580f76d4def7e99c2a9778c988"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/fr/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/fr/thunderbird-139.0.2.tar.xz"; locale = "fr"; arch = "linux-i686"; - sha256 = "7c43c2b468126e6896c81865231b58252eff161f05233f8bd138eae1c8b50202"; + sha256 = "7779c1fb1de816f21f7e57005daa33c518dd70d2959eef371fa4c515c83b2ca5"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/fy-NL/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/fy-NL/thunderbird-139.0.2.tar.xz"; locale = "fy-NL"; arch = "linux-i686"; - sha256 = "d7d2d40d3ef80e73bb0f8b1f46db1047956141eb97890bbf62da93f15eda0fa5"; + sha256 = "14e1ed8f73ffa9d13ac1435f9bbd4d063043a903b1dc20373cc7f1fe7bc45429"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/ga-IE/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/ga-IE/thunderbird-139.0.2.tar.xz"; locale = "ga-IE"; arch = "linux-i686"; - sha256 = "18bffb4c40006542d7c424f4982aeb66b7a62d8fb79a0843233259845d403ded"; + sha256 = "bdd42c055f8b513f3e48918a41f57b2924f0954afea225f87198713652330af9"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/gd/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/gd/thunderbird-139.0.2.tar.xz"; locale = "gd"; arch = "linux-i686"; - sha256 = "ba3b1257e17a34f439d547e17dc92bce4bfcff011bc30645e5263adbcb832dfa"; + sha256 = "0b88ef782d44d2c19ed5b0237cd8188559a34234f3583e6946ceafe9a8446cf9"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/gl/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/gl/thunderbird-139.0.2.tar.xz"; locale = "gl"; arch = "linux-i686"; - sha256 = "e48ba55f3de376de84367144e229e700c7742a35c0d99d7cf51f9dae2ea101f9"; + sha256 = "445fb6df2197ee8c74da712ba8b28334c1d27e85bcda9f6b31b7575def7668dc"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/he/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/he/thunderbird-139.0.2.tar.xz"; locale = "he"; arch = "linux-i686"; - sha256 = "29d005b87b06c23e83a2a3140d426b61afe0d780e6cdf01218f27009eb9a2cb3"; + sha256 = "811e91e0e2afef963216a1d26e07cda9a0bac11fd8b9fe2f9ad4663462fc077f"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/hr/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/hr/thunderbird-139.0.2.tar.xz"; locale = "hr"; arch = "linux-i686"; - sha256 = "f8356de708cbfb31694994d8a5577b15d1da949e2c6519db43de1df68ad939f7"; + sha256 = "0bac2285f4af03d706bbe6493664e6e2984569c586c3b903e121775870c4b01e"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/hsb/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/hsb/thunderbird-139.0.2.tar.xz"; locale = "hsb"; arch = "linux-i686"; - sha256 = "95fde141c0f7eb7831dca8b0e293e112fedb36abc0e618e087a734afa871b042"; + sha256 = "84fc58865bc74698ac752ea727bc1f0a5a2a3588aceead0f23e93cf4eb23f889"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/hu/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/hu/thunderbird-139.0.2.tar.xz"; locale = "hu"; arch = "linux-i686"; - sha256 = "f15f8d007557902fe5cd94c619dd9a5ed5e035a7662045b52365c8e668098202"; + sha256 = "63d3ab7a51ec864d8eadc6deec795df7749125daef11c6ea005458eafa7cff2d"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/hy-AM/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/hy-AM/thunderbird-139.0.2.tar.xz"; locale = "hy-AM"; arch = "linux-i686"; - sha256 = "3820c40298cc4ffeed3e490b21670831491e8c66233c931ada2b5960a8a79e18"; + sha256 = "b471fee3eb6a3b99ac4f725becb3f601d19bec8846a58e7fe6a2ca3c56f04753"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/id/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/id/thunderbird-139.0.2.tar.xz"; locale = "id"; arch = "linux-i686"; - sha256 = "542d56aa3f2ab044e785751961863cd8e9519d20b87b925c58f9a8b9bd00c9bc"; + sha256 = "a63d0ed8cc126418cd091bc83dbda70fde8386851a210df80de082ce7d5f7ec4"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/is/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/is/thunderbird-139.0.2.tar.xz"; locale = "is"; arch = "linux-i686"; - sha256 = "5dff94a55e9b9723260bed5fcba6b555db801d78bf4ecfc41f4e27026d8f27ab"; + sha256 = "46ea1c252119a08f67a617f03cd41ddcac1527dc8580046f6d7ab0b20a21f160"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/it/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/it/thunderbird-139.0.2.tar.xz"; locale = "it"; arch = "linux-i686"; - sha256 = "ae0507e5e7434d7356fc9032b7ae80616f06d418d6d40e14600f9209589def2c"; + sha256 = "5bab030946df404f59cfaed24f4da0093cd80412b0b2481811d14ee526040420"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/ja/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/ja/thunderbird-139.0.2.tar.xz"; locale = "ja"; arch = "linux-i686"; - sha256 = "f3f192c5d6c4e1e9413176558a0c0c0c7b4c0113fdf70a20914d31168be38fef"; + sha256 = "544d91494571e8d087e5ca4f8f91e2ab0174732abb1d279afa993a0b59d74a08"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/ka/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/ka/thunderbird-139.0.2.tar.xz"; locale = "ka"; arch = "linux-i686"; - sha256 = "ff2232dd9bf76a8c5441ffd236119f295c256e7be00e6d2749a48ecb76972de0"; + sha256 = "119ec25a042e86c10e6177c010ba4d997fe1e9ea318648ae0997d2ef1bb7f0c5"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/kab/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/kab/thunderbird-139.0.2.tar.xz"; locale = "kab"; arch = "linux-i686"; - sha256 = "c4012accbb46cd8df5ed4c844260aa2c10d7eb2ce54b7d941b764f2e6375e192"; + sha256 = "7026bb2dafa0515fb627fd83f421f886ee7cd7d83f1b2f844d5c82fc1563811a"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/kk/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/kk/thunderbird-139.0.2.tar.xz"; locale = "kk"; arch = "linux-i686"; - sha256 = "161903075b38e3b0325d3498ff90a6aea5b9d30c75e0d2ce17609cf2277146e6"; + sha256 = "fc45f5780091bec2d0b6af5e36d1afe6ae0e260caf376920396cf84539698769"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/ko/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/ko/thunderbird-139.0.2.tar.xz"; locale = "ko"; arch = "linux-i686"; - sha256 = "3d787e9325240eed91c71fd1d1c2b8583aa752de2e6d1b752570e79d36cc4f62"; + sha256 = "f543b32938ca1c3b592747f7a679c6232c904a970d7455032acbc95c56f916ce"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/lt/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/lt/thunderbird-139.0.2.tar.xz"; locale = "lt"; arch = "linux-i686"; - sha256 = "ca62775af1973bd974539473f537ff82f9128da59266d8adb5c5c99306eb0e28"; + sha256 = "6923123d16ce0ca096e68287da656171186cec69c302bb670566e1fe5d11c2fe"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/lv/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/lv/thunderbird-139.0.2.tar.xz"; locale = "lv"; arch = "linux-i686"; - sha256 = "85147ae97925a844e5de2316eac150aae9dc3e6dca5b2bfe66646337c22a3415"; + sha256 = "64fe698210c6dd3deadb21cb0c4081e54e36daf1050a39292afb58d3029a46a8"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/ms/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/ms/thunderbird-139.0.2.tar.xz"; locale = "ms"; arch = "linux-i686"; - sha256 = "7049904b69a2d0d442913029bf697813698f7fb29895fc1d8f5565860679616e"; + sha256 = "29fd892970167197bea3c185d76f40485b1df6cd4fb84a591b63b4dbabb6382b"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/nb-NO/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/nb-NO/thunderbird-139.0.2.tar.xz"; locale = "nb-NO"; arch = "linux-i686"; - sha256 = "4fe8cec28f0a490e6a0bd47539256f6acc27a3d17f52b7cbad5aec0dd2f9a0a7"; + sha256 = "ee4930d126e47def1372e37b240d364acd9ed94cb8158e5124a9a5101b23c43c"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/nl/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/nl/thunderbird-139.0.2.tar.xz"; locale = "nl"; arch = "linux-i686"; - sha256 = "4c3e0b81cafea3c68b10b452dfa7170dbc98a741f6ec009d9daec4a7652f0e0b"; + sha256 = "586791b524608a950339be697c6c0dc59328f624526b1d92da1f6042cbcfe473"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/nn-NO/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/nn-NO/thunderbird-139.0.2.tar.xz"; locale = "nn-NO"; arch = "linux-i686"; - sha256 = "0f53a85a01d693b8e88fa329b3fb846d67a8503a1fa8ded27a46d61222054a22"; + sha256 = "defad7e7923e171af30922a422f125c50f2a5aa60a2f805bf23a5054772853f8"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/pa-IN/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/pa-IN/thunderbird-139.0.2.tar.xz"; locale = "pa-IN"; arch = "linux-i686"; - sha256 = "ac8c0e32720160999bfa900112a1c2c6a3a0257f511ca92db5949fe159974fc0"; + sha256 = "fb9b4af5628bf0eb4b393fdca6f454ee7db3de32c515566782fb796dc305371f"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/pl/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/pl/thunderbird-139.0.2.tar.xz"; locale = "pl"; arch = "linux-i686"; - sha256 = "517a0474056fe86cf5b9bb27202888f28c8af3054b131d3f35e5714ec1440880"; + sha256 = "796eb258b22557cb60f7697c2475d8c16be3ac6f985c360c6fd7f8302e383eaa"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/pt-BR/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/pt-BR/thunderbird-139.0.2.tar.xz"; locale = "pt-BR"; arch = "linux-i686"; - sha256 = "62372bac20ba2ddd6a973b6ff82ea558ac1c4eb0f2f1803e5261530444677427"; + sha256 = "5ef494b8549e11a0e78ac7bb16ea866167fdcee39585c269734ac9bd1c50b058"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/pt-PT/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/pt-PT/thunderbird-139.0.2.tar.xz"; locale = "pt-PT"; arch = "linux-i686"; - sha256 = "3a39a50b1815d105e063fb74f5cfe056950efa0cd962aa8552eb431370cb409a"; + sha256 = "fc8123905a82e7da9e13154d0f6b029064cdbfe397c64e08040492b46ef5b327"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/rm/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/rm/thunderbird-139.0.2.tar.xz"; locale = "rm"; arch = "linux-i686"; - sha256 = "9e98ecb9ac3984fd06079224342a9378178194b50d71767f4e1a74c37e9d652b"; + sha256 = "e3cafa658e415528b4bd597becf2dd3aeb4871a0dc0d8f70ffb291b2a4918d38"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/ro/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/ro/thunderbird-139.0.2.tar.xz"; locale = "ro"; arch = "linux-i686"; - sha256 = "f0f2ea3eb5c9e5ba7071017751823e985ccb64180e6e61be6f273188a7821c6b"; + sha256 = "f9d21387a574f7fdf4bc72b8fd5f349a6a97d6a4bbfdb2c526c242c417e7227f"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/ru/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/ru/thunderbird-139.0.2.tar.xz"; locale = "ru"; arch = "linux-i686"; - sha256 = "5abab4897a49ccff9c876f0ac82c86b84594c47360f0074b3f21718cf1cb5265"; + sha256 = "f1a4714261183df17b037910253305ea7301ba8cafa66cb45fb68b159292d7a6"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/sk/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/sk/thunderbird-139.0.2.tar.xz"; locale = "sk"; arch = "linux-i686"; - sha256 = "2990823b23c7efd3cb99cbfc212220a45c518c2fb38a3b49e018f797144d5746"; + sha256 = "917b5c547936497403cd2b146155921c0ded6c6ed348e83a0534906940b2885e"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/sl/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/sl/thunderbird-139.0.2.tar.xz"; locale = "sl"; arch = "linux-i686"; - sha256 = "248c141ccd386f574e4ab1f59251928b8c28200e3f15fcca06385f0100d71798"; + sha256 = "083fbd0f56ecddd4f00466790f71f70e80453622f9df2da1d8ece8ccca86495c"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/sq/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/sq/thunderbird-139.0.2.tar.xz"; locale = "sq"; arch = "linux-i686"; - sha256 = "ee3b6156e925f1fbf656f2fbd3a21cb688868926904965f5756d77f6d1df364f"; + sha256 = "b7c1c94f601a28693ecb1a8bb812f76e4737a4c17c97598fc4ecb55e96efa762"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/sr/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/sr/thunderbird-139.0.2.tar.xz"; locale = "sr"; arch = "linux-i686"; - sha256 = "eae2ce007c5f3451ab15905611c7cdea5112af6c4125150388fa051fa579bf8c"; + sha256 = "7a69d6e63d0b5a90e6ed9ca3323eafa343c36c9c1c7a4f998d3e804fe9ffb669"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/sv-SE/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/sv-SE/thunderbird-139.0.2.tar.xz"; locale = "sv-SE"; arch = "linux-i686"; - sha256 = "e220ace1491c8aff485ada18a8b8f57065a2bb907a678edf6f4aeda627b37dfa"; + sha256 = "46f4bae52bb547162f09fe26d834b5476a939371e96e2e0d2f0d185f3a6f5c10"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/th/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/th/thunderbird-139.0.2.tar.xz"; locale = "th"; arch = "linux-i686"; - sha256 = "8545c0b560b4909fc985e791aecd69a2eb1f1e09ea04eb5eeb06d62dfe8c37fd"; + sha256 = "f55ce5dcddefcd1054514901ff5918f0482c6e9606616fbc536c3e46ab8bd139"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/tr/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/tr/thunderbird-139.0.2.tar.xz"; locale = "tr"; arch = "linux-i686"; - sha256 = "eee4422497529c33ba38b9e928f14b67c73f67e0da7ed4b90e008616d5d8e205"; + sha256 = "9cb5477b1f8c2a5417a8b4dfd3af2b4fc208a237c98a275ae4e0a6b56b9fcda7"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/uk/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/uk/thunderbird-139.0.2.tar.xz"; locale = "uk"; arch = "linux-i686"; - sha256 = "b07991e0b33b990f84eea8decfdf7fe9020a6f74672eab994e3e1591c647cf69"; + sha256 = "b6160900240f929d8732066000751d225d453eef13202bd14e9a70ba7b41813e"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/uz/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/uz/thunderbird-139.0.2.tar.xz"; locale = "uz"; arch = "linux-i686"; - sha256 = "6fdf34541ad0111a6fe9aa8e9eb16daa413bdf5bfb5e41e49ef8807546567b05"; + sha256 = "20abb2db65a2ca78f314d4f98f7980b013d1cd5e821206402b20afe44d17a2a1"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/vi/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/vi/thunderbird-139.0.2.tar.xz"; locale = "vi"; arch = "linux-i686"; - sha256 = "757ae40ca55b81817a3596ba5af22ca26a0fb9383634f01a801f8b9906ac2568"; + sha256 = "94b19085f1faba4a43b35e20e508058481fea8dea53c933e3eb8ccdb055f9107"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/zh-CN/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/zh-CN/thunderbird-139.0.2.tar.xz"; locale = "zh-CN"; arch = "linux-i686"; - sha256 = "61734c2a06fea3ba63db28d8952883085be503293cd4b589066d0dc9becf6e3f"; + sha256 = "ee8fe6fb8f1ad0246d776669b155da2b3807efd2a97ba4d8d470e613f7368624"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/linux-i686/zh-TW/thunderbird-139.0.1.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/linux-i686/zh-TW/thunderbird-139.0.2.tar.xz"; locale = "zh-TW"; arch = "linux-i686"; - sha256 = "5b20016318f3a1a01163666d6b4b3a495972715dc51bdc9a658558459804572d"; + sha256 = "1487702e849700c49b2a2c4966d129fff2d8b593e28da76a4c59c431c5c8d6ed"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/af/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/af/Thunderbird%20139.0.2.dmg"; locale = "af"; arch = "mac"; - sha256 = "661a3509839a2c8528d88d45086d495c4f60dfec5dd7784731fc63951fe817a7"; + sha256 = "99b6cccc4eb25cb2ba996e7c2a5661c7b1f321172f4f7b99feb3af13d11bd771"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/ar/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/ar/Thunderbird%20139.0.2.dmg"; locale = "ar"; arch = "mac"; - sha256 = "a0eb721094ce8141b7a95fe4a318255b31341d37bfd2ecb5e152318ff6c702ec"; + sha256 = "b6e290908664af8d4eddd1ff87ccafa347dbd8a1f8e9e525e9597efa06152a7e"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/ast/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/ast/Thunderbird%20139.0.2.dmg"; locale = "ast"; arch = "mac"; - sha256 = "50493c0f36dd00a224f4393e19c3007a6c2e0be8bcf39b81f53bbf23b152c73d"; + sha256 = "a8f93706a1d527245eb8518b6dd578444c66ffe9fa2988803dc46677ee34cb71"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/be/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/be/Thunderbird%20139.0.2.dmg"; locale = "be"; arch = "mac"; - sha256 = "48d23b968e688534e5da70fb00d06b321d3b99f8b1ea70e80d43cc045bacb339"; + sha256 = "d091cfe07d3caf4f7eaf43f887c9aa2a13a11137b3d79a8758a0321474ad35c0"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/bg/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/bg/Thunderbird%20139.0.2.dmg"; locale = "bg"; arch = "mac"; - sha256 = "ad7a1abd20bf57b7794a82aa414eba24dab6c5f0ed90cec647116244c67d0e58"; + sha256 = "e51370e8a83494522536d3baf10f62bfb8583eaf92d663024aa227b145ca3e99"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/br/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/br/Thunderbird%20139.0.2.dmg"; locale = "br"; arch = "mac"; - sha256 = "fcbe9bba3b2740ff1b7a7705b943114519d0ac6ffd933a1691424ffb2a9f6149"; + sha256 = "04f8805e10f645f678baf227a6f65c88e37ebdea8e73e4fb633e5960b8be4cdf"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/ca/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/ca/Thunderbird%20139.0.2.dmg"; locale = "ca"; arch = "mac"; - sha256 = "850e128fa531f7a0ebf63a1dfe02a5851d2dc6433f4e4383eb51e2622eb12f19"; + sha256 = "fa5239daad9d2a4d38d54d27e151e545329e144653454897d8a999e02d75f5c6"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/cak/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/cak/Thunderbird%20139.0.2.dmg"; locale = "cak"; arch = "mac"; - sha256 = "2c599e9ab0da698e4ef8a00cea507e88333473e5fc4732b84579899b58a6049d"; + sha256 = "de5119f83f0b9cc7a903ac88f1b6d667cb3fba29b8536792b80fa17e5392ae08"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/cs/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/cs/Thunderbird%20139.0.2.dmg"; locale = "cs"; arch = "mac"; - sha256 = "150b3544b400a60f047897b6d0b2e4d76c7f450d5588b516a2827c481e0e8aa2"; + sha256 = "8b790dfa4555e91ea8696086ff0fb234cc7d836b5267742adf41470a16bc6118"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/cy/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/cy/Thunderbird%20139.0.2.dmg"; locale = "cy"; arch = "mac"; - sha256 = "8ecbebdbdcd899dba6d035b26373c0c20c34dbda0508d1d81301d7ca6339841a"; + sha256 = "fb585c04de777dde121f415591d92b1af9d7a1d48cd3d34483d4f6333a5882e8"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/da/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/da/Thunderbird%20139.0.2.dmg"; locale = "da"; arch = "mac"; - sha256 = "067f1fca4f8740c9375df4031dff3107337cad5aec8bb444acb66950588fe37b"; + sha256 = "9220241ddd83e9228cce19af38f214e5f33881ae31473d61356b735e10a99af4"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/de/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/de/Thunderbird%20139.0.2.dmg"; locale = "de"; arch = "mac"; - sha256 = "9548cb9469b55156d9ec760b3e7a8aba8557b9a097245b64b2f49a89d096548f"; + sha256 = "e79485fa5396c270d40e900b2ca18a9362bbd200cc349f9e5b0c4b575e27d469"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/dsb/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/dsb/Thunderbird%20139.0.2.dmg"; locale = "dsb"; arch = "mac"; - sha256 = "c944cf3cc258f3b31127cb14f1c7c44daa90c81f286626aa7ae82834f2ea2110"; + sha256 = "485d894e39295de13e2a057b97b7516d50ef8a95fb78129fb1aec3366fc47a15"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/el/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/el/Thunderbird%20139.0.2.dmg"; locale = "el"; arch = "mac"; - sha256 = "b2ff0d8fc32b62ed70907fc05abef5a6ce4b7eed9ffc76a12377535b2f0f0bcd"; + sha256 = "2e907cf8c39668761bf4e2465c4253c97e44b7056c45385903405d09877c1643"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/en-CA/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/en-CA/Thunderbird%20139.0.2.dmg"; locale = "en-CA"; arch = "mac"; - sha256 = "282c67c46c789b14bcf09f131ee0b534dd5f0c9f391466b3674589d212704c1f"; + sha256 = "ddc491a837452668e58eaf210b028cb8cb976e39ee7da8e38710f5d6f0b0103a"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/en-GB/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/en-GB/Thunderbird%20139.0.2.dmg"; locale = "en-GB"; arch = "mac"; - sha256 = "ce9cea3ce87bceff71814463750c4f889396f04910f3b03db709411e16f7de2f"; + sha256 = "d6db8f91f2f257968edb8da8a50f8b631dc7077c1425e08e91cbe4619c79017e"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/en-US/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/en-US/Thunderbird%20139.0.2.dmg"; locale = "en-US"; arch = "mac"; - sha256 = "89b88d943d7711a459d2f22c0a664edea203cc9c543b93e2a08b0cc5d33c690b"; + sha256 = "b7d1168590e0a777320bf8be4628cbd74d0385537187608fea0aff796d5d6805"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/es-AR/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/es-AR/Thunderbird%20139.0.2.dmg"; locale = "es-AR"; arch = "mac"; - sha256 = "b53f67cc46402fb29dd4772630b774ff6b3a99eb429888dfe735d8fc0c433079"; + sha256 = "e595a17a6c22bd6bde428de42045db4cb8471202cd3d493874cecaf30ff5c53e"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/es-ES/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/es-ES/Thunderbird%20139.0.2.dmg"; locale = "es-ES"; arch = "mac"; - sha256 = "d2df07b9b7eeba3d9534a4fe552236f651fd026e6cbcaaecc0e84eefbaa7f6bc"; + sha256 = "ca22719fbd05f2735c22a02788ab67e3143f5416ced0779a23f121b1b2c2888d"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/es-MX/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/es-MX/Thunderbird%20139.0.2.dmg"; locale = "es-MX"; arch = "mac"; - sha256 = "e7427041a8cfda400e22c621af2578bbd76bc623bb98b2cccf3757610eb6ae38"; + sha256 = "cd31aadea61077b041dc52e0e932003e98e912a606f325538c909b8a47e60e6d"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/et/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/et/Thunderbird%20139.0.2.dmg"; locale = "et"; arch = "mac"; - sha256 = "c6aeb1c175e7d77929c3484e90f18abd4daa0700da910e57429bcffdf71d41ce"; + sha256 = "4609da896d29d21c4d1a01b7706ee6a11bafc1ab1fdb24c28216c251d22453c2"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/eu/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/eu/Thunderbird%20139.0.2.dmg"; locale = "eu"; arch = "mac"; - sha256 = "334ae939efdc4ae2f0f2d675dccef95524c87e689c938de0b50a14629486823a"; + sha256 = "5747357e5c51ad5964a6d9d7d8a2113584d7c69e862d0e883457f340f42cce66"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/fi/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/fi/Thunderbird%20139.0.2.dmg"; locale = "fi"; arch = "mac"; - sha256 = "33cb8559ebf133f6e3eb3ee9e5840686b4da8d25bff089fac6b28622b18500fb"; + sha256 = "c46e1516a9f225db947d30474d3db24dfe52fb615ff65d3fb9215e657283a0e9"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/fr/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/fr/Thunderbird%20139.0.2.dmg"; locale = "fr"; arch = "mac"; - sha256 = "ec5ca14af67be2c6d6d8d234c760791748eb430b7eeab654a20f62a0cf1a3abe"; + sha256 = "f015ae56a6aca04658ed6cca2efd0d4c148d78b6ec0034ac5589388bf578a40e"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/fy-NL/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/fy-NL/Thunderbird%20139.0.2.dmg"; locale = "fy-NL"; arch = "mac"; - sha256 = "dd48af792b35c917a09c3f9fde5cf8b3b20087bdaf7008d1526cf8b57c707bea"; + sha256 = "a5e64f9049dd98e8c002658bb86fe51dfd4fb42c5f26f527ef755fa76ef52380"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/ga-IE/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/ga-IE/Thunderbird%20139.0.2.dmg"; locale = "ga-IE"; arch = "mac"; - sha256 = "cf41646244e6c703e52eb610df3168c1ef0704064de989ddea367410caa873be"; + sha256 = "74eccba37c3992556dfe124b85fc9134b78fc03fa6fc3a4c81c8131470592895"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/gd/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/gd/Thunderbird%20139.0.2.dmg"; locale = "gd"; arch = "mac"; - sha256 = "46bd390199d094e321af1d713ee25cca147d901f01f3d29b965b2c7fa1a84603"; + sha256 = "1176cc0c6a23df107264ad7cd7d83862b29d354c03c198f9bd2558f0a2d218d8"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/gl/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/gl/Thunderbird%20139.0.2.dmg"; locale = "gl"; arch = "mac"; - sha256 = "11839716ff48d6d0ff577014f458eb414b3af4e367cb46879ea815153fc86732"; + sha256 = "3af59caf92d2195b039218a6517d68c557452b20d888f9ac1cbadb60ce9fd4d0"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/he/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/he/Thunderbird%20139.0.2.dmg"; locale = "he"; arch = "mac"; - sha256 = "88453d1c056e620c7c31c88a7d297b8b6927ae9e8c41c34ffec8a1365dfa9fc3"; + sha256 = "38793e93483928207ed0a599546c85eaaf987f15351bac52bda811183c86e225"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/hr/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/hr/Thunderbird%20139.0.2.dmg"; locale = "hr"; arch = "mac"; - sha256 = "e46b5b26b63c07dfa64d659a288179d0995b4382523ba6165190fbe1cd5f5802"; + sha256 = "e07947d0b4f147c5fe44c9da4b020e3756dd59bb7aa02c23d9693326ea336808"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/hsb/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/hsb/Thunderbird%20139.0.2.dmg"; locale = "hsb"; arch = "mac"; - sha256 = "a2c69565fc77c164a0924d333412fd9a561236a621bdcf4cddc3e1f19e4d6002"; + sha256 = "94f3fb73dc47589750d398939181919cabcd50f1d68088ae8356a078db6ef357"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/hu/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/hu/Thunderbird%20139.0.2.dmg"; locale = "hu"; arch = "mac"; - sha256 = "ab2a91b3a45739f381f3d07f1bb5e01cb3c4e2c8a654d2f5a4b835d3cadc6d1a"; + sha256 = "616254454de1a74a14c2851f74fb6db75d1119df4d38630cc11edba5ce8f8499"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/hy-AM/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/hy-AM/Thunderbird%20139.0.2.dmg"; locale = "hy-AM"; arch = "mac"; - sha256 = "e46faf2731d1a12aea31a33167af392755d86dfc212b0c2ef9ca207ff8eae6bf"; + sha256 = "8be90ac6541d8822ae6758066c9caea176a3b9d4cec5f4d79f885912388e1f1f"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/id/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/id/Thunderbird%20139.0.2.dmg"; locale = "id"; arch = "mac"; - sha256 = "fc0e42111f125bbdf758107b4f8481af99ae71ec19c78c38f646974fe7ac2fa8"; + sha256 = "5720d86da6ba258d897db7ce66fe178da13e5410c73d31f259b5b9160caeee72"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/is/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/is/Thunderbird%20139.0.2.dmg"; locale = "is"; arch = "mac"; - sha256 = "e1ec4beb8134566f6328aba816e9791b0a6bbea38009b208382ae0553d61fba6"; + sha256 = "c78d3389d2da92b9a8f7bf9c423750a0c9a40f80be726b692c2795d24dad5f02"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/it/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/it/Thunderbird%20139.0.2.dmg"; locale = "it"; arch = "mac"; - sha256 = "5e07080c449a3bdd85cf0f5080abe546e4a944e2e88dd9cbfad31d1d0dae43b9"; + sha256 = "d140f278b8a540edfebe6d877630549e5c2fec775d11dc29c0d9226581efe814"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/ja-JP-mac/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/ja-JP-mac/Thunderbird%20139.0.2.dmg"; locale = "ja-JP-mac"; arch = "mac"; - sha256 = "067d0f521c9848b911deec91b38acb24c38b1ec08fd985b47d5c82facec274d9"; + sha256 = "f5a78c402cb350e8dcfa7d97ee320619dd49159c37779f0fb119909ade6e2637"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/ka/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/ka/Thunderbird%20139.0.2.dmg"; locale = "ka"; arch = "mac"; - sha256 = "fb4ab22ed58e599c6d480a08088a2a3c83b851705cf3ee67e97a899d520e8b57"; + sha256 = "9d46dd6cb1317c55a62aa914f7ade3dde1dec0b339b20a7175944354f37eea3e"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/kab/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/kab/Thunderbird%20139.0.2.dmg"; locale = "kab"; arch = "mac"; - sha256 = "31c8c2f9685156946bb7a0ab5d18f43ec03c920957cb62bf2bf4503a1b70b326"; + sha256 = "2618a2a5ad922275f410c7a36d3e15e82ce667bfc8597005f3dc062403be5348"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/kk/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/kk/Thunderbird%20139.0.2.dmg"; locale = "kk"; arch = "mac"; - sha256 = "b7103808af2a688694a0fcab4891522f625e7f031234b53b161dc12d81825bf0"; + sha256 = "1b5cafd8bab4e543aa78bf964ad8d49cf1acbc48c6ed087dc036d5d322effc0e"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/ko/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/ko/Thunderbird%20139.0.2.dmg"; locale = "ko"; arch = "mac"; - sha256 = "dd99cb4392a8158bb88eac71e2ca580afd83570661d0bc670668eaf6141663ce"; + sha256 = "f8173e84dd82ac4da522c71a875242eaf8eb107b8987606992d7393f992b1743"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/lt/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/lt/Thunderbird%20139.0.2.dmg"; locale = "lt"; arch = "mac"; - sha256 = "0ba6d6024f37a73dbbcd243166219fc15ecc8397b982933751127e2671e85a6b"; + sha256 = "ffc5b3bb98a45b5bc4c4dea4737d820db8654c8e68d0441d179333a43a04e5ae"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/lv/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/lv/Thunderbird%20139.0.2.dmg"; locale = "lv"; arch = "mac"; - sha256 = "089790305f502958606721170b9232a7f576166c664c8fb04ed78178056362fc"; + sha256 = "920dbeed505f3d55a750aa047b899fb18844751833268a733a9afe87501b36af"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/ms/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/ms/Thunderbird%20139.0.2.dmg"; locale = "ms"; arch = "mac"; - sha256 = "5f167ba545db68f4768a966fadfdad89dc9843e23a638dfe71f5cd4cd9db8c8f"; + sha256 = "0d4cd6ab0b8da80c5ee4c263f59e132d417dd91b081441d7edb0ead9a3f1c57f"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/nb-NO/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/nb-NO/Thunderbird%20139.0.2.dmg"; locale = "nb-NO"; arch = "mac"; - sha256 = "0a20d8f1cdc5b53a49462d9a60ff1095dc3077fedca580ec62975d7ea1f27191"; + sha256 = "3aa1bf5c6f157b2c1c4ca100e3690242390f344a9ce66f4be31655fab46c486a"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/nl/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/nl/Thunderbird%20139.0.2.dmg"; locale = "nl"; arch = "mac"; - sha256 = "fdbf938747edf6a9ff4fe68dcfb46a47ebd5a07535b6e7998f1b2882e4e06610"; + sha256 = "8e0990be0ee10000d2c27a8fa81636eda6e14bdd1e4620da9c64e25d6665650a"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/nn-NO/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/nn-NO/Thunderbird%20139.0.2.dmg"; locale = "nn-NO"; arch = "mac"; - sha256 = "907ee34ee486792dd9470ed9fa22c9d31b2807022083afdf4ff7a8d1da582491"; + sha256 = "d23c36020effe227a591bb743c440df3c54866b641b6a1c15e113c7fb4e65098"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/pa-IN/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/pa-IN/Thunderbird%20139.0.2.dmg"; locale = "pa-IN"; arch = "mac"; - sha256 = "676bb0dc9147a8291f2e241ff66547af0647411a65c598b8c684d99b81b52bdd"; + sha256 = "2779f912dcd7001e601291c112c46f4be8fdc249942637e65293ca4c84741e97"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/pl/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/pl/Thunderbird%20139.0.2.dmg"; locale = "pl"; arch = "mac"; - sha256 = "4ce2ce69617132a353854e1dd71a2fb7b41998d712ab23c271e6971a97a641f2"; + sha256 = "ef86339886b50f980bbbd69720e8fb134859eb17a0435c2cdfd8b7238e155cd6"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/pt-BR/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/pt-BR/Thunderbird%20139.0.2.dmg"; locale = "pt-BR"; arch = "mac"; - sha256 = "6bcff630896c3d0b2f117b7d4c65d3510c026843a03a02d01aa99a65ba31e4ba"; + sha256 = "f4a755f3e3628537083efdf067e9162d7a654c8d8bf93ee207c46c3b858a7ba6"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/pt-PT/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/pt-PT/Thunderbird%20139.0.2.dmg"; locale = "pt-PT"; arch = "mac"; - sha256 = "5c2429cd1086d5c3cc2c833d4e595cb48a671f9c27b83a1892f17a3a2d83be75"; + sha256 = "9af8fc19266867a83912fa38cdf3ec6dfbff4edb33e6b3d4722e77ffeeb83f78"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/rm/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/rm/Thunderbird%20139.0.2.dmg"; locale = "rm"; arch = "mac"; - sha256 = "74c7d0ab57f5f6bdddb6d4c7a662fcbd6f098db066d8e17ff34b4227bf2b95aa"; + sha256 = "f21d4b178e0287333e8d98e11e2d5068505528ea2414034258eef581cc9c30c0"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/ro/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/ro/Thunderbird%20139.0.2.dmg"; locale = "ro"; arch = "mac"; - sha256 = "f4c115aa934bb691707adaa5b54d9d04ca4d888cc65ad57494e3a83ecb881ea2"; + sha256 = "5f40545ad6094ad600b1627386a7943f81266380c41674c781ffd9fe62612903"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/ru/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/ru/Thunderbird%20139.0.2.dmg"; locale = "ru"; arch = "mac"; - sha256 = "6b16a3c1bd75be63e9312e13e245871cdabcedaa035484e5402cb091e1a4541e"; + sha256 = "96026e6d4ad332a010fee85fd4d6241479baea225edf3259dd80121608fb3481"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/sk/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/sk/Thunderbird%20139.0.2.dmg"; locale = "sk"; arch = "mac"; - sha256 = "01e29a4277ee5d947512c1815e7ac9c42714c37a72aeaf78f520e1364357dfba"; + sha256 = "bf4adb8af0be6cc6318be35a41382fd8fad396e650e4773d61431629ec9bd0d4"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/sl/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/sl/Thunderbird%20139.0.2.dmg"; locale = "sl"; arch = "mac"; - sha256 = "9c9867f0298eae5ec55647ffb55a5f0b703da55a4d278ff16e7dac469ecfebfe"; + sha256 = "8e43e059551181d03b9c9b93fe41669c648b5b63efd8ef629ba46d06ac185ead"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/sq/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/sq/Thunderbird%20139.0.2.dmg"; locale = "sq"; arch = "mac"; - sha256 = "975780df8c7dc39306c3ff8ff983f0edbc7ae8c3b35f143dd906ea1b23cf2dc4"; + sha256 = "ad063957d9adbe51531703b622c8a563b52db1d2833e49e5c835597c04bd113c"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/sr/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/sr/Thunderbird%20139.0.2.dmg"; locale = "sr"; arch = "mac"; - sha256 = "a17f18795ef6a77b400adae664bf83c26ee493218777d894ca9d7a89ec12e004"; + sha256 = "ac81d1bf3b680a89e56f7e774aef826def3f98902e1b0bb106782a35849ee566"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/sv-SE/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/sv-SE/Thunderbird%20139.0.2.dmg"; locale = "sv-SE"; arch = "mac"; - sha256 = "396f9f5529778d61cdbd12e62dfb83aad0bdffc1d2ed031359bafff9c2b8d9ae"; + sha256 = "1675bc5e895bc9ee16d966c7fd830b602d91636ed9c931dda17d7cede0e21c76"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/th/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/th/Thunderbird%20139.0.2.dmg"; locale = "th"; arch = "mac"; - sha256 = "4601a2d1dea097a2a1a3b0778e6fbd42689d42cbbd1b4878cf82eb0ff95e3e30"; + sha256 = "6ed2b08ba111ec75537be28e4f2719a04e7e27e9781ec4de42c47100d5f98b6e"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/tr/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/tr/Thunderbird%20139.0.2.dmg"; locale = "tr"; arch = "mac"; - sha256 = "630162b811b7b117c224bb2c6ce5ed935dc64fc7a4245956e2e519128fc4108f"; + sha256 = "4775f57c64fbb5ee8376b63e59b87fcfaf6d84aa3ce6091b9b10b197a8e856c5"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/uk/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/uk/Thunderbird%20139.0.2.dmg"; locale = "uk"; arch = "mac"; - sha256 = "5958a9a9603d058368fcacce2d7bdbf073f00510affc34c4f6801356c003126e"; + sha256 = "eb29798c3f2d82bda2d2597b89c9b8f7371dd487f9756197159d83fe25054902"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/uz/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/uz/Thunderbird%20139.0.2.dmg"; locale = "uz"; arch = "mac"; - sha256 = "9543b60fd66edbadacb4b72838db973a32b8d4d4947134cdf28132839710e094"; + sha256 = "c3eda53b62436fe773f5af0232e3acdb7c201d9f20e6953de1ed7d7bc7e017c3"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/vi/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/vi/Thunderbird%20139.0.2.dmg"; locale = "vi"; arch = "mac"; - sha256 = "eb14f672a69e26f458da42e576a761c3e14996e4c6d7be8fdcdb3c1d8b4d9ec2"; + sha256 = "514cc224a22d25c7c14fd1737e0e41b2a414abdfc1ff160b243ee4e211e0baf0"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/zh-CN/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/zh-CN/Thunderbird%20139.0.2.dmg"; locale = "zh-CN"; arch = "mac"; - sha256 = "7152adf5275d0ccb87eedd1f6286d6a365077430ef264ae647e5b680489e1b81"; + sha256 = "64ebd8b5af4ecf2b6c67be685c0b3a1e2f4f6ebbe88f35d5ee3e8d54eb5528dc"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.1/mac/zh-TW/Thunderbird%20139.0.1.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/139.0.2/mac/zh-TW/Thunderbird%20139.0.2.dmg"; locale = "zh-TW"; arch = "mac"; - sha256 = "09d1afe079886f3c162eda4abf76ae7b5bf286cc020a4450aa05bca9fc10022f"; + sha256 = "eedcf8b19809349b8f622917bf3d161d75cbc384207f2425e9afd911927640cf"; } ]; } diff --git a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix index becb2c0c6981..95577143cb10 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix @@ -106,8 +106,8 @@ rec { thunderbird-128 = common { applicationName = "Thunderbird ESR"; - version = "128.11.0esr"; - sha512 = "33de73db2d5ab5152ff11c1947317081259f4e7644631b5e6b9c3b192b4473a5ae6fe897b27b3c8e240ff8c606ffaa8cc14e169c34a94b8de6e64b0c5f0f6810"; + version = "128.11.1esr"; + sha512 = "8fd99f68895b543bdc5bba38d7720f0e48e2a82c9fe5e8ca15534e3918cc40b5b2911666dbbbda0a7911783a03a0d8f7371ea353fd67416baca1e1dffdd25c44"; updateScript = callPackage ./update.nix { attrPath = "thunderbirdPackages.thunderbird-128"; diff --git a/pkgs/applications/networking/p2p/deluge/default.nix b/pkgs/applications/networking/p2p/deluge/default.nix index 99309c0a0989..668bd4298d66 100644 --- a/pkgs/applications/networking/p2p/deluge/default.nix +++ b/pkgs/applications/networking/p2p/deluge/default.nix @@ -21,11 +21,11 @@ let { pname, withGUI }: pypkgs.buildPythonPackage rec { inherit pname; - version = "2.1.1"; + version = "2.2.0"; src = fetchurl { url = "http://download.deluge-torrent.org/source/${lib.versions.majorMinor version}/deluge-${version}.tar.xz"; - hash = "sha256-do3TGYAuQkN6s3lOvnW0lxQuCO1bD7JQO61izvRC3/c="; + hash = "sha256-ubonK1ukKq8caU5sKWKKuBbMGnAKN7rAiqy1JXFgas0="; }; propagatedBuildInputs = @@ -68,7 +68,7 @@ let nativeCheckInputs = with pypkgs; [ pytestCheckHook pytest-twisted - pytest-cov + pytest-cov-stub mock mccabe pylint @@ -108,7 +108,6 @@ let homepage = "https://deluge-torrent.org"; license = licenses.gpl3Plus; maintainers = with maintainers; [ - domenkozar ebzzry ]; platforms = platforms.all; diff --git a/pkgs/applications/networking/p2p/gnunet/default.nix b/pkgs/applications/networking/p2p/gnunet/default.nix index d50245b45021..bc9987dbf375 100644 --- a/pkgs/applications/networking/p2p/gnunet/default.nix +++ b/pkgs/applications/networking/p2p/gnunet/default.nix @@ -39,11 +39,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "gnunet"; - version = "0.24.1"; + version = "0.24.2"; src = fetchurl { url = "mirror://gnu/gnunet/gnunet-${finalAttrs.version}.tar.gz"; - hash = "sha256-xPj50l06APgHCVg7h6qDEtAUVAkLc6QTtD7H7HwHujk="; + hash = "sha256-Lk5KkH2UJ/DD3U1nlczq9yzPOX6dyWH2DtvvMAb2r0c="; }; enableParallelBuilding = true; diff --git a/pkgs/applications/networking/remote/citrix-workspace/generic.nix b/pkgs/applications/networking/remote/citrix-workspace/generic.nix index aa423f202c14..e794bbb21854 100644 --- a/pkgs/applications/networking/remote/citrix-workspace/generic.nix +++ b/pkgs/applications/networking/remote/citrix-workspace/generic.nix @@ -54,6 +54,7 @@ libjson, libsecret, libcanberra-gtk3, + sane-backends, homepage, version, @@ -173,6 +174,7 @@ stdenv.mkDerivation rec { xorg.libXScrnSaver xorg.libXtst zlib + sane-backends ]; runtimeDependencies = [ diff --git a/pkgs/applications/networking/remote/citrix-workspace/sources.nix b/pkgs/applications/networking/remote/citrix-workspace/sources.nix index 801ba69d20f5..d9de08380bb3 100644 --- a/pkgs/applications/networking/remote/citrix-workspace/sources.nix +++ b/pkgs/applications/networking/remote/citrix-workspace/sources.nix @@ -93,6 +93,16 @@ let x86suffix = ""; homepage = "https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html"; }; + "25.03.0" = { + major = "25"; + minor = "03"; + patch = "0"; + x64hash = "052zibykhig9091xl76z2x9vn4f74w5q8i9frlpc473pvfplsczk"; + x86hash = ""; + x64suffix = "66"; + x86suffix = ""; + homepage = "https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html"; + }; }; diff --git a/pkgs/applications/networking/remote/teamviewer/default.nix b/pkgs/applications/networking/remote/teamviewer/default.nix index ede0aff09ae3..bacf6d39f85d 100644 --- a/pkgs/applications/networking/remote/teamviewer/default.nix +++ b/pkgs/applications/networking/remote/teamviewer/default.nix @@ -164,7 +164,7 @@ mkDerivation rec { jagajaga jraygauthier gador - c4thebomb + c4patino ]; }; } diff --git a/pkgs/applications/networking/remote/x2gokdriveclient/default.nix b/pkgs/applications/networking/remote/x2gokdriveclient/default.nix new file mode 100644 index 000000000000..8435f3820c1b --- /dev/null +++ b/pkgs/applications/networking/remote/x2gokdriveclient/default.nix @@ -0,0 +1,78 @@ +{ + stdenv, + lib, + fetchgit, + qt5, + qtbase, + qtx11extras, + qttools, + zlib, + gnumake, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "x2gokdriveclient"; + version = "0.0.0.1-unstable-2024-09-10"; + + src = fetchgit { + #url = "https://code.x2go.org/git/x2gokdriveclient.git"; + + # in reference to https://github.com/NixOS/nixpkgs/tree/master/pkgs#sources + # I am aware that this is bad practice. The HTTPS url above responds with a 500 and is hopelessly + # overloaded. the X2Go project doesn't seem to maintain a good and healthy code repository on github + # either. + url = "git://code.x2go.org/x2gokdriveclient.git"; + rev = "ed53784a236ef4fe00adce726be492c4bf227d73"; + hash = "sha256-hWPM0bye4I34T7y2ipZOULY2+ehVanmTj4V80+lc+iw="; + }; + + buildInputs = [ + qtbase + qtx11extras + qttools + zlib + ]; + + nativeBuildInputs = [ + qt5.wrapQtAppsHook + ]; + + postPatch = '' + substituteInPlace Makefile \ + --replace-fail "SHELL=/bin/bash" "SHELL=$SHELL" \ + --replace-fail "MAKEOVERRIDES" "NOMAKEOVERRIDES " \ + --replace-fail ".MAKEFLAGS" ".NOFLAGS " \ + --replace-fail "qmake" "${qtbase.dev}/bin/qmake" \ + --replace-fail "-o root -g root" "" + substituteInPlace \ + VERSION.x2gokdriveclient \ + x2gokdriveclient.spec \ + man/man1/x2gokdriveclient.1 \ + --replace-fail "0.0.0.2" "${finalAttrs.version}" + ''; + + makeFlags = [ + "PREFIX=$(out)" + "ETCDIR=$(out)/etc" + "build_client" + "build_man" + ]; + + installTargets = [ + "install_client" + "install_man" + ]; + + qtWrapperArgs = [ + "--set QT_QPA_PLATFORM xcb" + ]; + + meta = with lib; { + description = "Graphical NoMachine NX3 remote desktop client (KDrive client)"; + mainProgram = "x2gokdriveclient"; + homepage = "https://x2go.org/"; + maintainers = with maintainers; [ juliabru ]; + license = licenses.gpl3; + platforms = platforms.linux; + }; +}) diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix index a1c981c855c4..783619bce554 100644 --- a/pkgs/applications/networking/sniffers/wireshark/default.nix +++ b/pkgs/applications/networking/sniffers/wireshark/default.nix @@ -56,7 +56,7 @@ assert withQt -> qt6 != null; stdenv.mkDerivation rec { pname = "wireshark-${if withQt then "qt" else "cli"}"; - version = "4.4.6"; + version = "4.4.7"; outputs = [ "out" @@ -67,7 +67,7 @@ stdenv.mkDerivation rec { repo = "wireshark"; owner = "wireshark"; rev = "v${version}"; - hash = "sha256-dzVlHxrXVCSMP4ZfyUq4N9UvL941C50Zto6Mb78LnfQ="; + hash = "sha256-9h25vfjw8QIrRZ6APTsvhW4D5O6fkhkiy/1bj7hGwwY="; }; patches = [ diff --git a/pkgs/applications/networking/sync/backintime/common.nix b/pkgs/applications/networking/sync/backintime/common.nix index 8bc4f5f856ee..dc36d5e933ca 100644 --- a/pkgs/applications/networking/sync/backintime/common.nix +++ b/pkgs/applications/networking/sync/backintime/common.nix @@ -32,13 +32,13 @@ let in stdenv.mkDerivation rec { pname = "backintime-common"; - version = "1.5.4"; + version = "1.5.5"; src = fetchFromGitHub { owner = "bit-team"; repo = "backintime"; rev = "v${version}"; - sha256 = "sha256-QTUezD3OdOMqrxOCrdPFI8fB5XDhNVo9XpLgi7Y2aRg="; + sha256 = "sha256-Xrls+FE41bcx0S/mO4z5Mm97+P5fmIJDSkS3puKmdig="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/networking/sync/rclone/default.nix b/pkgs/applications/networking/sync/rclone/default.nix index 5c8c39c45f54..56b455daa28d 100644 --- a/pkgs/applications/networking/sync/rclone/default.nix +++ b/pkgs/applications/networking/sync/rclone/default.nix @@ -17,7 +17,7 @@ buildGoModule rec { pname = "rclone"; - version = "1.69.3"; + version = "1.70.1"; outputs = [ "out" @@ -28,10 +28,10 @@ buildGoModule rec { owner = "rclone"; repo = "rclone"; tag = "v${version}"; - hash = "sha256-VLE9cWR4Wp+MDbwmfNaJArxhXTOcVfM2C1TMCymKflw="; + hash = "sha256-lfBwVRYqMjmSQBq3D20G8TfxnTUTspPM3x88UAqReVE="; }; - vendorHash = "sha256-WY5xBBOhDRl+mU0KuVxph0wDhfUYLI0gmiGY1boxmKU="; + vendorHash = "sha256-9yEWEM96cRUzp1mRXEzxvOaBZQsf7Zifoe163OtJCPw="; subPackages = [ "." ]; diff --git a/pkgs/applications/networking/sync/rsync/default.nix b/pkgs/applications/networking/sync/rsync/default.nix index cfdd6b54d50b..e222e276e3e9 100644 --- a/pkgs/applications/networking/sync/rsync/default.nix +++ b/pkgs/applications/networking/sync/rsync/default.nix @@ -18,6 +18,7 @@ enableZstd ? true, zstd, nixosTests, + fakeroot, }: stdenv.mkDerivation rec { @@ -47,6 +48,9 @@ stdenv.mkDerivation rec { ++ lib.optional enableOpenSSL openssl ++ lib.optional enableXXHash xxHash; + # fakeroot doesn't work well on darwin anymore, apparently + checkInputs = lib.optionals (!stdenv.isDarwin) [ fakeroot ]; + configureFlags = [ (lib.enableFeature enableLZ4 "lz4") @@ -71,6 +75,8 @@ stdenv.mkDerivation rec { passthru.tests = { inherit (nixosTests) rsyncd; }; + doCheck = true; + meta = with lib; { description = "Fast incremental file transfer utility"; homepage = "https://rsync.samba.org/"; diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix index e4903a823013..53b1944dcb56 100644 --- a/pkgs/applications/office/libreoffice/default.nix +++ b/pkgs/applications/office/libreoffice/default.nix @@ -101,6 +101,7 @@ libetonyek, liborcus, libpng, + libxcrypt, langs ? [ "ar" "ca" @@ -378,16 +379,34 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace configure.ac --replace-fail distutils.sysconfig sysconfig ''; - nativeBuildInputs = [ - autoconf - automake - bison - fontforge - gdb - jdk21 - libtool - pkg-config - ]; + nativeBuildInputs = + [ + ant + autoconf + automake + bison + flex + fontforge + gdb + gettext + gperf + icu + jdk21 + libmysqlclient + libtool + libxml2 + libxslt + perl + perlPackages.ArchiveZip + perlPackages.IOCompress + pkg-config + python311 + unzip + zip + ] + ++ optionals kdeIntegration [ + qtbase + ]; buildInputs = finalAttrs.passthru.gst_packages @@ -397,11 +416,8 @@ stdenv.mkDerivation (finalAttrs: { # propagated libpng # See: https://www.mail-archive.com/libreoffice@lists.freedesktop.org/msg334080.html (libpng.override { apngSupport = false; }) - perlPackages.ArchiveZip coinmp - perlPackages.IOCompress abseil-cpp - ant bluez5 boost box2d_2 @@ -414,15 +430,12 @@ stdenv.mkDerivation (finalAttrs: { dbus-glib expat file - flex fontconfig freetype getopt - gettext glib glm adwaita-icon-theme - gperf gpgme graphite2 gtk3 @@ -433,6 +446,7 @@ stdenv.mkDerivation (finalAttrs: { lcms2 libGL libGLU + libtool xorg.libX11 xorg.libXaw xorg.libXdmcp @@ -454,7 +468,6 @@ stdenv.mkDerivation (finalAttrs: { liblangtag libmspack libmwaw - libmysqlclient libodfgen liborcus xorg.libpthreadstubs @@ -466,6 +479,7 @@ stdenv.mkDerivation (finalAttrs: { libwpd libwpg libwps + libxcrypt libxml2 xorg.libxshmfence libxslt @@ -481,17 +495,14 @@ stdenv.mkDerivation (finalAttrs: { openldap openssl pam - perl poppler libpq python311 sane-backends unixODBC - unzip util-linux which xmlsec - zip zlib ] ++ optionals kdeIntegration [ @@ -691,6 +702,8 @@ stdenv.mkDerivation (finalAttrs: { # Wrapping is done in ./wrapper.nix dontWrapQtApps = true; + strictDeps = true; + passthru = { inherit srcs; jdk = jre'; diff --git a/pkgs/applications/radio/qdmr/default.nix b/pkgs/applications/radio/qdmr/default.nix index 510b1f102b34..a9ea80e13e9a 100644 --- a/pkgs/applications/radio/qdmr/default.nix +++ b/pkgs/applications/radio/qdmr/default.nix @@ -21,13 +21,13 @@ in stdenv.mkDerivation rec { pname = "qdmr"; - version = "0.12.1"; + version = "0.12.3"; src = fetchFromGitHub { owner = "hmatuschek"; repo = "qdmr"; rev = "v${version}"; - hash = "sha256-6eg2w2h1ot7Cklt5UAiaFqJZjC6EM1VtEAwy3HgH4CE="; + hash = "sha256-rb59zbYpIziqXWTjTApWXnkcpRiAUIqPiInEJdsYd48="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/science/biology/sumatools/default.nix b/pkgs/applications/science/biology/sumatools/default.nix deleted file mode 100644 index fc07cd661c56..000000000000 --- a/pkgs/applications/science/biology/sumatools/default.nix +++ /dev/null @@ -1,77 +0,0 @@ -{ - lib, - gccStdenv, - fetchFromGitLab, - zlib, -}: - -let - stdenv = gccStdenv; - meta = with lib; { - description = "Fast and exact comparison and clustering of sequences"; - homepage = "https://metabarcoding.org/sumatra"; - maintainers = [ maintainers.bzizou ]; - platforms = platforms.unix; - }; - -in -rec { - - # Suma library - sumalibs = stdenv.mkDerivation rec { - version = "1.0.34"; - pname = "sumalibs"; - src = fetchFromGitLab { - domain = "git.metabarcoding.org"; - owner = "obitools"; - repo = pname; - rev = "sumalib_v${version}"; - sha256 = "0hwkrxzfz7m5wdjvmrhkjg8kis378iaqr5n4nhdhkwwhn8x1jn5a"; - }; - makeFlags = [ "PREFIX=$(out)" ]; - inherit meta; - }; - - # Sumatra - sumatra = stdenv.mkDerivation rec { - version = "1.0.34"; - pname = "sumatra"; - src = fetchFromGitLab { - domain = "git.metabarcoding.org"; - owner = "obitools"; - repo = pname; - rev = "${pname}_v${version}"; - sha256 = "1bbpbdkshdc3xffqnr1qfy8qk64ldsmdc3s8mrcrlx132rgbi5f6"; - }; - buildInputs = [ - sumalibs - zlib - ]; - makeFlags = [ - "LIBSUMA=${sumalibs}/lib/libsuma.a" - "LIBSUMAPATH=-L${sumalibs}" - "PREFIX=$(out)" - ]; - inherit meta; - }; - - # Sumaclust - sumaclust = stdenv.mkDerivation rec { - version = "1.0.34"; - pname = "sumaclust"; - src = fetchFromGitLab { - domain = "git.metabarcoding.org"; - owner = "obitools"; - repo = pname; - rev = "${pname}_v${version}"; - sha256 = "0x8yi3k3jxhmv2krp4rcjlj2f9zg0qrk7gx4kpclf9c3yxgsgrds"; - }; - buildInputs = [ sumalibs ]; - makeFlags = [ - "LIBSUMA=${sumalibs}/lib/libsuma.a" - "LIBSUMAPATH=-L${sumalibs}" - "PREFIX=$(out)" - ]; - inherit meta; - }; -} diff --git a/pkgs/applications/science/chemistry/jmol/default.nix b/pkgs/applications/science/chemistry/jmol/default.nix index 5b6854a1d354..d4b549027c35 100644 --- a/pkgs/applications/science/chemistry/jmol/default.nix +++ b/pkgs/applications/science/chemistry/jmol/default.nix @@ -31,7 +31,7 @@ let }; in stdenv.mkDerivation rec { - version = "16.3.23"; + version = "16.3.25"; pname = "jmol"; src = @@ -40,7 +40,7 @@ stdenv.mkDerivation rec { in fetchurl { url = "mirror://sourceforge/jmol/Jmol/Version%20${baseVersion}/Jmol%20${version}/Jmol-${version}-binary.tar.gz"; - hash = "sha256-qZDkEsdl1kxwyavtBv9N8E33WSGJoe82w4v8x8v9SPs="; + hash = "sha256-y6IM2xRsueEZCuUtgZg9UnB7Ux4rd+63XJ9kOpMDjRE="; }; patchPhase = '' diff --git a/pkgs/applications/science/electronics/nanovna-saver/default.nix b/pkgs/applications/science/electronics/nanovna-saver/default.nix index b1085edcd592..ec8ea13a192a 100644 --- a/pkgs/applications/science/electronics/nanovna-saver/default.nix +++ b/pkgs/applications/science/electronics/nanovna-saver/default.nix @@ -4,16 +4,28 @@ python3, fetchFromGitHub, qt6, + writeShellScriptBin, }: +let + # Matches the pyside6-uic and pyside6-rcc implementations + # https://code.qt.io/cgit/pyside/pyside-setup.git/tree/sources/pyside-tools/pyside_tool.py?id=9b310d4c0654a244147766e382834b5e8bdeb762#n90 + pyside-tools-uic = writeShellScriptBin "pyside6-uic" '' + exec ${qt6.qtbase}/libexec/uic -g python "$@" + ''; + pyside-tools-rcc = writeShellScriptBin "pyside6-rcc" '' + exec ${qt6.qtbase}/libexec/rcc -g python "$@" + ''; +in python3.pkgs.buildPythonApplication rec { pname = "nanovna-saver"; - version = "0.6.8"; + version = "0.7.3"; + pyproject = true; src = fetchFromGitHub { owner = "NanoVNA-Saver"; repo = pname; tag = "v${version}"; - sha256 = "sha256-XGm3y0C0bFqKbh2ImbYTKOKSYFJ728mE/1N78/WPJqo="; + sha256 = "sha256-Asx4drb9W2NobdgOlbgdm1aAzB69hnIWvOM915F7sgA="; }; nativeBuildInputs = [ @@ -28,6 +40,7 @@ python3.pkgs.buildPythonApplication rec { scipy pyqt6 pyserial + pyside6 numpy setuptools setuptools-scm @@ -38,6 +51,12 @@ python3.pkgs.buildPythonApplication rec { dontWrapGApps = true; dontWrapQtApps = true; + postPatch = '' + substituteInPlace src/tools/ui_compile.py \ + --replace-fail "pyside6-uic" "${pyside-tools-uic}/bin/pyside6-uic" \ + --replace-fail "pyside6-rcc" "${pyside-tools-rcc}/bin/pyside6-rcc" + ''; + preFixup = '' makeWrapperArgs+=( "''${gappsWrapperArgs[@]}" diff --git a/pkgs/applications/science/logic/why3/default.nix b/pkgs/applications/science/logic/why3/default.nix index 93cff7b35fde..141bdcb9c306 100644 --- a/pkgs/applications/science/logic/why3/default.nix +++ b/pkgs/applications/science/logic/why3/default.nix @@ -8,7 +8,7 @@ rubber, hevea, emacs, - version ? "1.8.0", + version ? "1.8.1", ideSupport ? true, wrapGAppsHook3, }: @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { url = "https://why3.gitlabpages.inria.fr/releases/${pname}-${version}.tar.gz"; hash = { - "1.8.0" = "sha256-gDe4OI0AuoYmJSCg/SMRQYcgelX/SM28ClQfKhnw88E="; + "1.8.1" = "sha256-RSj89bP8ZBdTQM7x5cpJTsk55SIXlc2SXMQj6Q1GFW8="; "1.7.2" = "sha256-VaSG/FiO2MDdSSFXGJJrIylQx0LPwtT8AF7TpPVZhCQ="; "1.6.0" = "sha256-hFvM6kHScaCtcHCc6Vezl9CR7BFbiKPoTEh7kj0ZJxw="; } diff --git a/pkgs/applications/search/recoll/0001-no-qtgui-darwin-bundle.patch b/pkgs/applications/search/recoll/0001-no-qtgui-darwin-bundle.patch index 1f3a71fb3c9b..166700c2d077 100644 --- a/pkgs/applications/search/recoll/0001-no-qtgui-darwin-bundle.patch +++ b/pkgs/applications/search/recoll/0001-no-qtgui-darwin-bundle.patch @@ -1,39 +1,28 @@ -From 9a0102fe1da038ebe08107ead991964df11b0271 Mon Sep 17 00:00:00 2001 -From: annalee <150648636+a-n-n-a-l-e-e@users.noreply.github.com> -Date: Mon, 19 Feb 2024 03:31:20 +0000 -Subject: [PATCH] no qtgui darwin bundle - ---- - qtgui/recoll.pro.in | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -diff --git a/qtgui/recoll.pro.in b/qtgui/recoll.pro.in -index a0ef314..6dbc3b5 100644 --- a/qtgui/recoll.pro.in +++ b/qtgui/recoll.pro.in -@@ -180,7 +180,7 @@ windows { - } +@@ -192,7 +192,7 @@ + } } --macx: { +-macx:macxbundlebuild() { +if (false) { - QCBUILDLOC=Qt_6_4_2_for_macOS - - # QT += webkit webkitwidgets -@@ -375,7 +375,7 @@ macx: { + QCBUILDLOC=Qt_6_7_3_for_macOS + RECOLLDEPS = $$PWD/../../.. + QMAKE_APPLE_DEVICE_ARCHS = x86_64 arm64 +@@ -402,7 +402,7 @@ QMAKE_BUNDLE_DATA = APP_EXAMPLES APP_EXAMPLES_MAC APP_FILTERS APP_IMAGES APP_DOC } --unix:!macx { +-unix:!macxbundlebuild() { +unix { VPATH = @srcdir@ - -@@ -400,6 +400,13 @@ VPATH = @srcdir@ + # For SingleApplication +@@ -425,6 +425,13 @@ SOURCES += crontool.cpp \ rtitool.cpp -+ macx { ++ macxbundlebuild() { + SOURCES += ../utils/closefrom.cpp \ + ../utils/execmd.cpp \ + ../utils/netcon.cpp \ @@ -43,6 +32,3 @@ index a0ef314..6dbc3b5 100644 FORMS += crontool.ui \ rtitool.ui --- -2.43.0 - diff --git a/pkgs/applications/search/recoll/default.nix b/pkgs/applications/search/recoll/default.nix index bad287cc9153..21911c93390d 100644 --- a/pkgs/applications/search/recoll/default.nix +++ b/pkgs/applications/search/recoll/default.nix @@ -75,11 +75,11 @@ in mkDerivation rec { pname = "recoll"; - version = "1.39.1"; + version = "1.43.2"; src = fetchurl { url = "https://www.recoll.org/${pname}-${version}.tar.gz"; - hash = "sha256-Eeadj/AnuztCb7VIYEy4hKbduH3CzK53tADvI9+PWmQ="; + hash = "sha256-FbDXknumjktcikOfAe4FKtPmggJGGHasq8dpD+8mNzE="; }; mesonFlags = @@ -107,13 +107,10 @@ mkDerivation rec { ]; env.NIX_CFLAGS_COMPILE = toString [ - "-DNIXPKGS" "-fpermissive" # libxml2-2.12 changed const qualifiers ]; patches = [ - # fix "No/bad main configuration file" error - ./fix-datadir.patch # use the same configure based build for darwin as linux ./0001-no-qtgui-darwin-bundle.patch ]; diff --git a/pkgs/applications/search/recoll/fix-datadir.patch b/pkgs/applications/search/recoll/fix-datadir.patch deleted file mode 100644 index 7d5471b636e8..000000000000 --- a/pkgs/applications/search/recoll/fix-datadir.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/utils/rclutil.cpp b/utils/rclutil.cpp -index 6bafc119..d997cd17 100644 ---- a/utils/rclutil.cpp -+++ b/utils/rclutil.cpp -@@ -279,7 +279,7 @@ const string& path_pkgdatadir() - "a subfolder of the installation directory. \n" - "Please set the RECOLL_DATADIR environment variable to point to it\n" - "(e.g. setx RECOLL_DATADIR \"C:/Program Files (X86)/Recoll/Share)\"\n"; --#elif defined(__APPLE__) && defined(RECOLL_AS_MAC_BUNDLE) -+#elif defined(__APPLE__) && defined(RECOLL_AS_MAC_BUNDLE) && defined(NIXPKGS) - // The package manager builds (Macports, Homebrew, Nixpkgs ...) all arrange to set a proper - // compiled value for RECOLL_DATADIR. We can't do this when building a native bundle with - // QCreator, in which case we use the executable location. diff --git a/pkgs/applications/system/timed/default.nix b/pkgs/applications/system/timed/default.nix index 8fa9e5f93464..0824c04552d1 100644 --- a/pkgs/applications/system/timed/default.nix +++ b/pkgs/applications/system/timed/default.nix @@ -5,7 +5,6 @@ gitUpdater, testers, libiodata, - pcre-cpp, pkg-config, qmake, qtbase, @@ -16,7 +15,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "timed"; - version = "3.6.23"; + version = "3.6.24"; outputs = [ "out" @@ -28,7 +27,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "sailfishos"; repo = "timed"; tag = finalAttrs.version; - hash = "sha256-EJ0xxAkrISQfylBneYAEOINRvMUTWWw4E5GKjbq67aU="; + hash = "sha256-6axLd3XRCIsuYnKQ0AiCD6Cxut9Ck9hNWwIbkj4Aza8="; }; postPatch = '' @@ -72,7 +71,6 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ libiodata - pcre-cpp sailfish-access-control ]; diff --git a/pkgs/applications/version-management/git-review/default.nix b/pkgs/applications/version-management/git-review/default.nix index ac6d7879e2bf..c0881a7e2aa9 100644 --- a/pkgs/applications/version-management/git-review/default.nix +++ b/pkgs/applications/version-management/git-review/default.nix @@ -1,7 +1,7 @@ { lib, - fetchFromGitea, buildPythonApplication, + fetchgit, pbr, requests, setuptools, @@ -10,18 +10,17 @@ buildPythonApplication rec { pname = "git-review"; - version = "2.4.0"; + version = "2.5.0"; # Manually set version because prb wants to get it from the git # upstream repository (and we are installing from tarball instead) PBR_VERSION = version; - src = fetchFromGitea { - domain = "opendev.org"; - owner = "opendev"; - repo = "git-review"; - rev = version; - hash = "sha256-UfYc662NqnQt0+CKc+18jXnNTOcZv8urCNBsWd6x0VQ="; + # fetchFromGitea fails trying to download archive file + src = fetchgit { + url = "https://opendev.org/opendev/git-review"; + tag = version; + hash = "sha256-RE5XAUS46Y/jtI0/csR59B9l1gYpHuwGQkbWqoTfxPk="; }; outputs = [ @@ -50,6 +49,7 @@ buildPythonApplication rec { meta = with lib; { description = "Tool to submit code to Gerrit"; homepage = "https://opendev.org/opendev/git-review"; + changelog = "https://docs.opendev.org/opendev/git-review/latest/releasenotes.html#relnotes-${version}"; license = licenses.asl20; maintainers = with maintainers; [ kira-bruneau ]; mainProgram = "git-review"; diff --git a/pkgs/applications/video/mpv/scripts/easycrop.nix b/pkgs/applications/video/mpv/scripts/easycrop.nix new file mode 100644 index 000000000000..1ed3d648cb2d --- /dev/null +++ b/pkgs/applications/video/mpv/scripts/easycrop.nix @@ -0,0 +1,44 @@ +{ + lib, + buildLua, + fetchFromGitHub, + unstableGitUpdater, +}: + +buildLua { + pname = "easycrop"; + version = "0-unstable-2018-01-24"; + + src = fetchFromGitHub { + owner = "aidanholm"; + repo = "mpv-easycrop"; + rev = "b8a67bb9039e19dec54d92ea57076c0c98e981aa"; + hash = "sha256-VRQP8j/Z/OvVqrEpvWcLmJFotxbTRynHoqvfIQIQmqY="; + }; + + scriptPath = "easycrop.lua"; + + passthru.updateScript = unstableGitUpdater { }; + + meta = { + description = "Manually crop videos during playback in mpv"; + longDescription = '' + A simple mpv script for manually cropping videos with ease. + + - Works during video playback + - No need to re-encode or modify video files + + Press "c" to begin cropping. Click at one corner of the desired + cropping rectangle, and click a second time at the opposite + corner; the video will be cropped immediately. Pressing "c" again + will undo the current crop. + + If you wish to use a key other than "c" to crop, the keybind + `easy_crop` can be changed. + ''; + homepage = "https://github.com/aidanholm/mpv-easycrop"; + license = lib.licenses.gpl3; + platforms = lib.platforms.all; + maintainers = with lib.maintainers; [ RossSmyth ]; + }; +} diff --git a/pkgs/applications/video/mpv/scripts/eisa01.nix b/pkgs/applications/video/mpv/scripts/eisa01.nix index 508b1fdf64e4..66cb7033bc60 100644 --- a/pkgs/applications/video/mpv/scripts/eisa01.nix +++ b/pkgs/applications/video/mpv/scripts/eisa01.nix @@ -12,13 +12,13 @@ let let self = { inherit pname; - version = "0-unstable-2025-05-08"; + version = "0-unstable-2025-05-14"; src = fetchFromGitHub { owner = "Eisa01"; repo = "mpv-scripts"; - rev = "4701419f9b9063a5425f3942ec62cc029599430d"; - hash = "sha256-QXpuqViVXIGCDbX0OVjDW7E67odZTMbk1iXfz7bBasU="; + rev = "100fea81ae8560c6fb113b1f6bb20857a41a5705"; + hash = "sha256-bMEKsHrJ+mgG7Vqpzj4TAr7Hehq2o2RuneowhrDCd5k="; # avoid downloading screenshots and videos sparseCheckout = [ "scripts/" diff --git a/pkgs/applications/video/natron/default.nix b/pkgs/applications/video/natron/default.nix index 57175d62e0e7..c715c1fa3827 100644 --- a/pkgs/applications/video/natron/default.nix +++ b/pkgs/applications/video/natron/default.nix @@ -13,7 +13,7 @@ extra-cmake-modules, glog, libXdmcp, - python3, + python312, wayland, }: @@ -26,6 +26,7 @@ let rev = "Natron-v${minorVersion}"; hash = "sha256-TD7Uge9kKbFxOmOCn+TSQovnKTmFS3uERTu5lmZFHbc="; }; + python3 = python312; in stdenv.mkDerivation { inherit version; @@ -104,6 +105,7 @@ stdenv.mkDerivation { license = lib.licenses.gpl2; maintainers = [ maintainers.puffnfresh ]; platforms = platforms.linux; - broken = stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64; + # error: 'LogMessageVoidify' is not a member of 'google' + broken = true; }; } diff --git a/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix b/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix index 871b0921ee47..d03faf8c63c7 100644 --- a/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix +++ b/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix @@ -20,10 +20,9 @@ libXScrnSaver, libusb1, pkg-config, - fetchpatch, # #FIXME: Could not get cmake to pick up on these dependencies -# Prevents cmake from building the OCR video capabilities -# Everything else should work just missing this on plugin +# Ommiting them prevents cmake from building the OCR video capabilities +# Everything else should work it's just missing this one plugin # tesseract, # leptonica, }: @@ -37,13 +36,13 @@ let in stdenv.mkDerivation rec { pname = "advanced-scene-switcher"; - version = "1.28.1"; + version = "1.30.1"; src = fetchFromGitHub { owner = "WarmUpTill"; repo = "SceneSwitcher"; rev = version; - hash = "sha256-1U5quhfdhEBcCbEzW0uEpimYgvdbsIwaL2EdQ4cLF/M="; + hash = "sha256-UTgOZK4SFjTcbAGQGY4kQbaskWhKA5fAkHBPNlPYzxo="; }; nativeBuildInputs = [ @@ -52,14 +51,6 @@ stdenv.mkDerivation rec { pkg-config ]; - patches = [ - # https://github.com/WarmUpTill/SceneSwitcher/pull/1244 - (fetchpatch { - url = "https://github.com/WarmUpTill/SceneSwitcher/commit/e0c650574f9f7f6cae5626afa9abf8a838dc0858.diff"; - hash = "sha256-eXO8LdGYf60sd/kyxWVDSEpwyzp4Uu9TpPADg5ED4yU="; - }) - ]; - buildInputs = [ alsa-lib asio diff --git a/pkgs/applications/video/obs-studio/plugins/obs-dvd-screensaver.nix b/pkgs/applications/video/obs-studio/plugins/obs-dvd-screensaver.nix index ab7e6891b067..d5027568fbe0 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-dvd-screensaver.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-dvd-screensaver.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "obs-dvd-screensaver"; - version = "0.0.2"; + version = "0.1.0"; src = fetchFromGitHub { owner = "wimpysworld"; repo = "obs-dvd-screensaver"; tag = "${finalAttrs.version}"; - hash = "sha256-uZdFP3TULECzYNKtwaxFIcFYeFYdEoJ+ZKAqh9y9MEo="; + hash = "sha256-eUfy3m0r/sLrGLbp3en1ofcVVWZ+t2rZ4knjwfrorhw="; }; strictDeps = true; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix b/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix index 647b821a32bb..b754c4f19944 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "obs-move-transition"; - version = "3.1.3"; + version = "3.1.4"; src = fetchFromGitHub { owner = "exeldro"; repo = "obs-move-transition"; rev = version; - sha256 = "sha256-8H0CJvJDrB7aP52VXsZ/GuTHQw/QJKLSHnKzhT1drU4="; + sha256 = "sha256-dOPt0++vBV95GycItuzaCHUQ8DHVEj6Q6EhNhhss4mA="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/applications/video/obs-studio/plugins/obs-rgb-levels.nix b/pkgs/applications/video/obs-studio/plugins/obs-rgb-levels.nix index 3779e14e4aee..d17e9b90d41b 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-rgb-levels.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-rgb-levels.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "obs-rgb-levels"; - version = "1.0.2"; + version = "1.0.3"; src = fetchFromGitHub { owner = "wimpysworld"; repo = "obs-rgb-levels"; rev = version; - sha256 = "sha256-W79KUUUodlARlIMg/DaN+fxq/NEkp4k8MuEOHrJTbCk="; + sha256 = "sha256-DXrDyIBe2tp+9M39PLDf/AmX7lBa2teduBC8FG0IK7Y="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/applications/virtualization/cri-o/default.nix b/pkgs/applications/virtualization/cri-o/default.nix index 8138cf1e35d8..75d52f342601 100644 --- a/pkgs/applications/virtualization/cri-o/default.nix +++ b/pkgs/applications/virtualization/cri-o/default.nix @@ -17,13 +17,13 @@ buildGoModule rec { pname = "cri-o"; - version = "1.33.0"; + version = "1.33.1"; src = fetchFromGitHub { owner = "cri-o"; repo = "cri-o"; rev = "v${version}"; - hash = "sha256-SM+68ZQjmEkDNW+KSHpxDJ3ADAk+euIkbQokp86Fm+I="; + hash = "sha256-leWFoZ8aMGQgy0JDcbyZ+GX9B6Qdm+f5ng1X0beIcw0="; }; vendorHash = null; diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix index 5be14107857d..8449e7a75a64 100644 --- a/pkgs/applications/virtualization/docker/default.nix +++ b/pkgs/applications/virtualization/docker/default.nix @@ -315,6 +315,8 @@ rec { installPhase = '' + runHook preInstall + install -Dm755 ./build/docker $out/libexec/docker/docker makeWrapper $out/libexec/docker/docker $out/bin/docker \ @@ -330,11 +332,16 @@ rec { ln -s ${moby}/etc/systemd/system/docker.service $out/etc/systemd/system/docker.service ln -s ${moby}/etc/systemd/system/docker.socket $out/etc/systemd/system/docker.socket '' - + '' + # Required to avoid breaking cross builds + + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' # completion (cli) - installShellCompletion --bash ./contrib/completion/bash/docker - installShellCompletion --fish ./contrib/completion/fish/docker.fish - installShellCompletion --zsh ./contrib/completion/zsh/_docker + installShellCompletion --cmd docker \ + --bash <($out/bin/docker completion bash) \ + --fish <($out/bin/docker completion fish) \ + --zsh <($out/bin/docker completion zsh) + '' + + '' + runHook postInstall ''; passthru = { @@ -360,55 +367,27 @@ rec { # Get revisions from # https://github.com/moby/moby/tree/${version}/hack/dockerfile/install/* docker_25 = callPackage dockerGen rec { - version = "25.0.8"; + version = "25.0.10"; # Upstream forgot to tag release # https://github.com/docker/cli/issues/5789 cliRev = "43987fca488a535d810c429f75743d8c7b63bf4f"; cliHash = "sha256-OwufdfuUPbPtgqfPeiKrQVkOOacU2g4ommHb770gV40="; mobyRev = "v${version}"; - mobyHash = "sha256-n7GdjQEceqyC7E2sPXQWyxpRThtH35eM/J20yLa5NSs="; - runcRev = "v1.2.4"; - runcHash = "sha256-LdYCMxdqDP7rKo6Ek/B1DE6QvUFrltbSJVggkVkXQZo="; - containerdRev = "v1.7.25"; - containerdHash = "sha256-T0F5bwxSCqa4Czs/W01NaAlJJFvgrzkBC1y/r+muivA="; - tiniRev = "v0.19.0"; - tiniHash = "sha256-ZDKu/8yE5G0RYFJdhgmCdN3obJNyRWv6K/Gd17zc1sI="; - }; - - docker_26 = callPackage dockerGen rec { - version = "26.1.5"; - cliRev = "v${version}"; - cliHash = "sha256-UlN+Uc0YHhLyu14h5oDBXP4K9y2tYKPOIPTGZCe4PVY="; - mobyRev = "v${version}"; - mobyHash = "sha256-6Hx7GnA7P6HqDlnGoc+HpPHSl69XezwAEGbvWYUVQlE="; - runcRev = "v1.1.12"; - runcHash = "sha256-N77CU5XiGYIdwQNPFyluXjseTeaYuNJ//OsEUS0g/v0="; - containerdRev = "v1.7.18"; - containerdHash = "sha256-IlK5IwniaBhqMgxQzV8btQcbdJkNEQeUMoh6aOsBOHQ="; - tiniRev = "v0.19.0"; - tiniHash = "sha256-ZDKu/8yE5G0RYFJdhgmCdN3obJNyRWv6K/Gd17zc1sI="; - }; - - docker_27 = callPackage dockerGen rec { - version = "27.5.1"; - cliRev = "v${version}"; - cliHash = "sha256-7laxRfssh2aGfJeZI0PsJ/MCiy2npigSmCa1SUlWY4s="; - mobyRev = "v${version}"; - mobyHash = "sha256-q+VCJZ93jvPJQE0xn89prH/6spsarVY3VUEmgwyMxU4="; - runcRev = "v1.2.4"; - runcHash = "sha256-LdYCMxdqDP7rKo6Ek/B1DE6QvUFrltbSJVggkVkXQZo="; - containerdRev = "v1.7.25"; - containerdHash = "sha256-T0F5bwxSCqa4Czs/W01NaAlJJFvgrzkBC1y/r+muivA="; + mobyHash = "sha256-57iXL+QYtbEz099yOTR4k/2Z7CT08OAkQ3kVJSmsa/U="; + runcRev = "v1.2.5"; + runcHash = "sha256-J/QmOZxYnMPpzm87HhPTkYdt+fN+yeSUu2sv6aUeTY4="; + containerdRev = "v1.7.27"; + containerdHash = "sha256-H94EHnfW2Z59KcHcbfJn+BipyZiNUvHe50G5EXbrIps="; tiniRev = "v0.19.0"; tiniHash = "sha256-ZDKu/8yE5G0RYFJdhgmCdN3obJNyRWv6K/Gd17zc1sI="; }; docker_28 = callPackage dockerGen rec { - version = "28.1.1"; + version = "28.2.2"; cliRev = "v${version}"; - cliHash = "sha256-bRnJ+c2C4t+94NL82L0S3r84uoJaTDq16YQGvEmo7Sw="; + cliHash = "sha256-ZaKG4H8BqIzgs9OFktH9bjHSf9exAlh5kPCGP021BWI="; mobyRev = "v${version}"; - mobyHash = "sha256-FB9btun41PAqqBjb9Ebn7SyjrIg/ILe3xJ+mqu2lqrs="; + mobyHash = "sha256-Y2yP2NBJLrI83iHe2EoA7/cXiQifrCkUKlwJhINKBXE="; runcRev = "v1.2.6"; runcHash = "sha256-XMN+YKdQOQeOLLwvdrC6Si2iAIyyHD5RgZbrOHrQE/g="; containerdRev = "v1.7.27"; diff --git a/pkgs/applications/virtualization/lima/default.nix b/pkgs/applications/virtualization/lima/default.nix deleted file mode 100644 index 6337a7a7749c..000000000000 --- a/pkgs/applications/virtualization/lima/default.nix +++ /dev/null @@ -1,95 +0,0 @@ -{ - lib, - stdenv, - buildGoModule, - fetchFromGitHub, - installShellFiles, - qemu, - sigtool, - makeWrapper, - nix-update-script, - apple-sdk_15, - lima, -}: - -buildGoModule rec { - pname = "lima"; - version = "1.0.7"; - - src = fetchFromGitHub { - owner = "lima-vm"; - repo = "lima"; - rev = "v${version}"; - hash = "sha256-pwSLQlYPJNzvXuW6KLmQoaafQyf3o6fjVAfKe9RJ3UE="; - }; - - vendorHash = "sha256-JxrUX22yNb5/tZIBWDiBaMLOpEnOk+2lZdpzCjjqO4E="; - - nativeBuildInputs = [ - makeWrapper - installShellFiles - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ sigtool ]; - - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_15 ]; - - postPatch = '' - substituteInPlace Makefile \ - --replace-fail 'codesign -f -v --entitlements vz.entitlements -s -' 'codesign -f --entitlements vz.entitlements -s -' - ''; - - # It attaches entitlements with codesign and strip removes those, - # voiding the entitlements and making it non-operational. - dontStrip = stdenv.hostPlatform.isDarwin; - - buildPhase = '' - runHook preBuild - make "VERSION=v${version}" "CC=${stdenv.cc.targetPrefix}cc" binaries - runHook postBuild - ''; - - preCheck = '' - # Workaround for: could not create "/homeless-shelter/.lima/_config" directory: mkdir /homeless-shelter: permission denied - export LIMA_HOME="$(mktemp -d)" - ''; - - installPhase = - '' - runHook preInstall - mkdir -p $out - cp -r _output/* $out - wrapProgram $out/bin/limactl \ - --prefix PATH : ${lib.makeBinPath [ qemu ]} - '' - + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' - installShellCompletion --cmd limactl \ - --bash <($out/bin/limactl completion bash) \ - --fish <($out/bin/limactl completion fish) \ - --zsh <($out/bin/limactl completion zsh) - '' - + '' - runHook postInstall - ''; - - doInstallCheck = true; - # Workaround for: "panic: $HOME is not defined" at https://github.com/lima-vm/lima/blob/cb99e9f8d01ebb82d000c7912fcadcd87ec13ad5/pkg/limayaml/defaults.go#L53 - # Don't use versionCheckHook for this package. It cannot inject environment variables. - installCheckPhase = '' - if [[ "$(HOME="$(mktemp -d)" "$out/bin/limactl" --version | cut -d ' ' -f 3)" == "${version}" ]]; then - echo '${pname} smoke check passed' - else - echo '${pname} smoke check failed' - return 1 - fi - USER=nix $out/bin/limactl validate templates/default.yaml - ''; - - passthru.updateScript = nix-update-script { }; - - meta = { - homepage = "https://github.com/lima-vm/lima"; - description = "Linux virtual machines (on macOS, in most cases)"; - changelog = "https://github.com/lima-vm/lima/releases/tag/v${version}"; - license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ anhduy ]; - }; -} diff --git a/pkgs/applications/virtualization/podman-compose/default.nix b/pkgs/applications/virtualization/podman-compose/default.nix index 7c5cecf27fd8..fd76269479b3 100644 --- a/pkgs/applications/virtualization/podman-compose/default.nix +++ b/pkgs/applications/virtualization/podman-compose/default.nix @@ -9,7 +9,7 @@ }: buildPythonApplication rec { - version = "1.4.0"; + version = "1.4.1"; pname = "podman-compose"; pyproject = true; @@ -17,7 +17,7 @@ buildPythonApplication rec { repo = "podman-compose"; owner = "containers"; tag = "v${version}"; - hash = "sha256-779L8fc5rxnkW5f4i/zgc8K9bEwKNKjw20cNlSwU/aA="; + hash = "sha256-uTwupM1Kk/Dx95MjXhg9KLw9XiefL5j2K3hlKYHq5FM="; }; build-system = [ diff --git a/pkgs/applications/virtualization/singularity/packages.nix b/pkgs/applications/virtualization/singularity/packages.nix index 7d4eaf367b60..3ee5e0cfd9d9 100644 --- a/pkgs/applications/virtualization/singularity/packages.nix +++ b/pkgs/applications/virtualization/singularity/packages.nix @@ -46,19 +46,19 @@ let callPackage (import ./generic.nix rec { pname = "singularity-ce"; - version = "4.3.1"; + version = "4.3.2"; projectName = "singularity"; src = fetchFromGitHub { owner = "sylabs"; repo = "singularity"; tag = "v${version}"; - hash = "sha256-hkUM9K0AweRpLa+LZ7XOI/oDk72EKWzVN5h4Kz2w2B0="; + hash = "sha256-lYYY449agINk1cwRl06gstGhkwQKaeZdLnwT6bW6HY4="; }; # Override vendorHash with overrideAttrs. # See https://nixos.org/manual/nixpkgs/unstable/#buildGoModule-vendorHash - vendorHash = "sha256-hAVynmVXPmQPo+Kd2ajBSU+UqBpvJ5TokOJXZwySr+w="; + vendorHash = "sha256-3CEkaG8k6W1/8v8tsVLXdSV68QHUgn5/BEd8qjkW7ik="; extraConfigureFlags = [ # Do not build squashfuse from the Git submodule sources, use Nixpkgs provided version diff --git a/pkgs/applications/window-managers/hyprwm/hyprland-plugins/hyprsplit.nix b/pkgs/applications/window-managers/hyprwm/hyprland-plugins/hyprsplit.nix index 8a7d7cda0a96..a094d3c8478f 100644 --- a/pkgs/applications/window-managers/hyprwm/hyprland-plugins/hyprsplit.nix +++ b/pkgs/applications/window-managers/hyprwm/hyprland-plugins/hyprsplit.nix @@ -9,13 +9,13 @@ }: mkHyprlandPlugin hyprland rec { pluginName = "hyprsplit"; - version = "0.48.1-unstable-2025-05-03"; + version = "0.49.0"; src = fetchFromGitHub { owner = "shezdy"; repo = "hyprsplit"; - rev = "9a65a4d33cc86703d2ac1f349de9697c8fc7a4b9"; - hash = "sha256-NJTCUa8kHXzQDpUmSifXrHMheR5yejigG2vPBepHolA="; + rev = "refs/tags/v${version}"; + hash = "sha256-0jrsiUoQi/VXM2Ji7YTOEYDYYlBI2C3ZbgQpYoAEVKI="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/window-managers/i3/bumblebee-status/plugins.nix b/pkgs/applications/window-managers/i3/bumblebee-status/plugins.nix index 7881b46eac43..10cb5a565772 100644 --- a/pkgs/applications/window-managers/i3/bumblebee-status/plugins.nix +++ b/pkgs/applications/window-managers/i3/bumblebee-status/plugins.nix @@ -1,12 +1,12 @@ { pkgs, - python, + python3, ... }: # propagatedBuildInputs are for Python libraries and executables # buildInputs are for libraries let - py = python.pkgs; + py = python3.pkgs; in { amixer.propagatedBuildInputs = [ pkgs.alsa-utils ]; diff --git a/pkgs/applications/window-managers/i3/lock.nix b/pkgs/applications/window-managers/i3/lock.nix index 7eb1bfe94713..0713f5ecfbe7 100644 --- a/pkgs/applications/window-managers/i3/lock.nix +++ b/pkgs/applications/window-managers/i3/lock.nix @@ -58,7 +58,6 @@ stdenv.mkDerivation rec { homepage = "https://i3wm.org/i3lock/"; maintainers = with maintainers; [ malyn - domenkozar ]; mainProgram = "i3lock"; license = licenses.bsd3; diff --git a/pkgs/applications/window-managers/yabar/build.nix b/pkgs/applications/window-managers/yabar/build.nix deleted file mode 100644 index b455b32fa7ae..000000000000 --- a/pkgs/applications/window-managers/yabar/build.nix +++ /dev/null @@ -1,93 +0,0 @@ -{ - stdenv, - fetchFromGitHub, - cairo, - gdk-pixbuf, - libconfig, - pango, - pkg-config, - xcbutilwm, - alsa-lib, - wirelesstools, - asciidoc, - libxslt, - makeWrapper, - docbook_xsl, - configFile ? null, - lib, - rev, - sha256, - version, - patches ? [ ], -}: - -stdenv.mkDerivation { - pname = "yabar"; - inherit version; - - src = fetchFromGitHub { - inherit rev sha256; - - owner = "geommer"; - repo = "yabar"; - }; - - inherit patches; - - hardeningDisable = [ "format" ]; - - strictDeps = true; - depsBuildBuild = [ - pkg-config - ]; - nativeBuildInputs = [ - pkg-config - asciidoc - docbook_xsl - libxslt - makeWrapper - libconfig - pango - ]; - buildInputs = [ - cairo - gdk-pixbuf - libconfig - pango - xcbutilwm - alsa-lib - wirelesstools - ]; - - postPatch = '' - substituteInPlace ./Makefile \ - --replace "\$(shell git describe)" "${version}" \ - --replace "a2x" "a2x --no-xmllint" - ''; - - makeFlags = [ - "DESTDIR=$(out)" - "PREFIX=/" - ]; - - postInstall = '' - mkdir -p $out/share/yabar/examples - cp -v examples/*.config $out/share/yabar/examples - - ${lib.optionalString (configFile != null) '' - wrapProgram "$out/bin/yabar" \ - --add-flags "-c ${configFile}" - ''} - ''; - - #passthru.tests = { inherit (nixosTests) yabar; }; # nixos currently uses yabar-unstable - - meta = with lib; { - description = "Modern and lightweight status bar for X window managers"; - homepage = "https://github.com/geommer/yabar"; - license = licenses.mit; - platforms = platforms.linux; - maintainers = [ ]; - mainProgram = "yabar"; - }; -} diff --git a/pkgs/applications/window-managers/yabar/default.nix b/pkgs/applications/window-managers/yabar/default.nix deleted file mode 100644 index 5a58d086340c..000000000000 --- a/pkgs/applications/window-managers/yabar/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ - callPackage, - attrs ? { }, - fetchpatch, -}: - -let - overrides = rec { - version = "0.4.0"; - - rev = version; - sha256 = "1nw9dar1caqln5fr0dqk7dg6naazbpfwwzxwlkxz42shsc3w30a6"; - - patches = [ - (fetchpatch { - url = "https://github.com/geommer/yabar/commit/9779a5e04bd6e8cdc1c9fcf5d7ac31416af85a53.patch"; - sha256 = "1szhr3k1kq6ixgnp74wnzgfvgxm6r4zpc3ny2x2wzy6lh2czc07s"; - }) - ]; - - } // attrs; -in -callPackage ./build.nix overrides diff --git a/pkgs/applications/window-managers/yabar/unstable.nix b/pkgs/applications/window-managers/yabar/unstable.nix deleted file mode 100644 index 44998faaf667..000000000000 --- a/pkgs/applications/window-managers/yabar/unstable.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ - fetchpatch, - playerctl, - libxkbcommon, - callPackage, - nixosTests, - attrs ? { }, -}: - -let - pkg = callPackage ./build.nix ( - { - version = "unstable-2018-01-18"; - - rev = "c516e8e78d39dd2b339acadc4c175347171150bb"; - sha256 = "1p9lx78cayyn7qc2q66id2xfs76jyddnqv2x1ypsvixaxwcvqgdb"; - } - // attrs - ); -in -pkg.overrideAttrs (o: { - buildInputs = o.buildInputs ++ [ - playerctl - libxkbcommon - ]; - - makeFlags = o.makeFlags ++ [ - "PLAYERCTL=1" - ]; - - patches = (o.patches or [ ]) ++ [ - (fetchpatch { - url = "https://github.com/geommer/yabar/commit/008dc1420ff684cf12ce2ef3ac9d642e054e39f5.patch"; - sha256 = "1q7nd66ai6nr2m6iqxn55gvbr4r5gjc00c8wyjc3riv31qcbqbhv"; - }) - ]; - - passthru = (o.passthru or { }) // { - tests = (o.passthru.tests or { }) // { - inherit (nixosTests) yabar; - }; - }; - -}) diff --git a/pkgs/build-support/build-graalvm-native-image/default.nix b/pkgs/build-support/build-graalvm-native-image/default.nix index e1e4df52f02a..fc7bf7741601 100644 --- a/pkgs/build-support/build-graalvm-native-image/default.nix +++ b/pkgs/build-support/build-graalvm-native-image/default.nix @@ -2,95 +2,107 @@ lib, stdenv, glibcLocales, - # The GraalVM derivation to use - graalvmDrv, removeReferencesTo, - executable ? args.pname, - # JAR used as input for GraalVM derivation, defaults to src - jar ? args.src, - dontUnpack ? (jar == args.src), - # Default native-image arguments. You probably don't want to set this, - # except in special cases. In most cases, use extraNativeBuildArgs instead - nativeImageBuildArgs ? [ - (lib.optionalString stdenv.hostPlatform.isDarwin "-H:-CheckToolchain") - (lib.optionalString ( - stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64 - ) "-H:PageSize=64K") - "-H:Name=${executable}" - "-march=compatibility" - "--verbose" - ], - # Extra arguments to be passed to the native-image - extraNativeImageBuildArgs ? [ ], - # XMX size of GraalVM during build - graalvmXmx ? "-J-Xmx6g", - meta ? { }, - LC_ALL ? "en_US.UTF-8", - ... -}@args: + graalvmPackages, +}: -let - extraArgs = builtins.removeAttrs args [ - "lib" - "stdenv" - "glibcLocales" - "jar" - "dontUnpack" - "LC_ALL" - "meta" - "buildPhase" - "nativeBuildInputs" - "installPhase" - "postInstall" +lib.extendMkDerivation { + constructDrv = stdenv.mkDerivation; + + excludeDrvArgNames = [ + "executable" + "extraNativeImageBuildArgs" + "graalvmDrv" + "graalvmXmx" + "nativeImageBuildArgs" ]; -in -stdenv.mkDerivation ( - { - inherit dontUnpack jar; - env = { inherit LC_ALL; }; + extendDrvArgs = + finalAttrs: + { + dontUnpack ? true, + strictDeps ? true, + __structuredAttrs ? true, - nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ - graalvmDrv - glibcLocales - removeReferencesTo - ]; + # The GraalVM derivation to use + graalvmDrv ? graalvmPackages.graalvm-ce, - nativeImageBuildArgs = nativeImageBuildArgs ++ extraNativeImageBuildArgs ++ [ graalvmXmx ]; + executable ? finalAttrs.meta.mainProgram, - buildPhase = - args.buildPhase or '' - runHook preBuild + # Default native-image arguments. You probably don't want to set this, + # except in special cases. In most cases, use extraNativeBuildArgs instead + nativeImageBuildArgs ? [ + (lib.optionalString stdenv.hostPlatform.isDarwin "-H:-CheckToolchain") + (lib.optionalString ( + stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64 + ) "-H:PageSize=64K") + "-H:Name=${executable}" + "-march=compatibility" + "--verbose" + ], - native-image -jar "$jar" ''${nativeImageBuildArgs[@]} + # Extra arguments to be passed to the native-image + extraNativeImageBuildArgs ? [ ], - runHook postBuild + # XMX size of GraalVM during build + graalvmXmx ? "-J-Xmx6g", + + env ? { }, + meta ? { }, + passthru ? { }, + ... + }@args: + { + env = { + LC_ALL = "en_US.UTF-8"; + } // env; + + inherit dontUnpack strictDeps __structuredAttrs; + + nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ + graalvmDrv + glibcLocales + removeReferencesTo + ]; + + # `nativeBuildInputs` does not allow `graalvmDrv`'s propagatedBuildInput to reach here this package. + # As its `propagatedBuildInputs` is required for the build process with `native-image`, we must add it here as well. + buildInputs = [ graalvmDrv ]; + + nativeImageArgs = nativeImageBuildArgs ++ extraNativeImageBuildArgs ++ [ graalvmXmx ]; + + buildPhase = + args.buildPhase or '' + runHook preBuild + + native-image -jar "$src" ''${nativeImageArgs[@]} + + runHook postBuild + ''; + + installPhase = + args.installPhase or '' + runHook preInstall + + install -Dm755 ${executable} -t $out/bin + + runHook postInstall + ''; + + postInstall = '' + remove-references-to -t ${graalvmDrv} $out/bin/${executable} + ${args.postInstall or ""} ''; - installPhase = - args.installPhase or '' - runHook preInstall + disallowedReferences = [ graalvmDrv ]; - install -Dm755 ${executable} -t $out/bin + passthru = { + inherit graalvmDrv; + } // passthru; - runHook postInstall - ''; - - postInstall = '' - remove-references-to -t ${graalvmDrv} $out/bin/${executable} - ${args.postInstall or ""} - ''; - - disallowedReferences = [ graalvmDrv ]; - - passthru = { inherit graalvmDrv; }; - - meta = { - # default to graalvm's platforms - platforms = graalvmDrv.meta.platforms; - # default to executable name - mainProgram = executable; - } // meta; - } - // extraArgs -) + meta = { + # default to graalvm's platforms + inherit (graalvmDrv.meta) platforms; + } // meta; + }; +} diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index 4758411773b4..a4b4573082f4 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -804,9 +804,21 @@ stdenvNoCC.mkDerivation { # Do not prevent omission of framepointers on x86 32bit due to the small # number of general purpose registers. Keeping EBP available provides # non-trivial performance benefits. - + optionalString (!targetPlatform.isx86_32) '' - echo " -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer " >> $out/nix-support/cc-cflags-before - '' + + ( + let + enable_fp = !targetPlatform.isx86_32; + enable_leaf_fp = + enable_fp + && ( + targetPlatform.isx86_64 + || targetPlatform.isAarch64 + || (targetPlatform.isRiscV && (!isGNU || versionAtLeast ccVersion "15.1")) + ); + in + optionalString enable_fp '' + echo " -fno-omit-frame-pointer ${optionalString enable_leaf_fp "-mno-omit-leaf-frame-pointer "}" >> $out/nix-support/cc-cflags-before + '' + ) # For clang, this is handled in add-clang-cc-cflags-before.sh + optionalString (!isClang && machineFlags != [ ]) '' diff --git a/pkgs/build-support/fetchbitbucket/default.nix b/pkgs/build-support/fetchbitbucket/default.nix index 9e64954bebff..b98fc21de7ba 100644 --- a/pkgs/build-support/fetchbitbucket/default.nix +++ b/pkgs/build-support/fetchbitbucket/default.nix @@ -1,11 +1,15 @@ -{ fetchzip, lib }: +{ + lib, + repoRevToNameMaybe, + fetchzip, +}: lib.makeOverridable ( { owner, repo, rev, - name ? "source", + name ? repoRevToNameMaybe repo rev "bitbucket", ... # For hash agility }@args: fetchzip ( diff --git a/pkgs/build-support/fetchgit/default.nix b/pkgs/build-support/fetchgit/default.nix index 9fd433ff6d66..374d55b0456c 100644 --- a/pkgs/build-support/fetchgit/default.nix +++ b/pkgs/build-support/fetchgit/default.nix @@ -5,29 +5,26 @@ git-lfs, cacert, }: + let urlToName = url: rev: let - inherit (lib) removeSuffix splitString last; - base = last (splitString ":" (baseNameOf (removeSuffix "/" url))); - - matched = builtins.match "(.*)\\.git" base; - - short = builtins.substring 0 7 rev; - - appendShort = lib.optionalString ((builtins.match "[a-f0-9]*" rev) != null) "-${short}"; + shortRev = lib.sources.shortRev rev; + appendShort = lib.optionalString ((builtins.match "[a-f0-9]*" rev) != null) "-${shortRev}"; in - "${if matched == null then base else builtins.head matched}${appendShort}"; + "${lib.sources.urlToName url}${appendShort}"; in + lib.makeOverridable ( lib.fetchers.withNormalizedHash { } ( # NOTE Please document parameter additions or changes in - # doc/build-helpers/fetchers.chapter.md + # ../../../doc/build-helpers/fetchers.chapter.md { url, tag ? null, rev ? null, + name ? urlToName url (lib.revOrTag rev tag), leaveDotGit ? deepClone || fetchTags, outputHash ? lib.fakeHash, outputHashAlgo ? null, @@ -36,7 +33,6 @@ lib.makeOverridable ( branchName ? null, sparseCheckout ? [ ], nonConeMode ? false, - name ? null, nativeBuildInputs ? [ ], # Shell code executed before the file has been fetched. This, in # particular, can do things like set NIX_PREFETCH_GIT_CHECKOUT_HOOK to @@ -108,7 +104,7 @@ lib.makeOverridable ( "Please provide directories/patterns for sparse checkout as a list of strings. Passing a (multi-line) string is not supported any more." else stdenvNoCC.mkDerivation { - name = if name != null then name else urlToName url revWithTag; + inherit name; builder = ./builder.sh; fetcher = ./nix-prefetch-git; diff --git a/pkgs/build-support/fetchgithub/default.nix b/pkgs/build-support/fetchgithub/default.nix index be387e0fc484..2b3ab060418a 100644 --- a/pkgs/build-support/fetchgithub/default.nix +++ b/pkgs/build-support/fetchgithub/default.nix @@ -1,5 +1,6 @@ { lib, + repoRevToNameMaybe, fetchgit, fetchzip, }: @@ -10,7 +11,7 @@ lib.makeOverridable ( repo, tag ? null, rev ? null, - name ? "source", + name ? repoRevToNameMaybe repo (lib.revOrTag rev tag) "github", fetchSubmodules ? false, leaveDotGit ? null, deepClone ? false, diff --git a/pkgs/build-support/fetchgitiles/default.nix b/pkgs/build-support/fetchgitiles/default.nix index 409f2f4e2bd6..af30fa3da36a 100644 --- a/pkgs/build-support/fetchgitiles/default.nix +++ b/pkgs/build-support/fetchgitiles/default.nix @@ -1,11 +1,15 @@ -{ fetchzip, lib }: +{ + fetchzip, + repoRevToNameMaybe, + lib, +}: lib.makeOverridable ( { url, rev ? null, tag ? null, - name ? "source", + name ? repoRevToNameMaybe url (lib.revOrTag rev tag) "gitiles", ... }@args: diff --git a/pkgs/build-support/fetchgitlab/default.nix b/pkgs/build-support/fetchgitlab/default.nix index c060352d1a9f..822c3991fa29 100644 --- a/pkgs/build-support/fetchgitlab/default.nix +++ b/pkgs/build-support/fetchgitlab/default.nix @@ -1,5 +1,6 @@ { lib, + repoRevToNameMaybe, fetchgit, fetchzip, }: @@ -11,9 +12,9 @@ lib.makeOverridable ( repo, rev ? null, tag ? null, + name ? repoRevToNameMaybe repo (lib.revOrTag rev tag) "gitlab", protocol ? "https", domain ? "gitlab.com", - name ? "source", group ? null, fetchSubmodules ? false, leaveDotGit ? false, diff --git a/pkgs/build-support/fetchrepoorcz/default.nix b/pkgs/build-support/fetchrepoorcz/default.nix index bfa0ff4fa31a..83fd043e7088 100644 --- a/pkgs/build-support/fetchrepoorcz/default.nix +++ b/pkgs/build-support/fetchrepoorcz/default.nix @@ -1,10 +1,14 @@ -{ fetchzip }: +{ + lib, + repoRevToNameMaybe, + fetchzip, +}: # gitweb example, snapshot support is optional in gitweb { repo, rev, - name ? "source", + name ? repoRevToNameMaybe repo rev "repoorcz", ... # For hash agility }@args: fetchzip ( diff --git a/pkgs/build-support/fetchsavannah/default.nix b/pkgs/build-support/fetchsavannah/default.nix index e6828311c22f..a9d172382b8a 100644 --- a/pkgs/build-support/fetchsavannah/default.nix +++ b/pkgs/build-support/fetchsavannah/default.nix @@ -1,11 +1,15 @@ -{ fetchzip, lib }: +{ + lib, + repoRevToNameMaybe, + fetchzip, +}: lib.makeOverridable ( # cgit example, snapshot support is optional in cgit { repo, rev, - name ? "source", + name ? repoRevToNameMaybe repo rev "savannah", ... # For hash agility }@args: fetchzip ( diff --git a/pkgs/build-support/fetchsourcehut/default.nix b/pkgs/build-support/fetchsourcehut/default.nix index a8f645c351b3..fb36805733b8 100644 --- a/pkgs/build-support/fetchsourcehut/default.nix +++ b/pkgs/build-support/fetchsourcehut/default.nix @@ -1,8 +1,9 @@ { + lib, + repoRevToNameMaybe, fetchgit, fetchhg, fetchzip, - lib, }: let @@ -18,9 +19,9 @@ makeOverridable ( owner, repo, rev, + name ? repoRevToNameMaybe repo rev "sourcehut", domain ? "sr.ht", vc ? "git", - name ? "source", fetchSubmodules ? false, ... # For hash agility }@args: diff --git a/pkgs/build-support/fetchsvn/default.nix b/pkgs/build-support/fetchsvn/default.nix index 70df66af82ab..156c360986f3 100644 --- a/pkgs/build-support/fetchsvn/default.nix +++ b/pkgs/build-support/fetchsvn/default.nix @@ -9,51 +9,55 @@ openssh ? null, }: +let + repoToName = + url: rev: + let + inherit (lib) + removeSuffix + splitString + reverseList + head + last + elemAt + ; + base = removeSuffix "/" (last (splitString ":" url)); + path = reverseList (splitString "/" base); + repoName = + # ../repo/trunk -> repo + if head path == "trunk" then + elemAt path 1 + # ../repo/branches/branch -> repo-branch + else if elemAt path 1 == "branches" then + "${elemAt path 2}-${head path}" + # ../repo/tags/tag -> repo-tag + else if elemAt path 1 == "tags" then + "${elemAt path 2}-${head path}" + # ../repo (no trunk) -> repo + else + head path; + in + "${repoName}-r${toString rev}"; +in + { url, rev ? "HEAD", + name ? repoToName url rev, sha256 ? "", hash ? "", ignoreExternals ? false, ignoreKeywords ? false, - name ? null, preferLocalBuild ? true, }: assert sshSupport -> openssh != null; -let - repoName = - let - fst = lib.head; - snd = l: lib.head (lib.tail l); - trd = l: lib.head (lib.tail (lib.tail l)); - path_ = - (p: if lib.head p == "" then lib.tail p else p) # ~ drop final slash if any - (lib.reverseList (lib.splitString "/" url)); - path = [ (lib.removeSuffix "/" (lib.head path_)) ] ++ (lib.tail path_); - in - # ../repo/trunk -> repo - if fst path == "trunk" then - snd path - # ../repo/branches/branch -> repo-branch - else if snd path == "branches" then - "${trd path}-${fst path}" - # ../repo/tags/tag -> repo-tag - else if snd path == "tags" then - "${trd path}-${fst path}" - # ../repo (no trunk) -> repo - else - fst path; - - name_ = if name == null then "${repoName}-r${toString rev}" else name; -in - if hash != "" && sha256 != "" then throw "Only one of sha256 or hash can be set" else stdenvNoCC.mkDerivation { - name = name_; + inherit name; builder = ./builder.sh; nativeBuildInputs = [ cacert diff --git a/pkgs/build-support/fetchzip/default.nix b/pkgs/build-support/fetchzip/default.nix index dfd632192586..50be0c38f1e5 100644 --- a/pkgs/build-support/fetchzip/default.nix +++ b/pkgs/build-support/fetchzip/default.nix @@ -7,6 +7,7 @@ { lib, + repoRevToNameMaybe, fetchurl, withUnzip ? true, unzip, @@ -14,9 +15,9 @@ }: { - name ? "source", url ? "", urls ? [ ], + name ? repoRevToNameMaybe (if url != "" then url else builtins.head urls) null "unpacked", nativeBuildInputs ? [ ], postFetch ? "", extraPostFetch ? "", diff --git a/pkgs/build-support/rust/hooks/default.nix b/pkgs/build-support/rust/hooks/default.nix index d66804b07ab7..1499380e728b 100644 --- a/pkgs/build-support/rust/hooks/default.nix +++ b/pkgs/build-support/rust/hooks/default.nix @@ -1,16 +1,12 @@ { - buildPackages, - callPackage, - cargo, cargo-nextest, clang, diffutils, lib, makeSetupHook, - maturin, rust, - rustc, stdenv, + pkgsHostTarget, pkgsTargetTarget, # This confusingly-named parameter indicates the *subdirectory of @@ -21,138 +17,118 @@ pkgsCross, }: { - cargoBuildHook = callPackage ( - { }: - makeSetupHook { - name = "cargo-build-hook.sh"; - substitutions = { - inherit (stdenv.targetPlatform.rust) rustcTarget; - inherit (rust.envVars) setEnv; + cargoBuildHook = makeSetupHook { + name = "cargo-build-hook.sh"; + substitutions = { + inherit (stdenv.targetPlatform.rust) rustcTarget; + inherit (rust.envVars) setEnv; + }; + passthru.tests = + { + test = tests.rust-hooks.cargoBuildHook; + } + // lib.optionalAttrs (stdenv.isLinux) { + testCross = pkgsCross.riscv64.tests.rust-hooks.cargoBuildHook; }; - passthru.tests = - { - test = tests.rust-hooks.cargoBuildHook; - } - // lib.optionalAttrs (stdenv.isLinux) { - testCross = pkgsCross.riscv64.tests.rust-hooks.cargoBuildHook; - }; - } ./cargo-build-hook.sh - ) { }; + } ./cargo-build-hook.sh; - cargoCheckHook = callPackage ( - { }: - makeSetupHook { - name = "cargo-check-hook.sh"; - substitutions = { - inherit (stdenv.targetPlatform.rust) rustcTarget; - inherit (rust.envVars) setEnv; + cargoCheckHook = makeSetupHook { + name = "cargo-check-hook.sh"; + substitutions = { + inherit (stdenv.targetPlatform.rust) rustcTarget; + inherit (rust.envVars) setEnv; + }; + passthru.tests = + { + test = tests.rust-hooks.cargoCheckHook; + } + // lib.optionalAttrs (stdenv.isLinux) { + testCross = pkgsCross.riscv64.tests.rust-hooks.cargoCheckHook; }; - passthru.tests = - { - test = tests.rust-hooks.cargoCheckHook; - } - // lib.optionalAttrs (stdenv.isLinux) { - testCross = pkgsCross.riscv64.tests.rust-hooks.cargoCheckHook; - }; - } ./cargo-check-hook.sh - ) { }; + } ./cargo-check-hook.sh; - cargoInstallHook = callPackage ( - { }: - makeSetupHook { - name = "cargo-install-hook.sh"; - substitutions = { - targetSubdirectory = target; + cargoInstallHook = makeSetupHook { + name = "cargo-install-hook.sh"; + substitutions = { + targetSubdirectory = target; + }; + passthru.tests = + { + test = tests.rust-hooks.cargoInstallHook; + } + // lib.optionalAttrs (stdenv.isLinux) { + testCross = pkgsCross.riscv64.tests.rust-hooks.cargoInstallHook; }; - passthru.tests = - { - test = tests.rust-hooks.cargoInstallHook; - } - // lib.optionalAttrs (stdenv.isLinux) { - testCross = pkgsCross.riscv64.tests.rust-hooks.cargoInstallHook; - }; - } ./cargo-install-hook.sh - ) { }; + } ./cargo-install-hook.sh; - cargoNextestHook = callPackage ( - { }: - makeSetupHook { - name = "cargo-nextest-hook.sh"; - propagatedBuildInputs = [ cargo-nextest ]; - substitutions = { - inherit (stdenv.targetPlatform.rust) rustcTarget; + cargoNextestHook = makeSetupHook { + name = "cargo-nextest-hook.sh"; + propagatedBuildInputs = [ cargo-nextest ]; + substitutions = { + inherit (stdenv.targetPlatform.rust) rustcTarget; + }; + passthru.tests = + { + test = tests.rust-hooks.cargoNextestHook; + } + // lib.optionalAttrs (stdenv.isLinux) { + testCross = pkgsCross.riscv64.tests.rust-hooks.cargoNextestHook; }; - passthru.tests = - { - test = tests.rust-hooks.cargoNextestHook; - } - // lib.optionalAttrs (stdenv.isLinux) { - testCross = pkgsCross.riscv64.tests.rust-hooks.cargoNextestHook; - }; - } ./cargo-nextest-hook.sh - ) { }; + } ./cargo-nextest-hook.sh; - cargoSetupHook = callPackage ( - { }: - makeSetupHook { - name = "cargo-setup-hook.sh"; - propagatedBuildInputs = [ ]; - substitutions = { - defaultConfig = ../fetchcargo-default-config.toml; + cargoSetupHook = makeSetupHook { + name = "cargo-setup-hook.sh"; + propagatedBuildInputs = [ ]; + substitutions = { + defaultConfig = ../fetchcargo-default-config.toml; - # Specify the stdenv's `diff` by abspath to ensure that the user's build - # inputs do not cause us to find the wrong `diff`. - diff = "${lib.getBin diffutils}/bin/diff"; + # Specify the stdenv's `diff` by abspath to ensure that the user's build + # inputs do not cause us to find the wrong `diff`. + diff = "${lib.getBin diffutils}/bin/diff"; - cargoConfig = - lib.optionalString (stdenv.hostPlatform.config != stdenv.targetPlatform.config) '' - [target."${stdenv.targetPlatform.rust.rustcTarget}"] - "linker" = "${pkgsTargetTarget.stdenv.cc}/bin/${pkgsTargetTarget.stdenv.cc.targetPrefix}cc" - "rustflags" = [ "-C", "target-feature=${ - if pkgsTargetTarget.stdenv.targetPlatform.isStatic then "+" else "-" - }crt-static" ] - '' - + '' - [target."${stdenv.hostPlatform.rust.rustcTarget}"] - "linker" = "${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc" - ''; + cargoConfig = + lib.optionalString (stdenv.hostPlatform.config != stdenv.targetPlatform.config) '' + [target."${stdenv.targetPlatform.rust.rustcTarget}"] + "linker" = "${pkgsTargetTarget.stdenv.cc}/bin/${pkgsTargetTarget.stdenv.cc.targetPrefix}cc" + "rustflags" = [ "-C", "target-feature=${ + if pkgsTargetTarget.stdenv.targetPlatform.isStatic then "+" else "-" + }crt-static" ] + '' + + '' + [target."${stdenv.hostPlatform.rust.rustcTarget}"] + "linker" = "${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc" + ''; + }; + + passthru.tests = + { + test = tests.rust-hooks.cargoSetupHook; + } + // lib.optionalAttrs (stdenv.isLinux) { + testCross = pkgsCross.riscv64.tests.rust-hooks.cargoSetupHook; }; - passthru.tests = - { - test = tests.rust-hooks.cargoSetupHook; - } - // lib.optionalAttrs (stdenv.isLinux) { - testCross = pkgsCross.riscv64.tests.rust-hooks.cargoSetupHook; - }; - } ./cargo-setup-hook.sh - ) { }; + } ./cargo-setup-hook.sh; - maturinBuildHook = callPackage ( - { pkgsHostTarget }: - makeSetupHook { - name = "maturin-build-hook.sh"; - propagatedBuildInputs = [ - pkgsHostTarget.maturin - pkgsHostTarget.cargo - pkgsHostTarget.rustc - ]; - substitutions = { - inherit (stdenv.targetPlatform.rust) rustcTarget; - inherit (rust.envVars) setEnv; + maturinBuildHook = makeSetupHook { + name = "maturin-build-hook.sh"; + propagatedBuildInputs = [ + pkgsHostTarget.maturin + pkgsHostTarget.cargo + pkgsHostTarget.rustc + ]; + substitutions = { + inherit (stdenv.targetPlatform.rust) rustcTarget; + inherit (rust.envVars) setEnv; - }; - } ./maturin-build-hook.sh - ) { }; + }; + } ./maturin-build-hook.sh; - bindgenHook = callPackage ( - { }: - makeSetupHook { - name = "rust-bindgen-hook"; - substitutions = { - libclang = (lib.getLib clang.cc); - inherit clang; - }; - } ./rust-bindgen-hook.sh - ) { }; + bindgenHook = makeSetupHook { + name = "rust-bindgen-hook"; + substitutions = { + libclang = (lib.getLib clang.cc); + inherit clang; + }; + } ./rust-bindgen-hook.sh; } diff --git a/pkgs/build-support/setup-hooks/arrayUtilities/getSortedMapKeys/getSortedMapKeys.bash b/pkgs/build-support/setup-hooks/arrayUtilities/getSortedMapKeys/getSortedMapKeys.bash new file mode 100644 index 000000000000..436d7b0dbd6d --- /dev/null +++ b/pkgs/build-support/setup-hooks/arrayUtilities/getSortedMapKeys/getSortedMapKeys.bash @@ -0,0 +1,45 @@ +# shellcheck shell=bash + +# getSortedMapKeys +# Stores the sorted keys of the input associative array referenced by inputMapRef in the indexed arrray referenced by +# outputArrRef. +# +# Note from the Bash manual on arrays: +# There is no maximum limit on the size of an array, nor any requirement that members be indexed or assigned contiguously. +# - https://www.gnu.org/software/bash/manual/html_node/Arrays.html +# +# Since no guarantees are made about the order in which associative maps are traversed, this function is primarly +# useful for getting rid of yet another source of non-determinism. As an added benefit, it checks that the arguments +# provided are of correct type, unlike native parameter expansion which will accept expansions of strings. +# +# Arguments: +# - inputMapRef: a reference to an associative array (not mutated) +# - outputArrRef: a reference to an indexed array (contents are replaced entirely) +# +# Returns 0. +getSortedMapKeys() { + if (($# != 2)); then + nixErrorLog "expected two arguments!" + nixErrorLog "usage: getSortedMapKeys inputMapRef outputArrRef" + exit 1 + fi + + local -rn inputMapRef="$1" + # shellcheck disable=SC2178 + # Don't warn about outputArrRef being used as an array because it is an array. + local -rn outputArrRef="$2" + + if ! isDeclaredMap "${!inputMapRef}"; then + nixErrorLog "first argument inputMapRef must be a reference to an associative array" + exit 1 + elif ! isDeclaredArray "${!outputArrRef}"; then + nixErrorLog "second argument outputArrRef must be a reference to an indexed array" + exit 1 + fi + + # shellcheck disable=SC2034 + local -a keys=("${!inputMapRef[@]}") + sortArray keys "${!outputArrRef}" + + return 0 +} diff --git a/pkgs/build-support/setup-hooks/arrayUtilities/getSortedMapKeys/package.nix b/pkgs/build-support/setup-hooks/arrayUtilities/getSortedMapKeys/package.nix new file mode 100644 index 000000000000..0a610db6eeed --- /dev/null +++ b/pkgs/build-support/setup-hooks/arrayUtilities/getSortedMapKeys/package.nix @@ -0,0 +1,17 @@ +{ + callPackages, + isDeclaredArray, + isDeclaredMap, + makeSetupHook, + sortArray, +}: +makeSetupHook { + name = "getSortedMapKeys"; + propagatedBuildInputs = [ + isDeclaredArray + isDeclaredMap + sortArray + ]; + passthru.tests = callPackages ./tests.nix { }; + meta.description = "Gets the sorted indices of an associative array"; +} ./getSortedMapKeys.bash diff --git a/pkgs/build-support/setup-hooks/arrayUtilities/getSortedMapKeys/tests.nix b/pkgs/build-support/setup-hooks/arrayUtilities/getSortedMapKeys/tests.nix new file mode 100644 index 000000000000..3808f6e60cec --- /dev/null +++ b/pkgs/build-support/setup-hooks/arrayUtilities/getSortedMapKeys/tests.nix @@ -0,0 +1,80 @@ +# NOTE: Tests related to getSortedMapKeys go here. +{ + getSortedMapKeys, + lib, + testers, +}: +let + inherit (lib.attrsets) recurseIntoAttrs; + inherit (testers) shellcheck shfmt testEqualArrayOrMap; + + check = + { + name, + valuesMap, + expectedArray, + }: + (testEqualArrayOrMap { + inherit name valuesMap expectedArray; + script = '' + set -eu + nixLog "running getSortedMapKeys with valuesMap to populate actualArray" + getSortedMapKeys valuesMap actualArray + ''; + }).overrideAttrs + (prevAttrs: { + nativeBuildInputs = prevAttrs.nativeBuildInputs or [ ] ++ [ getSortedMapKeys ]; + }); +in +recurseIntoAttrs { + shellcheck = shellcheck { + name = "getSortedMapKeys"; + src = ./getSortedMapKeys.bash; + }; + + shfmt = shfmt { + name = "getSortedMapKeys"; + src = ./getSortedMapKeys.bash; + }; + + empty = check { + name = "empty"; + valuesMap = { }; + expectedArray = [ ]; + }; + + singleton = check { + name = "singleton"; + valuesMap = { + "apple" = "fruit"; + }; + expectedArray = [ "apple" ]; + }; + + keysAreSorted = check { + name = "keysAreSorted"; + valuesMap = { + "apple" = "fruit"; + "bee" = "insect"; + "carrot" = "vegetable"; + }; + expectedArray = [ + "apple" + "bee" + "carrot" + ]; + }; + + # NOTE: While keys can be whitespace, they cannot be null (empty). + keysCanBeWhitespace = check { + name = "keysCanBeWhitespace"; + valuesMap = { + " " = 1; + " " = 2; + }; + expectedArray = [ + " " + " " + ]; + }; +} diff --git a/pkgs/build-support/setup-hooks/arrayUtilities/isDeclaredArray/isDeclaredArray.bash b/pkgs/build-support/setup-hooks/arrayUtilities/isDeclaredArray/isDeclaredArray.bash new file mode 100644 index 000000000000..695bef751429 --- /dev/null +++ b/pkgs/build-support/setup-hooks/arrayUtilities/isDeclaredArray/isDeclaredArray.bash @@ -0,0 +1,14 @@ +# shellcheck shell=bash + +# isDeclaredArray +# Tests if inputArrayRef refers to a declared, indexed array. +# +# Arguments: +# - inputArrayRef: a reference to an indexed array (not mutated) +# +# Returns 0 if the indexed array is declared, 1 otherwise. +isDeclaredArray() { + # NOTE: We must dereference the name ref to get the type of the underlying variable. + # shellcheck disable=SC2034 + local -nr inputArrayRef="$1" && [[ ${!inputArrayRef@a} =~ a ]] +} diff --git a/pkgs/build-support/setup-hooks/arrayUtilities/isDeclaredArray/package.nix b/pkgs/build-support/setup-hooks/arrayUtilities/isDeclaredArray/package.nix new file mode 100644 index 000000000000..2b8ba3942c98 --- /dev/null +++ b/pkgs/build-support/setup-hooks/arrayUtilities/isDeclaredArray/package.nix @@ -0,0 +1,9 @@ +{ + callPackages, + makeSetupHook, +}: +makeSetupHook { + name = "isDeclaredArray"; + passthru.tests = callPackages ./tests.nix { }; + meta.description = "Tests if an array is declared"; +} ./isDeclaredArray.bash diff --git a/pkgs/build-support/setup-hooks/arrayUtilities/isDeclaredArray/tests.nix b/pkgs/build-support/setup-hooks/arrayUtilities/isDeclaredArray/tests.nix new file mode 100644 index 000000000000..72ea53ce45f8 --- /dev/null +++ b/pkgs/build-support/setup-hooks/arrayUtilities/isDeclaredArray/tests.nix @@ -0,0 +1,353 @@ +# NOTE: Tests related to isDeclaredArray go here. +{ + isDeclaredArray, + lib, + runCommand, + testers, +}: +let + inherit (lib.attrsets) recurseIntoAttrs; + inherit (testers) shellcheck shfmt testBuildFailure'; + + commonArgs = { + __structuredAttrs = true; + strictDeps = true; + preferLocalBuild = true; + nativeBuildInputs = [ isDeclaredArray ]; + }; + + check = + let + mkLine = + intro: values: + "${if intro == null then "" else intro + " "}check${if values == null then "" else "=" + values}"; + mkScope = + scope: line: + if scope == null then + line + else if scope == "function" then + '' + foo() { + ${line} + } + foo + '' + else + builtins.throw "Invalid scope: ${scope}"; + in + { + name, + scope, + intro, + values, + }: + runCommand name commonArgs '' + set -eu + + ${mkScope scope (mkLine intro values)} + + if isDeclaredArray check; then + nixLog "test passed" + touch "$out" + else + nixErrorLog "test failed" + exit 1 + fi + ''; +in +recurseIntoAttrs { + shellcheck = shellcheck { + name = "isDeclaredArray"; + src = ./isDeclaredArray.bash; + }; + + shfmt = shfmt { + name = "isDeclaredArray"; + src = ./isDeclaredArray.bash; + }; + + undeclaredFails = testBuildFailure' { + name = "undeclaredFails"; + drv = runCommand "undeclared" commonArgs '' + set -eu + if isDeclaredArray undeclared; then + nixLog "test passed" + touch "$out" + else + nixErrorLog "test failed" + exit 1 + fi + ''; + expectedBuilderLogEntries = [ + "test failed" + ]; + }; + + mapFails = testBuildFailure' { + name = "mapFails"; + drv = runCommand "map" commonArgs '' + set -eu + local -A map + if isDeclaredArray map; then + nixLog "test passed" + touch "$out" + else + nixErrorLog "test failed" + exit 1 + fi + ''; + expectedBuilderLogEntries = [ + "test failed" + ]; + }; + + emptyStringNamerefFails = testBuildFailure' { + name = "emptyStringNamerefFails"; + drv = runCommand "emptyStringNameref" commonArgs '' + set -eu + if isDeclaredArray ""; then + nixLog "test passed" + touch "$out" + else + nixErrorLog "test failed" + exit 1 + fi + ''; + expectedBuilderLogEntries = [ + "local: `': not a valid identifier" + "test failed" + ]; + }; + + namerefToEmptyStringFails = testBuildFailure' { + name = "namerefToEmptyStringFails"; + drv = check { + name = "namerefToEmptyString"; + scope = null; + intro = "local -n"; + values = ""; + }; + expectedBuilderLogEntries = [ + "local: `': not a valid identifier" + # The test fails in such a way that it exits immediately, without returning to the else branch. + ]; + }; + + sameScopeEmptyStringFails = testBuildFailure' { + name = "sameScopeEmptyStringFails"; + drv = check { + name = "sameScopeEmptyString"; + scope = null; + intro = null; + values = ""; + }; + expectedBuilderLogEntries = [ + "test failed" + ]; + }; + + sameScopeEmptyArray = check { + name = "sameScopeEmptyArray"; + scope = null; + intro = null; + values = "()"; + }; + + sameScopeSingletonArray = check { + name = "sameScopeSingletonArray"; + scope = null; + intro = null; + values = ''("hello!")''; + }; + + sameScopeLocalUnsetArray = check { + name = "sameScopeLocalUnsetArray"; + scope = null; + intro = "local -a"; + values = null; + }; + + sameScopeLocalEmptyArray = check { + name = "sameScopeLocalEmptyArray"; + scope = null; + intro = "local -a"; + values = "()"; + }; + + sameScopeLocalSingletonArray = check { + name = "sameScopeLocalSingletonArray"; + scope = null; + intro = "local -a"; + values = ''("hello!")''; + }; + + sameScopeDeclareUnsetArray = check { + name = "sameScopeDeclareUnsetArray"; + scope = null; + intro = "declare -a"; + values = null; + }; + + sameScopeDeclareEmptyArray = check { + name = "sameScopeDeclareEmptyArray"; + scope = null; + intro = "declare -a"; + values = "()"; + }; + + sameScopeDeclareSingletonArray = check { + name = "sameScopeDeclareSingletonArray"; + scope = null; + intro = "declare -a"; + values = ''("hello!")''; + }; + + previousScopeEmptyStringFails = testBuildFailure' { + name = "previousScopeEmptyStringFails"; + drv = check { + name = "previousScopeEmptyString"; + scope = "function"; + intro = null; + values = ""; + }; + expectedBuilderLogEntries = [ + "test failed" + ]; + }; + + # Works because the variable isn't lexically scoped. + previousScopeEmptyArray = check { + name = "previousScopeEmptyArray"; + scope = "function"; + intro = null; + values = "()"; + }; + + # Works because the variable isn't lexically scoped. + previousScopeSingletonArray = check { + name = "previousScopeSingletonArray"; + scope = "function"; + intro = null; + values = ''("hello!")''; + }; + + previousScopeLocalUnsetArrayFails = testBuildFailure' { + name = "previousScopeLocalUnsetArrayFails"; + drv = check { + name = "previousScopeLocalUnsetArray"; + scope = "function"; + intro = "local -a"; + values = null; + }; + expectedBuilderLogEntries = [ + "test failed" + ]; + }; + + previousScopeLocalEmptyArrayFails = testBuildFailure' { + name = "previousScopeLocalEmptyArrayFails"; + drv = check { + name = "previousScopeLocalEmptyArray"; + scope = "function"; + intro = "local -a"; + values = "()"; + }; + expectedBuilderLogEntries = [ + "test failed" + ]; + }; + + previousScopeLocalSingletonArrayFails = testBuildFailure' { + name = "previousScopeLocalSingletonArrayFails"; + drv = check { + name = "previousScopeLocalSingletonArray"; + scope = "function"; + intro = "local -a"; + values = ''("hello!")''; + }; + expectedBuilderLogEntries = [ + "test failed" + ]; + }; + + previousScopeLocalGlobalUnsetArray = check { + name = "previousScopeLocalGlobalUnsetArray"; + scope = "function"; + intro = "local -ag"; + values = null; + }; + + previousScopeLocalGlobalEmptyArray = check { + name = "previousScopeLocalGlobalEmptyArray"; + scope = "function"; + intro = "local -ag"; + values = "()"; + }; + + previousScopeLocalGlobalSingletonArray = check { + name = "previousScopeLocalGlobalSingletonArray"; + scope = "function"; + intro = "local -ag"; + values = ''("hello!")''; + }; + + previousScopeDeclareUnsetArrayFails = testBuildFailure' { + name = "previousScopeDeclareUnsetArrayFails"; + drv = check { + name = "previousScopeDeclareUnsetArray"; + scope = "function"; + intro = "declare -a"; + values = null; + }; + expectedBuilderLogEntries = [ + "test failed" + ]; + }; + + previousScopeDeclareEmptyArrayFails = testBuildFailure' { + name = "previousScopeDeclareEmptyArrayFails"; + drv = check { + name = "previousScopeDeclareEmptyArray"; + scope = "function"; + intro = "declare -a"; + values = "()"; + }; + expectedBuilderLogEntries = [ + "test failed" + ]; + }; + + previousScopeDeclareSingletonArrayFails = testBuildFailure' { + name = "previousScopeDeclareSingletonArrayFails"; + drv = check { + name = "previousScopeDeclareSingletonArray"; + scope = "function"; + intro = "declare -a"; + values = ''("hello!")''; + }; + expectedBuilderLogEntries = [ + "test failed" + ]; + }; + + previousScopeDeclareGlobalUnsetArray = check { + name = "previousScopeDeclareGlobalUnsetArray"; + scope = "function"; + intro = "declare -ag"; + values = null; + }; + + previousScopeDeclareGlobalEmptyArray = check { + name = "previousScopeDeclareGlobalEmptyArray"; + scope = "function"; + intro = "declare -ag"; + values = "()"; + }; + + previousScopeDeclareGlobalSingletonArray = check { + name = "previousScopeDeclareGlobalSingletonArray"; + scope = "function"; + intro = "declare -ag"; + values = ''("hello!")''; + }; +} diff --git a/pkgs/build-support/setup-hooks/arrayUtilities/isDeclaredMap/isDeclaredMap.bash b/pkgs/build-support/setup-hooks/arrayUtilities/isDeclaredMap/isDeclaredMap.bash new file mode 100644 index 000000000000..47483a2f4c33 --- /dev/null +++ b/pkgs/build-support/setup-hooks/arrayUtilities/isDeclaredMap/isDeclaredMap.bash @@ -0,0 +1,14 @@ +# shellcheck shell=bash + +# isDeclaredMap +# Tests if inputMapRef refers to a declared, associative array. +# +# Arguments: +# - inputMapRef: a reference to an associative array (not mutated) +# +# Returns 0 if the associative array is declared, 1 otherwise. +isDeclaredMap() { + # NOTE: We must dereference the name ref to get the type of the underlying variable. + # shellcheck disable=SC2034 + local -nr inputMapRef="$1" && [[ ${!inputMapRef@a} =~ A ]] +} diff --git a/pkgs/build-support/setup-hooks/arrayUtilities/isDeclaredMap/package.nix b/pkgs/build-support/setup-hooks/arrayUtilities/isDeclaredMap/package.nix new file mode 100644 index 000000000000..99d969312dab --- /dev/null +++ b/pkgs/build-support/setup-hooks/arrayUtilities/isDeclaredMap/package.nix @@ -0,0 +1,9 @@ +{ + callPackages, + makeSetupHook, +}: +makeSetupHook { + name = "isDeclaredMap"; + passthru.tests = callPackages ./tests.nix { }; + meta.description = "Tests if an associative array is declared"; +} ./isDeclaredMap.bash diff --git a/pkgs/build-support/setup-hooks/arrayUtilities/isDeclaredMap/tests.nix b/pkgs/build-support/setup-hooks/arrayUtilities/isDeclaredMap/tests.nix new file mode 100644 index 000000000000..ef77291d64c7 --- /dev/null +++ b/pkgs/build-support/setup-hooks/arrayUtilities/isDeclaredMap/tests.nix @@ -0,0 +1,377 @@ +# NOTE: Tests related to isDeclaredMap go here. +{ + isDeclaredMap, + lib, + runCommand, + testers, +}: +let + inherit (lib.attrsets) recurseIntoAttrs; + inherit (testers) shellcheck shfmt testBuildFailure'; + + commonArgs = { + __structuredAttrs = true; + strictDeps = true; + preferLocalBuild = true; + nativeBuildInputs = [ isDeclaredMap ]; + }; + + check = + let + mkLine = + intro: values: + "${if intro == null then "" else intro + " "}check${if values == null then "" else "=" + values}"; + mkScope = + scope: line: + if scope == null then + line + else if scope == "function" then + '' + foo() { + ${line} + } + foo + '' + else + builtins.throw "Invalid scope: ${scope}"; + in + { + name, + scope, + intro, + values, + }: + runCommand name commonArgs '' + set -eu + + ${mkScope scope (mkLine intro values)} + + if isDeclaredMap check; then + nixLog "test passed" + touch "$out" + else + nixErrorLog "test failed" + exit 1 + fi + ''; +in +recurseIntoAttrs { + shellcheck = shellcheck { + name = "isDeclaredMap"; + src = ./isDeclaredMap.bash; + }; + + shfmt = shfmt { + name = "isDeclaredMap"; + src = ./isDeclaredMap.bash; + }; + + undeclaredFails = testBuildFailure' { + name = "undeclaredFails"; + drv = runCommand "undeclared" commonArgs '' + set -eu + if isDeclaredMap undeclared; then + nixLog "test passed" + touch "$out" + else + nixErrorLog "test failed" + exit 1 + fi + ''; + expectedBuilderLogEntries = [ + "test failed" + ]; + }; + + arrayFails = testBuildFailure' { + name = "arrayFails"; + drv = runCommand "array" commonArgs '' + set -eu + local -a array + if isDeclaredMap array; then + nixLog "test passed" + touch "$out" + else + nixErrorLog "test failed" + exit 1 + fi + ''; + expectedBuilderLogEntries = [ + "test failed" + ]; + }; + + emptyStringNamerefFails = testBuildFailure' { + name = "emptyStringNamerefFails"; + drv = runCommand "emptyStringNameref" commonArgs '' + set -eu + if isDeclaredMap ""; then + nixLog "test passed" + touch "$out" + else + nixErrorLog "test failed" + exit 1 + fi + ''; + expectedBuilderLogEntries = [ + "local: `': not a valid identifier" + "test failed" + ]; + }; + + namerefToEmptyStringFails = testBuildFailure' { + name = "namerefToEmptyStringFails"; + drv = check { + name = "namerefToEmptyString"; + scope = null; + intro = "local -n"; + values = ""; + }; + expectedBuilderLogEntries = [ + "local: `': not a valid identifier" + # The test fails in such a way that it exits immediately, without returning to the else branch. + ]; + }; + + sameScopeEmptyStringFails = testBuildFailure' { + name = "sameScopeEmptyStringFails"; + drv = check { + name = "sameScopeEmptyString"; + scope = null; + intro = null; + values = ""; + }; + expectedBuilderLogEntries = [ + "test failed" + ]; + }; + + sameScopeEmptyMapFails = testBuildFailure' { + name = "sameScopeEmptyMapFails"; + drv = check { + name = "sameScopeEmptyMap"; + scope = null; + intro = null; + values = "()"; + }; + expectedBuilderLogEntries = [ + "test failed" + ]; + }; + + # Fails because maps must be declared with the -A flag. + sameScopeSingletonMapFails = testBuildFailure' { + name = "sameScopeSingletonMapFails"; + drv = check { + name = "sameScopeSingletonMap"; + scope = null; + intro = null; + values = ''([greeting]="hello!")''; + }; + expectedBuilderLogEntries = [ + "greeting: unbound variable" + ]; + }; + + sameScopeLocalUnsetMap = check { + name = "sameScopeLocalUnsetMap"; + scope = null; + intro = "local -A"; + values = null; + }; + + sameScopeLocalEmptyMap = check { + name = "sameScopeLocalEmptyMap"; + scope = null; + intro = "local -A"; + values = "()"; + }; + + sameScopeLocalSingletonMap = check { + name = "sameScopeLocalSingletonMap"; + scope = null; + intro = "local -A"; + values = ''([greeting]="hello!")''; + }; + + sameScopeDeclareUnsetMap = check { + name = "sameScopeDeclareUnsetMap"; + scope = null; + intro = "declare -A"; + values = null; + }; + + sameScopeDeclareEmptyMap = check { + name = "sameScopeDeclareEmptyMap"; + scope = null; + intro = "declare -A"; + values = "()"; + }; + + sameScopeDeclareSingletonMap = check { + name = "sameScopeDeclareSingletonMap"; + scope = null; + intro = "declare -A"; + values = ''([greeting]="hello!")''; + }; + + previousScopeEmptyStringFails = testBuildFailure' { + name = "previousScopeEmptyStringFails"; + drv = check { + name = "previousScopeEmptyString"; + scope = "function"; + intro = null; + values = ""; + }; + expectedBuilderLogEntries = [ + "test failed" + ]; + }; + + # Fails because () is ambiguous and defaults to array rather than associative array. + previousScopeEmptyMapFails = testBuildFailure' { + name = "previousScopeEmptyMapFails"; + drv = check { + name = "previousScopeEmptyMap"; + scope = "function"; + intro = null; + values = "()"; + }; + expectedBuilderLogEntries = [ + "test failed" + ]; + }; + + previousScopeSingletonMapFails = testBuildFailure' { + name = "previousScopeSingletonMapFails"; + drv = check { + name = "previousScopeSingletonMap"; + scope = "function"; + intro = null; + values = ''([greeting]="hello!")''; + }; + expectedBuilderLogEntries = [ + "greeting: unbound variable" + ]; + }; + + previousScopeLocalUnsetMapFails = testBuildFailure' { + name = "previousScopeLocalUnsetMapFails"; + drv = check { + name = "previousScopeLocalUnsetMap"; + scope = "function"; + intro = "local -A"; + values = null; + }; + expectedBuilderLogEntries = [ + "test failed" + ]; + }; + + previousScopeLocalEmptyMapFails = testBuildFailure' { + name = "previousScopeLocalEmptyMapFails"; + drv = check { + name = "previousScopeLocalEmptyMap"; + scope = "function"; + intro = "local -A"; + values = "()"; + }; + expectedBuilderLogEntries = [ + "test failed" + ]; + }; + + previousScopeLocalSingletonMapFails = testBuildFailure' { + name = "previousScopeLocalSingletonMapFails"; + drv = check { + name = "previousScopeLocalSingletonMap"; + scope = "function"; + intro = "local -A"; + values = ''([greeting]="hello!")''; + }; + expectedBuilderLogEntries = [ + "test failed" + ]; + }; + + previousScopeLocalGlobalUnsetMap = check { + name = "previousScopeLocalGlobalUnsetMap"; + scope = "function"; + intro = "local -Ag"; + values = null; + }; + + previousScopeLocalGlobalEmptyMap = check { + name = "previousScopeLocalGlobalEmptyMap"; + scope = "function"; + intro = "local -Ag"; + values = "()"; + }; + + previousScopeLocalGlobalSingletonMap = check { + name = "previousScopeLocalGlobalSingletonMap"; + scope = "function"; + intro = "local -Ag"; + values = ''([greeting]="hello!")''; + }; + + previousScopeDeclareUnsetMapFails = testBuildFailure' { + name = "previousScopeDeclareUnsetMapFails"; + drv = check { + name = "previousScopeDeclareUnsetMap"; + scope = "function"; + intro = "declare -A"; + values = null; + }; + expectedBuilderLogEntries = [ + "test failed" + ]; + }; + + previousScopeDeclareEmptyMapFails = testBuildFailure' { + name = "previousScopeDeclareEmptyMapFails"; + drv = check { + name = "previousScopeDeclareEmptyMap"; + scope = "function"; + intro = "declare -A"; + values = "()"; + }; + expectedBuilderLogEntries = [ + "test failed" + ]; + }; + + previousScopeDeclareSingletonMapFails = testBuildFailure' { + name = "previousScopeDeclareSingletonMapFails"; + drv = check { + name = "previousScopeDeclareSingletonMap"; + scope = "function"; + intro = "declare -A"; + values = ''([greeting]="hello!")''; + }; + expectedBuilderLogEntries = [ + "test failed" + ]; + }; + + previousScopeDeclareGlobalUnsetMap = check { + name = "previousScopeDeclareGlobalUnsetMap"; + scope = "function"; + intro = "declare -Ag"; + values = null; + }; + + previousScopeDeclareGlobalEmptyMap = check { + name = "previousScopeDeclareGlobalEmptyMap"; + scope = "function"; + intro = "declare -Ag"; + values = "()"; + }; + + previousScopeDeclareGlobalSingletonMap = check { + name = "previousScopeDeclareGlobalSingletonMap"; + scope = "function"; + intro = "declare -Ag"; + values = ''([greeting]="hello!")''; + }; +} diff --git a/pkgs/build-support/setup-hooks/arrayUtilities/sortArray/package.nix b/pkgs/build-support/setup-hooks/arrayUtilities/sortArray/package.nix new file mode 100644 index 000000000000..5e5c2ced69b0 --- /dev/null +++ b/pkgs/build-support/setup-hooks/arrayUtilities/sortArray/package.nix @@ -0,0 +1,11 @@ +{ + callPackages, + isDeclaredArray, + makeSetupHook, +}: +makeSetupHook { + name = "sortArray"; + propagatedBuildInputs = [ isDeclaredArray ]; + passthru.tests = callPackages ./tests.nix { }; + meta.description = "Sorts an array"; +} ./sortArray.bash diff --git a/pkgs/build-support/setup-hooks/arrayUtilities/sortArray/sortArray.bash b/pkgs/build-support/setup-hooks/arrayUtilities/sortArray/sortArray.bash new file mode 100644 index 000000000000..17e906553dc8 --- /dev/null +++ b/pkgs/build-support/setup-hooks/arrayUtilities/sortArray/sortArray.bash @@ -0,0 +1,53 @@ +# shellcheck shell=bash + +# sortArray +# Sorts the indexed array referenced by inputArrRef and stores the result in the indexed array referenced by +# outputArrRef. +# +# Arguments: +# - inputArrRef: a reference to an indexed array (not mutated, may alias outputArrRef) +# - outputArrRef: a reference to an indexed array (contents are replaced entirely, may alias inputArrRef) +# +# Returns 0. +sortArray() { + if (($# != 2)); then + nixErrorLog "expected two arguments!" + nixErrorLog "usage: sortArray inputArrRef outputArrRef" + exit 1 + fi + + local -rn inputArrRef="$1" + local -rn outputArrRef="$2" + + if ! isDeclaredArray "${!inputArrRef}"; then + nixErrorLog "first argument inputArrRef must be a reference to an indexed array" + exit 1 + elif ! isDeclaredArray "${!outputArrRef}"; then + nixErrorLog "second argument outputArrRef must be a reference to an indexed array" + exit 1 + fi + + local -a sortedArray=() + + # Guard on the length of the input array, as empty array will expand to nothing, but printf will still see it as an + # argument, producing an empty string. + if ((${#inputArrRef[@]} > 0)); then + # NOTE from Bash's printf documentation: + # The format is reused as necessary to consume all of the arguments. If the format requires more arguments than + # are supplied, the extra format specifications behave as if a zero value or null string, as appropriate, had + # been supplied. + # - https://www.gnu.org/software/bash/manual/html_node/Bash-Builtins.html#index-printf + # NOTE from sort manpage: + # If you use a non-POSIX locale (e.g., by setting LC_ALL to 'en_US'), then sort may produce output that is sorted + # differently than you're accustomed to. In that case, set the LC_ALL environment variable to 'C'. Setting only + # LC_COLLATE has two problems. First, it is ineffective if LC_ALL is also set. Second, it has undefined behavior + # if LC_CTYPE (or LANG, if LC_CTYPE is unset) is set to an incompatible value. For example, you get undefined + # behavior if LC_CTYPE is ja_JP.PCK but LC_COLLATE is en_US.UTF-8. + # - https://www.gnu.org/software/coreutils/manual/html_node/sort-invocation.html#FOOT1 + mapfile -d $'\0' -t sortedArray < <(printf '%s\0' "${inputArrRef[@]}" | LC_ALL=C sort --stable --zero-terminated) + fi + + outputArrRef=("${sortedArray[@]}") + + return 0 +} diff --git a/pkgs/build-support/setup-hooks/arrayUtilities/sortArray/tests.nix b/pkgs/build-support/setup-hooks/arrayUtilities/sortArray/tests.nix new file mode 100644 index 000000000000..67d5beda1e1f --- /dev/null +++ b/pkgs/build-support/setup-hooks/arrayUtilities/sortArray/tests.nix @@ -0,0 +1,178 @@ +# NOTE: Tests related to sortArray go here. +{ + lib, + sortArray, + testers, +}: +let + inherit (lib.attrsets) recurseIntoAttrs; + inherit (testers) shellcheck shfmt testEqualArrayOrMap; + check = + { + name, + valuesArray, + expectedArray, + }: + (testEqualArrayOrMap { + inherit name valuesArray expectedArray; + script = '' + set -eu + nixLog "running sortArray with valuesArray to populate actualArray" + sortArray valuesArray actualArray + ''; + }).overrideAttrs + (prevAttrs: { + nativeBuildInputs = prevAttrs.nativeBuildInputs or [ ] ++ [ sortArray ]; + }); + + checkInPlace = + { + name, + valuesArray, + expectedArray, + }: + (testEqualArrayOrMap { + inherit name valuesArray expectedArray; + script = '' + set -eu + nixLog "running sortArray with valuesArray as input and output" + sortArray valuesArray valuesArray + nixLog "copying valuesArray to actualArray" + actualArray=("''${valuesArray[@]}") + ''; + }).overrideAttrs + (prevAttrs: { + nativeBuildInputs = prevAttrs.nativeBuildInputs or [ ] ++ [ sortArray ]; + }); +in +recurseIntoAttrs { + shellcheck = shellcheck { + name = "sortArray"; + src = ./sortArray.bash; + }; + + shfmt = shfmt { + name = "sortArray"; + src = ./sortArray.bash; + }; + + empty = check { + name = "empty"; + valuesArray = [ ]; + expectedArray = [ ]; + }; + + singleton = check { + name = "singleton"; + valuesArray = [ "apple" ]; + expectedArray = [ "apple" ]; + }; + + oneDuplicate = check { + name = "oneDuplicate"; + valuesArray = [ + "apple" + "apple" + ]; + expectedArray = [ + "apple" + "apple" + ]; + }; + + oneUnique = check { + name = "oneUnique"; + valuesArray = [ + "bee" + "apple" + "bee" + ]; + expectedArray = [ + "apple" + "bee" + "bee" + ]; + }; + + duplicatesWithSpacesAndLineBreaks = check { + name = "duplicatesWithSpacesAndLineBreaks"; + valuesArray = [ + "dog" + "bee" + '' + line + break + '' + "cat" + "zebra" + "bee" + "cat" + "elephant" + "dog with spaces" + '' + line + break + '' + ]; + expectedArray = [ + "bee" + "bee" + "cat" + "cat" + "dog" + "dog with spaces" + "elephant" + # NOTE: lead whitespace is removed, so the following entries start with `l`. + '' + line + break + '' + '' + line + break + '' + "zebra" + ]; + }; + + duplicatesWithSpacesAndLineBreaksInPlace = checkInPlace { + name = "duplicatesWithSpacesAndLineBreaksInPlace"; + valuesArray = [ + "dog" + "bee" + '' + line + break + '' + "cat" + "zebra" + "bee" + "cat" + "elephant" + "dog with spaces" + '' + line + break + '' + ]; + expectedArray = [ + "bee" + "bee" + "cat" + "cat" + "dog" + "dog with spaces" + "elephant" + # NOTE: lead whitespace is removed, so the following entries start with `l`. + '' + line + break + '' + '' + line + break + '' + "zebra" + ]; + }; +} diff --git a/pkgs/build-support/setup-hooks/audit-tmpdir.sh b/pkgs/build-support/setup-hooks/audit-tmpdir.sh index 25fe203f813b..780f38bc1624 100644 --- a/pkgs/build-support/setup-hooks/audit-tmpdir.sh +++ b/pkgs/build-support/setup-hooks/audit-tmpdir.sh @@ -15,54 +15,27 @@ auditTmpdir() { echo "checking for references to $TMPDIR/ in $dir..." - local tmpdir elf_fifo script_fifo - tmpdir="$(mktemp -d)" - elf_fifo="$tmpdir/elf" - script_fifo="$tmpdir/script" - mkfifo "$elf_fifo" "$script_fifo" - - # Classifier: identify ELF and script files - ( - find "$dir" -type f -not -path '*/.build-id/*' -print0 \ - | while IFS= read -r -d $'\0' file; do - if isELF "$file"; then - printf '%s\0' "$file" >&3 - elif isScript "$file"; then - filename=${file##*/} - dir=${file%/*} - if [ -e "$dir/.$filename-wrapped" ]; then - printf '%s\0' "$file" >&4 + _processFile() { + local file="$1" + if isELF "$file"; then + if { printf :; patchelf --print-rpath "$file"; } | grep -q -F ":$TMPDIR/"; then + echo "RPATH of binary $file contains a forbidden reference to $TMPDIR/" + exit 1 + fi + elif isScript "$file"; then + filename=${i##*/} + dir=${i%/*} + if [ -e "$dir/.$filename-wrapped" ]; then + if grep -q -F "$TMPDIR/" "$file"; then + echo "wrapper script $file contains a forbidden reference to $TMPDIR/" + exit 1 fi fi - done - exec 3>&- 4>&- - ) 3> "$elf_fifo" 4> "$script_fifo" & + fi + } - # Handler: check RPATHs concurrently - ( - xargs -0 -r -P "$NIX_BUILD_CORES" -n 1 sh -c ' - if { printf :; patchelf --print-rpath "$1"; } | grep -q -F ":$TMPDIR/"; then - echo "RPATH of binary $1 contains a forbidden reference to $TMPDIR/" - exit 1 - fi - ' _ < "$elf_fifo" - ) & - local pid_elf=$! + find "$dir" -type f -not -path '*/.build-id/*' -print0 \ + | parallelMap _processFile - # Handler: check wrapper scripts concurrently - local pid_script - ( - xargs -0 -r -P "$NIX_BUILD_CORES" -n 1 sh -c ' - if grep -q -F "$TMPDIR/" "$1"; then - echo "wrapper script $1 contains a forbidden reference to $TMPDIR/" - exit 1 - fi - ' _ < "$script_fifo" - ) & - local pid_script=$! - - wait "$pid_elf" || { echo "Some binaries contain forbidden references to $TMPDIR/. Check the error above!"; exit 1; } - wait "$pid_script" || { echo "Some scripts contain forbidden references to $TMPDIR/. Check the error above!"; exit 1; } - - rm -r "$tmpdir" + unset -f _processFile } diff --git a/pkgs/build-support/setup-hooks/parallel.sh b/pkgs/build-support/setup-hooks/parallel.sh new file mode 100644 index 000000000000..a7c8330a0de1 --- /dev/null +++ b/pkgs/build-support/setup-hooks/parallel.sh @@ -0,0 +1,89 @@ +# Parallel execution utilities +# These functions provide a framework for parallel processing of jobs from stdin + +# parallelRun - Execute a command in parallel across multiple cores +# +# Reads null-delimited jobs from stdin and distributes them across NIX_BUILD_CORES +# worker processes. Each worker executes the provided command, receiving jobs +# via stdin in null-delimited format. +# +# Usage: some_producer | parallelRun command [args...] +# +# The command receives jobs one at a time via stdin (null-delimited). +# +# Example: +# find . -name '*.log' -print0 | parallelRun sh -c ' +# while read -r -d "" file; do gzip "$file"; done +# ' +parallelRun() { + local pids + local lock + pids=() + lock=$(mktemp -u) + mkfifo "$lock" + for ((i=0; i"$lock" # fd-4 = write side of lock (push token back) + local job + + while :; do + # Acquire the lock: blocks until a token can be read + read -r -n1 >/dev/null <&3 + + # read one job from stdin + # This is guarded by the lock above in order to prevent + # multiple workers from reading from stdin simultaneously. + if ! IFS= read -r -d '' job; then + # If stdin is closed, release lock and exit + printf 'x' >&4 + break + fi + + # Release the lock: write a token back to the lock FIFO + printf 'y' >&4 + + # Forward job to the worker process' stdin + printf '%s\0' "$job" + + done \ + | "$@" # launch the worker process + } & + pids[$i]=$! + done + # launch the workers by writing a token to the lock FIFO + printf 'a' >"$lock" & + # Wait for all workers to finish + for pid in "${pids[@]}"; do + if ! wait "$pid"; then + echo "A parallel job failed with exit code $? (check for errors above)" >&2 + echo -e "Failing Command:\n $@" >&2 + exit 1 + fi + done + rm "$lock" +} + +# parallelMap - Apply a shell function to each job in parallel +# +# A higher-level wrapper around parallelRun that applies a shell function to each +# null-delimited job from stdin. The shell function receives each job as its first +# argument. +# +# Usage: some_producer | parallelMap shell_function [additional_args...] +# +# The shell function is called as: shell_function job [additional_args...] +# for each job read from stdin. +# +# Example: +# compress() { gzip "$1" } +# find . -name '*.log' -print0 | parallelMap compress +parallelMap() { + _wrapper() { + while IFS= read -r -d '' job; do + "$@" "$job" + done + } + parallelRun _wrapper "$@" + unset -f _wrapper +} diff --git a/pkgs/build-support/setup-hooks/tests/default.nix b/pkgs/build-support/setup-hooks/tests/default.nix new file mode 100644 index 000000000000..36cd73a1a9ee --- /dev/null +++ b/pkgs/build-support/setup-hooks/tests/default.nix @@ -0,0 +1,23 @@ +{ + stdenv, +}: +{ + # test based on bootstrap tools to prevent rebuilding stdenv on each change + parallel = + (derivation { + name = "test-parallel-hook"; + system = stdenv.system; + builder = "${stdenv.bootstrapTools}/bin/bash"; + PATH = "${stdenv.bootstrapTools}/bin"; + args = [ + "-c" + '' + . ${../parallel.sh} + . ${./test-parallel.sh} + '' + ]; + }) + // { + meta = { }; + }; +} diff --git a/pkgs/build-support/setup-hooks/tests/test-parallel.sh b/pkgs/build-support/setup-hooks/tests/test-parallel.sh new file mode 100644 index 000000000000..94e0fc6e8b73 --- /dev/null +++ b/pkgs/build-support/setup-hooks/tests/test-parallel.sh @@ -0,0 +1,146 @@ +export NIX_BUILD_CORES=4 + +echo "Testing worker distribution..." + +# Generate 100 jobs to ensure all workers get some +for i in {1..100}; do + printf "job%d\0" $i +done | parallelRun sh -c ' + while IFS= read -r -d "" job; do + sleep 0.05 # Simulate some work + echo "Worker $$ processed $job" >> /tmp/worker-output + done +' + +# Check that all 4 workers were actually utilized +worker_count=$(sort /tmp/worker-output | cut -d" " -f2 | sort -u | wc -l) +if [ "$worker_count" -ne 4 ]; then + echo "ERROR: Expected exactly 4 workers, got $worker_count" + cat /tmp/worker-output + exit 1 +fi +echo "SUCCESS: All 4 workers participated" +rm -f /tmp/worker-output + +echo "Testing error propagation..." + +# Test that errors from workers are propagated +if printf "job1\0job2\0job3\0" | parallelRun sh -c ' + while IFS= read -r -d "" job; do + if [ "$job" = "job2" ]; then + echo "Worker failing on $job" >&2 + exit 1 + fi + echo "Worker processed $job" + done +' 2>/dev/null; then + echo "ERROR: Expected command to fail but it succeeded" + exit 1 +else + echo "SUCCESS: Error was properly propagated" +fi + +echo "Testing error message..." + +error_output=$(printf "job1\0job2\0job3\0" | parallelRun sh -c ' + while IFS= read -r -d "" job; do + if [ "$job" = "job2" ]; then + echo "Worker failing on $job" >&2 + exit 1 + fi + echo "Worker processed $job" + done +' 2>&1 || true) + +if [[ "$error_output" != *"job failed"* ]]; then + echo "ERROR: Expected 'job failed' in error message, got: $error_output" + exit 1 +fi +echo "SUCCESS: Error message was displayed" + +echo "Testing Verify all jobs are processed when no errors occur..." + +# Generate jobs and count processed ones +for i in {1..10}; do + printf "job%d\0" $i +done | parallelRun sh -c ' + while IFS= read -r -d "" job; do + echo "$job" >> /tmp/processed-jobs + done +' + +processed_count=$(wc -l < /tmp/processed-jobs) +if [ "$processed_count" -ne 10 ]; then + echo "ERROR: Expected 10 jobs processed, got $processed_count" + exit 1 +fi +echo "SUCCESS: All 10 jobs were processed" +rm -f /tmp/processed-jobs + +echo "All parallelRun tests passed!" + +# --------------------------------------------------------------------- + +echo "Testing parallelMap basic functionality..." + +# Define a test function +testFunc() { + echo "Processing: $1" >> /tmp/map-output +} + +# Test that parallelMap calls the function with each job +for i in {1..5}; do + printf "item%d\0" $i +done | parallelMap testFunc + +# Check all jobs were processed +processed_map_count=$(wc -l < /tmp/map-output) +if [ "$processed_map_count" -ne 5 ]; then + echo "ERROR: Expected 5 items processed by parallelMap, got $processed_map_count" + exit 1 +fi +echo "SUCCESS: parallelMap processed all 5 items" +rm -f /tmp/map-output + +echo "Testing parallelMap error propagation..." + +# Define a function that fails on specific input +failFunc() { + if [ "$1" = "item2" ]; then + echo "Function failing on $1" >&2 + exit 1 + fi + echo "Function processed $1" +} + +# Test that errors are propagated +if printf "item1\0item2\0item3\0" | parallelMap failFunc 2>/dev/null; then + echo "ERROR: Expected parallelMap to fail but it succeeded" + exit 1 +else + echo "SUCCESS: parallelMap error was properly propagated" +fi + +echo "Testing parallelMap with additional arguments..." + +# Define a function that uses additional arguments +argFunc() { + echo "$1: $2" >> /tmp/map-args-output +} + +# Test with additional arguments +for i in {1..3}; do + printf "value%d\0" $i +done | parallelMap argFunc "PREFIX" + +# Check output contains the prefix +if ! grep -q "PREFIX: value1" /tmp/map-args-output; then + echo "ERROR: parallelMap did not pass additional arguments correctly" + cat /tmp/map-args-output + exit 1 +fi +echo "SUCCESS: parallelMap passed additional arguments correctly" +rm -f /tmp/map-args-output + +echo "All parallelRun and parallelMap tests passed!" +touch $out diff --git a/pkgs/build-support/testers/testEqualArrayOrMap/assert-equal-array.sh b/pkgs/build-support/testers/testEqualArrayOrMap/assert-equal-array.sh index ef43dedba625..b8c292ffed5e 100644 --- a/pkgs/build-support/testers/testEqualArrayOrMap/assert-equal-array.sh +++ b/pkgs/build-support/testers/testEqualArrayOrMap/assert-equal-array.sh @@ -1,11 +1,5 @@ # shellcheck shell=bash -# Tests if an array is declared. -isDeclaredArray() { - # shellcheck disable=SC2034 - local -nr arrayRef="$1" && [[ ${!arrayRef@a} =~ a ]] -} - # Asserts that two arrays are equal, printing out differences if they are not. # Does not short circuit on the first difference. assertEqualArray() { @@ -19,12 +13,12 @@ assertEqualArray() { local -nr actualArrayRef="$2" if ! isDeclaredArray "${!expectedArrayRef}"; then - nixErrorLog "first arugment expectedArrayRef must be an array reference to a declared array" + nixErrorLog "first argument expectedArrayRef must be a reference to an indexed array" exit 1 fi if ! isDeclaredArray "${!actualArrayRef}"; then - nixErrorLog "second arugment actualArrayRef must be an array reference to a declared array" + nixErrorLog "second argument actualArrayRef must be a reference to an indexed array" exit 1 fi diff --git a/pkgs/build-support/testers/testEqualArrayOrMap/assert-equal-map.sh b/pkgs/build-support/testers/testEqualArrayOrMap/assert-equal-map.sh index b601f9e424e9..1469f94565dd 100644 --- a/pkgs/build-support/testers/testEqualArrayOrMap/assert-equal-map.sh +++ b/pkgs/build-support/testers/testEqualArrayOrMap/assert-equal-map.sh @@ -1,11 +1,5 @@ # shellcheck shell=bash -# Tests if a map is declared. -isDeclaredMap() { - # shellcheck disable=SC2034 - local -nr mapRef="$1" && [[ ${!mapRef@a} =~ A ]] -} - # Asserts that two maps are equal, printing out differences if they are not. # Does not short circuit on the first difference. assertEqualMap() { @@ -19,26 +13,15 @@ assertEqualMap() { local -nr actualMapRef="$2" if ! isDeclaredMap "${!expectedMapRef}"; then - nixErrorLog "first arugment expectedMapRef must be an associative array reference to a declared associative array" + nixErrorLog "first argument expectedMapRef must be a reference to an associative array" exit 1 fi if ! isDeclaredMap "${!actualMapRef}"; then - nixErrorLog "second arugment actualMapRef must be an associative array reference to a declared associative array" + nixErrorLog "second argument actualMapRef must be a reference to an associative array" exit 1 fi - # NOTE: - # From the `sort` manpage: "The locale specified by the environment affects sort order. Set LC_ALL=C to get the - # traditional sort order that uses native byte values." - # We specify the environment variable in a subshell to avoid polluting the caller's environment. - - local -a sortedExpectedKeys - mapfile -d '' -t sortedExpectedKeys < <(printf '%s\0' "${!expectedMapRef[@]}" | LC_ALL=C sort --stable --zero-terminated) - - local -a sortedActualKeys - mapfile -d '' -t sortedActualKeys < <(printf '%s\0' "${!actualMapRef[@]}" | LC_ALL=C sort --stable --zero-terminated) - local -ir expectedLength=${#expectedMapRef[@]} local -ir actualLength=${#actualMapRef[@]} @@ -49,6 +32,12 @@ assertEqualMap() { hasDiff=1 fi + local -a sortedExpectedKeys=() + getSortedMapKeys "${!expectedMapRef}" sortedExpectedKeys + + local -a sortedActualKeys=() + getSortedMapKeys "${!actualMapRef}" sortedActualKeys + local -i expectedKeyIdx=0 local expectedKey local expectedValue diff --git a/pkgs/build-support/testers/testEqualArrayOrMap/default.nix b/pkgs/build-support/testers/testEqualArrayOrMap/default.nix index 4dc17d0e2b58..31bbc7fe3f12 100644 --- a/pkgs/build-support/testers/testEqualArrayOrMap/default.nix +++ b/pkgs/build-support/testers/testEqualArrayOrMap/default.nix @@ -1,4 +1,5 @@ { + arrayUtilities, lib, stdenvNoCC, }: @@ -21,7 +22,10 @@ lib.makeOverridable ( inherit name; nativeBuildInputs = [ + arrayUtilities.isDeclaredArray ./assert-equal-array.sh + arrayUtilities.isDeclaredMap + arrayUtilities.getSortedMapKeys ./assert-equal-map.sh ]; diff --git a/pkgs/build-support/trivial-builders/default.nix b/pkgs/build-support/trivial-builders/default.nix index ca2f33afa7b3..05c6cbecc6b5 100644 --- a/pkgs/build-support/trivial-builders/default.nix +++ b/pkgs/build-support/trivial-builders/default.nix @@ -1062,7 +1062,7 @@ rec { // (optionalAttrs (extraPassthru != { } || src ? passthru) { passthru = extraPassthru // src.passthru or { }; }) - # Forward any additional arguments to the derviation + # Forward any additional arguments to the derivation // (removeAttrs args [ "src" "name" diff --git a/pkgs/by-name/_1/_1password-gui/darwin.nix b/pkgs/by-name/_1/_1password-gui/darwin.nix index 66af74630c34..7c2f24f98be4 100644 --- a/pkgs/by-name/_1/_1password-gui/darwin.nix +++ b/pkgs/by-name/_1/_1password-gui/darwin.nix @@ -30,4 +30,6 @@ stdenv.mkDerivation { # 1Password is notarized. dontFixup = true; + + passthru.updateScript = ./update.sh; } diff --git a/pkgs/by-name/_1/_1password-gui/linux.nix b/pkgs/by-name/_1/_1password-gui/linux.nix index 9998860829a8..03fec5bd4922 100644 --- a/pkgs/by-name/_1/_1password-gui/linux.nix +++ b/pkgs/by-name/_1/_1password-gui/linux.nix @@ -153,4 +153,6 @@ stdenv.mkDerivation { # https://1password.community/discussion/comment/624011/#Comment_624011 #--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" ''; + + passthru.updateScript = ./update.sh; } diff --git a/pkgs/by-name/_1/_1password-gui/package.nix b/pkgs/by-name/_1/_1password-gui/package.nix index e4a9866ff3f2..b1f68bf68035 100644 --- a/pkgs/by-name/_1/_1password-gui/package.nix +++ b/pkgs/by-name/_1/_1password-gui/package.nix @@ -11,18 +11,18 @@ let pname = "1password"; - versions = builtins.fromJSON (builtins.readFile ./versions.json); - hostOs = if stdenv.hostPlatform.isLinux then "linux" else "darwin"; - version = versions."${channel}-${hostOs}" or (throw "unknown channel-os ${channel}-${hostOs}"); - + hostOs = stdenv.hostPlatform.parsed.kernel.name; + hostArch = stdenv.hostPlatform.parsed.cpu.name; sources = builtins.fromJSON (builtins.readFile ./sources.json); + sourcesChan = sources.${channel} or (throw "unsupported channel ${channel}"); + sourcesChanOs = sourcesChan.${hostOs} or (throw "unsupported OS ${hostOs}"); + sourcesChanOsArch = + sourcesChanOs.sources.${hostArch} or (throw "unsupported architecture ${hostArch}"); + + inherit (sourcesChanOs) version; src = fetchurl { - inherit - (sources.${channel}.${stdenv.system} or (throw "unsupported system ${stdenv.hostPlatform.system}")) - url - hash - ; + inherit (sourcesChanOsArch) url hash; }; meta = { @@ -37,7 +37,12 @@ let sebtm bdd ]; - platforms = builtins.attrNames sources.${channel}; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + "aarch64-linux" + "aarch64-darwin" + ]; mainProgram = "1password"; }; diff --git a/pkgs/by-name/_1/_1password-gui/sources.json b/pkgs/by-name/_1/_1password-gui/sources.json index ef4f2c8ee395..60b0a7e93b46 100644 --- a/pkgs/by-name/_1/_1password-gui/sources.json +++ b/pkgs/by-name/_1/_1password-gui/sources.json @@ -1,38 +1,58 @@ { "stable": { - "x86_64-linux": { - "url": "https://downloads.1password.com/linux/tar/stable/x86_64/1password-8.10.78.x64.tar.gz", - "hash": "sha256-COmXSjbCetPsbm40OrWGVtULPheEgnHEO0ZcIgWaG1w=" + "linux": { + "version": "8.10.78", + "sources": { + "x86_64": { + "url": "https://downloads.1password.com/linux/tar/stable/x86_64/1password-8.10.78.x64.tar.gz", + "hash": "sha256-COmXSjbCetPsbm40OrWGVtULPheEgnHEO0ZcIgWaG1w=" + }, + "aarch64": { + "url": "https://downloads.1password.com/linux/tar/stable/aarch64/1password-8.10.78.arm64.tar.gz", + "hash": "sha256-diy7VhKRluSnVSR35Ogamf9RDHdqxSJifLOOYmMrJHE=" + } + } }, - "aarch64-linux": { - "url": "https://downloads.1password.com/linux/tar/stable/aarch64/1password-8.10.78.arm64.tar.gz", - "hash": "sha256-diy7VhKRluSnVSR35Ogamf9RDHdqxSJifLOOYmMrJHE=" - }, - "x86_64-darwin": { - "url": "https://downloads.1password.com/mac/1Password-8.10.78-x86_64.zip", - "hash": "sha256-8fbjEc/Z0xCdXq/uHp4bQE5Js5hNLbVCRZxnepUdLUs=" - }, - "aarch64-darwin": { - "url": "https://downloads.1password.com/mac/1Password-8.10.78-aarch64.zip", - "hash": "sha256-x03dZ/eVrvFcbese1cBAvyJKwtWe6rOcgytn0OsEFDQ=" + "darwin": { + "version": "8.10.78", + "sources": { + "x86_64": { + "url": "https://downloads.1password.com/mac/1Password-8.10.78-x86_64.zip", + "hash": "sha256-8fbjEc/Z0xCdXq/uHp4bQE5Js5hNLbVCRZxnepUdLUs=" + }, + "aarch64": { + "url": "https://downloads.1password.com/mac/1Password-8.10.78-aarch64.zip", + "hash": "sha256-x03dZ/eVrvFcbese1cBAvyJKwtWe6rOcgytn0OsEFDQ=" + } + } } }, "beta": { - "x86_64-linux": { - "url": "https://downloads.1password.com/linux/tar/beta/x86_64/1password-8.10.80-18.BETA.x64.tar.gz", - "hash": "sha256-X2Wu/dQQ7fv+tTAU2/70S38wL6WdJuc/DXWoiHZvSP4=" + "linux": { + "version": "8.10.80-18.BETA", + "sources": { + "x86_64": { + "url": "https://downloads.1password.com/linux/tar/beta/x86_64/1password-8.10.80-18.BETA.x64.tar.gz", + "hash": "sha256-X2Wu/dQQ7fv+tTAU2/70S38wL6WdJuc/DXWoiHZvSP4=" + }, + "aarch64": { + "url": "https://downloads.1password.com/linux/tar/beta/aarch64/1password-8.10.80-18.BETA.arm64.tar.gz", + "hash": "sha256-52aRg6QD/fKOzOHoG88q8VNJIizxnISFnpxek7bJ05w=" + } + } }, - "aarch64-linux": { - "url": "https://downloads.1password.com/linux/tar/beta/aarch64/1password-8.10.80-18.BETA.arm64.tar.gz", - "hash": "sha256-52aRg6QD/fKOzOHoG88q8VNJIizxnISFnpxek7bJ05w=" - }, - "x86_64-darwin": { - "url": "https://downloads.1password.com/mac/1Password-8.10.80-18.BETA-x86_64.zip", - "hash": "sha256-kUU+nm19DmdY8ZG6d+EJFQXcCy/BOauXh83suQLSvz0=" - }, - "aarch64-darwin": { - "url": "https://downloads.1password.com/mac/1Password-8.10.80-18.BETA-aarch64.zip", - "hash": "sha256-eZG0QaB5NRwRCYcmlfZA/HTceLq7eUzR+AvzDeOrzAY=" + "darwin": { + "version": "8.10.80-18.BETA", + "sources": { + "x86_64": { + "url": "https://downloads.1password.com/mac/1Password-8.10.80-18.BETA-x86_64.zip", + "hash": "sha256-kUU+nm19DmdY8ZG6d+EJFQXcCy/BOauXh83suQLSvz0=" + }, + "aarch64": { + "url": "https://downloads.1password.com/mac/1Password-8.10.80-18.BETA-aarch64.zip", + "hash": "sha256-eZG0QaB5NRwRCYcmlfZA/HTceLq7eUzR+AvzDeOrzAY=" + } + } } } } diff --git a/pkgs/by-name/_1/_1password-gui/update-sources.py b/pkgs/by-name/_1/_1password-gui/update-sources.py new file mode 100755 index 000000000000..f987d3fa3c5c --- /dev/null +++ b/pkgs/by-name/_1/_1password-gui/update-sources.py @@ -0,0 +1,122 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i python3 -p python3 gnupg +import json +import os +import shutil +import subprocess +import sys +import tempfile +from collections import OrderedDict + +DOWNLOADS_BASE_URL = "https://downloads.1password.com" +OP_PGP_KEYID = "3FEF9748469ADBE15DA7CA80AC2D62742012EA22" + + +class Sources(OrderedDict): + def __init__(self): + self._jsonfp = open("sources.json", "r+") + self.update(json.load(self._jsonfp)) + self._jsonfp.seek(0, os.SEEK_SET) + + def persist(self): + json.dump(self, self._jsonfp, indent=2) + self._jsonfp.write("\n") # keep fmt.check happy + + +class GPG: + def __new__(cls): + if not hasattr(cls, "_instance"): + cls._instance = super().__new__(cls) + return cls._instance + + def __init__(self): + if hasattr(self, "gnupghome"): + return + + self.gpg = shutil.which("gpg") + self.gpgv = shutil.which("gpgv") + self.gnupghome = tempfile.mkdtemp(prefix="1password-gui-gnupghome.") + self.env = {"GNUPGHOME": self.gnupghome} + self._run( + self.gpg, + "--no-default-keyring", + "--keyring", + "trustedkeys.kbx", + "--keyserver", + "keyserver.ubuntu.com", + "--receive-keys", + OP_PGP_KEYID, + ) + + def __del__(self): + shutil.rmtree(self.gnupghome) + + def _run(self, *args): + try: + subprocess.run(args, env=self.env, check=True, capture_output=True) + except subprocess.CalledProcessError as cpe: + print(cpe.stderr, file=sys.stderr) + raise SystemExit(f"gpg error: {cpe.cmd}") + + def verify(self, sigfile, datafile): + return self._run(self.gpgv, sigfile, datafile) + + +def nix_store_prefetch(url): + nix = shutil.which("nix") + cp = subprocess.run( + [nix, "store", "prefetch-file", "--json", url], check=True, capture_output=True + ) + out = json.loads(cp.stdout) + + return out["storePath"], out["hash"] + + +def mk_url(channel, os, version, arch): + if os == "linux": + arch_alias = {"x86_64": "x64", "aarch64": "arm64"}[arch] + path = f"linux/tar/{channel}/{arch}/1password-{version}.{arch_alias}.tar.gz" + elif os == "darwin": + path = f"mac/1Password-{version}-{arch}.zip" + else: + raise SystemExit(f"update-sources.py: unsupported OS {os}") + + return f"{DOWNLOADS_BASE_URL}/{path}" + + +def download(channel, os, version, arch): + url = mk_url(channel, os, version, arch) + store_path_tarball, hash = nix_store_prefetch(url) + + # Linux release tarballs come with detached PGP signatures. + if os == "linux": + store_path_sig, _ = nix_store_prefetch(url + ".sig") + GPG().verify(store_path_sig, store_path_tarball) + + return url, hash + + +def main(args): + """Gets called with args in `channel/os/version` format. + + e.g.: + update-sources.py stable/linux/8.10.80 beta/linux/8.10.82-12.BETA + """ + sources = Sources() + + for triplet in args[1:]: + channel, os, version = triplet.split("/") + release = sources[channel][os] + if release["version"] == version: + continue + + release["version"] = version + for arch in release["sources"]: + url, hash = download(channel, os, version, arch) + release["sources"][arch].update({"url": url, "hash": hash}) + + sources.persist() + + +if __name__ == "__main__": + sys.exit(main(sys.argv)) diff --git a/pkgs/by-name/_1/_1password-gui/update.sh b/pkgs/by-name/_1/_1password-gui/update.sh index 1d31ef972f76..07fc726e2f74 100755 --- a/pkgs/by-name/_1/_1password-gui/update.sh +++ b/pkgs/by-name/_1/_1password-gui/update.sh @@ -1,84 +1,118 @@ #!/usr/bin/env nix-shell -#!nix-shell -i bash -p jq gnupg +#!nix-shell -i bash -p jq curl #shellcheck shell=bash - set -euo pipefail +# For Linux version checks we rely on Repology API to check 1Password managed Arch User Repository. +REPOLOGY_PROJECT_URI="https://repology.org/api/v1/project/1password" + +# For Darwin version checks we query the same endpoint 1Password 8 for Mac queries. +# This is the base URI. For stable channel an additional path of "N", for beta channel, "Y" is required. +APP_UPDATES_URI_BASE="https://app-updates.agilebits.com/check/2/99/aarch64/OPM8/en/0/A1" + +CURL=( + "curl" "--silent" "--show-error" "--fail" + "--proto" "=https" # enforce https + "--tlsv1.2" # do not accept anything below tls 1.2 + "-H" "user-agent: nixpkgs#_1password-gui update.sh" # repology requires a descriptive user-agent +) + +JQ=( + "jq" + "--raw-output" + "--exit-status" # exit non-zero if no output is produced +) + + +read_local_versions() { + local channel="$1" + + while IFS='=' read -r key value; do + local_versions["${key}"]="${value}" + done < <(jq -r --arg channel "${channel}" ' + .[$channel] | to_entries[] | .key as $os | .value.version as $version | + "\($channel)/\($os)=\($version)" + ' sources.json) +} + +read_remote_versions() { + local channel="$1" + + if [[ ${channel} == "stable" ]]; then + remote_versions["stable/linux"]=$( + "${CURL[@]}" "${REPOLOGY_PROJECT_URI}" \ + | "${JQ[@]}" '.[] | select(.repo == "aur" and .srcname == "1password" and .status == "newest") | .version' + ) + + remote_versions["stable/darwin"]=$( + "${CURL[@]}" "${APP_UPDATES_URI_BASE}/N" \ + | "${JQ[@]}" 'select(.available == "1") | .version' + ) + else + remote_versions["beta/linux"]=$( + # AUR version string uses underscores instead of dashes for betas. + # We fix that with a `sub` in jq query. + "${CURL[@]}" "${REPOLOGY_PROJECT_URI}" \ + | "${JQ[@]}" '.[] | select(.repo == "aur" and .srcname == "1password-beta") | .version | sub("_"; "-")' + ) + + remote_versions["beta/darwin"]=$( + "${CURL[@]}" "${APP_UPDATES_URI_BASE}/Y" \ + | "${JQ[@]}" 'select(.available == "1") | .version' + ) + fi +} + +render_versions_json() { + local key value + + for key in "${!local_versions[@]}"; do + value="${local_versions[${key}]}" + echo "${key}" + echo "${value}" + done \ + | jq -nR 'reduce inputs as $i ({}; . + { $i: input })' +} + + cd -- "$(dirname "${BASH_SOURCE[0]}")" -mk_url() { - local \ - base_url="https://downloads.1password.com" \ - os="$1" \ - channel="$2" \ - arch="$3" \ - version="$4" +attr_path=${UPDATE_NIX_ATTR_PATH} +case "${attr_path}" in + _1password-gui) channel="stable" ;; + _1password-gui-beta) channel="beta" ;; + *) + echo "Unknown attribute path ${attr_path}" >&2 + exit 1 +esac - if [[ ${os} == "linux" ]]; then - if [[ ${arch} == "x86_64" ]]; then - ext="x64.tar.gz" - else - ext="arm64.tar.gz" - fi - url="${base_url}/${os}/tar/${channel}/${arch}/1password-${version}.${ext}" - else - ext="${arch}.zip" - url="${base_url}/mac/1Password-${version}-${ext}" +declare -A local_versions remote_versions +declare -a new_version_available=() +read_local_versions "${channel}" +read_remote_versions "${channel}" +for i in "${!remote_versions[@]}"; do + if [[ "${local_versions[$i]}" != "${remote_versions[$i]}" ]]; then + old_version="${local_versions[$i]}" + new_version="${remote_versions[$i]}" + new_version_available+=("$i/$new_version") fi - - echo "${url}" -} - -cleanup() { - if [[ -d ${TMP_GNUPGHOME-} ]]; then - rm -r "${TMP_GNUPGHOME}" - fi - - if [[ -f ${JSON_HEAP-} ]]; then - rm "${JSON_HEAP}" - fi -} - -trap cleanup EXIT - -# Get channel versions from versions.json -declare -A versions -while IFS='=' read -r key value; do - versions["${key}"]="${value}" -done < <(jq -r 'to_entries[] | "\(.key)=\(.value)"' versions.json) - -TMP_GNUPGHOME=$(mktemp -dt 1password-gui.gnupghome.XXXXXX) -export GNUPGHOME="${TMP_GNUPGHOME}" -gpg --no-default-keyring --keyring trustedkeys.kbx \ - --keyserver keyserver.ubuntu.com \ - --receive-keys 3FEF9748469ADBE15DA7CA80AC2D62742012EA22 - -JSON_HEAP=$(mktemp -t 1password-gui.jsonheap.XXXXXX) -for channel in stable beta; do - for os in linux darwin; do - for arch in x86_64 aarch64; do - version="${versions[${channel}-${os}]}" - url=$(mk_url ${os} ${channel} ${arch} ${version}) - nix store prefetch-file --json "${url}" | jq " - { - \"${channel}\": { - \"${arch}-${os}\": { - \"url\": \"${url}\", - \"hash\": .hash, - \"storePath\": .storePath - } - } - }" >> "${JSON_HEAP}" - - # For some reason 1Password PGP signs only Linux binaries. - if [[ ${os} == "linux" ]]; then - gpgv \ - $(nix store prefetch-file --json "${url}.sig" | jq -r .storePath) \ - $(jq -r --slurp ".[-1].[].[].storePath" "${JSON_HEAP}") - fi - done - done done -# Combine heap of hash+url objects into a single JSON object. -jq --slurp 'reduce .[] as $x ({}; . * $x) | del (.[].[].storePath)' "${JSON_HEAP}" > sources.json +if [[ ${#new_version_available[@]} -eq 0 ]]; then + # up to date + exit +fi + +./update-sources.py "${new_version_available[@]}" +cat < in + (lib.cmakeBool "ADIOS2_USE_EXTERNAL_GTEST" false) + (lib.cmakeBool "BUILD_TESTING" finalAttrs.finalPackage.doCheck) + # higher MPIEXEC_MAX_NUMPROCS>8 might cause tests failure in + # - Engine.BP.BPJoinedArray.MultiBlock.BP4.MPI + # - Engine.BP.BPJoinedArray.MultiBlock.BP5.MPI + # - Bindings.Fortran.BPWriteReadHeatMap6D.MPI + # due to insufficiently robust data generation and comparison for larger MPI sizes. + (lib.cmakeFeature "MPIEXEC_MAX_NUMPROCS" "4") + + # Enable support for Little/Big Endian Interoperability + (lib.cmakeBool "ADIOS2_USE_Endian_Reverse" true) + (lib.cmakeBool "ADIOS2_BUILD_EXAMPLES" withExamples) - (lib.cmakeBool "ADIOS2_USE_EXTERNAL_DEPENDENCIES" true) (lib.cmakeFeature "CMAKE_INSTALL_BINDIR" "bin") (lib.cmakeFeature "CMAKE_INSTALL_LIBDIR" "lib") (lib.cmakeFeature "CMAKE_INSTALL_INCLUDEDIR" "include") - (lib.cmakeFeature "CMAKE_INSTALL_PYTHONDIR" python3.sitePackages) + (lib.cmakeFeature "CMAKE_INSTALL_PYTHONDIR" python3Packages.python.sitePackages) ]; - # equired for finding the generated adios2-config.cmake file - env.adios2_DIR = "${placeholder "out"}/lib/cmake/adios2"; + # Tests are time-consuming and moved to passthru.tests.withCheck. + doCheck = false; + dontUseNinjaCheck = true; - # Ctest takes too much time, so we only perform some smoke Python tests. - doInstallCheck = pythonSupport; + preCheck = '' + export adios2_DIR=$PWD + ''; - preCheck = - '' - export PYTHONPATH=$out/${python3.sitePackages}:$PYTHONPATH - '' - + lib.optionalString (stdenv.hostPlatform.system == "aarch64-linux") '' - rm ../testing/adios2/python/TestBPWriteTypesHighLevelAPI.py - ''; + enableParallelChecking = false; - pytestFlagsArray = [ - "../testing/adios2/python/Test*.py" + __darwinAllowLocalNetworking = finalAttrs.finalPackage.doCheck && mpiSupport; + + nativeCheckInputs = [ + python3Packages.python + ctestCheckHook + mpiCheckPhaseHook ]; + # required for finding the generated adios2-config.cmake file + preInstall = '' + export adios2_DIR=$out/lib/cmake/adios2 + ''; + pythonImportsCheck = [ "adios2" ]; - nativeInstallCheckInputs = lib.optionals pythonSupport [ - python3Packages.pythonImportsCheckHook - python3Packages.pytestCheckHook - ]; + passthru.tests = { + withCheck = finalAttrs.finalPackage.overrideAttrs { + doCheck = true; + + disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [ + # TypeError: cannot pickle 'TextIOWrapper' instances + "Test.Engine.DataMan1xN.Serial" + "Test.Engine.DataManSingleValues" + # The test assumed to always contain n*64 byte-length records. Right now the length of index buffer is 71 bytes. + "Staging.1x1.Local2.BPS.BB.BP4_stream" + # Timeout + "Staging.3x5LockGeometry.FS.BB.FileStream" + "Engine.Staging.TestOnDemandMPI.ADIOS2OnDemandMPI.SST.MPI" + ]; + }; + + cmake-config = testers.hasCmakeConfigModules { + moduleNames = [ "adios2" ]; + package = finalAttrs.finalPackage; + }; + }; meta = { homepage = "https://adios2.readthedocs.io/en/latest/"; diff --git a/pkgs/by-name/ae/aerospike/package.nix b/pkgs/by-name/ae/aerospike/package.nix index 84f7642ede5e..6f79ead45736 100644 --- a/pkgs/by-name/ae/aerospike/package.nix +++ b/pkgs/by-name/ae/aerospike/package.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation rec { pname = "aerospike-server"; - version = "8.0.0.7"; + version = "8.0.0.8"; src = fetchFromGitHub { owner = "aerospike"; repo = "aerospike-server"; rev = version; - hash = "sha256-pusPYp3zbd+y+Gc3XnAk8sn74jp/+UzjoWb1wuD1+uE="; + hash = "sha256-z80LtwEp83BJm7zQS0mttr1UZQbDcaKrWuACeEmIzKs="; fetchSubmodules = true; }; diff --git a/pkgs/by-name/af/affine/package.nix b/pkgs/by-name/af/affine/package.nix index c069ac1a5437..ecb3eb7e60fc 100644 --- a/pkgs/by-name/af/affine/package.nix +++ b/pkgs/by-name/af/affine/package.nix @@ -43,17 +43,17 @@ in stdenv.mkDerivation (finalAttrs: { pname = binName; - version = "0.21.6"; + version = "0.22.3"; src = fetchFromGitHub { owner = "toeverything"; repo = "AFFiNE"; tag = "v${finalAttrs.version}"; - hash = "sha256-xiOfy3uskqYv5b0U2s1Zpc4/ydsRhhUd8M33IH0BJ10="; + hash = "sha256-LTNJsW7ETIca3uADuoa0ROOOMQT8+LN8+B8VVUyDZSY="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) pname version src; - hash = "sha256-1BTSvHaSPE55v6awnvRry1Exms+zeGug3PNldZ2v2HY="; + hash = "sha256-kAhT2yXFbUuV34ukdUmLQbO00LSaYk7gpsp0nmO138o="; }; yarnOfflineCache = stdenvNoCC.mkDerivation { name = "yarn-offline-cache"; @@ -98,7 +98,7 @@ stdenv.mkDerivation (finalAttrs: { ''; dontInstall = true; outputHashMode = "recursive"; - outputHash = "sha256-XpVygLwK/vjQJ5cDckIRM3Uo5hcahTz/XV1WjBQmOac="; + outputHash = "sha256-fwvv3OXDorcyikixEoOMnu3dv24ClGBS6h3oWAk0uas="; }; buildInputs = lib.optionals hostPlatform.isDarwin [ diff --git a/pkgs/by-name/af/afsctool/package.nix b/pkgs/by-name/af/afsctool/package.nix index 4ebcd4e1da67..a932a79b63fd 100644 --- a/pkgs/by-name/af/afsctool/package.nix +++ b/pkgs/by-name/af/afsctool/package.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "RJVB"; - repo = pname; + repo = "afsctool"; rev = "v${version}"; hash = "sha256-cZ0P9cygj+5GgkDRpQk7P9z8zh087fpVfrYXMRRVUAI="; }; diff --git a/pkgs/by-name/ai/airgeddon/package.nix b/pkgs/by-name/ai/airgeddon/package.nix index b67687d75178..fb742524fadd 100644 --- a/pkgs/by-name/ai/airgeddon/package.nix +++ b/pkgs/by-name/ai/airgeddon/package.nix @@ -115,13 +115,13 @@ let in stdenv.mkDerivation rec { pname = "airgeddon"; - version = "11.41"; + version = "11.50"; src = fetchFromGitHub { owner = "v1s1t0r1sh3r3"; repo = "airgeddon"; tag = "v${version}"; - hash = "sha256-+hJqaEjEy8woJKE+HKg3utNrZmGeAdd0YWi62HPLN/I="; + hash = "sha256-hy6q25hWGEFlih0IuwoqDRjbUk1/iShj6uY+mz6hlFU="; }; strictDeps = true; diff --git a/pkgs/by-name/ai/airwindows/package.nix b/pkgs/by-name/ai/airwindows/package.nix index 4390bbd5e281..50e52d4b2179 100644 --- a/pkgs/by-name/ai/airwindows/package.nix +++ b/pkgs/by-name/ai/airwindows/package.nix @@ -8,13 +8,13 @@ }: stdenv.mkDerivation { pname = "airwindows"; - version = "0-unstable-2025-05-25"; + version = "0-unstable-2025-06-08"; src = fetchFromGitHub { owner = "airwindows"; repo = "airwindows"; - rev = "751e1d0163a120ef03d8ece3accdcea6d689c1f5"; - hash = "sha256-jg1BFKtJH7eNmIrIw1o3NAOGnG8VK/Zq4r2wzyx2VYU="; + rev = "a88ee4caa6e874efec86a1e8c62853dbc1caa514"; + hash = "sha256-fTVDpDxPMrRxHGUJh8/qGYGkziPdjKj9Q/q3LCd1brE="; }; # we patch helpers because honestly im spooked out by where those variables diff --git a/pkgs/by-name/al/albyhub/ldk-node-go/default.nix b/pkgs/by-name/al/albyhub/ldk-node-go/default.nix index e911017b7e5a..58e294990184 100644 --- a/pkgs/by-name/al/albyhub/ldk-node-go/default.nix +++ b/pkgs/by-name/al/albyhub/ldk-node-go/default.nix @@ -5,14 +5,14 @@ ldkNode, }: -buildGoModule rec { +buildGoModule { pname = "ldk-node-go"; - version = "0-unstable-2025-05-21"; + version = "0-unstable-2025-05-25"; src = fetchFromGitHub { owner = "getAlby"; repo = "ldk-node-go"; - rev = "ca26307fa2d8ee4d30da9affd0b202897f9919f6"; + rev = "13acf1fb7bb52c76dc5a47084dc35e00108e5f28"; hash = "sha256-UdsfN6UL9lKPQSCfF8oA89U0M3pqj/TcFcs01E7WoXs="; }; diff --git a/pkgs/by-name/al/albyhub/ldk-node/default.nix b/pkgs/by-name/al/albyhub/ldk-node/default.nix index 99ea24923470..eb7e4298a962 100644 --- a/pkgs/by-name/al/albyhub/ldk-node/default.nix +++ b/pkgs/by-name/al/albyhub/ldk-node/default.nix @@ -6,7 +6,7 @@ llvmPackages, }: -rustPlatform.buildRustPackage rec { +rustPlatform.buildRustPackage (finalAttrs: { pname = "ldk-node"; version = "0-unstable-2025-05-21"; @@ -37,7 +37,7 @@ rustPlatform.buildRustPackage rec { meta = { description = "Embeds the LDK node implementation compiled as shared library objects"; homepage = "https://github.com/getAlby/ldk-node"; - changelog = "https://github.com/getAlby/ldk-node/blob/${src.rev}/CHANGELOG.md"; + changelog = "https://github.com/getAlby/ldk-node/blob/${finalAttrs.src.rev}/CHANGELOG.md"; license = with lib.licenses; [ asl20 mit @@ -45,4 +45,4 @@ rustPlatform.buildRustPackage rec { platforms = lib.platforms.linux; maintainers = with lib.maintainers; [ bleetube ]; }; -} +}) diff --git a/pkgs/by-name/al/albyhub/package.nix b/pkgs/by-name/al/albyhub/package.nix index 9a6af0077532..5ab0e42ac399 100644 --- a/pkgs/by-name/al/albyhub/package.nix +++ b/pkgs/by-name/al/albyhub/package.nix @@ -21,18 +21,18 @@ let in -buildGoModule rec { +buildGoModule (finalAttrs: { pname = "albyhub"; - version = "1.17.1"; + version = "1.17.2"; src = fetchFromGitHub { owner = "getAlby"; repo = "hub"; - tag = "v${version}"; - hash = "sha256-ZDTCA3nMJEA8I7PeSgwQAe+wU8Wk0GaH3ItQLzPhOBQ="; + tag = "v${finalAttrs.version}"; + hash = "sha256-7+5VWLO4J+ArHyTxapqVQL5GPofV4/QXCu5g+Ix9HoI="; }; - vendorHash = "sha256-4e75SqQiRUEEjtDZKDZsGSRavZFh5ulJdMz0Ne7gME0="; + vendorHash = "sha256-uk0SzrzgT9BpFGMv5qUwXonXLvVgfjjudy+rlj3j5Yo="; proxyVendor = true; # needed for secp256k1-zkp CGO bindings nativeBuildInputs = [ @@ -48,7 +48,7 @@ buildGoModule rec { ]; frontendYarnOfflineCache = fetchYarnDeps { - yarnLock = src + "/frontend/yarn.lock"; + yarnLock = finalAttrs.src + "/frontend/yarn.lock"; hash = "sha256-SStTJGqeqPvXBKjFMPjKEts+jg6A9Vaqi+rZkr/ytdc="; }; @@ -56,7 +56,7 @@ buildGoModule rec { export HOME=$TMPDIR pushd frontend fixup-yarn-lock yarn.lock - yarn config set yarn-offline-mirror "${frontendYarnOfflineCache}" + yarn config set yarn-offline-mirror "${finalAttrs.frontendYarnOfflineCache}" yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive patchShebangs node_modules yarn --offline build:http @@ -68,7 +68,7 @@ buildGoModule rec { ]; ldflags = [ - "-X github.com/getAlby/hub/version.Tag=v${version}" + "-X github.com/getAlby/hub/version.Tag=v${finalAttrs.version}" "-s" "-w" ]; @@ -95,4 +95,4 @@ buildGoModule rec { maintainers = with lib.maintainers; [ bleetube ]; mainProgram = "albyhub"; }; -} +}) diff --git a/pkgs/by-name/al/alglib/package.nix b/pkgs/by-name/al/alglib/package.nix index 270e0195c306..f0044b3198db 100644 --- a/pkgs/by-name/al/alglib/package.nix +++ b/pkgs/by-name/al/alglib/package.nix @@ -8,11 +8,11 @@ stdenv.mkDerivation rec { pname = "alglib3"; - version = "4.04.0"; + version = "4.05.0"; src = fetchurl { url = "https://www.alglib.net/translator/re/alglib-${version}.cpp.gpl.tgz"; - sha256 = "sha256-nPHllbcr1Hi3RzyOqvkZtACLJT2Gutu8WlItFJpnIUQ="; + sha256 = "sha256-czgBhziKjAO17ZwXChsjOazIaNODRrGyswhc4j4/T9s="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/al/algolia-cli/package.nix b/pkgs/by-name/al/algolia-cli/package.nix index 1f1debffbd5d..e4d22de76a57 100644 --- a/pkgs/by-name/al/algolia-cli/package.nix +++ b/pkgs/by-name/al/algolia-cli/package.nix @@ -5,7 +5,7 @@ installShellFiles, }: let - version = "1.6.11"; + version = "1.7.0"; in buildGoModule { pname = "algolia-cli"; @@ -15,10 +15,10 @@ buildGoModule { owner = "algolia"; repo = "cli"; rev = "v${version}"; - hash = "sha256-VqY0h0Z3ocmgw0uFI4f6B5C/bTt3zoUXBlYPgOPxBo0="; + hash = "sha256-j8OCN+iV5sMjgYTMGCc72JPImuFFvehKw4S99l+YWhs="; }; - vendorHash = "sha256-cNuBTH7L2K4TgD0H9FZ9CjhE5AGXADaniGLD9Lhrtrk="; + vendorHash = "sha256-qzgkcmRuXHM9aMQGBObUHYH9qpWnDfTvwdx1A4it8aQ="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/al/aligator/package.nix b/pkgs/by-name/al/aligator/package.nix index 7c26ac68aa57..95b48a12cdb3 100644 --- a/pkgs/by-name/al/aligator/package.nix +++ b/pkgs/by-name/al/aligator/package.nix @@ -1,32 +1,40 @@ { - cmake, - crocoddyl, - doxygen, - fetchFromGitHub, - fmt, - fontconfig, - gbenchmark, - graphviz, lib, + fetchFromGitHub, + fontconfig, llvmPackages, - pinocchio, - pkg-config, - proxsuite-nlp, + nix-update-script, python3Packages, pythonSupport ? false, stdenv, + + # nativeBuildInputs + doxygen, + cmake, + graphviz, + pkg-config, + + # buildInputs + fmt, + + # propagatedBuildInputs suitesparse, + crocoddyl, + pinocchio, + + # checkInputs + gbenchmark, }: stdenv.mkDerivation (finalAttrs: { pname = "aligator"; - version = "0.12.0"; + version = "0.14.0"; src = fetchFromGitHub { owner = "Simple-Robotics"; repo = "aligator"; tag = "v${finalAttrs.version}"; - hash = "sha256-oy2qcJbIGr5pe+XYWKntfsc6Ie7oEU1qqrPXjuqULmY="; + hash = "sha256-SkhFV/a3A6BqzoicQa7MUgsEuDzd+JfgYvL4ztHg/K0="; }; outputs = [ @@ -44,6 +52,7 @@ stdenv.mkDerivation (finalAttrs: { pkg-config ] ++ lib.optionals pythonSupport [ + python3Packages.python python3Packages.pythonImportsCheckHook ]; buildInputs = @@ -57,12 +66,10 @@ stdenv.mkDerivation (finalAttrs: { python3Packages.crocoddyl python3Packages.matplotlib python3Packages.pinocchio - python3Packages.proxsuite-nlp ] ++ lib.optionals (!pythonSupport) [ crocoddyl pinocchio - proxsuite-nlp ]; checkInputs = [ gbenchmark ] @@ -99,6 +106,8 @@ stdenv.mkDerivation (finalAttrs: { doCheck = true; pythonImportsCheck = [ "aligator" ]; + passthru.updateScript = nix-update-script { }; + meta = { description = "Versatile and efficient framework for constrained trajectory optimization"; homepage = "https://github.com/Simple-Robotics/aligator"; diff --git a/pkgs/by-name/al/alioth/package.nix b/pkgs/by-name/al/alioth/package.nix index 8ddb7c933f52..1c06988f2bca 100644 --- a/pkgs/by-name/al/alioth/package.nix +++ b/pkgs/by-name/al/alioth/package.nix @@ -6,20 +6,20 @@ rustPlatform.buildRustPackage rec { pname = "alioth"; - version = "0.7.0"; + version = "0.8.0"; src = fetchFromGitHub { owner = "google"; repo = "alioth"; tag = "v${version}"; - hash = "sha256-xFNX2cxmaw2H8D21qs6mnTMuSidmJ0xJ/b4pxdLTvow="; + hash = "sha256-7mQmyWOMEHg374mmYGJL8xhVWlYk1zKplpjc74wLoKw="; }; # Checks use `debug_assert_eq!` checkType = "debug"; useFetchCargoVendor = true; - cargoHash = "sha256-x2Abw/RVKpPx0EWyF3w0kywtd23A+NSNaHRVZ4oB1jI="; + cargoHash = "sha256-rAq3Ghg7zpiycQ8hNzn4Jz7cUCfwQ4aqtWxoVCg8MrE="; separateDebugInfo = true; diff --git a/pkgs/by-name/al/alist/package.nix b/pkgs/by-name/al/alist/package.nix index d9232e75c2a9..15e15148b331 100644 --- a/pkgs/by-name/al/alist/package.nix +++ b/pkgs/by-name/al/alist/package.nix @@ -103,6 +103,10 @@ buildGoModule rec { # alist-web mit ]; + knownVulnerabilities = [ + "Alist was acquired by Bugotech, a company distrusted by the community" + "Uses a questionable API server alist.nn.ci for account creation for certain drivers" + ]; maintainers = with lib.maintainers; [ moraxyc ]; sourceProvenance = with lib.sourceTypes; [ fromSource diff --git a/pkgs/by-name/al/alistral/package.nix b/pkgs/by-name/al/alistral/package.nix index 1199b8f73079..1d587518d628 100644 --- a/pkgs/by-name/al/alistral/package.nix +++ b/pkgs/by-name/al/alistral/package.nix @@ -10,17 +10,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "alistral"; - version = "0.5.10"; + version = "0.5.11"; src = fetchFromGitHub { owner = "RustyNova016"; repo = "Alistral"; tag = "v${finalAttrs.version}"; - hash = "sha256-O19Btz6jLJJnCbAusRHKfUa6II8mofzifW+cbPOaHVI="; + hash = "sha256-wiNXwg6mC24nWwakA9cX8OYDOhghoEgm0yVR3Tmtod4="; }; useFetchCargoVendor = true; - cargoHash = "sha256-zQvPgigUQW9dpyLe7fgW8i9I4nm38bQKDLwezeSYx9Q="; + cargoHash = "sha256-M3nwa93vzVm+GtCdmBn/jqIvgJRcULw+8FFFLPmfbyg="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/al/aliyun-cli/package.nix b/pkgs/by-name/al/aliyun-cli/package.nix index 462d2953d73d..36803b0c3acc 100644 --- a/pkgs/by-name/al/aliyun-cli/package.nix +++ b/pkgs/by-name/al/aliyun-cli/package.nix @@ -8,13 +8,13 @@ buildGoModule rec { pname = "aliyun-cli"; - version = "3.0.282"; + version = "3.0.284"; src = fetchFromGitHub { owner = "aliyun"; repo = "aliyun-cli"; tag = "v${version}"; - hash = "sha256-EjswkbQVwFx6Z3HeHcB5A7xtjjllRGWLuVFfKvrURDg="; + hash = "sha256-NIj5lTvqHtfaORhdAFrt3KBAh1r0YTiWFe3jXYAF19E="; fetchSubmodules = true; }; diff --git a/pkgs/by-name/al/alpaca/package.nix b/pkgs/by-name/al/alpaca/package.nix index df884863e4f5..09f48fdf86a9 100644 --- a/pkgs/by-name/al/alpaca/package.nix +++ b/pkgs/by-name/al/alpaca/package.nix @@ -20,14 +20,14 @@ python3Packages.buildPythonApplication rec { pname = "alpaca"; - version = "6.1.5"; + version = "6.1.7"; pyproject = false; # Built with meson src = fetchFromGitHub { owner = "Jeffser"; repo = "Alpaca"; tag = version; - hash = "sha256-4QN88KOCtVFNoqAKpjW/MSvPJFsLoXZixiGN5JNRDvs="; + hash = "sha256-9UXaJpkz9F2D490bMKU/xv+rgfrxstm1DuDwpMmydI0="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/am/amazon-cloudwatch-agent/package.nix b/pkgs/by-name/am/amazon-cloudwatch-agent/package.nix index 45a01dfbf92d..1212ebc95c71 100644 --- a/pkgs/by-name/am/amazon-cloudwatch-agent/package.nix +++ b/pkgs/by-name/am/amazon-cloudwatch-agent/package.nix @@ -11,13 +11,13 @@ buildGoModule rec { pname = "amazon-cloudwatch-agent"; - version = "1.300056.0"; + version = "1.300056.1"; src = fetchFromGitHub { owner = "aws"; repo = "amazon-cloudwatch-agent"; tag = "v${version}"; - hash = "sha256-SqXu9CjkSXN0pQwmm+oc2u/MihsfgNWFl++PUn49ohA="; + hash = "sha256-toal+jvPXxe+SPurFHUBqi2YzImaRshp0sDE6yZ0bkE="; }; vendorHash = "sha256-UU8o2kCRCY0FdoqsBovTsu42DFy7VD1kdI+tOA3l/Ac="; diff --git a/pkgs/by-name/am/amazon-ec2-net-utils/package.nix b/pkgs/by-name/am/amazon-ec2-net-utils/package.nix index 79927266aba3..555240b4d45a 100644 --- a/pkgs/by-name/am/amazon-ec2-net-utils/package.nix +++ b/pkgs/by-name/am/amazon-ec2-net-utils/package.nix @@ -18,13 +18,13 @@ stdenv.mkDerivation rec { pname = "amazon-ec2-net-utils"; - version = "2.5.5"; + version = "2.6.0"; src = fetchFromGitHub { owner = "amazonlinux"; repo = "amazon-ec2-net-utils"; tag = "v${version}"; - hash = "sha256-FHPJeyXrnf0+aeh1YqFXWz7qreLs6FHpZuPArt/nkIo="; + hash = "sha256-PtnRgNmVrIGndLjYjXWWx85z4oxjn637iZqXd6OSiQg="; }; strictDeps = true; diff --git a/pkgs/by-name/am/ameba-ls/package.nix b/pkgs/by-name/am/ameba-ls/package.nix new file mode 100644 index 000000000000..3c6fbcbce3a1 --- /dev/null +++ b/pkgs/by-name/am/ameba-ls/package.nix @@ -0,0 +1,60 @@ +{ + lib, + fetchFromGitHub, + crystal_1_15, + versionCheckHook, +}: + +let + # Use the same Crystal minor version as specified in upstream + crystal = crystal_1_15; +in +crystal.buildCrystalPackage rec { + pname = "ameba-ls"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "crystal-lang-tools"; + repo = "ameba-ls"; + tag = "v${version}"; + hash = "sha256-TEHjR+34wrq24XJNLhWZCEzcDEMDlmUHv0iiF4Z6JlI="; + }; + + shardsFile = ./shards.nix; + + crystalBinaries.ameba-ls.src = "src/ameba-ls.cr"; + + buildTargets = [ + "ameba-ls" + ]; + + # There are no actual tests + doCheck = false; + + installPhase = '' + runHook preInstall + + install -Dm555 bin/ameba-ls -t "$out/bin/" + + runHook postInstall + ''; + + nativeInstallCheckInputs = [ + versionCheckHook + ]; + doInstallCheck = true; + versionCheckProgram = "${placeholder "out"}/bin/ameba-ls"; + versionCheckProgramArg = "--version"; + + meta = { + description = "Crystal language server powered by Ameba linter"; + homepage = "https://github.com/crystal-lang-tools/ameba-ls"; + changelog = "https://github.com/crystal-lang-tools/ameba-ls/blob/v${version}/CHANGELOG.md"; + license = lib.licenses.mit; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ + kachick + ]; + mainProgram = "ameba-ls"; + }; +} diff --git a/pkgs/by-name/am/ameba-ls/shards.nix b/pkgs/by-name/am/ameba-ls/shards.nix new file mode 100644 index 000000000000..33ece94ac460 --- /dev/null +++ b/pkgs/by-name/am/ameba-ls/shards.nix @@ -0,0 +1,27 @@ +{ + ameba = { + url = "https://github.com/crystal-ameba/ameba.git"; + rev = "a21dea0b44642f4fc87429283f8b0dd9f1e47a9f"; + sha256 = "1kzr4ynd4r5w87y2czzrlir1dvqmv43ijm07804kgsy1g20k00fs"; + }; + larimar = { + url = "https://github.com/nobodywasishere/larimar.git"; + rev = "97d37e665f7189a7ec35f54fb65003a8438d6cf0"; + sha256 = "0s5hnfdybwbfk8sbjzrly2p6xppc5niww14h9cx00xkm8m1rlyj2"; + }; + lsprotocol = { + url = "https://github.com/nobodywasishere/lsprotocol-crystal.git"; + rev = "28986890c7657af4aefea8355ca3f3c7fc2bc9dd"; + sha256 = "0pccgq5g87mnvrhpgw3j22p3wgch8kp1svxcrbz2dha7zvgn65kj"; + }; + rwlock = { + url = "https://github.com/spider-gazelle/readers-writer.git"; + rev = "v1.0.7"; + sha256 = "1cs4ang50cza7sb5zh94rl1ppwcn9z1l8jjcsshhy4w72wkbqyny"; + }; + tree_sitter = { + url = "https://github.com/crystal-lang-tools/crystal-tree-sitter.git"; + rev = "1d46ca231a641b30b8e7fbbae7eba050f7717a9f"; + sha256 = "16g0ii3b3pmpnwmx2iz9dr1865pgfka7a724dfj62csjavqm5i1k"; + }; +} diff --git a/pkgs/by-name/am/amiri/package.nix b/pkgs/by-name/am/amiri/package.nix index 9692307cbde5..5c1395a96b76 100644 --- a/pkgs/by-name/am/amiri/package.nix +++ b/pkgs/by-name/am/amiri/package.nix @@ -6,11 +6,11 @@ stdenvNoCC.mkDerivation rec { pname = "amiri"; - version = "1.002"; + version = "1.003"; src = fetchzip { url = "https://github.com/alif-type/amiri/releases/download/${version}/Amiri-${version}.zip"; - hash = "sha256-Ln2AFiQ5hX4w1yu5NCF28S0hmfWUhEINi1YJVV/Gngo="; + hash = "sha256-BsYPMBlRdzlkvyleZIxGDuGjmqhDlEJ4udj8zoKUSzA="; }; installPhase = '' diff --git a/pkgs/by-name/am/amnezia-vpn/package.nix b/pkgs/by-name/am/amnezia-vpn/package.nix index aae7e13c13af..318253459ac7 100644 --- a/pkgs/by-name/am/amnezia-vpn/package.nix +++ b/pkgs/by-name/am/amnezia-vpn/package.nix @@ -3,6 +3,7 @@ stdenv, fetchFromGitHub, fetchpatch, + fetchurl, cmake, pkg-config, kdePackages, @@ -52,6 +53,14 @@ let vendorHash = "sha256-zArdGj5yeRxU0X4jNgT5YBI9SJUyrANDaqNPAPH3d5M="; } ); + + amneziaPremiumConfig = fetchurl { + url = "https://raw.githubusercontent.com/amnezia-vpn/amnezia-client-lite/f45d6b242c1ac635208a72914e8df76ccb3aa44c/macos-signed-build.sh"; + hash = "sha256-PnaPVPlyglUphhknWwP7ziuwRz+WOz0k9WRw6Q0nG2c="; + postFetch = '' + sed -nri '/PROD_AGW_PUBLIC_KEY|PROD_S3_ENDPOINT/p' $out + ''; + }; in stdenv.mkDerivation (finalAttrs: { pname = "amnezia-vpn"; @@ -124,6 +133,10 @@ stdenv.mkDerivation (finalAttrs: { qt6.qttools ]; + preConfigure = '' + source ${amneziaPremiumConfig} + ''; + installPhase = '' runHook preInstall diff --git a/pkgs/by-name/am/amp-cli/package-lock.json b/pkgs/by-name/am/amp-cli/package-lock.json index b4ce79716cfb..489687dcdc54 100644 --- a/pkgs/by-name/am/amp-cli/package-lock.json +++ b/pkgs/by-name/am/amp-cli/package-lock.json @@ -5,7 +5,7 @@ "packages": { "": { "dependencies": { - "@sourcegraph/amp": "^0.0.1748865683-g71e54e" + "@sourcegraph/amp": "^0.0.1750147289-g2a47fe" } }, "node_modules/@colors/colors": { @@ -29,14 +29,14 @@ } }, "node_modules/@sourcegraph/amp": { - "version": "0.0.1748865683-g71e54e", - "resolved": "https://registry.npmjs.org/@sourcegraph/amp/-/amp-0.0.1748865683-g71e54e.tgz", - "integrity": "sha512-ZiNbIbgCb/l7Q7wRT0sva6Ju7VDtq7+lijMWK8jotPorTq1DYUy3h7XJIOjyJEdvqlQkEfwrnbOfREmsnwlPyg==", + "version": "0.0.1750147289-g2a47fe", + "resolved": "https://registry.npmjs.org/@sourcegraph/amp/-/amp-0.0.1750147289-g2a47fe.tgz", + "integrity": "sha512-uoWvE5jE9cjmJDLx1DiyeA9VQ7ONReVelcly84VNwmcwIyI04OWyt7azoWK9OfFZU0hTBOyp21E632QsvtaiHw==", "dependencies": { - "@types/runes": "^0.4.3", "@vscode/ripgrep": "1.15.11", "commander": "^11.1.0", "fuse.js": "^7.0.0", + "open": "^10.1.2", "runes": "^0.4.3", "string-width": "^6.1.0", "winston": "^3.17.0", @@ -49,12 +49,6 @@ "node": ">=18" } }, - "node_modules/@types/runes": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@types/runes/-/runes-0.4.3.tgz", - "integrity": "sha512-kncnfKlRj4FM0+9IRBlZ/06b1BNVDya3d5hN5kFfuzCNAgZFZuApz/XBqe0+d6Y5cV/f86UD8q2ehnaSVdtBrw==", - "license": "MIT" - }, "node_modules/@types/triple-beam": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz", @@ -109,6 +103,21 @@ "node": "*" } }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/color": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", @@ -180,6 +189,46 @@ } } }, + "node_modules/default-browser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", + "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", + "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -253,6 +302,39 @@ "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", "license": "MIT" }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", @@ -265,6 +347,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/kuler": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", @@ -303,6 +400,24 @@ "fn.name": "1.x.x" } }, + "node_modules/open": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.2.tgz", + "integrity": "sha512-cxN6aIDPz6rm8hbebcP7vrQNhvRcveZoJU72Y7vskh4oIm+BZwBECnx5nTmrlres1Qapvx27Qo1Auukpf8PKXw==", + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", @@ -329,6 +444,18 @@ "node": ">= 6" } }, + "node_modules/run-applescript": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", + "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/runes": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/runes/-/runes-0.4.3.tgz", diff --git a/pkgs/by-name/am/amp-cli/package.nix b/pkgs/by-name/am/amp-cli/package.nix index 12c2af788b69..367f3e8dc621 100644 --- a/pkgs/by-name/am/amp-cli/package.nix +++ b/pkgs/by-name/am/amp-cli/package.nix @@ -9,11 +9,11 @@ buildNpmPackage (finalAttrs: { pname = "amp-cli"; - version = "0.0.1748865683-g71e54e"; + version = "0.0.1750147289-g2a47fe"; src = fetchzip { url = "https://registry.npmjs.org/@sourcegraph/amp/-/amp-${finalAttrs.version}.tgz"; - hash = "sha256-kkQKjw1SzDjV8/206i+NUyxeDhZ/35My9gyXRe/U7I8="; + hash = "sha256-mP4YOa2J4K3mr7PpRn+Nn+AMcmMSSTNcB59QEdAFZeE="; }; postPatch = '' @@ -45,7 +45,7 @@ buildNpmPackage (finalAttrs: { chmod +x bin/amp-wrapper.js ''; - npmDepsHash = "sha256-yeZ5UCVUCbVjpYTYYN5mI6eCkShtnCKxumjpb5GRCws="; + npmDepsHash = "sha256-aF4oMWmq4+tuXAhwDgqTX3dfHNV1upyD0dqBEoJiru8="; propagatedBuildInputs = [ ripgrep diff --git a/pkgs/by-name/am/amp/package.nix b/pkgs/by-name/am/amp/package.nix index 1c32dd578eba..3e0b65228318 100644 --- a/pkgs/by-name/am/amp/package.nix +++ b/pkgs/by-name/am/amp/package.nix @@ -1,48 +1,38 @@ { lib, - stdenv, fetchFromGitHub, rustPlatform, - openssl, - pkg-config, - python3, - xorg, - cmake, - libgit2, - curl, + pkgsBuildBuild, + stdenv, + zlib, writableTmpDirAsHomeHook, }: -rustPlatform.buildRustPackage rec { +rustPlatform.buildRustPackage (finalAttrs: { pname = "amp"; - version = "0.7.0"; + version = "0.7.1"; src = fetchFromGitHub { owner = "jmacdonald"; repo = "amp"; - tag = version; - hash = "sha256-xNadwz2agPbxvgUqrUf1+KsWTmeNh8hJIWcNwTzzM/M="; + tag = finalAttrs.version; + hash = "sha256-YK+HSWTtSVLK8n7NDiif3bBqp/dQW2UTYo3yYcZ5cIA="; }; - cargoPatches = [ ./update_time_crate.patch ]; - useFetchCargoVendor = true; - cargoHash = "sha256-4lYywaPTfoOHEYHy+h7HfWn+OaDdk166tQ8ZFx9XZK0="; + cargoHash = "sha256-6enFOmIAYOgOdoeA+pk37+BobI5AGPBxjp73Gd4C+gI="; nativeBuildInputs = [ - cmake - pkg-config - python3 + # git rev-parse --short HEAD + (pkgsBuildBuild.writeShellScriptBin "git" "echo 0000000") ]; - buildInputs = - [ - openssl - xorg.libxcb - libgit2 - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - curl - ]; + + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + zlib + ]; + + # Needing libgit2 <=1.8.0 + #env.LIBGIT2_NO_VENDOR = 1; nativeCheckInputs = [ writableTmpDirAsHomeHook @@ -58,4 +48,4 @@ rustPlatform.buildRustPackage rec { ]; mainProgram = "amp"; }; -} +}) diff --git a/pkgs/by-name/am/amp/update_time_crate.patch b/pkgs/by-name/am/amp/update_time_crate.patch deleted file mode 100644 index 92f6ad73c9ea..000000000000 --- a/pkgs/by-name/am/amp/update_time_crate.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 4ce866de7a2e1613951002ff61563a80e19a5c0c Mon Sep 17 00:00:00 2001 -From: Drewry Pope -Date: Wed, 28 Aug 2024 18:45:41 -0500 -Subject: [PATCH] update time - ---- - Cargo.lock | 16 ++++++++++++---- - 1 file changed, 12 insertions(+), 4 deletions(-) - -diff --git a/Cargo.lock b/Cargo.lock -index 0e1b8ff6..bd8b5814 100644 ---- a/Cargo.lock -+++ b/Cargo.lock -@@ -864,6 +864,12 @@ dependencies = [ - "minimal-lexical", - ] - -+[[package]] -+name = "num-conv" -+version = "0.1.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" -+ - [[package]] - name = "num-traits" - version = "0.2.16" -@@ -1372,12 +1378,13 @@ dependencies = [ - - [[package]] - name = "time" --version = "0.3.31" -+version = "0.3.36" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e" -+checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" - dependencies = [ - "deranged", - "itoa", -+ "num-conv", - "powerfmt", - "serde", - "time-core", -@@ -1392,10 +1399,11 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" - - [[package]] - name = "time-macros" --version = "0.2.16" -+version = "0.2.18" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f" -+checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" - dependencies = [ -+ "num-conv", - "time-core", - ] - diff --git a/pkgs/by-name/an/andcli/package.nix b/pkgs/by-name/an/andcli/package.nix index eef0b52280f0..e2195afda84c 100644 --- a/pkgs/by-name/an/andcli/package.nix +++ b/pkgs/by-name/an/andcli/package.nix @@ -2,6 +2,8 @@ lib, fetchFromGitHub, buildGoModule, + versionCheckHook, + writableTmpDirAsHomeHook, }: buildGoModule (finalAttrs: { @@ -26,7 +28,13 @@ buildGoModule (finalAttrs: { "-X github.com/tjblackheart/andcli/v2/internal/buildinfo.AppVersion=${finalAttrs.src.tag}" ]; - # As stated in #404465 the versionCheckHook does not work so it is not used here + nativeInstallCheckInputs = [ + writableTmpDirAsHomeHook + versionCheckHook + ]; + versionCheckProgramArg = "--version"; + versionCheckKeepEnvironment = [ "HOME" ]; + doInstallCheck = true; meta = { homepage = "https://github.com/tjblackheart/andcli"; diff --git a/pkgs/by-name/an/andika/package.nix b/pkgs/by-name/an/andika/package.nix index 8d39ab9ed109..4b339b2a6a98 100644 --- a/pkgs/by-name/an/andika/package.nix +++ b/pkgs/by-name/an/andika/package.nix @@ -6,11 +6,11 @@ stdenvNoCC.mkDerivation rec { pname = "andika"; - version = "6.200"; + version = "7.000"; src = fetchzip { url = "https://software.sil.org/downloads/r/andika/Andika-${version}.zip"; - hash = "sha256-Ge+Yq3+1IJ+mXhjw7Vtpu5DIWiMfwOdEH/S1RSzYh3A="; + hash = "sha256-46kbzFxNEpSuqyUwpScnxxgZi1dJlwK+AUkdULcinok="; }; installPhase = '' diff --git a/pkgs/by-name/an/andyetitmoves/package.nix b/pkgs/by-name/an/andyetitmoves/package.nix index 26f1705d2261..3a3e09e8048b 100644 --- a/pkgs/by-name/an/andyetitmoves/package.nix +++ b/pkgs/by-name/an/andyetitmoves/package.nix @@ -95,6 +95,5 @@ stdenv.mkDerivation rec { ''; homepage = "http://www.andyetitmoves.net/"; license = licenses.unfree; - maintainers = with maintainers; [ bluescreen303 ]; }; } diff --git a/pkgs/by-name/an/ankama-launcher/package.nix b/pkgs/by-name/an/ankama-launcher/package.nix index 1d8e7cf9720a..94c788030f64 100644 --- a/pkgs/by-name/an/ankama-launcher/package.nix +++ b/pkgs/by-name/an/ankama-launcher/package.nix @@ -1,19 +1,19 @@ { + lib, appimageTools, fetchurl, - lib, }: let pname = "ankama-launcher"; - version = "3.12.39"; + version = "3.13.5"; # The original URL for the launcher is: # https://launcher.cdn.ankama.com/installers/production/Ankama%20Launcher-Setup-x86_64.AppImage # As it does not encode the version, we use the wayback machine (web.archive.org) to get a fixed URL. # To update the client, head to web.archive.org and create a new snapshot of the download page. src = fetchurl { - url = "https://web.archive.org/web/20250413180128/https://launcher.cdn.ankama.com/installers/production/Ankama%20Launcher-Setup-x86_64.AppImage"; - hash = "sha256-25x+x5Y0pIxvJyjbctt9weCEiH0UlqGbGM7/RKkyHXA="; + url = "https://web.archive.org/web/20250617174847/https://launcher.cdn.ankama.com/installers/production/Ankama%20Launcher-Setup-x86_64.AppImage"; + hash = "sha256-c3lG4Svd5gxsaUVJ3fiBO2ZL+U4pJxJX5Fg5ITZ/QwI="; }; appimageContents = appimageTools.extract { inherit pname version src; }; diff --git a/pkgs/by-name/an/annotation-mono/package.nix b/pkgs/by-name/an/annotation-mono/package.nix new file mode 100644 index 000000000000..23cb7cd7211c --- /dev/null +++ b/pkgs/by-name/an/annotation-mono/package.nix @@ -0,0 +1,33 @@ +{ + lib, + stdenvNoCC, + fetchzip, +}: +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "annotation-mono"; + version = "0.2"; + + src = fetchzip { + url = "https://github.com/qwerasd205/AnnotationMono/releases/download/v${finalAttrs.version}/AnnotationMono_v${finalAttrs.version}.zip"; + hash = "sha256-81BcPYE4C9kuetiCzgGPl59WO4QkBML7dwAkD1DCCZo="; + stripRoot = false; + }; + + installPhase = '' + runHook preInstall + + install -D -m444 -t $out/share/fonts/truetype $src/dist/ttf/*.ttf + install -D -m444 -t $out/share/fonts/truetype $src/dist/variable/AnnotationMono-VF.ttf + install -D -m444 -t $out/share/fonts/opentype $src/dist/otf/*.otf + + runHook postInstall + ''; + + meta = { + homepage = "https://github.com/qwerasd205/AnnotationMono"; + description = "Lovingly crafted handwriting-style monospace font"; + license = lib.licenses.ofl; + platforms = lib.platforms.all; + maintainers = [ lib.maintainers.theonlymrcat ]; + }; +}) diff --git a/pkgs/by-name/an/annotator/package.nix b/pkgs/by-name/an/annotator/package.nix index 2846180b1564..554d2dad4c29 100644 --- a/pkgs/by-name/an/annotator/package.nix +++ b/pkgs/by-name/an/annotator/package.nix @@ -6,47 +6,56 @@ meson, ninja, vala, - wrapGAppsHook3, + wrapGAppsHook4, desktop-file-utils, + gtk3, libgee, pantheon, libxml2, libhandy, + libportal-gtk4, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "annotator"; - version = "1.2.1"; + version = "2.0.0"; src = fetchFromGitHub { owner = "phase1geo"; repo = "annotator"; - rev = version; - hash = "sha256-VHvznkGvrE8o9qq+ijrIStSavq46dS8BqclWEWZ8mG8="; + tag = finalAttrs.version; + hash = "sha256-mv3fMlYB4XcAWI6O6wN8ujNRDLZlX3ef/gKdOMYEHq0="; }; + postPatch = '' + substituteInPlace src/Application.vala \ + --replace-fail 'Environment.set_variable( "GDK_BACKEND", "x11", true );' "" + ''; + nativeBuildInputs = [ pkg-config meson ninja vala - wrapGAppsHook3 + wrapGAppsHook4 desktop-file-utils ]; buildInputs = [ libgee - pantheon.granite + pantheon.granite7 + libportal-gtk4 libxml2 libhandy + gtk3 ]; - meta = with lib; { + meta = { description = "Image annotation for Elementary OS"; homepage = "https://github.com/phase1geo/Annotator"; - license = licenses.gpl3Plus; + license = lib.licenses.gpl3Plus; mainProgram = "com.github.phase1geo.annotator"; - maintainers = with maintainers; [ aleksana ]; - platforms = platforms.linux; + maintainers = with lib.maintainers; [ aleksana ]; + platforms = lib.platforms.linux; }; -} +}) diff --git a/pkgs/by-name/an/ansel/package.nix b/pkgs/by-name/an/ansel/package.nix index 383e1e907ece..89e301c54729 100644 --- a/pkgs/by-name/an/ansel/package.nix +++ b/pkgs/by-name/an/ansel/package.nix @@ -81,13 +81,13 @@ let in stdenv.mkDerivation { pname = "ansel"; - version = "0-unstable-2025-05-31"; + version = "0-unstable-2025-06-11"; src = fetchFromGitHub { owner = "aurelienpierreeng"; repo = "ansel"; - rev = "b5d5f5ee7a3d4b68994a7bcfef4429a80cc2f287"; - hash = "sha256-gb/Mp3YUeDLRxZQ7t55+FaxcfQDKdrNFZSV2uHhZ8Xo="; + rev = "b51cfa38c41abe9933b40e1583807b105c5933c1"; + hash = "sha256-EEML6agNDQbCZ1+b4dTHr3JA9Jh3iTW0U4krVylGVTg="; fetchSubmodules = true; }; diff --git a/pkgs/by-name/an/ansible-lint/package.nix b/pkgs/by-name/an/ansible-lint/package.nix index 6a7cf6d2ae9d..e93fa3347c56 100644 --- a/pkgs/by-name/an/ansible-lint/package.nix +++ b/pkgs/by-name/an/ansible-lint/package.nix @@ -8,13 +8,13 @@ python3Packages.buildPythonApplication rec { pname = "ansible-lint"; - version = "25.4.0"; + version = "25.5.0"; pyproject = true; src = fetchPypi { inherit version; pname = "ansible_lint"; - hash = "sha256-8vKzGtGZklsjQ/ZgVS+5Rolw8WwsXVfan+rnDsTuyn0="; + hash = "sha256-QYJSDyM+70JIvEz0tgdOJc2vW+Ic+b6USqvIXfVAfpw="; }; postPatch = '' diff --git a/pkgs/by-name/an/antonio-font/package.nix b/pkgs/by-name/an/antonio-font/package.nix new file mode 100644 index 000000000000..1c15c06105ab --- /dev/null +++ b/pkgs/by-name/an/antonio-font/package.nix @@ -0,0 +1,42 @@ +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: + +stdenvNoCC.mkDerivation { + pname = "antonio"; + version = "0-unstable-2013-11-21"; + + src = fetchFromGitHub { + owner = "vernnobile"; + repo = "antonioFont"; + rev = "4b3e07ab5647a613931153a09067a785f54b980a"; + hash = "sha256-/mlVAEMkhmj6NUcAa9HHtpWw4lS5ze9IXw9IsrHd2J0="; + }; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/fonts/truetype + cp $src/{Bold,Light,Regular}/*.ttf $out/share/fonts/truetype + runHook postInstall + ''; + + meta = { + homepage = "https://github.com/vernnobile/antonioFont"; + description = "condensed, sans serif font for larger display, headline & banner use, based on Anton"; + longDescription = '' + Antonio is a ‘refined’ version of the Anton Font. Anton is a single + weight web font, designed specifically for larger display, headline and + ‘banner’ use (see Google’s PR for the Chromebook notebooks that used + Anton, big and bright). + + Antonio extends the Anton design to include more weights and introduces + refinements to the design that makes it also suitable for use in smaller + headings, menus and ‘buttons’ etc. + ''; + license = lib.licenses.ofl; # in fontinfo.plist files + platforms = lib.platforms.all; + maintainers = with lib.maintainers; [ toastal ]; + }; +} diff --git a/pkgs/by-name/an/antora/test/minimal_working_example/antora.yml b/pkgs/by-name/an/antora/test/minimal_working_example/antora.yml index 27c21228abaa..db2da079976f 100644 --- a/pkgs/by-name/an/antora/test/minimal_working_example/antora.yml +++ b/pkgs/by-name/an/antora/test/minimal_working_example/antora.yml @@ -1,4 +1,3 @@ ---- name: Antora nav: diff --git a/pkgs/by-name/an/ants/package.nix b/pkgs/by-name/an/ants/package.nix index cba55f330ec0..f6ee7b2339a2 100644 --- a/pkgs/by-name/an/ants/package.nix +++ b/pkgs/by-name/an/ants/package.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "ANTs"; - version = "2.6.1"; + version = "2.6.2"; src = fetchFromGitHub { owner = "ANTsX"; repo = "ANTs"; tag = "v${finalAttrs.version}"; - hash = "sha256-H/5X6cCjv+7KuZGJ7D4d5VxlpOqbO80U+7CoYnY/dsU="; + hash = "sha256-TQR3HghaFBBiHl5oz3vmu7DIGT8UY5/CxY0pP0bLZx4="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/an/anubis-xess/package.nix b/pkgs/by-name/an/anubis-xess/package.nix deleted file mode 100644 index 0b6a83cbaf2a..000000000000 --- a/pkgs/by-name/an/anubis-xess/package.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ buildNpmPackage, anubis }: - -buildNpmPackage { - pname = "${anubis.pname}-xess"; - inherit (anubis) version src; - - npmDepsHash = "sha256-hTKTTBmfMGv6I+4YbWrOt6F+qD6ysVYi+DEC1konBFk="; - - buildPhase = '' - runHook preBuild - - npx postcss ./xess/xess.css -o xess.min.css - - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - - install -Dm644 xess.min.css $out/xess.min.css - - runHook postInstall - ''; - - meta = anubis.meta // { - description = "Xess files for Anubis"; - longDescription = '' - This package is consumed by the main `anubis` package to render the final - styling for the bot check page. - - **It is not supposed to be used as a standalone package**, and it exists to - ensure Anubis' styling is override-able by downstreams. - ''; - }; -} diff --git a/pkgs/by-name/an/anubis/package.nix b/pkgs/by-name/an/anubis/package.nix index 39393f755aaa..50ca02b7ad17 100644 --- a/pkgs/by-name/an/anubis/package.nix +++ b/pkgs/by-name/an/anubis/package.nix @@ -4,8 +4,7 @@ fetchFromGitHub, nixosTests, stdenv, - - anubis-xess, + buildNpmPackage, esbuild, brotli, @@ -14,16 +13,16 @@ buildGoModule (finalAttrs: { pname = "anubis"; - version = "1.18.0"; + version = "1.19.1"; src = fetchFromGitHub { owner = "TecharoHQ"; repo = "anubis"; tag = "v${finalAttrs.version}"; - hash = "sha256-grtzkNxgShbldjm+lnANbKVhkUrbwseAT1NaBL85mHg="; + hash = "sha256-aWdkPNwTD+ooaE0PazcOaama7k1a8n5pRxr8X6wm4zs="; }; - vendorHash = "sha256-EOT/sdVINj9oO1jZHPYB3jQ+XApf9eCUKuMY0tV+vpg="; + vendorHash = "sha256-wJOGYOWFKep2IFzX+Hia9m1jPG+Rskg8Np9WfEc+TUY="; nativeBuildInputs = [ esbuild @@ -31,26 +30,39 @@ buildGoModule (finalAttrs: { zstd ]; - subPackages = [ - "cmd/anubis" - ]; + xess = buildNpmPackage { + pname = "anubis-xess"; + inherit (finalAttrs) version src; - ldflags = - [ - "-s" - "-w" - "-X=github.com/TecharoHQ/anubis.Version=v${finalAttrs.version}" - ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ - "-extldflags=-static" - ]; + npmDepsHash = "sha256-wI8XCUGq3aI20B++RAT3lc/nBrDMEmE9+810lewzXa0="; + + buildPhase = '' + runHook preBuild + npx postcss ./xess/xess.css -o xess.min.css + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + install -Dm644 xess.min.css $out/xess.min.css + runHook postInstall + ''; + }; + + subPackages = [ "cmd/anubis" ]; + + ldflags = [ + "-s" + "-w" + "-X=github.com/TecharoHQ/anubis.Version=v${finalAttrs.version}" + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ "-extldflags=-static" ]; postPatch = '' patchShebangs ./web/build.sh ''; preBuild = '' - go generate ./... && ./web/build.sh && cp -r ${anubis-xess}/xess.min.css ./xess + go generate ./... && ./web/build.sh && cp -r ${finalAttrs.xess}/xess.min.css ./xess ''; preCheck = '' @@ -58,10 +70,12 @@ buildGoModule (finalAttrs: { ''; passthru.tests = { inherit (nixosTests) anubis; }; + passthru.updateScript = ./update.sh; meta = { description = "Weighs the soul of incoming HTTP requests using proof-of-work to stop AI crawlers"; homepage = "https://anubis.techaro.lol/"; + downloadPage = "https://github.com/TecharoHQ/anubis"; changelog = "https://github.com/TecharoHQ/anubis/releases/tag/v${finalAttrs.version}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ @@ -69,6 +83,7 @@ buildGoModule (finalAttrs: { soopyc ryand56 sigmasquadron + defelo ]; mainProgram = "anubis"; }; diff --git a/pkgs/by-name/an/anubis/update.sh b/pkgs/by-name/an/anubis/update.sh new file mode 100755 index 000000000000..fa62b90b82cc --- /dev/null +++ b/pkgs/by-name/an/anubis/update.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p nix-update + +set -euo pipefail + +nix-update anubis --src-only --version-regex='^v(\d+\.\d+\.\d+)$' +nix-update anubis.xess --version=skip +nix-update anubis --version=skip diff --git a/pkgs/by-name/an/anyk/version.json b/pkgs/by-name/an/anyk/version.json index 42ea6c7e1254..0296e225c0ae 100644 --- a/pkgs/by-name/an/anyk/version.json +++ b/pkgs/by-name/an/anyk/version.json @@ -1,5 +1,5 @@ { - "url": "https://web.archive.org/web/20250504163105/https://nav.gov.hu/pfile/programFile?path=%252Fnyomtatvanyok%252Fletoltesek%252Fnyomtatvanykitolto_programok%252Fnyomtatvany_apeh%252Fkeretprogramok%252FAbevJava", - "sha256": "0a7bdyadk00ik5kkx65v6qx433fcd8n7aj42fmzcijp5raz63plv", - "version": "3.42.0" + "url": "https://web.archive.org/web/20250603123530/https://nav.gov.hu/pfile/programFile?path=%252Fnyomtatvanyok%252Fletoltesek%252Fnyomtatvanykitolto_programok%252Fnyomtatvany_apeh%252Fkeretprogramok%252FAbevJava", + "sha256": "0f25ppjq98kcib6d5c0qrwx9pcakj6g2cgsxh9x7cl149c0fy8d5", + "version": "3.43.0" } diff --git a/pkgs/by-name/ap/apache-orc/package.nix b/pkgs/by-name/ap/apache-orc/package.nix index 8f26bb14b51a..b84a8d71e6a4 100644 --- a/pkgs/by-name/ap/apache-orc/package.nix +++ b/pkgs/by-name/ap/apache-orc/package.nix @@ -7,7 +7,7 @@ cmake, gtest, lz4, - protobuf, + protobuf_30, snappy, zlib, zstd, @@ -15,31 +15,22 @@ let orc-format = fetchurl { - name = "orc-format-1.0.0.tar.gz"; - url = "https://www.apache.org/dyn/closer.lua/orc/orc-format-1.0.0/orc-format-1.0.0.tar.gz?action=download"; - hash = "sha256-c5+uX/lLH4ErQTB3KANhBFv5LlEO8Es0phDiOpRdjNU="; + name = "orc-format-1.1.0.tar.gz"; + url = "https://www.apache.org/dyn/closer.lua/orc/orc-format-1.1.0/orc-format-1.1.0.tar.gz?action=download"; + hash = "sha256-1KesdsVEKr9xGeLLhOcbZ34HWv9TUYqoZgVeLq0EUNc="; }; in stdenv.mkDerivation (finalAttrs: { pname = "apache-orc"; - version = "2.1.1"; + version = "2.1.2"; src = fetchFromGitHub { owner = "apache"; repo = "orc"; tag = "v${finalAttrs.version}"; - hash = "sha256-Ib02mIUQaLEVwIBv5xdKDyX+FeI8vhh9+5hM7miKwHo="; + hash = "sha256-hNKzqNOagBJOWQRebkVHIuvqfpk9Mi30bu4z7dGbsxk="; }; - patches = [ - # Patch that adds 2 missing imports in source files - # To be removed this PR land: https://github.com/apache/orc/pull/2175 - (fetchpatch { - url = "https://github.com/apache/orc/commit/fb20db2440226da6b92d38ce260e5b850d2f0092.patch"; - hash = "sha256-rHGECXJoBPgZ62yZciYdSMq4pGnVt75lxkHyO46IiyQ="; - }) - ]; - nativeBuildInputs = [ cmake ]; @@ -47,7 +38,7 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ gtest lz4 - protobuf + protobuf_30 snappy zlib zstd @@ -64,7 +55,7 @@ stdenv.mkDerivation (finalAttrs: { GTEST_HOME = gtest.dev; LZ4_ROOT = lz4; ORC_FORMAT_URL = orc-format; - PROTOBUF_HOME = protobuf; + PROTOBUF_HOME = protobuf_30; SNAPPY_ROOT = snappy.dev; ZLIB_ROOT = zlib.dev; ZSTD_ROOT = zstd.dev; diff --git a/pkgs/by-name/ap/apfsprogs/package.nix b/pkgs/by-name/ap/apfsprogs/package.nix index a8f5c2c89f47..b8b18f6bd563 100644 --- a/pkgs/by-name/ap/apfsprogs/package.nix +++ b/pkgs/by-name/ap/apfsprogs/package.nix @@ -4,6 +4,7 @@ fetchFromGitHub, nixosTests, testers, + nix-update-script, }: let tools = [ @@ -15,13 +16,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "apfsprogs"; - version = "0.2.0"; + version = "0.2.1"; src = fetchFromGitHub { owner = "linux-apfs"; repo = "apfsprogs"; tag = "v${finalAttrs.version}"; - hash = "sha256-rolbBLdE98jqlKC06fTo6eJU3abKzgB3QIlaw4bza9U="; + hash = "sha256-GhhuielfFvcpe9hL3fUcg2xlwFrzjiUS/ZLn0jkfkh8="; }; postPatch = '' @@ -68,6 +69,8 @@ stdenv.mkDerivation (finalAttrs: { } // versionTests; + passthru.updateScript = nix-update-script { }; + strictDeps = true; meta = with lib; { diff --git a/pkgs/by-name/ap/app2unit/package.nix b/pkgs/by-name/ap/app2unit/package.nix index 206426146251..776d1940e4c1 100644 --- a/pkgs/by-name/ap/app2unit/package.nix +++ b/pkgs/by-name/ap/app2unit/package.nix @@ -4,20 +4,21 @@ dash, fetchFromGitHub, }: -stdenvNoCC.mkDerivation { +stdenvNoCC.mkDerivation rec { pname = "app2unit"; - version = "0-unstable-2025-05-09"; + version = "0.9.0"; src = fetchFromGitHub { owner = "Vladimir-csp"; repo = "app2unit"; - rev = "7b9672a2dc16bdfbe7b7b7c27043529ca3bcb6ae"; - sha256 = "03dnx5v75530fwppfgpjl6xzzmdbk73ymrlix129d9n5sqrz9wgk"; + tag = "v${version}"; + sha256 = "fw6Vh3Jyop95TQdOFrpspbauSfqMpd0BZkZVc1k6+K0="; }; installPhase = '' install -Dt $out/bin app2unit ln -s $out/bin/app2unit $out/bin/app2unit-open + ln -s $out/bin/app2unit $out/bin/app2unit-term ''; dontPatchShebangs = true; diff --git a/pkgs/by-name/ap/appmenu-glib-translator/package.nix b/pkgs/by-name/ap/appmenu-glib-translator/package.nix new file mode 100644 index 000000000000..88265a3086c0 --- /dev/null +++ b/pkgs/by-name/ap/appmenu-glib-translator/package.nix @@ -0,0 +1,50 @@ +{ + lib, + fetchFromGitLab, + glib, + gtk3, + meson, + ninja, + pkg-config, + gobject-introspection, + vala, + stdenv, + wrapGAppsHook3, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "appmenu-glib-translator"; + version = "25.04"; + + src = fetchFromGitLab { + owner = "vala-panel-project"; + repo = "vala-panel-appmenu"; + tag = finalAttrs.version; + fetchSubmodules = true; + hash = "sha256-v5J3nwViNiSKRPdJr+lhNUdKaPG82fShPDlnmix5tlY="; + }; + + sourceRoot = "source/subprojects/appmenu-glib-translator"; + + nativeBuildInputs = [ + meson + ninja + + pkg-config + wrapGAppsHook3 + vala + ]; + + buildInputs = [ + glib + gobject-introspection + gtk3 + ]; + + meta = { + description = "GTK module that strips menus from all GTK programs, converts to MenuModel and sends to AppMenu"; + homepage = "https://gitlab.com/vala-panel-project/vala-panel-appmenu/-/tree/${finalAttrs.version}/subprojects/appmenu-gtk-module"; + license = lib.licenses.lgpl3Plus; + maintainers = with lib.maintainers; [ perchun ]; + platforms = lib.platforms.linux; + }; +}) diff --git a/pkgs/by-name/ap/apt-dater/package.nix b/pkgs/by-name/ap/apt-dater/package.nix index d06cf9ad3bd8..882b67f1097f 100644 --- a/pkgs/by-name/ap/apt-dater/package.nix +++ b/pkgs/by-name/ap/apt-dater/package.nix @@ -44,7 +44,8 @@ stdenv.mkDerivation { prePatch = '' substituteInPlace etc/Makefile.am \ - --replace-fail 02770 0770 + --replace-fail 02770 0770 \ + --replace-fail '../../../$(pkglibdir)' '$(pkglibdir)' ''; postPatch = '' diff --git a/pkgs/by-name/ap/aptly/package.nix b/pkgs/by-name/ap/aptly/package.nix index 9987d43bbb8d..0d355bd8d83b 100644 --- a/pkgs/by-name/ap/aptly/package.nix +++ b/pkgs/by-name/ap/aptly/package.nix @@ -14,16 +14,16 @@ buildGoModule (finalAttrs: { pname = "aptly"; - version = "1.6.1"; + version = "1.6.2"; src = fetchFromGitHub { owner = "aptly-dev"; repo = "aptly"; tag = "v${finalAttrs.version}"; - hash = "sha256-oGogOK0oQTdmlQUrIOo2BT/8wEk9kZ3mJbj0K5s9tiU="; + hash = "sha256-Jkljg05C4GJ4F9l6mKAU4JCH8I0/bjzfb74X714z4UI="; }; - vendorHash = "sha256-4z0JFC+Cz72e48ygfgA4DYJVkpInPIyA5yh//eedt8Q="; + vendorHash = "sha256-3pFVAVvIpJut2YYxvnCQbBpdwwmUbZIyrx0WoQrU+nQ="; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/by-name/ar/arcticons-sans/package.nix b/pkgs/by-name/ar/arcticons-sans/package.nix index c9467505a93f..ef53254cdb97 100644 --- a/pkgs/by-name/ar/arcticons-sans/package.nix +++ b/pkgs/by-name/ar/arcticons-sans/package.nix @@ -6,10 +6,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "arcticons-sans"; - version = "0.592"; + version = "0.593"; src = fetchzip { - hash = "sha256-fAEzLqFJ+3N6WSRvosk0R+JW1Gil+rEEzwHZgpDqSzE="; + hash = "sha256-OiLmSozKiVRbnefVMmPXRaKCHZb7brynfJew1NYrT0M="; url = "https://github.com/arcticons-team/arcticons-font/archive/refs/tags/${finalAttrs.version}.zip"; }; diff --git a/pkgs/by-name/ar/ardugotools/package.nix b/pkgs/by-name/ar/ardugotools/package.nix index 16191343ab64..2f87b74ef480 100644 --- a/pkgs/by-name/ar/ardugotools/package.nix +++ b/pkgs/by-name/ar/ardugotools/package.nix @@ -5,7 +5,7 @@ ... }: let - version = "0.6.1"; + version = "0.6.2"; in buildGoModule { pname = "ardugotools"; @@ -15,10 +15,10 @@ buildGoModule { owner = "randomouscrap98"; repo = "ardugotools"; rev = "v${version}"; - hash = "sha256-SqeUcYa8XscwaJaCSIoZ9lEtRJ0hN01XJDyCJFX2dTc="; + hash = "sha256-kqFXJIHyPvm3Fq/qsojdltS99Wb4Qc/wPc6tw4n9pKs="; }; - vendorHash = "sha256-Z9ObsS+GwVsz6ZlXCgN0WlShHzbmx4WLa/1/XLSSAAs="; + vendorHash = "sha256-sC47I3dKmQrF1ux+yYRyl6xB+cU1Yve/K+9wh3HQyik="; checkFlags = let diff --git a/pkgs/by-name/ar/argo-workflows/package.nix b/pkgs/by-name/ar/argo-workflows/package.nix index 90397b11b9f1..3d36652a968a 100644 --- a/pkgs/by-name/ar/argo-workflows/package.nix +++ b/pkgs/by-name/ar/argo-workflows/package.nix @@ -38,16 +38,16 @@ let in buildGoModule rec { pname = "argo-workflows"; - version = "3.6.7"; + version = "3.6.10"; src = fetchFromGitHub { owner = "argoproj"; repo = "argo"; tag = "v${version}"; - hash = "sha256-LV6Pg+RFVFNwh6rmlHgqwcu99tse9wW3nBHpj4zYdrU="; + hash = "sha256-TM/eK8biMxKV4SFJ1Lys+NPPeaHVjbBo83k2RH1Xi40="; }; - vendorHash = "sha256-jYVwIHqArsF3pHKnCuyO2OMhEhutAsiq91iBh+KqerA="; + vendorHash = "sha256-Y/2+ykzcJdA5uwP1v9Z1wZtF3hBV2x7XZc7+FhPJP64="; doCheck = false; diff --git a/pkgs/by-name/ar/arq/package.nix b/pkgs/by-name/ar/arq/package.nix new file mode 100644 index 000000000000..ebb4d426fb06 --- /dev/null +++ b/pkgs/by-name/ar/arq/package.nix @@ -0,0 +1,51 @@ +{ + lib, + stdenvNoCC, + fetchurl, + cpio, + xar, +}: + +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "arq"; + version = "7.35.1"; + + src = fetchurl { + url = "https://www.arqbackup.com/download/arqbackup/Arq${finalAttrs.version}.pkg"; + hash = "sha256-xkrWH2r3DaxsBBdyu0Wj/qzjJaa9DTZCzEaB/nb2WyY="; + }; + + nativeBuildInputs = [ + cpio + xar + ]; + + unpackPhase = '' + runHook preUnpack + + xar -xf $src + zcat client.pkg/Payload | cpio -i + + runHook postUnpack + ''; + + installPhase = '' + mkdir -p $out + cp -R Applications $out + ''; + + dontBuild = true; + + # Arq is notarized + dontFixup = true; + + meta = { + changelog = "https://www.arqbackup.com/download/arqbackup/arq7_release_notes.html"; + description = "Multi-cloud backup software for your Macs"; + homepage = "https://www.arqbackup.com/"; + license = lib.licenses.unfree; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + maintainers = [ lib.maintainers.Enzime ]; + platforms = lib.platforms.darwin; + }; +}) diff --git a/pkgs/by-name/ar/arti/package.nix b/pkgs/by-name/ar/arti/package.nix index 9d3a5763287f..e3422c6133c0 100644 --- a/pkgs/by-name/ar/arti/package.nix +++ b/pkgs/by-name/ar/arti/package.nix @@ -12,7 +12,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "arti"; - version = "1.4.3"; + version = "1.4.4"; src = fetchFromGitLab { domain = "gitlab.torproject.org"; @@ -20,11 +20,11 @@ rustPlatform.buildRustPackage (finalAttrs: { owner = "core"; repo = "arti"; tag = "arti-v${finalAttrs.version}"; - hash = "sha256-uQUq3cDyCuATeBK0rDLyP3ymMj8ALCPoqpghWIxsfU0="; + hash = "sha256-mLeiG+503+kuzNUC9Qh2JE1Mm8XEa6CDJYkouzGUJpQ="; }; useFetchCargoVendor = true; - cargoHash = "sha256-W/CRwnv0BgVQQIpEFRxeYDlS0Cud5CVH5QUJfw17a/I="; + cargoHash = "sha256-mjlrylfQZN8/zei/1enApYryhlv0zlghOPEr86iklg4="; nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ pkg-config ]; diff --git a/pkgs/by-name/ar/artichoke/package.nix b/pkgs/by-name/ar/artichoke/package.nix new file mode 100644 index 000000000000..f3d93d31a96a --- /dev/null +++ b/pkgs/by-name/ar/artichoke/package.nix @@ -0,0 +1,58 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + llvmPackages, + _experimental-update-script-combinators, + unstableGitUpdater, + nix-update-script, +}: + +rustPlatform.buildRustPackage { + pname = "artichoke"; + version = "0-unstable-2025-06-01"; + + src = fetchFromGitHub { + owner = "artichoke"; + repo = "artichoke"; + rev = "7c35392d8c7622cd8ab8eccaee73d57633b2b901"; + hash = "sha256-7YPExT+5F+5MMk/yLfG4Rk8ZDwsYfVKlkvIroFB22No="; + }; + + cargoHash = "sha256-cN70yYYKhktUoswow63ZXHvfFbXDo1rUrTWm22LluCM="; + + nativeBuildInputs = [ + rustPlatform.bindgenHook + ]; + + doInstallCheck = true; + installCheckPhase = '' + runHook preInstallCheck + + stdout="$("$out/bin/artichoke" -e 'puts "Hello World!"')" + [[ "$stdout" == 'Hello World!' ]] + + runHook postInstallCheck + ''; + + passthru = { + updateScript = _experimental-update-script-combinators.sequence [ + (unstableGitUpdater { }) + (nix-update-script { + # Updating `cargoHash` + extraArgs = [ "--version=skip" ]; + }) + ]; + }; + + meta = { + description = "Ruby implementation written in Rust and Ruby"; + homepage = "https://www.artichokeruby.org/"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ + kachick + ]; + mainProgram = "artichoke"; + platforms = with lib.platforms; unix ++ windows; + }; +} diff --git a/pkgs/by-name/as/assemblyscript/package.nix b/pkgs/by-name/as/assemblyscript/package.nix index cff941fe1413..bb26dc73b523 100644 --- a/pkgs/by-name/as/assemblyscript/package.nix +++ b/pkgs/by-name/as/assemblyscript/package.nix @@ -6,16 +6,16 @@ buildNpmPackage rec { pname = "assemblyscript"; - version = "0.27.35"; + version = "0.28.2"; src = fetchFromGitHub { owner = "AssemblyScript"; repo = "assemblyscript"; rev = "v${version}"; - hash = "sha256-Wop7S7GvvXFcONER+TYIygLkAZpCdhMlPz3hhWSOZro="; + hash = "sha256-8nY3Rst6i+RGW+kfjn/QSbYkaZf67k/KwuyIp40fCSM="; }; - npmDepsHash = "sha256-DisQ5T5gEHkCZNBInN12uTquwrg3n/sOmNVz/iSI1Mw="; + npmDepsHash = "sha256-wj/PMoqUBjXqz8/KOFAH5P5eFty3pztpQ8inGIy+ve4="; meta = with lib; { homepage = "https://github.com/AssemblyScript/assemblyscript"; diff --git a/pkgs/by-name/as/ast-grep/package.nix b/pkgs/by-name/as/ast-grep/package.nix index c1eb9312b0a4..9dbcbeea123c 100644 --- a/pkgs/by-name/as/ast-grep/package.nix +++ b/pkgs/by-name/as/ast-grep/package.nix @@ -11,13 +11,13 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "ast-grep"; - version = "0.38.3"; + version = "0.38.5"; src = fetchFromGitHub { owner = "ast-grep"; repo = "ast-grep"; tag = finalAttrs.version; - hash = "sha256-KTgpcuojg9sNTTqd8+qp+QIn3bZyNg3Rv/QlkoFGUHg="; + hash = "sha256-yI3uAdP7x1zYMtRz4ppG4ySH/xmfQlnUlmJKoN/6Cw4="; }; # error: linker `aarch64-linux-gnu-gcc` not found @@ -26,7 +26,7 @@ rustPlatform.buildRustPackage (finalAttrs: { ''; useFetchCargoVendor = true; - cargoHash = "sha256-UR+5vW6C6nivX2++QcIO/XAvuL869IYzCxtAkN+eUU8="; + cargoHash = "sha256-Idd/vrnj6XJYahmmHgGWPoMCmH7hkJFeWhV8YEo41rM="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/at/atop/package.nix b/pkgs/by-name/at/atop/package.nix index 4a68003f81e4..9566310b7fe1 100644 --- a/pkgs/by-name/at/atop/package.nix +++ b/pkgs/by-name/at/atop/package.nix @@ -16,11 +16,11 @@ stdenv.mkDerivation rec { pname = "atop"; - version = "2.11.1"; + version = "2.12.0"; src = fetchurl { url = "https://www.atoptool.nl/download/atop-${version}.tar.gz"; - hash = "sha256-d2UPefnjiLb1Zm3BE4SYlFdaKbtN4huM1Ydnv4qQUVQ="; + hash = "sha256-DQnsyQwU5u9Bwi48V8FCw+T7nPPJQ3kHejPJYdU0MIY="; }; nativeBuildInputs = diff --git a/pkgs/by-name/at/ats2/package.nix b/pkgs/by-name/at/ats2/package.nix index dfe6fe406525..8a648c98238d 100644 --- a/pkgs/by-name/at/ats2/package.nix +++ b/pkgs/by-name/at/ats2/package.nix @@ -37,9 +37,18 @@ stdenv.mkDerivation rec { hash = "sha256-UWgDjFojPBYgykrCrJyYvVWY+Gc5d4aRGjTWjc528AM="; }; - postPatch = lib.optionalString stdenv.cc.isClang '' - sed -i 's/gcc/clang/g' utils/*/DATS/atscc_util.dats - ''; + postPatch = + '' + for i in cstream intinf libgmp libjson-c libpcre; do + ln -sf ../../../../../share/Makefile.gen contrib/atscntrb/atscntrb-hx-$i/SATS/DOCUGEN/Makefile.gen + done + for i in libcairo libsdl2; do + ln -sf ../../../../../../share/Makefile.gen npm-utils/contrib/atscntrb/atscntrb-hx-$i/SATS/DOCUGEN/Makefile.gen + done + '' + + lib.optionalString stdenv.cc.isClang '' + sed -i 's/gcc/clang/g' utils/*/DATS/atscc_util.dats + ''; buildInputs = [ gmp ]; diff --git a/pkgs/by-name/au/audacity/package.nix b/pkgs/by-name/au/audacity/package.nix index 15999f4de70a..da1c92d1c441 100644 --- a/pkgs/by-name/au/audacity/package.nix +++ b/pkgs/by-name/au/audacity/package.nix @@ -61,13 +61,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "audacity"; - version = "3.7.3"; + version = "3.7.4"; src = fetchFromGitHub { owner = "audacity"; repo = "audacity"; rev = "Audacity-${finalAttrs.version}"; - hash = "sha256-j3rbcUUHXAQmn/7SzpKHvpxGZ3bBhIYrNOFLc7jMPlc="; + hash = "sha256-kESKpIke9Xi4A55i3mUu1JkDjp8voBJBixiAK8pUkKA="; }; postPatch = diff --git a/pkgs/by-name/au/audiobookshelf/source.json b/pkgs/by-name/au/audiobookshelf/source.json index 4d0383a553f3..4af825176f8c 100644 --- a/pkgs/by-name/au/audiobookshelf/source.json +++ b/pkgs/by-name/au/audiobookshelf/source.json @@ -1,9 +1,9 @@ { "owner": "advplyr", "repo": "audiobookshelf", - "rev": "c377b57601f82f76d677b09e6bbabda732c18861", - "hash": "sha256-q0Qlslw5e1nHDqLfLi4AvD3vAzoWvz9/0/lMgqn+y8Y=", - "version": "2.24.0", - "depsHash": "sha256-s4U+Hgace+d+zRaHeJkxh6TWgClY6T+tlmoyZq7L7Rk=", - "clientDepsHash": "sha256-fAtr5GW8AInIDgSEjv1JwKW9GNZGYImD3LxerkUqH8k=" + "rev": "f3f5f3b9bd540d311a6ab0a99b9317a5142755ea", + "hash": "sha256-tymJLs0gucJX0n0helxAkCrifG4uWcxaEBpgK7uVG2c=", + "version": "2.25.1", + "depsHash": "sha256-JFoE4jNyIfdk/uhhbdP3flcNRus8FvwRNrs+hf4YJ5E=", + "clientDepsHash": "sha256-s8fybUu3hJozX57RfsxBSy09QjOiVGO4vg7woOEqMi4=" } diff --git a/pkgs/by-name/au/autenticacao-gov-pt-bin/package.nix b/pkgs/by-name/au/autenticacao-gov-pt-bin/package.nix new file mode 100644 index 000000000000..e3b1a1a0ca13 --- /dev/null +++ b/pkgs/by-name/au/autenticacao-gov-pt-bin/package.nix @@ -0,0 +1,169 @@ +{ + autoPatchelfHook, + ccid, + cjson, + copyDesktopItems, + curl, + doxygen, + fetchurl, + flatpak, + lib, + libGL, + libgcc, + libsForQt5, + libzip, + makeDesktopItem, + makeWrapper, + openjpeg, + openpace, + openssl, + ostree, + patchelf, + pcsclite, + pkg-config, + proot, + qt5, + stdenv, + xml-security-c, +}: + +let + xercesc_3_2 = stdenv.mkDerivation rec { + pname = "xerces-c"; + version = "3.2.3"; + + src = fetchurl { + url = "mirror://apache/xerces/c/3/sources/xerces-c-${version}.tar.gz"; + hash = "sha256-+5b8SbH7iS0eZOU6atqKzPbw5tMM4JN5Vuxo05vXLH4="; + }; + + nativeBuildInputs = [ pkg-config ]; + configureFlags = [ "--disable-static" ]; + + meta = { + description = "Validating XML parser written in a portable subset of C++"; + homepage = "https://xerces.apache.org/xerces-c/"; + license = lib.licenses.asl20; + platforms = lib.platforms.unix; + }; + }; + +in +stdenv.mkDerivation rec { + pname = "autenticacao-gov-pt-bin"; + version = "3.13.3"; + + src = fetchurl { + url = "https://github.com/amagovpt/autenticacao.gov/releases/download/v${version}/pteid-mw-${version}.flatpak"; + hash = "sha256-kUSUcX3/rPENdyd6ABeqADqK4CcSltwsdnmcgWzw8Fc="; + }; + + dontConfigure = true; + dontBuild = true; + + nativeBuildInputs = [ + autoPatchelfHook + copyDesktopItems + flatpak + makeWrapper + ostree + patchelf + qt5.wrapQtAppsHook + ]; + + buildInputs = [ + ccid + cjson + curl + doxygen + libGL + libgcc + libsForQt5.poppler + libzip + openjpeg + openpace + openssl + pcsclite + proot + qt5.qtbase + qt5.qtgraphicaleffects + qt5.qtquickcontrols + qt5.qtquickcontrols2 + qt5.qttools + xercesc_3_2 + xml-security-c + ]; + + unpackPhase = '' + ostree init --repo=pteid --mode=archive-z2 + ostree static-delta apply-offline --repo=pteid ${src} + ostree checkout --repo=pteid -U $(cd pteid/objects && echo */*.commit | sed -E "s/\/|\.commit$//g") pteid_out + ''; + + desktopItems = [ + (makeDesktopItem { + name = pname; + exec = pname; + desktopName = "Autenticação.gov"; + genericName = "Portuguese eID Data"; + comment = "Middleware for Electronic Identification in Portugal"; + icon = "pt.gov.autenticacao"; + terminal = false; + startupNotify = true; + categories = [ "Office" ]; + }) + ]; + + preInstall = '' + mkdir -p $out/share $out/app/{lib,share} + cp -r pteid_out/files/bin $out/app + cp -r pteid_out/files/lib/lib{pteid,CMD}* $out/app/lib/ + cp -r pteid_out/files/share/certs $out/app/share + cp -r pteid_out/files/share/icons $out/share + ''; + + postInstall = '' + makeWrapper "${proot}/bin/proot" "$out/bin/${pname}" \ + --add-flags "-b" \ + --add-flags "$out/app:/app" \ + --add-flags "$out/app/bin/eidguiV2" \ + --argv0 "$out/bin/eidguiV2" + ''; + + preFixup = '' + find $out/app/lib -type f -name '*.so*' | while read lib; do + patchelf --replace-needed libxml-security-c.so.20 libxml-security-c.so.30 "$lib" + done + wrapQtApp $out/app/bin/eidguiV2 + autoPatchelf $out/app + ''; + + meta = { + description = "Middleware for Electronic Identification in Portugal (with precompiled binaries by AMA)"; + homepage = "https://www.autenticacao.gov.pt/"; + license = lib.licenses.eupl12; + longDescription = '' + This package provides the official Portuguese Citizen Card middleware (Autenticação.gov), + extracted from AMA’s Flatpak release. It enables authentication and digital signing using + the Portuguese eID system. + + On NixOS, it works with a supported card reader and Citizen Card, as long as + `services.pcscd.enable = true` is set in the system configuration. + + Notes: + - Depends on xerces-c 3.2.3, which is no longer in nixpkgs. This package includes a version + override to restore it for compatibility. + + - The application uses hardcoded paths for libraries and binaries. To accommodate this, + `proot` is used at runtime to simulate a traditional filesystem layout. This allows the + binary to run unmodified, though it may introduce minor latency. + + - A desktop entry is included for integration with graphical environments. + + Building from source is possible, but upstream disables signing in source builds. Using the + official binary avoids this limitation and provides full functionality. + ''; + maintainers = with lib.maintainers; [ vaavaav ]; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/by-name/au/authentik/package.nix b/pkgs/by-name/au/authentik/package.nix index 771cbbedf885..37039da3fbca 100644 --- a/pkgs/by-name/au/authentik/package.nix +++ b/pkgs/by-name/au/authentik/package.nix @@ -159,17 +159,8 @@ let python = python312.override { self = python; packageOverrides = final: prev: { - django = final.django_5; - - django-tenants = prev.django-tenants.overrideAttrs { - version = "3.7.0-unstable-2025-03-14"; - src = fetchFromGitHub { - owner = "rissson"; - repo = "django-tenants"; - rev = "156e53a6f5902d74b73dd9d0192fffaa2587a740"; - hash = "sha256-xmhfPgCmcFr5axVV65fCq/AcV8ApRVvFVEpq3cQSVqo="; - }; - }; + # https://github.com/goauthentik/authentik/pull/14709 + django = final.django_5_1; # Running authentik currently requires a custom version. # Look in `pyproject.toml` for changes to the rev in the `[tool.uv.sources]` section. diff --git a/pkgs/by-name/au/auto-editor/package.nix b/pkgs/by-name/au/auto-editor/package.nix index d09d8245f12c..1f47fd3fd7d6 100644 --- a/pkgs/by-name/au/auto-editor/package.nix +++ b/pkgs/by-name/au/auto-editor/package.nix @@ -2,40 +2,30 @@ lib, python3Packages, fetchFromGitHub, - replaceVars, yt-dlp, }: python3Packages.buildPythonApplication rec { pname = "auto-editor"; - version = "26.2.0"; + version = "28.0.1"; pyproject = true; src = fetchFromGitHub { owner = "WyattBlue"; repo = "auto-editor"; tag = version; - hash = "sha256-BYpt/EelCChhphfuTcqI/VIVis6dnt0J4FcNhWeiiyY="; + hash = "sha256-n+9qesm2LCTXJ+X/hDaFQ5EjN+xfnLdl6G8+Qna/cyM="; }; - patches = [ - (replaceVars ./set-exe-paths.patch { - yt_dlp = lib.getExe yt-dlp; - }) - ]; - postPatch = '' - # pyav is a fork of av, but has since mostly been un-forked - substituteInPlace pyproject.toml \ - --replace-fail '"pyav==14.*"' '"av"' + substituteInPlace auto_editor/__main__.py \ + --replace-fail '"yt-dlp"' '"${lib.getExe yt-dlp}"' ''; - build-system = with python3Packages; [ - setuptools - ]; + build-system = with python3Packages; [ setuptools ]; dependencies = with python3Packages; [ - av + basswood-av numpy ]; @@ -50,7 +40,7 @@ python3Packages.buildPythonApplication rec { pythonImportsCheck = [ "auto_editor" ]; meta = { - changelog = "https://github.com/WyattBlue/auto-editor/releases/tag/${version}"; + changelog = "https://github.com/WyattBlue/auto-editor/releases/tag/${src.tag}"; description = "Command line application for automatically editing video and audio by analyzing a variety of methods, most notably audio loudness"; homepage = "https://auto-editor.com/"; license = lib.licenses.unlicense; diff --git a/pkgs/by-name/au/auto-editor/set-exe-paths.patch b/pkgs/by-name/au/auto-editor/set-exe-paths.patch deleted file mode 100644 index 97266aab9ef2..000000000000 --- a/pkgs/by-name/au/auto-editor/set-exe-paths.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/auto_editor/utils/types.py b/auto_editor/utils/types.py -index 931cc33..b0aecbc 100644 ---- a/auto_editor/utils/types.py -+++ b/auto_editor/utils/types.py -@@ -191,7 +191,7 @@ def resolution(val: str | None) -> tuple[int, int] | None: - - @dataclass(slots=True) - class Args: -- yt_dlp_location: str = "yt-dlp" -+ yt_dlp_location: str = "@yt_dlp@" - download_format: str | None = None - output_format: str | None = None - yt_dlp_extras: str | None = None diff --git a/pkgs/by-name/au/auto-patchelf/source/auto-patchelf.py b/pkgs/by-name/au/auto-patchelf/source/auto-patchelf.py index cafb761ef870..3426752fa55a 100644 --- a/pkgs/by-name/au/auto-patchelf/source/auto-patchelf.py +++ b/pkgs/by-name/au/auto-patchelf/source/auto-patchelf.py @@ -235,6 +235,10 @@ def auto_patchelf_file(path: Path, runtime_deps: list[Path], append_rpaths: list except ELFError: return [] + # these platforms are packaged in nixpkgs with ld.so in a separate derivation + # than libc.so and friends. keep_libc is mandatory. + keep_libc |= file_osabi in ('ELFOSABI_FREEBSD', 'ELFOSABI_OPENBSD') + rpath = [] if file_is_dynamic_executable: print("setting interpreter of", path) diff --git a/pkgs/by-name/au/autobrr/package.nix b/pkgs/by-name/au/autobrr/package.nix index dd8665d419f6..ba8eeade0a0f 100644 --- a/pkgs/by-name/au/autobrr/package.nix +++ b/pkgs/by-name/au/autobrr/package.nix @@ -13,12 +13,12 @@ let pname = "autobrr"; - version = "1.62.0"; + version = "1.63.1"; src = fetchFromGitHub { owner = "autobrr"; repo = "autobrr"; tag = "v${version}"; - hash = "sha256-lygDs92WiIzHYgYqel2nseWcXgBFEQV+i5tC0NYpYUE="; + hash = "sha256-yQ7gS2nKqMiEGDifiCe/Mfat3xx+LYrJiPC7ltVeQlU="; }; autobrr-web = stdenvNoCC.mkDerivation { @@ -40,7 +40,7 @@ let src sourceRoot ; - hash = "sha256-XFGxutHWk1RHnrN//WVTr4RyARIkygdG2C1Af5W0dBc="; + hash = "sha256-TbdRJqLdNI7wchUsx2Kw1LlDyv50XlCiKyn6rhZyN1U="; }; postBuild = '' @@ -60,7 +60,7 @@ buildGoModule rec { src ; - vendorHash = "sha256-/MOP06po885vg1C6j+let8UC710j68oP+L3j9oEU0Lw="; + vendorHash = "sha256-kaHTH3gR0bTD89L8GLgntiOJ8S5dIzvpU27ma4cb/Do="; preBuild = '' cp -r ${autobrr-web}/* web/dist diff --git a/pkgs/by-name/au/autojump/package.nix b/pkgs/by-name/au/autojump/package.nix index d0a60a4abbb5..f64ec83caf48 100644 --- a/pkgs/by-name/au/autojump/package.nix +++ b/pkgs/by-name/au/autojump/package.nix @@ -57,7 +57,6 @@ stdenv.mkDerivation rec { license = licenses.gpl3; platforms = platforms.all; maintainers = with maintainers; [ - domenkozar yurrriq ]; }; diff --git a/pkgs/by-name/au/autokuma/no-doctest.patch b/pkgs/by-name/au/autokuma/no-doctest.patch new file mode 100644 index 000000000000..b958bfccbef4 --- /dev/null +++ b/pkgs/by-name/au/autokuma/no-doctest.patch @@ -0,0 +1,11 @@ +diff --git a/kuma-client/Cargo.toml b/kuma-client/Cargo.toml +index 144be59..017e1de 100644 +--- a/kuma-client/Cargo.toml ++++ b/kuma-client/Cargo.toml +@@ -1,3 +1,6 @@ ++[lib] ++doctest = false ++ + [package] + name = "kuma-client" + description = "Rust wrapper for the Uptime Kuma Socket.IO API" diff --git a/pkgs/by-name/au/autokuma/package.nix b/pkgs/by-name/au/autokuma/package.nix new file mode 100644 index 000000000000..ec80cb3f2db3 --- /dev/null +++ b/pkgs/by-name/au/autokuma/package.nix @@ -0,0 +1,39 @@ +{ + lib, + fetchFromGitHub, + rustPlatform, + pkg-config, + openssl, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "autokuma"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "BigBoot"; + repo = "AutoKuma"; + tag = "v${finalAttrs.version}"; + hash = "sha256-o1W0ssR4cjzx9VWg3qS2RhJEe4y4Ez/Y+4yRgXs6q0Y="; + }; + + cargoHash = "sha256-nu37qOv34nZ4pkxX7mu4zoLJFZWw3QCPQDS7SMKhqVw="; + + patches = [ ./no-doctest.patch ]; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ openssl ]; + + postInstall = '' + mv $out/bin/crdgen $out/bin/autokuma-crdgen + ''; + + meta = { + description = "Utility that automates the creation of Uptime Kuma monitors"; + homepage = "https://github.com/BigBoot/AutoKuma"; + mainProgram = "autokuma"; + license = lib.licenses.mit; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ hougo ]; + }; +}) diff --git a/pkgs/by-name/au/automatic-timezoned/package.nix b/pkgs/by-name/au/automatic-timezoned/package.nix index a09130b6596c..352d04af20c2 100644 --- a/pkgs/by-name/au/automatic-timezoned/package.nix +++ b/pkgs/by-name/au/automatic-timezoned/package.nix @@ -6,17 +6,17 @@ rustPlatform.buildRustPackage rec { pname = "automatic-timezoned"; - version = "2.0.79"; + version = "2.0.80"; src = fetchFromGitHub { owner = "maxbrunet"; repo = "automatic-timezoned"; rev = "v${version}"; - sha256 = "sha256-FPSwTtLLf1T4lx4ZmPPa6dnhcI9pBCFjhsABeIccRKk="; + sha256 = "sha256-5JrIcdNgi68g+5zF0y4YeNboFl6SS9QvZEsmcMh35gE="; }; useFetchCargoVendor = true; - cargoHash = "sha256-H4bFSqt8hOH6tF2WO1mQqqmbK9U2qlFC+7swz/xj1I8="; + cargoHash = "sha256-IX3lSupcKn1ET4Q7tLpUBhQ+wfmfUyM/onlTwW7wloU="; meta = { description = "Automatically update system timezone based on location"; diff --git a/pkgs/by-name/au/autotier/package.nix b/pkgs/by-name/au/autotier/package.nix index a6d8836eed35..bf044574432b 100644 --- a/pkgs/by-name/au/autotier/package.nix +++ b/pkgs/by-name/au/autotier/package.nix @@ -8,7 +8,7 @@ boost, fuse3, lib45d, - tbb_2021_11, + tbb_2021, liburing, installShellFiles, }: @@ -46,7 +46,7 @@ stdenv.mkDerivation (finalAttrs: { boost fuse3 lib45d - tbb_2021_11 + tbb_2021 liburing ]; diff --git a/pkgs/by-name/av/avbroot/package.nix b/pkgs/by-name/av/avbroot/package.nix index e487dceae5b8..d982e95ad817 100644 --- a/pkgs/by-name/av/avbroot/package.nix +++ b/pkgs/by-name/av/avbroot/package.nix @@ -10,17 +10,17 @@ rustPlatform.buildRustPackage rec { pname = "avbroot"; - version = "3.16.1"; + version = "3.17.0"; src = fetchFromGitHub { owner = "chenxiaolong"; repo = "avbroot"; tag = "v${version}"; - hash = "sha256-LasI6DmTQ7gOYyE7k5Aj22OtZnnD4hYbm0KDwVdqBRw="; + hash = "sha256-a+HCaXElo2uHYMa3y1cnd5LwO7qAfiKWmAynR7vDM4k="; }; useFetchCargoVendor = true; - cargoHash = "sha256-BfOmfosBZp/7EhbqHDiBUE3wUx5dcFdQw/i0adtUFko="; + cargoHash = "sha256-N+/xh3MJ5c2FjqR1IQp+DawR1Hlc5hGGwcUvqcEws+Q="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/aw/aws-workspaces/workspacesclient.nix b/pkgs/by-name/aw/aws-workspaces/workspacesclient.nix index 4c4d93b53cd1..97f1d473c832 100644 --- a/pkgs/by-name/aw/aws-workspaces/workspacesclient.nix +++ b/pkgs/by-name/aw/aws-workspaces/workspacesclient.nix @@ -3,7 +3,7 @@ lib, fetchurl, dpkg, - makeWrapper, + makeBinaryWrapper, glib-networking, }: @@ -16,7 +16,6 @@ stdenv.mkDerivation (finalAttrs: { src = fetchurl { urls = [ - # Check new version at https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/jammy/main/binary-amd64/Packages "https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/jammy/main/binary-amd64/workspacesclient_${finalAttrs.version}_amd64.deb" ]; hash = "sha256-VPNZN9AsrGJ56O8B5jxlgLMvrUViTv6yto8c5pGQc0A="; @@ -24,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ dpkg - makeWrapper + makeBinaryWrapper ]; installPhase = '' diff --git a/pkgs/by-name/aw/awsbck/package.nix b/pkgs/by-name/aw/awsbck/package.nix index b43f46683510..92a2e0f9ff04 100644 --- a/pkgs/by-name/aw/awsbck/package.nix +++ b/pkgs/by-name/aw/awsbck/package.nix @@ -6,17 +6,17 @@ rustPlatform.buildRustPackage rec { pname = "awsbck"; - version = "0.3.12"; + version = "0.3.13"; src = fetchFromGitHub { owner = "beeb"; repo = "awsbck"; rev = "v${version}"; - hash = "sha256-C5QaOxZ9DQuda+slf8uqPQYVgDtS5Lhm3AFn8K2G/T4="; + hash = "sha256-7ykDkCA6c5MzaMWT+ZjNBhPOZO8UNYIP5sNwoFx1XT8="; }; useFetchCargoVendor = true; - cargoHash = "sha256-Pb4tnP8BiVTfUR1qM1dUXj9aCmdK23YYxQ4KQQc4z54="; + cargoHash = "sha256-L7iWM5T/FRK+0KQROILg4Mns1+cwPPGKfe0H00FJrSo="; # tests run in CI on the source repo doCheck = false; diff --git a/pkgs/by-name/aw/awscli/package.nix b/pkgs/by-name/aw/awscli/package.nix index 311201f73d07..39cc67df9f87 100644 --- a/pkgs/by-name/aw/awscli/package.nix +++ b/pkgs/by-name/aw/awscli/package.nix @@ -14,14 +14,14 @@ let pname = "awscli"; # N.B: if you change this, change botocore and boto3 to a matching version too # check e.g. https://github.com/aws/aws-cli/blob/1.33.21/setup.py - version = "1.40.8"; + version = "1.40.31"; pyproject = true; src = fetchFromGitHub { owner = "aws"; repo = "aws-cli"; tag = version; - hash = "sha256-gldyfko4yrpq/U8w87qxRzqXEfUxfCTEjsRO8bPJOAc="; + hash = "sha256-BjQyA7uK9F/5myPXsMpD0HZK69Se3WveYMHNCzhVNKc="; }; pythonRelaxDeps = [ diff --git a/pkgs/by-name/aw/awscli2/package.nix b/pkgs/by-name/aw/awscli2/package.nix index 068d6790304c..763e992b5594 100644 --- a/pkgs/by-name/aw/awscli2/package.nix +++ b/pkgs/by-name/aw/awscli2/package.nix @@ -23,11 +23,11 @@ let "test_check_link_response_only" # fails on hydra https://hydra.nixos.org/build/242624087/nixlog/1 ]; }); - python-dateutil = prev.python-dateutil.overridePythonAttrs (prev: { + python-dateutil = prev.python-dateutil.overridePythonAttrs (prev: rec { version = "2.8.2"; pyproject = null; src = prev.src.override { - version = "2.8.2"; + inherit version; hash = "sha256-ASPKzBYnrhnd88J6XeW9Z+5FhvvdZEDZdI+Ku0g9PoY="; }; patches = [ @@ -40,16 +40,16 @@ let ]; postPatch = null; }); - ruamel-yaml = prev.ruamel-yaml.overridePythonAttrs (prev: { + ruamel-yaml = prev.ruamel-yaml.overridePythonAttrs (prev: rec { + version = "0.17.21"; src = prev.src.override { - version = "0.17.21"; + inherit version; hash = "sha256-i3zml6LyEnUqNcGsQURx3BbEJMlXO+SSa1b/P10jt68="; }; }); urllib3 = prev.urllib3.overridePythonAttrs (prev: rec { - pyproject = true; version = "1.26.18"; - nativeBuildInputs = with final; [ + build-system = with final; [ setuptools ]; src = prev.src.override { @@ -64,21 +64,20 @@ let in py.pkgs.buildPythonApplication rec { pname = "awscli2"; - version = "2.27.8"; # N.B: if you change this, check if overrides are still up-to-date + version = "2.27.31"; # N.B: if you change this, check if overrides are still up-to-date pyproject = true; src = fetchFromGitHub { owner = "aws"; repo = "aws-cli"; tag = version; - hash = "sha256-AluBRKB5HKK+8Pb2UooUWqrE48ZNGffkW1z3mLHzVRg="; + hash = "sha256-0d7VdlX3xZkw1SVjbKErFhhoC2owI/JfBQOJ/GfIWyg="; }; postPatch = '' substituteInPlace pyproject.toml \ --replace-fail 'flit_core>=3.7.1,<3.9.1' 'flit_core>=3.7.1' \ --replace-fail 'awscrt==' 'awscrt>=' \ - --replace-fail 'cryptography>=40.0.0,<43.0.2' 'cryptography>=43.0.0' \ --replace-fail 'distro>=1.5.0,<1.9.0' 'distro>=1.5.0' \ --replace-fail 'docutils>=0.10,<0.20' 'docutils>=0.10' \ --replace-fail 'prompt-toolkit>=3.0.24,<3.0.39' 'prompt-toolkit>=3.0.24' \ @@ -103,19 +102,14 @@ py.pkgs.buildPythonApplication rec { dependencies = with py.pkgs; [ awscrt - bcdoc - botocore colorama - cryptography distro docutils jmespath prompt-toolkit python-dateutil - pyyaml ruamel-yaml urllib3 - zipp ]; propagatedBuildInputs = [ diff --git a/pkgs/by-name/ay/ayatana-indicator-datetime/package.nix b/pkgs/by-name/ay/ayatana-indicator-datetime/package.nix index c9e5f682879f..64cafe4c63c2 100644 --- a/pkgs/by-name/ay/ayatana-indicator-datetime/package.nix +++ b/pkgs/by-name/ay/ayatana-indicator-datetime/package.nix @@ -9,6 +9,7 @@ dbus, dbus-test-runner, evolution-data-server, + extra-cmake-modules, glib, gst_all_1, gtest, @@ -16,7 +17,9 @@ libaccounts-glib, libayatana-common, libical, + mkcal, libnotify, + libsForQt5, libuuid, lomiri, pkg-config, @@ -25,51 +28,57 @@ systemd, tzdata, wrapGAppsHook3, + # Generates a different indicator + enableLomiriFeatures ? false, }: let edsDataDir = "${evolution-data-server}/share"; in stdenv.mkDerivation (finalAttrs: { - pname = "ayatana-indicator-datetime"; - version = "24.5.1"; + pname = "${if enableLomiriFeatures then "lomiri" else "ayatana"}-indicator-datetime"; + version = "25.4.0"; src = fetchFromGitHub { owner = "AyatanaIndicators"; repo = "ayatana-indicator-datetime"; tag = finalAttrs.version; - hash = "sha256-rbKAixFjXOMYzduABmoIXissQXAoehfbkNntdtRyAqA="; + hash = "sha256-8E9ucy8I0w9DDzsLtzJgICz/e0TNqOHgls9LrgA5nk4="; }; - postPatch = '' - # Override systemd prefix - substituteInPlace data/CMakeLists.txt \ - --replace-fail 'pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir)' 'pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir DEFINE_VARIABLES prefix=''${CMAKE_INSTALL_PREFIX})' \ - --replace-fail 'XDG_AUTOSTART_DIR "/etc' 'XDG_AUTOSTART_DIR "''${CMAKE_INSTALL_FULL_SYSCONFDIR}' - - # Looking for Lomiri schemas for code generation - substituteInPlace src/CMakeLists.txt \ - --replace-fail '/usr/share/accountsservice' '${lomiri.lomiri-schemas}/share/accountsservice' - ''; + postPatch = + '' + # Override systemd prefix + substituteInPlace data/CMakeLists.txt \ + --replace-fail 'pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir)' 'pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir DEFINE_VARIABLES prefix=''${CMAKE_INSTALL_PREFIX})' \ + --replace-fail 'XDG_AUTOSTART_DIR "/etc' 'XDG_AUTOSTART_DIR "''${CMAKE_INSTALL_FULL_SYSCONFDIR}' + '' + + lib.optionalString enableLomiriFeatures '' + # Looking for Lomiri schemas for code generation + substituteInPlace src/CMakeLists.txt \ + --replace-fail '/usr/share/accountsservice' '${lomiri.lomiri-schemas}/share/accountsservice' + ''; strictDeps = true; - nativeBuildInputs = [ - cmake - glib # for schema hook - intltool - pkg-config - wrapGAppsHook3 - ]; + nativeBuildInputs = + [ + cmake + glib # for schema hook + intltool + pkg-config + wrapGAppsHook3 + ] + ++ lib.optionals enableLomiriFeatures [ + libsForQt5.wrapQtAppsHook + ]; buildInputs = [ ayatana-indicator-messages - evolution-data-server glib libaccounts-glib libayatana-common - libical libnotify libuuid properties-cpp @@ -82,10 +91,30 @@ stdenv.mkDerivation (finalAttrs: { ]) ++ (with lomiri; [ cmake-extras - lomiri-schemas - lomiri-sounds - lomiri-url-dispatcher - ]); + ]) + ++ ( + if enableLomiriFeatures then + ( + [ + extra-cmake-modules + mkcal + ] + ++ (with libsForQt5; [ + kcalendarcore + qtbase + ]) + ++ (with lomiri; [ + lomiri-schemas + lomiri-sounds + lomiri-url-dispatcher + ]) + ) + else + [ + evolution-data-server + libical + ] + ); nativeCheckInputs = [ dbus @@ -99,12 +128,31 @@ stdenv.mkDerivation (finalAttrs: { gtest ]; - cmakeFlags = [ - (lib.cmakeBool "GSETTINGS_LOCALINSTALL" true) - (lib.cmakeBool "GSETTINGS_COMPILE" true) - (lib.cmakeBool "ENABLE_LOMIRI_FEATURES" true) - (lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck) - ]; + dontWrapQtApps = true; + + cmakeFlags = + [ + (lib.cmakeBool "GSETTINGS_LOCALINSTALL" true) + (lib.cmakeBool "GSETTINGS_COMPILE" true) + (lib.cmakeBool "ENABLE_LOMIRI_FEATURES" enableLomiriFeatures) + (lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck) + ] + ++ lib.optionals enableLomiriFeatures [ + (lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" ( + lib.concatStringsSep ";" [ + # Exclude tests + "-E" + (lib.strings.escapeShellArg "(${ + lib.concatStringsSep "|" [ + # Don't know why these fail yet + "^test-eds-ics-repeating-events" + "^test-eds-ics-nonrepeating-events" + "^test-eds-ics-missing-trigger" + ] + })") + ] + )) + ]; doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; @@ -112,34 +160,51 @@ stdenv.mkDerivation (finalAttrs: { preCheck = '' export XDG_DATA_DIRS=${ - lib.strings.concatStringsSep ":" [ - # org.ayatana.common schema - (glib.passthru.getSchemaDataDirPath libayatana-common) - - # loading EDS engines to handle ICS-loading - edsDataDir - ] + lib.strings.concatStringsSep ":" ( + [ + # org.ayatana.common schema + (glib.passthru.getSchemaDataDirPath libayatana-common) + ] + ++ lib.optionals (!enableLomiriFeatures) [ + # loading EDS engines to handle ICS-loading + edsDataDir + ] + ) } ''; - # schema is already added automatically by wrapper, EDS needs to be added explicitly - preFixup = '' - gappsWrapperArgs+=( - --prefix XDG_DATA_DIRS : "${edsDataDir}" + preFixup = + '' + gappsWrapperArgs+=( + '' + + ( + if enableLomiriFeatures then + '' + "''${qtWrapperArgs[@]}" + '' + else + # schema is already added automatically by wrapper, EDS needs to be added explicitly + '' + --prefix XDG_DATA_DIRS : "${edsDataDir}" + '' ) - ''; + + '' + ) + ''; passthru = { ayatana-indicators = { - ayatana-indicator-datetime = [ - "ayatana" - "lomiri" + "${if enableLomiriFeatures then "lomiri" else "ayatana"}-indicator-datetime" = [ + (if enableLomiriFeatures then "lomiri" else "ayatana") ]; }; - tests = { - startup = nixosTests.ayatana-indicators; - lomiri = nixosTests.lomiri.desktop-ayatana-indicator-datetime; - }; + tests = + { + startup = nixosTests.ayatana-indicators; + } + // lib.optionalAttrs enableLomiriFeatures { + lomiri = nixosTests.lomiri.desktop-ayatana-indicator-datetime; + }; updateScript = gitUpdater { }; }; @@ -152,7 +217,9 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/AyatanaIndicators/ayatana-indicator-datetime"; changelog = "https://github.com/AyatanaIndicators/ayatana-indicator-datetime/blob/${finalAttrs.version}/ChangeLog"; license = lib.licenses.gpl3Only; - maintainers = with lib.maintainers; [ OPNA2608 ]; + teams = [ + lib.teams.lomiri + ]; platforms = lib.platforms.linux; }; }) diff --git a/pkgs/by-name/az/azahar/package.nix b/pkgs/by-name/az/azahar/package.nix index fbf7a0b5c97b..594f8e1f8f88 100644 --- a/pkgs/by-name/az/azahar/package.nix +++ b/pkgs/by-name/az/azahar/package.nix @@ -41,6 +41,7 @@ cubeb, useDiscordRichPresence ? true, rapidjson, + enableSSE42 ? true, # Disable if your hardware doesn't support SSE 4.2 (mainly CPUs before 2011) }: let inherit (lib) @@ -51,11 +52,11 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "azahar"; - version = "2121.2"; + version = "2122"; src = fetchzip { url = "https://github.com/azahar-emu/azahar/releases/download/${finalAttrs.version}/azahar-unified-source-${finalAttrs.version}.tar.xz"; - hash = "sha256-zXkLew7tErPjygYIXPnimfZnekFMCzY+95TlW1DNQRc="; + hash = "sha256-isohwigDgqwPJxinBju1biAXC3CX3JrNJiQ1NY+NjRo="; }; nativeBuildInputs = [ @@ -142,6 +143,7 @@ stdenv.mkDerivation (finalAttrs: { (cmakeBool "ENABLE_QT_TRANSLATION" enableQtTranslations) (cmakeBool "ENABLE_CUBEB" enableCubeb) (cmakeBool "USE_DISCORD_PRESENCE" useDiscordRichPresence) + (cmakeBool "ENABLE_SSE42" enableSSE42) ]; meta = { diff --git a/pkgs/by-name/az/azure-cli/extensions-manual.nix b/pkgs/by-name/az/azure-cli/extensions-manual.nix index 74ace5a4e00b..72a45c909cfd 100644 --- a/pkgs/by-name/az/azure-cli/extensions-manual.nix +++ b/pkgs/by-name/az/azure-cli/extensions-manual.nix @@ -83,9 +83,9 @@ containerapp = mkAzExtension rec { pname = "containerapp"; - version = "1.1.0b5"; + version = "1.2.0b1"; url = "https://azcliprod.blob.core.windows.net/cli-extensions/containerapp-${version}-py2.py3-none-any.whl"; - hash = "sha256-gC75NiDDRw4DVIDGiyfdCcFSAzdUgVNjyTfrgGgRd90="; + hash = "sha256-tayDzAbvPjCRjJMdV6BOSd9Sgcj8bnEuZI9khKGCyrM="; description = "Microsoft Azure Command-Line Tools Containerapp Extension"; propagatedBuildInputs = with python3Packages; [ docker diff --git a/pkgs/by-name/ba/backblaze-b2/package.nix b/pkgs/by-name/ba/backblaze-b2/package.nix index d99becd2a904..3fcd7ddcc9f3 100644 --- a/pkgs/by-name/ba/backblaze-b2/package.nix +++ b/pkgs/by-name/ba/backblaze-b2/package.nix @@ -11,14 +11,14 @@ python3Packages.buildPythonApplication rec { pname = "backblaze-b2"; - version = "4.3.2"; + version = "4.3.3"; pyproject = true; src = fetchFromGitHub { owner = "Backblaze"; repo = "B2_Command_Line_Tool"; tag = "v${version}"; - hash = "sha256-I6baipQDQft5bi352W9YXFAVuVqIkEqEfmD9iP2LBqs="; + hash = "sha256-EMdExF+5BJDIozAwJ/tqnq5X20uGvteDHTKsgvPEnK0="; }; nativeBuildInputs = with python3Packages; [ diff --git a/pkgs/by-name/ba/bacon/package.nix b/pkgs/by-name/ba/bacon/package.nix index e506896871e7..c24dd3b81c86 100644 --- a/pkgs/by-name/ba/bacon/package.nix +++ b/pkgs/by-name/ba/bacon/package.nix @@ -27,17 +27,17 @@ in rustPlatform.buildRustPackage (finalAttrs: { pname = "bacon"; - version = "3.15.0"; + version = "3.16.0"; src = fetchFromGitHub { owner = "Canop"; repo = "bacon"; tag = "v${finalAttrs.version}"; - hash = "sha256-8f+EphnooB/9KY9M+mi8xBUX/cH7EvoyHlD/4RjgeaA="; + hash = "sha256-+gcH527HaYQsyCqULWhEgz8DNwK8vIWJjVSZhcGme74="; }; useFetchCargoVendor = true; - cargoHash = "sha256-48QDMJrxm+9psSeCRG7rsNPwxv+FKLrkLMvIvwsV3GQ="; + cargoHash = "sha256-kr6c5n9A6Cjv3CPdIS9XkelauK/uBsTDt5iowWmAZn4="; buildFeatures = lib.optionals withSound [ "sound" diff --git a/pkgs/by-name/ba/bagr/package.nix b/pkgs/by-name/ba/bagr/package.nix new file mode 100644 index 000000000000..68eb4aede9e0 --- /dev/null +++ b/pkgs/by-name/ba/bagr/package.nix @@ -0,0 +1,37 @@ +{ + lib, + fetchFromGitHub, + rustPlatform, + versionCheckHook, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "bagr"; + version = "0.3.0"; + + src = fetchFromGitHub { + owner = "pwinckles"; + repo = "bagr"; + tag = "v${finalAttrs.version}"; + hash = "sha256-tvo9/ywPhYgqj4i+o6lYOmrVnLcyciM7HPdT2dKerO8="; + }; + + cargoHash = "sha256-r4tgDPyLxTjq/sxNLvlX/2MePUfOwNgranQSSbgDtu0="; + + nativeInstallCheckInputs = [ + versionCheckHook + ]; + doInstallCheck = true; + versionCheckProgramArg = "--version"; + + meta = { + description = "Command line utility for interacting with BagIt bags (RFC 8493)"; + homepage = "https://github.com/pwinckles/bagr"; + license = lib.licenses.asl20; + mainProgram = "bagr"; + maintainers = with lib.maintainers; [ + jezcope + ]; + platforms = with lib.platforms; unix ++ windows; + }; +}) diff --git a/pkgs/by-name/ba/balena-cli/package.nix b/pkgs/by-name/ba/balena-cli/package.nix index 65305271b53c..fca565659a73 100644 --- a/pkgs/by-name/ba/balena-cli/package.nix +++ b/pkgs/by-name/ba/balena-cli/package.nix @@ -22,16 +22,16 @@ let in buildNpmPackage' rec { pname = "balena-cli"; - version = "22.0.5"; + version = "22.1.0"; src = fetchFromGitHub { owner = "balena-io"; repo = "balena-cli"; rev = "v${version}"; - hash = "sha256-CJZY7mcWKYzB3+ifsm8/g+XcKPaIc7ca2Za7Qb/GbBE="; + hash = "sha256-qL+hC3ydKJSzceJVbaLy+a2jpXMLsgGC++PEreZDF0k="; }; - npmDepsHash = "sha256-x9pQqX/nLL4rykA6jgL4f0tHKWEJmR2QUeg3Lfy78D0="; + npmDepsHash = "sha256-bLYKMWiXwvpMhnTHa0RPhzEpvtTFcWnqX8zXDNCY4uk="; postPatch = '' ln -s npm-shrinkwrap.json package-lock.json diff --git a/pkgs/by-name/ba/bambu-studio/package.nix b/pkgs/by-name/ba/bambu-studio/package.nix index 5c499dcd4e43..359ba7c9dc8c 100644 --- a/pkgs/by-name/ba/bambu-studio/package.nix +++ b/pkgs/by-name/ba/bambu-studio/package.nix @@ -34,7 +34,7 @@ opencv, pcre, systemd, - tbb_2021_11, + tbb_2021, webkitgtk_4_0, wxGTK31, xorg, @@ -102,7 +102,7 @@ stdenv.mkDerivation rec { opencascade-occt_7_6 openvdb pcre - tbb_2021_11 + tbb_2021 webkitgtk_4_0 wxGTK' xorg.libX11 diff --git a/pkgs/by-name/ba/basalt-monado/package.nix b/pkgs/by-name/ba/basalt-monado/package.nix index c7dedf44679d..c0dc8992b955 100644 --- a/pkgs/by-name/ba/basalt-monado/package.nix +++ b/pkgs/by-name/ba/basalt-monado/package.nix @@ -1,4 +1,5 @@ { + config, autoPatchelfHook, boost, bzip2, @@ -21,6 +22,8 @@ stdenv, tbb, xorg, + cudaPackages, + enableCuda ? config.cudaSupport, }: stdenv.mkDerivation { pname = "basalt-monado"; @@ -63,6 +66,7 @@ stdenv.mkDerivation { (lib.cmakeBool "BASALT_INSTANTIATIONS_DOUBLE" false) (lib.cmakeBool "BUILD_TESTS" false) (lib.cmakeFeature "EIGEN_ROOT" "${eigen}/include/eigen3") + (lib.optionals enableCuda "-DCUDA_TOOLKIT_ROOT_DIR=${cudaPackages.cudatoolkit}") ]; passthru.updateScript = nix-update-script { }; diff --git a/pkgs/by-name/ba/base16-schemes/package.nix b/pkgs/by-name/ba/base16-schemes/package.nix index 5534fc67a7e5..6edb3a44086d 100644 --- a/pkgs/by-name/ba/base16-schemes/package.nix +++ b/pkgs/by-name/ba/base16-schemes/package.nix @@ -2,17 +2,16 @@ lib, stdenv, fetchFromGitHub, - ... }: stdenv.mkDerivation (finalAttrs: { pname = "base16-schemes"; - version = "unstable-2025-04-18"; + version = "0-unstable-2025-06-04"; src = fetchFromGitHub { owner = "tinted-theming"; repo = "schemes"; - rev = "28c26a621123ad4ebd5bbfb34ab39421c0144bdd"; - hash = "sha256-Fg+rdGs5FAgfkYNCs74lnl8vkQmiZVdBsziyPhVqrlY="; + rev = "de3eeb6add0a6051bfc717684e36c8c9a78a1812"; + hash = "sha256-C8VZuwzaQfNYbQQcc0Fh4RS+1nqc6j+IOy80NGmV4IQ="; }; installPhase = '' @@ -24,10 +23,10 @@ stdenv.mkDerivation (finalAttrs: { runHook postInstall ''; - meta = with lib; { + meta = { description = "All the color schemes for use in base16 packages"; - homepage = finalAttrs.src.meta.homepage; - maintainers = [ maintainers.DamienCassou ]; - license = licenses.mit; + homepage = "https://github.com/tinted-theming/schemes"; + maintainers = [ lib.maintainers.DamienCassou ]; + license = lib.licenses.mit; }; }) diff --git a/pkgs/by-name/ba/basedpyright/package.nix b/pkgs/by-name/ba/basedpyright/package.nix index f65ebd810d35..c7e38b127353 100644 --- a/pkgs/by-name/ba/basedpyright/package.nix +++ b/pkgs/by-name/ba/basedpyright/package.nix @@ -16,16 +16,16 @@ buildNpmPackage rec { pname = "basedpyright"; - version = "1.29.2"; + version = "1.29.4"; src = fetchFromGitHub { owner = "detachhead"; repo = "basedpyright"; tag = "v${version}"; - hash = "sha256-xzbIAzZS6kCrFDcbh7uFWV8Rbs91yx25RVKeGMSM5Dc="; + hash = "sha256-LT0ZixIxUXqNyK08ue+fbDAk/g+ibJVWQbi/LLrdLuM="; }; - npmDepsHash = "sha256-s2Bavzd1IGuI7HfdKLAsFWHmr1RxBZO/21KXt060jbI="; + npmDepsHash = "sha256-aJte4ApeXJQ9EYn87Uo+Xx7s+wi80I1JsZHeqklHGs4="; npmWorkspace = "packages/pyright"; preBuild = '' diff --git a/pkgs/by-name/ba/baserow/package.nix b/pkgs/by-name/ba/baserow/package.nix index 29e34a5505e8..b78cd6679862 100644 --- a/pkgs/by-name/ba/baserow/package.nix +++ b/pkgs/by-name/ba/baserow/package.nix @@ -22,7 +22,7 @@ let src = fetchFromGitLab { owner = "bramw"; - repo = pname; + repo = "baserow_premium"; rev = "refs/tags/${version}"; hash = "sha256-zT2afl3QNE2dO3JXjsZXqSmm1lv3EorG3mYZLQQMQ2Q="; }; @@ -45,7 +45,7 @@ buildPythonApplication rec { src = fetchFromGitLab { owner = "bramw"; - repo = pname; + repo = "baserow"; rev = "refs/tags/${version}"; hash = "sha256-zT2afl3QNE2dO3JXjsZXqSmm1lv3EorG3mYZLQQMQ2Q="; }; diff --git a/pkgs/by-name/ba/bash-language-server/package.nix b/pkgs/by-name/ba/bash-language-server/package.nix index d1b787529e21..49e85c9f6661 100644 --- a/pkgs/by-name/ba/bash-language-server/package.nix +++ b/pkgs/by-name/ba/bash-language-server/package.nix @@ -1,39 +1,39 @@ { lib, - stdenv, + stdenvNoCC, fetchFromGitHub, - pnpm_8, + pnpm_10, nodejs, makeBinaryWrapper, shellcheck, versionCheckHook, }: -stdenv.mkDerivation (finalAttrs: { +stdenvNoCC.mkDerivation (finalAttrs: { pname = "bash-language-server"; - version = "5.4.0"; + version = "5.6.0"; src = fetchFromGitHub { owner = "bash-lsp"; repo = "bash-language-server"; - rev = "server-${finalAttrs.version}"; - hash = "sha256-yJ81oGd9aNsWQMLvDSgMVVH1//Mw/SVFYFIPsJTQYzE="; + tag = "server-${finalAttrs.version}"; + hash = "sha256-Pe32lQSlyWcyUbqwhfoulwNwhrnWdRcKFIl3Jj0Skac="; }; pnpmWorkspaces = [ "bash-language-server" ]; - pnpmDeps = pnpm_8.fetchDeps { + pnpmDeps = pnpm_10.fetchDeps { inherit (finalAttrs) pname version src pnpmWorkspaces ; - hash = "sha256-W25xehcxncBs9QgQBt17F5YHK0b+GDEmt27XzTkyYWg="; + hash = "sha256-NvyqPv5OKgZi3hW98Da8LhsYatmrzrPX8kLOfLr+BrI="; }; nativeBuildInputs = [ nodejs - pnpm_8.configHook + pnpm_10.configHook makeBinaryWrapper versionCheckHook ]; @@ -45,31 +45,46 @@ stdenv.mkDerivation (finalAttrs: { runHook postBuild ''; + preInstall = '' + # remove unnecessary files + rm node_modules/.modules.yaml + pnpm --ignore-scripts --prod prune + rm -r node_modules/.pnpm/@mixmark-io*/node_modules/@mixmark-io/domino/{test,.yarn} + find -type f \( -name "*.ts" -o -name "*.map" \) -exec rm -rf {} + + # https://github.com/pnpm/pnpm/issues/3645 + find node_modules server/node_modules -xtype l -delete + + # remove non-deterministic files + rm node_modules/{.modules.yaml,.pnpm-workspace-state.json} + ''; + installPhase = '' runHook preInstall - pnpm --offline \ - --frozen-lockfile --ignore-script \ - --filter=bash-language-server \ - deploy --prod $out/lib/bash-language-server + mkdir -p $out/{bin,lib/bash-language-server} + cp -r {node_modules,server} $out/lib/bash-language-server/ # Create the executable, based upon what happens in npmHooks.npmInstallHook makeWrapper ${lib.getExe nodejs} $out/bin/bash-language-server \ --suffix PATH : ${lib.makeBinPath [ shellcheck ]} \ --inherit-argv0 \ - --add-flags $out/lib/bash-language-server/out/cli.js + --add-flags $out/lib/bash-language-server/server/out/cli.js runHook postInstall ''; doInstallCheck = true; - meta = with lib; { + meta = { description = "Language server for Bash"; homepage = "https://github.com/bash-lsp/bash-language-server"; - license = licenses.mit; - maintainers = with maintainers; [ doronbehar ]; + changelog = "https://github.com/bash-lsp/bash-language-server/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ + doronbehar + gepbird + ]; mainProgram = "bash-language-server"; - platforms = platforms.all; + platforms = lib.platforms.all; }; }) diff --git a/pkgs/by-name/ba/bash-pinyin-completion-rs/package.nix b/pkgs/by-name/ba/bash-pinyin-completion-rs/package.nix new file mode 100644 index 000000000000..a664f9ead1ae --- /dev/null +++ b/pkgs/by-name/ba/bash-pinyin-completion-rs/package.nix @@ -0,0 +1,40 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + nix-update-script, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "bash-pinyin-completion-rs"; + version = "0.2.3"; + + src = fetchFromGitHub { + owner = "AOSC-Dev"; + repo = "bash-pinyin-completion-rs"; + tag = "v${finalAttrs.version}"; + hash = "sha256-h4l4plGMn5WMhU60+m60Uf45UfPNDb0X+E2LK3U3jxw="; + }; + + strictDeps = true; + + cargoHash = "sha256-SAegFsmn91xrWg0o7lHgk+vRqTQhabev9dP+Lbk/h5s="; + + postInstall = '' + substituteInPlace scripts/bash_pinyin_completion \ + --replace-fail 'bash-pinyin-completion-rs' "$out/bin/bash-pinyin-completion-rs" \ + --replace-fail '#!/usr/bin/env bash' "" + install -Dm644 scripts/bash_pinyin_completion $out/etc/bash_completion.d/pinyin_completion.bash + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Simple completion script for pinyin, written in rust"; + homepage = "https://github.com/AOSC-Dev/bash-pinyin-completion-rs"; + changelog = "https://github.com/AOSC-Dev/bash-pinyin-completion-rs/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ moraxyc ]; + mainProgram = "bash-pinyin-completion-rs"; + }; +}) diff --git a/pkgs/by-name/bc/bc/package.nix b/pkgs/by-name/bc/bc/package.nix index b58d9f7e0ebb..f020c93621be 100644 --- a/pkgs/by-name/bc/bc/package.nix +++ b/pkgs/by-name/bc/bc/package.nix @@ -5,6 +5,7 @@ buildPackages, fetchurl, flex, + lzip, readline, ed, texinfo, @@ -12,10 +13,10 @@ stdenv.mkDerivation rec { pname = "bc"; - version = "1.08.1"; + version = "1.08.2"; src = fetchurl { - url = "mirror://gnu/bc/bc-${version}.tar.xz"; - hash = "sha256-UVQwEVszNMY2MXUDRgoJUN/3mUCqMlnOLBqmfCiB0CM="; + url = "mirror://gnu/bc/bc-${version}.tar.lz"; + hash = "sha256-eeMeAiqEsx3YCYFQY9S46lkLQJY3pSxQ7J9Cwr8zJxE="; }; configureFlags = [ "--with-readline" ]; @@ -28,6 +29,7 @@ stdenv.mkDerivation rec { autoreconfHook ed flex + lzip texinfo # Libraries for build buildPackages.readline diff --git a/pkgs/by-name/bd/bdftopcf/package.nix b/pkgs/by-name/bd/bdftopcf/package.nix new file mode 100644 index 000000000000..0798ca5e6e7e --- /dev/null +++ b/pkgs/by-name/bd/bdftopcf/package.nix @@ -0,0 +1,42 @@ +{ + lib, + stdenv, + fetchurl, + pkg-config, + xorgproto, + writeScript, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "bdftopcf"; + version = "1.1.2"; + + src = fetchurl { + url = "mirror://xorg/individual/util/bdftopcf-${finalAttrs.version}.tar.xz"; + hash = "sha256-vGC+WQQzD6qj3dKu14dL7i8p5Dh8JF1nh1UvBn6wUjo="; + }; + + strictDeps = true; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ xorgproto ]; + + passthru = { + updateScript = writeScript "update-${finalAttrs.pname}" '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p common-updater-scripts + version="$(list-directory-versions --pname ${finalAttrs.pname} \ + --url https://xorg.freedesktop.org/releases/individual/util/ \ + | sort -V | tail -n1)" + update-source-version ${finalAttrs.pname} "$version" + ''; + }; + + meta = { + description = "Converts X font from Bitmap Distribution Format to Portable Compiled Format"; + homepage = "https://gitlab.freedesktop.org/xorg/util/bdftopcf"; + license = lib.licenses.mitOpenGroup; + mainProgram = "bdftopcf"; + maintainers = [ ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/by-name/be/beekeeper-studio/package.nix b/pkgs/by-name/be/beekeeper-studio/package.nix index 384b206eb58f..95a33196f64b 100644 --- a/pkgs/by-name/be/beekeeper-studio/package.nix +++ b/pkgs/by-name/be/beekeeper-studio/package.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "beekeeper-studio"; - version = "5.2.9"; + version = "5.2.12"; src = let @@ -44,8 +44,8 @@ stdenv.mkDerivation (finalAttrs: { fetchurl { url = "https://github.com/beekeeper-studio/beekeeper-studio/releases/download/v${finalAttrs.version}/beekeeper-studio_${finalAttrs.version}_${arch}.deb"; hash = selectSystem { - x86_64-linux = "sha256-iooZSiIkHfd3jSk+Pk0E7s/g51UzbyqyP8qnfes3mts="; - aarch64-linux = "sha256-zLkEMOJhckIM0qPCKBNUgFwYiF1YjJU4wKmiLJ1pzNg="; + x86_64-linux = "sha256-hpzvu4SyVLXhQ5wbh5hyx+8tM19SxkKZvlMVhzhDCW4="; + aarch64-linux = "sha256-s567NOTzTItfOdsABIzYoF8iYSpwDsDzbnLZhUSfT8o="; }; }; diff --git a/pkgs/by-name/be/benthos/package.nix b/pkgs/by-name/be/benthos/package.nix index d68e21988b29..3f7de08e3406 100644 --- a/pkgs/by-name/be/benthos/package.nix +++ b/pkgs/by-name/be/benthos/package.nix @@ -7,13 +7,13 @@ buildGoModule rec { pname = "benthos"; - version = "4.51.0"; + version = "4.52.0"; src = fetchFromGitHub { owner = "redpanda-data"; repo = "benthos"; tag = "v${version}"; - hash = "sha256-GOI878JBRXrJsy0MRFyW6pH4UGj6ZOOqBElLUesqZ24="; + hash = "sha256-TGGDZzjVgRADJq5u4b5RznVzIxk2EUKM3Y2rbhgv7yQ="; }; proxyVendor = true; @@ -22,7 +22,7 @@ buildGoModule rec { "cmd/benthos" ]; - vendorHash = "sha256-S3rxNRr1O8+90VTUEFBPdo3uUftqSj8lvCNAdQNs7SQ="; + vendorHash = "sha256-lNn/lqY1Q/8mRERrgPuE9GEun6tqrVQjtVUGRJk5W+0="; # doCheck = false; diff --git a/pkgs/by-name/be/bento/package.nix b/pkgs/by-name/be/bento/package.nix index badc035b76cc..7acea78088f9 100644 --- a/pkgs/by-name/be/bento/package.nix +++ b/pkgs/by-name/be/bento/package.nix @@ -8,17 +8,17 @@ buildGoModule rec { pname = "bento"; - version = "1.7.1"; + version = "1.8.1"; src = fetchFromGitHub { owner = "warpstreamlabs"; repo = "bento"; tag = "v${version}"; - hash = "sha256-pV7Fd+Ir+ZqteM0In/NiZrAyvPFS+oOnONhGVeBzA2g="; + hash = "sha256-5AXXtjQU8GGepAlXWPAA32WfnkFtNmyJDaSqfbvoips="; }; proxyVendor = true; - vendorHash = "sha256-ow/XOO8Xc72v6Ue9VHjnPuq+HlqE4YZHw+gJB4x7sKk="; + vendorHash = "sha256-N3YkY1wfxdPnwbEXDxHi/J3Oi3qiNtDMOwvSThX6cf0="; subPackages = [ "cmd/bento" diff --git a/pkgs/by-name/be/bepasty/package.nix b/pkgs/by-name/be/bepasty/package.nix index 51309a35da9b..4c7c92a84d8d 100644 --- a/pkgs/by-name/be/bepasty/package.nix +++ b/pkgs/by-name/be/bepasty/package.nix @@ -57,7 +57,7 @@ bepastyPython.pkgs.buildPythonPackage rec { build flake8 pytestCheckHook - pytest-cov + pytest-cov-stub selenium tox twine diff --git a/pkgs/by-name/be/better-commits/package.nix b/pkgs/by-name/be/better-commits/package.nix index b29e209e3d64..72219970a280 100644 --- a/pkgs/by-name/be/better-commits/package.nix +++ b/pkgs/by-name/be/better-commits/package.nix @@ -8,13 +8,13 @@ buildNpmPackage rec { pname = "better-commits"; - version = "1.16.1"; + version = "1.17.0"; src = fetchFromGitHub { owner = "Everduin94"; repo = "better-commits"; tag = "v${version}"; - hash = "sha256-70PEcktGGck7egDmaIteFEMCNpo6ZuWyIVPiOywr2tc="; + hash = "sha256-77wjS/BvJLDV+48xYE7XkC6A2GkCefWFydxOU53rXME="; }; npmDepsHash = "sha256-g34UutgT5315BpsQSuGGLIU6Ga+hpEz74HNLKKOB+ec="; diff --git a/pkgs/by-name/be/bettercap/package.nix b/pkgs/by-name/be/bettercap/package.nix index f271c9eff7f3..5350ae76ebe0 100644 --- a/pkgs/by-name/be/bettercap/package.nix +++ b/pkgs/by-name/be/bettercap/package.nix @@ -12,16 +12,16 @@ buildGoModule rec { pname = "bettercap"; - version = "2.32.0"; + version = "2.41.0"; src = fetchFromGitHub { owner = "bettercap"; repo = "bettercap"; rev = "v${version}"; - sha256 = "sha256-OND8WPqU/95rKykqMAPWmDsJ+AjsjGjrncZ2/m3mpt0="; + sha256 = "sha256-qQNsdKUiTSXkvfIguR1Rjs3A1WW4G1ernqRWTKBjIVI="; }; - vendorHash = "sha256-QKv8F9QLRi+1Bqj9KywJsTErjs7o6gFM4tJLA8y52MY="; + vendorHash = "sha256-OxcBk22TvlcnHqJ0VzuewZtWLm/DPo6Cdq7RKabOg8w="; doCheck = false; diff --git a/pkgs/by-name/bi/bibiman/package.nix b/pkgs/by-name/bi/bibiman/package.nix index 5cecc77e6938..405b26b18b10 100644 --- a/pkgs/by-name/bi/bibiman/package.nix +++ b/pkgs/by-name/bi/bibiman/package.nix @@ -8,18 +8,18 @@ rustPlatform.buildRustPackage rec { pname = "bibiman"; - version = "0.11.6"; + version = "0.12.3"; src = fetchFromGitea { domain = "codeberg.org"; owner = "lukeflo"; repo = "bibiman"; tag = "v${version}"; - hash = "sha256-nyONqQmS8MvgMrq6XIuMjc8FkP9wKQu+EVnQUcSAjEo="; + hash = "sha256-gjVfJyedZZhSavarBXmpG3jj7mb3706NPKB9oEVhol0="; }; useFetchCargoVendor = true; - cargoHash = "sha256-fdUCrf6gdZZtrL93GQMnA+4ZJ8qkjsBKJJN5u4VKE1w="; + cargoHash = "sha256-YtpnKgTIAsDXK6pl/TvU54euOdkbUcyCH4RADYWXkls="; nativeInstallCheckInputs = [ versionCheckHook diff --git a/pkgs/by-name/bi/bicep/deps.json b/pkgs/by-name/bi/bicep/deps.json index d7892e410068..38319800e8f0 100644 --- a/pkgs/by-name/bi/bicep/deps.json +++ b/pkgs/by-name/bi/bicep/deps.json @@ -11,8 +11,8 @@ }, { "pname": "Azure.Bicep.Types.Az", - "version": "0.2.756", - "hash": "sha256-fYnDKiUhKY0aWz1GFkUVGWnRJQdHaTzYaj6fP7nJkqs=" + "version": "0.2.771", + "hash": "sha256-VByaJddUXteY5SNE6EsMW6s1p8bJZuM3DdPZ9jPOBkE=" }, { "pname": "Azure.Bicep.Types.K8s", @@ -46,43 +46,33 @@ }, { "pname": "Azure.Deployments.Core", - "version": "1.224.0", - "hash": "sha256-T6z0ZTanppSVlsPMmtSiVdNJWReAg+snvM4qvMgNNNk=" - }, - { - "pname": "Azure.Deployments.Core", - "version": "1.241.0", - "hash": "sha256-f5GLoXqPz4MQa5XLKYzNCnGq/p3nWzom0o476xnSjOA=" + "version": "1.384.0", + "hash": "sha256-GkARRAP79e4QtCCVF+YU8o2Lr/tMtlJB2q3UvZJ5zvw=" }, { "pname": "Azure.Deployments.DiffEngine", - "version": "1.241.0", - "hash": "sha256-qdBEMoqHD9aWeb1hMQm/QctNTtct2Y1HKzejLP8LeEg=" + "version": "1.384.0", + "hash": "sha256-i+3LW2XtndizGWCjrLAfhmckicU6fFzSEhJeNL4+Rh4=" }, { "pname": "Azure.Deployments.Engine", - "version": "1.241.0", - "hash": "sha256-rOq/2I0ZErMfg/4Z3odusCIiIJHFQj6hoOqYlcmGOko=" + "version": "1.384.0", + "hash": "sha256-l1yKQPexJO11HMKWhFWFdWmUidJAgzhFrudxHVF+KdA=" }, { "pname": "Azure.Deployments.Expression", - "version": "1.224.0", - "hash": "sha256-P0bncRi4VntjtNQHNZL02fa2tH8aho1Y0+lxvssY5AM=" - }, - { - "pname": "Azure.Deployments.Expression", - "version": "1.241.0", - "hash": "sha256-fu3gJsqarSjj6Qp2f4SDhTLU2rYtf6ld9J7ywwPVeqY=" + "version": "1.384.0", + "hash": "sha256-FFu6uNZWXH/54EpyM2KH9cm3YYF66Lnq+w7470oTqhk=" }, { "pname": "Azure.Deployments.Extensibility", - "version": "1.241.0", - "hash": "sha256-PQyUoide4V5YZpnBzu5g2grCLr7jAgek+D5Xu9AIrag=" + "version": "1.384.0", + "hash": "sha256-lOz0lIdB7RCqQJJrpjRocgJCN/luHj0GFbIrsUN5SWU=" }, { "pname": "Azure.Deployments.Extensibility.Core", - "version": "0.1.55", - "hash": "sha256-u5Xo/TkFJSOeI+/T1fWuEeFVQVT4gM6pE09jhY6b2vU=" + "version": "0.1.67", + "hash": "sha256-BsBW4qFrdg8B639uc+JH0UoT/kned0rcDW8gh465VoY=" }, { "pname": "Azure.Deployments.Internal.GenerateNotice", @@ -91,23 +81,18 @@ }, { "pname": "Azure.Deployments.JsonPath", - "version": "1.17.0", - "hash": "sha256-o0rJ3pgwijC/7h1sajlukFQOLBD5RW0d3wbXJgVvt8Q=" + "version": "1.71.0", + "hash": "sha256-8nlhSCky9FB+dRYeJYgnwrQif0xa9bgB8eU6+JFVlcA=" }, { "pname": "Azure.Deployments.ResourceMetadata", - "version": "1.17.0", - "hash": "sha256-vpJNeQQw4XazLfAlgkSwhCWFZOjWkdOnTHxB1fOfv4k=" + "version": "1.71.0", + "hash": "sha256-eeyDl+yiAt3BEJOU+RQ6j1NXqTbz49emHrJLUWb+Tt8=" }, { "pname": "Azure.Deployments.Templates", - "version": "1.224.0", - "hash": "sha256-4O4tUhuWhEQpw3UywSbUQvvTOUNION7sZHGEZ8M1xWo=" - }, - { - "pname": "Azure.Deployments.Templates", - "version": "1.241.0", - "hash": "sha256-DWvdU3ipGUg5c5kyJXzFQ4x1l60x+qsWGZ++7XHMNcI=" + "version": "1.384.0", + "hash": "sha256-yuWJqgh0hDzQNOjMhN1Wg0MxDgvMpFaNCsvumtldrZA=" }, { "pname": "Azure.Identity", @@ -156,18 +141,18 @@ }, { "pname": "Grpc.Core.Api", - "version": "2.67.0", - "hash": "sha256-e20szw18ddOV4euAfsJEHr74HIVzdfjV5pYvGpLVmn4=" + "version": "2.70.0", + "hash": "sha256-ChN4sEBtz78sKoVMr3UY+1zsNe/Wm6I8pmaKISofVj8=" }, { "pname": "Grpc.Net.Client", - "version": "2.67.0", - "hash": "sha256-93Q3+bBl4Z4saeYq25uPFucrsdrm0fgFB+URiVRU6Ec=" + "version": "2.70.0", + "hash": "sha256-THt2IXw/iMasq7kihCwEMtFo3urygINt/IR4XPjqOKM=" }, { "pname": "Grpc.Net.Common", - "version": "2.67.0", - "hash": "sha256-czx/y3JgMmxXPL/LkqFcjXhAZRllFTW2rTnm7iLtSI4=" + "version": "2.70.0", + "hash": "sha256-6SuGfGOa9aKbEsPvBQc/HdoHMeQIP0AndjxK5PCp7WU=" }, { "pname": "Grpc.Tools", @@ -179,11 +164,6 @@ "version": "2.14.1", "hash": "sha256-EXvojddPu+9JKgOG9NSQgUTfWq1RpOYw7adxDPKDJ6o=" }, - { - "pname": "IPNetwork2", - "version": "2.6.548", - "hash": "sha256-6N61UG/WrJWNv+bO/l9BNWA17iPIMn5G4J7maw54UPg=" - }, { "pname": "IPNetwork2", "version": "2.6.598", @@ -204,20 +184,30 @@ "version": "2.0.1.2", "hash": "sha256-fnp/By8n8xKa8bhvUbO2p8rlze5AvgA+z9ZvWEpL/Ls=" }, + { + "pname": "Json.More.Net", + "version": "2.0.2", + "hash": "sha256-a05C4llKu1sOBjjV+GXQqSD1FWaj7twjkx4L95qixDQ=" + }, { "pname": "Json.More.Net", "version": "2.1.0", "hash": "sha256-AdQdfQa4nD5e1QCwiEiJOn/DGs5ogyaaTwN+14E/bho=" }, + { + "pname": "Json.More.Net", + "version": "2.1.1", + "hash": "sha256-GeSZS/bROemFLq4uq7Fj5eRupOu/rqWKR58PkbJqWBU=" + }, { "pname": "JsonDiffPatch.Net", - "version": "2.1.0", - "hash": "sha256-lyUOusPMv1ZF3EcrEFG4Fze603CVPxLwOPmTVOy/HmU=" + "version": "2.3.0", + "hash": "sha256-bnTRsBaBi8wBxMi2stp7NZ+kLYUr2+WbqWhfGIVqnb4=" }, { "pname": "JsonPatch.Net", - "version": "3.1.0", - "hash": "sha256-bvCOOiH2SruZXF+jPYlAaEkinZ040YDp9QjP3QXlCbc=" + "version": "3.1.1", + "hash": "sha256-j8MZwl96BUPBSFnsb42d/JZIccDQQ1TvgBjqwafv9SQ=" }, { "pname": "JsonPatch.Net", @@ -226,18 +216,18 @@ }, { "pname": "JsonPath.Net", - "version": "1.1.0", - "hash": "sha256-FQGPodaxHwyfRN3HhEl7N39SKsn922FiZAiDzKOYxUo=" + "version": "1.1.6", + "hash": "sha256-E9lXAJOPBZA3623ggLUKmtiG1AR/ldPtCBnH6TX6bOk=" }, { "pname": "JsonPath.Net", - "version": "2.0.1", - "hash": "sha256-4UWnu5iTzOupiGYR6X9xoDQoF2KMJ30h2sn0p5TfUu4=" + "version": "2.1.1", + "hash": "sha256-hE4fRI/w4VfsJFk5dU3/QnnNaLN2ZTmL3CDq1+W4YDI=" }, { "pname": "JsonPointer.Net", - "version": "5.0.0", - "hash": "sha256-OCeXHpJyHJSyh2vpnrY8nSuM4u3eNXtN6YXnJZyHnWc=" + "version": "5.0.2", + "hash": "sha256-S04fnxMCJm86yc1FYHSqHznhA+90NW6QI+7rxYIyhs0=" }, { "pname": "JsonPointer.Net", @@ -246,8 +236,8 @@ }, { "pname": "JsonSchema.Net", - "version": "7.0.4", - "hash": "sha256-sCaGr8m20DzNEkF3TS7Cb+wmvo3hYZPZwQ2bTqwlB5g=" + "version": "7.2.3", + "hash": "sha256-EtIc4Sq5fv7LLWj1+WtZPYE4u/0e4+mUSMfKp2vBruo=" }, { "pname": "MediatR", @@ -274,11 +264,6 @@ "version": "6.0.0", "hash": "sha256-lNL5C4W7/p8homWooO/3ZKDZQ2M0FUTDixJwqWBPVbo=" }, - { - "pname": "Microsoft.Automata.SRM", - "version": "1.2.2", - "hash": "sha256-cVVxKqguV48WRuk2HyRP5A2b4kZd3nSVY3rMe0SRSQw=" - }, { "pname": "Microsoft.Bcl.AsyncInterfaces", "version": "1.1.1", @@ -371,13 +356,13 @@ }, { "pname": "Microsoft.Extensions.Configuration.Abstractions", - "version": "9.0.1", - "hash": "sha256-r3iWP+kwKo4Aib8SGo91kKWR5WusLrbFHUAw5uKQeNA=" + "version": "9.0.2", + "hash": "sha256-icRtfbi0nDRUYDErtKYx0z6A1gWo5xdswsSM6o4ozxc=" }, { "pname": "Microsoft.Extensions.Configuration.Abstractions", - "version": "9.0.2", - "hash": "sha256-icRtfbi0nDRUYDErtKYx0z6A1gWo5xdswsSM6o4ozxc=" + "version": "9.0.4", + "hash": "sha256-5hwq73FCWAJJ8Yb1VHaaryJJhUUiVsetPTrPLlo8N9o=" }, { "pname": "Microsoft.Extensions.Configuration.Binder", @@ -391,8 +376,8 @@ }, { "pname": "Microsoft.Extensions.Configuration.Binder", - "version": "9.0.1", - "hash": "sha256-uq6i0gTobSTqaNm/0XZuv8GGjFpnvgwXnCCPWl9FP9g=" + "version": "9.0.4", + "hash": "sha256-l+qlHrdrqgvnveSMCO4qQx1QObAe5lMl80a4Kc3idzw=" }, { "pname": "Microsoft.Extensions.Configuration.FileExtensions", @@ -569,6 +554,11 @@ "version": "9.0.2", "hash": "sha256-zy/YNMaY47o6yNv2WuYiAJEjtoOF8jlWgsWHqXeSm4s=" }, + { + "pname": "Microsoft.Extensions.Primitives", + "version": "9.0.4", + "hash": "sha256-v/Ygyo1TMTUbnhdQSV2wzD4FOgAEWd1mpESo3kZ557g=" + }, { "pname": "Microsoft.Identity.Client", "version": "4.67.2", @@ -1114,11 +1104,6 @@ "version": "4.3.0", "hash": "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc=" }, - { - "pname": "System.Collections.Immutable", - "version": "1.6.0", - "hash": "sha256-gnu+8nN48GAd4GRgeB5cAQmW7VnCubL/8h7zO377fd0=" - }, { "pname": "System.Collections.Immutable", "version": "5.0.0", @@ -1494,11 +1479,6 @@ "version": "8.0.1", "hash": "sha256-Uj9k5meIDXlEm8V5MWyzaWz4YA+8OWHE5K8kMq0kTR4=" }, - { - "pname": "System.Runtime.CompilerServices.Unsafe", - "version": "4.5.2", - "hash": "sha256-8eUXXGWO2LL7uATMZye2iCpQOETn2jCcjUhG6coR5O8=" - }, { "pname": "System.Runtime.CompilerServices.Unsafe", "version": "5.0.0", diff --git a/pkgs/by-name/bi/bicep/package.nix b/pkgs/by-name/bi/bicep/package.nix index 0b87a3f4aa14..11b584851861 100644 --- a/pkgs/by-name/bi/bicep/package.nix +++ b/pkgs/by-name/bi/bicep/package.nix @@ -10,13 +10,13 @@ buildDotnetModule rec { pname = "bicep"; - version = "0.34.44"; + version = "0.36.1"; src = fetchFromGitHub { owner = "Azure"; repo = "bicep"; rev = "v${version}"; - hash = "sha256-vyPRLPTvQkwN7unlIHs6DvpjXnXyW1PDtH9hhIOgN1A="; + hash = "sha256-I7FBJhRLzRCsDS4pKJqi/IwuRCpjbJeeYY0BjQ2UiMk="; }; patches = [ diff --git a/pkgs/applications/misc/bikeshed/default.nix b/pkgs/by-name/bi/bikeshed/package.nix similarity index 68% rename from pkgs/applications/misc/bikeshed/default.nix rename to pkgs/by-name/bi/bikeshed/package.nix index 3d66432a50f7..778f7ce47655 100644 --- a/pkgs/applications/misc/bikeshed/default.nix +++ b/pkgs/by-name/bi/bikeshed/package.nix @@ -1,56 +1,24 @@ { lib, - buildPythonApplication, fetchPypi, - # build inputs - about-time, - aiofiles, - aiohttp, - aiosignal, - alive-progress, - async-timeout, - attrs, - certifi, - charset-normalizer, - cssselect, - frozenlist, - html5lib, - idna, - isodate, - json-home-client, - kdl-py, - lxml, - multidict, - pillow, - pygments, - requests, - result, - setuptools, - six, - tenacity, - typing-extensions, - uri-template, - urllib3, - webencodings, - widlparser, - yarl, + python3Packages, }: -buildPythonApplication rec { +python3Packages.buildPythonApplication rec { pname = "bikeshed"; - version = "5.1.2"; + version = "5.2.1"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-QIADVcxgJreH2pvXRVIBE5p6nEEYZtTiSo00RrpFT+E="; + hash = "sha256-EMWIHtIomiq7BvnG6x0+gJeSkouWpZzcnqys5mSM7aI="; }; - build-system = [ setuptools ]; + build-system = [ python3Packages.setuptools ]; pythonRelaxDeps = true; - dependencies = [ + dependencies = with python3Packages; [ about-time aiofiles aiohttp @@ -58,6 +26,7 @@ buildPythonApplication rec { alive-progress async-timeout attrs + cddlparser certifi charset-normalizer cssselect @@ -102,6 +71,9 @@ buildPythonApplication rec { ''; homepage = "https://tabatkins.github.io/bikeshed/"; license = licenses.cc0; - maintainers = [ ]; + maintainers = with lib.maintainers; [ + matthiasbeyer + hemera + ]; }; } diff --git a/pkgs/by-name/bi/bilibili/sources.nix b/pkgs/by-name/bi/bilibili/sources.nix index 868ae0174df0..465768a2cc08 100644 --- a/pkgs/by-name/bi/bilibili/sources.nix +++ b/pkgs/by-name/bi/bilibili/sources.nix @@ -1,6 +1,6 @@ # Generated by ./update.sh - do not update manually! { - version = "1.16.4-1"; - arm64-hash = "sha256-x+sVupWT8CrEPSTOJFW1DYuc3tuVepHXjRF7+8NdTbw="; - x86_64-hash = "sha256-zMw8NfeLNMBbJZqoZeNy9j65otJ8iWnq79PLqzlR+6I="; + version = "1.16.5-2"; + arm64-hash = "sha256-7zbiswG0Q7cRMkJI22uk7VIpA8s5XS1CRL9nDyqUfq0="; + x86_64-hash = "sha256-zTbHNrd75w0x2dYOfxyH37GlgG8HT0YExUxZQU+1M/Q="; } diff --git a/pkgs/by-name/bi/biliup-rs/package.nix b/pkgs/by-name/bi/biliup-rs/package.nix index 302e74f01a62..3ee79c3ee289 100644 --- a/pkgs/by-name/bi/biliup-rs/package.nix +++ b/pkgs/by-name/bi/biliup-rs/package.nix @@ -10,13 +10,13 @@ rustPlatform.buildRustPackage rec { pname = "biliup-rs"; - version = "0.2.2"; + version = "0.2.3"; src = fetchFromGitHub { owner = "biliup"; repo = "biliup-rs"; tag = "v${version}"; - hash = "sha256-Wpi5ONOzWL/NUUuIR4jaDcJFq7ZIYi7gkIxFIU3SLVY="; + hash = "sha256-Gr2veeFDNHisqin4MQl/RcZN51BUHwTn7zUplP+VODo="; }; nativeBuildInputs = [ @@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec { ]; useFetchCargoVendor = true; - cargoHash = "sha256-4SH7ux15Sm7NJDY79x9O7oahvbjS4kZzzY/9UsLDq0U="; + cargoHash = "sha256-7LiwKBsDAIc3zZvKFzgnIjup8lA70g7r7TtBCJ5VgL8="; passthru.updateScript = nix-update-script { }; diff --git a/pkgs/by-name/bi/biome/package.nix b/pkgs/by-name/bi/biome/package.nix index b5eaa405d1c5..82232fc576a7 100644 --- a/pkgs/by-name/bi/biome/package.nix +++ b/pkgs/by-name/bi/biome/package.nix @@ -8,19 +8,19 @@ zlib, gitMinimal, }: -rustPlatform.buildRustPackage rec { +rustPlatform.buildRustPackage (finalAttrs: { pname = "biome"; - version = "1.9.4"; + version = "2.0.0"; src = fetchFromGitHub { owner = "biomejs"; repo = "biome"; - rev = "cli/v${version}"; - hash = "sha256-oK1tCPoTeUHvVdi+ym4J5xEj2NIi2zHQpNU1KUchQfY="; + rev = "@biomejs/biome@${finalAttrs.version}"; + hash = "sha256-2oHEaHKTyD+j34Or/Obb0pPGpEXEgSq6wowyYVV6DqI="; }; useFetchCargoVendor = true; - cargoHash = "sha256-lo4IAStdv1CW/cQYzRDLzDwsDqCwoo5xKen2Rti9kPU="; + cargoHash = "sha256-jh7LlX7Ip2oy5NcXHfFkGeyJVGeu4Y0HqN690bok+/E="; nativeBuildInputs = [ pkg-config ]; @@ -33,18 +33,21 @@ rustPlatform.buildRustPackage rec { nativeCheckInputs = [ gitMinimal ]; cargoBuildFlags = [ "-p=biome_cli" ]; - cargoTestFlags = cargoBuildFlags ++ [ + cargoTestFlags = finalAttrs.cargoBuildFlags ++ [ + # fails due to cargo insta "-- --skip=commands::check::print_json" "--skip=commands::check::print_json_pretty" "--skip=commands::explain::explain_logs" "--skip=commands::format::print_json" "--skip=commands::format::print_json_pretty" "--skip=commands::format::should_format_files_in_folders_ignored_by_linter" + "--skip=cases::migrate_v2::should_successfully_migrate_sentry" ]; env = { - BIOME_VERSION = version; + BIOME_VERSION = finalAttrs.version; LIBGIT2_NO_VENDOR = 1; + INSTA_UPDATE = "no"; }; preCheck = '' @@ -58,7 +61,7 @@ rustPlatform.buildRustPackage rec { meta = { description = "Toolchain of the web"; homepage = "https://biomejs.dev/"; - changelog = "https://github.com/biomejs/biome/blob/${src.rev}/CHANGELOG.md"; + changelog = "https://github.com/biomejs/biome/blob/${finalAttrs.src.rev}/CHANGELOG.md"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ figsoda @@ -66,4 +69,4 @@ rustPlatform.buildRustPackage rec { ]; mainProgram = "biome"; }; -} +}) diff --git a/pkgs/by-name/bi/biplanes-revival/package.nix b/pkgs/by-name/bi/biplanes-revival/package.nix new file mode 100644 index 000000000000..a666de6ec8b3 --- /dev/null +++ b/pkgs/by-name/bi/biplanes-revival/package.nix @@ -0,0 +1,74 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + makeWrapper, + ninja, + SDL2, + SDL2_image, + SDL2_mixer, + nix-update-script, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "biplanes-revival"; + version = "1.2.1"; + + src = fetchFromGitHub { + owner = "regular-dev"; + repo = "biplanes-revival"; + tag = "v${finalAttrs.version}"; + hash = "sha256-rdPcI4j84fVKNwv2OQ9gwC0X2CHlObYfSYkCMlcm4sM="; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ + cmake + makeWrapper + ninja + ]; + + buildInputs = [ + SDL2 + SDL2_image + SDL2_mixer + ]; + + strictDeps = true; + + postInstall = '' + id="org.regular_dev.biplanes_revival" + install -Dm644 $src/flatpak-data/$id.desktop -t $out/share/applications + install -Dm644 $src/flatpak-data/$id.metainfo.xml -t $out/share/metainfo + install -Dm644 $src/flatpak-data/$id.svg -t $out/share/icons/hicolor/scalable/apps + + # Move assets directory into the preferred location. + mkdir -p $out/share/biplanes-revival + mv $out/bin/assets $out/share/biplanes-revival + + # Remove TimeUtils headers. + rm -rf $out/include + ''; + + postFixup = '' + # Set assets root, the default is the current working directory. + # The game automatically appends "/assets" to the variable. + wrapProgram $out/bin/BiplanesRevival \ + --set BIPLANES_ASSETS_ROOT "$out/share/biplanes-revival"; + ''; + + env.NIX_CFLAGS_COMPILE = "-I ../deps/TimeUtils/include"; + + passthru.updateScript = nix-update-script { }; + + meta = { + mainProgram = "BiplanesRevival"; + description = "Old cellphone arcade recreated for PC"; + homepage = "https://regular-dev.org/biplanes-revival"; + changelog = "https://github.com/regular-dev/biplanes-revival/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.gpl3Only; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ federicoschonborn ]; + }; +}) diff --git a/pkgs/by-name/bi/bird2/package.nix b/pkgs/by-name/bi/bird2/package.nix index eb908401a6a7..f38674666305 100644 --- a/pkgs/by-name/bi/bird2/package.nix +++ b/pkgs/by-name/bi/bird2/package.nix @@ -44,7 +44,7 @@ stdenv.mkDerivation rec { "--runstatedir=/run/bird" ]; - passthru.tests = nixosTests.bird; + passthru.tests = nixosTests.bird2; meta = { changelog = "https://gitlab.nic.cz/labs/bird/-/blob/v${version}/NEWS"; diff --git a/pkgs/by-name/bi/bird3/package.nix b/pkgs/by-name/bi/bird3/package.nix index 39b44aa73bbe..b0ef754298f1 100644 --- a/pkgs/by-name/bi/bird3/package.nix +++ b/pkgs/by-name/bi/bird3/package.nix @@ -43,7 +43,7 @@ stdenv.mkDerivation rec { "--runstatedir=/run/bird" ]; - passthru.tests = nixosTests.bird; + passthru.tests = nixosTests.bird3; meta = { changelog = "https://gitlab.nic.cz/labs/bird/-/blob/v${version}/NEWS"; diff --git a/pkgs/by-name/bi/bitwarden-desktop/package.nix b/pkgs/by-name/bi/bitwarden-desktop/package.nix index b2f9ab146577..0bfb9cc7c1c5 100644 --- a/pkgs/by-name/bi/bitwarden-desktop/package.nix +++ b/pkgs/by-name/bi/bitwarden-desktop/package.nix @@ -34,13 +34,13 @@ let in buildNpmPackage' rec { pname = "bitwarden-desktop"; - version = "2025.5.0"; + version = "2025.5.1"; src = fetchFromGitHub { owner = "bitwarden"; repo = "clients"; rev = "desktop-v${version}"; - hash = "sha256-8jVKwqKhTfhur226SER4sb1i4dY+TjJRYmOY8YtO6CY="; + hash = "sha256-1gxd73E7Y7e1A6yU+J3XYQ4QzXZTxuKd+AE+t8HD478="; }; patches = [ diff --git a/pkgs/by-name/bi/biz-ud-gothic/package.nix b/pkgs/by-name/bi/biz-ud-gothic/package.nix new file mode 100644 index 000000000000..17db66a647e5 --- /dev/null +++ b/pkgs/by-name/bi/biz-ud-gothic/package.nix @@ -0,0 +1,41 @@ +{ + lib, + stdenvNoCC, + fetchzip, + nix-update-script, +}: + +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "biz-ud-gothic"; + version = "1.051"; + + src = fetchzip { + # Sticking with this assets file due to ongoing discussions. + # We may switch to a different asset once the issue is resolved or clarifications are provided. + # ref: https://github.com/googlefonts/morisawa-biz-ud-gothic/issues/47 + url = "https://github.com/googlefonts/morisawa-biz-ud-gothic/releases/download/v${finalAttrs.version}/morisawa-biz-ud-gothic-fonts.zip"; + hash = "sha256-7PlIrQX1fnFHXm7mjfoOCVp3GSnLT2GlVZdSoZbh/s4="; + }; + + installPhase = '' + runHook preInstall + + install -Dm444 fonts/ttf/*.ttf -t "$out/share/fonts/truetype/" + + runHook postInstall + ''; + + passthru = { + updateScript = nix-update-script { }; + }; + + meta = { + description = "Universal Design Japanese font"; + homepage = "https://github.com/googlefonts/morisawa-biz-ud-gothic"; + license = lib.licenses.ofl; + maintainers = with lib.maintainers; [ + kachick + ]; + platforms = lib.platforms.all; + }; +}) diff --git a/pkgs/by-name/bl/blackfire/package.nix b/pkgs/by-name/bl/blackfire/package.nix index 23939d600be2..658a5ed168e1 100644 --- a/pkgs/by-name/bl/blackfire/package.nix +++ b/pkgs/by-name/bl/blackfire/package.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { pname = "blackfire"; - version = "2.28.24"; + version = "2.28.26"; src = passthru.sources.${stdenv.hostPlatform.system} @@ -60,23 +60,23 @@ stdenv.mkDerivation rec { sources = { "x86_64-linux" = fetchurl { url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire/blackfire_${version}_amd64.deb"; - sha256 = "RtdRYLgTSNrYVuo8Wa1qR15dcgVS3MJtYGI6U4ZWUKs="; + sha256 = "KJ6ksAeOmWQYsqkDcxvWTrzxn7t0PWV1/0aiTloA1EE="; }; "i686-linux" = fetchurl { url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire/blackfire_${version}_i386.deb"; - sha256 = "UE/DpHG6G6Gh8n9MVht5w2IoyND6UFr/hpUg90d1zVE="; + sha256 = "8e7ePyGN6g+kdFWRabZyNNWZnKjPLG8zEDAt+ojBbk4="; }; "aarch64-linux" = fetchurl { url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire/blackfire_${version}_arm64.deb"; - sha256 = "j95Fj4XQNNHs64Y4ysl+6U+2hokzuoCPPQjy7lplivo="; + sha256 = "WKc1oN8HMBpe0cq0AegwFVY1w2jB4asJKU67d3cmp0g="; }; "aarch64-darwin" = fetchurl { url = "https://packages.blackfire.io/blackfire/${version}/blackfire-darwin_arm64.pkg.tar.gz"; - sha256 = "w18VkuMmvU0Ci9HJETMfV5aYG6JVwr4vIv7DqSH+Bzg="; + sha256 = "gygNCoVYit9W+mrQCG2hLM6hvtf/XAmKjFg9MU7YhyU="; }; "x86_64-darwin" = fetchurl { url = "https://packages.blackfire.io/blackfire/${version}/blackfire-darwin_amd64.pkg.tar.gz"; - sha256 = "sPA2/ogU8cXtU9RZvtmGIelY167qqKk3T/wbMrmwvTA="; + sha256 = "HWJMG/sVKWg57iEutWbLGMGW0CgbcvPR6DqTQBs8CLQ="; }; }; diff --git a/pkgs/by-name/bl/blackfire/php-probe.nix b/pkgs/by-name/bl/blackfire/php-probe.nix index d319d6574404..4fcdad5cb2ad 100644 --- a/pkgs/by-name/bl/blackfire/php-probe.nix +++ b/pkgs/by-name/bl/blackfire/php-probe.nix @@ -16,50 +16,50 @@ let phpMajor = lib.versions.majorMinor php.version; inherit (stdenv.hostPlatform) system; - version = "1.92.37"; + version = "1.92.38"; hashes = { "x86_64-linux" = { system = "amd64"; hash = { - "8.1" = "sha256-NuWxVeVueKz64jDIE1KPzLEco+MoUyuc/9/hsTaRrAI="; - "8.2" = "sha256-NJlrEwSY55INO7q5GAvPojnLdkAYJ4eCIjxFH55Pdmg="; - "8.3" = "sha256-KGpNPp2bOAmY/GUPnUxTJ4z6X8AdvZAG6YC3pLTjbGI="; - "8.4" = "sha256-3HrbezGcdVMtdPrfRpLEhY/1AXlGUIMraeie7LEmiC8="; + "8.1" = "sha256-W8VlvHa6vmNbDX5r5FG8pB0vpXRn5hPu61td9aARecA="; + "8.2" = "sha256-f3AKwh9mUCoFDaXM+EwTORk0/TFyArtEa+sv7cMZmDs="; + "8.3" = "sha256-6zigke1VY439IIxrQg5Dxcggn+7Q0BE/spPycvxdyik="; + "8.4" = "sha256-n89OCTUGsWhpc61P9WvKyjdJ52wJHoj6NEb2mcs0whA="; }; }; "i686-linux" = { system = "i386"; hash = { - "8.1" = "sha256-Z9D6yoDSTdvzAQw+LhCk37J+LPMLEthUzbB1YQdr7AY="; - "8.2" = "sha256-ES2Y2RewFSP0R5wuYF2sm7NAVlCRvRPSpfPt7X2uYqs="; - "8.3" = "sha256-jqcS97JcHU/LzdU08MwNXDepH7OzIa4Fo7s3hg+x6hA="; - "8.4" = "sha256-xel7bbb4S16YddLuw0sDINbKQ0zoJeeRSI4g+tpqYz0="; + "8.1" = "sha256-31lJOGL9i8kL22zH8zzYZtxB94ssJiw+qXQRmQilR+c="; + "8.2" = "sha256-f+D7DZvLQk6ebLfJ43qFSqWzU6YQoP/7nVGajLRll5g="; + "8.3" = "sha256-56/+604Vymb+otL7oria3d/w4b1o8Pt199aXK4nfJC4="; + "8.4" = "sha256-K26Dy0S9w0uWTX7GkIjh0jUtaa768B+ls9gq8LXNZUA="; }; }; "aarch64-linux" = { system = "arm64"; hash = { - "8.1" = "sha256-l3mz8n1PjBUTcLN4Kyjg573Ip20dFV85yNT2krYq6Z0="; - "8.2" = "sha256-EyxrVMitvupQzAwhFDwMO56PUhyLb35aqWgJeH+211E="; - "8.3" = "sha256-T6UkTtQl1Ce95tA4/J9mSk/pBWAZJJz0pHb3xMIGYvc="; - "8.4" = "sha256-udvqUMbbVcFOocu1F0rSgi0+bg5VPq2Qw2LrRqNRQHw="; + "8.1" = "sha256-aSjOxMZdP+Lrd4FaXgkbHykmKBn9WuzGumrYpJEKpS8="; + "8.2" = "sha256-ckhHA/EYeRlhSrc5nMUl6jS0iAaW1q1sZAYYxjcGOwQ="; + "8.3" = "sha256-p3P94uPTbekbxgICuC72NEA5XFpYng2MZI+9L+0R/Ew="; + "8.4" = "sha256-KCMRNpS2A5Tb5Td8fpBusu70FNIOfJ+6pYRUgw/5kDg="; }; }; "aarch64-darwin" = { system = "arm64"; hash = { - "8.1" = "sha256-PoXihk7e+xT6fat48dnD/3lZqQKpgBHs4Eao08J4dMs="; - "8.2" = "sha256-lLham3VjXvszjOU8NvxZsjz5vfEK58QG1tE4X06luzQ="; - "8.3" = "sha256-rAsJ71P+yM939JqhhwDbxfL0EwB4q7SNqvSdN0n6ES0="; + "8.1" = "sha256-5JPn9lNsh6NJemCRmrBrTIvhEUQfjmIGbASaoiKoZDo="; + "8.2" = "sha256-e9tsXi3SML9HZ81XD5LhGcm7L8Ag9fOvyTo0Gy42YRw="; + "8.3" = "sha256-RCmYyrcSi7hfkbGOSp8ywFkm1IFGy0bgu8tmdrTID6c="; }; }; "x86_64-darwin" = { system = "amd64"; hash = { - "8.1" = "sha256-6RoANqMjuyaLcMzg5R0unhTwOSbsQhEXCkjQ2kjnnCg="; - "8.2" = "sha256-PjvLjRsnhHgXOEj7J7ekWM0fFuaOuiYJhXbINClaFtU="; - "8.3" = "sha256-NoY788iBgeVMrQp3tm6vbAnwBZB7yMjCVmH7jr32HWU="; + "8.1" = "sha256-SuD9iDjxMBt2GZtDXPIjCCl1mEt9K2GciuC7S9ppNZQ="; + "8.2" = "sha256-om1L/VQiwdV4D2awuz98ko7Oz9h1GYRtqYZrQRZpy7E="; + "8.3" = "sha256-H1xkneOLk7DCPqtbknLlQX2iKe/U6/ilmToOOtiRabs="; }; }; }; diff --git a/pkgs/by-name/bl/blackshades/package.nix b/pkgs/by-name/bl/blackshades/package.nix index ec2bdfe33d4e..137c4c902555 100644 --- a/pkgs/by-name/bl/blackshades/package.nix +++ b/pkgs/by-name/bl/blackshades/package.nix @@ -25,25 +25,14 @@ stdenv.mkDerivation (finalAttrs: { postUnpack = '' ln -s ${ - runCommand "${finalAttrs.finalPackage.name}-zig-deps" - { - inherit (finalAttrs) src; - - nativeBuildInputs = [ zig_0_14 ]; - - outputHashAlgo = null; - outputHashMode = "recursive"; - outputHash = "sha256-wBIfLeaKtTow2Z7gjEgIFmqcTGWgpRWI+k0t294BslM="; - } - '' - export ZIG_GLOBAL_CACHE_DIR=$(mktemp -d) - - runHook unpackPhase - cd $sourceRoot - - zig build --fetch - mv $ZIG_GLOBAL_CACHE_DIR/p $out - '' + zig_0_14.fetchDeps { + inherit (finalAttrs) + src + pname + version + ; + hash = "sha256-wBIfLeaKtTow2Z7gjEgIFmqcTGWgpRWI+k0t294BslM="; + } } $ZIG_GLOBAL_CACHE_DIR/p ''; diff --git a/pkgs/by-name/bl/blivet-gui/package.nix b/pkgs/by-name/bl/blivet-gui/package.nix index 69b5c03a9521..fca867456073 100644 --- a/pkgs/by-name/bl/blivet-gui/package.nix +++ b/pkgs/by-name/bl/blivet-gui/package.nix @@ -35,6 +35,8 @@ python3.pkgs.buildPythonApplication rec { substituteInPlace blivetgui/gui_utils.py --replace-fail /usr/share $out/share substituteInPlace blivet-gui --replace-fail "pkexec blivet-gui-daemon" "pkexec $out/bin/blivet-gui-daemon" substituteInPlace blivet-gui --replace-fail "pkexec" "${pkexecPath}" + substituteInPlace blivet-gui.desktop --replace-fail /usr/bin/blivet-gui $out/bin/blivet-gui + substituteInPlace org.fedoraproject.pkexec.blivet-gui.policy --replace-fail /usr/bin/blivet-gui-daemon $out/bin/blivet-gui-daemon ''; nativeBuildInputs = [ diff --git a/pkgs/by-name/bl/blockbench/package.nix b/pkgs/by-name/bl/blockbench/package.nix index 6c6f6ba67283..3d6cc968a68a 100644 --- a/pkgs/by-name/bl/blockbench/package.nix +++ b/pkgs/by-name/bl/blockbench/package.nix @@ -12,13 +12,13 @@ buildNpmPackage rec { pname = "blockbench"; - version = "4.12.4"; + version = "4.12.5"; src = fetchFromGitHub { owner = "JannisX11"; repo = "blockbench"; tag = "v${version}"; - hash = "sha256-tg2ICxliTmahO3twKgC4LSVyiX9K2jfA7lCcSCkzcbQ="; + hash = "sha256-u8NjwEsy3vimcvwtsUANckEx0Uz4vJLAiuUmN5lm5eQ="; }; nativeBuildInputs = @@ -28,7 +28,7 @@ buildNpmPackage rec { copyDesktopItems ]; - npmDepsHash = "sha256-a5OjCVHPeaBEYTFIUOnc9We677oCGwAvwMv8f1QRk9Q="; + npmDepsHash = "sha256-WiBQpd8Qlw5QTXh3kB2dG4dGZ1zfpYst5MgfHoK8UU4="; env.ELECTRON_SKIP_BINARY_DOWNLOAD = 1; diff --git a/pkgs/by-name/bl/blst/package.nix b/pkgs/by-name/bl/blst/package.nix index 34c66eeb0eb5..2fe0713166b6 100644 --- a/pkgs/by-name/bl/blst/package.nix +++ b/pkgs/by-name/bl/blst/package.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "blst"; - version = "0.3.14"; + version = "0.3.15"; src = fetchFromGitHub { owner = "supranational"; repo = "blst"; - rev = "v${finalAttrs.version}"; - hash = "sha256-IlbNMLBjs/dvGogcdbWQIL+3qwy7EXJbIDpo4xBd4bY="; + tag = "v${finalAttrs.version}"; + hash = "sha256-Q9/zGN93TnJt2c8YvSaURstoxT02ts3nVkO5V08m4TI="; }; buildPhase = '' @@ -72,6 +72,7 @@ stdenv.mkDerivation (finalAttrs: { doCheck = true; meta = with lib; { + changelog = "https://github.com/supranational/blst/releases/tag/${finalAttrs.src.tag}"; description = "Multilingual BLS12-381 signature library"; homepage = "https://github.com/supranational/blst"; license = licenses.isc; diff --git a/pkgs/by-name/bl/bluejay/package.nix b/pkgs/by-name/bl/bluejay/package.nix index f702954261e8..f033f62213e8 100644 --- a/pkgs/by-name/bl/bluejay/package.nix +++ b/pkgs/by-name/bl/bluejay/package.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "bluejay"; - version = "1.0.2"; + version = "1.0.3"; src = fetchFromGitHub { owner = "EbonJaeger"; repo = "bluejay"; tag = "v${finalAttrs.version}"; - hash = "sha256-mt64v+TccmB/0qV4+EeXbyjPmOM8cDXPV1nIH4FvXSA="; + hash = "sha256-18jpUaFeUIldtvnSuV8nCozO/KYog15AR+/3kby86hs="; }; nativeBuildInputs = [ @@ -28,6 +28,7 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ kdePackages.bluez-qt + kdePackages.kcolorscheme kdePackages.kconfig kdePackages.kcoreaddons kdePackages.kdbusaddons @@ -35,6 +36,7 @@ stdenv.mkDerivation (finalAttrs: { kdePackages.kirigami kdePackages.kirigami-addons kdePackages.qtbase + kdePackages.qtdeclarative ]; passthru.updateScript = nix-update-script { }; diff --git a/pkgs/by-name/bl/blueutil/package.nix b/pkgs/by-name/bl/blueutil/package.nix index ac149c1ce743..289a445a897a 100644 --- a/pkgs/by-name/bl/blueutil/package.nix +++ b/pkgs/by-name/bl/blueutil/package.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "blueutil"; - version = "2.10.0"; + version = "2.12.0"; src = fetchFromGitHub { owner = "toy"; repo = "blueutil"; rev = "v${finalAttrs.version}"; - hash = "sha256-x2khx8Y0PolpMiyrBatT2aHHyacrQVU/02Z4Dz9fBtI="; + hash = "sha256-JwX3NHXbGgEj+ZCyu9gWp2TCihokaAw5oHCrlmpy6HA="; }; env.NIX_CFLAGS_COMPILE = "-Wall -Wextra -Werror -mmacosx-version-min=10.9 -framework Foundation -framework IOBluetooth"; diff --git a/pkgs/by-name/bm/bmc-tools/package.nix b/pkgs/by-name/bm/bmc-tools/package.nix new file mode 100644 index 000000000000..9d081e12c881 --- /dev/null +++ b/pkgs/by-name/bm/bmc-tools/package.nix @@ -0,0 +1,34 @@ +{ + lib, + python3, + fetchFromGitHub, +}: + +python3.pkgs.buildPythonApplication { + pname = "bmc-tools"; + version = "3.0.4-unstable-2025-01-21"; + pyproject = false; + + src = fetchFromGitHub { + owner = "ANSSI-FR"; + repo = "bmc-tools"; + rev = "94037ce01ceb651a10b04e3275b53face69f9e03"; + hash = "sha256-4sW/vSPsx+MIpUV1/V7kseTkGJqiDlCo3G1omOxKHJk="; + }; + + installPhase = '' + runHook preInstall + + install -Dm755 bmc-tools.py $out/bin/bmc-tools + + runHook postInstall + ''; + + meta = { + description = "RDP Bitmap Cache parser"; + homepage = "https://github.com/ANSSI-FR/bmc-tools"; + license = lib.licenses.cecill21; + maintainers = with lib.maintainers; [ mikehorn ]; + mainProgram = "bmc-tools"; + }; +} diff --git a/pkgs/by-name/bo/boogie/package.nix b/pkgs/by-name/bo/boogie/package.nix index 0cb3bf7e4539..5f4dc2d4c89f 100644 --- a/pkgs/by-name/bo/boogie/package.nix +++ b/pkgs/by-name/bo/boogie/package.nix @@ -9,13 +9,13 @@ buildDotnetModule rec { pname = "Boogie"; - version = "3.5.1"; + version = "3.5.3"; src = fetchFromGitHub { owner = "boogie-org"; repo = "boogie"; tag = "v${version}"; - hash = "sha256-0YZy4TYff6iupSAwDw8qvR6vdkUh8PDXKoKARfEyEPQ="; + hash = "sha256-PufQJQd678ZuekLf9O27lR3U6MdQaHIsheO5jggYBNY="; }; dotnet-sdk = dotnetCorePackages.sdk_8_0; diff --git a/pkgs/by-name/bo/bookstack/package.nix b/pkgs/by-name/bo/bookstack/package.nix new file mode 100644 index 000000000000..bbe3ca1c1cf8 --- /dev/null +++ b/pkgs/by-name/bo/bookstack/package.nix @@ -0,0 +1,50 @@ +{ + lib, + fetchFromGitHub, + php83, + nixosTests, + dataDir ? "/var/lib/bookstack", +}: + +php83.buildComposerProject2 (finalAttrs: { + pname = "bookstack"; + version = "25.05.1"; + + src = fetchFromGitHub { + owner = "bookstackapp"; + repo = "bookstack"; + tag = "v${finalAttrs.version}"; + hash = "sha256-wQ5i9A+uCD9srSuEnTWWgALzlbciPVwfYhy8ZKVsX7E="; + }; + + vendorHash = "sha256-ApLBU21CrmYVW1lOX1wFTo5UMWUEErWumn8x742iMT0="; + + passthru = { + phpPackage = php83; + tests = nixosTests.bookstack; + }; + + postInstall = '' + chmod -R u+w $out/share + mv $out/share/php/bookstack/* $out + rm -R $out/share $out/storage $out/bootstrap/cache $out/public/uploads + ln -s ${dataDir}/storage $out/storage + ln -s ${dataDir}/cache $out/bootstrap/cache + ln -s ${dataDir}/public/uploads $out/public/uploads + ''; + + meta = { + description = "Platform to create documentation/wiki content built with PHP & Laravel"; + longDescription = '' + A platform for storing and organising information and documentation. + Details for BookStack can be found on the official website at https://www.bookstackapp.com/. + ''; + homepage = "https://www.bookstackapp.com/"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ + ymarkus + savyajha + ]; + platforms = lib.platforms.linux; + }; +}) diff --git a/pkgs/by-name/bo/boring/package.nix b/pkgs/by-name/bo/boring/package.nix new file mode 100644 index 000000000000..4b855a586ee3 --- /dev/null +++ b/pkgs/by-name/bo/boring/package.nix @@ -0,0 +1,56 @@ +{ + boring, + buildGoModule, + fetchFromGitHub, + installShellFiles, + lib, + stdenv, + testers, +}: + +buildGoModule (finalAttrs: { + pname = "boring"; + version = "0.11.5"; + + src = fetchFromGitHub { + owner = "alebeck"; + repo = "boring"; + tag = finalAttrs.version; + hash = "sha256-s/mkC/6FvzytKJ9wpAIU36HhClGqEO0XFaAyErhD3Mo="; + }; + + nativeBuildInputs = [ + installShellFiles + ]; + + vendorHash = "sha256-j8A0F+o3EnzJdge+T/gHAwRGwzC86oD6ddZejUs/C7o="; + + ldflags = [ + "-s" + "-w" + "-X main.version=${finalAttrs.version}" + ]; + + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd boring \ + --bash <($out/bin/boring --shell bash) \ + --fish <($out/bin/boring --shell fish) \ + --zsh <($out/bin/boring --shell zsh) + ''; + + passthru.tests.version = testers.testVersion { + package = boring; + command = "boring version"; + version = "boring ${finalAttrs.version}"; + }; + + meta = { + description = "SSH tunnel manager"; + homepage = "https://github.com/alebeck/boring"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ + jacobkoziej + ]; + mainProgram = "boring"; + }; +}) diff --git a/pkgs/by-name/bo/bosh-cli/package.nix b/pkgs/by-name/bo/bosh-cli/package.nix index fd31acb3d4a1..a6c40f7f20ec 100644 --- a/pkgs/by-name/bo/bosh-cli/package.nix +++ b/pkgs/by-name/bo/bosh-cli/package.nix @@ -9,13 +9,13 @@ buildGoModule rec { pname = "bosh-cli"; - version = "7.9.6"; + version = "7.9.7"; src = fetchFromGitHub { owner = "cloudfoundry"; repo = "bosh-cli"; rev = "v${version}"; - sha256 = "sha256-jWT34XdphNrkUwJq72EkvWLNoLVOc8rGf6SY4/CUvc0="; + sha256 = "sha256-Y3wk05IeWoH5YCrA+CJEtqvwCUxAvYdoYD+qDwTJo5Q="; }; vendorHash = null; diff --git a/pkgs/by-name/bo/boxflat/package.nix b/pkgs/by-name/bo/boxflat/package.nix index 5c24bf413cef..107f83f60bed 100644 --- a/pkgs/by-name/bo/boxflat/package.nix +++ b/pkgs/by-name/bo/boxflat/package.nix @@ -14,14 +14,14 @@ python3Packages.buildPythonPackage rec { pname = "boxflat"; - version = "1.31.0"; + version = "1.32.1"; pyproject = true; src = fetchFromGitHub { owner = "Lawstorant"; repo = "boxflat"; tag = "v${version}"; - hash = "sha256-2x7voGnbvaUg1G2SfdjD0QPVXolHkUcrwGyoclnOLMo="; + hash = "sha256-G+jLVFyBTy5DiWe8RM80eWnmnEunfHC+awduJjmGop0="; }; build-system = [ python3Packages.setuptools ]; diff --git a/pkgs/by-name/bp/bpftrace/package.nix b/pkgs/by-name/bp/bpftrace/package.nix index 37c1061e7358..9503fafadfa8 100644 --- a/pkgs/by-name/bp/bpftrace/package.nix +++ b/pkgs/by-name/bp/bpftrace/package.nix @@ -21,13 +21,13 @@ stdenv.mkDerivation rec { pname = "bpftrace"; - version = "0.23.4"; + version = "0.23.5"; src = fetchFromGitHub { owner = "bpftrace"; repo = "bpftrace"; rev = "v${version}"; - hash = "sha256-fJOc5M+DhYjmooDb8p/kZbUOhQX27/6aau7Ff9dgjbs="; + hash = "sha256-Shtf4PSXxUV0Bd7ORYyP06lbWf3LE6BQi7WfTIGDOfk="; }; buildInputs = with llvmPackages; [ diff --git a/pkgs/by-name/bp/bpp-phyl/package.nix b/pkgs/by-name/bp/bpp-phyl/package.nix index c119d389cd45..78baac39b99c 100644 --- a/pkgs/by-name/bp/bpp-phyl/package.nix +++ b/pkgs/by-name/bp/bpp-phyl/package.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "BioPP"; - repo = pname; + repo = "bpp-phyl"; rev = "v${version}"; sha256 = "192zks6wyk903n06c2lbsscdhkjnfwms8p7jblsmk3lvjhdipb20"; }; @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { ]; postFixup = '' - substituteInPlace $out/lib/cmake/${pname}/${pname}-targets.cmake \ + substituteInPlace $out/lib/cmake/bpp-phyl/bpp-phyl-targets.cmake \ --replace 'set(_IMPORT_PREFIX' '#set(_IMPORT_PREFIX' ''; diff --git a/pkgs/by-name/bp/bpp-popgen/package.nix b/pkgs/by-name/bp/bpp-popgen/package.nix index b9bfdc311aab..72cee8055c1b 100644 --- a/pkgs/by-name/bp/bpp-popgen/package.nix +++ b/pkgs/by-name/bp/bpp-popgen/package.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "BioPP"; - repo = pname; + repo = "bpp-popgen"; rev = "v${version}"; sha256 = "0bz0fhrq3dri6a0hvfc3zlvrns8mrzzlnicw5pyfa812gc1qwfvh"; }; @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { ]; postFixup = '' - substituteInPlace $out/lib/cmake/${pname}/${pname}-targets.cmake \ + substituteInPlace $out/lib/cmake/bpp-popgen/bpp-popgen-targets.cmake \ --replace 'set(_IMPORT_PREFIX' '#set(_IMPORT_PREFIX' ''; # prevents cmake from exporting incorrect INTERFACE_INCLUDE_DIRECTORIES diff --git a/pkgs/by-name/bp/bpp-seq/package.nix b/pkgs/by-name/bp/bpp-seq/package.nix index 1f9955a8d8ee..966b6f8d9065 100644 --- a/pkgs/by-name/bp/bpp-seq/package.nix +++ b/pkgs/by-name/bp/bpp-seq/package.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "BioPP"; - repo = pname; + repo = "bpp-seq"; rev = "v${version}"; sha256 = "1mc09g8jswzsa4wgrfv59jxn15ys3q8s0227p1j838wkphlwn2qk"; }; @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { buildInputs = [ bpp-core ]; postFixup = '' - substituteInPlace $out/lib/cmake/${pname}/${pname}-targets.cmake \ + substituteInPlace $out/lib/cmake/bpp-seq/bpp-seq-targets.cmake \ --replace 'set(_IMPORT_PREFIX' '#set(_IMPORT_PREFIX' ''; # prevents cmake from exporting incorrect INTERFACE_INCLUDE_DIRECTORIES diff --git a/pkgs/by-name/bp/bppsuite/package.nix b/pkgs/by-name/bp/bppsuite/package.nix index cc8e94672f49..926b336f0c9f 100644 --- a/pkgs/by-name/bp/bppsuite/package.nix +++ b/pkgs/by-name/bp/bppsuite/package.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "BioPP"; - repo = pname; + repo = "bppsuite"; rev = "v${version}"; sha256 = "1wdwcgczqbc3m116vakvi0129wm3acln3cfc7ivqnalwvi6lrpds"; }; diff --git a/pkgs/by-name/br/brave/make-brave.nix b/pkgs/by-name/br/brave/make-brave.nix index 9b098c5213dc..a743bfbe0f8b 100644 --- a/pkgs/by-name/br/brave/make-brave.nix +++ b/pkgs/by-name/br/brave/make-brave.nix @@ -205,7 +205,8 @@ stdenv.mkDerivation { # Fix path to bash in $BINARYWRAPPER substituteInPlace $BINARYWRAPPER \ - --replace /bin/bash ${stdenv.shell} + --replace-fail /bin/bash ${stdenv.shell} \ + --replace-fail 'CHROME_WRAPPER' 'WRAPPER' ln -sf $BINARYWRAPPER $out/bin/brave @@ -216,14 +217,14 @@ stdenv.mkDerivation { done # Fix paths - substituteInPlace $out/share/applications/brave-browser.desktop \ - --replace /usr/bin/brave-browser-stable $out/bin/brave + substituteInPlace $out/share/applications/{brave-browser,com.brave.Browser}.desktop \ + --replace-fail /usr/bin/brave-browser-stable $out/bin/brave substituteInPlace $out/share/gnome-control-center/default-apps/brave-browser.xml \ - --replace /opt/brave.com $out/opt/brave.com + --replace-fail /opt/brave.com $out/opt/brave.com substituteInPlace $out/share/menu/brave-browser.menu \ - --replace /opt/brave.com $out/opt/brave.com + --replace-fail /opt/brave.com $out/opt/brave.com substituteInPlace $out/opt/brave.com/brave/default-app-block \ - --replace /opt/brave.com $out/opt/brave.com + --replace-fail /opt/brave.com $out/opt/brave.com # Correct icons location icon_sizes=("16" "24" "32" "48" "64" "128" "256") @@ -263,6 +264,7 @@ stdenv.mkDerivation { coreutils ] } + --set CHROME_WRAPPER ${pname} ${optionalString (enableFeatures != [ ]) '' --add-flags "--enable-features=${strings.concatStringsSep "," enableFeatures}\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+,WaylandWindowDecorations --enable-wayland-ime=true}}" ''} diff --git a/pkgs/by-name/br/brave/package.nix b/pkgs/by-name/br/brave/package.nix index dc6d4a182a90..d98621db5164 100644 --- a/pkgs/by-name/br/brave/package.nix +++ b/pkgs/by-name/br/brave/package.nix @@ -3,24 +3,24 @@ let pname = "brave"; - version = "1.79.119"; + version = "1.79.123"; allArchives = { aarch64-linux = { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_arm64.deb"; - hash = "sha256-tz3pCToOqsO6SAu5NeUSmO0aRe31qw0sK2OxtkrYGlo="; + hash = "sha256-SINatcbj6EEvvd1St1hLOMrWXA06DZtbSiaecA8hQ5s="; }; x86_64-linux = { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb"; - hash = "sha256-8uX8byw/rp+yj6Y2qBemEHGwt4CQepWjVD8F9KuJZbI="; + hash = "sha256-XWw8Kn245KPpJxhSRz6xmFwijJSU5vMgpDUNRyRMf0M="; }; aarch64-darwin = { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-v${version}-darwin-arm64.zip"; - hash = "sha256-ynLMWSWywJbmURBH60Nf7TJFERPNNzcI/wdW8AFk7ZA="; + hash = "sha256-8QZVd1//302jqO24Masz6KEogYCkfUxuQ2HpEeuaujY="; }; x86_64-darwin = { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-v${version}-darwin-x64.zip"; - hash = "sha256-ERhKzzabN3NiJQMaTLxdtHCbPMDbPifG56aBmAgke5o="; + hash = "sha256-IB+08osAXOenRDCSvebRxZlNYsFRoh3g0JwGfXUy1kU="; }; }; diff --git a/pkgs/by-name/br/brewtarget/package.nix b/pkgs/by-name/br/brewtarget/package.nix index 84c03b4d21c9..2839145ea063 100644 --- a/pkgs/by-name/br/brewtarget/package.nix +++ b/pkgs/by-name/br/brewtarget/package.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "brewtarget"; - version = "4.1.1"; + version = "4.1.2"; src = fetchFromGitHub { owner = "Brewtarget"; repo = "brewtarget"; rev = "v${finalAttrs.version}"; - hash = "sha256-MBgbe5olmQR3h2QB7jqy3hGbxHucgDByRbqu7s6RAOI="; + hash = "sha256-a22XXxCuJuaGyRPj15JlLErA7ANrCgzy1vqy+IHzxDk="; fetchSubmodules = true; }; diff --git a/pkgs/by-name/br/bruno/package.nix b/pkgs/by-name/br/bruno/package.nix index 5a13b1dfea00..45f3d2d7856c 100644 --- a/pkgs/by-name/br/bruno/package.nix +++ b/pkgs/by-name/br/bruno/package.nix @@ -19,20 +19,20 @@ buildNpmPackage rec { pname = "bruno"; - version = "2.4.0"; + version = "2.5.0"; src = fetchFromGitHub { owner = "usebruno"; repo = "bruno"; tag = "v${version}"; - hash = "sha256-fE4WwgdwTB4s8NYQclUeDWJ132HJO0/3Hmesp9yvzGg="; + hash = "sha256-5kCYKktD71LdknIITSXzl/r5IRUyBUCKL9mmjsMwYRI="; postFetch = '' ${lib.getExe npm-lockfile-fix} $out/package-lock.json ''; }; - npmDepsHash = "sha256-ZUZZWnp10Z4vQTZTTPenAXXpez6WbmB/S1VBiARuNP4="; + npmDepsHash = "sha256-AA+f6xVd1hmZUum7AlhHivqNez7xP1kEd/GXd798QCI="; npmFlags = [ "--legacy-peer-deps" ]; nativeBuildInputs = diff --git a/pkgs/by-name/bt/btcpayserver/deps.json b/pkgs/by-name/bt/btcpayserver/deps.json index 0476ee04605d..1ec7f297a28b 100644 --- a/pkgs/by-name/bt/btcpayserver/deps.json +++ b/pkgs/by-name/bt/btcpayserver/deps.json @@ -51,8 +51,8 @@ }, { "pname": "BTCPayServer.Lightning.All", - "version": "1.6.9", - "hash": "sha256-pCCxZ1CW+Xc2KvG5yZ79vLYtcwr/PWsrz9A1x02ryb0=" + "version": "1.6.11", + "hash": "sha256-HId8axtrx8i205y1uytHp/04/DyKsXzJwSEMzpr7Mzk=" }, { "pname": "BTCPayServer.Lightning.Charge", @@ -94,6 +94,11 @@ "version": "1.5.3", "hash": "sha256-CbSjeix4JCVtgb8WCfsKgThpl/YbnhbJ3wcPoexpSew=" }, + { + "pname": "BTCPayServer.Lightning.Phoenixd", + "version": "1.5.8", + "hash": "sha256-pISNuSZW/B0MZ5VkW8nHAENTOUoFI+YfvrubD/vh74w=" + }, { "pname": "BTCPayServer.NETCore.Plugins", "version": "1.4.4", @@ -699,11 +704,6 @@ "version": "2.2.1", "hash": "sha256-4TYsfc8q74P8FuDwkIWPO+VYY0mh4Hs4ZL8v0lMaBsY=" }, - { - "pname": "NBitcoin", - "version": "7.0.45", - "hash": "sha256-hWgtvAJvONk6jg1WiytE6M+ExkQJUCwO6cyVA6JE+8w=" - }, { "pname": "NBitcoin", "version": "7.0.50", @@ -711,19 +711,19 @@ }, { "pname": "NBitcoin", - "version": "8.0.8", - "hash": "sha256-gpbxlfE7TN7mUOcWF9+r8htQTc19KqAuzsVaG5RYa3A=" - }, - { - "pname": "NBitcoin.Altcoins", - "version": "3.0.31", - "hash": "sha256-Mtaqj8Fl8jxeOBXz66fjZQKZ/yg6pARJKJTFW0V/wDA=" + "version": "8.0.13", + "hash": "sha256-x7vMEgk5JXfGGNWfoclCwAbnx1mtlgbxl0HC0B/iV2E=" }, { "pname": "NBitcoin.Altcoins", "version": "3.0.33", "hash": "sha256-0RYmRKcluGwfTEcOEmoREC/9CgECEi7piQZetMXHOxI=" }, + { + "pname": "NBitcoin.Altcoins", + "version": "4.0.8", + "hash": "sha256-n1e0BUhXl3D/fn1DbCdbelYfys2fc7+ZABazhUWxzo4=" + }, { "pname": "NBitpayClient", "version": "1.0.0.39", diff --git a/pkgs/by-name/bt/btcpayserver/package.nix b/pkgs/by-name/bt/btcpayserver/package.nix index 51c60db7e47b..990a8124cd32 100644 --- a/pkgs/by-name/bt/btcpayserver/package.nix +++ b/pkgs/by-name/bt/btcpayserver/package.nix @@ -8,13 +8,13 @@ buildDotnetModule rec { pname = "btcpayserver"; - version = "2.1.1"; + version = "2.1.5"; src = fetchFromGitHub { owner = "btcpayserver"; repo = "btcpayserver"; tag = "v${version}"; - hash = "sha256-5zvxLEQbKTcslcpq1JRgY/L0XWnQ4UyFWww6SGcTtcs="; + hash = "sha256-qm/MdgM5sPQu7fI1S8qf/dvkMZbmP4rLA1RdSQHSawE="; }; projectFile = "BTCPayServer/BTCPayServer.csproj"; diff --git a/pkgs/by-name/bt/btrfs-assistant/package.nix b/pkgs/by-name/bt/btrfs-assistant/package.nix index fce0bd8fc6eb..e6db481d4174 100644 --- a/pkgs/by-name/bt/btrfs-assistant/package.nix +++ b/pkgs/by-name/bt/btrfs-assistant/package.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchFromGitLab, - bash, btrfs-progs, cmake, coreutils, @@ -17,13 +16,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "btrfs-assistant"; - version = "2.1.1"; + version = "2.2"; src = fetchFromGitLab { owner = "btrfs-assistant"; repo = "btrfs-assistant"; rev = finalAttrs.version; - hash = "sha256-I4nbQmHwk84qN1SngKzKnPtQN5Dz1QSSEpHJxV8wkJw="; + hash = "sha256-hFWYT+YIgnqBigpPkGdsLj6rcg4CjJffAyXlR23QP0Y="; }; nativeBuildInputs = [ @@ -43,18 +42,10 @@ stdenv.mkDerivation (finalAttrs: { util-linux ] ++ lib.optionals enableSnapper [ snapper ]; - prePatch = - '' - substituteInPlace src/util/System.cpp \ - --replace-fail '/bin/bash' "${lib.getExe bash}" - - substituteInPlace src/main.cpp \ - --replace-fail 'if (!qEnvironmentVariableIsEmpty("DISPLAY"))' ' if(!qEnvironmentVariableIsEmpty("DISPLAY") || !qEnvironmentVariableIsEmpty("WAYLAND_DISPLAY"))' - '' - + lib.optionalString enableSnapper '' - substituteInPlace src/main.cpp \ - --replace-fail '/usr/bin/snapper' "${lib.getExe snapper}" - ''; + prePatch = lib.optionalString enableSnapper '' + substituteInPlace src/main.cpp \ + --replace-fail '/usr/bin/snapper' "${lib.getExe snapper}" + ''; postPatch = '' diff --git a/pkgs/by-name/bu/buffrs/package.nix b/pkgs/by-name/bu/buffrs/package.nix index f72a9c357b16..2ccf6c392185 100644 --- a/pkgs/by-name/bu/buffrs/package.nix +++ b/pkgs/by-name/bu/buffrs/package.nix @@ -6,17 +6,17 @@ rustPlatform.buildRustPackage rec { pname = "buffrs"; - version = "0.10.0"; + version = "0.11.0"; src = fetchFromGitHub { owner = "helsing-ai"; repo = "buffrs"; tag = "v${version}"; - hash = "sha256-lqSaXTuIXeuvS01i/35oLUU39FpVEpMoR3OSRstKhjI="; + hash = "sha256-VHzPOFOkwz3QlDt25gBbishM4ujtEPFjA21WuiNVw00="; }; useFetchCargoVendor = true; - cargoHash = "sha256-3urjpHMW46ZnPMsiaRgRyhFOKA+080MauNESRjf/W1Y="; + cargoHash = "sha256-/cdBt23VSmwN/C2XdHeeRjUSqLWiEheqVl+hfEDKIP0="; # Disabling tests meant to work over the network, as they will fail # inside the builder. diff --git a/pkgs/by-name/bu/buildkit-nix/package.nix b/pkgs/by-name/bu/buildkit-nix/package.nix index 99431c4beaa6..3cb79b32457e 100644 --- a/pkgs/by-name/bu/buildkit-nix/package.nix +++ b/pkgs/by-name/bu/buildkit-nix/package.nix @@ -10,7 +10,7 @@ buildGoModule rec { src = fetchFromGitHub { owner = "reproducible-containers"; - repo = pname; + repo = "buildkit-nix"; rev = "v${version}"; sha256 = "sha256-i8KQLLL36iP26jIj10fZLtYpS57Xni4eIQEJG4ixWy8="; }; diff --git a/pkgs/by-name/bu/buildpack/package.nix b/pkgs/by-name/bu/buildpack/package.nix index f114e89fed58..247474f4202e 100644 --- a/pkgs/by-name/bu/buildpack/package.nix +++ b/pkgs/by-name/bu/buildpack/package.nix @@ -14,7 +14,7 @@ buildGoModule { src = fetchFromGitHub { owner = "buildpacks"; - repo = pname; + repo = "pack"; rev = "refs/tags/v${version}"; hash = "sha256-QCN0UvWa5u9XX5LvY3yD8Xz2s1XzZUg/WXnAfWwZnY0="; }; diff --git a/pkgs/by-name/bu/buku/package.nix b/pkgs/by-name/bu/buku/package.nix index edf76eadacc1..ee862b474df0 100644 --- a/pkgs/by-name/bu/buku/package.nix +++ b/pkgs/by-name/bu/buku/package.nix @@ -40,14 +40,14 @@ buildPythonApplication rec { nativeCheckInputs = [ hypothesis - pytest + pytestCheckHook pytest-recording pyyaml mypy-extensions click pylint flake8 - pytest-cov + pytest-cov-stub pyyaml ]; diff --git a/pkgs/by-name/bu/bun/package.nix b/pkgs/by-name/bu/bun/package.nix index 86523a3946a1..89ac630d1601 100644 --- a/pkgs/by-name/bu/bun/package.nix +++ b/pkgs/by-name/bu/bun/package.nix @@ -17,7 +17,7 @@ }: stdenvNoCC.mkDerivation rec { - version = "1.2.14"; + version = "1.2.16"; pname = "bun"; src = @@ -86,19 +86,19 @@ stdenvNoCC.mkDerivation rec { sources = { "aarch64-darwin" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-darwin-aarch64.zip"; - hash = "sha256-J0w3utbdUEH3T2UzCww5gDF7EUKhveznvr6zqrRLiNo="; + hash = "sha256-IBaCFzMLDruOkUg25jqvVxQK/wz5VxYidlh8qwQS8X8="; }; "aarch64-linux" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-aarch64.zip"; - hash = "sha256-hLctvtLYWywlHx80ViQ65LVyd7hs6sNAakRgGPbPltk="; + hash = "sha256-gKAkQ0q1sJjCWe5VsfWCgFkdHeKGxcZStjNkCoyZ5j4="; }; "x86_64-darwin" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-darwin-x64-baseline.zip"; - hash = "sha256-c97u+DigXOVc28AA/rVUSt773Z8GbW21pejeCHLdF2Q="; + hash = "sha256-WPEJ8m81EF1RogdpAOLhdQamBY7lk6NMRZ3IeeUiHnQ="; }; "x86_64-linux" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-x64.zip"; - hash = "sha256-zrG9NHKgi83I2VSCAkOjKdgLigwC9Xy+/ZERCS2NPd0="; + hash = "sha256-+DEdjXyqDZOMbEzs8KYA5enOTidaQR44oun4x30MEAI="; }; }; updateScript = writeShellScript "update-bun" '' diff --git a/pkgs/by-name/bu/burpsuite/package.nix b/pkgs/by-name/bu/burpsuite/package.nix index 6ef5e96180b6..fe76eff92b0b 100644 --- a/pkgs/by-name/bu/burpsuite/package.nix +++ b/pkgs/by-name/bu/burpsuite/package.nix @@ -9,20 +9,20 @@ }: let - version = "2025.5.1"; + version = "2025.6.1"; product = if proEdition then { productName = "pro"; productDesktop = "Burp Suite Professional Edition"; - hash = "sha256-1AXAVXselQKqKsjTRJVN3rBQpSReTH3d0ulIahp9QCc="; + hash = "sha256-At3+tScMbNrZI2qF+kwt41khou8aP5Qn33v6IT7n9HI="; } else { productName = "community"; productDesktop = "Burp Suite Community Edition"; - hash = "sha256-zX5QJz996WgKvDA6p5dRtmbZTRsgCl0URn302MkhVew="; + hash = "sha256-1reZGan6hmXTg7RUjaian6Q5VAsR5iuye4kGWkpREM4="; }; src = fetchurl { diff --git a/pkgs/by-name/by/byedpi/package.nix b/pkgs/by-name/by/byedpi/package.nix index 226b402eb609..d80429cea8fe 100644 --- a/pkgs/by-name/by/byedpi/package.nix +++ b/pkgs/by-name/by/byedpi/package.nix @@ -6,13 +6,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "byedpi"; - version = "0.16.6"; + version = "0.17"; src = fetchFromGitHub { owner = "hufrea"; repo = "byedpi"; tag = "v${finalAttrs.version}"; - hash = "sha256-8iGmEfc/7ZLZmMdxuH6SjO1Wb/KuiLUJeYjrtnplalE="; + hash = "sha256-JedtEgkj21pDnNM19Oq6asI7iMIHZqf3ZolDlUDhHg8="; }; installPhase = '' diff --git a/pkgs/by-name/bz/bzmenu/package.nix b/pkgs/by-name/bz/bzmenu/package.nix new file mode 100644 index 000000000000..a6f89e8e8f16 --- /dev/null +++ b/pkgs/by-name/bz/bzmenu/package.nix @@ -0,0 +1,43 @@ +{ + dbus, + fetchFromGitHub, + lib, + pkg-config, + rustPlatform, +}: + +rustPlatform.buildRustPackage rec { + pname = "bzmenu"; + version = "0.2.1"; + + src = fetchFromGitHub { + owner = "e-tho"; + repo = "bzmenu"; + tag = "v${version}"; + hash = "sha256-42ZiENkqFXFhtqn26r9AIsG9sE+W0nGxm2zKdcbY5ss="; + }; + + cargoHash = "sha256-DvnWw4yH4ghFb368cms981pENez0zTgvpMghDTrah50="; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + dbus + ]; + + meta = { + homepage = "https://github.com/e-tho/bzmenu"; + description = "Launcher-driven Bluetooth manager for Linux"; + longDescription = '' + Use `bzmenu --launcher ` + Supported launchers are: `dmenu`, `fuzzel`, `rofi`, `walker` and `custom` with `stdin` + for details refer to https://github.com/e-tho/bzmenu/blob/main/README.md#usage + ''; + mainProgram = "bzmenu"; + platforms = lib.platforms.linux; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ vuimuich ]; + }; +} diff --git a/pkgs/by-name/c-/c-stdaux/package.nix b/pkgs/by-name/c-/c-stdaux/package.nix index d677c74f4038..520c744007dd 100644 --- a/pkgs/by-name/c-/c-stdaux/package.nix +++ b/pkgs/by-name/c-/c-stdaux/package.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "c-stdaux"; - version = "1.5.0"; + version = "1.6.0"; src = fetchFromGitHub { owner = "c-util"; repo = "c-stdaux"; tag = "v${version}"; - hash = "sha256-MsnuEyVCmOIr/q6I1qyPsNXp48jxIEcXoYLHbOAZtW0="; + hash = "sha256-/15lop+WUkTW9v9h7BBdwRSpJgcBXaJNtMM7LXgcQE4="; }; nativeBuildInputs = [ @@ -22,9 +22,7 @@ stdenv.mkDerivation rec { ninja ]; - # Assertion failed: (false && "!__builtin_constant_p(c_align_to(16, non_constant_expr ? 8 : 16))"), - # function test_basic_gnuc, file ../src/test-basic.c, line 548. - doCheck = !stdenv.hostPlatform.isDarwin; + doCheck = true; meta = { homepage = "https://github.com/c-util/c-stdaux"; diff --git a/pkgs/by-name/c2/c2patool/package.nix b/pkgs/by-name/c2/c2patool/package.nix index 7d6045fce81f..c1e7077541e8 100644 --- a/pkgs/by-name/c2/c2patool/package.nix +++ b/pkgs/by-name/c2/c2patool/package.nix @@ -10,17 +10,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "c2patool"; - version = "0.17.0"; + version = "0.18.0"; src = fetchFromGitHub { owner = "contentauth"; repo = "c2pa-rs"; tag = "c2patool-v${finalAttrs.version}"; - hash = "sha256-DuRoafg4BBxZFgYeS9IHsazHA5rHucnoBhVu9BkyTRc="; + hash = "sha256-Eo69KrIoL1NygLXT46hRVVgsqdBSTA06LtBStQI1BjE="; }; useFetchCargoVendor = true; - cargoHash = "sha256-7NWBt7qUivSBmpw83TNCxiYZMGPcNfGrmIN5m+S+QeY="; + cargoHash = "sha256-m/Y6TbsXUV37uvTitLzwXXuU/5BkkMYewfw2DBbIHhw="; # use the non-vendored openssl env.OPENSSL_NO_VENDOR = 1; diff --git a/pkgs/by-name/ca/cabinpkg/package.nix b/pkgs/by-name/ca/cabinpkg/package.nix index 011049884d71..a4604868d6f5 100644 --- a/pkgs/by-name/ca/cabinpkg/package.nix +++ b/pkgs/by-name/ca/cabinpkg/package.nix @@ -2,7 +2,7 @@ lib, stdenv, fetchFromGitHub, - tbb_2021_11, + tbb_2021, libgit2, curl, fmt, @@ -39,7 +39,7 @@ stdenv.mkDerivation rec { buildInputs = [ libgit2 fmt - tbb_2021_11 + tbb_2021 nlohmann_json curl ]; diff --git a/pkgs/by-name/ca/cables/package.nix b/pkgs/by-name/ca/cables/package.nix index 2cce532d98d9..5f84e677c7b7 100644 --- a/pkgs/by-name/ca/cables/package.nix +++ b/pkgs/by-name/ca/cables/package.nix @@ -7,12 +7,12 @@ let pname = "cables"; - version = "0.5.17"; + version = "0.6.0"; name = "${pname}-${version}"; src = fetchurl { url = "https://github.com/cables-gl/cables_electron/releases/download/v${version}/cables-${version}-linux-x64.AppImage"; - sha256 = "sha256-6qp3yHtvTZ1KqbnqBbd8gWatBMJrUlwcUUkDZJX53o4="; + sha256 = "sha256-EvlKcSYLC9gIzXHJSHrxPY984AdKCL7psj2F2vdfaZY="; }; appimageContents = appimageTools.extract { diff --git a/pkgs/by-name/ca/calibre-web/package.nix b/pkgs/by-name/ca/calibre-web/package.nix index 6e7fe46c42fa..c89c1a3307d3 100644 --- a/pkgs/by-name/ca/calibre-web/package.nix +++ b/pkgs/by-name/ca/calibre-web/package.nix @@ -133,6 +133,7 @@ python3Packages.buildPythonApplication rec { "lxml" "pypdf" "regex" + "tornado" ]; nativeCheckInputs = lib.flatten (lib.attrValues optional-dependencies); diff --git a/pkgs/by-name/ca/calls/package.nix b/pkgs/by-name/ca/calls/package.nix index 6d9932afeee8..290aec730546 100644 --- a/pkgs/by-name/ca/calls/package.nix +++ b/pkgs/by-name/ca/calls/package.nix @@ -36,7 +36,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "calls"; - version = "48.1"; + version = "48.2"; src = fetchFromGitLab { domain = "gitlab.gnome.org"; @@ -44,7 +44,7 @@ stdenv.mkDerivation (finalAttrs: { repo = "calls"; rev = "v${finalAttrs.version}"; fetchSubmodules = true; - hash = "sha256-JK+bG/5p+c37aP7ZTGiPDh8tBHgWsuFkD7AsyZXePaw="; + hash = "sha256-S1YWFkwK1tcIUOfyOxlEFtKcLlRDiSKf4iUGnb+VlG8="; }; outputs = [ diff --git a/pkgs/by-name/ca/camunda-modeler/package.nix b/pkgs/by-name/ca/camunda-modeler/package.nix index 3805652e44fd..1a392e2c033d 100644 --- a/pkgs/by-name/ca/camunda-modeler/package.nix +++ b/pkgs/by-name/ca/camunda-modeler/package.nix @@ -10,11 +10,11 @@ stdenvNoCC.mkDerivation rec { pname = "camunda-modeler"; - version = "5.35.0"; + version = "5.36.0"; src = fetchurl { url = "https://github.com/camunda/camunda-modeler/releases/download/v${version}/camunda-modeler-${version}-linux-x64.tar.gz"; - hash = "sha256-IMdrnkop8yzHrTvNdBS6bVZdlBsCHMzCjYc0BaXRyrE="; + hash = "sha256-K4N6/OVPeYk1Xd5nkap/ZEIa24PiryPAKCJ8AP00ITw="; }; sourceRoot = "camunda-modeler-${version}-linux-x64"; diff --git a/pkgs/by-name/ca/canaille/package.nix b/pkgs/by-name/ca/canaille/package.nix index d53f3648d64e..5c2d23b62323 100644 --- a/pkgs/by-name/ca/canaille/package.nix +++ b/pkgs/by-name/ca/canaille/package.nix @@ -58,7 +58,7 @@ python.pkgs.buildPythonApplication rec { coverage flask-webtest pyquery - pytest-cov + pytest-cov-stub pytest-httpserver pytest-lazy-fixtures pytest-smtpd diff --git a/pkgs/by-name/ca/candy-icons/package.nix b/pkgs/by-name/ca/candy-icons/package.nix index 0dc9fedfe78c..f2b4ab8b64f1 100644 --- a/pkgs/by-name/ca/candy-icons/package.nix +++ b/pkgs/by-name/ca/candy-icons/package.nix @@ -8,13 +8,13 @@ stdenvNoCC.mkDerivation { pname = "candy-icons"; - version = "0-unstable-2025-05-24"; + version = "0-unstable-2025-06-07"; src = fetchFromGitHub { owner = "EliverLara"; repo = "candy-icons"; - rev = "b099e7f437da41f65ffb710d801471e2f813f1b2"; - hash = "sha256-gy58GQMoYOFXbvXoKELUydg/X/B8BJ6hIbcOl5com1E="; + rev = "9720f52c97f582780f0927541ba19963603ad7f5"; + hash = "sha256-bXUlc8SnLIEopGtqyXbqu50qe1PNW5875l8WdsfyANw="; }; nativeBuildInputs = [ gtk3 ]; diff --git a/pkgs/by-name/ca/cargo-binstall/package.nix b/pkgs/by-name/ca/cargo-binstall/package.nix index dd6cbc0d0e48..9db59aec6668 100644 --- a/pkgs/by-name/ca/cargo-binstall/package.nix +++ b/pkgs/by-name/ca/cargo-binstall/package.nix @@ -10,17 +10,17 @@ rustPlatform.buildRustPackage rec { pname = "cargo-binstall"; - version = "1.12.6"; + version = "1.12.7"; src = fetchFromGitHub { owner = "cargo-bins"; repo = "cargo-binstall"; rev = "v${version}"; - hash = "sha256-bcQrgiKgJqmqKYQj0aaiMooX0ORUW2W7ZYuc+W3m8jg="; + hash = "sha256-DPCVVd9RwU+hJ8ObIq003HsP5EuIt366eviHiFPWiPM="; }; useFetchCargoVendor = true; - cargoHash = "sha256-4J0h4itAWq0g3V5KV9Yy8oT0v0jgkkowEAexLgC6XEs="; + cargoHash = "sha256-40sv+jPyRlc+IwLHXkRUitNc0dUNml1m/4+xf81qup0="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/ca/cargo-careful/package.nix b/pkgs/by-name/ca/cargo-careful/package.nix index 5cd6a3c6d920..23c14d69b169 100644 --- a/pkgs/by-name/ca/cargo-careful/package.nix +++ b/pkgs/by-name/ca/cargo-careful/package.nix @@ -6,17 +6,17 @@ rustPlatform.buildRustPackage rec { pname = "cargo-careful"; - version = "0.4.6"; + version = "0.4.7"; src = fetchFromGitHub { owner = "RalfJung"; repo = "cargo-careful"; rev = "v${version}"; - hash = "sha256-aKmaNDk9yZ/1MS3vQ9c1rCySfxiNv8PRwnIjT5bdhMg="; + hash = "sha256-aMQrPJp0AVEYfMlWZBy9IMvQQxlkW7KWuxqLn1Ds2ck="; }; useFetchCargoVendor = true; - cargoHash = "sha256-KtTTpYwhNYvghb8k2NXyCRV5NGn07d7iaW+5uTI6qJ4="; + cargoHash = "sha256-5uMz1j0ZnA4wPMfC2SeY33zsiTt2NNZnWh9th2UJiNI="; meta = with lib; { description = "Tool to execute Rust code carefully, with extra checking along the way"; diff --git a/pkgs/by-name/ca/cargo-deny/package.nix b/pkgs/by-name/ca/cargo-deny/package.nix index 8d065e935b82..6d09a6851895 100644 --- a/pkgs/by-name/ca/cargo-deny/package.nix +++ b/pkgs/by-name/ca/cargo-deny/package.nix @@ -8,17 +8,17 @@ rustPlatform.buildRustPackage rec { pname = "cargo-deny"; - version = "0.18.2"; + version = "0.18.3"; src = fetchFromGitHub { owner = "EmbarkStudios"; repo = "cargo-deny"; rev = version; - hash = "sha256-u93x0w6gSPxDCrp9bNJDCxLBZfh8EhXU4qvhklI4GKY="; + hash = "sha256-cFgc3bdNVLeuie4sVC+klmQ1/C6W3LkTgORMCfOte4Q="; }; useFetchCargoVendor = true; - cargoHash = "sha256-3fCACetvO9KRjoTh3V41+vhWFjwaNtoHZ/Zh+Zxmxlc="; + cargoHash = "sha256-3TfyFsBSjo8VEDrUehoV2ccXh+xY+iQ9xihj1Bl2MhI="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/ca/cargo-expand/package.nix b/pkgs/by-name/ca/cargo-expand/package.nix index 76738b936e28..17ceb424c823 100644 --- a/pkgs/by-name/ca/cargo-expand/package.nix +++ b/pkgs/by-name/ca/cargo-expand/package.nix @@ -6,17 +6,17 @@ rustPlatform.buildRustPackage rec { pname = "cargo-expand"; - version = "1.0.107"; + version = "1.0.109"; src = fetchFromGitHub { owner = "dtolnay"; repo = "cargo-expand"; rev = version; - hash = "sha256-oAZ7xt/Ji36XtGh7UXHbseBRQtpmsKHcAABiloITPXA="; + hash = "sha256-LMY9kSyFc9B1yxuJ+maE/ETIyaClRLlGlKixnQ7oirw="; }; useFetchCargoVendor = true; - cargoHash = "sha256-4HH25MEj3iCrm9iCW8vWVMDou/F3YidRIWDH0m5FTaY="; + cargoHash = "sha256-MK3YODig3KK8qJ3EjLYGE1qR9vukHux9gsEA1C2v8EQ="; meta = { description = "Cargo subcommand to show result of macro expansion"; diff --git a/pkgs/by-name/ca/cargo-llvm-cov/package.nix b/pkgs/by-name/ca/cargo-llvm-cov/package.nix index 1ad5df27c772..cddf9e4845da 100644 --- a/pkgs/by-name/ca/cargo-llvm-cov/package.nix +++ b/pkgs/by-name/ca/cargo-llvm-cov/package.nix @@ -52,7 +52,7 @@ rustPlatform.buildRustPackage (finalAttrs: { # pull in fixtures needed for the test suite src = fetchFromGitHub { inherit owner; - repo = pname; + repo = "cargo-llvm-cov"; rev = "v${version}"; sha256 = "sha256-iJrnNDSMich5OzEbPgnQWLVz6Zj/MUIzEsaBzqVdoDg="; }; diff --git a/pkgs/by-name/ca/cargo-modules/package.nix b/pkgs/by-name/ca/cargo-modules/package.nix index f580869d1b7b..fb39a2c88512 100644 --- a/pkgs/by-name/ca/cargo-modules/package.nix +++ b/pkgs/by-name/ca/cargo-modules/package.nix @@ -6,17 +6,17 @@ }: rustPlatform.buildRustPackage rec { pname = "cargo-modules"; - version = "0.24.1"; + version = "0.24.2"; src = fetchFromGitHub { owner = "regexident"; repo = "cargo-modules"; tag = "v${version}"; - hash = "sha256-VApgcyG2wKZ2kXHvToWfFi/YM0Q0Ebw2G1RJfmMrGuI="; + hash = "sha256-Z6CbH0a2LCHtFQeiHXAC8ebysVLueHNlqxDe+Q3Tbyc="; }; useFetchCargoVendor = true; - cargoHash = "sha256-kKYB6Dvvw/DkMJ0q9PPltZMBgGQJ50L7MXFOVjkHSEM="; + cargoHash = "sha256-8MNhuvYfIVAIsnHFyz38CY0YOgqc9AwEh3W5kn9Gs3k="; checkFlags = [ "--skip=cfg_test::with_tests::smoke" diff --git a/pkgs/by-name/ca/cargo-nextest/package.nix b/pkgs/by-name/ca/cargo-nextest/package.nix index 54907e8f61b8..cf0e8d3c4175 100644 --- a/pkgs/by-name/ca/cargo-nextest/package.nix +++ b/pkgs/by-name/ca/cargo-nextest/package.nix @@ -7,17 +7,17 @@ rustPlatform.buildRustPackage rec { pname = "cargo-nextest"; - version = "0.9.97"; + version = "0.9.98"; src = fetchFromGitHub { owner = "nextest-rs"; repo = "nextest"; rev = "cargo-nextest-${version}"; - hash = "sha256-5UhmWewLj3bjtvqyb6FcC1qZQbAutRPXnBi7e/lyArM="; + hash = "sha256-JQw3HWRtTFz1XsqyQLN/7YkePT0Th3QLj3D13au2IKc="; }; useFetchCargoVendor = true; - cargoHash = "sha256-mTKcQ76A++LK+54ChmCUF/7dsubdz7GZpOZUp+afqfQ="; + cargoHash = "sha256-rf89X1Y0OD4WmaKRwSV506XASo/te/dlC50iBNKNGAg="; cargoBuildFlags = [ "-p" diff --git a/pkgs/by-name/ca/cargo-seek/package.nix b/pkgs/by-name/ca/cargo-seek/package.nix index e3f44a9c565f..8d665635f2ea 100644 --- a/pkgs/by-name/ca/cargo-seek/package.nix +++ b/pkgs/by-name/ca/cargo-seek/package.nix @@ -22,13 +22,9 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoHash = "sha256-DyXRbtvCJte7mCQKusipeikr981vMHPEVYcGSwVI5Kg="; - nativeBuildInputs = [ - pkg-config - ]; + nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - openssl - ]; + buildInputs = [ openssl ]; doInstallCheck = true; nativeInstallCheckInputs = [ @@ -36,7 +32,7 @@ rustPlatform.buildRustPackage (finalAttrs: { writableTmpDirAsHomeHook ]; versionCheckProgramArg = "--version"; - versionCheckDontIgnoreEnvironment = true; + versionCheckKeepEnvironment = [ "HOME" ]; passthru.updateScript = nix-update-script { }; diff --git a/pkgs/by-name/ca/cargo-tally/package.nix b/pkgs/by-name/ca/cargo-tally/package.nix index 0caf6b7bec2b..129dd87cf991 100644 --- a/pkgs/by-name/ca/cargo-tally/package.nix +++ b/pkgs/by-name/ca/cargo-tally/package.nix @@ -6,15 +6,15 @@ rustPlatform.buildRustPackage rec { pname = "cargo-tally"; - version = "1.0.64"; + version = "1.0.65"; src = fetchCrate { inherit pname version; - hash = "sha256-5eRDKGocAdK8jyDrbEOEQxS4ykneTDbDfXvVU/AH4f8="; + hash = "sha256-cvMB/hMq0LCfuXHX1Gg0c3i69T1uQWKIddUru5dcg7g="; }; useFetchCargoVendor = true; - cargoHash = "sha256-9p5IfGfOWyDanaUt1h6bnq4mDxp+VdU4scNdWGRiWYE="; + cargoHash = "sha256-ReVLeyQY08i1sH6IujeLK8y1+PfPm8BoYInzbTHHnlw="; meta = { description = "Graph the number of crates that depend on your crate over time"; diff --git a/pkgs/by-name/ca/cargo-update/package.nix b/pkgs/by-name/ca/cargo-update/package.nix index 2055f9a621b5..292dcfe5057c 100644 --- a/pkgs/by-name/ca/cargo-update/package.nix +++ b/pkgs/by-name/ca/cargo-update/package.nix @@ -16,15 +16,15 @@ rustPlatform.buildRustPackage rec { pname = "cargo-update"; - version = "16.2.1"; + version = "16.3.2"; src = fetchCrate { inherit pname version; - hash = "sha256-Vl5ClzS3OULsd+3dlaN5iZPw2YZeBSPHWFOS+izmr7Q="; + hash = "sha256-VKXEbgm3Oc4rq/F2p/kuhhhiyKvLU6KHnKnQMBX17XU="; }; useFetchCargoVendor = true; - cargoHash = "sha256-Yq2jT8YnWPsNe7akShsj0nWxXXpgNvX1A95x7O8LOes="; + cargoHash = "sha256-AXYcDxKQ9p4deolcZFO5SmfwnQGxl1I03RK6tSTbjlo="; nativeBuildInputs = [ diff --git a/pkgs/by-name/ca/cargo-xbuild/package.nix b/pkgs/by-name/ca/cargo-xbuild/package.nix index 973edf44d469..f47b9201d981 100644 --- a/pkgs/by-name/ca/cargo-xbuild/package.nix +++ b/pkgs/by-name/ca/cargo-xbuild/package.nix @@ -10,7 +10,7 @@ rustPlatform.buildRustPackage rec { src = fetchFromGitHub { owner = "rust-osdev"; - repo = pname; + repo = "cargo-xbuild"; rev = "v${version}"; hash = "sha256-29rCjmzxxIjR5nBN2J3xxP+r8NnPIJV90FkSQQEBbo4="; }; diff --git a/pkgs/by-name/ca/cargo-xwin/package.nix b/pkgs/by-name/ca/cargo-xwin/package.nix index 039525814b43..c6b956a43685 100644 --- a/pkgs/by-name/ca/cargo-xwin/package.nix +++ b/pkgs/by-name/ca/cargo-xwin/package.nix @@ -6,17 +6,17 @@ rustPlatform.buildRustPackage rec { pname = "cargo-xwin"; - version = "0.18.5"; + version = "0.18.6"; src = fetchFromGitHub { owner = "rust-cross"; repo = "cargo-xwin"; rev = "v${version}"; - hash = "sha256-P4X7k0r29vEjsVHGOD/rFpltUF2PJHETVyazJ6c8UhQ="; + hash = "sha256-srPXWJAMc5IOLucGg0QNG23aqMABftQTM3PjcbZc8+A="; }; useFetchCargoVendor = true; - cargoHash = "sha256-Oq3IfaywAZPrh4oom2ejPQRTM2BsgEzfaifaLAQzvbw="; + cargoHash = "sha256-1JJSK7Ss4o/Vk1mxQtNfTLOuA5fwfKpcv5MrsJEuXYU="; meta = with lib; { description = "Cross compile Cargo project to Windows MSVC target with ease"; diff --git a/pkgs/by-name/ca/cargo-zigbuild/package.nix b/pkgs/by-name/ca/cargo-zigbuild/package.nix index 3832271ed291..8937a105da12 100644 --- a/pkgs/by-name/ca/cargo-zigbuild/package.nix +++ b/pkgs/by-name/ca/cargo-zigbuild/package.nix @@ -12,7 +12,7 @@ rustPlatform.buildRustPackage rec { src = fetchFromGitHub { owner = "messense"; - repo = pname; + repo = "cargo-zigbuild"; rev = "v${version}"; hash = "sha256-sUoEKLaUBxKKtCwgw/CcLrVRA4OMhto7d0PR+TMU5xk="; }; diff --git a/pkgs/by-name/ca/casilda/package.nix b/pkgs/by-name/ca/casilda/package.nix index 3b702edeb455..9349c1a660b5 100644 --- a/pkgs/by-name/ca/casilda/package.nix +++ b/pkgs/by-name/ca/casilda/package.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchFromGitLab, - fetchpatch, meson, ninja, pkg-config, @@ -19,7 +18,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "casilda"; - version = "0.2.0"; + version = "0.3.0-unstable-2025-06-16"; outputs = [ "out" @@ -30,22 +29,11 @@ stdenv.mkDerivation (finalAttrs: { domain = "gitlab.gnome.org"; owner = "jpu"; repo = "casilda"; - tag = finalAttrs.version; - hash = "sha256-wTYx4Wj8u52+yNc/A5Lg0zqmhKh8X0q99e+TilpUrC4="; + rev = "5b5933d32f0221341c98a25dea1ce5ef78199a79"; + hash = "sha256-LrXoVK7KMjIko6jUkrKY06QdZMQaVrHhG7/C5ickdJA="; }; - patches = [ - # Fix missing clock_gettime function - # https://gitlab.gnome.org/jpu/casilda/-/merge_requests/4 - (fetchpatch { - url = "https://gitlab.gnome.org/jpu/casilda/-/commit/dcebb8e67d6dc7c47332d1c76a1d5bf60eaee7b1.patch"; - hash = "sha256-l3zu29PPRwzDuoeoqUs4Gi3JziyZ9vDdqvRfz7GQ4Sw="; - }) - ]; - - depsBuildBuild = [ - pkg-config - ]; + depsBuildBuild = [ pkg-config ]; nativeBuildInputs = [ meson @@ -61,12 +49,10 @@ stdenv.mkDerivation (finalAttrs: { wayland-protocols wayland # for wayland-server libxkbcommon + wlroots_0_18 ]; - propagatedBuildInputs = [ - gtk4 - wlroots_0_18 # todo: move to buildInputs after https://gitlab.gnome.org/jpu/casilda/-/merge_requests/7 - ]; + propagatedBuildInputs = [ gtk4 ]; strictDeps = true; diff --git a/pkgs/by-name/ca/cassowary/package.nix b/pkgs/by-name/ca/cassowary/package.nix index 5d36ac2a2ceb..bbadc9ab9d49 100644 --- a/pkgs/by-name/ca/cassowary/package.nix +++ b/pkgs/by-name/ca/cassowary/package.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "cassowary"; - version = "0.18.0"; + version = "0.19.0"; src = fetchFromGitHub { owner = "rogerwelin"; repo = "cassowary"; rev = "v${version}"; - sha256 = "sha256-zaG4HrdTGXTalMFz/huRW32RZBQx55AvUi29tz6vFD8="; + sha256 = "sha256-27sEexOGLQ42qWY+vCiPTt5XR66TSUvKsuGgtkbMgE4="; }; vendorHash = "sha256-YP9q9lL2A9ERhzbJBIFKsYsgvy5xYeUO3ekyQdh97f8="; diff --git a/pkgs/by-name/ca/catalyst/package.nix b/pkgs/by-name/ca/catalyst/package.nix new file mode 100644 index 000000000000..d6e7f00903b7 --- /dev/null +++ b/pkgs/by-name/ca/catalyst/package.nix @@ -0,0 +1,111 @@ +{ + lib, + stdenv, + fetchFromGitLab, + cmake, + gfortran, + mpi, + python3Packages, + ctestCheckHook, + mpiCheckPhaseHook, + mpiSupport ? true, + pythonSupport ? false, + fortranSupport ? false, + + # passthru.tests + testers, + catalyst, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "catalyst"; + version = "2.0.0"; + + src = fetchFromGitLab { + domain = "gitlab.kitware.com"; + owner = "paraview"; + repo = "catalyst"; + tag = "v${finalAttrs.version}"; + hash = "sha256-uPb7vgJpKquZVmSMxeWDVMiNkUdYv3oVVKu7t4+zkbs="; + }; + + nativeBuildInputs = + [ + cmake + ] + ++ lib.optionals pythonSupport [ + python3Packages.python + python3Packages.pythonImportsCheckHook + ] + ++ lib.optionals fortranSupport [ + gfortran + ]; + + propagatedBuildInputs = + # create meta package providing dist-info for python3Pacakges.catalyst that common cmake build does not do + lib.optional pythonSupport ( + python3Packages.mkPythonMetaPackage { + inherit (finalAttrs) pname version meta; + dependencies = + with python3Packages; + [ + numpy + ] + ++ lib.optional mpiSupport (mpi4py.override { inherit mpi; }); + } + ) + ++ lib.optional mpiSupport mpi; + + cmakeFlags = [ + (lib.cmakeFeature "CMAKE_INSTALL_BINDIR" "bin") + (lib.cmakeFeature "CMAKE_INSTALL_LIBDIR" "lib") + (lib.cmakeFeature "CMAKE_INSTALL_INCLUDEDIR" "include") + (lib.cmakeBool "CATALYST_USE_MPI" mpiSupport) + (lib.cmakeBool "CATALYST_WRAP_PYTHON" pythonSupport) + (lib.cmakeBool "CATALYST_WRAP_FORTRAN" fortranSupport) + (lib.cmakeBool "CATALYST_BUILD_TESTING" finalAttrs.finalPackage.doCheck) + ]; + + postInstall = lib.optionalString pythonSupport '' + python -m compileall -s $out $out/${python3Packages.python.sitePackages} + ''; + + doCheck = true; + + preCheck = lib.optionalString stdenv.hostPlatform.isDarwin '' + export DYLD_LIBRARY_PATH=$PWD/lib:$DYLD_LIBRARY_PATH + ''; + + __darwinAllowLocalNetworking = mpiSupport; + + nativeCheckInputs = [ ctestCheckHook ] ++ lib.optional mpiSupport mpiCheckPhaseHook; + + disabledTests = lib.optionals fortranSupport [ + # unexpected fortran binding symbol *__iso_c_binding_C_ptr + "catalyst-abi-nm" + ]; + + pythonImportsCheck = [ "catalyst" ]; + + passthru.tests = { + cmake-config = testers.hasCmakeConfigModules { + moduleNames = [ "catalyst" ]; + package = finalAttrs.finalPackage; + }; + serial = catalyst.override { mpiSupport = false; }; + fortran = catalyst.override { fortranSupport = true; }; + }; + + meta = { + description = "In situ visualization and analysis library"; + homepage = "https://kitware.github.io/paraview-catalyst"; + downloadPage = "https://gitlab.kitware.com/paraview/catalyst"; + license = with lib.licenses; [ + bsd3 + # vendored conduit + bsd3Lbnl + ]; + maintainers = with lib.maintainers; [ qbisi ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/by-name/cb/cbatticon/package.nix b/pkgs/by-name/cb/cbatticon/package.nix index f5050e42624f..31eec833e0c8 100644 --- a/pkgs/by-name/cb/cbatticon/package.nix +++ b/pkgs/by-name/cb/cbatticon/package.nix @@ -45,6 +45,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/valr/cbatticon"; license = licenses.gpl2; platforms = platforms.linux; - maintainers = [ maintainers.domenkozar ]; + maintainers = [ ]; }; } diff --git a/pkgs/by-name/cc/ccextractor/package.nix b/pkgs/by-name/cc/ccextractor/package.nix index 7c8fbb886b86..923490264df7 100644 --- a/pkgs/by-name/cc/ccextractor/package.nix +++ b/pkgs/by-name/cc/ccextractor/package.nix @@ -30,13 +30,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "ccextractor"; - version = "0.94-unstable-2024-08-12"; + version = "0.94-unstable-2025-05-20"; src = fetchFromGitHub { owner = "CCExtractor"; repo = "ccextractor"; - rev = "92f2ce0fa026b01fb07db6751210e6bd8c8944d3"; - hash = "sha256-bp7T9uJK4bauR2Co4lKqqnM6oGa3WZ+1toEKmzOx4mI="; + rev = "407d0f4e93611c5b0ceb14b7fc01d4a4c2e90433"; + hash = "sha256-BfsQmCNB4HRafqJ3pC2ECiwhOgwKuIqiLjr2/bvHr7Q="; }; patches = [ @@ -51,7 +51,7 @@ stdenv.mkDerivation (finalAttrs: { cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) src cargoRoot; patches = [ ./use-rsmpeg-0.15.patch ]; - hash = "sha256-7v3gQghByUDWZLJRRGa/7X2ivUumirq6BbexNQcCXCk="; + hash = "sha256-68Y8nzPHxhVIRHoPXOy9tc71177lCBuOf//z3cqyDGQ="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/cc/ccextractor/use-rsmpeg-0.15.patch b/pkgs/by-name/cc/ccextractor/use-rsmpeg-0.15.patch index 89af3884639d..2f5fe1eac532 100644 --- a/pkgs/by-name/cc/ccextractor/use-rsmpeg-0.15.patch +++ b/pkgs/by-name/cc/ccextractor/use-rsmpeg-0.15.patch @@ -34,10 +34,9 @@ index 4c1e73dcf0..68502915dc 100644 +++ b/src/rust/Cargo.toml @@ -15,7 +15,7 @@ env_logger = "0.8.4" - iconv = "0.1.1" - palette = "0.6.0" --rsmpeg = { version = "0.14.1", optional = true, features = [ + palette = "0.6.1" +-rsmpeg = { version = "0.14.2", optional = true, features = [ +rsmpeg = { version = "0.15.1", optional = true, features = [ "link_system_ffmpeg", ] } - tesseract-sys = { version = "0.5.14", optional = true, default-features = false } + tesseract-sys = { version = "0.5.15", optional = true, default-features = false } diff --git a/pkgs/by-name/cd/cdncheck/package.nix b/pkgs/by-name/cd/cdncheck/package.nix index 7934b8527312..d13ac9b84028 100644 --- a/pkgs/by-name/cd/cdncheck/package.nix +++ b/pkgs/by-name/cd/cdncheck/package.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "cdncheck"; - version = "1.1.22"; + version = "1.1.23"; src = fetchFromGitHub { owner = "projectdiscovery"; repo = "cdncheck"; tag = "v${version}"; - hash = "sha256-EjmQBNYfRl6R01Q3khMqsoYWZM9gG5eiZyJzJrs5ZjQ="; + hash = "sha256-Oe1KjcyofOwrHbxc+MHEfKiYLhqTBPiB6LWu6ZTnCuw="; }; vendorHash = "sha256-/1REkZ5+sz/H4T4lXhloz7fu5cLv1GoaD3dlttN+Qd4="; diff --git a/pkgs/by-name/ce/certificate-ripper/package.nix b/pkgs/by-name/ce/certificate-ripper/package.nix index 97e43c693096..ece2a2fa1186 100644 --- a/pkgs/by-name/ce/certificate-ripper/package.nix +++ b/pkgs/by-name/ce/certificate-ripper/package.nix @@ -5,18 +5,18 @@ buildGraalvmNativeImage, }: -let +buildGraalvmNativeImage (finalAttrs: { pname = "certificate-ripper"; version = "2.4.1"; - jar = maven.buildMavenPackage { - pname = "${pname}-jar"; - inherit version; + src = maven.buildMavenPackage { + pname = "certificate-ripper-jar"; + inherit (finalAttrs) version; src = fetchFromGitHub { owner = "Hakky54"; repo = "certificate-ripper"; - tag = version; + tag = finalAttrs.version; hash = "sha256-qQ5BHH+DT1sGNDGzSbclqc6+byBxyP16qvm3k9E/Yks="; }; @@ -46,13 +46,6 @@ let install -Dm644 target/crip.jar $out ''; }; -in -buildGraalvmNativeImage { - inherit pname version; - - src = jar; - - executable = "crip"; # Copied from pom.xml extraNativeImageBuildArgs = [ @@ -62,10 +55,11 @@ buildGraalvmNativeImage { ]; meta = { - changelog = "https://github.com/Hakky54/certificate-ripper/releases/tag/${jar.src.tag}"; + changelog = "https://github.com/Hakky54/certificate-ripper/releases/tag/${finalAttrs.version}"; description = "CLI tool to extract server certificates"; homepage = "https://github.com/Hakky54/certificate-ripper"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ tomasajt ]; + mainProgram = "crip"; }; -} +}) diff --git a/pkgs/by-name/ce/certspotter/package.nix b/pkgs/by-name/ce/certspotter/package.nix index 044e5256abd7..1666f356c02b 100644 --- a/pkgs/by-name/ce/certspotter/package.nix +++ b/pkgs/by-name/ce/certspotter/package.nix @@ -7,13 +7,13 @@ buildGoModule rec { pname = "certspotter"; - version = "0.19.1"; + version = "0.20.0"; src = fetchFromGitHub { owner = "SSLMate"; repo = "certspotter"; rev = "v${version}"; - hash = "sha256-aVlCN2bk/gKUb6gQ7/VnhJCx1x5A9UzOzg/WA9VxBVY="; + hash = "sha256-CX0YchfX6EwIjH+m1FEHqfuXurg51JC4l+97BgXYXJg="; }; vendorHash = "sha256-+6Gu3y708XXX7CHvZmEh7j3ILNBi/++8Mud34mOrtmA="; diff --git a/pkgs/by-name/ch/charmcraft/package.nix b/pkgs/by-name/ch/charmcraft/package.nix index 8d39d10f6837..6f5707243d6f 100644 --- a/pkgs/by-name/ch/charmcraft/package.nix +++ b/pkgs/by-name/ch/charmcraft/package.nix @@ -7,6 +7,7 @@ cacert, versionCheckHook, writableTmpDirAsHomeHook, + stdenv, }: let version = "4.10.0"; @@ -26,13 +27,24 @@ let substituteInPlace pyproject.toml --replace-fail "setuptools==75.8.0" "setuptools" substituteInPlace craft_application/git/_git_repo.py --replace-fail "/snap/core22/current/etc/ssl/certs" "${cacert}/etc/ssl/certs" ''; + + disabledTestPaths = [ + # These tests assert outputs of commands that assume Ubuntu-related output. + "tests/unit/services/test_lifecycle.py" + ]; + + disabledTests = + old.disabledTests + ++ lib.optionals stdenv.hostPlatform.isAarch64 [ + "test_process_grammar_full" + ]; }); }; }; in python.pkgs.buildPythonApplication rec { pname = "charmcraft"; - version = "3.5.0"; + version = "3.5.1"; pyproject = true; @@ -40,7 +52,7 @@ python.pkgs.buildPythonApplication rec { owner = "canonical"; repo = "charmcraft"; tag = version; - hash = "sha256-NIOfjd4r9mDP0x1IpIVJlU+Aza0a17bc3jDxtInrf4A="; + hash = "sha256-4zlUHttny6nIRhx/5aDz2sh1Va0+nN+7cezBGtt5Img="; }; postPatch = '' diff --git a/pkgs/by-name/ch/chatbox/package.nix b/pkgs/by-name/ch/chatbox/package.nix index 86f55dcc6050..79b25131fa83 100644 --- a/pkgs/by-name/ch/chatbox/package.nix +++ b/pkgs/by-name/ch/chatbox/package.nix @@ -6,11 +6,11 @@ }: let pname = "chatbox"; - version = "1.12.3"; + version = "1.13.4"; src = fetchurl { url = "https://download.chatboxai.app/releases/Chatbox-${version}-x86_64.AppImage"; - hash = "sha256-/jrieUFKGSZT59e0q42rmUeDslHWgEPga/7jg8375sw="; + hash = "sha256-pNRHDP3xbOix0wqSGaBAksGbzDXnq6I00t/A7cDkPzQ="; }; appimageContents = appimageTools.extract { inherit pname version src; }; diff --git a/pkgs/by-name/ch/chatmcp/package.nix b/pkgs/by-name/ch/chatmcp/package.nix index cea4234fdee3..e74f4915fa5e 100644 --- a/pkgs/by-name/ch/chatmcp/package.nix +++ b/pkgs/by-name/ch/chatmcp/package.nix @@ -1,6 +1,6 @@ { lib, - flutter329, + flutter332, fetchFromGitHub, autoPatchelfHook, copyDesktopItems, @@ -12,15 +12,15 @@ gitUpdater, }: -flutter329.buildFlutterApplication rec { +flutter332.buildFlutterApplication rec { pname = "chatmcp"; - version = "0.0.57"; + version = "0.0.66"; src = fetchFromGitHub { owner = "daodao97"; repo = "chatmcp"; tag = "v${version}"; - hash = "sha256-V4Tf3nIGMytVuSRlHDd8FvG4qyrpESM1cZKJS9PRCMg="; + hash = "sha256-X4cndztMEncAwosSg2RaK3trvupwumcPpMb94D6JEcE="; }; pubspecLock = lib.importJSON ./pubspec.lock.json; diff --git a/pkgs/by-name/ch/chatmcp/pubspec.lock.json b/pkgs/by-name/ch/chatmcp/pubspec.lock.json index 1320263dd106..db84ee24c8d4 100644 --- a/pkgs/by-name/ch/chatmcp/pubspec.lock.json +++ b/pkgs/by-name/ch/chatmcp/pubspec.lock.json @@ -14,11 +14,11 @@ "dependency": "transitive", "description": { "name": "analyzer", - "sha256": "13c1e6c6fd460522ea840abec3f677cc226f5fec7872c04ad7b425517ccf54f7", + "sha256": "904ae5bb474d32c38fb9482e2d925d5454cda04ddd0e55d2e6826bc72f6ba8c0", "url": "https://pub.dev" }, "source": "hosted", - "version": "7.4.4" + "version": "7.4.5" }, "archive": { "dependency": "transitive", @@ -44,11 +44,11 @@ "dependency": "transitive", "description": { "name": "async", - "sha256": "d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63", + "sha256": "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb", "url": "https://pub.dev" }, "source": "hosted", - "version": "2.12.0" + "version": "2.13.0" }, "boolean_selector": { "dependency": "transitive", @@ -144,11 +144,11 @@ "dependency": "transitive", "description": { "name": "built_value", - "sha256": "ea90e81dc4a25a043d9bee692d20ed6d1c4a1662a28c03a96417446c093ed6b4", + "sha256": "082001b5c3dc495d4a42f1d5789990505df20d8547d42507c29050af6933ee27", "url": "https://pub.dev" }, "source": "hosted", - "version": "8.9.5" + "version": "8.10.1" }, "cached_network_image": { "dependency": "direct main", @@ -194,11 +194,11 @@ "dependency": "transitive", "description": { "name": "checked_yaml", - "sha256": "feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff", + "sha256": "959525d3162f249993882720d52b7e0c833978df229be20702b33d48d91de70f", "url": "https://pub.dev" }, "source": "hosted", - "version": "2.0.3" + "version": "2.0.4" }, "cli_config": { "dependency": "transitive", @@ -264,11 +264,11 @@ "dependency": "transitive", "description": { "name": "coverage", - "sha256": "802bd084fb82e55df091ec8ad1553a7331b61c08251eef19a508b6f3f3a9858d", + "sha256": "aa07dbe5f2294c827b7edb9a87bba44a9c15a3cc81bc8da2ca19b37322d30080", "url": "https://pub.dev" }, "source": "hosted", - "version": "1.13.1" + "version": "1.14.1" }, "cross_file": { "dependency": "transitive", @@ -314,11 +314,21 @@ "dependency": "transitive", "description": { "name": "dart_style", - "sha256": "27eb0ae77836989a3bc541ce55595e8ceee0992807f14511552a898ddd0d88ac", + "sha256": "5b236382b47ee411741447c1f1e111459c941ea1b3f2b540dde54c210a3662af", "url": "https://pub.dev" }, "source": "hosted", - "version": "3.0.1" + "version": "3.1.0" + }, + "dev_build": { + "dependency": "transitive", + "description": { + "name": "dev_build", + "sha256": "fda8a54458b2a873a84e0cd1513f4323a1fb0599ed5455245359bc0398bad9ee", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.2+11" }, "event_bus": { "dependency": "direct main", @@ -344,11 +354,11 @@ "dependency": "transitive", "description": { "name": "fake_async", - "sha256": "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc", + "sha256": "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44", "url": "https://pub.dev" }, "source": "hosted", - "version": "1.3.2" + "version": "1.3.3" }, "ffi": { "dependency": "transitive", @@ -374,11 +384,11 @@ "dependency": "direct main", "description": { "name": "file_picker", - "sha256": "ab13ae8ef5580a411c458d6207b6774a6c237d77ac37011b13994879f68a8810", + "sha256": "ef9908739bdd9c476353d6adff72e88fd00c625f5b959ae23f7567bd5137db0a", "url": "https://pub.dev" }, "source": "hosted", - "version": "8.3.7" + "version": "10.2.0" }, "fixnum": { "dependency": "transitive", @@ -580,21 +590,21 @@ "dependency": "direct dev", "description": { "name": "flutter_launcher_icons", - "sha256": "bfa04787c85d80ecb3f8777bde5fc10c3de809240c48fa061a2c2bf15ea5211c", + "sha256": "10f13781741a2e3972126fae08393d3c4e01fa4cd7473326b94b72cf594195e7", "url": "https://pub.dev" }, "source": "hosted", - "version": "0.14.3" + "version": "0.14.4" }, "flutter_lints": { "dependency": "direct dev", "description": { "name": "flutter_lints", - "sha256": "5398f14efa795ffb7a33e9b6a08798b26a180edac4ad7db3f231e40f82ce11e1", + "sha256": "3105dc8492f6183fb076ccf1f351ac3d60564bff92e20bfc4af9cc1651f4e7e1", "url": "https://pub.dev" }, "source": "hosted", - "version": "5.0.0" + "version": "6.0.0" }, "flutter_localizations": { "dependency": "direct main", @@ -606,11 +616,11 @@ "dependency": "direct main", "description": { "name": "flutter_math_fork", - "sha256": "284bab89b2fbf1bc3a0baf13d011c1dd324d004e35d177626b77f2fc056366ac", + "sha256": "6d5f2f1aa57ae539ffb0a04bb39d2da67af74601d685a161aff7ce5bda5fa407", "url": "https://pub.dev" }, "source": "hosted", - "version": "0.7.3" + "version": "0.7.4" }, "flutter_plugin_android_lifecycle": { "dependency": "transitive", @@ -626,11 +636,11 @@ "dependency": "direct main", "description": { "name": "flutter_popup", - "sha256": "8f93cb4ec7341330ee585b4624ac6596f02587aaefc47297344cb7b5af26aa07", + "sha256": "08e554be1173f4e7bb5eda2ae2e5addd565873026a3ac9b64c38ea86dfd4dc9d", "url": "https://pub.dev" }, "source": "hosted", - "version": "3.3.4" + "version": "3.3.9" }, "flutter_svg": { "dependency": "direct main", @@ -728,11 +738,11 @@ "dependency": "direct main", "description": { "name": "http", - "sha256": "fe7ab022b76f3034adc518fb6ea04a82387620e19977665ea18d30a1cf43442f", + "sha256": "2c11f3f94c687ee9bad77c171151672986360b2b001d109814ee7140b2cf261b", "url": "https://pub.dev" }, "source": "hosted", - "version": "1.3.0" + "version": "1.4.0" }, "http_multi_server": { "dependency": "transitive", @@ -768,11 +778,11 @@ "dependency": "direct main", "description": { "name": "intl", - "sha256": "d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf", + "sha256": "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5", "url": "https://pub.dev" }, "source": "hosted", - "version": "0.19.0" + "version": "0.20.2" }, "io": { "dependency": "transitive", @@ -804,15 +814,15 @@ "source": "hosted", "version": "4.9.0" }, - "jsonc": { + "json_serializable": { "dependency": "direct main", "description": { - "name": "jsonc", - "sha256": "326a3c5c774a77c3c4e327f359e0268bff34135d0c16078beee6d921c49a16ed", + "name": "json_serializable", + "sha256": "c50ef5fc083d5b5e12eef489503ba3bf5ccc899e487d691584699b4bdefeea8c", "url": "https://pub.dev" }, "source": "hosted", - "version": "0.0.3" + "version": "6.9.5" }, "keyboard_dismisser": { "dependency": "direct main", @@ -828,11 +838,11 @@ "dependency": "transitive", "description": { "name": "leak_tracker", - "sha256": "c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec", + "sha256": "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0", "url": "https://pub.dev" }, "source": "hosted", - "version": "10.0.8" + "version": "10.0.9" }, "leak_tracker_flutter_testing": { "dependency": "transitive", @@ -858,11 +868,11 @@ "dependency": "transitive", "description": { "name": "lints", - "sha256": "c35bb79562d980e9a453fc715854e1ed39e24e7d0297a880ef54e17f9874a9d7", + "sha256": "a5e2b223cb7c9c8efdc663ef484fdd95bb243bff242ef5b13e26883547fce9a0", "url": "https://pub.dev" }, "source": "hosted", - "version": "5.1.1" + "version": "6.0.0" }, "logging": { "dependency": "direct main", @@ -1134,6 +1144,16 @@ "source": "hosted", "version": "6.0.2" }, + "process_run": { + "dependency": "transitive", + "description": { + "name": "process_run", + "sha256": "6ec839cdd3e6de4685318e7686cd4abb523c3d3a55af0e8d32a12ae19bc66622", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.4" + }, "provider": { "dependency": "direct main", "description": { @@ -1390,6 +1410,16 @@ "source": "hosted", "version": "2.0.0" }, + "source_helper": { + "dependency": "transitive", + "description": { + "name": "source_helper", + "sha256": "86d247119aedce8e63f4751bd9626fc9613255935558447569ad42f9f5b48b3c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.3.5" + }, "source_map_stack_trace": { "dependency": "transitive", "description": { @@ -1464,11 +1494,21 @@ "dependency": "direct main", "description": { "name": "sqflite_common_ffi", - "sha256": "1f3ef3888d3bfbb47785cc1dda0dc7dd7ebd8c1955d32a9e8e9dae1e38d1c4c1", + "sha256": "9faa2fedc5385ef238ce772589f7718c24cdddd27419b609bb9c6f703ea27988", "url": "https://pub.dev" }, "source": "hosted", - "version": "2.3.5" + "version": "2.3.6" + }, + "sqflite_common_ffi_web": { + "dependency": "direct main", + "description": { + "name": "sqflite_common_ffi_web", + "sha256": "983cf7b33b16e6bc086c8e09f6a1fae69d34cdb167d7acaf64cbd3515942d4e6", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.0" }, "sqflite_darwin": { "dependency": "transitive", @@ -1494,11 +1534,11 @@ "dependency": "transitive", "description": { "name": "sqlite3", - "sha256": "310af39c40dd0bb2058538333c9d9840a2725ae0b9f77e4fd09ad6696aa8f66e", + "sha256": "c0503c69b44d5714e6abbf4c1f51a3c3cc42b75ce785f44404765e4635481d38", "url": "https://pub.dev" }, "source": "hosted", - "version": "2.7.5" + "version": "2.7.6" }, "stack_trace": { "dependency": "transitive", @@ -1714,11 +1754,11 @@ "dependency": "transitive", "description": { "name": "vector_graphics", - "sha256": "44cc7104ff32563122a929e4620cf3efd584194eec6d1d913eb5ba593dbcf6de", + "sha256": "a4f059dc26fc8295b5921376600a194c4ec7d55e72f2fe4c7d2831e103d461e6", "url": "https://pub.dev" }, "source": "hosted", - "version": "1.1.18" + "version": "1.1.19" }, "vector_graphics_codec": { "dependency": "transitive", @@ -1734,11 +1774,11 @@ "dependency": "transitive", "description": { "name": "vector_graphics_compiler", - "sha256": "1b4b9e706a10294258727674a340ae0d6e64a7231980f9f9a3d12e4b42407aad", + "sha256": "557a315b7d2a6dbb0aaaff84d857967ce6bdc96a63dc6ee2a57ce5a6ee5d3331", "url": "https://pub.dev" }, "source": "hosted", - "version": "1.1.16" + "version": "1.1.17" }, "vector_math": { "dependency": "transitive", @@ -1764,21 +1804,21 @@ "dependency": "transitive", "description": { "name": "vm_service", - "sha256": "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14", + "sha256": "ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02", "url": "https://pub.dev" }, "source": "hosted", - "version": "14.3.1" + "version": "15.0.0" }, "watcher": { "dependency": "transitive", "description": { "name": "watcher", - "sha256": "69da27e49efa56a15f8afe8f4438c4ec02eff0a117df1b22ea4aad194fe1c104", + "sha256": "0b7fd4a0bbc4b92641dbf20adfd7e3fd1398fe17102d94b674234563e110088a", "url": "https://pub.dev" }, "source": "hosted", - "version": "1.1.1" + "version": "1.1.2" }, "web": { "dependency": "transitive", @@ -1794,11 +1834,11 @@ "dependency": "transitive", "description": { "name": "web_socket", - "sha256": "bfe6f435f6ec49cb6c01da1e275ae4228719e59a6b067048c51e72d9d63bcc4b", + "sha256": "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c", "url": "https://pub.dev" }, "source": "hosted", - "version": "1.0.0" + "version": "1.0.1" }, "web_socket_channel": { "dependency": "transitive", @@ -1824,21 +1864,21 @@ "dependency": "transitive", "description": { "name": "win32", - "sha256": "dc6ecaa00a7c708e5b4d10ee7bec8c270e9276dfcab1783f57e9962d7884305f", + "sha256": "66814138c3562338d05613a6e368ed8cfb237ad6d64a9e9334be3f309acfca03", "url": "https://pub.dev" }, "source": "hosted", - "version": "5.12.0" + "version": "5.14.0" }, "window_manager": { "dependency": "direct main", "description": { "name": "window_manager", - "sha256": "732896e1416297c63c9e3fb95aea72d0355f61390263982a47fd519169dc5059", + "sha256": "51d50168ab267d344b975b15390426b1243600d436770d3f13de67e55b05ec16", "url": "https://pub.dev" }, "source": "hosted", - "version": "0.4.3" + "version": "0.5.0" }, "xdg_directories": { "dependency": "transitive", @@ -1872,7 +1912,7 @@ } }, "sdks": { - "dart": ">=3.7.0 <4.0.0", + "dart": ">=3.8.0 <4.0.0", "flutter": ">=3.29.0" } } diff --git a/pkgs/by-name/ch/chawan/package.nix b/pkgs/by-name/ch/chawan/package.nix index 46cfb239cd66..0ae78cb3df46 100644 --- a/pkgs/by-name/ch/chawan/package.nix +++ b/pkgs/by-name/ch/chawan/package.nix @@ -11,18 +11,18 @@ pkg-config, brotli, zlib, - unstableGitUpdater, + gitUpdater, }: -stdenv.mkDerivation { +stdenv.mkDerivation (finalAttrs: { pname = "chawan"; - version = "0-unstable-2025-05-25"; + version = "0.2.0"; src = fetchFromSourcehut { owner = "~bptato"; repo = "chawan"; - rev = "e571c8b1ede3a3c6dc4a5a4d0c6c8f48473076d2"; - hash = "sha256-OBXc4jnB5Y+KXO9J7P1Z2HXkNCS+xnG+IGWw8wb66J8="; + rev = "v${finalAttrs.version}"; + hash = "sha256-DiA7SEXPJTScdoFeGzH45wZP6gZRU8t/fvJLOufuNmU="; }; patches = [ ./mancha-augment-path.diff ]; @@ -73,7 +73,7 @@ stdenv.mkDerivation { wrapProgram $out/bin/mancha ${makeWrapperArgs} ''; - passthru.updateScript = unstableGitUpdater { }; + passthru.updateScript = gitUpdater { rev-prefix = "v"; }; meta = { description = "Lightweight and featureful terminal web browser"; @@ -83,4 +83,4 @@ stdenv.mkDerivation { maintainers = with lib.maintainers; [ ]; mainProgram = "cha"; }; -} +}) diff --git a/pkgs/by-name/ch/checkov/package.nix b/pkgs/by-name/ch/checkov/package.nix index 0cd5b7deac27..6204dd9260d9 100644 --- a/pkgs/by-name/ch/checkov/package.nix +++ b/pkgs/by-name/ch/checkov/package.nix @@ -25,14 +25,14 @@ with py.pkgs; python3.pkgs.buildPythonApplication rec { pname = "checkov"; - version = "3.2.437"; + version = "3.2.443"; pyproject = true; src = fetchFromGitHub { owner = "bridgecrewio"; repo = "checkov"; tag = version; - hash = "sha256-AXqrqAtwGKdzgPwWEpqScFcsP62tvMpNxVn+K75aHUo="; + hash = "sha256-qROzLxbeH3DeB5RzUPXJU4zyI4p7j96/vp/+iab2M6A="; }; pythonRelaxDeps = [ diff --git a/pkgs/by-name/ch/cherry-studio/package.nix b/pkgs/by-name/ch/cherry-studio/package.nix index b9c9ebe4c548..0e54d0850aa8 100644 --- a/pkgs/by-name/ch/cherry-studio/package.nix +++ b/pkgs/by-name/ch/cherry-studio/package.nix @@ -18,13 +18,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "cherry-studio"; - version = "1.3.12"; + version = "1.4.2"; src = fetchFromGitHub { owner = "CherryHQ"; repo = "cherry-studio"; tag = "v${finalAttrs.version}"; - hash = "sha256-BQvoH/F1CCzeGulUg5J1wK/WzHB4Y5j3BWYPAFyTpGs="; + hash = "sha256-P7nam15AhwFIy3qisp2cogJeCGe0sgNnF+eFl4ssf0Q="; }; postPatch = '' @@ -41,7 +41,7 @@ stdenv.mkDerivation (finalAttrs: { offlineCache = yarn-berry.fetchYarnBerryDeps { inherit (finalAttrs) src missingHashes; - hash = "sha256-ZVgn/mB7XPozjBT1jKscpr7Izi5vDkNNAQJCpPqB+QE="; + hash = "sha256-OFinYvzLEXahaLY5YZM4eamiMUSPJZ1nUCzo8hQdnFw="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/ch/cherrytree/package.nix b/pkgs/by-name/ch/cherrytree/package.nix index 3004d14356a2..8d1160694c1a 100644 --- a/pkgs/by-name/ch/cherrytree/package.nix +++ b/pkgs/by-name/ch/cherrytree/package.nix @@ -21,13 +21,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "cherrytree"; - version = "1.4.0"; + version = "1.5.0"; src = fetchFromGitHub { owner = "giuspen"; repo = "cherrytree"; tag = "v${finalAttrs.version}"; - hash = "sha256-X87L3oSidnXH/IIHtVbeIn0ehWkSgrAkX0+TUGQomV0="; + hash = "sha256-WsxN2VGESrDUv0sSTsMSpZr6Ca7yDwGNR2aB3BrmfkY="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/ch/chglog/package.nix b/pkgs/by-name/ch/chglog/package.nix index ddaffe0765e0..d087af98b801 100644 --- a/pkgs/by-name/ch/chglog/package.nix +++ b/pkgs/by-name/ch/chglog/package.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "chglog"; - version = "0.7.0"; + version = "0.7.3"; src = fetchFromGitHub { owner = "goreleaser"; repo = "chglog"; tag = "v${version}"; - hash = "sha256-i7KJB5EWq1khP4oxxXGH2tYLJ9s6MAWd1Ndfk7LV0Vc="; + hash = "sha256-PULQNe7V18NMxmIgvId1cFU1DuSbNeDk4cB1aMx3OHc="; }; - vendorHash = "sha256-EyA440J3QLQI+NvSZrksjIlmNOIOt1YO/5ZZMTV/GIs="; + vendorHash = "sha256-kw6vOxqBvHfD5ooJsufX2xpUCFKWzThKzpBBNKL60Ko="; ldflags = [ "-s" diff --git a/pkgs/by-name/ch/chirp/package.nix b/pkgs/by-name/ch/chirp/package.nix index 6600099b3e2f..48e3db76a449 100644 --- a/pkgs/by-name/ch/chirp/package.nix +++ b/pkgs/by-name/ch/chirp/package.nix @@ -11,14 +11,14 @@ python3Packages.buildPythonApplication { pname = "chirp"; - version = "0.4.0-unstable-2025-05-29"; + version = "0.4.0-unstable-2025-06-03"; pyproject = true; src = fetchFromGitHub { owner = "kk7ds"; repo = "chirp"; - rev = "db838b0c1ae9b0964efcd625c415a76ff9fbea4a"; - hash = "sha256-C8sicZ4krALpsRFbX8Ls5GZc7FUimg2Ix6WsQP2oMvw="; + rev = "c61c1e464d7f7cbc74beb118e27b10d40a2aa9e0"; + hash = "sha256-7OFLUrwdSGYvShjSRIOiecNjkvCx2vBhV33aQVtGNYI="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/ch/chirpstack-concentratord/package.nix b/pkgs/by-name/ch/chirpstack-concentratord/package.nix index 528c4af854f5..7861f2dc1a80 100644 --- a/pkgs/by-name/ch/chirpstack-concentratord/package.nix +++ b/pkgs/by-name/ch/chirpstack-concentratord/package.nix @@ -10,17 +10,17 @@ }: rustPlatform.buildRustPackage rec { pname = "chirpstack-concentratord"; - version = "4.4.8"; + version = "4.5.0"; src = fetchFromGitHub { owner = "chirpstack"; repo = "chirpstack-concentratord"; rev = "v${version}"; - hash = "sha256-koEzUTbeuTjeoHmZc6hP2cZM66d0toI9YExGRtDjNBQ="; + hash = "sha256-UlliScDD1OEH4hLzKVr0z74iI48TTQTDfSsTwHzk8kw="; }; useFetchCargoVendor = true; - cargoHash = "sha256-JRcVigA5yDsW4otPMvi3udjasQWQNrWJQ6zd6XXyQIk="; + cargoHash = "sha256-NkP3sMSw/iEkzqdX7rR6qMRq7MyZNyF9HcjrVuVRBEk="; buildInputs = [ libloragw-2g4 diff --git a/pkgs/by-name/ch/chirpstack-mqtt-forwarder/package.nix b/pkgs/by-name/ch/chirpstack-mqtt-forwarder/package.nix index 201b76b285e5..e8be7cd6c2bc 100644 --- a/pkgs/by-name/ch/chirpstack-mqtt-forwarder/package.nix +++ b/pkgs/by-name/ch/chirpstack-mqtt-forwarder/package.nix @@ -9,17 +9,17 @@ }: rustPlatform.buildRustPackage rec { pname = "chirpstack-mqtt-forwarder"; - version = "4.3.2"; + version = "4.4.0"; src = fetchFromGitHub { owner = "chirpstack"; repo = "chirpstack-mqtt-forwarder"; rev = "v${version}"; - hash = "sha256-JsRhgSEA5xdpeljdA9/h5bVGytt6rIvX3FqI6ZiCLys="; + hash = "sha256-HopcEwj/WOialvttVJ6bTyRRTqrgfIJ/dYKti5T87Os="; }; useFetchCargoVendor = true; - cargoHash = "sha256-6kN4ml7JVW6Ygw9+wg79h+1zv/HPNjTw1FZlOOl7jGc="; + cargoHash = "sha256-uR+Y8+/XbIQdbGOoS/tHBo/r7DLiwiRiaXQ7CjaPpoI="; nativeBuildInputs = [ protobuf ]; diff --git a/pkgs/by-name/ch/chrony/package.nix b/pkgs/by-name/ch/chrony/package.nix index cfa7806285f3..c772779bf757 100644 --- a/pkgs/by-name/ch/chrony/package.nix +++ b/pkgs/by-name/ch/chrony/package.nix @@ -14,11 +14,11 @@ stdenv.mkDerivation rec { pname = "chrony"; - version = "4.6.1"; + version = "4.7"; src = fetchurl { url = "https://chrony-project.org/releases/${pname}-${version}.tar.gz"; - hash = "sha256-Vx/3P78K4wl/BgTsouALHYuy6Rr/4aNJR4X/IdYZnFw="; + hash = "sha256-wN5BqMBR5dMrEBtfcBS5jKl4sY5ZLzDOaEC21GAtlHs="; }; outputs = [ diff --git a/pkgs/by-name/ci/cie-middleware-linux/deps.json b/pkgs/by-name/ci/cie-middleware-linux/deps.json index a1554a15e26f..593cd2e1b767 100644 --- a/pkgs/by-name/ci/cie-middleware-linux/deps.json +++ b/pkgs/by-name/ci/cie-middleware-linux/deps.json @@ -14,28 +14,28 @@ "jar": "sha256-CV/R3HeIjAc/C+OaAYFW7lJnInmLCd6eKF7yE14W6sQ=", "pom": "sha256-NQkZQkMk4nUKPdwvobzmqQrIziklaYpgqbTR1uSSL/4=" }, - "com/diffplug/durian#durian-swt.os/4.2.2": { - "jar": "sha256-a1Mca0vlgaizLq2GHdwVwsk7IMZl+00z4DgUg8JERfQ=", - "module": "sha256-rVlQLGknZu48M0vkliigDctNka4aSPJjLitxUStDXPk=", - "pom": "sha256-GzxJFP1eLM4pZq1wdWY5ZBFFwdNCB3CTV4Py3yY2kIU=" + "com/diffplug/durian#durian-swt.os/4.3.0": { + "jar": "sha256-geK2Oafkvm3JtyRXE88G9cq1HynbLha5tXZFyW/eKIQ=", + "module": "sha256-IFNqlfL+sr9DBRKMaq7Lb9idxFeYqchfJgK4qAnXUNs=", + "pom": "sha256-Q1z/VXiZht7arXF/aPuo1UgklHhWLc2EsirU1lZvRAs=" }, - "com/diffplug/spotless#com.diffplug.spotless.gradle.plugin/6.25.0": { - "pom": "sha256-9FyCsS+qzYWs1HTrppkyL6XeqIQIskfQ5L3pQSkIIjo=" + "com/diffplug/spotless#com.diffplug.spotless.gradle.plugin/7.0.2": { + "pom": "sha256-7R3td6KWpv4hpQJ5ySbAe+FK98CMJDfTaFxw/Pa7oC0=" }, - "com/diffplug/spotless#spotless-lib-extra/2.45.0": { - "jar": "sha256-YCy7zTgo7pz7LjCn+bMDNcaScTB3FBTUzdKU0h/ly2c=", - "module": "sha256-9pnkNfTlzgPbYJpHaO6wNj1uB8ZfvPrx/GKcTnbuf7A=", - "pom": "sha256-5x2LkRDdSNLn9KVLi/uozlWpbmteu9T0OpJGZJz1b7A=" + "com/diffplug/spotless#spotless-lib-extra/3.0.2": { + "jar": "sha256-sOd3RtYz1EXnhImsPQitLqGzU3xNBk5KvkbMQtYjA+s=", + "module": "sha256-vSVeQkQbWRehU8U9z5fP08IEevN2zF3Yu1Z/aEAWtFk=", + "pom": "sha256-IVesGayscKzQRQH8WbvJZNsZD1tx5O1e/s6o5c9o7Os=" }, - "com/diffplug/spotless#spotless-lib/2.45.0": { - "jar": "sha256-sllply4dmAKAyirlKRl+2bMWCq5ItQbPGTXwG9Exhmc=", - "module": "sha256-+x+8+TUAczrHWcp99E8P9mVTEze0LaAS4on/CINNiQ8=", - "pom": "sha256-WKd8IsQLIc8m29tCEwFu9HrM9bBwchfHkyqQ9D+PMNw=" + "com/diffplug/spotless#spotless-lib/3.0.2": { + "jar": "sha256-P5p/38WwOsIIlINBcJEMFcTyuE7UzjZ3iYowetWJg3w=", + "module": "sha256-E1WLrsCR6gDxYmXNNSOBePT+ejv61zXel214XUF/ss0=", + "pom": "sha256-jxtFo4m6Jeel8DvZ8KS9BKp+dHXgku6C1VUJYrLPdV8=" }, - "com/diffplug/spotless#spotless-plugin-gradle/6.25.0": { - "jar": "sha256-9euQikxdpGKZ51Q/qtoEAtLEt31Yx7Qy1Lblk0mygKM=", - "module": "sha256-RoHRe/PJIF2DeOynBcAAywzJjcx40DATy2iJjGvSx0Q=", - "pom": "sha256-q1ZuPYS2w/rHqPySXy279TzZdZywOvPAfQ3EN9OXqNo=" + "com/diffplug/spotless#spotless-plugin-gradle/7.0.2": { + "jar": "sha256-WaNMT4SkjUyNkp4viZBjaeZUduwEmaQ96Hw+QSeXfNU=", + "module": "sha256-rxC8mydsNqlNcRh+kVhwJ1yyRVZTntzqGYpYL30Tsws=", + "pom": "sha256-JyVoPfbvTNSIr+sgANqJIpQcqQ513D49uFIupxWKaMQ=" }, "com/googlecode/concurrent-trees#concurrent-trees/2.6.1": { "jar": "sha256-BONySYTipcv1VgbPo3KlvT08XSohUzpwBOPN5Tl2H6U=", @@ -59,31 +59,31 @@ "module": "sha256-akesUDZOZZhFlAH7hvm2z832N7mzowRbHMM8v0xAghg=", "pom": "sha256-rrO3CiTBA+0MVFQfNfXFEdJ85gyuN2pZbX1lNpf4zJU=" }, - "commons-codec#commons-codec/1.16.0": { - "jar": "sha256-VllfsgsLhbyR0NUD2tULt/G5r8Du1d/6bLslkpAASE0=", - "pom": "sha256-bLWVeBnfOTlW/TEaOgw/XuwevEm6Wy0J8/ROYWf6PnQ=" + "commons-codec#commons-codec/1.17.0": { + "jar": "sha256-9wDegKwnDQNE/ep0aCAdi5yAXlxkgzHDYZ8u4GfM/Fk=", + "pom": "sha256-wBxM2l5Aj0HtHYPkoKFwz1OAG2M4q6SfD5BHhrwSFPw=" }, - "dev/equo/ide#solstice/1.7.5": { - "jar": "sha256-BuFLxDrMMx2ra16iAfxnNk7RI/mCyF+lEx8IF+1lrk8=", - "module": "sha256-eYp7cGdyE27iijLt2GOx6fgWE6NJhAXXS+ilyb6/9U8=", - "pom": "sha256-20U7urXn2opDE5sNzTuuZykzIfKcTZH1p5XZ/2xS3d8=" + "dev/equo/ide#solstice/1.8.1": { + "jar": "sha256-bluizOgTvh1xzNwuzz5JJxsU5pG/u7GhFM86MOdzsQ0=", + "module": "sha256-pnYDnqavCPJXtG4Hwr8VcaRqTUtbnMuGw/yY0H+v6hs=", + "pom": "sha256-arSo7K4qu9NrkZ0Lm5+yTBdxSPE+U2TJegxu4Ro/xCY=" }, - "org/apache#apache/29": { - "pom": "sha256-PkkDcXSCC70N9jQgqXclWIY5iVTCoGKR+mH3J6w1s3c=" + "org/apache#apache/31": { + "pom": "sha256-VV0MnqppwEKv+SSSe5OB6PgXQTbTVe6tRFIkRS5ikcw=" }, - "org/apache/commons#commons-parent/58": { - "pom": "sha256-LUsS4YiZBjq9fHUni1+pejcp2Ah4zuy2pA2UbpwNVZA=" + "org/apache/commons#commons-parent/69": { + "pom": "sha256-1Q2pw5vcqCPWGNG0oDtz8ZZJf8uGFv0NpyfIYjWSqbs=" }, - "org/eclipse/jgit#org.eclipse.jgit-parent/6.7.0.202309050840-r": { - "pom": "sha256-u56FQW2Y0HMfx2f41w6EaAQWAdZnKuItsqx5n3qjkR8=" + "org/eclipse/jgit#org.eclipse.jgit-parent/6.10.0.202406032230-r": { + "pom": "sha256-8tNTmgp5Iv15RwgsGQHSCQ2uB0mGsi2r2XO0OYzR6i4=" }, - "org/eclipse/jgit#org.eclipse.jgit/6.7.0.202309050840-r": { - "jar": "sha256-tWRHfQkiQaqrUMhKxd0aw3XAGCBE1+VlnTpgqQ4ugBo=", - "pom": "sha256-BNB83b8ZjfpuRIuan7lA94HAEq2T2eqCBv4KTTplwZI=" + "org/eclipse/jgit#org.eclipse.jgit/6.10.0.202406032230-r": { + "jar": "sha256-Q/kvOttoGl8wBrl56NNBwSqM/YAp8ofEK88KgDd1Za4=", + "pom": "sha256-BVlUQr62ogYQi2c6qcZpLIPkHfGDF33GcROxzD9Sgd0=" }, - "org/eclipse/platform#org.eclipse.osgi/3.18.300": { - "jar": "sha256-urlD5Y7dFzCSOGctunpFrsni2svd24GKjPF3I+oT+iI=", - "pom": "sha256-4nl2N1mZxUJ/y8//PzvCD77a+tiqRRArN59cL5fI/rQ=" + "org/eclipse/platform#org.eclipse.osgi/3.18.500": { + "jar": "sha256-gLJ11YN5cjspHqZQJJzDgJyPELNPeKr5iBMs1tQ0q04=", + "pom": "sha256-4o9b4Azk7Sx+SAnsrQW5UwfzWhflhWAHhri97juk2Wg=" }, "org/jetbrains#annotations/13.0": { "jar": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg=", @@ -114,9 +114,9 @@ "jar": "sha256-VemJxRK4CQd5n4VDCfO8d4LFs9E5MkQtA3nVxHJxFQQ=", "pom": "sha256-fin79z/fceBnnT3ufmgP1XNGT6AWRKT1irgZ0sCI09I=" }, - "org/junit#junit-bom/5.9.3": { - "module": "sha256-tAH9JZAeWCpSSqU0PEs54ovFbiSWHBBpvytLv87ka5M=", - "pom": "sha256-TQMpzZ5y8kIOXKFXJMv+b/puX9KIg2FRYnEZD9w0Ltc=" + "org/junit#junit-bom/5.10.2": { + "module": "sha256-3iOxFLPkEZqP5usXvtWjhSgWaYus5nBxV51tkn67CAo=", + "pom": "sha256-Fp3ZBKSw9lIM/+ZYzGIpK/6fPBSpifqSEgckzeQ6mWg=" }, "org/slf4j#slf4j-api/1.7.36": { "jar": "sha256-0+9XXj5JeWeNwBvx3M5RAhSTtNEft/G+itmCh3wWocA=", @@ -137,31 +137,31 @@ } }, "https://repo.maven.apache.org/maven2": { - "com/google/code/gson#gson-parent/2.11.0": { - "pom": "sha256-issfO3Km8CaRasBzW62aqwKT1Sftt7NlMn3vE6k2e3o=" + "com/google/code/gson#gson-parent/2.12.1": { + "pom": "sha256-yeewt+Mb574iaEl5wGgAHGUssRPE5u2JTjm2Q97gf8E=" }, - "com/google/code/gson#gson/2.11.0": { - "jar": "sha256-V5KNblpu3rKr03cKj5W6RNzkXzsjt6ncKzCcWBVSp4s=", - "pom": "sha256-wOVHvqmYiI5uJcWIapDnYicryItSdTQ90sBd7Wyi42A=" + "com/google/code/gson#gson/2.12.1": { + "jar": "sha256-6+4T1ft0d81/HMAQ4MNW34yoBwlxUkjal/eeNcy0++w=", + "pom": "sha256-C1c17IX0UoLx4sdpd5gAQnsVCoFj9AUJOpKAtxyrGXg=" }, - "com/google/errorprone#error_prone_annotations/2.27.0": { - "jar": "sha256-JMkjNyxY410LnxagKJKbua7cd1IYZ8J08r0HNd9bofU=", - "pom": "sha256-TKWjXWEjXhZUmsNG0eNFUc3w/ifoSqV+A8vrJV6k5do=" + "com/google/errorprone#error_prone_annotations/2.36.0": { + "jar": "sha256-d0QOJwsLyaJJkDxaB2w2pyLEiGyk9CZ18pA6HFPtYaU=", + "pom": "sha256-15z9N8hfdta3VMdQHuHchEe3smQsI4LXeCUhZr0zHpw=" }, - "com/google/errorprone#error_prone_parent/2.27.0": { - "pom": "sha256-+oGCnQSVWd9pJ/nJpv1rvQn4tQ5tRzaucsgwC2w9dlQ=" + "com/google/errorprone#error_prone_parent/2.36.0": { + "pom": "sha256-Okz8imvtYetI6Wl5b8MeoNJwtj5nBZmUamGIOttwlNw=" }, "commons-io#commons-io/2.18.0": { "jar": "sha256-88oPjWPEDiOlbVQQHGDV7e4Ta0LYS/uFvHljCTEJz4s=", "pom": "sha256-Y9lpQetE35yQ0q2yrYw/aZwuBl5wcEXF2vcT/KUrz8o=" }, - "commons-logging#commons-logging/1.3.3": { - "jar": "sha256-WCj5bAnYhvmxoJk8eASyfPT87IU0UXFk9RN6yLZ+qbk=", - "pom": "sha256-El1hQurD93REC6cCwF8o+eCYxS0QcSrhFJast3EGs7o=" + "commons-logging#commons-logging/1.3.4": { + "jar": "sha256-vC3+MvHvBlCeagZRRMGt97Qg6r8RqH8wvRJ/j6ozIBY=", + "pom": "sha256-1L2jSJKqzL9PrTP8MjqKqQfvnXmYRlnaJJRMCoa/CGU=" }, - "net/java/dev/jna#jna/5.15.0": { - "jar": "sha256-pWQVjSirUSf8apWAKO1UJ5/gmZZixGQltqOwmipSCU0=", - "pom": "sha256-J2YC/zZ6TDkVXa7MHoy1T0eJ5dgN+Qo6i2YD8d61ngU=" + "net/java/dev/jna#jna/5.17.0": { + "jar": "sha256-s6lAjnxR4I7w47/MCPRD9uwPYZG6jNfBjVPSsi5b28A=", + "pom": "sha256-UBoP8F2EpK0Q9t4lvpT0k5i3CjG+jzoO2fTGtE++/uQ=" }, "org/apache#apache/32": { "pom": "sha256-z9hywOwn9Trmj0PbwP7N7YrddzB5pTr705DkB7Qs5y8=" @@ -169,26 +169,26 @@ "org/apache#apache/33": { "pom": "sha256-14vYUkxfg4ChkKZSVoZimpXf5RLfIRETg6bYwJI6RBU=" }, - "org/apache/commons#commons-parent/71": { - "pom": "sha256-lbe+cPMWrkyiL2+90I3iGC6HzYdKZQ3nw9M4anR6gqM=" + "org/apache/commons#commons-parent/72": { + "pom": "sha256-Q0Xev8dnsa6saKvdcvxn0YtSHUs5A3KhG2P/DFhrIyA=" }, "org/apache/commons#commons-parent/78": { "pom": "sha256-Ai0gLmVe3QTyoQ7L5FPZKXeSTTg4Ckyow1nxgXqAMg4=" }, - "org/apache/pdfbox#fontbox/3.0.3": { - "jar": "sha256-ZWkMPzmwShTRLBf0mYwVGGzod9Pi7CIscIV348wCgDA=", - "pom": "sha256-sik+UDqncEMGEVD4hGg9f2FMz1Fjvi0PBSyinzx2d+I=" + "org/apache/pdfbox#fontbox/3.0.4": { + "jar": "sha256-Le7GIy9dbTsxJ2WS0xaArpcir1fSTLD3bacOK6DpnhI=", + "pom": "sha256-8MzDMOmyDYlXigqHArR6OZvNYojCOG10/6uPjjAoROg=" }, - "org/apache/pdfbox#pdfbox-io/3.0.3": { - "jar": "sha256-Ej6jGHtJfFTmYdUMPIZ0eb93Zo/0UOUHEMZY8rtGh7o=", - "pom": "sha256-EXAbuMWnNaSzFA9zroM6KBzqCeO8P583kbmpenRekNQ=" + "org/apache/pdfbox#pdfbox-io/3.0.4": { + "jar": "sha256-ep1HRvLhOh4i9O/kf7r5mXY8rqQXSFNa+ToB7txQ9VQ=", + "pom": "sha256-YLURdX737TBIv4LH2ClvcdC8RwAgEYQzqzs+OEC/jqU=" }, - "org/apache/pdfbox#pdfbox-parent/3.0.3": { - "pom": "sha256-yGXhzv8Jq1Kwh+cmDE8V025bW4vk/+IERvqkCiygvcw=" + "org/apache/pdfbox#pdfbox-parent/3.0.4": { + "pom": "sha256-w5j++zUez/mTEYCNftU0bnHzVrETS9c6JQTLgXB9tFE=" }, - "org/apache/pdfbox#pdfbox/3.0.3": { - "jar": "sha256-W+ONLsgWkbBdU163IN5NxWbF0H5aBHMfoAZo0VOotKY=", - "pom": "sha256-vgiV9rLCDzEdYjXJam/SqsECsxkE0/TDnqUll3WwcAg=" + "org/apache/pdfbox#pdfbox/3.0.4": { + "jar": "sha256-CaD/J9b4Sh3EAGDLCgHezyrU75HDa8kbmDbCVL6KrkU=", + "pom": "sha256-098DLfK90jT+NwMO+sNXa6Yj/Jf1ERNUxMUq13dfkOQ=" }, "org/junit#junit-bom/5.11.0-M2": { "module": "sha256-hkd6vPSQ1soFmqmXPLEI0ipQb0nRpVabsyzGy/Q8LM4=", diff --git a/pkgs/by-name/ci/cie-middleware-linux/package.nix b/pkgs/by-name/ci/cie-middleware-linux/package.nix index 7647f20c69a7..0495b82c0693 100644 --- a/pkgs/by-name/ci/cie-middleware-linux/package.nix +++ b/pkgs/by-name/ci/cie-middleware-linux/package.nix @@ -21,13 +21,13 @@ let pname = "cie-middleware-linux"; - version = "1.5.6"; + version = "1.5.9"; src = fetchFromGitHub { owner = "M0rf30"; repo = "cie-middleware-linux"; rev = version; - sha256 = "sha256-2P/1hQTmeQ6qE7RgAeLOZTszcLcIpa2XX1S2ahXRHcc="; + hash = "sha256-2UMKxanF35oBNBtIqfU46QUYJwXiTU1xCrCMqzqetgI="; }; gradle = gradle_8; @@ -61,8 +61,6 @@ stdenv.mkDerivation { libxml2 ]; - patches = [ ./use-system-podofo.patch ]; - postPatch = '' # substitute the cieid command with this $out/bin/cieid substituteInPlace libs/pkcs11/src/CSP/AbilitaCIE.cpp \ @@ -114,6 +112,7 @@ stdenv.mkDerivation { popd # Install the Java application + ls cie-java/build/libs/CIEID-standalone.jar install -Dm755 cie-java/build/libs/CIEID-standalone.jar \ "$out/share/cieid/cieid.jar" @@ -123,11 +122,11 @@ stdenv.mkDerivation { --add-flags "-Djna.library.path='$out/lib:${libraries}'" \ --add-flags '-Dawt.useSystemAAFontSettings=on' \ --add-flags "-cp $out/share/cieid/cieid.jar" \ - --add-flags "it.ipzs.cieid.MainApplication" + --add-flags "app.m0rf30.cieid.MainApplication" # Install other files - install -Dm644 data/cieid.desktop "$out/share/applications/cieid.desktop" - install -Dm755 data/logo.png "$out/share/pixmaps/cieid.png" + install -Dm644 data/app.m0rf30.cieid.desktop -t "$out/share/applications" + install -Dm755 data/app.m0rf30.cieid.svg -t "$out/share/pixmaps" install -Dm644 LICENSE "$out/share/licenses/cieid/LICENSE" ''; @@ -146,8 +145,6 @@ stdenv.mkDerivation { ''; license = licenses.bsd3; platforms = platforms.unix; - # Note: fails due to a lot of broken type conversions - badPlatforms = platforms.darwin; maintainers = with maintainers; [ rnhmjoj ]; }; } diff --git a/pkgs/by-name/ci/cie-middleware-linux/use-system-podofo.patch b/pkgs/by-name/ci/cie-middleware-linux/use-system-podofo.patch deleted file mode 100644 index 52806d4f96e8..000000000000 --- a/pkgs/by-name/ci/cie-middleware-linux/use-system-podofo.patch +++ /dev/null @@ -1,343 +0,0 @@ -commit c9ac4243a6def08790bbf5552bb31894169596ca -Author: rnhmjoj -Date: Wed Apr 3 12:54:58 2024 +0200 - - use system podofo - -diff --git a/libs/meson.build b/libs/meson.build -index 3ee31c1..5022ba8 100644 ---- a/libs/meson.build -+++ b/libs/meson.build -@@ -16,21 +16,15 @@ curl_dep = dependency('libcurl') - fontconfig_dep = dependency('fontconfig') - freetype_dep = dependency('freetype2') - png_dep = dependency('libpng') --podofo_dep = cpp.find_library('libpodofo', dirs: libdir) -+podofo_dep = dependency('libpodofo') - libxml2_dep = dependency('libxml-2.0', required: false) - xml2_dep = dependency('xml2', required: false) - zlib_dep = dependency('zlib') - - inc_so = include_directories('pkcs11/src/.', 'shared/src/') - --inc_a = include_directories( -- 'sign-sdk/include', -- 'sign-sdk/include/podofo', -- 'sign-sdk/include/podofo/include', -- 'sign-sdk/include/podofo/include/podofo', -- 'sign-sdk/src', -- 'shared/src/', --) -+inc_a = include_directories('sign-sdk/include', 'sign-sdk/src', 'shared/src/') -+ - cie_pkcs11_sources = [ - 'shared/src/Util/log.cpp', - 'shared/src/Util/funccallinfo.cpp', -diff --git a/libs/sign-sdk/include/PdfSignatureGenerator.h b/libs/sign-sdk/include/PdfSignatureGenerator.h -index 93ab445..65d438f 100644 ---- a/libs/sign-sdk/include/PdfSignatureGenerator.h -+++ b/libs/sign-sdk/include/PdfSignatureGenerator.h -@@ -10,9 +10,7 @@ - #ifndef _PDFSIGNATUREGENERATOR_H_ - #define _PDFSIGNATUREGENERATOR_H_ - #include "Util/UUCByteArray.h" --#include "podofo/doc/PdfSignOutputDevice.h" --#include "podofo/doc/PdfSignatureField.h" --#include "podofo/podofo.h" -+#include - - using namespace PoDoFo; - using namespace std; -@@ -60,7 +58,11 @@ class PdfSignatureGenerator { - const double getHeight(int pageIndex); - - private: -- PdfMemDocument* m_pPdfDocument; -+ PdfDocument* m_pPdfDocument; -+ -+ PdfMemDocument* m_pPdfMemDocument; -+ -+ PdfWriter* m_pPdfWriter; - - PdfSignatureField* m_pSignatureField; - -diff --git a/libs/sign-sdk/src/PdfSignatureGenerator.cpp b/libs/sign-sdk/src/PdfSignatureGenerator.cpp -index 44ef54a..e8b8c8e 100644 ---- a/libs/sign-sdk/src/PdfSignatureGenerator.cpp -+++ b/libs/sign-sdk/src/PdfSignatureGenerator.cpp -@@ -27,7 +27,7 @@ int GetNumberOfSignatures(PdfMemDocument* pPdfDocument); - USE_LOG; - - PdfSignatureGenerator::PdfSignatureGenerator() -- : m_pPdfDocument(NULL), -+ : m_pPdfMemDocument(NULL), - m_pSignatureField(NULL), - m_pSignOutputDevice(NULL), - m_pFinalOutDevice(NULL), -@@ -37,7 +37,7 @@ PdfSignatureGenerator::PdfSignatureGenerator() - } - - PdfSignatureGenerator::~PdfSignatureGenerator() { -- if (m_pPdfDocument) delete m_pPdfDocument; -+ if (m_pPdfMemDocument) delete m_pPdfMemDocument; - - if (m_pSignatureField) delete m_pSignatureField; - -@@ -51,21 +51,21 @@ PdfSignatureGenerator::~PdfSignatureGenerator() { - } - - int PdfSignatureGenerator::Load(const char* pdf, int len) { -- if (m_pPdfDocument) delete m_pPdfDocument; -+ if (m_pPdfMemDocument) delete m_pPdfMemDocument; - - try { - printf("PDF LENGTH"); - printf("%i", len); - printf("STOP"); - -- m_pPdfDocument = new PdfMemDocument(); -- m_pPdfDocument->Load(pdf, len); -- printf("OK m_pPdfDocument"); -- int nSigns = PDFVerifier::GetNumberOfSignatures(m_pPdfDocument); -+ m_pPdfMemDocument = new PdfMemDocument(); -+ m_pPdfMemDocument->Load(pdf); -+ printf("OK m_pPdfMemDocument"); -+ int nSigns = PDFVerifier::GetNumberOfSignatures(m_pPdfMemDocument); - printf("OK nSigns: %d", nSigns); - - if (nSigns > 0) { -- m_pPdfDocument->SetIncrementalUpdates(true); -+ m_pPdfWriter->PdfWriter::SetIncrementalUpdate(true); - } - m_actualLen = len; - -@@ -82,14 +82,8 @@ void PdfSignatureGenerator::AddFont(const char* szFontName, - // printf(szFontName); - // printf(szFontPath); - -- m_pPdfDocument->CreateFont( -- szFontName, false, false, -- PdfEncodingFactory::GlobalWinAnsiEncodingInstance(), -- PdfFontCache::eFontCreationFlags_AutoSelectBase14, true, szFontPath); -- m_pPdfDocument->CreateFont( -- szFontName, true, false, -- PdfEncodingFactory::GlobalWinAnsiEncodingInstance(), -- PdfFontCache::eFontCreationFlags_AutoSelectBase14, true, szFontPath); -+ m_pPdfDocument->PoDoFo::PdfDocument::CreateFont( szFontName, false, PdfEncodingFactory::GlobalWinAnsiEncodingInstance(), PdfFontCache::eFontCreationFlags_AutoSelectBase14, true); -+ m_pPdfDocument->PoDoFo::PdfDocument::CreateFont( szFontName, true, PdfEncodingFactory::GlobalWinAnsiEncodingInstance(), PdfFontCache::eFontCreationFlags_AutoSelectBase14, true); - } - - void PdfSignatureGenerator::InitSignature( -@@ -130,7 +124,7 @@ void PdfSignatureGenerator::InitSignature( - - if (m_pSignatureField) delete m_pSignatureField; - -- PdfPage* pPage = m_pPdfDocument->GetPage(pageIndex); -+ PdfPage* pPage = m_pPdfMemDocument->GetPage(pageIndex); - PdfRect cropBox = pPage->GetCropBox(); - - float left0 = left * cropBox.GetWidth(); -@@ -145,15 +139,14 @@ void PdfSignatureGenerator::InitSignature( - - LOG_DBG((0, "InitSignature", "PdfSignatureField")); - -- m_pSignatureField = new PdfSignatureField( -- pPage, rect, m_pPdfDocument, PdfString(szFieldName), szSubFilter); -+ m_pSignatureField = new PdfSignatureField(pPage, rect, m_pPdfMemDocument); - - LOG_DBG((0, "InitSignature", "PdfSignatureField OK")); - - if (szReason && szReason[0]) { - PdfString reason(szReason); - PdfString reasonLabel(szReasonLabel); -- m_pSignatureField->SetSignatureReason(reasonLabel, reason); -+ m_pSignatureField->SetSignatureReason(reason); - } - - LOG_DBG((0, "InitSignature", "szReason OK")); -@@ -161,7 +154,7 @@ void PdfSignatureGenerator::InitSignature( - if (szLocation && szLocation[0]) { - PdfString location(szLocation); - PdfString locationLabel(szLocationLabel); -- m_pSignatureField->SetSignatureLocation(locationLabel, location); -+ m_pSignatureField->SetSignatureLocation(location); - } - - LOG_DBG((0, "InitSignature", "szLocation OK")); -@@ -171,54 +164,42 @@ void PdfSignatureGenerator::InitSignature( - - LOG_DBG((0, "InitSignature", "Date OK")); - -- if (szName && szName[0]) { -- PdfString name(szName); -- PdfString nameLabel(szNameLabel); -- m_pSignatureField->SetSignatureName(nameLabel, name); -- } -- -- LOG_DBG((0, "InitSignature", "szName OK")); -- -- m_pSignatureField->SetSignatureSize(SIGNATURE_SIZE); -+ m_pSignOutputDevice->PdfSignOutputDevice::SetSignatureSize(SIGNATURE_SIZE); - - LOG_DBG((0, "InitSignature", "SIGNATURE_SIZE OK")); - -- // if((szImagePath && szImagePath[0]) || (szDescription && szDescription[0])) -- if (width * height > 0) { -- try { -- // m_pSignatureField->SetFontSize(5); -- m_pSignatureField->SetAppearance(szImagePath, szDescription); -- LOG_DBG((0, "InitSignature", "SetAppearance OK")); -- } catch (PdfError& error) { -- LOG_ERR((0, "InitSignature", "SetAppearance error: %s, %s", -- PdfError::ErrorMessage(error.GetError()), error.what())); -- } catch (PdfError* perror) { -- LOG_ERR((0, "InitSignature", "SetAppearance error2: %s, %s", -- PdfError::ErrorMessage(perror->GetError()), perror->what())); -- } catch (std::exception& ex) { -- LOG_ERR( -- (0, "InitSignature", "SetAppearance std exception, %s", ex.what())); -- } catch (std::exception* pex) { -- LOG_ERR((0, "InitSignature", "SetAppearance std exception2, %s", -- pex->what())); -- } catch (...) { -- LOG_ERR((0, "InitSignature", "SetAppearance unknown error")); -- } -- } -+ // if (width * height > 0) { -+ // try { -+ // m_pSignatureField->SetAppearance(szImagePath, szDescription); -+ // LOG_DBG((0, "InitSignature", "SetAppearance OK")); -+ // } catch (PdfError& error) { -+ // LOG_ERR((0, "InitSignature", "SetAppearance error: %s, %s", -+ // PdfError::ErrorMessage(error.GetError()), error.what())); -+ // } catch (PdfError* perror) { -+ // LOG_ERR((0, "InitSignature", "SetAppearance error2: %s, %s", -+ // PdfError::ErrorMessage(perror->GetError()), perror->what())); -+ // } catch (std::exception& ex) { -+ // LOG_ERR( -+ // (0, "InitSignature", "SetAppearance std exception, %s", -+ // ex.what())); -+ // } catch (std::exception* pex) { -+ // LOG_ERR((0, "InitSignature", "SetAppearance std exception2, %s", -+ // pex->what())); -+ // } catch (...) { -+ // LOG_ERR((0, "InitSignature", "SetAppearance unknown error")); -+ // } -+ // } - -- if (szGraphometricData && szGraphometricData[0]) -- m_pSignatureField->SetGraphometricData( -- PdfString("Aruba_Sign_Biometric_Data"), PdfString(szGraphometricData), -- PdfString(szVersion)); -+ // if (szGraphometricData && szGraphometricData[0]) -+ // m_pSignatureField->SetGraphometricData( -+ // PdfString("Aruba_Sign_Biometric_Data"), -+ // PdfString(szGraphometricData), PdfString(szVersion)); - -- LOG_DBG((0, "InitSignature", "szGraphometricData OK")); -+ // LOG_DBG((0, "InitSignature", "szGraphometricData OK")); - - LOG_DBG((0, "InitSignature", "m_actualLen %d", m_actualLen)); - // crea il nuovo doc con il campo di firma -- int fulllen = m_actualLen * 2 + SIGNATURE_SIZE * 2 + -- (szGraphometricData -- ? (strlen(szGraphometricData) + strlen(szVersion) + 100) -- : 0); -+ int fulllen = m_actualLen * 2 + SIGNATURE_SIZE * 2; - - int mainDoclen = 0; - m_pMainDocbuffer = NULL; -@@ -227,7 +208,7 @@ void PdfSignatureGenerator::InitSignature( - LOG_DBG((0, "InitSignature", "fulllen %d", fulllen)); - m_pMainDocbuffer = new char[fulllen]; - PdfOutputDevice pdfOutDevice(m_pMainDocbuffer, fulllen); -- m_pPdfDocument->Write(&pdfOutDevice); -+ m_pPdfMemDocument->Write(&pdfOutDevice); - mainDoclen = pdfOutDevice.GetLength(); - } catch (::PoDoFo::PdfError err) { - if (m_pMainDocbuffer) { -@@ -301,32 +282,32 @@ void PdfSignatureGenerator::GetSignedPdf(UUCByteArray& signedPdf) { - } - - const double PdfSignatureGenerator::getWidth(int pageIndex) { -- if (m_pPdfDocument) { -- PdfPage* pPage = m_pPdfDocument->GetPage(pageIndex); -+ if (m_pPdfMemDocument) { -+ PdfPage* pPage = m_pPdfMemDocument->GetPage(pageIndex); - return pPage->GetPageSize().GetWidth(); - } - return 0; - } - - const double PdfSignatureGenerator::getHeight(int pageIndex) { -- if (m_pPdfDocument) { -- PdfPage* pPage = m_pPdfDocument->GetPage(pageIndex); -+ if (m_pPdfMemDocument) { -+ PdfPage* pPage = m_pPdfMemDocument->GetPage(pageIndex); - return pPage->GetPageSize().GetHeight(); - } - return 0; - } - - const double PdfSignatureGenerator::lastSignatureY(int left, int bottom) { -- if (!m_pPdfDocument) return -1; -+ if (!m_pPdfMemDocument) return -1; - /// Find the document catalog dictionary -- const PdfObject* const trailer = m_pPdfDocument->GetTrailer(); -+ const PdfObject* const trailer = m_pPdfMemDocument->GetTrailer(); - if (!trailer->IsDictionary()) return -1; - const PdfObject* const catalogRef = - trailer->GetDictionary().GetKey(PdfName("Root")); - if (catalogRef == 0 || !catalogRef->IsReference()) - return -2; // throw std::invalid_argument("Invalid /Root entry"); - const PdfObject* const catalog = -- m_pPdfDocument->GetObjects().GetObject(catalogRef->GetReference()); -+ m_pPdfMemDocument->GetObjects().GetObject(catalogRef->GetReference()); - if (catalog == 0 || !catalog->IsDictionary()) - return -3; // throw std::invalid_argument("Invalid or non-dictionary - // referenced by /Root entry"); -@@ -336,8 +317,8 @@ const double PdfSignatureGenerator::lastSignatureY(int left, int bottom) { - catalog->GetDictionary().GetKey(PdfName("AcroForm")); - if (acroFormValue == 0) return bottom; - if (acroFormValue->IsReference()) -- acroFormValue = -- m_pPdfDocument->GetObjects().GetObject(acroFormValue->GetReference()); -+ acroFormValue = m_pPdfMemDocument->GetObjects().GetObject( -+ acroFormValue->GetReference()); - - if (!acroFormValue->IsDictionary()) return bottom; - -@@ -346,8 +327,8 @@ const double PdfSignatureGenerator::lastSignatureY(int left, int bottom) { - if (fieldsValue == 0) return bottom; - - if (fieldsValue->IsReference()) -- fieldsValue = -- m_pPdfDocument->GetObjects().GetObject(acroFormValue->GetReference()); -+ fieldsValue = m_pPdfMemDocument->GetObjects().GetObject( -+ acroFormValue->GetReference()); - - if (!fieldsValue->IsArray()) return bottom; - -@@ -360,8 +341,8 @@ const double PdfSignatureGenerator::lastSignatureY(int left, int bottom) { - - for (unsigned int i = 0; i < array.size(); i++) { - const PdfObject* pObj = -- m_pPdfDocument->GetObjects().GetObject(array[i].GetReference()); -- if (IsSignatureField(m_pPdfDocument, pObj)) { -+ m_pPdfMemDocument->GetObjects().GetObject(array[i].GetReference()); -+ if (IsSignatureField(m_pPdfMemDocument, pObj)) { - const PdfObject* const keyRect = - pObj->GetDictionary().GetKey(PdfName("Rect")); - if (keyRect == 0) { -diff --git a/libs/sign-sdk/src/disigonsdk.cpp b/libs/sign-sdk/src/disigonsdk.cpp -index 250c93f..84e1b0b 100644 ---- a/libs/sign-sdk/src/disigonsdk.cpp -+++ b/libs/sign-sdk/src/disigonsdk.cpp -@@ -5,6 +5,7 @@ - - #include - #include -+#include - #include - #include - diff --git a/pkgs/by-name/ci/cilium-cli/package.nix b/pkgs/by-name/ci/cilium-cli/package.nix index c2630a055d44..8b101be51027 100644 --- a/pkgs/by-name/ci/cilium-cli/package.nix +++ b/pkgs/by-name/ci/cilium-cli/package.nix @@ -9,13 +9,13 @@ buildGoModule rec { pname = "cilium-cli"; - version = "0.18.3"; + version = "0.18.4"; src = fetchFromGitHub { owner = "cilium"; repo = "cilium-cli"; tag = "v${version}"; - hash = "sha256-9+nNZEXjSoNB/Ftn/CtoBcR/uaD71C1jzDEaEG3Wpb4="; + hash = "sha256-S+LtNIbtZVxk77eySYYZqr+Bicibl7vLo0nqkxUpkME="; }; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/ci/cinny-desktop/package.nix b/pkgs/by-name/ci/cinny-desktop/package.nix index 861bd2dd43ef..c78f7d1958a6 100644 --- a/pkgs/by-name/ci/cinny-desktop/package.nix +++ b/pkgs/by-name/ci/cinny-desktop/package.nix @@ -18,19 +18,19 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cinny-desktop"; # We have to be using the same version as cinny-web or this isn't going to work. - version = "4.8.0"; + version = "4.8.1"; src = fetchFromGitHub { owner = "cinnyapp"; repo = "cinny-desktop"; tag = "v${finalAttrs.version}"; - hash = "sha256-cixpsn0jMufd6VrBCsCH9t3bpkKdgi1i0qnkBlLgLG0="; + hash = "sha256-Q9iCEJu/HgWnMqiT0EjtJUk7dp7o0hbLoamlkFEaR4M="; }; sourceRoot = "${finalAttrs.src.name}/src-tauri"; useFetchCargoVendor = true; - cargoHash = "sha256-twfRuoA4z+Xgyyn7aIRy6MV1ozN2+qhSLh8i+qOTa2Q="; + cargoHash = "sha256-lWU1NrUwcAXQR6mEiCr6Ze3TzpDYvCx5/fBIef9ao5I="; postPatch = let diff --git a/pkgs/by-name/ci/cinny-unwrapped/package.nix b/pkgs/by-name/ci/cinny-unwrapped/package.nix index 5fc3c304f7f4..53ce6b4bc7ad 100644 --- a/pkgs/by-name/ci/cinny-unwrapped/package.nix +++ b/pkgs/by-name/ci/cinny-unwrapped/package.nix @@ -13,16 +13,16 @@ buildNpmPackage rec { pname = "cinny-unwrapped"; - version = "4.8.0"; + version = "4.8.1"; src = fetchFromGitHub { owner = "cinnyapp"; repo = "cinny"; tag = "v${version}"; - hash = "sha256-yM+P7KXT/cspKt2l4+COoH68jCJUSs2TrfJGZHF/lYY="; + hash = "sha256-1F49KHAfCtvcqMeRYI8r6Ke7oz+EQqOfkgdgn5E1DU4="; }; - npmDepsHash = "sha256-RWc8nSh/HuXUokU2RZnmwYUCfBxpL9Wp1Sgi2l1CN38="; + npmDepsHash = "sha256-Tx+08NrbFolI7agC6AtNvkOgCJWJa4fsY0CFC02h4r0="; nativeBuildInputs = [ python3 diff --git a/pkgs/by-name/ci/circleci-cli/package.nix b/pkgs/by-name/ci/circleci-cli/package.nix index add220315944..2b2778ad6d28 100644 --- a/pkgs/by-name/ci/circleci-cli/package.nix +++ b/pkgs/by-name/ci/circleci-cli/package.nix @@ -7,13 +7,13 @@ buildGoModule rec { pname = "circleci-cli"; - version = "0.1.32067"; + version = "0.1.32367"; src = fetchFromGitHub { owner = "CircleCI-Public"; repo = "circleci-cli"; rev = "v${version}"; - sha256 = "sha256-jYj6iuQqX5njKtJa4VfqES9j/+kTETRY25YPMIlYjFY="; + sha256 = "sha256-8phKDgZPMJlZryCAUy2Jtk2BdMbeCQ9RdhEfkN7MEWc="; }; vendorHash = "sha256-mMMZ0EntLT9YC0Q1ya/uTRA2cl95aqg/XBtLXC7ufqc="; diff --git a/pkgs/by-name/ci/circt/package.nix b/pkgs/by-name/ci/circt/package.nix index dfcd36d4e7d0..9737cba556be 100644 --- a/pkgs/by-name/ci/circt/package.nix +++ b/pkgs/by-name/ci/circt/package.nix @@ -19,12 +19,12 @@ let in stdenv.mkDerivation rec { pname = "circt"; - version = "1.119.0"; + version = "1.122.0"; src = fetchFromGitHub { owner = "llvm"; repo = "circt"; rev = "firtool-${version}"; - hash = "sha256-e9tF/A7VnZblhS3GO3ezdEWqCYKHMwgwzbG4wmTw1sE="; + hash = "sha256-8q/oh/LjeOsfQSQBfnyhQjGIYtRLgyEENsyfgxyTnv0="; fetchSubmodules = true; }; diff --git a/pkgs/by-name/ci/cirrus-cli/package.nix b/pkgs/by-name/ci/cirrus-cli/package.nix index e53f35129229..7929e98226af 100644 --- a/pkgs/by-name/ci/cirrus-cli/package.nix +++ b/pkgs/by-name/ci/cirrus-cli/package.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "cirrus-cli"; - version = "0.144.1"; + version = "0.144.3"; src = fetchFromGitHub { owner = "cirruslabs"; repo = "cirrus-cli"; rev = "v${version}"; - hash = "sha256-xU1c7dDYCfzLao6TLQFSijwTnEz0afkcOQnlHeTgaVQ="; + hash = "sha256-aqsPh6pZ2v5ysYoD9rG/ATAPBKUslxlif1uKMPGY6gU="; }; - vendorHash = "sha256-ZFvulF/glMq7Crp1d1lK602G34/anlT5yyyQQcgiuHg="; + vendorHash = "sha256-fcaOMSOLcl1rzp4zn6KiojC0ewJMFbyG4+1uod+/6yc="; ldflags = [ "-X github.com/cirruslabs/cirrus-cli/internal/version.Version=v${version}" diff --git a/pkgs/by-name/ci/ciscoPacketTracer8/package.nix b/pkgs/by-name/ci/ciscoPacketTracer8/package.nix index f07f943cbf20..45d2f3fab038 100644 --- a/pkgs/by-name/ci/ciscoPacketTracer8/package.nix +++ b/pkgs/by-name/ci/ciscoPacketTracer8/package.nix @@ -137,6 +137,11 @@ stdenvNoCC.mkDerivation { mkdir -p $out/bin ln -s ${fhs-env}/bin/${fhs-env.name} $out/bin/packettracer8 + mkdir -p $out/share/icons/hicolor/48x48/apps + ln -s ${unwrapped}/opt/pt/art/app.png $out/share/icons/hicolor/48x48/apps/cisco-packet-tracer.png + ln -s ${unwrapped}/usr/share/icons/gnome/48x48/mimetypes $out/share/icons/hicolor/48x48/mimetypes + ln -s ${unwrapped}/usr/share/mime $out/share/mime + runHook postInstall ''; @@ -144,12 +149,14 @@ stdenvNoCC.mkDerivation { (makeDesktopItem { name = "cisco-pt8.desktop"; desktopName = "Cisco Packet Tracer 8"; - icon = "${unwrapped}/opt/pt/art/app.png"; + icon = "cisco-packet-tracer"; exec = "packettracer8 %f"; mimeTypes = [ "application/x-pkt" "application/x-pka" "application/x-pkz" + "application/x-pksz" + "application/x-pks" ]; }) ]; diff --git a/pkgs/by-name/ci/civo/package.nix b/pkgs/by-name/ci/civo/package.nix index 5457292c1946..03574604321e 100644 --- a/pkgs/by-name/ci/civo/package.nix +++ b/pkgs/by-name/ci/civo/package.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "civo"; - version = "1.3.0"; + version = "1.4.0"; src = fetchFromGitHub { owner = "civo"; repo = "cli"; rev = "v${version}"; - hash = "sha256-XK3FMgtAXOQYKa2il83blgdFhOdzbmP7VnIOijyDsK8="; + hash = "sha256-3kvSXewDpBHfiQfnPRRnc9OZE+WShb9ImRDuIYPQbak="; }; - vendorHash = "sha256-fGAJUGYbPJ88Dnfi5XWXr2jd9hE6M8p2ZLq5ORMoyL0="; + vendorHash = "sha256-jW1pJ/UmeFsIEVvrwxcQuWwPQFHYkJBFnxGei41pz2U="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/cl/clamav/package.nix b/pkgs/by-name/cl/clamav/package.nix index 6cafb20cee6e..50d7e8d87a60 100644 --- a/pkgs/by-name/cl/clamav/package.nix +++ b/pkgs/by-name/cl/clamav/package.nix @@ -26,11 +26,11 @@ stdenv.mkDerivation rec { pname = "clamav"; - version = "1.4.2"; + version = "1.4.3"; src = fetchurl { url = "https://www.clamav.net/downloads/production/${pname}-${version}.tar.gz"; - hash = "sha256-jJL4reKo8snWaI0dY+5X9sr5ZddNzgbQlxxnCcjmwEw="; + hash = "sha256-2HTKvz1HZbNbUY71NWWKHm7HSAIAah1hP58SSqE0MhA="; }; patches = [ diff --git a/pkgs/by-name/cl/claude-code/package-lock.json b/pkgs/by-name/cl/claude-code/package-lock.json index fe46c0b39863..68c9496e4b78 100644 --- a/pkgs/by-name/cl/claude-code/package-lock.json +++ b/pkgs/by-name/cl/claude-code/package-lock.json @@ -6,13 +6,13 @@ "packages": { "": { "dependencies": { - "@anthropic-ai/claude-code": "^1.0.17" + "@anthropic-ai/claude-code": "^1.0.30" } }, "node_modules/@anthropic-ai/claude-code": { - "version": "1.0.17", - "resolved": "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-1.0.17.tgz", - "integrity": "sha512-+MX/pKOKXG2HLSh7WJIgiILdumqRgcORUX0iSQmAfn+UEoHSYSuFWZWuWBpixaa8W4tiTCC06uN4pgzinCU6jw==", + "version": "1.0.30", + "resolved": "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-1.0.30.tgz", + "integrity": "sha512-qIs92Cq3hFwn9/lZBta+wWJfGoQsrbFuiVm0bkurwGKxaJV69Ibr6hYfSU/lIKLcbvSygkZ/tWRxFQt44gnFhQ==", "hasInstallScript": true, "license": "SEE LICENSE IN README.md", "bin": { diff --git a/pkgs/by-name/cl/claude-code/package.nix b/pkgs/by-name/cl/claude-code/package.nix index dcf7ccb88b46..f9e4e0528762 100644 --- a/pkgs/by-name/cl/claude-code/package.nix +++ b/pkgs/by-name/cl/claude-code/package.nix @@ -7,16 +7,16 @@ buildNpmPackage rec { pname = "claude-code"; - version = "1.0.17"; + version = "1.0.30"; nodejs = nodejs_20; # required for sandboxed Nix builds on Darwin src = fetchzip { url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${version}.tgz"; - hash = "sha256-RxbsAehJ4zIt86ppmMB1MPg/XFrGWuumNdQbT+ytg8A="; + hash = "sha256-DwzSXpDrNV8FhfqrRQ3OK/LjmiXd+VHEW91jnyds2P4="; }; - npmDepsHash = "sha256-tC0OyJ3t4i/CdqKUGIw5Wd9UiLYJECcbDi/suxim0/A="; + npmDepsHash = "sha256-M6H6A4i4JBqcFTG/ZkmxpINa4lw8sO5+iu2YcBqmvi4="; postPatch = '' cp ${./package-lock.json} package-lock.json @@ -40,7 +40,10 @@ buildNpmPackage rec { homepage = "https://github.com/anthropics/claude-code"; downloadPage = "https://www.npmjs.com/package/@anthropic-ai/claude-code"; license = lib.licenses.unfree; - maintainers = [ lib.maintainers.malo ]; + maintainers = with lib.maintainers; [ + malo + omarjatoi + ]; mainProgram = "claude"; }; } diff --git a/pkgs/by-name/cl/clean/chroot-build-support-do-not-rebuild-equal-timestamps.patch b/pkgs/by-name/cl/clean/chroot-build-support-do-not-rebuild-equal-timestamps.patch new file mode 100644 index 000000000000..3f0d0a25d3a7 --- /dev/null +++ b/pkgs/by-name/cl/clean/chroot-build-support-do-not-rebuild-equal-timestamps.patch @@ -0,0 +1,21 @@ +The clean command line compiler clm uses timestamps of dcl, icl, abc and o files +to decide what must be rebuild. However as for chroot builds, all of the +library files will have equal timestamps, this leads to clm trying to rebuild +the library modules distributed with the Clean installation every time a user +compiles any file, which fails ue to the absence of write permission on the Nix +store. + +This patch changes the freshness check to use less than instead of less than or +equal to in order to avoid this. + +--- b/src/clm/clm.c ++++ a/src/clm/clm.c +@@ -250,7 +250,7 @@ + || (t1.dwHighDateTime==t2.dwHighDateTime && (unsigned)(t1.dwLowDateTime)<=(unsigned)(t2.dwLowDateTime))) + #else + typedef unsigned long FileTime; +-# define FILE_TIME_LE(t1,t2) (t1<=t2) ++# define FILE_TIME_LE(t1,t2) (t1 (Int, Thread)) ++int start_caching_compiler_with_args (CleanCharArray coc_path, char** cocl_argv, int cocl_argv_size); + int call_caching_compiler (CleanCharArray args); + Clean (call_caching_compiler :: {#Char} Thread -> (Int, Thread)) + int stop_caching_compiler (void); diff --git a/pkgs/by-name/cl/clean/package.nix b/pkgs/by-name/cl/clean/package.nix new file mode 100644 index 000000000000..c75a7296b6ae --- /dev/null +++ b/pkgs/by-name/cl/clean/package.nix @@ -0,0 +1,80 @@ +{ + binutils, + fetchurl, + gcc, + lib, + runCommand, + stdenv, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "clean"; + version = "3.1"; + + src = + if stdenv.hostPlatform.system == "i686-linux" then + (fetchurl { + url = "https://ftp.cs.ru.nl/Clean/Clean31/linux/clean3.1_32_boot.tar.gz"; + sha256 = "Ls0IKf+o7yhRLhtSV61jzmnYukfh5x5fogHaP5ke/Ck="; + }) + else if stdenv.hostPlatform.system == "x86_64-linux" then + (fetchurl { + url = "https://ftp.cs.ru.nl/Clean/Clean31/linux/clean3.1_64_boot.tar.gz"; + sha256 = "Gg5CVZjrwDBtV7Vuw21Xj6Rn+qN1Mf6B3ls6r/16oBc="; + }) + else + throw "Architecture not supported"; + + hardeningDisable = [ "pic" ]; + + patches = [ + ./chroot-build-support-do-not-rebuild-equal-timestamps.patch + ./declare-functions-explicitly-for-gcc14.patch + ]; + + postPatch = '' + substituteInPlace Makefile \ + --replace-fail 'INSTALL_DIR = $(CURRENTDIR)' "INSTALL_DIR = $out" + substituteInPlace src/clm/clm.c \ + --replace-fail /usr/bin/as ${binutils}/bin/as \ + --replace-fail /usr/bin/gcc ${gcc}/bin/gcc + ''; + + buildFlags = [ "-C src/" ]; + + # do not strip libraries and executables since all symbols since they are + # required as is for compilation. Especially the labels of unused section need + # to be kept. + dontStrip = true; + + passthru.tests.compile-hello-world = runCommand "compile-hello-world" { } '' + cat >HelloWorld.icl <= 1.1.15 the build fails on unstable diff --git a/pkgs/by-name/co/confluent-cli/package.nix b/pkgs/by-name/co/confluent-cli/package.nix index 198360e9a7ef..f8cf01f8b604 100644 --- a/pkgs/by-name/co/confluent-cli/package.nix +++ b/pkgs/by-name/co/confluent-cli/package.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "confluent-cli"; - version = "4.26.1"; + version = "4.28.0"; # To get the latest version: # curl -L https://cnfl.io/cli | sh -s -- -l | grep -v latest | sort -V | tail -n1 @@ -26,10 +26,10 @@ stdenv.mkDerivation (finalAttrs: { fetchurl { url = "https://s3-us-west-2.amazonaws.com/confluent.cloud/confluent-cli/archives/${finalAttrs.version}/confluent_${finalAttrs.version}_${system}.tar.gz"; hash = selectSystem { - x86_64-linux = "sha256-TvlOvVtIu1V3PYgVu0PhGNaeZo1rI4kseyiu5Me+pNE="; - aarch64-linux = "sha256-raBMe7hyBcVW0wBTHMLxoktWUUh/1AoKgmpsqYojn5c="; - x86_64-darwin = "sha256-BD2uifycqYX+v21PSAkiB8qz6dXwHAAEygg/uwaPJm8="; - aarch64-darwin = "sha256-PRmJfiL6gHN1EQnggsQAEINzLJ0hZ36SlXGwJTUa134="; + x86_64-linux = "sha256-UZenEPriotCx+HQJocJFR3rm6tQWvWldiUwzSS9/7G8="; + aarch64-linux = "sha256-/hTU4ev7j5paGRMpFXPSQ3se8VGJ0XsSWF9EO4V3XF4="; + x86_64-darwin = "sha256-4lRhQJCKyKNeLqCPro0bmSUE9c0iCMBbR1PR7SPhmiE="; + aarch64-darwin = "sha256-SCY4QVFKAfqHNnz2Pj7lE4kdNH80yHX6XR6lPV+Kwqw="; }; }; diff --git a/pkgs/by-name/co/container/package.nix b/pkgs/by-name/co/container/package.nix new file mode 100644 index 000000000000..e485bc221565 --- /dev/null +++ b/pkgs/by-name/co/container/package.nix @@ -0,0 +1,68 @@ +{ + lib, + stdenvNoCC, + fetchurl, + libarchive, + xar, + installShellFiles, + versionCheckHook, + nix-update-script, +}: + +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "container"; + version = "0.1.0"; + + src = fetchurl { + url = "https://github.com/apple/container/releases/download/${finalAttrs.version}/container-${finalAttrs.version}-installer-signed.pkg"; + hash = "sha256-no+3kTlKb1NbN7YUdBMrU+vgpKNRwqjzo313RYBpfqE="; + }; + + nativeBuildInputs = [ + libarchive + xar + installShellFiles + ]; + + dontUnpack = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out + xar -xf $src Payload + bsdtar --extract --file Payload --directory $out + + runHook postInstall + ''; + + postInstall = lib.optionalString (stdenvNoCC.buildPlatform.canExecute stdenvNoCC.hostPlatform) '' + installShellCompletion --cmd ${finalAttrs.meta.mainProgram} \ + --bash <($out/bin/${finalAttrs.meta.mainProgram} --generate-completion-script bash) \ + --fish <($out/bin/${finalAttrs.meta.mainProgram} --generate-completion-script fish) \ + --zsh <($out/bin/${finalAttrs.meta.mainProgram} --generate-completion-script zsh) + ''; + + nativeInstallCheckInputs = [ + versionCheckHook + ]; + versionCheckProgramArg = "--version"; + doInstallCheck = true; + + passthru = { + updateScript = nix-update-script { }; + }; + + meta = { + description = "Creating and running Linux containers using lightweight virtual machines on a Mac"; + homepage = "https://github.com/apple/container"; + changelog = "https://github.com/apple/container/releases/tag/${finalAttrs.version}"; + license = lib.licenses.asl20; + mainProgram = "container"; + maintainers = with lib.maintainers; [ + xiaoxiangmoe + ]; + platforms = [ "aarch64-darwin" ]; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + }; +}) diff --git a/pkgs/by-name/co/copilot-language-server/package.nix b/pkgs/by-name/co/copilot-language-server/package.nix index 20230ef65b76..2a4fbd59d141 100644 --- a/pkgs/by-name/co/copilot-language-server/package.nix +++ b/pkgs/by-name/co/copilot-language-server/package.nix @@ -45,11 +45,11 @@ let in stdenvNoCC.mkDerivation (finalAttrs: { pname = "copilot-language-server"; - version = "1.330.0"; + version = "1.335.0"; src = fetchzip { url = "https://github.com/github/copilot-language-server-release/releases/download/${finalAttrs.version}/copilot-language-server-native-${finalAttrs.version}.zip"; - hash = "sha256-/Em00UVEg46gEI52fG7aQo2rqKwqrF3V1tAVx2hpyMc="; + hash = "sha256-ZMnbfVLe1ZtYYCaMhSNqeWfHEtKJf8BImiipypa57w0="; stripRoot = false; }; diff --git a/pkgs/by-name/co/corestore/package-lock.json b/pkgs/by-name/co/corestore/package-lock.json new file mode 100644 index 000000000000..3dcfbff427de --- /dev/null +++ b/pkgs/by-name/co/corestore/package-lock.json @@ -0,0 +1,4755 @@ +{ + "name": "corestore", + "version": "7.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "corestore", + "version": "7.1.0", + "license": "MIT", + "dependencies": { + "b4a": "^1.6.7", + "hypercore": "^11.0.0", + "hypercore-crypto": "^3.4.2", + "hypercore-errors": "^1.4.0", + "hypercore-id-encoding": "^1.3.0", + "ready-resource": "^1.1.1", + "sodium-universal": "^4.0.1" + }, + "devDependencies": { + "brittle": "^3.7.0", + "rache": "^1.0.0", + "standard": "^17.1.2", + "test-tmp": "^1.3.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.5.1.tgz", + "integrity": "sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@hyperswarm/secret-stream": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/@hyperswarm/secret-stream/-/secret-stream-6.7.1.tgz", + "integrity": "sha512-isb18Pt6lXBpOQMRmpqItw+kYynXilOFyOhto/RMP15WQtTWC0rR5jfZPYXU7ZYV6Kxd2lyQ4ZBevoIcvEJHEQ==", + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.1.0", + "hypercore-crypto": "^3.3.1", + "noise-curve-ed": "^2.0.1", + "noise-handshake": "^3.0.2", + "sodium-secretstream": "^1.1.0", + "sodium-universal": "^4.0.0", + "streamx": "^2.14.0", + "timeout-refresh": "^2.0.0", + "unslab": "^1.3.0" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "dev": true, + "license": "ISC" + }, + "node_modules/acorn": { + "version": "8.14.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", + "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/b4a": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.7.tgz", + "integrity": "sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==", + "license": "Apache-2.0" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/bare-addon-resolve": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/bare-addon-resolve/-/bare-addon-resolve-1.9.4.tgz", + "integrity": "sha512-unn6Vy/Yke6F99vg/7tcrvM2KUvIhTNniaSqDbam4AWkd4NhvDVSrQiRYVlNzUV2P7SPobkCK7JFVxrJk9btCg==", + "license": "Apache-2.0", + "dependencies": { + "bare-module-resolve": "^1.10.0", + "bare-semver": "^1.0.0" + }, + "peerDependencies": { + "bare-url": "*" + }, + "peerDependenciesMeta": { + "bare-url": { + "optional": true + } + } + }, + "node_modules/bare-cov": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bare-cov/-/bare-cov-1.0.1.tgz", + "integrity": "sha512-r/qCY1ZWUvD0QY04ZHgRy8qXW/x+vD+Iofg1l/OiYmTz4h46oMF7DHWl/NkgUZBKK2X6QoE4Q/w/JvJDmh5+HQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-reports": "^3.1.7", + "picomatch": "^4.0.2", + "v8-to-istanbul": "^9.3.0" + } + }, + "node_modules/bare-env": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bare-env/-/bare-env-3.0.0.tgz", + "integrity": "sha512-0u964P5ZLAxTi+lW4Kjp7YRJQ5gZr9ycYOtjLxsSrupgMz3sn5Z9n4SH/JIifHwvadsf1brA2JAjP+9IOWwTiw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "bare-os": "^3.0.1" + } + }, + "node_modules/bare-events": { + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.5.4.tgz", + "integrity": "sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==", + "license": "Apache-2.0" + }, + "node_modules/bare-fs": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.1.2.tgz", + "integrity": "sha512-8wSeOia5B7LwD4+h465y73KOdj5QHsbbuoUfPBi+pXgFJIPuG7SsiOdJuijWMyfid49eD+WivpfY7KT8gbAzBA==", + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.5.4", + "bare-path": "^3.0.0", + "bare-stream": "^2.6.4" + }, + "engines": { + "bare": ">=1.16.0" + }, + "peerDependencies": { + "bare-buffer": "*" + }, + "peerDependenciesMeta": { + "bare-buffer": { + "optional": true + } + } + }, + "node_modules/bare-module-resolve": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/bare-module-resolve/-/bare-module-resolve-1.10.2.tgz", + "integrity": "sha512-C9COe/GhWfVXKytW3DElTkiBU+Gb2OXeaVkdGdRB/lp26TVLESHkTGS876iceAGdvtPgohfp9nX8vXHGvN3++Q==", + "license": "Apache-2.0", + "dependencies": { + "bare-semver": "^1.0.0" + }, + "peerDependencies": { + "bare-url": "*" + }, + "peerDependenciesMeta": { + "bare-url": { + "optional": true + } + } + }, + "node_modules/bare-os": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.6.1.tgz", + "integrity": "sha512-uaIjxokhFidJP+bmmvKSgiMzj2sV5GPHaZVAIktcxcpCyBFFWO+YlikVAdhmUo2vYFvFhOXIAlldqV29L8126g==", + "license": "Apache-2.0", + "engines": { + "bare": ">=1.14.0" + } + }, + "node_modules/bare-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz", + "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==", + "license": "Apache-2.0", + "dependencies": { + "bare-os": "^3.0.1" + } + }, + "node_modules/bare-pipe": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/bare-pipe/-/bare-pipe-4.0.5.tgz", + "integrity": "sha512-pGI5lPp0QMecENYm1KxAeM0pomByCB4ubUt2C78xaagH4et6Bc2OTzM0y3Bc91AT8ERIG4iNPmAKVjgaxYcwIQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.0.0", + "bare-stream": "^2.0.0" + }, + "engines": { + "bare": ">=1.16.0" + } + }, + "node_modules/bare-semver": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bare-semver/-/bare-semver-1.0.1.tgz", + "integrity": "sha512-UtggzHLiTrmFOC/ogQ+Hy7VfoKoIwrP1UFcYtTxoCUdLtsIErT8+SWtOC2DH/snT9h+xDrcBEPcwKei1mzemgg==", + "license": "Apache-2.0" + }, + "node_modules/bare-stream": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.6.5.tgz", + "integrity": "sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==", + "license": "Apache-2.0", + "dependencies": { + "streamx": "^2.21.0" + }, + "peerDependencies": { + "bare-buffer": "*", + "bare-events": "*" + }, + "peerDependenciesMeta": { + "bare-buffer": { + "optional": true + }, + "bare-events": { + "optional": true + } + } + }, + "node_modules/bare-subprocess": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/bare-subprocess/-/bare-subprocess-5.0.3.tgz", + "integrity": "sha512-iCx8kfvqClPAQGsbL2RfMubB6EYoZ67ZhaEIpn6wIqIa60p4zLAlGJyEQQtXPo/5dclbpgzWre5hvJ7HzXC/aA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "bare-env": "^3.0.0", + "bare-events": "^2.5.4", + "bare-os": "^3.0.1", + "bare-pipe": "^4.0.0" + }, + "engines": { + "bare": ">=1.7.0" + }, + "peerDependencies": { + "bare-buffer": "*" + }, + "peerDependenciesMeta": { + "bare-buffer": { + "optional": true + } + } + }, + "node_modules/bare-url": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.1.5.tgz", + "integrity": "sha512-lNImB5KLN+ggw+SYDYvqf/yCizXIyq8U/nWBlx7m4pc4TKS24SB/1WWskzGacon5cVVAC6qUzCYzI/aMYCf4Ng==", + "license": "Apache-2.0", + "dependencies": { + "bare-path": "^3.0.0" + } + }, + "node_modules/big-sparse-array": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/big-sparse-array/-/big-sparse-array-1.0.3.tgz", + "integrity": "sha512-6RjV/3mSZORlMdpUaQ6rUSpG637cZm0//E54YYGtQg1c1O+AbZP8UTdJ/TchsDZcTVLmyWZcseBfp2HBeXUXOQ==", + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/brittle": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/brittle/-/brittle-3.13.1.tgz", + "integrity": "sha512-/j8hTAhc/u4MDkrexC5MjYErgNMWCpYHZONmhI7wmMJPRY+lef/KW1PzDRzK3i5Gopig1Bos/zlwqeysdjqw/g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.6.0", + "bare-cov": "^1.0.1", + "bare-subprocess": "^5.0.0", + "error-stack-parser": "^2.1.4", + "globbie": "^1.0.0", + "paparam": "^1.6.2", + "same-object": "^1.0.2", + "test-tmp": "^1.4.0", + "tmatch": "^5.0.0" + }, + "bin": { + "brittle": "cmd.js" + } + }, + "node_modules/builtins": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz", + "integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.0.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/compact-encoding": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/compact-encoding/-/compact-encoding-2.16.0.tgz", + "integrity": "sha512-zG2ul4Egc8ktfmj2vYiC6s/U3u1OkNyUGj32jrJq6qcJ4atGcEpVr+AI+VDJ3oteNfGIw/uol4oBQyB74OeGvw==", + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.3.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/device-file": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/device-file/-/device-file-1.2.5.tgz", + "integrity": "sha512-/WKlIqNmGh1OlDyLQquH+wKqFrgm1G1S3rbZhur2AgR0e3KEO4nYncqSDe7MVK/kVuqRzNCSLPFapLwtxcV43Q==", + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.6.7", + "bare-fs": "^4.0.1", + "fs-native-extensions": "^1.4.0" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "stackframe": "^1.3.4" + } + }, + "node_modules/es-abstract": { + "version": "1.23.9", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", + "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.0", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-regex": "^1.2.1", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.0", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.3", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.18" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", + "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.6", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.4", + "safe-array-concat": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-standard": { + "version": "17.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz", + "integrity": "sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "eslint": "^8.0.1", + "eslint-plugin-import": "^2.25.2", + "eslint-plugin-n": "^15.0.0 || ^16.0.0 ", + "eslint-plugin-promise": "^6.0.0" + } + }, + "node_modules/eslint-config-standard-jsx": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-11.0.0.tgz", + "integrity": "sha512-+1EV/R0JxEK1L0NGolAr8Iktm3Rgotx3BKwgaX+eAuSX8D952LULKtjgZD3F+e6SvibONnhLwoTi9DPxN5LvvQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "peerDependencies": { + "eslint": "^8.8.0", + "eslint-plugin-react": "^7.28.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", + "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-es": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz", + "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-utils": "^2.0.0", + "regexpp": "^3.0.0" + }, + "engines": { + "node": ">=8.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=4.19.1" + } + }, + "node_modules/eslint-plugin-es/node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-plugin-es/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.31.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", + "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.8", + "array.prototype.findlastindex": "^1.2.5", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.0", + "hasown": "^2.0.2", + "is-core-module": "^2.15.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.0", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.8", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-n": { + "version": "15.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.7.0.tgz", + "integrity": "sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "builtins": "^5.0.1", + "eslint-plugin-es": "^4.1.0", + "eslint-utils": "^3.0.0", + "ignore": "^5.1.1", + "is-core-module": "^2.11.0", + "minimatch": "^3.1.2", + "resolve": "^1.22.1", + "semver": "^7.3.8" + }, + "engines": { + "node": ">=12.22.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-promise": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.6.0.tgz", + "integrity": "sha512-57Zzfw8G6+Gq7axm2Pdo3gW/Rx3h9Yywgn61uE/3elTCOePEHVrn2i5CdfBwA1BLK0Q0WqctICIUSqXZW/VprQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.37.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", + "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.3", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.2.1", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.9", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.1", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.12", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "license": "MIT" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flat-tree": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/flat-tree/-/flat-tree-1.12.1.tgz", + "integrity": "sha512-GchQ+onbnw5QaqsGbpcV6c8etAd396X/EVdDxutQMkGapB0lRvV9heIXS6ZffQVCse0hm2hBpK7GJz2Zp7qiMg==", + "license": "MIT" + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/fs-native-extensions": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/fs-native-extensions/-/fs-native-extensions-1.4.2.tgz", + "integrity": "sha512-QoQqYdHJTtfHUUO/ylyKSrt3dtPDyXCAjzveqCxPsV3hpIMNt455ua470+iTKJ8lFZ94pLC6Dv1TBbwOFLiV5w==", + "license": "Apache-2.0", + "dependencies": { + "require-addon": "^1.1.0", + "which-runtime": "^1.2.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/generate-object-property": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-2.0.0.tgz", + "integrity": "sha512-KwuURPyqn2Mz8DdV29pJwQu0Y7tcsbkULr82eeOcY/ZllFK6I9Wm8dsRByIu7CKWlFi9BdW1b3mcXMp/kQBQsw==", + "license": "MIT", + "dependencies": { + "is-property": "^1.0.0" + } + }, + "node_modules/generate-string": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/generate-string/-/generate-string-1.0.1.tgz", + "integrity": "sha512-IfTY0dKZM43ACyGvXkbG7De7WY7MxTS5VO6Juhe8oJKpCmrYYXoqp/cJMskkpi0k9H8wuXq0H+eI898/BCqvXg==", + "license": "MIT" + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stdin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", + "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globbie": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/globbie/-/globbie-1.0.1.tgz", + "integrity": "sha512-gcokK9aku5LU7KgbQAmtjtxmBbp0viw7qNZr6aA3p/YqSg7G1rZXA9wx2xsUSi3F3pashx0wmUs68lMXXNbSgw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "brittle": "^3.6.0", + "picomatch": "^4.0.2" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true, + "license": "MIT" + }, + "node_modules/hypercore": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/hypercore/-/hypercore-11.1.2.tgz", + "integrity": "sha512-wiCLejTqCX74Z9UXs/N80h6tktiG6iqHf5wLkAeDWztEsXfRy4AQ7U9PqUIYBnaYuIRaReMPYiMeYPKs0eLUUg==", + "license": "MIT", + "dependencies": { + "@hyperswarm/secret-stream": "^6.0.0", + "b4a": "^1.1.0", + "bare-events": "^2.2.0", + "big-sparse-array": "^1.0.3", + "compact-encoding": "^2.11.0", + "fast-fifo": "^1.3.0", + "flat-tree": "^1.9.0", + "hypercore-crypto": "^3.2.1", + "hypercore-encryption": "^1.0.0", + "hypercore-errors": "^1.2.0", + "hypercore-id-encoding": "^1.2.0", + "hypercore-storage": "^1.0.0", + "is-options": "^1.0.1", + "protomux": "^3.5.0", + "quickbit-universal": "^2.2.0", + "random-array-iterator": "^1.0.0", + "safety-catch": "^1.0.1", + "sodium-universal": "^4.0.0", + "streamx": "^2.12.4", + "unslab": "^1.3.0", + "z32": "^1.0.0" + } + }, + "node_modules/hypercore-crypto": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/hypercore-crypto/-/hypercore-crypto-3.5.0.tgz", + "integrity": "sha512-jIhMtPsBfomxruq5TsCl+jhMYsjWBOsSllQy006OFInoRhfIpXpcE28o1wU6qdMRdvzoEIiWmFxJC3SRUmt3WA==", + "license": "MIT", + "dependencies": { + "b4a": "^1.6.6", + "compact-encoding": "^2.15.0", + "sodium-universal": "^4.0.1" + } + }, + "node_modules/hypercore-encryption": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/hypercore-encryption/-/hypercore-encryption-1.1.2.tgz", + "integrity": "sha512-n/tzQytyzCx3DHKKXsELE4uYlcHD9Y0U3Tfgf5NT0MM03pYmDFVsC2nYHYcdEBLSWNca0ZWwqBRFAb0DuQPN6w==", + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.6.7", + "compact-encoding": "^2.16.0", + "hypercore-crypto": "^3.5.0", + "ready-resource": "^1.1.2", + "sodium-native": "^4.3.3" + } + }, + "node_modules/hypercore-errors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/hypercore-errors/-/hypercore-errors-1.4.0.tgz", + "integrity": "sha512-WoaT467lNbDCglxisthpoC1mpBOH/CoM5IADPQm6BvPzZqXca1S6N1uoflLnZOIre9klCr1SdUnLgDWXLalJ7A==", + "license": "Apache-2.0" + }, + "node_modules/hypercore-id-encoding": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/hypercore-id-encoding/-/hypercore-id-encoding-1.3.0.tgz", + "integrity": "sha512-W6sHdGo5h7LXEsoWfKf/KfuROZmZRQDlGqJF2EPHW+noCK66Vvr0+zE6cL0vqQi18s0kQPeN7Sq3QyR0Ytc2VQ==", + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.5.3", + "z32": "^1.0.0" + } + }, + "node_modules/hypercore-storage": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/hypercore-storage/-/hypercore-storage-1.11.0.tgz", + "integrity": "sha512-lJLL76UepyjdnhIq7OBAvrzrbt6fq/ZFX3ue+HcduzC/nzwo/LVK9Kna/aAVMAJOvYanSyy2N3hEeFbXda+c9g==", + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.6.7", + "bare-fs": "^4.0.1", + "bare-path": "^3.0.0", + "compact-encoding": "^2.16.0", + "device-file": "^1.2.2", + "flat-tree": "^1.12.1", + "hypercore-crypto": "^3.4.2", + "hyperschema": "^1.7.0", + "index-encoder": "^3.3.2", + "resolve-reject-promise": "^1.0.0", + "rocksdb-native": "^3.1.1", + "scope-lock": "^1.2.4", + "streamx": "^2.21.1" + } + }, + "node_modules/hyperschema": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/hyperschema/-/hyperschema-1.10.4.tgz", + "integrity": "sha512-7qLp1jzB6XNSj5ru/3PagB39C6NzKpA36RUCrO0HCSLMpcKoMge2wUA+U32wY781oD5YIWAKZcNjvbdnXpS8ZQ==", + "license": "Apache-2.0", + "dependencies": { + "bare-fs": "^4.0.1", + "compact-encoding": "^2.15.0", + "generate-object-property": "^2.0.0", + "generate-string": "^1.0.1" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/index-encoder": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/index-encoder/-/index-encoder-3.3.2.tgz", + "integrity": "sha512-47q0gkBcF+aGM997RePrALMCfj6/5dVNqdLckHKBP7NhOnDPENVgDwWnsUbv1XCveWVQ+SXoZ8gXk+aOZspTTg==", + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.6.4" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", + "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-proto": "^1.0.0", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-options": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-options/-/is-options-1.0.2.tgz", + "integrity": "sha512-u+Ai74c8Q74aS8BuHwPdI1jptGOT1FQXgCq8/zv0xRuE+wRgSMEJLj8lVO8Zp9BeGb29BXY6AsNPinfqjkr7Fg==", + "license": "MIT", + "dependencies": { + "b4a": "^1.1.1" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==", + "license": "MIT" + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/iterator.prototype": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/load-json-file": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", + "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.15", + "parse-json": "^4.0.0", + "pify": "^4.0.1", + "strip-bom": "^3.0.0", + "type-fest": "^0.3.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/load-json-file/node_modules/type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=6" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoassert": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-2.0.0.tgz", + "integrity": "sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA==", + "license": "ISC" + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/noise-curve-ed": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/noise-curve-ed/-/noise-curve-ed-2.0.1.tgz", + "integrity": "sha512-8HMZ40Wmarg8RQjVemLrjB49JSL6eGeOD+tlzaQW5/p+hNPfHFEMC3UZZ57zUqUprMuz6GN+gsPExpz2DWL+iA==", + "license": "ISC", + "dependencies": { + "b4a": "^1.1.0", + "nanoassert": "^2.0.0", + "sodium-universal": "^4.0.0" + } + }, + "node_modules/noise-handshake": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/noise-handshake/-/noise-handshake-3.1.0.tgz", + "integrity": "sha512-0S1qkUvMbTvZCfgr/vSkVT84YyvI4Q0OLwSc5BFxVmjaePrxAwVeXeJDY3A7N/7+qj95gZ15LaNoP9ZnBXH5Lw==", + "license": "ISC", + "dependencies": { + "b4a": "^1.1.0", + "nanoassert": "^2.0.0", + "sodium-universal": "^4.0.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", + "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.values": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/paparam": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/paparam/-/paparam-1.8.1.tgz", + "integrity": "sha512-yL1KdlFDYisSfp8Ewlv+FeAhKOFZCgMdJoKFcHolY/h2BPdyOlFTVe6/xrbZKHGAaUWS24xqpPUm2Iq9M0+LGg==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "license": "MIT", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-conf": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-3.1.0.tgz", + "integrity": "sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^3.0.0", + "load-json-file": "^5.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-conf/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-conf/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-conf/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-conf/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-conf/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/protomux": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/protomux/-/protomux-3.10.1.tgz", + "integrity": "sha512-jgBqx8ZyaBWea/DFG4eOu1scOaeBwcnagiRC1XFVrjeGt7oAb0Pk5udPpBUpJ4DJBRjra50jD6YcZiQQTRqaaA==", + "license": "MIT", + "dependencies": { + "b4a": "^1.3.1", + "compact-encoding": "^2.5.1", + "queue-tick": "^1.0.0", + "safety-catch": "^1.0.1", + "unslab": "^1.3.0" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/queue-tick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", + "license": "MIT" + }, + "node_modules/quickbit-native": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/quickbit-native/-/quickbit-native-2.3.6.tgz", + "integrity": "sha512-Fg4fRVW9lGMbT+QXhWcDvGSkkGCenbjx2EBg4rD3tDg7b2jW2Os+ypILpbXwXFoMKIlACIPvwerRxrPPFOTdVA==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "b4a": "^1.6.0", + "require-addon": "^1.1.0" + } + }, + "node_modules/quickbit-universal": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/quickbit-universal/-/quickbit-universal-2.2.0.tgz", + "integrity": "sha512-w02i1R8n7+6pEKTud8DfF8zbFY9o7RtPlUc3jWbtCkDKvhbx/AvV7oNnz4/TcmsPGpSJS+fq5Ud6RH6+YPvSGg==", + "license": "ISC", + "dependencies": { + "b4a": "^1.6.0", + "simdle-universal": "^1.1.0" + }, + "optionalDependencies": { + "quickbit-native": "^2.2.0" + } + }, + "node_modules/rache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rache/-/rache-1.0.0.tgz", + "integrity": "sha512-e0k0g0w/8jOCB+7YqCIlOa+OJ38k0wrYS4x18pMSmqOvLKoyhmMhmQyCcvfY6VaP8D75cqkEnlakXs+RYYLqNg==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/random-array-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/random-array-iterator/-/random-array-iterator-1.0.0.tgz", + "integrity": "sha512-u7xCM93XqKEvPTP6xZp2ehttcAemKnh73oKNf1FvzuVCfpt6dILDt1Kxl1LeBjm2iNIeR49VGFhy4Iz3yOun+Q==", + "license": "MIT" + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/ready-resource": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/ready-resource/-/ready-resource-1.1.2.tgz", + "integrity": "sha512-BN2Yfg/avHpozP+XSo+gsjHQ0AejnfbCJeJT4eamAHSf7dgYmNNWsZqTt5IEc06mjlLao+c2jlTbZvpZyRtRNQ==", + "license": "MIT", + "dependencies": { + "bare-events": "^2.2.0" + } + }, + "node_modules/refcounter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/refcounter/-/refcounter-1.0.0.tgz", + "integrity": "sha512-1WosVzUy0kPUaPMEtlNDwm99UsteALIhXXR8rerELoa63WkYIXAl0hxgwPFrIYBRWZPGUyekQ04FRtPJ7dHk9w==", + "license": "Apache-2.0" + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/require-addon": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/require-addon/-/require-addon-1.1.0.tgz", + "integrity": "sha512-KbXAD5q2+v1GJnkzd8zzbOxchTkStSyJZ9QwoCq3QwEXAaIlG3wDYRZGzVD357jmwaGY7hr5VaoEAL0BkF0Kvg==", + "license": "Apache-2.0", + "dependencies": { + "bare-addon-resolve": "^1.3.0", + "bare-url": "^2.1.0" + }, + "engines": { + "bare": ">=1.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-reject-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve-reject-promise/-/resolve-reject-promise-1.1.0.tgz", + "integrity": "sha512-LWsTOA91AqzBTjSGgX79Tc130pwcBK6xjpJEO+qRT5IKZ6bGnHKcc8QL3upUBcWuU8OTIDzKK2VNSwmmlqvAVg==", + "license": "MIT" + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rocksdb-native": { + "version": "3.5.7", + "resolved": "https://registry.npmjs.org/rocksdb-native/-/rocksdb-native-3.5.7.tgz", + "integrity": "sha512-JlmoQo9kz9M8/d45cpVYlGt61/h6Ma1JHEnZDkZSGjVRaUpnaWrtKTEeTi57TEL04TsEWPEebKE37T8r1ioDwQ==", + "license": "Apache-2.0", + "dependencies": { + "compact-encoding": "^2.15.0", + "ready-resource": "^1.0.0", + "refcounter": "^1.0.0", + "require-addon": "^1.0.2", + "resolve-reject-promise": "^1.1.0", + "streamx": "^2.16.1" + }, + "engines": { + "bare": ">=1.16.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safety-catch": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/safety-catch/-/safety-catch-1.0.2.tgz", + "integrity": "sha512-C1UYVZ4dtbBxEtvOcpjBaaD27nP8MlvyAQEp2fOTOEe6pfUpk1cDUxij6BR1jZup6rSyUTaBBplK7LanskrULA==", + "license": "MIT" + }, + "node_modules/same-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/same-object/-/same-object-1.0.2.tgz", + "integrity": "sha512-csHWhvUsLbIOHDM/nP+KHWM+BLPsIzWkFa8HbzaI0G7BqKXgx+7FJpKTGgLXyz5amfdY2OVBcmXTqYOMEk04og==", + "dev": true, + "license": "MIT" + }, + "node_modules/scope-lock": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/scope-lock/-/scope-lock-1.2.4.tgz", + "integrity": "sha512-BpSd8VCuCxW9ZitcdIC/vjs3gMaP9bRBL5nkHcyfX2VrS52n13/rHuBA2xJ/S/4DPuRdAO/Bk8pWd8eD/gHCIA==", + "license": "Apache-2.0" + }, + "node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/simdle-native": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/simdle-native/-/simdle-native-1.3.6.tgz", + "integrity": "sha512-WXb3AUnMVOgfMbrOlz0SVpL8pMpC9K2WX/wJ7k5alqza77tO/4vCF7pUtuiPJdMxEBIsX30joKRY7JWRJ4yHqQ==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "b4a": "^1.6.0", + "require-addon": "^1.1.0" + } + }, + "node_modules/simdle-universal": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/simdle-universal/-/simdle-universal-1.1.2.tgz", + "integrity": "sha512-3n3w1bs+uwgHKQjt6arez83EywNlhZzYvNOhvAASTl/8KqNIcqr6aHyGt3JRlfuUC7iB0tomJRPlJ2cRGIpBzA==", + "license": "ISC", + "dependencies": { + "b4a": "^1.6.0" + }, + "optionalDependencies": { + "simdle-native": "^1.1.1" + } + }, + "node_modules/sodium-native": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/sodium-native/-/sodium-native-4.3.3.tgz", + "integrity": "sha512-OnxSlN3uyY8D0EsLHpmm2HOFmKddQVvEMmsakCrXUzSd8kjjbzL413t4ZNF3n0UxSwNgwTyUvkmZHTfuCeiYSw==", + "license": "MIT", + "dependencies": { + "require-addon": "^1.1.0" + } + }, + "node_modules/sodium-secretstream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/sodium-secretstream/-/sodium-secretstream-1.1.1.tgz", + "integrity": "sha512-9lRQtNdQYmANo+sgNjEQafKrd/N4ojqv17E8wOzx3yOCaOJ5Gb4MuXoYq2Nv4Xo9Kt2fOROYcmV24bamu86c8A==", + "license": "MIT", + "dependencies": { + "b4a": "^1.1.1", + "sodium-universal": "^4.0.0" + } + }, + "node_modules/sodium-universal": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/sodium-universal/-/sodium-universal-4.0.1.tgz", + "integrity": "sha512-sNp13PrxYLaUFHTGoDKkSDFvoEu51bfzE12RwGlqU1fcrkpAOK0NvizaJzOWV0Omtk9me2+Pnbjcf/l0efxuGQ==", + "license": "MIT", + "dependencies": { + "sodium-native": "^4.0.0" + }, + "peerDependencies": { + "sodium-javascript": "~0.8.0" + }, + "peerDependenciesMeta": { + "sodium-javascript": { + "optional": true + } + } + }, + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "dev": true, + "license": "MIT" + }, + "node_modules/standard": { + "version": "17.1.2", + "resolved": "https://registry.npmjs.org/standard/-/standard-17.1.2.tgz", + "integrity": "sha512-WLm12WoXveKkvnPnPnaFUUHuOB2cUdAsJ4AiGHL2G0UNMrcRAWY2WriQaV8IQ3oRmYr0AWUbLNr94ekYFAHOrA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "eslint": "^8.41.0", + "eslint-config-standard": "17.1.0", + "eslint-config-standard-jsx": "^11.0.0", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-n": "^15.7.0", + "eslint-plugin-promise": "^6.1.1", + "eslint-plugin-react": "^7.36.1", + "standard-engine": "^15.1.0", + "version-guard": "^1.1.1" + }, + "bin": { + "standard": "bin/cmd.cjs" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/standard-engine": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/standard-engine/-/standard-engine-15.1.0.tgz", + "integrity": "sha512-VHysfoyxFu/ukT+9v49d4BRXIokFRZuH3z1VRxzFArZdjSCFpro6rEIU3ji7e4AoAtuSfKBkiOmsrDqKW5ZSRw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "get-stdin": "^8.0.0", + "minimist": "^1.2.6", + "pkg-conf": "^3.1.0", + "xdg-basedir": "^4.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/streamx": { + "version": "2.22.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.22.0.tgz", + "integrity": "sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw==", + "license": "MIT", + "dependencies": { + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" + }, + "optionalDependencies": { + "bare-events": "^2.2.0" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/test-tmp": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/test-tmp/-/test-tmp-1.4.0.tgz", + "integrity": "sha512-GVggxGg+jXqP2Wbju50JVLo+9E+nIOPPyWqgr63EbOnNItIKu1cEbJpTWAJeflnyGqXOtcMI7ijHRp88GUkfDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bare-fs": "^4.0.1", + "bare-os": "^3.3.0", + "bare-path": "^3.0.0" + } + }, + "node_modules/text-decoder": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", + "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.6.4" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/timeout-refresh": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/timeout-refresh/-/timeout-refresh-2.0.1.tgz", + "integrity": "sha512-SVqEcMZBsZF9mA78rjzCrYrUs37LMJk3ShZ851ygZYW1cMeIjs9mL57KO6Iv5mmjSQnOe/29/VAfGXo+oRCiVw==", + "license": "MIT" + }, + "node_modules/tmatch": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/tmatch/-/tmatch-5.0.0.tgz", + "integrity": "sha512-Ib9OtBkpHn07tXP04SlN1SYRxFgTk6wSM2EBmjjxug4u5RXPRVLkdFJSS1PmrQidaSB8Lru9nRtViQBsbxzE5Q==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unslab": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/unslab/-/unslab-1.3.0.tgz", + "integrity": "sha512-YATkfKAFj47kTzmiQrWXMyRvaVrHsW6MEALa4bm+FhiA2YG4oira+Z3DXN6LrYOYn2Y8eO94Lwl9DOHjs1FpoQ==", + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.6.6" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/v8-to-istanbul": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", + "dev": true, + "license": "ISC", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/version-guard": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/version-guard/-/version-guard-1.1.3.tgz", + "integrity": "sha512-JwPr6erhX53EWH/HCSzfy1tTFrtPXUe927wdM1jqBBeYp1OM+qPHjWbsvv6pIBduqdgxxS+ScfG7S28pzyr2DQ==", + "dev": true, + "license": "0BSD", + "engines": { + "node": ">=0.10.48" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-runtime": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-runtime/-/which-runtime-1.2.1.tgz", + "integrity": "sha512-8feIHccQFH/whiA1fD1b4c5+Q7T4ry1g1oHYc2mHnFh81tTQFsCvy3zhS2geUapkFAVBddUT/AM1a3rbqJweFg==", + "license": "Apache-2.0" + }, + "node_modules/which-typed-array": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/xdg-basedir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/z32": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/z32/-/z32-1.1.0.tgz", + "integrity": "sha512-1WUHy+VS6d0HPNspDxvLssBbeQjXMjSnpv0vH82vRAUfg847NmX3OXozp/hRP5jPhxBbrVzrgvAt+UsGNzRFQQ==", + "license": "MIT", + "dependencies": { + "b4a": "^1.5.3" + } + } + } +} \ No newline at end of file diff --git a/pkgs/by-name/co/corestore/package.nix b/pkgs/by-name/co/corestore/package.nix new file mode 100644 index 000000000000..c1131e95ae10 --- /dev/null +++ b/pkgs/by-name/co/corestore/package.nix @@ -0,0 +1,38 @@ +{ + lib, + buildNpmPackage, + fetchFromGitHub, + nix-update-script, +}: + +buildNpmPackage (finalAttrs: { + pname = "corestore"; + version = "7.1.0"; + + src = fetchFromGitHub { + owner = "holepunchto"; + repo = "corestore"; + tag = "v${finalAttrs.version}"; + hash = "sha256-lbbjYWJah1A2/ySBTI2Mg78dRjLyt/TJ5rhqBPxWOps="; + }; + + npmDepsHash = "sha256-3WfcomAOE+u/ZIn5M+sP/GkxArXx5IRFzf0IG4ykaiU="; + + dontNpmBuild = true; + + # ERROR: Missing package-lock.json from src + # Copy vendored package-lock.json to src via postPatch + postPatch = '' + cp ${./package-lock.json} ./package-lock.json + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Simple corestore that wraps a random-access-storage module"; + homepage = "https://github.com/holepunchto/corestore"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ themadbit ]; + teams = with lib.teams; [ ngi ]; + }; +}) diff --git a/pkgs/by-name/co/cosmic-session/package.nix b/pkgs/by-name/co/cosmic-session/package.nix index 0f605f183615..13116e329ed9 100644 --- a/pkgs/by-name/co/cosmic-session/package.nix +++ b/pkgs/by-name/co/cosmic-session/package.nix @@ -50,7 +50,10 @@ rustPlatform.buildRustPackage (finalAttrs: { "target/${stdenv.hostPlatform.rust.cargoShortTarget}" ]; - env.XDP_COSMIC = "${xdg-desktop-portal-cosmic}/libexec/xdg-desktop-portal-cosmic"; + env = { + XDP_COSMIC = lib.getExe xdg-desktop-portal-cosmic; + ORCA = "orca"; # get orca from $PATH + }; passthru = { providedSessions = [ "cosmic" ]; diff --git a/pkgs/by-name/co/cowsql/37.patch b/pkgs/by-name/co/cowsql/37.patch new file mode 100644 index 000000000000..9f7eb84afc35 --- /dev/null +++ b/pkgs/by-name/co/cowsql/37.patch @@ -0,0 +1,57 @@ +From c0d7c99632ea2ee01066988708cbb41f335cbdc3 Mon Sep 17 00:00:00 2001 +From: Brahmajit Das +Date: Sat, 14 Jun 2025 00:18:38 +0530 +Subject: [PATCH] src/lib/serialize.h: don't define double as float_t + +libuv with commit 85b526f makes uv.h include math.h for the definitions +of NAN/INFINITY. That header also defines the ISO C standard float_t +type. Now that that definition is in scope, the cowsql definition in +src/lib/serialize.h conflicts with it. + +Fixes: 451cff63b29366237a9502823299b05bbff8662b +Closes: https://github.com/cowsql/cowsql/issues/35 +Signed-off-by: Brahmajit Das +--- + src/lib/serialize.h | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/lib/serialize.h b/src/lib/serialize.h +index 9fbd49c..a7f9147 100644 +--- a/src/lib/serialize.h ++++ b/src/lib/serialize.h +@@ -37,7 +37,7 @@ static_assert(sizeof(double) == sizeof(uint64_t), + * Basic type aliases to used by macro-based processing. + */ + typedef const char *text_t; +-typedef double float_t; ++typedef double cowsql_float; + typedef uv_buf_t blob_t; + + /** +@@ -143,7 +143,7 @@ COWSQL_INLINE size_t int64__sizeof(const int64_t *value) + return sizeof(int64_t); + } + +-COWSQL_INLINE size_t float__sizeof(const float_t *value) ++COWSQL_INLINE size_t float__sizeof(const cowsql_float *value) + { + (void)value; + return sizeof(double); +@@ -190,7 +190,7 @@ COWSQL_INLINE void int64__encode(const int64_t *value, void **cursor) + *cursor += sizeof(int64_t); + } + +-COWSQL_INLINE void float__encode(const float_t *value, void **cursor) ++COWSQL_INLINE void float__encode(const cowsql_float *value, void **cursor) + { + *(uint64_t *)(*cursor) = ByteFlipLe64(*(uint64_t *)value); + *cursor += sizeof(uint64_t); +@@ -273,7 +273,7 @@ COWSQL_INLINE int int64__decode(struct cursor *cursor, int64_t *value) + return 0; + } + +-COWSQL_INLINE int float__decode(struct cursor *cursor, float_t *value) ++COWSQL_INLINE int float__decode(struct cursor *cursor, cowsql_float *value) + { + size_t n = sizeof(double); + if (n > cursor->cap) { diff --git a/pkgs/by-name/co/cowsql/package.nix b/pkgs/by-name/co/cowsql/package.nix index e9fd022b8b74..f7e19e77757e 100644 --- a/pkgs/by-name/co/cowsql/package.nix +++ b/pkgs/by-name/co/cowsql/package.nix @@ -22,6 +22,12 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-rwTa9owtnkyI9OpUKLk6V7WbAkqlYucpGzPnHHvKW/A="; }; + patches = [ + # fix libuv changes. review removal in > 1.15.8 + # https://github.com/cowsql/cowsql/pull/37 + ./37.patch + ]; + nativeBuildInputs = [ autoreconfHook pkg-config diff --git a/pkgs/by-name/cp/cpptrace/0001-Use-libdwarf-2-as-the-base-include-path.patch b/pkgs/by-name/cp/cpptrace/0001-Use-libdwarf-2-as-the-base-include-path.patch new file mode 100644 index 000000000000..58b72702449e --- /dev/null +++ b/pkgs/by-name/cp/cpptrace/0001-Use-libdwarf-2-as-the-base-include-path.patch @@ -0,0 +1,51 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Philip Taron +Date: Thu, 19 Jun 2025 09:24:32 -0700 +Subject: [PATCH] Use libdwarf-2 as the base include path + +Signed-off-by: Philip Taron +--- + CMakeLists.txt | 6 +++--- + src/symbols/dwarf/dwarf.hpp | 4 ++-- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1c607bd44e528a41ccd637f5293b4f56049f5770..53e1aedf463c5eb95dcfd77fa40de66f51381b47 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -419,7 +419,7 @@ if(CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF) + target_link_libraries(${target_name} PRIVATE ${LIBDWARF_LIBRARIES}) + endif() + # There seems to be no consistency at all about where libdwarf decides to place its headers........ Figure out if +- # it's libdwarf/libdwarf.h and libdwarf/dwarf.h or just libdwarf.h and dwarf.h ++ # it's libdwarf-2/libdwarf.h and libdwarf-2/dwarf.h or just libdwarf.h and dwarf.h + include(CheckIncludeFileCXX) + # libdwarf's cmake doesn't properly set variables to indicate where its libraries live + if(NOT CPPTRACE_FIND_LIBDWARF_WITH_PKGCONFIG) +@@ -428,9 +428,9 @@ if(CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF) + target_include_directories(${target_name} PRIVATE ${LIBDWARF_INCLUDE_DIRS}) + endif() + set(CMAKE_REQUIRED_INCLUDES ${LIBDWARF_INCLUDE_DIRS}) +- CHECK_INCLUDE_FILE_CXX("libdwarf/libdwarf.h" LIBDWARF_IS_NESTED) ++ CHECK_INCLUDE_FILE_CXX("libdwarf-2/libdwarf.h" LIBDWARF_IS_NESTED) + CHECK_INCLUDE_FILE_CXX("libdwarf.h" LIBDWARF_IS_NOT_NESTED) +- # check_include_file("libdwarf/libdwarf.h" LIBDWARF_IS_NESTED) ++ # check_include_file("libdwarf-2/libdwarf.h" LIBDWARF_IS_NESTED) + # check_support(LIBDWARF_IS_NESTED nested_libdwarf_include.cpp "" "" "") + if(${LIBDWARF_IS_NESTED}) + target_compile_definitions(${target_name} PRIVATE CPPTRACE_USE_NESTED_LIBDWARF_HEADER_PATH) +diff --git a/src/symbols/dwarf/dwarf.hpp b/src/symbols/dwarf/dwarf.hpp +index 50b2696148584b7a16da602017793797ba98cb58..53fe275492f4fd7e8e905064696e86f837a55f72 100644 +--- a/src/symbols/dwarf/dwarf.hpp ++++ b/src/symbols/dwarf/dwarf.hpp +@@ -10,8 +10,8 @@ + #include + + #ifdef CPPTRACE_USE_NESTED_LIBDWARF_HEADER_PATH +- #include +- #include ++ #include ++ #include + #else + #include + #include diff --git a/pkgs/by-name/cp/cpptrace/package.nix b/pkgs/by-name/cp/cpptrace/package.nix index 0a9b0cc43d51..7e174005a80d 100644 --- a/pkgs/by-name/cp/cpptrace/package.nix +++ b/pkgs/by-name/cp/cpptrace/package.nix @@ -14,21 +14,26 @@ stdenv.mkDerivation (finalAttrs: { pname = "cpptrace"; - version = "0.8.3"; + version = "1.0.1"; src = fetchFromGitHub { owner = "jeremy-rifkin"; repo = "cpptrace"; tag = "v${finalAttrs.version}"; - hash = "sha256-oFwRFFDLl4/3szVj/ge8cSrpuuHEzf4VsCPGTE0dxRc="; + hash = "sha256-HUUyH9N+e98Gp6TPeT6TCGpdzd09knHVDaQ3KeDp8LY="; }; + patches = [ + ./0001-Use-libdwarf-2-as-the-base-include-path.patch + ]; + nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ libdwarf ]; + buildInputs = [ (lib.getDev libdwarf) ]; + propagatedBuildInputs = [ zstd ] ++ (lib.optionals static [ libdwarf ]); cmakeFlags = [ @@ -40,6 +45,7 @@ stdenv.mkDerivation (finalAttrs: { ]; checkInputs = [ gtest ]; + doCheck = true; passthru = { diff --git a/pkgs/by-name/cq/cq/package.nix b/pkgs/by-name/cq/cq/package.nix index 406a874b8748..d0b44ed69dfd 100644 --- a/pkgs/by-name/cq/cq/package.nix +++ b/pkgs/by-name/cq/cq/package.nix @@ -6,42 +6,39 @@ graalvmPackages, }: -buildGraalvmNativeImage rec { +buildGraalvmNativeImage (finalAttrs: { pname = "cq"; version = "2024.06.24-12.10"; # we need both src (the prebuild jar) src = fetchurl { - url = "https://github.com/markus-wa/cq/releases/download/${version}/cq.jar"; + url = "https://github.com/markus-wa/cq/releases/download/${finalAttrs.version}/cq.jar"; hash = "sha256-iULV+j/AuGVYPYhbOTQTKd3n+VZhWQYBRE6cRiaa1/M="; }; # and build-src (for the native-image build process) - build-src = fetchFromGitHub { + passthru.build-src = fetchFromGitHub { owner = "markus-wa"; repo = "cq"; - rev = version; + tag = finalAttrs.version; hash = "sha256-yjAC2obipdmh+JlHzVUTMtTXN2VKe4WKkyJyu2Q93c8="; }; - graalvmDrv = graalvmPackages.graalvm-ce; - - executable = "cq"; - # copied verbatim from the upstream build script https://github.com/markus-wa/cq/blob/main/package/build-native.sh#L5 extraNativeImageBuildArgs = [ "--report-unsupported-elements-at-runtime" "--initialize-at-build-time" "--no-server" - "-H:ReflectionConfigurationFiles=${build-src}/package/reflection-config.json" + "-H:ReflectionConfigurationFiles=${finalAttrs.finalPackage.build-src}/package/reflection-config.json" ]; meta = { description = "Clojure Query: A Command-line Data Processor for JSON, YAML, EDN, XML and more"; homepage = "https://github.com/markus-wa/cq"; - changelog = "https://github.com/markus-wa/cq/releases/releases/tag/${version}"; + changelog = "https://github.com/markus-wa/cq/releases/releases/tag/${finalAttrs.version}"; license = lib.licenses.epl20; maintainers = with lib.maintainers; [ farcaller ]; platforms = lib.platforms.unix; + mainProgram = "cq"; }; -} +}) diff --git a/pkgs/by-name/cr/crawley/package.nix b/pkgs/by-name/cr/crawley/package.nix index 26030672969e..8e0d59ccc73f 100644 --- a/pkgs/by-name/cr/crawley/package.nix +++ b/pkgs/by-name/cr/crawley/package.nix @@ -7,18 +7,18 @@ buildGoModule rec { pname = "crawley"; - version = "1.7.11"; + version = "1.7.12"; src = fetchFromGitHub { owner = "s0rg"; repo = "crawley"; rev = "v${version}"; - hash = "sha256-P+BsfVYqUDZ+wqIwziWLI3V0nUnypenHFfmw6EkPigo="; + hash = "sha256-MMjyDWDA4gVbMvqZSpTcM9PZtcmHNm4oglkjvjTKzsw="; }; nativeBuildInputs = [ installShellFiles ]; - vendorHash = "sha256-lcCcfn83WGBegQzUKEF8kpu7DdcLyVbS+PGX0mYrr40="; + vendorHash = "sha256-JlAk3ctEVOHnwTBLBqIYFENPEDX+t+Je9DykgK8mBrw="; ldflags = [ "-w" diff --git a/pkgs/by-name/cr/crc/package.nix b/pkgs/by-name/cr/crc/package.nix index 9cc8c078bbda..61d50c67af92 100644 --- a/pkgs/by-name/cr/crc/package.nix +++ b/pkgs/by-name/cr/crc/package.nix @@ -47,12 +47,12 @@ buildGoModule (finalAttrs: { ]; doInstallCheck = true; - nativeCheckInputs = [ + nativeInstallCheckInputs = [ versionCheckHook writableTmpDirAsHomeHook ]; versionCheckProgramArg = "version"; - versionCheckDontIgnoreEnvironment = true; + versionCheckKeepEnvironment = [ "HOME" ]; passthru.updateScript = ./update.sh; diff --git a/pkgs/development/python-modules/ua-parser-rs/Cargo.lock b/pkgs/by-name/cr/crc64fast-nvme/Cargo.lock similarity index 59% rename from pkgs/development/python-modules/ua-parser-rs/Cargo.lock rename to pkgs/by-name/cr/crc64fast-nvme/Cargo.lock index 0aa5944462f8..945edce8b524 100644 --- a/pkgs/development/python-modules/ua-parser-rs/Cargo.lock +++ b/pkgs/by-name/cr/crc64fast-nvme/Cargo.lock @@ -53,17 +53,18 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" dependencies = [ - "windows-sys 0.59.0", + "windows-sys", ] [[package]] name = "anstyle-wincon" -version = "3.0.6" +version = "3.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" +checksum = "6680de5231bd6ee4c6191b8a1325daa282b415391ec9d3a37bd34f2060dc73fa" dependencies = [ "anstyle", - "windows-sys 0.59.0", + "once_cell_polyfill", + "windows-sys", ] [[package]] @@ -73,10 +74,31 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] -name = "bumpalo" -version = "3.16.0" +name = "bit-set" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" + +[[package]] +name = "bitflags" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" + +[[package]] +name = "bumpalo" +version = "3.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" [[package]] name = "cast" @@ -84,6 +106,25 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" +[[package]] +name = "cbindgen" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fce8dd7fcfcbf3a0a87d8f515194b49d6135acab73e18bd380d1d93bb1a15eb" +dependencies = [ + "clap", + "heck", + "indexmap", + "log", + "proc-macro2", + "quote", + "serde", + "serde_json", + "syn", + "tempfile", + "toml", +] + [[package]] name = "cfg-if" version = "1.0.0" @@ -119,19 +160,18 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.21" +version = "4.5.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb3b4b9e5a7c7514dfa52869339ee98b3156b0bfb4e8a77c4ff4babb64b1604f" +checksum = "ed93b9805f8ba930df42c2590f05453d5ec36cbb85d018868a5b24d31f6ac000" dependencies = [ "clap_builder", - "clap_derive", ] [[package]] name = "clap_builder" -version = "4.5.21" +version = "4.5.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b17a95aa67cc7b5ebd32aa5370189aa0d79069ef1c64ce893bd30fb24bff20ec" +checksum = "379026ff283facf611b0ea629334361c4211d1b12ee01024eec1591133b04120" dependencies = [ "anstream", "anstyle", @@ -139,23 +179,11 @@ dependencies = [ "strsim", ] -[[package]] -name = "clap_derive" -version = "4.5.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "clap_lex" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afb84c814227b90d6895e01398aee0d8033c00e7466aca416fb6a8e0eb19d8a7" +checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" [[package]] name = "colorchoice" @@ -163,6 +191,33 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" +[[package]] +name = "crc" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" + +[[package]] +name = "crc64fast-nvme" +version = "1.2.0" +dependencies = [ + "cbindgen", + "crc", + "criterion", + "lazy_static", + "proptest", + "rand", +] + [[package]] name = "criterion" version = "0.5.1" @@ -175,7 +230,7 @@ dependencies = [ "clap", "criterion-plot", "is-terminal", - "itertools 0.10.5", + "itertools", "num-traits", "once_cell", "oorandom", @@ -196,14 +251,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" dependencies = [ "cast", - "itertools 0.10.5", + "itertools", ] [[package]] name = "crossbeam-deque" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" dependencies = [ "crossbeam-epoch", "crossbeam-utils", @@ -220,33 +275,78 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.20" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crunchy" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" [[package]] name = "either" -version = "1.13.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" [[package]] name = "equivalent" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "errno" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18" +dependencies = [ + "libc", + "windows-sys", +] + +[[package]] +name = "fastrand" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "getrandom" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", +] [[package]] name = "half" -version = "2.4.1" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" +checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" dependencies = [ "cfg-if", "crunchy", @@ -254,47 +354,41 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.15.2" +version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3" [[package]] name = "heck" -version = "0.5.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hermit-abi" -version = "0.4.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" +checksum = "f154ce46856750ed433c8649605bf7ed2de3bc35fd9d2a9f30cddd873c80cb08" [[package]] name = "indexmap" -version = "2.7.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" +checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" dependencies = [ "equivalent", "hashbrown", ] -[[package]] -name = "indoc" -version = "2.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5" - [[package]] name = "is-terminal" -version = "0.4.13" +version = "0.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" +checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" dependencies = [ "hermit-abi", "libc", - "windows-sys 0.52.0", + "windows-sys", ] [[package]] @@ -312,42 +406,45 @@ dependencies = [ "either", ] -[[package]] -name = "itertools" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" -dependencies = [ - "either", -] - [[package]] name = "itoa" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] name = "js-sys" -version = "0.3.74" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a865e038f7f6ed956f788f0d7d60c541fff74c7bd74272c5d4cf15c63743e705" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ "once_cell", "wasm-bindgen", ] [[package]] -name = "libc" -version = "0.2.167" +name = "lazy_static" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09d6582e104315a817dff97f75133544b2e094ee22447d2acf4a74e189ba06fc" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" + +[[package]] +name = "libc" +version = "0.2.172" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" + +[[package]] +name = "linux-raw-sys" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" [[package]] name = "log" -version = "0.4.22" +version = "0.4.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" [[package]] name = "memchr" @@ -355,15 +452,6 @@ version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" -[[package]] -name = "memoffset" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" -dependencies = [ - "autocfg", -] - [[package]] name = "num-traits" version = "0.2.19" @@ -375,15 +463,21 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.20.2" +version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "once_cell_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" [[package]] name = "oorandom" -version = "11.1.4" +version = "11.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] name = "plotters" @@ -414,92 +508,103 @@ dependencies = [ ] [[package]] -name = "portable-atomic" -version = "1.10.0" +name = "ppv-lite86" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] [[package]] name = "proc-macro2" -version = "1.0.92" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" dependencies = [ "unicode-ident", ] [[package]] -name = "pyo3" -version = "0.22.6" +name = "proptest" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f402062616ab18202ae8319da13fa4279883a2b8a9d9f83f20dbade813ce1884" +checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50" dependencies = [ - "cfg-if", - "indoc", - "libc", - "memoffset", - "once_cell", - "portable-atomic", - "pyo3-build-config", - "pyo3-ffi", - "pyo3-macros", - "unindent", + "bit-set", + "bit-vec", + "bitflags", + "lazy_static", + "num-traits", + "rand", + "rand_chacha", + "rand_xorshift", + "regex-syntax", + "rusty-fork", + "tempfile", + "unarray", ] [[package]] -name = "pyo3-build-config" -version = "0.22.6" +name = "quick-error" +version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b14b5775b5ff446dd1056212d778012cbe8a0fbffd368029fd9e25b514479c38" -dependencies = [ - "once_cell", - "target-lexicon", -] - -[[package]] -name = "pyo3-ffi" -version = "0.22.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ab5bcf04a2cdcbb50c7d6105de943f543f9ed92af55818fd17b660390fc8636" -dependencies = [ - "libc", - "pyo3-build-config", -] - -[[package]] -name = "pyo3-macros" -version = "0.22.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fd24d897903a9e6d80b968368a34e1525aeb719d568dba8b3d4bfa5dc67d453" -dependencies = [ - "proc-macro2", - "pyo3-macros-backend", - "quote", - "syn", -] - -[[package]] -name = "pyo3-macros-backend" -version = "0.22.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36c011a03ba1e50152b4b394b479826cad97e7a21eb52df179cd91ac411cbfbe" -dependencies = [ - "heck", - "proc-macro2", - "pyo3-build-config", - "quote", - "syn", -] +checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] name = "quote" -version = "1.0.37" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.16", +] + +[[package]] +name = "rand_xorshift" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" +dependencies = [ + "rand_core", +] + [[package]] name = "rayon" version = "1.10.0" @@ -543,18 +648,6 @@ dependencies = [ "regex-syntax", ] -[[package]] -name = "regex-filtered" -version = "0.2.0" -dependencies = [ - "aho-corasick", - "clap", - "criterion", - "itertools 0.13.0", - "regex", - "regex-syntax", -] - [[package]] name = "regex-syntax" version = "0.8.5" @@ -562,10 +655,41 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] -name = "ryu" -version = "1.0.18" +name = "rustix" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" +dependencies = [ + "bitflags", + "errno", + "libc", + "linux-raw-sys", + "windows-sys", +] + +[[package]] +name = "rustversion" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" + +[[package]] +name = "rusty-fork" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" +dependencies = [ + "fnv", + "quick-error", + "tempfile", + "wait-timeout", +] + +[[package]] +name = "ryu" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "same-file" @@ -578,18 +702,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.215" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.215" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", @@ -598,9 +722,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.133" +version = "1.0.140" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" dependencies = [ "itoa", "memchr", @@ -609,16 +733,12 @@ dependencies = [ ] [[package]] -name = "serde_yaml" -version = "0.9.34+deprecated" +name = "serde_spanned" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" dependencies = [ - "indexmap", - "itoa", - "ryu", "serde", - "unsafe-libyaml", ] [[package]] @@ -629,9 +749,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "syn" -version = "2.0.90" +version = "2.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" +checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" dependencies = [ "proc-macro2", "quote", @@ -639,10 +759,17 @@ dependencies = [ ] [[package]] -name = "target-lexicon" -version = "0.12.16" +name = "tempfile" +version = "3.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" +checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" +dependencies = [ + "fastrand", + "getrandom 0.3.3", + "once_cell", + "rustix", + "windows-sys", +] [[package]] name = "tinytemplate" @@ -655,42 +782,57 @@ dependencies = [ ] [[package]] -name = "ua-parser" -version = "0.2.0" +name = "toml" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05ae329d1f08c4d17a59bed7ff5b5a769d062e64a62d34a3261b219e62cd5aae" dependencies = [ - "clap", - "regex", - "regex-filtered", "serde", - "serde_json", - "serde_yaml", + "serde_spanned", + "toml_datetime", + "toml_edit", ] [[package]] -name = "ua-parser-rs" -version = "0.1.2" +name = "toml_datetime" +version = "0.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3" dependencies = [ - "pyo3", - "ua-parser", + "serde", ] +[[package]] +name = "toml_edit" +version = "0.22.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e" +dependencies = [ + "indexmap", + "serde", + "serde_spanned", + "toml_datetime", + "toml_write", + "winnow", +] + +[[package]] +name = "toml_write" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076" + +[[package]] +name = "unarray" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" + [[package]] name = "unicode-ident" -version = "1.0.14" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" - -[[package]] -name = "unindent" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce" - -[[package]] -name = "unsafe-libyaml" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" [[package]] name = "utf8parse" @@ -698,6 +840,15 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" +[[package]] +name = "wait-timeout" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11" +dependencies = [ + "libc", +] + [[package]] name = "walkdir" version = "2.5.0" @@ -709,25 +860,40 @@ dependencies = [ ] [[package]] -name = "wasm-bindgen" -version = "0.2.97" +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d15e63b4482863c109d70a7b8706c1e364eb6ea449b201a76c5b89cedcec2d5c" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasi" +version = "0.14.2+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +dependencies = [ + "wit-bindgen-rt", +] + +[[package]] +name = "wasm-bindgen" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.97" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d36ef12e3aaca16ddd3f67922bc63e48e953f126de60bd33ccc0101ef9998cd" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", - "once_cell", "proc-macro2", "quote", "syn", @@ -736,9 +902,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.97" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "705440e08b42d3e4b36de7d66c944be628d579796b8090bfa3471478a2260051" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -746,9 +912,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.97" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98c9ae5a76e46f4deecd0f0255cc223cfa18dc9b261213b8aa0c7b36f61b3f1d" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", @@ -759,15 +925,18 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.97" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ee99da9c5ba11bd675621338ef6fa52296b76b83305e9b6e5c77d4c286d6d49" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] name = "web-sys" -version = "0.3.74" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a98bc3c33f0fe7e59ad7cd041b89034fa82a7c2d4365ca538dda6cdaf513863c" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ "js-sys", "wasm-bindgen", @@ -779,16 +948,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.59.0", -] - -[[package]] -name = "windows-sys" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -dependencies = [ - "windows-targets", + "windows-sys", ] [[package]] @@ -863,3 +1023,41 @@ name = "windows_x86_64_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "winnow" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec" +dependencies = [ + "memchr", +] + +[[package]] +name = "wit-bindgen-rt" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +dependencies = [ + "bitflags", +] + +[[package]] +name = "zerocopy" +version = "0.8.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] diff --git a/pkgs/by-name/cr/crc64fast-nvme/package.nix b/pkgs/by-name/cr/crc64fast-nvme/package.nix new file mode 100644 index 000000000000..32661b4c8b10 --- /dev/null +++ b/pkgs/by-name/cr/crc64fast-nvme/package.nix @@ -0,0 +1,40 @@ +{ + lib, + fetchFromGitHub, + rustPlatform, +}: +rustPlatform.buildRustPackage (finalAttrs: { + pname = "crc64fast-nvme"; + version = "1.2.0"; + + src = fetchFromGitHub { + owner = "awesomized"; + repo = "crc64fast-nvme"; + tag = finalAttrs.version; + hash = "sha256-BEFdVspQU2exj6ndULCs0TfH7aIx/NvfUkTSL32bIPk="; + }; + + postPatch = '' + cp -L ${./Cargo.lock} Cargo.lock + ''; + + cargoLock = { + lockFile = ./Cargo.lock; + }; + + postInstall = '' + mv $out/bin/build_table $out/bin/pclmulqdq_build_table + install -Dm644 crc64fast_nvme.h -t $out/include/ + ''; + + meta = { + description = "SIMD accelerated carryless-multiplication CRC-64/NVME checksum computation (based on Intel's PCLMULQDQ paper)"; + homepage = "https://github.com/awesomized/crc64fast-nvme"; + mainProgram = "crc_64_nvme_checksum"; + license = with lib.licenses; [ + asl20 + mit + ]; + maintainers = with lib.maintainers; [ powwu ]; + }; +}) diff --git a/pkgs/by-name/cr/credhub-cli/package.nix b/pkgs/by-name/cr/credhub-cli/package.nix index 4c6a7801ca99..6d65de57c564 100644 --- a/pkgs/by-name/cr/credhub-cli/package.nix +++ b/pkgs/by-name/cr/credhub-cli/package.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "credhub-cli"; - version = "2.9.46"; + version = "2.9.47"; src = fetchFromGitHub { owner = "cloudfoundry-incubator"; repo = "credhub-cli"; rev = version; - sha256 = "sha256-g5Wa+noAcip4My8epfzLZos1wo/J85v5x0G2rwgJLtE="; + sha256 = "sha256-3/CYwgdGOFkiGNsWrIGbHGK/iSJxz6KRneTdaJT6i24="; }; # these tests require network access that we're not going to give them diff --git a/pkgs/by-name/cr/crictty/package.nix b/pkgs/by-name/cr/crictty/package.nix new file mode 100644 index 000000000000..929c86d05513 --- /dev/null +++ b/pkgs/by-name/cr/crictty/package.nix @@ -0,0 +1,44 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, + versionCheckHook, + nix-update-script, +}: + +buildGoModule (finalAttrs: { + pname = "crictty"; + version = "0.1.2"; + + src = fetchFromGitHub { + owner = "ashish0kumar"; + repo = "crictty"; + tag = "v${finalAttrs.version}"; + hash = "sha256-J8I5HsG0fJyp+PEkUPvyrZm587qZ3Yz2jofCmEKGmps="; + }; + + vendorHash = "sha256-B5+F9WXRkJhiafC+jhzZRvHlDH9XBkHQL5kBnrPRUTk="; + + ldflags = [ + "-s" + "-w" + "-X main.version=${finalAttrs.version}" + ]; + + doInstallCheck = true; + nativeInstallCheckInputs = [ + versionCheckHook + ]; + + passthru.updateScript = nix-update-script { }; + + meta = { + changelog = "https://github.com/ashish0kumar/crictty/releases/tag/v${finalAttrs.version}"; + description = "Terminal-based cricket scorecard viewer"; + homepage = "https://github.com/ashish0kumar/crictty"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ ashish0kumar ]; + mainProgram = "crictty"; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/by-name/cr/cromite/update.sh b/pkgs/by-name/cr/cromite/update.sh deleted file mode 100755 index 5e604bc242db..000000000000 --- a/pkgs/by-name/cr/cromite/update.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env nix-shell -#!nix-shell -I nixpkgs=./. -i bash -p curl gnused jq nix bash coreutils nix-update common-updater-scripts - -set -eou pipefail - -latestTag=$(curl ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} -sL https://api.github.com/repos/uazo/cromite/releases/latest | jq --raw-output .tag_name | sed 's/^v//') -latestVersion="${latestTag%-*}" -commit="${latestTag#*-}" - -currentVersion=$(nix-instantiate --eval -E "with import ./. {}; cromite.version or (lib.getVersion cromite)" | tr -d '"') - -if [[ "$currentVersion" == "$latestVersion" ]]; then - echo "package is up-to-date: $currentVersion" - exit 0 -fi - -update-source-version cromite $commit --version-key=commit || true -nix-update cromite --version $latestVersion diff --git a/pkgs/by-name/cr/crosvm/package.nix b/pkgs/by-name/cr/crosvm/package.nix index fce56d962a87..eef6b3c0a398 100644 --- a/pkgs/by-name/cr/crosvm/package.nix +++ b/pkgs/by-name/cr/crosvm/package.nix @@ -21,19 +21,19 @@ rustPlatform.buildRustPackage { pname = "crosvm"; - version = "0-unstable-2025-05-27"; + version = "0-unstable-2025-06-06"; src = fetchgit { url = "https://chromium.googlesource.com/chromiumos/platform/crosvm"; - rev = "43034b2f649f987a8bbb7a757c5f9f761343cd57"; - hash = "sha256-ez7ciW17SDAjrXWeld51jyHeKdLUTw0aOBSheFlH3q4="; + rev = "7083e31d219cdcd57866c70144e1b39ddc008f0f"; + hash = "sha256-oZR4UcN8lDoqNoUFGLbIDDRO55noDX0xMWa8W0DbVl4="; fetchSubmodules = true; }; separateDebugInfo = true; useFetchCargoVendor = true; - cargoHash = "sha256-ZagGHo1DxSR51rvt0SKO1grhvKth5CuxXiCT6rKqGGk="; + cargoHash = "sha256-3NcQQZCsR3ekPBbe/ai8ke3MxBy0ONg1TJO9qLSH7jM="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/cr/crowdsec-firewall-bouncer/package.nix b/pkgs/by-name/cr/crowdsec-firewall-bouncer/package.nix new file mode 100644 index 000000000000..4f38cc4fbfda --- /dev/null +++ b/pkgs/by-name/cr/crowdsec-firewall-bouncer/package.nix @@ -0,0 +1,55 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, + versionCheckHook, + nix-update-script, +}: +buildGoModule (finalAttrs: { + pname = "crowdsec-firewall-bouncer"; + version = "0.0.33"; + + src = fetchFromGitHub { + owner = "crowdsecurity"; + repo = "cs-firewall-bouncer"; + tag = "v${finalAttrs.version}"; + hash = "sha256-4fxxAW2sXGNxjsc75fd499ciuN8tjGqlpRIaHYUXwQ0="; + }; + + vendorHash = "sha256-Bhp6Z2UlCJ32vdc3uINCGleZFP2WeUn/XK+Q29szUzQ="; + + ldflags = [ + "-X github.com/crowdsecurity/go-cs-lib/version.Version=v${finalAttrs.version}" + ]; + + nativeInstallCheckInputs = [ versionCheckHook ]; + + versionCheckProgram = "${placeholder "out"}/bin/cs-firewall-bouncer"; + versionCheckProgramArg = "-version"; + doInstallCheck = true; + + passthru = { + updateScript = nix-update-script { + extraArgs = [ "--version-regex=^v(\\d+\\.\\d+\\.\\d+)$" ]; + }; + }; + + meta = { + homepage = "https://crowdsec.net/"; + downloadPage = "https://github.com/crowdsecurity/cs-firewall-bouncer"; + changelog = "https://github.com/crowdsecurity/cs-firewall-bouncer/releases/tag/v${finalAttrs.version}"; + description = "Crowdsec bouncer written in golang for firewalls"; + longDescription = '' + CrowdSec Remediation Component written in golang for firewalls. + + crowdsec-firewall-bouncer will fetch new and old decisions from a + CrowdSec API and add them to a blocklist used by supported firewalls. + ''; + license = lib.licenses.mit; + mainProgram = "cs-firewall-bouncer"; + maintainers = with lib.maintainers; [ + tornax + jk + ]; + }; +}) diff --git a/pkgs/by-name/cr/crypto-org-wallet/package.nix b/pkgs/by-name/cr/crypto-org-wallet/package.nix index 8d9dd44be874..1456085acbd6 100644 --- a/pkgs/by-name/cr/crypto-org-wallet/package.nix +++ b/pkgs/by-name/cr/crypto-org-wallet/package.nix @@ -5,33 +5,31 @@ imagemagick, }: -let +appimageTools.wrapAppImage rec { pname = "chain-desktop-wallet"; - version = "0.1.1"; + version = "1.5.1"; - src = fetchurl { - url = "https://github.com/crypto-com/${pname}/releases/download/v${version}/${pname}-${version}-x86_64.AppImage"; - sha256 = "12076hf8dlz0hg1pb2ixwlslrh8gi6s1iawnvhnn6vz4jmjvq356"; + src = appimageTools.extractType2 { + inherit pname version; + src = fetchurl { + url = "https://github.com/crypto-com/chain-desktop-wallet/releases/download/v${version}/Crypto.com-DeFi-Desktop-Wallet-${version}.AppImage"; + hash = "sha256-dXJMU6abg31ZyETKl5Hh6fxn1Gd1FbSHGJh1z0R7XPM="; + }; }; - appimageContents = appimageTools.extractType2 { inherit pname version src; }; -in -appimageTools.wrapType2 rec { - inherit pname version src; - extraInstallCommands = '' - install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop - ${imagemagick}/bin/convert ${appimageContents}/${pname}.png -resize 512x512 ${pname}_512.png - install -m 444 -D ${pname}_512.png $out/share/icons/hicolor/512x512/apps/${pname}.png - substituteInPlace $out/share/applications/${pname}.desktop \ - --replace 'Exec=AppRun --no-sandbox %U' 'Exec=${pname} %U' + install -m 444 -D ${src}/chain-desktop-wallet.desktop $out/share/applications/chain-desktop-wallet.desktop + ${imagemagick}/bin/magick ${src}/chain-desktop-wallet.png -resize 512x512 chain-desktop-wallet_512.png + install -m 444 -D chain-desktop-wallet_512.png $out/share/icons/hicolor/512x512/apps/chain-desktop-wallet.png + substituteInPlace $out/share/applications/chain-desktop-wallet.desktop \ + --replace-fail "Exec=AppRun --no-sandbox %U" "Exec=chain-desktop-wallet %U" ''; - meta = with lib; { + meta = { description = "Crypto.org Chain desktop wallet (Beta)"; homepage = "https://github.com/crypto-com/chain-desktop-wallet"; - license = licenses.asl20; - maintainers = with maintainers; [ th0rgal ]; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ th0rgal ]; platforms = [ "x86_64-linux" ]; mainProgram = "chain-desktop-wallet"; }; diff --git a/pkgs/by-name/cs/csharpier/package.nix b/pkgs/by-name/cs/csharpier/package.nix index abab133cf716..2f43bdede4fa 100644 --- a/pkgs/by-name/cs/csharpier/package.nix +++ b/pkgs/by-name/cs/csharpier/package.nix @@ -2,10 +2,10 @@ buildDotnetGlobalTool { pname = "csharpier"; - version = "0.30.6"; - executables = "dotnet-csharpier"; + version = "1.0.2"; + executables = "csharpier"; - nugetHash = "sha256-A39F3ohTHZo8yYoyBOAUeW0bk98Za74Esz0Tx0tXgDI="; + nugetHash = "sha256-FPcdTWhdIhl0MgOsWcCzgzLyHFyz0szLYQUBUFoe3Cs="; meta = with lib; { description = "Opinionated code formatter for C#"; @@ -13,6 +13,6 @@ buildDotnetGlobalTool { changelog = "https://github.com/belav/csharpier/blob/main/CHANGELOG.md"; license = licenses.mit; maintainers = with maintainers; [ zoriya ]; - mainProgram = "dotnet-csharpier"; + mainProgram = "csharpier"; }; } diff --git a/pkgs/by-name/cu/cubeb/package.nix b/pkgs/by-name/cu/cubeb/package.nix index 29ea331d3885..aa63c0393cc5 100644 --- a/pkgs/by-name/cu/cubeb/package.nix +++ b/pkgs/by-name/cu/cubeb/package.nix @@ -24,13 +24,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "cubeb"; - version = "0-unstable-2025-06-03"; + version = "0-unstable-2025-06-16"; src = fetchFromGitHub { owner = "mozilla"; repo = "cubeb"; - rev = "24c170b2346bb675456449f51406dac6442a84a7"; - hash = "sha256-/XTDaG48IFPFPrEcDd3IqX4bN+VbrpaHpzd/7N8J3a8="; + rev = "566c73da47668ca85817108b749a13ac9c3f5a9d"; + hash = "sha256-qYDsRhVBHLOVpWwtRNUtnZRZZq9Rot1pOn+4let6v6I="; }; outputs = [ diff --git a/pkgs/by-name/cu/cue/package.nix b/pkgs/by-name/cu/cue/package.nix index 6c767afc5dbc..5edb98cec8d6 100644 --- a/pkgs/by-name/cu/cue/package.nix +++ b/pkgs/by-name/cu/cue/package.nix @@ -10,13 +10,13 @@ buildGoModule (finalAttrs: { pname = "cue"; - version = "0.13.0"; + version = "0.13.1"; src = fetchFromGitHub { owner = "cue-lang"; repo = "cue"; tag = "v${finalAttrs.version}"; - hash = "sha256-RvdjZ3wSc3IhQvYJL989x33qOtVZ4paoQTLFzWF9xj0="; + hash = "sha256-3cTRewUn9Ykb/BoqOdM7LYTQTAqAuW4w06XkBWhZWrY="; }; vendorHash = "sha256-J9Ox9Yt64PmL2AE+GRdWDHlBtpfmDtxgUbEPaka5JSo="; diff --git a/pkgs/by-name/cu/cura-appimage/package.nix b/pkgs/by-name/cu/cura-appimage/package.nix index 4bfad00819b6..43ffd4aa2403 100644 --- a/pkgs/by-name/cu/cura-appimage/package.nix +++ b/pkgs/by-name/cu/cura-appimage/package.nix @@ -13,7 +13,7 @@ stdenvNoCC.mkDerivation rec { pname = "cura-appimage"; - version = "5.10.0"; + version = "5.10.1"; # Give some good names so the intermediate packages are easy # to recognise by name in the Nix store. @@ -22,7 +22,7 @@ stdenvNoCC.mkDerivation rec { src = fetchurl { url = "https://github.com/Ultimaker/Cura/releases/download/${version}/Ultimaker-Cura-${version}-linux-X64.AppImage"; - hash = "sha256-8Km249t0m4YnOsyXyjJJD0y4n9kUCrA/AcsqBcrVf5Q="; + hash = "sha256-c89GkgfOSY4hriY66GUCgBYiiJJspM9Fg07lne+KXgw="; }; appimageContents = appimageTools.extract { diff --git a/pkgs/by-name/cu/curlMinimal/fix-add_handle-resizing.patch b/pkgs/by-name/cu/curlMinimal/fix-add_handle-resizing.patch deleted file mode 100644 index 4b7e58a8eab3..000000000000 --- a/pkgs/by-name/cu/curlMinimal/fix-add_handle-resizing.patch +++ /dev/null @@ -1,209 +0,0 @@ -From d16ccbd55de80c271fe822f4ba8b6271fd9166ff Mon Sep 17 00:00:00 2001 -From: Stefan Eissing -Date: Wed, 28 May 2025 14:04:31 +0200 -Subject: [PATCH] multi: fix add_handle resizing - -Due to someone being stupid, the resizing of the multi's transfer -table was actually shrinking it. Oh my. - -Add test751 to reproduce, add code assertion. - -Fixes #17473 -Reported-by: Jeroen Ooms -Closes #17475 ---- - lib/multi.c | 3 +- - tests/data/Makefile.am | 2 +- - tests/data/test751 | 33 ++++++++++++++ - tests/libtest/Makefile.inc | 4 ++ - tests/libtest/lib751.c | 92 ++++++++++++++++++++++++++++++++++++++ - 5 files changed, 132 insertions(+), 2 deletions(-) - create mode 100644 tests/data/test751 - create mode 100644 tests/libtest/lib751.c - -diff --git a/lib/multi.c b/lib/multi.c -index 792b30515d8b..b744e03ae52f 100644 ---- a/lib/multi.c -+++ b/lib/multi.c -@@ -347,7 +347,8 @@ static CURLMcode multi_xfers_add(struct Curl_multi *multi, - if(unused <= min_unused) { - /* make it a 64 multiple, since our bitsets frow by that and - * small (easy_multi) grows to at least 64 on first resize. */ -- unsigned int newsize = ((capacity + min_unused) + 63) / 64; -+ unsigned int newsize = (((capacity + min_unused) + 63) / 64) * 64; -+ DEBUGASSERT(newsize > capacity); - /* Grow the bitsets first. Should one fail, we do not need - * to downsize the already resized ones. The sets continue - * to work properly when larger than the table, but not -diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am -index e8f9e12be71e..16bb57db8e69 100644 ---- a/tests/data/Makefile.am -+++ b/tests/data/Makefile.am -@@ -107,7 +107,7 @@ test709 test710 test711 test712 test713 test714 test715 test716 test717 \ - test718 test719 test720 test721 test722 test723 test724 test725 test726 \ - test727 test728 test729 test730 test731 test732 test733 test734 test735 \ - test736 test737 test738 test739 test740 test741 test742 test743 test744 \ --test745 test746 test747 test748 test749 test750 \ -+test745 test746 test747 test748 test749 test750 test751 \ - \ - test780 test781 test782 test783 test784 test785 test786 test787 test788 \ - test789 test790 test791 \ -diff --git a/tests/data/test751 b/tests/data/test751 -new file mode 100644 -index 000000000000..ffc6df512f83 ---- /dev/null -+++ b/tests/data/test751 -@@ -0,0 +1,33 @@ -+ -+ -+ -+MULTI -+ -+ -+ -+ -+ -+ -+ -+# Client-side -+ -+ -+none -+ -+# tool is what to use instead of 'curl' -+ -+lib%TESTNUMBER -+ -+ -+ -+multi - add many easy handles -+ -+ -+ -+ -+ -+ -+# Verify data after the test has been "shot" -+ -+ -+ -diff --git a/tests/libtest/Makefile.inc b/tests/libtest/Makefile.inc -index faf7eacdf6af..002e7ab5470d 100644 ---- a/tests/libtest/Makefile.inc -+++ b/tests/libtest/Makefile.inc -@@ -50,6 +50,7 @@ LIBTESTPROGS = libauthretry libntlmconnect libprereq \ - lib659 lib661 lib666 lib667 lib668 \ - lib670 lib671 lib672 lib673 lib674 lib676 lib677 lib678 lib694 lib695 \ - lib696 \ -+ lib751 \ - lib1156 \ - lib1301 \ - lib1308 \ -@@ -349,6 +350,9 @@ lib695_SOURCES = lib695.c $(SUPPORTFILES) - lib696_SOURCES = lib556.c $(SUPPORTFILES) $(WARNLESS) - lib696_CPPFLAGS = $(AM_CPPFLAGS) -DLIB696 - -+lib751_SOURCES = lib751.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) -+lib751_LDADD = $(TESTUTIL_LIBS) -+ - lib1301_SOURCES = lib1301.c $(SUPPORTFILES) $(TESTUTIL) - lib1301_LDADD = $(TESTUTIL_LIBS) - -diff --git a/tests/libtest/lib751.c b/tests/libtest/lib751.c -new file mode 100644 -index 000000000000..ab2f923b959d ---- /dev/null -+++ b/tests/libtest/lib751.c -@@ -0,0 +1,92 @@ -+/*************************************************************************** -+ * _ _ ____ _ -+ * Project ___| | | | _ \| | -+ * / __| | | | |_) | | -+ * | (__| |_| | _ <| |___ -+ * \___|\___/|_| \_\_____| -+ * -+ * Copyright (C) Daniel Stenberg, , et al. -+ * -+ * This software is licensed as described in the file COPYING, which -+ * you should have received as part of this distribution. The terms -+ * are also available at https://curl.se/docs/copyright.html. -+ * -+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell -+ * copies of the Software, and permit persons to whom the Software is -+ * furnished to do so, under the terms of the COPYING file. -+ * -+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY -+ * KIND, either express or implied. -+ * -+ * SPDX-License-Identifier: curl -+ * -+ ***************************************************************************/ -+#include "test.h" -+ -+#include "testutil.h" -+#include "warnless.h" -+#include "memdebug.h" -+ -+#define TEST_HANG_TIMEOUT 60 * 1000 -+ -+/* -+ * Get a single URL without select(). -+ */ -+ -+CURLcode test(char *URL) -+{ -+ CURL *easies[1000]; -+ CURLM *m; -+ CURLcode res = CURLE_FAILED_INIT; -+ CURLMcode mres; -+ int i; -+ -+ (void)URL; -+ memset(easies, 0, sizeof(easies)); -+ -+ curl_global_init(CURL_GLOBAL_DEFAULT); -+ m = curl_multi_init(); -+ if(!m) { -+ res = CURLE_OUT_OF_MEMORY; -+ goto test_cleanup; -+ } -+ -+ for(i = 0; i < 1000; i++) { -+ CURL *e = curl_easy_init(); -+ if(!e) { -+ res = CURLE_OUT_OF_MEMORY; -+ goto test_cleanup; -+ } -+ easies[i] = e; -+ -+ res = curl_easy_setopt(e, CURLOPT_URL, "https://www.example.com/"); -+ if(!res) -+ res = curl_easy_setopt(e, CURLOPT_VERBOSE, 1L); -+ if(res) -+ goto test_cleanup; -+ -+ mres = curl_multi_add_handle(m, e); -+ if(mres != CURLM_OK) { -+ printf("MULTI ERROR: %s\n", curl_multi_strerror(mres)); -+ res = CURLE_FAILED_INIT; -+ goto test_cleanup; -+ } -+ } -+ -+test_cleanup: -+ -+ if(res) -+ printf("ERROR: %s\n", curl_easy_strerror(res)); -+ -+ for(i = 0; i < 1000; i++) { -+ if(easies[i]) { -+ curl_multi_add_handle(m, easies[i]); -+ curl_easy_cleanup(easies[i]); -+ easies[i] = NULL; -+ } -+ } -+ curl_multi_cleanup(m); -+ curl_global_cleanup(); -+ -+ return res; -+} diff --git a/pkgs/by-name/cu/curlMinimal/package.nix b/pkgs/by-name/cu/curlMinimal/package.nix index f4393335b738..e84bce6fafd9 100644 --- a/pkgs/by-name/cu/curlMinimal/package.nix +++ b/pkgs/by-name/cu/curlMinimal/package.nix @@ -91,7 +91,7 @@ in stdenv.mkDerivation (finalAttrs: { pname = "curl"; - version = "8.14.0"; + version = "8.14.1"; src = fetchurl { urls = [ @@ -100,16 +100,9 @@ stdenv.mkDerivation (finalAttrs: { builtins.replaceStrings [ "." ] [ "_" ] finalAttrs.version }/curl-${finalAttrs.version}.tar.xz" ]; - hash = "sha256-s2NM/FOMcsnGynlO9Mc9f9vRceje4tuDfYOl5FIxACo="; + hash = "sha256-9GGaHiR0xLv+3IinwhkSCcgzS0j6H05T/VhMwS6RIN0="; }; - patches = [ - # Backport of https://github.com/curl/curl/commit/d16ccbd55de80c271fe822f4ba8b6271fd9166ff - # Fixes a regression introduced in 8.14.0 - # Remove with 8.14.1 - ./fix-add_handle-resizing.patch - ]; - # this could be accomplished by updateAutotoolsGnuConfigScriptsHook, but that causes infinite recursion # necessary for FreeBSD code path in configure postPatch = '' diff --git a/pkgs/by-name/cy/cyme/package.nix b/pkgs/by-name/cy/cyme/package.nix index 4fc88e729182..24ec4b887088 100644 --- a/pkgs/by-name/cy/cyme/package.nix +++ b/pkgs/by-name/cy/cyme/package.nix @@ -12,17 +12,17 @@ rustPlatform.buildRustPackage rec { pname = "cyme"; - version = "2.2.2"; + version = "2.2.3"; src = fetchFromGitHub { owner = "tuna-f1sh"; repo = "cyme"; rev = "v${version}"; - hash = "sha256-oOr7LYQfA/ZtC1Up4/dAHFdtWAM+8J+OPiHIOtVLQxY="; + hash = "sha256-Zbb9CEsDtig9Nc6FUFZSdsfU7l6XHQvQK8asZ7O/Weo="; }; useFetchCargoVendor = true; - cargoHash = "sha256-PaX2Eod/5eCZFzMzkLovhE/TpQqNyhqCHaF1LiRxndg="; + cargoHash = "sha256-HdlhsOctPxOanbPAIJnlUoY4QeIluVsJlPglFXHBpFY="; nativeBuildInputs = [ diff --git a/pkgs/by-name/d2/d2hs/package.nix b/pkgs/by-name/d2/d2hs/package.nix new file mode 100644 index 000000000000..9c1075149773 --- /dev/null +++ b/pkgs/by-name/d2/d2hs/package.nix @@ -0,0 +1,59 @@ +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + cmake, + pkg-config, + nlohmann_json, + spdlog, + argparse, + curl, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "d2hs"; + version = "4.1"; + + src = fetchFromGitHub { + owner = "neboer"; + repo = "DNS2HostsSyncer"; + tag = "v${finalAttrs.version}"; + hash = "sha256-AYORL/efnE5OiRyVAFMlJUsbL1XBG6QAKjGWOYv+iEM="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + buildInputs = [ + nlohmann_json + spdlog + argparse + curl + ]; + + enableParallelBuilding = true; + + passthru.updateScript = nix-update-script { }; + + installPhase = '' + runHook preInstall + install -Dm755 ./d2hs $out/bin/d2hs + runHook postInstall + ''; + + meta = { + homepage = "https://github.com/Neboer/DNS2HostsSyncer"; + description = "Small tool for periodically syncing dns records to hosts"; + license = lib.licenses.gpl3Only; + platforms = lib.platforms.all; + maintainers = with lib.maintainers; [ + peigongdsd + ]; + mainProgram = "d2hs"; + }; +}) diff --git a/pkgs/by-name/da/daed/package.nix b/pkgs/by-name/da/daed/package.nix index dc8c0331a5b0..5fcd7389b94d 100644 --- a/pkgs/by-name/da/daed/package.nix +++ b/pkgs/by-name/da/daed/package.nix @@ -12,13 +12,13 @@ let pname = "daed"; - version = "0.9.0"; + version = "1.0.0"; src = fetchFromGitHub { owner = "daeuniverse"; repo = "daed"; tag = "v${version}"; - hash = "sha256-5olEPaS/6ag69KUwBG8qXpyr1B2qrLK+vf13ZljHH+c="; + hash = "sha256-WaybToEcFrKOcJ+vfCTc9uyHkTPOrcAEw9lZFEIBPgY="; fetchSubmodules = true; }; @@ -63,7 +63,7 @@ buildGoModule rec { sourceRoot = "${src.name}/wing"; - vendorHash = "sha256-qB2qcJ82mFcVvjlYp/N9sqzwPotTROgymSX5NfEQMuY="; + vendorHash = "sha256-+uf8PJQvsJMUyQ6W+nDfdwrxBO2YRUL328ajTJpVDZk="; proxyVendor = true; @@ -95,6 +95,12 @@ buildGoModule rec { runHook postBuild ''; + postInstall = '' + install -Dm444 $src/install/daed.service -t $out/lib/systemd/system + substituteInPlace $out/lib/systemd/system/daed.service \ + --replace-fail /usr/bin $out/bin + ''; + passthru.updateScript = _experimental-update-script-combinators.sequence [ (nix-update-script { attrPath = "daed.web"; diff --git a/pkgs/by-name/da/darkly/package.nix b/pkgs/by-name/da/darkly/package.nix index b13f488b8546..acb9ace1912c 100644 --- a/pkgs/by-name/da/darkly/package.nix +++ b/pkgs/by-name/da/darkly/package.nix @@ -13,13 +13,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "darkly-qt${qtMajorVersion}"; - version = "0.5.20"; + version = "0.5.21"; src = fetchFromGitHub { owner = "Bali10050"; repo = "Darkly"; tag = "v${finalAttrs.version}"; - hash = "sha256-3/oJbf7QHaFyBnrEnZFpWgXbRc5wAFj9RZ7iQEBSZNw="; + hash = "sha256-1WErpDYTlMW/889Efe3OUM3uwt5w+EttjOGoBolBZvE="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/da/dart-sass/package.nix b/pkgs/by-name/da/dart-sass/package.nix index d8862fd64f5f..9f861c4ee4f3 100644 --- a/pkgs/by-name/da/dart-sass/package.nix +++ b/pkgs/by-name/da/dart-sass/package.nix @@ -23,13 +23,13 @@ let in buildDartApplication rec { pname = "dart-sass"; - version = "1.89.1"; + version = "1.89.2"; src = fetchFromGitHub { owner = "sass"; repo = "dart-sass"; tag = version; - hash = "sha256-G9uiG7fTDTx9wVH0bV7BeY2TpTEtTHDd0+z/+kLZiwU="; + hash = "sha256-IDR00pxEKQ5DQM+q0P/iRnsH80ZUbokZhbnBoomy2oQ="; }; pubspecLock = lib.importJSON ./pubspec.lock.json; diff --git a/pkgs/by-name/da/dart-sass/pubspec.lock.json b/pkgs/by-name/da/dart-sass/pubspec.lock.json index f2093583f6d9..bb4aaea097e9 100644 --- a/pkgs/by-name/da/dart-sass/pubspec.lock.json +++ b/pkgs/by-name/da/dart-sass/pubspec.lock.json @@ -74,11 +74,11 @@ "dependency": "transitive", "description": { "name": "checked_yaml", - "sha256": "feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff", + "sha256": "959525d3162f249993882720d52b7e0c833978df229be20702b33d48d91de70f", "url": "https://pub.dev" }, "source": "hosted", - "version": "2.0.3" + "version": "2.0.4" }, "cli_config": { "dependency": "transitive", @@ -144,11 +144,11 @@ "dependency": "transitive", "description": { "name": "coverage", - "sha256": "4b8701e48a58f7712492c9b1f7ba0bb9d525644dd66d023b62e1fc8cdb560c8a", + "sha256": "aa07dbe5f2294c827b7edb9a87bba44a9c15a3cc81bc8da2ca19b37322d30080", "url": "https://pub.dev" }, "source": "hosted", - "version": "1.14.0" + "version": "1.14.1" }, "crypto": { "dependency": "direct dev", @@ -324,11 +324,11 @@ "dependency": "direct dev", "description": { "name": "lints", - "sha256": "c35bb79562d980e9a453fc715854e1ed39e24e7d0297a880ef54e17f9874a9d7", + "sha256": "a5e2b223cb7c9c8efdc663ef484fdd95bb243bff242ef5b13e26883547fce9a0", "url": "https://pub.dev" }, "source": "hosted", - "version": "5.1.1" + "version": "6.0.0" }, "logging": { "dependency": "transitive", @@ -454,11 +454,11 @@ "dependency": "transitive", "description": { "name": "petitparser", - "sha256": "07c8f0b1913bcde1ff0d26e57ace2f3012ccbf2b204e070290dad3bb22797646", + "sha256": "9436fe11f82d7cc1642a8671e5aa4149ffa9ae9116e6cf6dd665fc0653e3825c", "url": "https://pub.dev" }, "source": "hosted", - "version": "6.1.0" + "version": "7.0.0" }, "pool": { "dependency": "direct main", @@ -724,21 +724,21 @@ "dependency": "transitive", "description": { "name": "vm_service", - "sha256": "6f82e9ee8e7339f5d8b699317f6f3afc17c80a68ebef1bc0d6f52a678c14b1e6", + "sha256": "45caa6c5917fa127b5dbcfbd1fa60b14e583afdc08bfc96dda38886ca252eb60", "url": "https://pub.dev" }, "source": "hosted", - "version": "15.0.1" + "version": "15.0.2" }, "watcher": { "dependency": "direct main", "description": { "name": "watcher", - "sha256": "69da27e49efa56a15f8afe8f4438c4ec02eff0a117df1b22ea4aad194fe1c104", + "sha256": "0b7fd4a0bbc4b92641dbf20adfd7e3fd1398fe17102d94b674234563e110088a", "url": "https://pub.dev" }, "source": "hosted", - "version": "1.1.1" + "version": "1.1.2" }, "web": { "dependency": "transitive", @@ -784,11 +784,11 @@ "dependency": "transitive", "description": { "name": "xml", - "sha256": "b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226", + "sha256": "3202a47961c1a0af6097c9f8c1b492d705248ba309e6f7a72410422c05046851", "url": "https://pub.dev" }, "source": "hosted", - "version": "6.5.0" + "version": "6.6.0" }, "yaml": { "dependency": "direct dev", @@ -802,6 +802,6 @@ } }, "sdks": { - "dart": ">=3.7.0 <4.0.0" + "dart": ">=3.8.0 <4.0.0" } } diff --git a/pkgs/by-name/da/databricks-cli/package.nix b/pkgs/by-name/da/databricks-cli/package.nix index 03b9c1470691..c2011fb7c83b 100644 --- a/pkgs/by-name/da/databricks-cli/package.nix +++ b/pkgs/by-name/da/databricks-cli/package.nix @@ -10,13 +10,13 @@ buildGoModule (finalAttrs: { pname = "databricks-cli"; - version = "0.250.0"; + version = "0.255.0"; src = fetchFromGitHub { owner = "databricks"; repo = "cli"; rev = "v${finalAttrs.version}"; - hash = "sha256-AqXwlt7Aqi0cRoDiUfE1LFOJqtRmySuA6D4RMYOonU4="; + hash = "sha256-UoBlrNvvUbhcx5TGskDDppvnMtS1MnThcn+AVPfCjhg="; }; # Otherwise these tests fail asserting that the version is 0.0.0-dev @@ -25,7 +25,7 @@ buildGoModule (finalAttrs: { --replace-fail "cli/0.0.0-dev" "cli/${finalAttrs.version}" ''; - vendorHash = "sha256-tpm7eCjJuRpVnZfMZais1bHVhnQ8DxchaN1/7ljKNOo="; + vendorHash = "sha256-HS6btkCtGToEwIjUwgdNqeHgAK3YMCLK13yAuEzr4Qs="; excludedPackages = [ "bundle/internal" @@ -50,6 +50,11 @@ buildGoModule (finalAttrs: { "TestExpandPipelineGlobPaths" "TestRelativePathTranslationDefault" "TestRelativePathTranslationOverride" + "TestWorkspaceVerifyProfileForHost" + "TestWorkspaceVerifyProfileForHost/default_config_file_with_match" + "TestWorkspaceResolveProfileFromHost" + "TestWorkspaceResolveProfileFromHost/no_config_file" + "TestBundleConfigureDefault" # Use uv venv which doesn't work with nix # https://github.com/astral-sh/uv/issues/4450 "TestVenvSuccess" diff --git a/pkgs/by-name/da/datafusion-cli/package.nix b/pkgs/by-name/da/datafusion-cli/package.nix index 18d1735c31d9..5a513ff6b74c 100644 --- a/pkgs/by-name/da/datafusion-cli/package.nix +++ b/pkgs/by-name/da/datafusion-cli/package.nix @@ -6,18 +6,18 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "datafusion-cli"; - version = "47.0.0"; + version = "48.0.0"; src = fetchFromGitHub { name = "datafusion-cli-source"; owner = "apache"; repo = "arrow-datafusion"; tag = finalAttrs.version; - hash = "sha256-IKG0sLF5LAS2Tch3hdzsGHwAf2k43aVvMo1a29pxza0="; + hash = "sha256-DkMJKZI5rOH/PGXiAXY/GtYwYvhZ2b3zKeGeD9o2AvE="; }; useFetchCargoVendor = true; - cargoHash = "sha256-kl2+cVQhEkRsQWO8w3WEtXAoVIqj3s3IcbRBn175yxg="; + cargoHash = "sha256-9uMmxP/MvFXfylKCCcZS1YEp8snF5Tds9Eh0hL6U0oE="; buildAndTestSubdir = "datafusion-cli"; diff --git a/pkgs/by-name/da/davinci-resolve/package.nix b/pkgs/by-name/da/davinci-resolve/package.nix index 9759f6c0a3cf..e04b6427c9ca 100644 --- a/pkgs/by-name/da/davinci-resolve/package.nix +++ b/pkgs/by-name/da/davinci-resolve/package.nix @@ -35,7 +35,7 @@ let davinci = ( stdenv.mkDerivation rec { pname = "davinci-resolve${lib.optionalString studioVariant "-studio"}"; - version = "19.1.4"; + version = "20.0"; nativeBuildInputs = [ (appimage-run.override { buildFHSEnv = buildFHSEnvChroot; }) @@ -57,9 +57,9 @@ let outputHashAlgo = "sha256"; outputHash = if studioVariant then - "sha256-OTL83suZXt7DxDz+89zIRJD8R25/HZUQMMGlfS+Ow4I=" + "sha256-q0jfP/DtroK7Dzj/BiB1JmYPihCma/OgcGmQOE/uwGY=" else - "sha256-2u1gkaL3vdI+4RnPl5bEXE+zeRhg2BzPWjni015ISWI="; + "sha256-JM/V449KUEXuQmRpyQC2z9DRmID7hJ3Mnt5N6p/HOXA="; impureEnvVars = lib.fetchers.proxyImpureEnvVars; @@ -302,6 +302,7 @@ buildFHSEnv { amarshall jshcmpbll orivej + XBagon ]; platforms = [ "x86_64-linux" ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; diff --git a/pkgs/by-name/db/dblab/package.nix b/pkgs/by-name/db/dblab/package.nix index ab3e084f4a0d..b41a2cfaaaf5 100644 --- a/pkgs/by-name/db/dblab/package.nix +++ b/pkgs/by-name/db/dblab/package.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "dblab"; - version = "0.32.0"; + version = "0.33.0"; src = fetchFromGitHub { owner = "danvergara"; repo = "dblab"; rev = "v${version}"; - hash = "sha256-Hcwuh+NGHp1nb6dS1CDC+M7onlNpJbkb6UAiC4j3ZiU="; + hash = "sha256-PFS/9/UdoClktsTnkcILUdjLC9yjvMf60Tgb70lQ5pE="; }; vendorHash = "sha256-WxIlGdd3Si3Lyf9FZOCAepDlRo2F3EDRy00EawkZATY="; diff --git a/pkgs/by-name/dc/dcfldd/package.nix b/pkgs/by-name/dc/dcfldd/package.nix index 49b1c2a28088..9ae7a02ba035 100644 --- a/pkgs/by-name/dc/dcfldd/package.nix +++ b/pkgs/by-name/dc/dcfldd/package.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "dcfldd"; - version = "1.9.2"; + version = "1.9.3"; src = fetchFromGitHub { owner = "resurrecting-open-source-projects"; repo = "dcfldd"; tag = "v${finalAttrs.version}"; - hash = "sha256-IRyc57UBsUgW8WALRhYSvT1rKIt27PBiT7MWCPJL0mY="; + hash = "sha256-xn1+8hLiLQMOv0q0Jkuqha9EZSJWMbCksnq/G6n4vQ8="; }; strictDeps = true; diff --git a/pkgs/by-name/dd/dd_rescue/package.nix b/pkgs/by-name/dd/dd_rescue/package.nix index e4db2fcefc0b..89cd111b46fc 100644 --- a/pkgs/by-name/dd/dd_rescue/package.nix +++ b/pkgs/by-name/dd/dd_rescue/package.nix @@ -39,7 +39,6 @@ stdenv.mkDerivation rec { description = "Tool to copy data from a damaged block device"; maintainers = with maintainers; [ raskin - domenkozar ]; platforms = platforms.linux; homepage = "http://www.garloff.de/kurt/linux/ddrescue/"; diff --git a/pkgs/by-name/dd/ddnet/package.nix b/pkgs/by-name/dd/ddnet/package.nix index 772f83d13f09..5aacd3ac568e 100644 --- a/pkgs/by-name/dd/ddnet/package.nix +++ b/pkgs/by-name/dd/ddnet/package.nix @@ -32,13 +32,13 @@ stdenv.mkDerivation rec { pname = "ddnet"; - version = "19.2"; + version = "19.2.1"; src = fetchFromGitHub { owner = "ddnet"; repo = "ddnet"; tag = version; - hash = "sha256-7moxTdoUTOpAHDT0LNNG6ccHeXKxd6ND+GRcgchWVSI="; + hash = "sha256-0G0rVqkrIKjSGW7TF218TqakzJxiCzDipLGDzJvgdRg="; }; cargoDeps = rustPlatform.fetchCargoVendor { diff --git a/pkgs/by-name/dd/ddns-go/package.nix b/pkgs/by-name/dd/ddns-go/package.nix index b3a1f333f843..834f38753c85 100644 --- a/pkgs/by-name/dd/ddns-go/package.nix +++ b/pkgs/by-name/dd/ddns-go/package.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "ddns-go"; - version = "6.9.5"; + version = "6.10.0"; src = fetchFromGitHub { owner = "jeessy2"; repo = "ddns-go"; rev = "v${version}"; - hash = "sha256-FwLS233yGPXzBfHscJV4JCNqJru0hOAA808DVis4V0s="; + hash = "sha256-IDz5OuRSJ0fPQ6vvyqrC7DquTI6Ie0XJZxMShHN/Q5A="; }; - vendorHash = "sha256-RPYjw4G1jfsrge1eXKdQ6RdNL7srjagUY14GzXBJvpI="; + vendorHash = "sha256-oHiREhvqu14z5StjzD4PgtFasYQ0X435eMCRMiWUzg0="; ldflags = [ "-X main.version=${version}" diff --git a/pkgs/by-name/dd/ddrescue/package.nix b/pkgs/by-name/dd/ddrescue/package.nix index f00dd7d0ef69..b0f40fe7abff 100644 --- a/pkgs/by-name/dd/ddrescue/package.nix +++ b/pkgs/by-name/dd/ddrescue/package.nix @@ -51,7 +51,6 @@ stdenv.mkDerivation rec { platforms = platforms.all; maintainers = with maintainers; [ - domenkozar fpletz ]; }; diff --git a/pkgs/by-name/de/deark/package.nix b/pkgs/by-name/de/deark/package.nix new file mode 100644 index 000000000000..4660cac2e313 --- /dev/null +++ b/pkgs/by-name/de/deark/package.nix @@ -0,0 +1,72 @@ +{ + fetchFromGitHub, + stdenv, + lib, + help2man, + installShellFiles, +}: +stdenv.mkDerivation rec { + pname = "deark"; + version = "1.7.0"; + + src = fetchFromGitHub { + owner = "jsummers"; + repo = "deark"; + tag = "v${version}"; + hash = "sha256-dyX41gWZnZ/07Vyxo1x4Y8neGHS5ev+YyBJ0cUH+gKY="; + }; + + nativeBuildInputs = [ + help2man + installShellFiles + ]; + postBuild = '' + make man + ''; + + installPhase = '' + runHook preInstall + + install -Dm755 deark $out/bin/deark + installManPage deark.1 + + runHook postInstall + ''; + + meta = { + description = "Utility for file format and metadata analysis, data extraction, decompression, and image format decoding"; + longDescription = '' + Deark is a portable command-line utility that can decode certain + types of files, and either convert them to a more-modern or + more-readable format, or extract embedded files from them. + ''; + homepage = "https://entropymine.com/deark/"; + downloadPage = "https://github.com/jsummers/deark/"; + # cf. READMEs under "foreign" folder for details + license = with lib.licenses; [ + mit + # deark itself + modifications to foreign code, sans foreign code + # ozunreduce.h (dual-licensed: MIT is one option) + free + # miniz*.h (MIT-style, predates standardized licenses) + # ozunreduce.h (dual-licensed: public domain is one option) + # dskdcmps.h (public domain) + # uncompface.h ("Permission is given to distribute these sources, as long as the + # copyright messages are not removed, and no monies are exchanged" + # + waiver of liability) + unfreeRedistributable + # lzhuf.* (no copywrite notice, predates standardized licenses, + # widely distributed & intent appears to be free use) + # "By necessity, Deark contains knowledge about how to decode various + # third-party file formats. This knowledge includes data structures, + # algorithms, tables, color palettes, etc. The author(s) of Deark + # make no intellectual property claims to this essential knowledge, + # but they cannot guarantee that no one else will attempt to do so. + # Deark contains VGA and CGA bitmapped fonts, which have no known + # copyright claims." + ]; + maintainers = with lib.maintainers; [ zacharyweiss ]; + mainProgram = "deark"; + platforms = lib.platforms.unix; + }; +} diff --git a/pkgs/by-name/de/debian-devscripts/package.nix b/pkgs/by-name/de/debian-devscripts/package.nix index c37453bfbfe2..f276a0d33477 100644 --- a/pkgs/by-name/de/debian-devscripts/package.nix +++ b/pkgs/by-name/de/debian-devscripts/package.nix @@ -1,7 +1,7 @@ { lib, stdenv, - fetchurl, + fetchFromGitLab, fetchpatch, xz, dpkg, @@ -29,11 +29,14 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "debian-devscripts"; - version = "2.25.14"; + version = "2.25.15"; - src = fetchurl { - url = "mirror://debian/pool/main/d/devscripts/devscripts_${finalAttrs.version}.tar.xz"; - hash = "sha256-z95BOgGNYFvleqCv8e6B7Tl91xPzgQHkcxIg55maXvQ="; + src = fetchFromGitLab { + domain = "salsa.debian.org"; + owner = "debian"; + repo = "devscripts"; + tag = "v${finalAttrs.version}"; + hash = "sha256-s2QSfJyHsFr1eiia/yFj3jsS5k38xNewEe/g5PFpqag="; }; patches = [ diff --git a/pkgs/by-name/de/decker/package.nix b/pkgs/by-name/de/decker/package.nix index 55aa9d8a918a..2bed0cd4bc68 100644 --- a/pkgs/by-name/de/decker/package.nix +++ b/pkgs/by-name/de/decker/package.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation rec { pname = "decker"; - version = "1.54"; + version = "1.56"; src = fetchFromGitHub { owner = "JohnEarnest"; repo = "Decker"; rev = "v${version}"; - hash = "sha256-6rKfIMEWMig1LAaLk1eSUHnc2104FuN5wTVpf1SgCtg="; + hash = "sha256-b4Z+hQ7sQf8sdFXcX4+GA9Q8gJDUeb5LuVgrd3bY6vA="; }; buildInputs = [ diff --git a/pkgs/by-name/de/defaultbrowser/package.nix b/pkgs/by-name/de/defaultbrowser/package.nix index a08d7aa2516c..b8c82b800345 100644 --- a/pkgs/by-name/de/defaultbrowser/package.nix +++ b/pkgs/by-name/de/defaultbrowser/package.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "kerma"; - repo = pname; + repo = "defaultbrowser"; rev = "d2860c00dd7fbb5d615232cc819d7d492a6a6ddb"; sha256 = "sha256-SelUQXoKtShcDjq8uKg3wM0kG2opREa2DGQCDd6IsOQ="; }; diff --git a/pkgs/by-name/de/delsum/package.nix b/pkgs/by-name/de/delsum/package.nix new file mode 100644 index 000000000000..ba7a7830e177 --- /dev/null +++ b/pkgs/by-name/de/delsum/package.nix @@ -0,0 +1,31 @@ +{ + fetchFromGitHub, + gf2x, + lib, + rustPlatform, +}: +rustPlatform.buildRustPackage (finalAttrs: { + pname = "delsum"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "8051Enthusiast"; + repo = "delsum"; + tag = "v${finalAttrs.version}"; + hash = "sha256-trCH2LIC3hjm3MMEoVGO2AY33eYTfn4N2mm2rOfUwt4="; + }; + + cargoHash = "sha256-Flz7h2/i4WIGr8CgVjpbCGHUkkGKSiHw5wlOIo7uuXo="; + + buildInputs = [ + gf2x + ]; + + meta = { + homepage = "https://github.com/8051Enthusiast/delsum"; + description = "Reverse engineer's checksum toolbox"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ timschumi ]; + mainProgram = "delsum"; + }; +}) diff --git a/pkgs/by-name/de/delve/package.nix b/pkgs/by-name/de/delve/package.nix index 6b7e51b078e9..098d4a5e4a46 100644 --- a/pkgs/by-name/de/delve/package.nix +++ b/pkgs/by-name/de/delve/package.nix @@ -8,13 +8,13 @@ buildGoModule rec { pname = "delve"; - version = "1.24.2"; + version = "1.25.0"; src = fetchFromGitHub { owner = "go-delve"; repo = "delve"; rev = "v${version}"; - hash = "sha256-BFezzZpkF88xYsOcn3pI2zsH+OTRLvuwqa3CaU9Fk44="; + hash = "sha256-bp8pYWS3Vpg0R2Xfe5agDTENzLGu9r43BgORa8VrP+Y="; }; vendorHash = null; diff --git a/pkgs/by-name/de/deno/package.nix b/pkgs/by-name/de/deno/package.nix index 3b0ac1600533..a9388f6ad64e 100644 --- a/pkgs/by-name/de/deno/package.nix +++ b/pkgs/by-name/de/deno/package.nix @@ -3,6 +3,7 @@ lib, callPackage, fetchFromGitHub, + fetchpatch, rustPlatform, cmake, yq, @@ -14,6 +15,14 @@ libffi, sqlite, lld, + writableTmpDirAsHomeHook, + + # Test deps + curl, + nodejs, + git, + python3, + esbuild, }: let @@ -21,22 +30,51 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "deno"; - version = "2.3.5"; + version = "2.3.6"; src = fetchFromGitHub { owner = "denoland"; repo = "deno"; tag = "v${finalAttrs.version}"; - hash = "sha256-ASP+1EuGLU9BBY7iBer92AbnVEeQc4nwtOEyULlvc2w="; + fetchSubmodules = true; # required for tests + hash = "sha256-l3cWnv2cEmoeecYj38eMIlgqlRjDbtQuc6Q3DmOJoqE="; }; useFetchCargoVendor = true; - cargoHash = "sha256-XJy7+cARYEX8tAPXLHJnEwXyZIwPaqhM7ZUzoem1Wo0="; + cargoHash = "sha256-alvn+d7XTYrw8KXw+k+++J3CsBwAUbQQlh24/EOEzwY="; + cargoPatches = [ + (fetchpatch { + name = "fix-sigsegv-on-x86_64-unknown-linux-gnu-targets"; + url = "https://github.com/denoland/deno/commit/400a9565c335b51d78c8909f4dbf1dbd4fb5e5d8.patch"; + hash = "sha256-dTIw7P6sB6Esf+lSe/gc3cX54GkzLWF5X55yxP/QYoo="; + includes = [ "cli/Cargo.toml" ]; + }) + ]; - postPatch = '' - # Use patched nixpkgs libffi in order to fix https://github.com/libffi/libffi/pull/857 - tomlq -ti '.workspace.dependencies.libffi = { "version": .workspace.dependencies.libffi, "features": ["system"] }' Cargo.toml - ''; + patches = [ + ./tests-replace-hardcoded-paths.patch + ./tests-darwin-differences.patch + ./tests-no-chown.patch + ]; + postPatch = + '' + # Use patched nixpkgs libffi in order to fix https://github.com/libffi/libffi/pull/857 + tomlq -ti '.workspace.dependencies.libffi = { "version": .workspace.dependencies.libffi, "features": ["system"] }' Cargo.toml + '' + + + lib.optionalString + (stdenv.hostPlatform.isLinux || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64)) + '' + # LTO crashes with the latest Rust + LLVM combination. + # https://github.com/rust-lang/rust/issues/141737 + # TODO: remove this once LLVM is upgraded to 20.1.7 + tomlq -ti '.profile.release.lto = false' Cargo.toml + ''; + + buildInputs = [ + libffi + sqlite + ]; # uses zlib-ng but can't dynamically link yet # https://github.com/rust-lang/libz-sys/issues/158 @@ -56,12 +94,7 @@ rustPlatform.buildRustPackage (finalAttrs: { "--disable-multi-os-directory" ]; - buildInputs = [ - libffi - # required by libsqlite3-sys - sqlite.dev - ]; - buildAndTestSubdir = "cli"; + buildFlags = [ "--package=cli" ]; # work around "error: unknown warning group '-Wunused-but-set-parameter'" env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-unknown-warning-option"; @@ -69,19 +102,125 @@ rustPlatform.buildRustPackage (finalAttrs: { # To avoid this we pre-download the file and export it via RUSTY_V8_ARCHIVE env.RUSTY_V8_ARCHIVE = librusty_v8; - # Tests have some inconsistencies between runs with output integration tests - # Skipping until resolved - doCheck = false; + # Many tests depend on prebuilt binaries being present at `./third_party/prebuilt`. + # We provide nixpkgs binaries for these for all platforms, but the test runner itself only handles + # these four arch+platform combinations. + doCheck = + stdenv.hostPlatform.isDarwin + || (stdenv.hostPlatform.isLinux && (stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isx86_64)); + + preCheck = + # Provide esbuild binary at `./third_party/prebuilt/` just like upstream: + # https://github.com/denoland/deno_third_party/tree/master/prebuilt + # https://github.com/denoland/deno/blob/main/tests/util/server/src/servers/npm_registry.rs#L402 + let + platform = + if stdenv.hostPlatform.isLinux then + "linux64" + else if stdenv.hostPlatform.isDarwin then + "mac" + else + throw "Unsupported platform"; + arch = + if stdenv.hostPlatform.isAarch64 then + "aarch64" + else if stdenv.hostPlatform.isx86_64 then + "x64" + else + throw "Unsupported architecture"; + in + '' + mkdir -p ./third_party/prebuilt/${platform} + cp ${lib.getExe esbuild} ./third_party/prebuilt/${platform}/esbuild-${arch} + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # Unset the env var defined by bintools-wrapper because it triggers Deno's sandbox protection in some tests. + # ref: https://github.com/denoland/deno/pull/25271 + unset LD_DYLD_PATH + ''; + + cargoTestFlags = [ + "--lib" # unit tests + "--test integration_tests" + # Test targets not included here: + # - node_compat: there are tons of network access in them and it's not trivial to skip test cases. + # - specs: this target uses a custom test harness that doesn't implement the --skip flag. + # refs: + # - https://github.com/denoland/deno/blob/2212d7d814914e43f43dfd945ee24197f50fa6fa/tests/Cargo.toml#L25 + # - https://github.com/denoland/file_test_runner/blob/9c78319a4e4c6180dde0e9e6c2751017176e65c9/src/collection/mod.rs#L49 + ]; + checkFlags = + [ + # Internet access + "--skip=check::ts_no_recheck_on_redirect" + "--skip=js_unit_tests::quic_test" + "--skip=js_unit_tests::net_test" + "--skip=node_unit_tests::http_test" + "--skip=node_unit_tests::http2_test" + "--skip=node_unit_tests::net_test" + "--skip=node_unit_tests::tls_test" + "--skip=npm::lock_file_lock_write" + + # GPU access + "--skip=js_unit_tests::webgpu_test" + "--skip=js_unit_tests::jupyter_test" + + # Use of /usr/bin + "--skip=specs::permission::proc_self_fd" + + # Flaky + "--skip=init::init_subcommand_serve" + "--skip=serve::deno_serve_parallel" + "--skip=js_unit_tests::stat_test" # timing-sensitive + "--skip=repl::pty_complete_imports" + "--skip=repl::pty_complete_expression" + + # Test hangs, needs investigation + "--skip=repl::pty_complete_imports_no_panic_empty_specifier" + + # Use of VSOCK, might not be available on all platforms + "--skip=js_unit_tests::serve_test" + "--skip=js_unit_tests::fetch_test" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # Expects specific shared libraries from macOS to be linked + "--skip=shared_library_tests::macos_shared_libraries" + + # Darwin sandbox issues + "--skip=watcher" + "--skip=node_unit_tests::_fs_watch_test" + "--skip=js_unit_tests::fs_events_test" + ]; + + __darwinAllowLocalNetworking = true; + + nativeCheckInputs = [ + writableTmpDirAsHomeHook + curl + nodejs + git + python3 + ]; preInstall = '' - find ./target -name libswc_common${stdenv.hostPlatform.extensions.sharedLibrary} -delete + # Delete generated shared libraries that aren't needed in the final package + find ./target \ + -name "libswc_common${stdenv.hostPlatform.extensions.sharedLibrary}" -o \ + -name "libtest_ffi${stdenv.hostPlatform.extensions.sharedLibrary}" -o \ + -name "libtest_napi${stdenv.hostPlatform.extensions.sharedLibrary}" \ + -delete ''; - postInstall = lib.optionalString canExecute '' - installShellCompletion --cmd deno \ - --bash <($out/bin/deno completions bash) \ - --fish <($out/bin/deno completions fish) \ - --zsh <($out/bin/deno completions zsh) + postInstall = '' + # Remove non-essential binaries like denort and test_server + find $out/bin/* -not -name "deno" -delete + + ${lib.optionalString canExecute '' + installShellCompletion --cmd deno \ + --bash <($out/bin/deno completions bash) \ + --fish <($out/bin/deno completions fish) \ + --zsh <($out/bin/deno completions zsh) + ''} ''; doInstallCheck = canExecute; diff --git a/pkgs/by-name/de/deno/tests-darwin-differences.patch b/pkgs/by-name/de/deno/tests-darwin-differences.patch new file mode 100644 index 000000000000..21ff5edb543c --- /dev/null +++ b/pkgs/by-name/de/deno/tests-darwin-differences.patch @@ -0,0 +1,43 @@ +Disable codesign check and a Darwin-specific temp dir workaround. + +Note: the darwin.sigtool package includes a codesign utility, but it doesn't support the -v flag used in this test. + +diff --git a/tests/integration/compile_tests.rs b/tests/integration/compile_tests.rs +index 503538d24..ca89e3133 100644 +--- a/tests/integration/compile_tests.rs ++++ b/tests/integration/compile_tests.rs +@@ -32,17 +32,6 @@ fn compile_basic() { + output.assert_matches_text("Welcome to Deno!\n"); + } + +- // On arm64 macOS, check if `codesign -v` passes +- #[cfg(all(target_os = "macos", target_arch = "aarch64"))] +- { +- let output = std::process::Command::new("codesign") +- .arg("-v") +- .arg(&exe) +- .output() +- .unwrap(); +- assert!(output.status.success()); +- } +- + // now ensure this works when the deno_dir is readonly + let readonly_dir = dir.path().join("readonly"); + readonly_dir.make_dir_readonly(); +diff --git a/tests/unit/dir_test.ts b/tests/unit/dir_test.ts +index 757c8fec3..22b999820 100644 +--- a/tests/unit/dir_test.ts ++++ b/tests/unit/dir_test.ts +@@ -12,11 +12,7 @@ Deno.test( + const path = Deno.makeTempDirSync(); + Deno.chdir(path); + const current = Deno.cwd(); +- if (Deno.build.os === "darwin") { +- assertEquals(current, "/private" + path); +- } else { +- assertEquals(current, path); +- } ++ assertEquals(current, path); + Deno.chdir(initialdir); + }, + ); diff --git a/pkgs/by-name/de/deno/tests-no-chown.patch b/pkgs/by-name/de/deno/tests-no-chown.patch new file mode 100644 index 000000000000..dd4e03b0b35b --- /dev/null +++ b/pkgs/by-name/de/deno/tests-no-chown.patch @@ -0,0 +1,77 @@ +Disable chown, uid and gid tests on Linux. These fail in the Nix sandbox. + +diff --git a/tests/unit/chown_test.ts b/tests/unit/chown_test.ts +index 99e7dd4..a343122 100644 +--- a/tests/unit/chown_test.ts ++++ b/tests/unit/chown_test.ts +@@ -69,7 +69,7 @@ Deno.test( + ); + + Deno.test( +- { permissions: { write: true }, ignore: Deno.build.os == "windows" }, ++ { permissions: { write: true }, ignore: Deno.build.os == "windows" || Deno.build.os === "linux" }, + function chownSyncPermissionDenied() { + const dirPath = Deno.makeTempDirSync(); + const filePath = dirPath + "/chown_test_file.txt"; +@@ -84,7 +84,7 @@ Deno.test( + ); + + Deno.test( +- { permissions: { write: true }, ignore: Deno.build.os == "windows" }, ++ { permissions: { write: true }, ignore: Deno.build.os == "windows" || Deno.build.os === "linux" }, + async function chownPermissionDenied() { + const dirPath = await Deno.makeTempDir(); + const filePath = dirPath + "/chown_test_file.txt"; +diff --git a/tests/unit/command_test.ts b/tests/unit/command_test.ts +index fa941df..9292864 100644 +--- a/tests/unit/command_test.ts ++++ b/tests/unit/command_test.ts +@@ -755,7 +755,7 @@ Deno.test( + Deno.test( + { + permissions: { run: true, read: true }, +- ignore: Deno.build.os === "windows", ++ ignore: Deno.build.os === "windows" || Deno.build.os === "linux", + }, + async function commandUid() { + const { stdout } = await new Deno.Command("id", { +@@ -778,7 +778,7 @@ Deno.test( + Deno.test( + { + permissions: { run: true, read: true }, +- ignore: Deno.build.os === "windows", ++ ignore: Deno.build.os === "windows" || Deno.build.os === "linux", + }, + function commandSyncUid() { + const { stdout } = new Deno.Command("id", { +@@ -801,7 +801,7 @@ Deno.test( + Deno.test( + { + permissions: { run: true, read: true }, +- ignore: Deno.build.os === "windows", ++ ignore: Deno.build.os === "windows" || Deno.build.os === "linux", + }, + async function commandGid() { + const { stdout } = await new Deno.Command("id", { +@@ -824,7 +824,7 @@ Deno.test( + Deno.test( + { + permissions: { run: true, read: true }, +- ignore: Deno.build.os === "windows", ++ ignore: Deno.build.os === "windows" || Deno.build.os === "linux", + }, + function commandSyncGid() { + const { stdout } = new Deno.Command("id", { +diff --git a/tests/unit_node/_fs/_fs_handle_test.ts b/tests/unit_node/_fs/_fs_handle_test.ts +index 6bf37b6..3a4567f 100644 +--- a/tests/unit_node/_fs/_fs_handle_test.ts ++++ b/tests/unit_node/_fs/_fs_handle_test.ts +@@ -276,7 +276,7 @@ Deno.test({ + + Deno.test({ + name: "[node/fs filehandle.chown] Change owner of the file", +- ignore: Deno.build.os === "windows", ++ ignore: Deno.build.os === "windows" || Deno.build.os === "linux", + async fn() { + const fileHandle = await fs.open(testData); + diff --git a/pkgs/by-name/de/deno/tests-replace-hardcoded-paths.patch b/pkgs/by-name/de/deno/tests-replace-hardcoded-paths.patch new file mode 100644 index 000000000000..a636298f7688 --- /dev/null +++ b/pkgs/by-name/de/deno/tests-replace-hardcoded-paths.patch @@ -0,0 +1,44 @@ +diff --git a/tests/unit/serve_test.ts b/tests/unit/serve_test.ts +index 6373fbb3a..2b43226f6 100644 +--- a/tests/unit/serve_test.ts ++++ b/tests/unit/serve_test.ts +@@ -4218,7 +4218,7 @@ Deno.test( + }, + ); + await promise; +- const e = await execCode3("/usr/bin/sh", [ ++ const e = await execCode3("sh", [ + "-c", + `curl --stderr - -N --compressed --no-progress-meter http://localhost:${servePort}`, + ]); +diff --git a/tests/unit_node/process_test.ts b/tests/unit_node/process_test.ts +index fe6f43b3e..29916019a 100644 +--- a/tests/unit_node/process_test.ts ++++ b/tests/unit_node/process_test.ts +@@ -509,7 +509,7 @@ Deno.test({ + const scriptPath = "./testdata/process_stdin.ts"; + const filePath = "./testdata/process_stdin_dummy.txt"; + +- const shell = Deno.build.os === "windows" ? "cmd.exe" : "/bin/sh"; ++ const shell = Deno.build.os === "windows" ? "cmd.exe" : "sh"; + const cmd = `"${Deno.execPath()}" run ${scriptPath} < ${filePath}`; + const args = Deno.build.os === "windows" ? ["/d", "/c", cmd] : ["-c", cmd]; + +@@ -569,7 +569,7 @@ Deno.test({ + listener.close(); + }); + +- const shell = "/bin/bash"; ++ const shell = "bash"; + const cmd = + `"${Deno.execPath()}" run ${scriptPath} < /dev/tcp/127.0.0.1/9000`; + const args = ["-c", cmd]; +@@ -620,7 +620,7 @@ Deno.test({ + const scriptPath = "./testdata/process_stdin.ts"; + const directoryPath = "./testdata/"; + +- const shell = "/bin/bash"; ++ const shell = "bash"; + const cmd = `"${Deno.execPath()}" run ${scriptPath} < ${directoryPath}`; + const args = ["-c", cmd]; + diff --git a/pkgs/by-name/de/dep-tree/package.nix b/pkgs/by-name/de/dep-tree/package.nix index 3b63c653b10e..0cc31f828d4c 100644 --- a/pkgs/by-name/de/dep-tree/package.nix +++ b/pkgs/by-name/de/dep-tree/package.nix @@ -39,7 +39,7 @@ buildGoModule { src = fetchFromGitHub { owner = "gabotechs"; - repo = pname; + repo = "dep-tree"; rev = "v${version}"; hash = "sha256-m+afcnwVvPrD+S7c/kfE8mqlD7kO+VPI6sSXCCjXWZM="; }; diff --git a/pkgs/by-name/de/departure-mono/package.nix b/pkgs/by-name/de/departure-mono/package.nix index 4da0fb495d77..e3aefa976abc 100644 --- a/pkgs/by-name/de/departure-mono/package.nix +++ b/pkgs/by-name/de/departure-mono/package.nix @@ -6,14 +6,16 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "departure-mono"; - version = "1.422"; + version = "1.500"; src = fetchzip { url = "https://github.com/rektdeckard/departure-mono/releases/download/v${finalAttrs.version}/DepartureMono-${finalAttrs.version}.zip"; stripRoot = false; - hash = "sha256-9CcXd7PLxkzQt0oT/asZO9mowtXtjPBfuKphfGgM/y8="; + hash = "sha256-XYL76L266MKqClxfbPn/C6+x/vcs7AD56DtiDmQam2A="; }; + sourceRoot = "${finalAttrs.src.name}/DepartureMono-${finalAttrs.version}"; + installPhase = '' runHook preInstall diff --git a/pkgs/by-name/de/dependabot-cli/package.nix b/pkgs/by-name/de/dependabot-cli/package.nix index ccce75d5721c..fef777d03e45 100644 --- a/pkgs/by-name/de/dependabot-cli/package.nix +++ b/pkgs/by-name/de/dependabot-cli/package.nix @@ -12,20 +12,20 @@ }: let pname = "dependabot-cli"; - version = "1.65.0"; + version = "1.66.0"; # `tag` is what `dependabot` uses to find the relevant docker images. tag = "nixpkgs-dependabot-cli-${version}"; # Get these hashes from # nix run nixpkgs#nix-prefetch-docker -- --image-name ghcr.io/github/dependabot-update-job-proxy/dependabot-update-job-proxy --image-tag latest --final-image-name dependabot-update-job-proxy --final-image-tag ${tag} - updateJobProxy.imageDigest = "sha256:ef245bd38aaa3cf89cafcffe0630d3ad3cff840488a2051a48517454e7f42368"; - updateJobProxy.hash = "sha256-yndoGLpyV2MiIs0QXbF/W0xJ6jtmnw/ezL54VM80/CI="; + updateJobProxy.imageDigest = "sha256:0b0d8c67cad11fa0885fcc3fe0add06638c29c19f05a83f80077d5dbb70c2037"; + updateJobProxy.hash = "sha256-7O/1NYdhtmO+MAwfu8BSaJQ1RVkXrFPBpfRy0N7p1lQ="; # Get these hashes from # nix run nixpkgs#nix-prefetch-docker -- --image-name ghcr.io/dependabot/dependabot-updater-github-actions --image-tag latest --final-image-name dependabot-updater-github-actions --final-image-tag ${tag} - updaterGitHubActions.imageDigest = "sha256:adeaa00b4ae49e942adccec76d4487a393eebd0dec27cd75a3cdf6cc46d801d7"; - updaterGitHubActions.hash = "sha256-ni9rSEpeo0gIdYy2CIIpnIWg0kttoTnvRwbZ71QwmIg="; + updaterGitHubActions.imageDigest = "sha256:11de6594db1c23e7ed4a6b621e8584b4a3b34484d51f2f8aa850c21fbce9094f"; + updaterGitHubActions.hash = "sha256-cImOCW7tggBWEPlmE55b4OFMxf/+VGLoqx0tRualowo="; in buildGoModule { inherit pname version; @@ -34,10 +34,10 @@ buildGoModule { owner = "dependabot"; repo = "cli"; rev = "v${version}"; - hash = "sha256-A7CPn0YDeyr+d1OUde2TGfSt3eCfrK4k3S7NWsvCGx0="; + hash = "sha256-9VgcQgiNv1v6+jnaWK10yccC1ILSxiIj9ZCIhHY57jk="; }; - vendorHash = "sha256-pnB1SkuEGm0KfkDfjnoff5fZRsAgD5w2H4UwsD3Jlbo="; + vendorHash = "sha256-gENlo1EPzsML+HkDBg4a2VGTUhyKY8AhlpHVszYWBno="; ldflags = [ "-s" diff --git a/pkgs/by-name/de/descent3-unwrapped/package.nix b/pkgs/by-name/de/descent3-unwrapped/package.nix index 538b06a475c5..9fa5941085b9 100644 --- a/pkgs/by-name/de/descent3-unwrapped/package.nix +++ b/pkgs/by-name/de/descent3-unwrapped/package.nix @@ -20,11 +20,11 @@ stdenv.mkDerivation rec { # the wrapped version of Descent 3. Once there’s a stable version of Descent # 3 that supports the -additionaldir command-line option, we can stop using # an unstable version of Descent 3. - version = "1.5.0-beta-unstable-2025-05-23"; + version = "1.5.0-beta-unstable-2025-06-03"; src = fetchFromGitHub { owner = "DescentDevelopers"; repo = "Descent3"; - rev = "76b527b5afd15fbf6f32d67ec637ea64298c6e68"; + rev = "a7278df85ef8a6015e5f6c226523a3ed6e26da69"; leaveDotGit = true; # Descent 3 is supposed to display its Git commit hash in the bottom right # corner of the main menu. That feature only works if either the .git @@ -50,7 +50,7 @@ stdenv.mkDerivation rec { git rev-parse --verify HEAD | tr --delete '\n' > git-hash.txt rm -r .git ''; - hash = "sha256-1cXiTWKwVgyVM78+0PpuvyJn8v/8BHp7mkw0DgVPolg="; + hash = "sha256-ms5CC1lnK317jfJQJhWYbz7QyqiEld+kPkwo8phBlac="; }; hardeningDisable = [ "format" ]; diff --git a/pkgs/by-name/de/devcontainer/package.nix b/pkgs/by-name/de/devcontainer/package.nix index 278307f174d5..b009b4bab3a9 100644 --- a/pkgs/by-name/de/devcontainer/package.nix +++ b/pkgs/by-name/de/devcontainer/package.nix @@ -19,18 +19,18 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "devcontainer"; - version = "0.76.0"; + version = "0.77.0"; src = fetchFromGitHub { owner = "devcontainers"; repo = "cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-yTXAzyvkPO/7Xg+F4+hlLkyTpGHAqW3/3scJElfDfxA="; + hash = "sha256-/DImAFCz46lrlVtD/Ftrytz/tqsPgtPuWhjLomlmh5k="; }; yarnOfflineCache = fetchYarnDeps { yarnLock = "${finalAttrs.src}/yarn.lock"; - hash = "sha256-4NaZEA00dNPHAb7pcasufKf/4b8ufwS2lNS+a0rxbv8="; + hash = "sha256-S4aBRGtrSVAE6Er9DZqGfpBGh8tEJVqTstWrqlAONBg="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/de/devdocs-desktop/package.nix b/pkgs/by-name/de/devdocs-desktop/package.nix deleted file mode 100644 index a0fb3d6cfffb..000000000000 --- a/pkgs/by-name/de/devdocs-desktop/package.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ - lib, - appimageTools, - fetchurl, -}: - -let - version = "0.7.2"; - pname = "devdocs-desktop"; - - src = fetchurl { - url = "https://github.com/egoist/devdocs-desktop/releases/download/v${version}/DevDocs-${version}.AppImage"; - sha256 = "sha256-4ugpzh0Dweae6tKb6uqRhEW9HT+iVIo8MQRbVKTdRFw="; - }; - - appimageContents = appimageTools.extractType2 { - inherit pname version src; - }; - -in -appimageTools.wrapType2 rec { - inherit pname version src; - - extraInstallCommands = '' - install -m 444 -D ${appimageContents}/devdocs.desktop $out/share/applications/devdocs.desktop - install -m 444 -D ${appimageContents}/devdocs.png $out/share/icons/hicolor/0x0/apps/devdocs.png - substituteInPlace $out/share/applications/devdocs.desktop \ - --replace 'Exec=AppRun' 'Exec=${pname}' - ''; - - meta = with lib; { - description = "Full-featured desktop app for DevDocs.io"; - longDescription = '' - DevDocs.io combines multiple API documentations in a fast, organized, and searchable interface. This is an unofficial desktop app for it. - ''; - homepage = "https://github.com/egoist/devdocs-desktop"; - downloadPage = "https://github.com/egoist/devdocs-desktop/releases"; - license = licenses.mit; - maintainers = with maintainers; [ ymarkus ]; - platforms = [ "x86_64-linux" ]; - mainProgram = "devdocs-desktop"; - }; -} diff --git a/pkgs/by-name/de/devmode/README.md b/pkgs/by-name/de/devmode/README.md new file mode 100644 index 000000000000..506474769004 --- /dev/null +++ b/pkgs/by-name/de/devmode/README.md @@ -0,0 +1,6 @@ +# `devmode` + +`devmode` is a daemon, that: +1. watches the manual's source for changes and when they occur — rebuilds +2. HTTP serves the manual, injecting a script that triggers reload on changes +3. opens the manual in the default browser diff --git a/pkgs/by-name/de/devmode/package.nix b/pkgs/by-name/de/devmode/package.nix index 011127b26ea1..f0769853f27d 100644 --- a/pkgs/by-name/de/devmode/package.nix +++ b/pkgs/by-name/de/devmode/package.nix @@ -1,123 +1,109 @@ { - lib, - findutils, - nodejs_latest, + live-server, parallel, - rsync, watchexec, - writeShellScriptBin, + writeShellApplication, # arguments to `nix-build`, e.g. `"foo.nix -A bar"` buildArgs ? "", # what path to open a browser at open ? "/index.html", }: let - inherit (nodejs_latest.pkgs) live-server; + error-page = writeShellApplication { + name = "error-page"; + text = '' + rm -rf "''${serve:?}" + mkdir -p "$(dirname "''${error_page_absolute:?}")" - error-page = writeShellScriptBin "error-page" '' - cat << EOF - - - - - -
$1
- - EOF - ''; + cat > "''${error_page_absolute:?}" << EOF + + + + + +
building...
+      EOF
+    '';
+  };
 
-  # The following would have been simpler:
-  # 1. serve from `$serve`
-  # 2. pass each build a `--out-link $serve/result`
-  # But that way live-server does not seem to detect changes and therefore no
-  # auto-reloads occur.
-  # Instead, we copy the contents of each build to the `$serve` directory.
-  # Using rsync here, instead of `cp`, to get as close to an atomic
-  # directory copy operation as possible. `--delay-updates` should
-  # also go towards that.
-  build-and-copy = writeShellScriptBin "build-and-copy" ''
-    set -euxo pipefail
+  build-and-link = writeShellApplication {
+    name = "build-and-link";
+    runtimeInputs = [ error-page ];
+    text = ''
+      error-page
 
-    set +e
-    stderr=$(2>&1 nix-build --out-link $out_link ${buildArgs})
-    exit_status=$?
-    set -e
+      set +e
+      2>&1 nix-build --out-link "''${staging:?}" ${buildArgs} \
+        | tee -a "''${error_page_absolute:?}"
+      exit_status=$?
+      set -e
 
-    if [ $exit_status -eq 0 ];
-    then
-      # setting permissions to be able to clean up
-      ${lib.getExe rsync} \
-        --recursive \
-        --chmod=u=rwX \
-        --delete-before \
-        --delay-updates \
-        --links \
-        $out_link/ \
-        $serve/
-    else
-      set +x
-      ${lib.getExe error-page} "$stderr" > $error_page_absolute
-      set -x
-
-      ${lib.getExe findutils} $serve \
-        -type f \
-        ! -name $error_page_relative \
-        -delete
-    fi
-  '';
+      if [ $exit_status -eq 0 ]; then
+        rm -rf "''${serve:?}"
+        mv "''${staging:?}" "''${serve:?}"
+      fi
+    '';
+  };
 
   # https://watchexec.github.io/
-  watcher = writeShellScriptBin "watcher" ''
-    set -euxo pipefail
+  watcher = writeShellApplication {
+    name = "watcher";
+    runtimeInputs = [
+      watchexec
+      build-and-link
+    ];
+    text = ''
+      watchexec \
+        --shell=none \
+        --restart \
+        build-and-link
+    '';
+  };
 
-    ${lib.getExe watchexec} \
-      --shell=none \
-      --restart \
-      --print-events \
-      ${lib.getExe build-and-copy}
-  '';
-
-  # A Rust alternative to live-server exists, but it fails to open the temporary directory.
-  # `--no-css-inject`: without this it seems that only CSS is auto-reloaded.
-  # https://www.npmjs.com/package/live-server
-  server = writeShellScriptBin "server" ''
-    set -euxo pipefail
-
-    ${lib.getExe' live-server "live-server"} \
-      --host=127.0.0.1 \
-      --verbose \
-      --no-css-inject \
-      --entry-file=$error_page_relative \
-      --open=${open} \
-      $serve
-  '';
+  # https://crates.io/crates/live-server
+  server = writeShellApplication {
+    name = "server";
+    runtimeInputs = [ live-server ];
+    text = ''
+      live-server \
+        --host=127.0.0.1 \
+        --open=${open} \
+        "''${serve:?}"
+    '';
+  };
 in
-writeShellScriptBin "devmode" ''
-  set -euxo pipefail
+writeShellApplication {
+  name = "devmode";
+  runtimeInputs = [
+    parallel
+    watcher
+    server
+    error-page
+  ];
+  text = ''
+    function handle_exit {
+      rm -rf "$tmpdir"
+    }
 
-  function handle_exit {
-    rm -rf "$tmpdir"
-  }
+    tmpdir="$(mktemp -d)"
+    trap handle_exit EXIT
 
-  tmpdir=$(mktemp -d)
-  trap handle_exit EXIT
+    export serve="$tmpdir/serve"
+    export staging="$tmpdir/staging"
+    export error_page_absolute="$serve/${open}"
 
-  export out_link="$tmpdir/result"
-  export serve="$tmpdir/serve"
-  mkdir $serve
-  export error_page_relative=error.html
-  export error_page_absolute=$serve/$error_page_relative
-  ${lib.getExe error-page} "building …" > $error_page_absolute
+    error-page
 
-  ${lib.getExe parallel} \
-    --will-cite \
-    --line-buffer \
-    --tagstr '{/}' \
-    ::: \
-    "${lib.getExe watcher}" \
-    "${lib.getExe server}"
-''
+    parallel \
+      --will-cite \
+      --line-buffer \
+      --tagstr '{/}' \
+      ::: \
+      watcher \
+      server
+  '';
+}
diff --git a/pkgs/by-name/di/diffoscope/package.nix b/pkgs/by-name/di/diffoscope/package.nix
index 81da5329a39d..5125e0f9df64 100644
--- a/pkgs/by-name/di/diffoscope/package.nix
+++ b/pkgs/by-name/di/diffoscope/package.nix
@@ -106,11 +106,11 @@ in
 # Note: when upgrading this package, please run the list-missing-tools.sh script as described below!
 python.pkgs.buildPythonApplication rec {
   pname = "diffoscope";
-  version = "297";
+  version = "298";
 
   src = fetchurl {
     url = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2";
-    hash = "sha256-3dEZb7XZluTi+sUTgSqwLzCdNMJwekt1Em0XEDSAY/E=";
+    hash = "sha256-GakldHALDu1TXg/b0qEQD7NNK3Ljk2yQXnv5+Sr+rNw=";
   };
 
   outputs = [
diff --git a/pkgs/by-name/di/difftastic/package.nix b/pkgs/by-name/di/difftastic/package.nix
index b5753e0713f0..5f51ce0129d0 100644
--- a/pkgs/by-name/di/difftastic/package.nix
+++ b/pkgs/by-name/di/difftastic/package.nix
@@ -8,17 +8,17 @@
 
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "difftastic";
-  version = "0.63.0";
+  version = "0.64.0";
 
   src = fetchFromGitHub {
     owner = "wilfred";
     repo = "difftastic";
     tag = finalAttrs.version;
-    hash = "sha256-BxWCSkSeDyiiGBY2u0ahPrIhYq2lbujoPPtZGq/OkI0=";
+    hash = "sha256-XMvysYO6Kji9cbfGayB6wPVuNp0j2uXLHfZ9H+dBLt0=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-kIqaZ8truDivMV6uo1+j9bmXQReREZjHSr89ZvVDWCw=";
+  cargoHash = "sha256-1u3oUbqhwHXD90ld70pjK2XPJe5hpUbJtU78QpIjAE8=";
 
   # skip flaky tests
   checkFlags = [ "--skip=options::tests::test_detect_display_width" ];
diff --git a/pkgs/by-name/di/distrho-ports/package.nix b/pkgs/by-name/di/distrho-ports/package.nix
index dcee3bbadd74..f0271b3555ad 100644
--- a/pkgs/by-name/di/distrho-ports/package.nix
+++ b/pkgs/by-name/di/distrho-ports/package.nix
@@ -13,6 +13,9 @@
   meson,
   ninja,
   pkg-config,
+
+  # empty means build all available plugins
+  plugins ? [ ],
 }:
 
 let
@@ -49,7 +52,7 @@ stdenv.mkDerivation {
 
   env.NIX_CFLAGS_COMPILE = toString [ "-fpermissive" ];
 
-  postFixup = ''
+  postFixup = lib.optionalString (lib.any (x: x == "vitalium") plugins || plugins == [ ]) ''
     for file in \
       $out/lib/lv2/vitalium.lv2/vitalium.so \
       $out/lib/vst/vitalium.so \
@@ -59,11 +62,23 @@ stdenv.mkDerivation {
     done
   '';
 
+  mesonFlags = lib.optional (plugins != [ ]) (
+    lib.mesonOption "plugins" "[${lib.concatMapStringsSep "," (x: "\"${x}\"") plugins}]"
+  );
+
   meta = {
     homepage = "http://distrho.sourceforge.net/ports";
     description = "Linux audio plugins and LV2 ports";
     longDescription = ''
-      Includes:
+      You can override this package to only include some plugins like so:
+
+      ```nix
+      distrho-ports.override {
+        plugins = [ "vitalium" "swankyamp" ];
+      }
+      ```
+
+      Available plugins:
       - arctican-function
       - arctican-pilgrim
       - dexed
@@ -107,7 +122,7 @@ stdenv.mkDerivation {
       lgpl3Only
       mit
     ];
-    maintainers = [ ];
+    maintainers = with lib.maintainers; [ bandithedoge ];
     platforms = lib.systems.inspect.patternLogicalAnd lib.systems.inspect.patterns.isLinux lib.systems.inspect.patterns.isx86;
   };
 }
diff --git a/pkgs/by-name/di/dix/package.nix b/pkgs/by-name/di/dix/package.nix
index 05bf4c748aed..b2eff77fb95f 100644
--- a/pkgs/by-name/di/dix/package.nix
+++ b/pkgs/by-name/di/dix/package.nix
@@ -7,17 +7,17 @@
 }:
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "dix";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "bloxx12";
     repo = "dix";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-hsTw0MyxYD4UtUEeXgNRjmp1yla9Renl6xD19XQ5/LY=";
+    hash = "sha256-CCHWxQjronLhyt5MB2bb2vgmOgvjYaIr2HNbmUmT+gw=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-9uGtkWBShoge5tyeIdgJhthaBDF2nzCUbeY8HcaLWYc=";
+  cargoHash = "sha256-/3uL++0IEI2Yw3xrkS0UQmDZX3p0tQCqMyuUCcol1A0=";
 
   nativeInstallCheckInputs = [ versionCheckHook ];
   doInstallCheck = true;
diff --git a/pkgs/applications/graphics/djview/default.nix b/pkgs/by-name/dj/djview/package.nix
similarity index 81%
rename from pkgs/applications/graphics/djview/default.nix
rename to pkgs/by-name/dj/djview/package.nix
index bf8ccce9fe00..7618e2beb706 100644
--- a/pkgs/applications/graphics/djview/default.nix
+++ b/pkgs/by-name/dj/djview/package.nix
@@ -52,16 +52,32 @@ stdenv.mkDerivation rec {
     "--with-x"
     "--with-tiff"
     "--disable-nsdejavu" # 2023-11-14: modern browsers have dropped support for NPAPI
-  ] ++ lib.optional stdenv.hostPlatform.isDarwin "--enable-mac";
+  ];
+
+  postInstall =
+    let
+      Applications = "$out/Applications";
+    in
+    lib.optionalString stdenv.hostPlatform.isDarwin ''
+      mkdir -p ${Applications}
+      cp -a src/djview.app -t ${Applications}
+
+      mkdir -p $out/bin
+      pushd $out/bin
+      ln -sf ../Applications/djview.app/Contents/MacOS/djview
+      popd
+    '';
 
   meta = with lib; {
-    broken = stdenv.hostPlatform.isDarwin;
-    description = "Portable DjVu viewer (Qt5) and browser (nsdejavu) plugin";
+    description = "Portable DjVu viewer (Qt5)";
     mainProgram = "djview";
     homepage = "https://djvu.sourceforge.net/djview4.html";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ Anton-Latukha ];
+    maintainers = with maintainers; [
+      Anton-Latukha
+      bryango
+    ];
     longDescription = ''
       The portable DjVu viewer (Qt5) and browser (nsdejavu) plugin.
 
diff --git a/pkgs/by-name/dn/dnglab/package.nix b/pkgs/by-name/dn/dnglab/package.nix
index f7e023281c3e..afa5eb040615 100644
--- a/pkgs/by-name/dn/dnglab/package.nix
+++ b/pkgs/by-name/dn/dnglab/package.nix
@@ -5,7 +5,7 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "dnglab";
-  version = "0.6.3";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "dnglab";
@@ -15,11 +15,11 @@ rustPlatform.buildRustPackage rec {
     postFetch = ''
       rm -rf "$out"/rawler/data/testdata/cameras/Canon/{"EOS REBEL T7i","EOS Rebel T7i"}
     '';
-    hash = "sha256-k0tKNtVDzE5vVi/953aEQihh+5BsVneqauTr9WRFFrY=";
+    hash = "sha256-nUZZgVDnFH+TYx9eltI7edsAiWYPkvc3wwnkSNXr0Jw=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-PsTv7OG1dHxPvid2gTA/8KZwWc6/g2XB1UvhQpvTStE=";
+  cargoHash = "sha256-n7p16cCk1sJaTBQ/E7e4BmPeMvcApzTGBrd+CmJ8E3k=";
 
   postInstall = ''
     rm $out/bin/benchmark $out/bin/identify
diff --git a/pkgs/by-name/dn/dnsproxy/package.nix b/pkgs/by-name/dn/dnsproxy/package.nix
index cabe6b432f44..87af4e15623c 100644
--- a/pkgs/by-name/dn/dnsproxy/package.nix
+++ b/pkgs/by-name/dn/dnsproxy/package.nix
@@ -4,24 +4,24 @@
   fetchFromGitHub,
 }:
 
-buildGoModule rec {
+buildGoModule (finalAttrs: {
   pname = "dnsproxy";
-  version = "0.75.5";
+  version = "0.75.6";
 
   src = fetchFromGitHub {
     owner = "AdguardTeam";
     repo = "dnsproxy";
-    rev = "v${version}";
-    hash = "sha256-VkvYh4ksQkxhcEH0ZaaUT2h1L0Zw44s8hoDiZjdEMx0=";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-zMSwAbNwomb2XXOtnXJvO+ehUPYz0F8lzRkhhHhk3QQ=";
   };
 
-  vendorHash = "sha256-ev05aQ+A67BT+Xtt7HVSTqmmqN/DgFp56AHWDcbkoGE=";
+  vendorHash = "sha256-k+F85fPzIvSr/M/oRkO7kmXUStN+zWpvo9JJIKlgSFQ=";
 
   ldflags = [
     "-s"
     "-w"
     "-X"
-    "github.com/AdguardTeam/dnsproxy/internal/version.version=${version}"
+    "github.com/AdguardTeam/dnsproxy/internal/version.version=${finalAttrs.version}"
   ];
 
   # Development tool dependencies; not part of the main project
@@ -29,14 +29,14 @@ buildGoModule rec {
 
   doCheck = false;
 
-  meta = with lib; {
+  meta = {
     description = "Simple DNS proxy with DoH, DoT, and DNSCrypt support";
     homepage = "https://github.com/AdguardTeam/dnsproxy";
-    license = licenses.asl20;
-    maintainers = with maintainers; [
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [
       contrun
       diogotcorreia
     ];
     mainProgram = "dnsproxy";
   };
-}
+})
diff --git a/pkgs/by-name/dn/dnstake/package.nix b/pkgs/by-name/dn/dnstake/package.nix
index e48d7e3ca11d..36fc76f36928 100644
--- a/pkgs/by-name/dn/dnstake/package.nix
+++ b/pkgs/by-name/dn/dnstake/package.nix
@@ -16,7 +16,7 @@ buildGoModule rec {
     hash = "sha256-k6j7DIwK8YAKmEjn8JJO7XBcap9ui6cgUSJG7CeHAAM=";
   };
 
-  vendorHash = "sha256-lV6dUl+OMUQfhlgNL38k0Re1Mr3VP9b8SI3vTJ8CP18=";
+  vendorHash = "sha256-l3IKvcO10C+PVDX962tFWny7eMNC48ATIVqiHjpVH/Y=";
 
   meta = with lib; {
     description = "Tool to check missing hosted DNS zones";
diff --git a/pkgs/by-name/do/docker-language-server/package.nix b/pkgs/by-name/do/docker-language-server/package.nix
index 651501af940f..0df41d46708e 100644
--- a/pkgs/by-name/do/docker-language-server/package.nix
+++ b/pkgs/by-name/do/docker-language-server/package.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "docker-language-server";
-  version = "0.9.0";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "docker";
     repo = "docker-language-server";
     tag = "v${version}";
-    hash = "sha256-d3lGCIssrQqZNYyQ0RlXfjp1/z5tNtNTy6LkCC77qpA=";
+    hash = "sha256-cMHWdSMPo38Nuvx/K187PJ4tp6F1Fqs73+sIOrAk8Jo=";
   };
 
-  vendorHash = "sha256-6wngmwVtHSTPfsJQJ+swGM9H+yCbXDPLGCcTys1Zb4A=";
+  vendorHash = "sha256-yb/GdwgEwv6ybb1CkBivCC6WKc/DX9FXxz+7WLr3scw=";
 
   nativeCheckInputs = [
     docker
diff --git a/pkgs/by-name/do/doclifter/package.nix b/pkgs/by-name/do/doclifter/package.nix
index fb4dff6b5e10..a8972a6d6608 100644
--- a/pkgs/by-name/do/doclifter/package.nix
+++ b/pkgs/by-name/do/doclifter/package.nix
@@ -18,8 +18,10 @@ stdenv.mkDerivation (finalAttrs: {
 
   postPatch = ''
     substituteInPlace manlifter \
-      --replace-fail '/usr/bin/env python2' '/usr/bin/env python3'
-    2to3 -w manlifter
+      --replace-fail '/usr/bin/env python2' '/usr/bin/env python3' \
+      --replace-fail 'import thread, threading, Queue' 'import _thread, threading, queue' \
+      --replace-fail 'thread.get_ident' '_thread.get_ident' \
+      --replace-fail 'Queue.Queue' 'queue.Queue'
   '';
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/do/doctl/package.nix b/pkgs/by-name/do/doctl/package.nix
index 50f0c3a67c5d..eb77dd8c8788 100644
--- a/pkgs/by-name/do/doctl/package.nix
+++ b/pkgs/by-name/do/doctl/package.nix
@@ -9,7 +9,7 @@
 
 buildGoModule rec {
   pname = "doctl";
-  version = "1.128.0";
+  version = "1.130.0";
 
   vendorHash = null;
 
@@ -42,7 +42,7 @@ buildGoModule rec {
     owner = "digitalocean";
     repo = "doctl";
     tag = "v${version}";
-    hash = "sha256-/G+T7tvK1Jg13a6cBA2T58yPPypP1j1/6IvBws3SEOA=";
+    hash = "sha256-jFgcrJVUCs7RwrXczaKpvt/NjFIk0q26/n8SN8olSYE=";
   };
 
   meta = {
diff --git a/pkgs/by-name/do/doh-proxy-rust/package.nix b/pkgs/by-name/do/doh-proxy-rust/package.nix
index cec812fe5ea9..74ac0efbfe90 100644
--- a/pkgs/by-name/do/doh-proxy-rust/package.nix
+++ b/pkgs/by-name/do/doh-proxy-rust/package.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "doh-proxy-rust";
-  version = "0.9.11";
+  version = "0.9.12";
 
   src = fetchCrate {
     inherit version;
     crateName = "doh-proxy";
-    hash = "sha256-h2LwxqyyBPAXRr6XOmcLEmbet063kkM1ledULp3M2ek=";
+    hash = "sha256-Q+SjUB9XQlT+r1bjKJooqJ095yp5PMqMAQhoo+kp238=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-eYJoHFIC0NF3OAbZXDWB57IOFC9JDV4IXHQgzIWMT04=";
+  cargoHash = "sha256-XEHeGduKsIFW0tXto8DcghzNYMGE/zkWY2cTg8ZcPcU=";
 
   buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
     libiconv
diff --git a/pkgs/by-name/do/dolphin-emu-primehack/package.nix b/pkgs/by-name/do/dolphin-emu-primehack/package.nix
index dc8764653dce..7e7b985fca40 100644
--- a/pkgs/by-name/do/dolphin-emu-primehack/package.nix
+++ b/pkgs/by-name/do/dolphin-emu-primehack/package.nix
@@ -52,14 +52,14 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "dolphin-emu-primehack";
-  version = "1.0.7a";
+  version = "1.0.8";
 
   src = fetchFromGitHub {
     owner = "shiiion";
     repo = "dolphin";
     tag = finalAttrs.version;
     fetchSubmodules = true;
-    hash = "sha256-vuTSXQHnR4HxAGGiPg5tUzfiXROU3+E9kyjH+T6zVmc=";
+    hash = "sha256-/9AabEJ2ZOvHeSGXWRuOucmjleBMRcJfhX+VDeldbgo=";
   };
 
   nativeBuildInputs =
diff --git a/pkgs/by-name/do/dolt/package.nix b/pkgs/by-name/do/dolt/package.nix
index eceb9cce4c70..a6bef93de212 100644
--- a/pkgs/by-name/do/dolt/package.nix
+++ b/pkgs/by-name/do/dolt/package.nix
@@ -6,18 +6,18 @@
 
 buildGoModule rec {
   pname = "dolt";
-  version = "1.54.1";
+  version = "1.55.1";
 
   src = fetchFromGitHub {
     owner = "dolthub";
     repo = "dolt";
     rev = "v${version}";
-    sha256 = "sha256-VVINhJRws1WEfSld3E0sAE6jJuQWwmiN1JPL1LZ1dLs=";
+    sha256 = "sha256-XIvhfnjr8KJZDkx8L/eN+caiW8oXhxrMgEGcj1L3KnQ=";
   };
 
   modRoot = "./go";
   subPackages = [ "cmd/dolt" ];
-  vendorHash = "sha256-+UHw4cDcgRtzl8TGXLjUbBkUwJFhnuUbrwy1JUbS1ko=";
+  vendorHash = "sha256-iC4NAeNe7/Uz79HWYsF35WoWi+RRcGKyhWc8efvVf4E=";
   proxyVendor = true;
   doCheck = false;
 
diff --git a/pkgs/by-name/do/dooit/package.nix b/pkgs/by-name/do/dooit/package.nix
index 361729775ae1..df0cfae3fc9d 100644
--- a/pkgs/by-name/do/dooit/package.nix
+++ b/pkgs/by-name/do/dooit/package.nix
@@ -9,14 +9,14 @@
 }:
 python3.pkgs.buildPythonApplication rec {
   pname = "dooit";
-  version = "3.2.2";
+  version = "3.2.3";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "dooit-org";
     repo = "dooit";
     tag = "v${version}";
-    hash = "sha256-2W3iO4AOuDdDKJDMMY8YKXlI+dQKRI3PQtkdi9J3wZo=";
+    hash = "sha256-bI9X+2tTLnQwxfsnBmy2vBI3lJ4UX418zOy3oniVKWc=";
   };
 
   build-system = with python3.pkgs; [ poetry-core ];
diff --git a/pkgs/by-name/do/dorion/package.nix b/pkgs/by-name/do/dorion/package.nix
index a7b804dfe9bf..9c4530cbc0f2 100644
--- a/pkgs/by-name/do/dorion/package.nix
+++ b/pkgs/by-name/do/dorion/package.nix
@@ -38,13 +38,13 @@ in
 
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "dorion";
-  version = "6.7.1";
+  version = "6.8.0";
 
   src = fetchFromGitHub {
     owner = "SpikeHD";
     repo = "Dorion";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-d4G3royqhz+te5wPWVLNqqG/w0qOvTd7dKcWSzxUMUo=";
+    hash = "sha256-RvaGCAqAcWYA3v7AkdKMiM10Cki0jI418pbHPlVUnCg=";
   };
 
   cargoPatches = [
@@ -55,7 +55,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
   buildAndTestSubdir = finalAttrs.cargoRoot;
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-1xpAJkS31DjrZCY5WJ4/Z1t1ALED5gz7xYLhVR1Qzww=";
+  cargoHash = "sha256-jLMXwW5q4MyCblw28tmheKGPAIn3BLuceyAtoS4J7bc=";
 
   pnpmDeps = pnpm_9.fetchDeps {
     inherit (finalAttrs) pname version src;
@@ -104,9 +104,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
     rm -rf updater
 
     # patch cargo-deps
-    pushd $cargoDepsCopy/tauri-plugin-shell-*
-    patch -p1 < /build/source/src-tauri/patches/tauri-plugin-shell+*.patch
-    popd
+    patch -d $cargoDepsCopy/tauri-plugin-shell-* -p1 < ./src-tauri/patches/tauri-plugin-shell+*.patch
 
     substituteInPlace $cargoDepsCopy/libappindicator-sys-*/src/lib.rs \
       --replace-fail "libayatana-appindicator3.so.1" "${libayatana-appindicator}/lib/libayatana-appindicator3.so.1"
@@ -120,7 +118,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
     ln -s ${shelter} src-tauri/injection/shelter.js
 
     # link html/frontend data
-    ln -s /build/source/src /build/source/src-tauri/html
+    ln -s $(pwd)/src src-tauri/html
   '';
 
   configurePhase = ''
@@ -130,7 +128,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
 
   buildPhase = ''
     ninjaBuildPhase
-    cd /build/source
+    cd ../..
     tauriBuildHook
   '';
 
diff --git a/pkgs/by-name/do/dosbox-staging/package.nix b/pkgs/by-name/do/dosbox-staging/package.nix
index 7aeeb8215cc3..909530579007 100644
--- a/pkgs/by-name/do/dosbox-staging/package.nix
+++ b/pkgs/by-name/do/dosbox-staging/package.nix
@@ -31,14 +31,14 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "dosbox-staging";
-  version = "0.82.1";
-  shortRev = "13441a2";
+  version = "0.82.2";
+  shortRev = "f8c24f8";
 
   src = fetchFromGitHub {
     owner = "dosbox-staging";
     repo = "dosbox-staging";
-    rev = "v${finalAttrs.version}";
-    hash = "sha256-BVeFBKqTQiEftWVvMkSYBjC6dCYI4juWD4A6Bx8E8/Y=";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-u9W6TfHF+BNeoExcx98kCVJu1BNwWnvjBEg84evMnBw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/do/dotenvx/package.nix b/pkgs/by-name/do/dotenvx/package.nix
index 6ad39382f339..e0dfa9329b8b 100644
--- a/pkgs/by-name/do/dotenvx/package.nix
+++ b/pkgs/by-name/do/dotenvx/package.nix
@@ -8,16 +8,16 @@
 
 buildNpmPackage rec {
   pname = "dotenvx";
-  version = "1.44.1";
+  version = "1.44.2";
 
   src = fetchFromGitHub {
     owner = "dotenvx";
     repo = "dotenvx";
     tag = "v${version}";
-    hash = "sha256-uzEZfzGAwA/boDft/Z3Toq3gUG0n3nqREtLjgmIO1Kw=";
+    hash = "sha256-1G0byz6kaW60yz+eN6TyFxTzyp72RfAWC9y8ZHe0FAQ=";
   };
 
-  npmDepsHash = "sha256-kWOj/78yurII4O9XYzcvC2JflCWRbbqIOU4WkdbX5AM=";
+  npmDepsHash = "sha256-OQJZ9yicdF2xdiomyKDcrmeqXxPtPO/DNtpdQJaSls8=";
 
   dontNpmBuild = true;
 
diff --git a/pkgs/by-name/do/dotnet-ef/package.nix b/pkgs/by-name/do/dotnet-ef/package.nix
index 2d7a01bd194e..dc871ddcf096 100644
--- a/pkgs/by-name/do/dotnet-ef/package.nix
+++ b/pkgs/by-name/do/dotnet-ef/package.nix
@@ -2,9 +2,9 @@
 
 buildDotnetGlobalTool {
   pname = "dotnet-ef";
-  version = "9.0.5";
+  version = "9.0.6";
 
-  nugetHash = "sha256-Mu+MlsjH/qa4kMb7z/TuG1lSVSKPX9j9S4mJLVRZ2+E=";
+  nugetHash = "sha256-dHOGvqdIfYhuAz7JwQoG/4uJNE9wpfI/dnL4zj3lD6A=";
 
   meta = {
     description = "Tools to help with design-time development tasks";
diff --git a/pkgs/by-name/do/dotnet-repl/package.nix b/pkgs/by-name/do/dotnet-repl/package.nix
index eb9cda528b7d..295e26787c9b 100644
--- a/pkgs/by-name/do/dotnet-repl/package.nix
+++ b/pkgs/by-name/do/dotnet-repl/package.nix
@@ -6,12 +6,12 @@
 
 buildDotnetGlobalTool {
   pname = "dotnet-repl";
-  version = "0.3.247";
+  version = "0.3.250";
 
   dotnet-sdk = dotnetCorePackages.sdk_9_0;
   dotnet-runtime = dotnetCorePackages.runtime_9_0;
 
-  nugetHash = "sha256-nD5GqLG+3VAWMy/8E9XviwJq2wKBg+BISlcB4xWtrx4=";
+  nugetHash = "sha256-Tja6kIr9nHMrFY76vdFvS3ig2Tfrjus8mJb+2OC8fnk=";
 
   meta = {
     description = "Polyglot REPL built on .NET Interactive";
diff --git a/pkgs/by-name/do/doublecmd/package.nix b/pkgs/by-name/do/doublecmd/package.nix
index 78271bafa3c4..12f1e693c23f 100644
--- a/pkgs/by-name/do/doublecmd/package.nix
+++ b/pkgs/by-name/do/doublecmd/package.nix
@@ -10,17 +10,18 @@
   libX11,
   libqtpas,
   wrapQtAppsHook,
+  writableTmpDirAsHomeHook,
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "doublecmd";
-  version = "1.1.25";
+  version = "1.1.26";
 
   src = fetchFromGitHub {
     owner = "doublecmd";
     repo = "doublecmd";
-    rev = "v${finalAttrs.version}";
-    hash = "sha256-8N1hgbTMIyExZfsxtJAWoT85LaU9pSv7GaXxQYWgEZ4=";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-1rUAyI+Qe4I6F1T9KxMxHxedcARav6CE8W5qvWLu8Y0=";
   };
 
   nativeBuildInputs = [
@@ -28,6 +29,7 @@ stdenv.mkDerivation (finalAttrs: {
     getopt
     lazarus
     wrapQtAppsHook
+    writableTmpDirAsHomeHook
   ];
 
   buildInputs = [
@@ -42,15 +44,14 @@ stdenv.mkDerivation (finalAttrs: {
   postPatch = ''
     patchShebangs build.sh install/linux/install.sh
     substituteInPlace build.sh \
-      --replace '$(which lazbuild)' '"${lazarus}/bin/lazbuild --lazarusdir=${lazarus}/share/lazarus"'
+      --replace-warn '$(which lazbuild)' '"${lazarus}/bin/lazbuild --lazarusdir=${lazarus}/share/lazarus"'
     substituteInPlace install/linux/install.sh \
-      --replace '$DC_INSTALL_PREFIX/usr' '$DC_INSTALL_PREFIX'
+      --replace-warn '$DC_INSTALL_PREFIX/usr' '$DC_INSTALL_PREFIX'
   '';
 
   buildPhase = ''
     runHook preBuild
 
-    export HOME=$(mktemp -d)
     ./build.sh release qt5
 
     runHook postBuild
diff --git a/pkgs/by-name/do/doulos-sil/package.nix b/pkgs/by-name/do/doulos-sil/package.nix
index b275d6e0df25..1cf052c0cd75 100644
--- a/pkgs/by-name/do/doulos-sil/package.nix
+++ b/pkgs/by-name/do/doulos-sil/package.nix
@@ -6,11 +6,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "doulos-sil";
-  version = "6.200";
+  version = "7.000";
 
   src = fetchzip {
     url = "https://software.sil.org/downloads/r/doulos/DoulosSIL-${version}.zip";
-    hash = "sha256-kpbXJVAEQLr5HMFaE+8OgAYrMGQoetgMi0CcPn4a3Xw=";
+    hash = "sha256-i2M7YVBiLWUZETAZEesHdyQypoO5fbWHqhpizqVLB5E=";
   };
 
   installPhase = ''
diff --git a/pkgs/by-name/do/dovecot_exporter/package.nix b/pkgs/by-name/do/dovecot_exporter/package.nix
index 4c836ff85038..a4528f400e47 100644
--- a/pkgs/by-name/do/dovecot_exporter/package.nix
+++ b/pkgs/by-name/do/dovecot_exporter/package.nix
@@ -35,7 +35,6 @@ buildGoModule rec {
     mainProgram = "dovecot_exporter";
     license = lib.licenses.asl20;
     maintainers = with lib.maintainers; [
-      willibutz
       globin
     ];
   };
diff --git a/pkgs/by-name/dp/dprint/package.nix b/pkgs/by-name/dp/dprint/package.nix
index 76da0cdd957b..882f55d065d3 100644
--- a/pkgs/by-name/dp/dprint/package.nix
+++ b/pkgs/by-name/dp/dprint/package.nix
@@ -75,7 +75,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
     updateScript = nix-update-script { };
   };
 
-  meta = with lib; {
+  meta = {
     description = "Code formatting platform written in Rust";
     longDescription = ''
       dprint is a pluggable and configurable code formatting platform written in Rust.
@@ -84,8 +84,8 @@ rustPlatform.buildRustPackage (finalAttrs: {
     '';
     changelog = "https://github.com/dprint/dprint/releases/tag/${finalAttrs.version}";
     homepage = "https://dprint.dev";
-    license = licenses.mit;
-    maintainers = with maintainers; [
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [
       khushraj
       kachick
       phanirithvij
diff --git a/pkgs/by-name/dp/dprint/plugins/dprint-plugin-typescript.nix b/pkgs/by-name/dp/dprint/plugins/dprint-plugin-typescript.nix
index 17c27fd563a6..b67fd0559b34 100644
--- a/pkgs/by-name/dp/dprint/plugins/dprint-plugin-typescript.nix
+++ b/pkgs/by-name/dp/dprint/plugins/dprint-plugin-typescript.nix
@@ -1,7 +1,7 @@
 { mkDprintPlugin }:
 mkDprintPlugin {
   description = "TypeScript/JavaScript code formatter.";
-  hash = "sha256-sn10yaYbp6VWspqEMKCd7HbDvKi35AW5Xn8FGzzN3kM=";
+  hash = "sha256-mAePVUsjHVo9okkozXZmwvz456YeO36ghyU4gxKJdyw=";
   initConfig = {
     configExcludes = [ "**/node_modules" ];
     configKey = "typescript";
@@ -16,6 +16,6 @@ mkDprintPlugin {
   };
   pname = "dprint-plugin-typescript";
   updateUrl = "https://plugins.dprint.dev/dprint/typescript/latest.json";
-  url = "https://plugins.dprint.dev/typescript-0.95.5.wasm";
-  version = "0.95.5";
+  url = "https://plugins.dprint.dev/typescript-0.95.7.wasm";
+  version = "0.95.7";
 }
diff --git a/pkgs/by-name/dq/dqlite/package.nix b/pkgs/by-name/dq/dqlite/package.nix
index 0405502e9ac1..773791e299d2 100644
--- a/pkgs/by-name/dq/dqlite/package.nix
+++ b/pkgs/by-name/dq/dqlite/package.nix
@@ -2,6 +2,7 @@
   lib,
   stdenv,
   fetchFromGitHub,
+  fetchpatch2,
   autoreconfHook,
   pkg-config,
   file,
@@ -11,17 +12,24 @@
   lxd-lts,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "dqlite";
   version = "1.18.1";
 
   src = fetchFromGitHub {
     owner = "canonical";
     repo = "dqlite";
-    tag = "v${version}";
+    tag = "v${finalAttrs.version}";
     hash = "sha256-7ou077ozbpH21PcvEEcprr4UYJ/X398Ph9dh5C3YyBQ=";
   };
 
+  patches = [
+    (fetchpatch2 {
+      url = "https://github.com/canonical/dqlite/commit/be453628ce782167f6652c055e600908e2641da7.patch?full_index=1";
+      hash = "sha256-5DvZ1TW6QmE/heh/RjV395gSgwKM5XnqxqznfYQPC/Y=";
+    })
+  ];
+
   nativeBuildInputs = [
     autoreconfHook
     file
@@ -47,14 +55,14 @@ stdenv.mkDerivation rec {
     inherit lxd-lts;
   };
 
-  meta = with lib; {
+  meta = {
     description = ''
       Expose a SQLite database over the network and replicate it across a
       cluster of peers
     '';
     homepage = "https://dqlite.io/";
-    license = licenses.asl20;
+    license = lib.licenses.asl20;
     maintainers = [ ];
-    platforms = platforms.linux;
+    platforms = lib.platforms.linux;
   };
-}
+})
diff --git a/pkgs/by-name/dr/dracula-theme/package.nix b/pkgs/by-name/dr/dracula-theme/package.nix
index c07748267027..4ca2f167536e 100644
--- a/pkgs/by-name/dr/dracula-theme/package.nix
+++ b/pkgs/by-name/dr/dracula-theme/package.nix
@@ -8,7 +8,7 @@
 
 let
   themeName = "Dracula";
-  version = "4.0.0-unstable-2025-05-24";
+  version = "4.0.0-unstable-2025-06-11";
 in
 stdenvNoCC.mkDerivation {
   pname = "dracula-theme";
@@ -17,8 +17,8 @@ stdenvNoCC.mkDerivation {
   src = fetchFromGitHub {
     owner = "dracula";
     repo = "gtk";
-    rev = "74255b110e7e5f50a07f500f739bc59c2cbee472";
-    hash = "sha256-0NA/MTmcgRlR6JEOFz1+SgyoRwRygygEWAQDrpznA5w=";
+    rev = "0bf693bf6af37478fb6cf7e5452960c75155febf";
+    hash = "sha256-zS34Z7oS+k8J3N65Ih5zLJzK36Y8BD5SSoNjh3qkuQc=";
   };
 
   propagatedUserEnvPkgs = [
diff --git a/pkgs/by-name/dr/drawterm/package.nix b/pkgs/by-name/dr/drawterm/package.nix
index 4995d8d58b59..835dfea8faac 100644
--- a/pkgs/by-name/dr/drawterm/package.nix
+++ b/pkgs/by-name/dr/drawterm/package.nix
@@ -13,7 +13,7 @@
   wayland,
   wayland-protocols,
   libxkbcommon,
-  wlr-protocols,
+  libdecor,
   pulseaudio,
   nixosTests,
   withWayland ? false,
@@ -23,13 +23,13 @@ let
 in
 stdenv.mkDerivation {
   pname = "drawterm";
-  version = "0-unstable-2025-05-18";
+  version = "0-unstable-2025-06-13";
 
   src = fetchFrom9Front {
     owner = "plan9front";
     repo = "drawterm";
-    rev = "a6c1ce4e0244ca70403dc4e795a9cee548159560";
-    hash = "sha256-W9IsFnJE4Bpdc2K9DcRq+zRPMU9Wd4xpM0lHkh5SirQ=";
+    rev = "4e32a9fa6e58c1474f747a99083303c4a2f14ea7";
+    hash = "sha256-j0s6xB8c8vQoOzL34Gu84elec0ig4z75NzlUx6PsW4E=";
   };
 
   enableParallelBuilding = true;
@@ -50,7 +50,7 @@ stdenv.mkDerivation {
       wayland
       wayland-protocols
       libxkbcommon
-      wlr-protocols
+      libdecor
     ]
     ++ lib.optionals withXorg [
       xorg.libX11
diff --git a/pkgs/by-name/dr/drone-cli/package.nix b/pkgs/by-name/dr/drone-cli/package.nix
index 5ee21e807822..d7c1222e1643 100644
--- a/pkgs/by-name/dr/drone-cli/package.nix
+++ b/pkgs/by-name/dr/drone-cli/package.nix
@@ -5,7 +5,7 @@
 }:
 
 buildGoModule rec {
-  version = "1.8.0";
+  version = "1.9.0";
   pname = "drone-cli";
   revision = "v${version}";
 
@@ -13,10 +13,10 @@ buildGoModule rec {
     owner = "harness";
     repo = "drone-cli";
     rev = revision;
-    hash = "sha256-moxsGlm7Q9E0q9SZ2gZotn3tRbnbtwhDc9UNCCSb3pY=";
+    hash = "sha256-XE0myh+PAl8JhoUhEdjdCe52vQo3NuA8/v/x+v5zHK4=";
   };
 
-  vendorHash = "sha256-rKZq2vIXvw4bZ6FXPqOip9dLiV5rSb1fWDJe3oxOBjw=";
+  vendorHash = "sha256-22sefx/2iLvVzN+6wJ7kbDFAv10PQNmWbia+HFzmaW8=";
 
   # patch taken from https://patch-diff.githubusercontent.com/raw/harness/drone-cli/pull/179.patch
   # but with go.mod changes removed due to conflict
diff --git a/pkgs/by-name/ds/dsf2flac/package.nix b/pkgs/by-name/ds/dsf2flac/package.nix
index 0296c08a4429..f690db195c8b 100644
--- a/pkgs/by-name/ds/dsf2flac/package.nix
+++ b/pkgs/by-name/ds/dsf2flac/package.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation {
   pname = "dsf2flac";
-  version = "unstable-2021-07-31";
+  version = "0-unstable-2025-01-31";
 
   src = fetchFromGitHub {
     owner = "hank";
     repo = "dsf2flac";
-    rev = "6b109cd276ec7c7901f96455c77cf2d2ebfbb181";
-    sha256 = "sha256-VlXfywgYhI2QuGQvpD33BspTTgT0jOKUV3gENq4HiBU=";
+    rev = "39d43901ce27d0cc53b5a4eb277a65082e9906f0";
+    hash = "sha256-I8BupNE49+9oExR/GhoZUVbCHhDJEz3hhvQnbi8ZVGs=";
   };
 
   buildInputs = [
@@ -38,16 +38,16 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   preConfigure = ''
-    export LIBS="$LIBS -lz"
+    export LIBS="$LIBS -lz -lboost_timer"
   '';
 
   configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ];
 
-  meta = with lib; {
+  meta = {
     description = "DSD to FLAC transcoding tool";
     homepage = "https://github.com/hank/dsf2flac";
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ artemist ];
+    license = lib.licenses.gpl2Plus;
+    maintainers = with lib.maintainers; [ artemist ];
     platforms = [ "x86_64-linux" ];
     mainProgram = "dsf2flac";
   };
diff --git a/pkgs/by-name/du/dump1090-fa/package.nix b/pkgs/by-name/du/dump1090-fa/package.nix
index b668d1ce4639..1d3770c4a5c9 100644
--- a/pkgs/by-name/du/dump1090-fa/package.nix
+++ b/pkgs/by-name/du/dump1090-fa/package.nix
@@ -42,6 +42,7 @@ stdenv.mkDerivation (finalAttrs: {
     "showconfig"
     "dump1090"
     "view1090"
+    "faup1090"
   ];
 
   doCheck = true;
@@ -50,7 +51,7 @@ stdenv.mkDerivation (finalAttrs: {
     runHook preInstall
 
     mkdir -p $out/bin $out/share
-    cp -v dump1090 view1090 $out/bin
+    cp -v dump1090 view1090 faup1090 $out/bin
     cp -vr public_html $out/share/dump1090
 
     runHook postInstall
diff --git a/pkgs/by-name/du/dump_syms/package.nix b/pkgs/by-name/du/dump_syms/package.nix
index 67a96a2f85ce..acf29b5afa0e 100644
--- a/pkgs/by-name/du/dump_syms/package.nix
+++ b/pkgs/by-name/du/dump_syms/package.nix
@@ -14,7 +14,7 @@
 
 let
   pname = "dump_syms";
-  version = "2.3.4";
+  version = "2.3.5";
 in
 rustPlatform.buildRustPackage {
   inherit pname version;
@@ -23,11 +23,11 @@ rustPlatform.buildRustPackage {
     owner = "mozilla";
     repo = "dump_syms";
     rev = "v${version}";
-    hash = "sha256-6VDuZ5rw2N4z6wOVbaOKO6TNaq8QA5RstsIzmuE3QrI=";
+    hash = "sha256-zxYGxqnh6urXDC/ZQf3aFzBqOj5QNulyDpTsZ47BDkU=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-GYkkB0Z40UedPLnZZ0tHdMQR2HhuQBg75J2J9vNsMuU=";
+  cargoHash = "sha256-gnXf6APcEJJKpKsqsBPLXlZddEt+6ENyt15iDw8XShc=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/by-name/du/dunst/package.nix b/pkgs/by-name/du/dunst/package.nix
index ad4823d534a3..d3507eb51972 100644
--- a/pkgs/by-name/du/dunst/package.nix
+++ b/pkgs/by-name/du/dunst/package.nix
@@ -122,7 +122,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = lib.licenses.bsd3;
     mainProgram = "dunst";
     maintainers = with lib.maintainers; [
-      domenkozar
       gepbird
     ];
     # NOTE: 'unix' or even 'all' COULD work too, I'm not sure
diff --git a/pkgs/by-name/du/duperemove/package.nix b/pkgs/by-name/du/duperemove/package.nix
index 1d47f31fe07d..aac966beef44 100644
--- a/pkgs/by-name/du/duperemove/package.nix
+++ b/pkgs/by-name/du/duperemove/package.nix
@@ -57,7 +57,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/markfasheh/duperemove";
     license = licenses.gpl2Only;
     maintainers = with maintainers; [
-      bluescreen303
       thoughtpolice
     ];
     platforms = platforms.linux;
diff --git a/pkgs/by-name/du/duti/package.nix b/pkgs/by-name/du/duti/package.nix
index 6d46f002ae13..e9175191a3b6 100644
--- a/pkgs/by-name/du/duti/package.nix
+++ b/pkgs/by-name/du/duti/package.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   version = "1.5.5pre";
   src = fetchFromGitHub {
     owner = "moretension";
-    repo = pname;
+    repo = "duti";
     rev = "fe3d3dc411bcea6af7a8cbe53c0e08ed5ecacdb2";
     sha256 = "1pg4i6ghpib2gy1sqpml7dbnhr1vbr43fs2pqkd09i4w3nmgpic9";
   };
diff --git a/pkgs/by-name/dv/dvdauthor/package.nix b/pkgs/by-name/dv/dvdauthor/package.nix
index c4e8d2adfc0f..fd46701f54f0 100644
--- a/pkgs/by-name/dv/dvdauthor/package.nix
+++ b/pkgs/by-name/dv/dvdauthor/package.nix
@@ -1,6 +1,7 @@
 {
   lib,
   stdenv,
+  fetchpatch2,
   fetchurl,
   autoreconfHook,
   libdvdread,
@@ -23,6 +24,24 @@ stdenv.mkDerivation rec {
     hash = "sha256-MCCpLen3jrNvSLbyLVoAHEcQeCZjSnhaYt/NCA9hLrc=";
   };
 
+  patches = [
+    (fetchpatch2 {
+      # remove after next release: "Use pkg-config to find FreeType"
+      url = "https://github.com/ldo/dvdauthor/commit/d5bb0bdd542c33214855a7062fcc485f8977934e.patch?full_index=1";
+      hash = "sha256-cCj1Wkc6dZvUpjentpK68Q92tb7h+OXwrqdhJ2KYMvU=";
+    })
+    (fetchpatch2 {
+      # remove after next release: "fix to build with GraphicsMagick" (required for subsequent patches to apply)
+      url = "https://github.com/ldo/dvdauthor/commit/84d971def13b7e6317eae44369f49fd709b01030.patch?full_index=1";
+      hash = "sha256-SWgbaS4cdvrXJ4H5KDM0S46H57rji7CX4Fkfa/RSSPA=";
+    })
+    (fetchpatch2 {
+      # remove after next release: "Use PKG_CHECK_MODULES to detect the libxml2 library"
+      url = "https://github.com/ldo/dvdauthor/commit/45705ece5ec5d7d6b9ab3e7a68194796a398e855.patch?full_index=1";
+      hash = "sha256-tykCr2Axc1qhUvjlGyXQ6X+HwzuFTm5Va2gjGlOlSH0=";
+    })
+  ];
+
   buildInputs = [
     libpng
     freetype
@@ -37,14 +56,9 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     pkg-config
     autoreconfHook
-    libxml2 # xml2-config (only checked for, not used)
   ];
 
-  # set *-config for cross builds
-  configureFlags = [
-    "FREETYPECONFIG=${lib.getExe' (lib.getDev freetype) "freetype-config"}"
-    "XML2_CONFIG=${lib.getExe' (lib.getDev libxml2) "xml2-config"}"
-  ];
+  strictDeps = true;
 
   meta = with lib; {
     description = "Tools for generating DVD files to be played on standalone DVD players";
diff --git a/pkgs/by-name/dw/dwarf2json/package.nix b/pkgs/by-name/dw/dwarf2json/package.nix
index fce284d28862..7b910440c0ce 100644
--- a/pkgs/by-name/dw/dwarf2json/package.nix
+++ b/pkgs/by-name/dw/dwarf2json/package.nix
@@ -2,26 +2,34 @@
   lib,
   fetchFromGitHub,
   buildGoModule,
+  versionCheckHook,
 }:
 
-buildGoModule {
+buildGoModule (finalAttrs: {
   pname = "dwarf2json";
-  version = "unstable-2021-04-15";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "volatilityfoundation";
     repo = "dwarf2json";
-    rev = "e8a1ce85dc33bf2039adc7f8a5f47f3016153720";
-    sha256 = "sha256-hnS00glAcj78mZp5as63CsEn+dcr+GNEkz8iC3KM0h0=";
+    rev = "v${finalAttrs.version}";
+    sha256 = "sha256-M5KKtn5kly23TwbjD5MVLzIum58exXqCFs6jxsg6oGM=";
   };
 
-  vendorHash = "sha256-tgs0l+sYdAxMHwVTew++keNpDyrHmevpmOBVIiuL+34=";
+  vendorHash = "sha256-3PnXB8AfZtgmYEPJuh0fwvG38dtngoS/lxyx3H+rvFs=";
+
+  doInstallCheck = true;
+  nativeInstallCheckInputs = [ versionCheckHook ];
+  versionCheckProgramArg = "--version";
 
   meta = with lib; {
     homepage = "https://github.com/volatilityfoundation/dwarf2json";
     description = "Convert ELF/DWARF symbol and type information into vol3's intermediate JSON";
     license = licenses.vol-sl;
-    maintainers = with maintainers; [ arkivm ];
+    maintainers = with maintainers; [
+      arkivm
+      asauzeau
+    ];
     mainProgram = "dwarf2json";
   };
-}
+})
diff --git a/pkgs/by-name/dw/dwarfs/package.nix b/pkgs/by-name/dw/dwarfs/package.nix
index 00d94841c071..a43824fd2e87 100644
--- a/pkgs/by-name/dw/dwarfs/package.nix
+++ b/pkgs/by-name/dw/dwarfs/package.nix
@@ -4,6 +4,7 @@
   stdenv,
   bison,
   boost,
+  brotli,
   cmake,
   double-conversion,
   fmt,
@@ -33,14 +34,14 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "dwarfs";
-  version = "0.12.3";
+  version = "0.12.4";
 
   src = fetchFromGitHub {
     owner = "mhx";
     repo = "dwarfs";
     tag = "v${finalAttrs.version}";
     fetchSubmodules = true;
-    hash = "sha256-DIlGeZXWyM9rMzo/DNQlzSbNBIRJhe2viXFM/zT2heY=";
+    hash = "sha256-EYNnmv0QKdWddIRFRsuwsazHep3nrJ8lInlR4S67rME=";
   };
 
   cmakeFlags = [
@@ -68,6 +69,7 @@ stdenv.mkDerivation (finalAttrs: {
     parallel-hashmap
     nlohmann_json
     boost
+    brotli
     flac # optional; allows automatic audio compression
     fmt
     fuse3
@@ -117,7 +119,7 @@ stdenv.mkDerivation (finalAttrs: {
     description = "Fast high compression read-only file system";
     homepage = "https://github.com/mhx/dwarfs";
     changelog = "https://github.com/mhx/dwarfs/blob/v${finalAttrs.version}/CHANGES.md";
-    license = lib.licenses.gpl3Plus;
+    license = lib.licenses.gpl3Only;
     maintainers = [ lib.maintainers.luftmensch-luftmensch ];
     platforms = lib.platforms.linux;
   };
diff --git a/pkgs/by-name/e1/e1s/package.nix b/pkgs/by-name/e1/e1s/package.nix
index ee88691c0b06..ed0179947aad 100644
--- a/pkgs/by-name/e1/e1s/package.nix
+++ b/pkgs/by-name/e1/e1s/package.nix
@@ -5,7 +5,7 @@
 }:
 let
   pname = "e1s";
-  version = "1.0.48";
+  version = "1.0.49";
 in
 buildGoModule {
   inherit pname version;
@@ -14,7 +14,7 @@ buildGoModule {
     owner = "keidarcy";
     repo = "e1s";
     tag = "v${version}";
-    hash = "sha256-pURUTWlj0iOfHpc4BheprfgAuK05sZDGLbCF/T3LN9w=";
+    hash = "sha256-7GHNhX0hiRHQ0OH1DuHG9SPcTmm8W5CLU1Idx1pJnwE=";
   };
 
   vendorHash = "sha256-1lise/u40Q8W9STsuyrWIbhf2HY+SFCytUL1PTSWvfY=";
diff --git a/pkgs/by-name/ea/eask-cli/package.nix b/pkgs/by-name/ea/eask-cli/package.nix
index 55449bec38ed..ab057ace9d84 100644
--- a/pkgs/by-name/ea/eask-cli/package.nix
+++ b/pkgs/by-name/ea/eask-cli/package.nix
@@ -6,16 +6,16 @@
 
 buildNpmPackage rec {
   pname = "eask-cli";
-  version = "0.11.5";
+  version = "0.11.6";
 
   src = fetchFromGitHub {
     owner = "emacs-eask";
     repo = "cli";
     rev = version;
-    hash = "sha256-q6XOSy6tRcHagMpeZehzsgff58LaBDZppHSVtAqesDc=";
+    hash = "sha256-nEqzdjVdlROFkrUa/+TTI/RxVv2F11kr0THeIHEgtog=";
   };
 
-  npmDepsHash = "sha256-IiB50znBBmzX2uEym45eK7jv+PYRKvs8wQYZ9E8UyBg=";
+  npmDepsHash = "sha256-/6WSGHSg60MZWhdm3xIG6rIDKrJ1MJb4tlwLTqm6YFM=";
 
   dontBuild = true;
 
diff --git a/pkgs/by-name/ea/easyrpg-player/package.nix b/pkgs/by-name/ea/easyrpg-player/package.nix
index 888c91162592..6e996f245fbe 100644
--- a/pkgs/by-name/ea/easyrpg-player/package.nix
+++ b/pkgs/by-name/ea/easyrpg-player/package.nix
@@ -2,60 +2,55 @@
   lib,
   stdenv,
   fetchFromGitHub,
-  fetchpatch,
+  asciidoctor,
   cmake,
   doxygen,
   pkg-config,
-  freetype,
+  alsa-lib,
+  flac,
+  fluidsynth,
   fmt,
+  freetype,
   glib,
   harfbuzz,
+  lhasa,
+  libdecor,
   liblcf,
   libpng,
   libsndfile,
+  libsysprof-capture,
   libvorbis,
-  libxmp,
   libXcursor,
   libXext,
   libXi,
   libXinerama,
+  libxmp,
   libXrandr,
   libXScrnSaver,
   libXxf86vm,
   mpg123,
+  nlohmann_json,
   opusfile,
-  pcre,
+  pcre2,
   pixman,
-  SDL2,
+  sdl3,
   speexdsp,
   wildmidi,
   zlib,
-  libdecor,
-  alsa-lib,
-  asciidoctor,
 }:
 
 stdenv.mkDerivation rec {
   pname = "easyrpg-player";
-  version = "0.8";
+  # liblcf needs to be updated before this.
+  version = "0.8.1.1";
 
   src = fetchFromGitHub {
     owner = "EasyRPG";
     repo = "Player";
     rev = version;
-    hash = "sha256-t0sa9ONVVfsiTy+us06vU2bMa4QmmQeYxU395g0WS6w=";
+    hash = "sha256-fYSpFhqETkQhRK1/Uws0fWWdCr35+1J4vCPX9ZiQ3ZA=";
   };
 
-  patches = [
-    # Fixed compatibility with fmt > 9
-    # Remove when version > 0.8
-    (fetchpatch {
-      name = "0001-Fix-building-with-fmtlib-10.patch";
-      url = "https://github.com/EasyRPG/Player/commit/ab6286f6d01bada649ea52d1f0881dde7db7e0cf.patch";
-      hash = "sha256-GdSdVFEG1OJCdf2ZIzTP+hSrz+ddhTMBvOPjvYQHy54=";
-    })
-  ];
-
   strictDeps = true;
 
   nativeBuildInputs = [
@@ -67,21 +62,27 @@ stdenv.mkDerivation rec {
 
   buildInputs =
     [
+      flac # needed by libsndfile
+      fluidsynth
       fmt
       freetype
       glib
       harfbuzz
+      lhasa
       liblcf
       libpng
       libsndfile
+      libsysprof-capture # needed by glib
       libvorbis
       libxmp
       mpg123
+      nlohmann_json
       opusfile
-      pcre
+      pcre2 # needed by glib
       pixman
-      SDL2
+      sdl3
       speexdsp
+      wildmidi
       zlib
     ]
     ++ lib.optionals stdenv.hostPlatform.isLinux [
@@ -94,11 +95,12 @@ stdenv.mkDerivation rec {
       libXScrnSaver
       libXxf86vm
       libdecor
-      wildmidi # until packaged on Darwin
     ];
 
   cmakeFlags = [
     "-DPLAYER_ENABLE_TESTS=${lib.boolToString doCheck}"
+    # TODO: remove the below once SDL3 becomes default next major release
+    "-DPLAYER_TARGET_PLATFORM=SDL3"
   ];
 
   makeFlags = [
@@ -116,14 +118,13 @@ stdenv.mkDerivation rec {
     ln -s $out/{Applications/EasyRPG\ Player.app/Contents/MacOS,bin}/EasyRPG\ Player
   '';
 
-  doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
-
   enableParallelChecking = true;
+  doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
 
   meta = with lib; {
     description = "RPG Maker 2000/2003 and EasyRPG games interpreter";
     homepage = "https://easyrpg.org/";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     maintainers = [ ];
     platforms = platforms.all;
     mainProgram = lib.optionalString stdenv.hostPlatform.isDarwin "EasyRPG Player";
diff --git a/pkgs/by-name/ea/easyrsa/package.nix b/pkgs/by-name/ea/easyrsa/package.nix
index 96d3a0fe49dd..a45bf2306e77 100644
--- a/pkgs/by-name/ea/easyrsa/package.nix
+++ b/pkgs/by-name/ea/easyrsa/package.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "easyrsa";
-  version = "3.2.2";
+  version = "3.2.3";
 
   src = fetchFromGitHub {
     owner = "OpenVPN";
     repo = "easy-rsa";
     rev = "v${version}";
-    hash = "sha256-gNuVijMAHVKEHU0Z6INKUZt68qSg5ssxSaXOH/+MU1I=";
+    hash = "sha256-TAJAwvcIkAB4YShK9NItw14UTvuxtNd/OxLDkO8p0d0=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/by-name/ec/ec2-instance-selector/package.nix b/pkgs/by-name/ec/ec2-instance-selector/package.nix
index c6620d0af98f..8d37de3d7d11 100644
--- a/pkgs/by-name/ec/ec2-instance-selector/package.nix
+++ b/pkgs/by-name/ec/ec2-instance-selector/package.nix
@@ -31,6 +31,9 @@ buildGoModule (finalAttrs: {
     mv $out/bin/cmd $out/bin/ec2-instance-selector
   '';
 
+  nativeInstallCheckInputs = [ versionCheckHook ];
+  versionCheckProgramArg = "--version";
+  versionCheckKeepEnvironment = [ "HOME" ];
   doInstallCheck = true;
 
   passthru.updateScript = nix-update-script { };
diff --git a/pkgs/by-name/ec/eclib/package.nix b/pkgs/by-name/ec/eclib/package.nix
index c90084d515bf..45a7a319f9e6 100644
--- a/pkgs/by-name/ec/eclib/package.nix
+++ b/pkgs/by-name/ec/eclib/package.nix
@@ -17,7 +17,7 @@ assert withFlint -> flint != null;
 
 stdenv.mkDerivation rec {
   pname = "eclib";
-  version = "20250122"; # upgrade might break the sage interface
+  version = "20250616"; # upgrade might break the sage interface
   # sage tests to run:
   # src/sage/interfaces/mwrank.py
   # src/sage/libs/eclib
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     # see https://github.com/JohnCremona/eclib/issues/64#issuecomment-789788561
     # for upstream's explanation of the above
     url = "https://github.com/JohnCremona/eclib/releases/download/${version}/eclib-${version}.tar.bz2";
-    sha256 = "sha256-n4wrMuJKTyDXzC0zbqMMjqA7WwlTwtMq3aDEludhaJk=";
+    hash = "sha256-WrPkrAlBhsnK/NqSFNTZNkgsL2EJzvmLASha0rI4U5s=";
   };
   buildInputs =
     [
diff --git a/pkgs/by-name/ed/edk2/package.nix b/pkgs/by-name/ed/edk2/package.nix
index 247ecbeddb4a..9b244672a146 100644
--- a/pkgs/by-name/ed/edk2/package.nix
+++ b/pkgs/by-name/ed/edk2/package.nix
@@ -29,189 +29,189 @@ let
       "LOONGARCH64"
     else
       throw "Unsupported architecture";
-
-  buildType = if stdenv.hostPlatform.isDarwin then "CLANGPDB" else "GCC5";
-
-  edk2 = stdenv.mkDerivation {
-    pname = "edk2";
-    version = "202505";
-
-    srcWithVendoring = fetchFromGitHub {
-      owner = "tianocore";
-      repo = "edk2";
-      tag = "edk2-stable${edk2.version}";
-      fetchSubmodules = true;
-      hash = "sha256-VuiEqVpG/k7pfy0cOC6XmY+8NBtU/OHdDB9Y52tyNe8=";
-    };
-
-    src = applyPatches {
-      name = "edk2-${edk2.version}-unvendored-src";
-      src = edk2.srcWithVendoring;
-
-      patches = [
-        # pass targetPrefix as an env var
-        (fetchpatch {
-          url = "https://src.fedoraproject.org/rpms/edk2/raw/08f2354cd280b4ce5a7888aa85cf520e042955c3/f/0021-Tweak-the-tools_def-to-support-cross-compiling.patch";
-          hash = "sha256-E1/fiFNVx0aB1kOej2DJ2DlBIs9tAAcxoedym2Zhjxw=";
-        })
-        # https://github.com/tianocore/edk2/pull/5658
-        (fetchpatch {
-          name = "fix-cross-compilation-antlr-dlg.patch";
-          url = "https://github.com/tianocore/edk2/commit/a34ff4a8f69a7b8a52b9b299153a8fac702c7df1.patch";
-          hash = "sha256-u+niqwjuLV5tNPykW4xhb7PW2XvUmXhx5uvftG1UIbU=";
-        })
-      ];
-
-      postPatch = ''
-        # de-vendor OpenSSL
-        rm -r CryptoPkg/Library/OpensslLib/openssl
-        mkdir -p CryptoPkg/Library/OpensslLib/openssl
-        (
-        cd CryptoPkg/Library/OpensslLib/openssl
-        tar --strip-components=1 -xf ${buildPackages.openssl.src}
-
-        # Apply OpenSSL patches.
-        ${lib.pipe buildPackages.openssl.patches [
-          (builtins.filter (
-            patch:
-            !builtins.elem (baseNameOf patch) [
-              # Exclude patches not required in this context.
-              "nix-ssl-cert-file.patch"
-              "openssl-disable-kernel-detection.patch"
-              "use-etc-ssl-certs-darwin.patch"
-              "use-etc-ssl-certs.patch"
-            ]
-          ))
-          (map (patch: "patch -p1 < ${patch}\n"))
-          lib.concatStrings
-        ]}
-        )
-
-        # enable compilation using Clang
-        # https://bugzilla.tianocore.org/show_bug.cgi?id=4620
-        substituteInPlace BaseTools/Conf/tools_def.template --replace-fail \
-          'DEFINE CLANGPDB_WARNING_OVERRIDES    = ' \
-          'DEFINE CLANGPDB_WARNING_OVERRIDES    = -Wno-unneeded-internal-declaration '
-      '';
-    };
-
-    nativeBuildInputs = [ pythonEnv ];
-    depsBuildBuild = [
-      buildPackages.stdenv.cc
-      buildPackages.bash
-    ];
-    depsHostHost = [ libuuid ];
-    strictDeps = true;
-
-    # trick taken from https://src.fedoraproject.org/rpms/edk2/blob/08f2354cd280b4ce5a7888aa85cf520e042955c3/f/edk2.spec#_319
-    ${"GCC5_${targetArch}_PREFIX"} = stdenv.cc.targetPrefix;
-
-    makeFlags = [ "-C BaseTools" ];
-
-    env.NIX_CFLAGS_COMPILE =
-      "-Wno-return-type"
-      + lib.optionalString (stdenv.cc.isGNU) " -Wno-error=stringop-truncation"
-      + lib.optionalString (stdenv.hostPlatform.isDarwin) " -Wno-error=macro-redefined";
-
-    hardeningDisable = [
-      "format"
-      "fortify"
-    ];
-
-    installPhase = ''
-      mkdir -vp $out
-      mv -v BaseTools $out
-      mv -v edksetup.sh $out
-      # patchShebangs fails to see these when cross compiling
-      for i in $out/BaseTools/BinWrappers/PosixLike/*; do
-        chmod +x "$i"
-        patchShebangs --build "$i"
-      done
-    '';
-
-    enableParallelBuilding = true;
-
-    meta = {
-      description = "Intel EFI development kit";
-      homepage = "https://github.com/tianocore/tianocore.github.io/wiki/EDK-II/";
-      changelog = "https://github.com/tianocore/edk2/releases/tag/edk2-stable${edk2.version}";
-      license = lib.licenses.bsd2;
-      platforms = with lib.platforms; aarch64 ++ arm ++ i686 ++ x86_64 ++ loongarch64 ++ riscv64;
-      maintainers = [ lib.maintainers.mjoerg ];
-    };
-
-    passthru = {
-      # exercise a channel blocker
-      tests = {
-        systemdBootExtraEntries = nixosTests.systemd-boot.extraEntries;
-        uefiUsb = nixosTests.boot.uefiCdrom;
-      };
-
-      updateScript = writeScript "update-edk2" ''
-        #!/usr/bin/env nix-shell
-        #!nix-shell -i bash -p common-updater-scripts coreutils gnused
-        set -eu -o pipefail
-        version="$(list-git-tags --url="${edk2.srcWithVendoring.url}" |
-                   sed -E --quiet 's/^edk2-stable([0-9]{6})$/\1/p' |
-                   sort --reverse --numeric-sort |
-                   head -n 1)"
-        if [[ "x$UPDATE_NIX_OLD_VERSION" != "x$version" ]]; then
-            update-source-version --source-key=srcWithVendoring \
-                "$UPDATE_NIX_ATTR_PATH" "$version"
-        fi
-      '';
-
-      mkDerivation =
-        projectDscPath: attrsOrFun:
-        stdenv.mkDerivation (
-          finalAttrs:
-          let
-            attrs = lib.toFunction attrsOrFun finalAttrs;
-          in
-          {
-            inherit (edk2) src;
-
-            depsBuildBuild = [ buildPackages.stdenv.cc ] ++ attrs.depsBuildBuild or [ ];
-            nativeBuildInputs = [
-              bc
-              pythonEnv
-            ] ++ attrs.nativeBuildInputs or [ ];
-            strictDeps = true;
-
-            ${"GCC5_${targetArch}_PREFIX"} = stdenv.cc.targetPrefix;
-
-            prePatch = ''
-              rm -rf BaseTools
-              ln -sv ${buildPackages.edk2}/BaseTools BaseTools
-            '';
-
-            configurePhase = ''
-              runHook preConfigure
-              export WORKSPACE="$PWD"
-              . ${buildPackages.edk2}/edksetup.sh BaseTools
-              runHook postConfigure
-            '';
-
-            buildPhase = ''
-              runHook preBuild
-              build -a ${targetArch} -b ${attrs.buildConfig or "RELEASE"} -t ${buildType} -p ${projectDscPath} -n $NIX_BUILD_CORES $buildFlags
-              runHook postBuild
-            '';
-
-            installPhase = ''
-              runHook preInstall
-              mv -v Build/*/* $out
-              runHook postInstall
-            '';
-          }
-          // removeAttrs attrs [
-            "nativeBuildInputs"
-            "depsBuildBuild"
-          ]
-        );
-    };
-  };
-
 in
 
-edk2
+stdenv.mkDerivation (finalAttrs: {
+  pname = "edk2";
+  version = "202505";
+
+  srcWithVendoring = fetchFromGitHub {
+    owner = "tianocore";
+    repo = "edk2";
+    tag = "edk2-stable${finalAttrs.version}";
+    fetchSubmodules = true;
+    hash = "sha256-VuiEqVpG/k7pfy0cOC6XmY+8NBtU/OHdDB9Y52tyNe8=";
+  };
+
+  src = applyPatches {
+    name = "edk2-${finalAttrs.version}-unvendored-src";
+    src = finalAttrs.srcWithVendoring;
+
+    patches = [
+      # pass targetPrefix as an env var
+      (fetchpatch {
+        url = "https://src.fedoraproject.org/rpms/edk2/raw/08f2354cd280b4ce5a7888aa85cf520e042955c3/f/0021-Tweak-the-tools_def-to-support-cross-compiling.patch";
+        hash = "sha256-E1/fiFNVx0aB1kOej2DJ2DlBIs9tAAcxoedym2Zhjxw=";
+      })
+      # https://github.com/tianocore/edk2/pull/5658
+      (fetchpatch {
+        name = "fix-cross-compilation-antlr-dlg.patch";
+        url = "https://github.com/tianocore/edk2/commit/a34ff4a8f69a7b8a52b9b299153a8fac702c7df1.patch";
+        hash = "sha256-u+niqwjuLV5tNPykW4xhb7PW2XvUmXhx5uvftG1UIbU=";
+      })
+    ];
+
+    postPatch = ''
+      # de-vendor OpenSSL
+      rm -r CryptoPkg/Library/OpensslLib/openssl
+      mkdir -p CryptoPkg/Library/OpensslLib/openssl
+      (
+      cd CryptoPkg/Library/OpensslLib/openssl
+      tar --strip-components=1 -xf ${buildPackages.openssl.src}
+
+      # Apply OpenSSL patches.
+      ${lib.pipe buildPackages.openssl.patches [
+        (builtins.filter (
+          patch:
+          !builtins.elem (baseNameOf patch) [
+            # Exclude patches not required in this context.
+            "nix-ssl-cert-file.patch"
+            "openssl-disable-kernel-detection.patch"
+            "use-etc-ssl-certs-darwin.patch"
+            "use-etc-ssl-certs.patch"
+          ]
+        ))
+        (map (patch: "patch -p1 < ${patch}\n"))
+        lib.concatStrings
+      ]}
+      )
+
+      # enable compilation using Clang
+      # https://bugzilla.tianocore.org/show_bug.cgi?id=4620
+      substituteInPlace BaseTools/Conf/tools_def.template --replace-fail \
+        'DEFINE CLANGPDB_WARNING_OVERRIDES    = ' \
+        'DEFINE CLANGPDB_WARNING_OVERRIDES    = -Wno-unneeded-internal-declaration '
+    '';
+  };
+
+  nativeBuildInputs = [ pythonEnv ];
+  depsBuildBuild = [
+    buildPackages.stdenv.cc
+    buildPackages.bash
+  ];
+  depsHostHost = [ libuuid ];
+  strictDeps = true;
+
+  # trick taken from https://src.fedoraproject.org/rpms/edk2/blob/08f2354cd280b4ce5a7888aa85cf520e042955c3/f/edk2.spec#_319
+  ${"GCC5_${targetArch}_PREFIX"} = stdenv.cc.targetPrefix;
+
+  makeFlags = [ "-C BaseTools" ];
+
+  env.NIX_CFLAGS_COMPILE =
+    "-Wno-return-type"
+    + lib.optionalString (stdenv.cc.isGNU) " -Wno-error=stringop-truncation"
+    + lib.optionalString (stdenv.hostPlatform.isDarwin) " -Wno-error=macro-redefined";
+
+  hardeningDisable = [
+    "format"
+    "fortify"
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -vp $out
+    mv -v BaseTools $out
+    mv -v edksetup.sh $out
+    # patchShebangs fails to see these when cross compiling
+    for i in $out/BaseTools/BinWrappers/PosixLike/*; do
+      chmod +x "$i"
+      patchShebangs --build "$i"
+    done
+
+    runHook postInstall
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Intel EFI development kit";
+    homepage = "https://github.com/tianocore/tianocore.github.io/wiki/EDK-II/";
+    changelog = "https://github.com/tianocore/edk2/releases/tag/edk2-stable${finalAttrs.version}";
+    license = lib.licenses.bsd2;
+    platforms = with lib.platforms; aarch64 ++ arm ++ i686 ++ x86_64 ++ loongarch64 ++ riscv64;
+    maintainers = [ lib.maintainers.mjoerg ];
+  };
+
+  passthru = {
+    # exercise a channel blocker
+    tests = {
+      systemdBootExtraEntries = nixosTests.systemd-boot.extraEntries;
+      uefiUsb = nixosTests.boot.uefiCdrom;
+    };
+
+    updateScript = writeScript "update-edk2" ''
+      #!/usr/bin/env nix-shell
+      #!nix-shell -i bash -p common-updater-scripts coreutils gnused
+      set -eu -o pipefail
+      version="$(list-git-tags --url="${finalAttrs.srcWithVendoring.url}" |
+                 sed -E --quiet 's/^edk2-stable([0-9]{6})$/\1/p' |
+                 sort --reverse --numeric-sort |
+                 head -n 1)"
+      if [[ "x$UPDATE_NIX_OLD_VERSION" != "x$version" ]]; then
+          update-source-version --source-key=srcWithVendoring \
+              "$UPDATE_NIX_ATTR_PATH" "$version"
+      fi
+    '';
+
+    mkDerivation =
+      projectDscPath: attrsOrFun:
+      stdenv.mkDerivation (
+        finalAttrsInner:
+        let
+          attrs = lib.toFunction attrsOrFun finalAttrsInner;
+          buildType = attrs.buildType or (if stdenv.hostPlatform.isDarwin then "CLANGPDB" else "GCC5");
+        in
+        {
+          inherit (finalAttrs) src;
+
+          depsBuildBuild = [ buildPackages.stdenv.cc ] ++ attrs.depsBuildBuild or [ ];
+          nativeBuildInputs = [
+            bc
+            pythonEnv
+          ] ++ attrs.nativeBuildInputs or [ ];
+          strictDeps = true;
+
+          ${"GCC5_${targetArch}_PREFIX"} = stdenv.cc.targetPrefix;
+
+          prePatch = ''
+            rm -rf BaseTools
+            ln -sv ${buildPackages.edk2}/BaseTools BaseTools
+          '';
+
+          configurePhase = ''
+            runHook preConfigure
+            export WORKSPACE="$PWD"
+            . ${buildPackages.edk2}/edksetup.sh BaseTools
+            runHook postConfigure
+          '';
+
+          buildPhase = ''
+            runHook preBuild
+            build -a ${targetArch} -b ${attrs.buildConfig or "RELEASE"} -t ${buildType} -p ${projectDscPath} -n $NIX_BUILD_CORES $buildFlags
+            runHook postBuild
+          '';
+
+          installPhase = ''
+            runHook preInstall
+            mv -v Build/*/* $out
+            runHook postInstall
+          '';
+        }
+        // removeAttrs attrs [
+          "nativeBuildInputs"
+          "depsBuildBuild"
+        ]
+      );
+  };
+})
diff --git a/pkgs/by-name/ed/edl/package.nix b/pkgs/by-name/ed/edl/package.nix
index 1c1c2f10a31f..3f5df7968f2f 100644
--- a/pkgs/by-name/ed/edl/package.nix
+++ b/pkgs/by-name/ed/edl/package.nix
@@ -8,14 +8,14 @@
 
 python3Packages.buildPythonPackage {
   pname = "edl";
-  version = "3.52.1-unstable-2025-05-05";
+  version = "3.52.1-unstable-2025-06-08";
 
   src = fetchFromGitHub {
     owner = "bkerler";
     repo = "edl";
-    rev = "407f1a98572cd41bfb9fbda3c15db854d42a54f6";
+    rev = "bc1534496c83571b199b30b64774abc495744418";
     fetchSubmodules = true;
-    hash = "sha256-KISUWlQxblNMaBoL+cckgEBAIJUgBXBNr1w1Z2kVIIc=";
+    hash = "sha256-aWNYTWbCHFhPBVH2tEfEdW3n35OKoQ2DPxnUDcSghWM=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/by-name/ed/edusong/package.nix b/pkgs/by-name/ed/edusong/package.nix
index 1a0df4d68f35..96a436d44061 100644
--- a/pkgs/by-name/ed/edusong/package.nix
+++ b/pkgs/by-name/ed/edusong/package.nix
@@ -4,12 +4,12 @@
   fetchzip,
 }:
 
-stdenvNoCC.mkDerivation rec {
+stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "edusong";
   version = "4.0";
 
   src = fetchzip {
-    name = "${pname}-${version}";
+    name = "edusong-${finalAttrs.version}";
     url = "https://language.moe.gov.tw/001/Upload/Files/site_content/M0001/eduSong_Unicode.zip";
     hash = "sha256-4NBnwMrYufeZbgSiD2fAhe4tuy0aAA5u9tWwjQQjEQk=";
   };
@@ -28,4 +28,4 @@ stdenvNoCC.mkDerivation rec {
     license = lib.licenses.cc-by-nd-30;
     maintainers = with lib.maintainers; [ ShamrockLee ];
   };
-}
+})
diff --git a/pkgs/by-name/ei/eigenlayer/package.nix b/pkgs/by-name/ei/eigenlayer/package.nix
index 31582364cbeb..5edd5610fc28 100644
--- a/pkgs/by-name/ei/eigenlayer/package.nix
+++ b/pkgs/by-name/ei/eigenlayer/package.nix
@@ -6,16 +6,16 @@
 }:
 buildGoModule rec {
   pname = "eigenlayer";
-  version = "0.11.2";
+  version = "0.13.1";
 
   src = fetchFromGitHub {
     owner = "Layr-Labs";
     repo = "eigenlayer-cli";
     rev = "v${version}";
-    hash = "sha256-5JOI1JBHiM9gPuBQv/7lWtfpAEdPLueVaSDnN8G4llA=";
+    hash = "sha256-sRVeHL5Qjse0HFnbURk+mN3V2awbcu7Gir6Buxotx5E=";
   };
 
-  vendorHash = "sha256-VUYYgGsFcrSlt2YXmPk5mBJlWWKl48upF7i/xYZApiM=";
+  vendorHash = "sha256-gFWUxC2pTMx3QVbIkqpCrsA2ZTQpal89pEJv11uCMJ8=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/ek/ekho/package.nix b/pkgs/by-name/ek/ekho/package.nix
index 5eb0b9662ec7..f99ac8376ef9 100644
--- a/pkgs/by-name/ek/ekho/package.nix
+++ b/pkgs/by-name/ek/ekho/package.nix
@@ -60,7 +60,7 @@ stdenv.mkDerivation (finalAttrs: {
     '';
     license = lib.licenses.gpl2Plus;
     platforms = lib.platforms.linux ++ lib.platforms.darwin;
-    maintainers = with lib.maintainers; [ aaronjheng ];
+    maintainers = [ ];
     mainProgram = "ekho";
   };
 })
diff --git a/pkgs/by-name/ek/eksctl/package.nix b/pkgs/by-name/ek/eksctl/package.nix
index 32643f1bf2eb..0646ce5bd7f7 100644
--- a/pkgs/by-name/ek/eksctl/package.nix
+++ b/pkgs/by-name/ek/eksctl/package.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "eksctl";
-  version = "0.209.0";
+  version = "0.210.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = "eksctl";
     rev = version;
-    hash = "sha256-iyxO/KMVxSbf/1WijVg0+56BKdyG7gBsfNouyVNMDIA=";
+    hash = "sha256-d5P9bfneUpyAB9cxnu7Hw4ZOykWf8/GSVclNtIjTe6g=";
   };
 
   vendorHash = "sha256-vhYexIdkn8Y5U5YZewj/O8sJCt/VimZU4E4kn0/1lU4=";
diff --git a/pkgs/by-name/el/electron-cash/package.nix b/pkgs/by-name/el/electron-cash/package.nix
deleted file mode 100644
index ff2b24cdc7e0..000000000000
--- a/pkgs/by-name/el/electron-cash/package.nix
+++ /dev/null
@@ -1,112 +0,0 @@
-{
-  lib,
-  stdenv,
-  fetchFromGitHub,
-  python3Packages,
-  qt5,
-  secp256k1,
-}:
-
-python3Packages.buildPythonApplication rec {
-  pname = "electron-cash";
-  version = "4.4.2";
-
-  src = fetchFromGitHub {
-    owner = "Electron-Cash";
-    repo = "Electron-Cash";
-    tag = version;
-    sha256 = "sha256-hqaPxetS6JONvlRMjNonXUGFpdmnuadD00gcPzY07x0=";
-  };
-
-  build-system = with python3Packages; [
-    cython
-  ];
-
-  propagatedBuildInputs = with python3Packages; [
-    # requirements
-    pyaes
-    ecdsa
-    requests
-    qrcode
-    protobuf
-    jsonrpclib-pelix
-    pysocks
-    qdarkstyle
-    python-dateutil
-    stem
-    certifi
-    pathvalidate
-    dnspython
-    bitcoinrpc
-
-    # requirements-binaries
-    pyqt5
-    psutil
-    pycryptodomex
-    cryptography
-    zxing-cpp
-
-    # requirements-hw
-    trezor
-    keepkey
-    btchip-python
-    hidapi
-    pyopenssl
-    pyscard
-    pysatochip
-  ];
-
-  nativeBuildInputs = [ qt5.wrapQtAppsHook ];
-
-  buildInputs = [ ] ++ lib.optional stdenv.hostPlatform.isLinux qt5.qtwayland;
-
-  # If secp256k1 wasn't added to the library path, the following warning is given:
-  #
-  #   Electron Cash was unable to find the secp256k1 library on this system.
-  #   Elliptic curve cryptography operations will be performed in slow
-  #   Python-only mode.
-  #
-  # Upstream hardcoded `libsecp256k1.so.0` where we provides
-  # `libsecp256k1.so.5`. The only breaking change is the removal of two
-  # functions which seem not used by electron-cash.
-  # See: 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace-fail "(share_dir" '("share"'
-    substituteInPlace electroncash/secp256k1.py \
-      --replace-fail "libsecp256k1.so.0" "${secp256k1}/lib/libsecp256k1.so.5"
-  '';
-
-  preFixup = ''
-    makeWrapperArgs+=("''${qtWrapperArgs[@]}")
-  '';
-
-  doInstallCheck = true;
-  installCheckPhase = ''
-    output="$($out/bin/electron-cash help 2>&1)"
-    if [[ "$output" == *"failed to load"* ]]; then
-      echo "$output"
-      echo "Forbidden text detected: failed to load"
-      exit 1
-    fi
-  '';
-
-  meta = {
-    description = "Bitcoin Cash SPV Wallet";
-    mainProgram = "electron-cash";
-    longDescription = ''
-      An easy-to-use Bitcoin Cash client featuring wallets generated from
-      mnemonic seeds (in addition to other, more advanced, wallet options)
-      and the ability to perform transactions without downloading a copy
-      of the blockchain.
-    '';
-    homepage = "https://www.electroncash.org/";
-    platforms = lib.platforms.unix;
-    maintainers = with lib.maintainers; [
-      lassulus
-      nyanloutre
-      oxalica
-    ];
-    license = lib.licenses.mit;
-  };
-}
diff --git a/pkgs/by-name/el/element-desktop/element-desktop-pin.nix b/pkgs/by-name/el/element-desktop/element-desktop-pin.nix
index 1a72d1488ab6..a4d2d573ccc1 100644
--- a/pkgs/by-name/el/element-desktop/element-desktop-pin.nix
+++ b/pkgs/by-name/el/element-desktop/element-desktop-pin.nix
@@ -1,7 +1,7 @@
 {
-  "version" = "1.11.100";
+  "version" = "1.11.103";
   "hashes" = {
-    "desktopSrcHash" = "sha256-qlKZkBPWcD1eyEetCrIKsSXmodg6DYCmENfY+UT7Khc=";
-    "desktopYarnHash" = "sha256-wuRAeb4IpA2Ihr3ohaMPvFsaMod4Bg8o9lm8yzStwmk=";
+    "desktopSrcHash" = "sha256-GKuIwoco8O9EjXrE7jGdfTDfWTyhozDtzrJFVH+uvaQ=";
+    "desktopYarnHash" = "sha256-/Gy/sYk8EBWU07zXwPl0zsDW5ADRq1j5PH4lPFe8dxk=";
   };
 }
diff --git a/pkgs/by-name/el/element-desktop/package.nix b/pkgs/by-name/el/element-desktop/package.nix
index 84a743771187..65e9a611ae30 100644
--- a/pkgs/by-name/el/element-desktop/package.nix
+++ b/pkgs/by-name/el/element-desktop/package.nix
@@ -4,15 +4,15 @@
   fetchFromGitHub,
   makeWrapper,
   makeDesktopItem,
-  yarnConfigHook,
+  yarn,
   nodejs,
-  fetchYarnDeps,
   jq,
-  electron_35,
+  electron_36,
   element-web,
   sqlcipher,
   callPackage,
   desktopToDarwinBundle,
+  typescript,
   useKeytar ? true,
   # command line arguments which are always set
   commandLineArgs ? "",
@@ -22,7 +22,7 @@ let
   pinData = import ./element-desktop-pin.nix;
   inherit (pinData.hashes) desktopSrcHash desktopYarnHash;
   executableName = "element-desktop";
-  electron = electron_35;
+  electron = electron_36;
   keytar = callPackage ./keytar {
     inherit electron;
   };
@@ -41,16 +41,22 @@ stdenv.mkDerivation (
       hash = desktopSrcHash;
     };
 
-    offlineCache = fetchYarnDeps {
-      yarnLock = finalAttrs.src + "/yarn.lock";
-      sha256 = desktopYarnHash;
+    # TODO: fetchYarnDeps currently does not deal properly with a dependency
+    # declared as a pin to a commit in a specific git repository.
+    # While it does download everything correctly, `yarn install --offline`
+    # always wants to `git ls-remote` to the repository, ignoring the local
+    # cached tarball.
+    offlineCache = callPackage ./yarn.nix {
+      inherit (finalAttrs) version src;
+      hash = desktopYarnHash;
     };
 
     nativeBuildInputs = [
-      yarnConfigHook
       nodejs
       makeWrapper
       jq
+      yarn
+      typescript
     ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ desktopToDarwinBundle ];
 
     inherit seshat;
@@ -60,13 +66,25 @@ stdenv.mkDerivation (
     # this shouldn't be in the closure just for unused scripts.
     dontPatchShebangs = true;
 
+    configurePhase = ''
+      runHook preConfigure
+
+      mkdir -p node_modules/
+      cp -r $offlineCache/node_modules/* node_modules/
+      substituteInPlace package.json --replace-fail "tsx " "node node_modules/tsx/dist/cli.mjs "
+
+      runHook postConfigure
+    '';
+
     buildPhase = ''
       runHook preBuild
 
       yarn --offline run build:ts
-      yarn --offline run i18n
+      node node_modules/matrix-web-i18n/scripts/gen-i18n.js
+      yarn --offline run i18n:sort
       yarn --offline run build:res
 
+      chmod -R a+w node_modules/keytar-forked
       rm -rf node_modules/matrix-seshat node_modules/keytar-forked
       ${lib.optionalString useKeytar "ln -s ${keytar} node_modules/keytar-forked"}
       ln -s $seshat node_modules/matrix-seshat
@@ -82,6 +100,7 @@ stdenv.mkDerivation (
       ln -s '${element-web}' "$out/share/element/webapp"
       cp -r '.' "$out/share/element/electron"
       cp -r './res/img' "$out/share/element"
+      chmod -R "a+w" "$out/share/element/electron/node_modules"
       rm -rf "$out/share/element/electron/node_modules"
       cp -r './node_modules' "$out/share/element/electron"
       cp $out/share/element/electron/lib/i18n/strings/en_EN.json $out/share/element/electron/lib/i18n/strings/en-us.json
@@ -155,7 +174,7 @@ stdenv.mkDerivation (
       changelog = "https://github.com/element-hq/element-desktop/blob/v${finalAttrs.version}/CHANGELOG.md";
       license = licenses.asl20;
       teams = [ teams.matrix ];
-      inherit (electron.meta) platforms;
+      platforms = electron.meta.platforms ++ lib.platforms.darwin;
       mainProgram = "element-desktop";
     };
   }
diff --git a/pkgs/by-name/el/element-desktop/yarn.nix b/pkgs/by-name/el/element-desktop/yarn.nix
new file mode 100644
index 000000000000..5a1274349537
--- /dev/null
+++ b/pkgs/by-name/el/element-desktop/yarn.nix
@@ -0,0 +1,38 @@
+{
+  stdenvNoCC,
+  yarn,
+  cacert,
+  git,
+  version,
+  src,
+  hash,
+}:
+stdenvNoCC.mkDerivation {
+  pname = "element-desktop-yarn-deps";
+  inherit version src;
+
+  nativeBuildInputs = [
+    cacert
+    yarn
+    git
+  ];
+
+  dontInstall = true;
+
+  NODE_EXTRA_CA_CERTS = "${cacert}/etc/ssl/certs/ca-bundle.crt";
+
+  buildPhase = ''
+    export HOME=$(mktemp -d)
+    export YARN_ENABLE_TELEMETRY=0
+
+    yarn install --frozen-lockfile --ignore-platform --skip-integrity-check --ignore-scripts --no-progress --non-interactive
+
+    mkdir -p $out/node_modules
+    cp -r node_modules/* $out/node_modules/
+  '';
+
+  dontPatchShebangs = true;
+
+  outputHash = hash;
+  outputHashMode = "recursive";
+}
diff --git a/pkgs/by-name/el/element-web-unwrapped/element-web-pin.nix b/pkgs/by-name/el/element-web-unwrapped/element-web-pin.nix
index 2fb0517243dc..71084ad29a4b 100644
--- a/pkgs/by-name/el/element-web-unwrapped/element-web-pin.nix
+++ b/pkgs/by-name/el/element-web-unwrapped/element-web-pin.nix
@@ -1,7 +1,7 @@
 {
-  "version" = "1.11.100";
+  "version" = "1.11.103";
   "hashes" = {
-    "webSrcHash" = "sha256-FiYjWOJ50Vhbs9vgEqK64HTVtwSuy4/BZAkPK4c6DXQ=";
-    "webYarnHash" = "sha256-C1yVJHU9ClTJHQfMLkdZEeRWVVu68eJp2kxnIlLinY8=";
+    "webSrcHash" = "sha256-yTqrvKa9B6gJ3+WR6jJSud+L/rGQsm7DkLHuicrI5Es=";
+    "webYarnHash" = "sha256-ys/H9AG1EdGHVMTtluqNSg/aW/OOA9/x79hErgiKef0=";
   };
 }
diff --git a/pkgs/by-name/el/elm-land/package.nix b/pkgs/by-name/el/elm-land/package.nix
index fbdce8928623..92c09252b378 100644
--- a/pkgs/by-name/el/elm-land/package.nix
+++ b/pkgs/by-name/el/elm-land/package.nix
@@ -63,7 +63,6 @@ buildNpmPackage rec {
     homepage = "https://github.com/elm-land/elm-land";
     license = lib.licenses.bsd3;
     maintainers = with lib.maintainers; [
-      domenkozar
       zupo
     ];
     mainProgram = "elm-land";
diff --git a/pkgs/by-name/el/elmerfem/package.nix b/pkgs/by-name/el/elmerfem/package.nix
index 2c3f018cf645..8e91683a6d56 100644
--- a/pkgs/by-name/el/elmerfem/package.nix
+++ b/pkgs/by-name/el/elmerfem/package.nix
@@ -10,15 +10,12 @@
   pkg-config,
   libGL,
   libGLU,
-  opencascade-occt_7_6,
+  opencascade-occt,
   libsForQt5,
   tbb,
   vtkWithQt5,
   llvmPackages,
 }:
-let
-  opencascade-occt = opencascade-occt_7_6;
-in
 stdenv.mkDerivation rec {
   pname = "elmerfem";
   version = "9.0-unstable-2025-05-25";
diff --git a/pkgs/by-name/em/embellish/package.nix b/pkgs/by-name/em/embellish/package.nix
index 7e3ef1eea662..0c7256568c0e 100644
--- a/pkgs/by-name/em/embellish/package.nix
+++ b/pkgs/by-name/em/embellish/package.nix
@@ -15,6 +15,7 @@
   gjs,
   gnome-autoar,
   libsoup_3,
+  nix-update-script,
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "embellish";
@@ -47,6 +48,8 @@ stdenv.mkDerivation (finalAttrs: {
     libsoup_3
   ];
 
+  passthru.updateScript = nix-update-script { };
+
   meta = {
     description = "User-friendly application designed for managing Nerd Fonts on your system";
     longDescription = ''
diff --git a/pkgs/by-name/en/endgame-singularity/package.nix b/pkgs/by-name/en/endgame-singularity/package.nix
index 6712437c60be..6bc2829622be 100644
--- a/pkgs/by-name/en/endgame-singularity/package.nix
+++ b/pkgs/by-name/en/endgame-singularity/package.nix
@@ -10,7 +10,7 @@
 
 let
   pname = "endgame-singularity";
-  version = "1.00-unstable-2025-03-18";
+  version = "1.1";
 
   main_src = fetchFromGitHub {
     owner = "singularity";
diff --git a/pkgs/by-name/en/ente-auth/package.nix b/pkgs/by-name/en/ente-auth/package.nix
index 844fa3b17676..1298325524d5 100644
--- a/pkgs/by-name/en/ente-auth/package.nix
+++ b/pkgs/by-name/en/ente-auth/package.nix
@@ -18,14 +18,14 @@ let
 in
 flutter324.buildFlutterApplication rec {
   pname = "ente-auth";
-  version = "4.3.6";
+  version = "4.4.0";
 
   src = fetchFromGitHub {
     owner = "ente-io";
     repo = "ente";
     sparseCheckout = [ "auth" ];
     tag = "auth-v${version}";
-    hash = "sha256-6S0sgxiPrakqtQ/KoEKR10yWxOk6Rs5MOHjFZXkAbcg=";
+    hash = "sha256-bwLEOmdDiD7X2o9PshDBf+Y1s6KYT7xGhqCu4nNAchI=";
   };
 
   sourceRoot = "${src.name}/auth";
diff --git a/pkgs/by-name/en/ente-auth/pubspec.lock.json b/pkgs/by-name/en/ente-auth/pubspec.lock.json
index 05c9729383a4..8d7e969cb623 100644
--- a/pkgs/by-name/en/ente-auth/pubspec.lock.json
+++ b/pkgs/by-name/en/ente-auth/pubspec.lock.json
@@ -4,17 +4,17 @@
       "dependency": "transitive",
       "description": {
         "name": "_fe_analyzer_shared",
-        "sha256": "16e298750b6d0af7ce8a3ba7c18c69c3785d11b15ec83f6dcd0ad2a0009b3cab",
+        "sha256": "f256b0c0ba6c7577c15e2e4e114755640a875e885099367bf6e012b19314c834",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "76.0.0"
+      "version": "72.0.0"
     },
     "_macros": {
       "dependency": "transitive",
       "description": "dart",
       "source": "sdk",
-      "version": "0.3.3"
+      "version": "0.3.2"
     },
     "adaptive_theme": {
       "dependency": "direct main",
@@ -30,11 +30,11 @@
       "dependency": "transitive",
       "description": {
         "name": "analyzer",
-        "sha256": "1f14db053a8c23e260789e9b0980fa27f2680dd640932cae5e1137cce0e46e1e",
+        "sha256": "b652861553cd3990d8ed361f7979dc6d7053a9ac8843fa73820ab68ce5410139",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "6.11.0"
+      "version": "6.7.0"
     },
     "ansicolor": {
       "dependency": "transitive",
@@ -110,11 +110,11 @@
       "dependency": "transitive",
       "description": {
         "name": "async",
-        "sha256": "d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63",
+        "sha256": "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.12.0"
+      "version": "2.11.0"
     },
     "auto_size_text": {
       "dependency": "direct main",
@@ -160,11 +160,11 @@
       "dependency": "transitive",
       "description": {
         "name": "boolean_selector",
-        "sha256": "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea",
+        "sha256": "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.1.2"
+      "version": "2.1.1"
     },
     "build": {
       "dependency": "transitive",
@@ -250,11 +250,11 @@
       "dependency": "transitive",
       "description": {
         "name": "characters",
-        "sha256": "f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803",
+        "sha256": "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.4.0"
+      "version": "1.3.0"
     },
     "checked_yaml": {
       "dependency": "transitive",
@@ -290,11 +290,11 @@
       "dependency": "transitive",
       "description": {
         "name": "clock",
-        "sha256": "fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b",
+        "sha256": "cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.1.2"
+      "version": "1.1.1"
     },
     "code_builder": {
       "dependency": "transitive",
@@ -310,11 +310,11 @@
       "dependency": "direct main",
       "description": {
         "name": "collection",
-        "sha256": "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76",
+        "sha256": "ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.19.1"
+      "version": "1.18.0"
     },
     "confetti": {
       "dependency": "direct main",
@@ -541,11 +541,11 @@
       "dependency": "transitive",
       "description": {
         "name": "fake_async",
-        "sha256": "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc",
+        "sha256": "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.3.2"
+      "version": "1.3.1"
     },
     "ffi": {
       "dependency": "direct main",
@@ -1176,21 +1176,21 @@
       "dependency": "transitive",
       "description": {
         "name": "leak_tracker",
-        "sha256": "c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec",
+        "sha256": "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "10.0.8"
+      "version": "10.0.5"
     },
     "leak_tracker_flutter_testing": {
       "dependency": "transitive",
       "description": {
         "name": "leak_tracker_flutter_testing",
-        "sha256": "f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573",
+        "sha256": "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.0.9"
+      "version": "3.0.5"
     },
     "leak_tracker_testing": {
       "dependency": "transitive",
@@ -1276,21 +1276,21 @@
       "dependency": "transitive",
       "description": {
         "name": "macros",
-        "sha256": "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656",
+        "sha256": "0acaed5d6b7eab89f63350bccd82119e6c602df0f391260d0e32b5e23db79536",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.1.3-main.0"
+      "version": "0.1.2-main.4"
     },
     "matcher": {
       "dependency": "transitive",
       "description": {
         "name": "matcher",
-        "sha256": "dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2",
+        "sha256": "d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.12.17"
+      "version": "0.12.16+1"
     },
     "material_color_utilities": {
       "dependency": "transitive",
@@ -1316,11 +1316,11 @@
       "dependency": "transitive",
       "description": {
         "name": "meta",
-        "sha256": "e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c",
+        "sha256": "bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.16.0"
+      "version": "1.15.0"
     },
     "mime": {
       "dependency": "transitive",
@@ -1456,11 +1456,11 @@
       "dependency": "direct main",
       "description": {
         "name": "path",
-        "sha256": "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5",
+        "sha256": "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.9.1"
+      "version": "1.9.0"
     },
     "path_drawing": {
       "dependency": "transitive",
@@ -1836,7 +1836,7 @@
       "dependency": "transitive",
       "description": "flutter",
       "source": "sdk",
-      "version": "0.0.0"
+      "version": "0.0.99"
     },
     "sodium": {
       "dependency": "transitive",
@@ -1882,11 +1882,11 @@
       "dependency": "transitive",
       "description": {
         "name": "source_span",
-        "sha256": "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c",
+        "sha256": "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.10.1"
+      "version": "1.10.0"
     },
     "sprintf": {
       "dependency": "transitive",
@@ -1943,11 +1943,11 @@
       "dependency": "transitive",
       "description": {
         "name": "stack_trace",
-        "sha256": "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1",
+        "sha256": "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.12.1"
+      "version": "1.11.1"
     },
     "steam_totp": {
       "dependency": "direct main",
@@ -1973,11 +1973,11 @@
       "dependency": "transitive",
       "description": {
         "name": "stream_channel",
-        "sha256": "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d",
+        "sha256": "ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.1.4"
+      "version": "2.1.2"
     },
     "stream_transform": {
       "dependency": "transitive",
@@ -1993,11 +1993,11 @@
       "dependency": "transitive",
       "description": {
         "name": "string_scanner",
-        "sha256": "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43",
+        "sha256": "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.4.1"
+      "version": "1.2.0"
     },
     "styled_text": {
       "dependency": "direct main",
@@ -2023,21 +2023,21 @@
       "dependency": "transitive",
       "description": {
         "name": "term_glyph",
-        "sha256": "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e",
+        "sha256": "a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.2.2"
+      "version": "1.2.1"
     },
     "test_api": {
       "dependency": "transitive",
       "description": {
         "name": "test_api",
-        "sha256": "fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd",
+        "sha256": "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.7.4"
+      "version": "0.7.2"
     },
     "timezone": {
       "dependency": "transitive",
@@ -2243,11 +2243,11 @@
       "dependency": "transitive",
       "description": {
         "name": "vm_service",
-        "sha256": "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14",
+        "sha256": "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "14.3.1"
+      "version": "14.2.5"
     },
     "watcher": {
       "dependency": "transitive",
@@ -2361,7 +2361,7 @@
     }
   },
   "sdks": {
-    "dart": ">=3.7.0-0 <4.0.0",
+    "dart": ">=3.5.0 <4.0.0",
     "flutter": ">=3.24.0"
   }
 }
diff --git a/pkgs/by-name/en/ente-web/package.nix b/pkgs/by-name/en/ente-web/package.nix
index 45f93496ccf3..ccc8f1652193 100644
--- a/pkgs/by-name/en/ente-web/package.nix
+++ b/pkgs/by-name/en/ente-web/package.nix
@@ -12,7 +12,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "ente-web";
-  version = "1.0.10";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "ente-io";
@@ -20,13 +20,13 @@ stdenv.mkDerivation (finalAttrs: {
     sparseCheckout = [ "web" ];
     tag = "photos-v${finalAttrs.version}";
     fetchSubmodules = true;
-    hash = "sha256-WJz1Weh17DWH5qzMry1uacHBXY9ouIXWRzoiwzIsN0I=";
+    hash = "sha256-rHz/QlH3t+J2oz0s5LuWkgxGZmdiPFZXTuDI5yFajrA=";
   };
   sourceRoot = "${finalAttrs.src.name}/web";
 
   offlineCache = fetchYarnDeps {
     yarnLock = "${finalAttrs.src}/web/yarn.lock";
-    hash = "sha256-9LC5WuS1CBj3vBacXUxJXyPgvZ/zfcihjZpCiH/8Aa0=";
+    hash = "sha256-9BumlPzvG6dmuoFGdCAALzKpJATA3ibb1SkLtofAasI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/en/enzyme/package.nix b/pkgs/by-name/en/enzyme/package.nix
index 4852f686aac4..af7602baa8a9 100644
--- a/pkgs/by-name/en/enzyme/package.nix
+++ b/pkgs/by-name/en/enzyme/package.nix
@@ -7,13 +7,13 @@
 }:
 llvmPackages.stdenv.mkDerivation rec {
   pname = "enzyme";
-  version = "0.0.181";
+  version = "0.0.182";
 
   src = fetchFromGitHub {
     owner = "EnzymeAD";
     repo = "Enzyme";
     rev = "v${version}";
-    hash = "sha256-4wY8gOF49VOrQ/7YbrSyh0M5S7HXxo2kktFrhShskf4=";
+    hash = "sha256-OMLRUVLUeft5WpSj16v9DTkD/jUb0u7zH0yXP2oPUI0=";
   };
 
   postPatch = ''
diff --git a/pkgs/by-name/er/ergo/package.nix b/pkgs/by-name/er/ergo/package.nix
index c575777d2ac1..58216df957f6 100644
--- a/pkgs/by-name/er/ergo/package.nix
+++ b/pkgs/by-name/er/ergo/package.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ergo";
-  version = "5.0.26";
+  version = "5.0.27";
 
   src = fetchurl {
     url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar";
-    sha256 = "sha256-WVrImdtn6UPWMpd6ltUbJGyqnLPud7JuFPuU4lHS8AE=";
+    sha256 = "sha256-cxIgV31++o9Tn5CsEyr4eWcvy8Os8zKHJkwa5EUzr6k=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/by-name/er/erigon/package.nix b/pkgs/by-name/er/erigon/package.nix
index ba1b6370a815..af42b9c3e670 100644
--- a/pkgs/by-name/er/erigon/package.nix
+++ b/pkgs/by-name/er/erigon/package.nix
@@ -51,7 +51,13 @@ buildGoModule {
     "nosilkworm"
   ];
 
-  passthru.updateScript = nix-update-script { };
+  passthru.updateScript = nix-update-script {
+    extraArgs = [
+      # avoid testing‐releases
+      "--version-regex"
+      "^(\\d+\\.\\d+\\.\\d+)$"
+    ];
+  };
 
   meta = with lib; {
     homepage = "https://github.com/ledgerwatch/erigon/";
diff --git a/pkgs/by-name/es/esp-generate/package.nix b/pkgs/by-name/es/esp-generate/package.nix
index b335ff256c18..b0cc10b7d621 100644
--- a/pkgs/by-name/es/esp-generate/package.nix
+++ b/pkgs/by-name/es/esp-generate/package.nix
@@ -6,17 +6,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "esp-generate";
-  version = "0.3.1";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "esp-rs";
     repo = "esp-generate";
     rev = "v${version}";
-    hash = "sha256-yk7iv5nq2b/1OY77818I7mXW96YxjwwJS3iiv1KXVHs=";
+    hash = "sha256-4RF0XcDpUcMQ0u2FTRBnZdQDM7DlaI7pl5HukMbbbBE=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-ncTX9cDSAf6ZGlz0utGYxkuXcx85vt3VHQzdmQhCNf0=";
+  cargoHash = "sha256-c/BYf6SXOdI/K4t3fT4ycuILkIYCiSbHafLprSMvK8E=";
 
   meta = {
     description = "Template generation tool to create no_std applications targeting Espressif's chips";
diff --git a/pkgs/by-name/es/esphome/package.nix b/pkgs/by-name/es/esphome/package.nix
index da6e54c817bf..90425e24d9d4 100644
--- a/pkgs/by-name/es/esphome/package.nix
+++ b/pkgs/by-name/es/esphome/package.nix
@@ -33,14 +33,14 @@ let
 in
 python.pkgs.buildPythonApplication rec {
   pname = "esphome";
-  version = "2025.5.2";
+  version = "2025.6.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "esphome";
     repo = "esphome";
     tag = version;
-    hash = "sha256-p4+OuBGS9OJxxiQ4xOO2WseUrw3yXWyCZn7jilnh06E=";
+    hash = "sha256-tjjBz3XWCRHMCWWaNJ7LIRwBiWYbNaciVKLvQqcy9DM=";
   };
 
   build-systems = with python.pkgs; [
@@ -61,7 +61,7 @@ python.pkgs.buildPythonApplication rec {
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace-fail "setuptools==80.4.0" "setuptools"
+      --replace-fail "setuptools==80.9.0" "setuptools"
   '';
 
   # Remove esptool and platformio from requirements
@@ -136,8 +136,27 @@ python.pkgs.buildPythonApplication rec {
     # race condition, also visible in upstream tests
     # tests/dashboard/test_web_server.py:78: IndexError
     "test_devices_page"
+
+    # platformio builds; requires networking for dependency resolution
+    "test_api_message_size_batching"
+    "test_host_mode_basic"
+    "test_host_mode_batch_delay"
+    "test_host_mode_empty_string_options"
+    "test_host_mode_entity_fields"
+    "test_host_mode_fan_preset"
+    "test_host_mode_many_entities"
+    "test_host_mode_many_entities_multiple_connections"
+    "test_host_mode_noise_encryption"
+    "test_host_mode_noise_encryption_wrong_key"
+    "test_host_mode_reconnect"
+    "test_host_mode_with_sensor"
+    "test_large_message_batching"
   ];
 
+  preCheck = ''
+    export PATH=$PATH:$out/bin
+  '';
+
   postCheck = ''
     $out/bin/esphome --help > /dev/null
   '';
diff --git a/pkgs/by-name/et/ethercat/package.nix b/pkgs/by-name/et/ethercat/package.nix
index 827da0ee1602..711753a848f5 100644
--- a/pkgs/by-name/et/ethercat/package.nix
+++ b/pkgs/by-name/et/ethercat/package.nix
@@ -8,13 +8,13 @@
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "ethercat";
-  version = "1.6.4";
+  version = "1.6.5";
 
   src = fetchFromGitLab {
     owner = "etherlab.org";
     repo = "ethercat";
     rev = "refs/tags/${finalAttrs.version}";
-    hash = "sha256-Sl54LgC6NeAm9wfVGbQBDeSJmpzStal8yq4pmkmKtqs=";
+    hash = "sha256-Kw8tLHYwDsV3U6bk4xXCWANl/6snCLHV0nGgX48pV/Y=";
   };
 
   separateDebugInfo = true;
diff --git a/pkgs/by-name/ev/evcc/package.nix b/pkgs/by-name/ev/evcc/package.nix
index f2671bcb5d73..9a9e72519aa1 100644
--- a/pkgs/by-name/ev/evcc/package.nix
+++ b/pkgs/by-name/ev/evcc/package.nix
@@ -17,16 +17,16 @@
 }:
 
 let
-  version = "0.204.2";
+  version = "0.204.3";
 
   src = fetchFromGitHub {
     owner = "evcc-io";
     repo = "evcc";
     tag = version;
-    hash = "sha256-e0z1DUXEYbfSIcJBI2gpxY2hb0Tak3sFoYOi5WdsQPY=";
+    hash = "sha256-Z8Fac1vIBUJ34hXgOOAo8z91lBCKw+IP1Ff6r+jBtj0=";
   };
 
-  vendorHash = "sha256-dBOZ5kYQxVTWB1CTTF3L+FIsuLnVQmA7Vjid7CdJbeo=";
+  vendorHash = "sha256-n67OSKpMhvgqftoVAqtABfcNgdRSbWjmJv7HSmv3Ev8=";
 
   commonMeta = with lib; {
     license = licenses.mit;
@@ -52,7 +52,7 @@ buildGo124Module rec {
 
   npmDeps = fetchNpmDeps {
     inherit src;
-    hash = "sha256-Hyx9jUVF6aCPD89cxQx7dl77lCfDxcOIZVhSXx0+q0U=";
+    hash = "sha256-6oFvrLY5OM+5YgWRlx28+z2yB+Vo/SkV6ZsD3r3Ckis=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/ev/evolution-data-server/package.nix b/pkgs/by-name/ev/evolution-data-server/package.nix
index f64006f7c529..8d1ce60fd6ef 100644
--- a/pkgs/by-name/ev/evolution-data-server/package.nix
+++ b/pkgs/by-name/ev/evolution-data-server/package.nix
@@ -50,7 +50,7 @@
 
 stdenv.mkDerivation rec {
   pname = "evolution-data-server";
-  version = "3.56.1";
+  version = "3.56.2";
 
   outputs = [
     "out"
@@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution-data-server/${lib.versions.majorMinor version}/evolution-data-server-${version}.tar.xz";
-    hash = "sha256-ZGzAA32j+fKVeUxjfZU5StdvjJvuImi+LEGD4ncgwTc=";
+    hash = "sha256-307CmVDymnbqxvvg+BTEjSzvfT/bkFACpKiD3XYc6Tw=";
   };
 
   patches = [
diff --git a/pkgs/by-name/ex/exercism/package.nix b/pkgs/by-name/ex/exercism/package.nix
index 4676addc2c2b..9cc664db82ca 100644
--- a/pkgs/by-name/ex/exercism/package.nix
+++ b/pkgs/by-name/ex/exercism/package.nix
@@ -8,13 +8,13 @@
 
 buildGoModule rec {
   pname = "exercism";
-  version = "3.5.4";
+  version = "3.5.5";
 
   src = fetchFromGitHub {
     owner = "exercism";
     repo = "cli";
     tag = "v${version}";
-    hash = "sha256-7euitdo/rdeopnP7hHHxQ5lPh8wJVDaTneckeR5BEGo=";
+    hash = "sha256-Xz+yTCFwMKd8P3PKX8e3L+XFvt0ntZrOgxnsnrFio6g=";
   };
 
   vendorHash = "sha256-xY3C3emqtPIKyxIN9aEkrLXhTxWNmo0EJXNZVtbtIvs=";
diff --git a/pkgs/by-name/ex/exoscale-cli/package.nix b/pkgs/by-name/ex/exoscale-cli/package.nix
index a9bf6efbec02..6ad9171daee5 100644
--- a/pkgs/by-name/ex/exoscale-cli/package.nix
+++ b/pkgs/by-name/ex/exoscale-cli/package.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "exoscale-cli";
-  version = "1.84.1";
+  version = "1.85.0";
 
   src = fetchFromGitHub {
     owner = "exoscale";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-Bt/IeZ7w1EAHNKMctugOq5XN2qJEhW26M0KE74baGJc=";
+    sha256 = "sha256-3rIj95EtUuS8a7oN+5DdDkzO0+ztWMlEBeEl73+Tgn4=";
   };
 
   vendorHash = null;
diff --git a/pkgs/by-name/ex/explex-nf/package.nix b/pkgs/by-name/ex/explex-nf/package.nix
new file mode 100644
index 000000000000..7eda2ab8e244
--- /dev/null
+++ b/pkgs/by-name/ex/explex-nf/package.nix
@@ -0,0 +1,31 @@
+{
+  lib,
+  stdenvNoCC,
+  fetchzip,
+}:
+stdenvNoCC.mkDerivation (finalAttrs: {
+  pname = "explex-nf";
+  version = "0.0.3";
+
+  src = fetchzip {
+    url = "https://github.com/yuru7/Explex/releases/download/v${finalAttrs.version}/Explex_NF_v${finalAttrs.version}.zip";
+    hash = "sha256-X4CnYT5B7IyG1Z5Ex6CXCfX7Hz3vNb5bP+vq1Vjx8XI=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm444 ExplexConsole_NF/*.ttf -t $out/share/fonts/truetype/explex-nf-console
+    install -Dm444 Explex35Console_NF/*.ttf -t $out/share/fonts/truetype/explex-nf-35console
+
+    runHook postInstall
+  '';
+  meta = {
+    description = "Composite font of 0xProto, IBM Plex Sans JP and nerd-fonts";
+    homepage = "https://github.com/yuru7/Explex";
+    changelog = "https://github.com/yuru7/Explex/releases/tag/v${finalAttrs.version}";
+    license = lib.licenses.ofl;
+    platforms = lib.platforms.all;
+    maintainers = [ lib.maintainers.r-aizawa ];
+  };
+})
diff --git a/pkgs/by-name/ex/explex/package.nix b/pkgs/by-name/ex/explex/package.nix
new file mode 100644
index 000000000000..606d0842dc75
--- /dev/null
+++ b/pkgs/by-name/ex/explex/package.nix
@@ -0,0 +1,33 @@
+{
+  lib,
+  stdenvNoCC,
+  fetchzip,
+}:
+stdenvNoCC.mkDerivation (finalAttrs: {
+  pname = "explex";
+  version = "0.0.3";
+
+  src = fetchzip {
+    url = "https://github.com/yuru7/Explex/releases/download/v${finalAttrs.version}/Explex_v${finalAttrs.version}.zip";
+    hash = "sha256-OUmzF8GrwVgFAMSEiZLvh85nsOw1a0a7B70u2cRXXO8=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm444 Explex/*.ttf -t $out/share/fonts/truetype/explex
+    install -Dm444 Explex35/*.ttf -t $out/share/fonts/truetype/explex-35
+    install -Dm444 ExplexConsole/*.ttf -t $out/share/fonts/truetype/explex-console
+    install -Dm444 Explex35Console/*.ttf -t $out/share/fonts/truetype/explex-35console
+
+    runHook postInstall
+  '';
+  meta = {
+    description = "Composite font of 0xProto and IBM Plex Sans JP";
+    homepage = "https://github.com/yuru7/Explex";
+    changelog = "https://github.com/yuru7/Explex/releases/tag/v${finalAttrs.version}";
+    license = lib.licenses.ofl;
+    platforms = lib.platforms.all;
+    maintainers = [ lib.maintainers.r-aizawa ];
+  };
+})
diff --git a/pkgs/by-name/ex/exploitdb/package.nix b/pkgs/by-name/ex/exploitdb/package.nix
index 069a9f644a54..c32e0b4b7d1d 100644
--- a/pkgs/by-name/ex/exploitdb/package.nix
+++ b/pkgs/by-name/ex/exploitdb/package.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "exploitdb";
-  version = "2025-06-06";
+  version = "2025-06-14";
 
   src = fetchFromGitLab {
     owner = "exploit-database";
     repo = "exploitdb";
     rev = "refs/tags/${version}";
-    hash = "sha256-DOzhxZZ66p49tECn0z1lGSNHq3GEpEbayhwsiJ6IGG4=";
+    hash = "sha256-znJZK7EhLFg2ImxWqEfvt7Em+M8lAly+oPzrmaGznRU=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/by-name/ex/extundelete/package.nix b/pkgs/by-name/ex/extundelete/package.nix
index 41872f866421..a51282564837 100644
--- a/pkgs/by-name/ex/extundelete/package.nix
+++ b/pkgs/by-name/ex/extundelete/package.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
     homepage = "https://extundelete.sourceforge.net/";
     license = licenses.gpl2Only;
     platforms = platforms.linux;
-    maintainers = [ maintainers.domenkozar ];
+    maintainers = [ ];
     mainProgram = "extundelete";
   };
 }
diff --git a/pkgs/by-name/ey/eyed3/package.nix b/pkgs/by-name/ey/eyed3/package.nix
new file mode 100644
index 000000000000..1dfb0c7b503f
--- /dev/null
+++ b/pkgs/by-name/ey/eyed3/package.nix
@@ -0,0 +1,3 @@
+{ python3Packages }:
+
+python3Packages.toPythonApplication python3Packages.eyed3
diff --git a/pkgs/by-name/ez/eza/package.nix b/pkgs/by-name/ez/eza/package.nix
index 87c02bcacc9c..1d9e4d1049b3 100644
--- a/pkgs/by-name/ez/eza/package.nix
+++ b/pkgs/by-name/ez/eza/package.nix
@@ -15,17 +15,17 @@
 
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "eza";
-  version = "0.21.4";
+  version = "0.21.5";
 
   src = fetchFromGitHub {
     owner = "eza-community";
     repo = "eza";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-lwCZj4EHzgZSAQTnJZizonh4FmKoX3dkYKbIcn1WBHs=";
+    hash = "sha256-Mnd4Hzuzq8aawwDn7qtjbAyM/JLlhtoATF/OUzqQkHc=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-8XkkClXyTT2+py57rSTMNpnuesTujNgHTz6K2gmDHYM=";
+  cargoHash = "sha256-3BNyoKWPmq2CHiBeliUGWpChtSmfJUEmf4JZoYVVpb8=";
 
   nativeBuildInputs = [
     cmake
diff --git a/pkgs/by-name/ez/ezstream/package.nix b/pkgs/by-name/ez/ezstream/package.nix
index 5ea87bb73e51..02b6ceba1e4c 100644
--- a/pkgs/by-name/ez/ezstream/package.nix
+++ b/pkgs/by-name/ez/ezstream/package.nix
@@ -2,38 +2,56 @@
   lib,
   stdenv,
   fetchurl,
-  check,
+
+  # nativeBuildInputs
+  pkg-config,
+
+  # buildInputs
   libiconv,
   libshout,
-  taglib,
   libxml2,
-  pkg-config,
+  taglib,
+
+  # checkInputs
+  check,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "ezstream";
   version = "1.0.2";
 
   src = fetchurl {
-    url = "https://ftp.osuosl.org/pub/xiph/releases/ezstream/${pname}-${version}.tar.gz";
+    url = "https://ftp.osuosl.org/pub/xiph/releases/ezstream/ezstream-${finalAttrs.version}.tar.gz";
     hash = "sha256-Ed6Jf0ValbpYVGvc1AqV072mmGbsX3h5qDsCQSbFTCo=";
   };
 
+  postPatch = lib.optionalString stdenv.hostPlatform.isDarwin ''
+    substituteInPlace src/playlist.c \
+      --replace-fail "#include " $'#include \n#include '
+    substituteInPlace tests/Makefile.am \
+      --replace-fail "check_playlist " ""
+    substituteInPlace tests/check_mdata.c \
+      --replace-fail 'ck_assert_int_eq(mdata_run_program(md, SRCDIR "/test-meta03-huge.sh"), 0);' ""
+  '';
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [
+    check
+    libiconv
+    libshout
+    libxml2
+    check
+    taglib
+  ];
+
   checkInputs = [
     check
   ];
 
-  buildInputs = [
-    libiconv
-    libshout
-    taglib
-    libxml2
-  ];
-  nativeBuildInputs = [ pkg-config ];
-
   doCheck = true;
 
-  meta = with lib; {
+  meta = {
     description = "Command line source client for Icecast media streaming servers";
     longDescription = ''
       Ezstream is a command line source client for Icecast media
@@ -45,8 +63,8 @@ stdenv.mkDerivation rec {
       very little CPU resources.
     '';
     homepage = "https://icecast.org/ezstream/";
-    license = licenses.gpl2Only;
-    maintainers = [ maintainers.barrucadu ];
-    platforms = platforms.all;
+    license = lib.licenses.gpl2Only;
+    maintainers = [ lib.maintainers.barrucadu ];
+    platforms = lib.platforms.all;
   };
-}
+})
diff --git a/pkgs/by-name/fa/fabric-ai/package.nix b/pkgs/by-name/fa/fabric-ai/package.nix
index f438d6558e8b..c9e0b8f93e0d 100644
--- a/pkgs/by-name/fa/fabric-ai/package.nix
+++ b/pkgs/by-name/fa/fabric-ai/package.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "fabric-ai";
-  version = "1.4.196";
+  version = "1.4.209";
 
   src = fetchFromGitHub {
     owner = "danielmiessler";
     repo = "fabric";
     tag = "v${version}";
-    hash = "sha256-g2f8xpS+KA1USt7lArodTo7m7OXnzew2LSFKeVclQOE=";
+    hash = "sha256-kRPFTs3w5MhlCax81GrZ82GWLMTDUiyXOI9lSp4Fwkc=";
   };
 
-  vendorHash = "sha256-xfNvmhHNYpanhZKT9o8kImzw4gzigpgc8ri9O1iOqwc=";
+  vendorHash = "sha256-GkAehT2oFG8cGe+PkceZios3ZG9S0CZs4L7slX+Dkck=";
 
   # Fabric introduced plugin tests that fail in the nix build sandbox.
   doCheck = false;
diff --git a/pkgs/by-name/fa/factorio/versions.json b/pkgs/by-name/fa/factorio/versions.json
index f8f6ea32e40f..234b3816a717 100644
--- a/pkgs/by-name/fa/factorio/versions.json
+++ b/pkgs/by-name/fa/factorio/versions.json
@@ -3,25 +3,25 @@
     "alpha": {
       "experimental": {
         "candidateHashFilenames": [
-          "factorio_linux_2.0.45.tar.xz"
+          "factorio_linux_2.0.55.tar.xz"
         ],
-        "name": "factorio_alpha_x64-2.0.45.tar.xz",
+        "name": "factorio_alpha_x64-2.0.55.tar.xz",
         "needsAuth": true,
-        "sha256": "32b004a648dfc8b8e2bb6b82f648e5be458a13b7fefad79487a1d663c6f3b711",
+        "sha256": "f9f4821809a2a2a475683e820853f65b1105a6910e72b4a192843244fedc4819",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/2.0.45/alpha/linux64",
-        "version": "2.0.45"
+        "url": "https://factorio.com/get-download/2.0.55/alpha/linux64",
+        "version": "2.0.55"
       },
       "stable": {
         "candidateHashFilenames": [
-          "factorio_linux_2.0.43.tar.xz"
+          "factorio_linux_2.0.55.tar.xz"
         ],
-        "name": "factorio_alpha_x64-2.0.43.tar.xz",
+        "name": "factorio_alpha_x64-2.0.55.tar.xz",
         "needsAuth": true,
-        "sha256": "971c293f46d2e021be762eb23c45c17746aa5b8ec74e30fef5f46fa32bb7e1aa",
+        "sha256": "f9f4821809a2a2a475683e820853f65b1105a6910e72b4a192843244fedc4819",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/2.0.43/alpha/linux64",
-        "version": "2.0.43"
+        "url": "https://factorio.com/get-download/2.0.55/alpha/linux64",
+        "version": "2.0.55"
       }
     },
     "demo": {
@@ -51,51 +51,51 @@
     "expansion": {
       "experimental": {
         "candidateHashFilenames": [
-          "factorio-space-age_linux_2.0.45.tar.xz"
+          "factorio-space-age_linux_2.0.55.tar.xz"
         ],
-        "name": "factorio_expansion_x64-2.0.45.tar.xz",
+        "name": "factorio_expansion_x64-2.0.55.tar.xz",
         "needsAuth": true,
-        "sha256": "7a81be62a051b80166c9f6c9e94fca2e19a0ac65f19769f99a624772f87cdab4",
+        "sha256": "4c70f5dba5ad7236b56163e5224bea2bcfa08c16d6e2ea2b55f55dd118517a95",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/2.0.45/expansion/linux64",
-        "version": "2.0.45"
+        "url": "https://factorio.com/get-download/2.0.55/expansion/linux64",
+        "version": "2.0.55"
       },
       "stable": {
         "candidateHashFilenames": [
-          "factorio-space-age_linux_2.0.43.tar.xz"
+          "factorio-space-age_linux_2.0.55.tar.xz"
         ],
-        "name": "factorio_expansion_x64-2.0.43.tar.xz",
+        "name": "factorio_expansion_x64-2.0.55.tar.xz",
         "needsAuth": true,
-        "sha256": "43d98f9dfa4edc15a622b9881f71673902710ef8aa12cccc7f6e8ccd7962488e",
+        "sha256": "4c70f5dba5ad7236b56163e5224bea2bcfa08c16d6e2ea2b55f55dd118517a95",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/2.0.43/expansion/linux64",
-        "version": "2.0.43"
+        "url": "https://factorio.com/get-download/2.0.55/expansion/linux64",
+        "version": "2.0.55"
       }
     },
     "headless": {
       "experimental": {
         "candidateHashFilenames": [
-          "factorio-headless_linux_2.0.45.tar.xz",
-          "factorio_headless_x64_2.0.45.tar.xz"
+          "factorio-headless_linux_2.0.55.tar.xz",
+          "factorio_headless_x64_2.0.55.tar.xz"
         ],
-        "name": "factorio_headless_x64-2.0.45.tar.xz",
+        "name": "factorio_headless_x64-2.0.55.tar.xz",
         "needsAuth": false,
-        "sha256": "4fd7e04bb3ea7d12da8e1c3befc6b53b3c0064775c960a5a9db6a943f2259fc2",
+        "sha256": "ef12a54d1556ae1f84ff99edc23706d13b7ad41f1c02d74ca1dfadf9448fcbae",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/2.0.45/headless/linux64",
-        "version": "2.0.45"
+        "url": "https://factorio.com/get-download/2.0.55/headless/linux64",
+        "version": "2.0.55"
       },
       "stable": {
         "candidateHashFilenames": [
-          "factorio-headless_linux_2.0.43.tar.xz",
-          "factorio_headless_x64_2.0.43.tar.xz"
+          "factorio-headless_linux_2.0.55.tar.xz",
+          "factorio_headless_x64_2.0.55.tar.xz"
         ],
-        "name": "factorio_headless_x64-2.0.43.tar.xz",
+        "name": "factorio_headless_x64-2.0.55.tar.xz",
         "needsAuth": false,
-        "sha256": "bde6e167330c4439ce7df3ac519ea445120258ef676f1f6ad31d0c2816d3aee3",
+        "sha256": "ef12a54d1556ae1f84ff99edc23706d13b7ad41f1c02d74ca1dfadf9448fcbae",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/2.0.43/headless/linux64",
-        "version": "2.0.43"
+        "url": "https://factorio.com/get-download/2.0.55/headless/linux64",
+        "version": "2.0.55"
       }
     }
   }
diff --git a/pkgs/by-name/fa/factoriolab/package.nix b/pkgs/by-name/fa/factoriolab/package.nix
index d97ba8802228..fb2e7d0610fc 100644
--- a/pkgs/by-name/fa/factoriolab/package.nix
+++ b/pkgs/by-name/fa/factoriolab/package.nix
@@ -10,13 +10,13 @@
 }:
 buildNpmPackage rec {
   pname = "factoriolab";
-  version = "3.14.0";
+  version = "3.15.0";
 
   src = fetchFromGitHub {
     owner = "factoriolab";
     repo = "factoriolab";
     tag = "v${version}";
-    hash = "sha256-tGjjZ4s7P+r9yYEjQkxY1RdLuuIwgCQlPOcOayWPygo=";
+    hash = "sha256-HWt3BxW2nBgnJ+BzsL+JpFfrLht2Yl/Btbre6EfM9F4=";
   };
   buildInputs = [ vips ];
   nativeBuildInputs = [
diff --git a/pkgs/by-name/fa/faircamp/package.nix b/pkgs/by-name/fa/faircamp/package.nix
index 6508f3fe4c77..34f906501b14 100644
--- a/pkgs/by-name/fa/faircamp/package.nix
+++ b/pkgs/by-name/fa/faircamp/package.nix
@@ -15,19 +15,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "faircamp";
-  version = "1.4.0";
+  version = "1.4.2";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "simonrepp";
     repo = "faircamp";
     rev = version;
-    hash = "sha256-41mec9AdNdWRJz+5xFU7to/4LxIb7fEgm1EQVMAtyto=";
+    hash = "sha256-68wo95SjiCBS8cikMGZpnpYx7AqyIQ/szXMorirwVPk=";
   };
 
   useFetchCargoVendor = true;
 
-  cargoHash = "sha256-xLRoI4MN1DApL4jXBXnMzsqTaOVUn2FZy3o2mTetvJ8=";
+  cargoHash = "sha256-YyzzkWgjEKl46CfAkbFdum+AWCO0YGTXDh86mtHtCQs=";
 
   buildFeatures = [ "libvips" ];
 
diff --git a/pkgs/by-name/fa/fakeroot/package.nix b/pkgs/by-name/fa/fakeroot/package.nix
index 414880911221..a7fbca8e3305 100644
--- a/pkgs/by-name/fa/fakeroot/package.nix
+++ b/pkgs/by-name/fa/fakeroot/package.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation (finalAttrs: {
     autoreconfHook
     po4a
   ];
-  buildInputs = lib.optional (!stdenv.hostPlatform.isDarwin) libcap;
+  buildInputs = lib.optional stdenv.hostPlatform.isLinux libcap;
 
   postUnpack = ''
     sed -i \
diff --git a/pkgs/by-name/fa/famistudio/package.nix b/pkgs/by-name/fa/famistudio/package.nix
index c7e7d9344884..e2b08bb320d8 100644
--- a/pkgs/by-name/fa/famistudio/package.nix
+++ b/pkgs/by-name/fa/famistudio/package.nix
@@ -7,6 +7,7 @@
   fetchFromGitHub,
   ffmpeg,
   glfw,
+  gtk3,
   libglvnd,
   libogg,
   libvorbis,
@@ -28,13 +29,13 @@ let
 in
 buildDotnetModule (finalAttrs: {
   pname = "famistudio";
-  version = "4.3.3";
+  version = "4.4.0";
 
   src = fetchFromGitHub {
     owner = "BleuBleu";
     repo = "FamiStudio";
     tag = finalAttrs.version;
-    hash = "sha256-jxxZIWdP/j707Zxv/3UESMDIdnsP5h4XLhyYepl6CkI=";
+    hash = "sha256-QKgKPXb7NgbN37oCrwW9cLn701nsu55EsVXzOOKyc0A=";
   };
 
   postPatch =
@@ -134,6 +135,7 @@ buildDotnetModule (finalAttrs: {
   dotnet-sdk = dotnetCorePackages.sdk_8_0;
 
   runtimeDeps = lib.optionals stdenvNoCC.hostPlatform.isLinux [
+    gtk3
     libglvnd
   ];
 
diff --git a/pkgs/by-name/fa/fan2go/lazy-binding.patch b/pkgs/by-name/fa/fan2go/lazy-binding.patch
new file mode 100644
index 000000000000..fc5d07fd2e1d
--- /dev/null
+++ b/pkgs/by-name/fa/fan2go/lazy-binding.patch
@@ -0,0 +1,18 @@
+diff --git a/Makefile b/Makefile
+index c92df71..724911a 100644
+--- a/Makefile
++++ b/Makefile
+@@ -10,11 +10,12 @@ DATE       ?= $(shell date -u -d @${SOURCE_DATE_EPOCH} +"%Y-%m-%dT%H:%M:%SZ")
+ VERSION    ?= 0.10.0
+ 
+ test:   ## Run all tests
+-	@go clean --testcache && go test -v ./...
++	@go clean --testcache && go test -ldflags -extldflags=-Wl,-z,lazy -v ./...
+ 
+ build:  ## Builds the CLI
+ 	@go build ${GO_FLAGS} \
+ 	-ldflags "-w -s \
++	-extldflags=-Wl,-z,lazy \
+ 	-X ${NAME}/cmd/global.Version=${VERSION} \
+ 	-X ${PACKAGE}/cmd/global.Version=${VERSION} \
+ 	-X ${NAME}/cmd/global.Commit=${GIT_REV} \
diff --git a/pkgs/by-name/fa/fan2go/package.nix b/pkgs/by-name/fa/fan2go/package.nix
index ff54086d9a5c..08c9ab25b497 100644
--- a/pkgs/by-name/fa/fan2go/package.nix
+++ b/pkgs/by-name/fa/fan2go/package.nix
@@ -1,25 +1,33 @@
 {
-  buildGo123Module,
+  buildGoModule,
   fetchFromGitHub,
   lib,
   lm_sensors,
 }:
 
-buildGo123Module rec {
+buildGoModule rec {
   pname = "fan2go";
-  version = "0.9.0";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "markusressel";
     repo = "fan2go";
-    rev = version;
-    hash = "sha256-eSHeHBzDvzsDAck0zexwR8drasisvlQNTeowv92E2uc=";
+    tag = version;
+    hash = "sha256-mLypuOGjYrXFf3BGCDggEDk1+PVx2CgsxAjZQ7uiSW0=";
+    leaveDotGit = true;
+    postFetch = ''
+      cd $out
+      git rev-parse --short HEAD > $out/GIT_REV
+      find $out -name .git -print0 | xargs -0 rm -rf
+    '';
   };
 
-  vendorHash = "sha256-ad0e/cxbcU/KfPDOdD46KdCcvns83dgGDAyLLQiGyiA=";
+  vendorHash = "sha256-IJJTolpOtstVov8MNel6EOJqv1oCkTOTiPyW42ElQjc=";
 
   buildInputs = [ lm_sensors ];
 
+  patches = [ ./lazy-binding.patch ];
+
   postConfigure = ''
     substituteInPlace vendor/github.com/md14454/gosensors/gosensors.go \
       --replace-fail '"/etc/sensors3.conf"' '"${lib.getLib lm_sensors}/etc/sensors3.conf"'
@@ -30,6 +38,24 @@ buildGo123Module rec {
     rm internal/fans/cmd_test.go
   '';
 
+  buildPhase = ''
+    runHook preBuild
+
+    make build GIT_REV="$(cat GIT_REV)"
+
+    dir="$GOPATH/bin"
+    mkdir -p "$dir"
+    cp bin/fan2go "$dir"
+
+    runHook postBuild
+  '';
+
+  checkPhase = ''
+    runHook preCheck
+    make test
+    runHook postCheck
+  '';
+
   meta = with lib; {
     description = "Simple daemon providing dynamic fan speed control based on temperature sensors";
     mainProgram = "fan2go";
diff --git a/pkgs/by-name/fa/fanficfare/package.nix b/pkgs/by-name/fa/fanficfare/package.nix
index 25590da452a1..4900e7b92513 100644
--- a/pkgs/by-name/fa/fanficfare/package.nix
+++ b/pkgs/by-name/fa/fanficfare/package.nix
@@ -6,12 +6,12 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "fanficfare";
-  version = "4.45.0";
+  version = "4.46.0";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-KCKuPaXH9EqcqrRucJcvDrIEqKE4sx/evkIfoqVcZ4g=";
+    hash = "sha256-stJ3vnPwUL6fh0B09EiL42CLdEDQujqYZ9cbUR+LFcY=";
   };
 
   nativeBuildInputs = with python3Packages; [
diff --git a/pkgs/by-name/fa/fastchess/package.nix b/pkgs/by-name/fa/fastchess/package.nix
new file mode 100644
index 000000000000..2c4d69075f33
--- /dev/null
+++ b/pkgs/by-name/fa/fastchess/package.nix
@@ -0,0 +1,46 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  lowdown-unsandboxed,
+  nix-update-script,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "fastchess";
+  version = "1.4.0-alpha";
+
+  src = fetchFromGitHub {
+    owner = "Disservin";
+    repo = "fastchess";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-fzNpanfeXk7eKftzcs5MIaDBvzumaMQIhhQ8IDFjwPQ=";
+  };
+
+  nativeBuildInputs = [
+    lowdown-unsandboxed
+  ];
+
+  postPatch = ''
+    substituteInPlace app/Makefile \
+      --replace "-march=native" ""
+  '';
+
+  makeFlags = [
+    "PREFIX=${placeholder "out"}"
+    "CXX=${stdenv.cc.targetPrefix}c++"
+  ];
+
+  passthru = {
+    updateScript = nix-update-script { };
+  };
+
+  meta = {
+    description = "Versatile command-line tool designed for running chess engine tournaments";
+    homepage = "https://github.com/Disservin/fastchess";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ Zirconium419122 ];
+    platforms = with lib.platforms; unix ++ windows;
+    mainProgram = "fastchess";
+  };
+})
diff --git a/pkgs/by-name/fa/fastcov/package.nix b/pkgs/by-name/fa/fastcov/package.nix
index a118d28f7128..861199298db3 100644
--- a/pkgs/by-name/fa/fastcov/package.nix
+++ b/pkgs/by-name/fa/fastcov/package.nix
@@ -32,7 +32,7 @@ python3Packages.buildPythonPackage rec {
   dontUseCmakeConfigure = true; # cmake is used for testing
 
   nativeCheckInputs = with python3Packages; [
-    pytest
+    pytestCheckHook
     pytest-cov-stub
   ];
 
diff --git a/pkgs/by-name/fa/fastfetch/package.nix b/pkgs/by-name/fa/fastfetch/package.nix
index d770b96376b8..d23690f03995 100644
--- a/pkgs/by-name/fa/fastfetch/package.nix
+++ b/pkgs/by-name/fa/fastfetch/package.nix
@@ -59,13 +59,13 @@
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "fastfetch";
-  version = "2.45.0";
+  version = "2.46.0";
 
   src = fetchFromGitHub {
     owner = "fastfetch-cli";
     repo = "fastfetch";
     tag = finalAttrs.version;
-    hash = "sha256-HDr4goUvAKeMk2UGmF2ON72ETQQipNwLfsvyB+f74LE=";
+    hash = "sha256-gRDG3lbUcApUushUPCpTkzc6FOB/CHrsVZwdRn6IEL8=";
   };
 
   outputs = [
diff --git a/pkgs/misc/fastly/default.nix b/pkgs/by-name/fa/fastly/package.nix
similarity index 93%
rename from pkgs/misc/fastly/default.nix
rename to pkgs/by-name/fa/fastly/package.nix
index b91f35595517..184861961908 100644
--- a/pkgs/misc/fastly/default.nix
+++ b/pkgs/by-name/fa/fastly/package.nix
@@ -11,13 +11,13 @@
 
 buildGoModule rec {
   pname = "fastly";
-  version = "11.2.0";
+  version = "11.3.0";
 
   src = fetchFromGitHub {
     owner = "fastly";
     repo = "cli";
     tag = "v${version}";
-    hash = "sha256-2bZEPwAj9K3ubKoM0P1xRS/NmJp+CMRYo7tXk6miRRs=";
+    hash = "sha256-SFBKu30C92BbbwSlmlRU/66mBywROktWUiw8fltFXoA=";
     # The git commit is part of the `fastly version` original output;
     # leave that output the same in nixpkgs. Use the `.git` directory
     # to retrieve the commit SHA, and remove the directory afterwards,
@@ -34,7 +34,7 @@ buildGoModule rec {
     "cmd/fastly"
   ];
 
-  vendorHash = "sha256-dmUqlkBwnz4/u3vOxNfk/rMFuPwB5OoHz5/xjYnffRk=";
+  vendorHash = "sha256-ypimv9xi3mKL6xmmkAYdUO+lspafXpJsP8StaniboE0=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/by-name/fa/fastp/package.nix b/pkgs/by-name/fa/fastp/package.nix
index 0b8e61a53f26..ee532d7248df 100644
--- a/pkgs/by-name/fa/fastp/package.nix
+++ b/pkgs/by-name/fa/fastp/package.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fastp";
-  version = "0.26.0";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "OpenGene";
     repo = "fastp";
     rev = "v${version}";
-    sha256 = "sha256-DrvY2FqTlQU3mJkBp/gM+GHlBlumfYRZItpphaF1xfs=";
+    sha256 = "sha256-oUThNtxM5zQgC4k3igrzYbFsza8d6E0U/o7w0FC8J3o=";
   };
 
   buildInputs = [
diff --git a/pkgs/by-name/fa/faudio/package.nix b/pkgs/by-name/fa/faudio/package.nix
index 4bc13c6f2c03..ce32ccba93ee 100644
--- a/pkgs/by-name/fa/faudio/package.nix
+++ b/pkgs/by-name/fa/faudio/package.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "faudio";
-  version = "25.04";
+  version = "25.06";
 
   src = fetchFromGitHub {
     owner = "FNA-XNA";
     repo = "FAudio";
     tag = finalAttrs.version;
-    hash = "sha256-nYpolFizEWCSI/YENViMKDu7ExpFpPivH5RnS7PMfkA=";
+    hash = "sha256-wIFUOOpI/kUeXjodHwt1KZ30ooSYEGrZ8XSW0zOm3xk=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/by-name/fb/fbv/package.nix b/pkgs/by-name/fb/fbv/package.nix
index 16b813a2c1de..d1e51bc32807 100644
--- a/pkgs/by-name/fb/fbv/package.nix
+++ b/pkgs/by-name/fb/fbv/package.nix
@@ -1,39 +1,28 @@
 {
   lib,
   stdenv,
-  fetchurl,
-  fetchpatch,
+  fetchFromGitHub,
   getopt,
   libjpeg,
   libpng12,
-  giflib,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "fbv";
-  version = "1.0b";
+  version = "1.0c";
 
-  src = fetchurl {
-    url = "http://s-tech.elsat.net.pl/fbv/fbv-${version}.tar.gz";
-    sha256 = "0g5b550vk11l639y8p5sx1v1i6ihgqk0x1hd0ri1bc2yzpdbjmcv";
+  src = fetchFromGitHub {
+    owner = "jstkdng";
+    repo = "fbv";
+    tag = finalAttrs.version;
+    hash = "sha256-4tAIFklKsx2uI+FQjq9vdolYm6d6YWugioG6k2ZUMrs=";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/void-linux/void-packages/4a5bfe522ea5afd8203e804dc6a642d0871cd6dd/srcpkgs/fbv/patches/giflib-5.1.patch";
-      sha256 = "00q1zcn92yvvyij68bnq0m1sr3a411w914f4nyp6mpz0j5xc6dc7";
-    })
-  ];
-
-  patchFlags = [ "-p0" ];
-
   buildInputs = [
     getopt
     libjpeg
     libpng12
-    giflib
   ];
-  makeFlags = [ "LDFLAGS=-lgif" ];
 
   enableParallelBuilding = true;
 
@@ -41,11 +30,11 @@ stdenv.mkDerivation rec {
     mkdir -p $out/{bin,man/man1}
   '';
 
-  meta = with lib; {
+  meta = {
     description = "View pictures on a linux framebuffer device";
-    homepage = "http://s-tech.elsat.net.pl/fbv/";
-    license = licenses.gpl2Only;
-    maintainers = with maintainers; [ peterhoeg ];
+    homepage = "https://github.com/jstkdng/fbv";
+    license = lib.licenses.gpl2Only;
+    maintainers = with lib.maintainers; [ peterhoeg ];
     mainProgram = "fbv";
   };
-}
+})
diff --git a/pkgs/by-name/fc/fcitx5-pinyin-moegirl/package.nix b/pkgs/by-name/fc/fcitx5-pinyin-moegirl/package.nix
index c8aee9eb36f1..8b014ae1902b 100644
--- a/pkgs/by-name/fc/fcitx5-pinyin-moegirl/package.nix
+++ b/pkgs/by-name/fc/fcitx5-pinyin-moegirl/package.nix
@@ -6,11 +6,11 @@
 }:
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "fcitx5-pinyin-moegirl";
-  version = "20250509";
+  version = "20250610";
 
   src = fetchurl {
     url = "https://github.com/outloudvi/mw2fcitx/releases/download/${finalAttrs.version}/moegirl.dict";
-    hash = "sha256-M0oquFoR44IRY3dvTjpZ48tRTi+OP+GqMfb5sdUcurY=";
+    hash = "sha256-krtBLVcF6qKQ7xIUuJsxYmbBlFXezzGXczg9Th0NPYo=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/by-name/fe/fedigroups/Cargo.lock b/pkgs/by-name/fe/fedigroups/Cargo.lock
deleted file mode 100644
index 6a2cfdce28d4..000000000000
--- a/pkgs/by-name/fe/fedigroups/Cargo.lock
+++ /dev/null
@@ -1,2525 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 3
-
-[[package]]
-name = "aho-corasick"
-version = "0.7.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "ansi_term"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
-dependencies = [
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "anyhow"
-version = "1.0.55"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "159bb86af3a200e19a068f4224eae4c8bb2d0fa054c7e5d1cacd5cef95e684cd"
-
-[[package]]
-name = "atty"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-dependencies = [
- "hermit-abi",
- "libc",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "autocfg"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b671c8fb71b457dd4ae18c4ba1e59aa81793daacc361d82fcd410cef0d491875"
-
-[[package]]
-name = "autocfg"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
-
-[[package]]
-name = "base64"
-version = "0.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643"
-dependencies = [
- "byteorder",
- "safemem",
-]
-
-[[package]]
-name = "base64"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
-dependencies = [
- "byteorder",
-]
-
-[[package]]
-name = "base64"
-version = "0.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
-
-[[package]]
-name = "bitflags"
-version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
-
-[[package]]
-name = "block-buffer"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b"
-dependencies = [
- "block-padding",
- "byte-tools",
- "byteorder",
- "generic-array 0.12.4",
-]
-
-[[package]]
-name = "block-buffer"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"
-dependencies = [
- "generic-array 0.14.5",
-]
-
-[[package]]
-name = "block-padding"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5"
-dependencies = [
- "byte-tools",
-]
-
-[[package]]
-name = "bumpalo"
-version = "3.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37ccbd214614c6783386c1af30caf03192f17891059cecc394b4fb119e363de3"
-
-[[package]]
-name = "byte-tools"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
-
-[[package]]
-name = "byteorder"
-version = "1.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
-
-[[package]]
-name = "bytes"
-version = "0.4.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c"
-dependencies = [
- "byteorder",
- "iovec",
-]
-
-[[package]]
-name = "bytes"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8"
-
-[[package]]
-name = "cc"
-version = "1.0.73"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
-
-[[package]]
-name = "cfg-if"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
-
-[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
-name = "chrono"
-version = "0.4.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73"
-dependencies = [
- "libc",
- "num-integer",
- "num-traits",
- "serde",
- "time",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "clap"
-version = "2.34.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
-dependencies = [
- "ansi_term",
- "atty",
- "bitflags",
- "strsim",
- "textwrap",
- "unicode-width",
- "vec_map",
-]
-
-[[package]]
-name = "cloudabi"
-version = "0.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
-dependencies = [
- "bitflags",
-]
-
-[[package]]
-name = "core-foundation"
-version = "0.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
-dependencies = [
- "core-foundation-sys",
- "libc",
-]
-
-[[package]]
-name = "core-foundation-sys"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
-
-[[package]]
-name = "cpufeatures"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "280a9f2d8b3a38871a3c8a46fb80db65e5e5ed97da80c4d08bf27fb63e35e181"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "crossbeam-utils"
-version = "0.6.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
-dependencies = [
- "cfg-if 0.1.10",
- "lazy_static",
-]
-
-[[package]]
-name = "digest"
-version = "0.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
-dependencies = [
- "generic-array 0.12.4",
-]
-
-[[package]]
-name = "digest"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"
-dependencies = [
- "generic-array 0.14.5",
-]
-
-[[package]]
-name = "doc-comment"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "923dea538cea0aa3025e8685b20d6ee21ef99c4f77e954a30febbaac5ec73a97"
-
-[[package]]
-name = "dtoa"
-version = "0.4.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0"
-
-[[package]]
-name = "elefren"
-version = "0.22.0"
-source = "git+https://git.ondrovo.com/MightyPork/elefren-fork.git?rev=b10e5935ae32f4756b19e9ca58b78a5382f865d1#b10e5935ae32f4756b19e9ca58b78a5382f865d1"
-dependencies = [
- "chrono",
- "doc-comment",
- "futures-util",
- "hyper-old-types",
- "isolang",
- "log 0.4.17",
- "reqwest",
- "serde",
- "serde_json",
- "serde_qs",
- "serde_urlencoded 0.6.1",
- "thiserror",
- "tokio",
- "tokio-stream",
- "tokio-tungstenite",
- "tokio-util 0.6.7",
- "toml",
- "url 2.2.2",
-]
-
-[[package]]
-name = "encoding_rs"
-version = "0.8.31"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b"
-dependencies = [
- "cfg-if 1.0.0",
-]
-
-[[package]]
-name = "env_logger"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3"
-dependencies = [
- "atty",
- "humantime",
- "log 0.4.17",
- "regex",
- "termcolor",
-]
-
-[[package]]
-name = "fake-simd"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
-
-[[package]]
-name = "fastrand"
-version = "1.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf"
-dependencies = [
- "instant",
-]
-
-[[package]]
-name = "fedigroups"
-version = "0.4.5"
-dependencies = [
- "anyhow",
- "clap",
- "elefren",
- "env_logger",
- "futures 0.3.21",
- "json5",
- "log 0.4.17",
- "native-tls",
- "once_cell",
- "regex",
- "serde",
- "serde_json",
- "thiserror",
- "tokio",
- "tokio-stream",
- "voca_rs",
- "websocket",
-]
-
-[[package]]
-name = "fnv"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-
-[[package]]
-name = "foreign-types"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
-dependencies = [
- "foreign-types-shared",
-]
-
-[[package]]
-name = "foreign-types-shared"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
-
-[[package]]
-name = "form_urlencoded"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191"
-dependencies = [
- "matches",
- "percent-encoding 2.1.0",
-]
-
-[[package]]
-name = "fuchsia-cprng"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
-
-[[package]]
-name = "fuchsia-zircon"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
-dependencies = [
- "bitflags",
- "fuchsia-zircon-sys",
-]
-
-[[package]]
-name = "fuchsia-zircon-sys"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
-
-[[package]]
-name = "futures"
-version = "0.1.31"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678"
-
-[[package]]
-name = "futures"
-version = "0.3.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f73fe65f54d1e12b726f517d3e2135ca3125a437b6d998caf1962961f7172d9e"
-dependencies = [
- "futures-channel",
- "futures-core",
- "futures-executor",
- "futures-io",
- "futures-sink",
- "futures-task",
- "futures-util",
-]
-
-[[package]]
-name = "futures-channel"
-version = "0.3.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010"
-dependencies = [
- "futures-core",
- "futures-sink",
-]
-
-[[package]]
-name = "futures-core"
-version = "0.3.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3"
-
-[[package]]
-name = "futures-executor"
-version = "0.3.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9420b90cfa29e327d0429f19be13e7ddb68fa1cccb09d65e5706b8c7a749b8a6"
-dependencies = [
- "futures-core",
- "futures-task",
- "futures-util",
-]
-
-[[package]]
-name = "futures-io"
-version = "0.3.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc4045962a5a5e935ee2fdedaa4e08284547402885ab326734432bed5d12966b"
-
-[[package]]
-name = "futures-macro"
-version = "0.3.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33c1e13800337f4d4d7a316bf45a567dbcb6ffe087f16424852d97e97a91f512"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "futures-sink"
-version = "0.3.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868"
-
-[[package]]
-name = "futures-task"
-version = "0.3.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a"
-
-[[package]]
-name = "futures-util"
-version = "0.3.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a"
-dependencies = [
- "futures-channel",
- "futures-core",
- "futures-io",
- "futures-macro",
- "futures-sink",
- "futures-task",
- "memchr",
- "pin-project-lite",
- "pin-utils",
- "slab",
-]
-
-[[package]]
-name = "generic-array"
-version = "0.12.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd"
-dependencies = [
- "typenum",
-]
-
-[[package]]
-name = "generic-array"
-version = "0.14.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803"
-dependencies = [
- "typenum",
- "version_check 0.9.4",
-]
-
-[[package]]
-name = "getrandom"
-version = "0.2.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6"
-dependencies = [
- "cfg-if 1.0.0",
- "libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
-]
-
-[[package]]
-name = "h2"
-version = "0.3.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37a82c6d637fc9515a4694bbf1cb2457b79d81ce52b3108bdeea58b07dd34a57"
-dependencies = [
- "bytes 1.1.0",
- "fnv",
- "futures-core",
- "futures-sink",
- "futures-util",
- "http",
- "indexmap",
- "slab",
- "tokio",
- "tokio-util 0.7.3",
- "tracing",
-]
-
-[[package]]
-name = "hashbrown"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db0d4cf898abf0081f964436dc980e96670a0f36863e4b83aaacdb65c9d7ccc3"
-
-[[package]]
-name = "hermit-abi"
-version = "0.1.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "http"
-version = "0.2.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399"
-dependencies = [
- "bytes 1.1.0",
- "fnv",
- "itoa 1.0.2",
-]
-
-[[package]]
-name = "http-body"
-version = "0.4.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
-dependencies = [
- "bytes 1.1.0",
- "http",
- "pin-project-lite",
-]
-
-[[package]]
-name = "httparse"
-version = "1.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "496ce29bb5a52785b44e0f7ca2847ae0bb839c9bd28f69acac9b99d461c0c04c"
-
-[[package]]
-name = "httpdate"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
-
-[[package]]
-name = "humantime"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
-
-[[package]]
-name = "hyper"
-version = "0.10.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a0652d9a2609a968c14be1a9ea00bf4b1d64e2e1f53a1b51b6fff3a6e829273"
-dependencies = [
- "base64 0.9.3",
- "httparse",
- "language-tags",
- "log 0.3.9",
- "mime 0.2.6",
- "num_cpus",
- "time",
- "traitobject",
- "typeable",
- "unicase 1.4.2",
- "url 1.7.2",
-]
-
-[[package]]
-name = "hyper"
-version = "0.14.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42dc3c131584288d375f2d07f822b0cb012d8c6fb899a5b9fdb3cb7eb9b6004f"
-dependencies = [
- "bytes 1.1.0",
- "futures-channel",
- "futures-core",
- "futures-util",
- "h2",
- "http",
- "http-body",
- "httparse",
- "httpdate",
- "itoa 1.0.2",
- "pin-project-lite",
- "socket2",
- "tokio",
- "tower-service",
- "tracing",
- "want",
-]
-
-[[package]]
-name = "hyper-old-types"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6896be51ecf3966c0fa14ff2da3233dbb9aef57ccea1be1afe55f105f4d4c9c4"
-dependencies = [
- "base64 0.9.3",
- "bytes 0.4.12",
- "httparse",
- "language-tags",
- "log 0.4.17",
- "mime 0.3.16",
- "percent-encoding 1.0.1",
- "time",
- "unicase 2.6.0",
-]
-
-[[package]]
-name = "hyper-rustls"
-version = "0.22.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f9f7a97316d44c0af9b0301e65010573a853a9fc97046d7331d7f6bc0fd5a64"
-dependencies = [
- "futures-util",
- "hyper 0.14.19",
- "log 0.4.17",
- "rustls",
- "tokio",
- "tokio-rustls",
- "webpki",
-]
-
-[[package]]
-name = "idna"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e"
-dependencies = [
- "matches",
- "unicode-bidi",
- "unicode-normalization",
-]
-
-[[package]]
-name = "idna"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"
-dependencies = [
- "matches",
- "unicode-bidi",
- "unicode-normalization",
-]
-
-[[package]]
-name = "indexmap"
-version = "1.9.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e"
-dependencies = [
- "autocfg 1.1.0",
- "hashbrown",
-]
-
-[[package]]
-name = "instant"
-version = "0.1.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
-dependencies = [
- "cfg-if 1.0.0",
-]
-
-[[package]]
-name = "iovec"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "ipnet"
-version = "2.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68f2d64f2edebec4ce84ad108148e67e1064789bee435edc5b60ad398714a3a9"
-
-[[package]]
-name = "isolang"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "265ef164908329e47e753c769b14cbb27434abf0c41984dca201484022f09ce5"
-dependencies = [
- "phf",
- "phf_codegen",
- "serde",
-]
-
-[[package]]
-name = "itoa"
-version = "0.4.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
-
-[[package]]
-name = "itoa"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d"
-
-[[package]]
-name = "js-sys"
-version = "0.3.58"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3fac17f7123a73ca62df411b1bf727ccc805daa070338fda671c86dac1bdc27"
-dependencies = [
- "wasm-bindgen",
-]
-
-[[package]]
-name = "json5"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96b0db21af676c1ce64250b5f40f3ce2cf27e4e47cb91ed91eb6fe9350b430c1"
-dependencies = [
- "pest",
- "pest_derive",
- "serde",
-]
-
-[[package]]
-name = "kernel32-sys"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
-dependencies = [
- "winapi 0.2.8",
- "winapi-build",
-]
-
-[[package]]
-name = "language-tags"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a"
-
-[[package]]
-name = "lazy_static"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-
-[[package]]
-name = "libc"
-version = "0.2.126"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
-
-[[package]]
-name = "lock_api"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c"
-dependencies = [
- "owning_ref",
- "scopeguard 0.3.3",
-]
-
-[[package]]
-name = "lock_api"
-version = "0.4.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53"
-dependencies = [
- "autocfg 1.1.0",
- "scopeguard 1.1.0",
-]
-
-[[package]]
-name = "log"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b"
-dependencies = [
- "log 0.4.17",
-]
-
-[[package]]
-name = "log"
-version = "0.4.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
-dependencies = [
- "cfg-if 1.0.0",
-]
-
-[[package]]
-name = "maplit"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
-
-[[package]]
-name = "matches"
-version = "0.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
-
-[[package]]
-name = "maybe-uninit"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
-
-[[package]]
-name = "memchr"
-version = "2.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
-
-[[package]]
-name = "mime"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba626b8a6de5da682e1caa06bdb42a335aee5a84db8e5046a3e8ab17ba0a3ae0"
-dependencies = [
- "log 0.3.9",
-]
-
-[[package]]
-name = "mime"
-version = "0.3.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
-
-[[package]]
-name = "mime_guess"
-version = "2.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef"
-dependencies = [
- "mime 0.3.16",
- "unicase 2.6.0",
-]
-
-[[package]]
-name = "mio"
-version = "0.6.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4"
-dependencies = [
- "cfg-if 0.1.10",
- "fuchsia-zircon",
- "fuchsia-zircon-sys",
- "iovec",
- "kernel32-sys",
- "libc",
- "log 0.4.17",
- "miow",
- "net2",
- "slab",
- "winapi 0.2.8",
-]
-
-[[package]]
-name = "mio"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf"
-dependencies = [
- "libc",
- "log 0.4.17",
- "wasi 0.11.0+wasi-snapshot-preview1",
- "windows-sys",
-]
-
-[[package]]
-name = "miow"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d"
-dependencies = [
- "kernel32-sys",
- "net2",
- "winapi 0.2.8",
- "ws2_32-sys",
-]
-
-[[package]]
-name = "native-tls"
-version = "0.2.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd7e2f3618557f980e0b17e8856252eee3c97fa12c54dff0ca290fb6266ca4a9"
-dependencies = [
- "lazy_static",
- "libc",
- "log 0.4.17",
- "openssl",
- "openssl-probe",
- "openssl-sys",
- "schannel",
- "security-framework",
- "security-framework-sys",
- "tempfile",
-]
-
-[[package]]
-name = "net2"
-version = "0.2.37"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae"
-dependencies = [
- "cfg-if 0.1.10",
- "libc",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "num-integer"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
-dependencies = [
- "autocfg 1.1.0",
- "num-traits",
-]
-
-[[package]]
-name = "num-traits"
-version = "0.2.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
-dependencies = [
- "autocfg 1.1.0",
-]
-
-[[package]]
-name = "num_cpus"
-version = "1.13.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
-dependencies = [
- "hermit-abi",
- "libc",
-]
-
-[[package]]
-name = "once_cell"
-version = "1.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7709cef83f0c1f58f666e746a08b21e0085f7440fa6a29cc194d68aac97a4225"
-
-[[package]]
-name = "opaque-debug"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c"
-
-[[package]]
-name = "opaque-debug"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
-
-[[package]]
-name = "openssl"
-version = "0.10.40"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb81a6430ac911acb25fe5ac8f1d2af1b4ea8a4fdfda0f1ee4292af2e2d8eb0e"
-dependencies = [
- "bitflags",
- "cfg-if 1.0.0",
- "foreign-types",
- "libc",
- "once_cell",
- "openssl-macros",
- "openssl-sys",
-]
-
-[[package]]
-name = "openssl-macros"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "openssl-probe"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
-
-[[package]]
-name = "openssl-sys"
-version = "0.9.74"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "835363342df5fba8354c5b453325b110ffd54044e588c539cf2f20a8014e4cb1"
-dependencies = [
- "autocfg 1.1.0",
- "cc",
- "libc",
- "pkg-config",
- "vcpkg",
-]
-
-[[package]]
-name = "owning_ref"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ff55baddef9e4ad00f88b6c743a2a8062d4c6ade126c2a528644b8e444d52ce"
-dependencies = [
- "stable_deref_trait",
-]
-
-[[package]]
-name = "parking_lot"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab41b4aed082705d1056416ae4468b6ea99d52599ecf3169b00088d43113e337"
-dependencies = [
- "lock_api 0.1.5",
- "parking_lot_core 0.4.0",
-]
-
-[[package]]
-name = "parking_lot"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
-dependencies = [
- "lock_api 0.4.7",
- "parking_lot_core 0.9.3",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94c8c7923936b28d546dfd14d4472eaf34c99b14e1c973a32b3e6d4eb04298c9"
-dependencies = [
- "libc",
- "rand 0.6.5",
- "rustc_version",
- "smallvec 0.6.14",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929"
-dependencies = [
- "cfg-if 1.0.0",
- "libc",
- "redox_syscall",
- "smallvec 1.8.1",
- "windows-sys",
-]
-
-[[package]]
-name = "percent-encoding"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
-
-[[package]]
-name = "percent-encoding"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
-
-[[package]]
-name = "pest"
-version = "2.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53"
-dependencies = [
- "ucd-trie",
-]
-
-[[package]]
-name = "pest_derive"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "833d1ae558dc601e9a60366421196a8d94bc0ac980476d0b67e1d0988d72b2d0"
-dependencies = [
- "pest",
- "pest_generator",
-]
-
-[[package]]
-name = "pest_generator"
-version = "2.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "99b8db626e31e5b81787b9783425769681b347011cc59471e33ea46d2ea0cf55"
-dependencies = [
- "pest",
- "pest_meta",
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "pest_meta"
-version = "2.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54be6e404f5317079812fc8f9f5279de376d8856929e21c184ecf6bbd692a11d"
-dependencies = [
- "maplit",
- "pest",
- "sha-1 0.8.2",
-]
-
-[[package]]
-name = "phf"
-version = "0.7.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3da44b85f8e8dfaec21adae67f95d93244b2ecf6ad2a692320598dcc8e6dd18"
-dependencies = [
- "phf_shared",
-]
-
-[[package]]
-name = "phf_codegen"
-version = "0.7.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b03e85129e324ad4166b06b2c7491ae27fe3ec353af72e72cd1654c7225d517e"
-dependencies = [
- "phf_generator",
- "phf_shared",
-]
-
-[[package]]
-name = "phf_generator"
-version = "0.7.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09364cc93c159b8b06b1f4dd8a4398984503483891b0c26b867cf431fb132662"
-dependencies = [
- "phf_shared",
- "rand 0.6.5",
-]
-
-[[package]]
-name = "phf_shared"
-version = "0.7.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "234f71a15de2288bcb7e3b6515828d22af7ec8598ee6d24c3b526fa0a80b67a0"
-dependencies = [
- "siphasher",
-]
-
-[[package]]
-name = "pin-project"
-version = "1.0.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58ad3879ad3baf4e44784bc6a718a8698867bb991f8ce24d1bcbe2cfb4c3a75e"
-dependencies = [
- "pin-project-internal",
-]
-
-[[package]]
-name = "pin-project-internal"
-version = "1.0.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "744b6f092ba29c3650faf274db506afd39944f48420f6c86b17cfe0ee1cb36bb"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "pin-project-lite"
-version = "0.2.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
-
-[[package]]
-name = "pin-utils"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
-
-[[package]]
-name = "pkg-config"
-version = "0.3.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae"
-
-[[package]]
-name = "ppv-lite86"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.40"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "rand"
-version = "0.6.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
-dependencies = [
- "autocfg 0.1.6",
- "libc",
- "rand_chacha 0.1.1",
- "rand_core 0.4.2",
- "rand_hc",
- "rand_isaac",
- "rand_jitter",
- "rand_os",
- "rand_pcg",
- "rand_xorshift",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "rand"
-version = "0.8.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
-dependencies = [
- "libc",
- "rand_chacha 0.3.1",
- "rand_core 0.6.3",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
-dependencies = [
- "autocfg 0.1.6",
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
-dependencies = [
- "ppv-lite86",
- "rand_core 0.6.3",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
-dependencies = [
- "rand_core 0.4.2",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
-
-[[package]]
-name = "rand_core"
-version = "0.6.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
-dependencies = [
- "getrandom",
-]
-
-[[package]]
-name = "rand_hc"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
-dependencies = [
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rand_isaac"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
-dependencies = [
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rand_jitter"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
-dependencies = [
- "libc",
- "rand_core 0.4.2",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "rand_os"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
-dependencies = [
- "cloudabi",
- "fuchsia-cprng",
- "libc",
- "rand_core 0.4.2",
- "rdrand",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "rand_pcg"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
-dependencies = [
- "autocfg 0.1.6",
- "rand_core 0.4.2",
-]
-
-[[package]]
-name = "rand_xorshift"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
-dependencies = [
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rdrand"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
-dependencies = [
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.2.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42"
-dependencies = [
- "bitflags",
-]
-
-[[package]]
-name = "regex"
-version = "1.5.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d83f127d94bdbcda4c8cc2e50f6f84f4b611f69c902699ca385a39c3a75f9ff1"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-syntax",
-]
-
-[[package]]
-name = "regex-syntax"
-version = "0.6.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49b3de9ec5dc0a3417da371aab17d729997c15010e7fd24ff707773a33bddb64"
-
-[[package]]
-name = "remove_dir_all"
-version = "0.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
-dependencies = [
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "reqwest"
-version = "0.11.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "246e9f61b9bb77df069a947682be06e31ac43ea37862e244a69f177694ea6d22"
-dependencies = [
- "base64 0.13.0",
- "bytes 1.1.0",
- "encoding_rs",
- "futures-core",
- "futures-util",
- "http",
- "http-body",
- "hyper 0.14.19",
- "hyper-rustls",
- "ipnet",
- "js-sys",
- "lazy_static",
- "log 0.4.17",
- "mime 0.3.16",
- "mime_guess",
- "percent-encoding 2.1.0",
- "pin-project-lite",
- "rustls",
- "serde",
- "serde_json",
- "serde_urlencoded 0.7.0",
- "tokio",
- "tokio-rustls",
- "url 2.2.2",
- "wasm-bindgen",
- "wasm-bindgen-futures",
- "web-sys",
- "webpki-roots",
- "winreg",
-]
-
-[[package]]
-name = "ring"
-version = "0.16.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
-dependencies = [
- "cc",
- "libc",
- "once_cell",
- "spin",
- "untrusted",
- "web-sys",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "rustc_version"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
-dependencies = [
- "semver",
-]
-
-[[package]]
-name = "rustls"
-version = "0.19.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7"
-dependencies = [
- "base64 0.13.0",
- "log 0.4.17",
- "ring",
- "sct",
- "webpki",
-]
-
-[[package]]
-name = "rustls-native-certs"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a07b7c1885bd8ed3831c289b7870b13ef46fe0e856d288c30d9cc17d75a2092"
-dependencies = [
- "openssl-probe",
- "rustls",
- "schannel",
- "security-framework",
-]
-
-[[package]]
-name = "ryu"
-version = "1.0.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695"
-
-[[package]]
-name = "safemem"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2b08423011dae9a5ca23f07cf57dac3857f5c885d352b76f6d95f4aea9434d0"
-
-[[package]]
-name = "schannel"
-version = "0.1.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2"
-dependencies = [
- "lazy_static",
- "windows-sys",
-]
-
-[[package]]
-name = "scopeguard"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27"
-
-[[package]]
-name = "scopeguard"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
-
-[[package]]
-name = "sct"
-version = "0.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce"
-dependencies = [
- "ring",
- "untrusted",
-]
-
-[[package]]
-name = "security-framework"
-version = "2.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dc14f172faf8a0194a3aded622712b0de276821addc574fa54fc0a1167e10dc"
-dependencies = [
- "bitflags",
- "core-foundation",
- "core-foundation-sys",
- "libc",
- "security-framework-sys",
-]
-
-[[package]]
-name = "security-framework-sys"
-version = "2.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556"
-dependencies = [
- "core-foundation-sys",
- "libc",
-]
-
-[[package]]
-name = "semver"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
-dependencies = [
- "semver-parser",
-]
-
-[[package]]
-name = "semver-parser"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
-
-[[package]]
-name = "serde"
-version = "1.0.137"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61ea8d54c77f8315140a05f4c7237403bf38b72704d031543aa1d16abbf517d1"
-dependencies = [
- "serde_derive",
-]
-
-[[package]]
-name = "serde_derive"
-version = "1.0.137"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f26faba0c3959972377d3b2d306ee9f71faee9714294e41bb777f83f88578be"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "serde_json"
-version = "1.0.81"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b7ce2b32a1aed03c558dc61a5cd328f15aff2dbc17daad8fb8af04d2100e15c"
-dependencies = [
- "itoa 1.0.2",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "serde_qs"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8a72808528a89fa9eca23bbb6a1eb92cb639b881357269b6510f11e50c0f8a9"
-dependencies = [
- "percent-encoding 2.1.0",
- "serde",
- "thiserror",
-]
-
-[[package]]
-name = "serde_urlencoded"
-version = "0.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ec5d77e2d4c73717816afac02670d5c4f534ea95ed430442cad02e7a6e32c97"
-dependencies = [
- "dtoa",
- "itoa 0.4.8",
- "serde",
- "url 2.2.2",
-]
-
-[[package]]
-name = "serde_urlencoded"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "edfa57a7f8d9c1d260a549e7224100f6c43d43f9103e06dd8b4095a9b2b43ce9"
-dependencies = [
- "form_urlencoded",
- "itoa 0.4.8",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "sha-1"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df"
-dependencies = [
- "block-buffer 0.7.3",
- "digest 0.8.1",
- "fake-simd",
- "opaque-debug 0.2.3",
-]
-
-[[package]]
-name = "sha-1"
-version = "0.9.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6"
-dependencies = [
- "block-buffer 0.9.0",
- "cfg-if 1.0.0",
- "cpufeatures",
- "digest 0.9.0",
- "opaque-debug 0.3.0",
-]
-
-[[package]]
-name = "signal-hook-registry"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "siphasher"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac"
-
-[[package]]
-name = "slab"
-version = "0.4.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb703cfe953bccee95685111adeedb76fabe4e97549a58d16f03ea7b9367bb32"
-
-[[package]]
-name = "smallvec"
-version = "0.6.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b97fcaeba89edba30f044a10c6a3cc39df9c3f17d7cd829dd1446cab35f890e0"
-dependencies = [
- "maybe-uninit",
-]
-
-[[package]]
-name = "smallvec"
-version = "1.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc88c725d61fc6c3132893370cac4a0200e3fedf5da8331c570664b1987f5ca2"
-
-[[package]]
-name = "socket2"
-version = "0.4.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0"
-dependencies = [
- "libc",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "spin"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
-
-[[package]]
-name = "stable_deref_trait"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
-
-[[package]]
-name = "stfu8"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bf70433e3300a3c395d06606a700cdf4205f4f14dbae2c6833127c6bb22db77"
-dependencies = [
- "lazy_static",
- "regex",
-]
-
-[[package]]
-name = "strsim"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
-
-[[package]]
-name = "syn"
-version = "1.0.98"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "tempfile"
-version = "3.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
-dependencies = [
- "cfg-if 1.0.0",
- "fastrand",
- "libc",
- "redox_syscall",
- "remove_dir_all",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "termcolor"
-version = "1.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
-dependencies = [
- "winapi-util",
-]
-
-[[package]]
-name = "textwrap"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
-dependencies = [
- "unicode-width",
-]
-
-[[package]]
-name = "thiserror"
-version = "1.0.31"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd829fe32373d27f76265620b5309d0340cb8550f523c1dda251d6298069069a"
-dependencies = [
- "thiserror-impl",
-]
-
-[[package]]
-name = "thiserror-impl"
-version = "1.0.31"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0396bc89e626244658bef819e22d0cc459e795a5ebe878e6ec336d1674a8d79a"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "time"
-version = "0.1.44"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
-dependencies = [
- "libc",
- "wasi 0.10.0+wasi-snapshot-preview1",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "tinyvec"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
-dependencies = [
- "tinyvec_macros",
-]
-
-[[package]]
-name = "tinyvec_macros"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
-
-[[package]]
-name = "tokio"
-version = "1.19.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c51a52ed6686dd62c320f9b89299e9dfb46f730c7a48e635c19f21d116cb1439"
-dependencies = [
- "bytes 1.1.0",
- "libc",
- "memchr",
- "mio 0.8.4",
- "num_cpus",
- "once_cell",
- "parking_lot 0.12.1",
- "pin-project-lite",
- "signal-hook-registry",
- "socket2",
- "tokio-macros",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "tokio-codec"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c501eceaf96f0e1793cf26beb63da3d11c738c4a943fdf3746d81d64684c39f"
-dependencies = [
- "bytes 0.4.12",
- "futures 0.1.31",
- "tokio-io",
-]
-
-[[package]]
-name = "tokio-executor"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f27ee0e6db01c5f0b2973824547ce7e637b2ed79b891a9677b0de9bd532b6ac"
-dependencies = [
- "crossbeam-utils",
- "futures 0.1.31",
-]
-
-[[package]]
-name = "tokio-io"
-version = "0.1.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5090db468dad16e1a7a54c8c67280c5e4b544f3d3e018f0b913b400261f85926"
-dependencies = [
- "bytes 0.4.12",
- "futures 0.1.31",
- "log 0.4.17",
-]
-
-[[package]]
-name = "tokio-macros"
-version = "1.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "tokio-reactor"
-version = "0.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6af16bfac7e112bea8b0442542161bfc41cbfa4466b580bdda7d18cb88b911ce"
-dependencies = [
- "crossbeam-utils",
- "futures 0.1.31",
- "lazy_static",
- "log 0.4.17",
- "mio 0.6.23",
- "num_cpus",
- "parking_lot 0.7.1",
- "slab",
- "tokio-executor",
- "tokio-io",
- "tokio-sync",
-]
-
-[[package]]
-name = "tokio-rustls"
-version = "0.22.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6"
-dependencies = [
- "rustls",
- "tokio",
- "webpki",
-]
-
-[[package]]
-name = "tokio-stream"
-version = "0.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df54d54117d6fdc4e4fea40fe1e4e566b3505700e148a6827e59b34b0d2600d9"
-dependencies = [
- "futures-core",
- "pin-project-lite",
- "tokio",
-]
-
-[[package]]
-name = "tokio-sync"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2162248ff317e2bc713b261f242b69dbb838b85248ed20bb21df56d60ea4cae7"
-dependencies = [
- "fnv",
- "futures 0.1.31",
-]
-
-[[package]]
-name = "tokio-tcp"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d14b10654be682ac43efee27401d792507e30fd8d26389e1da3b185de2e4119"
-dependencies = [
- "bytes 0.4.12",
- "futures 0.1.31",
- "iovec",
- "mio 0.6.23",
- "tokio-io",
- "tokio-reactor",
-]
-
-[[package]]
-name = "tokio-tls"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "354b8cd83825b3c20217a9dc174d6a0c67441a2fae5c41bcb1ea6679f6ae0f7c"
-dependencies = [
- "futures 0.1.31",
- "native-tls",
- "tokio-io",
-]
-
-[[package]]
-name = "tokio-tungstenite"
-version = "0.15.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "511de3f85caf1c98983545490c3d09685fa8eb634e57eec22bb4db271f46cbd8"
-dependencies = [
- "futures-util",
- "log 0.4.17",
- "pin-project",
- "rustls",
- "tokio",
- "tokio-rustls",
- "tungstenite",
- "webpki",
- "webpki-roots",
-]
-
-[[package]]
-name = "tokio-util"
-version = "0.6.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1caa0b0c8d94a049db56b5acf8cba99dc0623aab1b26d5b5f5e2d945846b3592"
-dependencies = [
- "bytes 1.1.0",
- "futures-core",
- "futures-sink",
- "log 0.4.17",
- "pin-project-lite",
- "tokio",
-]
-
-[[package]]
-name = "tokio-util"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc463cd8deddc3770d20f9852143d50bf6094e640b485cb2e189a2099085ff45"
-dependencies = [
- "bytes 1.1.0",
- "futures-core",
- "futures-sink",
- "pin-project-lite",
- "tokio",
- "tracing",
-]
-
-[[package]]
-name = "toml"
-version = "0.5.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "tower-service"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
-
-[[package]]
-name = "tracing"
-version = "0.1.35"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a400e31aa60b9d44a52a8ee0343b5b18566b03a8321e0d321f695cf56e940160"
-dependencies = [
- "cfg-if 1.0.0",
- "pin-project-lite",
- "tracing-core",
-]
-
-[[package]]
-name = "tracing-core"
-version = "0.1.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b7358be39f2f274f322d2aaed611acc57f382e8eb1e5b48cb9ae30933495ce7"
-dependencies = [
- "once_cell",
-]
-
-[[package]]
-name = "traitobject"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079"
-
-[[package]]
-name = "try-lock"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
-
-[[package]]
-name = "tungstenite"
-version = "0.14.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0b2d8558abd2e276b0a8df5c05a2ec762609344191e5fd23e292c910e9165b5"
-dependencies = [
- "base64 0.13.0",
- "byteorder",
- "bytes 1.1.0",
- "http",
- "httparse",
- "log 0.4.17",
- "rand 0.8.5",
- "rustls",
- "rustls-native-certs",
- "sha-1 0.9.8",
- "thiserror",
- "url 2.2.2",
- "utf-8",
- "webpki",
-]
-
-[[package]]
-name = "typeable"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887"
-
-[[package]]
-name = "typenum"
-version = "1.15.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
-
-[[package]]
-name = "ucd-trie"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c"
-
-[[package]]
-name = "unicase"
-version = "1.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33"
-dependencies = [
- "version_check 0.1.5",
-]
-
-[[package]]
-name = "unicase"
-version = "2.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
-dependencies = [
- "version_check 0.9.4",
-]
-
-[[package]]
-name = "unicode-bidi"
-version = "0.3.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992"
-
-[[package]]
-name = "unicode-ident"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c"
-
-[[package]]
-name = "unicode-normalization"
-version = "0.1.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81dee68f85cab8cf68dec42158baf3a79a1cdc065a8b103025965d6ccb7f6cbd"
-dependencies = [
- "tinyvec",
-]
-
-[[package]]
-name = "unicode-segmentation"
-version = "1.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99"
-
-[[package]]
-name = "unicode-width"
-version = "0.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
-
-[[package]]
-name = "untrusted"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
-
-[[package]]
-name = "url"
-version = "1.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"
-dependencies = [
- "idna 0.1.5",
- "matches",
- "percent-encoding 1.0.1",
-]
-
-[[package]]
-name = "url"
-version = "2.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c"
-dependencies = [
- "form_urlencoded",
- "idna 0.2.3",
- "matches",
- "percent-encoding 2.1.0",
-]
-
-[[package]]
-name = "utf-8"
-version = "0.7.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
-
-[[package]]
-name = "vcpkg"
-version = "0.2.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
-
-[[package]]
-name = "vec_map"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
-
-[[package]]
-name = "version_check"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
-
-[[package]]
-name = "version_check"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
-
-[[package]]
-name = "voca_rs"
-version = "1.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec29ce40c253a1579092852bbea5cb4fbcf34c04b91d8127300202aa17c998fc"
-dependencies = [
- "regex",
- "stfu8",
- "unicode-segmentation",
-]
-
-[[package]]
-name = "want"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0"
-dependencies = [
- "log 0.4.17",
- "try-lock",
-]
-
-[[package]]
-name = "wasi"
-version = "0.10.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
-
-[[package]]
-name = "wasi"
-version = "0.11.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
-
-[[package]]
-name = "wasm-bindgen"
-version = "0.2.81"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c53b543413a17a202f4be280a7e5c62a1c69345f5de525ee64f8cfdbc954994"
-dependencies = [
- "cfg-if 1.0.0",
- "serde",
- "serde_json",
- "wasm-bindgen-macro",
-]
-
-[[package]]
-name = "wasm-bindgen-backend"
-version = "0.2.81"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5491a68ab4500fa6b4d726bd67408630c3dbe9c4fe7bda16d5c82a1fd8c7340a"
-dependencies = [
- "bumpalo",
- "lazy_static",
- "log 0.4.17",
- "proc-macro2",
- "quote",
- "syn",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-futures"
-version = "0.4.31"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de9a9cec1733468a8c657e57fa2413d2ae2c0129b95e87c5b72b8ace4d13f31f"
-dependencies = [
- "cfg-if 1.0.0",
- "js-sys",
- "wasm-bindgen",
- "web-sys",
-]
-
-[[package]]
-name = "wasm-bindgen-macro"
-version = "0.2.81"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c441e177922bc58f1e12c022624b6216378e5febc2f0533e41ba443d505b80aa"
-dependencies = [
- "quote",
- "wasm-bindgen-macro-support",
-]
-
-[[package]]
-name = "wasm-bindgen-macro-support"
-version = "0.2.81"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d94ac45fcf608c1f45ef53e748d35660f168490c10b23704c7779ab8f5c3048"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
- "wasm-bindgen-backend",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-shared"
-version = "0.2.81"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a89911bd99e5f3659ec4acf9c4d93b0a90fe4a2a11f15328472058edc5261be"
-
-[[package]]
-name = "web-sys"
-version = "0.3.58"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fed94beee57daf8dd7d51f2b15dc2bcde92d7a72304cdf662a4371008b71b90"
-dependencies = [
- "js-sys",
- "wasm-bindgen",
-]
-
-[[package]]
-name = "webpki"
-version = "0.21.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea"
-dependencies = [
- "ring",
- "untrusted",
-]
-
-[[package]]
-name = "webpki-roots"
-version = "0.21.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aabe153544e473b775453675851ecc86863d2a81d786d741f6b76778f2a48940"
-dependencies = [
- "webpki",
-]
-
-[[package]]
-name = "websocket"
-version = "0.26.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "723abe6b75286edc51d8ecabb38a2353f62a9e9b0588998b59111474f1dcd637"
-dependencies = [
- "bytes 0.4.12",
- "futures 0.1.31",
- "hyper 0.10.16",
- "native-tls",
- "rand 0.6.5",
- "tokio-codec",
- "tokio-io",
- "tokio-reactor",
- "tokio-tcp",
- "tokio-tls",
- "unicase 1.4.2",
- "url 1.7.2",
- "websocket-base",
-]
-
-[[package]]
-name = "websocket-base"
-version = "0.26.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "403f3fd505ff930da84156389639932955fb09705b3dccd1a3d60c8e7ff62776"
-dependencies = [
- "base64 0.10.1",
- "bitflags",
- "byteorder",
- "bytes 0.4.12",
- "futures 0.1.31",
- "native-tls",
- "rand 0.6.5",
- "sha-1 0.8.2",
- "tokio-codec",
- "tokio-io",
- "tokio-tcp",
- "tokio-tls",
-]
-
-[[package]]
-name = "winapi"
-version = "0.2.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
-
-[[package]]
-name = "winapi"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
-dependencies = [
- "winapi-i686-pc-windows-gnu",
- "winapi-x86_64-pc-windows-gnu",
-]
-
-[[package]]
-name = "winapi-build"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
-
-[[package]]
-name = "winapi-i686-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-
-[[package]]
-name = "winapi-util"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
-dependencies = [
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "winapi-x86_64-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-
-[[package]]
-name = "windows-sys"
-version = "0.36.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2"
-dependencies = [
- "windows_aarch64_msvc",
- "windows_i686_gnu",
- "windows_i686_msvc",
- "windows_x86_64_gnu",
- "windows_x86_64_msvc",
-]
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.36.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.36.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.36.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.36.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.36.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680"
-
-[[package]]
-name = "winreg"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69"
-dependencies = [
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "ws2_32-sys"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
-dependencies = [
- "winapi 0.2.8",
- "winapi-build",
-]
diff --git a/pkgs/by-name/fe/fedigroups/package.nix b/pkgs/by-name/fe/fedigroups/package.nix
index 743b0c8a75ae..6a3738fd06a7 100644
--- a/pkgs/by-name/fe/fedigroups/package.nix
+++ b/pkgs/by-name/fe/fedigroups/package.nix
@@ -9,29 +9,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fedigroups";
-  version = "0.4.5";
+  version = "0.4.6";
 
   src = fetchFromGitea {
     domain = "git.ondrovo.com";
     owner = "MightyPork";
     repo = "group-actor";
     rev = "v${version}";
-    hash = "sha256-NMqoYUNN2ntye9mNC3KAAc0DBg+QY7+6/DASwHPexY0=";
+    hash = "sha256-Sq22CwLLR10yrN3+dR2KDoS8r99+LWOH7+l+D3RWlKw=";
     forceFetchGit = true; # Archive generation is disabled on this gitea instance
     leaveDotGit = true; # git command in build.rs
   };
 
-  # The lockfile in the repo is not up to date
-  postPatch = ''
-    cp ${./Cargo.lock} Cargo.lock
-  '';
-
-  cargoLock = {
-    lockFile = ./Cargo.lock;
-    outputHashes = {
-      "elefren-0.22.0" = "sha256-zCmopdkBHT0gzNGQqZzsnIyMyAt0XBbQdOCpegF6TsY=";
-    };
-  };
+  useFetchCargoVendor = true;
+  cargoHash = "sha256-6UijHshvKANtMMfNADWDViDrh6bGlPvFz4xqJeWdqB0=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/by-name/fe/fedimint/package.nix b/pkgs/by-name/fe/fedimint/package.nix
index 5332b713891e..589659096d36 100644
--- a/pkgs/by-name/fe/fedimint/package.nix
+++ b/pkgs/by-name/fe/fedimint/package.nix
@@ -6,21 +6,24 @@
   pkg-config,
   protobuf,
   rustPlatform,
+  version ? "0.7.1",
+  hash ? "sha256-7meBYUN7sG1OAtMEm6I66+ptf4EfsbA+dm5/4P3IRV4=",
+  cargoHash ? "sha256-4cFuasH2hvrnzTBTFifHEMtXZKsBv7OVpuwPlV19GGw=",
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "fedimint";
-  version = "0.5.1";
+  inherit version;
 
   src = fetchFromGitHub {
     owner = "fedimint";
     repo = "fedimint";
     rev = "v${version}";
-    hash = "sha256-dhZYOfXepOnt1lQEgrM/y++5V58weiiTMAyMKl2t37Q=";
+    inherit hash;
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-WElH4AdLlF/BuxRrURUv6xNGUVBZ6hhSFg1p+T3jG54=";
+  inherit cargoHash;
 
   nativeBuildInputs = [
     protobuf
@@ -45,7 +48,7 @@ rustPlatform.buildRustPackage rec {
     mkdir -p $fedimint/bin $fedimintCli/bin $gateway/bin $gatewayCli/bin $devimint/bin
 
     # delete fuzzing targets and other binaries no one cares about
-    binsToKeep=(fedimint-cli fedimint-dbtool recoverytool fedimintd gatewayd gateway-cli gateway-cln-extension devimint)
+    binsToKeep=(fedimint-cli fedimint-dbtool recoverytool fedimintd gatewayd gateway-cli devimint)
     keepPattern=$(printf "|%s" "''${binsToKeep[@]}")
     keepPattern=''${keepPattern:1}
     find "$out/bin" -maxdepth 1 -type f | grep -Ev "(''${keepPattern})" | xargs rm -f
@@ -59,7 +62,6 @@ rustPlatform.buildRustPackage rec {
     cp -a $releaseDir/gateway-cli $gatewayCli/bin/
 
     cp -a $releaseDir/gatewayd $gateway/bin/
-    cp -a $releaseDir/gateway-cln-extension $gateway/bin/
 
     cp -a $releaseDir/devimint $devimint/bin/
   '';
diff --git a/pkgs/by-name/fe/fediwall-unwrapped/package.nix b/pkgs/by-name/fe/fediwall-unwrapped/package.nix
new file mode 100644
index 000000000000..445db9bd3e5c
--- /dev/null
+++ b/pkgs/by-name/fe/fediwall-unwrapped/package.nix
@@ -0,0 +1,38 @@
+{
+  lib,
+  fetchFromGitHub,
+  buildNpmPackage,
+}:
+
+let
+  version = "1.4.0";
+in
+buildNpmPackage {
+  pname = "fediwall";
+  inherit version;
+
+  src = fetchFromGitHub {
+    owner = "defnull";
+    repo = "fediwall";
+    tag = "v${version}";
+    hash = "sha256-aEY6mO7Es+H6CNE4shj/jz47nUeEIxGijKbUscIp0pM=";
+  };
+
+  npmDepsHash = "sha256-0VQ/CBqpQNqjg3lug+AQfFVbh0KhEaGwd+cEakBr/Dc=";
+
+  installPhase = ''
+    runHook preInstall
+
+    cp -r dist $out
+
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "Social media wall for the Fediverse";
+    homepage = "https://fediwall.social";
+    license = lib.licenses.agpl3Plus;
+    platforms = lib.platforms.all;
+    maintainers = with lib.maintainers; [ transcaffeine ];
+  };
+}
diff --git a/pkgs/by-name/fe/fediwall/package.nix b/pkgs/by-name/fe/fediwall/package.nix
new file mode 100644
index 000000000000..1d35b9c2c5b3
--- /dev/null
+++ b/pkgs/by-name/fe/fediwall/package.nix
@@ -0,0 +1,25 @@
+{
+  lib,
+  stdenv,
+  fediwall-unwrapped,
+  conf ? { },
+}:
+
+if (conf == { }) then
+  fediwall-unwrapped
+else
+  stdenv.mkDerivation {
+    pname = "fediwall";
+    inherit (fediwall-unwrapped) version meta;
+
+    dontUnpack = true;
+
+    installPhase = ''
+      runHook preInstall
+      mkdir -p $out
+      ln -s ${fediwall-unwrapped}/* $out
+      echo ${lib.escapeShellArg (builtins.toJSON conf)} \
+          > "$out/wall-config.json"
+      runHook postInstall
+    '';
+  }
diff --git a/pkgs/by-name/fe/feishu/package.nix b/pkgs/by-name/fe/feishu/package.nix
index aadc186af103..fbbe4ad8f67f 100644
--- a/pkgs/by-name/fe/feishu/package.nix
+++ b/pkgs/by-name/fe/feishu/package.nix
@@ -65,12 +65,12 @@
 let
   sources = {
     x86_64-linux = fetchurl {
-      url = "https://sf3-cn.feishucdn.com/obj/ee-appcenter/9bcfe8ba/Feishu-linux_x64-7.36.11.deb";
-      sha256 = "sha256-iqEcwfF6z2jJ0TmFzDu2gf6eapHcJPaLSVESgtC9WUg=";
+      url = "https://sf3-cn.feishucdn.com/obj/ee-appcenter/91e64286/Feishu-linux_x64-7.42.17.deb";
+      sha256 = "sha256-Rsq+xQAyi7I1WcnkXzhPEgbUyfXU9XPVKIuv6Z9H5VA=";
     };
     aarch64-linux = fetchurl {
-      url = "https://sf3-cn.feishucdn.com/obj/ee-appcenter/484fc204/Feishu-linux_arm64-7.36.11.deb";
-      sha256 = "sha256-XTa5GOMBsiXI5IDhDQktSxdUfuvG7c2VWHuS76cFsqE=";
+      url = "https://sf3-cn.feishucdn.com/obj/ee-appcenter/49127814/Feishu-linux_arm64-7.42.17.deb";
+      sha256 = "sha256-UykQk8R8EDsHmRGy9BfDXhEZFlYT16bAkRuLXFZJDHw=";
     };
   };
 
@@ -133,7 +133,7 @@ let
   ];
 in
 stdenv.mkDerivation {
-  version = "7.36.11";
+  version = "7.42.17";
   pname = "feishu";
 
   src =
diff --git a/pkgs/by-name/fe/fend/package.nix b/pkgs/by-name/fe/fend/package.nix
index 4db055530ed9..caf1968b6564 100644
--- a/pkgs/by-name/fe/fend/package.nix
+++ b/pkgs/by-name/fe/fend/package.nix
@@ -15,14 +15,14 @@
   fend,
 }:
 
-rustPlatform.buildRustPackage rec {
+rustPlatform.buildRustPackage (finalAttrs: {
   pname = "fend";
   version = "1.5.6";
 
   src = fetchFromGitHub {
     owner = "printfn";
     repo = "fend";
-    rev = "v${version}";
+    tag = "v${finalAttrs.version}";
     hash = "sha256-FaPP7344rb5789CeDv9L4lysiTrK+7UoEbH8IK/6N3k=";
   };
 
@@ -96,7 +96,7 @@ rustPlatform.buildRustPackage rec {
   meta = {
     description = "Arbitrary-precision unit-aware calculator";
     homepage = "https://github.com/printfn/fend";
-    changelog = "https://github.com/printfn/fend/releases/tag/v${version}";
+    changelog = "https://github.com/printfn/fend/releases/tag/${finalAttrs.src.tag}";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [
       djanatyn
@@ -104,4 +104,4 @@ rustPlatform.buildRustPackage rec {
     ];
     mainProgram = "fend";
   };
-}
+})
diff --git a/pkgs/by-name/fh/fheroes2/package.nix b/pkgs/by-name/fh/fheroes2/package.nix
index b7d9455064b4..b3065322c699 100644
--- a/pkgs/by-name/fh/fheroes2/package.nix
+++ b/pkgs/by-name/fh/fheroes2/package.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fheroes2";
-  version = "1.1.8";
+  version = "1.1.9";
 
   src = fetchFromGitHub {
     owner = "ihhub";
     repo = "fheroes2";
     rev = version;
-    hash = "sha256-Z6pepW2hHaDNkkMVxuekoNNibsuicyGLmA8Y9isy8Mo=";
+    hash = "sha256-REZBez5R10kifIAnuoTxoyFlcfv5JufjX3mkItD6US4=";
   };
 
   nativeBuildInputs = [ imagemagick ];
diff --git a/pkgs/by-name/fi/filebeat8/package.nix b/pkgs/by-name/fi/filebeat8/package.nix
index ebbc5c69f9b6..c99ebbb4f028 100644
--- a/pkgs/by-name/fi/filebeat8/package.nix
+++ b/pkgs/by-name/fi/filebeat8/package.nix
@@ -8,18 +8,18 @@
 
 buildGoModule rec {
   pname = "filebeat";
-  version = "8.18.0";
+  version = "8.18.2";
 
   src = fetchFromGitHub {
     owner = "elastic";
     repo = "beats";
     tag = "v${version}";
-    hash = "sha256-bVM4qHw/YZcJEykB7zZuS8SHmk3YluS2IJxuGExfm5Y=";
+    hash = "sha256-8gpmrWBiJr5ibVNMqz/RYyOH7vIVTW1IPAsuDTn1BKc=";
   };
 
   proxyVendor = true; # darwin/linux hash mismatch
 
-  vendorHash = "sha256-gRyKgg1kIKkk6iFw6NCwmwHwExj8zS3+r1V3uzFMIXA=";
+  vendorHash = "sha256-wBh6mWg1xuhcaDA3guWTWjs4WgSHkNGPW/6KWuZ5L7w=";
 
   subPackages = [ "filebeat" ];
 
diff --git a/pkgs/by-name/fi/files-cli/package.nix b/pkgs/by-name/fi/files-cli/package.nix
index 4383603f89e9..a3dce0ff35d9 100644
--- a/pkgs/by-name/fi/files-cli/package.nix
+++ b/pkgs/by-name/fi/files-cli/package.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "files-cli";
-  version = "2.15.7";
+  version = "2.15.25";
 
   src = fetchFromGitHub {
     repo = "files-cli";
     owner = "files-com";
     rev = "v${version}";
-    hash = "sha256-lG4nmP5Ar+9KEjbDhE4epv+/8mrhhxpSWETZ56/gGzU=";
+    hash = "sha256-pdUvxWdFeL2whTgP+iqJ5spxHW5xMjSpIMf+0VbqPwI=";
   };
 
-  vendorHash = "sha256-Zs7Sd/xndXeEDNye0DqmeKsmtwLMonNMEwmsA/ymeOs=";
+  vendorHash = "sha256-bDoomu7zyoTb6yAXwYlLTbw94gTIM0ELbey/AXgov48=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/fi/fileshelter/package.nix b/pkgs/by-name/fi/fileshelter/package.nix
index 5b13c3d073b5..38f254a383d2 100644
--- a/pkgs/by-name/fi/fileshelter/package.nix
+++ b/pkgs/by-name/fi/fileshelter/package.nix
@@ -51,7 +51,7 @@ stdenv.mkDerivation (finalAttrs: {
     homepage = "https://github.com/epoupon/fileshelter";
     description = "FileShelter is a 'one-click' file sharing web application";
     mainProgram = "fileshelter";
-    maintainers = [ lib.maintainers.willibutz ];
+    maintainers = [ ];
     license = lib.licenses.gpl3;
     platforms = [ "x86_64-linux" ];
   };
diff --git a/pkgs/by-name/fi/firebase-tools/package.nix b/pkgs/by-name/fi/firebase-tools/package.nix
index 144568c45c43..e4eb04fffded 100644
--- a/pkgs/by-name/fi/firebase-tools/package.nix
+++ b/pkgs/by-name/fi/firebase-tools/package.nix
@@ -10,16 +10,16 @@
 
 buildNpmPackage rec {
   pname = "firebase-tools";
-  version = "14.5.1";
+  version = "14.7.0";
 
   src = fetchFromGitHub {
     owner = "firebase";
     repo = "firebase-tools";
     tag = "v${version}";
-    hash = "sha256-dcpGdFbXyVmCKBdh7u25skWgpbTRaE6gbUqAVWpkNFo=";
+    hash = "sha256-sZQoP6XsJkDI6I41eQv678aDtHhaRX6u03z/D6S7nBQ=";
   };
 
-  npmDepsHash = "sha256-fYmIu4ZctRT982Q1/gdr1QxgHiymmydrNuMMCsS2r3E=";
+  npmDepsHash = "sha256-QrJgImV7YCzME/ZwzwJP3FFvonmvCSm0hd9fLc8gyyk=";
 
   postPatch = ''
     ln -s npm-shrinkwrap.json package-lock.json
diff --git a/pkgs/by-name/fi/firefly-iii-data-importer/package.nix b/pkgs/by-name/fi/firefly-iii-data-importer/package.nix
index 079eafc8e20d..3f5dbe669942 100644
--- a/pkgs/by-name/fi/firefly-iii-data-importer/package.nix
+++ b/pkgs/by-name/fi/firefly-iii-data-importer/package.nix
@@ -13,13 +13,13 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "firefly-iii-data-importer";
-  version = "1.6.1";
+  version = "1.6.3";
 
   src = fetchFromGitHub {
     owner = "firefly-iii";
     repo = "data-importer";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-/mQnv/81XpdiXayC4+kw0QihZSPBkz59eJCdEBodudQ=";
+    hash = "sha256-+e5UtnK/eiFnmvtKjVp3EZ8JLi+dWnJ+vgjDJKRLqH8=";
   };
 
   buildInputs = [ php84 ];
@@ -38,12 +38,12 @@ stdenvNoCC.mkDerivation (finalAttrs: {
   composerStrictValidation = true;
   strictDeps = true;
 
-  vendorHash = "sha256-9WSq8kUoXyClAHvuMtqzlfcITgCgXdulslDAzlaJ9LU=";
+  vendorHash = "sha256-ExHT4kRyyp4c7vGqUN7hbP8pScvto/qp81oDjZGBJis=";
 
   npmDeps = fetchNpmDeps {
     inherit (finalAttrs) src;
     name = "${finalAttrs.pname}-npm-deps";
-    hash = "sha256-6yfXh9KX0ucAB+wo/xG4gRGmDL+CPtLkcq390iVz2qU=";
+    hash = "sha256-i+Ytv8uLSrdLPC04BfZbRXRA7jmy1IX4nYW5WRZubCY=";
   };
 
   composerRepository = php84.mkComposerRepository {
@@ -66,7 +66,12 @@ stdenvNoCC.mkDerivation (finalAttrs: {
   passthru = {
     phpPackage = php84;
     tests = nixosTests.firefly-iii-data-importer;
-    updateScript = nix-update-script { };
+    updateScript = nix-update-script {
+      extraArgs = [
+        "--version-regex"
+        "v(\\d+\\.\\d+\\.\\d+)"
+      ];
+    };
   };
 
   postInstall = ''
diff --git a/pkgs/by-name/fi/firefly-iii/package.nix b/pkgs/by-name/fi/firefly-iii/package.nix
index 770653eaf4ed..005f8b172f2f 100644
--- a/pkgs/by-name/fi/firefly-iii/package.nix
+++ b/pkgs/by-name/fi/firefly-iii/package.nix
@@ -13,13 +13,13 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "firefly-iii";
-  version = "6.2.16";
+  version = "6.2.17";
 
   src = fetchFromGitHub {
     owner = "firefly-iii";
     repo = "firefly-iii";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-SFl2uGHunF/IjhO5XoDCh1bJ5eIWRosv7HFDMXyknvI=";
+    hash = "sha256-g/mGCc7JxfWrbrh14OXaKgn0rjf4RMNL2NI4GzrphaY=";
   };
 
   buildInputs = [ php84 ];
@@ -38,13 +38,13 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     composerNoScripts = true;
     composerStrictValidation = true;
     strictDeps = true;
-    vendorHash = "sha256-C7lsSon9y286DoAppteZ3fY0qaWVTe66nyFckyrnylk=";
+    vendorHash = "sha256-2GvBlKRTqehD7eVpEGd9zBoiom30DRMqatyHNF4eDiU=";
   };
 
   npmDeps = fetchNpmDeps {
     inherit (finalAttrs) src;
     name = "${finalAttrs.pname}-npm-deps";
-    hash = "sha256-qymMgMXjKll3awXFL/Lo8DloPyqAaxoS2Lw8HBaar9g=";
+    hash = "sha256-uZluWsHpbD2lMG/yNoZxry5X+Hiv3z/H4KqV7pydu/A=";
   };
 
   preInstall = ''
@@ -55,7 +55,12 @@ stdenvNoCC.mkDerivation (finalAttrs: {
   passthru = {
     phpPackage = php84;
     tests = nixosTests.firefly-iii;
-    updateScript = nix-update-script { };
+    updateScript = nix-update-script {
+      extraArgs = [
+        "--version-regex"
+        "v(\\d+\\.\\d+\\.\\d+)"
+      ];
+    };
   };
 
   postInstall = ''
diff --git a/pkgs/by-name/fi/firewalld/package.nix b/pkgs/by-name/fi/firewalld/package.nix
index 7772c2c0fa71..51ee769c84ac 100644
--- a/pkgs/by-name/fi/firewalld/package.nix
+++ b/pkgs/by-name/fi/firewalld/package.nix
@@ -44,13 +44,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "firewalld";
-  version = "2.3.0";
+  version = "2.3.1";
 
   src = fetchFromGitHub {
     owner = "firewalld";
     repo = "firewalld";
     rev = "v${version}";
-    sha256 = "sha256-ubE1zMIOcdg2+mgXsk6brCZxS1XkvJYwVY3E+UXIIiU=";
+    sha256 = "sha256-ONpyJJjIn5kEnkudZe4Nf67wdQgWa+2qEkT1nxRBDpI=";
   };
 
   patches = [
diff --git a/pkgs/by-name/fi/firezone-gui-client/package.nix b/pkgs/by-name/fi/firezone-gui-client/package.nix
index 04212a7b5a06..b73b294a424b 100644
--- a/pkgs/by-name/fi/firezone-gui-client/package.nix
+++ b/pkgs/by-name/fi/firezone-gui-client/package.nix
@@ -1,5 +1,6 @@
 {
   lib,
+  rust,
   rustPlatform,
   fetchFromGitHub,
   nix-update-script,
@@ -24,12 +25,12 @@
   copyDesktopItems,
 }:
 let
-  version = "1.4.12";
+  version = "1.5.1";
   src = fetchFromGitHub {
     owner = "firezone";
     repo = "firezone";
     tag = "gui-client-${version}";
-    hash = "sha256-jvrkAbXHFWdNInDCrktC7eMZQ2a/rzUxfCOny7nHQmQ=";
+    hash = "sha256-KozSy44Opx6cukA0QTXeMpI3fP49iyabFzPLIJckOZ4=";
   };
 
   frontend = stdenvNoCC.mkDerivation rec {
@@ -39,10 +40,12 @@ let
     pnpmDeps = pnpm_9.fetchDeps {
       inherit pname version;
       src = "${src}/rust/gui-client";
-      hash = "sha256-bVWpyGwEaxYi3N6BJqOilnHJDgAykKHgRC2QKlvSm4Q=";
+      hash = "sha256-ttbTYBuUv0vyiYzrFATF4x/zngsRXjuLPfL3qW2HEe4=";
     };
     pnpmRoot = "rust/gui-client";
 
+    env.GITHUB_SHA = version;
+
     nativeBuildInputs = [
       pnpm_9.configHook
       nodejs
@@ -52,8 +55,7 @@ let
       runHook preBuild
 
       cd $pnpmRoot
-      cp node_modules/flowbite/dist/flowbite.min.js src/
-      pnpm tailwindcss -i src/input.css -o src/output.css
+      node ./node_modules/flowbite-react/dist/cli/bin.js patch
       node --max_old_space_size=1024000 ./node_modules/vite/bin/vite.js build
 
       runHook postBuild
@@ -73,7 +75,7 @@ rustPlatform.buildRustPackage rec {
   inherit version src;
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-YETCRhECbMTRmNsvOFl7R2YScY6ArjsOYJKdPVuUyGI=";
+  cargoHash = "sha256-TDP1Z4MeQaSER8MGnCEQfIhRsakaSCeJ7boUMBYkkI0=";
   sourceRoot = "${src.name}/rust";
   buildAndTestSubdir = "gui-client";
   RUSTFLAGS = "--cfg system_certs";
@@ -102,6 +104,9 @@ rustPlatform.buildRustPackage rec {
   postPatch = ''
     rm .cargo/config.toml
     ln -s ${frontend} gui-client/dist
+
+    substituteInPlace gui-client/src-tauri/tauri.conf.json \
+      --replace-fail '../../target' '../../target/${rust.envVars.rustHostPlatformSpec}'
   '';
 
   # Tries to compile apple specific crates due to workspace dependencies,
diff --git a/pkgs/by-name/fi/firezone-headless-client/package.nix b/pkgs/by-name/fi/firezone-headless-client/package.nix
index ccb5c9dde5b9..3b18f16e89aa 100644
--- a/pkgs/by-name/fi/firezone-headless-client/package.nix
+++ b/pkgs/by-name/fi/firezone-headless-client/package.nix
@@ -6,16 +6,16 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "firezone-headless-client";
-  version = "1.4.8";
+  version = "1.5.0";
   src = fetchFromGitHub {
     owner = "firezone";
     repo = "firezone";
     tag = "headless-client-${version}";
-    hash = "sha256-JfsOiNTwwpO998mKA1ZGZTdZfzOgP6AKBkg8cuaqKr0=";
+    hash = "sha256-3iU7AHu3GupqiZEDkuOEb+rFPA2KB1fjVNX1BY4abXc=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-Ok+pyGG5VHJbsKenKBr0mM1XRoOiAso0ebeQ5hDuwjM=";
+  cargoHash = "sha256-p2zLhLFL6NbHvVojQU5+1amf+Kh0jRAbIESPt2vqWwg=";
   sourceRoot = "${src.name}/rust";
   buildAndTestSubdir = "headless-client";
   RUSTFLAGS = "--cfg system_certs";
diff --git a/pkgs/by-name/fl/flare-signal/package.nix b/pkgs/by-name/fl/flare-signal/package.nix
index cd15e153b8a9..2a54671b5f2f 100644
--- a/pkgs/by-name/fl/flare-signal/package.nix
+++ b/pkgs/by-name/fl/flare-signal/package.nix
@@ -22,19 +22,19 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "flare";
-  version = "0.16.2";
+  version = "0.16.3";
 
   src = fetchFromGitLab {
     domain = "gitlab.com";
     owner = "schmiddi-on-mobile";
     repo = "flare";
     tag = finalAttrs.version;
-    hash = "sha256-H7lh3yjAC4xSv5NsLo3q4bEzuLgEh/UExwCw3BJWUeQ=";
+    hash = "sha256-uUEeARhKhI6SvzZHLAvDgBjOxw82Yp88c6U0cHeRKoc=";
   };
 
   cargoDeps = rustPlatform.fetchCargoVendor {
     inherit (finalAttrs) pname version src;
-    hash = "sha256-x1Yyr6Mwd1fYylrhRflpnzkBKG6Zm8R5UO/jcqP+aKE=";
+    hash = "sha256-bQiQrl+yqKDGFXN7VfS7VEWKAcT1LtoRZjWq/BwHgKw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/fl/flashmq/package.nix b/pkgs/by-name/fl/flashmq/package.nix
index dcb75fc62b89..3b8ef98d0a61 100644
--- a/pkgs/by-name/fl/flashmq/package.nix
+++ b/pkgs/by-name/fl/flashmq/package.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "flashmq";
-  version = "1.21.1";
+  version = "1.22.0";
 
   src = fetchFromGitHub {
     owner = "halfgaar";
     repo = "FlashMQ";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-ccTarrInS9Af9fT43dgRTuHVuHbWlYzDAEh31myHUvY=";
+    hash = "sha256-yFoyErmBvitBRQ2bNOPY62FaV6YJNAXx8dqkIw2ACm4=";
   };
 
   nativeBuildInputs = [
@@ -38,7 +38,7 @@ stdenv.mkDerivation (finalAttrs: {
     description = "Fast light-weight MQTT broker/server";
     mainProgram = "flashmq";
     homepage = "https://www.flashmq.org/";
-    license = lib.licenses.agpl3Only;
+    license = lib.licenses.osl3;
     maintainers = with lib.maintainers; [ sikmir ];
     platforms = lib.platforms.linux;
   };
diff --git a/pkgs/by-name/fl/flclash/package.nix b/pkgs/by-name/fl/flclash/package.nix
index d0c3b0a0fbc4..0e6d8ee33284 100644
--- a/pkgs/by-name/fl/flclash/package.nix
+++ b/pkgs/by-name/fl/flclash/package.nix
@@ -1,7 +1,7 @@
 {
   lib,
   fetchFromGitHub,
-  flutter329,
+  flutter332,
   keybinder3,
   libayatana-appindicator,
   buildGoModule,
@@ -12,14 +12,14 @@
 
 let
   pname = "flclash";
-  version = "0.8.84";
+  version = "0.8.86";
 
   src =
     (fetchFromGitHub {
       owner = "chen08209";
       repo = "FlClash";
       tag = "v${version}";
-      hash = "sha256-XrZay7C8XIqwAATwDd8U+sh0BcNN5ap43ibYVs6qXFg=";
+      hash = "sha256-bPMj9KWkup0nIhFAQ4BP8KiD8uP2/2b/GPy4APR+dho=";
       fetchSubmodules = true;
     }).overrideAttrs
       (_: {
@@ -32,7 +32,7 @@ let
     description = "Multi-platform proxy client based on ClashMeta, simple and easy to use, open-source and ad-free";
     homepage = "https://github.com/chen08209/FlClash";
     license = with lib.licenses; [ gpl3Plus ];
-    maintainers = with lib.maintainers; [ ];
+    maintainers = with lib.maintainers; [ emaryn ];
   };
 
   libclash = buildGoModule {
@@ -41,7 +41,7 @@ let
 
     modRoot = "core";
 
-    vendorHash = "sha256-Wm1VheSLaAS+tLQq7lNkPzoEER1sKiNczUgYLSfuLng=";
+    vendorHash = "sha256-pc0TnYnY6QWpGdO7IGAquuyS+NXbq7Xkr+dOo8uLPQU=";
 
     env.CGO_ENABLED = 0;
 
@@ -57,11 +57,16 @@ let
     meta = metaCommon;
   };
 in
-flutter329.buildFlutterApplication {
+flutter332.buildFlutterApplication {
   inherit pname version src;
 
   pubspecLock = lib.importJSON ./pubspec.lock.json;
 
+  gitHashes = {
+    flutter_js = "sha256-4PgiUL7aBnWVOmz2bcSxKt81BRVMnopabj5LDbtPYk4=";
+    re_editor = "sha256-PuaXoByTmkov2Dsz0kBHBHr/o63+jgPrnY9gpK7AOhA=";
+  };
+
   nativeBuildInputs = [
     copyDesktopItems
     autoPatchelfHook
@@ -81,9 +86,7 @@ flutter329.buildFlutterApplication {
       icon = "flclash";
       genericName = "FlClash";
       desktopName = "FlClash";
-      categories = [
-        "Network"
-      ];
+      categories = [ "Network" ];
       keywords = [
         "FlClash"
         "Clash"
diff --git a/pkgs/by-name/fl/flclash/pubspec.lock.json b/pkgs/by-name/fl/flclash/pubspec.lock.json
index 6011f367d9f0..6f16b118f660 100644
--- a/pkgs/by-name/fl/flclash/pubspec.lock.json
+++ b/pkgs/by-name/fl/flclash/pubspec.lock.json
@@ -4,37 +4,31 @@
       "dependency": "transitive",
       "description": {
         "name": "_fe_analyzer_shared",
-        "sha256": "16e298750b6d0af7ce8a3ba7c18c69c3785d11b15ec83f6dcd0ad2a0009b3cab",
+        "sha256": "dc27559385e905ad30838356c5f5d574014ba39872d732111cd07ac0beff4c57",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "76.0.0"
-    },
-    "_macros": {
-      "dependency": "transitive",
-      "description": "dart",
-      "source": "sdk",
-      "version": "0.3.3"
+      "version": "80.0.0"
     },
     "analyzer": {
       "dependency": "transitive",
       "description": {
         "name": "analyzer",
-        "sha256": "1f14db053a8c23e260789e9b0980fa27f2680dd640932cae5e1137cce0e46e1e",
+        "sha256": "192d1c5b944e7e53b24b5586db760db934b177d4147c42fbca8c8c5f1eb8d11e",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "6.11.0"
+      "version": "7.3.0"
     },
     "analyzer_plugin": {
       "dependency": "transitive",
       "description": {
         "name": "analyzer_plugin",
-        "sha256": "9661b30b13a685efaee9f02e5d01ed9f2b423bd889d28a304d02d704aee69161",
+        "sha256": "1d460d14e3c2ae36dc2b32cef847c4479198cf87704f63c3c3c8150ee50c3916",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.11.3"
+      "version": "0.12.0"
     },
     "animations": {
       "dependency": "direct main",
@@ -100,21 +94,21 @@
       "dependency": "direct dev",
       "description": {
         "name": "args",
-        "sha256": "bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6",
+        "sha256": "d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.6.0"
+      "version": "2.7.0"
     },
     "async": {
       "dependency": "transitive",
       "description": {
         "name": "async",
-        "sha256": "d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63",
+        "sha256": "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.12.0"
+      "version": "2.13.0"
     },
     "boolean_selector": {
       "dependency": "transitive",
@@ -130,61 +124,61 @@
       "dependency": "transitive",
       "description": {
         "name": "build",
-        "sha256": "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0",
-        "url": "https://pub.dev"
-      },
-      "source": "hosted",
-      "version": "2.4.1"
-    },
-    "build_config": {
-      "dependency": "transitive",
-      "description": {
-        "name": "build_config",
-        "sha256": "bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1",
-        "url": "https://pub.dev"
-      },
-      "source": "hosted",
-      "version": "1.1.1"
-    },
-    "build_daemon": {
-      "dependency": "transitive",
-      "description": {
-        "name": "build_daemon",
-        "sha256": "79b2aef6ac2ed00046867ed354c88778c9c0f029df8a20fe10b5436826721ef9",
-        "url": "https://pub.dev"
-      },
-      "source": "hosted",
-      "version": "4.0.2"
-    },
-    "build_resolvers": {
-      "dependency": "transitive",
-      "description": {
-        "name": "build_resolvers",
-        "sha256": "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a",
+        "sha256": "cef23f1eda9b57566c81e2133d196f8e3df48f244b317368d65c5943d91148f0",
         "url": "https://pub.dev"
       },
       "source": "hosted",
       "version": "2.4.2"
     },
+    "build_config": {
+      "dependency": "transitive",
+      "description": {
+        "name": "build_config",
+        "sha256": "4ae2de3e1e67ea270081eaee972e1bd8f027d459f249e0f1186730784c2e7e33",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.2"
+    },
+    "build_daemon": {
+      "dependency": "transitive",
+      "description": {
+        "name": "build_daemon",
+        "sha256": "8e928697a82be082206edb0b9c99c5a4ad6bc31c9e9b8b2f291ae65cd4a25daa",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.0.4"
+    },
+    "build_resolvers": {
+      "dependency": "transitive",
+      "description": {
+        "name": "build_resolvers",
+        "sha256": "b9e4fda21d846e192628e7a4f6deda6888c36b5b69ba02ff291a01fd529140f0",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.4.4"
+    },
     "build_runner": {
       "dependency": "direct dev",
       "description": {
         "name": "build_runner",
-        "sha256": "028819cfb90051c6b5440c7e574d1896f8037e3c96cf17aaeb054c9311cfbf4d",
+        "sha256": "058fe9dce1de7d69c4b84fada934df3e0153dd000758c4d65964d0166779aa99",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.4.13"
+      "version": "2.4.15"
     },
     "build_runner_core": {
       "dependency": "transitive",
       "description": {
         "name": "build_runner_core",
-        "sha256": "f8126682b87a7282a339b871298cc12009cb67109cfa1614d6436fb0289193e0",
+        "sha256": "22e3aa1c80e0ada3722fe5b63fd43d9c8990759d0a2cf489c8c5d7b2bdebc021",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "7.3.2"
+      "version": "8.0.0"
     },
     "built_collection": {
       "dependency": "transitive",
@@ -200,41 +194,11 @@
       "dependency": "transitive",
       "description": {
         "name": "built_value",
-        "sha256": "c7913a9737ee4007efedaffc968c049fd0f3d0e49109e778edc10de9426005cb",
+        "sha256": "ea90e81dc4a25a043d9bee692d20ed6d1c4a1662a28c03a96417446c093ed6b4",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "8.9.2"
-    },
-    "cached_network_image": {
-      "dependency": "direct main",
-      "description": {
-        "name": "cached_network_image",
-        "sha256": "7c1183e361e5c8b0a0f21a28401eecdbde252441106a9816400dd4c2b2424916",
-        "url": "https://pub.dev"
-      },
-      "source": "hosted",
-      "version": "3.4.1"
-    },
-    "cached_network_image_platform_interface": {
-      "dependency": "transitive",
-      "description": {
-        "name": "cached_network_image_platform_interface",
-        "sha256": "35814b016e37fbdc91f7ae18c8caf49ba5c88501813f73ce8a07027a395e2829",
-        "url": "https://pub.dev"
-      },
-      "source": "hosted",
-      "version": "4.1.1"
-    },
-    "cached_network_image_web": {
-      "dependency": "transitive",
-      "description": {
-        "name": "cached_network_image_web",
-        "sha256": "980842f4e8e2535b8dbd3d5ca0b1f0ba66bf61d14cc3a17a9b4788a3685ba062",
-        "url": "https://pub.dev"
-      },
-      "source": "hosted",
-      "version": "1.3.1"
+      "version": "8.9.5"
     },
     "characters": {
       "dependency": "transitive",
@@ -310,11 +274,11 @@
       "dependency": "direct main",
       "description": {
         "name": "connectivity_plus",
-        "sha256": "e0817759ec6d2d8e57eb234e6e57d2173931367a865850c7acea40d4b4f9c27d",
+        "sha256": "051849e2bd7c7b3bc5844ea0d096609ddc3a859890ec3a9ac4a65a2620cc1f99",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "6.1.1"
+      "version": "6.1.4"
     },
     "connectivity_plus_platform_interface": {
       "dependency": "transitive",
@@ -347,7 +311,7 @@
       "version": "0.3.4+2"
     },
     "crypto": {
-      "dependency": "direct dev",
+      "dependency": "direct main",
       "description": {
         "name": "crypto",
         "sha256": "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855",
@@ -360,61 +324,61 @@
       "dependency": "direct dev",
       "description": {
         "name": "custom_lint",
-        "sha256": "3486c470bb93313a9417f926c7dd694a2e349220992d7b9d14534dc49c15bba9",
+        "sha256": "021897cce2b6c783b2521543e362e7fe1a2eaab17bf80514d8de37f99942ed9e",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.7.0"
+      "version": "0.7.3"
     },
     "custom_lint_builder": {
       "dependency": "transitive",
       "description": {
         "name": "custom_lint_builder",
-        "sha256": "42cdc41994eeeddab0d7a722c7093ec52bd0761921eeb2cbdbf33d192a234759",
+        "sha256": "e4235b9d8cef59afe621eba086d245205c8a0a6c70cd470be7cb17494d6df32d",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.7.0"
+      "version": "0.7.3"
     },
     "custom_lint_core": {
       "dependency": "transitive",
       "description": {
         "name": "custom_lint_core",
-        "sha256": "02450c3e45e2a6e8b26c4d16687596ab3c4644dd5792e3313aa9ceba5a49b7f5",
+        "sha256": "6dcee8a017181941c51a110da7e267c1d104dc74bec8862eeb8c85b5c8759a9e",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.7.0"
+      "version": "0.7.1"
     },
     "custom_lint_visitor": {
       "dependency": "transitive",
       "description": {
         "name": "custom_lint_visitor",
-        "sha256": "bfe9b7a09c4775a587b58d10ebb871d4fe618237639b1e84d5ec62d7dfef25f9",
+        "sha256": "36282d85714af494ee2d7da8c8913630aa6694da99f104fb2ed4afcf8fc857d8",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.0.0+6.11.0"
+      "version": "1.0.0+7.3.0"
     },
     "dart_style": {
       "dependency": "transitive",
       "description": {
         "name": "dart_style",
-        "sha256": "7856d364b589d1f08986e140938578ed36ed948581fbc3bc9aef1805039ac5ab",
+        "sha256": "5b236382b47ee411741447c1f1e111459c941ea1b3f2b540dde54c210a3662af",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.3.7"
+      "version": "3.1.0"
     },
     "dbus": {
       "dependency": "transitive",
       "description": {
         "name": "dbus",
-        "sha256": "365c771ac3b0e58845f39ec6deebc76e3276aa9922b0cc60840712094d9047ac",
+        "sha256": "79e0c23480ff85dc68de79e2cd6334add97e48f7f4865d17686dd6ea81a47e8c",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.7.10"
+      "version": "0.7.11"
     },
     "defer_pointer": {
       "dependency": "direct main",
@@ -430,11 +394,11 @@
       "dependency": "direct main",
       "description": {
         "name": "device_info_plus",
-        "sha256": "306b78788d1bb569edb7c55d622953c2414ca12445b41c9117963e03afc5c513",
+        "sha256": "0c6396126421b590089447154c5f98a5de423b70cfb15b1578fd018843ee6f53",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "11.3.3"
+      "version": "11.4.0"
     },
     "device_info_plus_platform_interface": {
       "dependency": "transitive",
@@ -460,11 +424,11 @@
       "dependency": "transitive",
       "description": {
         "name": "dio_web_adapter",
-        "sha256": "33259a9276d6cea88774a0000cfae0d861003497755969c92faa223108620dc8",
+        "sha256": "7586e476d70caecaf1686d21eee7247ea43ef5c345eab9e0cc3583ff13378d78",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.0.0"
+      "version": "2.1.1"
     },
     "dynamic_color": {
       "dependency": "direct main",
@@ -500,11 +464,11 @@
       "dependency": "transitive",
       "description": {
         "name": "fake_async",
-        "sha256": "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc",
+        "sha256": "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.3.2"
+      "version": "1.3.3"
     },
     "ffi": {
       "dependency": "direct main",
@@ -520,11 +484,11 @@
       "dependency": "direct dev",
       "description": {
         "name": "ffigen",
-        "sha256": "a0ca4853028c6a9e4d9a0a40bb744fceb898c89d75931d08e87b3987d0087060",
+        "sha256": "72d732c33557fc0ca9b46379d3deff2dadbdc539696dc0b270189e2989be20ef",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "15.0.0"
+      "version": "18.1.0"
     },
     "file": {
       "dependency": "transitive",
@@ -540,11 +504,11 @@
       "dependency": "direct main",
       "description": {
         "name": "file_picker",
-        "sha256": "c2376a6aae82358a9f9ccdd7d1f4006d08faa39a2767cce01031d9f593a8bd3b",
+        "sha256": "ab13ae8ef5580a411c458d6207b6774a6c237d77ac37011b13994879f68a8810",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "8.1.6"
+      "version": "8.3.7"
     },
     "file_selector_linux": {
       "dependency": "transitive",
@@ -580,11 +544,11 @@
       "dependency": "transitive",
       "description": {
         "name": "file_selector_windows",
-        "sha256": "8f5d2f6590d51ecd9179ba39c64f722edc15226cc93dcc8698466ad36a4a85a4",
+        "sha256": "320fcfb6f33caa90f0b58380489fc5ac05d99ee94b61aa96ec2bff0ba81d3c2b",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.9.3+3"
+      "version": "0.9.3+4"
     },
     "fixnum": {
       "dependency": "transitive",
@@ -603,7 +567,7 @@
       "version": "0.0.0"
     },
     "flutter_cache_manager": {
-      "dependency": "transitive",
+      "dependency": "direct main",
       "description": {
         "name": "flutter_cache_manager",
         "sha256": "400b6592f16a4409a7f2bb929a9a7e38c72cceb8ffb99ee57bbf2cb2cecf8386",
@@ -612,6 +576,17 @@
       "source": "hosted",
       "version": "3.4.1"
     },
+    "flutter_js": {
+      "dependency": "direct main",
+      "description": {
+        "path": ".",
+        "ref": "master",
+        "resolved-ref": "c0e10a5dab0e22cd616ec92ae71471d76369cbfe",
+        "url": "https://github.com/chen08209/flutter_js"
+      },
+      "source": "git",
+      "version": "0.8.3"
+    },
     "flutter_lints": {
       "dependency": "direct dev",
       "description": {
@@ -632,11 +607,11 @@
       "dependency": "transitive",
       "description": {
         "name": "flutter_plugin_android_lifecycle",
-        "sha256": "9b78450b89f059e96c9ebb355fa6b3df1d6b330436e0b885fb49594c41721398",
+        "sha256": "f948e346c12f8d5480d2825e03de228d0eb8c3a737e4cdaa122267b89c022b5e",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.0.23"
+      "version": "2.0.28"
     },
     "flutter_riverpod": {
       "dependency": "direct main",
@@ -648,6 +623,16 @@
       "source": "hosted",
       "version": "2.6.1"
     },
+    "flutter_svg": {
+      "dependency": "direct main",
+      "description": {
+        "name": "flutter_svg",
+        "sha256": "d44bf546b13025ec7353091516f6881f1d4c633993cb109c3916c3a0159dadf1",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.1.0"
+    },
     "flutter_test": {
       "dependency": "direct dev",
       "description": "flutter",
@@ -664,11 +649,11 @@
       "dependency": "direct dev",
       "description": {
         "name": "freezed",
-        "sha256": "44c19278dd9d89292cf46e97dc0c1e52ce03275f40a97c5a348e802a924bf40e",
+        "sha256": "59a584c24b3acdc5250bb856d0d3e9c0b798ed14a4af1ddb7dc1c7b41df91c9c",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.5.7"
+      "version": "2.5.8"
     },
     "freezed_annotation": {
       "dependency": "direct main",
@@ -694,11 +679,11 @@
       "dependency": "transitive",
       "description": {
         "name": "glob",
-        "sha256": "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63",
+        "sha256": "c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.1.2"
+      "version": "2.1.3"
     },
     "graphs": {
       "dependency": "transitive",
@@ -784,31 +769,31 @@
       "dependency": "transitive",
       "description": {
         "name": "http",
-        "sha256": "b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010",
+        "sha256": "2c11f3f94c687ee9bad77c171151672986360b2b001d109814ee7140b2cf261b",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.2.2"
+      "version": "1.4.0"
     },
     "http_multi_server": {
       "dependency": "transitive",
       "description": {
         "name": "http_multi_server",
-        "sha256": "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b",
+        "sha256": "aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.2.1"
+      "version": "3.2.2"
     },
     "http_parser": {
       "dependency": "transitive",
       "description": {
         "name": "http_parser",
-        "sha256": "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b",
+        "sha256": "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "4.0.2"
+      "version": "4.1.2"
     },
     "image_picker": {
       "dependency": "direct main",
@@ -824,11 +809,11 @@
       "dependency": "transitive",
       "description": {
         "name": "image_picker_android",
-        "sha256": "fa8141602fde3f7e2f81dbf043613eb44dfa325fa0bcf93c0f142c9f7a2c193e",
+        "sha256": "317a5d961cec5b34e777b9252393f2afbd23084aa6e60fcf601dcf6341b9ebeb",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.8.12+18"
+      "version": "0.8.12+23"
     },
     "image_picker_for_web": {
       "dependency": "transitive",
@@ -844,41 +829,41 @@
       "dependency": "transitive",
       "description": {
         "name": "image_picker_ios",
-        "sha256": "4f0568120c6fcc0aaa04511cb9f9f4d29fc3d0139884b1d06be88dcec7641d6b",
+        "sha256": "05da758e67bc7839e886b3959848aa6b44ff123ab4b28f67891008afe8ef9100",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.8.12+1"
+      "version": "0.8.12+2"
     },
     "image_picker_linux": {
       "dependency": "transitive",
       "description": {
         "name": "image_picker_linux",
-        "sha256": "4ed1d9bb36f7cd60aa6e6cd479779cc56a4cb4e4de8f49d487b1aaad831300fa",
+        "sha256": "34a65f6740df08bbbeb0a1abd8e6d32107941fd4868f67a507b25601651022c9",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.2.1+1"
+      "version": "0.2.1+2"
     },
     "image_picker_macos": {
       "dependency": "transitive",
       "description": {
         "name": "image_picker_macos",
-        "sha256": "3f5ad1e8112a9a6111c46d0b57a7be2286a9a07fc6e1976fdf5be2bd31d4ff62",
+        "sha256": "1b90ebbd9dcf98fb6c1d01427e49a55bd96b5d67b8c67cf955d60a5de74207c1",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.2.1+1"
+      "version": "0.2.1+2"
     },
     "image_picker_platform_interface": {
       "dependency": "transitive",
       "description": {
         "name": "image_picker_platform_interface",
-        "sha256": "9ec26d410ff46f483c5519c29c02ef0e02e13a543f882b152d4bfd2f06802f80",
+        "sha256": "886d57f0be73c4b140004e78b9f28a8914a09e50c2d816bdd0520051a71236a0",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.10.0"
+      "version": "2.10.1"
     },
     "image_picker_windows": {
       "dependency": "transitive",
@@ -894,11 +879,11 @@
       "dependency": "direct main",
       "description": {
         "name": "intl",
-        "sha256": "d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf",
+        "sha256": "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.19.0"
+      "version": "0.20.2"
     },
     "io": {
       "dependency": "transitive",
@@ -934,11 +919,11 @@
       "dependency": "transitive",
       "description": {
         "name": "js",
-        "sha256": "c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf",
+        "sha256": "53385261521cc4a0c4658fd0ad07a7d14591cf8fc33abbceae306ddb974888dc",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.7.1"
+      "version": "0.7.2"
     },
     "json_annotation": {
       "dependency": "direct main",
@@ -954,11 +939,11 @@
       "dependency": "direct dev",
       "description": {
         "name": "json_serializable",
-        "sha256": "c2fcb3920cf2b6ae6845954186420fca40bc0a8abcc84903b7801f17d7050d7c",
+        "sha256": "c50ef5fc083d5b5e12eef489503ba3bf5ccc899e487d691584699b4bdefeea8c",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "6.9.0"
+      "version": "6.9.5"
     },
     "launch_at_startup": {
       "dependency": "direct main",
@@ -974,11 +959,11 @@
       "dependency": "transitive",
       "description": {
         "name": "leak_tracker",
-        "sha256": "c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec",
+        "sha256": "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "10.0.8"
+      "version": "10.0.9"
     },
     "leak_tracker_flutter_testing": {
       "dependency": "transitive",
@@ -1004,11 +989,11 @@
       "dependency": "transitive",
       "description": {
         "name": "lints",
-        "sha256": "3315600f3fb3b135be672bf4a178c55f274bebe368325ae18462c89ac1e3b413",
+        "sha256": "c35bb79562d980e9a453fc715854e1ed39e24e7d0297a880ef54e17f9874a9d7",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "5.0.0"
+      "version": "5.1.1"
     },
     "logging": {
       "dependency": "transitive",
@@ -1030,16 +1015,6 @@
       "source": "hosted",
       "version": "2.0.3"
     },
-    "macros": {
-      "dependency": "transitive",
-      "description": {
-        "name": "macros",
-        "sha256": "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656",
-        "url": "https://pub.dev"
-      },
-      "source": "hosted",
-      "version": "0.1.3-main.0"
-    },
     "matcher": {
       "dependency": "transitive",
       "description": {
@@ -1094,11 +1069,11 @@
       "dependency": "direct main",
       "description": {
         "name": "mobile_scanner",
-        "sha256": "728828a798d1a2ee506beb652ca23d974c542c96ed03dcbd5eaf97bef96cdaad",
+        "sha256": "72f06a071aa8b14acea3ab43ea7949eefe4a2469731ae210e006ba330a033a8c",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "6.0.2"
+      "version": "7.0.0"
     },
     "nm": {
       "dependency": "transitive",
@@ -1110,45 +1085,35 @@
       "source": "hosted",
       "version": "0.5.0"
     },
-    "octo_image": {
-      "dependency": "transitive",
-      "description": {
-        "name": "octo_image",
-        "sha256": "34faa6639a78c7e3cbe79be6f9f96535867e879748ade7d17c9b1ae7536293bd",
-        "url": "https://pub.dev"
-      },
-      "source": "hosted",
-      "version": "2.1.0"
-    },
     "package_config": {
       "dependency": "transitive",
       "description": {
         "name": "package_config",
-        "sha256": "92d4488434b520a62570293fbd33bb556c7d49230791c1b4bbd973baf6d2dc67",
+        "sha256": "f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.1.1"
+      "version": "2.2.0"
     },
     "package_info_plus": {
       "dependency": "direct main",
       "description": {
         "name": "package_info_plus",
-        "sha256": "70c421fe9d9cc1a9a7f3b05ae56befd469fe4f8daa3b484823141a55442d858d",
+        "sha256": "7976bfe4c583170d6cdc7077e3237560b364149fcd268b5f53d95a991963b191",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "8.1.2"
+      "version": "8.3.0"
     },
     "package_info_plus_platform_interface": {
       "dependency": "transitive",
       "description": {
         "name": "package_info_plus_platform_interface",
-        "sha256": "a5ef9986efc7bf772f2696183a3992615baa76c1ffb1189318dd8803778fb05b",
+        "sha256": "6c935fb612dff8e3cc9632c2b301720c77450a126114126ffaafe28d2e87956c",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.0.2"
+      "version": "3.2.0"
     },
     "path": {
       "dependency": "direct main",
@@ -1160,6 +1125,16 @@
       "source": "hosted",
       "version": "1.9.1"
     },
+    "path_parsing": {
+      "dependency": "transitive",
+      "description": {
+        "name": "path_parsing",
+        "sha256": "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.0"
+    },
     "path_provider": {
       "dependency": "direct main",
       "description": {
@@ -1174,11 +1149,11 @@
       "dependency": "transitive",
       "description": {
         "name": "path_provider_android",
-        "sha256": "4adf4fd5423ec60a29506c76581bc05854c55e3a0b72d35bb28d661c9686edf2",
+        "sha256": "d0d310befe2c8ab9e7f393288ccbb11b60c019c6b5afc21973eeee4dda2b35e9",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.2.15"
+      "version": "2.2.17"
     },
     "path_provider_foundation": {
       "dependency": "transitive",
@@ -1224,11 +1199,11 @@
       "dependency": "transitive",
       "description": {
         "name": "petitparser",
-        "sha256": "c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27",
+        "sha256": "07c8f0b1913bcde1ff0d26e57ace2f3012ccbf2b204e070290dad3bb22797646",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "6.0.2"
+      "version": "6.1.0"
     },
     "platform": {
       "dependency": "transitive",
@@ -1273,21 +1248,21 @@
       "dependency": "transitive",
       "description": {
         "name": "pub_semver",
-        "sha256": "7b3cfbf654f3edd0c6298ecd5be782ce997ddf0e00531b9464b55245185bbbbd",
+        "sha256": "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.1.5"
+      "version": "2.2.0"
     },
     "pubspec_parse": {
       "dependency": "transitive",
       "description": {
         "name": "pubspec_parse",
-        "sha256": "c799b721d79eb6ee6fa56f00c04b472dcd44a30d258fac2174a6ec57302678f8",
+        "sha256": "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.3.0"
+      "version": "1.5.0"
     },
     "quiver": {
       "dependency": "transitive",
@@ -1302,11 +1277,12 @@
     "re_editor": {
       "dependency": "direct main",
       "description": {
-        "name": "re_editor",
-        "sha256": "17e430f0591dd361992ec2dd6f69191c1853fa46e05432e095310a8f82ee820e",
-        "url": "https://pub.dev"
+        "path": ".",
+        "ref": "main",
+        "resolved-ref": "7cda330fc33d5ef9e00333048b70ce65a5f5d550",
+        "url": "https://github.com/chen08209/re-editor.git"
       },
-      "source": "hosted",
+      "source": "git",
       "version": "0.7.0"
     },
     "re_highlight": {
@@ -1333,11 +1309,11 @@
       "dependency": "transitive",
       "description": {
         "name": "riverpod_analyzer_utils",
-        "sha256": "c6b8222b2b483cb87ae77ad147d6408f400c64f060df7a225b127f4afef4f8c8",
+        "sha256": "837a6dc33f490706c7f4632c516bcd10804ee4d9ccc8046124ca56388715fdf3",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.5.8"
+      "version": "0.5.9"
     },
     "riverpod_annotation": {
       "dependency": "direct main",
@@ -1353,21 +1329,21 @@
       "dependency": "direct dev",
       "description": {
         "name": "riverpod_generator",
-        "sha256": "63546d70952015f0981361636bf8f356d9cfd9d7f6f0815e3c07789a41233188",
+        "sha256": "120d3310f687f43e7011bb213b90a436f1bbc300f0e4b251a72c39bccb017a4f",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.6.3"
+      "version": "2.6.4"
     },
     "riverpod_lint": {
       "dependency": "direct dev",
       "description": {
         "name": "riverpod_lint",
-        "sha256": "83e4caa337a9840469b7b9bd8c2351ce85abad80f570d84146911b32086fbd99",
+        "sha256": "b05408412b0f75dec954e032c855bc28349eeed2d2187f94519e1ddfdf8b3693",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.6.3"
+      "version": "2.6.4"
     },
     "rxdart": {
       "dependency": "transitive",
@@ -1433,21 +1409,21 @@
       "dependency": "direct main",
       "description": {
         "name": "shared_preferences",
-        "sha256": "688ee90fbfb6989c980254a56cb26ebe9bb30a3a2dff439a78894211f73de67a",
+        "sha256": "6e8bf70b7fef813df4e9a36f658ac46d107db4b4cfe1048b477d4e453a8159f5",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.5.1"
+      "version": "2.5.3"
     },
     "shared_preferences_android": {
       "dependency": "transitive",
       "description": {
         "name": "shared_preferences_android",
-        "sha256": "02a7d8a9ef346c9af715811b01fbd8e27845ad2c41148eefd31321471b41863d",
+        "sha256": "20cbd561f743a342c76c151d6ddb93a9ce6005751e7aa458baad3858bfbfb6ac",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.4.0"
+      "version": "2.4.10"
     },
     "shared_preferences_foundation": {
       "dependency": "transitive",
@@ -1483,11 +1459,11 @@
       "dependency": "transitive",
       "description": {
         "name": "shared_preferences_web",
-        "sha256": "d2ca4132d3946fec2184261726b355836a82c33d7d5b67af32692aff18a4684e",
+        "sha256": "c49bd060261c9a3f0ff445892695d6212ff603ef3115edbb448509d407600019",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.4.2"
+      "version": "2.4.3"
     },
     "shared_preferences_windows": {
       "dependency": "transitive",
@@ -1503,21 +1479,21 @@
       "dependency": "transitive",
       "description": {
         "name": "shelf",
-        "sha256": "ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4",
+        "sha256": "e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.4.1"
+      "version": "1.4.2"
     },
     "shelf_web_socket": {
       "dependency": "transitive",
       "description": {
         "name": "shelf_web_socket",
-        "sha256": "cc36c297b52866d203dbf9332263c94becc2fe0ceaa9681d07b6ef9807023b67",
+        "sha256": "3632775c8e90d6c9712f883e633716432a27758216dfb61bd86a8321c0580925",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.0.1"
+      "version": "3.0.0"
     },
     "shortid": {
       "dependency": "transitive",
@@ -1539,21 +1515,21 @@
       "dependency": "transitive",
       "description": {
         "name": "source_gen",
-        "sha256": "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832",
+        "sha256": "35c8150ece9e8c8d263337a265153c3329667640850b9304861faea59fc98f6b",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.5.0"
+      "version": "2.0.0"
     },
     "source_helper": {
       "dependency": "transitive",
       "description": {
         "name": "source_helper",
-        "sha256": "6adebc0006c37dd63fe05bca0a929b99f06402fc95aa35bf36d67f5c06de01fd",
+        "sha256": "86d247119aedce8e63f4751bd9626fc9613255935558447569ad42f9f5b48b3c",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.3.4"
+      "version": "1.3.5"
     },
     "source_span": {
       "dependency": "transitive",
@@ -1579,41 +1555,41 @@
       "dependency": "transitive",
       "description": {
         "name": "sqflite",
-        "sha256": "2d7299468485dca85efeeadf5d38986909c5eb0cd71fd3db2c2f000e6c9454bb",
+        "sha256": "e2297b1da52f127bc7a3da11439985d9b536f75070f3325e62ada69a5c585d03",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.4.1"
+      "version": "2.4.2"
     },
     "sqflite_android": {
       "dependency": "transitive",
       "description": {
         "name": "sqflite_android",
-        "sha256": "78f489aab276260cdd26676d2169446c7ecd3484bbd5fead4ca14f3ed4dd9ee3",
+        "sha256": "2b3070c5fa881839f8b402ee4a39c1b4d561704d4ebbbcfb808a119bc2a1701b",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.4.0"
+      "version": "2.4.1"
     },
     "sqflite_common": {
       "dependency": "transitive",
       "description": {
         "name": "sqflite_common",
-        "sha256": "761b9740ecbd4d3e66b8916d784e581861fd3c3553eda85e167bc49fdb68f709",
+        "sha256": "84731e8bfd8303a3389903e01fb2141b6e59b5973cacbb0929021df08dddbe8b",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.5.4+6"
+      "version": "2.5.5"
     },
     "sqflite_darwin": {
       "dependency": "transitive",
       "description": {
         "name": "sqflite_darwin",
-        "sha256": "96a698e2bc82bd770a4d6aab00b42396a7c63d9e33513a56945cbccb594c2474",
+        "sha256": "279832e5cde3fe99e8571879498c9211f3ca6391b0d818df4e17d9fff5c6ccb3",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.4.1"
+      "version": "2.4.2"
     },
     "sqflite_platform_interface": {
       "dependency": "transitive",
@@ -1659,11 +1635,11 @@
       "dependency": "transitive",
       "description": {
         "name": "stream_transform",
-        "sha256": "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f",
+        "sha256": "ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.1.0"
+      "version": "2.1.1"
     },
     "string_scanner": {
       "dependency": "transitive",
@@ -1675,15 +1651,25 @@
       "source": "hosted",
       "version": "1.4.1"
     },
+    "sync_http": {
+      "dependency": "transitive",
+      "description": {
+        "name": "sync_http",
+        "sha256": "7f0cd72eca000d2e026bcd6f990b81d0ca06022ef4e32fb257b30d3d1014a961",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.3.1"
+    },
     "synchronized": {
       "dependency": "transitive",
       "description": {
         "name": "synchronized",
-        "sha256": "69fe30f3a8b04a0be0c15ae6490fc859a78ef4c43ae2dd5e8a623d45bfcf9225",
+        "sha256": "0669c70faae6270521ee4f05bffd2919892d42d1276e6c495be80174b6bc0ef6",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.3.0+3"
+      "version": "3.3.1"
     },
     "term_glyph": {
       "dependency": "transitive",
@@ -1719,11 +1705,11 @@
       "dependency": "direct main",
       "description": {
         "name": "tray_manager",
-        "sha256": "c2da0f0f1ddb455e721cf68d05d1281fec75cf5df0a1d3cb67b6ca0bdfd5709d",
+        "sha256": "ad18c4cd73003097d182884bacb0578ad2865f3ab842a0ad00f6d043ed49eaf0",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.4.0"
+      "version": "0.5.0"
     },
     "typed_data": {
       "dependency": "transitive",
@@ -1759,21 +1745,21 @@
       "dependency": "transitive",
       "description": {
         "name": "url_launcher_android",
-        "sha256": "6fc2f56536ee873eeb867ad176ae15f304ccccc357848b351f6f0d8d4a40d193",
+        "sha256": "8582d7f6fe14d2652b4c45c9b6c14c0b678c2af2d083a11b604caeba51930d79",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "6.3.14"
+      "version": "6.3.16"
     },
     "url_launcher_ios": {
       "dependency": "transitive",
       "description": {
         "name": "url_launcher_ios",
-        "sha256": "16a513b6c12bb419304e72ea0ae2ab4fed569920d1c7cb850263fe3acc824626",
+        "sha256": "7f2022359d4c099eea7df3fdf739f7d3d3b9faf3166fb1dd390775176e0b76cb",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "6.3.2"
+      "version": "6.3.3"
     },
     "url_launcher_linux": {
       "dependency": "transitive",
@@ -1809,21 +1795,21 @@
       "dependency": "transitive",
       "description": {
         "name": "url_launcher_web",
-        "sha256": "772638d3b34c779ede05ba3d38af34657a05ac55b06279ea6edd409e323dca8e",
+        "sha256": "4bd2b7b4dc4d4d0b94e5babfffbca8eac1a126c7f3d6ecbc1a11013faa3abba2",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.3.3"
+      "version": "2.4.1"
     },
     "url_launcher_windows": {
       "dependency": "transitive",
       "description": {
         "name": "url_launcher_windows",
-        "sha256": "44cf3aabcedde30f2dba119a9dea3b0f2672fbe6fa96e85536251d678216b3c4",
+        "sha256": "3284b6d2ac454cf34f114e1d3319866fdd1e19cdc329999057e44ffe936cfa77",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.1.3"
+      "version": "3.1.4"
     },
     "uuid": {
       "dependency": "transitive",
@@ -1835,6 +1821,36 @@
       "source": "hosted",
       "version": "4.5.1"
     },
+    "vector_graphics": {
+      "dependency": "transitive",
+      "description": {
+        "name": "vector_graphics",
+        "sha256": "44cc7104ff32563122a929e4620cf3efd584194eec6d1d913eb5ba593dbcf6de",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.18"
+    },
+    "vector_graphics_codec": {
+      "dependency": "transitive",
+      "description": {
+        "name": "vector_graphics_codec",
+        "sha256": "99fd9fbd34d9f9a32efd7b6a6aae14125d8237b10403b422a6a6dfeac2806146",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.13"
+    },
+    "vector_graphics_compiler": {
+      "dependency": "transitive",
+      "description": {
+        "name": "vector_graphics_compiler",
+        "sha256": "557a315b7d2a6dbb0aaaff84d857967ce6bdc96a63dc6ee2a57ce5a6ee5d3331",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.17"
+    },
     "vector_math": {
       "dependency": "transitive",
       "description": {
@@ -1849,51 +1865,51 @@
       "dependency": "transitive",
       "description": {
         "name": "vm_service",
-        "sha256": "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14",
+        "sha256": "ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "14.3.1"
+      "version": "15.0.0"
     },
     "watcher": {
       "dependency": "transitive",
       "description": {
         "name": "watcher",
-        "sha256": "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8",
+        "sha256": "69da27e49efa56a15f8afe8f4438c4ec02eff0a117df1b22ea4aad194fe1c104",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.1.0"
+      "version": "1.1.1"
     },
     "web": {
       "dependency": "transitive",
       "description": {
         "name": "web",
-        "sha256": "cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb",
+        "sha256": "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.1.0"
+      "version": "1.1.1"
     },
     "web_socket": {
       "dependency": "transitive",
       "description": {
         "name": "web_socket",
-        "sha256": "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83",
+        "sha256": "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.1.6"
+      "version": "1.0.1"
     },
     "web_socket_channel": {
       "dependency": "transitive",
       "description": {
         "name": "web_socket_channel",
-        "sha256": "9f187088ed104edd8662ca07af4b124465893caf063ba29758f97af57e61da8f",
+        "sha256": "d645757fb0f4773d602444000a8131ff5d48c9e47adfe9772652dd1a4f2d45c8",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.0.1"
+      "version": "3.0.3"
     },
     "webdav_client": {
       "dependency": "direct main",
@@ -1909,11 +1925,11 @@
       "dependency": "direct main",
       "description": {
         "name": "win32",
-        "sha256": "dc6ecaa00a7c708e5b4d10ee7bec8c270e9276dfcab1783f57e9962d7884305f",
+        "sha256": "329edf97fdd893e0f1e3b9e88d6a0e627128cc17cc316a8d67fda8f1451178ba",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "5.12.0"
+      "version": "5.13.0"
     },
     "win32_registry": {
       "dependency": "direct main",
@@ -1938,21 +1954,11 @@
       "dependency": "direct main",
       "description": {
         "name": "window_manager",
-        "sha256": "732896e1416297c63c9e3fb95aea72d0355f61390263982a47fd519169dc5059",
+        "sha256": "51d50168ab267d344b975b15390426b1243600d436770d3f13de67e55b05ec16",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.4.3"
-    },
-    "windows_single_instance": {
-      "dependency": "direct main",
-      "description": {
-        "name": "windows_single_instance",
-        "sha256": "50d5dcd6bec90b4a5ed588b1822b1aad21b39fc96da843e61c734b3caccfd2fc",
-        "url": "https://pub.dev"
-      },
-      "source": "hosted",
-      "version": "1.0.1"
+      "version": "0.5.0"
     },
     "xdg_directories": {
       "dependency": "transitive",
@@ -1978,25 +1984,25 @@
       "dependency": "transitive",
       "description": {
         "name": "yaml",
-        "sha256": "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5",
+        "sha256": "b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.1.2"
+      "version": "3.1.3"
     },
     "yaml_edit": {
       "dependency": "transitive",
       "description": {
         "name": "yaml_edit",
-        "sha256": "e9c1a3543d2da0db3e90270dbb1e4eebc985ee5e3ffe468d83224472b2194a5f",
+        "sha256": "fb38626579fb345ad00e674e2af3a5c9b0cc4b9bfb8fd7f7ff322c7c9e62aef5",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.2.1"
+      "version": "2.2.2"
     }
   },
   "sdks": {
     "dart": ">=3.7.0 <4.0.0",
-    "flutter": ">=3.24.0"
+    "flutter": ">=3.29.0"
   }
 }
diff --git a/pkgs/by-name/fl/fleet/package.nix b/pkgs/by-name/fl/fleet/package.nix
index 2029e819aeb5..e4a1303f71d6 100644
--- a/pkgs/by-name/fl/fleet/package.nix
+++ b/pkgs/by-name/fl/fleet/package.nix
@@ -7,13 +7,13 @@
 
 buildGoModule (finalAttrs: {
   pname = "fleet";
-  version = "4.68.1";
+  version = "4.69.0";
 
   src = fetchFromGitHub {
     owner = "fleetdm";
     repo = "fleet";
     tag = "fleet-v${finalAttrs.version}";
-    hash = "sha256-XhnvhWjaU+McklFTsAhGEcSA+UkrYy8DgJ8ADE66U3o=";
+    hash = "sha256-3++w9AG70UMO6ProIBedhMs5q7Pk+pg8J50yIhnEzEM=";
   };
   vendorHash = "sha256-ZdkpgZbXchDp5kiEgCsSsd3/ltltSRjOuTPOhiBEloc=";
 
diff --git a/pkgs/by-name/fl/flet-client-flutter/package.nix b/pkgs/by-name/fl/flet-client-flutter/package.nix
index 460e6af4cfa3..d3668ce55c0d 100644
--- a/pkgs/by-name/fl/flet-client-flutter/package.nix
+++ b/pkgs/by-name/fl/flet-client-flutter/package.nix
@@ -2,7 +2,7 @@
   lib,
   fetchFromGitHub,
   pkg-config,
-  flutter327,
+  flutter329,
   gst_all_1,
   libunwind,
   makeWrapper,
@@ -18,15 +18,15 @@
   fletTarget ? "linux",
 }:
 
-flutter327.buildFlutterApplication rec {
+flutter329.buildFlutterApplication rec {
   pname = "flet-client-flutter";
-  version = "0.27.6";
+  version = "0.28.3";
 
   src = fetchFromGitHub {
     owner = "flet-dev";
     repo = "flet";
     tag = "v${version}";
-    hash = "sha256-ZtIAfLdj9209ZzgmNzTHMyzCTohxYK0Va4M8NYyie64=";
+    hash = "sha256-fD42AcfU3a/7sNvLE81pd1jdwUn5dEro3uKzaRBCWIU=";
   };
 
   sourceRoot = "${src.name}/client";
diff --git a/pkgs/by-name/fl/flet-client-flutter/pubspec.lock.json b/pkgs/by-name/fl/flet-client-flutter/pubspec.lock.json
index ef2b7145add1..4800dc547cd7 100644
--- a/pkgs/by-name/fl/flet-client-flutter/pubspec.lock.json
+++ b/pkgs/by-name/fl/flet-client-flutter/pubspec.lock.json
@@ -24,11 +24,11 @@
       "dependency": "transitive",
       "description": {
         "name": "async",
-        "sha256": "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c",
+        "sha256": "d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.11.0"
+      "version": "2.12.0"
     },
     "audioplayers": {
       "dependency": "transitive",
@@ -104,21 +104,21 @@
       "dependency": "transitive",
       "description": {
         "name": "boolean_selector",
-        "sha256": "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66",
+        "sha256": "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.1.1"
+      "version": "2.1.2"
     },
     "characters": {
       "dependency": "transitive",
       "description": {
         "name": "characters",
-        "sha256": "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605",
+        "sha256": "f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.3.0"
+      "version": "1.4.0"
     },
     "checked_yaml": {
       "dependency": "transitive",
@@ -144,21 +144,21 @@
       "dependency": "transitive",
       "description": {
         "name": "clock",
-        "sha256": "cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf",
+        "sha256": "fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.1.1"
+      "version": "1.1.2"
     },
     "collection": {
       "dependency": "transitive",
       "description": {
         "name": "collection",
-        "sha256": "a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf",
+        "sha256": "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.19.0"
+      "version": "1.19.1"
     },
     "cross_file": {
       "dependency": "transitive",
@@ -264,41 +264,41 @@
       "dependency": "transitive",
       "description": {
         "name": "fake_async",
-        "sha256": "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78",
+        "sha256": "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.3.1"
+      "version": "1.3.2"
     },
     "ffi": {
       "dependency": "transitive",
       "description": {
         "name": "ffi",
-        "sha256": "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21",
+        "sha256": "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.1.2"
+      "version": "2.1.3"
     },
     "file": {
       "dependency": "transitive",
       "description": {
         "name": "file",
-        "sha256": "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c",
+        "sha256": "a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "7.0.0"
+      "version": "7.0.1"
     },
     "file_picker": {
       "dependency": "transitive",
       "description": {
         "name": "file_picker",
-        "sha256": "aac85f20436608e01a6ffd1fdd4e746a7f33c93a2c83752e626bdfaea139b877",
+        "sha256": "ab13ae8ef5580a411c458d6207b6774a6c237d77ac37011b13994879f68a8810",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "8.1.3"
+      "version": "8.3.7"
     },
     "fixnum": {
       "dependency": "transitive",
@@ -327,7 +327,7 @@
         "relative": true
       },
       "source": "path",
-      "version": "0.27.5"
+      "version": "0.27.6"
     },
     "flet_ads": {
       "dependency": "direct main",
@@ -542,11 +542,11 @@
       "dependency": "transitive",
       "description": {
         "name": "flutter_plugin_android_lifecycle",
-        "sha256": "9d98bd47ef9d34e803d438f17fd32b116d31009f534a6fa5ce3a1167f189a6de",
+        "sha256": "615a505aef59b151b46bbeef55b36ce2b6ed299d160c51d84281946f0aa0ce0e",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.0.21"
+      "version": "2.0.24"
     },
     "flutter_redux": {
       "dependency": "transitive",
@@ -756,21 +756,21 @@
       "dependency": "transitive",
       "description": {
         "name": "leak_tracker",
-        "sha256": "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06",
+        "sha256": "c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "10.0.7"
+      "version": "10.0.8"
     },
     "leak_tracker_flutter_testing": {
       "dependency": "transitive",
       "description": {
         "name": "leak_tracker_flutter_testing",
-        "sha256": "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379",
+        "sha256": "f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.0.8"
+      "version": "3.0.9"
     },
     "leak_tracker_testing": {
       "dependency": "transitive",
@@ -846,11 +846,11 @@
       "dependency": "transitive",
       "description": {
         "name": "matcher",
-        "sha256": "d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb",
+        "sha256": "dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.12.16+1"
+      "version": "0.12.17"
     },
     "material_color_utilities": {
       "dependency": "transitive",
@@ -956,11 +956,11 @@
       "dependency": "transitive",
       "description": {
         "name": "meta",
-        "sha256": "bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7",
+        "sha256": "e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.15.0"
+      "version": "1.16.0"
     },
     "mgrs_dart": {
       "dependency": "transitive",
@@ -996,11 +996,11 @@
       "dependency": "transitive",
       "description": {
         "name": "path",
-        "sha256": "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af",
+        "sha256": "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.9.0"
+      "version": "1.9.1"
     },
     "path_parsing": {
       "dependency": "transitive",
@@ -1146,11 +1146,11 @@
       "dependency": "transitive",
       "description": {
         "name": "platform",
-        "sha256": "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65",
+        "sha256": "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.1.5"
+      "version": "3.1.6"
     },
     "plugin_platform_interface": {
       "dependency": "transitive",
@@ -1176,11 +1176,11 @@
       "dependency": "transitive",
       "description": {
         "name": "process",
-        "sha256": "21e54fd2faf1b5bdd5102afd25012184a6793927648ea81eea80552ac9405b32",
+        "sha256": "107d8be718f120bbba9dcd1e95e3bd325b1b4a4f07db64154635ba03f2567a0d",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "5.0.2"
+      "version": "5.0.3"
     },
     "proj4dart": {
       "dependency": "transitive",
@@ -1512,11 +1512,11 @@
       "dependency": "transitive",
       "description": {
         "name": "source_span",
-        "sha256": "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c",
+        "sha256": "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.10.0"
+      "version": "1.10.1"
     },
     "sprintf": {
       "dependency": "transitive",
@@ -1532,31 +1532,31 @@
       "dependency": "transitive",
       "description": {
         "name": "stack_trace",
-        "sha256": "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377",
+        "sha256": "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.12.0"
+      "version": "1.12.1"
     },
     "stream_channel": {
       "dependency": "transitive",
       "description": {
         "name": "stream_channel",
-        "sha256": "ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7",
+        "sha256": "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.1.2"
+      "version": "2.1.4"
     },
     "string_scanner": {
       "dependency": "transitive",
       "description": {
         "name": "string_scanner",
-        "sha256": "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3",
+        "sha256": "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.3.0"
+      "version": "1.4.1"
     },
     "sync_http": {
       "dependency": "transitive",
@@ -1582,21 +1582,21 @@
       "dependency": "transitive",
       "description": {
         "name": "term_glyph",
-        "sha256": "a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84",
+        "sha256": "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.2.1"
+      "version": "1.2.2"
     },
     "test_api": {
       "dependency": "transitive",
       "description": {
         "name": "test_api",
-        "sha256": "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c",
+        "sha256": "fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.7.3"
+      "version": "0.7.4"
     },
     "torch_light": {
       "dependency": "transitive",
@@ -1792,11 +1792,11 @@
       "dependency": "transitive",
       "description": {
         "name": "vm_service",
-        "sha256": "f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b",
+        "sha256": "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "14.3.0"
+      "version": "14.3.1"
     },
     "volume_controller": {
       "dependency": "transitive",
@@ -1832,11 +1832,11 @@
       "dependency": "transitive",
       "description": {
         "name": "web",
-        "sha256": "d43c1d6b787bf0afad444700ae7f4db8827f701bc61c255ac8d328c6f4d52062",
+        "sha256": "cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.0.0"
+      "version": "1.1.0"
     },
     "web_socket_channel": {
       "dependency": "transitive",
@@ -1912,11 +1912,11 @@
       "dependency": "transitive",
       "description": {
         "name": "win32",
-        "sha256": "015002c060f1ae9f41a818f2d5640389cc05283e368be19dc8d77cecb43c40c9",
+        "sha256": "daf97c9d80197ed7b619040e86c8ab9a9dad285e7671ee7390f9180cc828a51e",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "5.5.3"
+      "version": "5.10.1"
     },
     "win32_registry": {
       "dependency": "transitive",
@@ -1990,7 +1990,7 @@
     }
   },
   "sdks": {
-    "dart": ">=3.5.0 <4.0.0",
+    "dart": ">=3.7.0-0 <4.0.0",
     "flutter": ">=3.24.0"
   }
 }
diff --git a/pkgs/by-name/fl/flexget/package.nix b/pkgs/by-name/fl/flexget/package.nix
index 9a20815265e6..3b76569ea978 100644
--- a/pkgs/by-name/fl/flexget/package.nix
+++ b/pkgs/by-name/fl/flexget/package.nix
@@ -7,14 +7,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "flexget";
-  version = "3.16.3";
+  version = "3.16.5";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "Flexget";
     repo = "Flexget";
     tag = "v${version}";
-    hash = "sha256-07dCSwRLIf/cmNsFuNHs9XXFGuJvwUNWgLuxRsMOXo4=";
+    hash = "sha256-tmxVk74eqN4qIe7cJF5IIWe7aXIH3Q2vi1galTF+FbI=";
   };
 
   pythonRelaxDeps = true;
diff --git a/pkgs/by-name/fl/fllog/package.nix b/pkgs/by-name/fl/fllog/package.nix
index f69b5aa0cfb3..80e8f96ed4e6 100644
--- a/pkgs/by-name/fl/fllog/package.nix
+++ b/pkgs/by-name/fl/fllog/package.nix
@@ -8,12 +8,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.2.8";
+  version = "1.2.9";
   pname = "fllog";
 
   src = fetchurl {
     url = "mirror://sourceforge/fldigi/${pname}-${version}.tar.gz";
-    sha256 = "sha256-kJLb1ifd8sUOwGgNsIEmlhH29fQLdTfDMjKLrzK7r1I=";
+    sha256 = "sha256-3eJvT9PjHTrMn0/pArUDIIE7T7y1YnayG5PuGokwtRk=";
   };
 
   buildInputs = [
diff --git a/pkgs/by-name/fl/fluffychat/package.nix b/pkgs/by-name/fl/fluffychat/package.nix
index 3a5f6e756fb6..3128e496bd22 100644
--- a/pkgs/by-name/fl/fluffychat/package.nix
+++ b/pkgs/by-name/fl/fluffychat/package.nix
@@ -2,10 +2,11 @@
   lib,
   fetchzip,
   fetchFromGitHub,
+  fetchpatch,
   imagemagick,
   libgbm,
   libdrm,
-  flutter327,
+  flutter332,
   pulseaudio,
   makeDesktopItem,
   olm,
@@ -20,33 +21,43 @@ let
   ];
   pubspecLock = lib.importJSON ./pubspec.lock.json;
 in
-flutter327.buildFlutterApplication (
+flutter332.buildFlutterApplication (
   rec {
     pname = "fluffychat-${targetFlutterPlatform}";
-    version = "1.26.1";
+    version = "1.27.0";
 
     src = fetchFromGitHub {
       owner = "krille-chan";
       repo = "fluffychat";
       tag = "v${version}";
-      hash = "sha256-c7vSrJ8IYBMQ9JwyLFJGamlvKK7DVzh5y/sybDaibgI=";
+      hash = "sha256-kt4VpegxcZ+d0NIKan2A0AUqFLdYNcU9HY/4zyd2eSU=";
     };
 
+    # https://github.com/krille-chan/fluffychat/pull/1965
+    patches = [
+      (fetchpatch {
+        name = "fix_compilation_mxc_image.patch";
+        url = "https://github.com/krille-chan/fluffychat/commit/e1ec87d3aaae00eb030bcfda28ec8f247e2c3346.patch";
+        hash = "sha256-/cd3geNVPifAC7iTcx8V1l2WY9Y/mEw+VPl2B4HSJKY=";
+      })
+    ];
+
     inherit pubspecLock;
 
     gitHashes = {
+      flutter_secure_storage_linux = "sha256-cFNHW7dAaX8BV7arwbn68GgkkBeiAgPfhMOAFSJWlyY=";
       flutter_web_auth_2 = "sha256-3aci73SP8eXg6++IQTQoyS+erUUuSiuXymvR32sxHFw=";
       flutter_typeahead = "sha256-ZGXbbEeSddrdZOHcXE47h3Yu3w6oV7q+ZnO6GyW7Zg8=";
     };
 
     inherit targetFlutterPlatform;
 
-    meta = with lib; {
+    meta = {
       description = "Chat with your friends (matrix client)";
       homepage = "https://fluffychat.im/";
-      license = licenses.agpl3Plus;
+      license = lib.licenses.agpl3Plus;
       mainProgram = "fluffychat";
-      maintainers = with maintainers; [
+      maintainers = with lib.maintainers; [
         mkg20001
         tebriel
         aleksana
@@ -55,7 +66,7 @@ flutter327.buildFlutterApplication (
         "x86_64-linux"
         "aarch64-linux"
       ];
-      sourceProvenance = [ sourceTypes.fromSource ];
+      sourceProvenance = [ lib.sourceTypes.fromSource ];
       inherit (olm.meta) knownVulnerabilities;
     };
   }
@@ -89,7 +100,7 @@ flutter327.buildFlutterApplication (
       for size in 24 32 42 64 128 256 512; do
         D=$ICO/hicolor/''${s}x''${s}/apps
         mkdir -p $D
-        convert $FAV -resize ''${size}x''${size} $D/fluffychat.png
+        magick $FAV -resize ''${size}x''${size} $D/fluffychat.png
       done
 
       patchelf --add-rpath ${libwebrtcRpath} $out/app/fluffychat-linux/lib/libwebrtc.so
diff --git a/pkgs/by-name/fl/fluffychat/pubspec.lock.json b/pkgs/by-name/fl/fluffychat/pubspec.lock.json
index 9e4f1c88537b..40cb92441d26 100644
--- a/pkgs/by-name/fl/fluffychat/pubspec.lock.json
+++ b/pkgs/by-name/fl/fluffychat/pubspec.lock.json
@@ -50,11 +50,11 @@
       "dependency": "direct main",
       "description": {
         "name": "app_links",
-        "sha256": "433df2e61b10519407475d7f69e470789d23d593f28224c38ba1068597be7950",
+        "sha256": "85ed8fc1d25a76475914fff28cc994653bd900bc2c26e4b57a49e097febb54ba",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "6.3.3"
+      "version": "6.4.0"
     },
     "app_links_linux": {
       "dependency": "transitive",
@@ -100,31 +100,31 @@
       "dependency": "transitive",
       "description": {
         "name": "args",
-        "sha256": "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a",
+        "sha256": "d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.5.0"
+      "version": "2.7.0"
     },
     "async": {
       "dependency": "direct main",
       "description": {
         "name": "async",
-        "sha256": "d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63",
+        "sha256": "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.12.0"
+      "version": "2.13.0"
     },
     "audio_session": {
       "dependency": "transitive",
       "description": {
         "name": "audio_session",
-        "sha256": "343e83bc7809fbda2591a49e525d6b63213ade10c76f15813be9aed6657b3261",
+        "sha256": "2b7fff16a552486d078bfc09a8cde19f426dc6d6329262b684182597bec5b1ac",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.1.21"
+      "version": "0.1.25"
     },
     "badges": {
       "dependency": "direct main",
@@ -200,11 +200,11 @@
       "dependency": "transitive",
       "description": {
         "name": "charcode",
-        "sha256": "fb98c0f6d12c920a02ee2d998da788bca066ca5f148492b7085ee23372b12306",
+        "sha256": "fb0f1107cac15a5ea6ef0a6ef71a807b9e4267c713bb93e00e92d737cc8dbd8a",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.3.1"
+      "version": "1.4.0"
     },
     "checked_yaml": {
       "dependency": "transitive",
@@ -220,21 +220,31 @@
       "dependency": "direct main",
       "description": {
         "name": "chewie",
-        "sha256": "0bf6f7692cb65f7b8f59a2a17025b9cbe8f75ab4251e66161a4fc86162475fb6",
+        "sha256": "4d9554a8f87cc2dc6575dfd5ad20a4375015a29edd567fd6733febe6365e2566",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.11.0"
+      "version": "1.11.3"
+    },
+    "cli_config": {
+      "dependency": "transitive",
+      "description": {
+        "name": "cli_config",
+        "sha256": "ac20a183a07002b700f0c25e61b7ee46b23c309d76ab7b7640a028f18e4d99ec",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.2.0"
     },
     "cli_util": {
       "dependency": "transitive",
       "description": {
         "name": "cli_util",
-        "sha256": "c05b7406fdabc7a49a3929d4af76bcaccbbffcbcdcf185b082e1ae07da323d19",
+        "sha256": "ff6785f7e9e3c38ac98b2fb035701789de90154024a75b6cb926445e83197d1c",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.4.1"
+      "version": "0.4.2"
     },
     "clock": {
       "dependency": "transitive",
@@ -280,21 +290,21 @@
       "dependency": "transitive",
       "description": {
         "name": "convert",
-        "sha256": "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592",
+        "sha256": "b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.1.1"
+      "version": "3.1.2"
     },
     "coverage": {
       "dependency": "transitive",
       "description": {
         "name": "coverage",
-        "sha256": "c1fb2dce3c0085f39dc72668e85f8e0210ec7de05345821ff58530567df345a5",
+        "sha256": "802bd084fb82e55df091ec8ad1553a7331b61c08251eef19a508b6f3f3a9858d",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.9.2"
+      "version": "1.13.1"
     },
     "cross_file": {
       "dependency": "direct main",
@@ -310,21 +320,21 @@
       "dependency": "transitive",
       "description": {
         "name": "crypto",
-        "sha256": "ec30d999af904f33454ba22ed9a86162b35e52b44ac4807d1d93c288041d7d27",
+        "sha256": "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.0.5"
+      "version": "3.0.6"
     },
     "csslib": {
       "dependency": "transitive",
       "description": {
         "name": "csslib",
-        "sha256": "831883fb353c8bdc1d71979e5b342c7d88acfbc643113c14ae51e2442ea0f20f",
+        "sha256": "09bad715f418841f976c77db72d5398dc1253c21fb9c0c7f0b0b985860b2d58e",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.17.3"
+      "version": "1.0.2"
     },
     "cupertino_icons": {
       "dependency": "direct main",
@@ -340,21 +350,21 @@
       "dependency": "transitive",
       "description": {
         "name": "dart_webrtc",
-        "sha256": "e65506edb452148220efab53d8d2f8bb9d827bd8bcd53cf3a3e6df70b27f3d86",
+        "sha256": "5b76fd85ac95d6f5dee3e7d7de8d4b51bfbec1dc73804647c6aebb52d6297116",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.4.10"
+      "version": "1.5.3+hotfix.2"
     },
     "dbus": {
       "dependency": "transitive",
       "description": {
         "name": "dbus",
-        "sha256": "365c771ac3b0e58845f39ec6deebc76e3276aa9922b0cc60840712094d9047ac",
+        "sha256": "79e0c23480ff85dc68de79e2cd6334add97e48f7f4865d17686dd6ea81a47e8c",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.7.10"
+      "version": "0.7.11"
     },
     "desktop_drop": {
       "dependency": "direct main",
@@ -390,11 +400,11 @@
       "dependency": "transitive",
       "description": {
         "name": "device_info_plus_platform_interface",
-        "sha256": "282d3cf731045a2feb66abfe61bbc40870ae50a3ed10a4d3d217556c35c8c2ba",
+        "sha256": "0b04e02b30791224b31969eb1b50d723498f402971bff3630bca2ba839bd1ed2",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "7.0.1"
+      "version": "7.0.2"
     },
     "dynamic_color": {
       "dependency": "direct main",
@@ -440,21 +450,21 @@
       "dependency": "transitive",
       "description": {
         "name": "fake_async",
-        "sha256": "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc",
+        "sha256": "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.3.2"
+      "version": "1.3.3"
     },
     "ffi": {
       "dependency": "transitive",
       "description": {
         "name": "ffi",
-        "sha256": "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6",
+        "sha256": "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.1.3"
+      "version": "2.1.4"
     },
     "file": {
       "dependency": "transitive",
@@ -470,11 +480,11 @@
       "dependency": "direct main",
       "description": {
         "name": "file_picker",
-        "sha256": "167bb619cdddaa10ef2907609feb8a79c16dfa479d3afaf960f8e223f754bf12",
+        "sha256": "ab13ae8ef5580a411c458d6207b6774a6c237d77ac37011b13994879f68a8810",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "8.1.2"
+      "version": "8.3.7"
     },
     "file_selector": {
       "dependency": "direct main",
@@ -490,11 +500,11 @@
       "dependency": "transitive",
       "description": {
         "name": "file_selector_android",
-        "sha256": "00aafa9ae05a8663d0b4f17abd2a02316911ca0f46f9b9dacb9578b324d99590",
+        "sha256": "6bba3d590ee9462758879741abc132a19133600dd31832f55627442f1ebd7b54",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.5.1+9"
+      "version": "0.5.1+14"
     },
     "file_selector_ios": {
       "dependency": "transitive",
@@ -510,11 +520,11 @@
       "dependency": "transitive",
       "description": {
         "name": "file_selector_linux",
-        "sha256": "712ce7fab537ba532c8febdb1a8f167b32441e74acd68c3ccb2e36dcb52c4ab2",
+        "sha256": "54cbbd957e1156d29548c7d9b9ec0c0ebb6de0a90452198683a7d23aed617a33",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.9.3"
+      "version": "0.9.3+2"
     },
     "file_selector_macos": {
       "dependency": "transitive",
@@ -550,21 +560,21 @@
       "dependency": "transitive",
       "description": {
         "name": "file_selector_windows",
-        "sha256": "8f5d2f6590d51ecd9179ba39c64f722edc15226cc93dcc8698466ad36a4a85a4",
+        "sha256": "320fcfb6f33caa90f0b58380489fc5ac05d99ee94b61aa96ec2bff0ba81d3c2b",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.9.3+3"
+      "version": "0.9.3+4"
     },
     "fixnum": {
       "dependency": "transitive",
       "description": {
         "name": "fixnum",
-        "sha256": "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1",
+        "sha256": "b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.1.0"
+      "version": "1.1.1"
     },
     "flutter": {
       "dependency": "direct main",
@@ -738,11 +748,11 @@
       "dependency": "direct dev",
       "description": {
         "name": "flutter_native_splash",
-        "sha256": "aa06fec78de2190f3db4319dd60fdc8d12b2626e93ef9828633928c2dcaea840",
+        "sha256": "7062602e0dbd29141fb8eb19220b5871ca650be5197ab9c1f193a28b17537bc7",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.4.1"
+      "version": "2.4.4"
     },
     "flutter_new_badger": {
       "dependency": "direct main",
@@ -778,51 +788,52 @@
       "dependency": "transitive",
       "description": {
         "name": "flutter_plugin_android_lifecycle",
-        "sha256": "9b78450b89f059e96c9ebb355fa6b3df1d6b330436e0b885fb49594c41721398",
+        "sha256": "f948e346c12f8d5480d2825e03de228d0eb8c3a737e4cdaa122267b89c022b5e",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.0.23"
+      "version": "2.0.28"
     },
     "flutter_secure_storage": {
       "dependency": "direct main",
       "description": {
         "name": "flutter_secure_storage",
-        "sha256": "165164745e6afb5c0e3e3fcc72a012fb9e58496fb26ffb92cf22e16a821e85d0",
+        "sha256": "9cad52d75ebc511adfae3d447d5d13da15a55a92c9410e50f67335b6d21d16ea",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "9.2.2"
+      "version": "9.2.4"
     },
     "flutter_secure_storage_linux": {
-      "dependency": "transitive",
+      "dependency": "direct overridden",
       "description": {
-        "name": "flutter_secure_storage_linux",
-        "sha256": "4d91bfc23047422cbcd73ac684bc169859ee766482517c22172c86596bf1464b",
-        "url": "https://pub.dev"
+        "path": "flutter_secure_storage_linux",
+        "ref": "patch-2",
+        "resolved-ref": "f076cbb65b075afd6e3b648122987a67306dc298",
+        "url": "https://github.com/m-berto/flutter_secure_storage.git"
       },
-      "source": "hosted",
-      "version": "1.2.1"
+      "source": "git",
+      "version": "2.0.1"
     },
     "flutter_secure_storage_macos": {
       "dependency": "transitive",
       "description": {
         "name": "flutter_secure_storage_macos",
-        "sha256": "1693ab11121a5f925bbea0be725abfcfbbcf36c1e29e571f84a0c0f436147a81",
+        "sha256": "6c0a2795a2d1de26ae202a0d78527d163f4acbb11cde4c75c670f3a0fc064247",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.1.2"
+      "version": "3.1.3"
     },
     "flutter_secure_storage_platform_interface": {
-      "dependency": "transitive",
+      "dependency": "direct overridden",
       "description": {
         "name": "flutter_secure_storage_platform_interface",
-        "sha256": "cf91ad32ce5adef6fba4d736a542baca9daf3beac4db2d04be350b87f69ac4a8",
+        "sha256": "b8337d3d52e429e6c0a7710e38cf9742a3bb05844bd927450eb94f80c11ef85d",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.1.2"
+      "version": "2.0.0"
     },
     "flutter_secure_storage_web": {
       "dependency": "transitive",
@@ -902,11 +913,11 @@
       "dependency": "direct main",
       "description": {
         "name": "flutter_webrtc",
-        "sha256": "572df3de6c828e571db4b75b4a96a15c2f34fa3d420a84438f44a3158b22e81a",
+        "sha256": "b832dc76c0d1577f14aaf35e9c38d4ed7667cbc89c492b7bf4505d8d5f62e08b",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.12.9"
+      "version": "0.12.12+hotfix.1"
     },
     "frontend_server_client": {
       "dependency": "transitive",
@@ -928,61 +939,61 @@
       "dependency": "direct main",
       "description": {
         "name": "geolocator",
-        "sha256": "0ec58b731776bc43097fcf751f79681b6a8f6d3bc737c94779fe9f1ad73c1a81",
+        "sha256": "f62bcd90459e63210bbf9c35deb6a51c521f992a78de19a1fe5c11704f9530e2",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "13.0.1"
+      "version": "13.0.4"
     },
     "geolocator_android": {
       "dependency": "transitive",
       "description": {
         "name": "geolocator_android",
-        "sha256": "7aefc530db47d90d0580b552df3242440a10fe60814496a979aa67aa98b1fd47",
+        "sha256": "fcb1760a50d7500deca37c9a666785c047139b5f9ee15aa5469fae7dbbe3170d",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "4.6.1"
+      "version": "4.6.2"
     },
     "geolocator_apple": {
       "dependency": "transitive",
       "description": {
         "name": "geolocator_apple",
-        "sha256": "bc2aca02423ad429cb0556121f56e60360a2b7d694c8570301d06ea0c00732fd",
+        "sha256": "dbdd8789d5aaf14cf69f74d4925ad1336b4433a6efdf2fce91e8955dc921bf22",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.3.7"
+      "version": "2.3.13"
     },
     "geolocator_platform_interface": {
       "dependency": "transitive",
       "description": {
         "name": "geolocator_platform_interface",
-        "sha256": "386ce3d9cce47838355000070b1d0b13efb5bc430f8ecda7e9238c8409ace012",
+        "sha256": "30cb64f0b9adcc0fb36f628b4ebf4f731a2961a0ebd849f4b56200205056fe67",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "4.2.4"
+      "version": "4.2.6"
     },
     "geolocator_web": {
       "dependency": "transitive",
       "description": {
         "name": "geolocator_web",
-        "sha256": "2ed69328e05cd94e7eb48bb0535f5fc0c0c44d1c4fa1e9737267484d05c29b5e",
+        "sha256": "b1ae9bdfd90f861fde8fd4f209c37b953d65e92823cb73c7dee1fa021b06f172",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "4.1.1"
+      "version": "4.1.3"
     },
     "geolocator_windows": {
       "dependency": "transitive",
       "description": {
         "name": "geolocator_windows",
-        "sha256": "53da08937d07c24b0d9952eb57a3b474e29aae2abf9dd717f7e1230995f13f0e",
+        "sha256": "175435404d20278ffd220de83c2ca293b73db95eafbdc8131fe8609be1421eb6",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.2.3"
+      "version": "0.2.5"
     },
     "get_it": {
       "dependency": "transitive",
@@ -998,11 +1009,11 @@
       "dependency": "transitive",
       "description": {
         "name": "glob",
-        "sha256": "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63",
+        "sha256": "c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.1.2"
+      "version": "2.1.3"
     },
     "go_router": {
       "dependency": "direct main",
@@ -1068,11 +1079,11 @@
       "dependency": "direct main",
       "description": {
         "name": "html",
-        "sha256": "3a7812d5bcd2894edf53dfaf8cd640876cf6cef50a8f238745c8b8120ea74d3a",
+        "sha256": "6d1264f2dffa1b1101c25a91dff0dc2daee4c18e87cd8538729773c073dbf602",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.15.4"
+      "version": "0.15.6"
     },
     "html_unescape": {
       "dependency": "transitive",
@@ -1088,41 +1099,41 @@
       "dependency": "direct main",
       "description": {
         "name": "http",
-        "sha256": "b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010",
+        "sha256": "2c11f3f94c687ee9bad77c171151672986360b2b001d109814ee7140b2cf261b",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.2.2"
+      "version": "1.4.0"
     },
     "http_multi_server": {
       "dependency": "transitive",
       "description": {
         "name": "http_multi_server",
-        "sha256": "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b",
+        "sha256": "aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.2.1"
+      "version": "3.2.2"
     },
     "http_parser": {
       "dependency": "transitive",
       "description": {
         "name": "http_parser",
-        "sha256": "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b",
+        "sha256": "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "4.0.2"
+      "version": "4.1.2"
     },
     "image": {
       "dependency": "direct main",
       "description": {
         "name": "image",
-        "sha256": "2237616a36c0d69aef7549ab439b833fb7f9fb9fc861af2cc9ac3eedddd69ca8",
+        "sha256": "f31d52537dc417fdcde36088fdf11d191026fd5e4fae742491ebd40e5a8bea7d",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "4.2.0"
+      "version": "4.3.0"
     },
     "image_picker": {
       "dependency": "direct main",
@@ -1138,61 +1149,61 @@
       "dependency": "transitive",
       "description": {
         "name": "image_picker_android",
-        "sha256": "d3e5e00fdfeca8fd4ffb3227001264d449cc8950414c2ff70b0e06b9c628e643",
+        "sha256": "317a5d961cec5b34e777b9252393f2afbd23084aa6e60fcf601dcf6341b9ebeb",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.8.12+15"
+      "version": "0.8.12+23"
     },
     "image_picker_for_web": {
       "dependency": "transitive",
       "description": {
         "name": "image_picker_for_web",
-        "sha256": "65d94623e15372c5c51bebbcb820848d7bcb323836e12dfdba60b5d3a8b39e50",
+        "sha256": "717eb042ab08c40767684327be06a5d8dbb341fe791d514e4b92c7bbe1b7bb83",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.0.5"
+      "version": "3.0.6"
     },
     "image_picker_ios": {
       "dependency": "transitive",
       "description": {
         "name": "image_picker_ios",
-        "sha256": "6703696ad49f5c3c8356d576d7ace84d1faf459afb07accbb0fae780753ff447",
+        "sha256": "05da758e67bc7839e886b3959848aa6b44ff123ab4b28f67891008afe8ef9100",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.8.12"
+      "version": "0.8.12+2"
     },
     "image_picker_linux": {
       "dependency": "transitive",
       "description": {
         "name": "image_picker_linux",
-        "sha256": "4ed1d9bb36f7cd60aa6e6cd479779cc56a4cb4e4de8f49d487b1aaad831300fa",
+        "sha256": "34a65f6740df08bbbeb0a1abd8e6d32107941fd4868f67a507b25601651022c9",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.2.1+1"
+      "version": "0.2.1+2"
     },
     "image_picker_macos": {
       "dependency": "transitive",
       "description": {
         "name": "image_picker_macos",
-        "sha256": "3f5ad1e8112a9a6111c46d0b57a7be2286a9a07fc6e1976fdf5be2bd31d4ff62",
+        "sha256": "1b90ebbd9dcf98fb6c1d01427e49a55bd96b5d67b8c67cf955d60a5de74207c1",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.2.1+1"
+      "version": "0.2.1+2"
     },
     "image_picker_platform_interface": {
       "dependency": "transitive",
       "description": {
         "name": "image_picker_platform_interface",
-        "sha256": "9ec26d410ff46f483c5519c29c02ef0e02e13a543f882b152d4bfd2f06802f80",
+        "sha256": "886d57f0be73c4b140004e78b9f28a8914a09e50c2d816bdd0520051a71236a0",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.10.0"
+      "version": "2.10.1"
     },
     "image_picker_windows": {
       "dependency": "transitive",
@@ -1224,21 +1235,21 @@
       "dependency": "direct main",
       "description": {
         "name": "intl",
-        "sha256": "d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf",
+        "sha256": "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.19.0"
+      "version": "0.20.2"
     },
     "io": {
       "dependency": "transitive",
       "description": {
         "name": "io",
-        "sha256": "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e",
+        "sha256": "dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.0.4"
+      "version": "1.0.5"
     },
     "js": {
       "dependency": "transitive",
@@ -1264,31 +1275,31 @@
       "dependency": "direct main",
       "description": {
         "name": "just_audio",
-        "sha256": "b41646a8241688f1d99c2e69c4da2bb26aa4b3a99795f6ff205c2a165e033fda",
+        "sha256": "f978d5b4ccea08f267dae0232ec5405c1b05d3f3cd63f82097ea46c015d5c09e",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.9.41"
+      "version": "0.9.46"
     },
     "just_audio_platform_interface": {
       "dependency": "transitive",
       "description": {
         "name": "just_audio_platform_interface",
-        "sha256": "0243828cce503c8366cc2090cefb2b3c871aa8ed2f520670d76fd47aa1ab2790",
+        "sha256": "4cd94536af0219fa306205a58e78d67e02b0555283c1c094ee41e402a14a5c4a",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "4.3.0"
+      "version": "4.5.0"
     },
     "just_audio_web": {
       "dependency": "transitive",
       "description": {
         "name": "just_audio_web",
-        "sha256": "9a98035b8b24b40749507687520ec5ab404e291d2b0937823ff45d92cb18d448",
+        "sha256": "6ba8a2a7e87d57d32f0f7b42856ade3d6a9fbe0f1a11fabae0a4f00bb73f0663",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.4.13"
+      "version": "0.4.16"
     },
     "latlong2": {
       "dependency": "direct main",
@@ -1304,11 +1315,11 @@
       "dependency": "transitive",
       "description": {
         "name": "leak_tracker",
-        "sha256": "c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec",
+        "sha256": "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "10.0.8"
+      "version": "10.0.9"
     },
     "leak_tracker_flutter_testing": {
       "dependency": "transitive",
@@ -1374,21 +1385,21 @@
       "dependency": "transitive",
       "description": {
         "name": "logger",
-        "sha256": "697d067c60c20999686a0add96cf6aba723b3aa1f83ecf806a8097231529ec32",
+        "sha256": "be4b23575aac7ebf01f225a241eb7f6b5641eeaf43c6a8613510fc2f8cf187d1",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.4.0"
+      "version": "2.5.0"
     },
     "logging": {
       "dependency": "transitive",
       "description": {
         "name": "logging",
-        "sha256": "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340",
+        "sha256": "c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.2.0"
+      "version": "1.3.0"
     },
     "macros": {
       "dependency": "transitive",
@@ -1404,11 +1415,11 @@
       "dependency": "transitive",
       "description": {
         "name": "markdown",
-        "sha256": "ef2a1298144e3f985cc736b22e0ccdaf188b5b3970648f2d9dc13efd1d9df051",
+        "sha256": "935e23e1ff3bc02d390bad4d4be001208ee92cc217cb5b5a6c19bc14aaa318c1",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "7.2.2"
+      "version": "7.3.0"
     },
     "matcher": {
       "dependency": "transitive",
@@ -1434,11 +1445,11 @@
       "dependency": "direct main",
       "description": {
         "name": "matrix",
-        "sha256": "7d15fdbc760be7e40c58bb65e03baa8241b1e31db2bc67dab61883aabc083a85",
+        "sha256": "f8f78700f967de4333a0c9ca609dac2ae05914a27faa60c5530026b7aca6ae78",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.40.0"
+      "version": "0.40.2"
     },
     "meta": {
       "dependency": "transitive",
@@ -1474,11 +1485,11 @@
       "dependency": "direct dev",
       "description": {
         "name": "msix",
-        "sha256": "c50d6bd1aafe0d071a3c1e5a5ccb056404502935cb0a549e3178c4aae16caf33",
+        "sha256": "edde648a8133bf301883c869d19d127049683037c65ff64173ba526ac7a8af2f",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.16.8"
+      "version": "3.16.9"
     },
     "native_imaging": {
       "dependency": "direct main",
@@ -1534,31 +1545,31 @@
       "dependency": "transitive",
       "description": {
         "name": "package_config",
-        "sha256": "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd",
+        "sha256": "f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.1.0"
+      "version": "2.2.0"
     },
     "package_info_plus": {
       "dependency": "direct main",
       "description": {
         "name": "package_info_plus",
-        "sha256": "a75164ade98cb7d24cfd0a13c6408927c6b217fa60dee5a7ff5c116a58f28918",
+        "sha256": "7976bfe4c583170d6cdc7077e3237560b364149fcd268b5f53d95a991963b191",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "8.0.2"
+      "version": "8.3.0"
     },
     "package_info_plus_platform_interface": {
       "dependency": "transitive",
       "description": {
         "name": "package_info_plus_platform_interface",
-        "sha256": "ac1f4a4847f1ade8e6a87d1f39f5d7c67490738642e2542f559ec38c37489a66",
+        "sha256": "6c935fb612dff8e3cc9632c2b301720c77450a126114126ffaafe28d2e87956c",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.0.1"
+      "version": "3.2.0"
     },
     "pana": {
       "dependency": "transitive",
@@ -1594,31 +1605,31 @@
       "dependency": "direct main",
       "description": {
         "name": "path_provider",
-        "sha256": "fec0d61223fba3154d87759e3cc27fe2c8dc498f6386c6d6fc80d1afdd1bf378",
+        "sha256": "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.1.4"
+      "version": "2.1.5"
     },
     "path_provider_android": {
       "dependency": "transitive",
       "description": {
         "name": "path_provider_android",
-        "sha256": "f7544c346a0742aee1450f9e5c0f5269d7c602b9c95fdbcd9fb8f5b1df13b1cc",
+        "sha256": "d0d310befe2c8ab9e7f393288ccbb11b60c019c6b5afc21973eeee4dda2b35e9",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.2.11"
+      "version": "2.2.17"
     },
     "path_provider_foundation": {
       "dependency": "transitive",
       "description": {
         "name": "path_provider_foundation",
-        "sha256": "f234384a3fdd67f989b4d54a5d73ca2a6c422fa55ae694381ae0f4375cd1ea16",
+        "sha256": "4843174df4d288f5e29185bd6e72a6fbdf5a4a4602717eed565497429f179942",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.4.0"
+      "version": "2.4.1"
     },
     "path_provider_linux": {
       "dependency": "transitive",
@@ -1654,51 +1665,51 @@
       "dependency": "direct main",
       "description": {
         "name": "permission_handler",
-        "sha256": "18bf33f7fefbd812f37e72091a15575e72d5318854877e0e4035a24ac1113ecb",
+        "sha256": "59adad729136f01ea9e35a48f5d1395e25cba6cea552249ddbe9cf950f5d7849",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "11.3.1"
+      "version": "11.4.0"
     },
     "permission_handler_android": {
       "dependency": "transitive",
       "description": {
         "name": "permission_handler_android",
-        "sha256": "76e4ab092c1b240d31177bb64d2b0bea43f43d0e23541ec866151b9f7b2490fa",
+        "sha256": "d3971dcdd76182a0c198c096b5db2f0884b0d4196723d21a866fc4cdea057ebc",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "12.0.12"
+      "version": "12.1.0"
     },
     "permission_handler_apple": {
       "dependency": "transitive",
       "description": {
         "name": "permission_handler_apple",
-        "sha256": "e6f6d73b12438ef13e648c4ae56bd106ec60d17e90a59c4545db6781229082a0",
+        "sha256": "f000131e755c54cf4d84a5d8bd6e4149e262cc31c5a8b1d698de1ac85fa41023",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "9.4.5"
+      "version": "9.4.7"
     },
     "permission_handler_html": {
       "dependency": "transitive",
       "description": {
         "name": "permission_handler_html",
-        "sha256": "af26edbbb1f2674af65a8f4b56e1a6f526156bc273d0e65dd8075fab51c78851",
+        "sha256": "38f000e83355abb3392140f6bc3030660cfaef189e1f87824facb76300b4ff24",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.1.3+2"
+      "version": "0.1.3+5"
     },
     "permission_handler_platform_interface": {
       "dependency": "transitive",
       "description": {
         "name": "permission_handler_platform_interface",
-        "sha256": "e9c8eadee926c4532d0305dff94b85bf961f16759c3af791486613152af4b4f9",
+        "sha256": "eb99b295153abce5d683cac8c02e22faab63e50679b937fa1bf67d58bb282878",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "4.2.3"
+      "version": "4.3.0"
     },
     "permission_handler_windows": {
       "dependency": "transitive",
@@ -1714,11 +1725,11 @@
       "dependency": "transitive",
       "description": {
         "name": "petitparser",
-        "sha256": "c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27",
+        "sha256": "07c8f0b1913bcde1ff0d26e57ace2f3012ccbf2b204e070290dad3bb22797646",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "6.0.2"
+      "version": "6.1.0"
     },
     "platform": {
       "dependency": "transitive",
@@ -1730,16 +1741,6 @@
       "source": "hosted",
       "version": "3.1.6"
     },
-    "platform_detect": {
-      "dependency": "transitive",
-      "description": {
-        "name": "platform_detect",
-        "sha256": "a62f99417fc4fa2d099ce0ccdbb1bd3977920f2a64292c326271f049d4bc3a4f",
-        "url": "https://pub.dev"
-      },
-      "source": "hosted",
-      "version": "2.1.0"
-    },
     "plugin_platform_interface": {
       "dependency": "transitive",
       "description": {
@@ -1814,11 +1815,11 @@
       "dependency": "direct main",
       "description": {
         "name": "pretty_qr_code",
-        "sha256": "cbdb4af29da1c1fa21dd76f809646c591320ab9e435d3b0eab867492d43607d5",
+        "sha256": "b078bd5d51956dea4342378af1b092ad962b81bdbb55b10fffce03461da8db74",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.3.0"
+      "version": "3.4.0"
     },
     "process": {
       "dependency": "transitive",
@@ -1844,31 +1845,31 @@
       "dependency": "direct main",
       "description": {
         "name": "provider",
-        "sha256": "c8a055ee5ce3fd98d6fc872478b03823ffdb448699c6ebdbbc71d59b596fd48c",
+        "sha256": "4abbd070a04e9ddc287673bf5a030c7ca8b685ff70218720abab8b092f53dd84",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "6.1.2"
+      "version": "6.1.5"
     },
     "pub_semver": {
       "dependency": "transitive",
       "description": {
         "name": "pub_semver",
-        "sha256": "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c",
+        "sha256": "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.1.4"
+      "version": "2.2.0"
     },
     "pubspec_parse": {
       "dependency": "transitive",
       "description": {
         "name": "pubspec_parse",
-        "sha256": "c799b721d79eb6ee6fa56f00c04b472dcd44a30d258fac2174a6ec57302678f8",
+        "sha256": "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.3.0"
+      "version": "1.5.0"
     },
     "punycode": {
       "dependency": "direct main",
@@ -1934,71 +1935,81 @@
       "dependency": "direct main",
       "description": {
         "name": "record",
-        "sha256": "4a5cf4d083d1ee49e0878823c4397d073f8eb0a775f31215d388e2bc47a9e867",
+        "sha256": "daeb3f9b3fea9797094433fe6e49a879d8e4ca4207740bc6dc7e4a58764f0817",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "5.1.2"
+      "version": "6.0.0"
     },
     "record_android": {
       "dependency": "transitive",
       "description": {
         "name": "record_android",
-        "sha256": "d7af0b3119725a0f561817c72b5f5eca4d7a76d441deef519ae04e4824c0734c",
+        "sha256": "97d7122455f30de89a01c6c244c839085be6b12abca251fc0e78f67fed73628b",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.2.6"
+      "version": "1.3.3"
     },
-    "record_darwin": {
+    "record_ios": {
       "dependency": "transitive",
       "description": {
-        "name": "record_darwin",
-        "sha256": "fe90d302acb1f3cee1ade5df9c150ca5cee33b48d8cdf1cf433bf577d7f00134",
+        "name": "record_ios",
+        "sha256": "73706ebbece6150654c9d6f57897cf9b622c581148304132ba85dba15df0fdfb",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.1.2"
+      "version": "1.0.0"
     },
     "record_linux": {
       "dependency": "transitive",
       "description": {
         "name": "record_linux",
-        "sha256": "74d41a9ebb1eb498a38e9a813dd524e8f0b4fdd627270bda9756f437b110a3e3",
+        "sha256": "fcb5964a84292813de70d52253663c1caca00a15f849fb5d0fdf9b929b28a7b9",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.7.2"
+      "version": "1.0.0"
+    },
+    "record_macos": {
+      "dependency": "transitive",
+      "description": {
+        "name": "record_macos",
+        "sha256": "02240833fde16c33fcf2c589f3e08d4394b704761b4a3bb609d872ff3043fbbd",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.0"
     },
     "record_platform_interface": {
       "dependency": "transitive",
       "description": {
         "name": "record_platform_interface",
-        "sha256": "11f8b03ea8a0e279b0e306571dbe0db0202c0b8e866495c9fa1ad2281d5e4c15",
+        "sha256": "8a575828733d4c3cb5983c914696f40db8667eab3538d4c41c50cbb79e722ef4",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.1.0"
+      "version": "1.2.0"
     },
     "record_web": {
       "dependency": "transitive",
       "description": {
         "name": "record_web",
-        "sha256": "656b7a865f90651fab997c2a563364f5fd60a0b527d5dadbb915d62d84fc3867",
+        "sha256": "654c08113961051dcb5427e63f56315ba47c0752781ba990dac9313d0ec23c70",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.1.3"
+      "version": "1.1.6"
     },
     "record_windows": {
       "dependency": "transitive",
       "description": {
         "name": "record_windows",
-        "sha256": "e653555aa3fda168aded7c34e11bd82baf0c6ac84e7624553def3c77ffefd36f",
+        "sha256": "85a22fc97f6d73ecd67c8ba5f2f472b74ef1d906f795b7970f771a0914167e99",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.0.3"
+      "version": "1.0.6"
     },
     "retry": {
       "dependency": "transitive",
@@ -2054,51 +2065,51 @@
       "dependency": "direct main",
       "description": {
         "name": "share_plus",
-        "sha256": "468c43f285207c84bcabf5737f33b914ceb8eb38398b91e5e3ad1698d1b72a52",
+        "sha256": "fce43200aa03ea87b91ce4c3ac79f0cecd52e2a7a56c7a4185023c271fbfa6da",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "10.0.2"
+      "version": "10.1.4"
     },
     "share_plus_platform_interface": {
       "dependency": "transitive",
       "description": {
         "name": "share_plus_platform_interface",
-        "sha256": "6ababf341050edff57da8b6990f11f4e99eaba837865e2e6defe16d039619db5",
+        "sha256": "cc012a23fc2d479854e6c80150696c4a5f5bb62cb89af4de1c505cf78d0a5d0b",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "5.0.0"
+      "version": "5.0.2"
     },
     "shared_preferences": {
       "dependency": "direct main",
       "description": {
         "name": "shared_preferences",
-        "sha256": "746e5369a43170c25816cc472ee016d3a66bc13fcf430c0bc41ad7b4b2922051",
+        "sha256": "6e8bf70b7fef813df4e9a36f658ac46d107db4b4cfe1048b477d4e453a8159f5",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.3.2"
+      "version": "2.5.3"
     },
     "shared_preferences_android": {
       "dependency": "transitive",
       "description": {
         "name": "shared_preferences_android",
-        "sha256": "3b9febd815c9ca29c9e3520d50ec32f49157711e143b7a4ca039eb87e8ade5ab",
+        "sha256": "20cbd561f743a342c76c151d6ddb93a9ce6005751e7aa458baad3858bfbfb6ac",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.3.3"
+      "version": "2.4.10"
     },
     "shared_preferences_foundation": {
       "dependency": "transitive",
       "description": {
         "name": "shared_preferences_foundation",
-        "sha256": "07e050c7cd39bad516f8d64c455f04508d09df104be326d8c02551590a0d513d",
+        "sha256": "6a52cfcdaeac77cad8c97b539ff688ccfc458c007b4db12be584fbe5c0e49e03",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.5.3"
+      "version": "2.5.4"
     },
     "shared_preferences_linux": {
       "dependency": "transitive",
@@ -2124,11 +2135,11 @@
       "dependency": "transitive",
       "description": {
         "name": "shared_preferences_web",
-        "sha256": "d2ca4132d3946fec2184261726b355836a82c33d7d5b67af32692aff18a4684e",
+        "sha256": "c49bd060261c9a3f0ff445892695d6212ff603ef3115edbb448509d407600019",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.4.2"
+      "version": "2.4.3"
     },
     "shared_preferences_windows": {
       "dependency": "transitive",
@@ -2144,11 +2155,11 @@
       "dependency": "transitive",
       "description": {
         "name": "shelf",
-        "sha256": "ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4",
+        "sha256": "e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.4.1"
+      "version": "1.4.2"
     },
     "shelf_packages_handler": {
       "dependency": "transitive",
@@ -2174,11 +2185,11 @@
       "dependency": "transitive",
       "description": {
         "name": "shelf_web_socket",
-        "sha256": "073c147238594ecd0d193f3456a5fe91c4b0abbcc68bf5cd95b36c4e194ac611",
+        "sha256": "3632775c8e90d6c9712f883e633716432a27758216dfb61bd86a8321c0580925",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.0.0"
+      "version": "3.0.0"
     },
     "sky_engine": {
       "dependency": "transitive",
@@ -2210,11 +2221,11 @@
       "dependency": "transitive",
       "description": {
         "name": "source_maps",
-        "sha256": "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703",
+        "sha256": "190222579a448b03896e0ca6eca5998fa810fda630c1d65e2f78b3f638f54812",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.10.12"
+      "version": "0.10.13"
     },
     "source_span": {
       "dependency": "transitive",
@@ -2240,51 +2251,81 @@
       "dependency": "transitive",
       "description": {
         "name": "sqflite",
-        "sha256": "ff5a2436ef8ebdfda748fbfe957f9981524cb5ff11e7bafa8c42771840e8a788",
+        "sha256": "e2297b1da52f127bc7a3da11439985d9b536f75070f3325e62ada69a5c585d03",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.3.3+2"
+      "version": "2.4.2"
+    },
+    "sqflite_android": {
+      "dependency": "transitive",
+      "description": {
+        "name": "sqflite_android",
+        "sha256": "2b3070c5fa881839f8b402ee4a39c1b4d561704d4ebbbcfb808a119bc2a1701b",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.4.1"
     },
     "sqflite_common": {
       "dependency": "transitive",
       "description": {
         "name": "sqflite_common",
-        "sha256": "2d8e607db72e9cb7748c9c6e739e2c9618320a5517de693d5a24609c4671b1a4",
+        "sha256": "84731e8bfd8303a3389903e01fb2141b6e59b5973cacbb0929021df08dddbe8b",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.5.4+4"
+      "version": "2.5.5"
     },
     "sqflite_common_ffi": {
       "dependency": "direct main",
       "description": {
         "name": "sqflite_common_ffi",
-        "sha256": "a6057d4c87e9260ba1ec436ebac24760a110589b9c0a859e128842eb69a7ef04",
+        "sha256": "1f3ef3888d3bfbb47785cc1dda0dc7dd7ebd8c1955d32a9e8e9dae1e38d1c4c1",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.3.3+1"
+      "version": "2.3.5"
+    },
+    "sqflite_darwin": {
+      "dependency": "transitive",
+      "description": {
+        "name": "sqflite_darwin",
+        "sha256": "279832e5cde3fe99e8571879498c9211f3ca6391b0d818df4e17d9fff5c6ccb3",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.4.2"
+    },
+    "sqflite_platform_interface": {
+      "dependency": "transitive",
+      "description": {
+        "name": "sqflite_platform_interface",
+        "sha256": "8dd4515c7bdcae0a785b0062859336de775e8c65db81ae33dd5445f35be61920",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.4.0"
     },
     "sqlcipher_flutter_libs": {
       "dependency": "direct main",
       "description": {
         "name": "sqlcipher_flutter_libs",
-        "sha256": "a6a08d3082c1deaacc8f6670c78a9c2384991102db5b234d5293aa2c65e87f61",
+        "sha256": "777c3469ada8fe6b808bd50f1c752cdd2ca1b1f3cf751d434502ead15334f3a5",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.6.4"
+      "version": "0.6.6"
     },
     "sqlite3": {
       "dependency": "transitive",
       "description": {
         "name": "sqlite3",
-        "sha256": "45f168ae2213201b54e09429ed0c593dc2c88c924a1488d6f9c523a255d567cb",
+        "sha256": "310af39c40dd0bb2058538333c9d9840a2725ae0b9f77e4fd09ad6696aa8f66e",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.4.6"
+      "version": "2.7.5"
     },
     "stack_trace": {
       "dependency": "transitive",
@@ -2350,11 +2391,11 @@
       "dependency": "transitive",
       "description": {
         "name": "synchronized",
-        "sha256": "69fe30f3a8b04a0be0c15ae6490fc859a78ef4c43ae2dd5e8a623d45bfcf9225",
+        "sha256": "0669c70faae6270521ee4f05bffd2919892d42d1276e6c495be80174b6bc0ef6",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.3.0+3"
+      "version": "3.3.1"
     },
     "tar": {
       "dependency": "transitive",
@@ -2450,11 +2491,11 @@
       "dependency": "transitive",
       "description": {
         "name": "typed_data",
-        "sha256": "facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c",
+        "sha256": "f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.3.2"
+      "version": "1.4.0"
     },
     "unicode": {
       "dependency": "transitive",
@@ -2540,51 +2581,51 @@
       "dependency": "direct main",
       "description": {
         "name": "url_launcher",
-        "sha256": "21b704ce5fa560ea9f3b525b43601c678728ba46725bab9b01187b4831377ed3",
-        "url": "https://pub.dev"
-      },
-      "source": "hosted",
-      "version": "6.3.0"
-    },
-    "url_launcher_android": {
-      "dependency": "transitive",
-      "description": {
-        "name": "url_launcher_android",
-        "sha256": "8fc3bae0b68c02c47c5c86fa8bfa74471d42687b0eded01b78de87872db745e2",
-        "url": "https://pub.dev"
-      },
-      "source": "hosted",
-      "version": "6.3.12"
-    },
-    "url_launcher_ios": {
-      "dependency": "transitive",
-      "description": {
-        "name": "url_launcher_ios",
-        "sha256": "e43b677296fadce447e987a2f519dcf5f6d1e527dc35d01ffab4fff5b8a7063e",
+        "sha256": "9d06212b1362abc2f0f0d78e6f09f726608c74e3b9462e8368bb03314aa8d603",
         "url": "https://pub.dev"
       },
       "source": "hosted",
       "version": "6.3.1"
     },
+    "url_launcher_android": {
+      "dependency": "transitive",
+      "description": {
+        "name": "url_launcher_android",
+        "sha256": "8582d7f6fe14d2652b4c45c9b6c14c0b678c2af2d083a11b604caeba51930d79",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "6.3.16"
+    },
+    "url_launcher_ios": {
+      "dependency": "transitive",
+      "description": {
+        "name": "url_launcher_ios",
+        "sha256": "7f2022359d4c099eea7df3fdf739f7d3d3b9faf3166fb1dd390775176e0b76cb",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "6.3.3"
+    },
     "url_launcher_linux": {
       "dependency": "transitive",
       "description": {
         "name": "url_launcher_linux",
-        "sha256": "e2b9622b4007f97f504cd64c0128309dfb978ae66adbe944125ed9e1750f06af",
+        "sha256": "4e9ba368772369e3e08f231d2301b4ef72b9ff87c31192ef471b380ef29a4935",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.2.0"
+      "version": "3.2.1"
     },
     "url_launcher_macos": {
       "dependency": "transitive",
       "description": {
         "name": "url_launcher_macos",
-        "sha256": "769549c999acdb42b8bcfa7c43d72bf79a382ca7441ab18a808e101149daf672",
+        "sha256": "17ba2000b847f334f16626a574c702b196723af2a289e7a93ffcb79acff855c2",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.2.1"
+      "version": "3.2.2"
     },
     "url_launcher_platform_interface": {
       "dependency": "transitive",
@@ -2600,21 +2641,21 @@
       "dependency": "transitive",
       "description": {
         "name": "url_launcher_web",
-        "sha256": "772638d3b34c779ede05ba3d38af34657a05ac55b06279ea6edd409e323dca8e",
+        "sha256": "4bd2b7b4dc4d4d0b94e5babfffbca8eac1a126c7f3d6ecbc1a11013faa3abba2",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.3.3"
+      "version": "2.4.1"
     },
     "url_launcher_windows": {
       "dependency": "transitive",
       "description": {
         "name": "url_launcher_windows",
-        "sha256": "49c10f879746271804767cb45551ec5592cdab00ee105c06dddde1a98f73b185",
+        "sha256": "3284b6d2ac454cf34f114e1d3319866fdd1e19cdc329999057e44ffe936cfa77",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.1.2"
+      "version": "3.1.4"
     },
     "uuid": {
       "dependency": "transitive",
@@ -2660,21 +2701,21 @@
       "dependency": "transitive",
       "description": {
         "name": "video_player_android",
-        "sha256": "ae7d4f1b41e3ac6d24dd9b9d5d6831b52d74a61bdd90a7a6262a33d8bb97c29a",
+        "sha256": "28dcc4122079f40f93a0965b3679aff1a5f4251cf79611bd8011f937eb6b69de",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.8.2"
+      "version": "2.8.4"
     },
     "video_player_avfoundation": {
       "dependency": "transitive",
       "description": {
         "name": "video_player_avfoundation",
-        "sha256": "84b4752745eeccb6e75865c9aab39b3d28eb27ba5726d352d45db8297fbd75bc",
+        "sha256": "9ee764e5cd2fc1e10911ae8ad588e1a19db3b6aa9a6eb53c127c42d3a3c3f22f",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.7.0"
+      "version": "2.7.1"
     },
     "video_player_platform_interface": {
       "dependency": "transitive",
@@ -2690,91 +2731,91 @@
       "dependency": "transitive",
       "description": {
         "name": "video_player_web",
-        "sha256": "3ef40ea6d72434edbfdba4624b90fd3a80a0740d260667d91e7ecd2d79e13476",
+        "sha256": "e8bba2e5d1e159d5048c9a491bb2a7b29c535c612bb7d10c1e21107f5bd365ba",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.3.4"
+      "version": "2.3.5"
     },
     "vm_service": {
       "dependency": "transitive",
       "description": {
         "name": "vm_service",
-        "sha256": "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14",
+        "sha256": "ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "14.3.1"
+      "version": "15.0.0"
     },
     "wakelock_plus": {
       "dependency": "direct main",
       "description": {
         "name": "wakelock_plus",
-        "sha256": "b90fbcc8d7bdf3b883ea9706d9d76b9978cb1dfa4351fcc8014d6ec31a493354",
+        "sha256": "a474e314c3e8fb5adef1f9ae2d247e57467ad557fa7483a2b895bc1b421c5678",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.2.11"
+      "version": "1.3.2"
     },
     "wakelock_plus_platform_interface": {
       "dependency": "transitive",
       "description": {
         "name": "wakelock_plus_platform_interface",
-        "sha256": "70e780bc99796e1db82fe764b1e7dcb89a86f1e5b3afb1db354de50f2e41eb7a",
+        "sha256": "e10444072e50dbc4999d7316fd303f7ea53d31c824aa5eb05d7ccbdd98985207",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.2.2"
+      "version": "1.2.3"
     },
     "watcher": {
       "dependency": "transitive",
       "description": {
         "name": "watcher",
-        "sha256": "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8",
+        "sha256": "69da27e49efa56a15f8afe8f4438c4ec02eff0a117df1b22ea4aad194fe1c104",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.1.0"
+      "version": "1.1.1"
     },
     "web": {
       "dependency": "transitive",
       "description": {
         "name": "web",
-        "sha256": "cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb",
+        "sha256": "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.1.0"
+      "version": "1.1.1"
     },
     "web_socket": {
       "dependency": "transitive",
       "description": {
         "name": "web_socket",
-        "sha256": "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83",
+        "sha256": "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.1.6"
+      "version": "1.0.1"
     },
     "web_socket_channel": {
       "dependency": "transitive",
       "description": {
         "name": "web_socket_channel",
-        "sha256": "9f187088ed104edd8662ca07af4b124465893caf063ba29758f97af57e61da8f",
+        "sha256": "d645757fb0f4773d602444000a8131ff5d48c9e47adfe9772652dd1a4f2d45c8",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.0.1"
+      "version": "3.0.3"
     },
     "webdriver": {
       "dependency": "transitive",
       "description": {
         "name": "webdriver",
-        "sha256": "3d773670966f02a646319410766d3b5e1037efb7f07cc68f844d5e06cd4d61c8",
+        "sha256": "2f3a14ca026957870cfd9c635b83507e0e51d8091568e90129fbf805aba7cade",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.0.4"
+      "version": "3.1.0"
     },
     "webkit_inspection_protocol": {
       "dependency": "transitive",
@@ -2790,11 +2831,11 @@
       "dependency": "direct main",
       "description": {
         "name": "webrtc_interface",
-        "sha256": "e92afec11152a9ccb5c9f35482754edd99696e886ab6acaf90c06dd2d09f09eb",
+        "sha256": "86fe3afc81a08481dfb25cf14a5a94e27062ecef25544783f352c914e0bbc1ca",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.2.2+hotfix.1"
+      "version": "1.2.2+hotfix.2"
     },
     "win32": {
       "dependency": "direct overridden",
@@ -2860,15 +2901,15 @@
       "dependency": "transitive",
       "description": {
         "name": "yaml",
-        "sha256": "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5",
+        "sha256": "b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.1.2"
+      "version": "3.1.3"
     }
   },
   "sdks": {
-    "dart": ">=3.7.0-0 <4.0.0",
+    "dart": ">=3.7.0 <4.0.0",
     "flutter": ">=3.27.0"
   }
 }
diff --git a/pkgs/by-name/fl/fluxcd-operator/package.nix b/pkgs/by-name/fl/fluxcd-operator/package.nix
index 256bd60429cb..8d86b54fb5be 100644
--- a/pkgs/by-name/fl/fluxcd-operator/package.nix
+++ b/pkgs/by-name/fl/fluxcd-operator/package.nix
@@ -9,16 +9,16 @@
 }:
 buildGoModule (finalAttrs: {
   pname = "fluxcd-operator";
-  version = "0.21.0";
+  version = "0.23.0";
 
   src = fetchFromGitHub {
     owner = "controlplaneio-fluxcd";
     repo = "fluxcd-operator";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-SszWTuK3HVsyc669NThQn5VAVwD/7JQtKtqBJD6cTT0=";
+    hash = "sha256-pNJPP49yAZ5guo6fYRkICxuY5Hz6eaF6xmuoLx/CBHo=";
   };
 
-  vendorHash = "sha256-5uT/pcfXrinyJ1hXmQ+vmWNuyO33c6d5PAjm6kwOZmY=";
+  vendorHash = "sha256-tTers8A4x8hS43/NIG2LH3mTWlGTkLBIPPk05mINsWg=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/fl/fluxcd/package.nix b/pkgs/by-name/fl/fluxcd/package.nix
index ee82e71dbcf9..d0473a3f8cf0 100644
--- a/pkgs/by-name/fl/fluxcd/package.nix
+++ b/pkgs/by-name/fl/fluxcd/package.nix
@@ -8,10 +8,10 @@
 }:
 
 let
-  version = "2.5.1";
-  srcHash = "sha256-BuFylOWR30aK7d1eN+9getR5amtAtkkhHNAPfdfASHs=";
-  vendorHash = "sha256-2fThvz/5A1/EyS6VTUQQa5Unx1BzYfsVRE18xOHtLHE=";
-  manifestsHash = "sha256-bIIK8igtx0gUcn3hlBohE0MG9PMhyThz4a71pkonBpE=";
+  version = "2.6.2";
+  srcHash = "sha256-0Q8U7i1hK2CVWia3t/ayjIzjNjHurhkRGO0oLHLNMH4=";
+  vendorHash = "sha256-LS2qgukhLk6nrjkp5Y00B0N/LFLzOUR/TC3qD80WZAQ=";
+  manifestsHash = "sha256-KXvYURCJ1/BI61jes0Pvy6giKvVmosWOHuzGRHCcqZo=";
 
   manifests = fetchzip {
     url = "https://github.com/fluxcd/flux2/releases/download/v${version}/manifests.tar.gz";
diff --git a/pkgs/by-name/fl/flyctl/package.nix b/pkgs/by-name/fl/flyctl/package.nix
index 3315d731f91a..2b029b290541 100644
--- a/pkgs/by-name/fl/flyctl/package.nix
+++ b/pkgs/by-name/fl/flyctl/package.nix
@@ -9,16 +9,16 @@
 
 buildGoModule rec {
   pname = "flyctl";
-  version = "0.3.132";
+  version = "0.3.144";
 
   src = fetchFromGitHub {
     owner = "superfly";
     repo = "flyctl";
     rev = "v${version}";
-    hash = "sha256-xuPcJchATGlGZR4dwWKp5GXlo7O1Xv2u+gDzgn1668I=";
+    hash = "sha256-Uk6XeqdNXDs9H1Dzxy2uiF1ulIPoOxtZSoe2XU/6f0Q=";
   };
 
-  vendorHash = "sha256-9E6Kd9TV8TplL4KU47hhOIPuO/hm0T3aaMK/rEMBUU4=";
+  vendorHash = "sha256-GWEEhn2O6Wxrd3y7w4h8Qz8/4GA1z++QsrOi9r58Rg8=";
 
   subPackages = [ "." ];
 
@@ -77,7 +77,6 @@ buildGoModule rec {
       jsierles
       techknowlogick
       RaghavSood
-      teutat3s
     ];
     mainProgram = "flyctl";
   };
diff --git a/pkgs/by-name/fm/fmi-reference-fmus/package.nix b/pkgs/by-name/fm/fmi-reference-fmus/package.nix
index 5807260ebe1f..223ffb3c9e39 100644
--- a/pkgs/by-name/fm/fmi-reference-fmus/package.nix
+++ b/pkgs/by-name/fm/fmi-reference-fmus/package.nix
@@ -17,12 +17,12 @@ assert lib.asserts.assertMsg (
 # the FMUs.
 stdenv.mkDerivation (finalAttrs: {
   pname = "reference-fmus";
-  version = "0.0.38";
+  version = "0.0.39";
   src = fetchFromGitHub {
     owner = "modelica";
     repo = "reference-fmus";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-FeDKYcm9K670q1FGqy41Tp2Ag8p2JidH4z78zpHOngw=";
+    hash = "sha256-3bjqfEyPhqVrJOHHhniacyUAo82InCd6LLx3tyC8DYg=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/by-name/fo/forgejo/lts.nix b/pkgs/by-name/fo/forgejo/lts.nix
index c31929fb7e62..94a23757ba5b 100644
--- a/pkgs/by-name/fo/forgejo/lts.nix
+++ b/pkgs/by-name/fo/forgejo/lts.nix
@@ -1,8 +1,8 @@
 import ./generic.nix {
-  version = "11.0.1";
-  hash = "sha256-hsJfJOJ6mTIGGV+0YwSA9SYsLXxI1VTXzc+SyXJJ69Q=";
-  npmDepsHash = "sha256-laHHXq59/7+rJSYTD1Aq/AvFcio6vsnWkeV8enq3yTg=";
-  vendorHash = "sha256-8fa6l89+6NhVsi6VuTvQs35E3HuiBFxM8NUQ/jzlzV0=";
+  version = "11.0.2";
+  hash = "sha256-myg6BGoCJaX7YbQAFSRwX0KtX/TFLKJOUuirqtQcN8Q=";
+  npmDepsHash = "sha256-wsjosyZ5J5mU7ixbWjXnbqkvgnOE0dGz81vVqaI61go=";
+  vendorHash = "sha256-5eaPdvU2NbCgbL+rcCqzphTESLHGbGZ3MgtXknCjrSc=";
   lts = true;
   nixUpdateExtraArgs = [
     "--override-filename"
diff --git a/pkgs/by-name/fo/fosrl-gerbil/package.nix b/pkgs/by-name/fo/fosrl-gerbil/package.nix
new file mode 100644
index 000000000000..fc2f5a5fabce
--- /dev/null
+++ b/pkgs/by-name/fo/fosrl-gerbil/package.nix
@@ -0,0 +1,36 @@
+{
+  lib,
+  iptables,
+  fetchFromGitHub,
+  buildGoModule,
+  replaceVars,
+}:
+
+buildGoModule rec {
+  pname = "fosrl-gerbil";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "fosrl";
+    repo = "gerbil";
+    tag = version;
+    hash = "sha256-6ZmnokXmn4KIfNZT9HrraYP4fjfY2C0sK+xAJyq/pkU=";
+  };
+  # patch out the /usr/sbin/iptables
+  postPatch = ''
+    substituteInPlace main.go \
+      --replace-fail '/usr/sbin/iptables' '${lib.getExe iptables}'
+  '';
+
+  vendorHash = "sha256-lYJjw+V94oxILu+akUnzGACtsU7CLGwljysRvyUk+yA=";
+
+  meta = {
+    description = "Simple WireGuard interface management server";
+    mainProgram = "gerbil";
+    homepage = "https://github.com/fosrl/gerbil";
+    changelog = "https://github.com/fosrl/gerbil/releases/tag/${version}";
+    license = lib.licenses.agpl3Only;
+    maintainers = with lib.maintainers; [ jackr ];
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/pkgs/by-name/fo/foundry/package.nix b/pkgs/by-name/fo/foundry/package.nix
index 5ba073d5fd59..35d9e2564e35 100644
--- a/pkgs/by-name/fo/foundry/package.nix
+++ b/pkgs/by-name/fo/foundry/package.nix
@@ -13,17 +13,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "foundry";
-  version = "1.2.2";
+  version = "1.2.3";
 
   src = fetchFromGitHub {
     owner = "foundry-rs";
     repo = "foundry";
     tag = "v${version}";
-    hash = "sha256-XZHlBTFmdt4RL/JNGbHDI9XLwDRHoEr3KNCTq5oKexQ=";
+    hash = "sha256-1mZsz0tCvf943WLk7J+AJfPSl/yc84qlvMaQwFhM2ss=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-qa8mnLqu1X8Rs5ouxXgAiPxDwuXqSY896SCQl8Me5cU=";
+  cargoHash = "sha256-q0iNyGabqJJcxVLzU8CZpkxxSYOCfuc7ewiSQcQIzSY=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/by-name/fr/fractal/package.nix b/pkgs/by-name/fr/fractal/package.nix
index 29dd523723e3..8b8fc47635d4 100644
--- a/pkgs/by-name/fr/fractal/package.nix
+++ b/pkgs/by-name/fr/fractal/package.nix
@@ -28,21 +28,21 @@
   glycin-loaders,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "fractal";
-  version = "11.1";
+  version = "11.2";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
     repo = "fractal";
-    tag = version;
-    hash = "sha256-G8vJvoOVVQ9cPnwoxNoKrQwGNxnA78HG285iSy6lSjk=";
+    tag = finalAttrs.version;
+    hash = "sha256-UE0TRC9DeP+fl85fzuQ8/3ioIPdeSqsJWnW1olB1gmo=";
   };
 
   cargoDeps = rustPlatform.fetchCargoVendor {
-    inherit src;
-    hash = "sha256-yxo1ZSOqjh2lrdmiCrKQGFHpSPRgye64rFNZpghZqI0=";
+    inherit (finalAttrs) src;
+    hash = "sha256-I+1pGZWxn9Q/CL8D6VxsaO3H4EdBek4wyykvNgCNRZI=";
   };
 
   patches = [
@@ -109,11 +109,11 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Matrix group messaging app";
-    homepage = "https://gitlab.gnome.org/GNOME/fractal";
-    changelog = "https://gitlab.gnome.org/World/fractal/-/releases/${version}";
+    homepage = "https://gitlab.gnome.org/World/fractal";
+    changelog = "https://gitlab.gnome.org/World/fractal/-/releases/${finalAttrs.version}";
     license = lib.licenses.gpl3Plus;
     teams = [ lib.teams.gnome ];
     platforms = lib.platforms.linux;
     mainProgram = "fractal";
   };
-}
+})
diff --git a/pkgs/by-name/fr/frankenphp/package.nix b/pkgs/by-name/fr/frankenphp/package.nix
index 71dd976cbff0..075fd4bfa35e 100644
--- a/pkgs/by-name/fr/frankenphp/package.nix
+++ b/pkgs/by-name/fr/frankenphp/package.nix
@@ -31,13 +31,13 @@ let
 in
 buildGoModule rec {
   pname = "frankenphp";
-  version = "1.6.2";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "dunglas";
     repo = "frankenphp";
     tag = "v${version}";
-    hash = "sha256-YYEipvr0qqudKuLrINt5htl2oCp6wXWLpyvCPuwR9e8=";
+    hash = "sha256-FukxXuZwF7P5tUao0nTT7bELGIYivtoOBQQkHA7ZE3s=";
   };
 
   sourceRoot = "${src.name}/caddy";
@@ -45,7 +45,7 @@ buildGoModule rec {
   # frankenphp requires C code that would be removed with `go mod tidy`
   # https://github.com/golang/go/issues/26366
   proxyVendor = true;
-  vendorHash = "sha256-M1z9Yv+WomKA+UACOUT8xcWdw+SD1MY2jfaDO4zYUQg=";
+  vendorHash = "sha256-likIETO/eq1kATNbbYHxXxvIPH7q5tp3WHjz+zvNOws=";
 
   buildInputs = [
     phpUnwrapped
diff --git a/pkgs/by-name/fr/freecad/0003-FreeCad-fix-font-load-crash.patch b/pkgs/by-name/fr/freecad/0003-FreeCad-fix-font-load-crash.patch
new file mode 100644
index 000000000000..aedb74361fd4
--- /dev/null
+++ b/pkgs/by-name/fr/freecad/0003-FreeCad-fix-font-load-crash.patch
@@ -0,0 +1,26 @@
+diff --git a/src/Gui/PreferencePages/DlgSettingsEditor.cpp b/src/Gui/PreferencePages/DlgSettingsEditor.cpp
+index 0dda987..01568f1 100755
+--- a/src/Gui/PreferencePages/DlgSettingsEditor.cpp
++++ b/src/Gui/PreferencePages/DlgSettingsEditor.cpp
+@@ -288,7 +288,9 @@ void DlgSettingsEditor::loadSettings()
+     QStringList fixedFamilyNames;
+     for (const auto& name : familyNames) {
+         if (QFontDatabase().isFixedPitch(name)) {
+-            if (name.compare(QLatin1String("8514oem"), Qt::CaseInsensitive) != 0) {
++            if (name.compare(QLatin1String("8514oem"), Qt::CaseInsensitive) != 0
++                && name.compare(QLatin1String("cursor.pcf"), Qt::CaseInsensitive) != 0)
++              {
+                 fixedFamilyNames.append(name);
+             }
+         }
+@@ -298,7 +300,9 @@ void DlgSettingsEditor::loadSettings()
+     QStringList fixedFamilyNames;
+     for (const auto& name : familyNames) {
+         if (QFontDatabase::isFixedPitch(name)) {
+-            if (name.compare(QLatin1String("8514oem"), Qt::CaseInsensitive) != 0) {
++            if (name.compare(QLatin1String("8514oem"), Qt::CaseInsensitive) != 0
++                && name.compare(QLatin1String("cursor.pcf"), Qt::CaseInsensitive) != 0)
++              {
+                 fixedFamilyNames.append(name);
+             }
+         }
diff --git a/pkgs/by-name/fr/freecad/package.nix b/pkgs/by-name/fr/freecad/package.nix
index 42227a525e01..384a2fd97d8f 100644
--- a/pkgs/by-name/fr/freecad/package.nix
+++ b/pkgs/by-name/fr/freecad/package.nix
@@ -13,14 +13,12 @@
   hdf5,
   libGLU,
   libredwg,
-  libsForQt5,
   libspnav,
   libXmu,
   medfile,
   mpi,
   ninja,
   ode,
-  opencascade-occt_7_6,
   opencascade-occt,
   pkg-config,
   python3Packages,
@@ -33,33 +31,32 @@
   xercesc,
   yaml-cpp,
   zlib,
-  withWayland ? false,
-  qtVersion ? 5,
-  qt5,
   qt6,
   nix-update-script,
 }:
 let
-  inherit (python3Packages)
-    boost
-    gitpython
-    ifcopenshell
-    matplotlib
-    opencamlib
-    pivy
-    ply
-    py-slvs
-    pybind11
-    pycollada
-    pyside2
-    pyside2-tools
-    pyside6
-    python
-    pyyaml
-    scipy
-    shiboken2
-    shiboken6
-    ;
+  pythonDeps =
+    with python3Packages;
+    [
+      boost
+      gitpython # for addon manager
+      matplotlib
+      opencamlib
+      pivy
+      ply # for openSCAD file support
+      py-slvs
+      pybind11
+      pycollada
+      pyside6
+      python
+      pyyaml # (at least for) PyrateWorkbench
+      scipy
+      shiboken6
+    ]
+    ++ lib.optionals ifcSupport [
+      ifcopenshell
+    ];
+
   freecad-utils = callPackage ./freecad-utils.nix { };
 in
 freecad-utils.makeCustomizable (
@@ -75,137 +72,88 @@ freecad-utils.makeCustomizable (
       fetchSubmodules = true;
     };
 
-    nativeBuildInputs =
-      [
-        cmake
-        ninja
-        pkg-config
-        gfortran
-        swig
-        doxygen
-        wrapGAppsHook3
-      ]
-      ++ lib.optionals (qtVersion == 5) [
-        pyside2-tools
-        qt5.wrapQtAppsHook
-      ]
-      ++ lib.optionals (qtVersion == 6) [ qt6.wrapQtAppsHook ];
+    nativeBuildInputs = [
+      cmake
+      ninja
+      pkg-config
+      gfortran
+      swig
+      doxygen
+      wrapGAppsHook3
+      qt6.wrapQtAppsHook
+    ];
 
     buildInputs =
       [
-        boost
         coin3d
         eigen
         fmt
-        gitpython # for addon manager
         gts
         hdf5
         libGLU
         libXmu
-        matplotlib
         medfile
         mpi
         ode
-        opencamlib
-        pivy
-        ply # for openSCAD file support
-        py-slvs
-        pybind11
-        pycollada
-        python
-        pyyaml # (at least for) PyrateWorkbench
-        scipy
         vtk
         xercesc
         yaml-cpp
         zlib
-      ]
-      ++ lib.optionals (qtVersion == 5) [
-        libsForQt5.soqt
-        opencascade-occt_7_6
-        pyside2
-        pyside2-tools
-        shiboken2
-        qt5.qtbase
-        qt5.qttools
-        qt5.qtwayland
-        qt5.qtwebengine
-        qt5.qtxmlpatterns
-      ]
-      ++ lib.optionals (qtVersion == 6) [
         opencascade-occt
-        pyside6
-        shiboken6
         qt6.qtbase
         qt6.qtsvg
         qt6.qttools
         qt6.qtwayland
         qt6.qtwebengine
       ]
-      ++ lib.optionals ifcSupport [
-        ifcopenshell
-      ]
-      ++ lib.optionals spaceNavSupport (
-        [ libspnav ] ++ lib.optionals (qtVersion == 5) [ libsForQt5.qtx11extras ]
-      );
+      ++ pythonDeps
+      ++ lib.optionals spaceNavSupport [ libspnav ];
 
     patches = [
       ./0001-NIXOS-don-t-ignore-PYTHONPATH.patch
       ./0002-FreeCad-OndselSolver-pkgconfig.patch
+
+      # https://github.com/FreeCAD/FreeCAD/pull/21710
+      ./0003-FreeCad-fix-font-load-crash.patch
       (fetchpatch {
         url = "https://github.com/FreeCAD/FreeCAD/commit/8e04c0a3dd9435df0c2dec813b17d02f7b723b19.patch?full_index=1";
         hash = "sha256-H6WbJFTY5/IqEdoi5N+7D4A6pVAmZR4D+SqDglwS18c=";
       })
     ];
 
-    cmakeFlags =
-      [
-        "-Wno-dev" # turns off warnings which otherwise makes it hard to see what is going on
-        "-DBUILD_FLAT_MESH:BOOL=ON"
-        "-DBUILD_DRAWING=ON"
-        "-DBUILD_FLAT_MESH:BOOL=ON"
-        "-DINSTALL_TO_SITEPACKAGES=OFF"
-        "-DFREECAD_USE_PYBIND11=ON"
-      ]
-      ++ lib.optionals (qtVersion == 5) [
-        "-DBUILD_QT5=ON"
-        "-DSHIBOKEN_INCLUDE_DIR=${shiboken2}/include"
-        "-DSHIBOKEN_LIBRARY=Shiboken2::libshiboken"
-        (
-          "-DPYSIDE_INCLUDE_DIR=${pyside2}/include"
-          + ";${pyside2}/include/PySide2/QtCore"
-          + ";${pyside2}/include/PySide2/QtWidgets"
-          + ";${pyside2}/include/PySide2/QtGui"
-        )
-        "-DPYSIDE_LIBRARY=PySide2::pyside2"
-      ]
-      ++ lib.optionals (qtVersion == 6) [
-        "-DBUILD_QT5=OFF"
-        "-DBUILD_QT6=ON"
-        "-DSHIBOKEN_INCLUDE_DIR=${shiboken6}/include"
-        "-DSHIBOKEN_LIBRARY=Shiboken6::libshiboken"
-        (
-          "-DPYSIDE_INCLUDE_DIR=${pyside6}/include"
-          + ";${pyside6}/include/PySide6/QtCore"
-          + ";${pyside6}/include/PySide6/QtWidgets"
-          + ";${pyside6}/include/PySide6/QtGui"
-        )
-        "-DPYSIDE_LIBRARY=PySide6::pyside6"
-      ];
+    cmakeFlags = [
+      "-Wno-dev" # turns off warnings which otherwise makes it hard to see what is going on
+      "-DBUILD_FLAT_MESH:BOOL=ON"
+      "-DBUILD_DRAWING=ON"
+      "-DBUILD_FLAT_MESH:BOOL=ON"
+      "-DINSTALL_TO_SITEPACKAGES=OFF"
+      "-DFREECAD_USE_PYBIND11=ON"
+      "-DBUILD_QT5=OFF"
+      "-DBUILD_QT6=ON"
+      "-DSHIBOKEN_INCLUDE_DIR=${python3Packages.shiboken6}/include"
+      "-DSHIBOKEN_LIBRARY=Shiboken6::libshiboken"
+      (
+        "-DPYSIDE_INCLUDE_DIR=${python3Packages.pyside6}/include"
+        + ";${python3Packages.pyside6}/include/PySide6/QtCore"
+        + ";${python3Packages.pyside6}/include/PySide6/QtWidgets"
+        + ";${python3Packages.pyside6}/include/PySide6/QtGui"
+      )
+      "-DPYSIDE_LIBRARY=PySide6::pyside6"
+    ];
 
     # This should work on both x86_64, and i686 linux
     preBuild = ''
       export NIX_LDFLAGS="-L${gfortran.cc.lib}/lib64 -L${gfortran.cc.lib}/lib $NIX_LDFLAGS";
     '';
 
-    preConfigure = ''
-      qtWrapperArgs+=(--prefix PYTHONPATH : "$PYTHONPATH")
-    '';
+    dontWrapGApps = true;
 
     qtWrapperArgs = [
       "--set COIN_GL_NO_CURRENT_CONTEXT_CHECK 1"
       "--prefix PATH : ${libredwg}/bin"
-    ] ++ lib.optionals (!withWayland) [ "--set QT_QPA_PLATFORM xcb" ];
+      "--prefix PYTHONPATH : ${python3Packages.makePythonPath pythonDeps}"
+      "\${gappsWrapperArgs[@]}"
+    ];
 
     postFixup = ''
       mv $out/share/doc $out
diff --git a/pkgs/by-name/fr/freeradius/package.nix b/pkgs/by-name/fr/freeradius/package.nix
index b92ab190284a..17fe983e7c32 100644
--- a/pkgs/by-name/fr/freeradius/package.nix
+++ b/pkgs/by-name/fr/freeradius/package.nix
@@ -107,7 +107,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [
       sheenobu
-      willibutz
     ];
     platforms = with platforms; linux;
   };
diff --git a/pkgs/by-name/fr/freeswitch/package.nix b/pkgs/by-name/fr/freeswitch/package.nix
index c3c801c2c3ef..06fa719b7579 100644
--- a/pkgs/by-name/fr/freeswitch/package.nix
+++ b/pkgs/by-name/fr/freeswitch/package.nix
@@ -158,7 +158,11 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  env.NIX_CFLAGS_COMPILE = "-Wno-error";
+  env.NIX_CFLAGS_COMPILE = toString [
+    "-Wno-error"
+    # https://github.com/signalwire/freeswitch/issues/2495
+    "-Wno-incompatible-pointer-types"
+  ];
 
   # Using c++14 because of build error
   # gsm_at.h:94:32: error: ISO C++17 does not allow dynamic exception specifications
diff --git a/pkgs/by-name/fr/fricas/package.nix b/pkgs/by-name/fr/fricas/package.nix
index 126e6526f6a1..f2ed21c7205f 100644
--- a/pkgs/by-name/fr/fricas/package.nix
+++ b/pkgs/by-name/fr/fricas/package.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fricas";
-  version = "1.3.11";
+  version = "1.3.12";
 
   src = fetchFromGitHub {
     owner = "fricas";
     repo = "fricas";
     rev = version;
-    sha256 = "sha256-EX/boSs6rK4RrJ5W6Rd0TSHsbQsNiFI1evFuNPBMeu8=";
+    sha256 = "sha256-GUGJR65K1bPC0D36l4Yyj3GOsWtUrSKLu6JnlfjHzDc=";
   };
 
   buildInputs = [
diff --git a/pkgs/by-name/fr/fromager/package.nix b/pkgs/by-name/fr/fromager/package.nix
index 76ce0dd60272..53fdc785c02b 100644
--- a/pkgs/by-name/fr/fromager/package.nix
+++ b/pkgs/by-name/fr/fromager/package.nix
@@ -6,14 +6,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "fromager";
-  version = "0.46.1";
+  version = "0.47.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "python-wheel-build";
     repo = "fromager";
     tag = version;
-    hash = "sha256-SBb5gWV8/t3oRAR2R5T72DW1LKrxXXH6yho9l7agsNI=";
+    hash = "sha256-Jw5fOhY4WOwYG5QPCcsT6+BicGtqz9UrHcpPsPQlOWc=";
   };
 
   build-system = with python3.pkgs; [
diff --git a/pkgs/by-name/fr/frr/package.nix b/pkgs/by-name/fr/frr/package.nix
index 757b8d270877..70b2d4312217 100644
--- a/pkgs/by-name/fr/frr/package.nix
+++ b/pkgs/by-name/fr/frr/package.nix
@@ -82,13 +82,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "frr";
-  version = "10.3";
+  version = "10.3.1";
 
   src = fetchFromGitHub {
     owner = "FRRouting";
     repo = "frr";
     rev = "frr-${finalAttrs.version}";
-    hash = "sha256-o/BG12FVypIaInXDeOj2Ymdgv1mxof9Sl0ZQA8o3YLs=";
+    hash = "sha256-54LMy2gBVp/BwTOlfQiE6TAMvx8Citn4QF6lvyvrFOo=";
   };
 
   # Without the std explicitly set, we may run into abseil-cpp
diff --git a/pkgs/by-name/fs/fstar/package.nix b/pkgs/by-name/fs/fstar/package.nix
index c5851589257c..a103c15768a3 100644
--- a/pkgs/by-name/fs/fstar/package.nix
+++ b/pkgs/by-name/fs/fstar/package.nix
@@ -1,6 +1,7 @@
 {
   callPackage,
   fetchFromGitHub,
+  fetchpatch,
   installShellFiles,
   lib,
   makeWrapper,
@@ -28,7 +29,12 @@ ocamlPackages.buildDunePackage rec {
     hash = "sha256-PhjfThXF6fJlFHtNEURG4igCnM6VegWODypmRvnZPdA=";
   };
 
-  duneVersion = "3";
+  # Compatibility with sedlex ≥ 3.5
+  patches = fetchpatch {
+    url = "https://github.com/FStarLang/FStar/commit/11aff952b955d2c9582515ee2d64ca6993ce1b73.patch";
+    hash = "sha256-HlppygegUAYYPDVSzFJvMHXdDSoug636bFa19v3TGkc=";
+    excludes = [ "fstar.opam" ];
+  };
 
   nativeBuildInputs = [
     ocamlPackages.menhir
diff --git a/pkgs/by-name/fs/fstar/z3/default.nix b/pkgs/by-name/fs/fstar/z3/default.nix
index b0429deb8d0c..e4973e669ac4 100644
--- a/pkgs/by-name/fs/fstar/z3/default.nix
+++ b/pkgs/by-name/fs/fstar/z3/default.nix
@@ -8,15 +8,17 @@
 }:
 
 let
+  z3' = z3.override { useCmakeBuild = false; };
+
   # fstar has a pretty hard dependency on certain z3 patch versions.
   # https://github.com/FStarLang/FStar/issues/3689#issuecomment-2625073641
   # We need to package all the Z3 versions it prefers here.
   fstarNewZ3Version = "4.13.3";
   fstarNewZ3 =
-    if z3.version == fstarNewZ3Version then
-      z3
+    if z3'.version == fstarNewZ3Version then
+      z3'
     else
-      z3.overrideAttrs (final: rec {
+      z3'.overrideAttrs (final: rec {
         version = fstarNewZ3Version;
         src = fetchFromGitHub {
           owner = "Z3Prover";
@@ -28,10 +30,10 @@ let
 
   fstarOldZ3Version = "4.8.5";
   fstarOldZ3 =
-    if z3.version == fstarOldZ3Version then
-      z3
+    if z3'.version == fstarOldZ3Version then
+      z3'
     else
-      z3.overrideAttrs (prev: rec {
+      z3'.overrideAttrs (prev: rec {
         version = fstarOldZ3Version;
         src = fetchFromGitHub {
           owner = "Z3Prover";
diff --git a/pkgs/by-name/fw/fwup/package.nix b/pkgs/by-name/fw/fwup/package.nix
index 08b2e2c6937a..9c4688f119c7 100644
--- a/pkgs/by-name/fw/fwup/package.nix
+++ b/pkgs/by-name/fw/fwup/package.nix
@@ -21,13 +21,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fwup";
-  version = "1.12.0";
+  version = "1.13.0";
 
   src = fetchFromGitHub {
     owner = "fhunleth";
     repo = "fwup";
     rev = "v${version}";
-    sha256 = "sha256-WYolvHAK7l1HJZuBXsPJ+X6uzWFHBlHELx4zvD/S934=";
+    sha256 = "sha256-j/UuJf7tDY1ku2vfmh2f8fQVZS7dhmiH6T1zS8IlcDE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/fw/fwupd-efi/package.nix b/pkgs/by-name/fw/fwupd-efi/package.nix
index 51c99880c287..8e6427d6fa39 100644
--- a/pkgs/by-name/fw/fwupd-efi/package.nix
+++ b/pkgs/by-name/fw/fwupd-efi/package.nix
@@ -1,7 +1,7 @@
 {
   lib,
   stdenv,
-  fetchurl,
+  fetchFromGitHub,
   pkg-config,
   meson,
   ninja,
@@ -10,13 +10,15 @@
   python3Packages,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "fwupd-efi";
-  version = "1.6";
+  version = "1.7";
 
-  src = fetchurl {
-    url = "https://github.com/fwupd/fwupd-efi/releases/download/${version}/fwupd-efi-${version}.tar.xz";
-    hash = "sha256-r9CAWirQgafK/y71vABM46AUe1OAFejsqWY0FxaxJg4=";
+  src = fetchFromGitHub {
+    owner = "fwupd";
+    repo = "fwupd-efi";
+    rev = "${finalAttrs.version}";
+    hash = "sha256-PcVqnnFrxedkhYgm+8EUF2I65R5gTXqbVrk69Pw1m1g=";
   };
 
   nativeBuildInputs = [
@@ -43,9 +45,10 @@ stdenv.mkDerivation rec {
     "-Defi-ldsdir=${gnu-efi}/lib"
     "-Defi_sbat_distro_id=nixos"
     "-Defi_sbat_distro_summary=NixOS"
-    "-Defi_sbat_distro_pkgname=${pname}"
-    "-Defi_sbat_distro_version=${version}"
+    "-Defi_sbat_distro_pkgname=${finalAttrs.pname}"
+    "-Defi_sbat_distro_version=${finalAttrs.version}"
     "-Defi_sbat_distro_url=https://search.nixos.org/packages?channel=unstable&show=fwupd-efi&from=0&size=50&sort=relevance&query=fwupd-efi"
+    "-Dgenpeimg=disabled"
   ];
 
   meta = with lib; {
@@ -54,4 +57,4 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
   };
-}
+})
diff --git a/pkgs/by-name/ga/gamescope/package.nix b/pkgs/by-name/ga/gamescope/package.nix
index f373a4cce8d5..0dc0354b3745 100644
--- a/pkgs/by-name/ga/gamescope/package.nix
+++ b/pkgs/by-name/ga/gamescope/package.nix
@@ -49,14 +49,14 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "gamescope";
-  version = "3.16.11";
+  version = "3.16.14";
 
   src = fetchFromGitHub {
     owner = "ValveSoftware";
     repo = "gamescope";
     tag = finalAttrs.version;
     fetchSubmodules = true;
-    hash = "sha256-Hj/o5QcjCtMoteKOFU9uZmPIQ28ZlM83BT4MAQTmqQQ=";
+    hash = "sha256-i1a3nTospbGR/uPbwuM0z6cATANvw3QCFXd99e3tXCs=";
   };
 
   patches = [
@@ -89,7 +89,7 @@ stdenv.mkDerivation (finalAttrs: {
 
     # Replace gamescopereeaper with absolute path
     substituteInPlace src/Utils/Process.cpp --subst-var-by "gamescopereaper" "$out/bin/gamescopereaper"
-    patchShebangs default_scripts_install.sh
+    patchShebangs default_extras_install.sh
   '';
 
   mesonFlags = [
diff --git a/pkgs/by-name/ga/garnet/package.nix b/pkgs/by-name/ga/garnet/package.nix
index babed86be830..d79c2532dd09 100644
--- a/pkgs/by-name/ga/garnet/package.nix
+++ b/pkgs/by-name/ga/garnet/package.nix
@@ -8,13 +8,13 @@
 
 buildDotnetModule rec {
   pname = "garnet";
-  version = "1.0.69";
+  version = "1.0.70";
 
   src = fetchFromGitHub {
     owner = "microsoft";
     repo = "garnet";
     tag = "v${version}";
-    hash = "sha256-U90y8VxGrRgXTdrusImNK2kRO+Tw9uiXoMiEb3YgaBM=";
+    hash = "sha256-E+fwtD0AcUCHhHrnR7OV2mnDtGUnkJkLBKl6DbXlooU=";
   };
 
   projectFile = "main/GarnetServer/GarnetServer.csproj";
diff --git a/pkgs/by-name/ga/gate/package.nix b/pkgs/by-name/ga/gate/package.nix
index e10f0d8710e2..c72da6602620 100644
--- a/pkgs/by-name/ga/gate/package.nix
+++ b/pkgs/by-name/ga/gate/package.nix
@@ -6,7 +6,7 @@
 
 let
   pname = "gate";
-  version = "0.49.1";
+  version = "0.49.2";
 in
 buildGoModule {
   inherit pname version;
@@ -15,7 +15,7 @@ buildGoModule {
     owner = "minekube";
     repo = "gate";
     tag = "v${version}";
-    hash = "sha256-gDRw/YQtIpYiX3uKjvmttbVkohj2k5f+pvv+xYyY3S8=";
+    hash = "sha256-u90cQh6mYUrlnWUkwIAhkJJZ6GB0AkNIJVJVkq4cYEM=";
   };
 
   vendorHash = "sha256-4LJwb4ZXs+CUcxhvRveJy+xu7/UEjxIEwLV5Z5gBbT4=";
diff --git a/pkgs/by-name/ga/gatekeeper/package.nix b/pkgs/by-name/ga/gatekeeper/package.nix
index 67bb6e36e22a..ccf0a13a6832 100644
--- a/pkgs/by-name/ga/gatekeeper/package.nix
+++ b/pkgs/by-name/ga/gatekeeper/package.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "gatekeeper";
-  version = "3.19.1";
+  version = "3.19.2";
 
   src = fetchFromGitHub {
     owner = "open-policy-agent";
     repo = "gatekeeper";
     tag = "v${version}";
-    hash = "sha256-zU/OAiWc6H4YC5bnDFrqpfCT1HhDGCm+dkjriP2Wp3w=";
+    hash = "sha256-ksspmNq42Wn/4Uzi8omvzCCprP+ELHVGBImgi8GrMSk=";
   };
 
   vendorHash = null;
diff --git a/pkgs/development/tools/gauge/nix-check.patch b/pkgs/by-name/ga/gauge-unwrapped/nix-check.patch
similarity index 100%
rename from pkgs/development/tools/gauge/nix-check.patch
rename to pkgs/by-name/ga/gauge-unwrapped/nix-check.patch
diff --git a/pkgs/development/tools/gauge/default.nix b/pkgs/by-name/ga/gauge-unwrapped/package.nix
similarity index 77%
rename from pkgs/development/tools/gauge/default.nix
rename to pkgs/by-name/ga/gauge-unwrapped/package.nix
index 95188974f6d7..814c75ee3971 100644
--- a/pkgs/development/tools/gauge/default.nix
+++ b/pkgs/by-name/ga/gauge-unwrapped/package.nix
@@ -6,7 +6,7 @@
 
 buildGoModule rec {
   pname = "gauge";
-  version = "1.6.16";
+  version = "1.6.17";
 
   patches = [
     # adds a check which adds an error message when trying to
@@ -17,11 +17,11 @@ buildGoModule rec {
   src = fetchFromGitHub {
     owner = "getgauge";
     repo = "gauge";
-    rev = "v${version}";
-    hash = "sha256-cBB0sDPuM4qxxkRug+8sNyH5CwGZhKK4PdKbb3B3KRE=";
+    tag = "v${version}";
+    hash = "sha256-2ThnmniL2YQKBBKlBPNdO/xkHTj1JFQ0xZ5mFAjwRMg=";
   };
 
-  vendorHash = "sha256-kU5ZhiJq3YoMIU9608Omp0KEMiS+IHbB6kKol6SZcOs=";
+  vendorHash = "sha256-bOsuFGxYTxQ2qju4JsXFsk8/SrDxo5/PthwuLZSMfsI=";
 
   excludedPackages = [
     "build"
diff --git a/pkgs/development/tools/gauge/wrapper.nix b/pkgs/by-name/ga/gauge/package.nix
similarity index 99%
rename from pkgs/development/tools/gauge/wrapper.nix
rename to pkgs/by-name/ga/gauge/package.nix
index fcdfcaacb277..cbc37f6d0a2f 100644
--- a/pkgs/development/tools/gauge/wrapper.nix
+++ b/pkgs/by-name/ga/gauge/package.nix
@@ -7,7 +7,6 @@
   xorg,
   gaugePlugins,
   plugins ? [ ],
-  runCommand,
 }:
 
 stdenvNoCC.mkDerivation {
diff --git a/pkgs/development/tools/gauge/plugins/default.nix b/pkgs/by-name/ga/gauge/plugins/default.nix
similarity index 100%
rename from pkgs/development/tools/gauge/plugins/default.nix
rename to pkgs/by-name/ga/gauge/plugins/default.nix
diff --git a/pkgs/development/tools/gauge/plugins/dotnet/data.json b/pkgs/by-name/ga/gauge/plugins/dotnet/data.json
similarity index 100%
rename from pkgs/development/tools/gauge/plugins/dotnet/data.json
rename to pkgs/by-name/ga/gauge/plugins/dotnet/data.json
diff --git a/pkgs/development/tools/gauge/plugins/dotnet/default.nix b/pkgs/by-name/ga/gauge/plugins/dotnet/default.nix
similarity index 100%
rename from pkgs/development/tools/gauge/plugins/dotnet/default.nix
rename to pkgs/by-name/ga/gauge/plugins/dotnet/default.nix
diff --git a/pkgs/development/tools/gauge/plugins/go/data.json b/pkgs/by-name/ga/gauge/plugins/go/data.json
similarity index 100%
rename from pkgs/development/tools/gauge/plugins/go/data.json
rename to pkgs/by-name/ga/gauge/plugins/go/data.json
diff --git a/pkgs/development/tools/gauge/plugins/go/default.nix b/pkgs/by-name/ga/gauge/plugins/go/default.nix
similarity index 100%
rename from pkgs/development/tools/gauge/plugins/go/default.nix
rename to pkgs/by-name/ga/gauge/plugins/go/default.nix
diff --git a/pkgs/development/tools/gauge/plugins/html-report/data.json b/pkgs/by-name/ga/gauge/plugins/html-report/data.json
similarity index 100%
rename from pkgs/development/tools/gauge/plugins/html-report/data.json
rename to pkgs/by-name/ga/gauge/plugins/html-report/data.json
diff --git a/pkgs/development/tools/gauge/plugins/html-report/default.nix b/pkgs/by-name/ga/gauge/plugins/html-report/default.nix
similarity index 100%
rename from pkgs/development/tools/gauge/plugins/html-report/default.nix
rename to pkgs/by-name/ga/gauge/plugins/html-report/default.nix
diff --git a/pkgs/development/tools/gauge/plugins/java/data.json b/pkgs/by-name/ga/gauge/plugins/java/data.json
similarity index 100%
rename from pkgs/development/tools/gauge/plugins/java/data.json
rename to pkgs/by-name/ga/gauge/plugins/java/data.json
diff --git a/pkgs/development/tools/gauge/plugins/java/default.nix b/pkgs/by-name/ga/gauge/plugins/java/default.nix
similarity index 100%
rename from pkgs/development/tools/gauge/plugins/java/default.nix
rename to pkgs/by-name/ga/gauge/plugins/java/default.nix
diff --git a/pkgs/development/tools/gauge/plugins/js/default.nix b/pkgs/by-name/ga/gauge/plugins/js/default.nix
similarity index 100%
rename from pkgs/development/tools/gauge/plugins/js/default.nix
rename to pkgs/by-name/ga/gauge/plugins/js/default.nix
diff --git a/pkgs/development/tools/gauge/plugins/make-gauge-plugin.nix b/pkgs/by-name/ga/gauge/plugins/make-gauge-plugin.nix
similarity index 100%
rename from pkgs/development/tools/gauge/plugins/make-gauge-plugin.nix
rename to pkgs/by-name/ga/gauge/plugins/make-gauge-plugin.nix
diff --git a/pkgs/development/tools/gauge/plugins/ruby/data.json b/pkgs/by-name/ga/gauge/plugins/ruby/data.json
similarity index 100%
rename from pkgs/development/tools/gauge/plugins/ruby/data.json
rename to pkgs/by-name/ga/gauge/plugins/ruby/data.json
diff --git a/pkgs/development/tools/gauge/plugins/ruby/default.nix b/pkgs/by-name/ga/gauge/plugins/ruby/default.nix
similarity index 100%
rename from pkgs/development/tools/gauge/plugins/ruby/default.nix
rename to pkgs/by-name/ga/gauge/plugins/ruby/default.nix
diff --git a/pkgs/development/tools/gauge/plugins/screenshot/data.json b/pkgs/by-name/ga/gauge/plugins/screenshot/data.json
similarity index 100%
rename from pkgs/development/tools/gauge/plugins/screenshot/data.json
rename to pkgs/by-name/ga/gauge/plugins/screenshot/data.json
diff --git a/pkgs/development/tools/gauge/plugins/screenshot/default.nix b/pkgs/by-name/ga/gauge/plugins/screenshot/default.nix
similarity index 100%
rename from pkgs/development/tools/gauge/plugins/screenshot/default.nix
rename to pkgs/by-name/ga/gauge/plugins/screenshot/default.nix
diff --git a/pkgs/development/tools/gauge/plugins/test-gauge-plugins.nix b/pkgs/by-name/ga/gauge/plugins/test-gauge-plugins.nix
similarity index 100%
rename from pkgs/development/tools/gauge/plugins/test-gauge-plugins.nix
rename to pkgs/by-name/ga/gauge/plugins/test-gauge-plugins.nix
diff --git a/pkgs/development/tools/gauge/plugins/xml-report/data.json b/pkgs/by-name/ga/gauge/plugins/xml-report/data.json
similarity index 100%
rename from pkgs/development/tools/gauge/plugins/xml-report/data.json
rename to pkgs/by-name/ga/gauge/plugins/xml-report/data.json
diff --git a/pkgs/development/tools/gauge/plugins/xml-report/default.nix b/pkgs/by-name/ga/gauge/plugins/xml-report/default.nix
similarity index 100%
rename from pkgs/development/tools/gauge/plugins/xml-report/default.nix
rename to pkgs/by-name/ga/gauge/plugins/xml-report/default.nix
diff --git a/pkgs/by-name/gb/gbsplay/package.nix b/pkgs/by-name/gb/gbsplay/package.nix
index cf77782b3646..dd8536c31b79 100644
--- a/pkgs/by-name/gb/gbsplay/package.nix
+++ b/pkgs/by-name/gb/gbsplay/package.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "gbsplay";
-  version = "0.0.99";
+  version = "0.0.100";
 
   src = fetchFromGitHub {
     owner = "mmitch";
     repo = "gbsplay";
     rev = finalAttrs.version;
-    hash = "sha256-I2T77HGuzp6IYQOd8RSaWYCXy8fwz7PtMxtO5IoAzdw=";
+    hash = "sha256-vsfpBhx3bNs6hQDO+xAPWFsf8L8fMtfdU5XKjF/r6PA=";
   };
 
   configureFlags = [
diff --git a/pkgs/by-name/gc/gclient2nix/package.nix b/pkgs/by-name/gc/gclient2nix/package.nix
index 7d55d0e234a8..f3df6a2c5a01 100644
--- a/pkgs/by-name/gc/gclient2nix/package.nix
+++ b/pkgs/by-name/gc/gclient2nix/package.nix
@@ -9,6 +9,7 @@
   callPackage,
   fetchFromGitiles,
   fetchFromGitHub,
+  buildPackages,
 }:
 
 let
@@ -43,7 +44,7 @@ let
     makeSetupHook {
       name = "gclient-unpack-hook";
       substitutions = {
-        jq = lib.getExe jq;
+        jq = lib.getExe buildPackages.jq;
       };
     } ./gclient-unpack-hook.sh
   ) { };
diff --git a/pkgs/by-name/gc/gcsfuse/package.nix b/pkgs/by-name/gc/gcsfuse/package.nix
index d7c918125704..f44363a51103 100644
--- a/pkgs/by-name/gc/gcsfuse/package.nix
+++ b/pkgs/by-name/gc/gcsfuse/package.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "gcsfuse";
-  version = "2.12.1";
+  version = "2.12.2";
 
   src = fetchFromGitHub {
     owner = "googlecloudplatform";
     repo = "gcsfuse";
     rev = "v${version}";
-    hash = "sha256-5sQU1yVt4oOSpanteeH2eBHNphbPoGPhS8m2ZkPr1sE=";
+    hash = "sha256-WuCrwL7iM9U4qXtLNntLeOxELe+tR7dsbsJyvdLHVaI=";
   };
 
-  vendorHash = "sha256-aXhgl7CQavI6iSQ6AVt9x536bQxlbRIqkUf99MudoYI=";
+  vendorHash = "sha256-aj3NvgKuaBiAfPNLYK9g7kzBcdeMkC4I6jjtvFHxsU8=";
 
   subPackages = [
     "."
diff --git a/pkgs/by-name/gd/gdbm/freebsd-patch-src-lock-c.patch b/pkgs/by-name/gd/gdbm/freebsd-patch-src-lock-c.patch
new file mode 100644
index 000000000000..4312cf998d60
--- /dev/null
+++ b/pkgs/by-name/gd/gdbm/freebsd-patch-src-lock-c.patch
@@ -0,0 +1,37 @@
+https://github.com/freebsd/freebsd-ports/blob/e198aef78afa4fd78ddc62fb5d0f7caa1b076bb0/databases/gdbm/files/patch-src_lock.c
+
+--- a/src/lock.c.orig	2025-03-06 16:24:09 UTC
++++ b/src/lock.c
+@@ -73,15 +73,10 @@ try_lock_flock (GDBM_FILE dbf, int nb)
+     {
+       return TRY_LOCK_OK;
+     }
+-  else if (errno == EWOULDBLOCK)
++  else if (errno == EWOULDBLOCK || errno == EINTR)
+     {
+       return TRY_LOCK_FAIL;
+     }
+-  else if (errno == EINTR)
+-    {
+-      errno = ETIME;
+-      return TRY_LOCK_FAIL;
+-    }
+ #endif
+   return TRY_LOCK_NEXT;
+ }
+@@ -116,7 +111,6 @@ try_lock_lockf (GDBM_FILE dbf, int nb)
+       switch (errno)
+ 	{
+ 	case EINTR:
+-	  errno = ETIME;
+ 	case EACCES:
+ 	case EAGAIN:
+ 	case EDEADLK:
+@@ -162,7 +156,6 @@ try_lock_fcntl (GDBM_FILE dbf, int nb)
+   switch (errno)
+     {
+     case EINTR:
+-      errno = ETIME;
+     case EACCES:
+     case EAGAIN:
+     case EDEADLK:
diff --git a/pkgs/by-name/gd/gdbm/package.nix b/pkgs/by-name/gd/gdbm/package.nix
index c707a23cfeaf..28cfd69edadb 100644
--- a/pkgs/by-name/gd/gdbm/package.nix
+++ b/pkgs/by-name/gd/gdbm/package.nix
@@ -1,6 +1,7 @@
 {
   lib,
   fetchurl,
+  fetchpatch,
   stdenv,
   testers,
   updateAutotoolsGnuConfigScriptsHook,
@@ -15,12 +16,16 @@ stdenv.mkDerivation (finalAttrs: {
     hash = "sha256-0C2zxZJu2Hf4gXuBzR+S9T73TKjG21Q/u6AnGzTzk+w=";
   };
 
-  patches = [
-    # Remove on next release.
-    ./upstream-darwin-clock-nanosleep-fix.patch
-    ./upstream-lockwait-test-fixes.patch
-    ./upstream-musl-ssize_t-fix.patch
-  ];
+  patches =
+    [
+      # Remove on next release.
+      ./upstream-darwin-clock-nanosleep-fix.patch
+      ./upstream-lockwait-test-fixes.patch
+      ./upstream-musl-ssize_t-fix.patch
+    ]
+    ++ lib.optionals stdenv.hostPlatform.isFreeBSD [
+      ./freebsd-patch-src-lock-c.patch
+    ];
 
   nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ];
 
diff --git a/pkgs/by-name/ge/gearlever/package.nix b/pkgs/by-name/ge/gearlever/package.nix
index 87be17d1c964..eea46681051d 100644
--- a/pkgs/by-name/ge/gearlever/package.nix
+++ b/pkgs/by-name/ge/gearlever/package.nix
@@ -23,14 +23,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "gearlever";
-  version = "3.2.4";
+  version = "3.3.3";
   pyproject = false; # Built with meson
 
   src = fetchFromGitHub {
     owner = "mijorus";
     repo = "gearlever";
     tag = version;
-    hash = "sha256-i7Yqe89b9kAR+ygHL2dlYvdPizBZG6MRMlPFvbHsIdQ=";
+    hash = "sha256-IAvUKxXXdHntsksShiWyGuLbKOX+dHsKYQE1UBypV4A=";
   };
 
   postPatch =
diff --git a/pkgs/by-name/ge/geist-font/package.nix b/pkgs/by-name/ge/geist-font/package.nix
index 4384243ad7f1..f3445bea363a 100644
--- a/pkgs/by-name/ge/geist-font/package.nix
+++ b/pkgs/by-name/ge/geist-font/package.nix
@@ -6,20 +6,12 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "geist-font";
-  version = "1.4.01";
+  version = "1.5.0";
 
   srcs = [
     (fetchzip {
-      name = "geist-mono";
-      url = "https://github.com/vercel/geist-font/releases/download/${finalAttrs.version}/GeistMono-${finalAttrs.version}.zip";
-      stripRoot = false;
-      hash = "sha256-NVPSG2Flm78X5+KXUqlTiGrquD/FGuI1C3PFcIqdyl8=";
-    })
-    (fetchzip {
-      name = "geist-sans";
-      url = "https://github.com/vercel/geist-font/releases/download/${finalAttrs.version}/Geist-v${finalAttrs.version}.zip";
-      stripRoot = false;
-      hash = "sha256-r3Ix+UhxL/UosCLsWl52N55D+rGonQK9TIRfu4hGiwE=";
+      url = "https://github.com/vercel/geist-font/releases/download/${finalAttrs.version}/geist-font-${finalAttrs.version}.zip";
+      hash = "sha256-p3nFuaQPvw4PLcb5AOhu9jiNCTzZD7st1MuJKTAzwKE=";
     })
   ];
 
@@ -28,7 +20,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
   installPhase = ''
     runHook preInstall
 
-    install -D geist-{mono,sans}/*/otf/*.otf -t $out/share/fonts/opentype
+    install -D source/fonts/{Geist,GeistMono}/otf/*.otf -t $out/share/fonts/opentype
 
     runHook postInstall
   '';
diff --git a/pkgs/by-name/ge/geminicommit/package.nix b/pkgs/by-name/ge/geminicommit/package.nix
index ff58bebd43bd..2c83ac9c285a 100644
--- a/pkgs/by-name/ge/geminicommit/package.nix
+++ b/pkgs/by-name/ge/geminicommit/package.nix
@@ -4,20 +4,21 @@
   fetchFromGitHub,
   installShellFiles,
   stdenv,
+  versionCheckHook,
 }:
 
 buildGoModule (finalAttrs: {
   pname = "geminicommit";
-  version = "0.4.0";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "tfkhdyt";
     repo = "geminicommit";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-hJevJkniyICUUr1UyS0A5SKuuYRU0dGHMWzF99Yr2Eo=";
+    hash = "sha256-QUI5JI1udOo3IOXegoes3pwwgSfxXIjxXIPsA5SuAJo=";
   };
 
-  vendorHash = "sha256-IfqlPg+HPcOfjlwwuLi2/R21UD83xQzWyUmzM7JSDEs=";
+  vendorHash = "sha256-AFm+1RQ6sMSe+kY/cw1Ly/8WEj2/yk0nJQiEJzV6jKg=";
 
   nativeBuildInputs = [
     installShellFiles
@@ -26,9 +27,18 @@ buildGoModule (finalAttrs: {
   postInstall =
     let
       cmd = finalAttrs.meta.mainProgram;
+      goDefaultCmd = finalAttrs.pname;
     in
-    lib.optionalString (with stdenv; buildPlatform.canExecute hostPlatform) ''
-      # `geminicommit` requires write permissions to $HOME for its `config.toml`
+    # The official github released binary is renamed since v0.4.1,
+    # see: https://github.com/tfkhdyt/geminicommit/releases/tag/v0.4.1
+    # Here we link the old name (which is also the `go build` default name)
+    # for backward compatibility:
+    ''
+      mv $out/bin/${goDefaultCmd} $out/bin/${cmd}
+      ln -s $out/bin/${cmd} $out/bin/${goDefaultCmd}
+    ''
+    + lib.optionalString (with stdenv; buildPlatform.canExecute hostPlatform) ''
+      # `gmc` requires write permissions to $HOME for its `config.toml`
       # ... which is automatically initiated on startup
       export HOME=$(mktemp -d)
 
@@ -39,11 +49,17 @@ buildGoModule (finalAttrs: {
       done
     '';
 
+  nativeInstallCheckInputs = [
+    versionCheckHook
+  ];
+
+  doInstallCheck = true;
+
   meta = {
     description = "CLI that generates git commit messages with Google Gemini AI";
     homepage = "https://github.com/tfkhdyt/geminicommit";
     license = lib.licenses.gpl3Only;
     maintainers = with lib.maintainers; [ bryango ];
-    mainProgram = "geminicommit";
+    mainProgram = "gmc";
   };
 })
diff --git a/pkgs/by-name/ge/geoserver/extensions.nix b/pkgs/by-name/ge/geoserver/extensions.nix
index 067380923801..267dc9e0314f 100644
--- a/pkgs/by-name/ge/geoserver/extensions.nix
+++ b/pkgs/by-name/ge/geoserver/extensions.nix
@@ -42,325 +42,325 @@ in
 {
   app-schema = mkGeoserverExtension {
     name = "app-schema";
-    version = "2.27.0"; # app-schema
-    hash = "sha256-S7WtIbmn9RF0mmTRiOH5zFsjZ6y0mvVu0H8jKCdTPHM="; # app-schema
+    version = "2.27.1"; # app-schema
+    hash = "sha256-en9j/FhM7llsgvg26nIqqpt3wVJ9wtshkimMQ4bn1O4="; # app-schema
   };
 
   authkey = mkGeoserverExtension {
     name = "authkey";
-    version = "2.27.0"; # authkey
-    hash = "sha256-GwA/f5wMf701TEs04Dgx/zcEA/jBHgw0JuJMKqTuRTU="; # authkey
+    version = "2.27.1"; # authkey
+    hash = "sha256-c2m5qfeeAlRoKl1ZgGzlURYivgUMh/22MBNXscKiRi8="; # authkey
   };
 
   cas = mkGeoserverExtension {
     name = "cas";
-    version = "2.27.0"; # cas
-    hash = "sha256-poD8OBeR7txtM1nJDy5MV6GVREVonLvx3TUY3a1V2Mc="; # cas
+    version = "2.27.1"; # cas
+    hash = "sha256-42ePZ90vATFsTkT9e2XaKM2uR05K5xUYbmwFPyQR4xk="; # cas
   };
 
   charts = mkGeoserverExtension {
     name = "charts";
-    version = "2.27.0"; # charts
-    hash = "sha256-8FoaN9EoFZ56YPev//IphMjce1iJQnMbP6xCdVSwMiU="; # charts
+    version = "2.27.1"; # charts
+    hash = "sha256-y2N7/ZnxeiP0cNtLXMzN0jSIAGc8t1QzSLD1wEVa/LY="; # charts
   };
 
   control-flow = mkGeoserverExtension {
     name = "control-flow";
-    version = "2.27.0"; # control-flow
-    hash = "sha256-DyZp/dcRm/xuvxv49qvepcDJPyHGiG4wMbEzKNhNcH0="; # control-flow
+    version = "2.27.1"; # control-flow
+    hash = "sha256-/Vv2otkJuaPAHxs7bZZ4UkB5tXR7YLb2Qn0eA5wRJkk="; # control-flow
   };
 
   css = mkGeoserverExtension {
     name = "css";
-    version = "2.27.0"; # css
-    hash = "sha256-PKRgGbDlTjrFkhrDpbjDjAl+Q/gjWXFw9C0QpKB8+Ro="; # css
+    version = "2.27.1"; # css
+    hash = "sha256-ZQtyljZuQdX7fS+4oGALXZBsscr8M6m1hgAN0EoBRVM="; # css
   };
 
   csw = mkGeoserverExtension {
     name = "csw";
-    version = "2.27.0"; # csw
-    hash = "sha256-sddOghBd8OVjKmaF3PqM/G+RkpsUk6vmCZv7uQJTJnU="; # csw
+    version = "2.27.1"; # csw
+    hash = "sha256-P0PMs8JNxHXwPy610mYc9Fz6uO+LnYWm7fd8i2R3vTY="; # csw
   };
 
   csw-iso = mkGeoserverExtension {
     name = "csw-iso";
-    version = "2.27.0"; # csw-iso
-    hash = "sha256-WVKVoQWIusgpAZUWPybBBIMbtWB56uNix3T50hy0x5w="; # csw-iso
+    version = "2.27.1"; # csw-iso
+    hash = "sha256-aQCFUTQeTx+RuBjXksq3guHQ+LIaA3RCSLv9XQ9BdtA="; # csw-iso
   };
 
   db2 = mkGeoserverExtension {
     name = "db2";
-    version = "2.27.0"; # db2
-    hash = "sha256-jlyRGOGBFJ0+sArKXqchITlS6swE/v4ScdxPKWANFaE="; # db2
+    version = "2.27.1"; # db2
+    hash = "sha256-RO1IH1AZ3iiEHzx95ZC9+aqD7pB7lMQ0MQ8uHjfQLR4="; # db2
   };
 
   # Needs wps extension.
   dxf = mkGeoserverExtension {
     name = "dxf";
-    version = "2.27.0"; # dxf
-    hash = "sha256-hdn5X7T5/H7Ti0UK3MdG0TFGInwu7S7Z4VghcWx+hdQ="; # dxf
+    version = "2.27.1"; # dxf
+    hash = "sha256-DxQWW59+FslrmX601CffZabF+uZA+ujHVGmbwatQT9M="; # dxf
   };
 
   excel = mkGeoserverExtension {
     name = "excel";
-    version = "2.27.0"; # excel
-    hash = "sha256-EH1TZeYPk+sb9+7ZfjbaEsNgQJ+/57XCc2+CvELsY88="; # excel
+    version = "2.27.1"; # excel
+    hash = "sha256-G6KBuBVxW879GffpKJVJgK2sO65S+zfUsKomXPBUejA="; # excel
   };
 
   feature-pregeneralized = mkGeoserverExtension {
     name = "feature-pregeneralized";
-    version = "2.27.0"; # feature-pregeneralized
-    hash = "sha256-0389xo0NjTREGQLMrqJesl/XrFOrjFjjFBL7GSUMl/Y="; # feature-pregeneralized
+    version = "2.27.1"; # feature-pregeneralized
+    hash = "sha256-wbUZAWTSFDutmGUhkFI0Hl/WbZRb5sLet2FdZmxLeLM="; # feature-pregeneralized
   };
 
   # Note: The extension name ("gdal") clashes with pkgs.gdal.
   gdal = mkGeoserverExtension {
     name = "gdal";
-    version = "2.27.0"; # gdal
+    version = "2.27.1"; # gdal
     buildInputs = [ pkgs.gdal ];
-    hash = "sha256-oTSEk+AmgXydSF4TZD9m5ViyeWh5HpAprMZAPMdP2LI="; # gdal
+    hash = "sha256-xw6DoOxImOLnmPxYMkaH4bKes0vVobzvT1IiDywq828="; # 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.27.0"; # geofence
-  #  hash = "sha256-P7ZHvC4qv1meziqPmBfOgQ+Y06Ico0N1trUi9LMZUJQ="; # geofence
+  #  version = "2.27.1"; # geofence
+  #  hash = "sha256-ccbCBCrb4zbZQ2eCDZo/FOT2IiUhruV62h7SrITdPdw="; # geofence
   #};
 
   #geofence-server = mkGeoserverExtension {
   #  name = "geofence-server";
-  #  version = "2.27.0"; # geofence-server
+  #  version = "2.27.1"; # geofence-server
   #  hash = ""; # geofence-server
   #};
 
   #geofence-wps = mkGeoserverExtension {
   #  name = "geofence-wps";
-  #  version = "2.27.0"; # geofence-wps
-  #  hash = "sha256-8Wvb/elunsYTFD1GgEQunM8i0eDyOA/W52KZ9+7uvvk="; # geofence-wps
+  #  version = "2.27.1"; # geofence-wps
+  #  hash = "sha256-k2z+xBUZw7cz/sPRjAEsKey6oqY1FzpaMGJcCm73kdg="; # geofence-wps
   #};
 
   geopkg-output = mkGeoserverExtension {
     name = "geopkg-output";
-    version = "2.27.0"; # geopkg-output
-    hash = "sha256-VUqBTt0XfSY2Q8cfeCpVmr398PK+Sb74APSrBODJNlw="; # geopkg-output
+    version = "2.27.1"; # geopkg-output
+    hash = "sha256-wECoUeBJLh00hJHT/adz7YF8AraPl1rOd9GLL1BP5dU="; # geopkg-output
   };
 
   grib = mkGeoserverExtension {
     name = "grib";
-    version = "2.27.0"; # grib
-    hash = "sha256-xX9LAgo5exeD2UxZ8/LROZWobLHLw33jcpwERGUGPys="; # grib
+    version = "2.27.1"; # grib
+    hash = "sha256-gu8sDIA46u0Uj9+lJJ65mn3FD6D+DjsTN8KbNUeoOP0="; # grib
     buildInputs = [ netcdf ];
   };
 
   gwc-s3 = mkGeoserverExtension {
     name = "gwc-s3";
-    version = "2.27.0"; # gwc-s3
-    hash = "sha256-/koF00Rki1xiY/g4ahhvFZNQxGnvIbbnqNmYHBqArBI="; # gwc-s3
+    version = "2.27.1"; # gwc-s3
+    hash = "sha256-UBy17pwwjDJFBIgUyQSThj3Kn1bber/pglsUr/h4d+Q="; # gwc-s3
   };
 
   h2 = mkGeoserverExtension {
     name = "h2";
-    version = "2.27.0"; # h2
-    hash = "sha256-lfWu3812AMv0bB2dllNlcOSyN+IMASI/nkjLaStvUtw="; # h2
+    version = "2.27.1"; # h2
+    hash = "sha256-cXtc5OBAn3ppoGns6MvivgCYW841LJt1SPi5nNDE2O8="; # h2
   };
 
   iau = mkGeoserverExtension {
     name = "iau";
-    version = "2.27.0"; # iau
-    hash = "sha256-9PhWejZILq1hcWBdvWh9SdtfLOlpFcaIU9TeJ8z7UUw="; # iau
+    version = "2.27.1"; # iau
+    hash = "sha256-77ULte2jCRN+gfd9/tOL26RX7EjKK6h5JaqQBR8TSI8="; # iau
   };
 
   importer = mkGeoserverExtension {
     name = "importer";
-    version = "2.27.0"; # importer
-    hash = "sha256-oqlNcUkO7XlcI6QQF+44kt69ZWtPSdcpyuA5xGtVrAQ="; # importer
+    version = "2.27.1"; # importer
+    hash = "sha256-qrwMz7R/m/BtwNUcJV+mJu8pTNS+00EjWq/hMnF3/T0="; # importer
   };
 
   inspire = mkGeoserverExtension {
     name = "inspire";
-    version = "2.27.0"; # inspire
-    hash = "sha256-irSJm3gDJAiDHczkS84OW+noOIryCOmSwiIU4GAKqoQ="; # inspire
+    version = "2.27.1"; # inspire
+    hash = "sha256-fjMkmAmq9BGsnwjUH8I/iCZveAPEYi9E9/R2WNg6rxo="; # inspire
   };
 
   # Needs Kakadu plugin from
   # https://github.com/geosolutions-it/imageio-ext
   #jp2k = mkGeoserverExtension {
   #  name = "jp2k";
-  #  version = "2.27.0"; # jp2k
-  #  hash = "sha256-WKWtNKv1sQrdrraCj9jmEODtIhCVF25HFbQNROdlyxg="; # jp2k
+  #  version = "2.27.1"; # jp2k
+  #  hash = "sha256-guNAdKOu32t0a648nuUjkt5bu17OKLAn6QXYeyAe1ZA="; # jp2k
   #};
 
   libjpeg-turbo = mkGeoserverExtension {
     name = "libjpeg-turbo";
-    version = "2.27.0"; # libjpeg-turbo
-    hash = "sha256-tMov4w8Kfbrr7hkNK4o+XFUuenyidCem7Z36KXinfTE="; # libjpeg-turbo
+    version = "2.27.1"; # libjpeg-turbo
+    hash = "sha256-ZAIQJzzDNSgCX4BUchyRktobJkyLHgWYwfPz8B9vNTQ="; # libjpeg-turbo
     buildInputs = [ libjpeg.out ];
   };
 
   mapml = mkGeoserverExtension {
     name = "mapml";
-    version = "2.27.0"; # mapml
-    hash = "sha256-HONocKWnjkGqGRmtDxcJSwnDHwVouY6YeORRBjAbu4M="; # mapml
+    version = "2.27.1"; # mapml
+    hash = "sha256-znx6KjpTT109wG2wsTyvwKFcij29TVJ0cOkEIJw1D0g="; # mapml
   };
 
   mbstyle = mkGeoserverExtension {
     name = "mbstyle";
-    version = "2.27.0"; # mbstyle
-    hash = "sha256-c1QijJj/WfbTxc4vM55lz+wx2PW4BY3tXneSM+3zXRA="; # mbstyle
+    version = "2.27.1"; # mbstyle
+    hash = "sha256-t2g9Pm1PsfbiP1UWHcZaILZQFeOxnKUMXGS1sJfQcVg="; # mbstyle
   };
 
   metadata = mkGeoserverExtension {
     name = "metadata";
-    version = "2.27.0"; # metadata
-    hash = "sha256-5b9gtSzP9DOyhwoNdFVnv08WjlH+m0ZFPO+jqtbUJ1A="; # metadata
+    version = "2.27.1"; # metadata
+    hash = "sha256-DPD83rrjn8oPRXn28EFDgvxdhUtI3goPN2FpyPjyGks="; # metadata
   };
 
   mongodb = mkGeoserverExtension {
     name = "mongodb";
-    version = "2.27.0"; # mongodb
-    hash = "sha256-Y9KQ7lqfCnPfTdPUzidi9wNZPeiTTqB+4lf5q7mSQ88="; # mongodb
+    version = "2.27.1"; # mongodb
+    hash = "sha256-lVaEOf91CKBYfI8QLXhERfQ+aWNTTok2DveiZlWygjQ="; # mongodb
   };
 
   monitor = mkGeoserverExtension {
     name = "monitor";
-    version = "2.27.0"; # monitor
-    hash = "sha256-uAkOudY7yACJ9A+FxcKSDUhGiID+uTvBibCejFwEiT0="; # monitor
+    version = "2.27.1"; # monitor
+    hash = "sha256-goZz5+dxB787hjcoR/Cmo92mw+rhpoooETzxg8bQ4eE="; # monitor
   };
 
   mysql = mkGeoserverExtension {
     name = "mysql";
-    version = "2.27.0"; # mysql
-    hash = "sha256-qA3l9gx4AuqqbPHfQkbvJNYfURrBSnmq4S4nEPrFpO4="; # mysql
+    version = "2.27.1"; # mysql
+    hash = "sha256-jn+zmnrJHWw6/OXCnEpoBPtUALhINjL42va1+eGXgeU="; # mysql
   };
 
   netcdf = mkGeoserverExtension {
     name = "netcdf";
-    version = "2.27.0"; # netcdf
-    hash = "sha256-3pxGeIWcsBnJMdZjupOR/GmglxYWJp8KjJsmZSCRK00="; # netcdf
+    version = "2.27.1"; # netcdf
+    hash = "sha256-W/ICO05gBf5o6ZAc8vbxv9ZWd02m6AMQKqyimpVvRX8="; # netcdf
     buildInputs = [ netcdf ];
   };
 
   netcdf-out = mkGeoserverExtension {
     name = "netcdf-out";
-    version = "2.27.0"; # netcdf-out
-    hash = "sha256-GfwJqdoO1Z265OmfAvjoKy0/DLX8e06Mu58o4Zps4q0="; # netcdf-out
+    version = "2.27.1"; # netcdf-out
+    hash = "sha256-0l74QlXo3CwTja2DDx8fmD9DTJV3S6fdCi2r6oq6UwE="; # netcdf-out
     buildInputs = [ netcdf ];
   };
 
   ogr-wfs = mkGeoserverExtension {
     name = "ogr-wfs";
-    version = "2.27.0"; # ogr-wfs
+    version = "2.27.1"; # ogr-wfs
     buildInputs = [ pkgs.gdal ];
-    hash = "sha256-FX3sojRnR6FQSFSK4n62w/lrPbHTdbLn9NtR2nE/3dU="; # ogr-wfs
+    hash = "sha256-UXTpC4vd/2lq2mRMaTEwiIb58NtnsM+PEX2F6hsCv3s="; # ogr-wfs
   };
 
   # Needs ogr-wfs extension.
   ogr-wps = mkGeoserverExtension {
     name = "ogr-wps";
-    version = "2.27.0"; # ogr-wps
+    version = "2.27.1"; # ogr-wps
     # buildInputs = [ pkgs.gdal ];
-    hash = "sha256-Nb7rkbZPw85+EAcR+ist4iW16HVfsH9cSYwplHyO4RY="; # ogr-wps
+    hash = "sha256-GgVVGEBm7ci4Qxe+hNiIuGGOoJQRvaZE+NYKY0ZJlAQ="; # ogr-wps
   };
 
   oracle = mkGeoserverExtension {
     name = "oracle";
-    version = "2.27.0"; # oracle
-    hash = "sha256-4KnZ48oKmgap3qZiJE4TSCQZpMvCQd4PULWponW5f1c="; # oracle
+    version = "2.27.1"; # oracle
+    hash = "sha256-7NH0XW+dZWIgJ8rwzNjCXLS2c4lCFg0FzNM8AD17Z3E="; # oracle
   };
 
   params-extractor = mkGeoserverExtension {
     name = "params-extractor";
-    version = "2.27.0"; # params-extractor
-    hash = "sha256-0NnL87Cn/DcLXTnBJhgcGHNmC6SYKRc7TY+4r7VcYJQ="; # params-extractor
+    version = "2.27.1"; # params-extractor
+    hash = "sha256-Z3pM5Mt1RE1+aDfsjcMrx4u6SvUzOUQmrmfghCCQIYk="; # params-extractor
   };
 
   printing = mkGeoserverExtension {
     name = "printing";
-    version = "2.27.0"; # printing
-    hash = "sha256-10uBc9ZI9M9m5vmKMXfB1TieJBr7cx/SeD1AiXNVJo8="; # printing
+    version = "2.27.1"; # printing
+    hash = "sha256-/kkUQpARHi2J/+4Tc9z7pVGLhnwbrlxOxiUlbg646KQ="; # printing
   };
 
   pyramid = mkGeoserverExtension {
     name = "pyramid";
-    version = "2.27.0"; # pyramid
-    hash = "sha256-K38fYjM0Oh+FHT5Wadjuc3KIhFP2x5q5cxW5aucZNNw="; # pyramid
+    version = "2.27.1"; # pyramid
+    hash = "sha256-b4ZZNXHOgywXkPwTWBANyl0r1bok4bybusI0tKZ7rY8="; # pyramid
   };
 
   querylayer = mkGeoserverExtension {
     name = "querylayer";
-    version = "2.27.0"; # querylayer
-    hash = "sha256-5OPfTUB0d08jWjxWd77BxffZgx+eM5eJX9bX0kt/WpM="; # querylayer
+    version = "2.27.1"; # querylayer
+    hash = "sha256-8leo1ZtrYbN9XISJLVZvOF34arOEnh0Y8CIeWih8XOE="; # querylayer
   };
 
   sldservice = mkGeoserverExtension {
     name = "sldservice";
-    version = "2.27.0"; # sldservice
-    hash = "sha256-rWIbWCsX4Hkank0L02sluTF137Y6Pex15Gobiwv2pNM="; # sldservice
+    version = "2.27.1"; # sldservice
+    hash = "sha256-nKG1/+NwmTaardqZAhB4A1QV6bPxc30jW9Ip/q2vUJ0="; # sldservice
   };
 
   sqlserver = mkGeoserverExtension {
     name = "sqlserver";
-    version = "2.27.0"; # sqlserver
-    hash = "sha256-ghf3z9b586RUgvicyOXlW2K8Uq9TolRb7CrcKT1Jt1M="; # sqlserver
+    version = "2.27.1"; # sqlserver
+    hash = "sha256-aqQf7NwUPnNn9Byu8YmbMnsU3n3aq832rvXbvicQsrM="; # sqlserver
   };
 
   vectortiles = mkGeoserverExtension {
     name = "vectortiles";
-    version = "2.27.0"; # vectortiles
-    hash = "sha256-ho/Vp1cFq2/xY9fIaQUR+vBQ6Vfdf+Z2eYvL7eI1qMY="; # vectortiles
+    version = "2.27.1"; # vectortiles
+    hash = "sha256-8nITeBDeFX6bDx+2Sn4yHfb333XUdNGPV6I883nZLV0="; # vectortiles
   };
 
   wcs2_0-eo = mkGeoserverExtension {
     name = "wcs2_0-eo";
-    version = "2.27.0"; # wcs2_0-eo
-    hash = "sha256-GcoOT3JNQPUN8ETX4spJXteJvbNM9+YO85FH+dw3oSg="; # wcs2_0-eo
+    version = "2.27.1"; # wcs2_0-eo
+    hash = "sha256-y3QOWFmYW+dxIAAlolcotJ0oNulRIJKvLeQqSTZKq/w="; # wcs2_0-eo
   };
 
   web-resource = mkGeoserverExtension {
     name = "web-resource";
-    version = "2.27.0"; # web-resource
-    hash = "sha256-4TGt9MklLWbJexY7kjT+ijIX/V4OLw7U6mDkBoVXuwk="; # web-resource
+    version = "2.27.1"; # web-resource
+    hash = "sha256-hfP/qnb4isWg4eoxfBCDpiLS4GBG/ysrGBE6HVbglMg="; # web-resource
   };
 
   wmts-multi-dimensional = mkGeoserverExtension {
     name = "wmts-multi-dimensional";
-    version = "2.27.0"; # wmts-multi-dimensional
-    hash = "sha256-8I3XbAToqTgwf4y+C3ulAhCY7axyS739GV4+jxwO33g="; # wmts-multi-dimensional
+    version = "2.27.1"; # wmts-multi-dimensional
+    hash = "sha256-/KfE5dLvbSeMn/w7NYKQtUIY/Wb1oWeLvdMEqgrNAhg="; # wmts-multi-dimensional
   };
 
   wps = mkGeoserverExtension {
     name = "wps";
-    version = "2.27.0"; # wps
-    hash = "sha256-9OrjyVaf9JzDPXyqHqqg51aAllhcAf4bOvQQyV1dHpI="; # wps
+    version = "2.27.1"; # wps
+    hash = "sha256-rsBUWUthRrBkSNIzZZZzIy56bsJYt9zy3cIzWQVHVGc="; # 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.27.0"; # wps-cluster-hazelcast
-  #  hash = "sha256-amHfS5eBRoiMdj3wJzRNg9krYo5DJrCvCvhtj/Z9mUw="; # wps-cluster-hazelcast
+  #  version = "2.27.1"; # wps-cluster-hazelcast
+  #  hash = "sha256-W0hIz/Bx/x0ATLhcljSWa9/qzltt3FKlWyxub4Lnsx0="; # wps-cluster-hazelcast
   #};
 
   wps-download = mkGeoserverExtension {
     name = "wps-download";
-    version = "2.27.0"; # wps-download
-    hash = "sha256-vQpSGiOUh9N4PDQ4w/mTNjooz0lYDXwwRpZsq9VhEMA="; # wps-download
+    version = "2.27.1"; # wps-download
+    hash = "sha256-gt3u/zm8ME99d7zJV1EHQQYjC1IZyG7f5pV+Zt2XeJU="; # 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.27.0"; # wps-jdbc
-    hash = "sha256-YWBOLL3X6Ztv+9EWmHKd5N020+qkVNtXXbObSlBhp2s="; # wps-jdbc
+    version = "2.27.1"; # wps-jdbc
+    hash = "sha256-5RtViHAgqAtnHQolqGMC7QYgnwQmn/sO4WdUx2gyxe8="; # wps-jdbc
   };
 
   ysld = mkGeoserverExtension {
     name = "ysld";
-    version = "2.27.0"; # ysld
-    hash = "sha256-fPF4LM0WC4YaAMnPhz3A/XXOoMu+v8TsO6XIcXHWRi4="; # ysld
+    version = "2.27.1"; # ysld
+    hash = "sha256-DvQ8b6ODmU09Qixwe14wze92ktWyt54+zaEMfXjiEko="; # ysld
   };
 
 }
diff --git a/pkgs/by-name/ge/geoserver/package.nix b/pkgs/by-name/ge/geoserver/package.nix
index 0822e0f42b29..dd1194979e00 100644
--- a/pkgs/by-name/ge/geoserver/package.nix
+++ b/pkgs/by-name/ge/geoserver/package.nix
@@ -10,20 +10,14 @@
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "geoserver";
-  version = "2.27.0";
+  version = "2.27.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/geoserver/GeoServer/${finalAttrs.version}/geoserver-${finalAttrs.version}-bin.zip";
-    hash = "sha256-bhL+u+BoKgW2cwOXEzaq0h07dKFz9u9WB2jW8nAF0vI=";
+    hash = "sha256-7IrnznWa5NI/2gFHVTRQ0IerOkodStbr0aGpKPpeLQk=";
   };
 
-  sourceRoot = "source";
-
-  unpackPhase = ''
-    runHook preUnpack
-    unzip $src -d "$sourceRoot"
-    runHook postUnpack
-  '';
+  sourceRoot = ".";
 
   patches = [
     # set GEOSERVER_DATA_DIR to current working directory if not provided
@@ -92,12 +86,12 @@ stdenv.mkDerivation (finalAttrs: {
       updateScript = ./update.sh;
     };
 
-  meta = with lib; {
+  meta = {
     description = "Open source server for sharing geospatial data";
     homepage = "https://geoserver.org/";
-    sourceProvenance = with sourceTypes; [ binaryBytecode ];
-    license = licenses.gpl2Plus;
-    teams = [ teams.geospatial ];
-    platforms = platforms.all;
+    sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
+    license = lib.licenses.gpl2Plus;
+    teams = [ lib.teams.geospatial ];
+    platforms = lib.platforms.all;
   };
 })
diff --git a/pkgs/by-name/ge/geteduroam-cli/package.nix b/pkgs/by-name/ge/geteduroam-cli/package.nix
index 08a58c74d798..e38a24fd4b7b 100644
--- a/pkgs/by-name/ge/geteduroam-cli/package.nix
+++ b/pkgs/by-name/ge/geteduroam-cli/package.nix
@@ -7,16 +7,16 @@
 }:
 buildGoModule (finalAttrs: {
   pname = "geteduroam-cli";
-  version = "0.11";
+  version = "0.12";
 
   src = fetchFromGitHub {
     owner = "geteduroam";
     repo = "linux-app";
     tag = finalAttrs.version;
-    hash = "sha256-CbgQn6mf1125DYKBDId+BmFMcfdWNW2M4/iLoiELOAY=";
+    hash = "sha256-+3mluLby3R0xVU9fIG+1B1A4yM1IfyUvw4wclwnV5s8=";
   };
 
-  vendorHash = "sha256-b06wnqT88J7etNTFJ6nE9Uo0gOQOGvvs0vPNnJr6r4Q=";
+  vendorHash = "sha256-l9hge1TS+7ix9/6LKWq+lTMjNM4/Lnw8gNrWB6hWCTk=";
 
   subPackages = [
     "cmd/geteduroam-cli"
diff --git a/pkgs/by-name/ge/gexiv2/package.nix b/pkgs/by-name/ge/gexiv2/package.nix
index 7913d8aeb268..602a9332c4e1 100644
--- a/pkgs/by-name/ge/gexiv2/package.nix
+++ b/pkgs/by-name/ge/gexiv2/package.nix
@@ -19,7 +19,7 @@
 
 stdenv.mkDerivation rec {
   pname = "gexiv2";
-  version = "0.14.3";
+  version = "0.14.5";
 
   outputs = [
     "out"
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "IeZNLFbpszPUT+8/KkslZT2SLEGazZcvqW+raVIX4sg=";
+    sha256 = "CRPFPaq6sfGrWGr9VbtVNweW8rirzG43ZAq3cErZnOE=";
   };
 
   nativeBuildInputs =
diff --git a/pkgs/by-name/gh/gh/package.nix b/pkgs/by-name/gh/gh/package.nix
index 6a529469cca2..d82ec18516ca 100644
--- a/pkgs/by-name/gh/gh/package.nix
+++ b/pkgs/by-name/gh/gh/package.nix
@@ -10,13 +10,13 @@
 
 buildGoModule rec {
   pname = "gh";
-  version = "2.74.0";
+  version = "2.74.1";
 
   src = fetchFromGitHub {
     owner = "cli";
     repo = "cli";
     tag = "v${version}";
-    hash = "sha256-jnS2S21iHBmi+AZAKs6QgJWsmZGc4ly8bIGSMg+cNCA=";
+    hash = "sha256-9Mc0AuwR9F7XU6yjIJ5Z7m7e0b3o7ZjpDdkTc6JMNnQ=";
   };
 
   vendorHash = "sha256-S1s+Es7vOvyiPY7RJaMs6joy8QIZ1xY9mR6WvNIs0OY=";
diff --git a/pkgs/by-name/gh/ghostfolio/package.nix b/pkgs/by-name/gh/ghostfolio/package.nix
index 79d23db32cc8..4838523dea86 100644
--- a/pkgs/by-name/gh/ghostfolio/package.nix
+++ b/pkgs/by-name/gh/ghostfolio/package.nix
@@ -11,13 +11,13 @@
 
 buildNpmPackage rec {
   pname = "ghostfolio";
-  version = "2.165.0";
+  version = "2.170.0";
 
   src = fetchFromGitHub {
     owner = "ghostfolio";
     repo = "ghostfolio";
     tag = version;
-    hash = "sha256-3pgYRwTsfHbooW1oEw2LTH1DXYrru7F7XPmWPQs1x0o=";
+    hash = "sha256-zXT0gSHixUeFaNA0y1JDtR5rrIBQTwlpWPeg9fR4Sf8=";
     # populate values that require us to use git. By doing this in postFetch we
     # can delete .git afterwards and maintain better reproducibility of the src.
     leaveDotGit = true;
@@ -27,7 +27,7 @@ buildNpmPackage rec {
     '';
   };
 
-  npmDepsHash = "sha256-x/F9fcQBmK6+xL0N38HIBUi+vkvZ3p8rxxqxpnm7p68=";
+  npmDepsHash = "sha256-92MSin46MURmOPFOCobB2646/zl84LTNVwdYQG8Talo=";
 
   nativeBuildInputs = [
     prisma
diff --git a/pkgs/by-name/gi/gImageReader/package.nix b/pkgs/by-name/gi/gImageReader/package.nix
index dee339979213..36bdd412d35a 100644
--- a/pkgs/by-name/gi/gImageReader/package.nix
+++ b/pkgs/by-name/gi/gImageReader/package.nix
@@ -17,6 +17,8 @@
   json-glib,
   ninja,
   python3,
+  doxygen,
+  enchant,
 
   # Gtk deps
   # upstream gImagereader supports Qt too
@@ -28,21 +30,24 @@
   gtkspell3,
   gtkspellmm,
   cairomm,
+  kdePackages,
+  qt6Packages,
+  withQt6 ? false,
+  wrapQtAppsHook ? null,
 }:
 
 let
-  variant = "gtk";
   pythonEnv = python3.withPackages (ps: with ps; [ pygobject3 ]);
 in
 stdenv.mkDerivation rec {
   pname = "gImageReader";
-  version = "3.4.2";
+  version = "5aff249fdc119caa1464af9405259799b4f69d8b";
 
   src = fetchFromGitHub {
     owner = "manisandro";
     repo = "gImageReader";
-    rev = "v${version}";
-    sha256 = "sha256-yBkVeufRRoSAc20/8mV39widBPloHFz12K7B4Y9xiWg=";
+    rev = "${version}";
+    sha256 = "sha256-xS63iGY1yf0NEnGuss0sme1vSYd2L3sOUd/g8yyPn1k=";
   };
 
   nativeBuildInputs = [
@@ -51,40 +56,52 @@ stdenv.mkDerivation rec {
     intltool
     pkg-config
     pythonEnv
-
-    # Gtk specific
-    wrapGAppsHook3
+    enchant
     gobject-introspection
-  ];
+    wrapGAppsHook3
+  ] ++ lib.optionals withQt6 [ qt6Packages.wrapQtAppsHook ];
 
-  buildInputs = [
-    libxmlxx3
-    libzip
-    libuuid
-    sane-backends
-    podofo
-    libjpeg
-    djvulibre
-    tesseract
-    poppler
+  buildInputs =
+    [
+      libxmlxx3
+      libzip
+      libuuid
+      sane-backends
+      podofo
+      libjpeg
+      djvulibre
+      tesseract
+      poppler
+      doxygen
+      cairomm
+      gtkmm3
+      gtksourceview3
+      gtksourceviewmm
+      gtkspell3
+      gtkspellmm
+      json-glib
+    ]
+    ++ lib.optionals withQt6 (
+      with qt6Packages;
+      [
+        kdePackages.poppler
+        qtbase
+        qtspell
+        qttools
+        quazip
+      ]
+    );
 
-    # Gtk specific
-    gtkmm3
-    gtkspell3
-    gtkspellmm
-    gtksourceview3
-    gtksourceviewmm
-    cairomm
-    json-glib
-  ];
-
-  # interface type can be where  is either gtk, qt5, qt4
-  cmakeFlags = [ "-DINTERFACE_TYPE=${variant}" ];
+  # interface type can be where  is either gtk, qt6
+  cmakeFlags = [
+    "-DINTERFACE_TYPE=gtk"
+  ] ++ lib.optionals withQt6 [ "-DINTERFACE_TYPE=qt6 -DQT_VER=6" ];
 
   meta = with lib; {
     description = "Simple Gtk/Qt front-end to tesseract-ocr";
-    mainProgram = "gimagereader-gtk";
+    mainProgram = if withQt6 then "gImageReader-qt6" else "gImageReader";
     homepage = "https://github.com/manisandro/gImageReader";
+    changelog = "https://github.com/manisandro/gImageReader/blob/${version}/NEWS";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ teto ];
     platforms = platforms.linux;
diff --git a/pkgs/by-name/gi/giada/package.nix b/pkgs/by-name/gi/giada/package.nix
index fc875f7685dc..5607f69ba173 100644
--- a/pkgs/by-name/gi/giada/package.nix
+++ b/pkgs/by-name/gi/giada/package.nix
@@ -21,17 +21,22 @@
   libvorbis,
   libopus,
   nlohmann_json,
+  expat,
+  libGL,
+  curl,
+  webkitgtk_4_1,
+  gtk3,
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "giada";
-  version = "1.0.0";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "monocasual";
     repo = "giada";
-    rev = finalAttrs.version;
-    hash = "sha256-vTOUS9mI4B3yRNnM2dNCH7jgMuD3ztdhe1FMgXUIt58=";
+    tag = finalAttrs.version;
+    hash = "sha256-t24S8tmx9VFcpEwe5EzoMQ7xhX8dj92Mq43gaWc+C50=";
     fetchSubmodules = true;
   };
 
@@ -51,22 +56,27 @@ stdenv.mkDerivation (finalAttrs: {
 
   buildInputs =
     [
-      rtmidi
+      alsa-lib
+      curl
+      expat
+      flac
       fltk
       fmt
-      libmpg123
-      libsndfile
-      libsamplerate
-      nlohmann_json
-      alsa-lib
-      libXpm
-      libpulseaudio
+      gtk3
       jack2
-      flac
-      libogg
-      libvorbis
-      libopus
+      libGL
+      libXpm
       libXrandr
+      libogg
+      libopus
+      libpulseaudio
+      libsamplerate
+      libsndfile
+      libvorbis
+      libmpg123
+      nlohmann_json
+      rtmidi
+      webkitgtk_4_1
     ]
     ++ lib.optionals (stdenv.hostPlatform.isLinux || stdenv.hostPlatform.isFreeBSD) [
       fontconfig
diff --git a/pkgs/by-name/gi/git-cliff/package.nix b/pkgs/by-name/gi/git-cliff/package.nix
index 971f0b6de6ba..87fc5965c585 100644
--- a/pkgs/by-name/gi/git-cliff/package.nix
+++ b/pkgs/by-name/gi/git-cliff/package.nix
@@ -8,17 +8,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "git-cliff";
-  version = "2.9.0";
+  version = "2.9.1";
 
   src = fetchFromGitHub {
     owner = "orhun";
     repo = "git-cliff";
     rev = "v${version}";
-    hash = "sha256-ZxMwQBhU+49+MaId16tH2np2slgCmq4yKi6PI9Dy+o4=";
+    hash = "sha256-J3KjVPH7shMupogLSfA5HV1FyA+cFSOWP9gMBU6txww=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-QPxrdmuQINzuZXyRRYDA+HguRdt6n++XuLj/OF0ceKU=";
+  cargoHash = "sha256-16ouBn6GQlE1ZVr4g/TicEL0cTiewegGkuhGcJPicrc=";
 
   # attempts to run the program on .git in src which is not deterministic
   doCheck = false;
diff --git a/pkgs/applications/version-management/git-machete/default.nix b/pkgs/by-name/gi/git-machete/package.nix
similarity index 80%
rename from pkgs/applications/version-management/git-machete/default.nix
rename to pkgs/by-name/gi/git-machete/package.nix
index 5b9db51a215f..325a3975344a 100644
--- a/pkgs/applications/version-management/git-machete/default.nix
+++ b/pkgs/by-name/gi/git-machete/package.nix
@@ -1,32 +1,33 @@
 {
   lib,
-  buildPythonApplication,
-  pytest-mock,
-  pytestCheckHook,
+  python3,
   fetchFromGitHub,
   installShellFiles,
   git,
   nix-update-script,
 }:
 
-buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "git-machete";
-  version = "3.34.1";
+  version = "3.36.0";
 
   src = fetchFromGitHub {
     owner = "virtuslab";
-    repo = pname;
+    repo = "git-machete";
     rev = "v${version}";
-    hash = "sha256-CllaviW7pqLD9XD4oSHyW2nG4lObkPWFseXZbtkNUQI=";
+    hash = "sha256-iSuOiQC+dKqcDCS4nTPMrNFpo3ipPUQhfoofM11UInI=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
 
-  nativeCheckInputs = [
-    git
-    pytest-mock
-    pytestCheckHook
-  ];
+  nativeCheckInputs =
+    [
+      git
+    ]
+    ++ (with python3.pkgs; [
+      pytest-mock
+      pytestCheckHook
+    ]);
 
   disabledTests = [
     # Requires fully functioning shells including zsh modules and bash
diff --git a/pkgs/by-name/gi/git-pw/package.nix b/pkgs/by-name/gi/git-pw/package.nix
index cf9bce02d574..083bea01547c 100644
--- a/pkgs/by-name/gi/git-pw/package.nix
+++ b/pkgs/by-name/gi/git-pw/package.nix
@@ -36,7 +36,7 @@ python3.pkgs.buildPythonApplication rec {
 
   nativeCheckInputs = with python3.pkgs; [
     pytest-cov-stub
-    pytest
+    pytestCheckHook
     git
   ];
 
diff --git a/pkgs/by-name/gi/git-repo/package.nix b/pkgs/by-name/gi/git-repo/package.nix
index d0bc4e416468..5423dae09427 100644
--- a/pkgs/by-name/gi/git-repo/package.nix
+++ b/pkgs/by-name/gi/git-repo/package.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "git-repo";
-  version = "2.55.1";
+  version = "2.55.2";
 
   src = fetchFromGitHub {
     owner = "android";
     repo = "tools_repo";
     rev = "v${version}";
-    hash = "sha256-hXImDtTwb5Ie/My610g9SYKNFXPf4SxNFcJwEqHEd4Q=";
+    hash = "sha256-81MNrVtJfInjUuyV6c7xeCPGtY3B3YnO7GSKOSyUvTU=";
   };
 
   # Fix 'NameError: name 'ssl' is not defined'
diff --git a/pkgs/by-name/gi/git-town/package.nix b/pkgs/by-name/gi/git-town/package.nix
index 471f2c3d0ff1..5eca702dc9d6 100644
--- a/pkgs/by-name/gi/git-town/package.nix
+++ b/pkgs/by-name/gi/git-town/package.nix
@@ -13,13 +13,13 @@
 
 buildGoModule rec {
   pname = "git-town";
-  version = "20.2.0";
+  version = "21.0.0";
 
   src = fetchFromGitHub {
     owner = "git-town";
     repo = "git-town";
     tag = "v${version}";
-    hash = "sha256-q1wiqE2pd1qLw0nTw3CEpJybGia+KwRacgejofk4kJ8=";
+    hash = "sha256-Wnp3qkF7e358uGftBy5vi3GandyZsAyxESvgUFB7mmM=";
   };
 
   vendorHash = null;
diff --git a/pkgs/by-name/gi/gitaly/package.nix b/pkgs/by-name/gi/gitaly/package.nix
index 9cd4bb609d5d..1b6429aa006a 100644
--- a/pkgs/by-name/gi/gitaly/package.nix
+++ b/pkgs/by-name/gi/gitaly/package.nix
@@ -7,7 +7,7 @@
 }:
 
 let
-  version = "18.0.1";
+  version = "18.0.2";
   package_version = "v${lib.versions.major version}";
   gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}";
 
@@ -21,7 +21,7 @@ let
       owner = "gitlab-org";
       repo = "gitaly";
       rev = "v${version}";
-      hash = "sha256-yVDe5X/WGkfWdSEWEZZqjykZNz0mJ52tPHLabGDThOk=";
+      hash = "sha256-Phzg0GAKBMfXPqzlMfLZQbKeqZzMKw1YdEDdzSs+IkE=";
     };
 
     vendorHash = "sha256-PXONynRY5ZLQO2yQdtljDmLhVBIgfEYmyez9pIm9vtw=";
diff --git a/pkgs/by-name/gi/gitea/package.nix b/pkgs/by-name/gi/gitea/package.nix
index 7ed93ca95ec7..e7c6f0a02568 100644
--- a/pkgs/by-name/gi/gitea/package.nix
+++ b/pkgs/by-name/gi/gitea/package.nix
@@ -20,7 +20,7 @@ let
     pname = "gitea-frontend";
     inherit (gitea) src version;
 
-    npmDepsHash = "sha256-5i3aB1QgH5NK5yDZySFlraVGU+Kh6J4Y2zvFqJX5kJs=";
+    npmDepsHash = "sha256-+o7/A+Pqr8LZi+q0fOajQgLkWqquBrJSf0dpEXEJtwM=";
 
     # use webpack directly instead of 'make frontend' as the packages are already installed
     buildPhase = ''
@@ -35,18 +35,18 @@ let
 in
 buildGoModule rec {
   pname = "gitea";
-  version = "1.23.8";
+  version = "1.24.0";
 
   src = fetchFromGitHub {
     owner = "go-gitea";
     repo = "gitea";
     tag = "v${gitea.version}";
-    hash = "sha256-79GSHJozNlzBkddeyKX36D/w73loEN28fNSbcMVhgxQ=";
+    hash = "sha256-lKeqoNL6RMjhm9egk6upbovJaWwm3r2kxi0Z9bjNxtI=";
   };
 
   proxyVendor = true;
 
-  vendorHash = "sha256-wdrFa+6E1qTW9PBXr7ROgBQn3nfgxZF7Z47yk61Iqvs=";
+  vendorHash = "sha256-nC8y3skBhnOo7Ki9nc7Ni6UpheArB8bGK4AR/1Gdjr0=";
 
   outputs = [
     "out"
diff --git a/pkgs/by-name/gi/gitfs/package.nix b/pkgs/by-name/gi/gitfs/package.nix
index 3b9cf7cfe17b..94c4b3868edd 100644
--- a/pkgs/by-name/gi/gitfs/package.nix
+++ b/pkgs/by-name/gi/gitfs/package.nix
@@ -27,8 +27,8 @@ python3Packages.buildPythonApplication rec {
   '';
 
   nativeCheckInputs = with python3Packages; [
-    pytest
-    pytest-cov
+    pytestCheckHook
+    pytest-cov-stub
     mock
   ];
   propagatedBuildInputs = with python3Packages; [
@@ -38,8 +38,7 @@ python3Packages.buildPythonApplication rec {
     six
   ];
 
-  checkPhase = "py.test";
-  doCheck = false;
+  pythonImportsCheck = [ "gitfs" ];
 
   meta = {
     description = "FUSE filesystem that fully integrates with git";
@@ -53,5 +52,8 @@ python3Packages.buildPythonApplication rec {
     platforms = lib.platforms.unix;
     maintainers = [ lib.maintainers.robbinch ];
     mainProgram = "gitfs";
+    # requires <=python39, otherwise you get this at runtime:
+    # AttributeError: module 'collections' has no attribute 'MutableMapping'
+    broken = true;
   };
 }
diff --git a/pkgs/by-name/gi/gitg/package.nix b/pkgs/by-name/gi/gitg/package.nix
index d641024dcb1b..ebf6f2f21194 100644
--- a/pkgs/by-name/gi/gitg/package.nix
+++ b/pkgs/by-name/gi/gitg/package.nix
@@ -95,7 +95,6 @@ stdenv.mkDerivation rec {
     description = "GNOME GUI client to view git repositories";
     mainProgram = "gitg";
     maintainers = with lib.maintainers; [
-      domenkozar
       Luflosi
     ];
     license = lib.licenses.gpl2Plus;
diff --git a/pkgs/by-name/gi/github-backup/package.nix b/pkgs/by-name/gi/github-backup/package.nix
index d40cfcfdc4ac..fe5cedb1903f 100644
--- a/pkgs/by-name/gi/github-backup/package.nix
+++ b/pkgs/by-name/gi/github-backup/package.nix
@@ -8,14 +8,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "github-backup";
-  version = "0.50.1";
+  version = "0.50.2";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "josegonzalez";
     repo = "python-github-backup";
     tag = version;
-    hash = "sha256-9fPZ+QWHkIQVEgPKCZMJZk4p5nkXan61Ym+tbF0ZOMM=";
+    hash = "sha256-MUPQa1L3HmAMn1pZSzQk8VKpcz2nDGuWZB8pVi7CyYs=";
   };
 
   build-system = with python3Packages; [
diff --git a/pkgs/by-name/gi/github-mcp-server/package.nix b/pkgs/by-name/gi/github-mcp-server/package.nix
index 0fc77714c2f1..857c7593ae15 100644
--- a/pkgs/by-name/gi/github-mcp-server/package.nix
+++ b/pkgs/by-name/gi/github-mcp-server/package.nix
@@ -7,16 +7,16 @@
 
 buildGoModule (finalAttrs: {
   pname = "github-mcp-server";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "github";
     repo = "github-mcp-server";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-7bxphEQOewy7RZIfKp6aEIPvhgvq4AsU8FozsDsGVgM=";
+    hash = "sha256-dbzO8yTAIfdAwcZEdoJqp+loPQea8iRSsAHdk2DfZ2A=";
   };
 
-  vendorHash = "sha256-yUg+4Z8e9j4wpDD+5XG7pZFnxibGiI5Gks1CEQT2E3g=";
+  vendorHash = "sha256-gVR7Md3xYrPpeMhHRTKCQKCJvRRIl85uXo+QwlVaPzk=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/gi/github-runner/package.nix b/pkgs/by-name/gi/github-runner/package.nix
index 1178318630aa..13f2de4dda02 100644
--- a/pkgs/by-name/gi/github-runner/package.nix
+++ b/pkgs/by-name/gi/github-runner/package.nix
@@ -25,13 +25,13 @@ assert builtins.all (x: builtins.elem x [ "node20" ]) nodeRuntimes;
 
 buildDotnetModule (finalAttrs: {
   pname = "github-runner";
-  version = "2.324.0";
+  version = "2.325.0";
 
   src = fetchFromGitHub {
     owner = "actions";
     repo = "runner";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-/ssjVM1Ujgp5JgeKZ7Tmngyy4V/bFcxTfakbPhnp6Co=";
+    hash = "sha256-Ic/+bdEfipyOB7jA+SXBuyET6ERu6ox+SdlLy4mbuqw=";
     leaveDotGit = true;
     postFetch = ''
       git -C $out rev-parse --short HEAD > $out/.git-revision
diff --git a/pkgs/by-name/gi/gitify/package.nix b/pkgs/by-name/gi/gitify/package.nix
index 0d2db4ad01ba..19547d81247d 100644
--- a/pkgs/by-name/gi/gitify/package.nix
+++ b/pkgs/by-name/gi/gitify/package.nix
@@ -2,7 +2,7 @@
   lib,
   stdenv,
   fetchFromGitHub,
-  pnpm_9,
+  pnpm_10,
   nodejs,
   electron,
   makeDesktopItem,
@@ -25,15 +25,15 @@ stdenv.mkDerivation (finalAttrs: {
 
   nativeBuildInputs = [
     nodejs
-    pnpm_9.configHook
+    pnpm_10.configHook
     copyDesktopItems
     imagemagick
     makeWrapper
   ];
 
-  pnpmDeps = pnpm_9.fetchDeps {
+  pnpmDeps = pnpm_10.fetchDeps {
     inherit (finalAttrs) pname version src;
-    hash = "sha256-4Ite75ZMMSbPnmNcpoYaggiH9r2xQYkOnl29CF/6swA=";
+    hash = "sha256-eIvqZ9a+foYH+jXuqGz1m/4C+0Xq8mTvm7ZajKeOw58=";
   };
 
   env.ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
@@ -95,7 +95,7 @@ stdenv.mkDerivation (finalAttrs: {
       desktopName = "Gitify";
       exec = "gitify %U";
       icon = "gitify";
-      comment = "GitHub Notifications on your menu bar.";
+      comment = "GitHub notifications on your menu bar";
       categories = [ "Development" ];
       startupWMClass = "Gitify";
     })
@@ -104,9 +104,9 @@ stdenv.mkDerivation (finalAttrs: {
   passthru.updateScript = nix-update-script { };
 
   meta = {
-    homepage = "https://www.gitify.io/";
+    homepage = "https://gitify.io/";
     changelog = "https://github.com/gitify-app/gitify/releases/tag/v${finalAttrs.version}";
-    description = "GitHub Notifications on your menu bar";
+    description = "GitHub notifications on your menu bar";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ pineapplehunter ];
     platforms = lib.platforms.all;
diff --git a/pkgs/by-name/gi/gitkraken/package.nix b/pkgs/by-name/gi/gitkraken/package.nix
index c93c8af9bc39..6465e144acf9 100644
--- a/pkgs/by-name/gi/gitkraken/package.nix
+++ b/pkgs/by-name/gi/gitkraken/package.nix
@@ -56,24 +56,24 @@
 
 let
   pname = "gitkraken";
-  version = "11.1.1";
+  version = "11.2.0";
 
   throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
 
   srcs = {
     x86_64-linux = fetchzip {
       url = "https://api.gitkraken.dev/releases/production/linux/x64/${version}/gitkraken-amd64.tar.gz";
-      hash = "sha256-VKJjwWAhN53h9KU06OviIEL5SiIDwPtb7cKJSR4L9YA=";
+      hash = "sha256-yCAxNYwjnmK0lSkH9x8Q4KoQgAWwWmCS8O81tcsqWhs=";
     };
 
     x86_64-darwin = fetchzip {
       url = "https://api.gitkraken.dev/releases/production/darwin/x64/${version}/GitKraken-v${version}.zip";
-      hash = "sha256-CNJ5EOFTGerzCQg7E23bPTPn11c41/AYP0PHHyrpUDA=";
+      hash = "sha256-q3sy2VxgccA/9UaX08NcNusibXYNPFzZcaNlVi2eN9E=";
     };
 
     aarch64-darwin = fetchzip {
       url = "https://api.gitkraken.dev/releases/production/darwin/arm64/${version}/GitKraken-v${version}.zip";
-      hash = "sha256-5R106QjzDLDesiOaZMMLHhissvBtOQv0hgnCmVgApUc=";
+      hash = "sha256-6SxuOgfWMpaYYES+9QBwYJ4t+Go43Af0cwzs/tPVOts=";
     };
   };
 
diff --git a/pkgs/by-name/gi/gitlab-container-registry/package.nix b/pkgs/by-name/gi/gitlab-container-registry/package.nix
index c18d28e77801..73f1209fbad9 100644
--- a/pkgs/by-name/gi/gitlab-container-registry/package.nix
+++ b/pkgs/by-name/gi/gitlab-container-registry/package.nix
@@ -6,7 +6,7 @@
 
 buildGoModule rec {
   pname = "gitlab-container-registry";
-  version = "4.22.0";
+  version = "4.23.1";
   rev = "v${version}-gitlab";
 
   # nixpkgs-update: no auto update
@@ -14,10 +14,10 @@ buildGoModule rec {
     owner = "gitlab-org";
     repo = "container-registry";
     inherit rev;
-    hash = "sha256-r7IVX4xH/K+tfoEKfO9HITHUZT6yfBP2Zr6EPZQUxfw=";
+    hash = "sha256-eCuSuQXtzd2jLJf9G8DO1KGXdT8bYGe9tcKw6BZNiiI=";
   };
 
-  vendorHash = "sha256-e7EIScdd0k5iFTDutFotNkKj1rKtBqfEexdkpjSHAoE=";
+  vendorHash = "sha256-OrdlQp+USRf+Yc7UDjIncDpbuRu5ui6TUoYY2MMc8Ro=";
 
   checkFlags =
     let
diff --git a/pkgs/by-name/gi/gitlab-pages/package.nix b/pkgs/by-name/gi/gitlab-pages/package.nix
index 0ad880d2b1fc..63d2a38339fe 100644
--- a/pkgs/by-name/gi/gitlab-pages/package.nix
+++ b/pkgs/by-name/gi/gitlab-pages/package.nix
@@ -6,14 +6,14 @@
 
 buildGoModule rec {
   pname = "gitlab-pages";
-  version = "18.0.1";
+  version = "18.0.2";
 
   # nixpkgs-update: no auto update
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-pages";
     rev = "v${version}";
-    hash = "sha256-EslNXyCzGpsJAG3SOQF56xbU2vhVVo4qdtfFtf9qqW0=";
+    hash = "sha256-zWWQZBN2J69YnjGhhQdB5wv4plC5ikk+kq6EfNPW6ZM=";
   };
 
   vendorHash = "sha256-BjCwPt1duDINHP7L0qT2KNTjOZ62bWgVij88ztjjyPg=";
diff --git a/pkgs/by-name/gi/gitlab/data.json b/pkgs/by-name/gi/gitlab/data.json
index f410364b0919..d4d47349cf2a 100644
--- a/pkgs/by-name/gi/gitlab/data.json
+++ b/pkgs/by-name/gi/gitlab/data.json
@@ -1,15 +1,15 @@
 {
-  "version": "18.0.1",
-  "repo_hash": "0d4bpk0fip34cjgp7a1pcfa0q7vkn8vz1ig41zgxncgwbr5lik1h",
+  "version": "18.0.2",
+  "repo_hash": "03sqn21bnsdjs518akbmanyh96p8h4dyhpy4vqwcx1dc8lwnidki",
   "yarn_hash": "0vv09y1pjcm2723jh842pgnmnrf4yqk7558v57dp08rxrqnsni5x",
   "owner": "gitlab-org",
   "repo": "gitlab",
-  "rev": "v18.0.1-ee",
+  "rev": "v18.0.2-ee",
   "passthru": {
-    "GITALY_SERVER_VERSION": "18.0.1",
-    "GITLAB_PAGES_VERSION": "18.0.1",
+    "GITALY_SERVER_VERSION": "18.0.2",
+    "GITLAB_PAGES_VERSION": "18.0.2",
     "GITLAB_SHELL_VERSION": "14.42.0",
     "GITLAB_ELASTICSEARCH_INDEXER_VERSION": "5.5.1",
-    "GITLAB_WORKHORSE_VERSION": "18.0.1"
+    "GITLAB_WORKHORSE_VERSION": "18.0.2"
   }
 }
diff --git a/pkgs/by-name/gi/gitlab/gitlab-workhorse/default.nix b/pkgs/by-name/gi/gitlab/gitlab-workhorse/default.nix
index 11e3e8f868e5..8c10519ffd9e 100644
--- a/pkgs/by-name/gi/gitlab/gitlab-workhorse/default.nix
+++ b/pkgs/by-name/gi/gitlab/gitlab-workhorse/default.nix
@@ -10,7 +10,7 @@ in
 buildGoModule rec {
   pname = "gitlab-workhorse";
 
-  version = "18.0.1";
+  version = "18.0.2";
 
   # nixpkgs-update: no auto update
   src = fetchFromGitLab {
diff --git a/pkgs/by-name/gi/gitleaks/package.nix b/pkgs/by-name/gi/gitleaks/package.nix
index 76cf511b8a10..a23c139f2778 100644
--- a/pkgs/by-name/gi/gitleaks/package.nix
+++ b/pkgs/by-name/gi/gitleaks/package.nix
@@ -11,13 +11,13 @@
 
 buildGoModule rec {
   pname = "gitleaks";
-  version = "8.27.1";
+  version = "8.27.2";
 
   src = fetchFromGitHub {
     owner = "zricethezav";
     repo = "gitleaks";
     tag = "v${version}";
-    hash = "sha256-Wsd/jyM16Ztkj4vNnui1qZE4v2ZBffdOVHJG4S+YLXU=";
+    hash = "sha256-MuFIQYQb+KqxR/KyFrGnDMvwwH9WZ+AupFhc8RgMHTo=";
   };
 
   vendorHash = "sha256-vd39TbooEdmYa6QZGEnYOmYU9p+9mV+SrLKVY+h/PEM=";
diff --git a/pkgs/by-name/gi/gittuf/package.nix b/pkgs/by-name/gi/gittuf/package.nix
index 1287222fb96e..353f672f1dec 100644
--- a/pkgs/by-name/gi/gittuf/package.nix
+++ b/pkgs/by-name/gi/gittuf/package.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "gittuf";
-  version = "0.10.2";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "gittuf";
     repo = "gittuf";
     rev = "v${version}";
-    hash = "sha256-Jeyb9eBSOf2tlW7SKOZ8oD5IwpIZwbHSwghLclNdAhE=";
+    hash = "sha256-atC9YsffhXvWAQzrIVwOCpcP73HhGa5x19mXm4+yLuU=";
   };
 
-  vendorHash = "sha256-v45pMH05f6HmAcfujk25w5TN65nllLUMVlkNYm6Q/gM=";
+  vendorHash = "sha256-SqXwxt6TWPyuwx7gDnEUk5487z3mlYtQ+Cho+lUcN+M=";
 
   ldflags = [ "-X github.com/gittuf/gittuf/internal/version.gitVersion=${version}" ];
 
diff --git a/pkgs/by-name/gi/gitu/package.nix b/pkgs/by-name/gi/gitu/package.nix
index 6290ccadd1cc..bd28d16b3b7b 100644
--- a/pkgs/by-name/gi/gitu/package.nix
+++ b/pkgs/by-name/gi/gitu/package.nix
@@ -11,17 +11,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gitu";
-  version = "0.32.0";
+  version = "0.33.0";
 
   src = fetchFromGitHub {
     owner = "altsem";
     repo = "gitu";
     rev = "v${version}";
-    hash = "sha256-ER+k+yOJP+pgoD785wddsVaTf7/E3iysjkeGq4slgF0=";
+    hash = "sha256-9rJa6nXz9gzEVAVkvIghMaND7MY84dLHLV6Kr/ApEnU=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-fSaTuDa3cRxpoduKRMuMPagBGfY3vSYtvEuvwlMk2HA=";
+  cargoHash = "sha256-QN+AU9Qsqx2l2vwpANkMhycv2qFzjCQoxFgbP9WVpOk=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/by-name/gi/gitwatch/package.nix b/pkgs/by-name/gi/gitwatch/package.nix
index 468618c604d9..0df7cf190586 100644
--- a/pkgs/by-name/gi/gitwatch/package.nix
+++ b/pkgs/by-name/gi/gitwatch/package.nix
@@ -13,12 +13,12 @@
 }:
 runCommand "gitwatch"
   rec {
-    version = "0.2";
+    version = "0.3";
     src = fetchFromGitHub {
       owner = "gitwatch";
       repo = "gitwatch";
       rev = "v${version}";
-      hash = "sha256-KuWD2FAMi2vZ/7e4fIg97DGuAPEV9b9iOuF8NIGFVpE=";
+      hash = "sha256-dKXKuqUQhFUXMwPs7Uilzn2yKH6DIlBTOFztKo+PqVU=";
     };
     nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/by-name/gi/gixy/package.nix b/pkgs/by-name/gi/gixy/package.nix
index 2e7a1206fa37..8ae3ab0d7c29 100644
--- a/pkgs/by-name/gi/gixy/package.nix
+++ b/pkgs/by-name/gi/gixy/package.nix
@@ -74,7 +74,7 @@ python.pkgs.buildPythonApplication rec {
     homepage = "https://github.com/yandex/gixy";
     sourceProvenance = [ lib.sourceTypes.fromSource ];
     license = lib.licenses.mpl20;
-    maintainers = [ lib.maintainers.willibutz ];
+    maintainers = [ ];
     platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/by-name/gk/gk-cli/package.nix b/pkgs/by-name/gk/gk-cli/package.nix
index 6ca98ca42863..52083ce92625 100644
--- a/pkgs/by-name/gk/gk-cli/package.nix
+++ b/pkgs/by-name/gk/gk-cli/package.nix
@@ -5,6 +5,7 @@
   coreutils,
   installShellFiles,
   makeWrapper,
+  gitMinimal,
   writeShellScript,
   curl,
   jq,
@@ -13,7 +14,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "gk-cli";
-  version = "2.1.2";
+  version = "3.0.9";
 
   src = (
     finalAttrs.passthru.sources.${stdenv.system}
@@ -28,18 +29,34 @@ stdenv.mkDerivation (finalAttrs: {
   installPhase = ''
     runHook preInstall
 
-    install -Dm555 gk -t $out/bin/
+    install -Dm555 gk*/gk -t $out/bin/
 
-    installShellCompletion --bash ./**/gk.bash
-    installShellCompletion --fish ./**/gk.fish
-    installShellCompletion --zsh ./**/_gk
+    wrapProgram $out/bin/gk \
+      --prefix PATH : "${lib.makeBinPath [ gitMinimal ]}"
 
     runHook postInstall
   '';
 
-  postFixup = ''
-    wrapProgram $out/bin/gk \
-      --prefix PATH : "${lib.makeBinPath [ coreutils ]}"
+  postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
+    # Use timeout because gk hangs instead of closing in the sandbox
+    installShellCompletion --cmd gk \
+      --bash <(HOME="$(mktemp --directory)" timeout 3 $out/bin/gk completion bash) \
+      --fish <(HOME="$(mktemp --directory)" timeout 3 $out/bin/gk completion fish) \
+      --zsh <(HOME="$(mktemp --directory)" timeout 3 $out/bin/gk completion zsh)
+  '';
+
+  doInstallCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
+  installCheckPhase = ''
+    OUTPUT="$(
+      HOME="$(mktemp --directory)" \
+      timeout 3 `# Use timeout because gk hangs instead of closing in the sandbox` \
+      $out/bin/gk setup \
+      2>/dev/null \
+      || true # Command fails because not logged in
+    )"
+
+    echo "$OUTPUT" | grep --quiet '^Git binary found: ✓$'
+    echo "$OUTPUT" | grep --quiet '^CLI version: ${finalAttrs.version}$'
   '';
 
   passthru = {
@@ -48,49 +65,44 @@ stdenv.mkDerivation (finalAttrs: {
         base_url = "https://github.com/gitkraken/gk-cli/releases/download/v${finalAttrs.version}/gk_${finalAttrs.version}_";
       in
       {
-        armv6l-linux = fetchzip {
-          url = "${base_url}Linux_arm6.zip";
-          hash = "sha256-pnEFTkx1JSmQlniVCXvIB6xGD8XyDh9OLDU0V9AZBTs=";
-          stripRoot = false;
-        };
-        armv7l-linux = fetchzip {
-          url = "${base_url}Linux_arm7.zip";
-          hash = "sha256-qj0++i698s4ELKHU9B2sGIqf9hUJip4+2Car+brkRkM=";
-          stripRoot = false;
-        };
         aarch64-linux = fetchzip {
-          url = "${base_url}Linux_arm64.zip";
-          hash = "sha256-vHGhlRHbk2/s3YmBdOPDbalEydpQVFkHiCkBVywa4N0=";
+          url = "${base_url}linux_arm64.zip";
+          hash = "sha256-aYgHLpG4nX3Op0+j733jYbK4ZwVKkctMkDPweNTJWso=";
           stripRoot = false;
         };
         x86_32-linux = fetchzip {
-          url = "${base_url}Linux_i386.zip";
-          hash = "sha256-t+P9SpS9u/17kga74kbYjD6nkjiFusyIwCRGDnkP3tU=";
+          url = "${base_url}linux_386.zip";
+          hash = "sha256-lVu25S7e6a/kHmiD5dxGAlHMQ5yN46+SdFpt8lghejM=";
           stripRoot = false;
         };
         x86_64-linux = fetchzip {
-          url = "${base_url}Linux_x86_64.zip";
-          hash = "sha256-O6T27edHi20ZFHiNaZKdk/5dtCn2Tpxm0PR934SRwFk=";
+          url = "${base_url}linux_amd64.zip";
+          hash = "sha256-/z2G//Zh8lTHkeJPahyld1EEXXhd/cgIvCojUmzFX8E=";
           stripRoot = false;
         };
         aarch64-darwin = fetchzip {
-          url = "${base_url}macOS_arm64.zip";
-          hash = "sha256-LW2K+aveJiyYqfga2jpF3DvvFeHJuozqbc/afgtq2Oc=";
+          url = "${base_url}darwin_arm64.zip";
+          hash = "sha256-nDVehD0TTNTvhuDU8RB4lZiVcEJpB+l6EGkzckC7JuU=";
           stripRoot = false;
         };
         x86_64-darwin = fetchzip {
-          url = "${base_url}macOS_x86_64.zip";
-          hash = "sha256-1w8B4YWouVViTGoUh987pPQIoqdzB0S+M2bBiRI6Kfg=";
+          url = "${base_url}darwin_amd64.zip";
+          hash = "sha256-Lhuqb5592T6VcTMVmAdIDfGMXaS4dSu0wbQeHheXXk4=";
+          stripRoot = false;
+        };
+        aarch64-windows = fetchzip {
+          url = "${base_url}windows_arm64.zip";
+          hash = "sha256-sXHeqR4AW/sRPp74PieXI1n4VGV94CnrcMF1ovAek8E=";
           stripRoot = false;
         };
         i686-windows = fetchzip {
-          url = "${base_url}Windows_i386.zip";
-          hash = "sha256-t81/wK1weZ/uEZ5TzivylARTUqks9rLIG7WzeoWXb1k=";
+          url = "${base_url}windows_386.zip";
+          hash = "sha256-u6DyHoYIaExS2CHu20odDVJxzI4k9PpdFQf6UDPAzz0=";
           stripRoot = false;
         };
         x86_64-windows = fetchzip {
-          url = "${base_url}Windows_x86_64.zip";
-          hash = "sha256-9yydDMI9Gz/OswRhJHF+2c3Ia0zDmXMbf7byj6PJe24=";
+          url = "${base_url}windows_amd64.zip";
+          hash = "sha256-nh+JPR95IWLm7CTrS8qK2dP3c4SH/zm1oIS5GNgxcyo=";
           stripRoot = false;
         };
       };
diff --git a/pkgs/by-name/gl/glab/package.nix b/pkgs/by-name/gl/glab/package.nix
index a831142537c2..015ba6da0cda 100644
--- a/pkgs/by-name/gl/glab/package.nix
+++ b/pkgs/by-name/gl/glab/package.nix
@@ -10,16 +10,16 @@
 
 buildGoModule (finalAttrs: {
   pname = "glab";
-  version = "1.57.0";
+  version = "1.60.2";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "cli";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-a5gV47DP8+WOaMVcEWlTcriobnj74JTYKVDqYzJgGRU=";
+    hash = "sha256-uZHQ11tnxyccolFm5NcHuGMRZqS2Xqaq/GhU7glOjGk=";
   };
 
-  vendorHash = "sha256-9NKY8CACcR70EdHGRWicROoA4khXYZjLPNd8A+VkjuY=";
+  vendorHash = "sha256-9iBH13P8QTRPlD5UlTbdRH3wht/UNrCwhRC9HwzQ+I8=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/gl/glamoroustoolkit/package.nix b/pkgs/by-name/gl/glamoroustoolkit/package.nix
index cb611aa4f22a..6611b389a878 100644
--- a/pkgs/by-name/gl/glamoroustoolkit/package.nix
+++ b/pkgs/by-name/gl/glamoroustoolkit/package.nix
@@ -17,6 +17,7 @@
   libXi,
   libXrandr,
   libXrender,
+  libxkbcommon,
   libgit2,
   libglvnd,
   libuuid,
@@ -91,6 +92,7 @@ stdenv.mkDerivation (finalAttrs: {
         libXi
         libXrandr
         libXrender
+        libxkbcommon
         libglvnd
         libuuid
         libxcb
@@ -123,6 +125,7 @@ stdenv.mkDerivation (finalAttrs: {
         --set-rpath "${libPath}:$out/lib" \
         $out/lib/libPharoVMCore.so \
         $out/lib/libWinit.so \
+        $out/lib/libWinit30.so \
         $out/lib/libPixels.so
       patchelf --set-rpath $out/lib $out/lib/libssl.so
 
diff --git a/pkgs/by-name/gl/glance/package.nix b/pkgs/by-name/gl/glance/package.nix
index e6e96550ff72..7e3ef73d83d2 100644
--- a/pkgs/by-name/gl/glance/package.nix
+++ b/pkgs/by-name/gl/glance/package.nix
@@ -9,18 +9,16 @@
 
 buildGoModule (finalAttrs: {
   pname = "glance";
-  version = "0.8.3";
+  version = "0.8.4";
 
   src = fetchFromGitHub {
     owner = "glanceapp";
     repo = "glance";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-o2Yom40HbNKe3DMMxz0Mf2gG8zresgU52Odpj2H7ZPU=";
+    hash = "sha256-4su8CGtS4wqWcQ3yTvZiUHOnTMLICS3XIG8kS+bJ3LQ=";
   };
 
-  patches = [ ./update_purego.patch ];
-
-  vendorHash = "sha256-esPtCg63A40mX9hADOhEa+NjNk+9MI/0qZG3uE91qxg=";
+  vendorHash = "sha256-Ek1LVCSEJzoI0nVu6zVsSbd/Jzv6/pyMIm991ebvkZY=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/gl/glance/update_purego.patch b/pkgs/by-name/gl/glance/update_purego.patch
deleted file mode 100644
index b91fa89f2de4..000000000000
--- a/pkgs/by-name/gl/glance/update_purego.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/go.mod b/go.mod
-index ccea58ca68..118d91c650 100644
---- a/go.mod
-+++ b/go.mod
-@@ -15,7 +15,7 @@
- require (
- 	github.com/PuerkitoBio/goquery v1.10.3 // indirect
- 	github.com/andybalholm/cascadia v1.3.3 // indirect
--	github.com/ebitengine/purego v0.8.2 // indirect
-+	github.com/ebitengine/purego v0.8.3 // indirect
- 	github.com/go-ole/go-ole v1.3.0 // indirect
- 	github.com/json-iterator/go v1.1.12 // indirect
- 	github.com/lufia/plan9stats v0.0.0-20250317134145-8bc96cf8fc35 // indirect
-diff --git a/go.sum b/go.sum
-index 80c2d6c664..6236b4de85 100644
---- a/go.sum
-+++ b/go.sum
-@@ -11,6 +11,8 @@
- github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
- github.com/ebitengine/purego v0.8.2 h1:jPPGWs2sZ1UgOSgD2bClL0MJIqu58nOmIcBuXr62z1I=
- github.com/ebitengine/purego v0.8.2/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ=
-+github.com/ebitengine/purego v0.8.3 h1:K+0AjQp63JEZTEMZiwsI9g0+hAMNohwUOtY0RPGexmc=
-+github.com/ebitengine/purego v0.8.3/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ=
- github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M=
- github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
- github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k=
diff --git a/pkgs/by-name/gl/glaze/package.nix b/pkgs/by-name/gl/glaze/package.nix
index ca125c5cf043..df822b3ce1d0 100644
--- a/pkgs/by-name/gl/glaze/package.nix
+++ b/pkgs/by-name/gl/glaze/package.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation (final: {
   pname = "glaze";
-  version = "5.4.0";
+  version = "5.5.0";
 
   src = fetchFromGitHub {
     owner = "stephenberry";
     repo = "glaze";
     tag = "v${final.version}";
-    hash = "sha256-AG6fnax9UZEhGtAUc8bgGijk8q7ge6lDTb0XjqL+kks=";
+    hash = "sha256-HC8R1wyNySVhuTZczdbiHkQ8STTXA/1GJLKdTXN9VAo=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/by-name/gl/gleam/package.nix b/pkgs/by-name/gl/gleam/package.nix
index e34a3baea82d..3a5c11c5d686 100644
--- a/pkgs/by-name/gl/gleam/package.nix
+++ b/pkgs/by-name/gl/gleam/package.nix
@@ -15,16 +15,16 @@
 
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "gleam";
-  version = "1.11.0";
+  version = "1.11.1";
 
   src = fetchFromGitHub {
     owner = "gleam-lang";
     repo = "gleam";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-oxzFAqPZ+ZHd/+GwofDg0gA4NIFYWi2v8fOjMn8ixSU=";
+    hash = "sha256-ZNDN9MRA9D+5xdVp3Lxt76bLzHRK7304O6WVPrlUq2U=";
   };
 
-  cargoHash = "sha256-9kk7w85imYIhywBuAgJS8wYAIEM3hXoHymGgMMmrgnI=";
+  cargoHash = "sha256-TJqylGjXdkunE5mHkpFnvv3SENBFwtQehV0q2k3hNMY=";
 
   nativeBuildInputs = [
     git
diff --git a/pkgs/by-name/gl/glooctl/package.nix b/pkgs/by-name/gl/glooctl/package.nix
index 91b809e31ccd..d0582f5d4fc1 100644
--- a/pkgs/by-name/gl/glooctl/package.nix
+++ b/pkgs/by-name/gl/glooctl/package.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "glooctl";
-  version = "1.18.17";
+  version = "1.19.0";
 
   src = fetchFromGitHub {
     owner = "solo-io";
     repo = "gloo";
     rev = "v${version}";
-    hash = "sha256-WaQXS7/Rsl7jGfwcfwI4IAvWACR6CU+w+95JL3T2Coo=";
+    hash = "sha256-JRjsxUvJLK3CB7qtRoWvGKdAo486ix98x5+JRhvRrqA=";
   };
 
-  vendorHash = "sha256-QS/fYVIMOqVNkej9xtim0bgKOLazwBkKpcjz1YPzQOo=";
+  vendorHash = "sha256-eXLlcUTxSjyZKla8NosGQbJAz8HrRGmTDJs7onfgwuQ=";
 
   subPackages = [ "projects/gloo/cli/cmd" ];
 
diff --git a/pkgs/by-name/gl/glpi-agent/package.nix b/pkgs/by-name/gl/glpi-agent/package.nix
index ea5bf2683188..a683021591d4 100644
--- a/pkgs/by-name/gl/glpi-agent/package.nix
+++ b/pkgs/by-name/gl/glpi-agent/package.nix
@@ -15,13 +15,13 @@
 
 perlPackages.buildPerlPackage rec {
   pname = "glpi-agent";
-  version = "1.14";
+  version = "1.15";
 
   src = fetchFromGitHub {
     owner = "glpi-project";
     repo = "glpi-agent";
     tag = version;
-    hash = "sha256-6q+JcTFZlZjtMaQKUvCwE9Sjw9662ZXl78kha0tEFv4=";
+    hash = "sha256-+zHTlxfkZ1x21ePZUni7lbRJQ/NUDeoZnvOzM+yzG3M=";
   };
 
   postPatch = ''
diff --git a/pkgs/by-name/gn/gn/generic.nix b/pkgs/by-name/gn/gn/generic.nix
index ca28240fa705..37f2fe251513 100644
--- a/pkgs/by-name/gn/gn/generic.nix
+++ b/pkgs/by-name/gn/gn/generic.nix
@@ -40,15 +40,6 @@ stdenv.mkDerivation {
     inherit rev sha256;
   };
 
-  patches = [
-    (fetchpatch {
-      name = "LFS64.patch";
-      url = "https://gn.googlesource.com/gn/+/b5ff50936a726ff3c8d4dfe2a0ae120e6ce1350d%5E%21/?format=TEXT";
-      decode = "base64 -d";
-      hash = "sha256-/kh8t/Ip1EG2OIhydS//st/C80KJ4P31vGx7j8QpFh0=";
-    })
-  ];
-
   nativeBuildInputs = [
     ninja
     python3
@@ -58,6 +49,9 @@ stdenv.mkDerivation {
   ];
 
   env.NIX_CFLAGS_COMPILE = "-Wno-error";
+  # Relax hardening as otherwise gn unstable 2024-06-06 and later fail with:
+  # cc1plus: error: '-Wformat-security' ignored without '-Wformat' [-Werror=format-security]
+  hardeningDisable = [ "format" ];
 
   buildPhase = ''
     python build/gen.py --no-last-commit-position
diff --git a/pkgs/by-name/gn/gn/package.nix b/pkgs/by-name/gn/gn/package.nix
index 33386b79dc0a..fa3322edd222 100644
--- a/pkgs/by-name/gn/gn/package.nix
+++ b/pkgs/by-name/gn/gn/package.nix
@@ -1,10 +1,10 @@
 { callPackage, ... }@args:
 
 callPackage ./generic.nix args {
-  # Note: Please use the recommended version for Chromium stabe, i.e. from
-  # /pkgs/applications/networking/browsers/chromium/upstream-info.nix
-  rev = "df98b86690c83b81aedc909ded18857296406159";
-  revNum = "2168"; # git describe $rev --match initial-commit | cut -d- -f3
-  version = "2024-05-13";
-  sha256 = "sha256-mNoQeHSSM+rhR0UHrpbyzLJC9vFqfxK1SD0X8GiRsqw=";
+  # Note: Please use the recommended version for Chromium stable, i.e. from
+  # /pkgs/applications/networking/browsers/chromium/info.json
+  rev = "85cc21e94af590a267c1c7a47020d9b420f8a033";
+  revNum = "2233"; # git describe $rev --match initial-commit | cut -d- -f3
+  version = "2025-04-28";
+  sha256 = "sha256-+nKP2hBUKIqdNfDz1vGggXSdCuttOt0GwyGUQ3Z1ZHI=";
 }
diff --git a/pkgs/by-name/gn/gnome-backgrounds/package.nix b/pkgs/by-name/gn/gnome-backgrounds/package.nix
index 3704cac926f3..849131c3ee53 100644
--- a/pkgs/by-name/gn/gnome-backgrounds/package.nix
+++ b/pkgs/by-name/gn/gnome-backgrounds/package.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-backgrounds";
-  version = "48.0";
+  version = "48.2.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-backgrounds/${lib.versions.major version}/gnome-backgrounds-${version}.tar.xz";
-    hash = "sha256-LWuqAR7peATHVh9+HL2NR2PjC1W4gY3aePn3WvuNjQU=";
+    hash = "sha256-ahxbey4Nj1zpd5JtVfnC1l3RgIIs3qXlkVDc+1q9Htk=";
   };
 
   patches = [
diff --git a/pkgs/by-name/gn/gnome-control-center/package.nix b/pkgs/by-name/gn/gnome-control-center/package.nix
index 2faeedb56dd3..7bfeb7923797 100644
--- a/pkgs/by-name/gn/gnome-control-center/package.nix
+++ b/pkgs/by-name/gn/gnome-control-center/package.nix
@@ -75,11 +75,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "gnome-control-center";
-  version = "48.1";
+  version = "48.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-control-center/${lib.versions.major finalAttrs.version}/gnome-control-center-${finalAttrs.version}.tar.xz";
-    hash = "sha256-AYPbNlqqj4W0SyPMnK5nXRyDNgSf7BGoym6pvb6MSP4=";
+    hash = "sha256-0uxKXifhkdkvmO1NvEqGHX8axKWiS2UktJKhIAfdRgw=";
   };
 
   patches = [
diff --git a/pkgs/by-name/gn/gnome-desktop/package.nix b/pkgs/by-name/gn/gnome-desktop/package.nix
index 3da03ba6a6da..9a9d68d7f960 100644
--- a/pkgs/by-name/gn/gnome-desktop/package.nix
+++ b/pkgs/by-name/gn/gnome-desktop/package.nix
@@ -28,9 +28,9 @@
   withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "gnome-desktop";
-  version = "44.1";
+  version = "44.3";
 
   outputs = [
     "out"
@@ -39,8 +39,8 @@ stdenv.mkDerivation rec {
   ];
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gnome-desktop/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-rnylXcngiRSZl0FSOhfSnOIjkVYmvSRioSC/lvR6eas=";
+    url = "mirror://gnome/sources/gnome-desktop/${lib.versions.major finalAttrs.version}/gnome-desktop-${finalAttrs.version}.tar.xz";
+    sha256 = "sha256-QO+pqo1Q7/7ZIno9cGceMuncNeIPMxyrO1YpdZePT40=";
   };
 
   patches = lib.optionals stdenv.hostPlatform.isLinux [
@@ -114,4 +114,4 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
     teams = [ teams.gnome ];
   };
-}
+})
diff --git a/pkgs/by-name/gn/gnome-keyring/package.nix b/pkgs/by-name/gn/gnome-keyring/package.nix
index 2a62bc340bf8..04d0a932b299 100644
--- a/pkgs/by-name/gn/gnome-keyring/package.nix
+++ b/pkgs/by-name/gn/gnome-keyring/package.nix
@@ -16,12 +16,10 @@
   libcap_ng,
   libselinux,
   p11-kit,
-  openssh,
   wrapGAppsNoGuiHook,
   docbook-xsl-nons,
   docbook_xml_dtd_43,
   gnome,
-  writeText,
   useWrappedDaemon ? true,
 }:
 
@@ -55,7 +53,6 @@ stdenv.mkDerivation rec {
     glib
     libgcrypt
     pam
-    openssh
     libcap_ng
     libselinux
     gcr
@@ -71,16 +68,8 @@ stdenv.mkDerivation rec {
     # installation directories
     "-Dpkcs11-config=${placeholder "out"}/etc/pkcs11" # todo: this should probably be /share/p11-kit/modules
     "-Dpkcs11-modules=${placeholder "out"}/lib/pkcs11"
-    # gnome-keyring doesn't build with ssh-agent by default anymore, we need to
-    # switch to using gcr https://github.com/NixOS/nixpkgs/issues/140824
-    "-Dssh-agent=true"
     # TODO: enable socket activation
     "-Dsystemd=disabled"
-    "--cross-file=${writeText "crossfile.ini" ''
-      [binaries]
-      ssh-add = '${lib.getExe' openssh "ssh-add"}'
-      ssh-agent = '${lib.getExe' openssh "ssh-agent"}'
-    ''}"
   ];
 
   # Tends to fail non-deterministically.
diff --git a/pkgs/by-name/gn/gnome-maps/package.nix b/pkgs/by-name/gn/gnome-maps/package.nix
index 5e1ad264b1a4..5f4ae7a457be 100644
--- a/pkgs/by-name/gn/gnome-maps/package.nix
+++ b/pkgs/by-name/gn/gnome-maps/package.nix
@@ -30,11 +30,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "gnome-maps";
-  version = "48.2";
+  version = "48.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-maps/${lib.versions.major finalAttrs.version}/gnome-maps-${finalAttrs.version}.tar.xz";
-    hash = "sha256-rW3WEmiF+xaG7kv0mnh6clfHzF93nlQTQVWmgKMKjLk=";
+    hash = "sha256-rocWuLCz/r0+0iwX6QYuuA9tbSXFBQHATUIwuXzuRco=";
   };
 
   doCheck = !stdenv.hostPlatform.isDarwin;
diff --git a/pkgs/by-name/gn/gnome-online-accounts/package.nix b/pkgs/by-name/gn/gnome-online-accounts/package.nix
index 9d437660787e..dcf5cf77f51e 100644
--- a/pkgs/by-name/gn/gnome-online-accounts/package.nix
+++ b/pkgs/by-name/gn/gnome-online-accounts/package.nix
@@ -32,7 +32,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "gnome-online-accounts";
-  version = "3.54.2";
+  version = "3.54.3";
 
   outputs =
     [
@@ -46,7 +46,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-online-accounts/${lib.versions.majorMinor finalAttrs.version}/gnome-online-accounts-${finalAttrs.version}.tar.xz";
-    hash = "sha256-D389KcBmb/vMUD8+DzOWNi7/25MX1BZkzmXfFH7zU3I=";
+    hash = "sha256-vPZV3R3cIrwleTtoQNoZ9crXugtyJ/+WntnCUvA2qsU=";
   };
 
   mesonFlags = [
diff --git a/pkgs/by-name/gn/gnome-session/ctl.nix b/pkgs/by-name/gn/gnome-session/ctl.nix
index 45c676f1c7ab..5aecef4ce161 100644
--- a/pkgs/by-name/gn/gnome-session/ctl.nix
+++ b/pkgs/by-name/gn/gnome-session/ctl.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   src = fetchFromGitHub {
     owner = "nix-community";
-    repo = pname;
+    repo = "gnome-session-ctl";
     rev = version;
     hash = "sha256-RY0+iIwwjd7268m3EYrZ1yUBLHXmaWddtSxqgUUH6qQ=";
   };
diff --git a/pkgs/by-name/gn/gnome-shell-extensions/package.nix b/pkgs/by-name/gn/gnome-shell-extensions/package.nix
index 4f6772825787..3d5dc92ddb82 100644
--- a/pkgs/by-name/gn/gnome-shell-extensions/package.nix
+++ b/pkgs/by-name/gn/gnome-shell-extensions/package.nix
@@ -15,11 +15,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "gnome-shell-extensions";
-  version = "48.1";
+  version = "48.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-shell-extensions/${lib.versions.major finalAttrs.version}/gnome-shell-extensions-${finalAttrs.version}.tar.xz";
-    hash = "sha256-m2f8LFgC2hcTp3sZ/6BCMY3XHnva6EN3lsX1GXlTOTw=";
+    hash = "sha256-6Sh+hjSJ5fpqLFWuW+ocqRCuQBbe6zQXNiZ4sEqR7P8=";
   };
 
   patches = [
diff --git a/pkgs/by-name/gn/gnome-shell/package.nix b/pkgs/by-name/gn/gnome-shell/package.nix
index 8333dad8a2fa..1d383b1d6cb1 100644
--- a/pkgs/by-name/gn/gnome-shell/package.nix
+++ b/pkgs/by-name/gn/gnome-shell/package.nix
@@ -69,7 +69,7 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "gnome-shell";
-  version = "48.1";
+  version = "48.2";
 
   outputs = [
     "out"
@@ -78,7 +78,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-shell/${lib.versions.major finalAttrs.version}/gnome-shell-${finalAttrs.version}.tar.xz";
-    hash = "sha256-uk9FWv1iE/OHVFlG482dqjnJBPerFt2DCsd6c/8QAso=";
+    hash = "sha256-XSbMfvymNIW33bbHo5Msoa+fqPy+OLjJnqP0qyFzpqk=";
   };
 
   patches = [
diff --git a/pkgs/by-name/gn/gnome-software/package.nix b/pkgs/by-name/gn/gnome-software/package.nix
index d6d62b5775b7..dda5eef005eb 100644
--- a/pkgs/by-name/gn/gnome-software/package.nix
+++ b/pkgs/by-name/gn/gnome-software/package.nix
@@ -48,11 +48,11 @@ in
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "gnome-software";
-  version = "48.1";
+  version = "48.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-software/${lib.versions.major finalAttrs.version}/gnome-software-${finalAttrs.version}.tar.xz";
-    hash = "sha256-CEqYUEApTDZFS0ZKIUT5gcAnSQa0xJ1xYT5hztapbo8=";
+    hash = "sha256-q/0wZDqGxl9IhrZ2XrO7YhXJ6gmBfWvRZcUAVokIIsk=";
   };
 
   patches = [
diff --git a/pkgs/by-name/gn/gnome-terminal/package.nix b/pkgs/by-name/gn/gnome-terminal/package.nix
index 4bcf840b4397..2bae985a569d 100644
--- a/pkgs/by-name/gn/gnome-terminal/package.nix
+++ b/pkgs/by-name/gn/gnome-terminal/package.nix
@@ -30,11 +30,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "gnome-terminal";
-  version = "3.56.1";
+  version = "3.56.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-terminal/${lib.versions.majorMinor finalAttrs.version}/gnome-terminal-${finalAttrs.version}.tar.xz";
-    hash = "sha256-ojB1PlC9Qx27EwDhV7/XMXMA4lIm/zCJMxY2OhOGT/g=";
+    hash = "sha256-I1vAnfo0zF8elRIum/YCA6hNr4Yc+s9+RJbF9UgjmXg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/gn/gnome-text-editor/package.nix b/pkgs/by-name/gn/gnome-text-editor/package.nix
index 289c59cabc83..753f4b247b07 100644
--- a/pkgs/by-name/gn/gnome-text-editor/package.nix
+++ b/pkgs/by-name/gn/gnome-text-editor/package.nix
@@ -24,11 +24,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "gnome-text-editor";
-  version = "48.2";
+  version = "48.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-text-editor/${lib.versions.major finalAttrs.version}/gnome-text-editor-${finalAttrs.version}.tar.xz";
-    hash = "sha256-/B9dR1vdJ9TAQ5pbj+ENbkAbQvHbo9BLdWeDkDbuICs=";
+    hash = "sha256-P56XIjlO200hRcBtaSELPT/KXNK5DWMmQ751CEPVVro=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/gn/gnome-user-docs/package.nix b/pkgs/by-name/gn/gnome-user-docs/package.nix
index cb51a99aeba8..92f83a105f28 100644
--- a/pkgs/by-name/gn/gnome-user-docs/package.nix
+++ b/pkgs/by-name/gn/gnome-user-docs/package.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-user-docs";
-  version = "48.1";
+  version = "48.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-user-docs/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    hash = "sha256-rJc9kk4AVFoUWNhqEQ1Hc+a743w3KEDXbtZAyyaMYf0=";
+    hash = "sha256-Z4Kfdkumctf5n/cu9lE7QMyTH7QBv3vX21+AXnv6Pbk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/gn/gnucap/package.nix b/pkgs/by-name/gn/gnucap/package.nix
index 201e6e133796..61a307422cce 100644
--- a/pkgs/by-name/gn/gnucap/package.nix
+++ b/pkgs/by-name/gn/gnucap/package.nix
@@ -1,8 +1,6 @@
 {
   callPackage,
   fetchFromSavannah,
-  gnucap,
-  gnucap-full,
   installShellFiles,
   lib,
   readline,
@@ -12,36 +10,20 @@
   writeScript,
 }:
 
-let
-  version = "20240220";
-  meta = with lib; {
-    description = "Gnu Circuit Analysis Package";
-    longDescription = ''
-      Gnucap is a modern general purpose circuit simulator with several advantages over Spice derivatives.
-      It performs nonlinear dc and transient analyses, fourier analysis, and ac analysis.
-    '';
-    homepage = "http://www.gnucap.org/";
-    changelog = "https://git.savannah.gnu.org/gitweb/?p=gnucap.git;a=blob;f=NEWS";
-    license = licenses.gpl3Only;
-    platforms = platforms.all;
-    broken = stdenv.hostPlatform.isDarwin; # Relies on LD_LIBRARY_PATH
-    maintainers = [ maintainers.raboof ];
-    mainProgram = "gnucap";
-  };
-in
-stdenv.mkDerivation {
+stdenv.mkDerivation (finalAttrs: {
   pname = "gnucap";
-  inherit version;
+  version = "20240220";
 
   src = fetchFromSavannah {
     repo = "gnucap";
-    rev = version;
+    rev = finalAttrs.version;
     hash = "sha256-aZMiNKwI6eQZAxlF/+GoJhKczohgGwZ0/Wgpv3+AhYY=";
   };
 
   nativeBuildInputs = [
     installShellFiles
   ];
+
   buildInputs = [
     readline
     termcap
@@ -53,42 +35,59 @@ stdenv.mkDerivation {
     installManPage man/*
   '';
 
-  passthru.tests = {
-    verilog = runCommand "gnucap-verilog-test" { } ''
-      echo "attach mgsim" | ${gnucap-full}/bin/gnucap -a msgsim > $out
-      cat $out | grep "verilog: already installed"
-    '';
+  passthru = {
+    tests = {
+      verilog = runCommand "gnucap-verilog-test" { } ''
+        echo "attach mgsim" | ${
+          finalAttrs.finalPackage.withPlugins (p: [ p.verilog ])
+        }/bin/gnucap -a msgsim > $out
+        cat $out | grep "verilog: already installed"
+      '';
+    };
+
+    plugins = callPackage ./plugins.nix { };
+    withPlugins =
+      p:
+      let
+        gnucap = finalAttrs.finalPackage;
+        selectedPlugins = p gnucap.plugins;
+        wrapper = writeScript "gnucap" ''
+          export GNUCAP_PLUGPATH=${gnucap}/lib/gnucap
+          for plugin in ${builtins.concatStringsSep " " selectedPlugins}; do
+            export GNUCAP_PLUGPATH=$plugin/lib/gnucap:$GNUCAP_PLUGPATH
+          done
+          ${lib.getExe gnucap}
+        '';
+      in
+      stdenv.mkDerivation {
+        pname = "${finalAttrs.pname}-with-plugins";
+        inherit (finalAttrs) version;
+
+        propagatedBuildInputs = selectedPlugins;
+
+        dontUnpack = true;
+
+        installPhase = ''
+          mkdir -p $out/bin
+          cp ${wrapper} $out/bin/gnucap
+        '';
+
+        inherit (finalAttrs) meta;
+      };
   };
 
-  inherit meta;
-}
-// {
-  plugins = callPackage ./plugins.nix { };
-  withPlugins =
-    p:
-    let
-      selectedPlugins = p gnucap.plugins;
-      wrapper = writeScript "gnucap" ''
-        export GNUCAP_PLUGPATH=${gnucap}/lib/gnucap
-        for plugin in ${builtins.concatStringsSep " " selectedPlugins}; do
-          export GNUCAP_PLUGPATH=$plugin/lib/gnucap:$GNUCAP_PLUGPATH
-        done
-        ${lib.getExe gnucap}
-      '';
-    in
-    stdenv.mkDerivation {
-      pname = "gnucap-with-plugins";
-      inherit version;
-
-      propagatedBuildInputs = selectedPlugins;
-
-      dontUnpack = true;
-
-      installPhase = ''
-        mkdir -p $out/bin
-        cp ${wrapper} $out/bin/gnucap
-      '';
-
-      inherit meta;
-    };
-}
+  meta = {
+    description = "Gnu Circuit Analysis Package";
+    longDescription = ''
+      Gnucap is a modern general purpose circuit simulator with several advantages over Spice derivatives.
+      It performs nonlinear dc and transient analyses, fourier analysis, and ac analysis.
+    '';
+    homepage = "http://www.gnucap.org/";
+    changelog = "https://git.savannah.gnu.org/gitweb/?p=gnucap.git;a=blob;f=NEWS";
+    license = lib.licenses.gpl3Only;
+    platforms = lib.platforms.all;
+    broken = stdenv.hostPlatform.isDarwin; # Relies on LD_LIBRARY_PATH
+    maintainers = [ lib.maintainers.raboof ];
+    mainProgram = "gnucap";
+  };
+})
diff --git a/pkgs/by-name/gn/gnucash/package.nix b/pkgs/by-name/gn/gnucash/package.nix
index 0e131cfa6e8e..ea19e4deae3e 100644
--- a/pkgs/by-name/gn/gnucash/package.nix
+++ b/pkgs/by-name/gn/gnucash/package.nix
@@ -3,6 +3,7 @@
   stdenv,
   fetchFromGitHub,
   fetchurl,
+  fetchpatch2,
   aqbanking,
   boost,
   cmake,
@@ -89,6 +90,12 @@ stdenv.mkDerivation rec {
     ./0004-exec-fq-wrapper.patch
     # this patch adds in env vars to the Python lib that makes it able to find required resource files
     ./0005-python-env.patch
+    # this patch backports a fix to remove unused includes causing build failures
+    (fetchpatch2 {
+      url = "https://github.com/Gnucash/gnucash/commit/940085a0172216240232551022686cea4da86096.patch?full_index=1";
+      name = "0006-remove-unused-includes.patch";
+      hash = "sha256-4CpBtKDkcT1HlOAHsbASxPiHKVpZ9ETWS3fXEupOl0Q=";
+    })
   ];
 
   postPatch = ''
@@ -188,8 +195,6 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [
-      domenkozar
-      rski
       nevivurn
     ];
     platforms = platforms.unix;
diff --git a/pkgs/by-name/gn/gnulib/gnulib-longdouble-redirect.patch b/pkgs/by-name/gn/gnulib/gnulib-longdouble-redirect.patch
deleted file mode 100644
index f684292dc8bd..000000000000
--- a/pkgs/by-name/gn/gnulib/gnulib-longdouble-redirect.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-
-Below is the subset of gnulib commit
-776af40e09b476a41073131a90022572f448c189 which deals with long double
-redirects.  The rest of that commit has been removed.
-
-diff --git a/lib/cdefs.h b/lib/cdefs.h
-index fd72b7b..4383e70 100644
---- a/lib/cdefs.h
-+++ b/lib/cdefs.h
-@@ -483,7 +493,37 @@
- # include 
- #endif
- 
--#if defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH
-+#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
-+# ifdef __REDIRECT
-+
-+/* Alias name defined automatically.  */
-+#  define __LDBL_REDIR(name, proto) ... unused__ldbl_redir
-+#  define __LDBL_REDIR_DECL(name) \
-+  extern __typeof (name) name __asm (__ASMNAME ("__" #name "ieee128"));
-+
-+/* Alias name defined automatically, with leading underscores.  */
-+#  define __LDBL_REDIR2_DECL(name) \
-+  extern __typeof (__##name) __##name \
-+    __asm (__ASMNAME ("__" #name "ieee128"));
-+
-+/* Alias name defined manually.  */
-+#  define __LDBL_REDIR1(name, proto, alias) ... unused__ldbl_redir1
-+#  define __LDBL_REDIR1_DECL(name, alias) \
-+  extern __typeof (name) name __asm (__ASMNAME (#alias));
-+
-+#  define __LDBL_REDIR1_NTH(name, proto, alias) \
-+  __REDIRECT_NTH (name, proto, alias)
-+#  define __REDIRECT_NTH_LDBL(name, proto, alias) \
-+  __LDBL_REDIR1_NTH (name, proto, __##alias##ieee128)
-+
-+/* Unused.  */
-+#  define __REDIRECT_LDBL(name, proto, alias) ... unused__redirect_ldbl
-+#  define __LDBL_REDIR_NTH(name, proto) ... unused__ldbl_redir_nth
-+
-+# else
-+_Static_assert (0, "IEEE 128-bits long double requires redirection on this platform");
-+# endif
-+#elif defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH
- # define __LDBL_COMPAT 1
- # ifdef __REDIRECT
- #  define __LDBL_REDIR1(name, proto, alias) __REDIRECT (name, proto, alias)
-@@ -492,6 +532,8 @@
- #  define __LDBL_REDIR1_NTH(name, proto, alias) __REDIRECT_NTH (name, proto, alias)
- #  define __LDBL_REDIR_NTH(name, proto) \
-   __LDBL_REDIR1_NTH (name, proto, __nldbl_##name)
-+#  define __LDBL_REDIR2_DECL(name) \
-+  extern __typeof (__##name) __##name __asm (__ASMNAME ("__nldbl___" #name));
- #  define __LDBL_REDIR1_DECL(name, alias) \
-   extern __typeof (name) name __asm (__ASMNAME (#alias));
- #  define __LDBL_REDIR_DECL(name) \
-@@ -502,11 +544,13 @@
-   __LDBL_REDIR1_NTH (name, proto, __nldbl_##alias)
- # endif
- #endif
--#if !defined __LDBL_COMPAT || !defined __REDIRECT
-+#if (!defined __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0) \
-+    || !defined __REDIRECT
- # define __LDBL_REDIR1(name, proto, alias) name proto
- # define __LDBL_REDIR(name, proto) name proto
- # define __LDBL_REDIR1_NTH(name, proto, alias) name proto __THROW
- # define __LDBL_REDIR_NTH(name, proto) name proto __THROW
-+# define __LDBL_REDIR2_DECL(name)
- # define __LDBL_REDIR_DECL(name)
- # ifdef __REDIRECT
- #  define __REDIRECT_LDBL(name, proto, alias) __REDIRECT (name, proto, alias)
diff --git a/pkgs/by-name/gn/gnulib/package.nix b/pkgs/by-name/gn/gnulib/package.nix
index 73fce1a75848..37f75abb5e36 100644
--- a/pkgs/by-name/gn/gnulib/package.nix
+++ b/pkgs/by-name/gn/gnulib/package.nix
@@ -34,17 +34,6 @@ stdenv.mkDerivation {
   # do not change headers to not update all vendored build files
   dontFixup = true;
 
-  passthru = {
-    # This patch is used by multiple other packages (currently:
-    # gnused, gettext) which contain vendored copies of gnulib.
-    # Without it, compilation will fail with error messages about
-    # "__LDBL_REDIR1_DECL" or similar on platforms with longdouble
-    # redirects (currently powerpc64).  Once all of those other
-    # packages make a release with a newer gnulib we can drop this
-    # patch.
-    longdouble-redirect-patch = ./gnulib-longdouble-redirect.patch;
-  };
-
   meta = with lib; {
     description = "Central location for code to be shared among GNU packages";
     homepage = "https://www.gnu.org/software/gnulib/";
diff --git a/pkgs/by-name/go/go-containerregistry/package.nix b/pkgs/by-name/go/go-containerregistry/package.nix
index 26b93b403b7b..cfb94d695d71 100644
--- a/pkgs/by-name/go/go-containerregistry/package.nix
+++ b/pkgs/by-name/go/go-containerregistry/package.nix
@@ -14,13 +14,13 @@ in
 
 buildGoModule rec {
   pname = "go-containerregistry";
-  version = "0.20.3";
+  version = "0.20.5";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "go-containerregistry";
     rev = "v${version}";
-    sha256 = "sha256-HiksVzVuY4uub7Lwfyh3GN8wpH2MgIjKSO4mQJZeNvs=";
+    sha256 = "sha256-t1OQpXn87OInOmqRx/oFrWkbVmE3nJX/OXH/13cq4CU=";
   };
   vendorHash = null;
 
@@ -68,6 +68,7 @@ buildGoModule rec {
     description = "Tools for interacting with remote images and registries including crane and gcrane";
     homepage = "https://github.com/google/go-containerregistry";
     license = licenses.asl20;
+    mainProgram = "crane";
     maintainers = with maintainers; [ yurrriq ];
   };
 }
diff --git a/pkgs/by-name/go/go-dnscollector/package.nix b/pkgs/by-name/go/go-dnscollector/package.nix
index 9c5a7f9add01..cc428c1fdae0 100644
--- a/pkgs/by-name/go/go-dnscollector/package.nix
+++ b/pkgs/by-name/go/go-dnscollector/package.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "go-dnscollector";
-  version = "1.7.0";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "dmachard";
     repo = "go-dnscollector";
     rev = "v${version}";
-    sha256 = "sha256-antLNQEOA20XxmmZHFQcs0VuLVfgM5V3wyXOYIX4hlk=";
+    sha256 = "sha256-q12hMnSqA/KCkmiqsmBpvDmyHtuEWhMBTKwOOyw3Wfs=";
   };
 
-  vendorHash = "sha256-9EQr4lhv6+PkAnMJ6iWnBsK/SzZaOyVkSpqSYsX07LY=";
+  vendorHash = "sha256-TtlOwmNyO2/eQCajPBu6Pgdbuk4gacpgtcnr1vZgZdg=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/by-name/go/go-licence-detector/package.nix b/pkgs/by-name/go/go-licence-detector/package.nix
index dd08b14598d4..2e352c8cae7e 100644
--- a/pkgs/by-name/go/go-licence-detector/package.nix
+++ b/pkgs/by-name/go/go-licence-detector/package.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "go-licence-detector";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "elastic";
     repo = "go-licence-detector";
     rev = "v${version}";
-    hash = "sha256-43MyzEF7BZ7pcgzDvXx9SjXGHaLozmWkGWUO/yf6K98=";
+    hash = "sha256-mytZc5sfYkzvdv53EVnM97fvfOPh+Y06j+aB8bhFv5o=";
   };
 
   vendorHash = "sha256-7vIP5pGFH6CbW/cJp+DiRg2jFcLFEBl8dQzUw1ogTTA=";
diff --git a/pkgs/by-name/go/go-swagger/package.nix b/pkgs/by-name/go/go-swagger/package.nix
index 66ec2adea344..f92e86b05839 100644
--- a/pkgs/by-name/go/go-swagger/package.nix
+++ b/pkgs/by-name/go/go-swagger/package.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "go-swagger";
-  version = "0.31.0";
+  version = "0.32.3";
 
   src = fetchFromGitHub {
     owner = "go-swagger";
     repo = "go-swagger";
     tag = "v${version}";
-    hash = "sha256-PeH9bkRObsw4+ttuWhaPfPQQTOAw8pwlgTEtPoUBiIQ=";
+    hash = "sha256-L6EfHNwykqGtA1CZd/Py6QqeCz10VGjX/lEVHs6VB6g=";
   };
 
-  vendorHash = "sha256-PBzJMXPZ2gVdrW3ZeerhR1BeT9vWIIS1vCTjz3UFHes=";
+  vendorHash = "sha256-UQbPVrLehl2jwGXdJPrRo6JsAd/2A+NKEQwkRr3reOY=";
 
   doCheck = false;
 
diff --git a/pkgs/by-name/go/go-xmlstruct/package.nix b/pkgs/by-name/go/go-xmlstruct/package.nix
index e93841f889ec..09de3b1f3b93 100644
--- a/pkgs/by-name/go/go-xmlstruct/package.nix
+++ b/pkgs/by-name/go/go-xmlstruct/package.nix
@@ -7,16 +7,16 @@
 
 buildGoModule (finalAttrs: {
   pname = "go-xmlstruct";
-  version = "1.10.0";
+  version = "1.11.0";
 
   src = fetchFromGitHub {
     owner = "twpayne";
     repo = "go-xmlstruct";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-7nDxLvTu/l3bbkG/MYFWqO0KGNfVVwW9/WqvKvj0wOc=";
+    hash = "sha256-YTVPxC3HoSuWgNkFkhNr4ytYbL+AiIkzjLBfkGNmv+M=";
   };
 
-  vendorHash = "sha256-dxnMWxcWu67FI833bFoxy+5s2ELp3gXisLiTACZRzGU=";
+  vendorHash = "sha256-myt5JjEDnLfkYkB+yb/oaH4dgIOB9qFcqcEb6KO5vBk=";
 
   doInstallCheck = true;
   installCheckPhase = ''
diff --git a/pkgs/by-name/go/gocatcli/package.nix b/pkgs/by-name/go/gocatcli/package.nix
index e10a2e9b4c96..4dacc3737f33 100644
--- a/pkgs/by-name/go/gocatcli/package.nix
+++ b/pkgs/by-name/go/gocatcli/package.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "gocatcli";
-  version = "1.0.6";
+  version = "1.1.2";
 
   src = fetchFromGitHub {
     owner = "deadc0de6";
     repo = "gocatcli";
     tag = "v${version}";
-    hash = "sha256-qB7BDPDGcngPhd82V4FrsycFd7CNb6hPaHJQ+ECmo48=";
+    hash = "sha256-kNXuQlBLiDEbKwtSmdX4XPLyMZFyBvLKEmQdCDug4ao=";
   };
 
-  vendorHash = "sha256-gJfqnxCTKXmTH8L4qjSXzTr+LsP+jzzivfQOplRkfao=";
+  vendorHash = "sha256-gi4/ekLGh5T5D3ifW/FF+ewHesWOyhY01ZZIG6+OENo=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/by-name/go/goctl/package.nix b/pkgs/by-name/go/goctl/package.nix
index 95c9c1befec9..2b3ad122f511 100644
--- a/pkgs/by-name/go/goctl/package.nix
+++ b/pkgs/by-name/go/goctl/package.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "goctl";
-  version = "1.8.3";
+  version = "1.8.4";
 
   src = fetchFromGitHub {
     owner = "zeromicro";
     repo = "go-zero";
     tag = "v${version}";
-    hash = "sha256-v5WzqMotF9C7i9hTYSjaPmTwveBVDVn+SKQXYuS4Rdc=";
+    hash = "sha256-N0U/8YbqhyD5kb14lq8JKWwfYHUZ57Z/KZyIf6kKl0U=";
   };
 
-  vendorHash = "sha256-tOIlfYiAI9m7oTZyPDCzTXg9XTwBb6EOVLzDfZnzL4E=";
+  vendorHash = "sha256-D56zTwn4y03eaP2yP8Q2F6ixGMaQJwKEqonHNJGp2Ec=";
 
   modRoot = "tools/goctl";
   subPackages = [ "." ];
diff --git a/pkgs/by-name/go/gofaxip/package.nix b/pkgs/by-name/go/gofaxip/package.nix
new file mode 100644
index 000000000000..6f9841cae4c9
--- /dev/null
+++ b/pkgs/by-name/go/gofaxip/package.nix
@@ -0,0 +1,35 @@
+{
+  buildGoModule,
+  fetchFromGitHub,
+  lib,
+}:
+
+buildGoModule (finalAttrs: {
+  pname = "gofaxip";
+  version = "1.4-2";
+
+  src = fetchFromGitHub {
+    owner = "gonicus";
+    repo = "gofaxip";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-Fo/sNXE/GdTImg0Kd3QxWDlpJgN2OJNxX2YjL50kzW0=";
+  };
+
+  vendorHash = null;
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X main.version=${finalAttrs.version}"
+  ];
+
+  env.CI = "1";
+
+  meta = {
+    description = "T.38 backend for HylaFAX using FreeSWITCH";
+    homepage = "https://github.com/gonicus/gofaxip";
+    changelog = "https://github.com/gonicus/gofaxip/releases/tag/v${finalAttrs.version}";
+    license = lib.licenses.gpl2Plus;
+    maintainers = with lib.maintainers; [ annaaurora ];
+  };
+})
diff --git a/pkgs/by-name/go/gokapi/package.nix b/pkgs/by-name/go/gokapi/package.nix
index cca70f9f1748..9f1caae438b6 100644
--- a/pkgs/by-name/go/gokapi/package.nix
+++ b/pkgs/by-name/go/gokapi/package.nix
@@ -9,13 +9,13 @@
 
 buildGoModule rec {
   pname = "gokapi";
-  version = "2.0.0";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "Forceu";
     repo = "Gokapi";
     tag = "v${version}";
-    hash = "sha256-YhUHi1tR2bCFskBbAlFekuFzfZ2ER9G+TNCcfh5loS4=";
+    hash = "sha256-sYosoG4bZ5B024tFr2tEjf5EezoWmtO3vFE6W6grm1M=";
   };
 
   vendorHash = "sha256-GeS+lfFw7jUuXX1qQPiu9eKjz6nswpRtbZXjqu4DnHg=";
diff --git a/pkgs/by-name/go/gollama/package.nix b/pkgs/by-name/go/gollama/package.nix
index b2e1bc6d6d13..ab08580ed1bc 100644
--- a/pkgs/by-name/go/gollama/package.nix
+++ b/pkgs/by-name/go/gollama/package.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "gollama";
-  version = "v1.33.2";
+  version = "v1.34.0";
 
   src = fetchFromGitHub {
     owner = "sammcj";
     repo = "gollama";
     tag = "v${version}";
-    hash = "sha256-WqbF1oWQBivtv3oV6UU8vDgT1re+WVgb89sTggs7uWw=";
+    hash = "sha256-gWEm5aUVq2yfxuZ6GxITiAAsn5gj1HR9I7seyRX8DoA=";
   };
 
-  vendorHash = "sha256-bXawl7ZanbVMA/ez+UOwQF1jV9VW5QH+0/2I50Biz4g=";
+  vendorHash = "sha256-7e1wM2FDaQGAIhb0gERy/RgJupra1B52SgTV0EHD570=";
 
   doCheck = false;
 
diff --git a/pkgs/by-name/go/gomi/package.nix b/pkgs/by-name/go/gomi/package.nix
index 84403bd18a61..f2f3bace85bf 100644
--- a/pkgs/by-name/go/gomi/package.nix
+++ b/pkgs/by-name/go/gomi/package.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "gomi";
-  version = "1.6.0";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     owner = "b4b4r07";
     repo = "gomi";
     tag = "v${version}";
-    hash = "sha256-0C+us4GO8Jd51ATaaf0aRU3NnhmDvu0I3qDDXBoaiXU=";
+    hash = "sha256-Sxf/x29uADkdILrWwdKZhTc1Y7zCJbpMNK6vV/SGF1Q=";
     # populate values that require us to use git. By doing this in postFetch we
     # can delete .git afterwards and maintain better reproducibility of the src.
     leaveDotGit = true;
@@ -24,12 +24,12 @@ buildGoModule rec {
     '';
   };
 
-  vendorHash = "sha256-8aw81DKBmgNsQzgtHCsUkok5e5+LeAC8BUijwKVT/0s=";
+  vendorHash = "sha256-Lt2SA3IHD8wDxv5bScU37hqStnfxVYQQZS6ajr7PhJM=";
 
   subPackages = [ "." ];
 
   # Add version information fetched from the repository to ldflags.
-  # https://github.com/babarot/gomi/blob/v1.6.0/.goreleaser.yaml#L20-L22
+  # https://github.com/babarot/gomi/blob/v1.6.1/.goreleaser.yaml#L20-L22
   ldflags = [
     "-X main.version=v${version}"
   ];
diff --git a/pkgs/by-name/go/google-chrome/package.nix b/pkgs/by-name/go/google-chrome/package.nix
index 22e07fc21e39..8f67ca1bd1d6 100644
--- a/pkgs/by-name/go/google-chrome/package.nix
+++ b/pkgs/by-name/go/google-chrome/package.nix
@@ -171,11 +171,11 @@ let
 
   linux = stdenvNoCC.mkDerivation (finalAttrs: {
     inherit pname meta passthru;
-    version = "137.0.7151.68";
+    version = "137.0.7151.119";
 
     src = fetchurl {
       url = "https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${finalAttrs.version}-1_amd64.deb";
-      hash = "sha256-TBJ6XOnxrP/+Gnd2Y3/aYbRG5N+b7dKS/u80ZK4E+MM=";
+      hash = "sha256-EcU3pulP1I+8kKvtHJSvNato2/bzF+XaZIAvJm6KGHo=";
     };
 
     # With strictDeps on, some shebangs were not being patched correctly
@@ -276,11 +276,11 @@ let
 
   darwin = stdenvNoCC.mkDerivation (finalAttrs: {
     inherit pname meta passthru;
-    version = "137.0.7151.69";
+    version = "137.0.7151.120";
 
     src = fetchurl {
-      url = "http://dl.google.com/release2/chrome/aciew3ymglq2kjdorwr226xwu5iq_137.0.7151.69/GoogleChrome-137.0.7151.69.dmg";
-      hash = "sha256-5WU8ZD/+uyNsAhPR0fSR9FkFleKMakUduErm49rMRcI=";
+      url = "http://dl.google.com/release2/chrome/krvhzfpcltd2q6vp72nycv3pqi_137.0.7151.120/GoogleChrome-137.0.7151.120.dmg";
+      hash = "sha256-8DmeV1zhlNFRb18W/6r+eJugFHFQ4XqYJhxcEZT/8yE=";
     };
 
     dontPatch = true;
diff --git a/pkgs/by-name/go/goose-cli/package.nix b/pkgs/by-name/go/goose-cli/package.nix
index c724bef476fe..098363f50f5e 100644
--- a/pkgs/by-name/go/goose-cli/package.nix
+++ b/pkgs/by-name/go/goose-cli/package.nix
@@ -7,6 +7,7 @@
   dbus,
   xorg,
   pkg-config,
+  protobuf,
   writableTmpDirAsHomeHook,
   nix-update-script,
   llvmPackages,
@@ -26,19 +27,22 @@ let
 in
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "goose-cli";
-  version = "1.0.24";
+  version = "1.0.28";
 
   src = fetchFromGitHub {
     owner = "block";
     repo = "goose";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-pkqZZwA25IszAnaW0G5adUI2NIEqqQnTQRqlqHWgJRg=";
+    hash = "sha256-ExFVgG05jlcz3nP6n94324sgXbIHpj8L30oNuqKyfto=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-Wct5XnBueG58+A4zZpcKy0vA2Kjwmtk505JZKNPFTDQ=";
+  cargoHash = "sha256-sW4rWLElTPVzD+KCOrikEFcoIRGujMz+wHOWlYBpi0o=";
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [
+    pkg-config
+    protobuf
+  ];
 
   buildInputs = [ dbus ] ++ lib.optionals stdenv.hostPlatform.isLinux [ xorg.libxcb ];
 
@@ -70,6 +74,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
       "--skip=logging::tests::test_log_file_name::with_session_name_without_error_capture"
       "--skip=logging::tests::test_log_file_name::without_session_name"
       "--skip=developer::tests::test_text_editor_str_replace"
+      # need API keys
+      "--skip=providers::factory::tests::test_create_lead_worker_provider"
+      "--skip=providers::factory::tests::test_create_regular_provider_without_lead_config"
+      "--skip=providers::factory::tests::test_lead_model_env_vars_with_defaults"
     ]
     ++ lib.optionals stdenv.hostPlatform.isDarwin [
       "--skip=providers::gcpauth::tests::test_load_from_metadata_server"
diff --git a/pkgs/by-name/go/goperf/package.nix b/pkgs/by-name/go/goperf/package.nix
index 7caaff06ea86..0e45df953fb5 100644
--- a/pkgs/by-name/go/goperf/package.nix
+++ b/pkgs/by-name/go/goperf/package.nix
@@ -9,15 +9,15 @@
 
 buildGoModule rec {
   pname = "goperf";
-  version = "0-unstable-2025-05-05";
+  version = "0-unstable-2025-06-05";
 
   src = fetchgit {
     url = "https://go.googlesource.com/perf";
-    rev = "a54a20dddd9743f7ac60d2d506e561eaeafd4831";
-    hash = "sha256-+d8s9kEzBJ/21U2x8ZuiGdQrspFIJEmrjxmzNahC/V0=";
+    rev = "b481878a17bef398145703a878ff39e5bedae345";
+    hash = "sha256-jaMJhBf6uE7pKhGYU5RiHl2DpOBhZLqmZvIYZuYFGP4=";
   };
 
-  vendorHash = "sha256-nqK6xMKYe4uMXvcqopTAV66qklWUq1TzsP8V67TGJJU=";
+  vendorHash = "sha256-r0GYVYgBoTE5Dpma5xqp7llBF9+QDgD/PfL+P01LImA=";
 
   passthru.updateScript = writeShellScript "update-goperf" ''
     export UPDATE_NIX_ATTR_PATH=goperf
diff --git a/pkgs/by-name/go/gopher64/package.nix b/pkgs/by-name/go/gopher64/package.nix
index 8254e920f1b8..38837227cdc4 100644
--- a/pkgs/by-name/go/gopher64/package.nix
+++ b/pkgs/by-name/go/gopher64/package.nix
@@ -19,13 +19,13 @@
 
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "gopher64";
-  version = "1.0.16";
+  version = "1.0.17";
 
   src = fetchFromGitHub {
     owner = "gopher64";
     repo = "gopher64";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-TduOmKK4OAmhP2VUT0eeoKHQHmsM8kptrxfgCdDFTRU=";
+    hash = "sha256-DDFtPISV17jQMECBIqYbbGhZpjYXuNnOq7EiEVtSzgc=";
     fetchSubmodules = true;
     leaveDotGit = true;
     postFetch = ''
@@ -51,7 +51,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
   '';
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-9fZ7zFTqt1VNnmCqFzWrZFD1PQZ7paz7r2Mb+9+C9Rs=";
+  cargoHash = "sha256-31kEYwlDA6iYcwPZyQU4gM/VLfPNeYcDKhhBqzNp/QE=";
 
   env.ZSTD_SYS_USE_PKG_CONFIG = true;
 
diff --git a/pkgs/by-name/go/gopher64/use-sdl3-via-pkg-config.patch b/pkgs/by-name/go/gopher64/use-sdl3-via-pkg-config.patch
index 7db5ce5ea8ff..1eb8f968f8e2 100644
--- a/pkgs/by-name/go/gopher64/use-sdl3-via-pkg-config.patch
+++ b/pkgs/by-name/go/gopher64/use-sdl3-via-pkg-config.patch
@@ -1,8 +1,8 @@
 diff --git a/Cargo.lock b/Cargo.lock
-index 89bc1d0..72b65cd 100644
+index 81c7e20..6ae0a17 100644
 --- a/Cargo.lock
 +++ b/Cargo.lock
-@@ -626,15 +626,6 @@ dependencies = [
+@@ -611,15 +611,6 @@ dependencies = [
   "error-code",
  ]
  
@@ -18,7 +18,7 @@ index 89bc1d0..72b65cd 100644
  [[package]]
  name = "cobs"
  version = "0.2.3"
-@@ -3245,12 +3236,6 @@ dependencies = [
+@@ -3243,12 +3234,6 @@ dependencies = [
   "windows-sys 0.52.0",
  ]
  
@@ -31,21 +31,21 @@ index 89bc1d0..72b65cd 100644
  [[package]]
  name = "rustc-demangle"
  version = "0.1.24"
-@@ -3380,21 +3365,13 @@ version = "1.2.0"
+@@ -3370,21 +3355,13 @@ version = "1.2.0"
  source = "registry+https://github.com/rust-lang/crates.io-index"
  checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
  
 -[[package]]
 -name = "sdl3-src"
--version = "3.2.10"
+-version = "3.2.16"
 -source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "e677fa126db179fb8f03c982163321496ddf57a6d8a1e41eeef4600f956038b1"
+-checksum = "c5b5d192485408fa251477ea1dfb4778d864efaec72f730ce3a753deaffb27bb"
 -
  [[package]]
  name = "sdl3-sys"
- version = "0.4.7+SDL3-3.2.10"
+ version = "0.5.2+SDL3-3.2.16"
  source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "f0d16a8a3623a4cb39a3661c81d9d4c5fd77ada27fc056e320b3651bf7bde1b1"
+ checksum = "f0a31799d7cbd36f2b187c32a56975fbdd371c200a91b01d4ed0faf0012bcf9c"
  dependencies = [
 - "cmake",
 - "rpkg-config",
@@ -55,20 +55,20 @@ index 89bc1d0..72b65cd 100644
  
  [[package]]
 diff --git a/Cargo.toml b/Cargo.toml
-index 1f41e04..9d9ea33 100644
+index 82d8e99..8b15aad 100644
 --- a/Cargo.toml
 +++ b/Cargo.toml
 @@ -18,7 +18,7 @@ serde-big-array = "0.5"
  eframe = { version = "0.31", default-features = false, features = ["wayland", "x11", "glow"] }
  sha2 = "0.10"
  ab_glyph = "0.2"
--sdl3-sys = { version = "0.4", features = ["build-from-source-static"] }
-+sdl3-sys = { version = "0.4", features = ["use-pkg-config"] }
+-sdl3-sys = { version = "0.5", features = ["build-from-source-static"] }
++sdl3-sys = { version = "0.5", features = ["use-pkg-config"] }
  rfd = { version = "0.15", default-features = false, features = ["xdg-portal", "tokio"] }
- tokio = {version = "1.43", features = ["rt-multi-thread", "macros"] }
+ tokio = {version = "1.45", features = ["rt-multi-thread", "macros"] }
  spin_sleep = "1.3"
 diff --git a/build.rs b/build.rs
-index 67a6e8d..6c9f63b 100644
+index f0c6d21..fa28e25 100644
 --- a/build.rs
 +++ b/build.rs
 @@ -52,10 +52,7 @@ fn main() {
diff --git a/pkgs/by-name/go/goplantuml/package.nix b/pkgs/by-name/go/goplantuml/package.nix
new file mode 100644
index 000000000000..e901168a4a9d
--- /dev/null
+++ b/pkgs/by-name/go/goplantuml/package.nix
@@ -0,0 +1,27 @@
+{
+  lib,
+  buildGoModule,
+  fetchFromGitHub,
+}:
+buildGoModule rec {
+  pname = "goplantuml";
+  version = "1.6.2";
+  src = fetchFromGitHub {
+    owner = "jfeliu007";
+    repo = "goplantuml";
+    tag = "v${version}";
+    hash = "sha256-OnCAqws27e7WsXKmw0clH9Qek+6LNeu2UGD9sKaV4+I=";
+  };
+  vendorHash = null;
+  meta = {
+    changelog = "https://github.com/jfeliu007/goplantuml/releases/tag/v${version}";
+    description = "PlantUML Class Diagram Generator for golang projects";
+    homepage = "https://github.com/jfeliu007/goplantuml";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [
+      matteobongio
+    ];
+    mainProgram = "goplantuml";
+  };
+
+}
diff --git a/pkgs/by-name/go/gopls/package.nix b/pkgs/by-name/go/gopls/package.nix
index 70e9133beb21..bf31ed9b5e94 100644
--- a/pkgs/by-name/go/gopls/package.nix
+++ b/pkgs/by-name/go/gopls/package.nix
@@ -11,27 +11,26 @@
 
 buildGoLatestModule (finalAttrs: {
   pname = "gopls";
-  version = "0.18.1";
+  version = "0.19.1";
 
   src = fetchFromGitHub {
     owner = "golang";
     repo = "tools";
     tag = "gopls/v${finalAttrs.version}";
-    hash = "sha256-5w6R3kaYwrZyhIYjwLqfflboXT/z3HVpZiowxeUyaWg=";
+    hash = "sha256-QJnLJNgFtc/MmJ5WWooKcavnPPTYuM4XhUHcbwlvMLY=";
   };
 
   modRoot = "gopls";
-  vendorHash = "sha256-/tca93Df90/8K1dqhOfUsWSuFoNfg9wdWy3csOtFs6Y=";
+  vendorHash = "sha256-P5wUGXmVvaRUpzmv/SPX8OpCXOCOg6nBI544puNOWCE=";
 
   # https://github.com/golang/tools/blob/9ed98faa/gopls/main.go#L27-L30
   ldflags = [ "-X main.version=v${finalAttrs.version}" ];
 
   doCheck = false;
 
-  # Only build gopls, gofix, modernize, and not the integration tests or documentation generator.
+  # Only build gopls & modernize, not the integration tests or documentation generator.
   subPackages = [
     "."
-    "internal/analysis/gofix/cmd/gofix"
     "internal/analysis/modernize/cmd/modernize"
   ];
 
diff --git a/pkgs/by-name/go/goreleaser/package.nix b/pkgs/by-name/go/goreleaser/package.nix
index 08a7920fea6f..c77eaa932acc 100644
--- a/pkgs/by-name/go/goreleaser/package.nix
+++ b/pkgs/by-name/go/goreleaser/package.nix
@@ -10,16 +10,16 @@
 }:
 buildGoModule rec {
   pname = "goreleaser";
-  version = "2.9.0";
+  version = "2.10.2";
 
   src = fetchFromGitHub {
     owner = "goreleaser";
     repo = "goreleaser";
     rev = "v${version}";
-    hash = "sha256-2nen0Bd7jBlRz9AbcQAiK1GdT0ZkP9gBu3TfbpXIX6M=";
+    hash = "sha256-MryN6Qm/cedL/aIpf8Pxb4nPdH4iw9aW0mhEv5jBvUo=";
   };
 
-  vendorHash = "sha256-RN06Smr6HQGOUV3hQKxAbueDwI8ZlrnaF3vwrSesGOM=";
+  vendorHash = "sha256-s23FmEbtITW/PD64f8qecClC7SDp08VhC4bRpbgVrb0=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/go/goreman/package.nix b/pkgs/by-name/go/goreman/package.nix
index 9a572a8a41b8..22567e16a140 100644
--- a/pkgs/by-name/go/goreman/package.nix
+++ b/pkgs/by-name/go/goreman/package.nix
@@ -3,17 +3,16 @@
   buildGoModule,
   fetchFromGitHub,
   testers,
-  goreman,
 }:
 
-buildGoModule rec {
+buildGoModule (finalAttrs: {
   pname = "goreman";
   version = "0.3.16";
 
   src = fetchFromGitHub {
     owner = "mattn";
     repo = "goreman";
-    rev = "v${version}";
+    tag = "v${finalAttrs.version}";
     hash = "sha256-hOFnLxHsrauOrsbJYKNrwFFT5yYX/rdZUVjscBIGDLo=";
   };
 
@@ -25,15 +24,15 @@ buildGoModule rec {
   ];
 
   passthru.tests.version = testers.testVersion {
-    package = goreman;
+    package = finalAttrs.finalPackage;
     command = "goreman version";
   };
 
-  meta = with lib; {
+  meta = {
     description = "foreman clone written in go language";
     mainProgram = "goreman";
     homepage = "https://github.com/mattn/goreman";
-    license = licenses.mit;
-    maintainers = with maintainers; [ zimbatm ];
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ zimbatm ];
   };
-}
+})
diff --git a/pkgs/by-name/go/gosec/package.nix b/pkgs/by-name/go/gosec/package.nix
index 7ea910bd9faa..f4e294fb06e4 100644
--- a/pkgs/by-name/go/gosec/package.nix
+++ b/pkgs/by-name/go/gosec/package.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "gosec";
-  version = "2.22.4";
+  version = "2.22.5";
 
   src = fetchFromGitHub {
     owner = "securego";
     repo = "gosec";
     rev = "v${version}";
-    hash = "sha256-a1rxomazSWm/hLpV6lnkEsIpOKyworKQZRFe9ZuEQ1I=";
+    hash = "sha256-gvKqBXiOK1KF0Y2+d7f/8QhhuvspgV632iizoKZgaQk=";
   };
 
-  vendorHash = "sha256-UUwoEkpjz0v3c4HBlMhnhOqotZDG5TQcOXqexNgj3yE=";
+  vendorHash = "sha256-T29x5+n2MVIo3c1iabn5tQWrBKD96Cwo/EKWzHYgwrc=";
 
   subPackages = [
     "cmd/gosec"
diff --git a/pkgs/by-name/go/gosmee/package.nix b/pkgs/by-name/go/gosmee/package.nix
index 4647f1566d9e..1721bd8675f4 100644
--- a/pkgs/by-name/go/gosmee/package.nix
+++ b/pkgs/by-name/go/gosmee/package.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "gosmee";
-  version = "0.26.0";
+  version = "0.26.1";
 
   src = fetchFromGitHub {
     owner = "chmouel";
     repo = "gosmee";
     rev = "v${version}";
-    hash = "sha256-dmv2fxL6jV6bpWvtMiLEtb/yg5vuD+B52P1PWVap1NA=";
+    hash = "sha256-qNO7mY03aWabTeUm8rXojy2Ek2IKNG6wimVhwZKxh9g=";
   };
   vendorHash = null;
 
diff --git a/pkgs/by-name/go/got/package.nix b/pkgs/by-name/go/got/package.nix
index 345e1e367c5c..5a78a0b44dcd 100644
--- a/pkgs/by-name/go/got/package.nix
+++ b/pkgs/by-name/go/got/package.nix
@@ -25,11 +25,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "got";
-  version = "0.112";
+  version = "0.113";
 
   src = fetchurl {
     url = "https://gameoftrees.org/releases/portable/got-portable-${finalAttrs.version}.tar.gz";
-    hash = "sha256-4zZpT+kREr+MgEpXTkb3luFTh5PpMd18TAoEE2cq/Yk=";
+    hash = "sha256-KUaKG5o1+iq6kygHWVvADQEKxUGSOQRo91oK02TFbwE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/go/gotestsum/package.nix b/pkgs/by-name/go/gotestsum/package.nix
index e3e3c5927481..20c74f4ccb01 100644
--- a/pkgs/by-name/go/gotestsum/package.nix
+++ b/pkgs/by-name/go/gotestsum/package.nix
@@ -5,16 +5,16 @@
 }:
 buildGoModule (finalAttrs: {
   pname = "gotestsum";
-  version = "1.12.2";
+  version = "1.12.3";
 
   src = fetchFromGitHub {
     owner = "gotestyourself";
     repo = "gotestsum";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-l4K+8J24egaKS64inQrBWnPLLGBu1W03OUi4WWQoAgs=";
+    hash = "sha256-j8lB0TIHK8/yMzaTB5OOaboEtnB6IsTybz8sJbNoQt4=";
   };
 
-  vendorHash = "sha256-SJacdFAdMiKDGLnEEBKnblvHglIBIKf2N20EOFCPs88=";
+  vendorHash = "sha256-UInHqKzntK0fYsUKZ2jW4akymeRd3sMQKf8+//TQb7g=";
 
   doCheck = false;
 
diff --git a/pkgs/by-name/go/gotools/package.nix b/pkgs/by-name/go/gotools/package.nix
index ab00c3f10ef6..74392d52e6eb 100644
--- a/pkgs/by-name/go/gotools/package.nix
+++ b/pkgs/by-name/go/gotools/package.nix
@@ -6,22 +6,22 @@
   go,
 }:
 
-buildGoModule rec {
+buildGoModule (finalAttrs: {
   pname = "gotools";
-  version = "0.30.0";
+  version = "0.34.0";
 
-  # using GitHub instead of https://go.googlesource.com/tools because Gitiles UI is to basic to browse
+  # using GitHub instead of https://go.googlesource.com/tools because Gitiles UI is too basic to browse
   src = fetchFromGitHub {
     owner = "golang";
     repo = "tools";
-    rev = "v${version}";
-    hash = "sha256-yUkdZSe/GV0w1qK8aQjcFE4tNKYC8f4JeFgPiv8GlQc=";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-C+P2JoD4NzSAkAQuA20bVrfLZrMHXekvXn8KPOM5Nj4=";
   };
 
   allowGoReference = true;
   doCheck = false;
 
-  vendorHash = "sha256-+jhCNi7bGkRdI1Ywfe3q4i+zcm3UJ0kbQalsDD3WkS4=";
+  vendorHash = "sha256-UZNYHx5y+kRp3AJq6s4Wy+k789GDG7FBTSzCTorVjgg=";
 
   nativeBuildInputs = [ makeWrapper ];
 
@@ -29,6 +29,8 @@ buildGoModule rec {
     # The gopls folder contains a Go submodule which causes a build failure
     # and lives in its own package named gopls.
     rm -r gopls
+    # cmd/auth folder is similar and is scheduled to be removed https://github.com/golang/go/issues/70872
+    rm -r cmd/auth
   '';
 
   # Set GOTOOLDIR for derivations adding this to buildInputs
@@ -43,16 +45,16 @@ buildGoModule rec {
       --suffix PATH : ${lib.makeBinPath [ go ]}
   '';
 
-  meta = with lib; {
+  meta = {
     description = "Additional tools for Go development";
     longDescription = ''
       This package contains tools like: godoc, goimports, callgraph, digraph, stringer or toolstash.
     '';
     homepage = "https://go.googlesource.com/tools";
-    license = licenses.bsd3;
-    maintainers = with maintainers; [
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [
       SuperSandro2000
       techknowlogick
     ];
   };
-}
+})
diff --git a/pkgs/by-name/go/gotree/package.nix b/pkgs/by-name/go/gotree/package.nix
index bdefbb5badb5..724544e190c8 100644
--- a/pkgs/by-name/go/gotree/package.nix
+++ b/pkgs/by-name/go/gotree/package.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "gotree";
-  version = "1.4.1";
+  version = "1.4.3";
 
   src = fetchFromGitHub {
     owner = "elbachir-one";
     repo = "gt";
     rev = "v${version}";
-    hash = "sha256-sWKqfDWwMfj4shg/MxHu7Zr4WE5pxAzHHmsjU3jQY10=";
+    hash = "sha256-0wYuIaGkJHSD8La1yfBYNPDB8ETtID8e5lgahqQgjLM=";
   };
 
   vendorHash = null;
diff --git a/pkgs/by-name/gp/gpac/package.nix b/pkgs/by-name/gp/gpac/package.nix
index 3bbb52e5fb7a..837ea06a44ae 100644
--- a/pkgs/by-name/gp/gpac/package.nix
+++ b/pkgs/by-name/gp/gpac/package.nix
@@ -51,7 +51,6 @@ stdenv.mkDerivation rec {
     homepage = "https://gpac.wp.imt.fr";
     license = licenses.lgpl21;
     maintainers = with maintainers; [
-      bluescreen303
       mgdelacroix
     ];
     platforms = platforms.unix;
diff --git a/pkgs/by-name/gp/gpu-screen-recorder-gtk/package.nix b/pkgs/by-name/gp/gpu-screen-recorder-gtk/package.nix
index c887c7e01fbb..2376aa53ec99 100644
--- a/pkgs/by-name/gp/gpu-screen-recorder-gtk/package.nix
+++ b/pkgs/by-name/gp/gpu-screen-recorder-gtk/package.nix
@@ -24,12 +24,12 @@
 
 stdenv.mkDerivation rec {
   pname = "gpu-screen-recorder-gtk";
-  version = "5.7.0";
+  version = "5.7.3";
 
   src = fetchgit {
     url = "https://repo.dec05eba.com/${pname}";
     tag = version;
-    hash = "sha256-/s8FCV3hE7Gq1Ad6EhRNTZJwyskV+uRYvjJ43298AOw=";
+    hash = "sha256-FZIS/74qIqz3qZTOixqwqe2liIt5kKBPiVRVOFzgAs4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/gp/gpu-screen-recorder/package.nix b/pkgs/by-name/gp/gpu-screen-recorder/package.nix
index 538d9d32a7c8..5c8c6a3616e8 100644
--- a/pkgs/by-name/gp/gpu-screen-recorder/package.nix
+++ b/pkgs/by-name/gp/gpu-screen-recorder/package.nix
@@ -28,12 +28,12 @@
 
 stdenv.mkDerivation rec {
   pname = "gpu-screen-recorder";
-  version = "5.5.3";
+  version = "5.5.7";
 
   src = fetchgit {
     url = "https://repo.dec05eba.com/${pname}";
     tag = version;
-    hash = "sha256-XXSHTS/WWqGblbBLuzHSYCY5FVTDSHBHfBWubmoNSy0=";
+    hash = "sha256-NYi68hvFFRvJv9h0/NTeeuOv/FgfQtGMwP5v9lUFNr8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/gq/gql/package.nix b/pkgs/by-name/gq/gql/package.nix
index a8a37f7028dd..4267b7a8f6b3 100644
--- a/pkgs/by-name/gq/gql/package.nix
+++ b/pkgs/by-name/gq/gql/package.nix
@@ -10,17 +10,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gql";
-  version = "0.38.0";
+  version = "0.39.0";
 
   src = fetchFromGitHub {
     owner = "AmrDeveloper";
     repo = "GQL";
     rev = version;
-    hash = "sha256-/cTU+LBoXnMzNKd18nYoGkEN/cfUVQIDFBFQNrmdWuM=";
+    hash = "sha256-qV4Annd3gJzuxoXtDrhw9C8ESI1+4sdogJ5x2k/EBgc=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-4sdbTcDDvA7MYMiTKKAWg0sYnBPeVj3eBCo7HTZYkUY=";
+  cargoHash = "sha256-lQMTWUFjxcev5PTdoNmZHgZWq7wPiI9AewQjYgXitxU=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/by-name/gq/gqlgen/package.nix b/pkgs/by-name/gq/gqlgen/package.nix
index a45d38f22d3a..76e609a446a8 100644
--- a/pkgs/by-name/gq/gqlgen/package.nix
+++ b/pkgs/by-name/gq/gqlgen/package.nix
@@ -6,7 +6,7 @@
 }:
 
 let
-  version = "0.17.74";
+  version = "0.17.75";
 in
 buildGoModule {
   pname = "gqlgen";
@@ -16,10 +16,10 @@ buildGoModule {
     owner = "99designs";
     repo = "gqlgen";
     tag = "v${version}";
-    hash = "sha256-vnUsqJTurGK4pymgDHYpatQ8qW00SfJdxk+CfC/62UA=";
+    hash = "sha256-VtpD7UfrypaREUu/uon6OTi3jvSzUaj1Y0yTiUw9u0A=";
   };
 
-  vendorHash = "sha256-k0jWR8t9ZaShEYAXrJi7bUXs7uJ8/rbtHQioQd7/pf8=";
+  vendorHash = "sha256-sOiEgSGxIp4COfSQjDXv5sm/iryOcRK8MUbnvrglpbc=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/by-name/gq/gqlgenc/fix-version.patch b/pkgs/by-name/gq/gqlgenc/fix-version.patch
deleted file mode 100644
index 083660c9b2f7..000000000000
--- a/pkgs/by-name/gq/gqlgenc/fix-version.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/main.go
-+++ b/main.go
-@@ -9,7 +9,7 @@
- 	"github.com/urfave/cli/v2"
- )
- 
--const version = "0.31.0"
-+var version string
- 
- var versionCmd = &cli.Command{
- 	Name:  "version",
diff --git a/pkgs/by-name/gq/gqlgenc/package.nix b/pkgs/by-name/gq/gqlgenc/package.nix
index fdf28ea3d6db..e7fbbffdf53c 100644
--- a/pkgs/by-name/gq/gqlgenc/package.nix
+++ b/pkgs/by-name/gq/gqlgenc/package.nix
@@ -1,6 +1,7 @@
 {
   buildGoModule,
   fetchFromGitHub,
+  fetchpatch2,
   lib,
   versionCheckHook,
 }:
@@ -17,7 +18,11 @@ buildGoModule (finalAttrs: {
   };
 
   patches = [
-    ./fix-version.patch
+    (fetchpatch2 {
+      name = "fix-version.patch";
+      url = "https://github.com/Yamashou/gqlgenc/commit/aad0599a70780696a9530a7adffebfff53538695.patch?full_index=1";
+      hash = "sha256-moidhkkO/5It8kH1VlwbV+YLlMOTXKH3RyLKGCA2chw=";
+    })
   ];
 
   excludedPackages = [ "example" ];
diff --git a/pkgs/by-name/gr/grafana-alloy/package.nix b/pkgs/by-name/gr/grafana-alloy/package.nix
index 236d6ea97f4e..c7847d1ed91f 100644
--- a/pkgs/by-name/gr/grafana-alloy/package.nix
+++ b/pkgs/by-name/gr/grafana-alloy/package.nix
@@ -17,17 +17,17 @@
 
 buildGoModule rec {
   pname = "grafana-alloy";
-  version = "1.8.3";
+  version = "1.9.1";
 
   src = fetchFromGitHub {
     owner = "grafana";
     repo = "alloy";
     tag = "v${version}";
-    hash = "sha256-Uec8DnT6tZcHYchDJr5F0t5kkEjKPOKPkdbr4Rtm51c=";
+    hash = "sha256-j3zuV+a3hLgHrb1jcPav9AhQpT8WT/cP4KSZ9gJY0p4=";
   };
 
   proxyVendor = true;
-  vendorHash = "sha256-b0byafxHXnrYg2dQ0hoNvo0+jmCOJ4/hVMV8J7g7MBc=";
+  vendorHash = "sha256-bePkYhKL8yNzVgX3Can9jyC1WKFQzHoX+L3qapZ0fjQ=";
 
   nativeBuildInputs = [
     fixup-yarn-lock
@@ -70,7 +70,7 @@ buildGoModule rec {
 
   yarnOfflineCache = fetchYarnDeps {
     yarnLock = "${src}/internal/web/ui/yarn.lock";
-    hash = "sha256-gKCjJe3TVpaHm/gwaNh4zeL5k4jlbWfF94aDYQ1brU8=";
+    hash = "sha256-oCDP2XJczLXgzEjyvFEIFBanlnzjrj0So09izG5vufs=";
   };
 
   preBuild = ''
diff --git a/pkgs/by-name/gr/grafana-loki/package.nix b/pkgs/by-name/gr/grafana-loki/package.nix
index 2e854d8e18b2..3eddcbf947d8 100644
--- a/pkgs/by-name/gr/grafana-loki/package.nix
+++ b/pkgs/by-name/gr/grafana-loki/package.nix
@@ -12,14 +12,14 @@
 }:
 
 buildGoModule rec {
-  version = "3.4.3";
+  version = "3.5.1";
   pname = "grafana-loki";
 
   src = fetchFromGitHub {
     owner = "grafana";
     repo = "loki";
     rev = "v${version}";
-    hash = "sha256-1tI9X2eIKuWEWJBbN4UAw8yeRrjgfqcenJyTNMk5rqU=";
+    hash = "sha256-aDUQe4OJtrmZ9RXvNkS4lDne5fKzrzNm003ElA+IF5U=";
   };
 
   vendorHash = null;
@@ -79,7 +79,6 @@ buildGoModule rec {
     homepage = "https://grafana.com/oss/loki/";
     changelog = "https://github.com/grafana/loki/releases/tag/v${version}";
     maintainers = with lib.maintainers; [
-      willibutz
       globin
       mmahut
       emilylange
diff --git a/pkgs/by-name/gr/gramps/disable-gtk-warning-dialog.patch b/pkgs/by-name/gr/gramps/disable-gtk-warning-dialog.patch
index c97fe9dde9f4..5d07253de264 100644
--- a/pkgs/by-name/gr/gramps/disable-gtk-warning-dialog.patch
+++ b/pkgs/by-name/gr/gramps/disable-gtk-warning-dialog.patch
@@ -1,14 +1,13 @@
 diff --git a/gramps/gui/grampsgui.py b/gramps/gui/grampsgui.py
-index 0c0d4c3..522f65a 100644
+index 26ef1a2..217e2a6 100644
 --- a/gramps/gui/grampsgui.py
 +++ b/gramps/gui/grampsgui.py
-@@ -573,9 +573,6 @@ class Gramps:
-         dbstate = DbState()
-         self._vm = ViewManager(app, dbstate, config.get("interface.view-categories"))
+@@ -575,7 +575,7 @@ class Gramps:
  
--        if lin() and glocale.lang != "C" and not gettext.find(GTK_GETTEXT_DOMAIN):
--            _display_gtk_gettext_message(parent=self._vm.window)
--
-         _display_translator_message(parent=self._vm.window)
- 
-         self._vm.init_interface()
+         if (
+             lin()
+-            and "SNAP" not in os.environ
++            and False
+             and glocale.lang != "C"
+             and not gettext.find(GTK_GETTEXT_DOMAIN)
+         ):
diff --git a/pkgs/by-name/gr/gramps/package.nix b/pkgs/by-name/gr/gramps/package.nix
index 7972d9ec2ae3..657b11d017bb 100644
--- a/pkgs/by-name/gr/gramps/package.nix
+++ b/pkgs/by-name/gr/gramps/package.nix
@@ -22,21 +22,16 @@
   ghostscript,
 }:
 
-let
-  inherit (python3Packages) buildPythonApplication pythonOlder;
-in
-buildPythonApplication rec {
-  version = "5.2.4";
+python3Packages.buildPythonApplication rec {
+  version = "6.0.2";
   pname = "gramps";
   pyproject = true;
 
-  disabled = pythonOlder "3.8";
-
   src = fetchFromGitHub {
     owner = "gramps-project";
     repo = "gramps";
     tag = "v${version}";
-    hash = "sha256-Jue5V4pzfd1MaZwEhkGam+MhNjaisio7byMBPgGmiFg=";
+    hash = "sha256-ivOa45NNw6h+QxPvN+2fOoQOU6t+HYslR4t9vA+xTic=";
   };
 
   patches = [
@@ -46,12 +41,23 @@ buildPythonApplication rec {
     ./disable-gtk-warning-dialog.patch
   ];
 
+  build-system = [
+    python3Packages.setuptools
+  ];
+
+  dependencies = with python3Packages; [
+    berkeleydb
+    orjson
+    pyicu
+    pygobject3
+    pycairo
+  ];
+
   nativeBuildInputs = [
     wrapGAppsHook3
     intltool
     gettext
     gobject-introspection
-    python3Packages.setuptools
   ];
 
   nativeCheckInputs =
@@ -83,13 +89,6 @@ buildPythonApplication rec {
     # Ghostscript support
     ++ lib.optional enableGhostscript ghostscript;
 
-  propagatedBuildInputs = with python3Packages; [
-    berkeleydb
-    pyicu
-    pygobject3
-    pycairo
-  ];
-
   preCheck = ''
     export HOME=$(mktemp -d)
     mkdir .git # Make gramps think that it's not in an installed state
diff --git a/pkgs/by-name/gr/graphite-cli/package-lock.json b/pkgs/by-name/gr/graphite-cli/package-lock.json
index 99209616e9bc..b967b6262200 100644
--- a/pkgs/by-name/gr/graphite-cli/package-lock.json
+++ b/pkgs/by-name/gr/graphite-cli/package-lock.json
@@ -1,12 +1,12 @@
 {
   "name": "@withgraphite/graphite-cli",
-  "version": "1.6.2",
+  "version": "1.6.4",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "@withgraphite/graphite-cli",
-      "version": "1.6.2",
+      "version": "1.6.4",
       "hasInstallScript": true,
       "license": "None",
       "dependencies": {
diff --git a/pkgs/by-name/gr/graphite-cli/package.nix b/pkgs/by-name/gr/graphite-cli/package.nix
index f68a6994ebb0..f91780ad5067 100644
--- a/pkgs/by-name/gr/graphite-cli/package.nix
+++ b/pkgs/by-name/gr/graphite-cli/package.nix
@@ -8,14 +8,14 @@
 
 buildNpmPackage rec {
   pname = "graphite-cli";
-  version = "1.6.2";
+  version = "1.6.4";
 
   src = fetchurl {
     url = "https://registry.npmjs.org/@withgraphite/graphite-cli/-/graphite-cli-${version}.tgz";
-    hash = "sha256-k8zZyzLXQkII87QXjoXYlcQPj09PcMCuNy2NFPT2tHY=";
+    hash = "sha256-NxqqYghE9QNbO8VdBH4MsUomeRUvYNRijQMqrlE7/II=";
   };
 
-  npmDepsHash = "sha256-HSiitFpXcIWkE/t0LtuDH9Z4fDgyFWc0/gdIsuvVq9I=";
+  npmDepsHash = "sha256-LDSn5lIEHRyYyicP6b7/CTs5VivzcspeCUQzR+BqrS0=";
 
   postPatch = ''
     ln -s ${./package-lock.json} package-lock.json
diff --git a/pkgs/by-name/gr/graphite-gtk-theme/package.nix b/pkgs/by-name/gr/graphite-gtk-theme/package.nix
index 1cfef4fcfaaf..9545941f2568 100644
--- a/pkgs/by-name/gr/graphite-gtk-theme/package.nix
+++ b/pkgs/by-name/gr/graphite-gtk-theme/package.nix
@@ -66,7 +66,7 @@ lib.checkListOfEnum "${pname}: theme variants"
 
     src = fetchFromGitHub {
       owner = "vinceliuice";
-      repo = pname;
+      repo = "graphite-gtk-theme";
       rev = version;
       hash = "sha256-k93l/7DF0HSKPfiIxzBLz0mBflgbdYJyGLEmWZx3q7o=";
     };
diff --git a/pkgs/by-name/gr/grayjay/deps.json b/pkgs/by-name/gr/grayjay/deps.json
index 37e2160290d4..67803505fa51 100644
--- a/pkgs/by-name/gr/grayjay/deps.json
+++ b/pkgs/by-name/gr/grayjay/deps.json
@@ -44,16 +44,6 @@
     "version": "1.0.20",
     "hash": "sha256-BsitQQnUSm1YupzI5N/LFx0kPFdk1FP8VdM1S3uttvs="
   },
-  {
-    "pname": "Microsoft.AspNetCore.App.Ref",
-    "version": "8.0.16",
-    "hash": "sha256-nV9G5UWIh4A/4vsgmARABY9lM2nzpWevsETKuHfhz9o="
-  },
-  {
-    "pname": "Microsoft.AspNetCore.App.Runtime.linux-x64",
-    "version": "8.0.16",
-    "hash": "sha256-QcnhPjQNVZGAyh5O74sV94u3DHCQDHjg5U2CXrTykw4="
-  },
   {
     "pname": "Microsoft.ClearScript.Core",
     "version": "7.4.5",
@@ -134,21 +124,6 @@
     "version": "17.6.0",
     "hash": "sha256-pogseJyMGIikTZORsDXKwyAhRPTkxiOAAV+ceR6/3K4="
   },
-  {
-    "pname": "Microsoft.NETCore.App.Host.linux-x64",
-    "version": "8.0.16",
-    "hash": "sha256-j1xxV7RXTrmmqHEaEXtPAz2FQoQiK7RO7a7GRwKCW90="
-  },
-  {
-    "pname": "Microsoft.NETCore.App.Ref",
-    "version": "8.0.16",
-    "hash": "sha256-ARNf4NsLtYpChsiMv015znXluW7EDWnnw+32I1lu7zU="
-  },
-  {
-    "pname": "Microsoft.NETCore.App.Runtime.linux-x64",
-    "version": "8.0.16",
-    "hash": "sha256-rDkCCwXkHMDQAQj33BDPitTucHYPx3V85kE9L+CwSRA="
-  },
   {
     "pname": "Microsoft.NETCore.Platforms",
     "version": "1.1.0",
diff --git a/pkgs/by-name/gr/grayjay/package.nix b/pkgs/by-name/gr/grayjay/package.nix
index c29973c50aa1..60a911934d4f 100644
--- a/pkgs/by-name/gr/grayjay/package.nix
+++ b/pkgs/by-name/gr/grayjay/package.nix
@@ -114,7 +114,16 @@ buildDotnetModule (finalAttrs: {
 
   nugetDeps = ./deps.json;
 
-  dotnet-sdk = dotnetCorePackages.sdk_9_0;
+  dotnet-sdk = dotnetCorePackages.sdk_9_0 // {
+    inherit
+      (dotnetCorePackages.combinePackages [
+        dotnetCorePackages.sdk_9_0
+        dotnetCorePackages.sdk_8_0
+      ])
+      packages
+      targetPackages
+      ;
+  };
   dotnet-runtime = dotnetCorePackages.aspnetcore_9_0;
 
   executables = [ "Grayjay" ];
diff --git a/pkgs/by-name/gr/greenmask/package.nix b/pkgs/by-name/gr/greenmask/package.nix
index 48daf3df6d10..c3574cde1a4f 100644
--- a/pkgs/by-name/gr/greenmask/package.nix
+++ b/pkgs/by-name/gr/greenmask/package.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "greenmask";
-  version = "0.2.11";
+  version = "0.2.12";
 
   src = fetchFromGitHub {
     owner = "GreenmaskIO";
     repo = "greenmask";
     tag = "v${version}";
-    hash = "sha256-KHM/r4zDJrZMIC7+Kp+98xhV5r4zkpxc1ffqf0jgnLs=";
+    hash = "sha256-Tgr6olU8EBiiHX4fNOL6EXdrFs2eckFk4ooBBoxc+ms=";
   };
 
-  vendorHash = "sha256-g3/WuLDb4mAzklT+nxQ1U/l+JDzSubENMB5hWjIaIIU=";
+  vendorHash = "sha256-t2U65GAGBGdMRXPTkCQCuXfLuqohA6erTlvAN/xx/ek=";
 
   subPackages = [ "cmd/greenmask/" ];
 
diff --git a/pkgs/by-name/gr/gretl/package.nix b/pkgs/by-name/gr/gretl/package.nix
index 2f811e9e4e5d..17ce63306bd2 100644
--- a/pkgs/by-name/gr/gretl/package.nix
+++ b/pkgs/by-name/gr/gretl/package.nix
@@ -20,11 +20,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "gretl";
-  version = "2025a";
+  version = "2025b";
 
   src = fetchurl {
     url = "mirror://sourceforge/gretl/gretl-${finalAttrs.version}.tar.xz";
-    hash = "sha256-5B9V1Z12+Hu00x++u2ndUXWq91k/SXy723DoLOefhEQ=";
+    hash = "sha256-DW0QXWbx0nMWTfjxO15ZGR/DsvFM7eee0DDsqrm5vHM=";
   };
 
   buildInputs = [
diff --git a/pkgs/by-name/gr/grilo/package.nix b/pkgs/by-name/gr/grilo/package.nix
index 8b04f025f60b..20334e4cda1b 100644
--- a/pkgs/by-name/gr/grilo/package.nix
+++ b/pkgs/by-name/gr/grilo/package.nix
@@ -24,7 +24,7 @@
 
 stdenv.mkDerivation rec {
   pname = "grilo";
-  version = "0.3.16"; # if you change minor, also change ./setup-hook.sh
+  version = "0.3.19"; # if you change minor, also change ./setup-hook.sh
 
   outputs = [
     "out"
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "iEWA6MXs4oDfI6pj/1I0t9SJiKQE331r/M0ed7RzvZY=";
+    sha256 = "CGnIHRmrE5xmfXlWfBTdy2y1y/wBCNBMreKH6ylTZwY=";
   };
 
   mesonFlags = [
diff --git a/pkgs/by-name/gr/grimblast/package.nix b/pkgs/by-name/gr/grimblast/package.nix
index 51f533ccc4f3..108aa2a2633a 100644
--- a/pkgs/by-name/gr/grimblast/package.nix
+++ b/pkgs/by-name/gr/grimblast/package.nix
@@ -18,13 +18,13 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "grimblast";
-  version = "0.1-unstable-2025-05-18";
+  version = "0.1-unstable-2025-06-14";
 
   src = fetchFromGitHub {
     owner = "hyprwm";
     repo = "contrib";
-    rev = "910dad4c5755c1735d30da10c96d9086aa2a608d";
-    hash = "sha256-PMQoXbfmWPuXnF8EaWqRmvTvl7+WFUrDVgufFRPgOM4=";
+    rev = "9d4963e7394485ba4735779519c59275901de6ab";
+    hash = "sha256-nlmU6lpm8zGe6EnexauHr9Y/4AknE4j+ATcyjIsO1jw=";
   };
 
   strictDeps = true;
diff --git a/pkgs/by-name/gr/groonga/package.nix b/pkgs/by-name/gr/groonga/package.nix
index 1a7469909017..3f7442292250 100644
--- a/pkgs/by-name/gr/groonga/package.nix
+++ b/pkgs/by-name/gr/groonga/package.nix
@@ -23,11 +23,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "groonga";
-  version = "15.0.4";
+  version = "15.1.1";
 
   src = fetchurl {
     url = "https://packages.groonga.org/source/groonga/groonga-${finalAttrs.version}.tar.gz";
-    hash = "sha256-ESPUEBpV6hg8KQeSzjklPgf4R0DlYdpwxp9M6YdTV/Q=";
+    hash = "sha256-KxUTKUjqfNfpyOcm0uLTkPmSfvvBRTbgvqmS4F248HA=";
   };
 
   patches = [
diff --git a/pkgs/by-name/gr/groovy/package.nix b/pkgs/by-name/gr/groovy/package.nix
index a75050a2ae49..13ef94b916f3 100644
--- a/pkgs/by-name/gr/groovy/package.nix
+++ b/pkgs/by-name/gr/groovy/package.nix
@@ -15,11 +15,11 @@
 
 stdenv.mkDerivation rec {
   pname = "groovy";
-  version = "4.0.26";
+  version = "4.0.27";
 
   src = fetchurl {
     url = "mirror://apache/groovy/${version}/distribution/apache-groovy-binary-${version}.zip";
-    sha256 = "sha256-O+aIDG3nDq2i8/XGnh6UlT4LDE4zxGBMEEDQXd3q7ZI=";
+    sha256 = "sha256-vJF8i7AbKDLxJKe9Y6PHK6XoPvfwVmUN/ZoveUSWBoU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/gr/grpc_cli/package.nix b/pkgs/by-name/gr/grpc_cli/package.nix
index 27f522f8237f..bdc856d01421 100644
--- a/pkgs/by-name/gr/grpc_cli/package.nix
+++ b/pkgs/by-name/gr/grpc_cli/package.nix
@@ -11,12 +11,12 @@
 
 stdenv.mkDerivation rec {
   pname = "grpc_cli";
-  version = "1.72.0";
+  version = "1.73.0";
   src = fetchFromGitHub {
     owner = "grpc";
     repo = "grpc";
     rev = "v${version}";
-    hash = "sha256-3ZFQ59zoxNlS5tdm5Bt8EyKyp+9HEpYvLlWarErIR6g=";
+    hash = "sha256-/7xbLCEetpVf4WmS42qChAYnFzoeiCmHagXumW5oIjA=";
     fetchSubmodules = true;
   };
   nativeBuildInputs = [
diff --git a/pkgs/by-name/gt/gtk-layer-shell/package.nix b/pkgs/by-name/gt/gtk-layer-shell/package.nix
index 195c4a56f236..9cbdfadfd35f 100644
--- a/pkgs/by-name/gt/gtk-layer-shell/package.nix
+++ b/pkgs/by-name/gt/gtk-layer-shell/package.nix
@@ -17,7 +17,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "gtk-layer-shell";
-  version = "0.9.1";
+  version = "0.9.2";
 
   outputs = [
     "out"
@@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "wmww";
     repo = "gtk-layer-shell";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-TObAo/YgS6ObYrNLitxMwneGzLxwnnBIOhBVAeAzbt4=";
+    hash = "sha256-+vJouQEauTe/dp2WdOJcc2Byv1+Hb0iaUgwBPnV9g48=";
   };
 
   strictDeps = true;
diff --git a/pkgs/by-name/gt/gtk-mac-integration/package.nix b/pkgs/by-name/gt/gtk-mac-integration/package.nix
index d2d56bec0da0..b999d13ab46d 100644
--- a/pkgs/by-name/gt/gtk-mac-integration/package.nix
+++ b/pkgs/by-name/gt/gtk-mac-integration/package.nix
@@ -18,8 +18,8 @@ stdenv.mkDerivation rec {
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "GNOME";
-    repo = pname;
-    rev = "${pname}-${version}";
+    repo = "gtk-mac-integration";
+    rev = "gtk-mac-integration-${version}";
     sha256 = "0sc0m3p8r5xfh5i4d7dg72kfixx9yi4f800y43bszyr88y52jkga";
   };
 
diff --git a/pkgs/by-name/gt/gtkdialog/package.nix b/pkgs/by-name/gt/gtkdialog/package.nix
index 4de4f9929fb9..8a9ae323a2e7 100644
--- a/pkgs/by-name/gt/gtkdialog/package.nix
+++ b/pkgs/by-name/gt/gtkdialog/package.nix
@@ -1,38 +1,57 @@
 {
   lib,
   stdenv,
-  fetchurl,
-  fetchpatch,
-  gtk2,
+  fetchFromGitHub,
+  bison,
+  flex,
+  gtk3,
+  gtk-layer-shell,
+  meson,
+  ninja,
   pkg-config,
+  vte,
+  wrapGAppsHook3,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "gtkdialog";
-  version = "0.8.3";
+  version = "0.8.5e";
 
-  src = fetchurl {
-    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "ff89d2d7f1e6488e5df5f895716ac1d4198c2467a2a5dc1f51ab408a2faec38e";
+  src = fetchFromGitHub {
+    owner = "puppylinux-woof-CE";
+    repo = "gtkdialog";
+    tag = finalAttrs.version;
+    hash = "sha256-VaKyR7KJOAHzZ3YrTVDN7DssRNQeWhZExiY79eEZNP4=";
   };
-  patches = [
-    # Pull Gentoo patch for -fno-common toolchain fix.
-    (fetchpatch {
-      name = "fno-common.patch";
-      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/x11-misc/gtkdialog/files/gtkdialog-0.8.3-fno-common.patch?id=98692e4c4ad494b88c4902ca1ab3e6541190bbe8";
-      sha256 = "1mh01krzpfy7lbbqx3xm71xsiqqgg67w4snv794wspfqkk2hicvz";
-    })
+
+  nativeBuildInputs = [
+    bison
+    flex
+    meson
+    ninja
+    pkg-config
+    wrapGAppsHook3
   ];
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ gtk2 ];
+  buildInputs = [
+    gtk3
+    gtk-layer-shell
+    vte
+  ];
+
+  mesonFlags = [ (lib.mesonBool "docs" true) ];
+
+  # make it a little bit easier to run examples
+  postInstall = ''
+    find $out/share/doc/examples -type f -exec sed -i "s|GTKDIALOG=gtkdialog|GTKDIALOG=$out/bin/gtkdialog|g" {} +
+  '';
 
   meta = {
-    homepage = "https://code.google.com/archive/p/gtkdialog/";
-    # community links: http://murga-linux.com/puppy/viewtopic.php?t=111923 -> https://github.com/01micko/gtkdialog
+    homepage = "https://github.com/puppylinux-woof-CE/gtkdialog";
     description = "Small utility for fast and easy GUI building from many scripted and compiled languages";
     mainProgram = "gtkdialog";
+    maintainers = with lib.maintainers; [ aleksana ];
     license = lib.licenses.gpl2Plus;
-    platforms = lib.platforms.linux;
+    platforms = lib.platforms.unix;
   };
-}
+})
diff --git a/pkgs/by-name/gt/gtkextra/package.nix b/pkgs/by-name/gt/gtkextra/package.nix
deleted file mode 100644
index cdaa88e98161..000000000000
--- a/pkgs/by-name/gt/gtkextra/package.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-{
-  stdenv,
-  lib,
-  fetchurl,
-  pkg-config,
-  gobject-introspection,
-  file,
-  gtk2,
-  glib,
-  cairo,
-  atk,
-  pango,
-  libtiff,
-  libpng,
-  libjpeg,
-}:
-
-stdenv.mkDerivation rec {
-  pname = "gtkextra";
-  version = "3.3.4";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/project/gtkextra/${lib.versions.majorMinor version}/${pname}-${version}.tar.gz";
-    sha256 = "1mpihbyzhv3ymfim93l9xnxmzhwyqdba5xb4rdn5vggdg25766v5";
-  };
-
-  postPatch = ''
-    substituteInPlace configure \
-      --replace "/usr/bin/file" "${file}/bin/file"
-  '';
-
-  nativeBuildInputs = [
-    gobject-introspection
-    pkg-config
-  ];
-
-  buildInputs = [
-    gtk2
-    glib
-    cairo
-    atk
-    pango
-    libtiff
-    libpng
-    libjpeg
-  ];
-
-  meta = with lib; {
-    homepage = "https://gtkextra.sourceforge.net/";
-    description = "GtkExtra is a useful set of widgets for creating GUI's for GTK+";
-    license = licenses.lgpl2Plus;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ tesq0 ];
-  };
-}
diff --git a/pkgs/by-name/gt/gtklock-powerbar-module/package.nix b/pkgs/by-name/gt/gtklock-powerbar-module/package.nix
index 9be823146038..db251f1a0293 100644
--- a/pkgs/by-name/gt/gtklock-powerbar-module/package.nix
+++ b/pkgs/by-name/gt/gtklock-powerbar-module/package.nix
@@ -7,6 +7,7 @@
   pkg-config,
   gtk3,
   gtklock,
+  systemd,
 }:
 
 stdenv.mkDerivation (finalAttrs: {
@@ -28,6 +29,17 @@ stdenv.mkDerivation (finalAttrs: {
 
   buildInputs = [ gtk3 ];
 
+  postPatch =
+    let
+      systemctl = lib.getExe' systemd "systemctl";
+    in
+    ''
+      substituteInPlace source.c \
+        --replace-fail '"systemctl reboot"' '"${systemctl} reboot"' \
+        --replace-fail '"systemctl -i poweroff"' '"${systemctl} -i poweroff"' \
+        --replace-fail '"systemctl suspend"' '"${systemctl} suspend"'
+    '';
+
   passthru.tests.testModule = gtklock.testModule finalAttrs.finalPackage;
 
   meta = {
diff --git a/pkgs/by-name/gt/gtklock-virtkb-module/package.nix b/pkgs/by-name/gt/gtklock-virtkb-module/package.nix
new file mode 100644
index 000000000000..3ef7add9f382
--- /dev/null
+++ b/pkgs/by-name/gt/gtklock-virtkb-module/package.nix
@@ -0,0 +1,40 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  pkg-config,
+  gtk3,
+  gtklock,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "gtklock-virtkb-module";
+  version = "0-unstable-2025-02-27";
+
+  src = fetchFromGitHub {
+    owner = "progandy";
+    repo = "gtklock-virtkb-module";
+    rev = "a11c2d8f14a79f271b02711b38220f927bc7fdf8";
+    hash = "sha256-+kEv5SlMINCORQQOOZ4Lb1dSJXLCbX2oAsD6NTbuhdE=";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    gtk3
+  ];
+
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
+
+  passthru.tests.testModule = gtklock.passthru.testModule finalAttrs.finalPackage;
+
+  meta = {
+    description = "Gtklock module adding a keyboard to the lockscreen";
+    homepage = "https://github.com/progandy/gtklock-virtkb-module";
+    license = lib.licenses.gpl3Only;
+    maintainers = with lib.maintainers; [ aleksana ];
+    platforms = lib.platforms.linux;
+  };
+})
diff --git a/pkgs/by-name/gu/gum/package.nix b/pkgs/by-name/gu/gum/package.nix
index 934638da0d6e..98f1081542ed 100644
--- a/pkgs/by-name/gu/gum/package.nix
+++ b/pkgs/by-name/gu/gum/package.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "gum";
-  version = "0.16.0";
+  version = "0.16.1";
 
   src = fetchFromGitHub {
     owner = "charmbracelet";
     repo = "gum";
     rev = "v${version}";
-    hash = "sha256-77102I7pOGfpPBSGelsA/9GJYos05akF0kdmr522RC0=";
+    hash = "sha256-3tn126Ars64ZhOY68aCrE7j14YDVGmllbHvYMHAgLR0=";
   };
 
-  vendorHash = "sha256-wrl4Zo5NSaTTMrc95Fs9cevG7ITJtHuV3pGkFd8jpxU=";
+  vendorHash = "sha256-SsnULG12NjyetLhL7vYjjpDI8vqqdeSyoZj0U3KP/nI=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/by-name/ha/hacompanion/package.nix b/pkgs/by-name/ha/hacompanion/package.nix
index 327d54960ba0..9ec01b8dee44 100644
--- a/pkgs/by-name/ha/hacompanion/package.nix
+++ b/pkgs/by-name/ha/hacompanion/package.nix
@@ -2,6 +2,7 @@
   lib,
   fetchFromGitHub,
   buildGoModule,
+  nix-update-script,
 }:
 
 buildGoModule rec {
@@ -17,6 +18,8 @@ buildGoModule rec {
 
   vendorHash = "sha256-y2eSuMCDZTGdCs70zYdA8NKbuPPN5xmnRfMNK+AE/q8=";
 
+  passthru.updateScript = nix-update-script { };
+
   meta = {
     changelog = "https://github.com/tobias-kuendig/hacompanion/releases/tag/v${version}";
     description = "Daemon that sends local hardware information to Home Assistant";
diff --git a/pkgs/by-name/ha/halo/package.nix b/pkgs/by-name/ha/halo/package.nix
index a5b3fbd54375..e6250f0011e3 100644
--- a/pkgs/by-name/ha/halo/package.nix
+++ b/pkgs/by-name/ha/halo/package.nix
@@ -8,10 +8,10 @@
 }:
 stdenv.mkDerivation rec {
   pname = "halo";
-  version = "2.20.21";
+  version = "2.21.0";
   src = fetchurl {
     url = "https://github.com/halo-dev/halo/releases/download/v${version}/halo-${version}.jar";
-    hash = "sha256-hUR5zG6jr8u8pFaGcZJs8MFv+WBMm1oDo6zGaS4Y7BI=";
+    hash = "sha256-taEaHhPy/jR2ThY9Qk+cded3+LyZSNnrytWh8G5zqVE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/ha/hamrs-pro/package.nix b/pkgs/by-name/ha/hamrs-pro/package.nix
index 009cc7cc193e..7a5892872064 100644
--- a/pkgs/by-name/ha/hamrs-pro/package.nix
+++ b/pkgs/by-name/ha/hamrs-pro/package.nix
@@ -8,29 +8,29 @@
 
 let
   pname = "hamrs-pro";
-  version = "2.38.0";
+  version = "2.39.0";
 
   throwSystem = throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}";
 
   srcs = {
     x86_64-linux = fetchurl {
       url = "https://hamrs-dist.s3.amazonaws.com/hamrs-pro-${version}-linux-x86_64.AppImage";
-      hash = "sha256-G9zap1AaPZepIajZHbUDMODJ7l+7JSD8oJq7EecmE+M=";
+      hash = "sha256-cLjsJlSfwmpzB7Ef/oSMbrRr4PEklpnOHouiAs/X0Gg=";
     };
 
     aarch64-linux = fetchurl {
       url = "https://hamrs-dist.s3.amazonaws.com/hamrs-pro-${version}-linux-arm64.AppImage";
-      hash = "sha256-eVt2ciWFTKJdV0YoQyU98DD90aMUoOWTqzbZ/s0G+0E=";
+      hash = "sha256-MisWOfSpeh48W9/3+lZVYzDoU2ZvGb8sMmLE1qfStSo=";
     };
 
     x86_64-darwin = fetchurl {
       url = "https://hamrs-dist.s3.amazonaws.com/hamrs-pro-${version}-mac-x64.dmg";
-      hash = "sha256-ggWnB5QcJM9bsOyyVe9dSvOU63hr8heWQTE6ncPgriU=";
+      hash = "sha256-lThk5DRva93/IxfCfr3f3VKUCaLnrAH7L/I1BBc0whE=";
     };
 
     aarch64-darwin = fetchurl {
       url = "https://hamrs-dist.s3.amazonaws.com/hamrs-pro-${version}-mac-arm64.dmg";
-      hash = "sha256-s8Ly1UYBy0EzUCKUCJxx1PcxVQe2gkeuXDudqnSuYjE=";
+      hash = "sha256-xZqC0enG/b7LSE8OzhVWPR1Rz50gjaAWDxT6UFdO3Wc=";
     };
   };
 
diff --git a/pkgs/by-name/ha/handbrake/package.nix b/pkgs/by-name/ha/handbrake/package.nix
index 679c110e9044..f8c121d7ab92 100644
--- a/pkgs/by-name/ha/handbrake/package.nix
+++ b/pkgs/by-name/ha/handbrake/package.nix
@@ -15,6 +15,7 @@
   testers,
   runCommand,
   fetchurl,
+  fetchpatch2,
   # Main build tools
   pkg-config,
   autoconf,
@@ -183,6 +184,15 @@ let
     pname = "handbrake";
     inherit version src;
 
+    patches = [
+      (fetchpatch2 {
+        # fixes build against ffmpeg 7.1.1+; remove for handbrake > 1.9.2.
+        # https://github.com/HandBrake/HandBrake/pull/6657
+        url = "https://github.com/HandBrake/HandBrake/commit/75f9c84c140c8841cfe1324ef59452025899ad8b.patch?full_index=1";
+        hash = "sha256-glUyCttS2S/G+bSgIAB4nggECe0iEJIsUyr0RkAKEbE=";
+      })
+    ];
+
     postPatch =
       ''
         install -Dm444 ${versionFile} ${versionFile.name}
diff --git a/pkgs/by-name/ha/handlr-regex/package.nix b/pkgs/by-name/ha/handlr-regex/package.nix
index 9d125e0d7c9d..8ceafd3169f7 100644
--- a/pkgs/by-name/ha/handlr-regex/package.nix
+++ b/pkgs/by-name/ha/handlr-regex/package.nix
@@ -11,17 +11,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "handlr-regex";
-  version = "0.12.1";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = "Anomalocaridid";
     repo = "handlr-regex";
     rev = "v${version}";
-    hash = "sha256-ZQAUqR0u+2kBLGyeT7qTcfwF87LY2qRClZ0T3WH78+w=";
+    hash = "sha256-7psjlu0qyoZYTVwq2JYJJkB76ejlmMtmstDw+liMcj8=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-mTb4K2/JNoo1A7AyYapgOhz4oOgJrWftdyDnWh4Bgto=";
+  cargoHash = "sha256-a91WaIFBS9Rh4T/dwpLQJMoE604Tj0mVN38RKmNcZU0=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/by-name/ha/harbor-cli/package.nix b/pkgs/by-name/ha/harbor-cli/package.nix
index 3497f561e4d1..2aa369b8ea19 100644
--- a/pkgs/by-name/ha/harbor-cli/package.nix
+++ b/pkgs/by-name/ha/harbor-cli/package.nix
@@ -10,13 +10,13 @@
 
 buildGoModule (finalAttrs: {
   pname = "harbor-cli";
-  version = "0.0.6";
+  version = "0.0.7";
 
   src = fetchFromGitHub {
     owner = "goharbor";
     repo = "harbor-cli";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-Q2EFtkRGi/CwDYc2nERNXzRQNGKHAgYty2uigbOEo6E=";
+    hash = "sha256-ju0/6fAcCYZAfuDklRIEWqnM39z1BQeEx1H1l/Uzyf4=";
   };
 
   vendorHash = "sha256-3H/fdqmIRLOl0m4DHnF7pwRR7ud8YXI2fepXC0kcLNo=";
diff --git a/pkgs/by-name/ha/hardinfo2/default-no-theme.patch b/pkgs/by-name/ha/hardinfo2/default-no-theme.patch
new file mode 100644
index 000000000000..14ec8807e853
--- /dev/null
+++ b/pkgs/by-name/ha/hardinfo2/default-no-theme.patch
@@ -0,0 +1,13 @@
+diff --git a/shell/shell.c b/shell/shell.c
+index 76523e9a..dbfe2d16 100644
+--- a/shell/shell.c
++++ b/shell/shell.c
+@@ -620,7 +620,7 @@ static void create_window(void)
+     gchar *conf_path = g_build_filename(g_get_user_config_dir(), "hardinfo2","settings.ini", NULL);
+     g_key_file_load_from_file(key_file, conf_path, G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS, NULL);
+     params.theme = g_key_file_get_integer(key_file, "Theme", "ThemeNumber", NULL);
+-    if(params.theme==0) params.theme=1;
++    if(params.theme==0) params.theme=-1; //default to no theme
+     if(params.theme<-1) params.theme=-1;
+     if(params.theme>6) params.theme=-1;
+ 
diff --git a/pkgs/by-name/ha/hardinfo2/package.nix b/pkgs/by-name/ha/hardinfo2/package.nix
index 44385da328b3..63c8658cdc9f 100644
--- a/pkgs/by-name/ha/hardinfo2/package.nix
+++ b/pkgs/by-name/ha/hardinfo2/package.nix
@@ -4,14 +4,18 @@
   fetchFromGitHub,
 
   cmake,
+  glslang,
   pkg-config,
   libsForQt5,
+  makeWrapper,
   wrapGAppsHook4,
 
+  cups,
   gtk3,
   json-glib,
   lerc,
   libdatrie,
+  libdecor,
   libepoxy,
   libnghttp2,
   libpsl,
@@ -21,46 +25,69 @@
   libsysprof-capture,
   libthai,
   libxkbcommon,
+  libXdmcp,
+  libXtst,
   pcre2,
   sqlite,
   util-linux,
-  libXdmcp,
-  libXtst,
-  mesa-demos,
-  makeWrapper,
+  vulkan-headers,
+  wayland,
+
+  # runtime
   dmidecode,
+  gawk,
+  iperf,
+  mesa-demos,
+  sysbench,
+  udisks,
+  vulkan-tools,
+  xdg-utils,
+  xrandr,
+
+  nix-update-script,
+
+  printingSupport ? true,
 }:
 
-stdenv.mkDerivation (finalAtrs: {
+stdenv.mkDerivation (finalAttrs: {
   pname = "hardinfo2";
-  version = "2.2.10";
+  version = "2.2.13";
 
   src = fetchFromGitHub {
     owner = "hardinfo2";
     repo = "hardinfo2";
-    tag = "release-${finalAtrs.version}";
-    hash = "sha256-Ea1uhzAQEn8oDvWslGzrqoI2yzVDGxwTqbthfKEkYyQ=";
+    tag = "release-${finalAttrs.version}";
+    hash = "sha256-HRP8xjiwhlNHjW4D8y74Pshpn7bksmN5j4jhfF6KOYo=";
   };
 
+  patches = [
+    ./remove-update.patch
+    ./default-no-theme.patch
+  ];
+
+  # fix absolute path for xdg-open
+  postPatch = ''
+    substituteInPlace deps/sysobj_early/gui/uri_handler.c \
+      --replace-fail /usr/bin/xdg-open "${lib.getExe' xdg-utils "xdg-open"}"
+  '';
+
   nativeBuildInputs = [
     cmake
     pkg-config
+
+    glslang
+
     wrapGAppsHook4
     libsForQt5.wrapQtAppsHook
     makeWrapper
   ];
 
-  preFixup = ''
-    makeWrapperArgs+=("''${qtWrapperArgs[@]}")
-  '';
-
-  dontWrapQtApps = true;
-
   buildInputs = [
     gtk3
     json-glib
     lerc
     libdatrie
+    libdecor
     libepoxy
     libnghttp2
     libpsl
@@ -75,6 +102,8 @@ stdenv.mkDerivation (finalAtrs: {
     util-linux
     libXdmcp
     libXtst
+    vulkan-headers
+    wayland
   ];
 
   hardeningDisable = [ "fortify" ];
@@ -84,20 +113,56 @@ stdenv.mkDerivation (finalAtrs: {
     (lib.cmakeFeature "CMAKE_INSTALL_SERVICEDIR" "${placeholder "out"}/lib")
   ];
 
-  postFixup = ''
-    wrapProgram $out/bin/hardinfo2 \
-      --prefix PATH : "${dmidecode}/bin:${mesa-demos}/bin"
+  dontWrapQtApps = true;
+  preFixup = ''
+    makeWrapperArgs+=("''${qtWrapperArgs[@]}")
   '';
 
+  runtimeDeps = [
+    # system stats
+    dmidecode
+    mesa-demos # glxinfo + vkgears for benchmark
+
+    # display info
+    vulkan-tools # vulkaninfo
+    xrandr
+
+    # additional tooling for benchmarks
+    # https://github.com/hardinfo2/hardinfo2/blob/release-2.2.13/shell/shell.c#L641-L652
+    gawk
+    iperf
+    sysbench
+    udisks
+  ];
+
+  runtimeLibs = lib.optionals printingSupport [ cups ];
+
+  postFixup = ''
+    wrapProgram $out/bin/hardinfo2 \
+      --prefix PATH : ${lib.makeBinPath finalAttrs.runtimeDeps} \
+      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath finalAttrs.runtimeLibs}
+
+      substituteInPlace $out/lib/systemd/system/hardinfo2.service \
+        --replace-fail "ExecStart=/usr/bin/hwinfo2_fetch_sysdata" "ExecStart=$out/hwinfo2_fetch_sysdata"
+  '';
+
+  # account for tags having a release- prefix
+  passthru.updateScript = nix-update-script { extraArgs = [ "--version-regex=release-(.*)" ]; };
+
   meta = {
-    homepage = "http://www.hardinfo2.org";
     description = "System information and benchmarks for Linux systems";
+    homepage = "http://www.hardinfo2.org/";
+    downloadPage = "https://github.com/hardinfo2/hardinfo2/";
+    changelog = "https://github.com/hardinfo2/hardinfo2/releases/tag/release-${finalAttrs.version}";
     license = with lib.licenses; [
       gpl2Plus
       gpl3Plus
       lgpl2Plus
     ];
-    maintainers = with lib.maintainers; [ sigmanificient ];
+    maintainers = with lib.maintainers; [
+      sigmanificient
+      jk
+    ];
     platforms = lib.platforms.linux;
     mainProgram = "hardinfo2";
   };
diff --git a/pkgs/by-name/ha/hardinfo2/remove-update.patch b/pkgs/by-name/ha/hardinfo2/remove-update.patch
new file mode 100644
index 000000000000..960e79b3fedf
--- /dev/null
+++ b/pkgs/by-name/ha/hardinfo2/remove-update.patch
@@ -0,0 +1,58 @@
+diff --git a/includes/uidefs.h b/includes/uidefs.h
+index 552fd3cb..4998f677 100644
+--- a/includes/uidefs.h
++++ b/includes/uidefs.h
+@@ -36,7 +36,6 @@ char *uidefs_str =
+     "	"
+     "		"
+     "		"
+-    "		"
+     "		"
+     "		"
+     "	"
+@@ -48,8 +47,6 @@ char *uidefs_str =
+   /*    "			"*/
+     "			"
+     "                   "
+-    "			"
+-    "                   "
+     "	"
+     "";
+ 
+diff --git a/shell/menu.c b/shell/menu.c
+index 5ffd4410..04398b1d 100644
+--- a/shell/menu.c
++++ b/shell/menu.c
+@@ -52,11 +52,6 @@ static GtkActionEntry entries[] = {
+      N_("Send benchmark results and receive updated data from the network"),
+      G_CALLBACK(cb_sync_manager)},
+ 
+-    {"UpdateAction", HI_STOCK_UPDATES,
+-     N_("Update Available"), "",
+-     N_("Update Available"),
+-     G_CALLBACK(cb_update)},
+-
+     //does not work correctly and value low
+     /*{"CopyAction", HI_STOCK_CLIPBOARD,
+      N_("_Copy to Clipboard"), "C",
+@@ -78,11 +73,6 @@ static GtkActionEntry entries[] = {
+      NULL,
+      G_CALLBACK(cb_open_help_page)},
+ 
+-    {"UpdatesPageAction", NULL,
+-     N_("_Update HardInfo2"), "",
+-     NULL,
+-     G_CALLBACK(cb_open_updates_page)},
+-
+     {"ReportBugAction", NULL,
+      N_("_Report bug"), NULL,
+      NULL,
+@@ -237,8 +227,6 @@ void menu_init(Shell * shell)
+     gtk_image_menu_item_set_image(t,icon_cache_get_image_at_size("home.svg",size,size));
+     t=GTK_IMAGE_MENU_ITEM(gtk_ui_manager_get_widget(shell->ui_manager, "/MainMenu/HelpMenu/HelpPage"));
+     gtk_image_menu_item_set_image(t,icon_cache_get_image_at_size("help.svg",size,size));
+-    t=GTK_IMAGE_MENU_ITEM(gtk_ui_manager_get_widget(shell->ui_manager, "/MainMenu/HelpMenu/UpdatesPage"));
+-    gtk_image_menu_item_set_image(t,icon_cache_get_image_at_size("updates.svg",size,size));
+     t=GTK_IMAGE_MENU_ITEM(gtk_ui_manager_get_widget(shell->ui_manager, "/MainMenu/HelpMenu/ReportBug"));
+     gtk_image_menu_item_set_image(t,icon_cache_get_image_at_size("report-bug.svg",size,size));
+     t=GTK_IMAGE_MENU_ITEM(gtk_ui_manager_get_widget(shell->ui_manager, "/MainMenu/HelpMenu/About"));
diff --git a/pkgs/by-name/ha/harlequin/package.nix b/pkgs/by-name/ha/harlequin/package.nix
index fccaaac2c7ec..f39be8baec1f 100644
--- a/pkgs/by-name/ha/harlequin/package.nix
+++ b/pkgs/by-name/ha/harlequin/package.nix
@@ -11,21 +11,21 @@
 }:
 python3Packages.buildPythonApplication rec {
   pname = "harlequin";
-  version = "2.0.0";
+  version = "2.1.2";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "tconbeer";
     repo = "harlequin";
     tag = "v${version}";
-    hash = "sha256-IUzN+rWL69TUUS9npcmfSAPqy/8SYNusNAN/muCMqNI=";
+    hash = "sha256-uHzhAI8ppp6aoveMPcLCQX2slhbor5Qy+IoTui+RP7M=";
   };
 
   pythonRelaxDeps = [
     "numpy"
     "pyarrow"
     "textual"
-    "syrupy"
+    "tree-sitter-sql"
   ];
 
   build-system = with python3Packages; [ poetry-core ];
@@ -41,6 +41,7 @@ python3Packages.buildPythonApplication rec {
       numpy
       packaging
       platformdirs
+      pyarrow
       questionary
       rich-click
       sqlfmt
@@ -48,6 +49,7 @@ python3Packages.buildPythonApplication rec {
       textual-fastdatatable
       textual-textarea
       tomlkit
+      tree-sitter-sql
     ]
     ++ lib.optionals withPostgresAdapter [ harlequin-postgres ]
     ++ lib.optionals withBigQueryAdapter [ harlequin-bigquery ];
diff --git a/pkgs/by-name/ha/harper/package.nix b/pkgs/by-name/ha/harper/package.nix
index ea6eca7fe723..0775cf4535d9 100644
--- a/pkgs/by-name/ha/harper/package.nix
+++ b/pkgs/by-name/ha/harper/package.nix
@@ -7,18 +7,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "harper";
-  version = "0.40.0";
+  version = "0.42.0";
 
   src = fetchFromGitHub {
     owner = "Automattic";
     repo = "harper";
     rev = "v${version}";
-    hash = "sha256-QrIRfAehrKgJwAB3pWfSpIUnIwRLjuuRbTEgUpCe2LM=";
+    hash = "sha256-qzNH8qGpSNtGQqce3E/mEQoJUP2mQsQ8ntTi9F3ol1I=";
   };
 
   buildAndTestSubdir = "harper-ls";
   useFetchCargoVendor = true;
-  cargoHash = "sha256-hkr7gNRwY+L45Efk6mWPrykj60n3ChryBKRFCC4W1Q0=";
+  cargoHash = "sha256-PxYRQ6nYHXXgxb8YXkm57wIFXQrF5+cdEHA+CMk22wg=";
 
   passthru.updateScript = nix-update-script { };
 
diff --git a/pkgs/by-name/ha/hatch/package.nix b/pkgs/by-name/ha/hatch/package.nix
index 2a26b7173f88..da80f9ed5b67 100644
--- a/pkgs/by-name/ha/hatch/package.nix
+++ b/pkgs/by-name/ha/hatch/package.nix
@@ -129,6 +129,10 @@ python3Packages.buildPythonApplication rec {
       # Relies on FHS
       # Could not read ELF interpreter from any of the following paths: /bin/sh, /usr/bin/env, /bin/dash, /bin/ls
       "test_new_selected_python"
+
+      # https://github.com/pypa/hatch/issues/2006
+      "test_project_location_basic_set_first_project"
+      "test_project_location_complex_set_first_project"
     ]
     ++ lib.optionals stdenv.hostPlatform.isDarwin [
       # This test assumes it is running on macOS with a system shell on the PATH.
diff --git a/pkgs/by-name/ha/hath-rust/package.nix b/pkgs/by-name/ha/hath-rust/package.nix
new file mode 100644
index 000000000000..ca25ac15359d
--- /dev/null
+++ b/pkgs/by-name/ha/hath-rust/package.nix
@@ -0,0 +1,36 @@
+{
+  lib,
+  rustPlatform,
+  fetchFromGitHub,
+  versionCheckHook,
+  nix-update-script,
+}:
+
+rustPlatform.buildRustPackage (finalAttrs: {
+  pname = "hath-rust";
+  version = "1.11.0";
+
+  src = fetchFromGitHub {
+    owner = "james58899";
+    repo = "hath-rust";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-y2DpYKUA6XdtkynHhavh2SLl9jR+WFCOoo+Ep3IEq7w=";
+  };
+
+  cargoHash = "sha256-al5JAiRzXFKuUdIRgnwkKEN9rHqU82/StiIjPkQjumU=";
+
+  nativeInstallCheckInputs = [ versionCheckHook ];
+  versionCheckProgramArg = "--version";
+  doInstallCheck = true;
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    description = "Unofficial Hentai@Home client written in Rust";
+    homepage = "https://github.com/james58899/hath-rust";
+    changelog = "https://github.com/james58899/hath-rust/releases/tag/v${finalAttrs.version}";
+    license = lib.licenses.gpl3Only;
+    maintainers = with lib.maintainers; [ moraxyc ];
+    mainProgram = "hath-rust";
+  };
+})
diff --git a/pkgs/by-name/ha/haveged/package.nix b/pkgs/by-name/ha/haveged/package.nix
index 9a79a483b442..ece3d8154d63 100644
--- a/pkgs/by-name/ha/haveged/package.nix
+++ b/pkgs/by-name/ha/haveged/package.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/jirka-h/haveged";
     changelog = "https://raw.githubusercontent.com/jirka-h/haveged/v${version}/ChangeLog";
     license = lib.licenses.gpl3Plus;
-    maintainers = with lib.maintainers; [ domenkozar ];
+    maintainers = with lib.maintainers; [ ];
     platforms = lib.platforms.unix;
     badPlatforms = lib.platforms.darwin; # fails to build since v1.9.15
   };
diff --git a/pkgs/by-name/ha/hawkeye/package.nix b/pkgs/by-name/ha/hawkeye/package.nix
index ff474021ff77..f079484de66c 100644
--- a/pkgs/by-name/ha/hawkeye/package.nix
+++ b/pkgs/by-name/ha/hawkeye/package.nix
@@ -7,17 +7,17 @@
 
 rustPackages.rustPlatform.buildRustPackage (finalAttrs: {
   pname = "hawkeye";
-  version = "6.0.4";
+  version = "6.1.1";
 
   src = fetchFromGitHub {
     owner = "korandoru";
     repo = "hawkeye";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-kIHeyNmtrkYZ+o0HojM0N1RhPEeTf+ADMTOvZzjFDLs=";
+    hash = "sha256-F+6zbVr3oUD/HMpTa5nDR9Tv/k9v+R644IFhVNfKwuU=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-yf2oIpekE8pjxvPpvwEbHJ/jK6HwUMm1RupwLnK4Q4U=";
+  cargoHash = "sha256-BPSA0Z6Bk05xvztv1btkErC4+WDUcIWs7aFV2eVySwQ=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/by-name/he/heimdall-proxy/package.nix b/pkgs/by-name/he/heimdall-proxy/package.nix
index 04d0b0faa4f9..9a8acd3e7036 100644
--- a/pkgs/by-name/he/heimdall-proxy/package.nix
+++ b/pkgs/by-name/he/heimdall-proxy/package.nix
@@ -4,7 +4,7 @@
   lib,
 }:
 let
-  version = "0.16.2";
+  version = "0.16.4";
 in
 buildGoModule {
   pname = "heimdall-proxy";
@@ -15,10 +15,10 @@ buildGoModule {
     owner = "dadrus";
     repo = "heimdall";
     tag = "v${version}";
-    hash = "sha256-RzRjcg9GocqXpBh8C34LrSLbSrJWd9y4+YEWJaAD8d0=";
+    hash = "sha256-stjdNzyL/YyCTH0omqAr1e7agK2SHwku6/Hc3337DJ8=";
   };
 
-  vendorHash = "sha256-GVUO5a6m85C7JRJ9WBTB7JDHRaiU2Nq3clWQUedKp98=";
+  vendorHash = "sha256-Oh3esrbm2bvN/n6TvrR2+odBb1oQlhE/mYtBD5dH3ic=";
 
   tags = [ "sqlite" ];
 
diff --git a/pkgs/by-name/he/heimdall/0001-Install-the-macOS-bundle-to-the-install-prefix.patch b/pkgs/by-name/he/heimdall/0001-Install-the-macOS-bundle-to-the-install-prefix.patch
new file mode 100644
index 000000000000..72e992af2761
--- /dev/null
+++ b/pkgs/by-name/he/heimdall/0001-Install-the-macOS-bundle-to-the-install-prefix.patch
@@ -0,0 +1,22 @@
+From d0382de78c43c47b8ae3326d979cbbd028b66735 Mon Sep 17 00:00:00 2001
+From: Tim Schumacher 
+Date: Fri, 13 Jun 2025 00:29:46 +0200
+Subject: [PATCH] Install the macOS bundle to the install prefix
+
+---
+ heimdall-frontend/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/heimdall-frontend/CMakeLists.txt b/heimdall-frontend/CMakeLists.txt
+index 6ccb9b1..6fa3054 100644
+--- a/heimdall-frontend/CMakeLists.txt
++++ b/heimdall-frontend/CMakeLists.txt
+@@ -83,4 +83,4 @@ target_link_libraries(heimdall-frontend z)
+ install (TARGETS heimdall-frontend
+         RUNTIME    DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
+         LIBRARY    DESTINATION ${CMAKE_INSTALL_LIBDIR}
+-        BUNDLE DESTINATION /Applications)
++        BUNDLE DESTINATION ${CMAKE_INSTALL_PREFIX}/Applications)
+-- 
+2.49.0
+
diff --git a/pkgs/by-name/he/heimdall/package.nix b/pkgs/by-name/he/heimdall/package.nix
new file mode 100644
index 000000000000..c11e381b470a
--- /dev/null
+++ b/pkgs/by-name/he/heimdall/package.nix
@@ -0,0 +1,75 @@
+{
+  cmake,
+  enableGUI ? false,
+  fetchFromSourcehut,
+  gitUpdater,
+  lib,
+  libusb1,
+  pkg-config,
+  qt6,
+  stdenv,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "heimdall";
+  version = "2.2.2";
+
+  src = fetchFromSourcehut {
+    owner = "~grimler";
+    repo = "Heimdall";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-ga2hAZhsKosEG//qXEf+1vhJYtsHwyq6QvMlZaSFIgQ=";
+  };
+
+  passthru.updateScript = gitUpdater { rev-prefix = "v"; };
+
+  patches = [
+    ./0001-Install-the-macOS-bundle-to-the-install-prefix.patch
+  ];
+
+  outputs = [
+    "out"
+    "udev"
+  ];
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ] ++ lib.optional enableGUI qt6.wrapQtAppsHook;
+
+  buildInputs = [
+    (libusb1.override { withStatic = stdenv.hostPlatform.isWindows; })
+  ] ++ lib.optional enableGUI qt6.qtbase;
+
+  preInstall = ''
+    mkdir -p $udev/lib/udev/rules.d
+    install -m644 -t $udev/lib/udev/rules.d $src/heimdall/60-heimdall.rules
+  '';
+
+  doInstallCheck = true;
+
+  # heimdall cli looked up from PATH by gui
+  preFixup = lib.optional enableGUI ''
+    qtWrapperArgs+=(--prefix PATH : "$out/bin")
+  '';
+
+  cmakeFlags = [
+    (lib.cmakeBool "DISABLE_FRONTEND" (!enableGUI))
+  ];
+
+  meta = {
+    description = "Cross-platform open-source tool suite used to flash firmware onto Samsung Galaxy devices";
+    homepage = "https://git.sr.ht/~grimler/Heimdall";
+    license = lib.licenses.mit;
+    mainProgram =
+      (if enableGUI then "heimdall-frontend" else "heimdall")
+      + lib.optionalString stdenv.hostPlatform.isWindows ".exe";
+    maintainers = with lib.maintainers; [
+      surfaceflinger
+      timschumi
+    ];
+    platforms = with lib.platforms; unix ++ windows;
+  };
+})
diff --git a/pkgs/by-name/he/helm-ls/package.nix b/pkgs/by-name/he/helm-ls/package.nix
index 57e1c6582ef9..c37c826fde54 100644
--- a/pkgs/by-name/he/helm-ls/package.nix
+++ b/pkgs/by-name/he/helm-ls/package.nix
@@ -9,13 +9,13 @@
 
 buildGoModule rec {
   pname = "helm-ls";
-  version = "0.3.0";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "mrjosh";
     repo = "helm-ls";
     rev = "v${version}";
-    hash = "sha256-OxrPqDa2g5jmm+XtLE0YCnVhkvVK60xxrO49Gl8VT60=";
+    hash = "sha256-yiPHIr1jzzk4WFjGJjeroHJWY8zP3ArrJVzb4+dPm7I=";
   };
 
   vendorHash = "sha256-w/BWPbpSYum0SU8PJj76XiLUjTWO4zNQY+khuLRK0O8=";
diff --git a/pkgs/by-name/he/heptabase/package.nix b/pkgs/by-name/he/heptabase/package.nix
index c82bde882e7c..5bd605458e16 100644
--- a/pkgs/by-name/he/heptabase/package.nix
+++ b/pkgs/by-name/he/heptabase/package.nix
@@ -5,10 +5,10 @@
 }:
 let
   pname = "heptabase";
-  version = "1.56.1";
+  version = "1.58.1";
   src = fetchurl {
     url = "https://github.com/heptameta/project-meta/releases/download/v${version}/Heptabase-${version}.AppImage";
-    hash = "sha256-OPLE0OhTZfDVPODd/vCfpqpqBGGBQlzONcfDgkVhEic=";
+    hash = "sha256-U1fFFLXSjBuhiTUAPgqMzvWhtJg9Qc9B5m1uaGjwyEU=";
   };
 
   appimageContents = appimageTools.extractType2 { inherit pname version src; };
diff --git a/pkgs/by-name/he/heroic-unwrapped/package.nix b/pkgs/by-name/he/heroic-unwrapped/package.nix
index 944936fbe444..1722a58ebafa 100644
--- a/pkgs/by-name/he/heroic-unwrapped/package.nix
+++ b/pkgs/by-name/he/heroic-unwrapped/package.nix
@@ -22,13 +22,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "heroic-unwrapped";
-  version = "2.17.1";
+  version = "2.17.2";
 
   src = fetchFromGitHub {
     owner = "Heroic-Games-Launcher";
     repo = "HeroicGamesLauncher";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-8vmFgLtFvS9JtbQbUNdSHr9zZaTZnQ2ntSueLcCICaE=";
+    hash = "sha256-oJIs+tsE0PUbX+2pyvH7gPdFuevN8sfrXASu0SxDkBU=";
   };
 
   pnpmDeps = pnpm_10.fetchDeps {
diff --git a/pkgs/by-name/he/heroku/package.nix b/pkgs/by-name/he/heroku/package.nix
index 2e68ba2caefc..a4489828b18b 100644
--- a/pkgs/by-name/he/heroku/package.nix
+++ b/pkgs/by-name/he/heroku/package.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation {
   pname = "heroku";
-  version = "10.6.1";
+  version = "10.10.0";
 
   src = fetchzip {
-    url = "https://cli-assets.heroku.com/versions/10.6.1/6a01789/heroku-v10.6.1-6a01789-linux-x64.tar.xz";
-    hash = "sha256-dJ18GYfYVzWNssVyBu+L/iuHyRok5whQfs7CC2AYnf4=";
+    url = "https://cli-assets.heroku.com/versions/10.10.0/552ceae/heroku-v10.10.0-552ceae-linux-x64.tar.xz";
+    hash = "sha256-D1Bjyry7Yumxe9cl7KSoBrqEUP9EQsbsa9cd5muSr/Q=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/by-name/he/hexpatch/package.nix b/pkgs/by-name/he/hexpatch/package.nix
index 762b65f05462..578f12ecfd08 100644
--- a/pkgs/by-name/he/hexpatch/package.nix
+++ b/pkgs/by-name/he/hexpatch/package.nix
@@ -10,17 +10,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "hexpatch";
-  version = "1.11.3";
+  version = "1.12.1";
 
   src = fetchFromGitHub {
     owner = "Etto48";
     repo = "HexPatch";
     tag = "v${version}";
-    hash = "sha256-hGHvu727PbpqIFzfmBscD9kdwuXR0SRFZ3lbgXPxR24=";
+    hash = "sha256-Fkje+wyYJIeCJGUHRMQubCm/OlQAeRPKXFtCnUSzPiQ=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-zRNXGGpREk5xRODbGQ0SlYpU+bLPdXhlchQAc/nTsbs=";
+  cargoHash = "sha256-TTIZEzufOE7m0PtiKKBQjY0fNVabC3oG2b06AyhPxq0=";
 
   nativeBuildInputs = [
     cmake
diff --git a/pkgs/by-name/hi/hidapi/package.nix b/pkgs/by-name/hi/hidapi/package.nix
index 007e98379424..b4465a854b89 100644
--- a/pkgs/by-name/hi/hidapi/package.nix
+++ b/pkgs/by-name/hi/hidapi/package.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "hidapi";
-  version = "0.14.0";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "libusb";
     repo = "hidapi";
     rev = "hidapi-${finalAttrs.version}";
-    sha256 = "sha256-p3uzBq5VxxQbVuy1lEHEEQdxXwnhQgJDIyAAWjVWNIg=";
+    sha256 = "sha256-o6IZRG42kTa7EQib9eaV1HGyjaGgeCabk+8fyQTm/0s=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/hi/hifile/package.nix b/pkgs/by-name/hi/hifile/package.nix
index b6de8a113026..9fc00bca403a 100644
--- a/pkgs/by-name/hi/hifile/package.nix
+++ b/pkgs/by-name/hi/hifile/package.nix
@@ -2,8 +2,8 @@
   lib,
   appimageTools,
   fetchurl,
-  version ? "0.9.10.4",
-  hash ? "sha256-heHRYG+7phgS351Azk5VyjUN096w8gaLY2NQaHh2HmU=",
+  version ? "0.9.10.5",
+  hash ? "sha256-SOngYWpkea/G9Uqulv0/l9suzKA6aaDtqcz4UC75Uqo=",
 }:
 
 let
diff --git a/pkgs/by-name/hi/high-tide/package.nix b/pkgs/by-name/hi/high-tide/package.nix
index 7e87e49f879b..88c0abe2c1e9 100644
--- a/pkgs/by-name/hi/high-tide/package.nix
+++ b/pkgs/by-name/hi/high-tide/package.nix
@@ -17,14 +17,14 @@
 
 python313Packages.buildPythonApplication rec {
   pname = "high-tide";
-  version = "0.1.5";
+  version = "0.1.7";
   pyproject = false;
 
   src = fetchFromGitHub {
     owner = "Nokse22";
     repo = "high-tide";
     tag = "v${version}";
-    hash = "sha256-HoPyqsLPLfqyQbrhoPzr3n81yX1MHZVUVmq5RKDN5pI=";
+    hash = "sha256-QFa9K/iSPe3cIx90PzPCkJszrygON9ijukv4px3Rob8=";
   };
 
   nativeBuildInputs = [
@@ -45,8 +45,6 @@ python313Packages.buildPythonApplication rec {
       gstreamer
       gst-plugins-base
       gst-plugins-good
-      gst-plugins-ugly
-      gst-plugins-bad
       libsecret
     ]);
 
@@ -55,6 +53,7 @@ python313Packages.buildPythonApplication rec {
     tidalapi
     requests
     mpd2
+    pypresence
   ];
 
   dontWrapGApps = true;
diff --git a/pkgs/by-name/hi/highlight-pointer/package.nix b/pkgs/by-name/hi/highlight-pointer/package.nix
index a13d4b23791d..820a2dafa15f 100644
--- a/pkgs/by-name/hi/highlight-pointer/package.nix
+++ b/pkgs/by-name/hi/highlight-pointer/package.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "highlight-pointer";
-  version = "1.1.3";
+  version = "1.2";
 
   src = fetchFromGitHub {
     owner = "swillner";
     repo = "highlight-pointer";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-mz9gXAtrtSV0Lapx8xBOPljuF+HRgDaF2DKCDrHXQa8=";
+    hash = "sha256-Og09/RmLWtzVAMs79Z4eDuXWg4w2kZfXyX8K7CowFaU=";
   };
 
   buildInputs = [
diff --git a/pkgs/by-name/hm/hmcl/package.nix b/pkgs/by-name/hm/hmcl/package.nix
index 4a1b9a9b1c0c..867d97f8c374 100644
--- a/pkgs/by-name/hm/hmcl/package.nix
+++ b/pkgs/by-name/hm/hmcl/package.nix
@@ -6,7 +6,15 @@
   wrapGAppsHook3,
   copyDesktopItems,
   imagemagick,
-  jre,
+  jdk,
+  jdk17,
+  jdk21,
+  hmclJdk ? jdk,
+  minecraftJdks ? [
+    jdk
+    jdk17
+    jdk21
+  ],
   xorg,
   glib,
   libGL,
@@ -96,9 +104,10 @@ stdenv.mkDerivation (finalAttrs: {
     ''
       runHook preFixup
 
-      makeBinaryWrapper ${jre}/bin/java $out/bin/hmcl \
+      makeBinaryWrapper ${hmclJdk}/bin/java $out/bin/hmcl \
         --add-flags "-jar $out/lib/hmcl/hmcl.jar" \
         --set LD_LIBRARY_PATH ${libpath} \
+        --prefix PATH : "${lib.makeBinPath minecraftJdks}"\
         ''${gappsWrapperArgs[@]}
 
       runHook postFixup
@@ -111,6 +120,6 @@ stdenv.mkDerivation (finalAttrs: {
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ daru-san ];
-    inherit (jre.meta) platforms;
+    inherit (hmclJdk.meta) platforms;
   };
 })
diff --git a/pkgs/by-name/ho/holo-build/package.nix b/pkgs/by-name/ho/holo-build/package.nix
index 0ed9d9232b56..81ed3e7a23bf 100644
--- a/pkgs/by-name/ho/holo-build/package.nix
+++ b/pkgs/by-name/ho/holo-build/package.nix
@@ -13,7 +13,7 @@ buildGoModule rec {
 
   src = fetchFromGitHub {
     owner = "holocm";
-    repo = pname;
+    repo = "holo-build";
     rev = "v${version}";
     sha256 = "0lypbgf96bcc4m3968xa4il1zwprsdyc0pw6pl9mqq7djxabikd0";
   };
diff --git a/pkgs/by-name/ho/home-manager/package.nix b/pkgs/by-name/ho/home-manager/package.nix
index 764292e4985e..57cb365205e6 100644
--- a/pkgs/by-name/ho/home-manager/package.nix
+++ b/pkgs/by-name/ho/home-manager/package.nix
@@ -19,14 +19,14 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "home-manager";
-  version = "0-unstable-2025-06-02";
+  version = "0-unstable-2025-06-13";
 
   src = fetchFromGitHub {
     name = "home-manager-source";
     owner = "nix-community";
     repo = "home-manager";
-    rev = "cb809ec1ff15cf3237c6592af9bbc7e4d983e98c";
-    hash = "sha256-BJ0qRIdvt5aeqm3zg/5if7b5rruG05zrSX3UpLqjDRk=";
+    rev = "79dfd9aa295e53773aad45480b44c131da29f35b";
+    hash = "sha256-X3WAS322EsebI4ohJcXhKpiyG1v+7wE4VOiXy1pxM/c=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/ho/honk/package.nix b/pkgs/by-name/ho/honk/package.nix
index 039ba24333f9..2d8ddf007e89 100644
--- a/pkgs/by-name/ho/honk/package.nix
+++ b/pkgs/by-name/ho/honk/package.nix
@@ -9,11 +9,11 @@
 
 buildGoModule rec {
   pname = "honk";
-  version = "1.4.2";
+  version = "1.5.1";
 
   src = fetchurl {
     url = "https://humungus.tedunangst.com/r/honk/d/honk-${version}.tgz";
-    hash = "sha256-uswlReJzPjkVOazKmMHtetVukunroesqYc8XCJHiOxQ=";
+    hash = "sha256-VOeA2oQNmcEVfvWrKnWWUz6n+WjMuxYQnbqPfWaHGLM=";
   };
   vendorHash = null;
 
diff --git a/pkgs/by-name/ho/hoppscotch/update.sh b/pkgs/by-name/ho/hoppscotch/update.sh
index aaa4fc97b59a..dbdb039c00bc 100755
--- a/pkgs/by-name/ho/hoppscotch/update.sh
+++ b/pkgs/by-name/ho/hoppscotch/update.sh
@@ -3,7 +3,9 @@
 
 set -euo pipefail
 
-currentVersion=$(nix-instantiate --eval -E "with import ./. {}; hoppscotch.version or (lib.getVersion hoppscotch)" | tr -d '"')
+BASEDIR="$(dirname "$0")/../../../.."
+
+currentVersion=$(nix-instantiate --eval -E "with import $BASEDIR {}; hoppscotch.version or (lib.getVersion hoppscotch)" | tr -d '"')
 latestVersion=$(curl ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} -sL https://api.github.com/repos/hoppscotch/releases/releases/latest | jq --raw-output .tag_name | sed 's/^v//')
 
 if [[ "$currentVersion" == "$latestVersion" ]]; then
@@ -17,6 +19,6 @@ for system in \
     x86_64-linux \
     x86_64-darwin \
     aarch64-darwin; do
-    hash=$(nix hash convert --to sri --hash-algo sha256 $(nix-prefetch-url $(nix-instantiate --eval -E "with import ./. {}; hoppscotch.src.url" --system "$system" | tr -d '"')))
-    update-source-version hoppscotch $latestVersion $hash --system=$system --ignore-same-version
+    hash=$(nix hash convert --to sri --hash-algo sha256 $(nix-prefetch-url $(nix-instantiate --eval -E "with import $BASEDIR {}; hoppscotch.src.url" --system "$system" | tr -d '"')))
+    (cd $BASEDIR && update-source-version hoppscotch $latestVersion $hash --system=$system --ignore-same-version)
 done
diff --git a/pkgs/by-name/ho/horizon-eda/base.nix b/pkgs/by-name/ho/horizon-eda/base.nix
index 31c980998aa4..c3eb3d959dbd 100644
--- a/pkgs/by-name/ho/horizon-eda/base.nix
+++ b/pkgs/by-name/ho/horizon-eda/base.nix
@@ -24,13 +24,13 @@ in
 # This base is used in horizon-eda and python3Packages.horizon-eda
 rec {
   pname = "horizon-eda";
-  version = "2.6.0";
+  version = "2.7.0";
 
   src = fetchFromGitHub {
     owner = "horizon-eda";
     repo = "horizon";
     rev = "v${version}";
-    hash = "sha256-0ikCR10r/WPb+H+Ut2GO6y4A/9bctJLanL/RR4r9GWs=";
+    hash = "sha256-Y2oopRycYSxtiKuQZSfTBVP7RmpZ0JA+QyZgnrpoAes=";
   };
 
   nativeBuildInputs = [
@@ -56,13 +56,9 @@ rec {
   ];
 
   env = {
-    NIX_CFLAGS_COMPILE = toString [
-      "-fpermissive"
-    ];
+    CASROOT = opencascade-occt;
   };
 
-  CASROOT = opencascade-occt;
-
   meta = {
     description = "Free EDA software to develop printed circuit boards";
     homepage = "https://horizon-eda.org";
diff --git a/pkgs/by-name/ho/horizon-eda/package.nix b/pkgs/by-name/ho/horizon-eda/package.nix
index dcea3c1cddf0..f03763e98fc8 100644
--- a/pkgs/by-name/ho/horizon-eda/package.nix
+++ b/pkgs/by-name/ho/horizon-eda/package.nix
@@ -17,7 +17,6 @@ stdenv.mkDerivation {
     version
     src
     meta
-    CASROOT
     env
     ;
 
diff --git a/pkgs/by-name/ho/hot-resize/package.nix b/pkgs/by-name/ho/hot-resize/package.nix
index 62fa18e466ea..aab1ef132931 100644
--- a/pkgs/by-name/ho/hot-resize/package.nix
+++ b/pkgs/by-name/ho/hot-resize/package.nix
@@ -19,17 +19,17 @@
 
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "hot-resize";
-  version = "0.1.2";
+  version = "0.1.4";
 
   src = fetchFromGitHub {
     owner = "liberodark";
     repo = "hot-resize";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-aGiu+YPflbyemk1IB0tPystu4hao0qLzLtuV0KAJtYg=";
+    hash = "sha256-JB1U7mL3rkrsekmKt+0J1nnbtnlk/typIIfz3E+1moc=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-u+VW5aZkMhQ+dgRAHmK7avxp6PfzFyG49SfYr0stpuQ=";
+  cargoHash = "sha256-+POAqB0msStix5KNqVwy8ckLEQ/rUsD52BtyetuKt2I=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/by-name/ho/hover/fix-assets-path.patch b/pkgs/by-name/ho/hover/fix-assets-path.patch
deleted file mode 100644
index 00b1900bf776..000000000000
--- a/pkgs/by-name/ho/hover/fix-assets-path.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-diff --git a/internal/fileutils/assets.go b/internal/fileutils/assets.go
-index 83eacd9..0b80e51 100644
---- a/internal/fileutils/assets.go
-+++ b/internal/fileutils/assets.go
-@@ -1,28 +1,7 @@
- //go:generate rice embed
- package fileutils
- 
--import (
--	"os"
--	"sync"
--
--	rice "github.com/GeertJohan/go.rice"
--	"github.com/go-flutter-desktop/hover/internal/log"
--)
--
--var (
--	assetsBox     *rice.Box
--	assetsBoxOnce sync.Once
--)
--
- // AssetsBox hover's assets box
--func AssetsBox() *rice.Box {
--	assetsBoxOnce.Do(func() {
--		var err error
--		assetsBox, err = rice.FindBox("../../assets")
--		if err != nil {
--			log.Errorf("Failed to find hover assets: %v", err)
--			os.Exit(1)
--		}
--	})
--	return assetsBox
-+func AssetsBox() string {
-+	return "@assetsFolder@"
- }
-diff --git a/internal/fileutils/file.go b/internal/fileutils/file.go
-index cb75563..3822e80 100644
---- a/internal/fileutils/file.go
-+++ b/internal/fileutils/file.go
-@@ -11,8 +11,6 @@ import (
- 	"strings"
- 	"text/template"
- 
--	rice "github.com/GeertJohan/go.rice"
--
- 	"github.com/go-flutter-desktop/hover/internal/log"
- )
- 
-@@ -215,24 +213,24 @@ func ExecuteTemplateFromFile(boxed, to string, templateData interface{}) {
- }
- 
- // ExecuteTemplateFromAssetsBox create file from a template asset
--func ExecuteTemplateFromAssetsBox(boxed, to string, assetsBox *rice.Box, templateData interface{}) {
--	templateString, err := assetsBox.String(boxed)
-+func ExecuteTemplateFromAssetsBox(boxed, to string, assetsBox string, templateData interface{}) {
-+	templateString, err := ioutil.ReadFile(assetsBox + "/" + boxed)
- 	if err != nil {
- 		log.Errorf("Failed to find template file: %v\n", err)
- 		os.Exit(1)
- 	}
--	executeTemplateFromString(templateString, to, templateData)
-+	executeTemplateFromString(string(templateString), to, templateData)
- }
- 
- // CopyAsset copies a file from asset
--func CopyAsset(boxed, to string, assetsBox *rice.Box) {
-+func CopyAsset(boxed string, to string, assetsBox string) {
- 	file, err := os.Create(to)
- 	if err != nil {
- 		log.Errorf("Failed to create %s: %v", to, err)
- 		os.Exit(1)
- 	}
- 	defer file.Close()
--	boxedFile, err := assetsBox.Open(boxed)
-+	boxedFile, err := os.OpenFile(assetsBox + "/" + boxed, os.O_RDONLY, 0666)
- 	if err != nil {
- 		log.Errorf("Failed to find boxed file %s: %v", boxed, err)
- 		os.Exit(1)
diff --git a/pkgs/by-name/ho/hover/package.nix b/pkgs/by-name/ho/hover/package.nix
index 140be9ca8ddf..ad4f9f92efcb 100644
--- a/pkgs/by-name/ho/hover/package.nix
+++ b/pkgs/by-name/ho/hover/package.nix
@@ -18,7 +18,7 @@
 
 let
   pname = "hover";
-  version = "0.47.0";
+  version = "0.47.2";
 
   libs = with xorg; [
     libX11.dev
@@ -36,23 +36,23 @@ let
   hover = buildGoModule {
     inherit pname version;
 
-    meta = with lib; {
+    meta = {
       description = "Build tool to run Flutter applications on desktop";
       homepage = "https://github.com/go-flutter-desktop/hover";
-      license = licenses.bsd3;
-      platforms = platforms.linux;
-      maintainers = with maintainers; [ ericdallo ];
+      license = [ lib.licenses.bsd3 ];
+      platforms = lib.platforms.linux;
+      maintainers = [ lib.maintainers.ericdallo ];
     };
 
     subPackages = [ "." ];
 
-    vendorHash = "sha256-GDoX5d2aDfaAx9JsKuS4r8137t3swT6rgcCghmaThSM=";
+    vendorHash = "sha256-LDVF1vt1kTm7G/zqWHcjtGK+BsydgmJUET61+sILiE0=";
 
     src = fetchFromGitHub {
-      rev = "v${version}";
+      tag = "v${version}";
       owner = "go-flutter-desktop";
-      repo = pname;
-      sha256 = "sha256-ch59Wx4g72u7x99807ppURI4I+5aJ/W8Zr35q8X68v4=";
+      repo = "hover";
+      sha256 = "sha256-xS4qfsGZAt560dxHpwEnAWdJCd5vuTdX+7fpUGrSqhw=";
     };
 
     nativeBuildInputs = [
@@ -64,19 +64,7 @@ let
 
     checkRun = false;
 
-    patches = [
-      ./fix-assets-path.patch
-    ];
-
-    postPatch = ''
-      sed -i 's|@assetsFolder@|'"''${out}/share/assets"'|g' internal/fileutils/assets.go
-    '';
-
     postInstall = ''
-      mkdir -p $out/share
-      cp -r assets $out/share/assets
-      chmod -R a+rx $out/share/assets
-
       wrapProgram "$out/bin/hover" \
       --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath libs}
     '';
diff --git a/pkgs/by-name/ht/htmlhint/package.nix b/pkgs/by-name/ht/htmlhint/package.nix
index 8f5b70a0dd18..4f8521aca347 100644
--- a/pkgs/by-name/ht/htmlhint/package.nix
+++ b/pkgs/by-name/ht/htmlhint/package.nix
@@ -6,16 +6,16 @@
 
 buildNpmPackage rec {
   pname = "htmlhint";
-  version = "1.5.0";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "htmlhint";
     repo = "HTMLHint";
     rev = "v${version}";
-    hash = "sha256-h40diAM96jQRXIaPqDoQCoB4guMJCMIr9MxbpB7bb8A=";
+    hash = "sha256-lyfn2M5Xxeo/qxhMBMsZpEa+UwJqgJwRsv2cMoKKcPo=";
   };
 
-  npmDepsHash = "sha256-VCeMyreQb9DjX1Leyt0vvoejdgG11Rhs3PAFsieeSCs=";
+  npmDepsHash = "sha256-XHgjIDJpp7tLaXUuLaq2x1Pllw1OupMV0wijevMPGzU=";
 
   meta = {
     changelog = "https://github.com/htmlhint/HTMLHint/blob/${src.rev}/CHANGELOG.md";
diff --git a/pkgs/by-name/ht/htmx-lsp/package.nix b/pkgs/by-name/ht/htmx-lsp/package.nix
index 74e67231ee8e..0fbd3545ec61 100644
--- a/pkgs/by-name/ht/htmx-lsp/package.nix
+++ b/pkgs/by-name/ht/htmx-lsp/package.nix
@@ -2,21 +2,24 @@
   lib,
   rustPlatform,
   fetchFromGitHub,
+  unstableGitUpdater,
 }:
 
-rustPlatform.buildRustPackage rec {
+rustPlatform.buildRustPackage {
   pname = "htmx-lsp";
-  version = "0.1.0";
+  version = "0.1.0-unstable-2025-06-14";
 
   src = fetchFromGitHub {
     owner = "ThePrimeagen";
     repo = "htmx-lsp";
-    rev = version;
-    hash = "sha256-CvQ+vgo3+qUOj0SS6/NrapzXkP98tpiZbGhRHJxEqeo=";
+    rev = "c45f55b2bf8be2d92489fd6d69a3db07fe5f214b";
+    hash = "sha256-7CAlYYwsanlOCGeY7gYE5Fzk5IEO4hThgINiJmXql7s=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-EQHNFiyQ7TwY4LldMFOTX0epilU76LPOiHQIIUsNhS8=";
+  cargoHash = "sha256-/ypaTrctJo88DHtF/hv6B0dqB06axd/qKFnuI8zs8KA=";
+
+  passthru.updateScript = unstableGitUpdater { };
 
   meta = with lib; {
     description = "Language server implementation for htmx";
diff --git a/pkgs/by-name/ht/httm/package.nix b/pkgs/by-name/ht/httm/package.nix
index b6e147467da3..d5839954d192 100644
--- a/pkgs/by-name/ht/httm/package.nix
+++ b/pkgs/by-name/ht/httm/package.nix
@@ -7,17 +7,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "httm";
-  version = "0.48.3";
+  version = "0.48.4";
 
   src = fetchFromGitHub {
     owner = "kimono-koans";
     repo = "httm";
     rev = version;
-    hash = "sha256-55rUNITdz8lM0yuQQrNhXCKxwx4m7FPVhE1usEAVj0I=";
+    hash = "sha256-636Two3kGtzpx6gQfvBKhhz5BQflP8joYpw0CY5UnoA=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-Hbn+PlmJ9FiwHme3kXjvG7m2rkgR4nGnpTT04JHJrao=";
+  cargoHash = "sha256-95xqzwFcTusL50Ue6dsM2BhD6J2Fi/qsrGQYniFVVd4=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/by-name/hu/hugo/package.nix b/pkgs/by-name/hu/hugo/package.nix
index 7e3baaf717a5..9519bb06008b 100644
--- a/pkgs/by-name/hu/hugo/package.nix
+++ b/pkgs/by-name/hu/hugo/package.nix
@@ -11,16 +11,16 @@
 
 buildGoModule (finalAttrs: {
   pname = "hugo";
-  version = "0.147.7";
+  version = "0.147.8";
 
   src = fetchFromGitHub {
     owner = "gohugoio";
     repo = "hugo";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-4TIdxujzlRc3y2yUzrJg2IhzWE4ZuqySRHqlhlHuzpc=";
+    hash = "sha256-h8fgV6fWhYrqbG/FPGCPYDnQshz1L8ulxPon+Xnw4lY=";
   };
 
-  vendorHash = "sha256-ejdBxm0OL3J97SLXtt++Z/1feUlN/yu6vsw+CQt1PX8=";
+  vendorHash = "sha256-VHql1iznNp2qL+qA+M1tSKCf823qozWW8PSyHihFU8A=";
 
   checkFlags =
     let
diff --git a/pkgs/by-name/hu/hut/package.nix b/pkgs/by-name/hu/hut/package.nix
index 232964381647..8193b5dde78f 100644
--- a/pkgs/by-name/hu/hut/package.nix
+++ b/pkgs/by-name/hu/hut/package.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "hut";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchFromSourcehut {
     owner = "~xenrox";
     repo = "hut";
     rev = "v${version}";
-    sha256 = "sha256-wfnuGnO1aiK0D8P5nMCqD38DJ3RpcsK//02KaE5SkZE=";
+    sha256 = "sha256-pc6E3ORDmaMhoNe8GQeYZrxhe5ySQqsMPe/iUbclnGk=";
   };
 
-  vendorHash = "sha256-6dIqcjtacxlmadnPzRlOJYoyOaO4zdjzrjO64KS2Bq0=";
+  vendorHash = "sha256-/51cv/EvcBCyCOf91vJ5M75p0bkAQqVoRUp+C+i70Os=";
 
   nativeBuildInputs = [
     scdoc
diff --git a/pkgs/by-name/hw/hwdata/package.nix b/pkgs/by-name/hw/hwdata/package.nix
index c04f16388996..8f4966a9bd86 100644
--- a/pkgs/by-name/hw/hwdata/package.nix
+++ b/pkgs/by-name/hw/hwdata/package.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "hwdata";
-  version = "0.395";
+  version = "0.396";
 
   src = fetchFromGitHub {
     owner = "vcrhonek";
     repo = "hwdata";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-wLdJGaJVqClso75iRSpSVlobdx7Rv01YreiPsDzwjok=";
+    hash = "sha256-fn+Dcl7R3PADoTuilSQrXFBnXQM1c66jliTc0G89RIQ=";
   };
 
   doCheck = false; # this does build machine-specific checks (e.g. enumerates PCI bus)
diff --git a/pkgs/by-name/hy/hydra/package.nix b/pkgs/by-name/hy/hydra/package.nix
index 3c8422635c82..0b9abbf435cb 100644
--- a/pkgs/by-name/hy/hydra/package.nix
+++ b/pkgs/by-name/hy/hydra/package.nix
@@ -130,13 +130,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "hydra";
-  version = "0-unstable-2025-04-23";
+  version = "0-unstable-2025-06-15";
 
   src = fetchFromGitHub {
     owner = "NixOS";
     repo = "hydra";
-    rev = "455f1a0665c6ca55df2a17679f6103402a9e9431";
-    hash = "sha256-rn9ZE4ERml8ZkT9ziDrqGEJfzr0rJlzYfu2PHL71oiI=";
+    rev = "ed500ca4345f7edaa6c3d84027a7599d38b15a29";
+    hash = "sha256-Mxz4n40VKxA2ILtIHX6fObgcy2WlgsM+ERfpjuVJ0BU=";
   };
 
   outputs = [
diff --git a/pkgs/by-name/hy/hydralauncher/package.nix b/pkgs/by-name/hy/hydralauncher/package.nix
index cd8c6338d2ff..95ec3dbece6c 100644
--- a/pkgs/by-name/hy/hydralauncher/package.nix
+++ b/pkgs/by-name/hy/hydralauncher/package.nix
@@ -6,10 +6,10 @@
 }:
 let
   pname = "hydralauncher";
-  version = "3.5.2";
+  version = "3.6.1";
   src = fetchurl {
     url = "https://github.com/hydralauncher/hydra/releases/download/v${version}/hydralauncher-${version}.AppImage";
-    hash = "sha256-B1eo/t6HEy+C+5yBLySXToDFPoZb1UeQshZTZ6KiibA=";
+    hash = "sha256-NKQzOPujPEIPKq3GAphkNijOq9tVAyUy2yCOKZaJHbE=";
   };
 
   appimageContents = appimageTools.extractType2 { inherit pname src version; };
diff --git a/pkgs/by-name/hy/hylafaxplus/package.nix b/pkgs/by-name/hy/hylafaxplus/package.nix
index cf7c47691fb1..534564734a7a 100644
--- a/pkgs/by-name/hy/hylafaxplus/package.nix
+++ b/pkgs/by-name/hy/hylafaxplus/package.nix
@@ -64,10 +64,10 @@ in
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "hylafaxplus";
-  version = "7.0.10";
+  version = "7.0.11";
   src = fetchurl {
     url = "mirror://sourceforge/hylafax/hylafax-${finalAttrs.version}.tar.gz";
-    hash = "sha512-6HdYMHq4cLbS06UXs+FEg3XtsMRyXflrgn/NEsgyMFkTS/MoGW8RVXgbXxAhcArpFvMsY0NUPLE3jdbqqWWQCw==";
+    hash = "sha512-JRuJdE17VBrlhVz5GBc2dKBtwzPjljeropcug0bsRvO/8SJvP5PzIP5gbBLpMQKGb77SNp2iNCCOroBOUOn57A==";
   };
   patches = [
     # adjust configure check to work with libtiff > 4.1
diff --git a/pkgs/by-name/hy/hypercore/package.nix b/pkgs/by-name/hy/hypercore/package.nix
index fc5364dd3088..59e1ec8948c8 100644
--- a/pkgs/by-name/hy/hypercore/package.nix
+++ b/pkgs/by-name/hy/hypercore/package.nix
@@ -7,13 +7,13 @@
 
 buildNpmPackage (finalAttrs: {
   pname = "hypercore";
-  version = "11.8.3";
+  version = "11.9.1";
 
   src = fetchFromGitHub {
     owner = "holepunchto";
     repo = "hypercore";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-3b1Q2fDEGEqI/HW/zKgxbzqFn368V5kHVETqRcJF+1U=";
+    hash = "sha256-aOF/wsq3m+CBrnZkkheukSmYuujOzRb8nJKp4AhZ3kc=";
   };
 
   npmDepsHash = "sha256-ZJxVmQWKgHyKkuYfGIlANXFcROjI7fibg6mxIhDZowM=";
diff --git a/pkgs/by-name/hy/hyperledger-fabric/package.nix b/pkgs/by-name/hy/hyperledger-fabric/package.nix
index f86e6e83012c..53eff41a9d80 100644
--- a/pkgs/by-name/hy/hyperledger-fabric/package.nix
+++ b/pkgs/by-name/hy/hyperledger-fabric/package.nix
@@ -4,15 +4,15 @@
   fetchFromGitHub,
 }:
 
-buildGoModule rec {
+buildGoModule (finalAttrs: {
   pname = "hyperledger-fabric";
-  version = "2.5.5";
+  version = "2.5.13";
 
   src = fetchFromGitHub {
     owner = "hyperledger";
     repo = "fabric";
-    rev = "v${version}";
-    hash = "sha256-Ev9a+d15kr6apKyGR5xTa/2I3cByyPSTW2Y+HAQk9GU=";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-HLDafeDe7eXuVZ8JqGYIr5Y5YicsR3PaDX/UeSqg8Vw=";
   };
 
   vendorHash = null;
@@ -38,11 +38,11 @@ buildGoModule rec {
   ldflags = [
     "-s"
     "-w"
-    "-X github.com/hyperledger/fabric/common/metadata.Version=${version}"
-    "-X github.com/hyperledger/fabric/common/metadata.CommitSha=${src.rev}"
+    "-X github.com/hyperledger/fabric/common/metadata.Version=${finalAttrs.version}"
+    "-X github.com/hyperledger/fabric/common/metadata.CommitSha=${finalAttrs.src.tag}"
   ];
 
-  meta = with lib; {
+  meta = {
     description = "High-performance, secure, permissioned blockchain network";
     longDescription = ''
       Hyperledger Fabric is an enterprise-grade permissioned distributed ledger
@@ -52,7 +52,7 @@ buildGoModule rec {
       preserving privacy.
     '';
     homepage = "https://wiki.hyperledger.org/display/fabric";
-    license = licenses.asl20;
+    license = lib.licenses.asl20;
     maintainers = [ ];
   };
-}
+})
diff --git a/pkgs/by-name/hy/hyprshell/package.nix b/pkgs/by-name/hy/hyprshell/package.nix
index b68be2b18faa..996479f9c3db 100644
--- a/pkgs/by-name/hy/hyprshell/package.nix
+++ b/pkgs/by-name/hy/hyprshell/package.nix
@@ -9,17 +9,17 @@
 
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "hyprshell";
-  version = "4.1.1";
+  version = "4.2.5";
 
   src = fetchFromGitHub {
     owner = "H3rmt";
-    repo = "hyprswitch";
+    repo = "hyprshell";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-eSTeNVHkfUS6qlN1pWWpMVeT+jjacithCHOpOhRKanA=";
+    hash = "sha256-J6e2VyakM+8V/s5tSK9bEUfFHSGkyVaCCBZ/zQuMEOE=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-NzyK46zmHWxFaTS9mzFC7kBUMys1sjmcWaZUcwLusEk=";
+  cargoHash = "sha256-ywTS6c+oxkaTmbVal08T0lrNIkqKJNE0Ovs98Yo6pOM=";
 
   nativeBuildInputs = [
     wrapGAppsHook4
@@ -33,7 +33,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
   meta = {
     description = "CLI/GUI that allows switching between windows in Hyprland";
     mainProgram = "hyprshell";
-    homepage = "https://github.com/H3rmt/hyprswitch";
+    homepage = "https://github.com/H3rmt/hyprshell";
     license = lib.licenses.mit;
     platforms = lib.platforms.linux;
     maintainers = with lib.maintainers; [ arminius-smh ];
diff --git a/pkgs/by-name/hy/hysteria/package.nix b/pkgs/by-name/hy/hysteria/package.nix
index ed4c5fa0683a..acecb559cead 100644
--- a/pkgs/by-name/hy/hysteria/package.nix
+++ b/pkgs/by-name/hy/hysteria/package.nix
@@ -6,16 +6,16 @@
 }:
 buildGoModule rec {
   pname = "hysteria";
-  version = "2.6.1";
+  version = "2.6.2";
 
   src = fetchFromGitHub {
     owner = "apernet";
     repo = "hysteria";
     rev = "app/v${version}";
-    hash = "sha256-0vd1cV2E07EntiOE0wHrSe4e/SRqbFrXhyBRFGxU7xY=";
+    hash = "sha256-r8A1kY5zVIYLH4BmTF8BF135K5zQNBN0cvQpWI9SR2I=";
   };
 
-  vendorHash = "sha256-YFFhsBRWL1Rn+z8awRQiy6/5IEqD1f9CjAeIqfzrwu4=";
+  vendorHash = "sha256-TWGHOn64QvIiH5gr+il98IdO7cheAjQs/VFVwm2jKWU=";
   proxyVendor = true;
 
   ldflags =
diff --git a/pkgs/by-name/i2/i2pd/package.nix b/pkgs/by-name/i2/i2pd/package.nix
index 0f8399f9e4a5..84f2306c8437 100644
--- a/pkgs/by-name/i2/i2pd/package.nix
+++ b/pkgs/by-name/i2/i2pd/package.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "i2pd";
-  version = "2.56.0";
+  version = "2.57.0";
 
   src = fetchFromGitHub {
     owner = "PurpleI2P";
     repo = "i2pd";
     tag = version;
-    hash = "sha256-URFLVMd1j/br+/isQytVjSVosMHn1SEwqg2VNxStD0A=";
+    hash = "sha256-+LywTG+AXOas6fXF1pXjBkqa+fUbaWNMA3EqCEZfc/A=";
   };
 
   postPatch = lib.optionalString (!stdenv.hostPlatform.isx86) ''
diff --git a/pkgs/by-name/i3/i3minator/package.nix b/pkgs/by-name/i3/i3minator/package.nix
index 2c56f1d521f2..1fc08fabd4ae 100644
--- a/pkgs/by-name/i3/i3minator/package.nix
+++ b/pkgs/by-name/i3/i3minator/package.nix
@@ -36,7 +36,7 @@ python3Packages.buildPythonApplication rec {
     '';
     homepage = "https://github.com/carlesso/i3minator";
     license = lib.licenses.wtfpl;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
     platforms = lib.platforms.linux;
   };
 
diff --git a/pkgs/by-name/ib/ibusMinimal/package.nix b/pkgs/by-name/ib/ibusMinimal/package.nix
new file mode 100644
index 000000000000..a828d049c66e
--- /dev/null
+++ b/pkgs/by-name/ib/ibusMinimal/package.nix
@@ -0,0 +1 @@
+{ ibus }: ibus.override { libOnly = true; }
diff --git a/pkgs/by-name/ic/icewm/package.nix b/pkgs/by-name/ic/icewm/package.nix
index 78343cb0a49d..d5d0ed8eae36 100644
--- a/pkgs/by-name/ic/icewm/package.nix
+++ b/pkgs/by-name/ic/icewm/package.nix
@@ -1,6 +1,6 @@
 {
   lib,
-  stdenv,
+  gccStdenv,
   fetchFromGitHub,
   cmake,
   expat,
@@ -39,7 +39,7 @@
   pkg-config,
 }:
 
-stdenv.mkDerivation (finalAttrs: {
+gccStdenv.mkDerivation (finalAttrs: {
   pname = "icewm";
   version = "3.7.5";
 
@@ -99,13 +99,15 @@ stdenv.mkDerivation (finalAttrs: {
     "-DCFGDIR=/etc/icewm"
   ];
 
+  env.NIX_CFLAGS_COMPILE = lib.optionalString gccStdenv.hostPlatform.isDarwin "-D_DARWIN_C_SOURCE";
+
   # install legacy themes
   postInstall = ''
     cp -r ../lib/themes/{gtk2,Natural,nice,nice2,warp3,warp4,yellowmotif} \
       $out/share/icewm/themes/
   '';
 
-  meta = with lib; {
+  meta = {
     homepage = "https://ice-wm.org/";
     description = "Simple, lightweight X window manager";
     longDescription = ''
@@ -121,8 +123,8 @@ stdenv.mkDerivation (finalAttrs: {
       optional external background wallpaper manager with transparency support,
       a simple session manager and a system tray.
     '';
-    license = licenses.lgpl2Only;
+    license = lib.licenses.lgpl2Only;
     maintainers = [ ];
-    platforms = platforms.linux;
+    platforms = lib.platforms.unix;
   };
 })
diff --git a/pkgs/by-name/ic/icloudpd/package.nix b/pkgs/by-name/ic/icloudpd/package.nix
index ef518266d446..c8f1a6010105 100644
--- a/pkgs/by-name/ic/icloudpd/package.nix
+++ b/pkgs/by-name/ic/icloudpd/package.nix
@@ -9,14 +9,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "icloudpd";
-  version = "1.28.0";
+  version = "1.28.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "icloud-photos-downloader";
     repo = "icloud_photos_downloader";
     tag = "v${version}";
-    hash = "sha256-t2S/WfjNdCgCqaoXtmIu6Gb8tsccRw1Jn8iyjbSukzY=";
+    hash = "sha256-e3bv5IVVXKiAnxZAbx8JniGJaPJuT+FYAH1PwhU8q60=";
   };
 
   pythonRelaxDeps = true;
@@ -72,7 +72,7 @@ python3Packages.buildPythonApplication rec {
 
   preBuild = ''
     substituteInPlace pyproject.toml \
-      --replace-fail "setuptools==75.6.0" "setuptools" \
+      --replace-fail "setuptools==80.9.0" "setuptools" \
       --replace-fail "wheel==0.45.1" "wheel"
 
     substituteInPlace src/foundation/__init__.py \
diff --git a/pkgs/by-name/id/ida-free/package.nix b/pkgs/by-name/id/ida-free/package.nix
index e08ffe448900..c741c6b5337a 100644
--- a/pkgs/by-name/id/ida-free/package.nix
+++ b/pkgs/by-name/id/ida-free/package.nix
@@ -22,7 +22,7 @@
   zlib,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: rec {
   pname = "ida-free";
   version = "9.1";
 
@@ -84,7 +84,7 @@ stdenv.mkDerivation rec {
 
     # IDA depends on quite some things extracted by the runfile, so first extract everything
     # into $out/opt, then remove the unnecessary files and directories.
-    IDADIR=$out/opt
+    IDADIR=$out/opt/${finalAttrs.pname}-${finalAttrs.version}
 
     # The installer doesn't honor `--prefix` in all places,
     # thus needing to set `HOME` here.
@@ -127,4 +127,4 @@ stdenv.mkDerivation rec {
     platforms = [ "x86_64-linux" ]; # Right now, the installation script only supports Linux.
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
   };
-}
+})
diff --git a/pkgs/by-name/ig/igraph/package.nix b/pkgs/by-name/ig/igraph/package.nix
index de3fc033f947..4347cbec101e 100644
--- a/pkgs/by-name/ig/igraph/package.nix
+++ b/pkgs/by-name/ig/igraph/package.nix
@@ -25,13 +25,13 @@ assert (blas.isILP64 == lapack.isILP64 && blas.isILP64 == arpack.isILP64 && !bla
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "igraph";
-  version = "0.10.15";
+  version = "0.10.16";
 
   src = fetchFromGitHub {
     owner = "igraph";
     repo = "igraph";
     rev = finalAttrs.version;
-    hash = "sha256-TSAVRLeOWh3IQ9X0Zr4CQS+h1vTeUZnzMp/IYujGMn0=";
+    hash = "sha256-Qs2WXAiAQhQ077KEtkapr8ckw6Jlbxj6qwyiplsEaLY=";
   };
 
   postPatch = ''
diff --git a/pkgs/by-name/ii/iio-hyprland/package.nix b/pkgs/by-name/ii/iio-hyprland/package.nix
index 7bb56368cbb8..71a4370f70fc 100644
--- a/pkgs/by-name/ii/iio-hyprland/package.nix
+++ b/pkgs/by-name/ii/iio-hyprland/package.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation {
   pname = "iio-hyprland";
-  version = "0-unstable-2025-03-18";
+  version = "0-unstable-2025-06-11";
 
   src = fetchFromGitHub {
     owner = "JeanSchoeller";
     repo = "iio-hyprland";
-    rev = "87a4ff78fee17f1120125e50cb36084ebfd8739f";
-    hash = "sha256-lmzSEP6oqnnOfiwMzMtp33lUlOqrVtbliMEnO8Pl/4s=";
+    rev = "f7ae269294bc812e966b9b60b89beefcdfd68821";
+    hash = "sha256-tWMjZ5DktOIvgl45RRgaOF0x5Kj5gsKZG79LGNLyw58=";
   };
 
   buildInputs = [ dbus ];
diff --git a/pkgs/by-name/il/illuminanced/package.nix b/pkgs/by-name/il/illuminanced/package.nix
new file mode 100644
index 000000000000..4151fd7b58e4
--- /dev/null
+++ b/pkgs/by-name/il/illuminanced/package.nix
@@ -0,0 +1,42 @@
+{
+  lib,
+  fetchFromGitHub,
+  rustPlatform,
+  nix-update-script,
+}:
+rustPlatform.buildRustPackage (finalAttrs: {
+  pname = "illuminanced";
+  version = "1.0.2";
+
+  src = fetchFromGitHub {
+    owner = "mikhail-m1";
+    repo = "illuminanced";
+    tag = "${finalAttrs.version}";
+    hash = "sha256-ZEVma0uj9rsWB+vfUL7w3dHxI/ppBCG23TirGE+RREk=";
+  };
+
+  cargoHash = "sha256-kPWoQ6rE4wBjmqQLNPY4UWJt/AOgr+eVKY0ZK7B4K1A=";
+
+  preBuild = ''
+    substituteInPlace src/main.rs \
+      --replace-fail /usr/local/etc/illuminanced.toml $out/share/illuminanced/illuminanced.toml
+  '';
+
+  postInstall = ''
+    install -Dm0644 illuminanced.toml $out/share/illuminanced/illuminanced.toml
+  '';
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    description = "Ambient Light Sensor Daemon for Linux";
+    homepage = "https://github.com/mikhail-m1/illuminanced";
+    changelog = "https://github.com/mikhail-m1/illuminanced/releases/tag/${finalAttrs.version}";
+    license = lib.licenses.gpl3Only;
+    maintainers = with lib.maintainers; [
+      dynamicgoose
+    ];
+    mainProgram = "illuminanced";
+    platforms = lib.platforms.linux;
+  };
+})
diff --git a/pkgs/servers/x11/xorg/imake-cc-wrapper-uberhack.patch b/pkgs/by-name/im/imake/cc-wrapper-uberhack.patch
similarity index 100%
rename from pkgs/servers/x11/xorg/imake-cc-wrapper-uberhack.patch
rename to pkgs/by-name/im/imake/cc-wrapper-uberhack.patch
diff --git a/pkgs/servers/x11/xorg/imake.patch b/pkgs/by-name/im/imake/disable-autodetection.patch
similarity index 100%
rename from pkgs/servers/x11/xorg/imake.patch
rename to pkgs/by-name/im/imake/disable-autodetection.patch
diff --git a/pkgs/by-name/im/imake/package.nix b/pkgs/by-name/im/imake/package.nix
new file mode 100644
index 000000000000..7cb1ec18db4c
--- /dev/null
+++ b/pkgs/by-name/im/imake/package.nix
@@ -0,0 +1,88 @@
+{
+  lib,
+  stdenv,
+  fetchurl,
+  tradcpp,
+  xorg-cf-files,
+  pkg-config,
+  xorgproto,
+  writeScript,
+}:
+stdenv.mkDerivation (finalAttrs: {
+  pname = "imake";
+  version = "1.0.10";
+
+  src = fetchurl {
+    url = "mirror://xorg/individual/util/imake-${finalAttrs.version}.tar.xz";
+    hash = "sha256-dd7LzqjXs1TPNq3JZ15TxHkO495WoUvYe0LI6KrS7PU=";
+  };
+
+  patches = [
+    # Disable imake autodetection for:
+    # - LinuxDistribution to avoid injection of /usr paths
+    # - gcc to avoid use uf /usr/bin/gcc
+    # https://github.com/NixOS/nixpkgs/issues/135337
+    ./disable-autodetection.patch
+    # uberhack to workaround broken 'gcc -x c'
+    #
+    # Our cc-wrapper is broken whenever the '-x' flag is used:
+    # 'gcc -x c foo.c -o bar' doesn't work the same way as 'gcc foo.c -o bar'
+    # does. (Try both with NIX_DEBUG=1.)
+    #
+    # What happens is that passing '-x' causes linker-related flags (such as
+    # -Wl,-dynamic-linker) not to be added, just like if '-c' is passed.
+    # The bug happens outside the multiple-outputs branch as well, but it
+    # doesn't break imake there. It only breaks in multiple-outputs because
+    # linking without -Wl,-dynamic-linker produces a binary with an invalid
+    # ELF interpreter path. (Which arguably, is a bug in its own.)
+    # (copied from the commit message on 0100b270694ecab8aaa13fa5f3d30639b50d7777)
+    ./cc-wrapper-uberhack.patch
+  ];
+
+  strictDeps = true;
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ xorgproto ];
+
+  configureFlags = [
+    "ac_cv_path_RAWCPP=${stdenv.cc.targetPrefix}cpp"
+  ];
+
+  env = {
+    CFLAGS = "-DIMAKE_COMPILETIME_CPP='\"${
+      if stdenv.hostPlatform.isDarwin then "${tradcpp}/bin/cpp" else "gcc"
+    }\"'";
+  };
+
+  preInstall = ''
+    mkdir -p $out/lib/X11/config
+    ln -s ${xorg-cf-files}/lib/X11/config/* $out/lib/X11/config
+  '';
+
+  inherit tradcpp xorg-cf-files;
+  setupHook = ./setup-hook.sh;
+
+  passthru = {
+    updateScript = writeScript "update-${finalAttrs.pname}" ''
+      #!/usr/bin/env nix-shell
+      #!nix-shell -i bash -p common-updater-scripts
+      version="$(list-directory-versions --pname ${finalAttrs.pname} \
+        --url https://xorg.freedesktop.org/releases/individual/util/ \
+        | sort -V | tail -n1)"
+      update-source-version ${finalAttrs.pname} "$version"
+    '';
+  };
+
+  meta = {
+    description = "Obsolete C preprocessor interface to the make utility";
+    homepage = "https://gitlab.freedesktop.org/xorg/util/imake";
+    license = with lib.licenses; [
+      mitOpenGroup
+      x11
+    ];
+    mainProgram = "imake";
+    maintainers = [ ];
+    platforms = lib.platforms.unix;
+  };
+})
diff --git a/pkgs/servers/x11/xorg/imake-setup-hook.sh b/pkgs/by-name/im/imake/setup-hook.sh
similarity index 100%
rename from pkgs/servers/x11/xorg/imake-setup-hook.sh
rename to pkgs/by-name/im/imake/setup-hook.sh
diff --git a/pkgs/by-name/im/immich-public-proxy/package.nix b/pkgs/by-name/im/immich-public-proxy/package.nix
index 11567f7450b9..42126fa6023b 100644
--- a/pkgs/by-name/im/immich-public-proxy/package.nix
+++ b/pkgs/by-name/im/immich-public-proxy/package.nix
@@ -8,17 +8,17 @@
 }:
 buildNpmPackage rec {
   pname = "immich-public-proxy";
-  version = "1.11.2";
+  version = "1.11.3";
   src = fetchFromGitHub {
     owner = "alangrainger";
     repo = "immich-public-proxy";
     tag = "v${version}";
-    hash = "sha256-4FZa2OZ0It2UF2VHpNFQvkNyuFkTBfjxxxMgKlEzo6I=";
+    hash = "sha256-rroccsVgPsBOTQ/2Mb+BoqOm59LdjqSqKsL40n7NXss=";
   };
 
   sourceRoot = "${src.name}/app";
 
-  npmDepsHash = "sha256-3cL6bijTEg5m2KhHu6TcjaDF9BP+GYSn09pEtdr3oYI=";
+  npmDepsHash = "sha256-9zuw24lPFsDWHrplShsCQDrUpBa6U+NeRVJNSI4OJHA=";
 
   # patch in absolute nix store paths so the process doesn't need to cwd in $out
   postPatch = ''
diff --git a/pkgs/by-name/im/immich/package.nix b/pkgs/by-name/im/immich/package.nix
index b393a1cf95dd..cfbc9db35deb 100644
--- a/pkgs/by-name/im/immich/package.nix
+++ b/pkgs/by-name/im/immich/package.nix
@@ -39,62 +39,24 @@ let
   sources = lib.importJSON sourcesJSON;
   inherit (sources) version;
 
-  esbuild_0_23 = buildPackages.esbuild.override {
+  esbuild' = buildPackages.esbuild.override {
     buildGoModule =
       args:
       buildPackages.buildGoModule (
         args
         // rec {
-          version = "0.23.0";
+          version = "0.25.5";
           src = fetchFromGitHub {
             owner = "evanw";
             repo = "esbuild";
             tag = "v${version}";
-            hash = "sha256-AH4Y5ELPicAdJZY5CBf2byOxTzOyQFRh4XoqRUQiAQw=";
+            hash = "sha256-jemGZkWmN1x2+ZzJ5cLp3MoXO0oDKjtZTmZS9Be/TDw=";
           };
           vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
         }
       );
   };
 
-  esbuild_0_25 = buildPackages.esbuild.override {
-    buildGoModule =
-      args:
-      buildPackages.buildGoModule (
-        args
-        // rec {
-          version = "0.25.2";
-          src = fetchFromGitHub {
-            owner = "evanw";
-            repo = "esbuild";
-            tag = "v${version}";
-            hash = "sha256-aDxheDMeQYqCT9XO3In6RbmzmXVchn+bjgf3nL3VE4I=";
-          };
-          vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
-        }
-      );
-  };
-
-  # Immich server does not actually need esbuild, but react-email and vite do.
-  # As esbuild doesn't support passing multiple binaries, we use a custom
-  # "shim", that picks the right version depending on the working directory.
-  # The correct version can be looked up in package-lock.json
-  # TODO: There are numerous other env vars this *could* be based on.
-  esbuildShim = buildPackages.writeShellScriptBin "esbuild" ''
-    echo "nixpkgs: esbuild shim for '$PWD'" >&2
-    case "$PWD" in
-      "/build/server/node_modules/esbuild")
-        exec ${lib.getExe esbuild_0_23} "$@"
-      ;;
-      "/build/server/node_modules/vite/node_modules/esbuild")
-        exec ${lib.getExe esbuild_0_25} "$@"
-        exit 0
-      ;;
-    esac
-    echo "nixpkgs: Couldn't resolve esbuild version for '$PWD'" >&2
-    exit 1
-  '';
-
   buildLock = {
     sources =
       builtins.map
@@ -263,7 +225,7 @@ buildNpmPackage' {
   makeCacheWritable = true;
 
   env.SHARP_FORCE_GLOBAL_LIBVIPS = 1;
-  env.ESBUILD_BINARY_PATH = lib.getExe esbuildShim;
+  env.ESBUILD_BINARY_PATH = lib.getExe esbuild';
 
   preBuild = ''
     # If exiftool-vendored.pl isn't found, exiftool is searched for on the PATH
diff --git a/pkgs/by-name/im/immich/sources.json b/pkgs/by-name/im/immich/sources.json
index 4204a1ff0843..8c039477368e 100644
--- a/pkgs/by-name/im/immich/sources.json
+++ b/pkgs/by-name/im/immich/sources.json
@@ -1,26 +1,26 @@
 {
-  "version": "1.134.0",
-  "hash": "sha256-TTHgEQyKx54pFWvCD1FT8KZSO9/EZxULZS97VGTfFcE=",
+  "version": "1.135.3",
+  "hash": "sha256-CIYuDAWd0OH7jwV4XKIJDVlk1D/tYlDVW5V4uEDCwEE=",
   "components": {
     "cli": {
-      "npmDepsHash": "sha256-FOtzQF+3yWJI1lzZq79pbPehDFHAsNk5bx71vm1xWBQ=",
-      "version": "2.2.68"
+      "npmDepsHash": "sha256-43W9yKr1XuTLUi3RuZNR8CjcHIyhHaSl+azZKqDWBx0=",
+      "version": "2.2.72"
     },
     "server": {
-      "npmDepsHash": "sha256-VzduZY7yMgjoCtTzW5rCooFubJeZuSnkYe9mwmI/n6Q=",
-      "version": "1.134.0"
+      "npmDepsHash": "sha256-Z5vRpSau9nxrlXe7QuxYhqpVkloVIz12o0hXKAl8Y6o=",
+      "version": "1.135.3"
     },
     "web": {
-      "npmDepsHash": "sha256-/T8GZ+kqx/G+9Yn76v2vj+KteoS046d0Cxk58YN+3es=",
-      "version": "1.134.0"
+      "npmDepsHash": "sha256-M5TNLBJPl/9rue651XyyV5ZnPakq0wPgTmS7XhSbf0A=",
+      "version": "1.135.3"
     },
     "open-api/typescript-sdk": {
-      "npmDepsHash": "sha256-gTS+zrhL4mqT0UOLfzrKFdumtwZPmlQntj+DbCaQ2s8=",
-      "version": "1.134.0"
+      "npmDepsHash": "sha256-HOQMbbLzxkw5U2MHJFGKiquvfFYdwCEjHhXWwrhCmng=",
+      "version": "1.135.3"
     },
     "geonames": {
-      "timestamp": "20250527235755",
-      "hash": "sha256-vAoQS07EEPkDhrnJGz3iX+sBaPDUHB5uF0a/pr5+zD4="
+      "timestamp": "20250620153832",
+      "hash": "sha256-OJSQFjaYm1TVyA0JL7DiHy/dbhRd5HYoTPqIoPnBLss="
     }
   }
 }
diff --git a/pkgs/by-name/in/incus-ui-canonical/package.nix b/pkgs/by-name/in/incus-ui-canonical/package.nix
index 97cb1ce333e8..b38fcdbd5c28 100644
--- a/pkgs/by-name/in/incus-ui-canonical/package.nix
+++ b/pkgs/by-name/in/incus-ui-canonical/package.nix
@@ -20,14 +20,14 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "incus-ui-canonical";
-  version = "0.15.3";
+  version = "0.15.4";
 
   src = fetchFromGitHub {
     owner = "zabbly";
     repo = "incus-ui-canonical";
     # only use tags prefixed by incus- they are the tested fork versions
     tag = "incus-${version}";
-    hash = "sha256-FsDdALcIXJFo0ScOA8YEzulefp8IfOSi2ZClrtcPo24=";
+    hash = "sha256-kY7FMZbwP5D5EJfYH1/ptgKdCceduk05fjVdwtOgUNk=";
   };
 
   offlineCache = fetchYarnDeps {
diff --git a/pkgs/by-name/in/incus/1995.diff b/pkgs/by-name/in/incus/1995.diff
deleted file mode 100644
index 092bd149d856..000000000000
--- a/pkgs/by-name/in/incus/1995.diff
+++ /dev/null
@@ -1,93 +0,0 @@
-diff --git a/internal/server/firewall/drivers/drivers_consts.go b/internal/server/firewall/drivers/drivers_consts.go
-index 2790e07a605..944bca5930e 100644
---- a/internal/server/firewall/drivers/drivers_consts.go
-+++ b/internal/server/firewall/drivers/drivers_consts.go
-@@ -1,8 +1,6 @@
- package drivers
- 
- import (
--	"encoding/json"
--	"fmt"
- 	"net"
- )
- 
-@@ -67,62 +65,12 @@ type NftListSetsOutput struct {
- 
- // NftListSetsEntry structure to read JSON output of nft set listing.
- type NftListSetsEntry struct {
--	Metainfo *NftMetainfo `json:"metainfo,omitempty"`
--	Set      *NftSet      `json:"set,omitempty"`
--}
--
--// NftMetainfo structure representing metainformation returned by nft.
--type NftMetainfo struct {
--	Version           string `json:"version"`
--	ReleaseName       string `json:"release_name"`
--	JSONSchemaVersion int    `json:"json_schema_version"`
-+	Set *NftSet `json:"set,omitempty"`
- }
- 
- // NftSet structure to parse the JSON of a set returned by nft -j list sets.
- type NftSet struct {
--	Family string    `json:"family"`
--	Name   string    `json:"name"`
--	Table  string    `json:"table"`
--	Type   string    `json:"type"`
--	Handle int       `json:"handle"`
--	Flags  []string  `json:"flags"`
--	Elem   ElemField `json:"elem"`
--}
--
--// ElemField supports both string elements (IP, MAC) and dictionary-based CIDR elements.
--// In order to parse it correctly a custom unsmarshalling is defined in drivers_nftables.go .
--type ElemField struct {
--	Addresses []string // Stores plain addresses and CIDR notations as strings.
--}
--
--// UnmarshalJSON handles both plain strings and CIDR dictionaries inside `elem`.
--func (e *ElemField) UnmarshalJSON(data []byte) error {
--	var rawElems []any
--	err := json.Unmarshal(data, &rawElems)
--	if err != nil {
--		return err
--	}
--
--	for _, elem := range rawElems {
--		switch v := elem.(type) {
--		case string:
--			// Plain address (IPv4, IPv6, or MAC).
--			e.Addresses = append(e.Addresses, v)
--		case map[string]any:
--			// CIDR notation (prefix dictionary).
--			prefix, ok := v["prefix"].(map[string]any)
--			if ok {
--				addr, addrOk := prefix["addr"].(string)
--				lenFloat, lenOk := prefix["len"].(float64) // JSON numbers are float64 by default.
--				if addrOk && lenOk {
--					e.Addresses = append(e.Addresses, fmt.Sprintf("%s/%d", addr, int(lenFloat)))
--				}
--			}
--
--		default:
--			return fmt.Errorf("Unsupported element type in NFTables set: %v", elem)
--		}
--	}
--
--	return nil
-+	Family string `json:"family"`
-+	Name   string `json:"name"`
-+	Table  string `json:"table"`
- }
-diff --git a/internal/server/firewall/drivers/drivers_nftables.go b/internal/server/firewall/drivers/drivers_nftables.go
-index fd9be2e2fbb..f803de9dff5 100644
---- a/internal/server/firewall/drivers/drivers_nftables.go
-+++ b/internal/server/firewall/drivers/drivers_nftables.go
-@@ -387,7 +387,7 @@ func (d Nftables) NetworkClear(networkName string, _ bool, _ []uint) error {
- 		return fmt.Errorf("Failed clearing nftables rules for network %q: %w", networkName, err)
- 	}
- 
--	err = d.RemoveIncusAddressSets("inet")
-+	err = d.RemoveIncusAddressSets("bridge")
- 	if err != nil {
- 		return fmt.Errorf("Error in deletion of address sets: %w", err)
- 	}
diff --git a/pkgs/by-name/in/incus/package.nix b/pkgs/by-name/in/incus/package.nix
index 68044192d84f..7dc60062e7d7 100644
--- a/pkgs/by-name/in/incus/package.nix
+++ b/pkgs/by-name/in/incus/package.nix
@@ -1,11 +1,8 @@
 import ./generic.nix {
-  hash = "sha256-hgZc30SRnmALTvuD32dNuO0r4pfpXXvN4CtJqn2fGuk=";
-  version = "6.12.0";
-  vendorHash = "sha256-/GwJG6kmjbiUUh0AWQ+IUbeK1kRcuWrwmNdTzH5LT38=";
-  patches = [
-    # fix nft, remove 6.13
-    ./1995.diff
-  ];
+  hash = "sha256-f02BBEZ9EqLWJNxJ+Qj8PtcgkRT2Dy/hwUA/1aAZXC8=";
+  version = "6.13.0";
+  vendorHash = "sha256-g71ORfg/BMucohBfPWwSbyLdmo5SpkStUKbszZFFaKQ=";
+  patches = [ ];
   nixUpdateExtraArgs = [
     "--override-filename=pkgs/by-name/in/incus/package.nix"
   ];
diff --git a/pkgs/by-name/in/inputplumber/package.nix b/pkgs/by-name/in/inputplumber/package.nix
index 5fee0006f8c5..92f3e7948244 100644
--- a/pkgs/by-name/in/inputplumber/package.nix
+++ b/pkgs/by-name/in/inputplumber/package.nix
@@ -10,17 +10,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "inputplumber";
-  version = "0.58.5";
+  version = "0.58.6";
 
   src = fetchFromGitHub {
     owner = "ShadowBlip";
     repo = "InputPlumber";
     tag = "v${version}";
-    hash = "sha256-Ozd/MfPoEXodPnjNkmBGGJQCKFSuKr/SrnncDWbhiY8=";
+    hash = "sha256-cVK336ZOBrbH6VJTOw2K4DrlcS/1IrDgLsczVQ3OKTE=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-dzPBEIGOOplG+td78Ujm66kPFGAHgI1d68IU4KTQtxE=";
+  cargoHash = "sha256-FOr1X3aShKn6I3PPFnl/BLRzTewNrRnIGRKf3+4dd18=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/by-name/in/insync-emblem-icons/package.nix b/pkgs/by-name/in/insync-emblem-icons/package.nix
deleted file mode 100644
index c6969afe2e67..000000000000
--- a/pkgs/by-name/in/insync-emblem-icons/package.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{
-  lib,
-  stdenv,
-  fetchurl,
-  dpkg,
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "insync-emblem-icons";
-  version = "3.8.7.50516";
-
-  src = fetchurl rec {
-    urls = [
-      "https://cdn.insynchq.com/builds/linux/insync-emblem-icons_${finalAttrs.version}_all.deb"
-      "https://web.archive.org/web/20240409081214/${builtins.elemAt urls 0}"
-    ];
-    hash = "sha256-uALaIxETEEkjDTx331uIsb4VswWk2K0dGuDMYH8v5U8=";
-  };
-
-  nativeBuildInputs = [ dpkg ];
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out
-    cp -R usr/* $out/
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    platforms = [ "x86_64-linux" ];
-    sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
-    license = licenses.unfree;
-    maintainers = with maintainers; [ hellwolf ];
-    homepage = "https://www.insynchq.com";
-    description = "This package contains the file manager emblem icons for Insync file manager extensions";
-  };
-})
diff --git a/pkgs/by-name/in/intel-graphics-compiler/package.nix b/pkgs/by-name/in/intel-graphics-compiler/package.nix
index 41661f41af7a..7dc30a5f3237 100644
--- a/pkgs/by-name/in/intel-graphics-compiler/package.nix
+++ b/pkgs/by-name/in/intel-graphics-compiler/package.nix
@@ -42,13 +42,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "intel-graphics-compiler";
-  version = "2.10.8";
+  version = "2.11.7";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "intel-graphics-compiler";
     tag = "v${version}";
-    hash = "sha256-BFEl2LiaGRZXnQtOTEY/86ymKuQO3QN4HPbwHsdSZMs=";
+    hash = "sha256-bGH+cgWI3bRgOhSBgQUrHPiCQ68EfAxG+iM6vs8VjhU=";
   };
 
   postPatch = ''
diff --git a/pkgs/by-name/in/inter-nerdfont/package.nix b/pkgs/by-name/in/inter-nerdfont/package.nix
index 69373f16064a..b6fe0cbe9237 100644
--- a/pkgs/by-name/in/inter-nerdfont/package.nix
+++ b/pkgs/by-name/in/inter-nerdfont/package.nix
@@ -39,6 +39,6 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     description = "NerdFont patch of the Inter font";
     license = lib.licenses.ofl;
     platforms = lib.platforms.all;
-    maintainers = [ lib.maintainers.midirhee12 ];
+    maintainers = [ lib.maintainers.midischwarz12 ];
   };
 })
diff --git a/pkgs/by-name/io/ioquake3/package.nix b/pkgs/by-name/io/ioquake3/package.nix
index d039a6a5014a..a28fccee5f32 100644
--- a/pkgs/by-name/io/ioquake3/package.nix
+++ b/pkgs/by-name/io/ioquake3/package.nix
@@ -19,9 +19,10 @@
   freetype,
   mumble,
   unstableGitUpdater,
+  bc,
 }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation (finalAttrs: {
   pname = "ioquake3";
   version = "0-unstable-2025-05-15";
 
@@ -37,6 +38,7 @@ stdenv.mkDerivation {
     makeBinaryWrapper
     pkg-config
     which
+    bc
   ];
 
   buildInputs = [
@@ -59,23 +61,57 @@ stdenv.mkDerivation {
     cp ${./Makefile.local} ./Makefile.local
   '';
 
+  preBuild = lib.optionalString stdenv.hostPlatform.isDarwin ''
+    substituteInPlace Makefile \
+      --replace-fail \
+        "-I/Library/Frameworks/SDL2.framework/Headers" \
+        "-I${lib.getDev SDL2}/include/SDL2" \
+      --replace-fail \
+        "CLIENT_LIBS += -framework SDL2" \
+        "CLIENT_LIBS += -L${lib.getLib SDL2}/lib -lSDL2" \
+      --replace-fail \
+        "RENDERER_LIBS += -framework SDL2" \
+        "RENDERER_LIBS += -L${lib.getLib SDL2}/lib -lSDL2" \
+      --replace-fail \
+        "-I/System/Library/Frameworks/OpenAL.framework/Headers" \
+        "-I${lib.getDev openal}/include/AL" \
+      --replace-fail \
+        "CLIENT_LIBS += -framework OpenAL" \
+        "CLIENT_LIBS += -L${lib.getLib openal}/lib -lopenal" \
+      --replace-fail \
+        "TOOLS_CC = gcc" \
+        "TOOLS_CC = clang"
+  '';
+
+  postBuild = lib.optionalString stdenv.hostPlatform.isDarwin ''
+    echo "Building Application Bundle for Darwin / macOS"
+    # The following script works without extensive patching (see preBuild), as the regular buil already
+    # built all the c code and libraries.
+    ./make-macosx.sh ${stdenv.hostPlatform.darwinArch}
+  '';
+
   installTargets = [ "copyfiles" ];
 
   installFlags = [ "COPYDIR=$(out)/share/ioquake3" ];
 
-  postInstall = ''
-    install -Dm644 misc/quake3.svg $out/share/icons/hicolor/scalable/apps/ioquake3.svg
+  postInstall =
+    ''
+      install -Dm644 misc/quake3.svg $out/share/icons/hicolor/scalable/apps/ioquake3.svg
 
-    makeWrapper $out/share/ioquake3/ioquake3.* $out/bin/ioquake3
-    makeWrapper $out/share/ioquake3/ioq3ded.* $out/bin/ioq3ded
-  '';
+      makeWrapper $out/share/ioquake3/ioquake3.* $out/bin/ioquake3
+      makeWrapper $out/share/ioquake3/ioq3ded.* $out/bin/ioq3ded
+    ''
+    + lib.optionalString stdenv.hostPlatform.isDarwin ''
+      mkdir -p $out/Applications
+      mv build/release-darwin-${stdenv.hostPlatform.darwinArch}/ioquake3.app $out/Applications/
+    '';
 
   desktopItems = [
     (makeDesktopItem {
       name = "IOQuake3";
       exec = "ioquake3";
       icon = "ioquake3";
-      comment = "A fast-paced 3D first-person shooter, a community effort to continue supporting/developing id's Quake III Arena";
+      comment = finalAttrs.meta.description;
       desktopName = "ioquake3";
       categories = [
         "Game"
@@ -96,6 +132,6 @@ stdenv.mkDerivation {
       drupol
       rvolosatovs
     ];
-    platforms = lib.platforms.linux;
+    platforms = lib.platforms.unix;
   };
-}
+})
diff --git a/pkgs/by-name/io/ior/package.nix b/pkgs/by-name/io/ior/package.nix
index d0c018ebdcaf..78a197edf480 100644
--- a/pkgs/by-name/io/ior/package.nix
+++ b/pkgs/by-name/io/ior/package.nix
@@ -5,20 +5,25 @@
   mpi,
   perl,
   autoreconfHook,
+  pkg-config,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "ior";
-  version = "3.3.0";
+  version = "4.0.0";
 
   src = fetchFromGitHub {
     owner = "hpc";
     repo = "ior";
-    rev = version;
-    sha256 = "sha256-pSjptDfiPlaToXe1yHyk9MQMC9PqcVSjqAmWLD11iOM=";
+    tag = finalAttrs.version;
+    hash = "sha256-WsfJWHHfkiHZ+rPk6ck6mDErTXwt6Dhgm+yqOtw4Fvo=";
   };
 
-  nativeBuildInputs = [ autoreconfHook ];
+  nativeBuildInputs = [
+    autoreconfHook
+    pkg-config
+  ];
+
   buildInputs = [
     mpi
     perl
@@ -26,11 +31,11 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = with lib; {
+  meta = {
     homepage = "https://ior.readthedocs.io/en/latest/";
     description = "Parallel file system I/O performance test";
-    license = licenses.gpl2Only;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ bzizou ];
+    license = lib.licenses.gpl2Only;
+    platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ bzizou ];
   };
-}
+})
diff --git a/pkgs/by-name/io/iosevka-bin/package.nix b/pkgs/by-name/io/iosevka-bin/package.nix
index b0c8eaef37d7..d97a040bca6c 100644
--- a/pkgs/by-name/io/iosevka-bin/package.nix
+++ b/pkgs/by-name/io/iosevka-bin/package.nix
@@ -17,7 +17,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "${name}-bin";
-  version = "33.2.3";
+  version = "33.2.4";
 
   src = fetchurl {
     url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/PkgTTC-${name}-${version}.zip";
diff --git a/pkgs/by-name/io/iosevka-bin/variants.nix b/pkgs/by-name/io/iosevka-bin/variants.nix
index 4a6a139f90cb..1abf283ba3b4 100644
--- a/pkgs/by-name/io/iosevka-bin/variants.nix
+++ b/pkgs/by-name/io/iosevka-bin/variants.nix
@@ -1,93 +1,93 @@
 # This file was autogenerated. DO NOT EDIT!
 {
-  Iosevka = "1ahw97h75xpqcy2czanlh5h1c76bc4sfdvsld8d7q7fjp4kb8b5s";
-  IosevkaAile = "1xjl664qmckjm625g2znwspj99277l0gknqqsv1sn3jdj2nqn6va";
-  IosevkaCurly = "1hj0rr581d76li02852dcqyj17s598nd1vjnnscyswcg6fxpd2bv";
-  IosevkaCurlySlab = "0fh0i9cpp3h7sz7fvpqvh7phybi8pr8r1sp1a8i2d037ryj6766d";
-  IosevkaEtoile = "1z46km7wzjkkz0hjj95iljl27lmf73w3j6yx30zj3337rlrrpi8z";
-  IosevkaSlab = "1n7m5qvgng1i25sfad0sbrbrl3nwhsrn2gvb2v70va4anlxhwpz8";
-  IosevkaSS01 = "0s44v5d9ffghqvi7nz3kndfkrz4bvp75dc99wnx696j7q4h8id75";
-  IosevkaSS02 = "12j4xg4k8mlr3xwl3sjsw2nccq7mwm10ip1lqid12bylxjbaajvl";
-  IosevkaSS03 = "0hqg7sycvab99c93cn4fjmvqmkgjdjqicgd1gnm27swish02hk55";
-  IosevkaSS04 = "0vbzr72g9xi8m8rqz1nd7j2srzs95j39lb6ii1wqg6ffy944k2nk";
-  IosevkaSS05 = "00zxc6dswardw6bbvyrzh98ikvpnnygi614sqi9vch3wj4rdsfc4";
-  IosevkaSS06 = "15dzb5zzm85jwjq7d1yfw4ifhf6g9yrlxpwychnrjdmsjh3vhjpf";
-  IosevkaSS07 = "03nn0d76cvny9g8xgkidjad0jsarnxcw1zmac3gm5swrjja2z9bv";
-  IosevkaSS08 = "1lzia4pb1crsj6h3gxjh6dlnlfkc6a4ff5h7309mg7yjklqi58f4";
-  IosevkaSS09 = "1xlrxryaypid6cg5n21i4grz8dh3lsban2bi4rgldhjc52kc5jfy";
-  IosevkaSS10 = "0qvq509fic4sqfmfxixs3slaqcbd101j55lmxhxd84nm36bpm5hz";
-  IosevkaSS11 = "1ncxz7a0769dgi9k8g4jp1lfpx5r9wyl5sjirbv1vwc9n0m4j0ij";
-  IosevkaSS12 = "1z9cqgxf15w30bnyj3j22a5jm2p9zzym7hz5picxlscyskswn0g6";
-  IosevkaSS13 = "0yyw4xp4c8y7m2z8dswd8pk0hajkaz47qqw1fik1a99sc25d1i0v";
-  IosevkaSS14 = "0l5ya9xlmnkyfbsmb1w8v446diys3x8w4xfqhbq1nggcnj0nj5vw";
-  IosevkaSS15 = "1lgszq2kapsylihqkb3yw0zspxyy1xc80z3b5d2d41lg0a53b7b0";
-  IosevkaSS16 = "0rwvmjkhq55m0fh2bm0nv2xv4xh42hmjfzvkgc2srpadqvrk9sxa";
-  IosevkaSS17 = "01j6867z7lks9f0l4ijahvykchz9w57mr1mq7zzf6xi1lzx92mh6";
-  IosevkaSS18 = "11g8zfj8d6h6fkzppslgpfwblzdnzlpjmv5a6zs0jd9010vkrhn5";
-  SGr-Iosevka = "0bcn6c17s5xj80sjafq8a1dfa1s5rrx6kj697ca7y0qlyb2mr0j1";
-  SGr-IosevkaCurly = "119ljf5wwmv7anp3sam0vri44hzimk1xlx7bnqs1l32vxcj5mgcy";
-  SGr-IosevkaCurlySlab = "12dnwiljccl8xgriqqcxh7kya928cqf2x9l0a50psqawq3vpa573";
-  SGr-IosevkaFixed = "0w2575wq4mqii6kprl171y4mqim52n241iyf5lkvywhswv6x9bbi";
-  SGr-IosevkaFixedCurly = "1rbzfwkmgz8m1w24iwsjmghg9w8dx749hjmmb70kcbix6rp19z9q";
-  SGr-IosevkaFixedCurlySlab = "0yphmb99rx9wg4gw31nlcskprjdshah4jr6kb585m6r79rk5d0wq";
-  SGr-IosevkaFixedSlab = "1wvd04r01ivdrx3g42yzq6qnc6r7zxw48k5g902xj9z2zca941gf";
-  SGr-IosevkaFixedSS01 = "1h6rna54wbf1sc2m2vqlb10br3nppc1caaw3x2lyz5g9bb887jln";
-  SGr-IosevkaFixedSS02 = "1kjclcr2zcbxafjs0amp5hyfwgklb6xdgs5n9xq0np7lxrmg2kfv";
-  SGr-IosevkaFixedSS03 = "1cf0acb07pg7m9k4lin4m9pdi8fsa27vvsy39aklgixfwlv1bzwf";
-  SGr-IosevkaFixedSS04 = "1bv7v3lby0fjzpnqfn4csnsbzcsjdssmgz2cgb6xjx6daxc7sqv9";
-  SGr-IosevkaFixedSS05 = "01wqjf76ahvy2l6g5ipbrm7qzxbwqrl6n2q39ij3c04knkcmj8w6";
-  SGr-IosevkaFixedSS06 = "058w8vhyxicxwamf4sr7g2f63rm1sazdq4fph879ajpp10j79d5r";
-  SGr-IosevkaFixedSS07 = "025n56j65idr7xknj6snnf76xii0pkr2w0zsg1cidzm2gc9j7vw7";
-  SGr-IosevkaFixedSS08 = "0ap9wnk05b96zbwn1hsxii2s9ij4kj308dbj7gc37mgq0yd4n47p";
-  SGr-IosevkaFixedSS09 = "1k5l4rvglcfj5b20c67vh0m1w2gqqg92m7i1vilj0clq1pg6wb2b";
-  SGr-IosevkaFixedSS10 = "1gi63xmd1nf8g53bcfgg0ljnsmn5xkqqn6gb5lgi4yhfjawrd2ll";
-  SGr-IosevkaFixedSS11 = "0m7wp67j7jvqbw5zayfk7sh2zvnh86dd4szb9pq3lnbsv69q2cmc";
-  SGr-IosevkaFixedSS12 = "071v1hmxa8qiv8d9wqwkvjfllqhgzpyj4r7gdvvalfc45b4xapdv";
-  SGr-IosevkaFixedSS13 = "1wxyz8s97x4pcy0zilmfp6syxfm4nbqd0j392lib3pkj9x71qk2c";
-  SGr-IosevkaFixedSS14 = "0m5l9a2n9iayb7k2giz5x7pfy344ys3kbqccsjr30h3aybmd1d31";
-  SGr-IosevkaFixedSS15 = "113z4d0hgfw82q8cchf496xjv2jpqhvxv0004nx6bmi3l63lzdln";
-  SGr-IosevkaFixedSS16 = "12pyndd2hr9n6xs5f3zmlpkrw9bjdk7pjxrz00qwq36f5rh2x9yv";
-  SGr-IosevkaFixedSS17 = "0q65z5dvmq6l5vjy5al0zq5ls1wna06dq03brkq8pvagl03y2yws";
-  SGr-IosevkaFixedSS18 = "05swkkjkdgcfdggq4m7dp5nxrzr3jmm4b6jjicfb39y4m8i0k2wd";
-  SGr-IosevkaSlab = "0hnfhmyh9nb57kl5higiibjxmsc2qpjcyxfirs4nl0pw4gd2z9ah";
-  SGr-IosevkaSS01 = "1c16fpq447nmkfrnn5y9b5bz2zm6w63ip742f1rd9hs9y67mqc5w";
-  SGr-IosevkaSS02 = "0yp8fmqnh25wpsf8ihmd77xq5jrxc8xk92jiglgpw05agl4c2hyd";
-  SGr-IosevkaSS03 = "0sq07vz18ky2c1k4a0w8xsn5h31m1gdwihjkc5r5wqc0cxjzsrr6";
-  SGr-IosevkaSS04 = "0l9qgx060iw2q1rpx83v2qp677d3gl4k8w41y6s69cbql10srqn9";
-  SGr-IosevkaSS05 = "1r1bln5gl7dnqzgdxfzsvm967ph3r52wmlhnnswlr2l3rpkv5f4f";
-  SGr-IosevkaSS06 = "0sfdrknipxrj3m5yqafw81w97p3lg8faz09pd9f7b38v5x5wcxrv";
-  SGr-IosevkaSS07 = "0g1lp71wfdsg9i9dj6jmn6x7m9mkfzjbb0x5fsc7py443lj8fym7";
-  SGr-IosevkaSS08 = "10j5z800sg75w9a7njzkzc94jkbii4hgdwj89wmkkxp32skfvdhq";
-  SGr-IosevkaSS09 = "1fcn2d1kxn8wfv75cgmr9apri27a09z3a30z4nxx445n9x670z6v";
-  SGr-IosevkaSS10 = "0q92piavh41lmc641x0axq1828msmfl7g8j1svfdlxa46a9j7bh5";
-  SGr-IosevkaSS11 = "01k5qnasidkbd7rmjqyw6cdjyv98dyjg8gvzqrjf34018ygn47ah";
-  SGr-IosevkaSS12 = "1w0mz0m7g18n2xsldc1dq1hvvv60hnvcs9h2k11fq7arri3xn7d4";
-  SGr-IosevkaSS13 = "0hwnhl35s1pdn57m2aqza2x0jakhh4gc3gkvzn1df1hjd8da7gf1";
-  SGr-IosevkaSS14 = "02zvfx2x9arrpxxkkjvr46b90lcssa7jmjg1nh2x025f02isi5gw";
-  SGr-IosevkaSS15 = "0kf92n30622mv2blw9ckjy9fjmmpdqlx5cbs8rkdklwsn1zh1y9p";
-  SGr-IosevkaSS16 = "0798w39v0kh1db1adn4saqdd9hjk673s2kgf4jyn5hcmnxdmkpna";
-  SGr-IosevkaSS17 = "0227mrmh7hd3vwjnk9615p997l1zqqmqphxdmshgxjcch4vk3mxp";
-  SGr-IosevkaSS18 = "1y9dg8w1963ipzdri5vlpiax2x8iacw1wl1iy1zjkq5pwzm1fbgd";
-  SGr-IosevkaTerm = "0shp2vacrcvzc9gg2hdsgb2v9yivbvxnl2a61dvj63k7fqfbmkc0";
-  SGr-IosevkaTermCurly = "0284kkwhidhc6qlpgqiaxqw1dr5nb6bbv8f2hg395q6yhmmsrjvl";
-  SGr-IosevkaTermCurlySlab = "1z80knqj3rk90z721c1ybl1qnhlj7draifs6rfbl9126pc4sx9bw";
-  SGr-IosevkaTermSlab = "1zfqpl3sn0925rska1jfj5a6c0s9rbd0d3z080z40py5fdwz821a";
-  SGr-IosevkaTermSS01 = "1wy98qdc69q125hv4n3fi2z2rhdl4xjrs5mzabkzi5n061zzill0";
-  SGr-IosevkaTermSS02 = "0pc3c1983s7vkga73p6dz3851881c0g8ak1sjlmy8yq7ybx0b8f5";
-  SGr-IosevkaTermSS03 = "1lf3mi6z3cif44k8zp248smz1bkmb0zcna1sq0pa6grkis33fjig";
-  SGr-IosevkaTermSS04 = "14h36plbvbkahxhvavxahma8n79gkabgzi7v4bkqz9q7dbzl3qv5";
-  SGr-IosevkaTermSS05 = "1gf04yrbw1fkcm16ja0j81232avrw2hl4x5np7p6x23fskmidqlm";
-  SGr-IosevkaTermSS06 = "1d0mlmfy8x8jw51rr3fp1mahz4q7h9ydy3hwqbacrz2xxg1hm2za";
-  SGr-IosevkaTermSS07 = "0znj6c834iz5cdq9r84jni6rhzrkpg0xd7lsixrydimlrcavrqwh";
-  SGr-IosevkaTermSS08 = "1rkhx6irnd6g6l9xlgqd7sm6q9wknd5kfaxkip4ds9gynmih8r8p";
-  SGr-IosevkaTermSS09 = "0ab3k6y0jkjba84hnw2px9vw9m14q94l6c0j1lnc8yqdn55jabk7";
-  SGr-IosevkaTermSS10 = "069zzvik717wn4yn7f5x1yjd4rgbg2n8j5jwncrn2d0qlmc7kz6k";
-  SGr-IosevkaTermSS11 = "0vzg70icjai477djgx3j4ba4jgzlafmqzq2yx7glrhzfmsfkh8ik";
-  SGr-IosevkaTermSS12 = "19jhp14y8r8q3cwy6674dy6li1gz9pjx163wv13fnnshrbnsax7w";
-  SGr-IosevkaTermSS13 = "03xswh479sqh36pfr2c4kzmj6m5346hgkwd0h9r3q69r40adimvr";
-  SGr-IosevkaTermSS14 = "05vj5fb3zxf4cgvhlf8ic0mig8qc4dzaz107nii894k83mzg6r6x";
-  SGr-IosevkaTermSS15 = "158w6ba9b3j522lfk7886dqc6q79n35csillh9wszrsg2maymlw2";
-  SGr-IosevkaTermSS16 = "0rqhg12m0l9y3wv13sjlbh9ca5skpz8m8785rb42gy9mxyh1phxf";
-  SGr-IosevkaTermSS17 = "097ad53v61zwp17hd4ijihz6i754w0cp4dyx2r8vj1zl5jk71z1z";
-  SGr-IosevkaTermSS18 = "1aa7l55nmj1h7dbcvnk271lkk5m6x161024syqgs102v7615s3sy";
+  Iosevka = "12wc0q6ldgayp2sq4wn43nqzjc1z8p83q80zdbzcn7w2p41a8f14";
+  IosevkaAile = "18v6z8nd65b9p91sk4lhlp49aczs49b9bww5wvv27sjzkaxdmwj9";
+  IosevkaCurly = "19kc7i4qp0z672js7vsa7d662g6m2a8igbxfc4hgyypj2ssn4a3n";
+  IosevkaCurlySlab = "1p7d1ka7qrlfms30qk6ajc6pcw9bnvi76lwhcd2611lb8wg6yyxs";
+  IosevkaEtoile = "08rnbzvlklk1x3vgfb2nqyavw0d2q1s1sj1s8rnn0xhbvgm13qf3";
+  IosevkaSlab = "1lnmqqpn1mxwgazck4gfb4k63ib97gjz0pn1ifkcb4ybzv910v23";
+  IosevkaSS01 = "1m9al5cl419y0602c0qiv9h8b86qp95vkcl76nfxr813aiflw6xb";
+  IosevkaSS02 = "1k1lhlidqawak47rkbn7jhgigk38jrwry5592xr0r2csphiljyn8";
+  IosevkaSS03 = "0qpkg06rj7s2v9wxr03zb9bczg7famd05iyf8pvmhjzmvdll8qhf";
+  IosevkaSS04 = "00p3gkw3hrzhvnkysshqybpxwphr0hpac5wd3kpqz6idyz8vlfmr";
+  IosevkaSS05 = "0gsqrz67jhkzb7hp9k222j0xvajxqwhcmsg71h87msrivkv8mggz";
+  IosevkaSS06 = "10b5md75whi0mkphwqqpbxj91cyd383kwfv6rc0qp2cxs0szb4k5";
+  IosevkaSS07 = "0nc848msm8n6lwy0798mgj5jkx19sm75mv27m73rbpxhy6x92z0l";
+  IosevkaSS08 = "1qjg0j7ymfy05y91yy39bp7zdjh76yh116sapphqp184hzm6wklf";
+  IosevkaSS09 = "1wm2n9mmjfihpqkyhzzy99qwfrqilxd91ysprijwl17r02yz7hnj";
+  IosevkaSS10 = "10lndlhwvgm3vbl8vahhjxjlzjhaw0ihilac3xwpl3cw7889qx0z";
+  IosevkaSS11 = "03k3vn6xax0sx3k232sfzwk8qq3drw8jrjcrhav365ivn0j2y9vy";
+  IosevkaSS12 = "0p2s89isyqa7lcwrxh1c2a0n0ssz2ljij02n6r2v7ir59hxs16v2";
+  IosevkaSS13 = "1cxlr2qidc9k13xmx0w6r6iwszwsdi8jhyy4qzq3h86b1y4znnxl";
+  IosevkaSS14 = "0f7dp68mvax8pjhbl3d4610mw7v41y4xbxy1hm37idb70z22qiz2";
+  IosevkaSS15 = "0sqdxpzpbs7xs8brdrfm7k1245hj33309calaq5qbwb8n687g5zz";
+  IosevkaSS16 = "01dlsjkgap6mmgg288cmc868p60a4v14a87jlvzl5xncpjnv5471";
+  IosevkaSS17 = "1wfj08sn528ymv2xmavxv11c48n5r59m29z35jggba311wlfh96n";
+  IosevkaSS18 = "1x8g3mf8pyg8x5xrnb0sddmwq4pys6dxkm4b888cbzihhw6f0rjr";
+  SGr-Iosevka = "1d668676d18ya4v9yv2crbgivghg3f158hk0n5syas1lg07wsifk";
+  SGr-IosevkaCurly = "1y90whpic089a7km1850afpdsnj3vzjjngp1rx3pwv40aryksx17";
+  SGr-IosevkaCurlySlab = "1qqzwk77380c8cpm0zni8wcg7cy1ypw7gcb8r1jiyp9ddwqz719i";
+  SGr-IosevkaFixed = "0vncfvl2jzajpshb4lrk3m0kxwdcazlzljk986na9shjab7djkf8";
+  SGr-IosevkaFixedCurly = "1bm6l01kn3rgwy94nggz6k382rfgf2piyfqzz4s6hm4ff761z78c";
+  SGr-IosevkaFixedCurlySlab = "199rz6hxblibxqrv5vf3l7mvnk1bvhh6hxl1r5b7zmijc339523y";
+  SGr-IosevkaFixedSlab = "0g48bww7grn51nfg9mqkf9m9j0z9437fgz9qwv6pclm4f6kkwjkl";
+  SGr-IosevkaFixedSS01 = "027c72lzay1nafvb1j65nx5kzh2idssl1h89vkshizqs1rvaiclg";
+  SGr-IosevkaFixedSS02 = "0j1339fihmrlfwgcr45g49fv8my1xgi851z23px40x6y9w2zzi22";
+  SGr-IosevkaFixedSS03 = "0sjajiaf76cvpcx6sq4jdd94rhn9wxlj8gkgrcnhqlxfvbz6lfm4";
+  SGr-IosevkaFixedSS04 = "11wd9pnb4h6gd6ba8bykfvygkh57j82sv59j02bm09f7182y6a0s";
+  SGr-IosevkaFixedSS05 = "09hn2qikh63097kf1khhsfryc51p6sx1yhdi1903dxx71cpifrmy";
+  SGr-IosevkaFixedSS06 = "1g71njn4mfwfi7bbppnlwnb5fp9d2wyy99prqp5h77alc57fkrkr";
+  SGr-IosevkaFixedSS07 = "157a863awg9y4w21h19dbfh6lqd4xwp320j4y9b63bg7zy05k9z0";
+  SGr-IosevkaFixedSS08 = "0qf8ix5ld62gyvg0dihvxrmgf9j6xizszrl2cv94mfrviv6a3px8";
+  SGr-IosevkaFixedSS09 = "1jdhkaks8whr2ix1sfwml6mrky8srxkj25138p1sa8p0s6vkdj2b";
+  SGr-IosevkaFixedSS10 = "1vdj7plf1w4nz77n1b05ccsrg96nllba0kr37dc272awrlgjfpg3";
+  SGr-IosevkaFixedSS11 = "1ldq54ix352m3rnqlppd89nm5ixsjx2i3kd1dmzrz2w0z7v8daa8";
+  SGr-IosevkaFixedSS12 = "1bsl4bpcqkj442r89s3h3ag4dn97sig65nq4j2sf6drgdvy4zdgn";
+  SGr-IosevkaFixedSS13 = "1drzcaxm1d9a5h4xd5847nzqyb88y2wip5rwkvw4sv1icjflibx4";
+  SGr-IosevkaFixedSS14 = "0yjl4c1dbk0i70cwvnhz0mygpaarcr8d60llalmfcgi44g8n19yk";
+  SGr-IosevkaFixedSS15 = "0ixhja4vf32k2qcnycwg15pbcyblnzyf381bl2ri8hb7fjvrxlkn";
+  SGr-IosevkaFixedSS16 = "1arblkllb4bwq6h12cd7mpcn25mi2ab2gq3xrlsgfhyzxi817kjs";
+  SGr-IosevkaFixedSS17 = "1jy5mspd002x12vrmigqjhijyxlivrhxmggqccxg1zcrhyc1hbxn";
+  SGr-IosevkaFixedSS18 = "1fl7ssvgwjs5dv0f6vk1lccqk5cf535g1zgmac6pb2n909rdaljy";
+  SGr-IosevkaSlab = "10c67knfxlbhdj95rqspx2iqlhkv9366kxgkhckfl3zqdbqainkl";
+  SGr-IosevkaSS01 = "0fszjf7n30rqy6m76s0i27dbs5ys0mkw86bpqmcf36amq3irm5i4";
+  SGr-IosevkaSS02 = "03b3s8jq2xc3ffdxfgs2i1siqdvlb51j2ksxh6w6naf08pq6f07l";
+  SGr-IosevkaSS03 = "02njpk8fwxayflm4yddd5nmfaa4rzgy0xy5rscs2wyfmbpi7wh3y";
+  SGr-IosevkaSS04 = "0m7qwzr0ls6vi0hryvbki71h19h9l55fvsagjki87ba3dkwr15d4";
+  SGr-IosevkaSS05 = "18j911mipdkk7v33vcyjvrgfwnk648l1zh706ir2ry53ibrz9apc";
+  SGr-IosevkaSS06 = "13h33c65455j7majzayxfxidi5dzl22dgwfs17m0r6ry1ryjy7gb";
+  SGr-IosevkaSS07 = "1wbza20d4hwq5j93bl58sy98299n88k20l8329ql98v0n2qcgqik";
+  SGr-IosevkaSS08 = "0kam9ngxw3xhhij2wa62fsj7rgs8vgk58p356h5dgby5zsvhayns";
+  SGr-IosevkaSS09 = "0zsb1ww4hxjrcx3qx0pvj6sjr7pm5gv89llqizni7l4crmq40ldc";
+  SGr-IosevkaSS10 = "0qg29zfxrnhygv0ck01srm2lsfdn53xsy7b41iis9n4a43wijw5w";
+  SGr-IosevkaSS11 = "1wd5w0yxm0b6hf9k4i764s4sprsvyhkkakxpfw7670dq13dwm6im";
+  SGr-IosevkaSS12 = "0iafm44462f60dis00xpxqhwmgarx0aj1wsni5rwdvvc453rginy";
+  SGr-IosevkaSS13 = "17b13zdy7hlybgn8607dxgfmagjgrh76wkk353zm08jwm1ng475s";
+  SGr-IosevkaSS14 = "1xc1wdnmb7rfv5wybaz7nyy9w5wnyfmr9dwy5xhbzppfi1kq2062";
+  SGr-IosevkaSS15 = "1aw4bmfqwm8jgn9ycylpj38aw42yf0bk56kc02npassvdckn2i46";
+  SGr-IosevkaSS16 = "04bq4318r4ld2azflcn58pkwx8dhajazl4w58c59633jqsg3z4c8";
+  SGr-IosevkaSS17 = "1nk58x27yjbh888ah68ibk7b2yldxzs2kxp90jix8291iwvhr4d5";
+  SGr-IosevkaSS18 = "0pz600sxlxyjsh99vpphd4xkv6jf1yyxa06mxnlbwkw99vv32fh0";
+  SGr-IosevkaTerm = "0xkh3qsnk0z9w9mnmx2r7i6d2s9zgrpkapn33f8jvdgz2y6f2v49";
+  SGr-IosevkaTermCurly = "16svsk9axx8sd8hj329d4c8x7rac5wis13ks48l037vvghrg86gg";
+  SGr-IosevkaTermCurlySlab = "16br2gqc8g9pgvsp4a77jhg9hijwhi2ndv345k8wdxi2895aw4pa";
+  SGr-IosevkaTermSlab = "0rynlqdry00822jf50hnrjbby9zfd5vzdcl09pzsc7l432qmlr23";
+  SGr-IosevkaTermSS01 = "17vpv27spj25668crwl16484ly94wkp014rg0b8chbj5ml55477v";
+  SGr-IosevkaTermSS02 = "0zfqwdhw9pmgnq0ag5av8b5mwijd6mgwqa74xgwwppsdagg5bs71";
+  SGr-IosevkaTermSS03 = "080fb66mwbq0zf55k01aqf55g61yg74ab92a16g8v71qdnrcb1vi";
+  SGr-IosevkaTermSS04 = "0aqh0mzsbz976w3nymzjjyrj8kdm1x6l27v181sk5gwlyhrhhi0l";
+  SGr-IosevkaTermSS05 = "1jvwmsxkc0a58m7djsay828kcnn3q1ar5k7lrxxzkr6df1pdkpa2";
+  SGr-IosevkaTermSS06 = "0nm9zvvn486cyznnd9g439dl0gisy74q6bj0dmkqifxvyxapcnqk";
+  SGr-IosevkaTermSS07 = "1vh2796zsn8q5ysjysrvv6aarrdrbffwy1h1mki6fkjnv3gyvkmw";
+  SGr-IosevkaTermSS08 = "0saf0cbx96xwn4419bnf3i51sib434wjh4xqkg3nb1lb9aldmjpz";
+  SGr-IosevkaTermSS09 = "0392qnm640nwgmv8js81nl3f6hafx772fh92kyz508cwc4gv1szv";
+  SGr-IosevkaTermSS10 = "0vxwv0szpabx0s8sq59x5l2f5adiiq9pln1k5qrs4rzyc1w2v86b";
+  SGr-IosevkaTermSS11 = "09n5nm7yysl6f18018vvrjq6pxqaqmc9q4jn104svi1ac86i9rrx";
+  SGr-IosevkaTermSS12 = "11zdnyfn240qw5ddll0ci690i60rj3vjg3mpfgzfhp5wxhd81qsp";
+  SGr-IosevkaTermSS13 = "11hna992dn3pv600fifgd9jn1kx1ap02hvw73ny1fsrlfjhi7zip";
+  SGr-IosevkaTermSS14 = "127aiqak8wgy8jc59d2g9wlvfqaclq78d4mkx7gfb0l65ak6afzz";
+  SGr-IosevkaTermSS15 = "1k0yy6f241n97fr454dpyx2hfpa9wbg4sspaxv1hv7ib6ih5nb32";
+  SGr-IosevkaTermSS16 = "1671l8r3aq718f460zm79nhm5k1s0p5d2rhfwxx2z7bqmfsvxp2x";
+  SGr-IosevkaTermSS17 = "1a54xnnr7mmb3l32yb2fckihzpha8g7is3ys7shyg010fmx413fv";
+  SGr-IosevkaTermSS18 = "016rqnghr31mzanb694vxsgi4p13d05yyrdvcqwkwc5rzc9yihls";
 }
diff --git a/pkgs/by-name/io/iosevka/package.nix b/pkgs/by-name/io/iosevka/package.nix
index 612124426426..a7e34e3d1720 100644
--- a/pkgs/by-name/io/iosevka/package.nix
+++ b/pkgs/by-name/io/iosevka/package.nix
@@ -56,16 +56,16 @@ assert (extraParameters != null) -> set != null;
 
 buildNpmPackage rec {
   pname = "Iosevka${toString set}";
-  version = "33.2.4";
+  version = "33.2.5";
 
   src = fetchFromGitHub {
     owner = "be5invis";
     repo = "iosevka";
     rev = "v${version}";
-    hash = "sha256-1QxM9PWZirAKIdd/kzHLDStXbkxTGr0q8GQSER2NEXc=";
+    hash = "sha256-2yIkANG5hnath2EHiRXSKEflFoler9syz4e3AU5jxgU=";
   };
 
-  npmDepsHash = "sha256-1XRbwd1x7ofQGnEth7U8QAHX92QDHMm4OmQAQgZZLTw=";
+  npmDepsHash = "sha256-n6vd2ed4OCUIz3YyOO8Yt/wQJCznrwYCZlg3MRJEX6o=";
 
   nativeBuildInputs =
     [
diff --git a/pkgs/by-name/ip/ipget/package.nix b/pkgs/by-name/ip/ipget/package.nix
index 93af9fef9526..1439acbd300b 100644
--- a/pkgs/by-name/ip/ipget/package.nix
+++ b/pkgs/by-name/ip/ipget/package.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "ipget";
-  version = "0.11.1";
+  version = "0.11.2";
 
   src = fetchFromGitHub {
     owner = "ipfs";
     repo = "ipget";
     rev = "v${version}";
-    hash = "sha256-0dly7XbTNGyfvZd6wYn7Nz3CVRGaZvc4LIuHvX5Asbg=";
+    hash = "sha256-5nddlFaQCGJzzH39DqqBNtdc8IFNSLfDv7yKgA4dR6Y=";
   };
 
-  vendorHash = "sha256-x9mXosWYaNxkk/UyMuvDrhva1/DXNe4w8CsvADN7fyU=";
+  vendorHash = "sha256-miwOJcaSfa4eUIwAt+ewMELzS3Ib023pzFunVSoyBkM=";
 
   postPatch = ''
     # main module (github.com/ipfs/ipget) does not contain package github.com/ipfs/ipget/sharness/dependencies
diff --git a/pkgs/by-name/ip/ipset/package.nix b/pkgs/by-name/ip/ipset/package.nix
index 72bdb9889138..b9dc3f112aaa 100644
--- a/pkgs/by-name/ip/ipset/package.nix
+++ b/pkgs/by-name/ip/ipset/package.nix
@@ -6,13 +6,13 @@
   libmnl,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "ipset";
   version = "7.24";
 
   src = fetchurl {
-    url = "https://ipset.netfilter.org/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-++NCTf8iLBy15cNNOLZFJLIhfOgCJsFP3LsTsp6jYRI=";
+    url = "https://ipset.netfilter.org/ipset-${finalAttrs.version}.tar.bz2";
+    hash = "sha256-++NCTf8iLBy15cNNOLZFJLIhfOgCJsFP3LsTsp6jYRI=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     description = "Administration tool for IP sets";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
+    mainProgram = "ipset";
   };
-}
+})
diff --git a/pkgs/by-name/ip/ipv6calc/package.nix b/pkgs/by-name/ip/ipv6calc/package.nix
index 78b613046583..18405199e661 100644
--- a/pkgs/by-name/ip/ipv6calc/package.nix
+++ b/pkgs/by-name/ip/ipv6calc/package.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ipv6calc";
-  version = "4.3.1";
+  version = "4.3.2";
 
   src = fetchFromGitHub {
     owner = "pbiering";
     repo = "ipv6calc";
     rev = version;
-    sha256 = "sha256-zQ8azAd6q7mY3Jtx58cI2OL/xNZi+aA03y5QWHWjnm4=";
+    sha256 = "sha256-s+B549Ni0AnvAeHD9VnDB67j3quFlqzF1pV/fpvCnlM=";
   };
 
   buildInputs = [
diff --git a/pkgs/by-name/ip/ipxe/package.nix b/pkgs/by-name/ip/ipxe/package.nix
index 8501dda61bd3..f1b2db0e39cf 100644
--- a/pkgs/by-name/ip/ipxe/package.nix
+++ b/pkgs/by-name/ip/ipxe/package.nix
@@ -48,7 +48,7 @@ in
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "ipxe";
-  version = "1.21.1-unstable-2025-05-27";
+  version = "1.21.1-unstable-2025-06-02";
 
   nativeBuildInputs = [
     mtools
@@ -65,8 +65,8 @@ stdenv.mkDerivation (finalAttrs: {
   src = fetchFromGitHub {
     owner = "ipxe";
     repo = "ipxe";
-    rev = "3fe321c42a6032f9608026486015cda185f0d5f0";
-    hash = "sha256-kc1FdkyVerqs8mmzf1WWRvzkP7Nkw3wKltlrJIvyHBw=";
+    rev = "5b3ebf8b24ae40a6f9f9f78491702d508f843e56";
+    hash = "sha256-uGR82lR6gpp6IKBVDsKYLtovnbTiWg3RgbVQt6mug+I=";
   };
 
   # Calling syslinux on a FAT image isn't going to work on Aarch64.
diff --git a/pkgs/by-name/ir/irpf/package.nix b/pkgs/by-name/ir/irpf/package.nix
index 998dcc91ebc1..b7e593ee2dfe 100644
--- a/pkgs/by-name/ir/irpf/package.nix
+++ b/pkgs/by-name/ir/irpf/package.nix
@@ -13,7 +13,7 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "irpf";
-  version = "2025-1.3";
+  version = "2025-1.4";
 
   # https://www.gov.br/receitafederal/pt-br/centrais-de-conteudo/download/pgd/dirpf
   # Para outros sistemas operacionais -> Multi
@@ -23,7 +23,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     in
     fetchzip {
       url = "https://downloadirpf.receita.fazenda.gov.br/irpf/${year}/irpf/arquivos/IRPF${finalAttrs.version}.zip";
-      hash = "sha256-BWCxnKPvkijVkXfbA1iVbdcgLZqY5SAzASqnzdjXwiw=";
+      hash = "sha256-pSnqBvG6Jk6aAOhpWt390oZWqi99htxu5ojWAc7FBeQ=";
     };
 
   passthru.updateScript = writeScript "update-irpf" ''
diff --git a/pkgs/by-name/is/isolate/package.nix b/pkgs/by-name/is/isolate/package.nix
index 18eef4c57a74..3ac84d6a4fac 100644
--- a/pkgs/by-name/is/isolate/package.nix
+++ b/pkgs/by-name/is/isolate/package.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "isolate";
-  version = "2.0";
+  version = "2.1";
 
   src = fetchFromGitHub {
     owner = "ioi";
     repo = "isolate";
     rev = "v${version}";
-    hash = "sha256-kKXkXPVB9ojyIERvEdkHkXC//Agin8FPcpTBmTxh/ZE=";
+    hash = "sha256-mTh2IAh4xtLWlRu7gp3aXsGJdUWXnocvDyi8JZwzz9s=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/is/isponsorblocktv/package.nix b/pkgs/by-name/is/isponsorblocktv/package.nix
index c74dd294cff6..1342fece96dd 100644
--- a/pkgs/by-name/is/isponsorblocktv/package.nix
+++ b/pkgs/by-name/is/isponsorblocktv/package.nix
@@ -7,27 +7,27 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "isponsorblocktv";
-  version = "2.4.0";
+  version = "2.5.3";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "dmunozv04";
     repo = "iSponsorBlockTV";
     tag = "v${version}";
-    hash = "sha256-/lUs4EuifHKKyA8QiLsbqz0h6mxJpsFMjovpYE8+SxY=";
+    hash = "sha256-vxTEec5SMq5zcX70PiRD61aDPJUySuBG0TBQH5Qw8ow=";
   };
 
   patches = [
     # Port iSponsorBlockTV to pyytlounge v3
     (fetchpatch {
-      url = "https://github.com/lukegb/iSponsorBlockTV/commit/89b7b1c029cfbe3b5a481647cdd2d03dec5259ce.patch";
-      hash = "sha256-ISMrNrfPTnEbb0lZbREf+kAniJopWx3FePMGFm4ycJY=";
+      url = "https://github.com/lukegb/iSponsorBlockTV/commit/3b50819fffbea23ef02f24726982a1b3313fa952.patch";
+      hash = "sha256-2adgGE3rBnp+/z+2iblWCxO+6qV9RHx0dqTxv/kjDJU=";
     })
 
     # Update setup_wizard for Textual v3
     (fetchpatch {
-      url = "https://github.com/lukegb/iSponsorBlockTV/commit/89dd1d65335689c73a78509689396888599bbe58.patch";
-      hash = "sha256-hhWXcqNK3b3mXLCK7W0eXNWgP4lPSl6qgB59Fx8+yeA=";
+      url = "https://github.com/lukegb/iSponsorBlockTV/commit/4a3874b781f796ad32e40fc871fee7c080716171.patch";
+      hash = "sha256-kdfAaIuvQovst55sOmKv+zH/7JxN1JHI9aTF0c9fYAY=";
     })
   ];
 
diff --git a/pkgs/by-name/it/itch/package.nix b/pkgs/by-name/it/itch/package.nix
index 5ce46f34f1d8..52724e4d6aff 100644
--- a/pkgs/by-name/it/itch/package.nix
+++ b/pkgs/by-name/it/itch/package.nix
@@ -15,7 +15,7 @@ let
   version = "26.1.9";
 
   itch-setup = fetchzip {
-    url = "https://broth.itch.ovh/itch-setup/linux-amd64/1.26.0/itch-setup.zip";
+    url = "https://broth.itch.zone/itch-setup/linux-amd64/1.26.0/itch-setup.zip";
     stripRoot = false;
     hash = "sha256-5MP6X33Jfu97o5R1n6Og64Bv4ZMxVM0A8lXeQug+bNA=";
   };
@@ -36,7 +36,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
   inherit version;
 
   src = fetchzip {
-    url = "https://broth.itch.ovh/itch/linux-amd64/${finalAttrs.version}/archive/default#.zip";
+    url = "https://broth.itch.zone/itch/linux-amd64/${finalAttrs.version}/archive/default#.zip";
     stripRoot = false;
     hash = "sha256-4k6afBgOKGs7rzXAtIBpmuQeeT/Va8/0bZgNYjuJhgI=";
   };
diff --git a/pkgs/by-name/iw/iwe/package.nix b/pkgs/by-name/iw/iwe/package.nix
index bffacfd5d887..5ef708f8d57a 100644
--- a/pkgs/by-name/iw/iwe/package.nix
+++ b/pkgs/by-name/iw/iwe/package.nix
@@ -7,17 +7,17 @@
 }:
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "iwe";
-  version = "0.0.30";
+  version = "0.0.33";
 
   src = fetchFromGitHub {
     owner = "iwe-org";
     repo = "iwe";
     tag = "iwe-v${finalAttrs.version}";
-    hash = "sha256-KIhBzPFEPayihDPGy9Zlb59Nf5oOiySKCIS0OClqZnU=";
+    hash = "sha256-PjonpAyq6FPJs5mo4W3z9yIVU8auGGtTrK/GBxMcPbk=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-mADJKDRTixToyol9KEtYWsOy/P70itLAtjh3UbqUz9E=";
+  cargoHash = "sha256-EfoDpa2hN9W2unci4rIi4gjlJV2NzdU77FbOW0OTu2c=";
 
   cargoBuildFlags = [
     "--package=iwe"
diff --git a/pkgs/by-name/iw/iwmenu/package.nix b/pkgs/by-name/iw/iwmenu/package.nix
new file mode 100644
index 000000000000..3af0857cf1c1
--- /dev/null
+++ b/pkgs/by-name/iw/iwmenu/package.nix
@@ -0,0 +1,33 @@
+{
+  fetchFromGitHub,
+  lib,
+  rustPlatform,
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "iwmenu";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "e-tho";
+    repo = "iwmenu";
+    tag = "v${version}";
+    hash = "sha256-F1w2Lp0/iXUHh0PXAZ/wD78C2uVtAcWlEKqBI5I/hnE=";
+  };
+
+  cargoHash = "sha256-NjA8n11pOytXsotEQurYxDHPhwXG5vpdlyscmVUIzfA=";
+
+  meta = {
+    homepage = "https://github.com/e-tho/iwmenu";
+    description = "Launcher-driven Wi-Fi manager for Linux";
+    longDescription = ''
+      Use `iwmenu --launcher `
+      Supported launchers are: `dmenu`, `fuzzel`, `rofi`, `walker` and `custom` with `stdin`
+      for details refer to https://github.com/e-tho/iwmenu/blob/main/README.md#usage
+    '';
+    mainProgram = "iwmenu";
+    platforms = lib.platforms.linux;
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ vuimuich ];
+  };
+}
diff --git a/pkgs/by-name/ja/jack_rack/package.nix b/pkgs/by-name/ja/jack_rack/package.nix
deleted file mode 100644
index a8703792a8af..000000000000
--- a/pkgs/by-name/ja/jack_rack/package.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{
-  lib,
-  stdenv,
-  fetchurl,
-  pkg-config,
-  libjack2,
-  ladspaH,
-  gtk2,
-  alsa-lib,
-  libxml2,
-  lrdf,
-}:
-stdenv.mkDerivation rec {
-  pname = "jack-rack";
-  version = "1.4.7";
-  src = fetchurl {
-    url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "1lmibx9gicagcpcisacj6qhq6i08lkl5x8szysjqvbgpxl9qg045";
-  };
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [
-    libjack2
-    ladspaH
-    gtk2
-    alsa-lib
-    libxml2
-    lrdf
-  ];
-  NIX_LDFLAGS = "-lm -lpthread";
-
-  meta = {
-    description = ''An effects "rack" for the JACK low latency audio API'';
-    longDescription = ''
-      JACK Rack is an effects "rack" for the JACK low latency audio
-      API. The rack can be filled with LADSPA effects plugins and can
-      be controlled using the ALSA sequencer. It's phat; it turns your
-      computer into an effects box.
-    '';
-    homepage = "https://jack-rack.sourceforge.net/";
-    license = lib.licenses.gpl2Plus;
-    maintainers = [ lib.maintainers.astsmtl ];
-    platforms = lib.platforms.linux;
-  };
-}
diff --git a/pkgs/by-name/ja/jailer/package.nix b/pkgs/by-name/ja/jailer/package.nix
index 908b1f2decec..f28ad2b6d2f7 100644
--- a/pkgs/by-name/ja/jailer/package.nix
+++ b/pkgs/by-name/ja/jailer/package.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "jailer";
-  version = "16.6.2";
+  version = "16.7";
 
   src = fetchFromGitHub {
     owner = "Wisser";
     repo = "Jailer";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-CeehX+btGexbFFD3p+FVmzXpH0bVWMW9Qdu5q6MJ5lw=";
+    hash = "sha256-lHBthOZu4utJd2X8cTJ7HCp8zLs0su78RIdf/QBbSJk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/ja/java-service-wrapper/package.nix b/pkgs/by-name/ja/java-service-wrapper/package.nix
index 786f042ff1fe..3b45ae5db1db 100644
--- a/pkgs/by-name/ja/java-service-wrapper/package.nix
+++ b/pkgs/by-name/ja/java-service-wrapper/package.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "java-service-wrapper";
-  version = "3.6.1";
+  version = "3.6.2";
 
   src = fetchurl {
     url = "https://wrapper.tanukisoftware.com/download/${finalAttrs.version}/wrapper_${finalAttrs.version}_src.tar.gz";
-    hash = "sha256-wz6gXWv/gGMtC37b0uY+aU3q/GXfrd/Qi0YF9Noi9lg=";
+    hash = "sha256-mt7F4XhtHKUMHi/zAPAbVKH6T75jH9dRLglvfbSpzd0=";
   };
 
   strictDeps = true;
diff --git a/pkgs/by-name/ja/jawiki-all-titles-in-ns0/package.nix b/pkgs/by-name/ja/jawiki-all-titles-in-ns0/package.nix
index cdbc29fd3aab..13029e572d73 100644
--- a/pkgs/by-name/ja/jawiki-all-titles-in-ns0/package.nix
+++ b/pkgs/by-name/ja/jawiki-all-titles-in-ns0/package.nix
@@ -7,13 +7,13 @@
 
 stdenvNoCC.mkDerivation {
   pname = "jawiki-all-titles-in-ns0";
-  version = "0-unstable-2025-05-01";
+  version = "0-unstable-2025-06-01";
 
   src = fetchFromGitHub {
     owner = "musjj";
     repo = "jawiki-archive";
-    rev = "11011d2a5a27251a75a0ce822ed05fa9be7bf878";
-    hash = "sha256-ZTCW14kHfewzCJuT6afGgSi3ZwC4cGiqecEma8Fj2mk=";
+    rev = "044d308be473f2e57eb011fbd3f771bf5ac46e05";
+    hash = "sha256-gVTr1IZqeq8mjktoOW4nZVQWePjMirCKpM4Hbb4xW1A=";
   };
 
   installPhase = ''
diff --git a/pkgs/by-name/jb/jbang/package.nix b/pkgs/by-name/jb/jbang/package.nix
index 2676ee83eb43..f1ab2876cea3 100644
--- a/pkgs/by-name/jb/jbang/package.nix
+++ b/pkgs/by-name/jb/jbang/package.nix
@@ -9,12 +9,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.126.2";
+  version = "0.126.3";
   pname = "jbang";
 
   src = fetchzip {
     url = "https://github.com/jbangdev/jbang/releases/download/v${version}/${pname}-${version}.tar";
-    sha256 = "sha256-sSmkY1OSaPsxoRTrvl/L3LjWexZeLn5t3s8VFGBGTyw=";
+    sha256 = "sha256-8DjSUlYp7RLiYia8Ns3rhqS1cynazlQqiZ8m9jphPtM=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -48,6 +48,9 @@ stdenv.mkDerivation rec {
       downloaded and the java code runs.
     '';
     homepage = "https://www.jbang.dev";
+    sourceProvenance = with lib.sourceTypes; [
+      binaryBytecode
+    ];
     license = licenses.mit;
     platforms = platforms.all;
     maintainers = with maintainers; [ moaxcp ];
diff --git a/pkgs/by-name/jb/jbrowse/package.nix b/pkgs/by-name/jb/jbrowse/package.nix
index fdc5c8e88d9d..89257e37f013 100644
--- a/pkgs/by-name/jb/jbrowse/package.nix
+++ b/pkgs/by-name/jb/jbrowse/package.nix
@@ -6,11 +6,11 @@
 
 let
   pname = "jbrowse";
-  version = "3.5.0";
+  version = "3.5.1";
 
   src = fetchurl {
     url = "https://github.com/GMOD/jbrowse-components/releases/download/v${version}/jbrowse-desktop-v${version}-linux.AppImage";
-    sha256 = "sha256-UAuKbfvJuCDIaERFVYo6rdhBG2ycp87ZnCrVPLDDv9g=";
+    sha256 = "sha256-1swQIG9rCzk2wP7apYo4UjUE+enMK/ZrMu1q4/ahfjA=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/by-name/je/jekyll/basic/Gemfile.lock b/pkgs/by-name/je/jekyll/basic/Gemfile.lock
index 78943763c224..94a9a88d2179 100644
--- a/pkgs/by-name/je/jekyll/basic/Gemfile.lock
+++ b/pkgs/by-name/je/jekyll/basic/Gemfile.lock
@@ -21,17 +21,17 @@ GEM
     bigdecimal (3.1.9)
     colorator (1.1.0)
     concurrent-ruby (1.3.5)
-    connection_pool (2.5.0)
-    csv (3.3.3)
-    drb (2.2.1)
+    connection_pool (2.5.3)
+    csv (3.3.4)
+    drb (2.2.3)
     em-websocket (0.5.3)
       eventmachine (>= 0.12.9)
       http_parser.rb (~> 0)
     eventmachine (1.2.7)
-    ffi (1.17.1)
+    ffi (1.17.2)
     forwardable-extended (2.6.0)
     gemoji (4.1.0)
-    google-protobuf (4.30.1)
+    google-protobuf (4.31.0)
       bigdecimal
       rake (>= 13)
     html-pipeline (2.14.3)
@@ -76,7 +76,7 @@ GEM
       gemoji (>= 3, < 5)
       html-pipeline (~> 2.2)
       jekyll (>= 3.0, < 5.0)
-    json (2.10.2)
+    json (2.12.1)
     kramdown (2.5.1)
       rexml (>= 3.3.9)
     kramdown-parser-gfm (1.1.0)
@@ -85,26 +85,26 @@ GEM
     listen (3.9.0)
       rb-fsevent (~> 0.10, >= 0.10.3)
       rb-inotify (~> 0.9, >= 0.9.10)
-    logger (1.6.6)
+    logger (1.7.0)
     mercenary (0.4.0)
-    mini_portile2 (2.8.8)
+    mini_portile2 (2.8.9)
     minitest (5.25.5)
-    nokogiri (1.18.5)
+    nokogiri (1.18.8)
       mini_portile2 (~> 2.8.2)
       racc (~> 1.4)
     pathutil (0.16.2)
       forwardable-extended (~> 2.6)
-    public_suffix (6.0.1)
+    public_suffix (6.0.2)
     racc (1.8.1)
     rake (13.2.1)
     rb-fsevent (0.11.2)
     rb-inotify (0.11.1)
       ffi (~> 1.0)
     rexml (3.4.1)
-    rouge (4.5.1)
+    rouge (4.5.2)
     safe_yaml (1.0.5)
-    sass-embedded (1.86.0)
-      google-protobuf (~> 4.30)
+    sass-embedded (1.89.0)
+      google-protobuf (~> 4.31)
       rake (>= 13)
     securerandom (0.4.1)
     terminal-table (3.0.2)
@@ -127,4 +127,4 @@ DEPENDENCIES
   jemoji
 
 BUNDLED WITH
-   2.5.22
+   2.6.6
diff --git a/pkgs/by-name/je/jekyll/basic/gemset.nix b/pkgs/by-name/je/jekyll/basic/gemset.nix
index 3170a3e93b7e..5cd66dee072e 100644
--- a/pkgs/by-name/je/jekyll/basic/gemset.nix
+++ b/pkgs/by-name/je/jekyll/basic/gemset.nix
@@ -89,30 +89,30 @@
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "1z7bag6zb2vwi7wp2bkdkmk7swkj6zfnbsnc949qq0wfsgw94fr3";
+      sha256 = "0nrhsk7b3sjqbyl1cah6ibf1kvi3v93a7wf4637d355hp614mmyg";
       type = "gem";
     };
-    version = "2.5.0";
+    version = "2.5.3";
   };
   csv = {
     groups = [ "default" ];
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "0059n2hqiv3afahq1wc4ymr7lpka7vkisvmkx7azgnkvzfz6caby";
+      sha256 = "1kfqg0m6vqs6c67296f10cr07im5mffj90k2b5dsm51liidcsvp9";
       type = "gem";
     };
-    version = "3.3.3";
+    version = "3.3.4";
   };
   drb = {
     groups = [ "default" ];
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "0h5kbj9hvg5hb3c7l425zpds0vb42phvln2knab8nmazg2zp5m79";
+      sha256 = "0wrkl7yiix268s2md1h6wh91311w95ikd8fy8m5gx589npyxc00b";
       type = "gem";
     };
-    version = "2.2.1";
+    version = "2.2.3";
   };
   em-websocket = {
     dependencies = [
@@ -143,10 +143,10 @@
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "0fgwn1grxf4zxmyqmb9i4z2hr111585n9jnk17y6y7hhs7dv1xi6";
+      sha256 = "19kdyjg3kv7x0ad4xsd4swy5izsbb1vl1rpb6qqcqisr5s23awi9";
       type = "gem";
     };
-    version = "1.17.1";
+    version = "1.17.2";
   };
   forwardable-extended = {
     groups = [ "default" ];
@@ -177,10 +177,10 @@
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "0y077m0y4wlbv1n1halxr55b2d1kwa19389ys43qmb3fhqrv920c";
+      sha256 = "14a8pv6npmv3ppp5097rladsynk8fs4w6chlcylkls6xj9ngxdjd";
       type = "gem";
     };
-    version = "4.30.1";
+    version = "4.31.0";
   };
   html-pipeline = {
     dependencies = [
@@ -336,10 +336,10 @@
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "01lbdaizhkxmrw4y8j3wpvsryvnvzmg0pfs56c52laq2jgdfmq1l";
+      sha256 = "0fr0dxwn5a7z5m3i16v66pc35wmwc6mgj9f8dg7ch2bwq42y73zw";
       type = "gem";
     };
-    version = "2.10.2";
+    version = "2.12.1";
   };
   kramdown = {
     dependencies = [ "rexml" ];
@@ -392,10 +392,10 @@
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "05s008w9vy7is3njblmavrbdzyrwwc1fsziffdr58w9pwqj8sqfx";
+      sha256 = "00q2zznygpbls8asz5knjvvj2brr3ghmqxgr83xnrdj4rk3xwvhr";
       type = "gem";
     };
-    version = "1.6.6";
+    version = "1.7.0";
   };
   mercenary = {
     groups = [ "default" ];
@@ -412,10 +412,10 @@
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "0x8asxl83msn815lwmb2d7q5p29p7drhjv5va0byhk60v9n16iwf";
+      sha256 = "12f2830x7pq3kj0v8nz0zjvaw02sv01bqs1zwdrc04704kwcgmqc";
       type = "gem";
     };
-    version = "2.8.8";
+    version = "2.8.9";
   };
   minitest = {
     groups = [ "default" ];
@@ -436,10 +436,10 @@
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "1p1nl5gqs56wlv2gwzdj0px3dw018ywpkg14a4s23b0qjkdgi9n8";
+      sha256 = "0rb306hbky6cxfyc8vrwpvl40fdapjvhsk62h08gg9wwbn3n8x4c";
       type = "gem";
     };
-    version = "1.18.5";
+    version = "1.18.8";
   };
   pathutil = {
     dependencies = [ "forwardable-extended" ];
@@ -457,10 +457,10 @@
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "0vqcw3iwby3yc6avs1vb3gfd0vcp2v7q310665dvxfswmcf4xm31";
+      sha256 = "1543ap9w3ydhx39ljcd675cdz9cr948x9mp00ab8qvq6118wv9xz";
       type = "gem";
     };
-    version = "6.0.1";
+    version = "6.0.2";
   };
   racc = {
     groups = [ "default" ];
@@ -518,10 +518,10 @@
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "1pchwrkr0994v7mh054lcp0na3bk3mj2sk0dc33bn6bhxrnirj1a";
+      sha256 = "18v8if3jix029rr3j8iwisv73facw223353n0h7avl39ibxk6hh3";
       type = "gem";
     };
-    version = "4.5.1";
+    version = "4.5.2";
   };
   safe_yaml = {
     groups = [ "default" ];
@@ -542,10 +542,10 @@
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "1nzma5pcwajmz2002jd96ylszx3jckwg9ml5bbn3hvlrdmn680f0";
+      sha256 = "0h7swk083ispcanyaq85xjzm2a7v8ig2xgslziycphkrjvj7dq4l";
       type = "gem";
     };
-    version = "1.86.0";
+    version = "1.89.0";
   };
   securerandom = {
     groups = [ "default" ];
diff --git a/pkgs/by-name/je/jekyll/full/Gemfile.lock b/pkgs/by-name/je/jekyll/full/Gemfile.lock
index ff20d46b94ed..ac7559bbca2c 100644
--- a/pkgs/by-name/je/jekyll/full/Gemfile.lock
+++ b/pkgs/by-name/je/jekyll/full/Gemfile.lock
@@ -29,26 +29,27 @@ GEM
     coffee-script-source (1.12.2)
     colorator (1.1.0)
     concurrent-ruby (1.3.5)
-    connection_pool (2.5.0)
-    csv (3.3.3)
+    connection_pool (2.5.3)
+    csv (3.3.4)
     date (3.4.1)
-    drb (2.2.1)
+    drb (2.2.3)
     em-websocket (0.5.3)
       eventmachine (>= 0.12.9)
       http_parser.rb (~> 0)
+    erb (5.0.1)
     eventmachine (1.2.7)
     execjs (2.10.0)
-    faraday (2.12.2)
+    faraday (2.13.1)
       faraday-net_http (>= 2.0, < 3.5)
       json
       logger
     faraday-net_http (3.4.0)
       net-http (>= 0.5.0)
     fast-stemmer (1.0.2)
-    ffi (1.17.1)
+    ffi (1.17.2)
     forwardable-extended (2.6.0)
     gemoji (4.1.0)
-    google-protobuf (4.30.1)
+    google-protobuf (4.31.0)
       bigdecimal
       rake (>= 13)
     html-pipeline (2.14.3)
@@ -111,7 +112,7 @@ GEM
       gemoji (>= 3, < 5)
       html-pipeline (~> 2.2)
       jekyll (>= 3.0, < 5.0)
-    json (2.10.2)
+    json (2.12.1)
     kramdown (2.5.1)
       rexml (>= 3.3.9)
     kramdown-parser-gfm (1.1.0)
@@ -125,19 +126,19 @@ GEM
     listen (3.9.0)
       rb-fsevent (~> 0.10, >= 0.10.3)
       rb-inotify (~> 0.9, >= 0.9.10)
-    logger (1.6.6)
+    logger (1.7.0)
     matrix (0.4.2)
     mercenary (0.4.0)
-    mime-types (3.6.1)
+    mime-types (3.7.0)
       logger
-      mime-types-data (~> 3.2015)
-    mime-types-data (3.2025.0318)
+      mime-types-data (~> 3.2025, >= 3.2025.0507)
+    mime-types-data (3.2025.0520)
     mini_magick (4.13.2)
-    mini_portile2 (2.8.8)
+    mini_portile2 (2.8.9)
     minitest (5.25.5)
     net-http (0.6.0)
       uri
-    nokogiri (1.18.5)
+    nokogiri (1.18.8)
       mini_portile2 (~> 2.8.2)
       racc (~> 1.4)
     octokit (4.25.1)
@@ -145,28 +146,29 @@ GEM
       sawyer (~> 0.9)
     pathutil (0.16.2)
       forwardable-extended (~> 2.6)
-    psych (5.2.3)
+    psych (5.2.6)
       date
       stringio
-    public_suffix (6.0.1)
+    public_suffix (6.0.2)
     racc (1.8.1)
     rake (13.2.1)
     rb-fsevent (0.11.2)
     rb-inotify (0.11.1)
       ffi (~> 1.0)
-    rdoc (6.12.0)
+    rdoc (6.14.0)
+      erb
       psych (>= 4.0.0)
     rexml (3.4.1)
-    rouge (4.5.1)
+    rouge (4.5.2)
     safe_yaml (1.0.5)
-    sass-embedded (1.86.0)
-      google-protobuf (~> 4.30)
+    sass-embedded (1.89.0)
+      google-protobuf (~> 4.31)
       rake (>= 13)
     sawyer (0.9.2)
       addressable (>= 2.3.5)
       faraday (>= 0.17.3, < 3)
     securerandom (0.4.1)
-    stringio (3.1.5)
+    stringio (3.1.7)
     terminal-table (3.0.2)
       unicode-display_width (>= 1.1.1, < 3)
     tomlrb (2.0.3)
@@ -204,4 +206,4 @@ DEPENDENCIES
   yajl-ruby (~> 1.4)
 
 BUNDLED WITH
-   2.5.22
+   2.6.6
diff --git a/pkgs/by-name/je/jekyll/full/gemset.nix b/pkgs/by-name/je/jekyll/full/gemset.nix
index a984af7a758e..f28cb0888a1f 100644
--- a/pkgs/by-name/je/jekyll/full/gemset.nix
+++ b/pkgs/by-name/je/jekyll/full/gemset.nix
@@ -156,20 +156,20 @@
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "1z7bag6zb2vwi7wp2bkdkmk7swkj6zfnbsnc949qq0wfsgw94fr3";
+      sha256 = "0nrhsk7b3sjqbyl1cah6ibf1kvi3v93a7wf4637d355hp614mmyg";
       type = "gem";
     };
-    version = "2.5.0";
+    version = "2.5.3";
   };
   csv = {
     groups = [ "default" ];
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "0059n2hqiv3afahq1wc4ymr7lpka7vkisvmkx7azgnkvzfz6caby";
+      sha256 = "1kfqg0m6vqs6c67296f10cr07im5mffj90k2b5dsm51liidcsvp9";
       type = "gem";
     };
-    version = "3.3.3";
+    version = "3.3.4";
   };
   date = {
     groups = [ "default" ];
@@ -186,10 +186,10 @@
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "0h5kbj9hvg5hb3c7l425zpds0vb42phvln2knab8nmazg2zp5m79";
+      sha256 = "0wrkl7yiix268s2md1h6wh91311w95ikd8fy8m5gx589npyxc00b";
       type = "gem";
     };
-    version = "2.2.1";
+    version = "2.2.3";
   };
   em-websocket = {
     dependencies = [
@@ -205,6 +205,16 @@
     };
     version = "0.5.3";
   };
+  erb = {
+    groups = [ "default" ];
+    platforms = [ ];
+    source = {
+      remotes = [ "https://rubygems.org" ];
+      sha256 = "08rc8pzri3g7c85c76x84j05hkk12jvalrm2m3n97k1n7f03j13n";
+      type = "gem";
+    };
+    version = "5.0.1";
+  };
   eventmachine = {
     groups = [ "default" ];
     platforms = [ ];
@@ -235,10 +245,10 @@
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "1mls9g490k63rdmjc9shqshqzznfn1y21wawkxrwp2vvbk13jwqm";
+      sha256 = "0xbv450qj2bx0qz9l2pjrd3kc057y6bglc3na7a78zby8ssiwlyc";
       type = "gem";
     };
-    version = "2.12.2";
+    version = "2.13.1";
   };
   faraday-net_http = {
     dependencies = [ "net-http" ];
@@ -285,10 +295,10 @@
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "0fgwn1grxf4zxmyqmb9i4z2hr111585n9jnk17y6y7hhs7dv1xi6";
+      sha256 = "19kdyjg3kv7x0ad4xsd4swy5izsbb1vl1rpb6qqcqisr5s23awi9";
       type = "gem";
     };
-    version = "1.17.1";
+    version = "1.17.2";
   };
   forwardable-extended = {
     groups = [ "default" ];
@@ -319,10 +329,10 @@
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "0y077m0y4wlbv1n1halxr55b2d1kwa19389ys43qmb3fhqrv920c";
+      sha256 = "14a8pv6npmv3ppp5097rladsynk8fs4w6chlcylkls6xj9ngxdjd";
       type = "gem";
     };
-    version = "4.30.1";
+    version = "4.31.0";
   };
   html-pipeline = {
     dependencies = [
@@ -572,10 +582,10 @@
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "01lbdaizhkxmrw4y8j3wpvsryvnvzmg0pfs56c52laq2jgdfmq1l";
+      sha256 = "0fr0dxwn5a7z5m3i16v66pc35wmwc6mgj9f8dg7ch2bwq42y73zw";
       type = "gem";
     };
-    version = "2.10.2";
+    version = "2.12.1";
   };
   kramdown = {
     dependencies = [ "rexml" ];
@@ -691,10 +701,10 @@
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "05s008w9vy7is3njblmavrbdzyrwwc1fsziffdr58w9pwqj8sqfx";
+      sha256 = "00q2zznygpbls8asz5knjvvj2brr3ghmqxgr83xnrdj4rk3xwvhr";
       type = "gem";
     };
-    version = "1.6.6";
+    version = "1.7.0";
   };
   matrix = {
     groups = [ "default" ];
@@ -744,20 +754,20 @@
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "02sxpw9k3frbxbdj79hvzmzgpvlbv8gj0flrlwhkzk5s1sjjchs8";
+      sha256 = "0mjyxl7c0xzyqdqa8r45hqg7jcw2prp3hkp39mdf223g4hfgdsyw";
       type = "gem";
     };
-    version = "3.6.1";
+    version = "3.7.0";
   };
   mime-types-data = {
     groups = [ "default" ];
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "0lcf074hrgd9f7a4fnlgb7203jk6846i7jbpjw5c2nqxwbsqjrlz";
+      sha256 = "042zxrr8xm9nijn7jp0qnrwns32sv5m814ifkbpil8a3kv47ixci";
       type = "gem";
     };
-    version = "3.2025.0318";
+    version = "3.2025.0520";
   };
   mini_magick = {
     groups = [ "default" ];
@@ -774,10 +784,10 @@
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "0x8asxl83msn815lwmb2d7q5p29p7drhjv5va0byhk60v9n16iwf";
+      sha256 = "12f2830x7pq3kj0v8nz0zjvaw02sv01bqs1zwdrc04704kwcgmqc";
       type = "gem";
     };
-    version = "2.8.8";
+    version = "2.8.9";
   };
   minitest = {
     groups = [ "default" ];
@@ -809,10 +819,10 @@
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "1p1nl5gqs56wlv2gwzdj0px3dw018ywpkg14a4s23b0qjkdgi9n8";
+      sha256 = "0rb306hbky6cxfyc8vrwpvl40fdapjvhsk62h08gg9wwbn3n8x4c";
       type = "gem";
     };
-    version = "1.18.5";
+    version = "1.18.8";
   };
   octokit = {
     dependencies = [
@@ -848,20 +858,20 @@
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "1vjrx3yd596zzi42dcaq5xw7hil1921r769dlbz08iniaawlp9c4";
+      sha256 = "0vii1xc7x81hicdbp7dlllhmbw5w3jy20shj696n0vfbbnm2hhw1";
       type = "gem";
     };
-    version = "5.2.3";
+    version = "5.2.6";
   };
   public_suffix = {
     groups = [ "default" ];
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "0vqcw3iwby3yc6avs1vb3gfd0vcp2v7q310665dvxfswmcf4xm31";
+      sha256 = "1543ap9w3ydhx39ljcd675cdz9cr948x9mp00ab8qvq6118wv9xz";
       type = "gem";
     };
-    version = "6.0.1";
+    version = "6.0.2";
   };
   racc = {
     groups = [ "default" ];
@@ -905,15 +915,18 @@
     version = "0.11.1";
   };
   rdoc = {
-    dependencies = [ "psych" ];
+    dependencies = [
+      "erb"
+      "psych"
+    ];
     groups = [ "default" ];
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "1q2nkyk6r3m15a2an7lwm4ilkcxzdh3j93s4ib8sbzqb0xp70vvx";
+      sha256 = "1nyp5vc9nm46nc3aq58f2lackgbip4ynxmznzi1qg6qjsxcdwiic";
       type = "gem";
     };
-    version = "6.12.0";
+    version = "6.14.0";
   };
   rexml = {
     groups = [ "default" ];
@@ -930,10 +943,10 @@
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "1pchwrkr0994v7mh054lcp0na3bk3mj2sk0dc33bn6bhxrnirj1a";
+      sha256 = "18v8if3jix029rr3j8iwisv73facw223353n0h7avl39ibxk6hh3";
       type = "gem";
     };
-    version = "4.5.1";
+    version = "4.5.2";
   };
   safe_yaml = {
     groups = [ "default" ];
@@ -954,10 +967,10 @@
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "1nzma5pcwajmz2002jd96ylszx3jckwg9ml5bbn3hvlrdmn680f0";
+      sha256 = "0h7swk083ispcanyaq85xjzm2a7v8ig2xgslziycphkrjvj7dq4l";
       type = "gem";
     };
-    version = "1.86.0";
+    version = "1.89.0";
   };
   sawyer = {
     dependencies = [
@@ -988,10 +1001,10 @@
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "1j1mgvrgkxhadi6nb6pz1kcff7gsb5aivj1vfhsia4ssa5hj9adw";
+      sha256 = "1yh78pg6lm28c3k0pfd2ipskii1fsraq46m6zjs5yc9a4k5vfy2v";
       type = "gem";
     };
-    version = "3.1.5";
+    version = "3.1.7";
   };
   terminal-table = {
     dependencies = [ "unicode-display_width" ];
diff --git a/pkgs/by-name/je/jellyfin-ffmpeg/package.nix b/pkgs/by-name/je/jellyfin-ffmpeg/package.nix
index aa6749446c02..2ea601d35048 100644
--- a/pkgs/by-name/je/jellyfin-ffmpeg/package.nix
+++ b/pkgs/by-name/je/jellyfin-ffmpeg/package.nix
@@ -5,7 +5,7 @@
 }:
 
 let
-  version = "7.1.1-3";
+  version = "7.1.1-6";
 in
 
 (ffmpeg_7-full.override {
@@ -14,7 +14,7 @@ in
     owner = "jellyfin";
     repo = "jellyfin-ffmpeg";
     rev = "v${version}";
-    hash = "sha256-pJLIhXDPDRhEqzmc1bXViSTSnRifFhMlixkEbGA0GRE=";
+    hash = "sha256-mXPiNSI/c1CEblUxOC69gRRcPgDlopmHGHFE2r7RaHk=";
   };
 }).overrideAttrs
   (old: {
@@ -25,6 +25,9 @@ in
       "--disable-ptx-compression" # https://github.com/jellyfin/jellyfin/issues/7944#issuecomment-1156880067
     ];
 
+    # Clobber upstream patches as they don't apply to the Jellyfin fork
+    patches = [ ];
+
     postPatch = ''
       for file in $(cat debian/patches/series); do
         patch -p1 < debian/patches/$file
diff --git a/pkgs/by-name/je/jet/package.nix b/pkgs/by-name/je/jet/package.nix
index de4c48c353ae..05acfa309648 100644
--- a/pkgs/by-name/je/jet/package.nix
+++ b/pkgs/by-name/je/jet/package.nix
@@ -3,15 +3,14 @@
   buildGraalvmNativeImage,
   fetchurl,
   testers,
-  jet,
 }:
 
-buildGraalvmNativeImage rec {
+buildGraalvmNativeImage (finalAttrs: {
   pname = "jet";
   version = "0.7.27";
 
   src = fetchurl {
-    url = "https://github.com/borkdude/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
+    url = "https://github.com/borkdude/jet/releases/download/v${finalAttrs.version}/jet-${finalAttrs.version}-standalone.jar";
     sha256 = "sha256-250/1DBNCXlU1b4jjLUUOXI+uSbOyPXtBN1JJRpdmFc=";
   };
 
@@ -23,16 +22,17 @@ buildGraalvmNativeImage rec {
   ];
 
   passthru.tests.version = testers.testVersion {
-    inherit version;
-    package = jet;
+    inherit (finalAttrs) version;
+    package = finalAttrs.finalPackage;
     command = "jet --version";
   };
 
-  meta = with lib; {
+  meta = {
     description = "CLI to transform between JSON, EDN, YAML and Transit, powered with a minimal query language";
     homepage = "https://github.com/borkdude/jet";
-    sourceProvenance = with sourceTypes; [ binaryBytecode ];
-    license = licenses.epl10;
-    maintainers = with maintainers; [ ericdallo ];
+    sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
+    license = lib.licenses.epl10;
+    maintainers = with lib.maintainers; [ ericdallo ];
+    mainProgram = "jet";
   };
-}
+})
diff --git a/pkgs/by-name/je/jetbrains-toolbox/package.nix b/pkgs/by-name/je/jetbrains-toolbox/package.nix
index bcad3fc51150..c2ffbfd54493 100644
--- a/pkgs/by-name/je/jetbrains-toolbox/package.nix
+++ b/pkgs/by-name/je/jetbrains-toolbox/package.nix
@@ -55,9 +55,6 @@ let
     src = appimageTools.extractType2 {
       inherit pname version;
       src = source + "/jetbrains-toolbox";
-      postExtract = ''
-        patchelf --add-rpath ${lib.makeLibraryPath [ icu ]} $out/jetbrains-toolbox
-      '';
     };
 
     nativeBuildInputs = [ makeWrapper ];
@@ -66,7 +63,12 @@ let
       install -Dm644 ${src}/jetbrains-toolbox.desktop $out/share/applications/jetbrains-toolbox.desktop
       install -Dm644 ${src}/.DirIcon $out/share/icons/hicolor/scalable/apps/jetbrains-toolbox.svg
       wrapProgram $out/bin/jetbrains-toolbox \
-        --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libappindicator-gtk3 ]} \
+        --prefix LD_LIBRARY_PATH : ${
+          lib.makeLibraryPath [
+            icu
+            libappindicator-gtk3
+          ]
+        } \
         --append-flags "--update-failed"
     '';
 
diff --git a/pkgs/by-name/ji/jikespg/package.nix b/pkgs/by-name/ji/jikespg/package.nix
deleted file mode 100644
index 3651ebe31567..000000000000
--- a/pkgs/by-name/ji/jikespg/package.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{
-  lib,
-  stdenv,
-  fetchurl,
-}:
-
-stdenv.mkDerivation rec {
-  pname = "jikespg";
-  version = "1.3";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/jikes/${pname}-${version}.tar.gz";
-    sha256 = "083ibfxaiw1abxmv1crccx1g6sixkbyhxn2hsrlf6fwii08s6rgw";
-  };
-
-  postPatch = ''
-    substituteInPlace Makefile --replace-fail "gcc" "${stdenv.cc.targetPrefix}cc ${lib.optionalString stdenv.hostPlatform.isDarwin "-std=c89"}"
-  '';
-
-  sourceRoot = "jikespg/src";
-
-  installPhase = ''
-    install -Dm755 -t $out/bin jikespg
-  '';
-
-  meta = with lib; {
-    homepage = "https://jikes.sourceforge.net/";
-    description = "Jikes Parser Generator";
-    mainProgram = "jikespg";
-    platforms = platforms.all;
-    license = licenses.ipl10;
-    maintainers = with maintainers; [ pSub ];
-  };
-}
diff --git a/pkgs/by-name/ji/jinja-lsp/package.nix b/pkgs/by-name/ji/jinja-lsp/package.nix
index a89f08013e2b..7e971d66807f 100644
--- a/pkgs/by-name/ji/jinja-lsp/package.nix
+++ b/pkgs/by-name/ji/jinja-lsp/package.nix
@@ -5,17 +5,17 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "jinja-lsp";
-  version = "0.1.85";
+  version = "0.1.89";
 
   src = fetchFromGitHub {
     owner = "uros-5";
     repo = "jinja-lsp";
     tag = "v${version}";
-    hash = "sha256-/4A9IiSeskRKblcZIpsMgZsqYE6eBSeyHPpO/owCGD8=";
+    hash = "sha256-K+7HS1dtDtHNMIseXopWzkFM3wC5b/sfYeHI3vxw74Q=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-14zMp2Z2GG4IC2DWzbzv07GAph4q6pHFJTyy67jisXg=";
+  cargoHash = "sha256-TxpQ5kGGjEXNSzLdcwVmzuD189xcX1ndYRdRvLTlIQw=";
 
   cargoBuildFlags = [
     "-p"
diff --git a/pkgs/by-name/jj/jjui/package.nix b/pkgs/by-name/jj/jjui/package.nix
index 0da332f659bb..4c963b3e3670 100644
--- a/pkgs/by-name/jj/jjui/package.nix
+++ b/pkgs/by-name/jj/jjui/package.nix
@@ -3,19 +3,26 @@
   buildGoModule,
   fetchFromGitHub,
   nix-update-script,
+  versionCheckHook,
 }:
 buildGoModule (finalAttrs: {
   pname = "jjui";
-  version = "0.8.8";
+  version = "0.8.11";
 
   src = fetchFromGitHub {
     owner = "idursun";
     repo = "jjui";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-5gDEcwS14Hur/Mw/vALPU+EVC5BJxdgjFbpzz1kcSKM=";
+    hash = "sha256-MBW0hjwyR0jguCWNnXiqZL0xa+vV9f2Ojfb2/61o9KY=";
   };
 
-  vendorHash = "sha256-YlOK+NvyH/3uvvFcCZixv2+Y2m26TP8+ohUSdl3ppro=";
+  vendorHash = "sha256-2nUU5rrVWBk+9ljC+OiAVLcRnWghPPfpvq5yoNSRdVk=";
+
+  ldflags = [ "-X main.Version=${finalAttrs.version}" ];
+
+  doInstallCheck = true;
+  nativeInstallCheckInputs = [ versionCheckHook ];
+  versionCheckProgramArg = "-version";
 
   passthru.updateScript = nix-update-script { };
 
diff --git a/pkgs/by-name/jo/joker/package.nix b/pkgs/by-name/jo/joker/package.nix
index a6f72ab65ce8..0dc2aacbdf50 100644
--- a/pkgs/by-name/jo/joker/package.nix
+++ b/pkgs/by-name/jo/joker/package.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "joker";
-  version = "1.4.1";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "candid82";
     repo = "joker";
-    sha256 = "sha256-Hylb7yTc7ocmm1fnTkwYTt/GwudXLZSRTh9p+38Euqk=";
+    sha256 = "sha256-FdmCNn4vfTpodpyESKd3PThqVCSJ+Mz3gfUDGDQvPCo=";
   };
 
-  vendorHash = "sha256-t/28kTJVgVoe7DgGzNgA1sYKoA6oNC46AeJSrW/JetU=";
+  vendorHash = "sha256-4j8+NEvudeEhBkwlS7CgNhLNB7maTE46tqZeG9oqs7w=";
 
   doCheck = false;
 
diff --git a/pkgs/by-name/jo/joshuto/package.nix b/pkgs/by-name/jo/joshuto/package.nix
index 72e1c48a3d94..8ee2f19fd5b2 100644
--- a/pkgs/by-name/jo/joshuto/package.nix
+++ b/pkgs/by-name/jo/joshuto/package.nix
@@ -8,17 +8,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "joshuto";
-  version = "0.9.8-unstable-2024-07-20";
+  version = "0.9.9";
 
   src = fetchFromGitHub {
     owner = "kamiyaa";
     repo = "joshuto";
-    rev = "d10ca32f8a2fea1afb6a5466b7dd29513066c996";
-    hash = "sha256-T5NfPPl8bAp3pcY1A7Dm37wC3+xrtYdoGEe4QOYgwUw=";
+    rev = "v${version}";
+    hash = "sha256-hfu3Verbrq0to3I5/gX6ZhVr7ewjHNamzvaUcmcUIRU=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-By7vwdNocNDQAbeD6CUcp0OOlqs5oZ2WLdE4VHSh3cI=";
+  cargoHash = "sha256-K/++/NdOLSvhxQ8LBS+jnthCRJxScoOjWSp7pmfHVaQ=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/by-name/jp/jp-zip-codes/package.nix b/pkgs/by-name/jp/jp-zip-codes/package.nix
index a3f8e8c8bc49..38083cd8a7db 100644
--- a/pkgs/by-name/jp/jp-zip-codes/package.nix
+++ b/pkgs/by-name/jp/jp-zip-codes/package.nix
@@ -7,15 +7,15 @@
 
 stdenvNoCC.mkDerivation {
   pname = "jp-zip-code";
-  version = "0-unstable-2025-05-01";
+  version = "0-unstable-2025-06-01";
 
   # This package uses a mirror as the source because the
   # original provider uses the same URL for updated content.
   src = fetchFromGitHub {
     owner = "musjj";
     repo = "jp-zip-codes";
-    rev = "3c1c1db248113ad37fac18ede96b5936866a9726";
-    hash = "sha256-BAS7Iqzoxbt77uRh99n0rUC+0+OVgkB7OEIEgZMoDAk=";
+    rev = "21fe2a207b97b208897fe4d5d9e0d13d6bbc5aff";
+    hash = "sha256-iFNREQGB+rEIxkGhT7CO3ky+BecAvp4GRprPJWRgL7E=";
   };
 
   installPhase = ''
diff --git a/pkgs/by-name/jq/jq/0001-Improve-performance-of-repeating-strings-3272.patch b/pkgs/by-name/jq/jq/0001-Improve-performance-of-repeating-strings-3272.patch
deleted file mode 100644
index 90a9f5601b83..000000000000
--- a/pkgs/by-name/jq/jq/0001-Improve-performance-of-repeating-strings-3272.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-From c15fc903e00fdd3b460e64d5a6a540f944e1eca6 Mon Sep 17 00:00:00 2001
-From: itchyny 
-Date: Tue, 4 Mar 2025 22:13:55 +0900
-Subject: [PATCH 1/5] Improve performance of repeating strings (#3272)
-
-This commit improves the performance of repeating strings, by copying
-the result string instead of the string being repeated. Also it adds
-an error message when the result string is too long.
----
- src/builtin.c | 15 ++-------------
- src/jv.c      | 26 ++++++++++++++++++++++++++
- src/jv.h      |  1 +
- tests/jq.test | 12 ++++++++++++
- 4 files changed, 41 insertions(+), 13 deletions(-)
-
-diff --git a/src/builtin.c b/src/builtin.c
-index 902490d..abb99f4 100644
---- a/src/builtin.c
-+++ b/src/builtin.c
-@@ -369,21 +369,10 @@ jv binop_multiply(jv a, jv b) {
-       str = b;
-       num = a;
-     }
--    jv res;
-     double d = jv_number_value(num);
--    if (d < 0 || isnan(d)) {
--      res = jv_null();
--    } else {
--      int n = d;
--      size_t alen = jv_string_length_bytes(jv_copy(str));
--      res = jv_string_empty(alen * n);
--      for (; n > 0; n--) {
--        res = jv_string_append_buf(res, jv_string_value(str), alen);
--      }
--    }
--    jv_free(str);
-     jv_free(num);
--    return res;
-+    return jv_string_repeat(str,
-+        d < 0 || isnan(d) ? -1 : d > INT_MAX ? INT_MAX : (int)d);
-   } else if (ak == JV_KIND_OBJECT && bk == JV_KIND_OBJECT) {
-     return jv_object_merge_recursive(a, b);
-   } else {
-diff --git a/src/jv.c b/src/jv.c
-index e23d8ec..e0478c8 100644
---- a/src/jv.c
-+++ b/src/jv.c
-@@ -1291,6 +1291,32 @@ jv jv_string_indexes(jv j, jv k) {
-   return a;
- }
- 
-+jv jv_string_repeat(jv j, int n) {
-+  assert(JVP_HAS_KIND(j, JV_KIND_STRING));
-+  if (n < 0) {
-+    jv_free(j);
-+    return jv_null();
-+  }
-+  int len = jv_string_length_bytes(jv_copy(j));
-+  int64_t res_len = (int64_t)len * n;
-+  if (res_len >= INT_MAX) {
-+    jv_free(j);
-+    return jv_invalid_with_msg(jv_string("Repeat string result too long"));
-+  }
-+  if (res_len == 0) {
-+    jv_free(j);
-+    return jv_string("");
-+  }
-+  jv res = jv_string_empty(res_len);
-+  res = jvp_string_append(res, jv_string_value(j), len);
-+  for (int curr = len, grow; curr < res_len; curr += grow) {
-+    grow = MIN(res_len - curr, curr);
-+    res = jvp_string_append(res, jv_string_value(res), grow);
-+  }
-+  jv_free(j);
-+  return res;
-+}
-+
- jv jv_string_split(jv j, jv sep) {
-   assert(JVP_HAS_KIND(j, JV_KIND_STRING));
-   assert(JVP_HAS_KIND(sep, JV_KIND_STRING));
-diff --git a/src/jv.h b/src/jv.h
-index 083509e..a9b13ae 100644
---- a/src/jv.h
-+++ b/src/jv.h
-@@ -131,6 +131,7 @@ jv jv_string_fmt(const char*, ...) JV_PRINTF_LIKE(1, 2);
- jv jv_string_append_codepoint(jv a, uint32_t c);
- jv jv_string_append_buf(jv a, const char* buf, int len);
- jv jv_string_append_str(jv a, const char* str);
-+jv jv_string_repeat(jv j, int n);
- jv jv_string_split(jv j, jv sep);
- jv jv_string_explode(jv j);
- jv jv_string_implode(jv j);
-diff --git a/tests/jq.test b/tests/jq.test
-index 7036df2..e82cf84 100644
---- a/tests/jq.test
-+++ b/tests/jq.test
-@@ -1365,6 +1365,18 @@ indices(", ")
- "abc"
- [null,null]
- 
-+. * 100000 | [.[:10],.[-10:]]
-+"abc"
-+["abcabcabca","cabcabcabc"]
-+
-+. * 1000000000
-+""
-+""
-+
-+try (. * 1000000000) catch .
-+"abc"
-+"Repeat string result too long"
-+
- [.[] / ","]
- ["a, bc, def, ghij, jklmn, a,b, c,d, e,f", "a,b,c,d, e,f,g,h"]
- [["a"," bc"," def"," ghij"," jklmn"," a","b"," c","d"," e","f"],["a","b","c","d"," e","f","g","h"]]
--- 
-2.49.0
-
diff --git a/pkgs/by-name/jq/jq/0002-fix-jv_number_value-should-cache-the-double-value-of.patch b/pkgs/by-name/jq/jq/0002-fix-jv_number_value-should-cache-the-double-value-of.patch
deleted file mode 100644
index 17da9af6ca41..000000000000
--- a/pkgs/by-name/jq/jq/0002-fix-jv_number_value-should-cache-the-double-value-of.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From df0ddb83feb656230157f5bc9b7f34caef1f82be Mon Sep 17 00:00:00 2001
-From: itchyny 
-Date: Sun, 16 Feb 2025 22:08:36 +0900
-Subject: [PATCH 2/5] fix: `jv_number_value` should cache the double value of
- literal numbers (#3245)
-
-The code of `jv_number_value` is intended to cache the double value of
-literal numbers, but it does not work because it accepts the `jv` struct
-by value. This patch fixes the behavior by checking if the double value
-is `NaN`, which indicates the unconverted value. This patch improves the
-performance of major use cases; e.g. `range(1000000)` runs 25% faster.
----
- src/jv.c | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/src/jv.c b/src/jv.c
-index e0478c8..418d57d 100644
---- a/src/jv.c
-+++ b/src/jv.c
-@@ -206,9 +206,6 @@ enum {
-   JVP_NUMBER_DECIMAL = 1
- };
- 
--#define JV_NUMBER_SIZE_INIT      (0)
--#define JV_NUMBER_SIZE_CONVERTED (1)
--
- #define JVP_FLAGS_NUMBER_NATIVE       JVP_MAKE_FLAGS(JV_KIND_NUMBER, JVP_MAKE_PFLAGS(JVP_NUMBER_NATIVE, 0))
- #define JVP_FLAGS_NUMBER_LITERAL      JVP_MAKE_FLAGS(JV_KIND_NUMBER, JVP_MAKE_PFLAGS(JVP_NUMBER_DECIMAL, 1))
- 
-@@ -589,8 +586,12 @@ static jv jvp_literal_number_new(const char * literal) {
-     jv_mem_free(n);
-     return JV_INVALID;
-   }
-+  if (decNumberIsNaN(&n->num_decimal)) {
-+    jv_mem_free(n);
-+    return jv_number(NAN);
-+  }
- 
--  jv r = {JVP_FLAGS_NUMBER_LITERAL, 0, 0, JV_NUMBER_SIZE_INIT, {&n->refcnt}};
-+  jv r = {JVP_FLAGS_NUMBER_LITERAL, 0, 0, 0, {&n->refcnt}};
-   return r;
- }
- 
-@@ -698,9 +699,8 @@ double jv_number_value(jv j) {
-   if (JVP_HAS_FLAGS(j, JVP_FLAGS_NUMBER_LITERAL)) {
-     jvp_literal_number* n = jvp_literal_number_ptr(j);
- 
--    if (j.size != JV_NUMBER_SIZE_CONVERTED) {
-+    if (isnan(n->num_double)) {
-       n->num_double = jvp_literal_number_to_double(j);
--      j.size = JV_NUMBER_SIZE_CONVERTED;
-     }
- 
-     return n->num_double;
-@@ -731,7 +731,7 @@ int jvp_number_is_nan(jv n) {
-     return decNumberIsNaN(pdec);
-   }
- #endif
--  return n.u.number != n.u.number;
-+  return isnan(n.u.number);
- }
- 
- int jvp_number_cmp(jv a, jv b) {
--- 
-2.49.0
-
diff --git a/pkgs/by-name/jq/jq/0003-Reject-NaN-with-payload-while-parsing-JSON.patch b/pkgs/by-name/jq/jq/0003-Reject-NaN-with-payload-while-parsing-JSON.patch
deleted file mode 100644
index cf3135d2a3a3..000000000000
--- a/pkgs/by-name/jq/jq/0003-Reject-NaN-with-payload-while-parsing-JSON.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From dfd25612454deacb6df47329787844795bf59821 Mon Sep 17 00:00:00 2001
-From: itchyny 
-Date: Wed, 5 Mar 2025 07:43:54 +0900
-Subject: [PATCH 3/5] Reject NaN with payload while parsing JSON
-
-This commit drops support for parsing NaN with payload in JSON like
-`NaN123` and fixes CVE-2024-53427. Other JSON extensions like `NaN` and
-`Infinity` are still supported. Fixes #3023, fixes #3196, fixes #3246.
----
- src/jv.c      |  5 +++++
- tests/jq.test | 14 ++++++++++----
- tests/shtest  |  5 -----
- 3 files changed, 15 insertions(+), 9 deletions(-)
-
-diff --git a/src/jv.c b/src/jv.c
-index 418d57d..6147775 100644
---- a/src/jv.c
-+++ b/src/jv.c
-@@ -587,6 +587,11 @@ static jv jvp_literal_number_new(const char * literal) {
-     return JV_INVALID;
-   }
-   if (decNumberIsNaN(&n->num_decimal)) {
-+    // Reject NaN with payload.
-+    if (n->num_decimal.digits > 1 || *n->num_decimal.lsu != 0) {
-+      jv_mem_free(n);
-+      return JV_INVALID;
-+    }
-     jv_mem_free(n);
-     return jv_number(NAN);
-   }
-diff --git a/tests/jq.test b/tests/jq.test
-index e82cf84..97835f2 100644
---- a/tests/jq.test
-+++ b/tests/jq.test
-@@ -1950,11 +1950,17 @@ tojson | fromjson
- {"a":nan}
- {"a":null}
- 
--# also "nan with payload" #2985
--fromjson | isnan
--"nan1234"
-+# NaN with payload is not parsed
-+.[] | try (fromjson | isnan) catch .
-+["NaN","-NaN","NaN1","NaN10","NaN100","NaN1000","NaN10000","NaN100000"]
- true
--
-+true
-+"Invalid numeric literal at EOF at line 1, column 4 (while parsing 'NaN1')"
-+"Invalid numeric literal at EOF at line 1, column 5 (while parsing 'NaN10')"
-+"Invalid numeric literal at EOF at line 1, column 6 (while parsing 'NaN100')"
-+"Invalid numeric literal at EOF at line 1, column 7 (while parsing 'NaN1000')"
-+"Invalid numeric literal at EOF at line 1, column 8 (while parsing 'NaN10000')"
-+"Invalid numeric literal at EOF at line 1, column 9 (while parsing 'NaN100000')"
- 
- # calling input/0, or debug/0 in a test doesn't crash jq
- 
-diff --git a/tests/shtest b/tests/shtest
-index 14aafbf..a471889 100755
---- a/tests/shtest
-+++ b/tests/shtest
-@@ -594,11 +594,6 @@ if ! x=$($JQ -n "1 # foo$cr + 2") || [ "$x" != 1 ]; then
-   exit 1
- fi
- 
--# CVE-2023-50268: No stack overflow comparing a nan with a large payload
--$VALGRIND $Q $JQ '1 != .' <<\EOF >/dev/null
--Nan4000
--EOF
--
- # Allow passing the inline jq script before -- #2919
- if ! r=$($JQ --args -rn -- '$ARGS.positional[0]' bar) || [ "$r" != bar ]; then
-     echo "passing the inline script after -- didn't work"
--- 
-2.49.0
-
diff --git a/pkgs/by-name/jq/jq/0004-Fix-signed-integer-overflow-in-jvp_array_write-and-j.patch b/pkgs/by-name/jq/jq/0004-Fix-signed-integer-overflow-in-jvp_array_write-and-j.patch
deleted file mode 100644
index 8a54eb3ad056..000000000000
--- a/pkgs/by-name/jq/jq/0004-Fix-signed-integer-overflow-in-jvp_array_write-and-j.patch
+++ /dev/null
@@ -1,215 +0,0 @@
-From dc65d5af447f266d8a4037551e028785aab31e04 Mon Sep 17 00:00:00 2001
-From: itchyny 
-Date: Wed, 21 May 2025 07:45:00 +0900
-Subject: [PATCH 4/5] Fix signed integer overflow in jvp_array_write and
- jvp_object_rehash
-
-This commit fixes signed integer overflow and SEGV issues on growing
-arrays and objects. The size of arrays and objects is now limited to
-`536870912` (`0x20000000`). This fixes CVE-2024-23337 and fixes #3262.
----
- src/jv.c      | 45 ++++++++++++++++++++++++++++++++++++---------
- src/jv_aux.c  |  9 +++++----
- tests/jq.test |  4 ++++
- 3 files changed, 45 insertions(+), 13 deletions(-)
-
-diff --git a/src/jv.c b/src/jv.c
-index 6147775..6e8cdd3 100644
---- a/src/jv.c
-+++ b/src/jv.c
-@@ -997,6 +997,11 @@ jv jv_array_set(jv j, int idx, jv val) {
-     jv_free(val);
-     return jv_invalid_with_msg(jv_string("Out of bounds negative array index"));
-   }
-+  if (idx > (INT_MAX >> 2) - jvp_array_offset(j)) {
-+    jv_free(j);
-+    jv_free(val);
-+    return jv_invalid_with_msg(jv_string("Array index too large"));
-+  }
-   // copy/free of val,j coalesced
-   jv* slot = jvp_array_write(&j, idx);
-   jv_free(*slot);
-@@ -1016,6 +1021,7 @@ jv jv_array_concat(jv a, jv b) {
-   // FIXME: could be faster
-   jv_array_foreach(b, i, elem) {
-     a = jv_array_append(a, elem);
-+    if (!jv_is_valid(a)) break;
-   }
-   jv_free(b);
-   return a;
-@@ -1288,6 +1294,7 @@ jv jv_string_indexes(jv j, jv k) {
-     p = jstr;
-     while ((p = _jq_memmem(p, (jstr + jlen) - p, idxstr, idxlen)) != NULL) {
-       a = jv_array_append(a, jv_number(p - jstr));
-+      if (!jv_is_valid(a)) break;
-       p++;
-     }
-   }
-@@ -1336,14 +1343,17 @@ jv jv_string_split(jv j, jv sep) {
- 
-   if (seplen == 0) {
-     int c;
--    while ((jstr = jvp_utf8_next(jstr, jend, &c)))
-+    while ((jstr = jvp_utf8_next(jstr, jend, &c))) {
-       a = jv_array_append(a, jv_string_append_codepoint(jv_string(""), c));
-+      if (!jv_is_valid(a)) break;
-+    }
-   } else {
-     for (p = jstr; p < jend; p = s + seplen) {
-       s = _jq_memmem(p, jend - p, sepstr, seplen);
-       if (s == NULL)
-         s = jend;
-       a = jv_array_append(a, jv_string_sized(p, s - p));
-+      if (!jv_is_valid(a)) break;
-       // Add an empty string to denote that j ends on a sep
-       if (s + seplen == jend && seplen != 0)
-         a = jv_array_append(a, jv_string(""));
-@@ -1361,8 +1371,10 @@ jv jv_string_explode(jv j) {
-   const char* end = i + len;
-   jv a = jv_array_sized(len);
-   int c;
--  while ((i = jvp_utf8_next(i, end, &c)))
-+  while ((i = jvp_utf8_next(i, end, &c))) {
-     a = jv_array_append(a, jv_number(c));
-+    if (!jv_is_valid(a)) break;
-+  }
-   jv_free(j);
-   return a;
- }
-@@ -1636,10 +1648,13 @@ static void jvp_object_free(jv o) {
-   }
- }
- 
--static jv jvp_object_rehash(jv object) {
-+static int jvp_object_rehash(jv *objectp) {
-+  jv object = *objectp;
-   assert(JVP_HAS_KIND(object, JV_KIND_OBJECT));
-   assert(jvp_refcnt_unshared(object.u.ptr));
-   int size = jvp_object_size(object);
-+  if (size > INT_MAX >> 2)
-+    return 0;
-   jv new_object = jvp_object_new(size * 2);
-   for (int i=0; ivalue;
-+    *valpp = &slot->value;
-+    return 1;
-   }
-   slot = jvp_object_add_slot(*object, key, bucket);
-   if (slot) {
-     slot->value = jv_invalid();
-   } else {
--    *object = jvp_object_rehash(*object);
-+    if (!jvp_object_rehash(object)) {
-+      *valpp = NULL;
-+      return 0;
-+    }
-     bucket = jvp_object_find_bucket(*object, key);
-     assert(!jvp_object_find_slot(*object, key, bucket));
-     slot = jvp_object_add_slot(*object, key, bucket);
-     assert(slot);
-     slot->value = jv_invalid();
-   }
--  return &slot->value;
-+  *valpp = &slot->value;
-+  return 1;
- }
- 
- static int jvp_object_delete(jv* object, jv key) {
-@@ -1801,7 +1822,11 @@ jv jv_object_set(jv object, jv key, jv value) {
-   assert(JVP_HAS_KIND(object, JV_KIND_OBJECT));
-   assert(JVP_HAS_KIND(key, JV_KIND_STRING));
-   // copy/free of object, key, value coalesced
--  jv* slot = jvp_object_write(&object, key);
-+  jv* slot;
-+  if (!jvp_object_write(&object, key, &slot)) {
-+    jv_free(object);
-+    return jv_invalid_with_msg(jv_string("Object too big"));
-+  }
-   jv_free(*slot);
-   *slot = value;
-   return object;
-@@ -1826,6 +1851,7 @@ jv jv_object_merge(jv a, jv b) {
-   assert(JVP_HAS_KIND(a, JV_KIND_OBJECT));
-   jv_object_foreach(b, k, v) {
-     a = jv_object_set(a, k, v);
-+    if (!jv_is_valid(a)) break;
-   }
-   jv_free(b);
-   return a;
-@@ -1845,6 +1871,7 @@ jv jv_object_merge_recursive(jv a, jv b) {
-       jv_free(elem);
-       a = jv_object_set(a, k, v);
-     }
-+    if (!jv_is_valid(a)) break;
-   }
-   jv_free(b);
-   return a;
-diff --git a/src/jv_aux.c b/src/jv_aux.c
-index 6004799..bbe1c0d 100644
---- a/src/jv_aux.c
-+++ b/src/jv_aux.c
-@@ -193,18 +193,19 @@ jv jv_set(jv t, jv k, jv v) {
-         if (slice_len < insert_len) {
-           // array is growing
-           int shift = insert_len - slice_len;
--          for (int i = array_len - 1; i >= end; i--) {
-+          for (int i = array_len - 1; i >= end && jv_is_valid(t); i--) {
-             t = jv_array_set(t, i + shift, jv_array_get(jv_copy(t), i));
-           }
-         } else if (slice_len > insert_len) {
-           // array is shrinking
-           int shift = slice_len - insert_len;
--          for (int i = end; i < array_len; i++) {
-+          for (int i = end; i < array_len && jv_is_valid(t); i++) {
-             t = jv_array_set(t, i - shift, jv_array_get(jv_copy(t), i));
-           }
--          t = jv_array_slice(t, 0, array_len - shift);
-+          if (jv_is_valid(t))
-+            t = jv_array_slice(t, 0, array_len - shift);
-         }
--        for (int i=0; i < insert_len; i++) {
-+        for (int i = 0; i < insert_len && jv_is_valid(t); i++) {
-           t = jv_array_set(t, start + i, jv_array_get(jv_copy(v), i));
-         }
-         jv_free(v);
-diff --git a/tests/jq.test b/tests/jq.test
-index 97835f2..10b20e3 100644
---- a/tests/jq.test
-+++ b/tests/jq.test
-@@ -198,6 +198,10 @@ null
- [0,1,2]
- [0,5,2]
- 
-+try (.[999999999] = 0) catch .
-+null
-+"Array index too large"
-+
- #
- # Multiple outputs, iteration
- #
--- 
-2.49.0
-
diff --git a/pkgs/by-name/jq/jq/0005-Fix-heap-buffer-overflow-when-formatting-an-empty-st.patch b/pkgs/by-name/jq/jq/0005-Fix-heap-buffer-overflow-when-formatting-an-empty-st.patch
deleted file mode 100644
index 219207f0fe23..000000000000
--- a/pkgs/by-name/jq/jq/0005-Fix-heap-buffer-overflow-when-formatting-an-empty-st.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From d73a79035e1d24011a3363d52bf36b4eaea67aa6 Mon Sep 17 00:00:00 2001
-From: itchyny 
-Date: Sat, 31 May 2025 11:46:40 +0900
-Subject: [PATCH 5/5] Fix heap buffer overflow when formatting an empty string
-
-The `jv_string_empty` did not properly null-terminate the string data,
-which could lead to a heap buffer overflow. The test case of
-GHSA-p7rr-28xf-3m5w (`0[""*0]`) was fixed by the commit dc849e9bb74a,
-but another case (`0[[]|implode]`) was still vulnerable. This commit
-ensures string data is properly null-terminated, and fixes CVE-2025-48060.
----
- src/jv.c      | 1 +
- tests/jq.test | 4 ++++
- 2 files changed, 5 insertions(+)
-
-diff --git a/src/jv.c b/src/jv.c
-index 6e8cdd3..3303286 100644
---- a/src/jv.c
-+++ b/src/jv.c
-@@ -1121,6 +1121,7 @@ static jv jvp_string_empty_new(uint32_t length) {
-   jvp_string* s = jvp_string_alloc(length);
-   s->length_hashed = 0;
-   memset(s->data, 0, length);
-+  s->data[length] = 0;
-   jv r = {JVP_FLAGS_STRING, 0, 0, 0, {&s->refcnt}};
-   return r;
- }
-diff --git a/tests/jq.test b/tests/jq.test
-index 10b20e3..680706b 100644
---- a/tests/jq.test
-+++ b/tests/jq.test
-@@ -2042,6 +2042,10 @@ map(try implode catch .)
- [123,["a"],[nan]]
- ["implode input must be an array","string (\"a\") can't be imploded, unicode codepoint needs to be numeric","number (null) can't be imploded, unicode codepoint needs to be numeric"]
- 
-+try 0[implode] catch .
-+[]
-+"Cannot index number with string \"\""
-+
- # walk
- walk(.)
- {"x":0}
--- 
-2.49.0
-
diff --git a/pkgs/by-name/jq/jq/disable-end-of-epoch-conversion-test.patch b/pkgs/by-name/jq/jq/disable-end-of-epoch-conversion-test.patch
new file mode 100644
index 000000000000..570d443db12f
--- /dev/null
+++ b/pkgs/by-name/jq/jq/disable-end-of-epoch-conversion-test.patch
@@ -0,0 +1,16 @@
+diff --git a/tests/optional.test b/tests/optional.test
+index 2623731..85bc9e9 100644
+--- a/tests/optional.test
++++ b/tests/optional.test
+@@ -12,11 +12,6 @@ last(range(365 * 67)|("1970-03-01T01:02:03Z"|strptime("%Y-%m-%dT%H:%M:%SZ")|mkti
+ null
+ [2037,1,11,1,2,3,3,41]
+ 
+-# Regression test for #3276
+-fromdate
+-"2038-01-19T03:14:08Z"
+-2147483648
+-
+ # %e is not available on mingw/WIN32
+ strftime("%A, %B %e, %Y")
+ 1435677542.822351
diff --git a/pkgs/by-name/jq/jq/package.nix b/pkgs/by-name/jq/jq/package.nix
index 8e6928be7fbb..5d3a7c3aa975 100644
--- a/pkgs/by-name/jq/jq/package.nix
+++ b/pkgs/by-name/jq/jq/package.nix
@@ -7,16 +7,19 @@
   bison,
   onigurumaSupport ? true,
   oniguruma,
+  tzdata,
+  nix-update-script,
+  testers,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "jq";
-  version = "1.7.1";
+  version = "1.8.0";
 
   # Note: do not use fetchpatch or fetchFromGitHub to keep this package available in __bootPackages
   src = fetchurl {
-    url = "https://github.com/jqlang/jq/releases/download/jq-${version}/jq-${version}.tar.gz";
-    hash = "sha256-R4ycoSn9LjRD/icxS0VeIR4NjGC8j/ffcDhz3u7lgMI=";
+    url = "https://github.com/jqlang/jq/releases/download/jq-${finalAttrs.version}/jq-${finalAttrs.version}.tar.gz";
+    hash = "sha256-kYEVd/kdmmGV/1DCv/7JtyyEKdwF7D6gIv2VwG0rMZw=";
   };
 
   outputs = [
@@ -27,28 +30,13 @@ stdenv.mkDerivation rec {
     "out"
   ];
 
-  patches = [
-    # can't fetchpatch because jq is in bootstrap for darwin
-    # CVE-2025-48060
-    # https://github.com/jqlang/jq/commit/dc849e9bb74a7a164a3ea52f661cc712b1ffbd43
-    ./0001-Improve-performance-of-repeating-strings-3272.patch
-
-    # needed for the other patches to apply correctly
-    # https://github.com/jqlang/jq/commit/b86ff49f46a4a37e5a8e75a140cb5fd6e1331384
-    ./0002-fix-jv_number_value-should-cache-the-double-value-of.patch
-
-    # CVE-2024-53427
-    # https://github.com/jqlang/jq/commit/a09a4dfd55e6c24d04b35062ccfe4509748b1dd3
-    ./0003-Reject-NaN-with-payload-while-parsing-JSON.patch
-
-    # CVE-2024-23337
-    # https://github.com/jqlang/jq/commit/de21386681c0df0104a99d9d09db23a9b2a78b1e
-    ./0004-Fix-signed-integer-overflow-in-jvp_array_write-and-j.patch
-
-    # CVE-2025-48060, part two
-    # Improve-performance-of-repeating-strings is only a partial fix
-    # https://github.com/jqlang/jq/commit/c6e041699d8cd31b97375a2596217aff2cfca85b
-    ./0005-Fix-heap-buffer-overflow-when-formatting-an-empty-st.patch
+  # tortured syntax to avoid rebuilds
+  # needed because epoch conversion test here is right at the end of 32 bit integer space
+  # See also: https://github.com/jqlang/jq/blob/859a8073ee8a21f2133154eea7c2bd5e0d60837f/tests/optional.test#L15-L18
+  # "-D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64" would be preferrable, but breaks with dynamic linking,
+  # unless done globally in stdenv for all of 32 bit.
+  ${if stdenv.hostPlatform.is32bit then "patches" else null} = [
+    ./disable-end-of-epoch-conversion-test.patch
   ];
 
   # https://github.com/jqlang/jq/issues/2871
@@ -61,16 +49,19 @@ stdenv.mkDerivation rec {
   # doesn't keep.
   preConfigure = ''
     echo "#!/bin/sh" > scripts/version
-    echo "echo ${version}" >> scripts/version
+    echo "echo ${finalAttrs.version}" >> scripts/version
     patchShebangs scripts/version
   '';
 
   # paranoid mode: make sure we never use vendored version of oniguruma
   # Note: it must be run after automake, or automake will complain
   preBuild = ''
-    rm -r ./modules/oniguruma
+    rm -r ./vendor/oniguruma
   '';
 
+  strictDeps = true;
+  enableParallelBuilding = true;
+
   buildInputs = lib.optionals onigurumaSupport [ oniguruma ];
   nativeBuildInputs = [
     removeReferencesTo
@@ -87,9 +78,7 @@ stdenv.mkDerivation rec {
     ]
     ++ lib.optional (!onigurumaSupport) "--with-oniguruma=no"
     # jq is linked to libjq:
-    ++ lib.optional (!stdenv.hostPlatform.isDarwin) "LDFLAGS=-Wl,-rpath,\\\${libdir}"
-    # https://github.com/jqlang/jq/issues/3252
-    ++ lib.optional stdenv.hostPlatform.isOpenBSD "CFLAGS=-D_BSD_SOURCE=1";
+    ++ lib.optional (!stdenv.hostPlatform.isDarwin) "LDFLAGS=-Wl,-rpath,\\\${libdir}";
 
   # jq binary includes the whole `configureFlags` in:
   # https://github.com/jqlang/jq/commit/583e4a27188a2db097dd043dd203b9c106bba100
@@ -106,24 +95,42 @@ stdenv.mkDerivation rec {
   doInstallCheck = true;
   installCheckTarget = "check";
 
+  preInstallCheck = ''
+    substituteInPlace tests/shtest \
+      --replace-fail "TZ=" "TZ=${tzdata}/share/zoneinfo/"
+  '';
+
   postInstallCheck = ''
-    $bin/bin/jq --help >/dev/null
     $bin/bin/jq -r '.values[1]' <<< '{"values":["hello","world"]}' | grep '^world$' > /dev/null
   '';
 
-  passthru = { inherit onigurumaSupport; };
+  passthru = {
+    inherit onigurumaSupport;
+    tests.version = testers.testVersion {
+      package = lib.getBin finalAttrs.finalPackage;
+      command = "jq --version";
+    };
 
-  meta = with lib; {
+    updateScript = nix-update-script {
+      extraArgs = [
+        "--version-regex"
+        "jq-(.+)"
+      ];
+    };
+  };
+
+  meta = {
+    changelog = "https://github.com/jqlang/jq/releases/tag/jq-${finalAttrs.version}";
     description = "Lightweight and flexible command-line JSON processor";
     homepage = "https://jqlang.github.io/jq/";
-    license = licenses.mit;
-    maintainers = with maintainers; [
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [
       raskin
       artturin
       ncfavier
     ];
-    platforms = platforms.unix;
+    platforms = lib.platforms.unix;
     downloadPage = "https://jqlang.github.io/jq/download/";
     mainProgram = "jq";
   };
-}
+})
diff --git a/pkgs/by-name/jr/jrl-cmakemodules/package.nix b/pkgs/by-name/jr/jrl-cmakemodules/package.nix
index ef1489066436..caf1828b090c 100644
--- a/pkgs/by-name/jr/jrl-cmakemodules/package.nix
+++ b/pkgs/by-name/jr/jrl-cmakemodules/package.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation {
   pname = "jrl-cmakemodules";
-  version = "0-unstable-2025-01-29";
+  version = "0-unstable-2025-05-04";
 
   src = fetchFromGitHub {
     owner = "jrl-umi3218";
     repo = "jrl-cmakemodules";
-    rev = "2ede15d1cb9d66401ba96788444ad64c44ffccd8";
-    hash = "sha256-0o5DKt9BxZlAYTHp/BjzF6eJRP/d6lVlaV5P4xlzKnA=";
+    rev = "2dd858f5a71d8224f178fb3dc0bcd95256ba10e7";
+    hash = "sha256-Iq9IuhEJBmDd14FhQ3wb94AoJDUjJ1h1D3qCdQYCnUc=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/by-name/js/jsonnet-language-server/package.nix b/pkgs/by-name/js/jsonnet-language-server/package.nix
index d00290464177..14d834d0afc1 100644
--- a/pkgs/by-name/js/jsonnet-language-server/package.nix
+++ b/pkgs/by-name/js/jsonnet-language-server/package.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "jsonnet-language-server";
-  version = "0.15.0";
+  version = "0.16.0";
 
   src = fetchFromGitHub {
     owner = "grafana";
     repo = "jsonnet-language-server";
     tag = "v${version}";
-    hash = "sha256-InU7iH7fP1k9+Vn8/WfNQnbIeQ6SGY17Z2vsRD63uzk=";
+    hash = "sha256-xvN2fq94sD6E/HwZrLSr3TIO5eeuyhvj4UmJCIUFSH0=";
   };
 
-  vendorHash = "sha256-xYB6MJoA9/tdnPTMdkBxI/sx1rDnS0qy+HCf72B1/cU=";
+  vendorHash = "sha256-Kb/ejDUdS+YZnVpzxscOnVVpQcdVicDdJvfUTc6Kg0o=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/ju/juce/package.nix b/pkgs/by-name/ju/juce/package.nix
index f2a5779e737d..a18cd169b05c 100644
--- a/pkgs/by-name/ju/juce/package.nix
+++ b/pkgs/by-name/ju/juce/package.nix
@@ -34,13 +34,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "juce";
-  version = "8.0.7";
+  version = "8.0.8";
 
   src = fetchFromGitHub {
     owner = "juce-framework";
     repo = "juce";
     tag = finalAttrs.version;
-    hash = "sha256-nl4pUSkUKqpMoehzq0MS5pjHpYDkrFpUsY8BwpQObCM=";
+    hash = "sha256-kp3rMaHWBbEh4UaRMxcLo/DiSJV942OY+LYxh6W7dFc=";
   };
 
   patches = [
diff --git a/pkgs/by-name/ju/juju/package.nix b/pkgs/by-name/ju/juju/package.nix
index 99b82625407b..352c49a86c62 100644
--- a/pkgs/by-name/ju/juju/package.nix
+++ b/pkgs/by-name/ju/juju/package.nix
@@ -9,16 +9,16 @@
 
 buildGoModule rec {
   pname = "juju";
-  version = "3.6.5";
+  version = "3.6.7";
 
   src = fetchFromGitHub {
     owner = "juju";
     repo = "juju";
     rev = "v${version}";
-    hash = "sha256-Ruwmj+MrqulB+XwbE3qvqFJ/yt0ttwFuM9lqXV9YI7k=";
+    hash = "sha256-FJ6LZcsokno+VTj+mXO0YD8Q9qC5qG3CgXqnrPNokRY=";
   };
 
-  vendorHash = "sha256-/BejA4Wn+SbKQHDqA7hanVaTKzaInLNOMSlesy714VI=";
+  vendorHash = "sha256-blzjN9UknamoffR5Kpd1HmGhB+bWb+zL0SnzelW40M0=";
 
   subPackages = [
     "cmd/juju"
diff --git a/pkgs/by-name/ju/just-lsp/package.nix b/pkgs/by-name/ju/just-lsp/package.nix
index a153eb5bb1d7..640d14600782 100644
--- a/pkgs/by-name/ju/just-lsp/package.nix
+++ b/pkgs/by-name/ju/just-lsp/package.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "just-lsp";
-  version = "0.2.2";
+  version = "0.2.3";
 
   src = fetchFromGitHub {
     owner = "terror";
     repo = "just-lsp";
     tag = finalAttrs.version;
-    hash = "sha256-lR3VtPS96gPUj4OVZLeQSHnss22hBTRBLUV8n2Y3E9M=";
+    hash = "sha256-1XxC09Q9UGKRzMb51mUjmTJd7vEp0FFqtUD/9cQZvC0=";
   };
 
-  cargoHash = "sha256-eDjUYB5AN56hxolizw0KYb0Z/k28OWOUYOxhB/5pKV0=";
+  cargoHash = "sha256-mc1kYXfEF+oZO/GEBtCnKwt17LhvGDQK8RcOSsXKFjc=";
 
   passthru = {
     updateScript = nix-update-script { };
diff --git a/pkgs/by-name/ju/justbuild/package.nix b/pkgs/by-name/ju/justbuild/package.nix
index 15834b8866e4..5e7ccc9d91a7 100644
--- a/pkgs/by-name/ju/justbuild/package.nix
+++ b/pkgs/by-name/ju/justbuild/package.nix
@@ -33,13 +33,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "justbuild";
-  version = "1.5.2";
+  version = "1.5.3";
 
   src = fetchFromGitHub {
     owner = "just-buildsystem";
     repo = "justbuild";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Vde8/oOZ6djf4b/eXykzdsG+a+huWNbTZQFzr/YeXq4=";
+    hash = "sha256-1qVe2s3MCmFm4hAwFwGn1jj6eVcBnvhvuK3OnNEuxQM=";
   };
 
   bazelapi = fetchurl {
diff --git a/pkgs/by-name/jw/jwt-hack/Cargo.lock b/pkgs/by-name/jw/jwt-hack/Cargo.lock
new file mode 100644
index 000000000000..24b8a68325b6
--- /dev/null
+++ b/pkgs/by-name/jw/jwt-hack/Cargo.lock
@@ -0,0 +1,1299 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "addr2line"
+version = "0.24.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1"
+dependencies = [
+ "gimli",
+]
+
+[[package]]
+name = "adler2"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627"
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "android-tzdata"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
+
+[[package]]
+name = "android_system_properties"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "anstream"
+version = "0.6.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933"
+dependencies = [
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "is_terminal_polyfill",
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd"
+
+[[package]]
+name = "anstyle-parse"
+version = "0.2.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2"
+dependencies = [
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle-query"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9"
+dependencies = [
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "anstyle-wincon"
+version = "3.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "403f75924867bb1033c59fbf0797484329750cfbe3c4325cd33127941fabc882"
+dependencies = [
+ "anstyle",
+ "once_cell_polyfill",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "anyhow"
+version = "1.0.98"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487"
+
+[[package]]
+name = "autocfg"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
+
+[[package]]
+name = "backtrace"
+version = "0.3.75"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002"
+dependencies = [
+ "addr2line",
+ "cfg-if",
+ "libc",
+ "miniz_oxide",
+ "object",
+ "rustc-demangle",
+ "windows-targets",
+]
+
+[[package]]
+name = "base64"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
+
+[[package]]
+name = "base64"
+version = "0.21.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
+
+[[package]]
+name = "bitflags"
+version = "2.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967"
+
+[[package]]
+name = "bumpalo"
+version = "3.18.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "793db76d6187cd04dff33004d8e6c9cc4e05cd330500379d2394209271b4aeee"
+
+[[package]]
+name = "bytes"
+version = "1.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a"
+
+[[package]]
+name = "cc"
+version = "1.2.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "956a5e21988b87f372569b66183b78babf23ebc2e744b733e4350a752c4dafac"
+dependencies = [
+ "shlex",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "chrono"
+version = "0.4.41"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d"
+dependencies = [
+ "android-tzdata",
+ "iana-time-zone",
+ "js-sys",
+ "num-traits",
+ "wasm-bindgen",
+ "windows-link",
+]
+
+[[package]]
+name = "clap"
+version = "4.5.39"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd60e63e9be68e5fb56422e397cf9baddded06dae1d2e523401542383bc72a9f"
+dependencies = [
+ "clap_builder",
+ "clap_derive",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.5.39"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89cc6392a1f72bbeb820d71f32108f61fdaf18bc526e1d23954168a67759ef51"
+dependencies = [
+ "anstream",
+ "anstyle",
+ "clap_lex",
+ "strsim",
+]
+
+[[package]]
+name = "clap_derive"
+version = "4.5.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6"
+
+[[package]]
+name = "colorchoice"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75"
+
+[[package]]
+name = "colored"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c"
+dependencies = [
+ "lazy_static",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "console"
+version = "0.15.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8"
+dependencies = [
+ "encode_unicode",
+ "libc",
+ "once_cell",
+ "unicode-width",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "core-foundation-sys"
+version = "0.8.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
+
+[[package]]
+name = "crossbeam-deque"
+version = "0.8.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51"
+dependencies = [
+ "crossbeam-epoch",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.9.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
+
+[[package]]
+name = "deranged"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e"
+dependencies = [
+ "powerfmt",
+]
+
+[[package]]
+name = "either"
+version = "1.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
+
+[[package]]
+name = "encode_unicode"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0"
+
+[[package]]
+name = "env_logger"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580"
+dependencies = [
+ "humantime",
+ "is-terminal",
+ "log",
+ "regex",
+ "termcolor",
+]
+
+[[package]]
+name = "errno"
+version = "0.3.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18"
+dependencies = [
+ "libc",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "fastrand"
+version = "2.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
+
+[[package]]
+name = "getrandom"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "r-efi",
+ "wasi 0.14.2+wasi-0.2.4",
+]
+
+[[package]]
+name = "gimli"
+version = "0.31.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
+
+[[package]]
+name = "heck"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
+
+[[package]]
+name = "hermit-abi"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f154ce46856750ed433c8649605bf7ed2de3bc35fd9d2a9f30cddd873c80cb08"
+
+[[package]]
+name = "hmac-sha256"
+version = "1.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad6880c8d4a9ebf39c6e8b77007ce223f646a4d21ce29d99f70cb16420545425"
+
+[[package]]
+name = "humantime"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b112acc8b3adf4b107a8ec20977da0273a8c386765a3ec0229bd500a1443f9f"
+
+[[package]]
+name = "iana-time-zone"
+version = "0.1.63"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8"
+dependencies = [
+ "android_system_properties",
+ "core-foundation-sys",
+ "iana-time-zone-haiku",
+ "js-sys",
+ "log",
+ "wasm-bindgen",
+ "windows-core",
+]
+
+[[package]]
+name = "iana-time-zone-haiku"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "indicatif"
+version = "0.17.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "183b3088984b400f4cfac3620d5e076c84da5364016b4f49473de574b2586235"
+dependencies = [
+ "console",
+ "number_prefix",
+ "portable-atomic",
+ "unicode-width",
+ "web-time",
+]
+
+[[package]]
+name = "is-terminal"
+version = "0.4.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9"
+dependencies = [
+ "hermit-abi",
+ "libc",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "is_terminal_polyfill"
+version = "1.70.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
+
+[[package]]
+name = "itoa"
+version = "1.0.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
+
+[[package]]
+name = "js-sys"
+version = "0.3.77"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f"
+dependencies = [
+ "once_cell",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "jsonwebtoken"
+version = "8.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378"
+dependencies = [
+ "base64 0.21.7",
+ "pem",
+ "ring",
+ "serde",
+ "serde_json",
+ "simple_asn1",
+]
+
+[[package]]
+name = "jwt-hack"
+version = "2.0.0"
+dependencies = [
+ "anyhow",
+ "base64 0.21.7",
+ "chrono",
+ "clap",
+ "colored",
+ "env_logger",
+ "hmac-sha256",
+ "indicatif",
+ "jsonwebtoken",
+ "log",
+ "rayon",
+ "serde",
+ "serde_json",
+ "tempfile",
+ "thiserror 1.0.69",
+ "tokio",
+]
+
+[[package]]
+name = "lazy_static"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
+
+[[package]]
+name = "libc"
+version = "0.2.172"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa"
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12"
+
+[[package]]
+name = "lock_api"
+version = "0.4.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
+
+[[package]]
+name = "memchr"
+version = "2.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
+
+[[package]]
+name = "miniz_oxide"
+version = "0.8.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a"
+dependencies = [
+ "adler2",
+]
+
+[[package]]
+name = "mio"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c"
+dependencies = [
+ "libc",
+ "wasi 0.11.0+wasi-snapshot-preview1",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "num-bigint"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9"
+dependencies = [
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-conv"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
+
+[[package]]
+name = "num-integer"
+version = "0.1.46"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "number_prefix"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
+
+[[package]]
+name = "object"
+version = "0.36.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.21.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
+
+[[package]]
+name = "once_cell_polyfill"
+version = "1.70.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad"
+
+[[package]]
+name = "parking_lot"
+version = "0.12.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13"
+dependencies = [
+ "lock_api",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.9.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall",
+ "smallvec",
+ "windows-targets",
+]
+
+[[package]]
+name = "pem"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8"
+dependencies = [
+ "base64 0.13.1",
+]
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b"
+
+[[package]]
+name = "portable-atomic"
+version = "1.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483"
+
+[[package]]
+name = "powerfmt"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.95"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "r-efi"
+version = "5.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5"
+
+[[package]]
+name = "rayon"
+version = "1.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
+dependencies = [
+ "either",
+ "rayon-core",
+]
+
+[[package]]
+name = "rayon-core"
+version = "1.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
+dependencies = [
+ "crossbeam-deque",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.5.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af"
+dependencies = [
+ "bitflags",
+]
+
+[[package]]
+name = "regex"
+version = "1.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
+
+[[package]]
+name = "ring"
+version = "0.16.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
+dependencies = [
+ "cc",
+ "libc",
+ "once_cell",
+ "spin",
+ "untrusted",
+ "web-sys",
+ "winapi",
+]
+
+[[package]]
+name = "rustc-demangle"
+version = "0.1.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
+
+[[package]]
+name = "rustix"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266"
+dependencies = [
+ "bitflags",
+ "errno",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "rustversion"
+version = "1.0.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d"
+
+[[package]]
+name = "ryu"
+version = "1.0.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
+
+[[package]]
+name = "scopeguard"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+
+[[package]]
+name = "serde"
+version = "1.0.219"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.219"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.140"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373"
+dependencies = [
+ "itoa",
+ "memchr",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "shlex"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
+
+[[package]]
+name = "signal-hook-registry"
+version = "1.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "simple_asn1"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "297f631f50729c8c99b84667867963997ec0b50f32b2a7dbcab828ef0541e8bb"
+dependencies = [
+ "num-bigint",
+ "num-traits",
+ "thiserror 2.0.12",
+ "time",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.15.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
+
+[[package]]
+name = "socket2"
+version = "0.5.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678"
+dependencies = [
+ "libc",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "spin"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
+
+[[package]]
+name = "strsim"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
+
+[[package]]
+name = "syn"
+version = "2.0.101"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "tempfile"
+version = "3.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1"
+dependencies = [
+ "fastrand",
+ "getrandom",
+ "once_cell",
+ "rustix",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "termcolor"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
+dependencies = [
+ "thiserror-impl 1.0.69",
+]
+
+[[package]]
+name = "thiserror"
+version = "2.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708"
+dependencies = [
+ "thiserror-impl 2.0.12",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "2.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "time"
+version = "0.3.41"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40"
+dependencies = [
+ "deranged",
+ "itoa",
+ "num-conv",
+ "powerfmt",
+ "serde",
+ "time-core",
+ "time-macros",
+]
+
+[[package]]
+name = "time-core"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c"
+
+[[package]]
+name = "time-macros"
+version = "0.2.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49"
+dependencies = [
+ "num-conv",
+ "time-core",
+]
+
+[[package]]
+name = "tokio"
+version = "1.45.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779"
+dependencies = [
+ "backtrace",
+ "bytes",
+ "libc",
+ "mio",
+ "parking_lot",
+ "pin-project-lite",
+ "signal-hook-registry",
+ "socket2",
+ "tokio-macros",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "tokio-macros"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
+
+[[package]]
+name = "unicode-width"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd"
+
+[[package]]
+name = "untrusted"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
+
+[[package]]
+name = "utf8parse"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "wasi"
+version = "0.14.2+wasi-0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3"
+dependencies = [
+ "wit-bindgen-rt",
+]
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.100"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+ "rustversion",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.100"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6"
+dependencies = [
+ "bumpalo",
+ "log",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.100"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.100"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.100"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "web-sys"
+version = "0.3.77"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "web-time"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-util"
+version = "0.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
+dependencies = [
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-core"
+version = "0.61.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3"
+dependencies = [
+ "windows-implement",
+ "windows-interface",
+ "windows-link",
+ "windows-result",
+ "windows-strings",
+]
+
+[[package]]
+name = "windows-implement"
+version = "0.60.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "windows-interface"
+version = "0.59.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "windows-link"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38"
+
+[[package]]
+name = "windows-result"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6"
+dependencies = [
+ "windows-link",
+]
+
+[[package]]
+name = "windows-strings"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57"
+dependencies = [
+ "windows-link",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.59.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_gnullvm",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
+
+[[package]]
+name = "windows_i686_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
+
+[[package]]
+name = "wit-bindgen-rt"
+version = "0.39.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1"
+dependencies = [
+ "bitflags",
+]
diff --git a/pkgs/by-name/jw/jwt-hack/package.nix b/pkgs/by-name/jw/jwt-hack/package.nix
index 19f6c347292b..6267d5cc0a0e 100644
--- a/pkgs/by-name/jw/jwt-hack/package.nix
+++ b/pkgs/by-name/jw/jwt-hack/package.nix
@@ -1,31 +1,32 @@
 {
   lib,
-  buildGoModule,
+  rustPlatform,
   fetchFromGitHub,
 }:
 
-buildGoModule rec {
+rustPlatform.buildRustPackage rec {
   pname = "jwt-hack";
-  version = "1.2.0";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "hahwul";
     repo = "jwt-hack";
     tag = "v${version}";
-    hash = "sha256-IHR+ItI4ToINLpkVc7yrgpNTS17nD02G6x3pNMEfIW4=";
+    hash = "sha256-uJur/ABoAaQT3BBO2yprK/0/bQPT138Yg9IbztZ6w2w=";
   };
 
-  vendorHash = "sha256-YEH+epSvyy1j0s8AIJ5+BdF47H7KqgBRC4t81noOkjo=";
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+  };
 
-  ldflags = [
-    "-w"
-    "-s"
-  ];
+  postPatch = ''
+    ln -s ${./Cargo.lock} Cargo.lock
+  '';
 
   meta = {
-    description = "Tool for attacking JWT";
+    description = "JSON Web Token Hack Toolkit";
     homepage = "https://github.com/hahwul/jwt-hack";
-    changelog = "https://github.com/hahwul/jwt-hack/releases/tag/v${version}";
+    changelog = "https://github.com/hahwul/jwt-hack/releases/tag/${src.tag}";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ fab ];
     mainProgram = "jwt-hack";
diff --git a/pkgs/by-name/jw/jwx/package.nix b/pkgs/by-name/jw/jwx/package.nix
index 8a1861eb8f6d..cff078ff0d1f 100644
--- a/pkgs/by-name/jw/jwx/package.nix
+++ b/pkgs/by-name/jw/jwx/package.nix
@@ -6,16 +6,16 @@
 
 buildGoModule (finalAttrs: {
   pname = "jwx";
-  version = "3.0.2";
+  version = "3.0.6";
 
   src = fetchFromGitHub {
     owner = "lestrrat-go";
     repo = "jwx";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-IKMTRgxqGZkYK5WVWUjIrjed6ukphHzbmtXOwoJSkRo=";
+    hash = "sha256-D3HhkAEW1vxeq6bQhRLe9+i/0u6CUhR6azWwIpudhBI=";
   };
 
-  vendorHash = "sha256-mqPlub5JbD7dcMHi72xda72HQJF57uqzHaJzYOQNk+Q=";
+  vendorHash = "sha256-FjNUcNI3A97ngPZBWW+6qL0eCTd10KUGl/AzByXSZt8=";
 
   sourceRoot = "${finalAttrs.src.name}/cmd/jwx";
 
diff --git a/pkgs/by-name/jx/jx/package.nix b/pkgs/by-name/jx/jx/package.nix
index 050758180eb0..7355a16c2b6c 100644
--- a/pkgs/by-name/jx/jx/package.nix
+++ b/pkgs/by-name/jx/jx/package.nix
@@ -9,13 +9,13 @@
 
 buildGoModule rec {
   pname = "jx";
-  version = "3.11.81";
+  version = "3.11.97";
 
   src = fetchFromGitHub {
     owner = "jenkins-x";
     repo = "jx";
     rev = "v${version}";
-    sha256 = "sha256-VpQV0R/+gqmypo3iGT8Zy1jqRvZsUqBabfaF5/6eS2o=";
+    sha256 = "sha256-UhtYX6InyCIP83+cVTjUImqm7oFuL4vU9wVlEM11fZw=";
   };
 
   vendorHash = "sha256-8I4yTzLAL7E0ozHcBZDNsJLHkTh+SjT0SjDSECGRYIc=";
diff --git a/pkgs/by-name/k0/k0sctl/package.nix b/pkgs/by-name/k0/k0sctl/package.nix
index 17095c43edbc..d10ac08ac075 100644
--- a/pkgs/by-name/k0/k0sctl/package.nix
+++ b/pkgs/by-name/k0/k0sctl/package.nix
@@ -9,16 +9,16 @@
 
 buildGoModule rec {
   pname = "k0sctl";
-  version = "0.24.0";
+  version = "0.25.1";
 
   src = fetchFromGitHub {
     owner = "k0sproject";
     repo = "k0sctl";
     tag = "v${version}";
-    hash = "sha256-NOGcyf4x9UCDL65sW+jLvTMUdCx5Uj4wtgi0Rrl+Miw=";
+    hash = "sha256-mdmmvFCZMaTKMPjaVSgGvADcJ/MdDXyUBtvck638+Ss=";
   };
 
-  vendorHash = "sha256-f16tmU8gMFqw2G6T0W1thainfxZWIcGuWP7U4vjsoD8=";
+  vendorHash = "sha256-B1pmdv2dkP9Kin38Kc2DllP7BpHjesX8AAD4TgYYu/I=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/ka/kafkactl/package.nix b/pkgs/by-name/ka/kafkactl/package.nix
index e69f2e5f04ef..e269c8b7d5f2 100644
--- a/pkgs/by-name/ka/kafkactl/package.nix
+++ b/pkgs/by-name/ka/kafkactl/package.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "kafkactl";
-  version = "5.8.0";
+  version = "5.9.0";
 
   src = fetchFromGitHub {
     owner = "deviceinsight";
     repo = "kafkactl";
     tag = "v${version}";
-    hash = "sha256-e21q4nXN3aI21PbNltRb6mzj67WmLsvJc8J0s7rrQBo=";
+    hash = "sha256-yoNZD6WiaGtZlJRQJeu6rIDCN2ozVXYTr71PAVpgWIE=";
   };
 
-  vendorHash = "sha256-NVk5sguBWcl4W3VMiqpMvvNJ22Dk0dmoddakCbA9zTY=";
+  vendorHash = "sha256-eGTT3ETww+tR8nuhALy3fbQu3fmRLSLPIEGHHa6TVsE=";
 
   doCheck = false;
 
diff --git a/pkgs/by-name/ka/kagen/package.nix b/pkgs/by-name/ka/kagen/package.nix
new file mode 100644
index 000000000000..ec780e878a8f
--- /dev/null
+++ b/pkgs/by-name/ka/kagen/package.nix
@@ -0,0 +1,107 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  fetchpatch2,
+  cmake,
+  pkg-config,
+  mpi,
+  cgal,
+  boost,
+  gmp,
+  mpfr,
+  sparsehash,
+  imagemagick,
+  gtest,
+  ctestCheckHook,
+  mpiCheckPhaseHook,
+  withExamples ? false,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "kagen";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "KarlsruheGraphGeneration";
+    repo = "kagen";
+    tag = "v${finalAttrs.version}";
+    # use vendor libmorton and xxHash
+    fetchSubmodules = true;
+    hash = "sha256-FSlTNOQgwPGOn4mIVIgFejvU0dpyydomHYJOKPz1UjU=";
+  };
+
+  patches = [
+    # replace asm by builtin function to ensure compatibility with arm64
+    (fetchpatch2 {
+      url = "https://github.com/KarlsruheGraphGeneration/KaGen/commit/cab9d5dc6cc256972e52675ad9c385524d40ecd9.patch?full_index=1";
+      hash = "sha256-DCsuwUiE98UKZMxlUI9p36/wq486uHHrUphrIVqM+Cc=";
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace tests/CMakeLists.txt \
+      --replace-fail "FetchContent_MakeAvailable(googletest)" "find_package(GTest REQUIRED)"\
+      --replace-fail "set_property(DIRECTORY" "#set_property(DIRECTORY"
+
+    substituteInPlace kagen/CMakeLists.txt \
+      --replace-fail "OBJECT" ""
+  '';
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    mpi
+    cgal
+    sparsehash
+    imagemagick
+    # should be propagated by cgal
+    boost
+    gmp
+    mpfr
+  ];
+
+  cmakeFlags = [
+    (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic))
+    (lib.cmakeBool "KAGEN_BUILD_EXAMPLES" withExamples)
+    (lib.cmakeBool "KAGEN_BUILD_TESTS" finalAttrs.finalPackage.doCheck)
+  ];
+
+  doCheck = true;
+
+  __darwinAllowLocalNetworking = true;
+
+  nativeCheckInputs = [
+    gtest
+    ctestCheckHook
+    mpiCheckPhaseHook
+  ];
+
+  disabledTests = lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [
+    # flaky tests on aarch64-darwin
+    "test_rgg2d.2cores"
+    "test_rgg2d.4cores"
+  ];
+
+  postInstall = ''
+    cmake --install . --component tools
+  '';
+
+  meta = {
+    description = "Communication-free Massively Distributed Graph Generators";
+    homepage = "https://github.com/KarlsruheGraphGeneration/KaGen";
+    changelog = "https://github.com/KarlsruheGraphGeneration/KaGen/releases/tag/v${finalAttrs.version}";
+    mainProgram = "KaGen";
+    license = with lib.licenses; [
+      bsd2
+      mit
+      # boost license
+      lib.licenses.boost
+    ];
+    platforms = lib.platforms.unix;
+    maintainers = with lib.maintainers; [ qbisi ];
+  };
+})
diff --git a/pkgs/applications/networking/instant-messengers/kaidan/default.nix b/pkgs/by-name/ka/kaidan/package.nix
similarity index 60%
rename from pkgs/applications/networking/instant-messengers/kaidan/default.nix
rename to pkgs/by-name/ka/kaidan/package.nix
index 319ab8a94626..825533dd245c 100644
--- a/pkgs/applications/networking/instant-messengers/kaidan/default.nix
+++ b/pkgs/by-name/ka/kaidan/package.nix
@@ -5,33 +5,21 @@
   cmake,
   extra-cmake-modules,
   pkg-config,
-  wrapQtAppsHook,
-  qtbase,
-  qttools,
-  qtmultimedia,
-  qtlocation,
-  qqc2-desktop-style,
-  kirigami-addons,
-  kirigami,
-  kio,
-  knotifications,
-  kquickimageedit,
+  kdePackages,
   zxing-cpp,
   qxmpp,
-  sonnet,
   gst_all_1,
-  prison,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "kaidan";
   version = "0.11.0";
 
   src = fetchFromGitLab {
     domain = "invent.kde.org";
     owner = "network";
-    repo = pname;
-    rev = "v${version}";
+    repo = "kaidan";
+    rev = "v${finalAttrs.version}";
     hash = "sha256-8pC4vINeKSYY+LlVgCXUtBq9UjraPdTikBOwLBLeQ3Y=";
   };
 
@@ -39,34 +27,34 @@ stdenv.mkDerivation rec {
     cmake
     extra-cmake-modules
     pkg-config
-    wrapQtAppsHook
+    kdePackages.wrapQtAppsHook
   ];
 
-  buildInputs = with gst_all_1; [
-    qtbase
-    qttools
-    qtmultimedia
-    qtlocation
-    qqc2-desktop-style
-    kirigami-addons
-    kirigami
-    kio
-    knotifications
-    kquickimageedit
+  buildInputs = [
+    kdePackages.kio
+    kdePackages.kirigami
+    kdePackages.kirigami-addons
+    kdePackages.knotifications
+    kdePackages.kquickimageedit
+    kdePackages.prison
+    kdePackages.qtbase
+    kdePackages.qttools
+    kdePackages.qtmultimedia
+    kdePackages.qtlocation
+    kdePackages.qqc2-desktop-style
+    kdePackages.sonnet
     zxing-cpp
     qxmpp
-    sonnet
-    gstreamer
-    gst-plugins-bad
-    gst-plugins-base
-    (gst-plugins-good.override { qt6Support = true; })
-    prison
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-bad
+    gst_all_1.gst-plugins-base
+    (gst_all_1.gst-plugins-good.override { qt6Support = true; })
   ];
   postInstall = ''
     qtWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0")
   '';
 
-  meta = with lib; {
+  meta = {
     description = "User-friendly and modern chat app, using XMPP";
     mainProgram = "kaidan";
     longDescription = ''
@@ -79,13 +67,13 @@ stdenv.mkDerivation rec {
       messages, and file sharing.
     '';
     homepage = "https://www.kaidan.im";
-    license = with licenses; [
+    license = with lib.licenses; [
       gpl3Plus
       mit
       asl20
       cc-by-sa-40
     ];
-    maintainers = with maintainers; [ astro ];
-    platforms = with platforms; linux;
+    maintainers = with lib.maintainers; [ astro ];
+    platforms = with lib.platforms; linux;
   };
-}
+})
diff --git a/pkgs/games/vimgolf/Gemfile b/pkgs/by-name/ka/kamal/Gemfile
similarity index 68%
rename from pkgs/games/vimgolf/Gemfile
rename to pkgs/by-name/ka/kamal/Gemfile
index a375239ffc82..08283a183739 100644
--- a/pkgs/games/vimgolf/Gemfile
+++ b/pkgs/by-name/ka/kamal/Gemfile
@@ -1,2 +1,2 @@
 source 'https://rubygems.org'
-gem 'vimgolf'
+gem "kamal"
diff --git a/pkgs/by-name/ka/kamal/Gemfile.lock b/pkgs/by-name/ka/kamal/Gemfile.lock
new file mode 100644
index 000000000000..00f2d9fd0457
--- /dev/null
+++ b/pkgs/by-name/ka/kamal/Gemfile.lock
@@ -0,0 +1,73 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    activesupport (8.0.2)
+      base64
+      benchmark (>= 0.3)
+      bigdecimal
+      concurrent-ruby (~> 1.0, >= 1.3.1)
+      connection_pool (>= 2.2.5)
+      drb
+      i18n (>= 1.6, < 2)
+      logger (>= 1.4.2)
+      minitest (>= 5.1)
+      securerandom (>= 0.3)
+      tzinfo (~> 2.0, >= 2.0.5)
+      uri (>= 0.13.1)
+    base64 (0.3.0)
+    bcrypt_pbkdf (1.1.1)
+    bcrypt_pbkdf (1.1.1-arm64-darwin)
+    bcrypt_pbkdf (1.1.1-x86_64-darwin)
+    benchmark (0.4.1)
+    bigdecimal (3.2.2)
+    concurrent-ruby (1.3.5)
+    connection_pool (2.5.3)
+    dotenv (3.1.8)
+    drb (2.2.3)
+    ed25519 (1.4.0)
+    i18n (1.14.7)
+      concurrent-ruby (~> 1.0)
+    kamal (2.6.1)
+      activesupport (>= 7.0)
+      base64 (~> 0.2)
+      bcrypt_pbkdf (~> 1.0)
+      concurrent-ruby (~> 1.2)
+      dotenv (~> 3.1)
+      ed25519 (~> 1.4)
+      net-ssh (~> 7.3)
+      sshkit (>= 1.23.0, < 2.0)
+      thor (~> 1.3)
+      zeitwerk (>= 2.6.18, < 3.0)
+    logger (1.7.0)
+    minitest (5.25.5)
+    net-scp (4.1.0)
+      net-ssh (>= 2.6.5, < 8.0.0)
+    net-sftp (4.0.0)
+      net-ssh (>= 5.0.0, < 8.0.0)
+    net-ssh (7.3.0)
+    ostruct (0.6.1)
+    securerandom (0.4.1)
+    sshkit (1.24.0)
+      base64
+      logger
+      net-scp (>= 1.1.2)
+      net-sftp (>= 2.1.2)
+      net-ssh (>= 2.8.0)
+      ostruct
+    thor (1.3.2)
+    tzinfo (2.0.6)
+      concurrent-ruby (~> 1.0)
+    uri (1.0.3)
+    zeitwerk (2.7.3)
+
+PLATFORMS
+  arm64-darwin
+  ruby
+  x86_64-darwin
+  x86_64-linux
+
+DEPENDENCIES
+  kamal
+
+BUNDLED WITH
+   2.5.22
diff --git a/pkgs/by-name/ka/kamal/gemset.nix b/pkgs/by-name/ka/kamal/gemset.nix
new file mode 100644
index 000000000000..0e54671df57c
--- /dev/null
+++ b/pkgs/by-name/ka/kamal/gemset.nix
@@ -0,0 +1,280 @@
+{
+  activesupport = {
+    dependencies = [
+      "base64"
+      "benchmark"
+      "bigdecimal"
+      "concurrent-ruby"
+      "connection_pool"
+      "drb"
+      "i18n"
+      "logger"
+      "minitest"
+      "securerandom"
+      "tzinfo"
+      "uri"
+    ];
+    groups = [ "default" ];
+    platforms = [ ];
+    source = {
+      remotes = [ "https://rubygems.org" ];
+      sha256 = "0pm40y64wfc50a9sj87kxvil2102rmpdcbv82zf0r40vlgdwsrc5";
+      type = "gem";
+    };
+    version = "8.0.2";
+  };
+  base64 = {
+    groups = [ "default" ];
+    platforms = [ ];
+    source = {
+      remotes = [ "https://rubygems.org" ];
+      sha256 = "0yx9yn47a8lkfcjmigk79fykxvr80r4m1i35q82sxzynpbm7lcr7";
+      type = "gem";
+    };
+    version = "0.3.0";
+  };
+  bcrypt_pbkdf = {
+    groups = [ "default" ];
+    platforms = [ ];
+    source = {
+      remotes = [ "https://rubygems.org" ];
+      sha256 = "04rb3rp9bdxn1y3qiflfpj7ccwb8ghrfbydh5vfz1l9px3fpg41g";
+      type = "gem";
+    };
+    version = "1.1.1";
+  };
+  benchmark = {
+    groups = [ "default" ];
+    platforms = [ ];
+    source = {
+      remotes = [ "https://rubygems.org" ];
+      sha256 = "1kicilpma5l0lwayqjb5577bm0hbjndj2gh150xz09xsgc1l1vyl";
+      type = "gem";
+    };
+    version = "0.4.1";
+  };
+  bigdecimal = {
+    groups = [ "default" ];
+    platforms = [ ];
+    source = {
+      remotes = [ "https://rubygems.org" ];
+      sha256 = "1p2szbr4jdvmwaaj2kxlbv1rp0m6ycbgfyp0kjkkkswmniv5y21r";
+      type = "gem";
+    };
+    version = "3.2.2";
+  };
+  concurrent-ruby = {
+    groups = [ "default" ];
+    platforms = [ ];
+    source = {
+      remotes = [ "https://rubygems.org" ];
+      sha256 = "1ipbrgvf0pp6zxdk5ascp6i29aybz2bx9wdrlchjmpx6mhvkwfw1";
+      type = "gem";
+    };
+    version = "1.3.5";
+  };
+  connection_pool = {
+    groups = [ "default" ];
+    platforms = [ ];
+    source = {
+      remotes = [ "https://rubygems.org" ];
+      sha256 = "0nrhsk7b3sjqbyl1cah6ibf1kvi3v93a7wf4637d355hp614mmyg";
+      type = "gem";
+    };
+    version = "2.5.3";
+  };
+  dotenv = {
+    groups = [ "default" ];
+    platforms = [ ];
+    source = {
+      remotes = [ "https://rubygems.org" ];
+      sha256 = "1hwjsddv666wpp42bip3fqx7c5qq6s8lwf74dj71yn7d1h37c4cy";
+      type = "gem";
+    };
+    version = "3.1.8";
+  };
+  drb = {
+    groups = [ "default" ];
+    platforms = [ ];
+    source = {
+      remotes = [ "https://rubygems.org" ];
+      sha256 = "0wrkl7yiix268s2md1h6wh91311w95ikd8fy8m5gx589npyxc00b";
+      type = "gem";
+    };
+    version = "2.2.3";
+  };
+  ed25519 = {
+    groups = [ "default" ];
+    platforms = [ ];
+    source = {
+      remotes = [ "https://rubygems.org" ];
+      sha256 = "01n5rbyws1ijwc5dw7s88xx3zzacxx9k97qn8x11b6k8k18pzs8n";
+      type = "gem";
+    };
+    version = "1.4.0";
+  };
+  i18n = {
+    dependencies = [ "concurrent-ruby" ];
+    groups = [ "default" ];
+    platforms = [ ];
+    source = {
+      remotes = [ "https://rubygems.org" ];
+      sha256 = "03sx3ahz1v5kbqjwxj48msw3maplpp2iyzs22l4jrzrqh4zmgfnf";
+      type = "gem";
+    };
+    version = "1.14.7";
+  };
+  kamal = {
+    dependencies = [
+      "activesupport"
+      "base64"
+      "bcrypt_pbkdf"
+      "concurrent-ruby"
+      "dotenv"
+      "ed25519"
+      "net-ssh"
+      "sshkit"
+      "thor"
+      "zeitwerk"
+    ];
+    groups = [ "default" ];
+    platforms = [ ];
+    source = {
+      remotes = [ "https://rubygems.org" ];
+      sha256 = "0ak5yn5i99prqhyr0qry90lhi30z3qpyai8pkjs4nfs8b9fski0z";
+      type = "gem";
+    };
+    version = "2.6.1";
+  };
+  logger = {
+    groups = [ "default" ];
+    platforms = [ ];
+    source = {
+      remotes = [ "https://rubygems.org" ];
+      sha256 = "00q2zznygpbls8asz5knjvvj2brr3ghmqxgr83xnrdj4rk3xwvhr";
+      type = "gem";
+    };
+    version = "1.7.0";
+  };
+  minitest = {
+    groups = [ "default" ];
+    platforms = [ ];
+    source = {
+      remotes = [ "https://rubygems.org" ];
+      sha256 = "0mn7q9yzrwinvfvkyjiz548a4rmcwbmz2fn9nyzh4j1snin6q6rr";
+      type = "gem";
+    };
+    version = "5.25.5";
+  };
+  net-scp = {
+    dependencies = [ "net-ssh" ];
+    groups = [ "default" ];
+    platforms = [ ];
+    source = {
+      remotes = [ "https://rubygems.org" ];
+      sha256 = "0p8s7l4pr6hkn0l6rxflsc11alwi1kfg5ysgvsq61lz5l690p6x9";
+      type = "gem";
+    };
+    version = "4.1.0";
+  };
+  net-sftp = {
+    dependencies = [ "net-ssh" ];
+    groups = [ "default" ];
+    platforms = [ ];
+    source = {
+      remotes = [ "https://rubygems.org" ];
+      sha256 = "0r33aa2d61hv1psm0l0mm6ik3ycsnq8symv7h84kpyf2b7493fv5";
+      type = "gem";
+    };
+    version = "4.0.0";
+  };
+  net-ssh = {
+    groups = [ "default" ];
+    platforms = [ ];
+    source = {
+      remotes = [ "https://rubygems.org" ];
+      sha256 = "1w1ypxa3n6mskkwb00b489314km19l61p5h3bar6zr8cng27c80p";
+      type = "gem";
+    };
+    version = "7.3.0";
+  };
+  ostruct = {
+    groups = [ "default" ];
+    platforms = [ ];
+    source = {
+      remotes = [ "https://rubygems.org" ];
+      sha256 = "05xqijcf80sza5pnlp1c8whdaay8x5dc13214ngh790zrizgp8q9";
+      type = "gem";
+    };
+    version = "0.6.1";
+  };
+  securerandom = {
+    groups = [ "default" ];
+    platforms = [ ];
+    source = {
+      remotes = [ "https://rubygems.org" ];
+      sha256 = "1cd0iriqfsf1z91qg271sm88xjnfd92b832z49p1nd542ka96lfc";
+      type = "gem";
+    };
+    version = "0.4.1";
+  };
+  sshkit = {
+    dependencies = [
+      "base64"
+      "logger"
+      "net-scp"
+      "net-sftp"
+      "net-ssh"
+      "ostruct"
+    ];
+    groups = [ "default" ];
+    platforms = [ ];
+    source = {
+      remotes = [ "https://rubygems.org" ];
+      sha256 = "0v4fc9yaqljwax370438p3ps59jpimvkkj1d5xsfk2kphkww35wm";
+      type = "gem";
+    };
+    version = "1.24.0";
+  };
+  thor = {
+    groups = [ "default" ];
+    platforms = [ ];
+    source = {
+      remotes = [ "https://rubygems.org" ];
+      sha256 = "1nmymd86a0vb39pzj2cwv57avdrl6pl3lf5bsz58q594kqxjkw7f";
+      type = "gem";
+    };
+    version = "1.3.2";
+  };
+  tzinfo = {
+    dependencies = [ "concurrent-ruby" ];
+    groups = [ "default" ];
+    platforms = [ ];
+    source = {
+      remotes = [ "https://rubygems.org" ];
+      sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd";
+      type = "gem";
+    };
+    version = "2.0.6";
+  };
+  uri = {
+    groups = [ "default" ];
+    platforms = [ ];
+    source = {
+      remotes = [ "https://rubygems.org" ];
+      sha256 = "04bhfvc25b07jaiaf62yrach7khhr5jlr5bx6nygg8pf11329wp9";
+      type = "gem";
+    };
+    version = "1.0.3";
+  };
+  zeitwerk = {
+    groups = [ "default" ];
+    platforms = [ ];
+    source = {
+      remotes = [ "https://rubygems.org" ];
+      sha256 = "119ypabas886gd0n9kiid3q41w76gz60s8qmiak6pljpkd56ps5j";
+      type = "gem";
+    };
+    version = "2.7.3";
+  };
+}
diff --git a/pkgs/by-name/ka/kamal/package.nix b/pkgs/by-name/ka/kamal/package.nix
new file mode 100644
index 000000000000..628ec7bedbca
--- /dev/null
+++ b/pkgs/by-name/ka/kamal/package.nix
@@ -0,0 +1,22 @@
+{
+  lib,
+  ruby,
+  bundlerApp,
+  bundlerUpdateScript,
+}:
+
+bundlerApp {
+  pname = "kamal";
+  gemdir = ./.;
+  inherit ruby;
+
+  exes = [ "kamal" ];
+
+  meta = with lib; {
+    description = "Kamal: Deploy web apps anywhere";
+    homepage = "https://kamal-deploy.org/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ nathanruiz ];
+    mainProgram = "kamal";
+  };
+}
diff --git a/pkgs/by-name/ka/kaminpar/package.nix b/pkgs/by-name/ka/kaminpar/package.nix
new file mode 100644
index 000000000000..9b9cfac2a474
--- /dev/null
+++ b/pkgs/by-name/ka/kaminpar/package.nix
@@ -0,0 +1,88 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  fetchpatch2,
+  cmake,
+  numactl,
+  mpi,
+  sparsehash,
+  tbb_2022,
+  gtest,
+  mpiCheckPhaseHook,
+}:
+let
+  kassert-src = fetchFromGitHub {
+    owner = "kamping-site";
+    repo = "kassert";
+    rev = "988b7d54b79ae6634f2fcc53a0314fb1cf2c6a23";
+
+    fetchSubmodules = true;
+    hash = "sha256-CBglUfVl9lgEa1t95G0mG4CCj0OWnIBwk7ep62rwIAA=";
+  };
+
+  kagen-src = fetchFromGitHub {
+    owner = "KarlsruheGraphGeneration";
+    repo = "KaGen";
+    rev = "70386f48e513051656f020360c482ce6bff9a24f";
+
+    fetchSubmodules = true;
+    hash = "sha256-5EvRPpjUZpmAIEgybXjNU/mO0+gsAyhlwbT+syDUr48=";
+  };
+in
+stdenv.mkDerivation (finalAttrs: {
+  pname = "kaminpar";
+  version = "3.5.1";
+
+  src = fetchFromGitHub {
+    owner = "KaHIP";
+    repo = "KaMinPar";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-1azBj1DSEb7b8u+S51Sncn6EVMgu+SuFJcK4QVVhRk4=";
+  };
+
+  patches = [
+    # require gtest to be preinstalled by default if building tests
+    (fetchpatch2 {
+      url = "https://github.com/KaHip/KaMinPar/commit/9cb9883eea076d11cffcf4b0d14bf1f4f95a00e4.patch?full_index=1";
+      hash = "sha256-aUO5E0HTZqjfu5BUzyRdSZgyQYcE4PGqZaJvLD40sn8=";
+    })
+  ];
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = lib.optional stdenv.hostPlatform.isLinux numactl;
+
+  propagatedBuildInputs = [
+    mpi
+    sparsehash
+    tbb_2022
+  ];
+
+  cmakeFlags = [
+    (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic))
+    (lib.cmakeBool "KAMINPAR_BUILD_DISTRIBUTED" true)
+    (lib.cmakeBool "KAMINPAR_BUILD_WITH_MTUNE_NATIVE" false)
+    (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_KASSERT" "${kassert-src}")
+    (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_KAGEN" "${kagen-src}")
+  ];
+
+  doCheck = true;
+
+  __darwinAllowLocalNetworking = true;
+
+  nativeCheckInputs = [
+    gtest
+    mpiCheckPhaseHook
+  ];
+
+  meta = {
+    description = "Parallel heuristic solver for the balanced k-way graph partitioning problem";
+    homepage = "https://github.com/KaHIP/KaMinPar";
+    changelog = "https://github.com/KaHIP/KaMinPar/releases/tag/v${finalAttrs.version}";
+    mainProgram = "KaMinPar";
+    license = lib.licenses.mit;
+    platforms = lib.platforms.unix;
+    maintainers = with lib.maintainers; [ dsalwasser ];
+  };
+})
diff --git a/pkgs/by-name/ka/kanidm/1_4.nix b/pkgs/by-name/ka/kanidm/1_4.nix
deleted file mode 100644
index da046ce65626..000000000000
--- a/pkgs/by-name/ka/kanidm/1_4.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-import ./generic.nix {
-  version = "1.4.6";
-  hash = "sha256-pjJyq52wO5p34LN2Jmt0npgWBDcWin8gIX4skZ7Ff8E=";
-  cargoHash = "sha256-33HRoH/vWPe/wOZJtQLWV9eBocbj0iR/XUu4zMehu8M=";
-  patchDir = ./patches/1_4;
-  unsupported = true;
-}
diff --git a/pkgs/by-name/ka/kanidm/1_5.nix b/pkgs/by-name/ka/kanidm/1_5.nix
index 93afad5ee0f8..3d45f6b1e923 100644
--- a/pkgs/by-name/ka/kanidm/1_5.nix
+++ b/pkgs/by-name/ka/kanidm/1_5.nix
@@ -3,4 +3,5 @@ import ./generic.nix {
   hash = "sha256-swrqyjA7Wgq17vd+753LDFcXrSFixVNLhTvj1bhG3DU=";
   cargoHash = "sha256-72IwS8Nk1y6xDH9y8JW2LpbhFWaq0tpORx7JQSCF5/M=";
   patchDir = ./patches/1_5;
+  unsupported = true;
 }
diff --git a/pkgs/by-name/ka/kanidm/1_6.nix b/pkgs/by-name/ka/kanidm/1_6.nix
index 33406713f260..b7ebd14a9d2c 100644
--- a/pkgs/by-name/ka/kanidm/1_6.nix
+++ b/pkgs/by-name/ka/kanidm/1_6.nix
@@ -1,6 +1,6 @@
 import ./generic.nix {
-  version = "1.6.3";
-  hash = "sha256-oZU7XgGpkPAwuUVVjpiKApOiQN692CRFjmWzE9hcqPY=";
-  cargoHash = "sha256-cgTCLTcPXjGdvremw1afyRGHwnBvqNGXr1D8Xgxv4uA=";
+  version = "1.6.4";
+  hash = "sha256-ui3w1HDHXHARsjQ3WtJfZbM7Xgg3ODnUneXJMQwaOMw=";
+  cargoHash = "sha256-KJGELBzScwsLd6g3GR9Vk0nfDU2EjZBfXwlXJ+bZb1k=";
   patchDir = ./patches/1_6;
 }
diff --git a/pkgs/by-name/ka/kanidm/README.md b/pkgs/by-name/ka/kanidm/README.md
index 30e751fe8166..c87b4dd4bca7 100644
--- a/pkgs/by-name/ka/kanidm/README.md
+++ b/pkgs/by-name/ka/kanidm/README.md
@@ -21,12 +21,7 @@ For example, when upgrading from 1.4 -> 1.5
 1. Update `all-packages.nix` to add `kanidm_1_5` and `kanidmWithSecretProvisioning_1_5`, leave default
 1. Create commit, `kanidm_1_5: init at 1.5.0` - this is the only commit that will be backported
 
-### Mark previous version deprecated
-
-1. Update `pkgs/by-name/ka/kanidm/1_4.nix` by adding `deprecated = true;`
-1. Create commit `kanidm_1_4: update default to 1.5.0, deprecate 1.4.0`
-
-### Update default and mark deprecation
+### Update default
 
 1. `sed -i 's/1_4/1_5/' pkgs/by-name/ka/kanidm/package.nix`
 1. Update `all-packages.nix` and set `kanidmWithSecretProvisioning = kanidmWithSecretProvisioning_1_5;`
@@ -41,9 +36,10 @@ For example, when upgrading from 1.4 -> 1.5
 Kanidm versions are supported for 30 days after the release of new versions. Following the example above, 1.5.x superseding 1.4.x in 30 days, do the following near the end of the 30 day window
 
 1. Update `pkgs/by-name/ka/kanidm/1_4.nix` by adding `unsupported = true;`
-1. Update `pkgs/top-level/release.nix` and add `kanidm_1_4-1.4.6` to `permittedInsecurePackages`
+1. Update `pkgs/top-level/release.nix` and add `kanidm_1_4-1.4.6` and `kanidmWithSecretProvisioning_1_4-1.4.6` to `permittedInsecurePackages`
 1. Create commit `kanidm_1_4: mark EOL`, this commit alone should be backported
 
 1. Remove the third oldest release from `all-packages.nix`, e.g. 1.3.x continuing the example. Remove `kanidm_1_3` and `kanidmWithSecretProvisioning_1_3`
-1. Update `pkgs/top-level/release.nix` and remove `kanidm_1_3-1.3.3` from `permittedInsecurePackages`
+1. Update `pkgs/top-level/release.nix` and remove `kanidm_1_3*` from `permittedInsecurePackages`
+1. Update `pkgs/top-level/aliases.nix` and add `kanidm_1_4` and `kanidmWithSecretProvisioning_1_4-1.4.6`
 1. Remove `pkgs/by-name/ka/kanidm/1_3.nix`
diff --git a/pkgs/by-name/ka/kanidm/generic.nix b/pkgs/by-name/ka/kanidm/generic.nix
index 08ac4c490901..cd4e9e4af0e5 100644
--- a/pkgs/by-name/ka/kanidm/generic.nix
+++ b/pkgs/by-name/ka/kanidm/generic.nix
@@ -43,8 +43,8 @@ rustPlatform.buildRustPackage rec {
   cargoDepsName = "kanidm";
 
   src = fetchFromGitHub {
-    owner = pname;
-    repo = pname;
+    owner = "kanidm";
+    repo = "kanidm";
     rev = "refs/tags/v${version}";
     inherit hash;
   };
diff --git a/pkgs/by-name/ka/kanidm/patches/1_3/oauth2-basic-secret-modify.patch b/pkgs/by-name/ka/kanidm/patches/1_3/oauth2-basic-secret-modify.patch
deleted file mode 100644
index afff94ca51e9..000000000000
--- a/pkgs/by-name/ka/kanidm/patches/1_3/oauth2-basic-secret-modify.patch
+++ /dev/null
@@ -1,303 +0,0 @@
-From 44dfbc2b9dccce86c7d7e7b54db4c989344b8c56 Mon Sep 17 00:00:00 2001
-From: oddlama 
-Date: Mon, 12 Aug 2024 23:17:25 +0200
-Subject: [PATCH 1/2] oauth2 basic secret modify
-
----
- server/core/src/actors/v1_write.rs | 42 ++++++++++++++++++++++++++++++
- server/core/src/https/v1.rs        |  6 ++++-
- server/core/src/https/v1_oauth2.rs | 29 +++++++++++++++++++++
- server/lib/src/constants/acp.rs    |  6 +++++
- 4 files changed, 82 insertions(+), 1 deletion(-)
-
-diff --git a/server/core/src/actors/v1_write.rs b/server/core/src/actors/v1_write.rs
-index e00a969fb..1cacc67b8 100644
---- a/server/core/src/actors/v1_write.rs
-+++ b/server/core/src/actors/v1_write.rs
-@@ -315,20 +315,62 @@ impl QueryServerWriteV1 {
-         };
- 
-         trace!(?del, "Begin delete event");
- 
-         idms_prox_write
-             .qs_write
-             .delete(&del)
-             .and_then(|_| idms_prox_write.commit().map(|_| ()))
-     }
- 
-+    #[instrument(
-+        level = "info",
-+        skip_all,
-+        fields(uuid = ?eventid)
-+    )]
-+    pub async fn handle_oauth2_basic_secret_write(
-+        &self,
-+        client_auth_info: ClientAuthInfo,
-+        filter: Filter,
-+        new_secret: String,
-+        eventid: Uuid,
-+    ) -> Result<(), OperationError> {
-+        // Given a protoEntry, turn this into a modification set.
-+        let ct = duration_from_epoch_now();
-+        let mut idms_prox_write = self.idms.proxy_write(ct).await;
-+        let ident = idms_prox_write
-+            .validate_client_auth_info_to_ident(client_auth_info, ct)
-+            .map_err(|e| {
-+                admin_error!(err = ?e, "Invalid identity");
-+                e
-+            })?;
-+
-+        let modlist = ModifyList::new_purge_and_set(
-+            Attribute::OAuth2RsBasicSecret,
-+            Value::SecretValue(new_secret),
-+        );
-+
-+        let mdf =
-+            ModifyEvent::from_internal_parts(ident, &modlist, &filter, &idms_prox_write.qs_write)
-+                .map_err(|e| {
-+                admin_error!(err = ?e, "Failed to begin modify during handle_oauth2_basic_secret_write");
-+                e
-+            })?;
-+
-+        trace!(?mdf, "Begin modify event");
-+
-+        idms_prox_write
-+            .qs_write
-+            .modify(&mdf)
-+            .and_then(|_| idms_prox_write.commit())
-+    }
-+
-     #[instrument(
-         level = "info",
-         skip_all,
-         fields(uuid = ?eventid)
-     )]
-     pub async fn handle_reviverecycled(
-         &self,
-         client_auth_info: ClientAuthInfo,
-         filter: Filter,
-         eventid: Uuid,
-diff --git a/server/core/src/https/v1.rs b/server/core/src/https/v1.rs
-index 8aba83bb2..f1f815026 100644
---- a/server/core/src/https/v1.rs
-+++ b/server/core/src/https/v1.rs
-@@ -1,17 +1,17 @@
- //! The V1 API things!
- 
- use axum::extract::{Path, State};
- use axum::http::{HeaderMap, HeaderValue};
- use axum::middleware::from_fn;
- use axum::response::{IntoResponse, Response};
--use axum::routing::{delete, get, post, put};
-+use axum::routing::{delete, get, post, put, patch};
- use axum::{Extension, Json, Router};
- use axum_extra::extract::cookie::{Cookie, CookieJar, SameSite};
- use compact_jwt::{Jwk, Jws, JwsSigner};
- use kanidm_proto::constants::uri::V1_AUTH_VALID;
- use std::net::IpAddr;
- use uuid::Uuid;
- 
- use kanidm_proto::internal::{
-     ApiToken, AppLink, CUIntentToken, CURequest, CUSessionToken, CUStatus, CreateRequest,
-     CredentialStatus, DeleteRequest, IdentifyUserRequest, IdentifyUserResponse, ModifyRequest,
-@@ -3119,20 +3119,24 @@ pub(crate) fn route_setup(state: ServerState) -> Router {
-         )
-         .route(
-             "/v1/oauth2/:rs_name/_image",
-             post(super::v1_oauth2::oauth2_id_image_post)
-                 .delete(super::v1_oauth2::oauth2_id_image_delete),
-         )
-         .route(
-             "/v1/oauth2/:rs_name/_basic_secret",
-             get(super::v1_oauth2::oauth2_id_get_basic_secret),
-         )
-+        .route(
-+            "/v1/oauth2/:rs_name/_basic_secret",
-+            patch(super::v1_oauth2::oauth2_id_patch_basic_secret),
-+        )
-         .route(
-             "/v1/oauth2/:rs_name/_scopemap/:group",
-             post(super::v1_oauth2::oauth2_id_scopemap_post)
-                 .delete(super::v1_oauth2::oauth2_id_scopemap_delete),
-         )
-         .route(
-             "/v1/oauth2/:rs_name/_sup_scopemap/:group",
-             post(super::v1_oauth2::oauth2_id_sup_scopemap_post)
-                 .delete(super::v1_oauth2::oauth2_id_sup_scopemap_delete),
-         )
-diff --git a/server/core/src/https/v1_oauth2.rs b/server/core/src/https/v1_oauth2.rs
-index 5e481afab..a771aed04 100644
---- a/server/core/src/https/v1_oauth2.rs
-+++ b/server/core/src/https/v1_oauth2.rs
-@@ -144,20 +144,49 @@ pub(crate) async fn oauth2_id_get_basic_secret(
- ) -> Result>, WebError> {
-     let filter = oauth2_id(&rs_name);
-     state
-         .qe_r_ref
-         .handle_oauth2_basic_secret_read(client_auth_info, filter, kopid.eventid)
-         .await
-         .map(Json::from)
-         .map_err(WebError::from)
- }
- 
-+#[utoipa::path(
-+    patch,
-+    path = "/v1/oauth2/{rs_name}/_basic_secret",
-+    request_body=ProtoEntry,
-+    responses(
-+        DefaultApiResponse,
-+    ),
-+    security(("token_jwt" = [])),
-+    tag = "v1/oauth2",
-+    operation_id = "oauth2_id_patch_basic_secret"
-+)]
-+/// Overwrite the basic secret for a given OAuth2 Resource Server.
-+#[instrument(level = "info", skip(state, new_secret))]
-+pub(crate) async fn oauth2_id_patch_basic_secret(
-+    State(state): State,
-+    Extension(kopid): Extension,
-+    VerifiedClientInformation(client_auth_info): VerifiedClientInformation,
-+    Path(rs_name): Path,
-+    Json(new_secret): Json,
-+) -> Result, WebError> {
-+    let filter = oauth2_id(&rs_name);
-+    state
-+        .qe_w_ref
-+        .handle_oauth2_basic_secret_write(client_auth_info, filter, new_secret, kopid.eventid)
-+        .await
-+        .map(Json::from)
-+        .map_err(WebError::from)
-+}
-+
- #[utoipa::path(
-     patch,
-     path = "/v1/oauth2/{rs_name}",
-     request_body=ProtoEntry,
-     responses(
-         DefaultApiResponse,
-     ),
-     security(("token_jwt" = [])),
-     tag = "v1/oauth2",
-     operation_id = "oauth2_id_patch"
-diff --git a/server/lib/src/constants/acp.rs b/server/lib/src/constants/acp.rs
-index f3409649d..42e407b7d 100644
---- a/server/lib/src/constants/acp.rs
-+++ b/server/lib/src/constants/acp.rs
-@@ -645,34 +645,36 @@ lazy_static! {
-             Attribute::Image,
-         ],
-         modify_present_attrs: vec![
-             Attribute::Description,
-             Attribute::DisplayName,
-             Attribute::OAuth2RsName,
-             Attribute::OAuth2RsOrigin,
-             Attribute::OAuth2RsOriginLanding,
-             Attribute::OAuth2RsSupScopeMap,
-             Attribute::OAuth2RsScopeMap,
-+            Attribute::OAuth2RsBasicSecret,
-             Attribute::OAuth2AllowInsecureClientDisablePkce,
-             Attribute::OAuth2JwtLegacyCryptoEnable,
-             Attribute::OAuth2PreferShortUsername,
-             Attribute::Image,
-         ],
-         create_attrs: vec![
-             Attribute::Class,
-             Attribute::Description,
-             Attribute::DisplayName,
-             Attribute::OAuth2RsName,
-             Attribute::OAuth2RsOrigin,
-             Attribute::OAuth2RsOriginLanding,
-             Attribute::OAuth2RsSupScopeMap,
-             Attribute::OAuth2RsScopeMap,
-+            Attribute::OAuth2RsBasicSecret,
-             Attribute::OAuth2AllowInsecureClientDisablePkce,
-             Attribute::OAuth2JwtLegacyCryptoEnable,
-             Attribute::OAuth2PreferShortUsername,
-             Attribute::Image,
-         ],
-         create_classes: vec![
-             EntryClass::Object,
-             EntryClass::OAuth2ResourceServer,
-             EntryClass::OAuth2ResourceServerBasic,
-             EntryClass::OAuth2ResourceServerPublic,
-@@ -739,36 +741,38 @@ lazy_static! {
-             Attribute::Image,
-         ],
-         modify_present_attrs: vec![
-             Attribute::Description,
-             Attribute::DisplayName,
-             Attribute::OAuth2RsName,
-             Attribute::OAuth2RsOrigin,
-             Attribute::OAuth2RsOriginLanding,
-             Attribute::OAuth2RsSupScopeMap,
-             Attribute::OAuth2RsScopeMap,
-+            Attribute::OAuth2RsBasicSecret,
-             Attribute::OAuth2AllowInsecureClientDisablePkce,
-             Attribute::OAuth2JwtLegacyCryptoEnable,
-             Attribute::OAuth2PreferShortUsername,
-             Attribute::OAuth2AllowLocalhostRedirect,
-             Attribute::OAuth2RsClaimMap,
-             Attribute::Image,
-         ],
-         create_attrs: vec![
-             Attribute::Class,
-             Attribute::Description,
-             Attribute::DisplayName,
-             Attribute::OAuth2RsName,
-             Attribute::OAuth2RsOrigin,
-             Attribute::OAuth2RsOriginLanding,
-             Attribute::OAuth2RsSupScopeMap,
-             Attribute::OAuth2RsScopeMap,
-+            Attribute::OAuth2RsBasicSecret,
-             Attribute::OAuth2AllowInsecureClientDisablePkce,
-             Attribute::OAuth2JwtLegacyCryptoEnable,
-             Attribute::OAuth2PreferShortUsername,
-             Attribute::OAuth2AllowLocalhostRedirect,
-             Attribute::OAuth2RsClaimMap,
-             Attribute::Image,
-         ],
-         create_classes: vec![
-             EntryClass::Object,
-             EntryClass::OAuth2ResourceServer,
-@@ -840,36 +844,38 @@ lazy_static! {
-             Attribute::Image,
-         ],
-         modify_present_attrs: vec![
-             Attribute::Description,
-             Attribute::DisplayName,
-             Attribute::Name,
-             Attribute::OAuth2RsOrigin,
-             Attribute::OAuth2RsOriginLanding,
-             Attribute::OAuth2RsSupScopeMap,
-             Attribute::OAuth2RsScopeMap,
-+            Attribute::OAuth2RsBasicSecret,
-             Attribute::OAuth2AllowInsecureClientDisablePkce,
-             Attribute::OAuth2JwtLegacyCryptoEnable,
-             Attribute::OAuth2PreferShortUsername,
-             Attribute::OAuth2AllowLocalhostRedirect,
-             Attribute::OAuth2RsClaimMap,
-             Attribute::Image,
-         ],
-         create_attrs: vec![
-             Attribute::Class,
-             Attribute::Description,
-             Attribute::Name,
-             Attribute::OAuth2RsName,
-             Attribute::OAuth2RsOrigin,
-             Attribute::OAuth2RsOriginLanding,
-             Attribute::OAuth2RsSupScopeMap,
-             Attribute::OAuth2RsScopeMap,
-+            Attribute::OAuth2RsBasicSecret,
-             Attribute::OAuth2AllowInsecureClientDisablePkce,
-             Attribute::OAuth2JwtLegacyCryptoEnable,
-             Attribute::OAuth2PreferShortUsername,
-             Attribute::OAuth2AllowLocalhostRedirect,
-             Attribute::OAuth2RsClaimMap,
-             Attribute::Image,
-         ],
-         create_classes: vec![
-             EntryClass::Object,
-             EntryClass::Account,
--- 
-2.45.2
-
diff --git a/pkgs/by-name/ka/kanidm/patches/1_3/recover-account.patch b/pkgs/by-name/ka/kanidm/patches/1_3/recover-account.patch
deleted file mode 100644
index 5f676bdbc103..000000000000
--- a/pkgs/by-name/ka/kanidm/patches/1_3/recover-account.patch
+++ /dev/null
@@ -1,174 +0,0 @@
-From cc8269489b56755714f07eee4671f8aa2659c014 Mon Sep 17 00:00:00 2001
-From: oddlama 
-Date: Mon, 12 Aug 2024 23:17:42 +0200
-Subject: [PATCH 2/2] recover account
-
----
- server/core/src/actors/internal.rs |  3 ++-
- server/core/src/admin.rs           |  6 +++---
- server/daemon/src/main.rs          | 14 +++++++++++++-
- server/daemon/src/opt.rs           |  4 ++++
- 4 files changed, 22 insertions(+), 5 deletions(-)
-
-diff --git a/server/core/src/actors/internal.rs b/server/core/src/actors/internal.rs
-index 40c18777f..40d553b40 100644
---- a/server/core/src/actors/internal.rs
-+++ b/server/core/src/actors/internal.rs
-@@ -153,25 +153,26 @@ impl QueryServerWriteV1 {
-     }
- 
-     #[instrument(
-         level = "info",
--        skip(self, eventid),
-+        skip(self, password, eventid),
-         fields(uuid = ?eventid)
-     )]
-     pub(crate) async fn handle_admin_recover_account(
-         &self,
-         name: String,
-+        password: Option,
-         eventid: Uuid,
-     ) -> Result {
-         let ct = duration_from_epoch_now();
-         let mut idms_prox_write = self.idms.proxy_write(ct).await;
--        let pw = idms_prox_write.recover_account(name.as_str(), None)?;
-+        let pw = idms_prox_write.recover_account(name.as_str(), password.as_deref())?;
- 
-         idms_prox_write.commit().map(|()| pw)
-     }
- 
-     #[instrument(
-         level = "info",
-         skip_all,
-         fields(uuid = ?eventid)
-     )]
-     pub(crate) async fn handle_domain_raise(&self, eventid: Uuid) -> Result {
-diff --git a/server/core/src/admin.rs b/server/core/src/admin.rs
-index 90ccb1927..85e31ddef 100644
---- a/server/core/src/admin.rs
-+++ b/server/core/src/admin.rs
-@@ -17,21 +17,21 @@ use tokio_util::codec::{Decoder, Encoder, Framed};
- use tracing::{span, Instrument, Level};
- use uuid::Uuid;
- 
- pub use kanidm_proto::internal::{
-     DomainInfo as ProtoDomainInfo, DomainUpgradeCheckReport as ProtoDomainUpgradeCheckReport,
-     DomainUpgradeCheckStatus as ProtoDomainUpgradeCheckStatus,
- };
- 
- #[derive(Serialize, Deserialize, Debug)]
- pub enum AdminTaskRequest {
--    RecoverAccount { name: String },
-+    RecoverAccount { name: String, password: Option },
-     ShowReplicationCertificate,
-     RenewReplicationCertificate,
-     RefreshReplicationConsumer,
-     DomainShow,
-     DomainUpgradeCheck,
-     DomainRaise,
-     DomainRemigrate { level: Option },
- }
- 
- #[derive(Serialize, Deserialize, Debug)]
-@@ -302,22 +302,22 @@ async fn handle_client(
-     let mut reqs = Framed::new(sock, ServerCodec);
- 
-     trace!("Waiting for requests ...");
-     while let Some(Ok(req)) = reqs.next().await {
-         // Setup the logging span
-         let eventid = Uuid::new_v4();
-         let nspan = span!(Level::INFO, "handle_admin_client_request", uuid = ?eventid);
- 
-         let resp = async {
-             match req {
--                AdminTaskRequest::RecoverAccount { name } => {
--                    match server_rw.handle_admin_recover_account(name, eventid).await {
-+                AdminTaskRequest::RecoverAccount { name, password } => {
-+                    match server_rw.handle_admin_recover_account(name, password, eventid).await {
-                         Ok(password) => AdminTaskResponse::RecoverAccount { password },
-                         Err(e) => {
-                             error!(err = ?e, "error during recover-account");
-                             AdminTaskResponse::Error
-                         }
-                     }
-                 }
-                 AdminTaskRequest::ShowReplicationCertificate => match repl_ctrl_tx.as_mut() {
-                     Some(ctrl_tx) => show_replication_certificate(ctrl_tx).await,
-                     None => {
-diff --git a/server/daemon/src/main.rs b/server/daemon/src/main.rs
-index 577995615..a967928c9 100644
---- a/server/daemon/src/main.rs
-+++ b/server/daemon/src/main.rs
-@@ -894,27 +894,39 @@ async fn kanidm_main(
-             } else {
-                 let output_mode: ConsoleOutputMode = commonopts.output_mode.to_owned().into();
-                 submit_admin_req(
-                     config.adminbindpath.as_str(),
-                     AdminTaskRequest::RefreshReplicationConsumer,
-                     output_mode,
-                 )
-                 .await;
-             }
-         }
--        KanidmdOpt::RecoverAccount { name, commonopts } => {
-+        KanidmdOpt::RecoverAccount { name, from_environment, commonopts } => {
-             info!("Running account recovery ...");
-             let output_mode: ConsoleOutputMode = commonopts.output_mode.to_owned().into();
-+            let password = if *from_environment {
-+                match std::env::var("KANIDM_RECOVER_ACCOUNT_PASSWORD") {
-+                    Ok(val) => Some(val),
-+                    _ => {
-+                        error!("Environment variable KANIDM_RECOVER_ACCOUNT_PASSWORD not set");
-+                        return ExitCode::FAILURE;
-+                    }
-+                }
-+            } else {
-+                None
-+            };
-             submit_admin_req(
-                 config.adminbindpath.as_str(),
-                 AdminTaskRequest::RecoverAccount {
-                     name: name.to_owned(),
-+                    password,
-                 },
-                 output_mode,
-             )
-             .await;
-         }
-         KanidmdOpt::Database {
-             commands: DbCommands::Reindex(_copt),
-         } => {
-             info!("Running in reindex mode ...");
-             reindex_server_core(&config).await;
-diff --git a/server/daemon/src/opt.rs b/server/daemon/src/opt.rs
-index f1b45a5b3..9c013e32e 100644
---- a/server/daemon/src/opt.rs
-+++ b/server/daemon/src/opt.rs
-@@ -229,20 +229,24 @@ enum KanidmdOpt {
-     /// Create a self-signed ca and tls certificate in the locations listed from the
-     /// configuration. These certificates should *not* be used in production, they
-     /// are for testing and evaluation only!
-     CertGenerate(CommonOpt),
-     #[clap(name = "recover-account")]
-     /// Recover an account's password
-     RecoverAccount {
-         #[clap(value_parser)]
-         /// The account name to recover credentials for.
-         name: String,
-+        /// Use the password given in the environment variable
-+        /// `KANIDM_RECOVER_ACCOUNT_PASSWORD` instead of generating one.
-+        #[clap(long = "from-environment")]
-+        from_environment: bool,
-         #[clap(flatten)]
-         commonopts: CommonOpt,
-     },
-     /// Display this server's replication certificate
-     ShowReplicationCertificate {
-         #[clap(flatten)]
-         commonopts: CommonOpt,
-     },
-     /// Renew this server's replication certificate
-     RenewReplicationCertificate {
--- 
-2.45.2
-
diff --git a/pkgs/by-name/ka/kanidm/patches/1_4/oauth2-basic-secret-modify.patch b/pkgs/by-name/ka/kanidm/patches/1_4/oauth2-basic-secret-modify.patch
deleted file mode 100644
index 80bd4c16bd9b..000000000000
--- a/pkgs/by-name/ka/kanidm/patches/1_4/oauth2-basic-secret-modify.patch
+++ /dev/null
@@ -1,308 +0,0 @@
-From e9dfca73e6fb80faf6fc106e7aee6b93c0908525 Mon Sep 17 00:00:00 2001
-From: oddlama 
-Date: Fri, 1 Nov 2024 12:26:17 +0100
-Subject: [PATCH 1/2] oauth2 basic secret modify
-
----
- server/core/src/actors/v1_write.rs | 42 ++++++++++++++++++++++++++++++
- server/core/src/https/v1.rs        |  6 ++++-
- server/core/src/https/v1_oauth2.rs | 29 +++++++++++++++++++++
- server/lib/src/constants/acp.rs    |  6 +++++
- 4 files changed, 82 insertions(+), 1 deletion(-)
-
-diff --git a/server/core/src/actors/v1_write.rs b/server/core/src/actors/v1_write.rs
-index 732e826c8..0fe66503f 100644
---- a/server/core/src/actors/v1_write.rs
-+++ b/server/core/src/actors/v1_write.rs
-@@ -317,20 +317,62 @@ impl QueryServerWriteV1 {
-         };
- 
-         trace!(?del, "Begin delete event");
- 
-         idms_prox_write
-             .qs_write
-             .delete(&del)
-             .and_then(|_| idms_prox_write.commit().map(|_| ()))
-     }
- 
-+    #[instrument(
-+        level = "info",
-+        skip_all,
-+        fields(uuid = ?eventid)
-+    )]
-+    pub async fn handle_oauth2_basic_secret_write(
-+        &self,
-+        client_auth_info: ClientAuthInfo,
-+        filter: Filter,
-+        new_secret: String,
-+        eventid: Uuid,
-+    ) -> Result<(), OperationError> {
-+        // Given a protoEntry, turn this into a modification set.
-+        let ct = duration_from_epoch_now();
-+        let mut idms_prox_write = self.idms.proxy_write(ct).await?;
-+        let ident = idms_prox_write
-+            .validate_client_auth_info_to_ident(client_auth_info, ct)
-+            .map_err(|e| {
-+                admin_error!(err = ?e, "Invalid identity");
-+                e
-+            })?;
-+
-+        let modlist = ModifyList::new_purge_and_set(
-+            Attribute::OAuth2RsBasicSecret,
-+            Value::SecretValue(new_secret),
-+        );
-+
-+        let mdf =
-+            ModifyEvent::from_internal_parts(ident, &modlist, &filter, &idms_prox_write.qs_write)
-+                .map_err(|e| {
-+                admin_error!(err = ?e, "Failed to begin modify during handle_oauth2_basic_secret_write");
-+                e
-+            })?;
-+
-+        trace!(?mdf, "Begin modify event");
-+
-+        idms_prox_write
-+            .qs_write
-+            .modify(&mdf)
-+            .and_then(|_| idms_prox_write.commit())
-+    }
-+
-     #[instrument(
-         level = "info",
-         skip_all,
-         fields(uuid = ?eventid)
-     )]
-     pub async fn handle_reviverecycled(
-         &self,
-         client_auth_info: ClientAuthInfo,
-         filter: Filter,
-         eventid: Uuid,
-diff --git a/server/core/src/https/v1.rs b/server/core/src/https/v1.rs
-index c410a4b5d..cc67cac6c 100644
---- a/server/core/src/https/v1.rs
-+++ b/server/core/src/https/v1.rs
-@@ -1,17 +1,17 @@
- //! The V1 API things!
- 
- use axum::extract::{Path, State};
- use axum::http::{HeaderMap, HeaderValue};
- use axum::middleware::from_fn;
- use axum::response::{IntoResponse, Response};
--use axum::routing::{delete, get, post, put};
-+use axum::routing::{delete, get, post, put, patch};
- use axum::{Extension, Json, Router};
- use axum_extra::extract::cookie::{Cookie, CookieJar, SameSite};
- use compact_jwt::{Jwk, Jws, JwsSigner};
- use kanidm_proto::constants::uri::V1_AUTH_VALID;
- use std::net::IpAddr;
- use uuid::Uuid;
- 
- use kanidm_proto::internal::{
-     ApiToken, AppLink, CUIntentToken, CURequest, CUSessionToken, CUStatus, CreateRequest,
-     CredentialStatus, DeleteRequest, IdentifyUserRequest, IdentifyUserResponse, ModifyRequest,
-@@ -3120,20 +3120,24 @@ pub(crate) fn route_setup(state: ServerState) -> Router {
-         )
-         .route(
-             "/v1/oauth2/:rs_name/_image",
-             post(super::v1_oauth2::oauth2_id_image_post)
-                 .delete(super::v1_oauth2::oauth2_id_image_delete),
-         )
-         .route(
-             "/v1/oauth2/:rs_name/_basic_secret",
-             get(super::v1_oauth2::oauth2_id_get_basic_secret),
-         )
-+        .route(
-+            "/v1/oauth2/:rs_name/_basic_secret",
-+            patch(super::v1_oauth2::oauth2_id_patch_basic_secret),
-+        )
-         .route(
-             "/v1/oauth2/:rs_name/_scopemap/:group",
-             post(super::v1_oauth2::oauth2_id_scopemap_post)
-                 .delete(super::v1_oauth2::oauth2_id_scopemap_delete),
-         )
-         .route(
-             "/v1/oauth2/:rs_name/_sup_scopemap/:group",
-             post(super::v1_oauth2::oauth2_id_sup_scopemap_post)
-                 .delete(super::v1_oauth2::oauth2_id_sup_scopemap_delete),
-         )
-diff --git a/server/core/src/https/v1_oauth2.rs b/server/core/src/https/v1_oauth2.rs
-index d3966a7ad..f89c02c69 100644
---- a/server/core/src/https/v1_oauth2.rs
-+++ b/server/core/src/https/v1_oauth2.rs
-@@ -144,20 +144,49 @@ pub(crate) async fn oauth2_id_get_basic_secret(
- ) -> Result>, WebError> {
-     let filter = oauth2_id(&rs_name);
-     state
-         .qe_r_ref
-         .handle_oauth2_basic_secret_read(client_auth_info, filter, kopid.eventid)
-         .await
-         .map(Json::from)
-         .map_err(WebError::from)
- }
- 
-+#[utoipa::path(
-+    patch,
-+    path = "/v1/oauth2/{rs_name}/_basic_secret",
-+    request_body=ProtoEntry,
-+    responses(
-+        DefaultApiResponse,
-+    ),
-+    security(("token_jwt" = [])),
-+    tag = "v1/oauth2",
-+    operation_id = "oauth2_id_patch_basic_secret"
-+)]
-+/// Overwrite the basic secret for a given OAuth2 Resource Server.
-+#[instrument(level = "info", skip(state, new_secret))]
-+pub(crate) async fn oauth2_id_patch_basic_secret(
-+    State(state): State,
-+    Extension(kopid): Extension,
-+    VerifiedClientInformation(client_auth_info): VerifiedClientInformation,
-+    Path(rs_name): Path,
-+    Json(new_secret): Json,
-+) -> Result, WebError> {
-+    let filter = oauth2_id(&rs_name);
-+    state
-+        .qe_w_ref
-+        .handle_oauth2_basic_secret_write(client_auth_info, filter, new_secret, kopid.eventid)
-+        .await
-+        .map(Json::from)
-+        .map_err(WebError::from)
-+}
-+
- #[utoipa::path(
-     patch,
-     path = "/v1/oauth2/{rs_name}",
-     request_body=ProtoEntry,
-     responses(
-         DefaultApiResponse,
-     ),
-     security(("token_jwt" = [])),
-     tag = "v1/oauth2",
-     operation_id = "oauth2_id_patch"
-diff --git a/server/lib/src/constants/acp.rs b/server/lib/src/constants/acp.rs
-index be1836345..ebf4445be 100644
---- a/server/lib/src/constants/acp.rs
-+++ b/server/lib/src/constants/acp.rs
-@@ -658,36 +658,38 @@ lazy_static! {
-             Attribute::Image,
-         ],
-         modify_present_attrs: vec![
-             Attribute::Description,
-             Attribute::DisplayName,
-             Attribute::OAuth2RsName,
-             Attribute::OAuth2RsOrigin,
-             Attribute::OAuth2RsOriginLanding,
-             Attribute::OAuth2RsSupScopeMap,
-             Attribute::OAuth2RsScopeMap,
-+            Attribute::OAuth2RsBasicSecret,
-             Attribute::OAuth2AllowInsecureClientDisablePkce,
-             Attribute::OAuth2JwtLegacyCryptoEnable,
-             Attribute::OAuth2PreferShortUsername,
-             Attribute::OAuth2AllowLocalhostRedirect,
-             Attribute::OAuth2RsClaimMap,
-             Attribute::Image,
-         ],
-         create_attrs: vec![
-             Attribute::Class,
-             Attribute::Description,
-             Attribute::DisplayName,
-             Attribute::OAuth2RsName,
-             Attribute::OAuth2RsOrigin,
-             Attribute::OAuth2RsOriginLanding,
-             Attribute::OAuth2RsSupScopeMap,
-             Attribute::OAuth2RsScopeMap,
-+            Attribute::OAuth2RsBasicSecret,
-             Attribute::OAuth2AllowInsecureClientDisablePkce,
-             Attribute::OAuth2JwtLegacyCryptoEnable,
-             Attribute::OAuth2PreferShortUsername,
-             Attribute::OAuth2AllowLocalhostRedirect,
-             Attribute::OAuth2RsClaimMap,
-             Attribute::Image,
-         ],
-         create_classes: vec![
-             EntryClass::Object,
-             EntryClass::OAuth2ResourceServer,
-@@ -759,37 +761,39 @@ lazy_static! {
-             Attribute::Image,
-         ],
-         modify_present_attrs: vec![
-             Attribute::Description,
-             Attribute::DisplayName,
-             Attribute::Name,
-             Attribute::OAuth2RsOrigin,
-             Attribute::OAuth2RsOriginLanding,
-             Attribute::OAuth2RsSupScopeMap,
-             Attribute::OAuth2RsScopeMap,
-+            Attribute::OAuth2RsBasicSecret,
-             Attribute::OAuth2AllowInsecureClientDisablePkce,
-             Attribute::OAuth2JwtLegacyCryptoEnable,
-             Attribute::OAuth2PreferShortUsername,
-             Attribute::OAuth2AllowLocalhostRedirect,
-             Attribute::OAuth2RsClaimMap,
-             Attribute::Image,
-         ],
-         create_attrs: vec![
-             Attribute::Class,
-             Attribute::Description,
-             Attribute::Name,
-             Attribute::DisplayName,
-             Attribute::OAuth2RsName,
-             Attribute::OAuth2RsOrigin,
-             Attribute::OAuth2RsOriginLanding,
-             Attribute::OAuth2RsSupScopeMap,
-             Attribute::OAuth2RsScopeMap,
-+            Attribute::OAuth2RsBasicSecret,
-             Attribute::OAuth2AllowInsecureClientDisablePkce,
-             Attribute::OAuth2JwtLegacyCryptoEnable,
-             Attribute::OAuth2PreferShortUsername,
-             Attribute::OAuth2AllowLocalhostRedirect,
-             Attribute::OAuth2RsClaimMap,
-             Attribute::Image,
-         ],
-         create_classes: vec![
-             EntryClass::Object,
-             EntryClass::Account,
-@@ -864,38 +868,40 @@ lazy_static! {
-             Attribute::OAuth2StrictRedirectUri,
-         ],
-         modify_present_attrs: vec![
-             Attribute::Description,
-             Attribute::DisplayName,
-             Attribute::Name,
-             Attribute::OAuth2RsOrigin,
-             Attribute::OAuth2RsOriginLanding,
-             Attribute::OAuth2RsSupScopeMap,
-             Attribute::OAuth2RsScopeMap,
-+            Attribute::OAuth2RsBasicSecret,
-             Attribute::OAuth2AllowInsecureClientDisablePkce,
-             Attribute::OAuth2JwtLegacyCryptoEnable,
-             Attribute::OAuth2PreferShortUsername,
-             Attribute::OAuth2AllowLocalhostRedirect,
-             Attribute::OAuth2RsClaimMap,
-             Attribute::Image,
-             Attribute::OAuth2StrictRedirectUri,
-         ],
-         create_attrs: vec![
-             Attribute::Class,
-             Attribute::Description,
-             Attribute::Name,
-             Attribute::DisplayName,
-             Attribute::OAuth2RsName,
-             Attribute::OAuth2RsOrigin,
-             Attribute::OAuth2RsOriginLanding,
-             Attribute::OAuth2RsSupScopeMap,
-             Attribute::OAuth2RsScopeMap,
-+            Attribute::OAuth2RsBasicSecret,
-             Attribute::OAuth2AllowInsecureClientDisablePkce,
-             Attribute::OAuth2JwtLegacyCryptoEnable,
-             Attribute::OAuth2PreferShortUsername,
-             Attribute::OAuth2AllowLocalhostRedirect,
-             Attribute::OAuth2RsClaimMap,
-             Attribute::Image,
-             Attribute::OAuth2StrictRedirectUri,
-         ],
-         create_classes: vec![
-             EntryClass::Object,
--- 
-2.46.1
-
diff --git a/pkgs/by-name/ka/kanidm/patches/1_4/recover-account.patch b/pkgs/by-name/ka/kanidm/patches/1_4/recover-account.patch
deleted file mode 100644
index 312c412809d8..000000000000
--- a/pkgs/by-name/ka/kanidm/patches/1_4/recover-account.patch
+++ /dev/null
@@ -1,174 +0,0 @@
-From c8ed69efe3f702b19834c2659be1dd3ec2d41c17 Mon Sep 17 00:00:00 2001
-From: oddlama 
-Date: Fri, 1 Nov 2024 12:27:43 +0100
-Subject: [PATCH 2/2] recover account
-
----
- server/core/src/actors/internal.rs |  3 ++-
- server/core/src/admin.rs           |  6 +++---
- server/daemon/src/main.rs          | 14 +++++++++++++-
- server/daemon/src/opt.rs           |  4 ++++
- 4 files changed, 22 insertions(+), 5 deletions(-)
-
-diff --git a/server/core/src/actors/internal.rs b/server/core/src/actors/internal.rs
-index 420e72c6c..5c4353116 100644
---- a/server/core/src/actors/internal.rs
-+++ b/server/core/src/actors/internal.rs
-@@ -171,25 +171,26 @@ impl QueryServerWriteV1 {
-     }
- 
-     #[instrument(
-         level = "info",
--        skip(self, eventid),
-+        skip(self, password, eventid),
-         fields(uuid = ?eventid)
-     )]
-     pub(crate) async fn handle_admin_recover_account(
-         &self,
-         name: String,
-+        password: Option,
-         eventid: Uuid,
-     ) -> Result {
-         let ct = duration_from_epoch_now();
-         let mut idms_prox_write = self.idms.proxy_write(ct).await?;
--        let pw = idms_prox_write.recover_account(name.as_str(), None)?;
-+        let pw = idms_prox_write.recover_account(name.as_str(), password.as_deref())?;
- 
-         idms_prox_write.commit().map(|()| pw)
-     }
- 
-     #[instrument(
-         level = "info",
-         skip_all,
-         fields(uuid = ?eventid)
-     )]
-     pub(crate) async fn handle_domain_raise(&self, eventid: Uuid) -> Result {
-diff --git a/server/core/src/admin.rs b/server/core/src/admin.rs
-index 90ccb1927..85e31ddef 100644
---- a/server/core/src/admin.rs
-+++ b/server/core/src/admin.rs
-@@ -17,21 +17,21 @@ use tokio_util::codec::{Decoder, Encoder, Framed};
- use tracing::{span, Instrument, Level};
- use uuid::Uuid;
- 
- pub use kanidm_proto::internal::{
-     DomainInfo as ProtoDomainInfo, DomainUpgradeCheckReport as ProtoDomainUpgradeCheckReport,
-     DomainUpgradeCheckStatus as ProtoDomainUpgradeCheckStatus,
- };
- 
- #[derive(Serialize, Deserialize, Debug)]
- pub enum AdminTaskRequest {
--    RecoverAccount { name: String },
-+    RecoverAccount { name: String, password: Option },
-     ShowReplicationCertificate,
-     RenewReplicationCertificate,
-     RefreshReplicationConsumer,
-     DomainShow,
-     DomainUpgradeCheck,
-     DomainRaise,
-     DomainRemigrate { level: Option },
- }
- 
- #[derive(Serialize, Deserialize, Debug)]
-@@ -302,22 +302,22 @@ async fn handle_client(
-     let mut reqs = Framed::new(sock, ServerCodec);
- 
-     trace!("Waiting for requests ...");
-     while let Some(Ok(req)) = reqs.next().await {
-         // Setup the logging span
-         let eventid = Uuid::new_v4();
-         let nspan = span!(Level::INFO, "handle_admin_client_request", uuid = ?eventid);
- 
-         let resp = async {
-             match req {
--                AdminTaskRequest::RecoverAccount { name } => {
--                    match server_rw.handle_admin_recover_account(name, eventid).await {
-+                AdminTaskRequest::RecoverAccount { name, password } => {
-+                    match server_rw.handle_admin_recover_account(name, password, eventid).await {
-                         Ok(password) => AdminTaskResponse::RecoverAccount { password },
-                         Err(e) => {
-                             error!(err = ?e, "error during recover-account");
-                             AdminTaskResponse::Error
-                         }
-                     }
-                 }
-                 AdminTaskRequest::ShowReplicationCertificate => match repl_ctrl_tx.as_mut() {
-                     Some(ctrl_tx) => show_replication_certificate(ctrl_tx).await,
-                     None => {
-diff --git a/server/daemon/src/main.rs b/server/daemon/src/main.rs
-index 7486d34a8..784106352 100644
---- a/server/daemon/src/main.rs
-+++ b/server/daemon/src/main.rs
-@@ -903,27 +903,39 @@ async fn kanidm_main(
-             } else {
-                 let output_mode: ConsoleOutputMode = commonopts.output_mode.to_owned().into();
-                 submit_admin_req(
-                     config.adminbindpath.as_str(),
-                     AdminTaskRequest::RefreshReplicationConsumer,
-                     output_mode,
-                 )
-                 .await;
-             }
-         }
--        KanidmdOpt::RecoverAccount { name, commonopts } => {
-+        KanidmdOpt::RecoverAccount { name, from_environment, commonopts } => {
-             info!("Running account recovery ...");
-             let output_mode: ConsoleOutputMode = commonopts.output_mode.to_owned().into();
-+            let password = if *from_environment {
-+                match std::env::var("KANIDM_RECOVER_ACCOUNT_PASSWORD") {
-+                    Ok(val) => Some(val),
-+                    _ => {
-+                        error!("Environment variable KANIDM_RECOVER_ACCOUNT_PASSWORD not set");
-+                        return ExitCode::FAILURE;
-+                    }
-+                }
-+            } else {
-+                None
-+            };
-             submit_admin_req(
-                 config.adminbindpath.as_str(),
-                 AdminTaskRequest::RecoverAccount {
-                     name: name.to_owned(),
-+                    password,
-                 },
-                 output_mode,
-             )
-             .await;
-         }
-         KanidmdOpt::Database {
-             commands: DbCommands::Reindex(_copt),
-         } => {
-             info!("Running in reindex mode ...");
-             reindex_server_core(&config).await;
-diff --git a/server/daemon/src/opt.rs b/server/daemon/src/opt.rs
-index f1b45a5b3..9c013e32e 100644
---- a/server/daemon/src/opt.rs
-+++ b/server/daemon/src/opt.rs
-@@ -229,20 +229,24 @@ enum KanidmdOpt {
-     /// Create a self-signed ca and tls certificate in the locations listed from the
-     /// configuration. These certificates should *not* be used in production, they
-     /// are for testing and evaluation only!
-     CertGenerate(CommonOpt),
-     #[clap(name = "recover-account")]
-     /// Recover an account's password
-     RecoverAccount {
-         #[clap(value_parser)]
-         /// The account name to recover credentials for.
-         name: String,
-+        /// Use the password given in the environment variable
-+        /// `KANIDM_RECOVER_ACCOUNT_PASSWORD` instead of generating one.
-+        #[clap(long = "from-environment")]
-+        from_environment: bool,
-         #[clap(flatten)]
-         commonopts: CommonOpt,
-     },
-     /// Display this server's replication certificate
-     ShowReplicationCertificate {
-         #[clap(flatten)]
-         commonopts: CommonOpt,
-     },
-     /// Renew this server's replication certificate
-     RenewReplicationCertificate {
--- 
-2.46.1
-
diff --git a/pkgs/by-name/ka/kapitano/package.nix b/pkgs/by-name/ka/kapitano/package.nix
new file mode 100644
index 000000000000..a44ecf34a681
--- /dev/null
+++ b/pkgs/by-name/ka/kapitano/package.nix
@@ -0,0 +1,75 @@
+{
+  lib,
+  fetchFromGitea,
+  meson,
+  ninja,
+  pkg-config,
+  glib,
+  gtk4,
+  libadwaita,
+  python3Packages,
+  clamav,
+  appstream-glib,
+  desktop-file-utils,
+  libxml2,
+  gobject-introspection,
+  wrapGAppsHook4,
+  librsvg,
+}:
+python3Packages.buildPythonApplication rec {
+  pname = "kapitano";
+  version = "1.1.2";
+  pyproject = false;
+
+  src = fetchFromGitea {
+    domain = "codeberg.org";
+    owner = "zynequ";
+    repo = "Kapitano";
+    tag = version;
+    hash = "sha256-914M0VRyuzDiITUT5sjt9vNaqshn4skz/FWWMxgPTdc=";
+    fetchLFS = true;
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    desktop-file-utils
+    libxml2
+    pkg-config
+    appstream-glib
+    wrapGAppsHook4
+    gobject-introspection
+  ];
+
+  buildInputs = [
+    glib
+    gtk4
+    libadwaita
+    librsvg
+  ];
+
+  dependencies = with python3Packages; [ pygobject3 ];
+
+  postPatch = ''
+    substituteInPlace src/config/paths_config.py \
+      --replace-fail 'USER_DATA_DIR = GLib.get_user_data_dir()' 'USER_DATA_DIR = os.path.join(GLib.get_user_data_dir(), "kapitano"); os.makedirs(USER_DATA_DIR, exist_ok=True)'
+  '';
+
+  dontWrapGApps = true;
+
+  preFixup = ''
+    makeWrapperArgs+=(
+      ''${gappsWrapperArgs[@]}
+      --prefix PATH : "${lib.makeBinPath [ clamav ]}"
+    )
+  '';
+
+  meta = {
+    description = "Modern ClamAV front-end that uses gtk4/libadwaita";
+    homepage = "https://codeberg.org/zynequ/Kapitano";
+    mainProgram = "kapitano";
+    license = lib.licenses.gpl3Plus;
+    platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ lonerOrz ];
+  };
+}
diff --git a/pkgs/by-name/ka/karakeep/package.nix b/pkgs/by-name/ka/karakeep/package.nix
index f95843409dac..2c2e9c3129a3 100644
--- a/pkgs/by-name/ka/karakeep/package.nix
+++ b/pkgs/by-name/ka/karakeep/package.nix
@@ -2,6 +2,8 @@
   lib,
   stdenv,
   fetchFromGitHub,
+  nix-update-script,
+  testers,
   nodejs,
   node-gyp,
   inter,
@@ -15,13 +17,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "karakeep";
-  version = "0.24.1";
+  version = "0.25.0";
 
   src = fetchFromGitHub {
     owner = "karakeep-app";
     repo = "karakeep";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-eiDTNMB/CipAR3FkUqPUGYdTAC6lSxT9gRXPQJLx5YE=";
+    hash = "sha256-eAiRvesUZIwTaj7CSxtI4rkGlTkgVjbzzwjYaXlhSuo=";
   };
 
   patches = [
@@ -51,7 +53,7 @@ stdenv.mkDerivation (finalAttrs: {
       '';
     };
 
-    hash = "sha256-2n61uKdT9Q1fobpHunRhC3Eql3fqsV+DcyaEGjYDOyY=";
+    hash = "sha256-yf8A0oZ0Y4A5k7gfinIU02Lbqp/ygyvIBlldS0pv5+0=";
   };
   buildPhase = ''
     runHook preBuild
@@ -124,6 +126,18 @@ stdenv.mkDerivation (finalAttrs: {
     find $out -type l ! -exec test -e {} \; -delete
   '';
 
+  passthru = {
+    tests = {
+      version = testers.testVersion {
+        package = finalAttrs.finalPackage;
+        # remove hardcoded version if upstream syncs general version with cli
+        # version
+        version = "0.23.0";
+      };
+    };
+    updateScript = nix-update-script { };
+  };
+
   meta = {
     homepage = "https://karakeep.app/";
     description = "Self-hostable bookmark-everything app (links, notes and images) with AI-based automatic tagging and full text search";
diff --git a/pkgs/by-name/ka/karakeep/patches/use-local-font.patch b/pkgs/by-name/ka/karakeep/patches/use-local-font.patch
index 74ae897beb0f..aada2e82a2cc 100644
--- a/pkgs/by-name/ka/karakeep/patches/use-local-font.patch
+++ b/pkgs/by-name/ka/karakeep/patches/use-local-font.patch
@@ -12,17 +12,19 @@ See similar patches:
 @@ -1,5 +1,5 @@
  import type { Metadata } from "next";
 -import { Inter } from "next/font/google";
-+import localFont from 'next/font/local';
-
++import localFont from "next/font/local";
+ import { NuqsAdapter } from "nuqs/adapters/next/app";
+ 
  import "@karakeep/tailwind-config/globals.css";
-
-@@ -13,9 +13,10 @@ import { ReactQueryDevtools } from "@tanstack/react-query-devtools";
-
+@@ -14,9 +14,10 @@ import { ReactQueryDevtools } from "@tanstack/react-query-devtools";
+ 
  import { clientConfig } from "@karakeep/shared/config";
-
+ 
 -const inter = Inter({
 +const inter = localFont({
    subsets: ["latin"],
    fallback: ["sans-serif"],
 +  src: "./fonts/InterVariable.ttf",
  });
+ 
+ export const metadata: Metadata = {
diff --git a/pkgs/by-name/ka/karmor/package.nix b/pkgs/by-name/ka/karmor/package.nix
index 351e8acdb350..99ab6663e949 100644
--- a/pkgs/by-name/ka/karmor/package.nix
+++ b/pkgs/by-name/ka/karmor/package.nix
@@ -9,13 +9,13 @@
 
 buildGoModule rec {
   pname = "karmor";
-  version = "1.4.1";
+  version = "1.4.3";
 
   src = fetchFromGitHub {
     owner = "kubearmor";
     repo = "kubearmor-client";
     rev = "v${version}";
-    hash = "sha256-gFcv2VxKTozEAJvcncOc6X1Pn7HWomHgemCfyddZSJs=";
+    hash = "sha256-g60T9npfU1uwQvs95ntRrwwfxXeC67C0iF867ki3WAI=";
   };
 
   vendorHash = "sha256-4F/q6vYOGtLef+rrJXKhLwjM71NMNI4es4dKe1pohZU=";
diff --git a/pkgs/by-name/ka/kazam/package.nix b/pkgs/by-name/ka/kazam/package.nix
index bc27946cf461..f838e3d6a409 100644
--- a/pkgs/by-name/ka/kazam/package.nix
+++ b/pkgs/by-name/ka/kazam/package.nix
@@ -68,7 +68,7 @@ python3Packages.buildPythonApplication {
     homepage = "https://github.com/niknah/kazam";
     license = licenses.lgpl3;
     platforms = platforms.linux;
-    maintainers = [ maintainers.domenkozar ];
+    maintainers = [ ];
     mainProgram = "kazam";
   };
 }
diff --git a/pkgs/by-name/ka/kazumi/package.nix b/pkgs/by-name/ka/kazumi/package.nix
index 0f6a8490db21..addb7ad44bb2 100644
--- a/pkgs/by-name/ka/kazumi/package.nix
+++ b/pkgs/by-name/ka/kazumi/package.nix
@@ -20,13 +20,13 @@
 
 flutter332.buildFlutterApplication rec {
   pname = "kazumi";
-  version = "1.7.2";
+  version = "1.7.3";
 
   src = fetchFromGitHub {
     owner = "Predidit";
     repo = "Kazumi";
     tag = version;
-    hash = "sha256-ZvpEzDMeL3QW4QdoBqi5FN0Pztof7awGhhH79ADUBS8=";
+    hash = "sha256-xsJ7kOhmySPYURTgEI0yoXMOWQRcjbFHueeqOZ7HsbE=";
   };
 
   pubspecLock = lib.importJSON ./pubspec.lock.json;
diff --git a/pkgs/by-name/ka/kazumi/pubspec.lock.json b/pkgs/by-name/ka/kazumi/pubspec.lock.json
index 5b4fab22f5ac..e6269364f3bb 100644
--- a/pkgs/by-name/ka/kazumi/pubspec.lock.json
+++ b/pkgs/by-name/ka/kazumi/pubspec.lock.json
@@ -2079,6 +2079,6 @@
   },
   "sdks": {
     "dart": ">=3.7.0 <4.0.0",
-    "flutter": ">=3.32.0"
+    "flutter": ">=3.32.2"
   }
 }
diff --git a/pkgs/by-name/kc/kcc/package.nix b/pkgs/by-name/kc/kcc/package.nix
new file mode 100644
index 000000000000..fe482272bccf
--- /dev/null
+++ b/pkgs/by-name/kc/kcc/package.nix
@@ -0,0 +1,60 @@
+{
+  stdenv,
+  lib,
+  qt6,
+  fetchFromGitHub,
+  p7zip,
+  versionCheckHook,
+  nix-update-script,
+  python3,
+  archiveSupport ? true,
+}:
+python3.pkgs.buildPythonApplication rec {
+  pname = "kcc";
+  version = "7.4.1";
+
+  src = fetchFromGitHub {
+    owner = "ciromattia";
+    repo = "kcc";
+    tag = "v${version}";
+    hash = "sha256-9XYc749dSFNYK61BfuNxH/CJrT/P7YsXNroBsHcsZNA=";
+  };
+
+  nativeBuildInputs = [ qt6.wrapQtAppsHook ];
+
+  buildInputs = [ qt6.qtbase ] ++ lib.optionals stdenv.hostPlatform.isLinux [ qt6.qtwayland ];
+  propagatedBuildInputs = with python3.pkgs; [
+    packaging
+    pillow
+    psutil
+    python-slugify
+    raven
+    requests
+    natsort
+    mozjpeg_lossless_optimization
+    distro
+    pyside6
+    numpy
+  ];
+
+  qtWrapperArgs = lib.optionals archiveSupport [ ''--prefix PATH : ${lib.makeBinPath [ p7zip ]}'' ];
+
+  nativeInstallCheckInputs = [ versionCheckHook ];
+  versionCheckProgram = "${placeholder "out"}/bin/kcc-c2e";
+
+  passthru = {
+    updateScript = nix-update-script { };
+  };
+
+  meta = {
+    description = "Python app to convert comic/manga files or folders to EPUB, Panel View MOBI or E-Ink optimized CBZ";
+    homepage = "https://kcc.iosphe.re";
+    mainProgram = "kcc";
+    changelog = "https://github.com/ciromattia/kcc/releases/tag/v${version}";
+    license = lib.licenses.isc;
+    maintainers = with lib.maintainers; [
+      dawidsowa
+      adfaure
+    ];
+  };
+}
diff --git a/pkgs/by-name/kd/kddockwidgets/package.nix b/pkgs/by-name/kd/kddockwidgets/package.nix
index 6b3afa39ad12..4799d8cb31e8 100644
--- a/pkgs/by-name/kd/kddockwidgets/package.nix
+++ b/pkgs/by-name/kd/kddockwidgets/package.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   src = fetchFromGitHub {
     owner = "KDAB";
-    repo = pname;
+    repo = "KDDockWidgets";
     rev = "v${version}";
     sha256 = "sha256-4xaTfNwfAIQox2YcusEZJt5f9/Kld+zveFEiIVw5dRc=";
   };
diff --git a/pkgs/by-name/kd/kdlfmt/package.nix b/pkgs/by-name/kd/kdlfmt/package.nix
index b214f5e8c472..2cd565874e0f 100644
--- a/pkgs/by-name/kd/kdlfmt/package.nix
+++ b/pkgs/by-name/kd/kdlfmt/package.nix
@@ -6,17 +6,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "kdlfmt";
-  version = "0.0.17";
+  version = "0.1.0";
 
   src = fetchFromGitHub {
     owner = "hougesen";
     repo = "kdlfmt";
     rev = "v${version}";
-    hash = "sha256-9bn5GHlM7nYJgulNIQh1rQYuvRr5Bloyzgj2oGvBzdE=";
+    hash = "sha256-qc2wU/borl3h2fop6Sav0zCrg8WdvHrB3uMA72uwPis=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-BaPfYXR8aYBBspnRtL2HYikCaG7YD2bqY0dKl2lQ/YA=";
+  cargoHash = "sha256-xoOnFJqDucg3fUDx5XbXsZT4rSjZhzt5rNbH+DZ1kGA=";
 
   meta = {
     description = "Formatter for kdl documents";
diff --git a/pkgs/by-name/ke/keepalived/package.nix b/pkgs/by-name/ke/keepalived/package.nix
index f7cc87b06e14..e105977a99ad 100644
--- a/pkgs/by-name/ke/keepalived/package.nix
+++ b/pkgs/by-name/ke/keepalived/package.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "keepalived";
-  version = "2.3.3";
+  version = "2.3.4";
 
   src = fetchFromGitHub {
     owner = "acassen";
     repo = "keepalived";
     rev = "v${version}";
-    sha256 = "sha256-+IwV8ifQ8gWN4eR9Fgvw3HV3WJDmy3urEQDLngoMdm8=";
+    sha256 = "sha256-Xv/UGIeZhRHQO5lxkaWgHDUW+3qBi3wFU4+Us1A2uE0=";
   };
 
   buildInputs =
diff --git a/pkgs/by-name/ke/keepassxc/package.nix b/pkgs/by-name/ke/keepassxc/package.nix
index 170cc7bfe8e3..2fff05417b8e 100644
--- a/pkgs/by-name/ke/keepassxc/package.nix
+++ b/pkgs/by-name/ke/keepassxc/package.nix
@@ -142,7 +142,6 @@ stdenv.mkDerivation (finalAttrs: {
       libXi
       libXtst
       libargon2
-      libsForQt5.kio
       libsForQt5.qtbase
       libsForQt5.qtsvg
       minizip
@@ -187,7 +186,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = lib.licenses.gpl2Plus;
     mainProgram = "keepassxc";
     maintainers = with lib.maintainers; [
-      blankparticle
       sigmasquadron
     ];
     platforms = lib.platforms.linux ++ lib.platforms.darwin;
diff --git a/pkgs/by-name/ke/keeperrl/package.nix b/pkgs/by-name/ke/keeperrl/package.nix
index ea8c74e92d14..373c1473a9ec 100644
--- a/pkgs/by-name/ke/keeperrl/package.nix
+++ b/pkgs/by-name/ke/keeperrl/package.nix
@@ -21,7 +21,7 @@ let
 
   free_src = fetchFromGitHub {
     owner = "miki151";
-    repo = pname;
+    repo = "keeperrl";
     rev = version;
     sha256 = "sha256-0sww+ppctXvxMouclG3OdXpcNgrrOZJw9z8s2GhJ+IE=";
   };
diff --git a/pkgs/by-name/ke/keycastr/package.nix b/pkgs/by-name/ke/keycastr/package.nix
index 8efa645b49aa..3bcfce43aba7 100644
--- a/pkgs/by-name/ke/keycastr/package.nix
+++ b/pkgs/by-name/ke/keycastr/package.nix
@@ -6,11 +6,11 @@
 }:
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "keycastr";
-  version = "0.10.1";
+  version = "0.10.3";
 
   src = fetchurl {
     url = "https://github.com/keycastr/keycastr/releases/download/v${finalAttrs.version}/KeyCastr.app.zip";
-    hash = "sha256-Ea/QtYiM7J2Gc5T8M+WizSBrgmhJ+NW4ern2A58glUk=";
+    hash = "sha256-4zhLsIaG0rK7pQnQ0RmhwrcUBGtUB4ca38GlFXQpiiU=";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/by-name/ke/keycloak/keycloak-metrics-spi/default.nix b/pkgs/by-name/ke/keycloak/keycloak-metrics-spi/default.nix
index a595dab70333..49acf107c312 100644
--- a/pkgs/by-name/ke/keycloak/keycloak-metrics-spi/default.nix
+++ b/pkgs/by-name/ke/keycloak/keycloak-metrics-spi/default.nix
@@ -10,7 +10,7 @@ maven.buildMavenPackage rec {
 
   src = fetchFromGitHub {
     owner = "aerogear";
-    repo = pname;
+    repo = "keycloak-metrics-spi";
     rev = "refs/tags/${version}";
     hash = "sha256-MMonBRau8FpfCqija6NEdvp4zJfEub2Kwk4MA7FYWHI=";
   };
diff --git a/pkgs/by-name/ke/keyguard/deps.json b/pkgs/by-name/ke/keyguard/deps.json
index 885d38edc22e..066ddff4aad2 100644
--- a/pkgs/by-name/ke/keyguard/deps.json
+++ b/pkgs/by-name/ke/keyguard/deps.json
@@ -2674,8 +2674,8 @@
   "org/bouncycastle/bcutil-jdk18on/maven-metadata": {
    "xml": {
     "groupId": "org.bouncycastle",
-    "lastUpdated": "20250114201150",
-    "release": "1.80"
+    "lastUpdated": "20250604080934",
+    "release": "1.81"
    }
   },
   "org/checkerframework#checker-qual/2.5.8": {
diff --git a/pkgs/by-name/ke/keyguard/package.nix b/pkgs/by-name/ke/keyguard/package.nix
index 6fa9edb37afd..b305093f520b 100644
--- a/pkgs/by-name/ke/keyguard/package.nix
+++ b/pkgs/by-name/ke/keyguard/package.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "keyguard";
-  version = "1.12.2";
+  version = "1.12.3";
 
   src = fetchFromGitHub {
     owner = "AChep";
     repo = "keyguard-app";
-    tag = "r20250528";
-    hash = "sha256-QKMyUuZ2tluMSVidGp+vRnB5Qm4QwfYDZYRWOV0kbxY=";
+    tag = "r20250530";
+    hash = "sha256-FTDZ4ztFv+pcyupI+tHr+VLrENSN6hqs13i1KJmreAM=";
   };
 
   postPatch = ''
diff --git a/pkgs/by-name/kh/khal/package.nix b/pkgs/by-name/kh/khal/package.nix
index 974d71af3065..2ca0858819ec 100644
--- a/pkgs/by-name/kh/khal/package.nix
+++ b/pkgs/by-name/kh/khal/package.nix
@@ -5,6 +5,7 @@
   glibcLocales,
   installShellFiles,
   python3Packages,
+  sphinxHook,
 }:
 
 python3Packages.buildPythonApplication rec {
@@ -27,6 +28,9 @@ python3Packages.buildPythonApplication rec {
   nativeBuildInputs = [
     glibcLocales
     installShellFiles
+    sphinxHook
+    python3Packages.sphinx-rtd-theme
+    python3Packages.sphinxcontrib-newsfeed
   ];
 
   dependencies = with python3Packages; [
@@ -54,6 +58,16 @@ python3Packages.buildPythonApplication rec {
     vdirsyncer
   ];
 
+  outputs = [
+    "out"
+    "doc"
+    "man"
+  ];
+  sphinxBuilders = [
+    "html"
+    "man"
+  ];
+
   postInstall = ''
     # shell completions
     installShellCompletion --cmd khal \
@@ -61,18 +75,6 @@ python3Packages.buildPythonApplication rec {
       --zsh <(_KHAL_COMPLETE=zsh_source $out/bin/khal) \
       --fish <(_KHAL_COMPLETE=fish_source $out/bin/khal)
 
-    # man page
-    PATH="${
-      python3Packages.python.withPackages (
-        ps: with ps; [
-          sphinx
-          sphinxcontrib-newsfeed
-        ]
-      )
-    }/bin:$PATH" \
-      make -C doc man
-    installManPage doc/build/man/khal.1
-
     # .desktop file
     install -Dm755 misc/khal.desktop -t $out/share/applications
   '';
diff --git a/pkgs/by-name/ki/kics/package.nix b/pkgs/by-name/ki/kics/package.nix
index 89faa04c7072..3eb11d4729a5 100644
--- a/pkgs/by-name/ki/kics/package.nix
+++ b/pkgs/by-name/ki/kics/package.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "kics";
-  version = "2.1.9";
+  version = "2.1.10";
 
   src = fetchFromGitHub {
     owner = "Checkmarx";
     repo = "kics";
     tag = "v${version}";
-    hash = "sha256-VEymPj9zX7XidzLBa2ML4hJ4GRmsrpP39sJQp1rteQ4=";
+    hash = "sha256-mGWUlJhOv/aYdAWaN3isqJCKKos7epJArjNk7yTlFso=";
   };
 
-  vendorHash = "sha256-blzzr7lY0nsvhkNnMe+MesqOc7yUwo4I5BRf5kRwC1E=";
+  vendorHash = "sha256-H+k3CtzyxXOCw12Fo1EdAckj0fS+Py9QOdMxYiR56Fo=";
 
   subPackages = [ "cmd/console" ];
 
diff --git a/pkgs/by-name/ki/kind/package.nix b/pkgs/by-name/ki/kind/package.nix
index 9cbad3d0c47a..b5cc225021dd 100644
--- a/pkgs/by-name/ki/kind/package.nix
+++ b/pkgs/by-name/ki/kind/package.nix
@@ -10,13 +10,13 @@
 
 buildGoModule rec {
   pname = "kind";
-  version = "0.27.0";
+  version = "0.29.0";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "kubernetes-sigs";
     repo = "kind";
-    hash = "sha256-J0M/enjufNmEMm43zo5fi5hL1LfaemNwR6nCClVCJNA=";
+    hash = "sha256-Dv4I50LQcr8fOaCCdaKkz+pHIG05UBQAdDs7gGngm4Y=";
   };
 
   patches = [
@@ -24,7 +24,7 @@ buildGoModule rec {
     ./kernel-module-path.patch
   ];
 
-  vendorHash = "sha256-dwdDVN/B1bv8cYZYcXxSlGgO46ljBZfXuivPXmvo28c=";
+  vendorHash = "sha256-QFDQkl1QuIc0fUK0raVxmPT7AF6fsKlQ4F0dzOM9fcw=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/by-name/ki/kitex/package.nix b/pkgs/by-name/ki/kitex/package.nix
index 739623518f3d..7a4c7bd3c715 100644
--- a/pkgs/by-name/ki/kitex/package.nix
+++ b/pkgs/by-name/ki/kitex/package.nix
@@ -8,16 +8,16 @@
 
 buildGoModule (finalAttrs: {
   pname = "kitex";
-  version = "0.13.1";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "cloudwego";
     repo = "kitex";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-ivuAqHOerGkaEX/zfzViY1xhNrymMOBv8RPGAPNYp/4=";
+    hash = "sha256-I5jXSrhpEkTuBfKJCHlGk5nKeW4pVujEscB0Lb3MdbM=";
   };
 
-  vendorHash = "sha256-31OgNcAL2NJq5b96UmQnVecdusY4AtUP/O2MVCmPk+8=";
+  vendorHash = "sha256-nTwS5QeTmWfMVEcvsgyx4XbGG5Nk0dzAjXBtvJdpR9c=";
 
   subPackages = [ "tool/cmd/kitex" ];
 
diff --git a/pkgs/by-name/ko/kohighlights/package.nix b/pkgs/by-name/ko/kohighlights/package.nix
index 59e0094288bf..b1b64f33e504 100644
--- a/pkgs/by-name/ko/kohighlights/package.nix
+++ b/pkgs/by-name/ko/kohighlights/package.nix
@@ -2,14 +2,16 @@
   stdenv,
   lib,
   fetchFromGitHub,
-  python3,
-  python3Packages,
+  python312Packages,
   qt5,
   makeWrapper,
   copyDesktopItems,
   makeDesktopItem,
 }:
 
+let
+  python3Packages = python312Packages;
+in
 python3Packages.buildPythonApplication rec {
   pname = "kohighlights";
   version = "2.3.1.0";
@@ -65,7 +67,7 @@ python3Packages.buildPythonApplication rec {
     mkdir -p $out/bin $out/share/KoHighlights
     rm -rf docs screens
     cp -r * $out/share/KoHighlights
-    makeWrapper ${python3.interpreter} $out/bin/KoHighlights \
+    makeWrapper ${python3Packages.python.interpreter} $out/bin/KoHighlights \
       --add-flags "$out/share/KoHighlights/main.py" \
       --set PYTHONPATH "${python3Packages.makePythonPath dependencies}" \
       ''${qtWrapperArgs[@]}
diff --git a/pkgs/by-name/ko/komikku/package.nix b/pkgs/by-name/ko/komikku/package.nix
index 02f7d84fb77a..d753afe7a57b 100644
--- a/pkgs/by-name/ko/komikku/package.nix
+++ b/pkgs/by-name/ko/komikku/package.nix
@@ -23,7 +23,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "komikku";
-  version = "1.77.0";
+  version = "1.80.0";
   pyproject = false;
 
   src = fetchFromGitea {
@@ -31,7 +31,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "valos";
     repo = "Komikku";
     tag = "v${version}";
-    hash = "sha256-UTAK8gzgOEuYw1S4htoInr8pCkx5s+/cblOfk/F6a4M=";
+    hash = "sha256-5+AosFjxaqhIoIz+mbin1oRdjuGj+p117aoHLxYqHDA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/ko/komodo/package.nix b/pkgs/by-name/ko/komodo/package.nix
index a280a0251edc..04525c148423 100644
--- a/pkgs/by-name/ko/komodo/package.nix
+++ b/pkgs/by-name/ko/komodo/package.nix
@@ -7,18 +7,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "komodo";
-  version = "1.17.5";
+  version = "1.18.3";
 
   src = fetchFromGitHub {
     owner = "moghtech";
     repo = "komodo";
     tag = "v${version}";
-    hash = "sha256-vIK/4WH85qTdjXBX32F6P/XEHdsNw2Kd86btjfl13lE=";
+    hash = "sha256-OBap1gKxFUh1QoR5waXi2IrWiTydhp/VtL9rGnEDJSI=";
   };
 
   useFetchCargoVendor = true;
 
-  cargoHash = "sha256-YCSxMcuzN1IroDfbj18yjGT0ua1xfY4l0dJ/OZhHPZw=";
+  cargoHash = "sha256-P7s+uEnh8CUmRLiBLz/yNbox8auHU5zFk8IiWGW0rAs=";
 
   # disable for check. document generation is fail
   # > error: doctest failed, to rerun pass `-p komodo_client --doc`
diff --git a/pkgs/by-name/ko/konstraint/package.nix b/pkgs/by-name/ko/konstraint/package.nix
index eaa0899ff2bf..f15931719278 100644
--- a/pkgs/by-name/ko/konstraint/package.nix
+++ b/pkgs/by-name/ko/konstraint/package.nix
@@ -7,15 +7,15 @@
 
 buildGoModule rec {
   pname = "konstraint";
-  version = "0.42.0";
+  version = "0.43.0";
 
   src = fetchFromGitHub {
     owner = "plexsystems";
     repo = "konstraint";
     rev = "v${version}";
-    sha256 = "sha256-DwfBevCGDndMfQiwiuV+J95prhbxT20siMrEY2T7h1w=";
+    sha256 = "sha256-PzJTdSkobcgg04C/sdHJF9IAZxK62axwkkI2393SFbg=";
   };
-  vendorHash = "sha256-iCth5WrX0XG218PfbXt4jeA3MZuZ68eNaV+RtzMhXP0=";
+  vendorHash = "sha256-nq1bHOOSNXcANTV0g8VCjcRKUCgfoMIHFgPqnJ+V4Bw=";
 
   # Exclude go within .github folder
   excludedPackages = ".github";
diff --git a/pkgs/by-name/ko/kopia-ui/fix-paths.patch b/pkgs/by-name/ko/kopia-ui/fix-paths.patch
index 22744100099e..8086285f0df4 100644
--- a/pkgs/by-name/ko/kopia-ui/fix-paths.patch
+++ b/pkgs/by-name/ko/kopia-ui/fix-paths.patch
@@ -1,42 +1,63 @@
 diff --git a/public/utils.js b/public/utils.js
-index 3cd38b63..54152694 100644
+index c5963e41..30f72965 100644
 --- a/public/utils.js
 +++ b/public/utils.js
-@@ -17,7 +17,7 @@ const osShortName = function () {
+@@ -17,7 +17,7 @@ const osShortName = (function () {
  
  export function iconsPath() {
-     if (!app.isPackaged) {
--        return path.join(__dirname, "..", "resources", osShortName, "icons");
-+        return path.join(__dirname, "..", "..", "icons");
-     }
+   if (!app.isPackaged) {
+-    return path.join(__dirname, "..", "resources", osShortName, "icons");
++    return path.join(__dirname, "..", "..", "icons");
+   }
  
-     return path.join(process.resourcesPath, "icons");
-@@ -25,26 +25,14 @@ export function iconsPath() {
+   return path.join(process.resourcesPath, "icons");
+@@ -25,47 +25,14 @@ export function iconsPath() {
  
  export function publicPath() {
-     if (!app.isPackaged) {
--        return path.join(__dirname, "..", "public");
-+        return path.join(__dirname, "..", "..", "public");
-     }
+   if (!app.isPackaged) {
+-    return path.join(__dirname, "..", "public");
++    return path.join(__dirname, "..", "..", "public");
+   }
  
-     return process.resourcesPath;
+   return process.resourcesPath;
  }
  
  export function defaultServerBinary() {
--    if (!app.isPackaged) {
--        return {
--            "mac": path.join(__dirname, "..", "..", "dist", "kopia_darwin_amd64", "kopia"),
--            "win": path.join(__dirname, "..", "..", "dist", "kopia_windows_amd64", "kopia.exe"),
--            "linux": path.join(__dirname, "..", "..", "dist", "kopia_linux_amd64", "kopia"),
--        }[osShortName]
--    }
--
+-  if (!app.isPackaged) {
 -    return {
--        "mac": path.join(process.resourcesPath, "server", "kopia"),
--        "win": path.join(process.resourcesPath, "server", "kopia.exe"),
--        "linux": path.join(process.resourcesPath, "server", "kopia"),
--    }[osShortName]
-+    return "KOPIA"
+-      mac: path.join(
+-        __dirname,
+-        "..",
+-        "..",
+-        "dist",
+-        "kopia_darwin_amd64",
+-        "kopia",
+-      ),
+-      win: path.join(
+-        __dirname,
+-        "..",
+-        "..",
+-        "dist",
+-        "kopia_windows_amd64",
+-        "kopia.exe",
+-      ),
+-      linux: path.join(
+-        __dirname,
+-        "..",
+-        "..",
+-        "dist",
+-        "kopia_linux_amd64",
+-        "kopia",
+-      ),
+-    }[osShortName];
+-  }
+-
+-  return {
+-    mac: path.join(process.resourcesPath, "server", "kopia"),
+-    win: path.join(process.resourcesPath, "server", "kopia.exe"),
+-    linux: path.join(process.resourcesPath, "server", "kopia"),
+-  }[osShortName];
++  return "KOPIA";
  }
  export function selectByOS(x) {
-     return x[osShortName]
+   return x[osShortName];
diff --git a/pkgs/by-name/ko/kopia-ui/package.nix b/pkgs/by-name/ko/kopia-ui/package.nix
index 3becaeac4ecd..989146e16853 100644
--- a/pkgs/by-name/ko/kopia-ui/package.nix
+++ b/pkgs/by-name/ko/kopia-ui/package.nix
@@ -10,12 +10,12 @@
   kopia,
 }:
 let
-  version = "0.20.0";
+  version = "0.20.1";
   src = fetchFromGitHub {
     owner = "kopia";
     repo = "kopia";
     tag = "v${version}";
-    hash = "sha256-AM9Mpy+9ZCvEtFtzYC87vqCNpLxO+yWVd4th9DDQ2QI=";
+    hash = "sha256-hKtrHv7MQjA/AQ/frjP2tPT6zqVPPGnBxYuhWtUgIl0=";
   };
 in
 buildNpmPackage {
@@ -24,7 +24,7 @@ buildNpmPackage {
 
   sourceRoot = "${src.name}/app";
 
-  npmDepsHash = "sha256-FXPfZnqpuI6NgHk81HEJ7Hj8xCpXD0BKJgFeQ/Oce04=";
+  npmDepsHash = "sha256-5gXM5aLsUsJhxbt6IKY4Sg4SBI9ATe248K1TyZThg/0=";
   makeCacheWritable = true;
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/kr/krakenx/package.nix b/pkgs/by-name/kr/krakenx/package.nix
index 75482a653dcc..a2e8e6d425ac 100644
--- a/pkgs/by-name/kr/krakenx/package.nix
+++ b/pkgs/by-name/kr/krakenx/package.nix
@@ -21,7 +21,7 @@ python3Packages.buildPythonApplication rec {
     description = "Python script to control NZXT cooler Kraken X52/X62/X72";
     homepage = "https://github.com/KsenijaS/krakenx";
     license = licenses.gpl2Only;
-    maintainers = [ maintainers.willibutz ];
+    maintainers = [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/by-name/kt/ktls-utils/package.nix b/pkgs/by-name/kt/ktls-utils/package.nix
index 9d136dc46cb9..75d84d71f453 100644
--- a/pkgs/by-name/kt/ktls-utils/package.nix
+++ b/pkgs/by-name/kt/ktls-utils/package.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ktls-utils";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "oracle";
     repo = "ktls-utils";
     rev = "ktls-utils-${version}";
-    hash = "sha256-dIzff/NL/M3yHvxCmDELmDfCtO3UpxXWNGq+VeCH5Z0=";
+    hash = "sha256-UQMM4P2YZbdB8H+kTLPBKLces0HJHAO3f21VvI1yNmk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/ku/kubectl-ai/package.nix b/pkgs/by-name/ku/kubectl-ai/package.nix
index 94296e998872..2a7a93b8403e 100644
--- a/pkgs/by-name/ku/kubectl-ai/package.nix
+++ b/pkgs/by-name/ku/kubectl-ai/package.nix
@@ -6,16 +6,16 @@
 
 buildGoModule (finalAttrs: {
   pname = "kubectl-ai";
-  version = "0.0.11";
+  version = "0.0.14";
 
   src = fetchFromGitHub {
     owner = "GoogleCloudPlatform";
     repo = "kubectl-ai";
-    rev = "v${finalAttrs.version}";
-    hash = "sha256-ui8DpqsgJlNh3q+hq4Y7XG7yO/ZPtlffd5s4lf1zU1k=";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-W3HY47ALhUl79TvLc8MMAZ1ixYnWkNF931dvzL9T8Jg=";
   };
 
-  vendorHash = "sha256-gufDSIDmC8jtLgY+mg13pc5njGWxAk0osZpOh7RBsHA=";
+  vendorHash = "sha256-ixuSGh7HvS2POs2J8sNBObtbiZqegftCAE2JEVBR/Hc=";
 
   # Build the main command
   subPackages = [ "cmd" ];
@@ -30,7 +30,6 @@ buildGoModule (finalAttrs: {
     "-X main.version=${finalAttrs.version}"
   ];
 
-  # Disable the automatic subpackage detection
   doCheck = false;
 
   meta = {
diff --git a/pkgs/by-name/ku/kubeone/package.nix b/pkgs/by-name/ku/kubeone/package.nix
index ab7832161756..5095e2d95309 100644
--- a/pkgs/by-name/ku/kubeone/package.nix
+++ b/pkgs/by-name/ku/kubeone/package.nix
@@ -9,13 +9,13 @@
 
 buildGoModule rec {
   pname = "kubeone";
-  version = "1.10.0";
+  version = "1.10.1";
 
   src = fetchFromGitHub {
     owner = "kubermatic";
     repo = "kubeone";
     rev = "v${version}";
-    hash = "sha256-lBeIhsPiEHGSvEhMNjSr5bv/jp2xbbd3wIgaaRARiI8=";
+    hash = "sha256-bRl2Yrg3fidytCt3stjTyNx7IdMpADgVzpd/7btQgY8=";
   };
 
   vendorHash = "sha256-Ltrs86I5CAjx21BZZrG+UD5/YdLbaFwJqRQLvGwOA9E=";
diff --git a/pkgs/by-name/ku/kubernetes-validate/unwrapped.nix b/pkgs/by-name/ku/kubernetes-validate/unwrapped.nix
index d2448164098e..2c9098ab25fa 100644
--- a/pkgs/by-name/ku/kubernetes-validate/unwrapped.nix
+++ b/pkgs/by-name/ku/kubernetes-validate/unwrapped.nix
@@ -14,13 +14,13 @@
 }:
 buildPythonPackage rec {
   pname = "kubernetes-validate";
-  version = "1.32.0";
+  version = "1.33.1";
   pyproject = true;
 
   src = fetchPypi {
     pname = "kubernetes_validate";
     inherit version;
-    hash = "sha256-GSg3/cLBkWUlAf4mjdo0JT36yuADRQWlGwo4hNFZNh0=";
+    hash = "sha256-U2Nb9mpeBJASCa5/av8OjBnvoUXMmpCHI0TJKjE1Opk=";
   };
 
   build-system = [
diff --git a/pkgs/by-name/ku/kubeshark/package.nix b/pkgs/by-name/ku/kubeshark/package.nix
index cdc603164520..07a3e3728cf8 100644
--- a/pkgs/by-name/ku/kubeshark/package.nix
+++ b/pkgs/by-name/ku/kubeshark/package.nix
@@ -11,13 +11,13 @@
 
 buildGoModule rec {
   pname = "kubeshark";
-  version = "52.7.0";
+  version = "52.7.7";
 
   src = fetchFromGitHub {
     owner = "kubeshark";
     repo = "kubeshark";
     rev = "v${version}";
-    hash = "sha256-D3mHLYN6OVk7f1MCCWqSg/3qeg83EHcpqvkm1UTOaaM=";
+    hash = "sha256-gF1Q0amsgKyog+98zeHMidU8vzlTynr69alC6BhGAqI=";
   };
 
   vendorHash = "sha256-kzyQW4bVE7oMOlHVG7LKG1AMTRYa5GLiiEhdarIhMSo=";
diff --git a/pkgs/by-name/ku/kubetui/package.nix b/pkgs/by-name/ku/kubetui/package.nix
index a88c47c290a4..41b0c5bd77ff 100644
--- a/pkgs/by-name/ku/kubetui/package.nix
+++ b/pkgs/by-name/ku/kubetui/package.nix
@@ -6,13 +6,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "kubetui";
-  version = "1.7.1";
+  version = "1.8.1";
 
   src = fetchFromGitHub {
     owner = "sarub0b0";
     repo = "kubetui";
     tag = "v${version}";
-    hash = "sha256-CtKckAmvXdH+CU+nV1hNGhemOCj5HRkAEQDSMD32CFE=";
+    hash = "sha256-L4/PqlVECVKMNSCFdaCxLxLAqmkzAdAvh/amQPZddts=";
   };
 
   checkFlags = [
@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-+O22eo2vj4WLbSQoUfGOOfp2a43j2RrVXvB7CmYRA1o=";
+  cargoHash = "sha256-Mmz7p7bz6EQDl7/xSVP+7kLHNCYlBIkQGiCeuH7qpWY=";
 
   meta = {
     homepage = "https://github.com/sarub0b0/kubetui";
diff --git a/pkgs/by-name/ku/kubevirt/package.nix b/pkgs/by-name/ku/kubevirt/package.nix
index 85d03960c28a..fb54bf98751e 100644
--- a/pkgs/by-name/ku/kubevirt/package.nix
+++ b/pkgs/by-name/ku/kubevirt/package.nix
@@ -9,13 +9,13 @@
 
 buildGoModule rec {
   pname = "kubevirt";
-  version = "1.5.1";
+  version = "1.5.2";
 
   src = fetchFromGitHub {
     owner = "kubevirt";
     repo = "kubevirt";
     rev = "v${version}";
-    hash = "sha256-wREuRKfpyAL1SF1tnSNqCLqvWctVHHEpyrWLIY0nV3Y=";
+    hash = "sha256-R01kW6mS1Ce3oi3p6RFVXif/BybM9HlbL2WT9b5wJuE=";
   };
 
   vendorHash = null;
diff --git a/pkgs/by-name/ku/kubevpn/package.nix b/pkgs/by-name/ku/kubevpn/package.nix
index a2431e8014cb..5c6a94d3ea2f 100644
--- a/pkgs/by-name/ku/kubevpn/package.nix
+++ b/pkgs/by-name/ku/kubevpn/package.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "kubevpn";
-  version = "2.7.12";
+  version = "2.7.18";
 
   src = fetchFromGitHub {
     owner = "KubeNetworks";
     repo = "kubevpn";
     rev = "v${version}";
-    hash = "sha256-Tf0hhhabSP4MxXMb046dBzcjF7T+cmhcCF/1+ZNo1fM=";
+    hash = "sha256-fvdGqnjIC13S5rhrruWKz5nU+lM4UIoG9/cw0G9Szlc=";
   };
 
   vendorHash = null;
diff --git a/pkgs/by-name/la/labwc-menu-generator/package.nix b/pkgs/by-name/la/labwc-menu-generator/package.nix
index 0df66576026f..1c037f507d2a 100644
--- a/pkgs/by-name/la/labwc-menu-generator/package.nix
+++ b/pkgs/by-name/la/labwc-menu-generator/package.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "labwc-menu-generator";
-  version = "0.2.0-unstable-2025-04-30";
+  version = "0.2.0-unstable-2025-06-03";
 
   src = fetchFromGitHub {
     owner = "labwc";
     repo = "labwc-menu-generator";
-    rev = "2ca1be707aca1a06852e3a0ce70941e50bd7c02e";
-    hash = "sha256-LoRhTeS7wnv/yqUibQ9+3y8q3JvYPCZZJ51rDOe9EtM=";
+    rev = "255ae8937598524c9929e3576149473ff90dab39";
+    hash = "sha256-/cpgdBsRSDZobdXEkqOo68W9buP3J1YkCSHu0ld69R0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/la/labwc-tweaks-gtk/package.nix b/pkgs/by-name/la/labwc-tweaks-gtk/package.nix
index da3760f9e31a..cfda121f6d56 100644
--- a/pkgs/by-name/la/labwc-tweaks-gtk/package.nix
+++ b/pkgs/by-name/la/labwc-tweaks-gtk/package.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "labwc-tweaks-gtk";
-  version = "0-unstable-2025-04-01";
+  version = "0-unstable-2025-06-14";
 
   src = fetchFromGitHub {
     owner = "labwc";
     repo = "labwc-tweaks-gtk";
-    rev = "b1779b293f1d0b07b328a6cbbfb5b1c4e3529d97";
-    hash = "sha256-K2f1ztuhi3+btc41/1FYVvTBnPEVM5XQmlJxW7y9MlY=";
+    rev = "394a61ed5a546c59d4e632a5a7b184aecc79166a";
+    hash = "sha256-/iYe3FVIFo74XnyWeUHpWjmLCw8MsZBqXp55o0FjILA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/la/ladybird/001-revert-fake-skia-update.patch b/pkgs/by-name/la/ladybird/001-revert-fake-skia-update.patch
deleted file mode 100644
index 257fa212fc55..000000000000
--- a/pkgs/by-name/la/ladybird/001-revert-fake-skia-update.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/vcpkg.json b/vcpkg.json
-index 5a824884b2..e4193aa45f 100644
---- a/vcpkg.json
-+++ b/vcpkg.json
-@@ -199,7 +199,7 @@
-     },
-     {
-       "name": "skia",
--      "version": "134#2"
-+      "version": "129#0"
-     },
-     {
-       "name": "sqlite3",
diff --git a/pkgs/by-name/la/ladybird/package.nix b/pkgs/by-name/la/ladybird/package.nix
index 45cc7bd1b20d..72f36afb66d4 100644
--- a/pkgs/by-name/la/ladybird/package.nix
+++ b/pkgs/by-name/la/ladybird/package.nix
@@ -2,13 +2,14 @@
   lib,
   stdenv,
   fetchFromGitHub,
-  fetchurl,
   cacert,
   unicode-emoji,
   unicode-character-database,
   unicode-idna,
   publicsuffix-list,
   cmake,
+  copyDesktopItems,
+  makeDesktopItem,
   ninja,
   pkg-config,
   curl,
@@ -38,22 +39,15 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "ladybird";
-  version = "0-unstable-2025-05-24";
+  version = "0-unstable-2025-06-18";
 
   src = fetchFromGitHub {
     owner = "LadybirdWebBrowser";
     repo = "ladybird";
-    rev = "fbd1f771613fc6f13fcc20dcad04c7065633a2c2";
-    hash = "sha256-Gtfnq46JrzfpcapMr6Ez+5BNQ59H/Djsgp7n6QvMSUM=";
+    rev = "86c8dbbf902d5c84bdc90cd35d19cc167d5848bd";
+    hash = "sha256-CUVKrbpwPDMHPMHQfNSOQLQmRv7Fy4H/xsglZJaPZlI=";
   };
 
-  patches = [
-    # Revert https://github.com/LadybirdBrowser/ladybird/commit/51d189198d3fc61141fc367dc315c7f50492a57e
-    # This commit doesn't update the skia used by ladybird vcpkg, but it does update the skia that
-    # that cmake wants.
-    ./001-revert-fake-skia-update.patch
-  ];
-
   postPatch = ''
     sed -i '/iconutil/d' UI/CMakeLists.txt
 
@@ -90,6 +84,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   nativeBuildInputs = [
     cmake
+    copyDesktopItems
     ninja
     pkg-config
     python3
@@ -146,12 +141,43 @@ stdenv.mkDerivation (finalAttrs: {
   # ld: [...]/OESVertexArrayObject.cpp.o: undefined reference to symbol 'glIsVertexArrayOES'
   # ld: [...]/libGL.so.1: error adding symbols: DSO missing from command line
   # https://github.com/LadybirdBrowser/ladybird/issues/371#issuecomment-2616415434
-  env.NIX_LDFLAGS = "-lGL";
+  env.NIX_LDFLAGS = "-lGL -lfontconfig";
 
-  postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
-    mkdir -p $out/Applications $out/bin
-    mv $out/bundle/Ladybird.app $out/Applications
-  '';
+  postInstall =
+    ''
+      for size in 48x48 128x128; do
+        mkdir -p $out/share/icons/hicolor/$size/apps
+        ln -s $out/share/Lagom/icons/$size/app-browser.png \
+          $out/share/icons/hicolor/$size/apps/ladybird.png
+      done
+    ''
+    + lib.optionalString stdenv.hostPlatform.isDarwin ''
+      mkdir -p $out/Applications $out/bin
+      mv $out/bundle/Ladybird.app $out/Applications
+    '';
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "ladybird";
+      desktopName = "Ladybird";
+      exec = "Ladybird -- %U";
+      icon = "ladybird";
+      categories = [
+        "Network"
+        "WebBrowser"
+      ];
+      mimeTypes = [
+        "text/html"
+        "application/xhtml+xml"
+        "x-scheme-handler/http"
+        "x-scheme-handler/https"
+      ];
+      actions.new-window = {
+        name = "New Window";
+        exec = "Ladybird --new-window -- %U";
+      };
+    })
+  ];
 
   # Only Ladybird and WebContent need wrapped, if Qt is enabled.
   # On linux we end up wraping some non-Qt apps, like headless-browser.
diff --git a/pkgs/by-name/la/lakectl/package.nix b/pkgs/by-name/la/lakectl/package.nix
index 015af5b6314a..0656b9263976 100644
--- a/pkgs/by-name/la/lakectl/package.nix
+++ b/pkgs/by-name/la/lakectl/package.nix
@@ -7,18 +7,18 @@
 
 buildGoModule (finalAttrs: {
   pname = "lakectl";
-  version = "1.58.0";
+  version = "1.59.0";
 
   src = fetchFromGitHub {
     owner = "treeverse";
     repo = "lakeFS";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-TU9yp7ip/FbIAW+4XYDrDPpFc1/ryJRsR8wKjr+17/Q=";
+    hash = "sha256-ygBpmPQD2gSVMsVL39TkHGpKIjdr0Wg8rjCUjEaQkWI=";
   };
 
   subPackages = [ "cmd/lakectl" ];
   proxyVendor = true;
-  vendorHash = "sha256-iMc3tz0UTBockAPZ5OEvr01WUYb2g+egg9+PXeZBC7U=";
+  vendorHash = "sha256-U1V+JmUXtdSUXoIevCwjE3beCqWTl1Rt3jYUSkwvc0A=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/la/lammps/package.nix b/pkgs/by-name/la/lammps/package.nix
index 860f812c5272..bd0ee29a3d71 100644
--- a/pkgs/by-name/la/lammps/package.nix
+++ b/pkgs/by-name/la/lammps/package.nix
@@ -49,14 +49,14 @@
 stdenv.mkDerivation (finalAttrs: {
   # LAMMPS has weird versioning convention. Updates should go smoothly with:
   # nix-update --commit lammps --version-regex 'stable_(.*)'
-  version = "29Aug2024_update2";
+  version = "29Aug2024_update3";
   pname = "lammps";
 
   src = fetchFromGitHub {
     owner = "lammps";
     repo = "lammps";
     rev = "stable_${finalAttrs.version}";
-    hash = "sha256-xhFLsK3CQFIfajdwkpz593KTUGwcIWX1bLIPClDe/V8=";
+    hash = "sha256-nvUkRkO58Hmrsieyd9ALRUA7Q80AcZffW85ipH4NF/U=";
   };
   preConfigure = ''
     cd cmake
diff --git a/pkgs/by-name/la/laravel/composer.lock b/pkgs/by-name/la/laravel/composer.lock
index 16f2543fbb63..5efe1eecfe30 100644
--- a/pkgs/by-name/la/laravel/composer.lock
+++ b/pkgs/by-name/la/laravel/composer.lock
@@ -168,16 +168,16 @@
         },
         {
             "name": "illuminate/collections",
-            "version": "v12.16.0",
+            "version": "v12.19.2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/illuminate/collections.git",
-                "reference": "d5ea498fd4de52341eced75eced74b7f076bb35f"
+                "reference": "21a206b2b2297e838c181b482b5f8bbe7ac48f61"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/illuminate/collections/zipball/d5ea498fd4de52341eced75eced74b7f076bb35f",
-                "reference": "d5ea498fd4de52341eced75eced74b7f076bb35f",
+                "url": "https://api.github.com/repos/illuminate/collections/zipball/21a206b2b2297e838c181b482b5f8bbe7ac48f61",
+                "reference": "21a206b2b2297e838c181b482b5f8bbe7ac48f61",
                 "shasum": ""
             },
             "require": {
@@ -221,11 +221,11 @@
                 "issues": "https://github.com/laravel/framework/issues",
                 "source": "https://github.com/laravel/framework"
             },
-            "time": "2025-05-26T17:22:35+00:00"
+            "time": "2025-06-12T14:21:37+00:00"
         },
         {
             "name": "illuminate/conditionable",
-            "version": "v12.16.0",
+            "version": "v12.19.2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/illuminate/conditionable.git",
@@ -271,16 +271,16 @@
         },
         {
             "name": "illuminate/contracts",
-            "version": "v12.16.0",
+            "version": "v12.19.2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/illuminate/contracts.git",
-                "reference": "b559b9840344cc02cb142a5d72132a2c928f2e5c"
+                "reference": "ad1d16d827927455d3b7e39fabac66b1afb82582"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/illuminate/contracts/zipball/b559b9840344cc02cb142a5d72132a2c928f2e5c",
-                "reference": "b559b9840344cc02cb142a5d72132a2c928f2e5c",
+                "url": "https://api.github.com/repos/illuminate/contracts/zipball/ad1d16d827927455d3b7e39fabac66b1afb82582",
+                "reference": "ad1d16d827927455d3b7e39fabac66b1afb82582",
                 "shasum": ""
             },
             "require": {
@@ -315,20 +315,20 @@
                 "issues": "https://github.com/laravel/framework/issues",
                 "source": "https://github.com/laravel/framework"
             },
-            "time": "2025-05-13T15:08:45+00:00"
+            "time": "2025-06-12T15:07:31+00:00"
         },
         {
             "name": "illuminate/filesystem",
-            "version": "v12.16.0",
+            "version": "v12.19.2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/illuminate/filesystem.git",
-                "reference": "80fe8605cfa360fdbc85f67c19801a9657615aab"
+                "reference": "a5ec0cc347d46ff4aa3615c7739f321df3183fb7"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/illuminate/filesystem/zipball/80fe8605cfa360fdbc85f67c19801a9657615aab",
-                "reference": "80fe8605cfa360fdbc85f67c19801a9657615aab",
+                "url": "https://api.github.com/repos/illuminate/filesystem/zipball/a5ec0cc347d46ff4aa3615c7739f321df3183fb7",
+                "reference": "a5ec0cc347d46ff4aa3615c7739f321df3183fb7",
                 "shasum": ""
             },
             "require": {
@@ -382,11 +382,11 @@
                 "issues": "https://github.com/laravel/framework/issues",
                 "source": "https://github.com/laravel/framework"
             },
-            "time": "2025-05-13T15:08:45+00:00"
+            "time": "2025-06-17T23:40:32+00:00"
         },
         {
             "name": "illuminate/macroable",
-            "version": "v12.16.0",
+            "version": "v12.19.2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/illuminate/macroable.git",
@@ -432,16 +432,16 @@
         },
         {
             "name": "illuminate/support",
-            "version": "v12.16.0",
+            "version": "v12.19.2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/illuminate/support.git",
-                "reference": "ca7535d97755d36dd0afcb3627e5f0623dae5000"
+                "reference": "4e5d098d1cdbf5cabff09c1903a141bd9747ae75"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/illuminate/support/zipball/ca7535d97755d36dd0afcb3627e5f0623dae5000",
-                "reference": "ca7535d97755d36dd0afcb3627e5f0623dae5000",
+                "url": "https://api.github.com/repos/illuminate/support/zipball/4e5d098d1cdbf5cabff09c1903a141bd9747ae75",
+                "reference": "4e5d098d1cdbf5cabff09c1903a141bd9747ae75",
                 "shasum": ""
             },
             "require": {
@@ -505,7 +505,7 @@
                 "issues": "https://github.com/laravel/framework/issues",
                 "source": "https://github.com/laravel/framework"
             },
-            "time": "2025-05-26T17:21:08+00:00"
+            "time": "2025-06-12T15:07:56+00:00"
         },
         {
             "name": "laravel/prompts",
@@ -568,16 +568,16 @@
         },
         {
             "name": "nesbot/carbon",
-            "version": "3.9.1",
+            "version": "3.10.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/CarbonPHP/carbon.git",
-                "reference": "ced71f79398ece168e24f7f7710462f462310d4d"
+                "reference": "c1397390dd0a7e0f11660f0ae20f753d88c1f3d9"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/ced71f79398ece168e24f7f7710462f462310d4d",
-                "reference": "ced71f79398ece168e24f7f7710462f462310d4d",
+                "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/c1397390dd0a7e0f11660f0ae20f753d88c1f3d9",
+                "reference": "c1397390dd0a7e0f11660f0ae20f753d88c1f3d9",
                 "shasum": ""
             },
             "require": {
@@ -585,9 +585,9 @@
                 "ext-json": "*",
                 "php": "^8.1",
                 "psr/clock": "^1.0",
-                "symfony/clock": "^6.3 || ^7.0",
+                "symfony/clock": "^6.3.12 || ^7.0",
                 "symfony/polyfill-mbstring": "^1.0",
-                "symfony/translation": "^4.4.18 || ^5.2.1|| ^6.0 || ^7.0"
+                "symfony/translation": "^4.4.18 || ^5.2.1 || ^6.0 || ^7.0"
             },
             "provide": {
                 "psr/clock-implementation": "1.0"
@@ -595,14 +595,13 @@
             "require-dev": {
                 "doctrine/dbal": "^3.6.3 || ^4.0",
                 "doctrine/orm": "^2.15.2 || ^3.0",
-                "friendsofphp/php-cs-fixer": "^3.57.2",
+                "friendsofphp/php-cs-fixer": "^3.75.0",
                 "kylekatarnls/multi-tester": "^2.5.3",
-                "ondrejmirtes/better-reflection": "^6.25.0.4",
                 "phpmd/phpmd": "^2.15.0",
-                "phpstan/extension-installer": "^1.3.1",
-                "phpstan/phpstan": "^1.11.2",
-                "phpunit/phpunit": "^10.5.20",
-                "squizlabs/php_codesniffer": "^3.9.0"
+                "phpstan/extension-installer": "^1.4.3",
+                "phpstan/phpstan": "^2.1.17",
+                "phpunit/phpunit": "^10.5.46",
+                "squizlabs/php_codesniffer": "^3.13.0"
             },
             "bin": [
                 "bin/carbon"
@@ -670,7 +669,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2025-05-01T19:51:51+00:00"
+            "time": "2025-06-12T10:24:28+00:00"
         },
         {
             "name": "psr/clock",
@@ -826,7 +825,7 @@
         },
         {
             "name": "symfony/clock",
-            "version": "v7.2.0",
+            "version": "v7.3.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/clock.git",
@@ -880,7 +879,7 @@
                 "time"
             ],
             "support": {
-                "source": "https://github.com/symfony/clock/tree/v7.2.0"
+                "source": "https://github.com/symfony/clock/tree/v7.3.0"
             },
             "funding": [
                 {
@@ -900,23 +899,24 @@
         },
         {
             "name": "symfony/console",
-            "version": "v7.2.6",
+            "version": "v7.3.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/console.git",
-                "reference": "0e2e3f38c192e93e622e41ec37f4ca70cfedf218"
+                "reference": "66c1440edf6f339fd82ed6c7caa76cb006211b44"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/console/zipball/0e2e3f38c192e93e622e41ec37f4ca70cfedf218",
-                "reference": "0e2e3f38c192e93e622e41ec37f4ca70cfedf218",
+                "url": "https://api.github.com/repos/symfony/console/zipball/66c1440edf6f339fd82ed6c7caa76cb006211b44",
+                "reference": "66c1440edf6f339fd82ed6c7caa76cb006211b44",
                 "shasum": ""
             },
             "require": {
                 "php": ">=8.2",
+                "symfony/deprecation-contracts": "^2.5|^3",
                 "symfony/polyfill-mbstring": "~1.0",
                 "symfony/service-contracts": "^2.5|^3",
-                "symfony/string": "^6.4|^7.0"
+                "symfony/string": "^7.2"
             },
             "conflict": {
                 "symfony/dependency-injection": "<6.4",
@@ -973,7 +973,7 @@
                 "terminal"
             ],
             "support": {
-                "source": "https://github.com/symfony/console/tree/v7.2.6"
+                "source": "https://github.com/symfony/console/tree/v7.3.0"
             },
             "funding": [
                 {
@@ -989,7 +989,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2025-04-07T19:09:28+00:00"
+            "time": "2025-05-24T10:34:04+00:00"
         },
         {
             "name": "symfony/deprecation-contracts",
@@ -1060,16 +1060,16 @@
         },
         {
             "name": "symfony/finder",
-            "version": "v7.2.2",
+            "version": "v7.3.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/finder.git",
-                "reference": "87a71856f2f56e4100373e92529eed3171695cfb"
+                "reference": "ec2344cf77a48253bbca6939aa3d2477773ea63d"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/finder/zipball/87a71856f2f56e4100373e92529eed3171695cfb",
-                "reference": "87a71856f2f56e4100373e92529eed3171695cfb",
+                "url": "https://api.github.com/repos/symfony/finder/zipball/ec2344cf77a48253bbca6939aa3d2477773ea63d",
+                "reference": "ec2344cf77a48253bbca6939aa3d2477773ea63d",
                 "shasum": ""
             },
             "require": {
@@ -1104,7 +1104,7 @@
             "description": "Finds files and directories via an intuitive fluent interface",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/finder/tree/v7.2.2"
+                "source": "https://github.com/symfony/finder/tree/v7.3.0"
             },
             "funding": [
                 {
@@ -1120,7 +1120,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-12-30T19:00:17+00:00"
+            "time": "2024-12-30T19:00:26+00:00"
         },
         {
             "name": "symfony/polyfill-ctype",
@@ -1519,16 +1519,16 @@
         },
         {
             "name": "symfony/process",
-            "version": "v7.2.5",
+            "version": "v7.3.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/process.git",
-                "reference": "87b7c93e57df9d8e39a093d32587702380ff045d"
+                "reference": "40c295f2deb408d5e9d2d32b8ba1dd61e36f05af"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/process/zipball/87b7c93e57df9d8e39a093d32587702380ff045d",
-                "reference": "87b7c93e57df9d8e39a093d32587702380ff045d",
+                "url": "https://api.github.com/repos/symfony/process/zipball/40c295f2deb408d5e9d2d32b8ba1dd61e36f05af",
+                "reference": "40c295f2deb408d5e9d2d32b8ba1dd61e36f05af",
                 "shasum": ""
             },
             "require": {
@@ -1560,7 +1560,7 @@
             "description": "Executes commands in sub-processes",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/process/tree/v7.2.5"
+                "source": "https://github.com/symfony/process/tree/v7.3.0"
             },
             "funding": [
                 {
@@ -1576,7 +1576,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2025-03-13T12:21:46+00:00"
+            "time": "2025-04-17T09:11:12+00:00"
         },
         {
             "name": "symfony/service-contracts",
@@ -1663,16 +1663,16 @@
         },
         {
             "name": "symfony/string",
-            "version": "v7.2.6",
+            "version": "v7.3.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/string.git",
-                "reference": "a214fe7d62bd4df2a76447c67c6b26e1d5e74931"
+                "reference": "f3570b8c61ca887a9e2938e85cb6458515d2b125"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/string/zipball/a214fe7d62bd4df2a76447c67c6b26e1d5e74931",
-                "reference": "a214fe7d62bd4df2a76447c67c6b26e1d5e74931",
+                "url": "https://api.github.com/repos/symfony/string/zipball/f3570b8c61ca887a9e2938e85cb6458515d2b125",
+                "reference": "f3570b8c61ca887a9e2938e85cb6458515d2b125",
                 "shasum": ""
             },
             "require": {
@@ -1730,7 +1730,7 @@
                 "utf8"
             ],
             "support": {
-                "source": "https://github.com/symfony/string/tree/v7.2.6"
+                "source": "https://github.com/symfony/string/tree/v7.3.0"
             },
             "funding": [
                 {
@@ -1746,20 +1746,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2025-04-20T20:18:16+00:00"
+            "time": "2025-04-20T20:19:01+00:00"
         },
         {
             "name": "symfony/translation",
-            "version": "v7.2.6",
+            "version": "v7.3.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/translation.git",
-                "reference": "e7fd8e2a4239b79a0fd9fb1fef3e0e7f969c6dc6"
+                "reference": "4aba29076a29a3aa667e09b791e5f868973a8667"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/translation/zipball/e7fd8e2a4239b79a0fd9fb1fef3e0e7f969c6dc6",
-                "reference": "e7fd8e2a4239b79a0fd9fb1fef3e0e7f969c6dc6",
+                "url": "https://api.github.com/repos/symfony/translation/zipball/4aba29076a29a3aa667e09b791e5f868973a8667",
+                "reference": "4aba29076a29a3aa667e09b791e5f868973a8667",
                 "shasum": ""
             },
             "require": {
@@ -1769,6 +1769,7 @@
                 "symfony/translation-contracts": "^2.5|^3.0"
             },
             "conflict": {
+                "nikic/php-parser": "<5.0",
                 "symfony/config": "<6.4",
                 "symfony/console": "<6.4",
                 "symfony/dependency-injection": "<6.4",
@@ -1782,7 +1783,7 @@
                 "symfony/translation-implementation": "2.3|3.0"
             },
             "require-dev": {
-                "nikic/php-parser": "^4.18|^5.0",
+                "nikic/php-parser": "^5.0",
                 "psr/log": "^1|^2|^3",
                 "symfony/config": "^6.4|^7.0",
                 "symfony/console": "^6.4|^7.0",
@@ -1825,7 +1826,7 @@
             "description": "Provides tools to internationalize your application",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/translation/tree/v7.2.6"
+                "source": "https://github.com/symfony/translation/tree/v7.3.0"
             },
             "funding": [
                 {
@@ -1841,7 +1842,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2025-04-07T19:09:28+00:00"
+            "time": "2025-05-29T07:19:49+00:00"
         },
         {
             "name": "symfony/translation-contracts",
@@ -2059,16 +2060,16 @@
         },
         {
             "name": "nikic/php-parser",
-            "version": "v5.4.0",
+            "version": "v5.5.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/nikic/PHP-Parser.git",
-                "reference": "447a020a1f875a434d62f2a401f53b82a396e494"
+                "reference": "ae59794362fe85e051a58ad36b289443f57be7a9"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/447a020a1f875a434d62f2a401f53b82a396e494",
-                "reference": "447a020a1f875a434d62f2a401f53b82a396e494",
+                "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/ae59794362fe85e051a58ad36b289443f57be7a9",
+                "reference": "ae59794362fe85e051a58ad36b289443f57be7a9",
                 "shasum": ""
             },
             "require": {
@@ -2111,9 +2112,9 @@
             ],
             "support": {
                 "issues": "https://github.com/nikic/PHP-Parser/issues",
-                "source": "https://github.com/nikic/PHP-Parser/tree/v5.4.0"
+                "source": "https://github.com/nikic/PHP-Parser/tree/v5.5.0"
             },
-            "time": "2024-12-30T11:07:19+00:00"
+            "time": "2025-05-31T08:24:38+00:00"
         },
         {
             "name": "phar-io/manifest",
diff --git a/pkgs/by-name/la/laravel/package.nix b/pkgs/by-name/la/laravel/package.nix
index a8064b0ef2a9..c13b51eedc13 100644
--- a/pkgs/by-name/la/laravel/package.nix
+++ b/pkgs/by-name/la/laravel/package.nix
@@ -7,19 +7,19 @@
 }:
 php.buildComposerProject2 (finalAttrs: {
   pname = "laravel";
-  version = "5.15.0";
+  version = "5.16.0";
 
   src = fetchFromGitHub {
     owner = "laravel";
     repo = "installer";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-hnbcJ2RF/fTUBm2KhV1tECc3iMSmFia0zI95QmcRkNM=";
+    hash = "sha256-A2DUa1TD9xeZ8zyIVOGgPEnY/UrDSzVpC32JNg5OpyU=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
 
   composerLock = ./composer.lock;
-  vendorHash = "sha256-l+mzm4sIURKkXu6WPVQrGbj9YhunPfmYmDDmtUuKuXY=";
+  vendorHash = "sha256-2mUC6uu9DS0FJaKiiNVCUSZoEW5+bpkUlrWHZV+pzL0=";
 
   # Adding npm (nodejs) and php composer to path
   postInstall = ''
diff --git a/pkgs/by-name/la/lavalink/package.nix b/pkgs/by-name/la/lavalink/package.nix
index 1ca9d11765e2..8419baae68a7 100644
--- a/pkgs/by-name/la/lavalink/package.nix
+++ b/pkgs/by-name/la/lavalink/package.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "lavalink";
-  version = "4.0.8";
+  version = "4.1.1";
 
   src = fetchurl {
     url = "https://github.com/lavalink-devs/Lavalink/releases/download/${finalAttrs.version}/Lavalink.jar";
-    hash = "sha256-G4a9ltPq/L0vcazTQjStTlOOtwrBi37bYUNQHy5CV9Y=";
+    hash = "sha256-ZR/5YDgbziAqOR8fex3aMzybPmLy/KOGtNM12Zj/ttg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/la/lazpaint/package.nix b/pkgs/by-name/la/lazpaint/package.nix
index 60e11d903094..c15a99ee8946 100644
--- a/pkgs/by-name/la/lazpaint/package.nix
+++ b/pkgs/by-name/la/lazpaint/package.nix
@@ -10,29 +10,27 @@
   python3,
 }:
 
-let
-  bgrabitmap = fetchFromGitHub {
-    owner = "bgrabitmap";
-    repo = "bgrabitmap";
-    rev = "2814b069d55f726b9f3b4774d85d00dd72be9c05";
-    hash = "sha256-YibwdhlgjgI30gqYsKchgDPlOSpBiDBDJNlUDFMygGs=";
-  };
-  bgracontrols = fetchFromGitHub {
-    owner = "bgrabitmap";
-    repo = "bgracontrols";
-    rev = "v8.0";
-    hash = "sha256-5L05eGVN+xncd0/0XLFN6EL2ux4aAOsiU0BMoy0dKgg=";
-  };
-in
-stdenv.mkDerivation {
+stdenv.mkDerivation (finalAttrs: {
   pname = "lazpaint";
-  version = "7.2.2-unstable-2024-01-23";
+  version = "7.3";
 
   src = fetchFromGitHub {
     owner = "bgrabitmap";
     repo = "lazpaint";
-    rev = "45a7a471d531d6adb5ee557ff917a99af76e92f1";
-    hash = "sha256-KgCxSK72Ow29T58mlcYCJiS4D0Ov2/p37c1FSNgKZew=";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-yT1HyvJcYEJgMkQxzCSD8s7/ttemxZaur9T+As8WdIo=";
+  };
+  bgrabitmap = fetchFromGitHub {
+    owner = "bgrabitmap";
+    repo = "bgrabitmap";
+    tag = "v11.6.6";
+    hash = "sha256-bA8tvo7Srm5kIZTVWEA2+gjqHab7LByyL/zqdQxeFlA=";
+  };
+  bgracontrols = fetchFromGitHub {
+    owner = "bgrabitmap";
+    repo = "bgracontrols";
+    tag = "v9.0.2";
+    hash = "sha256-HqX9n4VpOyMwTz3fTweTTqzW+jA2BU62mm/X7Iwjd/8=";
   };
 
   nativeBuildInputs = [
@@ -59,8 +57,8 @@ stdenv.mkDerivation {
     runHook preBuild
 
     export HOME=$(mktemp -d)
-    cp -r --no-preserve=mode ${bgrabitmap} bgrabitmap
-    cp -r --no-preserve=mode ${bgracontrols} bgracontrols
+    cp -r --no-preserve=mode ${finalAttrs.bgrabitmap} bgrabitmap
+    cp -r --no-preserve=mode ${finalAttrs.bgracontrols} bgracontrols
 
     lazbuild --lazarusdir=${lazarus-qt5}/share/lazarus \
       --build-mode=ReleaseQt5 \
@@ -86,4 +84,4 @@ stdenv.mkDerivation {
     maintainers = with lib.maintainers; [ aleksana ];
     mainProgram = "lazpaint";
   };
-}
+})
diff --git a/pkgs/by-name/lc/lcalc/package.nix b/pkgs/by-name/lc/lcalc/package.nix
index f8eab9b3edd5..2d5cb74fda4f 100644
--- a/pkgs/by-name/lc/lcalc/package.nix
+++ b/pkgs/by-name/lc/lcalc/package.nix
@@ -9,14 +9,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.1.0";
+  version = "2.1.1";
   pname = "lcalc";
 
   src = fetchFromGitLab {
     owner = "sagemath";
     repo = "lcalc";
     tag = version;
-    hash = "sha256-v+7Uh6tPOfb3E9dqxx//RqD22XM4S/8ejS2v+D5G5pE=";
+    hash = "sha256-0CYrRGn5YQ07BaGu0Q5otnjwyh3sNq21EXp3M/KlRdw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/ld/ldc/bootstrap.nix b/pkgs/by-name/ld/ldc/bootstrap.nix
index 3c6f528a5386..4fa9437ec073 100644
--- a/pkgs/by-name/ld/ldc/bootstrap.nix
+++ b/pkgs/by-name/ld/ldc/bootstrap.nix
@@ -14,17 +14,13 @@ let
   OS = if hostPlatform.isDarwin then "osx" else hostPlatform.parsed.kernel.name;
   ARCH =
     if hostPlatform.isDarwin && hostPlatform.isAarch64 then "arm64" else hostPlatform.parsed.cpu.name;
-  # Work around macOS Sequoia 15.4 segfault by downgrading the bootstrap compiler - see:
-  # - https://github.com/NixOS/nixpkgs/issues/398443
-  # - https://github.com/dlang/dmd/issues/21126#issuecomment-2775948553
-  # TODO: Remove this when bootstrap can be upgraded to a fixed version (>= 1.41.0-beta2)?
-  version = if hostPlatform.isDarwin then "1.28.1" else "1.30.0";
+  version = "1.41.0";
   hashes = {
     # Get these from `nix store prefetch-file https://github.com/ldc-developers/ldc/releases/download/v1.19.0/ldc2-1.19.0-osx-x86_64.tar.xz` etc..
-    osx-x86_64 = "sha256-mqQ+hNlDePOGX2mwgEEzHGiOAx3SxfNA6x8+ML3qYmw=";
-    linux-x86_64 = "sha256-V4TUzEfQhFrwiX07dHOgjdAoGkzausCkhnQIQNAU/eE=";
-    linux-aarch64 = "sha256-kTeglub75iv/jWWNPCn15aCGAbmck0RQl6L7bFOUu7Y=";
-    osx-arm64 = "sha256-m93rGywncBnPEWslcrXuGBnZ+Z/mNgLIaevkL/uBOu0=";
+    osx-x86_64 = "sha256-W8/0i2PFakXbqs2wxb3cjqa+htSgx7LHyDGOBH9yEYE=";
+    linux-x86_64 = "sha256-SkOUV/D+WeadAv1rV1Sfw8h60PVa2fueQlB7b44yfI8=";
+    linux-aarch64 = "sha256-HEuVChPVM3ntT1ZDZsJ+xW1iYeIWhogNcMdIaz6Me6g=";
+    osx-arm64 = "sha256-FXJnBC8QsEchBhkxSqcZtPC/iHYB6TscY0qh7LPFRuQ=";
   };
 in
 stdenv.mkDerivation {
diff --git a/pkgs/by-name/ld/ldc/package.nix b/pkgs/by-name/ld/ldc/package.nix
index ca6837771718..9563124d44fc 100644
--- a/pkgs/by-name/ld/ldc/package.nix
+++ b/pkgs/by-name/ld/ldc/package.nix
@@ -32,30 +32,19 @@ in
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "ldc";
-  version = "1.40.1";
+  version = "1.41.0";
 
   src = fetchFromGitHub {
     owner = "ldc-developers";
     repo = "ldc";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-WdnwdH25A5oMNNY3uWG2hxnaAT+S1hNuP7LElH3uuuk=";
+    hash = "sha256-6LcpY3LSFK4KgEiGrFp/LONu5Vr+/+vI04wEEpF3s+s=";
     fetchSubmodules = true;
   };
 
   # https://issues.dlang.org/show_bug.cgi?id=19553
   hardeningDisable = [ "fortify" ];
 
-  # Fix output programs segfaulting on macOS Sequoia 15.4 - see:
-  # https://github.com/NixOS/nixpkgs/issues/398443
-  # https://github.com/ldc-developers/ldc/issues/4899
-  # TODO: Remove this when upgrading to a fixed version (>= 1.41.0-beta2)
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/ldc-developers/ldc/commit/60079c3b596053b1a70f9f2e0cf38a287089df56.patch";
-      hash = "sha256-Y/5+zt5ou9rzU7rLJq2OqUxMDvC7aSFS6AsPeDxNATQ=";
-    })
-  ];
-
   postPatch =
     ''
       patchShebangs runtime tools tests
diff --git a/pkgs/by-name/le/lean4/package.nix b/pkgs/by-name/le/lean4/package.nix
index 0bb21efe3835..d47474effe06 100644
--- a/pkgs/by-name/le/lean4/package.nix
+++ b/pkgs/by-name/le/lean4/package.nix
@@ -15,7 +15,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "lean4";
-  version = "4.19.0";
+  version = "4.20.0";
 
   # Using a vendored version rather than nixpkgs' version to match the exact version required by
   # Lean.  Apparently, even a slight version change can impact greatly the final performance.
@@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "leanprover";
     repo = "lean4";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-Iw5JSamrty9l6aJ2WwslAolSHfi2q0UO8P8HI1gp+j8=";
+    hash = "sha256-1V3Uk96wdNJ3IP+hvXb5Hep8w8QK8GjqaeTVG+KUqXU=";
   };
 
   postPatch =
@@ -48,7 +48,7 @@ stdenv.mkDerivation (finalAttrs: {
     + (lib.optionalString enableMimalloc ''
       substituteInPlace CMakeLists.txt \
         --replace-fail 'MIMALLOC-SRC' '${finalAttrs.mimalloc-src}'
-      for file in src/CMakeLists.txt src/runtime/CMakeLists.txt; do
+      for file in stage0/src/CMakeLists.txt stage0/src/runtime/CMakeLists.txt src/CMakeLists.txt src/runtime/CMakeLists.txt; do
         substituteInPlace "$file" \
           --replace-fail '${pattern}' '${finalAttrs.mimalloc-src}'
       done
diff --git a/pkgs/by-name/le/ledger-live-desktop/package.nix b/pkgs/by-name/le/ledger-live-desktop/package.nix
index ab9cc2ed715b..6a976383dff5 100644
--- a/pkgs/by-name/le/ledger-live-desktop/package.nix
+++ b/pkgs/by-name/le/ledger-live-desktop/package.nix
@@ -8,11 +8,11 @@
 
 let
   pname = "ledger-live-desktop";
-  version = "2.113.2";
+  version = "2.117.0";
 
   src = fetchurl {
     url = "https://download.live.ledger.com/${pname}-${version}-linux-x86_64.AppImage";
-    hash = "sha256-jJvIncD1vGZ2t0Rpl42AoVGKPlLGhMsoU91//rxOWnw=";
+    hash = "sha256-YcnTJFbkbPTr9ZfiOEnN1oHjTMl9S2XsJyMxozPXxa8=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/by-name/le/lefthook/package.nix b/pkgs/by-name/le/lefthook/package.nix
index eaae6378b411..b66a4b5ccf55 100644
--- a/pkgs/by-name/le/lefthook/package.nix
+++ b/pkgs/by-name/le/lefthook/package.nix
@@ -7,7 +7,7 @@
 
 let
   pname = "lefthook";
-  version = "1.11.13";
+  version = "1.11.14";
 in
 buildGoModule {
   inherit pname version;
@@ -16,7 +16,7 @@ buildGoModule {
     owner = "evilmartians";
     repo = "lefthook";
     rev = "v${version}";
-    hash = "sha256-lOyQiNBgLoe2pPcI69ffWxGOi37rZAbl7Nw7c6skTis=";
+    hash = "sha256-QD1fDHzR9ZRS8FZBvGJk9rxecqnTE69WWZqaN3eXOhU=";
   };
 
   vendorHash = "sha256-vatbvmtdh/23ul6S/cgbyWEtsUgKXZ5BR+aUuQ0MxMg=";
diff --git a/pkgs/by-name/le/legends-of-equestria/package.nix b/pkgs/by-name/le/legends-of-equestria/package.nix
index 6ce66722910d..37a85b52b6a7 100644
--- a/pkgs/by-name/le/legends-of-equestria/package.nix
+++ b/pkgs/by-name/le/legends-of-equestria/package.nix
@@ -9,6 +9,7 @@
   makeDesktopItem,
   copyDesktopItems,
   libgcc,
+  cairo,
   dbus,
   xorg_sys_opengl,
   systemd,
@@ -17,6 +18,7 @@
   pulseaudio,
   libsndfile,
   flac,
+  glib,
   libvorbis,
   libopus,
   mpg123,
@@ -24,26 +26,28 @@
   libGL,
   vulkan-loader,
   libasyncns,
+  pango,
   xorg,
+  wayland,
 }:
 
 let
   pname = "legends-of-equestria";
-  version = "2024.06.02";
+  version = "2025.02.001";
   description = "Free-to-play MMORPG";
 
   srcOptions = {
     x86_64-linux = {
-      url = "https://mega.nz/file/Z3oAGYDa#01EfQICR4k5BK56hWFckYKsfgdV36KoU91TvSBwKgxY";
-      outputHash = "vpVIaRPrZih+ydWszsBF/JgO0AXh2rF/yOpBuI+V0m4=";
+      url = "https://mega.nz/file/w6pxUQJS#5r_oxsCqLyIUya8fbIATPtKAbsacXkD-bVArjjOBu3w";
+      outputHash = "k5kASgZwCoKVtHDEFjegAl31KZlrkNse4Baph1l/SUc=";
     };
     x86_64-darwin = {
-      url = "https://mega.nz/file/p6JQUDYC#lBRUK7lmxMHh4OvEyKjfl0W1mOL2VVzAH9rXL5ViiN0";
-      outputHash = "bvFg4wjltiilCP1oKfgUWThcEq8tzCIP3W/eAd3SxFo=";
+      url = "https://mega.nz/file/wyoHSZTK#ig1laiSWijTxnN_tS2m5di1Mdly8zDHP1euLVFqG_ug";
+      outputHash = "pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo=";
     };
     aarch64-darwin = {
-      url = "https://mega.nz/file/cvxSzZ4b#eJHLvVHz_zxBiRxGMCBcsl1gV6M6ebQf2tQbNpEqCvk";
-      outputHash = "1aZGuOgXTLFxwF2FcYEwKA/LRT26uiXupBoqmzq9pFM=";
+      url = "https://mega.nz/file/EihRWKgb#KDtmmzLWVKW5uxkKkBEVE0yJioYPkOqutWwwMLhbedA";
+      outputHash = "pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo=";
     };
   };
 
@@ -106,9 +110,17 @@ stdenv.mkDerivation {
       '';
 
   dontBuild = true;
-  buildInputs = [
-    libgcc
-  ];
+  buildInputs =
+    [
+      libgcc
+    ]
+    ++ lib.optionals stdenv.hostPlatform.isLinux [
+      cairo
+      dbus
+      glib
+      pango
+      wayland
+    ];
   nativeBuildInputs =
     [
       makeWrapper
@@ -125,8 +137,9 @@ stdenv.mkDerivation {
 
         loeHome=$out/lib/${pname}
         mkdir -p $loeHome
-        cp -r Linux/* $loeHome
+        cp -r LoE/* $loeHome
 
+        chmod +x $loeHome/LoE.x86_64
         makeWrapper $loeHome/LoE.x86_64 $out/bin/LoE \
           --suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDeps}"
 
diff --git a/pkgs/by-name/le/legends-of-equestria/update.sh b/pkgs/by-name/le/legends-of-equestria/update.sh
index abfde9e15992..bcac4dbbd00b 100755
--- a/pkgs/by-name/le/legends-of-equestria/update.sh
+++ b/pkgs/by-name/le/legends-of-equestria/update.sh
@@ -21,7 +21,7 @@ findHash() {
     echo "unzipping to $(pwd)/out..." >&2
     unzip -q -d out download/*.zip
 
-    nix-hash --to-sri --type sha256 $(nix-hash --type sha256 out)
+    nix --extra-experimental-features nix-command hash path --sri out
 
     cd "$oldpwd"
 }
diff --git a/pkgs/by-name/le/lesstif/c-missing_xm_h.patch b/pkgs/by-name/le/lesstif/c-missing_xm_h.patch
deleted file mode 100644
index 2d298d5f4c4e..000000000000
--- a/pkgs/by-name/le/lesstif/c-missing_xm_h.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- lesstif2-0.94.4.orig/include/Motif-2.1/Xm/XmStrDefs.h
-+++ lesstif2-0.94.4/include/Motif-2.1/Xm/XmStrDefs.h
-@@ -28,6 +28,8 @@
- 
- #include 
- 
-+#include 
-+
- #ifdef __cplusplus
- extern "C" {
- #endif
diff --git a/pkgs/by-name/le/lesstif/c-render_table_crash.patch b/pkgs/by-name/le/lesstif/c-render_table_crash.patch
deleted file mode 100644
index 1699dbe19084..000000000000
--- a/pkgs/by-name/le/lesstif/c-render_table_crash.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- lesstif2-0.95.0.orig/lib/Xm-2.1/RenderTable.c
-+++ lesstif2-0.95.0/lib/Xm-2.1/RenderTable.c
-@@ -465,7 +465,7 @@
- 	DEBUGOUT(_LtDebug(__FILE__, w, "_XmRenderTableFinaliseTag(%s)\n", tag));
- #if 1
- 	/* Experimental start */
--	if (r->dpy == 0)
-+	if (r->dpy == 0  &&  w)
- 		r->dpy = XtDisplay(w);
- 	/* Experimental end */
- #endif
diff --git a/pkgs/by-name/le/lesstif/c-xpmpipethrough.patch b/pkgs/by-name/le/lesstif/c-xpmpipethrough.patch
deleted file mode 100644
index 69f9a2464c6d..000000000000
--- a/pkgs/by-name/le/lesstif/c-xpmpipethrough.patch
+++ /dev/null
@@ -1,381 +0,0 @@
-Index: lesstif2-0.95.0/lib/Xm-2.1/XpmRdFToI.c
-===================================================================
---- lesstif2-0.95.0.orig/lib/Xm-2.1/XpmRdFToI.c	2004-11-18 22:00:58.000000000 +0100
-+++ lesstif2-0.95.0/lib/Xm-2.1/XpmRdFToI.c	2006-07-11 11:13:29.000000000 +0200
-@@ -44,11 +44,15 @@
-    DebugUtil.h! */
- #include 
- #include 
-+#include 
- 
- #include 
- #ifdef HAVE_SYS_TYPES_H
- #include 
- #endif
-+#ifdef HAVE_SYS_WAIT_H
-+#include 
-+#endif
- #ifdef HAVE_SYS_STAT_H
- #include 
- #endif
-@@ -87,16 +91,6 @@
-  	    strcpy(dst, src); \
- 	else return (XpmFileInvalid); }
- #endif
--#include 
--#if !defined(NO_ZPIPE) && defined(WIN32)
--# define popen _popen
--# define pclose _pclose
--# if defined(STAT_ZFILE)
--#  include 
--#  define stat _stat
--#  define fstat _fstat
--# endif
--#endif
- 
- LFUNC(OpenReadFile, int, (char *filename, xpmData *mdata));
- LFUNC(xpmDataClose, void, (xpmData *mdata));
-@@ -173,90 +167,131 @@
- }
- #endif /* CXPMPROG */
- 
--/*
-- * open the given file to be read as an xpmData which is returned.
-- */
- #ifndef NO_ZPIPE
--	FILE *s_popen(char *cmd, const char *type);
--#else
--#	define s_popen popen
-+/* Do not depend on errno after read_through */
-+FILE*
-+xpmPipeThrough(fd, cmd, arg1, mode)
-+    int fd;
-+    const char* cmd;
-+    const char* arg1;
-+    const char* mode;
-+{
-+    FILE* fp;
-+    int status, fds[2], in = 0, out = 1;
-+    pid_t pid;
-+    if ( 'w' == *mode )
-+	out = 0, in = 1;
-+    if ( pipe(fds) < 0 )
-+	return NULL;
-+    pid = fork();
-+    if ( pid < 0 )
-+	goto fail1;
-+    if ( 0 == pid )
-+    {
-+	close(fds[in]);
-+	if ( dup2(fds[out], out) < 0 )
-+	    goto err;
-+	close(fds[out]);
-+	if ( dup2(fd, in) < 0 )
-+	    goto err;
-+	close(fd);
-+	pid = fork();
-+	if ( pid < 0 )
-+	    goto err;
-+	if ( 0 == pid )
-+	{
-+	    execlp(cmd, cmd, arg1, NULL);
-+	    perror(cmd);
-+	    goto err;
-+	}
-+	_exit(0);
-+    err:
-+	_exit(1);
-+    }
-+    close(fds[out]);
-+    /* calling process: wait for first child */
-+    while ( waitpid(pid, &status, 0) < 0 && EINTR == errno )
-+	;
-+    if ( WIFSIGNALED(status) ||
-+	 (WIFEXITED(status) && WEXITSTATUS(status) != 0) )
-+	goto fail2;
-+    fp = fdopen(fds[in], mode);
-+    if ( !fp )
-+	goto fail2;
-+    close(fd); /* still open in 2nd child */
-+    return fp;
-+fail1:
-+    close(fds[out]);
-+fail2:
-+    close(fds[in]);
-+    return NULL;
-+}
- #endif
- 
-+/*
-+ * open the given file to be read as an xpmData which is returned.
-+ */
- static int
- OpenReadFile(filename, mdata)
-     char *filename;
-     xpmData *mdata;
- {
--#ifndef NO_ZPIPE
--    char buf[BUFSIZ];
--# ifdef STAT_ZFILE
--    char *compressfile;
--    struct stat status;
--# endif
--#endif
--
-     if (!filename) {
- 	mdata->stream.file = (stdin);
- 	mdata->type = XPMFILE;
-     } else {
--#ifndef NO_ZPIPE
--	size_t len = strlen(filename);
--
--	if(len == 0                        ||
--	   filename[len-1] == '/')
--		return(XpmOpenFailed);
--	if ((len > 2) && !strcmp(".Z", filename + (len - 2))) {
--	    mdata->type = XPMPIPE;
--	    snprintf(buf, sizeof(buf), "uncompress -c \"%s\"", filename);
--	    if (!(mdata->stream.file = s_popen(buf, "r")))
--		return (XpmOpenFailed);
--
--	} else if ((len > 3) && !strcmp(".gz", filename + (len - 3))) {
--	    mdata->type = XPMPIPE;
--	    snprintf(buf, sizeof(buf), "gunzip -qc \"%s\"", filename);
--	    if (!(mdata->stream.file = s_popen(buf, "r")))
--		return (XpmOpenFailed);
--
--	} else {
--# ifdef STAT_ZFILE
--	    if (!(compressfile = (char *) XpmMalloc(len + 4)))
-+	int fd = open(filename, O_RDONLY);
-+#if defined(NO_ZPIPE)
-+	if ( fd < 0 )
-+	    return XpmOpenFailed;
-+#else
-+	const char* ext = NULL;
-+	if ( fd >= 0 )
-+	    ext = strrchr(filename, '.');
-+#ifdef STAT_ZFILE /* searching for z-files if the given name not found */
-+	else
-+	{
-+	    size_t len = strlen(filename);
-+	    char *compressfile = (char *) XpmMalloc(len + 4);
-+	    if ( !compressfile )
- 		return (XpmNoMemory);
--
--	    snprintf(compressfile, len+4, "%s.Z", filename);
--	    if (!stat(compressfile, &status)) {
--		snprintf(buf, sizeof(buf), "uncompress -c \"%s\"", compressfile);
--		if (!(mdata->stream.file = s_popen(buf, "r"))) {
-+	    strcpy(compressfile, filename);
-+	    strcpy(compressfile + len, ext = ".Z");
-+	    fd = open(compressfile, O_RDONLY);
-+	    if ( fd < 0 )
-+	    {
-+		strcpy(compressfile + len, ext = ".gz");
-+		fd = open(compressfile, O_RDONLY);
-+		if ( fd < 0 )
-+		{
- 		    XpmFree(compressfile);
--		    return (XpmOpenFailed);
--		}
--		mdata->type = XPMPIPE;
--	    } else {
--		snprintf(compressfile, len+4, "%s.gz", filename);
--		if (!stat(compressfile, &status)) {
--		    snprintf(buf, sizeof(buf), "gunzip -c \"%s\"", compressfile);
--		    if (!(mdata->stream.file = s_popen(buf, "r"))) {
--			XpmFree(compressfile);
--			return (XpmOpenFailed);
--		    }
--		    mdata->type = XPMPIPE;
--		} else {
--# endif
--#endif
--		    if (!(mdata->stream.file = fopen(filename, "r"))) {
--#if !defined(NO_ZPIPE) && defined(STAT_ZFILE)
--			XpmFree(compressfile);
--#endif
--			return (XpmOpenFailed);
--		    }
--		    mdata->type = XPMFILE;
--#ifndef NO_ZPIPE
--# ifdef STAT_ZFILE
-+		    return XpmOpenFailed;
- 		}
- 	    }
- 	    XpmFree(compressfile);
--# endif
- 	}
- #endif
-+	if ( ext && !strcmp(ext, ".Z") )
-+	{
-+	    mdata->type = XPMPIPE;
-+	    mdata->stream.file = xpmPipeThrough(fd, "uncompress", "-c", "r");
-+	}
-+	else if ( ext && !strcmp(ext, ".gz") )
-+	{
-+	    mdata->type = XPMPIPE;
-+	    mdata->stream.file = xpmPipeThrough(fd, "gunzip", "-qc", "r");
-+	}
-+	else
-+#endif /* z-files */
-+	{
-+	    mdata->type = XPMFILE;
-+	    mdata->stream.file = fdopen(fd, "r");
-+	}
-+	if (!mdata->stream.file)
-+	{
-+	    close(fd);
-+	    return (XpmOpenFailed);
-+	}
-     }
-     mdata->CommentLength = 0;
- #ifdef CXPMPROG
-@@ -273,15 +308,6 @@
- xpmDataClose(mdata)
-     xpmData *mdata;
- {
--    switch (mdata->type) {
--    case XPMFILE:
--	if (mdata->stream.file != (stdin))
--	    fclose(mdata->stream.file);
--	break;
--#ifndef NO_ZPIPE
--    case XPMPIPE:
-+    if (mdata->stream.file != (stdin))
- 	fclose(mdata->stream.file);
--	break;
--#endif
--    }
- }
-Index: lesstif2-0.95.0/lib/Xm-2.1/XpmWrFFrI.c
-===================================================================
---- lesstif2-0.95.0.orig/lib/Xm-2.1/XpmWrFFrI.c	2005-04-13 20:03:27.000000000 +0200
-+++ lesstif2-0.95.0/lib/Xm-2.1/XpmWrFFrI.c	2006-07-11 11:13:29.000000000 +0200
-@@ -50,11 +50,15 @@
-    DebugUtil.h! */
- #include 
- #include 
-+#include 
- 
- #include 
- #ifdef HAVE_SYS_TYPES_H
- #include 
- #endif
-+#ifdef HAVE_SYS_WAIT_H
-+#include 
-+#endif
- #ifdef HAVE_SYS_STAT_H
- #include 
- #endif
-@@ -94,11 +98,6 @@
- 	else return (XpmFileInvalid); }
- #endif
- 
--#if !defined(NO_ZPIPE) && defined(WIN32)
--# define popen _popen
--# define pclose _pclose
--#endif
--
- /* MS Windows define a function called WriteFile @#%#&!!! */
- LFUNC(xpmWriteFile, int, (FILE *file, XpmImage *image, char *name,
- 			  XpmInfo *info));
-@@ -354,58 +353,48 @@
-     fprintf(file, ",\n\"XPMENDEXT\"");
- }
- 
-+
-+#ifndef NO_ZPIPE
-+FUNC(xpmPipeThrough, FILE*, (int fd,
-+			     const char* cmd,
-+			     const char* arg1,
-+			     const char* mode));
-+#endif
-+
- /*
-  * open the given file to be written as an xpmData which is returned
-  */
--#ifndef NO_ZPIPE
--	FILE *s_popen(char *cmd, const char *type);
--#else
--#	define s_popen popen
--#endif
- static int
- OpenWriteFile(filename, mdata)
-     char *filename;
-     xpmData *mdata;
- {
--#ifndef NO_ZPIPE
--    char buf[BUFSIZ];
--
--#endif
--
-     if (!filename) {
- 	mdata->stream.file = (stdout);
- 	mdata->type = XPMFILE;
-     } else {
- #ifndef NO_ZPIPE
--	size_t len = strlen(filename);
--
--	if(len == 0                        ||
--	   filename[0] == '/'              ||
--	   strstr(filename, "../") != NULL ||
--	   filename[len-1] == '/')
--		return(XpmOpenFailed);
--
-+	size_t len;
-+#endif
-+	int fd = open(filename, O_WRONLY|O_CREAT|O_TRUNC, 0644);
-+	if ( fd < 0 )
-+	    return(XpmOpenFailed);
-+#ifndef NO_ZPIPE
-+	len = strlen(filename);
- 	if (len > 2 && !strcmp(".Z", filename + (len - 2))) {
--	    snprintf(buf, sizeof(buf), "compress > \"%s\"", filename);
--	    if (!(mdata->stream.file = s_popen(buf, "w")))
--		return (XpmOpenFailed);
--
-+	    mdata->stream.file = xpmPipeThrough(fd, "compress", NULL, "w");
- 	    mdata->type = XPMPIPE;
- 	} else if (len > 3 && !strcmp(".gz", filename + (len - 3))) {
--	    snprintf(buf, sizeof(buf), "gzip -q > \"%s\"", filename);
--	    if (!(mdata->stream.file = s_popen(buf, "w")))
--		return (XpmOpenFailed);
--
-+	    mdata->stream.file = xpmPipeThrough(fd, "gzip", "-q", "w");
- 	    mdata->type = XPMPIPE;
--	} else {
-+	} else
- #endif
--	    if (!(mdata->stream.file = fopen(filename, "w")))
--		return (XpmOpenFailed);
--
-+	{
-+	    mdata->stream.file = fdopen(fd, "w");
- 	    mdata->type = XPMFILE;
--#ifndef NO_ZPIPE
- 	}
--#endif
-+	if (!mdata->stream.file)
-+	    return (XpmOpenFailed);
-     }
-     return (XpmSuccess);
- }
-@@ -417,15 +406,6 @@
- xpmDataClose(mdata)
-     xpmData *mdata;
- {
--    switch (mdata->type) {
--    case XPMFILE:
--	if (mdata->stream.file != (stdout))
--	    fclose(mdata->stream.file);
--	break;
--#ifndef NO_ZPIPE
--    case XPMPIPE:
-+    if (mdata->stream.file != (stdout))
- 	fclose(mdata->stream.file);
--	break;
--#endif
--    }
- }
diff --git a/pkgs/by-name/le/lesstif/package.nix b/pkgs/by-name/le/lesstif/package.nix
deleted file mode 100644
index 0312e530c931..000000000000
--- a/pkgs/by-name/le/lesstif/package.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{
-  lib,
-  stdenv,
-  fetchurl,
-  freetype,
-  fontconfig,
-  libICE,
-  libX11,
-  libXp,
-  libXau,
-  libXext,
-  libXt,
-}:
-
-stdenv.mkDerivation rec {
-  pname = "lesstif";
-  version = "0.95.2";
-  src = fetchurl {
-    url = "mirror://sourceforge/lesstif/${pname}-${version}.tar.bz2";
-    sha256 = "1qzpxjjf7ri1jzv71mvq5m9g8hfaj5yzwp30rwxlm6n2b24a6jpb";
-  };
-  buildInputs = [
-    freetype
-    fontconfig
-    libICE
-    libX11
-    libXext
-    libXt
-  ];
-  propagatedBuildInputs = [
-    libXau
-    libXp
-  ];
-
-  # These patches fix a number of later issues - in particular the
-  # render_table_crash shows up in 'arb'. The same patches appear
-  # in Debian, so we assume they have been sent upstream.
-  #
-  patches = [
-    ./c-missing_xm_h.patch
-    ./c-render_table_crash.patch
-    ./c-xpmpipethrough.patch
-  ];
-
-  meta = with lib; {
-    description = "Open source clone of the Motif widget set";
-    homepage = "https://lesstif.sourceforge.net";
-    platforms = platforms.unix;
-    license = with licenses; [
-      gpl2
-      lgpl2
-    ];
-  };
-}
diff --git a/pkgs/by-name/lg/lgpio/package.nix b/pkgs/by-name/lg/lgpio/package.nix
index a472ceff3136..185dd2f0b869 100644
--- a/pkgs/by-name/lg/lgpio/package.nix
+++ b/pkgs/by-name/lg/lgpio/package.nix
@@ -6,7 +6,14 @@
   # If we build the python packages, these two are not null
   buildPythonPackage ? null,
   lgpioWithoutPython ? null,
-  # When building a python Packages, this specifies the python subproject
+  # When building a python Packages, this specifies the python subproject - a
+  # folder in the repository. The current options are:
+  #
+  # - 
+  # - PY_LGPIO
+  # - PY_RGPIO
+  #
+  # Where an empty value means 'build the non python project'.
   pyProject ? "",
 }:
 
@@ -28,30 +35,18 @@ mkDerivation rec {
     swig
   ];
 
-  preConfigure =
-    if pyProject != "" then
-      ''
-        cd ${pyProject}
-      ''
-    else
-      "";
+  preConfigure = lib.optionalString (pyProject != "") ''
+    cd ${pyProject}
+  '';
   # Emulate ldconfig when building the C API
-  postConfigure =
-    if pyProject == "" then
-      ''
-        substituteInPlace Makefile \
-          --replace ldconfig 'echo ldconfig'
-      ''
-    else
-      "";
+  postConfigure = lib.optionalString (pyProject == "") ''
+    substituteInPlace Makefile \
+      --replace ldconfig 'echo ldconfig'
+  '';
 
-  preBuild =
-    if pyProject == "PY_LGPIO" then
-      ''
-        swig -python lgpio.i
-      ''
-    else
-      "";
+  preBuild = lib.optionalString (pyProject == "PY_LGPIO") ''
+    swig -python lgpio.i
+  '';
 
   buildInputs = [
     lgpioWithoutPython
@@ -64,7 +59,7 @@ mkDerivation rec {
   meta = {
     description = "Linux C libraries and Python modules for manipulating GPIO";
     homepage = "https://github.com/joan2937/lg";
-    license = with lib.licenses; [ unlicense ];
+    license = lib.licenses.unlicense;
     maintainers = with lib.maintainers; [ doronbehar ];
     platforms = lib.platforms.linux;
   };
diff --git a/pkgs/by-name/li/lib60870/package.nix b/pkgs/by-name/li/lib60870/package.nix
index 79f910002cf8..a0913253a5ba 100644
--- a/pkgs/by-name/li/lib60870/package.nix
+++ b/pkgs/by-name/li/lib60870/package.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "lib60870";
-  version = "2.3.5";
+  version = "2.3.6";
 
   src = fetchFromGitHub {
     owner = "mz-automation";
     repo = "lib60870";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-TjphTBBGjzbevUR0N1GHK/nic1pAdjWeiqxEMLozQOc=";
+    hash = "sha256-9VqLl1pDmi8TauBA8uCyymzsYd3w4b5AKtqH7XW80N4=";
   };
 
   sourceRoot = "${finalAttrs.src.name}/lib60870-C";
diff --git a/pkgs/by-name/li/libarchive/package.nix b/pkgs/by-name/li/libarchive/package.nix
index 526979f9cedb..44e6f482dbe4 100644
--- a/pkgs/by-name/li/libarchive/package.nix
+++ b/pkgs/by-name/li/libarchive/package.nix
@@ -74,6 +74,7 @@ stdenv.mkDerivation (finalAttrs: {
           # the filesystem does not necessarily have hardlink capabilities
           "libarchive/test/test_write_disk_hardlink.c"
           # access-time-related tests flakey on some systems
+          "libarchive/test/test_read_disk_directory_traversals.c"
           "cpio/test/test_option_a.c"
           "cpio/test/test_option_t.c"
         ]
diff --git a/pkgs/by-name/li/libast/package.nix b/pkgs/by-name/li/libast/package.nix
deleted file mode 100644
index 3ac848203286..000000000000
--- a/pkgs/by-name/li/libast/package.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{
-  lib,
-  stdenv,
-  fetchFromGitHub,
-  autoreconfHook,
-  pkg-config,
-}:
-
-stdenv.mkDerivation rec {
-  pname = "libast";
-  version = "0.8";
-
-  src = fetchFromGitHub {
-    owner = "mej";
-    repo = "libast";
-    rev = version;
-    hash = "sha256-rnqToFi+d6D6O+JDHQxkVjTc/0RBag6Jqv4uDcE4PNc=";
-  };
-
-  nativeBuildInputs = [
-    autoreconfHook
-    pkg-config
-  ];
-
-  meta = with lib; {
-    inherit (src.meta) homepage;
-    description = "Library of Assorted Spiffy Things";
-    mainProgram = "libast-config";
-    license = licenses.bsd2;
-    maintainers = [ ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/by-name/li/libavif/package.nix b/pkgs/by-name/li/libavif/package.nix
index 79640fb74d30..240a16e0975f 100644
--- a/pkgs/by-name/li/libavif/package.nix
+++ b/pkgs/by-name/li/libavif/package.nix
@@ -2,7 +2,6 @@
   lib,
   stdenv,
   fetchFromGitHub,
-  fetchpatch,
   libaom,
   cmake,
   pkg-config,
@@ -32,29 +31,15 @@ in
 
 stdenv.mkDerivation rec {
   pname = "libavif";
-  version = "1.2.1";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "AOMediaCodec";
     repo = "libavif";
     rev = "v${version}";
-    hash = "sha256-cT8Q/VEJ+r971cbuZX92Gf6UX2kMOyZd4Cs2xMxS0Tw=";
+    hash = "sha256-0J56wpXa2AVh9JUp5UY2kzWijNE3i253RKhpG5oDFJE=";
   };
 
-  # Adjust some tests to pass on aarch64
-  # FIXME: remove in next update
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/AOMediaCodec/libavif/commit/1e9ef51f32fa23bd7a94d8c01d5205334bc9c52f.patch";
-      hash = "sha256-4V7NpuJ+YNm103RMO47TIZaApTm3S6c5RKsjLZFNwYw=";
-    })
-
-    (fetchpatch {
-      url = "https://github.com/AOMediaCodec/libavif/commit/0f1618a25c5eba41b6fec947207d0a32ae3cc6c5.patch";
-      hash = "sha256-ORNhD4QtHmBcOYSajnZn7QMfRC3MF4rgUin/Vw+2ztA=";
-    })
-  ];
-
   postPatch = ''
     substituteInPlace contrib/gdk-pixbuf/avif.thumbnailer.in \
       --replace-fail '@CMAKE_INSTALL_FULL_BINDIR@/gdk-pixbuf-thumbnailer' "$out/libexec/gdk-pixbuf-thumbnailer-avif"
diff --git a/pkgs/by-name/li/libbgcode/package.nix b/pkgs/by-name/li/libbgcode/package.nix
index ddfd37c773e2..5ad44220d625 100644
--- a/pkgs/by-name/li/libbgcode/package.nix
+++ b/pkgs/by-name/li/libbgcode/package.nix
@@ -7,17 +7,17 @@
   heatshrink,
   zlib,
   boost,
-  catch2,
+  catch2_3,
 }:
 stdenv.mkDerivation {
   pname = "libbgcode";
-  version = "2023-11-16";
+  version = "0-unstable-2025-02-19";
 
   src = fetchFromGitHub {
     owner = "prusa3d";
     repo = "libbgcode";
-    rev = "bc390aab4427589a6402b4c7f65cf4d0a8f987ec";
-    hash = "sha256-TZShYeDAh+fNdmTr1Xqctji9f0vEGpNZv1ba/IY5EoY=";
+    rev = "5041c093b33e2748e76d6b326f2251310823f3df";
+    hash = "sha256-EaxVZerH2v8b1Yqk+RW/r3BvnJvrAelkKf8Bd+EHbEc=";
   };
 
   nativeBuildInputs = [
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
     heatshrink
     zlib
     boost
-    catch2
+    catch2_3
   ];
 
   meta = with lib; {
diff --git a/pkgs/by-name/li/libblake3/package.nix b/pkgs/by-name/li/libblake3/package.nix
index 72ce99baa6bc..6e7b9277ebe3 100644
--- a/pkgs/by-name/li/libblake3/package.nix
+++ b/pkgs/by-name/li/libblake3/package.nix
@@ -4,7 +4,7 @@
   cmake,
   fetchFromGitHub,
   fetchpatch,
-  tbb_2021_11,
+  tbb_2021,
 
   useTBB ? true,
 }:
@@ -41,7 +41,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   propagatedBuildInputs = lib.optionals useTBB [
     # 2022.0 crashes on macOS at the moment
-    tbb_2021_11
+    tbb_2021
   ];
 
   cmakeFlags = [
diff --git a/pkgs/by-name/li/libblockdev/package.nix b/pkgs/by-name/li/libblockdev/package.nix
index c44e74aa0e59..d86676412022 100644
--- a/pkgs/by-name/li/libblockdev/package.nix
+++ b/pkgs/by-name/li/libblockdev/package.nix
@@ -2,6 +2,7 @@
   lib,
   stdenv,
   fetchFromGitHub,
+  fetchpatch,
   autoreconfHook,
   pkg-config,
   gtk-doc,
@@ -44,6 +45,14 @@ stdenv.mkDerivation (finalAttrs: {
     hash = "sha256-Q7610i+2PQi+Oza3c2SwPneljrb+1cuFA4K4DQTpt8A=";
   };
 
+  patches = [
+    # CVE-2025-6019: https://www.openwall.com/lists/oss-security/2025/06/17/5
+    (fetchpatch {
+      url = "https://github.com/storaged-project/libblockdev/commit/4e35eb93e4d2672686789b9705623cc4f9f85d02.patch";
+      hash = "sha256-3pQxvbFX6jmT5LCaePoVfvPTNPoTPPhT0GcLaGkVVso=";
+    })
+  ];
+
   outputs = [
     "out"
     "dev"
diff --git a/pkgs/by-name/li/libcollectdclient/package.nix b/pkgs/by-name/li/libcollectdclient/package.nix
index b9247629c574..0d0dac4367b1 100644
--- a/pkgs/by-name/li/libcollectdclient/package.nix
+++ b/pkgs/by-name/li/libcollectdclient/package.nix
@@ -1,24 +1,26 @@
 { lib, collectd }:
 
-collectd.overrideAttrs (oldAttrs: {
+collectd.overrideAttrs (prevAttrs: {
   pname = "libcollectdclient";
+
   buildInputs = [ ];
 
-  configureFlags = (oldAttrs.configureFlags or [ ]) ++ [
+  configureFlags = (prevAttrs.configureFlags or [ ]) ++ [
+    "--with-perl-bindings=no"
     "--disable-daemon"
     "--disable-all-plugins"
   ];
 
   postInstall = "rm -rf $out/{bin,etc,sbin,share}";
 
-  meta = with lib; {
+  meta = {
     description = "C Library for collectd, a daemon which collects system performance statistics periodically";
-    homepage = "http://collectd.org";
-    license = licenses.gpl2;
-    platforms = platforms.linux; # TODO: collectd may be linux but the C client may be more portable?
-    maintainers = [
-      maintainers.sheenobu
-      maintainers.bjornfor
+    homepage = "https://collectd.org";
+    license = lib.licenses.gpl2Plus;
+    platforms = lib.platforms.unix;
+    maintainers = with lib.maintainers; [
+      sheenobu
+      bjornfor
     ];
   };
 })
diff --git a/pkgs/by-name/li/libcouchbase/package.nix b/pkgs/by-name/li/libcouchbase/package.nix
index 295bab16ea77..923a629f6d10 100644
--- a/pkgs/by-name/li/libcouchbase/package.nix
+++ b/pkgs/by-name/li/libcouchbase/package.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libcouchbase";
-  version = "3.3.9";
+  version = "3.3.17";
 
   src = fetchFromGitHub {
     owner = "couchbase";
     repo = "libcouchbase";
     rev = version;
-    sha256 = "sha256-dvXRbAdgb1WmKLijYkx6+js60ZxK1Tl2aTFSF7EpN74=";
+    sha256 = "sha256-YHPfdjt8ME9nkgv6wF9IyEQoT4PpanbAbvcqqWOU+GY=";
   };
 
   cmakeFlags = [ "-DLCB_NO_MOCK=ON" ];
diff --git a/pkgs/by-name/li/libcrossguid/package.nix b/pkgs/by-name/li/libcrossguid/package.nix
index 3a165303f5ad..ac743a2452a7 100644
--- a/pkgs/by-name/li/libcrossguid/package.nix
+++ b/pkgs/by-name/li/libcrossguid/package.nix
@@ -6,13 +6,13 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "lib" + pname + "-" + version;
+  name = "lib" + "crossguid" + "-" + version;
   pname = "crossguid";
   version = "2016-02-21";
 
   src = fetchFromGitHub {
     owner = "graeme-hill";
-    repo = pname;
+    repo = "crossguid";
     rev = "8f399e8bd4252be9952f3dfa8199924cc8487ca4";
     sha256 = "1i29y207qqddvaxbn39pk2fbh3gx8zvdprfp35wasj9rw2wjk3s9";
   };
diff --git a/pkgs/by-name/li/libdeflate/package.nix b/pkgs/by-name/li/libdeflate/package.nix
index f655b4019349..d05c7ec64845 100644
--- a/pkgs/by-name/li/libdeflate/package.nix
+++ b/pkgs/by-name/li/libdeflate/package.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "libdeflate";
-  version = "1.23";
+  version = "1.24";
 
   src = fetchFromGitHub {
     owner = "ebiggers";
     repo = "libdeflate";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-bucVkRgZdzLe2HFzIP+Trq4+FJ5kLYdIVNUiJ2f52zg=";
+    hash = "sha256-IaXXm9VrZ0Pgb3yTh1fPKkifJDvCxvCfTH08Sdho0Ko=";
   };
 
   cmakeFlags = [
diff --git a/pkgs/by-name/li/libdwarf-lite/package.nix b/pkgs/by-name/li/libdwarf-lite/package.nix
deleted file mode 100644
index 7091ac3f9730..000000000000
--- a/pkgs/by-name/li/libdwarf-lite/package.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{
-  lib,
-  stdenv,
-  fetchFromGitHub,
-  cmake,
-}:
-stdenv.mkDerivation (finalAttrs: {
-  pname = "libdwarf-lite";
-  version = "0.12.0";
-
-  src = fetchFromGitHub {
-    owner = "jeremy-rifkin";
-    repo = "libdwarf-lite";
-    rev = "v${finalAttrs.version}";
-    hash = "sha256-/E0aUVEhEy1v4wm2/t5wLck93Xb/RrKMIwqFYpi6BLA=";
-  };
-
-  outputs = [
-    "dev"
-    "lib"
-    "out"
-  ];
-
-  nativeBuildInputs = [ cmake ];
-
-  cmakeFlags = [
-    (lib.cmakeBool "BUILD_DWARFDUMP" false)
-    (lib.cmakeBool "PIC_ALWAYS" true)
-  ];
-
-  meta = {
-    description = "Minimal libdwarf mirror for faster cloning and configuration";
-    homepage = "https://github.com/jeremy-rifkin/libdwarf-lite";
-    license = lib.licenses.lgpl21Only;
-    maintainers = [ ];
-    mainProgram = "libdwarf-lite";
-    platforms = lib.platforms.all;
-  };
-})
diff --git a/pkgs/by-name/li/libdwarf/common.nix b/pkgs/by-name/li/libdwarf/common.nix
deleted file mode 100644
index 39abf711bbb0..000000000000
--- a/pkgs/by-name/li/libdwarf/common.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{
-  lib,
-  stdenv,
-  fetchurl,
-  buildInputs,
-  hash,
-  version,
-  url,
-  knownVulnerabilities,
-}:
-
-stdenv.mkDerivation {
-  pname = "libdwarf";
-  inherit version;
-
-  src = fetchurl {
-    inherit url hash;
-  };
-
-  configureFlags = [
-    "--enable-shared"
-    "--disable-nonshared"
-  ];
-
-  inherit buildInputs;
-
-  outputs = [
-    "bin"
-    "lib"
-    "dev"
-    "out"
-  ];
-
-  meta = {
-    homepage = "https://github.com/davea42/libdwarf-code";
-    platforms = lib.platforms.unix;
-    license = lib.licenses.lgpl21Plus;
-    maintainers = [ lib.maintainers.atry ];
-    inherit knownVulnerabilities;
-  };
-}
diff --git a/pkgs/by-name/li/libdwarf/package.nix b/pkgs/by-name/li/libdwarf/package.nix
index 539940259b58..9c61445ee549 100644
--- a/pkgs/by-name/li/libdwarf/package.nix
+++ b/pkgs/by-name/li/libdwarf/package.nix
@@ -1,16 +1,48 @@
 {
-  callPackage,
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  meson,
+  ninja,
   zlib,
   zstd,
 }:
 
-callPackage ./common.nix rec {
-  version = "0.11.1";
-  url = "https://www.prevanders.net/libdwarf-${version}.tar.xz";
-  hash = "sha512:d927b1d0e8dd1540c2f5da2a9d39b2914bb48225b2b9bdca94e7b36349358e1f537044eadc345f11d75de717fdda07ad99a8a7a5eb45e64fe4c79c37e165012f";
+stdenv.mkDerivation (finalAttrs: {
+  pname = "libdwarf";
+  version = "2.0.0";
+
+  src = fetchFromGitHub {
+    owner = "davea42";
+    repo = "libdwarf-code";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-SsFg+7zGBEGxDSzfiIP5bxdttlBkhEiEQWaU12hINas=";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+  ];
+
   buildInputs = [
     zlib
     zstd
   ];
-  knownVulnerabilities = [ ];
-}
+
+  outputs = [
+    "bin"
+    "lib"
+    "dev"
+    "out"
+  ];
+
+  meta = {
+    description = "Library for reading DWARF2 and later DWARF";
+    mainProgram = "dwarfdump";
+    homepage = "https://github.com/davea42/libdwarf-code";
+    changelog = "https://github.com/davea42/libdwarf-code/releases/tag/v${finalAttrs.version}/CHANGELOG.md";
+    platforms = lib.platforms.unix;
+    license = lib.licenses.lgpl21Plus;
+    maintainers = [ lib.maintainers.atry ];
+  };
+})
diff --git a/pkgs/by-name/li/libe57format/package.nix b/pkgs/by-name/li/libe57format/package.nix
index bf391abd82d8..254ae614ab26 100644
--- a/pkgs/by-name/li/libe57format/package.nix
+++ b/pkgs/by-name/li/libe57format/package.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "libe57format";
-  version = "3.1.1";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "asmaloney";
     repo = "libE57Format";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-bOuWh9Nkxva2v0M6+vnAya8EW/G3WQePxHakQt8T9NE=";
+    hash = "sha256-GyzfJshL2cOTEDp8eR0sqQq4GSnOdskiLi5mY1a2KW0=";
     fetchSubmodules = true; # for submodule-vendored libraries such as `gtest`
   };
 
@@ -23,8 +23,8 @@ stdenv.mkDerivation (finalAttrs: {
   libE57Format-test-data_src = fetchFromGitHub {
     owner = "asmaloney";
     repo = "libE57Format-test-data";
-    rev = "4960564a732c6444c50dfae5b2273e68837399cd";
-    hash = "sha256-k26yVbYSQJ3EMgcpjm35N1OAxarFmfMvzfTN2Hdyu8c=";
+    rev = "2171612112b06afd4fec5babe8837be69d910149";
+    hash = "sha256-JARpxp6Z2VioBfY0pZSyQU2mG/EllbaF3qteSFM9u8o=";
   };
 
   CXXFLAGS = [
@@ -32,16 +32,6 @@ stdenv.mkDerivation (finalAttrs: {
     "-include cstdint"
   ];
 
-  patches = [
-    # TODO: Remove with the next release: https://github.com/asmaloney/libE57Format/pull/299
-    (fetchpatch {
-      name = "libE57Format-Dont-force-warnings-as-errors-when-building-self.patch"; # https://github.com/apache/thrift/pull/2726
-      url = "https://github.com/asmaloney/libE57Format/commit/66bb5af15937b4c10a7f412ca4d1673f42bbad28.patch";
-      hash = "sha256-2cNURjMLP0TijYY5gbuWLE7H/PlMW936wAeOqJ/w9C0=";
-    })
-
-  ];
-
   nativeBuildInputs = [
     cmake
   ];
@@ -51,6 +41,10 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   cmakeFlags = [
+    # Without this, LTO will be enabled, which seems to cause
+    # errors when consumers try to link the `.a` file, see:
+    #     https://github.com/asmaloney/libE57Format/pull/313#issuecomment-2907797367
+    "-DE57_RELEASE_LTO=OFF"
     # See https://github.com/asmaloney/libE57Format/blob/9372bdea8db2cc0c032a08f6d655a53833d484b8/test/README.md
     (
       if finalAttrs.finalPackage.doCheck then
diff --git a/pkgs/by-name/li/libevdevplus/package.nix b/pkgs/by-name/li/libevdevplus/package.nix
index da881c6d8bfa..c89d7faa7865 100644
--- a/pkgs/by-name/li/libevdevplus/package.nix
+++ b/pkgs/by-name/li/libevdevplus/package.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     inherit (src.meta) homepage;
     description = "Easy-to-use event device library in C++";
     license = licenses.mit;
-    maintainers = with maintainers; [ willibutz ];
+    maintainers = [ ];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/by-name/li/libfido2/package.nix b/pkgs/by-name/li/libfido2/package.nix
index 69c6eae7acb1..60c41b852445 100644
--- a/pkgs/by-name/li/libfido2/package.nix
+++ b/pkgs/by-name/li/libfido2/package.nix
@@ -16,12 +16,12 @@
 
 stdenv.mkDerivation rec {
   pname = "libfido2";
-  version = "1.15.0";
+  version = "1.16.0";
 
   # releases on https://developers.yubico.com/libfido2/Releases/ are signed
   src = fetchurl {
     url = "https://developers.yubico.com/${pname}/Releases/${pname}-${version}.tar.gz";
-    hash = "sha256-q6qxMY0h0mLs5Bb7inEy+pN0vaifb6UrhqmKL1cSth4=";
+    hash = "sha256-jCtvsnm1tC6aySrecYMuSFhSZHtTYHxDuqr7vOzqBOQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/li/libflowmanager/package.nix b/pkgs/by-name/li/libflowmanager/package.nix
new file mode 100644
index 000000000000..b57b95f20337
--- /dev/null
+++ b/pkgs/by-name/li/libflowmanager/package.nix
@@ -0,0 +1,44 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  autoreconfHook,
+  pkg-config,
+  bison,
+  flex,
+  libtrace,
+  nix-update-script,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "libflowmanager";
+  version = "3.0.0-3";
+
+  src = fetchFromGitHub {
+    owner = "LibtraceTeam";
+    repo = "libflowmanager";
+    tag = finalAttrs.version;
+    hash = "sha256-lQo8F4w+tu0DZgt0pnbEpwcL6buVbAuFoxtwGFXuGX4=";
+  };
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    autoreconfHook
+    pkg-config
+    bison
+    flex
+  ];
+  buildInputs = [ libtrace ];
+
+  passthru.updateScript = nix-update-script { extraArgs = [ "--version-regex=^([0-9.-]+)$" ]; };
+
+  meta = {
+    description = "Library for assigning network packets to flows based on the standard 5-tuple";
+    homepage = "https://github.com/LibtraceTeam/libflowmanager";
+    changelog = "https://github.com/LibtraceTeam/libflowmanager/releases/tag/${finalAttrs.version}";
+    license = lib.licenses.lgpl3Plus;
+    maintainers = with lib.maintainers; [ felbinger ];
+    platforms = lib.platforms.unix;
+  };
+})
diff --git a/pkgs/by-name/li/libfprint-focaltech-2808-a658/package.nix b/pkgs/by-name/li/libfprint-focaltech-2808-a658/package.nix
index 41b7b3129ce3..f112bc9e5b90 100644
--- a/pkgs/by-name/li/libfprint-focaltech-2808-a658/package.nix
+++ b/pkgs/by-name/li/libfprint-focaltech-2808-a658/package.nix
@@ -100,5 +100,6 @@ stdenv.mkDerivation rec {
     maintainers = [ lib.maintainers.imsick ];
     platforms = [ "x86_64-linux" ];
     sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
+    broken = true; # needs older version of fprintd (v1.94.4)
   };
 }
diff --git a/pkgs/by-name/li/libgig/package.nix b/pkgs/by-name/li/libgig/package.nix
index b292d314c195..a9daf5e2ddb7 100644
--- a/pkgs/by-name/li/libgig/package.nix
+++ b/pkgs/by-name/li/libgig/package.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libgig";
-  version = "4.4.1";
+  version = "4.5.0";
 
   src = fetchurl {
     url = "https://download.linuxsampler.org/packages/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-/cie+rH5BhKObFRymWdXfo0EYgFwGLwSVRJX313+OqQ=";
+    sha256 = "sha256-CHnSi5tjktpZhYJtvdjZyVeyoDKi8QGQUGrvLiLzxUo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/li/libglycin/package.nix b/pkgs/by-name/li/libglycin/package.nix
new file mode 100644
index 000000000000..f59e81215cb4
--- /dev/null
+++ b/pkgs/by-name/li/libglycin/package.nix
@@ -0,0 +1,95 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitLab,
+  meson,
+  ninja,
+  pkg-config,
+  rustc,
+  cargo,
+  rustPlatform,
+  vala,
+  gi-docgen,
+  libseccomp,
+  lcms2,
+  gtk4,
+  gobject-introspection,
+  gnome,
+  buildPackages,
+  withIntrospection ?
+    lib.meta.availableOn stdenv.hostPlatform gobject-introspection
+    && stdenv.hostPlatform.emulatorAvailable buildPackages,
+}:
+stdenv.mkDerivation (finalAttrs: {
+  pname = "libglycin";
+  version = "1.2.1";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    owner = "GNOME";
+    repo = "glycin";
+    tag = finalAttrs.version;
+    hash = "sha256-M4DcWLE40OPB7zIkv4uLj6xTac3LTDcZ2uAO2S/cUz4=";
+  };
+
+  nativeBuildInputs =
+    [
+      meson
+      ninja
+      pkg-config
+      rustc
+      cargo
+      rustPlatform.cargoSetupHook
+    ]
+    ++ lib.optionals withIntrospection [
+      vala
+      gi-docgen
+    ];
+
+  cargoDeps = rustPlatform.fetchCargoVendor {
+    inherit (finalAttrs) pname version src;
+    hash = "sha256-iNSpLvIi3oZKSRlkwkDJp5i8MdixRvmWIOCzbFHIdHw=";
+  };
+
+  buildInputs = [
+    libseccomp
+    lcms2
+    gtk4
+  ] ++ lib.optionals withIntrospection [ gobject-introspection ];
+
+  propagatedBuildInputs = [
+    libseccomp
+    lcms2
+  ];
+
+  mesonFlags = [
+    (lib.mesonBool "glycin-loaders" false)
+    (lib.mesonBool "libglycin" true)
+    (lib.mesonBool "introspection" withIntrospection)
+    (lib.mesonBool "vapi" withIntrospection)
+    (lib.mesonBool "capi_docs" withIntrospection)
+  ];
+
+  passthru = {
+    updateScript = gnome.updateScript {
+      attrPath = "libglycin";
+      packageName = "glycin";
+    };
+  };
+
+  meta = {
+    description = "Sandboxed and extendable image loading library";
+    homepage = "https://gitlab.gnome.org/GNOME/glycin";
+    changelog = "https://gitlab.gnome.org/GNOME/glycin/-/tags/${finalAttrs.version}";
+    license = with lib.licenses; [
+      mpl20 # or
+      lgpl21Plus
+    ];
+    maintainers = with lib.maintainers; [ normalcea ];
+    platforms = lib.platforms.linux;
+    pkgConfigModules = [
+      "glycin-1"
+      "glycin-gtk4-1"
+    ];
+  };
+})
diff --git a/pkgs/by-name/li/libguestfs/package.nix b/pkgs/by-name/li/libguestfs/package.nix
index a8285960a55a..229183b0dd4c 100644
--- a/pkgs/by-name/li/libguestfs/package.nix
+++ b/pkgs/by-name/li/libguestfs/package.nix
@@ -35,6 +35,7 @@
   jansson,
   getopt,
   perlPackages,
+  python3,
   ocamlPackages,
   libtirpc,
   appliance ? null,
@@ -67,6 +68,8 @@ stdenv.mkDerivation (finalAttrs: {
       gperf
       makeWrapper
       pkg-config
+      python3
+      python3.pkgs.pycodestyle
       qemu
       zstd
     ]
@@ -103,6 +106,7 @@ stdenv.mkDerivation (finalAttrs: {
     numactl
     libapparmor
     perlPackages.ModuleBuild
+    python3
     libtirpc
     zstd
     ocamlPackages.ocamlbuild
@@ -120,6 +124,7 @@ stdenv.mkDerivation (finalAttrs: {
     "--enable-install-daemon"
     "--disable-appliance"
     "--with-distro=NixOS"
+    "--with-python-installdir=${placeholder "out"}/${python3.sitePackages}"
     "--with-readline"
     "CPPFLAGS=-I${lib.getDev libxml2}/include/libxml2"
     "INSTALL_OCAMLLIB=${placeholder "out"}/lib/ocaml"
diff --git a/pkgs/by-name/li/libks/package.nix b/pkgs/by-name/li/libks/package.nix
index a83011a56fa1..2e71d40abf8e 100644
--- a/pkgs/by-name/li/libks/package.nix
+++ b/pkgs/by-name/li/libks/package.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libks";
-  version = "2.0.6";
+  version = "2.0.7";
 
   src = fetchFromGitHub {
     owner = "signalwire";
     repo = "libks";
     rev = "v${version}";
-    sha256 = "sha256-zKL+ukAdKiCC4wh55hnZpebFraIdKWDFsRfhVzhUNj0=";
+    sha256 = "sha256-fiBemt71UJgN0RryGmGiK7sob1xbdmSOArEGt5Pg5YM=";
   };
 
   patches = [
diff --git a/pkgs/by-name/li/liblcf/package.nix b/pkgs/by-name/li/liblcf/package.nix
index 71e4fb69a3b9..4b4fe0083864 100644
--- a/pkgs/by-name/li/liblcf/package.nix
+++ b/pkgs/by-name/li/liblcf/package.nix
@@ -2,24 +2,28 @@
   lib,
   stdenv,
   fetchFromGitHub,
+  nix-update-script,
   autoreconfHook,
   pkg-config,
   expat,
   icu74,
+  inih,
 }:
 
 stdenv.mkDerivation rec {
   pname = "liblcf";
-  version = "0.8";
+  # When updating this package, you should probably also update
+  # easyrpg-player and libretro.easyrpg
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "EasyRPG";
     repo = "liblcf";
     rev = version;
-    hash = "sha256-jJGIsNw7wplTL5FBWGL8osb9255o9ZaWgl77R+RLDMM=";
+    hash = "sha256-jIk55+n8wSk3Z3FPR18SE7U3OuWwmp2zJgvSZQBB2l0=";
   };
 
-  dtrictDeps = true;
+  strictDeps = true;
 
   nativeBuildInputs = [
     autoreconfHook
@@ -29,6 +33,7 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs = [
     expat
     icu74
+    inih
   ];
 
   enableParallelBuilding = true;
@@ -36,6 +41,8 @@ stdenv.mkDerivation rec {
 
   doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
 
+  passthru.updateScript = nix-update-script { };
+
   meta = with lib; {
     description = "Library to handle RPG Maker 2000/2003 and EasyRPG projects";
     homepage = "https://github.com/EasyRPG/liblcf";
diff --git a/pkgs/by-name/li/liblockfile/package.nix b/pkgs/by-name/li/liblockfile/package.nix
index 7d1d1b576933..50e3b308e016 100644
--- a/pkgs/by-name/li/liblockfile/package.nix
+++ b/pkgs/by-name/li/liblockfile/package.nix
@@ -27,8 +27,6 @@ stdenv.mkDerivation rec {
     mainProgram = "dotlockfile";
     homepage = "http://packages.debian.org/unstable/libs/liblockfile1";
     license = lib.licenses.gpl2Plus;
-
-    maintainers = [ lib.maintainers.bluescreen303 ];
     platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/by-name/li/liblognorm/package.nix b/pkgs/by-name/li/liblognorm/package.nix
index 68c757de75e8..0075d0fe5a85 100644
--- a/pkgs/by-name/li/liblognorm/package.nix
+++ b/pkgs/by-name/li/liblognorm/package.nix
@@ -9,13 +9,13 @@
   fastJson,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "liblognorm";
   version = "2.0.6";
 
   src = fetchurl {
-    url = "http://www.liblognorm.com/files/download/liblognorm-${version}.tar.gz";
-    sha256 = "1wpn15c617r7lfm1z9d5aggmmi339s6yn4pdz698j0r2bkl5gw6g";
+    url = "http://www.liblognorm.com/files/download/liblognorm-${finalAttrs.version}.tar.gz";
+    hash = "sha256-z/BX6FwiA4mS+e0S641OY8Ra31OlpR+qoyefYFgJ9vI=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -28,11 +28,11 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--enable-regexp" ];
 
-  meta = with lib; {
+  meta = {
     description = "Help to make sense out of syslog data, or, actually, any event data that is present in text form";
     homepage = "https://www.liblognorm.com/";
-    license = licenses.lgpl21;
+    license = lib.licenses.lgpl21;
     mainProgram = "lognormalizer";
-    platforms = platforms.all;
+    platforms = lib.platforms.all;
   };
-}
+})
diff --git a/pkgs/by-name/li/libloot/package.nix b/pkgs/by-name/li/libloot/package.nix
index 1f1277715e67..97ffa6940c36 100644
--- a/pkgs/by-name/li/libloot/package.nix
+++ b/pkgs/by-name/li/libloot/package.nix
@@ -18,7 +18,7 @@
   gtest,
   icu,
   spdlog,
-  tbb_2021_11,
+  tbb_2021,
   yaml-cpp,
 }:
 
@@ -70,7 +70,7 @@ stdenv.mkDerivation (finalAttrs: {
     gtest
     icu
     (spdlog.override { fmt = fmt_11; })
-    tbb_2021_11
+    tbb_2021
 
     finalAttrs.passthru.yaml-cpp # has merge-key support
     finalAttrs.passthru.libloadorder
diff --git a/pkgs/by-name/li/libmsquic/package.nix b/pkgs/by-name/li/libmsquic/package.nix
index aadf93bacc88..cdaea8883174 100644
--- a/pkgs/by-name/li/libmsquic/package.nix
+++ b/pkgs/by-name/li/libmsquic/package.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "libmsquic";
-  version = "2.4.11";
+  version = "2.4.12";
 
   src = fetchFromGitHub {
     owner = "microsoft";
     repo = "msquic";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-ZI5tutVYs3myjRdsXGOq48F9fce2YUsMcI1Sqg7nyh0=";
+    hash = "sha256-zWg5h5+wguBiAYPN8nZU/lQv1do2b87yyvuFm3445Ys=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/by-name/li/libnghttp2_asio/package.nix b/pkgs/by-name/li/libnghttp2_asio/package.nix
index 74e2ec56c6bb..4fe8889e16b2 100644
--- a/pkgs/by-name/li/libnghttp2_asio/package.nix
+++ b/pkgs/by-name/li/libnghttp2_asio/package.nix
@@ -5,12 +5,12 @@
   cmake,
   nghttp2,
   openssl,
-  boost,
+  boost186,
 }:
 
 stdenv.mkDerivation {
   pname = "libnghttp2_asio";
-  version = "unstable-2022-08-11";
+  version = "0-unstable-2022-08-11";
 
   outputs = [
     "out"
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
   ];
 
   buildInputs = [
-    boost
+    boost186
     nghttp2
     openssl
   ];
diff --git a/pkgs/by-name/li/libplacebo/package.nix b/pkgs/by-name/li/libplacebo/package.nix
index b535c4c3a68e..4f95dedd5683 100644
--- a/pkgs/by-name/li/libplacebo/package.nix
+++ b/pkgs/by-name/li/libplacebo/package.nix
@@ -2,7 +2,6 @@
   lib,
   stdenv,
   fetchFromGitLab,
-  fetchpatch,
   meson,
   ninja,
   pkg-config,
@@ -32,17 +31,6 @@ stdenv.mkDerivation rec {
     hash = "sha256-ccoEFpp6tOFdrfMyE0JNKKMAdN4Q95tP7j7vzUj+lSQ=";
   };
 
-  patches = [
-    # Breaks mpv vulkan shaders:
-    #   https://code.videolan.org/videolan/libplacebo/-/issues/335
-    (fetchpatch {
-      name = "fix-shaders.patch";
-      url = "https://github.com/haasn/libplacebo/commit/4c6d99edee23284f93b07f0f045cd660327465eb.patch";
-      revert = true;
-      hash = "sha256-zoCgd9POlhFTEOzQmSHFZmJXgO8Zg/f9LtSTSQq5nUA=";
-    })
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
diff --git a/pkgs/by-name/li/libprotoident/package.nix b/pkgs/by-name/li/libprotoident/package.nix
new file mode 100644
index 000000000000..6ae065b9b169
--- /dev/null
+++ b/pkgs/by-name/li/libprotoident/package.nix
@@ -0,0 +1,48 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  autoreconfHook,
+  pkg-config,
+  bison,
+  flex,
+  libtrace,
+  libflowmanager,
+  nix-update-script,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "libprotoident";
+  version = "2.0.15-2";
+
+  src = fetchFromGitHub {
+    owner = "LibtraceTeam";
+    repo = "libprotoident";
+    tag = finalAttrs.version;
+    hash = "sha256-XiZ/UqF11eeeGudNXJqtTfPn5xWvHPKPrgqV7iHii0M=";
+  };
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    autoreconfHook
+    pkg-config
+    bison
+    flex
+  ];
+  buildInputs = [
+    libtrace
+    libflowmanager
+  ];
+
+  passthru.updateScript = nix-update-script { extraArgs = [ "--version-regex=^([0-9.-]+)$" ]; };
+
+  meta = {
+    description = "Network traffic classification library that requires minimal application payload";
+    homepage = "https://github.com/LibtraceTeam/libprotoident";
+    changelog = "https://github.com/LibtraceTeam/libprotoident/releases/tag/${finalAttrs.version}";
+    license = lib.licenses.lgpl3Plus;
+    maintainers = with lib.maintainers; [ felbinger ];
+    platforms = lib.platforms.unix;
+  };
+})
diff --git a/pkgs/by-name/li/libqalculate/package.nix b/pkgs/by-name/li/libqalculate/package.nix
index 1df23ea66396..66fccfc6152f 100644
--- a/pkgs/by-name/li/libqalculate/package.nix
+++ b/pkgs/by-name/li/libqalculate/package.nix
@@ -14,7 +14,15 @@
   libxml2,
   mpfr,
   icu,
+  # Upstream's `plot` UX is not ideal - it doesn't write a good message
+  # suggesting the user to install this optional dependency when they write
+  # `plot(..)`. Not to mention support for non-x dependent `gnuplot_qt`
+  # executable. Hence we hardcode a path to a gnuplot binary by default, and
+  # changing this is possible via putting an empty string as a `gnuplotBinary`
+  # - to let `libqalculate` pick it from $PATH during runtime. See also:
+  # https://github.com/Qalculate/libqalculate/issues/796
   gnuplot,
+  gnuplotBinary ? lib.getExe gnuplot,
 }:
 
 stdenv.mkDerivation (finalAttrs: {
@@ -24,7 +32,7 @@ stdenv.mkDerivation (finalAttrs: {
   src = fetchFromGitHub {
     owner = "qalculate";
     repo = "libqalculate";
-    rev = "v${finalAttrs.version}";
+    tag = "v${finalAttrs.version}";
     hash = "sha256-sjVvsgDQbKXU+N7JrA36zezDfAGcDbyQ0fn1zMThYXQ=";
   };
 
@@ -61,16 +69,11 @@ stdenv.mkDerivation (finalAttrs: {
     intltoolize -f
   '';
 
-  patchPhase =
-    ''
-      substituteInPlace libqalculate/Calculator-plot.cc \
-        --replace 'commandline = "gnuplot"' 'commandline = "${gnuplot}/bin/gnuplot"' \
-        --replace '"gnuplot - ' '"${gnuplot}/bin/gnuplot - '
-    ''
-    + lib.optionalString stdenv.cc.isClang ''
-      substituteInPlace src/qalc.cc \
-        --replace 'printf(_("aborted"))' 'printf("%s", _("aborted"))'
-    '';
+  postPatch = lib.optionalString (gnuplotBinary != "") ''
+    substituteInPlace libqalculate/Calculator-plot.cc \
+      --replace-fail 'commandline = "gnuplot"' 'commandline = "${gnuplotBinary}"' \
+      --replace-fail '"gnuplot - ' '"${gnuplotBinary} - '
+  '';
 
   preBuild = ''
     pushd docs/reference
@@ -78,15 +81,15 @@ stdenv.mkDerivation (finalAttrs: {
     popd
   '';
 
-  meta = with lib; {
+  meta = {
     description = "Advanced calculator library";
     homepage = "http://qalculate.github.io";
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [
+    license = lib.licenses.gpl2Plus;
+    maintainers = with lib.maintainers; [
       doronbehar
       pentane
     ];
     mainProgram = "qalc";
-    platforms = platforms.all;
+    platforms = lib.platforms.all;
   };
 })
diff --git a/pkgs/by-name/li/librashader/package.nix b/pkgs/by-name/li/librashader/package.nix
index 12e49d5c5919..cdb4fa85d3de 100644
--- a/pkgs/by-name/li/librashader/package.nix
+++ b/pkgs/by-name/li/librashader/package.nix
@@ -8,13 +8,13 @@
 
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "librashader";
-  version = "0.6.2";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "SnowflakePowered";
     repo = "librashader";
     tag = "librashader-v${finalAttrs.version}";
-    hash = "sha256-zkvCpQ5Cq3sDOspc12/gPmNi6hn/nBe1UfWrMGi/o0Q=";
+    hash = "sha256-S0EZES4KLL52UT6ub9GVGl/n2gWxmoxazwZr7oEMTHo=";
   };
 
   patches = [
@@ -22,13 +22,11 @@ rustPlatform.buildRustPackage (finalAttrs: {
   ];
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-9rwrbCt/obrKlRDWzzc1hm6ywHubz5x6Ujm2JMso0vg=";
-
-  RUSTC_BOOTSTRAP = 1;
+  cargoHash = "sha256-fKYpRvH8zt7GeiaBf1oZHBY4WSCVQzZ0Ca7Q3ek6QE0=";
 
   buildPhase = ''
     runHook preBuild
-    cargo run -p librashader-build-script -- --profile optimized
+    cargo run -p librashader-build-script -- --profile optimized --stable
     runHook postBuild
   '';
 
@@ -54,7 +52,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
         ''
     )
     + ''
-      install -m644 librashader.h -t $out/include/librashader
+      install -m644 ../../include/librashader.h -t $out/include/librashader
       install -m644 ../../include/librashader_ld.h -t $out/include/librashader
       runHook postInstall
     '';
diff --git a/pkgs/by-name/li/libraw/package.nix b/pkgs/by-name/li/libraw/package.nix
index b16a69fea358..f47a7c5b0119 100644
--- a/pkgs/by-name/li/libraw/package.nix
+++ b/pkgs/by-name/li/libraw/package.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libraw";
-  version = "0.21.3";
+  version = "0.21.4";
 
   src = fetchFromGitHub {
     owner = "LibRaw";
     repo = "LibRaw";
     rev = version;
-    hash = "sha256-QFyRQ0V7din/rnkRvEWf521kSzN7HwJ3kZiQ43PAmVI=";
+    hash = "sha256-JAGIM7A9RbK22F8KczRcb+29t4fDDXzoCA3a4s/z6Q8=";
   };
 
   outputs = [
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
   '';
 
   passthru.tests = {
-    inherit imagemagick hdrmerge freeimage;
+    inherit imagemagick hdrmerge; # freeimage
     inherit (python3.pkgs) rawkit;
   };
 
diff --git a/pkgs/by-name/li/librespeed-cli/package.nix b/pkgs/by-name/li/librespeed-cli/package.nix
index 893183bee5d8..b2a64f0fdbcb 100644
--- a/pkgs/by-name/li/librespeed-cli/package.nix
+++ b/pkgs/by-name/li/librespeed-cli/package.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "librespeed-cli";
-  version = "1.0.10";
+  version = "1.0.12";
 
   src = fetchFromGitHub {
     owner = "librespeed";
     repo = "speedtest-cli";
     tag = "v${version}";
-    hash = "sha256-LFGlKYWUaHi/byoRPD6zsdr0U5r0zWxxRa2NJNB2yb8=";
+    hash = "sha256-njaQ/Be5rDCqkZJkij0nRi8aIO5uZYo8t3BjIcdKoCM=";
   };
 
-  vendorHash = "sha256-psZyyySpY06J+ji+9uHUtX7Ks1hzZC3zINszYP75NfQ=";
+  vendorHash = "sha256-dmaq9+0FjqYh2ZLg8bu8cPJZ9QClcvwid1nmsftmrf0=";
 
   # Tests have additional requirements
   doCheck = false;
diff --git a/pkgs/by-name/li/libretro-shaders-slang/package.nix b/pkgs/by-name/li/libretro-shaders-slang/package.nix
index ff39c9c8fa65..7e05c3a808da 100644
--- a/pkgs/by-name/li/libretro-shaders-slang/package.nix
+++ b/pkgs/by-name/li/libretro-shaders-slang/package.nix
@@ -7,13 +7,13 @@
 
 stdenvNoCC.mkDerivation {
   pname = "libretro-shaders-slang";
-  version = "0-unstable-2025-05-20";
+  version = "0-unstable-2025-06-14";
 
   src = fetchFromGitHub {
     owner = "libretro";
     repo = "slang-shaders";
-    rev = "8c630e0d3234d93b6c2bc847371f86aa4e535686";
-    hash = "sha256-BDxgVBWDUYgSvEl9dn/PB8c4ceYgM1Bo4aEzvqwTaYA=";
+    rev = "536b12633d56ae38cdc440a9804e9f245728bec1";
+    hash = "sha256-rf8wul91X9My9RPAr1iPdV/eTuTQzF3R60TjR+NcUNE=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/by-name/li/librewolf-bin-unwrapped/package.nix b/pkgs/by-name/li/librewolf-bin-unwrapped/package.nix
index fd1e5e3268de..fe84f2d0e21e 100644
--- a/pkgs/by-name/li/librewolf-bin-unwrapped/package.nix
+++ b/pkgs/by-name/li/librewolf-bin-unwrapped/package.nix
@@ -37,7 +37,7 @@ let
 
   pname = "librewolf-bin-unwrapped";
 
-  version = "139.0-1";
+  version = "139.0.4-1";
 in
 
 stdenv.mkDerivation {
@@ -47,9 +47,9 @@ stdenv.mkDerivation {
     url = "https://gitlab.com/api/v4/projects/44042130/packages/generic/librewolf/${version}/librewolf-${version}-${arch}-package.tar.xz";
     hash =
       {
-        i686-linux = "sha256-nWJRYEmjX8aE9zSuLU1FMg4FeZuDiC1eu+nxIRPhlNE=";
-        x86_64-linux = "sha256-2PmN18Rda0KeguQRsd5sZr3TRS8cEkTY21WhxxahCFc=";
-        aarch64-linux = "sha256-EzgGhIrS/D6IEylrhX0uvpSkWte/mHMyUYjXsm0PUn8=";
+        i686-linux = "sha256-JE/BaRr/idpGuKkNxN9syOLGddnT1jlvnP8LNkHUNXw=";
+        x86_64-linux = "sha256-kENor/EGKgeCltiJSn03JMpJAtHaHAsuHzWTU2Yx3+Y=";
+        aarch64-linux = "sha256-VYVicoH45aFXx8rJu//0ycI579f0Nc1PLj2VdL6vPNo=";
       }
       .${stdenv.hostPlatform.system} or throwSystem;
   };
diff --git a/pkgs/by-name/li/libs3/package.nix b/pkgs/by-name/li/libs3/package.nix
index 03519d6c4f78..623e0318cbbc 100644
--- a/pkgs/by-name/li/libs3/package.nix
+++ b/pkgs/by-name/li/libs3/package.nix
@@ -25,6 +25,11 @@ stdenv.mkDerivation {
       url = "https://github.com/bji/libs3/pull/112/commits/3c3a1cf915e62b730db854d8007ba835cb38677c.patch";
       hash = "sha256-+rWRh8dOznHlamc/T9qbgN0E2Rww3Hn94UeErxNDccs=";
     })
+    (fetchpatch {
+      # Fix compilation with new curl
+      url = "https://github.com/bji/libs3/pull/115/commits/01c8c216128f49936ee3fcf7b66905f8813ea0bd.diff";
+      hash = "sha256-/8lv+Mi9XtEVlZV/sypp4AY4Wxd7XmKt3S6Q7KCxw6I=";
+    })
   ];
 
   postPatch = ''
diff --git a/pkgs/by-name/li/libslirp/fix-dns-for-darwin.patch b/pkgs/by-name/li/libslirp/fix-dns-for-darwin.patch
new file mode 100644
index 000000000000..f6e1a8c1b519
--- /dev/null
+++ b/pkgs/by-name/li/libslirp/fix-dns-for-darwin.patch
@@ -0,0 +1,46 @@
+From 735904142f95d0500c0eae6bf763e4ad24b6b9fd Mon Sep 17 00:00:00 2001
+From: Samuel Thibault 
+Date: Wed, 26 Mar 2025 08:42:35 +0100
+Subject: [PATCH] apple: Fix getting IPv4 DNS server address when IPv4 and IPv4
+ are interleaved
+
+When getting an IPv4 DNS server address, if libresolv returns
+
+IPv4
+IPv6
+IPv4
+IPv6
+
+(or just IPv4 and IPv6)
+
+we would still have found == 1 on the second iteration and thus take the
+IPv6 even if it's not the proper af. We can as well just completely ignore
+the non-matching af entries.
+
+Fixes #85
+---
+ src/slirp.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/src/slirp.c b/src/slirp.c
+index bccee53..62a018a 100644
+--- a/src/slirp.c
++++ b/src/slirp.c
+@@ -289,9 +289,12 @@ static int get_dns_addr_libresolv(int af, void *pdns_addr, void *cached_addr,
+     found = 0;
+     DEBUG_MISC("IP address of your DNS(s):");
+     for (int i = 0; i < count; i++) {
+-        if (af == servers[i].sin.sin_family) {
+-            found++;
++        if (af != servers[i].sin.sin_family) {
++            continue;
+         }
++
++        found++;
++
+         if (af == AF_INET) {
+             addr = &servers[i].sin.sin_addr;
+         } else { // af == AF_INET6
+-- 
+GitLab
+
diff --git a/pkgs/by-name/li/libslirp/package.nix b/pkgs/by-name/li/libslirp/package.nix
index 1070b00f8195..98a73e4109fe 100644
--- a/pkgs/by-name/li/libslirp/package.nix
+++ b/pkgs/by-name/li/libslirp/package.nix
@@ -20,6 +20,12 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-Eqdw6epFkLv4Dnw/s1pcKW0P70ApZwx/J2VkCwn50Ew=";
   };
 
+  patches = [
+    # https://gitlab.freedesktop.org/slirp/libslirp/-/commit/735904142f95d0500c0eae6bf763e4ad24b6b9fd
+    # Vendorized due to frequent instability of the upstream repository.
+    ./fix-dns-for-darwin.patch
+  ];
+
   separateDebugInfo = true;
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/li/libspng/package.nix b/pkgs/by-name/li/libspng/package.nix
index 15d8d7cf2a64..3e8b69041e93 100644
--- a/pkgs/by-name/li/libspng/package.nix
+++ b/pkgs/by-name/li/libspng/package.nix
@@ -21,6 +21,13 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-BiRuPQEKVJYYgfUsglIuxrBoJBFiQ0ygQmAFrVvCz4Q=";
   };
 
+  # disable two tests broken after libpng update
+  # https://github.com/randy408/libspng/issues/276
+  postPatch = ''
+    cat tests/images/meson.build | grep -v "'ch1n3p04'" | grep -v "'ch2n3p08'" > tests/images/meson.build-patched
+    mv tests/images/meson.build-patched tests/images/meson.build
+  '';
+
   doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
 
   mesonBuildType = "release";
diff --git a/pkgs/by-name/li/libsystemtap/package.nix b/pkgs/by-name/li/libsystemtap/package.nix
index 5b6b66cc0512..e79d852912af 100644
--- a/pkgs/by-name/li/libsystemtap/package.nix
+++ b/pkgs/by-name/li/libsystemtap/package.nix
@@ -41,6 +41,6 @@ stdenv.mkDerivation {
     license = licenses.bsd3;
     platforms = elfutils.meta.platforms or platforms.unix;
     badPlatforms = elfutils.meta.badPlatforms or [ ];
-    maintainers = [ lib.maintainers.farlion ];
+    maintainers = [ lib.maintainers.workflow ];
   };
 }
diff --git a/pkgs/by-name/li/libtheora/package.nix b/pkgs/by-name/li/libtheora/package.nix
index 63a7096e8c8d..74c5b0691a9a 100644
--- a/pkgs/by-name/li/libtheora/package.nix
+++ b/pkgs/by-name/li/libtheora/package.nix
@@ -1,11 +1,12 @@
 {
   lib,
   stdenv,
-  fetchurl,
+  fetchFromGitHub,
   autoreconfHook,
   libogg,
   libvorbis,
   pkg-config,
+  perl,
   testers,
   validatePkgConfig,
 }:
@@ -14,13 +15,19 @@ stdenv.mkDerivation (finalAttrs: {
   pname = "libtheora";
   version = "1.2.0";
 
-  src = fetchurl {
-    url = "https://downloads.xiph.org/releases/theora/libtheora-${finalAttrs.version}.tar.gz";
-    hash = "sha256-J5MnM5kDtUTCipKurafQ3P0Dl7WcLzaMxpisVvUVkG4=";
+  src = fetchFromGitHub {
+    owner = "xiph";
+    repo = "theora";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-kzZh4V6wZX9MetDutuqjRenmdpy4PHaRU9MgtIwPpiU=";
   };
 
   patches = lib.optionals stdenv.hostPlatform.isMinGW [ ./mingw-remove-export.patch ];
 
+  postPatch = lib.optionalString stdenv.hostPlatform.isArmv7 ''
+    patchShebangs lib/arm/arm2gnu.pl
+  '';
+
   configureFlags = [ "--disable-examples" ];
 
   outputs = [
@@ -30,17 +37,24 @@ stdenv.mkDerivation (finalAttrs: {
   ];
   outputDoc = "devdoc";
 
-  nativeBuildInputs = [
-    autoreconfHook
-    pkg-config
-    validatePkgConfig
-  ];
+  nativeBuildInputs =
+    [
+      autoreconfHook
+      pkg-config
+      validatePkgConfig
+    ]
+    ++ lib.optionals stdenv.hostPlatform.isArmv7 [
+      # Needed to run lib/arm/arm2gnu.pl for ARM assembly optimizations
+      perl
+    ];
 
   propagatedBuildInputs = [
     libogg
     libvorbis
   ];
 
+  strictDeps = true;
+
   passthru = {
     tests.pkg-config = testers.hasPkgConfigModules {
       package = finalAttrs.finalPackage;
diff --git a/pkgs/by-name/li/libtlsrpt/package.nix b/pkgs/by-name/li/libtlsrpt/package.nix
new file mode 100644
index 000000000000..ba0a7670a037
--- /dev/null
+++ b/pkgs/by-name/li/libtlsrpt/package.nix
@@ -0,0 +1,37 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  autoreconfHook,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "libtlsrpt";
+  version = "0.5.0";
+
+  outputs = [
+    "out"
+    "dev"
+    "man"
+  ];
+
+  src = fetchFromGitHub {
+    owner = "sys4";
+    repo = "libtlsrpt";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-h7bWxxllKFj8+/FfC4yHSmz+Qij1BcgV4OCQZr1OkA8=";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  separateDebugInfo = true;
+
+  meta = {
+    description = "Low-level C Library to implement TLSRPT into a MTA";
+    homepage = "https://github.com/sys4/libtlsrpt";
+    changelog = "https://github.com/sys4/libtlsrpt/blob/${finalAttrs.src.tag}/CHANGELOG.md";
+    license = lib.licenses.lgpl3Plus;
+    maintainers = with lib.maintainers; [ hexa ];
+    platforms = lib.platforms.all;
+  };
+})
diff --git a/pkgs/by-name/li/libtorrent/package.nix b/pkgs/by-name/li/libtorrent/package.nix
index 1b5ff8e0c9d3..eeca7cc91cf7 100644
--- a/pkgs/by-name/li/libtorrent/package.nix
+++ b/pkgs/by-name/li/libtorrent/package.nix
@@ -4,7 +4,6 @@
   lib,
   stdenv,
   fetchFromGitHub,
-  autoconf-archive,
   autoreconfHook,
   cppunit,
   openssl,
@@ -13,19 +12,18 @@
   gitUpdater,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "rakshasa-libtorrent";
-  version = "0.15.1";
+  version = "0.15.4";
 
   src = fetchFromGitHub {
     owner = "rakshasa";
     repo = "libtorrent";
-    rev = "v${version}";
-    hash = "sha256-ejDne7vaV+GYP6M0n3VAEva4UHuxRGwfc2rgxf7U/EM=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-EtT1g8fo2XRVO7pGUThoEklxpYKPI7OWwCZ2vVV73k4=";
   };
 
   nativeBuildInputs = [
-    autoconf-archive
     autoreconfHook
     pkg-config
   ];
@@ -53,4 +51,4 @@ stdenv.mkDerivation rec {
     ];
     platforms = lib.platforms.unix;
   };
-}
+})
diff --git a/pkgs/by-name/li/libtrace/package.nix b/pkgs/by-name/li/libtrace/package.nix
new file mode 100644
index 000000000000..700f98edf0f7
--- /dev/null
+++ b/pkgs/by-name/li/libtrace/package.nix
@@ -0,0 +1,54 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  autoreconfHook,
+  pkg-config,
+  bison,
+  flex,
+  zlib,
+  bzip2,
+  xz,
+  libpcap,
+  wandio,
+  nix-update-script,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "libtrace";
+  version = "4.0.28-1";
+
+  src = fetchFromGitHub {
+    owner = "LibtraceTeam";
+    repo = "libtrace";
+    tag = finalAttrs.version;
+    hash = "sha256-impZrZOOORsQaUz04pkCXGxJkXGaCBcJD390hm74peA=";
+  };
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    autoreconfHook
+    pkg-config
+    bison
+    flex
+  ];
+  buildInputs = [
+    zlib
+    bzip2
+    xz
+    libpcap
+    wandio
+  ];
+
+  passthru.updateScript = nix-update-script { extraArgs = [ "--version-regex=^([0-9.-]+)$" ]; };
+
+  meta = {
+    description = "C Library for working with network packet traces";
+    homepage = "https://github.com/LibtraceTeam/libtrace";
+    changelog = "https://github.com/LibtraceTeam/libtrace/releases/tag/${finalAttrs.version}";
+    license = lib.licenses.lgpl3Only;
+    maintainers = with lib.maintainers; [ felbinger ];
+    platforms = lib.platforms.unix;
+  };
+})
diff --git a/pkgs/by-name/li/libuinputplus/package.nix b/pkgs/by-name/li/libuinputplus/package.nix
index 8d1ed42b6ca6..0371a66131d0 100644
--- a/pkgs/by-name/li/libuinputplus/package.nix
+++ b/pkgs/by-name/li/libuinputplus/package.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     inherit (src.meta) homepage;
     description = "Easy-to-use uinput library in C++";
     license = licenses.mit;
-    maintainers = with maintainers; [ willibutz ];
+    maintainers = [ ];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/by-name/li/liburing/package.nix b/pkgs/by-name/li/liburing/package.nix
index b4cde206e844..995c1b59ab46 100644
--- a/pkgs/by-name/li/liburing/package.nix
+++ b/pkgs/by-name/li/liburing/package.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "liburing";
-  version = "2.10";
+  version = "2.11";
 
   src = fetchFromGitHub {
     owner = "axboe";
     repo = "liburing";
     tag = "liburing-${version}";
-    hash = "sha256-yw21Krg/xsBGCbwwQDIbrq/7q+LNCwC3cXyGPANjkEA=";
+    hash = "sha256-V73QP89WMrL2fkPRbo/TSkfO7GeDsCudlw2Ut5baDzA=";
   };
 
   separateDebugInfo = true;
diff --git a/pkgs/by-name/li/libusb1/package.nix b/pkgs/by-name/li/libusb1/package.nix
index 004ac429328a..4ec95125a008 100644
--- a/pkgs/by-name/li/libusb1/package.nix
+++ b/pkgs/by-name/li/libusb1/package.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libusb";
-  version = "1.0.28";
+  version = "1.0.29";
 
   src = fetchFromGitHub {
     owner = "libusb";
     repo = "libusb";
     rev = "v${version}";
-    sha256 = "sha256-ntfDh/+HYm5cthhO8FkAJHo4RcxvZUKmHf4AOrHLysM=";
+    sha256 = "sha256-m1w+uF8+2WCn72LvoaGUYa+R0PyXHtFFONQjdRfImYY=";
   };
 
   outputs = [
diff --git a/pkgs/by-name/li/libusbmuxd/package.nix b/pkgs/by-name/li/libusbmuxd/package.nix
index 5b83647f9a3b..0c8ccdc34737 100644
--- a/pkgs/by-name/li/libusbmuxd/package.nix
+++ b/pkgs/by-name/li/libusbmuxd/package.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libusbmuxd";
-  version = "2.1.0";
+  version = "2.1.1";
 
   src = fetchFromGitHub {
     owner = "libimobiledevice";
     repo = "libusbmuxd";
     rev = version;
-    hash = "sha256-coQqNGPsqrOYbBjO0eQZQNK8ZTB+ZzfMWvQ6Z1by9PY=";
+    hash = "sha256-o1EFY/cv+pQrGexvPOwMs5mz9KRcffnloXCQXMzbmDY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/li/libuv/package.nix b/pkgs/by-name/li/libuv/package.nix
index ccbcfc939ed6..949fb489eb23 100644
--- a/pkgs/by-name/li/libuv/package.nix
+++ b/pkgs/by-name/li/libuv/package.nix
@@ -134,6 +134,8 @@ stdenv.mkDerivation (finalAttrs: {
           # EOPNOTSUPP when performed in jailed build env
           "tcp_reuseport"
           "udp_reuseport"
+          # jailed build env does not have a hostname
+          "gethostname"
           # Fails when built on non-nix FreeBSD
           # https://github.com/libuv/libuv/issues/4606
           "fs_event_watch_delete_dir"
@@ -142,6 +144,8 @@ stdenv.mkDerivation (finalAttrs: {
     in
     lib.optionalString (finalAttrs.finalPackage.doCheck) ''
       sed '/${tdRegexp}/d' -i test/test-list.h
+      # https://github.com/libuv/libuv/issues/4794
+      substituteInPlace Makefile.am --replace-fail -lutil "-lutil -lm"
     '';
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/li/libvirt/0001-meson-patch-in-an-install-prefix-for-building-on-nix.patch b/pkgs/by-name/li/libvirt/0001-meson-patch-in-an-install-prefix-for-building-on-nix.patch
index 5345dffc0445..cc4981130eeb 100644
--- a/pkgs/by-name/li/libvirt/0001-meson-patch-in-an-install-prefix-for-building-on-nix.patch
+++ b/pkgs/by-name/li/libvirt/0001-meson-patch-in-an-install-prefix-for-building-on-nix.patch
@@ -402,10 +402,10 @@ index 3b859ea7b4..ccddb3e805 100644
    ]
  endif
 diff --git a/src/security/apparmor/meson.build b/src/security/apparmor/meson.build
-index b9257c816d..98701755d8 100644
+index 09d9fac02c..ee0c74ceec 100644
 --- a/src/security/apparmor/meson.build
 +++ b/src/security/apparmor/meson.build
-@@ -57,7 +57,7 @@ foreach name : apparmor_gen_profiles
+@@ -20,16 +20,16 @@ foreach name : apparmor_gen_profiles
      output: name,
      configuration: apparmor_gen_profiles_conf,
      install: true,
@@ -413,39 +413,25 @@ index b9257c816d..98701755d8 100644
 +    install_dir: install_prefix + apparmor_dir,
    )
  endforeach
- 
-@@ -68,13 +68,13 @@ foreach name : apparmor_gen_abstractions
-     command: apparmor_gen_cmd,
-     capture: true,
-     install: true,
--    install_dir: apparmor_dir / 'abstractions',
-+    install_dir: install_prefix + apparmor_dir / 'abstractions',
-   )
- endforeach
- 
+
+ install_data(
+   [ 'libvirt-qemu', 'libvirt-lxc' ],
+-  install_dir: apparmor_dir / 'abstractions',
++  install_dir: install_prefix + apparmor_dir / 'abstractions',
+ )
+
  install_data(
    [ 'TEMPLATE.qemu', 'TEMPLATE.lxc' ],
 -  install_dir: apparmor_dir / 'libvirt',
 +  install_dir: install_prefix + apparmor_dir / 'libvirt',
  )
- 
- if not conf.has('WITH_APPARMOR_3')
-@@ -83,7 +83,7 @@ if not conf.has('WITH_APPARMOR_3')
-   # files in order to limit the amount of filesystem clutter.
-   install_data(
-     'usr.lib.libvirt.virt-aa-helper.local',
--    install_dir: apparmor_dir / 'local',
-+    install_dir: install_prefix + apparmor_dir / 'local',
-     rename: 'usr.lib.libvirt.virt-aa-helper',
-   )
- endif
 diff --git a/src/storage/meson.build b/src/storage/meson.build
 index 404d6a6941..fb4e67a0a8 100644
 --- a/src/storage/meson.build
 +++ b/src/storage/meson.build
 @@ -126,9 +126,9 @@ if conf.has('WITH_STORAGE')
    }
- 
+
    virt_install_dirs += [
 -    confdir / 'storage',
 -    confdir / 'storage' / 'autostart',
@@ -455,20 +441,27 @@ index 404d6a6941..fb4e67a0a8 100644
 +    install_prefix + runstatedir / 'libvirt' / 'storage',
    ]
  endif
- 
+
 diff --git a/tools/meson.build b/tools/meson.build
-index 1bb84be0be..e04a4e986d 100644
+index a099148d3c..d0d6510f17 100644
 --- a/tools/meson.build
 +++ b/tools/meson.build
-@@ -121,7 +121,7 @@ if conf.has('WITH_LOGIN_SHELL')
+@@ -123,12 +123,12 @@ if conf.has('WITH_LOGIN_SHELL')
      install_rpath: libvirt_rpath,
    )
- 
+
 -  install_data('virt-login-shell.conf', install_dir: sysconfdir / 'libvirt')
 +  install_data('virt-login-shell.conf', install_dir: install_prefix + sysconfdir / 'libvirt')
+
+   # Install the sysuser config for the setgid binary
+   install_data(
+     'libvirt-login-shell.sysusers.conf',
+-    install_dir: sysusersdir,
++    install_dir: install_prefix + sysusersdir,
+     rename: [ 'libvirt-login-shell.conf' ],
+   )
  endif
- 
- if host_machine.system() == 'windows'
+
 diff --git a/tools/ssh-proxy/meson.build b/tools/ssh-proxy/meson.build
 index e9f312fa25..95d5d8fe0b 100644
 --- a/tools/ssh-proxy/meson.build
diff --git a/pkgs/by-name/li/libvirt/package.nix b/pkgs/by-name/li/libvirt/package.nix
index 496834f8cf5e..5d987089f704 100644
--- a/pkgs/by-name/li/libvirt/package.nix
+++ b/pkgs/by-name/li/libvirt/package.nix
@@ -115,14 +115,14 @@ assert enableZfs -> isLinux;
 stdenv.mkDerivation rec {
   pname = "libvirt";
   # if you update, also bump  and SysVirt in 
-  version = "11.0.0";
+  version = "11.4.0";
 
   src = fetchFromGitLab {
     owner = "libvirt";
     repo = "libvirt";
     tag = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-QxyOc/RbWZnjA4XIDNK7xZqBcP2ciHsOlszaa5pl6XA=";
+    hash = "sha256-0bOX95Ly8d1/XZan/EyxI6JaACJvOu9QsTkFNQTreqI=";
   };
 
   patches =
diff --git a/pkgs/by-name/li/libvncserver/package.nix b/pkgs/by-name/li/libvncserver/package.nix
index b016e19af766..ecaceb3c56ad 100644
--- a/pkgs/by-name/li/libvncserver/package.nix
+++ b/pkgs/by-name/li/libvncserver/package.nix
@@ -10,11 +10,14 @@
   libpng,
   withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd,
   systemd,
+
+  enableShared ? !stdenv.hostPlatform.isStatic,
+  buildExamples ? false,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "libvncserver";
-  version = "0.9.14";
+  version = "0.9.15";
 
   outputs = [
     "out"
@@ -24,8 +27,8 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "LibVNC";
     repo = "libvncserver";
-    rev = "LibVNCServer-${version}";
-    sha256 = "sha256-kqVZeCTp+Z6BtB6nzkwmtkJ4wtmjlSQBg05lD02cVvQ=";
+    tag = "LibVNCServer-${finalAttrs.version}";
+    hash = "sha256-a3acEjJM+ZA9jaB6qZ/czjIfx/L3j71VjJ6mtlqYcSw=";
   };
 
   patches = [
@@ -38,7 +41,9 @@ stdenv.mkDerivation rec {
   ];
 
   cmakeFlags = [
-    "-DWITH_SYSTEMD=${if withSystemd then "ON" else "OFF"}"
+    (lib.cmakeBool "WITH_SYSTEMD" withSystemd)
+    (lib.cmakeBool "BUILD_SHARED_LIBS" enableShared)
+    (lib.cmakeBool "WITH_EXAMPLES" buildExamples)
   ];
 
   buildInputs =
@@ -63,4 +68,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ raskin ];
     platforms = platforms.unix;
   };
-}
+})
diff --git a/pkgs/by-name/li/libvncserver/pkgconfig.patch b/pkgs/by-name/li/libvncserver/pkgconfig.patch
index 0b98e9e0a79b..929508b4d935 100644
--- a/pkgs/by-name/li/libvncserver/pkgconfig.patch
+++ b/pkgs/by-name/li/libvncserver/pkgconfig.patch
@@ -1,7 +1,7 @@
-diff --git a/libvncclient.pc.cmakein b/libvncclient.pc.cmakein
+diff --git a/src/libvncclient/libvncclient.pc.cmakein b/src/libvncclient/libvncclient.pc.cmakein
 index ceeda39d..2516e643 100644
---- a/libvncclient.pc.cmakein
-+++ b/libvncclient.pc.cmakein
+--- a/src/libvncclient/libvncclient.pc.cmakein
++++ b/src/libvncclient/libvncclient.pc.cmakein
 @@ -1,7 +1,7 @@
  prefix=@CMAKE_INSTALL_PREFIX@
  exec_prefix=@CMAKE_INSTALL_PREFIX@
@@ -12,10 +12,10 @@ index ceeda39d..2516e643 100644
  
  Name: LibVNCClient
  Description: A library for easy implementation of a VNC client.
-diff --git a/libvncserver.pc.cmakein b/libvncserver.pc.cmakein
+diff --git a/src/libvncserver/libvncserver.pc.cmakein b/src/libvncserver/libvncserver.pc.cmakein
 index 33ec6685..57244742 100644
---- a/libvncserver.pc.cmakein
-+++ b/libvncserver.pc.cmakein
+--- a/src/libvncserver/libvncserver.pc.cmakein
++++ b/src/libvncserver/libvncserver.pc.cmakein
 @@ -1,7 +1,7 @@
  prefix=@CMAKE_INSTALL_PREFIX@
  exec_prefix=@CMAKE_INSTALL_PREFIX@
diff --git a/pkgs/by-name/li/libzdb/package.nix b/pkgs/by-name/li/libzdb/package.nix
index 212515cc49c6..7cfa3c4a47b0 100644
--- a/pkgs/by-name/li/libzdb/package.nix
+++ b/pkgs/by-name/li/libzdb/package.nix
@@ -6,12 +6,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.4.0";
+  version = "3.4.1";
   pname = "libzdb";
 
   src = fetchurl {
     url = "https://www.tildeslash.com/libzdb/dist/libzdb-${version}.tar.gz";
-    sha256 = "sha256-q9Z1cZvL3eQwqk7hOXW5gNVdKry1zCKAgqMDIKa7nw8=";
+    sha256 = "sha256-W0Yz/CoWiA93YZf0BF9i7421Bi9jAw+iIQEdS4XXNss=";
   };
 
   buildInputs = [ sqlite ];
diff --git a/pkgs/by-name/li/libzip/package.nix b/pkgs/by-name/li/libzip/package.nix
index 6c6cbc95c7fc..042c745ce9d6 100644
--- a/pkgs/by-name/li/libzip/package.nix
+++ b/pkgs/by-name/li/libzip/package.nix
@@ -19,11 +19,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "libzip";
-  version = "1.11.3";
+  version = "1.11.4";
 
   src = fetchurl {
     url = "https://libzip.org/download/libzip-${finalAttrs.version}.tar.gz";
-    hash = "sha256-dmU/E13eMDYDbFAOEYYWSP+/nh/FsjP/RzxgiX2dsOo=";
+    hash = "sha256-guny8kIfnXwkZrvDFzzQlZWojqN9sNVZqdCi3GDcci4=";
   };
 
   outputs = [
diff --git a/pkgs/by-name/li/license-scanner/package.nix b/pkgs/by-name/li/license-scanner/package.nix
index ddcf401b0593..2044b0b33af6 100644
--- a/pkgs/by-name/li/license-scanner/package.nix
+++ b/pkgs/by-name/li/license-scanner/package.nix
@@ -6,23 +6,23 @@
 
 buildGoModule rec {
   pname = "license-scanner";
-  version = "0.11.0";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "CycloneDX";
     repo = "license-scanner";
     tag = "v${version}";
-    hash = "sha256-2KUaVDAZxMwZ3AAMEUmRiuvenPSFliUp6rZCZrVTDps=";
+    hash = "sha256-XnJ0GrME8v3d/sYwOffGX6S0u9toJxmFf9XCqA7jxZ4=";
   };
 
-  vendorHash = "sha256-7xa2tdCDCXkOZCLL8YPtO7i1VqD61Mow7un0690I8mM=";
+  vendorHash = "sha256-JVbwGTYNTFana9jE42h6nhDyyoVlROcK7RLRC7S74eA=";
 
   meta = {
     description = "Utility that provides an API and CLI to identify licenses and legal terms";
-    mainProgram = "license-scanner";
     homepage = "https://github.com/CycloneDX/license-scanner";
-    changelog = "https://github.com/CycloneDX/license-scanner/blob/${version}/CHANGELOG.md";
+    changelog = "https://github.com/CycloneDX/license-scanner/blob/${src.tag}/CHANGELOG.md";
     license = lib.licenses.asl20;
     maintainers = with lib.maintainers; [ fab ];
+    mainProgram = "license-scanner";
   };
 }
diff --git a/pkgs/by-name/li/lifeograph/package.nix b/pkgs/by-name/li/lifeograph/package.nix
index 440f1d92cd76..536b7a7bb3c8 100644
--- a/pkgs/by-name/li/lifeograph/package.nix
+++ b/pkgs/by-name/li/lifeograph/package.nix
@@ -16,12 +16,12 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "lifeograph";
-  version = "3.0.2";
+  version = "3.0.3";
 
   src = fetchgit {
     url = "https://git.launchpad.net/lifeograph";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-eb31/ncGH5+Wz1vPCHeEFP1AiKe29rAOg5SL2cjabCc=";
+    hash = "sha256-VaDxmbTVx6wiFMDRYuBM5Y4oPODWPTm8QP6zpT+yBOY=";
   };
 
   nativeBuildInputs = [
@@ -40,11 +40,6 @@ stdenv.mkDerivation (finalAttrs: {
     libshumate
   ];
 
-  postInstall = ''
-    substituteInPlace $out/share/applications/net.sourceforge.Lifeograph.desktop \
-      --replace-fail "Exec=" "Exec=$out/bin/"
-  '';
-
   meta = {
     homepage = "https://lifeograph.sourceforge.net/doku.php?id=start";
     description = "Off-line and private journal and note taking application";
diff --git a/pkgs/by-name/li/lighthouse/package.nix b/pkgs/by-name/li/lighthouse/package.nix
index c024b07db1ab..7712f9f63e54 100644
--- a/pkgs/by-name/li/lighthouse/package.nix
+++ b/pkgs/by-name/li/lighthouse/package.nix
@@ -17,24 +17,25 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "lighthouse";
-  version = "6.0.1";
+  version = "7.0.1";
 
-  # lighthouse/common/deposit_contract/build.rs
+  # lighthouse/common/deposit_contract/build.rs, `TAG`
   depositContractSpecVersion = "0.12.1";
+  # lighthouse/common/deposit_contract/build.rs, `UNSAFE_TAG`
   testnetDepositContractSpecVersion = "0.9.2.1";
 
   src = fetchFromGitHub {
     owner = "sigp";
     repo = "lighthouse";
-    rev = "v${version}";
-    hash = "sha256-8jHNm/MGpHGOt52rLMXLMWIVn8AXqnpAr+Wvk7DH6gc=";
+    tag = "v${version}";
+    hash = "sha256-0nClqRSLwKnTNAMsvX5zzN2PbVJ51xtQv48cHSqHLAY=";
   };
 
   patches = [
     ./use-system-sqlite.patch
   ];
 
-  cargoHash = "sha256-Opkz3EVKw0M4LeWMsn1NlSw/Fg7cWVqnDJRRTPYYlLo=";
+  cargoHash = "sha256-tQVZXZzcit4seBgmW4WEyNOkLzswX/I36DphORb7w30=";
   useFetchCargoVendor = true;
 
   buildFeatures = [
@@ -98,7 +99,24 @@ rustPlatform.buildRustPackage rec {
   # All of these tests require network access
   checkFlags =
     [
-      "--skip basic"
+      "--skip tests::broadcast_should_send_to_all_bns"
+      "--skip tests::check_candidate_order"
+      "--skip tests::first_success_should_try_nodes_in_order"
+      "--skip tests::update_all_candidates_should_update_sync_status"
+      "--skip engine_api::http::test::forkchoice_updated_v1_request"
+      "--skip engine_api::http::test::forkchoice_updated_v1_with_payload_attributes_request"
+      "--skip engine_api::http::test::get_block_by_hash_request"
+      "--skip engine_api::http::test::get_block_by_number_request"
+      "--skip engine_api::http::test::get_payload_v1_request"
+      "--skip engine_api::http::test::geth_test_vectors"
+      "--skip engine_api::http::test::new_payload_v1_request"
+      "--skip test::finds_valid_terminal_block_hash"
+      "--skip test::produce_three_valid_pos_execution_blocks"
+      "--skip test::rejects_invalid_terminal_block_hash"
+      "--skip test::rejects_terminal_block_with_equal_timestamp"
+      "--skip test::rejects_unknown_terminal_block_hash"
+      "--skip test::test_forked_terminal_block"
+      "--skip test::verifies_valid_terminal_block_hash"
       "--skip deposit_tree::cache_consistency"
       "--skip deposit_tree::double_update"
       "--skip deposit_tree::updating"
@@ -109,8 +127,196 @@ rustPlatform.buildRustPackage rec {
       "--skip fast::deposit_cache_query"
       "--skip http::incrementing_deposits"
       "--skip persist::test_persist_caches"
-      "--skip service::tests::tests::test_dht_persistence"
-      "--skip time::test::test_reinsertion_updates_timeout"
+      "--skip can_read_finalized_block"
+      "--skip invalid_attestation_delayed_slot"
+      "--skip invalid_attestation_empty_bitfield"
+      "--skip invalid_attestation_future_block"
+      "--skip invalid_attestation_future_epoch"
+      "--skip invalid_attestation_inconsistent_ffg_vote"
+      "--skip invalid_attestation_past_epoch"
+      "--skip invalid_attestation_target_epoch"
+      "--skip invalid_attestation_unknown_beacon_block_root"
+      "--skip invalid_attestation_unknown_target_root"
+      "--skip invalid_block_finalized_descendant"
+      "--skip invalid_block_finalized_slot"
+      "--skip invalid_block_future_slot"
+      "--skip invalid_block_unknown_parent"
+      "--skip justified_and_finalized_blocks"
+      "--skip justified_balances"
+      "--skip justified_checkpoint_updates_with_descendent"
+      "--skip justified_checkpoint_updates_with_descendent_first_justification"
+      "--skip justified_checkpoint_updates_with_non_descendent"
+      "--skip progressive_balances_cache_attester_slashing"
+      "--skip progressive_balances_cache_proposer_slashing"
+      "--skip valid_attestation"
+      "--skip valid_attestation_skip_across_epoch"
+      "--skip weak_subjectivity_check_epoch_boundary_is_skip_slot"
+      "--skip weak_subjectivity_check_epoch_boundary_is_skip_slot_failure"
+      "--skip weak_subjectivity_check_fails_early_epoch"
+      "--skip weak_subjectivity_check_fails_incorrect_root"
+      "--skip weak_subjectivity_check_fails_late_epoch"
+      "--skip weak_subjectivity_check_passes"
+      "--skip weak_subjectivity_pass_on_startup"
+      "--skip basic"
+      "--skip returns_200_ok"
+      "--skip release_tests::attestation_aggregation_insert_get_prune"
+      "--skip release_tests::attestation_duplicate"
+      "--skip release_tests::attestation_get_max"
+      "--skip release_tests::attestation_pairwise_overlapping"
+      "--skip release_tests::attestation_rewards"
+      "--skip release_tests::cross_fork_attester_slashings"
+      "--skip release_tests::cross_fork_exits"
+      "--skip release_tests::cross_fork_proposer_slashings"
+      "--skip release_tests::duplicate_proposer_slashing"
+      "--skip release_tests::max_coverage_attester_proposer_slashings"
+      "--skip release_tests::max_coverage_different_indices_set"
+      "--skip release_tests::max_coverage_effective_balances"
+      "--skip release_tests::overlapping_max_cover_attester_slashing"
+      "--skip release_tests::prune_attester_slashing_noop"
+      "--skip release_tests::prune_proposer_slashing_noop"
+      "--skip release_tests::simple_max_cover_attester_slashing"
+      "--skip release_tests::sync_contribution_aggregation_insert_get_prune"
+      "--skip release_tests::sync_contribution_duplicate"
+      "--skip release_tests::sync_contribution_with_fewer_bits"
+      "--skip release_tests::sync_contribution_with_more_bits"
+      "--skip release_tests::test_earliest_attestation"
+      "--skip per_block_processing::tests::block_replayer_peeking_state_roots"
+      "--skip per_block_processing::tests::fork_spanning_exit"
+      "--skip per_block_processing::tests::invalid_attester_slashing_1_invalid"
+      "--skip per_block_processing::tests::invalid_attester_slashing_2_invalid"
+      "--skip per_block_processing::tests::invalid_attester_slashing_not_slashable"
+      "--skip per_block_processing::tests::invalid_bad_proposal_1_signature"
+      "--skip per_block_processing::tests::invalid_bad_proposal_2_signature"
+      "--skip per_block_processing::tests::invalid_block_header_state_slot"
+      "--skip per_block_processing::tests::invalid_block_signature"
+      "--skip per_block_processing::tests::invalid_deposit_bad_merkle_proof"
+      "--skip per_block_processing::tests::invalid_deposit_count_too_small"
+      "--skip per_block_processing::tests::invalid_deposit_deposit_count_too_big"
+      "--skip per_block_processing::tests::invalid_deposit_invalid_pub_key"
+      "--skip per_block_processing::tests::invalid_deposit_wrong_sig"
+      "--skip per_block_processing::tests::invalid_parent_block_root"
+      "--skip per_block_processing::tests::invalid_proposer_slashing_duplicate_slashing"
+      "--skip per_block_processing::tests::invalid_proposer_slashing_proposal_epoch_mismatch"
+      "--skip per_block_processing::tests::invalid_proposer_slashing_proposals_identical"
+      "--skip per_block_processing::tests::invalid_proposer_slashing_proposer_unknown"
+      "--skip per_block_processing::tests::invalid_randao_reveal_signature"
+      "--skip per_block_processing::tests::valid_4_deposits"
+      "--skip per_block_processing::tests::valid_block_ok"
+      "--skip per_block_processing::tests::valid_insert_attester_slashing"
+      "--skip per_block_processing::tests::valid_insert_proposer_slashing"
+      "--skip per_epoch_processing::tests::release_tests::altair_state_on_base_fork"
+      "--skip per_epoch_processing::tests::release_tests::base_state_on_altair_fork"
+      "--skip per_epoch_processing::tests::runs_without_error"
+      "--skip exit::custom_tests::valid"
+      "--skip exit::custom_tests::valid_three"
+      "--skip exit::tests::invalid_bad_signature"
+      "--skip exit::tests::invalid_duplicate"
+      "--skip exit::tests::invalid_exit_already_initiated"
+      "--skip exit::tests::invalid_future_exit_epoch"
+      "--skip exit::tests::invalid_not_active_after_exit_epoch"
+      "--skip exit::tests::invalid_not_active_before_activation_epoch"
+      "--skip exit::tests::invalid_too_young_by_a_lot"
+      "--skip exit::tests::invalid_too_young_by_one_epoch"
+      "--skip exit::tests::invalid_validator_unknown"
+      "--skip exit::tests::valid_genesis_epoch"
+      "--skip exit::tests::valid_previous_epoch"
+      "--skip exit::tests::valid_single_exit"
+      "--skip exit::tests::valid_three_exits"
+      "--skip iter::test::block_root_iter"
+      "--skip iter::test::state_root_iter"
+      "--skip beacon_state::committee_cache::tests::initializes_with_the_right_epoch"
+      "--skip beacon_state::committee_cache::tests::min_randao_epoch_correct"
+      "--skip beacon_state::committee_cache::tests::shuffles_for_the_right_epoch"
+      "--skip beacon_state::tests::beacon_proposer_index"
+      "--skip beacon_state::tests::cache_initialization"
+      "--skip beacon_state::tests::committees::current_epoch_committee_consistency"
+      "--skip beacon_state::tests::committees::next_epoch_committee_consistency"
+      "--skip beacon_state::tests::committees::previous_epoch_committee_consistency"
+      "--skip tests::hd_validator_creation"
+      "--skip tests::invalid_pubkey"
+      "--skip tests::keystore_validator_creation"
+      "--skip tests::keystores::check_get_set_fee_recipient"
+      "--skip tests::keystores::check_get_set_gas_limit"
+      "--skip tests::keystores::delete_concurrent_with_signing"
+      "--skip tests::keystores::delete_keystores_twice"
+      "--skip tests::keystores::delete_nonexistent_keystores"
+      "--skip tests::keystores::delete_nonexistent_remotekey"
+      "--skip tests::keystores::delete_remotekey_then_reimport_different_url"
+      "--skip tests::keystores::delete_remotekeys_twice"
+      "--skip tests::keystores::delete_then_reimport"
+      "--skip tests::keystores::delete_then_reimport_remotekeys"
+      "--skip tests::keystores::get_auth_no_token"
+      "--skip tests::keystores::get_empty_keystores"
+      "--skip tests::keystores::get_empty_remotekeys"
+      "--skip tests::keystores::get_web3_signer_keystores"
+      "--skip tests::keystores::import_and_delete_conflicting_web3_signer_keystores"
+      "--skip tests::keystores::import_invalid_slashing_protection"
+      "--skip tests::keystores::import_keystores_wrong_password"
+      "--skip tests::keystores::import_new_keystores"
+      "--skip tests::keystores::import_new_remotekeys"
+      "--skip tests::keystores::import_only_duplicate_keystores"
+      "--skip tests::keystores::import_only_duplicate_remotekeys"
+      "--skip tests::keystores::import_remote_and_local_keys"
+      "--skip tests::keystores::import_remotekey_web3signer"
+      "--skip tests::keystores::import_remotekey_web3signer_disabled"
+      "--skip tests::keystores::import_remotekey_web3signer_enabled"
+      "--skip tests::keystores::import_same_local_and_remote_keys"
+      "--skip tests::keystores::import_same_remote_and_local_keys"
+      "--skip tests::keystores::import_same_remotekey_different_url"
+      "--skip tests::keystores::import_some_duplicate_keystores"
+      "--skip tests::keystores::import_some_duplicate_remotekeys"
+      "--skip tests::keystores::import_wrong_number_of_passwords"
+      "--skip tests::keystores::migrate_all_with_slashing_protection"
+      "--skip tests::keystores::migrate_some_extra_slashing_protection"
+      "--skip tests::keystores::migrate_some_missing_slashing_protection"
+      "--skip tests::keystores::migrate_some_with_slashing_protection"
+      "--skip tests::prefer_builder_proposals_validator"
+      "--skip tests::routes_with_invalid_auth"
+      "--skip tests::simple_getters"
+      "--skip tests::validator_builder_boost_factor"
+      "--skip tests::validator_builder_boost_factor_global_builder_proposals_false"
+      "--skip tests::validator_builder_boost_factor_global_builder_proposals_true"
+      "--skip tests::validator_builder_boost_factor_global_prefer_builder_proposals_true"
+      "--skip tests::validator_builder_boost_factor_global_prefer_builder_proposals_true_override"
+      "--skip tests::validator_builder_proposals"
+      "--skip tests::validator_derived_builder_boost_factor_with_process_defaults"
+      "--skip tests::validator_enabling"
+      "--skip tests::validator_exit"
+      "--skip tests::validator_gas_limit"
+      "--skip tests::validator_graffiti"
+      "--skip tests::validator_graffiti_api"
+      "--skip tests::web3signer_validator_creation"
+      "--skip create_validators::tests::bogus_bn_url"
+      "--skip delete_validators::test::delete_multiple_validators"
+      "--skip import_validators::tests::create_one_validator"
+      "--skip import_validators::tests::create_one_validator_keystore_format"
+      "--skip import_validators::tests::create_one_validator_with_offset"
+      "--skip import_validators::tests::create_one_validator_with_offset_keystore_format"
+      "--skip import_validators::tests::create_three_validators"
+      "--skip import_validators::tests::create_three_validators_with_offset"
+      "--skip import_validators::tests::import_duplicates_when_allowed"
+      "--skip import_validators::tests::import_duplicates_when_allowed_keystore_format"
+      "--skip import_validators::tests::import_duplicates_when_disallowed"
+      "--skip import_validators::tests::import_duplicates_when_disallowed_keystore_format"
+      "--skip list_validators::test::list_all_validators"
+      "--skip move_validators::test::no_validators"
+      "--skip move_validators::test::one_validator_move_all"
+      "--skip move_validators::test::one_validator_move_all_with_password_files"
+      "--skip move_validators::test::one_validator_move_one"
+      "--skip move_validators::test::one_validator_to_non_empty_dest"
+      "--skip move_validators::test::one_validators_move_two_by_count"
+      "--skip move_validators::test::three_validators_move_all"
+      "--skip move_validators::test::three_validators_move_one"
+      "--skip move_validators::test::three_validators_move_one_by_count"
+      "--skip move_validators::test::three_validators_move_three"
+      "--skip move_validators::test::three_validators_move_two"
+      "--skip move_validators::test::three_validators_move_two_by_count"
+      "--skip move_validators::test::two_validator_move_all_and_back_again"
+      "--skip move_validators::test::two_validator_move_all_passwords_removed"
+      "--skip move_validators::test::two_validator_move_all_passwords_removed_failed_password_attempt"
+      "--skip move_validators::test::two_validators_move_all_where_one_is_a_duplicate"
+      "--skip move_validators::test::two_validators_move_one_where_one_is_a_duplicate"
+      "--skip move_validators::test::two_validators_move_one_with_identical_password_files"
     ]
     ++ lib.optionals (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isDarwin) [
       "--skip subnet_service::tests::attestation_service::test_subscribe_same_subnet_several_slots_apart"
@@ -141,6 +347,8 @@ rustPlatform.buildRustPackage rec {
       pmw
     ];
     mainProgram = "lighthouse";
-    broken = stdenv.hostPlatform.isDarwin;
+    # can't compile build script with host libraries
+    broken =
+      stdenv.hostPlatform.isDarwin || !lib.systems.equals stdenv.buildPlatform stdenv.hostPlatform;
   };
 }
diff --git a/pkgs/by-name/li/lightning-loop/package.nix b/pkgs/by-name/li/lightning-loop/package.nix
index 75cc4d103c14..c5ce2a061b23 100644
--- a/pkgs/by-name/li/lightning-loop/package.nix
+++ b/pkgs/by-name/li/lightning-loop/package.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "lightning-loop";
-  version = "0.31.1-beta";
+  version = "0.31.2-beta";
 
   src = fetchFromGitHub {
     owner = "lightninglabs";
     repo = "loop";
     rev = "v${version}";
-    hash = "sha256-OJWf96Dq06U56dIMMocGYgyZdu94VM3A6ViJZR+gbxQ=";
+    hash = "sha256-xhvGsAvcJqjSyf32Zo9jJUoHCN/5mWliLqcyN3GEjD0=";
   };
 
-  vendorHash = "sha256-TnnYjTbN6zuXUbZbh1sK9bmjR7FleFqNFrqwBTllypY=";
+  vendorHash = "sha256-Rb0P2mPrvOII5Ck4rtB4/gpymVmwuM1rH8sxLt0zDhs=";
 
   subPackages = [
     "cmd/loop"
diff --git a/pkgs/by-name/li/lightwalletd/package.nix b/pkgs/by-name/li/lightwalletd/package.nix
index 2f3779f337b9..0d5f17e96759 100644
--- a/pkgs/by-name/li/lightwalletd/package.nix
+++ b/pkgs/by-name/li/lightwalletd/package.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "lightwalletd";
-  version = "0.4.16";
+  version = "0.4.18";
 
   src = fetchFromGitHub {
     owner = "zcash";
     repo = "lightwalletd";
     rev = "v${version}";
-    hash = "sha256-M9xfV2T8L+nssrJj29QmPiErNMpfpT8BY/30Vj8wPjY=";
+    hash = "sha256-YmSQjfqwTZC3NkPH6k7gwHcaYRURive5rc0MVOKWCi8=";
   };
 
-  vendorHash = "sha256-z5Hs+CkPswWhz+Ya5MyHKA3MZzQkvS7WOxNckElkg6U=";
+  vendorHash = "sha256-jAsX+BhVYbD/joCMT2vdDdRLqZOG9AfXmbRPJcJcQEw=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/li/lillydap/package.nix b/pkgs/by-name/li/lillydap/package.nix
index d095f3a4a8ca..115673095020 100644
--- a/pkgs/by-name/li/lillydap/package.nix
+++ b/pkgs/by-name/li/lillydap/package.nix
@@ -6,7 +6,7 @@
   gperf,
   arpa2cm,
   quickder,
-  nix-update-script,
+  gitUpdater,
 }:
 
 stdenv.mkDerivation (finalAttrs: {
@@ -32,7 +32,7 @@ stdenv.mkDerivation (finalAttrs: {
     quickder
   ];
 
-  passthru.updateScript = nix-update-script { };
+  passthru.updateScript = gitUpdater { rev-prefix = "v"; };
 
   meta = {
     description = "Little LDAP: Event-driven, lock-free kernel for dynamic data servers, clients, filters";
diff --git a/pkgs/by-name/li/lima-additional-guestagents/package.nix b/pkgs/by-name/li/lima-additional-guestagents/package.nix
new file mode 100644
index 000000000000..08d1c3987c27
--- /dev/null
+++ b/pkgs/by-name/li/lima-additional-guestagents/package.nix
@@ -0,0 +1,91 @@
+{
+  lib,
+  stdenv,
+  buildGoModule,
+  fetchFromGitHub,
+  nix-update-script,
+  apple-sdk_15,
+  findutils,
+}:
+
+buildGoModule (finalAttrs: {
+  pname = "lima-additional-guestagents";
+  version = "1.1.1";
+
+  src = fetchFromGitHub {
+    owner = "lima-vm";
+    repo = "lima";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-vmn5AQpFbugFOmeiPUNMkPkgV1cZSR3nli90tdFmF0A";
+  };
+
+  vendorHash = "sha256-1+jWEZ4VvVjJ7tSL4vlkCrWxCoSu8hiXefKSm3GExNs=";
+
+  buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
+    apple-sdk_15
+  ];
+
+  buildPhase =
+    let
+      makeFlags = [
+        "VERSION=v${finalAttrs.version}"
+        "CC=${stdenv.cc.targetPrefix}cc"
+      ];
+    in
+    ''
+      runHook preBuild
+
+      make ${lib.escapeShellArgs makeFlags} additional-guestagents
+
+      runHook postBuild
+    '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out
+    cp -r _output/* $out
+
+    runHook postInstall
+  '';
+
+  nativeInstallCheckInputs = [
+    findutils
+  ];
+  doInstallCheck = true;
+
+  # Guest agents for the host's architecture are only in the "lima" package. So, we can't test this by running the binary.
+  installCheckPhase = ''
+    runHook preInstallCheck
+
+    [[ "$(find "$out/share" -type f -name 'lima-guestagent.Linux-*.gz' | wc -l)" -ge 5 ]]
+
+    runHook postInstallCheck
+  '';
+
+  passthru = {
+    updateScript = nix-update-script { };
+  };
+
+  meta = {
+    homepage = "https://github.com/lima-vm/lima";
+    description = "Lima Guest Agents for emulating non-native architectures";
+    longDescription = ''
+      This package should only be used when your guest's architecture differs from the host's.
+
+      To enable its functionality in `limactl`, set `withAdditionalGuestAgents = true` in the `lima` package:
+      ```nix
+      pkgs.lima.override {
+        withAdditionalGuestAgents = true;
+      }
+      ```
+
+      Typically, you won't need to directly add this package to your *.nix files.
+    '';
+    changelog = "https://github.com/lima-vm/lima/releases/tag/v${finalAttrs.version}";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [
+      kachick
+    ];
+  };
+})
diff --git a/pkgs/by-name/li/lima/package.nix b/pkgs/by-name/li/lima/package.nix
new file mode 100644
index 000000000000..d5a251a3bd99
--- /dev/null
+++ b/pkgs/by-name/li/lima/package.nix
@@ -0,0 +1,172 @@
+{
+  lib,
+  stdenv,
+  buildGoModule,
+  fetchFromGitHub,
+  installShellFiles,
+  qemu,
+  darwin,
+  makeWrapper,
+  nix-update-script,
+  apple-sdk_15,
+  withAdditionalGuestAgents ? false,
+  lima-additional-guestagents,
+  writableTmpDirAsHomeHook,
+  testers,
+  writeText,
+  runCommand,
+  lima,
+  jq,
+}:
+
+buildGoModule (finalAttrs: {
+  pname = "lima";
+  version = "1.1.1";
+
+  src = fetchFromGitHub {
+    owner = "lima-vm";
+    repo = "lima";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-vmn5AQpFbugFOmeiPUNMkPkgV1cZSR3nli90tdFmF0A";
+  };
+
+  vendorHash = "sha256-1+jWEZ4VvVjJ7tSL4vlkCrWxCoSu8hiXefKSm3GExNs=";
+
+  nativeBuildInputs = [
+    makeWrapper
+    installShellFiles
+
+    # For checkPhase, and installPhase(required to build completion)
+    writableTmpDirAsHomeHook
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.sigtool ];
+
+  buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_15 ];
+
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace-fail 'codesign -f -v --entitlements vz.entitlements -s -' 'codesign -f --entitlements vz.entitlements -s -' \
+      --replace-fail 'rm -rf _output vendor' 'rm -rf _output'
+  '';
+
+  # It attaches entitlements with codesign and strip removes those,
+  # voiding the entitlements and making it non-operational.
+  dontStrip = stdenv.hostPlatform.isDarwin;
+
+  buildPhase =
+    let
+      makeFlags = [
+        "VERSION=v${finalAttrs.version}"
+        "CC=${stdenv.cc.targetPrefix}cc"
+      ];
+    in
+    ''
+      runHook preBuild
+
+      make ${lib.escapeShellArgs makeFlags} native
+
+      runHook postBuild
+    '';
+
+  installPhase =
+    ''
+      runHook preInstall
+      mkdir -p $out
+      cp -r _output/* $out
+      wrapProgram $out/bin/limactl \
+        --prefix PATH : ${lib.makeBinPath [ qemu ]}
+    ''
+    + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
+      installShellCompletion --cmd limactl \
+        --bash <($out/bin/limactl completion bash) \
+        --fish <($out/bin/limactl completion fish) \
+        --zsh <($out/bin/limactl completion zsh)
+    ''
+    + ''
+      runHook postInstall
+    '';
+
+  postInstall = lib.optionalString withAdditionalGuestAgents ''
+    cp -rs '${lima-additional-guestagents}/share/lima/.' "$out/share/lima/"
+  '';
+
+  nativeInstallCheckInputs = [
+    # Workaround for: "panic: $HOME is not defined" at https://github.com/lima-vm/lima/blob/cb99e9f8d01ebb82d000c7912fcadcd87ec13ad5/pkg/limayaml/defaults.go#L53
+    writableTmpDirAsHomeHook
+  ];
+  doInstallCheck = true;
+
+  # Don't use versionCheckHook for this package until Env solutions like #403971 or #411609 are available on the master branch.
+  installCheckPhase = ''
+    runHook preInstallCheck
+
+    [[ "$("$out/bin/limactl" --version | cut -d ' ' -f 3)" == "${finalAttrs.version}" ]]
+    USER=nix $out/bin/limactl validate templates/default.yaml
+
+    runHook postInstallCheck
+  '';
+
+  passthru = {
+    tests =
+      let
+        arch = stdenv.hostPlatform.parsed.cpu.name;
+      in
+      {
+        minimalAgent = testers.testEqualContents {
+          assertion = "limactl only detects host's architecture guest agent by default";
+          expected = writeText "expected" ''
+            true
+            1
+          '';
+          actual =
+            runCommand "actual"
+              {
+                nativeBuildInputs = [
+                  writableTmpDirAsHomeHook
+                  lima
+                  jq
+                ];
+              }
+              ''
+                limactl info | jq '.guestAgents | has("${arch}")' >>"$out"
+                limactl info | jq '.guestAgents | length' >>"$out"
+              '';
+        };
+
+        additionalAgents = testers.testEqualContents {
+          assertion = "limactl also detects additional guest agents if specified";
+          expected = writeText "expected" ''
+            true
+            true
+          '';
+          actual =
+            runCommand "actual"
+              {
+                nativeBuildInputs = [
+                  writableTmpDirAsHomeHook
+                  (lima.override {
+                    withAdditionalGuestAgents = true;
+                  })
+                  jq
+                ];
+              }
+              ''
+                limactl info | jq '.guestAgents | has("${arch}")' >>"$out"
+                limactl info | jq '.guestAgents | length >= 2' >>"$out"
+              '';
+        };
+      };
+
+    updateScript = nix-update-script { };
+  };
+
+  meta = {
+    homepage = "https://github.com/lima-vm/lima";
+    description = "Linux virtual machines with automatic file sharing and port forwarding";
+    changelog = "https://github.com/lima-vm/lima/releases/tag/v${finalAttrs.version}";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [
+      anhduy
+      kachick
+    ];
+  };
+})
diff --git a/pkgs/by-name/li/lint-staged/package.nix b/pkgs/by-name/li/lint-staged/package.nix
index a4c7b302b818..f78481515a27 100644
--- a/pkgs/by-name/li/lint-staged/package.nix
+++ b/pkgs/by-name/li/lint-staged/package.nix
@@ -8,16 +8,16 @@
 
 buildNpmPackage rec {
   pname = "lint-staged";
-  version = "16.1.0";
+  version = "16.1.1";
 
   src = fetchFromGitHub {
     owner = "okonet";
     repo = "lint-staged";
     rev = "v${version}";
-    hash = "sha256-dR0z/60CHDqCl9pEc9KQww1S5aSZ4XGsfNqxBSZe0Ig=";
+    hash = "sha256-DBLS0hMu2mG4+sGhhGjIlfj2y2A33RccEP3plweaKio=";
   };
 
-  npmDepsHash = "sha256-MznWvv61Z+8t+Nicj6yWlQqUHVx7AAtkDXu2L2E5dw8=";
+  npmDepsHash = "sha256-LJipxwO5B01KlfjOVhlhw5veH2+wpzWm0EwcRdVFleQ=";
 
   dontNpmBuild = true;
 
diff --git a/pkgs/by-name/li/linux-firmware/package.nix b/pkgs/by-name/li/linux-firmware/package.nix
index e5f97ebebdb2..e1a6f4e9fade 100644
--- a/pkgs/by-name/li/linux-firmware/package.nix
+++ b/pkgs/by-name/li/linux-firmware/package.nix
@@ -22,11 +22,11 @@ let
 in
 stdenvNoCC.mkDerivation rec {
   pname = "linux-firmware";
-  version = "20250509";
+  version = "20250613";
 
   src = fetchzip {
-    url = "https://cdn.kernel.org/pub/linux/kernel/firmware/linux-firmware-${version}.tar.xz ";
-    hash = "sha256-0FrhgJQyCeRCa3s0vu8UOoN0ZgVCahTQsSH0o6G6hhY=";
+    url = "https://cdn.kernel.org/pub/linux/kernel/firmware/linux-firmware-${version}.tar.xz";
+    hash = "sha256-qygwQNl99oeHiCksaPqxxeH+H7hqRjbqN++Hf9X+gzs=";
   };
 
   postUnpack = ''
diff --git a/pkgs/by-name/li/listen1/package.nix b/pkgs/by-name/li/listen1/package.nix
index 30f32f42b0e1..db06b72058f1 100644
--- a/pkgs/by-name/li/listen1/package.nix
+++ b/pkgs/by-name/li/listen1/package.nix
@@ -6,10 +6,10 @@
 
 let
   pname = "listen1";
-  version = "2.32.0";
+  version = "2.33.0";
   src = fetchurl {
     url = "https://github.com/listen1/listen1_desktop/releases/download/v${version}/listen1_${version}_linux_x86_64.AppImage";
-    hash = "sha256-+whoBVl3pg6pnM1DR7FiBFTU1i9MsauUnnU76mOF6Qk=";
+    hash = "sha256-RMpusz9bNrHpN23HrncjteiIGkLJgsP7FS2t7zD1Ud0=";
   };
   appimageContents = appimageTools.extractType2 { inherit pname version src; };
 in
diff --git a/pkgs/by-name/li/lite-xl/package.nix b/pkgs/by-name/li/lite-xl/package.nix
index 44c478e7209e..c690b84dff08 100644
--- a/pkgs/by-name/li/lite-xl/package.nix
+++ b/pkgs/by-name/li/lite-xl/package.nix
@@ -5,46 +5,53 @@
   lua5_4,
   meson,
   ninja,
+  cmake,
   pcre2,
   pkg-config,
-  SDL2,
+  sdl3,
   stdenv,
 }:
-
-stdenv.mkDerivation rec {
+let
   pname = "lite-xl";
-  version = "2.1.7";
+  version = "2.1.8";
+in
+stdenv.mkDerivation {
+  inherit pname version;
 
   src = fetchFromGitHub {
     owner = "lite-xl";
     repo = "lite-xl";
     rev = "v${version}";
-    hash = "sha256-Ig0XDxnll/zruAwWHwuXiqumBXgAPxuK0E1ELupvcXo=";
+    hash = "sha256-9JpD7f5vOGhLW8dBjjYUI5PSaz/XWW5sIOZCAbKhxtE=";
   };
 
   nativeBuildInputs = [
     meson
     ninja
     pkg-config
+    cmake
   ];
 
   buildInputs = [
     freetype
     lua5_4
     pcre2
-    SDL2
+    sdl3
   ];
 
   mesonFlags = [
     "-Duse_system_lua=true"
   ];
 
-  meta = with lib; {
+  meta = {
     description = "Lightweight text editor written in Lua";
     homepage = "https://github.com/lite-xl/lite-xl";
-    license = licenses.mit;
-    maintainers = with maintainers; [ sefidel ];
-    platforms = platforms.unix;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [
+      luftmensch-luftmensch
+      sefidel
+    ];
+    platforms = lib.platforms.unix;
     mainProgram = "lite-xl";
   };
 }
diff --git a/pkgs/by-name/li/live-server/package.nix b/pkgs/by-name/li/live-server/package.nix
index 0257a426b04f..f02c1f314641 100644
--- a/pkgs/by-name/li/live-server/package.nix
+++ b/pkgs/by-name/li/live-server/package.nix
@@ -4,33 +4,37 @@
   fetchFromGitHub,
   openssl,
   pkg-config,
+  nix-update-script,
 }:
 
-rustPlatform.buildRustPackage rec {
+rustPlatform.buildRustPackage (finalAttrs: {
   pname = "live-server";
-  version = "0.10.0";
+  version = "0.10.1";
 
   src = fetchFromGitHub {
     owner = "lomirus";
     repo = "live-server";
-    rev = "v${version}";
-    hash = "sha256-8NM3XJ7RC7cUNKN1DPW2huvkx7tfA8zDrETkwDMbaT8=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-0IP7F8+Vdl/h4+zcghRqowvzz6zjQYDTjMSZPuGOOj4=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-tUKhVDv+ZDGRpJC/sSYcQxYhGsAyOsflc+GeUyBaeEk=";
+  cargoHash = "sha256-MMeeUoj3vYd1lv15N3+qjHbn991IVMhIUCMd0isCNhk=";
 
   nativeBuildInputs = [ pkg-config ];
 
   buildInputs = [ openssl ];
 
-  meta = with lib; {
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
     description = "Local network server with live reload feature for static pages";
     downloadPage = "https://github.com/lomirus/live-server/releases";
     homepage = "https://github.com/lomirus/live-server";
-    license = licenses.mit;
+    changelog = "https://github.com/lomirus/live-server/releases/tag/v${finalAttrs.version}";
+    license = lib.licenses.mit;
     mainProgram = "live-server";
-    maintainers = [ maintainers.philiptaron ];
-    platforms = platforms.unix;
+    maintainers = [ lib.maintainers.philiptaron ];
+    platforms = lib.platforms.unix;
   };
-}
+})
diff --git a/pkgs/by-name/li/livebook/package.nix b/pkgs/by-name/li/livebook/package.nix
index 9bdef0421da4..33e0df984151 100644
--- a/pkgs/by-name/li/livebook/package.nix
+++ b/pkgs/by-name/li/livebook/package.nix
@@ -11,7 +11,7 @@
 }:
 beamPackages.mixRelease rec {
   pname = "livebook";
-  version = "0.16.1";
+  version = "0.16.2";
 
   inherit elixir;
 
@@ -23,7 +23,7 @@ beamPackages.mixRelease rec {
     owner = "livebook-dev";
     repo = "livebook";
     tag = "v${version}";
-    hash = "sha256-vZFmd9Y5KEnQqzvCmGKGUbY+yR7IEc+0n0sycPDMxa8=";
+    hash = "sha256-x4h5vT2p1SL/8p04DRpKbIbwL7XzctH27f4ZAwj0QOg=";
   };
 
   mixFodDeps = beamPackages.fetchMixDeps {
diff --git a/pkgs/applications/virtualization/lkl/lkl-defconfig-enable-nftables b/pkgs/by-name/lk/lkl/lkl-defconfig-enable-nftables
similarity index 100%
rename from pkgs/applications/virtualization/lkl/lkl-defconfig-enable-nftables
rename to pkgs/by-name/lk/lkl/lkl-defconfig-enable-nftables
diff --git a/pkgs/applications/virtualization/lkl/default.nix b/pkgs/by-name/lk/lkl/package.nix
similarity index 82%
rename from pkgs/applications/virtualization/lkl/default.nix
rename to pkgs/by-name/lk/lkl/package.nix
index deaefb7db927..f9b208c05d56 100644
--- a/pkgs/applications/virtualization/lkl/default.nix
+++ b/pkgs/by-name/lk/lkl/package.nix
@@ -6,7 +6,7 @@
   python3,
   bison,
   flex,
-  fuse,
+  fuse3,
   libarchive,
   buildPackages,
 
@@ -16,11 +16,7 @@
 stdenv.mkDerivation {
   pname = "lkl";
 
-  # NOTE: pinned to the last known version that doesn't have a hang in cptofs.
-  # Please verify `nix build -f nixos/release-combined.nix nixos.ova` works
-  # before attempting to update again.
-  # ref: https://github.com/NixOS/nixpkgs/pull/219434
-  version = "2022-08-08";
+  version = "2025-03-20";
 
   outputs = [
     "dev"
@@ -31,8 +27,8 @@ stdenv.mkDerivation {
   src = fetchFromGitHub {
     owner = "lkl";
     repo = "linux";
-    rev = "ffbb4aa67b3e0a64f6963f59385a200d08cb2d8b";
-    sha256 = "sha256-24sNREdnhkF+P+3P0qEh2tF1jHKF7KcbFSn/rPK2zWs=";
+    rev = "fd33ab3d21a99a31683ebada5bd3db3a54a58800";
+    sha256 = "sha256-3uPkOyL/hoA/H2gKrEEDsuJvwOE2x27vxY5Y2DyNNxU=";
   };
 
   nativeBuildInputs = [
@@ -43,7 +39,7 @@ stdenv.mkDerivation {
   ];
 
   buildInputs = [
-    fuse
+    fuse3
     libarchive
   ];
 
@@ -57,7 +53,7 @@ stdenv.mkDerivation {
       # Fixup build with newer Linux headers: https://github.com/lkl/linux/pull/484
       sed '1i#include ' -i tools/lkl/lib/hijack/xlate.c
     ''
-    + lib.optionalString stdenv.hostPlatform.isi686 ''
+    + lib.optionalString (stdenv.hostPlatform.isi686 || stdenv.hostPlatform.isLoongArch64) ''
       echo CONFIG_KALLSYMS=n >> arch/lkl/configs/defconfig
       echo CONFIG_KALLSYMS_BASE_RELATIVE=n >> arch/lkl/configs/defconfig
     ''
@@ -96,6 +92,12 @@ stdenv.mkDerivation {
   # symbol lookup error: liblkl-hijack.so: undefined symbol: __aarch64_ldadd4_sync
   env.NIX_CFLAGS_LINK = "-lgcc_s";
 
+  # Fixes the following error when linking on loongarch64-linux:
+  # ld: tools/lkl/liblkl.a(lkl.o): relocation R_LARCH_PCREL20_S2 overflow 0x200090
+  # ld: recompile with 'gcc -mno-relax' or 'as -mno-relax' or 'ld --no-relax'
+  # ld: final link failed: bad value
+  env.NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isLoongArch64 "--no-relax";
+
   makeFlags = [
     "-C tools/lkl"
     "CC=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc"
@@ -116,7 +118,7 @@ stdenv.mkDerivation {
     platforms = platforms.linux; # Darwin probably works too but I haven't tested it
     license = licenses.gpl2;
     maintainers = with maintainers; [
-      raitobezarius
+      timschumi
     ];
   };
 }
diff --git a/pkgs/by-name/ll/llama-cpp/package.nix b/pkgs/by-name/ll/llama-cpp/package.nix
index c0ac00cdc34b..5841e1aac8b5 100644
--- a/pkgs/by-name/ll/llama-cpp/package.nix
+++ b/pkgs/by-name/ll/llama-cpp/package.nix
@@ -72,13 +72,13 @@ let
 in
 effectiveStdenv.mkDerivation (finalAttrs: {
   pname = "llama-cpp";
-  version = "5535";
+  version = "5702";
 
   src = fetchFromGitHub {
     owner = "ggml-org";
     repo = "llama.cpp";
     tag = "b${finalAttrs.version}";
-    hash = "sha256-n6h4aiszPU7/JV3btPQEJBHeR/YrzVqOzNFAXNPSEAg=";
+    hash = "sha256-EyDuM7eZzmNUvqwVUKYuUNlXbFF+G8x/+4mL/3YsHCc=";
     leaveDotGit = true;
     postFetch = ''
       git -C "$out" rev-parse --short HEAD > $out/COMMIT
diff --git a/pkgs/by-name/lm/lm_sensors/package.nix b/pkgs/by-name/lm/lm_sensors/package.nix
index 9fcabb816a74..a68a12891262 100644
--- a/pkgs/by-name/lm/lm_sensors/package.nix
+++ b/pkgs/by-name/lm/lm_sensors/package.nix
@@ -2,7 +2,6 @@
   lib,
   stdenv,
   fetchFromGitHub,
-  fetchpatch,
   bash,
   bison,
   flex,
@@ -13,30 +12,21 @@
 }:
 
 let
-  version = "3.6.0";
+  version = "3.6.2";
   tag = "V" + lib.replaceStrings [ "." ] [ "-" ] version;
-in
 
+in
 stdenv.mkDerivation {
   pname = "lm-sensors";
   inherit version;
 
   src = fetchFromGitHub {
-    owner = "lm-sensors";
+    owner = "hramrach"; # openSUSE fork used by openSUSE and Gentoo
     repo = "lm-sensors";
     inherit tag;
-    hash = "sha256-9lfHCcODlS7sZMjQhK0yQcCBEoGyZOChx/oM0CU37sY=";
+    hash = "sha256-EmS9H3TQac6bHs2G8t1C2cQNAjN13zPoKDysny6aTFw=";
   };
 
-  patches = [
-    # Fix compile failure on GCC 14 with `sensord` enabled.
-    # From: https://github.com/lm-sensors/lm-sensors/pull/483
-    (fetchpatch {
-      url = "https://github.com/lm-sensors/lm-sensors/pull/483/commits/7a6170f07d05cc6601b4668f211e9389f2e75286.patch";
-      hash = "sha256-Q49quv3eXeMvY3jgZFs/F7Rljbq4YyehIDIlsgmloBQ=";
-    })
-  ];
-
   outputs = [
     "bin"
     "out"
@@ -45,13 +35,13 @@ stdenv.mkDerivation {
     "doc"
   ];
 
-  # Upstream build system have knob to enable and disable building of static
-  # library, shared library is built unconditionally.
-  postPatch = lib.optionalString stdenv.hostPlatform.isStatic ''
-    sed -i 'lib/Module.mk' -e '/LIBTARGETS :=/,+1d; /-m 755/ d'
-    substituteInPlace prog/sensors/Module.mk \
-      --replace-fail 'lib/$(LIBSHBASENAME)' ""
-  '';
+  postPatch =
+    # This allows sensors to continue reading the sensors3.conf as provided by
+    # upstream and also look for config fragments in /etc/sensors.d
+    ''
+      substituteInPlace lib/init.c \
+        --replace-fail 'ETCDIR "/sensors.d"' '"/etc/sensors.d"'
+    '';
 
   nativeBuildInputs = [
     bison
@@ -73,6 +63,8 @@ stdenv.mkDerivation {
     "MANDIR=${placeholder "man"}/share/man"
     # This is a dependency of the library.
     "ETCDIR=${placeholder "out"}/etc"
+    "BUILD_SHARED_LIB=${if stdenv.hostPlatform.isStatic then "0" else "1"}"
+    "BUILD_STATIC_LIB=${if stdenv.hostPlatform.isStatic then "1" else "0"}"
 
     "CC=${stdenv.cc.targetPrefix}cc"
     "AR=${stdenv.cc.targetPrefix}ar"
@@ -80,21 +72,15 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
-  # Making regexp to patch-out installing of .so symlinks from Makefile is
-  # complicated, it is easier to remove them post-install.
-  postInstall =
-    ''
-      mkdir -p $doc/share/doc/lm_sensors
-      cp -r configs doc/* $doc/share/doc/lm_sensors
-    ''
-    + lib.optionalString stdenv.hostPlatform.isStatic ''
-      rm $out/lib/*.so*
-    '';
+  postInstall = ''
+    mkdir -p $doc/share/doc/lm_sensors
+    cp -r configs doc/* $doc/share/doc/lm_sensors
+  '';
 
   meta = {
     homepage = "https://hwmon.wiki.kernel.org/lm_sensors";
-    changelog = "https://raw.githubusercontent.com/lm-sensors/lm-sensors/${tag}/CHANGES";
-    description = "Tools for reading hardware sensors";
+    changelog = "https://raw.githubusercontent.com/hramrach/lm-sensors/${tag}/CHANGES";
+    description = "Tools for reading hardware sensors - maintained fork";
     license = with lib.licenses; [
       lgpl21Plus
       gpl2Plus
diff --git a/pkgs/by-name/ln/lnd/package.nix b/pkgs/by-name/ln/lnd/package.nix
index 2bf48b1af1e9..4c0858c16d04 100644
--- a/pkgs/by-name/ln/lnd/package.nix
+++ b/pkgs/by-name/ln/lnd/package.nix
@@ -23,16 +23,16 @@
 
 buildGoModule rec {
   pname = "lnd";
-  version = "0.19.0-beta";
+  version = "0.19.1-beta";
 
   src = fetchFromGitHub {
     owner = "lightningnetwork";
     repo = "lnd";
     rev = "v${version}";
-    hash = "sha256-eKRgkD/kUz0MkK624R3OahTHOrdP18nBuSZP1volHq8=";
+    hash = "sha256-ifxEUEQUhy1msMsP+rIx0s1GkI+569kMR9LwymeSPkY=";
   };
 
-  vendorHash = "sha256-A7veNDrPke1N+1Ctg4cMqjPhTwyVfbkGMi/YP1xIUqY=";
+  vendorHash = "sha256-FYyjCNiHKoG7/uvxhHKnEz3J4GuKwEJcjrFXYqCxTtc=";
 
   subPackages = [
     "cmd/lncli"
diff --git a/pkgs/by-name/ln/lndir/package.nix b/pkgs/by-name/ln/lndir/package.nix
new file mode 100644
index 000000000000..9e18819a4947
--- /dev/null
+++ b/pkgs/by-name/ln/lndir/package.nix
@@ -0,0 +1,59 @@
+{
+  lib,
+  stdenv,
+  fetchurl,
+  updateAutotoolsGnuConfigScriptsHook,
+  writeScript,
+}:
+stdenv.mkDerivation (finalAttrs: {
+  pname = "lndir";
+  version = "1.0.5";
+
+  src = fetchurl {
+    url = "mirror://xorg/individual/util/lndir-${finalAttrs.version}.tar.xz";
+    hash = "sha256-O2VXelV1zOCVZk9UkhZKlpQYAP5ikKEjcx1H8+cQTds=";
+  };
+
+  strictDeps = true;
+
+  nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ];
+
+  preConfigure = ''
+    # removes dependency on xorgproto
+    # from commit 466f1d85d21f79237123d74598a3d7f073513685
+    # also fix build due to missing import of unistd.h
+    export XPROTO_CFLAGS=" "
+    export XPROTO_LIBS=" "
+    substituteInPlace lndir.c \
+      --replace-fail '' "" \
+      --replace-fail '#include ' "" \
+      --replace-fail '_X_ATTRIBUTE_PRINTF(1,2)' '__attribute__((__format__(__printf__,1,2)))' \
+      --replace-fail '_X_ATTRIBUTE_PRINTF(2,3)' '__attribute__((__format__(__printf__,2,3)))' \
+      --replace-fail '_X_NORETURN' '__attribute__((noreturn))'
+
+    # supposed to make lndir it work on directories with st_nlink set to 1 (such as on btrfs).
+    # from commit 26164c05c5a227462e8f076db6018a4c55fa1412
+    substituteInPlace lndir.c \
+      --replace-fail 'n_dirs--;' ""
+  '';
+
+  passthru = {
+    updateScript = writeScript "update-${finalAttrs.pname}" ''
+      #!/usr/bin/env nix-shell
+      #!nix-shell -i bash -p common-updater-scripts
+      version="$(list-directory-versions --pname ${finalAttrs.pname} \
+        --url https://xorg.freedesktop.org/releases/individual/util/ \
+        | sort -V | tail -n1)"
+      update-source-version ${finalAttrs.pname} "$version"
+    '';
+  };
+
+  meta = {
+    description = "Create a shadow directory of symbolic links to another directory tree";
+    homepage = "https://gitlab.freedesktop.org/xorg/util/lndir";
+    license = lib.licenses.mitOpenGroup;
+    mainProgram = "lndir";
+    maintainers = [ ];
+    platforms = lib.platforms.unix;
+  };
+})
diff --git a/pkgs/by-name/lo/lockfileProgs/package.nix b/pkgs/by-name/lo/lockfileProgs/package.nix
index 10605e8c6703..1040d43fc0e1 100644
--- a/pkgs/by-name/lo/lockfileProgs/package.nix
+++ b/pkgs/by-name/lo/lockfileProgs/package.nix
@@ -33,8 +33,6 @@ stdenv.mkDerivation rec {
     description = "Programs for locking and unlocking files and mailboxes";
     homepage = "http://packages.debian.org/sid/lockfile-progs";
     license = lib.licenses.gpl2Only;
-
-    maintainers = [ lib.maintainers.bluescreen303 ];
     platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/by-name/lo/logcheck/package.nix b/pkgs/by-name/lo/logcheck/package.nix
index 83c54e62f1c6..26e6d87115a7 100644
--- a/pkgs/by-name/lo/logcheck/package.nix
+++ b/pkgs/by-name/lo/logcheck/package.nix
@@ -49,6 +49,5 @@ stdenv.mkDerivation rec {
     '';
     homepage = "https://salsa.debian.org/debian/logcheck";
     license = licenses.gpl2Plus;
-    maintainers = [ maintainers.bluescreen303 ];
   };
 }
diff --git a/pkgs/by-name/lo/logdy/package.nix b/pkgs/by-name/lo/logdy/package.nix
index 7489359941a9..842ec1e4d894 100644
--- a/pkgs/by-name/lo/logdy/package.nix
+++ b/pkgs/by-name/lo/logdy/package.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "logdy";
-  version = "0.17.0";
+  version = "0.17.1";
 
   src = fetchFromGitHub {
     owner = "logdyhq";
     repo = "logdy-core";
     tag = "v${version}";
-    hash = "sha256-779ZO9WhE3IKbHJLchCfrIepMH+GOrlQJALLpoNZvbc=";
+    hash = "sha256-NV1vgHUeIH1k1E5hdO3fXrXl1+B30AUM2aexlxz5g8o=";
   };
 
   vendorHash = "sha256-kFhcbBMymzlJ+2zw7l09LJfCdps26Id+VzOehqrLDWU=";
diff --git a/pkgs/by-name/lo/lokinet/package.nix b/pkgs/by-name/lo/lokinet/package.nix
index e9a143f3c6d1..71814f6431be 100644
--- a/pkgs/by-name/lo/lokinet/package.nix
+++ b/pkgs/by-name/lo/lokinet/package.nix
@@ -26,14 +26,14 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "lokinet";
-  version = "0.9.11";
+  version = "0.9.13";
 
   src = fetchFromGitHub {
     owner = "oxen-io";
     repo = "lokinet";
     tag = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-aVFLDGTbRUOw2XWDpl+ojwHBG7c0miGeoKMLwMpqVtg=";
+    hash = "sha256-6TVMuT4O8zJj97873BTsR1PJU8NaBgYr/nBkc/EfQuQ=";
   };
 
   patches = [
diff --git a/pkgs/by-name/lo/lon/package.nix b/pkgs/by-name/lo/lon/package.nix
index 718b48d3586a..450dd563e27e 100644
--- a/pkgs/by-name/lo/lon/package.nix
+++ b/pkgs/by-name/lo/lon/package.nix
@@ -10,19 +10,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "lon";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "nikstur";
     repo = "lon";
     tag = version;
-    hash = "sha256-+hCqAtu9uo9BndZogXUIMMoL1pXmwyec5edj6gg82GM=";
+    hash = "sha256-bxu83mbdfAeDZYOnjZQYyjTs5WgZS8o6Q2irlzgbYs0=";
   };
 
   sourceRoot = "source/rust/lon";
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-i+DAVtXAYQ254Y7jechjOcwe3nT/0O4AzxBH5QkK9aM=";
+  cargoHash = "sha256-x+qxn0s64fPJpTG/d0PgzAdzMXegYdnsC1FFFuBpsaI=";
 
   nativeBuildInputs = [ makeBinaryWrapper ];
 
diff --git a/pkgs/by-name/ls/lstr/package.nix b/pkgs/by-name/ls/lstr/package.nix
new file mode 100644
index 000000000000..e412a55f7714
--- /dev/null
+++ b/pkgs/by-name/ls/lstr/package.nix
@@ -0,0 +1,46 @@
+{
+  lib,
+  stdenv,
+  rustPlatform,
+  fetchFromGitHub,
+  pkg-config,
+  gitMinimal,
+  openssl,
+  versionCheckHook,
+}:
+
+rustPlatform.buildRustPackage (finalAttrs: {
+  pname = "lstr";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "bgreenwell";
+    repo = "lstr";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-Bg2tJYnXpJQasmcRv+ZIZAVteKUCuTgFKVRHw1CCiAQ=";
+  };
+
+  cargoHash = "sha256-KlO/Uz9UPea4DFC6U4hvn4kOWSzUmYmckw+IUstcmeQ=";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ (lib.getDev openssl) ];
+
+  nativeCheckInputs = [ gitMinimal ];
+
+  nativeInstallCheckInputs = [ versionCheckHook ];
+
+  doInstallCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
+
+  meta = {
+    description = "Fast, minimalist directory tree viewer written in Rust";
+    homepage = "https://github.com/bgreenwell/lstr";
+    changelog = "https://github.com/bgreenwell/lstr/blob/v${finalAttrs.version}/CHANGELOG.md";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [
+      DieracDelta
+      philiptaron
+    ];
+    mainProgram = "lstr";
+  };
+})
diff --git a/pkgs/by-name/lu/luanti/package.nix b/pkgs/by-name/lu/luanti/package.nix
index d99cddaf95a9..e16bbb430b82 100644
--- a/pkgs/by-name/lu/luanti/package.nix
+++ b/pkgs/by-name/lu/luanti/package.nix
@@ -34,18 +34,18 @@
   buildClient ? true,
   buildServer ? true,
   SDL2,
-  useSDL2 ? false,
+  useSDL2 ? true,
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "luanti";
-  version = "5.11.0";
+  version = "5.12.0";
 
   src = fetchFromGitHub {
-    owner = "minetest";
-    repo = "minetest";
+    owner = "luanti-org";
+    repo = "luanti";
     tag = finalAttrs.version;
-    hash = "sha256-0PJK7sS2oFTNWex9rLTgVIqaRhwuUb6H5HIlVOGA08k=";
+    hash = "sha256-voP2/6s2tjsIULHa5+M08oNNLg0YQmtFmPeNO4TnE9E=";
   };
 
   patches = [
@@ -120,7 +120,7 @@ stdenv.mkDerivation (finalAttrs: {
     ++ lib.optionals (buildClient && useSDL2) [
       SDL2
     ]
-    ++ lib.optionals (buildClient && !stdenv.hostPlatform.isDarwin && !useSDL2) [
+    ++ lib.optionals (buildClient && !stdenv.hostPlatform.isDarwin) [
       xorg.libX11
       xorg.libXi
     ]
diff --git a/pkgs/by-name/lu/luau-lsp/package.nix b/pkgs/by-name/lu/luau-lsp/package.nix
index 653b353e250f..1fed2eb734d8 100644
--- a/pkgs/by-name/lu/luau-lsp/package.nix
+++ b/pkgs/by-name/lu/luau-lsp/package.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "luau-lsp";
-  version = "1.48.0";
+  version = "1.49.1";
 
   src = fetchFromGitHub {
     owner = "JohnnyMorganz";
     repo = "luau-lsp";
     tag = finalAttrs.version;
-    hash = "sha256-KW47R5hOFESDiPt/dvVLFQqHqLxza/lUNLy2PYUPxIg=";
+    hash = "sha256-CRfDJXAgofDV9yeF0C91rTLVVa+cqBvqbzlR90AYfVU=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/by-name/lu/luau/package.nix b/pkgs/by-name/lu/luau/package.nix
index 4fc41cbfd764..60a0e49cfa79 100644
--- a/pkgs/by-name/lu/luau/package.nix
+++ b/pkgs/by-name/lu/luau/package.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "luau";
-  version = "0.677";
+  version = "0.678";
 
   src = fetchFromGitHub {
     owner = "luau-lang";
     repo = "luau";
     tag = finalAttrs.version;
-    hash = "sha256-cX0WoiK1CZBwPrQfYSJAGcQzM91Trn3PGsQigGX8jds=";
+    hash = "sha256-FYh7LTLDdl3eYXRDAn+FDkqBCiWY0JqHrX9lbz5r+gI=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/by-name/lu/lug-helper/package.nix b/pkgs/by-name/lu/lug-helper/package.nix
index 0c2b4551b0a7..b45a19310749 100644
--- a/pkgs/by-name/lu/lug-helper/package.nix
+++ b/pkgs/by-name/lu/lug-helper/package.nix
@@ -15,12 +15,12 @@
 }:
 stdenvNoCC.mkDerivation (finalAttrs: {
   name = "lug-helper";
-  version = "3.10";
+  version = "3.11";
   src = fetchFromGitHub {
     owner = "starcitizen-lug";
     repo = "lug-helper";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-AEHFyKoxIdckir/S96hwR3h9PuzlB5EMWF7PPbeVPYg=";
+    hash = "sha256-RVjtAfabmBfEYUfgoXK4EZSyFC00qdo5CMkW2Op0P5A=";
   };
 
   buildInputs = [
diff --git a/pkgs/by-name/lu/lunar-client/package.nix b/pkgs/by-name/lu/lunar-client/package.nix
index 99527086416f..23a16a4daff9 100644
--- a/pkgs/by-name/lu/lunar-client/package.nix
+++ b/pkgs/by-name/lu/lunar-client/package.nix
@@ -7,11 +7,11 @@
 
 appimageTools.wrapType2 rec {
   pname = "lunarclient";
-  version = "3.3.9";
+  version = "3.3.11";
 
   src = fetchurl {
     url = "https://launcherupdates.lunarclientcdn.com/Lunar%20Client-${version}.AppImage";
-    hash = "sha512-XeaxhpAuOOwsUSdzR/Tb58A8P1MZQDUBFST+NVX3z54BCfLkc8JNHnIKphwBfdf3bj3CF0a93rPTWNnd850aWA==";
+    hash = "sha512-zr/SesISQhOl4omVKSLXJ7U7OHOlAxZExHm/hkpaF+/KS8z+/vRplILKOlbWU2kX/FliLSvvxIdZo8+2psSRTQ==";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/by-name/lu/lutgen/package.nix b/pkgs/by-name/lu/lutgen/package.nix
index 011a65ce898f..6dde81b6a3db 100644
--- a/pkgs/by-name/lu/lutgen/package.nix
+++ b/pkgs/by-name/lu/lutgen/package.nix
@@ -8,17 +8,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "lutgen";
-  version = "0.12.0";
+  version = "0.12.1";
 
   src = fetchFromGitHub {
     owner = "ozwaldorf";
     repo = "lutgen-rs";
     rev = "v${version}";
-    hash = "sha256-VE4R0rdQbZ7cyCPRtWWARUAnlR/KWGFUoJSJ4lySwzY=";
+    hash = "sha256-JFVDiq53AZhiTqEXplCuKoATxeHp/HDJ8p0a6WzVq6I=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-H913/EjCh14AcCIj/Em6neP5F6i88rSVbPMmnS3po/I=";
+  cargoHash = "sha256-tOFO2eRWd03zzGX3Ia1IBQ27kmSMX7JgbXmaejRTfp4=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/by-name/lu/lux-cli/package.nix b/pkgs/by-name/lu/lux-cli/package.nix
index 56dc3fdade1f..077dc9dd00c7 100644
--- a/pkgs/by-name/lu/lux-cli/package.nix
+++ b/pkgs/by-name/lu/lux-cli/package.nix
@@ -17,18 +17,18 @@
 rustPlatform.buildRustPackage rec {
   pname = "lux-cli";
 
-  version = "0.6.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "nvim-neorocks";
     repo = "lux";
-    tag = "v0.6.0";
-    hash = "sha256-bGG/W0ESiBAorcZrc34JrIF7pPAKatqOCeE8/jM9t7g=";
+    tag = "v0.7.1";
+    hash = "sha256-x5Bs/Zq0gfJAC3VFKG1hCg95IZ0qpgf8kBfFccP5HgU=";
   };
 
   buildAndTestSubdir = "lux-cli";
   useFetchCargoVendor = true;
-  cargoHash = "sha256-UXiEicwQ/GnKAel3PlgpoZBfHNURmRi+Urjszlwz8mU=";
+  cargoHash = "sha256-lGQToe1nM6tjcoxYy94wiGMevm3/B7MD6NOIX61GpMA=";
 
   nativeInstallCheckInputs = [
     versionCheckHook
@@ -79,7 +79,7 @@ rustPlatform.buildRustPackage rec {
     '';
     homepage = "https://nvim-neorocks.github.io/";
     changelog = "https://github.com/nvim-neorocks/lux/blob/${src.tag}/CHANGELOG.md";
-    license = lib.licenses.mit;
+    license = lib.licenses.lgpl3Plus;
     maintainers = with lib.maintainers; [
       mrcjkb
     ];
diff --git a/pkgs/by-name/lx/lxdvdrip/package.nix b/pkgs/by-name/lx/lxdvdrip/package.nix
deleted file mode 100644
index 600913966764..000000000000
--- a/pkgs/by-name/lx/lxdvdrip/package.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{
-  lib,
-  stdenv,
-  fetchurl,
-  libdvdread,
-}:
-
-stdenv.mkDerivation rec {
-  pname = "lxdvdrip";
-  version = "1.77";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/lxdvdrip/lxdvdrip-${version}.tgz";
-    hash = "sha256-OzHrscftsCmJvSw7bb/Z2WDP322VCuQDY58dW2OqxB8=";
-  };
-
-  postPatch = ''
-    sed -i -e s,/usr/local,$out, -e s,/etc,$out/etc,g Makefile
-    sed -i -e s,/usr/local,$out, mbuffer/Makefile
-  '';
-
-  makeFlags = [
-    "PREFIX=${placeholder "out"}"
-  ];
-
-  preInstall = ''
-    mkdir -p $out/man/man1 $out/bin $out/share $out/etc
-  '';
-
-  buildInputs = [ libdvdread ];
-
-  meta = {
-    broken = (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64);
-    description = "Command line tool to make a copy from a video DVD for private use";
-    homepage = "https://sourceforge.net/projects/lxdvdrip";
-    license = lib.licenses.gpl2;
-    platforms = lib.platforms.linux;
-  };
-}
diff --git a/pkgs/by-name/lx/lxgw-neoxihei/package.nix b/pkgs/by-name/lx/lxgw-neoxihei/package.nix
index efd0e0187b7b..102698250980 100644
--- a/pkgs/by-name/lx/lxgw-neoxihei/package.nix
+++ b/pkgs/by-name/lx/lxgw-neoxihei/package.nix
@@ -6,11 +6,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "lxgw-neoxihei";
-  version = "1.216.2";
+  version = "1.218";
 
   src = fetchurl {
     url = "https://github.com/lxgw/LxgwNeoXiHei/releases/download/v${version}/LXGWNeoXiHei.ttf";
-    hash = "sha256-fRg0JhN3VxO2si5yuN//SddgiA/A5D7AHkCXhQuI0SA=";
+    hash = "sha256-TGl4J4r7ueAahrTgsJH0DlucuT2OrW3NzR1jQGwQA7E=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/by-name/lx/lxgw-wenkai-screen/package.nix b/pkgs/by-name/lx/lxgw-wenkai-screen/package.nix
index 4736c074e7ed..9c02ea875899 100644
--- a/pkgs/by-name/lx/lxgw-wenkai-screen/package.nix
+++ b/pkgs/by-name/lx/lxgw-wenkai-screen/package.nix
@@ -6,11 +6,11 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "lxgw-wenkai-screen";
-  version = "1.510";
+  version = "1.520";
 
   src = fetchurl {
     url = "https://github.com/lxgw/LxgwWenKai-Screen/releases/download/v${finalAttrs.version}/LXGWWenKaiScreen.ttf";
-    hash = "sha256-JAU87Jb3gqS1mXYprWKYt5xnzMVlZR992PNmsqnTF3U=";
+    hash = "sha256-AxTlH8AZBu66WNbjv45cAuFRrItUeElEvyorEkXKQe4=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/by-name/lx/lxgw-wenkai-tc/package.nix b/pkgs/by-name/lx/lxgw-wenkai-tc/package.nix
index 6cb1035803fa..c700761426c8 100644
--- a/pkgs/by-name/lx/lxgw-wenkai-tc/package.nix
+++ b/pkgs/by-name/lx/lxgw-wenkai-tc/package.nix
@@ -6,10 +6,10 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "lxgw-wenkai-tc";
-  version = "1.511";
+  version = "1.520";
   src = fetchurl {
     url = "https://github.com/lxgw/LxgwWenKaiTC/releases/download/v${version}/lxgw-wenkai-tc-v${version}.tar.gz";
-    hash = "sha256-2XeON6wzV8OuFsFKRGKpsOJUxQAsQsFoRu+vDyWoMkI=";
+    hash = "sha256-cdbB16LTeAhZCB/syE49GZfwyzQ4jRFbzdb7UpHI2/k=";
   };
 
   installPhase = ''
diff --git a/pkgs/by-name/lx/lxgw-wenkai/package.nix b/pkgs/by-name/lx/lxgw-wenkai/package.nix
index f937ba080331..59a2061547fd 100644
--- a/pkgs/by-name/lx/lxgw-wenkai/package.nix
+++ b/pkgs/by-name/lx/lxgw-wenkai/package.nix
@@ -6,11 +6,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "lxgw-wenkai";
-  version = "1.511";
+  version = "1.520";
 
   src = fetchurl {
     url = "https://github.com/lxgw/LxgwWenKai/releases/download/v${version}/${pname}-v${version}.tar.gz";
-    hash = "sha256-cIHGoTw/vWq7nu+3gCgbYcJU3hpS4NxdNLMnu21vbuA=";
+    hash = "sha256-8Gm8zFQ5IYauSPZ27Mc5ZLcfKO90C251IxqQlG/jlrE=";
   };
 
   installPhase = ''
diff --git a/pkgs/by-name/lx/lxqt-panel-profiles/package.nix b/pkgs/by-name/lx/lxqt-panel-profiles/package.nix
index 0587b72220cf..6055982917c2 100644
--- a/pkgs/by-name/lx/lxqt-panel-profiles/package.nix
+++ b/pkgs/by-name/lx/lxqt-panel-profiles/package.nix
@@ -13,14 +13,14 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "lxqt-panel-profiles";
-  version = "1.1";
+  version = "1.2";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "MrReplikant";
     repo = "lxqt-panel-profiles";
     rev = version;
-    hash = "sha256-YGjgTLodVTtDzP/SOEg+Ehf1LYggTnG1H1rN5m1jaNM=";
+    hash = "sha256-V76R3mWF/PgweMaDYTr6eJ3IDBsSJ8BSP5MYpKAWxM8=";
   };
 
   postPatch = ''
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     --replace-fail "python3" "${pythonWithPyqt6}/bin/python"
 
     substituteInPlace usr/share/lxqt-panel-profiles/lxqt-panel-profiles.py \
-    --replace-fail "qdbus" "${qt6.qttools}/bin/qdbus"
+    --replace-fail "qdbus6" "${qt6.qttools}/bin/qdbus"
   '';
 
   installPhase = ''
diff --git a/pkgs/by-name/ly/ly/deps.nix b/pkgs/by-name/ly/ly/deps.nix
index 17a9803b92f2..67982e9667a4 100644
--- a/pkgs/by-name/ly/ly/deps.nix
+++ b/pkgs/by-name/ly/ly/deps.nix
@@ -89,23 +89,23 @@ let
 in
 linkFarm name [
   {
-    name = "122062d301a203d003547b414237229b09a7980095061697349f8bef41be9c30266b";
+    name = "clap-0.10.0-oBajB434AQBDh-Ei3YtoKIRxZacVPF1iSwp3IX_ZB8f0";
     path = fetchZigArtifact {
       name = "clap";
-      url = "https://github.com/Hejsil/zig-clap/archive/refs/tags/0.9.1.tar.gz";
-      hash = "sha256-7qxm/4xb+58MGG+iUzssUtR97OG2dRjAqyS0BAet4HY=";
+      url = "https://github.com/Hejsil/zig-clap/archive/refs/tags/0.10.0.tar.gz";
+      hash = "sha256-cbPGmVlIXwIuRPIfQoFXzwLulT4XEv8rQWcJUl1ueyo=";
     };
   }
   {
-    name = "12209b971367b4066d40ecad4728e6fdffc4cc4f19356d424c2de57f5b69ac7a619a";
+    name = "zigini-0.3.1-BSkB7XJGAAB2E-sKyzhTaQCBlYBL8yqzE4E_jmSY99sC";
     path = fetchZigArtifact {
       name = "zigini";
-      url = "https://github.com/Kawaii-Ash/zigini/archive/0bba97a12582928e097f4074cc746c43351ba4c8.tar.gz";
-      hash = "sha256-OdaJ5tqmk2MPwaAbpK4HRD/CcQCN+Cjj8U63BqUcFMs=";
+      url = "https://github.com/Kawaii-Ash/zigini/archive/2ed3d417f17fab5b0ee8cad8a63c6d62d7ac1042.tar.gz";
+      hash = "sha256-Zj9uU6EEHkNZ1cPIDgDj1E2CEpbmPmpJYjSSFnxxdf0=";
     };
   }
   {
-    name = "1220b0979ea9891fa4aeb85748fc42bc4b24039d9c99a4d65d893fb1c83e921efad8";
+    name = "N-V-__8AAB9qAACwl56piR-krrhXSPxCvEskA52cmaTWXYk_";
     path = fetchZigArtifact {
       name = "ini";
       url = "https://github.com/ziglibs/ini/archive/e18d36665905c1e7ba0c1ce3e8780076b33e3002.tar.gz";
diff --git a/pkgs/by-name/ly/ly/package.nix b/pkgs/by-name/ly/ly/package.nix
index dcd17d426390..be47fbe07f1a 100644
--- a/pkgs/by-name/ly/ly/package.nix
+++ b/pkgs/by-name/ly/ly/package.nix
@@ -1,51 +1,55 @@
 {
   stdenv,
   lib,
-  fetchFromGitHub,
+  fetchFromGitea,
   linux-pam,
   libxcb,
   makeBinaryWrapper,
-  zig_0_13,
+  zig_0_14,
   callPackage,
   nixosTests,
+  x11Support ? true,
 }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation (finalAttrs: {
   pname = "ly";
-  version = "1.0.3";
+  version = "1.1.0";
 
-  src = fetchFromGitHub {
-    owner = "fairyglade";
+  src = fetchFromGitea {
+    domain = "codeberg.org";
+    owner = "AnErrupTion";
     repo = "ly";
-    rev = "v1.0.3";
-    hash = "sha256-TsEn0kH7j4myjjgwHnbOUmIZjHn8A1d/7IjamoWxpXQ=";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-+rRvrlzV5MDwb/7pr/oZjxxDmE1kbnchyUi70xwp0Cw=";
   };
 
   nativeBuildInputs = [
     makeBinaryWrapper
-    zig_0_13.hook
+    zig_0_14.hook
   ];
   buildInputs = [
-    libxcb
     linux-pam
-  ];
+  ] ++ (lib.optionals x11Support [ libxcb ]);
 
   postPatch = ''
     ln -s ${
       callPackage ./deps.nix {
-        zig = zig_0_13;
+        zig = zig_0_14;
       }
     } $ZIG_GLOBAL_CACHE_DIR/p
   '';
+  zigBuildFlags = [
+    "-Denable_x11_support=${lib.boolToString x11Support}"
+  ];
 
   passthru.tests = { inherit (nixosTests) ly; };
 
-  meta = with lib; {
+  meta = {
     description = "TUI display manager";
-    license = licenses.wtfpl;
-    homepage = "https://github.com/fairyglade/ly";
-    maintainers = [ maintainers.vidister ];
-    platforms = platforms.linux;
+    license = lib.licenses.wtfpl;
+    homepage = "https://codeberg.org/AnErrupTion/ly";
+    maintainers = [ lib.maintainers.vidister ];
+    platforms = lib.platforms.linux;
     mainProgram = "ly";
   };
-}
+})
diff --git a/pkgs/by-name/m-/m-cli/package.nix b/pkgs/by-name/m-/m-cli/package.nix
index 4faa5c6dc184..6d207a8606b6 100644
--- a/pkgs/by-name/m-/m-cli/package.nix
+++ b/pkgs/by-name/m-/m-cli/package.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   src = fetchFromGitHub {
     owner = "rgcr";
-    repo = pname;
+    repo = "m-cli";
     rev = "v${version}";
     sha256 = "sha256-KzlE1DdVMLnGmcOS1a2HK4pASofD1EHpdqbzVVIxeb4=";
   };
diff --git a/pkgs/by-name/ma/magic-vlsi/package.nix b/pkgs/by-name/ma/magic-vlsi/package.nix
index 41d3debe3e95..00c5906785e4 100644
--- a/pkgs/by-name/ma/magic-vlsi/package.nix
+++ b/pkgs/by-name/ma/magic-vlsi/package.nix
@@ -15,11 +15,11 @@
 
 stdenv.mkDerivation rec {
   pname = "magic-vlsi";
-  version = "8.3.526";
+  version = "8.3.528";
 
   src = fetchurl {
     url = "http://opencircuitdesign.com/magic/archive/magic-${version}.tgz";
-    sha256 = "sha256-u6Z/Nfrlzn6JFDbPLPrpaZoR/nUGtE1H1roM6khme1Q=";
+    sha256 = "sha256-GueeY+UfiTJN05elfIrBq3OL+f4RNLs5navee5GSE44=";
   };
 
   nativeBuildInputs = [ python3 ];
diff --git a/pkgs/by-name/ma/makeBinaryWrapper/package.nix b/pkgs/by-name/ma/makeBinaryWrapper/package.nix
index 3ee645ad91f8..749851d547e2 100644
--- a/pkgs/by-name/ma/makeBinaryWrapper/package.nix
+++ b/pkgs/by-name/ma/makeBinaryWrapper/package.nix
@@ -25,7 +25,7 @@ makeSetupHook {
   passthru = {
     # Extract the function call used to create a binary wrapper from its embedded docstring
     extractCmd = writeShellScript "extract-binary-wrapper-cmd" ''
-      ${cc.bintools.targetPrefix}strings -dw "$1" | sed -n '/^makeCWrapper/,/^$/ p'
+      ${targetPackages.gnuStdenv.cc.bintools.targetPrefix}strings -dw "$1" | sed -n '/^makeCWrapper/,/^$/ p'
     '';
 
     tests = tests.makeBinaryWrapper;
diff --git a/pkgs/by-name/ma/mangayomi/package.nix b/pkgs/by-name/ma/mangayomi/package.nix
index 9e7fe1639c21..ff6d2b98f6f4 100644
--- a/pkgs/by-name/ma/mangayomi/package.nix
+++ b/pkgs/by-name/ma/mangayomi/package.nix
@@ -1,7 +1,7 @@
 {
   lib,
   fetchFromGitHub,
-  flutter329,
+  flutter332,
   webkitgtk_4_1,
   mpv,
   rustPlatform,
@@ -13,13 +13,13 @@
 
 let
   pname = "mangayomi";
-  version = "0.6.0";
+  version = "0.6.25";
 
   src = fetchFromGitHub {
     owner = "kodjodevf";
     repo = "mangayomi";
     tag = "v${version}";
-    hash = "sha256-kvwssyVjce9VipANRED5k3a2pdJRAhio6GtM7+5nd38=";
+    hash = "sha256-vuikoTyvUESz9ZESo4gy76syLYVO1WZdvoJf6NsyW4Y=";
   };
 
   metaCommon = {
@@ -38,14 +38,14 @@ let
 
     useFetchCargoVendor = true;
 
-    cargoHash = "sha256-vGu5e5M6CFpaLodEpt8v8DGhu2S5h/E4vvqSNOKkWns=";
+    cargoHash = "sha256-DDHBLQWscORg4+0CX5c2wmrhm2t7wOpotZFB+85w+EA=";
 
     passthru.libraryPath = "lib/librust_lib_mangayomi.so";
 
     meta = metaCommon;
   };
 in
-flutter329.buildFlutterApplication {
+flutter332.buildFlutterApplication {
   inherit pname version src;
 
   pubspecLock = lib.importJSON ./pubspec.lock.json;
@@ -76,8 +76,11 @@ flutter329.buildFlutterApplication {
 
   gitHashes = {
     desktop_webview_window = "sha256-wRxQPlJZZe4t2C6+G5dMx3+w8scxWENLwII08dlZ4IA=";
-    flutter_qjs = "sha256-m+Z0bCswylfd1E2Y6X6bdPivkSlXUxO4J0Icbco+/0A=";
+    flutter_qjs = "sha256-uF3+lQyc6oXWjg9xm8PVXRNZ3AXrw7+FH/lPIQPzaJY=";
     flutter_web_auth_2 = "sha256-3aci73SP8eXg6++IQTQoyS+erUUuSiuXymvR32sxHFw=";
+    epubx = "sha256-Rf9zaabPvP7D4NgyJ+LpSB8zHjBvhq2wE0p9Sy7uOXM=";
+    media_kit_video = "sha256-t8lqS44lylLhMyvlY5G1k7EXfpDq8WshBVg8D/z0Hbc=";
+    re_editor = "sha256-alfzTs9lUHTsaZgXADb1X3T4ZB6KrhIEeGY0wuvZJtU=";
   };
 
   nativeBuildInputs = [ copyDesktopItems ];
diff --git a/pkgs/by-name/ma/mangayomi/pubspec.lock.json b/pkgs/by-name/ma/mangayomi/pubspec.lock.json
index d508932aec8b..71d7cc1b1498 100644
--- a/pkgs/by-name/ma/mangayomi/pubspec.lock.json
+++ b/pkgs/by-name/ma/mangayomi/pubspec.lock.json
@@ -90,11 +90,11 @@
       "dependency": "direct main",
       "description": {
         "name": "archive",
-        "sha256": "7dcbd0f87fe5f61cb28da39a1a8b70dbc106e2fe0516f7836eb7bb2948481a12",
+        "sha256": "2fde1607386ab523f7a36bb3e7edb43bd58e6edaf2ffb29d8a6d578b297fdbbd",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "4.0.5"
+      "version": "4.0.7"
     },
     "args": {
       "dependency": "transitive",
@@ -110,21 +110,21 @@
       "dependency": "transitive",
       "description": {
         "name": "asn1lib",
-        "sha256": "e02d018628c870ef2d7f03e33f9ad179d89ff6ec52ca6c56bcb80bcef979867f",
+        "sha256": "0511d6be23b007e95105ae023db599aea731df604608978dada7f9faf2637623",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.6.2"
+      "version": "1.6.4"
     },
     "async": {
       "dependency": "transitive",
       "description": {
         "name": "async",
-        "sha256": "d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63",
+        "sha256": "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.12.0"
+      "version": "2.13.0"
     },
     "audio_session": {
       "dependency": "transitive",
@@ -276,16 +276,6 @@
       "source": "hosted",
       "version": "1.3.1"
     },
-    "change_case": {
-      "dependency": "transitive",
-      "description": {
-        "name": "change_case",
-        "sha256": "e41ef3df58521194ef8d7649928954805aeb08061917cf658322305e61568003",
-        "url": "https://pub.dev"
-      },
-      "source": "hosted",
-      "version": "2.2.0"
-    },
     "characters": {
       "dependency": "transitive",
       "description": {
@@ -310,11 +300,11 @@
       "dependency": "transitive",
       "description": {
         "name": "chewie",
-        "sha256": "df6711bc3ba165ad19cb496e350250be5673327f79c61c9cc8a15088ed8007ed",
+        "sha256": "4d9554a8f87cc2dc6575dfd5ad20a4375015a29edd567fd6733febe6365e2566",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.11.1"
+      "version": "1.11.3"
     },
     "cli_util": {
       "dependency": "transitive",
@@ -360,11 +350,11 @@
       "dependency": "direct main",
       "description": {
         "name": "connectivity_plus",
-        "sha256": "04bf81bb0b77de31557b58d052b24b3eee33f09a6e7a8c68a3e247c7df19ec27",
+        "sha256": "051849e2bd7c7b3bc5844ea0d096609ddc3a859890ec3a9ac4a65a2620cc1f99",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "6.1.3"
+      "version": "6.1.4"
     },
     "connectivity_plus_platform_interface": {
       "dependency": "transitive",
@@ -446,15 +436,15 @@
       "source": "hosted",
       "version": "1.0.0+7.3.0"
     },
-    "dart_eval": {
+    "d4rt": {
       "dependency": "direct main",
       "description": {
-        "name": "dart_eval",
-        "sha256": "bbad8246a99a3c61925e19b3d2c2bd6311f8186fb4642a16bf3d22153b3ade55",
+        "name": "d4rt",
+        "sha256": "d38cde299f9e434b3c2bd0c07a7f3743e2853dfed60a3ed1f97685c34d922062",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.7.10"
+      "version": "0.0.7"
     },
     "dart_style": {
       "dependency": "transitive",
@@ -501,11 +491,11 @@
       "dependency": "direct main",
       "description": {
         "name": "device_info_plus",
-        "sha256": "306b78788d1bb569edb7c55d622953c2414ca12445b41c9117963e03afc5c513",
+        "sha256": "0c6396126421b590089447154c5f98a5de423b70cfb15b1578fd018843ee6f53",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "11.3.3"
+      "version": "11.4.0"
     },
     "device_info_plus_platform_interface": {
       "dependency": "transitive",
@@ -517,16 +507,6 @@
       "source": "hosted",
       "version": "7.0.2"
     },
-    "directed_graph": {
-      "dependency": "transitive",
-      "description": {
-        "name": "directed_graph",
-        "sha256": "3718b9f697a8e73890dea3d93edb6d58b63778996306b4b19c575710e3e2523d",
-        "url": "https://pub.dev"
-      },
-      "source": "hosted",
-      "version": "0.4.4"
-    },
     "draggable_menu": {
       "dependency": "direct main",
       "description": {
@@ -547,15 +527,16 @@
       "source": "hosted",
       "version": "5.0.3"
     },
-    "exception_templates": {
-      "dependency": "transitive",
+    "epubx": {
+      "dependency": "direct main",
       "description": {
-        "name": "exception_templates",
-        "sha256": "517f7c770da690073663f867ee2057ae2f4ffb28edae9da9faa624aa29ac76eb",
-        "url": "https://pub.dev"
+        "path": ".",
+        "ref": "dev",
+        "resolved-ref": "c8203a489fae5683001556b1d323e35f356294fb",
+        "url": "https://github.com/kodjodevf/epubx.dart.git"
       },
-      "source": "hosted",
-      "version": "0.3.1"
+      "source": "git",
+      "version": "4.0.3"
     },
     "expandable_text": {
       "dependency": "direct main",
@@ -581,31 +562,41 @@
       "dependency": "direct main",
       "description": {
         "name": "extended_image",
-        "sha256": "85199f9233e03abc2ce2e68cbb2991648666af4a527ae4e6250935be8edfddae",
+        "sha256": "f6cbb1d798f51262ed1a3d93b4f1f2aa0d76128df39af18ecb77fa740f88b2e0",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "9.1.0"
+      "version": "10.0.1"
     },
     "extended_image_library": {
       "dependency": "transitive",
       "description": {
         "name": "extended_image_library",
-        "sha256": "e61dafd94400fff6ef7ed1523d445ff3af137f198f3228e4a3107bc5b4bec5d1",
+        "sha256": "ae468c31c375064964de11cbb31310a58c4462df6e3bae1a0bc0066f586795d5",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "4.0.6"
+      "version": "5.0.0"
+    },
+    "fading_edge_scrollview": {
+      "dependency": "transitive",
+      "description": {
+        "name": "fading_edge_scrollview",
+        "sha256": "1f84fe3ea8e251d00d5735e27502a6a250e4aa3d3b330d3fdcb475af741464ef",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.1.1"
     },
     "fake_async": {
       "dependency": "transitive",
       "description": {
         "name": "fake_async",
-        "sha256": "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc",
+        "sha256": "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.3.2"
+      "version": "1.3.3"
     },
     "ffi": {
       "dependency": "direct main",
@@ -641,11 +632,11 @@
       "dependency": "direct main",
       "description": {
         "name": "file_picker",
-        "sha256": "16dc141db5a2ccc6520ebb6a2eb5945b1b09e95085c021d9f914f8ded7f1465c",
+        "sha256": "77f8e81d22d2a07d0dee2c62e1dda71dc1da73bf43bb2d45af09727406167964",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "8.1.4"
+      "version": "10.1.9"
     },
     "fixnum": {
       "dependency": "transitive",
@@ -683,16 +674,6 @@
       "source": "sdk",
       "version": "0.0.0"
     },
-    "flutter_app_installer": {
-      "dependency": "direct main",
-      "description": {
-        "name": "flutter_app_installer",
-        "sha256": "b71f7c3f6c5712b6f9bdcde798bbb8a0c4047cab47c4364f7252de8c95d67358",
-        "url": "https://pub.dev"
-      },
-      "source": "hosted",
-      "version": "1.0.0"
-    },
     "flutter_cache_manager": {
       "dependency": "transitive",
       "description": {
@@ -787,11 +768,11 @@
       "dependency": "direct dev",
       "description": {
         "name": "flutter_launcher_icons",
-        "sha256": "526faf84284b86a4cb36d20a5e45147747b7563d921373d4ee0559c54fcdbcea",
+        "sha256": "bfa04787c85d80ecb3f8777bde5fc10c3de809240c48fa061a2c2bf15ea5211c",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.13.1"
+      "version": "0.14.3"
     },
     "flutter_lints": {
       "dependency": "direct dev",
@@ -813,18 +794,18 @@
       "dependency": "transitive",
       "description": {
         "name": "flutter_plugin_android_lifecycle",
-        "sha256": "5a1e6fb2c0561958d7e4c33574674bda7b77caaca7a33b758876956f2902eea3",
+        "sha256": "f948e346c12f8d5480d2825e03de228d0eb8c3a737e4cdaa122267b89c022b5e",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.0.27"
+      "version": "2.0.28"
     },
     "flutter_qjs": {
       "dependency": "direct main",
       "description": {
         "path": ".",
         "ref": "main",
-        "resolved-ref": "6b70858b18d53203f5024edd7e24fee4af8b921a",
+        "resolved-ref": "312d06c722287cfa05946bc75ac02587eb7a33c0",
         "url": "https://github.com/kodjodevf/flutter_qjs.git"
       },
       "source": "git",
@@ -844,21 +825,21 @@
       "dependency": "direct main",
       "description": {
         "name": "flutter_rust_bridge",
-        "sha256": "5a5c7a5deeef2cc2ffe6076a33b0429f4a20ceac22a397297aed2b1eb067e611",
+        "sha256": "b416ff56002789e636244fb4cc449f587656eff995e5a7169457eb0593fcaddb",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.9.0"
+      "version": "2.10.0"
     },
     "flutter_svg": {
       "dependency": "transitive",
       "description": {
         "name": "flutter_svg",
-        "sha256": "c200fd79c918a40c5cd50ea0877fa13f81bdaf6f0a5d3dbcc2a13e3285d6aa1b",
+        "sha256": "d44bf546b13025ec7353091516f6881f1d4c633993cb109c3916c3a0159dadf1",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.0.17"
+      "version": "2.1.0"
     },
     "flutter_test": {
       "dependency": "direct dev",
@@ -1077,21 +1058,21 @@
       "dependency": "direct main",
       "description": {
         "name": "html",
-        "sha256": "1fc58edeaec4307368c60d59b7e15b9d658b57d7f3125098b6294153c75337ec",
+        "sha256": "6d1264f2dffa1b1101c25a91dff0dc2daee4c18e87cd8538729773c073dbf602",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.15.5"
+      "version": "0.15.6"
     },
     "http": {
       "dependency": "direct main",
       "description": {
         "name": "http",
-        "sha256": "fe7ab022b76f3034adc518fb6ea04a82387620e19977665ea18d30a1cf43442f",
+        "sha256": "2c11f3f94c687ee9bad77c171151672986360b2b001d109814ee7140b2cf261b",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.3.0"
+      "version": "1.4.0"
     },
     "http_client_helper": {
       "dependency": "transitive",
@@ -1157,21 +1138,21 @@
       "dependency": "direct dev",
       "description": {
         "name": "inno_bundle",
-        "sha256": "e9d0ab41a82157da42ebd4206bda22ed04bf096a6e7d416c79d79201c388d563",
+        "sha256": "544ca69ce64c5b06b346f328170ae407ca99605beab23ccc779b39acf6ba1c9a",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.8.0"
+      "version": "0.9.0"
     },
     "intl": {
       "dependency": "direct main",
       "description": {
         "name": "intl",
-        "sha256": "d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf",
+        "sha256": "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.19.0"
+      "version": "0.20.2"
     },
     "io": {
       "dependency": "transitive",
@@ -1307,41 +1288,31 @@
       "dependency": "transitive",
       "description": {
         "name": "just_audio_platform_interface",
-        "sha256": "271b93b484c6f494ecd72a107fffbdb26b425f170c665b9777a0a24a726f2f24",
+        "sha256": "4cd94536af0219fa306205a58e78d67e02b0555283c1c094ee41e402a14a5c4a",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "4.4.0"
+      "version": "4.5.0"
     },
     "just_audio_web": {
       "dependency": "transitive",
       "description": {
         "name": "just_audio_web",
-        "sha256": "58915be64509a7683c44bf11cd1a23c15a48de104927bee116e3c63c8eeea0d4",
+        "sha256": "6ba8a2a7e87d57d32f0f7b42856ade3d6a9fbe0f1a11fabae0a4f00bb73f0663",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.4.14"
-    },
-    "lazy_memo": {
-      "dependency": "transitive",
-      "description": {
-        "name": "lazy_memo",
-        "sha256": "dcb30b4184a6d767e1d779d74ce784d752d38313b8fb4bad6b659ae7af4bb34d",
-        "url": "https://pub.dev"
-      },
-      "source": "hosted",
-      "version": "0.2.3"
+      "version": "0.4.16"
     },
     "leak_tracker": {
       "dependency": "transitive",
       "description": {
         "name": "leak_tracker",
-        "sha256": "c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec",
+        "sha256": "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "10.0.8"
+      "version": "10.0.9"
     },
     "leak_tracker_flutter_testing": {
       "dependency": "transitive",
@@ -1393,6 +1364,16 @@
       "source": "hosted",
       "version": "0.1.3-main.0"
     },
+    "marquee": {
+      "dependency": "direct main",
+      "description": {
+        "name": "marquee",
+        "sha256": "a87e7e80c5d21434f90ad92add9f820cf68be374b226404fe881d2bba7be0862",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.3.0"
+    },
     "matcher": {
       "dependency": "transitive",
       "description": {
@@ -1496,11 +1477,12 @@
     "media_kit_video": {
       "dependency": "direct main",
       "description": {
-        "name": "media_kit_video",
-        "sha256": "a656a9463298c1adc64c57f2d012874f7f2900f0c614d9545a3e7b8bb9e2137b",
-        "url": "https://pub.dev"
+        "path": "media_kit_video",
+        "ref": "aeb29faa8ea93a386ad1185b69fd6225fa331c74",
+        "resolved-ref": "aeb29faa8ea93a386ad1185b69fd6225fa331c74",
+        "url": "https://github.com/media-kit/media-kit.git"
       },
-      "source": "hosted",
+      "source": "git",
       "version": "1.3.0"
     },
     "meta": {
@@ -1627,11 +1609,11 @@
       "dependency": "transitive",
       "description": {
         "name": "path_provider_android",
-        "sha256": "0ca7359dad67fd7063cb2892ab0c0737b2daafd807cf1acecd62374c8fae6c12",
+        "sha256": "d0d310befe2c8ab9e7f393288ccbb11b60c019c6b5afc21973eeee4dda2b35e9",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.2.16"
+      "version": "2.2.17"
     },
     "path_provider_foundation": {
       "dependency": "transitive",
@@ -1697,11 +1679,11 @@
       "dependency": "transitive",
       "description": {
         "name": "permission_handler_apple",
-        "sha256": "f84a188e79a35c687c132a0a0556c254747a08561e99ab933f12f6ca71ef3c98",
+        "sha256": "f000131e755c54cf4d84a5d8bd6e4149e262cc31c5a8b1d698de1ac85fa41023",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "9.4.6"
+      "version": "9.4.7"
     },
     "permission_handler_html": {
       "dependency": "transitive",
@@ -1797,41 +1779,41 @@
       "dependency": "transitive",
       "description": {
         "name": "posix",
-        "sha256": "a0117dc2167805aa9125b82eee515cc891819bac2f538c83646d355b16f58b9a",
+        "sha256": "f0d7856b6ca1887cfa6d1d394056a296ae33489db914e365e2044fdada449e62",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "6.0.1"
+      "version": "6.0.2"
     },
     "protobuf": {
       "dependency": "direct main",
       "description": {
         "name": "protobuf",
-        "sha256": "68645b24e0716782e58948f8467fd42a880f255096a821f9e7d0ec625b00c84d",
+        "sha256": "579fe5557eae58e3adca2e999e38f02441d8aa908703854a9e0a0f47fa857731",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.1.0"
+      "version": "4.1.0"
     },
     "protoc_plugin": {
       "dependency": "direct dev",
       "description": {
         "name": "protoc_plugin",
-        "sha256": "fb0554851c9eca30bd18405fbbfe81e39166d4a2f0e5b770606fd69da3da0b2f",
+        "sha256": "1d163c80b803c5aeec6364cca95edb22d31941e9dbd921463f063660c70a2368",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "21.1.2"
+      "version": "22.2.0"
     },
     "provider": {
       "dependency": "transitive",
       "description": {
         "name": "provider",
-        "sha256": "489024f942069c2920c844ee18bb3d467c69e48955a4f32d1677f71be103e310",
+        "sha256": "4abbd070a04e9ddc287673bf5a030c7ca8b685ff70218720abab8b092f53dd84",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "6.1.4"
+      "version": "6.1.5"
     },
     "pseudom": {
       "dependency": "direct main",
@@ -1873,25 +1855,16 @@
       "source": "hosted",
       "version": "3.2.2"
     },
-    "quote_buffer": {
-      "dependency": "transitive",
-      "description": {
-        "name": "quote_buffer",
-        "sha256": "c4cd07e55ed1b1645a1cc74278a03b2a642c9f6ea3c0528d51827fdd320acf87",
-        "url": "https://pub.dev"
-      },
-      "source": "hosted",
-      "version": "0.2.6"
-    },
     "re_editor": {
       "dependency": "direct main",
       "description": {
-        "name": "re_editor",
-        "sha256": "2169c114c7877bcaae72d6e8b69cdaa2a9cded69a51e3cf26209dad4a3ed2b9c",
-        "url": "https://pub.dev"
+        "path": ".",
+        "ref": "main",
+        "resolved-ref": "f4d9107956aabae303a2b990119bebc9a2671e62",
+        "url": "https://github.com/kodjodevf/re-editor"
       },
-      "source": "hosted",
-      "version": "0.6.0"
+      "source": "git",
+      "version": "0.7.0"
     },
     "re_highlight": {
       "dependency": "direct main",
@@ -1986,11 +1959,11 @@
       "dependency": "direct main",
       "description": {
         "name": "screen_brightness",
-        "sha256": "eca7bd9d2c3c688bcad14855361cab7097839400b6b4a56f62b7ae511c709958",
+        "sha256": "46d1b448729c1ed67c812f2c97d7fa8308809d91031c7ecdeb216ca65f7660de",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.1.2"
+      "version": "2.1.3"
     },
     "screen_brightness_android": {
       "dependency": "transitive",
@@ -2022,6 +1995,16 @@
       "source": "hosted",
       "version": "2.1.1"
     },
+    "screen_brightness_ohos": {
+      "dependency": "transitive",
+      "description": {
+        "name": "screen_brightness_ohos",
+        "sha256": "61e313e46eaee3f83dd4e85a2a91f8a81be02c154bc9e60830a7c0fd76dac286",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.1.0"
+    },
     "screen_brightness_platform_interface": {
       "dependency": "transitive",
       "description": {
@@ -2382,21 +2365,21 @@
       "dependency": "transitive",
       "description": {
         "name": "url_launcher_android",
-        "sha256": "1d0eae19bd7606ef60fe69ef3b312a437a16549476c42321d5dc1506c9ca3bf4",
+        "sha256": "8582d7f6fe14d2652b4c45c9b6c14c0b678c2af2d083a11b604caeba51930d79",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "6.3.15"
+      "version": "6.3.16"
     },
     "url_launcher_ios": {
       "dependency": "transitive",
       "description": {
         "name": "url_launcher_ios",
-        "sha256": "16a513b6c12bb419304e72ea0ae2ab4fed569920d1c7cb850263fe3acc824626",
+        "sha256": "7f2022359d4c099eea7df3fdf739f7d3d3b9faf3166fb1dd390775176e0b76cb",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "6.3.2"
+      "version": "6.3.3"
     },
     "url_launcher_linux": {
       "dependency": "transitive",
@@ -2432,11 +2415,11 @@
       "dependency": "transitive",
       "description": {
         "name": "url_launcher_web",
-        "sha256": "3ba963161bd0fe395917ba881d320b9c4f6dd3c4a233da62ab18a5025c85f1e9",
+        "sha256": "4bd2b7b4dc4d4d0b94e5babfffbca8eac1a126c7f3d6ecbc1a11013faa3abba2",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.4.0"
+      "version": "2.4.1"
     },
     "url_launcher_windows": {
       "dependency": "transitive",
@@ -2512,21 +2495,21 @@
       "dependency": "transitive",
       "description": {
         "name": "video_player_android",
-        "sha256": "ae7d4f1b41e3ac6d24dd9b9d5d6831b52d74a61bdd90a7a6262a33d8bb97c29a",
+        "sha256": "28dcc4122079f40f93a0965b3679aff1a5f4251cf79611bd8011f937eb6b69de",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.8.2"
+      "version": "2.8.4"
     },
     "video_player_avfoundation": {
       "dependency": "transitive",
       "description": {
         "name": "video_player_avfoundation",
-        "sha256": "84b4752745eeccb6e75865c9aab39b3d28eb27ba5726d352d45db8297fbd75bc",
+        "sha256": "9ee764e5cd2fc1e10911ae8ad588e1a19db3b6aa9a6eb53c127c42d3a3c3f22f",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.7.0"
+      "version": "2.7.1"
     },
     "video_player_platform_interface": {
       "dependency": "transitive",
@@ -2542,21 +2525,21 @@
       "dependency": "transitive",
       "description": {
         "name": "video_player_web",
-        "sha256": "3ef40ea6d72434edbfdba4624b90fd3a80a0740d260667d91e7ecd2d79e13476",
+        "sha256": "e8bba2e5d1e159d5048c9a491bb2a7b29c535c612bb7d10c1e21107f5bd365ba",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.3.4"
+      "version": "2.3.5"
     },
     "vm_service": {
       "dependency": "transitive",
       "description": {
         "name": "vm_service",
-        "sha256": "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14",
+        "sha256": "ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "14.3.1"
+      "version": "15.0.0"
     },
     "volume_controller": {
       "dependency": "transitive",
@@ -2572,21 +2555,21 @@
       "dependency": "transitive",
       "description": {
         "name": "wakelock_plus",
-        "sha256": "b90fbcc8d7bdf3b883ea9706d9d76b9978cb1dfa4351fcc8014d6ec31a493354",
+        "sha256": "a474e314c3e8fb5adef1f9ae2d247e57467ad557fa7483a2b895bc1b421c5678",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.2.11"
+      "version": "1.3.2"
     },
     "wakelock_plus_platform_interface": {
       "dependency": "transitive",
       "description": {
         "name": "wakelock_plus_platform_interface",
-        "sha256": "70e780bc99796e1db82fe764b1e7dcb89a86f1e5b3afb1db354de50f2e41eb7a",
+        "sha256": "e10444072e50dbc4999d7316fd303f7ea53d31c824aa5eb05d7ccbdd98985207",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.2.2"
+      "version": "1.2.3"
     },
     "watcher": {
       "dependency": "transitive",
@@ -2612,71 +2595,71 @@
       "dependency": "transitive",
       "description": {
         "name": "web_socket",
-        "sha256": "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83",
+        "sha256": "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.1.6"
+      "version": "1.0.1"
     },
     "web_socket_channel": {
       "dependency": "transitive",
       "description": {
         "name": "web_socket_channel",
-        "sha256": "0b8e2457400d8a859b7b2030786835a28a8e80836ef64402abef392ff4f1d0e5",
+        "sha256": "d645757fb0f4773d602444000a8131ff5d48c9e47adfe9772652dd1a4f2d45c8",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.0.2"
+      "version": "3.0.3"
     },
     "webview_flutter": {
       "dependency": "transitive",
       "description": {
         "name": "webview_flutter",
-        "sha256": "889a0a678e7c793c308c68739996227c9661590605e70b1f6cf6b9a6634f7aec",
+        "sha256": "c3e4fe614b1c814950ad07186007eff2f2e5dd2935eba7b9a9a1af8e5885f1ba",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "4.10.0"
+      "version": "4.13.0"
     },
     "webview_flutter_android": {
       "dependency": "transitive",
       "description": {
         "name": "webview_flutter_android",
-        "sha256": "e09150b28a07933839adef0e4a088bb43e8c8d9e6b93025b01882d4067a58ab0",
+        "sha256": "f6e6afef6e234801da77170f7a1847ded8450778caf2fe13979d140484be3678",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "4.3.4"
+      "version": "4.7.0"
     },
     "webview_flutter_platform_interface": {
       "dependency": "transitive",
       "description": {
         "name": "webview_flutter_platform_interface",
-        "sha256": "d937581d6e558908d7ae3dc1989c4f87b786891ab47bb9df7de548a151779d8d",
+        "sha256": "7cb32b21825bd65569665c32bb00a34ded5779786d6201f5350979d2d529940d",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.10.0"
+      "version": "2.13.0"
     },
     "webview_flutter_wkwebview": {
       "dependency": "transitive",
       "description": {
         "name": "webview_flutter_wkwebview",
-        "sha256": "c14455137ce60a68e1ccaf4e8f2dae8cebcb3465ddaa2fcfb57584fb7c5afe4d",
+        "sha256": "a3d461fe3467014e05f3ac4962e5fdde2a4bf44c561cb53e9ae5c586600fdbc3",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.18.5"
+      "version": "3.22.0"
     },
     "win32": {
       "dependency": "direct main",
       "description": {
         "name": "win32",
-        "sha256": "dc6ecaa00a7c708e5b4d10ee7bec8c270e9276dfcab1783f57e9962d7884305f",
+        "sha256": "329edf97fdd893e0f1e3b9e88d6a0e627128cc17cc316a8d67fda8f1451178ba",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "5.12.0"
+      "version": "5.13.0"
     },
     "win32_registry": {
       "dependency": "transitive",
@@ -2780,7 +2763,7 @@
     }
   },
   "sdks": {
-    "dart": ">=3.7.2 <4.0.0",
+    "dart": ">=3.8.0 <4.0.0",
     "flutter": ">=3.29.0"
   }
 }
diff --git a/pkgs/by-name/ma/manifold/package.nix b/pkgs/by-name/ma/manifold/package.nix
index 296953af1209..119fc497c73c 100644
--- a/pkgs/by-name/ma/manifold/package.nix
+++ b/pkgs/by-name/ma/manifold/package.nix
@@ -6,7 +6,7 @@
   clipper2,
   gtest,
   glm,
-  tbb_2021_11,
+  tbb_2021,
 }:
 
 stdenv.mkDerivation (finalAttrs: {
@@ -25,7 +25,7 @@ stdenv.mkDerivation (finalAttrs: {
   buildInputs = [
     gtest
     glm
-    tbb_2021_11
+    tbb_2021
     clipper2
   ];
 
@@ -38,7 +38,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   doCheck = true;
   checkPhase = ''
-    test/manifold_test
+    test/manifold_test --gtest_filter=-CrossSection.RoundOffset
   '';
 
   meta = {
diff --git a/pkgs/by-name/ma/mapserver/package.nix b/pkgs/by-name/ma/mapserver/package.nix
index a3bbd8239692..8e2dc6fc06e2 100644
--- a/pkgs/by-name/ma/mapserver/package.nix
+++ b/pkgs/by-name/ma/mapserver/package.nix
@@ -47,6 +47,7 @@ stdenv.mkDerivation rec {
     ++ lib.optionals withPython [
       swig
       python3.pkgs.setuptools
+      python3.pkgs.pythonImportsCheckHook
     ];
 
   buildInputs = [
@@ -82,6 +83,13 @@ stdenv.mkDerivation rec {
     (lib.cmakeBool "CMAKE_SKIP_BUILD_RPATH" true)
   ];
 
+  postInstall = lib.optionalString withPython ''
+    mkdir -p $out/${python3.sitePackages}
+    cp -r src/mapscript/python/mapscript $out/${python3.sitePackages}
+  '';
+
+  pythonImportsCheck = [ "mapscript" ];
+
   meta = {
     description = "Platform for publishing spatial data and interactive mapping applications to the web";
     homepage = "https://mapserver.org/";
diff --git a/pkgs/by-name/ma/marge-bot/package.nix b/pkgs/by-name/ma/marge-bot/package.nix
index e958ea990bd6..4072d3244879 100644
--- a/pkgs/by-name/ma/marge-bot/package.nix
+++ b/pkgs/by-name/ma/marge-bot/package.nix
@@ -2,64 +2,64 @@
   lib,
   python3,
   fetchFromGitLab,
+  git,
+  openssh,
+  nix-update-script,
 }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "marge-bot";
-  version = "0.10.1";
+  version = "0.16.0";
   pyproject = true;
 
   src = fetchFromGitLab {
     owner = "marge-org";
     repo = "marge-bot";
     rev = version;
-    hash = "sha256-2L7c/NEKyjscwpyf/5GtWXr7Ig14IQlRR5IbDYxp8jA=";
+    hash = "sha256-UgdbeJegeTFP6YF6oMxAeQDI9AO2k6yk4WAFZ/Xspu8=";
   };
 
-  postPatch = ''
-    substituteInPlace setup.cfg --replace-fail "--flake8 --pylint" ""
-  '';
-
   nativeBuildInputs = [
     python3.pkgs.setuptools
   ];
 
-  propagatedBuildInputs = with python3.pkgs; [
-    configargparse
-    maya
-    pyyaml
-    requests
-  ];
+  propagatedBuildInputs =
+    (with python3.pkgs; [
+      configargparse
+      maya
+      pyyaml
+      requests
+      python-gitlab
+      hatchling
+    ])
+    ++ [
+      git
+      openssh
+    ];
 
-  nativeCheckInputs = with python3.pkgs; [
-    pytest-cov-stub
-    pytestCheckHook
-    pendulum
-  ];
-
-  disabledTests = [
-    # test broken when run under Nix:
-    #   "unittest.mock.InvalidSpecError: Cannot spec a Mock object."
-    "test_get_mr_ci_status"
-    # broken because of an incorrect assertion:
-    #   "AttributeError: 'has_calls' is not a valid assertion."
-    "test_reapprove"
-  ];
-
-  disabledTestPaths = [
-    # test errors due to API mismatch in test setup:
-    #   "ImportError: cannot import name 'set_test_now' from 'pendulum.helpers'"
-    "tests/test_interval.py"
-  ];
+  nativeCheckInputs =
+    (with python3.pkgs; [
+      pytest-cov-stub
+      pytestCheckHook
+      pendulum
+    ])
+    ++ [
+      git
+    ];
 
   pythonImportsCheck = [ "marge" ];
 
+  passthru.updateScript = nix-update-script { };
+
   meta = with lib; {
     description = "Merge bot for GitLab";
     homepage = "https://gitlab.com/marge-org/marge-bot";
     changelog = "https://gitlab.com/marge-org/marge-bot/-/blob/${src.rev}/CHANGELOG.md";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ bcdarwin ];
+    maintainers = with maintainers; [
+      bcdarwin
+      lelgenio
+    ];
     mainProgram = "marge.app";
   };
 }
diff --git a/pkgs/by-name/ma/mariadb-galera/package.nix b/pkgs/by-name/ma/mariadb-galera/package.nix
index e1d3937c6d82..7d2b2bb9bea4 100644
--- a/pkgs/by-name/ma/mariadb-galera/package.nix
+++ b/pkgs/by-name/ma/mariadb-galera/package.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mariadb-galera";
-  version = "26.4.22";
+  version = "26.4.23";
 
   src = fetchFromGitHub {
     owner = "codership";
     repo = "galera";
     rev = "release_${version}";
-    hash = "sha256-Vi5gLl53ytgmAGYN/dHLDAaUqNb8mHmeqB/I6Sdbn1I=";
+    hash = "sha256-v7zwhXfW9K1wvV951Utt/rUbSIMiRZB1rWfeK1VJzN4=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/by-name/ma/mark/package.nix b/pkgs/by-name/ma/mark/package.nix
index 71ec2cc03056..fcdc9ea4f24f 100644
--- a/pkgs/by-name/ma/mark/package.nix
+++ b/pkgs/by-name/ma/mark/package.nix
@@ -1,23 +1,23 @@
 {
   lib,
-  buildGo123Module,
+  buildGoModule,
   fetchFromGitHub,
 }:
 
 # Tests with go 1.24 do not work. For now
 # https://github.com/kovetskiy/mark/pull/581#issuecomment-2797872996
-buildGo123Module rec {
+buildGoModule rec {
   pname = "mark";
-  version = "12.2.0";
+  version = "14.1.0";
 
   src = fetchFromGitHub {
     owner = "kovetskiy";
     repo = "mark";
     rev = "${version}";
-    sha256 = "sha256-0w6rIOSnOS7EfTBA/mRNWm8KOtdviTxWdukl4reb4zE=";
+    sha256 = "sha256-TQU49rPpHCDQEOIfC3R89kdtVMVJrisOXF5DhbRgJQ0=";
   };
 
-  vendorHash = "sha256-CqFCjSXw7/jLe1OYosUl6mKSPEsdHl8p3zb/LVNqnxM=";
+  vendorHash = "sha256-y5WCpL0bJE48iVUO2hPy7AvAx9KEVQJUK6vVwFfob/M=";
 
   ldflags = [
     "-s"
@@ -30,6 +30,7 @@ buildGo123Module rec {
       skippedTests = [
         # Expects to be able to launch google-chrome
         "TestExtractMermaidImage"
+        "TestExtractD2Image/example"
       ];
     in
     [
@@ -41,6 +42,9 @@ buildGo123Module rec {
     mainProgram = "mark";
     homepage = "https://github.com/kovetskiy/mark";
     license = licenses.asl20;
-    maintainers = with maintainers; [ rguevara84 ];
+    maintainers = with maintainers; [
+      rguevara84
+      wrbbz
+    ];
   };
 }
diff --git a/pkgs/by-name/ma/marp-cli/package.nix b/pkgs/by-name/ma/marp-cli/package.nix
index 13b2ac65373c..dc2672df0f23 100644
--- a/pkgs/by-name/ma/marp-cli/package.nix
+++ b/pkgs/by-name/ma/marp-cli/package.nix
@@ -7,16 +7,16 @@
 
 buildNpmPackage rec {
   pname = "marp-cli";
-  version = "4.1.2";
+  version = "4.2.0";
 
   src = fetchFromGitHub {
     owner = "marp-team";
     repo = "marp-cli";
     rev = "v${version}";
-    hash = "sha256-T3VZEXk3bhr17/BWlBx9beEbNhG2y/AnNf7+a1Adi2k=";
+    hash = "sha256-LWKPwrpcpsZ/KtNu2p7go1MgyXUtgFIRGsThKnagu3c=";
   };
 
-  npmDepsHash = "sha256-TpVv+uMqLq1ynVWDOnrA2O+TksRDJva0K4hRltWb+SA=";
+  npmDepsHash = "sha256-7on+dJWOUW43miopZKvJ2B1bs0jvTiQOe30yaN6e9lc=";
   npmPackFlags = [ "--ignore-scripts" ];
   makeCacheWritable = true;
 
diff --git a/pkgs/by-name/ma/matcha-gtk-theme/package.nix b/pkgs/by-name/ma/matcha-gtk-theme/package.nix
index 61b923022bb7..2f0f5d338649 100644
--- a/pkgs/by-name/ma/matcha-gtk-theme/package.nix
+++ b/pkgs/by-name/ma/matcha-gtk-theme/package.nix
@@ -28,7 +28,7 @@ lib.checkListOfEnum "${pname}: color variants" [ "standard" "light" "dark" ] col
 
     src = fetchFromGitHub {
       owner = "vinceliuice";
-      repo = pname;
+      repo = "matcha-gtk-theme";
       rev = version;
       sha256 = "sha256-vPAGEa3anWAynEg2AYme4qpHJdLDKk2CmL5iQ1mBYgM=";
     };
@@ -60,8 +60,8 @@ lib.checkListOfEnum "${pname}: color variants" [ "standard" "light" "dark" ] col
         ${lib.optionalString (themeVariants != [ ]) "--theme " + builtins.toString themeVariants} \
         --dest $out/share/themes
 
-      mkdir -p $out/share/doc/${pname}
-      cp -a src/extra/firefox $out/share/doc/${pname}
+      mkdir -p $out/share/doc/matcha-gtk-theme
+      cp -a src/extra/firefox $out/share/doc/matcha-gtk-theme
 
       jdupes --quiet --link-soft --recurse $out/share
 
diff --git a/pkgs/by-name/ma/material-symbols/package.nix b/pkgs/by-name/ma/material-symbols/package.nix
index 8af5fa9d0d24..9723da48e5d2 100644
--- a/pkgs/by-name/ma/material-symbols/package.nix
+++ b/pkgs/by-name/ma/material-symbols/package.nix
@@ -7,13 +7,13 @@
 }:
 stdenvNoCC.mkDerivation {
   pname = "material-symbols";
-  version = "4.0.0-unstable-2024-05-17";
+  version = "4.0.0-unstable-2025-04-11";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "material-design-icons";
-    rev = "ace1af08508a6562ef05055a606cf44ea583ce3b";
-    hash = "sha256-d5lojgYCXCcvcSfLWfcSKFsBGKB6Si/XreRqpkEKsa0=";
+    rev = "941fa95d7f6084a599a54ca71bc565f48e7c6d9e";
+    hash = "sha256-5bcEh7Oetd2JmFEPCcoweDrLGQTpcuaCU8hCjz8ls3M=";
     sparseCheckout = [ "variablefont" ];
   };
 
diff --git a/pkgs/by-name/ma/matrix-commander-rs/package.nix b/pkgs/by-name/ma/matrix-commander-rs/package.nix
index b5782bd57d1b..2f5cc53ee0aa 100644
--- a/pkgs/by-name/ma/matrix-commander-rs/package.nix
+++ b/pkgs/by-name/ma/matrix-commander-rs/package.nix
@@ -9,17 +9,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "matrix-commander-rs";
-  version = "0.10.0";
+  version = "0.10.1";
 
   src = fetchFromGitHub {
     owner = "8go";
     repo = "matrix-commander-rs";
     tag = "v${version}";
-    hash = "sha256-eEkSdr6qHLUBp4natvq7uMbcqxDOTJAE1vEPWLE3KKM=";
+    hash = "sha256-ljRFZYfTSyiIVgABgQAVLlwhOmeMumAyZe9tASPtMZA=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-I7g3yNjq1i7YXv6S7PPZnOQ0Y5665dNayz7XEQl/WAE=";
+  cargoHash = "sha256-BMVxxCOAznAsqKUgGHJ9hPgdIksCyzMVUHeLa+om09U=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/by-name/ma/matrix-conduit/package.nix b/pkgs/by-name/ma/matrix-conduit/package.nix
index 73330660f105..841d9eb1795e 100644
--- a/pkgs/by-name/ma/matrix-conduit/package.nix
+++ b/pkgs/by-name/ma/matrix-conduit/package.nix
@@ -12,17 +12,17 @@
 
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "matrix-conduit";
-  version = "0.10.3";
+  version = "0.10.4";
 
   src = fetchFromGitLab {
     owner = "famedly";
     repo = "conduit";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-cLPfgRchYLJXA13Xr1Yg3v+O/7SvxWYIAxaKvnsm7HM=";
+    hash = "sha256-1EY1YTkNnjRIMOvsjowx57PquYMrkv2+8kolD1z19ls=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-i/x6V/0WgMUuZoG8znREmAnLqw/9lYPk4F5i2SA5mmo=";
+  cargoHash = "sha256-IoqCv7ee+vvo0DLpZS4pLn5gBnOC9FyWMxjgWASCdOk=";
 
   # Conduit enables rusqlite's bundled feature by default, but we'd rather use our copy of SQLite.
   preBuild = ''
diff --git a/pkgs/by-name/ma/matrix-continuwuity/package.nix b/pkgs/by-name/ma/matrix-continuwuity/package.nix
index 8ace6e4d0edf..67427c3ad2aa 100644
--- a/pkgs/by-name/ma/matrix-continuwuity/package.nix
+++ b/pkgs/by-name/ma/matrix-continuwuity/package.nix
@@ -31,18 +31,18 @@ let
 in
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "matrix-continuwuity";
-  version = "0.5.0-rc.5";
+  version = "0.5.0-rc.6";
 
   src = fetchFromGitea {
     domain = "forgejo.ellis.link";
     owner = "continuwuation";
     repo = "continuwuity";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-Oq2scBu3Ewao828BT1QGffqIqF5WoH9HMXEXKg1YU0o=";
+    hash = "sha256-xK/jTURQzFJ1FkF1E9cItTxXAgXgTwAiA9/8aE51FvU=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-bjjGR3++CaDEtlsQj9GgdViCEB5l72sI868uTFBtIwg=";
+  cargoHash = "sha256-+7k1dtrXdonFDXa2Z/qVo4n1hZRmMWEQKKlffki8+/k=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/by-name/ma/matrix-synapse-unwrapped/package.nix b/pkgs/by-name/ma/matrix-synapse-unwrapped/package.nix
index 69acde9bad8c..2b0914ba526f 100644
--- a/pkgs/by-name/ma/matrix-synapse-unwrapped/package.nix
+++ b/pkgs/by-name/ma/matrix-synapse-unwrapped/package.nix
@@ -2,6 +2,7 @@
   lib,
   stdenv,
   fetchFromGitHub,
+  fetchpatch,
   python3,
   openssl,
   libiconv,
@@ -17,16 +18,25 @@ let
 in
 python3.pkgs.buildPythonApplication rec {
   pname = "matrix-synapse";
-  version = "1.131.0";
+  version = "1.132.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "element-hq";
     repo = "synapse";
     rev = "v${version}";
-    hash = "sha256-nXDVkuV5GCk0Lp4LfyiModKdO30PJ40B5mXdm5tMHQo=";
+    hash = "sha256-yKoBYwd2djHAawBJRcbdrJH16+MHpYQnU7h39SvWqYE=";
   };
 
+  patches = [
+    # Skip broken HTML preview test case with libxml >= 2.14
+    # https://github.com/element-hq/synapse/pull/18413
+    (fetchpatch {
+      url = "https://github.com/element-hq/synapse/commit/8aad32965888476b4660bf8228d2d2aa9ccc848b.patch";
+      hash = "sha256-EUEbF442nOAybMI8EL6Ee0ib3JqSlQQ04f5Az3quKko=";
+    })
+  ];
+
   cargoDeps = rustPlatform.fetchCargoVendor {
     inherit pname version src;
     hash = "sha256-9VJnn8aPkShqK2wYGFr+S5koIjma7VOr+LkLXwStL1E=";
diff --git a/pkgs/by-name/ma/mautrix-discord/package.nix b/pkgs/by-name/ma/mautrix-discord/package.nix
index 79d75916b882..a8aa797982e2 100644
--- a/pkgs/by-name/ma/mautrix-discord/package.nix
+++ b/pkgs/by-name/ma/mautrix-discord/package.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "mautrix-discord";
-  version = "0.7.3";
+  version = "0.7.4";
 
   src = fetchFromGitHub {
     owner = "mautrix";
     repo = "discord";
     rev = "v${version}";
-    hash = "sha256-q6FpeGWoeIVVeomKMHpXUntMWsMJMV73FDiBfbMQ6Oc=";
+    hash = "sha256-ygnFZ1I8sPgpKwLK+Zr6ZUStGAH2egVDxS/pXmRqXYI=";
   };
 
-  vendorHash = "sha256-6R5ryzjAAAI3YtTMlHjrLOXkid2kCe8+ZICnNUjtxaQ=";
+  vendorHash = "sha256-S3MWJi77TXs7gjPt6O2ruSIUHpsrLPIHQz3rQam1Wsg=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/ma/mautrix-gmessages/package.nix b/pkgs/by-name/ma/mautrix-gmessages/package.nix
index ddbd96cbabcb..48e41c595bbf 100644
--- a/pkgs/by-name/ma/mautrix-gmessages/package.nix
+++ b/pkgs/by-name/ma/mautrix-gmessages/package.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "mautrix-gmessages";
-  version = "0.6.2";
+  version = "0.6.3";
 
   src = fetchFromGitHub {
     owner = "mautrix";
     repo = "gmessages";
     tag = "v${version}";
-    hash = "sha256-NzLHCVJaYl8q5meKZDy8St8J9c8oyASLLrXhWG7K+yw=";
+    hash = "sha256-s6d0fUH0md4oHWDGFDRR3SKbJBCH6qJIk4En6J53yIM=";
   };
 
-  vendorHash = "sha256-+aX0r7IvsjXwmz5d6X0yzhG28mBYKvyDGoCbKMwkvk8=";
+  vendorHash = "sha256-d6UVKu9Al445JqwhPXSlQDs0hOTom56p+hVZN2C4S0M=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/ma/mautrix-meta/package.nix b/pkgs/by-name/ma/mautrix-meta/package.nix
index dc6153bab418..9ac48728885e 100644
--- a/pkgs/by-name/ma/mautrix-meta/package.nix
+++ b/pkgs/by-name/ma/mautrix-meta/package.nix
@@ -15,7 +15,7 @@
 
 buildGoModule rec {
   pname = "mautrix-meta";
-  version = "0.4.6";
+  version = "0.5.0";
 
   subPackages = [ "cmd/mautrix-meta" ];
 
@@ -23,13 +23,13 @@ buildGoModule rec {
     owner = "mautrix";
     repo = "meta";
     rev = "v${version}";
-    hash = "sha256-FRK32NBtAro/+StacBa/jMg31xkxOKx791RBmuG61z8=";
+    hash = "sha256-SM57PLfRVEKspqnAZz1XES6ba9Puuzvx8XZwAWKVRmw=";
   };
 
   buildInputs = lib.optional (!withGoolm) olm;
   tags = lib.optional withGoolm "goolm";
 
-  vendorHash = "sha256-nFxWPMNV0La21W03WNDZNktcHYLFVzPY/SkAyp0AVxs=";
+  vendorHash = "sha256-+gQPlI9DHuY01JlUnEaYctOs+2XFAkw+X9SkvH0xlbc=";
 
   passthru = {
     tests = {
diff --git a/pkgs/by-name/ma/mautrix-whatsapp/package.nix b/pkgs/by-name/ma/mautrix-whatsapp/package.nix
index b38f13c39c4e..ccf7bf9138d9 100644
--- a/pkgs/by-name/ma/mautrix-whatsapp/package.nix
+++ b/pkgs/by-name/ma/mautrix-whatsapp/package.nix
@@ -14,19 +14,19 @@
 
 buildGoModule rec {
   pname = "mautrix-whatsapp";
-  version = "0.12.1";
+  version = "0.12.2";
 
   src = fetchFromGitHub {
     owner = "mautrix";
     repo = "whatsapp";
     rev = "v${version}";
-    hash = "sha256-WZPmSIkRSCrI1krIWJ2abVw1t81vjcqewTdx0W2aD+Q=";
+    hash = "sha256-Es6RWUo/e25wYGIz6feVNXIQbMCDPl1iZoKT3x8vHtA=";
   };
 
   buildInputs = lib.optional (!withGoolm) olm;
   tags = lib.optional withGoolm "goolm";
 
-  vendorHash = "sha256-jgwi0ENJ064gWJWyvlSlaEicC+NAtn0Tdbnu6mzmLoE=";
+  vendorHash = "sha256-/R6MI6egGV1E1YzKcxBSOb2z97kA1HCK5GdMgfR1vSM=";
 
   doCheck = false;
 
diff --git a/pkgs/by-name/mc/mcp-grafana/package.nix b/pkgs/by-name/mc/mcp-grafana/package.nix
new file mode 100644
index 000000000000..34d43a071955
--- /dev/null
+++ b/pkgs/by-name/mc/mcp-grafana/package.nix
@@ -0,0 +1,38 @@
+{
+  lib,
+  buildGoModule,
+  fetchFromGitHub,
+}:
+
+buildGoModule (finalAttrs: {
+  pname = "mcp-grafana";
+  version = "0.5.0";
+
+  src = fetchFromGitHub {
+    owner = "grafana";
+    repo = "mcp-grafana";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-oFtih2X3ZXKeo0xP8PBafu9HXgzcLUkLCeHm47qZhNA=";
+  };
+
+  vendorHash = "sha256-AVU1HE3RlEjkL0xO6j/Mii0B9BtUSdALUvSphCTwjrc=";
+
+  ldflags = [
+    "-s"
+    "-w"
+  ];
+
+  postInstall = ''
+    rm $out/bin/jsonschema
+  '';
+
+  __darwinAllowLocalNetworking = true;
+
+  meta = {
+    description = "MCP server for Grafana";
+    homepage = "https://github.com/grafana/mcp-grafana";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ pilz ];
+    mainProgram = "mcp-grafana";
+  };
+})
diff --git a/pkgs/by-name/mc/mcp-proxy/package.nix b/pkgs/by-name/mc/mcp-proxy/package.nix
new file mode 100644
index 000000000000..5248ad11b9ea
--- /dev/null
+++ b/pkgs/by-name/mc/mcp-proxy/package.nix
@@ -0,0 +1,38 @@
+{
+  lib,
+  python3Packages,
+  fetchFromGitHub,
+}:
+python3Packages.buildPythonApplication rec {
+  pname = "mcp-proxy";
+  version = "0.8.0";
+
+  src = fetchFromGitHub {
+    owner = "sparfenyuk";
+    repo = "mcp-proxy";
+    tag = "v${version}";
+    hash = "sha256-3KGBQyiI6hbDfl37lhhnGYHixHYGsKAgTJH/PSe3UFs=";
+  };
+
+  pyproject = true;
+
+  build-system = [ python3Packages.setuptools ];
+
+  dependencies = with python3Packages; [
+    uvicorn
+    mcp
+  ];
+
+  nativeCheckInputs = with python3Packages; [
+    pytestCheckHook
+    pytest-asyncio
+  ];
+
+  meta = {
+    description = "MCP server which proxies other MCP servers from stdio to SSE or from SSE to stdio";
+    homepage = "https://github.com/sparfenyuk/mcp-proxy";
+    mainProgram = "mcp-proxy";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ keyruu ];
+  };
+}
diff --git a/pkgs/by-name/mc/mcphost/package.nix b/pkgs/by-name/mc/mcphost/package.nix
index a4588efcfd3d..22567f8f046b 100644
--- a/pkgs/by-name/mc/mcphost/package.nix
+++ b/pkgs/by-name/mc/mcphost/package.nix
@@ -6,16 +6,16 @@
 
 buildGoModule (finalAttrs: {
   pname = "mcphost";
-  version = "0.8.0";
+  version = "0.13.1";
 
   src = fetchFromGitHub {
     owner = "mark3labs";
     repo = "mcphost";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-GnPabs21TS9SfpJBQ2g8AHJPoDnlxmZM/HKWcLPcwFg=";
+    hash = "sha256-vPho1fotkvGr1H+XiWpCukjgKifu3bALUQL6y5y+R08=";
   };
 
-  vendorHash = "sha256-0Q9Rn4K3wiZ2tQ2mP2Uh+Hjg1gAFE+AbJR/LA39C8Xs=";
+  vendorHash = "sha256-4jr73N8WcRQTRNvabOrUb2uRCW2LYxhGy0wshsZOcxc=";
 
   meta = {
     description = "CLI host application that enables Large Language Models (LLMs) to interact with external tools through the Model Context Protocol (MCP)";
diff --git a/pkgs/by-name/mc/mcuboot-imgtool/package.nix b/pkgs/by-name/mc/mcuboot-imgtool/package.nix
index 539bba22f46a..66e0aded30e4 100644
--- a/pkgs/by-name/mc/mcuboot-imgtool/package.nix
+++ b/pkgs/by-name/mc/mcuboot-imgtool/package.nix
@@ -7,13 +7,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "mcuboot-imgtool";
-  version = "2.1.0";
+  version = "2.2.0";
   pyproject = true;
 
   src = fetchPypi {
     inherit version;
     pname = "imgtool";
-    hash = "sha256-T3+831PETqqmImUEUQzLUvfvAMmXUDz5STSzMMlge2A=";
+    hash = "sha256-XIc6EYleNtDrmeg2akOjriJwzE9Bnja2k0KJGCVRZM8=";
   };
 
   passthru.updateScript = nix-update-script { };
diff --git a/pkgs/by-name/md/mdbook-admonish/package.nix b/pkgs/by-name/md/mdbook-admonish/package.nix
index 460edfd2f972..007ced9f32bf 100644
--- a/pkgs/by-name/md/mdbook-admonish/package.nix
+++ b/pkgs/by-name/md/mdbook-admonish/package.nix
@@ -6,17 +6,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdbook-admonish";
-  version = "1.19.0";
+  version = "1.20.0";
 
   src = fetchFromGitHub {
     owner = "tommilligan";
     repo = "mdbook-admonish";
     tag = "v${version}";
-    hash = "sha256-rlJowyyB83bNqzOavggbwVJg9/GYZLYjGr8Pv/O6UBE=";
+    hash = "sha256-5SVYfXXY1EmEMuhPHao3w9OzSayQDOWWvhL+1JoudzA=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-ilX/Tky3eQB0Aumz+gRRyaVz/MAM/qiNrGulZSPGUg0=";
+  cargoHash = "sha256-PwYtqde8ZccMqlkKy7i/qjWDYsUoxs2cMWOWrChjMM4=";
 
   meta = {
     description = "Preprocessor for mdbook to add Material Design admonishments";
diff --git a/pkgs/by-name/md/mdfried/package.nix b/pkgs/by-name/md/mdfried/package.nix
index 3b96cd56de0a..3e11f614926c 100644
--- a/pkgs/by-name/md/mdfried/package.nix
+++ b/pkgs/by-name/md/mdfried/package.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "mdfried";
-  version = "0.12.1";
+  version = "0.12.2";
 
   src = fetchFromGitHub {
     owner = "benjajaja";
     repo = "mdfried";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-pSJexHOfGB8KGTpPrqw+dgymDXyux0uH6CDsZcnsHlE=";
+    hash = "sha256-k40Ir/GQeJ08h11b8u/VEx89lPFQ0sLNGG1Bmx+tKPI=";
   };
 
-  cargoHash = "sha256-ZcWoYfvYmesi7JPOeSmIj0L9qlsoOYf6SMO0XQy6KwA=";
+  cargoHash = "sha256-IUmPQozLjaaFlcmEjZQ9IyvSRUlIZUxQDPWrpvaDArk=";
 
   doCheck = true;
 
diff --git a/pkgs/by-name/me/mediawriter/package.nix b/pkgs/by-name/me/mediawriter/package.nix
index 4fd9019fc85b..a123c3dcbd05 100644
--- a/pkgs/by-name/me/mediawriter/package.nix
+++ b/pkgs/by-name/me/mediawriter/package.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mediawriter";
-  version = "5.2.5";
+  version = "5.2.6";
 
   src = fetchFromGitHub {
     owner = "FedoraQt";
     repo = "MediaWriter";
     tag = version;
-    hash = "sha256-acKLKnAXTp1w8+pPVXO2gCi3GELEi3skYCYN13QjWyY=";
+    hash = "sha256-3O+b55H2/qbr8RrHNGz8dPQTt+ecVHtUWSDa24l2Dwc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/me/megasync/package.nix b/pkgs/by-name/me/megasync/package.nix
index 1f28e9484b20..415b6c85d14a 100644
--- a/pkgs/by-name/me/megasync/package.nix
+++ b/pkgs/by-name/me/megasync/package.nix
@@ -34,13 +34,13 @@
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "megasync";
-  version = "5.9.0.3";
+  version = "5.12.0.1";
 
   src = fetchFromGitHub rec {
     owner = "meganz";
     repo = "MEGAsync";
     tag = "v${finalAttrs.version}_Linux";
-    hash = "sha256-anX/zVCKG3azROamIIqG9hrj+2Tcw+sFIE60RDCJjaY=";
+    hash = "sha256-dIva/Xmk7enmRbczfuy1VLAcAMPQ27HUaHEQSTsldaY=";
     fetchSubmodules = false; # DesignTokensImporter cannot be fetched, see #1010 in github:meganz/megasync
     leaveDotGit = true;
     postFetch = ''
@@ -122,6 +122,8 @@ stdenv.mkDerivation (finalAttrs: {
     (lib.cmakeBool "USE_PDFIUM" false) # PDFIUM is not in nixpkgs
     (lib.cmakeBool "USE_FREEIMAGE" false) # freeimage is insecure
     (lib.cmakeBool "ENABLE_DESIGN_TOKENS_IMPORTER" false) # cannot be fetched
+    (lib.cmakeBool "USE_BREAKPAD" false)
+    (lib.cmakeBool "ENABLE_DESKTOP_APP_TESTS" false)
   ];
 
   preFixup = ''
diff --git a/pkgs/by-name/me/megatools/package.nix b/pkgs/by-name/me/megatools/package.nix
index 0f303363ca2f..f3ce5bdd97ce 100644
--- a/pkgs/by-name/me/megatools/package.nix
+++ b/pkgs/by-name/me/megatools/package.nix
@@ -16,12 +16,12 @@
 
 stdenv.mkDerivation rec {
   pname = "megatools";
-  version = "1.11.1";
+  version = "1.11.4";
 
   src = fetchgit {
-    url = "https://megous.com/git/megatools";
+    url = "https://xff.cz/git/megatools";
     rev = version;
-    sha256 = "sha256-AdvQqaRTsKTqdfNfFiWtA9mIPVGuui+Ru9TUARVG0+Q=";
+    hash = "sha256-pF87bphrlI0VYFXD8RMztGr+NqBSL6np/cldCbHiK7A=";
   };
 
   nativeBuildInputs = [
@@ -42,11 +42,15 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
   strictDeps = true;
 
-  meta = with lib; {
+  meta = {
     description = "Command line client for Mega.co.nz";
-    homepage = "https://megatools.megous.com/";
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ viric ];
-    platforms = platforms.unix;
+    homepage = "https://xff.cz/megatools/";
+    changelog = "https://xff.cz/megatools/builds/NEWS";
+    license = lib.licenses.gpl2Plus;
+    maintainers = with lib.maintainers; [
+      viric
+      vji
+    ];
+    platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/by-name/me/meilisearch/package.nix b/pkgs/by-name/me/meilisearch/package.nix
index 20849417bd41..7a79421676c3 100644
--- a/pkgs/by-name/me/meilisearch/package.nix
+++ b/pkgs/by-name/me/meilisearch/package.nix
@@ -4,7 +4,7 @@
   fetchFromGitHub,
   nixosTests,
   nix-update-script,
-  version ? "1.14.0",
+  version ? "1.15.2",
 }:
 
 let
@@ -15,11 +15,11 @@ let
   # the meilisearch module accordingly and to remove the meilisearch_1_11
   # attribute from all-packages.nix at that point too.
   hashes = {
-    "1.14.0" = "sha256-nPOhiJJbZCr9PBlR6bsZ9trSn/2XCI2O+nXeYbZEQpU=";
+    "1.15.2" = "sha256-aTgfgPuyRcjr/DxxyuKOFXfBcDponVmKz5PpGbnsmd0=";
     "1.11.3" = "sha256-CVofke9tOGeDEhRHEt6EYwT52eeAYNqlEd9zPpmXQ2U=";
   };
   cargoHashes = {
-    "1.14.0" = "sha256-8fcOXAzheG9xm1v7uD3T+6oc/dD4cjtu3zzBBh2EkcE=";
+    "1.15.2" = "sha256-eBGxVtE25txA17zxXdlSC6Vbrm+/v1fA7iTIBDvQ71M=";
     "1.11.3" = "sha256-cEJTokDJQuc9Le5+3ObMDNJmEhWEb+Qh0TV9xZkD9D8=";
   };
 in
diff --git a/pkgs/by-name/me/melonDS/package.nix b/pkgs/by-name/me/melonDS/package.nix
index d7d1d0e7ee07..45fd4c1898fd 100644
--- a/pkgs/by-name/me/melonDS/package.nix
+++ b/pkgs/by-name/me/melonDS/package.nix
@@ -9,6 +9,7 @@
   libarchive,
   libpcap,
   libslirp,
+  pipewire,
   pkg-config,
   qt6,
   stdenv,
@@ -27,13 +28,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "melonDS";
-  version = "1.0rc-unstable-2025-05-15";
+  version = "1.0rc-unstable-2025-06-18";
 
   src = fetchFromGitHub {
     owner = "melonDS-emu";
     repo = "melonDS";
-    rev = "0e64a06c84f9b9428f8647c2aafde110c9d917f3";
-    hash = "sha256-T+AcpAITNALtZbuwY+oh4RnMgjCAi7n2HPyDjFqpQPI=";
+    rev = "71edf793fcd2726c4212f7915194c60107dc2809";
+    hash = "sha256-B/qWdt+fWSov54zA+7S25bEVxqQuspo5oT3MyMk4Ato=";
   };
 
   nativeBuildInputs = [
@@ -68,6 +69,7 @@ stdenv.mkDerivation (finalAttrs: {
       "--prefix LD_LIBRARY_PATH : ${
         lib.makeLibraryPath [
           libpcap
+          pipewire
           wayland
         ]
       }"
diff --git a/pkgs/by-name/me/meme-suite/package.nix b/pkgs/by-name/me/meme-suite/package.nix
index b9e5c047ac84..be7fa0f0c992 100644
--- a/pkgs/by-name/me/meme-suite/package.nix
+++ b/pkgs/by-name/me/meme-suite/package.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   pname = "meme-suite";
-  version = "5.5.7";
+  version = "5.5.8";
 
   src = fetchurl {
     url = "https://meme-suite.org/meme-software/${version}/meme-${version}.tar.gz";
-    sha256 = "sha256-HcqNDm0dNlcMGoirjb5+Sxd3M/u+rKoujEZ0/r9XqvQ=";
+    sha256 = "sha256-G0oXU3lcCbHUbebEo/BLM8G8w+QbvPTm4UIg6K12dDs=";
   };
 
   buildInputs = [ zlib ];
diff --git a/pkgs/by-name/me/memos/package.nix b/pkgs/by-name/me/memos/package.nix
index 7a0ca3298dc1..f5285035ad3a 100644
--- a/pkgs/by-name/me/memos/package.nix
+++ b/pkgs/by-name/me/memos/package.nix
@@ -14,12 +14,12 @@
   protoc-gen-validate,
 }:
 let
-  version = "0.24.3";
+  version = "0.24.4";
   src = fetchFromGitHub {
     owner = "usememos";
     repo = "memos";
     rev = "v${version}";
-    hash = "sha256-lTMHUVrg3JzTneBh874tr0mbQPp7X3rMKrkOe+wcOL4=";
+    hash = "sha256-Vimc9Z6X1+UBm2UnNnlsYqXEnOV3JcEPm9SD3obKkLc=";
   };
 
   memos-protobuf-gen = stdenvNoCC.mkDerivation {
@@ -61,7 +61,7 @@ let
     pnpmDeps = pnpm.fetchDeps {
       inherit (finalAttrs) pname version src;
       sourceRoot = "${finalAttrs.src.name}/web";
-      hash = "sha256-ooiH13yzMTCSqzmZVvVy2jWoIfJecMlE6JkwcG5EV5k=";
+      hash = "sha256-AyQYY1vtBB6DTcieC7nw5aOOVuwESJSDs8qU6PGyaTw=";
     };
     pnpmRoot = "web";
     nativeBuildInputs = [
@@ -92,7 +92,7 @@ buildGoModule {
     memos-protobuf-gen
     ;
 
-  vendorHash = "sha256-SWpnsTdti3hD1alvItpXllTJHGxeKP8q7WD2nBzFG7o=";
+  vendorHash = "sha256-EzVgQpWJJA7EUKdnnnCIvecaOXg856f/WQyfV/WuWFU=";
 
   preBuild = ''
     rm -rf server/router/frontend/dist
diff --git a/pkgs/by-name/me/memray/package.nix b/pkgs/by-name/me/memray/package.nix
index b2a1bc80d454..09140b5e9bc2 100644
--- a/pkgs/by-name/me/memray/package.nix
+++ b/pkgs/by-name/me/memray/package.nix
@@ -44,7 +44,7 @@ python3Packages.buildPythonApplication rec {
     with python3Packages;
     [
       ipython
-      pytest-cov # fix Unknown pytest.mark.no_cover
+      pytest-cov-stub # fix Unknown pytest.mark.no_cover
       pytest-textual-snapshot
       pytestCheckHook
     ]
diff --git a/pkgs/by-name/me/memtree/package.nix b/pkgs/by-name/me/memtree/package.nix
index cecc37df961c..aa39b2aa2250 100644
--- a/pkgs/by-name/me/memtree/package.nix
+++ b/pkgs/by-name/me/memtree/package.nix
@@ -7,14 +7,14 @@
 
 python3Packages.buildPythonApplication {
   pname = "memtree";
-  version = "0-unstable-2024-01-04";
+  version = "0-unstable-2025-06-06";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "nbraud";
     repo = "memtree";
-    rev = "97615952eabdc5e8e1a4bd590dd1f4971f3c5a24";
-    hash = "sha256-Ifp8hwkuyBw57fGer3GbDiJaRjL4TD3hzj+ecGXWqI0=";
+    rev = "279f1fa0a811de86c278ce74830bd8aa1b00db58";
+    hash = "sha256-gUULox3QSx68x8lb1ytanY36cw/I9L4HdpR8OPOsxuc=";
   };
 
   pythonRelaxDeps = [ "rich" ];
diff --git a/pkgs/by-name/me/meowlnir/package.nix b/pkgs/by-name/me/meowlnir/package.nix
index 6c9fda7e91ba..14b662d2dc2a 100644
--- a/pkgs/by-name/me/meowlnir/package.nix
+++ b/pkgs/by-name/me/meowlnir/package.nix
@@ -9,18 +9,18 @@
 
 buildGoModule rec {
   pname = "meowlnir";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "maunium";
     repo = "meowlnir";
     tag = "v${version}";
-    hash = "sha256-1YuSXKRiMUCRbxGIDOQKGKK7CxM3VD0LLEeULQJ/zRo=";
+    hash = "sha256-TKt6uwj3RdhSEjGnWmYybJFaQ82qf3tXY4PPUAm6juQ=";
   };
 
   buildInputs = [ olm ];
 
-  vendorHash = "sha256-g0be4ftBRV6Ver1kULfhnVBAF+iL3+/4e25sozpJ7+s=";
+  vendorHash = "sha256-rFk4QUAI/Brclt/X/T7O0T6v2dTxpqbNLtoi0twYliw=";
 
   doCheck = true;
   doInstallCheck = true;
diff --git a/pkgs/by-name/me/mermaid-cli/integrity.patch b/pkgs/by-name/me/mermaid-cli/integrity.patch
deleted file mode 100644
index 7d0e8a09ebee..000000000000
--- a/pkgs/by-name/me/mermaid-cli/integrity.patch
+++ /dev/null
@@ -1,931 +0,0 @@
-Subject: [PATCH] build: add missing package integrity
----
-Index: package-lock.json
-<+>UTF-8
-===================================================================
-diff --git a/package-lock.json b/package-lock.json
---- a/package-lock.json	(revision f1f9df1a2a87f2649f9c2d6add5cb5d2714e70a8)
-+++ b/package-lock.json	(revision fa593dc39619f44b57a922927a66346248f31d7d)
-@@ -319,6 +319,7 @@
-     "node_modules/@babel/helper-function-name/node_modules/ansi-styles": {
-       "version": "3.2.1",
-       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-+      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -331,6 +332,7 @@
-     "node_modules/@babel/helper-function-name/node_modules/chalk": {
-       "version": "2.4.2",
-       "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
-+      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -345,6 +347,7 @@
-     "node_modules/@babel/helper-function-name/node_modules/color-convert": {
-       "version": "1.9.3",
-       "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
-+      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -354,12 +357,14 @@
-     "node_modules/@babel/helper-function-name/node_modules/color-name": {
-       "version": "1.1.3",
-       "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-+      "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
-       "dev": true,
-       "license": "MIT"
-     },
-     "node_modules/@babel/helper-function-name/node_modules/escape-string-regexp": {
-       "version": "1.0.5",
-       "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-+      "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
-       "dev": true,
-       "license": "MIT",
-       "engines": {
-@@ -369,6 +374,7 @@
-     "node_modules/@babel/helper-function-name/node_modules/has-flag": {
-       "version": "3.0.0",
-       "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-+      "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
-       "dev": true,
-       "license": "MIT",
-       "engines": {
-@@ -378,6 +384,7 @@
-     "node_modules/@babel/helper-function-name/node_modules/supports-color": {
-       "version": "5.5.0",
-       "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
-+      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -597,6 +604,7 @@
-     "node_modules/@babel/highlight/node_modules/ansi-styles": {
-       "version": "3.2.1",
-       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-+      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -609,6 +617,7 @@
-     "node_modules/@babel/highlight/node_modules/chalk": {
-       "version": "2.4.2",
-       "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
-+      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -623,6 +632,7 @@
-     "node_modules/@babel/highlight/node_modules/color-convert": {
-       "version": "1.9.3",
-       "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
-+      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -632,12 +642,14 @@
-     "node_modules/@babel/highlight/node_modules/color-name": {
-       "version": "1.1.3",
-       "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-+      "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
-       "dev": true,
-       "license": "MIT"
-     },
-     "node_modules/@babel/highlight/node_modules/escape-string-regexp": {
-       "version": "1.0.5",
-       "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-+      "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
-       "dev": true,
-       "license": "MIT",
-       "engines": {
-@@ -647,6 +659,7 @@
-     "node_modules/@babel/highlight/node_modules/has-flag": {
-       "version": "3.0.0",
-       "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-+      "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
-       "dev": true,
-       "license": "MIT",
-       "engines": {
-@@ -656,6 +669,7 @@
-     "node_modules/@babel/highlight/node_modules/supports-color": {
-       "version": "5.5.0",
-       "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
-+      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -1053,6 +1067,7 @@
-     "node_modules/@babel/traverse/node_modules/ansi-styles": {
-       "version": "3.2.1",
-       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-+      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -1065,6 +1080,7 @@
-     "node_modules/@babel/traverse/node_modules/chalk": {
-       "version": "2.4.2",
-       "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
-+      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -1079,6 +1095,7 @@
-     "node_modules/@babel/traverse/node_modules/color-convert": {
-       "version": "1.9.3",
-       "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
-+      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -1088,12 +1105,14 @@
-     "node_modules/@babel/traverse/node_modules/color-name": {
-       "version": "1.1.3",
-       "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-+      "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
-       "dev": true,
-       "license": "MIT"
-     },
-     "node_modules/@babel/traverse/node_modules/escape-string-regexp": {
-       "version": "1.0.5",
-       "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-+      "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
-       "dev": true,
-       "license": "MIT",
-       "engines": {
-@@ -1113,6 +1132,7 @@
-     "node_modules/@babel/traverse/node_modules/has-flag": {
-       "version": "3.0.0",
-       "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-+      "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
-       "dev": true,
-       "license": "MIT",
-       "engines": {
-@@ -1122,6 +1142,7 @@
-     "node_modules/@babel/traverse/node_modules/supports-color": {
-       "version": "5.5.0",
-       "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
-+      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -1935,6 +1956,7 @@
-     "node_modules/@jest/console/node_modules/chalk": {
-       "version": "4.1.2",
-       "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -1999,6 +2021,7 @@
-     "node_modules/@jest/core/node_modules/chalk": {
-       "version": "4.1.2",
-       "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -2164,6 +2187,7 @@
-     "node_modules/@jest/reporters/node_modules/chalk": {
-       "version": "4.1.2",
-       "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -2323,6 +2347,7 @@
-     "node_modules/@jest/transform/node_modules/chalk": {
-       "version": "4.1.2",
-       "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -2364,6 +2389,7 @@
-     "node_modules/@jest/types/node_modules/chalk": {
-       "version": "4.1.2",
-       "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -3207,6 +3233,7 @@
-     "node_modules/@types/json5": {
-       "version": "0.0.29",
-       "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
-+      "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
-       "dev": true,
-       "license": "MIT"
-     },
-@@ -3491,6 +3518,7 @@
-     "node_modules/ajv": {
-       "version": "6.12.6",
-       "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
-+      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -3824,6 +3852,7 @@
-     "node_modules/babel-jest/node_modules/chalk": {
-       "version": "4.1.2",
-       "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -4177,6 +4206,7 @@
-     "node_modules/callsites": {
-       "version": "3.1.0",
-       "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
-+      "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
-       "dev": true,
-       "license": "MIT",
-       "engines": {
-@@ -4375,6 +4405,7 @@
-     "node_modules/color-convert": {
-       "version": "2.0.1",
-       "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -4394,6 +4425,7 @@
-     "node_modules/color-name": {
-       "version": "1.1.4",
-       "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-       "license": "MIT"
-     },
-     "node_modules/color-string": {
-@@ -4515,6 +4547,7 @@
-     "node_modules/create-jest/node_modules/chalk": {
-       "version": "4.1.2",
-       "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -4531,6 +4564,7 @@
-     "node_modules/cross-spawn": {
-       "version": "7.0.3",
-       "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
-+      "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -5185,6 +5219,7 @@
-     "node_modules/deep-is": {
-       "version": "0.1.3",
-       "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
-+      "integrity": "sha512-GtxAN4HvBachZzm4OnWqc45ESpUCMwkYcsjnsPs23FwJbsO+k4t0k9bQCgOmzIlpHO28+WPK/KRbRk0DDHuuDw==",
-       "dev": true,
-       "license": "MIT"
-     },
-@@ -5300,6 +5335,7 @@
-     "node_modules/doctrine": {
-       "version": "2.1.0",
-       "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
-+      "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
-       "dev": true,
-       "license": "Apache-2.0",
-       "dependencies": {
-@@ -5381,6 +5417,7 @@
-     "node_modules/error-ex": {
-       "version": "1.3.2",
-       "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
-+      "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -5567,6 +5604,7 @@
-     "node_modules/es-to-primitive": {
-       "version": "1.2.1",
-       "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
-+      "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -5851,6 +5889,7 @@
-     "node_modules/eslint-plugin-es/node_modules/eslint-utils": {
-       "version": "2.1.0",
-       "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
-+      "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -5866,6 +5905,7 @@
-     "node_modules/eslint-plugin-es/node_modules/eslint-visitor-keys": {
-       "version": "1.3.0",
-       "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
-+      "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
-       "dev": true,
-       "license": "Apache-2.0",
-       "engines": {
-@@ -6067,6 +6107,7 @@
-     "node_modules/eslint-utils/node_modules/eslint-visitor-keys": {
-       "version": "2.0.0",
-       "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz",
-+      "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==",
-       "dev": true,
-       "license": "Apache-2.0",
-       "engines": {
-@@ -6089,6 +6130,7 @@
-     "node_modules/eslint/node_modules/chalk": {
-       "version": "4.1.2",
-       "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -6105,6 +6147,7 @@
-     "node_modules/eslint/node_modules/doctrine": {
-       "version": "3.0.0",
-       "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
-+      "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
-       "dev": true,
-       "license": "Apache-2.0",
-       "dependencies": {
-@@ -6237,6 +6280,7 @@
-     "node_modules/esrecurse": {
-       "version": "4.3.0",
-       "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
-+      "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
-       "dev": true,
-       "license": "BSD-2-Clause",
-       "dependencies": {
-@@ -6249,6 +6293,7 @@
-     "node_modules/estraverse": {
-       "version": "5.2.0",
-       "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
-+      "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
-       "dev": true,
-       "license": "BSD-2-Clause",
-       "engines": {
-@@ -6264,6 +6309,7 @@
-     "node_modules/esutils": {
-       "version": "2.0.3",
-       "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
-+      "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
-       "dev": true,
-       "license": "BSD-2-Clause",
-       "engines": {
-@@ -6375,6 +6421,7 @@
-     "node_modules/fast-deep-equal": {
-       "version": "3.1.3",
-       "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
-+      "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
-       "dev": true,
-       "license": "MIT"
-     },
-@@ -6404,12 +6451,14 @@
-     "node_modules/fast-json-stable-stringify": {
-       "version": "2.1.0",
-       "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
-+      "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
-       "dev": true,
-       "license": "MIT"
-     },
-     "node_modules/fast-levenshtein": {
-       "version": "2.0.6",
-       "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
-+      "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
-       "dev": true,
-       "license": "MIT"
-     },
-@@ -6485,6 +6534,7 @@
-     "node_modules/find-up": {
-       "version": "4.1.0",
-       "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-+      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -6544,6 +6594,7 @@
-     "node_modules/fs.realpath": {
-       "version": "1.0.0",
-       "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
-+      "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
-       "license": "ISC"
-     },
-     "node_modules/fsevents": {
-@@ -6812,6 +6863,7 @@
-     "node_modules/has": {
-       "version": "1.0.3",
-       "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
-+      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -6834,6 +6886,7 @@
-     "node_modules/has-flag": {
-       "version": "4.0.0",
-       "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-+      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-       "dev": true,
-       "license": "MIT",
-       "engines": {
-@@ -7012,6 +7065,7 @@
-     "node_modules/import-fresh": {
-       "version": "3.2.1",
-       "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
-+      "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -7055,6 +7109,7 @@
-     "node_modules/imurmurhash": {
-       "version": "0.1.4",
-       "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
-+      "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
-       "dev": true,
-       "license": "MIT",
-       "engines": {
-@@ -7064,6 +7119,7 @@
-     "node_modules/inflight": {
-       "version": "1.0.6",
-       "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
-+      "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
-       "license": "ISC",
-       "dependencies": {
-         "once": "^1.3.0",
-@@ -7073,6 +7129,7 @@
-     "node_modules/inherits": {
-       "version": "2.0.4",
-       "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
-+      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
-       "license": "ISC"
-     },
-     "node_modules/internal-slot": {
-@@ -7133,6 +7190,7 @@
-     "node_modules/is-arrayish": {
-       "version": "0.2.1",
-       "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
-+      "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
-       "dev": true,
-       "license": "MIT"
-     },
-@@ -7197,6 +7255,7 @@
-     "node_modules/is-callable": {
-       "version": "1.2.2",
-       "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz",
-+      "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==",
-       "dev": true,
-       "license": "MIT",
-       "engines": {
-@@ -7446,6 +7505,7 @@
-     "node_modules/is-string": {
-       "version": "1.0.5",
-       "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz",
-+      "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==",
-       "dev": true,
-       "license": "MIT",
-       "engines": {
-@@ -7458,6 +7518,7 @@
-     "node_modules/is-symbol": {
-       "version": "1.0.3",
-       "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
-+      "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -7539,6 +7600,7 @@
-     "node_modules/isexe": {
-       "version": "2.0.0",
-       "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
-+      "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
-       "dev": true,
-       "license": "ISC"
-     },
-@@ -7720,6 +7782,7 @@
-     "node_modules/jest-circus/node_modules/chalk": {
-       "version": "4.1.2",
-       "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -7770,6 +7833,7 @@
-     "node_modules/jest-cli/node_modules/chalk": {
-       "version": "4.1.2",
-       "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -7832,6 +7896,7 @@
-     "node_modules/jest-config/node_modules/chalk": {
-       "version": "4.1.2",
-       "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -7864,6 +7929,7 @@
-     "node_modules/jest-diff/node_modules/chalk": {
-       "version": "4.1.2",
-       "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -7910,6 +7976,7 @@
-     "node_modules/jest-each/node_modules/chalk": {
-       "version": "4.1.2",
-       "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -8010,6 +8077,7 @@
-     "node_modules/jest-matcher-utils/node_modules/chalk": {
-       "version": "4.1.2",
-       "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -8047,6 +8115,7 @@
-     "node_modules/jest-message-util/node_modules/chalk": {
-       "version": "4.1.2",
-       "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -8141,6 +8210,7 @@
-     "node_modules/jest-resolve/node_modules/chalk": {
-       "version": "4.1.2",
-       "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -8190,6 +8260,7 @@
-     "node_modules/jest-runner/node_modules/chalk": {
-       "version": "4.1.2",
-       "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -8240,6 +8311,7 @@
-     "node_modules/jest-runtime/node_modules/chalk": {
-       "version": "4.1.2",
-       "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -8298,6 +8370,7 @@
-     "node_modules/jest-snapshot/node_modules/chalk": {
-       "version": "4.1.2",
-       "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -8348,6 +8421,7 @@
-     "node_modules/jest-util/node_modules/chalk": {
-       "version": "4.1.2",
-       "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -8382,6 +8456,7 @@
-     "node_modules/jest-validate/node_modules/chalk": {
-       "version": "4.1.2",
-       "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -8418,6 +8493,7 @@
-     "node_modules/jest-watcher/node_modules/chalk": {
-       "version": "4.1.2",
-       "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -8478,6 +8554,7 @@
-     "node_modules/js-tokens": {
-       "version": "4.0.0",
-       "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
-+      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
-       "dev": true,
-       "license": "MIT"
-     },
-@@ -8531,12 +8608,14 @@
-     "node_modules/json-schema-traverse": {
-       "version": "0.4.1",
-       "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-+      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-       "dev": true,
-       "license": "MIT"
-     },
-     "node_modules/json-stable-stringify-without-jsonify": {
-       "version": "1.0.1",
-       "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
-+      "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
-       "dev": true,
-       "license": "MIT"
-     },
-@@ -8569,6 +8648,7 @@
-     "node_modules/jsx-ast-utils": {
-       "version": "3.1.0",
-       "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.1.0.tgz",
-+      "integrity": "sha512-d4/UOjg+mxAWxCiF0c5UTSwyqbchkbqCvK87aBovhnh8GtysTjWmgC63tY0cJx/HzGgm9qnA147jVBdpOiQ2RA==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -8660,6 +8740,7 @@
-     "node_modules/levn": {
-       "version": "0.4.1",
-       "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
-+      "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -8745,6 +8826,7 @@
-     "node_modules/locate-path": {
-       "version": "5.0.0",
-       "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-+      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -8757,6 +8839,7 @@
-     "node_modules/lodash": {
-       "version": "4.17.21",
-       "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
-+      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
-       "license": "MIT"
-     },
-     "node_modules/lodash-es": {
-@@ -8775,6 +8858,7 @@
-     "node_modules/loose-envify": {
-       "version": "1.4.0",
-       "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
-+      "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -8993,6 +9077,7 @@
-     "node_modules/natural-compare": {
-       "version": "1.4.0",
-       "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
-+      "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
-       "dev": true,
-       "license": "MIT"
-     },
-@@ -9045,6 +9130,7 @@
-     "node_modules/object-assign": {
-       "version": "4.1.1",
-       "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
-+      "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
-       "license": "MIT",
-       "engines": {
-         "node": ">=0.10.0"
-@@ -9075,6 +9161,7 @@
-     "node_modules/object-keys": {
-       "version": "1.1.1",
-       "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
-+      "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
-       "dev": true,
-       "license": "MIT",
-       "engines": {
-@@ -9161,6 +9248,7 @@
-     "node_modules/once": {
-       "version": "1.4.0",
-       "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
-+      "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
-       "license": "ISC",
-       "dependencies": {
-         "wrappy": "1"
-@@ -9185,6 +9273,7 @@
-     "node_modules/optionator": {
-       "version": "0.9.1",
-       "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
-+      "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -9218,6 +9307,7 @@
-     "node_modules/p-locate": {
-       "version": "4.1.0",
-       "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-+      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -9230,6 +9320,7 @@
-     "node_modules/p-locate/node_modules/p-limit": {
-       "version": "2.3.0",
-       "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-+      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -9245,6 +9336,7 @@
-     "node_modules/p-try": {
-       "version": "2.2.0",
-       "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-+      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-       "dev": true,
-       "license": "MIT",
-       "engines": {
-@@ -9294,6 +9386,7 @@
-     "node_modules/parent-module": {
-       "version": "1.0.1",
-       "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
-+      "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -9331,6 +9424,7 @@
-     "node_modules/path-exists": {
-       "version": "4.0.0",
-       "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-+      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-       "dev": true,
-       "license": "MIT",
-       "engines": {
-@@ -9340,6 +9434,7 @@
-     "node_modules/path-is-absolute": {
-       "version": "1.0.1",
-       "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
-+      "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
-       "license": "MIT",
-       "engines": {
-         "node": ">=0.10.0"
-@@ -9348,6 +9443,7 @@
-     "node_modules/path-key": {
-       "version": "3.1.1",
-       "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
-+      "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
-       "dev": true,
-       "license": "MIT",
-       "engines": {
-@@ -9357,6 +9453,7 @@
-     "node_modules/path-parse": {
-       "version": "1.0.7",
-       "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
-+      "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
-       "license": "MIT"
-     },
-     "node_modules/pathe": {
-@@ -9531,6 +9628,7 @@
-     "node_modules/pkg-dir": {
-       "version": "4.2.0",
-       "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
-+      "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -9711,6 +9809,7 @@
-     "node_modules/prelude-ls": {
-       "version": "1.2.1",
-       "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
-+      "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
-       "dev": true,
-       "license": "MIT",
-       "engines": {
-@@ -9854,6 +9953,7 @@
-     "node_modules/punycode": {
-       "version": "2.1.1",
-       "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
-+      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
-       "dev": true,
-       "license": "MIT",
-       "engines": {
-@@ -10090,6 +10190,7 @@
-     "node_modules/regexpp": {
-       "version": "3.1.0",
-       "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz",
-+      "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
-       "dev": true,
-       "license": "MIT",
-       "engines": {
-@@ -10152,6 +10253,7 @@
-     "node_modules/resolve-from": {
-       "version": "4.0.0",
-       "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
-+      "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
-       "dev": true,
-       "license": "MIT",
-       "engines": {
-@@ -10181,6 +10283,7 @@
-     "node_modules/rimraf": {
-       "version": "3.0.2",
-       "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
-+      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
-       "dev": true,
-       "license": "ISC",
-       "dependencies": {
-@@ -10275,6 +10378,7 @@
-     "node_modules/rw": {
-       "version": "1.3.3",
-       "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz",
-+      "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==",
-       "license": "BSD-3-Clause"
-     },
-     "node_modules/safe-array-concat": {
-@@ -10299,6 +10403,7 @@
-     "node_modules/safe-buffer": {
-       "version": "5.1.2",
-       "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-       "dev": true,
-       "license": "MIT"
-     },
-@@ -10332,6 +10437,7 @@
-     "node_modules/safer-buffer": {
-       "version": "2.1.2",
-       "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
-+      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
-       "license": "MIT"
-     },
-     "node_modules/semver": {
-@@ -10381,6 +10487,7 @@
-     "node_modules/shebang-command": {
-       "version": "2.0.0",
-       "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
-+      "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -10393,6 +10500,7 @@
-     "node_modules/shebang-regex": {
-       "version": "3.0.0",
-       "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
-+      "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
-       "dev": true,
-       "license": "MIT",
-       "engines": {
-@@ -10823,6 +10931,7 @@
-     "node_modules/strip-bom": {
-       "version": "3.0.0",
-       "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
-+      "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
-       "dev": true,
-       "license": "MIT",
-       "engines": {
-@@ -10842,6 +10951,7 @@
-     "node_modules/strip-json-comments": {
-       "version": "3.1.1",
-       "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
-+      "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
-       "dev": true,
-       "license": "MIT",
-       "engines": {
-@@ -11053,6 +11163,7 @@
-     "node_modules/text-table": {
-       "version": "0.2.0",
-       "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
-+      "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
-       "dev": true,
-       "license": "MIT"
-     },
-@@ -11172,6 +11283,7 @@
-     "node_modules/type-check": {
-       "version": "0.4.0",
-       "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
-+      "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
-       "dev": true,
-       "license": "MIT",
-       "dependencies": {
-@@ -11355,6 +11467,7 @@
-     "node_modules/uri-js": {
-       "version": "4.2.2",
-       "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
-+      "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
-       "dev": true,
-       "license": "BSD-2-Clause",
-       "dependencies": {
-@@ -11371,6 +11484,7 @@
-     "node_modules/util-deprecate": {
-       "version": "1.0.2",
-       "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
-+      "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
-       "license": "MIT"
-     },
-     "node_modules/uuid": {
-@@ -11643,6 +11757,7 @@
-     "node_modules/which": {
-       "version": "2.0.2",
-       "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
-+      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
-       "dev": true,
-       "license": "ISC",
-       "dependencies": {
-@@ -11785,6 +11900,7 @@
-     "node_modules/wrappy": {
-       "version": "1.0.2",
-       "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
-+      "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
-       "license": "ISC"
-     },
-     "node_modules/write-file-atomic": {
diff --git a/pkgs/by-name/me/mermaid-cli/package.nix b/pkgs/by-name/me/mermaid-cli/package.nix
index 058bf0dcde6d..a9b6495f47f3 100644
--- a/pkgs/by-name/me/mermaid-cli/package.nix
+++ b/pkgs/by-name/me/mermaid-cli/package.nix
@@ -4,9 +4,10 @@
   stdenv,
   fetchFromGitHub,
   chromium,
+  nix-update-script,
 }:
 let
-  version = "11.4.2";
+  version = "11.4.3";
 in
 buildNpmPackage {
   pname = "mermaid-cli";
@@ -16,15 +17,14 @@ buildNpmPackage {
     owner = "mermaid-js";
     repo = "mermaid-cli";
     rev = version;
-    hash = "sha256-hj6pnucms6OcLuIebnlHMQj2K8zMbyuWzvVkZh029Sw=";
+    hash = "sha256-vf6FwQlgSvbOL+areHrAI0MnsfXg/7lC6PZTyFfOE78=";
   };
 
   patches = [
-    ./integrity.patch # https://github.com/mermaid-js/mermaid-cli/issues/828
     ./remove-puppeteer-from-dev-deps.patch # https://github.com/mermaid-js/mermaid-cli/issues/830
   ];
 
-  npmDepsHash = "sha256-lrj3lSCfqUfUFvtnJ/ELNUFE9kNTC4apnGrYxYmkUtE=";
+  npmDepsHash = "sha256-+X3WJalbcCt1dClp8DcbvtfdYS4DFxZW6TgQMddLXFc=";
 
   env = {
     PUPPETEER_SKIP_DOWNLOAD = true;
@@ -34,6 +34,10 @@ buildNpmPackage {
 
   makeWrapperArgs = lib.lists.optional (lib.meta.availableOn stdenv.hostPlatform chromium) "--set PUPPETEER_EXECUTABLE_PATH '${lib.getExe chromium}'";
 
+  passthru = {
+    updateScript = nix-update-script { };
+  };
+
   meta = {
     description = "Generation of diagrams from text in a similar manner as markdown";
     homepage = "https://github.com/mermaid-js/mermaid-cli";
diff --git a/pkgs/by-name/me/meshoptimizer/package.nix b/pkgs/by-name/me/meshoptimizer/package.nix
index 25289d655e04..2e128ab9f0fe 100644
--- a/pkgs/by-name/me/meshoptimizer/package.nix
+++ b/pkgs/by-name/me/meshoptimizer/package.nix
@@ -16,12 +16,12 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "meshoptimizer";
-  version = "0.23";
+  version = "0.24";
   src = fetchFromGitHub {
     owner = "zeux";
     repo = "meshoptimizer";
     rev = "v${version}";
-    hash = "sha256-vA9FXpJuLJS510MZgVZ96LAUbjXth4CFNkXMEV0DpYg=";
+    hash = "sha256-mNZOlo0GD6Bf+aYmHL4E6yBkLJ2VRArEQ1FM1BD2+ow=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/by-name/mi/micronaut/package.nix b/pkgs/by-name/mi/micronaut/package.nix
index 3b3bbdb39b27..f435fdea515c 100644
--- a/pkgs/by-name/mi/micronaut/package.nix
+++ b/pkgs/by-name/mi/micronaut/package.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   pname = "micronaut";
-  version = "4.8.2";
+  version = "4.8.3";
 
   src = fetchzip {
     url = "https://github.com/micronaut-projects/micronaut-starter/releases/download/v${version}/micronaut-cli-${version}.zip";
-    sha256 = "sha256-QCXf3999EFLVSUuks8vQWAG/yJnZ74leJ0HWwzH70qU=";
+    sha256 = "sha256-u24Lwvcfv5sHQu/5N7+jOK3EpJ8zJgSs5wZBee2hNrg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/mi/microsocks/package.nix b/pkgs/by-name/mi/microsocks/package.nix
index 8cd33c602e02..1f935426dd4b 100644
--- a/pkgs/by-name/mi/microsocks/package.nix
+++ b/pkgs/by-name/mi/microsocks/package.nix
@@ -2,6 +2,7 @@
   stdenv,
   fetchFromGitHub,
   lib,
+  nix-update-script,
 }:
 
 stdenv.mkDerivation rec {
@@ -23,6 +24,8 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  passthru.updateScript = nix-update-script { };
+
   meta = {
     changelog = "https://github.com/rofl0r/microsocks/releases/tag/v${version}";
     description = "Tiny, portable SOCKS5 server with very moderate resource usage";
diff --git a/pkgs/by-name/cr/cromite/package.nix b/pkgs/by-name/mi/microsoft-edge/package.nix
similarity index 54%
rename from pkgs/by-name/cr/cromite/package.nix
rename to pkgs/by-name/mi/microsoft-edge/package.nix
index 06583fdd9558..60b707caf99b 100644
--- a/pkgs/by-name/cr/cromite/package.nix
+++ b/pkgs/by-name/mi/microsoft-edge/package.nix
@@ -1,11 +1,11 @@
 {
   lib,
-  stdenv,
+  stdenvNoCC,
   fetchurl,
   makeWrapper,
   patchelf,
-  copyDesktopItems,
-  makeDesktopItem,
+  bintools,
+  dpkg,
 
   # Linked dynamic libraries.
   alsa-lib,
@@ -51,6 +51,9 @@
   # Command line programs
   coreutils,
 
+  # command line arguments which are always set e.g "--disable-gpu"
+  commandLineArgs ? "",
+
   # Will crash without.
   systemd,
 
@@ -94,11 +97,16 @@
   # For QT support
   qt6,
 
-  # command line arguments which are always set e.g "--disable-gpu"
-  commandLineArgs ? "",
+  # Edge AAD sync
+  cacert,
+  libsecret,
+
+  # Edge Specific
+  libuuid,
 }:
 
 let
+
   opusWithCustomModes = libopus.override { withCustomModes = true; };
 
   deps =
@@ -108,6 +116,7 @@ let
       at-spi2-core
       atk
       bzip2
+      cacert
       cairo
       coreutils
       cups
@@ -157,34 +166,34 @@ let
       vulkan-loader
       wayland
       wget
-    ]
-    ++ lib.optionals pulseSupport [ libpulseaudio ]
-    ++ lib.optionals libvaSupport [ libva ]
-    ++ [
+      libsecret
+      libuuid
       gtk3
       gtk4
       qt6.qtbase
       qt6.qtwayland
-    ];
+    ]
+    ++ lib.optionals pulseSupport [ libpulseaudio ]
+    ++ lib.optionals libvaSupport [ libva ];
 in
-stdenv.mkDerivation (finalAttrs: {
-  pname = "cromite";
-  version = "137.0.7151.56";
-  commit = "b4f8d96284c854cbe6448d2e30ee5a30ce3f0b82";
+
+stdenvNoCC.mkDerivation (finalAttrs: {
+  pname = "microsoft-edge";
+  version = "137.0.3296.83";
 
   src = fetchurl {
-    url = "https://github.com/uazo/cromite/releases/download/v${finalAttrs.version}-${finalAttrs.commit}/chrome-lin64.tar.gz";
-    hash = "sha256-f53Xh6xvk5Z8tkg/SUZS+plO3a7Qvn6ff2Soj7Dvvqw=";
+    url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_${finalAttrs.version}-1_amd64.deb";
+    hash = "sha256-wbiijvxzyyM9lxoMtcQHFqZYChlsHh0hNQTwdgxPpZY=";
   };
 
   # With strictDeps on, some shebangs were not being patched correctly
-  # ie, $out/share/cromite/chrome
+  # ie, $out/share/microsoft/msedge/microsoft-edge
   strictDeps = false;
 
   nativeBuildInputs = [
     makeWrapper
     patchelf
-    copyDesktopItems
+    dpkg
   ];
 
   buildInputs = [
@@ -198,68 +207,93 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   rpath = lib.makeLibraryPath deps + ":" + lib.makeSearchPathOutput "lib" "lib64" deps;
-
   binpath = lib.makeBinPath deps;
 
-  desktopItems = [
-    (makeDesktopItem {
-      name = "cromite";
-      exec = "cromite %U";
-      icon = "cromite";
-      genericName = "Cromite";
-      desktopName = "Cromite";
-      categories = [
-        "Application"
-        "Network"
-        "WebBrowser"
-      ];
-    })
-  ];
-
   installPhase = ''
     runHook preInstall
 
-    install -Dm644 product_logo_48.png $out/share/pixmaps/cromite.png
-    cp -v -a . $out/share/cromite
+    appname=msedge
+    dist=stable
+
+    exe=$out/bin/microsoft-edge
+
+    mkdir -p $out/bin
+    cp -v -a usr/share $out/share
+    cp -v -a opt/microsoft $out/share/microsoft
+
     # replace bundled vulkan-loader
-    rm -v $out/share/cromite/libvulkan.so.1
-    ln -v -s -t $out/share/cromite ${lib.getLib vulkan-loader}/lib/libvulkan.so.1
+    rm -v $out/share/microsoft/$appname/libvulkan.so.1
+    ln -v -s -t "$out/share/microsoft/$appname" "${lib.getLib vulkan-loader}/lib/libvulkan.so.1"
+
+    substituteInPlace $out/share/microsoft/$appname/microsoft-edge \
+      --replace-fail 'CHROME_WRAPPER' 'WRAPPER'
+    substituteInPlace $out/share/applications/microsoft-edge.desktop \
+      --replace-fail /usr/bin/microsoft-edge-$dist $exe
+    substituteInPlace $out/share/applications/com.microsoft.Edge.desktop \
+      --replace-fail /usr/bin/microsoft-edge-$dist $exe
+    substituteInPlace $out/share/gnome-control-center/default-apps/microsoft-edge.xml \
+      --replace-fail /opt/microsoft/msedge $exe
+    substituteInPlace $out/share/menu/microsoft-edge.menu \
+      --replace-fail /opt $out/share \
+      --replace-fail $out/share/microsoft/$appname/microsoft-edge $exe
+
+    for icon_file in $out/share/microsoft/msedge/product_logo_[0-9]*.png; do
+      num_and_suffix="''${icon_file##*logo_}"
+      if [ $dist = "stable" ]; then
+        icon_size="''${num_and_suffix%.*}"
+      else
+        icon_size="''${num_and_suffix%_*}"
+      fi
+      logo_output_prefix="$out/share/icons/hicolor"
+      logo_output_path="$logo_output_prefix/''${icon_size}x''${icon_size}/apps"
+      mkdir -p "$logo_output_path"
+      mv "$icon_file" "$logo_output_path/microsoft-edge.png"
+    done
+
     # "--simulate-outdated-no-au" disables auto updates and browser outdated popup
-    mkdir $out/bin
-    makeWrapper $out/share/cromite/chrome $out/bin/cromite \
-      --prefix QT_PLUGIN_PATH  : "${qt6.qtbase}/lib/qt-6/plugins:${qt6.qtwayland}/lib/qt-6/plugins" \
+    makeWrapper "$out/share/microsoft/$appname/microsoft-edge" "$exe" \
+      --prefix QT_PLUGIN_PATH  : "${qt6.qtbase}/lib/qt-6/plugins" \
+      --prefix QT_PLUGIN_PATH  : "${qt6.qtwayland}/lib/qt-6/plugins" \
       --prefix NIXPKGS_QT6_QML_IMPORT_PATH : "${qt6.qtwayland}/lib/qt-6/qml" \
       --prefix LD_LIBRARY_PATH : "$rpath" \
-      --prefix PATH            : "$binpath:${lib.makeBinPath [ xdg-utils ]}" \
+      --prefix PATH            : "$binpath" \
+      --suffix PATH            : "${lib.makeBinPath [ xdg-utils ]}" \
       --prefix XDG_DATA_DIRS   : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:${addDriverRunpath.driverLink}/share" \
-      --set CHROME_WRAPPER  "cromite" \
+      --set SSL_CERT_FILE "${cacert}/etc/ssl/certs/ca-bundle.crt" \
+      --set CHROME_WRAPPER  "microsoft-edge-$dist" \
       --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true --wayland-text-input-version=3}}" \
       --add-flags "--simulate-outdated-no-au='Tue, 31 Dec 2099 23:59:59 GMT'" \
       --add-flags ${lib.escapeShellArg commandLineArgs}
 
     # Make sure that libGL and libvulkan are found by ANGLE libGLESv2.so
-    patchelf --set-rpath $rpath $out/share/cromite/lib*GL*
+    patchelf --set-rpath $rpath $out/share/microsoft/$appname/lib*GL*
 
-    for elf in $out/share/cromite/{chrome,chrome_sandbox,chrome_crashpad_handler}; do
+    # Edge specific set liboneauth
+    patchelf --set-rpath $rpath $out/share/microsoft/$appname/liboneauth.so
+
+    for elf in $out/share/microsoft/$appname/{msedge,msedge-sandbox,msedge_crashpad_handler}; do
       patchelf --set-rpath $rpath $elf
-      patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $elf
+      patchelf --set-interpreter ${bintools.dynamicLinker} $elf
     done
 
     runHook postInstall
   '';
 
-  passthru.updateScript = ./update.sh;
+  passthru.updateScript = ./update.py;
 
   meta = {
-    changelog = "https://github.com/uazo/cromite/releases";
-    description = "Bromite fork with ad blocking and privacy enhancements";
-    homepage = "https://github.com/uazo/cromite";
-    license = with lib.licenses; [
-      bsd3
-      gpl3Plus
+    changelog = "https://learn.microsoft.com/en-us/deployedge/microsoft-edge-relnote-stable-channel";
+    description = "Web browser from Microsoft";
+    homepage = "https://www.microsoft.com/en-us/edge";
+    license = lib.licenses.unfree;
+    mainProgram = "microsoft-edge";
+    maintainers = with lib.maintainers; [
+      cholli
+      ulrikstrid
+      maeve-oake
+      leleuvilela
+      bricklou
     ];
-    maintainers = with lib.maintainers; [ emaryn ];
-    mainProgram = "cromite";
     platforms = [ "x86_64-linux" ];
     sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
   };
diff --git a/pkgs/by-name/mi/microsoft-edge/update.py b/pkgs/by-name/mi/microsoft-edge/update.py
new file mode 100755
index 000000000000..e6c8b344d37b
--- /dev/null
+++ b/pkgs/by-name/mi/microsoft-edge/update.py
@@ -0,0 +1,45 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -i python3 -p python3Packages.packaging python3Packages.python-debian common-updater-scripts
+
+import os
+from collections import OrderedDict
+from os.path import abspath, dirname
+from urllib import request
+
+from debian.deb822 import Packages
+from debian.debian_support import Version
+
+PIN_PATH = dirname(abspath(__file__)) + "/default.nix"
+
+
+def packages():
+    packages_url = "https://packages.microsoft.com/repos/edge/dists/stable/main/binary-amd64/Packages"
+    handle = request.urlopen(packages_url)
+    return handle
+
+
+def latest_packages(packages: bytes):
+    latest_packages: OrderedDict[str, Packages] = {}
+    for package in Packages.iter_paragraphs(packages, use_apt_pkg=False):
+        name: str = package["Package"]
+        if not name.startswith("microsoft-edge-stable"):
+            continue
+        channel = name.replace("microsoft-edge-", "")
+        if channel not in latest_packages:
+            latest_packages[channel] = package
+        else:
+            old_package = latest_packages[channel]
+            if old_package.get_version() < package.get_version():  # type: ignore
+                latest_packages[channel] = package
+    return OrderedDict(sorted(latest_packages.items(), key=lambda x: x[0]))
+
+
+def write_expression():
+    latest = latest_packages(packages())
+    version = Version.re_valid_version.match(latest["stable"]["Version"]).group(
+        "upstream_version"
+    )
+    os.system(f'update-source-version microsoft-edge "{version}"')
+
+
+write_expression()
diff --git a/pkgs/by-name/mi/microsoft-identity-broker/package.nix b/pkgs/by-name/mi/microsoft-identity-broker/package.nix
index 8957184c928d..ac38570b14c7 100644
--- a/pkgs/by-name/mi/microsoft-identity-broker/package.nix
+++ b/pkgs/by-name/mi/microsoft-identity-broker/package.nix
@@ -6,18 +6,20 @@
   openjdk11,
   jnr-posix,
   makeWrapper,
-  openjfx17,
   zip,
   nixosTests,
   bash,
+  glib,
+  xorg,
+  alsa-lib,
 }:
 stdenv.mkDerivation rec {
   pname = "microsoft-identity-broker";
   version = "2.0.1";
 
   src = fetchurl {
-    url = "https://packages.microsoft.com/ubuntu/22.04/prod/pool/main/m/microsoft-identity-broker/microsoft-identity-broker_${version}_amd64.deb";
-    hash = "sha256-v/FxtdvRaUHYqvFSkJIZyicIdcyxQ8lPpY5rb9smnqA=";
+    url = "https://packages.microsoft.com/ubuntu/24.04/prod/pool/main/m/microsoft-identity-broker/microsoft-identity-broker_${version}_amd64.deb";
+    hash = "sha256-JheJnsu1ZxJbcpt0367FqfHVdwWWvPem2fm0i8s7MGE=";
   };
 
   nativeBuildInputs = [
@@ -27,24 +29,15 @@ stdenv.mkDerivation rec {
     zip
   ];
 
+  buildInputs = [
+    glib
+    xorg.libXtst
+    alsa-lib
+  ];
+
   buildPhase = ''
     runHook preBuild
-
     rm opt/microsoft/identity-broker/lib/jnr-posix-3.1.4.jar
-    jar -uf opt/microsoft/identity-broker/lib/javafx-graphics-15-linux.jar -C ${openjfx17}/modules_libs/javafx.graphics/ libglass.so
-    jar -uf opt/microsoft/identity-broker/lib/javafx-graphics-15-linux.jar -C ${openjfx17}/modules_libs/javafx.graphics/ libglassgtk3.so
-    jar -uf opt/microsoft/identity-broker/lib/javafx-graphics-15-linux.jar -C ${openjfx17}/modules_libs/javafx.graphics/ libprism_es2.so
-    zip -d opt/microsoft/identity-broker/lib/javafx-media-15-linux.jar libavplugin-54.so
-    zip -d opt/microsoft/identity-broker/lib/javafx-media-15-linux.jar libavplugin-56.so
-    zip -d opt/microsoft/identity-broker/lib/javafx-media-15-linux.jar libavplugin-57.so
-    zip -d opt/microsoft/identity-broker/lib/javafx-media-15-linux.jar libavplugin-ffmpeg-56.so
-    zip -d opt/microsoft/identity-broker/lib/javafx-media-15-linux.jar libavplugin-ffmpeg-57.so
-    zip -d opt/microsoft/identity-broker/lib/javafx-media-15-linux.jar libavplugin-ffmpeg-58.so
-    jar -uf opt/microsoft/identity-broker/lib/javafx-media-15-linux.jar -C ${openjfx17}/modules_libs/javafx.media/ libavplugin.so
-    jar -uf opt/microsoft/identity-broker/lib/javafx-media-15-linux.jar -C ${openjfx17}/modules_libs/javafx.media/ libfxplugins.so
-    jar -uf opt/microsoft/identity-broker/lib/javafx-media-15-linux.jar -C ${openjfx17}/modules_libs/javafx.media/ libgstreamer-lite.so
-    jar -uf opt/microsoft/identity-broker/lib/javafx-media-15-linux.jar -C ${openjfx17}/modules_libs/javafx.media/ libjfxmedia.so
-
     runHook postBuild
   '';
 
@@ -60,13 +53,20 @@ stdenv.mkDerivation rec {
     classpath="$classpath:${jnr-posix}/share/java/jnr-posix-${jnr-posix.version}.jar"
     mkdir -p $out/bin
     makeWrapper ${openjdk11}/bin/java $out/bin/microsoft-identity-broker \
-      --add-flags "-classpath $classpath com.microsoft.identity.broker.service.IdentityBrokerService" \
-      --add-flags "-verbose"
-    makeWrapper ${openjdk11}/bin/java $out/bin/microsoft-identity-device-broker \
-      --add-flags "-verbose" \
+      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath buildInputs}" \
       --add-flags "-classpath $classpath" \
-      --add-flags "com.microsoft.identity.broker.service.DeviceBrokerService" \
-      --add-flags "save"
+      --add-flags "-Xmx256m -Xss256k -XX:+UseParallelGC -XX:ParallelGCThreads=1" \
+      --add-flags "-verbose" \
+      --add-flags "-Djava.net.useSystemProxies=true" \
+      --add-flags "com.microsoft.identity.broker.service.IdentityBrokerService"
+
+    makeWrapper ${openjdk11}/bin/java $out/bin/microsoft-identity-device-broker \
+      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath buildInputs}" \
+      --add-flags "-classpath $classpath" \
+      --add-flags "-Xmx256m -Xss256k -XX:+UseParallelGC -XX:ParallelGCThreads=1" \
+      --add-flags "-verbose" \
+      --add-flags "-Djava.net.useSystemProxies=true" \
+      --add-flags "com.microsoft.identity.broker.service.DeviceBrokerService"
 
     runHook postInstall
   '';
@@ -91,7 +91,7 @@ stdenv.mkDerivation rec {
         $out/bin/microsoft-identity-device-broker \
       --replace \
         /usr/lib/jvm/java-11-openjdk-amd64 \
-        ${openjdk11}/bin/java
+        ${openjdk11}
   '';
 
   passthru = {
diff --git a/pkgs/by-name/mi/mieru/package.nix b/pkgs/by-name/mi/mieru/package.nix
index 7aa0e6ef877b..98779da5ca98 100644
--- a/pkgs/by-name/mi/mieru/package.nix
+++ b/pkgs/by-name/mi/mieru/package.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "mieru";
-  version = "3.15.0";
+  version = "3.16.0";
 
   src = fetchFromGitHub {
     owner = "enfein";
     repo = "mieru";
     rev = "v${version}";
-    hash = "sha256-0MoAdGcOmlnqQsFxDSWjCKEmZ0SQW3HOi/IroioPCMU=";
+    hash = "sha256-xSV4ssVknOQyusoWeC5oqiNVLLq6yIPioKXwW9j98mk=";
   };
 
   vendorHash = "sha256-pKcdvP38fZ2KFYNDx6I4TfmnnvWKzFDvz80xMkUojqM=";
diff --git a/pkgs/by-name/mi/mihomo-party/package.nix b/pkgs/by-name/mi/mihomo-party/package.nix
index ad4336297b5a..b1b410d023ae 100644
--- a/pkgs/by-name/mi/mihomo-party/package.nix
+++ b/pkgs/by-name/mi/mihomo-party/package.nix
@@ -14,9 +14,9 @@
   libGL,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "mihomo-party";
-  version = "1.7.4";
+  version = "1.7.6";
 
   src =
     let
@@ -29,10 +29,10 @@ stdenv.mkDerivation rec {
       };
     in
     fetchurl {
-      url = "https://github.com/mihomo-party-org/mihomo-party/releases/download/v${version}/mihomo-party-linux-${version}-${arch}.deb";
+      url = "https://github.com/mihomo-party-org/mihomo-party/releases/download/v${finalAttrs.version}/mihomo-party-linux-${finalAttrs.version}-${arch}.deb";
       hash = selectSystem {
-        x86_64-linux = "sha256-pQcDW9ztCTIS5dbmPuvig32cXWfzYiHksa3Jv/O5J7E=";
-        aarch64-linux = "sha256-YHLHJ05sdMj/Wz/WAEianbDIUz9X+AER2wm9T/QHRXI=";
+        x86_64-linux = "sha256-83RajPreGieOYBAkoR6FsFREnOGDDuMK6+Qg+R/koac=";
+        aarch64-linux = "sha256-oWOXLUYWRKRgPtNv9ZvM1ODd44dhymVTKHJBK/xxOOs=";
       };
     };
 
@@ -88,4 +88,4 @@ stdenv.mkDerivation rec {
     sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
     maintainers = with lib.maintainers; [ ];
   };
-}
+})
diff --git a/pkgs/by-name/mi/minesector/package.nix b/pkgs/by-name/mi/minesector/package.nix
new file mode 100644
index 000000000000..28d8ff2ff85e
--- /dev/null
+++ b/pkgs/by-name/mi/minesector/package.nix
@@ -0,0 +1,58 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  cmake,
+  ninja,
+  libtiff,
+  libwebp,
+  SDL2,
+  SDL2_image,
+  SDL2_ttf,
+  SDL2_mixer,
+  nix-update-script,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "minesector";
+  version = "1.1.5";
+
+  src = fetchFromGitHub {
+    owner = "grassdne";
+    repo = "minesector";
+    tag = finalAttrs.version;
+    hash = "sha256-VMTXZ4CIk9RpE4R9shHPl0R/T7mJUKY2b8Zi0DPW0/Q=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    ninja
+  ];
+
+  buildInputs = [
+    libtiff
+    libwebp
+    SDL2
+    SDL2_image
+    SDL2_ttf
+    SDL2_mixer
+  ];
+
+  strictDeps = true;
+
+  postPatch = ''
+    substituteInPlace CMakeLists.txt \
+      --replace-fail "set(STATIC_LINK" "# set(STATIC_LINK"
+  '';
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    mainProgram = "minesector";
+    description = "Snazzy Minesweeper-based game built with SDL2";
+    homepage = "https://github.com/grassdne/minesector";
+    license = lib.licenses.mit;
+    platforms = lib.platforms.unix;
+    maintainers = with lib.maintainers; [ federicoschonborn ];
+  };
+})
diff --git a/pkgs/by-name/mi/minimap2/package.nix b/pkgs/by-name/mi/minimap2/package.nix
index 1d5c8aa0513a..247f5b19be1a 100644
--- a/pkgs/by-name/mi/minimap2/package.nix
+++ b/pkgs/by-name/mi/minimap2/package.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "minimap2";
-  version = "2.29";
+  version = "2.30";
 
   src = fetchFromGitHub {
     repo = "minimap2";
     owner = "lh3";
     rev = "v${version}";
-    sha256 = "sha256-AIcxlEDHZOZgUOUZLRwmm5yuuzKHNz21rrSXAWGJEHk=";
+    sha256 = "sha256-TnJ/h04QdTdL56yyh+3Po19UAzrAkictu5Q6OiCQ2DY=";
   };
 
   buildInputs = [ zlib ];
diff --git a/pkgs/by-name/mi/mirrord/manifest.json b/pkgs/by-name/mi/mirrord/manifest.json
index dc66bc77a164..cad3b85fb214 100644
--- a/pkgs/by-name/mi/mirrord/manifest.json
+++ b/pkgs/by-name/mi/mirrord/manifest.json
@@ -1,21 +1,21 @@
 {
-  "version": "3.143.0",
+  "version": "3.144.0",
   "assets": {
     "x86_64-linux": {
-      "url": "https://github.com/metalbear-co/mirrord/releases/download/3.143.0/mirrord_linux_x86_64",
-      "hash": "sha256-0wu90iNAP7OQYENHIPsTSPk8Ko2jK0uBdZWe2d1URS8="
+      "url": "https://github.com/metalbear-co/mirrord/releases/download/3.144.0/mirrord_linux_x86_64",
+      "hash": "sha256-XbveB71EIChiuPVfqOshEhPZHnTGd7xJt48/zuyq5TA="
     },
     "aarch64-linux": {
-      "url": "https://github.com/metalbear-co/mirrord/releases/download/3.143.0/mirrord_linux_aarch64",
-      "hash": "sha256-MWQ5k9Tk6q7f5QQ3Og9O5dyEDd+wNi3FFYqbFpa7uxM="
+      "url": "https://github.com/metalbear-co/mirrord/releases/download/3.144.0/mirrord_linux_aarch64",
+      "hash": "sha256-4Tw68aWpNsjfi6d7qgBhbVvAMsHwUsttfVSpx3Kv2Nk="
     },
     "aarch64-darwin": {
-      "url": "https://github.com/metalbear-co/mirrord/releases/download/3.143.0/mirrord_mac_universal",
-      "hash": "sha256-GdwZWtNTuiUf+DcuZkVUm0YVH0EKfT6V6clcv1E7BxY="
+      "url": "https://github.com/metalbear-co/mirrord/releases/download/3.144.0/mirrord_mac_universal",
+      "hash": "sha256-FhRgopH7QRH+30Bofoiwdx3Vlne6D/ftaqhGuUnyH0g="
     },
     "x86_64-darwin": {
-      "url": "https://github.com/metalbear-co/mirrord/releases/download/3.143.0/mirrord_mac_universal",
-      "hash": "sha256-GdwZWtNTuiUf+DcuZkVUm0YVH0EKfT6V6clcv1E7BxY="
+      "url": "https://github.com/metalbear-co/mirrord/releases/download/3.144.0/mirrord_mac_universal",
+      "hash": "sha256-FhRgopH7QRH+30Bofoiwdx3Vlne6D/ftaqhGuUnyH0g="
     }
   }
 }
diff --git a/pkgs/by-name/mi/miru/linux.nix b/pkgs/by-name/mi/miru/linux.nix
index 80d5850e1ebc..b04d2df6b219 100644
--- a/pkgs/by-name/mi/miru/linux.nix
+++ b/pkgs/by-name/mi/miru/linux.nix
@@ -1,5 +1,6 @@
 {
   fetchurl,
+  makeWrapper,
   appimageTools,
 
   pname,
@@ -22,6 +23,8 @@ appimageTools.wrapType2 rec {
     hash = "sha256-nLPqEI6u5NNQ/kPbXRWPG0pIwutKNK2J8JeTPN6wHlg=";
   };
 
+  nativeBuildInputs = [ makeWrapper ];
+
   extraInstallCommands =
     let
       contents = appimageTools.extractType2 { inherit pname version src; };
@@ -32,6 +35,9 @@ appimageTools.wrapType2 rec {
       cp -r ${contents}/{locales,resources} "$out/share/lib/miru"
       cp -r ${contents}/usr/* "$out"
       cp "${contents}/${pname}.desktop" "$out/share/applications/"
+      # https://github.com/ThaUnknown/miru/issues/562
+      # Miru does not work under wayland currently, so force it to use X11
+      wrapProgram $out/bin/miru --set ELECTRON_OZONE_PLATFORM_HINT x11
       substituteInPlace $out/share/applications/${pname}.desktop --replace 'Exec=AppRun' 'Exec=${pname}'
     '';
 }
diff --git a/pkgs/by-name/mi/misconfig-mapper/package.nix b/pkgs/by-name/mi/misconfig-mapper/package.nix
index 0f6d90286079..9ff75fefa6a9 100644
--- a/pkgs/by-name/mi/misconfig-mapper/package.nix
+++ b/pkgs/by-name/mi/misconfig-mapper/package.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "misconfig-mapper";
-  version = "1.14.3";
+  version = "1.14.4";
 
   src = fetchFromGitHub {
     owner = "intigriti";
     repo = "misconfig-mapper";
     tag = "v${version}";
-    hash = "sha256-ZYTPXzqQ0jKRjjpw0HFExNWjXBG3xopBhD2SoUEvdIE=";
+    hash = "sha256-HLGBQugGg66wH3NFPDvFRRGdDscd+Vz6LHG8CYHqgYw=";
   };
 
-  vendorHash = "sha256-A+71QaSmF7fzGeqmNOBvlZz5irJGxfO8+pR+1uxsiiU=";
+  vendorHash = "sha256-GY3eRMj7YtuP/Bibf2e4fAOwGNe9TTadmOBpOxK4S6c=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/mi/mise/package.nix b/pkgs/by-name/mi/mise/package.nix
index d8d340c6f655..9c00c708bf35 100644
--- a/pkgs/by-name/mi/mise/package.nix
+++ b/pkgs/by-name/mi/mise/package.nix
@@ -21,17 +21,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mise";
-  version = "2025.6.0";
+  version = "2025.6.2";
 
   src = fetchFromGitHub {
     owner = "jdx";
     repo = "mise";
     rev = "v${version}";
-    hash = "sha256-vlzId9SjxcSQ6DDw0H68zi7xHd2Nn3bPSG+rsR7UEBs=";
+    hash = "sha256-vptTQdP7r9m328DK7USB6bV7muLVPIkZG8596nfdNQ8=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-YVeF+2qJuOMhNQLEpH3P0ufqHU0sBFRHN5yXZGTJEQA=";
+  cargoHash = "sha256-0PS3WWQo3+fJ2TivvRalYCzDFmNxPRZStJj13kAP9bg=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/by-name/mi/mitra/package.nix b/pkgs/by-name/mi/mitra/package.nix
index 1a51c6ee0057..5192212c7efe 100644
--- a/pkgs/by-name/mi/mitra/package.nix
+++ b/pkgs/by-name/mi/mitra/package.nix
@@ -6,18 +6,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mitra";
-  version = "4.4.0";
+  version = "4.5.0";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "silverpill";
     repo = "mitra";
     rev = "v${version}";
-    hash = "sha256-ZonEMbafZWfURW7WKUAVmDq7bvi7oXBpKVudbrTF6eE=";
+    hash = "sha256-y77wLGmSJbGmqUXURjqp6Gz9+xpMvnUEcB9OZ4uF3M8=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-n96B51fVkJcBDwcbYHNP6ZWWdU8fu0a0Y72IVbNAAMQ=";
+  cargoHash = "sha256-sfPnhB1GWIG8tA6Jqr1+03qxwS1DBbRAv4ZY+wKB/jY=";
 
   # require running database
   doCheck = false;
diff --git a/pkgs/by-name/mk/mkbrr/package.nix b/pkgs/by-name/mk/mkbrr/package.nix
index 020a2a0c9f2b..ba12209d38e7 100644
--- a/pkgs/by-name/mk/mkbrr/package.nix
+++ b/pkgs/by-name/mk/mkbrr/package.nix
@@ -7,13 +7,13 @@
 
 buildGoModule (finalAttrs: {
   pname = "mkbrr";
-  version = "1.12.1";
+  version = "1.13.0";
 
   src = fetchFromGitHub {
     owner = "autobrr";
     repo = "mkbrr";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-gUIX271eaG15329pLnZ8QnZD7BrdCk+cWs43uUzKxOE=";
+    hash = "sha256-E5UiV7JoMzmnj8/LzVDqOuPNSockgmExmc0B9+KjGII=";
   };
 
   vendorHash = "sha256-G8WM5x99UZfAZUkE5W37Ogx/OKk8JypPzGBrIuBOFNo=";
diff --git a/pkgs/by-name/ml/mlxbf-bootctl/package.nix b/pkgs/by-name/ml/mlxbf-bootctl/package.nix
index 624c510eef39..8db85e010dd5 100644
--- a/pkgs/by-name/ml/mlxbf-bootctl/package.nix
+++ b/pkgs/by-name/ml/mlxbf-bootctl/package.nix
@@ -10,8 +10,8 @@ stdenv.mkDerivation rec {
 
   src = fetchFromGitHub {
     owner = "Mellanox";
-    repo = pname;
-    rev = "${pname}-${version}";
+    repo = "mlxbf-bootctl";
+    rev = "mlxbf-bootctl-${version}";
     hash = "sha256-F49ZZtty+NARXA/doAFLhsQn4XkPW6GWLXGy4waIaM0=";
   };
 
diff --git a/pkgs/by-name/mm/MMA/package.nix b/pkgs/by-name/mm/MMA/package.nix
index b5e52bd42332..b3e83c1e1d37 100644
--- a/pkgs/by-name/mm/MMA/package.nix
+++ b/pkgs/by-name/mm/MMA/package.nix
@@ -9,12 +9,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "21.09";
+  version = "25.05.0";
   pname = "mma";
 
   src = fetchurl {
     url = "https://www.mellowood.ca/mma/mma-bin-${version}.tar.gz";
-    sha256 = "sha256-5YzdaZ499AGiKAPUsgBCj3AQ9s0WlfgAbHhOQSOLLO8=";
+    sha256 = "sha256-J72uTwAlWa/dRPf7/lO1epbmjTQar+3/U//+IJ9u4PM=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/by-name/mm/mm-common/package.nix b/pkgs/by-name/mm/mm-common/package.nix
index 439a9e597ed8..608d090485f8 100644
--- a/pkgs/by-name/mm/mm-common/package.nix
+++ b/pkgs/by-name/mm/mm-common/package.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mm-common";
-  version = "1.0.6";
+  version = "1.0.7";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "tVxGA3282rxc7js4nqEcw5EK22jr6IPpR3hHqmYIYuc=";
+    sha256 = "SUq/zngUGCWbHp2IiMc69N5LbzvjbMddm6qLqg8qejk=";
   };
 
   strictDeps = true;
diff --git a/pkgs/by-name/mo/moar/package.nix b/pkgs/by-name/mo/moar/package.nix
index 547effbcf0ed..1a32b138ac78 100644
--- a/pkgs/by-name/mo/moar/package.nix
+++ b/pkgs/by-name/mo/moar/package.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "moar";
-  version = "1.31.8";
+  version = "1.31.10";
 
   src = fetchFromGitHub {
     owner = "walles";
     repo = "moar";
     rev = "v${version}";
-    hash = "sha256-Ql2RWE8yttUSWZf4kJxv8l2lDBetJ7JB7W7A8GYVkyg=";
+    hash = "sha256-MnxElICkTCWwaY0lz9bsK0ioX4IFe8DgVcU7D1csBpI=";
   };
 
-  vendorHash = "sha256-J9u7LxzXk4npRyymmMKyN2ZTmhT4WwKjy0X5ITcHtoE=";
+  vendorHash = "sha256-eKL6R2Xmj6JOwXGuJJdSGwobEzDzZ0FUD8deO2d1unc=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/by-name/mo/mojave-gtk-theme/package.nix b/pkgs/by-name/mo/mojave-gtk-theme/package.nix
index 8cf39693599f..b483b58f762c 100644
--- a/pkgs/by-name/mo/mojave-gtk-theme/package.nix
+++ b/pkgs/by-name/mo/mojave-gtk-theme/package.nix
@@ -27,14 +27,14 @@ let
 
   main_src = fetchFromGitHub {
     owner = "vinceliuice";
-    repo = pname;
+    repo = "mojave-gtk-theme";
     rev = version;
     hash = "sha256-uL4lO6aWiDfOQkhpTnr/iVx1fI7n/fx7WYr5jDWPfYM=";
   };
 
   wallpapers_src = fetchFromGitHub {
     owner = "vinceliuice";
-    repo = pname;
+    repo = "mojave-gtk-theme";
     rev = "1dc23c2b45d7e073e080cfb02f43aab0e59b6b2c";
     hash = "sha256-nkw8gXYx8fN1yn0A5M2fWwOvfUQ6izynxRw5JA61InM=";
     name = "wallpapers";
diff --git a/pkgs/by-name/mo/mold/package.nix b/pkgs/by-name/mo/mold/package.nix
index 55e8c6f8a052..ec88f0ce9394 100644
--- a/pkgs/by-name/mo/mold/package.nix
+++ b/pkgs/by-name/mo/mold/package.nix
@@ -7,7 +7,7 @@
   cmake,
   mimalloc,
   ninja,
-  tbb_2022_0,
+  tbb_2022,
   zlib,
   zstd,
 
@@ -26,13 +26,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "mold";
-  version = "2.40.0";
+  version = "2.40.1";
 
   src = fetchFromGitHub {
     owner = "rui314";
     repo = "mold";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-8EqAgdlvg7BSCTmMubqbq2t77xGcUI2RWEw2iuK5UXo=";
+    hash = "sha256-161ATZkgoipFMRcI4x4TNqxbyWxM75Cmo/rL4Hn1JFQ=";
   };
 
   nativeBuildInputs = [
@@ -42,7 +42,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   buildInputs =
     [
-      tbb_2022_0
+      tbb_2022
       zlib
       zstd
     ]
diff --git a/pkgs/by-name/mo/mongosh/package.nix b/pkgs/by-name/mo/mongosh/package.nix
index e091666233c0..abf498209599 100644
--- a/pkgs/by-name/mo/mongosh/package.nix
+++ b/pkgs/by-name/mo/mongosh/package.nix
@@ -2,39 +2,34 @@
   lib,
   buildNpmPackage,
   fetchFromGitHub,
-  fetchpatch,
-  libmongocrypt,
-  krb5,
   testers,
   nix-update-script,
+  fetchpatch,
 }:
 
 buildNpmPackage (finalAttrs: {
   pname = "mongosh";
-  version = "2.5.1";
+  version = "2.5.2";
 
   src = fetchFromGitHub {
     owner = "mongodb-js";
     repo = "mongosh";
-
-    # Tracking a few commits ahead of 2.5.1 to ensure the package-lock.json patch below applies
-    #tag = "v${finalAttrs.version}";
-    rev = "2163e8b10a77af18e0cedfa164526506c051593e";
-
-    hash = "sha256-DYX8NqAISwzBpdilcv3YVrL72byXMeC4z/nLqd2nf2c=";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-0rol41XNdpfVRGY8KXFmQ0GHg5QqgnCaF21ZFyxfKeQ=";
   };
 
-  patches = [
-    # https://github.com/mongodb-js/mongosh/pull/2452
-    (fetchpatch {
-      url = "https://github.com/mongodb-js/mongosh/commit/30f66260fce3e1744298d086bd2b54b2d2bfffbb.patch";
-      hash = "sha256-c2QM/toeoagfhvuh4r+/5j7ZyV6DEr9brA9mXpEy1kM=";
-    })
+  npmDepsHash = "sha256-J4/CU+gdT/qecM1JwafLBewQjYdaONq/k4ax3Jw34XY=";
 
+  patches = [
     ./disable-telemetry.patch
+
+    # For tagged version 2.5.2
+    (fetchpatch {
+      url = "https://github.com/mongodb-js/mongosh/commit/8e775b58b95f1d7c0a3de9c677e957a40213da6a.patch";
+      hash = "sha256-Q80QuzC7JN6uqyjk7YuUljXm+365AwYRV5cct9TefUc=";
+    })
   ];
 
-  npmDepsHash = "sha256-6uXEKAAGXxaODjXIszYml5Af4zSuEzy/QKdMgSzLD84=";
   npmFlags = [
     "--omit=optional"
     "--ignore-scripts"
@@ -53,7 +48,12 @@ buildNpmPackage (finalAttrs: {
     tests.version = testers.testVersion {
       package = finalAttrs.finalPackage;
     };
-    updateScript = nix-update-script { };
+    updateScript = nix-update-script {
+      extraArgs = [
+        "--version-regex"
+        "^v(\\d+\\.\\d+\\.\\d+)$"
+      ];
+    };
   };
 
   meta = {
diff --git a/pkgs/by-name/mo/monkeysAudio/package.nix b/pkgs/by-name/mo/monkeysAudio/package.nix
index 2b8ef4c2abd1..f5dd9850902a 100644
--- a/pkgs/by-name/mo/monkeysAudio/package.nix
+++ b/pkgs/by-name/mo/monkeysAudio/package.nix
@@ -6,12 +6,12 @@
 }:
 
 stdenv.mkDerivation (finalAttrs: {
-  version = "11.14";
+  version = "11.17";
   pname = "monkeys-audio";
 
   src = fetchzip {
     url = "https://monkeysaudio.com/files/MAC_${builtins.concatStringsSep "" (lib.strings.splitString "." finalAttrs.version)}_SDK.zip";
-    hash = "sha256-1JfAbC8Hs+t2rHiHK7jrKcS8AM0yg/G7tZME3lvAnWg=";
+    hash = "sha256-GPuor0A9NsObRr66HUYXCQJmM2EW87FyeMJiwB/K6Vc=";
     stripRoot = false;
   };
 
diff --git a/pkgs/by-name/mo/moon/package.nix b/pkgs/by-name/mo/moon/package.nix
index 43d24b681cd3..bd3eb72b0c27 100644
--- a/pkgs/by-name/mo/moon/package.nix
+++ b/pkgs/by-name/mo/moon/package.nix
@@ -13,16 +13,16 @@
 
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "moon";
-  version = "1.36.2";
+  version = "1.37.3";
 
   src = fetchFromGitHub {
     owner = "moonrepo";
     repo = "moon";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-CE9qhLIXQ72Ym8u1S4JzQ9NSbDSstQcAR4eQFn1lA0s=";
+    hash = "sha256-XBuB26ghUUXkQrUDZCt7L4c8aW5odI7BqDdM6Si8Nck=";
   };
 
-  cargoHash = "sha256-i3lUyq3e+UL7I35FapprLWUoDoG9SmUorQmeoUfpC/k=";
+  cargoHash = "sha256-7XcpJngFzWvVdmYWLf3jYLVG/rgXaetP1w4vAt6INDQ=";
 
   env = {
     RUSTFLAGS = "-C strip=symbols";
diff --git a/pkgs/by-name/mo/moonraker/package.nix b/pkgs/by-name/mo/moonraker/package.nix
index 9221a237e2a6..ba7ddb83a661 100644
--- a/pkgs/by-name/mo/moonraker/package.nix
+++ b/pkgs/by-name/mo/moonraker/package.nix
@@ -35,13 +35,13 @@ let
 in
 stdenvNoCC.mkDerivation rec {
   pname = "moonraker";
-  version = "0.9.3-unstable-2025-05-22";
+  version = "0.9.3-unstable-2025-06-12";
 
   src = fetchFromGitHub {
     owner = "Arksine";
     repo = "moonraker";
-    rev = "0310d0be9fd207c510554ff64ca418cf4bcdaf9f";
-    sha256 = "sha256-tTCMNn1UmEeeBEGm8Sw0TrlNcVYHLjw57HH0LIA2y8k=";
+    rev = "ccbfd6498941cb4d8b49d192c8dd34feacfbe84a";
+    sha256 = "sha256-SCexS9dRbdwNSy5bTrGaEfP9EmkO3c/IL2+OIG7/K24=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/by-name/mo/morgen/package.nix b/pkgs/by-name/mo/morgen/package.nix
index 19753dd8bf84..a98ab468d1db 100644
--- a/pkgs/by-name/mo/morgen/package.nix
+++ b/pkgs/by-name/mo/morgen/package.nix
@@ -16,12 +16,12 @@
 
 stdenv.mkDerivation rec {
   pname = "morgen";
-  version = "3.6.14";
+  version = "3.6.15";
 
   src = fetchurl {
     name = "morgen-${version}.deb";
     url = "https://dl.todesktop.com/210203cqcj00tw1/versions/${version}/linux/deb";
-    hash = "sha256-ouSXOOTf+7FxSj8iyYyGN2WnsZ5EtvbW/XECfBA4UVc=";
+    hash = "sha256-OannnO6kfJgtnC2/QALAJFj1Uj4fUaghYYisFJvNp70=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/mp/mpdecimal/package.nix b/pkgs/by-name/mp/mpdecimal/package.nix
index 72a3ece43fbb..4a66cc35d719 100644
--- a/pkgs/by-name/mp/mpdecimal/package.nix
+++ b/pkgs/by-name/mp/mpdecimal/package.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "mpdecimal";
-  version = "4.0.0";
+  version = "4.0.1";
   outputs = [
     "out"
     "cxx"
@@ -17,18 +17,12 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://www.bytereef.org/software/mpdecimal/releases/mpdecimal-${version}.tar.gz";
-    hash = "sha256-lCRFwyRbInMP1Bpnp8XCMdEcsbmTa5wPdjNPt9C0Row=";
+    hash = "sha256-ltM6u0uwBwx74P7UJGzThBYYgyX4IEaCFEcZOFRbGsg=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
 
-  configureFlags = [ "LD=${stdenv.cc.targetPrefix}cc" ];
-
-  postPatch = ''
-    # Use absolute library install names on Darwin.
-    substituteInPlace configure.ac \
-      --replace-fail '-install_name @rpath/' "-install_name $out/lib/"
-  '';
+  enableParallelBuilding = true;
 
   postInstall = ''
     mkdir -p $cxx/lib
diff --git a/pkgs/by-name/mp/mpls/package.nix b/pkgs/by-name/mp/mpls/package.nix
index 0e9abac8f657..baca6ca2a8d9 100644
--- a/pkgs/by-name/mp/mpls/package.nix
+++ b/pkgs/by-name/mp/mpls/package.nix
@@ -7,13 +7,13 @@
 }:
 buildGoModule rec {
   pname = "mpls";
-  version = "0.15.2";
+  version = "0.15.3";
 
   src = fetchFromGitHub {
     owner = "mhersson";
     repo = "mpls";
     tag = "v${version}";
-    hash = "sha256-UQIGg31OJ8vTqlj5JLYxOxg9oS0+PXPcdocAJbUgpzY=";
+    hash = "sha256-MGrvJOnjNNXU8Z9rqDIacb5awKxf50xYeNkY06U4cUk=";
   };
 
   vendorHash = "sha256-n3DG3sR7HOQPQJW1t1qC94EKkDBgXpdmjUWtLzAE7kY=";
diff --git a/pkgs/by-name/mp/mpris-discord-rpc/package.nix b/pkgs/by-name/mp/mpris-discord-rpc/package.nix
new file mode 100644
index 000000000000..8a613bb35d3f
--- /dev/null
+++ b/pkgs/by-name/mp/mpris-discord-rpc/package.nix
@@ -0,0 +1,47 @@
+{
+  lib,
+  rustPlatform,
+  fetchFromGitHub,
+  pkg-config,
+  dbus,
+  openssl,
+  stdenv,
+}:
+
+rustPlatform.buildRustPackage (finalAttrs: {
+  pname = "mpris-discord-rpc";
+  version = "0.4.0";
+
+  src = fetchFromGitHub {
+    owner = "patryk-ku";
+    repo = "mpris-discord-rpc";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-szftij29YTLzqBNirvoTgZfPIRznM1Ax5MPTKqB1nYI=";
+  };
+
+  cargoHash = "sha256-/QYeNcmkW6cm1VJkzJfVGvZU79wGswhKUFYc54oQbGw=";
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    dbus
+    openssl
+  ];
+
+  postInstall = ''
+    mkdir --parents $out/etc/systemd/user
+    substitute $src/mpris-discord-rpc.service $out/etc/systemd/user/mpris-discord-rpc.service \
+      --replace-fail /usr/bin/mpris-discord-rpc $out/bin/mpris-discord-rpc
+  '';
+
+  meta = {
+    description = "Linux Discord rich presence for music, using MPRIS with album cover and progress bar support";
+    homepage = "https://github.com/patryk-ku/mpris-discord-rpc";
+    changelog = "https://github.com/patryk-ku/mpris-discord-rpc/blob/${finalAttrs.src.tag}/CHANGELOG.md";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.lukaswrz ];
+    mainProgram = "mpris-discord-rpc";
+  };
+})
diff --git a/pkgs/by-name/mp/mpris-scrobbler/package.nix b/pkgs/by-name/mp/mpris-scrobbler/package.nix
index 766c27d2d940..05190106da85 100644
--- a/pkgs/by-name/mp/mpris-scrobbler/package.nix
+++ b/pkgs/by-name/mp/mpris-scrobbler/package.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mpris-scrobbler";
-  version = "0.5.6";
+  version = "0.5.7";
 
   src = fetchFromGitHub {
     owner = "mariusor";
     repo = "mpris-scrobbler";
     rev = "v${version}";
-    sha256 = "sha256-qjd/8Ro4wERvp8RDxyZiqWqVKwA0CX1LaoZAquw9asA=";
+    sha256 = "sha256-Ro2Eop4CGvcT1hiCYxxmECFp5oefmAnBT9twnVfpsvY=";
   };
 
   postPatch =
diff --git a/pkgs/by-name/mp/mps/package.nix b/pkgs/by-name/mp/mps/package.nix
index 644c185d6c71..2d3f6a522ab5 100644
--- a/pkgs/by-name/mp/mps/package.nix
+++ b/pkgs/by-name/mp/mps/package.nix
@@ -4,35 +4,64 @@
   fetchFromGitHub,
   autoreconfHook,
   sqlite,
+  xcbuildHook,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "mps";
   version = "1.118.0";
 
   src = fetchFromGitHub {
     owner = "Ravenbrook";
     repo = "mps";
-    tag = "release-${version}";
+    tag = "release-${finalAttrs.version}";
     hash = "sha256-3ql3jWLccgnQHKf23B1en+nJ9rxqmHcWd7aBr93YER0=";
   };
 
-  postPatch = ''
+  sourceRoot = lib.optionalString stdenv.hostPlatform.isDarwin "${finalAttrs.src.name}/code";
+
+  postPatch = lib.optionalString stdenv.hostPlatform.isLinux ''
     # Disable -Werror to avoid biuld failure on fresh toolchains like
     # gcc-13.
-    substituteInPlace code/gc.gmk --replace-fail '-Werror ' ' '
-    substituteInPlace code/gp.gmk --replace-fail '-Werror ' ' '
-    substituteInPlace code/ll.gmk --replace-fail '-Werror ' ' '
+    substituteInPlace code/gc.gmk \
+      --replace-fail "-Werror " " "
+    substituteInPlace code/gp.gmk \
+      --replace-fail "-Werror " " "
+    substituteInPlace code/ll.gmk \
+      --replace-fail "-Werror " " "
   '';
 
-  nativeBuildInputs = [ autoreconfHook ];
+  nativeBuildInputs =
+    (lib.optionals stdenv.hostPlatform.isLinux [ autoreconfHook ])
+    ++ (lib.optionals stdenv.hostPlatform.isDarwin [ xcbuildHook ]);
+
   buildInputs = [ sqlite ];
 
+  xcbuildFlags = lib.optionals stdenv.hostPlatform.isDarwin [
+    "-configuration"
+    "Release"
+    "-project"
+    "mps.xcodeproj"
+    # "-scheme"
+    # "mps"
+    "OTHER_CFLAGS='-Wno-error=unused-but-set-variable'"
+  ];
+
+  installPhase = lib.optionalString stdenv.hostPlatform.isDarwin ''
+    runHook preInstall
+
+    install -Dm644 Products/Release/libmps.a $out/lib/libmps.a
+    mkdir $out/include
+    cp mps*.h $out/include/
+
+    runHook postInstall
+  '';
+
   meta = {
     description = "Flexible memory management and garbage collection library";
     homepage = "https://www.ravenbrook.com/project/mps";
     license = lib.licenses.sleepycat;
-    platforms = lib.platforms.linux;
+    platforms = lib.platforms.linux ++ lib.platforms.darwin;
     maintainers = [ lib.maintainers.thoughtpolice ];
   };
-}
+})
diff --git a/pkgs/by-name/mp/mpv-handler/package.nix b/pkgs/by-name/mp/mpv-handler/package.nix
new file mode 100644
index 000000000000..389c9bb96357
--- /dev/null
+++ b/pkgs/by-name/mp/mpv-handler/package.nix
@@ -0,0 +1,50 @@
+{
+  lib,
+  rustPlatform,
+  fetchFromGitHub,
+  makeWrapper,
+  mpv,
+  yt-dlp,
+  nix-update-script,
+}:
+rustPlatform.buildRustPackage rec {
+  pname = "mpv-handler";
+  version = "0.3.16";
+
+  src = fetchFromGitHub {
+    owner = "akiirui";
+    repo = "mpv-handler";
+    tag = "v${version}";
+    hash = "sha256-RpfHUVZmhtneeu8PIfxinYG3/groJPA9QveDSvzU6Zo=";
+  };
+
+  cargoHash = "sha256-FrE1PSRc7GTNUum05jNgKnzpDUc3FiS5CEM18It0lYY=";
+  useFetchCargoVendor = true;
+
+  passthru.updateScript = nix-update-script { };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  postInstall = ''
+    install -Dm644 share/linux/mpv-handler.desktop -t $out/share/applications/
+    install -Dm644 share/linux/mpv-handler-debug.desktop -t $out/share/applications/
+    install -Dm644 share/linux/config.toml -t $out/share/doc/mpv-handler/
+
+    wrapProgram $out/bin/mpv-handler \
+      --prefix PATH : ${
+        lib.makeBinPath [
+          mpv
+          yt-dlp
+        ]
+      }
+  '';
+
+  meta = {
+    description = "Play website videos and songs with mpv & yt-dlp";
+    homepage = "https://github.com/akiirui/mpv-handler";
+    mainProgram = "mpv-handler";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ lonerOrz ];
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/pkgs/by-name/ms/msbuild-structured-log-viewer/package.nix b/pkgs/by-name/ms/msbuild-structured-log-viewer/package.nix
index 20dde2ec5641..3e34465f5f87 100644
--- a/pkgs/by-name/ms/msbuild-structured-log-viewer/package.nix
+++ b/pkgs/by-name/ms/msbuild-structured-log-viewer/package.nix
@@ -14,13 +14,13 @@
 }:
 buildDotnetModule (finalAttrs: {
   pname = "msbuild-structured-log-viewer";
-  version = "2.2.490";
+  version = "2.2.508";
 
   src = fetchFromGitHub {
     owner = "KirillOsenkov";
     repo = "MSBuildStructuredLog";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-VJun6bs47NKj90e/6ZGp66x+MG1R/qxqrn2L1bVkdHY=";
+    hash = "sha256-brQJd06IXrpoqCSZKZnhRnY7qZo955AFiXEy1S/dMjs=";
   };
 
   dotnet-sdk = dotnetCorePackages.sdk_8_0;
diff --git a/pkgs/by-name/mt/mtail/package.nix b/pkgs/by-name/mt/mtail/package.nix
index ec192cdd1df4..c47c61f2055f 100644
--- a/pkgs/by-name/mt/mtail/package.nix
+++ b/pkgs/by-name/mt/mtail/package.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "mtail";
-  version = "3.2.4";
+  version = "3.2.5";
 
   src = fetchFromGitHub {
     owner = "jaqx0r";
     repo = "mtail";
     rev = "v${version}";
-    hash = "sha256-3ox+EXd5/Rh3N/7GbX+JUmH4C9j/Er+REkUHZndTxw0=";
+    hash = "sha256-T81eLshaHqbLj4X0feWJE+VEWItmOxcVCQX04zl3jeA=";
   };
 
-  vendorHash = "sha256-7EQFO7dlVhBwHdY6c3WmxJo4WdCUJbWKw5P4fL6jBsA=";
+  vendorHash = "sha256-Q3Fj73sQAmZQ9OF5hI0t1iPkY8u189PZ4LlzW34NQx0=";
 
   nativeBuildInputs = [
     gotools # goyacc
diff --git a/pkgs/by-name/mu/mujoco/mujoco-system-deps-dont-fetch.patch b/pkgs/by-name/mu/mujoco/mujoco-system-deps-dont-fetch.patch
index a6b90781e001..8b29420c64bb 100644
--- a/pkgs/by-name/mu/mujoco/mujoco-system-deps-dont-fetch.patch
+++ b/pkgs/by-name/mu/mujoco/mujoco-system-deps-dont-fetch.patch
@@ -1,8 +1,8 @@
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index aaac4e38..fe4e9932 100644
+index 3cab120d..abc526b1 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -120,7 +120,7 @@ target_link_libraries(
+@@ -128,7 +128,7 @@ target_link_libraries(
            lodepng
            qhullstatic_r
            tinyobjloader
@@ -12,7 +12,7 @@ index aaac4e38..fe4e9932 100644
  
  set_target_properties(
 diff --git a/cmake/MujocoDependencies.cmake b/cmake/MujocoDependencies.cmake
-index 23e4e71e..33081e00 100644
+index 78522705..7c64e22a 100644
 --- a/cmake/MujocoDependencies.cmake
 +++ b/cmake/MujocoDependencies.cmake
 @@ -93,28 +93,36 @@ set(BUILD_SHARED_LIBS
@@ -292,17 +292,7 @@ index 23e4e71e..33081e00 100644
      TARGETS
      absl::core_headers
      EXCLUDE_FROM_ALL
-@@ -268,6 +310,9 @@ if(MUJOCO_BUILD_TESTS)
-       CACHE BOOL "Build tests." FORCE
-   )
- 
-+  option(MUJOCO_USE_SYSTEM_gtest "Use installed gtest version." OFF)
-+  mark_as_advanced(MUJOCO_USE_SYSTEM_gtest)
-+
-   # Avoid linking errors on Windows by dynamically linking to the C runtime.
-   set(gtest_force_shared_crt
-       ON
-@@ -276,22 +321,20 @@ if(MUJOCO_BUILD_TESTS)
+@@ -276,22 +318,20 @@ if(MUJOCO_BUILD_TESTS)
  
    findorfetch(
      USE_SYSTEM_PACKAGE
@@ -331,7 +321,7 @@ index 23e4e71e..33081e00 100644
    set(BENCHMARK_EXTRA_FETCH_ARGS "")
    if(WIN32 AND NOT MSVC)
      set(BENCHMARK_EXTRA_FETCH_ARGS
-@@ -310,15 +353,11 @@ if(MUJOCO_BUILD_TESTS)
+@@ -310,15 +350,11 @@ if(MUJOCO_BUILD_TESTS)
  
    findorfetch(
      USE_SYSTEM_PACKAGE
@@ -348,7 +338,7 @@ index 23e4e71e..33081e00 100644
      TARGETS
      benchmark::benchmark
      benchmark::benchmark_main
-@@ -328,15 +367,18 @@ if(MUJOCO_BUILD_TESTS)
+@@ -328,15 +364,18 @@ if(MUJOCO_BUILD_TESTS)
  endif()
  
  if(MUJOCO_TEST_PYTHON_UTIL)
@@ -372,7 +362,7 @@ index 23e4e71e..33081e00 100644
      )
  
      FetchContent_GetProperties(Eigen3)
-@@ -348,6 +390,19 @@ if(MUJOCO_TEST_PYTHON_UTIL)
+@@ -348,6 +387,19 @@ if(MUJOCO_TEST_PYTHON_UTIL)
        set_target_properties(
          Eigen3::Eigen PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${eigen3_SOURCE_DIR}"
        )
@@ -393,17 +383,17 @@ index 23e4e71e..33081e00 100644
    endif()
  endif()
 diff --git a/plugin/sdf/CMakeLists.txt b/plugin/sdf/CMakeLists.txt
-index 3e216fc4..e7e3a1eb 100644
+index 8b834971..25021fa1 100644
 --- a/plugin/sdf/CMakeLists.txt
 +++ b/plugin/sdf/CMakeLists.txt
 @@ -37,7 +37,7 @@ set(MUJOCO_SDF_SRCS
- add_library(sdf SHARED)
- target_sources(sdf PRIVATE ${MUJOCO_SDF_SRCS})
- target_include_directories(sdf PRIVATE ${MUJOCO_SDF_INCLUDE})
--target_link_libraries(sdf PRIVATE mujoco SdfLib)
-+target_link_libraries(sdf PRIVATE mujoco SdfLib::SdfLib)
+ add_library(sdf_plugin SHARED)
+ target_sources(sdf_plugin PRIVATE ${MUJOCO_SDF_SRCS})
+ target_include_directories(sdf_plugin PRIVATE ${MUJOCO_SDF_INCLUDE})
+-target_link_libraries(sdf_plugin PRIVATE mujoco SdfLib)
++target_link_libraries(sdf_plugin PRIVATE mujoco SdfLib::SdfLib)
  target_compile_options(
-   sdf
+   sdf_plugin
    PRIVATE ${AVX_COMPILE_OPTIONS}
 diff --git a/python/mujoco/util/CMakeLists.txt b/python/mujoco/util/CMakeLists.txt
 index 666a3725..d89bb499 100644
@@ -469,7 +459,7 @@ index 5141406c..75ff7884 100644
    glfw
    EXCLUDE_FROM_ALL
 diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
-index 0f92803d..da9dce4c 100644
+index a286a1c6..982f2e68 100644
 --- a/test/CMakeLists.txt
 +++ b/test/CMakeLists.txt
 @@ -81,8 +81,8 @@ target_link_libraries(
diff --git a/pkgs/by-name/mu/mujoco/package.nix b/pkgs/by-name/mu/mujoco/package.nix
index eb466cb5ccfb..056daa89a72a 100644
--- a/pkgs/by-name/mu/mujoco/package.nix
+++ b/pkgs/by-name/mu/mujoco/package.nix
@@ -18,8 +18,8 @@ let
     abseil-cpp = fetchFromGitHub {
       owner = "abseil";
       repo = "abseil-cpp";
-      rev = "d9e4955c65cd4367dd6bf46f4ccb8cd3d100540b";
-      hash = "sha256-QTywqQCkyGFpdbtDBvUwz9bGXxbJs/qoFKF6zYAZUmQ=";
+      rev = "bc257a88f7c1939f24e0379f14a3589e926c950c";
+      hash = "sha256-Tuw1Py+LQdXS+bizXsduPjjEU5YIAVFvL+iJ+w8JoSU=";
     };
     benchmark = fetchFromGitHub {
       owner = "google";
@@ -36,26 +36,26 @@ let
     eigen3 = fetchFromGitLab {
       owner = "libeigen";
       repo = "eigen";
-      rev = "464c1d097891a1462ab28bf8bb763c1683883892";
-      hash = "sha256-OJyfUyiR8PFSaWltx6Ig0RCB+LxPxrPtc0GUfu2dKrk=";
+      rev = "d0b490ee091629068e0c11953419eb089f9e6bb2";
+      hash = "sha256-EmpuOQxshAFa0d6Ddzz6dy21nxHhSn+6Aiz18/o8VUU=";
     };
     googletest = fetchFromGitHub {
       owner = "google";
       repo = "googletest";
-      rev = "6910c9d9165801d8827d628cb72eb7ea9dd538c5";
-      hash = "sha256-01PK9LxqHno89gypd7ze5gDP4V3en2J5g6JZRqohDB0=";
+      rev = "52eb8108c5bdec04579160ae17225d66034bd723";
+      hash = "sha256-HIHMxAUR4bjmFLoltJeIAVSulVQ6kVuIT2Ku+lwAx/4=";
     };
     lodepng = fetchFromGitHub {
       owner = "lvandeve";
       repo = "lodepng";
-      rev = "b4ed2cd7ecf61d29076169b49199371456d4f90b";
-      hash = "sha256-5cCkdj/izP4e99BKfs/Mnwu9aatYXjlyxzzYiMD/y1M=";
+      rev = "17d08dd26cac4d63f43af217ebd70318bfb8189c";
+      hash = "sha256-vnw52G0lY68471dzH7NXc++bTbLRsITSxGYXOTicA5w=";
     };
     qhull = fetchFromGitHub {
       owner = "qhull";
       repo = "qhull";
-      rev = "0c8fc90d2037588024d9964515c1e684f6007ecc";
-      hash = "sha256-Ptzxad3ewmKJbbcmrBT+os4b4SR976zlCG9F0nq0x94=";
+      rev = "c7bee59d068a69f427b1273e71cdc5bc455a5bdd";
+      hash = "sha256-RnuaRrWMQ1rFfb/nxE0ukIoBf2AMG5pRyFmKmvsJ/U8=";
     };
     tinyobjloader = fetchFromGitHub {
       owner = "tinyobjloader";
@@ -132,7 +132,7 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "mujoco";
-  version = "3.3.2";
+  version = "3.3.3";
 
   # Bumping version? Make sure to look though the MuJoCo's commit
   # history for bumped dependency pins!
@@ -140,7 +140,7 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "google-deepmind";
     repo = "mujoco";
     tag = finalAttrs.version;
-    hash = "sha256-ftohDFsQv6/N82QjPONiQV/Hr7Eb1h2pFDwHaOOhJE0=";
+    hash = "sha256-yU3ckVtgGqLPyu7Jd3L6ZiHELKbGe9AUdCcmXLAxtpo=";
   };
 
   patches = [ ./mujoco-system-deps-dont-fetch.patch ];
diff --git a/pkgs/by-name/mu/multimarkdown/package.nix b/pkgs/by-name/mu/multimarkdown/package.nix
index 20b53464d92c..b69eb9fc27d1 100644
--- a/pkgs/by-name/mu/multimarkdown/package.nix
+++ b/pkgs/by-name/mu/multimarkdown/package.nix
@@ -7,35 +7,28 @@
   pkg-config,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "multimarkdown";
-  version = "6.6.0";
+  version = "6.7.0";
 
   src = fetchFromGitHub {
     owner = "fletcher";
     repo = "MultiMarkdown-6";
-    rev = version;
-    hash = "sha256-emJbY0wucoc/GdjlILoeqjwuwuPpTjXTqZN0gUKOyLg=";
+    tag = finalAttrs.version;
+    hash = "sha256-b6yCn0NFpONI7WwfjDOc0d2nCKMIiUXi+rsnytiNc0Q=";
   };
 
   postPatch = ''
     patchShebangs tools/enumsToPerl.pl
   '';
 
-  postInstall = ''
-    # Move files from $out/ to sub directories to prevent conflicts
-    # with other packages:
-    mkdir -p $out/share/doc/multimarkdown/
-    mv $out/LICENSE.txt $out/README.txt $out/share/doc/multimarkdown/
-  '';
-
   nativeBuildInputs = [
     cmake
     perl
     pkg-config
   ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://fletcher.github.io/MultiMarkdown-6/introduction.html";
     description = "Derivative of Markdown that adds new syntax features";
     longDescription = ''
@@ -59,8 +52,8 @@ stdenv.mkDerivation rec {
       - glossary entries (LaTeX only)
       - document metadata (e.g. title, author, date, etc.)
     '';
-    license = with licenses; [ mit ];
-    platforms = platforms.all;
-    maintainers = with maintainers; [ ];
+    license = with lib.licenses; [ mit ];
+    platforms = lib.platforms.all;
+    maintainers = with lib.maintainers; [ ];
   };
-}
+})
diff --git a/pkgs/by-name/mu/mumps/package.nix b/pkgs/by-name/mu/mumps/package.nix
index fb2fbc92ccd3..9d613b4b057d 100644
--- a/pkgs/by-name/mu/mumps/package.nix
+++ b/pkgs/by-name/mu/mumps/package.nix
@@ -1,19 +1,21 @@
 {
-  blas,
-  fetchzip,
-  gfortran,
-  lapack,
   lib,
+  stdenv,
+  fetchzip,
+  mpi,
+  gfortran,
+  fixDarwinDylibNames,
+  blas,
+  lapack,
+  scalapack,
+  scotch,
   metis,
   parmetis,
-  withParmetis ? false, # default to false due to unfree license
-  scotch,
-  withPtScotch ? mpiSupport,
-  stdenv,
-  fixDarwinDylibNames,
-  mpiSupport ? false,
   mpiCheckPhaseHook,
-  scalapack,
+  static ? stdenv.hostPlatform.isStatic,
+  mpiSupport ? false,
+  withParmetis ? false, # default to false due to unfree license
+  withPtScotch ? mpiSupport,
 }:
 assert withParmetis -> mpiSupport;
 assert withPtScotch -> mpiSupport;
@@ -46,14 +48,16 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   name = "mumps";
-  version = "5.7.3";
+  version = "5.8.0";
   # makeFlags contain space and one should use makeFlagsArray+
   # Setting this magic var is an optional solution
   __structuredAttrs = true;
 
+  strictDeps = true;
+
   src = fetchzip {
     url = "https://mumps-solver.org/MUMPS_${finalAttrs.version}.tar.gz";
-    hash = "sha256-ZnIfAuvOBJDYqCtKGlWs0r39nG6X2lAVRuUmeIJenZw=";
+    hash = "sha256-opJW7+Z/YhyUFwYTTTuWZuykz8Z4do6/XTBThHyTVCs=";
   };
 
   postPatch = lib.optionalString stdenv.hostPlatform.isDarwin ''
@@ -74,7 +78,7 @@ stdenv.mkDerivation (finalAttrs: {
       "LIBEXT_SHARED=.dylib"
     ]
     ++ [
-      "ISCOTCH=-I${scotch.dev}/include"
+      "ISCOTCH=-I${lib.getDev scotch}/include"
       "LMETIS=${LMETIS}"
       "LSCOTCH=${LSCOTCH}"
       "ORDERINGSF=${ORDERINGSF}"
@@ -82,7 +86,7 @@ stdenv.mkDerivation (finalAttrs: {
       "OPTC=-O3"
       "OPTL=-O3"
       "SCALAP=-lscalapack"
-      "allshared"
+      "${if static then "all" else "allshared"}"
     ];
 
   installPhase =
@@ -98,9 +102,12 @@ stdenv.mkDerivation (finalAttrs: {
       ln -s $out/include/mumps_seq/mpi.h $out/include/mumps_mpi.h
     '';
 
-  nativeBuildInputs = [
-    gfortran
-  ] ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
+  nativeBuildInputs =
+    [
+      gfortran
+    ]
+    ++ lib.optional mpiSupport mpi
+    ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
 
   # Parmetis should be placed before scotch to avoid conflict of header file "parmetis.h"
   buildInputs =
@@ -114,9 +121,12 @@ stdenv.mkDerivation (finalAttrs: {
     ];
 
   doInstallCheck = true;
+
   nativeInstallCheckInputs = lib.optional mpiSupport mpiCheckPhaseHook;
+
   installCheckPhase = ''
     runHook preInstallCheck
+
     ${lib.optionalString stdenv.hostPlatform.isDarwin "export DYLD_LIBRARY_PATH=$out/lib\n"}
     ${lib.optionalString mpiSupport "export MPIRUN='mpirun -n 2'\n"}
     cd examples
@@ -131,6 +141,7 @@ stdenv.mkDerivation (finalAttrs: {
     $MPIRUN ./csimpletest_save_restore = 1.1.0' && echo yes)
+-    ifeq ($(HAVE_LIBCRYPTO),yes)
+-      LIBCRYPTO_CFLAGS := $(shell pkg-config --cflags libcrypto) -DHAVE_LIBCRYPTO
+-      LIBCRYPTO_LIBS := $(shell pkg-config --libs libcrypto)
+-    endif
+-  endif
+-
+-else
+-
+-  ifeq ($(OS),Linux)
+-    HAVE_OBJCOPY := yes
+-  endif
++ifeq ($(OS),Linux)
++  HAVE_OBJCOPY := yes
++endif
+ 
+-  ifeq ($(OS),OpenBSD)
+-    LDFLAGS += -pthread
+-  endif
++ifeq ($(OS),OpenBSD)
++  LDFLAGS += -pthread
++endif
+ 
+-  ifeq ($(shell pkg-config --exists 'freetype2 >= 18.3.12' && echo yes),yes)
+-    SYS_FREETYPE_CFLAGS := $(shell pkg-config --cflags freetype2)
+-    SYS_FREETYPE_LIBS := $(shell pkg-config --libs freetype2)
+-  endif
+-  ifeq ($(shell pkg-config --exists 'gumbo >= 0.10.0' && echo yes),yes)
+-    SYS_GUMBO_CFLAGS := $(shell pkg-config --cflags gumbo)
+-    SYS_GUMBO_LIBS := $(shell pkg-config --libs gumbo)
+-  endif
+-  ifeq ($(shell pkg-config --exists 'harfbuzz >= 2.0.0' && echo yes),yes)
+-    SYS_HARFBUZZ_CFLAGS := $(shell pkg-config --cflags harfbuzz)
+-    SYS_HARFBUZZ_LIBS := $(shell pkg-config --libs harfbuzz)
+-  endif
+-  ifeq ($(shell pkg-config --exists lcms2 && echo yes),yes)
+-    SYS_LCMS2_CFLAGS := $(shell pkg-config --cflags lcms2)
+-    SYS_LCMS2_LIBS := $(shell pkg-config --libs lcms2)
+-  endif
+-  ifeq ($(shell pkg-config --exists libjpeg && echo yes),yes)
+-    SYS_LIBJPEG_CFLAGS := $(shell pkg-config --cflags libjpeg)
+-    SYS_LIBJPEG_LIBS := $(shell pkg-config --libs libjpeg)
+-  endif
+-  ifeq ($(shell pkg-config --exists 'libopenjp2 >= 2.1.0' && echo yes),yes)
+-    SYS_OPENJPEG_CFLAGS := $(shell pkg-config --cflags libopenjp2)
+-    SYS_OPENJPEG_LIBS := $(shell pkg-config --libs libopenjp2)
+-  endif
+-  ifeq ($(shell pkg-config --exists 'zlib >= 1.2.6' && echo yes),yes)
+-    SYS_ZLIB_CFLAGS := $(shell pkg-config --cflags zlib)
+-    SYS_ZLIB_LIBS := $(shell pkg-config --libs zlib)
+-  endif
+-  ifeq ($(shell pkg-config --exists 'libbrotlidec libbrotlienc >= 0.6.0' && echo yes),yes)
+-    SYS_BROTLI_CFLAGS := $(shell pkg-config --cflags libbrotlidec libbrotlienc)
+-    SYS_BROTLI_LIBS := $(shell pkg-config --libs libbrotlidec libbrotlienc)
+-  endif
++ifeq ($(shell pkg-config --exists 'freetype2 >= 18.3.12' && echo yes),yes)
++  SYS_FREETYPE_CFLAGS := $(shell pkg-config --cflags freetype2)
++  SYS_FREETYPE_LIBS := $(shell pkg-config --libs freetype2)
++endif
++ifeq ($(shell pkg-config --exists 'gumbo >= 0.10.0' && echo yes),yes)
++  SYS_GUMBO_CFLAGS := $(shell pkg-config --cflags gumbo)
++  SYS_GUMBO_LIBS := $(shell pkg-config --libs gumbo)
++endif
++ifeq ($(shell pkg-config --exists 'harfbuzz >= 2.0.0' && echo yes),yes)
++  SYS_HARFBUZZ_CFLAGS := $(shell pkg-config --cflags harfbuzz)
++  SYS_HARFBUZZ_LIBS := $(shell pkg-config --libs harfbuzz)
++endif
++ifeq ($(shell pkg-config --exists lcms2 && echo yes),yes)
++  SYS_LCMS2_CFLAGS := $(shell pkg-config --cflags lcms2)
++  SYS_LCMS2_LIBS := $(shell pkg-config --libs lcms2)
++endif
++ifeq ($(shell pkg-config --exists libjpeg && echo yes),yes)
++  SYS_LIBJPEG_CFLAGS := $(shell pkg-config --cflags libjpeg)
++  SYS_LIBJPEG_LIBS := $(shell pkg-config --libs libjpeg)
++endif
++ifeq ($(shell pkg-config --exists 'libopenjp2 >= 2.1.0' && echo yes),yes)
++  SYS_OPENJPEG_CFLAGS := $(shell pkg-config --cflags libopenjp2)
++  SYS_OPENJPEG_LIBS := $(shell pkg-config --libs libopenjp2)
++endif
++ifeq ($(shell pkg-config --exists 'zlib >= 1.2.6' && echo yes),yes)
++  SYS_ZLIB_CFLAGS := $(shell pkg-config --cflags zlib)
++  SYS_ZLIB_LIBS := $(shell pkg-config --libs zlib)
++endif
++ifeq ($(shell pkg-config --exists 'libbrotlidec libbrotlienc >= 0.6.0' && echo yes),yes)
++  SYS_BROTLI_CFLAGS := $(shell pkg-config --cflags libbrotlidec libbrotlienc)
++  SYS_BROTLI_LIBS := $(shell pkg-config --libs libbrotlidec libbrotlienc)
++endif
+ 
+-  HAVE_SYS_LEPTONICA := $(shell pkg-config --exists 'lept >= 1.7.4' && echo yes)
+-  ifeq ($(HAVE_SYS_LEPTONICA),yes)
+-    SYS_LEPTONICA_CFLAGS := $(shell pkg-config --cflags lept)
+-    SYS_LEPTONICA_LIBS := $(shell pkg-config --libs lept)
+-  endif
++HAVE_SYS_LEPTONICA := $(shell pkg-config --exists 'lept >= 1.7.4' && echo yes)
++ifeq ($(HAVE_SYS_LEPTONICA),yes)
++  SYS_LEPTONICA_CFLAGS := $(shell pkg-config --cflags lept)
++  SYS_LEPTONICA_LIBS := $(shell pkg-config --libs lept)
++endif
+ 
+-  HAVE_SYS_TESSERACT := $(shell pkg-config --exists 'tesseract >= 4.0.0' && echo yes)
+-  ifeq ($(HAVE_SYS_TESSERACT),yes)
+-    SYS_TESSERACT_CFLAGS := $(shell pkg-config --cflags tesseract)
+-    SYS_TESSERACT_LIBS := $(shell pkg-config --libs tesseract)
+-  endif
++HAVE_SYS_TESSERACT := $(shell pkg-config --exists 'tesseract >= 4.0.0' && echo yes)
++ifeq ($(HAVE_SYS_TESSERACT),yes)
++  SYS_TESSERACT_CFLAGS := $(shell pkg-config --cflags tesseract)
++  SYS_TESSERACT_LIBS := $(shell pkg-config --libs tesseract)
++endif
+ 
+-  HAVE_SYS_LIBARCHIVE := $(shell pkg-config --exists 'libarchive' && echo yes)
+-  ifeq ($(HAVE_SYS_LIBARCHIVE),yes)
+-    SYS_LIBARCHIVE_CFLAGS := $(shell pkg-config --cflags libarchive)
+-    SYS_LIBARCHIVE_LIBS := $(shell pkg-config --libs libarchive)
+-  endif
++HAVE_SYS_LIBARCHIVE := $(shell pkg-config --exists 'libarchive' && echo yes)
++ifeq ($(HAVE_SYS_LIBARCHIVE),yes)
++  SYS_LIBARCHIVE_CFLAGS := $(shell pkg-config --cflags libarchive)
++  SYS_LIBARCHIVE_LIBS := $(shell pkg-config --libs libarchive)
++endif
+ 
+-  HAVE_SYS_ZXINGCPP := $(shell pkg-config --exists 'zxing >= 2.0.0' && echo yes)
+-  ifeq ($(HAVE_SYS_ZXINGCPP),yes)
+-    SYS_ZXINGCPP_CFLAGS := $(shell pkg-config --cflags zxing)
+-    SYS_ZXINGCPP_LIBS := $(shell pkg-config --libs zxing)
+-  endif
++HAVE_SYS_ZXINGCPP := $(shell pkg-config --exists 'zxing >= 2.0.0' && echo yes)
++ifeq ($(HAVE_SYS_ZXINGCPP),yes)
++  SYS_ZXINGCPP_CFLAGS := $(shell pkg-config --cflags zxing)
++  SYS_ZXINGCPP_LIBS := $(shell pkg-config --libs zxing)
++endif
+ 
+-  HAVE_SYS_CURL := $(shell pkg-config --exists libcurl && echo yes)
+-  ifeq ($(HAVE_SYS_CURL),yes)
+-    SYS_CURL_CFLAGS := $(shell pkg-config --cflags libcurl)
+-    SYS_CURL_LIBS := $(shell pkg-config --libs libcurl)
+-  endif
++HAVE_SYS_CURL := $(shell pkg-config --exists libcurl && echo yes)
++ifeq ($(HAVE_SYS_CURL),yes)
++  SYS_CURL_CFLAGS := $(shell pkg-config --cflags libcurl)
++  SYS_CURL_LIBS := $(shell pkg-config --libs libcurl)
++endif
+ 
++ifeq ($(OS),Darwin)
++    HAVE_GLUT := yes
++    SYS_GLUT_CFLAGS := -Wno-deprecated-declarations
++    SYS_GLUT_LIBS := -framework GLUT -framework OpenGL
++else
+   ifeq ($(HAVE_GLUT),)
+     HAVE_GLUT := $(shell pkg-config --exists gl x11 xrandr && echo yes)
+   endif
+@@ -321,29 +302,28 @@ else
+       SYS_GLUT_LIBS := -lglut
+     endif
+   endif
++endif
+ 
+-  ifeq ($(HAVE_X11),)
+-    HAVE_X11 := $(shell pkg-config --exists x11 xext && echo yes)
+-  endif
+-  ifeq ($(HAVE_X11),yes)
+-    X11_CFLAGS := $(shell pkg-config --cflags x11 xext)
+-    X11_LIBS := $(shell pkg-config --libs x11 xext)
+-  endif
+-
+-  ifeq ($(HAVE_LIBCRYPTO),)
+-    HAVE_LIBCRYPTO := $(shell pkg-config --exists 'libcrypto >= 1.1.0' && echo yes)
+-  endif
+-  ifeq ($(HAVE_LIBCRYPTO),yes)
+-    LIBCRYPTO_CFLAGS := $(shell pkg-config --cflags libcrypto) -DHAVE_LIBCRYPTO
+-    LIBCRYPTO_LIBS := $(shell pkg-config --libs libcrypto)
+-  endif
++ifeq ($(HAVE_X11),)
++  HAVE_X11 := $(shell pkg-config --exists x11 xext && echo yes)
++endif
++ifeq ($(HAVE_X11),yes)
++  X11_CFLAGS := $(shell pkg-config --cflags x11 xext)
++  X11_LIBS := $(shell pkg-config --libs x11 xext)
++endif
+ 
+-  HAVE_PTHREAD := yes
+-  ifeq ($(HAVE_PTHREAD),yes)
+-    PTHREAD_CFLAGS :=
+-    PTHREAD_LIBS := -lpthread
+-  endif
++ifeq ($(HAVE_LIBCRYPTO),)
++  HAVE_LIBCRYPTO := $(shell pkg-config --exists 'libcrypto >= 1.1.0' && echo yes)
++endif
++ifeq ($(HAVE_LIBCRYPTO),yes)
++  LIBCRYPTO_CFLAGS := $(shell pkg-config --cflags libcrypto) -DHAVE_LIBCRYPTO
++  LIBCRYPTO_LIBS := $(shell pkg-config --libs libcrypto)
++endif
+ 
++HAVE_PTHREAD := yes
++ifeq ($(HAVE_PTHREAD),yes)
++  PTHREAD_CFLAGS :=
++  PTHREAD_LIBS := -lpthread
+ endif
+ 
+ # The following section has various cross compilation configurations.
diff --git a/pkgs/by-name/mu/mupdf/package.nix b/pkgs/by-name/mu/mupdf/package.nix
index 2d9fb2c0b38e..3874d16c162e 100644
--- a/pkgs/by-name/mu/mupdf/package.nix
+++ b/pkgs/by-name/mu/mupdf/package.nix
@@ -71,13 +71,16 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
+    # Upstream makefile does not work with system deps on macOS by default, so
+    # we reuse the Linux section instead.
+    ./fix-darwin-system-deps.patch
     # Upstream C++ wrap script only defines fixed-sized integers on macOS but
     # this is required on aarch64-linux too.
     ./fix-cpp-build.patch
   ];
 
   postPatch = ''
-    substituteInPlace Makerules --replace "(shell pkg-config" "(shell $PKG_CONFIG"
+    substituteInPlace Makerules --replace-fail "(shell pkg-config" "(shell $PKG_CONFIG"
 
     patchShebangs scripts/mupdfwrap.py
 
@@ -86,7 +89,7 @@ stdenv.mkDerivation rec {
 
     # fix libclang unnamed struct format
     for wrapper in ./scripts/wrap/{cpp,state}.py; do
-      substituteInPlace "$wrapper" --replace 'struct (unnamed' '(unnamed struct'
+      substituteInPlace "$wrapper" --replace-fail 'struct (unnamed' '(unnamed struct'
     done
   '';
 
@@ -259,7 +262,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  env.USE_SONAME = "yes";
+  env.USE_SONAME = if (stdenv.hostPlatform.isDarwin) then "no" else "yes";
 
   passthru = {
     tests = {
diff --git a/pkgs/by-name/mu/museeks/package.nix b/pkgs/by-name/mu/museeks/package.nix
index 86d0f0e85459..8ad5aac0f8da 100644
--- a/pkgs/by-name/mu/museeks/package.nix
+++ b/pkgs/by-name/mu/museeks/package.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "museeks";
-  version = "0.20.9";
+  version = "0.21.1";
 
   src = fetchurl {
     url = "https://github.com/martpie/museeks/releases/download/${finalAttrs.version}/Museeks_${finalAttrs.version}_amd64.deb";
-    hash = "sha256-7jRgMpfQTJr3yW3YAPTnPSvtrqumScN3Tr7YXQX3Fi8=";
+    hash = "sha256-4UHMh8rZUDGNlz59EMGTgV/jfd6K9RyXVpMr2sinPUQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/mu/mutter/package.nix b/pkgs/by-name/mu/mutter/package.nix
index 6985d2186110..aadec9a67011 100644
--- a/pkgs/by-name/mu/mutter/package.nix
+++ b/pkgs/by-name/mu/mutter/package.nix
@@ -72,7 +72,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "mutter";
-  version = "48.2";
+  version = "48.3.1";
 
   outputs = [
     "out"
@@ -83,7 +83,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   src = fetchurl {
     url = "mirror://gnome/sources/mutter/${lib.versions.major finalAttrs.version}/mutter-${finalAttrs.version}.tar.xz";
-    hash = "sha256-PBi6Tgk+qaN4ET3K+nvbXB+db1r5dlAmt+Zst42vYU4=";
+    hash = "sha256-BvimrX/0+HOa9q8uF1PJHfp7mDl+UpRmMloQGMeVCmo=";
   };
 
   mesonFlags = [
diff --git a/pkgs/by-name/mx/mxt-app/package.nix b/pkgs/by-name/mx/mxt-app/package.nix
index 9b2b413812aa..58b61e7fbc00 100644
--- a/pkgs/by-name/mx/mxt-app/package.nix
+++ b/pkgs/by-name/mx/mxt-app/package.nix
@@ -7,14 +7,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.43";
+  version = "1.44";
   pname = "mxt-app";
 
   src = fetchFromGitHub {
     owner = "atmel-maxtouch";
     repo = "mxt-app";
     rev = "v${version}";
-    sha256 = "sha256-kj6OLuK88KFZKJ7cV6bJNsB67WvB3lS5BRPJZvH+aIQ=";
+    sha256 = "sha256-JE8rI1dkbrPXCbJI9cK/w5ugndPj6rO0hpyfwiSqmLc=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/by-name/my/mydumper/package.nix b/pkgs/by-name/my/mydumper/package.nix
index 87bb340bbbec..9b3a1a624432 100644
--- a/pkgs/by-name/my/mydumper/package.nix
+++ b/pkgs/by-name/my/mydumper/package.nix
@@ -24,13 +24,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mydumper";
-  version = "0.18.1-1";
+  version = "0.19.3-1";
 
   src = fetchFromGitHub {
     owner = "mydumper";
     repo = "mydumper";
     tag = "v${version}";
-    hash = "sha256-7CnNcaZ2jLlLx211DA5Zk3uf724yCMpt/0zgjvZl3fM=";
+    hash = "sha256-96AFq6wEALRRqD6+n/XMOAus3v9GX/eZOVZQdgUtf+w=";
     # as of mydumper v0.16.5-1, mydumper extracted its docs into a submodule
     fetchSubmodules = true;
   };
@@ -75,8 +75,8 @@ stdenv.mkDerivation rec {
   env.NIX_CFLAGS_COMPILE = (
     if stdenv.hostPlatform.isDarwin then
       toString [
-        "-Wno-error=deprecated-non-prototype"
         "-Wno-error=format"
+        "-Wno-error=sometimes-uninitialized"
       ]
     else
       "-Wno-error=maybe-uninitialized"
diff --git a/pkgs/by-name/my/myks/package.nix b/pkgs/by-name/my/myks/package.nix
index 15269e675472..792a07e07271 100644
--- a/pkgs/by-name/my/myks/package.nix
+++ b/pkgs/by-name/my/myks/package.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "myks";
-  version = "4.8.3";
+  version = "4.8.4";
 
   src = fetchFromGitHub {
     owner = "mykso";
     repo = "myks";
     tag = "v${version}";
-    hash = "sha256-heAIVvQdb69XO3xP6Xq7+5/FqaKrie/1JxJ8FyFXw/U=";
+    hash = "sha256-WMedmDw4AlM8XAwbnFBiNFHd9ocBJhXq8qVQTOm9aDI=";
   };
 
-  vendorHash = "sha256-G+wr4mDuQoZEgdyHohDSVUJza70eZc+zrmQ79d/49lE=";
+  vendorHash = "sha256-IZopDehj8y7I4EDkiWGod5bexj8vzIS7eLx22UscXOs=";
 
   subPackages = ".";
 
diff --git a/pkgs/by-name/n8/n8n/package.nix b/pkgs/by-name/n8/n8n/package.nix
index 42c7448d8669..d314e2fb1931 100644
--- a/pkgs/by-name/n8/n8n/package.nix
+++ b/pkgs/by-name/n8/n8n/package.nix
@@ -17,18 +17,18 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "n8n";
-  version = "1.95.2";
+  version = "1.97.1";
 
   src = fetchFromGitHub {
     owner = "n8n-io";
     repo = "n8n";
     tag = "n8n@${finalAttrs.version}";
-    hash = "sha256-MFREFqDuT7xTCOJ6s6bcDG8jjTSckyqJTvAFSukV5x0=";
+    hash = "sha256-3tQx3yfs4LrNMSzHz4jnUduWu9uagvU8G/aGU22Fxq8=";
   };
 
   pnpmDeps = pnpm_10.fetchDeps {
     inherit (finalAttrs) pname version src;
-    hash = "sha256-ikGRHuAy9kmpxhu0Aawk6qL2vMYygSgf3YPdfs7OwOM=";
+    hash = "sha256-yO5wOGCZmpiBRuw7wwi1YqllzYPIwLv2SEvWwNufNYM=";
   };
 
   nativeBuildInputs =
diff --git a/pkgs/by-name/na/nagelfar/package.nix b/pkgs/by-name/na/nagelfar/package.nix
index d0e02c9ee3e1..b908f29a7d88 100644
--- a/pkgs/by-name/na/nagelfar/package.nix
+++ b/pkgs/by-name/na/nagelfar/package.nix
@@ -1,18 +1,20 @@
 {
   lib,
-  fetchzip,
+  fetchurl,
   tcl,
   tclPackages,
   tk,
 }:
 
-tcl.mkTclDerivation {
+tcl.mkTclDerivation rec {
   pname = "nagelfar";
-  version = "1.3.3";
+  version = "1.3.5";
 
-  src = fetchzip {
-    url = "https://sourceforge.net/projects/nagelfar/files/Rel_133/nagelfar133.tar.gz";
-    sha256 = "sha256-bdH53LSOKMwq53obVQitl7bpaSpwvMce8oJgg/GKrg0=";
+  src = fetchurl {
+    url = "https://sourceforge.net/projects/nagelfar/files/Rel_${
+      lib.replaceString "." "" version
+    }/nagelfar${lib.replaceString "." "" version}.tar.gz";
+    hash = "sha256-O6+SD7NLc+MgZxGDZdB02FkpjivON0itlFhiS+zoWyM=";
   };
 
   buildInputs = [
@@ -22,10 +24,14 @@ tcl.mkTclDerivation {
   ];
 
   installPhase = ''
-    install -Dm 755 $src/nagelfar.tcl $out/bin/nagelfar
+    runHook preInstall
+
+    install -Dm 755 nagelfar.tcl $out/bin/nagelfar
+
+    runHook postInstall
   '';
 
-  meta = with lib; {
+  meta = {
     homepage = "https://nagelfar.sourceforge.net/";
     description = "Static syntax checker (linter) for Tcl";
     longDescription = ''
@@ -33,8 +39,8 @@ tcl.mkTclDerivation {
       and is very extendable through its syntax database and plugins.
     '';
     mainProgram = "nagelfar";
-    license = licenses.gpl3Plus;
-    platforms = platforms.all;
-    maintainers = [ maintainers.nat-418 ];
+    license = lib.licenses.gpl3Plus;
+    platforms = lib.platforms.all;
+    maintainers = [ lib.maintainers.nat-418 ];
   };
 }
diff --git a/pkgs/by-name/na/naja/package.nix b/pkgs/by-name/na/naja/package.nix
index 24cf7ee71259..0b570a3c76a2 100644
--- a/pkgs/by-name/na/naja/package.nix
+++ b/pkgs/by-name/na/naja/package.nix
@@ -8,21 +8,21 @@
   capnproto,
   doxygen,
   flex,
-  libdwarf-lite,
   pkg-config,
   python3,
-  tbb_2021_11,
+  tbb_2021,
   buildPackages,
+  nix-update-script,
 }:
-stdenv.mkDerivation {
+stdenv.mkDerivation (finalAttrs: {
   pname = "naja";
-  version = "0-unstable-2025-01-13";
+  version = "0.1.16";
 
   src = fetchFromGitHub {
     owner = "najaeda";
     repo = "naja";
-    rev = "ffc29daa22e02565b2a0a108f8e65236cdee413a";
-    hash = "sha256-XGlgSUHSpHxNrms50pOQ9eoGZ6y79Rbm/sDYW2C4qsg=";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-MwMpxmmr8fJN49RkRguiEEwPVUIm+OcNFjEixpjn9UY=";
     fetchSubmodules = true;
   };
 
@@ -63,14 +63,11 @@ stdenv.mkDerivation {
     boost
     capnproto # cmake modules
     flex # include dir
-    libdwarf-lite
-    tbb_2021_11
+    tbb_2021
     python3
   ];
 
   cmakeFlags = [
-    (lib.cmakeBool "CPPTRACE_USE_EXTERNAL_LIBDWARF" true)
-    (lib.cmakeBool "CPPTRACE_USE_EXTERNAL_ZSTD" true)
     # provide correct executables for cross
     (lib.cmakeFeature "Python3_EXECUTABLE" (lib.getExe python3.pythonOnBuildForHost))
     # TODO: remove these once capnp cross is fixed properly
@@ -78,12 +75,14 @@ stdenv.mkDerivation {
     (lib.cmakeFeature "CAPNPC_CXX_EXECUTABLE" (lib.getExe' buildPackages.capnproto "capnpc-c++"))
   ];
 
-  doCheck = true;
-
   postInstall = ''
     moveToOutput lib/libnaja_bne.so $lib
   '';
 
+  doCheck = true;
+
+  passthru.updateScript = nix-update-script { };
+
   meta = {
     description = "Structural Netlist API (and more) for EDA post synthesis flow development";
     homepage = "https://github.com/najaeda/naja";
@@ -92,4 +91,4 @@ stdenv.mkDerivation {
     mainProgram = "naja_edit";
     platforms = lib.platforms.all;
   };
-}
+})
diff --git a/pkgs/by-name/na/namespace-cli/package.nix b/pkgs/by-name/na/namespace-cli/package.nix
index 432d1cabf173..ea16f7253518 100644
--- a/pkgs/by-name/na/namespace-cli/package.nix
+++ b/pkgs/by-name/na/namespace-cli/package.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "namespace-cli";
-  version = "0.0.416";
+  version = "0.0.421";
 
   src = fetchFromGitHub {
     owner = "namespacelabs";
     repo = "foundation";
     rev = "v${version}";
-    hash = "sha256-Te2BFbzrGU7iw+CqDafOiIByUfHEb8QGBAci+6imIm4=";
+    hash = "sha256-4Gsj4BlPCjSRY/b6UeSaTwTFw9xFTvK1u08cIwPjPaY=";
   };
 
   vendorHash = "sha256-hPZmNH4bhIds+Ps0pQCjYPfvVBaX8e3Bq/onq91Fzq8=";
diff --git a/pkgs/by-name/na/nano/package.nix b/pkgs/by-name/na/nano/package.nix
index d0b543fa0a37..456a53f6129d 100644
--- a/pkgs/by-name/na/nano/package.nix
+++ b/pkgs/by-name/na/nano/package.nix
@@ -31,11 +31,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "nano";
-  version = "8.4";
+  version = "8.5";
 
   src = fetchurl {
     url = "mirror://gnu/nano/${pname}-${version}.tar.xz";
-    hash = "sha256-WtKSIrvVViTYfqZ3kosxBqdDEU1sb5tB82yXviqOYo0=";
+    hash = "sha256-AAsBHTOcFBr5ZG1DKI9UMl/1xujTnW5IK3h7vGZUwmo=";
   };
 
   nativeBuildInputs = [ texinfo ] ++ lib.optional enableNls gettext;
@@ -64,6 +64,10 @@ stdenv.mkDerivation rec {
         cp ${nixSyntaxHighlight}/nix.nanorc $out/share/nano/
       '';
 
+  # https://hydra.nixos.org/build/300187289/nixlog/1
+  # openat-die.c:57:10: error: format string is not a string literal (potentially insecure) [-Werror,-Wformat-security]
+  hardeningDisable = [ "format" ];
+
   enableParallelBuilding = true;
   strictDeps = true;
 
diff --git a/pkgs/by-name/na/narsil/package.nix b/pkgs/by-name/na/narsil/package.nix
index 7041e75064fa..70e4a30afb66 100644
--- a/pkgs/by-name/na/narsil/package.nix
+++ b/pkgs/by-name/na/narsil/package.nix
@@ -14,13 +14,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "narsil";
-  version = "1.4.0-50-g6cd6ce985";
+  version = "1.4.0-61-gb724a9e67";
 
   src = fetchFromGitHub {
     owner = "NickMcConnell";
     repo = "NarSil";
     tag = version;
-    hash = "sha256-6JrlhDZRzDrYs8iBzWeKLT+DYaWPiWYpPHA1VBkdOkM=";
+    hash = "sha256-fRGSlgtbjDyhbEJEMG8eTMCxeIbA/tBO+MplCXTgWm8=";
   };
 
   passthru.updateScript = nix-update-script { };
diff --git a/pkgs/by-name/na/nasm/package.nix b/pkgs/by-name/na/nasm/package.nix
index 792caffc71b1..bfc8231f1926 100644
--- a/pkgs/by-name/na/nasm/package.nix
+++ b/pkgs/by-name/na/nasm/package.nix
@@ -42,7 +42,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
     maintainers = with maintainers; [
       pSub
-      willibutz
     ];
     license = licenses.bsd2;
   };
diff --git a/pkgs/by-name/na/nautilus/package.nix b/pkgs/by-name/na/nautilus/package.nix
index b226b106f290..c1078773bb1a 100644
--- a/pkgs/by-name/na/nautilus/package.nix
+++ b/pkgs/by-name/na/nautilus/package.nix
@@ -40,7 +40,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "nautilus";
-  version = "48.1";
+  version = "48.2";
 
   outputs = [
     "out"
@@ -50,7 +50,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   src = fetchurl {
     url = "mirror://gnome/sources/nautilus/${lib.versions.major finalAttrs.version}/nautilus-${finalAttrs.version}.tar.xz";
-    hash = "sha256-eZWioXwp1LCav53ZrKFLje597DvXR3bdN5US8ubXNH8=";
+    hash = "sha256-oDD2Fj+KaAZPrlqeieN/Gcuyk94uEqGd1eIQlW0N9LU=";
   };
 
   patches = [
diff --git a/pkgs/by-name/nb/nb/package.nix b/pkgs/by-name/nb/nb/package.nix
index 1784ea6e499f..e6b2cf60e7ac 100644
--- a/pkgs/by-name/nb/nb/package.nix
+++ b/pkgs/by-name/nb/nb/package.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nb";
-  version = "7.19.1";
+  version = "7.20.0";
 
   src = fetchFromGitHub {
     owner = "xwmx";
     repo = "nb";
     rev = version;
-    hash = "sha256-vryc1sfjIE2ZaZ4Z/KG1Zij81tIwImUMjk2ZZvzpDF4=";
+    hash = "sha256-lK7jAECLAL/VX3K7AZEwxkQCRRn2ggRNBAeNPv5x35I=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/by-name/nb/nbfc-linux/package.nix b/pkgs/by-name/nb/nbfc-linux/package.nix
index dac69e31ef96..8bfae97efb92 100644
--- a/pkgs/by-name/nb/nbfc-linux/package.nix
+++ b/pkgs/by-name/nb/nbfc-linux/package.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "nbfc-linux";
-  version = "0.3.18";
+  version = "0.3.19";
 
   src = fetchFromGitHub {
     owner = "nbfc-linux";
     repo = "nbfc-linux";
     tag = "${finalAttrs.version}";
-    hash = "sha256-6TyAhPt/692nd3pQVvcJEarXmUsByPiCXt1TuQBDTMQ=";
+    hash = "sha256-ARUhm1K3A0bzVRen6VO3KvomkPl1S7vx2+tmg2ZtL8s=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/by-name/nb/nbxplorer/deps.json b/pkgs/by-name/nb/nbxplorer/deps.json
index 408869628806..3d0ddec78618 100644
--- a/pkgs/by-name/nb/nbxplorer/deps.json
+++ b/pkgs/by-name/nb/nbxplorer/deps.json
@@ -166,13 +166,13 @@
   },
   {
     "pname": "NBitcoin",
-    "version": "8.0.12",
-    "hash": "sha256-OBJu6fQd0MBKSVHERI7EBtSQQvAL9T8Gr0e7Kx2q9/I="
+    "version": "8.0.18",
+    "hash": "sha256-5SKx6SluWXNHNz5FxxFPCkyJ3SSDACAVx3G1q9h38VU="
   },
   {
     "pname": "NBitcoin.Altcoins",
-    "version": "4.0.7",
-    "hash": "sha256-WN9uLRlIW+WGUSS4NE7ZE8kftQEaVDh7AnT1+P8g2gg="
+    "version": "4.0.8",
+    "hash": "sha256-n1e0BUhXl3D/fn1DbCdbelYfys2fc7+ZABazhUWxzo4="
   },
   {
     "pname": "NETStandard.Library",
diff --git a/pkgs/by-name/nb/nbxplorer/package.nix b/pkgs/by-name/nb/nbxplorer/package.nix
index df6948d838bc..66573ece84fa 100644
--- a/pkgs/by-name/nb/nbxplorer/package.nix
+++ b/pkgs/by-name/nb/nbxplorer/package.nix
@@ -7,13 +7,13 @@
 
 buildDotnetModule rec {
   pname = "nbxplorer";
-  version = "2.5.26";
+  version = "2.5.27";
 
   src = fetchFromGitHub {
     owner = "dgarage";
     repo = "NBXplorer";
     tag = "v${version}";
-    hash = "sha256-gXLzUgFZxrDNbDjpPmVDIj2xi6I+IfkNwXBYvelRYPU=";
+    hash = "sha256-WCrxAomVU1hPRtI91ppmDKdLZEmNZYH9C0o069/dIMk=";
   };
 
   projectFile = "NBXplorer/NBXplorer.csproj";
diff --git a/pkgs/by-name/nc/ncnn/cmakelists.patch b/pkgs/by-name/nc/ncnn/cmakelists.patch
index a43d7b0c4b72..54f4270fc9ef 100644
--- a/pkgs/by-name/nc/ncnn/cmakelists.patch
+++ b/pkgs/by-name/nc/ncnn/cmakelists.patch
@@ -2,17 +2,17 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
 index 785e2cd..459024d 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -589,7 +589,8 @@ endif()
- if(NCNN_VULKAN)
-     if(NCNN_SYSTEM_GLSLANG)
+@@ -762,7 +762,8 @@
          find_package(Threads)
+         find_package(SPIRV-Tools QUIET)
+         find_package(SPIRV-Tools-opt QUIET)
 -        find_package(glslang QUIET)
 +        find_package(SPIRV-Tools-opt REQUIRED)
 +        find_package(glslang REQUIRED)
          if(glslang_FOUND)
              add_library(glslang ALIAS glslang::glslang)
              add_library(SPIRV ALIAS glslang::SPIRV)
-@@ -601,7 +602,6 @@ if(NCNN_VULKAN)
+@@ -774,7 +775,6 @@
                  set(NCNN_SYSTEM_GLSLANG OFF)
              else()
                  include("${GLSLANG_TARGET_DIR}/OSDependentTargets.cmake")
diff --git a/pkgs/by-name/nc/ncnn/package.nix b/pkgs/by-name/nc/ncnn/package.nix
index 64fdee7449a9..a4e8b4649d2f 100644
--- a/pkgs/by-name/nc/ncnn/package.nix
+++ b/pkgs/by-name/nc/ncnn/package.nix
@@ -10,20 +10,18 @@
   protobuf,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "ncnn";
-  version = "20241226";
+  version = "20250503";
 
   src = fetchFromGitHub {
     owner = "Tencent";
     repo = "ncnn";
-    rev = version;
-    hash = "sha256-XmIuXR/uxJbXaB0G+tS9I47Pke20qj8jI1vqnDDgrpE=";
+    tag = finalAttrs.version;
+    hash = "sha256-7wktoeei16QaPdcxVVS25sZYPhTQMEq9PjaHBwm5Eas=";
   };
 
-  patches = [
-    ./cmakelists.patch
-  ];
+  patches = [ ./cmakelists.patch ];
 
   cmakeFlags =
     [
@@ -40,6 +38,7 @@ stdenv.mkDerivation rec {
     ++ lib.optionals stdenv.hostPlatform.isDarwin [ "-DVulkan_LIBRARY=-lvulkan" ];
 
   nativeBuildInputs = [ cmake ];
+
   buildInputs = [
     vulkan-headers
     vulkan-loader
@@ -48,11 +47,11 @@ stdenv.mkDerivation rec {
     protobuf
   ];
 
-  meta = with lib; {
-    description = "ncnn is a high-performance neural network inference framework optimized for the mobile platform";
+  meta = {
+    description = "Neural network inference framework";
     homepage = "https://github.com/Tencent/ncnn";
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ tilcreator ];
-    platforms = platforms.all;
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ tilcreator ];
+    platforms = lib.platforms.all;
   };
-}
+})
diff --git a/pkgs/by-name/ne/nelm/package.nix b/pkgs/by-name/ne/nelm/package.nix
index 58e034f39dd0..d976ad036d6d 100644
--- a/pkgs/by-name/ne/nelm/package.nix
+++ b/pkgs/by-name/ne/nelm/package.nix
@@ -9,16 +9,16 @@
 }:
 buildGoModule (finalAttrs: {
   pname = "nelm";
-  version = "1.5.0";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "werf";
     repo = "nelm";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-GywpByQ6GCx47VKFYPaF1fpd6A03sSTjCxSWjWhUzrc=";
+    hash = "sha256-bqVas9zF/xtL5K/7cOF/4q4weZtEBhfB5ngdAq0ZfjI=";
   };
 
-  vendorHash = "sha256-jzzIvxEJhGPb0bO5S400PGIWCEaOxQcgsybXziY652E=";
+  vendorHash = "sha256-bx8e5jV+ORnJg/35VwO7qodFjmSf7XbzTKZKp3b8hqc=";
 
   subPackages = [ "cmd/nelm" ];
 
diff --git a/pkgs/by-name/ne/neomutt/package.nix b/pkgs/by-name/ne/neomutt/package.nix
index 3540be19f81d..3454d4510cd6 100644
--- a/pkgs/by-name/ne/neomutt/package.nix
+++ b/pkgs/by-name/ne/neomutt/package.nix
@@ -9,6 +9,7 @@
   ncurses,
   perl,
   cyrus_sasl,
+  gitUpdater,
   gss,
   gpgme,
   libkrb5,
@@ -42,13 +43,13 @@ assert lib.warnIf (
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "neomutt";
-  version = "20250113";
+  version = "20250510";
 
   src = fetchFromGitHub {
     owner = "neomutt";
     repo = "neomutt";
     tag = finalAttrs.version;
-    hash = "sha256-30uagr4Z748U34yaTpw0lqxifuMlQRqccuZHKpbkXVE=";
+    hash = "sha256-62J7qyHC3hSgEgTA2zB+BQtZb+5BUXjQEOB3vGZGSNw=";
   };
 
   buildInputs =
@@ -163,6 +164,7 @@ stdenv.mkDerivation (finalAttrs: {
       rev = "8e97688693ca47ea1055f3d15055a4f4ecc5c832";
       hash = "sha256-tx5Y819rNDxOpjg3B/Y2lPcqJDArAxVwjbYarVmJ79k=";
     };
+    updateScript = gitUpdater { };
   };
 
   checkTarget = "test";
diff --git a/pkgs/by-name/ne/neonmodem/package.nix b/pkgs/by-name/ne/neonmodem/package.nix
new file mode 100644
index 000000000000..53b817f498df
--- /dev/null
+++ b/pkgs/by-name/ne/neonmodem/package.nix
@@ -0,0 +1,51 @@
+{
+  stdenv,
+  lib,
+  buildGoModule,
+  fetchFromGitHub,
+  nix-update-script,
+  installShellFiles,
+  writableTmpDirAsHomeHook,
+}:
+
+buildGoModule (finalAttrs: {
+  pname = "neonmodem";
+  version = "1.0.7";
+
+  src = fetchFromGitHub {
+    owner = "mrusme";
+    repo = "neonmodem";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-gwhQG8H1OnGQmawPQ3m6VKVooBh8rZaNr6FDl6fgZXc=";
+  };
+
+  vendorHash = "sha256-zqQtuyFrsDB1xRdl4cbaTsCawMrBvcu78zXgU2jUwHI=";
+
+  passthru.updateScript = nix-update-script { };
+
+  nativeBuildInputs = [
+    installShellFiles
+    writableTmpDirAsHomeHook
+  ];
+
+  postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
+    # Will otherwise panic if it can't open $HOME/{Library/Caches,.cache}/neonmodem.log
+    # Upstream issue: https://github.com/mrusme/neonmodem/issues/53
+    mkdir -p "$HOME/${if stdenv.buildPlatform.isDarwin then "Library/Caches" else ".cache"}"
+
+    installShellCompletion --cmd neonmodem \
+      --bash <($out/bin/neonmodem completion bash) \
+      --fish <($out/bin/neonmodem completion fish) \
+      --zsh <($out/bin/neonmodem completion zsh)
+  '';
+
+  meta = {
+    description = "BBS-style TUI client for Discourse, Lemmy, Lobsters, and Hacker News";
+    homepage = "https://neonmodem.com";
+    downloadPage = "https://github.com/mrusme/neonmodem/releases";
+    changelog = "https://github.com/mrusme/neonmodem/releases/tag/v${finalAttrs.version}";
+    license = lib.licenses.gpl3Only;
+    maintainers = with lib.maintainers; [ acuteaangle ];
+    mainProgram = "neonmodem";
+  };
+})
diff --git a/pkgs/by-name/ne/nero-umu/nerofs.patch b/pkgs/by-name/ne/nero-umu/nerofs.patch
new file mode 100644
index 000000000000..cb310004970f
--- /dev/null
+++ b/pkgs/by-name/ne/nero-umu/nerofs.patch
@@ -0,0 +1,57 @@
+--- a/src/nerofs.cpp
++++ b/src/nerofs.cpp
+@@ -173,31 +173,19 @@
+ 
+ QString NeroFS::GetIcoextract()
+ {
+-    // TODO: this is for flexibility in sandboxed environments(?)
+-    // idk what the "good" path should be for Flatpak, so...
+-    if(QDir("/usr/bin").exists("icoextract")) {
+-        return "/usr/bin/icoextract";
+-    } else return "";
++    return QStandardPaths::findExecutable("icoextract");
+ }
+ 
+ 
+ QString NeroFS::GetIcoutils()
+ {
+-    // TODO: this is for flexibility in sandboxed environments(?)
+-    // idk what the "good" path should be for Flatpak, so...
+-    if(QDir("/usr/bin").exists("icotool")) {
+-        return "/usr/bin/icotool";
+-    } else return "";
++    return QStandardPaths::findExecutable("icotool");
+ }
+ 
+ 
+ QString NeroFS::GetUmU()
+ {
+-    // TODO: this is for flexibility in sandboxed environments(?)
+-    // idk what the "good" path should be for Flatpak, so...
+-    if(QDir("/usr/bin").exists("umu-run")) {
+-        return "/usr/bin/umu-run";
+-    } else return "";
++    return QStandardPaths::findExecutable("umu-run");
+ }
+ 
+ QString NeroFS::GetWinetricks(const QString &runner)
+@@ -207,17 +195,13 @@
+             return protonsPath.path() + '/' + runner + "/protonfixes/winetricks";
+         else {
+             // fall back to system winetricks
+-            if(QDir("/usr/bin").exists("winetricks"))
+-                return "/usr/bin/winetricks";
+-            else return "";
++            return QStandardPaths::findExecutable("winetricks");
+         }
+     } else if(QDir(protonsPath.path() + '/' + currentRunner + "/protonfixes").exists("winetricks"))
+         return protonsPath.path() + '/' + currentRunner + "/protonfixes/winetricks";
+     else {
+         // fall back to system winetricks
+-        if(QDir("/usr/bin").exists("winetricks"))
+-            return "/usr/bin/winetricks";
+-        else return "";
++        return QStandardPaths::findExecutable("winetricks");
+     }
+ }
+ 
diff --git a/pkgs/by-name/ne/nero-umu/neroprefix.patch b/pkgs/by-name/ne/nero-umu/neroprefix.patch
new file mode 100644
index 000000000000..733237d6cdf6
--- /dev/null
+++ b/pkgs/by-name/ne/nero-umu/neroprefix.patch
@@ -0,0 +1,11 @@
+--- a/src/neroprefixsettings.cpp
++++ b/src/neroprefixsettings.cpp
+@@ -598,7 +598,7 @@
+         tmpDir.mkdir("nero-manager");
+     QProcess process;
+     process.setWorkingDirectory(tmpDir.path()+"/nero-manager");
+-    process.start("/usr/bin/curl", { "-o", "bridge.zip", "-L", "https://github.com/EnderIce2/rpc-bridge/releases/latest/download/bridge.zip" });
++    process.start(QStandardPaths::findExecutable("curl"), { "-o", "bridge.zip", "-L", "https://github.com/EnderIce2/rpc-bridge/releases/latest/download/bridge.zip" });
+     printf("Downloading Discord RPC Bridge...\n");
+ 
+     NeroPrefixSettingsWindow::blockSignals(true);
diff --git a/pkgs/by-name/ne/nero-umu/package.nix b/pkgs/by-name/ne/nero-umu/package.nix
new file mode 100644
index 000000000000..a0374f0925ad
--- /dev/null
+++ b/pkgs/by-name/ne/nero-umu/package.nix
@@ -0,0 +1,99 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  cmake,
+  pkg-config,
+  qt6,
+  qt6Packages,
+  icu,
+  icoextract,
+  icoutils,
+  umu-launcher,
+  winetricks,
+  curl,
+  mangohud,
+  gamescope,
+  gamemode,
+}:
+stdenv.mkDerivation (finalAttrs: {
+  pname = "nero-umu";
+  version = "1.1.1";
+
+  src = fetchFromGitHub {
+    owner = "SeongGino";
+    repo = "Nero-umu";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-sX/Z/b5stauut8qg6IV/DdsCIkdx1N3+y1jwoXHr1LY=";
+  };
+
+  #Replace quazip git submodule with pre-packaged quazip
+  postUnpack = ''
+    rmdir source/lib/quazip/
+    ln -s ${qt6Packages.quazip.src} source/lib/quazip
+  '';
+
+  nativeBuildInputs = [
+    cmake
+    qt6.wrapQtAppsHook
+    pkg-config
+  ];
+
+  buildInputs = [
+    qt6.qtbase
+    qt6.qttools
+    qt6.qt5compat
+    qt6Packages.quazip
+    icu
+  ];
+
+  runtimeDeps = [
+    icoextract
+    icoutils
+    winetricks
+    curl
+    umu-launcher
+    mangohud
+    gamescope
+    gamemode
+  ];
+
+  cmakeFlags = [
+    (lib.cmakeFeature "NERO_QT_VERSION" "Qt6")
+  ];
+
+  #Fixes to be able to find binaries for nix
+  patches = [
+    ./nerofs.patch
+    ./neroprefix.patch
+  ];
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm755 "nero-umu" "$out/bin/nero-umu"
+    for size in 32 48 64 128; do
+      install -Dm644 "$src/img/ico/ico_"$size".png" "$out/share/icons/hicolor/"$size"x"$size"/apps/xyz.TOS.Nero.png"
+    done
+    install -Dm644 "$src/xyz.TOS.Nero.desktop" "$out/share/applications/xyz.TOS.Nero.desktop"
+    runHook postInstall
+  '';
+
+  preFixup = ''
+    qtWrapperArgs+=(
+      --prefix PATH : ${lib.makeBinPath finalAttrs.runtimeDeps}
+    )
+  '';
+
+  meta = {
+    homepage = "https://github.com/SeongGino/Nero-umu";
+    description = "Fast and efficient Proton prefix runner and manager using umu as backend";
+    license = lib.licenses.gpl3Plus;
+    mainProgram = "nero-umu";
+    platforms = [ "x86_64-linux" ];
+    maintainers = with lib.maintainers; [
+      ern775
+      blghnks
+      keenanweaver
+    ];
+  };
+})
diff --git a/pkgs/by-name/ne/netbird/package.nix b/pkgs/by-name/ne/netbird/package.nix
index bc17964e69b8..cfcfcb423ce6 100644
--- a/pkgs/by-name/ne/netbird/package.nix
+++ b/pkgs/by-name/ne/netbird/package.nix
@@ -31,16 +31,16 @@ let
 in
 buildGoModule (finalAttrs: {
   pname = "netbird";
-  version = "0.45.2";
+  version = "0.47.1";
 
   src = fetchFromGitHub {
     owner = "netbirdio";
     repo = "netbird";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-lvulqneKFxmZ/EQDmQbx1SzsfZxLb8tGyLFJo8z9U0w=";
+    hash = "sha256-q9+yIq+FNcsZbmJjUjUxOEZn5jvfGfAE6Yt6Cc67rrg=";
   };
 
-  vendorHash = "sha256-EVhtxYDinmid5C/3N8UGmCzWw1qIE3m0rXes4uFpcOM=";
+  vendorHash = "sha256-t/X/muMwHVwg8Or+pFTSEQEsnkKLuApoVUmMhyCImWI=";
 
   nativeBuildInputs = [ installShellFiles ] ++ lib.optional ui pkg-config;
 
diff --git a/pkgs/by-name/ne/netcap/ndpi_4_0.nix b/pkgs/by-name/ne/netcap/ndpi_4_0.nix
new file mode 100644
index 000000000000..8f63ddcc337a
--- /dev/null
+++ b/pkgs/by-name/ne/netcap/ndpi_4_0.nix
@@ -0,0 +1,32 @@
+{
+  ndpi,
+  fetchFromGitHub,
+  lib,
+  stdenv,
+  autoreconfHook,
+  autoconf,
+  automake,
+  fixDarwinDylibNames,
+}:
+
+ndpi.overrideAttrs (
+  finalAttrs: prevAttrs: {
+    version = "4.0";
+
+    src = fetchFromGitHub {
+      inherit (prevAttrs.src) owner repo;
+      tag = finalAttrs.version;
+      hash = "sha256-vWx6IVyxPJBgOkXpHdnvstvDGJbAtndFPtowpjLd32o=";
+    };
+
+    configureScript = "./autogen.sh";
+
+    nativeBuildInputs =
+      lib.remove autoreconfHook prevAttrs.nativeBuildInputs
+      ++ [
+        autoconf
+        automake
+      ]
+      ++ lib.optionals stdenv.hostPlatform.isDarwin [ fixDarwinDylibNames ];
+  }
+)
diff --git a/pkgs/by-name/ne/netcap/package.nix b/pkgs/by-name/ne/netcap/package.nix
new file mode 100644
index 000000000000..04e4ff6fce22
--- /dev/null
+++ b/pkgs/by-name/ne/netcap/package.nix
@@ -0,0 +1,92 @@
+{
+  lib,
+  callPackage,
+  buildGoModule,
+  fetchFromGitHub,
+  withDpi ? true,
+  libpcap,
+  libprotoident,
+  libflowmanager,
+  libtrace,
+  versionCheckHook,
+  nix-update-script,
+}:
+let
+  ndpi = callPackage ./ndpi_4_0.nix { };
+in
+buildGoModule (finalAttrs: {
+  pname = "netcap";
+  version = "0.6.11";
+
+  src = fetchFromGitHub {
+    owner = "dreadl0ck";
+    repo = "netcap";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-SCBKOIC/s+rfrVWmryp9EBp7ARpZZcxymsnZWtEHrhk=";
+  };
+
+  vendorHash = "sha256-MvHrJLhcFA0fEgK+YT0rwI6wIwTGMcLWQt6AYkx1eZM=";
+
+  subPackages = [ "cmd" ];
+
+  buildInputs =
+    [
+      libpcap
+    ]
+    ++ lib.optionals withDpi [
+      ndpi
+      libprotoident
+      libflowmanager
+      libtrace
+    ];
+
+  ldflags = [
+    "-s -w"
+  ];
+
+  tags = lib.optionals (!withDpi) [
+    "nodpi"
+  ];
+
+  CGO_LDFLAGS = lib.optionalString withDpi ''
+    -L${ndpi}/lib -lndpi
+    -L${libprotoident}/lib -lndpi
+  '';
+
+  CGO_CFLAGS = lib.optionalString withDpi ''
+    -I${ndpi}/include
+    -I${libprotoident}/include
+  '';
+
+  postInstall = ''
+    mv $out/bin/cmd $out/bin/net
+  '';
+
+  checkFlags =
+    let
+      skippedTests = [
+        # couldn't open packet socket: operation not permitted
+        "TestCaptureLive"
+        # requires local test data
+        "TestCapturePCAP"
+      ];
+    in
+    [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
+
+  nativeInstallCheckInputs = [ versionCheckHook ];
+  versionCheckProgram = "${placeholder "out"}/bin/net";
+  versionCheckProgramArg = "--version";
+  doInstallCheck = true;
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    description = "Framework for secure and scalable network traffic analysis";
+    homepage = "https://netcap.io";
+    downloadPage = "https://github.com/dreadl0ck/netcap";
+    changelog = "https://github.com/dreadl0ck/netcap/releases/tag/v${finalAttrs.version}";
+    license = lib.licenses.gpl3Only;
+    maintainers = with lib.maintainers; [ felbinger ];
+    mainProgram = "net";
+  };
+})
diff --git a/pkgs/by-name/ne/netron/package.nix b/pkgs/by-name/ne/netron/package.nix
index 5269f9261f52..94fe6c1306d7 100644
--- a/pkgs/by-name/ne/netron/package.nix
+++ b/pkgs/by-name/ne/netron/package.nix
@@ -16,16 +16,16 @@ let
 in
 buildNpmPackage (finalAttrs: {
   pname = "netron";
-  version = "8.3.5";
+  version = "8.3.8";
 
   src = fetchFromGitHub {
     owner = "lutzroeder";
     repo = "netron";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-YxvUUn8VWv5M6FvIHJCaXQl7PRGcZ8qSgrZ7K0+8iME=";
+    hash = "sha256-BHV51d5X8uXnqjCkpVnZX40dAuF2HCNk/6A5cKr9nZE=";
   };
 
-  npmDepsHash = "sha256-fsF40qUKUNXeqvdM1m/IEgnxRZrnGW/aOYS3oZKQNpk=";
+  npmDepsHash = "sha256-E4jqaDJqgvOvV+67jtMzt/4YkhQ4GmKati0wuVMC8yI=";
 
   nativeBuildInputs = [ jq ];
 
diff --git a/pkgs/by-name/ne/neuron/package.nix b/pkgs/by-name/ne/neuron/package.nix
index d6b7098654bc..5456114455d3 100644
--- a/pkgs/by-name/ne/neuron/package.nix
+++ b/pkgs/by-name/ne/neuron/package.nix
@@ -24,7 +24,7 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "neuron";
-  version = "8.2.6";
+  version = "8.2.7";
 
   # format is for pythonModule conversion
   format = "other";
@@ -64,7 +64,7 @@ stdenv.mkDerivation (finalAttrs: {
       python3.pkgs.mpi4py
     ]
     ++ optionals useRx3d [
-      python3.pkgs.cython_0 # NOTE: cython<3 is required as of 8.2.6
+      python3.pkgs.cython_0 # NOTE: cython<3 is required as of 8.2.7
       python3.pkgs.numpy
     ];
 
@@ -99,7 +99,7 @@ stdenv.mkDerivation (finalAttrs: {
     repo = "nrn";
     rev = finalAttrs.version;
     fetchSubmodules = true;
-    hash = "sha256-xASBpsF8rIzrb5G+4Qi6rvWC2wqL7nAGlSeMsBAI6WM=";
+    hash = "sha256-dmpx0Wud0IhdFvvTJuW/w1Uq6vFYaNal9n27LAqV1Qc=";
   };
 
   meta = with lib; {
diff --git a/pkgs/by-name/ne/newcomputermodern/package.nix b/pkgs/by-name/ne/newcomputermodern/package.nix
index c35f9989e50e..d7a73622f0c5 100644
--- a/pkgs/by-name/ne/newcomputermodern/package.nix
+++ b/pkgs/by-name/ne/newcomputermodern/package.nix
@@ -3,16 +3,17 @@
   stdenvNoCC,
   fetchgit,
   fontforge,
+  gitUpdater,
 }:
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "newcomputermodern";
-  version = "6.0.0";
+  version = "7.0.3";
 
   src = fetchgit {
     url = "https://git.gnu.org.ua/newcm.git";
     rev = finalAttrs.version;
-    hash = "sha256-AMzEytBn9PbyYFNJ2CMPg8ejsL3eFhY+eZHXShaLG9E=";
+    hash = "sha256-sMjzM0nRcMxgJax3ecJ/a5YB3mH7+7RWbNkdhU+V7dU=";
   };
 
   nativeBuildInputs = [ fontforge ];
@@ -36,9 +37,12 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     runHook postInstall
   '';
 
+  passthru.updateScript = gitUpdater { };
+
   meta = {
     description = "Computer Modern fonts including matching non-latin alphabets";
     homepage = "https://ctan.org/pkg/newcomputermodern";
+    changelog = "https://mirrors.rit.edu/CTAN/fonts/newcomputermodern/README";
     # "The GUST Font License (GFL), which is a free license, legally
     # equivalent to the LaTeX Project Public License (LPPL), version 1.3c or
     # later." - GUST website
diff --git a/pkgs/by-name/ne/newelle/package.nix b/pkgs/by-name/ne/newelle/package.nix
index e226ca62f03b..bbc81dc11798 100644
--- a/pkgs/by-name/ne/newelle/package.nix
+++ b/pkgs/by-name/ne/newelle/package.nix
@@ -20,14 +20,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "newelle";
-  version = "0.9.7";
+  version = "0.9.8";
   pyproject = false; # uses meson
 
   src = fetchFromGitHub {
     owner = "qwersyk";
     repo = "Newelle";
     tag = version;
-    hash = "sha256-h0dWjnUqWcPdSbR60HF2KvQxUyYeR3qHf2GMHt/kSm0=";
+    hash = "sha256-VyUng/ZX8+wInRX705IWdBgTbX439R60h62ONdpZ0+8=";
   };
 
   postPatch = ''
diff --git a/pkgs/by-name/ne/newsboat/package.nix b/pkgs/by-name/ne/newsboat/package.nix
index 8e9d82719ffd..c720e4225cef 100644
--- a/pkgs/by-name/ne/newsboat/package.nix
+++ b/pkgs/by-name/ne/newsboat/package.nix
@@ -63,6 +63,8 @@ rustPlatform.buildRustPackage (finalAttrs: {
       gettext
     ];
 
+  env.NIX_CFLAGS_COMPILE = toString [ "-Wno-error=deprecated-declarations" ];
+
   postBuild = ''
     make -j $NIX_BUILD_CORES prefix="$out"
   '';
diff --git a/pkgs/by-name/ne/newsflash/package.nix b/pkgs/by-name/ne/newsflash/package.nix
index e534e2e76df9..80bebc9822a4 100644
--- a/pkgs/by-name/ne/newsflash/package.nix
+++ b/pkgs/by-name/ne/newsflash/package.nix
@@ -88,7 +88,10 @@ stdenv.mkDerivation (finalAttrs: {
       gst-plugins-bad
     ]);
 
-  passthru.updateScript = gitUpdater { rev-prefix = "v."; };
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "v.";
+    ignoredVersions = "(alpha|beta|rc)";
+  };
 
   meta = {
     description = "Modern feed reader designed for the GNOME desktop";
diff --git a/pkgs/by-name/ne/newt-go/package.nix b/pkgs/by-name/ne/newt-go/package.nix
index 1703a9373257..05b6a60a2eec 100644
--- a/pkgs/by-name/ne/newt-go/package.nix
+++ b/pkgs/by-name/ne/newt-go/package.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "newt";
-  version = "1.2.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "fosrl";
     repo = "newt";
     tag = version;
-    hash = "sha256-dZsHPEhvrElFdmJ6mgqyLqcblyUfpt8dtLsNFm1emrw=";
+    hash = "sha256-EXMAPIxSK3H2w7jHSGAfxL9wWR8kGloh6oO+/Eo7+Vc=";
   };
 
   vendorHash = "sha256-Yc5IXnShciek/bKkVezkAcaq47zGiZP8vUHFb9p09LI=";
diff --git a/pkgs/by-name/ne/nextcloud-talk-desktop/package.nix b/pkgs/by-name/ne/nextcloud-talk-desktop/package.nix
index ae65aee16698..48b86d244389 100644
--- a/pkgs/by-name/ne/nextcloud-talk-desktop/package.nix
+++ b/pkgs/by-name/ne/nextcloud-talk-desktop/package.nix
@@ -25,13 +25,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "nextcloud-talk-desktop";
-  version = "1.1.9";
+  version = "1.2.3";
 
   # Building from source would require building also building Server and Talk components
   # See https://github.com/nextcloud/talk-desktop?tab=readme-ov-file#%EF%B8%8F-prerequisites
   src = fetchzip {
     url = "https://github.com/nextcloud-releases/talk-desktop/releases/download/v${finalAttrs.version}/Nextcloud.Talk-linux-x64.zip";
-    hash = "sha256-+dYQ6trUlYpKX4ogl+VQa68C5Fy611pgGKryv7IfoCM=";
+    hash = "sha256-St0frZpSjAHnF6MJWMRm4Md0TxNnNSAbLf+Sz9EDgS4=";
     stripRoot = false;
   };
 
diff --git a/pkgs/by-name/ne/nexttrace/package.nix b/pkgs/by-name/ne/nexttrace/package.nix
index 0e1ec9ed8b32..5b4188958dcf 100644
--- a/pkgs/by-name/ne/nexttrace/package.nix
+++ b/pkgs/by-name/ne/nexttrace/package.nix
@@ -2,7 +2,6 @@
   lib,
   buildGoModule,
   fetchFromGitHub,
-  stdenv,
 }:
 
 buildGoModule rec {
@@ -23,6 +22,7 @@ buildGoModule rec {
     "-s"
     "-w"
     "-X github.com/nxtrace/NTrace-core/config.Version=v${version}"
+    "-checklinkname=0" # refers to https://github.com/nxtrace/NTrace-core/issues/247
   ];
 
   postInstall = ''
@@ -35,8 +35,5 @@ buildGoModule rec {
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ sharzy ];
     mainProgram = "nexttrace";
-    # Broken on darwin for Go toolchain > 1.22, with error:
-    # 'link: github.com/nxtrace/NTrace-core/trace/internal: invalid reference to net.internetSocket'
-    broken = stdenv.hostPlatform.isDarwin;
   };
 }
diff --git a/pkgs/by-name/ne/nexus/package.nix b/pkgs/by-name/ne/nexus/package.nix
index 401511fedd68..23d3aa7c9a0a 100644
--- a/pkgs/by-name/ne/nexus/package.nix
+++ b/pkgs/by-name/ne/nexus/package.nix
@@ -60,11 +60,15 @@ stdenv.mkDerivation rec {
     sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
     license = lib.licenses.epl10;
     platforms = lib.platforms.all;
-    maintainers = with lib.maintainers; [
-      aespinosa
-      ironpinguin
-      luftmensch-luftmensch
-      zaninime
+    knownVulnerabilities = [
+      "Nexus 3.77 + 3.78 fixed a bunch of security issues: https://help.sonatype.com/en/sonatype-nexus-repository-3-78-0-release-notes.html"
+      "CVE-2024-47554"
+      "CVE-2024-5764"
+      "Sonatype-2015-0286"
+      "Sonatype-2022-6438"
+      "CVE-2023-6378"
+      "CVE-2023-4218"
     ];
+    maintainers = with lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/by-name/ne/nexusmods-app/deps.json b/pkgs/by-name/ne/nexusmods-app/deps.json
index d448c117b1a1..4b45a9401d91 100644
--- a/pkgs/by-name/ne/nexusmods-app/deps.json
+++ b/pkgs/by-name/ne/nexusmods-app/deps.json
@@ -271,8 +271,8 @@
   },
   {
     "pname": "DynamicData",
-    "version": "9.2.2",
-    "hash": "sha256-76RE68Yvibq237dUEc8mCN/S4PQRyULJPs/tFgNOY2I="
+    "version": "9.3.2",
+    "hash": "sha256-00fzA28aU48l52TsrDSJ9ucljYOunmH7s2qPyR3YjRA="
   },
   {
     "pname": "EmptyFiles",
@@ -356,58 +356,58 @@
   },
   {
     "pname": "GameFinder",
-    "version": "4.6.3",
-    "hash": "sha256-Y1kNjf8kZQtx4jrAOv02Jj0JzedTqLhS7CQvtvuFtzY="
+    "version": "4.7.2",
+    "hash": "sha256-a+/4rJbo7dc4sVRg6TtvfCt02/Qlih9ovwwkAf6Lve0="
   },
   {
     "pname": "GameFinder.Common",
-    "version": "4.6.3",
-    "hash": "sha256-EjbqVIx67dZocKL+IGyvcm/7DmDMCfvOgPEUpf0XMRQ="
+    "version": "4.7.2",
+    "hash": "sha256-PNGHswvAeJyr0ipbxY884c9/SKsoYXEYMsI5ymfJovQ="
   },
   {
     "pname": "GameFinder.Launcher.Heroic",
-    "version": "4.6.3",
-    "hash": "sha256-w/z5qi5O3CjDNDR9rFdgibeUB+OspNEHfEKXLtEXkn0="
+    "version": "4.7.2",
+    "hash": "sha256-sQth9S4artOEA0nalFZRQKLkMU7IqHCx/B5HG8fJVZk="
   },
   {
     "pname": "GameFinder.RegistryUtils",
-    "version": "4.6.3",
-    "hash": "sha256-keHM0ngcgxx8UEBky6GtDMfqEv1VupeLsmNpd1i7s2A="
+    "version": "4.7.2",
+    "hash": "sha256-ujiSbIH5JHG4c861ex3zm+Uf7RbV+2tNFHKY2gtkwFg="
   },
   {
     "pname": "GameFinder.StoreHandlers.EADesktop",
-    "version": "4.6.3",
-    "hash": "sha256-n9Dg0bawW+UtedEJMHiEZOhDigd7j74DX1kWMJlbngw="
+    "version": "4.7.2",
+    "hash": "sha256-BcSyWqlsFXaQmYqD+dR2FSNI0NkzjkH9kZCqp4YOy14="
   },
   {
     "pname": "GameFinder.StoreHandlers.EGS",
-    "version": "4.6.3",
-    "hash": "sha256-v1kmug4QkBzaqm/6droC36U4gQcckv5bbdw6TIG3Y4o="
+    "version": "4.7.2",
+    "hash": "sha256-YAz1gf77Bm18dZe0h1zKO52ZJ7sw6XRz1XPQRVt8W3U="
   },
   {
     "pname": "GameFinder.StoreHandlers.GOG",
-    "version": "4.6.3",
-    "hash": "sha256-aGplqNlf8gwnoEpfieMDJQxmJJ13hdz+ahgpBdxK7Do="
+    "version": "4.7.2",
+    "hash": "sha256-hvA+kf2ZvpDS1pVSTAJ2839b1rRamJTz+Erux/OmdfE="
   },
   {
     "pname": "GameFinder.StoreHandlers.Origin",
-    "version": "4.6.3",
-    "hash": "sha256-U7DfWE2IwOBeDBvdsRXAgiGojnocGqvOa7MNq2nFJ/8="
+    "version": "4.7.2",
+    "hash": "sha256-U7ko6fWujUXabVEe0Xxc5PXwb2VBFCyHIByg3MzleG4="
   },
   {
     "pname": "GameFinder.StoreHandlers.Steam",
-    "version": "4.6.3",
-    "hash": "sha256-h+akH+XSLnhD2NLM4K3YqgXxEY2dQxeB4XN4D1d0Enk="
+    "version": "4.7.2",
+    "hash": "sha256-G1YPgAn7ORQuBm5ZD78EzKS1hIiLyQgjcX2RzSYWbO4="
   },
   {
     "pname": "GameFinder.StoreHandlers.Xbox",
-    "version": "4.6.3",
-    "hash": "sha256-fIwa/j71Ll3k371pxmKnEQWOqowW9XD0VhRTMnqsNYA="
+    "version": "4.7.2",
+    "hash": "sha256-LSxBpARmANJg199wBZ5FgvBUkq5JvCjTUEe9X+Gs+Ec="
   },
   {
     "pname": "GameFinder.Wine",
-    "version": "4.6.3",
-    "hash": "sha256-Tm1i2PO/+y/eCoVjKNsbX0Hu0w09mtUC4xkShgNVJz0="
+    "version": "4.7.2",
+    "hash": "sha256-YQgkRgF/wh+Jy5dIDBBE3lExDv5XpylL/xNBf0ge9sI="
   },
   {
     "pname": "Gee.External.Capstone",
@@ -1011,8 +1011,8 @@
   },
   {
     "pname": "Microsoft.CodeCoverage",
-    "version": "17.13.0",
-    "hash": "sha256-GKrIxeyQo5Az1mztfQgea1kGtJwonnNOrXK/0ULfu8o="
+    "version": "17.14.0",
+    "hash": "sha256-dvhelCipcrKwLvwilqwU4Md2YONCHteV+vcWnvBlLEI="
   },
   {
     "pname": "Microsoft.Composition",
@@ -1511,8 +1511,8 @@
   },
   {
     "pname": "Microsoft.NET.Test.Sdk",
-    "version": "17.13.0",
-    "hash": "sha256-sc2wvyV8cGm1FrNP2GGHEI584RCvRPu15erYCsgw5QY="
+    "version": "17.14.0",
+    "hash": "sha256-KSZk8lDeSyHDiFC2xG4b9x6XoK+6nDVEFi2dDd4bk+4="
   },
   {
     "pname": "Microsoft.NETCore.Platforms",
@@ -1551,13 +1551,13 @@
   },
   {
     "pname": "Microsoft.TestPlatform.ObjectModel",
-    "version": "17.13.0",
-    "hash": "sha256-6S0fjfj8vA+h6dJVNwLi6oZhYDO/I/6hBZaq2VTW+Uk="
+    "version": "17.14.0",
+    "hash": "sha256-e312v6n+QcNG6boEL1L7W1pzi14NhVnzf1EAH/Pn06s="
   },
   {
     "pname": "Microsoft.TestPlatform.TestHost",
-    "version": "17.13.0",
-    "hash": "sha256-L/CJzou7dhmShUgXq3aXL3CaLTJll17Q+JY2DBdUUpo="
+    "version": "17.14.0",
+    "hash": "sha256-uSiD1mioF2ROSmw4B1qONNPe5PxlKzu0AYg3kr3AYH0="
   },
   {
     "pname": "Microsoft.VisualStudio.Composition",
@@ -1671,58 +1671,58 @@
   },
   {
     "pname": "NexusMods.Cascade",
-    "version": "0.12.0",
-    "hash": "sha256-EHGoZyp67KzDPz3weqQTaSe2aMwJvwUFkeDDdqXYHBU="
+    "version": "0.15.0",
+    "hash": "sha256-lmb0zvp4cq9oOF25B/J2iBKmiBAMGtCYb6WMqeqwgA0="
   },
   {
     "pname": "NexusMods.Cascade.SourceGenerator",
-    "version": "0.12.0",
-    "hash": "sha256-P7cUTqFgHrvbEvd2nYD0acD8l3f7ZqmT6DX2fxTmpEg="
+    "version": "0.15.0",
+    "hash": "sha256-8tfNAUILcmBPeZNiQJ7VC+jbuFEhT9aZo/T7gnn4ZAI="
   },
   {
     "pname": "NexusMods.Hashing.xxHash3",
-    "version": "3.0.3",
-    "hash": "sha256-lhuuHZvH1klH6HE00h1On6icd6CLdFqvLLkfb3x1VVY="
+    "version": "3.0.4",
+    "hash": "sha256-QXqRjwLcIXD4nTJrxkhp+/2WEkGjjJgE8Zi3bX/4Y9M="
   },
   {
     "pname": "NexusMods.Hashing.xxHash3.Paths",
-    "version": "3.0.3",
-    "hash": "sha256-UeOX3Y8MGmAgWHWH3GolsA/MyNM9iam75pxxRXhd50M="
+    "version": "3.0.4",
+    "hash": "sha256-n5cVzPcTl0f3iGRFqxr2hP8MXIUQPcAizmDfnmDEAGk="
   },
   {
     "pname": "NexusMods.MnemonicDB",
-    "version": "0.13.0",
-    "hash": "sha256-Qb+RAMFYwDSmh4LJwGg0DIR4vzIPP6qJlYL1NQ1THOA="
+    "version": "0.15.0",
+    "hash": "sha256-4rtb6WRCxknp0a47tg3JPkvGOCoRXl4ilQZOaTvYQFw="
   },
   {
     "pname": "NexusMods.MnemonicDB.Abstractions",
-    "version": "0.13.0",
-    "hash": "sha256-UzVjG5w7UCWpnuvSWrWdUKTyYtb09FM5LweGfE2a5OQ="
+    "version": "0.15.0",
+    "hash": "sha256-BWx5MjJfSu4UGRVnFIncfSg6tu5OetSTdtDsIHwHZ5Q="
   },
   {
     "pname": "NexusMods.MnemonicDB.SourceGenerator",
-    "version": "0.13.0",
-    "hash": "sha256-vuvKag8+4c0YTuQ+XqitOXg6LQtgY7wonsGeQqhl0uw="
-  },
-  {
-    "pname": "NexusMods.Paths",
     "version": "0.15.0",
-    "hash": "sha256-No2kbrDVmJ5ySLm7jH+gNAfNLVnsv4AtLT1phcuOFLc="
+    "hash": "sha256-MuMgcHn+73izfYdA6WTHpvKBAITxuNhtGSW1JCJD4Y0="
   },
   {
     "pname": "NexusMods.Paths",
-    "version": "0.18.0",
-    "hash": "sha256-HNFDFStIXxkoHU8bt9enmb6YxU2NZnqbiapztQpzCcE="
+    "version": "0.19.1",
+    "hash": "sha256-OVknNOErAXglQfDFit+uIQlpxBJ//WOsYtIdGICls88="
+  },
+  {
+    "pname": "NexusMods.Paths",
+    "version": "0.20.0",
+    "hash": "sha256-EA4t3gmBF5ny9DyPdb/17NaryOEV8ZxUwS27PW2a9SM="
   },
   {
     "pname": "NexusMods.Paths.Extensions.Nx",
-    "version": "0.18.0",
-    "hash": "sha256-UcDLHyepHB1c3RnObNk7Y+2+GDAg+ZmJkGwJ+fLfo1w="
+    "version": "0.20.0",
+    "hash": "sha256-4FWRle0MlCm120gp4/3yG0WqMolf/44v+P8oSaQibDc="
   },
   {
     "pname": "NexusMods.Paths.TestingHelpers",
-    "version": "0.18.0",
-    "hash": "sha256-J8vNJ5njlKz9Nl6JzrTo232p8PAgm9t3RPh+y7nnD68="
+    "version": "0.20.0",
+    "hash": "sha256-k+1dgCZEuEO8xVfdwGKec+FgE//FX1xqIyiyPGYypF0="
   },
   {
     "pname": "NLog",
@@ -2399,11 +2399,6 @@
     "version": "4.3.0",
     "hash": "sha256-KMY5DfJnDeIsa13DpqvyN8NkReZEMAFnlmNglVoFIXI="
   },
-  {
-    "pname": "System.Collections.Immutable",
-    "version": "1.2.0",
-    "hash": "sha256-FQ3l+ulbLSPhQ0JcQCC4D4SzjTnHsRqcOj56Ywy7pMo="
-  },
   {
     "pname": "System.Collections.Immutable",
     "version": "5.0.0",
@@ -2609,11 +2604,6 @@
     "version": "4.3.0",
     "hash": "sha256-mmJWA27T0GRVuFP9/sj+4TrR4GJWrzNIk2PDrbr7RQk="
   },
-  {
-    "pname": "System.IO",
-    "version": "4.1.0",
-    "hash": "sha256-V6oyQFwWb8NvGxAwvzWnhPxy9dKOfj/XBM3tEC5aHrw="
-  },
   {
     "pname": "System.IO",
     "version": "4.3.0",
@@ -2654,11 +2644,6 @@
     "version": "9.0.0",
     "hash": "sha256-k6Pdndm5fTD6CB1QsQfP7G+2h4B30CWIsuvjHuBg3fc="
   },
-  {
-    "pname": "System.IO.Hashing",
-    "version": "9.0.4",
-    "hash": "sha256-rbcQzEncB3VuUZIcsE1tq30suf5rvRE4HkE+0lR/skU="
-  },
   {
     "pname": "System.IO.Pipelines",
     "version": "6.0.3",
@@ -2819,11 +2804,6 @@
     "version": "4.3.0",
     "hash": "sha256-rKx4a9yZKcajloSZHr4CKTVJ6Vjh95ni+zszPxWjh2I="
   },
-  {
-    "pname": "System.Reflection.Extensions",
-    "version": "4.0.1",
-    "hash": "sha256-NsfmzM9G/sN3H8X2cdnheTGRsh7zbRzvegnjDzDH/FQ="
-  },
   {
     "pname": "System.Reflection.Extensions",
     "version": "4.3.0",
@@ -2849,6 +2829,11 @@
     "version": "7.0.0",
     "hash": "sha256-GwAKQhkhPBYTqmRdG9c9taqrKSKDwyUgOEhWLKxWNPI="
   },
+  {
+    "pname": "System.Reflection.Metadata",
+    "version": "8.0.0",
+    "hash": "sha256-dQGC30JauIDWNWXMrSNOJncVa1umR1sijazYwUDdSIE="
+  },
   {
     "pname": "System.Reflection.Primitives",
     "version": "4.0.1",
@@ -2919,11 +2904,6 @@
     "version": "4.3.0",
     "hash": "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms="
   },
-  {
-    "pname": "System.Runtime.InteropServices",
-    "version": "4.1.0",
-    "hash": "sha256-QceAYlJvkPRJc/+5jR+wQpNNI3aqGySWWSO30e/FfQY="
-  },
   {
     "pname": "System.Runtime.InteropServices",
     "version": "4.3.0",
@@ -3044,11 +3024,6 @@
     "version": "5.0.0",
     "hash": "sha256-CBOQwl9veFkrKK2oU8JFFEiKIh/p+aJO+q9Tc2Q/89Y="
   },
-  {
-    "pname": "System.Text.Encoding",
-    "version": "4.0.11",
-    "hash": "sha256-PEailOvG05CVgPTyKLtpAgRydlSHmtd5K0Y8GSHY2Lc="
-  },
   {
     "pname": "System.Text.Encoding",
     "version": "4.3.0",
@@ -3064,11 +3039,6 @@
     "version": "7.0.0",
     "hash": "sha256-eCKTVwumD051ZEcoJcDVRGnIGAsEvKpfH3ydKluHxmo="
   },
-  {
-    "pname": "System.Text.Encoding.Extensions",
-    "version": "4.0.11",
-    "hash": "sha256-+kf7J3dEhgCbnCM5vHYlsTm5/R/Ud0Jr6elpHm922iI="
-  },
   {
     "pname": "System.Text.Encoding.Extensions",
     "version": "4.3.0",
@@ -3191,8 +3161,13 @@
   },
   {
     "pname": "TransparentValueObjects",
-    "version": "1.0.2",
-    "hash": "sha256-5d9pIf8hbbcBtj6/oc87f98xEuhBiT6Yq5FR2b/mvUQ="
+    "version": "1.1.0",
+    "hash": "sha256-ofguV7Dk9Wf47JIvYXoFIs7T+Rv4evtUJ7hcqa8xFDo="
+  },
+  {
+    "pname": "TransparentValueObjects.Abstractions",
+    "version": "1.1.0",
+    "hash": "sha256-I2NBomTTExaEhf9/BoplBbDJ9B7YMS3nUOQ5Od4A/e0="
   },
   {
     "pname": "Validation",
diff --git a/pkgs/by-name/ne/nexusmods-app/package.nix b/pkgs/by-name/ne/nexusmods-app/package.nix
index 7d703dbe9c2a..1319e1f40166 100644
--- a/pkgs/by-name/ne/nexusmods-app/package.nix
+++ b/pkgs/by-name/ne/nexusmods-app/package.nix
@@ -24,12 +24,12 @@ let
 in
 buildDotnetModule (finalAttrs: {
   inherit pname;
-  version = "0.11.3";
+  version = "0.12.3";
 
   src = fetchgit {
     url = "https://github.com/Nexus-Mods/NexusMods.App.git";
     rev = "refs/tags/v${finalAttrs.version}";
-    hash = "sha256-EP51nhFKYfYRjOpgHiGLwXGmpDULoTlGh3hQXhR8sy8=";
+    hash = "sha256-X0zF0zqWwuCt7oWXwfzDtu+7KZ3yMQwQqP45rlfGm/o=";
     fetchSubmodules = true;
   };
 
@@ -64,6 +64,10 @@ buildDotnetModule (finalAttrs: {
   postPatch = ''
     # for some reason these tests fail (intermittently?) with a zero timestamp
     touch tests/NexusMods.UI.Tests/WorkspaceSystem/*.verified.png
+
+    # Assertion assumes version is set to 0.0.1
+    substituteInPlace tests/NexusMods.Telemetry.Tests/TrackingDataSenderTests.cs \
+      --replace-fail 'cra_ct=v0.0.1' 'cra_ct=v${finalAttrs.version}'
   '';
 
   makeWrapperArgs = [
diff --git a/pkgs/by-name/ne/nezha-agent/package.nix b/pkgs/by-name/ne/nezha-agent/package.nix
index 20b16274de26..bfeec8044a91 100644
--- a/pkgs/by-name/ne/nezha-agent/package.nix
+++ b/pkgs/by-name/ne/nezha-agent/package.nix
@@ -8,16 +8,16 @@
 }:
 buildGoModule (finalAttrs: {
   pname = "nezha-agent";
-  version = "1.12.2";
+  version = "1.12.3";
 
   src = fetchFromGitHub {
     owner = "nezhahq";
     repo = "agent";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-j0GIfte5z7uyhsnWqsRexWZHJxnqf1cFl1Hq4jnONAo=";
+    hash = "sha256-LhSuKbvTHO+bCCtxKENS7wbScDHE57Uf3nFrMDt2wOE=";
   };
 
-  vendorHash = "sha256-+0goz1TpHcNd0T45mRc0QornXdHFPy5Y+uH0aOiql+A=";
+  vendorHash = "sha256-5g2AgkqaelCD10dxwcEmBLYy5nrd4IALiss0dTrTTno=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/ne/nezha-theme-admin/package-lock.json b/pkgs/by-name/ne/nezha-theme-admin/package-lock.json
index 1fe63e47f65c..b48defe8edb3 100644
--- a/pkgs/by-name/ne/nezha-theme-admin/package-lock.json
+++ b/pkgs/by-name/ne/nezha-theme-admin/package-lock.json
@@ -100,23 +100,23 @@
             }
         },
         "node_modules/@babel/code-frame": {
-            "version": "7.26.2",
-            "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz",
-            "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==",
+            "version": "7.27.1",
+            "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz",
+            "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==",
             "license": "MIT",
             "dependencies": {
-                "@babel/helper-validator-identifier": "^7.25.9",
+                "@babel/helper-validator-identifier": "^7.27.1",
                 "js-tokens": "^4.0.0",
-                "picocolors": "^1.0.0"
+                "picocolors": "^1.1.1"
             },
             "engines": {
                 "node": ">=6.9.0"
             }
         },
         "node_modules/@babel/compat-data": {
-            "version": "7.26.8",
-            "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz",
-            "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==",
+            "version": "7.27.5",
+            "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.5.tgz",
+            "integrity": "sha512-KiRAp/VoJaWkkte84TvUd9qjdbZAdiqyvMxrGl1N6vzFogKmaLgoM3L1kgtLicp2HP5fBJS8JrZKLVIZGVJAVg==",
             "dev": true,
             "license": "MIT",
             "engines": {
@@ -124,22 +124,22 @@
             }
         },
         "node_modules/@babel/core": {
-            "version": "7.26.10",
-            "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz",
-            "integrity": "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==",
+            "version": "7.27.4",
+            "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.4.tgz",
+            "integrity": "sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==",
             "dev": true,
             "license": "MIT",
             "dependencies": {
                 "@ampproject/remapping": "^2.2.0",
-                "@babel/code-frame": "^7.26.2",
-                "@babel/generator": "^7.26.10",
-                "@babel/helper-compilation-targets": "^7.26.5",
-                "@babel/helper-module-transforms": "^7.26.0",
-                "@babel/helpers": "^7.26.10",
-                "@babel/parser": "^7.26.10",
-                "@babel/template": "^7.26.9",
-                "@babel/traverse": "^7.26.10",
-                "@babel/types": "^7.26.10",
+                "@babel/code-frame": "^7.27.1",
+                "@babel/generator": "^7.27.3",
+                "@babel/helper-compilation-targets": "^7.27.2",
+                "@babel/helper-module-transforms": "^7.27.3",
+                "@babel/helpers": "^7.27.4",
+                "@babel/parser": "^7.27.4",
+                "@babel/template": "^7.27.2",
+                "@babel/traverse": "^7.27.4",
+                "@babel/types": "^7.27.3",
                 "convert-source-map": "^2.0.0",
                 "debug": "^4.1.0",
                 "gensync": "^1.0.0-beta.2",
@@ -155,13 +155,13 @@
             }
         },
         "node_modules/@babel/generator": {
-            "version": "7.27.0",
-            "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.0.tgz",
-            "integrity": "sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw==",
+            "version": "7.27.5",
+            "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.5.tgz",
+            "integrity": "sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==",
             "license": "MIT",
             "dependencies": {
-                "@babel/parser": "^7.27.0",
-                "@babel/types": "^7.27.0",
+                "@babel/parser": "^7.27.5",
+                "@babel/types": "^7.27.3",
                 "@jridgewell/gen-mapping": "^0.3.5",
                 "@jridgewell/trace-mapping": "^0.3.25",
                 "jsesc": "^3.0.2"
@@ -171,14 +171,14 @@
             }
         },
         "node_modules/@babel/helper-compilation-targets": {
-            "version": "7.27.0",
-            "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.0.tgz",
-            "integrity": "sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA==",
+            "version": "7.27.2",
+            "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz",
+            "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==",
             "dev": true,
             "license": "MIT",
             "dependencies": {
-                "@babel/compat-data": "^7.26.8",
-                "@babel/helper-validator-option": "^7.25.9",
+                "@babel/compat-data": "^7.27.2",
+                "@babel/helper-validator-option": "^7.27.1",
                 "browserslist": "^4.24.0",
                 "lru-cache": "^5.1.1",
                 "semver": "^6.3.1"
@@ -188,29 +188,29 @@
             }
         },
         "node_modules/@babel/helper-module-imports": {
-            "version": "7.25.9",
-            "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz",
-            "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==",
+            "version": "7.27.1",
+            "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz",
+            "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==",
             "dev": true,
             "license": "MIT",
             "dependencies": {
-                "@babel/traverse": "^7.25.9",
-                "@babel/types": "^7.25.9"
+                "@babel/traverse": "^7.27.1",
+                "@babel/types": "^7.27.1"
             },
             "engines": {
                 "node": ">=6.9.0"
             }
         },
         "node_modules/@babel/helper-module-transforms": {
-            "version": "7.26.0",
-            "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz",
-            "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==",
+            "version": "7.27.3",
+            "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz",
+            "integrity": "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==",
             "dev": true,
             "license": "MIT",
             "dependencies": {
-                "@babel/helper-module-imports": "^7.25.9",
-                "@babel/helper-validator-identifier": "^7.25.9",
-                "@babel/traverse": "^7.25.9"
+                "@babel/helper-module-imports": "^7.27.1",
+                "@babel/helper-validator-identifier": "^7.27.1",
+                "@babel/traverse": "^7.27.3"
             },
             "engines": {
                 "node": ">=6.9.0"
@@ -220,9 +220,9 @@
             }
         },
         "node_modules/@babel/helper-plugin-utils": {
-            "version": "7.26.5",
-            "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz",
-            "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==",
+            "version": "7.27.1",
+            "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz",
+            "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==",
             "dev": true,
             "license": "MIT",
             "engines": {
@@ -230,27 +230,27 @@
             }
         },
         "node_modules/@babel/helper-string-parser": {
-            "version": "7.25.9",
-            "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
-            "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
+            "version": "7.27.1",
+            "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
+            "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
             "license": "MIT",
             "engines": {
                 "node": ">=6.9.0"
             }
         },
         "node_modules/@babel/helper-validator-identifier": {
-            "version": "7.25.9",
-            "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
-            "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
+            "version": "7.27.1",
+            "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz",
+            "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==",
             "license": "MIT",
             "engines": {
                 "node": ">=6.9.0"
             }
         },
         "node_modules/@babel/helper-validator-option": {
-            "version": "7.25.9",
-            "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz",
-            "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==",
+            "version": "7.27.1",
+            "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz",
+            "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==",
             "dev": true,
             "license": "MIT",
             "engines": {
@@ -258,26 +258,26 @@
             }
         },
         "node_modules/@babel/helpers": {
-            "version": "7.27.0",
-            "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.0.tgz",
-            "integrity": "sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==",
+            "version": "7.27.6",
+            "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.6.tgz",
+            "integrity": "sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==",
             "dev": true,
             "license": "MIT",
             "dependencies": {
-                "@babel/template": "^7.27.0",
-                "@babel/types": "^7.27.0"
+                "@babel/template": "^7.27.2",
+                "@babel/types": "^7.27.6"
             },
             "engines": {
                 "node": ">=6.9.0"
             }
         },
         "node_modules/@babel/parser": {
-            "version": "7.27.0",
-            "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.0.tgz",
-            "integrity": "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==",
+            "version": "7.27.5",
+            "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.5.tgz",
+            "integrity": "sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==",
             "license": "MIT",
             "dependencies": {
-                "@babel/types": "^7.27.0"
+                "@babel/types": "^7.27.3"
             },
             "bin": {
                 "parser": "bin/babel-parser.js"
@@ -287,13 +287,13 @@
             }
         },
         "node_modules/@babel/plugin-transform-react-jsx-self": {
-            "version": "7.25.9",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz",
-            "integrity": "sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==",
+            "version": "7.27.1",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz",
+            "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==",
             "dev": true,
             "license": "MIT",
             "dependencies": {
-                "@babel/helper-plugin-utils": "^7.25.9"
+                "@babel/helper-plugin-utils": "^7.27.1"
             },
             "engines": {
                 "node": ">=6.9.0"
@@ -303,13 +303,13 @@
             }
         },
         "node_modules/@babel/plugin-transform-react-jsx-source": {
-            "version": "7.25.9",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz",
-            "integrity": "sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==",
+            "version": "7.27.1",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz",
+            "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==",
             "dev": true,
             "license": "MIT",
             "dependencies": {
-                "@babel/helper-plugin-utils": "^7.25.9"
+                "@babel/helper-plugin-utils": "^7.27.1"
             },
             "engines": {
                 "node": ">=6.9.0"
@@ -319,42 +319,39 @@
             }
         },
         "node_modules/@babel/runtime": {
-            "version": "7.27.0",
-            "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.0.tgz",
-            "integrity": "sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==",
+            "version": "7.27.6",
+            "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz",
+            "integrity": "sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==",
             "license": "MIT",
-            "dependencies": {
-                "regenerator-runtime": "^0.14.0"
-            },
             "engines": {
                 "node": ">=6.9.0"
             }
         },
         "node_modules/@babel/template": {
-            "version": "7.27.0",
-            "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.0.tgz",
-            "integrity": "sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==",
+            "version": "7.27.2",
+            "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz",
+            "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==",
             "license": "MIT",
             "dependencies": {
-                "@babel/code-frame": "^7.26.2",
-                "@babel/parser": "^7.27.0",
-                "@babel/types": "^7.27.0"
+                "@babel/code-frame": "^7.27.1",
+                "@babel/parser": "^7.27.2",
+                "@babel/types": "^7.27.1"
             },
             "engines": {
                 "node": ">=6.9.0"
             }
         },
         "node_modules/@babel/traverse": {
-            "version": "7.27.0",
-            "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.0.tgz",
-            "integrity": "sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==",
+            "version": "7.27.4",
+            "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.4.tgz",
+            "integrity": "sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==",
             "license": "MIT",
             "dependencies": {
-                "@babel/code-frame": "^7.26.2",
-                "@babel/generator": "^7.27.0",
-                "@babel/parser": "^7.27.0",
-                "@babel/template": "^7.27.0",
-                "@babel/types": "^7.27.0",
+                "@babel/code-frame": "^7.27.1",
+                "@babel/generator": "^7.27.3",
+                "@babel/parser": "^7.27.4",
+                "@babel/template": "^7.27.2",
+                "@babel/types": "^7.27.3",
                 "debug": "^4.3.1",
                 "globals": "^11.1.0"
             },
@@ -372,28 +369,28 @@
             }
         },
         "node_modules/@babel/types": {
-            "version": "7.27.0",
-            "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz",
-            "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==",
+            "version": "7.27.6",
+            "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.6.tgz",
+            "integrity": "sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==",
             "license": "MIT",
             "dependencies": {
-                "@babel/helper-string-parser": "^7.25.9",
-                "@babel/helper-validator-identifier": "^7.25.9"
+                "@babel/helper-string-parser": "^7.27.1",
+                "@babel/helper-validator-identifier": "^7.27.1"
             },
             "engines": {
                 "node": ">=6.9.0"
             }
         },
         "node_modules/@biomejs/js-api": {
-            "version": "0.7.1",
-            "resolved": "https://registry.npmjs.org/@biomejs/js-api/-/js-api-0.7.1.tgz",
-            "integrity": "sha512-VFdgFFZWcyCQxZcAasyv8Enpexn4CblMdWmr6izLYHTLcbd+z9x/LuKU71qnmClABfnYqZjiY7c8DKTVri3Ajw==",
+            "version": "0.8.0-beta.3",
+            "resolved": "https://registry.npmjs.org/@biomejs/js-api/-/js-api-0.8.0-beta.3.tgz",
+            "integrity": "sha512-Rlljal9Wwdt2OgOnTUdlvzUEVKNzTCeEPekXTjQT6uwZE21akpviljo5u3HNPkW55Sh8zqHDZ/3d9gI4yoEv2A==",
             "dev": true,
             "license": "MIT OR Apache-2.0",
             "peerDependencies": {
-                "@biomejs/wasm-bundler": "^1.9.2",
-                "@biomejs/wasm-nodejs": "^1.9.2",
-                "@biomejs/wasm-web": "^1.9.2"
+                "@biomejs/wasm-bundler": "^1.9.4",
+                "@biomejs/wasm-nodejs": "^1.9.4",
+                "@biomejs/wasm-web": "^1.9.4"
             },
             "peerDependenciesMeta": {
                 "@biomejs/wasm-bundler": {
@@ -412,12 +409,14 @@
             "resolved": "https://registry.npmjs.org/@biomejs/wasm-nodejs/-/wasm-nodejs-1.9.4.tgz",
             "integrity": "sha512-ZqNlhKcZW6MW1LxWIOfh9YVrBykvzyFad3bOh6JJFraDnNa3NXboRDiaI8dmrbb0ZHXCU1Tsq6WQsKV2Vpp5dw==",
             "dev": true,
-            "license": "MIT OR Apache-2.0"
+            "license": "MIT OR Apache-2.0",
+            "optional": true,
+            "peer": true
         },
         "node_modules/@esbuild/aix-ppc64": {
-            "version": "0.25.2",
-            "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.2.tgz",
-            "integrity": "sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag==",
+            "version": "0.25.5",
+            "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz",
+            "integrity": "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==",
             "cpu": [
                 "ppc64"
             ],
@@ -432,9 +431,9 @@
             }
         },
         "node_modules/@esbuild/android-arm": {
-            "version": "0.25.2",
-            "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.2.tgz",
-            "integrity": "sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA==",
+            "version": "0.25.5",
+            "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.5.tgz",
+            "integrity": "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==",
             "cpu": [
                 "arm"
             ],
@@ -449,9 +448,9 @@
             }
         },
         "node_modules/@esbuild/android-arm64": {
-            "version": "0.25.2",
-            "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.2.tgz",
-            "integrity": "sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w==",
+            "version": "0.25.5",
+            "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.5.tgz",
+            "integrity": "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==",
             "cpu": [
                 "arm64"
             ],
@@ -466,9 +465,9 @@
             }
         },
         "node_modules/@esbuild/android-x64": {
-            "version": "0.25.2",
-            "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.2.tgz",
-            "integrity": "sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg==",
+            "version": "0.25.5",
+            "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.5.tgz",
+            "integrity": "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==",
             "cpu": [
                 "x64"
             ],
@@ -483,9 +482,9 @@
             }
         },
         "node_modules/@esbuild/darwin-arm64": {
-            "version": "0.25.2",
-            "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.2.tgz",
-            "integrity": "sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA==",
+            "version": "0.25.5",
+            "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.5.tgz",
+            "integrity": "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==",
             "cpu": [
                 "arm64"
             ],
@@ -500,9 +499,9 @@
             }
         },
         "node_modules/@esbuild/darwin-x64": {
-            "version": "0.25.2",
-            "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.2.tgz",
-            "integrity": "sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA==",
+            "version": "0.25.5",
+            "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.5.tgz",
+            "integrity": "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==",
             "cpu": [
                 "x64"
             ],
@@ -517,9 +516,9 @@
             }
         },
         "node_modules/@esbuild/freebsd-arm64": {
-            "version": "0.25.2",
-            "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.2.tgz",
-            "integrity": "sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w==",
+            "version": "0.25.5",
+            "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.5.tgz",
+            "integrity": "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==",
             "cpu": [
                 "arm64"
             ],
@@ -534,9 +533,9 @@
             }
         },
         "node_modules/@esbuild/freebsd-x64": {
-            "version": "0.25.2",
-            "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.2.tgz",
-            "integrity": "sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ==",
+            "version": "0.25.5",
+            "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.5.tgz",
+            "integrity": "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==",
             "cpu": [
                 "x64"
             ],
@@ -551,9 +550,9 @@
             }
         },
         "node_modules/@esbuild/linux-arm": {
-            "version": "0.25.2",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.2.tgz",
-            "integrity": "sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g==",
+            "version": "0.25.5",
+            "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.5.tgz",
+            "integrity": "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==",
             "cpu": [
                 "arm"
             ],
@@ -568,9 +567,9 @@
             }
         },
         "node_modules/@esbuild/linux-arm64": {
-            "version": "0.25.2",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.2.tgz",
-            "integrity": "sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g==",
+            "version": "0.25.5",
+            "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.5.tgz",
+            "integrity": "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==",
             "cpu": [
                 "arm64"
             ],
@@ -585,9 +584,9 @@
             }
         },
         "node_modules/@esbuild/linux-ia32": {
-            "version": "0.25.2",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.2.tgz",
-            "integrity": "sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ==",
+            "version": "0.25.5",
+            "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.5.tgz",
+            "integrity": "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==",
             "cpu": [
                 "ia32"
             ],
@@ -602,9 +601,9 @@
             }
         },
         "node_modules/@esbuild/linux-loong64": {
-            "version": "0.25.2",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.2.tgz",
-            "integrity": "sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w==",
+            "version": "0.25.5",
+            "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.5.tgz",
+            "integrity": "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==",
             "cpu": [
                 "loong64"
             ],
@@ -619,9 +618,9 @@
             }
         },
         "node_modules/@esbuild/linux-mips64el": {
-            "version": "0.25.2",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.2.tgz",
-            "integrity": "sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q==",
+            "version": "0.25.5",
+            "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.5.tgz",
+            "integrity": "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==",
             "cpu": [
                 "mips64el"
             ],
@@ -636,9 +635,9 @@
             }
         },
         "node_modules/@esbuild/linux-ppc64": {
-            "version": "0.25.2",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.2.tgz",
-            "integrity": "sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g==",
+            "version": "0.25.5",
+            "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.5.tgz",
+            "integrity": "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==",
             "cpu": [
                 "ppc64"
             ],
@@ -653,9 +652,9 @@
             }
         },
         "node_modules/@esbuild/linux-riscv64": {
-            "version": "0.25.2",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.2.tgz",
-            "integrity": "sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw==",
+            "version": "0.25.5",
+            "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.5.tgz",
+            "integrity": "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==",
             "cpu": [
                 "riscv64"
             ],
@@ -670,9 +669,9 @@
             }
         },
         "node_modules/@esbuild/linux-s390x": {
-            "version": "0.25.2",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.2.tgz",
-            "integrity": "sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q==",
+            "version": "0.25.5",
+            "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.5.tgz",
+            "integrity": "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==",
             "cpu": [
                 "s390x"
             ],
@@ -687,9 +686,9 @@
             }
         },
         "node_modules/@esbuild/linux-x64": {
-            "version": "0.25.2",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.2.tgz",
-            "integrity": "sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg==",
+            "version": "0.25.5",
+            "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.5.tgz",
+            "integrity": "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==",
             "cpu": [
                 "x64"
             ],
@@ -704,9 +703,9 @@
             }
         },
         "node_modules/@esbuild/netbsd-arm64": {
-            "version": "0.25.2",
-            "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.2.tgz",
-            "integrity": "sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw==",
+            "version": "0.25.5",
+            "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.5.tgz",
+            "integrity": "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==",
             "cpu": [
                 "arm64"
             ],
@@ -721,9 +720,9 @@
             }
         },
         "node_modules/@esbuild/netbsd-x64": {
-            "version": "0.25.2",
-            "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.2.tgz",
-            "integrity": "sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg==",
+            "version": "0.25.5",
+            "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.5.tgz",
+            "integrity": "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==",
             "cpu": [
                 "x64"
             ],
@@ -738,9 +737,9 @@
             }
         },
         "node_modules/@esbuild/openbsd-arm64": {
-            "version": "0.25.2",
-            "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.2.tgz",
-            "integrity": "sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg==",
+            "version": "0.25.5",
+            "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.5.tgz",
+            "integrity": "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==",
             "cpu": [
                 "arm64"
             ],
@@ -755,9 +754,9 @@
             }
         },
         "node_modules/@esbuild/openbsd-x64": {
-            "version": "0.25.2",
-            "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.2.tgz",
-            "integrity": "sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw==",
+            "version": "0.25.5",
+            "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.5.tgz",
+            "integrity": "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==",
             "cpu": [
                 "x64"
             ],
@@ -772,9 +771,9 @@
             }
         },
         "node_modules/@esbuild/sunos-x64": {
-            "version": "0.25.2",
-            "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.2.tgz",
-            "integrity": "sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA==",
+            "version": "0.25.5",
+            "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.5.tgz",
+            "integrity": "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==",
             "cpu": [
                 "x64"
             ],
@@ -789,9 +788,9 @@
             }
         },
         "node_modules/@esbuild/win32-arm64": {
-            "version": "0.25.2",
-            "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.2.tgz",
-            "integrity": "sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q==",
+            "version": "0.25.5",
+            "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.5.tgz",
+            "integrity": "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==",
             "cpu": [
                 "arm64"
             ],
@@ -806,9 +805,9 @@
             }
         },
         "node_modules/@esbuild/win32-ia32": {
-            "version": "0.25.2",
-            "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.2.tgz",
-            "integrity": "sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg==",
+            "version": "0.25.5",
+            "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.5.tgz",
+            "integrity": "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==",
             "cpu": [
                 "ia32"
             ],
@@ -823,9 +822,9 @@
             }
         },
         "node_modules/@esbuild/win32-x64": {
-            "version": "0.25.2",
-            "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.2.tgz",
-            "integrity": "sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA==",
+            "version": "0.25.5",
+            "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.5.tgz",
+            "integrity": "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==",
             "cpu": [
                 "x64"
             ],
@@ -840,9 +839,9 @@
             }
         },
         "node_modules/@eslint-community/eslint-utils": {
-            "version": "4.6.1",
-            "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.6.1.tgz",
-            "integrity": "sha512-KTsJMmobmbrFLe3LDh0PC2FXpcSYJt/MLjlkh/9LEnmKYLSYmT/0EW9JWANjeoemiuZrmogti0tW5Ch+qNUYDw==",
+            "version": "4.7.0",
+            "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz",
+            "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==",
             "dev": true,
             "license": "MIT",
             "dependencies": {
@@ -882,9 +881,9 @@
             }
         },
         "node_modules/@eslint/config-array": {
-            "version": "0.20.0",
-            "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz",
-            "integrity": "sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==",
+            "version": "0.20.1",
+            "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.1.tgz",
+            "integrity": "sha512-OL0RJzC/CBzli0DrrR31qzj6d6i6Mm3HByuhflhl4LOBiWxN+3i6/t/ZQQNii4tjksXi8r2CRW1wMpWA2ULUEw==",
             "dev": true,
             "license": "Apache-2.0",
             "dependencies": {
@@ -897,9 +896,9 @@
             }
         },
         "node_modules/@eslint/config-helpers": {
-            "version": "0.2.1",
-            "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.1.tgz",
-            "integrity": "sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw==",
+            "version": "0.2.3",
+            "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.3.tgz",
+            "integrity": "sha512-u180qk2Um1le4yf0ruXH3PYFeEZeYC3p/4wCTKrr2U1CmGdzGi3KtY0nuPDH48UJxlKCC5RDzbcbh4X0XlqgHg==",
             "dev": true,
             "license": "Apache-2.0",
             "engines": {
@@ -907,9 +906,9 @@
             }
         },
         "node_modules/@eslint/core": {
-            "version": "0.13.0",
-            "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.13.0.tgz",
-            "integrity": "sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==",
+            "version": "0.14.0",
+            "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.14.0.tgz",
+            "integrity": "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==",
             "dev": true,
             "license": "Apache-2.0",
             "dependencies": {
@@ -957,13 +956,16 @@
             }
         },
         "node_modules/@eslint/js": {
-            "version": "9.25.1",
-            "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.25.1.tgz",
-            "integrity": "sha512-dEIwmjntEx8u3Uvv+kr3PDeeArL8Hw07H9kyYxCjnM9pBjfEhk6uLXSchxxzgiwtRhhzVzqmUSDFBOi1TuZ7qg==",
+            "version": "9.29.0",
+            "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.29.0.tgz",
+            "integrity": "sha512-3PIF4cBw/y+1u2EazflInpV+lYsSG0aByVIQzAgb1m1MhHFSbqTyNqtBKHgWf/9Ykud+DhILS9EGkmekVhbKoQ==",
             "dev": true,
             "license": "MIT",
             "engines": {
                 "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+            },
+            "funding": {
+                "url": "https://eslint.org/donate"
             }
         },
         "node_modules/@eslint/object-schema": {
@@ -977,19 +979,32 @@
             }
         },
         "node_modules/@eslint/plugin-kit": {
-            "version": "0.2.8",
-            "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz",
-            "integrity": "sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==",
+            "version": "0.3.2",
+            "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.2.tgz",
+            "integrity": "sha512-4SaFZCNfJqvk/kenHpI8xvN42DMaoycy4PzKc5otHxRswww1kAt82OlBuwRVLofCACCTZEcla2Ydxv8scMXaTg==",
             "dev": true,
             "license": "Apache-2.0",
             "dependencies": {
-                "@eslint/core": "^0.13.0",
+                "@eslint/core": "^0.15.0",
                 "levn": "^0.4.1"
             },
             "engines": {
                 "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
             }
         },
+        "node_modules/@eslint/plugin-kit/node_modules/@eslint/core": {
+            "version": "0.15.0",
+            "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.0.tgz",
+            "integrity": "sha512-b7ePw78tEWWkpgZCDYkbqDOP8dmM6qe+AOC6iuJqlq1R/0ahMAeH3qynpnqKFGkMltrp44ohV4ubGyvLX28tzw==",
+            "dev": true,
+            "license": "Apache-2.0",
+            "dependencies": {
+                "@types/json-schema": "^7.0.15"
+            },
+            "engines": {
+                "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+            }
+        },
         "node_modules/@exodus/schemasafe": {
             "version": "1.3.0",
             "resolved": "https://registry.npmjs.org/@exodus/schemasafe/-/schemasafe-1.3.0.tgz",
@@ -998,28 +1013,28 @@
             "license": "MIT"
         },
         "node_modules/@floating-ui/core": {
-            "version": "1.6.9",
-            "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.9.tgz",
-            "integrity": "sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==",
+            "version": "1.7.1",
+            "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.1.tgz",
+            "integrity": "sha512-azI0DrjMMfIug/ExbBaeDVJXcY0a7EPvPjb2xAJPa4HeimBX+Z18HK8QQR3jb6356SnDDdxx+hinMLcJEDdOjw==",
             "license": "MIT",
             "dependencies": {
                 "@floating-ui/utils": "^0.2.9"
             }
         },
         "node_modules/@floating-ui/dom": {
-            "version": "1.6.13",
-            "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.13.tgz",
-            "integrity": "sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==",
+            "version": "1.7.1",
+            "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.1.tgz",
+            "integrity": "sha512-cwsmW/zyw5ltYTUeeYJ60CnQuPqmGwuGVhG9w0PRaRKkAyi38BT5CKrpIbb+jtahSwUl04cWzSx9ZOIxeS6RsQ==",
             "license": "MIT",
             "dependencies": {
-                "@floating-ui/core": "^1.6.0",
+                "@floating-ui/core": "^1.7.1",
                 "@floating-ui/utils": "^0.2.9"
             }
         },
         "node_modules/@floating-ui/react-dom": {
-            "version": "2.1.2",
-            "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.2.tgz",
-            "integrity": "sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==",
+            "version": "2.1.3",
+            "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.3.tgz",
+            "integrity": "sha512-huMBfiU9UnQ2oBwIhgzyIiSpVgvlDstU8CX0AF+wS+KzmYMs0J2a3GwuFHV1Lz+jlrQGeC1fF+Nv0QoumyV0bA==",
             "license": "MIT",
             "dependencies": {
                 "@floating-ui/dom": "^1.0.0"
@@ -1097,9 +1112,9 @@
             }
         },
         "node_modules/@humanwhocodes/retry": {
-            "version": "0.4.2",
-            "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz",
-            "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==",
+            "version": "0.4.3",
+            "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz",
+            "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==",
             "dev": true,
             "license": "Apache-2.0",
             "engines": {
@@ -1233,17 +1248,17 @@
             "license": "MIT"
         },
         "node_modules/@radix-ui/react-alert-dialog": {
-            "version": "1.1.10",
-            "resolved": "https://registry.npmjs.org/@radix-ui/react-alert-dialog/-/react-alert-dialog-1.1.10.tgz",
-            "integrity": "sha512-EJ+FGNgLiOw33YOipPZ4/fZC2x1zKELDBjdJJleYsM6kJCBp3lvAPuXeUoYEHXNvv9iWl5VRU3IT7d/f4A5C7g==",
+            "version": "1.1.14",
+            "resolved": "https://registry.npmjs.org/@radix-ui/react-alert-dialog/-/react-alert-dialog-1.1.14.tgz",
+            "integrity": "sha512-IOZfZ3nPvN6lXpJTBCunFQPRSvK8MDgSc1FB85xnIpUKOw9en0dJj8JmCAxV7BiZdtYlUpmrQjoTFkVYtdoWzQ==",
             "license": "MIT",
             "dependencies": {
                 "@radix-ui/primitive": "1.1.2",
                 "@radix-ui/react-compose-refs": "1.1.2",
                 "@radix-ui/react-context": "1.1.2",
-                "@radix-ui/react-dialog": "1.1.10",
-                "@radix-ui/react-primitive": "2.1.0",
-                "@radix-ui/react-slot": "1.2.0"
+                "@radix-ui/react-dialog": "1.1.14",
+                "@radix-ui/react-primitive": "2.1.3",
+                "@radix-ui/react-slot": "1.2.3"
             },
             "peerDependencies": {
                 "@types/react": "*",
@@ -1261,12 +1276,12 @@
             }
         },
         "node_modules/@radix-ui/react-arrow": {
-            "version": "1.1.4",
-            "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.4.tgz",
-            "integrity": "sha512-qz+fxrqgNxG0dYew5l7qR3c7wdgRu1XVUHGnGYX7rg5HM4p9SWaRmJwfgR3J0SgyUKayLmzQIun+N6rWRgiRKw==",
+            "version": "1.1.7",
+            "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.7.tgz",
+            "integrity": "sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==",
             "license": "MIT",
             "dependencies": {
-                "@radix-ui/react-primitive": "2.1.0"
+                "@radix-ui/react-primitive": "2.1.3"
             },
             "peerDependencies": {
                 "@types/react": "*",
@@ -1284,15 +1299,15 @@
             }
         },
         "node_modules/@radix-ui/react-avatar": {
-            "version": "1.1.6",
-            "resolved": "https://registry.npmjs.org/@radix-ui/react-avatar/-/react-avatar-1.1.6.tgz",
-            "integrity": "sha512-YDduxvqNMHzTQWNqja7Z/XTyFc8UOP98/ePjJTFa1vqILPlTPcQaVa1YyQMiQl4SFQPA9Y/zj1dHBgMlE5G/ow==",
+            "version": "1.1.10",
+            "resolved": "https://registry.npmjs.org/@radix-ui/react-avatar/-/react-avatar-1.1.10.tgz",
+            "integrity": "sha512-V8piFfWapM5OmNCXTzVQY+E1rDa53zY+MQ4Y7356v4fFz6vqCyUtIz2rUD44ZEdwg78/jKmMJHj07+C/Z/rcog==",
             "license": "MIT",
             "dependencies": {
                 "@radix-ui/react-context": "1.1.2",
-                "@radix-ui/react-primitive": "2.1.0",
+                "@radix-ui/react-primitive": "2.1.3",
                 "@radix-ui/react-use-callback-ref": "1.1.1",
-                "@radix-ui/react-use-is-hydrated": "0.0.0",
+                "@radix-ui/react-use-is-hydrated": "0.1.0",
                 "@radix-ui/react-use-layout-effect": "1.1.1"
             },
             "peerDependencies": {
@@ -1311,16 +1326,16 @@
             }
         },
         "node_modules/@radix-ui/react-checkbox": {
-            "version": "1.2.2",
-            "resolved": "https://registry.npmjs.org/@radix-ui/react-checkbox/-/react-checkbox-1.2.2.tgz",
-            "integrity": "sha512-pMxzQLK+m/tkDRXJg7VUjRx6ozsBdzNLOV4vexfVBU57qT2Gvf4cw2gKKhOohJxjadQ+WcUXCKosTIxcZzi03A==",
+            "version": "1.3.2",
+            "resolved": "https://registry.npmjs.org/@radix-ui/react-checkbox/-/react-checkbox-1.3.2.tgz",
+            "integrity": "sha512-yd+dI56KZqawxKZrJ31eENUwqc1QSqg4OZ15rybGjF2ZNwMO+wCyHzAVLRp9qoYJf7kYy0YpZ2b0JCzJ42HZpA==",
             "license": "MIT",
             "dependencies": {
                 "@radix-ui/primitive": "1.1.2",
                 "@radix-ui/react-compose-refs": "1.1.2",
                 "@radix-ui/react-context": "1.1.2",
-                "@radix-ui/react-presence": "1.1.3",
-                "@radix-ui/react-primitive": "2.1.0",
+                "@radix-ui/react-presence": "1.1.4",
+                "@radix-ui/react-primitive": "2.1.3",
                 "@radix-ui/react-use-controllable-state": "1.2.2",
                 "@radix-ui/react-use-previous": "1.1.1",
                 "@radix-ui/react-use-size": "1.1.1"
@@ -1341,15 +1356,15 @@
             }
         },
         "node_modules/@radix-ui/react-collection": {
-            "version": "1.1.4",
-            "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.4.tgz",
-            "integrity": "sha512-cv4vSf7HttqXilDnAnvINd53OTl1/bjUYVZrkFnA7nwmY9Ob2POUy0WY0sfqBAe1s5FyKsyceQlqiEGPYNTadg==",
+            "version": "1.1.7",
+            "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.7.tgz",
+            "integrity": "sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==",
             "license": "MIT",
             "dependencies": {
                 "@radix-ui/react-compose-refs": "1.1.2",
                 "@radix-ui/react-context": "1.1.2",
-                "@radix-ui/react-primitive": "2.1.0",
-                "@radix-ui/react-slot": "1.2.0"
+                "@radix-ui/react-primitive": "2.1.3",
+                "@radix-ui/react-slot": "1.2.3"
             },
             "peerDependencies": {
                 "@types/react": "*",
@@ -1397,22 +1412,22 @@
             }
         },
         "node_modules/@radix-ui/react-dialog": {
-            "version": "1.1.10",
-            "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.10.tgz",
-            "integrity": "sha512-m6pZb0gEM5uHPSb+i2nKKGQi/HMSVjARMsLMWQfKDP+eJ6B+uqryHnXhpnohTWElw+vEcMk/o4wJODtdRKHwqg==",
+            "version": "1.1.14",
+            "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.14.tgz",
+            "integrity": "sha512-+CpweKjqpzTmwRwcYECQcNYbI8V9VSQt0SNFKeEBLgfucbsLssU6Ppq7wUdNXEGb573bMjFhVjKVll8rmV6zMw==",
             "license": "MIT",
             "dependencies": {
                 "@radix-ui/primitive": "1.1.2",
                 "@radix-ui/react-compose-refs": "1.1.2",
                 "@radix-ui/react-context": "1.1.2",
-                "@radix-ui/react-dismissable-layer": "1.1.7",
+                "@radix-ui/react-dismissable-layer": "1.1.10",
                 "@radix-ui/react-focus-guards": "1.1.2",
-                "@radix-ui/react-focus-scope": "1.1.4",
+                "@radix-ui/react-focus-scope": "1.1.7",
                 "@radix-ui/react-id": "1.1.1",
-                "@radix-ui/react-portal": "1.1.6",
-                "@radix-ui/react-presence": "1.1.3",
-                "@radix-ui/react-primitive": "2.1.0",
-                "@radix-ui/react-slot": "1.2.0",
+                "@radix-ui/react-portal": "1.1.9",
+                "@radix-ui/react-presence": "1.1.4",
+                "@radix-ui/react-primitive": "2.1.3",
+                "@radix-ui/react-slot": "1.2.3",
                 "@radix-ui/react-use-controllable-state": "1.2.2",
                 "aria-hidden": "^1.2.4",
                 "react-remove-scroll": "^2.6.3"
@@ -1448,14 +1463,14 @@
             }
         },
         "node_modules/@radix-ui/react-dismissable-layer": {
-            "version": "1.1.7",
-            "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.7.tgz",
-            "integrity": "sha512-j5+WBUdhccJsmH5/H0K6RncjDtoALSEr6jbkaZu+bjw6hOPOhHycr6vEUujl+HBK8kjUfWcoCJXxP6e4lUlMZw==",
+            "version": "1.1.10",
+            "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.10.tgz",
+            "integrity": "sha512-IM1zzRV4W3HtVgftdQiiOmA0AdJlCtMLe00FXaHwgt3rAnNsIyDqshvkIW3hj/iu5hu8ERP7KIYki6NkqDxAwQ==",
             "license": "MIT",
             "dependencies": {
                 "@radix-ui/primitive": "1.1.2",
                 "@radix-ui/react-compose-refs": "1.1.2",
-                "@radix-ui/react-primitive": "2.1.0",
+                "@radix-ui/react-primitive": "2.1.3",
                 "@radix-ui/react-use-callback-ref": "1.1.1",
                 "@radix-ui/react-use-escape-keydown": "1.1.1"
             },
@@ -1475,17 +1490,17 @@
             }
         },
         "node_modules/@radix-ui/react-dropdown-menu": {
-            "version": "2.1.11",
-            "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.11.tgz",
-            "integrity": "sha512-wbPE3cFBfLl+S+LCxChWQGX0k14zUxgvep1HEnLhJ9mNhjyO3ETzRviAeKZ3XomT/iVRRZAWFsnFZ3N0wI8OmA==",
+            "version": "2.1.15",
+            "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.15.tgz",
+            "integrity": "sha512-mIBnOjgwo9AH3FyKaSWoSu/dYj6VdhJ7frEPiGTeXCdUFHjl9h3mFh2wwhEtINOmYXWhdpf1rY2minFsmaNgVQ==",
             "license": "MIT",
             "dependencies": {
                 "@radix-ui/primitive": "1.1.2",
                 "@radix-ui/react-compose-refs": "1.1.2",
                 "@radix-ui/react-context": "1.1.2",
                 "@radix-ui/react-id": "1.1.1",
-                "@radix-ui/react-menu": "2.1.11",
-                "@radix-ui/react-primitive": "2.1.0",
+                "@radix-ui/react-menu": "2.1.15",
+                "@radix-ui/react-primitive": "2.1.3",
                 "@radix-ui/react-use-controllable-state": "1.2.2"
             },
             "peerDependencies": {
@@ -1519,13 +1534,13 @@
             }
         },
         "node_modules/@radix-ui/react-focus-scope": {
-            "version": "1.1.4",
-            "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.4.tgz",
-            "integrity": "sha512-r2annK27lIW5w9Ho5NyQgqs0MmgZSTIKXWpVCJaLC1q2kZrZkcqnmHkCHMEmv8XLvsLlurKMPT+kbKkRkm/xVA==",
+            "version": "1.1.7",
+            "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.7.tgz",
+            "integrity": "sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==",
             "license": "MIT",
             "dependencies": {
                 "@radix-ui/react-compose-refs": "1.1.2",
-                "@radix-ui/react-primitive": "2.1.0",
+                "@radix-ui/react-primitive": "2.1.3",
                 "@radix-ui/react-use-callback-ref": "1.1.1"
             },
             "peerDependencies": {
@@ -1562,12 +1577,12 @@
             }
         },
         "node_modules/@radix-ui/react-label": {
-            "version": "2.1.4",
-            "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.1.4.tgz",
-            "integrity": "sha512-wy3dqizZnZVV4ja0FNnUhIWNwWdoldXrneEyUcVtLYDAt8ovGS4ridtMAOGgXBBIfggL4BOveVWsjXDORdGEQg==",
+            "version": "2.1.7",
+            "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.1.7.tgz",
+            "integrity": "sha512-YT1GqPSL8kJn20djelMX7/cTRp/Y9w5IZHvfxQTVHrOqa2yMl7i/UfMqKRU5V7mEyKTrUVgJXhNQPVCG8PBLoQ==",
             "license": "MIT",
             "dependencies": {
-                "@radix-ui/react-primitive": "2.1.0"
+                "@radix-ui/react-primitive": "2.1.3"
             },
             "peerDependencies": {
                 "@types/react": "*",
@@ -1585,26 +1600,26 @@
             }
         },
         "node_modules/@radix-ui/react-menu": {
-            "version": "2.1.11",
-            "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.1.11.tgz",
-            "integrity": "sha512-sbFI4Qaw02J0ogmR9tOMsSqsdrGNpUanlPYAqTE2JJafow8ecHtykg4fSTjNHBdDl4deiKMK+RhTEwyVhP7UDA==",
+            "version": "2.1.15",
+            "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.1.15.tgz",
+            "integrity": "sha512-tVlmA3Vb9n8SZSd+YSbuFR66l87Wiy4du+YE+0hzKQEANA+7cWKH1WgqcEX4pXqxUFQKrWQGHdvEfw00TjFiew==",
             "license": "MIT",
             "dependencies": {
                 "@radix-ui/primitive": "1.1.2",
-                "@radix-ui/react-collection": "1.1.4",
+                "@radix-ui/react-collection": "1.1.7",
                 "@radix-ui/react-compose-refs": "1.1.2",
                 "@radix-ui/react-context": "1.1.2",
                 "@radix-ui/react-direction": "1.1.1",
-                "@radix-ui/react-dismissable-layer": "1.1.7",
+                "@radix-ui/react-dismissable-layer": "1.1.10",
                 "@radix-ui/react-focus-guards": "1.1.2",
-                "@radix-ui/react-focus-scope": "1.1.4",
+                "@radix-ui/react-focus-scope": "1.1.7",
                 "@radix-ui/react-id": "1.1.1",
-                "@radix-ui/react-popper": "1.2.4",
-                "@radix-ui/react-portal": "1.1.6",
-                "@radix-ui/react-presence": "1.1.3",
-                "@radix-ui/react-primitive": "2.1.0",
-                "@radix-ui/react-roving-focus": "1.1.7",
-                "@radix-ui/react-slot": "1.2.0",
+                "@radix-ui/react-popper": "1.2.7",
+                "@radix-ui/react-portal": "1.1.9",
+                "@radix-ui/react-presence": "1.1.4",
+                "@radix-ui/react-primitive": "2.1.3",
+                "@radix-ui/react-roving-focus": "1.1.10",
+                "@radix-ui/react-slot": "1.2.3",
                 "@radix-ui/react-use-callback-ref": "1.1.1",
                 "aria-hidden": "^1.2.4",
                 "react-remove-scroll": "^2.6.3"
@@ -1625,25 +1640,25 @@
             }
         },
         "node_modules/@radix-ui/react-navigation-menu": {
-            "version": "1.2.9",
-            "resolved": "https://registry.npmjs.org/@radix-ui/react-navigation-menu/-/react-navigation-menu-1.2.9.tgz",
-            "integrity": "sha512-Z7lefjA5VAmEB5ZClxeHGWGQAqhGWgEc6u0MYviUmIVrgGCVLv5mv/jsfUY3tJWI71cVhpQ7dnf/Q6RtM3ylVA==",
+            "version": "1.2.13",
+            "resolved": "https://registry.npmjs.org/@radix-ui/react-navigation-menu/-/react-navigation-menu-1.2.13.tgz",
+            "integrity": "sha512-WG8wWfDiJlSF5hELjwfjSGOXcBR/ZMhBFCGYe8vERpC39CQYZeq1PQ2kaYHdye3V95d06H89KGMsVCIE4LWo3g==",
             "license": "MIT",
             "dependencies": {
                 "@radix-ui/primitive": "1.1.2",
-                "@radix-ui/react-collection": "1.1.4",
+                "@radix-ui/react-collection": "1.1.7",
                 "@radix-ui/react-compose-refs": "1.1.2",
                 "@radix-ui/react-context": "1.1.2",
                 "@radix-ui/react-direction": "1.1.1",
-                "@radix-ui/react-dismissable-layer": "1.1.7",
+                "@radix-ui/react-dismissable-layer": "1.1.10",
                 "@radix-ui/react-id": "1.1.1",
-                "@radix-ui/react-presence": "1.1.3",
-                "@radix-ui/react-primitive": "2.1.0",
+                "@radix-ui/react-presence": "1.1.4",
+                "@radix-ui/react-primitive": "2.1.3",
                 "@radix-ui/react-use-callback-ref": "1.1.1",
                 "@radix-ui/react-use-controllable-state": "1.2.2",
                 "@radix-ui/react-use-layout-effect": "1.1.1",
                 "@radix-ui/react-use-previous": "1.1.1",
-                "@radix-ui/react-visually-hidden": "1.2.0"
+                "@radix-ui/react-visually-hidden": "1.2.3"
             },
             "peerDependencies": {
                 "@types/react": "*",
@@ -1661,23 +1676,23 @@
             }
         },
         "node_modules/@radix-ui/react-popover": {
-            "version": "1.1.10",
-            "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.10.tgz",
-            "integrity": "sha512-IZN7b3sXqajiPsOzKuNJBSP9obF4MX5/5UhTgWNofw4r1H+eATWb0SyMlaxPD/kzA4vadFgy1s7Z1AEJ6WMyHQ==",
+            "version": "1.1.14",
+            "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.14.tgz",
+            "integrity": "sha512-ODz16+1iIbGUfFEfKx2HTPKizg2MN39uIOV8MXeHnmdd3i/N9Wt7vU46wbHsqA0xoaQyXVcs0KIlBdOA2Y95bw==",
             "license": "MIT",
             "dependencies": {
                 "@radix-ui/primitive": "1.1.2",
                 "@radix-ui/react-compose-refs": "1.1.2",
                 "@radix-ui/react-context": "1.1.2",
-                "@radix-ui/react-dismissable-layer": "1.1.7",
+                "@radix-ui/react-dismissable-layer": "1.1.10",
                 "@radix-ui/react-focus-guards": "1.1.2",
-                "@radix-ui/react-focus-scope": "1.1.4",
+                "@radix-ui/react-focus-scope": "1.1.7",
                 "@radix-ui/react-id": "1.1.1",
-                "@radix-ui/react-popper": "1.2.4",
-                "@radix-ui/react-portal": "1.1.6",
-                "@radix-ui/react-presence": "1.1.3",
-                "@radix-ui/react-primitive": "2.1.0",
-                "@radix-ui/react-slot": "1.2.0",
+                "@radix-ui/react-popper": "1.2.7",
+                "@radix-ui/react-portal": "1.1.9",
+                "@radix-ui/react-presence": "1.1.4",
+                "@radix-ui/react-primitive": "2.1.3",
+                "@radix-ui/react-slot": "1.2.3",
                 "@radix-ui/react-use-controllable-state": "1.2.2",
                 "aria-hidden": "^1.2.4",
                 "react-remove-scroll": "^2.6.3"
@@ -1698,16 +1713,16 @@
             }
         },
         "node_modules/@radix-ui/react-popper": {
-            "version": "1.2.4",
-            "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.4.tgz",
-            "integrity": "sha512-3p2Rgm/a1cK0r/UVkx5F/K9v/EplfjAeIFCGOPYPO4lZ0jtg4iSQXt/YGTSLWaf4x7NG6Z4+uKFcylcTZjeqDA==",
+            "version": "1.2.7",
+            "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.7.tgz",
+            "integrity": "sha512-IUFAccz1JyKcf/RjB552PlWwxjeCJB8/4KxT7EhBHOJM+mN7LdW+B3kacJXILm32xawcMMjb2i0cIZpo+f9kiQ==",
             "license": "MIT",
             "dependencies": {
                 "@floating-ui/react-dom": "^2.0.0",
-                "@radix-ui/react-arrow": "1.1.4",
+                "@radix-ui/react-arrow": "1.1.7",
                 "@radix-ui/react-compose-refs": "1.1.2",
                 "@radix-ui/react-context": "1.1.2",
-                "@radix-ui/react-primitive": "2.1.0",
+                "@radix-ui/react-primitive": "2.1.3",
                 "@radix-ui/react-use-callback-ref": "1.1.1",
                 "@radix-ui/react-use-layout-effect": "1.1.1",
                 "@radix-ui/react-use-rect": "1.1.1",
@@ -1730,12 +1745,12 @@
             }
         },
         "node_modules/@radix-ui/react-portal": {
-            "version": "1.1.6",
-            "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.6.tgz",
-            "integrity": "sha512-XmsIl2z1n/TsYFLIdYam2rmFwf9OC/Sh2avkbmVMDuBZIe7hSpM0cYnWPAo7nHOVx8zTuwDZGByfcqLdnzp3Vw==",
+            "version": "1.1.9",
+            "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.9.tgz",
+            "integrity": "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==",
             "license": "MIT",
             "dependencies": {
-                "@radix-ui/react-primitive": "2.1.0",
+                "@radix-ui/react-primitive": "2.1.3",
                 "@radix-ui/react-use-layout-effect": "1.1.1"
             },
             "peerDependencies": {
@@ -1754,9 +1769,9 @@
             }
         },
         "node_modules/@radix-ui/react-presence": {
-            "version": "1.1.3",
-            "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.3.tgz",
-            "integrity": "sha512-IrVLIhskYhH3nLvtcBLQFZr61tBG7wx7O3kEmdzcYwRGAEBmBicGGL7ATzNgruYJ3xBTbuzEEq9OXJM3PAX3tA==",
+            "version": "1.1.4",
+            "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.4.tgz",
+            "integrity": "sha512-ueDqRbdc4/bkaQT3GIpLQssRlFgWaL/U2z/S31qRwwLWoxHLgry3SIfCwhxeQNbirEUXFa+lq3RL3oBYXtcmIA==",
             "license": "MIT",
             "dependencies": {
                 "@radix-ui/react-compose-refs": "1.1.2",
@@ -1778,12 +1793,12 @@
             }
         },
         "node_modules/@radix-ui/react-primitive": {
-            "version": "2.1.0",
-            "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.0.tgz",
-            "integrity": "sha512-/J/FhLdK0zVcILOwt5g+dH4KnkonCtkVJsa2G6JmvbbtZfBEI1gMsO3QMjseL4F/SwfAMt1Vc/0XKYKq+xJ1sw==",
+            "version": "2.1.3",
+            "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz",
+            "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==",
             "license": "MIT",
             "dependencies": {
-                "@radix-ui/react-slot": "1.2.0"
+                "@radix-ui/react-slot": "1.2.3"
             },
             "peerDependencies": {
                 "@types/react": "*",
@@ -1801,18 +1816,18 @@
             }
         },
         "node_modules/@radix-ui/react-roving-focus": {
-            "version": "1.1.7",
-            "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.7.tgz",
-            "integrity": "sha512-C6oAg451/fQT3EGbWHbCQjYTtbyjNO1uzQgMzwyivcHT3GKNEmu1q3UuREhN+HzHAVtv3ivMVK08QlC+PkYw9Q==",
+            "version": "1.1.10",
+            "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.10.tgz",
+            "integrity": "sha512-dT9aOXUen9JSsxnMPv/0VqySQf5eDQ6LCk5Sw28kamz8wSOW2bJdlX2Bg5VUIIcV+6XlHpWTIuTPCf/UNIyq8Q==",
             "license": "MIT",
             "dependencies": {
                 "@radix-ui/primitive": "1.1.2",
-                "@radix-ui/react-collection": "1.1.4",
+                "@radix-ui/react-collection": "1.1.7",
                 "@radix-ui/react-compose-refs": "1.1.2",
                 "@radix-ui/react-context": "1.1.2",
                 "@radix-ui/react-direction": "1.1.1",
                 "@radix-ui/react-id": "1.1.1",
-                "@radix-ui/react-primitive": "2.1.0",
+                "@radix-ui/react-primitive": "2.1.3",
                 "@radix-ui/react-use-callback-ref": "1.1.1",
                 "@radix-ui/react-use-controllable-state": "1.2.2"
             },
@@ -1832,9 +1847,9 @@
             }
         },
         "node_modules/@radix-ui/react-scroll-area": {
-            "version": "1.2.5",
-            "resolved": "https://registry.npmjs.org/@radix-ui/react-scroll-area/-/react-scroll-area-1.2.5.tgz",
-            "integrity": "sha512-VyLjxI8/gXYn+Wij1FLpXjZp6Z/uNklUFQQ75tOpJNESeNaZ2kCRfjiEDmHgWmLeUPeJGwrqbgRmcdFjtYEkMA==",
+            "version": "1.2.9",
+            "resolved": "https://registry.npmjs.org/@radix-ui/react-scroll-area/-/react-scroll-area-1.2.9.tgz",
+            "integrity": "sha512-YSjEfBXnhUELsO2VzjdtYYD4CfQjvao+lhhrX5XsHD7/cyUNzljF1FHEbgTPN7LH2MClfwRMIsYlqTYpKTTe2A==",
             "license": "MIT",
             "dependencies": {
                 "@radix-ui/number": "1.1.1",
@@ -1842,8 +1857,8 @@
                 "@radix-ui/react-compose-refs": "1.1.2",
                 "@radix-ui/react-context": "1.1.2",
                 "@radix-ui/react-direction": "1.1.1",
-                "@radix-ui/react-presence": "1.1.3",
-                "@radix-ui/react-primitive": "2.1.0",
+                "@radix-ui/react-presence": "1.1.4",
+                "@radix-ui/react-primitive": "2.1.3",
                 "@radix-ui/react-use-callback-ref": "1.1.1",
                 "@radix-ui/react-use-layout-effect": "1.1.1"
             },
@@ -1863,30 +1878,30 @@
             }
         },
         "node_modules/@radix-ui/react-select": {
-            "version": "2.2.2",
-            "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.2.2.tgz",
-            "integrity": "sha512-HjkVHtBkuq+r3zUAZ/CvNWUGKPfuicGDbgtZgiQuFmNcV5F+Tgy24ep2nsAW2nFgvhGPJVqeBZa6KyVN0EyrBA==",
+            "version": "2.2.5",
+            "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.2.5.tgz",
+            "integrity": "sha512-HnMTdXEVuuyzx63ME0ut4+sEMYW6oouHWNGUZc7ddvUWIcfCva/AMoqEW/3wnEllriMWBa0RHspCYnfCWJQYmA==",
             "license": "MIT",
             "dependencies": {
                 "@radix-ui/number": "1.1.1",
                 "@radix-ui/primitive": "1.1.2",
-                "@radix-ui/react-collection": "1.1.4",
+                "@radix-ui/react-collection": "1.1.7",
                 "@radix-ui/react-compose-refs": "1.1.2",
                 "@radix-ui/react-context": "1.1.2",
                 "@radix-ui/react-direction": "1.1.1",
-                "@radix-ui/react-dismissable-layer": "1.1.7",
+                "@radix-ui/react-dismissable-layer": "1.1.10",
                 "@radix-ui/react-focus-guards": "1.1.2",
-                "@radix-ui/react-focus-scope": "1.1.4",
+                "@radix-ui/react-focus-scope": "1.1.7",
                 "@radix-ui/react-id": "1.1.1",
-                "@radix-ui/react-popper": "1.2.4",
-                "@radix-ui/react-portal": "1.1.6",
-                "@radix-ui/react-primitive": "2.1.0",
-                "@radix-ui/react-slot": "1.2.0",
+                "@radix-ui/react-popper": "1.2.7",
+                "@radix-ui/react-portal": "1.1.9",
+                "@radix-ui/react-primitive": "2.1.3",
+                "@radix-ui/react-slot": "1.2.3",
                 "@radix-ui/react-use-callback-ref": "1.1.1",
                 "@radix-ui/react-use-controllable-state": "1.2.2",
                 "@radix-ui/react-use-layout-effect": "1.1.1",
                 "@radix-ui/react-use-previous": "1.1.1",
-                "@radix-ui/react-visually-hidden": "1.2.0",
+                "@radix-ui/react-visually-hidden": "1.2.3",
                 "aria-hidden": "^1.2.4",
                 "react-remove-scroll": "^2.6.3"
             },
@@ -1906,12 +1921,12 @@
             }
         },
         "node_modules/@radix-ui/react-separator": {
-            "version": "1.1.4",
-            "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.1.4.tgz",
-            "integrity": "sha512-2fTm6PSiUm8YPq9W0E4reYuv01EE3aFSzt8edBiXqPHshF8N9+Kymt/k0/R+F3dkY5lQyB/zPtrP82phskLi7w==",
+            "version": "1.1.7",
+            "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.1.7.tgz",
+            "integrity": "sha512-0HEb8R9E8A+jZjvmFCy/J4xhbXy3TV+9XSnGJ3KvTtjlIUy/YQ/p6UYZvi7YbeoeXdyU9+Y3scizK6hkY37baA==",
             "license": "MIT",
             "dependencies": {
-                "@radix-ui/react-primitive": "2.1.0"
+                "@radix-ui/react-primitive": "2.1.3"
             },
             "peerDependencies": {
                 "@types/react": "*",
@@ -1929,9 +1944,9 @@
             }
         },
         "node_modules/@radix-ui/react-slot": {
-            "version": "1.2.0",
-            "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.0.tgz",
-            "integrity": "sha512-ujc+V6r0HNDviYqIK3rW4ffgYiZ8g5DEHrGJVk4x7kTlLXRDILnKX9vAUYeIsLOoDpDJ0ujpqMkjH4w2ofuo6w==",
+            "version": "1.2.3",
+            "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz",
+            "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==",
             "license": "MIT",
             "dependencies": {
                 "@radix-ui/react-compose-refs": "1.1.2"
@@ -1947,18 +1962,18 @@
             }
         },
         "node_modules/@radix-ui/react-tabs": {
-            "version": "1.1.8",
-            "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.1.8.tgz",
-            "integrity": "sha512-4iUaN9SYtG+/E+hJ7jRks/Nv90f+uAsRHbLYA6BcA9EsR6GNWgsvtS4iwU2SP0tOZfDGAyqIT0yz7ckgohEIFA==",
+            "version": "1.1.12",
+            "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.1.12.tgz",
+            "integrity": "sha512-GTVAlRVrQrSw3cEARM0nAx73ixrWDPNZAruETn3oHCNP6SbZ/hNxdxp+u7VkIEv3/sFoLq1PfcHrl7Pnp0CDpw==",
             "license": "MIT",
             "dependencies": {
                 "@radix-ui/primitive": "1.1.2",
                 "@radix-ui/react-context": "1.1.2",
                 "@radix-ui/react-direction": "1.1.1",
                 "@radix-ui/react-id": "1.1.1",
-                "@radix-ui/react-presence": "1.1.3",
-                "@radix-ui/react-primitive": "2.1.0",
-                "@radix-ui/react-roving-focus": "1.1.7",
+                "@radix-ui/react-presence": "1.1.4",
+                "@radix-ui/react-primitive": "2.1.3",
+                "@radix-ui/react-roving-focus": "1.1.10",
                 "@radix-ui/react-use-controllable-state": "1.2.2"
             },
             "peerDependencies": {
@@ -2047,12 +2062,12 @@
             }
         },
         "node_modules/@radix-ui/react-use-is-hydrated": {
-            "version": "0.0.0",
-            "resolved": "https://registry.npmjs.org/@radix-ui/react-use-is-hydrated/-/react-use-is-hydrated-0.0.0.tgz",
-            "integrity": "sha512-23RkSm7jSZ8+rtfdSJTi/2D+p9soPbtnoG/tPf08egYCDr6p8X83hrcmW77p7MJ8kJYWNXwruuPTPp1TwIIH4g==",
+            "version": "0.1.0",
+            "resolved": "https://registry.npmjs.org/@radix-ui/react-use-is-hydrated/-/react-use-is-hydrated-0.1.0.tgz",
+            "integrity": "sha512-U+UORVEq+cTnRIaostJv9AGdV3G6Y+zbVd+12e18jQ5A3c0xL03IhnHuiU4UV69wolOQp5GfR58NW/EgdQhwOA==",
             "license": "MIT",
             "dependencies": {
-                "use-sync-external-store": "^1.4.0"
+                "use-sync-external-store": "^1.5.0"
             },
             "peerDependencies": {
                 "@types/react": "*",
@@ -2131,12 +2146,12 @@
             }
         },
         "node_modules/@radix-ui/react-visually-hidden": {
-            "version": "1.2.0",
-            "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.2.0.tgz",
-            "integrity": "sha512-rQj0aAWOpCdCMRbI6pLQm8r7S2BM3YhTa0SzOYD55k+hJA8oo9J+H+9wLM9oMlZWOX/wJWPTzfDfmZkf7LvCfg==",
+            "version": "1.2.3",
+            "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.2.3.tgz",
+            "integrity": "sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug==",
             "license": "MIT",
             "dependencies": {
-                "@radix-ui/react-primitive": "2.1.0"
+                "@radix-ui/react-primitive": "2.1.3"
             },
             "peerDependencies": {
                 "@types/react": "*",
@@ -2159,10 +2174,17 @@
             "integrity": "sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==",
             "license": "MIT"
         },
+        "node_modules/@rolldown/pluginutils": {
+            "version": "1.0.0-beta.11",
+            "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.11.tgz",
+            "integrity": "sha512-L/gAA/hyCSuzTF1ftlzUSI/IKr2POHsv1Dd78GfqkR83KMNuswWD61JxGV2L7nRwBBBSDr6R1gCkdTmoN7W4ag==",
+            "dev": true,
+            "license": "MIT"
+        },
         "node_modules/@rollup/rollup-android-arm-eabi": {
-            "version": "4.40.0",
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.0.tgz",
-            "integrity": "sha512-+Fbls/diZ0RDerhE8kyC6hjADCXA1K4yVNlH0EYfd2XjyH0UGgzaQ8MlT0pCXAThfxv3QUAczHaL+qSv1E4/Cg==",
+            "version": "4.43.0",
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.43.0.tgz",
+            "integrity": "sha512-Krjy9awJl6rKbruhQDgivNbD1WuLb8xAclM4IR4cN5pHGAs2oIMMQJEiC3IC/9TZJ+QZkmZhlMO/6MBGxPidpw==",
             "cpu": [
                 "arm"
             ],
@@ -2174,9 +2196,9 @@
             ]
         },
         "node_modules/@rollup/rollup-android-arm64": {
-            "version": "4.40.0",
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.0.tgz",
-            "integrity": "sha512-PPA6aEEsTPRz+/4xxAmaoWDqh67N7wFbgFUJGMnanCFs0TV99M0M8QhhaSCks+n6EbQoFvLQgYOGXxlMGQe/6w==",
+            "version": "4.43.0",
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.43.0.tgz",
+            "integrity": "sha512-ss4YJwRt5I63454Rpj+mXCXicakdFmKnUNxr1dLK+5rv5FJgAxnN7s31a5VchRYxCFWdmnDWKd0wbAdTr0J5EA==",
             "cpu": [
                 "arm64"
             ],
@@ -2188,9 +2210,9 @@
             ]
         },
         "node_modules/@rollup/rollup-darwin-arm64": {
-            "version": "4.40.0",
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.0.tgz",
-            "integrity": "sha512-GwYOcOakYHdfnjjKwqpTGgn5a6cUX7+Ra2HeNj/GdXvO2VJOOXCiYYlRFU4CubFM67EhbmzLOmACKEfvp3J1kQ==",
+            "version": "4.43.0",
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.43.0.tgz",
+            "integrity": "sha512-eKoL8ykZ7zz8MjgBenEF2OoTNFAPFz1/lyJ5UmmFSz5jW+7XbH1+MAgCVHy72aG59rbuQLcJeiMrP8qP5d/N0A==",
             "cpu": [
                 "arm64"
             ],
@@ -2202,9 +2224,9 @@
             ]
         },
         "node_modules/@rollup/rollup-darwin-x64": {
-            "version": "4.40.0",
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.0.tgz",
-            "integrity": "sha512-CoLEGJ+2eheqD9KBSxmma6ld01czS52Iw0e2qMZNpPDlf7Z9mj8xmMemxEucinev4LgHalDPczMyxzbq+Q+EtA==",
+            "version": "4.43.0",
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.43.0.tgz",
+            "integrity": "sha512-SYwXJgaBYW33Wi/q4ubN+ldWC4DzQY62S4Ll2dgfr/dbPoF50dlQwEaEHSKrQdSjC6oIe1WgzosoaNoHCdNuMg==",
             "cpu": [
                 "x64"
             ],
@@ -2216,9 +2238,9 @@
             ]
         },
         "node_modules/@rollup/rollup-freebsd-arm64": {
-            "version": "4.40.0",
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.0.tgz",
-            "integrity": "sha512-r7yGiS4HN/kibvESzmrOB/PxKMhPTlz+FcGvoUIKYoTyGd5toHp48g1uZy1o1xQvybwwpqpe010JrcGG2s5nkg==",
+            "version": "4.43.0",
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.43.0.tgz",
+            "integrity": "sha512-SV+U5sSo0yujrjzBF7/YidieK2iF6E7MdF6EbYxNz94lA+R0wKl3SiixGyG/9Klab6uNBIqsN7j4Y/Fya7wAjQ==",
             "cpu": [
                 "arm64"
             ],
@@ -2230,9 +2252,9 @@
             ]
         },
         "node_modules/@rollup/rollup-freebsd-x64": {
-            "version": "4.40.0",
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.0.tgz",
-            "integrity": "sha512-mVDxzlf0oLzV3oZOr0SMJ0lSDd3xC4CmnWJ8Val8isp9jRGl5Dq//LLDSPFrasS7pSm6m5xAcKaw3sHXhBjoRw==",
+            "version": "4.43.0",
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.43.0.tgz",
+            "integrity": "sha512-J7uCsiV13L/VOeHJBo5SjasKiGxJ0g+nQTrBkAsmQBIdil3KhPnSE9GnRon4ejX1XDdsmK/l30IYLiAaQEO0Cg==",
             "cpu": [
                 "x64"
             ],
@@ -2244,9 +2266,9 @@
             ]
         },
         "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
-            "version": "4.40.0",
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.0.tgz",
-            "integrity": "sha512-y/qUMOpJxBMy8xCXD++jeu8t7kzjlOCkoxxajL58G62PJGBZVl/Gwpm7JK9+YvlB701rcQTzjUZ1JgUoPTnoQA==",
+            "version": "4.43.0",
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.43.0.tgz",
+            "integrity": "sha512-gTJ/JnnjCMc15uwB10TTATBEhK9meBIY+gXP4s0sHD1zHOaIh4Dmy1X9wup18IiY9tTNk5gJc4yx9ctj/fjrIw==",
             "cpu": [
                 "arm"
             ],
@@ -2258,9 +2280,9 @@
             ]
         },
         "node_modules/@rollup/rollup-linux-arm-musleabihf": {
-            "version": "4.40.0",
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.0.tgz",
-            "integrity": "sha512-GoCsPibtVdJFPv/BOIvBKO/XmwZLwaNWdyD8TKlXuqp0veo2sHE+A/vpMQ5iSArRUz/uaoj4h5S6Pn0+PdhRjg==",
+            "version": "4.43.0",
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.43.0.tgz",
+            "integrity": "sha512-ZJ3gZynL1LDSIvRfz0qXtTNs56n5DI2Mq+WACWZ7yGHFUEirHBRt7fyIk0NsCKhmRhn7WAcjgSkSVVxKlPNFFw==",
             "cpu": [
                 "arm"
             ],
@@ -2272,9 +2294,9 @@
             ]
         },
         "node_modules/@rollup/rollup-linux-arm64-gnu": {
-            "version": "4.40.0",
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.0.tgz",
-            "integrity": "sha512-L5ZLphTjjAD9leJzSLI7rr8fNqJMlGDKlazW2tX4IUF9P7R5TMQPElpH82Q7eNIDQnQlAyiNVfRPfP2vM5Avvg==",
+            "version": "4.43.0",
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.43.0.tgz",
+            "integrity": "sha512-8FnkipasmOOSSlfucGYEu58U8cxEdhziKjPD2FIa0ONVMxvl/hmONtX/7y4vGjdUhjcTHlKlDhw3H9t98fPvyA==",
             "cpu": [
                 "arm64"
             ],
@@ -2286,9 +2308,9 @@
             ]
         },
         "node_modules/@rollup/rollup-linux-arm64-musl": {
-            "version": "4.40.0",
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.0.tgz",
-            "integrity": "sha512-ATZvCRGCDtv1Y4gpDIXsS+wfFeFuLwVxyUBSLawjgXK2tRE6fnsQEkE4csQQYWlBlsFztRzCnBvWVfcae/1qxQ==",
+            "version": "4.43.0",
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.43.0.tgz",
+            "integrity": "sha512-KPPyAdlcIZ6S9C3S2cndXDkV0Bb1OSMsX0Eelr2Bay4EsF9yi9u9uzc9RniK3mcUGCLhWY9oLr6er80P5DE6XA==",
             "cpu": [
                 "arm64"
             ],
@@ -2300,9 +2322,9 @@
             ]
         },
         "node_modules/@rollup/rollup-linux-loongarch64-gnu": {
-            "version": "4.40.0",
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.0.tgz",
-            "integrity": "sha512-wG9e2XtIhd++QugU5MD9i7OnpaVb08ji3P1y/hNbxrQ3sYEelKJOq1UJ5dXczeo6Hj2rfDEL5GdtkMSVLa/AOg==",
+            "version": "4.43.0",
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.43.0.tgz",
+            "integrity": "sha512-HPGDIH0/ZzAZjvtlXj6g+KDQ9ZMHfSP553za7o2Odegb/BEfwJcR0Sw0RLNpQ9nC6Gy8s+3mSS9xjZ0n3rhcYg==",
             "cpu": [
                 "loong64"
             ],
@@ -2314,9 +2336,9 @@
             ]
         },
         "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
-            "version": "4.40.0",
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.0.tgz",
-            "integrity": "sha512-vgXfWmj0f3jAUvC7TZSU/m/cOE558ILWDzS7jBhiCAFpY2WEBn5jqgbqvmzlMjtp8KlLcBlXVD2mkTSEQE6Ixw==",
+            "version": "4.43.0",
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.43.0.tgz",
+            "integrity": "sha512-gEmwbOws4U4GLAJDhhtSPWPXUzDfMRedT3hFMyRAvM9Mrnj+dJIFIeL7otsv2WF3D7GrV0GIewW0y28dOYWkmw==",
             "cpu": [
                 "ppc64"
             ],
@@ -2328,9 +2350,9 @@
             ]
         },
         "node_modules/@rollup/rollup-linux-riscv64-gnu": {
-            "version": "4.40.0",
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.0.tgz",
-            "integrity": "sha512-uJkYTugqtPZBS3Z136arevt/FsKTF/J9dEMTX/cwR7lsAW4bShzI2R0pJVw+hcBTWF4dxVckYh72Hk3/hWNKvA==",
+            "version": "4.43.0",
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.43.0.tgz",
+            "integrity": "sha512-XXKvo2e+wFtXZF/9xoWohHg+MuRnvO29TI5Hqe9xwN5uN8NKUYy7tXUG3EZAlfchufNCTHNGjEx7uN78KsBo0g==",
             "cpu": [
                 "riscv64"
             ],
@@ -2342,9 +2364,9 @@
             ]
         },
         "node_modules/@rollup/rollup-linux-riscv64-musl": {
-            "version": "4.40.0",
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.0.tgz",
-            "integrity": "sha512-rKmSj6EXQRnhSkE22+WvrqOqRtk733x3p5sWpZilhmjnkHkpeCgWsFFo0dGnUGeA+OZjRl3+VYq+HyCOEuwcxQ==",
+            "version": "4.43.0",
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.43.0.tgz",
+            "integrity": "sha512-ruf3hPWhjw6uDFsOAzmbNIvlXFXlBQ4nk57Sec8E8rUxs/AI4HD6xmiiasOOx/3QxS2f5eQMKTAwk7KHwpzr/Q==",
             "cpu": [
                 "riscv64"
             ],
@@ -2356,9 +2378,9 @@
             ]
         },
         "node_modules/@rollup/rollup-linux-s390x-gnu": {
-            "version": "4.40.0",
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.0.tgz",
-            "integrity": "sha512-SpnYlAfKPOoVsQqmTFJ0usx0z84bzGOS9anAC0AZ3rdSo3snecihbhFTlJZ8XMwzqAcodjFU4+/SM311dqE5Sw==",
+            "version": "4.43.0",
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.43.0.tgz",
+            "integrity": "sha512-QmNIAqDiEMEvFV15rsSnjoSmO0+eJLoKRD9EAa9rrYNwO/XRCtOGM3A5A0X+wmG+XRrw9Fxdsw+LnyYiZWWcVw==",
             "cpu": [
                 "s390x"
             ],
@@ -2370,9 +2392,9 @@
             ]
         },
         "node_modules/@rollup/rollup-linux-x64-gnu": {
-            "version": "4.40.0",
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.0.tgz",
-            "integrity": "sha512-RcDGMtqF9EFN8i2RYN2W+64CdHruJ5rPqrlYw+cgM3uOVPSsnAQps7cpjXe9be/yDp8UC7VLoCoKC8J3Kn2FkQ==",
+            "version": "4.43.0",
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.43.0.tgz",
+            "integrity": "sha512-jAHr/S0iiBtFyzjhOkAics/2SrXE092qyqEg96e90L3t9Op8OTzS6+IX0Fy5wCt2+KqeHAkti+eitV0wvblEoQ==",
             "cpu": [
                 "x64"
             ],
@@ -2384,9 +2406,9 @@
             ]
         },
         "node_modules/@rollup/rollup-linux-x64-musl": {
-            "version": "4.40.0",
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.0.tgz",
-            "integrity": "sha512-HZvjpiUmSNx5zFgwtQAV1GaGazT2RWvqeDi0hV+AtC8unqqDSsaFjPxfsO6qPtKRRg25SisACWnJ37Yio8ttaw==",
+            "version": "4.43.0",
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.43.0.tgz",
+            "integrity": "sha512-3yATWgdeXyuHtBhrLt98w+5fKurdqvs8B53LaoKD7P7H7FKOONLsBVMNl9ghPQZQuYcceV5CDyPfyfGpMWD9mQ==",
             "cpu": [
                 "x64"
             ],
@@ -2398,9 +2420,9 @@
             ]
         },
         "node_modules/@rollup/rollup-win32-arm64-msvc": {
-            "version": "4.40.0",
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.0.tgz",
-            "integrity": "sha512-UtZQQI5k/b8d7d3i9AZmA/t+Q4tk3hOC0tMOMSq2GlMYOfxbesxG4mJSeDp0EHs30N9bsfwUvs3zF4v/RzOeTQ==",
+            "version": "4.43.0",
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.43.0.tgz",
+            "integrity": "sha512-wVzXp2qDSCOpcBCT5WRWLmpJRIzv23valvcTwMHEobkjippNf+C3ys/+wf07poPkeNix0paTNemB2XrHr2TnGw==",
             "cpu": [
                 "arm64"
             ],
@@ -2412,9 +2434,9 @@
             ]
         },
         "node_modules/@rollup/rollup-win32-ia32-msvc": {
-            "version": "4.40.0",
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.0.tgz",
-            "integrity": "sha512-+m03kvI2f5syIqHXCZLPVYplP8pQch9JHyXKZ3AGMKlg8dCyr2PKHjwRLiW53LTrN/Nc3EqHOKxUxzoSPdKddA==",
+            "version": "4.43.0",
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.43.0.tgz",
+            "integrity": "sha512-fYCTEyzf8d+7diCw8b+asvWDCLMjsCEA8alvtAutqJOJp/wL5hs1rWSqJ1vkjgW0L2NB4bsYJrpKkiIPRR9dvw==",
             "cpu": [
                 "ia32"
             ],
@@ -2426,9 +2448,9 @@
             ]
         },
         "node_modules/@rollup/rollup-win32-x64-msvc": {
-            "version": "4.40.0",
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.0.tgz",
-            "integrity": "sha512-lpPE1cLfP5oPzVjKMx10pgBmKELQnFJXHgvtHCtuJWOv8MxqdEIMNtgHgBFf7Ea2/7EuVwa9fodWUfXAlXZLZQ==",
+            "version": "4.43.0",
+            "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.43.0.tgz",
+            "integrity": "sha512-SnGhLiE5rlK0ofq8kzuDkM0g7FN1s5VYY+YSMTibP7CqShxCQvqtNxTARS4xX4PFJfHjG0ZQYX9iGzI3FQh5Aw==",
             "cpu": [
                 "x64"
             ],
@@ -2552,9 +2574,9 @@
             }
         },
         "node_modules/@types/estree": {
-            "version": "1.0.7",
-            "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz",
-            "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==",
+            "version": "1.0.8",
+            "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
+            "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
             "dev": true,
             "license": "MIT"
         },
@@ -2572,9 +2594,9 @@
             "license": "MIT"
         },
         "node_modules/@types/node": {
-            "version": "22.14.1",
-            "resolved": "https://registry.npmjs.org/@types/node/-/node-22.14.1.tgz",
-            "integrity": "sha512-u0HuPQwe/dHrItgHHpmw3N2fYCR6x4ivMNbPHRkBVP4CvN+kiRrKHWk3i8tXiO/joPwXLMYvF9TTF0eqgHIuOw==",
+            "version": "22.15.32",
+            "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.32.tgz",
+            "integrity": "sha512-3jigKqgSjsH6gYZv2nEsqdXfZqIFGAV36XYYjf9KGZ3PSG+IhLecqPnI310RvjutyMwifE2hhhNEklOUrvx/wA==",
             "dev": true,
             "license": "MIT",
             "dependencies": {
@@ -2582,16 +2604,16 @@
             }
         },
         "node_modules/@types/prop-types": {
-            "version": "15.7.14",
-            "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz",
-            "integrity": "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==",
+            "version": "15.7.15",
+            "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz",
+            "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==",
             "devOptional": true,
             "license": "MIT"
         },
         "node_modules/@types/react": {
-            "version": "18.3.20",
-            "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.20.tgz",
-            "integrity": "sha512-IPaCZN7PShZK/3t6Q87pfTkRm6oLTd4vztyoj+cbHUF1g3FfVb2tFIL79uCRKEfv16AhqDMBywP2VW3KIZUvcg==",
+            "version": "18.3.23",
+            "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.23.tgz",
+            "integrity": "sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==",
             "devOptional": true,
             "license": "MIT",
             "dependencies": {
@@ -2600,9 +2622,9 @@
             }
         },
         "node_modules/@types/react-dom": {
-            "version": "18.3.6",
-            "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.6.tgz",
-            "integrity": "sha512-nf22//wEbKXusP6E9pfOCDwFdHAX4u172eaJI4YkDRQEZiorm6KfYnSC2SWLDMVWUOWPERmJnN0ujeAfTBLvrw==",
+            "version": "18.3.7",
+            "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz",
+            "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==",
             "devOptional": true,
             "license": "MIT",
             "peerDependencies": {
@@ -2617,21 +2639,21 @@
             "license": "MIT"
         },
         "node_modules/@typescript-eslint/eslint-plugin": {
-            "version": "8.31.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.31.0.tgz",
-            "integrity": "sha512-evaQJZ/J/S4wisevDvC1KFZkPzRetH8kYZbkgcTRyql3mcKsf+ZFDV1BVWUGTCAW5pQHoqn5gK5b8kn7ou9aFQ==",
+            "version": "8.34.1",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.34.1.tgz",
+            "integrity": "sha512-STXcN6ebF6li4PxwNeFnqF8/2BNDvBupf2OPx2yWNzr6mKNGF7q49VM00Pz5FaomJyqvbXpY6PhO+T9w139YEQ==",
             "dev": true,
             "license": "MIT",
             "dependencies": {
                 "@eslint-community/regexpp": "^4.10.0",
-                "@typescript-eslint/scope-manager": "8.31.0",
-                "@typescript-eslint/type-utils": "8.31.0",
-                "@typescript-eslint/utils": "8.31.0",
-                "@typescript-eslint/visitor-keys": "8.31.0",
+                "@typescript-eslint/scope-manager": "8.34.1",
+                "@typescript-eslint/type-utils": "8.34.1",
+                "@typescript-eslint/utils": "8.34.1",
+                "@typescript-eslint/visitor-keys": "8.34.1",
                 "graphemer": "^1.4.0",
-                "ignore": "^5.3.1",
+                "ignore": "^7.0.0",
                 "natural-compare": "^1.4.0",
-                "ts-api-utils": "^2.0.1"
+                "ts-api-utils": "^2.1.0"
             },
             "engines": {
                 "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2641,22 +2663,32 @@
                 "url": "https://opencollective.com/typescript-eslint"
             },
             "peerDependencies": {
-                "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0",
+                "@typescript-eslint/parser": "^8.34.1",
                 "eslint": "^8.57.0 || ^9.0.0",
                 "typescript": ">=4.8.4 <5.9.0"
             }
         },
+        "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": {
+            "version": "7.0.5",
+            "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
+            "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
+            "dev": true,
+            "license": "MIT",
+            "engines": {
+                "node": ">= 4"
+            }
+        },
         "node_modules/@typescript-eslint/parser": {
-            "version": "8.31.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.31.0.tgz",
-            "integrity": "sha512-67kYYShjBR0jNI5vsf/c3WG4u+zDnCTHTPqVMQguffaWWFs7artgwKmfwdifl+r6XyM5LYLas/dInj2T0SgJyw==",
+            "version": "8.34.1",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.34.1.tgz",
+            "integrity": "sha512-4O3idHxhyzjClSMJ0a29AcoK0+YwnEqzI6oz3vlRf3xw0zbzt15MzXwItOlnr5nIth6zlY2RENLsOPvhyrKAQA==",
             "dev": true,
             "license": "MIT",
             "dependencies": {
-                "@typescript-eslint/scope-manager": "8.31.0",
-                "@typescript-eslint/types": "8.31.0",
-                "@typescript-eslint/typescript-estree": "8.31.0",
-                "@typescript-eslint/visitor-keys": "8.31.0",
+                "@typescript-eslint/scope-manager": "8.34.1",
+                "@typescript-eslint/types": "8.34.1",
+                "@typescript-eslint/typescript-estree": "8.34.1",
+                "@typescript-eslint/visitor-keys": "8.34.1",
                 "debug": "^4.3.4"
             },
             "engines": {
@@ -2671,15 +2703,37 @@
                 "typescript": ">=4.8.4 <5.9.0"
             }
         },
-        "node_modules/@typescript-eslint/scope-manager": {
-            "version": "8.31.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.31.0.tgz",
-            "integrity": "sha512-knO8UyF78Nt8O/B64i7TlGXod69ko7z6vJD9uhSlm0qkAbGeRUSudcm0+K/4CrRjrpiHfBCjMWlc08Vav1xwcw==",
+        "node_modules/@typescript-eslint/project-service": {
+            "version": "8.34.1",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.34.1.tgz",
+            "integrity": "sha512-nuHlOmFZfuRwLJKDGQOVc0xnQrAmuq1Mj/ISou5044y1ajGNp2BNliIqp7F2LPQ5sForz8lempMFCovfeS1XoA==",
             "dev": true,
             "license": "MIT",
             "dependencies": {
-                "@typescript-eslint/types": "8.31.0",
-                "@typescript-eslint/visitor-keys": "8.31.0"
+                "@typescript-eslint/tsconfig-utils": "^8.34.1",
+                "@typescript-eslint/types": "^8.34.1",
+                "debug": "^4.3.4"
+            },
+            "engines": {
+                "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+            },
+            "funding": {
+                "type": "opencollective",
+                "url": "https://opencollective.com/typescript-eslint"
+            },
+            "peerDependencies": {
+                "typescript": ">=4.8.4 <5.9.0"
+            }
+        },
+        "node_modules/@typescript-eslint/scope-manager": {
+            "version": "8.34.1",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.34.1.tgz",
+            "integrity": "sha512-beu6o6QY4hJAgL1E8RaXNC071G4Kso2MGmJskCFQhRhg8VOH/FDbC8soP8NHN7e/Hdphwp8G8cE6OBzC8o41ZA==",
+            "dev": true,
+            "license": "MIT",
+            "dependencies": {
+                "@typescript-eslint/types": "8.34.1",
+                "@typescript-eslint/visitor-keys": "8.34.1"
             },
             "engines": {
                 "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2689,17 +2743,34 @@
                 "url": "https://opencollective.com/typescript-eslint"
             }
         },
+        "node_modules/@typescript-eslint/tsconfig-utils": {
+            "version": "8.34.1",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.34.1.tgz",
+            "integrity": "sha512-K4Sjdo4/xF9NEeA2khOb7Y5nY6NSXBnod87uniVYW9kHP+hNlDV8trUSFeynA2uxWam4gIWgWoygPrv9VMWrYg==",
+            "dev": true,
+            "license": "MIT",
+            "engines": {
+                "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+            },
+            "funding": {
+                "type": "opencollective",
+                "url": "https://opencollective.com/typescript-eslint"
+            },
+            "peerDependencies": {
+                "typescript": ">=4.8.4 <5.9.0"
+            }
+        },
         "node_modules/@typescript-eslint/type-utils": {
-            "version": "8.31.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.31.0.tgz",
-            "integrity": "sha512-DJ1N1GdjI7IS7uRlzJuEDCgDQix3ZVYVtgeWEyhyn4iaoitpMBX6Ndd488mXSx0xah/cONAkEaYyylDyAeHMHg==",
+            "version": "8.34.1",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.34.1.tgz",
+            "integrity": "sha512-Tv7tCCr6e5m8hP4+xFugcrwTOucB8lshffJ6zf1mF1TbU67R+ntCc6DzLNKM+s/uzDyv8gLq7tufaAhIBYeV8g==",
             "dev": true,
             "license": "MIT",
             "dependencies": {
-                "@typescript-eslint/typescript-estree": "8.31.0",
-                "@typescript-eslint/utils": "8.31.0",
+                "@typescript-eslint/typescript-estree": "8.34.1",
+                "@typescript-eslint/utils": "8.34.1",
                 "debug": "^4.3.4",
-                "ts-api-utils": "^2.0.1"
+                "ts-api-utils": "^2.1.0"
             },
             "engines": {
                 "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2714,9 +2785,9 @@
             }
         },
         "node_modules/@typescript-eslint/types": {
-            "version": "8.31.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.31.0.tgz",
-            "integrity": "sha512-Ch8oSjVyYyJxPQk8pMiP2FFGYatqXQfQIaMp+TpuuLlDachRWpUAeEu1u9B/v/8LToehUIWyiKcA/w5hUFRKuQ==",
+            "version": "8.34.1",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.34.1.tgz",
+            "integrity": "sha512-rjLVbmE7HR18kDsjNIZQHxmv9RZwlgzavryL5Lnj2ujIRTeXlKtILHgRNmQ3j4daw7zd+mQgy+uyt6Zo6I0IGA==",
             "dev": true,
             "license": "MIT",
             "engines": {
@@ -2728,20 +2799,22 @@
             }
         },
         "node_modules/@typescript-eslint/typescript-estree": {
-            "version": "8.31.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.31.0.tgz",
-            "integrity": "sha512-xLmgn4Yl46xi6aDSZ9KkyfhhtnYI15/CvHbpOy/eR5NWhK/BK8wc709KKwhAR0m4ZKRP7h07bm4BWUYOCuRpQQ==",
+            "version": "8.34.1",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.34.1.tgz",
+            "integrity": "sha512-rjCNqqYPuMUF5ODD+hWBNmOitjBWghkGKJg6hiCHzUvXRy6rK22Jd3rwbP2Xi+R7oYVvIKhokHVhH41BxPV5mA==",
             "dev": true,
             "license": "MIT",
             "dependencies": {
-                "@typescript-eslint/types": "8.31.0",
-                "@typescript-eslint/visitor-keys": "8.31.0",
+                "@typescript-eslint/project-service": "8.34.1",
+                "@typescript-eslint/tsconfig-utils": "8.34.1",
+                "@typescript-eslint/types": "8.34.1",
+                "@typescript-eslint/visitor-keys": "8.34.1",
                 "debug": "^4.3.4",
                 "fast-glob": "^3.3.2",
                 "is-glob": "^4.0.3",
                 "minimatch": "^9.0.4",
                 "semver": "^7.6.0",
-                "ts-api-utils": "^2.0.1"
+                "ts-api-utils": "^2.1.0"
             },
             "engines": {
                 "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2755,9 +2828,9 @@
             }
         },
         "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
-            "version": "2.0.1",
-            "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
-            "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+            "version": "2.0.2",
+            "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+            "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
             "dev": true,
             "license": "MIT",
             "dependencies": {
@@ -2781,9 +2854,9 @@
             }
         },
         "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": {
-            "version": "7.7.1",
-            "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
-            "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==",
+            "version": "7.7.2",
+            "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+            "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
             "dev": true,
             "license": "ISC",
             "bin": {
@@ -2794,16 +2867,16 @@
             }
         },
         "node_modules/@typescript-eslint/utils": {
-            "version": "8.31.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.31.0.tgz",
-            "integrity": "sha512-qi6uPLt9cjTFxAb1zGNgTob4x9ur7xC6mHQJ8GwEzGMGE9tYniublmJaowOJ9V2jUzxrltTPfdG2nKlWsq0+Ww==",
+            "version": "8.34.1",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.34.1.tgz",
+            "integrity": "sha512-mqOwUdZ3KjtGk7xJJnLbHxTuWVn3GO2WZZuM+Slhkun4+qthLdXx32C8xIXbO1kfCECb3jIs3eoxK3eryk7aoQ==",
             "dev": true,
             "license": "MIT",
             "dependencies": {
-                "@eslint-community/eslint-utils": "^4.4.0",
-                "@typescript-eslint/scope-manager": "8.31.0",
-                "@typescript-eslint/types": "8.31.0",
-                "@typescript-eslint/typescript-estree": "8.31.0"
+                "@eslint-community/eslint-utils": "^4.7.0",
+                "@typescript-eslint/scope-manager": "8.34.1",
+                "@typescript-eslint/types": "8.34.1",
+                "@typescript-eslint/typescript-estree": "8.34.1"
             },
             "engines": {
                 "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2818,14 +2891,14 @@
             }
         },
         "node_modules/@typescript-eslint/visitor-keys": {
-            "version": "8.31.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.31.0.tgz",
-            "integrity": "sha512-QcGHmlRHWOl93o64ZUMNewCdwKGU6WItOU52H0djgNmn1EOrhVudrDzXz4OycCRSCPwFCDrE2iIt5vmuUdHxuQ==",
+            "version": "8.34.1",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.34.1.tgz",
+            "integrity": "sha512-xoh5rJ+tgsRKoXnkBPFRLZ7rjKM0AfVbC68UZ/ECXoDbfggb9RbEySN359acY1vS3qZ0jVTVWzbtfapwm5ztxw==",
             "dev": true,
             "license": "MIT",
             "dependencies": {
-                "@typescript-eslint/types": "8.31.0",
-                "eslint-visitor-keys": "^4.2.0"
+                "@typescript-eslint/types": "8.34.1",
+                "eslint-visitor-keys": "^4.2.1"
             },
             "engines": {
                 "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2836,15 +2909,16 @@
             }
         },
         "node_modules/@vitejs/plugin-react": {
-            "version": "4.4.1",
-            "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.4.1.tgz",
-            "integrity": "sha512-IpEm5ZmeXAP/osiBXVVP5KjFMzbWOonMs0NaQQl+xYnUAcq4oHUBsF2+p4MgKWG4YMmFYJU8A6sxRPuowllm6w==",
+            "version": "4.5.2",
+            "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.5.2.tgz",
+            "integrity": "sha512-QNVT3/Lxx99nMQWJWF7K4N6apUEuT0KlZA3mx/mVaoGj3smm/8rc8ezz15J1pcbcjDK0V15rpHetVfya08r76Q==",
             "dev": true,
             "license": "MIT",
             "dependencies": {
-                "@babel/core": "^7.26.10",
-                "@babel/plugin-transform-react-jsx-self": "^7.25.9",
-                "@babel/plugin-transform-react-jsx-source": "^7.25.9",
+                "@babel/core": "^7.27.4",
+                "@babel/plugin-transform-react-jsx-self": "^7.27.1",
+                "@babel/plugin-transform-react-jsx-source": "^7.27.1",
+                "@rolldown/pluginutils": "1.0.0-beta.11",
                 "@types/babel__core": "^7.20.5",
                 "react-refresh": "^0.17.0"
             },
@@ -2852,7 +2926,7 @@
                 "node": "^14.18.0 || >=16.0.0"
             },
             "peerDependencies": {
-                "vite": "^4.2.0 || ^5.0.0 || ^6.0.0"
+                "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0"
             }
         },
         "node_modules/@xterm/addon-attach": {
@@ -2880,9 +2954,9 @@
             "license": "MIT"
         },
         "node_modules/acorn": {
-            "version": "8.14.1",
-            "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz",
-            "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==",
+            "version": "8.15.0",
+            "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
+            "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
             "dev": true,
             "license": "MIT",
             "bin": {
@@ -2979,9 +3053,9 @@
             "license": "Python-2.0"
         },
         "node_modules/aria-hidden": {
-            "version": "1.2.4",
-            "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.4.tgz",
-            "integrity": "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==",
+            "version": "1.2.6",
+            "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz",
+            "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==",
             "license": "MIT",
             "dependencies": {
                 "tslib": "^2.0.0"
@@ -3047,9 +3121,9 @@
             }
         },
         "node_modules/brace-expansion": {
-            "version": "1.1.11",
-            "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
-            "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+            "version": "1.1.12",
+            "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
+            "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
             "dev": true,
             "license": "MIT",
             "dependencies": {
@@ -3070,9 +3144,9 @@
             }
         },
         "node_modules/browserslist": {
-            "version": "4.24.4",
-            "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz",
-            "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==",
+            "version": "4.25.0",
+            "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.0.tgz",
+            "integrity": "sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==",
             "dev": true,
             "funding": [
                 {
@@ -3090,10 +3164,10 @@
             ],
             "license": "MIT",
             "dependencies": {
-                "caniuse-lite": "^1.0.30001688",
-                "electron-to-chromium": "^1.5.73",
+                "caniuse-lite": "^1.0.30001718",
+                "electron-to-chromium": "^1.5.160",
                 "node-releases": "^2.0.19",
-                "update-browserslist-db": "^1.1.1"
+                "update-browserslist-db": "^1.1.3"
             },
             "bin": {
                 "browserslist": "cli.js"
@@ -3103,17 +3177,17 @@
             }
         },
         "node_modules/c12": {
-            "version": "3.0.3",
-            "resolved": "https://registry.npmjs.org/c12/-/c12-3.0.3.tgz",
-            "integrity": "sha512-uC3MacKBb0Z15o5QWCHvHWj5Zv34pGQj9P+iXKSpTuSGFS0KKhUWf4t9AJ+gWjYOdmWCPEGpEzm8sS0iqbpo1w==",
+            "version": "3.0.4",
+            "resolved": "https://registry.npmjs.org/c12/-/c12-3.0.4.tgz",
+            "integrity": "sha512-t5FaZTYbbCtvxuZq9xxIruYydrAGsJ+8UdP0pZzMiK2xl/gNiSOy0OxhLzHUEEb0m1QXYqfzfvyIFEmz/g9lqg==",
             "dev": true,
             "license": "MIT",
             "dependencies": {
                 "chokidar": "^4.0.3",
                 "confbox": "^0.2.2",
                 "defu": "^6.1.4",
-                "dotenv": "^16.4.7",
-                "exsolve": "^1.0.4",
+                "dotenv": "^16.5.0",
+                "exsolve": "^1.0.5",
                 "giget": "^2.0.0",
                 "jiti": "^2.4.2",
                 "ohash": "^2.0.11",
@@ -3158,9 +3232,9 @@
             }
         },
         "node_modules/caniuse-lite": {
-            "version": "1.0.30001715",
-            "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001715.tgz",
-            "integrity": "sha512-7ptkFGMm2OAOgvZpwgA4yjQ5SQbrNVGdRjzH0pBdy1Fasvcr+KAeECmbCAECzTuDuoX0FCY8KzUxjf9+9kfZEw==",
+            "version": "1.0.30001723",
+            "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001723.tgz",
+            "integrity": "sha512-1R/elMjtehrFejxwmexeXAtae5UO9iSyFn6G/I806CYC/BLyyBk1EPhrKBkWhy6wM6Xnm47dSJQec+tLJ39WHw==",
             "dev": true,
             "funding": [
                 {
@@ -3446,9 +3520,9 @@
             "license": "MIT"
         },
         "node_modules/debug": {
-            "version": "4.4.0",
-            "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
-            "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
+            "version": "4.4.1",
+            "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
+            "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
             "license": "MIT",
             "dependencies": {
                 "ms": "^2.1.3"
@@ -3530,9 +3604,9 @@
             "license": "MIT"
         },
         "node_modules/electron-to-chromium": {
-            "version": "1.5.140",
-            "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.140.tgz",
-            "integrity": "sha512-o82Rj+ONp4Ip7Cl1r7lrqx/pXhbp/lh9DpKcMNscFJdh8ebyRofnc7Sh01B4jx403RI0oqTBvlZ7OBIZLMr2+Q==",
+            "version": "1.5.168",
+            "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.168.tgz",
+            "integrity": "sha512-RUNQmFLNIWVW6+z32EJQ5+qx8ci6RGvdtDC0Ls+F89wz6I2AthpXF0w0DIrn2jpLX0/PU9ZCo+Qp7bg/EckJmA==",
             "dev": true,
             "license": "ISC"
         },
@@ -3550,9 +3624,9 @@
             "license": "MIT"
         },
         "node_modules/esbuild": {
-            "version": "0.25.2",
-            "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.2.tgz",
-            "integrity": "sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==",
+            "version": "0.25.5",
+            "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.5.tgz",
+            "integrity": "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==",
             "dev": true,
             "hasInstallScript": true,
             "license": "MIT",
@@ -3563,31 +3637,31 @@
                 "node": ">=18"
             },
             "optionalDependencies": {
-                "@esbuild/aix-ppc64": "0.25.2",
-                "@esbuild/android-arm": "0.25.2",
-                "@esbuild/android-arm64": "0.25.2",
-                "@esbuild/android-x64": "0.25.2",
-                "@esbuild/darwin-arm64": "0.25.2",
-                "@esbuild/darwin-x64": "0.25.2",
-                "@esbuild/freebsd-arm64": "0.25.2",
-                "@esbuild/freebsd-x64": "0.25.2",
-                "@esbuild/linux-arm": "0.25.2",
-                "@esbuild/linux-arm64": "0.25.2",
-                "@esbuild/linux-ia32": "0.25.2",
-                "@esbuild/linux-loong64": "0.25.2",
-                "@esbuild/linux-mips64el": "0.25.2",
-                "@esbuild/linux-ppc64": "0.25.2",
-                "@esbuild/linux-riscv64": "0.25.2",
-                "@esbuild/linux-s390x": "0.25.2",
-                "@esbuild/linux-x64": "0.25.2",
-                "@esbuild/netbsd-arm64": "0.25.2",
-                "@esbuild/netbsd-x64": "0.25.2",
-                "@esbuild/openbsd-arm64": "0.25.2",
-                "@esbuild/openbsd-x64": "0.25.2",
-                "@esbuild/sunos-x64": "0.25.2",
-                "@esbuild/win32-arm64": "0.25.2",
-                "@esbuild/win32-ia32": "0.25.2",
-                "@esbuild/win32-x64": "0.25.2"
+                "@esbuild/aix-ppc64": "0.25.5",
+                "@esbuild/android-arm": "0.25.5",
+                "@esbuild/android-arm64": "0.25.5",
+                "@esbuild/android-x64": "0.25.5",
+                "@esbuild/darwin-arm64": "0.25.5",
+                "@esbuild/darwin-x64": "0.25.5",
+                "@esbuild/freebsd-arm64": "0.25.5",
+                "@esbuild/freebsd-x64": "0.25.5",
+                "@esbuild/linux-arm": "0.25.5",
+                "@esbuild/linux-arm64": "0.25.5",
+                "@esbuild/linux-ia32": "0.25.5",
+                "@esbuild/linux-loong64": "0.25.5",
+                "@esbuild/linux-mips64el": "0.25.5",
+                "@esbuild/linux-ppc64": "0.25.5",
+                "@esbuild/linux-riscv64": "0.25.5",
+                "@esbuild/linux-s390x": "0.25.5",
+                "@esbuild/linux-x64": "0.25.5",
+                "@esbuild/netbsd-arm64": "0.25.5",
+                "@esbuild/netbsd-x64": "0.25.5",
+                "@esbuild/openbsd-arm64": "0.25.5",
+                "@esbuild/openbsd-x64": "0.25.5",
+                "@esbuild/sunos-x64": "0.25.5",
+                "@esbuild/win32-arm64": "0.25.5",
+                "@esbuild/win32-ia32": "0.25.5",
+                "@esbuild/win32-x64": "0.25.5"
             }
         },
         "node_modules/escalade": {
@@ -3614,20 +3688,20 @@
             }
         },
         "node_modules/eslint": {
-            "version": "9.25.1",
-            "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.25.1.tgz",
-            "integrity": "sha512-E6Mtz9oGQWDCpV12319d59n4tx9zOTXSTmc8BLVxBx+G/0RdM5MvEEJLU9c0+aleoePYYgVTOsRblx433qmhWQ==",
+            "version": "9.29.0",
+            "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.29.0.tgz",
+            "integrity": "sha512-GsGizj2Y1rCWDu6XoEekL3RLilp0voSePurjZIkxL3wlm5o5EC9VpgaP7lrCvjnkuLvzFBQWB3vWB3K5KQTveQ==",
             "dev": true,
             "license": "MIT",
             "dependencies": {
                 "@eslint-community/eslint-utils": "^4.2.0",
                 "@eslint-community/regexpp": "^4.12.1",
-                "@eslint/config-array": "^0.20.0",
+                "@eslint/config-array": "^0.20.1",
                 "@eslint/config-helpers": "^0.2.1",
-                "@eslint/core": "^0.13.0",
+                "@eslint/core": "^0.14.0",
                 "@eslint/eslintrc": "^3.3.1",
-                "@eslint/js": "9.25.1",
-                "@eslint/plugin-kit": "^0.2.8",
+                "@eslint/js": "9.29.0",
+                "@eslint/plugin-kit": "^0.3.1",
                 "@humanfs/node": "^0.16.6",
                 "@humanwhocodes/module-importer": "^1.0.1",
                 "@humanwhocodes/retry": "^0.4.2",
@@ -3638,9 +3712,9 @@
                 "cross-spawn": "^7.0.6",
                 "debug": "^4.3.2",
                 "escape-string-regexp": "^4.0.0",
-                "eslint-scope": "^8.3.0",
-                "eslint-visitor-keys": "^4.2.0",
-                "espree": "^10.3.0",
+                "eslint-scope": "^8.4.0",
+                "eslint-visitor-keys": "^4.2.1",
+                "espree": "^10.4.0",
                 "esquery": "^1.5.0",
                 "esutils": "^2.0.2",
                 "fast-deep-equal": "^3.1.3",
@@ -3698,9 +3772,9 @@
             }
         },
         "node_modules/eslint-scope": {
-            "version": "8.3.0",
-            "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz",
-            "integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==",
+            "version": "8.4.0",
+            "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz",
+            "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==",
             "dev": true,
             "license": "BSD-2-Clause",
             "dependencies": {
@@ -3715,9 +3789,9 @@
             }
         },
         "node_modules/eslint-visitor-keys": {
-            "version": "4.2.0",
-            "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz",
-            "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==",
+            "version": "4.2.1",
+            "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
+            "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
             "dev": true,
             "license": "Apache-2.0",
             "engines": {
@@ -3728,15 +3802,15 @@
             }
         },
         "node_modules/espree": {
-            "version": "10.3.0",
-            "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz",
-            "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==",
+            "version": "10.4.0",
+            "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz",
+            "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==",
             "dev": true,
             "license": "BSD-2-Clause",
             "dependencies": {
-                "acorn": "^8.14.0",
+                "acorn": "^8.15.0",
                 "acorn-jsx": "^5.3.2",
-                "eslint-visitor-keys": "^4.2.0"
+                "eslint-visitor-keys": "^4.2.1"
             },
             "engines": {
                 "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -4099,9 +4173,9 @@
             }
         },
         "node_modules/glob/node_modules/brace-expansion": {
-            "version": "2.0.1",
-            "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
-            "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+            "version": "2.0.2",
+            "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+            "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
             "license": "MIT",
             "dependencies": {
                 "balanced-match": "^1.0.0"
@@ -4212,9 +4286,9 @@
             }
         },
         "node_modules/i18next-browser-languagedetector": {
-            "version": "8.0.5",
-            "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-8.0.5.tgz",
-            "integrity": "sha512-OstebRKqKiQw8xEvQF5aRyUujsCatanj7Q9eo5iiH2gJpoXGZ7483ol3sVBwfqbobTQPNH1J+NAyJ1aCQoEC+w==",
+            "version": "8.2.0",
+            "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-8.2.0.tgz",
+            "integrity": "sha512-P+3zEKLnOF0qmiesW383vsLdtQVyKtCNA9cjSoKCppTKPQVfKd2W8hbVo5ZhNJKDqeM7BOcvNoKJOjpHh4Js9g==",
             "license": "MIT",
             "dependencies": {
                 "@babel/runtime": "^7.23.2"
@@ -4361,9 +4435,9 @@
             }
         },
         "node_modules/jotai": {
-            "version": "2.12.3",
-            "resolved": "https://registry.npmjs.org/jotai/-/jotai-2.12.3.tgz",
-            "integrity": "sha512-DpoddSkmPGXMFtdfnoIHfueFeGP643nqYUWC6REjUcME+PG2UkAtYnLbffRDw3OURI9ZUTcRWkRGLsOvxuWMCg==",
+            "version": "2.12.5",
+            "resolved": "https://registry.npmjs.org/jotai/-/jotai-2.12.5.tgz",
+            "integrity": "sha512-G8m32HW3lSmcz/4mbqx0hgJIQ0ekndKWiYP7kWVKi0p6saLXdSoye+FZiOFyonnd7Q482LCzm8sMDl7Ar1NWDw==",
             "license": "MIT",
             "peer": true,
             "engines": {
@@ -5072,9 +5146,9 @@
             }
         },
         "node_modules/postcss": {
-            "version": "8.5.3",
-            "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz",
-            "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==",
+            "version": "8.5.6",
+            "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
+            "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
             "funding": [
                 {
                     "type": "opencollective",
@@ -5091,7 +5165,7 @@
             ],
             "license": "MIT",
             "dependencies": {
-                "nanoid": "^3.3.8",
+                "nanoid": "^3.3.11",
                 "picocolors": "^1.1.1",
                 "source-map-js": "^1.2.1"
             },
@@ -5241,9 +5315,9 @@
             }
         },
         "node_modules/prettier-plugin-tailwindcss": {
-            "version": "0.6.11",
-            "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.6.11.tgz",
-            "integrity": "sha512-YxaYSIvZPAqhrrEpRtonnrXdghZg1irNg4qrjboCXrpybLWVs55cW2N3juhspVJiO0JBvYJT8SYsJpc8OQSnsA==",
+            "version": "0.6.12",
+            "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.6.12.tgz",
+            "integrity": "sha512-OuTQKoqNwV7RnxTPwXWzOFXy6Jc4z8oeRZYGuMpRyG3WbuR3jjXdQFK8qFBMBx8UHWdHrddARz2fgUenild6aw==",
             "license": "MIT",
             "engines": {
                 "node": ">=14.21.3"
@@ -5381,9 +5455,9 @@
             }
         },
         "node_modules/react-hook-form": {
-            "version": "7.56.0",
-            "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.56.0.tgz",
-            "integrity": "sha512-U2QQgx5z2Y8Z0qlXv3W19hWHJgfKdWMz0O/osuY+o+CYq568V2R/JhzC6OAXfR8k24rIN0Muan2Qliaq9eKs/g==",
+            "version": "7.58.0",
+            "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.58.0.tgz",
+            "integrity": "sha512-zGijmEed35oNfOfy7ub99jfjkiLhHwA3dl5AgyKdWC6QQzhnc7tkWewSa+T+A2EpLrc6wo5DUoZctS9kufWJjA==",
             "license": "MIT",
             "engines": {
                 "node": ">=18.0.0"
@@ -5397,17 +5471,18 @@
             }
         },
         "node_modules/react-i18next": {
-            "version": "15.4.1",
-            "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-15.4.1.tgz",
-            "integrity": "sha512-ahGab+IaSgZmNPYXdV1n+OYky95TGpFwnKRflX/16dY04DsYYKHtVLjeny7sBSCREEcoMbAgSkFiGLF5g5Oofw==",
+            "version": "15.5.3",
+            "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-15.5.3.tgz",
+            "integrity": "sha512-ypYmOKOnjqPEJZO4m1BI0kS8kWqkBNsKYyhVUfij0gvjy9xJNoG/VcGkxq5dRlVwzmrmY1BQMAmpbbUBLwC4Kw==",
             "license": "MIT",
             "dependencies": {
-                "@babel/runtime": "^7.25.0",
+                "@babel/runtime": "^7.27.6",
                 "html-parse-stringify": "^3.0.1"
             },
             "peerDependencies": {
                 "i18next": ">= 23.2.3",
-                "react": ">= 16.8.0"
+                "react": ">= 16.8.0",
+                "typescript": "^5"
             },
             "peerDependenciesMeta": {
                 "react-dom": {
@@ -5415,6 +5490,9 @@
                 },
                 "react-native": {
                     "optional": true
+                },
+                "typescript": {
+                    "optional": true
                 }
             }
         },
@@ -5429,9 +5507,9 @@
             }
         },
         "node_modules/react-remove-scroll": {
-            "version": "2.6.3",
-            "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.6.3.tgz",
-            "integrity": "sha512-pnAi91oOk8g8ABQKGF5/M9qxmmOPxaAnopyTHYfqYEwJhyFrbbBtHuSgtKEoH0jpcxx5o3hXqH1mNd9/Oi+8iQ==",
+            "version": "2.7.1",
+            "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.1.tgz",
+            "integrity": "sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA==",
             "license": "MIT",
             "dependencies": {
                 "react-remove-scroll-bar": "^2.3.7",
@@ -5476,14 +5554,13 @@
             }
         },
         "node_modules/react-router": {
-            "version": "7.5.1",
-            "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.5.1.tgz",
-            "integrity": "sha512-/jjU3fcYNd2bwz9Q0xt5TwyiyoO8XjSEFXJY4O/lMAlkGTHWuHRAbR9Etik+lSDqMC7A7mz3UlXzgYT6Vl58sA==",
+            "version": "7.6.2",
+            "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.6.2.tgz",
+            "integrity": "sha512-U7Nv3y+bMimgWjhlT5CRdzHPu2/KVmqPwKUCChW8en5P3znxUqwlYFlbmyj8Rgp1SF6zs5X4+77kBVknkg6a0w==",
             "license": "MIT",
             "dependencies": {
                 "cookie": "^1.0.1",
-                "set-cookie-parser": "^2.6.0",
-                "turbo-stream": "2.4.0"
+                "set-cookie-parser": "^2.6.0"
             },
             "engines": {
                 "node": ">=20.0.0"
@@ -5499,12 +5576,12 @@
             }
         },
         "node_modules/react-router-dom": {
-            "version": "7.5.1",
-            "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.5.1.tgz",
-            "integrity": "sha512-5DPSPc7ENrt2tlKPq0FtpG80ZbqA9aIKEyqX6hSNJDlol/tr6iqCK4crqdsusmOSSotq6zDsn0y3urX9TuTNmA==",
+            "version": "7.6.2",
+            "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.6.2.tgz",
+            "integrity": "sha512-Q8zb6VlTbdYKK5JJBLQEN06oTUa/RAbG/oQS1auK1I0TbJOXktqm+QENEVJU6QvWynlXPRBXI3fiOQcSEA78rA==",
             "license": "MIT",
             "dependencies": {
-                "react-router": "7.5.1"
+                "react-router": "7.6.2"
             },
             "engines": {
                 "node": ">=20.0.0"
@@ -5537,9 +5614,9 @@
             }
         },
         "node_modules/react-virtuoso": {
-            "version": "4.12.6",
-            "resolved": "https://registry.npmjs.org/react-virtuoso/-/react-virtuoso-4.12.6.tgz",
-            "integrity": "sha512-bfvS6aCL1ehXmq39KRiz/vxznGUbtA27I5I24TYCe1DhMf84O3aVNCIwrSjYQjkJGJGzY46ihdN8WkYlemuhMQ==",
+            "version": "4.13.0",
+            "resolved": "https://registry.npmjs.org/react-virtuoso/-/react-virtuoso-4.13.0.tgz",
+            "integrity": "sha512-XHv2Fglpx80yFPdjZkV9d1baACKghg/ucpDFEXwaix7z0AfVQj+mF6lM+YQR6UC/TwzXG2rJKydRMb3+7iV3PA==",
             "license": "MIT",
             "peerDependencies": {
                 "react": ">=16 || >=17 || >= 18 || >= 19",
@@ -5579,12 +5656,6 @@
                 "url": "https://github.com/Mermade/oas-kit?sponsor=1"
             }
         },
-        "node_modules/regenerator-runtime": {
-            "version": "0.14.1",
-            "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
-            "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
-            "license": "MIT"
-        },
         "node_modules/require-directory": {
             "version": "2.1.1",
             "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@@ -5636,9 +5707,9 @@
             }
         },
         "node_modules/rollup": {
-            "version": "4.40.0",
-            "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.40.0.tgz",
-            "integrity": "sha512-Noe455xmA96nnqH5piFtLobsGbCij7Tu+tb3c1vYjNbTkfzGqXqQXG3wJaYXkRZuQ0vEYN4bhwg7QnIrqB5B+w==",
+            "version": "4.43.0",
+            "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.43.0.tgz",
+            "integrity": "sha512-wdN2Kd3Twh8MAEOEJZsuxuLKCsBEo4PVNLK6tQWAn10VhsVewQLzcucMgLolRlhFybGxfclbPeEYBaP6RvUFGg==",
             "dev": true,
             "license": "MIT",
             "dependencies": {
@@ -5652,29 +5723,36 @@
                 "npm": ">=8.0.0"
             },
             "optionalDependencies": {
-                "@rollup/rollup-android-arm-eabi": "4.40.0",
-                "@rollup/rollup-android-arm64": "4.40.0",
-                "@rollup/rollup-darwin-arm64": "4.40.0",
-                "@rollup/rollup-darwin-x64": "4.40.0",
-                "@rollup/rollup-freebsd-arm64": "4.40.0",
-                "@rollup/rollup-freebsd-x64": "4.40.0",
-                "@rollup/rollup-linux-arm-gnueabihf": "4.40.0",
-                "@rollup/rollup-linux-arm-musleabihf": "4.40.0",
-                "@rollup/rollup-linux-arm64-gnu": "4.40.0",
-                "@rollup/rollup-linux-arm64-musl": "4.40.0",
-                "@rollup/rollup-linux-loongarch64-gnu": "4.40.0",
-                "@rollup/rollup-linux-powerpc64le-gnu": "4.40.0",
-                "@rollup/rollup-linux-riscv64-gnu": "4.40.0",
-                "@rollup/rollup-linux-riscv64-musl": "4.40.0",
-                "@rollup/rollup-linux-s390x-gnu": "4.40.0",
-                "@rollup/rollup-linux-x64-gnu": "4.40.0",
-                "@rollup/rollup-linux-x64-musl": "4.40.0",
-                "@rollup/rollup-win32-arm64-msvc": "4.40.0",
-                "@rollup/rollup-win32-ia32-msvc": "4.40.0",
-                "@rollup/rollup-win32-x64-msvc": "4.40.0",
+                "@rollup/rollup-android-arm-eabi": "4.43.0",
+                "@rollup/rollup-android-arm64": "4.43.0",
+                "@rollup/rollup-darwin-arm64": "4.43.0",
+                "@rollup/rollup-darwin-x64": "4.43.0",
+                "@rollup/rollup-freebsd-arm64": "4.43.0",
+                "@rollup/rollup-freebsd-x64": "4.43.0",
+                "@rollup/rollup-linux-arm-gnueabihf": "4.43.0",
+                "@rollup/rollup-linux-arm-musleabihf": "4.43.0",
+                "@rollup/rollup-linux-arm64-gnu": "4.43.0",
+                "@rollup/rollup-linux-arm64-musl": "4.43.0",
+                "@rollup/rollup-linux-loongarch64-gnu": "4.43.0",
+                "@rollup/rollup-linux-powerpc64le-gnu": "4.43.0",
+                "@rollup/rollup-linux-riscv64-gnu": "4.43.0",
+                "@rollup/rollup-linux-riscv64-musl": "4.43.0",
+                "@rollup/rollup-linux-s390x-gnu": "4.43.0",
+                "@rollup/rollup-linux-x64-gnu": "4.43.0",
+                "@rollup/rollup-linux-x64-musl": "4.43.0",
+                "@rollup/rollup-win32-arm64-msvc": "4.43.0",
+                "@rollup/rollup-win32-ia32-msvc": "4.43.0",
+                "@rollup/rollup-win32-x64-msvc": "4.43.0",
                 "fsevents": "~2.3.2"
             }
         },
+        "node_modules/rollup/node_modules/@types/estree": {
+            "version": "1.0.7",
+            "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz",
+            "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==",
+            "dev": true,
+            "license": "MIT"
+        },
         "node_modules/run-parallel": {
             "version": "1.2.0",
             "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
@@ -5996,16 +6074,16 @@
             "license": "ISC"
         },
         "node_modules/swagger-typescript-api": {
-            "version": "13.1.1",
-            "resolved": "https://registry.npmjs.org/swagger-typescript-api/-/swagger-typescript-api-13.1.1.tgz",
-            "integrity": "sha512-Slwbvz1cAno7TjujKfKIvGK5R72BlpQhnVUUtK/TcQjx/pMIiGVCaLaJWOux0mye7LEABABAhUwArFEAusuAcQ==",
+            "version": "13.2.2",
+            "resolved": "https://registry.npmjs.org/swagger-typescript-api/-/swagger-typescript-api-13.2.2.tgz",
+            "integrity": "sha512-g67Bn18qujAu7L7EWexjR4R0MDiSYo+HT5EkV/5IJ5HuuP8N8Pcj4mrbBY1GX5BTeGGw7Vd5nSE9jgLj0IxinQ==",
             "dev": true,
             "license": "MIT",
             "dependencies": {
-                "@biomejs/js-api": "^0.7.1",
-                "@biomejs/wasm-nodejs": "^1.9.4",
+                "@biomejs/js-api": "0.8.0-beta.3",
+                "@biomejs/wasm-nodejs": "2.0.0-beta.6",
                 "@types/swagger-schema-official": "^2.0.25",
-                "c12": "^3.0.3",
+                "c12": "^3.0.4",
                 "citty": "^0.1.6",
                 "consola": "^3.4.2",
                 "eta": "^2.2.0",
@@ -6021,9 +6099,16 @@
                 "swagger-typescript-api": "dist/cli.js"
             },
             "engines": {
-                "node": ">=18.0.0"
+                "node": ">=20"
             }
         },
+        "node_modules/swagger-typescript-api/node_modules/@biomejs/wasm-nodejs": {
+            "version": "2.0.0-beta.6",
+            "resolved": "https://registry.npmjs.org/@biomejs/wasm-nodejs/-/wasm-nodejs-2.0.0-beta.6.tgz",
+            "integrity": "sha512-UI8uhz8YUjROBqr8OX3M8aK5Dw+MQfpE3D8sODCoE1CHH/4lvYdYksO/hU6qUe7qOYTI/Dyf2/DOQA5XRvRtAg==",
+            "dev": true,
+            "license": "MIT OR Apache-2.0"
+        },
         "node_modules/swagger-typescript-api/node_modules/nanoid": {
             "version": "5.1.5",
             "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.5.tgz",
@@ -6250,9 +6335,9 @@
             "license": "MIT"
         },
         "node_modules/tinyglobby": {
-            "version": "0.2.13",
-            "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz",
-            "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==",
+            "version": "0.2.14",
+            "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz",
+            "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==",
             "dev": true,
             "license": "MIT",
             "dependencies": {
@@ -6267,9 +6352,9 @@
             }
         },
         "node_modules/tinyglobby/node_modules/fdir": {
-            "version": "6.4.4",
-            "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz",
-            "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==",
+            "version": "6.4.6",
+            "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz",
+            "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==",
             "dev": true,
             "license": "MIT",
             "peerDependencies": {
@@ -6344,12 +6429,6 @@
             "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
             "license": "0BSD"
         },
-        "node_modules/turbo-stream": {
-            "version": "2.4.0",
-            "resolved": "https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.4.0.tgz",
-            "integrity": "sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==",
-            "license": "ISC"
-        },
         "node_modules/type-check": {
             "version": "0.4.0",
             "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
@@ -6378,15 +6457,15 @@
             }
         },
         "node_modules/typescript-eslint": {
-            "version": "8.31.0",
-            "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.31.0.tgz",
-            "integrity": "sha512-u+93F0sB0An8WEAPtwxVhFby573E8ckdjwUUQUj9QA4v8JAvgtoDdIyYR3XFwFHq2W1KJ1AurwJCO+w+Y1ixyQ==",
+            "version": "8.34.1",
+            "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.34.1.tgz",
+            "integrity": "sha512-XjS+b6Vg9oT1BaIUfkW3M3LvqZE++rbzAMEHuccCfO/YkP43ha6w3jTEMilQxMF92nVOYCcdjv1ZUhAa1D/0ow==",
             "dev": true,
             "license": "MIT",
             "dependencies": {
-                "@typescript-eslint/eslint-plugin": "8.31.0",
-                "@typescript-eslint/parser": "8.31.0",
-                "@typescript-eslint/utils": "8.31.0"
+                "@typescript-eslint/eslint-plugin": "8.34.1",
+                "@typescript-eslint/parser": "8.34.1",
+                "@typescript-eslint/utils": "8.34.1"
             },
             "engines": {
                 "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -6520,18 +6599,18 @@
             }
         },
         "node_modules/vite": {
-            "version": "6.3.2",
-            "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.2.tgz",
-            "integrity": "sha512-ZSvGOXKGceizRQIZSz7TGJ0pS3QLlVY/9hwxVh17W3re67je1RKYzFHivZ/t0tubU78Vkyb9WnHPENSBCzbckg==",
+            "version": "6.3.5",
+            "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz",
+            "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==",
             "dev": true,
             "license": "MIT",
             "dependencies": {
                 "esbuild": "^0.25.0",
-                "fdir": "^6.4.3",
+                "fdir": "^6.4.4",
                 "picomatch": "^4.0.2",
                 "postcss": "^8.5.3",
                 "rollup": "^4.34.9",
-                "tinyglobby": "^0.2.12"
+                "tinyglobby": "^0.2.13"
             },
             "bin": {
                 "vite": "bin/vite.js"
@@ -6595,9 +6674,9 @@
             }
         },
         "node_modules/vite/node_modules/fdir": {
-            "version": "6.4.4",
-            "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz",
-            "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==",
+            "version": "6.4.6",
+            "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz",
+            "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==",
             "dev": true,
             "license": "MIT",
             "peerDependencies": {
@@ -6780,15 +6859,15 @@
             "license": "ISC"
         },
         "node_modules/yaml": {
-            "version": "2.7.1",
-            "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.1.tgz",
-            "integrity": "sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==",
+            "version": "2.8.0",
+            "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz",
+            "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==",
             "license": "ISC",
             "bin": {
                 "yaml": "bin.mjs"
             },
             "engines": {
-                "node": ">= 14"
+                "node": ">= 14.6"
             }
         },
         "node_modules/yargs": {
@@ -6879,18 +6958,18 @@
             }
         },
         "node_modules/zod": {
-            "version": "3.24.3",
-            "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.3.tgz",
-            "integrity": "sha512-HhY1oqzWCQWuUqvBFnsyrtZRhyPeR7SUGv+C4+MsisMuVfSPx8HpwWqH8tRahSlt6M3PiFAcoeFhZAqIXTxoSg==",
+            "version": "3.25.67",
+            "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.67.tgz",
+            "integrity": "sha512-idA2YXwpCdqUSKRCACDE6ItZD9TZzy3OZMtpfLoh6oPR47lipysRrJfjzMqFxQ3uJuUPyUeWe1r9vLH33xO/Qw==",
             "license": "MIT",
             "funding": {
                 "url": "https://github.com/sponsors/colinhacks"
             }
         },
         "node_modules/zustand": {
-            "version": "5.0.3",
-            "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.3.tgz",
-            "integrity": "sha512-14fwWQtU3pH4dE0dOpdMiWjddcH+QzKIgk1cl8epwSE7yag43k/AD/m4L6+K7DytAOr9gGBe3/EXj9g7cdostg==",
+            "version": "5.0.5",
+            "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.5.tgz",
+            "integrity": "sha512-mILtRfKW9xM47hqxGIxCv12gXusoY/xTSHBYApXozR0HmQv299whhBeeAcRy+KrPPybzosvJBCOmVjq6x12fCg==",
             "license": "MIT",
             "engines": {
                 "node": ">=12.20.0"
diff --git a/pkgs/by-name/ne/nezha-theme-admin/package.nix b/pkgs/by-name/ne/nezha-theme-admin/package.nix
index c2abd6506922..5d97590122dd 100644
--- a/pkgs/by-name/ne/nezha-theme-admin/package.nix
+++ b/pkgs/by-name/ne/nezha-theme-admin/package.nix
@@ -7,13 +7,13 @@
 
 buildNpmPackage rec {
   pname = "nezha-theme-admin";
-  version = "1.12.0";
+  version = "1.13.0";
 
   src = fetchFromGitHub {
     owner = "nezhahq";
     repo = "admin-frontend";
     tag = "v${version}";
-    hash = "sha256-M1iJmSskXk0Qhr+p9yradZE4Xnf88F28NBUfJw4Wr34=";
+    hash = "sha256-9/lrbVfC+CRQCSJNx7dwKWPgemM6hbd6ZR5xG3tj8wA=";
   };
 
   # TODO: Switch to the bun build function once available in nixpkgs
@@ -21,7 +21,7 @@ buildNpmPackage rec {
     cp ${./package-lock.json} package-lock.json
   '';
 
-  npmDepsHash = "sha256-y0MnD6ymU4YDpNkTrEKMROHwllSVRm1LQeG0v3IPa0Y=";
+  npmDepsHash = "sha256-2iX3/Pw6i2zXH+cpMC6ttn5D/C8G/P9WgRApO7Br5p4=";
 
   npmPackFlags = [ "--ignore-scripts" ];
 
diff --git a/pkgs/by-name/ng/nghttp3/package.nix b/pkgs/by-name/ng/nghttp3/package.nix
index 4a2bcba514b0..6676fe825b35 100644
--- a/pkgs/by-name/ng/nghttp3/package.nix
+++ b/pkgs/by-name/ng/nghttp3/package.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nghttp3";
-  version = "1.9.0";
+  version = "1.10.1";
 
   src = fetchFromGitHub {
     owner = "ngtcp2";
     repo = "nghttp3";
     rev = "v${version}";
-    hash = "sha256-CTra8vmpIig8LX7RWqRzhWhX9yn0RnFrnV/kYPgZgJk=";
+    hash = "sha256-V4JFqi3VdblpBlZJ1uFX56AlJn894oiX86OfoxVjBbE=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/by-name/nh/nh/package.nix b/pkgs/by-name/nh/nh/package.nix
index 85e860a9bbde..e2039517580b 100644
--- a/pkgs/by-name/nh/nh/package.nix
+++ b/pkgs/by-name/nh/nh/package.nix
@@ -18,13 +18,13 @@ let
 in
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "nh";
-  version = "4.1.0";
+  version = "4.1.2";
 
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = "nh";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-OiuhBrJe1AyVxC+AV4HMJ+vhDvUfCyLpBmj+Fy7MDtM=";
+    hash = "sha256-v02NsZ589zzPq5xsCxyrG1/ZkFbbMkUthly50QdmYKo=";
   };
 
   strictDeps = true;
@@ -55,7 +55,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
   '';
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-/tbmzGUd1b4oa+29+eFdkE4l8vxMoIdHx40YgErY9pY=";
+  cargoHash = "sha256-R2S0gbT3DD/Dtx8edqhD0fpDqe8AJgyLmlPoNEKm4BA=";
 
   passthru.updateScript = nix-update-script { };
 
diff --git a/pkgs/by-name/ni/nil/package.nix b/pkgs/by-name/ni/nil/package.nix
index 46c5296d8d55..23b85a6dd50e 100644
--- a/pkgs/by-name/ni/nil/package.nix
+++ b/pkgs/by-name/ni/nil/package.nix
@@ -3,26 +3,30 @@
   rustPlatform,
   fetchFromGitHub,
   nix,
+  nixfmt-rfc-style,
   nix-update-script,
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "nil";
-  version = "2024-08-06";
+  version = "2025-06-13";
 
   src = fetchFromGitHub {
     owner = "oxalica";
     repo = "nil";
     rev = version;
-    hash = "sha256-DqsN/VkYVr4M0PVRQKXPPOTaind5miYZURIYqM4MxYM=";
+    hash = "sha256-oxvVAFUO9husnRk6XZcLFLjLWL9z0pW25Fk6kVKwt1c=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-7TR/xTc66WpPszJDrpisVvHXl2+FGrUOskZAkGyY04Q=";
+  cargoHash = "sha256-OZIajxv8xNfCGalVw/FUAwWdQzPqfGuDoeRg2E2RR7s=";
 
   nativeBuildInputs = [ nix ];
 
-  env.CFG_RELEASE = version;
+  env = {
+    CFG_RELEASE = version;
+    CFG_DEFAULT_FORMATTER = lib.getExe nixfmt-rfc-style;
+  };
 
   # might be related to https://github.com/NixOS/nix/issues/5884
   preBuild = ''
diff --git a/pkgs/by-name/ni/niri/package.nix b/pkgs/by-name/ni/niri/package.nix
index 338564c76338..6fd08908d0d7 100644
--- a/pkgs/by-name/ni/niri/package.nix
+++ b/pkgs/by-name/ni/niri/package.nix
@@ -3,6 +3,7 @@
   dbus,
   eudev,
   fetchFromGitHub,
+  installShellFiles,
   libdisplay-info,
   libglvnd,
   libinput,
@@ -15,6 +16,7 @@
   pkg-config,
   rustPlatform,
   seatd,
+  stdenv,
   systemd,
   wayland,
   withDbus ? true,
@@ -46,6 +48,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
   strictDeps = true;
 
   nativeBuildInputs = [
+    installShellFiles
     pkg-config
     rustPlatform.bindgenHook
   ];
@@ -88,6 +91,12 @@ rustPlatform.buildRustPackage (finalAttrs: {
     ''
     + lib.optionalString withDinit ''
       install -Dm0644 resources/dinit/niri{-shutdown,} -t $out/lib/dinit.d/user
+    ''
+    + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
+      installShellCompletion --cmd $pname \
+        --bash <($out/bin/niri completions bash) \
+        --fish <($out/bin/niri completions fish) \
+        --zsh <($out/bin/niri completions zsh)
     '';
 
   env = {
@@ -101,6 +110,11 @@ rustPlatform.buildRustPackage (finalAttrs: {
         "-Wl,--pop-state"
       ]
     );
+
+    # Upstream recommends setting the commit hash manually when in a
+    # build environment where the Git repository is unavailable.
+    # See https://github.com/YaLTeR/niri/wiki/Packaging-niri#version-string
+    NIRI_BUILD_COMMIT = "Nixpkgs";
   };
 
   nativeInstallCheckInputs = [ versionCheckHook ];
diff --git a/pkgs/by-name/ni/niriswitcher/package.nix b/pkgs/by-name/ni/niriswitcher/package.nix
index 00eeca3116c4..cf17593dcc6d 100644
--- a/pkgs/by-name/ni/niriswitcher/package.nix
+++ b/pkgs/by-name/ni/niriswitcher/package.nix
@@ -11,14 +11,14 @@
 
 python3Packages.buildPythonPackage rec {
   pname = "niriswitcher";
-  version = "0.6.1";
+  version = "0.7.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "isaksamsten";
     repo = "niriswitcher";
     tag = version;
-    hash = "sha256-njEd9s432qlBeQSXRL5gDSIEgzF0qwceND09aGTRo0U=";
+    hash = "sha256-V3G4eKKEysCyjAFUW2a94lOo82TVaZVfRXv/dL+LHNo=";
   };
 
   build-system = [ python3Packages.hatchling ];
diff --git a/pkgs/by-name/ni/nix-store-veritysetup-generator/package.nix b/pkgs/by-name/ni/nix-store-veritysetup-generator/package.nix
index 6a92ed47aba7..6c0ff9bc4428 100644
--- a/pkgs/by-name/ni/nix-store-veritysetup-generator/package.nix
+++ b/pkgs/by-name/ni/nix-store-veritysetup-generator/package.nix
@@ -40,5 +40,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/nikstur/nix-store-veritysetup-generator";
     license = licenses.mit;
     maintainers = with lib.maintainers; [ nikstur ];
+    mainProgram = "nix-store-veritysetup-generator";
   };
 }
diff --git a/pkgs/by-name/ni/nix-template/package.nix b/pkgs/by-name/ni/nix-template/package.nix
index 1241566de275..6d09eaac0024 100644
--- a/pkgs/by-name/ni/nix-template/package.nix
+++ b/pkgs/by-name/ni/nix-template/package.nix
@@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec {
   src = fetchFromGitHub {
     name = "${pname}-${version}-src";
     owner = "jonringer";
-    repo = pname;
+    repo = "nix-template";
     rev = "v${version}";
     sha256 = "sha256-42u5FmTIKHpfQ2zZQXIrFkAN2/XvU0wWnCRrQkQzcNI=";
   };
diff --git a/pkgs/by-name/ni/nixos-option/nixos-option.sh b/pkgs/by-name/ni/nixos-option/nixos-option.sh
index 5690783c5657..d5d9b5b29f45 100644
--- a/pkgs/by-name/ni/nixos-option/nixos-option.sh
+++ b/pkgs/by-name/ni/nixos-option/nixos-option.sh
@@ -89,6 +89,10 @@ done
 # `--no-flake`
 # /etc/nixos/flake.nix (if exists)
 
+if [[ -n "${NIXOS_CONFIG:-}" ]] || nix-instantiate --find-file nixos-config >/dev/null 2>&1; then
+  no_flake=true
+fi
+
 if [[ -z "$flake" ]] && [[ -e /etc/nixos/flake.nix ]] && [[ "$no_flake" == "false" ]]; then
   flake="$(dirname "$(realpath /etc/nixos/flake.nix)")"
 fi
diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/README.md b/pkgs/by-name/ni/nixos-rebuild-ng/README.md
index 10bd1a90e9d4..bcbadeee301b 100644
--- a/pkgs/by-name/ni/nixos-rebuild-ng/README.md
+++ b/pkgs/by-name/ni/nixos-rebuild-ng/README.md
@@ -35,40 +35,6 @@ an attempt of the rewrite.
   currently depends on `jq` for JSON parsing, while Python has `json` in
   standard library
 
-## Do's and Don'ts
-
-- Do: be as much of a drop-in replacement as possible
-- Do: fix obvious bugs
-- Do: improvements that are non-breaking
-- Don't: change logic in breaking ways even if this would be an improvement
-
-## How to use
-
-If you want to use `nixos-rebuild-ng` without replacing `nixos-rebuild`, add the
-following to your NixOS configuration:
-
-```nix
-{ pkgs, ... }:
-{
-  environment.systemPackages = [ pkgs.nixos-rebuild-ng ];
-}
-```
-
-And use `nixos-rebuild-ng` instead of `nixos-rebuild`.
-
-If you want to completely replace `nixos-rebuild` with `nixos-rebuild-ng`, add
-the following to your NixOS configuration:
-
-```nix
-{ ... }:
-{
-  system.rebuild.enableNg = true;
-}
-```
-
-This will set `config.system.build.nixos-rebuild` to `nixos-rebuild-ng`, so
-all tools that expect it in that location should work.
-
 ## Development
 
 Run:
diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/package.nix b/pkgs/by-name/ni/nixos-rebuild-ng/package.nix
index 7e1841ceb615..8590cc90549a 100644
--- a/pkgs/by-name/ni/nixos-rebuild-ng/package.nix
+++ b/pkgs/by-name/ni/nixos-rebuild-ng/package.nix
@@ -132,7 +132,8 @@ python3Packages.buildPythonApplication rec {
     description = "Rebuild your NixOS configuration and switch to it, on local hosts and remote";
     homepage = "https://github.com/NixOS/nixpkgs/tree/master/pkgs/by-name/ni/nixos-rebuild-ng";
     license = lib.licenses.mit;
-    maintainers = [ lib.maintainers.thiagokokada ];
+    maintainers = [ ];
+    teams = [ lib.teams.nixos-rebuild ];
     mainProgram = executable;
   };
 }
diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/__init__.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/__init__.py
index fd03e5b69ef4..f89eddab6183 100644
--- a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/__init__.py
+++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/__init__.py
@@ -5,15 +5,18 @@ import os
 import sys
 from pathlib import Path
 from subprocess import CalledProcessError, run
+from textwrap import dedent
 from typing import Final, assert_never
 
 from . import nix, tmpdir
 from .constants import EXECUTABLE, WITH_NIX_2_18, WITH_REEXEC, WITH_SHELL_FILES
-from .models import Action, BuildAttr, Flake, ImageVariants, NRError, Profile
+from .models import Action, BuildAttr, Flake, ImageVariants, NixOSRebuildError, Profile
 from .process import Remote, cleanup_ssh
 from .utils import Args, LogFormatter, tabulate
 
-logger: Final = logging.getLogger()
+NIXOS_REBUILD_ATTR: Final = "config.system.build.nixos-rebuild"
+
+logger: Final = logging.getLogger(__name__)
 logger.setLevel(logging.INFO)
 
 
@@ -97,7 +100,7 @@ def get_parser() -> tuple[argparse.ArgumentParser, dict[str, argparse.ArgumentPa
         "--attr",
         "-A",
         help="Enable and build the NixOS system from nix file and use the "
-        + "specified attribute path from file specified by the --file option",
+        "specified attribute path from file specified by the --file option",
     )
     main_parser.add_argument(
         "--flake",
@@ -115,7 +118,7 @@ def get_parser() -> tuple[argparse.ArgumentParser, dict[str, argparse.ArgumentPa
         "--install-bootloader",
         action="store_true",
         help="Causes the boot loader to be (re)installed on the device specified "
-        + "by the relevant configuration options",
+        "by the relevant configuration options",
     )
     main_parser.add_argument(
         "--install-grub",
@@ -140,7 +143,7 @@ def get_parser() -> tuple[argparse.ArgumentParser, dict[str, argparse.ArgumentPa
         "--upgrade",
         action="store_true",
         help="Update the root user's channel named 'nixos' before rebuilding "
-        + "the system and channels which have a file named '.update-on-nixos-rebuild'",
+        "the system and channels which have a file named '.update-on-nixos-rebuild'",
     )
     main_parser.add_argument(
         "--upgrade-all",
@@ -184,7 +187,7 @@ def get_parser() -> tuple[argparse.ArgumentParser, dict[str, argparse.ArgumentPa
     main_parser.add_argument(
         "--image-variant",
         help="Selects an image variant to build from the "
-        + "config.system.build.images attribute of the given configuration",
+        "config.system.build.images attribute of the given configuration",
     )
     main_parser.add_argument("action", choices=Action.values(), nargs="?")
 
@@ -276,33 +279,33 @@ def reexec(
     flake_build_flags: Args,
 ) -> None:
     drv = None
-    attr = "config.system.build.nixos-rebuild"
     try:
         # Parsing the args here but ignore ask_sudo_password since it is not
         # needed and we would end up asking sudo password twice
         if flake := Flake.from_arg(args.flake, Remote.from_arg(args.target_host, None)):
             drv = nix.build_flake(
-                attr,
+                NIXOS_REBUILD_ATTR,
                 flake,
                 flake_build_flags | {"no_link": True},
             )
         else:
             build_attr = BuildAttr.from_arg(args.attr, args.file)
             drv = nix.build(
-                attr,
+                NIXOS_REBUILD_ATTR,
                 build_attr,
                 build_flags | {"no_out_link": True},
             )
     except CalledProcessError:
         logger.warning(
-            "could not build a newer version of nixos-rebuild, using current version"
+            "could not build a newer version of nixos-rebuild, using current version",
+            exc_info=logger.isEnabledFor(logging.DEBUG),
         )
 
     if drv:
         new = drv / f"bin/{EXECUTABLE}"
         current = Path(argv[0])
         if new != current:
-            logging.debug(
+            logger.debug(
                 "detected newer version of script, re-exec'ing, current=%s, new=%s",
                 current,
                 new,
@@ -319,14 +322,45 @@ def reexec(
                 # - Exec format error (e.g.: another OS/CPU arch)
                 logger.warning(
                     "could not re-exec in a newer version of nixos-rebuild, "
-                    + "using current version"
+                    "using current version",
+                    exc_info=logger.isEnabledFor(logging.DEBUG),
                 )
-                logger.debug("re-exec exception", exc_info=True)
                 # We already run clean-up, let's re-exec in the current version
                 # to avoid issues
                 os.execve(current, argv, os.environ | {"_NIXOS_REBUILD_REEXEC": "1"})
 
 
+def validate_image_variant(image_variant: str, variants: ImageVariants) -> None:
+    if image_variant not in variants:
+        raise NixOSRebuildError(
+            "please specify one of the following supported image variants via "
+            "--image-variant:\n" + "\n".join(f"- {v}" for v in variants)
+        )
+
+
+def validate_nixos_config(path_to_config: Path) -> None:
+    if not (path_to_config / "nixos-version").exists() and not os.environ.get(
+        "NIXOS_REBUILD_I_UNDERSTAND_THE_CONSEQUENCES_PLEASE_BREAK_MY_SYSTEM"
+    ):
+        msg = dedent(
+            # the lowercase for the first letter below is proposital
+            f"""
+                your NixOS configuration path seems to be missing essential files.
+                To avoid corrupting your current NixOS installation, the activation will abort.
+
+                This could be caused by Nix bug: https://github.com/NixOS/nix/issues/13367.
+                This is the evaluated NixOS configuration path: {path_to_config}.
+                Change the directory to somewhere else (e.g., `cd $HOME`) before trying again.
+
+                If you think this is a mistake, you can set the environment variable
+                NIXOS_REBUILD_I_UNDERSTAND_THE_CONSEQUENCES_PLEASE_BREAK_MY_SYSTEM to 1
+                and re-run the command to continue.
+                Please open an issue if this is the case.
+            """
+        ).strip()
+        raise NixOSRebuildError(msg)
+
+
 def execute(argv: list[str]) -> None:
     args, args_groups = parse_args(argv)
 
@@ -391,28 +425,20 @@ def execute(argv: list[str]) -> None:
             no_link = action in (Action.SWITCH, Action.BOOT)
             rollback = bool(args.rollback)
 
-            def validate_image_variant(variants: ImageVariants) -> None:
-                if args.image_variant not in variants:
-                    raise NRError(
-                        "please specify one of the following "
-                        + "supported image variants via --image-variant:\n"
-                        + "\n".join(f"- {v}" for v in variants)
-                    )
-
             match action:
                 case Action.BUILD_IMAGE if flake:
                     variants = nix.get_build_image_variants_flake(
                         flake,
                         eval_flags=flake_common_flags,
                     )
-                    validate_image_variant(variants)
+                    validate_image_variant(args.image_variant, variants)
                     attr = f"config.system.build.images.{args.image_variant}"
                 case Action.BUILD_IMAGE:
                     variants = nix.get_build_image_variants(
                         build_attr,
                         instantiate_flags=common_flags,
                     )
-                    validate_image_variant(variants)
+                    validate_image_variant(args.image_variant, variants)
                     attr = f"config.system.build.images.{args.image_variant}"
                 case Action.BUILD_VM:
                     attr = "config.system.build.vm"
@@ -433,9 +459,11 @@ def execute(argv: list[str]) -> None:
                     if maybe_path_to_config:  # kinda silly but this makes mypy happy
                         path_to_config = maybe_path_to_config
                     else:
-                        raise NRError("could not find previous generation")
+                        raise NixOSRebuildError("could not find previous generation")
                 case (_, True, _, _):
-                    raise NRError(f"--rollback is incompatible with '{action}'")
+                    raise NixOSRebuildError(
+                        f"--rollback is incompatible with '{action}'"
+                    )
                 case (_, False, Remote(_), Flake(_)):
                     path_to_config = nix.build_remote_flake(
                         attr,
@@ -486,6 +514,7 @@ def execute(argv: list[str]) -> None:
                     copy_flags=copy_flags,
                 )
                 if action in (Action.SWITCH, Action.BOOT):
+                    validate_nixos_config(path_to_config)
                     nix.set_profile(
                         profile,
                         path_to_config,
diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/models.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/models.py
index 0d67bc81aed9..c0183e1a265b 100644
--- a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/models.py
+++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/models.py
@@ -4,14 +4,14 @@ import subprocess
 from dataclasses import dataclass
 from enum import Enum
 from pathlib import Path
-from typing import Any, Callable, ClassVar, Self, TypedDict, override
+from typing import Any, ClassVar, Self, TypedDict, override
 
 from .process import Remote, run_wrapper
 
 type ImageVariants = list[str]
 
 
-class NRError(Exception):
+class NixOSRebuildError(Exception):
     "nixos-rebuild general error."
 
     def __init__(self, message: str) -> None:
@@ -100,6 +100,20 @@ def discover_closest_flake(location: Path) -> Path | None:
     return None
 
 
+def get_hostname(target_host: Remote | None) -> str | None:
+    if target_host:
+        try:
+            return run_wrapper(
+                ["uname", "-n"],
+                capture_output=True,
+                remote=target_host,
+            ).stdout.strip()
+        except (AttributeError, subprocess.CalledProcessError):
+            return None
+    else:
+        return platform.node()
+
+
 @dataclass(frozen=True)
 class Flake:
     path: Path | str
@@ -114,15 +128,13 @@ class Flake:
         return f"{self.path}#{self.attr}"
 
     @classmethod
-    def parse(
-        cls,
-        flake_str: str,
-        hostname_fn: Callable[[], str | None] = lambda: None,
-    ) -> Self:
+    def parse(cls, flake_str: str, target_host: Remote | None = None) -> Self:
         m = cls._re.match(flake_str)
         assert m is not None, f"got no matches for {flake_str}"
         attr = m.group("attr")
-        nixos_attr = f'nixosConfigurations."{attr or hostname_fn() or "default"}"'
+        nixos_attr = (
+            f'nixosConfigurations."{attr or get_hostname(target_host) or "default"}"'
+        )
         path_str = m.group("path")
         if ":" in path_str:
             return cls(path_str, nixos_attr)
@@ -143,24 +155,11 @@ class Flake:
 
     @classmethod
     def from_arg(cls, flake_arg: Any, target_host: Remote | None) -> Self | None:
-        def get_hostname() -> str | None:
-            if target_host:
-                try:
-                    return run_wrapper(
-                        ["uname", "-n"],
-                        stdout=subprocess.PIPE,
-                        remote=target_host,
-                    ).stdout.strip()
-                except (AttributeError, subprocess.CalledProcessError):
-                    return None
-            else:
-                return platform.node()
-
         match flake_arg:
             case str(s):
-                return cls.parse(s, get_hostname)
+                return cls.parse(s, target_host)
             case True:
-                return cls.parse(".", get_hostname)
+                return cls.parse(".", target_host)
             case False:
                 return None
             case _:
@@ -169,7 +168,7 @@ class Flake:
                 if default_path.exists():
                     # It can be a symlink to the actual flake.
                     default_path = default_path.resolve()
-                    return cls.parse(str(default_path.parent), get_hostname)
+                    return cls.parse(str(default_path.parent), target_host)
                 else:
                     return None
 
diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py
index f4f3db5f13b5..77113a093a77 100644
--- a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py
+++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py
@@ -20,7 +20,7 @@ from .models import (
     Generation,
     GenerationJson,
     ImageVariants,
-    NRError,
+    NixOSRebuildError,
     Profile,
     Remote,
 )
@@ -41,7 +41,6 @@ SWITCH_TO_CONFIGURATION_CMD_PREFIX: Final = [
     "--no-ask-password",
     "--pipe",
     "--quiet",
-    "--same-dir",
     "--service-type=exec",
     "--unit=nixos-rebuild-switch-to-configuration",
 ]
@@ -257,7 +256,7 @@ def edit(flake: Flake | None, flake_flags: Args | None = None) -> None:
         )
     else:
         if flake_flags:
-            raise NRError("'edit' does not support extra Nix flags")
+            raise NixOSRebuildError("'edit' does not support extra Nix flags")
         nixos_config = Path(
             os.getenv("NIXOS_CONFIG") or find_file("nixos-config") or "/etc/nixos"
         )
@@ -267,7 +266,7 @@ def edit(flake: Flake | None, flake_flags: Args | None = None) -> None:
         if nixos_config.exists():
             run_wrapper([os.getenv("EDITOR", "nano"), nixos_config], check=False)
         else:
-            raise NRError("cannot find NixOS config file")
+            raise NixOSRebuildError("cannot find NixOS config file")
 
 
 def find_file(file: str, nix_flags: Args | None = None) -> Path | None:
@@ -425,7 +424,7 @@ def get_generations(profile: Profile) -> list[Generation]:
     and if this is the current active profile or not.
     """
     if not profile.path.exists():
-        raise NRError(f"no profile '{profile.name}' found")
+        raise NixOSRebuildError(f"no profile '{profile.name}' found")
 
     def parse_path(path: Path, profile: Profile) -> Generation:
         entry_id = path.name.split("-")[1]
@@ -457,7 +456,7 @@ def get_generations_from_nix_env(
     and if this is the current active profile or not.
     """
     if not profile.path.exists():
-        raise NRError(f"no profile '{profile.name}' found")
+        raise NixOSRebuildError(f"no profile '{profile.name}' found")
 
     # Using `nix-env --list-generations` needs root to lock the profile
     r = run_wrapper(
@@ -636,13 +635,13 @@ def switch_to_configuration(
     """
     if specialisation:
         if action not in (Action.SWITCH, Action.TEST):
-            raise NRError(
+            raise NixOSRebuildError(
                 "'--specialisation' can only be used with 'switch' and 'test'"
             )
         path_to_config = path_to_config / f"specialisation/{specialisation}"
 
         if not path_to_config.exists():
-            raise NRError(f"specialisation not found: {specialisation}")
+            raise NixOSRebuildError(f"specialisation not found: {specialisation}")
 
     r = run_wrapper(
         ["test", "-d", "/run/systemd/system"],
@@ -653,7 +652,7 @@ def switch_to_configuration(
     if r.returncode:
         logger.debug(
             "skipping systemd-run to switch configuration since systemd is "
-            + "not working in target host"
+            "not working in target host"
         )
         cmd = []
 
diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/process.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/process.py
index 462c4178e8f7..1f57111a72ef 100644
--- a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/process.py
+++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/process.py
@@ -55,12 +55,12 @@ class Remote:
             if o in ["-t", "-tt", "RequestTTY=yes", "RequestTTY=force"]:
                 logger.warning(
                     f"detected option '{o}' in NIX_SSHOPTS. SSH's TTY may "
-                    + "cause issues, it is recommended to remove this option"
+                    "cause issues, it is recommended to remove this option"
                 )
                 if not ask_sudo_password:
                     logger.warning(
                         "if you want to prompt for sudo password use "
-                        + "'--ask-sudo-password' option instead"
+                        "'--ask-sudo-password' option instead"
                     )
 
 
@@ -161,7 +161,7 @@ def run_wrapper(
         if sudo and remote and remote.sudo_password is None:
             logger.error(
                 "while running command with remote sudo, did you forget to use "
-                + "--ask-sudo-password?"
+                "--ask-sudo-password?"
             )
         raise
 
diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/pyproject.toml b/pkgs/by-name/ni/nixos-rebuild-ng/src/pyproject.toml
index 7874c217468d..3eb78f58e032 100644
--- a/pkgs/by-name/ni/nixos-rebuild-ng/src/pyproject.toml
+++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/pyproject.toml
@@ -39,37 +39,38 @@ ignore_missing_imports = true
 
 [tool.ruff.lint]
 extend-select = [
-    # Enforce type annotations
+    # enforce type annotations
     "ANN",
     # don't shadow built-in names
     "A",
-    # Better list/set/dict comprehensions
+    # better list/set/dict comprehensions
     "C4",
-    # Check for debugger statements
+    # check for debugger statements
     "T10",
     # ensure imports are sorted
     "I",
-    # Automatically upgrade syntax for newer versions
+    # automatically upgrade syntax for newer versions
     "UP",
     # detect common sources of bugs
     "B",
-    # Ruff specific rules
+    # ruff specific rules
     "RUF",
     # require `check` argument for `subprocess.run`
     "PLW1510",
     # check for needless exception names in raise statements
     "TRY201",
-    # Pythonic naming conventions
+    # pythonic naming conventions
     "N",
+    # string concatenation rules
+    "ISC001",
+    "ISC002",
+    "ISC003",
 ]
 ignore = [
     # allow Any type
    "ANN401"
 ]
 
-[tool.ruff.lint.per-file-ignores]
-"tests/" = ["FA102"]
-
 [tool.pytest.ini_options]
 pythonpath = ["."]
 addopts = "--import-mode=importlib"
diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py
index 59270b73ec38..345c8bd32f79 100644
--- a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py
+++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py
@@ -140,7 +140,7 @@ def test_reexec(mock_build: Mock, mock_execve: Mock, monkeypatch: MonkeyPatch) -
     mock_build.assert_has_calls(
         [
             call(
-                "config.system.build.nixos-rebuild",
+                nr.NIXOS_REBUILD_ATTR,
                 nr.models.BuildAttr(ANY, ANY),
                 {"build": True, "no_out_link": True},
             )
@@ -184,7 +184,7 @@ def test_reexec_flake(
 
     nr.reexec(argv, args, {"build": True}, {"flake": True})
     mock_build.assert_called_once_with(
-        "config.system.build.nixos-rebuild",
+        nr.NIXOS_REBUILD_ATTR,
         nr.models.Flake(ANY, ANY),
         {"flake": True, "no_link": True},
     )
@@ -213,7 +213,11 @@ def test_reexec_flake(
     )
 
 
-@patch.dict(os.environ, {}, clear=True)
+@patch.dict(
+    os.environ,
+    {"NIXOS_REBUILD_I_UNDERSTAND_THE_CONSEQUENCES_PLEASE_BREAK_MY_SYSTEM": "1"},
+    clear=True,
+)
 @patch("subprocess.run", autospec=True)
 def test_execute_nix_boot(mock_run: Mock, tmp_path: Path) -> None:
     nixpkgs_path = tmp_path / "nixpkgs"
@@ -291,7 +295,15 @@ def test_execute_nix_boot(mock_run: Mock, tmp_path: Path) -> None:
                     "boot",
                 ],
                 check=True,
-                **(DEFAULT_RUN_KWARGS | {"env": {"NIXOS_INSTALL_BOOTLOADER": "0"}}),
+                **(
+                    DEFAULT_RUN_KWARGS
+                    | {
+                        "env": {
+                            "NIXOS_INSTALL_BOOTLOADER": "0",
+                            "NIXOS_REBUILD_I_UNDERSTAND_THE_CONSEQUENCES_PLEASE_BREAK_MY_SYSTEM": "1",
+                        }
+                    }
+                ),
             ),
         ]
     )
@@ -421,7 +433,11 @@ def test_execute_nix_build_image_flake(mock_run: Mock, tmp_path: Path) -> None:
     )
 
 
-@patch.dict(os.environ, {}, clear=True)
+@patch.dict(
+    os.environ,
+    {"NIXOS_REBUILD_I_UNDERSTAND_THE_CONSEQUENCES_PLEASE_BREAK_MY_SYSTEM": "1"},
+    clear=True,
+)
 @patch("subprocess.run", autospec=True)
 def test_execute_nix_switch_flake(mock_run: Mock, tmp_path: Path) -> None:
     config_path = tmp_path / "test"
@@ -498,13 +514,25 @@ def test_execute_nix_switch_flake(mock_run: Mock, tmp_path: Path) -> None:
                     "switch",
                 ],
                 check=True,
-                **(DEFAULT_RUN_KWARGS | {"env": {"NIXOS_INSTALL_BOOTLOADER": "1"}}),
+                **(
+                    DEFAULT_RUN_KWARGS
+                    | {
+                        "env": {
+                            "NIXOS_INSTALL_BOOTLOADER": "1",
+                            "NIXOS_REBUILD_I_UNDERSTAND_THE_CONSEQUENCES_PLEASE_BREAK_MY_SYSTEM": "1",
+                        }
+                    }
+                ),
             ),
         ]
     )
 
 
-@patch.dict(os.environ, {}, clear=True)
+@patch.dict(
+    os.environ,
+    {"NIXOS_REBUILD_I_UNDERSTAND_THE_CONSEQUENCES_PLEASE_BREAK_MY_SYSTEM": "1"},
+    clear=True,
+)
 @patch("subprocess.run", autospec=True)
 @patch("uuid.uuid4", autospec=True)
 @patch(get_qualified_name(nr.cleanup_ssh), autospec=True)
@@ -714,7 +742,11 @@ def test_execute_nix_switch_build_target_host(
     )
 
 
-@patch.dict(os.environ, {}, clear=True)
+@patch.dict(
+    os.environ,
+    {"NIXOS_REBUILD_I_UNDERSTAND_THE_CONSEQUENCES_PLEASE_BREAK_MY_SYSTEM": "1"},
+    clear=True,
+)
 @patch("subprocess.run", autospec=True)
 @patch(get_qualified_name(nr.cleanup_ssh), autospec=True)
 def test_execute_nix_switch_flake_target_host(
@@ -817,7 +849,11 @@ def test_execute_nix_switch_flake_target_host(
     )
 
 
-@patch.dict(os.environ, {}, clear=True)
+@patch.dict(
+    os.environ,
+    {"NIXOS_REBUILD_I_UNDERSTAND_THE_CONSEQUENCES_PLEASE_BREAK_MY_SYSTEM": "1"},
+    clear=True,
+)
 @patch("subprocess.run", autospec=True)
 @patch(get_qualified_name(nr.cleanup_ssh), autospec=True)
 def test_execute_nix_switch_flake_build_host(
diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_models.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_models.py
index 2cc450e00a36..1922b4682cbf 100644
--- a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_models.py
+++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_models.py
@@ -30,16 +30,23 @@ def test_build_attr_to_attr() -> None:
     )
 
 
-def test_flake_parse(tmpdir: Path, monkeypatch: MonkeyPatch) -> None:
+@patch("platform.node", autospec=True, return_value="hostname")
+def test_flake_parse(mock_node: Mock, tmpdir: Path, monkeypatch: MonkeyPatch) -> None:
     assert m.Flake.parse("/path/to/flake#attr") == m.Flake(
         Path("/path/to/flake"), 'nixosConfigurations."attr"'
     )
-    assert m.Flake.parse("/path/ to /flake", lambda: "hostname") == m.Flake(
+    assert m.Flake.parse("/path/ to /flake") == m.Flake(
         Path("/path/ to /flake"), 'nixosConfigurations."hostname"'
     )
-    assert m.Flake.parse("/path/to/flake", lambda: "hostname") == m.Flake(
-        Path("/path/to/flake"), 'nixosConfigurations."hostname"'
-    )
+    with patch(
+        get_qualified_name(m.run_wrapper, m),
+        autospec=True,
+        return_value=subprocess.CompletedProcess([], 0, stdout="remote\n"),
+    ):
+        target_host = m.Remote("target@remote", [], None)
+        assert m.Flake.parse("/path/to/flake", target_host) == m.Flake(
+            Path("/path/to/flake"), 'nixosConfigurations."remote"'
+        )
     # change directory to tmpdir
     with monkeypatch.context() as patch_context:
         patch_context.chdir(tmpdir)
@@ -49,10 +56,16 @@ def test_flake_parse(tmpdir: Path, monkeypatch: MonkeyPatch) -> None:
         assert m.Flake.parse("#attr") == m.Flake(
             Path("."), 'nixosConfigurations."attr"'
         )
-        assert m.Flake.parse(".") == m.Flake(Path("."), 'nixosConfigurations."default"')
+        assert m.Flake.parse(".") == m.Flake(
+            Path("."), 'nixosConfigurations."hostname"'
+        )
     assert m.Flake.parse("path:/to/flake#attr") == m.Flake(
         "path:/to/flake", 'nixosConfigurations."attr"'
     )
+
+    # from here on  we should return "default"
+    mock_node.return_value = None
+
     assert m.Flake.parse("github:user/repo/branch") == m.Flake(
         "github:user/repo/branch", 'nixosConfigurations."default"'
     )
diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py
index d87b6b62dca8..d965212a8d74 100644
--- a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py
+++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py
@@ -714,7 +714,7 @@ def test_switch_to_configuration_without_systemd_run(
         remote=None,
     )
 
-    with pytest.raises(m.NRError) as e:
+    with pytest.raises(m.NixOSRebuildError) as e:
         n.switch_to_configuration(
             config_path,
             m.Action.BOOT,
diff --git a/pkgs/by-name/ni/nixpkgs-review/package.nix b/pkgs/by-name/ni/nixpkgs-review/package.nix
index fe7f6de6c107..1146e1f03b55 100644
--- a/pkgs/by-name/ni/nixpkgs-review/package.nix
+++ b/pkgs/by-name/ni/nixpkgs-review/package.nix
@@ -18,14 +18,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "nixpkgs-review";
-  version = "3.3.0";
+  version = "3.4.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "Mic92";
     repo = "nixpkgs-review";
     tag = version;
-    hash = "sha256-Ey07yahJQv5ppf8TiwIt1Cn4xo4QMZ5v+CsJRDelWNY=";
+    hash = "sha256-qVGaIq05vJA5HmCauASvMiUUg+58v4GOp6NMY9fIGLo=";
   };
 
   build-system = [
diff --git a/pkgs/by-name/nj/njq/package.nix b/pkgs/by-name/nj/njq/package.nix
new file mode 100644
index 000000000000..a7073e75b7e9
--- /dev/null
+++ b/pkgs/by-name/nj/njq/package.nix
@@ -0,0 +1,26 @@
+{
+  lib,
+  fetchFromGitHub,
+  rustPlatform,
+}:
+rustPlatform.buildRustPackage (finalAttrs: {
+  pname = "njq";
+  version = "0.0.3.1";
+
+  src = fetchFromGitHub {
+    owner = "Rucadi";
+    repo = "njq";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-evFKm5NYNqIIRVbtMlGFY0k+0sJnkTCTIbTH7w9jQtk=";
+  };
+
+  cargoHash = "sha256-tDz9+iQhutlo7petKmg6n/mg0tDntGRqwBALcATJwdM=";
+
+  meta = {
+    description = "Command-line JSON processor using nix as query language";
+    homepage = "https://github.com/Rucadi/njq";
+    mainProgram = "njq";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ powwu ];
+  };
+})
diff --git a/pkgs/by-name/nn/nng/package.nix b/pkgs/by-name/nn/nng/package.nix
index 5813ccf8e12e..bd70e8f8260f 100644
--- a/pkgs/by-name/nn/nng/package.nix
+++ b/pkgs/by-name/nn/nng/package.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nng";
-  version = "1.10.1";
+  version = "1.11";
 
   src = fetchFromGitHub {
     owner = "nanomsg";
     repo = "nng";
     rev = "v${version}";
-    hash = "sha256-BBYfJ2j2IQkbluR3HQjEh1zFWPgOVX6kfyI0jG741Y4=";
+    hash = "sha256-yH/iK/DuVff2qby/wk6jJ9Tsmxrl9eMrb9bOxCzvmdA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/no/node-problem-detector/package.nix b/pkgs/by-name/no/node-problem-detector/package.nix
index f01d81d5bce7..c0cd62ad3cba 100644
--- a/pkgs/by-name/no/node-problem-detector/package.nix
+++ b/pkgs/by-name/no/node-problem-detector/package.nix
@@ -8,13 +8,13 @@
 
 buildGoModule rec {
   pname = "node-problem-detector";
-  version = "0.8.20";
+  version = "0.8.21";
 
   src = fetchFromGitHub {
     owner = "kubernetes";
     repo = "node-problem-detector";
     rev = "v${version}";
-    sha256 = "sha256-Aw6TDyWczqWgUOCV7f4JSAI4eVcjWgwe2V5qSrx4TBI=";
+    sha256 = "sha256-byxj6EXKAmesFOBtBt0URcT0h1pYdrW8ewtITuEPFcs=";
   };
 
   vendorHash = null;
diff --git a/pkgs/by-name/no/noip/package.nix b/pkgs/by-name/no/noip/package.nix
index a2eb079990ff..e34637688f5c 100644
--- a/pkgs/by-name/no/noip/package.nix
+++ b/pkgs/by-name/no/noip/package.nix
@@ -1,32 +1,26 @@
 {
   lib,
-  stdenv,
+  rustPlatform,
   fetchurl,
 }:
 
-stdenv.mkDerivation {
+rustPlatform.buildRustPackage (finalAttrs: {
   pname = "noip";
-  version = "2.1.9-1";
+  version = "3.3.0";
 
   src = fetchurl {
-    url = "https://www.noip.com/client/linux/noip-duc-linux.tar.gz";
-    sha256 = "82b9bafab96a0c53b21aaef688bf70b3572e26217b5e2072bdb09da3c4a6f593";
+    url = "https://dmej8g5cpdyqd.cloudfront.net/downloads/noip-duc_${finalAttrs.version}.tar.gz";
+    hash = "sha256-e50Wv0dF4/8zp/z2Xp9x4YYWIbAcQ8U8OXoNAE/1ADA=";
   };
 
-  makeFlags = [ "PREFIX=\${out}" ];
-  installPhase = ''
-    mkdir -p $out/bin
-    cp noip2 $out/bin
-  '';
+  cargoHash = "sha256-IX1VrUvix50fFW9Pr6VxrpIhBBTkUuoNH+lXnA41I/4=";
 
-  enableParallelBuilding = true;
-
-  meta = with lib; {
+  meta = {
     description = "Dynamic DNS daemon for no-ip accounts";
     homepage = "http://noip.com/download?page=linux";
     license = lib.licenses.gpl2Plus;
     maintainers = [ lib.maintainers.iand675 ];
-    platforms = platforms.linux;
-    mainProgram = "noip2";
+    platforms = lib.platforms.linux;
+    mainProgram = "noip-duc";
   };
-}
+})
diff --git a/pkgs/by-name/no/nom/package.nix b/pkgs/by-name/no/nom/package.nix
index 4ee8739d1800..3bf6887a388d 100644
--- a/pkgs/by-name/no/nom/package.nix
+++ b/pkgs/by-name/no/nom/package.nix
@@ -5,13 +5,13 @@
 }:
 buildGoModule rec {
   pname = "nom";
-  version = "2.8.2";
+  version = "2.10.0";
 
   src = fetchFromGitHub {
     owner = "guyfedwards";
     repo = "nom";
     tag = "v${version}";
-    hash = "sha256-SkmY3eFEAC4EJtFpe6FwRmECIZJa/Oyb1yov75ySSH0=";
+    hash = "sha256-F1lKBfDufotQjVNJ1yMosRl1UlGMBlYCTHXdCzeVflg=";
   };
 
   vendorHash = "sha256-d5KTDZKfuzv84oMgmsjJoXGO5XYLVKxOB5XehqgRvYw=";
diff --git a/pkgs/by-name/no/nomad-driver-podman/package.nix b/pkgs/by-name/no/nomad-driver-podman/package.nix
index 45e09131d3ea..8d5f9122fce2 100644
--- a/pkgs/by-name/no/nomad-driver-podman/package.nix
+++ b/pkgs/by-name/no/nomad-driver-podman/package.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "nomad-driver-podman";
-  version = "0.6.2";
+  version = "0.6.3";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "nomad-driver-podman";
     rev = "v${version}";
-    sha256 = "sha256-QvIc0RNQX9do6pTyGbJTTR7jANp50DVlHsl/8teiCnY=";
+    sha256 = "sha256-foGbOIR1pdimMKVVrnvffNfqcWDwomenxtE696I1KwE=";
   };
 
-  vendorHash = "sha256-9uXpcF/b2iR3xwVQ6XwJ9USuVqzYND4nuGMjMmEIbVs=";
+  vendorHash = "sha256-nQTxadv2EBf4U0dXQXXAetqk9SzB8s+WyU9nRD+I438=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/by-name/no/normaliz/package.nix b/pkgs/by-name/no/normaliz/package.nix
index 50de4181591a..5d0d2e6db329 100644
--- a/pkgs/by-name/no/normaliz/package.nix
+++ b/pkgs/by-name/no/normaliz/package.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "normaliz";
-  version = "3.10.4";
+  version = "3.10.5";
 
   src = fetchFromGitHub {
     owner = "normaliz";
     repo = "normaliz";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-qmbLgjAkLrW8rqFthK3H4n63zLVJ33Pe82V7yU1StOo=";
+    hash = "sha256-Ku5OTtRxrs9qaSE0mle17eJSE2yKZUUsflEZk4k91jM=";
   };
 
   buildInputs = [
diff --git a/pkgs/by-name/no/noto-fonts/package.nix b/pkgs/by-name/no/noto-fonts/package.nix
index 0c9d6ddef625..3304e57b49e5 100644
--- a/pkgs/by-name/no/noto-fonts/package.nix
+++ b/pkgs/by-name/no/noto-fonts/package.nix
@@ -20,13 +20,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "noto-fonts${suffix}";
-  version = "2025.05.01";
+  version = "2025.06.01";
 
   src = fetchFromGitHub {
     owner = "notofonts";
     repo = "notofonts.github.io";
     rev = "noto-monthly-release-${version}";
-    hash = "sha256-voOizeGK7fU2bGLoNBhdNIfleDCu84nFiEHo5lCIye4=";
+    hash = "sha256-6lbNJjkf6lnPPZzHO3vtsXEuPQs6ewslgnQIeDhF2yk=";
   };
 
   outputs = [
diff --git a/pkgs/by-name/no/nova/package.nix b/pkgs/by-name/no/nova/package.nix
index 0f6822fb9a47..3bc68697f961 100644
--- a/pkgs/by-name/no/nova/package.nix
+++ b/pkgs/by-name/no/nova/package.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "nova";
-  version = "3.11.2";
+  version = "3.11.4";
 
   src = fetchFromGitHub {
     owner = "FairwindsOps";
     repo = "nova";
     rev = "v${version}";
-    hash = "sha256-7GAA5Kc5ximdf71Bd8Q5o2pXixLOobXykKxfI31j/4A=";
+    hash = "sha256-0jDmuZqq3NNTekmu6saUjCuc0G0tj10hV0tRjwkYQg4=";
   };
 
-  vendorHash = "sha256-tWUE3OUpacxRpShbJQtFbHhjEDt4ULL1wc4vfX4DJ2c=";
+  vendorHash = "sha256-qXYhj3vVS6MoU4JPEDIxDZNDM2j/4Nxp6ZSlqUYVjMA=";
 
   ldflags = [
     "-X main.version=${version}"
diff --git a/pkgs/by-name/no/novops/package.nix b/pkgs/by-name/no/novops/package.nix
index 8898152794e1..d0d6d9b60ff8 100644
--- a/pkgs/by-name/no/novops/package.nix
+++ b/pkgs/by-name/no/novops/package.nix
@@ -11,17 +11,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "novops";
-  version = "0.19.0";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "PierreBeucher";
     repo = "novops";
     rev = "v${version}";
-    hash = "sha256-bpv8Ybrsb2CAV8Qxj69F2E/mekYsOuAiZWuDNHDtxw0=";
+    hash = "sha256-TvlbA9RXuAPm1rN3VaIrVKMfyePT9oLSh87Bqclwcj8=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-w5jBCVoLm0zzLMa7COHsQbHq+TlJZCnabNZyO8nlTKk=";
+  cargoHash = "sha256-oXOK8LQZ2+u566HIi0DYuocEsZMfj1ogkHciH8hFVR8=";
 
   buildInputs =
     [
diff --git a/pkgs/by-name/ns/nsis/package.nix b/pkgs/by-name/ns/nsis/package.nix
index c16c9cea6bad..7d93e463090e 100644
--- a/pkgs/by-name/ns/nsis/package.nix
+++ b/pkgs/by-name/ns/nsis/package.nix
@@ -11,15 +11,15 @@
 
 stdenv.mkDerivation rec {
   pname = "nsis";
-  version = "3.06.1";
+  version = "3.11";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/nsis/NSIS%203/${version}/nsis-${version}-src.tar.bz2";
-    sha256 = "1w1z2m982l6j8lw8hy91c3979wbnqglcf4148f9v79vl32znhpcv";
+    sha256 = "19e72062676ebdc67c11dc032ba80b979cdbffd3886c60b04bb442cdd401ff4b";
   };
   srcWinDistributable = fetchzip {
     url = "mirror://sourceforge/project/nsis/NSIS%203/${version}/nsis-${version}.zip";
-    sha256 = "04qm9jqbcybpwcrjlksggffdyafzwxxcaz9xhjw8w5rb95x7lw5q";
+    sha256 = "e574f335ab9d3ad73118f46615e5c9f2a52f3e4622ecbb7e5886badbc8601348";
   };
 
   postUnpack = ''
@@ -48,6 +48,7 @@ stdenv.mkDerivation rec {
     "SKIPUTILS=all"
     "SKIPMISC=all"
     "NSIS_CONFIG_CONST_DATA=no"
+    "VERSION=${version}"
   ] ++ lib.optional stdenv.hostPlatform.isDarwin "APPEND_LINKFLAGS=-liconv";
 
   preBuild = ''
diff --git a/pkgs/by-name/nt/ntl/package.nix b/pkgs/by-name/nt/ntl/package.nix
index 82dc3bb533c5..1eff2a017640 100644
--- a/pkgs/by-name/nt/ntl/package.nix
+++ b/pkgs/by-name/nt/ntl/package.nix
@@ -80,5 +80,8 @@ stdenv.mkDerivation rec {
     teams = [ teams.sage ];
     license = licenses.gpl2Plus;
     platforms = platforms.all;
+    # Does not cross compile
+    # https://github.com/libntl/ntl/issues/8
+    broken = !(stdenv.buildPlatform.canExecute stdenv.hostPlatform);
   };
 }
diff --git a/pkgs/by-name/nu/nu_scripts/package.nix b/pkgs/by-name/nu/nu_scripts/package.nix
index 6ff0f5a3bc72..07e121cd766f 100644
--- a/pkgs/by-name/nu/nu_scripts/package.nix
+++ b/pkgs/by-name/nu/nu_scripts/package.nix
@@ -7,13 +7,13 @@
 
 stdenvNoCC.mkDerivation {
   pname = "nu_scripts";
-  version = "0-unstable-2025-06-05";
+  version = "0-unstable-2025-06-12";
 
   src = fetchFromGitHub {
     owner = "nushell";
     repo = "nu_scripts";
-    rev = "6fe7713322d95be89677389f812eceab6d4b89e2";
-    hash = "sha256-Dq5KwKpnpX9YJIj7FM5fNaeMNdk/BHji2CesIE6Ndps=";
+    rev = "32cdc96414995e41de2a653719b7ae7375352eef";
+    hash = "sha256-vn/YosQZ4OkWQqG4etNwISjzGJfxMucgC3wMpMdUwUg=";
   };
 
   installPhase = ''
diff --git a/pkgs/by-name/nu/nuclear/package.nix b/pkgs/by-name/nu/nuclear/package.nix
index f43355122561..915574ad1bcc 100644
--- a/pkgs/by-name/nu/nuclear/package.nix
+++ b/pkgs/by-name/nu/nuclear/package.nix
@@ -5,7 +5,7 @@
 }:
 let
   pname = "nuclear";
-  version = "0.6.47";
+  version = "0.6.48";
 
   src = fetchurl {
     # Nuclear currently only publishes AppImage releases for x86_64, which is hardcoded in
@@ -13,7 +13,7 @@ let
     # provide more arches, we should use stdenv.hostPlatform to determine the arch and choose
     # source URL accordingly.
     url = "https://github.com/nukeop/nuclear/releases/download/v${version}/${pname}-v${version}-x86_64.AppImage";
-    hash = "sha256-mwCQ6jddNF3knf1w0nztlyB/ijPsyjjV6aMcoYkadRI=";
+    hash = "sha256-k3qGWPn+O4kazsrrZAYHIvSrrix9LNnnJgZGJqlJbJE=";
   };
 
   appimageContents = appimageTools.extract { inherit pname version src; };
diff --git a/pkgs/by-name/nu/nuclei-templates/package.nix b/pkgs/by-name/nu/nuclei-templates/package.nix
index 3b2e538d82b6..f6a8d985298c 100644
--- a/pkgs/by-name/nu/nuclei-templates/package.nix
+++ b/pkgs/by-name/nu/nuclei-templates/package.nix
@@ -6,13 +6,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "nuclei-templates";
-  version = "10.2.2";
+  version = "10.2.3";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = "nuclei-templates";
     tag = "v${version}";
-    hash = "sha256-FWOfh/W2Hy01Z7oEItLtWidbvEfwVBDU9KAaCoFO0AI=";
+    hash = "sha256-WncT1mij/EncI+uGyDJLfK1Qk7kQAEDbeUdIcI67zPk=";
   };
 
   installPhase = ''
diff --git a/pkgs/by-name/nu/nuclei/package.nix b/pkgs/by-name/nu/nuclei/package.nix
index 718f411c1867..68d87769cd3a 100644
--- a/pkgs/by-name/nu/nuclei/package.nix
+++ b/pkgs/by-name/nu/nuclei/package.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "nuclei";
-  version = "3.4.4";
+  version = "3.4.5";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = "nuclei";
     tag = "v${version}";
-    hash = "sha256-pZA7Alrn3E9w283nQ5G0sVaTd8/QqnMqa3WGaMsNllQ=";
+    hash = "sha256-X2jgmSEpfeq6vet37wWL2SP3GRHIyQpU6eMNIEPISZQ=";
   };
 
-  vendorHash = "sha256-mrLXVfZR+OtinIsvRaEMss//oKl6IWDFcfS8ku05zx4=";
+  vendorHash = "sha256-eRuTv4F669S7YqKC4cbwRp7veWUUsIGMMyyUzLqbZ5k=";
 
   proxyVendor = true; # hash mismatch between Linux and Darwin
 
diff --git a/pkgs/by-name/nu/nufmt/package.nix b/pkgs/by-name/nu/nufmt/package.nix
index 04f4046be16d..ffdc803ac7f5 100644
--- a/pkgs/by-name/nu/nufmt/package.nix
+++ b/pkgs/by-name/nu/nufmt/package.nix
@@ -1,19 +1,19 @@
 {
   lib,
   fetchFromGitHub,
-  rustPlatform,
   nix-update-script,
+  rustPlatform,
+  stdenv,
 }:
-
 rustPlatform.buildRustPackage {
   pname = "nufmt";
-  version = "0-unstable-2025-04-28";
+  version = "0-unstable-2025-05-23";
 
   src = fetchFromGitHub {
     owner = "nushell";
     repo = "nufmt";
-    rev = "feafe695659c4d5153018a78fad949d088d8a480";
-    hash = "sha256-4FnZIlZWuvSAXMQbdyONNrgIuMxH5Vq3MFbb8J2CnHM=";
+    rev = "62fd38af2f6536bb19ecc78a4dd0f0e1245c0939";
+    hash = "sha256-JG8XCXEdjVERQ9f6ZsYCLXVGN85qPWCQhS2svJYW390=";
   };
 
   nativeBuildInputs = [
@@ -21,7 +21,14 @@ rustPlatform.buildRustPackage {
   ];
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-zS4g/uMh1eOoPo/RZfanL6afCEU5cnyzHrIqkvuQVrg=";
+  cargoHash = "sha256-KDXC2/1GcJL6qH+L/FzzQCA7kJigtKOfxVDLv5qXYao=";
+
+  # NOTE: Patch follows similar intention upstream https://github.com/nushell/nufmt/commit/62fd38af2f6536bb19ecc78a4dd0f0e1245c0939
+  postPatch = ''
+    substituteInPlace tests/main.rs --replace-fail \
+      'const TEST_BINARY: &str = "target/debug/nufmt";' \
+      'const TEST_BINARY: &str = "target/${stdenv.hostPlatform.rust.rustcTarget}/release/nufmt";'
+  '';
 
   passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; };
 
diff --git a/pkgs/by-name/nu/nugget-doom/package.nix b/pkgs/by-name/nu/nugget-doom/package.nix
new file mode 100644
index 000000000000..b4fcc45a49b9
--- /dev/null
+++ b/pkgs/by-name/nu/nugget-doom/package.nix
@@ -0,0 +1,57 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  cmake,
+  python3,
+  SDL2,
+  SDL2_net,
+  alsa-lib,
+  fluidsynth,
+  libebur128,
+  libsndfile,
+  libxmp,
+  openal,
+  yyjson,
+  nix-update-script,
+}:
+stdenv.mkDerivation (finalAttrs: {
+  pname = "nugget-doom";
+  version = "4.3.0";
+
+  src = fetchFromGitHub {
+    owner = "MrAlaux";
+    repo = "Nugget-Doom";
+    tag = "nugget-doom-${finalAttrs.version}";
+    hash = "sha256-T85UwCl75/RPOscfcRVlF3HhjlDVM2+W1L002UGNLZU=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    python3
+  ];
+
+  buildInputs = [
+    SDL2
+    SDL2_net
+    alsa-lib
+    fluidsynth
+    libebur128
+    libsndfile
+    libxmp
+    openal
+    yyjson
+  ];
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    description = "Doom source port forked from Woof! with additional features";
+    homepage = "https://github.com/MrAlaux/Nugget-Doom";
+    changelog = "https://github.com/fabiangreffrath/woof/blob/${finalAttrs.src.rev}/CHANGELOG.md";
+    license = lib.licenses.gpl2Plus;
+    maintainers = with lib.maintainers; [ bandithedoge ];
+    mainProgram = "nugget-doom";
+    platforms = with lib.platforms; linux ++ darwin ++ windows;
+  };
+})
diff --git a/pkgs/by-name/nu/numatop/package.nix b/pkgs/by-name/nu/numatop/package.nix
index 16f5401f8838..5f5a867baed4 100644
--- a/pkgs/by-name/nu/numatop/package.nix
+++ b/pkgs/by-name/nu/numatop/package.nix
@@ -2,7 +2,6 @@
   lib,
   stdenv,
   fetchFromGitHub,
-  fetchpatch,
   autoreconfHook,
   pkg-config,
   numactl,
@@ -10,49 +9,37 @@
   check,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "numatop";
-  version = "2.2";
+  version = "2.5.1";
+
   src = fetchFromGitHub {
     owner = "intel";
     repo = "numatop";
-    rev = "v${version}";
-    sha256 = "sha256-GJvTwqgx34ZW10eIJj/xiKe3ZkAfs7GlJImz8jrnjfI=";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-951Sm2zu1mPxMbPdZy+kMH8RAQo0z+Gqf2lxsY/+Lrg=";
   };
 
   nativeBuildInputs = [
     autoreconfHook
     pkg-config
   ];
+
   buildInputs = [
     numactl
     ncurses
   ];
-  nativeCheckInputs = [ check ];
 
-  patches = [
-    (fetchpatch {
-      # https://github.com/intel/numatop/pull/54
-      url = "https://github.com/intel/numatop/compare/eab0ac5253c5843aa0f0ac36e2eec7612207711b...c1001fd926c24eae2d40729492e07270ce133b72.patch";
-      sha256 = "sha256-TbMLv7TT9T8wE4uJ1a/AroyPPwrwL0eX5IBLsh9GTTM=";
-      name = "fix-string-operations.patch";
-    })
-    (fetchpatch {
-      # https://github.com/intel/numatop/pull/64
-      url = "https://github.com/intel/numatop/commit/635e2ce2ccb1ac793cc276a7fcb8a92b1ffefa5d.patch";
-      sha256 = "sha256-IevbSFJRTS5iQ5apHOVXzF67f3LJaW6j7DySFmVuyiM=";
-      name = "fix-format-strings-mvwprintw.patch";
-    })
-  ];
+  nativeCheckInputs = [ check ];
 
   doCheck = true;
 
-  meta = with lib; {
+  meta = {
     description = "Tool for runtime memory locality characterization and analysis of processes and threads on a NUMA system";
     mainProgram = "numatop";
     homepage = "https://01.org/numatop";
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ dtzWill ];
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ dtzWill ];
     platforms = [
       "i686-linux"
       "x86_64-linux"
@@ -60,4 +47,4 @@ stdenv.mkDerivation rec {
       "powerpc64le-linux"
     ];
   };
-}
+})
diff --git a/pkgs/by-name/nv/nvc/package.nix b/pkgs/by-name/nv/nvc/package.nix
index 4b42bcf6d857..42f806422fdd 100644
--- a/pkgs/by-name/nv/nvc/package.nix
+++ b/pkgs/by-name/nv/nvc/package.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nvc";
-  version = "1.16.1";
+  version = "1.16.2";
 
   src = fetchFromGitHub {
     owner = "nickg";
     repo = "nvc";
-    rev = "r${version}";
-    hash = "sha256-7hTlY/WKJaw+ZMSn8A5F0p1vhg67NUY/CCjw7xdOg2M=";
+    tag = "r${version}";
+    hash = "sha256-A7NrYHX46vx9mD/J02cl0MMCTlgW/MjRFcXwuFPK9E8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/nv/nvidia-container-toolkit/nvidia-docker.nix b/pkgs/by-name/nv/nvidia-container-toolkit/nvidia-docker.nix
index aedeb2b39599..983bbcc89a47 100644
--- a/pkgs/by-name/nv/nvidia-container-toolkit/nvidia-docker.nix
+++ b/pkgs/by-name/nv/nvidia-container-toolkit/nvidia-docker.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
 
   src = fetchFromGitHub {
     owner = "NVIDIA";
-    repo = pname;
+    repo = "nvidia-docker";
     rev = "v${version}";
     hash = "sha256-kHzwFnN/DbpOe1sYDJkrRMxXE1bMiyuCPsbPGq07M9g=";
   };
diff --git a/pkgs/by-name/nv/nvidia-modprobe/package.nix b/pkgs/by-name/nv/nvidia-modprobe/package.nix
index c99a8ef8afae..e47e844e85fb 100644
--- a/pkgs/by-name/nv/nvidia-modprobe/package.nix
+++ b/pkgs/by-name/nv/nvidia-modprobe/package.nix
@@ -6,13 +6,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "nvidia-modprobe";
-  version = "575.57.08";
+  version = "575.64";
 
   src = fetchFromGitHub {
     owner = "NVIDIA";
     repo = "nvidia-modprobe";
     rev = version;
-    hash = "sha256-KpHhPFl+cNTQpld9LtI9yLidN9gj1zNz+jKfzF+n+sI=";
+    hash = "sha256-V0kD0Kk9PaIzQ9tGd9Tb16wwcvyCg4+1Sm+PwCC98Zs=";
   };
 
   nativeBuildInputs = [ gnum4 ];
diff --git a/pkgs/by-name/nv/nvme-rs/package.nix b/pkgs/by-name/nv/nvme-rs/package.nix
index 3620fe08c45d..f674df582898 100644
--- a/pkgs/by-name/nv/nvme-rs/package.nix
+++ b/pkgs/by-name/nv/nvme-rs/package.nix
@@ -11,17 +11,17 @@
 
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "nvme-rs";
-  version = "0.1.0";
+  version = "0.1.1";
 
   src = fetchFromGitHub {
     owner = "liberodark";
     repo = "nvme-rs";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-yM0jzqO+BpsIcr+IMZf5idAY4DTpLxP1VGISzhWhOlI=";
+    hash = "sha256-lkuOPe5gYhboK9zylTCVN1DFWCFRHhfJa7tNEHH/GQM=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-V9drHGeY0dvMVdCd016kELGZe7r/Qhia8fGRI9CO/ns=";
+  cargoHash = "sha256-MNEG6GGfMg1FXodD8yEMqvm8lYkQgYXMc/vR4lV166I=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/by-name/nw/nwg-look/package.nix b/pkgs/by-name/nw/nwg-look/package.nix
index 96a9e5b19964..0da3a4ae20ca 100644
--- a/pkgs/by-name/nw/nwg-look/package.nix
+++ b/pkgs/by-name/nw/nwg-look/package.nix
@@ -14,13 +14,13 @@
 
 buildGoModule rec {
   pname = "nwg-look";
-  version = "1.0.5";
+  version = "1.0.6";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
     repo = "nwg-look";
     rev = "v${version}";
-    hash = "sha256-SyGyW4Hq0zT+jBrCmsuG+9Smcu4ruP6+aR3VUK205MM=";
+    hash = "sha256-cNVUgtbdzEuttDO7DZyipDugACr/fIU8RKmh5trykPw=";
   };
 
   vendorHash = "sha256-8ooWJTOC4fmuu+/Dy7JOaGSO5YlsMfKcf2lyv2ojJIw=";
diff --git a/pkgs/by-name/nw/nwg-menu/package.nix b/pkgs/by-name/nw/nwg-menu/package.nix
index 7942430a26db..b45d9312e318 100644
--- a/pkgs/by-name/nw/nwg-menu/package.nix
+++ b/pkgs/by-name/nw/nwg-menu/package.nix
@@ -14,16 +14,16 @@
 
 buildGoModule rec {
   pname = "nwg-menu";
-  version = "0.1.8";
+  version = "0.1.9";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
     repo = "nwg-menu";
     rev = "v${version}";
-    sha256 = "sha256-Ce8hxFVCj/No2Sb6avQ9ogMPTJXDcWxa3GFfsczq1+E=";
+    sha256 = "sha256-3fN89HPwobMiijlvGJ80HexCBdsPLsEvAz9VH8dO4qc=";
   };
 
-  vendorHash = "sha256-53lRO4Ct20jYJY7JRElx9MWzb+TEm8KIIJZF3OfL1kQ=";
+  vendorHash = "sha256-5gazNUZdPZh21lcnVFKPSDc/JLi8d6tqfP4NKMzPa8U=";
 
   doCheck = false;
 
diff --git a/pkgs/by-name/nw/nwg-panel/package.nix b/pkgs/by-name/nw/nwg-panel/package.nix
index dec6073e3687..182e06e9512a 100644
--- a/pkgs/by-name/nw/nwg-panel/package.nix
+++ b/pkgs/by-name/nw/nwg-panel/package.nix
@@ -23,13 +23,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "nwg-panel";
-  version = "0.10.6";
+  version = "0.10.7";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
     repo = "nwg-panel";
     tag = "v${version}";
-    hash = "sha256-+LnnYP7AA/Gohusk9/lvvxdHpnOfMhBu58UB/LhkMX4=";
+    hash = "sha256-w5wpOjaWBVOLQDzneGl2K2kKN4yA9dhnfmwn8tynTKI=";
   };
 
   # No tests
diff --git a/pkgs/by-name/nw/nwjs-ffmpeg-prebuilt/package.nix b/pkgs/by-name/nw/nwjs-ffmpeg-prebuilt/package.nix
index b4b8f08b630c..c0a83a38dfad 100644
--- a/pkgs/by-name/nw/nwjs-ffmpeg-prebuilt/package.nix
+++ b/pkgs/by-name/nw/nwjs-ffmpeg-prebuilt/package.nix
@@ -7,7 +7,7 @@
 
 let
   bits = if stdenv.hostPlatform.is64bit then "x64" else "ia32";
-  version = "0.100.0";
+  version = "0.100.1";
 in
 stdenv.mkDerivation {
   pname = "nwjs-ffmpeg-prebuilt";
@@ -16,8 +16,8 @@ stdenv.mkDerivation {
   src =
     let
       hashes = {
-        "x64" = "sha256-F82ofunAKVVTu0hjAOj2i0ZBr7HcbeXEqQvnipQe7hI=";
-        "ia32" = "sha256-F82ofunAKVVTu0hjAOj2i0ZBr7HcbeXEqQvnipQe7hI=";
+        "x64" = "sha256-+XvY8zK/HlrE8difeMnc+smy2+ydAqKd+7nZ1slx5y4=";
+        "ia32" = "sha256-+XvY8zK/HlrE8difeMnc+smy2+ydAqKd+7nZ1slx5y4=";
       };
     in
     fetchurl {
diff --git a/pkgs/by-name/nz/nzbhydra2/package.nix b/pkgs/by-name/nz/nzbhydra2/package.nix
index 4c38a3ef3810..e0550f92f212 100644
--- a/pkgs/by-name/nz/nzbhydra2/package.nix
+++ b/pkgs/by-name/nz/nzbhydra2/package.nix
@@ -10,11 +10,11 @@
 }:
 stdenv.mkDerivation rec {
   pname = "nzbhydra2";
-  version = "7.13.2";
+  version = "7.15.1";
 
   src = fetchzip {
     url = "https://github.com/theotherp/nzbhydra2/releases/download/v${version}/nzbhydra2-${version}-generic.zip";
-    hash = "sha256-l2BBbNW6Yy6oFXYNhqKNscBg7x/vNJNh7LD+AbXDdd4=";
+    hash = "sha256-snoJrPrls78+KRSLNEERS6CYOk0DUv3IyZG9Bz72Mgo=";
     stripRoot = false;
   };
 
diff --git a/pkgs/by-name/oa/oama/package.nix b/pkgs/by-name/oa/oama/package.nix
index d68fc20ae775..7a282ca82f88 100644
--- a/pkgs/by-name/oa/oama/package.nix
+++ b/pkgs/by-name/oa/oama/package.nix
@@ -2,6 +2,12 @@
   haskell,
   lib,
   stdenv,
+  coreutils,
+  libsecret,
+  gnupg,
+  makeBinaryWrapper,
+  withLibsecret ? true, # default oama config uses libsecret
+  withGpg ? false,
 }:
 let
   inherit (haskell.lib.compose) overrideCabal justStaticExecutables;
@@ -12,6 +18,19 @@ let
     maintainers = with lib.maintainers; [ aidalgol ];
 
     passthru.updateScript = ./update.sh;
+
+    buildDepends = [
+      makeBinaryWrapper
+    ];
+
+    postInstall = ''
+      wrapProgram $out/bin/oama \
+        --prefix PATH : ${
+          lib.makeBinPath (
+            [ coreutils ] ++ lib.optional withLibsecret libsecret ++ lib.optional withGpg gnupg
+          )
+        }
+    '';
   };
 
   raw-pkg = haskell.packages.ghc912.callPackage ./generated-package.nix { };
diff --git a/pkgs/by-name/ob/objfw/package.nix b/pkgs/by-name/ob/objfw/package.nix
index ebda5feb6aa0..0ddcc1fc0795 100644
--- a/pkgs/by-name/ob/objfw/package.nix
+++ b/pkgs/by-name/ob/objfw/package.nix
@@ -11,12 +11,12 @@
 
 clangStdenv.mkDerivation (finalAttrs: {
   pname = "objfw";
-  version = "1.3";
+  version = "1.3.2";
 
   src = fetchfossil {
     url = "https://objfw.nil.im/home";
     rev = "${finalAttrs.version}-release";
-    hash = "sha256-2ESlN3BeVWZElcQLgjMs8B7HRTC0xHuYrLH362npa+Q=";
+    hash = "sha256-cFYsiNG60FyDXAeiuBZn/u/1dEawVAxF7EDFBZRYt7w=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/ob/obs-do/package.nix b/pkgs/by-name/ob/obs-do/package.nix
index f23258a3348f..7a4eff5a4c7a 100644
--- a/pkgs/by-name/ob/obs-do/package.nix
+++ b/pkgs/by-name/ob/obs-do/package.nix
@@ -7,17 +7,17 @@
 }:
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "obs-do";
-  version = "0.1.8";
+  version = "0.1.9";
 
   src = fetchFromGitHub {
     owner = "jonhoo";
     repo = "obs-do";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-mYxOjUVjICVqFFw1SX7TsVkbnvhilVmj+8LSZTNBbFE=";
+    hash = "sha256-Lx2938VCqNsyKSAUie8MMOSsFYfvvEZ4dCHJ03y6+TY=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-OgSEJOY0m3wfccPfhIon11xyC/ywYaTBjGYLkRr/y/Q=";
+  cargoHash = "sha256-U/E+gWzJgpF2iZN0jYgAXC58AH64HI8AvvTfD9YaerI=";
 
   nativeInstallCheckInputs = [ versionCheckHook ];
   versionCheckProgramArg = "--version";
diff --git a/pkgs/by-name/oc/ocf-resource-agents/package.nix b/pkgs/by-name/oc/ocf-resource-agents/package.nix
index b16cfd631d14..e467d5ddfd01 100644
--- a/pkgs/by-name/oc/ocf-resource-agents/package.nix
+++ b/pkgs/by-name/oc/ocf-resource-agents/package.nix
@@ -29,7 +29,7 @@ let
 
     src = fetchFromGitHub {
       owner = "ClusterLabs";
-      repo = pname;
+      repo = "resource-agents";
       rev = "v${version}";
       sha256 = "0haryi3yrszdfpqnkfnppxj1yiy6ipah6m80snvayc7v0ss0wnir";
     };
diff --git a/pkgs/by-name/oc/oci-cli/package.nix b/pkgs/by-name/oc/oci-cli/package.nix
index f4320471c193..a6e1c0604fb5 100644
--- a/pkgs/by-name/oc/oci-cli/package.nix
+++ b/pkgs/by-name/oc/oci-cli/package.nix
@@ -25,14 +25,14 @@ in
 
 py.pkgs.buildPythonApplication rec {
   pname = "oci-cli";
-  version = "3.56.1";
+  version = "3.58.1";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "oracle";
     repo = "oci-cli";
     tag = "v${version}";
-    hash = "sha256-KvyhQ8MM74MYR8gf18XVYZrOSEKcOqdmyITg2UyNqp8=";
+    hash = "sha256-h/iFB7JIrVa/FBCMqjYIeN9DlF/H8oQYHtYT9bII/CU=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/by-name/oc/ocsp-server/package.nix b/pkgs/by-name/oc/ocsp-server/package.nix
index 736beb3efb4f..ad5bec716b83 100644
--- a/pkgs/by-name/oc/ocsp-server/package.nix
+++ b/pkgs/by-name/oc/ocsp-server/package.nix
@@ -6,6 +6,7 @@
   openssl,
   perl,
   libmysqlclient,
+  sqlite,
   mariadb,
   postgresql,
   mbedtls,
@@ -15,26 +16,33 @@
 
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "ocsp-server";
-  version = "0.4.1";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "DorianCoding";
     repo = "OCSP-server";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-xYZ2NM+U7ZW5xDKVUhT+s66i/d7zaDLBbSbr6TDOG0o=";
+    hash = "sha256-QaPE1mbOI6+D2pPfhpMA8LmWXKqkOoLLBQSVxdlNkoY=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-RFrm2dtjJ2VvOg8ee54ps8MuWgsV0kd9rhpzOFTem2k=";
+  cargoHash = "sha256-qaDnMbAQA5c8Nim28HAN9QB1cxfBRaFAy8xh41Iekds=";
+
+  checkFlags = [
+    # Requires database access
+    "--skip=test::checkconfig"
+  ];
 
   nativeBuildInputs = [
     pkg-config
     perl
     libmysqlclient
+    sqlite
   ];
 
   buildInputs = [
     openssl
+    sqlite
     mariadb
     postgresql
     mbedtls
diff --git a/pkgs/by-name/oc/octoprint/package.nix b/pkgs/by-name/oc/octoprint/package.nix
index 182f7382702f..d6d4112bdfbe 100644
--- a/pkgs/by-name/oc/octoprint/package.nix
+++ b/pkgs/by-name/oc/octoprint/package.nix
@@ -73,13 +73,13 @@ let
       (self: super: {
         octoprint = self.buildPythonPackage rec {
           pname = "OctoPrint";
-          version = "1.11.1";
+          version = "1.11.2";
 
           src = fetchFromGitHub {
             owner = "OctoPrint";
             repo = "OctoPrint";
             rev = version;
-            hash = "sha256-eH5AWeER2spiWgtRM5zMp40OakpM5TMXO07WjdY7gNU=";
+            hash = "sha256-D6lIEa7ee44DWavMLaXIo7RsKwaMneYqOBQk626pI20=";
           };
 
           propagatedBuildInputs =
diff --git a/pkgs/by-name/of/ofono/package.nix b/pkgs/by-name/of/ofono/package.nix
index 29b8dc83cb71..2b741a09015c 100644
--- a/pkgs/by-name/of/ofono/package.nix
+++ b/pkgs/by-name/of/ofono/package.nix
@@ -2,7 +2,6 @@
   lib,
   stdenv,
   fetchzip,
-  fetchpatch,
   testers,
   autoreconfHook,
   pkg-config,
@@ -17,7 +16,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "ofono";
-  version = "2.14";
+  version = "2.17";
 
   outputs = [
     "out"
@@ -26,30 +25,10 @@ stdenv.mkDerivation (finalAttrs: {
 
   src = fetchzip {
     url = "https://git.kernel.org/pub/scm/network/ofono/ofono.git/snapshot/ofono-${finalAttrs.version}.tar.gz";
-    sha256 = "sha256-7hYGSU8mEu9MfKAA0vR1tm/l46hHQmpZSYfMNkces5c=";
+    hash = "sha256-VJhLJeC1pwXuAadKvYPel6Xb3RZG4vwDhhKefRVrt3Y=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "0001-ofono-CVE-2024-7539.patch";
-      url = "https://git.kernel.org/pub/scm/network/ofono/ofono.git/patch/?id=389e2344f86319265fb72ae590b470716e038fdc";
-      hash = "sha256-jaZswtkWa8A9WlmjUxcwWtU2uUX5+g8m2Y/60Lb9C5Q=";
-    })
-
-    (fetchpatch {
-      name = "0002-ofono-CVE-2024-7540-through-7542.patch";
-      url = "https://git.kernel.org/pub/scm/network/ofono/ofono.git/patch/?id=29ff6334b492504ace101be748b256e6953d2c2f";
-      hash = "sha256-3iKG+5AQUVO4alZd3stTpyanwI2IfKbVTzatflMsurY=";
-    })
-
-    (fetchpatch {
-      name = "0003-ofono-Ensure-decode_hex_own_buf-valid-buffer.patch";
-      url = "https://git.kernel.org/pub/scm/network/ofono/ofono.git/patch/?id=1e2a768445aecfa0a0e9c788651a9205cfd3744f";
-      hash = "sha256-MD+LMnVK1JcVU47jQ+X0AHe8c/WqjsFycDroONE9ZLM=";
-    })
-
-    ./0001-Search-connectors-in-OFONO_PLUGIN_PATH.patch
-  ];
+  patches = [ ./0001-Search-connectors-in-OFONO_PLUGIN_PATH.patch ];
 
   postPatch = ''
     patchShebangs tools/provisiontool
@@ -79,9 +58,7 @@ stdenv.mkDerivation (finalAttrs: {
     "--sysconfdir=/etc"
   ];
 
-  installFlags = [
-    "sysconfdir=${placeholder "out"}/etc"
-  ];
+  installFlags = [ "sysconfdir=${placeholder "out"}/etc" ];
 
   enableParallelBuilding = true;
   enableParallelChecking = false;
diff --git a/pkgs/by-name/oh/oh-my-posh/package.nix b/pkgs/by-name/oh/oh-my-posh/package.nix
index 639b88560c98..6f734f481bd6 100644
--- a/pkgs/by-name/oh/oh-my-posh/package.nix
+++ b/pkgs/by-name/oh/oh-my-posh/package.nix
@@ -6,16 +6,16 @@
 }:
 buildGoModule rec {
   pname = "oh-my-posh";
-  version = "25.23.3";
+  version = "26.8.0";
 
   src = fetchFromGitHub {
     owner = "jandedobbeleer";
     repo = "oh-my-posh";
     tag = "v${version}";
-    hash = "sha256-FStopBbBp5HVH5tXFPpComAuXItEwwtQf8VRGJaicPs=";
+    hash = "sha256-CWc9i+QGdcp+6eRfctn4oJFaQOy8D+jDTHTmUzBXez4=";
   };
 
-  vendorHash = "sha256-BucMDbubJ+gEb5tBBSOf+P0A+KkDnUSAJRALyL9uhXU=";
+  vendorHash = "sha256-oqsQbcvcgid6odTZY7m74NNilBpukEmifqZGx+xeEXA=";
 
   sourceRoot = "${src.name}/src";
 
diff --git a/pkgs/by-name/oh/oh-my-zsh/package.nix b/pkgs/by-name/oh/oh-my-zsh/package.nix
index d0d8e99009e6..d15357b7f6cf 100644
--- a/pkgs/by-name/oh/oh-my-zsh/package.nix
+++ b/pkgs/by-name/oh/oh-my-zsh/package.nix
@@ -19,14 +19,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2025-05-24";
+  version = "2025-06-10";
   pname = "oh-my-zsh";
 
   src = fetchFromGitHub {
     owner = "ohmyzsh";
     repo = "ohmyzsh";
-    rev = "095ac3ca8f4c3a89a69ff3b45cb67346f76babbd";
-    sha256 = "sha256-Xn9JC7ue/G3w/QpgH8tFZI5F8KlxKmue8Of9Sk6eujY=";
+    rev = "042605ee6b2afeb21e380d05b22d5072f0eeff44";
+    sha256 = "sha256-qAD9lSjHDtZoWznbBAnUUI+bMa3DpXaaxNoY5fEN4lY=";
   };
 
   strictDeps = true;
diff --git a/pkgs/by-name/ok/okteto/package.nix b/pkgs/by-name/ok/okteto/package.nix
index db9349c040ae..38f8aae40de4 100644
--- a/pkgs/by-name/ok/okteto/package.nix
+++ b/pkgs/by-name/ok/okteto/package.nix
@@ -9,16 +9,16 @@
 
 buildGoModule (finalAttrs: {
   pname = "okteto";
-  version = "3.7.0";
+  version = "3.8.0";
 
   src = fetchFromGitHub {
     owner = "okteto";
     repo = "okteto";
     rev = finalAttrs.version;
-    hash = "sha256-xJdG5BHlVkK+wGn4ZNFfRoPimnlZrQOLbtKvCnBewqw=";
+    hash = "sha256-ntRMh7sctnAxYN4XZRig/DmYZ/zC/jMyLFDwaH+F9LA=";
   };
 
-  vendorHash = "sha256-zfY/AfSo8f9LALf0FRAdd26Q9xGcKvVAnK3rnACCW4s=";
+  vendorHash = "sha256-A3ZZcyms7XSEB7n3YBytrXhMcI4mWf2pPsLwkF+Z1aQ=";
 
   postPatch = ''
     # Disable some tests that need file system & network access.
diff --git a/pkgs/by-name/ol/ollama/package.nix b/pkgs/by-name/ol/ollama/package.nix
index 0a5c925c77bd..6857406a107a 100644
--- a/pkgs/by-name/ol/ollama/package.nix
+++ b/pkgs/by-name/ol/ollama/package.nix
@@ -117,17 +117,17 @@ in
 goBuild (finalAttrs: {
   pname = "ollama";
   # don't forget to invalidate all hashes each update
-  version = "0.9.0";
+  version = "0.9.1";
 
   src = fetchFromGitHub {
     owner = "ollama";
     repo = "ollama";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-+8UHE9M2JWUARuuIRdKwNkn1hoxtuitVH7do5V5uEg0=";
+    hash = "sha256-6ha8aGRljb/uN+CtPpZDpcAVmpZccCq/1TSCQ5FVL8E=";
     fetchSubmodules = true;
   };
 
-  vendorHash = "sha256-t7+GLNC6mRcXq9ErxN6gGki5WWWoEcMfzRVjta4fddA=";
+  vendorHash = "sha256-svJt7Cuy+auVd8II3+JaAefiZcG88QyDgjWPnpoxfts=";
 
   env =
     lib.optionalAttrs enableRocm {
diff --git a/pkgs/by-name/ol/ols/package.nix b/pkgs/by-name/ol/ols/package.nix
index e2630adc444c..3e7cc1c10415 100644
--- a/pkgs/by-name/ol/ols/package.nix
+++ b/pkgs/by-name/ol/ols/package.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation {
   pname = "ols";
-  version = "0-unstable-2025-05-11";
+  version = "0-unstable-2025-06-05";
 
   src = fetchFromGitHub {
     owner = "DanielGavin";
     repo = "ols";
-    rev = "89f83305019a70d714af015aec734700dfee967c";
-    hash = "sha256-z+0+eEc+DOmHRv4jt3kOq4WvvJ4o+h9j/JDYgmxNCms=";
+    rev = "c2a2283bf4e0cc2c2b25a6ee2014a18c3b11f3c7";
+    hash = "sha256-1okhaQ8L60FUIDfFsQtlcWyRlVStaOMDAscw3YiZCYo=";
   };
 
   postPatch = ''
diff --git a/pkgs/by-name/ol/olympus-unwrapped/deps.json b/pkgs/by-name/ol/olympus-unwrapped/deps.json
new file mode 100644
index 000000000000..e533ddd8abfc
--- /dev/null
+++ b/pkgs/by-name/ol/olympus-unwrapped/deps.json
@@ -0,0 +1,317 @@
+[
+  {
+    "pname": "Microsoft.NETCore.Platforms",
+    "version": "1.1.0",
+    "hash": "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="
+  },
+  {
+    "pname": "Microsoft.NETCore.Targets",
+    "version": "1.1.0",
+    "hash": "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ="
+  },
+  {
+    "pname": "Mono.Cecil",
+    "version": "0.11.4",
+    "hash": "sha256-HrnRgFsOzfqAWw0fUxi/vkzZd8dMn5zueUeLQWA9qvs="
+  },
+  {
+    "pname": "MonoMod",
+    "version": "22.1.4.3",
+    "hash": "sha256-kindD5YUjBWsopvEnmOL4XsldgwE1zRrmMxIh6nDua8="
+  },
+  {
+    "pname": "MonoMod.RuntimeDetour",
+    "version": "22.1.4.3",
+    "hash": "sha256-m7FN3SGME4GRGuc7l5ClCT9W3mXqbbhAJHHpWwYqLi8="
+  },
+  {
+    "pname": "MonoMod.RuntimeDetour.HookGen",
+    "version": "22.1.4.3",
+    "hash": "sha256-DuOnuXQcS63Z/y5s3q5FHZiqWTPgayNpylkzRzl6pE4="
+  },
+  {
+    "pname": "MonoMod.Utils",
+    "version": "22.1.4.3",
+    "hash": "sha256-0KyqozOCC26+z5+Ah35iFvRwrPXvvxDlEq6gLl5lPNU="
+  },
+  {
+    "pname": "Newtonsoft.Json",
+    "version": "13.0.1",
+    "hash": "sha256-K2tSVW4n4beRPzPu3rlVaBEMdGvWSv/3Q1fxaDh4Mjo="
+  },
+  {
+    "pname": "runtime.any.System.Collections",
+    "version": "4.3.0",
+    "hash": "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8="
+  },
+  {
+    "pname": "runtime.any.System.Globalization",
+    "version": "4.3.0",
+    "hash": "sha256-PaiITTFI2FfPylTEk7DwzfKeiA/g/aooSU1pDcdwWLU="
+  },
+  {
+    "pname": "runtime.any.System.IO",
+    "version": "4.3.0",
+    "hash": "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE="
+  },
+  {
+    "pname": "runtime.any.System.Reflection",
+    "version": "4.3.0",
+    "hash": "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk="
+  },
+  {
+    "pname": "runtime.any.System.Reflection.Extensions",
+    "version": "4.3.0",
+    "hash": "sha256-Y2AnhOcJwJVYv7Rp6Jz6ma0fpITFqJW+8rsw106K2X8="
+  },
+  {
+    "pname": "runtime.any.System.Reflection.Primitives",
+    "version": "4.3.0",
+    "hash": "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ="
+  },
+  {
+    "pname": "runtime.any.System.Resources.ResourceManager",
+    "version": "4.3.0",
+    "hash": "sha256-9EvnmZslLgLLhJ00o5MWaPuJQlbUFcUF8itGQNVkcQ4="
+  },
+  {
+    "pname": "runtime.any.System.Runtime",
+    "version": "4.3.0",
+    "hash": "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM="
+  },
+  {
+    "pname": "runtime.any.System.Runtime.Handles",
+    "version": "4.3.0",
+    "hash": "sha256-PQRACwnSUuxgVySO1840KvqCC9F8iI9iTzxNW0RcBS4="
+  },
+  {
+    "pname": "runtime.any.System.Runtime.InteropServices",
+    "version": "4.3.0",
+    "hash": "sha256-Kaw5PnLYIiqWbsoF3VKJhy7pkpoGsUwn4ZDCKscbbzA="
+  },
+  {
+    "pname": "runtime.any.System.Text.Encoding",
+    "version": "4.3.0",
+    "hash": "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs="
+  },
+  {
+    "pname": "runtime.any.System.Threading.Tasks",
+    "version": "4.3.0",
+    "hash": "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4="
+  },
+  {
+    "pname": "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+    "version": "4.3.0",
+    "hash": "sha256-LXUPLX3DJxsU1Pd3UwjO1PO9NM2elNEDXeu2Mu/vNps="
+  },
+  {
+    "pname": "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+    "version": "4.3.0",
+    "hash": "sha256-qeSqaUI80+lqw5MK4vMpmO0CZaqrmYktwp6L+vQAb0I="
+  },
+  {
+    "pname": "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+    "version": "4.3.0",
+    "hash": "sha256-SrHqT9wrCBsxILWtaJgGKd6Odmxm8/Mh7Kh0CUkZVzA="
+  },
+  {
+    "pname": "runtime.native.System",
+    "version": "4.3.0",
+    "hash": "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y="
+  },
+  {
+    "pname": "runtime.native.System.Security.Cryptography.OpenSsl",
+    "version": "4.3.0",
+    "hash": "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I="
+  },
+  {
+    "pname": "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+    "version": "4.3.0",
+    "hash": "sha256-wyv00gdlqf8ckxEdV7E+Ql9hJIoPcmYEuyeWb5Oz3mM="
+  },
+  {
+    "pname": "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+    "version": "4.3.0",
+    "hash": "sha256-zi+b4sCFrA9QBiSGDD7xPV27r3iHGlV99gpyVUjRmc4="
+  },
+  {
+    "pname": "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+    "version": "4.3.0",
+    "hash": "sha256-gybQU6mPgaWV3rBG2dbH6tT3tBq8mgze3PROdsuWnX0="
+  },
+  {
+    "pname": "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+    "version": "4.3.0",
+    "hash": "sha256-VsP72GVveWnGUvS/vjOQLv1U80H2K8nZ4fDAmI61Hm4="
+  },
+  {
+    "pname": "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+    "version": "4.3.0",
+    "hash": "sha256-4yKGa/IrNCKuQ3zaDzILdNPD32bNdy6xr5gdJigyF5g="
+  },
+  {
+    "pname": "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+    "version": "4.3.0",
+    "hash": "sha256-HmdJhhRsiVoOOCcUvAwdjpMRiyuSwdcgEv2j9hxi+Zc="
+  },
+  {
+    "pname": "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+    "version": "4.3.0",
+    "hash": "sha256-pVFUKuPPIx0edQKjzRon3zKq8zhzHEzko/lc01V/jdw="
+  },
+  {
+    "pname": "runtime.unix.System.Diagnostics.Debug",
+    "version": "4.3.0",
+    "hash": "sha256-ReoazscfbGH+R6s6jkg5sIEHWNEvjEoHtIsMbpc7+tI="
+  },
+  {
+    "pname": "runtime.unix.System.Private.Uri",
+    "version": "4.3.0",
+    "hash": "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs="
+  },
+  {
+    "pname": "runtime.unix.System.Runtime.Extensions",
+    "version": "4.3.0",
+    "hash": "sha256-l8S9gt6dk3qYG6HYonHtdlYtBKyPb29uQ6NDjmrt3V4="
+  },
+  {
+    "pname": "System.Collections",
+    "version": "4.3.0",
+    "hash": "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc="
+  },
+  {
+    "pname": "System.Collections.NonGeneric",
+    "version": "4.3.0",
+    "hash": "sha256-8/yZmD4jjvq7m68SPkJZLBQ79jOTOyT5lyzX4SCYAx8="
+  },
+  {
+    "pname": "System.Collections.Specialized",
+    "version": "4.3.0",
+    "hash": "sha256-QNg0JJNx+zXMQ26MJRPzH7THdtqjrNtGLUgaR1SdvOk="
+  },
+  {
+    "pname": "System.ComponentModel",
+    "version": "4.3.0",
+    "hash": "sha256-i00uujMO4JEDIEPKLmdLY3QJ6vdSpw6Gh9oOzkFYBiU="
+  },
+  {
+    "pname": "System.ComponentModel.Primitives",
+    "version": "4.3.0",
+    "hash": "sha256-IOMJleuIBppmP4ECB3uftbdcgL7CCd56+oAD/Sqrbus="
+  },
+  {
+    "pname": "System.ComponentModel.TypeConverter",
+    "version": "4.3.0",
+    "hash": "sha256-PSDiPYt8PgTdTUBz+GH6lHCaM1YgfObneHnZsc8Fz54="
+  },
+  {
+    "pname": "System.Diagnostics.Debug",
+    "version": "4.3.0",
+    "hash": "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM="
+  },
+  {
+    "pname": "System.Globalization",
+    "version": "4.3.0",
+    "hash": "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI="
+  },
+  {
+    "pname": "System.Globalization.Extensions",
+    "version": "4.3.0",
+    "hash": "sha256-mmJWA27T0GRVuFP9/sj+4TrR4GJWrzNIk2PDrbr7RQk="
+  },
+  {
+    "pname": "System.IO",
+    "version": "4.3.0",
+    "hash": "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY="
+  },
+  {
+    "pname": "System.IO.FileSystem.Primitives",
+    "version": "4.3.0",
+    "hash": "sha256-LMnfg8Vwavs9cMnq9nNH8IWtAtSfk0/Fy4s4Rt9r1kg="
+  },
+  {
+    "pname": "System.Linq",
+    "version": "4.3.0",
+    "hash": "sha256-R5uiSL3l6a3XrXSSL6jz+q/PcyVQzEAByiuXZNSqD/A="
+  },
+  {
+    "pname": "System.Private.Uri",
+    "version": "4.3.0",
+    "hash": "sha256-fVfgcoP4AVN1E5wHZbKBIOPYZ/xBeSIdsNF+bdukIRM="
+  },
+  {
+    "pname": "System.Reflection",
+    "version": "4.3.0",
+    "hash": "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY="
+  },
+  {
+    "pname": "System.Reflection.Emit.ILGeneration",
+    "version": "4.7.0",
+    "hash": "sha256-GUnQeGo/DtvZVQpFnESGq7lJcjB30/KnDY7Kd2G/ElE="
+  },
+  {
+    "pname": "System.Reflection.Emit.Lightweight",
+    "version": "4.7.0",
+    "hash": "sha256-V0Wz/UUoNIHdTGS9e1TR89u58zJjo/wPUWw6VaVyclU="
+  },
+  {
+    "pname": "System.Reflection.Extensions",
+    "version": "4.3.0",
+    "hash": "sha256-mMOCYzUenjd4rWIfq7zIX9PFYk/daUyF0A8l1hbydAk="
+  },
+  {
+    "pname": "System.Reflection.Primitives",
+    "version": "4.3.0",
+    "hash": "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM="
+  },
+  {
+    "pname": "System.Reflection.TypeExtensions",
+    "version": "4.7.0",
+    "hash": "sha256-GEtCGXwtOnkYejSV+Tfl+DqyGq5jTUaVyL9eMupMHBM="
+  },
+  {
+    "pname": "System.Resources.ResourceManager",
+    "version": "4.3.0",
+    "hash": "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo="
+  },
+  {
+    "pname": "System.Runtime",
+    "version": "4.3.0",
+    "hash": "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg="
+  },
+  {
+    "pname": "System.Runtime.Extensions",
+    "version": "4.3.0",
+    "hash": "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o="
+  },
+  {
+    "pname": "System.Runtime.Handles",
+    "version": "4.3.0",
+    "hash": "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms="
+  },
+  {
+    "pname": "System.Runtime.InteropServices",
+    "version": "4.3.0",
+    "hash": "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI="
+  },
+  {
+    "pname": "System.Text.Encoding",
+    "version": "4.3.0",
+    "hash": "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg="
+  },
+  {
+    "pname": "System.Threading",
+    "version": "4.3.0",
+    "hash": "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc="
+  },
+  {
+    "pname": "System.Threading.Tasks",
+    "version": "4.3.0",
+    "hash": "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w="
+  },
+  {
+    "pname": "YamlDotNet",
+    "version": "9.1.0",
+    "hash": "sha256-WbMPOLkbyN+SdMrBYuaXV2qKB+bLTV+6RdSFSy/iljk="
+  }
+]
diff --git a/pkgs/by-name/ol/olympus-unwrapped/package.nix b/pkgs/by-name/ol/olympus-unwrapped/package.nix
new file mode 100644
index 000000000000..fd2794345816
--- /dev/null
+++ b/pkgs/by-name/ol/olympus-unwrapped/package.nix
@@ -0,0 +1,106 @@
+{
+  lib,
+  fetchFromGitHub,
+  fetchzip,
+  buildDotnetModule,
+  dotnetCorePackages,
+  luajitPackages,
+  sqlite,
+  libarchive,
+  curl,
+  love,
+  xdg-utils,
+}:
+let
+  lua_cpath =
+    with luajitPackages;
+    lib.concatMapStringsSep ";" getLuaCPath [
+      (buildLuarocksPackage {
+        pname = "lsqlite3";
+        version = "0.9.6-1";
+        src = fetchzip {
+          url = "http://lua.sqlite.org/home/zip/lsqlite3_v096.zip";
+          hash = "sha256-Mq409A3X9/OS7IPI/KlULR6ZihqnYKk/mS/W/2yrGBg=";
+        };
+        buildInputs = [ sqlite.dev ];
+      })
+
+      lua-subprocess
+      nfd
+    ];
+
+  phome = "$out/lib/olympus";
+  # The following variables are to be updated by the update script.
+  version = "25.04.20.01";
+  buildId = "4758"; # IMPORTANT: This line is matched with regex in update.sh.
+  rev = "10e01bf182e51d1fc2b6060622108a1fb98ae7b7";
+in
+buildDotnetModule {
+  pname = "olympus-unwrapped";
+  inherit version;
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "EverestAPI";
+    repo = "Olympus";
+    fetchSubmodules = true; # Required. See upstream's README.
+    hash = "sha256-7Xdd6AdDpHQUmQ3ogEyir/OQwvOcVDMtweE3D/v4uuQ=";
+  };
+
+  nativeBuildInputs = [
+    libarchive # To create the .love file (zip format).
+  ];
+
+  nugetDeps = ./deps.json;
+  projectFile = "sharp/Olympus.Sharp.csproj";
+  executables = [ ];
+  installPath = "${placeholder "out"}/lib/olympus/sharp";
+
+  # See the 'Dist: Update src/version.txt' step in azure-pipelines.yml from upstream.
+  preConfigure = ''
+    echo ${version}-nixos-${buildId}-${builtins.substring 0 5 rev} > src/version.txt
+  '';
+
+  # The script find-love is hacked to use love from nixpkgs.
+  # It is used to launch Loenn from Olympus.
+  # I assume --fused is so saves are properly made (https://love2d.org/wiki/love.filesystem).
+  preInstall = ''
+    mkdir -p ${phome}
+    makeWrapper ${lib.getExe love} ${phome}/find-love \
+      --add-flags "--fused"
+
+    install -Dm755 suppress-output.sh ${phome}/suppress-output
+
+    mkdir -p $out/bin
+    makeWrapper ${phome}/find-love $out/bin/olympus \
+      --prefix LUA_CPATH ";" "${lua_cpath}" \
+      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ curl ]}" \
+      --suffix PATH : "${lib.makeBinPath [ xdg-utils ]}" \
+      --add-flags ${phome}/olympus.love \
+      --set DOTNET_ROOT ${dotnetCorePackages.runtime_8_0}/share/dotnet
+
+    bsdtar --format zip --strip-components 1 -cf ${phome}/olympus.love src
+  '';
+
+  postInstall = ''
+    install -Dm644 lib-linux/olympus.desktop $out/share/applications/olympus.desktop
+    install -Dm644 src/data/icon.png $out/share/icons/hicolor/128x128/apps/olympus.png
+    install -Dm644 LICENSE $out/share/licenses/olympus/LICENSE
+  '';
+
+  passthru.updateScript = ./update.sh;
+
+  meta = {
+    description = "Cross-platform GUI Everest installer and Celeste mod manager";
+    homepage = "https://github.com/EverestAPI/Olympus";
+    downloadPage = "https://everestapi.github.io/#olympus";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [
+      ulysseszhan
+      petingoso
+    ];
+    mainProgram = "olympus";
+    platforms = lib.platforms.unix;
+    badPlatforms = lib.platforms.aarch; # Celeste doesn't support aarch in the first place
+  };
+}
diff --git a/pkgs/by-name/ol/olympus-unwrapped/update.sh b/pkgs/by-name/ol/olympus-unwrapped/update.sh
new file mode 100755
index 000000000000..35cf7c135025
--- /dev/null
+++ b/pkgs/by-name/ol/olympus-unwrapped/update.sh
@@ -0,0 +1,32 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl jq common-updater-scripts
+
+set -eu -o pipefail
+
+attr=olympus-unwrapped
+nix_file=$(nix-instantiate --eval --strict -A "$attr.meta.position" | sed -re 's/^"(.*):[0-9]+"$/\1/')
+
+api() {
+  curl -s "https://dev.azure.com/EverestAPI/Olympus/_apis/$1?api-version=7.1"
+}
+
+pipeline_id=$(api pipelines | jq -r '
+  .value
+  | map(select(.name == "EverestAPI.Olympus"))
+  | .[0].id
+')
+
+run_id=$(api pipelines/$pipeline_id/runs | jq -r '
+  .value
+  | map(select(.result == "succeeded"))
+  | max_by(.finishedDate)
+  | .id
+')
+sed -i 's|buildId\s*=\s*".*";|buildId = "'$run_id'";|' $nix_file
+
+run=$(api pipelines/$pipeline_id/runs/$run_id)
+commit=$(echo "$run" | jq -r '.resources.repositories.self.version')
+version=$(echo "$run" | jq -r '.name')
+update-source-version $attr $version --rev=$commit
+
+"$(nix-build --attr $attr.fetch-deps --no-out-link)"
diff --git a/pkgs/by-name/ol/olympus/package.nix b/pkgs/by-name/ol/olympus/package.nix
new file mode 100644
index 000000000000..fa840d091ed8
--- /dev/null
+++ b/pkgs/by-name/ol/olympus/package.nix
@@ -0,0 +1,71 @@
+{
+  lib,
+  makeWrapper,
+  olympus-unwrapped,
+  symlinkJoin,
+  buildFHSEnv,
+  writeShellScript,
+  # These need overriding if you launch Celeste/Loenn/MiniInstaller from Olympus.
+  # Some examples:
+  # - null: Use default wrapper.
+  # - "": Do not use wrapper.
+  # - steam-run: Use steam-run.
+  # - "steam-run": Use steam-run command available from PATH.
+  # - writeShellScriptBin { ... }: Use a custom script.
+  # - ./my-wrapper.sh: Use a custom script.
+  # In any case, it can be overridden at runtime by OLYMPUS_{CELESTE,LOENN,MINIINSTALLER}_WRAPPER.
+  celesteWrapper ? null,
+  loennWrapper ? null,
+  miniinstallerWrapper ? null,
+  skipHandlerCheck ? false, # whether to skip olympus xdg-mime check, true will override it
+}:
+let
+
+  wrapper-to-env =
+    wrapper:
+    if lib.isDerivation wrapper then
+      lib.getExe wrapper
+    else if wrapper != null then
+      wrapper
+    else
+      "";
+
+  # When installing Everest, Olympus uses MiniInstaller, which is dynamically linked.
+  miniinstaller-fhs = buildFHSEnv {
+    pname = "olympus-miniinstaller-fhs";
+    version = "1.0.0"; # remains constant, just to prevent complains
+    targetPkgs =
+      pkgs:
+      (with pkgs; [
+        icu
+        openssl
+        dotnet-runtime # Without this, MiniInstaller will install dotnet itself.
+      ]);
+  };
+
+  miniinstaller-wrapper =
+    if miniinstallerWrapper == null then
+      (writeShellScript "miniinstaller-wrapper" "exec ${lib.getExe miniinstaller-fhs} -c \"$@\"")
+    else
+      (wrapper-to-env miniinstallerWrapper);
+
+in
+symlinkJoin {
+
+  inherit (olympus-unwrapped) version meta;
+  pname = "olympus";
+
+  paths = [
+    olympus-unwrapped
+  ];
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  postBuild = ''
+    wrapProgram $out/bin/olympus \
+      --set OLYMPUS_CELESTE_WRAPPER "${wrapper-to-env celesteWrapper}" \
+      --set OLYMPUS_LOENN_WRAPPER "${wrapper-to-env loennWrapper}"  \
+      --set OLYMPUS_MINIINSTALLER_WRAPPER "${miniinstaller-wrapper}" \
+      --set OLYMPUS_SKIP_SCHEME_HANDLER_CHECK "${if skipHandlerCheck then "1" else "0"}"
+  '';
+}
diff --git a/pkgs/by-name/om/omekasy/package.nix b/pkgs/by-name/om/omekasy/package.nix
index 313366cca936..a92eb7ba5ed6 100644
--- a/pkgs/by-name/om/omekasy/package.nix
+++ b/pkgs/by-name/om/omekasy/package.nix
@@ -6,17 +6,17 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "omekasy";
-  version = "1.3.1";
+  version = "1.3.3";
 
   src = fetchFromGitHub {
     owner = "ikanago";
     repo = "omekasy";
     rev = "v${version}";
-    hash = "sha256-wI+xN6pyNoP4xknjHHDydHq275Gb1nyp7YtqmABlTBA=";
+    hash = "sha256-wPAobYZAytzTIWGBeBVoRLjm/0Io/P7GXL1naB6ssNM=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-Bhxj77E/HXvAmTO3S7DW6ZGOk9lqpZMwGv7DN58skP0=";
+  cargoHash = "sha256-sJ8HFANK1fGj9zygq1RgMKcHncVik3St9GSghXP4tp0=";
 
   buildNoDefaultFeatures = stdenv.targetPlatform.isWasi;
 
diff --git a/pkgs/by-name/om/omnictl/package.nix b/pkgs/by-name/om/omnictl/package.nix
index d8d6067aa108..245e0116c3e8 100644
--- a/pkgs/by-name/om/omnictl/package.nix
+++ b/pkgs/by-name/om/omnictl/package.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "omnictl";
-  version = "0.50.1";
+  version = "0.51.0";
 
   src = fetchFromGitHub {
     owner = "siderolabs";
     repo = "omni";
     rev = "v${version}";
-    hash = "sha256-ewbTYS5eRluTRY7pOzD/ylHUH2Wbgn/qoQvICnJ2vrg=";
+    hash = "sha256-PIUaR+Pdy4vJMqYfw1x8ts0yDlDcA0dOzviw/wLf45M=";
   };
 
-  vendorHash = "sha256-bS5g4cXzp9zKtlsE/EApm7mQJ3asZdyQ3vw8Vslz62Q=";
+  vendorHash = "sha256-Re6CTQVJcNLhaw6K2W+zRNG42lLV1dSd0O9DDrH8jMY=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/on/onboard/bool.patch b/pkgs/by-name/on/onboard/bool.patch
new file mode 100644
index 000000000000..21fa96325b5c
--- /dev/null
+++ b/pkgs/by-name/on/onboard/bool.patch
@@ -0,0 +1,10 @@
+Author: @vcunat
+
+    Don't redefine bool and use the standard one instead.
+
+--- a/Onboard/osk/osk_module.h
++++ b/Onboard/osk/osk_module.h
+@@ -28 +28 @@
+-typedef enum { false, true } bool;
++#include 
+
diff --git a/pkgs/by-name/on/onboard/package.nix b/pkgs/by-name/on/onboard/package.nix
index 7a2e35306d84..804c89170235 100644
--- a/pkgs/by-name/on/onboard/package.nix
+++ b/pkgs/by-name/on/onboard/package.nix
@@ -72,6 +72,8 @@ python3.pkgs.buildPythonApplication rec {
       url = "https://github.com/void-linux/void-packages/raw/9ef46bf26ac5acc1af5809f11c97b19c5e2233ed/srcpkgs/onboard/patches/fix-brokenformat.patch";
       hash = "sha256-r9mvJNWpPR1gsayuSSLpzIuafEKqtADYklre0Ju+KOM=";
     })
+
+    ./bool.patch
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/on/oneDNN/package.nix b/pkgs/by-name/on/oneDNN/package.nix
index 56cfcf83ba64..e6e18adcf21a 100644
--- a/pkgs/by-name/on/oneDNN/package.nix
+++ b/pkgs/by-name/on/oneDNN/package.nix
@@ -11,13 +11,13 @@
 # https://github.com/oneapi-src/oneDNN#oneapi-deep-neural-network-library-onednn
 stdenv.mkDerivation (finalAttrs: {
   pname = "oneDNN";
-  version = "3.8";
+  version = "3.8.1";
 
   src = fetchFromGitHub {
     owner = "oneapi-src";
     repo = "oneDNN";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-GGfrP3QOPOlqWroG4MQ0az5q5Y4Ii9fNblk5WnMBsuI=";
+    hash = "sha256-x4leRd0xPFUygjAv/D125CIXn7lYSyzUKsd9IDh/vCc=";
   };
 
   outputs = [
diff --git a/pkgs/by-name/on/oneDNN_2/package.nix b/pkgs/by-name/on/oneDNN_2/package.nix
deleted file mode 100644
index 5bd3c88a75ea..000000000000
--- a/pkgs/by-name/on/oneDNN_2/package.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{
-  cmake,
-  fetchFromGitHub,
-  lib,
-  stdenv,
-}:
-
-# This was originally called mkl-dnn, then it was renamed to dnnl, and it has
-# just recently been renamed again to oneDNN. See here for details:
-# https://github.com/oneapi-src/oneDNN#oneapi-deep-neural-network-library-onednn
-stdenv.mkDerivation (finalAttrs: {
-  pname = "oneDNN";
-  version = "2.7.5";
-
-  src = fetchFromGitHub {
-    owner = "oneapi-src";
-    repo = "oneDNN";
-    rev = "v${finalAttrs.version}";
-    sha256 = "sha256-oMPBORAdL2rk2ewyUrInYVHYBRvuvNX4p4rwykO3Rhs=";
-  };
-
-  outputs = [
-    "out"
-    "dev"
-    "doc"
-  ];
-
-  nativeBuildInputs = [ cmake ];
-
-  # Tests fail on some Hydra builders, because they do not support SSE4.2.
-  doCheck = false;
-
-  # Fixup bad cmake paths
-  postInstall = ''
-    substituteInPlace $out/lib/cmake/dnnl/dnnl-config.cmake \
-      --replace "\''${PACKAGE_PREFIX_DIR}/" ""
-
-    substituteInPlace $out/lib/cmake/dnnl/dnnl-targets.cmake \
-      --replace "\''${_IMPORT_PREFIX}/" ""
-  '';
-
-  meta = {
-    changelog = "https://github.com/oneapi-src/oneDNN/releases/tag/v${finalAttrs.version}";
-    description = "oneAPI Deep Neural Network Library (oneDNN)";
-    homepage = "https://01.org/oneDNN";
-    license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [
-      alexarice
-      bhipple
-    ];
-    platforms = lib.platforms.all;
-  };
-})
diff --git a/pkgs/by-name/on/oneanime/package.nix b/pkgs/by-name/on/oneanime/package.nix
index 9a01cf6c8344..7467a5901c9c 100644
--- a/pkgs/by-name/on/oneanime/package.nix
+++ b/pkgs/by-name/on/oneanime/package.nix
@@ -60,13 +60,13 @@ let
 in
 flutter329.buildFlutterApplication rec {
   pname = "oneanime";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "Predidit";
     repo = "oneAnime";
     tag = version;
-    hash = "sha256-1rNnJF16YEj6akq4jtIzI2skl/qxYgi/VQSeo1J87JM=";
+    hash = "sha256-VZdqbdKxzfGlS27WUSvSR2x7wU8uYMkWRU9QvxW22uQ=";
   };
 
   pubspecLock = lib.importJSON ./pubspec.lock.json;
diff --git a/pkgs/by-name/on/oneanime/pubspec.lock.json b/pkgs/by-name/on/oneanime/pubspec.lock.json
index 47aa1d0581f0..f5bf5b081ebd 100644
--- a/pkgs/by-name/on/oneanime/pubspec.lock.json
+++ b/pkgs/by-name/on/oneanime/pubspec.lock.json
@@ -40,31 +40,31 @@
       "dependency": "transitive",
       "description": {
         "name": "archive",
-        "sha256": "6199c74e3db4fbfbd04f66d739e72fe11c8a8957d5f219f1f4482dbde6420b5a",
+        "sha256": "2fde1607386ab523f7a36bb3e7edb43bd58e6edaf2ffb29d8a6d578b297fdbbd",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "4.0.2"
+      "version": "4.0.7"
     },
     "args": {
       "dependency": "transitive",
       "description": {
         "name": "args",
-        "sha256": "bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6",
+        "sha256": "d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.6.0"
+      "version": "2.7.0"
     },
     "async": {
       "dependency": "transitive",
       "description": {
         "name": "async",
-        "sha256": "d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63",
+        "sha256": "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.12.0"
+      "version": "2.13.0"
     },
     "audio_video_progress_bar": {
       "dependency": "direct main",
@@ -80,11 +80,11 @@
       "dependency": "transitive",
       "description": {
         "name": "auto_injector",
-        "sha256": "d2e204bc46d7349795364884d07ba79fe6a0f3a84a651b70dcbb68d82dcebab0",
+        "sha256": "ad7a95d7c381363d48b54e00cb680f024fd97009067244454e9b4850337608e8",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.0.5"
+      "version": "2.1.0"
     },
     "boolean_selector": {
       "dependency": "transitive",
@@ -170,11 +170,11 @@
       "dependency": "transitive",
       "description": {
         "name": "built_value",
-        "sha256": "28a712df2576b63c6c005c465989a348604960c0958d28be5303ba9baa841ac2",
+        "sha256": "ea90e81dc4a25a043d9bee692d20ed6d1c4a1662a28c03a96417446c093ed6b4",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "8.9.3"
+      "version": "8.9.5"
     },
     "canvas_danmaku": {
       "dependency": "direct main",
@@ -250,11 +250,11 @@
       "dependency": "direct main",
       "description": {
         "name": "connectivity_plus",
-        "sha256": "04bf81bb0b77de31557b58d052b24b3eee33f09a6e7a8c68a3e247c7df19ec27",
+        "sha256": "051849e2bd7c7b3bc5844ea0d096609ddc3a859890ec3a9ac4a65a2620cc1f99",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "6.1.3"
+      "version": "6.1.4"
     },
     "connectivity_plus_platform_interface": {
       "dependency": "transitive",
@@ -390,31 +390,31 @@
       "dependency": "transitive",
       "description": {
         "name": "dio_web_adapter",
-        "sha256": "e485c7a39ff2b384fa1d7e09b4e25f755804de8384358049124830b04fc4f93a",
+        "sha256": "7586e476d70caecaf1686d21eee7247ea43ef5c345eab9e0cc3583ff13378d78",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.1.0"
+      "version": "2.1.1"
     },
     "fake_async": {
       "dependency": "transitive",
       "description": {
         "name": "fake_async",
-        "sha256": "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc",
+        "sha256": "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.3.2"
+      "version": "1.3.3"
     },
     "ffi": {
       "dependency": "direct main",
       "description": {
         "name": "ffi",
-        "sha256": "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6",
+        "sha256": "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.1.3"
+      "version": "2.1.4"
     },
     "ffigen": {
       "dependency": "direct dev",
@@ -511,33 +511,32 @@
     "flutter_open_chinese_convert": {
       "dependency": "direct main",
       "description": {
-        "path": ".",
-        "ref": "master",
-        "resolved-ref": "6cfb0f57852bfbba0652b076e5eb5c47b888d5ae",
-        "url": "https://github.com/Predidit/flutter_open_chinese_convert.git"
+        "name": "flutter_open_chinese_convert",
+        "sha256": "04561ced3dc66a28c394934186a4224a34f2c8912881d489015f0784f2cf8c70",
+        "url": "https://pub.dev"
       },
-      "source": "git",
-      "version": "0.5.1"
+      "source": "hosted",
+      "version": "0.6.0"
     },
     "flutter_plugin_android_lifecycle": {
       "dependency": "transitive",
       "description": {
         "name": "flutter_plugin_android_lifecycle",
-        "sha256": "615a505aef59b151b46bbeef55b36ce2b6ed299d160c51d84281946f0aa0ce0e",
+        "sha256": "f948e346c12f8d5480d2825e03de228d0eb8c3a737e4cdaa122267b89c022b5e",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.0.24"
+      "version": "2.0.28"
     },
     "flutter_smart_dialog": {
       "dependency": "direct main",
       "description": {
         "name": "flutter_smart_dialog",
-        "sha256": "030eac9f61c79d6c11a9da75f3df86b64060493bfc7f723fe59181a63b981f70",
+        "sha256": "a3aaf690b2737ee6b2c7e7a983bc685e5f118e5de7e2042d2e0b7db26eb074f2",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "4.9.8+6"
+      "version": "4.9.8+7"
     },
     "flutter_test": {
       "dependency": "direct dev",
@@ -625,21 +624,21 @@
       "dependency": "direct main",
       "description": {
         "name": "html",
-        "sha256": "1fc58edeaec4307368c60d59b7e15b9d658b57d7f3125098b6294153c75337ec",
+        "sha256": "6d1264f2dffa1b1101c25a91dff0dc2daee4c18e87cd8538729773c073dbf602",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.15.5"
+      "version": "0.15.6"
     },
     "http": {
       "dependency": "transitive",
       "description": {
         "name": "http",
-        "sha256": "fe7ab022b76f3034adc518fb6ea04a82387620e19977665ea18d30a1cf43442f",
+        "sha256": "2c11f3f94c687ee9bad77c171151672986360b2b001d109814ee7140b2cf261b",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.3.0"
+      "version": "1.4.0"
     },
     "http_multi_server": {
       "dependency": "transitive",
@@ -665,21 +664,21 @@
       "dependency": "transitive",
       "description": {
         "name": "image",
-        "sha256": "8346ad4b5173924b5ddddab782fc7d8a6300178c8b1dc427775405a01701c4a6",
+        "sha256": "4e973fcf4caae1a4be2fa0a13157aa38a8f9cb049db6529aa00b4d71abc4d928",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "4.5.2"
+      "version": "4.5.4"
     },
     "intl": {
       "dependency": "transitive",
       "description": {
         "name": "intl",
-        "sha256": "d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf",
+        "sha256": "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.19.0"
+      "version": "0.20.2"
     },
     "io": {
       "dependency": "transitive",
@@ -725,11 +724,11 @@
       "dependency": "transitive",
       "description": {
         "name": "leak_tracker",
-        "sha256": "c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec",
+        "sha256": "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "10.0.8"
+      "version": "10.0.9"
     },
     "leak_tracker_flutter_testing": {
       "dependency": "transitive",
@@ -806,7 +805,7 @@
       "description": {
         "path": "media_kit",
         "ref": "main",
-        "resolved-ref": "aef901f6abc9192aa74bf05036c2f520cebf3259",
+        "resolved-ref": "ad84c59faa2b871926cb31516bdeec65d7676884",
         "url": "https://github.com/Predidit/media-kit.git"
       },
       "source": "git",
@@ -817,7 +816,7 @@
       "description": {
         "path": "libs/android/media_kit_libs_android_video",
         "ref": "main",
-        "resolved-ref": "aef901f6abc9192aa74bf05036c2f520cebf3259",
+        "resolved-ref": "ad84c59faa2b871926cb31516bdeec65d7676884",
         "url": "https://github.com/Predidit/media-kit.git"
       },
       "source": "git",
@@ -828,7 +827,7 @@
       "description": {
         "path": "libs/ios/media_kit_libs_ios_video",
         "ref": "main",
-        "resolved-ref": "aef901f6abc9192aa74bf05036c2f520cebf3259",
+        "resolved-ref": "ad84c59faa2b871926cb31516bdeec65d7676884",
         "url": "https://github.com/Predidit/media-kit.git"
       },
       "source": "git",
@@ -839,7 +838,7 @@
       "description": {
         "path": "libs/linux/media_kit_libs_linux",
         "ref": "main",
-        "resolved-ref": "aef901f6abc9192aa74bf05036c2f520cebf3259",
+        "resolved-ref": "ad84c59faa2b871926cb31516bdeec65d7676884",
         "url": "https://github.com/Predidit/media-kit.git"
       },
       "source": "git",
@@ -850,7 +849,7 @@
       "description": {
         "path": "libs/macos/media_kit_libs_macos_video",
         "ref": "main",
-        "resolved-ref": "aef901f6abc9192aa74bf05036c2f520cebf3259",
+        "resolved-ref": "ad84c59faa2b871926cb31516bdeec65d7676884",
         "url": "https://github.com/Predidit/media-kit.git"
       },
       "source": "git",
@@ -861,7 +860,7 @@
       "description": {
         "path": "libs/universal/media_kit_libs_video",
         "ref": "main",
-        "resolved-ref": "aef901f6abc9192aa74bf05036c2f520cebf3259",
+        "resolved-ref": "ad84c59faa2b871926cb31516bdeec65d7676884",
         "url": "https://github.com/Predidit/media-kit.git"
       },
       "source": "git",
@@ -872,7 +871,7 @@
       "description": {
         "path": "libs/windows/media_kit_libs_windows_video",
         "ref": "main",
-        "resolved-ref": "aef901f6abc9192aa74bf05036c2f520cebf3259",
+        "resolved-ref": "ad84c59faa2b871926cb31516bdeec65d7676884",
         "url": "https://github.com/Predidit/media-kit.git"
       },
       "source": "git",
@@ -883,7 +882,7 @@
       "description": {
         "path": "media_kit_video",
         "ref": "main",
-        "resolved-ref": "aef901f6abc9192aa74bf05036c2f520cebf3259",
+        "resolved-ref": "ad84c59faa2b871926cb31516bdeec65d7676884",
         "url": "https://github.com/Predidit/media-kit.git"
       },
       "source": "git",
@@ -963,11 +962,11 @@
       "dependency": "transitive",
       "description": {
         "name": "package_config",
-        "sha256": "92d4488434b520a62570293fbd33bb556c7d49230791c1b4bbd973baf6d2dc67",
+        "sha256": "f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.1.1"
+      "version": "2.2.0"
     },
     "package_info_plus": {
       "dependency": "transitive",
@@ -1013,11 +1012,11 @@
       "dependency": "transitive",
       "description": {
         "name": "path_provider_android",
-        "sha256": "4adf4fd5423ec60a29506c76581bc05854c55e3a0b72d35bb28d661c9686edf2",
+        "sha256": "d0d310befe2c8ab9e7f393288ccbb11b60c019c6b5afc21973eeee4dda2b35e9",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.2.15"
+      "version": "2.2.17"
     },
     "path_provider_foundation": {
       "dependency": "transitive",
@@ -1103,31 +1102,31 @@
       "dependency": "transitive",
       "description": {
         "name": "posix",
-        "sha256": "a0117dc2167805aa9125b82eee515cc891819bac2f538c83646d355b16f58b9a",
+        "sha256": "f0d7856b6ca1887cfa6d1d394056a296ae33489db914e365e2044fdada449e62",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "6.0.1"
+      "version": "6.0.2"
     },
     "provider": {
       "dependency": "direct main",
       "description": {
         "name": "provider",
-        "sha256": "c8a055ee5ce3fd98d6fc872478b03823ffdb448699c6ebdbbc71d59b596fd48c",
+        "sha256": "4abbd070a04e9ddc287673bf5a030c7ca8b685ff70218720abab8b092f53dd84",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "6.1.2"
+      "version": "6.1.5"
     },
     "pub_semver": {
       "dependency": "transitive",
       "description": {
         "name": "pub_semver",
-        "sha256": "7b3cfbf654f3edd0c6298ecd5be782ce997ddf0e00531b9464b55245185bbbbd",
+        "sha256": "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.1.5"
+      "version": "2.2.0"
     },
     "pubspec_parse": {
       "dependency": "transitive",
@@ -1173,21 +1172,21 @@
       "dependency": "direct main",
       "description": {
         "name": "screen_brightness",
-        "sha256": "99b898dae860ebe55fc872d8e300c6eafff3ee4ccb09301b90adb3f241f29874",
+        "sha256": "46d1b448729c1ed67c812f2c97d7fa8308809d91031c7ecdeb216ca65f7660de",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.1.1"
+      "version": "2.1.3"
     },
     "screen_brightness_android": {
       "dependency": "transitive",
       "description": {
         "name": "screen_brightness_android",
-        "sha256": "ff9141bed547db02233e7dd88f990ab01973a0c8a8c04ddb855c7b072f33409a",
+        "sha256": "6ba1b5812f66c64e9e4892be2d36ecd34210f4e0da8bdec6a2ea34f1aa42683e",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.1.0"
+      "version": "2.1.1"
     },
     "screen_brightness_ios": {
       "dependency": "transitive",
@@ -1209,6 +1208,16 @@
       "source": "hosted",
       "version": "2.1.1"
     },
+    "screen_brightness_ohos": {
+      "dependency": "transitive",
+      "description": {
+        "name": "screen_brightness_ohos",
+        "sha256": "61e313e46eaee3f83dd4e85a2a91f8a81be02c154bc9e60830a7c0fd76dac286",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.1.0"
+    },
     "screen_brightness_platform_interface": {
       "dependency": "transitive",
       "description": {
@@ -1293,21 +1302,21 @@
       "dependency": "transitive",
       "description": {
         "name": "shared_preferences",
-        "sha256": "846849e3e9b68f3ef4b60c60cf4b3e02e9321bc7f4d8c4692cf87ffa82fc8a3a",
+        "sha256": "6e8bf70b7fef813df4e9a36f658ac46d107db4b4cfe1048b477d4e453a8159f5",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.5.2"
+      "version": "2.5.3"
     },
     "shared_preferences_android": {
       "dependency": "transitive",
       "description": {
         "name": "shared_preferences_android",
-        "sha256": "ea86be7b7114f9e94fddfbb52649e59a03d6627ccd2387ebddcd6624719e9f16",
+        "sha256": "20cbd561f743a342c76c151d6ddb93a9ce6005751e7aa458baad3858bfbfb6ac",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.4.5"
+      "version": "2.4.10"
     },
     "shared_preferences_foundation": {
       "dependency": "transitive",
@@ -1343,11 +1352,11 @@
       "dependency": "transitive",
       "description": {
         "name": "shared_preferences_web",
-        "sha256": "d2ca4132d3946fec2184261726b355836a82c33d7d5b67af32692aff18a4684e",
+        "sha256": "c49bd060261c9a3f0ff445892695d6212ff603ef3115edbb448509d407600019",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.4.2"
+      "version": "2.4.3"
     },
     "shared_preferences_windows": {
       "dependency": "transitive",
@@ -1589,21 +1598,21 @@
       "dependency": "transitive",
       "description": {
         "name": "url_launcher_android",
-        "sha256": "6fc2f56536ee873eeb867ad176ae15f304ccccc357848b351f6f0d8d4a40d193",
+        "sha256": "8582d7f6fe14d2652b4c45c9b6c14c0b678c2af2d083a11b604caeba51930d79",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "6.3.14"
+      "version": "6.3.16"
     },
     "url_launcher_ios": {
       "dependency": "transitive",
       "description": {
         "name": "url_launcher_ios",
-        "sha256": "16a513b6c12bb419304e72ea0ae2ab4fed569920d1c7cb850263fe3acc824626",
+        "sha256": "7f2022359d4c099eea7df3fdf739f7d3d3b9faf3166fb1dd390775176e0b76cb",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "6.3.2"
+      "version": "6.3.3"
     },
     "url_launcher_linux": {
       "dependency": "transitive",
@@ -1639,11 +1648,11 @@
       "dependency": "transitive",
       "description": {
         "name": "url_launcher_web",
-        "sha256": "3ba963161bd0fe395917ba881d320b9c4f6dd3c4a233da62ab18a5025c85f1e9",
+        "sha256": "4bd2b7b4dc4d4d0b94e5babfffbca8eac1a126c7f3d6ecbc1a11013faa3abba2",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.4.0"
+      "version": "2.4.1"
     },
     "url_launcher_windows": {
       "dependency": "transitive",
@@ -1679,11 +1688,11 @@
       "dependency": "transitive",
       "description": {
         "name": "vm_service",
-        "sha256": "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14",
+        "sha256": "ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "14.3.1"
+      "version": "15.0.0"
     },
     "volume_controller": {
       "dependency": "transitive",
@@ -1699,21 +1708,21 @@
       "dependency": "transitive",
       "description": {
         "name": "wakelock_plus",
-        "sha256": "b90fbcc8d7bdf3b883ea9706d9d76b9978cb1dfa4351fcc8014d6ec31a493354",
+        "sha256": "a474e314c3e8fb5adef1f9ae2d247e57467ad557fa7483a2b895bc1b421c5678",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.2.11"
+      "version": "1.3.2"
     },
     "wakelock_plus_platform_interface": {
       "dependency": "transitive",
       "description": {
         "name": "wakelock_plus_platform_interface",
-        "sha256": "70e780bc99796e1db82fe764b1e7dcb89a86f1e5b3afb1db354de50f2e41eb7a",
+        "sha256": "e10444072e50dbc4999d7316fd303f7ea53d31c824aa5eb05d7ccbdd98985207",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.2.2"
+      "version": "1.2.3"
     },
     "watcher": {
       "dependency": "transitive",
@@ -1729,41 +1738,41 @@
       "dependency": "transitive",
       "description": {
         "name": "web",
-        "sha256": "cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb",
+        "sha256": "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.1.0"
+      "version": "1.1.1"
     },
     "web_socket": {
       "dependency": "transitive",
       "description": {
         "name": "web_socket",
-        "sha256": "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83",
+        "sha256": "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.1.6"
+      "version": "1.0.1"
     },
     "web_socket_channel": {
       "dependency": "transitive",
       "description": {
         "name": "web_socket_channel",
-        "sha256": "0b8e2457400d8a859b7b2030786835a28a8e80836ef64402abef392ff4f1d0e5",
+        "sha256": "d645757fb0f4773d602444000a8131ff5d48c9e47adfe9772652dd1a4f2d45c8",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.0.2"
+      "version": "3.0.3"
     },
     "win32": {
       "dependency": "transitive",
       "description": {
         "name": "win32",
-        "sha256": "daf97c9d80197ed7b619040e86c8ab9a9dad285e7671ee7390f9180cc828a51e",
+        "sha256": "329edf97fdd893e0f1e3b9e88d6a0e627128cc17cc316a8d67fda8f1451178ba",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "5.10.1"
+      "version": "5.13.0"
     },
     "win32_registry": {
       "dependency": "transitive",
@@ -1828,6 +1837,6 @@
   },
   "sdks": {
     "dart": ">=3.7.0 <4.0.0",
-    "flutter": ">=3.29.2"
+    "flutter": ">=3.32.2"
   }
 }
diff --git a/pkgs/by-name/on/onedrive/package.nix b/pkgs/by-name/on/onedrive/package.nix
index 2d5ca17c04ee..afc54bbde022 100644
--- a/pkgs/by-name/on/onedrive/package.nix
+++ b/pkgs/by-name/on/onedrive/package.nix
@@ -1,30 +1,36 @@
 {
   lib,
-  autoreconfHook,
-  coreutils,
-  curl,
+  stdenv,
   fetchFromGitHub,
+
+  # native
+  autoreconfHook,
   installShellFiles,
   ldc,
-  libnotify,
   pkg-config,
+
+  # host
+  coreutils,
+  curl,
+  dbus,
+  libnotify,
   sqlite,
-  stdenv,
   systemd,
   testers,
+
   # Boolean flags
   withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd,
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "onedrive";
-  version = "2.5.5";
+  version = "2.5.6";
 
   src = fetchFromGitHub {
     owner = "abraunegg";
     repo = "onedrive";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-SoTkphmxWVAeSfqO7Vqm8bdPAP1hK57zFNR6N5elEOM=";
+    hash = "sha256-AFaz1RkrtsdTZfaWobdcADbzsAhbdCzJPkQX6Pa7hN8=";
   };
 
   outputs = [
@@ -42,6 +48,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   buildInputs = [
     curl
+    dbus
     libnotify
     sqlite
   ] ++ lib.optionals withSystemd [ systemd ];
@@ -55,12 +62,15 @@ stdenv.mkDerivation (finalAttrs: {
   # we could also pass --enable-completions to configure but we would then have to
   # figure out the paths manually and pass those along.
   postInstall = ''
-    installShellCompletion --bash --name onedrive contrib/completions/complete.bash
-    installShellCompletion --fish --name onedrive contrib/completions/complete.fish
-    installShellCompletion --zsh --name _onedrive contrib/completions/complete.zsh
+    installShellCompletion --cmd onedrive \
+      --bash contrib/completions/complete.bash \
+      --fish contrib/completions/complete.fish \
+      --zsh contrib/completions/complete.zsh
 
-    substituteInPlace $out/lib/systemd/user/onedrive.service --replace-fail "/usr/bin/sleep" "${coreutils}/bin/sleep"
-    substituteInPlace $out/lib/systemd/system/onedrive@.service --replace-fail "/usr/bin/sleep" "${coreutils}/bin/sleep"
+    for s in $out/lib/systemd/user/onedrive.service $out/lib/systemd/system/onedrive@.service; do
+      substituteInPlace $s \
+        --replace-fail "/usr/bin/sleep" "${coreutils}/bin/sleep"
+    done
   '';
 
   passthru = {
diff --git a/pkgs/by-name/on/onionshare-gui/package.nix b/pkgs/by-name/on/onionshare-gui/package.nix
index 7ec4761844a6..74d7c62fb679 100644
--- a/pkgs/by-name/on/onionshare-gui/package.nix
+++ b/pkgs/by-name/on/onionshare-gui/package.nix
@@ -6,7 +6,6 @@
   obfs4,
   snowflake,
   tor,
-  fetchpatch,
   qt5,
 }:
 python3Packages.buildPythonApplication rec {
@@ -32,22 +31,6 @@ python3Packages.buildPythonApplication rec {
         ;
       inherit (tor) geoip;
     })
-
-    # https://github.com/onionshare/onionshare/pull/1903
-    (fetchpatch {
-      url = "https://github.com/onionshare/onionshare/pull/1903/commits/f20db8fcbd18e51b58814ae8f98f3a7502b4f456.patch";
-      stripLen = 1;
-      hash = "sha256-wfIjdPhdUYAvbK5XyE1o2OtFOlJRj0X5mh7QQRjdyP0=";
-    })
-
-    # Remove distutils for Python 3.12 compatibility
-    # https://github.com/onionshare/onionshare/pull/1907
-    (fetchpatch {
-      url = "https://github.com/onionshare/onionshare/commit/1fb1a470df20d8a7576c8cf51213e5928528d59a.patch";
-      includes = [ "onionshare/update_checker.py" ];
-      stripLen = 1;
-      hash = "sha256-mRRj9cALZVHw86CgU17sp9EglKhkRRcGfROyQpsXVfU=";
-    })
   ];
 
   dependencies = with python3Packages; [
diff --git a/pkgs/by-name/on/onionshare/package.nix b/pkgs/by-name/on/onionshare/package.nix
index 640caf9ed2a1..c89b96408b0b 100644
--- a/pkgs/by-name/on/onionshare/package.nix
+++ b/pkgs/by-name/on/onionshare/package.nix
@@ -11,7 +11,6 @@
   snowflake,
   tor,
 
-  fetchpatch,
   versionCheckHook,
   gitUpdater,
   onionshare-gui,
@@ -19,14 +18,14 @@
 }:
 python3Packages.buildPythonApplication rec {
   pname = "onionshare-cli";
-  version = "2.6.2";
+  version = "2.6.3";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "onionshare";
     repo = "onionshare";
     tag = "v${version}";
-    hash = "sha256-J8Hdriy8eWpHuMCI87a9a/zCR6xafM3A/Tkyom0Ktko=";
+    hash = "sha256-DY5rSHkmiqLIa49gcbq7VfcMM1AMFTJ5FPQtS2kR2Zs=";
   };
 
   sourceRoot = "${src.name}/cli";
@@ -42,15 +41,6 @@ python3Packages.buildPythonApplication rec {
         ;
       inherit (tor) geoip;
     })
-
-    # Remove distutils for Python 3.12 compatibility
-    # https://github.com/onionshare/onionshare/pull/1907
-    (fetchpatch {
-      url = "https://github.com/onionshare/onionshare/commit/1fb1a470df20d8a7576c8cf51213e5928528d59a.patch";
-      includes = [ "onionshare_cli/onion.py" ];
-      stripLen = 1;
-      hash = "sha256-4XkqaEhMhvj6PyMssnLfXRazdP4k+c9mMDveho7pWg8=";
-    })
   ];
 
   build-system = with python3Packages; [
@@ -143,9 +133,12 @@ python3Packages.buildPythonApplication rec {
       person you're sharing with can access the files.
     '';
     homepage = "https://onionshare.org/";
-    changelog = "https://github.com/onionshare/onionshare/releases/tag/v${version}";
+    changelog = "https://github.com/onionshare/onionshare/releases/tag/${src.tag}";
     license = lib.licenses.gpl3Plus;
-    maintainers = with lib.maintainers; [ bbjubjub ];
+    maintainers = with lib.maintainers; [
+      bbjubjub
+      dotlambda
+    ];
     mainProgram = "onionshare-cli";
   };
 }
diff --git a/pkgs/by-name/on/onlyoffice-documentserver/package.nix b/pkgs/by-name/on/onlyoffice-documentserver/package.nix
index 0d828b87580c..38a5dfa8978f 100644
--- a/pkgs/by-name/on/onlyoffice-documentserver/package.nix
+++ b/pkgs/by-name/on/onlyoffice-documentserver/package.nix
@@ -16,17 +16,17 @@ let
   # var/www/onlyoffice/documentserver/server/DocService/docservice
   onlyoffice-documentserver = stdenv.mkDerivation rec {
     pname = "onlyoffice-documentserver";
-    version = "8.3.2";
+    version = "8.3.3";
 
     src = fetchurl (
       {
         "aarch64-linux" = {
           url = "https://github.com/ONLYOFFICE/DocumentServer/releases/download/v${version}/onlyoffice-documentserver_arm64.deb";
-          sha256 = "sha256-fyxk7FiBhTRTy8f5Wx6Rp0MPX45O5Q05ZS17Krp05P0=";
+          sha256 = "sha256-wF5TdBEpNXeE8SMTmvgjuOp713Vf9gIifsI1yeujuA0=";
         };
         "x86_64-linux" = {
           url = "https://github.com/ONLYOFFICE/DocumentServer/releases/download/v${version}/onlyoffice-documentserver_amd64.deb";
-          sha256 = "sha256-dBA/TlTwG+9eRY5QdqVw0cghnXPRNCUfs9QoaNFFLB0=";
+          sha256 = "sha256-zEI9R5AOkE1gMZHL209l6HOh/yfZgmEvMw8+hb9kC+s=";
         };
       }
       .${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}")
diff --git a/pkgs/by-name/op/opa-envoy-plugin/package.nix b/pkgs/by-name/op/opa-envoy-plugin/package.nix
index 7d2ae1fb3fd4..5980e4088814 100644
--- a/pkgs/by-name/op/opa-envoy-plugin/package.nix
+++ b/pkgs/by-name/op/opa-envoy-plugin/package.nix
@@ -14,13 +14,13 @@ assert
 
 buildGoModule rec {
   pname = "opa-envoy-plugin";
-  version = "1.4.2-envoy";
+  version = "1.5.1-envoy";
 
   src = fetchFromGitHub {
     owner = "open-policy-agent";
     repo = "opa-envoy-plugin";
     tag = "v${version}";
-    hash = "sha256-DRW9VaxKd+MRcC3Ay7f9sblWTY9/RUNfH76LgPEhTas=";
+    hash = "sha256-rctYzH47R3vFk/Xl9YwTrTHU6K1pZ3QcimH1JfDecDs=";
   };
 
   vendorHash = null;
diff --git a/pkgs/by-name/op/open-policy-agent/package.nix b/pkgs/by-name/op/open-policy-agent/package.nix
index 01ff13010866..4fba049379bc 100644
--- a/pkgs/by-name/op/open-policy-agent/package.nix
+++ b/pkgs/by-name/op/open-policy-agent/package.nix
@@ -14,13 +14,13 @@ assert
 
 buildGoModule (finalAttrs: {
   pname = "open-policy-agent";
-  version = "1.4.2";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "open-policy-agent";
     repo = "opa";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-4FRNTB24JWyF3Zuhx3T6LjNs83+wDh4gmE9rh3cu/Vk=";
+    hash = "sha256-gIwi+38oUBEVK5DiTU8Avt+lQtXaIf/udyVi4LLvTu8=";
   };
 
   vendorHash = null;
@@ -31,7 +31,6 @@ buildGoModule (finalAttrs: {
 
   ldflags = [
     "-s"
-    "-w"
     "-X github.com/open-policy-agent/opa/version.Version=${finalAttrs.version}"
   ];
 
@@ -50,6 +49,7 @@ buildGoModule (finalAttrs: {
           # Skip tests that require network, not available in the nix sandbox
           "TestInterQueryCache_ClientError"
           "TestIntraQueryCache_ClientError"
+          "TestSSOCredentialService"
         ]
         ++ lib.optionals stdenv.hostPlatform.isDarwin [
           # Skip tests that require network, not available in the darwin sandbox
diff --git a/pkgs/by-name/op/open-webui/package.nix b/pkgs/by-name/op/open-webui/package.nix
index 4644d2a7453c..e8aa8a81e5cc 100644
--- a/pkgs/by-name/op/open-webui/package.nix
+++ b/pkgs/by-name/op/open-webui/package.nix
@@ -9,13 +9,13 @@
 }:
 let
   pname = "open-webui";
-  version = "0.6.13";
+  version = "0.6.15";
 
   src = fetchFromGitHub {
     owner = "open-webui";
     repo = "open-webui";
     tag = "v${version}";
-    hash = "sha256-teBGAo9YyFSBVXMElpw2zON5oCa3O8k+pf9pSNSW5gc=";
+    hash = "sha256-MD7d+5JuTzChqKLxXyZFLyPktXFta1EOe4Oj4uEGaho=";
   };
 
   frontend = buildNpmPackage rec {
@@ -32,7 +32,7 @@ let
       url = "https://github.com/pyodide/pyodide/releases/download/${pyodideVersion}/pyodide-${pyodideVersion}.tar.bz2";
     };
 
-    npmDepsHash = "sha256-/olaKqd0ZBFKyfoyhuPsd1Gl7nC9pro2apiWLjPe07s=";
+    npmDepsHash = "sha256-rUFCFYbthr0IJ5oIMgb3tr5kTqmZN40EPn05xR3LL+A=";
 
     # Disabling `pyodide:fetch` as it downloads packages during `buildPhase`
     # Until this is solved, running python packages from the browser will not work.
diff --git a/pkgs/by-name/op/opencloud-desktop-shell-integration-resources/package.nix b/pkgs/by-name/op/opencloud-desktop-shell-integration-resources/package.nix
index 13a9c593090d..4e1e61333455 100644
--- a/pkgs/by-name/op/opencloud-desktop-shell-integration-resources/package.nix
+++ b/pkgs/by-name/op/opencloud-desktop-shell-integration-resources/package.nix
@@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
     cmake
   ];
 
+  dontWrapQtApps = true;
+
   meta = {
     description = "Shared assets for OpenCloud desktop shell integrations";
     homepage = "https://github.com/opencloud-eu/desktop-shell-integration-resources";
diff --git a/pkgs/by-name/op/opencloud/idp-web.nix b/pkgs/by-name/op/opencloud/idp-web.nix
index 4c53aa7175ce..b89fa6f55ead 100644
--- a/pkgs/by-name/op/opencloud/idp-web.nix
+++ b/pkgs/by-name/op/opencloud/idp-web.nix
@@ -16,7 +16,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
   pnpmDeps = pnpm_10.fetchDeps {
     inherit (finalAttrs) pname version src;
     sourceRoot = "${finalAttrs.src.name}/${finalAttrs.pnpmRoot}";
-    hash = "sha256-gFhWDYk3DcwUowZ9AQjCqHZL1oniK3YCNiG1cDGabYg=";
+    hash = "sha256-yseRO1tClLTRpQj5BzMscElUlgLEzj1u8ndT1+di2+Y=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/op/opencloud/package.nix b/pkgs/by-name/op/opencloud/package.nix
index 0f3dd11ef6f1..38b2c3b12e95 100644
--- a/pkgs/by-name/op/opencloud/package.nix
+++ b/pkgs/by-name/op/opencloud/package.nix
@@ -28,13 +28,13 @@ let
 in
 buildGoModule rec {
   pname = "opencloud";
-  version = "2.3.0";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "opencloud-eu";
     repo = "opencloud";
     tag = "v${version}";
-    hash = "sha256-IIasFyKF28ynYi8bAmx8LddF0OWB1/Hji6Ovp5pm9QE=";
+    hash = "sha256-hWd/x+HRuU39j4F2bC0RbhFJEyjlKIknAYGArcdGEoM=";
   };
 
   postPatch = ''
diff --git a/pkgs/by-name/op/opencloud/web.nix b/pkgs/by-name/op/opencloud/web.nix
index 7513839ab0e6..a140684baed3 100644
--- a/pkgs/by-name/op/opencloud/web.nix
+++ b/pkgs/by-name/op/opencloud/web.nix
@@ -9,18 +9,18 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "opencloud-web";
-  version = "2.4.0";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "opencloud-eu";
     repo = "web";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-64Dwkx5IEwlaIX1z6Roi6cSWB2ETBldQcNWxgWiUX18=";
+    hash = "sha256-1LcOvpVVhBkY2ek67ME2rHqdYo5Ud2oWQC6rjxQX3Ng=";
   };
 
   pnpmDeps = pnpm_10.fetchDeps {
     inherit (finalAttrs) pname version src;
-    hash = "sha256-UKgtthdRnI+iR4Qn07nabQOzWZFATjIfrQfwxhKJkx8=";
+    hash = "sha256-7wwviWveMf+xnYmO05MI3XuPVZ/pcSqQi4sGjrEdjGc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/op/opencode/package.nix b/pkgs/by-name/op/opencode/package.nix
index 1b0f99707070..ded50ee0de41 100644
--- a/pkgs/by-name/op/opencode/package.nix
+++ b/pkgs/by-name/op/opencode/package.nix
@@ -2,20 +2,28 @@
   lib,
   fetchFromGitHub,
   buildGoModule,
+  versionCheckHook,
+  nix-update-script,
 }:
 
 buildGoModule (finalAttrs: {
   pname = "opencode";
-  version = "0.0.46";
+  version = "0.0.52";
 
   src = fetchFromGitHub {
-    owner = "opencode-ai";
+    owner = "sst";
     repo = "opencode";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-Q7ArUsFMpe0zayUMBJd+fC1K4jTGElIFep31Qa/L1jY=";
+    hash = "sha256-wniGu8EXOI2/sCI7gv2luQgODRdes7tt1CoJ6Gs09ig=";
   };
 
-  vendorHash = "sha256-MVpluFTF/2S6tRQQAXE3ujskQZ3njBkfve0RQgk3IkQ=";
+  vendorHash = "sha256-pnev0o2/jirTqG67amCeI49XUdMCCulpGq/jYqGqzRY=";
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/sst/opencode/internal/version.Version=${finalAttrs.version}"
+  ];
 
   checkFlags =
     let
@@ -24,13 +32,25 @@ buildGoModule (finalAttrs: {
         "TestBashTool_Run"
         "TestSourcegraphTool_Run"
         "TestLsTool_Run"
+
+        # Difference with snapshot
+        "TestGetContextFromPaths"
       ];
     in
     [ "-skip=^${lib.concatStringsSep "$|^" skippedTests}$" ];
 
+  nativeCheckInputs = [
+    versionCheckHook
+  ];
+  versionCheckProgramArg = "--version";
+  doInstallCheck = true;
+
+  passthru.updateScript = nix-update-script { };
+
   meta = {
     description = "Powerful terminal-based AI assistant providing intelligent coding assistance";
-    homepage = "https://github.com/opencode-ai/opencode";
+    homepage = "https://github.com/sst/opencode";
+    changelog = "https://github.com/sst/opencode/releases/tag/v${finalAttrs.version}";
     mainProgram = "opencode";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [
diff --git a/pkgs/by-name/op/opencryptoki/package.nix b/pkgs/by-name/op/opencryptoki/package.nix
index 45e90cc1a346..5870a23d823e 100644
--- a/pkgs/by-name/op/opencryptoki/package.nix
+++ b/pkgs/by-name/op/opencryptoki/package.nix
@@ -9,23 +9,25 @@
   openssl,
   trousers,
   libcap,
+  getent,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "opencryptoki";
-  version = "3.23.0";
+  version = "3.24.0";
 
   src = fetchFromGitHub {
     owner = "opencryptoki";
     repo = "opencryptoki";
-    rev = "v${version}";
-    hash = "sha256-5FcvwGTzsL0lYrSYGlbSY89s6OKzg+2TRlwHlJjdzXo=";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-GIcUI5Gjk+whwlD9dBiB2N7q6sPYFnhj5VvyQvc2Z2A=";
   };
 
   nativeBuildInputs = [
     autoreconfHook
     bison
     flex
+    getent
   ];
 
   buildInputs = [
@@ -37,6 +39,8 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     substituteInPlace configure.ac \
+      --replace-fail "/usr/sbin/" "" \
+      --replace-fail "/bin/" "" \
       --replace-fail "usermod" "true" \
       --replace-fail "useradd" "true" \
       --replace-fail "groupadd" "true" \
@@ -53,16 +57,14 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  installFlags = [
-    "DESTDIR=${placeholder "out"}"
-  ];
+  installFlags = [ "DESTDIR=${placeholder "out"}" ];
 
-  meta = with lib; {
-    changelog = "https://github.com/opencryptoki/opencryptoki/blob/${src.rev}/ChangeLog";
+  meta = {
+    changelog = "https://github.com/opencryptoki/opencryptoki/blob/v${finalAttrs.version}/ChangeLog";
     description = "PKCS#11 implementation for Linux";
     homepage = "https://github.com/opencryptoki/opencryptoki";
-    license = licenses.cpl10;
+    license = lib.licenses.cpl10;
     maintainers = [ ];
-    platforms = platforms.unix;
+    platforms = lib.platforms.unix;
   };
-}
+})
diff --git a/pkgs/by-name/op/openfga-cli/package.nix b/pkgs/by-name/op/openfga-cli/package.nix
index 0c59cfb1d84d..59e6a1a8a8a0 100644
--- a/pkgs/by-name/op/openfga-cli/package.nix
+++ b/pkgs/by-name/op/openfga-cli/package.nix
@@ -7,7 +7,7 @@
 
 let
   pname = "openfga-cli";
-  version = "0.6.6";
+  version = "0.7.0";
 in
 
 buildGoModule {
@@ -17,10 +17,10 @@ buildGoModule {
     owner = "openfga";
     repo = "cli";
     rev = "v${version}";
-    hash = "sha256-cmeWRtdt3mm5FqOq28pWNPgwQeJs/5amZ5RHT8VzwYQ=";
+    hash = "sha256-hZS9aBHPrcLZd5oitFPAG7z0M5mxWAX2ErE3PL+EdN4=";
   };
 
-  vendorHash = "sha256-vIkG78ep/JcjhlQznn93ImLrZCpKX6GU6FEzbJBPu2Y=";
+  vendorHash = "sha256-qVJBYLJ4YNNA8hkl4J2kEL1MR+MzrHMQnhNvs6EYV98=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/by-name/op/openfga/package.nix b/pkgs/by-name/op/openfga/package.nix
index 42da90d86c7b..4f78a06f5cdc 100644
--- a/pkgs/by-name/op/openfga/package.nix
+++ b/pkgs/by-name/op/openfga/package.nix
@@ -7,7 +7,7 @@
 
 let
   pname = "openfga";
-  version = "1.8.13";
+  version = "1.8.15";
 in
 
 buildGoModule {
@@ -17,10 +17,10 @@ buildGoModule {
     owner = "openfga";
     repo = "openfga";
     rev = "v${version}";
-    hash = "sha256-KjKh+0rm9yxLtJjSSdpobAw8fEf1n4HU1l/pYxWIehA=";
+    hash = "sha256-OZZm2MIXzXc41sHScTUrlVh5g6gfr3stP8rwmUSarAs=";
   };
 
-  vendorHash = "sha256-QGqghLCA7YuAOCe7EXXf56xS5jgURwsFWNS/qngzkq0=";
+  vendorHash = "sha256-S0ecHnHbYRSSA2i5gOOLMsNqs1DHKY5y2u9yMO9wJ88=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/by-name/op/opengrok/package.nix b/pkgs/by-name/op/opengrok/package.nix
index 1a221104b5b1..275d14c09151 100644
--- a/pkgs/by-name/op/opengrok/package.nix
+++ b/pkgs/by-name/op/opengrok/package.nix
@@ -8,12 +8,12 @@
 
 stdenv.mkDerivation rec {
   pname = "opengrok";
-  version = "1.14.0";
+  version = "1.14.1";
 
   # binary distribution
   src = fetchurl {
     url = "https://github.com/oracle/opengrok/releases/download/${version}/${pname}-${version}.tar.gz";
-    hash = "sha256-9tTUD5mG6xdkGcZkwXyo9YnvlehuHDT/FH6tvua0S7c=";
+    hash = "sha256-Th9+lX2zcCVCdOXA+iXCj1RVstCZCJK5jW6qQw+ugP4=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/by-name/op/openjph/package.nix b/pkgs/by-name/op/openjph/package.nix
index 9067323c5bb6..c6f28d85b420 100644
--- a/pkgs/by-name/op/openjph/package.nix
+++ b/pkgs/by-name/op/openjph/package.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "openjph";
-  version = "0.21.2";
+  version = "0.21.3";
 
   src = fetchFromGitHub {
     owner = "aous72";
     repo = "openjph";
     rev = finalAttrs.version;
-    hash = "sha256-pmFoaQC1WLqtxMkkC7myzkNk0zgQ90CzPFg+F1Y0a/k=";
+    hash = "sha256-KiDDpNNPN43YevIjnCl1dYyWgKIB8tTxs3UYSCufxhA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/op/openlinkhub/package.nix b/pkgs/by-name/op/openlinkhub/package.nix
index c0c145433e5d..7dbe09b6f8fa 100644
--- a/pkgs/by-name/op/openlinkhub/package.nix
+++ b/pkgs/by-name/op/openlinkhub/package.nix
@@ -9,13 +9,13 @@
 
 buildGoModule rec {
   pname = "openlinkhub";
-  version = "0.5.6";
+  version = "0.5.7";
 
   src = fetchFromGitHub {
     owner = "jurkovic-nikola";
     repo = "OpenLinkHub";
     tag = version;
-    hash = "sha256-iN58bC4do0rT+s8ezisaQo2/DWk5fK1mri0iduyz2EE=";
+    hash = "sha256-WXurXrwqdX7rIPlVakodBaswakZFeTxczJ+j7AlIuOM=";
   };
 
   proxyVendor = true;
diff --git a/pkgs/by-name/op/openmolcas/package.nix b/pkgs/by-name/op/openmolcas/package.nix
index 544bd7f6a8cb..ae6e3a879f4a 100644
--- a/pkgs/by-name/op/openmolcas/package.nix
+++ b/pkgs/by-name/op/openmolcas/package.nix
@@ -69,13 +69,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "openmolcas";
-  version = "25.02";
+  version = "25.06";
 
   src = fetchFromGitLab {
     owner = "Molcas";
     repo = "OpenMolcas";
     rev = "v${version}";
-    hash = "sha256-Ty7C7zj1lQixuUzeKLcwQCmcPexZXtIGDzp1wUMKDi0=";
+    hash = "sha256-/d+jusCFtbAVwvords2B7Cxuxh3FwnR/AWGDeir43oU=";
   };
 
   patches = [
diff --git a/pkgs/by-name/op/openomf/package.nix b/pkgs/by-name/op/openomf/package.nix
index fb8268c096d4..15a3172bbb8a 100644
--- a/pkgs/by-name/op/openomf/package.nix
+++ b/pkgs/by-name/op/openomf/package.nix
@@ -37,13 +37,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "openomf";
-  version = "0.8.2";
+  version = "0.8.3";
 
   src = fetchFromGitHub {
     owner = "omf2097";
     repo = "openomf";
     tag = finalAttrs.version;
-    hash = "sha256-vp/aiKFAWiBb8pxjivB54fr84CLW9vaBa1U8Ye/cF4M=";
+    hash = "sha256-9vd/LirurXFtmcG0U5SG8Oa66kcJ1EiaBmzfMxgnaqQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/op/openscad-unstable/package.nix b/pkgs/by-name/op/openscad-unstable/package.nix
index f8a2a0f7be6f..95a5bdc79609 100644
--- a/pkgs/by-name/op/openscad-unstable/package.nix
+++ b/pkgs/by-name/op/openscad-unstable/package.nix
@@ -34,7 +34,7 @@
   mesa,
   mpfr,
   python3,
-  tbb_2022_0,
+  tbb_2022,
   wayland,
   wayland-protocols,
   wrapGAppsHook3,
@@ -79,7 +79,7 @@ clangStdenv.mkDerivation rec {
     [
       clipper2
       glm
-      tbb_2022_0
+      tbb_2022
       mimalloc
       boost
       cairo
diff --git a/pkgs/by-name/op/openseachest/package.nix b/pkgs/by-name/op/openseachest/package.nix
index bff6d89ec4f1..4f58c07e665f 100644
--- a/pkgs/by-name/op/openseachest/package.nix
+++ b/pkgs/by-name/op/openseachest/package.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openseachest";
-  version = "25.05";
+  version = "25.05.1";
 
   src = fetchFromGitHub {
     owner = "Seagate";
     repo = "openSeaChest";
     rev = "v${version}";
-    hash = "sha256-rxy+A2HV20RbCF6rnl04RwAP7LHm1jM9Y78N08pBr6E=";
+    hash = "sha256-kd2JRtqnxfYRJcr1yKSB0LZAR96j2WW4tR1iRTvVANs=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/by-name/op/opensnitch-ui/package.nix b/pkgs/by-name/op/opensnitch-ui/package.nix
index 1d50cffd70f2..2001eb0d96dc 100644
--- a/pkgs/by-name/op/opensnitch-ui/package.nix
+++ b/pkgs/by-name/op/opensnitch-ui/package.nix
@@ -41,7 +41,7 @@ python3Packages.buildPythonApplication {
     make -C ../proto ../ui/opensnitch/ui_pb2.py
     # sourced from ui/Makefile
     pyrcc5 -o opensnitch/resources_rc.py opensnitch/res/resources.qrc
-    sed -i 's/^import ui_pb2/from . import ui_pb2/' opensnitch/ui_pb2*
+    sed -i 's/^import ui_pb2/from . import ui_pb2/' opensnitch/proto/ui_pb2*
   '';
 
   preCheck = ''
diff --git a/pkgs/by-name/op/opensnitch/package.nix b/pkgs/by-name/op/opensnitch/package.nix
index e4542308b687..18964197f2d5 100644
--- a/pkgs/by-name/op/opensnitch/package.nix
+++ b/pkgs/by-name/op/opensnitch/package.nix
@@ -1,6 +1,7 @@
 {
   buildGoModule,
   fetchFromGitHub,
+  fetchpatch,
   protobuf,
   go-protobuf,
   pkg-config,
@@ -34,15 +35,24 @@ let
 in
 buildGoModule (finalAttrs: {
   pname = "opensnitch";
-  version = "1.6.9";
+  version = "1.7.0.0";
 
   src = fetchFromGitHub {
     owner = "evilsocket";
     repo = "opensnitch";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-c+VAlm32/NXvUr5i0AY/zuTrFIQLtPxNNeSiQTMoJAY=";
+    hash = "sha256-ZkXqocgxyJGo5uQq4Ct1wmUIQljtx5oPzj4JfWWAuSE=";
   };
 
+  patches = [
+    # https://github.com/evilsocket/opensnitch/issues/1357
+    # remove next release
+    (fetchpatch {
+      url = "https://github.com/dwongdev/opensnitch/commit/376b06ef97ef79e3afa699878af2e59918aa7ef0.patch?full_index=1";
+      hash = "sha256-QBhc4A2Dign5JY4fcQ2c3F02xFj3m3G2VwY9cFuWV3w=";
+    })
+  ];
+
   postPatch = ''
     # Allow configuring Version at build time
     substituteInPlace daemon/core/version.go --replace-fail "const " "var "
@@ -63,7 +73,7 @@ buildGoModule (finalAttrs: {
     protoc-gen-go-grpc'
   ];
 
-  vendorHash = "sha256-urRujxcp58ZuhUtTAqCK0etSZ16YYG/6JY/aOUodl9g=";
+  vendorHash = "sha256-IByoQuJsGORmePlv1HzvF8RSu2XhP5Sry1j3NoY2WP8=";
 
   preBuild = ''
     make -C ../proto ../daemon/ui/protocol/ui.pb.go
diff --git a/pkgs/by-name/op/opensplat/package.nix b/pkgs/by-name/op/opensplat/package.nix
index 6dbe03103e21..a9372c86b8aa 100644
--- a/pkgs/by-name/op/opensplat/package.nix
+++ b/pkgs/by-name/op/opensplat/package.nix
@@ -16,6 +16,7 @@
   cudaSupport ? config.cudaSupport,
   cudaPackages,
   autoAddDriverRunpath,
+  fetchpatch2,
 }:
 let
   version = "1.1.4";
@@ -35,6 +36,13 @@ stdenv'.mkDerivation {
     hash = "sha256-u2UmD0O3sUWELYb4CjQE19i4HUjLMcaWqOinQH0PPTM=";
   };
 
+  patches = [
+    (fetchpatch2 {
+      url = "https://github.com/pierotofy/OpenSplat/commit/7fb96e86a43ac6cfd3eb3a7f6be190c5f2dbeb73.patch";
+      hash = "sha256-hWJWU/n1pRAAbExAYUap6CoSjIu2dzCToUmacSSpa0I=";
+    })
+  ];
+
   nativeBuildInputs =
     [
       cmake
diff --git a/pkgs/by-name/op/openstack-rs/package.nix b/pkgs/by-name/op/openstack-rs/package.nix
index a865f74b9e2a..9a8fbbe612f5 100644
--- a/pkgs/by-name/op/openstack-rs/package.nix
+++ b/pkgs/by-name/op/openstack-rs/package.nix
@@ -9,16 +9,16 @@
 }:
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "openstack-rs";
-  version = "0.12.1";
+  version = "0.12.3";
   src = fetchFromGitHub {
     owner = "gtema";
     repo = "openstack";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-jJNEZF0aGD4pdKWdWOa64nIr/CKJlBL7Vo9MFiQ54xo=";
+    hash = "sha256-bl6Gxoqy9DJf3fwozLSQheL24hHqRCt4Kwb0mvhGhSs=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-edKIJM4FQ/SmR7IU/7WxNm+hHouXMWUV8n3rbKzvV0A=";
+  cargoHash = "sha256-miwBqy4CPvFgfwlEht3LUd6yrUkARfP5Ed4oWrFDg8U=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/by-name/op/openterface-qt/package.nix b/pkgs/by-name/op/openterface-qt/package.nix
index 9484966fd8bf..6b3d86c32108 100644
--- a/pkgs/by-name/op/openterface-qt/package.nix
+++ b/pkgs/by-name/op/openterface-qt/package.nix
@@ -22,12 +22,12 @@ let
 in
 stdenv.mkDerivation (final: {
   pname = "openterface-qt";
-  version = "0.3.14";
+  version = "0.3.15";
   src = fetchFromGitHub {
     owner = "TechxArtisanStudio";
     repo = "Openterface_QT";
     rev = "${final.version}";
-    hash = "sha256-HHHLQwycnMme3Ch538ram6tkG3OYUcd4NFCUcL4vIjk=";
+    hash = "sha256-wU30m8dQirrLcYNFs4lTKIrng7B4HapHeVsyLR619PY=";
   };
   nativeBuildInputs = [
     copyDesktopItems
diff --git a/pkgs/by-name/op/openvino/package.nix b/pkgs/by-name/op/openvino/package.nix
index 56c51de76b72..041a09c686eb 100644
--- a/pkgs/by-name/op/openvino/package.nix
+++ b/pkgs/by-name/op/openvino/package.nix
@@ -28,7 +28,7 @@
   protobuf,
   pugixml,
   snappy,
-  tbb_2022_0,
+  tbb_2022,
   cudaPackages,
 }:
 
@@ -61,14 +61,14 @@ in
 
 stdenv.mkDerivation rec {
   pname = "openvino";
-  version = "2025.1.0";
+  version = "2025.2.0";
 
   src = fetchFromGitHub {
     owner = "openvinotoolkit";
     repo = "openvino";
     tag = version;
     fetchSubmodules = true;
-    hash = "sha256-KufQjBSzhj1N+T95PjlNU3Tc9V5/X2OLwCbXoI2fdZk=";
+    hash = "sha256-EtXHMOIk4hGcLiaoC0ZWYF6XZCD2qNtt1HeJoJIuuTA=";
   };
 
   outputs = [
@@ -158,7 +158,7 @@ stdenv.mkDerivation rec {
       opencv
       pugixml
       snappy
-      tbb_2022_0
+      tbb_2022
     ]
     ++ lib.optionals cudaSupport [
       cudaPackages.cuda_cudart
diff --git a/pkgs/by-name/op/openvr/package.nix b/pkgs/by-name/op/openvr/package.nix
index fa65d10af9e3..9966f945141e 100644
--- a/pkgs/by-name/op/openvr/package.nix
+++ b/pkgs/by-name/op/openvr/package.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "openvr";
-  version = "2.5.1";
+  version = "2.12.1";
 
   src = fetchFromGitHub {
     owner = "ValveSoftware";
     repo = "openvr";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-bIKjZ7DvJVmDK386WgXaAFQrS0E1TNEUMhfQp7FNnvk=";
+    hash = "sha256-SdCN1BmYa2XyBi+aIKrk7RQBRG9+NeEpO7RsEmEBRjc=";
   };
 
   patches = [
diff --git a/pkgs/by-name/op/openxr-loader/package.nix b/pkgs/by-name/op/openxr-loader/package.nix
index b6f31e85b909..4605a1ba0e1a 100644
--- a/pkgs/by-name/op/openxr-loader/package.nix
+++ b/pkgs/by-name/op/openxr-loader/package.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openxr-loader";
-  version = "1.1.47";
+  version = "1.1.49";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "OpenXR-SDK-Source";
     tag = "release-${version}";
-    hash = "sha256-7VW99dtE7gz0Y9pKyAdyeKHL6zgk5KvA8jPfgG1O5sc=";
+    hash = "sha256-fQmS8oJZ7Oy/miKCtOQGSvZFDIEMFOcUyz2D6P8hNZY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/op/opkg/package.nix b/pkgs/by-name/op/opkg/package.nix
index 478c606ba1e5..0df2c17fe0ff 100644
--- a/pkgs/by-name/op/opkg/package.nix
+++ b/pkgs/by-name/op/opkg/package.nix
@@ -14,13 +14,13 @@
   autoreconfHook,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "opkg";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchurl {
-    url = "https://downloads.yoctoproject.org/releases/opkg/opkg-${version}.tar.gz";
-    hash = "sha256-2XP9DxVo9Y+H1q7NmqlePh9gIUpFzuJnBL+P51fFRWc=";
+    url = "https://git.yoctoproject.org/opkg/snapshot/opkg-${finalAttrs.version}.tar.gz";
+    hash = "sha256-3vDW6VtBBr4HTA/OWgyqDo1zfyH+Mfvu8ViFl7rTlmY=";
   };
 
   nativeBuildInputs = [
@@ -47,9 +47,9 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Lightweight package management system based upon ipkg";
     homepage = "https://git.yoctoproject.org/cgit/cgit.cgi/opkg/";
-    changelog = "https://git.yoctoproject.org/opkg/tree/NEWS?h=v${version}";
+    changelog = "https://git.yoctoproject.org/opkg/tree/CHANGELOG.md";
     license = lib.licenses.gpl2Plus;
     platforms = lib.platforms.linux;
     maintainers = with lib.maintainers; [ pSub ];
   };
-}
+})
diff --git a/pkgs/by-name/op/opsdroid/package.nix b/pkgs/by-name/op/opsdroid/package.nix
index d0a0166a1af7..f313846b1bba 100644
--- a/pkgs/by-name/op/opsdroid/package.nix
+++ b/pkgs/by-name/op/opsdroid/package.nix
@@ -70,7 +70,6 @@ python3Packages.buildPythonPackage rec {
     license = lib.licenses.asl20;
     maintainers = with lib.maintainers; [
       globin
-      willibutz
     ];
     platforms = lib.platforms.unix;
     mainProgram = "opsdroid";
diff --git a/pkgs/by-name/or/orbiton/package.nix b/pkgs/by-name/or/orbiton/package.nix
index d210a38c46d8..afefb89ddb9d 100644
--- a/pkgs/by-name/or/orbiton/package.nix
+++ b/pkgs/by-name/or/orbiton/package.nix
@@ -12,13 +12,13 @@
 
 buildGoModule rec {
   pname = "orbiton";
-  version = "2.69.0";
+  version = "2.70.0";
 
   src = fetchFromGitHub {
     owner = "xyproto";
     repo = "orbiton";
     tag = "v${version}";
-    hash = "sha256-0ba+IkiBQUsesq54S4Ngd9vTO5E7kqOQS61HidxE0jM=";
+    hash = "sha256-3EAYPCNVQiED8qHyLbwyYU7gXJn2TFgiJ2/JyxyD7+M=";
   };
 
   vendorHash = null;
diff --git a/pkgs/by-name/or/orbuculum/package.nix b/pkgs/by-name/or/orbuculum/package.nix
index fea1dbb0e6a5..80ce39a2c83f 100644
--- a/pkgs/by-name/or/orbuculum/package.nix
+++ b/pkgs/by-name/or/orbuculum/package.nix
@@ -2,6 +2,7 @@
   lib,
   stdenv,
   fetchFromGitHub,
+  fetchzip,
   meson,
   ninja,
   pkg-config,
@@ -9,22 +10,33 @@
   libusb1,
   ncurses,
   SDL2,
+  libelf,
 }:
 
-stdenv.mkDerivation rec {
+let
+  libdwarf = fetchzip {
+    url = "https://www.prevanders.net/libdwarf-0.7.0.tar.xz";
+    hash = "sha256-YTTbBJkDu2BSAVpvucqtg7/hFxXrxLnNAlvAL7rmkdE=";
+  };
+in
+stdenv.mkDerivation (finalAttrs: {
   pname = "orbuculum";
-  version = "2.1.0";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "orbcode";
     repo = "orbuculum";
-    rev = "V${version}";
-    sha256 = "sha256-Ohcc8739W/EmDjOYhcMgzEPVhzbWrUYgsPLdy4qzxhY=";
+    tag = "V${finalAttrs.version}";
+    hash = "sha256-n3+cfeN6G9n8pD5WyiHPENMJ0FN+bRVZe9pl81uvIrc=";
   };
 
-  prePatch = ''
-    substituteInPlace meson.build --replace \
-      "/etc/udev/rules.d" "$out/etc/udev/rules.d"
+  postPatch = ''
+    cp --recursive --no-preserve=mode ${libdwarf} subprojects/libdwarf-0.7.0
+    pushd subprojects/libdwarf-0.7.0
+    patch -p1 < ../packagefiles/libdwarf/0001-fix-Use-project_source_root-for-subproject-compatibi.patch
+    patch -p1 < ../packagefiles/libdwarf/0002-fix-compilation-clang.patch
+    patch -p1 < ../packagefiles/libdwarf/0003-Fixed-calloc-arguments-order.patch
+    popd
   '';
 
   nativeBuildInputs = [
@@ -38,13 +50,12 @@ stdenv.mkDerivation rec {
     libusb1
     ncurses
     SDL2
+    libelf
   ];
 
   doInstallCheck = true;
 
-  installFlags = [
-    "INSTALL_ROOT=$(out)/"
-  ];
+  installFlags = [ "INSTALL_ROOT=$(out)/" ];
 
   postInstall = ''
     mkdir -p $out/etc/udev/rules.d/
@@ -54,9 +65,9 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Cortex M SWO SWV Demux and Postprocess for the ORBTrace";
     homepage = "https://orbcode.org";
-    changelog = "https://github.com/orbcode/orbuculum/blob/V${version}/CHANGES.md";
+    changelog = "https://github.com/orbcode/orbuculum/blob/V${finalAttrs.version}/CHANGES.md";
     license = lib.licenses.bsd3;
     maintainers = with lib.maintainers; [ newam ];
     platforms = lib.platforms.linux;
   };
-}
+})
diff --git a/pkgs/by-name/or/orca-slicer/package.nix b/pkgs/by-name/or/orca-slicer/package.nix
index 14887e24ae25..bbf9e443160b 100644
--- a/pkgs/by-name/or/orca-slicer/package.nix
+++ b/pkgs/by-name/or/orca-slicer/package.nix
@@ -34,7 +34,7 @@
   opencv,
   pcre,
   systemd,
-  tbb_2021_11,
+  tbb_2021,
   webkitgtk_4_0,
   wxGTK31,
   xorg,
@@ -112,7 +112,7 @@ stdenv.mkDerivation (finalAttrs: {
       opencascade-occt_7_6
       openvdb
       pcre
-      tbb_2021_11
+      tbb_2021
       webkitgtk_4_0
       wxGTK'
       xorg.libX11
diff --git a/pkgs/by-name/or/orca/package.nix b/pkgs/by-name/or/orca/package.nix
index ae9ddec8febe..b600b2abd46c 100644
--- a/pkgs/by-name/or/orca/package.nix
+++ b/pkgs/by-name/or/orca/package.nix
@@ -29,13 +29,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "orca";
-  version = "48.1";
+  version = "48.2";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/orca/${lib.versions.major version}/orca-${version}.tar.xz";
-    hash = "sha256-ZsbwmCIUnaJDpGM6fYSnsduq8UU0qf653yv+AaUFF4o=";
+    hash = "sha256-oIPaV4ZLVLoqPl9IG1QM/L5hiASjZDZoJ3Jw4mNTaf4=";
   };
 
   patches = [
diff --git a/pkgs/by-name/or/orchard/package.nix b/pkgs/by-name/or/orchard/package.nix
index a164336c7c05..1a38ac4a5a54 100644
--- a/pkgs/by-name/or/orchard/package.nix
+++ b/pkgs/by-name/or/orchard/package.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "orchard";
-  version = "0.33.2";
+  version = "0.34.0";
 
   src = fetchFromGitHub {
     owner = "cirruslabs";
     repo = "orchard";
     rev = version;
-    hash = "sha256-yiCMnP73C5MJLYjnZfqcKtdSzPyL/9WlAtylMXDl4E8=";
+    hash = "sha256-7XKiFViGjz0/jrvN6JdCFy1lw4fN2Bz43WWKcgZ7ZzU=";
     # populate values that require us to use git. By doing this in postFetch we
     # can delete .git afterwards and maintain better reproducibility of the src.
     leaveDotGit = true;
@@ -24,7 +24,7 @@ buildGoModule rec {
     '';
   };
 
-  vendorHash = "sha256-fU2TXUtcXmjswlEbSsbCTOaC5rvtctHbTKbR7zIwP/g=";
+  vendorHash = "sha256-LExITpIVaMIxt+CkH7SRkbSPRO842Pl9lgSqZenE4uA=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/by-name/os/os-prober/package.nix b/pkgs/by-name/os/os-prober/package.nix
index 64e5171dc0a9..0b539d98ac97 100644
--- a/pkgs/by-name/os/os-prober/package.nix
+++ b/pkgs/by-name/os/os-prober/package.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   src = fetchFromGitLab {
     domain = "salsa.debian.org";
     owner = "installer-team";
-    repo = pname;
+    repo = "os-prober";
     rev = version;
     sha256 = "sha256-cTufM82YE1L7d3kIOtncICInBPEw4o4NzQXB4uDrMKI=";
   };
diff --git a/pkgs/by-name/os/osqp-eigen/package.nix b/pkgs/by-name/os/osqp-eigen/package.nix
index bd2ef7bb4924..43affe95486d 100644
--- a/pkgs/by-name/os/osqp-eigen/package.nix
+++ b/pkgs/by-name/os/osqp-eigen/package.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "osqp-eigen";
-  version = "0.10.0";
+  version = "0.10.1";
 
   src = fetchFromGitHub {
     owner = "robotology";
     repo = "osqp-eigen";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-vmHGOG+duR8R5KSC0yaXkjB5KaotTjuXbXneKv9MO3c=";
+    hash = "sha256-O31PE9qD2aCApXD+9qjjeDLOiZpxCHRF4VAkttXtNVk=";
   };
 
   cmakeFlags = [
diff --git a/pkgs/by-name/os/osrm-backend/package.nix b/pkgs/by-name/os/osrm-backend/package.nix
index de9207b66365..accbb1f514c7 100644
--- a/pkgs/by-name/os/osrm-backend/package.nix
+++ b/pkgs/by-name/os/osrm-backend/package.nix
@@ -10,13 +10,13 @@
   boost,
   lua,
   luabind,
-  tbb_2022_0,
+  tbb_2022,
   expat,
   nixosTests,
 }:
 
 let
-  tbb = tbb_2022_0;
+  tbb = tbb_2022;
 in
 stdenv.mkDerivation rec {
   pname = "osrm-backend";
diff --git a/pkgs/by-name/os/osu-lazer-bin/package.nix b/pkgs/by-name/os/osu-lazer-bin/package.nix
index de1fa81330ee..b28f8cf6a87c 100644
--- a/pkgs/by-name/os/osu-lazer-bin/package.nix
+++ b/pkgs/by-name/os/osu-lazer-bin/package.nix
@@ -65,11 +65,16 @@ if stdenvNoCC.hostPlatform.isDarwin then
       passthru
       ;
 
+    nativeBuildInputs = [ makeWrapper ];
+
     installPhase = ''
       runHook preInstall
-      APP_DIR="$out/Applications"
-      mkdir -p "$APP_DIR"
-      cp -r . "$APP_DIR"
+      OSU_WRAPPER="$out/Applications/osu!.app/Contents"
+      OSU_CONTENTS="osu!.app/Contents"
+      mkdir -p "$OSU_WRAPPER/MacOS"
+      cp -r "$OSU_CONTENTS/Info.plist" "$OSU_CONTENTS/Resources" "$OSU_WRAPPER"
+      cp -r "osu!.app" "$OSU_WRAPPER/Resources/osu-wrapped.app"
+      makeWrapper "$OSU_WRAPPER/Resources/osu-wrapped.app/Contents/MacOS/osu!" "$OSU_WRAPPER/MacOS/osu!" --set OSU_EXTERNAL_UPDATE_PROVIDER 1
       runHook postInstall
     '';
   }
diff --git a/pkgs/by-name/os/osu-lazer-bin/update.sh b/pkgs/by-name/os/osu-lazer-bin/update.sh
index 0b06950762b5..30a1fb9bfe35 100755
--- a/pkgs/by-name/os/osu-lazer-bin/update.sh
+++ b/pkgs/by-name/os/osu-lazer-bin/update.sh
@@ -5,7 +5,7 @@ cd "$(dirname "${BASH_SOURCE[0]}")"
 
 bin_file="$(realpath ./package.nix)"
 
-new_version="$(curl -s "https://api.github.com/repos/ppy/osu/releases?per_page=1" | jq -r '.[0].name')"
+new_version="$(curl -s "https://api.github.com/repos/ppy/osu/releases/latest" | jq -r '.name')"
 old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./package.nix)"
 if [[ "$new_version" == "$old_version" ]]; then
     echo "Already up to date."
diff --git a/pkgs/by-name/os/osx-cpu-temp/package.nix b/pkgs/by-name/os/osx-cpu-temp/package.nix
index 016cd81d6831..8b55a27d6910 100644
--- a/pkgs/by-name/os/osx-cpu-temp/package.nix
+++ b/pkgs/by-name/os/osx-cpu-temp/package.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     name = "osx-cpu-temp-source";
     owner = "lavoiesl";
-    repo = pname;
+    repo = "osx-cpu-temp";
     rev = "6ec951be449badcb7fb84676bbc2c521e600e844";
     sha256 = "1nlibgr55bpln6jbdf8vqcp0fj9zv9343vflb7s9w0yh33fsbg9d";
   };
diff --git a/pkgs/by-name/ot/otb/package.nix b/pkgs/by-name/ot/otb/package.nix
index b30b092ae6c6..67b3bb0e0c78 100644
--- a/pkgs/by-name/ot/otb/package.nix
+++ b/pkgs/by-name/ot/otb/package.nix
@@ -1,6 +1,5 @@
 {
   cmake,
-  callPackage,
   fetchFromGitHub,
   fetchpatch,
   makeWrapper,
@@ -43,7 +42,7 @@
   enableThirdParty ? true,
 }:
 let
-  inherit (lib) optionalString optionals optional;
+  inherit (lib) optionals;
   pythonInputs =
     optionals enablePython (with python3.pkgs; [ numpy ]) ++ (extraPythonPackages python3.pkgs);
 
@@ -234,9 +233,17 @@ stdenv.mkDerivation (finalAttrs: {
     ./1-otb-swig-include-itk.diff
   ];
 
-  postPatch = (
-    "substituteInPlace Modules/Core/Wrappers/SWIG/src/python/CMakeLists.txt --replace-fail '''$''{ITK_INCLUDE_DIRS}' ${otb-itk}/include/ITK-${itkMajorMinorVersion}"
-  );
+  postPatch =
+    ''
+      substituteInPlace Modules/Core/Wrappers/SWIG/src/python/CMakeLists.txt \
+        --replace-fail ''\'''${ITK_INCLUDE_DIRS}' "${otb-itk}/include/ITK-${itkMajorMinorVersion}"
+    ''
+    # Add the header file "vcl_legacy_aliases.h", which defines the legacy vcl_* functions.
+    # This patch fixes the unreproducible build of OTB.
+    # See https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2484.
+    + ''
+      sed -i '/#include "vcl_compiler.h"/a #include "vcl_legacy_aliases.h"' Modules/Core/Mosaic/include/otbMosaicFunctors.h
+    '';
 
   nativeBuildInputs = [
     cmake
@@ -301,6 +308,7 @@ stdenv.mkDerivation (finalAttrs: {
     homepage = "https://www.orfeo-toolbox.org/";
     license = lib.licenses.asl20;
     maintainers = with lib.maintainers; [ daspk04 ];
+    teams = [ lib.teams.geospatial ];
     platforms = lib.platforms.linux;
   };
 })
diff --git a/pkgs/by-name/ov/overlayed/package.nix b/pkgs/by-name/ov/overlayed/package.nix
index 0180aaa78cc8..4b6f82a184cc 100644
--- a/pkgs/by-name/ov/overlayed/package.nix
+++ b/pkgs/by-name/ov/overlayed/package.nix
@@ -1,14 +1,19 @@
 {
-  rustPlatform,
   lib,
-  callPackage,
-  pkg-config,
-  openssl,
-  libsoup_3,
-  webkitgtk_4_1,
+  rustPlatform,
   fetchFromGitHub,
+
+  cargo-tauri,
+  jq,
+  moreutils,
+  nodejs,
+  pkg-config,
+  pnpm_9,
+
   libayatana-appindicator,
-  nix-update-script,
+  libsoup_3,
+  openssl,
+  webkitgtk_4_1,
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -22,23 +27,31 @@ rustPlatform.buildRustPackage rec {
     hash = "sha256-3GFg8czBf1csojXUNC51xFXJnGuXltP6D46fCt6q24I=";
   };
 
-  sourceRoot = "${src.name}/apps/desktop/src-tauri";
+  cargoRoot = "apps/desktop/src-tauri";
+  buildAndTestSubdir = "apps/desktop/src-tauri";
 
   useFetchCargoVendor = true;
   cargoHash = "sha256-6wN4nZQWrY0J5E+auj17B3iJ/84hzBXYA/bJsX/N5pk=";
 
-  webui = callPackage ./webui.nix {
-    inherit meta src version;
+  pnpmDeps = pnpm_9.fetchDeps {
+    inherit pname version src;
+    hash = "sha256-+yyxoodcDfqJ2pkosd6sMk77/71RDsGthedo1Oigwto=";
   };
 
   nativeBuildInputs = [
+    cargo-tauri.hook
+    jq
+    moreutils
+    nodejs
     pkg-config
+    pnpm_9.configHook
   ];
 
   buildInputs = [
+    libayatana-appindicator
+    libsoup_3
     openssl
     webkitgtk_4_1
-    libsoup_3
   ];
 
   env = {
@@ -48,9 +61,10 @@ rustPlatform.buildRustPackage rec {
   postPatch = ''
     substituteInPlace $cargoDepsCopy/libappindicator-sys-*/src/lib.rs \
       --replace-fail "libayatana-appindicator3.so.1" "${libayatana-appindicator}/lib/libayatana-appindicator3.so.1"
-    substituteInPlace ./tauri.conf.json \
-      --replace-fail '../dist' '${webui}' \
-      --replace-fail 'pnpm build' ' '
+
+    # disable updater
+    jq '.plugins.updater.endpoints = [ ] | .bundle.createUpdaterArtifacts = false' \
+      apps/desktop/src-tauri/tauri.conf.json | sponge apps/desktop/src-tauri/tauri.conf.json
   '';
 
   meta = {
diff --git a/pkgs/by-name/ov/overlayed/webui.nix b/pkgs/by-name/ov/overlayed/webui.nix
deleted file mode 100644
index 482aeba5f2f4..000000000000
--- a/pkgs/by-name/ov/overlayed/webui.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{
-  src,
-  meta,
-  version,
-  stdenv,
-  nodejs,
-  pnpm_9,
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  inherit version src meta;
-  pname = "overlayed-webui";
-
-  pnpmDeps = pnpm_9.fetchDeps {
-    inherit (finalAttrs) src pname version;
-    hash = "sha256-+yyxoodcDfqJ2pkosd6sMk77/71RDsGthedo1Oigwto=";
-  };
-
-  nativeBuildInputs = [
-    nodejs
-    pnpm_9.configHook
-  ];
-
-  buildPhase = ''
-    runHook preBuild
-
-    cd apps/desktop
-    node --max_old_space_size=1024000 ./node_modules/vite/bin/vite.js build
-
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    cp -r dist $out
-
-    runHook postInstall
-  '';
-})
diff --git a/pkgs/by-name/ov/ovn/package.nix b/pkgs/by-name/ov/ovn/package.nix
index 88786f1d12af..dbc1e9b595ba 100644
--- a/pkgs/by-name/ov/ovn/package.nix
+++ b/pkgs/by-name/ov/ovn/package.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ovn";
-  version = "25.03.0";
+  version = "25.03.1";
 
   src = fetchFromGitHub {
     owner = "ovn-org";
     repo = "ovn";
     tag = "v${version}";
-    hash = "sha256-UbCmXPft9SCsbPZ+GuTWIOUUhv+RaC55jNiTjsVBeRw=";
+    hash = "sha256-nDW3jwZ0RE9i+5+8eRKb7P7KQxiGd22dn/s7bzx/CjQ=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/by-name/ox/oxide-rs/0001-use-crates-io-over-git-dependencies.patch b/pkgs/by-name/ox/oxide-rs/0001-use-crates-io-over-git-dependencies.patch
deleted file mode 100644
index 816e8741fc8e..000000000000
--- a/pkgs/by-name/ox/oxide-rs/0001-use-crates-io-over-git-dependencies.patch
+++ /dev/null
@@ -1,150 +0,0 @@
-diff --git a/Cargo.lock b/Cargo.lock
-index c0d18e4..45686a0 100644
---- a/Cargo.lock
-+++ b/Cargo.lock
-@@ -1514,7 +1514,7 @@ dependencies = [
-  "httpdate",
-  "itoa",
-  "pin-project-lite",
-- "socket2 0.5.7",
-+ "socket2 0.4.10",
-  "tokio",
-  "tower-service",
-  "tracing",
-@@ -2240,7 +2240,7 @@ version = "5.0.0-rc.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "23d385da3c602d29036d2f70beed71c36604df7570be17fed4c5b839616785bf"
- dependencies = [
-- "base64 0.22.1",
-+ "base64 0.21.7",
-  "chrono",
-  "getrandom",
-  "http 1.1.0",
-@@ -2354,7 +2354,7 @@ dependencies = [
-  "clap",
-  "dirs",
-  "futures",
-- "progenitor-client 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "progenitor-client",
-  "rand",
-  "regress",
-  "reqwest",
-@@ -2684,9 +2684,10 @@ dependencies = [
- [[package]]
- name = "progenitor"
- version = "0.8.0"
--source = "git+https://github.com/oxidecomputer/progenitor#04da1197662209339ae8dd3768a0157c65ff5d67"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "293df5b79211fbf0c1ebad6513ba451d267e9c15f5f19ee5d3da775e2dd27331"
- dependencies = [
-- "progenitor-client 0.8.0 (git+https://github.com/oxidecomputer/progenitor)",
-+ "progenitor-client",
-  "progenitor-impl",
-  "progenitor-macro",
- ]
-@@ -2706,24 +2707,11 @@ dependencies = [
-  "serde_urlencoded",
- ]
- 
--[[package]]
--name = "progenitor-client"
--version = "0.8.0"
--source = "git+https://github.com/oxidecomputer/progenitor#04da1197662209339ae8dd3768a0157c65ff5d67"
--dependencies = [
-- "bytes",
-- "futures-core",
-- "percent-encoding",
-- "reqwest",
-- "serde",
-- "serde_json",
-- "serde_urlencoded",
--]
--
- [[package]]
- name = "progenitor-impl"
- version = "0.8.0"
--source = "git+https://github.com/oxidecomputer/progenitor#04da1197662209339ae8dd3768a0157c65ff5d67"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d85934a440963a69f9f04f48507ff6e7aa2952a5b2d8f96cc37fa3dd5c270f66"
- dependencies = [
-  "heck",
-  "http 1.1.0",
-@@ -2736,7 +2724,7 @@ dependencies = [
-  "serde",
-  "serde_json",
-  "syn",
-- "thiserror 2.0.6",
-+ "thiserror 1.0.69",
-  "typify",
-  "unicode-ident",
- ]
-@@ -2744,7 +2732,8 @@ dependencies = [
- [[package]]
- name = "progenitor-macro"
- version = "0.8.0"
--source = "git+https://github.com/oxidecomputer/progenitor#04da1197662209339ae8dd3768a0157c65ff5d67"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d99a5a259e2d65a4933054aa51717c70b6aba0522695731ac354a522124efc9b"
- dependencies = [
-  "openapiv3",
-  "proc-macro2",
-@@ -4069,7 +4058,8 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
- [[package]]
- name = "typify"
- version = "0.2.0"
--source = "git+https://github.com/oxidecomputer/typify#f3e0cc9d6a5cee617a636136b99db650817bcbde"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b4c644dda9862f0fef3a570d8ddb3c2cfb1d5ac824a1f2ddfa7bc8f071a5ad8a"
- dependencies = [
-  "typify-impl",
-  "typify-macro",
-@@ -4078,7 +4068,8 @@ dependencies = [
- [[package]]
- name = "typify-impl"
- version = "0.2.0"
--source = "git+https://github.com/oxidecomputer/typify#f3e0cc9d6a5cee617a636136b99db650817bcbde"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d59ab345b6c0d8ae9500b9ff334a4c7c0d316c1c628dc55726b95887eb8dbd11"
- dependencies = [
-  "heck",
-  "log",
-@@ -4090,14 +4081,15 @@ dependencies = [
-  "serde",
-  "serde_json",
-  "syn",
-- "thiserror 2.0.6",
-+ "thiserror 1.0.69",
-  "unicode-ident",
- ]
- 
- [[package]]
- name = "typify-macro"
- version = "0.2.0"
--source = "git+https://github.com/oxidecomputer/typify#f3e0cc9d6a5cee617a636136b99db650817bcbde"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "785e2cdcef0df8160fdd762ed548a637aaec1e83704fdbc14da0df66013ee8d0"
- dependencies = [
-  "proc-macro2",
-  "quote",
-@@ -4413,7 +4405,7 @@ version = "0.1.9"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
- dependencies = [
-- "windows-sys 0.59.0",
-+ "windows-sys 0.48.0",
- ]
- 
- [[package]]
-diff --git a/Cargo.toml b/Cargo.toml
-index 8ef28ff..15739d7 100644
---- a/Cargo.toml
-+++ b/Cargo.toml
-@@ -40,7 +40,7 @@ oxide-httpmock = { path = "sdk-httpmock", version = "0.9.0" }
- oxnet = { git = "https://github.com/oxidecomputer/oxnet" }
- predicates = "3.1.2"
- pretty_assertions = "1.4.1"
--progenitor = { git = "https://github.com/oxidecomputer/progenitor" }
-+progenitor = "0.8.0"
- progenitor-client = "0.8.0"
- rand = "0.8.5"
- ratatui = "0.26.3"
diff --git a/pkgs/by-name/ox/oxide-rs/package.nix b/pkgs/by-name/ox/oxide-rs/package.nix
index ceeb53b7d3cf..4701b32edc63 100644
--- a/pkgs/by-name/ox/oxide-rs/package.nix
+++ b/pkgs/by-name/ox/oxide-rs/package.nix
@@ -11,29 +11,33 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "oxide-rs";
-  version = "0.9.0+20241204.0.0";
+  version = "0.12.0+20250604.0.0";
 
   src = fetchFromGitHub {
     owner = "oxidecomputer";
     repo = "oxide.rs";
     rev = "v${version}";
-    hash = "sha256-NtTXpXDYazcXilQNW455UDkqMCFzFPvTUkbEBQsWIDo=";
-    # leaveDotGit is necessary because `build.rs` expects git information which
-    # is used to write a `built.rs` file which is read by the CLI application
-    # to display version information.
-    leaveDotGit = true;
+    hash = "sha256-XtN/ZRaVrw4pB82cCmWijjTMZzte7VlUzx5BaCq2mCc=";
   };
 
-  useFetchCargoVendor = true;
-  cargoHash = "sha256-We5yNF8gtHWAUAead0uc99FIoMcicDWdGbTzPgpiFyY=";
-
-  cargoPatches = [
-    ./0001-use-crates-io-over-git-dependencies.patch
+  patches = [
+    # original patch: https://git.iliana.fyi/nixos-configs/tree/packages/oxide-git-version.patch?id=0e4dc0d21def9084e2c6c1e20f3da08c31590945
+    ./rm-built-ref-head-lookup.patch
+    ./rm-commit-hash-in-version-output.patch
   ];
 
+  checkFlags = [
+    # skip since output check includes git commit hash
+    "--skip=cmd_version::version_success"
+    # skip due to failure with loopback on debug
+    "--skip=test_cmd_auth_debug_logging"
+  ];
+
+  useFetchCargoVendor = true;
+  cargoHash = "sha256-b3RYPjkKgmcE70wSYl5Lu2uMS2gALxRSbLoKzXisUx4=";
+
   cargoBuildFlags = [
     "--package=oxide-cli"
-    "--package=xtask"
   ];
 
   cargoTestFlags = [
diff --git a/pkgs/by-name/ox/oxide-rs/rm-built-ref-head-lookup.patch b/pkgs/by-name/ox/oxide-rs/rm-built-ref-head-lookup.patch
new file mode 100644
index 000000000000..7fda66b3d7fb
--- /dev/null
+++ b/pkgs/by-name/ox/oxide-rs/rm-built-ref-head-lookup.patch
@@ -0,0 +1,17 @@
+diff --git a/cli/build.rs b/cli/build.rs
+index adba6cf..a7a2a53 100644
+--- a/cli/build.rs
++++ b/cli/build.rs
+@@ -5,12 +5,5 @@
+ // Copyright 2023 Oxide Computer Company
+ 
+ fn main() {
+-    let src = std::env::var("CARGO_MANIFEST_DIR").unwrap();
+-    match built::util::get_repo_head(src.as_ref()) {
+-        Ok(Some((_branch, _commit, _commit_short))) => (),
+-        Ok(None) => panic!("Error: Build script could not find git commit information"),
+-        Err(e) => panic!("Build script error: {}", e),
+-    };
+-
+     built::write_built_file().expect("Failed to acquire build-time information");
+ }
diff --git a/pkgs/by-name/ox/oxide-rs/rm-commit-hash-in-version-output.patch b/pkgs/by-name/ox/oxide-rs/rm-commit-hash-in-version-output.patch
new file mode 100644
index 000000000000..4e06e63369d1
--- /dev/null
+++ b/pkgs/by-name/ox/oxide-rs/rm-commit-hash-in-version-output.patch
@@ -0,0 +1,21 @@
+diff --git a/cli/src/cmd_version.rs b/cli/src/cmd_version.rs
+index 72153fb..1add398 100644
+--- a/cli/src/cmd_version.rs
++++ b/cli/src/cmd_version.rs
+@@ -30,16 +30,6 @@ impl RunnableCmd for CmdVersion {
+ 
+         println_nopipe!("Oxide CLI {}", cli_version);
+ 
+-        println_nopipe!(
+-            "Built from commit: {} {}",
+-            built_info::GIT_COMMIT_HASH.unwrap(),
+-            if matches!(built_info::GIT_DIRTY, Some(true)) {
+-                "(dirty)"
+-            } else {
+-                ""
+-            }
+-        );
+-
+         println_nopipe!("Oxide API: {}", api_version);
+ 
+         Ok(())
diff --git a/pkgs/by-name/ox/oxigraph/package.nix b/pkgs/by-name/ox/oxigraph/package.nix
index 12dbd9a83c83..7a77e8b24b36 100644
--- a/pkgs/by-name/ox/oxigraph/package.nix
+++ b/pkgs/by-name/ox/oxigraph/package.nix
@@ -13,18 +13,18 @@ let
 in
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "oxigraph";
-  version = "0.4.9";
+  version = "0.4.11";
 
   src = fetchFromGitHub {
     owner = "oxigraph";
     repo = "oxigraph";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-sv9LpAoPQ4oFrGI6j6NgVZwEwpM1wt93lHkUwnvmhIY=";
+    hash = "sha256-M5C+SNZYXKfcosnRe9a+Zicyjuo6wli2uWv/SJxufJc=";
     fetchSubmodules = true;
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-nVlvmYOxZDMLvxP8JaKTyKMgW6+48B8B+UzlwgthJS0=";
+  cargoHash = "sha256-TgeHmCMwXK+OlTGIyzus/N+MY29lgK+JuzUBwVFbpsI=";
 
   nativeBuildInputs = [
     rustPlatform.bindgenHook
diff --git a/pkgs/by-name/ox/oxlint/package.nix b/pkgs/by-name/ox/oxlint/package.nix
index e4bdaa4da6de..cf921b197f5e 100644
--- a/pkgs/by-name/ox/oxlint/package.nix
+++ b/pkgs/by-name/ox/oxlint/package.nix
@@ -7,17 +7,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "oxlint";
-  version = "0.16.9";
+  version = "0.18.0";
 
   src = fetchFromGitHub {
     owner = "web-infra-dev";
     repo = "oxc";
     rev = "oxlint_v${version}";
-    hash = "sha256-6CTDUtui1YwfmR2f0MdqpNGmZ+fLyxtsf7NdhQTgsoI=";
+    hash = "sha256-Q4qtyJc+2KvBENZi8F8UoMlbZ+ilhnIwMkca4YCFDtc=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-Pt67KLcUiHRiQ7E6Rm3MuJ3kPYwmXzfUo0u6IVZn8D8=";
+  cargoHash = "sha256-9owX2ZTUZolJ+U2g+vx/l76bSAoUPUazlL8iqh2ATqo=";
 
   buildInputs = [
     rust-jemalloc-sys
diff --git a/pkgs/by-name/pa/pa_applet/package.nix b/pkgs/by-name/pa/pa_applet/package.nix
index 37e377ac6b61..1b77499133bd 100644
--- a/pkgs/by-name/pa/pa_applet/package.nix
+++ b/pkgs/by-name/pa/pa_applet/package.nix
@@ -51,7 +51,7 @@ stdenv.mkDerivation {
     description = "";
     mainProgram = "pa-applet";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/by-name/pa/packet/nautilus-extension-locale.patch b/pkgs/by-name/pa/packet/nautilus-extension-locale.patch
new file mode 100644
index 000000000000..a667c9e35d0f
--- /dev/null
+++ b/pkgs/by-name/pa/packet/nautilus-extension-locale.patch
@@ -0,0 +1,26 @@
+diff --git a/data/resources/plugins/meson.build b/data/resources/plugins/meson.build
+index ac60edd..9e055b8 100644
+--- a/data/resources/plugins/meson.build
++++ b/data/resources/plugins/meson.build
+@@ -1,6 +1,7 @@
+ plugins_conf = configuration_data()
+ plugins_conf.set('APP_ID', application_id)
+ plugins_conf.set('LOCALE_DOMAIN', gettext_package)
++plugins_conf.set('LOCALE_DIR', localedir)
+ 
+ configure_file(
+   input: 'packet_nautilus.py.in',
+diff --git a/data/resources/plugins/packet_nautilus.py.in b/data/resources/plugins/packet_nautilus.py.in
+index 9c5e71e..7288ee9 100755
+--- a/data/resources/plugins/packet_nautilus.py.in
++++ b/data/resources/plugins/packet_nautilus.py.in
+@@ -23,7 +23,8 @@ def log(*vals: Any):
+ # TODO: Maybe have a separate gettext package for plugin scripts that gets
+ # copied over alongside the script. Seems more robust?
+ def init_i18n() -> gettext.NullTranslations | gettext.GNUTranslations:
+-    locale_dirs: List[Path | None] = [None]  # None for system default locale dir
++    # `None` is for system default locale dir
++    locale_dirs: List[Path | None] = [None, Path("@LOCALE_DIR@")]
+     (lang, enc) = locale.getlocale()
+ 
+     flatpak_info = None
diff --git a/pkgs/by-name/pa/packet/package.nix b/pkgs/by-name/pa/packet/package.nix
index b25c00c8670e..bf69a22e063c 100644
--- a/pkgs/by-name/pa/packet/package.nix
+++ b/pkgs/by-name/pa/packet/package.nix
@@ -20,21 +20,27 @@
   blueprint-compiler,
   desktop-file-utils,
   appstream,
+  python3Packages,
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "packet";
-  version = "0.3.4";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "nozwock";
     repo = "packet";
     tag = finalAttrs.version;
-    hash = "sha256-s3R/RDfQAQR6Jdehco5TD+2GpG4y9sEl0moWMxv3PZE=";
+    hash = "sha256-MZdZf4fLtUd30LncPLVkcNdjuzw+Wi33A1MJqQbEurk=";
   };
 
+  patches = [
+    # let nautilus find the locale directory
+    ./nautilus-extension-locale.patch
+  ];
+
   cargoDeps = rustPlatform.fetchCargoVendor {
     inherit (finalAttrs) pname version src;
-    hash = "sha256-0Cbw5bSOK1bTq8ozZlRpZOelfak6N2vZOQPU4vsnepk=";
+    hash = "sha256-ODrM8oGQpi+DpG4YQYibtVHbicuHOjZAlZ1wW2Gulec=";
   };
 
   nativeBuildInputs = [
@@ -59,8 +65,17 @@ stdenv.mkDerivation (finalAttrs: {
     gdk-pixbuf
     libadwaita
     pango
+    python3Packages.wrapPython
   ];
 
+  postFixup = ''
+    buildPythonPath ${python3Packages.dbus-python}
+    patchPythonScript $out/share/packet/plugins/packet_nautilus.py
+    # install the nautilus extension in the expected location
+    mkdir -p $out/share/nautilus-python
+    ln -s $out/share/packet/plugins $out/share/nautilus-python/extensions
+  '';
+
   meta = {
     description = "Quick Share client for Linux";
     homepage = "https://github.com/nozwock/packet";
diff --git a/pkgs/by-name/pa/pagemon/package.nix b/pkgs/by-name/pa/pagemon/package.nix
index edc7c34c10f6..2cd0481d1335 100644
--- a/pkgs/by-name/pa/pagemon/package.nix
+++ b/pkgs/by-name/pa/pagemon/package.nix
@@ -5,15 +5,15 @@
   ncurses,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "pagemon";
-  version = "0.01.18";
+  version = "0.02.05";
 
   src = fetchFromGitHub {
-    sha256 = "1aq1mq3k8n70h81s64w2zg4kksw1y05326bn4y8p94lpaypvxqfd";
-    rev = "V${version}";
-    repo = "pagemon";
     owner = "ColinIanKing";
+    repo = "pagemon";
+    tag = "V${finalAttrs.version}";
+    hash = "sha256-Crr1312wZ1IIwvODAUooZ0Lr75W0qdDQrr1sszaNHa4=";
   };
 
   buildInputs = [ ncurses ];
@@ -21,10 +21,11 @@ stdenv.mkDerivation rec {
   makeFlags = [
     "BINDIR=$(out)/bin"
     "MANDIR=$(out)/share/man/man8"
+    "BASHDIR=$(out)/share/bash-completion/completions"
   ];
 
-  meta = with lib; {
-    inherit (src.meta) homepage;
+  meta = {
+    inherit (finalAttrs.src.meta) homepage;
     description = "Interactive memory/page monitor for Linux";
     mainProgram = "pagemon";
     longDescription = ''
@@ -37,7 +38,7 @@ stdenv.mkDerivation rec {
       pages of memory belonging data, code, heap, stack, anonymous mappings
       or even swapped-out pages.
     '';
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
+    license = lib.licenses.gpl2Plus;
+    platforms = lib.platforms.linux;
   };
-}
+})
diff --git a/pkgs/by-name/pa/pam-reattach/package.nix b/pkgs/by-name/pa/pam-reattach/package.nix
index 636757cec5ba..249ed9bcabc7 100644
--- a/pkgs/by-name/pa/pam-reattach/package.nix
+++ b/pkgs/by-name/pa/pam-reattach/package.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   src = fetchFromGitHub {
     owner = "fabianishere";
-    repo = pname;
+    repo = "pam_reattach";
     rev = "v${version}";
     sha256 = "1k77kxqszdwgrb50w7algj22pb4fy5b9649cjb08zq9fqrzxcbz7";
   };
diff --git a/pkgs/by-name/pa/pamtester/package.nix b/pkgs/by-name/pa/pamtester/package.nix
index 42a716524925..294ef8fb5f3d 100644
--- a/pkgs/by-name/pa/pamtester/package.nix
+++ b/pkgs/by-name/pa/pamtester/package.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     mainProgram = "pamtester";
     homepage = "https://pamtester.sourceforge.net/";
     license = licenses.bsd3;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ abbradar ];
   };
 }
diff --git a/pkgs/by-name/pa/paperless-ngx/package.nix b/pkgs/by-name/pa/paperless-ngx/package.nix
index 4d2f1730cd49..ff6ae4b75440 100644
--- a/pkgs/by-name/pa/paperless-ngx/package.nix
+++ b/pkgs/by-name/pa/paperless-ngx/package.nix
@@ -26,19 +26,19 @@
   xorg,
 }:
 let
-  version = "2.16.2";
+  version = "2.16.3";
 
   src = fetchFromGitHub {
     owner = "paperless-ngx";
     repo = "paperless-ngx";
     tag = "v${version}";
-    hash = "sha256-w6VS3m661EvLGk1lVbTAYNzwVgXjvegn0KByGDBFjz0=";
+    hash = "sha256-mtzr/rRzcYcZl9tUkhxEKoFQWm1QTToOYZJXhynwDmk=";
   };
 
   python = python3.override {
     self = python;
     packageOverrides = final: prev: {
-      django = prev.django_5;
+      django = prev.django_5_1;
 
       # tesseract5 may be overwritten in the paperless module and we need to propagate that to make the closure reduction effective
       ocrmypdf = prev.ocrmypdf.override { tesseract = tesseract5; };
@@ -69,7 +69,7 @@ let
 
       pnpmDeps = pnpm.fetchDeps {
         inherit pname version src;
-        hash = "sha256-tSBpZ+1aPLUI0SKpOyKo+OLsJZiyDCxRb+5hKMPrxL8=";
+        hash = "sha256-Z7c+AstVnxbPnEhc51qSqOYhRXqNJVwTvgHFcFp+pYg=";
       };
 
       nativeBuildInputs =
@@ -134,8 +134,8 @@ python.pkgs.buildPythonApplication rec {
 
   postPatch = ''
     # pytest-xdist with to many threads makes the tests flaky
-    if (( $NIX_BUILD_CORES > 4)); then
-      NIX_BUILD_CORES=4
+    if (( $NIX_BUILD_CORES > 3)); then
+      NIX_BUILD_CORES=3
     fi
     substituteInPlace pyproject.toml \
       --replace-fail '"--numprocesses=auto",' "" \
@@ -161,7 +161,7 @@ python.pkgs.buildPythonApplication rec {
       channels-redis
       concurrent-log-handler
       dateparser
-      django_5
+      django
       django-allauth
       django-auditlog
       django-celery-results
diff --git a/pkgs/by-name/pa/papilo/package.nix b/pkgs/by-name/pa/papilo/package.nix
index 2e9e6b348de1..79a4912f533d 100644
--- a/pkgs/by-name/pa/papilo/package.nix
+++ b/pkgs/by-name/pa/papilo/package.nix
@@ -1,37 +1,48 @@
 {
-  blas,
-  boost,
-  cmake,
-  fetchFromGitHub,
-  gfortran12,
   lib,
   stdenv,
-  tbb,
-  zlib,
+  fetchFromGitHub,
+  cmake,
+  boost,
+  tbb_2022,
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "papilo";
-  version = "2.3.0";
+  version = "2.4.2";
 
   src = fetchFromGitHub {
     owner = "scipopt";
     repo = "papilo";
-    rev = "v${finalAttrs.version}";
-    hash = "sha256-rB8kRyBxd+zn3XFueTQoN16jbFpXMvneqatQm8Hh2Hg=";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-/1AsAesUh/5YXeCU2OYopoG3SXAwAecPD88QvGkb2bY=";
   };
 
-  buildInputs = [
-    blas
-    boost
-    cmake
-    gfortran12
-    zlib
-  ];
+  # skip SEGFAULT tests
+  postPatch =
+    lib.optionalString stdenv.hostPlatform.isDarwin ''
+      substituteInPlace test/CMakeLists.txt \
+        --replace-fail '"matrix-buffer"' "" \
+        --replace-fail '"vector-comparisons"' "" \
+        --replace-fail '"matrix-comparisons"' "" \
+        --replace-fail '"presolve-activity-is-updated-correctly-huge-values"' "" \
+        --replace-fail '"problem-comparisons"' "" \
+        --replace-fail "Boost_IOSTREAMS_FOUND" "FALSE"
+    ''
+    + (lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) ''
+      substituteInPlace test/CMakeLists.txt \
+        --replace-fail '"happy-path-replace-variable"' ""
+    '');
 
   nativeBuildInputs = [ cmake ];
 
-  propagatedBuildInputs = [ tbb ];
+  buildInputs = [
+    boost
+    cmake
+    tbb_2022
+  ];
+
+  propagatedBuildInputs = [ tbb_2022 ];
 
   strictDeps = true;
 
diff --git a/pkgs/by-name/pa/parabolic/package.nix b/pkgs/by-name/pa/parabolic/package.nix
index b204f89c24b2..0442d2aaf860 100644
--- a/pkgs/by-name/pa/parabolic/package.nix
+++ b/pkgs/by-name/pa/parabolic/package.nix
@@ -34,13 +34,13 @@ assert lib.assertOneOf "uiPlatform" uiPlatform [
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "parabolic";
-  version = "2025.5.4";
+  version = "2025.6.0";
 
   src = fetchFromGitHub {
     owner = "NickvisionApps";
     repo = "Parabolic";
     tag = finalAttrs.version;
-    hash = "sha256-2CFV9//8gFK1TYksdy9P4nLb7kj/8Q5dr5huoAuDNRs=";
+    hash = "sha256-Osfj/GaD4t85ZYnlFDqgHhLJLA8VvgqtHEJN8bn0SxI=";
   };
 
   # Patches desktop file/dbus service bypassing wrapped executable
diff --git a/pkgs/by-name/pa/parca-agent/package.nix b/pkgs/by-name/pa/parca-agent/package.nix
index 36da3f069ae1..1a64d4bef63b 100644
--- a/pkgs/by-name/pa/parca-agent/package.nix
+++ b/pkgs/by-name/pa/parca-agent/package.nix
@@ -8,18 +8,18 @@
 
 buildGoModule rec {
   pname = "parca-agent";
-  version = "0.39.0";
+  version = "0.39.1";
 
   src = fetchFromGitHub {
     owner = "parca-dev";
     repo = "parca-agent";
     tag = "v${version}";
-    hash = "sha256-ZdMQ0cyLihMhqXVN98t0Bhg2I4NUxBPcSl2KJU5P0vQ=";
+    hash = "sha256-Ss6ZWoEUSNM5m3BUwLcIuhFbfMHHDdfSjxvnGzNPYM4=";
     fetchSubmodules = true;
   };
 
   proxyVendor = true;
-  vendorHash = "sha256-Qm5ezWjMTYrhulHS5ALs4yrCInhqsxRc9RvCh9vv3GE=";
+  vendorHash = "sha256-+yCa5t6bBKOnUjoAQ1QqbK9xLwhNj5vyFeJD71AsNcI=";
 
   buildInputs = [
     stdenv.cc.libc.static
diff --git a/pkgs/by-name/pa/paretosecurity/package.nix b/pkgs/by-name/pa/paretosecurity/package.nix
index 53722be17a66..c6e774528f2d 100644
--- a/pkgs/by-name/pa/paretosecurity/package.nix
+++ b/pkgs/by-name/pa/paretosecurity/package.nix
@@ -17,16 +17,16 @@ buildGoModule (finalAttrs: {
     webkitgtk_4_1
   ];
   pname = "paretosecurity";
-  version = "0.2.31";
+  version = "0.2.34";
 
   src = fetchFromGitHub {
     owner = "ParetoSecurity";
     repo = "agent";
     rev = finalAttrs.version;
-    hash = "sha256-dYQNSzovWCX7sj7VjgBc5GHz+5dKLTiB5pvbVSLMyqY=";
+    hash = "sha256-tTFdgLpu7RRWx2B2VMROqs1HgG0qMbfUOS5KNLQFHQw=";
   };
 
-  vendorHash = "sha256-PhuHRs0PjIJqY3ZBC4ga7zFxgf57xfPjJ3VIDaA61F0=";
+  vendorHash = "sha256-RAKYaNi+MXUfNnEJmZF5g9jFBDOPIVBOZWtqZp2FwWY=";
   proxyVendor = true;
 
   # Skip building the Windows installer
diff --git a/pkgs/by-name/pa/parseable/package.nix b/pkgs/by-name/pa/parseable/package.nix
index 7cec83344729..b1b5074c27b1 100644
--- a/pkgs/by-name/pa/parseable/package.nix
+++ b/pkgs/by-name/pa/parseable/package.nix
@@ -11,13 +11,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "parseable";
-  version = "2.3.1";
+  version = "2.3.3";
 
   src = fetchFromGitHub {
     owner = "parseablehq";
     repo = "parseable";
     tag = "v${version}";
-    hash = "sha256-+l3z8afss8NlyHWrUujtJLYKDlhq8EXfB/skpKTg+gU=";
+    hash = "sha256-E2leEt4M+p9hc7zR0dVO8n/O796kmv1s4wFlZ79VCy0=";
   };
 
   LOCAL_ASSETS_PATH = fetchzip {
@@ -26,7 +26,7 @@ rustPlatform.buildRustPackage rec {
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-TCKYr288Ish2j+KNgLS462K7NdllzJRxcPKpXyYryzY=";
+  cargoHash = "sha256-WeWWQReKCM+xCjZKKrBSWLUhD+mOXspMHiUNmLKdRrM=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/by-name/pa/particle-cli/package.nix b/pkgs/by-name/pa/particle-cli/package.nix
index 66864caab6c3..e5329dae7b5c 100644
--- a/pkgs/by-name/pa/particle-cli/package.nix
+++ b/pkgs/by-name/pa/particle-cli/package.nix
@@ -8,16 +8,16 @@
 
 buildNpmPackage (finalAttrs: {
   pname = "particle-cli";
-  version = "3.36.1";
+  version = "3.36.2";
 
   src = fetchFromGitHub {
     owner = "particle-iot";
     repo = "particle-cli";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-7u0RXoUBu/aJSBVSdmheIPvQ6b6Vji2KZ2t3sNhh3kY=";
+    hash = "sha256-KLcQmbIuhp71dpJttKA0tWAn2Qf+zl6njBypFkaLmzE=";
   };
 
-  npmDepsHash = "sha256-0yLu3iyHQwWId+EAXu4dlCNHvuFZeEts2r5Y+FpHPQI=";
+  npmDepsHash = "sha256-oQch+7hH+URMI15YOA3iz4FVPwckJ3K/DOC1PfrA2dU=";
 
   buildInputs = [
     udev
diff --git a/pkgs/by-name/pa/pat/package.nix b/pkgs/by-name/pa/pat/package.nix
index 0352ef2c6cd9..2c7288e3defa 100644
--- a/pkgs/by-name/pa/pat/package.nix
+++ b/pkgs/by-name/pa/pat/package.nix
@@ -5,30 +5,20 @@
   fetchFromGitHub,
   libax25,
   installShellFiles,
-  fetchpatch,
 }:
 
 buildGoModule rec {
   pname = "pat";
-  version = "0.16.0";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "la5nta";
     repo = "pat";
     rev = "v${version}";
-    hash = "sha256-JlqYdsAXs3pS5i59tiel+gxQsTrn5mUs0qLzjHxGZU0=";
+    hash = "sha256-2CQQKZ9ZnabMhvmbFeYBZ2iv9WJo6QR5IqROUXy7sck=";
   };
 
-  # Remove upon next release since upstream is fixed
-  # https://github.com/la5nta/pat/pull/449
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/la5nta/pat/commit/5604eac8853216d96d49d7d9947bdc514e195538.patch";
-      sha256 = "sha256-Z9uoZLlhdCslULUxGkc4ao4ptC4ImWzSrfabSA5S/PE=";
-    })
-  ];
-
-  vendorHash = "sha256-Z6p0wiOY5l++nch64BJWGXleBgUNecTDm+yVCnmXvtU=";
+  vendorHash = "sha256-ajkRUnfYHCrFBxZsJLd6ypRl9+gYz+q4C/asOJZrVYg=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/pa/patray/package.nix b/pkgs/by-name/pa/patray/package.nix
index 27b286896253..06a6a40fac0f 100644
--- a/pkgs/by-name/pa/patray/package.nix
+++ b/pkgs/by-name/pa/patray/package.nix
@@ -1,11 +1,11 @@
 {
   lib,
-  python3,
+  python312,
   fetchPypi,
   qt5,
 }:
 
-python3.pkgs.buildPythonApplication rec {
+python312.pkgs.buildPythonApplication rec {
   pname = "patray";
   version = "0.1.2";
 
@@ -20,7 +20,7 @@ python3.pkgs.buildPythonApplication rec {
     sed -i '/pyside2/d' requirements/production.in
   '';
 
-  propagatedBuildInputs = with python3.pkgs; [
+  dependencies = with python312.pkgs; [
     pulsectl
     loguru
     cock
@@ -38,7 +38,7 @@ python3.pkgs.buildPythonApplication rec {
     description = "Yet another tray pulseaudio frontend";
     homepage = "https://github.com/pohmelie/patray";
     license = licenses.mit;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
     mainProgram = "patray";
   };
 }
diff --git a/pkgs/by-name/pa/patroni/package.nix b/pkgs/by-name/pa/patroni/package.nix
index 84ebe32e4cc0..8f6b3ff4d935 100644
--- a/pkgs/by-name/pa/patroni/package.nix
+++ b/pkgs/by-name/pa/patroni/package.nix
@@ -10,13 +10,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "patroni";
-  version = "4.0.5";
+  version = "4.0.6";
 
   src = fetchFromGitHub {
     owner = "zalando";
     repo = "patroni";
     tag = "v${version}";
-    sha256 = "sha256-1Afwdv1kX8/zc9TB4kbA2NakXycJlf/wUcYAYKWwITM=";
+    sha256 = "sha256-8EodiPVmdDekdsTbv+23ZLHZd8+BQ5v5sQf/SyM1b7Y=";
   };
 
   dependencies = with python3Packages; [
@@ -44,7 +44,7 @@ python3Packages.buildPythonApplication rec {
     flake8
     mock
     pytestCheckHook
-    pytest-cov
+    pytest-cov-stub
     requests
     versionCheckHook
     writableTmpDirAsHomeHook
diff --git a/pkgs/by-name/pa/pay-respects/package.nix b/pkgs/by-name/pa/pay-respects/package.nix
index a98ae0d5c4e7..884b1f0de7ff 100644
--- a/pkgs/by-name/pa/pay-respects/package.nix
+++ b/pkgs/by-name/pa/pay-respects/package.nix
@@ -6,18 +6,18 @@
 }:
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "pay-respects";
-  version = "0.7.6";
+  version = "0.7.8";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "iff";
     repo = "pay-respects";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-+50MKpZgJqjuUvJeFFv8fMILkJ3cOAN7R7kmlR+98II=";
+    hash = "sha256-73uGxcJCWUVwr1ddNjZTRJwx8OfnAPwtp80v1xpUEhA=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-TJP+GPkXwPvnBwiF0SCkn8NGz/xyrYjbUZKCbUUSqHQ=";
+  cargoHash = "sha256-VSv0BpIICkYyCIfGDfK7wfKQssWF13hCh6IW375CI/c=";
 
   nativeInstallCheckInputs = [ versionCheckHook ];
   doInstallCheck = true;
diff --git a/pkgs/by-name/pc/pcsx2/package.nix b/pkgs/by-name/pc/pcsx2/package.nix
index 93a9b4974322..7971f6396755 100644
--- a/pkgs/by-name/pc/pcsx2/package.nix
+++ b/pkgs/by-name/pc/pcsx2/package.nix
@@ -1,7 +1,7 @@
 {
   lib,
-  SDL2,
-  callPackage,
+  fetchFromGitHub,
+  sdl3,
   cmake,
   cubeb,
   curl,
@@ -25,10 +25,19 @@
   wayland,
   zip,
   zstd,
+  plutovg,
+  plutosvg,
+  kddockwidgets,
 }:
 
 let
-  sources = callPackage ./sources.nix { };
+  pcsx2_patches = fetchFromGitHub {
+    owner = "PCSX2";
+    repo = "pcsx2_patches";
+    rev = "49d2f7bb0b4387e9cb7c68233e2bdc156850542b";
+    hash = "sha256-WByW40lf5h1hlnxxiiP9WyEhk8NwxATZDguWQj+j3iA=";
+  };
+
   inherit (qt6)
     qtbase
     qtsvg
@@ -38,7 +47,15 @@ let
     ;
 in
 llvmPackages.stdenv.mkDerivation (finalAttrs: {
-  inherit (sources.pcsx2) pname version src;
+  pname = "pcsx2";
+  version = "2.3.407";
+  src = fetchFromGitHub {
+    pname = "pcsx2-source";
+    owner = "PCSX2";
+    repo = "pcsx2";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-3/nnGdEr7flA8g9jPC8clAyvZlwQh12/YH4+t0O9OuU=";
+  };
 
   patches = [
     # Remove PCSX2_GIT_REV
@@ -51,7 +68,7 @@ llvmPackages.stdenv.mkDerivation (finalAttrs: {
     (lib.cmakeBool "PACKAGE_MODE" true)
     (lib.cmakeBool "DISABLE_ADVANCE_SIMD" true)
     (lib.cmakeBool "USE_LINKED_FFMPEG" true)
-    (lib.cmakeFeature "PCSX2_GIT_REV" finalAttrs.src.rev)
+    (lib.cmakeFeature "PCSX2_GIT_REV" finalAttrs.src.tag)
   ];
 
   nativeBuildInputs = [
@@ -76,7 +93,10 @@ llvmPackages.stdenv.mkDerivation (finalAttrs: {
     qtsvg
     qttools
     qtwayland
-    SDL2
+    sdl3
+    plutovg
+    plutosvg
+    kddockwidgets
     shaderc
     soundtouch
     vulkan-headers
@@ -91,7 +111,7 @@ llvmPackages.stdenv.mkDerivation (finalAttrs: {
     install -Dm644 $src/pcsx2-qt/resources/icons/AppIcon64.png $out/share/pixmaps/PCSX2.png
     install -Dm644 $src/.github/workflows/scripts/linux/pcsx2-qt.desktop $out/share/applications/PCSX2.desktop
 
-    zip -jq $out/share/PCSX2/resources/patches.zip ${sources.pcsx2_patches.src}/patches/*
+    zip -jq $out/share/PCSX2/resources/patches.zip ${pcsx2_patches}/patches/*
     strip-nondeterminism $out/share/PCSX2/resources/patches.zip
   '';
 
@@ -112,6 +132,11 @@ llvmPackages.stdenv.mkDerivation (finalAttrs: {
       --run 'if [[ -z $I_WANT_A_BROKEN_WAYLAND_UI ]]; then export QT_QPA_PLATFORM=xcb; fi'
   '';
 
+  passthru = {
+    inherit pcsx2_patches;
+    updateScript.command = [ ./update.sh ];
+  };
+
   meta = {
     homepage = "https://pcsx2.net";
     description = "Playstation 2 emulator";
diff --git a/pkgs/by-name/pc/pcsx2/sources.nix b/pkgs/by-name/pc/pcsx2/sources.nix
deleted file mode 100644
index c3a210502c45..000000000000
--- a/pkgs/by-name/pc/pcsx2/sources.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{
-  lib,
-  fetchFromGitHub,
-}:
-
-let
-  pcsx2 =
-    let
-      self = {
-        pname = "pcsx2";
-        version = "2.3.39";
-        src = fetchFromGitHub {
-          pname = "pcsx2-source";
-          inherit (self) version;
-          owner = "PCSX2";
-          repo = "pcsx2";
-          rev = "v${self.version}";
-          hash = "sha256-Knlkf4GcN8OCgrd1nwdnYVCDA/7lyAfcoV4mLCkrHtg=";
-        };
-      };
-    in
-    self;
-
-  # The pre-zipped files in releases don't have a versioned link, we need to zip
-  # them ourselves
-  pcsx2_patches =
-    let
-      self = {
-        pname = "pcsx2_patches";
-        version = "0-unstable-2024-11-23";
-        src = fetchFromGitHub {
-          pname = "pcsx2_patches-source";
-          inherit (self) version;
-          owner = "PCSX2";
-          repo = "pcsx2_patches";
-          rev = "5cc1d09a72c0afcd04e2ca089a6b279108328fda";
-          hash = "sha256-or77ZsWU0YWtxj9LKJ/m8nDvKSyiF1sO140QaH6Jr64=";
-        };
-      };
-    in
-    self;
-in
-{
-  inherit pcsx2 pcsx2_patches;
-}
diff --git a/pkgs/by-name/pc/pcsx2/update.sh b/pkgs/by-name/pc/pcsx2/update.sh
new file mode 100755
index 000000000000..0191e7dc8ada
--- /dev/null
+++ b/pkgs/by-name/pc/pcsx2/update.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p bash nix-update common-updater-scripts coreutils
+
+set -ex
+
+latestRev=`git ls-remote -b https://github.com/PCSX2/pcsx2_patches main | cut -f1`
+
+update-source-version pcsx2 \
+  --ignore-same-version \
+  --rev=$latestRev \
+  --source-key=pcsx2_patches
+nix-update --version=unstable pcsx2
diff --git a/pkgs/by-name/pd/pdf4qt/package.nix b/pkgs/by-name/pd/pdf4qt/package.nix
index 94e92d587920..174140744327 100644
--- a/pkgs/by-name/pd/pdf4qt/package.nix
+++ b/pkgs/by-name/pd/pdf4qt/package.nix
@@ -8,7 +8,7 @@
   qt6,
   wrapGAppsHook3,
   openjpeg,
-  tbb_2021_11,
+  tbb_2021,
   blend2d,
 }:
 
@@ -46,7 +46,7 @@ stdenv.mkDerivation (finalAttrs: {
     qt6.qtspeech
     lcms
     openjpeg
-    tbb_2021_11
+    tbb_2021
     blend2d
   ];
 
diff --git a/pkgs/by-name/pd/pdi/package.nix b/pkgs/by-name/pd/pdi/package.nix
index 356d469f6478..11bc62495fdd 100644
--- a/pkgs/by-name/pd/pdi/package.nix
+++ b/pkgs/by-name/pd/pdi/package.nix
@@ -32,13 +32,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "pdi";
-  version = "1.9.1";
+  version = "1.9.2";
 
   src = fetchFromGitHub {
     owner = "pdidev";
     repo = "pdi";
     tag = finalAttrs.version;
-    hash = "sha256-Tmn4M+tcnNH6Bm4t5D/VgciOu4dDKKqYkbERKgpHX/Y=";
+    hash = "sha256-bbhsMbTVvG19vtkZyOiCRH168kCFk2ahSFc7davfXzo=";
   };
 
   # Current hdf5 version in nixpkgs is 1.14.4.3 which is 4 numbers long and doesn't match the 3 number regex. :')
diff --git a/pkgs/by-name/pd/pdm/package.nix b/pkgs/by-name/pd/pdm/package.nix
index f029db1b2999..768b4311fca7 100644
--- a/pkgs/by-name/pd/pdm/package.nix
+++ b/pkgs/by-name/pd/pdm/package.nix
@@ -19,6 +19,10 @@ let
           hash = "sha256-UBdgFN+fvbjz+rp8+rog8FW2jwO/jCfUPV7UehJKiV8=";
         };
       });
+      # pdm requires ...... -> jbig2dec which is AGPL only
+      moto = super.moto.overridePythonAttrs (old: rec {
+        doCheck = false;
+      });
     };
   };
 in
diff --git a/pkgs/by-name/pe/peergos/package.nix b/pkgs/by-name/pe/peergos/package.nix
index f1314e631b77..30ece6ef17f6 100644
--- a/pkgs/by-name/pe/peergos/package.nix
+++ b/pkgs/by-name/pe/peergos/package.nix
@@ -41,12 +41,12 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "peergos";
-  version = "1.2.0";
+  version = "1.5.0";
   src = fetchFromGitHub {
     owner = "Peergos";
     repo = "web-ui";
     rev = "v${version}";
-    hash = "sha256-X5yXTCHKGrdvuoKc5nFbn4CWunNsyoJI+EZLpknLAyA=";
+    hash = "sha256-wvOhxHK5UkVD6mu39y5wpFcf69kadKFqt6WumSnzqmQ=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/by-name/pe/perses/package.nix b/pkgs/by-name/pe/perses/package.nix
index 1682b11683df..88712fdce7c6 100644
--- a/pkgs/by-name/pe/perses/package.nix
+++ b/pkgs/by-name/pe/perses/package.nix
@@ -25,13 +25,13 @@ let
 in
 buildGoModule (finalAttrs: {
   pname = "perses";
-  version = "0.51.0-rc.0";
+  version = "0.51.0";
 
   src = fetchFromGitHub {
     owner = "perses";
     repo = "perses";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-ts/GqBASja+IbZAKWMtExeVyFs6Q76iI9o6AKWZlp9Y=";
+    hash = "sha256-frCSuGEnYab4CTQoAuN876dG7Mwn/RJEnWouUuo7aJQ=";
   };
 
   outputs = [
@@ -49,7 +49,7 @@ buildGoModule (finalAttrs: {
     inherit (finalAttrs) version src;
     pname = "${finalAttrs.pname}-ui";
     sourceRoot = "${finalAttrs.src.name}/${finalAttrs.npmRoot}";
-    hash = "sha256-a3bkk8IDfxi5nbRqu4WgYZ9bDr5my11HV4a72THclNw=";
+    hash = "sha256-nRE4IV8+wCuYXNAxrl7RfBFdY/ZyAIpXs3pDfCeIh74=";
   };
 
   npmRoot = "ui";
@@ -59,7 +59,7 @@ buildGoModule (finalAttrs: {
     preBuild = null;
   };
 
-  vendorHash = "sha256-DJAWmeuRPA2pII2RQZNF37n/QNmw2wDUtDpATMqkSJ8=";
+  vendorHash = "sha256-FfT3z48JaOiUTsVMmcbJdFJesO7cIMkYt/0gQ0jHh8I=";
 
   ldflags = [
     "-s"
@@ -77,12 +77,6 @@ buildGoModule (finalAttrs: {
     "cmd/perses"
   ];
 
-  patches = [
-    # This patch allows to override the default config paths using linker constants above
-    # See https://github.com/perses/perses/issues/2947
-    ./plugin-path-config.patch
-  ];
-
   prePatch = ''
     patchShebangs .
   '';
diff --git a/pkgs/by-name/pe/perses/plugin-path-config.patch b/pkgs/by-name/pe/perses/plugin-path-config.patch
deleted file mode 100644
index ab54855c02f7..000000000000
--- a/pkgs/by-name/pe/perses/plugin-path-config.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/pkg/model/api/config/plugin.go b/pkg/model/api/config/plugin.go
-index 9ece1ced..603c6b0b 100644
---- a/pkg/model/api/config/plugin.go
-+++ b/pkg/model/api/config/plugin.go
-@@ -17,7 +17,7 @@ import (
- 	"os"
- )
- 
--const (
-+var (
- 	DefaultPluginPath                   = "plugins"
- 	DefaultPluginPathInContainer        = "/etc/perses/plugins"
- 	DefaultArchivePluginPath            = "plugins-archive"
diff --git a/pkgs/by-name/pe/perses/plugins.nix b/pkgs/by-name/pe/perses/plugins.nix
index 7d185e160554..07aba9f0710b 100644
--- a/pkgs/by-name/pe/perses/plugins.nix
+++ b/pkgs/by-name/pe/perses/plugins.nix
@@ -2,78 +2,88 @@
 # Do not edit this file manually.
 {
   "BarChart" = {
-    version = "0.6.1";
-    url = "https://github.com/perses/plugins/releases/download/barchart/v0.6.1/BarChart-0.6.1.tar.gz";
-    hash = "sha256-A5p46sZfzzS6ss3wNJFTyI8N4YAPVev5+rmakbM1n1g=";
+    version = "0.8.0";
+    url = "https://github.com/perses/plugins/releases/download/barchart/v0.8.0/BarChart-0.8.0.tar.gz";
+    hash = "sha256-YXTQyn/BN9pbhIlFZoNkiIPvmFopkJdu0LHTnBAPcWM=";
+  };
+  "DatasourceVariable" = {
+    version = "0.2.0";
+    url = "https://github.com/perses/plugins/releases/download/datasourcevariable/v0.2.0/DatasourceVariable-0.2.0.tar.gz";
+    hash = "sha256-QqdikGca2ufzQ2CvXn9ThU+2ShM7twsoL6OweMs1ocw=";
   };
   "GaugeChart" = {
-    version = "0.6.0";
-    url = "https://github.com/perses/plugins/releases/download/gaugechart/v0.6.0/GaugeChart-0.6.0.tar.gz";
-    hash = "sha256-Ug/GzdlRZjIbio72F/fWquIkg7xqTLf5y1gW9IoXl7g=";
+    version = "0.8.0";
+    url = "https://github.com/perses/plugins/releases/download/gaugechart/v0.8.0/GaugeChart-0.8.0.tar.gz";
+    hash = "sha256-vWqZZZBOq87tz01ZezdODvFOBFIU9mOfgUE5N01zcvw=";
+  };
+  "HistogramChart" = {
+    version = "0.8.0";
+    url = "https://github.com/perses/plugins/releases/download/histogramchart/v0.8.0/HistogramChart-0.8.0.tar.gz";
+    hash = "sha256-BiBC4CgAn1JcS8dH9qv0nNYxx+Nte5ifvdrzO9yM+QA=";
   };
   "Markdown" = {
-    version = "0.7.0";
-    url = "https://github.com/perses/plugins/releases/download/markdown/v0.7.0/Markdown-0.7.0.tar.gz";
-    hash = "sha256-KGlmEMUirjbwvirIT5Alt6Rsxk/2TIxspa2ikG6AJ7Y=";
+    version = "0.8.0";
+    url = "https://github.com/perses/plugins/releases/download/markdown/v0.8.0/Markdown-0.8.0.tar.gz";
+    hash = "sha256-L6bNqNp/agaV1N2Htdv072df5qUUkYexr/KKsDLOWW8=";
   };
   "PieChart" = {
-    version = "0.6.0";
-    url = "https://github.com/perses/plugins/releases/download/piechart/v0.6.0/PieChart-0.6.0.tar.gz";
-    hash = "sha256-AseYkh7Vl1TQJbOPwuMmCvKQls79fIQHQb7Gq6yZIUE=";
+    version = "0.8.0";
+    url = "https://github.com/perses/plugins/releases/download/piechart/v0.8.0/PieChart-0.8.0.tar.gz";
+    hash = "sha256-hp4IUDit0GgIqFKcVlf53FFBWDjbQPY0hYmsUTGKmkw=";
   };
   "Prometheus" = {
-    version = "0.51.0-beta.2";
-    url = "https://github.com/perses/plugins/releases/download/prometheus/v0.51.0-beta.2/Prometheus-0.51.0-beta.2.tar.gz";
-    hash = "sha256-PUsaZyycDDNaIIhBPIjxnucij9yYZP2TxsX2GvqUTVo=";
+    version = "0.51.0-rc.3";
+    url = "https://github.com/perses/plugins/releases/download/prometheus/v0.51.0-rc.3/Prometheus-0.51.0-rc.3.tar.gz";
+    hash = "sha256-DqiYuZmWaxMzoKr0/IqciyxwOi8xf65lehwed8iCiJc=";
   };
   "ScatterChart" = {
-    version = "0.6.0";
-    url = "https://github.com/perses/plugins/releases/download/scatterchart/v0.6.0/ScatterChart-0.6.0.tar.gz";
-    hash = "sha256-M1g/EWL5P/jSeTYMGTShuD+AavqK9vJkLeOjYX+dP3c=";
+    version = "0.7.0";
+    url = "https://github.com/perses/plugins/releases/download/scatterchart/v0.7.0/ScatterChart-0.7.0.tar.gz";
+    hash = "sha256-OaX1q4Iy4x4IYVKL2aBYYQnNaHfjGiSrI+s3ZyzDfFI=";
   };
   "StatChart" = {
-    version = "0.6.0";
-    url = "https://github.com/perses/plugins/releases/download/statchart/v0.6.0/StatChart-0.6.0.tar.gz";
-    hash = "sha256-lxT2Zimo62i6dLR01uuEgcYs55LLlqyuXIv0DGZlAaM=";
+    version = "0.8.0";
+    url = "https://github.com/perses/plugins/releases/download/statchart/v0.8.0/StatChart-0.8.0.tar.gz";
+    hash = "sha256-K6zCZ0C2Y7kTQYXYxGdBPn2pB9DzMYgn15rEwJYkt5k=";
   };
   "StaticListVariable" = {
-    version = "0.3.0";
-    url = "https://github.com/perses/plugins/releases/download/staticlistvariable/v0.3.0/StaticListVariable-0.3.0.tar.gz";
-    hash = "sha256-1PmMDuWIq7ALV8DqqL+XJilkfGV2qXVOy9ZMTQrzRq8=";
+    version = "0.4.0";
+    url = "https://github.com/perses/plugins/releases/download/staticlistvariable/v0.4.0/StaticListVariable-0.4.0.tar.gz";
+    hash = "sha256-tuygC5ipfGe2KpsuHS+aaI+avCIQpfAUC+kubk+/ULs=";
   };
   "StatusHistoryChart" = {
-    version = "0.6.0";
-    url = "https://github.com/perses/plugins/releases/download/statushistorychart/v0.6.0/StatusHistoryChart-0.6.0.tar.gz";
-    hash = "sha256-+U5IIZME3FXACIh3S725tuCdbTzlVRUrU9LFSldnMiI=";
+    version = "0.8.0";
+    url = "https://github.com/perses/plugins/releases/download/statushistorychart/v0.8.0/StatusHistoryChart-0.8.0.tar.gz";
+    hash = "sha256-61k3G+8bCsUErBCwvFxgnYCPLAqpCIcuF3GEZHacMB0=";
   };
   "Table" = {
-    version = "0.6.0";
-    url = "https://github.com/perses/plugins/releases/download/table/v0.6.0/Table-0.6.0.tar.gz";
-    hash = "sha256-pndqD5lrwXe66GiaC+NQgFJiaSJasldpmgwrnEAFmJU=";
+    version = "0.7.0";
+    url = "https://github.com/perses/plugins/releases/download/table/v0.7.0/Table-0.7.0.tar.gz";
+    hash = "sha256-MemCUd/9RhodqMzDuYCNPYDMaSy7LpVPCTP4IUFE3lM=";
   };
   "Tempo" = {
-    version = "0.51.0-beta.2";
-    url = "https://github.com/perses/plugins/releases/download/tempo/v0.51.0-beta.2/Tempo-0.51.0-beta.2.tar.gz";
-    hash = "sha256-p1ey0we7ncsnoIcCNhlmzp3NRNrxtayTKruJCuR50gw=";
+    version = "0.51.0-rc.3";
+    url = "https://github.com/perses/plugins/releases/download/tempo/v0.51.0-rc.3/Tempo-0.51.0-rc.3.tar.gz";
+    hash = "sha256-oy2jBdZzf86G8+6wFkFPKiOj2yyYpUD1nVSGwou9vxg=";
   };
   "TimeSeriesChart" = {
-    version = "0.6.0";
-    url = "https://github.com/perses/plugins/releases/download/timeserieschart/v0.6.0/TimeSeriesChart-0.6.0.tar.gz";
-    hash = "sha256-6inzw4W7lakhbmVDkrgA8uwI6MLiVuk1xbiy904y6Ig=";
+    version = "0.9.1";
+    url = "https://github.com/perses/plugins/releases/download/timeserieschart/v0.9.1/TimeSeriesChart-0.9.1.tar.gz";
+    hash = "sha256-07Fuj8Zem5xHMmScD9FFZRDTNNB994SyskFv3rzwFG0=";
   };
   "TimeSeriesTable" = {
-    version = "0.6.0";
-    url = "https://github.com/perses/plugins/releases/download/timeseriestable/v0.6.0/TimeSeriesTable-0.6.0.tar.gz";
-    hash = "sha256-bkVhkfRZXGgKZGrQ9crag92jFFiRxZaZOb/UyBTyWGM=";
+    version = "0.8.0";
+    url = "https://github.com/perses/plugins/releases/download/timeseriestable/v0.8.0/TimeSeriesTable-0.8.0.tar.gz";
+    hash = "sha256-GPvoiWWaoG+EgtdqjB8IeHy4+QjXV9PkGVvlBeBZe2M=";
   };
   "TraceTable" = {
-    version = "0.6.0";
-    url = "https://github.com/perses/plugins/releases/download/tracetable/v0.6.0/TraceTable-0.6.0.tar.gz";
-    hash = "sha256-u8/NW23rGX2sAyuVoL7pH1WFYOhcdMFlzE4qMvMBYgE=";
+    version = "0.7.0";
+    url = "https://github.com/perses/plugins/releases/download/tracetable/v0.7.0/TraceTable-0.7.0.tar.gz";
+    hash = "sha256-PeCR0Oe8V8dBQMjPtU6xo5hpZJIXXPyXPfOtAMp2CjU=";
   };
   "TracingGanttChart" = {
-    version = "0.6.0";
-    url = "https://github.com/perses/plugins/releases/download/tracingganttchart/v0.6.0/TracingGanttChart-0.6.0.tar.gz";
-    hash = "sha256-R1U/Uq5QPVQWBe24IKovRXCsCyuUmATBcnqxRuRD+Aw=";
+    version = "0.7.0";
+    url = "https://github.com/perses/plugins/releases/download/tracingganttchart/v0.7.0/TracingGanttChart-0.7.0.tar.gz";
+    hash = "sha256-satiNlwzbHdgrHgfWs99lUCXt4tsKi/K2ON1/NNFyGU=";
   };
 }
diff --git a/pkgs/by-name/pf/pfetch/package.nix b/pkgs/by-name/pf/pfetch/package.nix
index 1a559db35571..78e373fa4bc2 100644
--- a/pkgs/by-name/pf/pfetch/package.nix
+++ b/pkgs/by-name/pf/pfetch/package.nix
@@ -8,13 +8,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "pfetch";
-  version = "1.9.0";
+  version = "1.9.1";
 
   src = fetchFromGitHub {
     owner = "Un1q32";
     repo = "pfetch";
     tag = version;
-    hash = "sha256-DWntcAowiia4gEiYcZCJ6+uDGQ5h2eh/XwSSW+ThPKY=";
+    hash = "sha256-a2ay+Ag9vYwGGENRPCcFLCmtyOCyHhF6/P7NAn/CzSI=";
   };
 
   dontBuild = true;
diff --git a/pkgs/by-name/pg/pgcopydb/package.nix b/pkgs/by-name/pg/pgcopydb/package.nix
index 86a346c55fdd..d2c62ea3011a 100644
--- a/pkgs/by-name/pg/pgcopydb/package.nix
+++ b/pkgs/by-name/pg/pgcopydb/package.nix
@@ -2,6 +2,7 @@
   lib,
   clangStdenv,
   fetchFromGitHub,
+  boehmgc,
   libkrb5,
   openssl,
   pam,
@@ -11,17 +12,18 @@
   sqlite,
   testers,
   zlib,
+  python3Packages,
 }:
 
 clangStdenv.mkDerivation (finalAttrs: {
   pname = "pgcopydb";
-  version = "0.15";
+  version = "0.17";
 
   src = fetchFromGitHub {
     owner = "dimitri";
     repo = "pgcopydb";
-    rev = "v${finalAttrs.version}";
-    hash = "sha256-m9iIF8h6V3wWLUQuPntXtRAh16RrmR3uqZZIljGCY08=";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-g5MC4F0BYgTimpJZDX+PepFLXv1QuH7XGlzV66xM11M=";
   };
 
   nativeBuildInputs = [
@@ -31,12 +33,14 @@ clangStdenv.mkDerivation (finalAttrs: {
 
   buildInputs =
     [
+      boehmgc
       libkrb5
       openssl
       postgresql
       readline
       sqlite
       zlib
+      python3Packages.sphinxHook
     ]
     ++ lib.optionals clangStdenv.hostPlatform.isLinux [
       pam
@@ -44,6 +48,10 @@ clangStdenv.mkDerivation (finalAttrs: {
 
   hardeningDisable = [ "format" ];
 
+  sphinxBuilders = [
+    "man"
+  ];
+
   installPhase = ''
     runHook preInstall
 
@@ -58,13 +66,13 @@ clangStdenv.mkDerivation (finalAttrs: {
     };
   };
 
-  meta = with lib; {
+  meta = {
     description = "Copy a Postgres database to a target Postgres server (pg_dump | pg_restore on steroids";
     homepage = "https://github.com/dimitri/pgcopydb";
     changelog = "https://github.com/dimitri/pgcopydb/blob/${finalAttrs.src.rev}/CHANGELOG.md";
-    license = licenses.postgresql;
+    license = lib.licenses.postgresql;
     maintainers = [ ];
     mainProgram = "pgcopydb";
-    platforms = platforms.all;
+    platforms = lib.platforms.all;
   };
 })
diff --git a/pkgs/by-name/pg/pgmoneta/package.nix b/pkgs/by-name/pg/pgmoneta/package.nix
index fd898ea8dd3b..31a0471e48d3 100644
--- a/pkgs/by-name/pg/pgmoneta/package.nix
+++ b/pkgs/by-name/pg/pgmoneta/package.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pgmoneta";
-  version = "0.17.1";
+  version = "0.17.2";
 
   src = fetchFromGitHub {
     owner = "pgmoneta";
     repo = "pgmoneta";
     rev = version;
-    hash = "sha256-5yatgiNl9szTnZbn6nKaGKgfnm2bOG4gvXGN5SqtbJI=";
+    hash = "sha256-d0F+gbYZ9qWRvbOXdKRQS0Rkcvsa5zzu2kiqwLiXpxw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/pg/pgpool/package.nix b/pkgs/by-name/pg/pgpool/package.nix
index f424f8bc87e9..8ec14e7eed71 100644
--- a/pkgs/by-name/pg/pgpool/package.nix
+++ b/pkgs/by-name/pg/pgpool/package.nix
@@ -11,12 +11,12 @@
 
 stdenv.mkDerivation rec {
   pname = "pgpool-II";
-  version = "4.6.0";
+  version = "4.6.2";
 
   src = fetchurl {
     url = "https://www.pgpool.net/mediawiki/download.php?f=pgpool-II-${version}.tar.gz";
     name = "pgpool-II-${version}.tar.gz";
-    hash = "sha256-9oplcUQtfqU7afOddJrUV3kLABgOGbAZ/ILiNbqwcyE=";
+    hash = "sha256-EWye1HXv0CZTKckCcwU6H6ahjuaNXFTtRnl80OAB9kg=";
   };
 
   buildInputs = [
diff --git a/pkgs/by-name/pg/pgscv/package.nix b/pkgs/by-name/pg/pgscv/package.nix
index f5a7de029f86..1998cc9ff720 100644
--- a/pkgs/by-name/pg/pgscv/package.nix
+++ b/pkgs/by-name/pg/pgscv/package.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "pgscv";
-  version = "0.13.0";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "CHERTS";
     repo = "pgscv";
     tag = "v${version}";
-    hash = "sha256-6qhJZHyVtEI4+pqi0dgagDC2RaISV9g/ygrezJO57Sk=";
+    hash = "sha256-BWGRighkezG3zjhyiYEFTeVvWps4q9+9xjk9EPHI/B0=";
   };
 
-  vendorHash = "sha256-KahDpLwk+6KXaIfvjr7+nkFuEV4Dw3pyshkJ5XUEdUg=";
+  vendorHash = "sha256-UEqJz7xKBQaBrBI3mV8W+WtLGDDf3EaV7NzEPofW+TE=";
 
   ldflags = [
     "-X=main.appName=pgscv"
diff --git a/pkgs/by-name/ph/phel/package.nix b/pkgs/by-name/ph/phel/package.nix
index cebea03729cc..83cd031815b2 100644
--- a/pkgs/by-name/ph/phel/package.nix
+++ b/pkgs/by-name/ph/phel/package.nix
@@ -7,16 +7,16 @@
 
 php.buildComposerProject2 (finalAttrs: {
   pname = "phel";
-  version = "0.17.0";
+  version = "0.18.0";
 
   src = fetchFromGitHub {
     owner = "phel-lang";
     repo = "phel-lang";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-iS887QNUphe+czx1IEz+uESBqee73/mHzmg2Fvi26do=";
+    hash = "sha256-5FwYBt1v1zhOnv4Q4zvWUxnVnOeV6rpdSW9i8ptVpW4=";
   };
 
-  vendorHash = "sha256-lhxgL41gyHVOv1MqjwwnWQTQZz4WU2kWGCSV2EZoJrg=";
+  vendorHash = "sha256-mLSxlPzS/uSNEu7BnQR9yaj3OCSqMe5DHqkLI8dG6SQ=";
 
   doInstallCheck = true;
   nativeInstallCheckInputs = [ versionCheckHook ];
diff --git a/pkgs/by-name/ph/photoprism/package.nix b/pkgs/by-name/ph/photoprism/package.nix
index 158aa87830e7..aed6eba24ad2 100644
--- a/pkgs/by-name/ph/photoprism/package.nix
+++ b/pkgs/by-name/ph/photoprism/package.nix
@@ -21,8 +21,8 @@ let
   pname = "photoprism";
 
   src = fetchFromGitHub {
-    owner = pname;
-    repo = pname;
+    owner = "photoprism";
+    repo = "photoprism";
     rev = version;
     hash = "sha256-tJA1Q8kcX4UYDCV+rmHyd5gfEU8WkoaqNfx1/0Iy3l8=";
   };
@@ -54,7 +54,7 @@ let
     hash = "sha256-zy/HcmgaHOY7FfJUY6I/yjjsMPHR2Ote9ppwqemBlfg=";
   };
 
-  assets_path = "$out/share/${pname}";
+  assets_path = "$out/share/photoprism";
 in
 stdenv.mkDerivation (finalAttrs: {
   inherit pname version;
diff --git a/pkgs/by-name/ph/phpunit/package.nix b/pkgs/by-name/ph/phpunit/package.nix
index 1ddc4234f134..b5b10f87d4ba 100644
--- a/pkgs/by-name/ph/phpunit/package.nix
+++ b/pkgs/by-name/ph/phpunit/package.nix
@@ -10,16 +10,16 @@
 
 php.buildComposerProject2 (finalAttrs: {
   pname = "phpunit";
-  version = "12.1.6";
+  version = "12.2.2";
 
   src = fetchFromGitHub {
     owner = "sebastianbergmann";
     repo = "phpunit";
     tag = finalAttrs.version;
-    hash = "sha256-LfAG35k2cjwVJ0baaKfKP6VewHUihx4QnTDsfJihqs8=";
+    hash = "sha256-CcN+2EuniPvCB0WXKI4IOOWUfguOlVq7lSdYzBNccfs=";
   };
 
-  vendorHash = "sha256-ktWbLgexvz85mGnwvyfS2hXd9u7T0yqCr9MYUjSxRkU=";
+  vendorHash = "sha256-GLQNRoxwdGm4MWaxyqM4Va5qZgEXFO4AB8IMQL2TAws=";
 
   passthru = {
     updateScript = nix-update-script { };
diff --git a/pkgs/by-name/pi/pigpio/package.nix b/pkgs/by-name/pi/pigpio/package.nix
index ddde61ca0b7b..56f4c6bcdccf 100644
--- a/pkgs/by-name/pi/pigpio/package.nix
+++ b/pkgs/by-name/pi/pigpio/package.nix
@@ -28,7 +28,7 @@ mkDerivation rec {
   meta = {
     description = "C library for the Raspberry which allows control of the General Purpose Input Outputs (GPIO)";
     homepage = "https://github.com/joan2937/pigpio";
-    license = with lib.licenses; [ unlicense ];
+    license = lib.licenses.unlicense;
     maintainers = with lib.maintainers; [ doronbehar ];
     platforms = lib.platforms.linux;
   };
diff --git a/pkgs/by-name/pi/pihole-ftl/package.nix b/pkgs/by-name/pi/pihole-ftl/package.nix
index 1f9d054cfb7f..855e3d01087e 100644
--- a/pkgs/by-name/pi/pihole-ftl/package.nix
+++ b/pkgs/by-name/pi/pihole-ftl/package.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "pihole-ftl";
-  version = "6.2.2";
+  version = "6.2.3";
 
   src = fetchFromGitHub {
     owner = "pi-hole";
     repo = "FTL";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-VFoltLlzKJCeJWQ2SzbvQxcYNBhZtWqFjzO3rjuBAdE=";
+    hash = "sha256-d1kpkBKuc30oIT1dRac8gkzh36Yyg80cizNRbyZ4424=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/pi/pihole-web/package.nix b/pkgs/by-name/pi/pihole-web/package.nix
index 516b6862d2a3..4edd33d4d3b8 100644
--- a/pkgs/by-name/pi/pihole-web/package.nix
+++ b/pkgs/by-name/pi/pihole-web/package.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "pihole-web";
-  version = "6.1";
+  version = "6.2.1";
 
   src = fetchFromGitHub {
     owner = "pi-hole";
     repo = "web";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-+h4cPDsTAKR8MM+Za0mp2nOX1cHW8LRlFmLqvrBHfbs=";
+    hash = "sha256-pfKWOb+DJSRy9r2igx8voRpAPHKshVqYMoxOwoBWZLA=";
   };
 
   propagatedBuildInputs = [
@@ -39,6 +39,8 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = {
     description = "Pi-hole web dashboard displaying stats and more";
+    homepage = "https://github.com/pi-hole/web";
+    changelog = "https://github.com/pi-hole/FTL/releases/tag/v${finalAttrs.version}";
     longDescription = ''
       Pi-hole's Web interface (based off of AdminLTE) provides a central
       location to manage your Pi-hole and review the statistics generated by
diff --git a/pkgs/by-name/pi/pik/package.nix b/pkgs/by-name/pi/pik/package.nix
index da9709b0b4b7..fff31310e55c 100644
--- a/pkgs/by-name/pi/pik/package.nix
+++ b/pkgs/by-name/pi/pik/package.nix
@@ -8,17 +8,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "pik";
-  version = "0.23.1";
+  version = "0.24.0";
 
   src = fetchFromGitHub {
     owner = "jacek-kurlit";
     repo = "pik";
     rev = version;
-    hash = "sha256-ol2jILlSmCVLieNzyo4UnzeIn+Xy2Sh03ZyfG2oABcM=";
+    hash = "sha256-LA60IQtR3IYVDdww79XFsTViGeVKi1MzRBB8ibhITK0=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-t9iGHmwB533Jk5sJ6XmOg2OVaD+PgsKaQQ66QjQxdNY=";
+  cargoHash = "sha256-j/BWTCsdAZF3NDj07DY5Mdf6MRGyBe3xpowZZQHSwTU=";
 
   passthru.tests.version = testers.testVersion { package = pik; };
 
diff --git a/pkgs/by-name/pi/pinact/package.nix b/pkgs/by-name/pi/pinact/package.nix
index 60d5fbc98252..0134285556d3 100644
--- a/pkgs/by-name/pi/pinact/package.nix
+++ b/pkgs/by-name/pi/pinact/package.nix
@@ -13,16 +13,16 @@ let
 in
 buildGoModule (finalAttrs: {
   pname = "pinact";
-  version = "3.1.2";
+  version = "3.3.0";
 
   src = fetchFromGitHub {
     owner = "suzuki-shunsuke";
     repo = "pinact";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-5jJzlMMpfk9fFDoqR0NJNacquZ4Zma0YF/pi80Miv0Y=";
+    hash = "sha256-aNRDz0mAc5fsS01W0PZxCGw0NgEcExtciTcv/Omdv3g=";
   };
 
-  vendorHash = "sha256-kK4r0mCktlbhJr6iHD0Q/k1DralieN2AUg+zREZ06DA=";
+  vendorHash = "sha256-eqT92vK8Ah7glS/O5rWp+wK/apGwC61/GIZRUtpmNFo=";
 
   env.CGO_ENABLED = 0;
 
diff --git a/pkgs/by-name/pi/pinchflat/mix.nix b/pkgs/by-name/pi/pinchflat/mix.nix
index 9beeda5e70c5..39a6cc39bbe3 100644
--- a/pkgs/by-name/pi/pinchflat/mix.nix
+++ b/pkgs/by-name/pi/pinchflat/mix.nix
@@ -30,12 +30,12 @@ let
 
       castore = buildMix rec {
         name = "castore";
-        version = "1.0.11";
+        version = "1.0.14";
 
         src = fetchHex {
           pkg = "castore";
           version = "${version}";
-          sha256 = "e03990b4db988df56262852f20de0f659871c35154691427a5047f4967a16a62";
+          sha256 = "7bc1b65249d31701393edaaac18ec8398d8974d52c647b7904d01b964137b9f4";
         };
 
         beamDeps = [ ];
@@ -56,12 +56,12 @@ let
 
       certifi = buildRebar3 rec {
         name = "certifi";
-        version = "2.12.0";
+        version = "2.15.0";
 
         src = fetchHex {
           pkg = "certifi";
           version = "${version}";
-          sha256 = "ee68d85df22e554040cdb4be100f33873ac6051387baf6a8f6ce82272340ff1c";
+          sha256 = "b147ed22ce71d72eafdad94f055165c1c182f61a2ff49df28bcc71d1d5b94a60";
         };
 
         beamDeps = [ ];
@@ -82,12 +82,12 @@ let
 
       cowboy = buildErlangMk rec {
         name = "cowboy";
-        version = "2.12.0";
+        version = "2.13.0";
 
         src = fetchHex {
           pkg = "cowboy";
           version = "${version}";
-          sha256 = "8a7abe6d183372ceb21caa2709bec928ab2b72e18a3911aa1771639bef82651e";
+          sha256 = "e724d3a70995025d654c1992c7b11dbfea95205c047d86ff9bf1cda92ddc5614";
         };
 
         beamDeps = [
@@ -114,12 +114,12 @@ let
 
       cowlib = buildRebar3 rec {
         name = "cowlib";
-        version = "2.13.0";
+        version = "2.15.0";
 
         src = fetchHex {
           pkg = "cowlib";
           version = "${version}";
-          sha256 = "e1e1284dc3fc030a64b1ad0d8382ae7e99da46c3246b815318a4b848873800a4";
+          sha256 = "4f00c879a64b4fe7c8fcb42a4281925e9ffdb928820b03c3ad325a617e857532";
         };
 
         beamDeps = [ ];
@@ -127,12 +127,12 @@ let
 
       credo = buildMix rec {
         name = "credo";
-        version = "1.7.7";
+        version = "1.7.12";
 
         src = fetchHex {
           pkg = "credo";
           version = "${version}";
-          sha256 = "8bc87496c9aaacdc3f90f01b7b0582467b69b4bd2441fe8aae3109d843cc2f2e";
+          sha256 = "8493d45c656c5427d9c729235b99d498bd133421f3e0a683e5c1b561471291e5";
         };
 
         beamDeps = [
@@ -170,12 +170,12 @@ let
 
       decimal = buildMix rec {
         name = "decimal";
-        version = "2.2.0";
+        version = "2.3.0";
 
         src = fetchHex {
           pkg = "decimal";
           version = "${version}";
-          sha256 = "af8daf87384b51b7e611fb1a1f2c4d4876b65ef968fa8bd3adf44cff401c7f21";
+          sha256 = "a4d66355cb29cb47c3cf30e71329e58361cfcb37c34235ef3bf1d7bf3773aeac";
         };
 
         beamDeps = [ ];
@@ -183,12 +183,12 @@ let
 
       dns_cluster = buildMix rec {
         name = "dns_cluster";
-        version = "0.1.2";
+        version = "0.2.0";
 
         src = fetchHex {
           pkg = "dns_cluster";
           version = "${version}";
-          sha256 = "7494272040f847637bbdb01bcdf4b871e82daf09b813e7d3cb3b84f112c6f2f8";
+          sha256 = "ba6f1893411c69c01b9e8e8f772062535a4cf70f3f35bcc964a324078d8c8240";
         };
 
         beamDeps = [ ];
@@ -196,12 +196,12 @@ let
 
       ecto = buildMix rec {
         name = "ecto";
-        version = "3.12.3";
+        version = "3.12.5";
 
         src = fetchHex {
           pkg = "ecto";
           version = "${version}";
-          sha256 = "9efd91506ae722f95e48dc49e70d0cb632ede3b7a23896252a60a14ac6d59165";
+          sha256 = "6eb18e80bef8bb57e17f5a7f068a1719fbda384d40fc37acb8eb8aeca493b6ea";
         };
 
         beamDeps = [
@@ -213,12 +213,12 @@ let
 
       ecto_sql = buildMix rec {
         name = "ecto_sql";
-        version = "3.12.0";
+        version = "3.12.1";
 
         src = fetchHex {
           pkg = "ecto_sql";
           version = "${version}";
-          sha256 = "dc9e4d206f274f3947e96142a8fdc5f69a2a6a9abb4649ef5c882323b6d512f0";
+          sha256 = "aff5b958a899762c5f09028c847569f7dfb9cc9d63bdb8133bff8a5546de6bf5";
         };
 
         beamDeps = [
@@ -230,12 +230,12 @@ let
 
       ecto_sqlite3 = buildMix rec {
         name = "ecto_sqlite3";
-        version = "0.17.2";
+        version = "0.19.0";
 
         src = fetchHex {
           pkg = "ecto_sqlite3";
           version = "${version}";
-          sha256 = "a3838919c5a34c268c28cafab87b910bcda354a9a4e778658da46c149bb2c1da";
+          sha256 = "297b16750fe229f3056fe32afd3247de308094e8b0298aef0d73a8493ce97c81";
         };
 
         beamDeps = [
@@ -264,44 +264,38 @@ let
 
       elixir_make = buildMix rec {
         name = "elixir_make";
-        version = "0.8.4";
+        version = "0.9.0";
 
         src = fetchHex {
           pkg = "elixir_make";
           version = "${version}";
-          sha256 = "6e7f1d619b5f61dfabd0a20aa268e575572b542ac31723293a4c1a567d5ef040";
+          sha256 = "db23d4fd8b757462ad02f8aa73431a426fe6671c80b200d9710caf3d1dd0ffdb";
         };
 
-        beamDeps = [
-          castore
-          certifi
-        ];
+        beamDeps = [ ];
       };
 
       esbuild = buildMix rec {
         name = "esbuild";
-        version = "0.8.1";
+        version = "0.10.0";
 
         src = fetchHex {
           pkg = "esbuild";
           version = "${version}";
-          sha256 = "25fc876a67c13cb0a776e7b5d7974851556baeda2085296c14ab48555ea7560f";
+          sha256 = "468489cda427b974a7cc9f03ace55368a83e1a7be12fba7e30969af78e5f8c70";
         };
 
-        beamDeps = [
-          castore
-          jason
-        ];
+        beamDeps = [ jason ];
       };
 
       ex_check = buildMix rec {
         name = "ex_check";
-        version = "0.14.0";
+        version = "0.16.0";
 
         src = fetchHex {
           pkg = "ex_check";
           version = "${version}";
-          sha256 = "8a602e98c66e6a4be3a639321f1f545292042f290f91fa942a285888c6868af0";
+          sha256 = "4d809b72a18d405514dda4809257d8e665ae7cf37a7aee3be6b74a34dec310f5";
         };
 
         beamDeps = [ ];
@@ -309,12 +303,12 @@ let
 
       expo = buildMix rec {
         name = "expo";
-        version = "0.5.1";
+        version = "1.1.0";
 
         src = fetchHex {
           pkg = "expo";
           version = "${version}";
-          sha256 = "68a4233b0658a3d12ee00d27d37d856b1ba48607e7ce20fd376958d0ba6ce92b";
+          sha256 = "fbadf93f4700fb44c331362177bdca9eeb8097e8b0ef525c9cc501cb9917c960";
         };
 
         beamDeps = [ ];
@@ -322,19 +316,14 @@ let
 
       exqlite = buildMix rec {
         name = "exqlite";
-        version = "0.23.0";
+        version = "0.31.0";
 
         src = fetchHex {
           pkg = "exqlite";
           version = "${version}";
-          sha256 = "404341cceec5e6466aaed160cf0b58be2019b60af82588c215e1224ebd3ec831";
+          sha256 = "df352de99ba4ce1bac2ad4943d09dbe9ad59e0e7ace55917b493ae289c78fc75";
         };
 
-        # This needs to be re-added manually after running mix2nix, see: https://github.com/ydlr/mix2nix/issues/3#issuecomment-2508889881
-        preConfigure = ''
-          export ELIXIR_MAKE_CACHE_DIR="$TMPDIR/.cache"
-        '';
-
         beamDeps = [
           cc_precompiler
           db_connection
@@ -344,12 +333,12 @@ let
 
       faker = buildMix rec {
         name = "faker";
-        version = "0.17.0";
+        version = "0.18.0";
 
         src = fetchHex {
           pkg = "faker";
           version = "${version}";
-          sha256 = "a7d4ad84a93fd25c5f5303510753789fc2433ff241bf3b4144d3f6f291658a6a";
+          sha256 = "bfbdd83958d78e2788e99ec9317c4816e651ad05e24cfd1196ce5db5b3e81797";
         };
 
         beamDeps = [ ];
@@ -357,12 +346,12 @@ let
 
       file_system = buildMix rec {
         name = "file_system";
-        version = "0.2.10";
+        version = "1.1.0";
 
         src = fetchHex {
           pkg = "file_system";
           version = "${version}";
-          sha256 = "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc";
+          sha256 = "bfcf81244f416871f2a2e15c1b515287faa5db9c6bcf290222206d120b3d43f6";
         };
 
         beamDeps = [ ];
@@ -389,12 +378,12 @@ let
 
       floki = buildMix rec {
         name = "floki";
-        version = "0.36.3";
+        version = "0.37.1";
 
         src = fetchHex {
           pkg = "floki";
           version = "${version}";
-          sha256 = "fe0158bff509e407735f6d40b3ee0d7deb47f3f3ee7c6c182ad28599f9f6b27a";
+          sha256 = "673d040cb594d31318d514590246b6dd587ed341d3b67e17c1c0eb8ce7ca6f04";
         };
 
         beamDeps = [ ];
@@ -402,12 +391,12 @@ let
 
       gettext = buildMix rec {
         name = "gettext";
-        version = "0.24.0";
+        version = "0.26.2";
 
         src = fetchHex {
           pkg = "gettext";
           version = "${version}";
-          sha256 = "bdf75cdfcbe9e4622dd18e034b227d77dd17f0f133853a1c73b97b3d6c770e8b";
+          sha256 = "aa978504bcf76511efdc22d580ba08e2279caab1066b76bb9aa81c4a1e0a32a5";
         };
 
         beamDeps = [ expo ];
@@ -415,12 +404,12 @@ let
 
       hackney = buildRebar3 rec {
         name = "hackney";
-        version = "1.20.1";
+        version = "1.24.1";
 
         src = fetchHex {
           pkg = "hackney";
           version = "${version}";
-          sha256 = "fe9094e5f1a2a2c0a7d10918fee36bfec0ec2a979994cff8cfe8058cd9af38e3";
+          sha256 = "f4a7392a0b53d8bbc3eb855bdcc919cd677358e65b2afd3840b5b3690c4c8a39";
         };
 
         beamDeps = [
@@ -436,12 +425,12 @@ let
 
       hpax = buildMix rec {
         name = "hpax";
-        version = "1.0.2";
+        version = "1.0.3";
 
         src = fetchHex {
           pkg = "hpax";
           version = "${version}";
-          sha256 = "2f09b4c1074e0abd846747329eaa26d535be0eb3d189fa69d812bfb8bfefd32f";
+          sha256 = "8eab6e1cfa8d5918c2ce4ba43588e894af35dbd8e91e6e55c817bca5847df34a";
         };
 
         beamDeps = [ ];
@@ -488,12 +477,12 @@ let
 
       mime = buildMix rec {
         name = "mime";
-        version = "2.0.6";
+        version = "2.0.7";
 
         src = fetchHex {
           pkg = "mime";
           version = "${version}";
-          sha256 = "c9945363a6b26d747389aac3643f8e0e09d30499a138ad64fe8fd1d13d9b153e";
+          sha256 = "6171188e399ee16023ffc5b76ce445eb6d9672e2e241d2df6050f3c771e80ccd";
         };
 
         beamDeps = [ ];
@@ -501,12 +490,12 @@ let
 
       mimerl = buildRebar3 rec {
         name = "mimerl";
-        version = "1.3.0";
+        version = "1.4.0";
 
         src = fetchHex {
           pkg = "mimerl";
           version = "${version}";
-          sha256 = "a1e15a50d1887217de95f0b9b0793e32853f7c258a5cd227650889b38839fe9d";
+          sha256 = "13af15f9f68c65884ecca3a3891d50a7b57d82152792f3e19d88650aa126b144";
         };
 
         beamDeps = [ ];
@@ -514,12 +503,12 @@ let
 
       mint = buildMix rec {
         name = "mint";
-        version = "1.6.2";
+        version = "1.7.1";
 
         src = fetchHex {
           pkg = "mint";
           version = "${version}";
-          sha256 = "5ee441dffc1892f1ae59127f74afe8fd82fda6587794278d924e4d90ea3d63f9";
+          sha256 = "fceba0a4d0f24301ddee3024ae116df1c3f4bb7a563a731f45fdfeb9d39a231b";
         };
 
         beamDeps = [
@@ -530,15 +519,15 @@ let
 
       mox = buildMix rec {
         name = "mox";
-        version = "1.1.0";
+        version = "1.2.0";
 
         src = fetchHex {
           pkg = "mox";
           version = "${version}";
-          sha256 = "d44474c50be02d5b72131070281a5d3895c0e7a95c780e90bc0cfe712f633a13";
+          sha256 = "c7b92b3cc69ee24a7eeeaf944cd7be22013c52fcb580c1f33f50845ec821089a";
         };
 
-        beamDeps = [ ];
+        beamDeps = [ nimble_ownership ];
       };
 
       nimble_options = buildMix rec {
@@ -554,14 +543,27 @@ let
         beamDeps = [ ];
       };
 
+      nimble_ownership = buildMix rec {
+        name = "nimble_ownership";
+        version = "1.0.1";
+
+        src = fetchHex {
+          pkg = "nimble_ownership";
+          version = "${version}";
+          sha256 = "3825e461025464f519f3f3e4a1f9b68c47dc151369611629ad08b636b73bb22d";
+        };
+
+        beamDeps = [ ];
+      };
+
       nimble_parsec = buildMix rec {
         name = "nimble_parsec";
-        version = "1.4.0";
+        version = "1.4.2";
 
         src = fetchHex {
           pkg = "nimble_parsec";
           version = "${version}";
-          sha256 = "9c565862810fb383e9838c1dd2d7d2c437b3d13b267414ba6af33e50d2d1cf28";
+          sha256 = "4b21398942dda052b403bbe1da991ccd03a053668d147d53fb8c4e0efe09c973";
         };
 
         beamDeps = [ ];
@@ -582,12 +584,12 @@ let
 
       oban = buildMix rec {
         name = "oban";
-        version = "2.18.3";
+        version = "2.19.4";
 
         src = fetchHex {
           pkg = "oban";
           version = "${version}";
-          sha256 = "36ca6ca84ef6518f9c2c759ea88efd438a3c81d667ba23b02b062a0aa785475e";
+          sha256 = "5fcc6219e6464525b808d97add17896e724131f498444a292071bf8991c99f97";
         };
 
         beamDeps = [
@@ -646,12 +648,12 @@ let
 
       phoenix = buildMix rec {
         name = "phoenix";
-        version = "1.7.17";
+        version = "1.7.21";
 
         src = fetchHex {
           pkg = "phoenix";
           version = "${version}";
-          sha256 = "50e8ad537f3f7b0efb1509b2f75b5c918f697be6a45d48e49a30d3b7c0e464c9";
+          sha256 = "336dce4f86cba56fed312a7d280bf2282c720abb6074bdb1b61ec8095bdd0bc9";
         };
 
         beamDeps = [
@@ -669,12 +671,12 @@ let
 
       phoenix_ecto = buildMix rec {
         name = "phoenix_ecto";
-        version = "4.4.3";
+        version = "4.6.4";
 
         src = fetchHex {
           pkg = "phoenix_ecto";
           version = "${version}";
-          sha256 = "d36c401206f3011fefd63d04e8ef626ec8791975d9d107f9a0817d426f61ac07";
+          sha256 = "f5b8584c36ccc9b903948a696fc9b8b81102c79c7c0c751a9f00cdec55d5f2d7";
         };
 
         beamDeps = [
@@ -686,25 +688,25 @@ let
 
       phoenix_html = buildMix rec {
         name = "phoenix_html";
-        version = "3.3.4";
+        version = "4.2.1";
 
         src = fetchHex {
           pkg = "phoenix_html";
           version = "${version}";
-          sha256 = "0249d3abec3714aff3415e7ee3d9786cb325be3151e6c4b3021502c585bf53fb";
+          sha256 = "cff108100ae2715dd959ae8f2a8cef8e20b593f8dfd031c9cba92702cf23e053";
         };
 
-        beamDeps = [ plug ];
+        beamDeps = [ ];
       };
 
       phoenix_live_dashboard = buildMix rec {
         name = "phoenix_live_dashboard";
-        version = "0.8.3";
+        version = "0.8.7";
 
         src = fetchHex {
           pkg = "phoenix_live_dashboard";
           version = "${version}";
-          sha256 = "f9470a0a8bae4f56430a23d42f977b5a6205fdba6559d76f932b876bfaec652d";
+          sha256 = "3a8625cab39ec261d48a13b7468dc619c0ede099601b084e343968309bd4d7d7";
         };
 
         beamDeps = [
@@ -718,12 +720,12 @@ let
 
       phoenix_live_reload = buildMix rec {
         name = "phoenix_live_reload";
-        version = "1.4.1";
+        version = "1.6.0";
 
         src = fetchHex {
           pkg = "phoenix_live_reload";
           version = "${version}";
-          sha256 = "9bffb834e7ddf08467fe54ae58b5785507aaba6255568ae22b4d46e2bb3615ab";
+          sha256 = "b3a1fa036d7eb2f956774eda7a7638cf5123f8f2175aca6d6420a7f95e598e1c";
         };
 
         beamDeps = [
@@ -734,12 +736,12 @@ let
 
       phoenix_live_view = buildMix rec {
         name = "phoenix_live_view";
-        version = "1.0.0";
+        version = "1.0.17";
 
         src = fetchHex {
           pkg = "phoenix_live_view";
           version = "${version}";
-          sha256 = "254caef0028765965ca6bd104cc7d68dcc7d57cc42912bef92f6b03047251d99";
+          sha256 = "a4ca05c1eb6922c4d07a508a75bfa12c45e5f4d8f77ae83283465f02c53741e1";
         };
 
         beamDeps = [
@@ -781,12 +783,12 @@ let
 
       plug = buildMix rec {
         name = "plug";
-        version = "1.16.1";
+        version = "1.18.0";
 
         src = fetchHex {
           pkg = "plug";
           version = "${version}";
-          sha256 = "a13ff6b9006b03d7e33874945b2755253841b238c34071ed85b0e86057f8cddc";
+          sha256 = "819f9e176d51e44dc38132e132fe0accaf6767eab7f0303431e404da8476cfa2";
         };
 
         beamDeps = [
@@ -798,12 +800,12 @@ let
 
       plug_cowboy = buildMix rec {
         name = "plug_cowboy";
-        version = "2.7.2";
+        version = "2.7.3";
 
         src = fetchHex {
           pkg = "plug_cowboy";
           version = "${version}";
-          sha256 = "245d8a11ee2306094840c000e8816f0cbed69a23fc0ac2bcf8d7835ae019bb2f";
+          sha256 = "77c95524b2aa5364b247fa17089029e73b951ebc1adeef429361eab0bb55819d";
         };
 
         beamDeps = [
@@ -815,12 +817,12 @@ let
 
       plug_crypto = buildMix rec {
         name = "plug_crypto";
-        version = "2.1.0";
+        version = "2.1.1";
 
         src = fetchHex {
           pkg = "plug_crypto";
           version = "${version}";
-          sha256 = "131216a4b030b8f8ce0f26038bc4421ae60e4bb95c5cf5395e1421437824c4fa";
+          sha256 = "6470bce6ffe41c8bd497612ffde1a7e4af67f36a15eea5f921af71cf3e11247c";
         };
 
         beamDeps = [ ];
@@ -856,12 +858,12 @@ let
 
       ranch = buildRebar3 rec {
         name = "ranch";
-        version = "1.8.0";
+        version = "2.2.0";
 
         src = fetchHex {
           pkg = "ranch";
           version = "${version}";
-          sha256 = "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5";
+          sha256 = "fa0b99a1780c80218a4197a59ea8d3bdae32fbff7e88527d7d8a4787eff4f8e7";
         };
 
         beamDeps = [ ];
@@ -869,12 +871,12 @@ let
 
       sobelow = buildMix rec {
         name = "sobelow";
-        version = "0.13.0";
+        version = "0.14.0";
 
         src = fetchHex {
           pkg = "sobelow";
           version = "${version}";
-          sha256 = "cd6e9026b85fc35d7529da14f95e85a078d9dd1907a9097b3ba6ac7ebbe34a0d";
+          sha256 = "7ecf91e298acfd9b24f5d761f19e8f6e6ac585b9387fb6301023f1f2cd5eed5f";
         };
 
         beamDeps = [ jason ];
@@ -895,12 +897,12 @@ let
 
       swoosh = buildMix rec {
         name = "swoosh";
-        version = "1.14.4";
+        version = "1.19.1";
 
         src = fetchHex {
           pkg = "swoosh";
           version = "${version}";
-          sha256 = "081c5a590e4ba85cc89baddf7b2beecf6c13f7f84a958f1cd969290815f0f026";
+          sha256 = "eab57462d41a3330e82cb93a9d7640f5c79a85951f3457db25c1eb28fda193a6";
         };
 
         beamDeps = [
@@ -917,12 +919,12 @@ let
 
       table_rex = buildMix rec {
         name = "table_rex";
-        version = "4.0.0";
+        version = "4.1.0";
 
         src = fetchHex {
           pkg = "table_rex";
           version = "${version}";
-          sha256 = "c35c4d5612ca49ebb0344ea10387da4d2afe278387d4019e4d8111e815df8f55";
+          sha256 = "95932701df195d43bc2d1c6531178fc8338aa8f38c80f098504d529c43bc2601";
         };
 
         beamDeps = [ ];
@@ -956,12 +958,12 @@ let
 
       telemetry_metrics = buildMix rec {
         name = "telemetry_metrics";
-        version = "1.0.0";
+        version = "1.1.0";
 
         src = fetchHex {
           pkg = "telemetry_metrics";
           version = "${version}";
-          sha256 = "f23713b3847286a534e005126d4c959ebcca68ae9582118ce436b521d1d47d5d";
+          sha256 = "e7b79e8ddfde70adb6db8a6623d1778ec66401f366e9a8f5dd0955c56bc8ce67";
         };
 
         beamDeps = [ telemetry ];
@@ -985,12 +987,12 @@ let
 
       telemetry_poller = buildRebar3 rec {
         name = "telemetry_poller";
-        version = "1.1.0";
+        version = "1.2.0";
 
         src = fetchHex {
           pkg = "telemetry_poller";
           version = "${version}";
-          sha256 = "9eb9d9cbfd81cbd7cdd24682f8711b6e2b691289a0de6826e58452f28c103c8f";
+          sha256 = "7216e21a6c326eb9aa44328028c34e9fd348fb53667ca837be59d0aa2a0156e8";
         };
 
         beamDeps = [ telemetry ];
@@ -998,12 +1000,12 @@ let
 
       timex = buildMix rec {
         name = "timex";
-        version = "3.7.11";
+        version = "3.7.12";
 
         src = fetchHex {
           pkg = "timex";
           version = "${version}";
-          sha256 = "8b9024f7efbabaf9bd7aa04f65cf8dcd7c9818ca5737677c7b76acbc6a94d1aa";
+          sha256 = "220dc675e8afca1762568dad874d8fbc8a0a0ccb25a4d1bde8f7cf006707e04f";
         };
 
         beamDeps = [
@@ -1015,12 +1017,12 @@ let
 
       tzdata = buildMix rec {
         name = "tzdata";
-        version = "1.1.2";
+        version = "1.1.3";
 
         src = fetchHex {
           pkg = "tzdata";
           version = "${version}";
-          sha256 = "cec7b286e608371602318c414f344941d5eb0375e14cfdab605cca2fe66cba8b";
+          sha256 = "d4ca85575a064d29d4e94253ee95912edfb165938743dbf002acdf0dcecb0c28";
         };
 
         beamDeps = [ hackney ];
@@ -1028,12 +1030,12 @@ let
 
       unicode_util_compat = buildRebar3 rec {
         name = "unicode_util_compat";
-        version = "0.7.0";
+        version = "0.7.1";
 
         src = fetchHex {
           pkg = "unicode_util_compat";
           version = "${version}";
-          sha256 = "25eee6d67df61960cf6a794239566599b09e17e668d3700247bc498638152521";
+          sha256 = "b3a917854ce3ae233619744ad1e0102e05673136776fb2fa76234f3e03b23642";
         };
 
         beamDeps = [ ];
diff --git a/pkgs/by-name/pi/pinchflat/package.nix b/pkgs/by-name/pi/pinchflat/package.nix
index 05f7b1070657..a604637fdb36 100644
--- a/pkgs/by-name/pi/pinchflat/package.nix
+++ b/pkgs/by-name/pi/pinchflat/package.nix
@@ -13,16 +13,24 @@
 }:
 beamPackages.mixRelease rec {
   pname = "pinchflat";
-  version = "2025.3.17";
+  version = "2025.6.6";
   src = fetchFromGitHub {
     owner = "kieraneglin";
     repo = "pinchflat";
     rev = "v${version}";
-    hash = "sha256-XHYCYC3SEVyheBV6diE2pn1AJARml+aNNUjJw2tVKTk=";
+    hash = "sha256-5hHueaA0QGTDr4wViZMBpBFhPnl8uAaxy72LMHgZdWU=";
+
   };
 
   mixNixDeps = import ./mix.nix {
     inherit beamPackages lib;
+    overrides = _: super: {
+      exqlite = super.exqlite.overrideAttrs (_: {
+        preConfigure = ''
+          export ELIXIR_MAKE_CACHE_DIR="$TMPDIR/.cache"
+        '';
+      });
+    };
   };
   removeCookie = false;
 
diff --git a/pkgs/by-name/pi/pineflash/package.nix b/pkgs/by-name/pi/pineflash/package.nix
index b68594035764..a3571a9319cc 100644
--- a/pkgs/by-name/pi/pineflash/package.nix
+++ b/pkgs/by-name/pi/pineflash/package.nix
@@ -17,14 +17,14 @@
   nix-update-script,
   wayland,
 }:
-rustPlatform.buildRustPackage rec {
+rustPlatform.buildRustPackage (finalAttrs: {
   pname = "pineflash";
   version = "0.5.5";
 
   src = fetchFromGitHub {
     owner = "Spagett1";
     repo = "pineflash";
-    tag = version;
+    tag = finalAttrs.version;
     hash = "sha256-4tcwEok36vuXbtlZNUkLNw1kHFQPBEJM/gWRhRWNLPg=";
   };
 
@@ -81,11 +81,11 @@ rustPlatform.buildRustPackage rec {
   meta = {
     description = "GUI tool to flash IronOS to the Pinecil V1 and V2";
     homepage = "https://github.com/Spagett1/pineflash";
-    changelog = "https://github.com/Spagett1/pineflash/releases/tag/${version}";
+    changelog = "https://github.com/Spagett1/pineflash/releases/tag/${finalAttrs.version}";
     license = lib.licenses.gpl2Only;
     maintainers = with lib.maintainers; [
       acuteaangle
     ];
     mainProgram = "pineflash";
   };
-}
+})
diff --git a/pkgs/by-name/pi/pinta/package.nix b/pkgs/by-name/pi/pinta/package.nix
index e04cfa245bb5..1d211d97b1a6 100644
--- a/pkgs/by-name/pi/pinta/package.nix
+++ b/pkgs/by-name/pi/pinta/package.nix
@@ -12,13 +12,13 @@
 
 buildDotnetModule rec {
   pname = "Pinta";
-  version = "3.0";
+  version = "3.0.1";
 
   src = fetchFromGitHub {
     owner = "PintaProject";
     repo = "Pinta";
     rev = version;
-    hash = "sha256-87uzUIgivBI2W+vJV/LflxJoUPJCW5SlodwcC1pSOUk=";
+    hash = "sha256-TU4WBrWnhTQQM+OrBq9hpvrihittKTSS0Zo5laL98mE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/pi/pipeline/package.nix b/pkgs/by-name/pi/pipeline/package.nix
index 350a2157def2..24048c5d31f4 100644
--- a/pkgs/by-name/pi/pipeline/package.nix
+++ b/pkgs/by-name/pi/pipeline/package.nix
@@ -30,18 +30,18 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "pipeline";
-  version = "2.1.1";
+  version = "2.5.0";
 
   src = fetchFromGitLab {
     owner = "schmiddi-on-mobile";
     repo = "pipeline";
-    rev = "v${finalAttrs.version}";
-    hash = "sha256-51ru1L+wxPtrNlnHyTouVxR6oZjanYvCoouB+eNOSD0=";
+    rev = finalAttrs.version;
+    hash = "sha256-Q1Y8a9EQUwgxlkYy+vbilHz7RVwkxXknVhc3u+dlNBE=";
   };
 
   cargoDeps = rustPlatform.fetchCargoVendor {
     inherit (finalAttrs) src;
-    hash = "sha256-G6E+V4hXqz/ec5qKV43IUlwM866iurbptYFxidASJz0=";
+    hash = "sha256-pbYpJ2TyrBg3CMCshHnzb4hjq6SLfxXJyAElllicFDM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/pi/piscope/package.nix b/pkgs/by-name/pi/piscope/package.nix
index 9873ada380eb..5f064722f4b2 100644
--- a/pkgs/by-name/pi/piscope/package.nix
+++ b/pkgs/by-name/pi/piscope/package.nix
@@ -23,9 +23,9 @@ stdenv.mkDerivation (finalAttrs: {
     hash = "sha256-VDrx/RLSpMhyD64PmdeWVacb9LleHakcy7D6zFxeyhw=";
   };
   # Fix FHS paths
-  postConfigure = ''
+  postPatch = ''
     substituteInPlace piscope.c \
-      --replace /usr/share/piscope $out/share/piscope
+      --replace-fail /usr/share/piscope $out/share/piscope
   '';
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/pi/pixi/package.nix b/pkgs/by-name/pi/pixi/package.nix
index 8080506d9aec..591ae99258eb 100644
--- a/pkgs/by-name/pi/pixi/package.nix
+++ b/pkgs/by-name/pi/pixi/package.nix
@@ -14,17 +14,17 @@
 
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "pixi";
-  version = "0.47.0";
+  version = "0.48.2";
 
   src = fetchFromGitHub {
     owner = "prefix-dev";
     repo = "pixi";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-ndNwtCKAU/59bq6uDlaxb+24DG2yKD7NyfwgBAlHMtg=";
+    hash = "sha256-v6t3o6/GPgIh8bJ1EQ2KRYoBRpFFejRIG805EbLRjz8=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-Q82CD/byqXAqJpO0izIwBD6lYpoZNJoWqDCciRecZnY=";
+  cargoHash = "sha256-8aYYGySZAGcgPFPeCZ5Zx2UMkgJGKQEgCSTQ8HIh9G4=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/by-name/pi/pixman/package.nix b/pkgs/by-name/pi/pixman/package.nix
index 94d742f374e3..0846cd93bbdf 100644
--- a/pkgs/by-name/pi/pixman/package.nix
+++ b/pkgs/by-name/pi/pixman/package.nix
@@ -25,14 +25,14 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "pixman";
-  version = "0.44.2";
+  version = "0.46.0";
 
   src = fetchurl {
     urls = with finalAttrs; [
       "mirror://xorg/individual/lib/${pname}-${version}.tar.gz"
       "https://cairographics.org/releases/${pname}-${version}.tar.gz"
     ];
-    hash = "sha256-Y0kGHOGjOKtpUrkhlNGwN3RyJEII1H/yW++G/HGXNGY=";
+    hash = "sha256-Atn/e4RY72FzHD01X4VLv0Yf0KTTVjxR8cHHsAY4BQ0=";
   };
 
   # Raise test timeout, 120s can be slightly exceeded on slower hardware
diff --git a/pkgs/by-name/pj/pjsip/package.nix b/pkgs/by-name/pj/pjsip/package.nix
index 53219b38c98e..6cd8d59e8669 100644
--- a/pkgs/by-name/pj/pjsip/package.nix
+++ b/pkgs/by-name/pj/pjsip/package.nix
@@ -109,9 +109,12 @@ stdenv.mkDerivation (finalAttrs: {
       done
 
       # Rewrite library references for all executables.
-      find "$out" -executable -type f | while read executable; do
-        install_name_tool "''${change_args[@]}" "$executable"
-      done
+      find "$out" -type f -executable -path "*/bin/*" -o -type f -executable -path "*/share/*/samples/*" \
+        | while read executable; do
+          if isMachO "$executable"; then
+            install_name_tool "''${change_args[@]}" "$executable"
+          fi
+        done
     '';
 
   # We need the libgcc_s.so.1 loadable (for pthread_cancel to work)
diff --git a/pkgs/by-name/pk/pkgsite/package.nix b/pkgs/by-name/pk/pkgsite/package.nix
index 0b917fcf7088..f1cd15b9e76a 100644
--- a/pkgs/by-name/pk/pkgsite/package.nix
+++ b/pkgs/by-name/pk/pkgsite/package.nix
@@ -7,16 +7,16 @@
 
 buildGoModule {
   pname = "pkgsite";
-  version = "0-unstable-2025-05-23";
+  version = "0-unstable-2025-06-11";
 
   src = fetchFromGitHub {
     owner = "golang";
     repo = "pkgsite";
-    rev = "0e6de173c6b5ef31749de2ae384bb05ddc6726ba";
-    hash = "sha256-WRNw+BjUY8/gj7tcPs0Ifz47JtBlU+SEIt12EZmtOjw=";
+    rev = "041c7c0b878cb88962867185208d4d2ec79de7d0";
+    hash = "sha256-dyBOdUwod03c8eU1qfJecSDyKzol//yFpANCOihiseo=";
   };
 
-  vendorHash = "sha256-s8uYvMQENqeUN8DbZ/jNhcTe2dJeiE9UYPCPGeScO10=";
+  vendorHash = "sha256-dZKm3dMI969HKPBrC95vVmY1cZmjy+NWq7xOzXsTE14=";
 
   subPackages = [ "cmd/pkgsite" ];
 
diff --git a/pkgs/by-name/pl/planetary_annihilation/package.nix b/pkgs/by-name/pl/planetary_annihilation/package.nix
index 4419612af2ff..6b43eb641d83 100644
--- a/pkgs/by-name/pl/planetary_annihilation/package.nix
+++ b/pkgs/by-name/pl/planetary_annihilation/package.nix
@@ -107,7 +107,7 @@ stdenv.mkDerivation rec {
     description = "Next-generation RTS that takes the genre to a planetary scale";
     license = lib.licenses.unfree;
     platforms = platforms.linux;
-    maintainers = [ maintainers.domenkozar ];
+    maintainers = [ ];
     sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
   };
 }
diff --git a/pkgs/by-name/pl/plant-it-frontend/package.nix b/pkgs/by-name/pl/plant-it-frontend/package.nix
index 58856e6d7db9..fa79e55612e3 100644
--- a/pkgs/by-name/pl/plant-it-frontend/package.nix
+++ b/pkgs/by-name/pl/plant-it-frontend/package.nix
@@ -1,13 +1,14 @@
 {
   lib,
-  flutter326,
+  flutter329,
   plant-it,
 }:
 
-flutter326.buildFlutterApplication {
+flutter329.buildFlutterApplication {
   pname = "plant-it-frontend";
   inherit (plant-it) version src;
-  sourceRoot = "source/frontend";
+
+  sourceRoot = "${plant-it.src.name}/frontend";
 
   targetFlutterPlatform = "web";
 
@@ -15,5 +16,6 @@ flutter326.buildFlutterApplication {
 
   meta = plant-it.meta // {
     description = "Frontend for Plant It";
+    platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/by-name/pl/plantuml-server/package.nix b/pkgs/by-name/pl/plantuml-server/package.nix
index 3932c3252733..e1ab6231239b 100644
--- a/pkgs/by-name/pl/plantuml-server/package.nix
+++ b/pkgs/by-name/pl/plantuml-server/package.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "plantuml-server";
-  version = "1.2025.2";
+  version = "1.2025.3";
 
   src = fetchurl {
     url = "https://github.com/plantuml/plantuml-server/releases/download/v${version}/plantuml-v${version}.war";
-    hash = "sha256-Qwaqt2Tlc5ruo0nnhepBXHOHVPqwcIP2Ec6GL+EyGTU=";
+    hash = "sha256-q4fgA3pbKg13q/J5CJ1vshNFdBtTQ3QyRKyD3STshcc=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/by-name/pl/plantuml/package.nix b/pkgs/by-name/pl/plantuml/package.nix
index faddd49464e8..8c5d89cce5d4 100644
--- a/pkgs/by-name/pl/plantuml/package.nix
+++ b/pkgs/by-name/pl/plantuml/package.nix
@@ -11,11 +11,11 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "plantuml";
-  version = "1.2025.2";
+  version = "1.2025.3";
 
   src = fetchurl {
     url = "https://github.com/plantuml/plantuml/releases/download/v${finalAttrs.version}/plantuml-pdf-${finalAttrs.version}.jar";
-    hash = "sha256-mDP72BLe7+WqjCsxIrhF//jVQVpmU0jwgFeH2sW1mH0=";
+    hash = "sha256-o8bBO9Crcrf2XLuLbakSiUp4WcIanJJTRwlDr4ydL0I=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/pl/plasma-panel-colorizer/package.nix b/pkgs/by-name/pl/plasma-panel-colorizer/package.nix
index f3e901fd2dbf..4cc80035645c 100644
--- a/pkgs/by-name/pl/plasma-panel-colorizer/package.nix
+++ b/pkgs/by-name/pl/plasma-panel-colorizer/package.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "plasma-panel-colorizer";
-  version = "4.2.0";
+  version = "4.3.1";
 
   src = fetchFromGitHub {
     owner = "luisbocanegra";
     repo = "plasma-panel-colorizer";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-fqhuW7SoUluUJU0tv1MIUX1IhOn3j514Hlrdxlnqvvg=";
+    hash = "sha256-1vDFFQKuEwfOnYCEDvGBRCVS4m36vuAd/bpimkI4suM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/pl/plasma-panel-spacer-extended/package.nix b/pkgs/by-name/pl/plasma-panel-spacer-extended/package.nix
index 4de57017c6e1..5c92df60d720 100644
--- a/pkgs/by-name/pl/plasma-panel-spacer-extended/package.nix
+++ b/pkgs/by-name/pl/plasma-panel-spacer-extended/package.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "plasma-panel-spacer-extended";
-  version = "1.10.1";
+  version = "1.11.1";
 
   src = fetchFromGitHub {
     owner = "luisbocanegra";
     repo = "plasma-panel-spacer-extended";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-PEwyydaO2n/tuZ63403mnT2ZRVq4wy5rLUFwX9r8P20=";
+    hash = "sha256-TQx9J10qfjCaolq/mpSjhV13uYxK/wBGIXH1sQFaLRA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/pl/plemoljp-hs/package.nix b/pkgs/by-name/pl/plemoljp-hs/package.nix
index 20ec33ee1253..fac60650ba94 100644
--- a/pkgs/by-name/pl/plemoljp-hs/package.nix
+++ b/pkgs/by-name/pl/plemoljp-hs/package.nix
@@ -24,11 +24,11 @@ stdenvNoCC.mkDerivation rec {
     runHook postInstall
   '';
 
-  meta = with lib; {
+  meta = {
     description = "Composite font of IBM Plex Mono, IBM Plex Sans JP and hidden full-width space";
     homepage = "https://github.com/yuru7/PlemolJP";
-    license = licenses.ofl;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ kachick ];
+    license = lib.licenses.ofl;
+    platforms = lib.platforms.all;
+    maintainers = with lib.maintainers; [ kachick ];
   };
 }
diff --git a/pkgs/by-name/pl/plemoljp-nf/package.nix b/pkgs/by-name/pl/plemoljp-nf/package.nix
index f000bb37055b..8834539535cb 100644
--- a/pkgs/by-name/pl/plemoljp-nf/package.nix
+++ b/pkgs/by-name/pl/plemoljp-nf/package.nix
@@ -22,11 +22,11 @@ stdenvNoCC.mkDerivation rec {
     runHook postInstall
   '';
 
-  meta = with lib; {
+  meta = {
     description = "Composite font of IBM Plex Mono, IBM Plex Sans JP and nerd-fonts";
     homepage = "https://github.com/yuru7/PlemolJP";
-    license = licenses.ofl;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ kachick ];
+    license = lib.licenses.ofl;
+    platforms = lib.platforms.all;
+    maintainers = with lib.maintainers; [ kachick ];
   };
 }
diff --git a/pkgs/by-name/pl/plemoljp/package.nix b/pkgs/by-name/pl/plemoljp/package.nix
index 59d92b848bab..981c486953b1 100644
--- a/pkgs/by-name/pl/plemoljp/package.nix
+++ b/pkgs/by-name/pl/plemoljp/package.nix
@@ -24,11 +24,11 @@ stdenvNoCC.mkDerivation rec {
     runHook postInstall
   '';
 
-  meta = with lib; {
+  meta = {
     description = "Composite font of IBM Plex Mono and IBM Plex Sans JP";
     homepage = "https://github.com/yuru7/PlemolJP";
-    license = licenses.ofl;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ kachick ];
+    license = lib.licenses.ofl;
+    platforms = lib.platforms.all;
+    maintainers = with lib.maintainers; [ kachick ];
   };
 }
diff --git a/pkgs/by-name/pl/plex-desktop/package.nix b/pkgs/by-name/pl/plex-desktop/package.nix
index 0d69c75c4052..181a9626fea5 100644
--- a/pkgs/by-name/pl/plex-desktop/package.nix
+++ b/pkgs/by-name/pl/plex-desktop/package.nix
@@ -153,6 +153,9 @@ buildFHSEnv {
     # db files should have write access.
     chmod --recursive 750 "$PLEX_DB"
 
+    # These environment variables sometimes silently cause plex to crash.
+    unset QT_QPA_PLATFORM QT_STYLE_OVERRIDE
+
     set -o allexport
     ${lib.toShellVars extraEnv}
     exec ${plex-desktop}/Plex.sh
diff --git a/pkgs/by-name/pl/plutosvg/package.nix b/pkgs/by-name/pl/plutosvg/package.nix
index acc3a99b837f..c702483f2927 100644
--- a/pkgs/by-name/pl/plutosvg/package.nix
+++ b/pkgs/by-name/pl/plutosvg/package.nix
@@ -2,6 +2,7 @@
   lib,
   stdenv,
   fetchFromGitHub,
+  fetchpatch,
   nix-update-script,
   validatePkgConfig,
   testers,
@@ -28,6 +29,11 @@ stdenv.mkDerivation (finalAttrs: {
   patches = [
     # https://github.com/sammycage/plutosvg/pull/29
     ./0001-Emit-correct-pkg-config-file-if-paths-are-absolute.patch
+    # https://github.com/sammycage/plutosvg/pull/31
+    (fetchpatch {
+      url = "https://github.com/sammycage/plutosvg/commit/17d60020e0b24299fae0e7df37637448b3b51488.patch";
+      hash = "sha256-hY25ttsLQwvtQmDeOGSoCVDy34GUA0tNai/L3wpmPUo=";
+    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/pn/pngpaste/package.nix b/pkgs/by-name/pn/pngpaste/package.nix
index eb558b1bb6e8..b929c63a677a 100644
--- a/pkgs/by-name/pn/pngpaste/package.nix
+++ b/pkgs/by-name/pn/pngpaste/package.nix
@@ -4,22 +4,21 @@
   fetchFromGitHub,
 }:
 
-let
+stdenv.mkDerivation (finalAttrs: {
   pname = "pngpaste";
   version = "0.2.3";
-in
-stdenv.mkDerivation {
-  inherit pname version;
+
   src = fetchFromGitHub {
     owner = "jcsalterego";
-    repo = pname;
-    rev = version;
+    repo = "pngpaste";
+    tag = finalAttrs.version;
     sha256 = "uvajxSelk1Wfd5is5kmT2fzDShlufBgC0PDCeabEOSE=";
   };
 
   installPhase = ''
-    mkdir -p $out/bin
-    cp pngpaste $out/bin
+    runHook preInstall
+    install -Dm555 pngpaste $out/bin/pngpaste
+    runHook postInstall
   '';
 
   meta = {
@@ -32,9 +31,9 @@ stdenv.mkDerivation {
       falling back to PNG.
     '';
     homepage = "https://github.com/jcsalterego/pngpaste";
-    changelog = "https://github.com/jcsalterego/pngpaste/raw/${version}/CHANGELOG.md";
+    changelog = "https://github.com/jcsalterego/pngpaste/raw/${finalAttrs.version}/CHANGELOG.md";
     platforms = lib.platforms.darwin;
     license = lib.licenses.bsd2;
     maintainers = with lib.maintainers; [ samw ];
   };
-}
+})
diff --git a/pkgs/by-name/po/pocket-id/package.nix b/pkgs/by-name/po/pocket-id/package.nix
index 50728a63c42c..e707708f6d43 100644
--- a/pkgs/by-name/po/pocket-id/package.nix
+++ b/pkgs/by-name/po/pocket-id/package.nix
@@ -9,18 +9,18 @@
 
 buildGoModule (finalAttrs: {
   pname = "pocket-id";
-  version = "1.2.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "pocket-id";
     repo = "pocket-id";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-LydP89zyqMGpWbC7nEAyPMx0ARDrYh4qL9sH1i8a88M=";
+    hash = "sha256-I2wKxeXxGO8mx8pHzn/8mAqWsWBrMdFrznmkfEiBzpI=";
   };
 
   sourceRoot = "${finalAttrs.src.name}/backend";
 
-  vendorHash = "sha256-U7FKU5WkU1EoXav+Q1i04uRSxBux/o4/9UzajT/hV/g=";
+  vendorHash = "sha256-9zPajwpfjsItAx3WAk4JiVlraTGHmYhLJ6VKRulPFOI=";
 
   env.CGO_ENABLED = 0;
   ldflags = [
@@ -42,7 +42,7 @@ buildGoModule (finalAttrs: {
 
     sourceRoot = "${finalAttrs.src.name}/frontend";
 
-    npmDepsHash = "sha256-+KmNWKe5k/WuQL9B6XYZWDCLICyGWIg/vHLZr9T7SOc=";
+    npmDepsHash = "sha256-CmlYMqRb4+CC0VgpTQKOakc1k6mSIIYbn6l7URu6Eck=";
     npmFlags = [ "--legacy-peer-deps" ];
 
     env.BUILD_OUTPUT_PATH = "dist";
diff --git a/pkgs/by-name/po/pocketbase/package.nix b/pkgs/by-name/po/pocketbase/package.nix
index 62e002705757..25aee3b0b74d 100644
--- a/pkgs/by-name/po/pocketbase/package.nix
+++ b/pkgs/by-name/po/pocketbase/package.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "pocketbase";
-  version = "0.28.2";
+  version = "0.28.3";
 
   src = fetchFromGitHub {
     owner = "pocketbase";
     repo = "pocketbase";
     rev = "v${version}";
-    hash = "sha256-R8sXa3Cs7GFRAs8/+wAoWteFYBUVsgVA+eJDKACb0k8=";
+    hash = "sha256-oFM2QcMxW+1iVUy7GzpNBtMQznq0vL7eeDiUhVPYCOM=";
   };
 
-  vendorHash = "sha256-bTXxhHibKiu+btHhnktTpNycMJSzGekRJ+w9b1IwAQs=";
+  vendorHash = "sha256-hOB8MOfG+RHDJEP5DSDvSiphb+c86QySNEmRr8633cM=";
 
   # This is the released subpackage from upstream repo
   subPackages = [ "examples/base" ];
diff --git a/pkgs/by-name/po/podman-desktop/package.nix b/pkgs/by-name/po/podman-desktop/package.nix
index 666a5f0f9aae..81b1010a6c7e 100644
--- a/pkgs/by-name/po/podman-desktop/package.nix
+++ b/pkgs/by-name/po/podman-desktop/package.nix
@@ -22,7 +22,7 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "podman-desktop";
-  version = "1.19.1";
+  version = "1.19.2";
 
   passthru.updateScript = _experimental-update-script-combinators.sequence [
     (nix-update-script { })
@@ -55,7 +55,7 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "containers";
     repo = "podman-desktop";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-HTfrbMwXw+GGseVzJR2eagBJ7AmuPeFMuy/lO7EADmY=";
+    hash = "sha256-Yw4HPHtMMxaI7MLamZy+MglvHHpO6h4/kHY2TBXWErg=";
   };
 
   pnpmDeps = pnpm_10.fetchDeps {
diff --git a/pkgs/by-name/po/podman/package.nix b/pkgs/by-name/po/podman/package.nix
index e9f26b21551b..1698ae6a1d51 100644
--- a/pkgs/by-name/po/podman/package.nix
+++ b/pkgs/by-name/po/podman/package.nix
@@ -74,13 +74,13 @@ let
 in
 buildGoModule rec {
   pname = "podman";
-  version = "5.4.1";
+  version = "5.5.1";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "podman";
     rev = "v${version}";
-    hash = "sha256-RirMBb45KeBLdBJrRa86WxI4FiXdBar+RnVQ2ezEEYc=";
+    hash = "sha256-/dGFDwjAAc1D88VslVDolf2YVPZ9cHUCQjdaEreQSE0=";
   };
 
   patches = [
diff --git a/pkgs/by-name/po/poetry/plugins/poetry-plugin-export.nix b/pkgs/by-name/po/poetry/plugins/poetry-plugin-export.nix
index 7bea1fc4f59c..a33d7048627d 100644
--- a/pkgs/by-name/po/poetry/plugins/poetry-plugin-export.nix
+++ b/pkgs/by-name/po/poetry/plugins/poetry-plugin-export.nix
@@ -17,7 +17,7 @@ buildPythonPackage rec {
 
   src = fetchFromGitHub {
     owner = "python-poetry";
-    repo = pname;
+    repo = "poetry-plugin-export";
     tag = version;
     hash = "sha256-AP3/njzbLEi2s4pOUSLLLzqNprvxwLe9LSY7qh08EWc=";
   };
diff --git a/pkgs/by-name/po/poetry/plugins/poetry-plugin-up.nix b/pkgs/by-name/po/poetry/plugins/poetry-plugin-up.nix
index 43d6e59f3458..c6c5acf0fec5 100644
--- a/pkgs/by-name/po/poetry/plugins/poetry-plugin-up.nix
+++ b/pkgs/by-name/po/poetry/plugins/poetry-plugin-up.nix
@@ -15,7 +15,7 @@ buildPythonPackage rec {
 
   src = fetchFromGitHub {
     owner = "MousaZeidBaker";
-    repo = pname;
+    repo = "poetry-plugin-up";
     tag = "v${version}";
     hash = "sha256-gVhx8Vhk+yT/QjcEme8w0F+6BBpnEZOqzCkUJgM9eck=";
   };
diff --git a/pkgs/by-name/po/polarity/package.nix b/pkgs/by-name/po/polarity/package.nix
index ca1409cffdb0..0bc835322a24 100644
--- a/pkgs/by-name/po/polarity/package.nix
+++ b/pkgs/by-name/po/polarity/package.nix
@@ -7,13 +7,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "polarity";
-  version = "latest-unstable-2025-05-19";
+  version = "latest-unstable-2025-06-06";
 
   src = fetchFromGitHub {
     owner = "polarity-lang";
     repo = "polarity";
-    rev = "b715e6529210242d79f304d34170eba8473174b2";
-    hash = "sha256-/yq6fqjkZoEw4MhsOWlRdQciA/Wqds9TgCczcVQV8Rw=";
+    rev = "421e73a38f57d0453d821332d4e25aa53476254d";
+    hash = "sha256-eugXy+BhjshhALT8ZLhA8OvtqCM8wmiuG1yuNWsAGyo=";
   };
 
   useFetchCargoVendor = true;
diff --git a/pkgs/by-name/po/polypane/package.nix b/pkgs/by-name/po/polypane/package.nix
index f8446111cc8d..c77156b99f77 100644
--- a/pkgs/by-name/po/polypane/package.nix
+++ b/pkgs/by-name/po/polypane/package.nix
@@ -6,12 +6,12 @@
 
 let
   pname = "polypane";
-  version = "24.0.2";
+  version = "24.1.2";
 
   src = fetchurl {
     url = "https://github.com/firstversionist/${pname}/releases/download/v${version}/${pname}-${version}.AppImage";
     name = "${pname}-${version}.AppImage";
-    sha256 = "sha256-iO2589e2L1q5xEoIvSUV8QBpn/uHp/FBLMFeXDgIdVY=";
+    sha256 = "sha256-fFZP8RfAjlgZB/57sbEQ3pzQCNX+9Nd2jdcRUD8TJeo=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/by-name/po/pony-corral/package.nix b/pkgs/by-name/po/pony-corral/package.nix
index f56b4d0f5b19..2e39d4c8b6b4 100644
--- a/pkgs/by-name/po/pony-corral/package.nix
+++ b/pkgs/by-name/po/pony-corral/package.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "corral";
-  version = "0.8.2";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "ponylang";
     repo = "corral";
     rev = finalAttrs.version;
-    hash = "sha256-arcMtCSbXFLBT2ygdj44UKMdGStlgHyiBgt5xZpPRhs=";
+    hash = "sha256-zbOlk92oyy17VyUalYnUZPxAO+8wjRMCqcwLx0lLL1g=";
   };
 
   strictDeps = true;
diff --git a/pkgs/by-name/po/portfolio/package.nix b/pkgs/by-name/po/portfolio/package.nix
index 12123603ca29..e157df390890 100644
--- a/pkgs/by-name/po/portfolio/package.nix
+++ b/pkgs/by-name/po/portfolio/package.nix
@@ -34,11 +34,11 @@ let
 in
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "PortfolioPerformance";
-  version = "0.76.3";
+  version = "0.77.1";
 
   src = fetchurl {
     url = "https://github.com/buchen/portfolio/releases/download/${finalAttrs.version}/PortfolioPerformance-${finalAttrs.version}-linux.gtk.x86_64.tar.gz";
-    hash = "sha256-HbmNIRKNV1vmDX6PdjBvBNfyLP/pqtRCZRBHNADyiqM=";
+    hash = "sha256-gD8tUOsuce0qxBDByOddoPqCqUkPfgGbbnAa+SLJnVU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/po/positron-bin/package.nix b/pkgs/by-name/po/positron-bin/package.nix
index dded8d345ea4..b165b93dac47 100644
--- a/pkgs/by-name/po/positron-bin/package.nix
+++ b/pkgs/by-name/po/positron-bin/package.nix
@@ -22,7 +22,7 @@
 }:
 let
   pname = "positron-bin";
-  version = "2025.05.0-75";
+  version = "2025.06.0-146";
 in
 stdenv.mkDerivation {
   inherit version pname;
@@ -31,12 +31,17 @@ stdenv.mkDerivation {
     if stdenv.hostPlatform.isDarwin then
       fetchurl {
         url = "https://cdn.posit.co/positron/dailies/mac/universal/Positron-${version}.dmg";
-        hash = "sha256-dmRYKysQJYrNWyGvH9DsNIC0tIHYNix7QWagVtuGx1g=";
+        hash = "sha256-V9ADtOskxEbGZryXD/6aiUDeTvqPzoY372f/Vo5195s=";
+      }
+    else if stdenv.hostPlatform.system == "aarch64-linux" then
+      fetchurl {
+        url = "https://cdn.posit.co/positron/dailies/deb/arm64/Positron-${version}-arm64.deb";
+        hash = "sha256-FiCTF5Bmfp4id9HXuB4luSGT9A7OoquaRW/QIh0A3ZY=";
       }
     else
       fetchurl {
         url = "https://cdn.posit.co/positron/dailies/deb/x86_64/Positron-${version}-x64.deb";
-        hash = "sha256-dmJrDE3g44aoCsVBvSDDFLt38uIqxzaXPBhcmu/U5Oo=";
+        hash = "sha256-FnNoLV9uqgUeumYpHtRJuHrFA6mL65KI4jru7Ebq0/o=";
       };
 
   buildInputs =
@@ -133,6 +138,9 @@ stdenv.mkDerivation {
       detroyejr
     ];
     mainProgram = "positron";
-    platforms = [ "x86_64-linux" ] ++ platforms.darwin;
+    platforms = [
+      "x86_64-linux"
+      "aarch64-linux"
+    ] ++ platforms.darwin;
   };
 }
diff --git a/pkgs/by-name/po/positron-bin/update.sh b/pkgs/by-name/po/positron-bin/update.sh
index 3e3966a356e9..76c16930fc01 100755
--- a/pkgs/by-name/po/positron-bin/update.sh
+++ b/pkgs/by-name/po/positron-bin/update.sh
@@ -27,7 +27,7 @@ new_hash=$(nix store prefetch-file --json --hash-type sha256 \
 
 sed -i "s|$current_hash|$new_hash|g" $positron_nix
 
-# Update Linux hash.
+# Update Linux x86_64 hash.
 current_hash=$(nix store prefetch-file --json --hash-type sha256 \
     "https://cdn.posit.co/positron/dailies/deb/x86_64/Positron-${current_version}-x64.deb" \
     | jq -r .hash)
@@ -38,17 +38,16 @@ new_hash=$(nix store prefetch-file --json --hash-type sha256 \
 
 sed -i "s|$current_hash|$new_hash|g" $positron_nix
 
+# Update Linux aarch64 hash.
+current_hash=$(nix store prefetch-file --json --hash-type sha256 \
+    "https://cdn.posit.co/positron/dailies/deb/arm64/Positron-${current_version}-arm64.deb" \
+    | jq -r .hash)
+
+new_hash=$(nix store prefetch-file --json --hash-type sha256 \
+    "https://cdn.posit.co/positron/dailies/deb/arm64/Positron-${new_version}-arm64.deb" \
+    | jq -r .hash)
+
+sed -i "s|$current_hash|$new_hash|g" $positron_nix
+
 # Update version
 sed -i "s|$current_version|$new_version|g" $positron_nix
-
-# Attempt to build.
-export NIXPKGS_ALLOW_UNFREE=1
-
-if ! nix-build -A positron-bin "$nixpkgs"; then
-  echo "The updated positron-bin failed to build."
-  exit 1
-fi
-
-# Commit changes
-git add "$positron_nix"
-git commit -m "positron-bin: ${current_version} -> ${new_version}"
diff --git a/pkgs/by-name/po/postfix-tlspol/package.nix b/pkgs/by-name/po/postfix-tlspol/package.nix
index 8afc3bf69676..69a89a8b8319 100644
--- a/pkgs/by-name/po/postfix-tlspol/package.nix
+++ b/pkgs/by-name/po/postfix-tlspol/package.nix
@@ -2,6 +2,7 @@
   lib,
   buildGoModule,
   fetchFromGitHub,
+  nixosTests,
 }:
 
 buildGoModule rec {
@@ -22,10 +23,15 @@ buildGoModule rec {
 
   ldflags = [ "-X main.Version=${version}" ];
 
+  passthru.tests = {
+    inherit (nixosTests) postfix-tlspol;
+  };
+
   meta = {
     description = "Lightweight MTA-STS + DANE/TLSA resolver and TLS policy server for Postfix, prioritizing DANE.";
     homepage = "https://github.com/Zuplu/postfix-tlspol";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ valodim ];
+    mainProgram = "postfix-tlspol";
   };
 }
diff --git a/pkgs/by-name/po/postfix/package.nix b/pkgs/by-name/po/postfix/package.nix
index 5028c309d9b1..b435c8496caa 100644
--- a/pkgs/by-name/po/postfix/package.nix
+++ b/pkgs/by-name/po/postfix/package.nix
@@ -26,6 +26,8 @@
   libmysqlclient,
   withSQLite ? false,
   sqlite,
+  withTLSRPT ? true,
+  libtlsrpt,
 }:
 
 let
@@ -48,6 +50,7 @@ let
       "-DHAS_LDAP"
       "-DUSE_LDAP_SASL"
     ]
+    ++ lib.optional withTLSRPT "-DUSE_TLSRPT"
   );
   auxlibs = lib.concatStringsSep " " (
     [
@@ -62,6 +65,7 @@ let
     ++ lib.optional withMySQL "-lmysqlclient"
     ++ lib.optional withSQLite "-lsqlite3"
     ++ lib.optional withLDAP "-lldap"
+    ++ lib.optional withTLSRPT "-ltlsrpt"
   );
 
 in
@@ -90,7 +94,8 @@ stdenv.mkDerivation rec {
     ++ lib.optional withPgSQL libpq
     ++ lib.optional withMySQL libmysqlclient
     ++ lib.optional withSQLite sqlite
-    ++ lib.optional withLDAP openldap;
+    ++ lib.optional withLDAP openldap
+    ++ lib.optional withTLSRPT libtlsrpt;
 
   hardeningDisable = [ "format" ];
   hardeningEnable = [ "pie" ];
diff --git a/pkgs/by-name/po/postgres-lsp/package.nix b/pkgs/by-name/po/postgres-lsp/package.nix
index ef0bfcdf8cc4..17fbd0a138b7 100644
--- a/pkgs/by-name/po/postgres-lsp/package.nix
+++ b/pkgs/by-name/po/postgres-lsp/package.nix
@@ -6,18 +6,18 @@
 }:
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "postgres-lsp";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "supabase-community";
     repo = "postgres-language-server";
     tag = finalAttrs.version;
-    hash = "sha256-78DUSoJwh310TAO0a8usa6+IwZhDdOCNys9fEAky3VY=";
+    hash = "sha256-H97FC4GmUktLFhLjrgHHwmX+qu014nIw2ccVIc54GiQ=";
     fetchSubmodules = true;
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-IxVuxDauxH3AzXirJ3Zq8QLSdUL3H3j/oSGqfNs0J20=";
+  cargoHash = "sha256-P5Q6VMy5DsMDA9r28lRH4MA8ZlXN0gRVe/ICeDfvBuQ=";
 
   nativeBuildInputs = [
     rustPlatform.bindgenHook
diff --git a/pkgs/by-name/po/powerstation/package.nix b/pkgs/by-name/po/powerstation/package.nix
index 5da9d2aac8d4..38bf52981640 100644
--- a/pkgs/by-name/po/powerstation/package.nix
+++ b/pkgs/by-name/po/powerstation/package.nix
@@ -10,17 +10,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "powerstation";
-  version = "0.5.1";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "ShadowBlip";
     repo = "PowerStation";
     tag = "v${version}";
-    hash = "sha256-SrVtVeG3rcQ0Og3Vm0S1bB8zETpj1oK11KJ288I3J9M=";
+    hash = "sha256-PhGlVzSvh9y2B9PumEGDbdjvBu7fjOnJ0kc1CbQ8ds8=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-GTsYmSrr98ni8DrJ4klGb/Cph8ECc6pmJGv4WPv1Ap8=";
+  cargoHash = "sha256-WKGv7MYj/zy185B3FTf9NFUWKoj0UE/CCBEadgSkX4g=";
 
   nativeBuildInputs = [
     cmake
diff --git a/pkgs/by-name/pp/pptpd/package.nix b/pkgs/by-name/pp/pptpd/package.nix
index 75afbd812f05..86df1ced9c54 100644
--- a/pkgs/by-name/pp/pptpd/package.nix
+++ b/pkgs/by-name/pp/pptpd/package.nix
@@ -7,21 +7,17 @@
 
 stdenv.mkDerivation rec {
   pname = "pptpd";
-  version = "1.4.0";
+  version = "1.5.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/poptop/${pname}/${pname}-${version}/${pname}-${version}.tar.gz";
-    sha256 = "1h06gyxj51ba6kbbnf6hyivwjia0i6gsmjz8kyggaany8a58pkcg";
+    sha256 = "sha256-anJChLHOAOoj99dgjQgYQ6EMio2H2VHLLqhucKobTnc=";
   };
 
-  patches = [
-    ./ppp-2.5.0-compat.patch
-  ];
-
   buildInputs = [ ppp ];
 
   postPatch = ''
-    substituteInPlace plugins/Makefile --replace "install -o root" "install"
+    substituteInPlace plugins/Makefile --replace-fail "install -o root" "install"
   '';
 
   meta = with lib; {
diff --git a/pkgs/by-name/pp/pptpd/ppp-2.5.0-compat.patch b/pkgs/by-name/pp/pptpd/ppp-2.5.0-compat.patch
deleted file mode 100644
index 33c4a828067e..000000000000
--- a/pkgs/by-name/pp/pptpd/ppp-2.5.0-compat.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-diff --git a/plugins/pptpd-logwtmp.c b/plugins/pptpd-logwtmp.c
-index ac5ecc2..9745177 100644
---- a/plugins/pptpd-logwtmp.c
-+++ b/plugins/pptpd-logwtmp.c
-@@ -12,9 +12,18 @@
- #include 
- #include 
- #include 
-+
-+#define HAVE_STDARG_H 1
-+#define HAVE_STDBOOL_H 1
-+#define HAVE_STDDEF_H 1
- #include 
-+#include 
-+#include 
-+#include 
-+
-+int debug = 0;
- 
--char pppd_version[] = VERSION;
-+char pppd_version[] = PPPD_VERSION;
- 
- static char pptpd_original_ip[PATH_MAX+1];
- static bool pptpd_logwtmp_strip_domain = 0;
-@@ -42,25 +51,27 @@ static char *reduce(char *user)
- 
- static void ip_up(void *opaque, int arg)
- {
-+  char peer_authname[MAXNAMELEN];
-+  ppp_peer_authname(peer_authname, MAXNAMELEN);
-   char *user = reduce(peer_authname);
-   if (debug)
--    notice("pptpd-logwtmp.so ip-up %s %s %s", ifname, user, 
-+    notice("pptpd-logwtmp.so ip-up %s %s %s", ppp_ifname(), user, 
- 	   pptpd_original_ip);
--  logwtmp(ifname, user, pptpd_original_ip);
-+  logwtmp(ppp_ifname(), user, pptpd_original_ip);
- }
- 
- static void ip_down(void *opaque, int arg)
- {
-   if (debug) 
--    notice("pptpd-logwtmp.so ip-down %s", ifname);
--  logwtmp(ifname, "", "");
-+    notice("pptpd-logwtmp.so ip-down %s", ppp_ifname());
-+  logwtmp(ppp_ifname(), "", "");
- }
- 
- void plugin_init(void)
- {
--  add_options(options);
--  add_notifier(&ip_up_notifier, ip_up, NULL);
--  add_notifier(&ip_down_notifier, ip_down, NULL);
-+  ppp_add_options(options);
-+  ppp_add_notify(NF_IP_UP, ip_up, NULL);
-+  ppp_add_notify(NF_IP_DOWN, ip_down, NULL);
-   if (debug) 
-     notice("pptpd-logwtmp: $Version$");
- }
diff --git a/pkgs/by-name/pr/pr-tracker/package.nix b/pkgs/by-name/pr/pr-tracker/package.nix
index f929f5fdde32..3b74dcbceb81 100644
--- a/pkgs/by-name/pr/pr-tracker/package.nix
+++ b/pkgs/by-name/pr/pr-tracker/package.nix
@@ -9,15 +9,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "pr-tracker";
-  version = "1.7.0";
+  version = "1.8.0";
 
   src = fetchzip {
     url = "https://git.qyliss.net/pr-tracker/snapshot/pr-tracker-${version}.tar.xz";
-    hash = "sha256-l+bji9uJp8n4//wbbbu8vd3rDICr/XEpDs1ukHxQMcA=";
+    hash = "sha256-Trn+ogRNR23j2S+82ZqeWIZriUZ/Lv7khGBo0aiYutU=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-D8O1lFoTJOQmFsjql4qIZqA5+iCnESydDDBJiDpBnzs=";
+  cargoHash = "sha256-63Y/BXmFRbrTUBtUNP1iEk+cvSxDJG/bp8mBWQbQsh0=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [
diff --git a/pkgs/by-name/pr/precious/package.nix b/pkgs/by-name/pr/precious/package.nix
new file mode 100644
index 000000000000..6f2bbb86252c
--- /dev/null
+++ b/pkgs/by-name/pr/precious/package.nix
@@ -0,0 +1,39 @@
+{
+  lib,
+  rustPlatform,
+  fetchFromGitHub,
+  nix-update-script,
+  versionCheckHook,
+}:
+
+rustPlatform.buildRustPackage (finalAttrs: {
+  pname = "precious";
+  version = "0.9.0";
+
+  src = fetchFromGitHub {
+    owner = "houseabsolute";
+    repo = "precious";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-moJk8bwMlYtfo+Iq/OcjJkQJQiirZ6oKSoATpW3KcQI=";
+  };
+
+  useFetchCargoVendor = true;
+  cargoHash = "sha256-nvHP5/njvkXcI3QtFU4CijXaX5l4DabMMVzvktvFNvA=";
+
+  nativeInstallCheckInputs = [ versionCheckHook ];
+  doInstallCheck = true;
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    description = "One code quality tool to rule them all";
+    homepage = "https://github.com/houseabsolute/precious";
+    changelog = "https://github.com/houseabsolute/precious/releases/tag/v${finalAttrs.version}";
+    mainProgram = "precious";
+    maintainers = with lib.maintainers; [ abhisheksingh0x558 ];
+    license = with lib.licenses; [
+      mit # or
+      asl20
+    ];
+  };
+})
diff --git a/pkgs/by-name/pr/prefect/package.nix b/pkgs/by-name/pr/prefect/package.nix
index 7d566da9aea9..752b6d9f8baf 100644
--- a/pkgs/by-name/pr/prefect/package.nix
+++ b/pkgs/by-name/pr/prefect/package.nix
@@ -8,7 +8,7 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "prefect";
-  version = "3.4.2";
+  version = "3.4.5";
   pyproject = true;
 
   # Trying to install from source is challenging
@@ -17,7 +17,7 @@ python3Packages.buildPythonApplication rec {
   # Source will be missing sdist, uv.lock, ui artefacts ...
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-BORFXIikiX5Cu1rT8jUijkjAnncTACr8lEs/k2fC5Mk=";
+    hash = "sha256-jS/r5LskvgWLIiMSVMM6jgxVbuolI+w+g5Xq/xPYXOU=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/by-name/pr/pretalx/package.nix b/pkgs/by-name/pr/pretalx/package.nix
index 95ba528c9aec..20a38795168a 100644
--- a/pkgs/by-name/pr/pretalx/package.nix
+++ b/pkgs/by-name/pr/pretalx/package.nix
@@ -12,7 +12,7 @@ let
   python = python3.override {
     self = python;
     packageOverrides = final: prev: {
-      django = prev.django_5;
+      django = prev.django_5_1;
 
       django-extensions = prev.django-extensions.overridePythonAttrs {
         # Compat issues with Django 5.1
diff --git a/pkgs/by-name/pr/primecount/package.nix b/pkgs/by-name/pr/primecount/package.nix
index 3615b902593b..38079c9016cf 100644
--- a/pkgs/by-name/pr/primecount/package.nix
+++ b/pkgs/by-name/pr/primecount/package.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "primecount";
-  version = "7.18";
+  version = "7.19";
 
   src = fetchFromGitHub {
     owner = "kimwalisch";
     repo = "primecount";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-iVRkgVeNO0AxwfyM9Dw5B0GoAf4GlrTtC+1npKlaV3E=";
+    hash = "sha256-prPNAmMSiZD1EbMyPSD6OmjFn/NQ7ULVxBM1AjCYWPo=";
   };
 
   outputs = [
diff --git a/pkgs/by-name/pr/prisma-engines/package.nix b/pkgs/by-name/pr/prisma-engines/package.nix
index 86518ccecf5c..9e7f036ee8e6 100644
--- a/pkgs/by-name/pr/prisma-engines/package.nix
+++ b/pkgs/by-name/pr/prisma-engines/package.nix
@@ -63,6 +63,8 @@ rustPlatform.buildRustPackage rec {
   # Tests are long to compile
   doCheck = false;
 
+  setupHook = ./setup-hook.sh;
+
   meta = with lib; {
     description = "Collection of engines that power the core stack for Prisma";
     homepage = "https://www.prisma.io/";
diff --git a/pkgs/by-name/pr/prisma-engines/setup-hook.sh b/pkgs/by-name/pr/prisma-engines/setup-hook.sh
new file mode 100644
index 000000000000..9579b47666bf
--- /dev/null
+++ b/pkgs/by-name/pr/prisma-engines/setup-hook.sh
@@ -0,0 +1,4 @@
+export PRISMA_SCHEMA_ENGINE_BINARY="@out@/bin/schema-engine"
+export PRISMA_QUERY_ENGINE_BINARY="@out@/bin/query-engine"
+export PRISMA_QUERY_ENGINE_LIBRARY="@out@/lib/libquery_engine.node"
+export PRISMA_FMT_BINARY="@out@/bin/prisma-fmt"
diff --git a/pkgs/by-name/pr/pritunl-client/package.nix b/pkgs/by-name/pr/pritunl-client/package.nix
index d4177d008d9b..9698f60ab9d9 100644
--- a/pkgs/by-name/pr/pritunl-client/package.nix
+++ b/pkgs/by-name/pr/pritunl-client/package.nix
@@ -19,12 +19,12 @@
   electron,
 }:
 let
-  version = "1.3.4220.57";
+  version = "1.3.4275.94";
   src = fetchFromGitHub {
     owner = "pritunl";
     repo = "pritunl-client-electron";
     rev = version;
-    sha256 = "sha256-AqolwsGHDxVQMjgQdWz24BmM+uMT/XII1vtDjA3fFcQ=";
+    sha256 = "sha256-a1arRI4qQy5niKV8JAyusAjheMa/LtEXPZGhngsH+TU=";
   };
 
   cli = buildGoModule {
@@ -32,7 +32,7 @@ let
     inherit version src;
 
     modRoot = "cli";
-    vendorHash = "sha256-wwPgyIo14zpA+oCJH0CQ4+7zyP+Itxbd6S0P7t01wBw=";
+    vendorHash = "sha256-xozdrNKBgrrCZ5WYHGWKOuuGrEhx/VzOKLZTGq3scoo=";
 
     postInstall = ''
       mv $out/bin/cli $out/bin/pritunl-client
@@ -45,7 +45,7 @@ let
     inherit version src;
 
     modRoot = "service";
-    vendorHash = "sha256-WWvROYvw8JuidZHKOO0xiNcxlyRCZkw9j/eI6C5HJhU=";
+    vendorHash = "sha256-3dgBiCqWj+nwWn9mFARBKIpgjn2aJYvVUrqMIzhToQs=";
 
     nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/by-name/pr/process-compose/package.nix b/pkgs/by-name/pr/process-compose/package.nix
index 63ff211b5f48..5909434207a1 100644
--- a/pkgs/by-name/pr/process-compose/package.nix
+++ b/pkgs/by-name/pr/process-compose/package.nix
@@ -2,6 +2,7 @@
   lib,
   buildGoModule,
   fetchFromGitHub,
+  fetchpatch2,
   installShellFiles,
 }:
 
@@ -29,6 +30,15 @@ buildGoModule rec {
     '';
   };
 
+  patches = [
+    # Fix a linker issue with dlopen on x86_64-darwin
+    # https://github.com/f1bonacc1/process-compose/pull/342
+    (fetchpatch2 {
+      url = "https://github.com/F1bonacc1/process-compose/commit/af82749c5dacaa20f2c3b07ca4e081d1b38e40c4.patch";
+      hash = "sha256-5Hgvwn2GEp/lINPefxXdJUGb2TJfufqAPm+/3gdi6XY=";
+    })
+  ];
+
   # ldflags based on metadata from git and source
   preBuild = ''
     ldflags+=" -X ${config-module}.Commit=$(cat COMMIT)"
@@ -45,7 +55,7 @@ buildGoModule rec {
     installShellFiles
   ];
 
-  vendorHash = "sha256-NEKHTSLEF8jBSmAnHq/q+kyV8vPz3DTNj4Jquf5rnso=";
+  vendorHash = "sha256-qkfJo+QGqcqiZMLuWbj0CpgRWxbqTu6DGAW8pBu4O/0=";
 
   doCheck = false;
 
diff --git a/pkgs/by-name/pr/prometheus-chrony-exporter/package.nix b/pkgs/by-name/pr/prometheus-chrony-exporter/package.nix
index 49b2d5bb5506..879b2286c444 100644
--- a/pkgs/by-name/pr/prometheus-chrony-exporter/package.nix
+++ b/pkgs/by-name/pr/prometheus-chrony-exporter/package.nix
@@ -7,13 +7,13 @@
 }:
 buildGoModule (finalAttrs: {
   pname = "prometheus-chrony-exporter";
-  version = "0.12.0";
+  version = "0.12.1";
 
   src = fetchFromGitHub {
     owner = "superq";
     repo = "chrony_exporter";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-W7MWshRuQdbxLm0XKkTHXN+pjwoX7wnCtjaeXyszr/Q=";
+    hash = "sha256-8iuWL6/urv8sf86Z8ySGx+2zzDPqOj7OcYcTubL9LK8=";
     leaveDotGit = true;
     postFetch = ''
       cd "$out"
@@ -36,7 +36,7 @@ buildGoModule (finalAttrs: {
     "-X github.com/prometheus/common/version.BuildUser=nix@nixpkgs"
   ];
 
-  vendorHash = "sha256-3zL7BrCdMVnt7F1FiZ2eQnKVhmCeW3aYKKX9v01ms/k=";
+  vendorHash = "sha256-TAj7tYDFKPsPCHpWT4UQ3oZkUcLbL4iliXghwZqwuC8=";
 
   passthru.updateScript = nix-update-script { };
 
diff --git a/pkgs/by-name/pr/prometheus-frr-exporter/package.nix b/pkgs/by-name/pr/prometheus-frr-exporter/package.nix
index b5b6a17f96d7..36910ca276c9 100644
--- a/pkgs/by-name/pr/prometheus-frr-exporter/package.nix
+++ b/pkgs/by-name/pr/prometheus-frr-exporter/package.nix
@@ -5,12 +5,12 @@
 }:
 
 let
-  version = "1.6.0";
+  version = "1.7.0";
   src = fetchFromGitHub {
     owner = "tynany";
     repo = "frr_exporter";
     rev = "v${version}";
-    hash = "sha256-Dk8YcaUzpM65WlSTJojVZb3IDGIZ7DGWOstRgyA/sYw=";
+    hash = "sha256-F3N2TJmcFxks2yP52yzeWfiVwQQO54EDAdzUCqXVrbM=";
   };
 in
 buildGoModule {
diff --git a/pkgs/by-name/pr/prometheus/package.nix b/pkgs/by-name/pr/prometheus/package.nix
index 10466580c2a7..1cb93d15602e 100644
--- a/pkgs/by-name/pr/prometheus/package.nix
+++ b/pkgs/by-name/pr/prometheus/package.nix
@@ -137,7 +137,6 @@ buildGoModule (finalAttrs: {
     license = licenses.asl20;
     maintainers = with maintainers; [
       fpletz
-      willibutz
       Frostman
     ];
   };
diff --git a/pkgs/by-name/pr/proto/package.nix b/pkgs/by-name/pr/proto/package.nix
index 7c63991f9c62..7d022fe28934 100644
--- a/pkgs/by-name/pr/proto/package.nix
+++ b/pkgs/by-name/pr/proto/package.nix
@@ -10,17 +10,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "proto";
-  version = "0.49.1";
+  version = "0.50.0";
 
   src = fetchFromGitHub {
     owner = "moonrepo";
     repo = "proto";
     rev = "v${version}";
-    hash = "sha256-VtU59YvNqpHvZ1WRj87Heo8RDyCOzleB+odE4DOQYag=";
+    hash = "sha256-ilbqT5826FB20uCzt2a6QYCD2rDNto7nxz1mjHGDbAA=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-wPB4YBNzDg9eoVCY4bbbvKu171Qdh7JJZIT9rD5hVdI=";
+  cargoHash = "sha256-bAsFzu1RzOMufFb2WCRd0pDl8O8eVsoZn79BPWql1xg=";
 
   buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
     libiconv
diff --git a/pkgs/by-name/pr/protoc-gen-grpc-java/hashes.nix b/pkgs/by-name/pr/protoc-gen-grpc-java/hashes.nix
new file mode 100644
index 000000000000..da9182e6d068
--- /dev/null
+++ b/pkgs/by-name/pr/protoc-gen-grpc-java/hashes.nix
@@ -0,0 +1,11 @@
+{
+  linux-aarch_64 = "sha256-sgdZoaSM7LgK4DbbKPJO3FdBA37YAX86meaKDLQiOmg=";
+  linux-ppcle_64 = "sha256-k4nQGJNwtd8W4nJLyWPRhqjikczy7p7ffDIrWxkcUTA=";
+  linux-s390_64 = "sha256-fcuNlJeUmduFzqt5WaefYk3lFVmdHeSFIEkbwT2I1O0=";
+  linux-x86_32 = "sha256-KNvqGkeERd2UxzhjO/Fp6Uv7DGBt15rPGviRmH7pmno=";
+  linux-x86_64 = "sha256-7LI115E3BOz3jnHavkQBbN0hsjKuSbnXNAjXFw/D14I=";
+  osx-aarch_64 = "sha256-gAo2bcsivjDVFX5cUvzngoHgqTAPt+3Hiuynd17/KTo=";
+  osx-x86_64 = "sha256-gAo2bcsivjDVFX5cUvzngoHgqTAPt+3Hiuynd17/KTo=";
+  windows-x86_32 = "sha256-ERbksXFy4AFhZSFG9G4AMOi68EzEScBvDJFF9+rnPnU=";
+  windows-x86_64 = "sha256-wZU6on7A84fPm8xwD8pBgSk8+fkB14LdvWZXEniz8LU=";
+}
diff --git a/pkgs/by-name/pr/protoc-gen-grpc-java/package.nix b/pkgs/by-name/pr/protoc-gen-grpc-java/package.nix
new file mode 100644
index 000000000000..277a914bfc7b
--- /dev/null
+++ b/pkgs/by-name/pr/protoc-gen-grpc-java/package.nix
@@ -0,0 +1,90 @@
+{
+  lib,
+  stdenv,
+  fetchurl,
+  makeWrapper,
+  autoPatchelfHook,
+}:
+let
+  hostArch =
+    let
+      platform = stdenv.hostPlatform;
+      os =
+        if platform.isLinux then
+          "linux"
+        else if platform.isDarwin then
+          "osx"
+        else if platform.isWindows then
+          "windows"
+        else
+          throw "Unsupoprted OS \"${platform.parsed.kernel.name}\"";
+      arch =
+        if platform.isx86_32 then
+          "x86_32"
+        else if platform.isx86_64 then
+          "x86_64"
+        else if platform.isAarch64 then
+          "aarch_64"
+        else if platform.isPower64 && platform.isLittleEndian then
+          "ppcle_64"
+        else if platform.isS390x then
+          "s390_64"
+        else
+          throw "Unsupported CPU \"${platform.parsed.cpu.name}\"";
+    in
+    "${os}-${arch}";
+in
+stdenv.mkDerivation (finalAttrs: {
+  pname = "protoc-gen-grpc-java";
+  version = "1.73.0";
+  src = fetchurl {
+    url = "https://repo1.maven.org/maven2/io/grpc/protoc-gen-grpc-java/${finalAttrs.version}/protoc-gen-grpc-java-${finalAttrs.version}-${hostArch}.exe";
+    hash = (import ./hashes.nix).${hostArch} or (throw "Unsuported host arch ${hostArch}");
+  };
+  dontUnpack = true;
+  dontConfigure = true;
+  dontBuild = true;
+
+  nativeBuildInputs = [
+    makeWrapper
+    autoPatchelfHook
+  ];
+  buildInputs = [ stdenv.cc.cc ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -D $src $out/bin/protoc-gen-grpc-java
+
+    runHook postInstall
+  '';
+
+  passthru.updateScript = ./update.sh;
+
+  meta = {
+    description = "gRPC Java Codegen Plugin for Protobuf Compiler";
+    longDescription = ''
+      This generates the Java interfaces out of the service definition from a `.proto` file.
+      It works with the Protobuf Compiler (`protoc`).
+    '';
+    changelog = "https://github.com/grpc/grpc-java/releases/tag/v${finalAttrs.version}";
+    sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
+    license = lib.licenses.asl20;
+    maintainers = [ lib.maintainers.progrm_jarvis ];
+    homepage = "https://grpc.io/docs/languages/java/generated-code/";
+    platforms = [
+      # Linux
+      "x86_64-linux"
+      "i686-linux"
+      "aarch64-linux"
+      "powerpc64le-linux"
+      "s390x-linux"
+      # Darwin
+      "x86_64-darwin"
+      "aarch64-darwin"
+      # Windows
+      "x86_64-windows"
+      "i686-windows"
+    ];
+  };
+})
diff --git a/pkgs/by-name/pr/protoc-gen-grpc-java/update.sh b/pkgs/by-name/pr/protoc-gen-grpc-java/update.sh
new file mode 100755
index 000000000000..a7e62e72cea1
--- /dev/null
+++ b/pkgs/by-name/pr/protoc-gen-grpc-java/update.sh
@@ -0,0 +1,33 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl jq gnused nix
+
+set -euo pipefail
+
+ARCHS=(
+  'linux-aarch_64'
+  'linux-ppcle_64'
+  'linux-s390_64'
+  'linux-x86_32'
+  'linux-x86_64'
+  'osx-aarch_64'
+  'osx-x86_64'
+  'windows-x86_32'
+  'windows-x86_64'
+)
+HASHES_FILE=pkgs/by-name/pr/protoc-gen-grpc-java/hashes.nix
+
+version="$(
+  curl --silent --location --fail \
+    ${GITHUB_TOKEN:+-u ":${GITHUB_TOKEN}"} \
+    https://api.github.com/repos/grpc/grpc-java/releases/latest |
+    jq -r '.tag_name' |
+    sed 's/^v//'
+)"
+
+echo '{' >"${HASHES_FILE}"
+for arch in "${ARCHS[@]}"; do
+  url="https://repo1.maven.org/maven2/io/grpc/protoc-gen-grpc-java/${version}/protoc-gen-grpc-java-${version}-${arch}.exe"
+  hash=$(nix hash convert --hash-algo sha256 --to sri "$(nix-prefetch-url "${url}")")
+  echo "  ${arch} = \"${hash}\";" >>"${HASHES_FILE}"
+done
+echo '}' >>"${HASHES_FILE}"
diff --git a/pkgs/by-name/pr/protols/package.nix b/pkgs/by-name/pr/protols/package.nix
index 3b9043a35f16..7a0c870f9155 100644
--- a/pkgs/by-name/pr/protols/package.nix
+++ b/pkgs/by-name/pr/protols/package.nix
@@ -6,17 +6,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "protols";
-  version = "0.12.5";
+  version = "0.12.7";
 
   src = fetchFromGitHub {
     owner = "coder3101";
     repo = "protols";
     tag = version;
-    hash = "sha256-zs78TKZU35UGAmEXK3EA9B6zRCqeCtNexHVAJERKyX8=";
+    hash = "sha256-3XTFKqUPXW7Zm9IruePxq8uY1H/axuE1h22cqQj/YGg=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-Lh6KJ5zclT650tPIpMJBALLj4gnis+fglhewiZ5mpMs=";
+  cargoHash = "sha256-19CNMaDVI804ekxrmUjbx9WmqsG91rviLTsvFtN+D/o=";
 
   meta = {
     description = "Protocol Buffers language server written in Rust";
diff --git a/pkgs/by-name/pr/protonmail-bridge/package.nix b/pkgs/by-name/pr/protonmail-bridge/package.nix
index a3048d79f695..eb293344ee7a 100644
--- a/pkgs/by-name/pr/protonmail-bridge/package.nix
+++ b/pkgs/by-name/pr/protonmail-bridge/package.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "protonmail-bridge";
-  version = "3.20.0";
+  version = "3.21.1";
 
   src = fetchFromGitHub {
     owner = "ProtonMail";
     repo = "proton-bridge";
     rev = "v${version}";
-    hash = "sha256-Vd7r3devsWGyqFLAoNzUT0hu9oWcDA9XPTTgSUfr17c=";
+    hash = "sha256-HGBECDidHFixFOb/ze+3elckpt1JghEtPbWHq7QU1Qg=";
   };
 
-  vendorHash = "sha256-KXq2KIVHCaY/b1nT+GMBY8pT4GLl9l6sT2RiNIH/6Wo=";
+  vendorHash = "sha256-aW7N6uacoP99kpvw9E5WrHaQ0fZ4P5WGsNvR/FAZ+cA=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/by-name/pr/protonplus/package.nix b/pkgs/by-name/pr/protonplus/package.nix
index f77f888f9016..59bc821e8d45 100644
--- a/pkgs/by-name/pr/protonplus/package.nix
+++ b/pkgs/by-name/pr/protonplus/package.nix
@@ -20,13 +20,13 @@
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "protonplus";
-  version = "0.4.31";
+  version = "0.4.32";
 
   src = fetchFromGitHub {
     owner = "Vysp3r";
     repo = "protonplus";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-5UwgRvApKjMML5lx/UF7YHsXts4nQlg3GheAykN1f3E=";
+    hash = "sha256-5oabE5BR5PFDpxLu9Q9s0E18Aq45TQZA/+QFubfwiu0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/pr/protonup-rs/package.nix b/pkgs/by-name/pr/protonup-rs/package.nix
new file mode 100644
index 000000000000..571e8058092a
--- /dev/null
+++ b/pkgs/by-name/pr/protonup-rs/package.nix
@@ -0,0 +1,35 @@
+{
+  lib,
+  rustPlatform,
+  fetchCrate,
+}:
+
+rustPlatform.buildRustPackage (finalAttrs: {
+  pname = "protonup-rs";
+  version = "0.9.0";
+
+  src = fetchCrate {
+    inherit (finalAttrs) pname version;
+    hash = "sha256-OVdoXe83lH6wjYb36tT4P3sG1w6NdWhRYC0L3v8USs4=";
+  };
+
+  useFetchCargoVendor = true;
+  cargoHash = "sha256-qESp4z3HRe414Ro04NuiVNy0j/zJUmII4Gbacs3Bc48=";
+
+  checkFlags = [
+    # Requires internet access
+    "--skip=downloads::tests"
+  ];
+
+  meta = {
+    description = "Rust app to install and update GE-Proton for Steam, and Wine-GE for Lutris";
+    homepage = "https://github.com/auyer/Protonup-rs";
+    changelog = "https://github.com/auyer/Protonup-rs/releases/tag/v${finalAttrs.version}";
+    platforms = lib.platforms.linux;
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [
+      joshprk
+    ];
+    mainProgram = "protonup-rs";
+  };
+})
diff --git a/pkgs/by-name/pr/prowler/package.nix b/pkgs/by-name/pr/prowler/package.nix
index 22f67824b1e3..4da8bcf1db55 100644
--- a/pkgs/by-name/pr/prowler/package.nix
+++ b/pkgs/by-name/pr/prowler/package.nix
@@ -21,14 +21,14 @@ let
 in
 py.pkgs.buildPythonApplication rec {
   pname = "prowler";
-  version = "5.7.2";
+  version = "5.7.4";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "prowler-cloud";
     repo = "prowler";
     tag = version;
-    hash = "sha256-yVUZsH/hLl/VCbLdaMujIl6NT6FzgkPfhpcOrQMcHGk=";
+    hash = "sha256-SC3C8JSe0n8aHwP8gelh+tDrLO6HiGN+7/Rcxhwr6Ec=";
   };
 
   pythonRelaxDeps = true;
diff --git a/pkgs/by-name/pr/proxmox-backup-client/package.nix b/pkgs/by-name/pr/proxmox-backup-client/package.nix
index e19b41c293c6..6bd8a0e52de4 100644
--- a/pkgs/by-name/pr/proxmox-backup-client/package.nix
+++ b/pkgs/by-name/pr/proxmox-backup-client/package.nix
@@ -3,19 +3,15 @@
   fetchgit,
   fetchFromGitHub,
   rustPlatform,
-  pkg-config,
   pkgconf,
   openssl,
   fuse3,
   libuuid,
   acl,
   libxcrypt,
-  git,
   installShellFiles,
   sphinx,
-  systemd,
   stdenv,
-  fetchpatch,
   versionCheckHook,
 }:
 
@@ -113,12 +109,19 @@ rustPlatform.buildRustPackage {
 
     cp ${./Cargo.lock} Cargo.lock
     rm .cargo/config.toml
+
+    # avoid some unnecessary dependendcies, stemming from greedy linkage by rustc
+    # see also upstream Makefile for similar workaround
+    mkdir -p .dep-stubs
+    echo '!' >.dep-stubs/libsystemd.a
+    echo '!' >.dep-stubs/libuuid.a
+    echo '!' >.dep-stubs/libcrypt.a
   '';
 
   postBuild = ''
     make -C docs \
       DEB_VERSION=${version} DEB_VERSION_UPSTREAM=${version} \
-      RUSTC_TARGET=${stdenv.hostPlatform.config} \
+      RUSTC_TARGET=${stdenv.targetPlatform.rust.rustcTarget} \
       BUILD_MODE=release \
       proxmox-backup-client.1 pxar.1
   '';
@@ -147,25 +150,28 @@ rustPlatform.buildRustPackage {
     "--bin=pxar"
   ];
 
+  RUSTFLAGS = [ "-L.dep-stubs" ];
+
   doCheck = false;
 
+  # pbs-buildcfg requires this set, would be the git commit id
+  REPOID = "";
+
   nativeBuildInputs = [
-    git
-    pkg-config
     pkgconf
     rustPlatform.bindgenHook
     installShellFiles
     sphinx
   ];
+
   buildInputs = [
     openssl
     fuse3
-    libuuid
     acl
-    libxcrypt
-    systemd.dev
   ];
 
+  strictDeps = true;
+
   doInstallCheck = true;
   nativeInstallCheckInputs = [ versionCheckHook ];
   versionCheckProgramArg = "version";
diff --git a/pkgs/by-name/pr/proxsuite/package.nix b/pkgs/by-name/pr/proxsuite/package.nix
index ae499019b099..18355cfdf313 100644
--- a/pkgs/by-name/pr/proxsuite/package.nix
+++ b/pkgs/by-name/pr/proxsuite/package.nix
@@ -2,39 +2,37 @@
   lib,
   stdenv,
   fetchFromGitHub,
-  fetchpatch,
-  cereal_1_3_2,
-  cmake,
-  doxygen,
-  eigen,
   fontconfig,
-  graphviz,
-  jrl-cmakemodules,
-  simde,
-  matio,
+  nix-update-script,
   pythonSupport ? false,
   python3Packages,
+
+  # nativeBuildInputs
+  cmake,
+  doxygen,
+  graphviz,
+
+  # propagatedBuildInputs
+  cereal_1_3_2,
+  eigen,
+  jrl-cmakemodules,
+  simde,
+
+  # checkInputs
+  matio,
+
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "proxsuite";
-  version = "0.6.7";
+  version = "0.7.2";
 
   src = fetchFromGitHub {
     owner = "simple-robotics";
     repo = "proxsuite";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-iKc55WDHArmmIM//Wir6FHrNV84HnEDcBUlwnsbtMME=";
+    hash = "sha256-1+a5tFOlEwzhGZtll35EMFceD0iUOOQCbwJd9NcFDlk=";
   };
 
-  patches = [
-    # Fix use of system cereal
-    # This was merged upstream and can be removed on next release
-    (fetchpatch {
-      url = "https://github.com/Simple-Robotics/proxsuite/pull/352/commits/8305864f13ca7dff7210f89004a56652b71f8891.patch";
-      hash = "sha256-XMS/zHFVrEp1P6aDlGrLbrcmuKq42+GdZRH9ObewNCY=";
-    })
-  ];
-
   outputs = [
     "doc"
     "out"
@@ -52,17 +50,24 @@ stdenv.mkDerivation (finalAttrs: {
 
   strictDeps = true;
 
-  nativeBuildInputs = [
-    cmake
-    doxygen
-    graphviz
-  ] ++ lib.optional pythonSupport python3Packages.pythonImportsCheckHook;
+  nativeBuildInputs =
+    [
+      cmake
+      doxygen
+      graphviz
+    ]
+    ++ lib.optionals pythonSupport [
+      python3Packages.python
+      python3Packages.pythonImportsCheckHook
+    ];
+
   propagatedBuildInputs = [
     cereal_1_3_2
     eigen
     jrl-cmakemodules
     simde
-  ] ++ lib.optionals pythonSupport [ python3Packages.pybind11 ];
+  ] ++ lib.optionals pythonSupport [ python3Packages.nanobind ];
+
   checkInputs =
     [ matio ]
     ++ lib.optionals pythonSupport [
@@ -85,11 +90,13 @@ stdenv.mkDerivation (finalAttrs: {
   doCheck = true;
   pythonImportsCheck = [ "proxsuite" ];
 
+  passthru.updateScript = nix-update-script { };
+
   meta = {
     description = "Advanced Proximal Optimization Toolbox";
     homepage = "https://github.com/Simple-Robotics/proxsuite";
     license = lib.licenses.bsd2;
     maintainers = with lib.maintainers; [ nim65s ];
-    platforms = lib.platforms.unix;
+    platforms = lib.platforms.unix ++ lib.platforms.windows;
   };
 })
diff --git a/pkgs/by-name/pr/prr/package.nix b/pkgs/by-name/pr/prr/package.nix
index d16e452b3a9c..35019db6147a 100644
--- a/pkgs/by-name/pr/prr/package.nix
+++ b/pkgs/by-name/pr/prr/package.nix
@@ -4,26 +4,29 @@
   fetchFromGitHub,
   openssl,
   pkg-config,
+  cacert,
 }:
-
 rustPlatform.buildRustPackage rec {
   pname = "prr";
-  version = "0.17.0";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "danobi";
     repo = "prr";
     rev = "v${version}";
-    hash = "sha256-siQZ3rDKv2lnn1bmisRsexWwfvmMhK+z4GZGPsrfPgc=";
+    hash = "sha256-duoC3TMgW+h5OrRCbqYPppMtnQBfS9R7ZpHQySgPRv4=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-VIJFr1HpXMC2DXt79Yb1DuLYSbo9g6zsXaNDTXjtlR4=";
+  cargoHash = "sha256-W66kbTk0IAThl2H35EYuXr6UAyWfhmV0DxpnABhppSQ=";
 
   buildInputs = [ openssl ];
 
   nativeBuildInputs = [ pkg-config ];
 
+  SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
+  checkInputs = [ cacert ];
+
   meta = with lib; {
     description = "Tool that brings mailing list style code reviews to Github PRs";
     homepage = "https://github.com/danobi/prr";
diff --git a/pkgs/by-name/ps/pscale/package.nix b/pkgs/by-name/ps/pscale/package.nix
index bfa65a34d437..f00cb0548c6e 100644
--- a/pkgs/by-name/ps/pscale/package.nix
+++ b/pkgs/by-name/ps/pscale/package.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "pscale";
-  version = "0.243.0";
+  version = "0.245.0";
 
   src = fetchFromGitHub {
     owner = "planetscale";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-/ElqKIwaRT7y0i+nWgVKRm70CFOt2QVNdZiJotYObGY=";
+    sha256 = "sha256-MteLIvdf9mGjtIGTtX041yyif4ByPOlsqD34j704VOY=";
   };
 
-  vendorHash = "sha256-FqKAQxb6kEE5dm1V+RZBP1Jv5q4TC1MEfexTUjI+u6c=";
+  vendorHash = "sha256-Mu1uM7uWFTXpmDcwhwpv5l0ZGAo41yFAhOJyOeLacAk=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/pt/ptouch-driver/package.nix b/pkgs/by-name/pt/ptouch-driver/package.nix
index 149215771fbe..f29332253e25 100644
--- a/pkgs/by-name/pt/ptouch-driver/package.nix
+++ b/pkgs/by-name/pt/ptouch-driver/package.nix
@@ -5,7 +5,6 @@
   cups,
   cups-filters,
   foomatic-db-engine,
-  fetchpatch,
   ghostscript,
   libpng,
   libxml2,
@@ -16,24 +15,15 @@
 
 stdenv.mkDerivation rec {
   pname = "ptouch-driver";
-  version = "1.7";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner = "philpem";
     repo = "printer-driver-ptouch";
     rev = "v${version}";
-    hash = "sha256-3ZotSHn7lERp53hAzx47Ct/k565rEoensCcltwX/Xls=";
+    hash = "sha256-MVvtfos2ze6uXFg8sEH1UlJ9gg4iq91dLK0k0xuTE1Y=";
   };
 
-  patches = [
-    # Fixes some invalid XML file that otherwise causes a build failure
-    (fetchpatch {
-      name = "fix-brother-ql-600.patch";
-      url = "https://github.com/philpem/printer-driver-ptouch/commit/b3c53b3bc4dd98ed172f2c79405c7c09b3b3836a.patch";
-      hash = "sha256-y5bHKFeRXx8Wdl1++l4QNGgiY41LY5uzrRdOlaZyF9I=";
-    })
-  ];
-
   buildInputs = [
     cups
     cups-filters
diff --git a/pkgs/by-name/pu/pulseaudio-ctl/package.nix b/pkgs/by-name/pu/pulseaudio-ctl/package.nix
index da9c2d5757da..03a40c350078 100644
--- a/pkgs/by-name/pu/pulseaudio-ctl/package.nix
+++ b/pkgs/by-name/pu/pulseaudio-ctl/package.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   src = fetchFromGitHub {
     owner = "graysky2";
-    repo = pname;
+    repo = "pulseaudio-ctl";
     rev = "v${version}";
     sha256 = "sha256-ZB1jrr31PF7+vNB+Xo5CATJmYbuDAPwewpDxCVnAowY=";
   };
diff --git a/pkgs/by-name/pu/pulseaudio-module-xrdp/package.nix b/pkgs/by-name/pu/pulseaudio-module-xrdp/package.nix
index c25bb4d5bbb3..59277b7cb925 100644
--- a/pkgs/by-name/pu/pulseaudio-module-xrdp/package.nix
+++ b/pkgs/by-name/pu/pulseaudio-module-xrdp/package.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   src = fetchFromGitHub {
     owner = "neutrinolabs";
-    repo = pname;
+    repo = "pulseaudio-module-xrdp";
     rev = "v${version}";
     hash = "sha256-R1ZPifEjlueTJma6a0UiGdiNwTSa5+HnW4w9qGrauxE=";
   };
diff --git a/pkgs/by-name/pu/pulsemeeter/package.nix b/pkgs/by-name/pu/pulsemeeter/package.nix
new file mode 100644
index 000000000000..ad05055892ad
--- /dev/null
+++ b/pkgs/by-name/pu/pulsemeeter/package.nix
@@ -0,0 +1,61 @@
+{
+  lib,
+  python3Packages,
+  fetchFromGitHub,
+  libpulseaudio,
+  libappindicator,
+  gobject-introspection,
+  wrapGAppsHook3,
+  callPackage,
+  bash,
+}:
+python3Packages.buildPythonApplication rec {
+  pname = "pulsemeeter";
+  version = "1.2.14";
+
+  src = fetchFromGitHub {
+    owner = "theRealCarneiro";
+    repo = "pulsemeeter";
+    tag = "v${version}";
+    hash = "sha256-QTXVE5WvunsjLS8I1rgX34BW1mT1UY+cRxURwXiQp5A=";
+  };
+
+  build-system = with python3Packages; [
+    setuptools
+  ];
+
+  dependencies = with python3Packages; [
+    pulsectl
+    pygobject3
+  ];
+
+  nativeBuildInputs = [
+    wrapGAppsHook3
+    gobject-introspection
+  ];
+
+  buildInputs = [
+    libappindicator
+    libpulseaudio
+    bash
+  ];
+
+  makeWrapperArgs = [
+    "\${gappsWrapperArgs[@]}"
+  ];
+
+  dontWrapGApps = true;
+
+  passthru.tests.version = callPackage ./version-test.nix { inherit version; };
+
+  meta = {
+    description = "Frontend of pulseaudio's routing capabilities, mimicking voicemeeter's workflow";
+    license = lib.licenses.mit;
+    homepage = "https://github.com/theRealCarneiro/pulsemeeter";
+    maintainers = with lib.maintainers; [
+      therobot2105
+    ];
+    mainProgram = "pulsemeeter";
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/pkgs/by-name/pu/pulsemeeter/version-test.nix b/pkgs/by-name/pu/pulsemeeter/version-test.nix
new file mode 100644
index 000000000000..4561918f144c
--- /dev/null
+++ b/pkgs/by-name/pu/pulsemeeter/version-test.nix
@@ -0,0 +1,33 @@
+{
+  pkgs,
+  version,
+}:
+pkgs.testers.runNixOSTest {
+  name = "pulsemeeter-version";
+
+  nodes.machine =
+    { config, pkgs, ... }:
+    {
+      services.pulseaudio.enable = true;
+      services.pulseaudio.systemWide = true;
+      users.users.alice = {
+        isNormalUser = true;
+        password = "foo";
+        extraGroups = [
+          "wheel"
+          "pulse-access"
+        ];
+        packages = with pkgs; [
+          pulsemeeter
+        ];
+      };
+    };
+
+  testScript = ''
+    machine.wait_for_unit("default.target")
+    machine.succeed("su -- root -c 'systemctl start pulseaudio'")
+    machine.succeed("su -- alice -c 'mkdir -p /home/alice/.config/pulsemeeter'")
+    version = machine.execute("su -- alice -c 'pulsemeeter -s | head -n 4 | tail -n 1'")
+    assert version == (0, 'Pulsemeeter version: \x1b[1m${version}\x1b[0m\n')
+  '';
+}
diff --git a/pkgs/by-name/pu/pulumi-esc/package.nix b/pkgs/by-name/pu/pulumi-esc/package.nix
index e40f234c099d..bd54aa7791ab 100644
--- a/pkgs/by-name/pu/pulumi-esc/package.nix
+++ b/pkgs/by-name/pu/pulumi-esc/package.nix
@@ -6,18 +6,18 @@
 
 buildGoModule rec {
   pname = "pulumi-esc";
-  version = "0.14.2";
+  version = "0.14.3";
 
   src = fetchFromGitHub {
     owner = "pulumi";
     repo = "esc";
     rev = "v${version}";
-    hash = "sha256-vJDhuxbnbDevHeOqS8Mnl3hjNx4Fjw3Ab0ZXa4wJRGA=";
+    hash = "sha256-1evdRUCwK/7yffqXtnWM2iyymeije6AeCD/FDG900Hw=";
   };
 
   subPackages = "cmd/esc";
 
-  vendorHash = "sha256-v2+fisMMNUZVcDbUhXDGAUU6rC+Clrh/rb3cuuSCLF0=";
+  vendorHash = "sha256-q/uY9834Z8lyPmuUxgsk5FgiHnv8EykS7ljdN1XtW8M=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/py/pyenv/package.nix b/pkgs/by-name/py/pyenv/package.nix
index 93592763b259..22e6dd023539 100644
--- a/pkgs/by-name/py/pyenv/package.nix
+++ b/pkgs/by-name/py/pyenv/package.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pyenv";
-  version = "2.6.0";
+  version = "2.6.3";
 
   src = fetchFromGitHub {
     owner = "pyenv";
     repo = "pyenv";
     tag = "v${version}";
-    hash = "sha256-GZLcxRt7pcjnrodnF9iaeOhZLKkcpXQxy5PBHyvfp4A=";
+    hash = "sha256-X4Gwjbgl7y/p/CEz1Z2wydP7ZBHD1i8lzmuYISVL/bo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/py/pyfa/package.nix b/pkgs/by-name/py/pyfa/package.nix
index b9ed915f53b3..196231ffb451 100644
--- a/pkgs/by-name/py/pyfa/package.nix
+++ b/pkgs/by-name/py/pyfa/package.nix
@@ -10,7 +10,7 @@
   copyDesktopItems,
 }:
 let
-  version = "2.63.0";
+  version = "2.63.1";
 in
 python3Packages.buildPythonApplication rec {
   inherit version;
@@ -21,7 +21,7 @@ python3Packages.buildPythonApplication rec {
     owner = "pyfa-org";
     repo = "Pyfa";
     tag = "v${version}";
-    hash = "sha256-2GLfI3NvhxsnxlApjRM+X+QoqkB8GE1WOgGibvK1k7M=";
+    hash = "sha256-kpTJ7cgS/W0mUtplERiEYJA+FszPILCI+0AVbk6MVAA=";
   };
 
   desktopItems = [
diff --git a/pkgs/by-name/py/pyp/package.nix b/pkgs/by-name/py/pyp/package.nix
index 7d0df04993d1..74fdc2f64af2 100644
--- a/pkgs/by-name/py/pyp/package.nix
+++ b/pkgs/by-name/py/pyp/package.nix
@@ -1,55 +1,49 @@
 {
   lib,
-  bc,
+  python3Packages,
   fetchFromGitHub,
+
+  # tests
+  addBinToPathHook,
+  bc,
   jq,
-  python3,
+  versionCheckHook,
 }:
 
 let
-  pythonPackages = python3.pkgs;
   finalAttrs = {
     pname = "pyp";
-    version = "1.2.0";
+    version = "1.3.0";
 
     src = fetchFromGitHub {
       owner = "hauntsaninja";
       repo = "pyp";
       tag = "v${finalAttrs.version}";
-      hash = "sha256-hnEgqWOIVj2ugOhd2aS9IulfkVnrlkhwOtrgH4qQqO8=";
+      hash = "sha256-u9yxjYNQrtYtFtUh5tTJ1mGmGB+Ry+FRupli8RzRu3c=";
     };
 
     pyproject = true;
 
-    build-system = with pythonPackages; [
+    build-system = with python3Packages; [
       flit-core
     ];
 
     nativeCheckInputs =
-      (with pythonPackages; [
+      (with python3Packages; [
         pytestCheckHook
       ])
       ++ [
+        addBinToPathHook
         bc
         jq
+        versionCheckHook
       ];
+    versionCheckProgramArg = "--version";
 
     pythonImportsCheck = [
       "pyp"
     ];
 
-    # without this, the tests fail because they are unable to find the pyp tool
-    # itself...
-    preCheck = ''
-      _OLD_PATH_=$PATH
-      PATH=$out/bin:$PATH
-    '';
-
-    # And a cleanup!
-    postCheck = ''
-      PATH=$_OLD_PATH_
-    '';
-
     meta = {
       homepage = "https://github.com/hauntsaninja/pyp";
       description = "Easily run Python at the shell";
@@ -62,4 +56,4 @@ let
     };
   };
 in
-pythonPackages.buildPythonPackage finalAttrs
+python3Packages.buildPythonPackage finalAttrs
diff --git a/pkgs/by-name/py/pyrefly/package.nix b/pkgs/by-name/py/pyrefly/package.nix
new file mode 100644
index 000000000000..2b30b5e125b3
--- /dev/null
+++ b/pkgs/by-name/py/pyrefly/package.nix
@@ -0,0 +1,51 @@
+{
+  lib,
+  python3,
+  fetchPypi,
+  versionCheckHook,
+  nix-update-script,
+  rustPlatform,
+  maturin,
+}:
+python3.pkgs.buildPythonApplication rec {
+  pname = "pyrefly";
+  version = "0.17.1";
+  pyproject = true;
+
+  # fetch from PyPI instead of GitHub, since source repo does not have Cargo.lock
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-w4ivRtmApXiXQT95GI4vvYBop7yxdbbkpW+YTyFtgXM=";
+  };
+
+  cargoDeps = rustPlatform.fetchCargoVendor {
+    inherit src;
+    hash = "sha256-Op5ueVkzZTiJ1zeBGVi8oeLcfSzXMYfk5zEg4OGyA5g=";
+  };
+
+  build-system = [ maturin ];
+
+  nativeBuildInputs = with rustPlatform; [
+    cargoSetupHook
+    maturinBuildHook
+  ];
+
+  nativeCheckInputs = [ versionCheckHook ];
+
+  # requires unstable rust features
+  env.RUSTC_BOOTSTRAP = 1;
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    description = "Fast type checker and IDE for Python";
+    homepage = "https://github.com/facebook/pyrefly";
+    license = lib.licenses.mit;
+    mainProgram = "pyrefly";
+    platforms = lib.platforms.linux ++ lib.platforms.darwin;
+    maintainers = with lib.maintainers; [
+      cybardev
+      QuiNzX
+    ];
+  };
+}
diff --git a/pkgs/by-name/py/pyroscope/package.nix b/pkgs/by-name/py/pyroscope/package.nix
new file mode 100644
index 000000000000..aa3269d674b1
--- /dev/null
+++ b/pkgs/by-name/py/pyroscope/package.nix
@@ -0,0 +1,63 @@
+{
+  stdenv,
+  buildGoModule,
+  lib,
+  fetchFromGitHub,
+  versionCheckHook,
+  installShellFiles,
+  nix-update-script,
+  ...
+}:
+
+buildGoModule (finalAttrs: {
+  pname = "pyroscope";
+  version = "1.13.4";
+
+  src = fetchFromGitHub {
+    owner = "grafana";
+    repo = "pyroscope";
+    rev = "v1.13.4";
+    hash = "sha256-nyb91BO4zzJl3AG/ojBO+q7WiicZYmOtztW6FTlQHMM=";
+  };
+
+  vendorHash = "sha256-GZMoXsoE3pL0T3tkWY7i1f9sGy5uVDqeurCvBteqV9A=";
+  proxyVendor = true;
+
+  subPackages = [
+    "cmd/pyroscope"
+    "cmd/profilecli"
+  ];
+
+  ldflags = [
+    "-X=github.com/grafana/pyroscope/pkg/util/build.Branch=${finalAttrs.src.rev}"
+    "-X=github.com/grafana/pyroscope/pkg/util/build.Version=${finalAttrs.version}"
+    "-X=github.com/grafana/pyroscope/pkg/util/build.Revision=${finalAttrs.src.rev}"
+    "-X=github.com/grafana/pyroscope/pkg/util/build.BuildDate=1970-01-01T00:00:00Z"
+  ];
+
+  # We're overriding the version in 'ldFlags', so we should check that the
+  # derivation 'version' string is found in 'pyroscope --version'.
+  nativeInstallCheckInputs = [ versionCheckHook ];
+  doInstallCheck = true;
+  versionCheckProgram = "${placeholder "out"}/bin/${finalAttrs.meta.mainProgram}";
+  versionCheckProgramArg = "--version";
+
+  nativeBuildInputs = [ installShellFiles ];
+  postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
+    installShellCompletion --cmd pyroscope \
+      --bash <($out/bin/pyroscope completion bash) \
+      --fish <($out/bin/pyroscope completion fish) \
+      --zsh <($out/bin/pyroscope completion zsh)
+  '';
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    description = "Continuous profiling platform; debug performance issues down to a single line of code";
+    homepage = "https://github.com/grafana/pyroscope";
+    changelog = "https://github.com/grafana/pyroscope/blob/${finalAttrs.src.rev}/CHANGELOG.md";
+    license = lib.licenses.agpl3Only;
+    maintainers = [ lib.teams.mercury ];
+    mainProgram = "pyroscope";
+  };
+})
diff --git a/pkgs/by-name/qb/qbittorrent-enhanced/package.nix b/pkgs/by-name/qb/qbittorrent-enhanced/package.nix
index 441a5b8b9795..9619b242fe47 100644
--- a/pkgs/by-name/qb/qbittorrent-enhanced/package.nix
+++ b/pkgs/by-name/qb/qbittorrent-enhanced/package.nix
@@ -7,13 +7,13 @@
 
 (qbittorrent.override { inherit guiSupport; }).overrideAttrs (old: rec {
   pname = "qbittorrent-enhanced" + lib.optionalString (!guiSupport) "-nox";
-  version = "5.1.0.10";
+  version = "5.1.0.11";
 
   src = fetchFromGitHub {
     owner = "c0re100";
     repo = "qBittorrent-Enhanced-Edition";
     rev = "release-${version}";
-    hash = "sha256-VJqQFx9OvfuGyIfot9CgKiyGawOD3mYIdux20Atjea0=";
+    hash = "sha256-LY79Y7sG6EHGOh1hRujAOMRK3MKSAblJ+FFuGlj13iQ=";
   };
 
   meta = old.meta // {
diff --git a/pkgs/by-name/qi/qir-runner/package.nix b/pkgs/by-name/qi/qir-runner/package.nix
index 2203f4092044..d105bcc258a7 100644
--- a/pkgs/by-name/qi/qir-runner/package.nix
+++ b/pkgs/by-name/qi/qir-runner/package.nix
@@ -11,13 +11,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "qir-runner";
-  version = "0.8.1";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner = "qir-alliance";
     repo = "qir-runner";
     tag = "v${version}";
-    hash = "sha256-ExCIjn5XqDIIYhvEesHRtNZuc4mRr+b9EYE5LNKqNTc=";
+    hash = "sha256-KskBPvRlTw4ITuoAXyY+CyFfgTW0RtbLWDa97ftFOTA=";
   };
 
   nativeBuildInputs = [ llvmPackages_19.llvm ];
@@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-XzxkSzbjJdJaUmXK2nwd9naIDCsfXiLLlTyf8AFSvzA=";
+  cargoHash = "sha256-3Ww5PEvk1CqiJTqEUdinmcAfcHLQjctrlM4F3BPBWQw=";
 
   meta = {
     description = "QIR bytecode runner to assist with QIR development and validation";
diff --git a/pkgs/by-name/ql/qlementine-icons/package.nix b/pkgs/by-name/ql/qlementine-icons/package.nix
index e577ee139fdc..fa4d171263e5 100644
--- a/pkgs/by-name/ql/qlementine-icons/package.nix
+++ b/pkgs/by-name/ql/qlementine-icons/package.nix
@@ -8,13 +8,13 @@
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "qlementine-icons";
-  version = "1.8.1";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     owner = "oclero";
     repo = "qlementine-icons";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-b6krWtDCQjJRzzkFNYLt33iSSQHm1UZ3AedXrzRrDTs=";
+    hash = "sha256-Ef4WTay44rMp6A39p0DCc2fXc2y/wGZZaKyj7+wpMJc=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/by-name/qo/qogir-theme/package.nix b/pkgs/by-name/qo/qogir-theme/package.nix
index 622c7cdf85ae..9375c20371cb 100644
--- a/pkgs/by-name/qo/qogir-theme/package.nix
+++ b/pkgs/by-name/qo/qogir-theme/package.nix
@@ -36,7 +36,7 @@ lib.checkListOfEnum "${pname}: theme variants" [ "default" "manjaro" "ubuntu" "a
 
     src = fetchFromGitHub {
       owner = "vinceliuice";
-      repo = pname;
+      repo = "qogir-theme";
       rev = version;
       sha256 = "Q9DWBzaLZjwXsYRa/oDIrccypO3TCbSRXTkbXWRmm70=";
     };
@@ -72,8 +72,8 @@ lib.checkListOfEnum "${pname}: theme variants" [ "default" "manjaro" "ubuntu" "a
         ${lib.optionalString (tweaks != [ ]) "--tweaks " + builtins.toString tweaks} \
         --dest $out/share/themes
 
-      mkdir -p $out/share/doc/${pname}
-      cp -a src/firefox $out/share/doc/${pname}
+      mkdir -p $out/share/doc/qogir-theme
+      cp -a src/firefox $out/share/doc/qogir-theme
 
       rm $out/share/themes/*/{AUTHORS,COPYING}
 
diff --git a/pkgs/by-name/qo/qownnotes/package.nix b/pkgs/by-name/qo/qownnotes/package.nix
index 1ebe81f1ca28..7dcb89a1b1f4 100644
--- a/pkgs/by-name/qo/qownnotes/package.nix
+++ b/pkgs/by-name/qo/qownnotes/package.nix
@@ -17,11 +17,11 @@
 stdenv.mkDerivation (finalAttrs: {
   pname = "qownnotes";
   appname = "QOwnNotes";
-  version = "25.6.0";
+  version = "25.6.2";
 
   src = fetchurl {
     url = "https://github.com/pbek/QOwnNotes/releases/download/v${finalAttrs.version}/qownnotes-${finalAttrs.version}.tar.xz";
-    hash = "sha256-RUW8fWPJxTq7Ya+uZ6xGg7URHc+ojuBs9g++UXrK9I0=";
+    hash = "sha256-JzUAZe0ktpn2ri2pO5780kOCLjCpRMzswOK4FaJAXe0=";
   };
 
   nativeBuildInputs =
diff --git a/pkgs/by-name/qr/qr-backup/package.nix b/pkgs/by-name/qr/qr-backup/package.nix
new file mode 100644
index 000000000000..0d59ac4044b3
--- /dev/null
+++ b/pkgs/by-name/qr/qr-backup/package.nix
@@ -0,0 +1,104 @@
+{
+  lib,
+  python3Packages,
+  fetchFromGitHub,
+  pkgs,
+  installShellFiles,
+  nix-update-script,
+  versionCheckHook,
+  dejavu_fonts,
+  fetchpatch,
+}:
+python3Packages.buildPythonApplication rec {
+  pname = "qr-backup";
+  version = "1.1.4";
+
+  src = fetchFromGitHub {
+    owner = "za3k";
+    repo = "qr-backup";
+    tag = "v${version}";
+    hash = "sha256-Sre8cHbrRqJTX6+3HiLj6Ky8Bw+hg6UXItwRUtLzHZA=";
+  };
+
+  pyproject = false;
+
+  nativeBuildInputs = [
+    installShellFiles
+  ];
+
+  dependencies = with pkgs; [
+    python3Packages.pillow
+    python3Packages.qrcode
+    python3Packages.reedsolo
+    which
+    zbar
+    imagemagickBig
+    gnupg
+  ];
+
+  patches = [
+    # Backported from the upstream master branch so we can `doCheck` on
+    # the latest release version without needing to vendor a patch to
+    # disable the fragile regression tests
+    (fetchpatch {
+      name = "0001-Rename-from-regression-to-reproducibility-tests.patch";
+      url = "https://github.com/za3k/qr-backup/commit/ec8ab373110de62d2e1f6f47c9a34e9e1a73c571.patch";
+      hash = "sha256-93wxmCeH3qxZkDLZa9giMGUmVHdXSitXzet6WnAbQRw=";
+    })
+    (fetchpatch {
+      name = "0002-Add-fast-option-to-tests.patch";
+      url = "https://github.com/za3k/qr-backup/commit/e7d028eb4fddaa7f8628c88e1604d5e64f546389.patch";
+      hash = "sha256-5Ib+bs+ciqH1z0kvHBD7PrefTTwD6nWk+6pEPqxc9uU=";
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace qr-backup \
+      --replace-fail '"DejaVuSansMono.ttf"' "'${dejavu_fonts}/share/fonts/truetype/DejaVuSansMono.ttf'" \
+      --replace-fail '"python3", sys.argv[0]' "'$out/bin/qr-backup'"
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    install -D -m 755 qr-backup "$out/bin/qr-backup"
+    mv docs/qr-backup.1{.man,} # remove .man suffix
+    installManPage docs/qr-backup.1
+
+    runHook postInstall
+  '';
+
+  doCheck = true;
+  doInstallCheck = true;
+  nativeCheckInputs = with pkgs; [
+    versionCheckHook
+    which
+    zbar
+  ];
+  installCheckPhase = ''
+    runHook preInstallCheck
+
+    substituteInPlace tests/test.py \
+      --replace-fail '"python3", "qr-backup"' "'$out/bin/qr-backup'"
+    export GNUPGHOME="$(mktemp -d)"
+    make test-fast
+
+    runHook postInstallCheck
+  '';
+  versionCheckProgramArg = [ "--version" ];
+
+  passthru = {
+    updateScript = nix-update-script { };
+  };
+
+  meta = {
+    description = "Utility to generate paper backup of files using QR codes";
+    homepage = "https://github.com/za3k/qr-backup";
+    changelog = "https://github.com/za3k/qr-backup/blob/v${version}/docs/CHANGELOG";
+    license = lib.licenses.cc0;
+    maintainers = with lib.maintainers; [
+      acuteaangle
+    ];
+    mainProgram = "qr-backup";
+  };
+}
diff --git a/pkgs/by-name/qt/qtractor/package.nix b/pkgs/by-name/qt/qtractor/package.nix
index a77673fd830e..13441605c32b 100644
--- a/pkgs/by-name/qt/qtractor/package.nix
+++ b/pkgs/by-name/qt/qtractor/package.nix
@@ -30,11 +30,11 @@
 
 stdenv.mkDerivation rec {
   pname = "qtractor";
-  version = "1.5.5";
+  version = "1.5.6";
 
   src = fetchurl {
     url = "mirror://sourceforge/qtractor/qtractor-${version}.tar.gz";
-    hash = "sha256-0qFg36qVUGXmK1KBpG2WiQFjmTfcLFEDChmPslnk8tc=";
+    hash = "sha256-9JC+kLMnG7Fzti0RAlo/lGtuu6WF4vN4nzcZBN+kuZI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/qu/quark-engine/package.nix b/pkgs/by-name/qu/quark-engine/package.nix
index 30400d74c801..82488e27ccc5 100644
--- a/pkgs/by-name/qu/quark-engine/package.nix
+++ b/pkgs/by-name/qu/quark-engine/package.nix
@@ -7,14 +7,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "quark-engine";
-  version = "25.5.1";
+  version = "25.6.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "quark-engine";
     repo = "quark-engine";
     tag = "v${version}";
-    hash = "sha256-gu9W8+LyJHEqvn7Mrvjn7XjDjObAh8zRchNbTNWkT1M=";
+    hash = "sha256-DAD37fzswY3c0d+ubOCYImxs4qyD4fhC3m2l0iD977A=";
   };
 
   build-system = with python3.pkgs; [ setuptools ];
diff --git a/pkgs/by-name/qu/quarkus/package.nix b/pkgs/by-name/qu/quarkus/package.nix
index ceeb7471ac7a..8f0c63d2765b 100644
--- a/pkgs/by-name/qu/quarkus/package.nix
+++ b/pkgs/by-name/qu/quarkus/package.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "quarkus-cli";
-  version = "3.22.3";
+  version = "3.23.3";
 
   src = fetchurl {
     url = "https://github.com/quarkusio/quarkus/releases/download/${finalAttrs.version}/quarkus-cli-${finalAttrs.version}.tar.gz";
-    hash = "sha256-kUIjIsVK7hn2tNOpuqfNdwuX1ZQewcY8SItAknG7cRk=";
+    hash = "sha256-vDoakW0Wp+bqK++EdIgheo5ojZyZgQ4Ror2itKP/a+8=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/by-name/qu/questdb/package.nix b/pkgs/by-name/qu/questdb/package.nix
index bc9e895058f8..7d9e668f9626 100644
--- a/pkgs/by-name/qu/questdb/package.nix
+++ b/pkgs/by-name/qu/questdb/package.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "questdb";
-  version = "8.3.2";
+  version = "8.3.3";
 
   src = fetchurl {
     url = "https://github.com/questdb/questdb/releases/download/${finalAttrs.version}/questdb-${finalAttrs.version}-no-jre-bin.tar.gz";
-    hash = "sha256-5yaV+ehcamXIVQZvte2+yUd0FoseR2kFuhvzZb3SZY8=";
+    hash = "sha256-C3lhEgg9erAYSV4qU+xqPM1YbqCIj7mqmVzu+6BY+pI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/qu/quickemu/package.nix b/pkgs/by-name/qu/quickemu/package.nix
index 52b0ad3eb7da..fcbc23b9bdf1 100644
--- a/pkgs/by-name/qu/quickemu/package.nix
+++ b/pkgs/by-name/qu/quickemu/package.nix
@@ -3,6 +3,7 @@
   fetchFromGitHub,
   stdenv,
   makeWrapper,
+  gitUpdater,
   cdrtools,
   curl,
   gawk,
@@ -98,7 +99,10 @@ stdenv.mkDerivation (finalAttrs: {
     runHook postInstall
   '';
 
-  passthru.tests = testers.testVersion { package = finalAttrs.finalPackage; };
+  passthru = {
+    tests = testers.testVersion { package = finalAttrs.finalPackage; };
+    updateScript = gitUpdater { };
+  };
 
   meta = {
     description = "Quickly create and run optimised Windows, macOS and Linux virtual machines";
diff --git a/pkgs/by-name/qu/quickshell/package.nix b/pkgs/by-name/qu/quickshell/package.nix
new file mode 100644
index 000000000000..d0a63207e014
--- /dev/null
+++ b/pkgs/by-name/qu/quickshell/package.nix
@@ -0,0 +1,82 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitea,
+
+  pkg-config,
+  cmake,
+  ninja,
+  spirv-tools,
+  qt6,
+  breakpad,
+  jemalloc,
+  cli11,
+  wayland,
+  wayland-protocols,
+  wayland-scanner,
+  xorg,
+  libdrm,
+  libgbm,
+  pipewire,
+  pam,
+}:
+stdenv.mkDerivation (finalAttrs: {
+  pname = "quickshell";
+  version = "0.1.0";
+
+  # github mirror: https://github.com/quickshell-mirror/quickshell
+  src = fetchFromGitea {
+    domain = "git.outfoxxed.me";
+    owner = "quickshell";
+    repo = "quickshell";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-DdE50ZJN/mKsSF/vc9hrMboOeJ7BST5DD6GNEXgVbWg=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    ninja
+    qt6.qtshadertools
+    spirv-tools
+    wayland-scanner
+    qt6.wrapQtAppsHook
+    pkg-config
+  ];
+
+  buildInputs = [
+    qt6.qtbase
+    qt6.qtdeclarative
+    qt6.qtwayland
+    qt6.qtsvg
+    cli11
+    wayland
+    wayland-protocols
+    libdrm
+    libgbm
+    breakpad
+    jemalloc
+    xorg.libxcb
+    pam
+    pipewire
+  ];
+
+  cmakeFlags = [
+    (lib.cmakeFeature "DISTRIBUTOR" "Nixpkgs")
+    (lib.cmakeBool "DISTRIBUTOR_DEBUGINFO_AVAILABLE" true)
+    (lib.cmakeFeature "INSTALL_QML_PREFIX" qt6.qtbase.qtQmlPrefix)
+    (lib.cmakeFeature "GIT_REVISION" "tag-v${finalAttrs.version}")
+  ];
+
+  cmakeBuildType = "RelWithDebInfo";
+  separateDebugInfo = true;
+  dontStrip = false;
+
+  meta = {
+    homepage = "https://quickshell.outfoxxed.me";
+    description = "Flexbile QtQuick based desktop shell toolkit";
+    license = lib.licenses.lgpl3Only;
+    platforms = lib.platforms.linux;
+    mainProgram = "quickshell";
+    maintainers = with lib.maintainers; [ outfoxxed ];
+  };
+})
diff --git a/pkgs/by-name/qu/quicksynergy/package.nix b/pkgs/by-name/qu/quicksynergy/package.nix
deleted file mode 100644
index bb69683e6858..000000000000
--- a/pkgs/by-name/qu/quicksynergy/package.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{
-  lib,
-  stdenv,
-  fetchurl,
-  pkg-config,
-  gtk2,
-  synergy,
-}:
-
-stdenv.mkDerivation rec {
-  pname = "quicksynergy";
-  version = "0.9.0";
-  src = fetchurl {
-    url = "mirror://sourceforge/project/quicksynergy/Linux/${version}/quicksynergy-${version}.tar.gz";
-    sha256 = "1pi8503bg8q1psw50y6d780i33nnvfjqiy9vnr3v52pdcfip8pix";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [
-    gtk2
-    synergy
-  ];
-  preBuild = "
-    sed -i 's@/usr/bin@${synergy.out}/bin@' src/synergy_config.c
-  ";
-  meta = {
-    description = "GUI application to share mouse and keyboard between computers";
-    longDescription = "
-      QuickSynergy is a graphical interface (GUI) for easily configuring
-      Synergy2, an application that allows the user to share his mouse and
-      keyboard between two or more computers.
-
-      Without the need for any external hardware, Synergy2 uses the TCP-IP
-      protocol to share the resources, even between machines with different
-      operating systems, such as Mac OS, Linux and Windows.
-
-      Remember to open port 24800 (used by synergys program) if you want to
-      host mouse and keyboard.";
-    homepage = "https://sourceforge.net/projects/quicksynergy/";
-    license = lib.licenses.gpl2;
-    maintainers = [ lib.maintainers.spinus ];
-    platforms = lib.platforms.linux;
-    mainProgram = "quicksynergy";
-  };
-}
diff --git a/pkgs/by-name/qu/quickwit/package.nix b/pkgs/by-name/qu/quickwit/package.nix
index 9cc4559eed74..72c7698764c2 100644
--- a/pkgs/by-name/qu/quickwit/package.nix
+++ b/pkgs/by-name/qu/quickwit/package.nix
@@ -24,7 +24,7 @@ let
 
   src = fetchFromGitHub {
     owner = "quickwit-oss";
-    repo = pname;
+    repo = "quickwit";
     rev = "v${version}";
     hash = "sha256-OrCO0mCFmhYBdpr4Gps56KJJ37uuJpV6ZJHWspOScyw=";
   };
diff --git a/pkgs/by-name/qu/quiet/package.nix b/pkgs/by-name/qu/quiet/package.nix
index d458a4493443..a32c369ceab2 100644
--- a/pkgs/by-name/qu/quiet/package.nix
+++ b/pkgs/by-name/qu/quiet/package.nix
@@ -7,11 +7,11 @@
 
 appimageTools.wrapType2 rec {
   pname = "quiet";
-  version = "5.0.1";
+  version = "5.1.2";
 
   src = fetchurl {
     url = "https://github.com/TryQuiet/quiet/releases/download/@quiet/desktop@${version}/Quiet-${version}.AppImage";
-    hash = "sha256-RZ1YTSNNxCmon8+UR8NlqlYisQZRnzDUIV+oUGAWhuk=";
+    hash = "sha256-ahJUBvQVfU8CtGq5p+S8avpHRkXSn9kQv9HPN7TvJiM=";
   };
 
   meta = {
diff --git a/pkgs/by-name/qu/quill-log/package.nix b/pkgs/by-name/qu/quill-log/package.nix
index e568034ceff4..8869bdba7bf2 100644
--- a/pkgs/by-name/qu/quill-log/package.nix
+++ b/pkgs/by-name/qu/quill-log/package.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "quill-log";
-  version = "9.0.3";
+  version = "10.0.0";
 
   src = fetchFromGitHub {
     owner = "odygrd";
     repo = "quill";
     rev = "v${version}";
-    hash = "sha256-G7DUxN32g32744kfGVth4G7GJz8xguIfvX/ojkgh/Ao=";
+    hash = "sha256-za0ech+rkhhtFumrkMMJXccd14PKXoiBQPXSYcK8Y7A=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/by-name/qu/quint/package.nix b/pkgs/by-name/qu/quint/package.nix
new file mode 100644
index 000000000000..a08c6e35f12d
--- /dev/null
+++ b/pkgs/by-name/qu/quint/package.nix
@@ -0,0 +1,119 @@
+{
+  lib,
+  stdenv,
+  rustPlatform,
+  fetchFromGitHub,
+  nodejs,
+  nodejs_20,
+  makeWrapper,
+  jre,
+  fetchzip,
+  buildNpmPackage,
+}:
+
+let
+  version = "0.25.1";
+  apalacheVersion = "0.47.2";
+  evaluatorVersion = "0.2.0";
+
+  metaCommon = {
+    description = "Formal specification language with TLA+ semantics";
+    homepage = "https://quint-lang.org";
+    license = lib.licenses.asl20;
+    platforms = lib.platforms.unix;
+    maintainers = with lib.maintainers; [ bugarela ];
+  };
+
+  src = fetchFromGitHub {
+    owner = "informalsystems";
+    repo = "quint";
+    tag = "v${version}";
+    hash = "sha256-CYQesIoDlIGCKXIJ/hpZqOZBVd19Or5VEKVERchJz68=";
+  };
+
+  # Build the Quint CLI from source
+  quint-cli = buildNpmPackage {
+    pname = "quint-cli";
+    inherit version src;
+
+    nativeBuildInputs = [ nodejs_20 ];
+
+    sourceRoot = "${src.name}/quint";
+
+    npmDepsHash = "sha256-FYNSr5B0/oJ4PbU/HUVqSdPG8kFvq4vRFnYwwdMf+jQ=";
+
+    npmBuildScript = "compile";
+
+    dontNpmPrune = true;
+
+    installPhase = ''
+      runHook preInstall
+
+      mkdir -p $out/share/quint
+      cp -r node_modules $out/share/quint
+      cp -r dist $out/share/quint
+
+      runHook postInstall
+    '';
+
+    meta = metaCommon // {
+      description = "CLI for the Quint formal specification language";
+    };
+  };
+
+  # Build the Rust evaluator from source
+  quint-evaluator = rustPlatform.buildRustPackage {
+    pname = "quint-evaluator";
+    version = evaluatorVersion;
+    inherit src;
+
+    sourceRoot = "${src.name}/evaluator";
+
+    # Skip tests during build, as many rust tests rely on the Quint CLI
+    doCheck = false;
+
+    cargoHash = "sha256-beWqUDaWWCbGL+V1LNtf35wZrIqWCCbFLYo5HCZF7FI=";
+
+    meta = metaCommon // {
+      description = "Evaluator for the Quint formal specification language";
+    };
+  };
+
+  # Download Apalache. It runs on the JVM, so no need to build it from source.
+  apalacheDist = fetchzip {
+    url = "https://github.com/apalache-mc/apalache/releases/download/v${apalacheVersion}/apalache.tgz";
+    hash = "sha256-P0QOxB14OSlphqBALR1YL9WJ0XYaUYE/R52yZytVzds=";
+  };
+in
+stdenv.mkDerivation (finalAttrs: {
+  pname = "quint";
+  inherit version src;
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  dontBuild = true;
+
+  dontConfigure = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    makeWrapper ${nodejs}/bin/node $out/bin/quint \
+      --add-flags "${quint-cli}/share/quint/dist/src/cli.js" \
+      --set QUINT_HOME "$out/share/quint" \
+      --prefix PATH : ${lib.makeBinPath [ jre ]}
+
+    install -Dm755 ${quint-evaluator}/bin/quint_evaluator -t $out/share/quint/rust-evaluator-v${evaluatorVersion}/
+
+    mkdir -p $out/share/quint/apalache-dist-${apalacheVersion}
+    cp -r ${apalacheDist} $out/share/quint/apalache-dist-${apalacheVersion}/apalache
+    chmod +x $out/share/quint/apalache-dist-${apalacheVersion}/apalache/bin/apalache-mc
+
+    runHook postInstall
+  '';
+
+  meta = metaCommon // {
+    mainProgram = "quint";
+  };
+})
diff --git a/pkgs/by-name/qu/qutebrowser/package.nix b/pkgs/by-name/qu/qutebrowser/package.nix
index fa09cc22d5b1..399d1fb21b5c 100644
--- a/pkgs/by-name/qu/qutebrowser/package.nix
+++ b/pkgs/by-name/qu/qutebrowser/package.nix
@@ -26,15 +26,15 @@ let
   isQt6 = lib.versions.major qt6Packages.qtbase.version == "6";
   pdfjs =
     let
-      version = "5.1.91";
+      version = "5.3.31";
     in
     fetchzip {
       url = "https://github.com/mozilla/pdf.js/releases/download/v${version}/pdfjs-${version}-dist.zip";
-      hash = "sha256-e1zBpH9F8TI4ET4FvkxJsoOYVKLWJBP2KaNNC2kpaVk=";
+      hash = "sha256-8QNFCIRSaF0y98P1mmx0u+Uf0/Zd7nYlFGXp9SkURTc=";
       stripRoot = false;
     };
 
-  version = "3.5.0";
+  version = "3.5.1";
 in
 
 python3.pkgs.buildPythonApplication {
@@ -44,7 +44,7 @@ python3.pkgs.buildPythonApplication {
 
   src = fetchurl {
     url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/qutebrowser-${version}.tar.gz";
-    hash = "sha256-+hQsjRwoJbBotxs2BKiy1oLi7YShTD5ott54RDMdgLs=";
+    hash = "sha256-gmu6MooINXJI1eWob6qwpzZVSXQ5rVTSaeISBVkms44=";
   };
 
   # Needs tox
diff --git a/pkgs/development/libraries/qxmpp/default.nix b/pkgs/by-name/qx/qxmpp/package.nix
similarity index 58%
rename from pkgs/development/libraries/qxmpp/default.nix
rename to pkgs/by-name/qx/qxmpp/package.nix
index 3fe969629394..de253a65b997 100644
--- a/pkgs/development/libraries/qxmpp/default.nix
+++ b/pkgs/by-name/qx/qxmpp/package.nix
@@ -1,33 +1,32 @@
 {
   stdenv,
   lib,
-  fetchFromGitHub,
+  fetchFromGitLab,
   cmake,
   pkg-config,
-  wrapQtAppsNoGuiHook,
-  qtbase,
-  qca,
+  kdePackages,
   withGstreamer ? true,
   gst_all_1,
   withOmemo ? true,
   libomemo-c,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "qxmpp";
-  version = "1.10.2";
+  version = "1.10.4";
 
-  src = fetchFromGitHub {
-    owner = "qxmpp-project";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-M3F4tNIO3RvDxk/lce8/J6kmQtnsGLILQ15uEzgyfds=";
+  src = fetchFromGitLab {
+    domain = "invent.kde.org";
+    owner = "libraries";
+    repo = "qxmpp";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-iSsQKVfcH5AjX+bURYK7UPdZKWFX6WaFSrpeRC5IE/0=";
   };
 
   nativeBuildInputs =
     [
       cmake
-      wrapQtAppsNoGuiHook
+      kdePackages.wrapQtAppsNoGuiHook
     ]
     ++ lib.optionals (withGstreamer || withOmemo) [
       pkg-config
@@ -43,8 +42,8 @@ stdenv.mkDerivation rec {
       ]
     )
     ++ lib.optionals withOmemo [
-      qtbase
-      qca
+      kdePackages.qtbase
+      kdePackages.qca
       libomemo-c
     ];
   cmakeFlags =
@@ -59,11 +58,11 @@ stdenv.mkDerivation rec {
       "-DBUILD_OMEMO=ON"
     ];
 
-  meta = with lib; {
+  meta = {
     description = "Cross-platform C++ XMPP client and server library";
-    homepage = "https://github.com/qxmpp-project/qxmpp";
-    license = licenses.lgpl21Plus;
-    maintainers = with maintainers; [ astro ];
-    platforms = with platforms; linux;
+    homepage = "https://invent.kde.org/libraries/qxmpp";
+    license = lib.licenses.lgpl21Plus;
+    maintainers = with lib.maintainers; [ astro ];
+    platforms = with lib.platforms; linux;
   };
-}
+})
diff --git a/pkgs/by-name/ra/radarr/deps.json b/pkgs/by-name/ra/radarr/deps.json
new file mode 100644
index 000000000000..1e6e67cd9b4a
--- /dev/null
+++ b/pkgs/by-name/ra/radarr/deps.json
@@ -0,0 +1,1687 @@
+[
+  {
+    "pname": "Azure.Core",
+    "version": "1.38.0",
+    "hash": "sha256-gzWMtIZJgwtE51dTMzLCbN4KxmE4/bzdjb/NU86N1uY="
+  },
+  {
+    "pname": "Azure.Identity",
+    "version": "1.11.4",
+    "hash": "sha256-J3nI80CQwS7fwRLnqBxqZNemxqP05rcn3x44YpIf2no="
+  },
+  {
+    "pname": "BouncyCastle.Cryptography",
+    "version": "2.5.1",
+    "hash": "sha256-ISDd8fS6/cIJIXBFDd7F3FQ0wzWkAo4r8dvycb8iT6c="
+  },
+  {
+    "pname": "Castle.Core",
+    "version": "4.4.1",
+    "hash": "sha256-J4NS8p9KqbuLl6JMmNwptsfccH37TfhAhPwX2mVQso0="
+  },
+  {
+    "pname": "coverlet.collector",
+    "version": "3.0.4-preview.27.ge7cb7c3b40",
+    "hash": "sha256-UiiFa/GfLf3gcKb1atAz5gwR0sIA7sA1GFKSbk6sIgM=",
+    "url": "https://pkgs.dev.azure.com/Servarr/7f7f0cec-b6d1-4285-a8c2-5c0b3ce99d29/_packaging/88cb5621-d569-46bd-ab53-84dba1855910/nuget/v3/flat2/coverlet.collector/3.0.4-preview.27.ge7cb7c3b40/coverlet.collector.3.0.4-preview.27.ge7cb7c3b40.nupkg"
+  },
+  {
+    "pname": "coverlet.core",
+    "version": "3.0.4-preview.27.ge7cb7c3b40",
+    "hash": "sha256-nIVBoe0qz5e5eDmrhlMslznVzXne6eXbd8T4m2c+Qb8=",
+    "url": "https://pkgs.dev.azure.com/Servarr/7f7f0cec-b6d1-4285-a8c2-5c0b3ce99d29/_packaging/88cb5621-d569-46bd-ab53-84dba1855910/nuget/v3/flat2/coverlet.core/3.0.4-preview.27.ge7cb7c3b40/coverlet.core.3.0.4-preview.27.ge7cb7c3b40.nupkg"
+  },
+  {
+    "pname": "Dapper",
+    "version": "2.1.66",
+    "hash": "sha256-e5n/wnAFGPDSe30oQQ0fanXrvFZYYa+qCDSTHtfQmPw="
+  },
+  {
+    "pname": "Diacritical.Net",
+    "version": "1.0.4",
+    "hash": "sha256-rBYl6Dz7vRHPx/tXAJ8rupAVHUBilZ/WnJE92UrHge8="
+  },
+  {
+    "pname": "DryIoc.dll",
+    "version": "5.4.3",
+    "hash": "sha256-qk3sUiiQu4TxdkG4Ise8Sn5h3kV5p6w6t9wMw5dSc94="
+  },
+  {
+    "pname": "DryIoc.Microsoft.DependencyInjection",
+    "version": "6.2.0",
+    "hash": "sha256-C06B0tj3qFkVVGL0kSflf88As4t9TRaw/++N05Zaz0c="
+  },
+  {
+    "pname": "Dynamitey",
+    "version": "3.0.3",
+    "hash": "sha256-69DyYSGu1sjpr8DupZWEiwcVmW9vT197c00vQ7H9k1s="
+  },
+  {
+    "pname": "Equ",
+    "version": "2.3.0",
+    "hash": "sha256-LMGRC1Pq6RdiPnyBEjDP1yA7gesHxrXPXa353pGGlqw="
+  },
+  {
+    "pname": "FluentAssertions",
+    "version": "6.12.1",
+    "hash": "sha256-R/Fi9eee6T8t8JECxL9+HFd8jAxRMkCg18j+fAQLNqM="
+  },
+  {
+    "pname": "FluentValidation",
+    "version": "9.5.4",
+    "hash": "sha256-htL8KbjBt2rn+y+nUIc4lVBypWksQ+hsROxMBDzi5IU="
+  },
+  {
+    "pname": "Ical.Net",
+    "version": "4.3.1",
+    "hash": "sha256-jpohvCiUBe61A3O+BJwCqsPW+3jUt4cKeCqZb/0cw0M="
+  },
+  {
+    "pname": "ImpromptuInterface",
+    "version": "8.0.6",
+    "hash": "sha256-u0J8n7ShZX+lk5aX9copjwgym5TtglRGT7QtPdZeHeA="
+  },
+  {
+    "pname": "Instances",
+    "version": "1.6.1",
+    "hash": "sha256-ge49RXumBAUKHld/5EhxydEVTKc8Lqz7MNgH4Y4ca9E="
+  },
+  {
+    "pname": "IPAddressRange",
+    "version": "6.2.0",
+    "hash": "sha256-g3brzbKKPZS23cbttpr5CCYoZHm+dvH43/gXLuZYmFg="
+  },
+  {
+    "pname": "MailKit",
+    "version": "4.12.1",
+    "hash": "sha256-fwI0YTbwfzrvdkbATWGbv4D8ugOXgaPO/WFvGxQ9WS8="
+  },
+  {
+    "pname": "Microsoft.AspNetCore.Cryptography.Internal",
+    "version": "8.0.16",
+    "hash": "sha256-uw/5GAPpefPeMrfG69EBOVciSHxBKs0E8Txkf+rttzs="
+  },
+  {
+    "pname": "Microsoft.AspNetCore.Cryptography.KeyDerivation",
+    "version": "8.0.16",
+    "hash": "sha256-Zpt7vlY0xdrk/6XDRtXb0t9MK6SiPP6sr3fC6gQ1/YQ="
+  },
+  {
+    "pname": "Microsoft.Bcl.AsyncInterfaces",
+    "version": "1.1.1",
+    "hash": "sha256-fAcX4sxE0veWM1CZBtXR/Unky+6sE33yrV7ohrWGKig="
+  },
+  {
+    "pname": "Microsoft.Bcl.Cryptography",
+    "version": "8.0.0",
+    "hash": "sha256-p9aO+aVi4Vl8bRsYRFGJyc9Mqd2wkQ12RwWDwBhdt4I="
+  },
+  {
+    "pname": "Microsoft.CodeCoverage",
+    "version": "17.10.0",
+    "hash": "sha256-yQFwqVChRtIRpbtkJr92JH2i+O7xn91NGbYgnKs8G2g="
+  },
+  {
+    "pname": "Microsoft.CSharp",
+    "version": "4.0.1",
+    "hash": "sha256-0huoqR2CJ3Z9Q2peaKD09TV3E6saYSqDGZ290K8CrH8="
+  },
+  {
+    "pname": "Microsoft.CSharp",
+    "version": "4.7.0",
+    "hash": "sha256-Enknv2RsFF68lEPdrf5M+BpV1kHoLTVRApKUwuk/pj0="
+  },
+  {
+    "pname": "Microsoft.Data.SqlClient",
+    "version": "6.0.2",
+    "hash": "sha256-QkvGoucU8jo4PXCCgZ10v5I5hG0gyaVA36rOcu3IBLA="
+  },
+  {
+    "pname": "Microsoft.Data.SqlClient.SNI.runtime",
+    "version": "6.0.2",
+    "hash": "sha256-CQuJfjZYoRxfc07cSzUNCOOdzmUJu0p10J+WpcG2BJ0="
+  },
+  {
+    "pname": "Microsoft.DotNet.PlatformAbstractions",
+    "version": "2.1.0",
+    "hash": "sha256-vrZhYp94SjycUMGaVYCFWJ4p7KBKfqVyLWtIG73fzeM="
+  },
+  {
+    "pname": "Microsoft.Extensions.Caching.Abstractions",
+    "version": "8.0.0",
+    "hash": "sha256-xGpKrywQvU1Wm/WolYIxgHYEFfgkNGeJ+GGc5DT3phI="
+  },
+  {
+    "pname": "Microsoft.Extensions.Caching.Memory",
+    "version": "8.0.1",
+    "hash": "sha256-5Q0vzHo3ZvGs4nPBc/XlBF4wAwYO8pxq6EGdYjjXZps="
+  },
+  {
+    "pname": "Microsoft.Extensions.Configuration",
+    "version": "8.0.0",
+    "hash": "sha256-9BPsASlxrV8ilmMCjdb3TiUcm5vFZxkBnAI/fNBSEyA="
+  },
+  {
+    "pname": "Microsoft.Extensions.Configuration.Abstractions",
+    "version": "2.0.1",
+    "hash": "sha256-UXWzOFT0lc2Jtt3zNJ4xCEv0LCRPnWCnSoHQO2s3kZg="
+  },
+  {
+    "pname": "Microsoft.Extensions.Configuration.Abstractions",
+    "version": "8.0.0",
+    "hash": "sha256-4eBpDkf7MJozTZnOwQvwcfgRKQGcNXe0K/kF+h5Rl8o="
+  },
+  {
+    "pname": "Microsoft.Extensions.Configuration.Binder",
+    "version": "8.0.2",
+    "hash": "sha256-aGB0VuoC34YadAEqrwoaXLc5qla55pswDV2xLSmR7SE="
+  },
+  {
+    "pname": "Microsoft.Extensions.Configuration.CommandLine",
+    "version": "8.0.0",
+    "hash": "sha256-fmPC/o8S+weTtQJWykpnGHm6AKVU21xYE/CaHYU7zgg="
+  },
+  {
+    "pname": "Microsoft.Extensions.Configuration.EnvironmentVariables",
+    "version": "8.0.0",
+    "hash": "sha256-+bjFZvqCsMf2FRM2olqx/fub+QwfM1kBhjGVOT5HC48="
+  },
+  {
+    "pname": "Microsoft.Extensions.Configuration.FileExtensions",
+    "version": "8.0.1",
+    "hash": "sha256-iRA8L7BX/fe5LHCVOhzBSk30GfshP7V2Qj2nxpEvStA="
+  },
+  {
+    "pname": "Microsoft.Extensions.Configuration.Json",
+    "version": "8.0.1",
+    "hash": "sha256-J8EK/yhsfTpeSUY8F81ZTBV9APHiPUliN7d+n2OX9Ig="
+  },
+  {
+    "pname": "Microsoft.Extensions.Configuration.UserSecrets",
+    "version": "8.0.1",
+    "hash": "sha256-yGvWfwBhyFudcIv96pKWaQ1MIMOiv5LHSCn+9J7Doz0="
+  },
+  {
+    "pname": "Microsoft.Extensions.DependencyInjection",
+    "version": "2.2.0",
+    "hash": "sha256-k/3UKceE1hbgv1sfV9H85hzWvMwooE8PcasHvHMhe1M="
+  },
+  {
+    "pname": "Microsoft.Extensions.DependencyInjection",
+    "version": "8.0.1",
+    "hash": "sha256-O9g0jWS+jfGoT3yqKwZYJGL+jGSIeSbwmvomKDC3hTU="
+  },
+  {
+    "pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
+    "version": "2.0.0",
+    "hash": "sha256-H1rEnq/veRWvmp8qmUsrQkQIcVlKilUNzmmKsxJ0md8="
+  },
+  {
+    "pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
+    "version": "2.2.0",
+    "hash": "sha256-pf+UQToJnhAe8VuGjxyCTvua1nIX8n5NHzAUk3Jz38s="
+  },
+  {
+    "pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
+    "version": "7.0.0",
+    "hash": "sha256-55lsa2QdX1CJn1TpW1vTnkvbGXKCeE9P0O6AkW49LaA="
+  },
+  {
+    "pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
+    "version": "8.0.0",
+    "hash": "sha256-75KzEGWjbRELczJpCiJub+ltNUMMbz5A/1KQU+5dgP8="
+  },
+  {
+    "pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
+    "version": "8.0.2",
+    "hash": "sha256-UfLfEQAkXxDaVPC7foE/J3FVEXd31Pu6uQIhTic3JgY="
+  },
+  {
+    "pname": "Microsoft.Extensions.DependencyModel",
+    "version": "2.1.0",
+    "hash": "sha256-7dFo5itkB2OgSgS7dN87h0Xf2p5/f6fl2Ka6+CTEhDY="
+  },
+  {
+    "pname": "Microsoft.Extensions.Diagnostics",
+    "version": "8.0.1",
+    "hash": "sha256-CraHNCaVlMiYx6ff9afT6U7RC/MoOCXM3pn2KrXkiLc="
+  },
+  {
+    "pname": "Microsoft.Extensions.Diagnostics.Abstractions",
+    "version": "8.0.1",
+    "hash": "sha256-d5DVXhA8qJFY9YbhZjsTqs5w5kDuxF5v+GD/WZR1QL0="
+  },
+  {
+    "pname": "Microsoft.Extensions.FileProviders.Abstractions",
+    "version": "8.0.0",
+    "hash": "sha256-uQSXmt47X2HGoVniavjLICbPtD2ReQOYQMgy3l0xuMU="
+  },
+  {
+    "pname": "Microsoft.Extensions.FileProviders.Physical",
+    "version": "8.0.0",
+    "hash": "sha256-29y5ZRQ1ZgzVOxHktYxyiH40kVgm5un2yTGdvuSWnRc="
+  },
+  {
+    "pname": "Microsoft.Extensions.FileSystemGlobbing",
+    "version": "2.0.1",
+    "hash": "sha256-QBdcLyJAHf10+RUlquXWTs155FZmHDRKbL0uzXZZPVw="
+  },
+  {
+    "pname": "Microsoft.Extensions.FileSystemGlobbing",
+    "version": "8.0.0",
+    "hash": "sha256-+Oz41JR5jdcJlCJOSpQIL5OMBNi+1Hl2d0JUHfES7sU="
+  },
+  {
+    "pname": "Microsoft.Extensions.Hosting",
+    "version": "8.0.1",
+    "hash": "sha256-FFLo6em0N2vaWg6//vaQhxoOgT9LLH5Y2KWkCeX5xQ4="
+  },
+  {
+    "pname": "Microsoft.Extensions.Hosting.Abstractions",
+    "version": "8.0.1",
+    "hash": "sha256-/bIVL9uvBQhV/KQmjA1ZjR74sMfaAlBb15sVXsGDEVA="
+  },
+  {
+    "pname": "Microsoft.Extensions.Hosting.WindowsServices",
+    "version": "8.0.1",
+    "hash": "sha256-JBrZuv1RxpJf5wR81g91bE1/JQgBeOtnJDvA98rlYKE="
+  },
+  {
+    "pname": "Microsoft.Extensions.Logging",
+    "version": "8.0.0",
+    "hash": "sha256-Meh0Z0X7KyOEG4l0RWBcuHHihcABcvCyfUXgasmQ91o="
+  },
+  {
+    "pname": "Microsoft.Extensions.Logging",
+    "version": "8.0.1",
+    "hash": "sha256-vkfVw4tQEg86Xg18v6QO0Qb4Ysz0Njx57d1XcNuj6IU="
+  },
+  {
+    "pname": "Microsoft.Extensions.Logging.Abstractions",
+    "version": "2.0.1",
+    "hash": "sha256-J/NwPGVWtiNpwHP9M0tDR1eNUcFiz/r1Sn5v2xuE0tA="
+  },
+  {
+    "pname": "Microsoft.Extensions.Logging.Abstractions",
+    "version": "8.0.0",
+    "hash": "sha256-Jmddjeg8U5S+iBTwRlVAVLeIHxc4yrrNgqVMOB7EjM4="
+  },
+  {
+    "pname": "Microsoft.Extensions.Logging.Abstractions",
+    "version": "8.0.2",
+    "hash": "sha256-cHpe8X2BgYa5DzulZfq24rg8O2K5Lmq2OiLhoyAVgJc="
+  },
+  {
+    "pname": "Microsoft.Extensions.Logging.Configuration",
+    "version": "8.0.1",
+    "hash": "sha256-E2JbJG2EXlv2HUWLi17kIkAL6RC9rC2E18C3gAyOuaE="
+  },
+  {
+    "pname": "Microsoft.Extensions.Logging.Console",
+    "version": "8.0.1",
+    "hash": "sha256-2thhF1JbDNj3Bx2fcH7O26uHGNeMd9MYah6N60lIpIU="
+  },
+  {
+    "pname": "Microsoft.Extensions.Logging.Debug",
+    "version": "8.0.1",
+    "hash": "sha256-gKFqBg5lbjy5VBEcAuoQ/SsXAxvrYdBYOu9dV60eJKg="
+  },
+  {
+    "pname": "Microsoft.Extensions.Logging.EventLog",
+    "version": "8.0.1",
+    "hash": "sha256-1UkEOwl3Op2b3jTvpI10hHxIe9FqeVVy+VB1tZp6Lc8="
+  },
+  {
+    "pname": "Microsoft.Extensions.Logging.EventSource",
+    "version": "8.0.1",
+    "hash": "sha256-EINT/PgfB4Dvf+1JBzL1plPT35ezT7kyS8y/XMMgYxA="
+  },
+  {
+    "pname": "Microsoft.Extensions.Options",
+    "version": "2.0.1",
+    "hash": "sha256-hbe+3YXlSQ3urCX11D2MIZl1XrWvr+mmnBc/bj53zfY="
+  },
+  {
+    "pname": "Microsoft.Extensions.Options",
+    "version": "8.0.0",
+    "hash": "sha256-n2m4JSegQKUTlOsKLZUUHHKMq926eJ0w9N9G+I3FoFw="
+  },
+  {
+    "pname": "Microsoft.Extensions.Options",
+    "version": "8.0.2",
+    "hash": "sha256-AjcldddddtN/9aH9pg7ClEZycWtFHLi9IPe1GGhNQys="
+  },
+  {
+    "pname": "Microsoft.Extensions.Options.ConfigurationExtensions",
+    "version": "8.0.0",
+    "hash": "sha256-A5Bbzw1kiNkgirk5x8kyxwg9lLTcSngojeD+ocpG1RI="
+  },
+  {
+    "pname": "Microsoft.Extensions.Primitives",
+    "version": "2.0.0",
+    "hash": "sha256-q44LtMvyNEKSvgERvA+BrasKapP92Sc91QR4u2TJ9/Y="
+  },
+  {
+    "pname": "Microsoft.Extensions.Primitives",
+    "version": "8.0.0",
+    "hash": "sha256-FU8qj3DR8bDdc1c+WeGZx/PCZeqqndweZM9epcpXjSo="
+  },
+  {
+    "pname": "Microsoft.Identity.Client",
+    "version": "4.61.3",
+    "hash": "sha256-1cccC8EWlIQlJ3SSOB7CNImOYSaxsJpRHvlCgv2yOtA="
+  },
+  {
+    "pname": "Microsoft.Identity.Client.Extensions.Msal",
+    "version": "4.61.3",
+    "hash": "sha256-nFQ2C7S4BQ4nvQmGAc5Ar7/ynKyztvK7fPKrpJXaQFE="
+  },
+  {
+    "pname": "Microsoft.IdentityModel.Abstractions",
+    "version": "6.35.0",
+    "hash": "sha256-bxyYu6/QgaA4TQYBr5d+bzICL+ktlkdy/tb/1fBu00Q="
+  },
+  {
+    "pname": "Microsoft.IdentityModel.Abstractions",
+    "version": "7.5.0",
+    "hash": "sha256-C849ySgag1us+IfgbSsloz6HTKeuEkN14HGFv4OML1o="
+  },
+  {
+    "pname": "Microsoft.IdentityModel.JsonWebTokens",
+    "version": "7.5.0",
+    "hash": "sha256-TbU0dSLxUaTBxd9aLAlG4EeR2lrBE+6RJUlgefbqsQg="
+  },
+  {
+    "pname": "Microsoft.IdentityModel.Logging",
+    "version": "7.5.0",
+    "hash": "sha256-RdUbGTvnbB11pmWxEKRaP6uPI2ITEcB/PxqgxHl33uM="
+  },
+  {
+    "pname": "Microsoft.IdentityModel.Protocols",
+    "version": "7.5.0",
+    "hash": "sha256-SX8JpQ4HzFzngmh9QHGVz2GH7TrUdX8WXBSkykQFFaU="
+  },
+  {
+    "pname": "Microsoft.IdentityModel.Protocols.OpenIdConnect",
+    "version": "7.5.0",
+    "hash": "sha256-m4FYxiqNyU9FnqFJKcQnE7npc5HTulHdbk3bcooqWp8="
+  },
+  {
+    "pname": "Microsoft.IdentityModel.Tokens",
+    "version": "7.5.0",
+    "hash": "sha256-AI74ljCROXqXcktxc9T80NpBvwDZeVnRlJz+ofk1RVs="
+  },
+  {
+    "pname": "Microsoft.NET.Test.Sdk",
+    "version": "17.10.0",
+    "hash": "sha256-rkHIqB2mquNXF89XBTFpUL2z5msjTBsOcyjSBCh36I0="
+  },
+  {
+    "pname": "Microsoft.NETCore.Platforms",
+    "version": "1.0.1",
+    "hash": "sha256-mZotlGZqtrqDSoBrZhsxFe6fuOv5/BIo0w2Z2x0zVAU="
+  },
+  {
+    "pname": "Microsoft.NETCore.Platforms",
+    "version": "1.1.0",
+    "hash": "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="
+  },
+  {
+    "pname": "Microsoft.NETCore.Platforms",
+    "version": "3.1.0",
+    "hash": "sha256-cnygditsEaU86bnYtIthNMymAHqaT/sf9Gjykhzqgb0="
+  },
+  {
+    "pname": "Microsoft.NETCore.Platforms",
+    "version": "5.0.0",
+    "hash": "sha256-LIcg1StDcQLPOABp4JRXIs837d7z0ia6+++3SF3jl1c="
+  },
+  {
+    "pname": "Microsoft.NETCore.Targets",
+    "version": "1.0.1",
+    "hash": "sha256-lxxw/Gy32xHi0fLgFWNj4YTFBSBkjx5l6ucmbTyf7V4="
+  },
+  {
+    "pname": "Microsoft.NETCore.Targets",
+    "version": "1.1.0",
+    "hash": "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ="
+  },
+  {
+    "pname": "Microsoft.OpenApi",
+    "version": "1.6.14",
+    "hash": "sha256-dSJUic2orPGfYVgto9DieRckbtLpPyxHtf+RJ2tmKPM="
+  },
+  {
+    "pname": "Microsoft.SqlServer.Server",
+    "version": "1.0.0",
+    "hash": "sha256-mx/iqHmBMwA8Ulot0n6YFVIKsU1Tx7q4Tru7MSjbEgQ="
+  },
+  {
+    "pname": "Microsoft.TestPlatform.ObjectModel",
+    "version": "16.9.1",
+    "hash": "sha256-LZJLTWU2DOnuBiN/g+S+rwG2/BJtKrjydKnj3ujp98U="
+  },
+  {
+    "pname": "Microsoft.TestPlatform.ObjectModel",
+    "version": "17.10.0",
+    "hash": "sha256-3YjVGK2zEObksBGYg8b/CqoJgLQ1jUv4GCWNjDhLRh4="
+  },
+  {
+    "pname": "Microsoft.TestPlatform.TestHost",
+    "version": "17.10.0",
+    "hash": "sha256-+yzP3FY6WoOosSpYnB7duZLhOPUZMQYy8zJ1d3Q4hK4="
+  },
+  {
+    "pname": "Microsoft.Win32.Primitives",
+    "version": "4.3.0",
+    "hash": "sha256-mBNDmPXNTW54XLnPAUwBRvkIORFM7/j0D0I2SyQPDEg="
+  },
+  {
+    "pname": "Microsoft.Win32.SystemEvents",
+    "version": "4.7.0",
+    "hash": "sha256-GHxnD1Plb32GJWVWSv0Y51Kgtlb+cdKgOYVBYZSgVF4="
+  },
+  {
+    "pname": "Microsoft.Win32.SystemEvents",
+    "version": "5.0.0",
+    "hash": "sha256-mGUKg+bmB5sE/DCwsTwCsbe00MCwpgxsVW3nCtQiSmo="
+  },
+  {
+    "pname": "MimeKit",
+    "version": "4.12.0",
+    "hash": "sha256-4i/RvXyXQsb6LlEs7tZWz5d5ab8mw3R8Wwp7FXSbMaA="
+  },
+  {
+    "pname": "Mono.Cecil",
+    "version": "0.11.1",
+    "hash": "sha256-J8+oOA/aJIit4nmhZ3NugJKRupHp9SgivRZUvMHP+jA="
+  },
+  {
+    "pname": "Mono.Nat",
+    "version": "3.0.1",
+    "hash": "sha256-AG7yzcuXoPFMBtJfWZbOZwx97TMemI16HhP9qHliw/c="
+  },
+  {
+    "pname": "Mono.Posix.NETStandard",
+    "version": "5.20.1.34-servarr20",
+    "hash": "sha256-6dHPPXtZRFLnNWISsEeQJhv5Umya+8ptZh8xhBXLOnM=",
+    "url": "https://pkgs.dev.azure.com/Servarr/7ab38f4e-5a57-4d70-84f4-94dd9bc5d6df/_packaging/9845f7c9-6c8c-4845-b5ee-58375c59e0d8/nuget/v3/flat2/mono.posix.netstandard/5.20.1.34-servarr20/mono.posix.netstandard.5.20.1.34-servarr20.nupkg"
+  },
+  {
+    "pname": "MonoTorrent",
+    "version": "2.0.7",
+    "hash": "sha256-XaFeK3ornvYeLL1YuR60Yjne/hIOgb0orQ4duZ2AFgw="
+  },
+  {
+    "pname": "Moq",
+    "version": "4.17.2",
+    "hash": "sha256-EhgDJCox7CeyGzoXQnZ9DRRH1IFELtSNca6B6KVS6fw="
+  },
+  {
+    "pname": "NBuilder",
+    "version": "6.1.0",
+    "hash": "sha256-3EulDuYIUjs2PyKJVLzMgMr9opLik8A8v3hMZ10qEZ8="
+  },
+  {
+    "pname": "NETStandard.Library",
+    "version": "1.6.1",
+    "hash": "sha256-iNan1ix7RtncGWC9AjAZ2sk70DoxOsmEOgQ10fXm4Pw="
+  },
+  {
+    "pname": "NETStandard.Library",
+    "version": "2.0.0",
+    "hash": "sha256-Pp7fRylai8JrE1O+9TGfIEJrAOmnWTJRLWE+qJBahK0="
+  },
+  {
+    "pname": "Newtonsoft.Json",
+    "version": "13.0.1",
+    "hash": "sha256-K2tSVW4n4beRPzPu3rlVaBEMdGvWSv/3Q1fxaDh4Mjo="
+  },
+  {
+    "pname": "Newtonsoft.Json",
+    "version": "13.0.3",
+    "hash": "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="
+  },
+  {
+    "pname": "Newtonsoft.Json",
+    "version": "9.0.1",
+    "hash": "sha256-mYCBrgUhIJFzRuLLV9SIiIFHovzfR8Uuqfg6e08EnlU="
+  },
+  {
+    "pname": "NLog",
+    "version": "5.4.0",
+    "hash": "sha256-l2R0UHHCL02KPMC96e62AL2ONFD0PAty619y9UnD25A="
+  },
+  {
+    "pname": "NLog.Extensions.Logging",
+    "version": "5.4.0",
+    "hash": "sha256-9pVBguAKnjmbtKM3wBVBEzovXkoEXgqvB4IhiayAkVo="
+  },
+  {
+    "pname": "NLog.Layouts.ClefJsonLayout",
+    "version": "1.0.3",
+    "hash": "sha256-Rgf3s3Q9TXdzZHwb+VCBupazvmrgAPZcrKGBhV9Jh6Q="
+  },
+  {
+    "pname": "NLog.Targets.Syslog",
+    "version": "7.0.0",
+    "hash": "sha256-Yy6REt1UxkdFz+twa0zJVm635YHch7B6t9Pjj5FZUZc="
+  },
+  {
+    "pname": "NodaTime",
+    "version": "3.2.0",
+    "hash": "sha256-kt59MWEzmMFBgpw5tOPlcYwZKe74WkA9N5ggrLS3tUM="
+  },
+  {
+    "pname": "Npgsql",
+    "version": "9.0.3",
+    "hash": "sha256-X3F05GNj3vNVl++VOV5TMYE5dvEe6cx0k+5yWo2Q/+o="
+  },
+  {
+    "pname": "NuGet.Frameworks",
+    "version": "5.0.0",
+    "hash": "sha256-WWLh+v9Y9as+WURW8tUPowQB8HWIiVJzbpKzEWTdMqI="
+  },
+  {
+    "pname": "NUnit",
+    "version": "3.14.0",
+    "hash": "sha256-CuP/q5HovPWfAW3Cty/QxRi7VpjykJ3TDLq5TENI6KY="
+  },
+  {
+    "pname": "NUnit3TestAdapter",
+    "version": "4.5.0",
+    "hash": "sha256-ER3ogl0L5FYyc6pVVPY1ch+AQxG/WgFcnWECnYQJPes="
+  },
+  {
+    "pname": "NunitXml.TestLogger",
+    "version": "3.0.131",
+    "hash": "sha256-5IqI/e+nm90CAaZHrcbYfCY+zu5FVcpAbV0CmsdOKyg="
+  },
+  {
+    "pname": "Polly",
+    "version": "8.5.2",
+    "hash": "sha256-IrN06ddOIJ0VYuVefe3LvfW0kX20ATRQkEBg9CBomRA="
+  },
+  {
+    "pname": "Polly.Contrib.WaitAndRetry",
+    "version": "1.1.1",
+    "hash": "sha256-InJ8IXAsZDAR4B/YzWCuEWRa/6Xf5oB049UJUkTOoSg="
+  },
+  {
+    "pname": "Polly.Core",
+    "version": "8.5.2",
+    "hash": "sha256-PAwsWqrCieCf/7Y87fV7XMKoaY2abCQNtI+4oyyMifk="
+  },
+  {
+    "pname": "RestSharp",
+    "version": "106.15.0",
+    "hash": "sha256-8UChXxz7AQmQpoozSBfwB6NVmt2+uJcN8TH7RtVfT7w="
+  },
+  {
+    "pname": "ReusableTasks",
+    "version": "2.0.0",
+    "hash": "sha256-SjWKCeZtLkpDYzPuhHIJuLHjzAMFjm9jJSb0iWwyT2E="
+  },
+  {
+    "pname": "runtime.any.System.Collections",
+    "version": "4.3.0",
+    "hash": "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8="
+  },
+  {
+    "pname": "runtime.any.System.Diagnostics.Tools",
+    "version": "4.3.0",
+    "hash": "sha256-8yLKFt2wQxkEf7fNfzB+cPUCjYn2qbqNgQ1+EeY2h/I="
+  },
+  {
+    "pname": "runtime.any.System.Diagnostics.Tracing",
+    "version": "4.3.0",
+    "hash": "sha256-dsmTLGvt8HqRkDWP8iKVXJCS+akAzENGXKPV18W2RgI="
+  },
+  {
+    "pname": "runtime.any.System.Globalization",
+    "version": "4.3.0",
+    "hash": "sha256-PaiITTFI2FfPylTEk7DwzfKeiA/g/aooSU1pDcdwWLU="
+  },
+  {
+    "pname": "runtime.any.System.Globalization.Calendars",
+    "version": "4.3.0",
+    "hash": "sha256-AYh39tgXJVFu8aLi9Y/4rK8yWMaza4S4eaxjfcuEEL4="
+  },
+  {
+    "pname": "runtime.any.System.IO",
+    "version": "4.3.0",
+    "hash": "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE="
+  },
+  {
+    "pname": "runtime.any.System.Reflection",
+    "version": "4.3.0",
+    "hash": "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk="
+  },
+  {
+    "pname": "runtime.any.System.Reflection.Extensions",
+    "version": "4.3.0",
+    "hash": "sha256-Y2AnhOcJwJVYv7Rp6Jz6ma0fpITFqJW+8rsw106K2X8="
+  },
+  {
+    "pname": "runtime.any.System.Reflection.Primitives",
+    "version": "4.3.0",
+    "hash": "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ="
+  },
+  {
+    "pname": "runtime.any.System.Resources.ResourceManager",
+    "version": "4.3.0",
+    "hash": "sha256-9EvnmZslLgLLhJ00o5MWaPuJQlbUFcUF8itGQNVkcQ4="
+  },
+  {
+    "pname": "runtime.any.System.Runtime",
+    "version": "4.3.0",
+    "hash": "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM="
+  },
+  {
+    "pname": "runtime.any.System.Runtime.Handles",
+    "version": "4.3.0",
+    "hash": "sha256-PQRACwnSUuxgVySO1840KvqCC9F8iI9iTzxNW0RcBS4="
+  },
+  {
+    "pname": "runtime.any.System.Runtime.InteropServices",
+    "version": "4.3.0",
+    "hash": "sha256-Kaw5PnLYIiqWbsoF3VKJhy7pkpoGsUwn4ZDCKscbbzA="
+  },
+  {
+    "pname": "runtime.any.System.Text.Encoding",
+    "version": "4.3.0",
+    "hash": "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs="
+  },
+  {
+    "pname": "runtime.any.System.Text.Encoding.Extensions",
+    "version": "4.3.0",
+    "hash": "sha256-6MYj0RmLh4EVqMtO/MRqBi0HOn5iG4x9JimgCCJ+EFM="
+  },
+  {
+    "pname": "runtime.any.System.Threading.Tasks",
+    "version": "4.3.0",
+    "hash": "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4="
+  },
+  {
+    "pname": "runtime.any.System.Threading.Timer",
+    "version": "4.3.0",
+    "hash": "sha256-BgHxXCIbicVZtpgMimSXixhFC3V+p5ODqeljDjO8hCs="
+  },
+  {
+    "pname": "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+    "version": "4.3.0",
+    "hash": "sha256-LXUPLX3DJxsU1Pd3UwjO1PO9NM2elNEDXeu2Mu/vNps="
+  },
+  {
+    "pname": "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+    "version": "4.3.0",
+    "hash": "sha256-qeSqaUI80+lqw5MK4vMpmO0CZaqrmYktwp6L+vQAb0I="
+  },
+  {
+    "pname": "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+    "version": "4.3.0",
+    "hash": "sha256-SrHqT9wrCBsxILWtaJgGKd6Odmxm8/Mh7Kh0CUkZVzA="
+  },
+  {
+    "pname": "runtime.native.System",
+    "version": "4.0.0",
+    "hash": "sha256-bmaM0ovT4X4aqDJOR255Yda/u3fmHZskU++lMnsy894="
+  },
+  {
+    "pname": "runtime.native.System",
+    "version": "4.3.0",
+    "hash": "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y="
+  },
+  {
+    "pname": "runtime.native.System.IO.Compression",
+    "version": "4.3.0",
+    "hash": "sha256-DWnXs4vlKoU6WxxvCArTJupV6sX3iBbZh8SbqfHace8="
+  },
+  {
+    "pname": "runtime.native.System.Net.Http",
+    "version": "4.3.0",
+    "hash": "sha256-c556PyheRwpYhweBjSfIwEyZHnAUB8jWioyKEcp/2dg="
+  },
+  {
+    "pname": "runtime.native.System.Security.Cryptography.Apple",
+    "version": "4.3.0",
+    "hash": "sha256-2IhBv0i6pTcOyr8FFIyfPEaaCHUmJZ8DYwLUwJ+5waw="
+  },
+  {
+    "pname": "runtime.native.System.Security.Cryptography.OpenSsl",
+    "version": "4.3.0",
+    "hash": "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I="
+  },
+  {
+    "pname": "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+    "version": "4.3.0",
+    "hash": "sha256-wyv00gdlqf8ckxEdV7E+Ql9hJIoPcmYEuyeWb5Oz3mM="
+  },
+  {
+    "pname": "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+    "version": "4.3.0",
+    "hash": "sha256-zi+b4sCFrA9QBiSGDD7xPV27r3iHGlV99gpyVUjRmc4="
+  },
+  {
+    "pname": "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple",
+    "version": "4.3.0",
+    "hash": "sha256-serkd4A7F6eciPiPJtUyJyxzdAtupEcWIZQ9nptEzIM="
+  },
+  {
+    "pname": "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+    "version": "4.3.0",
+    "hash": "sha256-gybQU6mPgaWV3rBG2dbH6tT3tBq8mgze3PROdsuWnX0="
+  },
+  {
+    "pname": "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+    "version": "4.3.0",
+    "hash": "sha256-VsP72GVveWnGUvS/vjOQLv1U80H2K8nZ4fDAmI61Hm4="
+  },
+  {
+    "pname": "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+    "version": "4.3.0",
+    "hash": "sha256-4yKGa/IrNCKuQ3zaDzILdNPD32bNdy6xr5gdJigyF5g="
+  },
+  {
+    "pname": "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+    "version": "4.3.0",
+    "hash": "sha256-HmdJhhRsiVoOOCcUvAwdjpMRiyuSwdcgEv2j9hxi+Zc="
+  },
+  {
+    "pname": "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl",
+    "version": "4.3.0",
+    "hash": "sha256-pVFUKuPPIx0edQKjzRon3zKq8zhzHEzko/lc01V/jdw="
+  },
+  {
+    "pname": "runtime.unix.Microsoft.Win32.Primitives",
+    "version": "4.3.0",
+    "hash": "sha256-LZb23lRXzr26tRS5aA0xyB08JxiblPDoA7HBvn6awXg="
+  },
+  {
+    "pname": "runtime.unix.System.Console",
+    "version": "4.3.0",
+    "hash": "sha256-AHkdKShTRHttqfMjmi+lPpTuCrM5vd/WRy6Kbtie190="
+  },
+  {
+    "pname": "runtime.unix.System.Diagnostics.Debug",
+    "version": "4.3.0",
+    "hash": "sha256-ReoazscfbGH+R6s6jkg5sIEHWNEvjEoHtIsMbpc7+tI="
+  },
+  {
+    "pname": "runtime.unix.System.IO.FileSystem",
+    "version": "4.3.0",
+    "hash": "sha256-Pf4mRl6YDK2x2KMh0WdyNgv0VUNdSKVDLlHqozecy5I="
+  },
+  {
+    "pname": "runtime.unix.System.Net.Primitives",
+    "version": "4.3.0",
+    "hash": "sha256-pHJ+I6i16MV6m77uhTC6GPY6jWGReE3SSP3fVB59ti0="
+  },
+  {
+    "pname": "runtime.unix.System.Net.Sockets",
+    "version": "4.3.0",
+    "hash": "sha256-IvgOeA2JuBjKl5yAVGjPYMPDzs9phb3KANs95H9v1w4="
+  },
+  {
+    "pname": "runtime.unix.System.Private.Uri",
+    "version": "4.3.0",
+    "hash": "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs="
+  },
+  {
+    "pname": "runtime.unix.System.Runtime.Extensions",
+    "version": "4.3.0",
+    "hash": "sha256-l8S9gt6dk3qYG6HYonHtdlYtBKyPb29uQ6NDjmrt3V4="
+  },
+  {
+    "pname": "Sentry",
+    "version": "4.0.2",
+    "hash": "sha256-TzsAxAYqB2SdcSl+r92+nd5obgUBW1DCFP/nXzAZE4U="
+  },
+  {
+    "pname": "Servarr.FFMpegCore",
+    "version": "4.7.0-26",
+    "hash": "sha256-oGzgsbJ4sxuhIVgNP4oHLjD2enF1cV+AXwJndNrfFIY=",
+    "url": "https://pkgs.dev.azure.com/Servarr/7ab38f4e-5a57-4d70-84f4-94dd9bc5d6df/_packaging/783c2dce-dbc3-4218-8816-4a5e12af4d84/nuget/v3/flat2/servarr.ffmpegcore/4.7.0-26/servarr.ffmpegcore.4.7.0-26.nupkg"
+  },
+  {
+    "pname": "Servarr.FFprobe",
+    "version": "5.1.4.112",
+    "hash": "sha256-OdPIvZcrGj0XaqFJQCnrPt0zgPPvB5nd7WpYFF9Bnh0=",
+    "url": "https://pkgs.dev.azure.com/Servarr/7ab38f4e-5a57-4d70-84f4-94dd9bc5d6df/_packaging/783c2dce-dbc3-4218-8816-4a5e12af4d84/nuget/v3/flat2/servarr.ffprobe/5.1.4.112/servarr.ffprobe.5.1.4.112.nupkg"
+  },
+  {
+    "pname": "Servarr.FluentMigrator",
+    "version": "3.3.2.9",
+    "hash": "sha256-vJEcb2uxbOAoYB8niFO+f3Zer7iNkfx6kF8NNkIjy9M=",
+    "url": "https://pkgs.dev.azure.com/Servarr/7ab38f4e-5a57-4d70-84f4-94dd9bc5d6df/_packaging/323efe4e-c7d8-4bcd-acfe-5afb38d520bf/nuget/v3/flat2/servarr.fluentmigrator/3.3.2.9/servarr.fluentmigrator.3.3.2.9.nupkg"
+  },
+  {
+    "pname": "Servarr.FluentMigrator.Abstractions",
+    "version": "3.3.2.9",
+    "hash": "sha256-lYrOaKbdDkxspsAOhnHj7QwQtR3tyy7Gy2K/9gaCBpg=",
+    "url": "https://pkgs.dev.azure.com/Servarr/7ab38f4e-5a57-4d70-84f4-94dd9bc5d6df/_packaging/323efe4e-c7d8-4bcd-acfe-5afb38d520bf/nuget/v3/flat2/servarr.fluentmigrator.abstractions/3.3.2.9/servarr.fluentmigrator.abstractions.3.3.2.9.nupkg"
+  },
+  {
+    "pname": "Servarr.FluentMigrator.Extensions.Oracle",
+    "version": "3.3.2.9",
+    "hash": "sha256-0vHyF48Jr9ZWaA8oQGoKAWWoddLKf/3Vi68GhJ6um5M=",
+    "url": "https://pkgs.dev.azure.com/Servarr/7ab38f4e-5a57-4d70-84f4-94dd9bc5d6df/_packaging/323efe4e-c7d8-4bcd-acfe-5afb38d520bf/nuget/v3/flat2/servarr.fluentmigrator.extensions.oracle/3.3.2.9/servarr.fluentmigrator.extensions.oracle.3.3.2.9.nupkg"
+  },
+  {
+    "pname": "Servarr.FluentMigrator.Extensions.Postgres",
+    "version": "3.3.2.9",
+    "hash": "sha256-D0AuYHgvs8/rALlHoMj5KCLhpp84YZ7nat4Y27sMDW8=",
+    "url": "https://pkgs.dev.azure.com/Servarr/7ab38f4e-5a57-4d70-84f4-94dd9bc5d6df/_packaging/323efe4e-c7d8-4bcd-acfe-5afb38d520bf/nuget/v3/flat2/servarr.fluentmigrator.extensions.postgres/3.3.2.9/servarr.fluentmigrator.extensions.postgres.3.3.2.9.nupkg"
+  },
+  {
+    "pname": "Servarr.FluentMigrator.Extensions.SqlAnywhere",
+    "version": "3.3.2.9",
+    "hash": "sha256-i2o82mr8cNVnP6yryzCKpVlhvlCSugphoICorDiR59c=",
+    "url": "https://pkgs.dev.azure.com/Servarr/7ab38f4e-5a57-4d70-84f4-94dd9bc5d6df/_packaging/323efe4e-c7d8-4bcd-acfe-5afb38d520bf/nuget/v3/flat2/servarr.fluentmigrator.extensions.sqlanywhere/3.3.2.9/servarr.fluentmigrator.extensions.sqlanywhere.3.3.2.9.nupkg"
+  },
+  {
+    "pname": "Servarr.FluentMigrator.Extensions.SqlServer",
+    "version": "3.3.2.9",
+    "hash": "sha256-Hw1CHZ5ZewkLKWpRH42Nm4rBv33aFFGPBhPZn1DjQRM=",
+    "url": "https://pkgs.dev.azure.com/Servarr/7ab38f4e-5a57-4d70-84f4-94dd9bc5d6df/_packaging/323efe4e-c7d8-4bcd-acfe-5afb38d520bf/nuget/v3/flat2/servarr.fluentmigrator.extensions.sqlserver/3.3.2.9/servarr.fluentmigrator.extensions.sqlserver.3.3.2.9.nupkg"
+  },
+  {
+    "pname": "Servarr.FluentMigrator.Runner",
+    "version": "3.3.2.9",
+    "hash": "sha256-koza7zbpTLpzFEnlrLkVxPVSSgZcD9bECZuFVFDZFQg=",
+    "url": "https://pkgs.dev.azure.com/Servarr/7ab38f4e-5a57-4d70-84f4-94dd9bc5d6df/_packaging/323efe4e-c7d8-4bcd-acfe-5afb38d520bf/nuget/v3/flat2/servarr.fluentmigrator.runner/3.3.2.9/servarr.fluentmigrator.runner.3.3.2.9.nupkg"
+  },
+  {
+    "pname": "Servarr.FluentMigrator.Runner.Core",
+    "version": "3.3.2.9",
+    "hash": "sha256-wLwHIeJrn/c3fKZG/xBf0Wxe0C/YFw4uDL5oDHgjw6c=",
+    "url": "https://pkgs.dev.azure.com/Servarr/7ab38f4e-5a57-4d70-84f4-94dd9bc5d6df/_packaging/323efe4e-c7d8-4bcd-acfe-5afb38d520bf/nuget/v3/flat2/servarr.fluentmigrator.runner.core/3.3.2.9/servarr.fluentmigrator.runner.core.3.3.2.9.nupkg"
+  },
+  {
+    "pname": "Servarr.FluentMigrator.Runner.Db2",
+    "version": "3.3.2.9",
+    "hash": "sha256-ciLtDPc4H/3JCa27ssdBMjNhxmW6polIRygauK0Ca8Y=",
+    "url": "https://pkgs.dev.azure.com/Servarr/7ab38f4e-5a57-4d70-84f4-94dd9bc5d6df/_packaging/323efe4e-c7d8-4bcd-acfe-5afb38d520bf/nuget/v3/flat2/servarr.fluentmigrator.runner.db2/3.3.2.9/servarr.fluentmigrator.runner.db2.3.3.2.9.nupkg"
+  },
+  {
+    "pname": "Servarr.FluentMigrator.Runner.Firebird",
+    "version": "3.3.2.9",
+    "hash": "sha256-rLNjYe0seSWj3YFvaaToCHZmHxi2Texu7i4NW/zgux0=",
+    "url": "https://pkgs.dev.azure.com/Servarr/7ab38f4e-5a57-4d70-84f4-94dd9bc5d6df/_packaging/323efe4e-c7d8-4bcd-acfe-5afb38d520bf/nuget/v3/flat2/servarr.fluentmigrator.runner.firebird/3.3.2.9/servarr.fluentmigrator.runner.firebird.3.3.2.9.nupkg"
+  },
+  {
+    "pname": "Servarr.FluentMigrator.Runner.Hana",
+    "version": "3.3.2.9",
+    "hash": "sha256-7Cmn2kwdoWwX+yNCQ6GPICLaPVSCPAbraLj/GHAX0YE=",
+    "url": "https://pkgs.dev.azure.com/Servarr/7ab38f4e-5a57-4d70-84f4-94dd9bc5d6df/_packaging/323efe4e-c7d8-4bcd-acfe-5afb38d520bf/nuget/v3/flat2/servarr.fluentmigrator.runner.hana/3.3.2.9/servarr.fluentmigrator.runner.hana.3.3.2.9.nupkg"
+  },
+  {
+    "pname": "Servarr.FluentMigrator.Runner.MySql",
+    "version": "3.3.2.9",
+    "hash": "sha256-MY4G+SFZqmQSeValnUVNz5QP1BU4Hv/CSOdrpsz179k=",
+    "url": "https://pkgs.dev.azure.com/Servarr/7ab38f4e-5a57-4d70-84f4-94dd9bc5d6df/_packaging/323efe4e-c7d8-4bcd-acfe-5afb38d520bf/nuget/v3/flat2/servarr.fluentmigrator.runner.mysql/3.3.2.9/servarr.fluentmigrator.runner.mysql.3.3.2.9.nupkg"
+  },
+  {
+    "pname": "Servarr.FluentMigrator.Runner.Oracle",
+    "version": "3.3.2.9",
+    "hash": "sha256-4Gy/rhaGYYhwtKywuxA5ECRJkYPu5chS4Iq9shf4J3g=",
+    "url": "https://pkgs.dev.azure.com/Servarr/7ab38f4e-5a57-4d70-84f4-94dd9bc5d6df/_packaging/323efe4e-c7d8-4bcd-acfe-5afb38d520bf/nuget/v3/flat2/servarr.fluentmigrator.runner.oracle/3.3.2.9/servarr.fluentmigrator.runner.oracle.3.3.2.9.nupkg"
+  },
+  {
+    "pname": "Servarr.FluentMigrator.Runner.Postgres",
+    "version": "3.3.2.9",
+    "hash": "sha256-MaZjUZENrdyzFDTVcJfDh4xIvbE7m8hLD2sUrZhgR54=",
+    "url": "https://pkgs.dev.azure.com/Servarr/7ab38f4e-5a57-4d70-84f4-94dd9bc5d6df/_packaging/323efe4e-c7d8-4bcd-acfe-5afb38d520bf/nuget/v3/flat2/servarr.fluentmigrator.runner.postgres/3.3.2.9/servarr.fluentmigrator.runner.postgres.3.3.2.9.nupkg"
+  },
+  {
+    "pname": "Servarr.FluentMigrator.Runner.Redshift",
+    "version": "3.3.2.9",
+    "hash": "sha256-jnKGzc/saQ8g7Xnqh/qE8divtR1z2tpAC16t6mIpwPA=",
+    "url": "https://pkgs.dev.azure.com/Servarr/7ab38f4e-5a57-4d70-84f4-94dd9bc5d6df/_packaging/323efe4e-c7d8-4bcd-acfe-5afb38d520bf/nuget/v3/flat2/servarr.fluentmigrator.runner.redshift/3.3.2.9/servarr.fluentmigrator.runner.redshift.3.3.2.9.nupkg"
+  },
+  {
+    "pname": "Servarr.FluentMigrator.Runner.SqlAnywhere",
+    "version": "3.3.2.9",
+    "hash": "sha256-qZ3tBRp8tkhzn8dCE90Lkqg5lT8QnZVp8hIulpSa7rs=",
+    "url": "https://pkgs.dev.azure.com/Servarr/7ab38f4e-5a57-4d70-84f4-94dd9bc5d6df/_packaging/323efe4e-c7d8-4bcd-acfe-5afb38d520bf/nuget/v3/flat2/servarr.fluentmigrator.runner.sqlanywhere/3.3.2.9/servarr.fluentmigrator.runner.sqlanywhere.3.3.2.9.nupkg"
+  },
+  {
+    "pname": "Servarr.FluentMigrator.Runner.SQLite",
+    "version": "3.3.2.9",
+    "hash": "sha256-dfRiBhT0kwhcWyc2Ib2rbzZj4ZlPfWI0u2CF8QljA6Q=",
+    "url": "https://pkgs.dev.azure.com/Servarr/7ab38f4e-5a57-4d70-84f4-94dd9bc5d6df/_packaging/323efe4e-c7d8-4bcd-acfe-5afb38d520bf/nuget/v3/flat2/servarr.fluentmigrator.runner.sqlite/3.3.2.9/servarr.fluentmigrator.runner.sqlite.3.3.2.9.nupkg"
+  },
+  {
+    "pname": "Servarr.FluentMigrator.Runner.SqlServer",
+    "version": "3.3.2.9",
+    "hash": "sha256-mDIfUT35CqEUbf858hrtJE0E65U7ZJlygoZAHi2Hlf8=",
+    "url": "https://pkgs.dev.azure.com/Servarr/7ab38f4e-5a57-4d70-84f4-94dd9bc5d6df/_packaging/323efe4e-c7d8-4bcd-acfe-5afb38d520bf/nuget/v3/flat2/servarr.fluentmigrator.runner.sqlserver/3.3.2.9/servarr.fluentmigrator.runner.sqlserver.3.3.2.9.nupkg"
+  },
+  {
+    "pname": "Servarr.FluentMigrator.Runner.SqlServerCe",
+    "version": "3.3.2.9",
+    "hash": "sha256-kx3ZjLj1zz/1buiWrAJPuB5GXCohpntpq4ak5WG1SR4=",
+    "url": "https://pkgs.dev.azure.com/Servarr/7ab38f4e-5a57-4d70-84f4-94dd9bc5d6df/_packaging/323efe4e-c7d8-4bcd-acfe-5afb38d520bf/nuget/v3/flat2/servarr.fluentmigrator.runner.sqlserverce/3.3.2.9/servarr.fluentmigrator.runner.sqlserverce.3.3.2.9.nupkg"
+  },
+  {
+    "pname": "SharpZipLib",
+    "version": "1.4.2",
+    "hash": "sha256-/giVqikworG2XKqfN9uLyjUSXr35zBuZ2FX2r8X/WUY="
+  },
+  {
+    "pname": "SixLabors.ImageSharp",
+    "version": "3.1.9",
+    "hash": "sha256-sB1wGc419iqT+Stm+RFMFhBy3LM0YnHhrgmhYiGlf4Q="
+  },
+  {
+    "pname": "Swashbuckle.AspNetCore.Annotations",
+    "version": "6.6.2",
+    "hash": "sha256-iL7TcRFy7g6EB8usWALwdOEaiqLsD0b+RXkepHk43+o="
+  },
+  {
+    "pname": "Swashbuckle.AspNetCore.Swagger",
+    "version": "6.6.2",
+    "hash": "sha256-HqMmHMZXYHlRMoT3vIZF8iwhYmfknQmi3N8VmyfwI0k="
+  },
+  {
+    "pname": "Swashbuckle.AspNetCore.SwaggerGen",
+    "version": "6.6.2",
+    "hash": "sha256-km+bNoRDakEBa2dIjtxK0V6YVvm9hEpdi8xWQ8TJigI="
+  },
+  {
+    "pname": "System.AppContext",
+    "version": "4.1.0",
+    "hash": "sha256-v6YfyfrKmhww+EYHUq6cwYUMj00MQ6SOfJtcGVRlYzs="
+  },
+  {
+    "pname": "System.AppContext",
+    "version": "4.3.0",
+    "hash": "sha256-yg95LNQOwFlA1tWxXdQkVyJqT4AnoDc+ACmrNvzGiZg="
+  },
+  {
+    "pname": "System.Buffers",
+    "version": "4.3.0",
+    "hash": "sha256-XqZWb4Kd04960h4U9seivjKseGA/YEIpdplfHYHQ9jk="
+  },
+  {
+    "pname": "System.ClientModel",
+    "version": "1.0.0",
+    "hash": "sha256-yHb72M/Z8LeSZea9TKw2eD0SdYEoCNwVw6Z3695SC2Y="
+  },
+  {
+    "pname": "System.Collections",
+    "version": "4.0.11",
+    "hash": "sha256-puoFMkx4Z55C1XPxNw3np8nzNGjH+G24j43yTIsDRL0="
+  },
+  {
+    "pname": "System.Collections",
+    "version": "4.3.0",
+    "hash": "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc="
+  },
+  {
+    "pname": "System.Collections.Concurrent",
+    "version": "4.3.0",
+    "hash": "sha256-KMY5DfJnDeIsa13DpqvyN8NkReZEMAFnlmNglVoFIXI="
+  },
+  {
+    "pname": "System.Collections.NonGeneric",
+    "version": "4.3.0",
+    "hash": "sha256-8/yZmD4jjvq7m68SPkJZLBQ79jOTOyT5lyzX4SCYAx8="
+  },
+  {
+    "pname": "System.Collections.Specialized",
+    "version": "4.3.0",
+    "hash": "sha256-QNg0JJNx+zXMQ26MJRPzH7THdtqjrNtGLUgaR1SdvOk="
+  },
+  {
+    "pname": "System.ComponentModel",
+    "version": "4.3.0",
+    "hash": "sha256-i00uujMO4JEDIEPKLmdLY3QJ6vdSpw6Gh9oOzkFYBiU="
+  },
+  {
+    "pname": "System.ComponentModel.Annotations",
+    "version": "4.4.1",
+    "hash": "sha256-8NZ0tWPqRYf3ovkn4OQapGsHeseEYKg91nqZAU33hrQ="
+  },
+  {
+    "pname": "System.ComponentModel.Primitives",
+    "version": "4.3.0",
+    "hash": "sha256-IOMJleuIBppmP4ECB3uftbdcgL7CCd56+oAD/Sqrbus="
+  },
+  {
+    "pname": "System.ComponentModel.TypeConverter",
+    "version": "4.3.0",
+    "hash": "sha256-PSDiPYt8PgTdTUBz+GH6lHCaM1YgfObneHnZsc8Fz54="
+  },
+  {
+    "pname": "System.Configuration.ConfigurationManager",
+    "version": "4.4.0",
+    "hash": "sha256-+8wGYllXnIxRzy9dLhZFB88GoPj8ivYXS0KUfcivT8I="
+  },
+  {
+    "pname": "System.Configuration.ConfigurationManager",
+    "version": "8.0.1",
+    "hash": "sha256-2vgU/BBFDOO2506UX6mtuBQ9c2bCShLLhoy67l7418E="
+  },
+  {
+    "pname": "System.Console",
+    "version": "4.3.0",
+    "hash": "sha256-Xh3PPBZr0pDbDaK8AEHbdGz7ePK6Yi1ZyRWI1JM6mbo="
+  },
+  {
+    "pname": "System.Data.SQLite.Core.Servarr",
+    "version": "1.0.115.5-18",
+    "hash": "sha256-H6QvKNKkW6PwHwDWAUVeXlqz9fJTEwIAS3YtcbOwpTc=",
+    "url": "https://pkgs.dev.azure.com/Servarr/7ab38f4e-5a57-4d70-84f4-94dd9bc5d6df/_packaging/f762697f-09fa-4960-89a1-64e48069bf6a/nuget/v3/flat2/system.data.sqlite.core.servarr/1.0.115.5-18/system.data.sqlite.core.servarr.1.0.115.5-18.nupkg"
+  },
+  {
+    "pname": "System.Diagnostics.Debug",
+    "version": "4.0.11",
+    "hash": "sha256-P+rSQJVoN6M56jQbs76kZ9G3mAWFdtF27P/RijN8sj4="
+  },
+  {
+    "pname": "System.Diagnostics.Debug",
+    "version": "4.3.0",
+    "hash": "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM="
+  },
+  {
+    "pname": "System.Diagnostics.DiagnosticSource",
+    "version": "4.3.0",
+    "hash": "sha256-OFJRb0ygep0Z3yDBLwAgM/Tkfs4JCDtsNhwDH9cd1Xw="
+  },
+  {
+    "pname": "System.Diagnostics.DiagnosticSource",
+    "version": "6.0.1",
+    "hash": "sha256-Xi8wrUjVlioz//TPQjFHqcV/QGhTqnTfUcltsNlcCJ4="
+  },
+  {
+    "pname": "System.Diagnostics.EventLog",
+    "version": "8.0.1",
+    "hash": "sha256-zvqd72pwgcGoa1nH3ZT1C0mP9k53vFLJ69r5MCQ1saA="
+  },
+  {
+    "pname": "System.Diagnostics.Tools",
+    "version": "4.0.1",
+    "hash": "sha256-vSBqTbmWXylvRa37aWyktym+gOpsvH43mwr6A962k6U="
+  },
+  {
+    "pname": "System.Diagnostics.Tools",
+    "version": "4.3.0",
+    "hash": "sha256-gVOv1SK6Ape0FQhCVlNOd9cvQKBvMxRX9K0JPVi8w0Y="
+  },
+  {
+    "pname": "System.Diagnostics.TraceSource",
+    "version": "4.3.0",
+    "hash": "sha256-xpxwaXsRcgso8Gj0cqY4+Hvvz6vZkmEMh5/J204j3M8="
+  },
+  {
+    "pname": "System.Diagnostics.Tracing",
+    "version": "4.3.0",
+    "hash": "sha256-hCETZpHHGVhPYvb4C0fh4zs+8zv4GPoixagkLZjpa9Q="
+  },
+  {
+    "pname": "System.Drawing.Common",
+    "version": "4.7.0",
+    "hash": "sha256-D3qG+xAe78lZHvlco9gHK2TEAM370k09c6+SQi873Hk="
+  },
+  {
+    "pname": "System.Drawing.Common",
+    "version": "5.0.2",
+    "hash": "sha256-+g0aHEpoLVNfmFY3/CaFiM6aMLiZQt0B4hDy8riPbyI="
+  },
+  {
+    "pname": "System.Dynamic.Runtime",
+    "version": "4.0.11",
+    "hash": "sha256-qWqFVxuXioesVftv2RVJZOnmojUvRjb7cS3Oh3oTit4="
+  },
+  {
+    "pname": "System.Dynamic.Runtime",
+    "version": "4.3.0",
+    "hash": "sha256-k75gjOYimIQtLBD5NDzwwi3ZMUBPRW3jmc3evDMMJbU="
+  },
+  {
+    "pname": "System.Formats.Asn1",
+    "version": "8.0.1",
+    "hash": "sha256-may/Wg+esmm1N14kQTG4ESMBi+GQKPp0ZrrBo/o6OXM="
+  },
+  {
+    "pname": "System.Globalization",
+    "version": "4.0.11",
+    "hash": "sha256-rbSgc2PIEc2c2rN6LK3qCREAX3DqA2Nq1WcLrZYsDBw="
+  },
+  {
+    "pname": "System.Globalization",
+    "version": "4.3.0",
+    "hash": "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI="
+  },
+  {
+    "pname": "System.Globalization.Calendars",
+    "version": "4.3.0",
+    "hash": "sha256-uNOD0EOVFgnS2fMKvMiEtI9aOw00+Pfy/H+qucAQlPc="
+  },
+  {
+    "pname": "System.Globalization.Extensions",
+    "version": "4.3.0",
+    "hash": "sha256-mmJWA27T0GRVuFP9/sj+4TrR4GJWrzNIk2PDrbr7RQk="
+  },
+  {
+    "pname": "System.IdentityModel.Tokens.Jwt",
+    "version": "7.5.0",
+    "hash": "sha256-K3OUOGrTYKJdnRTHERdSZWTxb5QNL4wBKCahcswdKrc="
+  },
+  {
+    "pname": "System.IO",
+    "version": "4.1.0",
+    "hash": "sha256-V6oyQFwWb8NvGxAwvzWnhPxy9dKOfj/XBM3tEC5aHrw="
+  },
+  {
+    "pname": "System.IO",
+    "version": "4.3.0",
+    "hash": "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY="
+  },
+  {
+    "pname": "System.IO.Compression",
+    "version": "4.3.0",
+    "hash": "sha256-f5PrQlQgj5Xj2ZnHxXW8XiOivaBvfqDao9Sb6AVinyA="
+  },
+  {
+    "pname": "System.IO.Compression.ZipFile",
+    "version": "4.3.0",
+    "hash": "sha256-WQl+JgWs+GaRMeiahTFUbrhlXIHapzcpTFXbRvAtvvs="
+  },
+  {
+    "pname": "System.IO.FileSystem",
+    "version": "4.0.1",
+    "hash": "sha256-4VKXFgcGYCTWVXjAlniAVq0dO3o5s8KHylg2wg2/7k0="
+  },
+  {
+    "pname": "System.IO.FileSystem",
+    "version": "4.3.0",
+    "hash": "sha256-vNIYnvlayuVj0WfRfYKpDrhDptlhp1pN8CYmlVd2TXw="
+  },
+  {
+    "pname": "System.IO.FileSystem.AccessControl",
+    "version": "5.0.0",
+    "hash": "sha256-c9MlDKJfj63YRvl7brRBNs59olrmbL+G1A6oTS8ytEc="
+  },
+  {
+    "pname": "System.IO.FileSystem.Primitives",
+    "version": "4.0.1",
+    "hash": "sha256-IpigKMomqb6pmYWkrlf0ZdpILtRluX2cX5sOKVW0Feg="
+  },
+  {
+    "pname": "System.IO.FileSystem.Primitives",
+    "version": "4.3.0",
+    "hash": "sha256-LMnfg8Vwavs9cMnq9nNH8IWtAtSfk0/Fy4s4Rt9r1kg="
+  },
+  {
+    "pname": "System.Linq",
+    "version": "4.1.0",
+    "hash": "sha256-ZQpFtYw5N1F1aX0jUK3Tw+XvM5tnlnshkTCNtfVA794="
+  },
+  {
+    "pname": "System.Linq",
+    "version": "4.3.0",
+    "hash": "sha256-R5uiSL3l6a3XrXSSL6jz+q/PcyVQzEAByiuXZNSqD/A="
+  },
+  {
+    "pname": "System.Linq.Expressions",
+    "version": "4.1.0",
+    "hash": "sha256-7zqB+FXgkvhtlBzpcZyd81xczWP0D3uWssyAGw3t7b4="
+  },
+  {
+    "pname": "System.Linq.Expressions",
+    "version": "4.3.0",
+    "hash": "sha256-+3pvhZY7rip8HCbfdULzjlC9FPZFpYoQxhkcuFm2wk8="
+  },
+  {
+    "pname": "System.Memory",
+    "version": "4.6.3",
+    "hash": "sha256-JgeK63WMmumF6L+FH5cwJgYdpqXrSDcgTQwtIgTHKVU="
+  },
+  {
+    "pname": "System.Memory.Data",
+    "version": "1.0.2",
+    "hash": "sha256-XiVrVQZQIz4NgjiK/wtH8iZhhOZ9MJ+X2hL2/8BrGN0="
+  },
+  {
+    "pname": "System.Net.Http",
+    "version": "4.3.0",
+    "hash": "sha256-UoBB7WPDp2Bne/fwxKF0nE8grJ6FzTMXdT/jfsphj8Q="
+  },
+  {
+    "pname": "System.Net.NameResolution",
+    "version": "4.3.0",
+    "hash": "sha256-eGZwCBExWsnirWBHyp2sSSSXp6g7I6v53qNmwPgtJ5c="
+  },
+  {
+    "pname": "System.Net.Primitives",
+    "version": "4.3.0",
+    "hash": "sha256-MY7Z6vOtFMbEKaLW9nOSZeAjcWpwCtdO7/W1mkGZBzE="
+  },
+  {
+    "pname": "System.Net.Sockets",
+    "version": "4.3.0",
+    "hash": "sha256-il7dr5VT/QWDg/0cuh+4Es2u8LY//+qqiY9BZmYxSus="
+  },
+  {
+    "pname": "System.Numerics.Vectors",
+    "version": "4.5.0",
+    "hash": "sha256-qdSTIFgf2htPS+YhLGjAGiLN8igCYJnCCo6r78+Q+c8="
+  },
+  {
+    "pname": "System.ObjectModel",
+    "version": "4.0.12",
+    "hash": "sha256-MudZ/KYcvYsn2cST3EE049mLikrNkmE7QoUoYKKby+s="
+  },
+  {
+    "pname": "System.ObjectModel",
+    "version": "4.3.0",
+    "hash": "sha256-gtmRkWP2Kwr3nHtDh0yYtce38z1wrGzb6fjm4v8wN6Q="
+  },
+  {
+    "pname": "System.Private.Uri",
+    "version": "4.3.0",
+    "hash": "sha256-fVfgcoP4AVN1E5wHZbKBIOPYZ/xBeSIdsNF+bdukIRM="
+  },
+  {
+    "pname": "System.Reflection",
+    "version": "4.1.0",
+    "hash": "sha256-idZHGH2Yl/hha1CM4VzLhsaR8Ljo/rV7TYe7mwRJSMs="
+  },
+  {
+    "pname": "System.Reflection",
+    "version": "4.3.0",
+    "hash": "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY="
+  },
+  {
+    "pname": "System.Reflection.Emit",
+    "version": "4.0.1",
+    "hash": "sha256-F1MvYoQWHCY89/O4JBwswogitqVvKuVfILFqA7dmuHk="
+  },
+  {
+    "pname": "System.Reflection.Emit",
+    "version": "4.3.0",
+    "hash": "sha256-5LhkDmhy2FkSxulXR+bsTtMzdU3VyyuZzsxp7/DwyIU="
+  },
+  {
+    "pname": "System.Reflection.Emit",
+    "version": "4.7.0",
+    "hash": "sha256-Fw/CSRD+wajH1MqfKS3Q/sIrUH7GN4K+F+Dx68UPNIg="
+  },
+  {
+    "pname": "System.Reflection.Emit.ILGeneration",
+    "version": "4.0.1",
+    "hash": "sha256-YG+eJBG5P+5adsHiw/lhJwvREnvdHw6CJyS8ZV4Ujd0="
+  },
+  {
+    "pname": "System.Reflection.Emit.ILGeneration",
+    "version": "4.3.0",
+    "hash": "sha256-mKRknEHNls4gkRwrEgi39B+vSaAz/Gt3IALtS98xNnA="
+  },
+  {
+    "pname": "System.Reflection.Emit.Lightweight",
+    "version": "4.0.1",
+    "hash": "sha256-uVvNOnL64CPqsgZP2OLqNmxdkZl6Q0fTmKmv9gcBi+g="
+  },
+  {
+    "pname": "System.Reflection.Emit.Lightweight",
+    "version": "4.3.0",
+    "hash": "sha256-rKx4a9yZKcajloSZHr4CKTVJ6Vjh95ni+zszPxWjh2I="
+  },
+  {
+    "pname": "System.Reflection.Extensions",
+    "version": "4.0.1",
+    "hash": "sha256-NsfmzM9G/sN3H8X2cdnheTGRsh7zbRzvegnjDzDH/FQ="
+  },
+  {
+    "pname": "System.Reflection.Extensions",
+    "version": "4.3.0",
+    "hash": "sha256-mMOCYzUenjd4rWIfq7zIX9PFYk/daUyF0A8l1hbydAk="
+  },
+  {
+    "pname": "System.Reflection.Metadata",
+    "version": "1.5.0",
+    "hash": "sha256-wM75ACJUeypeOdaBUj4oTYiSWmg7A1usMpwRQXjSGK8="
+  },
+  {
+    "pname": "System.Reflection.Metadata",
+    "version": "1.6.0",
+    "hash": "sha256-JJfgaPav7UfEh4yRAQdGhLZF1brr0tUWPl6qmfNWq/E="
+  },
+  {
+    "pname": "System.Reflection.Primitives",
+    "version": "4.0.1",
+    "hash": "sha256-SFSfpWEyCBMAOerrMCOiKnpT+UAWTvRcmoRquJR6Vq0="
+  },
+  {
+    "pname": "System.Reflection.Primitives",
+    "version": "4.3.0",
+    "hash": "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM="
+  },
+  {
+    "pname": "System.Reflection.TypeExtensions",
+    "version": "4.1.0",
+    "hash": "sha256-R0YZowmFda+xzKNR4kKg7neFoE30KfZwp/IwfRSKVK4="
+  },
+  {
+    "pname": "System.Reflection.TypeExtensions",
+    "version": "4.3.0",
+    "hash": "sha256-4U4/XNQAnddgQIHIJq3P2T80hN0oPdU2uCeghsDTWng="
+  },
+  {
+    "pname": "System.Resources.ResourceManager",
+    "version": "4.0.1",
+    "hash": "sha256-cZ2/3/fczLjEpn6j3xkgQV9ouOVjy4Kisgw5xWw9kSw="
+  },
+  {
+    "pname": "System.Resources.ResourceManager",
+    "version": "4.3.0",
+    "hash": "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo="
+  },
+  {
+    "pname": "System.Runtime",
+    "version": "4.1.0",
+    "hash": "sha256-FViNGM/4oWtlP6w0JC0vJU+k9efLKZ+yaXrnEeabDQo="
+  },
+  {
+    "pname": "System.Runtime",
+    "version": "4.3.0",
+    "hash": "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg="
+  },
+  {
+    "pname": "System.Runtime.CompilerServices.Unsafe",
+    "version": "4.4.0",
+    "hash": "sha256-SeTI4+yVRO2SmAKgOrMni4070OD+Oo8L1YiEVeKDyig="
+  },
+  {
+    "pname": "System.Runtime.CompilerServices.Unsafe",
+    "version": "6.0.0",
+    "hash": "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I="
+  },
+  {
+    "pname": "System.Runtime.Extensions",
+    "version": "4.1.0",
+    "hash": "sha256-X7DZ5CbPY7jHs20YZ7bmcXs9B5Mxptu/HnBUvUnNhGc="
+  },
+  {
+    "pname": "System.Runtime.Extensions",
+    "version": "4.3.0",
+    "hash": "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o="
+  },
+  {
+    "pname": "System.Runtime.Handles",
+    "version": "4.0.1",
+    "hash": "sha256-j2QgVO9ZOjv7D1het98CoFpjoYgxjupuIhuBUmLLH7w="
+  },
+  {
+    "pname": "System.Runtime.Handles",
+    "version": "4.3.0",
+    "hash": "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms="
+  },
+  {
+    "pname": "System.Runtime.InteropServices",
+    "version": "4.1.0",
+    "hash": "sha256-QceAYlJvkPRJc/+5jR+wQpNNI3aqGySWWSO30e/FfQY="
+  },
+  {
+    "pname": "System.Runtime.InteropServices",
+    "version": "4.3.0",
+    "hash": "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI="
+  },
+  {
+    "pname": "System.Runtime.InteropServices.RuntimeInformation",
+    "version": "4.0.0",
+    "hash": "sha256-5j53amb76A3SPiE3B0llT2XPx058+CgE7OXL4bLalT4="
+  },
+  {
+    "pname": "System.Runtime.InteropServices.RuntimeInformation",
+    "version": "4.3.0",
+    "hash": "sha256-MYpl6/ZyC6hjmzWRIe+iDoldOMW1mfbwXsduAnXIKGA="
+  },
+  {
+    "pname": "System.Runtime.Loader",
+    "version": "4.3.0",
+    "hash": "sha256-syG1GTFjYbwX146BD/L7t55j+DZqpHDc6z28kdSNzx0="
+  },
+  {
+    "pname": "System.Runtime.Numerics",
+    "version": "4.3.0",
+    "hash": "sha256-P5jHCgMbgFMYiONvzmaKFeOqcAIDPu/U8bOVrNPYKqc="
+  },
+  {
+    "pname": "System.Runtime.Serialization.Primitives",
+    "version": "4.1.1",
+    "hash": "sha256-80B05oxJbPLGq2pGOSl6NlZvintX9A1CNpna2aN0WRA="
+  },
+  {
+    "pname": "System.Security.AccessControl",
+    "version": "4.7.0",
+    "hash": "sha256-/9ZCPIHLdhzq7OW4UKqTsR0O93jjHd6BRG1SRwgHE1g="
+  },
+  {
+    "pname": "System.Security.AccessControl",
+    "version": "5.0.0",
+    "hash": "sha256-ueSG+Yn82evxyGBnE49N4D+ngODDXgornlBtQ3Omw54="
+  },
+  {
+    "pname": "System.Security.Claims",
+    "version": "4.3.0",
+    "hash": "sha256-Fua/rDwAqq4UByRVomAxMPmDBGd5eImRqHVQIeSxbks="
+  },
+  {
+    "pname": "System.Security.Cryptography.Algorithms",
+    "version": "4.3.0",
+    "hash": "sha256-tAJvNSlczYBJ3Ed24Ae27a55tq/n4D3fubNQdwcKWA8="
+  },
+  {
+    "pname": "System.Security.Cryptography.Cng",
+    "version": "4.3.0",
+    "hash": "sha256-u17vy6wNhqok91SrVLno2M1EzLHZm6VMca85xbVChsw="
+  },
+  {
+    "pname": "System.Security.Cryptography.Csp",
+    "version": "4.3.0",
+    "hash": "sha256-oefdTU/Z2PWU9nlat8uiRDGq/PGZoSPRgkML11pmvPQ="
+  },
+  {
+    "pname": "System.Security.Cryptography.Encoding",
+    "version": "4.3.0",
+    "hash": "sha256-Yuge89N6M+NcblcvXMeyHZ6kZDfwBv3LPMDiF8HhJss="
+  },
+  {
+    "pname": "System.Security.Cryptography.OpenSsl",
+    "version": "4.3.0",
+    "hash": "sha256-DL+D2sc2JrQiB4oAcUggTFyD8w3aLEjJfod5JPe+Oz4="
+  },
+  {
+    "pname": "System.Security.Cryptography.Pkcs",
+    "version": "8.0.1",
+    "hash": "sha256-KMNIkJ3yQ/5O6WIhPjyAIarsvIMhkp26A6aby5KkneU="
+  },
+  {
+    "pname": "System.Security.Cryptography.Primitives",
+    "version": "4.3.0",
+    "hash": "sha256-fnFi7B3SnVj5a+BbgXnbjnGNvWrCEU6Hp/wjsjWz318="
+  },
+  {
+    "pname": "System.Security.Cryptography.ProtectedData",
+    "version": "4.4.0",
+    "hash": "sha256-Ri53QmFX8I8UH0x4PikQ1ZA07ZSnBUXStd5rBfGWFOE="
+  },
+  {
+    "pname": "System.Security.Cryptography.ProtectedData",
+    "version": "4.7.0",
+    "hash": "sha256-dZfs5q3Ij1W1eJCfYjxI2o+41aSiFpaAugpoECaCOug="
+  },
+  {
+    "pname": "System.Security.Cryptography.ProtectedData",
+    "version": "8.0.0",
+    "hash": "sha256-fb0pa9sQxN+mr0vnXg1Igbx49CaOqS+GDkTfWNboUvs="
+  },
+  {
+    "pname": "System.Security.Cryptography.X509Certificates",
+    "version": "4.3.0",
+    "hash": "sha256-MG3V/owDh273GCUPsGGraNwaVpcydupl3EtPXj6TVG0="
+  },
+  {
+    "pname": "System.Security.Permissions",
+    "version": "4.7.0",
+    "hash": "sha256-BGgXMLUi5rxVmmChjIhcXUxisJjvlNToXlyaIbUxw40="
+  },
+  {
+    "pname": "System.Security.Principal",
+    "version": "4.3.0",
+    "hash": "sha256-rjudVUHdo8pNJg2EVEn0XxxwNo5h2EaYo+QboPkXlYk="
+  },
+  {
+    "pname": "System.Security.Principal.Windows",
+    "version": "4.3.0",
+    "hash": "sha256-mbdLVUcEwe78p3ZnB6jYsizNEqxMaCAWI3tEQNhRQAE="
+  },
+  {
+    "pname": "System.Security.Principal.Windows",
+    "version": "4.7.0",
+    "hash": "sha256-rWBM2U8Kq3rEdaa1MPZSYOOkbtMGgWyB8iPrpIqmpqg="
+  },
+  {
+    "pname": "System.Security.Principal.Windows",
+    "version": "5.0.0",
+    "hash": "sha256-CBOQwl9veFkrKK2oU8JFFEiKIh/p+aJO+q9Tc2Q/89Y="
+  },
+  {
+    "pname": "System.ServiceProcess.ServiceController",
+    "version": "8.0.1",
+    "hash": "sha256-2cXTzNOyXqJinFPzdVJ9Gu6qrFtycfivu7RHDzBJic8="
+  },
+  {
+    "pname": "System.Text.Encoding",
+    "version": "4.0.11",
+    "hash": "sha256-PEailOvG05CVgPTyKLtpAgRydlSHmtd5K0Y8GSHY2Lc="
+  },
+  {
+    "pname": "System.Text.Encoding",
+    "version": "4.3.0",
+    "hash": "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg="
+  },
+  {
+    "pname": "System.Text.Encoding.CodePages",
+    "version": "8.0.0",
+    "hash": "sha256-fjCLQc1PRW0Ix5IZldg0XKv+J1DqPSfu9pjMyNBp7dE="
+  },
+  {
+    "pname": "System.Text.Encoding.Extensions",
+    "version": "4.0.11",
+    "hash": "sha256-+kf7J3dEhgCbnCM5vHYlsTm5/R/Ud0Jr6elpHm922iI="
+  },
+  {
+    "pname": "System.Text.Encoding.Extensions",
+    "version": "4.3.0",
+    "hash": "sha256-vufHXg8QAKxHlujPHHcrtGwAqFmsCD6HKjfDAiHyAYc="
+  },
+  {
+    "pname": "System.Text.Encodings.Web",
+    "version": "4.7.2",
+    "hash": "sha256-CUZOulSeRy1CGBm7mrNrTumA9od9peKiIDR/Nb1B4io="
+  },
+  {
+    "pname": "System.Text.Json",
+    "version": "8.0.5",
+    "hash": "sha256-yKxo54w5odWT6nPruUVsaX53oPRe+gKzGvLnnxtwP68="
+  },
+  {
+    "pname": "System.Text.RegularExpressions",
+    "version": "4.1.0",
+    "hash": "sha256-x6OQN6MCN7S0fJ6EFTfv4rczdUWjwuWE9QQ0P6fbh9c="
+  },
+  {
+    "pname": "System.Text.RegularExpressions",
+    "version": "4.3.0",
+    "hash": "sha256-VLCk1D1kcN2wbAe3d0YQM/PqCsPHOuqlBY1yd2Yo+K0="
+  },
+  {
+    "pname": "System.Threading",
+    "version": "4.0.11",
+    "hash": "sha256-mob1Zv3qLQhQ1/xOLXZmYqpniNUMCfn02n8ZkaAhqac="
+  },
+  {
+    "pname": "System.Threading",
+    "version": "4.3.0",
+    "hash": "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc="
+  },
+  {
+    "pname": "System.Threading.Tasks",
+    "version": "4.0.11",
+    "hash": "sha256-5SLxzFg1df6bTm2t09xeI01wa5qQglqUwwJNlQPJIVs="
+  },
+  {
+    "pname": "System.Threading.Tasks",
+    "version": "4.3.0",
+    "hash": "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w="
+  },
+  {
+    "pname": "System.Threading.Tasks.Extensions",
+    "version": "4.0.0",
+    "hash": "sha256-+YdcPkMhZhRbMZHnfsDwpNbUkr31X7pQFGxXYcAPZbE="
+  },
+  {
+    "pname": "System.Threading.Tasks.Extensions",
+    "version": "4.3.0",
+    "hash": "sha256-X2hQ5j+fxcmnm88Le/kSavjiGOmkcumBGTZKBLvorPc="
+  },
+  {
+    "pname": "System.Threading.Tasks.Extensions",
+    "version": "4.5.4",
+    "hash": "sha256-owSpY8wHlsUXn5xrfYAiu847L6fAKethlvYx97Ri1ng="
+  },
+  {
+    "pname": "System.Threading.ThreadPool",
+    "version": "4.3.0",
+    "hash": "sha256-wW0QdvssRoaOfQLazTGSnwYTurE4R8FxDx70pYkL+gg="
+  },
+  {
+    "pname": "System.Threading.Timer",
+    "version": "4.3.0",
+    "hash": "sha256-pmhslmhQhP32TWbBzoITLZ4BoORBqYk25OWbru04p9s="
+  },
+  {
+    "pname": "System.ValueTuple",
+    "version": "4.4.0",
+    "hash": "sha256-LqpI3bSaXqVPqfEdfsWE2qX9tzFV6VPU6x4A/fVzzfM="
+  },
+  {
+    "pname": "System.ValueTuple",
+    "version": "4.6.1",
+    "hash": "sha256-Hb87MPcNdHQRlREDzFEKU8ZqtKN26bjyAiimJmm6LWI="
+  },
+  {
+    "pname": "System.Windows.Extensions",
+    "version": "4.7.0",
+    "hash": "sha256-yW+GvQranReaqPw5ZFv+mSjByQ5y1pRLl05JIEf3tYU="
+  },
+  {
+    "pname": "System.Xml.ReaderWriter",
+    "version": "4.0.11",
+    "hash": "sha256-haZAFFQ9Sl2DhfvEbdx2YRqKEoxNMU5STaqpMmXw0zA="
+  },
+  {
+    "pname": "System.Xml.ReaderWriter",
+    "version": "4.3.0",
+    "hash": "sha256-QQ8KgU0lu4F5Unh+TbechO//zaAGZ4MfgvW72Cn1hzA="
+  },
+  {
+    "pname": "System.Xml.XDocument",
+    "version": "4.0.11",
+    "hash": "sha256-KPz1kxe0RUBM+aoktJ/f9p51GudMERU8Pmwm//HdlFg="
+  },
+  {
+    "pname": "System.Xml.XDocument",
+    "version": "4.3.0",
+    "hash": "sha256-rWtdcmcuElNOSzCehflyKwHkDRpiOhJJs8CeQ0l1CCI="
+  },
+  {
+    "pname": "System.Xml.XmlDocument",
+    "version": "4.3.0",
+    "hash": "sha256-kbuV4Y7rVJkfMp2Kgoi8Zvdatm9CZNmlKB3GZgANvy4="
+  }
+]
diff --git a/pkgs/by-name/ra/radarr/package.nix b/pkgs/by-name/ra/radarr/package.nix
new file mode 100644
index 000000000000..3c547a315198
--- /dev/null
+++ b/pkgs/by-name/ra/radarr/package.nix
@@ -0,0 +1,206 @@
+{
+  lib,
+  stdenvNoCC,
+  fetchFromGitHub,
+  buildDotnetModule,
+  dotnetCorePackages,
+  sqlite,
+  withFFmpeg ? true, # replace bundled ffprobe binary with symlink to ffmpeg package.
+  servarr-ffmpeg,
+  fetchYarnDeps,
+  yarn,
+  fixup-yarn-lock,
+  nodejs,
+  nixosTests,
+  # update script
+  writers,
+  python3Packages,
+  nix,
+  prefetch-yarn-deps,
+  fetchpatch,
+  applyPatches,
+}:
+let
+  version = "5.26.2.10099";
+  # The dotnet8 compatibility patches also change `yarn.lock`, so we must pass
+  # the already patched lockfile to `fetchYarnDeps`.
+  src = applyPatches {
+    src = fetchFromGitHub {
+      owner = "Radarr";
+      repo = "Radarr";
+      tag = "v${version}";
+      hash = "sha256-7tU9oxE1F/dcR5bwb/qHyux3WA6lEwdozLloDgOMVbU=";
+    };
+    postPatch = ''
+      mv src/NuGet.config NuGet.Config
+    '';
+    patches = lib.optionals (lib.versionOlder version "6.0") [
+      # See https://github.com/Radarr/Radarr/pull/11064
+      # Unfortunately, the .NET 8 upgrade will be merged into the v6 branch,
+      # and it may take some time for that to become stable.
+      # However, the patches cleanly apply to v5 as well.
+      (fetchpatch {
+        name = "dotnet8-compatibility";
+        url = "https://github.com/Radarr/Radarr/commit/490891c63de589604bdc3373cfc85068c3826648.patch";
+        hash = "sha256-SCP7MPUkEZLSrls8ouekSXpXdgAJTwNFPirHjaMkQ6s=";
+      })
+      (fetchpatch {
+        name = "dotnet8-darwin-compatibility";
+        url = "https://github.com/Radarr/Radarr/commit/f38a129289c49a242d8901dc2f041f9dc8bfc303.patch";
+        hash = "sha256-SAMUHqlSj8FPq20wY8NWbRytVZXTPtMXMfM3CoM8kSA=";
+      })
+    ];
+  };
+  rid = dotnetCorePackages.systemToDotnetRid stdenvNoCC.hostPlatform.system;
+in
+buildDotnetModule {
+  pname = "radarr";
+  inherit version src;
+
+  strictDeps = true;
+  nativeBuildInputs = [
+    nodejs
+    yarn
+    prefetch-yarn-deps
+    fixup-yarn-lock
+  ];
+
+  yarnOfflineCache = fetchYarnDeps {
+    yarnLock = "${src}/yarn.lock";
+    hash = "sha256-WFILG6nLEc8WO0j0CKH7RcX1++ucVOCge/UKcpHj87A=";
+  };
+
+  ffprobe = lib.optionalDrvAttr withFFmpeg (lib.getExe' servarr-ffmpeg "ffprobe");
+
+  postConfigure = ''
+    yarn config --offline set yarn-offline-mirror "$yarnOfflineCache"
+    fixup-yarn-lock yarn.lock
+    yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
+    patchShebangs --build node_modules
+  '';
+  postBuild = ''
+    yarn --offline run build --env production
+  '';
+  postInstall =
+    lib.optionalString withFFmpeg ''
+      rm -- "$out/lib/radarr/ffprobe"
+      ln -s -- "$ffprobe" "$out/lib/radarr/ffprobe"
+    ''
+    + ''
+      cp -a -- _output/UI "$out/lib/radarr/UI"
+    '';
+
+  nugetDeps = ./deps.json;
+
+  runtimeDeps = [ sqlite ];
+
+  dotnet-sdk = dotnetCorePackages.sdk_8_0;
+  dotnet-runtime = dotnetCorePackages.aspnetcore_8_0;
+
+  doCheck = true;
+
+  __darwinAllowLocalNetworking = true; # for tests
+
+  __structuredAttrs = true; # for Copyright property that contains spaces
+
+  executables = [ "Radarr" ];
+
+  projectFile = [
+    "src/NzbDrone.Console/Radarr.Console.csproj"
+    "src/NzbDrone.Mono/Radarr.Mono.csproj"
+  ];
+
+  testProjectFile = [
+    "src/NzbDrone.Api.Test/Radarr.Api.Test.csproj"
+    "src/NzbDrone.Common.Test/Radarr.Common.Test.csproj"
+    "src/NzbDrone.Core.Test/Radarr.Core.Test.csproj"
+    "src/NzbDrone.Host.Test/Radarr.Host.Test.csproj"
+    "src/NzbDrone.Libraries.Test/Radarr.Libraries.Test.csproj"
+    "src/NzbDrone.Mono.Test/Radarr.Mono.Test.csproj"
+    "src/NzbDrone.Test.Common/Radarr.Test.Common.csproj"
+  ];
+
+  dotnetFlags = [
+    "--property:TargetFramework=net8.0"
+    "--property:EnableAnalyzers=false"
+    "--property:SentryUploadSymbols=false" # Fix Sentry upload failed warnings
+    # Override defaults in src/Directory.Build.props that use current time.
+    "--property:Copyright=Copyright 2014-2025 radarr.video (GNU General Public v3)"
+    "--property:AssemblyVersion=${version}"
+    "--property:AssemblyConfiguration=master"
+    "--property:RuntimeIdentifier=${rid}"
+  ];
+
+  # Skip manual, integration, automation and platform-dependent tests.
+  testFilters =
+    [
+      "TestCategory!=ManualTest"
+      "TestCategory!=IntegrationTest"
+      "TestCategory!=AutomationTest"
+
+      # makes real HTTP requests
+      "FullyQualifiedName!~NzbDrone.Core.Test.UpdateTests.UpdatePackageProviderFixture"
+    ]
+    ++ lib.optionals stdenvNoCC.buildPlatform.isDarwin [
+      # fails on macOS
+      "FullyQualifiedName!~NzbDrone.Core.Test.Http.HttpProxySettingsProviderFixture"
+    ];
+
+  disabledTests =
+    [
+      # setgid tests
+      "NzbDrone.Mono.Test.DiskProviderTests.DiskProviderFixture.should_preserve_setgid_on_set_folder_permissions"
+      "NzbDrone.Mono.Test.DiskProviderTests.DiskProviderFixture.should_clear_setgid_on_set_folder_permissions"
+
+      # we do not set application data directory during tests (i.e. XDG data directory)
+      "NzbDrone.Mono.Test.DiskProviderTests.FreeSpaceFixture.should_return_free_disk_space"
+      "NzbDrone.Common.Test.ServiceFactoryFixture.event_handlers_should_be_unique"
+
+      # attempts to read /etc/*release and fails since it does not exist
+      "NzbDrone.Mono.Test.EnvironmentInfo.ReleaseFileVersionAdapterFixture.should_get_version_info"
+
+      # fails to start test dummy because it cannot locate .NET runtime for some reason
+      "NzbDrone.Common.Test.ProcessProviderFixture.should_be_able_to_start_process"
+      "NzbDrone.Common.Test.ProcessProviderFixture.exists_should_find_running_process"
+      "NzbDrone.Common.Test.ProcessProviderFixture.kill_all_should_kill_all_process_with_name"
+    ]
+    ++ lib.optionals stdenvNoCC.buildPlatform.isDarwin [
+      # flaky on darwin
+      "NzbDrone.Core.Test.NotificationTests.TraktServiceFixture.should_add_collection_movie_if_valid_mediainfo"
+      "NzbDrone.Core.Test.NotificationTests.TraktServiceFixture.should_format_audio_channels_to_one_decimal_when_adding_collection_movie"
+    ];
+
+  passthru = {
+    tests = {
+      inherit (nixosTests) radarr;
+    };
+
+    updateScript = writers.writePython3 "radarr-updater" {
+      libraries = with python3Packages; [ requests ];
+      flakeIgnore = [ "E501" ];
+      makeWrapperArgs = [
+        "--prefix"
+        "PATH"
+        ":"
+        (lib.makeBinPath [
+          nix
+          prefetch-yarn-deps
+        ])
+      ];
+    } ./update.py;
+  };
+
+  meta = {
+    description = "Usenet/BitTorrent movie downloader";
+    homepage = "https://radarr.video";
+    changelog = "https://github.com/Radarr/Radarr/releases/tag/v${version}";
+    license = lib.licenses.gpl3Only;
+    maintainers = with lib.maintainers; [
+      edwtjo
+      purcell
+      nyanloutre
+    ];
+    mainProgram = "Radarr";
+    # platforms inherited from dotnet-sdk.
+  };
+}
diff --git a/pkgs/by-name/ra/radarr/update.py b/pkgs/by-name/ra/radarr/update.py
new file mode 100644
index 000000000000..007e4583cae6
--- /dev/null
+++ b/pkgs/by-name/ra/radarr/update.py
@@ -0,0 +1,182 @@
+import json
+import os
+import pathlib
+import requests
+import shutil
+import subprocess
+import sys
+import tempfile
+
+
+def replace_in_file(file_path, replacements):
+    file_contents = pathlib.Path(file_path).read_text()
+    for old, new in replacements.items():
+        if old == new:
+            continue
+        updated_file_contents = file_contents.replace(old, new)
+        # A dumb way to check that we’ve actually replaced the string.
+        if file_contents == updated_file_contents:
+            print(f"no string to replace: {old} → {new}", file=sys.stderr)
+            sys.exit(1)
+        file_contents = updated_file_contents
+    with tempfile.NamedTemporaryFile(mode="w") as t:
+        t.write(file_contents)
+        t.flush()
+        shutil.copyfile(t.name, file_path)
+
+
+def nix_hash_to_sri(hash):
+    return subprocess.run(
+        [
+            "nix",
+            "--extra-experimental-features", "nix-command",
+            "hash",
+            "to-sri",
+            "--type", "sha256",
+            "--",
+            hash,
+        ],
+        stdout=subprocess.PIPE,
+        text=True,
+        check=True,
+    ).stdout.rstrip()
+
+
+nixpkgs_path = "."
+attr_path = os.getenv("UPDATE_NIX_ATTR_PATH", "radarr")
+
+package_attrs = json.loads(subprocess.run(
+    [
+        "nix",
+        "--extra-experimental-features", "nix-command",
+        "eval",
+        "--json",
+        "--file", nixpkgs_path,
+        "--apply", """p: {
+          dir = builtins.dirOf p.meta.position;
+          version = p.version;
+          sourceHash = p.src.src.outputHash;
+          yarnHash = p.yarnOfflineCache.outputHash;
+        }""",
+        "--",
+        attr_path,
+    ],
+    stdout=subprocess.PIPE,
+    text=True,
+    check=True,
+).stdout)
+
+old_version = package_attrs["version"]
+new_version = old_version
+
+# Note that we use Radarr API instead of GitHub to fetch latest stable release.
+# This corresponds to the Updates tab in the web UI. See also
+# https://github.com/Radarr/Radarr/blob/edec432244933a2143c5d13c71de7eb210434e7b/src/NzbDrone.Core/Update/UpdatePackageProvider.cs
+# https://github.com/Radarr/Radarr/blob/edec432244933a2143c5d13c71de7eb210434e7b/src/NzbDrone.Common/Cloud/RadarrCloudRequestBuilder.cs
+version_update = requests.get(
+    f"https://radarr.servarr.com/v1/update/master?version={old_version}&includeMajorVersion=true",
+).json()
+if version_update["available"]:
+    new_version = version_update["updatePackage"]["version"]
+
+if new_version == old_version:
+    sys.exit()
+
+source_nix_hash, source_store_path = subprocess.run(
+    [
+        "nix-prefetch-url",
+        "--name", "source",
+        "--unpack",
+        "--print-path",
+        f"https://github.com/Radarr/Radarr/archive/v{new_version}.tar.gz",
+    ],
+    stdout=subprocess.PIPE,
+    text=True,
+    check=True,
+).stdout.rstrip().split("\n")
+
+old_source_hash = package_attrs["sourceHash"]
+new_source_hash = nix_hash_to_sri(source_nix_hash)
+
+package_dir = package_attrs["dir"]
+package_file_name = "package.nix"
+deps_file_name = "deps.json"
+
+# To update deps.nix, we copy the package to a temporary directory and run
+# passthru.fetch-deps script there.
+with tempfile.TemporaryDirectory() as work_dir:
+    package_file = os.path.join(work_dir, package_file_name)
+    deps_file = os.path.join(work_dir, deps_file_name)
+
+    shutil.copytree(package_dir, work_dir, dirs_exist_ok=True)
+
+    replace_in_file(package_file, {
+        # NB unlike hashes, versions are likely to be used in code or comments.
+        # Try to be more specific to avoid false positive matches.
+        f"version = \"{old_version}\"": f"version = \"{new_version}\"",
+        old_source_hash: new_source_hash,
+    })
+
+    # We need access to the patched and updated src to get the patched
+    # `yarn.lock`.
+    patched_src = os.path.join(work_dir, "patched-src")
+    subprocess.run(
+        [
+            "nix",
+            "--extra-experimental-features", "nix-command",
+            "build",
+            "--impure",
+            "--nix-path", "",
+            "--include", f"nixpkgs={nixpkgs_path}",
+            "--include", f"package={package_file}",
+            "--expr", "(import  { }).callPackage  { }",
+            "--out-link", patched_src,
+            "src",
+        ],
+        check=True,
+    )
+    old_yarn_hash = package_attrs["yarnHash"]
+    new_yarn_hash = nix_hash_to_sri(subprocess.run(
+        [
+            "prefetch-yarn-deps",
+            # does not support "--" separator :(
+            # Also --verbose writes to stdout, yikes.
+            os.path.join(patched_src, "yarn.lock"),
+        ],
+        stdout=subprocess.PIPE,
+        text=True,
+        check=True,
+    ).stdout.rstrip())
+
+    replace_in_file(package_file, {
+        old_yarn_hash: new_yarn_hash,
+    })
+
+    # Generate nuget-to-json dependency lock file.
+    fetch_deps = os.path.join(work_dir, "fetch-deps")
+    subprocess.run(
+        [
+            "nix",
+            "--extra-experimental-features", "nix-command",
+            "build",
+            "--impure",
+            "--nix-path", "",
+            "--include", f"nixpkgs={nixpkgs_path}",
+            "--include", f"package={package_file}",
+            "--expr", "(import  { }).callPackage  { }",
+            "--out-link", fetch_deps,
+            "passthru.fetch-deps",
+        ],
+        check=True,
+    )
+    subprocess.run(
+        [
+            fetch_deps,
+            deps_file,
+        ],
+        stdout=subprocess.DEVNULL,
+        check=True,
+    )
+
+    shutil.copy(deps_file, os.path.join(package_dir, deps_file_name))
+    shutil.copy(package_file, os.path.join(package_dir, package_file_name))
diff --git a/pkgs/development/python-modules/radian/default.nix b/pkgs/by-name/ra/radian/package.nix
similarity index 75%
rename from pkgs/development/python-modules/radian/default.nix
rename to pkgs/by-name/ra/radian/package.nix
index ad83654c3ab3..07b1bc68d156 100644
--- a/pkgs/development/python-modules/radian/default.nix
+++ b/pkgs/by-name/ra/radian/package.nix
@@ -1,31 +1,17 @@
 {
   lib,
-  buildPythonPackage,
+  python3Packages,
   fetchFromGitHub,
-  pytestCheckHook,
-  pyte,
-  pexpect,
-  ptyprocess,
-  pythonOlder,
-  jedi,
   git,
-  lineedit,
-  prompt-toolkit,
-  pygments,
-  rchitect,
   R,
   rPackages,
-  setuptools,
-  setuptools-scm,
 }:
 
-buildPythonPackage rec {
+python3Packages.buildPythonApplication rec {
   pname = "radian";
   version = "0.6.13";
   pyproject = true;
 
-  disabled = pythonOlder "3.9";
-
   src = fetchFromGitHub {
     owner = "randy3k";
     repo = "radian";
@@ -38,7 +24,7 @@ buildPythonPackage rec {
       --replace '"pytest-runner"' ""
   '';
 
-  build-system = [
+  build-system = with python3Packages; [
     setuptools
     setuptools-scm
   ];
@@ -48,25 +34,26 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs =
-    [
+    (with python3Packages; [
       lineedit
       prompt-toolkit
       pygments
       rchitect
-    ]
+    ])
     ++ (with rPackages; [
       reticulate
       askpass
     ]);
 
-  nativeCheckInputs = [
-    pytestCheckHook
-    pyte
-    pexpect
-    ptyprocess
-    jedi
-    git
-  ];
+  nativeCheckInputs =
+    (with python3Packages; [
+      pytestCheckHook
+      pyte
+      pexpect
+      ptyprocess
+      jedi
+    ])
+    ++ [ git ];
 
   makeWrapperArgs = [ "--set R_HOME ${R}/lib/R" ];
 
diff --git a/pkgs/by-name/ra/radicle-node/61865b5b5ad715e2b812087947281f0add9aa05e.patch b/pkgs/by-name/ra/radicle-node/61865b5b5ad715e2b812087947281f0add9aa05e.patch
deleted file mode 100644
index 742ac55a7f54..000000000000
--- a/pkgs/by-name/ra/radicle-node/61865b5b5ad715e2b812087947281f0add9aa05e.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-commit 61865b5b5ad715e2b812087947281f0add9aa05e
-Author: Fintan Halpenny 
-Date:   2024-11-19 14:38:38 +0100
-
-    cob: fix documentation
-    
-    `no_run` will compile but not run the code. Use `ignore` instead, and also added
-    `rust` for syntax highlighting.
-
-diff --git a/radicle-cob/src/backend/git/stable.rs b/radicle-cob/src/backend/git/stable.rs
-index 0d8ea27b..ef18ae55 100644
---- a/radicle-cob/src/backend/git/stable.rs
-+++ b/radicle-cob/src/backend/git/stable.rs
-@@ -53,7 +53,7 @@ pub fn read_timestamp() -> i64 {
- ///
- /// # Usage
- ///
--/// ```no_run
-+/// ```rust, ignore
- /// let oid1 = with_advanced_timestamp(|| cob.update("New revision OID"));
- /// let oid2 = with_advanced_timestamp(|| cob.update("Another revision OID"));
- /// ```
diff --git a/pkgs/by-name/ra/radicle-node/package.nix b/pkgs/by-name/ra/radicle-node/package.nix
index 22dab16a679e..9024e11bddde 100644
--- a/pkgs/by-name/ra/radicle-node/package.nix
+++ b/pkgs/by-name/ra/radicle-node/package.nix
@@ -19,20 +19,22 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "radicle-node";
-  version = "1.1.0";
+  version = "1.2.0";
   env.RADICLE_VERSION = version;
 
   src = fetchgit {
     url = "https://seed.radicle.xyz/z3gqcJUoA1n9HaHKufZs5FCSGazv5.git";
-    rev = "refs/namespaces/z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT/refs/tags/v${version}";
-    hash = "sha256-M4oz9tWjI/eqV4Gz1b512MEmvsZ5u3R9y6P9VeeH9CA=";
+    rev = "refs/namespaces/z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM/refs/tags/v${version}";
+    hash = "sha256-AWgLhL6GslE3r2FcZu2imV5ZtEKlUD+a4C5waRGO2lM=";
+    leaveDotGit = true;
+    postFetch = ''
+      git -C $out rev-parse HEAD > $out/.git_head
+      git -C $out log -1 --pretty=%ct HEAD > $out/.git_time
+      rm -rf $out/.git
+    '';
   };
   useFetchCargoVendor = true;
-  cargoHash = "sha256-SzwBQxTqQafHDtH8+OWkAMDnKh3AH0PeSMBWpHprQWM=";
-
-  patches = [
-    ./61865b5b5ad715e2b812087947281f0add9aa05e.patch
-  ];
+  cargoHash = "sha256-/6VlRwWtJfHf6tXD2HJUTbThwTYeZFTJqtaxclrm3+c=";
 
   nativeBuildInputs = [
     asciidoctor
@@ -41,6 +43,11 @@ rustPlatform.buildRustPackage rec {
   ];
   nativeCheckInputs = [ git ];
 
+  preBuild = ''
+    export GIT_HEAD=$(<$src/.git_head)
+    export SOURCE_DATE_EPOCH=$(<$src/.git_time)
+  '';
+
   # tests regularly time out on aarch64
   doCheck = stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86;
 
diff --git a/pkgs/by-name/ra/randoop/package.nix b/pkgs/by-name/ra/randoop/package.nix
index f3e78214ef70..874494e71b6b 100644
--- a/pkgs/by-name/ra/randoop/package.nix
+++ b/pkgs/by-name/ra/randoop/package.nix
@@ -6,12 +6,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "4.3.3";
+  version = "4.3.4";
   pname = "randoop";
 
   src = fetchurl {
     url = "https://github.com/randoop/randoop/releases/download/v${version}/${pname}-${version}.zip";
-    sha256 = "sha256-x9kAoVa4wvUp3gpg9GCodvjwql3CBtn5EqJIZYSSqVI=";
+    sha256 = "sha256-yzQw9l3uAq51SHXJ4rsZNRCiFdhOEoSrwv9iPvD2i9c=";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/by-name/ra/ranger/package.nix b/pkgs/by-name/ra/ranger/package.nix
index 5017bbd26ac2..ea93a73c13e2 100644
--- a/pkgs/by-name/ra/ranger/package.nix
+++ b/pkgs/by-name/ra/ranger/package.nix
@@ -12,18 +12,18 @@
   neoVimSupport ? true,
   improvedEncodingDetection ? true,
   rightToLeftTextSupport ? false,
-  gitUpdater,
+  unstableGitUpdater,
 }:
 
-python3Packages.buildPythonApplication rec {
+python3Packages.buildPythonApplication {
   pname = "ranger";
-  version = "1.9.4";
+  version = "1.9.3-unstable-2025-06-04";
 
   src = fetchFromGitHub {
     owner = "ranger";
     repo = "ranger";
-    tag = "v${version}";
-    hash = "sha256-9ehxMXwQj7oVhlotTc3mzCKCkoMSbB9cliPg/NMEoWM=";
+    rev = "7e38143eaa91c82bed8f309aa167b1e6f2607576";
+    hash = "sha256-O0DjecncpN+Bv8Ng+keuvU9iVtWAV4a50p959pMvkww=";
   };
 
   LC_ALL = "en_US.UTF-8";
@@ -68,7 +68,7 @@ python3Packages.buildPythonApplication rec {
         --replace "set preview_images false" "set preview_images true"
     '';
 
-  passthru.updateScript = gitUpdater { rev-prefix = "v"; };
+  passthru.updateScript = unstableGitUpdater { tagPrefix = "v"; };
 
   meta = {
     description = "File manager with minimalistic curses interface";
diff --git a/pkgs/by-name/ra/rattler-build/package.nix b/pkgs/by-name/ra/rattler-build/package.nix
index aa7a1f65b4e6..5b2567ebcb94 100644
--- a/pkgs/by-name/ra/rattler-build/package.nix
+++ b/pkgs/by-name/ra/rattler-build/package.nix
@@ -14,17 +14,17 @@
 
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "rattler-build";
-  version = "0.42.1";
+  version = "0.43.1";
 
   src = fetchFromGitHub {
     owner = "prefix-dev";
     repo = "rattler-build";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-HeqE4FqkRBQNtJlirkLo6aVBo4S6QpKD8o6/B2DEya8=";
+    hash = "sha256-thpo6tD2qWs3FruqujoLd0WLuSDidI3/wdIDOlyEioU=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-/R4m3uApdFHJe2fJbdox2awO0Qbt496C1gTz7B0Owso=";
+  cargoHash = "sha256-eXsZ0tO1yR5A67GiQQHYv+i4tip7QDLa1oERkVJVQwk=";
 
   doCheck = false; # test requires network access
 
diff --git a/pkgs/by-name/ra/raycast/package.nix b/pkgs/by-name/ra/raycast/package.nix
index 7f74c8b6693a..056d7d0d0f90 100644
--- a/pkgs/by-name/ra/raycast/package.nix
+++ b/pkgs/by-name/ra/raycast/package.nix
@@ -12,19 +12,19 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "raycast";
-  version = "1.99.2";
+  version = "1.100.0";
 
   src =
     {
       aarch64-darwin = fetchurl {
         name = "Raycast.dmg";
         url = "https://releases.raycast.com/releases/${finalAttrs.version}/download?build=arm";
-        hash = "sha256-VtZy1pUayK4r8L74llguBid5VJ1UcanNg8rWcOswVh4=";
+        hash = "sha256-uoROEh0ERGpvO4lX/ni5gn+fqwMNOzk7CoPgEnL7ktE=";
       };
       x86_64-darwin = fetchurl {
         name = "Raycast.dmg";
         url = "https://releases.raycast.com/releases/${finalAttrs.version}/download?build=x86_64";
-        hash = "sha256-PoR7bln88TtfNixhHnBCIA8ddesjQTin2o6nZ4dXPms=";
+        hash = "sha256-LdGVNWgQ8bxgqHSvnVizbWeXnHe7JSk47Kn5jGsrNbs=";
       };
     }
     .${stdenvNoCC.system} or (throw "raycast: ${stdenvNoCC.system} is unsupported.");
diff --git a/pkgs/by-name/rc/rcon-cli/package.nix b/pkgs/by-name/rc/rcon-cli/package.nix
new file mode 100644
index 000000000000..1080d7ed1dc4
--- /dev/null
+++ b/pkgs/by-name/rc/rcon-cli/package.nix
@@ -0,0 +1,33 @@
+{
+  buildGoModule,
+  fetchFromGitHub,
+  lib,
+  nix-update-script,
+}:
+buildGoModule (finalAttrs: {
+  pname = "rcon-cli";
+  version = "1.7.0";
+
+  src = fetchFromGitHub {
+    owner = "itzg";
+    repo = "rcon-cli";
+    tag = finalAttrs.version;
+    hash = "sha256-1dexjVfbqTzq9RLhVPn0gRcdJTa/AFj8BiQLoD0/L5c=";
+  };
+
+  vendorHash = "sha256-xq1Z6cgUqXXVzc/j54Nul6xAXa5gKh3NeenQoMW+Xpg=";
+  subPackages = [ "." ];
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    description = "Little RCON cli based on james4k's RCON library for golang";
+    homepage = "https://github.com/itzg/rcon-cli";
+    changelog = "https://github.com/itzg/rcon-cli/releases/tag/${finalAttrs.version}";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [
+      link00000000
+    ];
+    mainProgram = "rcon-cli";
+  };
+})
diff --git a/pkgs/by-name/rc/rcu/package.nix b/pkgs/by-name/rc/rcu/package.nix
index 0605e31f57f7..c73584db7f5f 100644
--- a/pkgs/by-name/rc/rcu/package.nix
+++ b/pkgs/by-name/rc/rcu/package.nix
@@ -13,11 +13,14 @@
   makeDesktopItem,
   nettools,
   protobuf,
-  python3Packages,
+  python312Packages,
   system-config-printer,
   wget,
 }:
 
+let
+  python3Packages = python312Packages;
+in
 python3Packages.buildPythonApplication rec {
   pname = "rcu";
   version = "4.0.24";
diff --git a/pkgs/by-name/rd/rdma-core/package.nix b/pkgs/by-name/rd/rdma-core/package.nix
index 71ee20681b9c..3e8044c08a59 100644
--- a/pkgs/by-name/rd/rdma-core/package.nix
+++ b/pkgs/by-name/rd/rdma-core/package.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "rdma-core";
-  version = "57.0";
+  version = "58.0";
 
   src = fetchFromGitHub {
     owner = "linux-rdma";
     repo = "rdma-core";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-vE0HKsNQNB+Nfxh7BNGadweZQC+e8HFbI89iJhSg40o=";
+    hash = "sha256-dCaxZeGmnf46XI0RZjVWy1JsQjpdCw63lbe2RkWNwQs=";
   };
 
   strictDeps = true;
diff --git a/pkgs/by-name/re/re2c/package.nix b/pkgs/by-name/re/re2c/package.nix
index bc7ee4beba24..5442dd079c5a 100644
--- a/pkgs/by-name/re/re2c/package.nix
+++ b/pkgs/by-name/re/re2c/package.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "re2c";
-  version = "4.1";
+  version = "4.2";
 
   src = fetchFromGitHub {
     owner = "skvadrik";
     repo = "re2c";
     rev = version;
-    sha256 = "sha256-xB4oH0QS0VKTK2we+wdylS8VBijpp6tv7YV7fIX1s4A=";
+    hash = "sha256-7Niq+Xxq/r86qOeJl6/gNdH1XKm6m0fPhbPmgazZFkU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/re/readarr/package.nix b/pkgs/by-name/re/readarr/package.nix
index 30b5a3de57bf..ae9b7581894e 100644
--- a/pkgs/by-name/re/readarr/package.nix
+++ b/pkgs/by-name/re/readarr/package.nix
@@ -24,15 +24,15 @@ let
     ."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
   hash =
     {
-      x64-linux_hash = "sha256-sJcnCysBNRL0rY+leTW9oTmHPa1Ook8oC6ateAyP58A=";
-      arm64-linux_hash = "sha256-PQYWApDyl5HFv+lNFi/VQ0suG32QHm0icjsEjHopf/U=";
-      x64-osx_hash = "sha256-NBy3shWURHQdZauTqeZMi7OMfGkBmJjhF/l4oX2xTp4=";
+      x64-linux_hash = "sha256-3Oir/a5TwaCraYierE6pPPZWYObNOD6+V7olw/HmckM=";
+      arm64-linux_hash = "sha256-B/Or5hdqMxqQEmBULG+Z1JqlL9Kdk5M6SBdjhbfMBZA=";
+      x64-osx_hash = "sha256-FYfX50pomjlB/oGVeIHqYvZ00S1SSgBaVB7R8150rvY=";
     }
     ."${arch}-${os}_hash";
 in
 stdenv.mkDerivation rec {
   pname = "readarr";
-  version = "0.4.16.2793";
+  version = "0.4.17.2801";
 
   src = fetchurl {
     url = "https://github.com/Readarr/Readarr/releases/download/v${version}/Readarr.develop.${version}.${os}-core-${arch}.tar.gz";
diff --git a/pkgs/by-name/re/readest/package.nix b/pkgs/by-name/re/readest/package.nix
index 5f065bca0b18..6fb23209872a 100644
--- a/pkgs/by-name/re/readest/package.nix
+++ b/pkgs/by-name/re/readest/package.nix
@@ -20,13 +20,13 @@
 
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "readest";
-  version = "0.9.51";
+  version = "0.9.58";
 
   src = fetchFromGitHub {
     owner = "readest";
     repo = "readest";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-UJ4H+pBR+EWr2O34WUmbF2rd3pTVssE/8b9iO9bbx7Y=";
+    hash = "sha256-OXKYPcAugMW55TTID2iHeBPIdRiRzLJQ5pG4/kTIn/4=";
     fetchSubmodules = true;
   };
 
@@ -39,14 +39,14 @@ rustPlatform.buildRustPackage (finalAttrs: {
 
   pnpmDeps = pnpm_9.fetchDeps {
     inherit (finalAttrs) pname version src;
-    hash = "sha256-Bd+7MHYBMo4N7UpwkXGmk4oQBbyBMJOtnv6iTVQgn64=";
+    hash = "sha256-Tt1Gm/tlxceQnTd6eStgwboHCDetXdUNtdDShHmB5+M=";
   };
 
   pnpmRoot = "../..";
 
   useFetchCargoVendor = true;
 
-  cargoHash = "sha256-5DIagAKSq427kwZTH/QKY3vbb+TmFscKSANoSkEJMGg=";
+  cargoHash = "sha256-9y/ZR+vbjp56F/EuX7tAp3W1/jwFLYlnBKfyLNx0/Qg=";
 
   cargoRoot = "../..";
 
diff --git a/pkgs/by-name/re/recoverdm/package.nix b/pkgs/by-name/re/recoverdm/package.nix
index 9a244bd15ac1..497be05b4c6b 100644
--- a/pkgs/by-name/re/recoverdm/package.nix
+++ b/pkgs/by-name/re/recoverdm/package.nix
@@ -7,14 +7,14 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "recoverdm";
-  version = "0.20-8";
+  version = "0.20-9";
 
   src = fetchFromGitLab {
     domain = "salsa.debian.org";
     owner = "pkg-security-team";
     repo = "recoverdm";
     rev = "debian/${finalAttrs.version}";
-    hash = "sha256-1iW3Ug85ZLGpvG29N5zJt8oooSQGnLsr+8XIcp4aSSM=";
+    hash = "sha256-HLaiTeeqXn0mgRnG5FZflkPiDiB8CGzq4FR7lDj5oHI=";
   };
 
   patches =
@@ -26,6 +26,7 @@ stdenv.mkDerivation (finalAttrs: {
       (patch "20_fix-typo-binary.patch")
       (patch "30-fix-BTS-mergebad-crash.patch")
       (patch "40_dev-c.patch")
+      (patch "50_ftbfs-with-gcc-14.patch")
       ./0001-darwin-build-fixes.patch
     ];
 
diff --git a/pkgs/by-name/re/redpanda-client/package.nix b/pkgs/by-name/re/redpanda-client/package.nix
index ab01aa553b88..1cf981a8f71d 100644
--- a/pkgs/by-name/re/redpanda-client/package.nix
+++ b/pkgs/by-name/re/redpanda-client/package.nix
@@ -7,12 +7,12 @@
   stdenv,
 }:
 let
-  version = "25.1.3";
+  version = "25.1.5";
   src = fetchFromGitHub {
     owner = "redpanda-data";
     repo = "redpanda";
     rev = "v${version}";
-    sha256 = "sha256-fdEbZISejvk+3VVLxQd3zpeaXEUg6eR+MUtI+jcgg5g=";
+    sha256 = "sha256-K0MYcxz5EE9PAJZby3VcI3lpRaOfZDJoD6YwCbSw49I=";
   };
 in
 buildGoModule rec {
@@ -20,7 +20,7 @@ buildGoModule rec {
   inherit doCheck src version;
   modRoot = "./src/go/rpk";
   runVend = false;
-  vendorHash = "sha256-svJQFtwD1/NdlIyV7aSvonK/A7p6E38gLlrGg4r2Mm4=";
+  vendorHash = "sha256-DevAHiNcxSbgNwr2Jm7yXhNWflXvqWZOlaYHj+xY0Tw=";
 
   ldflags = [
     ''-X "github.com/redpanda-data/redpanda/src/go/rpk/pkg/cli/cmd/version.version=${version}"''
diff --git a/pkgs/by-name/re/regal/package.nix b/pkgs/by-name/re/regal/package.nix
index 12cbc9dcf09d..0ff3de418003 100644
--- a/pkgs/by-name/re/regal/package.nix
+++ b/pkgs/by-name/re/regal/package.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   name = "regal";
-  version = "0.34.0";
+  version = "0.34.1";
 
   src = fetchFromGitHub {
     owner = "StyraInc";
     repo = "regal";
     rev = "v${version}";
-    hash = "sha256-o/vJh7ZZBNjoOmqlj6VhksJKc5EyK3kRtsmkApmE6zo=";
+    hash = "sha256-gdoQ+u9YbwTq28b3gYsNA0SxYFigeKK2JUd0paz8WYQ=";
   };
 
-  vendorHash = "sha256-TeGrqwLgxr4w9Ig/5mekyff6T5xlvKUHQoxqwferWew=";
+  vendorHash = "sha256-FycDMCfvpUkW7KcTLMUBOjbU4JnKCJrWQalNKSY1RkM=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/re/rehex/package.nix b/pkgs/by-name/re/rehex/package.nix
index 20541744e673..519029d052ba 100644
--- a/pkgs/by-name/re/rehex/package.nix
+++ b/pkgs/by-name/re/rehex/package.nix
@@ -2,6 +2,7 @@
   lib,
   stdenv,
   fetchFromGitHub,
+  fetchpatch,
   pkg-config,
   which,
   zip,
@@ -18,15 +19,22 @@
 
 stdenv.mkDerivation rec {
   pname = "rehex";
-  version = "0.62.1";
+  version = "0.63.0";
 
   src = fetchFromGitHub {
     owner = "solemnwarning";
     repo = "rehex";
-    rev = version;
-    hash = "sha256-RlYpg3aon1d25n8K/bbHGVLn5/iOOUSlvjT8U0fp9hA=";
+    tag = version;
+    hash = "sha256-wFVAytrcRu3Ezy/VcbmXwl+X96QMa5KimjUoP07hmFg=";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/solemnwarning/rehex/commit/0cfe145e034019952383ad28a431f552a5567f89.patch";
+      hash = "sha256-PmqvjAXjqZM1BuqHHyQC5qXubTDYlE3VR1DiCCx3aeU=";
+    })
+  ];
+
   nativeBuildInputs = [
     pkg-config
     which
diff --git a/pkgs/by-name/re/reindeer/package.nix b/pkgs/by-name/re/reindeer/package.nix
index beffff2eaddf..08c68ee81200 100644
--- a/pkgs/by-name/re/reindeer/package.nix
+++ b/pkgs/by-name/re/reindeer/package.nix
@@ -9,17 +9,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "reindeer";
-  version = "2025.06.02.00";
+  version = "2025.06.16.00";
 
   src = fetchFromGitHub {
     owner = "facebookincubator";
     repo = "reindeer";
     tag = "v${version}";
-    hash = "sha256-bKsMR3ubAfeZNVA3Q7RpDmaD9UlZUkVWTi5zevytOj0=";
+    hash = "sha256-tvDOGt0fLwj0YhwBMTdsXYqCLY2+M4bQCNgf3Bq5hkU=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-PNCcTztLMt0d8L+tcvOgl4y85Zs4CJR6fDehUImNu6Y=";
+  cargoHash = "sha256-ZAefAr8uXqaIm4NOqHaz2rDVxGRJfoobAzPOa+3GqNE=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/by-name/re/release-plz/package.nix b/pkgs/by-name/re/release-plz/package.nix
index edf7eadfbc08..8d7f9e490e14 100644
--- a/pkgs/by-name/re/release-plz/package.nix
+++ b/pkgs/by-name/re/release-plz/package.nix
@@ -11,17 +11,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "release-plz";
-  version = "0.3.135";
+  version = "0.3.136";
 
   src = fetchFromGitHub {
     owner = "MarcoIeni";
     repo = "release-plz";
     rev = "release-plz-v${version}";
-    hash = "sha256-P84yow5NcZlYTRGo7Nir1JERtii86vZUsMkSnlaoVYg=";
+    hash = "sha256-C/8/lukqnuxCeHZR0kSuJSJzWl71kr3hdTTmS5lMRLA=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-t1dqbF70HOxnPTFyMv9j4s2r8D6l/gaxw7FoGPMVVbk=";
+  cargoHash = "sha256-MsSGFNMmIaKVYXqJks4NzLNnrip8cz7K9pETtxHyLuI=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/by-name/re/remind/package.nix b/pkgs/by-name/re/remind/package.nix
index 72de15a93131..567972ba2f58 100644
--- a/pkgs/by-name/re/remind/package.nix
+++ b/pkgs/by-name/re/remind/package.nix
@@ -16,14 +16,14 @@
 
 tcl.mkTclDerivation rec {
   pname = "remind";
-  version = "05.04.00";
+  version = "05.04.01";
 
   src = fetchFromGitea {
     domain = "git.skoll.ca";
     owner = "Skollsoft-Public";
     repo = "Remind";
     rev = version;
-    hash = "sha256-O+rAXUl5vEBEl/S3FvBzofbcydFul0mF5NhT2Fzf6n8=";
+    hash = "sha256-PTaEGRYZS+yBINwP7EJE4NfgGpB1RTOsDNtzxljZYZA=";
   };
 
   propagatedBuildInputs = lib.optionals withGui [
diff --git a/pkgs/by-name/re/renderdoc/package.nix b/pkgs/by-name/re/renderdoc/package.nix
index 2755dc5a94ac..b636999cd1c5 100644
--- a/pkgs/by-name/re/renderdoc/package.nix
+++ b/pkgs/by-name/re/renderdoc/package.nix
@@ -14,6 +14,7 @@
   pcre,
   pkg-config,
   python3Packages,
+  python312Packages,
   qt5,
   stdenv,
   vulkan-loader,
@@ -23,6 +24,9 @@
 }:
 
 let
+  pythonPackages' =
+    # lib.meta.availableOn does not respect meta.broken?
+    if python3Packages.shiboken2.meta.available then python3Packages else python312Packages;
   custom_swig = fetchFromGitHub {
     owner = "baldurk";
     repo = "swig";
@@ -51,9 +55,9 @@ stdenv.mkDerivation (finalAttrs: {
     [
       libXdmcp
       libpthreadstubs
-      python3Packages.pyside2
-      python3Packages.pyside2-tools
-      python3Packages.shiboken2
+      pythonPackages'.pyside2
+      pythonPackages'.pyside2-tools
+      pythonPackages'.shiboken2
       qt5.qtbase
       qt5.qtsvg
       vulkan-loader
@@ -71,7 +75,7 @@ stdenv.mkDerivation (finalAttrs: {
     makeWrapper
     pcre
     pkg-config
-    python3Packages.python
+    pythonPackages'.python
     qt5.qtx11extras
     qt5.wrapQtAppsHook
   ];
@@ -137,7 +141,7 @@ stdenv.mkDerivation (finalAttrs: {
     '';
     license = lib.licenses.mit;
     mainProgram = "renderdoccmd";
-    maintainers = with lib.maintainers; [ ];
+    maintainers = with lib.maintainers; [ pbsds ];
     platforms = lib.intersectLists lib.platforms.linux (lib.platforms.x86_64 ++ lib.platforms.i686);
   };
 })
diff --git a/pkgs/by-name/re/renode-dts2repl/package.nix b/pkgs/by-name/re/renode-dts2repl/package.nix
index 2b0492851ead..b345e3a3d27e 100644
--- a/pkgs/by-name/re/renode-dts2repl/package.nix
+++ b/pkgs/by-name/re/renode-dts2repl/package.nix
@@ -7,14 +7,14 @@
 
 python3.pkgs.buildPythonApplication {
   pname = "renode-dts2repl";
-  version = "0-unstable-2025-05-28";
+  version = "0-unstable-2025-06-09";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "antmicro";
     repo = "dts2repl";
-    rev = "8413c5a08ed53867493b2a08fd4c730d7b419ee7";
-    hash = "sha256-Dl/JzkUP/mNBxz20C4qH5B3qpXjd4/q/r5n0RO3ga+U=";
+    rev = "f7419099a1678a1de3e20324b67c5e2baff24be6";
+    hash = "sha256-RG/3UZkuivou+jedyfqcORr0y6DY5EUnPwC6IPPC+aU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/re/renode-unstable/package.nix b/pkgs/by-name/re/renode-unstable/package.nix
index 4f3dbc2f2dff..e2f8983b2923 100644
--- a/pkgs/by-name/re/renode-unstable/package.nix
+++ b/pkgs/by-name/re/renode-unstable/package.nix
@@ -7,11 +7,11 @@
 renode.overrideAttrs (
   finalAttrs: _: {
     pname = "renode-unstable";
-    version = "1.15.3+20250507git91a4bb342";
+    version = "1.15.3+20250528gitc8bcc4cd7";
 
     src = fetchurl {
       url = "https://builds.renode.io/renode-${finalAttrs.version}.linux-dotnet.tar.gz";
-      hash = "sha256-x0g7wsaDCi3QUTEQcw/gGtzkWTmJB7ZZVqCE9fOyCFI=";
+      hash = "sha256-bt4IWsZXiOmv+FU4vlKg7Uehk3cinumCXC2LHNjtdZ4=";
     };
 
     passthru.updateScript =
diff --git a/pkgs/by-name/re/renovate/package.nix b/pkgs/by-name/re/renovate/package.nix
index 6adc21902578..ad348276e3ef 100644
--- a/pkgs/by-name/re/renovate/package.nix
+++ b/pkgs/by-name/re/renovate/package.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "renovate";
-  version = "40.33.1";
+  version = "40.60.0";
 
   src = fetchFromGitHub {
     owner = "renovatebot";
     repo = "renovate";
     tag = finalAttrs.version;
-    hash = "sha256-W2FoiU48rJr6o7HQW9MFNr92sag4QUGaRLbtMeM5418=";
+    hash = "sha256-eF9RY/KmiyFjGgEm1twxZliKMS5+7sXF5f2JpUYvJCM=";
   };
 
   postPatch = ''
@@ -39,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   pnpmDeps = pnpm_10.fetchDeps {
     inherit (finalAttrs) pname version src;
-    hash = "sha256-NEqgX3OHy9kbIhdaHiR7C7wGHZKe35it5G7kOro5RPQ=";
+    hash = "sha256-X9hwB4E78puo+1hkGoKwOSK3xhGOpcXciC2h6mElvWY=";
   };
 
   env.COREPACK_ENABLE_STRICT = 0;
diff --git a/pkgs/by-name/re/repomix/package.nix b/pkgs/by-name/re/repomix/package.nix
index dc760d7e09cc..5453cb505a25 100644
--- a/pkgs/by-name/re/repomix/package.nix
+++ b/pkgs/by-name/re/repomix/package.nix
@@ -8,16 +8,16 @@
 
 buildNpmPackage rec {
   pname = "repomix";
-  version = "0.3.8";
+  version = "0.3.9";
 
   src = fetchFromGitHub {
     owner = "yamadashy";
     repo = "repomix";
     tag = "v${version}";
-    hash = "sha256-yvzZQXBJFroSSb4j+ifzM3Qe/iIFVFDCqyfaJTH/65Q=";
+    hash = "sha256-sM8xXBeXo3wv3Cm7jAC7t1JgUoi5JRzg8EaHnwrecjo=";
   };
 
-  npmDepsHash = "sha256-VWW9JkLlk3OoMQ7yneTsUdyepe4bDezoM1t2RxF4zVY=";
+  npmDepsHash = "sha256-ZD7AD7U+3CNx3/sQrid8xK6+t5A92xgJJgf7mnR8PRg=";
 
   nativeInstallCheckInputs = [ versionCheckHook ];
   doInstallCheck = true;
diff --git a/pkgs/by-name/re/rescrobbled/package.nix b/pkgs/by-name/re/rescrobbled/package.nix
index eef97daf1511..a98764941002 100644
--- a/pkgs/by-name/re/rescrobbled/package.nix
+++ b/pkgs/by-name/re/rescrobbled/package.nix
@@ -11,17 +11,17 @@
 rustPlatform.buildRustPackage rec {
 
   pname = "rescrobbled";
-  version = "0.7.2";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "InputUsername";
     repo = "rescrobbled";
     rev = "v${version}";
-    hash = "sha256-HWv0r0eqzY4q+Q604ZIkdhnjmCGX+L6HHXa6iCtH2KE=";
+    hash = "sha256-+5BkM4L2eB54idZ6X2ESw6ERMhG5CM4AF4BMEJm3xLU=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-zZqDbXIXuNX914EmeSv3hZFnpjYzYdYZk7av3W60YuM=";
+  cargoHash = "sha256-ZawdZdP87X7xMdSdZ1VJDJxz7dBGVYo+8jR8qb2Jgq8=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/by-name/re/resilio-sync/package.nix b/pkgs/by-name/re/resilio-sync/package.nix
index 33791b088e5a..6520c5033f4a 100644
--- a/pkgs/by-name/re/resilio-sync/package.nix
+++ b/pkgs/by-name/re/resilio-sync/package.nix
@@ -47,7 +47,6 @@ stdenv.mkDerivation rec {
     license = licenses.unfreeRedistributable;
     platforms = platforms.linux;
     maintainers = with maintainers; [
-      domenkozar
       thoughtpolice
       cwoac
     ];
diff --git a/pkgs/by-name/re/resticprofile/package.nix b/pkgs/by-name/re/resticprofile/package.nix
index 7ea203613420..11e13412ef90 100644
--- a/pkgs/by-name/re/resticprofile/package.nix
+++ b/pkgs/by-name/re/resticprofile/package.nix
@@ -11,13 +11,13 @@
 
 buildGoModule rec {
   pname = "resticprofile";
-  version = "0.30.1";
+  version = "0.31.0";
 
   src = fetchFromGitHub {
     owner = "creativeprojects";
     repo = "resticprofile";
     tag = "v${version}";
-    hash = "sha256-Pg7rqllNRc/pN5VSgy7KiHQ7V7xOxiGM5fk5Y6+OBjw=";
+    hash = "sha256-ezelvyroQG1EW3SU63OVHJ/T4qjN5DRllvPIXnei1Z4=";
   };
 
   postPatch = ''
diff --git a/pkgs/by-name/re/reth/package.nix b/pkgs/by-name/re/reth/package.nix
index c6ef3b794d23..d6f1a43d58f5 100644
--- a/pkgs/by-name/re/reth/package.nix
+++ b/pkgs/by-name/re/reth/package.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "reth";
-  version = "1.4.3";
+  version = "1.4.8";
 
   src = fetchFromGitHub {
     owner = "paradigmxyz";
     repo = "reth";
     rev = "v${version}";
-    hash = "sha256-pl0eQU7BjkSg8ECxeB13oNMO9CNIwLyOOHiWWC4CWhY=";
+    hash = "sha256-slVf2yVukW3fkDlpaz+rdPKf6QdsFa9HwySZkItHvoQ=";
   };
 
-  cargoHash = "sha256-85mtKJWhDguOeNJhsqJyb99xVVF1H7D/2lWRmXF3LSg=";
+  cargoHash = "sha256-vNe8eACwwlPspUQgI65T9O2SaQYl7FihDZRpljkA/4U=";
 
   nativeBuildInputs = [
     rustPlatform.bindgenHook
diff --git a/pkgs/by-name/re/retry/package.nix b/pkgs/by-name/re/retry/package.nix
index 2adc778d53db..e366a297ba82 100644
--- a/pkgs/by-name/re/retry/package.nix
+++ b/pkgs/by-name/re/retry/package.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "retry";
-  version = "1.0.5";
+  version = "1.0.6";
 
   src = fetchFromGitHub {
     owner = "minfrin";
     repo = "retry";
     rev = "${pname}-${version}";
-    hash = "sha256-5H2MnnThi4rT/o3oTkGDKXStQwob4G9mMsZewItPub4=";
+    hash = "sha256-26sSjz4UE7TVP66foVhDFTNNzdh/6OY6CaFS/544RQU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/re/reversal-icon-theme/package.nix b/pkgs/by-name/re/reversal-icon-theme/package.nix
index c7e445851e60..7336697a8385 100644
--- a/pkgs/by-name/re/reversal-icon-theme/package.nix
+++ b/pkgs/by-name/re/reversal-icon-theme/package.nix
@@ -37,7 +37,7 @@ lib.checkListOfEnum "${pname}: color variants"
 
     src = fetchFromGitHub {
       owner = "yeyushengfan258";
-      repo = pname;
+      repo = "reversal-icon-theme";
       rev = "bdae2ea365731b25a869fc2c8c6a1fb849eaf5b2";
       hash = "sha256-Cd+1ggyS+Y2Sk8w5zifc4IFOwbFrbjL6S6awES/W0EE=";
     };
diff --git a/pkgs/by-name/re/rexi/package.nix b/pkgs/by-name/re/rexi/package.nix
index cee0aaf7a501..b8feee0ad67b 100644
--- a/pkgs/by-name/re/rexi/package.nix
+++ b/pkgs/by-name/re/rexi/package.nix
@@ -27,9 +27,9 @@ python3Packages.buildPythonApplication rec {
   ];
 
   nativeCheckInputs = with python3Packages; [
-    pytest
+    pytestCheckHook
     pytest-asyncio
-    pytest-cov
+    pytest-cov-stub
   ];
 
   pythonRelaxDeps = [
diff --git a/pkgs/by-name/ri/riemann/package.nix b/pkgs/by-name/ri/riemann/package.nix
index fc3b0d07ff3c..41edbb42a50b 100644
--- a/pkgs/by-name/ri/riemann/package.nix
+++ b/pkgs/by-name/ri/riemann/package.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "riemann";
-  version = "0.3.11";
+  version = "0.3.12";
 
   src = fetchurl {
     url = "https://github.com/riemann/riemann/releases/download/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-B09QBOVRHxwPR7oBZaurXMglx5cR/oN7eEKVhs3ZUyc=";
+    sha256 = "sha256-gsJMfLo7zpaVfyVmHznGFiomK6dq7yTphuc9vyp5t6Y=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/by-name/ri/rime-ice/package.nix b/pkgs/by-name/ri/rime-ice/package.nix
new file mode 100644
index 000000000000..6d60c45f14b6
--- /dev/null
+++ b/pkgs/by-name/ri/rime-ice/package.nix
@@ -0,0 +1,61 @@
+{
+  lib,
+  stdenvNoCC,
+  fetchFromGitHub,
+  gitUpdater,
+}:
+
+stdenvNoCC.mkDerivation (finalAttrs: {
+  pname = "rime-ice";
+  version = "2025.04.06";
+
+  src = fetchFromGitHub {
+    owner = "iDvel";
+    repo = "rime-ice";
+    tag = finalAttrs.version;
+    hash = "sha256-s3r8cdEliiPnKWs64Wgi0rC9Ngl1mkIrLnr2tIcyXWw=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+
+    rm -rf others README.md .git*
+
+    mv default.yaml rime_ice_suggestion.yaml
+
+    mkdir -p $out/share
+    cp -r . $out/share/rime-data
+
+    runHook postInstall
+  '';
+
+  passthru.updateScript = gitUpdater { };
+
+  meta = {
+    description = "Actively maintained simplified Chinese dictionary with full and double pinyin support";
+    longDescription = ''
+      Rime-Ice (雾凇拼音) provides a comprehensive, ready-to-use configuration.
+      It includes full Pinyin and popular Double Pinyin layouts,
+      a well-maintained open-source dictionary,
+      and a wide range of extended features.
+
+      To enable the upstream `default.yaml`
+      (provided as `rime_ice_suggestion.yaml`),
+      add the following to your `default.custom.yaml`:
+
+      ```yaml
+      patch:
+        __include: rime_ice_suggestion:/
+      ```
+    '';
+    homepage = "https://github.com/iDvel/rime-ice";
+    changelog = "https://github.com/iDvel/rime-ice/blob/main/others/CHANGELOG.md";
+    license = lib.licenses.gpl3Only;
+    maintainers = with lib.maintainers; [
+      xddxdd
+      moraxyc
+      luochen1990
+      wrvsrx
+    ];
+  };
+})
diff --git a/pkgs/by-name/ri/rime-moegirl/package.nix b/pkgs/by-name/ri/rime-moegirl/package.nix
new file mode 100644
index 000000000000..8a7073c89d43
--- /dev/null
+++ b/pkgs/by-name/ri/rime-moegirl/package.nix
@@ -0,0 +1,34 @@
+{
+  fetchurl,
+  stdenvNoCC,
+  lib,
+}:
+stdenvNoCC.mkDerivation (finalAttrs: {
+  pname = "rime-moegirl";
+  version = "20250610";
+  src = fetchurl {
+    url = "https://github.com/outloudvi/mw2fcitx/releases/download/${finalAttrs.version}/moegirl.dict.yaml";
+    hash = "sha256-ctAxF/H4gnmAvHyLsC4oUNCdGFbi5X7+Db/Lwmknlsw=";
+  };
+
+  dontUnpack = true;
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/rime-data
+    cp $src $out/share/rime-data/moegirl.dict.yaml
+
+    runHook postInstall
+  '';
+
+  meta = {
+    changelog = "https://github.com/outloudvi/mw2fcitx/releases/tag/${finalAttrs.version}";
+    maintainers = with lib.maintainers; [ xddxdd ];
+    description = "RIME dictionary file for entries from zh.moegirl.org.cn";
+    homepage = "https://github.com/outloudvi/mw2fcitx/releases";
+    license = with lib.licenses; [
+      unlicense # the tool packaging dictionary
+      cc-by-nc-sa-30 # moegirl wiki itself
+    ];
+  };
+})
diff --git a/pkgs/by-name/ri/rime-wanxiang/package.nix b/pkgs/by-name/ri/rime-wanxiang/package.nix
index 82acdf809bcd..42d4d3a6b862 100644
--- a/pkgs/by-name/ri/rime-wanxiang/package.nix
+++ b/pkgs/by-name/ri/rime-wanxiang/package.nix
@@ -9,13 +9,13 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "rime-wanxiang";
-  version = "7.0.5";
+  version = "7.1.1";
 
   src = fetchFromGitHub {
     owner = "amzxyz";
     repo = "rime_wanxiang";
     tag = "v" + finalAttrs.version;
-    hash = "sha256-We1MuK9lLrIBRXQODrk91Xe0aWskwsiOZvxCh/oCdeU=";
+    hash = "sha256-SPKUTWwyxN/pLn9cSFZL3+RfPYfQuNoOehYRMTOoC4I=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/ri/rio/package.nix b/pkgs/by-name/ri/rio/package.nix
index 5084730eefee..e1f6b7e5a3fd 100644
--- a/pkgs/by-name/ri/rio/package.nix
+++ b/pkgs/by-name/ri/rio/package.nix
@@ -53,17 +53,17 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "rio";
-  version = "0.2.16";
+  version = "0.2.19";
 
   src = fetchFromGitHub {
     owner = "raphamorim";
     repo = "rio";
     rev = "v${version}";
-    hash = "sha256-m2DAJ8kSD5Z13ycMQGz1RHrarnObhHl9wrXxG+kaaZk=";
+    hash = "sha256-qEJrsA6MmLs26cnLo83QkKMUm6XMDk/h0UirUZ3/xGg=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-heitZrB+LDQ8sWDCYjK31GiajUC6x4T/f4+G3YcyX1Q=";
+  cargoHash = "sha256-+bGP8JDzOtpqggg3kvtPZuT0KFG2VdB15+bRsahQ6SA=";
 
   nativeBuildInputs =
     [
diff --git a/pkgs/by-name/ri/ristate/package.nix b/pkgs/by-name/ri/ristate/package.nix
index 7c20c4a34274..dd13629ce3a3 100644
--- a/pkgs/by-name/ri/ristate/package.nix
+++ b/pkgs/by-name/ri/ristate/package.nix
@@ -2,21 +2,24 @@
   lib,
   rustPlatform,
   fetchFromGitLab,
+  nix-update-script,
 }:
 
 rustPlatform.buildRustPackage {
   pname = "ristate";
-  version = "unstable-2021-09-10";
+  version = "0-unstable-2023-07-23";
 
   src = fetchFromGitLab {
     owner = "snakedye";
     repo = "ristate";
-    rev = "34dfd0a0bab5b36df118d8da3956fd938c625b15";
-    hash = "sha256-CH9DZ/7Bhbe6qKg1Nbj1rA9SzIsqVlBJg51XxAh0XnY=";
+    rev = "92e989f26cadac69af1208163733e73b4cf447da";
+    hash = "sha256-6slH7R6kbSXQBd7q38oBEbngaCbFv0Tyq34VB1PAfhM=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-kzy0U2ZdmEr/F1edQDM3S30ETXaVUXrSoUA+8v486O0=";
+  cargoHash = "sha256-6uvIc69x/yHkAC3GJUuYGcCbpVyX/mb/pXLf+BQC+48=";
+
+  passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; };
 
   meta = with lib; {
     description = "River-status client written in Rust";
diff --git a/pkgs/by-name/ri/river/build.zig.zon.nix b/pkgs/by-name/ri/river/build.zig.zon.nix
index 99979073f69d..b176fe484367 100644
--- a/pkgs/by-name/ri/river/build.zig.zon.nix
+++ b/pkgs/by-name/ri/river/build.zig.zon.nix
@@ -1,123 +1,38 @@
-# generated by zon2nix (https://github.com/Cloudef/zig2nix)
+# generated by zon2nix (https://github.com/nix-community/zon2nix)
 
 {
-  lib,
   linkFarm,
-  fetchurl,
+  fetchzip,
   fetchgit,
-  runCommandLocal,
-  zig,
-  name ? "zig-packages",
 }:
 
-with builtins;
-with lib;
-
-let
-  unpackZigArtifact =
-    { name, artifact }:
-    runCommandLocal name { nativeBuildInputs = [ zig ]; } ''
-      hash="$(zig fetch --global-cache-dir "$TMPDIR" ${artifact})"
-      mv "$TMPDIR/p/$hash" "$out"
-      chmod 755 "$out"
-    '';
-
-  fetchZig =
-    {
-      name,
-      url,
-      hash,
-    }:
-    let
-      artifact = fetchurl { inherit url hash; };
-    in
-    unpackZigArtifact { inherit name artifact; };
-
-  fetchGitZig =
-    {
-      name,
-      url,
-      hash,
-      rev ? throw "rev is required, remove and regenerate the zon2json-lock file",
-    }:
-    let
-      parts = splitString "#" url;
-      url_base = elemAt parts 0;
-      url_without_query = elemAt (splitString "?" url_base) 0;
-    in
-    fetchgit {
-      inherit name rev hash;
-      url = url_without_query;
-      deepClone = false;
-    };
-
-  fetchZigArtifact =
-    {
-      name,
-      url,
-      hash,
-      ...
-    }@args:
-    let
-      parts = splitString "://" url;
-      proto = elemAt parts 0;
-      path = elemAt parts 1;
-      fetcher = {
-        "git+http" = fetchGitZig (
-          args
-          // {
-            url = "http://${path}";
-          }
-        );
-        "git+https" = fetchGitZig (
-          args
-          // {
-            url = "https://${path}";
-          }
-        );
-        http = fetchZig {
-          inherit name hash;
-          url = "http://${path}";
-        };
-        https = fetchZig {
-          inherit name hash;
-          url = "https://${path}";
-        };
-      };
-    in
-    fetcher.${proto};
-in
-linkFarm name [
+linkFarm "zig-packages" [
   {
     name = "pixman-0.3.0-LClMnz2VAAAs7QSCGwLimV5VUYx0JFnX5xWU6HwtMuDX";
-    path = fetchZigArtifact {
-      name = "pixman";
+    path = fetchzip {
       url = "https://codeberg.org/ifreund/zig-pixman/archive/v0.3.0.tar.gz";
-      hash = "sha256-zX/jQV1NWGhalP3t0wjpmUo38BKCiUDPtgNGHefyxq0=";
+      hash = "sha256-8tA4auo5FEI4IPnomV6bkpQHUe302tQtorFQZ1l14NU=";
     };
   }
   {
     name = "wayland-0.3.0-lQa1kjPIAQDmhGYpY-zxiRzQJFHQ2VqhJkQLbKKdt5wl";
-    path = fetchZigArtifact {
-      name = "wayland";
+    path = fetchzip {
       url = "https://codeberg.org/ifreund/zig-wayland/archive/v0.3.0.tar.gz";
-      hash = "sha256-xU8IrETSFOKKQQMgwVyRKLwGaek4USaKXg49S9oHSTQ=";
+      hash = "sha256-ydEavD9z20wRwn9ZVX56ZI2T5i1tnm3LupVxfa30o84=";
     };
   }
   {
-    name = "wlroots-0.18.2-jmOlchnIAwBq45_cxU1V3OWErxxJjQZlc9PyJfR-l3uk";
-    path = fetchZigArtifact {
-      name = "wlroots";
-      url = "https://codeberg.org/ifreund/zig-wlroots/archive/v0.18.2.tar.gz";
-      hash = "sha256-4/MGFCCgMeN6+oCaj0Z5dsbVo3s88oYk1+q0mMXrj8I=";
+    name = "wlroots-0.19.1-jmOlcs7dAwCajnVWlQZIc-ySYjRlbLxy0F5FvTQqYA3P";
+    path = fetchzip {
+      url = "https://codeberg.org/ifreund/zig-wlroots/archive/v0.19.1.tar.gz";
+      hash = "sha256-37s4hXaYeKAyZySWZOMQP3BHz7EzxVNpj0dhJcPJoTM=";
     };
   }
   {
     name = "xkbcommon-0.3.0-VDqIe3K9AQB2fG5ZeRcMC9i7kfrp5m2rWgLrmdNn9azr";
-    path = fetchZigArtifact {
-      name = "xkbcommon";
+    path = fetchzip {
       url = "https://codeberg.org/ifreund/zig-xkbcommon/archive/v0.3.0.tar.gz";
-      hash = "sha256-HhhUI+ayPtlylhTmZ1GrdSLbRIffTg3MeisGN1qs2iM=";
+      hash = "sha256-e5bPEfxl4SQf0cqccLt/py1KOW1+Q1+kWZUEXBbh9oQ=";
     };
   }
 ]
diff --git a/pkgs/by-name/ri/river/package.nix b/pkgs/by-name/ri/river/package.nix
index 22272a9cc550..d8647a01107c 100644
--- a/pkgs/by-name/ri/river/package.nix
+++ b/pkgs/by-name/ri/river/package.nix
@@ -15,7 +15,7 @@
   wayland,
   wayland-protocols,
   wayland-scanner,
-  wlroots_0_18,
+  wlroots_0_19,
   xwayland,
   zig_0_14,
   withManpages ? true,
@@ -24,7 +24,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "river";
-  version = "0.3.9";
+  version = "0.3.10";
 
   outputs = [ "out" ] ++ lib.optionals withManpages [ "man" ];
 
@@ -32,14 +32,11 @@ stdenv.mkDerivation (finalAttrs: {
     domain = "codeberg.org";
     owner = "river";
     repo = "river";
-    rev = "refs/tags/v${finalAttrs.version}";
-    fetchSubmodules = true;
-    hash = "sha256-g6qjSkvcA2Ud4W+/NVzYZjiWoWkAuKvuD20KlO/zGhE=";
+    hash = "sha256-mTS62HT/v/5af/PTsNcDIrl7GUczP55+VCumQIii6y4=";
+    tag = "v${finalAttrs.version}";
   };
 
-  deps = callPackage ./build.zig.zon.nix {
-    zig = zig_0_14;
-  };
+  deps = callPackage ./build.zig.zon.nix { };
 
   nativeBuildInputs = [
     pkg-config
@@ -57,7 +54,7 @@ stdenv.mkDerivation (finalAttrs: {
     udev
     wayland
     wayland-protocols
-    wlroots_0_18
+    wlroots_0_19
   ] ++ lib.optional xwaylandSupport libX11;
 
   dontConfigure = true;
diff --git a/pkgs/by-name/ri/river/update.sh b/pkgs/by-name/ri/river/update.sh
index 1cca378b3daf..41bbe048223c 100755
--- a/pkgs/by-name/ri/river/update.sh
+++ b/pkgs/by-name/ri/river/update.sh
@@ -1,14 +1,12 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -i bash -p bash common-updater-scripts gnused nixfmt-rfc-style
+#!nix-shell -i bash -p bash common-updater-scripts gnused nixfmt-rfc-style zon2nix
 
-latest_tag=$(list-git-tags --url=https://codeberg.org/river/river | sed 's/^v//' | tail -n 1)
+latest_tag=$(list-git-tags --url=https://codeberg.org/river/river | sed 's/^v//' | sort --version-sort | tail --lines=1)
 
 update-source-version river "$latest_tag"
 
 wget "https://codeberg.org/river/river/raw/tag/v${latest_tag}/build.zig.zon"
-nix --extra-experimental-features 'nix-command flakes' run github:Cloudef/zig2nix#zon2nix -- build.zig.zon >pkgs/by-name/ri/river/build.zig.zon.nix
-# strip file protocol
-sed -i '\|file = unpackZigArtifact { inherit name; artifact = /. + path; };|d' pkgs/by-name/ri/river/build.zig.zon.nix
+zon2nix build.zig.zon >pkgs/by-name/ri/river/build.zig.zon.nix
 nixfmt pkgs/by-name/ri/river/build.zig.zon.nix
 
-rm -f build.zig.zon build.zig.zon2json-lock
+rm -f build.zig.zon build.zig.zon.nix
diff --git a/pkgs/by-name/rk/rke/package.nix b/pkgs/by-name/rk/rke/package.nix
index cb5ade8756ba..c403ef1ce574 100644
--- a/pkgs/by-name/rk/rke/package.nix
+++ b/pkgs/by-name/rk/rke/package.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "rke";
-  version = "1.8.3";
+  version = "1.8.4";
 
   src = fetchFromGitHub {
     owner = "rancher";
     repo = "rke";
     rev = "v${version}";
-    hash = "sha256-+AS8vxMTVKuxVUVyjbMED4pqznMj5lEpr+WhH9DnT84=";
+    hash = "sha256-irOp9tnJMVcq7Inso/50VB4exAkqUkzHk1+xBgLPoOQ=";
   };
 
   vendorHash = "sha256-OWC8OZhORHwntAR2YHd4KfQgB2Wtma6ayBWfY94uOA4=";
diff --git a/pkgs/by-name/rm/rmenu/package.nix b/pkgs/by-name/rm/rmenu/package.nix
index cd3d3fb2a700..559d14d77616 100644
--- a/pkgs/by-name/rm/rmenu/package.nix
+++ b/pkgs/by-name/rm/rmenu/package.nix
@@ -1,4 +1,5 @@
 {
+  cmake,
   fetchFromGitHub,
   glib,
   gtk3,
@@ -7,22 +8,26 @@
   networkmanager,
   pkg-config,
   rustPlatform,
+  versionCheckHook,
   webkitgtk_4_1,
   wrapGAppsHook3,
+  xdotool,
+  nix-update-script,
 }:
 rustPlatform.buildRustPackage rec {
   pname = "rmenu";
-  version = "1.2.2";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
-    rev = "v${version}";
+    tag = "v${version}";
     owner = "imgurbot12";
     repo = "rmenu";
-    hash = "sha256-khauloUGVuekR+Lran1DLnsxwY8sIf5PsEKY7sNy1K4=";
+    hash = "sha256-cmuB7JfHQuDFo8YaenTDwpe+TxKFaoJM5YwrT7eAfPM=";
   };
 
   nativeBuildInputs = [
     pkg-config
+    cmake
     wrapGAppsHook3
   ];
 
@@ -32,19 +37,19 @@ rustPlatform.buildRustPackage rec {
     libsoup_3
     networkmanager
     webkitgtk_4_1
+    xdotool
   ];
 
   strictDeps = true;
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-9sKcvVN14gfR30FvF8/esdJoIbSgHUl/aHRBWA8DRWg=";
+  cargoHash = "sha256-FIlFy3/Hih40My5fTykYjvaQEmnB3ZC5vX3lfKdW9Gk=";
 
   postInstall = ''
     # copy themes and plugins
-    mkdir $out/themes
-    mkdir $out/plugins
-    cp -vfr $src/themes/* $out/themes/.
-    cp -vfr $src/other-plugins/* $out/plugins/.
+    mkdir -p $out/themes $out/plugins/css
+    cp -vfr $src/themes/* $out/themes
+    cp -vfr $src/plugins/misc/* $out/plugins
     mv $out/bin/* $out/plugins # everything is a plugin by default
 
     # rmenu and rmenu-build are actual binaries
@@ -52,16 +57,16 @@ rustPlatform.buildRustPackage rec {
     mv $out/plugins/rmenu-build $out/bin/rmenu-build
 
     # fix plugin names
-    # desktop  network  pactl-audio.sh  powermenu.sh  run  window
-    mv $out/plugins/run $out/plugins/rmenu-run
-    mv $out/plugins/desktop $out/plugins/rmenu-desktop
-    mv $out/plugins/network $out/plugins/rmenu-network
-    mv $out/plugins/window $out/plugins/rmenu-window
+    # desktop  network  pactl-audio.sh  powermenu.sh  run  window  emoji  search
+    for plugin in desktop emoji files network run search window ; do
+      mv $out/plugins/$plugin $out/plugins/rmenu-$plugin
+    done
 
     # fix config and theme
     mkdir -p $out/share/rmenu
     cp -vf $src/rmenu/public/config.yaml $out/share/rmenu/config.yaml
-    substituteInPlace $out/share/rmenu/config.yaml --replace "~/.config/rmenu" "$out"
+    cp -vf $src/plugins/emoji/css/* $out/plugins/css
+    substituteInPlace $out/share/rmenu/config.yaml --replace-fail "~/.config/rmenu" "$out"
     ln -sf  $out/themes/dark.css $out/share/rmenu/style.css
   '';
 
@@ -75,6 +80,11 @@ rustPlatform.buildRustPackage rec {
     )
   '';
 
+  doInstallCheck = true;
+  nativeInstallCheckInputs = [ versionCheckHook ];
+
+  passthru.updateScript = nix-update-script { };
+
   meta = {
     changelog = "https://github.com/imgurbot12/rmenu/releases/tag/v${version}";
     description = "Another customizable Application-Launcher written in Rust";
diff --git a/pkgs/by-name/ro/roadrunner/package.nix b/pkgs/by-name/ro/roadrunner/package.nix
index bdb58ac03c3f..9b501b5433da 100644
--- a/pkgs/by-name/ro/roadrunner/package.nix
+++ b/pkgs/by-name/ro/roadrunner/package.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "roadrunner";
-  version = "2025.1.1";
+  version = "2025.1.2";
 
   src = fetchFromGitHub {
     repo = "roadrunner";
     owner = "roadrunner-server";
     tag = "v${version}";
-    hash = "sha256-HNljEsrHTbNA5/+tnquh4yO5plAj1kKTAY3P927nAEU=";
+    hash = "sha256-j/OXeKMsym09m1kh6Ox4Vy/VLJ2YI7NTcR+NerHweos=";
   };
 
   nativeBuildInputs = [
@@ -48,7 +48,7 @@ buildGoModule rec {
 
   __darwinAllowLocalNetworking = true;
 
-  vendorHash = "sha256-dnbctKxwQqfxZfKPa3ZlKjF5a/7eC5arK9RrPksSNVg=";
+  vendorHash = "sha256-Kl5YzTIgl5gza5iV9PlZ8BR5C5DANvtZ849aJtMrGSw=";
 
   meta = {
     changelog = "https://github.com/roadrunner-server/roadrunner/blob/v${version}/CHANGELOG.md";
diff --git a/pkgs/by-name/ro/roave-backward-compatibility-check/package.nix b/pkgs/by-name/ro/roave-backward-compatibility-check/package.nix
index 477309543f82..3200cfe2af7e 100644
--- a/pkgs/by-name/ro/roave-backward-compatibility-check/package.nix
+++ b/pkgs/by-name/ro/roave-backward-compatibility-check/package.nix
@@ -7,16 +7,16 @@
 
 php.buildComposerProject2 (finalAttrs: {
   pname = "roave-backward-compatibility-check";
-  version = "8.13.0";
+  version = "8.14.0";
 
   src = fetchFromGitHub {
     owner = "Roave";
     repo = "BackwardCompatibilityCheck";
     tag = finalAttrs.version;
-    hash = "sha256-bxjrk//n8HdHyYJpsW4qwgHptyeaNqCbiR3wWKJwPiM=";
+    hash = "sha256-4rhIaPdyyLiIhVYC4KNKbPAbVsHKnK6BOsebFjmmDeI=";
   };
 
-  vendorHash = "sha256-fhSByQzSwFrNCKr7KwJ7CYFt4zqbk4iW5JXK3iSVTnM=";
+  vendorHash = "sha256-k+zFpBHE+r0a67gqUry+luMIhJZ5wo1RpEaF4c7vAmI=";
 
   nativeInstallCheckInputs = [
     versionCheckHook
diff --git a/pkgs/by-name/ro/rocketchat-desktop/package.nix b/pkgs/by-name/ro/rocketchat-desktop/package.nix
index 545fea3deedb..7f0f59d2d2bd 100644
--- a/pkgs/by-name/ro/rocketchat-desktop/package.nix
+++ b/pkgs/by-name/ro/rocketchat-desktop/package.nix
@@ -10,11 +10,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "rocketchat-desktop";
-  version = "4.4.0";
+  version = "4.5.0";
 
   src = fetchurl {
     url = "https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/${version}/rocketchat-${version}-linux-amd64.deb";
-    hash = "sha256-f8Nj7+BLjWEGbRntZMahtc2+LMMeJa7v2UVyWOxj9WU=";
+    hash = "sha256-GCCVIfo7Q5n7hQsWG9oTdfaz1ol0+NX8TaHRheJhU3I=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/ro/roddhjav-apparmor-rules/package.nix b/pkgs/by-name/ro/roddhjav-apparmor-rules/package.nix
index 34e71911f0f1..8e9602d21470 100644
--- a/pkgs/by-name/ro/roddhjav-apparmor-rules/package.nix
+++ b/pkgs/by-name/ro/roddhjav-apparmor-rules/package.nix
@@ -7,13 +7,13 @@
 
 stdenvNoCC.mkDerivation {
   pname = "roddhjav-apparmor-rules";
-  version = "0-unstable-2025-05-27";
+  version = "0-unstable-2025-06-12";
 
   src = fetchFromGitHub {
     owner = "roddhjav";
     repo = "apparmor.d";
-    rev = "bf22a7786c39d3b56b87095bfd4479769b88ec1a";
-    hash = "sha256-J8h9LcZRxhTaZg7OU2m75upSoeD1i/abSCJQtX1WRsQ=";
+    rev = "1f7e019500a87027fd03f89e148e52b71946e4c0";
+    hash = "sha256-xw7MaPUXLZOla8LfmhdiFbf8xLke3OKh1wwBdWm9ENo=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/by-name/ro/roon-server/package.nix b/pkgs/by-name/ro/roon-server/package.nix
index 63b751a2a2e6..058b724b5fa8 100644
--- a/pkgs/by-name/ro/roon-server/package.nix
+++ b/pkgs/by-name/ro/roon-server/package.nix
@@ -16,7 +16,7 @@
   stdenv,
 }:
 let
-  version = "2.51.1534";
+  version = "2.52.1538";
   urlVersion = builtins.replaceStrings [ "." ] [ "0" ] version;
 in
 stdenv.mkDerivation {
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://download.roonlabs.com/updates/production/RoonServer_linuxx64_${urlVersion}.tar.bz2";
-    hash = "sha256-x9zbWJ4lrqfC1CPquGsdgzhO3WBzd46dlZy6APqJbcg=";
+    hash = "sha256-pWg1Cp8aNdR/hoVZDF3kUznJtYsjJYX9J4g1xbmn/lg=";
   };
 
   dontConfigure = true;
@@ -104,6 +104,7 @@ stdenv.mkDerivation {
       runHook postInstall
     '';
 
+  passthru.updateScript = ./update.py;
   meta = with lib; {
     description = "Music player for music lovers";
     changelog = "https://community.roonlabs.com/c/roon/software-release-notes/18";
@@ -113,6 +114,7 @@ stdenv.mkDerivation {
     maintainers = with maintainers; [
       lovesegfault
       steell
+      ramblurr
     ];
     platforms = [ "x86_64-linux" ];
     mainProgram = "RoonServer";
diff --git a/pkgs/by-name/ro/roon-server/update.py b/pkgs/by-name/ro/roon-server/update.py
new file mode 100755
index 000000000000..7be5e4a00bb3
--- /dev/null
+++ b/pkgs/by-name/ro/roon-server/update.py
@@ -0,0 +1,131 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -I nixpkgs=./. -i python3 -p python3 curl common-updater-scripts nix coreutils
+
+"""
+Updater script for the roon-server package.
+"""
+
+import subprocess
+import urllib.request
+import re
+import sys
+import os
+
+
+def get_current_version():
+    """Get the current version of roon-server from the package.nix file."""
+    result = subprocess.run(
+        [
+            "nix-instantiate",
+            "--eval",
+            "-E",
+            "with import ./. {}; roon-server.version or (lib.getVersion roon-server)",
+        ],
+        capture_output=True,
+        text=True,
+    )
+    result.check_returncode()
+    return result.stdout.strip().strip('"')
+
+
+def get_latest_version_info():
+    """Get the latest version information from the Roon Labs API."""
+    url = "https://updates.roonlabs.net/update/?v=2&platform=linux&version=&product=RoonServer&branding=roon&branch=production&curbranch=production"
+    with urllib.request.urlopen(url) as response:
+        content = response.read().decode("utf-8")
+
+        # Parse the response
+        info = {}
+        for line in content.splitlines():
+            if "=" in line:
+                key, value = line.split("=", 1)
+                info[key] = value
+
+        return info
+
+
+def parse_version(display_version):
+    """Parse the display version string to get the version in the format used in the package.nix file."""
+    # Example: "2.47 (build 1510) production" -> "2.47.1510"
+    match = re.search(r"(\d+\.\d+)\s+\(build\s+(\d+)\)", display_version)
+    if match:
+        return f"{match.group(1)}.{match.group(2)}"
+    return None
+
+
+def get_hash(url):
+    """Calculate the hash of the package."""
+    result = subprocess.run(
+        ["nix-prefetch-url", "--type", "sha256", url], capture_output=True, text=True
+    )
+    result.check_returncode()
+    pkg_hash = result.stdout.strip()
+
+    result = subprocess.run(
+        ["nix", "hash", "to-sri", f"sha256:{pkg_hash}"], capture_output=True, text=True
+    )
+    result.check_returncode()
+    return result.stdout.strip()
+
+
+def update_package(new_version, hash_value):
+    """Update the package.nix file with the new version and hash."""
+    subprocess.run(
+        [
+            "update-source-version",
+            "roon-server",
+            new_version,
+            hash_value,
+            "--ignore-same-version",
+        ],
+        check=True,
+    )
+
+
+def main():
+    current_version = get_current_version()
+    print(f"Current roon-server version: {current_version}")
+
+    try:
+        latest_info = get_latest_version_info()
+
+        display_version = latest_info.get("displayversion", "")
+        download_url = latest_info.get("updateurl", "")
+
+        if not display_version or not download_url:
+            print("Error: Failed to get version information from Roon Labs API")
+            sys.exit(1)
+
+        print(f"Latest version from API: {display_version}")
+        print(f"Download URL: {download_url}")
+
+        new_version = parse_version(display_version)
+        if not new_version:
+            print(
+                f"Error: Failed to parse version from display version: {display_version}"
+            )
+            sys.exit(1)
+
+        print(f"Parsed version: {new_version}")
+
+        if new_version == current_version:
+            print("roon-server is already up to date!")
+            return
+
+        print(f"Calculating hash for new version {new_version}...")
+        hash_value = get_hash(download_url)
+
+        print(
+            f"Updating package.nix with new version {new_version} and hash {hash_value}"
+        )
+        update_package(new_version, hash_value)
+
+        print(f"Successfully updated roon-server to version {new_version}")
+
+    except Exception as e:
+        print(f"Error: {e}")
+        sys.exit(1)
+
+
+if __name__ == "__main__":
+    main()
diff --git a/pkgs/by-name/ro/root5/package.nix b/pkgs/by-name/ro/root5/package.nix
index 760eda7bb7e8..abffe178a93f 100644
--- a/pkgs/by-name/ro/root5/package.nix
+++ b/pkgs/by-name/ro/root5/package.nix
@@ -85,6 +85,10 @@ stdenv.mkDerivation rec {
     # Backport Python 3.11 fix to v5 from v6.26
     # https://github.com/root-project/root/commit/484deb056dacf768aba4954073b41105c431bffc
     ./root5-python311-fix.patch
+
+    # Backport Python 3.13 fix to v5 from v6.25
+    # https://github.com/root-project/root/commit/9aa67a863482eef8cf50850b9ac3724e35f58781
+    ./python313-PyCFunction_Call.patch
   ];
 
   # https://github.com/root-project/root/issues/13216
diff --git a/pkgs/by-name/ro/root5/python313-PyCFunction_Call.patch b/pkgs/by-name/ro/root5/python313-PyCFunction_Call.patch
new file mode 100644
index 000000000000..a447b4760d0d
--- /dev/null
+++ b/pkgs/by-name/ro/root5/python313-PyCFunction_Call.patch
@@ -0,0 +1,14 @@
+--- a/bindings/pyroot/src/TCustomPyTypes.cxx
++++ b/bindings/pyroot/src/TCustomPyTypes.cxx
+@@ -240,7 +240,11 @@
+ // the function is globally shared, so set and reset its "self" (ok, b/c of GIL)
+    Py_INCREF( self );
+    func->m_self = self;
++#if PY_VERSION_HEX >= 0x03090000
++   PyObject* result = PyObject_Call( (PyObject*)func, args, kw );
++#else
+    PyObject* result = PyCFunction_Call( (PyObject*)func, args, kw );
++#endif
+    func->m_self = 0;
+    Py_DECREF( self );
+    Py_DECREF( args );
diff --git a/pkgs/by-name/ro/rose-pine-kvantum/package.nix b/pkgs/by-name/ro/rose-pine-kvantum/package.nix
index ea0b6a3ed42c..5f390d2a218d 100644
--- a/pkgs/by-name/ro/rose-pine-kvantum/package.nix
+++ b/pkgs/by-name/ro/rose-pine-kvantum/package.nix
@@ -5,13 +5,13 @@
 }:
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "rose-pine-kvantum";
-  version = "0-unstable-2025-03-26";
+  version = "0-unstable-2025-04-16";
 
   src = fetchFromGitHub {
     owner = "rose-pine";
     repo = "kvantum";
-    rev = "5a51f5892ba752088dee062a6188b9f0bb59324b";
-    hash = "sha256-lUO3Bg9+KbPkllKu2sv9ueV1dcZu4qRn32N/+4+2B4A=";
+    rev = "48edf9e2d772b166ed50af3e182a19196e5d3fe6";
+    hash = "sha256-0xSMYYPsW7Rw5O8FL0iAt63Hya8GkI2VuOZf64PewyQ=";
   };
 
   dontBuild = true;
@@ -31,6 +31,6 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     homepage = "https://github.com/rose-pine/kvantum";
     platforms = lib.platforms.linux;
     maintainers = with lib.maintainers; [ amadaluzia ];
-    license = lib.licenses.unfree; # rose-pine/kvantum#1
+    license = lib.licenses.mit;
   };
 })
diff --git a/pkgs/by-name/ro/rosegarden/package.nix b/pkgs/by-name/ro/rosegarden/package.nix
index 002b5e24bdc9..eea5928db436 100644
--- a/pkgs/by-name/ro/rosegarden/package.nix
+++ b/pkgs/by-name/ro/rosegarden/package.nix
@@ -31,11 +31,11 @@
 
 stdenv.mkDerivation rec {
   pname = "rosegarden";
-  version = "24.12.1";
+  version = "25.06";
 
   src = fetchurl {
     url = "mirror://sourceforge/rosegarden/${pname}-${version}.tar.xz";
-    sha256 = "sha256-VmltXEu7Qn7lViT2ICn+6zJlzDSlFG6P69evRRX0iTI=";
+    sha256 = "sha256-df5SsAWJlHHMSw5JVL5dNe4c6PQWWauO9IomF4qlw20=";
   };
 
   postPhase = ''
diff --git a/pkgs/by-name/ro/roslyn-ls/deps.json b/pkgs/by-name/ro/roslyn-ls/deps.json
index 728f6b4653fe..bd213cdf5baa 100644
--- a/pkgs/by-name/ro/roslyn-ls/deps.json
+++ b/pkgs/by-name/ro/roslyn-ls/deps.json
@@ -47,24 +47,6 @@
     "hash": "sha256-BsXNOWEgfFq3Yz7VTtK6m/ov4/erRqyBzieWSIpmc1U=",
     "url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.bcl.asyncinterfaces/9.0.0/microsoft.bcl.asyncinterfaces.9.0.0.nupkg"
   },
-  {
-    "pname": "Microsoft.Bcl.HashCode",
-    "version": "1.1.1",
-    "hash": "sha256-gP6ZhEsjjbmw6a477sm7UuOvGFFTxZYfRE2kKxK8jnc=",
-    "url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.bcl.hashcode/1.1.1/microsoft.bcl.hashcode.1.1.1.nupkg"
-  },
-  {
-    "pname": "Microsoft.Build",
-    "version": "17.11.4",
-    "hash": "sha256-y2qkHCwPbRYZKXwmABQUNhEHHQB/67xSH1zq8fz9olo=",
-    "url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build/17.11.4/microsoft.build.17.11.4.nupkg"
-  },
-  {
-    "pname": "Microsoft.Build",
-    "version": "17.13.9",
-    "hash": "sha256-rS0qX48D/t6YLJ+PbI6fmZKkCz8VSLHAZOGDsGpGbu8=",
-    "url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build/17.13.9/microsoft.build.17.13.9.nupkg"
-  },
   {
     "pname": "Microsoft.Build",
     "version": "17.3.4",
@@ -95,36 +77,12 @@
     "hash": "sha256-hOFFiQiCNkkDqt0Ad/4Y/sggj4t0zWXmfGjE+I/cqqM=",
     "url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.locator/1.6.10/microsoft.build.locator.1.6.10.nupkg"
   },
-  {
-    "pname": "Microsoft.Build.Tasks.Core",
-    "version": "17.11.4",
-    "hash": "sha256-Y1A6j3uuYVrjM+waJ4/AKNgiGGqZU3Cai3swu8FUtqM=",
-    "url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.tasks.core/17.11.4/microsoft.build.tasks.core.17.11.4.nupkg"
-  },
-  {
-    "pname": "Microsoft.Build.Tasks.Core",
-    "version": "17.13.9",
-    "hash": "sha256-ZF6MaW4TIGGgqMqr78f7XrY4ZuoxTyaDi8EMLNMiV5I=",
-    "url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.tasks.core/17.13.9/microsoft.build.tasks.core.17.13.9.nupkg"
-  },
   {
     "pname": "Microsoft.Build.Tasks.Core",
     "version": "17.3.4",
     "hash": "sha256-0RA95pD6zHBf1lgYyrrAuEuNeGwuCgGxNdhEJ0cJUCs=",
     "url": "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/491596af-6d2d-439e-80bb-1ebb3b54f9a8/nuget/v3/flat2/microsoft.build.tasks.core/17.3.4/microsoft.build.tasks.core.17.3.4.nupkg"
   },
-  {
-    "pname": "Microsoft.Build.Utilities.Core",
-    "version": "17.11.4",
-    "hash": "sha256-1hfIxI2oIHDH1HUotX4l4SFzWerkjoCYSFYUcW0SF5g=",
-    "url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.utilities.core/17.11.4/microsoft.build.utilities.core.17.11.4.nupkg"
-  },
-  {
-    "pname": "Microsoft.Build.Utilities.Core",
-    "version": "17.13.9",
-    "hash": "sha256-B1+u6sdrkwz3b5JLZ42BHkFRvPKRGyMWWUt44Fyb9Zo=",
-    "url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.utilities.core/17.13.9/microsoft.build.utilities.core.17.13.9.nupkg"
-  },
   {
     "pname": "Microsoft.Build.Utilities.Core",
     "version": "17.3.4",
@@ -193,15 +151,15 @@
   },
   {
     "pname": "Microsoft.DotNet.Arcade.Sdk",
-    "version": "9.0.0-beta.25263.2",
-    "hash": "sha256-mFVYybJiMi58vu+hT4VfXgWCWAXGeKxI7OwUQi2FO/A=",
-    "url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.dotnet.arcade.sdk/9.0.0-beta.25263.2/microsoft.dotnet.arcade.sdk.9.0.0-beta.25263.2.nupkg"
+    "version": "9.0.0-beta.25271.1",
+    "hash": "sha256-Kk4iy7AcCfJ4BOcAEyRuFQ+pFF1zjL+1c+UaU/SKRv4=",
+    "url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.dotnet.arcade.sdk/9.0.0-beta.25271.1/microsoft.dotnet.arcade.sdk.9.0.0-beta.25271.1.nupkg"
   },
   {
     "pname": "Microsoft.DotNet.XliffTasks",
-    "version": "9.0.0-beta.25263.2",
-    "hash": "sha256-J86joC1OMlnjMppEBf9GwEbc0IdVJ/XjshBiZunH/EU=",
-    "url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.dotnet.xlifftasks/9.0.0-beta.25263.2/microsoft.dotnet.xlifftasks.9.0.0-beta.25263.2.nupkg"
+    "version": "9.0.0-beta.25271.1",
+    "hash": "sha256-Pt1JWrowN7AgRijTpkk0OMi/DGGJxN9Dd+eobMev/Do=",
+    "url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.dotnet.xlifftasks/9.0.0-beta.25271.1/microsoft.dotnet.xlifftasks.9.0.0-beta.25271.1.nupkg"
   },
   {
     "pname": "Microsoft.Extensions.Configuration",
@@ -287,18 +245,6 @@
     "hash": "sha256-IaATAy1M/MEBTid0mQiTrHj4aTwo2POCtckxSbLc3lU=",
     "url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.io.redist/6.0.1/microsoft.io.redist.6.0.1.nupkg"
   },
-  {
-    "pname": "Microsoft.NET.StringTools",
-    "version": "17.11.4",
-    "hash": "sha256-lWfzY35WQ+iKS9TpuztDTljgF9CIORhFhFEm0p1dVBE=",
-    "url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.net.stringtools/17.11.4/microsoft.net.stringtools.17.11.4.nupkg"
-  },
-  {
-    "pname": "Microsoft.NET.StringTools",
-    "version": "17.13.9",
-    "hash": "sha256-E3bKeMbBLabLM3GWPmD4HDjJzS3Ru1KcPTRWHugRgrQ=",
-    "url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.net.stringtools/17.13.9/microsoft.net.stringtools.17.13.9.nupkg"
-  },
   {
     "pname": "Microsoft.NET.StringTools",
     "version": "17.6.3",
@@ -385,9 +331,9 @@
   },
   {
     "pname": "Microsoft.VisualStudio.SolutionPersistence",
-    "version": "1.0.28",
-    "hash": "sha256-7BmeidGDb19wfvpaYA91luCFE1CStb8iLlnyJhVCJ6w=",
-    "url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.visualstudio.solutionpersistence/1.0.28/microsoft.visualstudio.solutionpersistence.1.0.28.nupkg"
+    "version": "1.0.52",
+    "hash": "sha256-KZGPtOXe6Hv8RrkcsgoLKTRyaCScIpQEa2NhNB3iOXw=",
+    "url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.visualstudio.solutionpersistence/1.0.52/microsoft.visualstudio.solutionpersistence.1.0.52.nupkg"
   },
   {
     "pname": "Microsoft.VisualStudio.Telemetry",
@@ -899,12 +845,6 @@
     "hash": "sha256-AVMl6N3SG2AqAcQHFruf2QDQeQIC3CICxID+Sh0vBxI=",
     "url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.formats.asn1/8.0.0/system.formats.asn1.8.0.0.nupkg"
   },
-  {
-    "pname": "System.Formats.Nrbf",
-    "version": "9.0.0",
-    "hash": "sha256-c4qf6CocQUZB0ySGQd8s15PXY7xfrjQqMGXxkwytKyw=",
-    "url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.formats.nrbf/9.0.0/system.formats.nrbf.9.0.0.nupkg"
-  },
   {
     "pname": "System.Globalization",
     "version": "4.3.0",
@@ -1025,24 +965,12 @@
     "hash": "sha256-avEWbcCh7XgpsSesnR3/SgxWi/6C5OxjR89Jf/SfRjQ=",
     "url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.metadata/9.0.0/system.reflection.metadata.9.0.0.nupkg"
   },
-  {
-    "pname": "System.Reflection.MetadataLoadContext",
-    "version": "8.0.0",
-    "hash": "sha256-jS5XPZiHjY2CJFnLSxL6U7lMrU3ZknvB4EOgMbG0LEo=",
-    "url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.metadataloadcontext/8.0.0/system.reflection.metadataloadcontext.8.0.0.nupkg"
-  },
   {
     "pname": "System.Reflection.Primitives",
     "version": "4.3.0",
     "hash": "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM=",
     "url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.primitives/4.3.0/system.reflection.primitives.4.3.0.nupkg"
   },
-  {
-    "pname": "System.Resources.Extensions",
-    "version": "9.0.0",
-    "hash": "sha256-y2gLEMuAy6QfEyNJxABC/ayMWGnwlpX735jsUQLktho=",
-    "url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.extensions/9.0.0/system.resources.extensions.9.0.0.nupkg"
-  },
   {
     "pname": "System.Resources.ResourceManager",
     "version": "4.3.0",
@@ -1097,12 +1025,6 @@
     "hash": "sha256-gPgPU7k/InTqmXoRzQfUMEKL3QuTnOKowFqmXTnWaBQ=",
     "url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.protecteddata/9.0.0/system.security.cryptography.protecteddata.9.0.0.nupkg"
   },
-  {
-    "pname": "System.Security.Cryptography.Xml",
-    "version": "8.0.0",
-    "hash": "sha256-XSg8r9TBoYi6KF10Tg3HyCN3pTm1pA2v0BonEgu+PXU=",
-    "url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.xml/8.0.0/system.security.cryptography.xml.8.0.0.nupkg"
-  },
   {
     "pname": "System.Security.Principal",
     "version": "4.3.0",
diff --git a/pkgs/by-name/ro/roslyn-ls/package.nix b/pkgs/by-name/ro/roslyn-ls/package.nix
index 60c5cb3b1360..651269965234 100644
--- a/pkgs/by-name/ro/roslyn-ls/package.nix
+++ b/pkgs/by-name/ro/roslyn-ls/package.nix
@@ -32,18 +32,18 @@ in
 buildDotnetModule rec {
   inherit pname dotnet-sdk dotnet-runtime;
 
-  vsVersion = "2.80.16";
+  vsVersion = "2.82.12";
   src = fetchFromGitHub {
     owner = "dotnet";
     repo = "roslyn";
     rev = "VSCode-CSharp-${vsVersion}";
-    hash = "sha256-4kFu0bxbLZ31ifGluSrN9sN5EwzLg3bVHnh9iB9TGpA=";
+    hash = "sha256-5QCiA2NxjWUFLut8gxboR2kTibN66QCxbe2g2jdrINo=";
   };
 
   # versioned independently from vscode-csharp
   # "roslyn" in here:
   # https://github.com/dotnet/vscode-csharp/blob/main/package.json
-  version = "5.0.0-1.25266.2";
+  version = "5.0.0-1.25302.10";
   projectFile = "src/LanguageServer/${project}/${project}.csproj";
   useDotnetFromEnv = true;
   nugetDeps = ./deps.json;
diff --git a/pkgs/by-name/ro/roxctl/package.nix b/pkgs/by-name/ro/roxctl/package.nix
index 44260bbb6576..a92a1d7b0e38 100644
--- a/pkgs/by-name/ro/roxctl/package.nix
+++ b/pkgs/by-name/ro/roxctl/package.nix
@@ -9,13 +9,13 @@
 
 buildGoModule rec {
   pname = "roxctl";
-  version = "4.7.3";
+  version = "4.7.4";
 
   src = fetchFromGitHub {
     owner = "stackrox";
     repo = "stackrox";
     rev = version;
-    sha256 = "sha256-ZN9BkIgVJ4p78zfNPqRCmUCHg0KpaphfQM6HPvnx0pY=";
+    sha256 = "sha256-X5yNo0Q0mB8ews9axhLie2BiEEoYKjLxVe5h8urhoH0=";
   };
 
   vendorHash = "sha256-eTxcJnAZUKk6VDQhbjxnsiQWEpM2jA228SAhrCqjbF4=";
diff --git a/pkgs/by-name/ro/roxterm/package.nix b/pkgs/by-name/ro/roxterm/package.nix
index eee7b27938ff..46f1efa85bf9 100644
--- a/pkgs/by-name/ro/roxterm/package.nix
+++ b/pkgs/by-name/ro/roxterm/package.nix
@@ -31,13 +31,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "roxterm";
-  version = "3.16.2";
+  version = "3.16.6";
 
   src = fetchFromGitHub {
     owner = "realh";
     repo = "roxterm";
     rev = finalAttrs.version;
-    hash = "sha256-j1DVQd8OD7k9KWfCbYUDaKevabIQXdWjMNJXyC57+Ns=";
+    hash = "sha256-T6xFExsgYGUVLgDS7sx5juoraMjzIYyfsXHvQUAm1fc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/rp/rpcs3/package.nix b/pkgs/by-name/rp/rpcs3/package.nix
index d45d14703673..607f0728b6d7 100644
--- a/pkgs/by-name/rp/rpcs3/package.nix
+++ b/pkgs/by-name/rp/rpcs3/package.nix
@@ -162,7 +162,6 @@ stdenv.mkDerivation {
       abbradar
       neonfuz
       ilian
-      zane
     ];
     license = licenses.gpl2Only;
     platforms = [
diff --git a/pkgs/by-name/rp/rpi-imager/lsblkCheckFix.patch b/pkgs/by-name/rp/rpi-imager/lsblkCheckFix.patch
deleted file mode 100644
index aa4fdeecfdb0..000000000000
--- a/pkgs/by-name/rp/rpi-imager/lsblkCheckFix.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 170ce7a..063a137 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -332,11 +332,6 @@ else()
-         if (NOT LSBLK)
-             message(FATAL_ERROR "Unable to locate lsblk (used for disk enumeration)")
-         endif()
--
--        execute_process(COMMAND "${LSBLK}" "--json" OUTPUT_QUIET RESULT_VARIABLE ret)
--        if (ret EQUAL "1")
--            message(FATAL_ERROR "util-linux package too old. lsblk does not support --json (used for disk enumeration)")
--        endif()
-     endif()
-
-     configure_file(
diff --git a/pkgs/by-name/rp/rpi-imager/package.nix b/pkgs/by-name/rp/rpi-imager/package.nix
index 14cc7a16434f..22acbd7b304a 100644
--- a/pkgs/by-name/rp/rpi-imager/package.nix
+++ b/pkgs/by-name/rp/rpi-imager/package.nix
@@ -12,18 +12,20 @@
   util-linux,
   xz,
   gnutls,
+  zstd,
+  libtasn1,
   enableTelemetry ? false,
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "rpi-imager";
-  version = "1.9.0";
+  version = "1.9.4";
 
   src = fetchFromGitHub {
     owner = "raspberrypi";
     repo = "rpi-imager";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-7rkoOKG0yMSIgQjqBBFUMgX/4szHn2NXoBR+5PnKlH4=";
+    hash = "sha256-Ih7FeAKTKSvuwsrMgKQ0VEUYHHT6L99shxfAIjAzErk=";
   };
 
   sourceRoot = "${finalAttrs.src.name}/src";
@@ -31,12 +33,13 @@ stdenv.mkDerivation (finalAttrs: {
   # By default, the builder checks for JSON support in lsblk by running "lsblk --json",
   # but that throws an error, as /sys/dev doesn't exist in the sandbox.
   # This patch removes the check.
-  patches = [ ./lsblkCheckFix.patch ];
+  # remove-vendoring.patch from
+  # https://gitlab.archlinux.org/archlinux/packaging/packages/rpi-imager/-/raw/main/remove-vendoring.patch
+  patches = [ ./remove-vendoring-and-lsblk-check.patch ];
 
-  # avoid duplicate path prefixes
   postPatch = ''
-    substituteInPlace dependencies/xz-5.6.2/CMakeLists.txt \
-      --replace-fail '\''${D}/' ""
+    substituteInPlace ../debian/org.raspberrypi.rpi-imager.desktop \
+      --replace-fail "/usr/bin/" ""
   '';
 
   nativeBuildInputs = [
@@ -56,16 +59,23 @@ stdenv.mkDerivation (finalAttrs: {
       qt6.qttools
       xz
       gnutls
+      zstd
+      libtasn1
     ]
     ++ lib.optionals stdenv.hostPlatform.isLinux [
       qt6.qtwayland
     ];
 
-  # Disable telemetry and update check.
-  cmakeFlags = lib.optionals (!enableTelemetry) [
-    "-DENABLE_CHECK_VERSION=OFF"
-    "-DENABLE_TELEMETRY=OFF"
-  ];
+  cmakeFlags =
+    # Disable vendoring
+    [
+      (lib.cmakeBool "ENABLE_VENDORING" false)
+    ]
+    # Disable telemetry and update check.
+    ++ lib.optionals (!enableTelemetry) [
+      (lib.cmakeBool "ENABLE_CHECK_VERSION" false)
+      (lib.cmakeBool "ENABLE_TELEMETRY" false)
+    ];
 
   passthru = {
     tests.version = testers.testVersion {
diff --git a/pkgs/by-name/rp/rpi-imager/remove-vendoring-and-lsblk-check.patch b/pkgs/by-name/rp/rpi-imager/remove-vendoring-and-lsblk-check.patch
new file mode 100644
index 000000000000..b4db2c0efc91
--- /dev/null
+++ b/pkgs/by-name/rp/rpi-imager/remove-vendoring-and-lsblk-check.patch
@@ -0,0 +1,575 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -4,6 +4,7 @@
+ cmake_minimum_required(VERSION 3.22)
+ OPTION (ENABLE_CHECK_VERSION "Check for version updates" ON)
+ OPTION (ENABLE_TELEMETRY "Enable sending telemetry" ON)
++OPTION (ENABLE_VENDORING "Use vendored dependencies" ON)
+ 
+ # We use FetchContent_Populate() instead of FetchContent_MakeAvailable() to allow EXCLUDE_FROM_ALL
+ # This prevents the dependencies from being built by default, which is our desired behavior
+@@ -58,410 +59,156 @@ if (APPLE)
+     endforeach()
+ endif(APPLE)
+ 
++## Preferentially build the bundled code. Full vendoring is to follow in a later version.
++
+ # Bundled code will occasionally use identical options - eg, BUILD_TESTING.
+ set(BUILD_TESTING OFF)
+ set(BUILD_STATIC_LIBS ON)
+ set(BUILD_SHARED_LIBS OFF)
+ 
+-include(FetchContent)
+-
+-# Bundled liblzma
+-set(LIBLZMA_VERSION "5.8.1")
+-FetchContent_Declare(xz
+-    GIT_REPOSITORY https://github.com/tukaani-project/xz.git
+-    GIT_TAG v${LIBLZMA_VERSION}
+-    ${USE_OVERRIDE_FIND_PACKAGE}
+-)
+-set(XZ_MICROLZMA_DECODER OFF CACHE BOOL "" FORCE)
+-set(XZ_MICROLZMA_ENCODER OFF CACHE BOOL "" FORCE)
+-set(XZ_LZIP_DECODER OFF CACHE BOOL "" FORCE)
+-set(XZ_ENABLE_SANDBOX OFF CACHE BOOL "" FORCE)
+-set(XZ_BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)
+-set(XZ_ENABLE_DOXYGEN OFF CACHE BOOL "" FORCE)
+-set(XZ_DECODERS
+-    lzma1
+-    lzma2
+-    delta
+-)
+-set(XZ_ENCODERS
+-    lzma1
+-    lzma2
+-    delta
+-)
+-set(CREATE_LZMA_SYMLINKS OFF CACHE BOOL "" FORCE)
+-set(CREATE_XZ_SYMLINKS OFF CACHE BOOL "" FORCE)
+-FetchContent_GetProperties(xz)
+-if(NOT xz_POPULATED)
+-    FetchContent_Populate(xz)
+-    add_subdirectory(${xz_SOURCE_DIR} ${xz_BINARY_DIR} EXCLUDE_FROM_ALL)
+-endif()
+-unset(XZ_MICROLZMA_DECODER)
+-unset(XZ_MICROLZMA_ENCODER)
+-unset(XZ_LZIP_DECODER)
+-unset(XZ_ENABLE_SANDBOX)
+-unset(XZ_BUILD_SHARED_LIBS)
+-unset(XZ_ENABLE_DOXYGEN)
+-unset(CREATE_LZMA_SYMLINKS)
+-unset(CREATE_XZ_SYMLINKS)
+-set(LIBLZMA_FOUND true CACHE BOOL "" FORCE)
+-set(LIBLZMA_INCLUDE_DIR ${xz_SOURCE_DIR}/src/liblzma/api CACHE PATH "" FORCE)
+-set(LIBLZMA_INCLUDE_DIRS ${xz_SOURCE_DIR}/src/liblzma/api CACHE PATH "" FORCE)
+-set(LIBLZMA_LIBRARY liblzma CACHE FILEPATH "" FORCE)
+-set(LIBLZMA_LIBRARIES ${xz_BINARY_DIR}/liblzma.a CACHE FILEPATH "" FORCE)
+-set(LIBLZMA_HAS_AUTO_DECODER true CACHE BOOL "" FORCE)
+-set(LIBLZMA_HAS_EASY_ENCODER true CACHE BOOL "" FORCE)
+-set(LIBLZMA_HAS_LZMA_PRESET true CACHE BOOL "" FORCE)
+-
+-# Bundled zstd
+-set(ZSTD_VERSION "1.5.7")
+-FetchContent_Declare(zstd
+-    GIT_REPOSITORY https://github.com/facebook/zstd.git
+-    GIT_TAG v${ZSTD_VERSION}
+-    SOURCE_SUBDIR build/cmake
+-    ${USE_OVERRIDE_FIND_PACKAGE}
+-)
+-set(ZSTD_BUILD_PROGRAMS OFF CACHE BOOL "" FORCE)
+-set(ZSTD_BUILD_SHARED OFF CACHE BOOL "" FORCE)
+-set(ZSTD_BUILD_STATIC ON CACHE BOOL "" FORCE)
+-set(ZSTD_BUILD_TESTS OFF CACHE BOOL "" FORCE)
+-set(ZSTD_BUILD_DICTBUILDER OFF CACHE BOOL "" FORCE)
+-FetchContent_GetProperties(zstd)
+-if(NOT zstd_POPULATED)
+-    FetchContent_Populate(zstd)
+-    add_subdirectory(${zstd_SOURCE_DIR}/build/cmake ${zstd_BINARY_DIR} EXCLUDE_FROM_ALL)
+-endif()
+-unset(ZSTD_BUILD_PROGRAMS)
+-unset(ZSTD_BUILD_SHARED)
+-unset(ZSTD_BUILD_STATIC)
+-unset(ZSTD_BUILD_TESTS)
+-unset(ZSTD_BUILD_DICTBUILDER)
+-set(ZSTD_FOUND true CACHE BOOL "" FORCE)
+-set(Zstd_VERSION ${ZSTD_VERSION} CACHE STRING "" FORCE)
+-set(Zstd_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/_deps/zstd-src/lib CACHE PATH "" FORCE)
+-set(ZSTD_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/_deps/zstd-src/lib CACHE PATH "" FORCE)
+-set(Zstd_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR}/_deps/zstd-src/lib CACHE PATH "" FORCE)
+-set(ZSTD_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR}/_deps/zstd-src/lib CACHE PATH "" FORCE)
+-set(Zstd_LIBRARIES libzstd_static CACHE FILEPATH "" FORCE)
+-set(ZSTD_LIBRARIES libzstd_static CACHE FILEPATH "" FORCE)
+-set(ZSTD_LIBRARY ${CMAKE_CURRENT_BINARY_DIR}/_deps/zstd-build/lib/libzstd.a CACHE FILEPATH "" FORCE)
+-
+-# Remote nghttp2
+-set(NGHTTP2_VERSION "1.65.0")
+-FetchContent_Declare(nghttp2
+-    GIT_REPOSITORY https://github.com/nghttp2/nghttp2.git
+-    GIT_TAG        v${NGHTTP2_VERSION}
+-    ${USE_OVERRIDE_FIND_PACKAGE}
+-)
+-set(BUILD_EXAMPLES OFF)
+-set(ENABLE_LIB_ONLY ON)
+-set(ENABLE_FAILMALLOC OFF)
+-FetchContent_GetProperties(nghttp2)
+-if(NOT nghttp2_POPULATED)
+-    FetchContent_Populate(nghttp2)
+-    add_subdirectory(${nghttp2_SOURCE_DIR} ${nghttp2_BINARY_DIR} EXCLUDE_FROM_ALL)
+-endif()
+-unset(ENABLE_LIB_ONLY)
+-unset(ENABLE_FAILMALLOC)
+-unset(BUILD_EXAMPLES)
+-set(NGHTTP2_LIBRARIES nghttp2_static CACHE FILEPATH "" FORCE)
+-set(NGHTTP2_LIBRARY nghttp2_static CACHE FILEPATH "" FORCE)
+-set(NGHTTP2_INCLUDE_DIR ${nghttp2_SOURCE_DIR}/lib CACHE PATH "" FORCE)
+-set(NGHTTP2_INCLUDE_DIRS ${nghttp2_SOURCE_DIR}/lib CACHE PATH "" FORCE)
+-set(NGHTTP2_FOUND true CACHE BOOL "" FORCE)
+-
+-
+-# Bundled zlib
+-set(ZLIB_VERSION "1.4.1.1")
+-set(ZLIB_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
+-set(ZLIB_BUILD_SHARED OFF CACHE BOOL "" FORCE)
+-set(ZLIB_BUILD_STATIC ON CACHE BOOL "" FORCE)
+-set(ZLIB_BUILD_TESTS OFF CACHE BOOL "" FORCE)
+-set(SKIP_INSTALL_ALL ON CACHE BOOL "" FORCE)
+-FetchContent_Declare(zlib
+-    GIT_REPOSITORY https://github.com/madler/zlib.git
+-    GIT_TAG 5a82f71ed1dfc0bec044d9702463dbdf84ea3b71 # v1.4.1.1, as of 27/05/2025
+-    ${USE_OVERRIDE_FIND_PACKAGE}
+-)
+-FetchContent_GetProperties(zlib)
+-if(NOT zlib_POPULATED)
+-    FetchContent_Populate(zlib)
+-    add_subdirectory(${zlib_SOURCE_DIR} ${zlib_BINARY_DIR} EXCLUDE_FROM_ALL)
+-endif()
+-unset(ZLIB_BUILD_EXAMPLES)
+-unset(ZLIB_BUILD_SHARED)
+-unset(ZLIB_BUILD_STATIC)
+-unset(ZLIB_BUILD_TESTS)
+-unset(SKIP_INSTALL_ALL)
+-# Set zlib variables that libarchive's CMake will use
+-set(ZLIB_USE_STATIC_LIBS ON CACHE BOOL "" FORCE) # This is to help FindZlib.cmake find the static library over the shared one
+-set(ZLIB_ROOT ${zlib_SOURCE_DIR} CACHE PATH "" FORCE)
+-
+-# On Windows with MinGW, zlib builds with .a extension, not .lib
+-# Set the correct library path before find_package
+-if (WIN32 AND CMAKE_COMPILER_IS_GNUCXX)
+-    set(ZLIB_LIBRARY ${zlib_BINARY_DIR}/libzlibstatic.a CACHE FILEPATH "" FORCE)
+-    set(ZLIB_LIBRARIES ${zlib_BINARY_DIR}/libzlibstatic.a CACHE STRING "" FORCE)
+-else()
+-    set(ZLIB_LIBRARY ${zlib_BINARY_DIR}/libz.a CACHE FILEPATH "" FORCE)
+-    set(ZLIB_LIBRARIES ${zlib_BINARY_DIR}/libz.a CACHE STRING "" FORCE)
+-endif()
+-
+-# Since we're building zlib ourselves with EXCLUDE_FROM_ALL, we don't need find_package
+-# Instead, we'll create the ZLIB::ZLIB target manually and set all required variables
+-set(ZLIB_INCLUDE_DIR ${zlib_SOURCE_DIR} CACHE PATH "" FORCE)
+-set(ZLIB_INCLUDE_DIRS ${zlib_SOURCE_DIR} CACHE PATH "" FORCE)
+-
+-# Create ZLIB::ZLIB target manually since we're not using find_package
+-# Set zlib variables that other packages expect
+-set(ZLIB_FOUND TRUE CACHE BOOL "" FORCE)
+-add_library(ZLIB::ZLIB STATIC IMPORTED)
+-if (WIN32 AND CMAKE_COMPILER_IS_GNUCXX)
+-    set_target_properties(ZLIB::ZLIB PROPERTIES
+-        IMPORTED_LOCATION "${zlib_BINARY_DIR}/libzlibstatic.a"
+-        INTERFACE_INCLUDE_DIRECTORIES "${zlib_SOURCE_DIR};${zlib_BINARY_DIR}"
+-    )
+-    add_dependencies(ZLIB::ZLIB zlibstatic)
+-else()
+-    set_target_properties(ZLIB::ZLIB PROPERTIES
+-        IMPORTED_LOCATION "${zlib_BINARY_DIR}/libz.a"
+-        INTERFACE_INCLUDE_DIRECTORIES "${zlib_SOURCE_DIR};${zlib_BINARY_DIR}"
++if(ENABLE_VENDORING)
++    # Bundled liblzma
++    set(XZ_MICROLZMA_DECODER OFF)
++    set(XZ_MICROLZMA_ENCODER OFF)
++    set(XZ_LZIP_DECODER OFF)
++    set(XZ_ENABLE_SANDBOX OFF)
++    set(XZ_BUILD_SHARED_LIBS OFF)
++    set(XZ_ENABLE_DOXYGEN OFF)
++    set(XZ_DECODERS
++        lzma1
++        lzma2
++        delta
+     )
+-    add_dependencies(ZLIB::ZLIB zlibstatic)
+-endif()
+-
+-# Debug output
+-message(STATUS "ZLIB_LIBRARY set to: ${ZLIB_LIBRARY}")
+-message(STATUS "ZLIB_LIBRARIES set to: ${ZLIB_LIBRARIES}")
+-message(STATUS "ZLIB_INCLUDE_DIRS set to: ${ZLIB_INCLUDE_DIRS}")
+-
+-# Bundled libarchive
+-
+-set(ENABLE_WERROR OFF CACHE BOOL "")
+-set(ENABLE_INSTALL OFF CACHE BOOL "")
+-set(ENABLE_TEST OFF CACHE BOOL "")
+-set(ENABLE_CNG OFF CACHE BOOL "")
+-set(ENABLE_MBEDTLS OFF CACHE BOOL "")
+-set(ENABLE_NETTLE OFF CACHE BOOL "")
+-set(ENABLE_OPENSSL OFF CACHE BOOL "")
+-# Configure libarchive with explicit zlib support
+-set(ENABLE_ZLIB ON CACHE BOOL "")
+-set(ENABLE_BZip2 OFF CACHE BOOL "")
+-set(ENABLE_LZ4 OFF CACHE BOOL "")
+-set(ENABLE_LZO OFF CACHE BOOL "")
+-set(ENABLE_LIBB2 OFF CACHE BOOL "")
+-set(ENABLE_LIBXML2 OFF CACHE BOOL "")
+-set(ENABLE_EXPAT OFF CACHE BOOL "")
+-set(ENABLE_PCREPOSIX OFF CACHE BOOL "")
+-set(ENABLE_PCRE2POSIX OFF CACHE BOOL "")
+-set(ENABLE_LIBGCC OFF CACHE BOOL "")
+-set(ENABLE_TAR OFF CACHE BOOL "")
+-set(ENABLE_CPIO OFF CACHE BOOL "")
+-set(ENABLE_CAT OFF CACHE BOOL "")
+-set(BUILD_SHARED_LIBS OFF CACHE BOOL "")
+-set(ARCHIVE_BUILD_STATIC_LIBS ON CACHE BOOL "")
+-set(ARCHIVE_BUILD_EXAMPLES OFF CACHE BOOL "")
+-set(ENABLE_ZSTD ON CACHE BOOL "")
+-set(POSIX_REGEX_LIB "libc" CACHE STRING "" FORCE)
+-set(LIBARCHIVE_VERSION "3.8.0")
+-
+-# Create a patch script to fix ZSTD detection in libarchive
+-set(LIBARCHIVE_PATCH_FILE "${CMAKE_CURRENT_BINARY_DIR}/libarchive_zstd_patch.cmake")
+-file(WRITE ${LIBARCHIVE_PATCH_FILE} "
+-# Read the original CMakeLists.txt
+-file(READ \"\${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt\" CONTENT)
+-
+-# Find the start and end of the ZSTD section
+-string(FIND \"\${CONTENT}\" \"IF(ZSTD_FOUND)\" ZSTD_START)
+-string(FIND \"\${CONTENT}\" \"MARK_AS_ADVANCED(CLEAR ZSTD_INCLUDE_DIR)\" ZSTD_END)
+-
+-if(ZSTD_START GREATER -1 AND ZSTD_END GREATER -1)
+-    # Calculate positions
+-    math(EXPR ZSTD_END \"\${ZSTD_END} + 40\") # Length of \"MARK_AS_ADVANCED(CLEAR ZSTD_INCLUDE_DIR)\"
+-    
+-    # Extract parts before and after the ZSTD section
+-    string(SUBSTRING \"\${CONTENT}\" 0 \${ZSTD_START} BEFORE_ZSTD)
+-    string(SUBSTRING \"\${CONTENT}\" \${ZSTD_END} -1 AFTER_ZSTD)
+-    
+-    # Create the new ZSTD section
+-    set(NEW_ZSTD_SECTION \"IF(ZSTD_FOUND)
+-  SET(HAVE_ZSTD_H 1)
+-  INCLUDE_DIRECTORIES(\\\${ZSTD_INCLUDE_DIR})
+-  LIST(APPEND ADDITIONAL_LIBS \\\${ZSTD_LIBRARY})
+-  
+-  # Check if ZSTD variables were provided externally (indicating static build)
+-  get_property(ZSTD_LIB_IS_CACHE CACHE ZSTD_LIBRARY PROPERTY TYPE)
+-  get_property(ZSTD_INC_IS_CACHE CACHE ZSTD_INCLUDE_DIR PROPERTY TYPE)
+-  if(ZSTD_LIB_IS_CACHE AND ZSTD_INC_IS_CACHE)
+-    # Skip function checks for static builds and assume all functions are available
+-    message(STATUS \\\"Using provided ZSTD library: \\\${ZSTD_LIBRARY}\\\")
+-    SET(HAVE_LIBZSTD 1)
+-    SET(HAVE_ZSTD_compressStream 1)
+-    SET(HAVE_ZSTD_minCLevel 1)
+-  else()
+-    # Original function checks for dynamic builds
+-    CMAKE_PUSH_CHECK_STATE()
+-    SET(CMAKE_REQUIRED_LIBRARIES \\\${ZSTD_LIBRARY})
+-    SET(CMAKE_REQUIRED_INCLUDES \\\${ZSTD_INCLUDE_DIR})
+-    CHECK_FUNCTION_EXISTS(ZSTD_decompressStream HAVE_LIBZSTD)
+-    CHECK_FUNCTION_EXISTS(ZSTD_compressStream HAVE_ZSTD_compressStream)
+-    CHECK_FUNCTION_EXISTS(ZSTD_minCLevel HAVE_ZSTD_minCLevel)
+-    CMAKE_POP_CHECK_STATE()
+-  endif()
+-ENDIF(ZSTD_FOUND)
+-MARK_AS_ADVANCED(CLEAR ZSTD_INCLUDE_DIR)\")
+-    
+-    # Combine the parts
+-    set(NEW_CONTENT \"\${BEFORE_ZSTD}\${NEW_ZSTD_SECTION}\")
+-    
+-    # Write the modified content back
+-    file(WRITE \"\${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt\" \"\${NEW_CONTENT}\${AFTER_ZSTD}\")
+-    message(STATUS \"Patched libarchive CMakeLists.txt for static ZSTD support\")
+-else()
+-    message(WARNING \"Could not find ZSTD section in libarchive CMakeLists.txt\")
+-endif()
+-")
+-
+-FetchContent_Declare(libarchive
+-    GIT_REPOSITORY https://github.com/libarchive/libarchive.git
+-    GIT_TAG v${LIBARCHIVE_VERSION}
+-    PATCH_COMMAND ${CMAKE_COMMAND} -P ${LIBARCHIVE_PATCH_FILE}
+-    ${USE_OVERRIDE_FIND_PACKAGE}
+-)
+-FetchContent_GetProperties(libarchive)
+-if(NOT libarchive_POPULATED)
+-    FetchContent_Populate(libarchive)
+-    add_subdirectory(${libarchive_SOURCE_DIR} ${libarchive_BINARY_DIR} EXCLUDE_FROM_ALL)
+-endif()
+-
+-# Ensure libarchive is built after zlib
+-if (TARGET archive_static AND TARGET ZLIB::ZLIB)
+-    add_dependencies(archive_static ZLIB::ZLIB)
+-endif()
+-
+-unset(POSIX_REGEX_LIB)
+-unset(ENABLE_WERROR)
+-unset(ENABLE_INSTALL)
+-unset(ENABLE_TEST)
+-unset(ENABLE_CNG)
+-unset(ENABLE_MBEDTLS)
+-unset(ENABLE_NETTLE)
+-unset(ENABLE_OPENSSL)
+-unset(ENABLE_ZLIB)
+-unset(ENABLE_BZip2)
+-unset(ENABLE_LZ4)
+-unset(ENABLE_LZO)
+-unset(ENABLE_LIBB2)
+-unset(ENABLE_LIBXML2)
+-unset(ENABLE_EXPAT)
+-unset(ENABLE_PCREPOSIX)
+-unset(ENABLE_PCRE2POSIX)
+-unset(ENABLE_LIBGCC)
+-unset(ENABLE_TAR)
+-unset(ENABLE_CPIO)
+-unset(ENABLE_CAT)
+-unset(ARCHIVE_BUILD_SHARED_LIBS)
+-unset(ENABLE_ZSTD)
+-set(LibArchive_FOUND true CACHE BOOL "" FORCE)
+-set(LibArchive_LIBRARIES archive_static CACHE FILEPATH "" FORCE)
+-set(LibArchive_INCLUDE_DIR ${libarchive_SOURCE_DIR}/libarchive CACHE PATH "" FORCE)
+-set(LibArchive_INCLUDE_DIRS ${libarchive_SOURCE_DIR}/libarchive CACHE PATH "" FORCE)
+-
+-# Bundled libcurl
+-set(CURL_VERSION "8.13.0")
+-string(REPLACE "." "_" CURL_TAG ${CURL_VERSION})
+-FetchContent_Declare(curl
+-    GIT_REPOSITORY https://github.com/curl/curl.git
+-    GIT_TAG curl-${CURL_TAG}
+-    ${USE_OVERRIDE_FIND_PACKAGE}
+-)
+-set(BUILD_CURL_EXE OFF CACHE BOOL "" FORCE)
+-set(BUILD_LIBCURL_DOCS OFF CACHE BOOL "" FORCE)
+-set(BUILD_MISC_DOCS OFF CACHE BOOL "" FORCE)
+-set(ENABLE_CURL_MANUAL OFF CACHE BOOL "" FORCE)
+-set(BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
+-set(CURL_USE_LIBPSL OFF CACHE BOOL "" FORCE)
+-set(CURL_USE_LIBSSH2 OFF CACHE BOOL "" FORCE)
+-set(CURL_DISABLE_ALTSVC ON CACHE BOOL "" FORCE)
+-set(CURL_DISABLE_KERBEROS_AUTH ON CACHE BOOL "" FORCE)
+-set(CURL_DISABLE_DICT ON CACHE BOOL "" FORCE)
+-set(CURL_DISABLE_DISABLE_FORM_API ON CACHE BOOL "" FORCE)
+-set(CURL_DISABLE_FTP ON CACHE BOOL "" FORCE)
+-set(CURL_DISABLE_GOPHER ON CACHE BOOL "" FORCE)
+-set(CURL_DISABLE_IMAP ON CACHE BOOL "" FORCE)
+-set(CURL_DISABLE_LDAP ON CACHE BOOL "" FORCE)
+-set(CURL_DISABLE_LDAPS ON CACHE BOOL "" FORCE)
+-set(CURL_DISABLE_MQTT ON CACHE BOOL "" FORCE)
+-set(CURL_DISABLE_NETRC ON CACHE BOOL "" FORCE)
+-set(CURL_DISABLE_POP3 ON CACHE BOOL "" FORCE)
+-set(CURL_DISABLE_RTSP ON CACHE BOOL "" FORCE)
+-set(CURL_DISABLE_SMTP ON CACHE BOOL "" FORCE)
+-set(CURL_DISABLE_TELNET ON CACHE BOOL "" FORCE)
+-set(CURL_DISABLE_TFTP ON CACHE BOOL "" FORCE)
+-set(CURL_ZSTD ON)
+-set(CURL_ENABLE_EXPORT_TARGET OFF CACHE BOOL "" FORCE)
+-set(CURL_DISABLE_INSTALL ON)
+-if (APPLE)
+-    # TODO: SecureTransport is a deprecated API in macOS, supporting
+-    #       only up to TLS v1.2. cURL has not implemented the replacement,
+-    #       Network.framework, and so we will need to select an alternative.
+-    #       Best recommendation: Libressl, as used by Apple in the curl binary
+-    #       on macOS.
+-    set(CURL_USE_SECTRANSP ON)
+-    set(CURL_DEFAULT_SSL_BACKEND "secure-transport")
+-    set(USE_APPLE_IDN ON)
+-else()
+-    if (WIN32)
+-        set(CURL_USE_SCHANNEL ON)
+-        set(CURL_DEFAULT_SSL_BACKEND "schannel")
+-    else ()
+-        set(CURL_USE_GNUTLS ON)
+-        set(CURL_DEFAULT_SSL_BACKEND "gnutls")
+-    endif(WIN32)
+-endif(APPLE)
+-
+-FetchContent_GetProperties(curl)
+-if(NOT curl_POPULATED)
+-    FetchContent_Populate(curl)
+-    add_subdirectory(${curl_SOURCE_DIR} ${curl_BINARY_DIR} EXCLUDE_FROM_ALL)
++    set(XZ_ENCODERS "")
++    set(CREATE_LZMA_SYMLINKS OFF)
++    set(CREATE_XZ_SYMLINKS OFF)
++    add_subdirectory(dependencies/xz-5.8.1)
++    set(LIBLZMA_FOUND true)
++    set(LIBLZMA_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/dependencies/xz-5.8.1/src/liblzma/api FORCE)
++    set(LIBLZMA_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}/dependencies/xz-5.8.1/src/liblzma/api FORCE)
++    set(LIBLZMA_LIBRARY liblzma)
++    set(LIBLZMA_LIBRARIES liblzma)
++
++    # Bundled zstd
++    set(ZSTD_BUILD_PROGRAMS OFF CACHE BOOL "" FORCE)
++    set(ZSTD_BUILD_SHARED OFF CACHE BOOL "" FORCE)
++    set(ZSTD_BUILD_TESTS OFF CACHE BOOL "" FORCE)
++    set(ZSTD_BUILD_DICTBUILDER OFF CACHE BOOL "" FORCE)
++    add_subdirectory(dependencies/zstd-1.5.7/build/cmake)
++    set(Zstd_FOUND true)
++    set(ZSTD_FOUND true)
++    set(Zstd_VERSION "1.5.7")
++    set(ZSTD_VERSION "1.5.7")
++    set(Zstd_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/dependencies/zstd-1.5.7/lib)
++    set(ZSTD_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/dependencies/zstd-1.5.7/lib)
++    set(Zstd_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}/dependencies/zstd-1.5.7/lib)
++    set(ZSTD_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}/dependencies/zstd-1.5.7/lib)
++    set(Zstd_LIBRARIES libzstd_static)
++    set(ZSTD_LIBRARIES libzstd_static)
++    set(ZSTD_LIBRARY libzstd_static)
++
++    # Bundled zlib
++    set(ZLIB_BUILD_EXAMPLES OFF)
++    set(SKIP_INSTALL_ALL ON)
++    add_subdirectory(dependencies/zlib-1.4.1.1)
++    set(ZLIB_FOUND TRUE)
++    set(ZLIB_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/dependencies/zlib-1.4.1.1 CACHE PATH "zlib include dir")
++    set(ZLIB_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}/dependencies/zlib-1.4.1.1 CACHE PATH "zlib include dir")
++    set(ZLIB_LIBRARY zlibstatic)
++    set(ZLIB_LIBRARIES zlibstatic)
++
++    # Bundled libarchive
++    set(ARCHIVE_ENABLE_WERROR OFF CACHE BOOL "")
++    set(ARCHIVE_ENABLE_INSTALL OFF CACHE BOOL "")
++    set(ARCHIVE_ENABLE_TEST OFF CACHE BOOL "")
++    set(ARCHIVE_ENABLE_CNG OFF CACHE BOOL "")
++    set(ARCHIVE_ENABLE_MBEDTLS OFF CACHE BOOL "")
++    set(ARCHIVE_ENABLE_NETTLE OFF CACHE BOOL "")
++    set(ARCHIVE_ENABLE_OPENSSL OFF CACHE BOOL "")
++    set(ARCHIVE_ENABLE_BZip2 OFF CACHE BOOL "")
++    set(ARCHIVE_ENABLE_LZ4 OFF CACHE BOOL "")
++    set(ARCHIVE_ENABLE_LZO OFF CACHE BOOL "")
++    set(ARCHIVE_ENABLE_LIBB2 OFF CACHE BOOL "")
++    set(ARCHIVE_ENABLE_LIBXML2 OFF CACHE BOOL "")
++    set(ARCHIVE_ENABLE_EXPAT OFF CACHE BOOL "")
++    set(ARCHIVE_ENABLE_PCREPOSIX OFF CACHE BOOL "")
++    set(ARCHIVE_ENABLE_PCRE2POSIX OFF CACHE BOOL "")
++    set(ARCHIVE_ENABLE_LIBGCC OFF CACHE BOOL "")
++    set(ARCHIVE_ENABLE_TAR OFF CACHE BOOL "")
++    set(ARCHIVE_ENABLE_CPIO OFF CACHE BOOL "")
++    set(ARCHIVE_ENABLE_CAT OFF CACHE BOOL "")
++    set(ARCHIVE_BUILD_SHARED_LIBS OFF CACHE BOOL "")
++    add_subdirectory(dependencies/libarchive-3.7.7)
++    set(LibArchive_FOUND true)
++    set(LibArchive_LIBRARIES archive_static)
++    set(LibArchive_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/dependencies/libarchive-3.7.8/libarchive)
++
++    # Bundled libcurl
++    set(CMAKE_CURL_INCLUDES)
++    set(BUILD_CURL_EXE OFF CACHE BOOL "" FORCE)
++    set(BUILD_LIBCURL_DOCS OFF CACHE BOOL "" FORCE)
++    set(ENABLE_CURL_MANUAL OFF CACHE BOOL "" FORCE)
++    set(CURL_USE_LIBPSL OFF)
++    set(CURL_USE_LIBSSH2 OFF)
++    set(CURL_DISABLE_ALTSVC ON)
++    set(CURL_DISABLE_KERBEROS_AUTH ON)
++    set(CURL_DISABLE_DICT ON)
++    set(CURL_DISABLE_DISABLE_FORM_API ON)
++    set(CURL_DISABLE_FTP ON)
++    set(CURL_DISABLE_GOPHER ON)
++    set(CURL_DISABLE_IMAP ON)
++    set(CURL_DISABLE_LDAP ON)
++    set(CURL_DISABLE_LDAPS ON)
++    set(CURL_DISABLE_MQTT ON)
++    set(CURL_DISABLE_NETRC ON)
++    set(CURL_DISABLE_POP3 ON)
++    set(CURL_DISABLE_RTSP ON)
++    set(CURL_DISABLE_SMTP ON)
++    set(CURL_DISABLE_TELNET ON)
++    set(CURL_DISABLE_TFTP ON)
++    set(CURL_ZSTD ON)
++    set(CURL_ENABLE_EXPORT_TARGET OFF CACHE BOOL "" FORCE)
++    set(CURL_DISABLE_INSTALL ON)
++    if (APPLE)
++        # TODO: SecureTransport is a deprecated API in macOS, supporting
++        #       only up to TLS v1.2. cURL has not implemented the replacement,
++        #       Network.framework, and so we will need to select an alternative.
++        #       Best recommendation: Libressl, as used by Apple in the curl binary
++        #       on macOS.
++        set(CURL_USE_SECTRANSP ON)
++        set(CURL_DEFAULT_SSL_BACKEND "secure-transport")
++        set(USE_APPLE_IDN ON)
++    else()
++        if (WIN32)
++            set(CURL_USE_SCHANNEL ON)
++            set(CURL_DEFAULT_SSL_BACKEND "schannel")
++        else ()
++            set(CURL_USE_GNUTLS ON)
++            set(CURL_DEFAULT_SSL_BACKEND "gnutls")
++        endif(WIN32)
++    endif(APPLE)
++
++    add_subdirectory(dependencies/curl-8.13.0)
++    set(CURL_FOUND true)
++    set(CURL_LIBRARIES libcurl_static)
++    set(CURL_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/dependencies/curl-8.13.0/include)
++    set(CURL_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}/dependencies/curl-8.13.0/include)
++
++elseif (NOT ENABLE_VENDORING AND UNIX)
++    # Find the libraries that were subject to vendoring in the system instead,
++    # To keep the possibility of delivery via Linux distro packages
++    find_package(ZLIB)
++    if(ZLIB_FOUND)
++        set(EXTRALIBS ${EXTRALIBS} ZLIB::ZLIB)
++    endif()
++    find_package(LibLZMA)
++    if(LIBLZMA_FOUND)
++        set(EXTRALIBS ${EXTRALIBS} LibLZMA::LibLZMA)
++    endif()
++    find_package(CURL 8.13.0 REQUIRED)
++    find_package(LibArchive 3.7.8 REQUIRED)
+ endif()
+ 
+-unset(BUILD_CURL_EXE)
+-unset(BUILD_LIBCURL_DOCS)
+-unset(BUILD_MISC_DOCS)
+-unset(ENABLE_CURL_MANUAL)
+-unset(BUILD_EXAMPLES)
+-unset(CURL_USE_LIBPSL)
+-unset(CURL_USE_LIBSSH2)
+-unset(CURL_DISABLE_ALTSVC)
+-unset(CURL_DISABLE_KERBEROS_AUTH)
+-unset(CURL_DISABLE_DICT)
+-unset(CURL_DISABLE_DISABLE_FORM_API)
+-unset(CURL_DISABLE_FTP)
+-unset(CURL_DISABLE_GOPHER)
+-unset(CURL_DISABLE_IMAP)
+-unset(CURL_DISABLE_LDAP)
+-unset(CURL_DISABLE_LDAPS)
+-unset(CURL_DISABLE_MQTT)
+-unset(CURL_DISABLE_NETRC)
+-unset(CURL_DISABLE_POP3)
+-unset(CURL_DISABLE_RTSP)
+-unset(CURL_DISABLE_SMTP)
+-unset(CURL_DISABLE_TELNET)
+-unset(CURL_DISABLE_TFTP)
+-unset(CURL_ZSTD)
+-unset(CURL_ENABLE_EXPORT_TARGET)
+-unset(CURL_DISABLE_INSTALL)
+-unset(CURL_USE_SECTRANSP)
+-unset(CURL_DEFAULT_SSL_BACKEND)
+-unset(USE_APPLE_IDN)
+-unset(CURL_USE_SCHANNEL)
+-unset(CURL_USE_GNUTLS)
+-
+-set(CURL_FOUND true CACHE BOOL "" FORCE)
+-set(CURL_LIBRARIES libcurl_static CACHE FILEPATH "" FORCE)
+-set(CURL_INCLUDE_DIR ${curl_SOURCE_DIR}/include CACHE PATH "" FORCE)
+-set(CURL_INCLUDE_DIRS ${curl_SOURCE_DIR}/include CACHE PATH "" FORCE)
+-
+ # Adding headers explicity so they are displayed in Qt Creator
+ set(HEADERS config.h imagewriter.h networkaccessmanagerfactory.h nan.h drivelistitem.h drivelistmodel.h drivelistmodelpollthread.h driveformatthread.h powersaveblocker.h cli.h
+     devicewrapper.h devicewrapperblockcacheentry.h devicewrapperpartition.h devicewrapperstructs.h devicewrapperfatpartition.h wlancredentials.h
+@@ -928,11 +675,6 @@ else()
+         if (NOT LSBLK)
+             message(FATAL_ERROR "Unable to locate lsblk (used for disk enumeration)")
+         endif()
+-
+-        execute_process(COMMAND "${LSBLK}" "--json" OUTPUT_QUIET RESULT_VARIABLE ret)
+-        if (ret EQUAL "1")
+-            message(FATAL_ERROR "util-linux package too old. lsblk does not support --json (used for disk enumeration)")
+-        endif()
+     endif()
+ 
+     install(TARGETS ${PROJECT_NAME} DESTINATION bin)
diff --git a/pkgs/by-name/rs/rspamd/package.nix b/pkgs/by-name/rs/rspamd/package.nix
index 33d0789eaf21..be3e28a4ffd3 100644
--- a/pkgs/by-name/rs/rspamd/package.nix
+++ b/pkgs/by-name/rs/rspamd/package.nix
@@ -33,13 +33,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rspamd";
-  version = "3.11.1";
+  version = "3.12.0";
 
   src = fetchFromGitHub {
     owner = "rspamd";
     repo = "rspamd";
     rev = version;
-    hash = "sha256-vG52R8jYJlCgQqhA8zbZLMES1UxfxknAVOt87nhcflM=";
+    hash = "sha256-4C+bhUkqdn9RelHf6LfcfxVCIiBUCt4BxuI9TGdlIMc=";
   };
 
   hardeningEnable = [ "pie" ];
diff --git a/pkgs/by-name/rs/rss-bridge/package.nix b/pkgs/by-name/rs/rss-bridge/package.nix
index c622a937a19d..93cd2e51a2d9 100644
--- a/pkgs/by-name/rs/rss-bridge/package.nix
+++ b/pkgs/by-name/rs/rss-bridge/package.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rss-bridge";
-  version = "2025-01-26";
+  version = "2025-06-03";
 
   src = fetchFromGitHub {
     owner = "RSS-Bridge";
     repo = "rss-bridge";
     rev = version;
-    sha256 = "sha256-b8mBojtNbQ9QSsFT2PTwyHJIOhoOpTxd6c2ldMy/g5g=";
+    sha256 = "sha256-S9TSTUwuScOcLbEpGgET1zzH1WlO1IMUOiwzMTsA65s=";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/editors/rstudio/clang-location.patch b/pkgs/by-name/rs/rstudio/clang-location.patch
similarity index 100%
rename from pkgs/applications/editors/rstudio/clang-location.patch
rename to pkgs/by-name/rs/rstudio/clang-location.patch
diff --git a/pkgs/applications/editors/rstudio/dont-yarn-install.patch b/pkgs/by-name/rs/rstudio/dont-yarn-install.patch
similarity index 100%
rename from pkgs/applications/editors/rstudio/dont-yarn-install.patch
rename to pkgs/by-name/rs/rstudio/dont-yarn-install.patch
diff --git a/pkgs/applications/editors/rstudio/fix-darwin.patch b/pkgs/by-name/rs/rstudio/fix-darwin.patch
similarity index 100%
rename from pkgs/applications/editors/rstudio/fix-darwin.patch
rename to pkgs/by-name/rs/rstudio/fix-darwin.patch
diff --git a/pkgs/applications/editors/rstudio/ignore-etc-os-release.patch b/pkgs/by-name/rs/rstudio/ignore-etc-os-release.patch
similarity index 100%
rename from pkgs/applications/editors/rstudio/ignore-etc-os-release.patch
rename to pkgs/by-name/rs/rstudio/ignore-etc-os-release.patch
diff --git a/pkgs/applications/editors/rstudio/default.nix b/pkgs/by-name/rs/rstudio/package.nix
similarity index 83%
rename from pkgs/applications/editors/rstudio/default.nix
rename to pkgs/by-name/rs/rstudio/package.nix
index 8ba7f9df78f5..758428d1f05a 100644
--- a/pkgs/applications/editors/rstudio/default.nix
+++ b/pkgs/by-name/rs/rstudio/package.nix
@@ -79,13 +79,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "RStudio";
-  version = "2025.05.0+496";
+  version = "2025.05.1+513";
 
   src = fetchFromGitHub {
     owner = "rstudio";
     repo = "rstudio";
     tag = "v${version}";
-    hash = "sha256-yZy/fEYln/jGxErwJiWFgr9w0GvwtMwzpmmHf71chBQ=";
+    hash = "sha256-KaolU82bxzAlYl+aYwlFljqsmNv0dn8XP1llaLK3LQE=";
   };
 
   # sources fetched into _deps via cmake's FetchContent
@@ -224,7 +224,7 @@ stdenv.mkDerivation rec {
   '';
 
   yarnOfflineCache = fetchYarnDeps {
-    yarnLock = quartoSrc + "/yarn.lock";
+    src = quartoSrc;
     hash = "sha256-F+gqVNNhLmyrC+tJuElw7cpx5z/WLHOiYow/y86KR5c=";
   };
 
@@ -244,41 +244,43 @@ stdenv.mkDerivation rec {
     hash = "sha256-ispV6FJdtOELtFNIZDn1lKbwvO/iTO8mrZ8nIOs2uhs=";
   };
 
-  preConfigure = ''
-    # populate the directories used by cmake's FetchContent
-    mkdir -p build/_deps
-    cp -r "$extSrcs"/* build/_deps
-    chmod -R u+w build/_deps
+  preConfigure =
+    ''
+      # populate the directories used by cmake's FetchContent
+      mkdir -p build/_deps
+      cp -r "$extSrcs"/* build/_deps
+      chmod -R u+w build/_deps
 
-    # set up node_modules directory inside quarto so that panmirror can be built
-    mkdir src/gwt/lib/quarto
-    cp -r --no-preserve=all ${quartoSrc}/* src/gwt/lib/quarto
-    pushd src/gwt/lib/quarto
-    yarnConfigHook
-    popd
+      # set up node_modules directory inside quarto so that panmirror can be built
+      mkdir src/gwt/lib/quarto
+      cp -r --no-preserve=all ${quartoSrc}/* src/gwt/lib/quarto
+      pushd src/gwt/lib/quarto
+      yarnConfigHook
+      popd
 
-    ### set up dependencies that will be copied into the result
-    # note: only the directory names have to match upstream, the actual versions don't
-    # note: symlinks are preserved
+      ### set up dependencies that will be copied into the result
+      # note: only the directory names have to match upstream, the actual versions don't
+      # note: symlinks are preserved
 
-    mkdir dependencies/dictionaries
-    for dict in ${builtins.concatStringsSep " " dictionaries}; do
-      for i in "$dict/share/hunspell/"*; do
-        ln -s $i dependencies/dictionaries/
+      mkdir dependencies/dictionaries
+      for dict in ${builtins.concatStringsSep " " dictionaries}; do
+        for i in "$dict/share/hunspell/"*; do
+          ln -s $i dependencies/dictionaries/
+        done
       done
-    done
 
-    ln -s ${quartoWrapper} dependencies/quarto
+      ln -s ${quartoWrapper} dependencies/quarto
 
-    # version in dependencies/common/install-mathjax
-    ln -s ${mathJaxSrc} dependencies/mathjax-27
+      # version in dependencies/common/install-mathjax
+      ln -s ${mathJaxSrc} dependencies/mathjax-27
 
-    mkdir -p dependencies/common/node
-    # node used by cmake
-    # version in cmake/globals.cmake (RSTUDIO_NODE_VERSION)
-    ln -s ${nodejs} dependencies/common/node/22.13.1
+      mkdir -p dependencies/common/node
+      # node used by cmake
+      # version in cmake/globals.cmake (RSTUDIO_NODE_VERSION)
+      ln -s ${nodejs} dependencies/common/node/22.13.1
 
-    ${lib.optionalString (!server) ''
+    ''
+    + lib.optionalString (!server) ''
       pushd $npmRoot
 
       substituteInPlace package.json \
@@ -308,23 +310,22 @@ stdenv.mkDerivation rec {
       # Work around known nan issue for electron_33 and above
       # https://github.com/nodejs/nan/issues/978
       substituteInPlace node_modules/nan/nan.h \
-          --replace-fail '#include "nan_scriptorigin.h"' ""
+        --replace-fail '#include "nan_scriptorigin.h"' ""
 
       # now that we patched everything, we still have to run the scripts we ignored with --ignore-scripts
       npm rebuild
 
       popd
-    ''}
-  '';
+    '';
 
-  postInstall = ''
-    mkdir -p $out/bin
-
-    ${lib.optionalString (server && stdenv.hostPlatform.isLinux) ''
+  postInstall =
+    ''
+      mkdir -p $out/bin
+    ''
+    + lib.optionalString (server && stdenv.hostPlatform.isLinux) ''
       ln -s $out/lib/rstudio/bin/{crash-handler-proxy,postback,r-ldpath,rpostback,rserver,rserver-pam,rsession,rstudio-server} $out/bin
-    ''}
-
-    ${lib.optionalString (!server && stdenv.hostPlatform.isLinux) ''
+    ''
+    + lib.optionalString (!server && stdenv.hostPlatform.isLinux) ''
       # remove unneeded electron files, since we'll wrap the app with our own electron
       shopt -s extglob
       rm -r $out/lib/rstudio/!(locales|resources|resources.pak)
@@ -335,19 +336,16 @@ stdenv.mkDerivation rec {
         --suffix PATH : ${lib.makeBinPath [ gnumake ]}
 
       ln -s $out/lib/rstudio/resources/app/bin/{diagnostics,rpostback} $out/bin
-    ''}
-
-    ${lib.optionalString (server && stdenv.hostPlatform.isDarwin) ''
+    ''
+    + lib.optionalString (server && stdenv.hostPlatform.isDarwin) ''
       ln -s $out/Applications/RStudio.app/Contents/MacOS/{crash-handler-proxy,postback,r-ldpath,rpostback,rserver,rserver-pam,rsession,rstudio-server} $out/bin
-    ''}
-
-    ${lib.optionalString (!server && stdenv.hostPlatform.isDarwin) ''
+    ''
+    + lib.optionalString (!server && stdenv.hostPlatform.isDarwin) ''
       # electron can't find its files if we use a symlink here
       makeWrapper $out/Applications/RStudio.app/Contents/MacOS/RStudio $out/bin/rstudio
 
       ln -s $out/Applications/RStudio.app/Contents/Resources/app/bin/{diagnostics,rpostback} $out/bin
-    ''}
-  '';
+    '';
 
   passthru = {
     inherit server;
diff --git a/pkgs/applications/editors/rstudio/r-location.patch b/pkgs/by-name/rs/rstudio/r-location.patch
similarity index 100%
rename from pkgs/applications/editors/rstudio/r-location.patch
rename to pkgs/by-name/rs/rstudio/r-location.patch
diff --git a/pkgs/by-name/rt/rtorrent/package.nix b/pkgs/by-name/rt/rtorrent/package.nix
index d2a892bde048..ad30eb71bea2 100644
--- a/pkgs/by-name/rt/rtorrent/package.nix
+++ b/pkgs/by-name/rt/rtorrent/package.nix
@@ -1,7 +1,6 @@
 {
   lib,
   stdenv,
-  autoconf-archive,
   autoreconfHook,
   cppunit,
   curl,
@@ -17,15 +16,15 @@
   gitUpdater,
 }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation (finalAttrs: {
   pname = "rakshasa-rtorrent";
-  version = "0.15.1";
+  version = "0.15.4";
 
   src = fetchFromGitHub {
     owner = "rakshasa";
     repo = "rtorrent";
-    rev = "68fdb86c723a0ae67ebaffec416af99fec41dcbc";
-    hash = "sha256-/GWC28LsY7GcUH+SBzi01sOWVfA1lyM0r9OdUDTYbT8=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-0OnDxmfliVP3GF2xzUZkURippzCGUwLebuyjb7nz/vs=";
   };
 
   outputs = [
@@ -38,7 +37,6 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [
-    autoconf-archive
     autoreconfHook
     installShellFiles
     pkg-config
@@ -85,4 +83,4 @@ stdenv.mkDerivation {
     platforms = lib.platforms.unix;
     mainProgram = "rtorrent";
   };
-}
+})
diff --git a/pkgs/by-name/ru/ruff/package.nix b/pkgs/by-name/ru/ruff/package.nix
index 4cad9bee4f43..7f6cb8812264 100644
--- a/pkgs/by-name/ru/ruff/package.nix
+++ b/pkgs/by-name/ru/ruff/package.nix
@@ -16,19 +16,19 @@
 
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "ruff";
-  version = "0.11.13";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "astral-sh";
     repo = "ruff";
     tag = finalAttrs.version;
-    hash = "sha256-qa4TCvjk0zrXRdiTTqjJbUnCXQKpwiRwtA28y8ZuGpw=";
+    hash = "sha256-g3fodKPDV4UaqnRalG5tEu4acvyhuoDXUevSQeHunBY=";
   };
 
   cargoBuildFlags = [ "--package=ruff" ];
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-JkhvTONWKd3/2jI/yQU2jRfEQ2eAp3drup9SsYWOXNA=";
+  cargoHash = "sha256-GNBQ522FX7Yly963/msRfiYKybpk+XDmn1rujfbO22A=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/by-name/ru/ruffle/package.nix b/pkgs/by-name/ru/ruffle/package.nix
index 140190b48066..192109a9c876 100644
--- a/pkgs/by-name/ru/ruffle/package.nix
+++ b/pkgs/by-name/ru/ruffle/package.nix
@@ -21,17 +21,17 @@
 }:
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "ruffle";
-  version = "0-nightly-2025-06-01";
+  version = "0-nightly-2025-06-11";
 
   src = fetchFromGitHub {
     owner = "ruffle-rs";
     repo = "ruffle";
     tag = lib.strings.removePrefix "0-" finalAttrs.version;
-    hash = "sha256-7fkeQZHrzyKxga5wWkIA4uo0ka1pNfYrXIz250uJ1KI=";
+    hash = "sha256-7r81iw5Mt+3EOwf28fn/26DjK7g1VazCvDEjngBYq9o=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-pCE70CP5+Rm28yokh88zP9Si2lmikCRxD7cRKFrz+o0=";
+  cargoHash = "sha256-cCZrI0KyTH/HBmjVXmL5cR6c839gXGLPTBi3HHTEI24=";
   cargoBuildFlags = lib.optional withRuffleTools "--workspace";
 
   env =
diff --git a/pkgs/by-name/ru/rush-parallel/package.nix b/pkgs/by-name/ru/rush-parallel/package.nix
index 1eeff70b49bf..945b6a6f1a31 100644
--- a/pkgs/by-name/ru/rush-parallel/package.nix
+++ b/pkgs/by-name/ru/rush-parallel/package.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "rush-parallel";
-  version = "0.6.1";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "shenwei356";
     repo = "rush";
     rev = "v${version}";
-    hash = "sha256-IV49d4Xu5QqpgqKH4y+yaOHDhhFQ2s4PuyeWHMawZTQ=";
+    hash = "sha256-5xuRA3Jf9SiNc6E/XBP9PCSA7vmioww0G5QkUAzHmEI=";
   };
 
   vendorHash = "sha256-zCloMhjHNkPZHYX1e1nx072IYbWHFWam4Af0l0s8a6M=";
diff --git a/pkgs/by-name/ru/rust-analyzer-unwrapped/package.nix b/pkgs/by-name/ru/rust-analyzer-unwrapped/package.nix
index 07a16415c014..a6edc1999ce9 100644
--- a/pkgs/by-name/ru/rust-analyzer-unwrapped/package.nix
+++ b/pkgs/by-name/ru/rust-analyzer-unwrapped/package.nix
@@ -12,15 +12,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-analyzer-unwrapped";
-  version = "2025-06-02";
+  version = "2025-06-16";
   useFetchCargoVendor = true;
-  cargoHash = "sha256-ewV/rccDgRR/iMSRihkG/1aZyGHoobeX2LQItdzCy68=";
+  cargoHash = "sha256-cg+NGntuCC1hplSBQjEG9P3EWYiRWOZAq8YaTwyuzzs=";
 
   src = fetchFromGitHub {
     owner = "rust-lang";
     repo = "rust-analyzer";
     rev = version;
-    hash = "sha256-VwSuuRF4NvAoeHZJRRlX8zAFZ+nZyuiIvmVqBAX0Bcg=";
+    hash = "sha256-VXLDkb1iOw7wWhgOgBMP9hTcpW6Eo399YbBif5hlxS8=";
   };
 
   cargoBuildFlags = [
diff --git a/pkgs/by-name/ru/rutorrent/package.nix b/pkgs/by-name/ru/rutorrent/package.nix
index 2c41cbc808c2..c7ed3f0da999 100644
--- a/pkgs/by-name/ru/rutorrent/package.nix
+++ b/pkgs/by-name/ru/rutorrent/package.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "rutorrent";
-  version = "5.2.8";
+  version = "5.2.9";
 
   src = fetchFromGitHub {
     owner = "Novik";
     repo = "ruTorrent";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-+HvWjValI80lUJJo5ohDMU1NUnmkD6Utif4oOnUKZyg=";
+    hash = "sha256-a2MZAwR/JoFvKVuBjNyT4hZPe1Mx0hpvdJUTuch0Ayw=";
   };
 
   installPhase = ''
diff --git a/pkgs/by-name/ry/ryubing/deps.json b/pkgs/by-name/ry/ryubing/deps.json
index 9d5a449410d2..a98df2485f7a 100644
--- a/pkgs/by-name/ry/ryubing/deps.json
+++ b/pkgs/by-name/ry/ryubing/deps.json
@@ -449,11 +449,6 @@
     "version": "2023.2.0",
     "hash": "sha256-Um10fSmO+21I7f+lbzzVq5e8GBijJ9amTvOlt362p1s="
   },
-  {
-    "pname": "LibHac",
-    "version": "0.19.0",
-    "hash": "sha256-FDEmeGHbX/aCFjFbFk8QwO2rTfFizt9UKb+KFDt23hk="
-  },
   {
     "pname": "MicroCom.CodeGenerator.MSBuild",
     "version": "0.11.0",
@@ -795,15 +790,20 @@
     "hash": "sha256-NHGzMcYduuYJjduIlf8M8zSQQuJcXAEaMNmKIqAgs3w="
   },
   {
-    "pname": "Ryujinx.Graphics.Nvdec.Dependencies",
-    "version": "5.0.3-build14",
-    "hash": "sha256-+ff+tlWggY+qZTBJroOOphRpOjBDg5cQgwGtVOTiqRQ="
+    "pname": "Ryujinx.Graphics.Nvdec.Dependencies.AllArch",
+    "version": "6.1.2-build3",
+    "hash": "sha256-Glhvv00ZbrbB+Z4PMSTsmiP14HZDonp611s1gXGuyqI="
   },
   {
     "pname": "Ryujinx.Graphics.Vulkan.Dependencies.MoltenVK",
     "version": "1.2.0",
     "hash": "sha256-vdDw6YGoyQzv6ustyXP6v7YWUIKEXaZOyUKAaVbRauI="
   },
+  {
+    "pname": "Ryujinx.LibHac",
+    "version": "0.20.0",
+    "hash": "sha256-msrn9BElOOGtQAz6oK3HbMeyLOQ10Xt8wT0Qyr8NwYU="
+  },
   {
     "pname": "Ryujinx.SDL2-CS",
     "version": "2.30.0-build32",
@@ -946,8 +946,8 @@
   },
   {
     "pname": "System.CodeDom",
-    "version": "9.0.0",
-    "hash": "sha256-578lcBgswW0eM16r0EnJzfGodPx86RxxFoZHc2PSzsw="
+    "version": "9.0.2",
+    "hash": "sha256-hNhCSyuD9/teTgFuX4zrBn/LWlijczwrMqv+r3/yfHI="
   },
   {
     "pname": "System.Collections",
@@ -991,8 +991,8 @@
   },
   {
     "pname": "System.IO.Hashing",
-    "version": "9.0.0",
-    "hash": "sha256-k6Pdndm5fTD6CB1QsQfP7G+2h4B30CWIsuvjHuBg3fc="
+    "version": "9.0.2",
+    "hash": "sha256-CI1z3rCDA2XnYE7hA1Hh6+rPkdIRAcswCXu/Pbaavck="
   },
   {
     "pname": "System.IO.Pipelines",
@@ -1011,8 +1011,8 @@
   },
   {
     "pname": "System.Management",
-    "version": "9.0.0",
-    "hash": "sha256-UyLO5dgNVC7rBT1S6o/Ix6EQGlVTSWUQtVC+/cyTkfQ="
+    "version": "9.0.2",
+    "hash": "sha256-7FhGnAYgoJnPcHy+HbVdK/fD8ICSLAttLtueTLBoWZc="
   },
   {
     "pname": "System.Memory",
diff --git a/pkgs/by-name/ry/ryubing/package.nix b/pkgs/by-name/ry/ryubing/package.nix
index d9bcd5c50b1f..f8bca0586c66 100644
--- a/pkgs/by-name/ry/ryubing/package.nix
+++ b/pkgs/by-name/ry/ryubing/package.nix
@@ -30,14 +30,14 @@
 
 buildDotnetModule rec {
   pname = "ryubing";
-  version = "1.2.86";
+  version = "1.3.2";
 
   src = fetchFromGitLab {
     domain = "git.ryujinx.app";
     owner = "Ryubing";
     repo = "Ryujinx";
     tag = version;
-    hash = "sha256-Goxg2+zaKaqbGv5q/ril4TBtfTbPEYEwQQ/M6NlEpus=";
+    hash = "sha256-6BCDFd0nU96OgI5lqf4fbyNkG4PS5P4raHVbvBAhB5A=";
   };
 
   nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin [
diff --git a/pkgs/by-name/ry/ryubing/updater.sh b/pkgs/by-name/ry/ryubing/updater.sh
index 49de0f8f21eb..a851801cccea 100755
--- a/pkgs/by-name/ry/ryubing/updater.sh
+++ b/pkgs/by-name/ry/ryubing/updater.sh
@@ -4,34 +4,14 @@
 set -euo pipefail
 cd "$(dirname "${BASH_SOURCE[0]}")"
 
-# provide a github token so you don't get rate limited
-# if you use gh cli you can use:
-#     `export GITHUB_TOKEN="$(cat ~/.config/gh/config.yml | yq '.hosts."github.com".oauth_token' -r)"`
-# or just set your token by hand:
-#     `read -s -p "Enter your token: " GITHUB_TOKEN; export GITHUB_TOKEN`
-#     (we use read so it doesn't show in our shell history and in secret mode so the token you paste isn't visible)
-if [ -z "${GITHUB_TOKEN:-}" ]; then
-    echo "no GITHUB_TOKEN provided - you could meet API request limiting" >&2
-fi
-
-# or provide the new version manually
-# manually modify and uncomment or export these env vars in your shell so they're accessable within the script
-# make sure you don't commit your changes here
-#
-# NEW_VERSION=""
-# COMMIT=""
-
+# If NEW_VERSION or COMMIT are not set, fetch the latest version
 if [ -z ${NEW_VERSION+x} ] && [ -z ${COMMIT+x} ]; then
-    RELEASE_DATA=$(
-        curl -s -H "Accept: application/vnd.github.v3+json" \
-            ${GITHUB_TOKEN:+ -H "Authorization: bearer $GITHUB_TOKEN"} \
-            https://api.github.com/repos/Ryubing/Ryujinx/releases
-    )
-    if [ -z "$RELEASE_DATA" ] || [[ $RELEASE_DATA =~ "rate limit exceeded" ]]; then
+    RELEASE_DATA=$(curl -s "https://git.ryujinx.app/api/v4/projects/1/repository/tags?order_by=updated&sort=desc")
+    if [ -z "$RELEASE_DATA" ] || [[ $RELEASE_DATA =~ "imposed ratelimits" ]]; then
         echo "failed to get release job data" >&2
         exit 1
     fi
-    NEW_VERSION=$(echo "$RELEASE_DATA" | jq -r '.[0].name')
+    NEW_VERSION=$(echo "$RELEASE_DATA" | jq -r '[.[] | select(.name | startswith("Canary") | not)][0].name')
 fi
 
 OLD_VERSION="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./package.nix)"
@@ -47,7 +27,7 @@ fi
 cd ../../../..
 
 if [[ "${1-default}" != "--deps-only" ]]; then
-    SHA="$(nix-prefetch-git https://github.com/Ryubing/Ryujinx --rev "$NEW_VERSION" --quiet | jq -r '.sha256')"
+    SHA="$(nix-prefetch-git https://git.ryujinx.app/ryubing/ryujinx --rev "$NEW_VERSION" --quiet | jq -r '.sha256')"
     SRI=$(nix --experimental-features nix-command hash to-sri "sha256:$SHA")
     update-source-version ryubing "$NEW_VERSION" "$SRI"
 fi
diff --git a/pkgs/by-name/s-/s-search/package.nix b/pkgs/by-name/s-/s-search/package.nix
new file mode 100644
index 000000000000..16fa1088f117
--- /dev/null
+++ b/pkgs/by-name/s-/s-search/package.nix
@@ -0,0 +1,61 @@
+{
+  lib,
+  buildGoModule,
+  fetchFromGitHub,
+  installShellFiles,
+  stdenv,
+  testers,
+  nix-update-script,
+}:
+
+buildGoModule (finalAttrs: {
+  pname = "s-search";
+  version = "0.7.3";
+
+  src = fetchFromGitHub {
+    owner = "zquestz";
+    repo = "s";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-g+Gz16U5rP3v+RbutDUh5+1YdTDe+ROFEnNAlNZX1fw=";
+  };
+
+  vendorHash = "sha256-0E/9fONanSxb2Tv5wKIpf1J/A6Hdge23xy3r6pFyV9E=";
+
+  ldflags = [
+    "-s"
+    "-w"
+  ];
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
+    installShellCompletion --cmd s \
+      --bash <($out/bin/s --completion bash) \
+      --fish <($out/bin/s --completion fish) \
+      --zsh <($out/bin/s --completion zsh)
+  '';
+
+  passthru = {
+    # `versionCheckHook` fails due to the program requires `sh` to be available in `PATH`
+    tests.version = testers.testVersion {
+      package = finalAttrs.finalPackage;
+      command = "s --version";
+    };
+
+    updateScript = nix-update-script { };
+  };
+
+  meta = {
+    description = "Web search from the terminal";
+    longDescription = ''
+      Command-line tool that generates a search query link and opens it in the
+      browser of your choice.
+    '';
+    homepage = "https://github.com/zquestz/s";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [
+      yzx9
+    ];
+    mainProgram = "s";
+  };
+})
diff --git a/pkgs/by-name/s2/s2n-tls/package.nix b/pkgs/by-name/s2/s2n-tls/package.nix
index 51e84aaf2c3b..5be03f547157 100644
--- a/pkgs/by-name/s2/s2n-tls/package.nix
+++ b/pkgs/by-name/s2/s2n-tls/package.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "s2n-tls";
-  version = "1.5.17";
+  version = "1.5.20";
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = "s2n-tls";
     rev = "v${version}";
-    hash = "sha256-ylaWeYLplAi94PQHauI1lG4PJI193TvrAPM7U446cnE=";
+    hash = "sha256-qmwo8GZpOtAs3OgdR9DWnOGz8sQcGqZKZn4WwfGpy6M=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/by-name/s3/s3ql/0001-setup.py-remove-self-reference.patch b/pkgs/by-name/s3/s3ql/0001-setup.py-remove-self-reference.patch
new file mode 100644
index 000000000000..6abe6c966bc9
--- /dev/null
+++ b/pkgs/by-name/s3/s3ql/0001-setup.py-remove-self-reference.patch
@@ -0,0 +1,68 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Philip Taron 
+Date: Wed, 11 Jun 2025 10:41:42 -0700
+Subject: [PATCH] setup.py: remove self-reference and DEVELOPER_MODE
+
+Signed-off-by: Philip Taron 
+---
+ setup.py | 33 ++-------------------------------
+ 1 file changed, 2 insertions(+), 31 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 00f6e9b120525d63fbc17949b2804785f1286118..b5582bcc366148d9c0a442abade65a6127ef2d3c 100755
+--- a/setup.py
++++ b/setup.py
+@@ -26,15 +26,7 @@ from setuptools.command.test import test as TestCommand
+ 
+ faulthandler.enable()
+ 
+-basedir = os.path.abspath(os.path.dirname(sys.argv[0]))
+-DEVELOPER_MODE = os.path.exists(os.path.join(basedir, 'MANIFEST.in'))
+-if DEVELOPER_MODE:
+-    print('MANIFEST.in exists, running in developer mode')
+-
+-# Add S3QL sources
+-sys.path.insert(0, os.path.join(basedir, 'src'))
+-sys.path.insert(0, os.path.join(basedir, 'util'))
+-import s3ql
++basedir = "/build/source"
+ 
+ 
+ class pytest(TestCommand):
+@@ -52,27 +44,6 @@ def main():
+ 
+     compile_args = ['-Wall', '-Wextra', '-Wconversion', '-Wsign-compare']
+ 
+-    # Enable all fatal warnings only when compiling from Mercurial tip.
+-    # (otherwise we break forward compatibility because compilation with newer
+-    # compiler may fail if additional warnings are added)
+-    if DEVELOPER_MODE:
+-        if os.environ.get('CI') != 'true':
+-            compile_args.append('-Werror')
+-
+-        # Value-changing conversions should always be explicit.
+-        compile_args.append('-Werror=conversion')
+-
+-        # Note that (i > -1) is false if i is unsigned (-1 will be converted to
+-        # a large positive value). We certainly don't want to do this by
+-        # accident.
+-        compile_args.append('-Werror=sign-compare')
+-
+-        # These warnings have always been harmless, and have always been due to
+-        # issues in Cython code rather than S3QL. Cython itself warns if there
+-        # are unused variables in .pyx code.
+-        compile_args.append('-Wno-unused-parameter')
+-        compile_args.append('-Wno-unused-function')
+-
+     required_pkgs = [
+         'apsw >= 3.42.0',  # https://github.com/rogerbinns/apsw/issues/459
+         'cryptography',
+@@ -88,7 +59,7 @@ def main():
+     setuptools.setup(
+         name='s3ql',
+         zip_safe=False,
+-        version=s3ql.VERSION,
++        version="@version@",
+         description='a full-featured file system for online data storage',
+         long_description=long_desc,
+         author='Nikolaus Rath',
diff --git a/pkgs/by-name/s3/s3ql/package.nix b/pkgs/by-name/s3/s3ql/package.nix
index 386baa6f4bb3..048b61fecb25 100644
--- a/pkgs/by-name/s3/s3ql/package.nix
+++ b/pkgs/by-name/s3/s3ql/package.nix
@@ -2,28 +2,56 @@
   lib,
   fetchFromGitHub,
   python3,
+  replaceVars,
   sqlite,
   which,
   nix-update-script,
+  writableTmpDirAsHomeHook,
 }:
 
-python3.pkgs.buildPythonApplication rec {
+let
+  inherit (python3.pkgs)
+    buildPythonApplication
+    setuptools
+    cython
+    apsw
+    cryptography
+    defusedxml
+    google-auth
+    google-auth-oauthlib
+    pyfuse3
+    requests
+    trio
+    pytest-trio
+    pytestCheckHook
+    python
+    ;
+in
+
+buildPythonApplication rec {
   pname = "s3ql";
-  version = "5.2.3";
+  version = "5.3.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "s3ql";
     repo = "s3ql";
     tag = "s3ql-${version}";
-    hash = "sha256-hNqKLpJd0vj96Jx4YnqYsPLq/iTbvmtvjyLrYozaxpk=";
+    hash = "sha256-SVB+VB508hGXvdHZo5lt09yssjjwHS1tsDU8M4j+swc=";
   };
 
-  build-system = with python3.pkgs; [ setuptools ];
+  patches = [
+    (replaceVars ./0001-setup.py-remove-self-reference.patch { inherit version; })
+  ];
 
-  nativeBuildInputs = [ which ] ++ (with python3.pkgs; [ cython ]);
+  build-system = [ setuptools ];
 
-  propagatedBuildInputs = with python3.pkgs; [
+  nativeBuildInputs = [
+    which
+    cython
+  ];
+
+  dependencies = [
     apsw
     cryptography
     defusedxml
@@ -35,23 +63,23 @@ python3.pkgs.buildPythonApplication rec {
     trio
   ];
 
-  nativeCheckInputs = with python3.pkgs; [
+  nativeCheckInputs = [
     pytest-trio
     pytestCheckHook
+    writableTmpDirAsHomeHook
   ];
 
   preBuild = ''
-    ${python3.pkgs.python.pythonOnBuildForHost.interpreter} ./setup.py build_cython build_ext --inplace
-  '';
-
-  preCheck = ''
-    export HOME=$(mktemp -d)
+    ${python.pythonOnBuildForHost.interpreter} ./setup.py build_cython build_ext --inplace
   '';
 
   pythonImportsCheck = [ "s3ql" ];
 
   pytestFlagsArray = [ "tests/" ];
 
+  # SSL EOF error doesn't match connection reset error. Seems fine.
+  disabledTests = [ "test_aborted_write2" ];
+
   passthru.updateScript = nix-update-script {
     extraArgs = [
       "--version-regex"
diff --git a/pkgs/by-name/s7/s7/package.nix b/pkgs/by-name/s7/s7/package.nix
index 022c0ce15ab1..a66994216397 100644
--- a/pkgs/by-name/s7/s7/package.nix
+++ b/pkgs/by-name/s7/s7/package.nix
@@ -19,14 +19,14 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "s7";
-  version = "11.2-unstable-2024-12-19";
+  version = "11.5-unstable-2025-06-15";
 
   src = fetchFromGitLab {
     domain = "cm-gitlab.stanford.edu";
     owner = "bil";
     repo = "s7";
-    rev = "a5515d455f5aca49d5275a5a35ac88935f3ad401";
-    hash = "sha256-Ik3edzpO9hIhJBZHyzL/CsTVKGbDdGVfE9pNrBeSjp8=";
+    rev = "9ab3baa97bd90b1fb3d8d7cef1e0adc31f89c6e2";
+    hash = "sha256-ZhhaRdk6hf+tu2THGFnnpTB/0VE8h87RxLDT46MuiLc=";
   };
 
   buildInputs = [
@@ -72,6 +72,7 @@ stdenv.mkDerivation (finalAttrs: {
 
     cc notcurses_s7.c -o libnotcurses_s7.so \
         -O2 -I. \
+        -Wno-error=implicit-function-declaration \
         -shared \
         -lnotcurses-core \
         -fPIC
diff --git a/pkgs/by-name/sa/saber/package.nix b/pkgs/by-name/sa/saber/package.nix
index 738f7f414964..d9bf624e9db4 100644
--- a/pkgs/by-name/sa/saber/package.nix
+++ b/pkgs/by-name/sa/saber/package.nix
@@ -1,6 +1,6 @@
 {
   lib,
-  flutter329,
+  flutter332,
   fetchFromGitHub,
   gst_all_1,
   libunwind,
@@ -15,21 +15,23 @@
   gitUpdater,
 }:
 
-flutter329.buildFlutterApplication rec {
+flutter332.buildFlutterApplication rec {
   pname = "saber";
-  version = "0.25.6";
+  version = "0.25.9";
 
   src = fetchFromGitHub {
     owner = "saber-notes";
     repo = "saber";
     tag = "v${version}";
-    hash = "sha256-OknqEbWAYLlxSTDWcggM6GP2V8cdKIAksbm7TmKzjKY=";
+    hash = "sha256-l1TPk6JiT/o0Pl67Vqv4NE2n/FrZKy/SqwhW58A3c6w=";
   };
 
   gitHashes = {
     receive_sharing_intent = "sha256-8D5ZENARPZ7FGrdIErxOoV3Ao35/XoQ2tleegI42ZUY=";
-    json2yaml = "sha256-Vb0Bt11OHGX5+lDf8KqYZEGoXleGi5iHXVS2k7CEmDw=";
-    workmanager = "sha256-fpB8CwNIn+HCQujyIXciq7Y9yd78Ie0IjkSewv3u5iw=";
+    flutter_secure_storage_linux = "sha256-cFNHW7dAaX8BV7arwbn68GgkkBeiAgPfhMOAFSJWlyY=";
+    irondash_engine_context = "sha256-/ohreOZDsVqfPoJ6wK7ylTQAgWw23v0b31bDQw5L2Hw=";
+    super_native_extensions = "sha256-0WZ5+imtLJE8GhbAgLyCC502vvlDl5QG3xtG2nCAnQI=";
+    yaru = "sha256-j0aPyHx79kzT/eLf0Y3cq4qQkQ4c76GdpjLaVNp8MuI=";
   };
 
   pubspecLock = lib.importJSON ./pubspec.lock.json;
diff --git a/pkgs/by-name/sa/saber/pubspec.lock.json b/pkgs/by-name/sa/saber/pubspec.lock.json
index 75ef121f775c..029df05923bf 100644
--- a/pkgs/by-name/sa/saber/pubspec.lock.json
+++ b/pkgs/by-name/sa/saber/pubspec.lock.json
@@ -84,11 +84,11 @@
       "dependency": "transitive",
       "description": {
         "name": "async",
-        "sha256": "d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63",
+        "sha256": "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.12.0"
+      "version": "2.13.0"
     },
     "audioplayers": {
       "dependency": "direct main",
@@ -214,11 +214,11 @@
       "dependency": "transitive",
       "description": {
         "name": "built_value",
-        "sha256": "ea90e81dc4a25a043d9bee692d20ed6d1c4a1662a28c03a96417446c093ed6b4",
+        "sha256": "082001b5c3dc495d4a42f1d5789990505df20d8547d42507c29050af6933ee27",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "8.9.5"
+      "version": "8.10.1"
     },
     "chalkdart": {
       "dependency": "transitive",
@@ -374,11 +374,11 @@
       "dependency": "transitive",
       "description": {
         "name": "decimal",
-        "sha256": "4140a688f9e443e2f4de3a1162387bf25e1ac6d51e24c9da263f245210f41440",
+        "sha256": "28239b8b929c1bd8618702e6dbc96e2618cf99770bbe9cb040d6cf56a11e4ec3",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.0.2"
+      "version": "3.2.1"
     },
     "defer_pointer": {
       "dependency": "direct main",
@@ -474,11 +474,11 @@
       "dependency": "transitive",
       "description": {
         "name": "fake_async",
-        "sha256": "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc",
+        "sha256": "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.3.2"
+      "version": "1.3.3"
     },
     "fast_image_resizer": {
       "dependency": "direct main",
@@ -514,11 +514,11 @@
       "dependency": "direct main",
       "description": {
         "name": "file_picker",
-        "sha256": "a222f231db4f822fc49e3b753674bda630e981873c84bf8604bceeb77fce0b24",
+        "sha256": "ef9908739bdd9c476353d6adff72e88fd00c625f5b959ae23f7567bd5137db0a",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "10.1.7"
+      "version": "10.2.0"
     },
     "file_selector_linux": {
       "dependency": "transitive",
@@ -656,11 +656,11 @@
       "dependency": "direct dev",
       "description": {
         "name": "flutter_lints",
-        "sha256": "5398f14efa795ffb7a33e9b6a08798b26a180edac4ad7db3f231e40f82ce11e1",
+        "sha256": "3105dc8492f6183fb076ccf1f351ac3d60564bff92e20bfc4af9cc1651f4e7e1",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "5.0.0"
+      "version": "6.0.0"
     },
     "flutter_localizations": {
       "dependency": "direct main",
@@ -682,11 +682,11 @@
       "dependency": "direct main",
       "description": {
         "name": "flutter_quill",
-        "sha256": "de019f6160023d36ad3e89343da6d740ab66ae7839875c89871fbeabcb9e8f9b",
+        "sha256": "7e60963632bbc8615627f0bae8e178515f69ecb378ad49fa68c43c2aabf33e21",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "11.4.0"
+      "version": "11.4.1"
     },
     "flutter_quill_delta_from_html": {
       "dependency": "transitive",
@@ -719,13 +719,14 @@
       "version": "0.1.0"
     },
     "flutter_secure_storage_linux": {
-      "dependency": "transitive",
+      "dependency": "direct overridden",
       "description": {
-        "name": "flutter_secure_storage_linux",
-        "sha256": "9b4b73127e857cd3117d43a70fa3dddadb6e0b253be62e6a6ab85caa0742182c",
-        "url": "https://pub.dev"
+        "path": "flutter_secure_storage_linux",
+        "ref": "patch-2",
+        "resolved-ref": "f076cbb65b075afd6e3b648122987a67306dc298",
+        "url": "https://github.com/m-berto/flutter_secure_storage.git"
       },
-      "source": "hosted",
+      "source": "git",
       "version": "2.0.1"
     },
     "flutter_secure_storage_platform_interface": {
@@ -850,31 +851,21 @@
       "dependency": "direct main",
       "description": {
         "name": "go_router",
-        "sha256": "0b1e06223bee260dee31a171fb1153e306907563a0b0225e8c1733211911429a",
+        "sha256": "b453934c36e289cef06525734d1e676c1f91da9e22e2017d9dcab6ce0f999175",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "15.1.2"
+      "version": "15.1.3"
     },
     "golden_screenshot": {
       "dependency": "direct dev",
       "description": {
         "name": "golden_screenshot",
-        "sha256": "0ecff8fde3eaea98d2f19449fb2becf67583cb0e98326b1a6ad47226137099a1",
+        "sha256": "8178266a5827eb74caf7547a19d42051e7493a4bbcc206917f62f4830729b6c3",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.2.1"
-    },
-    "golden_toolkit": {
-      "dependency": "transitive",
-      "description": {
-        "name": "golden_toolkit",
-        "sha256": "8f74adab33154fe7b731395782797021f97d2edc52f7bfb85ff4f1b5c4a215f0",
-        "url": "https://pub.dev"
-      },
-      "source": "hosted",
-      "version": "0.15.0"
+      "version": "3.3.0"
     },
     "gsettings": {
       "dependency": "transitive",
@@ -956,21 +947,21 @@
       "dependency": "direct main",
       "description": {
         "name": "intl",
-        "sha256": "d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf",
+        "sha256": "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.19.0"
+      "version": "0.20.2"
     },
     "irondash_engine_context": {
       "dependency": "transitive",
       "description": {
         "name": "irondash_engine_context",
-        "sha256": "cd7b769db11a2b5243b037c8a9b1ecaef02e1ae27a2d909ffa78c1dad747bb10",
+        "sha256": "2bb0bc13dfda9f5aaef8dde06ecc5feb1379f5bb387d59716d799554f3f305d7",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.5.4"
+      "version": "0.5.5"
     },
     "irondash_message_channel": {
       "dependency": "transitive",
@@ -992,17 +983,6 @@
       "source": "hosted",
       "version": "0.7.2"
     },
-    "json2yaml": {
-      "dependency": "direct overridden",
-      "description": {
-        "path": ".",
-        "ref": "fix-string-ends-with-colon",
-        "resolved-ref": "618fc6b7c57acd17cfa98ef7895a771938374456",
-        "url": "https://github.com/adil192/json2yaml"
-      },
-      "source": "git",
-      "version": "3.0.1"
-    },
     "json_annotation": {
       "dependency": "transitive",
       "description": {
@@ -1027,11 +1007,11 @@
       "dependency": "transitive",
       "description": {
         "name": "leak_tracker",
-        "sha256": "c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec",
+        "sha256": "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "10.0.8"
+      "version": "10.0.9"
     },
     "leak_tracker_flutter_testing": {
       "dependency": "transitive",
@@ -1057,11 +1037,11 @@
       "dependency": "transitive",
       "description": {
         "name": "lints",
-        "sha256": "c35bb79562d980e9a453fc715854e1ed39e24e7d0297a880ef54e17f9874a9d7",
+        "sha256": "a5e2b223cb7c9c8efdc663ef484fdd95bb243bff242ef5b13e26883547fce9a0",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "5.1.1"
+      "version": "6.0.0"
     },
     "list_utilities": {
       "dependency": "transitive",
@@ -1117,11 +1097,11 @@
       "dependency": "direct main",
       "description": {
         "name": "material_symbols_icons",
-        "sha256": "d45b6c36c3effa8cb51b1afb8698107d5ff1f88fa4631428f34a8a01abc295d7",
+        "sha256": "7c50901b39d1ad645ee25d920aed008061e1fd541a897b4ebf2c01d966dbf16b",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "4.2815.0"
+      "version": "4.2815.1"
     },
     "matrix4_transform": {
       "dependency": "transitive",
@@ -1416,11 +1396,11 @@
       "dependency": "direct main",
       "description": {
         "name": "pdfrx",
-        "sha256": "1bde1885de38ac8ad9f8d5e4be37a57f36f23467a9bb5a586607d5e4aa153ab8",
+        "sha256": "4640c561aa31598c9c8ff9042675f7c1ecb2ca2b1190dff6e2ecaa677d1bc416",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.1.28"
+      "version": "1.1.35"
     },
     "perfect_freehand": {
       "dependency": "direct main",
@@ -1923,11 +1903,11 @@
       "dependency": "direct main",
       "description": {
         "name": "slang",
-        "sha256": "13132690084bef34fb74dbc698a1e5496f97afbcd3eb58e20c09393e77ac46e6",
+        "sha256": "6668a08355b370d5cb5446fc869c4492ed23c6433934fe88228876460fedac22",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "4.7.1"
+      "version": "4.7.2"
     },
     "slang_flutter": {
       "dependency": "direct main",
@@ -1993,21 +1973,21 @@
       "dependency": "direct main",
       "description": {
         "name": "super_clipboard",
-        "sha256": "5203c881d24033c3e6154c2ae01afd94e7f0a3201280373f28e540f1defa3f40",
+        "sha256": "e73f3bb7e66cc9260efa1dc507f979138e7e106c3521e2dda2d0311f6d728a16",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.9.0-dev.6"
+      "version": "0.9.1"
     },
     "super_native_extensions": {
       "dependency": "transitive",
       "description": {
         "name": "super_native_extensions",
-        "sha256": "09ccc40c475e6f91770eaeb2553bf4803812d7beadc3759aa57d643370619c86",
+        "sha256": "b9611dcb68f1047d6f3ef11af25e4e68a21b1a705bbcc3eb8cb4e9f5c3148569",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.9.0-dev.6"
+      "version": "0.9.1"
     },
     "sync_http": {
       "dependency": "transitive",
@@ -2183,11 +2163,11 @@
       "dependency": "transitive",
       "description": {
         "name": "vector_graphics",
-        "sha256": "44cc7104ff32563122a929e4620cf3efd584194eec6d1d913eb5ba593dbcf6de",
+        "sha256": "a4f059dc26fc8295b5921376600a194c4ec7d55e72f2fe4c7d2831e103d461e6",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.1.18"
+      "version": "1.1.19"
     },
     "vector_graphics_codec": {
       "dependency": "transitive",
@@ -2203,11 +2183,11 @@
       "dependency": "transitive",
       "description": {
         "name": "vector_graphics_compiler",
-        "sha256": "1b4b9e706a10294258727674a340ae0d6e64a7231980f9f9a3d12e4b42407aad",
+        "sha256": "557a315b7d2a6dbb0aaaff84d857967ce6bdc96a63dc6ee2a57ce5a6ee5d3331",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.1.16"
+      "version": "1.1.17"
     },
     "vector_math": {
       "dependency": "direct main",
@@ -2233,21 +2213,21 @@
       "dependency": "transitive",
       "description": {
         "name": "vm_service",
-        "sha256": "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14",
+        "sha256": "ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "14.3.1"
+      "version": "15.0.0"
     },
     "watcher": {
       "dependency": "transitive",
       "description": {
         "name": "watcher",
-        "sha256": "69da27e49efa56a15f8afe8f4438c4ec02eff0a117df1b22ea4aad194fe1c104",
+        "sha256": "0b7fd4a0bbc4b92641dbf20adfd7e3fd1398fe17102d94b674234563e110088a",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.1.1"
+      "version": "1.1.2"
     },
     "web": {
       "dependency": "transitive",
@@ -2263,21 +2243,21 @@
       "dependency": "transitive",
       "description": {
         "name": "webdriver",
-        "sha256": "3d773670966f02a646319410766d3b5e1037efb7f07cc68f844d5e06cd4d61c8",
+        "sha256": "2f3a14ca026957870cfd9c635b83507e0e51d8091568e90129fbf805aba7cade",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.0.4"
+      "version": "3.1.0"
     },
     "win32": {
       "dependency": "transitive",
       "description": {
         "name": "win32",
-        "sha256": "329edf97fdd893e0f1e3b9e88d6a0e627128cc17cc316a8d67fda8f1451178ba",
+        "sha256": "66814138c3562338d05613a6e368ed8cfb237ad6d64a9e9334be3f309acfca03",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "5.13.0"
+      "version": "5.14.0"
     },
     "win32_registry": {
       "dependency": "transitive",
@@ -2313,22 +2293,21 @@
       "dependency": "direct main",
       "description": {
         "name": "worker_manager",
-        "sha256": "eb8ad7013f823539e259f2452b40f8bf77c0aacc7a73f66195f1ad3166eafcf8",
+        "sha256": "af3db5e6c6c8a74ab8f72e25e9d305f8ff60984ca55551397e3c8828ebf30509",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "7.2.4"
+      "version": "7.2.6"
     },
     "workmanager": {
       "dependency": "direct main",
       "description": {
-        "path": "workmanager",
-        "ref": "main",
-        "resolved-ref": "4ce065135dc1b91fee918f81596b42a56850391d",
-        "url": "https://github.com/fluttercommunity/flutter_workmanager"
+        "name": "workmanager",
+        "sha256": "f3c3ce6d79cce53eee4a29dd2e8328c25db5ba5d9062fcc5e8f3c71e0af9b7e4",
+        "url": "https://pub.dev"
       },
-      "source": "git",
-      "version": "0.5.2"
+      "source": "hosted",
+      "version": "0.6.0"
     },
     "xdg_directories": {
       "dependency": "transitive",
@@ -2374,11 +2353,11 @@
       "dependency": "direct main",
       "description": {
         "name": "yaru",
-        "sha256": "f149399d81ecd3d20bfcc79afd5ddd9bcd7e4c901d5e602a8577fe59c71c8617",
+        "sha256": "d9149e87ddcbabd6214fe629bfd0b6a94b9d81ca55a5618949ffc47a3d8a7b69",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "7.0.0"
+      "version": "8.0.0"
     },
     "yaru_window": {
       "dependency": "transitive",
@@ -2432,7 +2411,7 @@
     }
   },
   "sdks": {
-    "dart": ">=3.7.0 <4.0.0",
-    "flutter": ">=3.29.0"
+    "dart": ">=3.8.0 <4.0.0",
+    "flutter": ">=3.32.0"
   }
 }
diff --git a/pkgs/by-name/sa/safecopy/package.nix b/pkgs/by-name/sa/safecopy/package.nix
index 14cc7418a8ef..530f596a5435 100644
--- a/pkgs/by-name/sa/safecopy/package.nix
+++ b/pkgs/by-name/sa/safecopy/package.nix
@@ -30,7 +30,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2Plus;
 
     platforms = lib.platforms.linux;
-    maintainers = [ lib.maintainers.bluescreen303 ];
     mainProgram = "safecopy";
   };
 }
diff --git a/pkgs/by-name/sa/sage/package.nix b/pkgs/by-name/sa/sage/package.nix
index 0244119055cd..50ba8c2b6d01 100644
--- a/pkgs/by-name/sa/sage/package.nix
+++ b/pkgs/by-name/sa/sage/package.nix
@@ -12,8 +12,9 @@
 let
   inherit (pkgs) symlinkJoin callPackage nodePackages;
 
-  python3 = pkgs.python3 // {
-    pkgs = pkgs.python3.pkgs.overrideScope (
+  # TODO: unpin python when #416039 reaches master
+  python3 = pkgs.python312 // {
+    pkgs = pkgs.python312.pkgs.overrideScope (
       self: super: {
         # `sagelib`, i.e. all of sage except some wrappers and runtime dependencies
         sagelib = self.callPackage ./sagelib.nix {
diff --git a/pkgs/by-name/sa/sage/sage-env.nix b/pkgs/by-name/sa/sage/sage-env.nix
index a480159d34c2..525b3a901722 100644
--- a/pkgs/by-name/sa/sage/sage-env.nix
+++ b/pkgs/by-name/sa/sage/sage-env.nix
@@ -102,6 +102,12 @@ in
 writeTextFile rec {
   name = "sage-env";
   destination = "/${name}";
+
+  passthru = {
+    lib = sagelib;
+    docbuild = sage-docbuild;
+  };
+
   text =
     ''
       export PKG_CONFIG_PATH='${
@@ -205,8 +211,3 @@ writeTextFile rec {
           }''${DYLD_LIBRARY_PATH:+:}$DYLD_LIBRARY_PATH"
       '';
 }
-// {
-  # equivalent of `passthru`, which `writeTextFile` doesn't support
-  lib = sagelib;
-  docbuild = sage-docbuild;
-}
diff --git a/pkgs/by-name/sa/salmon/package.nix b/pkgs/by-name/sa/salmon/package.nix
index fbe980cbdb6f..4f3a31f5efcd 100644
--- a/pkgs/by-name/sa/salmon/package.nix
+++ b/pkgs/by-name/sa/salmon/package.nix
@@ -13,7 +13,7 @@
   libiconv,
   libstaden-read,
   pkg-config,
-  tbb_2021_11,
+  tbb_2021,
   xz,
   zlib,
 }:
@@ -55,7 +55,7 @@ stdenv.mkDerivation (finalAttrs: {
     jemalloc
     libgff
     libstaden-read
-    tbb_2021_11
+    tbb_2021
     xz
     zlib
   ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ];
diff --git a/pkgs/by-name/sa/salt/package.nix b/pkgs/by-name/sa/salt/package.nix
index 10f8b6a59171..934ba90481ce 100644
--- a/pkgs/by-name/sa/salt/package.nix
+++ b/pkgs/by-name/sa/salt/package.nix
@@ -12,12 +12,12 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "salt";
-  version = "3007.1";
+  version = "3007.4";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-uTOsTLPksRGLRtraVcnMa9xvD5S0ySh3rsRLJcaijJo=";
+    hash = "sha256-T7e2RVlJaGUX3IlafFpC2SLgD9riXalUn3N+LiEB9K8=";
   };
 
   patches = [
diff --git a/pkgs/by-name/sa/sameboy/package.nix b/pkgs/by-name/sa/sameboy/package.nix
index a2eb80b3c075..a242b5e6af42 100644
--- a/pkgs/by-name/sa/sameboy/package.nix
+++ b/pkgs/by-name/sa/sameboy/package.nix
@@ -7,22 +7,26 @@
   SDL2,
   wrapGAppsHook3,
   glib,
+  gdk-pixbuf,
+  pkg-config,
 }:
 
 stdenv.mkDerivation rec {
   pname = "sameboy";
-  version = "0.16.7";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "LIJI32";
     repo = "SameBoy";
     rev = "v${version}";
-    sha256 = "sha256-KUvhmORI3hIJFMCW8U2BZYnIwzg7h+GZZA4+U0IPS9E=";
+    sha256 = "sha256-rNP1jGnGqZG5jz8vQzqDNEKticg51uCcZQaUteawlPU=";
   };
 
   enableParallelBuilding = true;
   # glib and wrapGAppsHook3 are needed to make the Open ROM menu work.
   nativeBuildInputs = [
+    pkg-config
+    gdk-pixbuf
     rgbds
     glib
     wrapGAppsHook3
@@ -35,6 +39,10 @@ stdenv.mkDerivation rec {
     "PREFIX=$(out)"
   ];
 
+  patches = [
+    ./xdg-install-patch.diff
+  ];
+
   postPatch = ''
     substituteInPlace OpenDialog/gtk.c \
       --replace '"libgtk-3.so"' '"${gtk3}/lib/libgtk-3.so"'
diff --git a/pkgs/by-name/sa/sameboy/xdg-install-patch.diff b/pkgs/by-name/sa/sameboy/xdg-install-patch.diff
new file mode 100644
index 000000000000..91e09f5fa12e
--- /dev/null
+++ b/pkgs/by-name/sa/sameboy/xdg-install-patch.diff
@@ -0,0 +1,29 @@
+diff --git a/Makefile b/Makefile
+index 3377b3f..4492f96 100644
+--- a/Makefile
++++ b/Makefile
+@@ -788,15 +788,7 @@ install: $(BIN)/XdgThumbnailer/sameboy-thumbnailer sdl $(shell find FreeDesktop)
+ 	install -m 755 $(BIN)/SDL/sameboy $(DESTDIR)$(PREFIX)/bin/sameboy
+ 	install -m 755 $(BIN)/XdgThumbnailer/sameboy-thumbnailer $(DESTDIR)$(PREFIX)/bin/sameboy-thumbnailer
+ 	install -m 644 XdgThumbnailer/sameboy.thumbnailer $(DESTDIR)$(PREFIX)/share/thumbnailers/sameboy.thumbnailer
+-ifeq ($(DESTDIR),)
+-	xdg-mime install --novendor FreeDesktop/sameboy.xml
+-	xdg-desktop-menu install --novendor FreeDesktop/sameboy.desktop
+-	for size in 16 32 64 128 256 512; do \
+-		xdg-icon-resource install --novendor --theme hicolor --size $$size --context apps FreeDesktop/AppIcon/$${size}x$${size}.png sameboy; \
+-		xdg-icon-resource install --novendor --theme hicolor --size $$size --context mimetypes FreeDesktop/Cartridge/$${size}x$${size}.png x-gameboy-rom; \
+-		xdg-icon-resource install --novendor --theme hicolor --size $$size --context mimetypes FreeDesktop/ColorCartridge/$${size}x$${size}.png x-gameboy-color-rom; \
+-	done
+-else
++
+ 	install -m 644 FreeDesktop/sameboy.xml $(DESTDIR)$(PREFIX)/share/mime/sameboy.xml
+ 	install -m 644 FreeDesktop/sameboy.desktop $(DESTDIR)$(PREFIX)/share/applications/sameboy.desktop
+ 	for size in 16x16 32x32 64x64 128x128 256x256 512x512; do \
+@@ -807,7 +799,6 @@ else
+ 		install -m 644 FreeDesktop/ColorCartridge/$$size.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/$$size/mimetypes/x-gameboy-color-rom.png; \
+ 	done
+ endif
+-endif
+ 
+ ios: bootroms
+ 	@$(MAKE) _ios
diff --git a/pkgs/by-name/sa/sanoid/package.nix b/pkgs/by-name/sa/sanoid/package.nix
index 29c602ef3b39..cb1f55a8c123 100644
--- a/pkgs/by-name/sa/sanoid/package.nix
+++ b/pkgs/by-name/sa/sanoid/package.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sanoid";
-  version = "2.2.0";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "jimsalterjrs";
     repo = "sanoid";
     rev = "v${version}";
-    sha256 = "sha256-qfRGZ10fhLL4tJL97VHrdOkO/4OVpa087AsL9t8LMmk=";
+    sha256 = "sha256-s6MP3x4qSuuiJKq2V2oLAXp6zaMSqKRCs5O9UMSgcvE=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/by-name/sa/sarabun-font/package.nix b/pkgs/by-name/sa/sarabun-font/package.nix
index 34b624bc8ebd..34089c8f5cad 100644
--- a/pkgs/by-name/sa/sarabun-font/package.nix
+++ b/pkgs/by-name/sa/sarabun-font/package.nix
@@ -1,12 +1,12 @@
 {
   lib,
-  stdenv,
+  stdenvNoCC,
   fetchFromGitHub,
 }:
 
-stdenv.mkDerivation {
+stdenvNoCC.mkDerivation {
   pname = "sarabun";
-  version = "unstable-2018-08-24";
+  version = "0-unstable-2018-08-24";
 
   src = fetchFromGitHub {
     owner = "cadsondemak";
@@ -20,11 +20,12 @@ stdenv.mkDerivation {
     "doc"
   ];
 
-  buildPhase = ''
+  installPhase = ''
+    runHook preInstall
     mkdir -p $doc/sarabun $out/share/fonts/truetype
-
     cp -r $src/OFL.txt $src/docs/* $doc/sarabun
     cp $src/fonts/*.ttf $out/share/fonts/truetype
+    runHook postInstall
   '';
 
   meta = {
diff --git a/pkgs/by-name/sa/saunafs/package.nix b/pkgs/by-name/sa/saunafs/package.nix
index d75dab2af27d..c6aeaea8f875 100644
--- a/pkgs/by-name/sa/saunafs/package.nix
+++ b/pkgs/by-name/sa/saunafs/package.nix
@@ -5,6 +5,9 @@
   fetchFromGitHub,
   cmake,
   asciidoc,
+  pkg-config,
+  db,
+  curl,
   jemalloc,
   boost186,
   fmt,
@@ -13,17 +16,19 @@
   yaml-cpp,
   isa-l,
   judy,
+  prometheus-cpp,
+  libz,
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "saunafs";
-  version = "4.8.1";
+  version = "4.11.0";
 
   src = fetchFromGitHub {
     owner = "leil-io";
     repo = "saunafs";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-CGnU32TuHkDZYbC3bbjfz4lFWjYe3yrhX08K+UIP51Q=";
+    hash = "sha256-ZQ0+jiVpHZhAOdYneKkPi3M45LU9xj2FBbqo6VcD0JY=";
   };
 
   patches = [
@@ -39,8 +44,11 @@ stdenv.mkDerivation (finalAttrs: {
   nativeBuildInputs = [
     cmake
     asciidoc
+    pkg-config
   ];
   buildInputs = [
+    db
+    curl
     fmt
     spdlog
     yaml-cpp
@@ -49,6 +57,8 @@ stdenv.mkDerivation (finalAttrs: {
     jemalloc
     isa-l
     judy
+    prometheus-cpp
+    libz
   ];
 
   cmakeFlags = [
diff --git a/pkgs/by-name/sa/saunafs/sfstool.patch b/pkgs/by-name/sa/saunafs/sfstool.patch
index b3ca9e6510d2..6d8409772e19 100644
--- a/pkgs/by-name/sa/saunafs/sfstool.patch
+++ b/pkgs/by-name/sa/saunafs/sfstool.patch
@@ -1,12 +1,11 @@
 diff --git a/src/tools/sfstools.sh b/src/tools/sfstools.sh
-index ffd9ec22..a1cb83b6 100755
+index 2d47a275..30d1b20c 100755
 --- a/src/tools/sfstools.sh
 +++ b/src/tools/sfstools.sh
-@@ -1,4 +1,6 @@
- #!/usr/bin/env bash
+@@ -2,4 +2,5 @@
  
  tool="$(basename $0)"
+ >&2 echo "Warning: ${tool} is deprecated. Use saunafs ${tool#sfs} instead."
 -exec saunafs "${tool#sfs}" "$@"
 +dir="$(dirname $0)"
-+
 +exec "$dir/saunafs" "${tool#sfs}" "$@"
diff --git a/pkgs/by-name/sb/sbt-extras/package.nix b/pkgs/by-name/sb/sbt-extras/package.nix
index aa57a55d2f1b..e60ed6836183 100644
--- a/pkgs/by-name/sb/sbt-extras/package.nix
+++ b/pkgs/by-name/sb/sbt-extras/package.nix
@@ -18,14 +18,14 @@
 
 stdenv.mkDerivation rec {
   pname = "sbt-extras";
-  rev = "f39bd9c1cf4a34457cd6c884200ad1b594820f41";
-  version = "2025-03-20";
+  rev = "93e16846ed81a02d167144968ee4452a49c23bfa";
+  version = "2025-05-25";
 
   src = fetchFromGitHub {
     owner = "paulp";
     repo = "sbt-extras";
     inherit rev;
-    sha256 = "Uqm1SMWtXermft5wGdBVAAVQBv4CnWPCLwZBuvkR6dU=";
+    sha256 = "twvdg5wilxa794txmnUqHzdbyrwjxqKaybCgbAwOQ8I=";
   };
 
   dontBuild = true;
diff --git a/pkgs/by-name/sc/scala-next/package.nix b/pkgs/by-name/sc/scala-next/package.nix
index ce1a42e76f88..8ddd38f28586 100644
--- a/pkgs/by-name/sc/scala-next/package.nix
+++ b/pkgs/by-name/sc/scala-next/package.nix
@@ -1,10 +1,10 @@
 { scala, fetchurl }:
 
 scala.bare.overrideAttrs (oldAttrs: {
-  version = "3.7.0";
+  version = "3.7.1";
   pname = "scala-next";
   src = fetchurl {
     inherit (oldAttrs.src) url;
-    hash = "sha256-T2zGqv2XSjdA3t0FaJvldcthgpgRrMTyiRznlgQOmBE=";
+    hash = "sha256-XIeG4T7TXPVAEMteD0BSWrAv7V1f7xrkLpbdpHFuWAw=";
   };
 })
diff --git a/pkgs/by-name/sc/scala-update/package.nix b/pkgs/by-name/sc/scala-update/package.nix
index 451447617cb7..015972f48009 100644
--- a/pkgs/by-name/sc/scala-update/package.nix
+++ b/pkgs/by-name/sc/scala-update/package.nix
@@ -1,33 +1,17 @@
 {
   lib,
-  stdenv,
+  stdenvNoCC,
   coursier,
   buildGraalvmNativeImage,
 }:
 
-let
-  baseName = "scala-update";
+buildGraalvmNativeImage (finalAttrs: {
+  pname = "scala-update";
   version = "0.2.2";
-  deps = stdenv.mkDerivation {
-    name = "${baseName}-deps-${version}";
-    buildCommand = ''
-      export COURSIER_CACHE=$(pwd)
-      ${coursier}/bin/cs fetch io.github.kitlangton:scala-update_2.13:${version} > deps
-      mkdir -p $out/share/java
-      cp $(< deps) $out/share/java/
-    '';
-    outputHashMode = "recursive";
-    outputHashAlgo = "sha256";
-    outputHash = "kNnFzzHn+rFq4taqRYjBYaDax0MHW+vIoSFVN3wxA8M=";
-  };
-in
-buildGraalvmNativeImage {
-  pname = baseName;
-  inherit version;
 
-  buildInputs = [ deps ];
+  buildInputs = [ finalAttrs.finalPackage.passthru.deps ];
 
-  src = "${deps}/share/java/${baseName}_2.13-${version}.jar";
+  src = "${finalAttrs.finalPackage.passthru.deps}/share/java/scala-update_2.13-${finalAttrs.version}.jar";
 
   extraNativeImageBuildArgs = [
     "--no-fallback"
@@ -38,19 +22,37 @@ buildGraalvmNativeImage {
   buildPhase = ''
     runHook preBuild
 
-    native-image ''${nativeImageBuildArgs[@]} -cp $(JARS=("${deps}/share/java"/*.jar); IFS=:; echo "''${JARS[*]}")
+    native-image ''${nativeImageArgs[@]} -cp $(JARS=("${finalAttrs.finalPackage.passthru.deps}/share/java"/*.jar); IFS=:; echo "''${JARS[*]}")
 
     runHook postBuild
   '';
 
   installCheckPhase = ''
-    $out/bin/${baseName} --version | grep -q "${version}"
+    runHook preInstallCheck
+
+    $out/bin/scala-update --version | grep -q "${finalAttrs.version}"
+
+    runHook postInstallCheck
   '';
 
-  meta = with lib; {
+  passthru.deps = stdenvNoCC.mkDerivation {
+    name = "scala-update-deps-${finalAttrs.version}";
+    buildCommand = ''
+      export COURSIER_CACHE=$(pwd)
+      ${lib.getExe coursier} fetch io.github.kitlangton:scala-update_2.13:${finalAttrs.version} > deps
+      mkdir -p $out/share/java
+      cp $(< deps) $out/share/java/
+    '';
+    outputHashMode = "recursive";
+    outputHashAlgo = "sha256";
+    outputHash = "kNnFzzHn+rFq4taqRYjBYaDax0MHW+vIoSFVN3wxA8M=";
+  };
+
+  meta = {
     description = "Update your Scala dependencies interactively";
     homepage = "https://github.com/kitlangton/scala-update";
-    license = licenses.asl20;
-    maintainers = [ maintainers.rtimush ];
+    license = lib.licenses.asl20;
+    maintainers = [ lib.maintainers.rtimush ];
+    mainProgram = "scala-update";
   };
-}
+})
diff --git a/pkgs/by-name/sc/scaleway-cli/package.nix b/pkgs/by-name/sc/scaleway-cli/package.nix
index e85690293277..307b9b92fa6a 100644
--- a/pkgs/by-name/sc/scaleway-cli/package.nix
+++ b/pkgs/by-name/sc/scaleway-cli/package.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "scaleway-cli";
-  version = "2.39.0";
+  version = "2.40.0";
 
   src = fetchFromGitHub {
     owner = "scaleway";
     repo = "scaleway-cli";
     rev = "v${version}";
-    sha256 = "sha256-i4fEOcoizlCZbyUln8DYVbYcAXgnimCFHV0FdgeOjHE=";
+    sha256 = "sha256-nYJKWei9ObQTN1bMrkdSG/++1E3Y70L88+noyrFbKQ4=";
   };
 
-  vendorHash = "sha256-dy8alr6DM0sNEWrqW+vATmVKbupbKOuMsAodwgPLHk4=";
+  vendorHash = "sha256-FQgUyVCBUSJnFxnYO7I4ibz6KS6M2TUUaL+uNtNW6Pg=";
 
   ldflags = [
     "-w"
diff --git a/pkgs/by-name/sc/scalingo/package.nix b/pkgs/by-name/sc/scalingo/package.nix
index 8300ad167c36..c833b17a24ea 100644
--- a/pkgs/by-name/sc/scalingo/package.nix
+++ b/pkgs/by-name/sc/scalingo/package.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "scalingo";
-  version = "1.34.0";
+  version = "1.35.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "cli";
     rev = version;
-    hash = "sha256-SJFQFOd9m+38TsclIs4FxAl9kejgcUG895qjy4iXKdk=";
+    hash = "sha256-3a3YlnSMPfWhYqeP12tx1BAe+hfzaYgPfFAz/rU2cMU=";
   };
 
   vendorHash = null;
diff --git a/pkgs/by-name/sc/scenic-view/package.nix b/pkgs/by-name/sc/scenic-view/package.nix
index 1f0b215fcf93..4a2d5bf17e3b 100644
--- a/pkgs/by-name/sc/scenic-view/package.nix
+++ b/pkgs/by-name/sc/scenic-view/package.nix
@@ -21,7 +21,7 @@ let
 
   src = fetchFromGitHub {
     owner = "JonathanGiles";
-    repo = pname;
+    repo = "scenic-view";
     rev = version;
     sha256 = "1idfh9hxqs4fchr6gvhblhvjqk4mpl4rnpi84vn1l3yb700z7dwy";
   };
@@ -29,9 +29,9 @@ let
   gradle = gradle_7;
 
   desktopItem = makeDesktopItem {
-    name = pname;
-    desktopName = pname;
-    exec = pname;
+    name = "scenic-view";
+    desktopName = "scenic-view";
+    exec = "scenic-view";
     comment = "JavaFx application to visualize and modify the scenegraph of running JavaFx applications.";
     mimeTypes = [
       "application/java"
@@ -61,9 +61,9 @@ stdenv.mkDerivation rec {
   installPhase = ''
     runHook preInstall
 
-    mkdir -p $out/bin $out/share/${pname}
-    cp build/libs/scenicview.jar $out/share/${pname}/${pname}.jar
-    makeWrapper ${jdk}/bin/java $out/bin/${pname} --add-flags "-jar $out/share/${pname}/${pname}.jar"
+    mkdir -p $out/bin $out/share/scenic-view
+    cp build/libs/scenicview.jar $out/share/scenic-view/scenic-view.jar
+    makeWrapper ${jdk}/bin/java $out/bin/scenic-view --add-flags "-jar $out/share/scenic-view/scenic-view.jar"
 
     runHook postInstall
   '';
diff --git a/pkgs/by-name/sc/schemacrawler/package.nix b/pkgs/by-name/sc/schemacrawler/package.nix
index ab41c303d6f1..143a362bb491 100644
--- a/pkgs/by-name/sc/schemacrawler/package.nix
+++ b/pkgs/by-name/sc/schemacrawler/package.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "schemacrawler";
-  version = "16.25.4";
+  version = "16.26.1";
 
   src = fetchzip {
     url = "https://github.com/schemacrawler/SchemaCrawler/releases/download/v${finalAttrs.version}/schemacrawler-${finalAttrs.version}-bin.zip";
-    hash = "sha256-/Onb2JYq+twkm5SG9F/ATPlozcdLB57fon6e08hMupM=";
+    hash = "sha256-dXaHL9LBd/XKwPqVL7RxmepkzVXInQ19iKD35jYb4Y4=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/by-name/sc/scion/package.nix b/pkgs/by-name/sc/scion/package.nix
index e06936b59c1c..6fd522c04f8b 100644
--- a/pkgs/by-name/sc/scion/package.nix
+++ b/pkgs/by-name/sc/scion/package.nix
@@ -5,7 +5,7 @@
   nixosTests,
 }:
 let
-  version = "0.11.0";
+  version = "0.12.0";
 in
 
 buildGoModule {
@@ -17,10 +17,10 @@ buildGoModule {
     owner = "scionproto";
     repo = "scion";
     rev = "v${version}";
-    hash = "sha256-JemqSr1XBwW1hLuWQrApY/hqLj/VpW3xSJedVIoFSiY=";
+    hash = "sha256-J51GIQQhS623wFUU5dI/TwT2rkDH69518lpdCLZ/iM0=";
   };
 
-  vendorHash = "sha256-akFbHgo8xI2/4aQsyutjhXPM5d0A3se3kG/6Ebw1Qcs=";
+  vendorHash = "sha256-Ew/hQM8uhaM89sCcPKUBbiGukDq3h5x+KID3w/8BDHg=";
 
   excludedPackages = [
     "acceptance"
diff --git a/pkgs/by-name/sc/scipopt-papilo/package.nix b/pkgs/by-name/sc/scipopt-papilo/package.nix
index 1e221c5df65e..6480be33f27a 100644
--- a/pkgs/by-name/sc/scipopt-papilo/package.nix
+++ b/pkgs/by-name/sc/scipopt-papilo/package.nix
@@ -6,7 +6,7 @@
   boost,
   blas,
   gmp,
-  tbb_2021_11,
+  tbb_2021,
   gfortran,
 }:
 
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     gmp
     gfortran
     boost
-    tbb_2021_11
+    tbb_2021
   ];
 
   cmakeFlags = [
diff --git a/pkgs/by-name/sc/scipopt-scip/package.nix b/pkgs/by-name/sc/scipopt-scip/package.nix
index 19699890df1a..76dbfea1b9aa 100644
--- a/pkgs/by-name/sc/scipopt-scip/package.nix
+++ b/pkgs/by-name/sc/scipopt-scip/package.nix
@@ -11,7 +11,7 @@
   scipopt-papilo,
   scipopt-zimpl,
   ipopt,
-  tbb_2021_11,
+  tbb_2021,
   boost,
   gfortran,
   criterion,
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     gmp
     readline
     zlib
-    tbb_2021_11
+    tbb_2021
     boost
     gfortran
     criterion
diff --git a/pkgs/by-name/sc/scite/package.nix b/pkgs/by-name/sc/scite/package.nix
index 9a1bd6a3be0d..994ffa93a616 100644
--- a/pkgs/by-name/sc/scite/package.nix
+++ b/pkgs/by-name/sc/scite/package.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "scite";
-  version = "5.5.6";
+  version = "5.5.7";
 
   src = fetchurl {
     url = "https://www.scintilla.org/scite${lib.replaceStrings [ "." ] [ "" ] finalAttrs.version}.tgz";
-    hash = "sha256-VmNP6NepkF7Ln9eh9pfStmch9nwIKKZTOYxkeduSxrI=";
+    hash = "sha256-L/UceHGFgFbzUPvc2VBehXXJNmwyyPwBfgxvuv3Vxu8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/sc/scooter/package.nix b/pkgs/by-name/sc/scooter/package.nix
index 0b9f4eeea61e..cac351608edf 100644
--- a/pkgs/by-name/sc/scooter/package.nix
+++ b/pkgs/by-name/sc/scooter/package.nix
@@ -6,17 +6,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "scooter";
-  version = "0.5.2";
+  version = "0.5.3";
 
   src = fetchFromGitHub {
     owner = "thomasschafer";
     repo = "scooter";
     rev = "v${version}";
-    hash = "sha256-GlqGAzOkW6Jy7qGblfkMfCtzNwjOY/ZmGktqU4uUe90=";
+    hash = "sha256-/wl6xbAXfPUTSI38htgkWC3IlsxtFbPOpBHqcSVBGPk=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-mh4FoFZ012yXbCr9Ts57crc+1JrcA2cdnZzqjKUspq8=";
+  cargoHash = "sha256-kPweKXAitvODNoKTr2iB+qM9qMWGoKEQCxpkgrpnewY=";
 
   # Many tests require filesystem writes which fail in Nix sandbox
   doCheck = false;
diff --git a/pkgs/by-name/sc/scorecard/package.nix b/pkgs/by-name/sc/scorecard/package.nix
index e382f0aa6805..18bbdac33a2b 100644
--- a/pkgs/by-name/sc/scorecard/package.nix
+++ b/pkgs/by-name/sc/scorecard/package.nix
@@ -11,13 +11,13 @@
 
 buildGoModule rec {
   pname = "scorecard";
-  version = "5.1.1";
+  version = "5.2.1";
 
   src = fetchFromGitHub {
     owner = "ossf";
     repo = "scorecard";
     tag = "v${version}";
-    hash = "sha256-6lJ+duP/gTC2xIIWbLL0hx2UYS/no4vd8pqTDR18G8Y=";
+    hash = "sha256-7py6qkal1tNQ2NAi/SiYIEe03NV7INAQRPZ9z5LsusI=";
     # populate values otherwise taken care of by goreleaser,
     # unfortunately these require us to use git. By doing
     # this in postFetch we can delete .git afterwards and
@@ -33,9 +33,9 @@ buildGoModule rec {
   };
   vendorHash =
     if stdenv.hostPlatform.isLinux then
-      "sha256-zWMmbC0lkjlIwrfq3ql0+ndn/4y/PW92TgTiUYfEn0M="
+      "sha256-h78551OfEJTB3Fghc1nIHcfiHp7ygtZgHXpwp1OaFgY="
     else
-      "sha256-/AtW36Pl5W+WNVCKhC0WMwYS848MUvAaKdm+i8t88D8=";
+      "sha256-MTB5ejc4/ivbkp9ytCF+wGvvt+njTkMb1ijVsh5uLps=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/by-name/sc/scrcpy/package.nix b/pkgs/by-name/sc/scrcpy/package.nix
index 2b7630f248f4..c5f92b9a706c 100644
--- a/pkgs/by-name/sc/scrcpy/package.nix
+++ b/pkgs/by-name/sc/scrcpy/package.nix
@@ -17,12 +17,12 @@
 }:
 
 let
-  version = "3.2";
+  version = "3.3";
   prebuilt_server = fetchurl {
     name = "scrcpy-server";
     inherit version;
     url = "https://github.com/Genymobile/scrcpy/releases/download/v${version}/scrcpy-server-v${version}";
-    hash = "sha256-uSDg6gGTa/JIL0ui+phcIsE8YhmZ49M7RbqlrPweo9A=";
+    hash = "sha256-NRyy7cfkwsdfCaeTP9q88Te+UuJgLfFU8k7ALbRunlE=";
   };
 in
 stdenv.mkDerivation rec {
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     owner = "Genymobile";
     repo = "scrcpy";
     tag = "v${version}";
-    hash = "sha256-k53iyCD/f4bsntqqEdmcgHL963BL17vidkgB6AcXkeE=";
+    hash = "sha256-oDv/apC9OOItH4RFqssSo1/cDMyyrBkgLY+KPLEz1+c=";
   };
 
   #   display.c: When run without a hardware accelerator, this allows the command to continue working rather than failing unexpectedly.
diff --git a/pkgs/by-name/sc/scroll-reverser/package.nix b/pkgs/by-name/sc/scroll-reverser/package.nix
new file mode 100644
index 000000000000..df6875e0f672
--- /dev/null
+++ b/pkgs/by-name/sc/scroll-reverser/package.nix
@@ -0,0 +1,39 @@
+{
+  lib,
+  stdenvNoCC,
+  fetchurl,
+  unzip,
+}:
+stdenvNoCC.mkDerivation (finalAttrs: {
+  pname = "scroll-reverser";
+  version = "1.9";
+
+  src = fetchurl {
+    url = "https://web.archive.org/web/20250427052440/https://pilotmoon.com/downloads/ScrollReverser-${finalAttrs.version}.zip";
+    hash = "sha256-CWHbtvjvTl7dQyvw3W583UIZ2LrIs7qj9XavmkK79YU=";
+  };
+
+  dontUnpack = true;
+
+  nativeBuildInputs = [ unzip ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p "$out/Applications"
+    unzip -d "$out/Applications" $src
+
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "Tool to reverse the direction of scrolling";
+    homepage = "https://pilotmoon.com/scrollreverser/";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [
+      stackptr
+    ];
+    platforms = lib.platforms.darwin;
+    sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
+  };
+})
diff --git a/pkgs/by-name/sc/scrutiny-collector/package.nix b/pkgs/by-name/sc/scrutiny-collector/package.nix
index a6ffd8d897eb..9d3897fed770 100644
--- a/pkgs/by-name/sc/scrutiny-collector/package.nix
+++ b/pkgs/by-name/sc/scrutiny-collector/package.nix
@@ -51,6 +51,5 @@ buildGoModule rec {
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ jnsgruk ];
     mainProgram = "scrutiny-collector-metrics";
-    platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/by-name/sd/SDL_image/package.nix b/pkgs/by-name/sd/SDL_image/package.nix
index 658438678bed..a2311c7bbf65 100644
--- a/pkgs/by-name/sd/SDL_image/package.nix
+++ b/pkgs/by-name/sd/SDL_image/package.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "SDL_image";
-  version = "1.2.12-unstable-2025-04-27";
+  version = "1.2.12-unstable-2025-06-15";
 
   src = fetchFromGitHub {
     owner = "libsdl-org";
     repo = "SDL_image";
-    rev = "a5eac02dacd8a8940ffccd1b8d0783c0b5f8ec7d";
-    hash = "sha256-vrV12fYGSh/vtCktsUVNvcRCn5lZ2tyBYwqhLPgNdhw=";
+    rev = "bb266d29e19493fa48bda9bbc56c26363099372f";
+    hash = "sha256-I8TqZX3249/bcZtfwrJd545E5h9d9HmRy8GGDH9S+kU=";
   };
 
   configureFlags = [
diff --git a/pkgs/by-name/sd/sdl2-compat/package.nix b/pkgs/by-name/sd/sdl2-compat/package.nix
index 03f76b78e462..20783cab0638 100644
--- a/pkgs/by-name/sd/sdl2-compat/package.nix
+++ b/pkgs/by-name/sd/sdl2-compat/package.nix
@@ -21,7 +21,11 @@
   ffmpeg,
   qemu,
 }:
-
+let
+  # tray support on sdl3 pulls in gtk3, which is quite an expensive dependency.
+  # sdl2 does not support the tray, so we can just disable that requirement.
+  sdl3' = sdl3.override { traySupport = false; };
+in
 stdenv.mkDerivation (finalAttrs: {
   pname = "sdl2-compat";
   version = "2.32.56";
@@ -39,7 +43,7 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   buildInputs = [
-    sdl3
+    sdl3'
     libX11
   ];
 
@@ -57,7 +61,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   cmakeFlags = [
     (lib.cmakeBool "SDL2COMPAT_TESTS" finalAttrs.finalPackage.doCheck)
-    (lib.cmakeFeature "CMAKE_INSTALL_RPATH" (lib.makeLibraryPath [ sdl3 ]))
+    (lib.cmakeFeature "CMAKE_INSTALL_RPATH" (lib.makeLibraryPath [ sdl3' ]))
   ];
 
   # skip timing-based tests as those are flaky
diff --git a/pkgs/by-name/sd/sdl3/package.nix b/pkgs/by-name/sd/sdl3/package.nix
index 604a9427541a..236e0c69af41 100644
--- a/pkgs/by-name/sd/sdl3/package.nix
+++ b/pkgs/by-name/sd/sdl3/package.nix
@@ -8,7 +8,7 @@
   darwinMinVersionHook,
   dbus,
   fetchFromGitHub,
-  ibus,
+  ibusMinimal,
   installShellFiles,
   libGL,
   libayatana-appindicator,
@@ -51,6 +51,7 @@
   libudevSupport ? stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAndroid,
   sndioSupport ? false,
   testSupport ? true,
+  traySupport ? true,
   waylandSupport ? stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAndroid,
   x11Support ? !stdenv.hostPlatform.isAndroid && !stdenv.hostPlatform.isWindows,
 }:
@@ -58,33 +59,44 @@
 assert lib.assertMsg (
   waylandSupport -> openglSupport
 ) "SDL3 requires OpenGL support to enable Wayland";
+assert lib.assertMsg (ibusSupport -> dbusSupport) "SDL3 requires dbus support to enable ibus";
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "sdl3";
-  version = "3.2.14";
+  version = "3.2.16";
 
-  outputs = [
-    "lib"
-    "dev"
-    "out"
-  ];
+  outputs =
+    [
+      "lib"
+      "dev"
+      "out"
+    ]
+    ++ lib.optionals testSupport [
+      "installedTests"
+    ];
 
   src = fetchFromGitHub {
     owner = "libsdl-org";
     repo = "SDL";
     tag = "release-${finalAttrs.version}";
-    hash = "sha256-+CcbvF1nxxsVwuO5g50sBVGth0sr5WTFojSfT6B6bok=";
+    hash = "sha256-xFWE/i4l3sU1KritwbqvN67kJ3/WUfNP3iScMfQUbwA=";
   };
 
   postPatch =
     # Tests timeout on Darwin
+    # `testtray` loads assets from a relative path, which we are patching to be absolute
     lib.optionalString testSupport ''
       substituteInPlace test/CMakeLists.txt \
         --replace-fail 'set(noninteractive_timeout 10)' 'set(noninteractive_timeout 30)'
+
+      substituteInPlace test/testtray.c \
+        --replace-warn '../test/' '${placeholder "installedTests"}/share/assets/'
     ''
     + lib.optionalString waylandSupport ''
       substituteInPlace src/video/wayland/SDL_waylandmessagebox.c \
         --replace-fail '"zenity"' '"${lib.getExe zenity}"'
+      substituteInPlace src/dialog/unix/SDL_zenitydialog.c \
+        --replace-fail '"zenity"' '"${lib.getExe zenity}"'
     '';
 
   strictDeps = true;
@@ -104,7 +116,11 @@ stdenv.mkDerivation (finalAttrs: {
       apple-sdk_11
     ]
     ++ lib.optionals ibusSupport [
-      ibus
+      # sdl3 only uses some constants of the ibus headers
+      # it never actually loads the library
+      # thus, it also does not have to care about gtk integration,
+      # so using ibusMinimal avoids an unnecessarily large closure here.
+      ibusMinimal
     ]
     ++ lib.optional waylandSupport zenity;
 
@@ -113,7 +129,7 @@ stdenv.mkDerivation (finalAttrs: {
       libusb1
     ]
     ++ lib.optional (
-      stdenv.hostPlatform.isUnix && !stdenv.hostPlatform.isDarwin
+      stdenv.hostPlatform.isUnix && !stdenv.hostPlatform.isDarwin && traySupport
     ) libayatana-appindicator
     ++ lib.optional alsaSupport alsa-lib
     ++ lib.optional dbusSupport dbus
@@ -160,11 +176,13 @@ stdenv.mkDerivation (finalAttrs: {
     (lib.cmakeBool "SDL_PULSEAUDIO" pulseaudioSupport)
     (lib.cmakeBool "SDL_SNDIO" sndioSupport)
     (lib.cmakeBool "SDL_TEST_LIBRARY" testSupport)
+    (lib.cmakeBool "SDL_TRAY_DUMMY" (!traySupport))
     (lib.cmakeBool "SDL_WAYLAND" waylandSupport)
     (lib.cmakeBool "SDL_WAYLAND_LIBDECOR" libdecorSupport)
     (lib.cmakeBool "SDL_X11" x11Support)
 
     (lib.cmakeBool "SDL_TESTS" finalAttrs.finalPackage.doCheck)
+    (lib.cmakeBool "SDL_INSTALL_TESTS" testSupport)
   ];
 
   doCheck = testSupport && stdenv.buildPlatform.canExecute stdenv.hostPlatform;
@@ -180,6 +198,12 @@ stdenv.mkDerivation (finalAttrs: {
     ) "-rpath ${lib.makeLibraryPath (finalAttrs.dlopenBuildInputs)}";
   };
 
+  postInstall = lib.optionalString testSupport ''
+    moveToOutput "share/installed-tests" "$installedTests"
+    moveToOutput "libexec/installed-tests" "$installedTests"
+    install -Dm 444 -t $installedTests/share/assets test/*.bmp
+  '';
+
   passthru = {
     # Building this in its own derivation to make sure the rpath hack above propagate to users
     debug-text-example = stdenv.mkDerivation (finalAttrs': {
diff --git a/pkgs/by-name/se/sea-orm-cli/package.nix b/pkgs/by-name/se/sea-orm-cli/package.nix
index 98d140d5de49..cde6bcbd2dd9 100644
--- a/pkgs/by-name/se/sea-orm-cli/package.nix
+++ b/pkgs/by-name/se/sea-orm-cli/package.nix
@@ -9,11 +9,11 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "sea-orm-cli";
-  version = "1.1.11";
+  version = "1.1.12";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-JaUlRQfYTg/5GC3SHjDRYHc54naOW4NpdfB6lMcQqog=";
+    hash = "sha256-549ZThGMQ601q0nrzAD20MIrErANcghtB+DxYPUBUt4=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -21,7 +21,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl ];
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-oytYVAbmGPotnnI7morg8ePH8Ox1hD1WhGwEct4F0vw=";
+  cargoHash = "sha256-pwOsuet1qV7175pso5tZm1VY4JznCx63XNcBX0Jh4F4=";
 
   nativeInstallCheckInputs = [ versionCheckHook ];
   versionCheckProgramArg = "--version";
diff --git a/pkgs/by-name/se/seabios/package.nix b/pkgs/by-name/se/seabios/package.nix
index 99d900676185..a03cb8b0730c 100644
--- a/pkgs/by-name/se/seabios/package.nix
+++ b/pkgs/by-name/se/seabios/package.nix
@@ -34,12 +34,12 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "seabios";
-  version = "1.16.3";
+  version = "1.17.0";
 
   src = fetchgit {
     url = "https://git.seabios.org/seabios.git";
     rev = "rel-${finalAttrs.version}";
-    hash = "sha256-hWemj83cxdY8p+Jhkh5GcPvI0Sy5aKYZJCsKDjHTUUk=";
+    hash = "sha256-eDQpl8Mf30p9WRvsNW192ISfBnEtMCdsWjUbWMXWmWw=";
   };
 
   postPatch = ''
diff --git a/pkgs/by-name/se/seagoat/package.nix b/pkgs/by-name/se/seagoat/package.nix
index 771f5ca58bb7..76de36488031 100644
--- a/pkgs/by-name/se/seagoat/package.nix
+++ b/pkgs/by-name/se/seagoat/package.nix
@@ -14,14 +14,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "seagoat";
-  version = "0.54.18";
+  version = "1.0.8";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "kantord";
     repo = "SeaGOAT";
     tag = "v${version}";
-    hash = "sha256-vRaC6YrqejtRs8NHoTj6DB0CAYMSygRMDOTaJyk1BZc=";
+    hash = "sha256-Br51c0RkZtRRazzomLFB6TKqDr5U/en+zDy6SmvWII4=";
   };
 
   build-system = [ python3Packages.poetry-core ];
diff --git a/pkgs/by-name/se/searxng/package.nix b/pkgs/by-name/se/searxng/package.nix
index 9e8307b0d48e..3f20f900e3da 100644
--- a/pkgs/by-name/se/searxng/package.nix
+++ b/pkgs/by-name/se/searxng/package.nix
@@ -3,6 +3,7 @@
   python3,
   fetchFromGitHub,
   nixosTests,
+  unstableGitUpdater,
 }:
 let
   python = python3.override {
@@ -37,13 +38,13 @@ in
 python.pkgs.toPythonModule (
   python.pkgs.buildPythonApplication rec {
     pname = "searxng";
-    version = "0-unstable-2025-04-09";
+    version = "0-unstable-2025-06-10";
 
     src = fetchFromGitHub {
       owner = "searxng";
       repo = "searxng";
-      rev = "15384e8fc596da9c4a7e27393f8100018c3a61ed";
-      hash = "sha256-exkn/gQALJteUAsg3qeSnRGEbKANkhSBDziWUgJ1fF8=";
+      rev = "8888d71ab9391a8865959aa125cc7a1ae537f0b8";
+      hash = "sha256-nQvh8tp11WYe44nzBofLmJr/2el+SECoGK0Ds4lvdC4=";
     };
 
     postPatch = ''
@@ -112,6 +113,7 @@ python.pkgs.toPythonModule (
       tests = {
         searxng = nixosTests.searx;
       };
+      updateScript = unstableGitUpdater { hardcodeZeroVersion = true; };
     };
 
     meta = with lib; {
diff --git a/pkgs/by-name/se/seaweedfs/package.nix b/pkgs/by-name/se/seaweedfs/package.nix
index 0024c9c74e2d..d674528ca532 100644
--- a/pkgs/by-name/se/seaweedfs/package.nix
+++ b/pkgs/by-name/se/seaweedfs/package.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "seaweedfs";
-  version = "3.89";
+  version = "3.91";
 
   src = fetchFromGitHub {
     owner = "seaweedfs";
     repo = "seaweedfs";
     rev = version;
-    hash = "sha256-qIbqgcm+qqmbKU+BZ9wrKW16yH7qz5WPijtGz2pusNg=";
+    hash = "sha256-wKllXSOYxBtWrncTXa/nXYVke9ZNDL8QND5Sk5gmJW4=";
   };
 
-  vendorHash = "sha256-Y1ST5wKIkVKOhNVV1V9eDZ5DupQNm9mcA90Kqt3dQYQ=";
+  vendorHash = "sha256-6qMBiXYSpv6ibuH0Ro8y72a2cIdB9RMuD6j/E8ILkvs=";
 
   subPackages = [ "weed" ];
 
diff --git a/pkgs/by-name/se/sentry-native/package.nix b/pkgs/by-name/se/sentry-native/package.nix
index 5b320a8ac2d0..fb05a18ce865 100644
--- a/pkgs/by-name/se/sentry-native/package.nix
+++ b/pkgs/by-name/se/sentry-native/package.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sentry-native";
-  version = "0.8.5";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "getsentry";
     repo = "sentry-native";
     tag = version;
-    hash = "sha256-mWyBejc5i5yt2AX062o+sACR3P4wtGfzbJJQTItAXYU=";
+    hash = "sha256-PFWCC0eaHnwRZ+i2n0O17kTg9jXlgIuzgTB53Dn40iQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/se/servarr-ffmpeg/package.nix b/pkgs/by-name/se/servarr-ffmpeg/package.nix
new file mode 100644
index 000000000000..197e817f393e
--- /dev/null
+++ b/pkgs/by-name/se/servarr-ffmpeg/package.nix
@@ -0,0 +1,113 @@
+{
+  ffmpeg-headless,
+  fetchFromGitHub,
+  fetchpatch2,
+  lib,
+}:
+
+let
+  version = "5.1.4";
+in
+
+(ffmpeg-headless.override {
+  inherit version; # Important! This sets the ABI.
+
+  # Fetch commit hash from this repository: https://github.com/Servarr/ffmpeg-build
+  # Compare build logs to upstream logs here: https://dev.azure.com/Servarr/Servarr/_build?definitionId=15
+  source = fetchFromGitHub {
+    owner = "Servarr";
+    repo = "FFmpeg";
+    rev = "e9230b4c9027435dd402a68833f144643a3df43a";
+    hash = "sha256-oMIblMOnnYpKvYeleCZpFZURGVc3fDAlYpOJu+u7HkU=";
+  };
+
+  buildFfmpeg = false;
+  buildFfplay = false;
+  buildAvdevice = false;
+  buildAvfilter = false;
+  buildPostproc = false;
+  buildSwresample = false;
+  buildSwscale = false;
+
+  withAlsa = false;
+  withAmf = false;
+  withAom = false;
+  withAss = false;
+  withBluray = false;
+  withBzlib = false;
+  withCudaLLVM = false;
+  withCuvid = false;
+  withDrm = false;
+  withNvcodec = false;
+  withFontconfig = false;
+  withFreetype = false;
+  withFribidi = false;
+  withGnutls = false;
+  withIconv = false;
+  withLzma = false;
+  withMp3lame = false;
+  withOpencl = false;
+  withOpenjpeg = false;
+  withOpenmpt = false;
+  withOpus = false;
+  withRist = false;
+  withSoxr = false;
+  withSpeex = false;
+  withSrt = false;
+  withSsh = false;
+  withSvtav1 = false;
+  withTheora = false;
+  withV4l2 = false;
+  withVaapi = false;
+  withVidStab = false;
+  withVorbis = false;
+  withVpx = false;
+  withVulkan = false;
+  withWebp = false;
+  withX264 = false;
+  withX265 = false;
+  withXml2 = false;
+  withXvid = false;
+  withZimg = false;
+  withZlib = false;
+  withZvbi = false;
+}).overrideAttrs
+  (old: {
+    pname = "servarr-ffmpeg";
+
+    patches = old.patches ++ [
+      (fetchpatch2 {
+        name = "fix_build_failure_due_to_libjxl_version_to_new";
+        url = "https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/75b1a555a70c178a9166629e43ec2f6250219eb2";
+        hash = "sha256-+2kzfPJf5piim+DqEgDuVEEX5HLwRsxq0dWONJ4ACrU=";
+      })
+    ];
+
+    configureFlags = old.configureFlags ++ [
+      "--extra-version=Servarr"
+
+      # https://github.com/Servarr/ffmpeg-build/blob/bc29af6f0bf84bf9253d4d462611b1dc31ee688e/common.sh#L15-L45
+
+      # Disable unused functionnalities
+      "--disable-encoders"
+      "--disable-muxers"
+      "--disable-protocols"
+      "--disable-bsfs"
+
+      # FFMpeg options - enable what we need
+      "--enable-protocol=file"
+      "--enable-bsf=av1_frame_split"
+      "--enable-bsf=av1_frame_merge"
+      "--enable-bsf=av1_metadata"
+    ];
+
+    doCheck = false;
+
+    meta = {
+      inherit (old.meta) license pkgConfigModules;
+      mainProgram = "ffprobe";
+      description = "${old.meta.description} (Servarr fork)";
+      homepage = "https://github.com/Servarr/FFmpeg";
+      maintainers = with lib.maintainers; [ nyanloutre ];
+    };
+  })
diff --git a/pkgs/by-name/se/server-box/package.nix b/pkgs/by-name/se/server-box/package.nix
new file mode 100644
index 000000000000..10482a1db3ef
--- /dev/null
+++ b/pkgs/by-name/se/server-box/package.nix
@@ -0,0 +1,89 @@
+{
+  lib,
+  flutter332,
+  fetchFromGitHub,
+  autoPatchelfHook,
+  copyDesktopItems,
+  makeDesktopItem,
+  runCommand,
+  yq,
+  server-box,
+  _experimental-update-script-combinators,
+  gitUpdater,
+}:
+
+flutter332.buildFlutterApplication rec {
+  pname = "server-box";
+  version = "1.0.1189";
+
+  src = fetchFromGitHub {
+    owner = "lollipopkit";
+    repo = "flutter_server_box";
+    tag = "v${version}";
+    hash = "sha256-gz+4uJe0JHi8oYNz/oLylkYUmHQA8wnxp/4TadYNMfo=";
+  };
+
+  pubspecLock = lib.importJSON ./pubspec.lock.json;
+
+  gitHashes = {
+    circle_chart = "sha256-BcnL/hRf+Yv2U8Nkl7pc8BtncBW+M2by86jO5IbFIRk=";
+    computer = "sha256-qaD6jn78zDyZBktwJ4WTQa8oCvCWQJOBDaozBVsXNb8=";
+    dartssh2 = "sha256-XlbruyraMmZGNRppQdBLS89Qyd7mm5Noiap2BhZjEPw=";
+    fl_build = "sha256-hCojuXFuN33/prCyuPcMoehWiGfaR2yOJA2V6dOuz4E=";
+    fl_lib = "sha256-cauq5kbcCE52Jp3K/xBdHEmdfuF8aQsujNTjbE93Pww=";
+    plain_notification_token = "sha256-Cy1/S8bAtKCBnjfDEeW4Q2nP4jtwyCstAC1GH1efu8I=";
+    watch_connectivity = "sha256-9TyuElr0PNoiUvbSTOakdw1/QwWp6J2GAwzVHsgYWtM=";
+    xterm = "sha256-yMETVh1qEdQAIYaQWbL5958N5dGpczJ/Y8Zvl1WjRnw=";
+  };
+
+  nativeBuildInputs = [
+    copyDesktopItems
+    autoPatchelfHook
+  ];
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "server-box";
+      exec = "server-box";
+      icon = "server-box";
+      genericName = "ServerBox";
+      desktopName = "ServerBox";
+      categories = [ "Utility" ];
+      keywords = [
+        "server"
+        "ssh"
+        "sftp"
+        "system"
+      ];
+    })
+  ];
+
+  postInstall = ''
+    install -Dm0644 assets/app_icon.png $out/share/pixmaps/server-box.png
+  '';
+
+  passthru = {
+    pubspecSource =
+      runCommand "pubspec.lock.json"
+        {
+          nativeBuildInputs = [ yq ];
+          inherit (server-box) src;
+        }
+        ''
+          cat $src/pubspec.lock | yq > $out
+        '';
+    updateScript = _experimental-update-script-combinators.sequence [
+      (gitUpdater { rev-prefix = "v"; })
+      (_experimental-update-script-combinators.copyAttrOutputToFile "server-box.pubspecSource" ./pubspec.lock.json)
+    ];
+  };
+
+  meta = {
+    description = "Server status & toolbox";
+    homepage = "https://github.com/lollipopkit/flutter_server_box";
+    mainProgram = "ServerBox";
+    license = lib.licenses.gpl3Plus;
+    platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ emaryn ];
+  };
+}
diff --git a/pkgs/by-name/se/server-box/pubspec.lock.json b/pkgs/by-name/se/server-box/pubspec.lock.json
new file mode 100644
index 000000000000..efdf39f7e22a
--- /dev/null
+++ b/pkgs/by-name/se/server-box/pubspec.lock.json
@@ -0,0 +1,2266 @@
+{
+  "packages": {
+    "_fe_analyzer_shared": {
+      "dependency": "transitive",
+      "description": {
+        "name": "_fe_analyzer_shared",
+        "sha256": "e55636ed79578b9abca5fecf9437947798f5ef7456308b5cb85720b793eac92f",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "82.0.0"
+    },
+    "analyzer": {
+      "dependency": "direct dev",
+      "description": {
+        "name": "analyzer",
+        "sha256": "904ae5bb474d32c38fb9482e2d925d5454cda04ddd0e55d2e6826bc72f6ba8c0",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "7.4.5"
+    },
+    "analyzer_plugin": {
+      "dependency": "transitive",
+      "description": {
+        "name": "analyzer_plugin",
+        "sha256": "ee188b6df6c85f1441497c7171c84f1392affadc0384f71089cb10a3bc508cef",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.13.1"
+    },
+    "animations": {
+      "dependency": "transitive",
+      "description": {
+        "name": "animations",
+        "sha256": "d3d6dcfb218225bbe68e87ccf6378bbb2e32a94900722c5f81611dad089911cb",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.0.11"
+    },
+    "ansicolor": {
+      "dependency": "transitive",
+      "description": {
+        "name": "ansicolor",
+        "sha256": "50e982d500bc863e1d703448afdbf9e5a72eb48840a4f766fa361ffd6877055f",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.0.3"
+    },
+    "app_links": {
+      "dependency": "transitive",
+      "description": {
+        "name": "app_links",
+        "sha256": "85ed8fc1d25a76475914fff28cc994653bd900bc2c26e4b57a49e097febb54ba",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "6.4.0"
+    },
+    "app_links_linux": {
+      "dependency": "transitive",
+      "description": {
+        "name": "app_links_linux",
+        "sha256": "f5f7173a78609f3dfd4c2ff2c95bd559ab43c80a87dc6a095921d96c05688c81",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.3"
+    },
+    "app_links_platform_interface": {
+      "dependency": "transitive",
+      "description": {
+        "name": "app_links_platform_interface",
+        "sha256": "05f5379577c513b534a29ddea68176a4d4802c46180ee8e2e966257158772a3f",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.0.2"
+    },
+    "app_links_web": {
+      "dependency": "transitive",
+      "description": {
+        "name": "app_links_web",
+        "sha256": "af060ed76183f9e2b87510a9480e56a5352b6c249778d07bd2c95fc35632a555",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.4"
+    },
+    "archive": {
+      "dependency": "transitive",
+      "description": {
+        "name": "archive",
+        "sha256": "2fde1607386ab523f7a36bb3e7edb43bd58e6edaf2ffb29d8a6d578b297fdbbd",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.0.7"
+    },
+    "args": {
+      "dependency": "transitive",
+      "description": {
+        "name": "args",
+        "sha256": "d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.7.0"
+    },
+    "asn1lib": {
+      "dependency": "transitive",
+      "description": {
+        "name": "asn1lib",
+        "sha256": "0511d6be23b007e95105ae023db599aea731df604608978dada7f9faf2637623",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.6.4"
+    },
+    "async": {
+      "dependency": "transitive",
+      "description": {
+        "name": "async",
+        "sha256": "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.13.0"
+    },
+    "boolean_selector": {
+      "dependency": "transitive",
+      "description": {
+        "name": "boolean_selector",
+        "sha256": "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.1.2"
+    },
+    "build": {
+      "dependency": "transitive",
+      "description": {
+        "name": "build",
+        "sha256": "cef23f1eda9b57566c81e2133d196f8e3df48f244b317368d65c5943d91148f0",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.4.2"
+    },
+    "build_config": {
+      "dependency": "transitive",
+      "description": {
+        "name": "build_config",
+        "sha256": "4ae2de3e1e67ea270081eaee972e1bd8f027d459f249e0f1186730784c2e7e33",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.2"
+    },
+    "build_daemon": {
+      "dependency": "transitive",
+      "description": {
+        "name": "build_daemon",
+        "sha256": "8e928697a82be082206edb0b9c99c5a4ad6bc31c9e9b8b2f291ae65cd4a25daa",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.0.4"
+    },
+    "build_resolvers": {
+      "dependency": "transitive",
+      "description": {
+        "name": "build_resolvers",
+        "sha256": "b9e4fda21d846e192628e7a4f6deda6888c36b5b69ba02ff291a01fd529140f0",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.4.4"
+    },
+    "build_runner": {
+      "dependency": "direct dev",
+      "description": {
+        "name": "build_runner",
+        "sha256": "058fe9dce1de7d69c4b84fada934df3e0153dd000758c4d65964d0166779aa99",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.4.15"
+    },
+    "build_runner_core": {
+      "dependency": "transitive",
+      "description": {
+        "name": "build_runner_core",
+        "sha256": "22e3aa1c80e0ada3722fe5b63fd43d9c8990759d0a2cf489c8c5d7b2bdebc021",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "8.0.0"
+    },
+    "built_collection": {
+      "dependency": "transitive",
+      "description": {
+        "name": "built_collection",
+        "sha256": "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "5.1.1"
+    },
+    "built_value": {
+      "dependency": "transitive",
+      "description": {
+        "name": "built_value",
+        "sha256": "082001b5c3dc495d4a42f1d5789990505df20d8547d42507c29050af6933ee27",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "8.10.1"
+    },
+    "camera": {
+      "dependency": "transitive",
+      "description": {
+        "name": "camera",
+        "sha256": "413d2b34fe28496c35c69ede5b232fb9dd5ca2c3a4cb606b14efc1c7546cc8cb",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.11.1"
+    },
+    "camera_android_camerax": {
+      "dependency": "transitive",
+      "description": {
+        "name": "camera_android_camerax",
+        "sha256": "68d7ec97439108ac22cfba34bb74d0ab53adbc017175116d2cbc5a3d8fc8ea5e",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.6.18+2"
+    },
+    "camera_avfoundation": {
+      "dependency": "transitive",
+      "description": {
+        "name": "camera_avfoundation",
+        "sha256": "a33cd9a250296271cdf556891b7c0986a93772426f286595eccd5f45b185933c",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.9.18+14"
+    },
+    "camera_platform_interface": {
+      "dependency": "transitive",
+      "description": {
+        "name": "camera_platform_interface",
+        "sha256": "2f757024a48696ff4814a789b0bd90f5660c0fb25f393ab4564fb483327930e2",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.10.0"
+    },
+    "camera_web": {
+      "dependency": "transitive",
+      "description": {
+        "name": "camera_web",
+        "sha256": "595f28c89d1fb62d77c73c633193755b781c6d2e0ebcd8dc25b763b514e6ba8f",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.3.5"
+    },
+    "characters": {
+      "dependency": "transitive",
+      "description": {
+        "name": "characters",
+        "sha256": "f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.4.0"
+    },
+    "charset": {
+      "dependency": "transitive",
+      "description": {
+        "name": "charset",
+        "sha256": "27802032a581e01ac565904ece8c8962564b1070690794f0072f6865958ce8b9",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.0.1"
+    },
+    "checked_yaml": {
+      "dependency": "transitive",
+      "description": {
+        "name": "checked_yaml",
+        "sha256": "959525d3162f249993882720d52b7e0c833978df229be20702b33d48d91de70f",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.0.4"
+    },
+    "choice": {
+      "dependency": "direct main",
+      "description": {
+        "name": "choice",
+        "sha256": "52d07065e8056beba5b26cff7786134cbfa24927b1f5bf60a05d50058597b2d9",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.3.2"
+    },
+    "circle_chart": {
+      "dependency": "direct main",
+      "description": {
+        "path": ".",
+        "ref": "main",
+        "resolved-ref": "449a3fa7e886869e87ea10ab56f99be3f16f2c1f",
+        "url": "https://github.com/lollipopkit/circle_chart"
+      },
+      "source": "git",
+      "version": "0.0.3"
+    },
+    "cli_config": {
+      "dependency": "transitive",
+      "description": {
+        "name": "cli_config",
+        "sha256": "ac20a183a07002b700f0c25e61b7ee46b23c309d76ab7b7640a028f18e4d99ec",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.2.0"
+    },
+    "clock": {
+      "dependency": "transitive",
+      "description": {
+        "name": "clock",
+        "sha256": "fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.2"
+    },
+    "code_builder": {
+      "dependency": "transitive",
+      "description": {
+        "name": "code_builder",
+        "sha256": "0ec10bf4a89e4c613960bf1e8b42c64127021740fb21640c29c909826a5eea3e",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.10.1"
+    },
+    "collection": {
+      "dependency": "transitive",
+      "description": {
+        "name": "collection",
+        "sha256": "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.19.1"
+    },
+    "computer": {
+      "dependency": "direct main",
+      "description": {
+        "path": ".",
+        "ref": "v1.0.88",
+        "resolved-ref": "b0819c8a939e1fa6858f1a0e12ee8122db0df390",
+        "url": "https://github.com/lollipopkit/dart_computer"
+      },
+      "source": "git",
+      "version": "3.2.1"
+    },
+    "convert": {
+      "dependency": "transitive",
+      "description": {
+        "name": "convert",
+        "sha256": "b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.1.2"
+    },
+    "coverage": {
+      "dependency": "transitive",
+      "description": {
+        "name": "coverage",
+        "sha256": "aa07dbe5f2294c827b7edb9a87bba44a9c15a3cc81bc8da2ca19b37322d30080",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.14.1"
+    },
+    "cross_file": {
+      "dependency": "transitive",
+      "description": {
+        "name": "cross_file",
+        "sha256": "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.3.4+2"
+    },
+    "crypto": {
+      "dependency": "transitive",
+      "description": {
+        "name": "crypto",
+        "sha256": "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.0.6"
+    },
+    "csslib": {
+      "dependency": "transitive",
+      "description": {
+        "name": "csslib",
+        "sha256": "09bad715f418841f976c77db72d5398dc1253c21fb9c0c7f0b0b985860b2d58e",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.2"
+    },
+    "custom_lint_core": {
+      "dependency": "transitive",
+      "description": {
+        "name": "custom_lint_core",
+        "sha256": "31110af3dde9d29fb10828ca33f1dce24d2798477b167675543ce3d208dee8be",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.7.5"
+    },
+    "custom_lint_visitor": {
+      "dependency": "transitive",
+      "description": {
+        "name": "custom_lint_visitor",
+        "sha256": "cba5b6d7a6217312472bf4468cdf68c949488aed7ffb0eab792cd0b6c435054d",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.0+7.4.5"
+    },
+    "dart_style": {
+      "dependency": "transitive",
+      "description": {
+        "name": "dart_style",
+        "sha256": "5b236382b47ee411741447c1f1e111459c941ea1b3f2b540dde54c210a3662af",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.1.0"
+    },
+    "dartssh2": {
+      "dependency": "direct main",
+      "description": {
+        "path": ".",
+        "ref": "v1.0.285",
+        "resolved-ref": "18fb1ad15ee6d2c8c5ec67722bf8b90fe0f4746d",
+        "url": "https://github.com/lollipopkit/dartssh2"
+      },
+      "source": "git",
+      "version": "2.12.0"
+    },
+    "dbus": {
+      "dependency": "transitive",
+      "description": {
+        "name": "dbus",
+        "sha256": "79e0c23480ff85dc68de79e2cd6334add97e48f7f4865d17686dd6ea81a47e8c",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.7.11"
+    },
+    "dio": {
+      "dependency": "direct main",
+      "description": {
+        "name": "dio",
+        "sha256": "253a18bbd4851fecba42f7343a1df3a9a4c1d31a2c1b37e221086b4fa8c8dbc9",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "5.8.0+1"
+    },
+    "dio_web_adapter": {
+      "dependency": "transitive",
+      "description": {
+        "name": "dio_web_adapter",
+        "sha256": "7586e476d70caecaf1686d21eee7247ea43ef5c345eab9e0cc3583ff13378d78",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.1.1"
+    },
+    "dynamic_color": {
+      "dependency": "direct main",
+      "description": {
+        "name": "dynamic_color",
+        "sha256": "eae98052fa6e2826bdac3dd2e921c6ce2903be15c6b7f8b6d8a5d49b5086298d",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.7.0"
+    },
+    "easy_isolate": {
+      "dependency": "direct main",
+      "description": {
+        "name": "easy_isolate",
+        "sha256": "5c1dd21d77af0ac82e0ce25ddda652a17b87cee56fb4d8a708e13be0a2adc180",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.3.1"
+    },
+    "equatable": {
+      "dependency": "transitive",
+      "description": {
+        "name": "equatable",
+        "sha256": "567c64b3cb4cf82397aac55f4f0cbd3ca20d77c6c03bedbc4ceaddc08904aef7",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.0.7"
+    },
+    "extended_image": {
+      "dependency": "direct main",
+      "description": {
+        "name": "extended_image",
+        "sha256": "f6cbb1d798f51262ed1a3d93b4f1f2aa0d76128df39af18ecb77fa740f88b2e0",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "10.0.1"
+    },
+    "extended_image_library": {
+      "dependency": "transitive",
+      "description": {
+        "name": "extended_image_library",
+        "sha256": "1f9a24d3a00c2633891c6a7b5cab2807999eb2d5b597e5133b63f49d113811fe",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "5.0.1"
+    },
+    "fake_async": {
+      "dependency": "transitive",
+      "description": {
+        "name": "fake_async",
+        "sha256": "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.3.3"
+    },
+    "ffi": {
+      "dependency": "transitive",
+      "description": {
+        "name": "ffi",
+        "sha256": "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.1.4"
+    },
+    "file": {
+      "dependency": "transitive",
+      "description": {
+        "name": "file",
+        "sha256": "a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "7.0.1"
+    },
+    "file_picker": {
+      "dependency": "direct main",
+      "description": {
+        "name": "file_picker",
+        "sha256": "77f8e81d22d2a07d0dee2c62e1dda71dc1da73bf43bb2d45af09727406167964",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "10.1.9"
+    },
+    "fixnum": {
+      "dependency": "transitive",
+      "description": {
+        "name": "fixnum",
+        "sha256": "b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.1"
+    },
+    "fl_build": {
+      "dependency": "direct dev",
+      "description": {
+        "path": ".",
+        "ref": "v1.0.51",
+        "resolved-ref": "430672b7c7608b68ceda785533ec11e1ac3e9ca7",
+        "url": "https://github.com/lppcg/fl_build.git"
+      },
+      "source": "git",
+      "version": "1.0.0"
+    },
+    "fl_chart": {
+      "dependency": "direct main",
+      "description": {
+        "name": "fl_chart",
+        "sha256": "577aeac8ca414c25333334d7c4bb246775234c0e44b38b10a82b559dd4d764e7",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.0"
+    },
+    "fl_lib": {
+      "dependency": "direct main",
+      "description": {
+        "path": ".",
+        "ref": "v1.0.321",
+        "resolved-ref": "e0b3338be10fa71c96d017d873f5e10bb4374709",
+        "url": "https://github.com/lppcg/fl_lib"
+      },
+      "source": "git",
+      "version": "0.0.1"
+    },
+    "flutter": {
+      "dependency": "direct main",
+      "description": "flutter",
+      "source": "sdk",
+      "version": "0.0.0"
+    },
+    "flutter_displaymode": {
+      "dependency": "direct main",
+      "description": {
+        "name": "flutter_displaymode",
+        "sha256": "42c5e9abd13d28ed74f701b60529d7f8416947e58256e6659c5550db719c57ef",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.6.0"
+    },
+    "flutter_highlight": {
+      "dependency": "direct main",
+      "description": {
+        "name": "flutter_highlight",
+        "sha256": "7b96333867aa07e122e245c033b8ad622e4e3a42a1a2372cbb098a2541d8782c",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.7.0"
+    },
+    "flutter_lints": {
+      "dependency": "direct dev",
+      "description": {
+        "name": "flutter_lints",
+        "sha256": "3105dc8492f6183fb076ccf1f351ac3d60564bff92e20bfc4af9cc1651f4e7e1",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "6.0.0"
+    },
+    "flutter_localizations": {
+      "dependency": "direct main",
+      "description": "flutter",
+      "source": "sdk",
+      "version": "0.0.0"
+    },
+    "flutter_markdown": {
+      "dependency": "transitive",
+      "description": {
+        "name": "flutter_markdown",
+        "sha256": "08fb8315236099ff8e90cb87bb2b935e0a724a3af1623000a9cec930468e0f27",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.7.7+1"
+    },
+    "flutter_markdown_latex": {
+      "dependency": "transitive",
+      "description": {
+        "name": "flutter_markdown_latex",
+        "sha256": "839e76a84abb3632ffcebbd450cf93c7e9894af65622527d23f0084cee1bfd04",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.3.4"
+    },
+    "flutter_math_fork": {
+      "dependency": "transitive",
+      "description": {
+        "name": "flutter_math_fork",
+        "sha256": "6d5f2f1aa57ae539ffb0a04bb39d2da67af74601d685a161aff7ce5bda5fa407",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.7.4"
+    },
+    "flutter_native_splash": {
+      "dependency": "direct dev",
+      "description": {
+        "name": "flutter_native_splash",
+        "sha256": "8321a6d11a8d13977fa780c89de8d257cce3d841eecfb7a4cadffcc4f12d82dc",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.4.6"
+    },
+    "flutter_plugin_android_lifecycle": {
+      "dependency": "transitive",
+      "description": {
+        "name": "flutter_plugin_android_lifecycle",
+        "sha256": "f948e346c12f8d5480d2825e03de228d0eb8c3a737e4cdaa122267b89c022b5e",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.0.28"
+    },
+    "flutter_riverpod": {
+      "dependency": "direct main",
+      "description": {
+        "name": "flutter_riverpod",
+        "sha256": "9532ee6db4a943a1ed8383072a2e3eeda041db5657cdf6d2acecf3c21ecbe7e1",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.6.1"
+    },
+    "flutter_svg": {
+      "dependency": "transitive",
+      "description": {
+        "name": "flutter_svg",
+        "sha256": "d44bf546b13025ec7353091516f6881f1d4c633993cb109c3916c3a0159dadf1",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.1.0"
+    },
+    "flutter_test": {
+      "dependency": "direct dev",
+      "description": "flutter",
+      "source": "sdk",
+      "version": "0.0.0"
+    },
+    "flutter_web_plugins": {
+      "dependency": "transitive",
+      "description": "flutter",
+      "source": "sdk",
+      "version": "0.0.0"
+    },
+    "freezed": {
+      "dependency": "direct dev",
+      "description": {
+        "name": "freezed",
+        "sha256": "6022db4c7bfa626841b2a10f34dd1e1b68e8f8f9650db6112dcdeeca45ca793c",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.0.6"
+    },
+    "freezed_annotation": {
+      "dependency": "direct main",
+      "description": {
+        "name": "freezed_annotation",
+        "sha256": "c87ff004c8aa6af2d531668b46a4ea379f7191dc6dfa066acd53d506da6e044b",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.0.0"
+    },
+    "frontend_server_client": {
+      "dependency": "transitive",
+      "description": {
+        "name": "frontend_server_client",
+        "sha256": "f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.0.0"
+    },
+    "glob": {
+      "dependency": "transitive",
+      "description": {
+        "name": "glob",
+        "sha256": "c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.1.3"
+    },
+    "graphs": {
+      "dependency": "transitive",
+      "description": {
+        "name": "graphs",
+        "sha256": "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.3.2"
+    },
+    "gtk": {
+      "dependency": "transitive",
+      "description": {
+        "name": "gtk",
+        "sha256": "e8ce9ca4b1df106e4d72dad201d345ea1a036cc12c360f1a7d5a758f78ffa42c",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.1.0"
+    },
+    "highlight": {
+      "dependency": "direct main",
+      "description": {
+        "name": "highlight",
+        "sha256": "5353a83ffe3e3eca7df0abfb72dcf3fa66cc56b953728e7113ad4ad88497cf21",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.7.0"
+    },
+    "hive_ce": {
+      "dependency": "transitive",
+      "description": {
+        "name": "hive_ce",
+        "sha256": "708bb39050998707c5d422752159f91944d3c81ab42d80e1bd0ee37d8e130658",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.11.3"
+    },
+    "hive_ce_flutter": {
+      "dependency": "direct main",
+      "description": {
+        "name": "hive_ce_flutter",
+        "sha256": "a0989670652eab097b47544f1e5a4456e861b1b01b050098ea0b80a5fabe9909",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.3.1"
+    },
+    "hive_ce_generator": {
+      "dependency": "direct dev",
+      "description": {
+        "name": "hive_ce_generator",
+        "sha256": "609678c10ebee7503505a0007050af40a0a4f498b1fb7def3220df341e573a89",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.9.2"
+    },
+    "html": {
+      "dependency": "transitive",
+      "description": {
+        "name": "html",
+        "sha256": "6d1264f2dffa1b1101c25a91dff0dc2daee4c18e87cd8538729773c073dbf602",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.15.6"
+    },
+    "http": {
+      "dependency": "transitive",
+      "description": {
+        "name": "http",
+        "sha256": "2c11f3f94c687ee9bad77c171151672986360b2b001d109814ee7140b2cf261b",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.4.0"
+    },
+    "http_client_helper": {
+      "dependency": "transitive",
+      "description": {
+        "name": "http_client_helper",
+        "sha256": "8a9127650734da86b5c73760de2b404494c968a3fd55602045ffec789dac3cb1",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.0.0"
+    },
+    "http_multi_server": {
+      "dependency": "transitive",
+      "description": {
+        "name": "http_multi_server",
+        "sha256": "aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.2.2"
+    },
+    "http_parser": {
+      "dependency": "transitive",
+      "description": {
+        "name": "http_parser",
+        "sha256": "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.1.2"
+    },
+    "icloud_storage": {
+      "dependency": "transitive",
+      "description": {
+        "name": "icloud_storage",
+        "sha256": "fa91d9c3b4264651f01a4f5b99cffa354ffe455623b13ecf92be86d88b1e26ea",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.2.0"
+    },
+    "icons_plus": {
+      "dependency": "transitive",
+      "description": {
+        "name": "icons_plus",
+        "sha256": "8e2f601b8605d45dd55b106a0da084a1809125077a49574ca22e8bcd5b6e86f0",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "5.0.0"
+    },
+    "image": {
+      "dependency": "transitive",
+      "description": {
+        "name": "image",
+        "sha256": "4e973fcf4caae1a4be2fa0a13157aa38a8f9cb049db6529aa00b4d71abc4d928",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.5.4"
+    },
+    "intl": {
+      "dependency": "direct main",
+      "description": {
+        "name": "intl",
+        "sha256": "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.20.2"
+    },
+    "io": {
+      "dependency": "transitive",
+      "description": {
+        "name": "io",
+        "sha256": "dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.5"
+    },
+    "isolate_channel": {
+      "dependency": "transitive",
+      "description": {
+        "name": "isolate_channel",
+        "sha256": "f3d36f783b301e6b312c3450eeb2656b0e7d1db81331af2a151d9083a3f6b18d",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.2.2+1"
+    },
+    "isolate_contactor": {
+      "dependency": "transitive",
+      "description": {
+        "name": "isolate_contactor",
+        "sha256": "6ba8434ceb58238a1389d6365111a3efe7baa1c68a66f4db6d63d351cf6c3a0f",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.1.0"
+    },
+    "isolate_manager": {
+      "dependency": "transitive",
+      "description": {
+        "name": "isolate_manager",
+        "sha256": "22ed0c25f80ec3b5f21e3a55d060f4650afff33f27c2dff34c0f9409d5759ae5",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.1.5+1"
+    },
+    "js": {
+      "dependency": "transitive",
+      "description": {
+        "name": "js",
+        "sha256": "53385261521cc4a0c4658fd0ad07a7d14591cf8fc33abbceae306ddb974888dc",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.7.2"
+    },
+    "json_annotation": {
+      "dependency": "direct main",
+      "description": {
+        "name": "json_annotation",
+        "sha256": "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.9.0"
+    },
+    "json_serializable": {
+      "dependency": "direct dev",
+      "description": {
+        "name": "json_serializable",
+        "sha256": "c50ef5fc083d5b5e12eef489503ba3bf5ccc899e487d691584699b4bdefeea8c",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "6.9.5"
+    },
+    "leak_tracker": {
+      "dependency": "transitive",
+      "description": {
+        "name": "leak_tracker",
+        "sha256": "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "10.0.9"
+    },
+    "leak_tracker_flutter_testing": {
+      "dependency": "transitive",
+      "description": {
+        "name": "leak_tracker_flutter_testing",
+        "sha256": "f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.0.9"
+    },
+    "leak_tracker_testing": {
+      "dependency": "transitive",
+      "description": {
+        "name": "leak_tracker_testing",
+        "sha256": "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.0.1"
+    },
+    "lints": {
+      "dependency": "transitive",
+      "description": {
+        "name": "lints",
+        "sha256": "a5e2b223cb7c9c8efdc663ef484fdd95bb243bff242ef5b13e26883547fce9a0",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "6.0.0"
+    },
+    "local_auth": {
+      "dependency": "transitive",
+      "description": {
+        "name": "local_auth",
+        "sha256": "434d854cf478f17f12ab29a76a02b3067f86a63a6d6c4eb8fbfdcfe4879c1b7b",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.3.0"
+    },
+    "local_auth_android": {
+      "dependency": "transitive",
+      "description": {
+        "name": "local_auth_android",
+        "sha256": "63ad7ca6396290626dc0cb34725a939e4cfe965d80d36112f08d49cf13a8136e",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.49"
+    },
+    "local_auth_darwin": {
+      "dependency": "transitive",
+      "description": {
+        "name": "local_auth_darwin",
+        "sha256": "630996cd7b7f28f5ab92432c4b35d055dd03a747bc319e5ffbb3c4806a3e50d2",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.4.3"
+    },
+    "local_auth_platform_interface": {
+      "dependency": "transitive",
+      "description": {
+        "name": "local_auth_platform_interface",
+        "sha256": "1b842ff177a7068442eae093b64abe3592f816afd2a533c0ebcdbe40f9d2075a",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.10"
+    },
+    "local_auth_windows": {
+      "dependency": "transitive",
+      "description": {
+        "name": "local_auth_windows",
+        "sha256": "bc4e66a29b0fdf751aafbec923b5bed7ad6ed3614875d8151afe2578520b2ab5",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.11"
+    },
+    "locale_names": {
+      "dependency": "transitive",
+      "description": {
+        "name": "locale_names",
+        "sha256": "7a89ca54072f4f13d0f5df5a9ba69337554bf2fd057d1dd2a238898f3f159374",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.1"
+    },
+    "logging": {
+      "dependency": "transitive",
+      "description": {
+        "name": "logging",
+        "sha256": "c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.3.0"
+    },
+    "markdown": {
+      "dependency": "transitive",
+      "description": {
+        "name": "markdown",
+        "sha256": "935e23e1ff3bc02d390bad4d4be001208ee92cc217cb5b5a6c19bc14aaa318c1",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "7.3.0"
+    },
+    "matcher": {
+      "dependency": "transitive",
+      "description": {
+        "name": "matcher",
+        "sha256": "dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.12.17"
+    },
+    "material_color_utilities": {
+      "dependency": "transitive",
+      "description": {
+        "name": "material_color_utilities",
+        "sha256": "f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.11.1"
+    },
+    "meta": {
+      "dependency": "transitive",
+      "description": {
+        "name": "meta",
+        "sha256": "e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.16.0"
+    },
+    "mime": {
+      "dependency": "transitive",
+      "description": {
+        "name": "mime",
+        "sha256": "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.0.0"
+    },
+    "multi_split_view": {
+      "dependency": "transitive",
+      "description": {
+        "name": "multi_split_view",
+        "sha256": "99c02f128e7423818d13b8f2e01e3027e953b35508019dcee214791bd0525db5",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.6.0"
+    },
+    "nested": {
+      "dependency": "transitive",
+      "description": {
+        "name": "nested",
+        "sha256": "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.0"
+    },
+    "node_preamble": {
+      "dependency": "transitive",
+      "description": {
+        "name": "node_preamble",
+        "sha256": "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.0.2"
+    },
+    "package_config": {
+      "dependency": "transitive",
+      "description": {
+        "name": "package_config",
+        "sha256": "f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.2.0"
+    },
+    "package_info_plus": {
+      "dependency": "transitive",
+      "description": {
+        "name": "package_info_plus",
+        "sha256": "7976bfe4c583170d6cdc7077e3237560b364149fcd268b5f53d95a991963b191",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "8.3.0"
+    },
+    "package_info_plus_platform_interface": {
+      "dependency": "transitive",
+      "description": {
+        "name": "package_info_plus_platform_interface",
+        "sha256": "6c935fb612dff8e3cc9632c2b301720c77450a126114126ffaafe28d2e87956c",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.2.0"
+    },
+    "path": {
+      "dependency": "transitive",
+      "description": {
+        "name": "path",
+        "sha256": "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.9.1"
+    },
+    "path_parsing": {
+      "dependency": "transitive",
+      "description": {
+        "name": "path_parsing",
+        "sha256": "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.0"
+    },
+    "path_provider": {
+      "dependency": "transitive",
+      "description": {
+        "name": "path_provider",
+        "sha256": "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.1.5"
+    },
+    "path_provider_android": {
+      "dependency": "transitive",
+      "description": {
+        "name": "path_provider_android",
+        "sha256": "d0d310befe2c8ab9e7f393288ccbb11b60c019c6b5afc21973eeee4dda2b35e9",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.2.17"
+    },
+    "path_provider_foundation": {
+      "dependency": "transitive",
+      "description": {
+        "name": "path_provider_foundation",
+        "sha256": "4843174df4d288f5e29185bd6e72a6fbdf5a4a4602717eed565497429f179942",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.4.1"
+    },
+    "path_provider_linux": {
+      "dependency": "transitive",
+      "description": {
+        "name": "path_provider_linux",
+        "sha256": "f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.2.1"
+    },
+    "path_provider_platform_interface": {
+      "dependency": "transitive",
+      "description": {
+        "name": "path_provider_platform_interface",
+        "sha256": "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.1.2"
+    },
+    "path_provider_windows": {
+      "dependency": "transitive",
+      "description": {
+        "name": "path_provider_windows",
+        "sha256": "bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.3.0"
+    },
+    "petitparser": {
+      "dependency": "transitive",
+      "description": {
+        "name": "petitparser",
+        "sha256": "07c8f0b1913bcde1ff0d26e57ace2f3012ccbf2b204e070290dad3bb22797646",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "6.1.0"
+    },
+    "pinenacl": {
+      "dependency": "transitive",
+      "description": {
+        "name": "pinenacl",
+        "sha256": "57e907beaacbc3c024a098910b6240758e899674de07d6949a67b52fd984cbdf",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.6.0"
+    },
+    "plain_notification_token": {
+      "dependency": "direct main",
+      "description": {
+        "path": ".",
+        "ref": "v1.0.23",
+        "resolved-ref": "5f56dc56a6670e2533b0caa7d09d31d16e6c7663",
+        "url": "https://github.com/lollipopkit/plain_notification_token"
+      },
+      "source": "git",
+      "version": "0.0.4"
+    },
+    "platform": {
+      "dependency": "transitive",
+      "description": {
+        "name": "platform",
+        "sha256": "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.1.6"
+    },
+    "plugin_platform_interface": {
+      "dependency": "transitive",
+      "description": {
+        "name": "plugin_platform_interface",
+        "sha256": "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.1.8"
+    },
+    "pointycastle": {
+      "dependency": "transitive",
+      "description": {
+        "name": "pointycastle",
+        "sha256": "92aa3841d083cc4b0f4709b5c74fd6409a3e6ba833ffc7dc6a8fee096366acf5",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.0.0"
+    },
+    "pool": {
+      "dependency": "transitive",
+      "description": {
+        "name": "pool",
+        "sha256": "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.5.1"
+    },
+    "posix": {
+      "dependency": "transitive",
+      "description": {
+        "name": "posix",
+        "sha256": "f0d7856b6ca1887cfa6d1d394056a296ae33489db914e365e2044fdada449e62",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "6.0.2"
+    },
+    "pretty_qr_code": {
+      "dependency": "transitive",
+      "description": {
+        "name": "pretty_qr_code",
+        "sha256": "b078bd5d51956dea4342378af1b092ad962b81bdbb55b10fffce03461da8db74",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.4.0"
+    },
+    "provider": {
+      "dependency": "transitive",
+      "description": {
+        "name": "provider",
+        "sha256": "4abbd070a04e9ddc287673bf5a030c7ca8b685ff70218720abab8b092f53dd84",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "6.1.5"
+    },
+    "pub_semver": {
+      "dependency": "transitive",
+      "description": {
+        "name": "pub_semver",
+        "sha256": "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.2.0"
+    },
+    "pubspec_parse": {
+      "dependency": "transitive",
+      "description": {
+        "name": "pubspec_parse",
+        "sha256": "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.5.0"
+    },
+    "qr": {
+      "dependency": "transitive",
+      "description": {
+        "name": "qr",
+        "sha256": "5a1d2586170e172b8a8c8470bbbffd5eb0cd38a66c0d77155ea138d3af3a4445",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.0.2"
+    },
+    "qr_code_dart_decoder": {
+      "dependency": "transitive",
+      "description": {
+        "name": "qr_code_dart_decoder",
+        "sha256": "6da7eda27726d504bed3c30eabf78ddca3eb9265e1c8dc49b30ef5974b9c267f",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.0.5"
+    },
+    "qr_code_dart_scan": {
+      "dependency": "transitive",
+      "description": {
+        "name": "qr_code_dart_scan",
+        "sha256": "6e1aab64b8f5f768416b471dbc3fb0fc94969c3e236157a96b52a70f9fe12ebb",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.10.1"
+    },
+    "quiver": {
+      "dependency": "transitive",
+      "description": {
+        "name": "quiver",
+        "sha256": "ea0b925899e64ecdfbf9c7becb60d5b50e706ade44a85b2363be2a22d88117d2",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.2.2"
+    },
+    "re_editor": {
+      "dependency": "direct main",
+      "description": {
+        "name": "re_editor",
+        "sha256": "17e430f0591dd361992ec2dd6f69191c1853fa46e05432e095310a8f82ee820e",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.7.0"
+    },
+    "re_highlight": {
+      "dependency": "transitive",
+      "description": {
+        "name": "re_highlight",
+        "sha256": "6c4ac3f76f939fb7ca9df013df98526634e17d8f7460e028bd23a035870024f2",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.0.3"
+    },
+    "responsive_framework": {
+      "dependency": "direct main",
+      "description": {
+        "name": "responsive_framework",
+        "sha256": "a8e1c13d4ba980c60cbf6fa1e9907cd60662bf2585184d7c96ca46c43de91552",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.5.1"
+    },
+    "riverpod": {
+      "dependency": "transitive",
+      "description": {
+        "name": "riverpod",
+        "sha256": "59062512288d3056b2321804332a13ffdd1bf16df70dcc8e506e411280a72959",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.6.1"
+    },
+    "riverpod_analyzer_utils": {
+      "dependency": "transitive",
+      "description": {
+        "name": "riverpod_analyzer_utils",
+        "sha256": "03a17170088c63aab6c54c44456f5ab78876a1ddb6032ffde1662ddab4959611",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.5.10"
+    },
+    "riverpod_annotation": {
+      "dependency": "direct main",
+      "description": {
+        "name": "riverpod_annotation",
+        "sha256": "e14b0bf45b71326654e2705d462f21b958f987087be850afd60578fcd502d1b8",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.6.1"
+    },
+    "riverpod_generator": {
+      "dependency": "direct dev",
+      "description": {
+        "name": "riverpod_generator",
+        "sha256": "44a0992d54473eb199ede00e2260bd3c262a86560e3c6f6374503d86d0580e36",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.6.5"
+    },
+    "screen_retriever": {
+      "dependency": "transitive",
+      "description": {
+        "name": "screen_retriever",
+        "sha256": "570dbc8e4f70bac451e0efc9c9bb19fa2d6799a11e6ef04f946d7886d2e23d0c",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.2.0"
+    },
+    "screen_retriever_linux": {
+      "dependency": "transitive",
+      "description": {
+        "name": "screen_retriever_linux",
+        "sha256": "f7f8120c92ef0784e58491ab664d01efda79a922b025ff286e29aa123ea3dd18",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.2.0"
+    },
+    "screen_retriever_macos": {
+      "dependency": "transitive",
+      "description": {
+        "name": "screen_retriever_macos",
+        "sha256": "71f956e65c97315dd661d71f828708bd97b6d358e776f1a30d5aa7d22d78a149",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.2.0"
+    },
+    "screen_retriever_platform_interface": {
+      "dependency": "transitive",
+      "description": {
+        "name": "screen_retriever_platform_interface",
+        "sha256": "ee197f4581ff0d5608587819af40490748e1e39e648d7680ecf95c05197240c0",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.2.0"
+    },
+    "screen_retriever_windows": {
+      "dependency": "transitive",
+      "description": {
+        "name": "screen_retriever_windows",
+        "sha256": "449ee257f03ca98a57288ee526a301a430a344a161f9202b4fcc38576716fe13",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.2.0"
+    },
+    "screenshot": {
+      "dependency": "transitive",
+      "description": {
+        "name": "screenshot",
+        "sha256": "63817697a7835e6ce82add4228e15d233b74d42975c143ad8cfe07009fab866b",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.0.0"
+    },
+    "share_plus": {
+      "dependency": "transitive",
+      "description": {
+        "name": "share_plus",
+        "sha256": "b2961506569e28948d75ec346c28775bb111986bb69dc6a20754a457e3d97fa0",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "11.0.0"
+    },
+    "share_plus_platform_interface": {
+      "dependency": "transitive",
+      "description": {
+        "name": "share_plus_platform_interface",
+        "sha256": "1032d392bc5d2095a77447a805aa3f804d2ae6a4d5eef5e6ebb3bd94c1bc19ef",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "6.0.0"
+    },
+    "shared_preferences": {
+      "dependency": "direct main",
+      "description": {
+        "name": "shared_preferences",
+        "sha256": "6e8bf70b7fef813df4e9a36f658ac46d107db4b4cfe1048b477d4e453a8159f5",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.5.3"
+    },
+    "shared_preferences_android": {
+      "dependency": "transitive",
+      "description": {
+        "name": "shared_preferences_android",
+        "sha256": "20cbd561f743a342c76c151d6ddb93a9ce6005751e7aa458baad3858bfbfb6ac",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.4.10"
+    },
+    "shared_preferences_foundation": {
+      "dependency": "transitive",
+      "description": {
+        "name": "shared_preferences_foundation",
+        "sha256": "6a52cfcdaeac77cad8c97b539ff688ccfc458c007b4db12be584fbe5c0e49e03",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.5.4"
+    },
+    "shared_preferences_linux": {
+      "dependency": "transitive",
+      "description": {
+        "name": "shared_preferences_linux",
+        "sha256": "580abfd40f415611503cae30adf626e6656dfb2f0cee8f465ece7b6defb40f2f",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.4.1"
+    },
+    "shared_preferences_platform_interface": {
+      "dependency": "transitive",
+      "description": {
+        "name": "shared_preferences_platform_interface",
+        "sha256": "57cbf196c486bc2cf1f02b85784932c6094376284b3ad5779d1b1c6c6a816b80",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.4.1"
+    },
+    "shared_preferences_web": {
+      "dependency": "transitive",
+      "description": {
+        "name": "shared_preferences_web",
+        "sha256": "c49bd060261c9a3f0ff445892695d6212ff603ef3115edbb448509d407600019",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.4.3"
+    },
+    "shared_preferences_windows": {
+      "dependency": "transitive",
+      "description": {
+        "name": "shared_preferences_windows",
+        "sha256": "94ef0f72b2d71bc3e700e025db3710911bd51a71cefb65cc609dd0d9a982e3c1",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.4.1"
+    },
+    "shelf": {
+      "dependency": "transitive",
+      "description": {
+        "name": "shelf",
+        "sha256": "e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.4.2"
+    },
+    "shelf_packages_handler": {
+      "dependency": "transitive",
+      "description": {
+        "name": "shelf_packages_handler",
+        "sha256": "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.0.2"
+    },
+    "shelf_static": {
+      "dependency": "transitive",
+      "description": {
+        "name": "shelf_static",
+        "sha256": "c87c3875f91262785dade62d135760c2c69cb217ac759485334c5857ad89f6e3",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.3"
+    },
+    "shelf_web_socket": {
+      "dependency": "transitive",
+      "description": {
+        "name": "shelf_web_socket",
+        "sha256": "3632775c8e90d6c9712f883e633716432a27758216dfb61bd86a8321c0580925",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.0.0"
+    },
+    "sky_engine": {
+      "dependency": "transitive",
+      "description": "flutter",
+      "source": "sdk",
+      "version": "0.0.0"
+    },
+    "source_gen": {
+      "dependency": "transitive",
+      "description": {
+        "name": "source_gen",
+        "sha256": "35c8150ece9e8c8d263337a265153c3329667640850b9304861faea59fc98f6b",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.0.0"
+    },
+    "source_helper": {
+      "dependency": "transitive",
+      "description": {
+        "name": "source_helper",
+        "sha256": "86d247119aedce8e63f4751bd9626fc9613255935558447569ad42f9f5b48b3c",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.3.5"
+    },
+    "source_map_stack_trace": {
+      "dependency": "transitive",
+      "description": {
+        "name": "source_map_stack_trace",
+        "sha256": "c0713a43e323c3302c2abe2a1cc89aa057a387101ebd280371d6a6c9fa68516b",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.1.2"
+    },
+    "source_maps": {
+      "dependency": "transitive",
+      "description": {
+        "name": "source_maps",
+        "sha256": "190222579a448b03896e0ca6eca5998fa810fda630c1d65e2f78b3f638f54812",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.10.13"
+    },
+    "source_span": {
+      "dependency": "transitive",
+      "description": {
+        "name": "source_span",
+        "sha256": "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.10.1"
+    },
+    "sprintf": {
+      "dependency": "transitive",
+      "description": {
+        "name": "sprintf",
+        "sha256": "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "7.0.0"
+    },
+    "stack_trace": {
+      "dependency": "transitive",
+      "description": {
+        "name": "stack_trace",
+        "sha256": "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.12.1"
+    },
+    "state_notifier": {
+      "dependency": "transitive",
+      "description": {
+        "name": "state_notifier",
+        "sha256": "b8677376aa54f2d7c58280d5a007f9e8774f1968d1fb1c096adcb4792fba29bb",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.0"
+    },
+    "stream_channel": {
+      "dependency": "transitive",
+      "description": {
+        "name": "stream_channel",
+        "sha256": "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.1.4"
+    },
+    "stream_transform": {
+      "dependency": "transitive",
+      "description": {
+        "name": "stream_transform",
+        "sha256": "ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.1.1"
+    },
+    "string_scanner": {
+      "dependency": "transitive",
+      "description": {
+        "name": "string_scanner",
+        "sha256": "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.4.1"
+    },
+    "term_glyph": {
+      "dependency": "transitive",
+      "description": {
+        "name": "term_glyph",
+        "sha256": "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.2.2"
+    },
+    "test": {
+      "dependency": "direct dev",
+      "description": {
+        "name": "test",
+        "sha256": "301b213cd241ca982e9ba50266bd3f5bd1ea33f1455554c5abb85d1be0e2d87e",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.25.15"
+    },
+    "test_api": {
+      "dependency": "transitive",
+      "description": {
+        "name": "test_api",
+        "sha256": "fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.7.4"
+    },
+    "test_core": {
+      "dependency": "transitive",
+      "description": {
+        "name": "test_core",
+        "sha256": "84d17c3486c8dfdbe5e12a50c8ae176d15e2a771b96909a9442b40173649ccaa",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.6.8"
+    },
+    "timing": {
+      "dependency": "transitive",
+      "description": {
+        "name": "timing",
+        "sha256": "62ee18aca144e4a9f29d212f5a4c6a053be252b895ab14b5821996cff4ed90fe",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.2"
+    },
+    "tuple": {
+      "dependency": "transitive",
+      "description": {
+        "name": "tuple",
+        "sha256": "a97ce2013f240b2f3807bcbaf218765b6f301c3eff91092bcfa23a039e7dd151",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.0.2"
+    },
+    "typed_data": {
+      "dependency": "transitive",
+      "description": {
+        "name": "typed_data",
+        "sha256": "f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.4.0"
+    },
+    "universal_io": {
+      "dependency": "transitive",
+      "description": {
+        "name": "universal_io",
+        "sha256": "1722b2dcc462b4b2f3ee7d188dad008b6eb4c40bbd03a3de451d82c78bba9aad",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.2.2"
+    },
+    "url_launcher": {
+      "dependency": "transitive",
+      "description": {
+        "name": "url_launcher",
+        "sha256": "9d06212b1362abc2f0f0d78e6f09f726608c74e3b9462e8368bb03314aa8d603",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "6.3.1"
+    },
+    "url_launcher_android": {
+      "dependency": "transitive",
+      "description": {
+        "name": "url_launcher_android",
+        "sha256": "8582d7f6fe14d2652b4c45c9b6c14c0b678c2af2d083a11b604caeba51930d79",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "6.3.16"
+    },
+    "url_launcher_ios": {
+      "dependency": "transitive",
+      "description": {
+        "name": "url_launcher_ios",
+        "sha256": "7f2022359d4c099eea7df3fdf739f7d3d3b9faf3166fb1dd390775176e0b76cb",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "6.3.3"
+    },
+    "url_launcher_linux": {
+      "dependency": "transitive",
+      "description": {
+        "name": "url_launcher_linux",
+        "sha256": "4e9ba368772369e3e08f231d2301b4ef72b9ff87c31192ef471b380ef29a4935",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.2.1"
+    },
+    "url_launcher_macos": {
+      "dependency": "transitive",
+      "description": {
+        "name": "url_launcher_macos",
+        "sha256": "17ba2000b847f334f16626a574c702b196723af2a289e7a93ffcb79acff855c2",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.2.2"
+    },
+    "url_launcher_platform_interface": {
+      "dependency": "transitive",
+      "description": {
+        "name": "url_launcher_platform_interface",
+        "sha256": "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.3.2"
+    },
+    "url_launcher_web": {
+      "dependency": "transitive",
+      "description": {
+        "name": "url_launcher_web",
+        "sha256": "4bd2b7b4dc4d4d0b94e5babfffbca8eac1a126c7f3d6ecbc1a11013faa3abba2",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.4.1"
+    },
+    "url_launcher_windows": {
+      "dependency": "transitive",
+      "description": {
+        "name": "url_launcher_windows",
+        "sha256": "3284b6d2ac454cf34f114e1d3319866fdd1e19cdc329999057e44ffe936cfa77",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.1.4"
+    },
+    "uuid": {
+      "dependency": "transitive",
+      "description": {
+        "name": "uuid",
+        "sha256": "a5be9ef6618a7ac1e964353ef476418026db906c4facdedaa299b7a2e71690ff",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.5.1"
+    },
+    "vector_graphics": {
+      "dependency": "transitive",
+      "description": {
+        "name": "vector_graphics",
+        "sha256": "44cc7104ff32563122a929e4620cf3efd584194eec6d1d913eb5ba593dbcf6de",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.18"
+    },
+    "vector_graphics_codec": {
+      "dependency": "transitive",
+      "description": {
+        "name": "vector_graphics_codec",
+        "sha256": "99fd9fbd34d9f9a32efd7b6a6aae14125d8237b10403b422a6a6dfeac2806146",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.13"
+    },
+    "vector_graphics_compiler": {
+      "dependency": "transitive",
+      "description": {
+        "name": "vector_graphics_compiler",
+        "sha256": "557a315b7d2a6dbb0aaaff84d857967ce6bdc96a63dc6ee2a57ce5a6ee5d3331",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.17"
+    },
+    "vector_math": {
+      "dependency": "transitive",
+      "description": {
+        "name": "vector_math",
+        "sha256": "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.1.4"
+    },
+    "vm_service": {
+      "dependency": "transitive",
+      "description": {
+        "name": "vm_service",
+        "sha256": "ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "15.0.0"
+    },
+    "wake_on_lan": {
+      "dependency": "direct main",
+      "description": {
+        "name": "wake_on_lan",
+        "sha256": "a0db43df0cd05181f476f38ec63345a763b7d3b9d8ab25cabbff45881780cb8e",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.1.1+3"
+    },
+    "wakelock_plus": {
+      "dependency": "direct main",
+      "description": {
+        "name": "wakelock_plus",
+        "sha256": "a474e314c3e8fb5adef1f9ae2d247e57467ad557fa7483a2b895bc1b421c5678",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.3.2"
+    },
+    "wakelock_plus_platform_interface": {
+      "dependency": "transitive",
+      "description": {
+        "name": "wakelock_plus_platform_interface",
+        "sha256": "e10444072e50dbc4999d7316fd303f7ea53d31c824aa5eb05d7ccbdd98985207",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.2.3"
+    },
+    "watch_connectivity": {
+      "dependency": "direct main",
+      "description": {
+        "path": ".",
+        "ref": "v1.0.85",
+        "resolved-ref": "13e42750a8f8dbf9a6c7890198b0dd18283a0692",
+        "url": "https://github.com/lollipopkit/watch_connectivity"
+      },
+      "source": "git",
+      "version": "0.1.5"
+    },
+    "watcher": {
+      "dependency": "transitive",
+      "description": {
+        "name": "watcher",
+        "sha256": "69da27e49efa56a15f8afe8f4438c4ec02eff0a117df1b22ea4aad194fe1c104",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.1"
+    },
+    "web": {
+      "dependency": "transitive",
+      "description": {
+        "name": "web",
+        "sha256": "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.1"
+    },
+    "web_socket": {
+      "dependency": "transitive",
+      "description": {
+        "name": "web_socket",
+        "sha256": "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.1"
+    },
+    "web_socket_channel": {
+      "dependency": "transitive",
+      "description": {
+        "name": "web_socket_channel",
+        "sha256": "d645757fb0f4773d602444000a8131ff5d48c9e47adfe9772652dd1a4f2d45c8",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.0.3"
+    },
+    "webdav_client_plus": {
+      "dependency": "direct main",
+      "description": {
+        "name": "webdav_client_plus",
+        "sha256": "0f992fe05a46674a800d9fd8fdc5c54952ff739da155c558776a62ca0c2bed3a",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.2"
+    },
+    "webkit_inspection_protocol": {
+      "dependency": "transitive",
+      "description": {
+        "name": "webkit_inspection_protocol",
+        "sha256": "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.2.1"
+    },
+    "win32": {
+      "dependency": "transitive",
+      "description": {
+        "name": "win32",
+        "sha256": "329edf97fdd893e0f1e3b9e88d6a0e627128cc17cc316a8d67fda8f1451178ba",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "5.13.0"
+    },
+    "window_manager": {
+      "dependency": "transitive",
+      "description": {
+        "name": "window_manager",
+        "sha256": "51d50168ab267d344b975b15390426b1243600d436770d3f13de67e55b05ec16",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.5.0"
+    },
+    "xdg_directories": {
+      "dependency": "transitive",
+      "description": {
+        "name": "xdg_directories",
+        "sha256": "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.0"
+    },
+    "xml": {
+      "dependency": "direct main",
+      "description": {
+        "name": "xml",
+        "sha256": "b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "6.5.0"
+    },
+    "xterm": {
+      "dependency": "direct main",
+      "description": {
+        "path": ".",
+        "ref": "v1.0.588",
+        "resolved-ref": "d28207b988b5bed38c799618b9c412486592c689",
+        "url": "https://github.com/lollipopkit/xterm.dart"
+      },
+      "source": "git",
+      "version": "4.0.0"
+    },
+    "yaml": {
+      "dependency": "transitive",
+      "description": {
+        "name": "yaml",
+        "sha256": "b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.1.3"
+    },
+    "yaml_writer": {
+      "dependency": "transitive",
+      "description": {
+        "name": "yaml_writer",
+        "sha256": "69651cd7238411179ac32079937d4aa9a2970150d6b2ae2c6fe6de09402a5dc5",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.1.0"
+    },
+    "zmodem": {
+      "dependency": "transitive",
+      "description": {
+        "name": "zmodem",
+        "sha256": "3b7e5b29f3a7d8aee472029b05165a68438eff2f3f7766edf13daba1e297adbf",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.0.6"
+    },
+    "zxing_lib": {
+      "dependency": "transitive",
+      "description": {
+        "name": "zxing_lib",
+        "sha256": "d5d81917be2e18b06a2cf4ca12927f3ab957dfbd25bd7b8175b3e9a0ce5c2e2b",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.3"
+    }
+  },
+  "sdks": {
+    "dart": ">=3.8.0 <4.0.0",
+    "flutter": ">=3.32.1"
+  }
+}
diff --git a/pkgs/by-name/se/sesh/package.nix b/pkgs/by-name/se/sesh/package.nix
index 2eaa1c09b4d7..2e42558ac8b9 100644
--- a/pkgs/by-name/se/sesh/package.nix
+++ b/pkgs/by-name/se/sesh/package.nix
@@ -5,16 +5,16 @@
 }:
 buildGoModule rec {
   pname = "sesh";
-  version = "2.13.0";
+  version = "2.15.0";
 
   src = fetchFromGitHub {
     owner = "joshmedeski";
     repo = "sesh";
     rev = "v${version}";
-    hash = "sha256-YFvUYacuvyzNXwY+y9kI4tPlrlojDuZpR7VaTGdVqb8=";
+    hash = "sha256-D//yt8DVy7DMX38qfmVa5UbGIgjzsGXQoscrhcgPzh4=";
   };
 
-  vendorHash = "sha256-3wNp1meUoUFPa2CEgKjuWcu4I6sxta3FPFvCb9QMQhQ=";
+  vendorHash = "sha256-r6n0xZbOvqDU63d3WrXenvV4x81iRgpOS2h73xSlVBI=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/se/sessreg/package.nix b/pkgs/by-name/se/sessreg/package.nix
new file mode 100644
index 000000000000..1cbad96cd6e3
--- /dev/null
+++ b/pkgs/by-name/se/sessreg/package.nix
@@ -0,0 +1,45 @@
+{
+  lib,
+  stdenv,
+  fetchurl,
+  pkg-config,
+  xorgproto,
+  writeScript,
+}:
+stdenv.mkDerivation (finalAttrs: {
+  pname = "sessreg";
+  version = "1.1.3";
+
+  src = fetchurl {
+    url = "mirror://xorg/individual/app/sessreg-${finalAttrs.version}.tar.xz";
+    hash = "sha256-AirNXegHfd3E+RmWH3nhAuzV8yKKMzaBr1zQ5zRPrMI=";
+  };
+
+  strictDeps = true;
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ xorgproto ];
+
+  passthru = {
+    updateScript = writeScript "update-${finalAttrs.pname}" ''
+      #!/usr/bin/env nix-shell
+      #!nix-shell -i bash -p common-updater-scripts
+      version="$(list-directory-versions --pname ${finalAttrs.pname} \
+        --url https://xorg.freedesktop.org/releases/individual/app/ \
+        | sort -V | tail -n1)"
+      update-source-version ${finalAttrs.pname} "$version"
+    '';
+  };
+
+  meta = {
+    description = "Utility to manage utmp & wtmp entries for X sessions";
+    homepage = "https://gitlab.freedesktop.org/xorg/app/sessreg";
+    license = with lib.licenses; [
+      mitOpenGroup
+      mit
+    ];
+    mainProgram = "sessreg";
+    maintainers = [ ];
+    platforms = lib.platforms.unix;
+  };
+})
diff --git a/pkgs/by-name/sf/sfwbar/package.nix b/pkgs/by-name/sf/sfwbar/package.nix
index f862473a27ec..8f832c00e8c8 100644
--- a/pkgs/by-name/sf/sfwbar/package.nix
+++ b/pkgs/by-name/sf/sfwbar/package.nix
@@ -16,18 +16,16 @@
   docutils,
   wayland-scanner,
 }:
-let
-  version = "1.0_beta16";
-in
-stdenv.mkDerivation {
+
+stdenv.mkDerivation (finalAttrs: {
   pname = "sfwbar";
-  inherit version;
+  version = "1.0_beta16.1";
 
   src = fetchFromGitHub {
     owner = "LBCrion";
     repo = "sfwbar";
-    rev = "v${version}";
-    hash = "sha256-jMEbw3Xla2cod/oKFQ4bD3sTHi7DZ0deG0H0Yt0Y7ck=";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-WA9BXX+0VR8eSdHOYLs+DoazBqVwMllQSxkubq4SkWo=";
   };
 
   buildInputs = [
@@ -57,7 +55,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = "https://github.com/LBCrion/sfwbar";
     description = "Flexible taskbar application for wayland compositors, designed with a stacking layout in mind";
-    changelog = "https://github.com/LBCrion/sfwbar/releases/tag/v${version}";
+    changelog = "https://github.com/LBCrion/sfwbar/releases/tag/v${finalAttrs.version}";
     mainProgram = "sfwbar";
     platforms = lib.platforms.linux;
     maintainers = with lib.maintainers; [
@@ -66,4 +64,4 @@ stdenv.mkDerivation {
     ];
     license = lib.licenses.gpl3Only;
   };
-}
+})
diff --git a/pkgs/by-name/sg/sgdboop/hide_desktop_entry.patch b/pkgs/by-name/sg/sgdboop/hide_desktop_entry.patch
new file mode 100644
index 000000000000..422c82fc4f29
--- /dev/null
+++ b/pkgs/by-name/sg/sgdboop/hide_desktop_entry.patch
@@ -0,0 +1,22 @@
+From a4ca664abfac0b7efa7dbc48c6438bc1a5333962 Mon Sep 17 00:00:00 2001
+From: Fazzi 
+Date: Sat, 24 May 2025 20:55:50 +0100
+Subject: [PATCH] desktopFile: hide entry from app launchers
+
+---
+ linux-release/com.steamgriddb.SGDBoop.desktop | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/linux-release/com.steamgriddb.SGDBoop.desktop b/linux-release/com.steamgriddb.SGDBoop.desktop
+index 9c84cdb..9899682 100644
+--- a/linux-release/com.steamgriddb.SGDBoop.desktop
++++ b/linux-release/com.steamgriddb.SGDBoop.desktop
+@@ -4,7 +4,7 @@ Comment=Apply Steam assets from SteamGridDB
+ Exec=SGDBoop %U
+ Terminal=false
+ Type=Application
+-NoDisplay=false
++NoDisplay=true
+ Icon=com.steamgriddb.SGDBoop
+ MimeType=x-scheme-handler/sgdb
+ Categories=Utility
diff --git a/pkgs/by-name/sg/sgdboop/package.nix b/pkgs/by-name/sg/sgdboop/package.nix
new file mode 100644
index 000000000000..6ec7d9a1c03c
--- /dev/null
+++ b/pkgs/by-name/sg/sgdboop/package.nix
@@ -0,0 +1,60 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  curl,
+  pkg-config,
+  wrapGAppsHook3,
+}:
+stdenv.mkDerivation rec {
+  pname = "sgdboop";
+  version = "1.3.1";
+
+  src = fetchFromGitHub {
+    owner = "SteamGridDB";
+    repo = "SGDBoop";
+    tag = "v${version}";
+    hash = "sha256-FpVQQo2N/qV+cFhYZ1FVm+xlPHSVMH4L+irnQEMlUQs=";
+  };
+
+  patches = [
+    # Hide the app from app launchers, as it is not meant to be run directly
+    # Remove when https://github.com/SteamGridDB/SGDBoop/pull/112 is merged
+    ./hide_desktop_entry.patch
+  ];
+
+  makeFlags = [
+    # The flatpak install just copies things to /app - otherwise wants to do things with XDG
+    "FLATPAK_ID=fake"
+  ];
+
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace-fail "/app/" "$out/"
+  '';
+
+  postInstall = ''
+    rm -r "$out/share/metainfo"
+  '';
+
+  nativeBuildInputs = [
+    pkg-config
+    wrapGAppsHook3
+  ];
+
+  buildInputs = [
+    curl
+  ];
+
+  meta = {
+    description = "Applying custom artwork to Steam, using SteamGridDB";
+    homepage = "https://github.com/SteamGridDB/SGDBoop/";
+    license = lib.licenses.zlib;
+    maintainers = with lib.maintainers; [
+      saturn745
+      fazzi
+    ];
+    mainProgram = "SGDBoop";
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/pkgs/by-name/sh/shader-slang/1-find-packages.patch b/pkgs/by-name/sh/shader-slang/1-find-packages.patch
index 2cab123bc9ff..351c306521f3 100644
--- a/pkgs/by-name/sh/shader-slang/1-find-packages.patch
+++ b/pkgs/by-name/sh/shader-slang/1-find-packages.patch
@@ -1,8 +1,8 @@
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index dc281211..c36b9bcb 100644
+index a933d0ab64..fced38bc32 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -154,6 +154,8 @@ advanced_option(
+@@ -160,6 +160,8 @@ advanced_option(
      "Build using system unordered dense"
      OFF
  )
@@ -11,7 +11,7 @@ index dc281211..c36b9bcb 100644
  
  option(
      SLANG_SPIRV_HEADERS_INCLUDE_DIR
-@@ -289,6 +291,34 @@ if(${SLANG_USE_SYSTEM_UNORDERED_DENSE})
+@@ -386,6 +388,34 @@ if(${SLANG_USE_SYSTEM_UNORDERED_DENSE})
      find_package(unordered_dense CONFIG QUIET)
  endif()
  
@@ -47,10 +47,10 @@ index dc281211..c36b9bcb 100644
  
  # webgpu_dawn is only available as a fetched shared library, since Dawn's nested source
 diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt
-index 43105a5f..8b9c0f14 100644
+index 55d9e4941d..ff8a244651 100644
 --- a/external/CMakeLists.txt
 +++ b/external/CMakeLists.txt
-@@ -73,19 +73,24 @@ if(NOT ${SLANG_USE_SYSTEM_SPIRV_HEADERS})
+@@ -117,6 +117,7 @@ if(NOT ${SLANG_USE_SYSTEM_SPIRV_HEADERS})
  endif()
  
  if(SLANG_ENABLE_SLANG_GLSLANG)
@@ -58,9 +58,10 @@ index 43105a5f..8b9c0f14 100644
      # SPIRV-Tools
      set(SPIRV_TOOLS_BUILD_STATIC ON)
      set(SPIRV_WERROR OFF)
-     set(SPIRV_HEADER_DIR "${CMAKE_CURRENT_LIST_DIR}/spirv-headers/")
-     set(SPIRV_SKIP_TESTS ON)
-     add_subdirectory(spirv-tools EXCLUDE_FROM_ALL ${system})
+@@ -138,11 +139,14 @@ if(SLANG_ENABLE_SLANG_GLSLANG)
+             ${system}
+         )
+     endif()
 +endif()
  
 +if(NOT ${SLANG_USE_SYSTEM_GLSLANG})
@@ -69,7 +70,12 @@ index 43105a5f..8b9c0f14 100644
      set(ENABLE_OPT ON)
      set(ENABLE_PCH OFF)
 +    set(ALLOW_EXTERNAL_SPIRV_TOOLS ${SLANG_USE_SYSTEM_SPIRV_TOOLS})
-     add_subdirectory(glslang EXCLUDE_FROM_ALL ${system})
+     if(NOT SLANG_OVERRIDE_GLSLANG_PATH)
+         add_subdirectory(glslang EXCLUDE_FROM_ALL ${system})
+     else()
+@@ -154,6 +158,7 @@ if(SLANG_ENABLE_SLANG_GLSLANG)
+         )
+     endif()
  endif()
 +endif()
  
diff --git a/pkgs/by-name/sh/shader-slang/package.nix b/pkgs/by-name/sh/shader-slang/package.nix
index 8bada528041d..10272a197a00 100644
--- a/pkgs/by-name/sh/shader-slang/package.nix
+++ b/pkgs/by-name/sh/shader-slang/package.nix
@@ -27,13 +27,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "shader-slang";
-  version = "2025.6.1";
+  version = "2025.8.1";
 
   src = fetchFromGitHub {
     owner = "shader-slang";
     repo = "slang";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-yNPAJX7OxxQLXDm3s7Hx5QA9fxy1qbAMp4LKYVqxMVM=";
+    hash = "sha256-PScbMkJJ4rh8I8ID709GKtLmd5+4Z2x2BlFEdWpoesI=";
     fetchSubmodules = true;
   };
 
@@ -144,6 +144,7 @@ stdenv.mkDerivation (finalAttrs: {
   meta = {
     description = "Shading language that makes it easier to build and maintain large shader codebases in a modular and extensible fashion";
     homepage = "https://github.com/shader-slang/slang";
+    changelog = "https://github.com/shader-slang/slang/releases/tag/v${finalAttrs.version}";
     license = with lib.licenses; [
       asl20
       llvm-exception
diff --git a/pkgs/by-name/sh/shaderbg/package.nix b/pkgs/by-name/sh/shaderbg/package.nix
new file mode 100644
index 000000000000..c5f526f49541
--- /dev/null
+++ b/pkgs/by-name/sh/shaderbg/package.nix
@@ -0,0 +1,41 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  meson,
+  ninja,
+  cmake,
+  pkg-config,
+  wayland-scanner,
+  wayland,
+  libGL,
+}:
+stdenv.mkDerivation {
+  pname = "shaderbg";
+  version = "0-unstable-2024-11-26";
+  src = fetchFromGitHub {
+    owner = "Mr-Pine";
+    repo = "shaderbg";
+    rev = "cf9b135069550f8d7c8411d8a53285882034331c";
+    hash = "sha256-J+fRzSTEMlT9oLVZqbstrDxuKiJTAHNTLxB8IPgdom0=";
+  };
+  nativeBuildInputs = [
+    meson
+    ninja
+    cmake
+    pkg-config
+    wayland-scanner
+  ];
+  buildInputs = [
+    wayland
+    libGL
+  ];
+  meta = {
+    description = "Shader-based live wallpaper program for compositors that support wlr-layer-shell (Sway and others)";
+    homepage = "https://github.com/Mr-Pine/shaderbg";
+    license = lib.licenses.gpl3Only;
+    maintainers = with lib.maintainers; [ bokicoder ];
+    mainProgram = "shaderbg";
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/pkgs/by-name/sh/shadowenv/package.nix b/pkgs/by-name/sh/shadowenv/package.nix
index f4eec683b660..ccde675348ab 100644
--- a/pkgs/by-name/sh/shadowenv/package.nix
+++ b/pkgs/by-name/sh/shadowenv/package.nix
@@ -7,17 +7,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "shadowenv";
-  version = "3.0.3";
+  version = "3.3.1";
 
   src = fetchFromGitHub {
     owner = "Shopify";
     repo = "shadowenv";
     rev = version;
-    hash = "sha256-ZipFcwTpKKFnQWOPxXg07V71jitG0NSLpGLEzUSsUFA=";
+    hash = "sha256-s70tNeF0FnWYZ0xLGIL1lTM0LwJdhPPIHrNgrY1YNBs=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-KNCucBmYVmIQ/XY+UNV667iWLyiEJDnP/8gAmUHGY+0=";
+  cargoHash = "sha256-Cg01yM3FbrYpZrv2dhGJnezugNhcuwDcXIU47/AWrC4=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/by-name/sh/shaperglot-cli/package.nix b/pkgs/by-name/sh/shaperglot-cli/package.nix
new file mode 100644
index 000000000000..711959f26b34
--- /dev/null
+++ b/pkgs/by-name/sh/shaperglot-cli/package.nix
@@ -0,0 +1,64 @@
+{
+  lib,
+  fetchFromGitHub,
+  rustPlatform,
+  _experimental-update-script-combinators,
+  unstableGitUpdater,
+  nix-update-script,
+}:
+
+rustPlatform.buildRustPackage (finalAttrs: {
+  pname = "shaperglot-cli";
+  version = "0-unstable-2025-05-30";
+
+  src = fetchFromGitHub {
+    owner = "googlefonts";
+    repo = "shaperglot";
+    rev = "92878be90fabb7bdd93afd81121f4ed885f33d06";
+    hash = "sha256-Hrl/SVmRCEJLk+MR5fA4H0MTjy9hGgrM/HvAK3/lLIc=";
+  };
+
+  cargoHash = "sha256-bWdO3YCWxKwgGjDdquY9COT5Ma2rRloOyWj51JZ45BE=";
+
+  cargoBuildFlags = [
+    "--package=shaperglot-cli"
+  ];
+
+  cargoTestFlags = [
+    "--package=shaperglot-cli"
+  ];
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+
+    describe_output="$("$out/bin/shaperglot" describe English)"
+    [[ "$describe_output" == *'support'* ]]
+
+    runHook postInstallCheck
+  '';
+
+  passthru = {
+    updateScript = _experimental-update-script-combinators.sequence [
+      (unstableGitUpdater {
+        branch = "main";
+        # Git tag differs from CLI version: https://github.com/googlefonts/shaperglot/issues/138
+        hardcodeZeroVersion = true;
+      })
+      (nix-update-script {
+        # Updating `cargoHash`
+        extraArgs = [ "--version=skip" ];
+      })
+    ];
+  };
+
+  meta = {
+    description = "Test font files for language support";
+    homepage = "https://github.com/googlefonts/shaperglot";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [
+      kachick
+    ];
+    mainProgram = "shaperglot";
+  };
+})
diff --git a/pkgs/by-name/sh/shellhub-agent/package.nix b/pkgs/by-name/sh/shellhub-agent/package.nix
index 1131ec60fa85..b568bf7fd241 100644
--- a/pkgs/by-name/sh/shellhub-agent/package.nix
+++ b/pkgs/by-name/sh/shellhub-agent/package.nix
@@ -12,18 +12,18 @@
 
 buildGoModule rec {
   pname = "shellhub-agent";
-  version = "0.18.3";
+  version = "0.19.1";
 
   src = fetchFromGitHub {
     owner = "shellhub-io";
     repo = "shellhub";
     rev = "v${version}";
-    hash = "sha256-ByKj9rnRGS3B+BEqeo7QJvjSxVXytOXydmZMx7lK8Xc=";
+    hash = "sha256-xFCUq1x9C+W1xxo6UIpW7ej7ltquvEqNUUvvF86rA9o=";
   };
 
   modRoot = "./agent";
 
-  vendorHash = "sha256-L+oww1HlPWgAYK16OG5bWiDb/OW7uarY8LZyw9b85ac=";
+  vendorHash = "sha256-VjxgBXPrgwm8L3VIy7eLG2pVP+iYnpn1oR+ARRh3EAQ=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/sh/sherlock-launcher/package.nix b/pkgs/by-name/sh/sherlock-launcher/package.nix
index 57829b9f2a8d..59579a156e9c 100644
--- a/pkgs/by-name/sh/sherlock-launcher/package.nix
+++ b/pkgs/by-name/sh/sherlock-launcher/package.nix
@@ -10,17 +10,20 @@
   wayland,
   openssl,
   sqlite,
+  gdk-pixbuf,
+  librsvg,
+  nix-update-script,
 }:
 
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "sherlock-launcher";
-  version = "0.1.12";
+  version = "0.1.13-hotfix-1";
 
   src = fetchFromGitHub {
     owner = "Skxxtz";
     repo = "sherlock";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-r3cXrcpczI5xJUhCxabYLv2YImvA+Ixi+oZJnLS0WoY=";
+    hash = "sha256-h8/72EipLTssik2I4GSfBRSc34ecAm0L39wA9hnGrR4=";
   };
 
   nativeBuildInputs = [
@@ -36,9 +39,13 @@ rustPlatform.buildRustPackage (finalAttrs: {
     sqlite
     glib
     wayland
+    gdk-pixbuf
+    librsvg
   ];
 
-  cargoHash = "sha256-zgvTMjDycqrHpcXonAP6vZSIv4IQQslyl19xpb74mSg=";
+  cargoHash = "sha256-F2jXCJnj2kGPANXSzx65DfKxKgXtwR0xRNFZie6PYx0=";
+
+  passthru.updateScript = nix-update-script { };
 
   meta = {
     description = "Lightweight and efficient application launcher for Wayland built with Rust and GTK4";
diff --git a/pkgs/by-name/sh/shogihome/package.nix b/pkgs/by-name/sh/shogihome/package.nix
index 31fbead6651d..02459a2d722e 100644
--- a/pkgs/by-name/sh/shogihome/package.nix
+++ b/pkgs/by-name/sh/shogihome/package.nix
@@ -117,7 +117,11 @@ buildNpmPackage (finalAttrs: {
       genericName = "Shogi Frontend";
       comment = finalAttrs.meta.description;
       categories = [ "Game" ];
-      startupWMClass = "ShogiHome";
+
+      # The project was renamed "shogihome" from "electron-shogi."
+      # Some references to "electron-shogi" remain for compatibility.
+      # ref: https://github.com/sunfish-shogi/shogihome/commit/e5bbc4d43d231df23ac31c655adb64e11890993e
+      startupWMClass = "electron-shogi";
     })
   ];
 
diff --git a/pkgs/by-name/sh/shopware-cli/package.nix b/pkgs/by-name/sh/shopware-cli/package.nix
index 99eece4824bc..de01cc520de0 100644
--- a/pkgs/by-name/sh/shopware-cli/package.nix
+++ b/pkgs/by-name/sh/shopware-cli/package.nix
@@ -10,12 +10,12 @@
 
 buildGoModule rec {
   pname = "shopware-cli";
-  version = "0.6.3";
+  version = "0.6.8";
   src = fetchFromGitHub {
     repo = "shopware-cli";
     owner = "FriendsOfShopware";
     tag = version;
-    hash = "sha256-UkLzjW3Ak+bMw+nRqlaojeJ67cxadkvufZ/pn1nTmoM=";
+    hash = "sha256-vLy3HWHfsUaf80iuBUYYAP87wJNke8/h48r3Db18kFQ=";
   };
 
   nativeBuildInputs = [
@@ -27,7 +27,7 @@ buildGoModule rec {
     dart-sass
   ];
 
-  vendorHash = "sha256-bNno3YGfm/3MLMtp3N2XX4UwXNZ0lusjIjnZJlke09Q=";
+  vendorHash = "sha256-pidR7b4k3PG9FVHJ5oWz2nYtCZwE8SlBjQqqvyFPNzM=";
 
   postInstall = ''
     installShellCompletion --cmd shopware-cli \
diff --git a/pkgs/by-name/sh/shottr/package.nix b/pkgs/by-name/sh/shottr/package.nix
new file mode 100644
index 000000000000..4de63b3f11a3
--- /dev/null
+++ b/pkgs/by-name/sh/shottr/package.nix
@@ -0,0 +1,65 @@
+{
+  lib,
+  stdenvNoCC,
+  fetchurl,
+  writeShellApplication,
+  cacert,
+  curl,
+  common-updater-scripts,
+  pup,
+  undmg,
+}:
+
+stdenvNoCC.mkDerivation (finalAttrs: {
+  pname = "shottr";
+  version = "1.8.1";
+
+  src = fetchurl {
+    url = "https://shottr.cc/dl/Shottr-${finalAttrs.version}.dmg";
+    hash = "sha256-I3LNLuhIRdjKDn79HWRK2B/tVsV+1aGt/aY442y3r2I=";
+  };
+
+  nativeBuildInputs = [ undmg ];
+
+  sourceRoot = ".";
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p "$out/Applications"
+    cp -R Shottr.app "$out/Applications"
+
+    mkdir -p "$out/bin"
+    ln -s "$out/Applications/Shottr.app/Contents/MacOS/Shottr" "$out/bin/shottr"
+
+    runHook postInstall
+  '';
+
+  passthru.updateScript = lib.getExe (writeShellApplication {
+    name = "shottr-update-script";
+    runtimeInputs = [
+      cacert
+      common-updater-scripts
+      curl
+      pup
+    ];
+    text = ''
+      version="$(curl -s https://shottr.cc/newversion.html \
+        | pup 'a[href*="Shottr-"] attr{href}' \
+        | sed -E 's|/dl/Shottr-||' \
+        | sed -E 's|\.dmg||')"
+      update-source-version shottr "$version"
+    '';
+  });
+
+  meta = {
+    changelog = "https://shottr.cc/newversion.html";
+    description = "MacOS screenshot app with scrolling screenshots, OCR, annotation and measurement instruments";
+    homepage = "https://shottr.cc/";
+    license = lib.licenses.unfree;
+    mainProgram = "shottr";
+    maintainers = with lib.maintainers; [ donteatoreo ];
+    platforms = lib.platforms.darwin;
+    sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
+  };
+})
diff --git a/pkgs/by-name/sh/shotwell/package.nix b/pkgs/by-name/sh/shotwell/package.nix
index e745c4c2f318..cfa106cf00a9 100644
--- a/pkgs/by-name/sh/shotwell/package.nix
+++ b/pkgs/by-name/sh/shotwell/package.nix
@@ -40,11 +40,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "shotwell";
-  version = "0.32.10";
+  version = "0.32.13";
 
   src = fetchurl {
     url = "mirror://gnome/sources/shotwell/${lib.versions.majorMinor finalAttrs.version}/shotwell-${finalAttrs.version}.tar.xz";
-    sha256 = "sha256-JuRaYbVDGwlv/NF28RW9B76ad6aDNYmVQhBuGeB/QA4=";
+    sha256 = "sha256-vdPoT2AuL8frQoQ8kKJes6pJ+y/7de21HbAb0pBdvR4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/si/sideswap/libsideswap-client.nix b/pkgs/by-name/si/sideswap/libsideswap-client.nix
new file mode 100644
index 000000000000..d98cfcd56101
--- /dev/null
+++ b/pkgs/by-name/si/sideswap/libsideswap-client.nix
@@ -0,0 +1,56 @@
+{
+  lib,
+  rustPlatform,
+  fetchFromGitHub,
+  pkg-config,
+  systemd,
+  protobuf,
+}:
+
+rustPlatform.buildRustPackage (finalAttrs: {
+  pname = "libsideswap-client";
+  version = "0-unstable-2025-06-05";
+
+  # This version is pinned in https://github.com/sideswap-io/sideswapclient/blob/v1.8.0/deploy/build_linux.sh
+  src = fetchFromGitHub {
+    owner = "sideswap-io";
+    repo = "sideswap_rust";
+    rev = "0ba7485f77c86d1a6ae64a0cfedba22afe4ed98a";
+    hash = "sha256-6qfFpCE6DMZlKuhQbXjJmmb8rPxFB2TA7CpOk06tuDk=";
+  };
+
+  cargoHash = "sha256-ecftCyNMRWdFP5SDEmLnssTVSfg9mo/TQEqyeDj4VpQ=";
+
+  # sideswap_client uses vergen to detect Git commit hash at build time. It
+  # tries to access .git directory which is not present in Nix build dir.
+  # Here we patch that place to use a hardcoded commit hash instead.
+  postPatch = ''
+    substituteInPlace sideswap_client/src/ffi.rs \
+      --replace-fail 'env!("VERGEN_GIT_SHA");' '"${finalAttrs.src.rev}";'
+
+    substituteInPlace sideswap_client/build.rs \
+      --replace-fail 'vergen::vergen(vergen::Config::default()).unwrap();' ' '
+  '';
+
+  # This is needed for pkg-config to find libudev. It is a part of systemd.
+  nativeBuildInputs = [
+    pkg-config
+    protobuf
+  ];
+  buildInputs = [ systemd ];
+
+  cargoBuildFlags = [
+    "--package"
+    "sideswap_client"
+  ];
+
+  # Test gdk_registry_cache::tests::basic hangs in Nix build invironment.
+  doCheck = false;
+
+  meta = {
+    description = "Rust library for Sideswap";
+    license = lib.licenses.mit;
+    platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ starius ];
+  };
+})
diff --git a/pkgs/by-name/si/sideswap/package.nix b/pkgs/by-name/si/sideswap/package.nix
new file mode 100644
index 000000000000..600a25c27387
--- /dev/null
+++ b/pkgs/by-name/si/sideswap/package.nix
@@ -0,0 +1,83 @@
+{
+  lib,
+  fetchFromGitHub,
+  flutter332,
+  mesa,
+  libglvnd,
+  callPackage,
+  makeDesktopItem,
+  copyDesktopItems,
+}:
+
+let
+  # The Rust library is used by the main application.
+  libsideswap-client = callPackage ./libsideswap-client.nix { };
+in
+
+flutter332.buildFlutterApplication rec {
+  pname = "sideswap";
+  version = "1.8.0";
+
+  src = fetchFromGitHub {
+    owner = "sideswap-io";
+    repo = "sideswapclient";
+    tag = "v${version}";
+    hash = "sha256-IUUMlaEIUil07nhjep1I+F1WEWakQZfhy42ZlnyRLcQ=";
+  };
+
+  pubspecLock = lib.importJSON ./pubspec.lock.json;
+
+  gitHashes = {
+    sideswap_logger = "sha256-cTJfSODRmIJXctLQ++BfvJ6OKflau94AjQdXg7j95B0=";
+    sideswap_websocket = "sha256-vsG5eUFu/WJvY3y6jaWD/5GfULwpqh3bO4EZmmBSkbs=";
+    window_size = "sha256-+lqY46ZURT0qcqPvHFXUnd83Uvfq79Xr+rw1AHqrpak=";
+  };
+
+  # Provide OpenGL and libsideswap_client.so for the Flutter application.
+  extraWrapProgramArgs = ''
+    --set LD_LIBRARY_PATH ${
+      lib.makeLibraryPath [
+        mesa
+        libglvnd
+        libsideswap-client
+      ]
+    }
+  '';
+
+  # Install icons.
+  postInstall = ''
+    install -D -m644 assets/icon/icon_linux.svg $out/share/icons/hicolor/scalable/apps/sideswap.svg
+    install -D -m644 assets/icon/icon_linux.png $out/share/icons/hicolor/256x256/apps/sideswap.png
+  '';
+
+  # Install .desktop file.
+  desktopItems = [
+    (makeDesktopItem {
+      name = "sideswap";
+      exec = meta.mainProgram;
+      desktopName = "SideSwap";
+      genericName = "L-USDT Wallet";
+      icon = "sideswap";
+      comment = meta.description;
+      categories = [
+        "Finance"
+        "Network"
+      ];
+      startupNotify = true;
+      startupWMClass = "Sideswap";
+      terminal = false;
+    })
+  ];
+  nativeBuildInputs = [
+    copyDesktopItems
+  ];
+
+  meta = {
+    description = "Cross‑platform, non‑custodial wallet and atomic swap marketplace for the Liquid Network";
+    homepage = "https://sideswap.io/";
+    license = lib.licenses.gpl3Only;
+    mainProgram = "sideswap";
+    platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ starius ];
+  };
+}
diff --git a/pkgs/by-name/si/sideswap/pubspec.lock.json b/pkgs/by-name/si/sideswap/pubspec.lock.json
new file mode 100644
index 000000000000..39cce7ee2e2d
--- /dev/null
+++ b/pkgs/by-name/si/sideswap/pubspec.lock.json
@@ -0,0 +1,2566 @@
+{
+  "packages": {
+    "_fe_analyzer_shared": {
+      "dependency": "transitive",
+      "description": {
+        "name": "_fe_analyzer_shared",
+        "sha256": "e55636ed79578b9abca5fecf9437947798f5ef7456308b5cb85720b793eac92f",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "82.0.0"
+    },
+    "_flutterfire_internals": {
+      "dependency": "transitive",
+      "description": {
+        "name": "_flutterfire_internals",
+        "sha256": "214e6f07e2a44f45972e0365c7b537eaeaddb4598db0778dd4ac64b4acd3f5b1",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.3.55"
+    },
+    "analyzer": {
+      "dependency": "transitive",
+      "description": {
+        "name": "analyzer",
+        "sha256": "904ae5bb474d32c38fb9482e2d925d5454cda04ddd0e55d2e6826bc72f6ba8c0",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "7.4.5"
+    },
+    "analyzer_plugin": {
+      "dependency": "transitive",
+      "description": {
+        "name": "analyzer_plugin",
+        "sha256": "ee188b6df6c85f1441497c7171c84f1392affadc0384f71089cb10a3bc508cef",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.13.1"
+    },
+    "animations": {
+      "dependency": "direct main",
+      "description": {
+        "name": "animations",
+        "sha256": "d3d6dcfb218225bbe68e87ccf6378bbb2e32a94900722c5f81611dad089911cb",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.0.11"
+    },
+    "another_flushbar": {
+      "dependency": "direct main",
+      "description": {
+        "name": "another_flushbar",
+        "sha256": "19bf9520230ec40b300aaf9dd2a8fefcb277b25ecd1c4838f530566965befc2a",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.12.30"
+    },
+    "app_links": {
+      "dependency": "direct main",
+      "description": {
+        "name": "app_links",
+        "sha256": "85ed8fc1d25a76475914fff28cc994653bd900bc2c26e4b57a49e097febb54ba",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "6.4.0"
+    },
+    "app_links_linux": {
+      "dependency": "transitive",
+      "description": {
+        "name": "app_links_linux",
+        "sha256": "f5f7173a78609f3dfd4c2ff2c95bd559ab43c80a87dc6a095921d96c05688c81",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.3"
+    },
+    "app_links_platform_interface": {
+      "dependency": "transitive",
+      "description": {
+        "name": "app_links_platform_interface",
+        "sha256": "05f5379577c513b534a29ddea68176a4d4802c46180ee8e2e966257158772a3f",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.0.2"
+    },
+    "app_links_web": {
+      "dependency": "transitive",
+      "description": {
+        "name": "app_links_web",
+        "sha256": "af060ed76183f9e2b87510a9480e56a5352b6c249778d07bd2c95fc35632a555",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.4"
+    },
+    "archive": {
+      "dependency": "transitive",
+      "description": {
+        "name": "archive",
+        "sha256": "2fde1607386ab523f7a36bb3e7edb43bd58e6edaf2ffb29d8a6d578b297fdbbd",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.0.7"
+    },
+    "args": {
+      "dependency": "direct main",
+      "description": {
+        "name": "args",
+        "sha256": "d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.7.0"
+    },
+    "async": {
+      "dependency": "direct main",
+      "description": {
+        "name": "async",
+        "sha256": "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.13.0"
+    },
+    "basic_utils": {
+      "dependency": "transitive",
+      "description": {
+        "name": "basic_utils",
+        "sha256": "548047bef0b3b697be19fa62f46de54d99c9019a69fb7db92c69e19d87f633c7",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "5.8.2"
+    },
+    "boolean_selector": {
+      "dependency": "transitive",
+      "description": {
+        "name": "boolean_selector",
+        "sha256": "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.1.2"
+    },
+    "build": {
+      "dependency": "transitive",
+      "description": {
+        "name": "build",
+        "sha256": "cef23f1eda9b57566c81e2133d196f8e3df48f244b317368d65c5943d91148f0",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.4.2"
+    },
+    "build_config": {
+      "dependency": "transitive",
+      "description": {
+        "name": "build_config",
+        "sha256": "4ae2de3e1e67ea270081eaee972e1bd8f027d459f249e0f1186730784c2e7e33",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.2"
+    },
+    "build_daemon": {
+      "dependency": "transitive",
+      "description": {
+        "name": "build_daemon",
+        "sha256": "8e928697a82be082206edb0b9c99c5a4ad6bc31c9e9b8b2f291ae65cd4a25daa",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.0.4"
+    },
+    "build_resolvers": {
+      "dependency": "transitive",
+      "description": {
+        "name": "build_resolvers",
+        "sha256": "b9e4fda21d846e192628e7a4f6deda6888c36b5b69ba02ff291a01fd529140f0",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.4.4"
+    },
+    "build_runner": {
+      "dependency": "direct dev",
+      "description": {
+        "name": "build_runner",
+        "sha256": "058fe9dce1de7d69c4b84fada934df3e0153dd000758c4d65964d0166779aa99",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.4.15"
+    },
+    "build_runner_core": {
+      "dependency": "transitive",
+      "description": {
+        "name": "build_runner_core",
+        "sha256": "22e3aa1c80e0ada3722fe5b63fd43d9c8990759d0a2cf489c8c5d7b2bdebc021",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "8.0.0"
+    },
+    "built_collection": {
+      "dependency": "transitive",
+      "description": {
+        "name": "built_collection",
+        "sha256": "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "5.1.1"
+    },
+    "built_value": {
+      "dependency": "transitive",
+      "description": {
+        "name": "built_value",
+        "sha256": "082001b5c3dc495d4a42f1d5789990505df20d8547d42507c29050af6933ee27",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "8.10.1"
+    },
+    "cached_memory_image": {
+      "dependency": "direct main",
+      "description": {
+        "name": "cached_memory_image",
+        "sha256": "b44be7e551599a393574f74fe33ca73272dc0b32a13a442382c4b2b69a83f286",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.5.0"
+    },
+    "candlesticks": {
+      "dependency": "direct main",
+      "description": {
+        "path": "thirdparty/candlesticks",
+        "relative": true
+      },
+      "source": "path",
+      "version": "2.1.0"
+    },
+    "characters": {
+      "dependency": "transitive",
+      "description": {
+        "name": "characters",
+        "sha256": "f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.4.0"
+    },
+    "checked_yaml": {
+      "dependency": "transitive",
+      "description": {
+        "name": "checked_yaml",
+        "sha256": "feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.0.3"
+    },
+    "ci": {
+      "dependency": "transitive",
+      "description": {
+        "name": "ci",
+        "sha256": "145d095ce05cddac4d797a158bc4cf3b6016d1fe63d8c3d2fbd7212590adca13",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.1.0"
+    },
+    "cli_util": {
+      "dependency": "transitive",
+      "description": {
+        "name": "cli_util",
+        "sha256": "ff6785f7e9e3c38ac98b2fb035701789de90154024a75b6cb926445e83197d1c",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.4.2"
+    },
+    "clock": {
+      "dependency": "transitive",
+      "description": {
+        "name": "clock",
+        "sha256": "fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.2"
+    },
+    "code_builder": {
+      "dependency": "transitive",
+      "description": {
+        "name": "code_builder",
+        "sha256": "0ec10bf4a89e4c613960bf1e8b42c64127021740fb21640c29c909826a5eea3e",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.10.1"
+    },
+    "collection": {
+      "dependency": "direct main",
+      "description": {
+        "name": "collection",
+        "sha256": "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.19.1"
+    },
+    "convert": {
+      "dependency": "transitive",
+      "description": {
+        "name": "convert",
+        "sha256": "b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.1.2"
+    },
+    "cross_file": {
+      "dependency": "transitive",
+      "description": {
+        "name": "cross_file",
+        "sha256": "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.3.4+2"
+    },
+    "crypto": {
+      "dependency": "transitive",
+      "description": {
+        "name": "crypto",
+        "sha256": "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.0.6"
+    },
+    "csv": {
+      "dependency": "direct main",
+      "description": {
+        "name": "csv",
+        "sha256": "c6aa2679b2a18cb57652920f674488d89712efaf4d3fdf2e537215b35fc19d6c",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "6.0.0"
+    },
+    "cupertino_icons": {
+      "dependency": "direct main",
+      "description": {
+        "name": "cupertino_icons",
+        "sha256": "ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.8"
+    },
+    "custom_lint": {
+      "dependency": "transitive",
+      "description": {
+        "name": "custom_lint",
+        "sha256": "409c485fd14f544af1da965d5a0d160ee57cd58b63eeaa7280a4f28cf5bda7f1",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.7.5"
+    },
+    "custom_lint_builder": {
+      "dependency": "transitive",
+      "description": {
+        "name": "custom_lint_builder",
+        "sha256": "107e0a43606138015777590ee8ce32f26ba7415c25b722ff0908a6f5d7a4c228",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.7.5"
+    },
+    "custom_lint_core": {
+      "dependency": "transitive",
+      "description": {
+        "name": "custom_lint_core",
+        "sha256": "31110af3dde9d29fb10828ca33f1dce24d2798477b167675543ce3d208dee8be",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.7.5"
+    },
+    "custom_lint_visitor": {
+      "dependency": "transitive",
+      "description": {
+        "name": "custom_lint_visitor",
+        "sha256": "cba5b6d7a6217312472bf4468cdf68c949488aed7ffb0eab792cd0b6c435054d",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.0+7.4.5"
+    },
+    "dart_style": {
+      "dependency": "transitive",
+      "description": {
+        "name": "dart_style",
+        "sha256": "5b236382b47ee411741447c1f1e111459c941ea1b3f2b540dde54c210a3662af",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.1.0"
+    },
+    "dbus": {
+      "dependency": "transitive",
+      "description": {
+        "name": "dbus",
+        "sha256": "79e0c23480ff85dc68de79e2cd6334add97e48f7f4865d17686dd6ea81a47e8c",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.7.11"
+    },
+    "decimal": {
+      "dependency": "direct main",
+      "description": {
+        "name": "decimal",
+        "sha256": "28239b8b929c1bd8618702e6dbc96e2618cf99770bbe9cb040d6cf56a11e4ec3",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.2.1"
+    },
+    "delayed_display": {
+      "dependency": "direct main",
+      "description": {
+        "name": "delayed_display",
+        "sha256": "8d722bb730071b872cef2bc0b07ef20549ebd269087a16ed1c5696896246c296",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.0.0"
+    },
+    "device_info_plus": {
+      "dependency": "transitive",
+      "description": {
+        "name": "device_info_plus",
+        "sha256": "0c6396126421b590089447154c5f98a5de423b70cfb15b1578fd018843ee6f53",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "11.4.0"
+    },
+    "device_info_plus_platform_interface": {
+      "dependency": "transitive",
+      "description": {
+        "name": "device_info_plus_platform_interface",
+        "sha256": "0b04e02b30791224b31969eb1b50d723498f402971bff3630bca2ba839bd1ed2",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "7.0.2"
+    },
+    "dotted_line": {
+      "dependency": "direct main",
+      "description": {
+        "name": "dotted_line",
+        "sha256": "41e3d655939559815daa1370fc1e07673a205fa628cf40ce3af45d90029a77b6",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.2.3"
+    },
+    "easy_localization": {
+      "dependency": "direct main",
+      "description": {
+        "name": "easy_localization",
+        "sha256": "0f5239c7b8ab06c66440cfb0e9aa4b4640429c6668d5a42fe389c5de42220b12",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.0.7+1"
+    },
+    "easy_logger": {
+      "dependency": "direct main",
+      "description": {
+        "name": "easy_logger",
+        "sha256": "c764a6e024846f33405a2342caf91c62e357c24b02c04dbc712ef232bf30ffb7",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.0.2"
+    },
+    "enum_to_string": {
+      "dependency": "direct main",
+      "description": {
+        "name": "enum_to_string",
+        "sha256": "93b75963d3b0c9f6a90c095b3af153e1feccb79f6f08282d3274ff8d9eea52bc",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.2.1"
+    },
+    "equatable": {
+      "dependency": "direct main",
+      "description": {
+        "name": "equatable",
+        "sha256": "567c64b3cb4cf82397aac55f4f0cbd3ca20d77c6c03bedbc4ceaddc08904aef7",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.0.7"
+    },
+    "fading_edge_scrollview": {
+      "dependency": "transitive",
+      "description": {
+        "name": "fading_edge_scrollview",
+        "sha256": "1f84fe3ea8e251d00d5735e27502a6a250e4aa3d3b330d3fdcb475af741464ef",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.1.1"
+    },
+    "fake_async": {
+      "dependency": "transitive",
+      "description": {
+        "name": "fake_async",
+        "sha256": "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.3.3"
+    },
+    "faker": {
+      "dependency": "direct main",
+      "description": {
+        "name": "faker",
+        "sha256": "544c34e9e1d322824156d5a8d451bc1bb778263b892aded24ec7ba77b0706624",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.2.0"
+    },
+    "ffi": {
+      "dependency": "direct main",
+      "description": {
+        "name": "ffi",
+        "sha256": "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.1.4"
+    },
+    "file": {
+      "dependency": "transitive",
+      "description": {
+        "name": "file",
+        "sha256": "a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "7.0.1"
+    },
+    "file_selector": {
+      "dependency": "direct main",
+      "description": {
+        "name": "file_selector",
+        "sha256": "5019692b593455127794d5718304ff1ae15447dea286cdda9f0db2a796a1b828",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.3"
+    },
+    "file_selector_android": {
+      "dependency": "transitive",
+      "description": {
+        "name": "file_selector_android",
+        "sha256": "6bba3d590ee9462758879741abc132a19133600dd31832f55627442f1ebd7b54",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.5.1+14"
+    },
+    "file_selector_ios": {
+      "dependency": "transitive",
+      "description": {
+        "name": "file_selector_ios",
+        "sha256": "94b98ad950b8d40d96fee8fa88640c2e4bd8afcdd4817993bd04e20310f45420",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.5.3+1"
+    },
+    "file_selector_linux": {
+      "dependency": "transitive",
+      "description": {
+        "name": "file_selector_linux",
+        "sha256": "54cbbd957e1156d29548c7d9b9ec0c0ebb6de0a90452198683a7d23aed617a33",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.9.3+2"
+    },
+    "file_selector_macos": {
+      "dependency": "transitive",
+      "description": {
+        "name": "file_selector_macos",
+        "sha256": "8c9250b2bd2d8d4268e39c82543bacbaca0fda7d29e0728c3c4bbb7c820fd711",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.9.4+3"
+    },
+    "file_selector_platform_interface": {
+      "dependency": "transitive",
+      "description": {
+        "name": "file_selector_platform_interface",
+        "sha256": "a3994c26f10378a039faa11de174d7b78eb8f79e4dd0af2a451410c1a5c3f66b",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.6.2"
+    },
+    "file_selector_web": {
+      "dependency": "transitive",
+      "description": {
+        "name": "file_selector_web",
+        "sha256": "c4c0ea4224d97a60a7067eca0c8fd419e708ff830e0c83b11a48faf566cec3e7",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.9.4+2"
+    },
+    "file_selector_windows": {
+      "dependency": "transitive",
+      "description": {
+        "name": "file_selector_windows",
+        "sha256": "320fcfb6f33caa90f0b58380489fc5ac05d99ee94b61aa96ec2bff0ba81d3c2b",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.9.3+4"
+    },
+    "firebase_core": {
+      "dependency": "transitive",
+      "description": {
+        "name": "firebase_core",
+        "sha256": "8cfe3c900512399ce8d50fcc817e5758ff8615eeb6fa5c846a4cc47bbf6353b6",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.13.1"
+    },
+    "firebase_core_platform_interface": {
+      "dependency": "transitive",
+      "description": {
+        "name": "firebase_core_platform_interface",
+        "sha256": "d7253d255ff10f85cfd2adaba9ac17bae878fa3ba577462451163bd9f1d1f0bf",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "5.4.0"
+    },
+    "firebase_core_web": {
+      "dependency": "transitive",
+      "description": {
+        "name": "firebase_core_web",
+        "sha256": "ddd72baa6f727e5b23f32d9af23d7d453d67946f380bd9c21daf474ee0f7326e",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.23.0"
+    },
+    "firebase_messaging": {
+      "dependency": "transitive",
+      "description": {
+        "name": "firebase_messaging",
+        "sha256": "38111089e511f03daa2c66b4c3614c16421b7d78c84ee04331a0a65b47df4542",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "15.2.6"
+    },
+    "firebase_messaging_platform_interface": {
+      "dependency": "transitive",
+      "description": {
+        "name": "firebase_messaging_platform_interface",
+        "sha256": "ba254769982e5f439e534eed68856181c74e2b3f417c8188afad2bb440807cc7",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.6.6"
+    },
+    "firebase_messaging_web": {
+      "dependency": "transitive",
+      "description": {
+        "name": "firebase_messaging_web",
+        "sha256": "dba89137272aac39e95f71408ba25c33fb8ed903cd5fa8d1e49b5cd0d96069e0",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.10.6"
+    },
+    "fixnum": {
+      "dependency": "direct main",
+      "description": {
+        "name": "fixnum",
+        "sha256": "b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.1"
+    },
+    "flutter": {
+      "dependency": "direct main",
+      "description": "flutter",
+      "source": "sdk",
+      "version": "0.0.0"
+    },
+    "flutter_animate": {
+      "dependency": "direct main",
+      "description": {
+        "name": "flutter_animate",
+        "sha256": "7befe2d3252728afb77aecaaea1dec88a89d35b9b1d2eea6d04479e8af9117b5",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.5.2"
+    },
+    "flutter_cache_manager": {
+      "dependency": "direct main",
+      "description": {
+        "name": "flutter_cache_manager",
+        "sha256": "400b6592f16a4409a7f2bb929a9a7e38c72cceb8ffb99ee57bbf2cb2cecf8386",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.4.1"
+    },
+    "flutter_contacts": {
+      "dependency": "direct main",
+      "description": {
+        "name": "flutter_contacts",
+        "sha256": "388d32cd33f16640ee169570128c933b45f3259bddbfae7a100bb49e5ffea9ae",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.9+2"
+    },
+    "flutter_hooks": {
+      "dependency": "direct main",
+      "description": {
+        "name": "flutter_hooks",
+        "sha256": "b772e710d16d7a20c0740c4f855095026b31c7eb5ba3ab67d2bd52021cd9461d",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.21.2"
+    },
+    "flutter_keyboard_visibility": {
+      "dependency": "direct overridden",
+      "description": {
+        "name": "flutter_keyboard_visibility",
+        "sha256": "98664be7be0e3ffca00de50f7f6a287ab62c763fc8c762e0a21584584a3ff4f8",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "6.0.0"
+    },
+    "flutter_keyboard_visibility_linux": {
+      "dependency": "transitive",
+      "description": {
+        "name": "flutter_keyboard_visibility_linux",
+        "sha256": "6fba7cd9bb033b6ddd8c2beb4c99ad02d728f1e6e6d9b9446667398b2ac39f08",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.0"
+    },
+    "flutter_keyboard_visibility_macos": {
+      "dependency": "transitive",
+      "description": {
+        "name": "flutter_keyboard_visibility_macos",
+        "sha256": "c5c49b16fff453dfdafdc16f26bdd8fb8d55812a1d50b0ce25fc8d9f2e53d086",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.0"
+    },
+    "flutter_keyboard_visibility_platform_interface": {
+      "dependency": "transitive",
+      "description": {
+        "name": "flutter_keyboard_visibility_platform_interface",
+        "sha256": "e43a89845873f7be10cb3884345ceb9aebf00a659f479d1c8f4293fcb37022a4",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.0.0"
+    },
+    "flutter_keyboard_visibility_web": {
+      "dependency": "transitive",
+      "description": {
+        "name": "flutter_keyboard_visibility_web",
+        "sha256": "d3771a2e752880c79203f8d80658401d0c998e4183edca05a149f5098ce6e3d1",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.0.0"
+    },
+    "flutter_keyboard_visibility_windows": {
+      "dependency": "transitive",
+      "description": {
+        "name": "flutter_keyboard_visibility_windows",
+        "sha256": "fc4b0f0b6be9b93ae527f3d527fb56ee2d918cd88bbca438c478af7bcfd0ef73",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.0"
+    },
+    "flutter_lints": {
+      "dependency": "direct main",
+      "description": {
+        "name": "flutter_lints",
+        "sha256": "3105dc8492f6183fb076ccf1f351ac3d60564bff92e20bfc4af9cc1651f4e7e1",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "6.0.0"
+    },
+    "flutter_local_notifications": {
+      "dependency": "direct main",
+      "description": {
+        "name": "flutter_local_notifications",
+        "sha256": "b94a50aabbe56ef254f95f3be75640f99120429f0a153b2dc30143cffc9bfdf3",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "19.2.1"
+    },
+    "flutter_local_notifications_linux": {
+      "dependency": "transitive",
+      "description": {
+        "name": "flutter_local_notifications_linux",
+        "sha256": "e3c277b2daab8e36ac5a6820536668d07e83851aeeb79c446e525a70710770a5",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "6.0.0"
+    },
+    "flutter_local_notifications_platform_interface": {
+      "dependency": "transitive",
+      "description": {
+        "name": "flutter_local_notifications_platform_interface",
+        "sha256": "2569b973fc9d1f63a37410a9f7c1c552081226c597190cb359ef5d5762d1631c",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "9.0.0"
+    },
+    "flutter_local_notifications_windows": {
+      "dependency": "transitive",
+      "description": {
+        "name": "flutter_local_notifications_windows",
+        "sha256": "f8fc0652a601f83419d623c85723a3e82ad81f92b33eaa9bcc21ea1b94773e6e",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.0"
+    },
+    "flutter_localizations": {
+      "dependency": "transitive",
+      "description": "flutter",
+      "source": "sdk",
+      "version": "0.0.0"
+    },
+    "flutter_plugin_android_lifecycle": {
+      "dependency": "direct main",
+      "description": {
+        "name": "flutter_plugin_android_lifecycle",
+        "sha256": "f948e346c12f8d5480d2825e03de228d0eb8c3a737e4cdaa122267b89c022b5e",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.0.28"
+    },
+    "flutter_riverpod": {
+      "dependency": "transitive",
+      "description": {
+        "name": "flutter_riverpod",
+        "sha256": "9532ee6db4a943a1ed8383072a2e3eeda041db5657cdf6d2acecf3c21ecbe7e1",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.6.1"
+    },
+    "flutter_shaders": {
+      "dependency": "transitive",
+      "description": {
+        "name": "flutter_shaders",
+        "sha256": "34794acadd8275d971e02df03afee3dee0f98dbfb8c4837082ad0034f612a3e2",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.1.3"
+    },
+    "flutter_spinkit": {
+      "dependency": "direct main",
+      "description": {
+        "name": "flutter_spinkit",
+        "sha256": "d2696eed13732831414595b98863260e33e8882fc069ee80ec35d4ac9ddb0472",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "5.2.1"
+    },
+    "flutter_svg": {
+      "dependency": "direct main",
+      "description": {
+        "name": "flutter_svg",
+        "sha256": "d44bf546b13025ec7353091516f6881f1d4c633993cb109c3916c3a0159dadf1",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.1.0"
+    },
+    "flutter_switch": {
+      "dependency": "direct main",
+      "description": {
+        "name": "flutter_switch",
+        "sha256": "b91477f926bba135d2d203d7b24367492662d8d9c3aa6adb960b14c1087d3c41",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.3.2"
+    },
+    "flutter_test": {
+      "dependency": "direct dev",
+      "description": "flutter",
+      "source": "sdk",
+      "version": "0.0.0"
+    },
+    "flutter_typeahead": {
+      "dependency": "direct main",
+      "description": {
+        "name": "flutter_typeahead",
+        "sha256": "b9942bd5b7611a6ec3f0730c477146cffa4cd4b051077983ba67ddfc9e7ee818",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.8.0"
+    },
+    "flutter_web_plugins": {
+      "dependency": "transitive",
+      "description": "flutter",
+      "source": "sdk",
+      "version": "0.0.0"
+    },
+    "fpdart": {
+      "dependency": "direct main",
+      "description": {
+        "name": "fpdart",
+        "sha256": "1b84ce64453974159f08046f5d05592020d1fcb2099d7fe6ec58da0e7337af77",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.1"
+    },
+    "freezed": {
+      "dependency": "direct dev",
+      "description": {
+        "name": "freezed",
+        "sha256": "6022db4c7bfa626841b2a10f34dd1e1b68e8f8f9650db6112dcdeeca45ca793c",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.0.6"
+    },
+    "freezed_annotation": {
+      "dependency": "direct main",
+      "description": {
+        "name": "freezed_annotation",
+        "sha256": "c87ff004c8aa6af2d531668b46a4ea379f7191dc6dfa066acd53d506da6e044b",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.0.0"
+    },
+    "freezed_lint": {
+      "dependency": "direct dev",
+      "description": {
+        "name": "freezed_lint",
+        "sha256": "579196c8fd554d55f82d1fdc2369b89f5458d75f79799d0ea7eee0bc31caa0d3",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.0.9"
+    },
+    "frontend_server_client": {
+      "dependency": "transitive",
+      "description": {
+        "name": "frontend_server_client",
+        "sha256": "f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.0.0"
+    },
+    "get_it": {
+      "dependency": "transitive",
+      "description": {
+        "name": "get_it",
+        "sha256": "d85128a5dae4ea777324730dc65edd9c9f43155c109d5cc0a69cab74139fbac1",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "7.7.0"
+    },
+    "glob": {
+      "dependency": "transitive",
+      "description": {
+        "name": "glob",
+        "sha256": "c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.1.3"
+    },
+    "graphs": {
+      "dependency": "transitive",
+      "description": {
+        "name": "graphs",
+        "sha256": "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.3.2"
+    },
+    "gtk": {
+      "dependency": "transitive",
+      "description": {
+        "name": "gtk",
+        "sha256": "e8ce9ca4b1df106e4d72dad201d345ea1a036cc12c360f1a7d5a758f78ffa42c",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.1.0"
+    },
+    "hooks_riverpod": {
+      "dependency": "direct main",
+      "description": {
+        "name": "hooks_riverpod",
+        "sha256": "70bba33cfc5670c84b796e6929c54b8bc5be7d0fe15bb28c2560500b9ad06966",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.6.1"
+    },
+    "hotreloader": {
+      "dependency": "transitive",
+      "description": {
+        "name": "hotreloader",
+        "sha256": "bc167a1163807b03bada490bfe2df25b0d744df359227880220a5cbd04e5734b",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.3.0"
+    },
+    "http": {
+      "dependency": "direct main",
+      "description": {
+        "name": "http",
+        "sha256": "2c11f3f94c687ee9bad77c171151672986360b2b001d109814ee7140b2cf261b",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.4.0"
+    },
+    "http_methods": {
+      "dependency": "transitive",
+      "description": {
+        "name": "http_methods",
+        "sha256": "6bccce8f1ec7b5d701e7921dca35e202d425b57e317ba1a37f2638590e29e566",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.1"
+    },
+    "http_multi_server": {
+      "dependency": "transitive",
+      "description": {
+        "name": "http_multi_server",
+        "sha256": "aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.2.2"
+    },
+    "http_parser": {
+      "dependency": "transitive",
+      "description": {
+        "name": "http_parser",
+        "sha256": "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.1.2"
+    },
+    "icons_launcher": {
+      "dependency": "direct dev",
+      "description": {
+        "name": "icons_launcher",
+        "sha256": "2949eef3d336028d89133f69ef221d877e09deed04ebd8e738ab4a427850a7a2",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.0.1"
+    },
+    "image": {
+      "dependency": "direct main",
+      "description": {
+        "name": "image",
+        "sha256": "4e973fcf4caae1a4be2fa0a13157aa38a8f9cb049db6529aa00b4d71abc4d928",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.5.4"
+    },
+    "image_picker": {
+      "dependency": "direct main",
+      "description": {
+        "name": "image_picker",
+        "sha256": "021834d9c0c3de46bf0fe40341fa07168407f694d9b2bb18d532dc1261867f7a",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.2"
+    },
+    "image_picker_android": {
+      "dependency": "transitive",
+      "description": {
+        "name": "image_picker_android",
+        "sha256": "317a5d961cec5b34e777b9252393f2afbd23084aa6e60fcf601dcf6341b9ebeb",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.8.12+23"
+    },
+    "image_picker_for_web": {
+      "dependency": "transitive",
+      "description": {
+        "name": "image_picker_for_web",
+        "sha256": "717eb042ab08c40767684327be06a5d8dbb341fe791d514e4b92c7bbe1b7bb83",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.0.6"
+    },
+    "image_picker_ios": {
+      "dependency": "transitive",
+      "description": {
+        "name": "image_picker_ios",
+        "sha256": "05da758e67bc7839e886b3959848aa6b44ff123ab4b28f67891008afe8ef9100",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.8.12+2"
+    },
+    "image_picker_linux": {
+      "dependency": "transitive",
+      "description": {
+        "name": "image_picker_linux",
+        "sha256": "34a65f6740df08bbbeb0a1abd8e6d32107941fd4868f67a507b25601651022c9",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.2.1+2"
+    },
+    "image_picker_macos": {
+      "dependency": "transitive",
+      "description": {
+        "name": "image_picker_macos",
+        "sha256": "1b90ebbd9dcf98fb6c1d01427e49a55bd96b5d67b8c67cf955d60a5de74207c1",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.2.1+2"
+    },
+    "image_picker_platform_interface": {
+      "dependency": "transitive",
+      "description": {
+        "name": "image_picker_platform_interface",
+        "sha256": "886d57f0be73c4b140004e78b9f28a8914a09e50c2d816bdd0520051a71236a0",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.10.1"
+    },
+    "image_picker_windows": {
+      "dependency": "transitive",
+      "description": {
+        "name": "image_picker_windows",
+        "sha256": "6ad07afc4eb1bc25f3a01084d28520496c4a3bb0cb13685435838167c9dcedeb",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.2.1+1"
+    },
+    "intl": {
+      "dependency": "direct overridden",
+      "description": {
+        "name": "intl",
+        "sha256": "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.20.2"
+    },
+    "io": {
+      "dependency": "transitive",
+      "description": {
+        "name": "io",
+        "sha256": "dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.5"
+    },
+    "js": {
+      "dependency": "transitive",
+      "description": {
+        "name": "js",
+        "sha256": "53385261521cc4a0c4658fd0ad07a7d14591cf8fc33abbceae306ddb974888dc",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.7.2"
+    },
+    "json2yaml": {
+      "dependency": "transitive",
+      "description": {
+        "name": "json2yaml",
+        "sha256": "da94630fbc56079426fdd167ae58373286f603371075b69bf46d848d63ba3e51",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.0.1"
+    },
+    "json_annotation": {
+      "dependency": "direct main",
+      "description": {
+        "name": "json_annotation",
+        "sha256": "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.9.0"
+    },
+    "json_serializable": {
+      "dependency": "direct dev",
+      "description": {
+        "name": "json_serializable",
+        "sha256": "c50ef5fc083d5b5e12eef489503ba3bf5ccc899e487d691584699b4bdefeea8c",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "6.9.5"
+    },
+    "leak_tracker": {
+      "dependency": "transitive",
+      "description": {
+        "name": "leak_tracker",
+        "sha256": "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "10.0.9"
+    },
+    "leak_tracker_flutter_testing": {
+      "dependency": "transitive",
+      "description": {
+        "name": "leak_tracker_flutter_testing",
+        "sha256": "f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.0.9"
+    },
+    "leak_tracker_testing": {
+      "dependency": "transitive",
+      "description": {
+        "name": "leak_tracker_testing",
+        "sha256": "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.0.1"
+    },
+    "lints": {
+      "dependency": "transitive",
+      "description": {
+        "name": "lints",
+        "sha256": "a5e2b223cb7c9c8efdc663ef484fdd95bb243bff242ef5b13e26883547fce9a0",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "6.0.0"
+    },
+    "logger": {
+      "dependency": "direct main",
+      "description": {
+        "name": "logger",
+        "sha256": "be4b23575aac7ebf01f225a241eb7f6b5641eeaf43c6a8613510fc2f8cf187d1",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.5.0"
+    },
+    "logging": {
+      "dependency": "transitive",
+      "description": {
+        "name": "logging",
+        "sha256": "c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.3.0"
+    },
+    "marquee_plus": {
+      "dependency": "direct main",
+      "description": {
+        "name": "marquee_plus",
+        "sha256": "5d96e6d571e4ea2a2a635b86c3e28268d5afedf4b6a0a5a132ea52c90f394d1d",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.2.4"
+    },
+    "matcher": {
+      "dependency": "transitive",
+      "description": {
+        "name": "matcher",
+        "sha256": "dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.12.17"
+    },
+    "material_color_utilities": {
+      "dependency": "transitive",
+      "description": {
+        "name": "material_color_utilities",
+        "sha256": "f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.11.1"
+    },
+    "matrix4_transform": {
+      "dependency": "direct main",
+      "description": {
+        "name": "matrix4_transform",
+        "sha256": "1346e53517e3081d3e8362377be97e285e2bd348855c177eae2a18aa965cafa0",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.0.1"
+    },
+    "meta": {
+      "dependency": "transitive",
+      "description": {
+        "name": "meta",
+        "sha256": "e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.16.0"
+    },
+    "mime": {
+      "dependency": "transitive",
+      "description": {
+        "name": "mime",
+        "sha256": "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.0.0"
+    },
+    "mobile_scanner": {
+      "dependency": "direct main",
+      "description": {
+        "name": "mobile_scanner",
+        "sha256": "72f06a071aa8b14acea3ab43ea7949eefe4a2469731ae210e006ba330a033a8c",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "7.0.0"
+    },
+    "mocktail": {
+      "dependency": "direct main",
+      "description": {
+        "name": "mocktail",
+        "sha256": "890df3f9688106f25755f26b1c60589a92b3ab91a22b8b224947ad041bf172d8",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.4"
+    },
+    "onboarding": {
+      "dependency": "direct main",
+      "description": {
+        "name": "onboarding",
+        "sha256": "bda49643bea9cb05a5da79f3314a2042f454ca76a61235c35e8fa0b7d6ec56e8",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.0.2"
+    },
+    "package_config": {
+      "dependency": "transitive",
+      "description": {
+        "name": "package_config",
+        "sha256": "f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.2.0"
+    },
+    "path": {
+      "dependency": "transitive",
+      "description": {
+        "name": "path",
+        "sha256": "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.9.1"
+    },
+    "path_drawing": {
+      "dependency": "direct main",
+      "description": {
+        "name": "path_drawing",
+        "sha256": "bbb1934c0cbb03091af082a6389ca2080345291ef07a5fa6d6e078ba8682f977",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.1"
+    },
+    "path_parsing": {
+      "dependency": "transitive",
+      "description": {
+        "name": "path_parsing",
+        "sha256": "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.0"
+    },
+    "path_provider": {
+      "dependency": "direct main",
+      "description": {
+        "name": "path_provider",
+        "sha256": "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.1.5"
+    },
+    "path_provider_android": {
+      "dependency": "transitive",
+      "description": {
+        "name": "path_provider_android",
+        "sha256": "d0d310befe2c8ab9e7f393288ccbb11b60c019c6b5afc21973eeee4dda2b35e9",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.2.17"
+    },
+    "path_provider_foundation": {
+      "dependency": "transitive",
+      "description": {
+        "name": "path_provider_foundation",
+        "sha256": "4843174df4d288f5e29185bd6e72a6fbdf5a4a4602717eed565497429f179942",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.4.1"
+    },
+    "path_provider_linux": {
+      "dependency": "transitive",
+      "description": {
+        "name": "path_provider_linux",
+        "sha256": "f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.2.1"
+    },
+    "path_provider_platform_interface": {
+      "dependency": "transitive",
+      "description": {
+        "name": "path_provider_platform_interface",
+        "sha256": "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.1.2"
+    },
+    "path_provider_windows": {
+      "dependency": "transitive",
+      "description": {
+        "name": "path_provider_windows",
+        "sha256": "bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.3.0"
+    },
+    "permission_handler": {
+      "dependency": "transitive",
+      "description": {
+        "name": "permission_handler",
+        "sha256": "2d070d8684b68efb580a5997eb62f675e8a885ef0be6e754fb9ef489c177470f",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "12.0.0+1"
+    },
+    "permission_handler_android": {
+      "dependency": "transitive",
+      "description": {
+        "name": "permission_handler_android",
+        "sha256": "1e3bc410ca1bf84662104b100eb126e066cb55791b7451307f9708d4007350e6",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "13.0.1"
+    },
+    "permission_handler_apple": {
+      "dependency": "transitive",
+      "description": {
+        "name": "permission_handler_apple",
+        "sha256": "f000131e755c54cf4d84a5d8bd6e4149e262cc31c5a8b1d698de1ac85fa41023",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "9.4.7"
+    },
+    "permission_handler_html": {
+      "dependency": "transitive",
+      "description": {
+        "name": "permission_handler_html",
+        "sha256": "38f000e83355abb3392140f6bc3030660cfaef189e1f87824facb76300b4ff24",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.1.3+5"
+    },
+    "permission_handler_platform_interface": {
+      "dependency": "transitive",
+      "description": {
+        "name": "permission_handler_platform_interface",
+        "sha256": "eb99b295153abce5d683cac8c02e22faab63e50679b937fa1bf67d58bb282878",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.3.0"
+    },
+    "permission_handler_windows": {
+      "dependency": "transitive",
+      "description": {
+        "name": "permission_handler_windows",
+        "sha256": "1a790728016f79a41216d88672dbc5df30e686e811ad4e698bfc51f76ad91f1e",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.2.1"
+    },
+    "petitparser": {
+      "dependency": "transitive",
+      "description": {
+        "name": "petitparser",
+        "sha256": "07c8f0b1913bcde1ff0d26e57ace2f3012ccbf2b204e070290dad3bb22797646",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "6.1.0"
+    },
+    "pinput": {
+      "dependency": "direct main",
+      "description": {
+        "name": "pinput",
+        "sha256": "a92b55ecf9c25d1b9e100af45905385d5bc34fc9b6b04177a9e82cb88fe4d805",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.0.1"
+    },
+    "platform": {
+      "dependency": "transitive",
+      "description": {
+        "name": "platform",
+        "sha256": "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.1.6"
+    },
+    "plugin_platform_interface": {
+      "dependency": "transitive",
+      "description": {
+        "name": "plugin_platform_interface",
+        "sha256": "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.1.8"
+    },
+    "pointer_interceptor": {
+      "dependency": "transitive",
+      "description": {
+        "name": "pointer_interceptor",
+        "sha256": "adf7a637f97c077041d36801b43be08559fd4322d2127b3f20bb7be1b9eebc22",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.9.3+7"
+    },
+    "pointycastle": {
+      "dependency": "transitive",
+      "description": {
+        "name": "pointycastle",
+        "sha256": "92aa3841d083cc4b0f4709b5c74fd6409a3e6ba833ffc7dc6a8fee096366acf5",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.0.0"
+    },
+    "pool": {
+      "dependency": "transitive",
+      "description": {
+        "name": "pool",
+        "sha256": "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.5.1"
+    },
+    "posix": {
+      "dependency": "transitive",
+      "description": {
+        "name": "posix",
+        "sha256": "f0d7856b6ca1887cfa6d1d394056a296ae33489db914e365e2044fdada449e62",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "6.0.2"
+    },
+    "protobuf": {
+      "dependency": "transitive",
+      "description": {
+        "name": "protobuf",
+        "sha256": "579fe5557eae58e3adca2e999e38f02441d8aa908703854a9e0a0f47fa857731",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.1.0"
+    },
+    "pub_semver": {
+      "dependency": "transitive",
+      "description": {
+        "name": "pub_semver",
+        "sha256": "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.2.0"
+    },
+    "pubm": {
+      "dependency": "direct dev",
+      "description": {
+        "name": "pubm",
+        "sha256": "d586ab999c9a9b15c9284c9b27bc0b36f31959ebc1ef9479c9c74b59dd9c057a",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.3.0+1"
+    },
+    "pubspec_parse": {
+      "dependency": "transitive",
+      "description": {
+        "name": "pubspec_parse",
+        "sha256": "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.5.0"
+    },
+    "qr": {
+      "dependency": "transitive",
+      "description": {
+        "name": "qr",
+        "sha256": "5a1d2586170e172b8a8c8470bbbffd5eb0cd38a66c0d77155ea138d3af3a4445",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.0.2"
+    },
+    "qr_flutter": {
+      "dependency": "direct main",
+      "description": {
+        "name": "qr_flutter",
+        "sha256": "5095f0fc6e3f71d08adef8feccc8cea4f12eec18a2e31c2e8d82cb6019f4b097",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.1.0"
+    },
+    "rational": {
+      "dependency": "transitive",
+      "description": {
+        "name": "rational",
+        "sha256": "cb808fb6f1a839e6fc5f7d8cb3b0a10e1db48b3be102de73938c627f0b636336",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.2.3"
+    },
+    "riverpod": {
+      "dependency": "direct dev",
+      "description": {
+        "name": "riverpod",
+        "sha256": "59062512288d3056b2321804332a13ffdd1bf16df70dcc8e506e411280a72959",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.6.1"
+    },
+    "riverpod_analyzer_utils": {
+      "dependency": "transitive",
+      "description": {
+        "name": "riverpod_analyzer_utils",
+        "sha256": "03a17170088c63aab6c54c44456f5ab78876a1ddb6032ffde1662ddab4959611",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.5.10"
+    },
+    "riverpod_annotation": {
+      "dependency": "direct main",
+      "description": {
+        "name": "riverpod_annotation",
+        "sha256": "e14b0bf45b71326654e2705d462f21b958f987087be850afd60578fcd502d1b8",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.6.1"
+    },
+    "riverpod_generator": {
+      "dependency": "direct dev",
+      "description": {
+        "name": "riverpod_generator",
+        "sha256": "44a0992d54473eb199ede00e2260bd3c262a86560e3c6f6374503d86d0580e36",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.6.5"
+    },
+    "riverpod_lint": {
+      "dependency": "direct dev",
+      "description": {
+        "name": "riverpod_lint",
+        "sha256": "89a52b7334210dbff8605c3edf26cfe69b15062beed5cbfeff2c3812c33c9e35",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.6.5"
+    },
+    "rxdart": {
+      "dependency": "direct main",
+      "description": {
+        "name": "rxdart",
+        "sha256": "5c3004a4a8dbb94bd4bf5412a4def4acdaa12e12f269737a5751369e12d1a962",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.28.0"
+    },
+    "screen_protector": {
+      "dependency": "direct main",
+      "description": {
+        "name": "screen_protector",
+        "sha256": "305fd157f6f0b210afe216e790022bfe469c3b1d1f2e0d3dcc5906cc9c49c3e9",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.4.2+1"
+    },
+    "screen_retriever": {
+      "dependency": "transitive",
+      "description": {
+        "name": "screen_retriever",
+        "sha256": "570dbc8e4f70bac451e0efc9c9bb19fa2d6799a11e6ef04f946d7886d2e23d0c",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.2.0"
+    },
+    "screen_retriever_linux": {
+      "dependency": "transitive",
+      "description": {
+        "name": "screen_retriever_linux",
+        "sha256": "f7f8120c92ef0784e58491ab664d01efda79a922b025ff286e29aa123ea3dd18",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.2.0"
+    },
+    "screen_retriever_macos": {
+      "dependency": "transitive",
+      "description": {
+        "name": "screen_retriever_macos",
+        "sha256": "71f956e65c97315dd661d71f828708bd97b6d358e776f1a30d5aa7d22d78a149",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.2.0"
+    },
+    "screen_retriever_platform_interface": {
+      "dependency": "transitive",
+      "description": {
+        "name": "screen_retriever_platform_interface",
+        "sha256": "ee197f4581ff0d5608587819af40490748e1e39e648d7680ecf95c05197240c0",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.2.0"
+    },
+    "screen_retriever_windows": {
+      "dependency": "transitive",
+      "description": {
+        "name": "screen_retriever_windows",
+        "sha256": "449ee257f03ca98a57288ee526a301a430a344a161f9202b4fcc38576716fe13",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.2.0"
+    },
+    "share_plus": {
+      "dependency": "direct main",
+      "description": {
+        "name": "share_plus",
+        "sha256": "b2961506569e28948d75ec346c28775bb111986bb69dc6a20754a457e3d97fa0",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "11.0.0"
+    },
+    "share_plus_platform_interface": {
+      "dependency": "transitive",
+      "description": {
+        "name": "share_plus_platform_interface",
+        "sha256": "1032d392bc5d2095a77447a805aa3f804d2ae6a4d5eef5e6ebb3bd94c1bc19ef",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "6.0.0"
+    },
+    "shared_preferences": {
+      "dependency": "direct main",
+      "description": {
+        "name": "shared_preferences",
+        "sha256": "6e8bf70b7fef813df4e9a36f658ac46d107db4b4cfe1048b477d4e453a8159f5",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.5.3"
+    },
+    "shared_preferences_android": {
+      "dependency": "transitive",
+      "description": {
+        "name": "shared_preferences_android",
+        "sha256": "20cbd561f743a342c76c151d6ddb93a9ce6005751e7aa458baad3858bfbfb6ac",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.4.10"
+    },
+    "shared_preferences_foundation": {
+      "dependency": "transitive",
+      "description": {
+        "name": "shared_preferences_foundation",
+        "sha256": "6a52cfcdaeac77cad8c97b539ff688ccfc458c007b4db12be584fbe5c0e49e03",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.5.4"
+    },
+    "shared_preferences_linux": {
+      "dependency": "transitive",
+      "description": {
+        "name": "shared_preferences_linux",
+        "sha256": "580abfd40f415611503cae30adf626e6656dfb2f0cee8f465ece7b6defb40f2f",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.4.1"
+    },
+    "shared_preferences_platform_interface": {
+      "dependency": "transitive",
+      "description": {
+        "name": "shared_preferences_platform_interface",
+        "sha256": "57cbf196c486bc2cf1f02b85784932c6094376284b3ad5779d1b1c6c6a816b80",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.4.1"
+    },
+    "shared_preferences_web": {
+      "dependency": "transitive",
+      "description": {
+        "name": "shared_preferences_web",
+        "sha256": "c49bd060261c9a3f0ff445892695d6212ff603ef3115edbb448509d407600019",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.4.3"
+    },
+    "shared_preferences_windows": {
+      "dependency": "transitive",
+      "description": {
+        "name": "shared_preferences_windows",
+        "sha256": "94ef0f72b2d71bc3e700e025db3710911bd51a71cefb65cc609dd0d9a982e3c1",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.4.1"
+    },
+    "shelf": {
+      "dependency": "direct main",
+      "description": {
+        "name": "shelf",
+        "sha256": "e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.4.2"
+    },
+    "shelf_router": {
+      "dependency": "direct main",
+      "description": {
+        "name": "shelf_router",
+        "sha256": "f5e5d492440a7fb165fe1e2e1a623f31f734d3370900070b2b1e0d0428d59864",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.4"
+    },
+    "shelf_web_socket": {
+      "dependency": "direct main",
+      "description": {
+        "name": "shelf_web_socket",
+        "sha256": "3632775c8e90d6c9712f883e633716432a27758216dfb61bd86a8321c0580925",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.0.0"
+    },
+    "sideswap_logger": {
+      "dependency": "direct main",
+      "description": {
+        "path": ".",
+        "ref": "master",
+        "resolved-ref": "0953926cf38aa432d5bf30b4b4227ad008e0c56a",
+        "url": "https://github.com/sideswap-io/sideswap_logger.git"
+      },
+      "source": "git",
+      "version": "0.0.11"
+    },
+    "sideswap_notifications": {
+      "dependency": "direct main",
+      "description": {
+        "path": "thirdparty/sideswap_notifications/sideswap_notifications",
+        "relative": true
+      },
+      "source": "path",
+      "version": "0.1.22"
+    },
+    "sideswap_notifications_platform_interface": {
+      "dependency": "direct main",
+      "description": {
+        "path": "thirdparty/sideswap_notifications/sideswap_notifications_platform_interface",
+        "relative": true
+      },
+      "source": "path",
+      "version": "0.0.25"
+    },
+    "sideswap_permissions": {
+      "dependency": "direct main",
+      "description": {
+        "path": "thirdparty/sideswap_permissions",
+        "relative": true
+      },
+      "source": "path",
+      "version": "0.0.18"
+    },
+    "sideswap_protobuf": {
+      "dependency": "direct main",
+      "description": {
+        "path": "thirdparty/sideswap_protobuf",
+        "relative": true
+      },
+      "source": "path",
+      "version": "0.0.14"
+    },
+    "sideswap_websocket": {
+      "dependency": "direct main",
+      "description": {
+        "path": ".",
+        "ref": "encryption",
+        "resolved-ref": "a668ac61d87351dc7aded65f01c2ac4fceca0344",
+        "url": "https://github.com/sideswap-io/sideswap_websocket.git"
+      },
+      "source": "git",
+      "version": "0.0.12"
+    },
+    "sky_engine": {
+      "dependency": "transitive",
+      "description": "flutter",
+      "source": "sdk",
+      "version": "0.0.0"
+    },
+    "sliding_up_panel": {
+      "dependency": "direct main",
+      "description": {
+        "name": "sliding_up_panel",
+        "sha256": "578e90956a6212d1e406373250b2436a0f3afece29aee3c24c8360094d6cf968",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.0.0+1"
+    },
+    "smart_auth": {
+      "dependency": "transitive",
+      "description": {
+        "name": "smart_auth",
+        "sha256": "a25229b38c02f733d0a4e98d941b42bed91a976cb589e934895e60ccfa674cf6",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.1"
+    },
+    "source_gen": {
+      "dependency": "transitive",
+      "description": {
+        "name": "source_gen",
+        "sha256": "35c8150ece9e8c8d263337a265153c3329667640850b9304861faea59fc98f6b",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.0.0"
+    },
+    "source_helper": {
+      "dependency": "transitive",
+      "description": {
+        "name": "source_helper",
+        "sha256": "86d247119aedce8e63f4751bd9626fc9613255935558447569ad42f9f5b48b3c",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.3.5"
+    },
+    "source_span": {
+      "dependency": "transitive",
+      "description": {
+        "name": "source_span",
+        "sha256": "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.10.1"
+    },
+    "sprintf": {
+      "dependency": "transitive",
+      "description": {
+        "name": "sprintf",
+        "sha256": "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "7.0.0"
+    },
+    "sqflite": {
+      "dependency": "transitive",
+      "description": {
+        "name": "sqflite",
+        "sha256": "e2297b1da52f127bc7a3da11439985d9b536f75070f3325e62ada69a5c585d03",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.4.2"
+    },
+    "sqflite_android": {
+      "dependency": "transitive",
+      "description": {
+        "name": "sqflite_android",
+        "sha256": "2b3070c5fa881839f8b402ee4a39c1b4d561704d4ebbbcfb808a119bc2a1701b",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.4.1"
+    },
+    "sqflite_common": {
+      "dependency": "transitive",
+      "description": {
+        "name": "sqflite_common",
+        "sha256": "84731e8bfd8303a3389903e01fb2141b6e59b5973cacbb0929021df08dddbe8b",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.5.5"
+    },
+    "sqflite_darwin": {
+      "dependency": "transitive",
+      "description": {
+        "name": "sqflite_darwin",
+        "sha256": "279832e5cde3fe99e8571879498c9211f3ca6391b0d818df4e17d9fff5c6ccb3",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.4.2"
+    },
+    "sqflite_platform_interface": {
+      "dependency": "transitive",
+      "description": {
+        "name": "sqflite_platform_interface",
+        "sha256": "8dd4515c7bdcae0a785b0062859336de775e8c65db81ae33dd5445f35be61920",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.4.0"
+    },
+    "stack_trace": {
+      "dependency": "transitive",
+      "description": {
+        "name": "stack_trace",
+        "sha256": "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.12.1"
+    },
+    "state_notifier": {
+      "dependency": "transitive",
+      "description": {
+        "name": "state_notifier",
+        "sha256": "b8677376aa54f2d7c58280d5a007f9e8774f1968d1fb1c096adcb4792fba29bb",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.0"
+    },
+    "stream_channel": {
+      "dependency": "transitive",
+      "description": {
+        "name": "stream_channel",
+        "sha256": "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.1.4"
+    },
+    "stream_transform": {
+      "dependency": "transitive",
+      "description": {
+        "name": "stream_transform",
+        "sha256": "ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.1.1"
+    },
+    "string_scanner": {
+      "dependency": "transitive",
+      "description": {
+        "name": "string_scanner",
+        "sha256": "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.4.1"
+    },
+    "synchronized": {
+      "dependency": "transitive",
+      "description": {
+        "name": "synchronized",
+        "sha256": "0669c70faae6270521ee4f05bffd2919892d42d1276e6c495be80174b6bc0ef6",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.3.1"
+    },
+    "term_glyph": {
+      "dependency": "transitive",
+      "description": {
+        "name": "term_glyph",
+        "sha256": "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.2.2"
+    },
+    "test_api": {
+      "dependency": "transitive",
+      "description": {
+        "name": "test_api",
+        "sha256": "fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.7.4"
+    },
+    "timezone": {
+      "dependency": "transitive",
+      "description": {
+        "name": "timezone",
+        "sha256": "dd14a3b83cfd7cb19e7888f1cbc20f258b8d71b54c06f79ac585f14093a287d1",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.10.1"
+    },
+    "timing": {
+      "dependency": "transitive",
+      "description": {
+        "name": "timing",
+        "sha256": "62ee18aca144e4a9f29d212f5a4c6a053be252b895ab14b5821996cff4ed90fe",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.2"
+    },
+    "tuple": {
+      "dependency": "direct main",
+      "description": {
+        "name": "tuple",
+        "sha256": "a97ce2013f240b2f3807bcbaf218765b6f301c3eff91092bcfa23a039e7dd151",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.0.2"
+    },
+    "typed_data": {
+      "dependency": "transitive",
+      "description": {
+        "name": "typed_data",
+        "sha256": "f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.4.0"
+    },
+    "universal_io": {
+      "dependency": "transitive",
+      "description": {
+        "name": "universal_io",
+        "sha256": "1722b2dcc462b4b2f3ee7d188dad008b6eb4c40bbd03a3de451d82c78bba9aad",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.2.2"
+    },
+    "universal_platform": {
+      "dependency": "transitive",
+      "description": {
+        "name": "universal_platform",
+        "sha256": "64e16458a0ea9b99260ceb5467a214c1f298d647c659af1bff6d3bf82536b1ec",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.0"
+    },
+    "url_launcher": {
+      "dependency": "direct main",
+      "description": {
+        "name": "url_launcher",
+        "sha256": "9d06212b1362abc2f0f0d78e6f09f726608c74e3b9462e8368bb03314aa8d603",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "6.3.1"
+    },
+    "url_launcher_android": {
+      "dependency": "transitive",
+      "description": {
+        "name": "url_launcher_android",
+        "sha256": "8582d7f6fe14d2652b4c45c9b6c14c0b678c2af2d083a11b604caeba51930d79",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "6.3.16"
+    },
+    "url_launcher_ios": {
+      "dependency": "transitive",
+      "description": {
+        "name": "url_launcher_ios",
+        "sha256": "7f2022359d4c099eea7df3fdf739f7d3d3b9faf3166fb1dd390775176e0b76cb",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "6.3.3"
+    },
+    "url_launcher_linux": {
+      "dependency": "transitive",
+      "description": {
+        "name": "url_launcher_linux",
+        "sha256": "4e9ba368772369e3e08f231d2301b4ef72b9ff87c31192ef471b380ef29a4935",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.2.1"
+    },
+    "url_launcher_macos": {
+      "dependency": "transitive",
+      "description": {
+        "name": "url_launcher_macos",
+        "sha256": "17ba2000b847f334f16626a574c702b196723af2a289e7a93ffcb79acff855c2",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.2.2"
+    },
+    "url_launcher_platform_interface": {
+      "dependency": "transitive",
+      "description": {
+        "name": "url_launcher_platform_interface",
+        "sha256": "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.3.2"
+    },
+    "url_launcher_web": {
+      "dependency": "transitive",
+      "description": {
+        "name": "url_launcher_web",
+        "sha256": "4bd2b7b4dc4d4d0b94e5babfffbca8eac1a126c7f3d6ecbc1a11013faa3abba2",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.4.1"
+    },
+    "url_launcher_windows": {
+      "dependency": "transitive",
+      "description": {
+        "name": "url_launcher_windows",
+        "sha256": "3284b6d2ac454cf34f114e1d3319866fdd1e19cdc329999057e44ffe936cfa77",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.1.4"
+    },
+    "uuid": {
+      "dependency": "direct main",
+      "description": {
+        "name": "uuid",
+        "sha256": "a5be9ef6618a7ac1e964353ef476418026db906c4facdedaa299b7a2e71690ff",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "4.5.1"
+    },
+    "vector_graphics": {
+      "dependency": "transitive",
+      "description": {
+        "name": "vector_graphics",
+        "sha256": "44cc7104ff32563122a929e4620cf3efd584194eec6d1d913eb5ba593dbcf6de",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.18"
+    },
+    "vector_graphics_codec": {
+      "dependency": "transitive",
+      "description": {
+        "name": "vector_graphics_codec",
+        "sha256": "99fd9fbd34d9f9a32efd7b6a6aae14125d8237b10403b422a6a6dfeac2806146",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.13"
+    },
+    "vector_graphics_compiler": {
+      "dependency": "transitive",
+      "description": {
+        "name": "vector_graphics_compiler",
+        "sha256": "557a315b7d2a6dbb0aaaff84d857967ce6bdc96a63dc6ee2a57ce5a6ee5d3331",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.17"
+    },
+    "vector_math": {
+      "dependency": "transitive",
+      "description": {
+        "name": "vector_math",
+        "sha256": "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.1.4"
+    },
+    "vm_service": {
+      "dependency": "transitive",
+      "description": {
+        "name": "vm_service",
+        "sha256": "ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "15.0.0"
+    },
+    "watcher": {
+      "dependency": "transitive",
+      "description": {
+        "name": "watcher",
+        "sha256": "69da27e49efa56a15f8afe8f4438c4ec02eff0a117df1b22ea4aad194fe1c104",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.1"
+    },
+    "web": {
+      "dependency": "transitive",
+      "description": {
+        "name": "web",
+        "sha256": "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.1"
+    },
+    "web_socket": {
+      "dependency": "transitive",
+      "description": {
+        "name": "web_socket",
+        "sha256": "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.1"
+    },
+    "web_socket_channel": {
+      "dependency": "direct main",
+      "description": {
+        "name": "web_socket_channel",
+        "sha256": "d645757fb0f4773d602444000a8131ff5d48c9e47adfe9772652dd1a4f2d45c8",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.0.3"
+    },
+    "websocket_universal": {
+      "dependency": "direct main",
+      "description": {
+        "name": "websocket_universal",
+        "sha256": "8e50d8238a26147fed64512e7af200ef9ab73fab51ab56010f7a54f94a0bb480",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.2.5"
+    },
+    "win32": {
+      "dependency": "transitive",
+      "description": {
+        "name": "win32",
+        "sha256": "329edf97fdd893e0f1e3b9e88d6a0e627128cc17cc316a8d67fda8f1451178ba",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "5.13.0"
+    },
+    "win32_registry": {
+      "dependency": "transitive",
+      "description": {
+        "name": "win32_registry",
+        "sha256": "6f1b564492d0147b330dd794fee8f512cec4977957f310f9951b5f9d83618dae",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.1.0"
+    },
+    "window_manager": {
+      "dependency": "direct main",
+      "description": {
+        "name": "window_manager",
+        "sha256": "51d50168ab267d344b975b15390426b1243600d436770d3f13de67e55b05ec16",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.5.0"
+    },
+    "window_size": {
+      "dependency": "direct main",
+      "description": {
+        "path": "plugins/window_size",
+        "ref": "a738913c8ce2c9f47515382d40827e794a334274",
+        "resolved-ref": "a738913c8ce2c9f47515382d40827e794a334274",
+        "url": "https://github.com/google/flutter-desktop-embedding.git"
+      },
+      "source": "git",
+      "version": "0.1.0"
+    },
+    "xdg_directories": {
+      "dependency": "transitive",
+      "description": {
+        "name": "xdg_directories",
+        "sha256": "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.0"
+    },
+    "xml": {
+      "dependency": "transitive",
+      "description": {
+        "name": "xml",
+        "sha256": "b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "6.5.0"
+    },
+    "xrange": {
+      "dependency": "direct main",
+      "description": {
+        "name": "xrange",
+        "sha256": "17bb75bd5eeae7152680f9b748880bf88a670b61f360266df56f7bd239cb6343",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.0.0"
+    },
+    "yaml": {
+      "dependency": "transitive",
+      "description": {
+        "name": "yaml",
+        "sha256": "b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.1.3"
+    }
+  },
+  "sdks": {
+    "dart": ">=3.8.1 <4.0.0",
+    "flutter": ">=3.32.1"
+  }
+}
diff --git a/pkgs/by-name/si/sierra-gtk-theme/package.nix b/pkgs/by-name/si/sierra-gtk-theme/package.nix
index 97183f760251..987a18a8d33e 100644
--- a/pkgs/by-name/si/sierra-gtk-theme/package.nix
+++ b/pkgs/by-name/si/sierra-gtk-theme/package.nix
@@ -37,7 +37,7 @@ lib.checkListOfEnum "${pname}: button variants" [ "standard" "alt" ] buttonVaria
 
     src = fetchFromGitHub {
       owner = "vinceliuice";
-      repo = pname;
+      repo = "sierra-gtk-theme";
       rev = "05899001c4fc2fec87c4d222cb3997c414e0affd";
       sha256 = "174l5mryc34ma1r42pk6572c6i9hmzr9vj1a6w06nqz5qcfm1hds";
     };
diff --git a/pkgs/by-name/si/sigal/package.nix b/pkgs/by-name/si/sigal/package.nix
index a588678931c9..1eea93cc1fb9 100644
--- a/pkgs/by-name/si/sigal/package.nix
+++ b/pkgs/by-name/si/sigal/package.nix
@@ -58,7 +58,6 @@ python3.pkgs.buildPythonApplication rec {
     homepage = "http://sigal.saimon.org/";
     license = licenses.mit;
     maintainers = with maintainers; [
-      domenkozar
       matthiasbeyer
     ];
   };
diff --git a/pkgs/by-name/si/sigil/package.nix b/pkgs/by-name/si/sigil/package.nix
index 46ad4b1b574f..c59b70df0f08 100644
--- a/pkgs/by-name/si/sigil/package.nix
+++ b/pkgs/by-name/si/sigil/package.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sigil";
-  version = "2.5.1";
+  version = "2.5.2";
 
   src = fetchFromGitHub {
     repo = "Sigil";
     owner = "Sigil-Ebook";
     tag = version;
-    hash = "sha256-1Z+OosEZJEHiUz+62wYuNeAyQXARh14WAtqBVjq1FZw=";
+    hash = "sha256-nMPBkAAah4qbatvtfkCJqdo6BVL0NuxFZEHhSiB4uXY=";
   };
 
   pythonPath = with python3Packages; [ lxml ];
diff --git a/pkgs/by-name/si/signal-desktop/package.nix b/pkgs/by-name/si/signal-desktop/package.nix
index 3649ea08ca1f..65bfd38acbf4 100644
--- a/pkgs/by-name/si/signal-desktop/package.nix
+++ b/pkgs/by-name/si/signal-desktop/package.nix
@@ -52,13 +52,13 @@ let
     '';
   });
 
-  version = "7.56.0";
+  version = "7.58.0";
 
   src = fetchFromGitHub {
     owner = "signalapp";
     repo = "Signal-Desktop";
     tag = "v${version}";
-    hash = "sha256-BrgBlDEgb08oX7Mh/P4nuoM+dkSDpB45zOtDNMYeZr0=";
+    hash = "sha256-0WO4cjbZLVaf/ju7PdfZJKOa7qGXsjWZHGY8lxOvr3w=";
   };
 
   sticker-creator = stdenv.mkDerivation (finalAttrs: {
@@ -120,15 +120,15 @@ stdenv.mkDerivation (finalAttrs: {
       ;
     hash =
       if withAppleEmojis then
-        "sha256-RP3d1t4bbvehdCDSL3bHrlJEnn65TDViI5jVjSiuJw8="
+        "sha256-h2yaGRqAtVh/8Jv+YZAcXw3/b8+fi+cKFSqcRhMH2sM="
       else
-        "sha256-KJvc+kVcwRKsUVW3lK7fPXUSqDQlJFPbYAzQjhFtfoU=";
+        "sha256-1dkJBIQVJxpsd8IQIlRncDYHp+2j0fowlbEEWpQSPtI=";
   };
 
   env = {
     ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
     SIGNAL_ENV = "production";
-    SOURCE_DATE_EPOCH = 1748456277;
+    SOURCE_DATE_EPOCH = 1750276003;
   };
 
   preBuild = ''
diff --git a/pkgs/by-name/si/signal-desktop/ringrtc.nix b/pkgs/by-name/si/signal-desktop/ringrtc.nix
index ee08a2da289c..21bc6cd536d6 100644
--- a/pkgs/by-name/si/signal-desktop/ringrtc.nix
+++ b/pkgs/by-name/si/signal-desktop/ringrtc.nix
@@ -19,16 +19,16 @@ let
 in
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "ringrtc";
-  version = "2.52.0";
+  version = "2.53.0";
 
   src = fetchFromGitHub {
     owner = "signalapp";
     repo = "ringrtc";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-Ao1mFJYPnV3lfg4SERwq4dGnBhOVI9pwsqPAsUtV/iY=";
+    hash = "sha256-JxEeE5r/qQGfTBP0szpChRdPuUl4PMK1km84N/8Dozg=";
   };
   useFetchCargoVendor = true;
-  cargoHash = "sha256-mO9t4ZDDM5Y9cMkmdrYrdGYukN1xfGogPSNq+S1t4Us=";
+  cargoHash = "sha256-qOBjSj1MErB0SajScicVPEn2pqAY+kWq7TS4Wiu4oxI=";
 
   cargoBuildFlags = [
     "-p"
diff --git a/pkgs/by-name/si/signal-desktop/webrtc-sources.json b/pkgs/by-name/si/signal-desktop/webrtc-sources.json
index 7207ea4e2d9d..5896f815331f 100644
--- a/pkgs/by-name/si/signal-desktop/webrtc-sources.json
+++ b/pkgs/by-name/si/signal-desktop/webrtc-sources.json
@@ -1,33 +1,33 @@
 {
     "src": {
         "args": {
-            "hash": "sha256-AFMJmIo7O4fYrVWABciQphTxHQSj4CdfhluIIPpPWAw=",
+            "hash": "sha256-laPkmf87ujO0dmQ6LqGSnvajeE2D0i5hL95RxN+SdNA=",
             "owner": "signalapp",
             "repo": "webrtc",
-            "tag": "6998c"
+            "tag": "7103d"
         },
         "fetcher": "fetchFromGitHub"
     },
     "src/base": {
         "args": {
-            "hash": "sha256-hglQbmk4pfkzhHPXPGPrjN60VfpEbCn3mbOkM1kcjhE=",
-            "rev": "e0914b7606a151a3a12e994c400519f2e291c53f",
+            "hash": "sha256-Jm+OJlnJJUrTtsAMWEB+DM7eLZyIMJa5jQysVsyHwfk=",
+            "rev": "1d80e43078965dbe6ded5521fbffb128f59124a6",
             "url": "https://chromium.googlesource.com/chromium/src/base"
         },
         "fetcher": "fetchFromGitiles"
     },
     "src/build": {
         "args": {
-            "hash": "sha256-f7sLdyVzuWsVMsH21tLBDPadEJPyzSWhk8f97P7Meko=",
-            "rev": "64e296c42a93fbd27acc9a94713e4289273409b2",
+            "hash": "sha256-4iM0mh+1AL1maBjle+GOmfr4AMadQpcNDQg0X5tVD5U=",
+            "rev": "52d62707eaec02b88722a99e335315d166ceda77",
             "url": "https://chromium.googlesource.com/chromium/src/build"
         },
         "fetcher": "fetchFromGitiles"
     },
     "src/buildtools": {
         "args": {
-            "hash": "sha256-w6CVjFp5hkRHscXF7qUJ/Ei9Nl7lqBcGnwHXmjrehHw=",
-            "rev": "a660247d3c14a172b74b8e832ba1066b30183c97",
+            "hash": "sha256-Nbaoin+aMtJJaC4mDTYFB7q3RbmzSuEUDDZN3tAXoSI=",
+            "rev": "6f359296daa889aa726f3d05046b9f37be241169",
             "url": "https://chromium.googlesource.com/chromium/src/buildtools"
         },
         "fetcher": "fetchFromGitiles"
@@ -43,40 +43,40 @@
     },
     "src/testing": {
         "args": {
-            "hash": "sha256-VQJ0hqEI2QIFPKZwLCAtUtKuPkJndvndtK4lGRiX20M=",
-            "rev": "63412fdcdfe281e6b9531a5e1086a59c0b9e6909",
+            "hash": "sha256-CZOMatu2JSB3fztVz8DvW87KtglBqq0hUYm3IM3pZwY=",
+            "rev": "f46b86c7f1fc7a7f52e61c11dbd0573a48cf7a6a",
             "url": "https://chromium.googlesource.com/chromium/src/testing"
         },
         "fetcher": "fetchFromGitiles"
     },
     "src/third_party": {
         "args": {
-            "hash": "sha256-88mIRDQvFeCcwiLPt4cyFE/xfmEJ95xB93uUcRPe670=",
-            "rev": "d212a71416ad7c6ceca04d6d27dfdd84fd00c04c",
+            "hash": "sha256-BbFD3QSoHMHsy4d+Quz01Nta7nArhe8or9zsARmlc/U=",
+            "rev": "10064104c1f11074312018c3a9c4b66f25584bdd",
             "url": "https://chromium.googlesource.com/chromium/src/third_party"
         },
         "fetcher": "fetchFromGitiles"
     },
     "src/third_party/boringssl/src": {
         "args": {
-            "hash": "sha256-Mrv/aV7RjDLPVi0QN7p1qJ3M8zHWogcq+u2F+S1LoNE=",
-            "rev": "d4b6eb542d4fd109baacd550935efd00c521e674",
+            "hash": "sha256-fUPl9E2b7RfanH0pZNArIkJ4lnnmCtyk7sCaTArCB70=",
+            "rev": "a9993612faac4866bc33ca8ff37bfd0659af1c48",
             "url": "https://boringssl.googlesource.com/boringssl.git"
         },
         "fetcher": "fetchFromGitiles"
     },
     "src/third_party/breakpad/breakpad": {
         "args": {
-            "hash": "sha256-jOTRgF2WxsX5P0LgUI9zdCc0+NcqSnO310aq15msThY=",
-            "rev": "0dfd77492fdb0dcd06027c5842095e2e908adc90",
+            "hash": "sha256-9MePkv10fwyJ0VDWRtvRcbLMAcJzZlziGTPzXJYjVJE=",
+            "rev": "657a441e5c1a818d4c10b7bafd431454e6614901",
             "url": "https://chromium.googlesource.com/breakpad/breakpad.git"
         },
         "fetcher": "fetchFromGitiles"
     },
     "src/third_party/catapult": {
         "args": {
-            "hash": "sha256-XtQclu96NHJxt8kJCyp8iaJUkTI2bS+q6NRwvIgmhX8=",
-            "rev": "b15611f18b506cf9dbc03e9bf87dbc8df549ccce",
+            "hash": "sha256-xwR9gGE8uU8qFr7GgS3/1JiuTmj1tvcM5CoCfPMdW2M=",
+            "rev": "5bda0fdab9d93ec9963e2cd858c7b49ad7fec7d4",
             "url": "https://chromium.googlesource.com/catapult.git"
         },
         "fetcher": "fetchFromGitiles"
@@ -115,24 +115,24 @@
     },
     "src/third_party/dav1d/libdav1d": {
         "args": {
-            "hash": "sha256-Ft71Ubirlpi7IJcNDFIfyZqmR2Xxv68PiEOfg7JhLuU=",
-            "rev": "edb16889d16f5e13161b6e8f7a839cd82d7d655d",
+            "hash": "sha256-+DY4p41VuAlx7NvOfXjWzgEhvtpebjkjbFwSYOzSjv4=",
+            "rev": "8d956180934f16244bdb58b39175824775125e55",
             "url": "https://chromium.googlesource.com/external/github.com/videolan/dav1d.git"
         },
         "fetcher": "fetchFromGitiles"
     },
     "src/third_party/depot_tools": {
         "args": {
-            "hash": "sha256-Qea35ZMbVtvdFPmge0ShrEW0p17Z1UJUGdBTaxaZ5gQ=",
-            "rev": "80d1969422e75e8e9eecafa46074074b289e2568",
+            "hash": "sha256-O9vVbrCqHD4w39Q8ZAxl1RwzJxbH/thjqacMtCnOPdg=",
+            "rev": "f40ddcd8d51626fb7be3ab3c418b3f3be801623f",
             "url": "https://chromium.googlesource.com/chromium/tools/depot_tools.git"
         },
         "fetcher": "fetchFromGitiles"
     },
     "src/third_party/ffmpeg": {
         "args": {
-            "hash": "sha256-OXumpRb9XB38dOCJmL3jDcabiJ08wAvydVlJwMgpCoQ=",
-            "rev": "d10a0f8bf5ddcce572df95105152bc74041cae0c",
+            "hash": "sha256-bGa0BCvzNxEKu9VZEwJ1NLt+b2KKWUxshpKSN2FHNEM=",
+            "rev": "fbce2a76c00cd2e5aeffe3c2e71d44c284ec52d6",
             "url": "https://chromium.googlesource.com/chromium/third_party/ffmpeg.git"
         },
         "fetcher": "fetchFromGitiles"
@@ -155,16 +155,16 @@
     },
     "src/third_party/freetype/src": {
         "args": {
-            "hash": "sha256-wKzsJ5SXicsLXs0M2+usPz72gy8IsmQGTD3RGKYnhgo=",
-            "rev": "a059b237bb01eb3e4f9f8b1618dda8c117498bab",
+            "hash": "sha256-LhSIX7X0+dmLADYGNclg73kIrXmjTMM++tJ92MKzanA=",
+            "rev": "82090e67c24259c343c83fd9cefe6ff0be7a7eca",
             "url": "https://chromium.googlesource.com/chromium/src/third_party/freetype2.git"
         },
         "fetcher": "fetchFromGitiles"
     },
     "src/third_party/fuzztest/src": {
         "args": {
-            "hash": "sha256-KjO8h5KS7/3vP8zRY2I09nIA/eJHKnmBuY8i8KU81KQ=",
-            "rev": "00edfa0dd94d7e00a89684e950015c30d3b7ae07",
+            "hash": "sha256-1pzRK+iorGhnLWWpuWdRjBCh0whKoDgEUhTTs2NlPZU=",
+            "rev": "3c7bc855a4938c5d0d1d07303aa0697c88d33e6c",
             "url": "https://chromium.googlesource.com/external/github.com/google/fuzztest.git"
         },
         "fetcher": "fetchFromGitiles"
@@ -179,16 +179,16 @@
     },
     "src/third_party/googletest/src": {
         "args": {
-            "hash": "sha256-9hPtc5kLEaetJXqtcneXFOcC2z5AdkvWGYgKMSB+vbs=",
-            "rev": "2b6b042a77446ff322cd7522ca068d9f2a21c1d1",
+            "hash": "sha256-8keF4E6ag/rikv5ROaWUB7oganjViupEAdxW1NJVgmE=",
+            "rev": "52204f78f94d7512df1f0f3bea1d47437a2c3a58",
             "url": "https://chromium.googlesource.com/external/github.com/google/googletest.git"
         },
         "fetcher": "fetchFromGitiles"
     },
     "src/third_party/grpc/src": {
         "args": {
-            "hash": "sha256-RKGZWtH2JmP2mXN+4ln/nCJvOyzynrYcfrxSY8k1vVg=",
-            "rev": "a363b6c001139b9c8ffb7cd63f60a72f15349c3b",
+            "hash": "sha256-0ljptpIh4wirWZ+utJyiy4g4dhPRB8pIvjcvoqeycu0=",
+            "rev": "d8ce421830bd993885038934abdc74e1e56e3213",
             "url": "https://chromium.googlesource.com/external/github.com/grpc/grpc.git"
         },
         "fetcher": "fetchFromGitiles"
@@ -203,24 +203,24 @@
     },
     "src/third_party/harfbuzz-ng/src": {
         "args": {
-            "hash": "sha256-TStJvz3Txn4cvU1tCPPZn6RLslvM+VNUqt8l8g67JN4=",
-            "rev": "1c249be96e27eafd15eb86d832b67fbc3751634b",
+            "hash": "sha256-/WNGrvyvJ+FGqoIoHapaux1iu63zjID0yR30HYPpxaw=",
+            "rev": "8efd2d85c78fbba6ca09a3e454f77525f3b296ce",
             "url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git"
         },
         "fetcher": "fetchFromGitiles"
     },
     "src/third_party/icu": {
         "args": {
-            "hash": "sha256-O9qrAt8lwNBg5LCVz+SfTe48uJx8onVYwn0LRXIhUvY=",
-            "rev": "bbccc2f6efc1b825de5f2c903c48be685cd0cf22",
+            "hash": "sha256-Omv4sp9z44eINXtaE0+1TzIU1q2hWviANA79fmkF78U=",
+            "rev": "c9fb4b3a6fb54aa8c20a03bbcaa0a4a985ffd34b",
             "url": "https://chromium.googlesource.com/chromium/deps/icu.git"
         },
         "fetcher": "fetchFromGitiles"
     },
     "src/third_party/instrumented_libs": {
         "args": {
-            "hash": "sha256-7w5wMcmPcKLS91buxyRdcgaQjbKGFdmrKClvYVO3iko=",
-            "rev": "3cc43119a29158bcde39d288a8def4b8ec49baf8",
+            "hash": "sha256-8kokdsnn5jD9KgM/6g0NuITBbKkGXWEM4BMr1nCrfdU=",
+            "rev": "69015643b3f68dbd438c010439c59adc52cac808",
             "url": "https://chromium.googlesource.com/chromium/third_party/instrumented_libraries.git"
         },
         "fetcher": "fetchFromGitiles"
@@ -243,32 +243,32 @@
     },
     "src/third_party/libaom/source/libaom": {
         "args": {
-            "hash": "sha256-oceORERaQDEQkssZwiWGOtAsbuI0YeOciwb9FgtFuHw=",
-            "rev": "d737ca3ebe92feec465876a8fc98950cecd08fd8",
+            "hash": "sha256-nfnt5JXyKR9JR3BflpGEkwzDo0lYa/oeCDm2bKH/j1g=",
+            "rev": "9680f2b1781fb33b9eeb52409b75c679c8a954be",
             "url": "https://aomedia.googlesource.com/aom.git"
         },
         "fetcher": "fetchFromGitiles"
     },
     "src/third_party/libc++/src": {
         "args": {
-            "hash": "sha256-QxEbtsEKCs2Xgulq7nVWtAeOGkIYFOy/L1ROfXa5u8U=",
-            "rev": "2e25154d49c29fa9aa42c30ad4a027bd30123434",
+            "hash": "sha256-Ypi5fmWdoNA1IZDoKITlkNRITmho8HzVlgjlmtx0Y84=",
+            "rev": "449310fe2e37834a7e62972d2a690cade2ef596b",
             "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git"
         },
         "fetcher": "fetchFromGitiles"
     },
     "src/third_party/libc++abi/src": {
         "args": {
-            "hash": "sha256-RIPejJnlQE5S8ss3WijR4uLVC+yRL9Ba0vslQeJFNiE=",
-            "rev": "8205ccf0f23545ebcd8846363ea1d29e77917a22",
+            "hash": "sha256-wMMfj3E2AQJxovoSEIuT2uTyrcGBurS1HrHZOmP36+g=",
+            "rev": "94c5d7a8edc09f0680aee57548c0b5d400c2840d",
             "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git"
         },
         "fetcher": "fetchFromGitiles"
     },
     "src/third_party/libjpeg_turbo": {
         "args": {
-            "hash": "sha256-qgHXAjCDFxQ+QqJ8pSmI1NUvHvKKTi4MkIe1I/+hUAI=",
-            "rev": "927aabfcd26897abb9776ecf2a6c38ea5bb52ab6",
+            "hash": "sha256-Ig+tmprZDvlf/M72/DTar2pbxat9ZElgSqdXdoM0lPs=",
+            "rev": "e14cbfaa85529d47f9f55b0f104a579c1061f9ad",
             "url": "https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git"
         },
         "fetcher": "fetchFromGitiles"
@@ -283,88 +283,88 @@
     },
     "src/third_party/libunwind/src": {
         "args": {
-            "hash": "sha256-JazjgI+ch9RgnsDgu6p4cT4UmCBor4x4sRi1ClLISAY=",
-            "rev": "e55d8cf51c6db1fdd4bb56c158945ec59772c8ee",
+            "hash": "sha256-LdRaxPo2i7uMeFxpR7R4o3V+1ycBcygT/D+gklsD0tA=",
+            "rev": "e2e6f2a67e9420e770b014ce9bba476fa2ab9874",
             "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git"
         },
         "fetcher": "fetchFromGitiles"
     },
     "src/third_party/libvpx/source/libvpx": {
         "args": {
-            "hash": "sha256-8/Ttkc1ZLQ9WvQf+0/BW9zlmWvlyGDujELyLDqNmQxI=",
-            "rev": "7a65480684b1b28bb9defae164bf0dc78b32653e",
+            "hash": "sha256-+4I6B1aTa+txhey6LMeflU0pe39V6TJ+lNIJPh6yFGM=",
+            "rev": "027bbee30a0103b99d86327b48d29567fed11688",
             "url": "https://chromium.googlesource.com/webm/libvpx.git"
         },
         "fetcher": "fetchFromGitiles"
     },
     "src/third_party/libyuv": {
         "args": {
-            "hash": "sha256-hHwJLMI/leUm8RjkBsSQn/GaNU8Aan1yllGnXvdfG78=",
-            "rev": "10592b60c0b2c33210b7752454253dc2625b4305",
+            "hash": "sha256-8sH11psWPXLMy3Q0tAizCZ/woUWvTCCUf44jcr2C4Xs=",
+            "rev": "ccdf870348764e4b77fa3b56accb2a896a901bad",
             "url": "https://chromium.googlesource.com/libyuv/libyuv.git"
         },
         "fetcher": "fetchFromGitiles"
     },
     "src/third_party/llvm-libc/src": {
         "args": {
-            "hash": "sha256-OtNt+IRn2AFRTKvrA+c9AD+mbfBD37K2S9PXk3UI99A=",
-            "rev": "12809bfa855813dcef51871e2ee3155e53ed35ea",
+            "hash": "sha256-sV1wqk8BC7cl7HPgAd+kmxOWpBuWT6kTX91IXIoSYts=",
+            "rev": "188329a7f2118a957efbb3e6219c255e7dba997c",
             "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git"
         },
         "fetcher": "fetchFromGitiles"
     },
     "src/third_party/lss": {
         "args": {
-            "hash": "sha256-hE8uZf9Fst66qJkoVYChiB8G41ie+k9M4X0W+5JUSdw=",
-            "rev": "ce877209e11aa69dcfffbd53ef90ea1d07136521",
+            "hash": "sha256-rhp4EcZYdgSfu9cqn+zxxGx6v2IW8uX8V+iA0UfZhFY=",
+            "rev": "ed31caa60f20a4f6569883b2d752ef7522de51e0",
             "url": "https://chromium.googlesource.com/linux-syscall-support.git"
         },
         "fetcher": "fetchFromGitiles"
     },
     "src/third_party/nasm": {
         "args": {
-            "hash": "sha256-SiRXHsUlWXtH6dbDjDjqNAm105ibEB3jOfNtQAM4CaY=",
-            "rev": "f477acb1049f5e043904b87b825c5915084a9a29",
+            "hash": "sha256-yg4qwhS68B/sWfcJeXUqPC69ppE8FaIyRc+IkUQXSnU=",
+            "rev": "767a169c8811b090df222a458b25dfa137fc637e",
             "url": "https://chromium.googlesource.com/chromium/deps/nasm.git"
         },
         "fetcher": "fetchFromGitiles"
     },
     "src/third_party/openh264/src": {
         "args": {
-            "hash": "sha256-S7dS2IZwt4p4ZrF6K7E5HnwKuI3owU2I7vwtu95uTkE=",
-            "rev": "478e5ab3eca30e600006d5a0a08b176fd34d3bd1",
+            "hash": "sha256-tf0lnxATCkoq+xRti6gK6J47HwioAYWnpEsLGSA5Xdg=",
+            "rev": "652bdb7719f30b52b08e506645a7322ff1b2cc6f",
             "url": "https://chromium.googlesource.com/external/github.com/cisco/openh264"
         },
         "fetcher": "fetchFromGitiles"
     },
     "src/third_party/perfetto": {
         "args": {
-            "hash": "sha256-ogrB+n5F4UnmL3nHJRyMFOLYVUvjirT9BClg20mTZkc=",
-            "rev": "a0c2bc7919f7467cf4a8287c8389c3f96a3fcbac",
+            "hash": "sha256-peD4Vnar1Uf8S/JYPpHH8dJZCDIpzpE4EYDfTqVyG8U=",
+            "rev": "40b529923598b739b2892a536a7692eedbed5685",
             "url": "https://android.googlesource.com/platform/external/perfetto.git"
         },
         "fetcher": "fetchFromGitiles"
     },
     "src/third_party/protobuf-javascript/src": {
         "args": {
-            "hash": "sha256-TmP6xftUVTD7yML7UEM/DB8bcsL5RFlKPyCpcboD86U=",
-            "rev": "e34549db516f8712f678fcd4bc411613b5cc5295",
+            "hash": "sha256-zq86SrDASl6aYPFPijRZp03hJqXUFz2Al/KkiNq7i0M=",
+            "rev": "eb785a9363664a402b6336dfe96aad27fb33ffa8",
             "url": "https://chromium.googlesource.com/external/github.com/protocolbuffers/protobuf-javascript"
         },
         "fetcher": "fetchFromGitiles"
     },
     "src/third_party/re2/src": {
         "args": {
-            "hash": "sha256-IeANwJlJl45yf8iu/AZNDoiyIvTCZIeK1b74sdCfAIc=",
-            "rev": "6dcd83d60f7944926bfd308cc13979fc53dd69ca",
+            "hash": "sha256-f/k2rloV2Nwb0KuJGUX4SijFxAx69EXcsXOG4vo+Kis=",
+            "rev": "c84a140c93352cdabbfb547c531be34515b12228",
             "url": "https://chromium.googlesource.com/external/github.com/google/re2.git"
         },
         "fetcher": "fetchFromGitiles"
     },
     "src/tools": {
         "args": {
-            "hash": "sha256-C3bzAAJp8OpKAHhM54P/sTBVFf3K6ffxvrpfKKxLRII=",
-            "rev": "6820cc03cc8a4b1fb99747f30e8249d138a70981",
+            "hash": "sha256-Vmhd5kfPaOyPJaDSg67V64FSgi4maEVjXE4PMnxnIFw=",
+            "rev": "3460fbcdee33353d37800dad5caa6bba327ad8c8",
             "url": "https://chromium.googlesource.com/chromium/src/tools"
         },
         "fetcher": "fetchFromGitiles"
diff --git a/pkgs/by-name/si/signal-desktop/webrtc.nix b/pkgs/by-name/si/signal-desktop/webrtc.nix
index ee4b81b0a7e4..26c387438f6b 100644
--- a/pkgs/by-name/si/signal-desktop/webrtc.nix
+++ b/pkgs/by-name/si/signal-desktop/webrtc.nix
@@ -10,6 +10,7 @@
   pulseaudio,
   writeShellScriptBin,
   gclient2nix,
+  rustc,
 }:
 
 stdenv.mkDerivation (finalAttrs: {
@@ -26,6 +27,7 @@ stdenv.mkDerivation (finalAttrs: {
       exec python3 "$@"
     '')
     python3
+    rustc
     pkg-config
     gclient2nix.gclientUnpackHook
   ];
@@ -70,6 +72,8 @@ stdenv.mkDerivation (finalAttrs: {
     "symbol_level=1"
     "rtc_include_tests=false"
     "rtc_enable_protobuf=false"
+
+    ''rust_sysroot_absolute="${rustc}"''
   ];
   ninjaFlags = [ "webrtc" ];
 
diff --git a/pkgs/by-name/si/signalbackup-tools/package.nix b/pkgs/by-name/si/signalbackup-tools/package.nix
index 36724a0f8983..8289a3718895 100644
--- a/pkgs/by-name/si/signalbackup-tools/package.nix
+++ b/pkgs/by-name/si/signalbackup-tools/package.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "signalbackup-tools";
-  version = "20250529";
+  version = "20250617";
 
   src = fetchFromGitHub {
     owner = "bepaald";
     repo = "signalbackup-tools";
     rev = version;
-    hash = "sha256-7TUyH2J4DFOAM1HWjWK4l4Dta0/aANhVUBNEbNF1G14=";
+    hash = "sha256-sX/JM8d0kex09OT8n4IF26+bSPwvTjarqoiRTknA2Og=";
   };
 
   nativeBuildInputs =
diff --git a/pkgs/by-name/si/sillytavern/package.nix b/pkgs/by-name/si/sillytavern/package.nix
new file mode 100644
index 000000000000..160e2bd5e64f
--- /dev/null
+++ b/pkgs/by-name/si/sillytavern/package.nix
@@ -0,0 +1,47 @@
+{
+  makeBinaryWrapper,
+  buildNpmPackage,
+  nodejs,
+  fetchFromGitHub,
+  lib,
+}:
+buildNpmPackage (finalAttrs: {
+  pname = "sillytavern";
+  version = "1.13.0";
+
+  src = fetchFromGitHub {
+    owner = "SillyTavern";
+    repo = "SillyTavern";
+    tag = finalAttrs.version;
+    hash = "sha256-HUlypAPadlad12J60Xfa30qE18II6MceVYkMqANWlyI=";
+  };
+  npmDepsHash = "sha256-IZMwDgazY+6oyuOlE7zdWcDn5D2/8v2mHX9yDBwK+4I=";
+
+  nativeBuildInputs = [ makeBinaryWrapper ];
+
+  dontNpmBuild = true;
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/{bin,opt}
+    cp -r . $out/opt/sillytavern
+    makeWrapper ${lib.getExe nodejs} $out/bin/sillytavern \
+      --add-flags $out/opt/sillytavern/server.js \
+      --set-default NODE_ENV production
+
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "LLM Frontend for Power Users";
+    longDescription = ''
+      SillyTavern is a user interface you can install on your computer (and Android phones) that allows you to interact with
+      text generation AIs and chat/roleplay with characters you or the community create.
+    '';
+    downloadPage = "https://github.com/SillyTavern/SillyTavern/releases";
+    homepage = "https://docs.sillytavern.app/";
+    mainProgram = "sillytavern";
+    license = lib.licenses.agpl3Only;
+    maintainers = [ lib.maintainers.wrvsrx ];
+  };
+})
diff --git a/pkgs/by-name/si/simbaplusplus/package.nix b/pkgs/by-name/si/simbaplusplus/package.nix
index 9876b9ad1db7..43b67ebd5c56 100644
--- a/pkgs/by-name/si/simbaplusplus/package.nix
+++ b/pkgs/by-name/si/simbaplusplus/package.nix
@@ -5,6 +5,7 @@
   cmake,
   llvmPackages,
   z3,
+  python3,
 }:
 
 stdenv.mkDerivation (finalAttrs: {
@@ -33,6 +34,10 @@ stdenv.mkDerivation (finalAttrs: {
     z3
   ];
 
+  checkInputs = [
+    python3
+  ];
+
   doCheck = true;
 
   meta = {
diff --git a/pkgs/by-name/si/simdjson/package.nix b/pkgs/by-name/si/simdjson/package.nix
index 574fd70bc2d0..1a64b60ac280 100644
--- a/pkgs/by-name/si/simdjson/package.nix
+++ b/pkgs/by-name/si/simdjson/package.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "simdjson";
-  version = "3.12.3";
+  version = "3.13.0";
 
   src = fetchFromGitHub {
     owner = "simdjson";
     repo = "simdjson";
     rev = "v${version}";
-    sha256 = "sha256-/FfaM5BTWKrt2m70+VcUXz//RiZuzxnUOaHOjPJWsGw=";
+    sha256 = "sha256-Vzw1FpFjg3Tun1Sfk7H4h4tY7lfnjE1Wk+W82K7dcW0=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/by-name/si/simdutf/package.nix b/pkgs/by-name/si/simdutf/package.nix
index 93cdf3dee761..14d3aa88d762 100644
--- a/pkgs/by-name/si/simdutf/package.nix
+++ b/pkgs/by-name/si/simdutf/package.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "simdutf";
-  version = "7.3.0";
+  version = "7.3.1";
 
   src = fetchFromGitHub {
     owner = "simdutf";
     repo = "simdutf";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-P1Ryi0LdibqrHfBjq2lLBMQfB0WjLA69K3SwK/apFZM=";
+    hash = "sha256-U53FYlojKc3Q/GIC5TtfYmJMrB+NlPhSwIjNlp/5ZvI=";
   };
 
   # Fix build on darwin
diff --git a/pkgs/by-name/si/simple-live-app/package.nix b/pkgs/by-name/si/simple-live-app/package.nix
index b67e3177cef1..3b251bfe112b 100644
--- a/pkgs/by-name/si/simple-live-app/package.nix
+++ b/pkgs/by-name/si/simple-live-app/package.nix
@@ -1,6 +1,6 @@
 {
   lib,
-  flutter329,
+  flutter332,
   fetchFromGitHub,
   autoPatchelfHook,
   mpv,
@@ -8,15 +8,15 @@
   copyDesktopItems,
 }:
 
-flutter329.buildFlutterApplication rec {
+flutter332.buildFlutterApplication rec {
   pname = "simple-live-app";
-  version = "1.8.3";
+  version = "1.8.6";
 
   src = fetchFromGitHub {
     owner = "xiaoyaocz";
     repo = "dart_simple_live";
     tag = "v${version}";
-    hash = "sha256-8l+9NA9W7um61dbEf264OhrAdJLS6zyCTv78daOKfOw=";
+    hash = "sha256-6kEty4QZZQW3Xzz4213ThC4FF+quMNE4oAuZ1limxFg=";
   };
 
   sourceRoot = "${src.name}/simple_live_app";
diff --git a/pkgs/by-name/si/simple-live-app/pubspec.lock.json b/pkgs/by-name/si/simple-live-app/pubspec.lock.json
index a3c3076bb426..66d5f7664335 100644
--- a/pkgs/by-name/si/simple-live-app/pubspec.lock.json
+++ b/pkgs/by-name/si/simple-live-app/pubspec.lock.json
@@ -160,11 +160,11 @@
       "dependency": "transitive",
       "description": {
         "name": "built_value",
-        "sha256": "ea90e81dc4a25a043d9bee692d20ed6d1c4a1662a28c03a96417446c093ed6b4",
+        "sha256": "082001b5c3dc495d4a42f1d5789990505df20d8547d42507c29050af6933ee27",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "8.9.5"
+      "version": "8.10.1"
     },
     "characters": {
       "dependency": "transitive",
@@ -502,11 +502,11 @@
       "dependency": "direct main",
       "description": {
         "name": "flutter_smart_dialog",
-        "sha256": "a3aaf690b2737ee6b2c7e7a983bc685e5f118e5de7e2042d2e0b7db26eb074f2",
+        "sha256": "d09a661b928b0af0bff58c84c5a5244ab342fc7ce6f910ac1d01b0b284d821be",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "4.9.8+7"
+      "version": "4.9.8+8"
     },
     "flutter_staggered_grid_view": {
       "dependency": "direct main",
@@ -614,11 +614,11 @@
       "dependency": "transitive",
       "description": {
         "name": "http",
-        "sha256": "fe7ab022b76f3034adc518fb6ea04a82387620e19977665ea18d30a1cf43442f",
+        "sha256": "2c11f3f94c687ee9bad77c171151672986360b2b001d109814ee7140b2cf261b",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.3.0"
+      "version": "1.4.0"
     },
     "http_client_helper": {
       "dependency": "transitive",
@@ -1265,11 +1265,11 @@
       "dependency": "direct main",
       "description": {
         "name": "screen_brightness",
-        "sha256": "eca7bd9d2c3c688bcad14855361cab7097839400b6b4a56f62b7ae511c709958",
+        "sha256": "46d1b448729c1ed67c812f2c97d7fa8308809d91031c7ecdeb216ca65f7660de",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.1.2"
+      "version": "2.1.3"
     },
     "screen_brightness_android": {
       "dependency": "transitive",
@@ -1301,6 +1301,16 @@
       "source": "hosted",
       "version": "2.1.1"
     },
+    "screen_brightness_ohos": {
+      "dependency": "transitive",
+      "description": {
+        "name": "screen_brightness_ohos",
+        "sha256": "61e313e46eaee3f83dd4e85a2a91f8a81be02c154bc9e60830a7c0fd76dac286",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.1.0"
+    },
     "screen_brightness_platform_interface": {
       "dependency": "transitive",
       "description": {
@@ -1490,11 +1500,11 @@
       "dependency": "transitive",
       "description": {
         "name": "sse",
-        "sha256": "4389a01d5bc7ef3e90fbc645f8e7c6d8711268adb1f511e14ae9c71de47ee32b",
+        "sha256": "fcc97470240bb37377f298e2bd816f09fd7216c07928641c0560719f50603643",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "4.1.7"
+      "version": "4.1.8"
     },
     "sse_channel": {
       "dependency": "transitive",
@@ -1819,11 +1829,11 @@
       "dependency": "transitive",
       "description": {
         "name": "web_socket",
-        "sha256": "bfe6f435f6ec49cb6c01da1e275ae4228719e59a6b067048c51e72d9d63bcc4b",
+        "sha256": "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.0.0"
+      "version": "1.0.1"
     },
     "web_socket_channel": {
       "dependency": "transitive",
@@ -1849,11 +1859,11 @@
       "dependency": "transitive",
       "description": {
         "name": "win32",
-        "sha256": "dc6ecaa00a7c708e5b4d10ee7bec8c270e9276dfcab1783f57e9962d7884305f",
+        "sha256": "329edf97fdd893e0f1e3b9e88d6a0e627128cc17cc316a8d67fda8f1451178ba",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "5.12.0"
+      "version": "5.13.0"
     },
     "win32_registry": {
       "dependency": "transitive",
diff --git a/pkgs/by-name/si/simpleDBus/package.nix b/pkgs/by-name/si/simpleDBus/package.nix
index 0fb081962d25..b79b20b974b1 100644
--- a/pkgs/by-name/si/simpleDBus/package.nix
+++ b/pkgs/by-name/si/simpleDBus/package.nix
@@ -10,13 +10,13 @@
 stdenv.mkDerivation (finalAttrs: {
   pname = "simpleDBus";
 
-  version = "0.9.1";
+  version = "0.10.1";
 
   src = fetchFromGitHub {
     owner = "OpenBluetoothToolbox";
     repo = "SimpleBLE";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-VaaDk+pLRUlVjGKFzi22QhYxk1b2bo6rX9TVeJsJdh8=";
+    hash = "sha256-SFQs0f36xW0PibK1P1rTCWOA7pp3kY6659xLOBeZt6A=";
   };
 
   outputs = [
diff --git a/pkgs/by-name/si/simplex-chat-desktop/package.nix b/pkgs/by-name/si/simplex-chat-desktop/package.nix
index 7eb7cbcdf2f2..d0456b8f930b 100644
--- a/pkgs/by-name/si/simplex-chat-desktop/package.nix
+++ b/pkgs/by-name/si/simplex-chat-desktop/package.nix
@@ -7,11 +7,11 @@
 
 let
   pname = "simplex-chat-desktop";
-  version = "6.3.4";
+  version = "6.3.6";
 
   src = fetchurl {
     url = "https://github.com/simplex-chat/simplex-chat/releases/download/v${version}/simplex-desktop-x86_64.AppImage";
-    hash = "sha256-BE0JOcl3UbYoqzihgoqfcM1yxvxodSGdm8QaBgVhHBY=";
+    hash = "sha256-EvDDWLgucqTPcf9eC2q9IJKfo1mxRAo82PAzkzxVESc=";
   };
 
   appimageContents = appimageTools.extract {
diff --git a/pkgs/by-name/si/sing-box/package.nix b/pkgs/by-name/si/sing-box/package.nix
index 79f8481ad63f..7bf3abce085b 100644
--- a/pkgs/by-name/si/sing-box/package.nix
+++ b/pkgs/by-name/si/sing-box/package.nix
@@ -10,16 +10,16 @@
 
 buildGoModule (finalAttrs: {
   pname = "sing-box";
-  version = "1.11.13";
+  version = "1.11.14";
 
   src = fetchFromGitHub {
     owner = "SagerNet";
     repo = "sing-box";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-Pq5ElVDNJTeT4h6ZrupnKlCydxfJ2wAxk/9eZblT4d4=";
+    hash = "sha256-GgFsTLMyrNsYT9GUlnXnSzynIa2D2ECtcYvKMfvndkA=";
   };
 
-  vendorHash = "sha256-/awpe9v+J1O0DKMvi6CNAgJ0mFJaWoXPHzRAk98nQ+Y=";
+  vendorHash = "sha256-ULfPmVQ2Ngr1ujeCmUPOOaqxyQmbgqH1w6P9TwvjhSo=";
 
   tags = [
     "with_quic"
diff --git a/pkgs/by-name/si/sing-geoip/package.nix b/pkgs/by-name/si/sing-geoip/package.nix
index 8695ccf55447..42992cf1b9cd 100644
--- a/pkgs/by-name/si/sing-geoip/package.nix
+++ b/pkgs/by-name/si/sing-geoip/package.nix
@@ -13,7 +13,7 @@ let
 
     src = fetchFromGitHub {
       owner = "SagerNet";
-      repo = pname;
+      repo = "sing-geoip";
       rev = "refs/tags/${version}";
       hash = "sha256-nIrbiECK25GyuPEFqMvPdZUShC2JC1NI60Y10SsoWyY=";
     };
diff --git a/pkgs/by-name/si/singular/package.nix b/pkgs/by-name/si/singular/package.nix
index c71f933edc66..d16b427c282a 100644
--- a/pkgs/by-name/si/singular/package.nix
+++ b/pkgs/by-name/si/singular/package.nix
@@ -1,6 +1,7 @@
 {
   stdenv,
   fetchFromGitHub,
+  fetchpatch,
   gmp,
   bison,
   perl,
@@ -70,6 +71,18 @@ stdenv.mkDerivation rec {
     patchShebangs .
   '';
 
+  # Use fq_nmod_mat_entry instead of row pointer (removed in flint 3.3.0)
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/Singular/Singular/commit/05f5116e13c8a4f5f820c78c35944dd6d197d442.patch";
+      hash = "sha256-4l7JaCCFzE+xINU+E92eBN5CJKIdtQHly4Ed3ZwbKTA=";
+    })
+    (fetchpatch {
+      url = "https://github.com/Singular/Singular/commit/595d7167e6e019d45d9a4f1e18ae741df1f3c41d.patch";
+      hash = "sha256-hpTZy/eAiHAaleasWPAenxM35aqeNAZ//o6OqqdGOJ4=";
+    })
+  ];
+
   # For reference (last checked on commit 75f460d):
   # https://github.com/Singular/Singular/blob/spielwiese/doc/Building-Singular-from-source.md
   # https://github.com/Singular/Singular/blob/spielwiese/doc/external-packages-dynamic-modules.md
diff --git a/pkgs/by-name/si/sioyek/package.nix b/pkgs/by-name/si/sioyek/package.nix
index 0cd41434b56f..54e8dd02bb77 100644
--- a/pkgs/by-name/si/sioyek/package.nix
+++ b/pkgs/by-name/si/sioyek/package.nix
@@ -15,13 +15,13 @@
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "sioyek";
-  version = "2.0.0-unstable-2025-05-30";
+  version = "2.0.0-unstable-2025-06-07";
 
   src = fetchFromGitHub {
     owner = "ahrm";
     repo = "sioyek";
-    rev = "43402f6207f241ea0bb2854dfd9159e175649921";
-    hash = "sha256-mB7vBnvSrQdrPO4yLKRmDvYfuDOCfOshV64cAVGsdDU=";
+    rev = "5726ccd9d28327c462e4853822ef55ef486e1e4d";
+    hash = "sha256-ANZYsOuTUEp5agbCdBX2uqTh8XKx53bMJn5UPpmKixY=";
   };
 
   buildInputs =
diff --git a/pkgs/by-name/si/sitespeed-io/package.nix b/pkgs/by-name/si/sitespeed-io/package.nix
index 0f7a41cc1690..629c83878b9b 100644
--- a/pkgs/by-name/si/sitespeed-io/package.nix
+++ b/pkgs/by-name/si/sitespeed-io/package.nix
@@ -26,13 +26,13 @@ assert
   (!withFirefox && !withChromium) -> throw "Either `withFirefox` or `withChromium` must be enabled.";
 buildNpmPackage rec {
   pname = "sitespeed-io";
-  version = "37.6.0";
+  version = "37.8.0";
 
   src = fetchFromGitHub {
     owner = "sitespeedio";
     repo = "sitespeed.io";
     tag = "v${version}";
-    hash = "sha256-sR6vDLoMysdcbtaIrNUvzwhIPe0GbymHdKQkFDBaEiM=";
+    hash = "sha256-0bXkVqCen0kUHP8YeFkpdxTd+4Hx6YMZVTjwgWWg6nQ=";
   };
 
   postPatch = ''
@@ -50,7 +50,7 @@ buildNpmPackage rec {
 
   dontNpmBuild = true;
   npmInstallFlags = [ "--omit=dev" ];
-  npmDepsHash = "sha256-6Q8ed8iIGVOUNIn7gMEgqK8fqF5dI2fO/j5u7hj3hGA=";
+  npmDepsHash = "sha256-ZWjlueRZkH5lsalUY/xoOO/22P9Ta5CnmK0UKjapyU8=";
 
   postInstall = ''
     mv $out/bin/sitespeed{.,-}io
diff --git a/pkgs/by-name/sk/skaffold/package.nix b/pkgs/by-name/sk/skaffold/package.nix
index c81e04263d39..96767292a646 100644
--- a/pkgs/by-name/sk/skaffold/package.nix
+++ b/pkgs/by-name/sk/skaffold/package.nix
@@ -8,13 +8,13 @@
 
 buildGoModule rec {
   pname = "skaffold";
-  version = "2.16.0";
+  version = "2.16.1";
 
   src = fetchFromGitHub {
     owner = "GoogleContainerTools";
     repo = "skaffold";
     rev = "v${version}";
-    hash = "sha256-THObVIWvuebq+2voNxP08d2MM6GrEiOmB4mlBcW8hkg=";
+    hash = "sha256-pQyudlU/nn9ZcX4RLp3RvXntxgra3Vs4+HOjvBOKrow=";
   };
 
   vendorHash = null;
diff --git a/pkgs/by-name/sk/sketchybar-app-font/package.nix b/pkgs/by-name/sk/sketchybar-app-font/package.nix
index 21f215f363c7..2003f98c87ad 100644
--- a/pkgs/by-name/sk/sketchybar-app-font/package.nix
+++ b/pkgs/by-name/sk/sketchybar-app-font/package.nix
@@ -9,13 +9,13 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "sketchybar-app-font";
-  version = "2.0.32";
+  version = "2.0.35";
 
   src = fetchFromGitHub {
     owner = "kvndrsslr";
     repo = "sketchybar-app-font";
-    rev = "v2.0.32";
-    hash = "sha256-svMkvtuikNzUD5OL8oEqjVpvU2XK/pCXks5/Pbbpi/I=";
+    rev = "v2.0.35";
+    hash = "sha256-qXXxpx/thEJuFnNUWmMXYMoir5CGqCktV1emzVPcTIY=";
   };
 
   pnpmDeps = pnpm_9.fetchDeps {
diff --git a/pkgs/by-name/sk/skyscraper/package.nix b/pkgs/by-name/sk/skyscraper/package.nix
index 35d5e2967e89..3018c7900674 100644
--- a/pkgs/by-name/sk/skyscraper/package.nix
+++ b/pkgs/by-name/sk/skyscraper/package.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "skyscraper";
-  version = "3.17.2";
+  version = "3.17.3";
 
   src = fetchFromGitHub {
     owner = "Gemba";
     repo = "skyscraper";
     rev = "refs/tags/${finalAttrs.version}";
-    hash = "sha256-VcXa+aI2z+EKJgAtMKsYO/QZ3Ky2acsRYcqDqMFNedg=";
+    hash = "sha256-vQkvIQnTonvEByZaUQbumfR9aSiakEvy4MLXvllztis=";
   };
 
   strictDeps = true;
diff --git a/pkgs/applications/misc/sl1-to-photon/default.nix b/pkgs/by-name/sl/sl1-to-photon/package.nix
similarity index 85%
rename from pkgs/applications/misc/sl1-to-photon/default.nix
rename to pkgs/by-name/sl/sl1-to-photon/package.nix
index 5c78d28b090e..f763d9fcb90d 100644
--- a/pkgs/applications/misc/sl1-to-photon/default.nix
+++ b/pkgs/by-name/sl/sl1-to-photon/package.nix
@@ -1,17 +1,12 @@
 {
   lib,
-  buildPythonApplication,
   fetchFromGitHub,
-  pillow,
-  pyside2,
-  numpy,
-  pyphotonfile,
-  shiboken2,
+  python312Packages,
 }:
 let
   version = "0.1.3+";
 in
-buildPythonApplication rec {
+python312Packages.buildPythonApplication rec {
   pname = "sl1-to-photon";
   inherit version;
 
@@ -22,7 +17,7 @@ buildPythonApplication rec {
     sha256 = "ssFfjlBMi3FHosDBUA2gs71VUIBkEdPVcV3STNxmOIM=";
   };
 
-  pythonPath = [
+  pythonPath = with python312Packages; [
     pyphotonfile
     pillow
     numpy
diff --git a/pkgs/by-name/sl/slackdump/package.nix b/pkgs/by-name/sl/slackdump/package.nix
index 4edf9e05cda1..503f1d431965 100644
--- a/pkgs/by-name/sl/slackdump/package.nix
+++ b/pkgs/by-name/sl/slackdump/package.nix
@@ -9,13 +9,13 @@
 
 buildGoModule rec {
   pname = "slackdump";
-  version = "3.1.3";
+  version = "3.1.4";
 
   src = fetchFromGitHub {
     owner = "rusq";
     repo = "slackdump";
     tag = "v${version}";
-    hash = "sha256-Ophs/HLdjwVPn8Q6Jng2F/GKp+Dmy8ULxGJm9L7IQXI=";
+    hash = "sha256-unJe3hTIYmQMAvyY0N1S2JiyTtOSaKaJSqE2C9LqDh0=";
   };
 
   nativeCheckInputs = lib.optional stdenv.hostPlatform.isDarwin darwin.IOKitTools;
@@ -32,7 +32,7 @@ buildGoModule rec {
       "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$"
     ];
 
-  vendorHash = "sha256-iT5hCLOSWuquNsaSe3Wra6LsJeRF4NvI3+NXYkPoLEI=";
+  vendorHash = "sha256-Uy/l3eZSWqVeFKFr6Sc+0h8UVzLGmRXVF6sbX6tnXWA=";
 
   __darwinAllowLocalNetworking = true;
 
diff --git a/pkgs/by-name/sl/slint-viewer/package.nix b/pkgs/by-name/sl/slint-viewer/package.nix
index 76165cd5e43c..888ebb584a15 100644
--- a/pkgs/by-name/sl/slint-viewer/package.nix
+++ b/pkgs/by-name/sl/slint-viewer/package.nix
@@ -9,15 +9,15 @@
 }:
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "slint-viewer";
-  version = "1.11.0";
+  version = "1.12.0";
 
   src = fetchCrate {
     inherit (finalAttrs) pname version;
-    hash = "sha256-Yez8GbER6ylkozQP5oQ0m0u+x/T5qQVPRt0S/NRFT60=";
+    hash = "sha256-RFOKraBiAqhVH/3nSVEqhR4Gfxr4qJet+yYUrf4/ZzA=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-vWTj6cJgvg10NaLw9WfHXmiG8hg7mUIH/Gj3JVvWCuA=";
+  cargoHash = "sha256-gyE7CozFDUEwv87bSQJYyb07nQOHNAyHg7nFgBdhRx4=";
 
   buildInputs = [
     qt6.qtbase
@@ -38,6 +38,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
     description = "Viewer for .slint files from the Slint Project";
     mainProgram = "slint-viewer";
     homepage = "https://crates.io/crates/slint-viewer";
+    changelog = "https://github.com/slint-ui/slint/blob/master/CHANGELOG.md";
     license = lib.licenses.gpl3Only;
     platforms = lib.platforms.linux ++ lib.platforms.darwin;
     maintainers = with lib.maintainers; [ dtomvan ];
diff --git a/pkgs/by-name/sl/slipshow/package.nix b/pkgs/by-name/sl/slipshow/package.nix
new file mode 100644
index 000000000000..293df9709d9f
--- /dev/null
+++ b/pkgs/by-name/sl/slipshow/package.nix
@@ -0,0 +1,62 @@
+{
+  lib,
+  ocamlPackages,
+  fetchFromGitHub,
+  versionCheckHook,
+  nix-update-script,
+}:
+
+ocamlPackages.buildDunePackage rec {
+  pname = "slipshow";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "panglesd";
+    repo = "slipshow";
+    tag = "v${version}";
+    hash = "sha256-1gjQDkjDxanshvn1fNxwpJFt12uRWnkmRbs0tWdTgtM=";
+  };
+
+  postPatch = ''
+    substituteInPlace ./src/cli/main.ml \
+      --replace-fail '%%VERSION%%' '${version}'
+  '';
+
+  nativeBuildInputs = with ocamlPackages; [
+    js_of_ocaml
+  ];
+
+  buildInputs = with ocamlPackages; [
+    base64
+    bos
+    cmdliner
+    dream
+    fmt
+    fpath
+    irmin-watcher
+    js_of_ocaml-lwt
+    logs
+    lwt
+    magic-mime
+    ppx_blob
+    ppx_sexp_value
+    sexplib
+  ];
+
+  doCheck = true;
+
+  nativeCheckInputs = [ versionCheckHook ];
+  versionCheckProgramArg = "--version";
+  doInstallCheck = true;
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    description = "Engine for displaying slips, the next-gen version of slides";
+    homepage = "https://slipshow.readthedocs.io/en/latest/index.html";
+    downloadPage = "https://github.com/panglesd/slipshow";
+    maintainers = [ lib.maintainers.ethancedwards8 ];
+    teams = [ lib.teams.ngi ];
+    mainProgram = "slipshow";
+  };
+}
diff --git a/pkgs/by-name/sl/slrn/package.nix b/pkgs/by-name/sl/slrn/package.nix
deleted file mode 100644
index 78de45eb9904..000000000000
--- a/pkgs/by-name/sl/slrn/package.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{
-  lib,
-  stdenv,
-  fetchurl,
-  slang,
-  ncurses,
-  openssl,
-}:
-
-stdenv.mkDerivation rec {
-  pname = "slrn";
-  version = "1.0.3a";
-
-  src = fetchurl {
-    url = "http://www.jedsoft.org/releases/slrn/slrn-${version}.tar.bz2";
-    sha256 = "1b1d9iikr60w0vq86y9a0l4gjl0jxhdznlrdp3r405i097as9a1v";
-  };
-
-  preConfigure = ''
-    sed -i -e "s|-ltermcap|-lncurses|" configure
-    sed -i autoconf/Makefile.in src/Makefile.in \
-      -e "s|/bin/cp|cp|"  \
-      -e "s|/bin/rm|rm|"
-  '';
-
-  configureFlags = [
-    "--with-slang=${slang.dev}"
-    "--with-ssl=${openssl.dev}"
-    "--with-slrnpull"
-  ];
-
-  buildInputs = [
-    slang
-    ncurses
-    openssl
-  ];
-
-  meta = with lib; {
-    description = "Slrn (S-Lang read news) newsreader";
-    homepage = "https://slrn.sourceforge.net/index.html";
-    license = licenses.gpl2;
-    platforms = with platforms; linux;
-  };
-}
diff --git a/pkgs/by-name/sl/slumber/package.nix b/pkgs/by-name/sl/slumber/package.nix
index 050b02ba29b2..98776cbff851 100644
--- a/pkgs/by-name/sl/slumber/package.nix
+++ b/pkgs/by-name/sl/slumber/package.nix
@@ -6,17 +6,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "slumber";
-  version = "3.1.1";
+  version = "3.1.3";
 
   src = fetchFromGitHub {
     owner = "LucasPickering";
     repo = "slumber";
     tag = "v${version}";
-    hash = "sha256-ilqIqw0N4Xsfw7ntLxoz4Ogn2e3NH8VnqAgowbvfZ+0=";
+    hash = "sha256-HSC0G0Ll8geBwd4eBhk5demL2likhMZqlkYGcbzNOck=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-acWEinwYCCtoapFkL6XyASvFX4bqYS/HrKjlaAZabi4=";
+  cargoHash = "sha256-5i4lfW21QJzVReUGdgeymI1tBX367qBu8yveVFtgORI=";
 
   meta = {
     description = "Terminal-based HTTP/REST client";
diff --git a/pkgs/by-name/sm/smfh/package.nix b/pkgs/by-name/sm/smfh/package.nix
new file mode 100644
index 000000000000..d59d42a9221c
--- /dev/null
+++ b/pkgs/by-name/sm/smfh/package.nix
@@ -0,0 +1,30 @@
+{
+  lib,
+  rustPlatform,
+  fetchFromGitHub,
+}:
+
+rustPlatform.buildRustPackage (finalAttrs: {
+  pname = "smfh";
+  version = "1.1";
+
+  src = fetchFromGitHub {
+    owner = "feel-co";
+    repo = "smfh";
+    tag = finalAttrs.version;
+    hash = "sha256-/9Ww10kYopxfCNNnNDwENTubs7Wzqlw+O6PJAHNOYQw=";
+  };
+
+  cargoHash = "sha256-MpqbmhjNsE1krs7g3zWSXGxzb4G/A+cz/zxD2Jk2HC8=";
+
+  meta = {
+    description = "Sleek Manifest File Handler";
+    homepage = "https://github.com/feel-co/smfh";
+    license = lib.licenses.agpl3Only;
+    maintainers = with lib.maintainers; [
+      arthsmn
+      gerg-l
+    ];
+    mainProgram = "smfh";
+  };
+})
diff --git a/pkgs/by-name/sm/smplayer/package.nix b/pkgs/by-name/sm/smplayer/package.nix
index 2a7573a22315..6c4489332716 100644
--- a/pkgs/by-name/sm/smplayer/package.nix
+++ b/pkgs/by-name/sm/smplayer/package.nix
@@ -10,13 +10,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "smplayer";
-  version = "24.5.0";
+  version = "25.6.0";
 
   src = fetchFromGitHub {
     owner = "smplayer-dev";
     repo = "smplayer";
-    rev = "v${finalAttrs.version}";
-    hash = "sha256-KblVDlE8EglMMAclGFZm81obipm6/JLUvsn5sLrpKqc=";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-txGz6v9hkvnrmVmBHsi1B2eC/iNT1tg4dU5AcMsSCic=";
   };
 
   nativeBuildInputs = [
@@ -51,7 +51,7 @@ stdenv.mkDerivation (finalAttrs: {
       options of MPlayer, SMPlayer adds other interesting features like the
       possibility to play Youtube videos or download subtitles.
     '';
-    changelog = "https://github.com/smplayer-dev/smplayer/releases/tag/${finalAttrs.src.rev}";
+    changelog = "https://github.com/smplayer-dev/smplayer/releases/tag/${finalAttrs.src.tag}";
     license = lib.licenses.gpl3Plus;
     maintainers = with lib.maintainers; [ ];
     platforms = lib.platforms.linux;
diff --git a/pkgs/by-name/sn/snac2/package.nix b/pkgs/by-name/sn/snac2/package.nix
index 81caa40570f8..75d456a3c51b 100644
--- a/pkgs/by-name/sn/snac2/package.nix
+++ b/pkgs/by-name/sn/snac2/package.nix
@@ -10,14 +10,14 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "snac2";
-  version = "2.77";
+  version = "2.78";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "grunfink";
     repo = "snac2";
     tag = finalAttrs.version;
-    hash = "sha256-QUPFD7x1ZDnDxediA+oqYC8CotmGeAr36xSZ3STOK9Y=";
+    hash = "sha256-t2FQFHpEN9IZMqLp2nNH0utkKjgkw1EPxadAn07h7sw=";
   };
 
   buildInputs = [
diff --git a/pkgs/by-name/sn/snapcraft/package.nix b/pkgs/by-name/sn/snapcraft/package.nix
index 630f8dce0f74..d8378dc610bd 100644
--- a/pkgs/by-name/sn/snapcraft/package.nix
+++ b/pkgs/by-name/sn/snapcraft/package.nix
@@ -14,7 +14,7 @@
 
 python312Packages.buildPythonApplication rec {
   pname = "snapcraft";
-  version = "8.9.2";
+  version = "8.9.4";
 
   pyproject = true;
 
@@ -22,7 +22,7 @@ python312Packages.buildPythonApplication rec {
     owner = "canonical";
     repo = "snapcraft";
     tag = version;
-    hash = "sha256-4Dv2q/aKWnQkQ6ANYev/5fT1fFKh1MytYJtHK0iAzhk=";
+    hash = "sha256-iiz+sVncztaCNndU+4YMhxECw7R6ks+25apRnd0WgyM=";
   };
 
   patches = [
@@ -111,6 +111,7 @@ python312Packages.buildPythonApplication rec {
     "docutils"
     "jsonschema"
     "pygit2"
+    "requests"
     "urllib3"
     "validators"
   ];
diff --git a/pkgs/by-name/sn/snapweb/package.nix b/pkgs/by-name/sn/snapweb/package.nix
index e3b1673a9180..673da07c817c 100644
--- a/pkgs/by-name/sn/snapweb/package.nix
+++ b/pkgs/by-name/sn/snapweb/package.nix
@@ -8,16 +8,16 @@
 
 buildNpmPackage rec {
   pname = "snapweb";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "badaix";
     repo = "snapweb";
     rev = "v${version}";
-    hash = "sha256-rrJmuTFk2dC+GqYmBZ+hu5hx1iknAgSWjr22S7bfmEE=";
+    hash = "sha256-vil7HzP2KtdhFCxW12ah3EN3PxTE0ypctGPQbHT4M98=";
   };
 
-  npmDepsHash = "sha256-n1MmU9zHyuEqtQSfYpQ+0hDM0z6ongcFsGyikPMyNSU=";
+  npmDepsHash = "sha256-/gsdiAbxI2Wr1dzT8jGxoNx1hts1dVcTRKTj+5gFy0Y=";
 
   # For 'sharp' dependency, otherwise it will try to build it
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/by-name/sn/snipaste/package.nix b/pkgs/by-name/sn/snipaste/package.nix
index f6eec3131d03..d263602fad1e 100644
--- a/pkgs/by-name/sn/snipaste/package.nix
+++ b/pkgs/by-name/sn/snipaste/package.nix
@@ -5,10 +5,10 @@
 }:
 let
   pname = "snipaste";
-  version = "2.10.7";
+  version = "2.10.8";
   src = fetchurl {
     url = "https://download.snipaste.com/archives/Snipaste-${version}-x86_64.AppImage";
-    hash = "sha256-WzCSI0BfjolbWbj/mLhRj75tW/CvlbzQtFuBizg8xl4=";
+    hash = "sha256-Ieitxc1HPjqBpf7/rREKca+U0srE+q/s8mz+9Vhczk0=";
   };
   contents = appimageTools.extract { inherit pname version src; };
 in
diff --git a/pkgs/by-name/sn/snipe-it/package.nix b/pkgs/by-name/sn/snipe-it/package.nix
index 1b8356d9e89d..7b2053b09310 100644
--- a/pkgs/by-name/sn/snipe-it/package.nix
+++ b/pkgs/by-name/sn/snipe-it/package.nix
@@ -9,16 +9,16 @@
 
 php84.buildComposerProject2 (finalAttrs: {
   pname = "snipe-it";
-  version = "8.1.4";
+  version = "8.1.16";
 
   src = fetchFromGitHub {
     owner = "grokability";
     repo = "snipe-it";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-Mz+8f8VRwBf80tfrtecKnkFDIP7lsjJVPezyZI2uFbg=";
+    hash = "sha256-Eo0Z6aWbNniOcPIjsgWwy9d9TXfyYZPK3AtVxbAcjac=";
   };
 
-  vendorHash = "sha256-w+wdGGCACzpJMFuKk48h71DVMfsGguxeJLTen1U8Pp8=";
+  vendorHash = "sha256-bQFNpms8l85d74HoTEPx2fHZxbcjtbf1MoKj4lX3AMk=";
 
   postInstall = ''
     snipe_it_out="$out/share/php/snipe-it"
diff --git a/pkgs/by-name/sn/snx-rs/package.nix b/pkgs/by-name/sn/snx-rs/package.nix
index 6678fb7e5ff7..bff98d0f0b97 100644
--- a/pkgs/by-name/sn/snx-rs/package.nix
+++ b/pkgs/by-name/sn/snx-rs/package.nix
@@ -2,51 +2,39 @@
   fetchFromGitHub,
   glib,
   gtk4,
-  iproute2,
   kdePackages,
   lib,
-  libappindicator,
-  libappindicator-gtk2,
-  libappindicator-gtk3,
-  libayatana-appindicator,
-  libsoup_3,
   openssl,
   pkg-config,
   rustPlatform,
-  webkitgtk_4_1,
+  wrapGAppsHook4,
   graphene,
   nix-update-script,
   versionCheckHook,
 }:
 rustPlatform.buildRustPackage rec {
   pname = "snx-rs";
-  version = "4.4.1";
+  version = "4.4.3";
 
   src = fetchFromGitHub {
     owner = "ancwrd1";
     repo = "snx-rs";
     tag = "v${version}";
-    hash = "sha256-Juv38ALXf1nMeokBH7Z+39oIscXW7S+OxdD/ZSNs49U=";
+    hash = "sha256-dGK+52sOyJs4P3SfTdjPPSbBgSyVGFHcNw45Jed6aVo=";
   };
 
   passthru.updateScript = nix-update-script { };
 
   nativeBuildInputs = [
-    iproute2
     pkg-config
+    wrapGAppsHook4
   ];
 
   buildInputs = [
     glib
     gtk4
     kdePackages.kstatusnotifieritem
-    libappindicator
-    libappindicator-gtk2
-    libappindicator-gtk3
-    libayatana-appindicator
-    libsoup_3
     openssl
-    webkitgtk_4_1
     graphene
   ];
 
@@ -60,7 +48,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-NcoTdu/CQRu0RuZjlngP8lTPaomEiPTcfn2hAt+YjwA=";
+  cargoHash = "sha256-9yZ8TSWy+S1sNS4cnJvEi7Ttt8zqF4PkxR5/FzVg4Ds=";
 
   doInstallCheck = true;
   versionCheckProgram = "${placeholder "out"}/bin/snx-rs";
diff --git a/pkgs/by-name/sn/snyk/package.nix b/pkgs/by-name/sn/snyk/package.nix
index cdb9b599e8a0..020b60b99a68 100644
--- a/pkgs/by-name/sn/snyk/package.nix
+++ b/pkgs/by-name/sn/snyk/package.nix
@@ -8,7 +8,7 @@
 }:
 
 let
-  version = "1.1296.1";
+  version = "1.1297.1";
 in
 buildNpmPackage {
   pname = "snyk";
@@ -18,10 +18,10 @@ buildNpmPackage {
     owner = "snyk";
     repo = "cli";
     tag = "v${version}";
-    hash = "sha256-7eelAsZGoCVXdAIW8hyXN+s2Bz9z8Ya2v+mskYNy4Kg=";
+    hash = "sha256-/wA6bBjgz3KhTBw/JJpLM5UkRNHehVdm6ubpq92N4IY=";
   };
 
-  npmDepsHash = "sha256-3zNiFYuosyw4PBSt2NXMMOLP//XKsLHfVqiOjNSbL4A=";
+  npmDepsHash = "sha256-SzrBhY7iWGlIPNB+5ROdaxAlQSetSKc3MPBp+4nNh+o=";
 
   postPatch = ''
     substituteInPlace package.json \
diff --git a/pkgs/by-name/so/softhsm/package.nix b/pkgs/by-name/so/softhsm/package.nix
index 48d64a0935d2..19be262667a4 100644
--- a/pkgs/by-name/so/softhsm/package.nix
+++ b/pkgs/by-name/so/softhsm/package.nix
@@ -22,6 +22,9 @@ stdenv.mkDerivation rec {
     "--with-objectstore-backend-db"
     "--sysconfdir=$out/etc"
     "--localstatedir=$out/var"
+    # The configure script checks for the sqlite3 command, but never uses it.
+    # Provide an arbitrary executable file for cross scenarios.
+    "ac_cv_path_SQLITE3=/"
   ];
 
   buildInputs = [
@@ -29,6 +32,8 @@ stdenv.mkDerivation rec {
     sqlite
   ];
 
+  strictDeps = true;
+
   postInstall = "rm -rf $out/var";
 
   meta = with lib; {
diff --git a/pkgs/by-name/so/solaar/package.nix b/pkgs/by-name/so/solaar/package.nix
index 56a176b95886..f9f2348cfe33 100644
--- a/pkgs/by-name/so/solaar/package.nix
+++ b/pkgs/by-name/so/solaar/package.nix
@@ -58,7 +58,7 @@ python3Packages.buildPythonApplication rec {
   nativeCheckInputs = with python3Packages; [
     pytestCheckHook
     pytest-mock
-    pytest-cov
+    pytest-cov-stub
   ];
 
   # the -cli symlink is just to maintain compabilility with older versions where
diff --git a/pkgs/by-name/so/sonarlint-ls/package.nix b/pkgs/by-name/so/sonarlint-ls/package.nix
index a49568aa66bd..17390482a218 100644
--- a/pkgs/by-name/so/sonarlint-ls/package.nix
+++ b/pkgs/by-name/so/sonarlint-ls/package.nix
@@ -16,17 +16,17 @@
 
 maven.buildMavenPackage rec {
   pname = "sonarlint-ls";
-  version = "3.22.0.76129";
+  version = "3.24.0.76217";
 
   src = fetchFromGitHub {
     owner = "SonarSource";
     repo = "sonarlint-language-server";
     rev = version;
-    hash = "sha256-W0X22akE8hDQcuJLq4BXsAKebMb/jDvoG1i3jkA7QaM=";
+    hash = "sha256-iXMh4HYktzT+9muVe1bRA4DX+DosAm7vmHEGTd71cyk=";
   };
 
   mvnJdk = jdk17;
-  mvnHash = "sha256-7EXa/A5E8/spd4QrBMSgKyKpnA561NstpjCHbC1EBu4=";
+  mvnHash = "sha256-6Ovqu+Lw4Cm0Atj9YI+0OStENAVfNAjJqfD+XxIChlc=";
 
   # Disables failing tests which either need network access or are flaky.
   mvnParameters = lib.escapeShellArgs [
diff --git a/pkgs/by-name/so/sonarr/nuget-config.patch b/pkgs/by-name/so/sonarr/nuget-config.patch
deleted file mode 100644
index c844b419d7a5..000000000000
--- a/pkgs/by-name/so/sonarr/nuget-config.patch
+++ /dev/null
@@ -1,9 +0,0 @@
-Move NuGet configuration file to the source root where Nixpkgs .NET
-build infrastructure expects to find it.
-
-https://github.com/NixOS/nixpkgs/pull/291640#discussion_r1601841807
-
-diff --git a/src/NuGet.Config b/NuGet.Config
-similarity index 100%
-rename from src/NuGet.Config
-rename to NuGet.Config
diff --git a/pkgs/by-name/so/sonarr/package.nix b/pkgs/by-name/so/sonarr/package.nix
index ae45fb817bff..b9750fff28b2 100644
--- a/pkgs/by-name/so/sonarr/package.nix
+++ b/pkgs/by-name/so/sonarr/package.nix
@@ -6,7 +6,7 @@
   dotnetCorePackages,
   sqlite,
   withFFmpeg ? true, # replace bundled ffprobe binary with symlink to ffmpeg package.
-  ffmpeg,
+  servarr-ffmpeg,
   fetchYarnDeps,
   yarn,
   fixup-yarn-lock,
@@ -31,27 +31,26 @@ let
       tag = "v${version}";
       hash = "sha256-gtEDrAosI0Kyk712Kf8QDuloUBq9AArKdukX/PKAo8M=";
     };
-    patches =
-      [
-        ./nuget-config.patch
-      ]
-      ++ lib.optionals (lib.versionOlder version "5.0") [
-        # See https://github.com/Sonarr/Sonarr/issues/7442 and
-        # https://github.com/Sonarr/Sonarr/pull/7443.
-        # Unfortunately, the .NET 8 upgrade was only merged into the v5 branch,
-        # and it may take some time for that to become stable.
-        # However, the patches cleanly apply to v4 as well.
-        (fetchpatch {
-          name = "dotnet8-compatibility";
-          url = "https://github.com/Sonarr/Sonarr/commit/518f1799dca96a7481004ceefe39be465de3d72d.patch";
-          hash = "sha256-e+/rKZrTf6lWq9bmCAwnZrbEPRkqVmI7qNavpLjfpUE=";
-        })
-        (fetchpatch {
-          name = "dotnet8-darwin-compatibility";
-          url = "https://github.com/Sonarr/Sonarr/commit/1a5fa185d11d2548f45fefb8a0facd3731a946d0.patch";
-          hash = "sha256-6Lzo4ph1StA05+B1xYhWH+BBegLd6DxHiEiaRxGXn7k=";
-        })
-      ];
+    postPatch = ''
+      mv src/NuGet.Config NuGet.Config
+    '';
+    patches = lib.optionals (lib.versionOlder version "5.0") [
+      # See https://github.com/Sonarr/Sonarr/issues/7442 and
+      # https://github.com/Sonarr/Sonarr/pull/7443.
+      # Unfortunately, the .NET 8 upgrade was only merged into the v5 branch,
+      # and it may take some time for that to become stable.
+      # However, the patches cleanly apply to v4 as well.
+      (fetchpatch {
+        name = "dotnet8-compatibility";
+        url = "https://github.com/Sonarr/Sonarr/commit/518f1799dca96a7481004ceefe39be465de3d72d.patch";
+        hash = "sha256-e+/rKZrTf6lWq9bmCAwnZrbEPRkqVmI7qNavpLjfpUE=";
+      })
+      (fetchpatch {
+        name = "dotnet8-darwin-compatibility";
+        url = "https://github.com/Sonarr/Sonarr/commit/1a5fa185d11d2548f45fefb8a0facd3731a946d0.patch";
+        hash = "sha256-6Lzo4ph1StA05+B1xYhWH+BBegLd6DxHiEiaRxGXn7k=";
+      })
+    ];
   };
   rid = dotnetCorePackages.systemToDotnetRid stdenvNoCC.hostPlatform.system;
 in
@@ -72,7 +71,7 @@ buildDotnetModule {
     hash = "sha256-YkBFvv+g4p22HdM/GQAHVGGW1yLYGWpNtRq7+QJiLIw=";
   };
 
-  ffprobe = lib.optionalDrvAttr withFFmpeg (lib.getExe' ffmpeg "ffprobe");
+  ffprobe = lib.optionalDrvAttr withFFmpeg (lib.getExe' servarr-ffmpeg "ffprobe");
 
   postConfigure = ''
     yarn config --offline set yarn-offline-mirror "$yarnOfflineCache"
@@ -129,6 +128,7 @@ buildDotnetModule {
   dotnetFlags = [
     "--property:TargetFramework=net8.0"
     "--property:EnableAnalyzers=false"
+    "--property:SentryUploadSymbols=false" # Fix Sentry upload failed warnings
     # Override defaults in src/Directory.Build.props that use current time.
     "--property:Copyright=Copyright 2014-2025 sonarr.tv (GNU General Public v3)"
     "--property:AssemblyVersion=${version}"
diff --git a/pkgs/by-name/so/soteria/package.nix b/pkgs/by-name/so/soteria/package.nix
index ff6afa1c594e..9598e11f50d0 100644
--- a/pkgs/by-name/so/soteria/package.nix
+++ b/pkgs/by-name/so/soteria/package.nix
@@ -12,7 +12,7 @@
   polkit,
 }:
 let
-  version = "0.1.2";
+  version = "0.1.4";
 in
 rustPlatform.buildRustPackage {
   pname = "soteria";
@@ -22,11 +22,11 @@ rustPlatform.buildRustPackage {
     owner = "imvaskel";
     repo = "soteria";
     tag = "v${version}";
-    hash = "sha256-i7g2my0hP54Tj86UVEEFQIb5ih26djKgLg++I1n9Sfs=";
+    hash = "sha256-Dpu0GBpa3W2itIjCiqA4Yh4he0ZfLDSr26DYSfhMphI=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-Z9ycfFhnff0z2ZG+tqf+qGUL7gDJQ+kC+e+WZ21qN1Y=";
+  cargoHash = "sha256-RXPzmco+pLkLxY+jicafuqdul9LpkDv6YK8+bHCS+5s=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/by-name/so/soundsource/package.nix b/pkgs/by-name/so/soundsource/package.nix
index 108ef419e875..7bec0d15fd60 100644
--- a/pkgs/by-name/so/soundsource/package.nix
+++ b/pkgs/by-name/so/soundsource/package.nix
@@ -6,11 +6,11 @@
 }:
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "soundsource";
-  version = "5.8.2";
+  version = "5.8.3";
 
   src = fetchurl {
-    url = "https://web.archive.org/web/20250424131232/https://cdn.rogueamoeba.com/soundsource/download/SoundSource.zip";
-    hash = "sha256-RilL2nD0pUQKCb63uip7q9kmsKVXvEPcT+GUfZKtKNM=";
+    url = "https://web.archive.org/web/20250601123927/https://cdn.rogueamoeba.com/soundsource/download/SoundSource.zip";
+    hash = "sha256-tomlsji65xVPTqX36UKf7S04M1iBxsXVJFEFqWPgBac=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/by-name/so/soupault/package.nix b/pkgs/by-name/so/soupault/package.nix
index cc3506ca0fbb..4038e0c79397 100644
--- a/pkgs/by-name/so/soupault/package.nix
+++ b/pkgs/by-name/so/soupault/package.nix
@@ -12,7 +12,7 @@
 
 ocamlPackages.buildDunePackage rec {
   pname = "soupault";
-  version = "5.0.0";
+  version = "5.1.0";
 
   minimalOCamlVersion = "4.13";
 
@@ -21,7 +21,7 @@ ocamlPackages.buildDunePackage rec {
       "https://github.com/PataphysicalSociety/soupault/archive/${version}.tar.gz"
       "https://codeberg.org/PataphysicalSociety/soupault/archive/${version}.tar.gz"
     ];
-    hash = "sha256-patZn5z+ZT3dONdUojSvFgaVOmG1IpVGdehCUh2uRT8=";
+    hash = "sha256-yAkJgNwF763b2DFGA+4Ve+jafFxZbFDm3QxisDD6gYo=";
   };
 
   nativeBuildInputs =
diff --git a/pkgs/by-name/so/source-meta-json-schema/package.nix b/pkgs/by-name/so/source-meta-json-schema/package.nix
index aec54fa9a398..84728525e17e 100644
--- a/pkgs/by-name/so/source-meta-json-schema/package.nix
+++ b/pkgs/by-name/so/source-meta-json-schema/package.nix
@@ -5,7 +5,7 @@
   cmake,
 }:
 let
-  version = "9.3.4";
+  version = "9.3.5";
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "source-meta-json-schema";
@@ -15,7 +15,7 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "sourcemeta";
     repo = "jsonschema";
     rev = "v${version}";
-    hash = "sha256-DDJlUH/FWMYz/sFkW4HbLbAYi967QWUjTyfZp5S8F1A=";
+    hash = "sha256-wTayFVsnDchd3lZV5F2+8PTDHVzPiSQunZGVz7L9ZZs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/so/source-sans-pro/package.nix b/pkgs/by-name/so/source-sans-pro/package.nix
index 645d984ae6e8..b31466ba924b 100644
--- a/pkgs/by-name/so/source-sans-pro/package.nix
+++ b/pkgs/by-name/so/source-sans-pro/package.nix
@@ -30,7 +30,7 @@ stdenvNoCC.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://adobe-fonts.github.io/source-sans/";
-    description = "Sans serif font family for user interface environments";
+    description = "Sans serif font family for user interface environments (version of Source Sans before being renamed)";
     license = licenses.ofl;
     platforms = platforms.all;
     maintainers = with maintainers; [ ttuegel ];
diff --git a/pkgs/by-name/so/sourcepawn-studio/package.nix b/pkgs/by-name/so/sourcepawn-studio/package.nix
index b6208dca0514..6ec484bb08d3 100644
--- a/pkgs/by-name/so/sourcepawn-studio/package.nix
+++ b/pkgs/by-name/so/sourcepawn-studio/package.nix
@@ -8,17 +8,17 @@
 }:
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "sourcepawn-studio";
-  version = "8.1.2";
+  version = "8.1.3";
 
   src = fetchFromGitHub {
     owner = "Sarrus1";
     repo = "sourcepawn-studio";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-L/xgzWbhfRTvoRElKApb9JKXNfqJF+nfDk9Xo/qwL00=";
+    hash = "sha256-qeKaIYI9+t9D/6/SSoJrnkA6DX6Wv/51vZCJIHm/0ts=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-5Zd3Stoi8AqsZE38pnilmjuRMgTPAGB+R8QI2JFZ7s4=";
+  cargoHash = "sha256-8/HTrniZhXT68Ni9zjze8/mDu0TrMJKw41EEWPOhKjw=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/by-name/sp/space-orbit/package.nix b/pkgs/by-name/sp/space-orbit/package.nix
deleted file mode 100644
index a39816fafcc1..000000000000
--- a/pkgs/by-name/sp/space-orbit/package.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-{
-  lib,
-  stdenv,
-  fetchurl,
-  libGLU,
-  libGL,
-  libXi,
-  libXt,
-  libXext,
-  libX11,
-  libXmu,
-  libglut,
-}:
-
-stdenv.mkDerivation rec {
-  pname = "space-orbit";
-  version = "1.01";
-  patchversion = "9";
-
-  buildInputs = [
-    libGLU
-    libGL
-    libXi
-    libXt
-    libXext
-    libX11
-    libXmu
-    libglut
-  ];
-
-  src = fetchurl {
-    url = "mirror://debian/pool/main/s/space-orbit/space-orbit_${version}.orig.tar.gz";
-    sha256 = "1kx69f9jqnfzwjh47cl1df8p8hn3bnp6bznxnb6c4wx32ijn5gri";
-  };
-
-  patches = [
-    (fetchurl {
-      url = "mirror://debian/pool/main/s/space-orbit/space-orbit_${version}-${patchversion}.diff.gz";
-      sha256 = "1v3s97day6fhv08l2rn81waiprhi1lfyjjsj55axfh6n6zqfn1w2";
-    })
-  ];
-
-  preBuild = ''
-    cd src
-    sed -e 's@/usr/share/games/orbit/@'$out'/dump/@g' -i *.c
-    sed -e '/DIR=/d; s/-lesd//; s/-DESD//;' -i Makefile
-  '';
-
-  installPhase = ''
-        mkdir -p $out/bin
-        cp -r .. $out/dump
-        cat >$out/bin/space-orbit <&1)" != "${finalAttrs.version}" ]; then
+      echo "spire-agent version does not match"
+      exit 1
+    fi
+
+    $out/bin/spire-server -h
+    if [ "$($out/bin/spire-server --version 2>&1)" != "${finalAttrs.version}" ]; then
+      echo "spire-server version does not match"
+      exit 1
+    fi
+
+    runHook postInstallCheck
+  '';
+
   meta = {
     description = "SPIFFE Runtime Environment";
-    homepage = "https://github.com/spiffe/spire";
-    changelog = "https://github.com/spiffe/spire/releases/tag/v${version}";
+    homepage = "https://spiffe.io/";
+    downloadPage = "https://github.com/spiffe/spire";
+    changelog = "https://github.com/spiffe/spire/releases/tag/v${finalAttrs.version}";
     license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ fkautz ];
+    maintainers = with lib.maintainers; [
+      fkautz
+      jk
+    ];
   };
-}
+})
diff --git a/pkgs/by-name/sp/spirv-llvm-translator/package.nix b/pkgs/by-name/sp/spirv-llvm-translator/package.nix
index 665e8f8f0cdc..d67a769f7fa9 100644
--- a/pkgs/by-name/sp/spirv-llvm-translator/package.nix
+++ b/pkgs/by-name/sp/spirv-llvm-translator/package.nix
@@ -43,9 +43,9 @@ let
       }
     else if llvmMajor == "15" then
       rec {
-        version = "15.0.11";
+        version = "15.0.12";
         rev = "v${version}";
-        hash = "sha256-q4WhUaBDw0cnv1eqC6wSvrApHKvyg5/4QetybDLQkEw=";
+        hash = "sha256-u3cy8Nk9Dvt5VeSP46glvmSv1sQp+lUl9rY6pPTqtmY=";
       }
     else if llvmMajor == "14" then
       {
diff --git a/pkgs/by-name/sp/spral/package.nix b/pkgs/by-name/sp/spral/package.nix
index e8376d81e716..885fe73d12d0 100644
--- a/pkgs/by-name/sp/spral/package.nix
+++ b/pkgs/by-name/sp/spral/package.nix
@@ -1,50 +1,66 @@
 {
-  blas,
-  fetchFromGitHub,
-  gfortran,
-  lapack,
+  config,
   lib,
-  llvmPackages,
-  meson,
-  metis,
-  ninja,
+
+  fetchFromGitHub,
   stdenv,
+
+  nix-update-script,
+
+  enableCuda ? config.cudaSupport,
+
+  # nativeBuildInputs
+  cudaPackages,
+  gfortran,
+  meson,
+  ninja,
+  pkg-config,
+
+  # buildInputs
+  blas,
+  hwloc,
+  lapack,
+  llvmPackages,
+  metis,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "spral";
-  version = "2025.01.08";
+  version = "2025.05.20";
 
   src = fetchFromGitHub {
     owner = "ralna";
     repo = "spral";
-    rev = "v${version}";
-    hash = "sha256-tuhJClSjah/ud6PVr6biOq5KdKtspJ7hpWZ350yzz+U=";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-9QEcAOFB3CtGNqr8LoDaj2vP3KMONlUVooeXECtGsxc=";
   };
 
-  postPatch =
-    ''
-      # Skipped test: ssidst
-      # hwloc/linux: failed to find sysfs cpu topology directory, aborting linux discovery.
-      substituteInPlace tests/meson.build --replace-fail \
-        "subdir('ssids')" \
-        ""
-    ''
-    + lib.optionalString stdenv.hostPlatform.isDarwin ''
-      # Skipped test: lsmrt, segfault
-      substituteInPlace tests/meson.build --replace-fail \
-        "['lsmrt', files('lsmr.f90')]," \
-        ""
-    '';
+  # Ignore a failing test on darwin
+  # ref. https://github.com/ralna/spral/issues/258
+  postPatch = lib.optionalString stdenv.hostPlatform.isDarwin ''
+    substituteInPlace tests/ssids/meson.build --replace-fail \
+      "spral_tests += [['ssids', 'ssidst', files('ssids.f90')]]" ""
+  '';
 
-  nativeBuildInputs = [
-    gfortran
-    meson
-    ninja
+  nativeBuildInputs =
+    [
+      gfortran
+      meson
+      ninja
+      pkg-config
+    ]
+    ++ lib.optionals enableCuda [
+      cudaPackages.cuda_nvcc
+    ];
+
+  propagatedBuildInputs = lib.optionals enableCuda [
+    cudaPackages.cuda_cudart
+    cudaPackages.libcublas
   ];
 
   buildInputs = [
     blas
+    (hwloc.override { inherit enableCuda; })
     lapack
     metis
   ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ llvmPackages.openmp ];
@@ -55,11 +71,13 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  passthru.updateScript = nix-update-script { };
+
   meta = {
     description = "Sparse Parallel Robust Algorithms Library";
     homepage = "https://github.com/ralna/spral";
-    changelog = "https://github.com/ralna/spral/blob/${src.rev}/ChangeLog";
+    changelog = "https://github.com/ralna/spral/releases/tag/${finalAttrs.src.tag}";
     license = lib.licenses.bsd3;
     maintainers = with lib.maintainers; [ nim65s ];
   };
-}
+})
diff --git a/pkgs/by-name/sp/spring-boot-cli/package.nix b/pkgs/by-name/sp/spring-boot-cli/package.nix
index 934421885cef..ef8082f264dc 100644
--- a/pkgs/by-name/sp/spring-boot-cli/package.nix
+++ b/pkgs/by-name/sp/spring-boot-cli/package.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "spring-boot-cli";
-  version = "3.4.5";
+  version = "3.5.0";
 
   src = fetchzip {
     url = "mirror://maven/org/springframework/boot/spring-boot-cli/${finalAttrs.version}/spring-boot-cli-${finalAttrs.version}-bin.zip";
-    hash = "sha256-ZGOhxeKkUF0kLPTp6oSa1s1rYs7H75uptITf3xvxXJU=";
+    hash = "sha256-sc99w/MjLgDTfDuBFhgVrv1gB9RIrL1gI+ZNGydWe+Q=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/sq/sql-formatter/package.nix b/pkgs/by-name/sq/sql-formatter/package.nix
index f7d1681aa482..af5cd874d745 100644
--- a/pkgs/by-name/sq/sql-formatter/package.nix
+++ b/pkgs/by-name/sq/sql-formatter/package.nix
@@ -11,13 +11,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "sql-formatter";
-  version = "15.6.2";
+  version = "15.6.4";
 
   src = fetchFromGitHub {
     owner = "sql-formatter-org";
     repo = "sql-formatter";
     rev = "v${version}";
-    hash = "sha256-pqNxZ8bmnwQYPLIQ8vQrKct9fD8i0fiLn4h4f2779q4=";
+    hash = "sha256-nrdr6h+q8jVXKM6xPXeQkGN3zqdUCPs/FVnPMfMPG3E=";
   };
 
   yarnOfflineCache = fetchYarnDeps {
diff --git a/pkgs/by-name/sq/sqldef/package.nix b/pkgs/by-name/sq/sqldef/package.nix
index b98f4a856fe7..615cbf04f10e 100644
--- a/pkgs/by-name/sq/sqldef/package.nix
+++ b/pkgs/by-name/sq/sqldef/package.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "sqldef";
-  version = "2.0.0";
+  version = "2.0.2";
 
   src = fetchFromGitHub {
     owner = "sqldef";
     repo = "sqldef";
     rev = "v${version}";
-    hash = "sha256-+KU/oROHl7i5GI0KYEzV8MILE6SQyAG3UHoiL6PHYSU=";
+    hash = "sha256-oko+JJkXqFVnUO15NGJV+Vc/MnuVNwhr+Ck0jMpQ0QY=";
   };
 
   proxyVendor = true;
diff --git a/pkgs/by-name/sq/sqlfluff/package.nix b/pkgs/by-name/sq/sqlfluff/package.nix
index 4b91c874ac6f..b6a4852f61ed 100644
--- a/pkgs/by-name/sq/sqlfluff/package.nix
+++ b/pkgs/by-name/sq/sqlfluff/package.nix
@@ -6,14 +6,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "sqlfluff";
-  version = "3.4.0";
+  version = "3.4.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "sqlfluff";
     repo = "sqlfluff";
     tag = version;
-    hash = "sha256-9JitD46hMgCrUx+mtSoKm/8vKd6CfPngmVsaUb9vi+Q=";
+    hash = "sha256-gtpYQvhDOxNO97YXaSHqSgUklmPJIe2ynjexTZPBUmA=";
   };
 
   build-system = with python3.pkgs; [ setuptools ];
diff --git a/pkgs/by-name/sq/sqlitestudio-plugins/package.nix b/pkgs/by-name/sq/sqlitestudio-plugins/package.nix
new file mode 100644
index 000000000000..71ba50a2c3e8
--- /dev/null
+++ b/pkgs/by-name/sq/sqlitestudio-plugins/package.nix
@@ -0,0 +1,35 @@
+{
+  stdenv,
+  lib,
+  python3,
+
+  sqlitestudio,
+}:
+stdenv.mkDerivation {
+  pname = "sqlitestudio-plugins";
+
+  inherit (sqlitestudio)
+    version
+    src
+    nativeBuildInputs
+    buildInputs
+    ;
+
+  postConfigure = ''
+    uic ./SQLiteStudio3/guiSQLiteStudio/mainwindow.ui -o ./SQLiteStudio3/guiSQLiteStudio/ui_mainwindow.h
+  '';
+
+  qmakeFlags = [
+    "./Plugins"
+    "PYTHON_VERSION=${python3.pythonVersion}"
+    "INCLUDEPATH+=${python3}/include/python${python3.pythonVersion}"
+  ];
+
+  # bin/ld: final link failed: bad value
+  enableParallelBuilding = false;
+
+  meta = sqlitestudio.meta // {
+    description = "Official plugins for SQLiteStudio, a free, open source, multi-platform SQLite database manager";
+    badPlatforms = [ lib.systems.inspect.platformPatterns.isStatic ];
+  };
+}
diff --git a/pkgs/by-name/sq/sqlitestudio/package.nix b/pkgs/by-name/sq/sqlitestudio/package.nix
index 9972a052e431..7131d99b8fd4 100644
--- a/pkgs/by-name/sq/sqlitestudio/package.nix
+++ b/pkgs/by-name/sq/sqlitestudio/package.nix
@@ -8,6 +8,9 @@
   python3,
   copyDesktopItems,
   makeDesktopItem,
+
+  sqlitestudio-plugins,
+  includeOfficialPlugins ? lib.meta.availableOn stdenv.hostPlatform sqlitestudio-plugins,
 }:
 stdenv.mkDerivation rec {
   pname = "sqlitestudio";
@@ -41,7 +44,14 @@ stdenv.mkDerivation rec {
       qtscript
     ]);
 
-  qmakeFlags = [ "./SQLiteStudio3" ];
+  qmakeFlags =
+    [
+      "./SQLiteStudio3"
+      "DEFINES+=NO_AUTO_UPDATES"
+    ]
+    ++ lib.optionals includeOfficialPlugins [
+      "DEFINES+=PLUGINS_DIR=${sqlitestudio-plugins}/lib/sqlitestudio"
+    ];
 
   desktopItems = [
     (makeDesktopItem {
@@ -67,7 +77,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Free, open source, multi-platform SQLite database manager";
     homepage = "https://sqlitestudio.pl/";
-    license = lib.licenses.gpl3;
+    license = lib.licenses.gpl3Only;
     mainProgram = "sqlitestudio";
     platforms = lib.platforms.linux;
     maintainers = with lib.maintainers; [ asterismono ];
diff --git a/pkgs/by-name/sq/squeezelite/package.nix b/pkgs/by-name/sq/squeezelite/package.nix
index 426e054b4752..c2a6f68ac004 100644
--- a/pkgs/by-name/sq/squeezelite/package.nix
+++ b/pkgs/by-name/sq/squeezelite/package.nix
@@ -39,13 +39,13 @@ stdenv.mkDerivation {
   pname = binName;
   # versions are specified in `squeezelite.h`
   # see https://github.com/ralph-irving/squeezelite/issues/29
-  version = "2.0.0.1533";
+  version = "2.0.0.1541";
 
   src = fetchFromGitHub {
     owner = "ralph-irving";
     repo = "squeezelite";
-    rev = "bb7ae0615f6e661c217a1c77fdff70122859c3c5";
-    hash = "sha256-R3yCJJMsrD3dkrfkm4q69YkqfjBdZTiB9UXIriyPawA=";
+    rev = "72e1fd8abfa9b2f8e9636f033247526920878718";
+    hash = "sha256-1uzkf7vkzfHdsWvWcXnUv279kgtzrHLU0hAPaTKRWI8=";
   };
 
   buildInputs =
diff --git a/pkgs/by-name/sr/srain/package.nix b/pkgs/by-name/sr/srain/package.nix
index 96eaf54390ec..73bc467e8af5 100644
--- a/pkgs/by-name/sr/srain/package.nix
+++ b/pkgs/by-name/sr/srain/package.nix
@@ -22,13 +22,13 @@
 
 stdenv.mkDerivation rec {
   pname = "srain";
-  version = "1.8.0";
+  version = "1.8.1";
 
   src = fetchFromGitHub {
     owner = "SrainApp";
     repo = "srain";
     rev = version;
-    hash = "sha256-c5dy5dD5Eb/MVNCpLqIGNuafsrmgLjEfRfSxKVxu5wY=";
+    hash = "sha256-F7TFCPTAU856403QNUUyf+10s/Yr4xDN/CarJNcUv4A=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/sr/srm-cuarzo/package.nix b/pkgs/by-name/sr/srm-cuarzo/package.nix
index e0839cb05b99..10aa962e5b2a 100644
--- a/pkgs/by-name/sr/srm-cuarzo/package.nix
+++ b/pkgs/by-name/sr/srm-cuarzo/package.nix
@@ -15,9 +15,9 @@
 }:
 stdenv.mkDerivation (self: {
   pname = "srm-cuarzo";
-  version = "0.12.1-1";
+  version = "0.13.0-1";
   rev = "v${self.version}";
-  hash = "sha256-zRj3KToMoIioY1Ez41XgFLzGIHV5bDX2aPEUsPsIkXM=";
+  hash = "sha256-5BwLqAZdfO5vyEMPZImaxymvLoNuu6bOiOkvR8JERxg=";
 
   src = fetchFromGitHub {
     inherit (self) rev hash;
diff --git a/pkgs/by-name/sr/srtrelay/package.nix b/pkgs/by-name/sr/srtrelay/package.nix
index 975a38408c37..0c0a7c324093 100644
--- a/pkgs/by-name/sr/srtrelay/package.nix
+++ b/pkgs/by-name/sr/srtrelay/package.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "srtrelay";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "voc";
     repo = "srtrelay";
     rev = "v${version}";
-    sha256 = "sha256-llBPlfvW9Bvm9nL8w4BTOgccsQNAAb3omRBXBISNBcc=";
+    sha256 = "sha256-idWAJD6dvvM5OHox5+MI8q3knyl2ANqBiXfQ0VlF67Q=";
   };
 
-  vendorHash = "sha256-z9sBrSGEHPLdC79hsNKZiI9+w8t0JrVQ8pRdBykaI5Q=";
+  vendorHash = "sha256-a4Efva0nWeyHjftuky76znbHOrZYXaIVENKbHK9xnb8=";
 
   buildInputs = [ srt ];
   nativeCheckInputs = [ ffmpeg ];
diff --git a/pkgs/by-name/ss/sshuttle/package.nix b/pkgs/by-name/ss/sshuttle/package.nix
index 29687cbb2752..e17517008d44 100644
--- a/pkgs/by-name/ss/sshuttle/package.nix
+++ b/pkgs/by-name/ss/sshuttle/package.nix
@@ -73,7 +73,6 @@ python3Packages.buildPythonApplication rec {
     changelog = "https://github.com/sshuttle/sshuttle/blob/${src.tag}/CHANGES.rst";
     license = lib.licenses.lgpl21Plus;
     maintainers = with lib.maintainers; [
-      domenkozar
       carlosdagos
     ];
   };
diff --git a/pkgs/by-name/ss/sslh/package.nix b/pkgs/by-name/ss/sslh/package.nix
index 0c70cbb07023..9ec5ecf2b212 100644
--- a/pkgs/by-name/ss/sslh/package.nix
+++ b/pkgs/by-name/ss/sslh/package.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sslh";
-  version = "2.2.3";
+  version = "2.2.4";
 
   src = fetchFromGitHub {
     owner = "yrutschle";
     repo = "sslh";
     rev = "v${version}";
-    hash = "sha256-SWkhTgJM6s89mgvJbqa+N75+0TYCvlEH1NQgaKjocFo=";
+    hash = "sha256-jG2+CT+Zcfkp+RLKcVfCTozgNuldfxKw7YaJLGKIZzE=";
   };
 
   postPatch = "patchShebangs *.sh";
diff --git a/pkgs/by-name/ss/sslmate/package.nix b/pkgs/by-name/ss/sslmate/package.nix
index 19987e1d08f7..d6640e9e7234 100644
--- a/pkgs/by-name/ss/sslmate/package.nix
+++ b/pkgs/by-name/ss/sslmate/package.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://sslmate.com";
-    maintainers = [ maintainers.domenkozar ];
+    maintainers = [ ];
     description = "Easy to buy, deploy, and manage your SSL certs";
     mainProgram = "sslmate";
     platforms = platforms.unix;
diff --git a/pkgs/by-name/st/stackit-cli/package.nix b/pkgs/by-name/st/stackit-cli/package.nix
index 5084c8b99d33..b2f2280d5314 100644
--- a/pkgs/by-name/st/stackit-cli/package.nix
+++ b/pkgs/by-name/st/stackit-cli/package.nix
@@ -12,16 +12,16 @@
 
 buildGoModule rec {
   pname = "stackit-cli";
-  version = "0.33.1";
+  version = "0.34.5";
 
   src = fetchFromGitHub {
     owner = "stackitcloud";
     repo = "stackit-cli";
     rev = "v${version}";
-    hash = "sha256-qWKnGTSlBnorYrOdQCuA4ymb5lyQUhFQkiOG5SowxD8=";
+    hash = "sha256-6klGnOfnQACmXR9++Wo9JvGTO1zEVEDlwce0FKVlZIc=";
   };
 
-  vendorHash = "sha256-OiXUvAksFcD6yU8CTzY8QeDkiYbIr5MTfoqwdyC/ITQ=";
+  vendorHash = "sha256-i5abENOvfTvtT2HqnrV46h4Sz1dvCSyX5aOOADddSGA=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/by-name/st/stalwart-mail/package.nix b/pkgs/by-name/st/stalwart-mail/package.nix
index f60bc10cfe64..472a7824561a 100644
--- a/pkgs/by-name/st/stalwart-mail/package.nix
+++ b/pkgs/by-name/st/stalwart-mail/package.nix
@@ -20,17 +20,17 @@
 
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "stalwart-mail" + (lib.optionalString stalwartEnterprise "-enterprise");
-  version = "0.12.2";
+  version = "0.12.4";
 
   src = fetchFromGitHub {
     owner = "stalwartlabs";
     repo = "stalwart";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-P19jeEzFE8Gu6hqHZJiPoJ70r+zOmzOpEwfFqPQczZY=";
+    hash = "sha256-MUbWGBbb8+b5cp+M5w27A/cHHkMcoEtkN13++FyBvbM=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-WVvDapCA9pTgOtPpbsK78u2AC2hUfo3sOejZ6pJSlQk=";
+  cargoHash = "sha256-G1c7hh0nScc4Cx7A1UUXv6slA6pP0fC6h00zR71BJIo=";
 
   nativeBuildInputs = [
     pkg-config
@@ -147,6 +147,11 @@ rustPlatform.buildRustPackage (finalAttrs: {
     # No queue event received.
     # NOTE: Test unreliable on high load systems
     "--skip=smtp::management::queue::manage_queue"
+    # thread 'responses::tests::parse_responses' panicked at crates/dav-proto/src/responses/mod.rs:671:17:
+    # assertion `left == right` failed: failed for 008.xml
+    #   left: ElementEnd
+    #  right: Bytes([...])
+    "--skip=responses::tests::parse_responses"
   ];
 
   doCheck = !(stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64);
diff --git a/pkgs/by-name/st/stalwart-mail/webadmin.nix b/pkgs/by-name/st/stalwart-mail/webadmin.nix
index 72466a751a02..75f3226327ee 100644
--- a/pkgs/by-name/st/stalwart-mail/webadmin.nix
+++ b/pkgs/by-name/st/stalwart-mail/webadmin.nix
@@ -16,13 +16,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "webadmin";
-  version = "0.1.26";
+  version = "0.1.27";
 
   src = fetchFromGitHub {
     owner = "stalwartlabs";
     repo = "webadmin";
     tag = "v${version}";
-    hash = "sha256-TWzXSBXLZd4b02cfiERZqNaXcfxx1pH7OFUcdEugH7k=";
+    hash = "sha256-ts2FT4QWDqNmm9Qj6JWEhgFW+3jAK/w90WIKF1Vil/w=";
   };
 
   npmDeps = fetchNpmDeps {
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-Eh5wu3RHNPWIPDZPUlh8L6OvghkfmMp0eAOTbk9Fs+0=";
+  cargoHash = "sha256-cvXfX3hqIp4NAAT1DgO/XZOXkeOgIEwkigA01qGYnxA=";
 
   postPatch = ''
     # Using local tailwindcss for compilation
diff --git a/pkgs/by-name/st/station/package.nix b/pkgs/by-name/st/station/package.nix
deleted file mode 100644
index c80a0ad5a3b4..000000000000
--- a/pkgs/by-name/st/station/package.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{
-  lib,
-  appimageTools,
-  fetchurl,
-  makeWrapper,
-  nix-update-script,
-}:
-let
-  version = "3.3.0";
-  pname = "station";
-  src = fetchurl {
-    url = "https://github.com/getstation/desktop-app/releases/download/v${version}/Station-x86_64.AppImage";
-    hash = "sha256-OiUVRKpU2W1dJ6z9Dqvxd+W4/oNpG+Zolj43ZHpKaO0=";
-  };
-  appimageContents = appimageTools.extractType2 {
-    inherit pname version src;
-  };
-in
-appimageTools.wrapType2 {
-  inherit pname version src;
-  extraInstallCommands = ''
-    source "${makeWrapper}/nix-support/setup-hook"
-    wrapProgram $out/bin/${pname} \
-        --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
-    install -m 444 -D ${appimageContents}/station-desktop-app.desktop \
-      $out/share/applications/station-desktop-app.desktop
-    install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/station-desktop-app.png \
-      $out/share/icons/hicolor/512x512/apps/station-desktop-app.png
-    substituteInPlace $out/share/applications/station-desktop-app.desktop \
-      --replace-fail 'Exec=AppRun' 'Exec=station'
-  '';
-
-  passthru = {
-    updateScript = nix-update-script {
-      extraArgs = [ "--url=https://github.com/getstation/desktop-app" ];
-    };
-  };
-
-  meta = {
-    changelog = "https://github.com/getstation/desktop-app/releases/tag/v${version}";
-    description = "A single place for all of your web applications";
-    downloadPage = "https://github.com/getstation/desktop-app/releases";
-    homepage = "https://getstation.com/";
-    license = lib.licenses.asl20;
-    mainProgram = "station";
-    maintainers = with lib.maintainers; [ flexiondotorg ];
-    platforms = [ "x86_64-linux" ];
-    sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
-  };
-}
diff --git a/pkgs/by-name/st/statping-ng/package.nix b/pkgs/by-name/st/statping-ng/package.nix
index 149de8993d13..589ed1c9f6d1 100644
--- a/pkgs/by-name/st/statping-ng/package.nix
+++ b/pkgs/by-name/st/statping-ng/package.nix
@@ -10,13 +10,13 @@
   yarnConfigHook,
 }:
 let
-  version = "0.92.0";
+  version = "0.93.0";
 
   src = fetchFromGitHub {
     owner = "statping-ng";
     repo = "statping-ng";
     tag = "v${version}";
-    hash = "sha256-E4sVIa8sKmjRcduATTHLklkr+LKX6KucDw42uVFhK4g=";
+    hash = "sha256-VVM3Jyahs0OQuHiF/r+U9vq9TBOFOtuTzBurAhR1Dhc=";
   };
 
   frontend = stdenv.mkDerivation {
diff --git a/pkgs/by-name/st/stats/package.nix b/pkgs/by-name/st/stats/package.nix
index e4edb91ac049..b99e609cbbad 100644
--- a/pkgs/by-name/st/stats/package.nix
+++ b/pkgs/by-name/st/stats/package.nix
@@ -8,11 +8,11 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "stats";
-  version = "2.11.41";
+  version = "2.11.45";
 
   src = fetchurl {
     url = "https://github.com/exelban/stats/releases/download/v${finalAttrs.version}/Stats.dmg";
-    hash = "sha256-iW22uCyfx9sCX3GyVmYzyJIHylxIpgJLns2oHVFBwc4=";
+    hash = "sha256-OdZ8LCU0kCCKk4SeyDryDpyCUsjf8aUZAv2o/cR4GX8=";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/by-name/st/steampipe/package.nix b/pkgs/by-name/st/steampipe/package.nix
index bf637254fb3b..f07a29aa4083 100644
--- a/pkgs/by-name/st/steampipe/package.nix
+++ b/pkgs/by-name/st/steampipe/package.nix
@@ -11,7 +11,7 @@
 
 buildGoModule rec {
   pname = "steampipe";
-  version = "1.1.3";
+  version = "1.1.4";
 
   env.CGO_ENABLED = 0;
 
@@ -19,10 +19,10 @@ buildGoModule rec {
     owner = "turbot";
     repo = "steampipe";
     tag = "v${version}";
-    hash = "sha256-XLUL4RFhLlxBUYrfDr1YCWqUyr7+NY+etSldahVE1a8=";
+    hash = "sha256-kK06lYUQZGvRZs1WN/dVXc1BDRNFbQUfxpzTl1l5PBU=";
   };
 
-  vendorHash = "sha256-OxC5Gtxy2ipyGkoZHm/0bt1QLuyZUxRt4WHuX8ddF/M=";
+  vendorHash = "sha256-3SQH3TG7DwhaAPesNCIRZLEXqsLWhtWfuWYgQUqSp2o=";
   proxyVendor = true;
 
   postPatch = ''
diff --git a/pkgs/by-name/st/steamtinkerlaunch/package.nix b/pkgs/by-name/st/steamtinkerlaunch/package.nix
index 858a9487fac5..de45aa586e88 100644
--- a/pkgs/by-name/st/steamtinkerlaunch/package.nix
+++ b/pkgs/by-name/st/steamtinkerlaunch/package.nix
@@ -20,13 +20,13 @@
 
 stdenvNoCC.mkDerivation {
   pname = "steamtinkerlaunch";
-  version = "12.12-unstable-2025-02-21";
+  version = "12.12-unstable-2025-06-02";
 
   src = fetchFromGitHub {
     owner = "sonic2kk";
     repo = "steamtinkerlaunch";
-    rev = "36e917c383a333caa43e187c06c0aed0c30c0421";
-    hash = "sha256-I7Aa7bZ6WB5LfCxyZUbl7fshyr2YWlZTMZDJKCODvhY=";
+    rev = "32bf79010dd2eb981ad5022c5b79fb65d2324d8a";
+    hash = "sha256-iWGbUI56e7uoTtAlykvkDCnS61WsRExfTDIIS85x5pQ=";
   };
 
   passthru.updateScript = unstableGitUpdater {
diff --git a/pkgs/by-name/st/steel/package.nix b/pkgs/by-name/st/steel/package.nix
index 2fe3359669a1..b6c4f1f7c257 100644
--- a/pkgs/by-name/st/steel/package.nix
+++ b/pkgs/by-name/st/steel/package.nix
@@ -1,42 +1,42 @@
 {
   lib,
+  stdenv,
   rustPlatform,
   fetchFromGitHub,
   curl,
   pkg-config,
   makeBinaryWrapper,
+  installShellFiles,
   libgit2,
   oniguruma,
   openssl,
   sqlite,
   zlib,
 
-  unstableGitUpdater,
-  writeShellScript,
-  yq,
-
+  nix-update-script,
   includeLSP ? true,
   includeForge ? true,
 }:
 rustPlatform.buildRustPackage {
   pname = "steel";
-  version = "0.6.0-unstable-2025-04-17";
+  version = "0-unstable-2025-06-15";
 
   src = fetchFromGitHub {
     owner = "mattwparas";
     repo = "steel";
-    rev = "2f28ab10523198726d343257d29d892864e897b0";
-    hash = "sha256-GcbuuaevPK5EOh0/IVgoL2MPC9ukDc8VXkdgbPX4quE=";
+    rev = "123adb314702d6520f8ab04115e79308d2400c38";
+    hash = "sha256-o1RZBlAGUht0Q7UVF+yPlrWW7B016fpBBcoaxuzRQo4=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-PWE64CwHCQWvOGeOqdsqX6rAruWlnCwsQpcxS221M3g=";
+  cargoHash = "sha256-/vPDVVOhLO7mnULyU8QLW+YHh+kGd+BSiPi55jrOWps=";
 
   nativeBuildInputs = [
     curl
     makeBinaryWrapper
     pkg-config
     rustPlatform.bindgenHook
+    installShellFiles
   ];
 
   buildInputs = [
@@ -71,19 +71,26 @@ rustPlatform.buildRustPackage {
   # Tests are disabled since they always fail when building with Nix
   doCheck = false;
 
-  postInstall = ''
-    mkdir -p $out/lib/steel
+  postInstall =
+    ''
+      mkdir -p $out/lib/steel
 
-    substituteInPlace cogs/installer/download.scm \
-      --replace-fail '"cargo-steel-lib"' '"$out/bin/cargo-steel-lib"'
+      substituteInPlace cogs/installer/download.scm \
+        --replace-fail '"cargo-steel-lib"' '"$out/bin/cargo-steel-lib"'
 
-    pushd cogs
-    $out/bin/steel install.scm
-    popd
+      pushd cogs
+      $out/bin/steel install.scm
+      popd
 
-    mv $out/lib/steel/bin/repl-connect $out/bin
-    rm -rf $out/lib/steel/bin
-  '';
+      mv $out/lib/steel/bin/repl-connect $out/bin
+      rm -rf $out/lib/steel/bin
+    ''
+    + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
+      installShellCompletion --cmd steel \
+        --bash <($out/bin/steel completions bash) \
+        --fish <($out/bin/steel completions fish) \
+        --zsh <($out/bin/steel completions zsh)
+    '';
 
   postFixup = ''
     wrapProgram $out/bin/steel --set-default STEEL_HOME "$out/lib/steel"
@@ -95,20 +102,8 @@ rustPlatform.buildRustPackage {
     STEEL_HOME = "${placeholder "out"}/lib/steel";
   };
 
-  passthru.updateScript = unstableGitUpdater {
-    tagConverter = writeShellScript "steel-tagConverter.sh" ''
-      export PATH="${
-        lib.makeBinPath [
-          curl
-          yq
-        ]
-      }:$PATH"
-
-      version=$(curl -s https://raw.githubusercontent.com/mattwparas/steel/refs/heads/master/Cargo.toml | tomlq -r .workspace.package.version)
-
-      read -r tag
-      test "$tag" = "0" && tag="$version"; echo "$tag"
-    '';
+  passthru.updateScript = nix-update-script {
+    extraArgs = [ "--version=branch" ];
   };
 
   meta = {
diff --git a/pkgs/by-name/st/stereotool/package.nix b/pkgs/by-name/st/stereotool/package.nix
index 210a3f62ad4c..e76be7a5629c 100644
--- a/pkgs/by-name/st/stereotool/package.nix
+++ b/pkgs/by-name/st/stereotool/package.nix
@@ -17,7 +17,7 @@
 
 stdenv.mkDerivation rec {
   pname = "stereotool";
-  version = "10.41";
+  version = "10.51";
 
   srcs =
     let
@@ -37,19 +37,19 @@ stdenv.mkDerivation rec {
           (fetchurl {
             name = "alsa";
             url = "https://download.thimeo.com/stereo_tool_gui_64_${versionNoPoint}";
-            hash = "sha256-v+e24IHcGBEu/jHw52tzxxb9F7V39N7XYQt0Ln5YAP8=";
+            hash = "sha256-sMgqbfJhIBuYf6nvxs4R/XmiOBHnVOp2ORcU5+CNtLM=";
           })
           # Jack version for 64bits.
           (fetchurl {
             name = "jack";
             url = "https://download.thimeo.com/stereo_tool_gui_jack_64_${versionNoPoint}";
-            hash = "sha256-v+e24IHcGBEu/jHw52tzxxb9F7V39N7XYQt0Ln5YAP8=";
+            hash = "sha256-sMgqbfJhIBuYf6nvxs4R/XmiOBHnVOp2ORcU5+CNtLM=";
           })
           # Cmd version for 64bits
           (fetchurl {
             name = "cmd";
             url = "https://download.thimeo.com/stereo_tool_cmd_64_${versionNoPoint}";
-            hash = "sha256-jYxmwh7L4XCDnhj+hTAGTlm7rjanUk76CtXmhFS8vPU=";
+            hash = "sha256-x+2JwIy2uLx+QfjayOhY+MYYEQYvAt5O7y+KWn3jcVU=";
           })
         ];
         # Sources if the system is aarch64-linux
@@ -57,17 +57,17 @@ stdenv.mkDerivation rec {
           (fetchurl {
             name = "alsa";
             url = "https://download.thimeo.com/stereo_tool_gui_pi2_64_${versionNoPoint}";
-            hash = "sha256-zKRum8jU5tqgpDjs6ZY0aUnoRXi+tfyOi9ZZDUIGhi4=";
+            hash = "sha256-Gb0YPgEsd7xvvcCL+MC9ZFAsh0ciJOsmJn1ZIdkZw7Q=";
           })
           (fetchurl {
             name = "jack";
             url = "https://download.thimeo.com/stereo_tool_gui_jack_pi2_64_${versionNoPoint}";
-            hash = "sha256-zKRum8jU5tqgpDjs6ZY0aUnoRXi+tfyOi9ZZDUIGhi4=";
+            hash = "sha256-Gb0YPgEsd7xvvcCL+MC9ZFAsh0ciJOsmJn1ZIdkZw7Q=";
           })
           (fetchurl {
             name = "cmd";
             url = "https://download.thimeo.com/stereo_tool_pi2_64_${versionNoPoint}";
-            hash = "sha256-Z/xfNKN8GxHJ+9OoHw76JWmTWClz0ZJxtwlmg+8wZ3A=";
+            hash = "sha256-KA69G6Vknx8Sle8f2O+OjO88ZYGSv4khYrWIsoHVAoc=";
           })
         ];
         # Sources if the system is aarch32-linux
@@ -75,17 +75,17 @@ stdenv.mkDerivation rec {
           (fetchurl {
             name = "alsa";
             url = "https://download.thimeo.com/stereo_tool_gui_pi2_${versionNoPoint}";
-            hash = "sha256-DHsWEr7k+QVwkoKndkuDEGDKcH0jGikESfg/5qREjdE=";
+            hash = "sha256-vjZ/nB4tZ7YVYmclX0Uukgx/JwTv6jjdAfYjloo7a8E=";
           })
           (fetchurl {
             name = "jack";
             url = "https://download.thimeo.com/stereo_tool_gui_jack_pi2_${versionNoPoint}";
-            hash = "sha256-DHsWEr7k+QVwkoKndkuDEGDKcH0jGikESfg/5qREjdE=";
+            hash = "sha256-vjZ/nB4tZ7YVYmclX0Uukgx/JwTv6jjdAfYjloo7a8E=";
           })
           (fetchurl {
             name = "cmd";
             url = "https://download.thimeo.com/stereo_tool_pi2_${versionNoPoint}";
-            hash = "sha256-fL8nlmp8ZFvcZL9KlH2zcOrDapXMGTdP6wIQ0TxRZZE=";
+            hash = "sha256-YUCpCzv3GrQEoeyZFwOTcoHu9msciqmViboVu1LBG3g=";
           })
         ];
         # Sources if the system is 32bits i686
@@ -94,17 +94,17 @@ stdenv.mkDerivation rec {
             # The name is the name of this source in the build directory
             name = "alsa";
             url = "https://download.thimeo.com/stereo_tool_gui_${versionNoPoint}";
-            hash = "sha256-IaLNl1a3IVjlCh566xeT9UlgzHA6NEwBacTuFLrEFxs=";
+            hash = "sha256-/l/2sx3v14R83Vqvmc5AqMQzmovww7hk4kTqN2U2Mqs=";
           })
           (fetchurl {
             name = "jack";
             url = "https://download.thimeo.com/stereo_tool_gui_jack_${versionNoPoint}";
-            hash = "sha256-IaLNl1a3IVjlCh566xeT9UlgzHA6NEwBacTuFLrEFxs=";
+            hash = "sha256-/l/2sx3v14R83Vqvmc5AqMQzmovww7hk4kTqN2U2Mqs=";
           })
           (fetchurl {
             name = "cmd";
             url = "https://download.thimeo.com/stereo_tool_cmd_${versionNoPoint}";
-            hash = "sha256-oCGhxQkpT0jNwbWoBnC5nmvVrDjYmr75s3Qq+NftZy0=";
+            hash = "sha256-lPNg58u163DcWk11jbg8l77OdqX+6rVQalGmEXD674s=";
           })
         ];
       }
diff --git a/pkgs/by-name/st/stevenblack-blocklist/package.nix b/pkgs/by-name/st/stevenblack-blocklist/package.nix
index c1ac6753d65f..82845e00ca8b 100644
--- a/pkgs/by-name/st/stevenblack-blocklist/package.nix
+++ b/pkgs/by-name/st/stevenblack-blocklist/package.nix
@@ -6,13 +6,13 @@
 }:
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "stevenblack-blocklist";
-  version = "3.15.42";
+  version = "3.15.45";
 
   src = fetchFromGitHub {
     owner = "StevenBlack";
     repo = "hosts";
     tag = finalAttrs.version;
-    hash = "sha256-Hd5jy64tknibRgPQczERdXLtX/PJdc9tC4gI1K+2uhE=";
+    hash = "sha256-ONPW+AAFSeG808KUyGpvIYrnKrCu9WLoLkrxsaYPD5o=";
   };
 
   outputs = [
diff --git a/pkgs/by-name/st/stockfish/package.nix b/pkgs/by-name/st/stockfish/package.nix
index 50216db2b95e..02cfd355f012 100644
--- a/pkgs/by-name/st/stockfish/package.nix
+++ b/pkgs/by-name/st/stockfish/package.nix
@@ -3,7 +3,12 @@
   stdenv,
   fetchurl,
   fetchFromGitHub,
-  apple-sdk,
+  versionCheckHook,
+  _experimental-update-script-combinators,
+  nix-update-script,
+  writeShellApplication,
+  nix,
+  gnugrep,
 }:
 
 let
@@ -24,29 +29,31 @@ let
       "unknown";
 
   # These files can be found in src/evaluate.h
-  nnueBigFile = "nn-1111cefa1111.nnue";
+  nnueBigFile = "nn-1c0000000000.nnue";
+  nnueBigHash = "sha256-HAAAAAAApn1imZnZMtDDc/dFDOQ80S0FYoaPTq+a4q0=";
   nnueBig = fetchurl {
     name = nnueBigFile;
     url = "https://tests.stockfishchess.org/api/nn/${nnueBigFile}";
-    sha256 = "sha256-ERHO+hERa3cWG9SxTatMUPJuWSDHVvSGFZK+Pc1t4XQ=";
+    hash = nnueBigHash;
   };
   nnueSmallFile = "nn-37f18f62d772.nnue";
+  nnueSmallHash = "sha256-N/GPYtdy8xB+HWqso4mMEww8hvKrY+ZVX7vKIGNaiZ0=";
   nnueSmall = fetchurl {
     name = nnueSmallFile;
     url = "https://tests.stockfishchess.org/api/nn/${nnueSmallFile}";
-    sha256 = "sha256-N/GPYtdy8xB+HWqso4mMEww8hvKrY+ZVX7vKIGNaiZ0=";
+    hash = nnueSmallHash;
   };
 in
 
 stdenv.mkDerivation rec {
   pname = "stockfish";
-  version = "17";
+  version = "17.1";
 
   src = fetchFromGitHub {
     owner = "official-stockfish";
     repo = "Stockfish";
-    rev = "sf_${version}";
-    sha256 = "sha256-oXvLaC5TEUPlHjhm7tOxpNPY88QxYHFw+Cev3Q8NEeQ=";
+    tag = "sf_${version}";
+    hash = "sha256-c8o1d7/yPnF3Eo7M/MSzYuYQr2qt2tIwyu7WfuKMAzg=";
   };
 
   postUnpack = ''
@@ -64,6 +71,37 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  nativeInstallCheckInputs = [
+    versionCheckHook
+  ];
+  doInstallCheck = true;
+  versionCheckProgram = "${placeholder "out"}/bin/stockfish";
+  versionCheckProgramArg = "--help";
+
+  passthru = {
+    updateScript = _experimental-update-script-combinators.sequence [
+      (nix-update-script {
+        extraArgs = [ "--version-regex=^sf_([\\d.]+)$" ];
+      })
+      (lib.getExe (writeShellApplication {
+        name = "${pname}-nnue-updater";
+        runtimeInputs = [
+          nix
+          gnugrep
+        ];
+        runtimeEnv = {
+          PNAME = pname;
+          PKG_FILE = builtins.toString ./package.nix;
+          NNUE_BIG_FILE = nnueBigFile;
+          NNUE_BIG_HASH = nnueBigHash;
+          NNUE_SMALL_FILE = nnueSmallFile;
+          NNUE_SMALL_HASH = nnueSmallHash;
+        };
+        text = builtins.readFile ./update.bash;
+      }))
+    ];
+  };
+
   meta = with lib; {
     homepage = "https://stockfishchess.org/";
     description = "Strong open source chess engine";
diff --git a/pkgs/by-name/st/stockfish/update.bash b/pkgs/by-name/st/stockfish/update.bash
new file mode 100644
index 000000000000..aaf294fd027d
--- /dev/null
+++ b/pkgs/by-name/st/stockfish/update.bash
@@ -0,0 +1,20 @@
+new_src="$(nix-build --attr "pkgs.$PNAME.src" --no-out-link)"
+new_nnue_big_file="$(grep --perl-regexp --only-matching 'EvalFileDefaultNameBig "\Knn-(\w+).nnue' "$new_src/src/evaluate.h")"
+new_nnue_small_file="$(grep --perl-regexp --only-matching 'EvalFileDefaultNameSmall "\Knn-(\w+).nnue' "$new_src/src/evaluate.h")"
+new_nnue_big_hash="$(
+    nix hash convert --hash-algo sha256 "$(
+        nix-prefetch-url --type sha256 "https://tests.stockfishchess.org/api/nn/$new_nnue_big_file"
+    )"
+)"
+new_nnue_small_hash="$(
+    nix hash convert --hash-algo sha256 "$(
+        nix-prefetch-url --type sha256 "https://tests.stockfishchess.org/api/nn/$new_nnue_small_file"
+    )"
+)"
+
+pkg_body="$(<"$PKG_FILE")"
+pkg_body="${pkg_body//"$NNUE_BIG_FILE"/"$new_nnue_big_file"}"
+pkg_body="${pkg_body//"$NNUE_BIG_HASH"/"$new_nnue_big_hash"}"
+pkg_body="${pkg_body//"$NNUE_SMALL_FILE"/"$new_nnue_small_file"}"
+pkg_body="${pkg_body//"$NNUE_SMALL_HASH"/"$new_nnue_small_hash"}"
+echo "$pkg_body" >"$PKG_FILE"
diff --git a/pkgs/by-name/st/stopmotion/package.nix b/pkgs/by-name/st/stopmotion/package.nix
index a285c847a6fb..4915d9aada97 100644
--- a/pkgs/by-name/st/stopmotion/package.nix
+++ b/pkgs/by-name/st/stopmotion/package.nix
@@ -4,31 +4,31 @@
   fetchgit,
   cmake,
   pkg-config,
-  qt5,
+  qt6,
   libvorbis,
   libarchive,
   libxml2,
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.8.7";
+  version = "0.9.0";
   pname = "stopmotion";
 
   src = fetchgit {
     url = "https://invent.kde.org/multimedia/stopmotion";
     rev = version;
-    hash = "sha256-wqrB0mo7sI9ntWF9QlYmGiRiIoLkMzD+mQ6BzhbAKX8=";
+    hash = "sha256-RsFqvAmTJBVg32bnY2eA9jWWnuHgv66rZiWMqa6sviw=";
   };
 
   nativeBuildInputs = [
     cmake
     pkg-config
-    qt5.wrapQtAppsHook
+    qt6.wrapQtAppsHook
   ];
   buildInputs = [
-    qt5.qtbase
-    qt5.qttools
-    qt5.qtmultimedia
+    qt6.qtbase
+    qt6.qttools
+    qt6.qtmultimedia
     libvorbis
     libarchive
     libxml2
diff --git a/pkgs/by-name/st/storj-uplink/package.nix b/pkgs/by-name/st/storj-uplink/package.nix
index 30c770ea82a9..074cbdb68a16 100644
--- a/pkgs/by-name/st/storj-uplink/package.nix
+++ b/pkgs/by-name/st/storj-uplink/package.nix
@@ -6,18 +6,18 @@
 
 buildGoModule rec {
   pname = "storj-uplink";
-  version = "1.128.4";
+  version = "1.131.3";
 
   src = fetchFromGitHub {
     owner = "storj";
     repo = "storj";
     rev = "v${version}";
-    hash = "sha256-7CH//aZ7DOXIP6A1gAZpiFO55LrLtBhvtZl/tVhYl8g=";
+    hash = "sha256-9ZBe9m6HD9Cz8afyGqPLnKqrA6OPaxB2azUgr9VP5OY=";
   };
 
   subPackages = [ "cmd/uplink" ];
 
-  vendorHash = "sha256-CTcFTEKj5s43OlrIC7lOh3Lh/6k8/Igckv0zwrdGKbE=";
+  vendorHash = "sha256-8g5NZpw2T2NuyizSh/cA2seSChEGWzlZmR82Xg0ClKQ=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/st/storm/package.nix b/pkgs/by-name/st/storm/package.nix
index 78d51294e153..c1657e8b3f08 100644
--- a/pkgs/by-name/st/storm/package.nix
+++ b/pkgs/by-name/st/storm/package.nix
@@ -14,12 +14,12 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "apache-storm";
-  version = "2.8.0";
+  version = "2.8.1";
   name = "${finalAttrs.pname}-${finalAttrs.version}";
 
   src = fetchurl {
     url = "mirror://apache/storm/${finalAttrs.name}/${finalAttrs.name}.tar.gz";
-    hash = "sha256-BpRJ1wfrD0TM25plVvSP2DV7dtCJ3MFa04t3jzZcXno=";
+    hash = "sha256-YIHVIlYknR5ZeoZxykshjWXSwYxaZxD7pR9WMKNvAaE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/st/streamripper/package.nix b/pkgs/by-name/st/streamripper/package.nix
index 50ec647755ab..22ee95b0e381 100644
--- a/pkgs/by-name/st/streamripper/package.nix
+++ b/pkgs/by-name/st/streamripper/package.nix
@@ -2,6 +2,7 @@
   lib,
   stdenv,
   fetchurl,
+  fetchDebianPatch,
   glib,
   pkg-config,
   libogg,
@@ -18,6 +19,23 @@ stdenv.mkDerivation rec {
     sha256 = "0hnyv3206r0rfprn3k7k6a0j959kagsfyrmyjm3gsf3vkhp5zmy1";
   };
 
+  patches = [
+    # fix build with gcc 14
+    (fetchDebianPatch {
+      inherit pname version;
+      debianRevision = "2";
+      patch = "1075541-gcc14";
+      hash = "sha256-30bz7CDmbq+Bd+jTKSq7aJsXUJQAQp3nnJZvt3Qbp8Q=";
+    })
+    # fix parse of URIs containing colons (https://bugs.debian.org/873964)
+    (fetchDebianPatch {
+      inherit pname version;
+      debianRevision = "2";
+      patch = "873964-http";
+      hash = "sha256-D6koUCbnJHtRuq2zZy9VrxymuGXN1COacbQhphgB8qo=";
+    })
+  ];
+
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [
     glib
@@ -26,10 +44,6 @@ stdenv.mkDerivation rec {
     libmad
   ];
 
-  makeFlags = [
-    "AR:=$(AR)"
-  ];
-
   meta = with lib; {
     homepage = "https://streamripper.sourceforge.net/";
     description = "Application that lets you record streaming mp3 to your hard drive";
diff --git a/pkgs/by-name/st/stress-ng/package.nix b/pkgs/by-name/st/stress-ng/package.nix
index 9aae0af822db..af3b04a9621e 100644
--- a/pkgs/by-name/st/stress-ng/package.nix
+++ b/pkgs/by-name/st/stress-ng/package.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "stress-ng";
-  version = "0.19.00";
+  version = "0.19.01";
 
   src = fetchFromGitHub {
     owner = "ColinIanKing";
     repo = "stress-ng";
     rev = "V${version}";
-    hash = "sha256-CbGbGGWZDil7l04KNuizlAu9IACdtbHR5rrn39AAhio=";
+    hash = "sha256-ZfL7u6OCEYnjlXlGaKFT4aemMI1b7keIf+KZdgeasfA=";
   };
 
   postPatch = ''
diff --git a/pkgs/by-name/st/strobealign/package.nix b/pkgs/by-name/st/strobealign/package.nix
new file mode 100644
index 000000000000..0dd0a976f512
--- /dev/null
+++ b/pkgs/by-name/st/strobealign/package.nix
@@ -0,0 +1,38 @@
+{
+  stdenv,
+  lib,
+  fetchFromGitHub,
+  cmake,
+  pkg-config,
+  isa-l,
+  zlib,
+}:
+stdenv.mkDerivation (self: {
+  pname = "strobealign";
+  version = "0.16.1";
+
+  src = fetchFromGitHub {
+    owner = "ksahlin";
+    repo = "strobealign";
+    tag = "v${self.version}";
+    hash = "sha256-RZxIT6iwanRuPk2sWv/QRkUaPMdterOKCo30FPZHC8o=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+  buildInputs = [
+    zlib
+    isa-l
+  ];
+
+  meta = {
+    description = "Read aligner for short reads";
+    mainProgram = "strobealign";
+    license = lib.licenses.mit;
+    homepage = "https://github.com/ksahlin/strobealign";
+    maintainers = [ lib.maintainers.jbedo ];
+    platforms = lib.platforms.unix;
+  };
+})
diff --git a/pkgs/by-name/st/style50/package.nix b/pkgs/by-name/st/style50/package.nix
new file mode 100644
index 000000000000..034f7428aa4e
--- /dev/null
+++ b/pkgs/by-name/st/style50/package.nix
@@ -0,0 +1,68 @@
+{
+  lib,
+  python3Packages,
+  fetchFromGitHub,
+  libclang,
+  versionCheckHook,
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "style50";
+  version = "2.10.4";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "cs50";
+    repo = "style50";
+    tag = "v${version}";
+    hash = "sha256-59V3QZMYH5edBXv1GNdoaQxerDfKmLKUZ7VL3cvDvuE=";
+  };
+
+  build-system = [
+    python3Packages.setuptools
+  ];
+
+  dependencies = with python3Packages; [
+    autopep8
+    icdiff
+    jinja2
+    jsbeautifier
+    pycodestyle
+    python-magic
+    termcolor
+  ];
+
+  preFixup = ''
+    makeWrapperArgs+=(--prefix PATH : ${
+      lib.makeBinPath [
+        libclang # clang-format
+      ]
+    })
+  '';
+
+  pythonRelaxDeps = [
+    "pycodestyle"
+  ];
+
+  pythonRemoveDeps = [
+    "clang-format"
+  ];
+
+  pythonImportsCheck = [ "style50" ];
+
+  nativeCheckInputs = [ versionCheckHook ];
+  versionCheckProgramArg = "--version";
+
+  # no python tests
+
+  meta = {
+    description = "Tool for checking code against the CS50 style guide";
+    homepage = "https://cs50.readthedocs.io/style50/";
+    downloadPage = "https://github.com/cs50/style50";
+    changelog = "https://github.com/cs50/style50/releases/tag/v${version}";
+    license = lib.licenses.gpl3Only;
+    platforms = lib.platforms.unix;
+    maintainers = with lib.maintainers; [ ethancedwards8 ];
+    mainProgram = "style50";
+  };
+}
diff --git a/pkgs/by-name/st/stylelint/package.nix b/pkgs/by-name/st/stylelint/package.nix
index 5805a7e68e5d..2a4aad71385d 100644
--- a/pkgs/by-name/st/stylelint/package.nix
+++ b/pkgs/by-name/st/stylelint/package.nix
@@ -5,16 +5,16 @@
 }:
 buildNpmPackage rec {
   pname = "stylelint";
-  version = "16.20.0";
+  version = "16.21.0";
 
   src = fetchFromGitHub {
     owner = "stylelint";
     repo = "stylelint";
     tag = version;
-    hash = "sha256-BgKutswOkgcTFTeLfocVtyC9P0Yr0dLyN4Gi/jrZWrw=";
+    hash = "sha256-qlD4voKQN/O9PDkXSJZZCGkoD+L0d9f78gGHKfkDkhQ=";
   };
 
-  npmDepsHash = "sha256-cAjPOo3KSMGwmCIBTX5x2xIUUqaba6shybAFqKAtQHs=";
+  npmDepsHash = "sha256-mvbYuaBuoF2ri14svCeT7BJX7qHnKZz+cpMlAwabRDI=";
 
   dontNpmBuild = true;
 
diff --git a/pkgs/by-name/su/submit50/package.nix b/pkgs/by-name/su/submit50/package.nix
new file mode 100644
index 000000000000..652ab9e24f7b
--- /dev/null
+++ b/pkgs/by-name/su/submit50/package.nix
@@ -0,0 +1,49 @@
+{
+  lib,
+  python3Packages,
+  fetchFromGitHub,
+  versionCheckHook,
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "submit50";
+  version = "3.2.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "cs50";
+    repo = "submit50";
+    tag = "v${version}";
+    hash = "sha256-i1hO9P3FGamo4b733/U7d2fiWLdnTskrHM2BXxxDePc=";
+  };
+
+  build-system = [
+    python3Packages.setuptools
+  ];
+
+  dependencies = with python3Packages; [
+    lib50
+    packaging
+    pytz
+    requests
+    termcolor
+  ];
+
+  pythonImportsCheck = [ "submit50" ];
+
+  nativeCheckInputs = [ versionCheckHook ];
+  versionCheckProgramArg = "--version";
+
+  # no python tests
+
+  meta = {
+    description = "Tool for submitting student CS50 code";
+    homepage = "https://cs50.readthedocs.io/submit50/";
+    downloadPage = "https://github.com/cs50/submit50";
+    changelog = "https://github.com/cs50/submit50/releases/tag/v${version}";
+    license = lib.licenses.gpl3Only;
+    platforms = lib.platforms.unix;
+    maintainers = with lib.maintainers; [ ethancedwards8 ];
+    mainProgram = "submit50";
+  };
+}
diff --git a/pkgs/by-name/su/sudachidict/package.nix b/pkgs/by-name/su/sudachidict/package.nix
index 8a885001a346..fa1d3e323906 100644
--- a/pkgs/by-name/su/sudachidict/package.nix
+++ b/pkgs/by-name/su/sudachidict/package.nix
@@ -7,20 +7,20 @@
 
 let
   pname = "sudachidict";
-  version = "20241021";
+  version = "20250129";
 
   srcs = {
     core = fetchzip {
       url = "https://github.com/WorksApplications/SudachiDict/releases/download/v${version}/sudachi-dictionary-${version}-core.zip";
-      hash = "sha256-wLcRhR4TCazRxDMKXYZ8T5Vn+rnY6aJmwExIpTIAyeE=";
+      hash = "sha256-aoUS+PM/gBGBU8HJqJB9Pbw7FNCWu8sp81DamtlFsXc=";
     };
     small = fetchzip {
       url = "https://github.com/WorksApplications/SudachiDict/releases/download/v${version}/sudachi-dictionary-${version}-small.zip";
-      hash = "sha256-Qhp9seFCnLnLLWoQ2izDVKcdca+xZE1s+SCqfj0d3sU=";
+      hash = "sha256-+50hcgXmtVZ7rFCInmSjoGGJCLOnax9UcqN5CmQcgGI=";
     };
     full = fetchzip {
       url = "https://github.com/WorksApplications/SudachiDict/releases/download/v${version}/sudachi-dictionary-${version}-full.zip";
-      hash = "sha256-8nlUDGHUKrZ0ZFEnnL4rHiu2ybyW25G6Bm6vF4smxWE=";
+      hash = "sha256-2dKHI3TKF3aIWdN2lhcCbjRdJOH91rJNsdC7o0Wdlj0=";
     };
   };
 in
@@ -47,6 +47,7 @@ lib.checkListOfEnum "${pname}: dict-type" [ "core" "full" "small" ] [ dict-type
 
     passthru = {
       dict-type = dict-type;
+      updateScript = ./update.sh;
     };
 
     meta = {
diff --git a/pkgs/by-name/su/sudachidict/update.sh b/pkgs/by-name/su/sudachidict/update.sh
new file mode 100755
index 000000000000..4d89a50c00c1
--- /dev/null
+++ b/pkgs/by-name/su/sudachidict/update.sh
@@ -0,0 +1,27 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl jq nix-update
+
+set -euo pipefail
+
+pushd "$(dirname "$0")" >/dev/null
+
+ORG="WorksApplications"
+REPO="SudachiDict"
+VERSION="$(curl -s "https://api.github.com/repos/$ORG/$REPO/releases/latest" | jq -r '.tag_name' | sed 's/^v//')"
+
+sed -i "s/version = \"[0-9]*\";/version = \"$VERSION\";/" package.nix
+
+DICT_TYPES=("core" "small" "full")
+
+for TYPE in "${DICT_TYPES[@]}"; do
+  URL="https://github.com/$ORG/$REPO/releases/download/v$VERSION/sudachi-dictionary-$VERSION-$TYPE.zip"
+
+  PLAIN_HASH=$(nix-prefetch-url --type sha256 "$URL" --unpack)
+  HASH=$(nix hash convert --hash-algo sha256 --to sri "$PLAIN_HASH")
+
+  sed -i -E "/(${TYPE} = fetchzip \{|^ *url = .*${TYPE}\.zip\";\$)/,/^ *hash = / s|hash = \"[^\"]*\"|hash = \"$HASH\"|" package.nix
+done
+
+popd >/dev/null
+
+nix-update "python3Packages.sudachidict-core" --version=skip
diff --git a/pkgs/by-name/su/sudo-rs/package.nix b/pkgs/by-name/su/sudo-rs/package.nix
index ed9ec2611308..62836eac5e42 100644
--- a/pkgs/by-name/su/sudo-rs/package.nix
+++ b/pkgs/by-name/su/sudo-rs/package.nix
@@ -75,7 +75,11 @@ rustPlatform.buildRustPackage (finalAttrs: {
   ];
 
   passthru = {
-    updateScript = nix-update-script { };
+    updateScript = nix-update-script {
+      extraArgs = [
+        "--version-regex=^v([0-9]+\\.[0-9]+\\.[0-9])$"
+      ];
+    };
     tests = nixosTests.sudo-rs;
   };
 
diff --git a/pkgs/by-name/su/suitesparse-graphblas/package.nix b/pkgs/by-name/su/suitesparse-graphblas/package.nix
index 780aae1eecf8..3c4289727824 100644
--- a/pkgs/by-name/su/suitesparse-graphblas/package.nix
+++ b/pkgs/by-name/su/suitesparse-graphblas/package.nix
@@ -8,7 +8,7 @@
 
 stdenv.mkDerivation rec {
   pname = "suitesparse-graphblas";
-  version = "10.0.5";
+  version = "10.1.0";
 
   outputs = [
     "out"
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     owner = "DrTimothyAldenDavis";
     repo = "GraphBLAS";
     rev = "v${version}";
-    hash = "sha256-BesARhxqfi4GsgdYsJd5b1+TYme891PezhSouDfZXBo=";
+    hash = "sha256-XJZftjmSQJNzcMCd/kLaXkDsEoGk1+24X70ox4E1EZM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/su/sums/package.nix b/pkgs/by-name/su/sums/package.nix
index a719de19ae92..27a59480c0aa 100644
--- a/pkgs/by-name/su/sums/package.nix
+++ b/pkgs/by-name/su/sums/package.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "sums";
-  version = "0.13";
+  version = "0.15";
 
   src = fetchFromGitLab {
     owner = "leesonwai";
     repo = "sums";
     rev = "refs/tags/${finalAttrs.version}";
-    hash = "sha256-DztSQcaH/k5EOvsrVA/DdgNSEHtz4Nr938tIhC94Gu8=";
+    hash = "sha256-L+ND18cqXAi0qqt1lECQlx2cBX9HrhAXNFxHFl9wjU8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/su/supercell-wx/package.nix b/pkgs/by-name/su/supercell-wx/package.nix
index 4836eca8ea3b..76e9b05dc7b0 100644
--- a/pkgs/by-name/su/supercell-wx/package.nix
+++ b/pkgs/by-name/su/supercell-wx/package.nix
@@ -24,7 +24,7 @@
   gtest,
   glm,
   qt6,
-  tbb_2021_11,
+  tbb_2021,
   tracy,
   replaceVars,
   python3,
@@ -130,7 +130,7 @@ stdenv.mkDerivation (finalAttrs: {
     aws-sdk-cpp
     howard-hinnant-date
     boost
-    tbb_2021_11
+    tbb_2021
     glew
     geos
     spdlog
diff --git a/pkgs/by-name/su/supersonic/package.nix b/pkgs/by-name/su/supersonic/package.nix
index 7a0b1a480458..635befdf2bd3 100644
--- a/pkgs/by-name/su/supersonic/package.nix
+++ b/pkgs/by-name/su/supersonic/package.nix
@@ -20,16 +20,16 @@ assert waylandSupport -> stdenv.hostPlatform.isLinux;
 
 buildGoModule rec {
   pname = "supersonic" + lib.optionalString waylandSupport "-wayland";
-  version = "0.15.2";
+  version = "0.16.0";
 
   src = fetchFromGitHub {
     owner = "dweymouth";
     repo = "supersonic";
     rev = "v${version}";
-    hash = "sha256-grVZgsoehx32zpdKXuy78gcBb/ESZtzyizRuRKIjgwM=";
+    hash = "sha256-KC5olxn1+H/Y7HCOvsNPitcGgUgh+Ye2Te1yFffr7cs=";
   };
 
-  vendorHash = "sha256-fc86z8bvdFI3LdlyHej2G42O554hpRszqre+e3WUOKI=";
+  vendorHash = "sha256-uHOeeCtnwZfJ3fHTPL/MtvQZeOQ8NEgMnpiXAPjY6YE=";
 
   nativeBuildInputs =
     [
diff --git a/pkgs/by-name/su/surrealdb-migrations/package.nix b/pkgs/by-name/su/surrealdb-migrations/package.nix
index 41dbc363a552..334bc06a98f9 100644
--- a/pkgs/by-name/su/surrealdb-migrations/package.nix
+++ b/pkgs/by-name/su/surrealdb-migrations/package.nix
@@ -9,7 +9,7 @@
 
 let
   pname = "surrealdb-migrations";
-  version = "2.2.2";
+  version = "2.3.0";
 in
 rustPlatform.buildRustPackage {
   inherit pname version;
@@ -18,11 +18,11 @@ rustPlatform.buildRustPackage {
     owner = "Odonno";
     repo = "surrealdb-migrations";
     rev = "v${version}";
-    hash = "sha256-PLCnfkjmmp7Xx6sF9u15X52JB3x8135xjBr8yYkqYhQ=";
+    hash = "sha256-BCShTHZSeahJclOHcWh7etl0FajhFs4/RVVszFZdOV8=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-x0S9hHvHlQNelX2QR/4ApwZxgdzjGWnyDxNUrQvyTH0=";
+  cargoHash = "sha256-fV7yHRiqcM4l9i3tnoMawEQxd9fqbcZYZkeTITy310g=";
 
   # Error: No such file or directory (os error 2)
   # failures:
diff --git a/pkgs/by-name/su/surrealdb/package.nix b/pkgs/by-name/su/surrealdb/package.nix
index 287be7331cc2..8bef84b0f689 100644
--- a/pkgs/by-name/su/surrealdb/package.nix
+++ b/pkgs/by-name/su/surrealdb/package.nix
@@ -11,17 +11,17 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "surrealdb";
-  version = "2.3.3";
+  version = "2.3.4";
 
   src = fetchFromGitHub {
     owner = "surrealdb";
     repo = "surrealdb";
     tag = "v${version}";
-    hash = "sha256-1qdO9uRuR/s7j58HjA9k3XQWoqdPMRVcReTqIWTdWGc=";
+    hash = "sha256-TGFnX9Hcm9h+9qbXdCSdACe7I+Vs9DqZZhko1lWCFbU=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-OfSSrHwjqIZ8DYE2XAPnHBsPy4ILS+57hLXJdDgafGk=";
+  cargoHash = "sha256-Q90PHGB8d0EUc018EsT8GbGad0OcD0BY/s5WtarHPBs=";
 
   # error: linker `aarch64-linux-gnu-gcc` not found
   postPatch = ''
diff --git a/pkgs/by-name/sv/svg-text-to-path/package.nix b/pkgs/by-name/sv/svg-text-to-path/package.nix
index 3955b0cccdf8..bbccd111fc23 100644
--- a/pkgs/by-name/sv/svg-text-to-path/package.nix
+++ b/pkgs/by-name/sv/svg-text-to-path/package.nix
@@ -7,16 +7,16 @@
 
 buildNpmPackage (finalAttrs: {
   pname = "svg-text-to-path";
-  version = "2.0.4";
+  version = "2.0.5";
 
   src = fetchFromGitHub {
     owner = "paulzi";
     repo = "svg-text-to-path";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-1LW4jYRawP+BM1UtFJiTdcWVnFsEtRdVMlpZgbpZZ8Q=";
+    hash = "sha256-ArAv/8JLQKdM3Lqdyx8XETPq3b6QcDwpwonpgoGlp9E=";
   };
 
-  npmDepsHash = "sha256-HBV002dwyWwb9dBBpQY4FFZ/U0lfrXNEmNz4Aa0gRKw=";
+  npmDepsHash = "sha256-hY8YrhvMlvcnLCVolhnnZHHq81fsOHyDgHlhyWeTEL0=";
   npmPackFlags = [ "--ignore-scripts" ];
   dontNpmBuild = true;
 
diff --git a/pkgs/by-name/sv/svix-server/package.nix b/pkgs/by-name/sv/svix-server/package.nix
index b4d79f721100..08b0a7b7ef4e 100644
--- a/pkgs/by-name/sv/svix-server/package.nix
+++ b/pkgs/by-name/sv/svix-server/package.nix
@@ -10,19 +10,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "svix-server";
-  version = "1.66.0";
+  version = "1.67.0";
 
   src = fetchFromGitHub {
     owner = "svix";
     repo = "svix-webhooks";
     rev = "v${version}";
-    hash = "sha256-Us/Bkp5ujC1rd/zpPzXL4kiFAiAygPWvRJF836ErK/0=";
+    hash = "sha256-H9SrYWwSwW03LSKzCTVgtgZIM+o6nL3USBmJ61qxFos=";
   };
 
   sourceRoot = "${src.name}/server";
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-fGXdWPJYauLQYC7o7I8q8okXn8JXzwnX6Pq71hj36Wo=";
+  cargoHash = "sha256-xDSxevVnUPG95djjq//tjYI7WPb6qkXcvVKa6rBIwF0=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/by-name/sw/swagger-typescript-api/missing-hashes.json b/pkgs/by-name/sw/swagger-typescript-api/missing-hashes.json
new file mode 100644
index 000000000000..9960c024c25d
--- /dev/null
+++ b/pkgs/by-name/sw/swagger-typescript-api/missing-hashes.json
@@ -0,0 +1,67 @@
+{
+  "@biomejs/cli-darwin-arm64@npm:2.0.0": "764c0c31fd9d3f7f6c865747dc21cfb41a18489ef9a0ee46ad77e90cb06c29d42c4e8c33a00287c61f20cf192a91977a83c66785f34a3fe537c828147737f4d9",
+  "@biomejs/cli-darwin-x64@npm:2.0.0": "9af332e2e23b1dc0f203eee0b62b45881e08c8e842b698aeca77372e22f3bbdc25877d12449a3e5fbb53acc8e218684b264fb5e7a1695852221aa3b23e97f348",
+  "@biomejs/cli-linux-arm64-musl@npm:2.0.0": "59457823a3500202f2b5d9172f2a35bf48db7013bc61361a4ad4af990dbeca55731937ba4226c2b4e8a0dbfcc32d4affd034c9533c18c56dabe530858b5852b1",
+  "@biomejs/cli-linux-arm64@npm:2.0.0": "e0678a17ccfac6579c164f9417ed17d39fb6e040d38def2f315db36c8becdaba379ad6555c0d71de8db341ce14afa97f9ef4c5f5c6fd0a0f91f189f35ce0ed38",
+  "@biomejs/cli-linux-x64-musl@npm:2.0.0": "a40735fe8d2f450415615abd8269057b93c1e2845b08b86df147621bb520c1c706d4b6d1cfb1efcf3d0f2ec7d97c5170a2e9a25cb50784b2bddecf4bfb81f5a6",
+  "@biomejs/cli-linux-x64@npm:2.0.0": "33bc0f45b046c0d199ea3fca52b75c071fefeb53508b740a60148e3cc07f06e5e5283e07241bd3eeb62f521433f54b1b8b2eb82c77b55a678fd0d233f06deba7",
+  "@biomejs/cli-win32-arm64@npm:2.0.0": "6039e24f9116c805247267e710b3b18464daefade5ddaf032b5993fe68b2b421b62a8ec8e53d16ec1cd43babb70d27b43e2dc9704e8a9a7dd47d3e68d29ac3be",
+  "@biomejs/cli-win32-x64@npm:2.0.0": "82dee9ae7ddd811b2a8cda3530f0bca3babd85204daf56e54d721a0114355d8006f473262a14d235b697308962db4c46b275f1d4fa53cb6c626bba73cc5493e3",
+  "@esbuild/aix-ppc64@npm:0.25.5": "fb872b34a2843293dc60e809968fedf93e0d8f7174b062decffae6ba861eb56aaea0cd0aba87ba99162ceb2a690f0cde4fc29c000b52c035e40c91ec7861d43e",
+  "@esbuild/android-arm64@npm:0.25.5": "c818e799b19b5587466bf68a27b578ccaaf866c1d144573fbde7659e3fd3f555422ec3e67f5bd186a87648957d1b6e74df4f847edea7219c16979c9916f36e91",
+  "@esbuild/android-arm@npm:0.25.5": "a5384933f9f2ffcadce2be49da6ff43249fe42f32a04071316434e9f633fc20c8d4029072e9a53555620c3531045786297607b852579eee30b6dbc3bc9d98cd9",
+  "@esbuild/android-x64@npm:0.25.5": "8ce115dc7e1e6735f23b4aadb2dfca29c0abd8577ce34802ea3d017a64e388928949134fe225dfe190babdc5ec01be5fc7794eca84738cdefc12c5e3789ce43b",
+  "@esbuild/darwin-arm64@npm:0.25.5": "a009eab62f2bd284a6f2001d5e08217059186ffc16907bbe873e1de40fe9b5ed92c0db2f4c4d0dc41545838850a430c8f2f35d7bdb9cd01a1a04293acd97afca",
+  "@esbuild/darwin-x64@npm:0.25.5": "cac8021a7a0c549263e076913346b35a5bb81f76ffbc1abfad5e7b67303f013ac0c76f111bf624ea8447b327ec86c18a60c6ff307d743a2269f5d47313f5b2de",
+  "@esbuild/freebsd-arm64@npm:0.25.5": "d248e7103b7094eb4288db7c9a78b2905a25b4a957f2b945531ca88d3394f45ceca2343a7c84954734534af6159bc741eb3d5c1ed9df990f7395337a1b14192c",
+  "@esbuild/freebsd-x64@npm:0.25.5": "8a7be0740f07f5dbb3e24bf782ca6ef518a8ce9b53e5d864221722045713586d41774cbd531df97dc868b291b3b303c12e50ca8611c3cb7b5fe09a30b38285eb",
+  "@esbuild/linux-arm64@npm:0.25.5": "ce3c8fca47cf0a92148fb288eb35a5c4a4dcf7a700730b3a48fdd63c13e17c719eb6b350378203fba773477eb5be637f47a6d52c5d4ce5bdc0075ee917156006",
+  "@esbuild/linux-arm@npm:0.25.5": "cc81ea76ab86ed2a837c9da329f7c63412d288dc0aa608c8dcdf51705dc93d5b7f966a429be4896babe611074e5898c7e6c8e07ad7f50123a05478975294fbb4",
+  "@esbuild/linux-ia32@npm:0.25.5": "bfed6750923afd56148f658f6ec8995479f5115116dc212ecb9e4c556064422e22eda855177e7c02cbc945494e4db1167101918c5fa932278115db2c7025a3f6",
+  "@esbuild/linux-loong64@npm:0.25.5": "e5c20140bbbdba53f0d86dd72961ed73e6255d2ada2d3a626f390b352170605644822ad7592f695b6e520edcefe0c5f6ba19d10694b5d11d725745d9792bde01",
+  "@esbuild/linux-mips64el@npm:0.25.5": "6b3559517efd0dd1301debc7af7e275b055859c26facdda2e229b1aaab6ebea4c480a1da151c46211ee4035d95bfa7f0cdacf735b57ee99d41b69c77357310b9",
+  "@esbuild/linux-ppc64@npm:0.25.5": "a1a1af99d758efce928335637924dcd8ddec4201af51014e1f831b012d53a0a673b1e0c31036ec9e8c5a0311439283419ec8abdfc67ecb245fa7f7b653006ed0",
+  "@esbuild/linux-riscv64@npm:0.25.5": "6cd8dce6723b73e0f89898ab6cd52e0d009afdacdfc0d5529134de7b832c92c2e0421fbb5cbfc0e0c0b2b00a9b1ff2c4cdb9695b2c535ebc174960e986c727a7",
+  "@esbuild/linux-s390x@npm:0.25.5": "31b86dbc93d19eb362bad3353e65d6da771118346e723582d06c05f1b6ffad1c3765001b5215ef1e8f0c2bb29130d98815359bbc88e5c08304354d5a92e6ea94",
+  "@esbuild/linux-x64@npm:0.25.5": "f878a3e40edfd8a50de94bf982a9eaf03e636a0332af163a6c905490063aae652384fb392d4765c4338fb6f991034949c92ec768ee65c3b2fceeb494b89fe8b3",
+  "@esbuild/netbsd-arm64@npm:0.25.5": "941c5e28a63a93f19122271b5490e196db12815702c2266c6d66401b6909a4364ab889611ba81c5359624e3ce61f0505a680a1179ed9a555d1415fa1c485d75d",
+  "@esbuild/netbsd-x64@npm:0.25.5": "edbefdd88ca24a373497a7c8d1fdab418827ff89c6eee1c574159dbb4d9174552aa87753f35525a894964b77c14b012164ec5582b9f19dd4d6c1f5d45df411c7",
+  "@esbuild/openbsd-arm64@npm:0.25.5": "d44633a374c109d2fb9c678882016e3ec3d79f0c5f21a6e6fb0114ea709bc539200b037a4e3ec52304eea2f8c5957bf16c6f0a7af5cfde41b652c4bac604bba6",
+  "@esbuild/openbsd-x64@npm:0.25.5": "efc4641ea653dedc9886f0603c2e7cfc6fbe94c34d4cdaee9b060a8b9d8143d1192c45da93b3e802af2c26f72ab1ad3a3fad0e0cb297d06de55814fe83ccd32c",
+  "@esbuild/sunos-x64@npm:0.25.5": "29860663381b6098c0fda6f69235407654dfad953e83b3f9f06a270950d5c37da4ca60a4b5915b8e2606d468b560be6179870f64a22d5b046e8a930c31a7b554",
+  "@esbuild/win32-arm64@npm:0.25.5": "a77d395251c8a62ab0cec07d5230222823fa02fbf3ef008d94b5213a335c9f949872c3f1c2f947abaa28098b669018e429af42f59616e049860a0072f3b006de",
+  "@esbuild/win32-ia32@npm:0.25.5": "ff1b6cbe835082aef5b93c3e2012d51be431d05c6ae5f90a5bc89687c687e8e2340c262dedddd124b27b511616bbc4088b5a4a949d3147f677084dc6ec572629",
+  "@esbuild/win32-x64@npm:0.25.5": "266e69e8d37bd4deb77443588e49472e4e9791178cb39e1692eabb67cf65d8e85a932ac468e7ebb2072c8a9ee23ad413c8f0f7d954c474f643cedbbf7aad952a",
+  "@rolldown/binding-darwin-arm64@npm:1.0.0-beta.15": "266648537808df9caae910755a91056f2d003cb5207316724712fb814c779a356c871ea173d0c550dc94360ce544b07e1cd9db4e7bf91064d5ed9e4ea495b9c8",
+  "@rolldown/binding-darwin-x64@npm:1.0.0-beta.15": "2c9af888858c6cc612ffb9bbcb14651ae6e09b9c6aad3b9b572fe3a26b61f9f7daa27ca9f51f14e9becdeca956b77250c92ae38095acd9c3631e509a4e94cc98",
+  "@rolldown/binding-freebsd-x64@npm:1.0.0-beta.15": "ce94ccfbfd65469131d133d814ccee8db1de85ba3518dc0b324e754fcdafdca567951473d781230549d33cdc38cfcdc4324fafade529e0530009580d4fc30c21",
+  "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-beta.15": "062140a92a3311dde57bff3f96af99559258293a14e05cbe5a55d9c7e646e98c88cbabb2d3a227a0d51a996bf44a32ae0c8407db137b1b44c0aed257d763b370",
+  "@rolldown/binding-linux-arm64-gnu@npm:1.0.0-beta.15": "1b26e2315b364bb2542a96061d2e34564ebcca2191a9247fe3af34d2343bf50636686e33cc1104fda513432f90a2dc6a68d71b7b585edee1cf8bf21600edf142",
+  "@rolldown/binding-linux-arm64-musl@npm:1.0.0-beta.15": "5bc4e640c1b247fadfca7345f2c1264102d0cd8edaef0018d2a86bf617956b13daf35bf7a8e428cb162f2a68e5d3464b3c34780e08c935ddae01dbf58860b3c7",
+  "@rolldown/binding-linux-x64-gnu@npm:1.0.0-beta.15": "daa99ebcc0cd856cfa60e3da63e88ad4168e598a6accb8c95ae0f4c014027d678bcab8c141605e4fd497fe949e719a953328f3042b410cf91c2572acfeac8e50",
+  "@rolldown/binding-linux-x64-musl@npm:1.0.0-beta.15": "24504dc0f657c0acd8e361c3741e1fad7903188b8aecc1a823eb39c40528f88739330a1bf3d1f95d2a01cc0ecd6b5fc5325450abd67f7764bc5d44e496c7feb7",
+  "@rolldown/binding-wasm32-wasi@npm:1.0.0-beta.15": "f1b8d470e876e23b422f83775ed0f8390be272c832bc6adfcea418c39d45a260f8fbf0209686d02fa244b891232b3c94ee33a41eb383b4d5b5914ba9dca7631e",
+  "@rolldown/binding-win32-arm64-msvc@npm:1.0.0-beta.15": "a3122e3d53634dded2dcd8854adc8159727726befdd62bdfaa81f40232ab1588b75507a8d6be7ea60741f17bd3be71cd30efc61a87df60ed2c858d89c1b65d87",
+  "@rolldown/binding-win32-ia32-msvc@npm:1.0.0-beta.15": "af0db10de1a3d28cf3c70fd39d6da10952e5c7e9ab878d43f016a4fbfd9d2749ca92d73f3832162588da84f56ae1a1f90101191923774f29ad0747a0f111bdf4",
+  "@rolldown/binding-win32-x64-msvc@npm:1.0.0-beta.15": "a3e625f53aecf21d353a13858ba752e911f9520019cab4afa979988d23dd9d3b27d2462fd5394c57d6dd6337d18772950ab08ce1ba73c95040cbbac390b20fdd",
+  "@rollup/rollup-android-arm-eabi@npm:4.43.0": "8e37e27b359200197cddf9c1aa5bb5f2d0d8e640fe30f0ccc4b77d9c730b2fdda6f3b6f97a0afc45c5113f23637f98c5c89abf982a222cc3f6b00192a2a998fa",
+  "@rollup/rollup-android-arm64@npm:4.43.0": "6e7ee0f496d30cfeca8d930c512f331053d87076b67f06303339ef19120dca5895bc2072ab3da7b99fb93f6c6c275d4d874a66bff08afeac4cea5447cdc709a3",
+  "@rollup/rollup-darwin-arm64@npm:4.43.0": "7b76fb8e7ccc40ff17f9584b0cdacce22e384ce1229860b0971417236884d100362a79a12cdcbd0254dcd0f68d7db6cfe11c60f38e7a672cf62b0b8abe6834e9",
+  "@rollup/rollup-darwin-x64@npm:4.43.0": "9209a1d1f97dad0810dc280485658b78cf597398da4ce2c2ccab04d4bbe0a05966325760d399209b67d746711bf204c4d8896941159ac5569e6a3a6738807e3a",
+  "@rollup/rollup-freebsd-arm64@npm:4.43.0": "d89e2a6234d2cd2f18c168a832f518864c2c66c93f230ada42014b631ea0d04cb790269cbe0bb67e0bfbdcdf8b5b5069de1382be15380f469c02a51570d60729",
+  "@rollup/rollup-freebsd-x64@npm:4.43.0": "0d4c3c6dc027a57e4ef1897acc58996e179f89130858f8849de9c6fbe4a9ffab5b226d0729c1bc8b15528271c0d0093e9c6df9831a01fa5baa870825306484a0",
+  "@rollup/rollup-linux-arm-gnueabihf@npm:4.43.0": "f7c29e494b75719b3efdf6958c81e95b9c79bd4e3b8fe775088676a35da4e49301175fe4d1b3dc176348817f3ee7645ed34381e4801655c62c8b7de5a079c8e3",
+  "@rollup/rollup-linux-arm-musleabihf@npm:4.43.0": "0ff5c0dfe63f3d4a5f3914555b6557f5d9a76af751ee4ae8fd4264ac8e2538108b20fb4049637bfee71f67e69b8cc5a4c38d1c0a029247e657a703594ec5733c",
+  "@rollup/rollup-linux-arm64-gnu@npm:4.43.0": "2138243743cd1c5ff59de2e56f7b40aefb0c8e7b54a028fa6f40407594cf82a8f71d7c25368d54e5470e12fe6565dde2ade26e7a2e303368a4c216f907407feb",
+  "@rollup/rollup-linux-arm64-musl@npm:4.43.0": "7b7ec641ff9b86e144971913ab40e6fdccbf9a45e501c6c5dc6e102ef28e1cad4a05ede0f4c9c1d21da9242033e221b491948e552acb5774cc033f97519da5dc",
+  "@rollup/rollup-linux-loongarch64-gnu@npm:4.43.0": "eca2d22690858529fee43bacb8e5c3da972d07d68a0418437af18294a6abe181e0d46aac597ce13dd5ff9b22b3a4eec88e958f526082ae116d140a3e04466801",
+  "@rollup/rollup-linux-powerpc64le-gnu@npm:4.43.0": "2b560dc6d6af7350fa7bd504c9e4357e677a56c4c62c27efa0162252482c8fffdbb1c77710a4f37325e8a8afd3ed9272b9998fb82472e72a2cacc5fa11cda633",
+  "@rollup/rollup-linux-riscv64-gnu@npm:4.43.0": "7eaf269704ed32475620e5e293bc7db7ca15c0556de3b487cb0e08619610a45a9bec8c1db5f4a3294f229bed95a6c099fea37f2d1a012cef0322a9b42a5bd27f",
+  "@rollup/rollup-linux-riscv64-musl@npm:4.43.0": "fe28cbe57646d2c78966119db6c91c42c0f48a9f1175fd4596697107a6f4a229484f45344fbd8656f6875fcc22fa565603688fd02a02c98007aa30aee34b066d",
+  "@rollup/rollup-linux-s390x-gnu@npm:4.43.0": "60691ae9cc5f68fb845c972e337c8c8230078fe9a204a249670de21c72d1e8ccac1f0d47347eb720e87068b0f1fb86af54edbcf5d20fe25b1d1cd5e76db7a0f1",
+  "@rollup/rollup-linux-x64-gnu@npm:4.43.0": "337a87aed8d5b07f8e5bd8e1b0fe6b7e03edaabc948076dd817d70badb5c5081e9c0faf36411e54fddc633e0a8eb4f1f348208678184794116cecbded2c5b288",
+  "@rollup/rollup-linux-x64-musl@npm:4.43.0": "e85942bd31ecf417f25220f1f376395e5a679f8d0c9e4fa7084d5d61265da00d2f483aef3a97884c94ed572e6d3b98ecc7707efbbf2dbdd4d8b9a5b9c4350a56",
+  "@rollup/rollup-win32-arm64-msvc@npm:4.43.0": "c6a793b1a16fdfe801018f2ff9d92290da6695e8041fc543a36daca859379f03fcb2d1d688891a9cfff0223962da38fd33f661a5c93d46a794c1eb4fa79ff119",
+  "@rollup/rollup-win32-ia32-msvc@npm:4.43.0": "305a82fdea7656d83efce73720c0d36c6da4734e9e05f3696d032272fd61de767991e04fa02b0abaf18c4aeaf17f7a61a2e7552d923d89d6a9abfba4a5e37657",
+  "@rollup/rollup-win32-x64-msvc@npm:4.43.0": "966e5f3d7996f41ea6cee2e0a20276cb314029bceee9b9e7512c47a3d139e1601231490229a66e8f5824b64d72c508e272f9f5f62d6b8b2a61722c17aa0ac3a1"
+}
diff --git a/pkgs/by-name/sw/swagger-typescript-api/package.nix b/pkgs/by-name/sw/swagger-typescript-api/package.nix
new file mode 100644
index 000000000000..9b69d0e254f7
--- /dev/null
+++ b/pkgs/by-name/sw/swagger-typescript-api/package.nix
@@ -0,0 +1,68 @@
+{
+  lib,
+  fetchFromGitHub,
+  yarn-berry_4,
+  stdenv,
+  nodejs,
+  makeWrapper,
+}:
+let
+  pname = "swagger-typescript-api";
+  version = "13.2.3";
+  yarn-berry = yarn-berry_4;
+in
+stdenv.mkDerivation (finalAttrs: {
+  inherit pname version;
+
+  src = fetchFromGitHub {
+    owner = "acacode";
+    repo = "swagger-typescript-api";
+    rev = version;
+    hash = "sha256-6sAp6RD3zplZL5FXharrlYXld/0Cb3EIPEf/T2+BEeE=";
+  };
+
+  nativeBuildInputs = [
+    makeWrapper
+    yarn-berry.yarnBerryConfigHook
+    yarn-berry
+    nodejs
+  ];
+
+  missingHashes = ./missing-hashes.json;
+  offlineCache = yarn-berry.fetchYarnBerryDeps {
+    inherit (finalAttrs) src missingHashes;
+    hash = "sha256-qW+1EyLfjTcXiMpDmcsHB6Mb2o0fTuMSX2U6G0T7viQ=";
+  };
+
+  buildPhase = ''
+    runHook preBuild
+
+    yarn run build
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/lib
+    cp -r {dist,templates,node_modules} $out/lib
+
+    makeWrapper ${nodejs}/bin/node $out/bin/${pname} \
+      --add-flags $out/lib/dist/cli.js \
+      --set NODE_ENV production \
+      --set NODE_PATH "$out/lib/node_modules"
+
+    runHook postInstall
+  '';
+
+  meta = {
+    mainProgram = "swagger-typescript-api";
+    description = "Generate TypeScript API client and definitions for fetch or axios from an OpenAPI specification";
+    homepage = "https://github.com/acacode/swagger-typescript-api";
+    changelog = "https://github.com/acacode/swagger-typescript-api/blob/${version}/CHANGELOG.md";
+    license = lib.licenses.mit;
+    platforms = lib.platforms.all;
+    maintainers = with lib.maintainers; [ angelodlfrtr ];
+  };
+})
diff --git a/pkgs/by-name/sw/sway-unwrapped/package.nix b/pkgs/by-name/sw/sway-unwrapped/package.nix
index 279e711c923b..22707fc19d99 100644
--- a/pkgs/by-name/sw/sway-unwrapped/package.nix
+++ b/pkgs/by-name/sw/sway-unwrapped/package.nix
@@ -35,7 +35,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "sway-unwrapped";
-  version = "1.10.1";
+  version = "1.11";
 
   inherit
     enableXWayland
@@ -47,7 +47,7 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "swaywm";
     repo = "sway";
     rev = finalAttrs.version;
-    hash = "sha256-uBtQk8uhW/i8lSbv6zwsRyiiImFBw1YCQHVWQ8jot5w=";
+    hash = "sha256-xMrexVDpgkGnvAAglshsh7HjvcbU2/Q6JLUd5J487qg=";
   };
 
   patches =
diff --git a/pkgs/by-name/sw/swayimg/package.nix b/pkgs/by-name/sw/swayimg/package.nix
index a0ccdea5021a..e7db640a206f 100644
--- a/pkgs/by-name/sw/swayimg/package.nix
+++ b/pkgs/by-name/sw/swayimg/package.nix
@@ -31,13 +31,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "swayimg";
-  version = "4.1";
+  version = "4.2";
 
   src = fetchFromGitHub {
     owner = "artemsen";
     repo = "swayimg";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-xwhEt+FhHPgfXJL1zTPsMD8ia5s+rr/eIJLlAlG8QzY=";
+    hash = "sha256-/SKzdUjCcpwKRCFiFDFuRhLq0S1Z2kK+mpTOeG/JXc0=";
   };
 
   strictDeps = true;
diff --git a/pkgs/by-name/sw/swiften/package.nix b/pkgs/by-name/sw/swiften/package.nix
index a79747c0d86e..dc9dc93e167a 100644
--- a/pkgs/by-name/sw/swiften/package.nix
+++ b/pkgs/by-name/sw/swiften/package.nix
@@ -8,6 +8,7 @@
   zlib,
   fetchurl,
   fetchpatch,
+  python312,
   openssl,
   # pin Boost 1.86 due to use of boost/asio/io_service.hpp
   boost186,
@@ -39,6 +40,7 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [
+    python312 # 2to3
     scons
   ];
 
diff --git a/pkgs/by-name/sw/swiftformat/package.nix b/pkgs/by-name/sw/swiftformat/package.nix
index e38226ab7b58..0ef5564901e7 100644
--- a/pkgs/by-name/sw/swiftformat/package.nix
+++ b/pkgs/by-name/sw/swiftformat/package.nix
@@ -12,13 +12,13 @@
 
 swift.stdenv.mkDerivation rec {
   pname = "swiftformat";
-  version = "0.56.2";
+  version = "0.56.4";
 
   src = fetchFromGitHub {
     owner = "nicklockwood";
     repo = "SwiftFormat";
     rev = version;
-    sha256 = "sha256-nG2ZRL1hd+0DZ91ZjYVe2JCF9Q973p3Uy/OHlHti2TM=";
+    sha256 = "sha256-WnBQTpbz9tcnbvmtWpZ9esirWdQKJOpVmH8zk97OuFE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/sw/swig/package.nix b/pkgs/by-name/sw/swig/package.nix
index fe1f55ce5c94..b247de5da3e2 100644
--- a/pkgs/by-name/sw/swig/package.nix
+++ b/pkgs/by-name/sw/swig/package.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "swig";
-  version = "4.3.0";
+  version = "4.3.1";
 
   src = fetchFromGitHub {
     owner = "swig";
     repo = "swig";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-hFHEE9wy8Lja9G396tI4fj4LhOkpPKJkDuy1L62AXr4=";
+    hash = "sha256-wEqbKDgXVU8kQxdh7uC+EZ0u5leeoYh2d/61qB4guOg=";
   };
 
   strictDeps = true;
@@ -41,6 +41,8 @@ stdenv.mkDerivation (finalAttrs: {
     ./autogen.sh
   '';
 
+  enableParallelBuilding = true;
+
   meta = {
     changelog = "https://github.com/swig/swig/blob/${finalAttrs.src.rev}/CHANGES.current";
     description = "Interface compiler that connects C/C++ code to higher-level languages";
diff --git a/pkgs/by-name/sw/switch-to-configuration-ng/README.md b/pkgs/by-name/sw/switch-to-configuration-ng/README.md
index c930d8fce97d..ae7003302d0b 100644
--- a/pkgs/by-name/sw/switch-to-configuration-ng/README.md
+++ b/pkgs/by-name/sw/switch-to-configuration-ng/README.md
@@ -1,6 +1,8 @@
 # switch-to-configuration-ng
 
-This program is a reimplementation of [switch-to-configuration](/nixos/modules/system/activation/switch-to-configuration.pl) in Rust. The goal is to be compatible in as many ways as possible to the original implementation, at least as long as the original is still in nixpkgs. Any behavioral modifications to this program should also be implemented in the original, and vice versa.
+This program implements the switching/updating of NixOS systems. It starts with the exising running configuration at `/run/current-system` and handles the migration to a new configuration, built from a NixOS configuration's `config.system.build.toplevel` derivation.
+
+For more information on what happens during a switch, see [what-happens-during-a-system-switch](../../../../nixos/doc/manual/development/what-happens-during-a-system-switch.chapter.md).
 
 ## Build in a devshell
 
diff --git a/pkgs/by-name/sw/swww/package.nix b/pkgs/by-name/sw/swww/package.nix
index 92c9e379d70d..7848c3cdfb98 100644
--- a/pkgs/by-name/sw/swww/package.nix
+++ b/pkgs/by-name/sw/swww/package.nix
@@ -13,17 +13,17 @@
 
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "swww";
-  version = "0.10.2";
+  version = "0.10.3";
 
   src = fetchFromGitHub {
     owner = "LGFae";
     repo = "swww";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-qvxG8UhO7MsS0lWVGfHUsBKevAa+VJe41NrcX1ZCJdU=";
+    hash = "sha256-GXqXZn29r7ktL01KBzlPZ+9b1fdnAPF8qhsQxhiqAsQ=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-Tiszc/COelBRolrrbKpNklk8IVppIhGmxspnTb20LAE=";
+  cargoHash = "sha256-jCjeHeHML8gHtvFcnHbiGL5fZ3LhABhXrcUTQriUDc0=";
 
   buildInputs = [
     lz4
diff --git a/pkgs/by-name/sy/sydbox/package.nix b/pkgs/by-name/sy/sydbox/package.nix
index f61fdc2f85b5..3a51a9ac6375 100644
--- a/pkgs/by-name/sy/sydbox/package.nix
+++ b/pkgs/by-name/sy/sydbox/package.nix
@@ -12,7 +12,7 @@
 
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "sydbox";
-  version = "3.34.0";
+  version = "3.35.1";
 
   outputs = [
     "out"
@@ -24,11 +24,11 @@ rustPlatform.buildRustPackage (finalAttrs: {
     owner = "Sydbox";
     repo = "sydbox";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-m4iooJzc/TQguWF4qVOvuNabFmijsTtlzjz7IllNN74=";
+    hash = "sha256-EfsL8UEZdWRYqQ5QymteUBxtabfrHxq3WU4MMqsXWAg=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-B/JSJKCLYnNjHFEDdFdGTdXuirA2zRKL+mr36a0Fqh0=";
+  cargoHash = "sha256-ckeOk4/fpJ9J8JV/NT0D/0jXUOt4ub+m+6ZBUpBEs08=";
 
   nativeBuildInputs = [
     mandoc
diff --git a/pkgs/by-name/sy/syft/package.nix b/pkgs/by-name/sy/syft/package.nix
index bd0e4e231621..a413fc4fa962 100644
--- a/pkgs/by-name/sy/syft/package.nix
+++ b/pkgs/by-name/sy/syft/package.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "syft";
-  version = "1.26.1";
+  version = "1.27.0";
 
   src = fetchFromGitHub {
     owner = "anchore";
     repo = "syft";
     tag = "v${version}";
-    hash = "sha256-xWQxxrKHBr6GizXbCiMhc7IFlVY7xo1kvyB3RsFFDsQ=";
+    hash = "sha256-q9Dmb8R9CixAQkERoKg778K9UiZMC6ql1ZHVsNfk/0s=";
     # populate values that require us to use git. By doing this in postFetch we
     # can delete .git afterwards and maintain better reproducibility of the src.
     leaveDotGit = true;
@@ -28,7 +28,7 @@ buildGoModule rec {
   # hash mismatch with darwin
   proxyVendor = true;
 
-  vendorHash = "sha256-mK46xzwQ+Qjey0IrAuYdrt2Mz8rA4RdhrT2ayAK3TTw=";
+  vendorHash = "sha256-K6d4IloHF/WURfJ0JIi2LdP8ft/3Pc426HzB2x8Qwj0=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/by-name/sy/synapse-admin-etkecc/package.nix b/pkgs/by-name/sy/synapse-admin-etkecc/package.nix
index 01e3c58d2206..f9b32eb054cb 100644
--- a/pkgs/by-name/sy/synapse-admin-etkecc/package.nix
+++ b/pkgs/by-name/sy/synapse-admin-etkecc/package.nix
@@ -17,18 +17,18 @@ assert lib.asserts.assertMsg (
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "synapse-admin-etkecc";
-  version = "0.11.1-etke43";
+  version = "0.11.1-etke44";
 
   src = fetchFromGitHub {
     owner = "etkecc";
     repo = "synapse-admin";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-mubONaT4qnbPlnYY15UtHGEp45k5mIxWt1shHRdwwTA=";
+    hash = "sha256-8IL81rMohPNss0ZTKgyxvx4FNcgFtDoJGZ6uyM/nJgg=";
   };
 
   yarnOfflineCache = fetchYarnDeps {
     yarnLock = finalAttrs.src + "/yarn.lock";
-    hash = "sha256-WFE2mtyK3xBOVIgJ0ODsv1C0pjpGdBM3+TtIiZUpj58=";
+    hash = "sha256-6TVVYitLtpNjyMOUXaMYlhOskSZCb/eWW91S69RTeFo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/sy/syrics/package.nix b/pkgs/by-name/sy/syrics/package.nix
new file mode 100644
index 000000000000..520b67d3887c
--- /dev/null
+++ b/pkgs/by-name/sy/syrics/package.nix
@@ -0,0 +1,42 @@
+{
+  lib,
+  python3,
+  fetchFromGitHub,
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "syrics";
+  version = "0.1.2.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "akashrchandran";
+    repo = "syrics";
+    tag = "v${version}";
+    hash = "sha256-YoH5rgj0kt9fDILc9dTAFO5erOBWexuqT9hY7e6bj6Q=";
+  };
+
+  build-system = [
+    python3.pkgs.setuptools
+    python3.pkgs.wheel
+  ];
+
+  dependencies = with python3.pkgs; [
+    requests
+    spotipy
+    tinytag
+    tqdm
+  ];
+
+  pythonImportsCheck = [
+    "syrics"
+  ];
+
+  meta = {
+    description = "Command line tool to fetch lyrics from spotify and save it to lrc file";
+    homepage = "https://github.com/akashrchandran/syrics/";
+    license = lib.licenses.gpl3Only;
+    maintainers = with lib.maintainers; [ yogansh ];
+    mainProgram = "syrics";
+  };
+}
diff --git a/pkgs/by-name/sy/sysdig-cli-scanner/sysdig-cli-scanner.versions.nix b/pkgs/by-name/sy/sysdig-cli-scanner/sysdig-cli-scanner.versions.nix
index 520c3728fbce..fb2fd947c810 100644
--- a/pkgs/by-name/sy/sysdig-cli-scanner/sysdig-cli-scanner.versions.nix
+++ b/pkgs/by-name/sy/sysdig-cli-scanner/sysdig-cli-scanner.versions.nix
@@ -1,23 +1,23 @@
 {
-  version = "1.22.2";
+  version = "1.22.3";
 
   x86_64-linux = {
-    url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.22.2/linux/amd64/sysdig-cli-scanner";
-    hash = "sha256-YQxTMOqwtqEXfjRsEfpFGaFJIHox/CSNTUJ5YuFTMvk=";
+    url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.22.3/linux/amd64/sysdig-cli-scanner";
+    hash = "sha256-OEx0dMW0OLRskW0j34mEiXgVZDLDUKshz4uxIrshlZ0=";
   };
 
   aarch64-linux = {
-    url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.22.2/linux/arm64/sysdig-cli-scanner";
-    hash = "sha256-pz31MLVFn8Pv94wAGujuQK7b0AMjIQn+hTrTFpR5DeM=";
+    url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.22.3/linux/arm64/sysdig-cli-scanner";
+    hash = "sha256-4+pI3rHMUR1a7YhB127eaJWXzNU9wOGn4pOUmW4Faek=";
   };
 
   x86_64-darwin = {
-    url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.22.2/darwin/amd64/sysdig-cli-scanner";
-    hash = "sha256-Op8Z06UZIDOnjB6Vv4/TKMcRbseA/b+Z96sAbINSB04=";
+    url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.22.3/darwin/amd64/sysdig-cli-scanner";
+    hash = "sha256-qtFhkCcR1SuCP66lvVZu4UzvZ7HZImAZD/pvWVaOxzg=";
   };
 
   aarch64-darwin = {
-    url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.22.2/darwin/arm64/sysdig-cli-scanner";
-    hash = "sha256-hink42tCUHCa7vHJzfLgMseofp+YaBdVX2HO7T8NFJo=";
+    url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.22.3/darwin/arm64/sysdig-cli-scanner";
+    hash = "sha256-iGpsoLs7zZ8+QT4AB3xZDIQ88p39W9I8sHNK9KPUJyM=";
   };
 }
diff --git a/pkgs/by-name/t1/t1lib/package.nix b/pkgs/by-name/t1/t1lib/package.nix
deleted file mode 100644
index 6bb91c9d1978..000000000000
--- a/pkgs/by-name/t1/t1lib/package.nix
+++ /dev/null
@@ -1,74 +0,0 @@
-{
-  lib,
-  stdenv,
-  fetchurl,
-  fetchpatch,
-  libX11,
-  libXaw,
-}:
-
-let
-  getPatch =
-    { name, sha256 }:
-    fetchpatch {
-      inherit name sha256;
-      url =
-        "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/${name}"
-        + "?h=packages/t1lib&id=643a4c2c58e70072b5bc1e9e4624162517b58357";
-    };
-
-  patches = map getPatch [
-    {
-      name = "lib-cleanup.diff";
-      sha256 = "1w3q1y4zk0y4mf2s2x9z4cd8d4af8i868c8837p40mz3dqrai4zp";
-    }
-    {
-      name = "format-security.diff";
-      sha256 = "0cca94bif9dsc6iwpcnk1504gb3sl3nsqhni85c21q9aywyz26l3";
-    }
-    {
-      name = "CVE-2011-0764.diff";
-      sha256 = "1j0y3f38im7srpqjg9jvx8as6sxkz8gw7hglcxnxl9qylx8mr2jh";
-    }
-    {
-      name = "CVE-2011-1552_1553_1554.patch";
-      sha256 = "16cyq6jhyhh8912j8hapx9pq4rzxk36ljlkxlnyi7i3wr8iz1dir";
-    }
-    {
-      name = "CVE-2010-2642.patch";
-      sha256 = "175zvyr9v1xs22k2svgxqjcpz5nihfa7j46hn9nzvkqcrhm5m9y8";
-    }
-    # this ^ also fixes CVE-2011-5244
-  ];
-in
-stdenv.mkDerivation rec {
-  pname = "t1lib";
-  version = "5.1.2";
-
-  src = fetchurl {
-    url = "mirror://ibiblioPubLinux/libs/graphics/${pname}-${version}.tar.gz";
-    hash = "sha256-ghMotQVPeJCg0M0vUoJScHBd82QdvUdtWNF+Vu2Ve1k=";
-  };
-  inherit patches;
-
-  buildInputs = [
-    libX11
-    libXaw
-  ];
-  buildFlags = [ "without_doc" ];
-
-  postInstall = lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
-    # ??
-    chmod +x $out/lib/*.so.*
-  '';
-
-  meta = with lib; {
-    homepage = "http://www.t1lib.org/";
-    description = "Type 1 font rasterizer library for UNIX/X11";
-    license = with licenses; [
-      gpl2
-      lgpl2
-    ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/by-name/ta/tahoe-lafs/package.nix b/pkgs/by-name/ta/tahoe-lafs/package.nix
index 207c585f297a..b761c484062d 100644
--- a/pkgs/by-name/ta/tahoe-lafs/package.nix
+++ b/pkgs/by-name/ta/tahoe-lafs/package.nix
@@ -1,11 +1,37 @@
 {
   lib,
-  python3Packages,
+  python3,
   fetchFromGitHub,
   texinfo,
   versionCheckHook,
 }:
 
+let
+  python = python3.override {
+    self = python;
+    packageOverrides = self: super: {
+      # tahoe-lafs is incompatible with magic-wormhole >= 0.19.0
+      # TODO: unpin, when https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4180 is fixed
+      magic-wormhole = super.magic-wormhole.overridePythonAttrs (oldAttrs: rec {
+        version = "0.18.0";
+
+        src = fetchFromGitHub {
+          owner = "magic-wormhole";
+          repo = "magic-wormhole";
+          tag = version;
+          hash = "sha256-FQ7m6hkJcFZaE+ptDALq/gijn/RcAM1Zvzi2+xpoXBU=";
+        };
+
+        nativeCheckInputs = lib.filter (
+          input: (input.pname or null) != "pytest-twisted"
+        ) oldAttrs.nativeCheckInputs;
+
+        pytestFlagsArray = null;
+      });
+    };
+  };
+  python3Packages = python.pkgs;
+in
 python3Packages.buildPythonApplication rec {
   pname = "tahoe-lafs";
   version = "1.20.0";
diff --git a/pkgs/by-name/ta/tailscale/package.nix b/pkgs/by-name/ta/tailscale/package.nix
index a6b0a87da47d..cec7cc8b19f5 100644
--- a/pkgs/by-name/ta/tailscale/package.nix
+++ b/pkgs/by-name/ta/tailscale/package.nix
@@ -23,7 +23,7 @@
 }:
 
 let
-  version = "1.84.1";
+  version = "1.84.2";
 in
 buildGoModule {
   pname = "tailscale";
@@ -38,7 +38,7 @@ buildGoModule {
     owner = "tailscale";
     repo = "tailscale";
     rev = "v${version}";
-    hash = "sha256-rEfBoRKOM1DnMfgEkPI6wzzMwGIOUhowJRlaAQ8QZjY=";
+    hash = "sha256-dSYophk7oogLmlRBr05Quhx+iMUuJU2VXhAZVtJLTts=";
   };
 
   vendorHash = "sha256-QBYCMOWQOBCt+69NtJtluhTZIOiBWcQ78M9Gbki6bN0=";
diff --git a/pkgs/by-name/ta/tailspin/package.nix b/pkgs/by-name/ta/tailspin/package.nix
index 79c6a87bfd85..1bb493d36e7a 100644
--- a/pkgs/by-name/ta/tailspin/package.nix
+++ b/pkgs/by-name/ta/tailspin/package.nix
@@ -9,17 +9,17 @@
 
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "tailspin";
-  version = "4.0.0";
+  version = "5.4.5";
 
   src = fetchFromGitHub {
     owner = "bensadeh";
     repo = "tailspin";
     tag = finalAttrs.version;
-    hash = "sha256-5VbxQDK69If5N8EiS8sIKNqHkCAfquOz8nUS7ynp+nA=";
+    hash = "sha256-Cl1S183iAyFPa3KijHCn/CyRXQBluphNMQFAgdIOzuM=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-QkdnmeXor2K0c5m/TV5hYl1oSPWpykPfZy/ZRqFUt1s=";
+  cargoHash = "sha256-2p4jkta6w2vje169KCHw0ErC7FweLabF6B7ZIkTmNBI=";
 
   postPatch = ''
     substituteInPlace tests/utils.rs --replace-fail \
diff --git a/pkgs/by-name/ta/tailwindcss-language-server/package.nix b/pkgs/by-name/ta/tailwindcss-language-server/package.nix
index a60394c1945b..9a125348ffa1 100644
--- a/pkgs/by-name/ta/tailwindcss-language-server/package.nix
+++ b/pkgs/by-name/ta/tailwindcss-language-server/package.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "tailwindcss-language-server";
-  version = "0.14.19";
+  version = "0.14.22";
 
   src = fetchFromGitHub {
     owner = "tailwindlabs";
     repo = "tailwindcss-intellisense";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-lAZ3BoecPB3+zmI8RataAcbk32avV9Ie+Ek6q/JcXnU=";
+    hash = "sha256-cTNwcbZDgAnMZPwtIFt0Qt7V1LKYbS22XGyAYU3Q5M4=";
   };
 
   pnpmDeps = pnpm_9.fetchDeps {
@@ -27,7 +27,7 @@ stdenv.mkDerivation (finalAttrs: {
       pnpmWorkspaces
       prePnpmInstall
       ;
-    hash = "sha256-TxWaapm/nkyMi3JCj6TE56DhJYPBWBDGXOnzgB9uPjs=";
+    hash = "sha256-SUEq20gZCiTDkFuNgMc5McHBPgW++8P9Q1MJb7a7pY8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/ta/tailwindcss_4/package.nix b/pkgs/by-name/ta/tailwindcss_4/package.nix
index c0dfe093055b..23c412a3ceb4 100644
--- a/pkgs/by-name/ta/tailwindcss_4/package.nix
+++ b/pkgs/by-name/ta/tailwindcss_4/package.nix
@@ -7,7 +7,7 @@
   makeWrapper,
 }:
 let
-  version = "4.1.8";
+  version = "4.1.10";
   inherit (stdenv.hostPlatform) system;
   throwSystem = throw "tailwindcss has not been packaged for ${system} yet.";
 
@@ -22,10 +22,10 @@ let
 
   hash =
     {
-      aarch64-darwin = "sha256-GeUnkdNW3VnbaCdK42pYebqwzp2sI8x7Dxn8e3wdN6I=";
-      aarch64-linux = "sha256-KKd9Hlmw5FtBaDweOUdiH9/nP2iVsF23w09j8/SJjo0=";
-      x86_64-darwin = "sha256-SmyyYNdcS9ygck+8w7I6WttScVrW14WVRjyGEoyhwyk=";
-      x86_64-linux = "sha256-j4TOgQvf8iXlmXgdHi2qgrQoIikCHIZ6cbQZ9Z+aqDY=";
+      aarch64-darwin = "sha256-80qFp1sfLeLH5Kn7xPuXbmSieAmA6EPfh9nBP1VfSkw=";
+      aarch64-linux = "sha256-Z+tiC7QEwgRtPBJ9vy1/mSFZUGVHXn0tUo45wbszybY=";
+      x86_64-darwin = "sha256-R6EwxfY5OERW4KyKDWC5XXSQYYcxSk28N+fB3b63E64=";
+      x86_64-linux = "sha256-CoWj5TPy55g725HAjqRPDqs77MJ15gs7qt3xj3HTkL8=";
     }
     .${system} or throwSystem;
 in
diff --git a/pkgs/by-name/ta/taler-mdb/package.nix b/pkgs/by-name/ta/taler-mdb/package.nix
new file mode 100644
index 000000000000..eea1b1d85b06
--- /dev/null
+++ b/pkgs/by-name/ta/taler-mdb/package.nix
@@ -0,0 +1,57 @@
+{
+  lib,
+  stdenv,
+  fetchgit,
+  autoreconfHook,
+  pkg-config,
+  curl,
+  gnunet,
+  jansson,
+  libgcrypt,
+  libmicrohttpd,
+  libnfc,
+  libsodium,
+  qrencode,
+  taler-exchange,
+  taler-merchant,
+}:
+stdenv.mkDerivation (finalAttrs: {
+  pname = "taler-mdb";
+  version = "1.0.0";
+
+  src = fetchgit {
+    url = "https://git.taler.net/taler-mdb.git";
+    tag = "v${finalAttrs.version}";
+    fetchSubmodules = true;
+    hash = "sha256-AAFnF8bN2Pnhy8OZbgA6CRHBIC6iP785HpVjPEVu+IQ=";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+    pkg-config
+  ];
+
+  buildInputs = [
+    curl
+    gnunet
+    jansson
+    libgcrypt
+    libmicrohttpd
+    libnfc
+    libsodium
+    qrencode
+    taler-exchange
+    taler-merchant
+  ];
+
+  doCheck = true;
+
+  meta = {
+    homepage = "https://git.taler.net/taler-mdb.git";
+    description = "Sales integration with the Multi-Drop-Bus of Snack machines, NFC readers and QR code display";
+    license = lib.licenses.agpl3Plus;
+    teams = with lib.teams; [ ngi ];
+    maintainers = with lib.maintainers; [ ];
+    mainProgram = "taler-mdb";
+  };
+})
diff --git a/pkgs/by-name/ta/talhelper/package.nix b/pkgs/by-name/ta/talhelper/package.nix
new file mode 100644
index 000000000000..1fa0c05faa6f
--- /dev/null
+++ b/pkgs/by-name/ta/talhelper/package.nix
@@ -0,0 +1,60 @@
+{
+  buildGoModule,
+  fetchFromGitHub,
+  installShellFiles,
+  lib,
+  stdenv,
+  versionCheckHook,
+}:
+
+buildGoModule (finalAttrs: {
+  pname = "talhelper";
+  version = "3.0.29";
+
+  src = fetchFromGitHub {
+    owner = "budimanjojo";
+    repo = "talhelper";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-D0cvYOaZZDXNknMlTwBjcJKkkkvCUoo05ozZaWUAilE=";
+  };
+
+  vendorHash = "sha256-k9gYJpg9wb0w5TLP15sY9SD6S7v8+pBSdeDyAzME0us=";
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/budimanjojo/talhelper/v3/cmd.version=v${finalAttrs.version}"
+  ];
+
+  subPackages = [
+    "."
+    "./cmd"
+  ];
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  doInstallCheck = true;
+  nativeInstallCheckInputs = [
+    versionCheckHook
+  ];
+
+  postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
+    installShellCompletion --cmd talhelper \
+      --bash <($out/bin/talhelper completion bash) \
+      --fish <($out/bin/talhelper completion fish) \
+      --zsh <($out/bin/talhelper completion zsh)
+  '';
+
+  meta = {
+    changelog = "https://github.com/budimanjojo/talhelper/releases/tag/v${finalAttrs.version}";
+    description = "Help creating Talos kubernetes cluster";
+    longDescription = ''
+      Talhelper is a helper tool to help creating Talos Linux cluster
+      in your GitOps repository.
+    '';
+    homepage = "https://github.com/budimanjojo/talhelper";
+    mainProgram = "talhelper";
+    maintainers = with lib.maintainers; [ madeddie ];
+    license = lib.licenses.bsd3;
+  };
+})
diff --git a/pkgs/by-name/ta/tandoor-recipes/package.nix b/pkgs/by-name/ta/tandoor-recipes/package.nix
index fa463635a57b..bac94a1c5492 100644
--- a/pkgs/by-name/ta/tandoor-recipes/package.nix
+++ b/pkgs/by-name/ta/tandoor-recipes/package.nix
@@ -36,12 +36,12 @@ python.pkgs.buildPythonPackage {
     django-annoying
     django-cleanup
     django-crispy-forms
-    django-crispy-bootstrap4
     django-tables2
     djangorestframework
     drf-writable-nested
     django-oauth-toolkit
     bleach
+    crispy-bootstrap4
     gunicorn
     lxml
     markdown
diff --git a/pkgs/by-name/ta/taplo/package.nix b/pkgs/by-name/ta/taplo/package.nix
index 6e00d8f1c2b3..9bbb228913c9 100644
--- a/pkgs/by-name/ta/taplo/package.nix
+++ b/pkgs/by-name/ta/taplo/package.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "taplo";
-  version = "0.9.3";
+  version = "0.10.0";
 
   src = fetchCrate {
     inherit version;
     pname = "taplo-cli";
-    hash = "sha256-dNGQbaIfFmgXh2AOcaE74BTz7/jaiBgU7Y1pkg1rV7U=";
+    hash = "sha256-iKc4Nu7AZE1LSuqXffi3XERbOqZMOkI3PV+6HaJzh4c=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-7u7ZyS+5QIGfXKNVJZLzGXoMSI2DHSrD1AEtPttS22Q=";
+  cargoHash = "sha256-tvijtB5fwOzQnnK/ClIvTbjCcMeqZpXcRdWWKZPIulM=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/by-name/ta/taproot-assets/package.nix b/pkgs/by-name/ta/taproot-assets/package.nix
index 2ab0bf31e5e5..4f230fdfe359 100644
--- a/pkgs/by-name/ta/taproot-assets/package.nix
+++ b/pkgs/by-name/ta/taproot-assets/package.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "taproot-assets";
-  version = "0.5.1";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "lightninglabs";
     repo = "taproot-assets";
     rev = "v${version}";
-    hash = "sha256-R6x8M69HM7mC0XG5cAH5SwTzeoSicNwZx0ExAKwcI80=";
+    hash = "sha256-ZLuV52W5WTNp45tnF1mmf+Snjd14604cKpnOjhabuoc=";
   };
 
-  vendorHash = "sha256-aak2TNwAXpQLsMgOkeAyQM9f6logR5U+LS10g2Jtq1U=";
+  vendorHash = "sha256-9Du4WHLltGqmJXDOs2t5dwK5dbFGxWn0EiEE47czW2M=";
 
   subPackages = [
     "cmd/tapcli"
diff --git a/pkgs/by-name/ta/tart/package.nix b/pkgs/by-name/ta/tart/package.nix
index 7f1b68712fbc..c52ee5b2c161 100644
--- a/pkgs/by-name/ta/tart/package.nix
+++ b/pkgs/by-name/ta/tart/package.nix
@@ -12,11 +12,11 @@
 }:
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "tart";
-  version = "2.24.0";
+  version = "2.27.2";
 
   src = fetchurl {
     url = "https://github.com/cirruslabs/tart/releases/download/${finalAttrs.version}/tart.tar.gz";
-    hash = "sha256-5GBn5jWT3d/PidVvmWgfxGTuk72an6WbtRtR/5XHOzk=";
+    hash = "sha256-KUmNMQGhPk/mWOVYJYQe1jkOTI1H/4yYd/IXle2tO8o=";
   };
   sourceRoot = ".";
 
diff --git a/pkgs/by-name/ta/taskflow/package.nix b/pkgs/by-name/ta/taskflow/package.nix
index 8cc90436fbd3..7b69f94b39dd 100644
--- a/pkgs/by-name/ta/taskflow/package.nix
+++ b/pkgs/by-name/ta/taskflow/package.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "taskflow";
-  version = "3.9.0";
+  version = "3.10.0";
 
   src = fetchFromGitHub {
     owner = "taskflow";
     repo = "taskflow";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-omon02xgf4vV7JzpLFtHgf2MXxR6JowI+pDyAswXMUY=";
+    hash = "sha256-s0A8zJoq0VfmAks9h4v63J7tPX5JnlNTzJJMilzc5yM=";
   };
 
   patches = [
diff --git a/pkgs/by-name/ta/tauno-monitor/package.nix b/pkgs/by-name/ta/tauno-monitor/package.nix
new file mode 100644
index 000000000000..c92b1e7d1b5c
--- /dev/null
+++ b/pkgs/by-name/ta/tauno-monitor/package.nix
@@ -0,0 +1,57 @@
+{
+  lib,
+  python3Packages,
+  fetchFromGitHub,
+  meson,
+  ninja,
+  pkg-config,
+  appstream,
+  desktop-file-utils,
+  gobject-introspection,
+  wrapGAppsHook4,
+  libadwaita,
+}:
+python3Packages.buildPythonApplication rec {
+  pname = "tauno-monitor";
+  version = "0.1.29";
+  pyproject = false;
+
+  src = fetchFromGitHub {
+    owner = "taunoe";
+    repo = "tauno-monitor";
+    tag = "v${version}";
+    hash = "sha256-U7vp0cPIRQeeuLGazoCQAnVQaKxDznC65bE31SwYU3A=";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    appstream
+    desktop-file-utils
+    gobject-introspection
+    wrapGAppsHook4
+  ];
+
+  buildInputs = [
+    libadwaita
+  ];
+
+  dependencies = with python3Packages; [
+    pygobject3
+    pyserial
+  ];
+
+  dontWrapGApps = true;
+
+  makeWrapperArgs = [ "\${gappsWrapperArgs[@]}" ];
+
+  meta = {
+    description = "Simple serial port monitor";
+    homepage = "https://github.com/taunoe/tauno-monitor";
+    changelog = "https://github.com/taunoe/tauno-monitor/releases/tag/${src.tag}";
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ Cameo007 ];
+    mainProgram = "tauno-monitor";
+  };
+}
diff --git a/pkgs/development/libraries/tbb/2020_3.nix b/pkgs/by-name/tb/tbb_2020/package.nix
similarity index 67%
rename from pkgs/development/libraries/tbb/2020_3.nix
rename to pkgs/by-name/tb/tbb_2020/package.nix
index 82101272c395..a5d6b0fbb235 100644
--- a/pkgs/development/libraries/tbb/2020_3.nix
+++ b/pkgs/by-name/tb/tbb_2020/package.nix
@@ -7,9 +7,9 @@
   fixDarwinDylibNames,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "tbb";
-  version = "2020.3";
+  version = "2020.3.3";
 
   outputs = [
     "out"
@@ -19,8 +19,8 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "oneapi-src";
     repo = "oneTBB";
-    rev = "v${version}";
-    sha256 = "prO2O5hd+Wz5iA0vfrqmyHFr0Ptzk64so5KpSpvuKmU=";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-pCZpQ+t7dDzuS4vhlfSVLwieI0iSQHukXb8Nk5kMMBo=";
   };
 
   patches = [
@@ -36,14 +36,6 @@ stdenv.mkDerivation rec {
       hash = "sha256-xp8J/il855VTFIKCN/bFtf+vif6HzcVl4t4/L9nW/xk=";
     })
 
-    # Fixes build with upcoming gcc-13:
-    #  https://github.com/oneapi-src/oneTBB/pull/833
-    (fetchpatch {
-      name = "gcc-13.patch";
-      url = "https://github.com/oneapi-src/oneTBB/pull/833/commits/c18342ba667d1f33f5e9a773aa86b091a9694b97.patch";
-      hash = "sha256-LWgf7Rm6Zp4TJdvMqnAkoAebbVS+WV2kB+4iY6jRka4=";
-    })
-
     # Fixes build for aarch64-darwin
     (fetchpatch {
       name = "aarch64-darwin.patch";
@@ -91,29 +83,27 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
-  postInstall =
-    let
-      pcTemplate = fetchurl {
-        url = "https://github.com/oneapi-src/oneTBB/raw/478de5b1887c928e52f029d706af6ea640a877be/integration/pkg-config/tbb.pc.in";
-        sha256 = "2pCad9txSpNbzac0vp/VY3x7HNySaYkbH3Rx8LK53pI=";
-      };
-    in
-    ''
-      # Generate pkg-config file based on upstream template.
-      # It should not be necessary with tbb after 2021.2.
-      mkdir -p "$out/lib/pkgconfig"
-      substitute "${pcTemplate}" "$out/lib/pkgconfig/tbb.pc" \
-        --subst-var-by CMAKE_INSTALL_PREFIX "$out" \
-        --subst-var-by CMAKE_INSTALL_LIBDIR "lib" \
-        --subst-var-by CMAKE_INSTALL_INCLUDEDIR "include" \
-        --subst-var-by TBB_VERSION "${version}" \
-        --subst-var-by TBB_LIB_NAME "tbb"
-    '';
+  pcTemplate = fetchurl {
+    url = "https://github.com/oneapi-src/oneTBB/raw/478de5b1887c928e52f029d706af6ea640a877be/integration/pkg-config/tbb.pc.in";
+    hash = "sha256-2pCad9txSpNbzac0vp/VY3x7HNySaYkbH3Rx8LK53pI=";
+  };
 
-  meta = with lib; {
+  postInstall = ''
+    # Generate pkg-config file based on upstream template.
+    # It should not be necessary with tbb after 2021.2.
+    mkdir -p "$out/lib/pkgconfig"
+    substitute "${finalAttrs.pcTemplate}" "$out/lib/pkgconfig/tbb.pc" \
+    --subst-var-by CMAKE_INSTALL_PREFIX "$out" \
+    --subst-var-by CMAKE_INSTALL_LIBDIR "lib" \
+    --subst-var-by CMAKE_INSTALL_INCLUDEDIR "include" \
+    --subst-var-by TBB_VERSION "${finalAttrs.version}" \
+    --subst-var-by TBB_LIB_NAME "tbb"
+  '';
+
+  meta = {
     description = "Intel Thread Building Blocks C++ Library";
     homepage = "http://threadingbuildingblocks.org/";
-    license = licenses.asl20;
+    license = lib.licenses.asl20;
     longDescription = ''
       Intel Threading Building Blocks offers a rich and complete approach to
       expressing parallelism in a C++ program. It is a library that helps you
@@ -122,11 +112,11 @@ stdenv.mkDerivation rec {
       represents a higher-level, task-based parallelism that abstracts platform
       details and threading mechanisms for scalability and performance.
     '';
-    platforms = platforms.unix;
-    maintainers = with maintainers; [
+    platforms = lib.platforms.unix;
+    maintainers = with lib.maintainers; [
       silvanshade
       thoughtpolice
       tmarkus
     ];
   };
-}
+})
diff --git a/pkgs/development/libraries/tbb/default.nix b/pkgs/by-name/tb/tbb_2021/package.nix
similarity index 70%
rename from pkgs/development/libraries/tbb/default.nix
rename to pkgs/by-name/tb/tbb_2021/package.nix
index 8ecaed4e7a4e..bddbb1a546fe 100644
--- a/pkgs/development/libraries/tbb/default.nix
+++ b/pkgs/by-name/tb/tbb_2021/package.nix
@@ -7,9 +7,9 @@
   ninja,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "tbb";
-  version = "2021.11.0";
+  version = "2021.13.0";
 
   outputs = [
     "out"
@@ -19,8 +19,8 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "oneapi-src";
     repo = "oneTBB";
-    rev = "v${version}";
-    hash = "sha256-zGZHMtAUVzBKFbCshpepm3ce3tW6wQ+F30kYYXAQ/TE=";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-ZoUzY71SweVQ8/1k09MNSXiEqab6Ae+QTbxORnar9JU=";
   };
 
   nativeBuildInputs = [
@@ -34,29 +34,12 @@ stdenv.mkDerivation rec {
       url = "https://patch-diff.githubusercontent.com/raw/oneapi-src/oneTBB/pull/899.patch";
       hash = "sha256-kU6RRX+sde0NrQMKlNtW3jXav6J4QiVIUmD50asmBPU=";
     })
-    (fetchpatch {
-      name = "fix-tbb-mingw-compile.patch";
-      url = "https://patch-diff.githubusercontent.com/raw/oneapi-src/oneTBB/pull/1361.patch";
-      hash = "sha256-jVa4HQetZv0vImdv549MyTy6/8t9dy8m6YAmjPGNQ18=";
-    })
-    (fetchpatch {
-      name = "fix-tbb-mingw-link.patch";
-      url = "https://patch-diff.githubusercontent.com/raw/oneapi-src/oneTBB/pull/1193.patch";
-      hash = "sha256-ZQbwUmuIZoGVBof8QNR3V8vU385e2X7EvU3+Fbj4+M8=";
-    })
     # Fix tests on FreeBSD and Windows
     (fetchpatch {
       name = "fix-tbb-freebsd-and-windows-tests.patch";
       url = "https://patch-diff.githubusercontent.com/raw/uxlfoundation/oneTBB/pull/1696.patch";
       hash = "sha256-yjX2FkOK8bz29a/XSA7qXgQw9lxzx8VIgEBREW32NN4=";
     })
-    # Fix Threads::Threads target for static from https://github.com/oneapi-src/oneTBB/pull/1248
-    # This is a conflict-resolved cherry-pick of the above PR to due to formatting differences.
-    (fetchpatch {
-      name = "fix-cmake-threads-threads-target-for-static.patch";
-      url = "https://patch-diff.githubusercontent.com/raw/uxlfoundation/oneTBB/pull/1248.patch";
-      hash = "sha256-3WKzxU93vxuy7NgW+ap+ocZz5Q5utZ/pK7+FQExzLLA=";
-    })
   ];
 
   patchFlags = [
@@ -93,10 +76,10 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = with lib; {
+  meta = {
     description = "Intel Thread Building Blocks C++ Library";
     homepage = "http://threadingbuildingblocks.org/";
-    license = licenses.asl20;
+    license = lib.licenses.asl20;
     longDescription = ''
       Intel Threading Building Blocks offers a rich and complete approach to
       expressing parallelism in a C++ program. It is a library that helps you
@@ -105,11 +88,11 @@ stdenv.mkDerivation rec {
       represents a higher-level, task-based parallelism that abstracts platform
       details and threading mechanisms for scalability and performance.
     '';
-    platforms = platforms.unix ++ platforms.windows;
-    maintainers = with maintainers; [
+    platforms = lib.platforms.all;
+    maintainers = with lib.maintainers; [
       silvanshade
       thoughtpolice
       tmarkus
     ];
   };
-}
+})
diff --git a/pkgs/development/libraries/tbb/2022_0.nix b/pkgs/by-name/tb/tbb_2022/package.nix
similarity index 90%
rename from pkgs/development/libraries/tbb/2022_0.nix
rename to pkgs/by-name/tb/tbb_2022/package.nix
index bf7522d5c34d..66b8c9d4a0f0 100644
--- a/pkgs/development/libraries/tbb/2022_0.nix
+++ b/pkgs/by-name/tb/tbb_2022/package.nix
@@ -7,9 +7,9 @@
   ninja,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "tbb";
-  version = "2022.0.0";
+  version = "2022.1.0";
 
   outputs = [
     "out"
@@ -19,8 +19,8 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "oneapi-src";
     repo = "oneTBB";
-    tag = "v${version}";
-    hash = "sha256-XOlC1+rf65oEGKDba9N561NuFo1YJhn3Q1CTGtvkn7A=";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-DqJkNlC94cPJSXnhyFcEqWYGCQPunMfIfb05UcFGynw=";
   };
 
   nativeBuildInputs = [
@@ -71,10 +71,10 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = with lib; {
+  meta = {
     description = "Intel Thread Building Blocks C++ Library";
     homepage = "http://threadingbuildingblocks.org/";
-    license = licenses.asl20;
+    license = lib.licenses.asl20;
     longDescription = ''
       Intel Threading Building Blocks offers a rich and complete approach to
       expressing parallelism in a C++ program. It is a library that helps you
@@ -83,11 +83,11 @@ stdenv.mkDerivation rec {
       represents a higher-level, task-based parallelism that abstracts platform
       details and threading mechanisms for scalability and performance.
     '';
-    platforms = platforms.unix ++ platforms.windows;
-    maintainers = with maintainers; [
+    platforms = lib.platforms.all;
+    maintainers = with lib.maintainers; [
       silvanshade
       thoughtpolice
       tmarkus
     ];
   };
-}
+})
diff --git a/pkgs/by-name/tb/tbls/package.nix b/pkgs/by-name/tb/tbls/package.nix
index 4d5b68871deb..b3c112af925b 100644
--- a/pkgs/by-name/tb/tbls/package.nix
+++ b/pkgs/by-name/tb/tbls/package.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "tbls";
-  version = "1.85.4";
+  version = "1.85.5";
 
   src = fetchFromGitHub {
     owner = "k1LoW";
     repo = "tbls";
     tag = "v${version}";
-    hash = "sha256-K+GIETe/SpBCgJS7KD8Rw8z1zrmnXdYjjTyl36pUzmg=";
+    hash = "sha256-djIGgZ5qehrkQZlxe2+3XzRb5FfewZVcquYiitGfFdo=";
   };
 
-  vendorHash = "sha256-Sqr5UiT4NNiFKNEqZRDbS92AYa9SKWqYTYl4Ljx/raY=";
+  vendorHash = "sha256-9IvnIFOlLdqmntisNomO5K6PU8gw7CSuEb46zG5ox2A=";
 
   excludedPackages = [ "scripts/jsonschema" ];
 
diff --git a/pkgs/by-name/td/tdl/package.nix b/pkgs/by-name/td/tdl/package.nix
index a2b11b68a982..b173f40f90d5 100644
--- a/pkgs/by-name/td/tdl/package.nix
+++ b/pkgs/by-name/td/tdl/package.nix
@@ -5,16 +5,16 @@
 }:
 buildGoModule rec {
   pname = "tdl";
-  version = "0.18.5";
+  version = "0.19.0";
 
   src = fetchFromGitHub {
     owner = "iyear";
     repo = "tdl";
     rev = "v${version}";
-    hash = "sha256-PVd9aYo4ALgzovNOfAUQkAaAbWNLeqF+UEPlL9iGhAs=";
+    hash = "sha256-EYS4EK0NmNHnvjMkf5AHrYpZeGw+n2ovFDLanbqpF4Y=";
   };
 
-  vendorHash = "sha256-IJPGkQxUGk7v+8J37vLTbLSGxYOcfgNDywnGzTxbk3w=";
+  vendorHash = "sha256-GpqgH23eK0h2BYxjN5TNUWEOT72smYdUoD1Iy6L2jL4=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/te/tea/package.nix b/pkgs/by-name/te/tea/package.nix
index 72a8455a4169..8ca3ebe7c6e6 100644
--- a/pkgs/by-name/te/tea/package.nix
+++ b/pkgs/by-name/te/tea/package.nix
@@ -6,17 +6,17 @@
 
 buildGoModule rec {
   pname = "tea";
-  version = "0.9.2";
+  version = "0.10.1";
 
   src = fetchFromGitea {
     domain = "gitea.com";
     owner = "gitea";
     repo = "tea";
     rev = "v${version}";
-    sha256 = "sha256-sZfg8+LIu1Ejvmr/o4X3EOz3fv+RvLhrGRf2yy+6t8c=";
+    sha256 = "sha256-Dhb3y13sxkyE+2BjNj7YcsjiIPgznIVyuzWs0F8LNfU=";
   };
 
-  vendorHash = "sha256-nb0lQEAaIYlGpodFQLhMk/24DmTgg5K3zQ4s/XY+Z1w=";
+  vendorHash = "sha256-mKCsBPBWs3+61em53cEB0shTLXgUg4TivJRogy1tYXw=";
 
   meta = with lib; {
     description = "Gitea official CLI client";
diff --git a/pkgs/by-name/te/teams-for-linux/package.nix b/pkgs/by-name/te/teams-for-linux/package.nix
index 434226ffef39..be118252e32d 100644
--- a/pkgs/by-name/te/teams-for-linux/package.nix
+++ b/pkgs/by-name/te/teams-for-linux/package.nix
@@ -16,16 +16,16 @@
 
 buildNpmPackage rec {
   pname = "teams-for-linux";
-  version = "2.0.14";
+  version = "2.0.18";
 
   src = fetchFromGitHub {
     owner = "IsmaelMartinez";
     repo = "teams-for-linux";
     tag = "v${version}";
-    hash = "sha256-B7u5xJHss09QOP1AHoHZWIiHyd2RBcF/XU3BB9N2C60=";
+    hash = "sha256-44K76pNJ0SRKAF8QdHYSi5htQpbP6YNNg6vDkzaeqaI=";
   };
 
-  npmDepsHash = "sha256-JJUkZlol09Hehxc26DMdEzdxy8Nxa16G8YdTZkHhi78=";
+  npmDepsHash = "sha256-ShEqO6nL2YK2wdHGEcKff0fJsd9N9LI0VfhFe6FQ2gw=";
 
   nativeBuildInputs = [
     makeWrapper
diff --git a/pkgs/by-name/te/teapot/package.nix b/pkgs/by-name/te/teapot/package.nix
index 34c24962354d..22301f5b4f68 100644
--- a/pkgs/by-name/te/teapot/package.nix
+++ b/pkgs/by-name/te/teapot/package.nix
@@ -7,15 +7,14 @@
   ncurses,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "teapot";
   version = "2.3.0";
 
   src = fetchFromGitHub {
-    name = "${pname}-${version}";
     owner = "museoa";
-    repo = pname;
-    rev = version;
+    repo = "teapot";
+    tag = finalAttrs.version;
     hash = "sha256-38XFjRzOGasr030f+mRYT+ptlabpnVJfa+1s7ZAjS+k=";
   };
 
@@ -47,8 +46,7 @@ stdenv.mkDerivation rec {
     "-DENABLE_HELP=OFF"
   ];
 
-  meta = with lib; {
-    inherit (src.meta) homepage;
+  meta = {
     description = "Table Editor And Planner, Or: Teapot";
     longDescription = ''
       Teapot is a compact spreadsheet software originally written by Michael
@@ -71,11 +69,13 @@ stdenv.mkDerivation rec {
       spreadsheets still inherit from the days of VisiCalc on ancient CP/M
       systems.
     '';
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ ];
-    platforms = platforms.unix;
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ ];
+    platforms = lib.platforms.unix;
     mainProgram = "teapot";
+    homepage = "https://github.com/museoa/teapot";
+    changelog = "https://github.com/museoa/teapot/releases/tag/${finalAttrs.version}";
   };
-}
+})
 # TODO: patch/fix FLTK building
 # TODO: add documentation
diff --git a/pkgs/by-name/te/technitium-dns-server/package.nix b/pkgs/by-name/te/technitium-dns-server/package.nix
index cc4e589eb38e..dcf44fab3ee5 100644
--- a/pkgs/by-name/te/technitium-dns-server/package.nix
+++ b/pkgs/by-name/te/technitium-dns-server/package.nix
@@ -4,6 +4,7 @@
   fetchFromGitHub,
   dotnetCorePackages,
   technitium-dns-server-library,
+  libmsquic,
   nixosTests,
   nix-update-script,
 }:
@@ -36,6 +37,10 @@ buildDotnetModule rec {
     mv $out/bin/DnsServerApp $out/bin/technitium-dns-server
   '';
 
+  runtimeDeps = [
+    libmsquic
+  ];
+
   passthru.tests = {
     inherit (nixosTests) technitium-dns-server;
   };
diff --git a/pkgs/by-name/te/telegraf/package.nix b/pkgs/by-name/te/telegraf/package.nix
index b70798c67d9b..dc609c2f012f 100644
--- a/pkgs/by-name/te/telegraf/package.nix
+++ b/pkgs/by-name/te/telegraf/package.nix
@@ -10,7 +10,7 @@
 
 buildGoModule rec {
   pname = "telegraf";
-  version = "1.34.4";
+  version = "1.35.0";
 
   subPackages = [ "cmd/telegraf" ];
 
@@ -18,10 +18,10 @@ buildGoModule rec {
     owner = "influxdata";
     repo = "telegraf";
     rev = "v${version}";
-    hash = "sha256-oFhSCBGS8brXBxUiuXTCQiwRWuLvjDPte2Zi6BwelJs=";
+    hash = "sha256-lBD+GzFlm1CRfOQORYCDndNvObzxkkCijsGu2YsagYI=";
   };
 
-  vendorHash = "sha256-C4p+dZkudSIJI4036RR5J8rokEUB1Vi+xTC6Ijf9gUc=";
+  vendorHash = "sha256-RVpw94W8rrJSIsFmZRSo29h6ZN9xzYBqbGs46ZIwzKc=";
   proxyVendor = true;
 
   ldflags = [
diff --git a/pkgs/by-name/te/telepresence2/package.nix b/pkgs/by-name/te/telepresence2/package.nix
index 07514f4687a3..1073040582d5 100644
--- a/pkgs/by-name/te/telepresence2/package.nix
+++ b/pkgs/by-name/te/telepresence2/package.nix
@@ -31,13 +31,13 @@ let
 in
 buildGoModule rec {
   pname = "telepresence2";
-  version = "2.22.4";
+  version = "2.23.0";
 
   src = fetchFromGitHub {
     owner = "telepresenceio";
     repo = "telepresence";
     rev = "v${version}";
-    hash = "sha256-ECuu6uMsY5vZVrMJknnd5IH0BZ2yVBTKIIC/Q8RARs8=";
+    hash = "sha256-YuZWse4Zjb04PVKNZtXGDqBojnrEuOFLEa6mSulH/Xg=";
   };
 
   propagatedBuildInputs = [
@@ -51,7 +51,7 @@ buildGoModule rec {
     export CGO_ENABLED=0
   '';
 
-  vendorHash = "sha256-+l+Dtyq+9u+Lc6yF++KnX2DixVVfPX+oFUn3lq6B/1U=";
+  vendorHash = "sha256-5wUL80+yRiPWUZaafUk/4iQ2Jyuljm9hbi/OKaAmTno=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/te/templ/package.nix b/pkgs/by-name/te/templ/package.nix
index 11095d3a4ec3..0b0f4e75d14a 100644
--- a/pkgs/by-name/te/templ/package.nix
+++ b/pkgs/by-name/te/templ/package.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "templ";
-  version = "0.3.865";
+  version = "0.3.898";
 
   src = fetchFromGitHub {
     owner = "a-h";
     repo = "templ";
     rev = "v${version}";
-    hash = "sha256-ngdn5ftTunVUIOwmovYgIlGkyrYjXSJkp+0fJEHXB+s=";
+    hash = "sha256-uSIu27VgYz/+b8WHKG5poVwFPrK7iYNrQyQlI22Qho8=";
   };
 
   vendorHash = "sha256-q4L+r6S0eMNd5hP9UQCI+GxSJoiMGpjd0UTxA8zb6KU=";
diff --git a/pkgs/by-name/te/tempo/package.nix b/pkgs/by-name/te/tempo/package.nix
index 730472af229a..11ee385d9832 100644
--- a/pkgs/by-name/te/tempo/package.nix
+++ b/pkgs/by-name/te/tempo/package.nix
@@ -7,14 +7,14 @@
 
 buildGoModule rec {
   pname = "tempo";
-  version = "2.7.2";
+  version = "2.8.1";
 
   src = fetchFromGitHub {
     owner = "grafana";
     repo = "tempo";
     rev = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-JBbECknhqYKzFlxAOVinuUCf/2xuUdh2ryK9c35YZ9o=";
+    hash = "sha256-RzDOx2ZyA0ZntFD1ryfipsgPsxVmsdOusZ37RCnQQnM=";
   };
 
   vendorHash = null;
@@ -22,7 +22,6 @@ buildGoModule rec {
   subPackages = [
     "cmd/tempo-cli"
     "cmd/tempo-query"
-    "cmd/tempo-serverless"
     "cmd/tempo-vulture"
     "cmd/tempo"
   ];
@@ -44,6 +43,6 @@ buildGoModule rec {
     description = "High volume, minimal dependency trace storage";
     license = licenses.asl20;
     homepage = "https://grafana.com/oss/tempo/";
-    maintainers = with maintainers; [ willibutz ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/by-name/te/tenv/package.nix b/pkgs/by-name/te/tenv/package.nix
index d1deefc5a25d..50b681a4a266 100644
--- a/pkgs/by-name/te/tenv/package.nix
+++ b/pkgs/by-name/te/tenv/package.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "tenv";
-  version = "4.6.2";
+  version = "4.7.6";
 
   src = fetchFromGitHub {
     owner = "tofuutils";
     repo = "tenv";
     tag = "v${version}";
-    hash = "sha256-oYAl388/PBIL7LxOWUCZLHYfOKkkB/BEaTKpTN8rp5U=";
+    hash = "sha256-zgkHE1Vvm2pLBXvpRJyWHHEDL32PDS9Xy8hy48BrO7o=";
   };
 
-  vendorHash = "sha256-5aWf5O25cudtIny159t3Mllp2wV0C+JxWe7RDkYOxVM=";
+  vendorHash = "sha256-acJNxu7M3YOBcQ3KY9qL9vpBoaYIZRUtIDuvkLgATTc=";
 
   excludedPackages = [ "tools" ];
 
diff --git a/pkgs/by-name/te/termbook/Cargo.lock b/pkgs/by-name/te/termbook/Cargo.lock
deleted file mode 100644
index 1e786d565107..000000000000
--- a/pkgs/by-name/te/termbook/Cargo.lock
+++ /dev/null
@@ -1,2900 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 3
-
-[[package]]
-name = "addr2line"
-version = "0.19.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97"
-dependencies = [
- "gimli",
-]
-
-[[package]]
-name = "adler"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
-
-[[package]]
-name = "adler32"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234"
-
-[[package]]
-name = "aho-corasick"
-version = "0.7.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "aho-corasick"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "ammonia"
-version = "3.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64e6d1c7838db705c9b756557ee27c384ce695a1c51a6fe528784cb1c6840170"
-dependencies = [
- "html5ever",
- "maplit",
- "once_cell",
- "tendril",
- "url 2.3.1",
-]
-
-[[package]]
-name = "android_system_properties"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "ansi_term"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
-dependencies = [
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "atty"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-dependencies = [
- "hermit-abi 0.1.19",
- "libc",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "autocfg"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0dde43e75fd43e8a1bf86103336bc699aa8d17ad1be60c76c0bdfd4828e19b78"
-dependencies = [
- "autocfg 1.1.0",
-]
-
-[[package]]
-name = "autocfg"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
-
-[[package]]
-name = "backtrace"
-version = "0.3.67"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca"
-dependencies = [
- "addr2line",
- "cc",
- "cfg-if 1.0.0",
- "libc",
- "miniz_oxide 0.6.2",
- "object",
- "rustc-demangle",
-]
-
-[[package]]
-name = "base64"
-version = "0.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643"
-dependencies = [
- "byteorder",
- "safemem",
-]
-
-[[package]]
-name = "base64"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
-dependencies = [
- "byteorder",
-]
-
-[[package]]
-name = "base64"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7"
-
-[[package]]
-name = "bincode"
-version = "1.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "bitflags"
-version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
-
-[[package]]
-name = "block-buffer"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b"
-dependencies = [
- "block-padding",
- "byte-tools",
- "byteorder",
- "generic-array 0.12.4",
-]
-
-[[package]]
-name = "block-buffer"
-version = "0.10.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
-dependencies = [
- "generic-array 0.14.7",
-]
-
-[[package]]
-name = "block-padding"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5"
-dependencies = [
- "byte-tools",
-]
-
-[[package]]
-name = "bstr"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3d4260bcc2e8fc9df1eac4919a720effeb63a3f0952f5bf4944adfa18897f09"
-dependencies = [
- "memchr",
- "serde",
-]
-
-[[package]]
-name = "bumpalo"
-version = "3.12.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c6ed94e98ecff0c12dd1b04c15ec0d7d9458ca8fe806cea6f12954efe74c63b"
-
-[[package]]
-name = "byte-tools"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
-
-[[package]]
-name = "byteorder"
-version = "1.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
-
-[[package]]
-name = "bytes"
-version = "0.4.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c"
-dependencies = [
- "byteorder",
- "iovec",
-]
-
-[[package]]
-name = "cc"
-version = "1.0.79"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
-
-[[package]]
-name = "cfg-if"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
-
-[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
-name = "chrono"
-version = "0.4.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b"
-dependencies = [
- "iana-time-zone",
- "js-sys",
- "num-integer",
- "num-traits",
- "time",
- "wasm-bindgen",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "clap"
-version = "2.34.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
-dependencies = [
- "ansi_term",
- "atty",
- "bitflags",
- "strsim",
- "term_size",
- "textwrap",
- "unicode-width",
- "vec_map",
-]
-
-[[package]]
-name = "cloudabi"
-version = "0.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
-dependencies = [
- "bitflags",
-]
-
-[[package]]
-name = "color_quant"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
-
-[[package]]
-name = "core-foundation-sys"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
-
-[[package]]
-name = "cpufeatures"
-version = "0.2.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "crc32fast"
-version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
-dependencies = [
- "cfg-if 1.0.0",
-]
-
-[[package]]
-name = "crossbeam-channel"
-version = "0.5.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
-dependencies = [
- "cfg-if 1.0.0",
- "crossbeam-utils",
-]
-
-[[package]]
-name = "crossbeam-deque"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
-dependencies = [
- "cfg-if 1.0.0",
- "crossbeam-epoch",
- "crossbeam-utils",
-]
-
-[[package]]
-name = "crossbeam-epoch"
-version = "0.9.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695"
-dependencies = [
- "autocfg 1.1.0",
- "cfg-if 1.0.0",
- "crossbeam-utils",
- "memoffset",
- "scopeguard",
-]
-
-[[package]]
-name = "crossbeam-utils"
-version = "0.8.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b"
-dependencies = [
- "cfg-if 1.0.0",
-]
-
-[[package]]
-name = "crypto-common"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
-dependencies = [
- "generic-array 0.14.7",
- "typenum",
-]
-
-[[package]]
-name = "darling"
-version = "0.8.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9158d690bc62a3a57c3e45b85e4d50de2008b39345592c64efd79345c7e24be0"
-dependencies = [
- "darling_core",
- "darling_macro",
-]
-
-[[package]]
-name = "darling_core"
-version = "0.8.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2a368589465391e127e10c9e3a08efc8df66fd49b87dc8524c764bbe7f2ef82"
-dependencies = [
- "fnv",
- "ident_case",
- "proc-macro2 0.4.30",
- "quote 0.6.13",
- "syn 0.15.44",
-]
-
-[[package]]
-name = "darling_macro"
-version = "0.8.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "244e8987bd4e174385240cde20a3657f607fb0797563c28255c353b5819a07b1"
-dependencies = [
- "darling_core",
- "quote 0.6.13",
- "syn 0.15.44",
-]
-
-[[package]]
-name = "deflate"
-version = "0.7.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "707b6a7b384888a70c8d2e8650b3e60170dfc6a67bb4aa67b6dfca57af4bedb4"
-dependencies = [
- "adler32",
- "byteorder",
-]
-
-[[package]]
-name = "digest"
-version = "0.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
-dependencies = [
- "generic-array 0.12.4",
-]
-
-[[package]]
-name = "digest"
-version = "0.10.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f"
-dependencies = [
- "block-buffer 0.10.4",
- "crypto-common",
-]
-
-[[package]]
-name = "either"
-version = "1.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
-
-[[package]]
-name = "elasticlunr-rs"
-version = "2.3.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60eee99ae400fb1c4521ea3bd678994cb66572754d240449368e8ecd40281569"
-dependencies = [
- "lazy_static",
- "regex",
- "serde",
- "serde_derive",
- "serde_json",
- "strum",
- "strum_macros",
-]
-
-[[package]]
-name = "env_logger"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aafcde04e90a5226a6443b7aabdb016ba2f8307c847d524724bd9b346dd1a2d3"
-dependencies = [
- "atty",
- "humantime",
- "log 0.4.17",
- "regex",
- "termcolor",
-]
-
-[[package]]
-name = "env_logger"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36"
-dependencies = [
- "atty",
- "humantime",
- "log 0.4.17",
- "regex",
- "termcolor",
-]
-
-[[package]]
-name = "errno"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
-dependencies = [
- "errno-dragonfly",
- "libc",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "errno-dragonfly"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
-dependencies = [
- "cc",
- "libc",
-]
-
-[[package]]
-name = "error-chain"
-version = "0.12.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc"
-dependencies = [
- "backtrace",
- "version_check 0.9.4",
-]
-
-[[package]]
-name = "failure"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86"
-dependencies = [
- "backtrace",
- "failure_derive",
-]
-
-[[package]]
-name = "failure_derive"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4"
-dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.27",
- "syn 1.0.109",
- "synstructure",
-]
-
-[[package]]
-name = "fake-simd"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
-
-[[package]]
-name = "fastrand"
-version = "1.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
-dependencies = [
- "instant",
-]
-
-[[package]]
-name = "filetime"
-version = "0.2.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153"
-dependencies = [
- "cfg-if 1.0.0",
- "libc",
- "redox_syscall 0.2.16",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "flate2"
-version = "1.0.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743"
-dependencies = [
- "crc32fast",
- "miniz_oxide 0.7.1",
-]
-
-[[package]]
-name = "fnv"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-
-[[package]]
-name = "form_urlencoded"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
-dependencies = [
- "percent-encoding 2.2.0",
-]
-
-[[package]]
-name = "fsevent"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ab7d1bd1bd33cc98b0889831b72da23c0aa4df9cec7e0702f46ecea04b35db6"
-dependencies = [
- "bitflags",
- "fsevent-sys",
-]
-
-[[package]]
-name = "fsevent-sys"
-version = "2.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f41b048a94555da0f42f1d632e2e19510084fb8e303b0daa2816e733fb3644a0"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "fuchsia-cprng"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
-
-[[package]]
-name = "fuchsia-zircon"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
-dependencies = [
- "bitflags",
- "fuchsia-zircon-sys",
-]
-
-[[package]]
-name = "fuchsia-zircon-sys"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
-
-[[package]]
-name = "futf"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843"
-dependencies = [
- "mac",
- "new_debug_unreachable",
-]
-
-[[package]]
-name = "generic-array"
-version = "0.12.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd"
-dependencies = [
- "typenum",
-]
-
-[[package]]
-name = "generic-array"
-version = "0.14.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
-dependencies = [
- "typenum",
- "version_check 0.9.4",
-]
-
-[[package]]
-name = "gethostname"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e"
-dependencies = [
- "libc",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "getopts"
-version = "0.2.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5"
-dependencies = [
- "unicode-width",
-]
-
-[[package]]
-name = "getrandom"
-version = "0.1.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
-dependencies = [
- "cfg-if 1.0.0",
- "libc",
- "wasi 0.9.0+wasi-snapshot-preview1",
-]
-
-[[package]]
-name = "getrandom"
-version = "0.2.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4"
-dependencies = [
- "cfg-if 1.0.0",
- "libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
-]
-
-[[package]]
-name = "gif"
-version = "0.10.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "471d90201b3b223f3451cd4ad53e34295f16a1df17b1edf3736d47761c3981af"
-dependencies = [
- "color_quant",
- "lzw",
-]
-
-[[package]]
-name = "gimli"
-version = "0.27.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4"
-
-[[package]]
-name = "gitignore"
-version = "1.0.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d051488d9a601181a9b90c9ad8ae7e8251d642ddd2463008f2f5019d255bd89"
-dependencies = [
- "glob",
-]
-
-[[package]]
-name = "glob"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
-
-[[package]]
-name = "globset"
-version = "0.4.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc"
-dependencies = [
- "aho-corasick 0.7.20",
- "bstr",
- "fnv",
- "log 0.4.17",
- "regex",
-]
-
-[[package]]
-name = "handlebars"
-version = "3.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba758d094d31274eb49d15da6f326b96bf3185239a6359bf684f3d5321148900"
-dependencies = [
- "log 0.4.17",
- "pest",
- "pest_derive",
- "quick-error",
- "serde",
- "serde_json",
-]
-
-[[package]]
-name = "heck"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
-dependencies = [
- "unicode-segmentation",
-]
-
-[[package]]
-name = "hermit-abi"
-version = "0.1.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "hermit-abi"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "hermit-abi"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
-
-[[package]]
-name = "html5ever"
-version = "0.26.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bea68cab48b8459f17cf1c944c67ddc572d272d9f2b274140f223ecb1da4a3b7"
-dependencies = [
- "log 0.4.17",
- "mac",
- "markup5ever",
- "proc-macro2 1.0.56",
- "quote 1.0.27",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "httparse"
-version = "1.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
-
-[[package]]
-name = "humantime"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
-dependencies = [
- "quick-error",
-]
-
-[[package]]
-name = "hyper"
-version = "0.10.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a0652d9a2609a968c14be1a9ea00bf4b1d64e2e1f53a1b51b6fff3a6e829273"
-dependencies = [
- "base64 0.9.3",
- "httparse",
- "language-tags",
- "log 0.3.9",
- "mime 0.2.6",
- "num_cpus",
- "time",
- "traitobject",
- "typeable",
- "unicase 1.4.2",
- "url 1.7.2",
-]
-
-[[package]]
-name = "iana-time-zone"
-version = "0.1.56"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c"
-dependencies = [
- "android_system_properties",
- "core-foundation-sys",
- "iana-time-zone-haiku",
- "js-sys",
- "wasm-bindgen",
- "windows",
-]
-
-[[package]]
-name = "iana-time-zone-haiku"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
-dependencies = [
- "cc",
-]
-
-[[package]]
-name = "ident_case"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
-
-[[package]]
-name = "idna"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e"
-dependencies = [
- "matches",
- "unicode-bidi",
- "unicode-normalization",
-]
-
-[[package]]
-name = "idna"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
-dependencies = [
- "unicode-bidi",
- "unicode-normalization",
-]
-
-[[package]]
-name = "image"
-version = "0.22.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08ed2ada878397b045454ac7cfb011d73132c59f31a955d230bd1f1c2e68eb4a"
-dependencies = [
- "byteorder",
- "gif",
- "jpeg-decoder",
- "num-iter",
- "num-rational",
- "num-traits",
- "png",
- "scoped_threadpool",
- "tiff",
-]
-
-[[package]]
-name = "inflate"
-version = "0.4.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1cdb29978cc5797bd8dcc8e5bf7de604891df2a8dc576973d71a281e916db2ff"
-dependencies = [
- "adler32",
-]
-
-[[package]]
-name = "inotify"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4816c66d2c8ae673df83366c18341538f234a26d65a9ecea5c348b453ac1d02f"
-dependencies = [
- "bitflags",
- "inotify-sys",
- "libc",
-]
-
-[[package]]
-name = "inotify-sys"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "instant"
-version = "0.1.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
-dependencies = [
- "cfg-if 1.0.0",
-]
-
-[[package]]
-name = "io-lifetimes"
-version = "1.0.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220"
-dependencies = [
- "hermit-abi 0.3.1",
- "libc",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "iovec"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "iron"
-version = "0.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6d308ca2d884650a8bf9ed2ff4cb13fbb2207b71f64cda11dc9b892067295e8"
-dependencies = [
- "hyper",
- "log 0.3.9",
- "mime_guess",
- "modifier",
- "num_cpus",
- "plugin",
- "typemap",
- "url 1.7.2",
-]
-
-[[package]]
-name = "is-match"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e5b386aef33a1c677be65237cb9d32c3f3ef56bd035949710c4bb13083eb053"
-
-[[package]]
-name = "itertools"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f56a2d0bc861f9165be4eb3442afd3c236d8a98afd426f65d92324ae1091a484"
-dependencies = [
- "either",
-]
-
-[[package]]
-name = "itoa"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
-
-[[package]]
-name = "jpeg-decoder"
-version = "0.1.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "229d53d58899083193af11e15917b5640cd40b29ff475a1fe4ef725deb02d0f2"
-dependencies = [
- "rayon",
-]
-
-[[package]]
-name = "js-sys"
-version = "0.3.62"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68c16e1bfd491478ab155fd8b4896b86f9ede344949b641e61501e07c2b8b4d5"
-dependencies = [
- "wasm-bindgen",
-]
-
-[[package]]
-name = "kernel32-sys"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
-dependencies = [
- "winapi 0.2.8",
- "winapi-build",
-]
-
-[[package]]
-name = "language-tags"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a"
-
-[[package]]
-name = "lazy_static"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-
-[[package]]
-name = "lazycell"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
-
-[[package]]
-name = "libc"
-version = "0.2.144"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1"
-
-[[package]]
-name = "line-wrap"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9"
-dependencies = [
- "safemem",
-]
-
-[[package]]
-name = "linked-hash-map"
-version = "0.5.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
-
-[[package]]
-name = "linux-raw-sys"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ece97ea872ece730aed82664c424eb4c8291e1ff2480247ccf7409044bc6479f"
-
-[[package]]
-name = "lock_api"
-version = "0.4.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
-dependencies = [
- "autocfg 1.1.0",
- "scopeguard",
-]
-
-[[package]]
-name = "log"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b"
-dependencies = [
- "log 0.4.17",
-]
-
-[[package]]
-name = "log"
-version = "0.4.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
-dependencies = [
- "cfg-if 1.0.0",
-]
-
-[[package]]
-name = "lzw"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d947cbb889ed21c2a84be6ffbaebf5b4e0f4340638cba0444907e38b56be084"
-
-[[package]]
-name = "mac"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4"
-
-[[package]]
-name = "maplit"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
-
-[[package]]
-name = "markup5ever"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016"
-dependencies = [
- "log 0.4.17",
- "phf 0.10.1",
- "phf_codegen 0.10.0",
- "string_cache",
- "string_cache_codegen",
- "tendril",
-]
-
-[[package]]
-name = "matches"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
-
-[[package]]
-name = "mdbook"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7ec525f7ebccc2dd935c263717250cd37f9a4b264a77c5dbc950ea2734d8159"
-dependencies = [
- "ammonia",
- "chrono",
- "clap",
- "elasticlunr-rs",
- "env_logger 0.6.2",
- "error-chain",
- "gitignore",
- "handlebars",
- "iron",
- "itertools",
- "lazy_static",
- "log 0.4.17",
- "memchr",
- "notify",
- "open",
- "pulldown-cmark 0.6.1",
- "regex",
- "serde",
- "serde_derive",
- "serde_json",
- "shlex",
- "staticfile",
- "tempfile",
- "toml",
- "toml-query",
- "ws",
-]
-
-[[package]]
-name = "mdcat"
-version = "0.15.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a95a756c025b1c1a2e84a869fd690ee239ca4af65a8209191d04736e19ba9f08"
-dependencies = [
- "ansi_term",
- "base64 0.11.0",
- "clap",
- "failure",
- "gethostname",
- "image",
- "mime 0.3.17",
- "pulldown-cmark 0.6.1",
- "syntect",
- "term_size",
- "url 2.3.1",
-]
-
-[[package]]
-name = "memchr"
-version = "2.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
-
-[[package]]
-name = "memoffset"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1"
-dependencies = [
- "autocfg 1.1.0",
-]
-
-[[package]]
-name = "mime"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba626b8a6de5da682e1caa06bdb42a335aee5a84db8e5046a3e8ab17ba0a3ae0"
-dependencies = [
- "log 0.3.9",
-]
-
-[[package]]
-name = "mime"
-version = "0.3.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
-
-[[package]]
-name = "mime_guess"
-version = "1.8.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "216929a5ee4dd316b1702eedf5e74548c123d370f47841ceaac38ca154690ca3"
-dependencies = [
- "mime 0.2.6",
- "phf 0.7.24",
- "phf_codegen 0.7.24",
- "unicase 1.4.2",
-]
-
-[[package]]
-name = "miniz_oxide"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
-dependencies = [
- "adler",
-]
-
-[[package]]
-name = "miniz_oxide"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
-dependencies = [
- "adler",
-]
-
-[[package]]
-name = "mio"
-version = "0.6.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4"
-dependencies = [
- "cfg-if 0.1.10",
- "fuchsia-zircon",
- "fuchsia-zircon-sys",
- "iovec",
- "kernel32-sys",
- "libc",
- "log 0.4.17",
- "miow",
- "net2",
- "slab",
- "winapi 0.2.8",
-]
-
-[[package]]
-name = "mio-extras"
-version = "2.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19"
-dependencies = [
- "lazycell",
- "log 0.4.17",
- "mio",
- "slab",
-]
-
-[[package]]
-name = "miow"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d"
-dependencies = [
- "kernel32-sys",
- "net2",
- "winapi 0.2.8",
- "ws2_32-sys",
-]
-
-[[package]]
-name = "modifier"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41f5c9112cb662acd3b204077e0de5bc66305fa8df65c8019d5adb10e9ab6e58"
-
-[[package]]
-name = "mount"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e25c06012941aaf8c75f2eaf7ec5c48cf69f9fc489ab3eb3589edc107e386f0b"
-dependencies = [
- "iron",
- "sequence_trie",
-]
-
-[[package]]
-name = "net2"
-version = "0.2.38"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74d0df99cfcd2530b2e694f6e17e7f37b8e26bb23983ac530c0c97408837c631"
-dependencies = [
- "cfg-if 0.1.10",
- "libc",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "new_debug_unreachable"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
-
-[[package]]
-name = "notify"
-version = "4.0.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae03c8c853dba7bfd23e571ff0cff7bc9dceb40a4cd684cd1681824183f45257"
-dependencies = [
- "bitflags",
- "filetime",
- "fsevent",
- "fsevent-sys",
- "inotify",
- "libc",
- "mio",
- "mio-extras",
- "walkdir",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "num-derive"
-version = "0.2.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eafd0b45c5537c3ba526f79d3e75120036502bebacbb3f3220914067ce39dbf2"
-dependencies = [
- "proc-macro2 0.4.30",
- "quote 0.6.13",
- "syn 0.15.44",
-]
-
-[[package]]
-name = "num-integer"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
-dependencies = [
- "autocfg 1.1.0",
- "num-traits",
-]
-
-[[package]]
-name = "num-iter"
-version = "0.1.43"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"
-dependencies = [
- "autocfg 1.1.0",
- "num-integer",
- "num-traits",
-]
-
-[[package]]
-name = "num-rational"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef"
-dependencies = [
- "autocfg 1.1.0",
- "num-integer",
- "num-traits",
-]
-
-[[package]]
-name = "num-traits"
-version = "0.2.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
-dependencies = [
- "autocfg 1.1.0",
-]
-
-[[package]]
-name = "num_cpus"
-version = "1.15.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
-dependencies = [
- "hermit-abi 0.2.6",
- "libc",
-]
-
-[[package]]
-name = "object"
-version = "0.30.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "once_cell"
-version = "1.17.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
-
-[[package]]
-name = "onig"
-version = "4.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8518fcb2b1b8c2f45f0ad499df4fda6087fc3475ca69a185c173b8315d2fb383"
-dependencies = [
- "bitflags",
- "lazy_static",
- "libc",
- "onig_sys",
-]
-
-[[package]]
-name = "onig_sys"
-version = "69.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "388410bf5fa341f10e58e6db3975f4bea1ac30247dd79d37a9e5ced3cb4cc3b0"
-dependencies = [
- "cc",
- "pkg-config",
-]
-
-[[package]]
-name = "opaque-debug"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c"
-
-[[package]]
-name = "open"
-version = "1.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcea7a30d6b81a2423cc59c43554880feff7b57d12916f231a79f8d6d9470201"
-dependencies = [
- "pathdiff",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "parking_lot"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
-dependencies = [
- "lock_api",
- "parking_lot_core",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.9.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
-dependencies = [
- "cfg-if 1.0.0",
- "libc",
- "redox_syscall 0.2.16",
- "smallvec",
- "windows-sys 0.45.0",
-]
-
-[[package]]
-name = "pathdiff"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
-
-[[package]]
-name = "percent-encoding"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
-
-[[package]]
-name = "percent-encoding"
-version = "2.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
-
-[[package]]
-name = "pest"
-version = "2.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e68e84bfb01f0507134eac1e9b410a12ba379d064eab48c50ba4ce329a527b70"
-dependencies = [
- "thiserror",
- "ucd-trie",
-]
-
-[[package]]
-name = "pest_derive"
-version = "2.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b79d4c71c865a25a4322296122e3924d30bc8ee0834c8bfc8b95f7f054afbfb"
-dependencies = [
- "pest",
- "pest_generator",
-]
-
-[[package]]
-name = "pest_generator"
-version = "2.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c435bf1076437b851ebc8edc3a18442796b30f1728ffea6262d59bbe28b077e"
-dependencies = [
- "pest",
- "pest_meta",
- "proc-macro2 1.0.56",
- "quote 1.0.27",
- "syn 2.0.16",
-]
-
-[[package]]
-name = "pest_meta"
-version = "2.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "745a452f8eb71e39ffd8ee32b3c5f51d03845f99786fa9b68db6ff509c505411"
-dependencies = [
- "once_cell",
- "pest",
- "sha2",
-]
-
-[[package]]
-name = "phf"
-version = "0.7.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3da44b85f8e8dfaec21adae67f95d93244b2ecf6ad2a692320598dcc8e6dd18"
-dependencies = [
- "phf_shared 0.7.24",
-]
-
-[[package]]
-name = "phf"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259"
-dependencies = [
- "phf_shared 0.10.0",
-]
-
-[[package]]
-name = "phf_codegen"
-version = "0.7.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b03e85129e324ad4166b06b2c7491ae27fe3ec353af72e72cd1654c7225d517e"
-dependencies = [
- "phf_generator 0.7.24",
- "phf_shared 0.7.24",
-]
-
-[[package]]
-name = "phf_codegen"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd"
-dependencies = [
- "phf_generator 0.10.0",
- "phf_shared 0.10.0",
-]
-
-[[package]]
-name = "phf_generator"
-version = "0.7.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09364cc93c159b8b06b1f4dd8a4398984503483891b0c26b867cf431fb132662"
-dependencies = [
- "phf_shared 0.7.24",
- "rand 0.6.5",
-]
-
-[[package]]
-name = "phf_generator"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6"
-dependencies = [
- "phf_shared 0.10.0",
- "rand 0.8.5",
-]
-
-[[package]]
-name = "phf_shared"
-version = "0.7.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "234f71a15de2288bcb7e3b6515828d22af7ec8598ee6d24c3b526fa0a80b67a0"
-dependencies = [
- "siphasher 0.2.3",
- "unicase 1.4.2",
-]
-
-[[package]]
-name = "phf_shared"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096"
-dependencies = [
- "siphasher 0.3.10",
-]
-
-[[package]]
-name = "pkg-config"
-version = "0.3.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
-
-[[package]]
-name = "plist"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f2a9f075f6394100e7c105ed1af73fb1859d6fd14e49d4290d578120beb167f"
-dependencies = [
- "base64 0.10.1",
- "byteorder",
- "humantime",
- "line-wrap",
- "serde",
- "xml-rs",
-]
-
-[[package]]
-name = "plugin"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a6a0dc3910bc8db877ffed8e457763b317cf880df4ae19109b9f77d277cf6e0"
-dependencies = [
- "typemap",
-]
-
-[[package]]
-name = "png"
-version = "0.15.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef859a23054bbfee7811284275ae522f0434a3c8e7f4b74bd4a35ae7e1c4a283"
-dependencies = [
- "bitflags",
- "crc32fast",
- "deflate",
- "inflate",
-]
-
-[[package]]
-name = "ppv-lite86"
-version = "0.2.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
-
-[[package]]
-name = "precomputed-hash"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
-
-[[package]]
-name = "proc-macro2"
-version = "0.4.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
-dependencies = [
- "unicode-xid 0.1.0",
-]
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.56"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "pulldown-cmark"
-version = "0.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c205cc82214f3594e2d50686730314f817c67ffa80fe800cf0db78c3c2b9d9e"
-dependencies = [
- "bitflags",
- "getopts",
- "memchr",
- "unicase 2.6.0",
-]
-
-[[package]]
-name = "pulldown-cmark"
-version = "0.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca36dea94d187597e104a5c8e4b07576a8a45aa5db48a65e12940d3eb7461f55"
-dependencies = [
- "bitflags",
- "memchr",
- "unicase 2.6.0",
-]
-
-[[package]]
-name = "pulldown-cmark-to-cmark"
-version = "2.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf89659b1da0800e093162bc6f9305d896393af721cc88ffdb86a4b20760fe89"
-dependencies = [
- "pulldown-cmark 0.6.1",
-]
-
-[[package]]
-name = "pulldown-cmark-to-cmark"
-version = "4.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cffb594e453d29e238ac190362a4a291daec00396717a8d1670863121ac56958"
-dependencies = [
- "pulldown-cmark 0.7.2",
-]
-
-[[package]]
-name = "quick-error"
-version = "1.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
-
-[[package]]
-name = "quote"
-version = "0.6.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1"
-dependencies = [
- "proc-macro2 0.4.30",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f4f29d145265ec1c483c7c654450edde0bfe043d3938d6972630663356d9500"
-dependencies = [
- "proc-macro2 1.0.56",
-]
-
-[[package]]
-name = "rand"
-version = "0.6.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
-dependencies = [
- "autocfg 0.1.8",
- "libc",
- "rand_chacha 0.1.1",
- "rand_core 0.4.2",
- "rand_hc 0.1.0",
- "rand_isaac",
- "rand_jitter",
- "rand_os",
- "rand_pcg",
- "rand_xorshift",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "rand"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
-dependencies = [
- "getrandom 0.1.16",
- "libc",
- "rand_chacha 0.2.2",
- "rand_core 0.5.1",
- "rand_hc 0.2.0",
-]
-
-[[package]]
-name = "rand"
-version = "0.8.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
-dependencies = [
- "libc",
- "rand_chacha 0.3.1",
- "rand_core 0.6.4",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
-dependencies = [
- "autocfg 0.1.8",
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
-dependencies = [
- "ppv-lite86",
- "rand_core 0.5.1",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
-dependencies = [
- "ppv-lite86",
- "rand_core 0.6.4",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
-dependencies = [
- "rand_core 0.4.2",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
-
-[[package]]
-name = "rand_core"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
-dependencies = [
- "getrandom 0.1.16",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
-dependencies = [
- "getrandom 0.2.9",
-]
-
-[[package]]
-name = "rand_hc"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
-dependencies = [
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rand_hc"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
-dependencies = [
- "rand_core 0.5.1",
-]
-
-[[package]]
-name = "rand_isaac"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
-dependencies = [
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rand_jitter"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
-dependencies = [
- "libc",
- "rand_core 0.4.2",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "rand_os"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
-dependencies = [
- "cloudabi",
- "fuchsia-cprng",
- "libc",
- "rand_core 0.4.2",
- "rdrand",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "rand_pcg"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
-dependencies = [
- "autocfg 0.1.8",
- "rand_core 0.4.2",
-]
-
-[[package]]
-name = "rand_xorshift"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
-dependencies = [
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rayon"
-version = "1.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b"
-dependencies = [
- "either",
- "rayon-core",
-]
-
-[[package]]
-name = "rayon-core"
-version = "1.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d"
-dependencies = [
- "crossbeam-channel",
- "crossbeam-deque",
- "crossbeam-utils",
- "num_cpus",
-]
-
-[[package]]
-name = "rdrand"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
-dependencies = [
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
-dependencies = [
- "bitflags",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.3.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
-dependencies = [
- "bitflags",
-]
-
-[[package]]
-name = "regex"
-version = "1.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af83e617f331cc6ae2da5443c602dfa5af81e517212d9d611a5b3ba1777b5370"
-dependencies = [
- "aho-corasick 1.0.1",
- "memchr",
- "regex-syntax 0.7.1",
-]
-
-[[package]]
-name = "regex-syntax"
-version = "0.6.29"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
-
-[[package]]
-name = "regex-syntax"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a5996294f19bd3aae0453a862ad728f60e6600695733dd5df01da90c54363a3c"
-
-[[package]]
-name = "rustc-demangle"
-version = "0.1.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
-
-[[package]]
-name = "rustix"
-version = "0.37.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d"
-dependencies = [
- "bitflags",
- "errno",
- "io-lifetimes",
- "libc",
- "linux-raw-sys",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "ryu"
-version = "1.0.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
-
-[[package]]
-name = "safemem"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
-
-[[package]]
-name = "same-file"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
-dependencies = [
- "winapi-util",
-]
-
-[[package]]
-name = "scoped_threadpool"
-version = "0.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8"
-
-[[package]]
-name = "scopeguard"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
-
-[[package]]
-name = "sequence_trie"
-version = "0.3.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ee22067b7ccd072eeb64454b9c6e1b33b61cd0d49e895fd48676a184580e0c3"
-
-[[package]]
-name = "serde"
-version = "1.0.163"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2113ab51b87a539ae008b5c6c02dc020ffa39afd2d83cffcb3f4eb2722cebec2"
-
-[[package]]
-name = "serde_derive"
-version = "1.0.163"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e"
-dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.27",
- "syn 2.0.16",
-]
-
-[[package]]
-name = "serde_json"
-version = "1.0.96"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1"
-dependencies = [
- "itoa",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "sha-1"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df"
-dependencies = [
- "block-buffer 0.7.3",
- "digest 0.8.1",
- "fake-simd",
- "opaque-debug",
-]
-
-[[package]]
-name = "sha2"
-version = "0.10.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0"
-dependencies = [
- "cfg-if 1.0.0",
- "cpufeatures",
- "digest 0.10.6",
-]
-
-[[package]]
-name = "shlex"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2"
-
-[[package]]
-name = "siphasher"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac"
-
-[[package]]
-name = "siphasher"
-version = "0.3.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
-
-[[package]]
-name = "slab"
-version = "0.4.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
-dependencies = [
- "autocfg 1.1.0",
-]
-
-[[package]]
-name = "smallvec"
-version = "1.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
-
-[[package]]
-name = "staticfile"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "babd3fa68bb7e3994ce181c5f21ff3ff5fffef7b18b8a10163b45e4dafc6fb86"
-dependencies = [
- "iron",
- "mount",
- "time",
- "url 1.7.2",
-]
-
-[[package]]
-name = "string_cache"
-version = "0.8.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b"
-dependencies = [
- "new_debug_unreachable",
- "once_cell",
- "parking_lot",
- "phf_shared 0.10.0",
- "precomputed-hash",
- "serde",
-]
-
-[[package]]
-name = "string_cache_codegen"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988"
-dependencies = [
- "phf_generator 0.10.0",
- "phf_shared 0.10.0",
- "proc-macro2 1.0.56",
- "quote 1.0.27",
-]
-
-[[package]]
-name = "strsim"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
-
-[[package]]
-name = "strum"
-version = "0.21.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2"
-
-[[package]]
-name = "strum_macros"
-version = "0.21.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec"
-dependencies = [
- "heck",
- "proc-macro2 1.0.56",
- "quote 1.0.27",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "syn"
-version = "0.15.44"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5"
-dependencies = [
- "proc-macro2 0.4.30",
- "quote 0.6.13",
- "unicode-xid 0.1.0",
-]
-
-[[package]]
-name = "syn"
-version = "1.0.109"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
-dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.27",
- "unicode-ident",
-]
-
-[[package]]
-name = "syn"
-version = "2.0.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a6f671d4b5ffdb8eadec19c0ae67fe2639df8684bd7bc4b83d986b8db549cf01"
-dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.27",
- "unicode-ident",
-]
-
-[[package]]
-name = "synstructure"
-version = "0.12.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f"
-dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.27",
- "syn 1.0.109",
- "unicode-xid 0.2.4",
-]
-
-[[package]]
-name = "syntect"
-version = "3.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72fed41b91655133c9819f68d0b9a194dcbf36aa46e80033b6e9ae169f58b211"
-dependencies = [
- "bincode",
- "bitflags",
- "flate2",
- "fnv",
- "lazy_static",
- "lazycell",
- "onig",
- "plist",
- "regex-syntax 0.6.29",
- "serde",
- "serde_derive",
- "serde_json",
- "walkdir",
- "yaml-rust",
-]
-
-[[package]]
-name = "tempfile"
-version = "3.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998"
-dependencies = [
- "cfg-if 1.0.0",
- "fastrand",
- "redox_syscall 0.3.5",
- "rustix",
- "windows-sys 0.45.0",
-]
-
-[[package]]
-name = "tendril"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0"
-dependencies = [
- "futf",
- "mac",
- "utf-8",
-]
-
-[[package]]
-name = "term_size"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e4129646ca0ed8f45d09b929036bafad5377103edd06e50bf574b353d2b08d9"
-dependencies = [
- "libc",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "termbook"
-version = "1.4.2"
-dependencies = [
- "atty",
- "globset",
- "mdbook",
- "mdcat",
- "pulldown-cmark 0.6.1",
- "pulldown-cmark-to-cmark 2.0.1",
- "syntect",
-]
-
-[[package]]
-name = "termbook-cli"
-version = "1.4.6"
-dependencies = [
- "clap",
- "env_logger 0.7.1",
- "lazy_static",
- "pulldown-cmark-to-cmark 4.0.2",
- "termbook",
-]
-
-[[package]]
-name = "termcolor"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
-dependencies = [
- "winapi-util",
-]
-
-[[package]]
-name = "textwrap"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
-dependencies = [
- "term_size",
- "unicode-width",
-]
-
-[[package]]
-name = "thiserror"
-version = "1.0.40"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
-dependencies = [
- "thiserror-impl",
-]
-
-[[package]]
-name = "thiserror-impl"
-version = "1.0.40"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
-dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.27",
- "syn 2.0.16",
-]
-
-[[package]]
-name = "tiff"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7b7c2cfc4742bd8a32f2e614339dd8ce30dbcf676bb262bd63a2327bc5df57d"
-dependencies = [
- "byteorder",
- "lzw",
- "num-derive",
- "num-traits",
-]
-
-[[package]]
-name = "time"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a"
-dependencies = [
- "libc",
- "wasi 0.10.0+wasi-snapshot-preview1",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "tinyvec"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
-dependencies = [
- "tinyvec_macros",
-]
-
-[[package]]
-name = "tinyvec_macros"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
-
-[[package]]
-name = "toml"
-version = "0.5.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "toml-query"
-version = "0.9.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "654d5afba116c445bb5fb6812e7c3177d90d143427af73f12956f33e18a1cedb"
-dependencies = [
- "failure",
- "failure_derive",
- "is-match",
- "lazy_static",
- "regex",
- "toml",
- "toml-query_derive",
-]
-
-[[package]]
-name = "toml-query_derive"
-version = "0.9.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "528baacc7fbc5e12b3fc32f483bea1b1cf531afa71cfaae54838d7095a6add9b"
-dependencies = [
- "darling",
- "quote 0.6.13",
- "syn 0.15.44",
-]
-
-[[package]]
-name = "traitobject"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079"
-
-[[package]]
-name = "typeable"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887"
-
-[[package]]
-name = "typemap"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "653be63c80a3296da5551e1bfd2cca35227e13cdd08c6668903ae2f4f77aa1f6"
-dependencies = [
- "unsafe-any",
-]
-
-[[package]]
-name = "typenum"
-version = "1.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
-
-[[package]]
-name = "ucd-trie"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81"
-
-[[package]]
-name = "unicase"
-version = "1.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33"
-dependencies = [
- "version_check 0.1.5",
-]
-
-[[package]]
-name = "unicase"
-version = "2.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
-dependencies = [
- "version_check 0.9.4",
-]
-
-[[package]]
-name = "unicode-bidi"
-version = "0.3.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
-
-[[package]]
-name = "unicode-ident"
-version = "1.0.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4"
-
-[[package]]
-name = "unicode-normalization"
-version = "0.1.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
-dependencies = [
- "tinyvec",
-]
-
-[[package]]
-name = "unicode-segmentation"
-version = "1.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
-
-[[package]]
-name = "unicode-width"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
-
-[[package]]
-name = "unicode-xid"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
-
-[[package]]
-name = "unicode-xid"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
-
-[[package]]
-name = "unsafe-any"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f30360d7979f5e9c6e6cea48af192ea8fab4afb3cf72597154b8f08935bc9c7f"
-dependencies = [
- "traitobject",
-]
-
-[[package]]
-name = "url"
-version = "1.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"
-dependencies = [
- "idna 0.1.5",
- "matches",
- "percent-encoding 1.0.1",
-]
-
-[[package]]
-name = "url"
-version = "2.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
-dependencies = [
- "form_urlencoded",
- "idna 0.3.0",
- "percent-encoding 2.2.0",
-]
-
-[[package]]
-name = "utf-8"
-version = "0.7.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
-
-[[package]]
-name = "vec_map"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
-
-[[package]]
-name = "version_check"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
-
-[[package]]
-name = "version_check"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
-
-[[package]]
-name = "walkdir"
-version = "2.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698"
-dependencies = [
- "same-file",
- "winapi-util",
-]
-
-[[package]]
-name = "wasi"
-version = "0.9.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
-
-[[package]]
-name = "wasi"
-version = "0.10.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
-
-[[package]]
-name = "wasi"
-version = "0.11.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
-
-[[package]]
-name = "wasm-bindgen"
-version = "0.2.85"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b6cb788c4e39112fbe1822277ef6fb3c55cd86b95cb3d3c4c1c9597e4ac74b4"
-dependencies = [
- "cfg-if 1.0.0",
- "wasm-bindgen-macro",
-]
-
-[[package]]
-name = "wasm-bindgen-backend"
-version = "0.2.85"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35e522ed4105a9d626d885b35d62501b30d9666283a5c8be12c14a8bdafe7822"
-dependencies = [
- "bumpalo",
- "log 0.4.17",
- "once_cell",
- "proc-macro2 1.0.56",
- "quote 1.0.27",
- "syn 2.0.16",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-macro"
-version = "0.2.85"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "358a79a0cb89d21db8120cbfb91392335913e4890665b1a7981d9e956903b434"
-dependencies = [
- "quote 1.0.27",
- "wasm-bindgen-macro-support",
-]
-
-[[package]]
-name = "wasm-bindgen-macro-support"
-version = "0.2.85"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4783ce29f09b9d93134d41297aded3a712b7b979e9c6f28c32cb88c973a94869"
-dependencies = [
- "proc-macro2 1.0.56",
- "quote 1.0.27",
- "syn 2.0.16",
- "wasm-bindgen-backend",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-shared"
-version = "0.2.85"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a901d592cafaa4d711bc324edfaff879ac700b19c3dfd60058d2b445be2691eb"
-
-[[package]]
-name = "winapi"
-version = "0.2.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
-
-[[package]]
-name = "winapi"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
-dependencies = [
- "winapi-i686-pc-windows-gnu",
- "winapi-x86_64-pc-windows-gnu",
-]
-
-[[package]]
-name = "winapi-build"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
-
-[[package]]
-name = "winapi-i686-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-
-[[package]]
-name = "winapi-util"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
-dependencies = [
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "winapi-x86_64-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-
-[[package]]
-name = "windows"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
-dependencies = [
- "windows-targets 0.48.0",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.45.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
-dependencies = [
- "windows-targets 0.42.2",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
-dependencies = [
- "windows-targets 0.48.0",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
-dependencies = [
- "windows_aarch64_gnullvm 0.42.2",
- "windows_aarch64_msvc 0.42.2",
- "windows_i686_gnu 0.42.2",
- "windows_i686_msvc 0.42.2",
- "windows_x86_64_gnu 0.42.2",
- "windows_x86_64_gnullvm 0.42.2",
- "windows_x86_64_msvc 0.42.2",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
-dependencies = [
- "windows_aarch64_gnullvm 0.48.0",
- "windows_aarch64_msvc 0.48.0",
- "windows_i686_gnu 0.48.0",
- "windows_i686_msvc 0.48.0",
- "windows_x86_64_gnu 0.48.0",
- "windows_x86_64_gnullvm 0.48.0",
- "windows_x86_64_msvc 0.48.0",
-]
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
-
-[[package]]
-name = "ws"
-version = "0.9.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25fe90c75f236a0a00247d5900226aea4f2d7b05ccc34da9e7a8880ff59b5848"
-dependencies = [
- "byteorder",
- "bytes",
- "httparse",
- "log 0.4.17",
- "mio",
- "mio-extras",
- "rand 0.7.3",
- "sha-1",
- "slab",
- "url 2.3.1",
-]
-
-[[package]]
-name = "ws2_32-sys"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
-dependencies = [
- "winapi 0.2.8",
- "winapi-build",
-]
-
-[[package]]
-name = "xml-rs"
-version = "0.8.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc95a04ea24f543cd9be5aab44f963fa35589c99e18415c38fb2b17e133bf8d2"
-
-[[package]]
-name = "yaml-rust"
-version = "0.4.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85"
-dependencies = [
- "linked-hash-map",
-]
diff --git a/pkgs/by-name/te/termbook/bump-tendril.patch b/pkgs/by-name/te/termbook/bump-tendril.patch
new file mode 100644
index 000000000000..0263bcf69077
--- /dev/null
+++ b/pkgs/by-name/te/termbook/bump-tendril.patch
@@ -0,0 +1,28 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index 73e86d7..68d37b7 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -507,9 +509,9 @@ checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
+ 
+ [[package]]
+ name = "futf"
+-version = "0.1.4"
++version = "0.1.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "7c9c1ce3fa9336301af935ab852c437817d14cd33690446569392e65170aac3b"
++checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843"
+ dependencies = [
+  "mac",
+  "new_debug_unreachable",
+@@ -1964,9 +1966,9 @@ dependencies = [
+ 
+ [[package]]
+ name = "tendril"
+-version = "0.4.1"
++version = "0.4.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "707feda9f2582d5d680d733e38755547a3e8fb471e7ba11452ecfd9ce93a5d3b"
++checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0"
+ dependencies = [
+  "futf",
+  "mac",
diff --git a/pkgs/by-name/te/termbook/package.nix b/pkgs/by-name/te/termbook/package.nix
index 70b63b9daedd..f4ecd33b6bb6 100644
--- a/pkgs/by-name/te/termbook/package.nix
+++ b/pkgs/by-name/te/termbook/package.nix
@@ -19,9 +19,13 @@ rustPlatform.buildRustPackage rec {
     sha256 = "Bo3DI0cMXIfP7ZVr8MAW/Tmv+4mEJBIQyLvRfVBDG8c=";
   };
 
-  cargoLock = {
-    lockFile = ./Cargo.lock;
-  };
+  cargoPatches = [
+    # update dependencies to fix build failure caused by unaligned packed structs
+    # generated by running `cargo update tendril`
+    ./bump-tendril.patch
+  ];
+
+  cargoHash = "sha256-CVZpOaRXCSuU739Ef8ObLQBvry7C9iRWWnM+4ATufQA=";
 
   nativeBuildInputs = [
     installShellFiles
@@ -36,11 +40,6 @@ rustPlatform.buildRustPackage rec {
     RUSTONIG_SYSTEM_LIBONIG = true;
   };
 
-  # update dependencies to fix build failure caused by unaligned packed structs
-  postPatch = ''
-    ln -sf ${./Cargo.lock} Cargo.lock
-  '';
-
   postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
     installShellCompletion --cmd termbook \
       --bash <($out/bin/termbook completions bash) \
diff --git a/pkgs/by-name/te/terminal-parrot/package.nix b/pkgs/by-name/te/terminal-parrot/package.nix
index f3e7cec81db3..7dfe33d93288 100644
--- a/pkgs/by-name/te/terminal-parrot/package.nix
+++ b/pkgs/by-name/te/terminal-parrot/package.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "terminal-parrot";
-  version = "1.2.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "jmhobbs";
     repo = "terminal-parrot";
     rev = version;
-    hash = "sha256-LI67DDcK3M084r9JPx8NcBWthaiBOCEL4lQJhuUJSok=";
+    hash = "sha256-VOV1KKaZrKyz+Fj//RbPrBE3ImC60FNauayVAMmoxFc=";
   };
 
   vendorHash = "sha256-EhnmOpT+rx4RVpmqgEQ4qO+Uca1W9uhx4fcExXG9LOI=";
diff --git a/pkgs/by-name/te/termius/package.nix b/pkgs/by-name/te/termius/package.nix
index 5135a55bdc33..356efee6f660 100644
--- a/pkgs/by-name/te/termius/package.nix
+++ b/pkgs/by-name/te/termius/package.nix
@@ -16,8 +16,8 @@
 
 stdenv.mkDerivation rec {
   pname = "termius";
-  version = "9.20.0";
-  revision = "226";
+  version = "9.21.2";
+  revision = "227";
 
   src = fetchurl {
     # find the latest version with
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     # and the sha512 with
     # curl -H 'X-Ubuntu-Series: 16' https://api.snapcraft.io/api/v1/snaps/details/termius-app | jq '.download_sha512' -r
     url = "https://api.snapcraft.io/api/v1/snaps/download/WkTBXwoX81rBe3s3OTt3EiiLKBx2QhuS_${revision}.snap";
-    hash = "sha512-e+czt4ZoXirtRV63uL4Mc3DFcq3/XRxU7R7wyd/EZBtZOb5uW0CT84u9v3b8xM/0jJyY3ZQBR4lJS05vuXvzpw==";
+    hash = "sha512-xiTxJJa9OpwNZW3x6TbmY+8lE/61417OLfOWdK9UMbUyqOtbhD3pSVq9M/uG13gvUndOkEoM2bbci/gKG+J0xw==";
   };
 
   desktopItem = makeDesktopItem {
diff --git a/pkgs/by-name/te/termscp/package.nix b/pkgs/by-name/te/termscp/package.nix
index a32508c59623..0cc5c2c8159c 100644
--- a/pkgs/by-name/te/termscp/package.nix
+++ b/pkgs/by-name/te/termscp/package.nix
@@ -13,17 +13,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "termscp";
-  version = "0.17.0";
+  version = "0.18.0";
 
   src = fetchFromGitHub {
     owner = "veeso";
     repo = "termscp";
     tag = "v${version}";
-    hash = "sha256-ClCPXux1sM3hRbtJ3YngrAmc4btTgQmg/Bg/7uFHCOw=";
+    hash = "sha256-QBvxXl1+f2617dwoZzSJq9vQY6hOXeHZjEh4xqMyayA=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-k/6+EWHAXd8BN551xDlQkYsBZsP/jgT+NO5GbVXJkVI=";
+  cargoHash = "sha256-ghJdAou3IsDVmOnDYiYO1yR3BtkrfUek10Bh9GuVH1E=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/by-name/te/terraform-ls/package.nix b/pkgs/by-name/te/terraform-ls/package.nix
index 5a31714dda31..84306c5bdf33 100644
--- a/pkgs/by-name/te/terraform-ls/package.nix
+++ b/pkgs/by-name/te/terraform-ls/package.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "terraform-ls";
-  version = "0.36.4";
+  version = "0.36.5";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "terraform-ls";
     rev = "v${version}";
-    hash = "sha256-20spDPVJC48r6Qy6KS8Yp6lUE22DuoOM17WPS3+KN9E=";
+    hash = "sha256-oSrv0Ct60nN2AVihtcQcIWVpLFDra2Jv3bjjlM6pn9E=";
   };
 
-  vendorHash = "sha256-+nE36oxW60OKTAEMetuZQhOCJraMTvU5f362k5aYVpc=";
+  vendorHash = "sha256-Q2a6rCyx59cRaUBTzkKH6OgB9DRlkQSTgAI7WKDCbCI=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/te/terragrunt/package.nix b/pkgs/by-name/te/terragrunt/package.nix
index 7d610bfb4ede..77ef4a46fca3 100644
--- a/pkgs/by-name/te/terragrunt/package.nix
+++ b/pkgs/by-name/te/terragrunt/package.nix
@@ -3,24 +3,22 @@
   buildGoModule,
   fetchFromGitHub,
   versionCheckHook,
-  go-mockery,
   mockgen,
 }:
 
 buildGoModule (finalAttrs: {
   pname = "terragrunt";
-  version = "0.80.2";
+  version = "0.81.8";
 
   src = fetchFromGitHub {
     owner = "gruntwork-io";
     repo = "terragrunt";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-FgytHWKtXK0tNDFOVOEciEzyVEXLbk9T2Nk8Se35HnY=";
+    hash = "sha256-+f6rHS1ljj59wmR3NJwviJEBqeS6VzoMPfal4MuoyUE=";
   };
 
   nativeBuildInputs = [
     versionCheckHook
-    go-mockery
     mockgen
   ];
 
@@ -28,7 +26,7 @@ buildGoModule (finalAttrs: {
     make generate-mocks
   '';
 
-  vendorHash = "sha256-Zgoon6eMUXn2zaxHfJovtWV9Q11rDdkBrYzNqa73DsM=";
+  vendorHash = "sha256-A8P0wJ/EUTnAeCIFfAECTBQmSaOcED6SDbeRnnTlcJ8=";
 
   doCheck = false;
 
diff --git a/pkgs/by-name/te/testkube/package.nix b/pkgs/by-name/te/testkube/package.nix
index fcdbd08bf58b..5f68c9c152c1 100644
--- a/pkgs/by-name/te/testkube/package.nix
+++ b/pkgs/by-name/te/testkube/package.nix
@@ -5,16 +5,16 @@
 }:
 buildGoModule rec {
   pname = "testkube";
-  version = "2.1.154";
+  version = "2.1.157";
 
   src = fetchFromGitHub {
     owner = "kubeshop";
     repo = "testkube";
     rev = "v${version}";
-    hash = "sha256-vMARS8EWEjkrBIx4rpTQjtEshMAsXLPBztCE+HbwuX8=";
+    hash = "sha256-VI03scPMjTwLEO07kFj9SwNx2NunBBrkxpwUiOZEkNE=";
   };
 
-  vendorHash = "sha256-Bzk4+sG5Zf2qZzVyw0xRx4WuZsWtHRasDtLnTyq++HY=";
+  vendorHash = "sha256-gfJBj4LJRe/bHjWOrNrANdPKQ57AFpwzojxg5y0/Y2o=";
 
   ldflags = [
     "-X main.version=${version}"
diff --git a/pkgs/by-name/te/testssl/package.nix b/pkgs/by-name/te/testssl/package.nix
index 378201c65909..cc9f1e1c8469 100644
--- a/pkgs/by-name/te/testssl/package.nix
+++ b/pkgs/by-name/te/testssl/package.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "testssl.sh";
-  version = "3.2.0";
+  version = "3.2.1";
 
   src = fetchFromGitHub {
     owner = "drwetter";
     repo = "testssl.sh";
     rev = "v${version}";
-    sha256 = "sha256-h/Z++Osrog8svIiUF53Cj7KYfKLnimueyp4N3/6bSiE=";
+    sha256 = "sha256-jVrEgTgAvu/N0Ijdl4Lya05Q/af7jGTlJBNiYt1X3tI=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/by-name/te/texlab/package.nix b/pkgs/by-name/te/texlab/package.nix
index 6f355bf2e975..2a0bb57ad6e1 100644
--- a/pkgs/by-name/te/texlab/package.nix
+++ b/pkgs/by-name/te/texlab/package.nix
@@ -14,17 +14,17 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "texlab";
-  version = "5.22.1";
+  version = "5.23.0";
 
   src = fetchFromGitHub {
     owner = "latex-lsp";
     repo = "texlab";
     tag = "v${version}";
-    hash = "sha256-ldbWENQa7ZiBSx1b1JgChIgadqzHEPvUyOdHVgW6MSU=";
+    hash = "sha256-bKjogyIPrP3USDHsI4m8u44T+WYF1kyDz8eRpZ4j/xU=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-omMisd2lY9BPIp/0yJ5Eg3pAIvwIWcEJE0ygTj2yqwo=";
+  cargoHash = "sha256-Dblnlh9l3tQI4IYWVZdpLz0Hyvg4SY6O5R3Naz515QQ=";
 
   outputs = [ "out" ] ++ lib.optional (!isCross) "man";
 
@@ -38,7 +38,7 @@ rustPlatform.buildRustPackage rec {
   # generate the man page
   postInstall = lib.optionalString (!isCross) ''
     # TexLab builds man page separately in CI:
-    # https://github.com/latex-lsp/texlab/blob/v5.21.0/.github/workflows/publish.yml#L110-L114
+    # https://github.com/latex-lsp/texlab/blob/v5.23.0/.github/workflows/publish.yml#L110-L114
     help2man --no-info "$out/bin/texlab" > texlab.1
     installManPage texlab.1
   '';
diff --git a/pkgs/by-name/te/texturepacker/package.nix b/pkgs/by-name/te/texturepacker/package.nix
index 389c685de710..9f6356da974a 100644
--- a/pkgs/by-name/te/texturepacker/package.nix
+++ b/pkgs/by-name/te/texturepacker/package.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "texturepacker";
-  version = "7.7.0";
+  version = "7.7.1";
 
   src = fetchurl {
     url = "https://www.codeandweb.com/download/texturepacker/${finalAttrs.version}/TexturePacker-${finalAttrs.version}.deb";
-    hash = "sha256-0HSKushYQXt13z619ZmZt0ADpQA20jmRrext1w6/Ghc=";
+    hash = "sha256-3zBPPH3LJLJEEMWV8eWP9yu5oq+3toexIcnLOi02yD8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/tf/tfautomv/package.nix b/pkgs/by-name/tf/tfautomv/package.nix
index 68b851ff5ae4..2f8732233263 100644
--- a/pkgs/by-name/tf/tfautomv/package.nix
+++ b/pkgs/by-name/tf/tfautomv/package.nix
@@ -6,19 +6,19 @@
 
 buildGoModule rec {
   pname = "tfautomv";
-  version = "0.6.2";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "busser";
     repo = "tfautomv";
     rev = "v${version}";
-    hash = "sha256-qUeIbHJqxGkt2esMm4w6fM52ZE16jWnxugVXxqBh1Qc=";
+    hash = "sha256-/bwCP8HViGQr3kLVQxHOg7bhNwe2D+wif96IdcHD4nk=";
   };
 
   # checks require unfree programs like terraform/terragrunt
   doCheck = false;
 
-  vendorHash = "sha256-BZ8IhVPxZTPQXBotFBrxV3dfwvst0te8R84I/urq3gY=";
+  vendorHash = "sha256-7BjytBX52xB8ThneBoSV6sEVcknQMs776D3nY7ckrBM=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/tf/tfk8s/tests/sample1/input.yaml b/pkgs/by-name/tf/tfk8s/tests/sample1/input.yaml
index 58ed0eb11d76..3c13923fd020 100644
--- a/pkgs/by-name/tf/tfk8s/tests/sample1/input.yaml
+++ b/pkgs/by-name/tf/tfk8s/tests/sample1/input.yaml
@@ -1,4 +1,3 @@
----
 apiVersion: v1
 kind: ConfigMap
 metadata:
diff --git a/pkgs/by-name/th/thinkfan/package.nix b/pkgs/by-name/th/thinkfan/package.nix
index 6d7360a69f30..39e62d816acd 100644
--- a/pkgs/by-name/th/thinkfan/package.nix
+++ b/pkgs/by-name/th/thinkfan/package.nix
@@ -59,7 +59,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl3Plus;
     homepage = "https://github.com/vmatare/thinkfan";
     maintainers = with lib.maintainers; [
-      domenkozar
       rnhmjoj
     ];
     platforms = lib.platforms.linux;
diff --git a/pkgs/by-name/th/thrift-ls/package.nix b/pkgs/by-name/th/thrift-ls/package.nix
index 4db75983afa6..2b2b276e847f 100644
--- a/pkgs/by-name/th/thrift-ls/package.nix
+++ b/pkgs/by-name/th/thrift-ls/package.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "thrift-ls";
-  version = "0.2.7";
+  version = "0.2.9";
 
   src = fetchFromGitHub {
     owner = "joyme123";
     repo = "thrift-ls";
     rev = "v${version}";
-    hash = "sha256-QX4ChPjHIY0GtjqmZH5Q4veC+VnMntYIQvwwSds8UUo=";
+    hash = "sha256-Gmqm1D+zcXtqFEraHjivqIqFz0AZCJd3pnH4zKE/jxw=";
   };
 
   vendorHash = "sha256-SGCJ12BxjFUQ7bnaNY0bvrrtm2qNNrwYKKfNEi1lPco=";
diff --git a/pkgs/by-name/ti/tic-80/package.nix b/pkgs/by-name/ti/tic-80/package.nix
index c214e5f9fb75..c42152b9f97b 100644
--- a/pkgs/by-name/ti/tic-80/package.nix
+++ b/pkgs/by-name/ti/tic-80/package.nix
@@ -9,49 +9,36 @@
   fetchFromGitHub,
   libGL,
   libGLU,
-  alsa-lib,
   libX11,
-  libICE,
-  libXi,
-  libXScrnSaver,
-  libXcursor,
-  libXinerama,
-  libXext,
-  libXxf86vm,
-  libXrandr,
-  libxkbcommon,
-  wayland,
-  wayland-protocols,
-  wayland-scanner,
-  dbus,
-  udev,
-  libdecor,
-  pipewire,
-  libpulseaudio,
+  janet,
+  lua5_3,
+  quickjs,
+  SDL2,
   # Whether to build TIC-80's "Pro" version, which is an incentive to support the project financially,
   # that enables some additional features. It is, however, fully open source.
   withPro ? false,
 }:
 let
-  major = "1";
-  minor = "1";
-  revision = "2837";
-  year = "2023";
+  # git rev-list HEAD --count
+  revision = "3016";
+  year = "2025";
 in
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   pname = "tic-80";
-  version = "${major}.${minor}.${revision}";
+  # use an untagged version until upstream tags a new version. We want
+  # 'PREFER_SYSTEM_LIBRARIES', and without it tic-80 won't build
+  version = "1.1-unstable-2025-05-26";
 
   src = fetchFromGitHub {
     owner = "nesbox";
     repo = "TIC-80";
-    rev = "v" + version;
-    hash = "sha256-p7OyuD/4KxAzylQDlXW681TvEZwKYDD4zq2KDRkcv48=";
-    # TIC-80 vendors its dependencies as submodules, so to use its current build system,
-    # we need to fetch them. Managing the dependencies ourselves would require a lot of
-    # changes in the build system, which doesn't seem worth it right now. In future versions,
-    # TIC-80 is switching to more modular CMake files, at which point we can reconsider.
+    rev = "663d43924abf6fd7620de6bf25c009ce5b30ab83";
+    hash = "sha256-UjBnXxYZ5gfk58sI1qek5fkKpJ7LzOVmrxdjVgONcXc=";
+    # TIC-80 vendors its dependencies as submodules. For the following dependencies,
+    # there are no (or no compatible) packages in nixpkgs yet, so we use the vendored
+    # ones as a fill-in: kubazip, wasm, squirrel, pocketpy, argparse, naett,
+    # sdlgpu, mruby.
     fetchSubmodules = true;
   };
 
@@ -61,7 +48,7 @@ stdenv.mkDerivation rec {
   # To avoid the awkward copyright range of "2017-1980", which would be caused by the
   # sandbox environment, hardcode the year of the release.
   postPatch = ''
-    substituteInPlace CMakeLists.txt \
+    substituteInPlace cmake/version.cmake \
       --replace-fail 'set(VERSION_REVISION 0)' 'set(VERSION_REVISION ${revision})' \
       --replace-fail 'string(TIMESTAMP VERSION_YEAR "%Y")' 'set(VERSION_YEAR "${year}")'
   '';
@@ -72,7 +59,20 @@ stdenv.mkDerivation rec {
     unset LD
   '';
 
-  cmakeFlags = lib.optionals withPro [ "-DBUILD_PRO=On" ] ++ [ "-DBUILD_SDLGPU=On" ];
+  cmakeFlags =
+    let
+      enableCmakeBool = (lib.flip lib.cmakeBool) true;
+    in
+    [
+      (lib.cmakeBool "BUILD_PRO" withPro)
+    ]
+    ++ (map enableCmakeBool [
+      "BUILD_STATIC"
+      "PREFER_SYSTEM_LIBRARIES"
+      "BUILD_SDLGPU"
+      "BUILD_WITH_ALL"
+    ]);
+
   nativeBuildInputs = [
     cmake
     curl
@@ -81,54 +81,15 @@ stdenv.mkDerivation rec {
     rake
   ];
   buildInputs = [
-    alsa-lib
-    dbus
-    libdecor
     libGL
     libGLU
-    libICE
-    libpulseaudio
     libX11
-    libXcursor
-    libXext
-    libXi
-    libXinerama
-    libxkbcommon
-    libXrandr
-    libXScrnSaver
-    libXxf86vm
-    pipewire
-    udev
-    wayland
-    wayland-protocols
-    wayland-scanner
+    janet
+    (lua5_3.withPackages (ps: [ ps.fennel ]))
+    quickjs
+    SDL2
   ];
 
-  # This package borrows heavily from pkgs/development/libraries/SDL2/default.nix
-  # because TIC-80 vendors SDL2, which means we need to take care and implement
-  # a similar environment in TIC-80's vendored copy of SDL2.
-  #
-  # SDL is weird in that instead of just dynamically linking with
-  # libraries when you `--enable-*` (or when `configure` finds) them
-  # it `dlopen`s them at runtime. In principle, this means it can
-  # ignore any missing optional dependencies like alsa, pulseaudio,
-  # some x11 libs, wayland, etc if they are missing on the system
-  # and/or work with wide array of versions of said libraries. In
-  # nixpkgs, however, we don't need any of that. Moreover, since we
-  # don't have a global ld-cache we have to stuff all the propagated
-  # libraries into rpath by hand or else some applications that use
-  # SDL API that requires said libraries will fail to start.
-  #
-  # You can grep SDL sources with `grep -rE 'SDL_(NAME|.*_SYM)'` to
-  # list the symbols used in this way.
-  postFixup =
-    let
-      rpath = lib.makeLibraryPath buildInputs;
-    in
-    ''
-      patchelf --set-rpath "$(patchelf --print-rpath $out/bin/tic80):${rpath}" "$out/bin/tic80"
-    '';
-
   meta = with lib; {
     description = "Free and open source fantasy computer for making, playing and sharing tiny games";
     longDescription = ''
@@ -151,7 +112,5 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     mainProgram = "tic80";
     maintainers = with maintainers; [ blinry ];
-    # /build/source/vendor/sdl2/src/audio/pipewire/SDL_pipewire.c:623:37: error: passing argument 1 of 'pw_node_enum_params' from incompatible pointer type [-Wincompatible-pointer-types]
-    broken = true;
   };
 }
diff --git a/pkgs/by-name/ti/tidb/package.nix b/pkgs/by-name/ti/tidb/package.nix
index c50105b6f17f..bb9ca45ab130 100644
--- a/pkgs/by-name/ti/tidb/package.nix
+++ b/pkgs/by-name/ti/tidb/package.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "tidb";
-  version = "8.5.1";
+  version = "8.5.2";
 
   src = fetchFromGitHub {
     owner = "pingcap";
     repo = "tidb";
     rev = "v${version}";
-    sha256 = "sha256-lJrW61FARZO1ll7Ln9mgCTZxGhcMlBaL6AeAVGgExIA=";
+    sha256 = "sha256-6fXkNG+cQh4HCZj3ApmLUA+n5ViSVOyABoCwx0K8Ja4=";
   };
 
-  vendorHash = "sha256-N8wTUPUPOR2Bc5CcPgNktcZpaxGL2WncJc4w0RwqVDk=";
+  vendorHash = "sha256-TLNa4ykczRronsKITPwVFOls8ql7xWXJvOibqYulC/Q=";
 
   ldflags = [
     "-X github.com/pingcap/tidb/pkg/parser/mysql.TiDBReleaseVersion=${version}"
diff --git a/pkgs/by-name/ti/tig/package.nix b/pkgs/by-name/ti/tig/package.nix
index 4926e7afeb63..184040d7ef9f 100644
--- a/pkgs/by-name/ti/tig/package.nix
+++ b/pkgs/by-name/ti/tig/package.nix
@@ -81,7 +81,6 @@ stdenv.mkDerivation rec {
     description = "Text-mode interface for git";
     maintainers = with maintainers; [
       bjornfor
-      domenkozar
       qknight
       globin
       ma27
diff --git a/pkgs/by-name/ti/tigerbeetle/package.nix b/pkgs/by-name/ti/tigerbeetle/package.nix
index 2b8bdffb4de9..f945349ac638 100644
--- a/pkgs/by-name/ti/tigerbeetle/package.nix
+++ b/pkgs/by-name/ti/tigerbeetle/package.nix
@@ -10,14 +10,14 @@ let
   platform =
     if stdenvNoCC.hostPlatform.isDarwin then "universal-macos" else stdenvNoCC.hostPlatform.system;
   hash = builtins.getAttr platform {
-    "universal-macos" = "sha256-1U24bdd4tvkzZmsRrrc4AUwxm9IhxHNAcPtxxX5ZO2w=";
-    "x86_64-linux" = "sha256-DCEqAePHkNj0bfgW5l83DyZG5+bre6C6C7AMbhxwytQ=";
-    "aarch64-linux" = "sha256-jKpt7hqCbgcBv9npR7IhryaCgrdOlX40Icq9T10/Af0=";
+    "universal-macos" = "sha256-47glX5O8MALXv8JFrbIGaj6LKJyRuZcR8yapwKmzWbc=";
+    "x86_64-linux" = "sha256-5HIxbswZV94Tem8LUVtGcx8cb00J5qGLBsNZR077Bm4=";
+    "aarch64-linux" = "sha256-wXiSL3hJ6yulrGagb5TflJSWujAQqpUGZtz+GJWcy0M=";
   };
 in
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "tigerbeetle";
-  version = "0.16.42";
+  version = "0.16.44";
 
   src = fetchzip {
     url = "https://github.com/tigerbeetle/tigerbeetle/releases/download/${finalAttrs.version}/tigerbeetle-${platform}.zip";
diff --git a/pkgs/by-name/ti/tile38/package.nix b/pkgs/by-name/ti/tile38/package.nix
index dabf52b762f4..9615e7b6624d 100644
--- a/pkgs/by-name/ti/tile38/package.nix
+++ b/pkgs/by-name/ti/tile38/package.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "tile38";
-  version = "1.34.4";
+  version = "1.35.0";
 
   src = fetchFromGitHub {
     owner = "tidwall";
     repo = "tile38";
     tag = version;
-    hash = "sha256-TLVFFgT5lxOLhv1RBS09DCcZAozkcHzIBlJSWt1ztB4=";
+    hash = "sha256-n17W/JOtVV6Mjhp81xx25j6GUbR9WCd3JLh9voyMeC0=";
   };
 
-  vendorHash = "sha256-geXYLeJf/u+8RD7Slr2x+J6zABkWSIfhxKLxZVF/icU=";
+  vendorHash = "sha256-/EgUacA9xTUw3e8208NWxhaeZ/KgHLSnxy/fIqC+gZE=";
 
   subPackages = [
     "cmd/tile38-cli"
diff --git a/pkgs/by-name/ti/tiledb/package.nix b/pkgs/by-name/ti/tiledb/package.nix
index e31a44de573c..8b68590dfb6f 100644
--- a/pkgs/by-name/ti/tiledb/package.nix
+++ b/pkgs/by-name/ti/tiledb/package.nix
@@ -8,7 +8,7 @@
   bzip2,
   zstd,
   spdlog,
-  tbb_2022_0,
+  tbb_2022,
   openssl,
   boost,
   libpqxx,
@@ -32,7 +32,7 @@ let
     cp -r ${rapidcheck.dev}/* $out
   '';
   catch2 = catch2_3;
-  tbb = tbb_2022_0;
+  tbb = tbb_2022;
 in
 stdenv.mkDerivation rec {
   pname = "tiledb";
diff --git a/pkgs/by-name/ti/tilt/assets.nix b/pkgs/by-name/ti/tilt/assets.nix
index 2991c2bfcd27..31b4ac1e7874 100644
--- a/pkgs/by-name/ti/tilt/assets.nix
+++ b/pkgs/by-name/ti/tilt/assets.nix
@@ -68,7 +68,7 @@ stdenvNoCC.mkDerivation {
     dontInstall = true;
 
     outputHashAlgo = "sha256";
-    outputHash = "sha256-1poTBB9cm0EHeIvXhan6/kaxr22LXvhHD4Y+JBocioE=";
+    outputHash = "sha256-twc8mtBPizQrA9kRtQpSXG8Q404sbGVs5ay4MHitPgg=";
     outputHashMode = "recursive";
   };
 
diff --git a/pkgs/by-name/ti/tilt/package.nix b/pkgs/by-name/ti/tilt/package.nix
index 77ffc410c05c..bd43271ff243 100644
--- a/pkgs/by-name/ti/tilt/package.nix
+++ b/pkgs/by-name/ti/tilt/package.nix
@@ -9,13 +9,13 @@ let
       running in development environment and try to serve assets from the
       source tree, which is not there once build completes.
     */
-    version = "0.33.21";
+    version = "0.35.0";
 
     src = fetchFromGitHub {
       owner = "tilt-dev";
       repo = "tilt";
-      rev = "v${version}";
-      hash = "sha256-3LFsTaz47QAIDGId/Tl3G7xP5b9gc25X+ZeMaVhXf8w=";
+      tag = "v${version}";
+      hash = "sha256-IXmycwZFeDbCNFtLh126FvVSuugFoElj1TfU5Bdl5rc=";
     };
   };
 
diff --git a/pkgs/by-name/ti/timetrap/package.nix b/pkgs/by-name/ti/timetrap/package.nix
index 9e172d7e1866..25b5ef5c76bc 100644
--- a/pkgs/by-name/ti/timetrap/package.nix
+++ b/pkgs/by-name/ti/timetrap/package.nix
@@ -1,6 +1,7 @@
 {
   stdenv,
   lib,
+  ruby_3_4,
   bundlerEnv,
   bundlerApp,
   bundlerUpdateScript,
@@ -8,7 +9,7 @@
 }:
 
 let
-  ttBundlerApp = bundlerApp {
+  ttBundlerApp = (bundlerApp.override { ruby = ruby_3_4; }) {
     pname = "timetrap";
     gemdir = ./.;
     exes = [
@@ -19,7 +20,7 @@ let
     passthru.updateScript = bundlerUpdateScript "timetrap";
   };
 
-  ttGem = bundlerEnv {
+  ttGem = (bundlerEnv.override { ruby = ruby_3_4; }) {
     pname = "timetrap";
     gemdir = ./.;
   };
diff --git a/pkgs/by-name/ti/tinfoil-cli/package.nix b/pkgs/by-name/ti/tinfoil-cli/package.nix
index c82bddc2778d..4e078bea486e 100644
--- a/pkgs/by-name/ti/tinfoil-cli/package.nix
+++ b/pkgs/by-name/ti/tinfoil-cli/package.nix
@@ -7,13 +7,13 @@
 
 buildGoModule (finalAttrs: {
   pname = "tinfoil-cli";
-  version = "0.0.21";
+  version = "0.0.22";
 
   src = fetchFromGitHub {
     owner = "tinfoilsh";
     repo = "tinfoil-cli";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-wgXiu5RcWPWINQ4iepxncU6lpJOedV722uNmGliCuW0=";
+    hash = "sha256-6gWzAd1EgKXtwqxThEi4fpL8qUpFX7YqKfze1ybLlsM=";
   };
 
   vendorHash = "sha256-MriCtyjWr4tJ9H+2z4KmnZw7ssqOEM3GL9ZGxUTm11k=";
diff --git a/pkgs/by-name/ti/tint/package.nix b/pkgs/by-name/ti/tint/package.nix
new file mode 100644
index 000000000000..525070c414e4
--- /dev/null
+++ b/pkgs/by-name/ti/tint/package.nix
@@ -0,0 +1,40 @@
+{
+  lib,
+  buildGoModule,
+  fetchFromGitHub,
+  versionCheckHook,
+}:
+
+buildGoModule rec {
+  pname = "tint";
+  version = "0.1.6";
+
+  src = fetchFromGitHub {
+    owner = "ashish0kumar";
+    repo = "tint";
+    tag = "v${version}";
+    hash = "sha256-TZYAcs6h4Fv0XpUqzgCcAF5cHGaVKMMCJ6MTAH6C6Jo=";
+  };
+
+  vendorHash = null;
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X main.version=${version}"
+  ];
+
+  doInstallCheck = true;
+  nativeInstallCheckInputs = [
+    versionCheckHook
+  ];
+
+  meta = {
+    description = "Command-line tool to recolor images using theme palettes";
+    homepage = "https://github.com/ashish0kumar/tint";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ ashish0kumar ];
+    mainProgram = "tint";
+    platforms = lib.platforms.unix;
+  };
+}
diff --git a/pkgs/by-name/ti/tintin/package.nix b/pkgs/by-name/ti/tintin/package.nix
index 8e5f13f43d8c..79e308f5415c 100644
--- a/pkgs/by-name/ti/tintin/package.nix
+++ b/pkgs/by-name/ti/tintin/package.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tintin";
-  version = "2.02.42";
+  version = "2.02.51";
 
   src = fetchFromGitHub {
     owner = "scandum";
     repo = "tintin";
     rev = version;
-    hash = "sha256-8+tYI9+yAIEqByr6kDEEs2hqtIVKwC9bgWssXq24dbg=";
+    hash = "sha256-QU9Q2VbJ44NHm//LTwDoHQIUV/LnLM94I7GtoCxL3js=";
   };
 
   buildInputs = [
diff --git a/pkgs/by-name/ti/tio/package.nix b/pkgs/by-name/ti/tio/package.nix
index 4fdf3dc622da..e8ea395f5a9a 100644
--- a/pkgs/by-name/ti/tio/package.nix
+++ b/pkgs/by-name/ti/tio/package.nix
@@ -28,13 +28,13 @@ stdenv.mkDerivation (finalAttrs: {
     inih
     lua
     glib
+    bash-completion
   ];
 
   nativeBuildInputs = [
     meson
     ninja
     pkg-config
-    bash-completion
   ];
 
   meta = with lib; {
diff --git a/pkgs/by-name/tl/tlsrpt-reporter/package.nix b/pkgs/by-name/tl/tlsrpt-reporter/package.nix
new file mode 100644
index 000000000000..bbd2a6e94c4a
--- /dev/null
+++ b/pkgs/by-name/tl/tlsrpt-reporter/package.nix
@@ -0,0 +1,74 @@
+{
+  lib,
+  asciidoctor,
+  automake,
+  installShellFiles,
+  python3,
+  fetchFromGitHub,
+  fetchpatch,
+  nixosTests,
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "tlsrpt-reporter";
+  version = "0.5.0";
+  pyproject = true;
+
+  outputs = [
+    "out"
+    "man"
+  ];
+
+  src = fetchFromGitHub {
+    owner = "sys4";
+    repo = "tlsrpt-reporter";
+    tag = "v${version}";
+    hash = "sha256-IH8hJX9l+YonqOuszcMome4mjdIaedgGNIptxTyH1ng=";
+  };
+
+  patches = [
+    (fetchpatch {
+      # https://github.com/sys4/tlsrpt-reporter/issues/43
+      url = "https://github.com/sys4/tlsrpt-reporter/commit/32d00c13508dd7f9695b77e253e88c88dc838fbd.patch";
+      hash = "sha256-RUNF86RkTu6DLv6/7eaY//fFB8kGzmZxQ70kdNpLxj8=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    asciidoctor
+    automake
+    installShellFiles
+  ];
+
+  build-system = [
+    python3.pkgs.hatchling
+  ];
+
+  postBuild = ''
+    make -C doc
+  '';
+
+  postInstall = ''
+    installManPage doc/*.1
+  '';
+
+  nativeCheckInputs = [
+    python3.pkgs.pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "tlsrpt_reporter"
+  ];
+
+  passthru.tests = {
+    inherit (nixosTests) tlsrpt;
+  };
+
+  meta = {
+    description = "Application suite to receive TLSRPT datagrams and to generate and deliver TLSRPT reports";
+    homepage = "https://github.com/sys4/tlsrpt-reporter";
+    changelog = "https://github.com/sys4/tlsrpt-reporter/blob/${src.tag}/CHANGELOG.md";
+    license = lib.licenses.gpl3Only;
+    maintainers = with lib.maintainers; [ hexa ];
+  };
+}
diff --git a/pkgs/by-name/to/todoman/package.nix b/pkgs/by-name/to/todoman/package.nix
index 3d5cdc5774be..a45aa5b5b9e5 100644
--- a/pkgs/by-name/to/todoman/package.nix
+++ b/pkgs/by-name/to/todoman/package.nix
@@ -51,6 +51,24 @@ python3.pkgs.buildPythonApplication rec {
     pytz
   ];
 
+  outputs = [
+    "out"
+    "doc"
+    "man"
+  ];
+
+  sphinxBuilders = [
+    "singlehtml"
+    "man"
+  ];
+
+  preInstallSphinx = ''
+    # remove invalid outputs for manpages
+    rm .sphinx/man/man/_static/jquery.js
+    rm .sphinx/man/man/_static/_sphinx_javascript_frameworks_compat.js
+    rmdir .sphinx/man/man/_static/
+  '';
+
   postInstall = ''
     installShellCompletion --bash contrib/completion/bash/_todo
     substituteInPlace contrib/completion/zsh/_todo --replace "jq " "${lib.getExe jq} "
diff --git a/pkgs/by-name/op/opentofu-ls/package.nix b/pkgs/by-name/to/tofu-ls/package.nix
similarity index 64%
rename from pkgs/by-name/op/opentofu-ls/package.nix
rename to pkgs/by-name/to/tofu-ls/package.nix
index 2dc4704d2302..70e65de3cf17 100644
--- a/pkgs/by-name/op/opentofu-ls/package.nix
+++ b/pkgs/by-name/to/tofu-ls/package.nix
@@ -6,22 +6,23 @@
   unstableGitUpdater,
 }:
 
-buildGoModule {
-  pname = "opentofu-ls";
-  version = "0-unstable-2025-02-26";
+buildGoModule (finalAttrs: {
+  pname = "tofu-ls";
+  version = "0.0.2";
 
   src = fetchFromGitHub {
     owner = "opentofu";
-    repo = "opentofu-ls";
-    rev = "978a5fb56519a9f17833709119d2eb5fe604784e";
-    hash = "sha256-xBJkIuYqqUan2fo+s426vEIr5Qri8dM5arJACvKFjws=";
+    repo = "tofu-ls";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-ioUhESBnGhVxeJQ+0lZ4tjfCWbc3mS2o584EXuXIqso=";
   };
 
-  vendorHash = "sha256-CrbLqcwPXHB80m4VhqrC8j5VhU2BUeuNy87+bc+Bq6I=";
+  vendorHash = "sha256-rUvqIebAhnR9b/RAiW8Md/D8NgDDKro1XodXSCtstjA=";
 
   ldflags = [
     "-s"
     "-w"
+    "-X 'main.rawVersion=${finalAttrs.version}'"
   ];
 
   checkFlags =
@@ -41,15 +42,19 @@ buildGoModule {
 
   __darwinAllowLocalNetworking = true;
 
+  nativeInstallCheckInputs = [ versionCheckHook ];
+  doInstallCheck = true;
+  versionCheckProgramArg = "--version";
+
   passthru = {
     updateScript = unstableGitUpdater { };
   };
 
   meta = {
     description = "OpenTofu Language Server";
-    homepage = "https://github.com/opentofu/opentofu-ls";
+    homepage = "https://github.com/opentofu/tofu-ls";
     license = lib.licenses.mpl20;
     maintainers = with lib.maintainers; [ GaetanLepage ];
-    mainProgram = "opentofu-ls";
+    mainProgram = "tofu-ls";
   };
-}
+})
diff --git a/pkgs/by-name/to/topgrade/package.nix b/pkgs/by-name/to/topgrade/package.nix
index 803950787fb6..37cbb653f36a 100644
--- a/pkgs/by-name/to/topgrade/package.nix
+++ b/pkgs/by-name/to/topgrade/package.nix
@@ -8,17 +8,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "topgrade";
-  version = "16.0.3";
+  version = "16.0.4";
 
   src = fetchFromGitHub {
     owner = "topgrade-rs";
     repo = "topgrade";
     rev = "v${version}";
-    hash = "sha256-TLeShvDdVqFBIStdRlgF1Zmi8FwS9pmeQ9qOu63nq/E=";
+    hash = "sha256-b/xzmC49ETGtcf9ekrSkq75cKxSL4ZrvKPkparwz6zU=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-Tu4exuUhsk9hGDreQWkPrYvokZh0z6DQSQnREO40Qwc=";
+  cargoHash = "sha256-d6jX+3ZcCswhKy5SsSpvXZL9el70+OyIa7lYQ3B/o8M=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/by-name/to/topicctl/package.nix b/pkgs/by-name/to/topicctl/package.nix
index f1090b3701e6..8c3f8add607d 100644
--- a/pkgs/by-name/to/topicctl/package.nix
+++ b/pkgs/by-name/to/topicctl/package.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "topicctl";
-  version = "1.20.0";
+  version = "1.20.1";
 
   src = fetchFromGitHub {
     owner = "segmentio";
     repo = "topicctl";
     rev = "v${version}";
-    sha256 = "sha256-QY3+Il/U0Y1rlRS2ptKIprbaGOQV71r6HsSr35gB9FY=";
+    sha256 = "sha256-9bp9dGpJYYgOqNcqOWWaf1ZKVewiFm02af6oZo5F6iM=";
   };
 
   vendorHash = "sha256-M/lNhGD9zNmwkzTAjp0lbAeliNpLOCVJbOG16N76QL4=";
diff --git a/pkgs/by-name/to/tor-browser/package.nix b/pkgs/by-name/to/tor-browser/package.nix
index 8982061c2f66..86d18be0fa64 100644
--- a/pkgs/by-name/to/tor-browser/package.nix
+++ b/pkgs/by-name/to/tor-browser/package.nix
@@ -60,6 +60,8 @@
   # Whether to use graphene-hardened-malloc
   useHardenedMalloc ? null,
 
+  # Whether to use IPC for communicating with Tor
+  useIPCTorService ? false,
   # Whether to disable multiprocess support
   disableContentSandbox ? false,
 
@@ -261,11 +263,13 @@ lib.warnIf (useHardenedMalloc != null)
         lockPref("extensions.torlauncher.torrc-defaults_path", "$TBB_IN_STORE/TorBrowser/Data/Tor/torrc-defaults");
         lockPref("extensions.torlauncher.tor_path", "$TBB_IN_STORE/TorBrowser/Tor/tor");
 
-        // Insist on using IPC for communicating with Tor
+        // Optionally use IPC for communicating with Tor
         //
-        // Defaults to creating \$XDG_RUNTIME_DIR/Tor/{socks,control}.socket
-        lockPref("extensions.torlauncher.control_port_use_ipc", true);
-        lockPref("extensions.torlauncher.socks_port_use_ipc", true);
+        // Sockets are created at \$XDG_RUNTIME_DIR/Tor/{socks,control}.socket
+        ${lib.optionalString useIPCTorService ''
+          lockPref("extensions.torlauncher.control_port_use_ipc", true);
+          lockPref("extensions.torlauncher.socks_port_use_ipc", true);
+        ''}
 
         // Optionally disable multiprocess support.  We always set this to ensure that
         // toggling the pref takes effect.
diff --git a/pkgs/by-name/to/touchosc/package.nix b/pkgs/by-name/to/touchosc/package.nix
index 2ccad4bc7d82..8026c643be17 100644
--- a/pkgs/by-name/to/touchosc/package.nix
+++ b/pkgs/by-name/to/touchosc/package.nix
@@ -46,7 +46,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "touchosc";
-  version = "1.4.0.230";
+  version = "1.4.3.234";
 
   suffix =
     {
@@ -60,9 +60,9 @@ stdenv.mkDerivation rec {
     url = "https://hexler.net/pub/${pname}/${pname}-${version}-${suffix}.deb";
     hash =
       {
-        aarch64-linux = "sha256-RXv5j542pLApvp5y9EG6I/WWywoCFZx/F71mKusBSv4=";
-        armv7l-linux = "sha256-5ySPBbB51tQjrhLpHzoEb5EPDv4nDGJL/hKQOSl3/YI=";
-        x86_64-linux = "sha256-v7ePfkKxM/yu3KVQfDaK3dMij2TNfLY34ox5/dHJgGI=";
+        aarch64-linux = "sha256-yeDlc9yM8N3gfCRzABijlrAO/JB20gWah6lqpucX1mQ=";
+        armv7l-linux = "sha256-DtnWZJ+FgKjwfbZ0FctiWtOANPg2A/k4gqS6l/JFe6Q=";
+        x86_64-linux = "sha256-0P+DTR8u1SJzF8t3Hm1TC/N9KEbLtv4eZFZH9sKQ1lw=";
       }
       .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
   };
diff --git a/pkgs/by-name/tr/tracee/package.nix b/pkgs/by-name/tr/tracee/package.nix
index 2fa919eb5c13..8d31cd035687 100644
--- a/pkgs/by-name/tr/tracee/package.nix
+++ b/pkgs/by-name/tr/tracee/package.nix
@@ -24,7 +24,7 @@ buildGoModule rec {
   # src = /home/tim/repos/tracee;
   src = fetchFromGitHub {
     owner = "aquasecurity";
-    repo = pname;
+    repo = "tracee";
     # project has branches and tags of the same name
     tag = "v${version}";
     hash = "sha256-9uP0yoW+xRYv7wHuCfUMU8B2oTQjiSW5p/Ty76ni2wo=";
diff --git a/pkgs/by-name/tr/trealla/package.nix b/pkgs/by-name/tr/trealla/package.nix
index e8d8753d0b06..952a6e9206e7 100644
--- a/pkgs/by-name/tr/trealla/package.nix
+++ b/pkgs/by-name/tr/trealla/package.nix
@@ -23,13 +23,13 @@ assert lib.elem lineEditingLibrary [
 ];
 stdenv.mkDerivation (finalAttrs: {
   pname = "trealla";
-  version = "2.71.29";
+  version = "2.73.3";
 
   src = fetchFromGitHub {
     owner = "trealla-prolog";
     repo = "trealla";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-i3rXmquVDfOv02q7XiY50SOeJeFBGGfJH4WsNYALk28=";
+    hash = "sha256-CaSn2WErUMutdlBf+Clck5srwlUhrF6S+j0IpUMh3i0=";
   };
 
   postPatch = ''
diff --git a/pkgs/by-name/tr/treesheets/package.nix b/pkgs/by-name/tr/treesheets/package.nix
index 9f38024f1abb..f804e96e2e6c 100644
--- a/pkgs/by-name/tr/treesheets/package.nix
+++ b/pkgs/by-name/tr/treesheets/package.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "treesheets";
-  version = "0-unstable-2025-06-02";
+  version = "0-unstable-2025-06-09";
 
   src = fetchFromGitHub {
     owner = "aardappel";
     repo = "treesheets";
-    rev = "1e6604b6257b41ba518907bfa21c24fa8245c46f";
-    hash = "sha256-zSZ7tMjG5/kSzHifMSA7Wsypv0/x+Oir6jx0I5Fyk2c=";
+    rev = "6a1cd3b0eec3f9048c21cc7bfca52ebeaa1e29d4";
+    hash = "sha256-5zAOnz5+CCJzlUNK9DhIFy44OE4q+ZZq6AGY40IpZQ8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/tr/trelby/package.nix b/pkgs/by-name/tr/trelby/package.nix
new file mode 100644
index 000000000000..a8838200acab
--- /dev/null
+++ b/pkgs/by-name/tr/trelby/package.nix
@@ -0,0 +1,52 @@
+{
+  lib,
+  python3Packages,
+  fetchFromGitHub,
+  wrapGAppsHook3,
+  gtk3,
+  glib,
+  gsettings-desktop-schemas,
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "trelby";
+  version = "2.4.15";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "trelby";
+    repo = "trelby";
+    tag = version;
+    hash = "sha256-CTasd+YlRHjYUVepZf2RDOuw1p0OdQfJENZamSmXXFw=";
+  };
+
+  build-system = [
+    python3Packages.setuptools
+  ];
+
+  nativeBuildInputs = [
+    wrapGAppsHook3
+  ];
+
+  buildInputs = [
+    glib
+    gsettings-desktop-schemas
+    gtk3
+  ];
+
+  dependencies = with python3Packages; [
+    lxml
+    reportlab
+    wxpython
+  ];
+
+  meta = {
+    description = "Free, multiplatform, feature-rich screenwriting program";
+    homepage = "www.trelby.org";
+    downloadPage = "https://github.com/trelby/trelby";
+    mainProgram = "trelby";
+    license = lib.licenses.gpl2Only;
+    platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ isotoxal ];
+  };
+}
diff --git a/pkgs/by-name/tr/trickest-cli/package.nix b/pkgs/by-name/tr/trickest-cli/package.nix
index 2189f9175021..be9c68543242 100644
--- a/pkgs/by-name/tr/trickest-cli/package.nix
+++ b/pkgs/by-name/tr/trickest-cli/package.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "trickest-cli";
-  version = "2.1.0";
+  version = "2.1.1";
 
   src = fetchFromGitHub {
     owner = "trickest";
     repo = "trickest-cli";
     tag = "v${version}";
-    hash = "sha256-EyUeYlWQWCGmCoQpuYXa9h93rXmTRmtSqIDrQRrTQgA=";
+    hash = "sha256-43rLYXvAIr3wWImNLSHI/2g8AyxD557ZivWpC3he60o=";
   };
 
   vendorHash = "sha256-Ae0fNzYOAeCMrNFVhw4VvG/BkOMcguIMiBvLGt7wxEo=";
diff --git a/pkgs/by-name/tr/trilium-next-desktop/package.nix b/pkgs/by-name/tr/trilium-next-desktop/package.nix
index dae3d5de6729..d51666362caf 100644
--- a/pkgs/by-name/tr/trilium-next-desktop/package.nix
+++ b/pkgs/by-name/tr/trilium-next-desktop/package.nix
@@ -5,7 +5,7 @@
   fetchurl,
   makeBinaryWrapper,
   # use specific electron since it has to load a compiled module
-  electron_35,
+  electron_36,
   autoPatchelfHook,
   makeDesktopItem,
   copyDesktopItems,
@@ -15,7 +15,7 @@
 
 let
   pname = "trilium-next-desktop";
-  version = "0.93.0";
+  version = "0.95.0";
 
   triliumSource = os: arch: sha256: {
     url = "https://github.com/TriliumNext/Notes/releases/download/v${version}/TriliumNextNotes-v${version}-${os}-${arch}.zip";
@@ -26,10 +26,10 @@ let
   darwinSource = triliumSource "macos";
 
   # exposed like this for update.sh
-  x86_64-linux.sha256 = "02cz98bgv8l5c96irmxla93h9vpxpfh2l25q5h4r1wcyg00k0gqc";
-  aarch64-linux.sha256 = "0ahkskdaggff34zn6ml8s3v3ig8fq3isrcrckpvy9acyhk2nm924";
-  x86_64-darwin.sha256 = "0p1db3bij5pipwjjh0vyscvd6anq1qriny7y7yxx2sviksgyl0i8";
-  aarch64-darwin.sha256 = "0fkqlxssrdz2g63yhs1l74h037xac04y3dng7kqnrzhn740p2wjc";
+  x86_64-linux.sha256 = "1lykzd1spvl6x6xm2qhw5bzcs9pbcars686gwbirscr53fb7q841";
+  aarch64-linux.sha256 = "0bxrsj1g8dgg9rd6s0aj9jm2w6nk9yn6b1xgiab8kn298p3iqz64";
+  x86_64-darwin.sha256 = "16cv52c6jn5ah5ccdfxffwrmf6vz8d4q4rj0v5ny4m0g0al78isg";
+  aarch64-darwin.sha256 = "0v388frd4skpilxn8i5isd9xgn0qs9zszfs3h75q3qpx4xz355ps";
 
   sources = {
     x86_64-linux = linuxSource "x64" x86_64-linux.sha256;
@@ -100,22 +100,18 @@ let
       cp -r ./* "$out/share/trilium/"
       rm $out/share/trilium/{*.so*,trilium,chrome_crashpad_handler,chrome-sandbox}
 
-      # Rebuild the ASAR archive, hardcoding the resourcesPath
+      # Rebuild the ASAR archive to patchelf native module.
       tmp=$(mktemp -d)
       asar extract $out/share/trilium/resources/app.asar $tmp
       rm $out/share/trilium/resources/app.asar
 
-      for f in "src/services/utils.js"; do
-        substituteInPlace $tmp/$f \
-          --replace-fail "process.resourcesPath" "'$out/share/trilium/resources'"
-      done
       autoPatchelf $tmp
-      cp $tmp/src/public/icon.png $out/share/icons/hicolor/512x512/apps/trilium.png
+      cp $tmp/public/assets/icon.png $out/share/icons/hicolor/512x512/apps/trilium.png
 
       asar pack $tmp/ $out/share/trilium/resources/app.asar
       rm -rf $tmp
 
-      makeWrapper ${lib.getExe electron_35} $out/bin/trilium \
+      makeWrapper ${lib.getExe electron_36} $out/bin/trilium \
         "''${gappsWrapperArgs[@]}" \
         --set-default ELECTRON_IS_DEV 0 \
         --add-flags $out/share/trilium/resources/app.asar
diff --git a/pkgs/by-name/tr/trilium-next-server/0001-Use-console-logger-instead-of-rolling-files.patch b/pkgs/by-name/tr/trilium-next-server/0001-Use-console-logger-instead-of-rolling-files.patch
deleted file mode 100644
index e6f33b51bf24..000000000000
--- a/pkgs/by-name/tr/trilium-next-server/0001-Use-console-logger-instead-of-rolling-files.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff --git a/src/services/log.js b/src/services/log.js
-index 2840c185a..7fb16dd08 100644
---- a/src/services/log.js
-+++ b/src/services/log.js
-@@ -3,9 +3,6 @@ import fs from "fs";
- import dataDir from "./data_dir.js";
- import cls from "./cls.js";
- import { isWindows } from "./utils.js";
--if (!fs.existsSync(dataDir.LOG_DIR)) {
--    fs.mkdirSync(dataDir.LOG_DIR, 0o700);
--}
- let logFile;
- const SECOND = 1000;
- const MINUTE = 60 * SECOND;
-@@ -24,7 +21,6 @@ function initLogFile() {
-     if (logFile) {
-         logFile.end();
-     }
--    logFile = fs.createWriteStream(path, { flags: "a" });
- }
- function checkDate(millisSinceMidnight) {
-     if (millisSinceMidnight >= DAY) {
-@@ -40,7 +36,6 @@ function log(str) {
-     }
-     let millisSinceMidnight = Date.now() - todaysMidnight.getTime();
-     millisSinceMidnight = checkDate(millisSinceMidnight);
--    logFile.write(`${formatTime(millisSinceMidnight)} ${str}${NEW_LINE}`);
-     console.log(str);
- }
- function info(message) {
diff --git a/pkgs/by-name/tr/trilium-next-server/package.nix b/pkgs/by-name/tr/trilium-next-server/package.nix
index 1c7fb0d25739..327f462c9287 100644
--- a/pkgs/by-name/tr/trilium-next-server/package.nix
+++ b/pkgs/by-name/tr/trilium-next-server/package.nix
@@ -7,12 +7,12 @@
 }:
 
 let
-  version = "0.93.0";
+  version = "0.95.0";
 
   serverSource_x64.url = "https://github.com/TriliumNext/Notes/releases/download/v${version}/TriliumNextNotes-Server-v${version}-linux-x64.tar.xz";
-  serverSource_x64.sha256 = "0gm0j8w16ynwb1rsgxd7g4pa4vm47728d8393bazppxgf91gnh3d";
+  serverSource_x64.sha256 = "1rjl38i6l894kwpmc925amf9zbwyjlc4sqh3skm1f13vhv9pj9dx";
   serverSource_arm64.url = "https://github.com/TriliumNext/Notes/releases/download/v${version}/TriliumNextNotes-Server-v${version}-linux-arm64.tar.xz";
-  serverSource_arm64.sha256 = "0in1y3zsx4mni02lq17q0camn07p7fngl1qjmjnhkps7pr799d2q";
+  serverSource_arm64.sha256 = "1rpzc13vdp5b3iwwc1l6h78nb5iairlxbflwvjwhy1149lpqnn8m";
 
   serverSource =
     if stdenv.hostPlatform.isx86_64 then
@@ -28,11 +28,6 @@ stdenv.mkDerivation {
 
   src = fetchurl serverSource;
 
-  patches = [
-    # patch logger to use console instead of rolling files
-    ./0001-Use-console-logger-instead-of-rolling-files.patch
-  ];
-
   nativeBuildInputs = [
     autoPatchelfHook
     makeBinaryWrapper
@@ -53,10 +48,7 @@ stdenv.mkDerivation {
 
     makeWrapper "$out/share/trilium-server/node/bin/node" "$out/bin/trilium-server" \
       --chdir "$out/share/trilium-server" \
-      --add-flags "src/main"
-
-    # Clean up broken symlinks and build tools.
-    rm -r "$out"/share/trilium-server/node_modules/{@npmcli,@rollup,@babel}
+      --add-flags "main.cjs"
 
     runHook postInstall
   '';
diff --git a/pkgs/by-name/tr/trino-cli/package.nix b/pkgs/by-name/tr/trino-cli/package.nix
index b0a116e1d5be..810b07362edc 100644
--- a/pkgs/by-name/tr/trino-cli/package.nix
+++ b/pkgs/by-name/tr/trino-cli/package.nix
@@ -8,7 +8,7 @@
 
 stdenv.mkDerivation rec {
   pname = "trino-cli";
-  version = "475";
+  version = "476";
 
   jarfilename = "${pname}-${version}-executable.jar";
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://maven/io/trino/${pname}/${version}/${jarfilename}";
-    sha256 = "sha256-NGfouDTSk1M51pEkQbDCzFGCe3jpZd/8FYGGyBzsArI=";
+    sha256 = "sha256-/k6cf7VpzWdnOvoWIpRfYwjh5ZvbglQZNSuAiHZhdXs=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/by-name/tr/tryton/package.nix b/pkgs/by-name/tr/tryton/package.nix
index 3fbd4f2651ac..c73878e937d7 100644
--- a/pkgs/by-name/tr/tryton/package.nix
+++ b/pkgs/by-name/tr/tryton/package.nix
@@ -20,12 +20,12 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "tryton";
-  version = "7.6.1";
+  version = "7.6.2";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-IvLLxExQobugFkdByuKIK59jILALj3SniCcQp+OyZ3c=";
+    hash = "sha256-nnXq29ostjbpWmHLbpifzIFB8vBc7O3XRDq4Odp4HNk=";
   };
 
   build-system = [ python3Packages.setuptools ];
diff --git a/pkgs/by-name/ts/ts-warp/package.nix b/pkgs/by-name/ts/ts-warp/package.nix
index 653b0856ac80..d2481c1295b0 100644
--- a/pkgs/by-name/ts/ts-warp/package.nix
+++ b/pkgs/by-name/ts/ts-warp/package.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "ts-warp";
-  version = "1.5.7";
+  version = "1.5.8";
 
   src = fetchFromGitHub {
     owner = "mezantrop";
     repo = "ts-warp";
-    rev = finalAttrs.version;
-    hash = "sha256-bFF/xVI6K2pDMQazJ3E/lAMfrAMbb0cCVUgbfoFxd4Y=";
+    tag = finalAttrs.version;
+    hash = "sha256-eHw8OUBlrptLzMhG4udjYH/WIXbu+3G9IVLUwO4JlpU=";
   };
 
   nativeBuildInputs = [ which ];
diff --git a/pkgs/by-name/ts/ts_query_ls/package.nix b/pkgs/by-name/ts/ts_query_ls/package.nix
index ef8b5b4dca83..7963eea57575 100644
--- a/pkgs/by-name/ts/ts_query_ls/package.nix
+++ b/pkgs/by-name/ts/ts_query_ls/package.nix
@@ -6,7 +6,7 @@
 }:
 let
   pname = "ts_query_ls";
-  version = "3.2.0";
+  version = "3.3.0";
 in
 rustPlatform.buildRustPackage {
   inherit pname version;
@@ -15,13 +15,13 @@ rustPlatform.buildRustPackage {
     owner = "ribru17";
     repo = "ts_query_ls";
     rev = "v${version}";
-    hash = "sha256-sr9uSjSbX/Af/g8OSrSMQXCpObxTblZw7qe5OTfqXvA=";
+    hash = "sha256-CtR5NDvpE8d5KlmATEwk9LVtVHB6NfGMEtT50s1HsWI=";
   };
 
   nativeBuildInputs = [ cmake ];
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-y9AR9qWJXRHcf8vtOvBZxMCUZvC/ty/4jF5mkhdMy9Y=";
+  cargoHash = "sha256-I47MCmRumJW50dPOaL8rGB7hRvxvF2gx+XmwzKL67Ok=";
 
   meta = {
     description = "LSP implementation for Tree-sitter's query files";
diff --git a/pkgs/by-name/ts/tsx/package.nix b/pkgs/by-name/ts/tsx/package.nix
new file mode 100644
index 000000000000..f902d7a7bccd
--- /dev/null
+++ b/pkgs/by-name/ts/tsx/package.nix
@@ -0,0 +1,92 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  pnpm_9,
+  nodejs_22,
+  versionCheckHook,
+}:
+stdenv.mkDerivation rec {
+  pname = "tsx";
+  version = "4.19.3";
+
+  src = fetchFromGitHub {
+    owner = "privatenumber";
+    repo = "tsx";
+    tag = "v${version}";
+    hash = "sha256-wdv2oqJNc6U0Fyv4jT+0LUcYaDfodHk1vQZGMdyFF/E=";
+  };
+
+  pnpmDeps = pnpm_9.fetchDeps {
+    inherit pname version src;
+    hash = "sha256-57KDZ9cHb7uqnypC0auIltmYMmIhs4PWyf0HTRWEFiU=";
+  };
+
+  nativeBuildInputs = [
+    nodejs_22
+    pnpm_9.configHook
+  ];
+
+  buildInputs = [
+    nodejs_22
+  ];
+
+  patchPhase = ''
+    runHook prePatch
+
+    # by default pnpm builds the docs workspace and this was just
+    #  the easiest way I found to stop that, as pnpmWorkspaces and
+    #  other flags did not work
+    rm pnpm-workspace.yaml
+
+    # because tsx uses semantic-release, the package.json has a placeholder
+    #  version number. this patches it to match the version of the nix package,
+    #  which in turn is the release version in github.
+    substituteInPlace package.json --replace-fail "0.0.0-semantic-release" "${version}"
+
+    runHook postPatch
+  '';
+
+  buildPhase = ''
+    runHook preBuild
+
+    npm run build
+
+    # remove devDependencies that are only required to build
+    #  and package the typescript code
+    pnpm prune --prod
+
+    # Clean up broken symlinks left behind by `pnpm prune`
+    # https://github.com/pnpm/pnpm/issues/3645
+    find node_modules -xtype l -delete
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/{bin,lib/tsx}
+    cp -r {dist,node_modules} $out/lib/tsx
+    chmod +x $out/lib/tsx/dist/cli.mjs
+    ln -s $out/lib/tsx/dist/cli.mjs $out/bin/tsx
+
+    runHook postInstall
+  '';
+
+  # 8 / 85 tests are failing, I do not know why, while regular usage shows no issues.
+  doCheck = false;
+  nativeInstallCheckInputs = [
+    versionCheckHook
+  ];
+  doInstallCheck = true;
+  versionCheckProgramArg = "--version";
+
+  meta = {
+    description = "TypeScript Execute (tsx): The easiest way to run TypeScript in Node.js";
+    homepage = "https://tsx.is";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.sdedovic ];
+    mainProgram = "tsx";
+  };
+}
diff --git a/pkgs/by-name/tt/tty-solitaire/package.nix b/pkgs/by-name/tt/tty-solitaire/package.nix
index b4018375295d..fd6aa41e53e6 100644
--- a/pkgs/by-name/tt/tty-solitaire/package.nix
+++ b/pkgs/by-name/tt/tty-solitaire/package.nix
@@ -2,31 +2,20 @@
   lib,
   stdenv,
   fetchFromGitHub,
-  fetchpatch,
   ncurses,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "tty-solitaire";
-  version = "1.3.1";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "mpereira";
     repo = "tty-solitaire";
-    rev = "v${version}";
-    sha256 = "sha256-zMLNWJieHxHALFQoSkdAxGbUBGuZnznLX86lI3P21F0=";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-8lEF1P2aKh0D4moCu54Z4Tv9xLFkZJzFuXJLo7oF9MQ=";
   };
 
-  patches = [
-    # Patch pending upstream inclusion to support ncurses-6.3:
-    #  https://github.com/mpereira/tty-solitaire/pull/61
-    (fetchpatch {
-      name = "ncurses-6.3.patch";
-      url = "https://github.com/mpereira/tty-solitaire/commit/4d066c564d086ce272b78cb8f80717a7fb83c261.patch";
-      sha256 = "sha256-E1XVG0be6JH3K1y7UPap93s8xk8Nk0dKLdKHcJ7mA8E=";
-    })
-  ];
-
   postPatch = ''
     sed -i -e '/^CFLAGS *?= *-g *$/d' Makefile
   '';
@@ -38,12 +27,12 @@ stdenv.mkDerivation rec {
     "PREFIX=${placeholder "out"}"
   ];
 
-  meta = with lib; {
+  meta = {
     description = "Klondike Solitaire in your ncurses terminal";
-    license = licenses.mit;
+    license = lib.licenses.mit;
     homepage = "https://github.com/mpereira/tty-solitaire";
     platforms = ncurses.meta.platforms;
     maintainers = [ ];
     mainProgram = "ttysolitaire";
   };
-}
+})
diff --git a/pkgs/by-name/tt/ttyplot/package.nix b/pkgs/by-name/tt/ttyplot/package.nix
index 2b3fad58f44b..4582cb8af05f 100644
--- a/pkgs/by-name/tt/ttyplot/package.nix
+++ b/pkgs/by-name/tt/ttyplot/package.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ttyplot";
-  version = "1.7.1";
+  version = "1.7.2";
 
   src = fetchFromGitHub {
     owner = "tenox7";
     repo = "ttyplot";
     rev = version;
-    hash = "sha256-XPWfSL1395TBkUmAO5kB9TdAZHL011o6t/2s01W/kk8=";
+    hash = "sha256-zTbcl8hM/XYdkV8V/BCQ94fuFXWOMGdQZeowKRhvYNo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/tu/tuist/package.nix b/pkgs/by-name/tu/tuist/package.nix
index eb113828ccc4..44a9edf5f70c 100644
--- a/pkgs/by-name/tu/tuist/package.nix
+++ b/pkgs/by-name/tu/tuist/package.nix
@@ -8,11 +8,11 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "tuist";
-  version = "4.38.2";
+  version = "4.53.4";
 
   src = fetchurl {
     url = "https://github.com/tuist/tuist/releases/download/${finalAttrs.version}/tuist.zip";
-    hash = "sha256-FK9F0Y3p04NOoy1Mnlcvimm/LGA5Y+lQ9P679SNNOzA=";
+    hash = "sha256-4YQY94/uWh/H4cCzhdQ3KxIh19D8mmUCCDKMF8ZwA4E=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/by-name/tu/turntable/package.nix b/pkgs/by-name/tu/turntable/package.nix
new file mode 100644
index 000000000000..44066eaf0c13
--- /dev/null
+++ b/pkgs/by-name/tu/turntable/package.nix
@@ -0,0 +1,77 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitea,
+  meson,
+  ninja,
+  pkg-config,
+  vala,
+  wrapGAppsHook4,
+  desktop-file-utils,
+  libadwaita,
+  libsoup_3,
+  json-glib,
+  libsecret,
+  glib-networking,
+
+  # Per the upstream request. Key owned by Aleksana
+  lastfmKey ? "b5027c5178ca2abfcc31bd04397c3c0e",
+  lastfmSecret ? "8d375bdee925a2a35f241c04272bc862",
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "turntable";
+  version = "0.3.3";
+
+  src = fetchFromGitea {
+    domain = "codeberg.org";
+    owner = "GeopJr";
+    repo = "Turntable";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-fBduW49eNOEzRVBb72zcB5arTjTiRUy8jE3sSMjPITE=";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    vala
+    wrapGAppsHook4
+    desktop-file-utils
+  ];
+
+  buildInputs = [
+    libadwaita
+    libsoup_3
+    json-glib
+    libsecret
+    glib-networking
+  ];
+
+  mesonFlags = [
+    (lib.mesonOption "lastfm_key" lastfmKey)
+    (lib.mesonOption "lastfm_secret" lastfmSecret)
+  ];
+
+  strictDeps = true;
+
+  meta = {
+    description = "Scrobbles your music to multiple services with playback controls for MPRIS players";
+    longDescription = ''
+      Keep track of your listening habits by scrobbling them
+      to last.fm, ListenBrainz, Libre.fm and Maloja at the
+      same time using your favorite music app's, favorite
+      music app! Turntable comes with a highly customizable
+      and sleek design that displays information about the
+      currently playing song and allows you to control your
+      music player, allowlist it for scrobbling and manage
+      your scrobbling accounts. All MPRIS-enabled apps are
+      supported.
+    '';
+    homepage = "https://turntable.geopjr.dev";
+    license = lib.licenses.gpl3Only;
+    maintainers = with lib.maintainers; [ aleksana ];
+    mainProgram = "dev.geopjr.Turntable";
+    platforms = lib.platforms.linux;
+  };
+})
diff --git a/pkgs/by-name/tu/turso-cli/package.nix b/pkgs/by-name/tu/turso-cli/package.nix
index c55b3fbb9032..c3a22f4f7dee 100644
--- a/pkgs/by-name/tu/turso-cli/package.nix
+++ b/pkgs/by-name/tu/turso-cli/package.nix
@@ -8,13 +8,13 @@
 }:
 buildGoModule rec {
   pname = "turso-cli";
-  version = "1.0.10";
+  version = "1.0.11";
 
   src = fetchFromGitHub {
     owner = "tursodatabase";
     repo = "turso-cli";
     rev = "v${version}";
-    hash = "sha256-aXFMsY8bxj+NJizeThlebcv8nNvjqF7q+AN6sQ4/5PQ=";
+    hash = "sha256-Is1WlwMLkXaKxHUzAGSJN/xVFC7ZQ3C/TS6McAn7ACQ=";
   };
 
   vendorHash = "sha256-tBO21IgUczwMgrEyV7scV3YTY898lYHASaLeXqvBopU=";
diff --git a/pkgs/by-name/tu/turtle/package.nix b/pkgs/by-name/tu/turtle/package.nix
index 77a4e279558e..dbaa77dad881 100644
--- a/pkgs/by-name/tu/turtle/package.nix
+++ b/pkgs/by-name/tu/turtle/package.nix
@@ -4,20 +4,22 @@
   fetchFromGitLab,
   gobject-introspection,
   wrapGAppsHook4,
+  installShellFiles,
   libadwaita,
+  meld,
 }:
 
 python3Packages.buildPythonApplication rec {
   pname = "turtle";
-  version = "0.11";
+  version = "0.13.3";
   pyproject = true;
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "philippun1";
     repo = "turtle";
-    rev = "refs/tags/${version}";
-    hash = "sha256-st6Y2hIaMiApoAG7IFoyQC9hKXdvothkv+5toXsUdVA=";
+    tag = version;
+    hash = "sha256-bfoo2xWBr4jR5EX5H8hiXl6C6HSpNJ93icDg1gwWXqE=";
   };
 
   postPatch = ''
@@ -29,6 +31,7 @@ python3Packages.buildPythonApplication rec {
   nativeBuildInputs = [
     gobject-introspection
     wrapGAppsHook4
+    installShellFiles
   ];
 
   buildInputs = [ libadwaita ];
@@ -44,6 +47,7 @@ python3Packages.buildPythonApplication rec {
 
   postInstall = ''
     python ./install.py install
+    installManPage data/man/*
   '';
 
   # Avoid wrapping two times
@@ -67,6 +71,8 @@ python3Packages.buildPythonApplication rec {
       for nautilus_extensions in $out/share/nautilus-python/extensions/*.py; do
         patchPythonScript $nautilus_extensions
       done
+      substituteInPlace $out/share/nautilus-python/extensions/turtle_nautilus_compare.py \
+        --replace-fail 'Popen(["meld"' 'Popen(["${lib.getExe meld}"'
     '';
 
   meta = {
diff --git a/pkgs/by-name/tu/tutanota-desktop/package.nix b/pkgs/by-name/tu/tutanota-desktop/package.nix
index 9dd31dbe9039..bd9e16e3af1e 100644
--- a/pkgs/by-name/tu/tutanota-desktop/package.nix
+++ b/pkgs/by-name/tu/tutanota-desktop/package.nix
@@ -7,11 +7,11 @@
 
 appimageTools.wrapType2 rec {
   pname = "tutanota-desktop";
-  version = "287.250523.0";
+  version = "287.250602.0";
 
   src = fetchurl {
     url = "https://github.com/tutao/tutanota/releases/download/tutanota-desktop-release-${version}/tutanota-desktop-linux.AppImage";
-    hash = "sha256-7tt0wy1b3sD/DKaUqvltSfm13YsITNv85SQwcvUKipg=";
+    hash = "sha256-HHr2XaVYy0o/HdVcyGi1+5iHDhqlkFp0wlRpr7v61OA=";
   };
 
   extraPkgs = pkgs: [ pkgs.libsecret ];
diff --git a/pkgs/by-name/tw/tweag-credential-helper/package.nix b/pkgs/by-name/tw/tweag-credential-helper/package.nix
new file mode 100644
index 000000000000..76f2990fb296
--- /dev/null
+++ b/pkgs/by-name/tw/tweag-credential-helper/package.nix
@@ -0,0 +1,51 @@
+{
+  lib,
+  fetchFromGitHub,
+  buildGoModule,
+  nix-update-script,
+}:
+
+buildGoModule (finalAttrs: {
+  pname = "tweag-credential-helper";
+  version = "0.0.5";
+
+  src = fetchFromGitHub {
+    owner = "tweag";
+    repo = "credential-helper";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-yUDUvj4/Ej+7/LFGSehPK8g9Z5Il9+II8CuFt9ML+EU=";
+  };
+
+  vendorHash = "sha256-uPQwJ61ikuUjHdkqlSGhosqTjZqTSKc+TpSWblSGb0E=";
+
+  env.CGO_ENABLED = "0";
+  ldflags = [
+    "-s"
+    "-X main.version=${finalAttrs.version}"
+  ];
+
+  subPackages = [
+    "cmd/credential-helper"
+  ];
+
+  postInstall = "mv $out/bin/credential-helper $out/bin/tweag-credential-helper";
+
+  passthru.updateScript = nix-update-script { };
+
+  # Tests currently expect to run under Bazel
+  # and are not compatible with the Go test runner due to path differences.
+  # The issue needs to be resolved upstream.
+  doCheck = false;
+
+  meta = {
+    description = "Credential helper framework and agent for Bazel and similar tools implementing the credential-helper spec";
+    homepage = "https://github.com/tweag/credential-helper";
+    changelog = "https://github.com/tweag/credential-helper/releases/tag/v${finalAttrs.version}";
+    license = lib.licenses.asl20;
+    mainProgram = "tweag-credential-helper";
+    maintainers = with lib.maintainers; [
+      malt3
+    ];
+    platforms = lib.platforms.unix;
+  };
+})
diff --git a/pkgs/by-name/tw/twiggy/package.nix b/pkgs/by-name/tw/twiggy/package.nix
index 44f6510e9621..41d33d984618 100644
--- a/pkgs/by-name/tw/twiggy/package.nix
+++ b/pkgs/by-name/tw/twiggy/package.nix
@@ -6,15 +6,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "twiggy";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-NbtS7A5Zl8634Q3xyjVzNraNszjt1uIXqmctArfnqkk=";
+    hash = "sha256-FguDuah3MlC0wgz8VnXV5xepIVhTwYmQzijgX0sbdNY=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-thGehtb8cF4b/G76nbkuBqQyNodaCbAiDBsrUKQ3zbQ=";
+  cargoHash = "sha256-FaoEqCdMb3h93zGvc+EZ8LfYgMPY3dT/fScpRgGVeAo=";
 
   meta = with lib; {
     homepage = "https://rustwasm.github.io/twiggy/";
diff --git a/pkgs/by-name/tw/twitch-hls-client/package.nix b/pkgs/by-name/tw/twitch-hls-client/package.nix
index 214939e8ade5..d6eec4eb1404 100644
--- a/pkgs/by-name/tw/twitch-hls-client/package.nix
+++ b/pkgs/by-name/tw/twitch-hls-client/package.nix
@@ -6,17 +6,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "twitch-hls-client";
-  version = "1.4.1";
+  version = "1.4.3";
 
   src = fetchFromGitHub {
     owner = "2bc4";
     repo = "twitch-hls-client";
     rev = version;
-    hash = "sha256-m6ci7jKmWGsvJZt9CxfU0OCk5GA7I87c5HHdPP+4O94=";
+    hash = "sha256-UOXz1Gbo1alBnnwOWKlP5ZtaaTYr+Bqxe/+Y5A5B4Eg=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-4/a94VFlOvw3TR+LYkq3qghhUudt0S9HF85fy4mYbQM=";
+  cargoHash = "sha256-0bcnObIBsjgzmIrKaypb/iXnloHCRXpJtVXXl2Agk94=";
 
   meta = with lib; {
     description = "Minimal CLI client for watching/recording Twitch streams";
diff --git a/pkgs/by-name/tx/txr/package.nix b/pkgs/by-name/tx/txr/package.nix
index cd7daf480539..962ba46ad19d 100644
--- a/pkgs/by-name/tx/txr/package.nix
+++ b/pkgs/by-name/tx/txr/package.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "txr";
-  version = "299";
+  version = "300";
 
   src = fetchurl {
     url = "https://www.kylheku.com/cgit/txr/snapshot/txr-${finalAttrs.version}.tar.bz2";
-    hash = "sha256-naDhL2ttucQmLpIhSGPJD4nNQOT6i16sK5g79lGUESo=";
+    hash = "sha256-BcY8UJxdqm+vyeIyEwH0N1GySbP6wIJ/yg4wIyOYVSg=";
   };
 
   buildInputs = [ libffi ];
diff --git a/pkgs/by-name/ty/ty/package.nix b/pkgs/by-name/ty/ty/package.nix
index fb7fc3989273..9abe7d2c715a 100644
--- a/pkgs/by-name/ty/ty/package.nix
+++ b/pkgs/by-name/ty/ty/package.nix
@@ -14,14 +14,14 @@
 
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "ty";
-  version = "0.0.1-alpha.8";
+  version = "0.0.1-alpha.11";
 
   src = fetchFromGitHub {
     owner = "astral-sh";
     repo = "ty";
     tag = finalAttrs.version;
     fetchSubmodules = true;
-    hash = "sha256-w/UEENP9tqwqFX/oCvI67DDMSmXzlCazAIP2wfmdDSs=";
+    hash = "sha256-ns78SUbCRGWl7fr+acN8yjrx3/odIYFqO/sOL/5ayLw=";
   };
 
   # For Darwin platforms, remove the integration test for file notifications,
@@ -35,7 +35,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
 
   cargoBuildFlags = [ "--package=ty" ];
 
-  cargoHash = "sha256-XISRy7Ncy0lTlsCFYmJBcgGiDJfdygTDF4f9O9ZlzDU=";
+  cargoHash = "sha256-GNBQ522FX7Yly963/msRfiYKybpk+XDmn1rujfbO22A=";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -50,7 +50,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
     export CARGO_BIN_EXE_ty="$PWD"/target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/ty
   '';
 
-  # All the packages referenced in `crates/ty/README.md`, plus `crates/ty` itself.
   cargoTestFlags = [
     "--package=ty" # CLI tests; file-watching tests only on Linux platforms
     "--package=ty_python_semantic" # core type checking tests
diff --git a/pkgs/by-name/ty/typescript-go/package.nix b/pkgs/by-name/ty/typescript-go/package.nix
index f2abcecb006d..c2e9cb680249 100644
--- a/pkgs/by-name/ty/typescript-go/package.nix
+++ b/pkgs/by-name/ty/typescript-go/package.nix
@@ -7,13 +7,13 @@
 
 buildGoModule {
   pname = "typescript-go";
-  version = "0-unstable-2025-05-23";
+  version = "0-unstable-2025-06-09";
 
   src = fetchFromGitHub {
     owner = "microsoft";
     repo = "typescript-go";
-    rev = "1b88303de8ad861566d479b0bcf5b88874494536";
-    hash = "sha256-qxP8MhUK9ww3yB0ko2K6GPUfY1bcfGL3u5qRACf9ZK0=";
+    rev = "f7d02dd5cc61be86f4f61018171c370cefebe3fd";
+    hash = "sha256-19+t/Yq73Ih8yCoMJe4r65iejOeAeKYEWacMzqGs6jQ=";
     fetchSubmodules = false;
   };
 
diff --git a/pkgs/by-name/ty/typespec/package.nix b/pkgs/by-name/ty/typespec/package.nix
index 6ab5ac96ddd7..97adcd8bb595 100644
--- a/pkgs/by-name/ty/typespec/package.nix
+++ b/pkgs/by-name/ty/typespec/package.nix
@@ -5,42 +5,47 @@
   makeWrapper,
   nix-update-script,
   nodejs,
-  pnpm_9,
+  pnpm,
   testers,
 }:
 
 let
-  workspace = "compiler...";
+  workspace = "@typespec/compiler...";
 in
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "typespec";
-  version = "0.64.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "microsoft";
     repo = "typespec";
-    tag = "typespec@${finalAttrs.version}";
-    hash = "sha256-zZTZdnmRTjhnoz/5JHnn4h/YlMpXF/I7o1mDeiRVPUA=";
+    tag = "typespec-stable@${finalAttrs.version}";
+    hash = "sha256-fUrBoDDv0UW5dqudD/bpzaT8SdIc5snI8Q/Fe5jWCvw=";
   };
 
   nativeBuildInputs = [
     makeWrapper
     nodejs
-    pnpm_9.configHook
+    pnpm.configHook
   ];
 
   pnpmWorkspaces = [ workspace ];
-  pnpmDeps = pnpm_9.fetchDeps {
+  pnpmDeps = pnpm.fetchDeps {
     inherit (finalAttrs)
       pname
       version
       src
       pnpmWorkspaces
+      postPatch
       ;
-    hash = "sha256-W8m6ibiy9Okga0qWpZWDYklXAwpHwk85Q6UTaFJhDrU=";
+    hash = "sha256-9RQZ2ycu78W3Ie6MLpo6x7Sa/iYsUdq5bYed56mOPxs=";
   };
 
   postPatch = ''
+    # The `packageManager` attribute matches the version _exactly_, which makes
+    # the build fail if it doesn't match exactly.
+    substituteInPlace package.json \
+      --replace-fail '"packageManager": "pnpm@10.11.0"' '"packageManager": "pnpm"'
     # `fetchFromGitHub` doesn't clone via git and thus installing would otherwise fail.
     substituteInPlace packages/compiler/scripts/generate-manifest.js \
       --replace-fail 'execSync("git rev-parse HEAD").toString().trim()' '"${finalAttrs.src.rev}"'
@@ -54,12 +59,19 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     runHook postBuild
   '';
 
+  preInstall = ''
+    # Remove unnecessary files.
+    find -name node_modules -type d -exec rm -rf {} \; || true
+    pnpm config set hoist=false
+    pnpm install --offline --ignore-scripts --frozen-lockfile --filter="@typespec/compiler" --prod --no-optional
+  '';
+
   installPhase = ''
     runHook preInstall
 
-    mkdir -p "$out/bin" "$out/lib/typespec/packages/compiler"
+    mkdir -p "$out/bin" "$out/lib/typespec"
     cp -r --parents \
-      node_modules \
+      node_modules/ \
       package.json \
       packages/compiler/cmd \
       packages/compiler/dist \
@@ -83,7 +95,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
   };
 
   passthru.updateScript = nix-update-script {
-    extraArgs = [ ''--version-regex=typespec@(\d+\.\d+\.\d+)'' ];
+    extraArgs = [ ''--version-regex=typespec-stable@(\d+\.\d+\.\d+)'' ];
   };
 
   meta = {
@@ -97,7 +109,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
       All this while keeping your TypeSpec definition as a single source of truth.
     '';
     homepage = "https://typespec.io/";
-    changelog = "https://github.com/microsoft/typespec/releases/tag/typespec@${finalAttrs.version}";
+    changelog = "https://github.com/microsoft/typespec/releases/tag/typespec-stable@${finalAttrs.version}";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ paukaifler ];
     mainProgram = "tsp";
diff --git a/pkgs/by-name/ty/typos/package.nix b/pkgs/by-name/ty/typos/package.nix
index 3502de2b9748..67dcbbb4120e 100644
--- a/pkgs/by-name/ty/typos/package.nix
+++ b/pkgs/by-name/ty/typos/package.nix
@@ -8,17 +8,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "typos";
-  version = "1.32.0";
+  version = "1.33.1";
 
   src = fetchFromGitHub {
     owner = "crate-ci";
     repo = "typos";
     tag = "v${version}";
-    hash = "sha256-1IILk52HyeGMZC+oD2tIUApEgV8RAojmAlVP/uQIng0=";
+    hash = "sha256-iLpJHeYqLhjYHUXW1bsCqwPKknRx1E9jVCYGLpwbFW8=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-HKJ9ndh23ho3PtWUpGPaGOaECQC2dEfKp0D1N2PY9Ew=";
+  cargoHash = "sha256-IORr0I9F/NtOafjTOEAa+SEqi45St871XgB8b03sWK4=";
 
   passthru.updateScript = nix-update-script { };
 
diff --git a/pkgs/by-name/ty/typst/package.nix b/pkgs/by-name/ty/typst/package.nix
index e7b3c02efe20..eda1ea51344f 100644
--- a/pkgs/by-name/ty/typst/package.nix
+++ b/pkgs/by-name/ty/typst/package.nix
@@ -5,9 +5,7 @@
   installShellFiles,
   pkg-config,
   openssl,
-  writeShellScript,
-  nix-update,
-  gitMinimal,
+  nix-update-script,
   versionCheckHook,
   callPackage,
 }:
@@ -62,25 +60,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
   versionCheckProgramArg = "--version";
 
   passthru = {
-    updateScript = {
-      command = [
-        (writeShellScript "update-typst.sh" ''
-          currentVersion=$(nix-instantiate --eval -E "with import ./. {}; typst.version or (lib.getVersion typst)" | tr -d '"')
-          ${lib.getExe nix-update} typst > /dev/null
-          latestVersion=$(nix-instantiate --eval -E "with import ./. {}; typst.version or (lib.getVersion typst)" | tr -d '"')
-          changes=()
-          if [[ "$currentVersion" != "$latestVersion" ]]; then
-            changes+=("{\"attrPath\":\"typst\",\"oldVersion\":\"$currentVersion\",\"newVersion\":\"$latestVersion\",\"files\":[\"pkgs/by-name/ty/typst/package.nix\"]}")
-          fi
-          maintainers/scripts/update-typst-packages.py --output pkgs/by-name/ty/typst/typst-packages-from-universe.toml > /dev/null
-          ${lib.getExe gitMinimal} diff --quiet HEAD -- pkgs/by-name/ty/typst/typst-packages-from-universe.toml || changes+=("{\"attrPath\":\"typstPackages\",\"oldVersion\":\"0\",\"newVersion\":\"1\",\"files\":[\"pkgs/by-name/ty/typst/typst-packages-from-universe.toml\"]}")
-          echo -n "["
-            IFS=,; echo -n "''${changes[*]}"
-          echo "]"
-        '')
-      ];
-      supportedFeatures = [ "commit" ];
-    };
+    updateScript = nix-update-script { };
     packages = callPackage ./typst-packages.nix { };
     withPackages = callPackage ./with-packages.nix { };
   };
diff --git a/pkgs/by-name/ty/typstyle/package.nix b/pkgs/by-name/ty/typstyle/package.nix
index 078f44f4d80a..a2a335e970e3 100644
--- a/pkgs/by-name/ty/typstyle/package.nix
+++ b/pkgs/by-name/ty/typstyle/package.nix
@@ -8,17 +8,17 @@
 
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "typstyle";
-  version = "0.13.10";
+  version = "0.13.11";
 
   src = fetchFromGitHub {
     owner = "Enter-tainer";
     repo = "typstyle";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-q1WnpjN9Ue0yTm6q5hmcVrDj5oxUhyY71GiiVn1QcpM=";
+    hash = "sha256-fp6UcWD56wWyrk3ZTS1YksydNw0e40NV7dY7Mams3ww=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-Ov+RpV/ONjY/zc8PbIo/TXS3TzJUokaccrFfTEjpxok=";
+  cargoHash = "sha256-BkS/xfVuU3FLjEkE1KEq0K5dNoUSP4XoDkpXLa8Z5Wo=";
 
   # Disabling tests requiring network access
   checkFlags = [
diff --git a/pkgs/by-name/ty/typtea/package.nix b/pkgs/by-name/ty/typtea/package.nix
new file mode 100644
index 000000000000..a9c7c1b29a91
--- /dev/null
+++ b/pkgs/by-name/ty/typtea/package.nix
@@ -0,0 +1,41 @@
+{
+  lib,
+  buildGoModule,
+  fetchFromGitHub,
+  versionCheckHook,
+}:
+
+buildGoModule rec {
+  pname = "typtea";
+  version = "0.1.4";
+
+  src = fetchFromGitHub {
+    owner = "ashish0kumar";
+    repo = "typtea";
+    tag = "v${version}";
+    hash = "sha256-JIb7MkqHHlKLTI+SY007RQS4DpmQS1y8SNUsYVevEEk=";
+  };
+
+  vendorHash = "sha256-LWY1Tnh4iyNAV7dNjlKdT9IwPJRN25HkEAGSkQIRe9I=";
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/ashish0kumar/typtea/cmd.version=${version}"
+  ];
+
+  doInstallCheck = true;
+  nativeInstallCheckInputs = [
+    versionCheckHook
+  ];
+
+  meta = {
+    changelog = "https://github.com/ashish0kumar/typtea/releases/tag/v${version}";
+    description = "Terminal-based typing speed test with multi-language support";
+    homepage = "https://github.com/ashish0kumar/typtea";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ ashish0kumar ];
+    mainProgram = "typtea";
+    platforms = lib.platforms.unix;
+  };
+}
diff --git a/pkgs/by-name/ua/uae/package.nix b/pkgs/by-name/ua/uae/package.nix
deleted file mode 100644
index 9ef978a25e7a..000000000000
--- a/pkgs/by-name/ua/uae/package.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{
-  lib,
-  stdenv,
-  fetchurl,
-  pkg-config,
-  gtk2,
-  alsa-lib,
-  SDL,
-}:
-
-stdenv.mkDerivation rec {
-  pname = "uae";
-  version = "0.8.29";
-
-  src = fetchurl {
-    url = "https://web.archive.org/web/20130905032631/http://www.amigaemulator.org/files/sources/develop/uae-${version}.tar.bz2";
-    sha256 = "05s3cd1rd5a970s938qf4c2xm3l7f54g5iaqw56v8smk355m4qr4";
-  };
-
-  configureFlags = [
-    "--with-sdl"
-    "--with-sdl-sound"
-    "--with-sdl-gfx"
-    "--with-alsa"
-  ];
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [
-    gtk2
-    alsa-lib
-    SDL
-  ];
-
-  hardeningDisable = [ "format" ];
-  # Workaround build failure on -fno-common toolchains:
-  #   ld: bsdsocket.o:(.bss+0x0): multiple definition of
-  #     `socketbases'; main.o:(.bss+0x2792c0): first defined here
-  env.NIX_CFLAGS_COMPILE = "-fcommon";
-  LDFLAGS = [ "-lm" ];
-
-  meta = {
-    description = "Ultimate/Unix/Unusable Amiga Emulator";
-    license = lib.licenses.gpl2Plus;
-    homepage = "https://web.archive.org/web/20130901222855/http://www.amigaemulator.org/";
-    maintainers = [ lib.maintainers.sander ];
-    platforms = lib.platforms.linux;
-    mainProgram = "uae";
-  };
-}
diff --git a/pkgs/by-name/uc/ucode/package.nix b/pkgs/by-name/uc/ucode/package.nix
index 8395bff407fc..d3e1c4e603a2 100644
--- a/pkgs/by-name/uc/ucode/package.nix
+++ b/pkgs/by-name/uc/ucode/package.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ucode";
-  version = "0.0.20231102";
+  version = "0.0.20250529";
 
   src = fetchFromGitHub {
     owner = "jow-";
     repo = "ucode";
     rev = "v${version}";
-    hash = "sha256-dJjlwuQLS73D6W/bmhWLPPaT7himQyO1RvD+MXVxBMw=";
+    hash = "sha256-V8WGd4rSuCtGIA5oTfnagp0Dmh5FNG87/MJSeILtbM4=";
   };
 
   buildInputs = [
diff --git a/pkgs/by-name/ue/ueberzugpp/package.nix b/pkgs/by-name/ue/ueberzugpp/package.nix
index 6d44c5905b93..3dc7bdc20630 100644
--- a/pkgs/by-name/ue/ueberzugpp/package.nix
+++ b/pkgs/by-name/ue/ueberzugpp/package.nix
@@ -7,7 +7,7 @@
   openssl,
   zeromq,
   cppzmq,
-  tbb_2021_11,
+  tbb_2021,
   spdlog,
   libsodium,
   fmt,
@@ -32,13 +32,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ueberzugpp";
-  version = "2.9.6";
+  version = "2.9.7";
 
   src = fetchFromGitHub {
     owner = "jstkdng";
     repo = "ueberzugpp";
     rev = "v${version}";
-    hash = "sha256-qo9Rwnx6Oh8DRcCBUMS3JVdNyx1iZSB2Z1qfptUoPFQ=";
+    hash = "sha256-FR05vBKIMbGiOnugkBi8IkLfHU7LzNF2ihxD7FWWYGU=";
   };
 
   strictDeps = true;
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
       openssl
       zeromq
       cppzmq
-      tbb_2021_11
+      tbb_2021
       spdlog
       libsodium
       fmt
diff --git a/pkgs/by-name/ue/uefi-firmware-parser/package.nix b/pkgs/by-name/ue/uefi-firmware-parser/package.nix
index 3f8e4cfc193d..2e89ab5bd478 100644
--- a/pkgs/by-name/ue/uefi-firmware-parser/package.nix
+++ b/pkgs/by-name/ue/uefi-firmware-parser/package.nix
@@ -22,7 +22,7 @@ python3.pkgs.buildPythonApplication rec {
     python3.pkgs.wheel
   ];
 
-  dependencies = [ python3.pkgs.future ];
+  pythonRemoveDeps = [ "future" ];
 
   pythonImportsCheck = [ "uefi_firmware" ];
 
diff --git a/pkgs/by-name/ui/uiua/unstable.nix b/pkgs/by-name/ui/uiua/unstable.nix
index 336487955235..f43652f62b4f 100644
--- a/pkgs/by-name/ui/uiua/unstable.nix
+++ b/pkgs/by-name/ui/uiua/unstable.nix
@@ -1,7 +1,7 @@
 rec {
-  version = "0.16.2";
+  version = "0.17.0-dev.1";
   tag = version;
-  hash = "sha256-YX2okLBN+6celACktfLgTO4NJPvEalrS/C885qwAp8A=";
-  cargoHash = "sha256-aoHqcE+0OaxZAxjAZUdSmAuLaI0kiRfbPhaFjNvFce8=";
+  hash = "sha256-Tsj0De4qdV8R4XVP5Oihk7HlgG4EysfQ9aUo0MZO94A=";
+  cargoHash = "sha256-upBPtoivWh07w87jNu5mjS5Yj+slsJtAIMAOjX1MZaM=";
   updateScript = ./update-unstable.sh;
 }
diff --git a/pkgs/by-name/uk/ukmm/package.nix b/pkgs/by-name/uk/ukmm/package.nix
index df12bb0bcaf5..afcc6fcfa9dc 100644
--- a/pkgs/by-name/uk/ukmm/package.nix
+++ b/pkgs/by-name/uk/ukmm/package.nix
@@ -9,6 +9,8 @@
   libglvnd,
   libxkbcommon,
   openssl,
+  makeDesktopItem,
+  copyDesktopItems,
   nix-update-script,
 }:
 
@@ -30,6 +32,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
     cmake
     pkg-config
     wrapGAppsHook3
+    copyDesktopItems
   ];
 
   buildInputs = [
@@ -70,6 +73,25 @@ rustPlatform.buildRustPackage (finalAttrs: {
 
   passthru.updateScript = nix-update-script { };
 
+  postInstall = ''
+    install -Dm444 assets/ukmm.png  $out/share/icons/hicolor/256x256/apps/ukmm.png
+  '';
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "ukmm";
+      exec = "ukmm %u";
+      mimeTypes = [ "x-scheme-handler/bcml" ];
+      icon = "ukmm";
+      desktopName = "UKMM";
+      categories = [
+        "Game"
+        "Utility"
+      ];
+      comment = "Breath of the Wild Mod Manager";
+    })
+  ];
+
   meta = with lib; {
     description = "New mod manager for The Legend of Zelda: Breath of the Wild";
     homepage = "https://github.com/NiceneNerd/ukmm";
diff --git a/pkgs/by-name/ul/ulauncher/package.nix b/pkgs/by-name/ul/ulauncher/package.nix
index 22c4e096f3de..eecac8ef1aa4 100644
--- a/pkgs/by-name/ul/ulauncher/package.nix
+++ b/pkgs/by-name/ul/ulauncher/package.nix
@@ -124,7 +124,6 @@ python3Packages.buildPythonApplication rec {
     mainProgram = "ulauncher";
     maintainers = with maintainers; [
       aaronjanse
-      sebtm
     ];
   };
 }
diff --git a/pkgs/by-name/um/umu-launcher-unwrapped/package.nix b/pkgs/by-name/um/umu-launcher-unwrapped/package.nix
index cb5f94e2922c..ddb730902eb7 100644
--- a/pkgs/by-name/um/umu-launcher-unwrapped/package.nix
+++ b/pkgs/by-name/um/umu-launcher-unwrapped/package.nix
@@ -2,7 +2,6 @@
   bash,
   cargo,
   fetchFromGitHub,
-  hatch,
   lib,
   nix-update-script,
   python3Packages,
@@ -35,9 +34,10 @@ python3Packages.buildPythonPackage rec {
 
   nativeBuildInputs = [
     cargo
-    hatch
     python3Packages.build
     python3Packages.installer
+    python3Packages.hatchling
+    python3Packages.hatch-vcs
     rustPlatform.cargoSetupHook
     scdoc
   ];
diff --git a/pkgs/by-name/un/unblob/package.nix b/pkgs/by-name/un/unblob/package.nix
index f6228fdcedf6..c5393e37f379 100644
--- a/pkgs/by-name/un/unblob/package.nix
+++ b/pkgs/by-name/un/unblob/package.nix
@@ -116,7 +116,7 @@ python3.pkgs.buildPythonApplication rec {
     with python3.pkgs;
     [
       pytestCheckHook
-      pytest-cov
+      pytest-cov # cannot use stub
       versionCheckHook
     ]
     ++ runtimeDeps;
diff --git a/pkgs/by-name/un/unclutter/package.nix b/pkgs/by-name/un/unclutter/package.nix
index d586ec94eca0..de1802a14f69 100644
--- a/pkgs/by-name/un/unclutter/package.nix
+++ b/pkgs/by-name/un/unclutter/package.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
 
           unclutter -idle 1 &
     '';
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.unix;
     license = lib.licenses.publicDomain;
     mainProgram = "unclutter";
diff --git a/pkgs/by-name/un/undertime/package.nix b/pkgs/by-name/un/undertime/package.nix
index dbc28888671d..43b66209c81a 100644
--- a/pkgs/by-name/un/undertime/package.nix
+++ b/pkgs/by-name/un/undertime/package.nix
@@ -6,14 +6,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "undertime";
-  version = "4.0.0";
+  version = "4.3.0";
   pyproject = true;
 
   src = fetchFromGitLab {
     owner = "anarcat";
     repo = "undertime";
-    rev = version;
-    hash = "sha256-BshgSnYaeX01KQ1fggB+yXEfg3Trhpcf/k4AmBDPxy8=";
+    tag = version;
+    hash = "sha256-sQI+fpg5PFGCsS9xikMTi4Ad76TayP13UgZag6CRBxE=";
   };
 
   nativeBuildInputs = with python3Packages; [
@@ -21,7 +21,7 @@ python3Packages.buildPythonApplication rec {
     setuptools-scm
   ];
 
-  propagatedBuildInputs = with python3Packages; [
+  dependencies = with python3Packages; [
     dateparser
     ephem
     pytz
diff --git a/pkgs/by-name/un/unhide/package.nix b/pkgs/by-name/un/unhide/package.nix
index e6dd2c8ec8aa..eede250876f5 100644
--- a/pkgs/by-name/un/unhide/package.nix
+++ b/pkgs/by-name/un/unhide/package.nix
@@ -1,15 +1,15 @@
 {
-  cmake,
+  lib,
+  stdenv,
   fetchFromGitHub,
   fetchurl,
+  cmake,
   iproute2,
-  lib,
   lsof,
   nettools,
   pkg-config,
   procps,
   psmisc,
-  stdenv,
 }:
 
 let
@@ -18,15 +18,15 @@ let
     hash = "sha256-bSo3EzpcsFmVvwyPgjCCDOJLbzNpxJ6Eptp2hNK7ZXk=";
   };
 in
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "unhide";
-  version = "20220611";
+  version = "20240510";
 
   src = fetchFromGitHub {
     owner = "YJesus";
     repo = "Unhide";
-    rev = "v${version}";
-    hash = "sha256-v4otbDhKKRLywH6aP+mbMR0olHbW+jk4TXTBY+iaxdo=";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-CcS/rR/jPgbcF09aM4l6z52kwFhdQI1VZOyDF2/X6Us=";
   };
 
   postPatch = ''
@@ -55,10 +55,10 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Forensic tool to find hidden processes and TCP/UDP ports by rootkits/LKMs";
     homepage = "https://github.com/YJesus/Unhide";
-    changelog = "https://github.com/YJesus/Unhide/blob/${src.rev}/NEWS";
+    changelog = "https://github.com/YJesus/Unhide/blob/${finalAttrs.src.rev}/NEWS";
     license = lib.licenses.gpl3Only;
     maintainers = with lib.maintainers; [ tochiaha ];
     mainProgram = "unhide";
     platforms = lib.platforms.all;
   };
-}
+})
diff --git a/pkgs/by-name/un/unison-ucm/package.nix b/pkgs/by-name/un/unison-ucm/package.nix
index 7067ec63756f..2470ff294b87 100644
--- a/pkgs/by-name/un/unison-ucm/package.nix
+++ b/pkgs/by-name/un/unison-ucm/package.nix
@@ -14,21 +14,21 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "unison-code-manager";
-  version = "0.5.40";
+  version = "0.5.41";
 
   src =
     {
       aarch64-darwin = fetchurl {
         url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-macos-arm64.tar.gz";
-        hash = "sha256-KsypPKHyscOiPXy4ZeCZcUFGIV97lsnLREJp5KAGFcM=";
+        hash = "sha256-0Zz8lc1s46y2JC6DAbJjahap+hsz1QuLRl4nGryhSxA=";
       };
       x86_64-darwin = fetchurl {
         url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-macos-x64.tar.gz";
-        hash = "sha256-TpD2W+j7F83E+YPQRNe1K7fnNfpJEwt25ldB+nqQw7I=";
+        hash = "sha256-O9H62uhWnOPQp7s4yUhnUXFyk0vNS4BAddaCru4n1GU=";
       };
       x86_64-linux = fetchurl {
         url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-linux-x64.tar.gz";
-        hash = "sha256-o1Zx9Vmovl0b/QMVT9XGaRM6FphsIsZQZamYlJ6b6y0=";
+        hash = "sha256-ul5PCDqjfpsMiZZaZaH04Mrv29U9uS/ik8KwFNmXbgg=";
       };
     }
     .${stdenv.hostPlatform.system} or (throw "Unsupported platform ${stdenv.hostPlatform.system}");
diff --git a/pkgs/by-name/un/units-llnl/package.nix b/pkgs/by-name/un/units-llnl/package.nix
new file mode 100644
index 000000000000..fcba27fb936c
--- /dev/null
+++ b/pkgs/by-name/un/units-llnl/package.nix
@@ -0,0 +1,42 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  cmake,
+
+  # This is the baseType needed by scipp - the main package that depends on
+  # this package.
+  baseType ? "uint64_t",
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "units-llnl";
+  version = "0.13.1";
+
+  src = fetchFromGitHub {
+    owner = "LLNL";
+    repo = "units";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-thJnBT+wQPF9obzXk/T6H9lvPEAH5REx3YhBXEd7n7c=";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+  cmakeFlags = [
+    (lib.cmakeBool "BUILD_SHARED_LIBS" true)
+    (lib.cmakeFeature "UNITS_BASE_TYPE" baseType)
+  ];
+  doCheck = true;
+
+  meta = {
+    description = "Run-time C++ library for working with units of measurement and conversions between them and with string representations of units and measurements";
+    homepage = "https://github.com/llnl/units";
+    changelog = "https://github.com/llnl/units/blob/${finalAttrs.src.tag}/CHANGELOG.md";
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ doronbehar ];
+    mainProgram = "units-llnl";
+    platforms = lib.platforms.all;
+  };
+})
diff --git a/pkgs/by-name/un/universal-ctags/package.nix b/pkgs/by-name/un/universal-ctags/package.nix
index f4a971c55a1e..abdcd7ffdc61 100644
--- a/pkgs/by-name/un/universal-ctags/package.nix
+++ b/pkgs/by-name/un/universal-ctags/package.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "universal-ctags";
-  version = "6.1.0";
+  version = "6.2.0";
 
   src = fetchFromGitHub {
     owner = "universal-ctags";
     repo = "ctags";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-f8+Ifjn7bhSYozOy7kn+zCLdHGrH3iFupHUZEGynz9Y=";
+    hash = "sha256-M2MuVWUsN9kBRF4OAavTYQGPUYvzNmP30AWnW1SendU=";
   };
 
   depsBuildBuild = [
diff --git a/pkgs/by-name/un/unixcw/package.nix b/pkgs/by-name/un/unixcw/package.nix
index fc169b90d32f..913bd71693bf 100644
--- a/pkgs/by-name/un/unixcw/package.nix
+++ b/pkgs/by-name/un/unixcw/package.nix
@@ -10,18 +10,16 @@
   autoreconfHook,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "unixcw";
-  version = "3.5.1";
+  version = "3.6.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/unixcw/unixcw_${version}.orig.tar.gz";
-    hash = "sha256-Xzqs2KJuFubv9DfHrh6bOJlW+xN+6z3iRnDOBd5Hnno=";
+    url = "mirror://sourceforge/unixcw/unixcw-${finalAttrs.version}.tar.gz";
+    hash = "sha256-Cvg4VSFL+QtMDRSSIYhKtEWPOFfDiXLUKNrr87rdbjI=";
   };
 
   patches = [
-    ./remove-use-of-dlopen.patch
-
     # fix pkg-config searching for ncurses
     # yoinked from gentoo (https://gitweb.gentoo.org/repo/gentoo.git/tree/media-radio/unixcw/files/unixcw-3.6-tinfo.patch), with modifications
     ./unixcw-3.6-tinfo.patch
@@ -69,4 +67,4 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2Plus;
     platforms = lib.platforms.linux;
   };
-}
+})
diff --git a/pkgs/by-name/un/unixcw/remove-use-of-dlopen.patch b/pkgs/by-name/un/unixcw/remove-use-of-dlopen.patch
deleted file mode 100644
index 0475c008ba22..000000000000
--- a/pkgs/by-name/un/unixcw/remove-use-of-dlopen.patch
+++ /dev/null
@@ -1,677 +0,0 @@
-From e4b91b5a7943a3b54f555ff2e0029b83bd96b131 Mon Sep 17 00:00:00 2001
-From: MarcFontaine 
-Date: Sat, 9 Jun 2018 11:02:11 +0200
-Subject: [PATCH] remove use of dlopen
-
----
- src/libcw/libcw_alsa.c | 215 ++++++++++---------------------------------------
- src/libcw/libcw_pa.c   | 118 ++++-----------------------
- 2 files changed, 56 insertions(+), 277 deletions(-)
-
-diff --git a/src/libcw/libcw_alsa.c b/src/libcw/libcw_alsa.c
-index a669c6e..17c306d 100644
---- a/src/libcw/libcw_alsa.c
-+++ b/src/libcw/libcw_alsa.c
-@@ -35,7 +35,6 @@
- 
- 
- 
--#include  /* dlopen() and related symbols */
- #include 
- 
- 
-@@ -65,7 +64,6 @@ static const snd_pcm_format_t CW_ALSA_SAMPLE_FORMAT = SND_PCM_FORMAT_S16; /* "Si
- 
- 
- static int  cw_alsa_set_hw_params_internal(cw_gen_t *gen, snd_pcm_hw_params_t *params);
--static int  cw_alsa_dlsym_internal(void *handle);
- static int  cw_alsa_write_internal(cw_gen_t *gen);
- static int  cw_alsa_debug_evaluate_write_internal(cw_gen_t *gen, int rv);
- static int  cw_alsa_open_device_internal(cw_gen_t *gen);
-@@ -80,56 +78,6 @@ static int  cw_alsa_print_params_internal(snd_pcm_hw_params_t *hw_params);
- 
- 
- 
--static struct {
--	void *handle;
--
--	int (* snd_pcm_open)(snd_pcm_t **pcm, const char *name, snd_pcm_stream_t stream, int mode);
--	int (* snd_pcm_close)(snd_pcm_t *pcm);
--	int (* snd_pcm_prepare)(snd_pcm_t *pcm);
--	int (* snd_pcm_drop)(snd_pcm_t *pcm);
--	snd_pcm_sframes_t (* snd_pcm_writei)(snd_pcm_t *pcm, const void *buffer, snd_pcm_uframes_t size);
--
--	const char *(* snd_strerror)(int errnum);
--
--	int (* snd_pcm_hw_params_malloc)(snd_pcm_hw_params_t **ptr);
--	int (* snd_pcm_hw_params_any)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
--	int (* snd_pcm_hw_params_set_format)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_t val);
--	int (* snd_pcm_hw_params_set_rate_near)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
--	int (* snd_pcm_hw_params_set_access)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t _access);
--	int (* snd_pcm_hw_params_set_channels)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val);
--	int (* snd_pcm_hw_params)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
--	int (* snd_pcm_hw_params_get_periods)(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
--	int (* snd_pcm_hw_params_get_period_size)(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *frames, int *dir);
--	int (* snd_pcm_hw_params_get_period_size_min)(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *frames, int *dir);
--	int (* snd_pcm_hw_params_get_buffer_size)(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val);
--} cw_alsa = {
--	.handle = NULL,
--
--	.snd_pcm_open = NULL,
--	.snd_pcm_close = NULL,
--	.snd_pcm_prepare = NULL,
--	.snd_pcm_drop = NULL,
--	.snd_pcm_writei = NULL,
--
--	.snd_strerror = NULL,
--
--	.snd_pcm_hw_params_malloc = NULL,
--	.snd_pcm_hw_params_any = NULL,
--	.snd_pcm_hw_params_set_format = NULL,
--	.snd_pcm_hw_params_set_rate_near = NULL,
--	.snd_pcm_hw_params_set_access = NULL,
--	.snd_pcm_hw_params_set_channels = NULL,
--	.snd_pcm_hw_params = NULL,
--	.snd_pcm_hw_params_get_periods = NULL,
--	.snd_pcm_hw_params_get_period_size = NULL,
--	.snd_pcm_hw_params_get_period_size_min = NULL,
--	.snd_pcm_hw_params_get_buffer_size = NULL
--};
--
--
--
--
--
- 
- /**
-    \brief Check if it is possible to open ALSA output
-@@ -144,34 +92,19 @@ static struct {
- */
- bool cw_is_alsa_possible(const char *device)
- {
--	const char *library_name = "libasound.so.2";
--	if (!cw_dlopen_internal(library_name, &(cw_alsa.handle))) {
--		cw_debug_msg ((&cw_debug_object), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_ERROR,
--			      "cw_alsa: can't access ALSA library \"%s\"", library_name);
--		return false;
--	}
--
--	int rv = cw_alsa_dlsym_internal(cw_alsa.handle);
--	if (rv < 0) {
--		cw_debug_msg ((&cw_debug_object), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_ERROR,
--			      "cw_alsa: failed to resolve ALSA symbol #%d, can't correctly load ALSA library", rv);
--		dlclose(cw_alsa.handle);
--		return false;
--	}
--
--	const char *dev = device ? device : CW_DEFAULT_ALSA_DEVICE;
-+        int rv;
-+        const char *dev = device ? device : CW_DEFAULT_ALSA_DEVICE;
- 	snd_pcm_t *alsa_handle;
--	rv = cw_alsa.snd_pcm_open(&alsa_handle,
-+	rv = snd_pcm_open(&alsa_handle,
- 				  dev,                     /* name */
- 				  SND_PCM_STREAM_PLAYBACK, /* stream (playback/capture) */
- 				  0);                      /* mode, 0 | SND_PCM_NONBLOCK | SND_PCM_ASYNC */
- 	if (rv < 0) {
- 		cw_debug_msg ((&cw_debug_object), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_ERROR,
- 			      "cw_alsa: can't open ALSA device \"%s\"", dev);
--		dlclose(cw_alsa.handle);
- 		return false;
- 	} else {
--		cw_alsa.snd_pcm_close(alsa_handle);
-+		snd_pcm_close(alsa_handle);
- 		return true;
- 	}
- }
-@@ -204,7 +137,7 @@ int cw_alsa_write_internal(cw_gen_t *gen)
- 	/* Send audio buffer to ALSA.
- 	   Size of correct and current data in the buffer is the same as
- 	   ALSA's period, so there should be no underruns */
--	int rv = cw_alsa.snd_pcm_writei(gen->alsa_data.handle, gen->buffer, gen->buffer_n_samples);
-+	int rv = snd_pcm_writei(gen->alsa_data.handle, gen->buffer, gen->buffer_n_samples);
- 	cw_alsa_debug_evaluate_write_internal(gen, rv);
- 	/*
- 	cw_debug_msg ((&cw_debug_object_dev), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_INFO,
-@@ -231,7 +164,7 @@ int cw_alsa_write_internal(cw_gen_t *gen)
- */
- int cw_alsa_open_device_internal(cw_gen_t *gen)
- {
--	int rv = cw_alsa.snd_pcm_open(&gen->alsa_data.handle,
-+	int rv = snd_pcm_open(&gen->alsa_data.handle,
- 				      gen->audio_device,       /* name */
- 				      SND_PCM_STREAM_PLAYBACK, /* stream (playback/capture) */
- 				      0);                      /* mode, 0 | SND_PCM_NONBLOCK | SND_PCM_ASYNC */
-@@ -251,7 +184,7 @@ int cw_alsa_open_device_internal(cw_gen_t *gen)
- 	/* TODO: move this to cw_alsa_set_hw_params_internal(),
- 	   deallocate hw_params */
- 	snd_pcm_hw_params_t *hw_params = NULL;
--	rv = cw_alsa.snd_pcm_hw_params_malloc(&hw_params);
-+	rv = snd_pcm_hw_params_malloc(&hw_params);
- 	if (rv < 0) {
- 		cw_debug_msg ((&cw_debug_object), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_ERROR,
- 			      "cw_alsa: can't allocate memory for ALSA hw params");
-@@ -265,7 +198,7 @@ int cw_alsa_open_device_internal(cw_gen_t *gen)
- 		return CW_FAILURE;
- 	}
- 
--	rv = cw_alsa.snd_pcm_prepare(gen->alsa_data.handle);
-+	rv = snd_pcm_prepare(gen->alsa_data.handle);
- 	if (rv < 0) {
- 		cw_debug_msg ((&cw_debug_object), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_ERROR,
- 			      "cw_alsa: can't prepare ALSA handler");
-@@ -275,7 +208,7 @@ int cw_alsa_open_device_internal(cw_gen_t *gen)
- 	/* Get size for data buffer */
- 	snd_pcm_uframes_t frames; /* period size in frames */
- 	int dir = 1;
--	rv = cw_alsa.snd_pcm_hw_params_get_period_size_min(hw_params, &frames, &dir);
-+	rv = snd_pcm_hw_params_get_period_size_min(hw_params, &frames, &dir);
- 	cw_debug_msg ((&cw_debug_object_dev), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_INFO,
- 		      "cw_alsa: rv = %d, ALSA buffer size would be %u frames", rv, (unsigned int) frames);
- 
-@@ -305,14 +238,11 @@ int cw_alsa_open_device_internal(cw_gen_t *gen)
- void cw_alsa_close_device_internal(cw_gen_t *gen)
- {
- 	/* "Stop a PCM dropping pending frames. " */
--	cw_alsa.snd_pcm_drop(gen->alsa_data.handle);
--	cw_alsa.snd_pcm_close(gen->alsa_data.handle);
-+	snd_pcm_drop(gen->alsa_data.handle);
-+	snd_pcm_close(gen->alsa_data.handle);
- 
- 	gen->audio_device_is_open = false;
- 
--	if (cw_alsa.handle) {
--		dlclose(cw_alsa.handle);
--	}
- 
- #if CW_DEV_RAW_SINK
- 	if (gen->dev_raw_sink != -1) {
-@@ -332,11 +262,11 @@ int cw_alsa_debug_evaluate_write_internal(cw_gen_t *gen, int rv)
- 	if (rv == -EPIPE) {
- 		cw_debug_msg ((&cw_debug_object), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_WARNING,
- 			      "cw_alsa: underrun");
--		cw_alsa.snd_pcm_prepare(gen->alsa_data.handle);
-+		snd_pcm_prepare(gen->alsa_data.handle);
- 	} else if (rv < 0) {
- 		cw_debug_msg ((&cw_debug_object), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_WARNING,
--			      "cw_alsa: writei: %s", cw_alsa.snd_strerror(rv));
--		cw_alsa.snd_pcm_prepare(gen->alsa_data.handle);
-+			      "cw_alsa: writei: %s", snd_strerror(rv));
-+		snd_pcm_prepare(gen->alsa_data.handle);
- 	} else if (rv != gen->buffer_n_samples) {
- 		cw_debug_msg ((&cw_debug_object), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_WARNING,
- 			      "cw_alsa: short write, %d != %d", rv, gen->buffer_n_samples);
-@@ -363,19 +293,19 @@ int cw_alsa_debug_evaluate_write_internal(cw_gen_t *gen, int rv)
- int cw_alsa_set_hw_params_internal(cw_gen_t *gen, snd_pcm_hw_params_t *hw_params)
- {
- 	/* Get current hw configuration. */
--	int rv = cw_alsa.snd_pcm_hw_params_any(gen->alsa_data.handle, hw_params);
-+	int rv = snd_pcm_hw_params_any(gen->alsa_data.handle, hw_params);
- 	if (rv < 0) {
- 		cw_debug_msg ((&cw_debug_object), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_ERROR,
--			      "cw_alsa: get current hw params: %s", cw_alsa.snd_strerror(rv));
-+			      "cw_alsa: get current hw params: %s", snd_strerror(rv));
- 		return CW_FAILURE;
- 	}
- 
- 
- 	/* Set the sample format */
--	rv = cw_alsa.snd_pcm_hw_params_set_format(gen->alsa_data.handle, hw_params, CW_ALSA_SAMPLE_FORMAT);
-+	rv = snd_pcm_hw_params_set_format(gen->alsa_data.handle, hw_params, CW_ALSA_SAMPLE_FORMAT);
- 	if (rv < 0) {
- 		cw_debug_msg ((&cw_debug_object), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_ERROR,
--			      "cw_alsa: can't set sample format: %s", cw_alsa.snd_strerror(rv));
-+			      "cw_alsa: can't set sample format: %s", snd_strerror(rv));
- 		return CW_FAILURE;
- 	}
- 
-@@ -387,7 +317,7 @@ int cw_alsa_set_hw_params_internal(cw_gen_t *gen, snd_pcm_hw_params_t *hw_params
- 	bool success = false;
- 	for (int i = 0; cw_supported_sample_rates[i]; i++) {
- 		rate = cw_supported_sample_rates[i];
--		int rv = cw_alsa.snd_pcm_hw_params_set_rate_near(gen->alsa_data.handle, hw_params, &rate, &dir);
-+		int rv = snd_pcm_hw_params_set_rate_near(gen->alsa_data.handle, hw_params, &rate, &dir);
- 		if (!rv) {
- 			if (rate != cw_supported_sample_rates[i]) {
- 				cw_debug_msg ((&cw_debug_object_dev), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_WARNING, "cw_alsa: imprecise sample rate:");
-@@ -402,7 +332,7 @@ int cw_alsa_set_hw_params_internal(cw_gen_t *gen, snd_pcm_hw_params_t *hw_params
- 
- 	if (!success) {
- 		cw_debug_msg ((&cw_debug_object), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_ERROR,
--			      "cw_alsa: can't get sample rate: %s", cw_alsa.snd_strerror(rv));
-+			      "cw_alsa: can't get sample rate: %s", snd_strerror(rv));
- 		return CW_FAILURE;
-         } else {
- 		cw_debug_msg ((&cw_debug_object_dev), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_INFO,
-@@ -410,18 +340,18 @@ int cw_alsa_set_hw_params_internal(cw_gen_t *gen, snd_pcm_hw_params_t *hw_params
- 	}
- 
- 	/* Set PCM access type */
--	rv = cw_alsa.snd_pcm_hw_params_set_access(gen->alsa_data.handle, hw_params, SND_PCM_ACCESS_RW_INTERLEAVED);
-+	rv = snd_pcm_hw_params_set_access(gen->alsa_data.handle, hw_params, SND_PCM_ACCESS_RW_INTERLEAVED);
- 	if (rv < 0) {
- 		cw_debug_msg ((&cw_debug_object), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_ERROR,
--			      "cw_alsa: can't set access type: %s", cw_alsa.snd_strerror(rv));
-+			      "cw_alsa: can't set access type: %s", snd_strerror(rv));
- 		return CW_FAILURE;
- 	}
- 
- 	/* Set number of channels */
--	rv = cw_alsa.snd_pcm_hw_params_set_channels(gen->alsa_data.handle, hw_params, CW_AUDIO_CHANNELS);
-+	rv = snd_pcm_hw_params_set_channels(gen->alsa_data.handle, hw_params, CW_AUDIO_CHANNELS);
- 	if (rv < 0) {
- 		cw_debug_msg ((&cw_debug_object), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_ERROR,
--			      "cw_alsa: can't set number of channels: %s", cw_alsa.snd_strerror(rv));
-+			      "cw_alsa: can't set number of channels: %s", snd_strerror(rv));
- 		return CW_FAILURE;
- 	}
- 
-@@ -496,7 +426,7 @@ int cw_alsa_set_hw_params_internal(cw_gen_t *gen, snd_pcm_hw_params_t *hw_params
- 		snd_pcm_uframes_t accepted = 0; /* buffer size in frames  */
- 		dir = 0;
- 		for (snd_pcm_uframes_t val = 0; val < 10000; val++) {
--			rv = cw_alsa.snd_pcm_hw_params_test_buffer_size(gen->alsa_data.handle, hw_params, val);
-+			rv = snd_pcm_hw_params_test_buffer_size(gen->alsa_data.handle, hw_params, val);
- 			if (rv == 0) {
- 				cw_debug_msg ((&cw_debug_object_dev), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_INFO,
- 					      "cw_alsa: accepted buffer size: %u", (unsigned int) accepted);
-@@ -507,10 +437,10 @@ int cw_alsa_set_hw_params_internal(cw_gen_t *gen, snd_pcm_hw_params_t *hw_params
- 		}
- 
- 		if (accepted > 0) {
--			rv = cw_alsa.snd_pcm_hw_params_set_buffer_size(gen->alsa_data.handle, hw_params, accepted);
-+			rv = snd_pcm_hw_params_set_buffer_size(gen->alsa_data.handle, hw_params, accepted);
- 			if (rv < 0) {
- 				cw_debug_msg ((&cw_debug_object), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_ERROR,
--					      "cw_alsa: can't set accepted buffer size %u: %s", (unsigned int) accepted, cw_alsa.snd_strerror(rv));
-+					      "cw_alsa: can't set accepted buffer size %u: %s", (unsigned int) accepted, snd_strerror(rv));
- 			}
- 		} else {
- 			cw_debug_msg ((&cw_debug_object), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_ERROR,
-@@ -526,7 +456,7 @@ int cw_alsa_set_hw_params_internal(cw_gen_t *gen, snd_pcm_hw_params_t *hw_params
- 		/* this limit should be enough, "accepted" on my machine is 8 */
- 		const unsigned int n_periods_max = 30;
- 		for (unsigned int val = 1; val < n_periods_max; val++) {
--			rv = cw_alsa.snd_pcm_hw_params_test_periods(gen->alsa_data.handle, hw_params, val, dir);
-+			rv = snd_pcm_hw_params_test_periods(gen->alsa_data.handle, hw_params, val, dir);
- 			if (rv == 0) {
- 				accepted = val;
- 				cw_debug_msg ((&cw_debug_object_dev), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_INFO,
-@@ -534,10 +464,10 @@ int cw_alsa_set_hw_params_internal(cw_gen_t *gen, snd_pcm_hw_params_t *hw_params
- 			}
- 		}
- 		if (accepted > 0) {
--			rv = cw_alsa.snd_pcm_hw_params_set_periods(gen->alsa_data.handle, hw_params, accepted, dir);
-+			rv = snd_pcm_hw_params_set_periods(gen->alsa_data.handle, hw_params, accepted, dir);
- 			if (rv < 0) {
- 				cw_debug_msg ((&cw_debug_object_dev), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_ERROR,
--					      "cw_alsa: can't set accepted number of periods %d: %s", accepted, cw_alsa.snd_strerror(rv));
-+					      "cw_alsa: can't set accepted number of periods %d: %s", accepted, snd_strerror(rv));
- 			}
- 		} else {
- 			cw_debug_msg ((&cw_debug_object), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_ERROR,
-@@ -549,7 +479,7 @@ int cw_alsa_set_hw_params_internal(cw_gen_t *gen, snd_pcm_hw_params_t *hw_params
- 		/* Test period size */
- 		dir = 0;
- 		for (snd_pcm_uframes_t val = 0; val < 100000; val++) {
--			rv = cw_alsa.snd_pcm_hw_params_test_period_size(gen->alsa_data.handle, hw_params, val, dir);
-+			rv = snd_pcm_hw_params_test_period_size(gen->alsa_data.handle, hw_params, val, dir);
- 			if (rv == 0) {
- 				cw_debug_msg ((&cw_debug_object_dev), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_INFO,
- 					      "cw_alsa: accepted period size: %lu", val);
-@@ -562,7 +492,7 @@ int cw_alsa_set_hw_params_internal(cw_gen_t *gen, snd_pcm_hw_params_t *hw_params
- 		/* Test buffer time */
- 		dir = 0;
- 		for (unsigned int val = 0; val < 100000; val++) {
--			rv = cw_alsa.snd_pcm_hw_params_test_buffer_time(gen->alsa_data.handle, hw_params, val, dir);
-+			rv = snd_pcm_hw_params_test_buffer_time(gen->alsa_data.handle, hw_params, val, dir);
- 			if (rv == 0) {
- 				cw_debug_msg ((&cw_debug_object_dev), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_INFO,
- 					      "cw_alsa: accepted buffer time: %d", val);
-@@ -573,10 +503,10 @@ int cw_alsa_set_hw_params_internal(cw_gen_t *gen, snd_pcm_hw_params_t *hw_params
- #endif /* #if CW_ALSA_HW_BUFFER_CONFIG */
- 
- 	/* Save hw parameters to device */
--	rv = cw_alsa.snd_pcm_hw_params(gen->alsa_data.handle, hw_params);
-+	rv = snd_pcm_hw_params(gen->alsa_data.handle, hw_params);
- 	if (rv < 0) {
- 		cw_debug_msg ((&cw_debug_object), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_ERROR,
--			      "cw_alsa: can't save hw parameters: %s", cw_alsa.snd_strerror(rv));
-+			      "cw_alsa: can't save hw parameters: %s", snd_strerror(rv));
- 		return CW_FAILURE;
- 	} else {
- 		return CW_SUCCESS;
-@@ -600,30 +530,30 @@ int cw_alsa_print_params_internal(snd_pcm_hw_params_t *hw_params)
- 	unsigned int val = 0;
- 	int dir = 0;
- 
--	int rv = cw_alsa.snd_pcm_hw_params_get_periods(hw_params, &val, &dir);
-+	int rv = snd_pcm_hw_params_get_periods(hw_params, &val, &dir);
- 	if (rv < 0) {
- 		cw_debug_msg ((&cw_debug_object), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_ERROR,
--			      "cw_alsa: can't get 'periods': %s", cw_alsa.snd_strerror(rv));
-+			      "cw_alsa: can't get 'periods': %s", snd_strerror(rv));
- 	} else {
- 		cw_debug_msg ((&cw_debug_object_dev), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_INFO,
- 			      "cw_alsa: 'periods' = %u", val);
- 	}
- 
- 	snd_pcm_uframes_t period_size = 0;
--	rv = cw_alsa.snd_pcm_hw_params_get_period_size(hw_params, &period_size, &dir);
-+	rv = snd_pcm_hw_params_get_period_size(hw_params, &period_size, &dir);
- 	if (rv < 0) {
- 		cw_debug_msg ((&cw_debug_object), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_ERROR,
--			      "cw_alsa: can't get 'period size': %s", cw_alsa.snd_strerror(rv));
-+			      "cw_alsa: can't get 'period size': %s", snd_strerror(rv));
- 	} else {
- 		cw_debug_msg ((&cw_debug_object_dev), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_INFO,
- 			      "cw_alsa: 'period size' = %u", (unsigned int) period_size);
- 	}
- 
- 	snd_pcm_uframes_t buffer_size;
--	rv = cw_alsa.snd_pcm_hw_params_get_buffer_size(hw_params, &buffer_size);
-+	rv = snd_pcm_hw_params_get_buffer_size(hw_params, &buffer_size);
- 	if (rv < 0) {
- 		cw_debug_msg ((&cw_debug_object), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_ERROR,
--			      "cw_alsa: can't get buffer size: %s", cw_alsa.snd_strerror(rv));
-+			      "cw_alsa: can't get buffer size: %s", snd_strerror(rv));
- 	} else {
- 		cw_debug_msg ((&cw_debug_object_dev), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_INFO,
- 			      "cw_alsa: 'buffer size' = %u", (unsigned int) buffer_size);
-@@ -642,70 +572,9 @@ int cw_alsa_print_params_internal(snd_pcm_hw_params_t *hw_params)
- 
- 
- 
--/**
--   \brief Resolve/get symbols from ALSA library
--
--   Function resolves/gets addresses of few ALSA functions used by
--   libcw and stores them in cw_alsa global variable.
--
--   On failure the function returns negative value, different for every
--   symbol that the funciton failed to resolve. Function stops and returns
--   on first failure.
--
--   \param handle - handle to open ALSA library
--
--   \return 0 on success
--   \return negative value on failure
--*/
--static int cw_alsa_dlsym_internal(void *handle)
--{
--	*(void **) &(cw_alsa.snd_pcm_open)    = dlsym(handle, "snd_pcm_open");
--	if (!cw_alsa.snd_pcm_open)    return -1;
--	*(void **) &(cw_alsa.snd_pcm_close)   = dlsym(handle, "snd_pcm_close");
--	if (!cw_alsa.snd_pcm_close)   return -2;
--	*(void **) &(cw_alsa.snd_pcm_prepare) = dlsym(handle, "snd_pcm_prepare");
--	if (!cw_alsa.snd_pcm_prepare) return -3;
--	*(void **) &(cw_alsa.snd_pcm_drop)    = dlsym(handle, "snd_pcm_drop");
--	if (!cw_alsa.snd_pcm_drop)    return -4;
--	*(void **) &(cw_alsa.snd_pcm_writei)  = dlsym(handle, "snd_pcm_writei");
--	if (!cw_alsa.snd_pcm_writei)  return -5;
--
--	*(void **) &(cw_alsa.snd_strerror) = dlsym(handle, "snd_strerror");
--	if (!cw_alsa.snd_strerror) return -10;
--
--	*(void **) &(cw_alsa.snd_pcm_hw_params_malloc)               = dlsym(handle, "snd_pcm_hw_params_malloc");
--	if (!cw_alsa.snd_pcm_hw_params_malloc)              return -20;
--	*(void **) &(cw_alsa.snd_pcm_hw_params_any)                  = dlsym(handle, "snd_pcm_hw_params_any");
--	if (!cw_alsa.snd_pcm_hw_params_any)                 return -21;
--	*(void **) &(cw_alsa.snd_pcm_hw_params_set_format)           = dlsym(handle, "snd_pcm_hw_params_set_format");
--	if (!cw_alsa.snd_pcm_hw_params_set_format)          return -22;
--	*(void **) &(cw_alsa.snd_pcm_hw_params_set_rate_near)        = dlsym(handle, "snd_pcm_hw_params_set_rate_near");
--	if (!cw_alsa.snd_pcm_hw_params_set_rate_near)       return -23;
--	*(void **) &(cw_alsa.snd_pcm_hw_params_set_access)           = dlsym(handle, "snd_pcm_hw_params_set_access");
--	if (!cw_alsa.snd_pcm_hw_params_set_access)          return -24;
--	*(void **) &(cw_alsa.snd_pcm_hw_params_set_channels)         = dlsym(handle, "snd_pcm_hw_params_set_channels");
--	if (!cw_alsa.snd_pcm_hw_params_set_channels)        return -25;
--	*(void **) &(cw_alsa.snd_pcm_hw_params)                      = dlsym(handle, "snd_pcm_hw_params");
--	if (!cw_alsa.snd_pcm_hw_params)                     return -26;
--	*(void **) &(cw_alsa.snd_pcm_hw_params_get_periods)          = dlsym(handle, "snd_pcm_hw_params_get_periods");
--	if (!cw_alsa.snd_pcm_hw_params_get_periods)         return -27;
--	*(void **) &(cw_alsa.snd_pcm_hw_params_get_period_size)      = dlsym(handle, "snd_pcm_hw_params_get_period_size");
--	if (!cw_alsa.snd_pcm_hw_params_get_period_size)     return -28;
--	*(void **) &(cw_alsa.snd_pcm_hw_params_get_period_size_min)  = dlsym(handle, "snd_pcm_hw_params_get_period_size_min");
--	if (!cw_alsa.snd_pcm_hw_params_get_period_size_min) return -29;
--	*(void **) &(cw_alsa.snd_pcm_hw_params_get_buffer_size)      = dlsym(handle, "snd_pcm_hw_params_get_buffer_size");
--	if (!cw_alsa.snd_pcm_hw_params_get_buffer_size)     return -30;
--
--	return 0;
--}
--
--
--
--
--
- void cw_alsa_drop(cw_gen_t *gen)
- {
--	cw_alsa.snd_pcm_drop(gen->alsa_data.handle);
-+	snd_pcm_drop(gen->alsa_data.handle);
- 
- 	return;
- }
-@@ -721,7 +590,7 @@ void cw_alsa_drop(cw_gen_t *gen)
- 
- 
- #include 
--#include "libcw_alsa.h"
-+#include "libh"
- 
- 
- 
-diff --git a/src/libcw/libcw_pa.c b/src/libcw/libcw_pa.c
-index 8269e9d..e190200 100644
---- a/src/libcw/libcw_pa.c
-+++ b/src/libcw/libcw_pa.c
-@@ -39,7 +39,6 @@
- #include 
- #include 
- #include 
--#include  /* dlopen() and related symbols */
- #include 
- #include 
- #include 
-@@ -63,39 +62,12 @@ extern cw_debug_t cw_debug_object_dev;
- 
- 
- static pa_simple *cw_pa_simple_new_internal(pa_sample_spec *ss, pa_buffer_attr *ba, const char *device, const char *stream_name, int *error);
--static int        cw_pa_dlsym_internal(void *handle);
- static int        cw_pa_open_device_internal(cw_gen_t *gen);
- static void       cw_pa_close_device_internal(cw_gen_t *gen);
- static int        cw_pa_write_internal(cw_gen_t *gen);
- 
- 
- 
--static struct {
--	void *handle;
--
--	pa_simple *(* pa_simple_new)(const char *server, const char *name, pa_stream_direction_t dir, const char *dev, const char *stream_name, const pa_sample_spec *ss, const pa_channel_map *map, const pa_buffer_attr *attr, int *error);
--	void       (* pa_simple_free)(pa_simple *s);
--	int        (* pa_simple_write)(pa_simple *s, const void *data, size_t bytes, int *error);
--	pa_usec_t  (* pa_simple_get_latency)(pa_simple *s, int *error);
--	int        (* pa_simple_drain)(pa_simple *s, int *error);
--
--	size_t     (* pa_usec_to_bytes)(pa_usec_t t, const pa_sample_spec *spec);
--	char      *(* pa_strerror)(int error);
--} cw_pa = {
--	.handle = NULL,
--
--	.pa_simple_new = NULL,
--	.pa_simple_free = NULL,
--	.pa_simple_write = NULL,
--	.pa_simple_get_latency = NULL,
--	.pa_simple_drain = NULL,
--
--	.pa_usec_to_bytes = NULL,
--	.pa_strerror = NULL
--};
--
--
--
- 
- static const pa_sample_format_t CW_PA_SAMPLE_FORMAT = PA_SAMPLE_S16LE; /* Signed 16 bit, Little Endian */
- static const int CW_PA_BUFFER_N_SAMPLES = 1024;
-@@ -117,21 +89,6 @@ static const int CW_PA_BUFFER_N_SAMPLES = 1024;
- */
- bool cw_is_pa_possible(const char *device)
- {
--	const char *library_name = "libpulse-simple.so";
--	if (!cw_dlopen_internal(library_name, &(cw_pa.handle))) {
--		cw_debug_msg ((&cw_debug_object), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_ERROR,
--			      "libcw_pa: can't access PulseAudio library \"%s\"", library_name);
--		return false;
--	}
--
--	int rv = cw_pa_dlsym_internal(cw_pa.handle);
--	if (rv < 0) {
--		cw_debug_msg ((&cw_debug_object), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_ERROR,
--			      "libcw_pa: failed to resolve PulseAudio symbol #%d, can't correctly load PulseAudio library", rv);
--		dlclose(cw_pa.handle);
--		return false;
--	}
--
- 	const char *dev = (char *) NULL;
- 	if (device && strcmp(device, CW_DEFAULT_PA_DEVICE)) {
- 		dev = device;
-@@ -145,13 +102,10 @@ bool cw_is_pa_possible(const char *device)
- 
- 	if (!s) {
- 		cw_debug_msg ((&cw_debug_object), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_ERROR,
--			      "libcw_pa: can't connect to PulseAudio server: %s", cw_pa.pa_strerror(error));
--		if (cw_pa.handle) {
--			dlclose(cw_pa.handle);
--		}
-+			      "libcw_pa: can't connect to PulseAudio server: %s", pa_strerror(error));
- 		return false;
- 	} else {
--		cw_pa.pa_simple_free(s);
-+		pa_simple_free(s);
- 		s = NULL;
- 		return true;
- 	}
-@@ -186,10 +140,10 @@ int cw_pa_write_internal(cw_gen_t *gen)
- 
- 	int error = 0;
- 	size_t n_bytes = sizeof (gen->buffer[0]) * gen->buffer_n_samples;
--	int rv = cw_pa.pa_simple_write(gen->pa_data.s, gen->buffer, n_bytes, &error);
-+	int rv = pa_simple_write(gen->pa_data.s, gen->buffer, n_bytes, &error);
- 	if (rv < 0) {
- 		cw_debug_msg ((&cw_debug_object), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_ERROR,
--			      "libcw_pa: pa_simple_write() failed: %s", cw_pa.pa_strerror(error));
-+			      "libcw_pa: pa_simple_write() failed: %s", pa_strerror(error));
- 	} else {
- 		//cw_debug_msg ((&cw_debug_object_dev), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_INFO, "libcw_pa: written %d samples with PulseAudio", gen->buffer_n_samples);
- 	}
-@@ -237,13 +191,13 @@ pa_simple *cw_pa_simple_new_internal(pa_sample_spec *ss, pa_buffer_attr *ba, con
- 	}
- 
- 	// http://www.mail-archive.com/pulseaudio-tickets@mail.0pointer.de/msg03295.html
--	ba->tlength = cw_pa.pa_usec_to_bytes(50*1000, ss);
--	ba->minreq = cw_pa.pa_usec_to_bytes(0, ss);
--	ba->maxlength = cw_pa.pa_usec_to_bytes(50*1000, ss);
-+	ba->tlength = pa_usec_to_bytes(50*1000, ss);
-+	ba->minreq = pa_usec_to_bytes(0, ss);
-+	ba->maxlength = pa_usec_to_bytes(50*1000, ss);
- 	/* ba->prebuf = ; */ /* ? */
- 	/* ba->fragsize = sizeof(uint32_t) -1; */ /* not relevant to playback */
- 
--	pa_simple *s = cw_pa.pa_simple_new(NULL,                  /* server name (NULL for default) */
-+	pa_simple *s = pa_simple_new(NULL,                  /* server name (NULL for default) */
- 					   "libcw",               /* descriptive name of client (application name etc.) */
- 					   PA_STREAM_PLAYBACK,    /* stream direction */
- 					   dev,                   /* device/sink name (NULL for default) */
-@@ -258,47 +212,6 @@ pa_simple *cw_pa_simple_new_internal(pa_sample_spec *ss, pa_buffer_attr *ba, con
- 
- 
- 
--
--
--/**
--   \brief Resolve/get symbols from PulseAudio library
--
--   Function resolves/gets addresses of few PulseAudio functions used by
--   libcw and stores them in cw_pa global variable.
--
--   On failure the function returns negative value, different for every
--   symbol that the funciton failed to resolve. Function stops and returns
--   on first failure.
--
--   \param handle - handle to open PulseAudio library
--
--   \return 0 on success
--   \return negative value on failure
--*/
--int cw_pa_dlsym_internal(void *handle)
--{
--	*(void **) &(cw_pa.pa_simple_new)         = dlsym(handle, "pa_simple_new");
--	if (!cw_pa.pa_simple_new)         return -1;
--	*(void **) &(cw_pa.pa_simple_free)        = dlsym(handle, "pa_simple_free");
--	if (!cw_pa.pa_simple_free)        return -2;
--	*(void **) &(cw_pa.pa_simple_write)       = dlsym(handle, "pa_simple_write");
--	if (!cw_pa.pa_simple_write)       return -3;
--	*(void **) &(cw_pa.pa_strerror)           = dlsym(handle, "pa_strerror");
--	if (!cw_pa.pa_strerror)           return -4;
--	*(void **) &(cw_pa.pa_simple_get_latency) = dlsym(handle, "pa_simple_get_latency");
--	if (!cw_pa.pa_simple_get_latency) return -5;
--	*(void **) &(cw_pa.pa_simple_drain)       = dlsym(handle, "pa_simple_drain");
--	if (!cw_pa.pa_simple_drain)       return -6;
--	*(void **) &(cw_pa.pa_usec_to_bytes)      = dlsym(handle, "pa_usec_to_bytes");
--	if (!cw_pa.pa_usec_to_bytes)       return -7;
--
--	return 0;
--}
--
--
--
--
--
- /**
-    \brief Open PulseAudio output, associate it with given generator
- 
-@@ -325,16 +238,16 @@ int cw_pa_open_device_internal(cw_gen_t *gen)
- 
-  	if (!gen->pa_data.s) {
- 		cw_debug_msg ((&cw_debug_object_dev), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_ERROR,
--			      "libcw_pa: can't connect to PulseAudio server: %s", cw_pa.pa_strerror(error));
-+			      "libcw_pa: can't connect to PulseAudio server: %s", pa_strerror(error));
- 		return false;
- 	}
- 
- 	gen->buffer_n_samples = CW_PA_BUFFER_N_SAMPLES;
- 	gen->sample_rate = gen->pa_data.ss.rate;
- 
--	if ((gen->pa_data.latency_usecs = cw_pa.pa_simple_get_latency(gen->pa_data.s, &error)) == (pa_usec_t) -1) {
-+	if ((gen->pa_data.latency_usecs = pa_simple_get_latency(gen->pa_data.s, &error)) == (pa_usec_t) -1) {
- 		cw_debug_msg ((&cw_debug_object_dev), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_ERROR,
--			      "libcw_pa: pa_simple_get_latency() failed: %s", cw_pa.pa_strerror(error));
-+			      "libcw_pa: pa_simple_get_latency() failed: %s", pa_strerror(error));
- 	}
- 
- #if CW_DEV_RAW_SINK
-@@ -357,20 +270,17 @@ void cw_pa_close_device_internal(cw_gen_t *gen)
- 	if (gen->pa_data.s) {
- 		/* Make sure that every single sample was played */
- 		int error;
--		if (cw_pa.pa_simple_drain(gen->pa_data.s, &error) < 0) {
-+		if (pa_simple_drain(gen->pa_data.s, &error) < 0) {
- 			cw_debug_msg ((&cw_debug_object_dev), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_ERROR,
--				      "libcw_pa: pa_simple_drain() failed: %s", cw_pa.pa_strerror(error));
-+				      "libcw_pa: pa_simple_drain() failed: %s", pa_strerror(error));
- 		}
--		cw_pa.pa_simple_free(gen->pa_data.s);
-+		pa_simple_free(gen->pa_data.s);
- 		gen->pa_data.s = NULL;
- 	} else {
- 		cw_debug_msg ((&cw_debug_object_dev), CW_DEBUG_SOUND_SYSTEM, CW_DEBUG_WARNING,
- 			      "libcw_pa: called the function for NULL PA sink");
- 	}
- 
--	if (cw_pa.handle) {
--		dlclose(cw_pa.handle);
--	}
- 
- #if CW_DEV_RAW_SINK
- 	if (gen->dev_raw_sink != -1) {
--- 
-2.16.2
-
diff --git a/pkgs/by-name/un/unrar/package.nix b/pkgs/by-name/un/unrar/package.nix
index f8abd48da089..20aab1bed077 100644
--- a/pkgs/by-name/un/unrar/package.nix
+++ b/pkgs/by-name/un/unrar/package.nix
@@ -6,12 +6,12 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "unrar";
-  version = "7.1.6";
+  version = "7.1.7";
 
   src = fetchzip {
     url = "https://www.rarlab.com/rar/unrarsrc-${finalAttrs.version}.tar.gz";
     stripRoot = false;
-    hash = "sha256-2Ur4J+BUWB7SaSwFzMSDwALFMelhB7r1tlvW2fcTWXg=";
+    hash = "sha256-vh8/VS8YmHijDIsbmD0OIO2AIqpLAS2U1pv392TFqdw=";
   };
 
   sourceRoot = finalAttrs.src.name;
diff --git a/pkgs/by-name/un/unstructured-api/package.nix b/pkgs/by-name/un/unstructured-api/package.nix
index a6e0bc77c337..309f2e68b524 100644
--- a/pkgs/by-name/un/unstructured-api/package.nix
+++ b/pkgs/by-name/un/unstructured-api/package.nix
@@ -144,7 +144,7 @@ let
     ++ google-api-core.optional-dependencies.grpc
     ++ unstructured.optional-dependencies.all-docs
   );
-  version = "0.0.85";
+  version = "0.0.86";
   unstructured_api_nltk_data = python3.pkgs.nltk.dataDir (d: [
     d.punkt
     d.averaged-perceptron-tagger
@@ -158,7 +158,7 @@ stdenvNoCC.mkDerivation {
     owner = "Unstructured-IO";
     repo = "unstructured-api";
     rev = version;
-    hash = "sha256-FNcm/7JxQE6ZksFtEgInnUhbKArZoyo9rlxhyHgRG3E=";
+    hash = "sha256-8GjBhuZJUt+dN3DuC2tqzPFblZNzLJsYu0ZAh7asdyM=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/by-name/up/upbound/sources-main.json b/pkgs/by-name/up/upbound/sources-main.json
index 215a5d1af933..cbdbbe3b9af6 100644
--- a/pkgs/by-name/up/upbound/sources-main.json
+++ b/pkgs/by-name/up/upbound/sources-main.json
@@ -8,38 +8,38 @@
   "fetchurlAttrSet": {
     "docker-credential-up": {
       "aarch64-darwin": {
-        "hash": "sha256-8VKSDsmuYu/GaKo4JybWEnd+gbW9ZSjEoNlZ7SEans0=",
-        "url": "https://cli.upbound.io/main/v0.39.0-8.gfb176095/bundle/docker-credential-up/darwin_arm64.tar.gz"
+        "hash": "sha256-EPJXlxa4Vx7jzdX5/ekIer/EKTAFuqWBcAp4mYyS+JA=",
+        "url": "https://cli.upbound.io/main/v0.39.0-43.g3cca6045/bundle/docker-credential-up/darwin_arm64.tar.gz"
       },
       "aarch64-linux": {
-        "hash": "sha256-WPllvTQJr5S6g2h9fe3qXKL/CH7XzADbNRoy+6rex6A=",
-        "url": "https://cli.upbound.io/main/v0.39.0-8.gfb176095/bundle/docker-credential-up/linux_arm64.tar.gz"
+        "hash": "sha256-cM8F+Qyg34ypdIusI2jFOzoxM3B+tLRyvmqdeUSpz0c=",
+        "url": "https://cli.upbound.io/main/v0.39.0-43.g3cca6045/bundle/docker-credential-up/linux_arm64.tar.gz"
       },
       "x86_64-darwin": {
-        "hash": "sha256-bdKjFgJuKbFQDX1dgz6y2Ue6cFnu4Dec+I7FX+fo/pA=",
-        "url": "https://cli.upbound.io/main/v0.39.0-8.gfb176095/bundle/docker-credential-up/darwin_amd64.tar.gz"
+        "hash": "sha256-jvBe0GEDNMj3HlbMBFcwS1CA2y3QnDkYgv943GW0tLs=",
+        "url": "https://cli.upbound.io/main/v0.39.0-43.g3cca6045/bundle/docker-credential-up/darwin_amd64.tar.gz"
       },
       "x86_64-linux": {
-        "hash": "sha256-ieP9uiRcgcYqYClB7vGdHF1IpjH61dXD8bqpPPy2Uik=",
-        "url": "https://cli.upbound.io/main/v0.39.0-8.gfb176095/bundle/docker-credential-up/linux_amd64.tar.gz"
+        "hash": "sha256-c/tjuO3j+pYFlyGRAeA3jJLit4sZqreEzMa0LRxnTv0=",
+        "url": "https://cli.upbound.io/main/v0.39.0-43.g3cca6045/bundle/docker-credential-up/linux_amd64.tar.gz"
       }
     },
     "up": {
       "aarch64-darwin": {
-        "hash": "sha256-YYsgNpNVnTp2bPIp9DD1l0YwHcEpMknu7RrIUQ5scCo=",
-        "url": "https://cli.upbound.io/main/v0.39.0-8.gfb176095/bundle/up/darwin_arm64.tar.gz"
+        "hash": "sha256-ecNGveGSxYsKFGkAqWNkpr8RKquL1k+/8LsZBNEgWq8=",
+        "url": "https://cli.upbound.io/main/v0.39.0-43.g3cca6045/bundle/up/darwin_arm64.tar.gz"
       },
       "aarch64-linux": {
-        "hash": "sha256-wone2UA+Z0wCISQ/PsfYdQqNkX5txVVEyx4a8JnLHXo=",
-        "url": "https://cli.upbound.io/main/v0.39.0-8.gfb176095/bundle/up/linux_arm64.tar.gz"
+        "hash": "sha256-70c9eE+SewPICRPzIdOmAj503xB/cL5ud2sQc4uJkJQ=",
+        "url": "https://cli.upbound.io/main/v0.39.0-43.g3cca6045/bundle/up/linux_arm64.tar.gz"
       },
       "x86_64-darwin": {
-        "hash": "sha256-hxLZGWq94eHro4G9VJY+FLoz6AHuhm1quP/bhTzBXhE=",
-        "url": "https://cli.upbound.io/main/v0.39.0-8.gfb176095/bundle/up/darwin_amd64.tar.gz"
+        "hash": "sha256-DQZNsUYLM97zo7ua5xmxSqkxbC91qqLe49yI6X9ELbM=",
+        "url": "https://cli.upbound.io/main/v0.39.0-43.g3cca6045/bundle/up/darwin_amd64.tar.gz"
       },
       "x86_64-linux": {
-        "hash": "sha256-GwAu6z6A4HUhc6vO6xiKZlITm5xiLas8zffuWnesji8=",
-        "url": "https://cli.upbound.io/main/v0.39.0-8.gfb176095/bundle/up/linux_amd64.tar.gz"
+        "hash": "sha256-WmsFhA5fteS3+12wPAGym0TZHax+v3zicbh+48aaW0Q=",
+        "url": "https://cli.upbound.io/main/v0.39.0-43.g3cca6045/bundle/up/linux_amd64.tar.gz"
       }
     }
   },
@@ -49,5 +49,5 @@
     "x86_64-darwin",
     "x86_64-linux"
   ],
-  "version": "0.39.0-8.gfb176095"
+  "version": "0.39.0-43.g3cca6045"
 }
diff --git a/pkgs/by-name/up/upcloud-cli/package.nix b/pkgs/by-name/up/upcloud-cli/package.nix
index 7985098dc9c8..ad86a7220300 100644
--- a/pkgs/by-name/up/upcloud-cli/package.nix
+++ b/pkgs/by-name/up/upcloud-cli/package.nix
@@ -4,23 +4,24 @@
   fetchFromGitHub,
   nix-update-script,
   versionCheckHook,
+  dbus,
 }:
 
-buildGoModule rec {
+buildGoModule (finalAttrs: {
   pname = "upcloud-cli";
-  version = "3.15.0";
+  version = "3.20.1";
 
   src = fetchFromGitHub {
     owner = "UpCloudLtd";
     repo = "upcloud-cli";
-    tag = "v${version}";
-    hash = "sha256-bluq5rrfsd8xmKeqtNDqsZnhEAVZ4VqY/eYvOzXFKv4=";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-X+nv9MA20z2fJ2N+gyUkwGCHjX2hYMHSv8jfwKbegNE=";
   };
 
-  vendorHash = "sha256-J0hLDQzyLYa8Nao0pR2eRkuJ5gP2VM9z+2n694YDYgI=";
+  vendorHash = "sha256-kyIsTNLC1hKsSbZel97eUtBLyH/3iTEvSMsV+6u347c=";
 
   ldflags = [
-    "-s -w -X github.com/UpCloudLtd/upcloud-cli/v3/internal/config.Version=${version}"
+    "-s -w -X github.com/UpCloudLtd/upcloud-cli/v3/internal/config.Version=${finalAttrs.version}"
   ];
 
   subPackages = [
@@ -28,23 +29,29 @@ buildGoModule rec {
     "internal/*"
   ];
 
-  nativeInstallCheckInputs = [
-    versionCheckHook
-  ];
+  nativeCheckInputs = [ dbus ];
+
+  checkFlags =
+    let
+      skippedTests = [
+        "TestConfig_LoadKeyring" # Not equal: expected: "unittest_password" actual  : ""
+      ];
+    in
+    [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
+
+  nativeInstallCheckInputs = [ versionCheckHook ];
   versionCheckProgram = "${placeholder "out"}/bin/upctl";
   versionCheckProgramArg = "version";
   doInstallCheck = true;
 
-  passthru = {
-    updateScript = nix-update-script { };
-  };
+  passthru.updateScript = nix-update-script { };
 
   meta = {
-    changelog = "https://github.com/UpCloudLtd/upcloud-cli/blob/refs/tags/v${version}/CHANGELOG.md";
+    changelog = "https://github.com/UpCloudLtd/upcloud-cli/blob/refs/tags/v${finalAttrs.version}/CHANGELOG.md";
     description = "Command-line tool for managing UpCloud services";
     homepage = "https://github.com/UpCloudLtd/upcloud-cli";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ lu1a ];
     mainProgram = "upctl";
   };
-}
+})
diff --git a/pkgs/by-name/up/upsies/package.nix b/pkgs/by-name/up/upsies/package.nix
new file mode 100644
index 000000000000..14345ea5a0da
--- /dev/null
+++ b/pkgs/by-name/up/upsies/package.nix
@@ -0,0 +1,101 @@
+{
+  lib,
+  fetchFromGitea,
+  fetchpatch,
+  ffmpeg-headless,
+  mediainfo,
+  oxipng,
+  python3Packages,
+}:
+let
+  # Taken from `docker/alpine/Dockerfile`
+  runtimeDeps = [
+    ffmpeg-headless
+    mediainfo
+    oxipng
+  ];
+in
+python3Packages.buildPythonApplication rec {
+  pname = "upsies";
+  version = "2025.04.21";
+  pyproject = true;
+
+  src = fetchFromGitea {
+    domain = "codeberg.org";
+    owner = "plotski";
+    repo = "upsies";
+    tag = "v${version}";
+    hash = "sha256-gjv0HOFV1VdfhVejGbV2+bMxP9BPfB3/3p6nOAYMS34=";
+  };
+
+  patches = [
+    (fetchpatch {
+      name = "use-pytest-timeout.patch";
+      url = "https://codeberg.org/plotski/upsies/commit/db6b564f8575c913a6fbabb61d5326a073c9b52c.patch";
+      hash = "sha256-UeUrZ6ogUSS0FvyNQwwwp8q+FArEK61o+Y2Uh7mrPtw=";
+      revert = true;
+    })
+  ];
+
+  build-system = with python3Packages; [
+    setuptools
+  ];
+
+  dependencies = with python3Packages; [
+    aiobtclientapi
+    async-lru
+    beautifulsoup4
+    countryguess
+    guessit
+    httpx
+    langcodes
+    natsort
+    packaging
+    prompt-toolkit
+    pydantic
+    pyimgbox
+    pyparsebluray
+    pyxdg
+    term-image
+    torf
+    unidecode
+  ];
+
+  nativeCheckInputs =
+    with python3Packages;
+    [
+      pytest-asyncio
+      pytest-mock
+      pytest-timeout
+      pytest-httpserver
+      pytestCheckHook
+      trustme
+    ]
+    ++ runtimeDeps;
+
+  disabledTestPaths = [
+    # DNS resolution errors in the sandbox on some of the tests
+    "tests/utils_test/http_test/http_test.py"
+    "tests/utils_test/http_test/http_tls_test.py"
+  ];
+
+  preCheck = ''
+    # `utils.is_running_in_development_environment` expects it in tests
+    export VIRTUAL_ENV=1
+  '';
+
+  makeWrapperArgs = [
+    "--suffix"
+    "PATH"
+    ":"
+    (lib.makeBinPath runtimeDeps)
+  ];
+
+  meta = with lib; {
+    description = "a toolkit for collecting, generating, normalizing and sharing video metadata";
+    homepage = "https://upsies.readthedocs.io/";
+    license = with licenses; [ gpl3Plus ];
+    mainProgram = "upsies";
+    maintainers = with maintainers; [ ambroisie ];
+  };
+}
diff --git a/pkgs/by-name/us/usage/package.nix b/pkgs/by-name/us/usage/package.nix
index 9a8c5edb764a..364b88c7b9f3 100644
--- a/pkgs/by-name/us/usage/package.nix
+++ b/pkgs/by-name/us/usage/package.nix
@@ -1,27 +1,26 @@
 {
   lib,
+  stdenv,
   rustPlatform,
   fetchFromGitHub,
-  stdenv,
   installShellFiles,
   nix-update-script,
   usage,
   testers,
 }:
 
-rustPlatform.buildRustPackage rec {
+rustPlatform.buildRustPackage (finalAttrs: {
   pname = "usage";
-  version = "2.0.5";
+  version = "2.1.1";
 
   src = fetchFromGitHub {
     owner = "jdx";
     repo = "usage";
-    rev = "v${version}";
-    hash = "sha256-No/BDBW/NRnF81UOuAMrAs4cXEdzEAxnmkn67mReUcM=";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-aMO/3geF1iFnMi0ZqBdnikp/Qh25vqpeaxdTiQtt5yI=";
   };
 
-  useFetchCargoVendor = true;
-  cargoHash = "sha256-W/CuXzwacarxgVv12TMVfo7Fr9qKJ7aZIO8xf4SygNA=";
+  cargoHash = "sha256-0NQZtT3xz4MaqY8ehKzy/cpDJlE5eWIixi3IropK11w=";
 
   postPatch = ''
     substituteInPlace ./examples/mounted.sh \
@@ -45,9 +44,9 @@ rustPlatform.buildRustPackage rec {
   meta = {
     homepage = "https://usage.jdx.dev";
     description = "Specification for CLIs";
-    changelog = "https://github.com/jdx/usage/releases/tag/v${version}";
+    changelog = "https://github.com/jdx/usage/releases/tag/v${finalAttrs.version}";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ konradmalik ];
     mainProgram = "usage";
   };
-}
+})
diff --git a/pkgs/by-name/us/usbguard-notifier/package.nix b/pkgs/by-name/us/usbguard-notifier/package.nix
index 806373d109e8..ba9adbd40060 100644
--- a/pkgs/by-name/us/usbguard-notifier/package.nix
+++ b/pkgs/by-name/us/usbguard-notifier/package.nix
@@ -2,7 +2,6 @@
   lib,
   stdenv,
   fetchFromGitHub,
-  fetchpatch,
   autoreconfHook,
   pkg-config,
   libqb,
@@ -13,32 +12,29 @@
   asciidoc,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "usbguard-notifier";
-  version = "0.1.0";
+  version = "0.1.1";
 
   src = fetchFromGitHub {
     owner = "Cropi";
     repo = "usbguard-notifier";
-    rev = "usbguard-notifier-${version}";
-    hash = "sha256-gWvCGSbOuey2ELAPD2WCG4q77IClL0S7rE2RaUJDc1I=";
+    tag = "usbguard-notifier-${finalAttrs.version}";
+    hash = "sha256-EP+NUzT5nu7rJeSEyxs/JARVx7jH2Vip73ksmQw+ABM=";
   };
 
-  patches = [
-    # gcc-13 compatibility upstream fix:
-    #   https://github.com/Cropi/usbguard-notifier/pull/74
-    (fetchpatch {
-      name = "gcc-13.patch";
-      url = "https://github.com/Cropi/usbguard-notifier/commit/f4586b732c8a7379aacbc9899173beeacfd54793.patch";
-      hash = "sha256-2q/qD6yEQUPxA/UutGIZKFJ3hHJ8ZlGMZI1wJyMRbmo=";
-    })
-  ];
+  postPatch = ''
+    substituteInPlace configure.ac \
+      --replace-fail 'AC_MSG_FAILURE([Cannot detect the systemd system unit dir])' \
+        'systemd_unit_dir="$out/lib/systemd/user"'
+  '';
 
   nativeBuildInputs = [
     autoreconfHook
     pkg-config
     asciidoc
   ];
+
   buildInputs = [
     libqb
     usbguard
@@ -48,12 +44,6 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "CPPFLAGS=-I${catch2}/include/catch2" ];
 
-  prePatch = ''
-    substituteInPlace configure.ac \
-      --replace 'AC_MSG_FAILURE([Cannot detect the systemd system unit dir])' \
-        'systemd_unit_dir="$out/lib/systemd/user"'
-  '';
-
   meta = {
     description = "Notifications for detecting usbguard policy and device presence changes";
     homepage = "https://github.com/Cropi/usbguard-notifier";
@@ -62,4 +52,4 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2Plus;
     mainProgram = "usbguard-notifier";
   };
-}
+})
diff --git a/pkgs/by-name/us/usbkvm/package.nix b/pkgs/by-name/us/usbkvm/package.nix
index a70b5773a975..76ec6030d3d7 100644
--- a/pkgs/by-name/us/usbkvm/package.nix
+++ b/pkgs/by-name/us/usbkvm/package.nix
@@ -1,51 +1,72 @@
 {
+  lib,
+  stdenv,
   buildGoModule,
   fetchzip,
   gst_all_1,
   gtkmm3,
   hidapi,
-  lib,
   makeWrapper,
   meson,
   ninja,
   pkg-config,
   python3,
-  stdenv,
   udev,
   udevCheckHook,
   wrapGAppsHook3,
 }:
 
 let
-  version = "0.2.0";
+  version = "0.3.0";
 
   src = fetchzip {
     url = "https://github.com/carrotIndustries/usbkvm/releases/download/v${version}/usbkvm-v${version}.tar.gz";
-    sha256 = "sha256-ng6YpaN7sKEBPJcJAm0kcYtT++orweWRx6uOZFnOGG8=";
+    hash = "sha256-urexPODXU69QfSRHtJVpoDx/6mbPcv6EQ3mR0VRHNiY=";
   };
 
   ms-tools-lib = buildGoModule {
     pname = "usbkvm-ms-tools-lib";
-    inherit version;
+    inherit version src;
 
-    inherit src;
     sourceRoot = "${src.name}/ms-tools";
+
     vendorHash = null; # dependencies are vendored in the release tarball
 
-    buildInputs = [
-      hidapi
-    ];
+    buildInputs = [ hidapi ];
 
     buildPhase = ''
+      runHook preBuild
+
       mkdir -p $out/
       go build -C lib/ -o $out/ -buildmode=c-archive mslib.go
+
+      runHook postBuild
     '';
+
+    meta = {
+      homepage = "https://github.com/carrotIndustries/ms-tools";
+      description = "Program, library and reference designs to develop for MacroSilicon MS2106/MS2109/MS2130 chips";
+      license = lib.licenses.mit;
+    };
   };
 in
 stdenv.mkDerivation {
   pname = "usbkvm";
   inherit version src;
 
+  # The package includes instructions to build the "mslib.{a,h}" files using a
+  # Go compiler, but that doesn't work in the Nix sandbox. We patch out this
+  # build step to instead copy those files from the Nix store:
+  patches = [
+    ./precompiled-mslib.patch
+  ];
+
+  postPatch = ''
+    substituteInPlace meson.build \
+      --replace-fail "@MSLIB_A_PRECOMPILED@" "${ms-tools-lib}/mslib.a" \
+      --replace-fail "@MSLIB_H_PRECOMPILED@" "${ms-tools-lib}/mslib.h"
+  '';
+
   nativeBuildInputs = [
     pkg-config
     python3
@@ -63,18 +84,6 @@ stdenv.mkDerivation {
     hidapi
   ];
 
-  # The package includes instructions to build the "mslib.{a,h}" files using a
-  # Go compiler, but that doesn't work in the Nix sandbox. We patch out this
-  # build step to instead copy those files from the Nix store:
-  patches = [
-    ./precompiled-mslib.patch
-  ];
-  postPatch = ''
-    substituteInPlace meson.build \
-      --replace-fail "@MSLIB_A_PRECOMPILED@" "${ms-tools-lib}/mslib.a" \
-      --replace-fail "@MSLIB_H_PRECOMPILED@" "${ms-tools-lib}/mslib.h"
-  '';
-
   # Install udev rules in this package's out path:
   mesonFlags = [
     "-Dudevrulesdir=lib/udev/rules.d"
@@ -98,7 +107,7 @@ stdenv.mkDerivation {
     homepage = "https://github.com/carrotIndustries/usbkvm";
     description = "Open-source USB KVM (Keyboard, Video and Mouse) adapter";
     changelog = "https://github.com/carrotIndustries/usbkvm/releases/tag/v${version}";
-    license = lib.licenses.gpl3;
+    license = lib.licenses.gpl3Only;
     maintainers = with lib.maintainers; [ lschuermann ];
     mainProgram = "usbkvm";
   };
diff --git a/pkgs/by-name/us/usbmuxd2/package.nix b/pkgs/by-name/us/usbmuxd2/package.nix
index 8bf55a74bfcd..41d20b911938 100644
--- a/pkgs/by-name/us/usbmuxd2/package.nix
+++ b/pkgs/by-name/us/usbmuxd2/package.nix
@@ -17,7 +17,7 @@ let
     version = "74";
     src = fetchFromGitHub {
       owner = "tihmstar";
-      repo = pname;
+      repo = "libgeneral";
       rev = "refs/tags/${version}";
       hash = "sha256-6aowcIYssc1xqH6kTi/cpH2F7rgc8+lGC8HgZWYH2w0=";
       # Leave DotGit so that autoconfigure can read version from git tags
@@ -37,13 +37,13 @@ let
   };
 
 in
-clangStdenv.mkDerivation rec {
+clangStdenv.mkDerivation {
   pname = "usbmuxd2";
   version = "unstable-2023-12-12";
 
   src = fetchFromGitHub {
     owner = "tihmstar";
-    repo = pname;
+    repo = "usbmuxd2";
     rev = "2ce399ddbacb110bd5a83a6b8232d42c9a9b6e84";
     hash = "sha256-UVLLE73XuWTgGlpTMxUDykFmiBDqz6NCRO2rpRAYfow=";
     # Leave DotGit so that autoconfigure can read version from git tags
diff --git a/pkgs/by-name/uv/uv/package.nix b/pkgs/by-name/uv/uv/package.nix
index 7e99995299bc..22407a8e6510 100644
--- a/pkgs/by-name/uv/uv/package.nix
+++ b/pkgs/by-name/uv/uv/package.nix
@@ -18,17 +18,17 @@
 
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "uv";
-  version = "0.7.12";
+  version = "0.7.13";
 
   src = fetchFromGitHub {
     owner = "astral-sh";
     repo = "uv";
     tag = finalAttrs.version;
-    hash = "sha256-0ZgsGADMTjVgKUKriBkq0AEldpFxmo/5MPLoShzREO4=";
+    hash = "sha256-/K8zTExK6G/Rrh/4g2CLS4rBbQovb6DvAL8puS7eM5w=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-uvJQlTJrD5ZEbZykllBm/7LLdqOYFvkdNEZpSyVqct0=";
+  cargoHash = "sha256-GsjBTqV7GO1NNI/3EMXN0S0TwPvdtP/PTTv6NbGa9a4=";
 
   buildInputs = [
     rust-jemalloc-sys
diff --git a/pkgs/by-name/uw/uwsgi/package.nix b/pkgs/by-name/uw/uwsgi/package.nix
index 6c1aeda8e297..29649d754025 100644
--- a/pkgs/by-name/uw/uwsgi/package.nix
+++ b/pkgs/by-name/uw/uwsgi/package.nix
@@ -80,13 +80,13 @@ in
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "uwsgi";
-  version = "2.0.29";
+  version = "2.0.30";
 
   src = fetchFromGitHub {
     owner = "unbit";
     repo = "uwsgi";
     tag = finalAttrs.version;
-    hash = "sha256-WlbvvAu+A0anPItnG8RnWrXm450/xbOloPzUd2L9TuU=";
+    hash = "sha256-I03AshxZyxrRmtYUH1Q+B6ISykjYRMGG+ZQSHRS7vDs=";
   };
 
   patches = [
diff --git a/pkgs/by-name/uw/uwsm/package.nix b/pkgs/by-name/uw/uwsm/package.nix
index 9f25bebf3496..b0ae1721c435 100644
--- a/pkgs/by-name/uw/uwsm/package.nix
+++ b/pkgs/by-name/uw/uwsm/package.nix
@@ -28,13 +28,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "uwsm";
-  version = "0.21.6";
+  version = "0.21.8";
 
   src = fetchFromGitHub {
     owner = "Vladimir-csp";
     repo = "uwsm";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-Pav86kNCIe1cqkkPyAt8yGCR1M7wGHPSGibkeLCE4E4=";
+    hash = "sha256-b5n0SuJ0WEm7Mx77BVgjabw5QQeXR7lGUHLxIyqmM9I=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/ux/uxplay/package.nix b/pkgs/by-name/ux/uxplay/package.nix
index a00a0875fa26..ffa2cfb26dcc 100644
--- a/pkgs/by-name/ux/uxplay/package.nix
+++ b/pkgs/by-name/ux/uxplay/package.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "uxplay";
-  version = "1.72";
+  version = "1.72.1";
 
   src = fetchFromGitHub {
     owner = "FDH2";
     repo = "UxPlay";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-pS9TgGymQwSDBrhHMQYasJfDchMap49fhHTgxYzq+L4=";
+    hash = "sha256-qb4wsVPdT4rRQxHjLnft0C1D41IhA7M0ZqiLL65r3Ns=";
   };
 
   postPatch = ''
diff --git a/pkgs/by-name/v2/v2ray-domain-list-community/package.nix b/pkgs/by-name/v2/v2ray-domain-list-community/package.nix
index f1e1788d87b7..1f868faa816f 100644
--- a/pkgs/by-name/v2/v2ray-domain-list-community/package.nix
+++ b/pkgs/by-name/v2/v2ray-domain-list-community/package.nix
@@ -9,12 +9,12 @@
 let
   generator = pkgsBuildBuild.buildGoModule rec {
     pname = "v2ray-domain-list-community";
-    version = "20250605152911";
+    version = "20250608120644";
     src = fetchFromGitHub {
       owner = "v2fly";
       repo = "domain-list-community";
       rev = version;
-      hash = "sha256-WmBRTr1DHsYgw1XBYCgJAqIvgoW+oqMHe7Ifh7pSG1I=";
+      hash = "sha256-pGd8HBKtyum5+CE1WsjdDj5QxjbCA8sQ85LPEDCubiI=";
     };
     vendorHash = "sha256-NLh14rXRci4hgDkBJVJDIDvobndB7KYRKAX7UjyqSsg=";
     meta = with lib; {
diff --git a/pkgs/by-name/v2/v2ray/package.nix b/pkgs/by-name/v2/v2ray/package.nix
index 52c5880c5097..4bb399d9280a 100644
--- a/pkgs/by-name/v2/v2ray/package.nix
+++ b/pkgs/by-name/v2/v2ray/package.nix
@@ -16,18 +16,18 @@
 
 buildGoModule rec {
   pname = "v2ray-core";
-  version = "5.32.0";
+  version = "5.33.0";
 
   src = fetchFromGitHub {
     owner = "v2fly";
     repo = "v2ray-core";
     rev = "v${version}";
-    hash = "sha256-8EnJZvcioNJbNHQYbnYEVZnpxNIb8ObhmkqYmisdYIc=";
+    hash = "sha256-L6qgrxzCRySb/sRoqr+X21s153iaVfHzBTiuTJp/fzg=";
   };
 
   # `nix-update` doesn't support `vendorHash` yet.
   # https://github.com/Mic92/nix-update/pull/95
-  vendorHash = "sha256-wENi5VgY/pzYlw0CcWAKHAI2M6qfxf2XFAnAJU63YXk=";
+  vendorHash = "sha256-uP2TPQbj1jPyCWgeLkp4za+kXykxSY6HIy3n7sGaNXo=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/va/vacuum-go/package.nix b/pkgs/by-name/va/vacuum-go/package.nix
index 008eb83705e3..49920bddcc35 100644
--- a/pkgs/by-name/va/vacuum-go/package.nix
+++ b/pkgs/by-name/va/vacuum-go/package.nix
@@ -7,17 +7,17 @@
 
 buildGoModule (finalAttrs: {
   pname = "vacuum-go";
-  version = "0.16.13";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "daveshanley";
     repo = "vacuum";
     # using refs/tags because simple version gives: 'the given path has multiple possibilities' error
     tag = "v${finalAttrs.version}";
-    hash = "sha256-S4YhPXPSB60infsjkI1GdPrBYb0bXoj0+rc9GINuh3Y=";
+    hash = "sha256-IpJI+RD5TNsYaZhf3U/VD2CqW5ebutKvZRUOrwD2rGU=";
   };
 
-  vendorHash = "sha256-rzJtYxnRWtSmMPeKEbBy6I2DFEOLEJ1Uj+nPpTKIDhw=";
+  vendorHash = "sha256-4cYG8ilWSI+bSoEBpohN6Fr3kmsBUNmbz0iyHmiCDgw=";
 
   env.CGO_ENABLED = 0;
   ldflags = [
diff --git a/pkgs/by-name/va/vale/package.nix b/pkgs/by-name/va/vale/package.nix
index 67abc5317743..e5785f7b27b0 100644
--- a/pkgs/by-name/va/vale/package.nix
+++ b/pkgs/by-name/va/vale/package.nix
@@ -11,7 +11,7 @@
 
 buildGoModule rec {
   pname = "vale";
-  version = "3.11.2";
+  version = "3.12.0";
 
   subPackages = [ "cmd/vale" ];
 
@@ -19,10 +19,10 @@ buildGoModule rec {
     owner = "errata-ai";
     repo = "vale";
     tag = "v${version}";
-    hash = "sha256-7wBMdATN2kAXUG6fWwq/8JifLrhxDjjPWlZSA47yrxM=";
+    hash = "sha256-j228Gt2cHkO1XZv+KqH6U8EjttQzDZiOMLppdJUJwvA=";
   };
 
-  vendorHash = "sha256-Zhhp/qbwGTQEZ28S+p7GJodwQcnkFNqNU7WCZKdeoz0=";
+  vendorHash = "sha256-3gmgKcpCEeFjHpm+iKQvm4Cv5UfzFrcDDNIAnlY/a5s=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/va/valgrind/package.nix b/pkgs/by-name/va/valgrind/package.nix
index c180de124d6b..91a4196fcf63 100644
--- a/pkgs/by-name/va/valgrind/package.nix
+++ b/pkgs/by-name/va/valgrind/package.nix
@@ -11,20 +11,14 @@
 
 stdenv.mkDerivation rec {
   pname = "valgrind";
-  version = "3.24.0";
+  version = "3.25.1";
 
   src = fetchurl {
     url = "https://sourceware.org/pub/${pname}/${pname}-${version}.tar.bz2";
-    hash = "sha256-ca7iAr3vGuc4mMz36cMVE0+n22wkYGOvxQOu9wLsA70=";
+    hash = "sha256-Yd640HJ7RcJo79wbO2yeZ5zZfL9e5LKNHerXyLeica8=";
   };
 
   patches = [
-    # Fix build on ELFv2 powerpc64
-    # https://bugs.kde.org/show_bug.cgi?id=398883
-    (fetchurl {
-      url = "https://github.com/void-linux/void-packages/raw/3e16b4606235885463fc9ab45b4c120f1a51aa28/srcpkgs/valgrind/patches/elfv2-ppc64-be.patch";
-      sha256 = "NV/F+5aqFZz7+OF5oN5MUTpThv4H5PEY9sBgnnWohQY=";
-    })
     # Fix checks on Musl.
     # https://bugs.kde.org/show_bug.cgi?id=453929
     (fetchpatch {
diff --git a/pkgs/by-name/va/vapoursynth/editor.nix b/pkgs/by-name/va/vapoursynth/editor.nix
index b426d111c799..03ed78e47d82 100644
--- a/pkgs/by-name/va/vapoursynth/editor.nix
+++ b/pkgs/by-name/va/vapoursynth/editor.nix
@@ -19,7 +19,7 @@ let
 
     src = fetchFromGitHub {
       owner = "YomikoR";
-      repo = pname;
+      repo = "vapoursynth-editor";
       rev = lib.toLower version;
       hash = "sha256-+/9j9DJDGXbuTvE8ZXIu6wjcof39SyatS36Q6y9hLPg=";
     };
diff --git a/pkgs/by-name/va/vassal/package.nix b/pkgs/by-name/va/vassal/package.nix
index aa409fef0f06..71ad88b050c2 100644
--- a/pkgs/by-name/va/vassal/package.nix
+++ b/pkgs/by-name/va/vassal/package.nix
@@ -6,6 +6,9 @@
   jre,
   makeWrapper,
   wrapGAppsHook3,
+  makeDesktopItem,
+  copyDesktopItems,
+  versionCheckHook,
 }:
 
 stdenv.mkDerivation rec {
@@ -24,6 +27,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     makeWrapper
     wrapGAppsHook3
+    copyDesktopItems
   ];
 
   installPhase = ''
@@ -39,22 +43,43 @@ stdenv.mkDerivation rec {
       --add-flags "-Duser.dir=$out -cp $out/share/vassal/Vengine.jar \
       VASSAL.launch.ModuleManager"
 
+    install -Dm444 -t "$out/share/icons/hicolor/scalable/apps/" VASSAL.svg
+
     runHook postInstall
   '';
 
+  desktopItems = [
+    (makeDesktopItem {
+      name = "VASSAL";
+      exec = "vassal";
+      icon = "VASSAL";
+      desktopName = "VASSAL";
+      comment = "The open-source boardgame engine";
+      categories = [ "Game" ];
+      startupWMClass = "VASSAL-launch-ModuleManager";
+    })
+  ];
+
   # Don't move doc to share/, VASSAL expects it to be in the root
   forceShare = [
     "man"
     "info"
   ];
 
+  nativeInstallCheckInputs = [
+    versionCheckHook
+  ];
+  doInstallCheck = true;
+  versionCheckProgram = "${placeholder "out"}/bin/vassal";
+  versionCheckProgramArg = "--version";
+
   meta = with lib; {
     description = "Free, open-source boardgame engine";
     homepage = "https://vassalengine.org/";
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
     license = licenses.lgpl21Only;
     maintainers = with maintainers; [ tvestelind ];
-    platforms = platforms.unix;
+    platforms = with lib.platforms; unix ++ windows;
     mainProgram = "vassal";
   };
 }
diff --git a/pkgs/by-name/va/vault-tasks/package.nix b/pkgs/by-name/va/vault-tasks/package.nix
index dc817ada9256..cba058736e65 100644
--- a/pkgs/by-name/va/vault-tasks/package.nix
+++ b/pkgs/by-name/va/vault-tasks/package.nix
@@ -2,10 +2,13 @@
   lib,
   fetchFromGitHub,
   rustPlatform,
+  stdenv,
+  buildPackages,
+  installShellFiles,
   nix-update-script,
 }:
 let
-  version = "0.11.2";
+  version = "0.12.0";
 in
 rustPlatform.buildRustPackage {
   pname = "vault-tasks";
@@ -14,12 +17,37 @@ rustPlatform.buildRustPackage {
     owner = "louis-thevenet";
     repo = "vault-tasks";
     rev = "v${version}";
-    hash = "sha256-DcnOuQ37fzLVJOteP7ZiA9IxNAd6lH6zelaO5GCvakk=";
+    hash = "sha256-PMqGqvyxgkGRVahQ+ruDA0vFT0162DrZU92nT4SMTGw=";
   };
   useFetchCargoVendor = true;
-  cargoHash = "sha256-/5CpIPdqIvxwiplMqXZ1J04oQoK9rnzDP1N7ffrbJDk=";
+  cargoHash = "sha256-34c5i2kIoQuTkm1SF7bYX109noVGaGJ47b2FCxQUyB8=";
 
-  postInstall = "install -Dm444 desktop/vault-tasks.desktop -t $out/share/applications";
+  nativeBuildInputs = [
+    installShellFiles
+  ];
+
+  postInstall =
+    ''
+      install -Dm444 desktop/vault-tasks.desktop -t $out/share/applications
+    ''
+    + (
+      let
+        vault-tasks =
+          if stdenv.buildPlatform.canExecute stdenv.hostPlatform then
+            placeholder "out"
+          else
+            buildPackages.vault-tasks;
+      in
+      ''
+        # vault-tasks tries to load a config file from ~/.config/ before generating completions
+        export HOME="$(mktemp -d)"
+
+        installShellCompletion --cmd vault-tasks \
+          --bash <(${vault-tasks}/bin/vault-tasks generate-completions bash) \
+          --fish <(${vault-tasks}/bin/vault-tasks generate-completions fish) \
+          --zsh <(${vault-tasks}/bin/vault-tasks generate-completions zsh)
+      ''
+    );
 
   passthru.updateScript = nix-update-script { };
 
diff --git a/pkgs/by-name/vb/vbetool/package.nix b/pkgs/by-name/vb/vbetool/package.nix
deleted file mode 100644
index 9cf71be3c852..000000000000
--- a/pkgs/by-name/vb/vbetool/package.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{
-  lib,
-  stdenv,
-  fetchurl,
-  pciutils,
-  libx86,
-  zlib,
-}:
-
-stdenv.mkDerivation rec {
-  pname = "vbetool";
-  version = "1.1";
-
-  src = fetchurl {
-    url = "https://www.codon.org.uk/~mjg59/vbetool/download/${pname}-${version}.tar.gz";
-    sha256 = "0m7rc9v8nz6w9x4x96maza139kin6lg4hscy6i13fna4672ds9jd";
-  };
-
-  buildInputs = [
-    pciutils
-    libx86
-    zlib
-  ];
-
-  patchPhase = ''
-    substituteInPlace Makefile.in --replace '$(libdir)/libpci.a' ""
-  '';
-
-  configureFlags = [ "LDFLAGS=-lpci" ];
-
-  meta = with lib; {
-    description = "Video BIOS execution tool";
-    homepage = "https://www.codon.org.uk/~mjg59/vbetool/";
-    maintainers = [ maintainers.raskin ];
-    platforms = platforms.linux;
-    license = licenses.gpl2Only;
-    mainProgram = "vbetool";
-  };
-}
diff --git a/pkgs/by-name/vc/vcdimager/package.nix b/pkgs/by-name/vc/vcdimager/package.nix
index 22cc7d2101df..25667a078ebd 100644
--- a/pkgs/by-name/vc/vcdimager/package.nix
+++ b/pkgs/by-name/vc/vcdimager/package.nix
@@ -2,6 +2,7 @@
   stdenv,
   lib,
   fetchurl,
+  fetchpatch,
   pkg-config,
   libcdio,
   libxml2,
@@ -18,6 +19,14 @@ stdenv.mkDerivation rec {
     sha256 = "0ypnb1vp49nmzp5571ynlz6n1gh90f23w3z4x95hb7c2p7pmylb7";
   };
 
+  patches = [
+    # Fix build with libxml 2.14
+    (fetchpatch {
+      url = "https://gitlab.archlinux.org/archlinux/packaging/packages/vcdimager/-/raw/88dc511b7f3dea8fb45e0c2bfa1345a75a088848/libxml214.diff";
+      hash = "sha256-gGD6gKsbR76zkQsT6RWo7zJpOQSbR8f0ZTyzwZ2oDJY=";
+    })
+  ];
+
   nativeBuildInputs = [ pkg-config ];
 
   buildInputs = [
diff --git a/pkgs/by-name/ve/vectorcode/package.nix b/pkgs/by-name/ve/vectorcode/package.nix
index 82987dc90898..2567d4d5e86b 100644
--- a/pkgs/by-name/ve/vectorcode/package.nix
+++ b/pkgs/by-name/ve/vectorcode/package.nix
@@ -1,33 +1,75 @@
 {
   lib,
-  python3Packages,
+  cargo,
   fetchFromGitHub,
   installShellFiles,
+  pkg-config,
+  protobuf,
+  python3,
+  rustc,
+  rustPlatform,
   versionCheckHook,
 
   lspSupport ? true,
 }:
 
-python3Packages.buildPythonApplication rec {
+let
+  python = python3.override {
+    packageOverrides = self: super: {
+      # https://github.com/Davidyz/VectorCode/pull/36
+      chromadb = super.chromadb.overridePythonAttrs (old: rec {
+        version = "0.6.3";
+        src = fetchFromGitHub {
+          owner = "chroma-core";
+          repo = "chroma";
+          tag = version;
+          hash = "sha256-yvAX8buETsdPvMQmRK5+WFz4fVaGIdNlfhSadtHwU5U=";
+        };
+        cargoDeps = rustPlatform.fetchCargoVendor {
+          pname = "chromadb";
+          inherit version src;
+          hash = "sha256-lHRBXJa/OFNf4x7afEJw9XcuDveTBIy3XpQ3+19JXn4=";
+        };
+        postPatch = null;
+        build-system = with self; [
+          setuptools
+          setuptools-scm
+        ];
+        nativeBuildInputs = [
+          cargo
+          pkg-config
+          protobuf
+          rustc
+          rustPlatform.cargoSetupHook
+        ];
+        dependencies = old.dependencies ++ [
+          self.chroma-hnswlib
+        ];
+        doCheck = false;
+      });
+    };
+  };
+in
+python.pkgs.buildPythonApplication rec {
   pname = "vectorcode";
-  version = "0.6.10";
+  version = "0.6.12";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "Davidyz";
     repo = "VectorCode";
     tag = version;
-    hash = "sha256-k9YpsVFV1HkIIIFPB7Iz7Jar+lY5vK6gpzNIlX55ZDY=";
+    hash = "sha256-7RI5F7r4yX3wqAuakdBvZOvDRWn8IHntU0fyTPIXjT4=";
   };
 
-  build-system = with python3Packages; [
+  build-system = with python.pkgs; [
     pdm-backend
   ];
 
   dependencies =
-    with python3Packages;
+    with python.pkgs;
     [
-      chromadb_0
+      chromadb
       colorlog
       httpx
       json5
@@ -44,7 +86,7 @@ python3Packages.buildPythonApplication rec {
     ]
     ++ lib.optionals lspSupport optional-dependencies.lsp;
 
-  optional-dependencies = with python3Packages; {
+  optional-dependencies = with python.pkgs; {
     intel = [
       openvino
       optimum
@@ -77,7 +119,7 @@ python3Packages.buildPythonApplication rec {
       installShellFiles
       versionCheckHook
     ]
-    ++ (with python3Packages; [
+    ++ (with python.pkgs; [
       mcp
       pygls
       pytestCheckHook
diff --git a/pkgs/by-name/ve/velocity/package.nix b/pkgs/by-name/ve/velocity/package.nix
index 98322838b98a..3df1e5d94d65 100644
--- a/pkgs/by-name/ve/velocity/package.nix
+++ b/pkgs/by-name/ve/velocity/package.nix
@@ -35,13 +35,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "velocity";
-  version = "3.4.0-unstable-2025-05-21";
+  version = "3.4.0-unstable-2025-06-11";
 
   src = fetchFromGitHub {
     owner = "PaperMC";
     repo = "Velocity";
-    rev = "678c7aa3a42aaf64b8b1b7df75e787cbec9fe2ad";
-    hash = "sha256-///JQxm+YlQQFyokqCoApxYCNVhvCK+XxwXM7psa+us=";
+    rev = "669fda298c670c55686f34d868383052b192518d";
+    hash = "sha256-UI6SqVAaM4NANf9cGvsIgYO1jSkWDOk5ysyufrPWTgg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/ve/vencord/package.nix b/pkgs/by-name/ve/vencord/package.nix
index 5d5ecefbee0d..3b919d9e583e 100644
--- a/pkgs/by-name/ve/vencord/package.nix
+++ b/pkgs/by-name/ve/vencord/package.nix
@@ -1,6 +1,5 @@
 {
   curl,
-  esbuild,
   fetchFromGitHub,
   git,
   jq,
@@ -15,13 +14,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "vencord";
-  version = "1.12.2";
+  version = "1.12.3";
 
   src = fetchFromGitHub {
     owner = "Vendicated";
     repo = "Vencord";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-a4lbeuXEHDMDko8wte7jUdJ0yUcjfq3UPQAuSiz1UQU=";
+    hash = "sha256-fOZXgyA61G+D7otNNO8d89ghR/GiYPJ7vSZtj9TeGuU=";
   };
 
   pnpmDeps = pnpm_10.fetchDeps {
@@ -36,20 +35,6 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   env = {
-    ESBUILD_BINARY_PATH = lib.getExe (
-      esbuild.overrideAttrs (
-        final: _: {
-          version = "0.25.1";
-          src = fetchFromGitHub {
-            owner = "evanw";
-            repo = "esbuild";
-            rev = "v${final.version}";
-            hash = "sha256-vrhtdrvrcC3dQoJM6hWq6wrGJLSiVww/CNPlL1N5kQ8=";
-          };
-          vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
-        }
-      )
-    );
     VENCORD_REMOTE = "${finalAttrs.src.owner}/${finalAttrs.src.repo}";
     VENCORD_HASH = "${finalAttrs.version}";
   };
diff --git a/pkgs/by-name/ve/vengi-tools/package.nix b/pkgs/by-name/ve/vengi-tools/package.nix
index 7bcb42914396..9b70f9dd6a5f 100644
--- a/pkgs/by-name/ve/vengi-tools/package.nix
+++ b/pkgs/by-name/ve/vengi-tools/package.nix
@@ -34,13 +34,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "vengi-tools";
-  version = "0.0.37";
+  version = "0.0.38";
 
   src = fetchFromGitHub {
     owner = "vengi-voxel";
     repo = "vengi";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-Pm3vGS6u//iktkj/2RR7xaCTt8fevCWm0a1Hlfkxry8=";
+    hash = "sha256-TTbwoZt5+tkxuoC05sbgrwIRmyWIR272D4TZWYXyPjA=";
   };
 
   prePatch = lib.optionalString stdenv.hostPlatform.isDarwin ''
diff --git a/pkgs/by-name/ve/versionCheckHook/hook.sh b/pkgs/by-name/ve/versionCheckHook/hook.sh
index 436032b0a97d..ac4605640b70 100644
--- a/pkgs/by-name/ve/versionCheckHook/hook.sh
+++ b/pkgs/by-name/ve/versionCheckHook/hook.sh
@@ -1,10 +1,19 @@
 _handleCmdOutput(){
     local command=("$1" "$2")
     local versionOutput
+
+    local envArgs=()
+    if [[ "$3" != "*" ]]; then
+      envArgs+=("--ignore-environment")
+      for var in $3; do
+        envArgs+=("$var=${!var}")
+      done
+    fi
+
     versionOutput="$(env \
         --chdir=/ \
         --argv0="$(basename "${command[0]}")" \
-        $( [[ -z "$3" || "$3" = "0" ]] && echo --ignore-environment ) \
+        "${envArgs[@]}" \
         "${command[@]}" 2>&1 \
         | sed -e 's|@storeDir@/[^/ ]*/|{{storeDir}}/|g' \
         || true)"
@@ -25,8 +34,8 @@ versionCheckHook(){
     runHook preVersionCheck
     echo Executing versionCheckPhase
 
-    # Enable --ignore-environment by default unless explicitly disabled
-    : "${versionCheckDontIgnoreEnvironment:=0}"
+    # Don't keep any environment variables by default
+    : "${versionCheckKeepEnvironment:=}"
 
     local cmdProgram cmdArg echoPrefix
     if [[ -z "${versionCheckProgram-}" ]]; then
@@ -47,14 +56,14 @@ versionCheckHook(){
     fi
     if [[ -z "${versionCheckProgramArg}" ]]; then
         for cmdArg in "--help" "--version"; do
-            echoPrefix="$(_handleCmdOutput "$cmdProgram" "$cmdArg" "$versionCheckDontIgnoreEnvironment")"
+            echoPrefix="$(_handleCmdOutput "$cmdProgram" "$cmdArg" "$versionCheckKeepEnvironment")"
             if [[ "$echoPrefix" == "Successfully managed to" ]]; then
                 break
             fi
         done
     else
         cmdArg="$versionCheckProgramArg"
-        echoPrefix="$(_handleCmdOutput "$cmdProgram" "$cmdArg" "$versionCheckDontIgnoreEnvironment")"
+        echoPrefix="$(_handleCmdOutput "$cmdProgram" "$cmdArg" "$versionCheckKeepEnvironment")"
     fi
     if [[ "$echoPrefix" == "Did not" ]]; then
         exit 2
diff --git a/pkgs/by-name/ve/vesktop/disable_update_checking.patch b/pkgs/by-name/ve/vesktop/disable_update_checking.patch
index a134dc0fd169..2fcc1fc24be7 100644
--- a/pkgs/by-name/ve/vesktop/disable_update_checking.patch
+++ b/pkgs/by-name/ve/vesktop/disable_update_checking.patch
@@ -1,12 +1,12 @@
 diff --git a/src/main/index.ts b/src/main/index.ts
-index 2e0d6f7..1108c0f 100644
+index 37fd471..d0a9e56 100644
 --- a/src/main/index.ts
 +++ b/src/main/index.ts
-@@ -20,7 +20,6 @@ import { isDeckGameMode } from "./utils/steamOS";
- if (IS_DEV) {
-     require("source-map-support").install();
- } else {
+@@ -18,7 +18,6 @@ import { Settings, State } from "./settings";
+ import { isDeckGameMode } from "./utils/steamOS";
+
+ if (!IS_DEV) {
 -    autoUpdater.checkForUpdatesAndNotify();
  }
- 
- // Make the Vencord files use our DATA_DIR
+
+ console.log("Vesktop v" + app.getVersion());
diff --git a/pkgs/by-name/ve/vesktop/package.nix b/pkgs/by-name/ve/vesktop/package.nix
index 48c57c269c81..de1b9f02c052 100644
--- a/pkgs/by-name/ve/vesktop/package.nix
+++ b/pkgs/by-name/ve/vesktop/package.nix
@@ -24,13 +24,13 @@
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "vesktop";
-  version = "1.5.6";
+  version = "1.5.7";
 
   src = fetchFromGitHub {
     owner = "Vencord";
     repo = "Vesktop";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-hY707k3kpfbDaRsLisVQFUeWgsxkYJ29GTdQtdeC0X4=";
+    hash = "sha256-2YVaDfvhmuUx2fVm9PuMPQ3Z5iu7IHJ7dgF52a1stoM=";
   };
 
   pnpmDeps = pnpm_10.fetchDeps {
@@ -40,7 +40,7 @@ stdenv.mkDerivation (finalAttrs: {
       src
       patches
       ;
-    hash = "sha256-pL4pxIB+tF9Lv5eQdLilvg/T4knjzPqBMbTxoZ3RqbI=";
+    hash = "sha256-C05rDd5bcbR18O6ACgzS0pQdWzB99ulceOBpW+4Zbqw=";
   };
 
   nativeBuildInputs =
diff --git a/pkgs/by-name/vf/vfox/package.nix b/pkgs/by-name/vf/vfox/package.nix
new file mode 100644
index 000000000000..c968eb983df5
--- /dev/null
+++ b/pkgs/by-name/vf/vfox/package.nix
@@ -0,0 +1,51 @@
+{
+  lib,
+  buildGoModule,
+  fetchFromGitHub,
+  writableTmpDirAsHomeHook,
+  nix-update-script,
+}:
+
+buildGoModule (finalAttrs: {
+  pname = "vfox";
+  version = "0.6.10";
+
+  src = fetchFromGitHub {
+    owner = "version-fox";
+    repo = "vfox";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-bH7rHhjmfXCOAv+K0HDyPAi+ZBfLllsGyhLSo8rpcl4=";
+  };
+
+  vendorHash = "sha256-TmWhzjjv+DkFHV4kEKpVYgQpI0Vl4aYvKR9QVpawrYA=";
+
+  __darwinAllowLocalNetworking = true;
+
+  nativeCheckInputs = [ writableTmpDirAsHomeHook ];
+
+  checkFlags =
+    let
+      skippedTests = [
+        # need network
+        "TestGetRequest"
+        "TestHeadRequest"
+        "TestDownloadFile"
+      ];
+    in
+    [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
+
+  preCheck = ''
+    export CI=1
+  '';
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    description = "Extendable version manager";
+    homepage = "https://github.com/version-fox/vfox";
+    changelog = "https://github.com/version-fox/vfox/releases/tag/v${finalAttrs.version}";
+    mainProgram = "vfox";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ emaryn ];
+  };
+})
diff --git a/pkgs/by-name/vh/vhs/package.nix b/pkgs/by-name/vh/vhs/package.nix
index 0bda86473b72..5e8497453ed8 100644
--- a/pkgs/by-name/vh/vhs/package.nix
+++ b/pkgs/by-name/vh/vhs/package.nix
@@ -12,16 +12,16 @@
 
 buildGoModule rec {
   pname = "vhs";
-  version = "0.9.0";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "charmbracelet";
     repo = "vhs";
     rev = "v${version}";
-    hash = "sha256-ceY4zLd+4EwXpwunKiWnaAB25qutSK1b1SyIriAbAI0=";
+    hash = "sha256-ZnE5G8kfj7qScsT+bZg90ze4scpUxeC6xF8dAhdUUCo=";
   };
 
-  vendorHash = "sha256-2vRAI+Mm8Pzk3u4rndtwYnUlrAtjffe0kpoA1EHprQk=";
+  vendorHash = "sha256-jmabOEFHduHzOBAymnxQrvYzXzxKnS1RqZZ0re3w63Y=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/by-name/vi/vi-mongo/package.nix b/pkgs/by-name/vi/vi-mongo/package.nix
index d5bb129d22c5..bc3bcf0d614d 100644
--- a/pkgs/by-name/vi/vi-mongo/package.nix
+++ b/pkgs/by-name/vi/vi-mongo/package.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "vi-mongo";
-  version = "0.1.28";
+  version = "0.1.29";
 
   src = fetchFromGitHub {
     owner = "kopecmaciej";
     repo = "vi-mongo";
     tag = "v${version}";
-    hash = "sha256-vqwsFWU/DSxvmlHGG91MK8MqRYmSZrzB1ypjMNug6v0=";
+    hash = "sha256-hxQPqTQ+U6ebTv6HZReiWMeP8RoyjQC0pA3Qug1MSFo=";
   };
 
-  vendorHash = "sha256-Z1qvTde0TtoIKUppfDRcNx9qAFbAqFf3xIOTNQnPQng=";
+  vendorHash = "sha256-QoYjNzWWNrEDS4Xq1NF77iqX5WTNxnVV1UJiYq2slhw=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/vi/victoriametrics/package.nix b/pkgs/by-name/vi/victoriametrics/package.nix
index 62fab4ed0ae6..5d9cd54783a6 100644
--- a/pkgs/by-name/vi/victoriametrics/package.nix
+++ b/pkgs/by-name/vi/victoriametrics/package.nix
@@ -14,13 +14,13 @@
 
 buildGoModule (finalAttrs: {
   pname = "VictoriaMetrics";
-  version = "1.118.0";
+  version = "1.119.0";
 
   src = fetchFromGitHub {
     owner = "VictoriaMetrics";
     repo = "VictoriaMetrics";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-a84n9fuGdiG0o/1/9q3etTwoFbOL01y88ubTI/yIIBA=";
+    hash = "sha256-Gc3B3JmTbINdPJ8PIhcuQhFD+FoxNOskoBEcDoMAUUk=";
   };
 
   vendorHash = null;
diff --git a/pkgs/by-name/vi/vim-vint/package.nix b/pkgs/by-name/vi/vim-vint/package.nix
index 52edbdf0d289..68ceeffa4d82 100644
--- a/pkgs/by-name/vi/vim-vint/package.nix
+++ b/pkgs/by-name/vi/vim-vint/package.nix
@@ -1,7 +1,7 @@
 {
   lib,
   python3Packages,
-  fetchPypi,
+  fetchFromGitHub,
 }:
 
 with python3Packages;
@@ -10,17 +10,19 @@ buildPythonApplication rec {
   pname = "vim-vint";
   version = "0.3.21";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "15qdh8fby9xgfjxidcfv1xmrqqrxxapky7zmyn46qx1abhp9piax";
+  src = fetchFromGitHub {
+    owner = "Vimjas";
+    repo = "vint";
+    tag = "v${version}";
+    hash = "sha256-A0yXDkB/b9kEEXSoLeqVdmdm4p2PYL2QHqbF4FgAn30=";
   };
 
   # For python 3.5 > version > 2.7 , a nested dependency (pythonPackages.hypothesis) fails.
   disabled = !pythonAtLeast "3.5";
 
   nativeCheckInputs = [
-    pytest
-    pytest-cov
+    pytestCheckHook
+    pytest-cov-stub
   ];
   propagatedBuildInputs = [
     ansicolor
@@ -29,10 +31,13 @@ buildPythonApplication rec {
     setuptools
   ];
 
-  # Unpin test dependency versions. This is fixed in master but not yet released.
   preCheck = ''
-    sed -i 's/==.*//g' test-requirements.txt
-    sed -i 's/mock == 1.0.1/mock/g' setup.py
+    substituteInPlace \
+      test/acceptance/test_cli.py \
+      test/acceptance/test_cli_vital.py \
+      --replace-fail \
+        "cmd = ['bin/vint'" \
+        "cmd = ['$out/bin/vint'"
   '';
 
   meta = with lib; {
diff --git a/pkgs/by-name/vi/vimgolf/Gemfile b/pkgs/by-name/vi/vimgolf/Gemfile
new file mode 100644
index 000000000000..3d727426a51a
--- /dev/null
+++ b/pkgs/by-name/vi/vimgolf/Gemfile
@@ -0,0 +1,4 @@
+source 'https://rubygems.org'
+gem 'vimgolf'
+
+gem "abbrev", "~> 0.1.2"
diff --git a/pkgs/games/vimgolf/Gemfile.lock b/pkgs/by-name/vi/vimgolf/Gemfile.lock
similarity index 67%
rename from pkgs/games/vimgolf/Gemfile.lock
rename to pkgs/by-name/vi/vimgolf/Gemfile.lock
index 9eaf1172d05e..e9c451a72d7a 100644
--- a/pkgs/games/vimgolf/Gemfile.lock
+++ b/pkgs/by-name/vi/vimgolf/Gemfile.lock
@@ -1,9 +1,10 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    highline (2.0.3)
-    json_pure (2.6.1)
-    thor (1.2.1)
+    abbrev (0.1.2)
+    highline (2.1.0)
+    json_pure (2.8.1)
+    thor (1.3.2)
     vimgolf (0.5.0)
       highline (~> 2.0, >= 2.0.3)
       json_pure (~> 2.3, >= 2.3.1)
@@ -13,7 +14,8 @@ PLATFORMS
   ruby
 
 DEPENDENCIES
+  abbrev (~> 0.1.2)
   vimgolf
 
 BUNDLED WITH
-   2.1.4
+   2.6.6
diff --git a/pkgs/games/vimgolf/gemset.nix b/pkgs/by-name/vi/vimgolf/gemset.nix
similarity index 59%
rename from pkgs/games/vimgolf/gemset.nix
rename to pkgs/by-name/vi/vimgolf/gemset.nix
index f2c7c7c0d735..1008e128e6b6 100644
--- a/pkgs/games/vimgolf/gemset.nix
+++ b/pkgs/by-name/vi/vimgolf/gemset.nix
@@ -1,33 +1,43 @@
 {
+  abbrev = {
+    groups = [ "default" ];
+    platforms = [ ];
+    source = {
+      remotes = [ "https://rubygems.org" ];
+      sha256 = "0hj2qyx7rzpc7awhvqlm597x7qdxwi4kkml4aqnp5jylmsm4w6xd";
+      type = "gem";
+    };
+    version = "0.1.2";
+  };
   highline = {
     groups = [ "default" ];
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "0yclf57n2j3cw8144ania99h1zinf8q3f5zrhqa754j6gl95rp9d";
+      sha256 = "1f8cr014j7mdqpdb9q17fp5vb5b8n1pswqaif91s3ylg5x3pygfn";
       type = "gem";
     };
-    version = "2.0.3";
+    version = "2.1.0";
   };
   json_pure = {
     groups = [ "default" ];
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "05ddn30jkpw6anfakfm7lffnrl2i0265ryrrwa4j0ivihjr95y82";
+      sha256 = "1kks889ymaq5xqvj18qamar3il8m3dnnaf6cij0a0kwxp8lpk1va";
       type = "gem";
     };
-    version = "2.6.1";
+    version = "2.8.1";
   };
   thor = {
     groups = [ "default" ];
     platforms = [ ];
     source = {
       remotes = [ "https://rubygems.org" ];
-      sha256 = "0inl77jh4ia03jw3iqm5ipr76ghal3hyjrd6r8zqsswwvi9j2xdi";
+      sha256 = "1nmymd86a0vb39pzj2cwv57avdrl6pl3lf5bsz58q594kqxjkw7f";
       type = "gem";
     };
-    version = "1.2.1";
+    version = "1.3.2";
   };
   vimgolf = {
     dependencies = [
diff --git a/pkgs/games/vimgolf/default.nix b/pkgs/by-name/vi/vimgolf/package.nix
similarity index 100%
rename from pkgs/games/vimgolf/default.nix
rename to pkgs/by-name/vi/vimgolf/package.nix
diff --git a/pkgs/by-name/vi/vimix-gtk-themes/package.nix b/pkgs/by-name/vi/vimix-gtk-themes/package.nix
index 30da5f31cb41..0680efbf689e 100644
--- a/pkgs/by-name/vi/vimix-gtk-themes/package.nix
+++ b/pkgs/by-name/vi/vimix-gtk-themes/package.nix
@@ -49,7 +49,7 @@ lib.checkListOfEnum "${pname}: theme variants"
 
     src = fetchFromGitHub {
       owner = "vinceliuice";
-      repo = pname;
+      repo = "vimix-gtk-themes";
       rev = version;
       sha256 = "RbAdoix+UWKiLB+04YiPa0UwzO1fFLy56IG1MipmE+E=";
     };
diff --git a/pkgs/by-name/vi/vimix-icon-theme/package.nix b/pkgs/by-name/vi/vimix-icon-theme/package.nix
index eefc7aed915a..9c23826a48f5 100644
--- a/pkgs/by-name/vi/vimix-icon-theme/package.nix
+++ b/pkgs/by-name/vi/vimix-icon-theme/package.nix
@@ -33,7 +33,7 @@ lib.checkListOfEnum "${pname}: color variants"
 
     src = fetchFromGitHub {
       owner = "vinceliuice";
-      repo = pname;
+      repo = "vimix-icon-theme";
       rev = version;
       hash = "sha256-HNwEqp6G9nZDIJo9b6FD4d5NSXUx523enENM0NVwviA=";
     };
diff --git a/pkgs/by-name/vi/violet/package.nix b/pkgs/by-name/vi/violet/package.nix
index 522f49c8ab45..c52728b84051 100644
--- a/pkgs/by-name/vi/violet/package.nix
+++ b/pkgs/by-name/vi/violet/package.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "violet";
-  version = "0.5.3";
+  version = "0.5.4";
 
   src = fetchFromGitHub {
     owner = "paullouisageneau";
     repo = "violet";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-aoBTmhz/rwz2ucRrRti3K8SYt9D/EBPn6s5iTjQ9bpQ=";
+    hash = "sha256-OBrEydVqhbxJZED8mUjV605kvtbXPqb35X1XeNBNvjg=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/by-name/vi/vips/package.nix b/pkgs/by-name/vi/vips/package.nix
index b93504cd8443..a79b96df2ce6 100644
--- a/pkgs/by-name/vi/vips/package.nix
+++ b/pkgs/by-name/vi/vips/package.nix
@@ -32,7 +32,7 @@
   libjpeg,
   libjxl,
   librsvg,
-  libspng,
+  libpng,
   libtiff,
   libwebp,
   matio,
@@ -105,7 +105,7 @@ stdenv.mkDerivation (finalAttrs: {
     libjpeg
     libjxl
     librsvg
-    libspng
+    libpng
     libtiff
     libwebp
     matio
@@ -125,6 +125,7 @@ stdenv.mkDerivation (finalAttrs: {
     [
       (lib.mesonEnable "pdfium" false)
       (lib.mesonEnable "nifti" false)
+      (lib.mesonEnable "spng" false) # we want to use libpng
       (lib.mesonEnable "introspection" withIntrospection)
     ]
     ++ lib.optional (!stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isFreeBSD) (
diff --git a/pkgs/by-name/vi/virtiofsd/package.nix b/pkgs/by-name/vi/virtiofsd/package.nix
index 6bd26991cab7..f8ab7c4e2653 100644
--- a/pkgs/by-name/vi/virtiofsd/package.nix
+++ b/pkgs/by-name/vi/virtiofsd/package.nix
@@ -9,19 +9,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "virtiofsd";
-  version = "1.13.1";
+  version = "1.13.2";
 
   src = fetchFromGitLab {
     owner = "virtio-fs";
     repo = "virtiofsd";
     rev = "v${version}";
-    hash = "sha256-QT0GfE0AOrNuL7ppiKNs6IKbCtdkfAnAT3PCGujMIUQ=";
+    hash = "sha256-7ShmdwJaMjaUDSFnzHnsTQ/CmAQ0qpZnX5D7cFYHNmo=";
   };
 
   separateDebugInfo = true;
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-Gbnve7YjFvGCvDjlZ7HuvvIIAgJjHulN/Qwyf48lr0Y=";
+  cargoHash = "sha256-Y07SJ54sw4CPCPq/LoueGBfHuZXu9F32yqMR6LBJ09I=";
 
   LIBCAPNG_LIB_PATH = "${lib.getLib libcap_ng}/lib";
   LIBCAPNG_LINK_TYPE = if stdenv.hostPlatform.isStatic then "static" else "dylib";
diff --git a/pkgs/by-name/vi/vivaldi/package.nix b/pkgs/by-name/vi/vivaldi/package.nix
index 70a9d9c87ce2..0b897add5442 100644
--- a/pkgs/by-name/vi/vivaldi/package.nix
+++ b/pkgs/by-name/vi/vivaldi/package.nix
@@ -66,7 +66,7 @@
 
 stdenv.mkDerivation rec {
   pname = "vivaldi";
-  version = "7.4.3684.46";
+  version = "7.4.3684.50";
 
   suffix =
     {
@@ -79,8 +79,8 @@ stdenv.mkDerivation rec {
     url = "https://downloads.vivaldi.com/stable/vivaldi-stable_${version}-1_${suffix}.deb";
     hash =
       {
-        aarch64-linux = "sha256-vcTuqCZy0OlfO5Iz06QVGJRtT3L55wWdmE9R6Y3P1/k=";
-        x86_64-linux = "sha256-uD2CZ4OEZbLIDgl3VGdHwr0edyJd4Gv/C22Z5wQMYk8=";
+        aarch64-linux = "sha256-we9+rJ8hOiMboNmcLlu6V/2Q/1lAwpQ+hu9s+JVXJcI=";
+        x86_64-linux = "sha256-JC/vKl2BU+P6qyU8WhiLoVd4nEG2EYYvwOVPqdVa2Eo=";
       }
       .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
   };
diff --git a/pkgs/by-name/vl/vlang/package.nix b/pkgs/by-name/vl/vlang/package.nix
index 8f5ca40616ce..465fe327a9d5 100644
--- a/pkgs/by-name/vl/vlang/package.nix
+++ b/pkgs/by-name/vl/vlang/package.nix
@@ -13,7 +13,7 @@
 }:
 
 let
-  version = "0.4.8";
+  version = "0.4.11";
   ptraceSubstitution = ''
     #include 
     #include 
@@ -22,12 +22,12 @@ let
   # So we fix its rev to correspond to the V version.
   vc = stdenv.mkDerivation {
     pname = "v.c";
-    version = "0.4.8";
+    version = "0.4.11";
     src = fetchFromGitHub {
       owner = "vlang";
       repo = "vc";
-      rev = "54beb1f416b404a06b894e6883a0e2368d80bc3e";
-      hash = "sha256-hofganRnWPRCjjsItwF2BKam4dCqzMCrjgWSjZLSrlo=";
+      rev = "a17f1105aa18b604ed8dac8fa5ca9424362c6e15";
+      hash = "sha256-DAsVr1wtRfGbKO74Vfq7ejci+zQabSWeir8njbHYV3o=";
     };
 
     # patch the ptrace reference for darwin
@@ -45,8 +45,8 @@ let
   markdown = fetchFromGitHub {
     owner = "vlang";
     repo = "markdown";
-    rev = "0c280130cb7ec410b7d21810d1247956c15b72fc";
-    hash = "sha256-Fmhkrg9DBiWxInostNp+WfA3V5GgEIs5+KIYrqZosqY=";
+    rev = "5a1c9d82669e765493abe19488eaef0252c97dac";
+    hash = "sha256-d/HGVYbbMv7cmF3I4LzD6N0gXSd8CJlPp0la3nPe1dw=";
   };
   boehmgcStatic = boehmgc.override {
     enableStatic = true;
@@ -60,7 +60,7 @@ stdenv.mkDerivation {
     owner = "vlang";
     repo = "v";
     rev = version;
-    hash = "sha256-V4f14TcuKW8unzlo6i/tE6MzSb3HAll478OU2LxiTPQ=";
+    hash = "sha256-K5B/fjdCYLE14LPg3ccS+sGC8CS7jZiuuxYkHvljGFA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/by-name/vo/vobcopy/fix-darwin.patch b/pkgs/by-name/vo/vobcopy/fix-darwin.patch
new file mode 100644
index 000000000000..93ffdb6f5149
--- /dev/null
+++ b/pkgs/by-name/vo/vobcopy/fix-darwin.patch
@@ -0,0 +1,28 @@
+diff --git a/vobcopy.h b/vobcopy.h
+index dcf4266..d34c2b4 100644
+--- a/vobcopy.h
++++ b/vobcopy.h
+@@ -115,6 +115,7 @@ typedef enum  { FALSE=0, TRUE=1 }  bool;
+ 
+ #ifdef HAVE_SYS_STATVFS_H
+ #include 
++#ifndef __APPLE__
+ #ifndef USE_STATFS
+ #define USE_STATVFS
+ #ifndef USE_STATFS_FOR_DEV
+@@ -122,6 +123,7 @@ typedef enum  { FALSE=0, TRUE=1 }  bool;
+ #endif
+ #endif
+ #endif
++#endif
+ 
+ #ifdef HAVE_MNTENT_H
+ #include 
+@@ -164,6 +166,6 @@ char *safestrncpy(char *dest, const char *src, size_t n);
+ int check_progress( void ); /* this can be removed because the one below supersedes it */
+ int progressUpdate( int starttime, int cur, int tot, int force );
+ 
+-#ifndef HAVE_FDATASYNC
++#if !defined(HAVE_FDATASYNC) || defined(__APPLE__)
+ #define fdatasync(fd) 0
+ #endif
diff --git a/pkgs/by-name/vo/vobcopy/package.nix b/pkgs/by-name/vo/vobcopy/package.nix
index 3ad1ccb30de2..61a073f1d1d9 100644
--- a/pkgs/by-name/vo/vobcopy/package.nix
+++ b/pkgs/by-name/vo/vobcopy/package.nix
@@ -1,35 +1,42 @@
 {
   lib,
   stdenv,
-  fetchurl,
+  fetchFromGitHub,
+  autoreconfHook,
+  gettext,
   libdvdread,
   libdvdcss,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   pname = "vobcopy";
-  version = "1.2.0";
+  version = "1.2.1-unstable-2023-08-29";
 
-  src = fetchurl {
-    url = "http://www.vobcopy.org/download/vobcopy-${version}.tar.bz2";
-    sha256 = "01l1yihbd73srzghzzx5dgfg3yfb5kml5dix52mq0snhjp8h89c9";
+  src = fetchFromGitHub {
+    owner = "barak";
+    repo = "vobcopy";
+    rev = "cb560b3a67358f51d51ecc0e511f49f09f304a13";
+    hash = "sha256-2EtSO39yOFoCZ5GMqtp+SvmzqSevlqYDo73p0lVHZ3o=";
   };
 
+  # Based on https://github.com/barak/vobcopy/issues/14, but also fixes
+  # "error: call to undeclared function 'fdatasync'". The latter patch
+  # is inspired by https://github.com/php/php-src/commit/e69729f2ba02ddc26c70b4bd88ef86c0a2277bdc
+  patches = [ ./fix-darwin.patch ];
+
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
   buildInputs = [
+    gettext # Fails on Darwin otherwise
     libdvdread
     libdvdcss
   ];
-  makeFlags = [
-    "DESTDIR=$(out)"
-    "PREFIX=/"
-  ];
 
   meta = {
     description = "Copies DVD .vob files to harddisk, decrypting them on the way";
-    homepage = "http://vobcopy.org/projects/c/c.shtml";
+    homepage = "https://github.com/barak/vobcopy";
     license = lib.licenses.gpl2Plus;
-
-    maintainers = [ lib.maintainers.bluescreen303 ];
     platforms = lib.platforms.all;
     mainProgram = "vobcopy";
   };
diff --git a/pkgs/by-name/vo/vokoscreen-ng/package.nix b/pkgs/by-name/vo/vokoscreen-ng/package.nix
index 07bf209d68ce..cea56875482b 100644
--- a/pkgs/by-name/vo/vokoscreen-ng/package.nix
+++ b/pkgs/by-name/vo/vokoscreen-ng/package.nix
@@ -1,25 +1,25 @@
 {
-  fetchFromGitHub,
-  gst_all_1,
   lib,
+  stdenv,
+  fetchFromGitHub,
+  pkg-config,
+  gst_all_1,
   libX11,
   pipewire,
-  pkg-config,
   pulseaudio,
   qt6,
-  stdenv,
   wayland,
 }:
 
 stdenv.mkDerivation rec {
   pname = "vokoscreen-ng";
-  version = "4.4.0";
+  version = "4.5.2";
 
   src = fetchFromGitHub {
     owner = "vkohaupt";
     repo = "vokoscreenNG";
     tag = version;
-    hash = "sha256-5rESTLIvjc/Jztc7LAPl74fxgDsam9SfBa6B5yTXb8E=";
+    hash = "sha256-oHVUkwqP7b55AzXjSuPQb4PUErZSsRpDwGxI3xmg6YA=";
   };
 
   qmakeFlags = [ "src/vokoscreenNG.pro" ];
@@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
     qt6.qmake
     qt6.wrapQtAppsHook
   ];
+
   buildInputs = [
     gst_all_1.gstreamer
     libX11
@@ -62,15 +63,15 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
-  meta = with lib; {
+  meta = {
     description = "User friendly Open Source screencaster for Linux and Windows";
-    license = licenses.gpl2Plus;
+    license = lib.licenses.gpl2Plus;
     homepage = "https://github.com/vkohaupt/vokoscreenNG";
-    maintainers = with maintainers; [
+    maintainers = with lib.maintainers; [
       shamilton
       dietmarw
     ];
-    platforms = platforms.linux;
+    platforms = lib.platforms.linux;
     mainProgram = "vokoscreenNG";
   };
 }
diff --git a/pkgs/by-name/vo/voxinput/package.nix b/pkgs/by-name/vo/voxinput/package.nix
new file mode 100644
index 000000000000..1b8eb706ac57
--- /dev/null
+++ b/pkgs/by-name/vo/voxinput/package.nix
@@ -0,0 +1,71 @@
+{
+  lib,
+  buildGoModule,
+  fetchFromGitHub,
+  nix-update-script,
+  makeWrapper,
+  testers,
+  libpulseaudio,
+  dotool,
+  stdenv,
+}:
+
+buildGoModule (finalAttrs: {
+  pname = "voxinput";
+  version = "0.3.0";
+
+  src = fetchFromGitHub {
+    owner = "richiejp";
+    repo = "VoxInput";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-ykWb5I3cd3DMDVqYrcmOtCKhLpmob7HBXs5Ek5E7/do=";
+  };
+
+  vendorHash = "sha256-OserWlRhKyTvLrYSikNCjdDdTATIcWTfqJi9n4mHVLE=";
+
+  nativeBuildInputs = [
+    makeWrapper
+  ];
+
+  buildInputs = [
+    libpulseaudio
+    dotool
+  ];
+
+  # To take advantage of the udev rule something like `services.udev.packages = [ nixpkgs.voxinput ]`
+  # needs to be added to your configuration.nix
+  postInstall =
+    ''
+      mv $out/bin/VoxInput $out/bin/voxinput_tmp ; mv $out/bin/voxinput_tmp $out/bin/voxinput
+    ''
+    + lib.optionalString stdenv.hostPlatform.isLinux ''
+      wrapProgram $out/bin/voxinput \
+        --prefix PATH : ${lib.makeBinPath [ dotool ]}
+      mkdir -p $out/lib/udev/rules.d
+      echo 'KERNEL=="uinput", GROUP="input", MODE="0620", OPTIONS+="static_node=uinput"' > $out/lib/udev/rules.d/99-voxinput.rules
+    '';
+
+  postFixup = lib.optionalString stdenv.hostPlatform.isLinux ''
+    patchelf $out/bin/.voxinput-wrapped \
+      --add-rpath ${lib.makeLibraryPath [ libpulseaudio ]}
+  '';
+
+  passthru = {
+    updateScript = nix-update-script { };
+    tests.version = testers.testVersion {
+      package = finalAttrs.finalPackage;
+      command = "voxinput ver";
+      version = "v${finalAttrs.version}";
+    };
+  };
+
+  meta = {
+    homepage = "https://github.com/richiejp/VoxInput";
+    description = "Voice to text for any Linux app via dotool/uinput and the LocalAI/OpenAI transcription API";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.richiejp ];
+    platforms = lib.platforms.unix;
+    changelog = "https://github.com/richiejp/VoxInput/releases/tag/v${finalAttrs.version}";
+    mainProgram = "voxinput";
+  };
+})
diff --git a/pkgs/by-name/vp/vpl-gpu-rt/package.nix b/pkgs/by-name/vp/vpl-gpu-rt/package.nix
index 923c30683b42..1464068b9f36 100644
--- a/pkgs/by-name/vp/vpl-gpu-rt/package.nix
+++ b/pkgs/by-name/vp/vpl-gpu-rt/package.nix
@@ -10,7 +10,7 @@
 
 stdenv.mkDerivation rec {
   pname = "vpl-gpu-rt";
-  version = "25.2.3";
+  version = "25.2.4";
 
   outputs = [
     "out"
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     owner = "intel";
     repo = "vpl-gpu-rt";
     rev = "intel-onevpl-${version}";
-    hash = "sha256-59OG/1tS4SiPZk3ep508m/ULLMU7fJ7Bj9tYe9Do5AY=";
+    hash = "sha256-XLXnQNkeOjuLv+MgX6xgHyVPJ5r9HL4QS6v7j7dRqBY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/vp/vpnc-scripts/package.nix b/pkgs/by-name/vp/vpnc-scripts/package.nix
index 4ff2b6d355e2..9be974347412 100644
--- a/pkgs/by-name/vp/vpnc-scripts/package.nix
+++ b/pkgs/by-name/vp/vpnc-scripts/package.nix
@@ -10,6 +10,7 @@
   nettools,
   openresolv,
   systemd,
+  withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd,
 }:
 
 stdenv.mkDerivation {
@@ -36,7 +37,10 @@ stdenv.mkDerivation {
     ''
     + lib.optionalString stdenv.hostPlatform.isLinux ''
       substituteInPlace $out/bin/vpnc-script \
-        --replace "/sbin/resolvconf" "${openresolv}/bin/resolvconf" \
+        --replace "/sbin/resolvconf" "${openresolv}/bin/resolvconf"
+    ''
+    + lib.optionalString withSystemd ''
+      substituteInPlace $out/bin/vpnc-script \
         --replace "/usr/bin/resolvectl" "${systemd}/bin/resolvectl"
     ''
     + ''
diff --git a/pkgs/by-name/vp/vpv/package.nix b/pkgs/by-name/vp/vpv/package.nix
index 434de05c90ce..fdc6315d5364 100644
--- a/pkgs/by-name/vp/vpv/package.nix
+++ b/pkgs/by-name/vp/vpv/package.nix
@@ -17,20 +17,20 @@
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "vpv";
-  version = "0.8.2";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "kidanger";
     repo = "vpv";
     rev = "v${finalAttrs.version}";
-    sha256 = "sha256-mlBceYMfsAE7MI6J7xnkJHBJ8RInePooXH5YW9I47YM=";
+    sha256 = "sha256-eyfRMoocKEt0VezDRm5Tq7CjpEyfrcEb6WcUSO5M1Og=";
   };
 
   cargoRoot = "src/fuzzy-finder";
   cargoDeps = rustPlatform.fetchCargoVendor {
     src = finalAttrs.src;
     sourceRoot = "${finalAttrs.src.name}/src/fuzzy-finder";
-    hash = "sha256-5QjKvndExImVn+w6OZNSD5n7K3C+tmN2jJOcDCVEW8I=";
+    hash = "sha256-4XxhKzrfTulAnLvlzRCrxSxuR+Nl/ANqcUem0YqCQ0Y=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/vs/vsce/package.nix b/pkgs/by-name/vs/vsce/package.nix
index 6c70a26d29a9..1acd6064ceeb 100644
--- a/pkgs/by-name/vs/vsce/package.nix
+++ b/pkgs/by-name/vs/vsce/package.nix
@@ -12,16 +12,16 @@
 
 buildNpmPackage (finalAttrs: {
   pname = "vsce";
-  version = "3.4.2";
+  version = "3.5.0";
 
   src = fetchFromGitHub {
     owner = "microsoft";
     repo = "vscode-vsce";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-T3uboozO4YRA8qqu833pIFt4yzIYRBZQdm8nawEZo2s=";
+    hash = "sha256-55yiW2BJe0AlfHit8gpZJyZSHqVq6kywuEtZ5HGcfT0=";
   };
 
-  npmDepsHash = "sha256-J7ES/a6RHeTY1grdzgYu9ex7BOzadqng2/h2LlTZLns=";
+  npmDepsHash = "sha256-tUboOVkZY4iag+36aJLbHGJqqlFE7fx8BXK50G7DJ64=";
 
   postPatch = ''
     substituteInPlace package.json --replace-fail '"version": "0.0.0"' '"version": "${finalAttrs.version}"'
diff --git a/pkgs/by-name/vt/vt-cli/package.nix b/pkgs/by-name/vt/vt-cli/package.nix
index e61b557d3e0e..8e8194aae02a 100644
--- a/pkgs/by-name/vt/vt-cli/package.nix
+++ b/pkgs/by-name/vt/vt-cli/package.nix
@@ -4,31 +4,29 @@
   fetchFromGitHub,
 }:
 
-buildGoModule rec {
+buildGoModule (finalAttrs: {
   pname = "vt-cli";
-  version = "1.0.1";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "VirusTotal";
     repo = "vt-cli";
-    tag = version;
-    hash = "sha256-NB5eo+6IwIxhQX1lwJzPOZ0pSeFVo7LYIEEmDqE4A7Y=";
+    tag = finalAttrs.version;
+    hash = "sha256-zeJGXJ1l+Vl/0IT/LVSOuSodnejFukCPIkrg4suKQsk=";
   };
 
   vendorHash = "sha256-s90a35fFHO8Tt7Zjf9bk1VVD2xhG1g4rKmtIuMl0bMQ=";
 
-  ldflags = [
-    "-X github.com/VirusTotal/vt-cli/cmd.Version=${version}"
-  ];
+  ldflags = [ "-X github.com/VirusTotal/vt-cli/cmd.Version=${finalAttrs.version}" ];
 
   subPackages = [ "vt" ];
 
   meta = {
     description = "VirusTotal Command Line Interface";
     homepage = "https://github.com/VirusTotal/vt-cli";
-    changelog = "https://github.com/VirusTotal/vt-cli/releases/tag/${version}";
+    changelog = "https://github.com/VirusTotal/vt-cli/releases/tag/${finalAttrs.version}";
     license = lib.licenses.asl20;
     mainProgram = "vt";
     maintainers = with lib.maintainers; [ dit7ya ];
   };
-}
+})
diff --git a/pkgs/by-name/vu/vuetorrent/package.nix b/pkgs/by-name/vu/vuetorrent/package.nix
index 46664f0d26c5..6db3e8920e9e 100644
--- a/pkgs/by-name/vu/vuetorrent/package.nix
+++ b/pkgs/by-name/vu/vuetorrent/package.nix
@@ -7,16 +7,16 @@
 
 buildNpmPackage rec {
   pname = "vuetorrent";
-  version = "2.24.2";
+  version = "2.26.0";
 
   src = fetchFromGitHub {
     owner = "VueTorrent";
     repo = "VueTorrent";
     tag = "v${version}";
-    hash = "sha256-+BTnFQxg+8vJdfwER6lM7dszRxBiX20K/vYv+nuH/1Y=";
+    hash = "sha256-/oNeQdep05DVrwprDsX9oBnvL/u4AOqLd8aMCBseb6s=";
   };
 
-  npmDepsHash = "sha256-4lIxaNqXO5jDmXgPfoxRuSe8p6jV7momSbpl9Nns0VI=";
+  npmDepsHash = "sha256-d9wBE29YUoN3AqF3idgCH8eJtTw1TxlycgYs+ffkISY=";
 
   installPhase = ''
     runHook preInstall
diff --git a/pkgs/by-name/vu/vulnix/package.nix b/pkgs/by-name/vu/vulnix/package.nix
index 7ce9413457d8..a31a513a6402 100644
--- a/pkgs/by-name/vu/vulnix/package.nix
+++ b/pkgs/by-name/vu/vulnix/package.nix
@@ -28,8 +28,8 @@ python3Packages.buildPythonApplication rec {
 
   nativeCheckInputs = with python3Packages; [
     freezegun
-    pytest
-    pytest-cov
+    pytestCheckHook
+    pytest-cov-stub
   ];
 
   propagatedBuildInputs =
@@ -48,7 +48,7 @@ python3Packages.buildPythonApplication rec {
 
   postBuild = "make -C doc";
 
-  checkPhase = "py.test src/vulnix";
+  pytestFlagsArray = [ "src/vulnix" ];
 
   postInstall = ''
     install -D -t $doc/share/doc/vulnix README.rst CHANGES.rst
diff --git a/pkgs/by-name/vu/vuls/package.nix b/pkgs/by-name/vu/vuls/package.nix
index 485530212e51..d007817926f8 100644
--- a/pkgs/by-name/vu/vuls/package.nix
+++ b/pkgs/by-name/vu/vuls/package.nix
@@ -6,17 +6,17 @@
 
 buildGo124Module rec {
   pname = "vuls";
-  version = "0.30.0";
+  version = "0.32.0";
 
   src = fetchFromGitHub {
     owner = "future-architect";
     repo = "vuls";
     tag = "v${version}";
-    hash = "sha256-lDLT5GNFL2LtooHNlpKrewzxVK5W8u+0U47BDvMG8l4=";
+    hash = "sha256-XFaKgCThZ7nE5JY11uq0A4kPMazPUINjo4el8IFRGNI=";
     fetchSubmodules = true;
   };
 
-  vendorHash = "sha256-X9PWg4vB07Bh9w8Lw3cdEaciVvRhvQD0L5n4cFKf880=";
+  vendorHash = "sha256-95j7C0VOJadcv1/SAwEc/2HmeV1vOAh6vdrElRx+M60=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/vu/vultr-cli/package.nix b/pkgs/by-name/vu/vultr-cli/package.nix
index 50b611abd1da..8f8847edecda 100644
--- a/pkgs/by-name/vu/vultr-cli/package.nix
+++ b/pkgs/by-name/vu/vultr-cli/package.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "vultr-cli";
-  version = "3.4.0";
+  version = "3.5.0";
 
   src = fetchFromGitHub {
     owner = "vultr";
     repo = "vultr-cli";
     rev = "v${version}";
-    hash = "sha256-uk0tG66u0gQgEzpiFAeMC0qPrd+Pk6nbrXuuyOtVLe4=";
+    hash = "sha256-y3wxlct+sx0i93Q7F3gISf4OBX/PT3I97EiiUh9XTKc=";
   };
 
-  vendorHash = "sha256-qf0l76MGIFv5m7uSjo4FgS6XxYzCT4+Efgt6W6jA1i8=";
+  vendorHash = "sha256-8OJ9KusPMlifopno3lyMyftN/FsTFTnB4tEqyAuyo0A=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/by-name/vu/vunnel/package.nix b/pkgs/by-name/vu/vunnel/package.nix
index 0661cc3cd415..43c7306022fc 100644
--- a/pkgs/by-name/vu/vunnel/package.nix
+++ b/pkgs/by-name/vu/vunnel/package.nix
@@ -7,14 +7,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "vunnel";
-  version = "0.32.0";
+  version = "0.33.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "anchore";
     repo = "vunnel";
     tag = "v${version}";
-    hash = "sha256-5zO1/lfB5ULJqSt14by9OYFT/0H9ZGSkA90wmf7dB5U=";
+    hash = "sha256-NmU+84hgKryn1zX7vk0ixy2msxeqwGwuTm1H44Lue7I=";
     leaveDotGit = true;
   };
 
@@ -81,7 +81,7 @@ python3.pkgs.buildPythonApplication rec {
   meta = {
     description = "Tool for collecting vulnerability data from various sources";
     homepage = "https://github.com/anchore/vunnel";
-    changelog = "https://github.com/anchore/vunnel/releases/tag/v${version}";
+    changelog = "https://github.com/anchore/vunnel/releases/tag/${src.tag}";
     license = lib.licenses.asl20;
     maintainers = with lib.maintainers; [ fab ];
     mainProgram = "vunnel";
diff --git a/pkgs/by-name/wa/waf/package.nix b/pkgs/by-name/wa/waf/package.nix
index e4a3262a8d12..2902a7fe55ca 100644
--- a/pkgs/by-name/wa/waf/package.nix
+++ b/pkgs/by-name/wa/waf/package.nix
@@ -64,7 +64,7 @@ stdenv.mkDerivation (finalAttrs: {
     runHook preInstall
 
     install -D waf "$out"/bin/waf
-    wrapProgram "$out"/bin/waf --set PYTHONPATH "$out"/${python3.sitePackages}
+    wrapProgram "$out"/bin/waf --prefix PYTHONPATH : "$out"/${python3.sitePackages}
     mkdir -p "$out"/${python3.sitePackages}/
     cp -r waflib "$out"/${python3.sitePackages}/
     runHook postInstall
diff --git a/pkgs/by-name/wa/wakapi/package.nix b/pkgs/by-name/wa/wakapi/package.nix
index 0936daefb33d..2253f2d8f8ae 100644
--- a/pkgs/by-name/wa/wakapi/package.nix
+++ b/pkgs/by-name/wa/wakapi/package.nix
@@ -6,7 +6,7 @@
   nix-update-script,
 }:
 let
-  version = "2.13.4";
+  version = "2.14.0";
 in
 buildGoModule {
   pname = "wakapi";
@@ -16,10 +16,10 @@ buildGoModule {
     owner = "muety";
     repo = "wakapi";
     tag = version;
-    hash = "sha256-r4bk82+c2f2VZ8ObpeoIbIClJRhPPb5OyollMq3iS4I=";
+    hash = "sha256-7+T4jAZHgGFggTg3Teq0apQWIyJi3llEeLhO0igpcWY=";
   };
 
-  vendorHash = "sha256-8SjBRagqdzJvW8eCKLeHBOQL4qX83USMIDDyS+8Mpvo=";
+  vendorHash = "sha256-rjkFd31BS1ujD8K9s48Fm6Ok3Xbnm5uvlBTtYL0S4Gg=";
 
   # Not a go module required by the project, contains development utilities
   excludedPackages = [ "scripts" ];
diff --git a/pkgs/by-name/wa/wallabag/package.nix b/pkgs/by-name/wa/wallabag/package.nix
index 747ec30795df..fc27e7b913cd 100644
--- a/pkgs/by-name/wa/wallabag/package.nix
+++ b/pkgs/by-name/wa/wallabag/package.nix
@@ -16,7 +16,7 @@
 
 let
   pname = "wallabag";
-  version = "2.6.12";
+  version = "2.6.13";
 in
 stdenv.mkDerivation {
   inherit pname version;
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
   # Release tarball includes vendored files
   src = fetchurl {
     url = "https://github.com/wallabag/wallabag/releases/download/${version}/wallabag-${version}.tar.gz";
-    hash = "sha256-o6IbFhDac6BUNjYqhRQXWoNVwkqkRLSYyhYoOz+IG80=";
+    hash = "sha256-GnnXAnn8jqndy3GCrovuS5dddzZbS/RnX8JL5yNVppY=";
   };
 
   patches = [
diff --git a/pkgs/by-name/wa/wandio/package.nix b/pkgs/by-name/wa/wandio/package.nix
new file mode 100644
index 000000000000..5afdbba89243
--- /dev/null
+++ b/pkgs/by-name/wa/wandio/package.nix
@@ -0,0 +1,42 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  autoreconfHook,
+  zlib,
+  bzip2,
+  xz,
+  nix-update-script,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "wandio";
+  version = "4.2.6-1";
+
+  src = fetchFromGitHub {
+    owner = "LibtraceTeam";
+    repo = "wandio";
+    tag = finalAttrs.version;
+    hash = "sha256-fYSAmuTgik8YeonHQc+GHRQ1lEuWxlE17npVsMpBlOE=";
+  };
+
+  strictDeps = true;
+
+  nativeBuildInputs = [ autoreconfHook ];
+  buildInputs = [
+    zlib
+    bzip2
+    xz
+  ];
+
+  passthru.updateScript = nix-update-script { extraArgs = [ "--version-regex=^([0-9.-]+)$" ]; };
+
+  meta = {
+    description = "C library for simple and efficient file IO";
+    homepage = "https://github.com/LibtraceTeam/wandio";
+    changelog = "https://github.com/LibtraceTeam/wandio/releases/tag/${finalAttrs.version}";
+    license = lib.licenses.lgpl3Only;
+    maintainers = with lib.maintainers; [ felbinger ];
+    platforms = lib.platforms.unix;
+  };
+})
diff --git a/pkgs/by-name/wa/warehouse/package.nix b/pkgs/by-name/wa/warehouse/package.nix
index 7fd50af13e08..b07aff78550a 100644
--- a/pkgs/by-name/wa/warehouse/package.nix
+++ b/pkgs/by-name/wa/warehouse/package.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "warehouse";
-  version = "2.0.2";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "flattool";
     repo = "warehouse";
     tag = finalAttrs.version;
-    hash = "sha256-EcpHFS0EczUDFs0A/7IuNs1082hsuuS0J6wxSq47vaQ=";
+    hash = "sha256-3xtC6pcZo6MTypeILy+cNMBaPK+PlshIXaeJW6KGyV0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/wa/warp-plus/package.nix b/pkgs/by-name/wa/warp-plus/package.nix
index 2b34aed01ea9..e783ca677f56 100644
--- a/pkgs/by-name/wa/warp-plus/package.nix
+++ b/pkgs/by-name/wa/warp-plus/package.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "warp-plus";
-  version = "1.2.5";
+  version = "1.2.6";
 
   src = fetchFromGitHub {
     owner = "bepass-org";
     repo = "warp-plus";
     rev = "v${version}";
-    hash = "sha256-gDn4zicSD+Hz3GsL6pzGpUaiHcw+8KHDaOJGCML6LOA=";
+    hash = "sha256-Zi428QI0DBIPEywXPi0TwDQWJuQyQcB6N5nqtYkkpHk=";
   };
 
-  vendorHash = "sha256-MWzF9+yK+aUr8D4d64+qCD6XIqtmWH5hCLmQoksgFf8=";
+  vendorHash = "sha256-cCMbda2dVZypGqy9zoh0D3lVHWw/HNbCaSe0Nj5wL6s=";
 
   ldflags = [
     "-s"
@@ -32,6 +32,7 @@ buildGoModule rec {
       # Skip tests that require network access
       skippedTests = [
         "TestConcurrencySafety"
+        "TestNoiseHandshake"
         "TestTwoDevicePing"
       ];
     in
diff --git a/pkgs/by-name/wa/warp-terminal/versions.json b/pkgs/by-name/wa/warp-terminal/versions.json
index aba3c69d0bcb..242c03f5a5af 100644
--- a/pkgs/by-name/wa/warp-terminal/versions.json
+++ b/pkgs/by-name/wa/warp-terminal/versions.json
@@ -1,14 +1,14 @@
 {
   "darwin": {
-    "hash": "sha256-oPBB3tCxLMogV3SEr7QHjFgOw8n7bfuwFSRdgWwSb9Y=",
-    "version": "0.2025.05.28.08.11.stable_03"
+    "hash": "sha256-xkrJqFLzKKEBPWr49JqpCC70CGEGpwrhb5GLCoGZiWI=",
+    "version": "0.2025.06.04.08.11.stable_03"
   },
   "linux_x86_64": {
-    "hash": "sha256-pVXmosjXXnSyOrLEUzZtLWs1KWkyDRXSjHV6rdvuK6U=",
-    "version": "0.2025.05.28.08.11.stable_03"
+    "hash": "sha256-OVS84RwWqspkE6Wfji/FuoaXvS2ZA2vWkI0kfQrEWSk=",
+    "version": "0.2025.06.04.08.11.stable_03"
   },
   "linux_aarch64": {
-    "hash": "sha256-LKFkJg5NEgtjvjK1gzo4ZQqQQbxmzRgP+CNznlgUfJo=",
-    "version": "0.2025.05.28.08.11.stable_03"
+    "hash": "sha256-K/RC1hYe7G+3symQVR8If/B1/VCACCTcq5JTSKLREIM=",
+    "version": "0.2025.06.04.08.11.stable_03"
   }
 }
diff --git a/pkgs/by-name/wa/wasm-tools/package.nix b/pkgs/by-name/wa/wasm-tools/package.nix
index 389f79ea0d72..06bf8236ca17 100644
--- a/pkgs/by-name/wa/wasm-tools/package.nix
+++ b/pkgs/by-name/wa/wasm-tools/package.nix
@@ -6,20 +6,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wasm-tools";
-  version = "1.233.0";
+  version = "1.235.0";
 
   src = fetchFromGitHub {
     owner = "bytecodealliance";
     repo = "wasm-tools";
     rev = "v${version}";
-    hash = "sha256-Xx5ukiMIMQSptEe035Dq6NWidU/MN/Hxg0C0y6aUCJ0=";
+    hash = "sha256-SrWmoDSz2/qSiex46CeDIgarjgGRp2KOThGP4YjglZY=";
     fetchSubmodules = true;
   };
 
   # Disable cargo-auditable until https://github.com/rust-secure-code/cargo-auditable/issues/124 is solved.
   auditable = false;
   useFetchCargoVendor = true;
-  cargoHash = "sha256-OFF8tUZ5Xhc+GQ2v0gYpAogIHeXjYEDxUn+78WsuHHs=";
+  cargoHash = "sha256-j4tZupbWYcFy6M7XgDJjOKcvEYSNkQd30hvB2keVZwE=";
   cargoBuildFlags = [
     "--package"
     "wasm-tools"
diff --git a/pkgs/by-name/wa/wasmi/package.nix b/pkgs/by-name/wa/wasmi/package.nix
index 9afcafba9ce6..3553949d09ea 100644
--- a/pkgs/by-name/wa/wasmi/package.nix
+++ b/pkgs/by-name/wa/wasmi/package.nix
@@ -7,18 +7,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wasmi";
-  version = "0.46.0";
+  version = "0.47.0";
 
   src = fetchFromGitHub {
     owner = "paritytech";
     repo = "wasmi";
     tag = "v${version}";
-    hash = "sha256-H/nuV4OMj2xCVej1u8zh9c9sp+XH+Zdpb080ZoA3xvc=";
+    hash = "sha256-N2zEc+++286FBJl6cGh8ibOvHHwMnh4PcOLaRhB/rC0=";
     fetchSubmodules = true;
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-IDoZ6A5c/ayCusdb9flR3S/CBxJIWHQlEYP8ILRWXFw=";
+  cargoHash = "sha256-asl8saHlZ5A05QFs2pSs6jMM6AI29c4DTPu4zw+FMug=";
   passthru.updateScript = nix-update-script { };
 
   meta = with lib; {
diff --git a/pkgs/by-name/wa/wavebox/package.nix b/pkgs/by-name/wa/wavebox/package.nix
index 56e33611b1ec..0f5cb88fa46a 100644
--- a/pkgs/by-name/wa/wavebox/package.nix
+++ b/pkgs/by-name/wa/wavebox/package.nix
@@ -156,11 +156,11 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "wavebox";
-  version = "10.136.15-2";
+  version = "10.137.9-2";
 
   src = fetchurl {
     url = "https://download.wavebox.app/stable/linux/deb/amd64/wavebox_${finalAttrs.version}_amd64.deb";
-    hash = "sha256-VY8SIFg4aN5dH3CXB6r/mv1lh2KWNSPDHZkNFXptQJo=";
+    hash = "sha256-knJKdBegAeC2xQWnkdvx2Xyyfr3Q9uHaXlD62PnMngs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/wa/way-displays/package.nix b/pkgs/by-name/wa/way-displays/package.nix
index a83567663e95..c22df9c1a546 100644
--- a/pkgs/by-name/wa/way-displays/package.nix
+++ b/pkgs/by-name/wa/way-displays/package.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "way-displays";
-  version = "1.14.0";
+  version = "1.14.1";
 
   src = fetchFromGitHub {
     owner = "alex-courtis";
     repo = "way-displays";
     rev = version;
-    sha256 = "sha256-HIm5cHi9yX9IHDrxqYzxwefuZtOCu5TJzf3j0aiSC5g=";
+    sha256 = "sha256-IW9LolTZaPn2W8IZ166RebQRIug0CyFz/Prgr34wNwM=";
   };
 
   strictDeps = true;
diff --git a/pkgs/by-name/wa/waybar/package.nix b/pkgs/by-name/wa/waybar/package.nix
index d2b27b317029..53a6abb425b3 100644
--- a/pkgs/by-name/wa/waybar/package.nix
+++ b/pkgs/by-name/wa/waybar/package.nix
@@ -12,7 +12,6 @@
   gtk-layer-shell,
   gtkmm3,
   howard-hinnant-date,
-  hyprland,
   iniparser,
   jsoncpp,
   libcava,
@@ -38,7 +37,6 @@
   sndio,
   spdlog,
   systemdMinimal,
-  sway,
   udev,
   upower,
   versionCheckHook,
@@ -51,7 +49,6 @@
   enableManpages ? stdenv.buildPlatform.canExecute stdenv.hostPlatform,
   evdevSupport ? true,
   experimentalPatches ? true,
-  hyprlandSupport ? true,
   inputSupport ? true,
   jackSupport ? true,
   mpdSupport ? true,
@@ -64,7 +61,6 @@
   runTests ? stdenv.buildPlatform.canExecute stdenv.hostPlatform,
   sndioSupport ? true,
   systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemdMinimal,
-  swaySupport ? true,
   traySupport ? true,
   udevSupport ? true,
   upowerSupport ? true,
@@ -128,7 +124,6 @@ stdenv.mkDerivation (finalAttrs: {
       portaudio
     ]
     ++ lib.optional evdevSupport libevdev
-    ++ lib.optional hyprlandSupport hyprland
     ++ lib.optional inputSupport libinput
     ++ lib.optional jackSupport libjack2
     ++ lib.optional mpdSupport libmpdclient
@@ -136,7 +131,6 @@ stdenv.mkDerivation (finalAttrs: {
     ++ lib.optional nlSupport libnl
     ++ lib.optional pulseSupport libpulseaudio
     ++ lib.optional sndioSupport sndio
-    ++ lib.optional swaySupport sway
     ++ lib.optional systemdSupport systemdMinimal
     ++ lib.optional traySupport libdbusmenu-gtk3
     ++ lib.optional udevSupport udev
diff --git a/pkgs/by-name/wd/wdt/fix-glog-include.patch b/pkgs/by-name/wd/wdt/fix-glog-include.patch
new file mode 100644
index 000000000000..b1b6b5de53f1
--- /dev/null
+++ b/pkgs/by-name/wd/wdt/fix-glog-include.patch
@@ -0,0 +1,49 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index abbeead..93cac12 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -136,8 +136,7 @@ find_package(Threads) # this will set ${CMAKE_THREAD_LIBS_INIT} (ie pthreads)
+ find_path(DOUBLECONV_INCLUDE_DIR double-conversion/double-conversion.h)
+ find_library(DOUBLECONV_LIBRARY double-conversion)
+ # Glog
+-find_path(GLOG_INCLUDE_DIR glog/logging.h)
+-find_library(GLOG_LIBRARY glog)
++find_package(glog REQUIRED)
+ # Gflags
+ find_path(GFLAGS_INCLUDE_DIR gflags/gflags.h)
+ find_library(GFLAGS_LIBRARY gflags)
+@@ -174,7 +173,7 @@ endif()
+ # You can also add jemalloc to the list if you have it/want it
+ target_link_libraries(wdt_min
+   ${FOLLY_LIBRARY}
+-  ${GLOG_LIBRARY}
++  glog::glog
+   ${GFLAGS_LIBRARY}
+   ${Boost_LIBRARIES}
+   ${DOUBLECONV_LIBRARY}
+@@ -226,7 +225,7 @@ if (NOT WDT_USE_SYSTEM_FOLLY)
+   endif()
+ 
+   add_library(folly4wdt ${FOLLY_CPP_SRC})
+-  target_link_libraries(folly4wdt ${GLOG_LIBRARY} ${DOUBLECONV_LIBRARY})
++  target_link_libraries(folly4wdt glog::glog ${DOUBLECONV_LIBRARY})
+ endif()
+ 
+ # Order is important - inside fb we want the above
+@@ -234,7 +233,6 @@ endif()
+ include_directories(${CMAKE_CURRENT_BINARY_DIR})
+ include_directories(${FOLLY_INCLUDE_DIR})
+ include_directories(${DOUBLECONV_INCLUDE_DIR})
+-include_directories(${GLOG_INCLUDE_DIR})
+ include_directories(${GFLAGS_INCLUDE_DIR})
+ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/..)
+ 
+@@ -336,7 +334,7 @@ if (BUILD_TESTING)
+   )
+ 
+   target_link_libraries(wdtbenchlib
+-    ${GLOG_LIBRARY}
++    glog::glog
+     ${GFLAGS_LIBRARY}
+   )
+ 
diff --git a/pkgs/by-name/wd/wdt/package.nix b/pkgs/by-name/wd/wdt/package.nix
index 62f4759f87fe..578a7dc236dc 100644
--- a/pkgs/by-name/wd/wdt/package.nix
+++ b/pkgs/by-name/wd/wdt/package.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation {
   pname = "wdt";
-  version = "1.27.1612021-unstable-2024-12-06";
+  version = "1.27.1612021-unstable-2025-06-05";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "wdt";
-    rev = "7e56c871be706cc96df48be7c4017bff7c6fc7c8";
-    sha256 = "sha256-mvfJUiOI7Cre90hIaBJcmfTbTV5M+Hf+p6VKNYEc5WU=";
+    rev = "5cf3886d1b70f8aee60ec74b86823de1dce4233b";
+    sha256 = "sha256-g6wzYM++yv8tCUKom1bWB9MlImG/+OkhoTH+kTxURoA=";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -37,6 +37,10 @@ stdenv.mkDerivation {
     ln -s $sourceRoot wdt
   '';
 
+  patches = [
+    ./fix-glog-include.patch
+  ];
+
   cmakeFlags = [
     "-DWDT_USE_SYSTEM_FOLLY=ON"
   ];
diff --git a/pkgs/by-name/we/wealthfolio/package.nix b/pkgs/by-name/we/wealthfolio/package.nix
index a4a2aa14632d..7940cf360560 100644
--- a/pkgs/by-name/we/wealthfolio/package.nix
+++ b/pkgs/by-name/we/wealthfolio/package.nix
@@ -18,18 +18,18 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "wealthfolio";
-  version = "1.1.2";
+  version = "1.1.4";
 
   src = fetchFromGitHub {
     owner = "afadil";
     repo = "wealthfolio";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-lN7P8FPcMU9COTyKs1hswvmHIKFqrL3Svp77q4pI6+I=";
+    hash = "sha256-NO+cqpEUc1A7Gk0jW5ycHgggYq3hlzf5jJIUTNQD5vA=";
   };
 
   pnpmDeps = pnpm_9.fetchDeps {
     inherit (finalAttrs) src pname version;
-    hash = "sha256-wKj1jy/TDi8Cckx9et2XzX3yPnmfXMDrqv9c4+Yyhu4=";
+    hash = "sha256-KupqObdNrnWbbt9C4NNmgmQCfJ2O4FjJBwGy6XQhhHg=";
   };
 
   cargoRoot = "src-tauri";
@@ -42,7 +42,7 @@ stdenv.mkDerivation (finalAttrs: {
       src
       cargoRoot
       ;
-    hash = "sha256-MmdvEutdkX98DgX1aVuxs4gabuMX5aM8yC4eqgvd8Q4=";
+    hash = "sha256-3f3b4aWUewolUI3kWpKSywvlf5WBBiewHbGK0uzdyXY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/we/weasis/package.nix b/pkgs/by-name/we/weasis/package.nix
index cd2a81853fe9..3978f8236141 100644
--- a/pkgs/by-name/we/weasis/package.nix
+++ b/pkgs/by-name/we/weasis/package.nix
@@ -2,34 +2,32 @@
   lib,
   stdenv,
   fetchzip,
-  jdk23,
+  jdk24,
   copyDesktopItems,
   makeDesktopItem,
 }:
 
 let
-  throwSystem = throw "Unsupported system: ${stdenv.system}";
-  platform =
-    {
-      "x86_64-linux" = "linux-x86-64";
-    }
-    .${stdenv.system} or throwSystem;
+  selectSystem =
+    attrs:
+    attrs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+  platform = selectSystem {
+    "x86_64-linux" = "linux-x86-64";
+  };
 
 in
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "weasis";
-  version = "4.5.1";
+  version = "4.6.1";
 
   # Their build instructions indicate to use the packaging script
   src = fetchzip {
-    url = "https://github.com/nroduit/Weasis/releases/download/v${version}/weasis-native.zip";
-    hash = "sha256-aGoTSOZ1W8JHQ0+FcJ9RZ47A1LfXJOoGNmVDiUd9zxE=";
+    url = "https://github.com/nroduit/Weasis/releases/download/v${finalAttrs.version}/weasis-native.zip";
+    hash = "sha256-poBMlSjaT4Mx4CV/19S7Dzk48RsgeKrBxl9KXRDzWrc=";
     stripRoot = false;
   };
 
-  nativeBuildInputs = [
-    copyDesktopItems
-  ];
+  nativeBuildInputs = [ copyDesktopItems ];
 
   desktopItems = [
     (makeDesktopItem {
@@ -44,7 +42,7 @@ stdenv.mkDerivation rec {
       exec = "Weasis";
       icon = "Weasis";
       desktopName = "Weasis";
-      comment = meta.description;
+      comment = finalAttrs.meta.description;
     })
   ];
 
@@ -55,7 +53,7 @@ stdenv.mkDerivation rec {
   buildPhase = ''
     runHook preBuild
 
-    ./build/script/package-weasis.sh --no-installer --jdk ${jdk23}
+    ./build/script/package-weasis.sh --no-installer --jdk ${jdk24}
 
     runHook postBuild
   '';
@@ -65,7 +63,7 @@ stdenv.mkDerivation rec {
 
     mkdir -p $out/share/{applications,pixmaps}
 
-    mv weasis-${platform}-jdk${lib.versions.major jdk23.version}-${version}/Weasis/* $out/
+    mv weasis-${platform}-jdk${lib.versions.major jdk24.version}-${finalAttrs.version}/Weasis/* $out/
     mv $out/lib/*.png $out/share/pixmaps/
 
     runHook postInstall
@@ -75,7 +73,7 @@ stdenv.mkDerivation rec {
     description = "Multipurpose standalone and web-based DICOM viewer with a highly modular architecture";
     homepage = "https://weasis.org";
     # Using changelog from releases as it is more accurate
-    changelog = "https://github.com/nroduit/Weasis/releases/tag/v${version}";
+    changelog = "https://github.com/nroduit/Weasis/releases/tag/v${finalAttrs.version}";
     license = with lib.licenses; [
       asl20
       epl20
@@ -84,4 +82,4 @@ stdenv.mkDerivation rec {
     platforms = [ "x86_64-linux" ];
     mainProgram = "Weasis";
   };
-}
+})
diff --git a/pkgs/by-name/we/weaviate/package.nix b/pkgs/by-name/we/weaviate/package.nix
index 42b438bc2c57..676628b83b60 100644
--- a/pkgs/by-name/we/weaviate/package.nix
+++ b/pkgs/by-name/we/weaviate/package.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "weaviate";
-  version = "1.30.5";
+  version = "1.31.1";
 
   src = fetchFromGitHub {
     owner = "weaviate";
     repo = "weaviate";
     rev = "v${version}";
-    hash = "sha256-35wvIAt9VeF5poVYwOen+WAhO1uQusMH7/V9Czz8s+A=";
+    hash = "sha256-df+/ZMkTpx5Z1LJ+0frUXWxyCoGPMaovC+9zfNqhDxg=";
   };
 
-  vendorHash = "sha256-W2n9qET1D1xuNrmBAyjTPljouhVPtld4z9Xcar0EfWY=";
+  vendorHash = "sha256-mYGWG253nH4KfrJxZpMs0Byw9YrzeNuzB28fyhbjLqg=";
 
   subPackages = [ "cmd/weaviate-server" ];
 
diff --git a/pkgs/by-name/we/webex/package.nix b/pkgs/by-name/we/webex/package.nix
index e1e23eb9f479..3e0d5e4e3929 100644
--- a/pkgs/by-name/we/webex/package.nix
+++ b/pkgs/by-name/we/webex/package.nix
@@ -169,7 +169,7 @@ stdenv.mkDerivation rec {
     version=$(jq -r '.version' <<< "$manifest")
     hash=$(jq -r '.checksum' <<< "$manifest")
 
-    update-source-version ${pname} "$version" "$hash" "$url" --file=./pkgs/applications/networking/instant-messengers/webex/default.nix
+    update-source-version ${pname} "$version" "$hash" "$url" --file=./pkgs/by-name/we/webex/package.nix
   '';
 
   meta = with lib; {
diff --git a/pkgs/by-name/we/weblate/package.nix b/pkgs/by-name/we/weblate/package.nix
index 1b670e1fd39d..259f5d06c125 100644
--- a/pkgs/by-name/we/weblate/package.nix
+++ b/pkgs/by-name/we/weblate/package.nix
@@ -16,7 +16,8 @@
 let
   python = python3.override {
     packageOverrides = final: prev: {
-      django = prev.django_5;
+      # https://github.com/django-crispy-forms/crispy-bootstrap3/issues/12
+      django = prev.django_5_1;
       djangorestframework = prev.djangorestframework.overridePythonAttrs (old: {
         # https://github.com/encode/django-rest-framework/discussions/9342
         disabledTests = (old.disabledTests or [ ]) ++ [ "test_invalid_inputs" ];
@@ -26,7 +27,7 @@ let
 in
 python.pkgs.buildPythonApplication rec {
   pname = "weblate";
-  version = "5.11.4";
+  version = "5.12.1";
 
   pyproject = true;
 
@@ -39,7 +40,7 @@ python.pkgs.buildPythonApplication rec {
     owner = "WeblateOrg";
     repo = "weblate";
     tag = "weblate-${version}";
-    hash = "sha256-0/PYl8A95r0xulaSawnSyrSqB7SiEBgd9TVP7OIla00=";
+    hash = "sha256-8tqPxvSvVG1j/TGMozihtBYsn7oly41lP4iK3BwTmVk=";
   };
 
   patches = [
@@ -81,7 +82,7 @@ python.pkgs.buildPythonApplication rec {
       celery
       certifi
       charset-normalizer
-      django-crispy-bootstrap3
+      crispy-bootstrap3
       cryptography
       cssselect
       cython
@@ -134,6 +135,7 @@ python.pkgs.buildPythonApplication rec {
       siphashc
       social-auth-app-django
       social-auth-core
+      standardwebhooks
       tesserocr
       translate-toolkit
       translation-finder
@@ -148,7 +150,7 @@ python.pkgs.buildPythonApplication rec {
     ++ drf-spectacular.optional-dependencies.sidecar
     ++ drf-standardized-errors.optional-dependencies.openapi;
 
-  pythonRelaxDeps = [ "django-otp-webauthn" ];
+  pythonRelaxDeps = [ "certifi" ];
 
   optional-dependencies = {
     postgres = with python.pkgs; [ psycopg ];
diff --git a/pkgs/by-name/we/websocat/package.nix b/pkgs/by-name/we/websocat/package.nix
index f0cb9eea6b99..8a513a9e0ec8 100644
--- a/pkgs/by-name/we/websocat/package.nix
+++ b/pkgs/by-name/we/websocat/package.nix
@@ -3,6 +3,7 @@
   stdenv,
   bash,
   fetchFromGitHub,
+  fetchpatch,
   libiconv,
   makeWrapper,
   openssl,
@@ -22,8 +23,16 @@ rustPlatform.buildRustPackage rec {
     hash = "sha256-v5+9cbKe3c12/SrW7mgN6tvQIiAuweqvMIl46Ce9f2A=";
   };
 
-  useFetchCargoVendor = true;
-  cargoHash = "sha256-KqtjewctX5M77aCIOpKpqlFEMs9QAzFP/v6KrZwiHb4=";
+  # Fix build with Rust 1.87
+  # FIXME: remove in next update
+  cargoPatches = [
+    (fetchpatch {
+      url = "https://github.com/vi/websocat/commit/d4455623e777231d69b029d69d7a17c0de2bafe7.diff";
+      hash = "sha256-OUQQ+3eESE3XcGgToErqvF8ItpT8YCMAZhbvRzkFKpc=";
+    })
+  ];
+
+  cargoHash = "sha256-3m7Gg//vjNjYlesEjKsdqjU48dAtgSeugxingr8OJyY=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/by-name/we/wechat-uos/package.nix b/pkgs/by-name/we/wechat-uos/package.nix
index 02d8935bf1c4..4e40b4ade627 100644
--- a/pkgs/by-name/we/wechat-uos/package.nix
+++ b/pkgs/by-name/we/wechat-uos/package.nix
@@ -210,6 +210,12 @@ buildFHSEnv {
 
     substituteInPlace $out/share/applications/com.tencent.wechat.desktop \
       --replace-quiet 'Exec=/usr/bin/wechat' "Exec=$out/bin/wechat-uos --"
+
+    # See https://github.com/NixOS/nixpkgs/issues/413491
+    sed -i \
+      -e '/\[Desktop Entry\]/a\' \
+      -e 'StartupWMClass=wechat' \
+      $out/share/applications/com.tencent.wechat.desktop
   '';
   targetPkgs = pkgs: [ wechat-uos-env ];
 
diff --git a/pkgs/by-name/we/wechat/darwin.nix b/pkgs/by-name/we/wechat/darwin.nix
new file mode 100644
index 000000000000..e82885d27d6f
--- /dev/null
+++ b/pkgs/by-name/we/wechat/darwin.nix
@@ -0,0 +1,30 @@
+{
+  pname,
+  version,
+  src,
+  meta,
+  stdenvNoCC,
+  _7zz,
+}:
+
+stdenvNoCC.mkDerivation {
+  inherit
+    pname
+    version
+    src
+    meta
+    ;
+
+  # dmg is APFS formatted
+  nativeBuildInputs = [ _7zz ];
+  sourceRoot = ".";
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/Applications
+    cp -a WeChat.app $out/Applications
+
+    runHook postInstall
+  '';
+}
diff --git a/pkgs/by-name/we/wechat/linux.nix b/pkgs/by-name/we/wechat/linux.nix
new file mode 100644
index 000000000000..0d4f42bf987d
--- /dev/null
+++ b/pkgs/by-name/we/wechat/linux.nix
@@ -0,0 +1,30 @@
+{
+  pname,
+  version,
+  src,
+  meta,
+  appimageTools,
+}:
+
+let
+  appimageContents = appimageTools.extract {
+    inherit pname version src;
+    postExtract = ''
+      patchelf --replace-needed libtiff.so.5 libtiff.so $out/opt/wechat/wechat
+    '';
+  };
+in
+appimageTools.wrapAppImage {
+  inherit pname version meta;
+
+  src = appimageContents;
+
+  extraInstallCommands = ''
+    mkdir -p $out/share/applications
+    cp ${appimageContents}/wechat.desktop $out/share/applications/
+    mkdir -p $out/share/pixmaps
+    cp ${appimageContents}/wechat.png $out/share/pixmaps/
+
+    substituteInPlace $out/share/applications/wechat.desktop --replace-fail AppRun wechat
+  '';
+}
diff --git a/pkgs/by-name/we/wechat/package.nix b/pkgs/by-name/we/wechat/package.nix
new file mode 100644
index 000000000000..f3e052d56fa8
--- /dev/null
+++ b/pkgs/by-name/we/wechat/package.nix
@@ -0,0 +1,60 @@
+{
+  callPackage,
+  fetchurl,
+  lib,
+  stdenvNoCC,
+}:
+
+let
+  inherit (stdenvNoCC.hostPlatform) system;
+
+  pname = "wechat";
+  meta = {
+    description = "Messaging and calling app";
+    homepage = "https://www.wechat.com/en/";
+    downloadPage = "https://linux.weixin.qq.com/en";
+    license = lib.licenses.unfree;
+    sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
+    maintainers = with lib.maintainers; [ prince213 ];
+    mainProgram = "wechat";
+    platforms = [
+      "aarch64-darwin"
+      "x86_64-darwin"
+      "aarch64-linux"
+      "x86_64-linux"
+    ];
+  };
+
+  sources =
+    let
+      any-darwin = {
+        version = "4.0.5.24";
+        src = fetchurl {
+          url = "https://web.archive.org/web/20250608064358if_/https://dldir1v6.qq.com/weixin/Universal/Mac/WeChatMac.dmg";
+          hash = "sha256-ieixBgYhZ5jU3TWCV7BXKFBidJ1bbabXBHTkrpNcGDI=";
+        };
+      };
+    in
+    {
+      aarch64-darwin = any-darwin;
+      x86_64-darwin = any-darwin;
+      aarch64-linux = {
+        version = "4.0.1.11";
+        src = fetchurl {
+          url = "https://web.archive.org/web/20250512112413if_/https://dldir1v6.qq.com/weixin/Universal/Linux/WeChatLinux_arm64.AppImage";
+          hash = "sha256-Rg+FWNgOPC02ILUskQqQmlz1qNb9AMdvLcRWv7NQhGk=";
+        };
+      };
+      x86_64-linux = {
+        version = "4.0.1.11";
+        src = fetchurl {
+          url = "https://web.archive.org/web/20250512110825if_/https://dldir1v6.qq.com/weixin/Universal/Linux/WeChatLinux_x86_64.AppImage";
+          hash = "sha256-gBWcNQ1o1AZfNsmu1Vi1Kilqv3YbR+wqOod4XYAeVKo=";
+        };
+      };
+    };
+in
+callPackage (if stdenvNoCC.hostPlatform.isDarwin then ./darwin.nix else ./linux.nix) {
+  inherit pname meta;
+  inherit (sources.${system} or (throw "Unsupported system: ${system}")) version src;
+}
diff --git a/pkgs/by-name/we/werf/package.nix b/pkgs/by-name/we/werf/package.nix
index b22b2e1f65a9..8ddc80fe6dcc 100644
--- a/pkgs/by-name/we/werf/package.nix
+++ b/pkgs/by-name/we/werf/package.nix
@@ -10,17 +10,17 @@
 }:
 buildGoModule (finalAttrs: {
   pname = "werf";
-  version = "2.37.1";
+  version = "2.38.0";
 
   src = fetchFromGitHub {
     owner = "werf";
     repo = "werf";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-FIahppFWQx1UCR7mo3oiFT1SDOoySmqc7Fc2E5XMglY=";
+    hash = "sha256-cZUzkThVKgPc8bsxmDc2+gsq9YxVswokO1rORvKVIws=";
   };
 
   proxyVendor = true;
-  vendorHash = "sha256-u/sG/UZt76Sr3Ckiv8Nn2JnMrVsAIlSWWTvs+Yfn6eU=";
+  vendorHash = "sha256-aQVDt6VDtQjHCkY2xcbmoKn+UUplJ+a6xfdwPSF/j9Y=";
 
   subPackages = [ "cmd/werf" ];
 
diff --git a/pkgs/by-name/wg/wgetpaste/package.nix b/pkgs/by-name/wg/wgetpaste/package.nix
index e08de62dd14a..0a2b34490864 100644
--- a/pkgs/by-name/wg/wgetpaste/package.nix
+++ b/pkgs/by-name/wg/wgetpaste/package.nix
@@ -33,7 +33,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.publicDomain;
     maintainers = with lib.maintainers; [
       qknight
-      domenkozar
     ];
     platforms = lib.platforms.all;
   };
diff --git a/pkgs/by-name/wh/which/package.nix b/pkgs/by-name/wh/which/package.nix
index a739a54f474d..c03d7a711da9 100644
--- a/pkgs/by-name/wh/which/package.nix
+++ b/pkgs/by-name/wh/which/package.nix
@@ -2,25 +2,32 @@
   lib,
   stdenv,
   fetchurl,
+  directoryListingUpdater,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "which";
   version = "2.23";
 
   src = fetchurl {
-    url = "mirror://gnu/which/which-${version}.tar.gz";
+    url = "mirror://gnu/which/which-${finalAttrs.version}.tar.gz";
     hash = "sha256-osVYIm/E2eTOMxvS/Tw/F/lVEV0sAORHYYpO+ZeKKnM=";
   };
 
   strictDeps = true;
   enableParallelBuilding = true;
 
+  passthru.updateScript = directoryListingUpdater {
+    inherit (finalAttrs) pname version;
+    url = "https://ftp.gnu.org/gnu/which/";
+  };
+
   meta = {
     homepage = "https://www.gnu.org/software/which/";
     description = "Shows the full path of (shell) commands";
     license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ mdaniels5757 ];
     mainProgram = "which";
     platforms = lib.platforms.all;
   };
-}
+})
diff --git a/pkgs/by-name/wh/whisky/package.nix b/pkgs/by-name/wh/whisky/package.nix
new file mode 100644
index 000000000000..5737c2c81e91
--- /dev/null
+++ b/pkgs/by-name/wh/whisky/package.nix
@@ -0,0 +1,40 @@
+{
+  lib,
+  fetchzip,
+  stdenvNoCC,
+  nix-update-script,
+}:
+
+stdenvNoCC.mkDerivation (finalAttrs: {
+  pname = "whisky";
+  version = "2.3.2";
+
+  src = fetchzip {
+    extension = "zip";
+    name = "Whisky.app";
+    url = "https://github.com/IsaacMarovitz/Whisky/releases/download/v${finalAttrs.version}/Whisky.zip";
+    hash = "sha256-rA2z3/So54KkXGc3CpF4m46ImL/SokSPxHmmXP0bfcY=";
+  };
+
+  sourceRoot = ".";
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p "$out/Applications"
+    cp -r *.app "$out/Applications"
+
+    runHook postInstall
+  '';
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    description = "Wine wrapper built with SwiftUI";
+    homepage = "https://getwhisky.app/";
+    license = lib.licenses.gpl3Only;
+    maintainers = with lib.maintainers; [ iivusly ];
+    platforms = lib.platforms.darwin;
+    sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
+  };
+})
diff --git a/pkgs/by-name/wh/whitesur-gtk-theme/package.nix b/pkgs/by-name/wh/whitesur-gtk-theme/package.nix
index 0fdb72fd553e..274b4dfe7147 100644
--- a/pkgs/by-name/wh/whitesur-gtk-theme/package.nix
+++ b/pkgs/by-name/wh/whitesur-gtk-theme/package.nix
@@ -94,13 +94,13 @@ lib.checkListOfEnum "${pname}: window control buttons variants" [ "normal" "alt"
   stdenv.mkDerivation
   rec {
     pname = "whitesur-gtk-theme";
-    version = "2025-04-03";
+    version = "2025-06-14";
 
     src = fetchFromGitHub {
       owner = "vinceliuice";
-      repo = pname;
+      repo = "whitesur-gtk-theme";
       rev = version;
-      hash = "sha256-XSghDBpxAjdQMB9tyV2NIM6j/AzmzsnybGGDYi7u3BQ=";
+      hash = "sha256-+K2HAnpcCqfSw3WmiklMPnJTDuCSBiWe3aGNq2mnFLA=";
     };
 
     nativeBuildInputs = [
diff --git a/pkgs/by-name/wh/whois/package.nix b/pkgs/by-name/wh/whois/package.nix
index a7e6f03e2106..e31d6f6cb3e0 100644
--- a/pkgs/by-name/wh/whois/package.nix
+++ b/pkgs/by-name/wh/whois/package.nix
@@ -11,14 +11,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "5.6.1";
+  version = "5.6.2";
   pname = "whois";
 
   src = fetchFromGitHub {
     owner = "rfc1036";
     repo = "whois";
     rev = "v${version}";
-    hash = "sha256-2DDZBERslsnkfFDyz7IXEhvUqfKfRvmIelougkTjPYU=";
+    hash = "sha256-SUpbPxEAFXNlncUgmbMt7ZjaX45hzffca8keBRpcXcM=";
   };
 
   patches = [
diff --git a/pkgs/by-name/wi/wifi-password/package.nix b/pkgs/by-name/wi/wifi-password/package.nix
index 83c9d7937139..709261f4ce9a 100644
--- a/pkgs/by-name/wi/wifi-password/package.nix
+++ b/pkgs/by-name/wi/wifi-password/package.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   src = fetchFromGitHub {
     owner = "rauchg";
-    repo = pname;
+    repo = "wifi-password";
     rev = version;
     sha256 = "0sfvb40h7rz9jzp4l9iji3jg80paklqsbmnk5h7ipsv2xbsplp64";
   };
diff --git a/pkgs/by-name/wi/windsurf/info.json b/pkgs/by-name/wi/windsurf/info.json
index db9f6557b9de..0676e9288632 100644
--- a/pkgs/by-name/wi/windsurf/info.json
+++ b/pkgs/by-name/wi/windsurf/info.json
@@ -1,20 +1,20 @@
 {
   "aarch64-darwin": {
-    "version": "1.9.2",
-    "vscodeVersion": "1.99.1",
-    "url": "https://windsurf-stable.codeiumdata.com/darwin-arm64/stable/8cb7f313303c8b35844a56b6fe0f76e508261569/Windsurf-darwin-arm64-1.9.2.zip",
-    "sha256": "b3edf57d19fab5ceac0cd3daee3c54052e503b052efebad0b6bfeac3b9f5a979"
+    "version": "1.10.3",
+    "vscodeVersion": "1.99.3",
+    "url": "https://windsurf-stable.codeiumdata.com/darwin-arm64/stable/c1afeb8ae2b17dbdda415f9aa5dec23422c1fe47/Windsurf-darwin-arm64-1.10.3.zip",
+    "sha256": "1d48996a9a695ddce474e4a268e687752c5f856446298c58fdbca3b21f19ec88"
   },
   "x86_64-darwin": {
-    "version": "1.9.2",
-    "vscodeVersion": "1.99.1",
-    "url": "https://windsurf-stable.codeiumdata.com/darwin-x64/stable/8cb7f313303c8b35844a56b6fe0f76e508261569/Windsurf-darwin-x64-1.9.2.zip",
-    "sha256": "227ed7b01b9f7637d126ef880b6e0c07daa263b0740e6394e32ad4ebedd05d78"
+    "version": "1.10.3",
+    "vscodeVersion": "1.99.3",
+    "url": "https://windsurf-stable.codeiumdata.com/darwin-x64/stable/c1afeb8ae2b17dbdda415f9aa5dec23422c1fe47/Windsurf-darwin-x64-1.10.3.zip",
+    "sha256": "ab46ad5bed1c8e577fee8cfe249981af88c504a357f82a769cd698b3bc9c2b4d"
   },
   "x86_64-linux": {
-    "version": "1.9.2",
-    "vscodeVersion": "1.99.1",
-    "url": "https://windsurf-stable.codeiumdata.com/linux-x64/stable/8cb7f313303c8b35844a56b6fe0f76e508261569/Windsurf-linux-x64-1.9.2.tar.gz",
-    "sha256": "ee5a4ac38f9a2518a54429cb235bae76d74b3fff0f5947dbfc29738d78f28542"
+    "version": "1.10.3",
+    "vscodeVersion": "1.99.3",
+    "url": "https://windsurf-stable.codeiumdata.com/linux-x64/stable/c1afeb8ae2b17dbdda415f9aa5dec23422c1fe47/Windsurf-linux-x64-1.10.3.tar.gz",
+    "sha256": "638f31624714189f6c3272635d1089debbe1fb9a96eb290a8b5b4471eb288dfb"
   }
 }
diff --git a/pkgs/by-name/wi/winhelpcgi/package.nix b/pkgs/by-name/wi/winhelpcgi/package.nix
deleted file mode 100644
index 19141ca03382..000000000000
--- a/pkgs/by-name/wi/winhelpcgi/package.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{
-  stdenv,
-  fetchurl,
-  libwmf,
-  libpng12,
-  pkg-config,
-  lib,
-}:
-stdenv.mkDerivation {
-  pname = "winhelpcgi";
-  version = "1.0-rc3";
-
-  src = fetchurl {
-    url = "http://www.herdsoft.com/ftp/winhelpcgi_1.0-1.tar.gz";
-    sha256 = "sha256-9HIs50ZGoTfGixD9c/DQs0KJMQtmfsDVB8qRMnQtXNw=";
-
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-
-  buildInputs = [
-    libwmf
-    libpng12
-  ];
-
-  meta = {
-    description = "CGI module for Linux, Solaris, MacOS X and AIX to read Windows Help Files";
-    mainProgram = "winhelpcgi.cgi";
-    homepage = "http://www.herdsoft.com/linux/produkte/winhelpcgi.html";
-    license = lib.licenses.gpl2Only;
-    maintainers = [ lib.maintainers.shlevy ];
-    platforms = lib.platforms.linux;
-    broken = stdenv.hostPlatform.isAarch64;
-  };
-}
diff --git a/pkgs/by-name/wi/wireguard-tools/package.nix b/pkgs/by-name/wi/wireguard-tools/package.nix
index b8bad89199da..19e3585bca1d 100644
--- a/pkgs/by-name/wi/wireguard-tools/package.nix
+++ b/pkgs/by-name/wi/wireguard-tools/package.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "wireguard-tools";
-  version = "1.0.20210914";
+  version = "1.0.20250521";
 
   src = fetchzip {
     url = "https://git.zx2c4.com/wireguard-tools/snapshot/wireguard-tools-${version}.tar.xz";
-    sha256 = "sha256-eGGkTVdPPTWK6iEyowW11F4ywRhd+0IXJTZCqY3OZws=";
+    sha256 = "sha256-V9yKf4ZvxpOoVCFkFk18+130YBMhyeMt0641tn0O0e0=";
   };
 
   outputs = [
diff --git a/pkgs/by-name/wi/wiremix/package.nix b/pkgs/by-name/wi/wiremix/package.nix
new file mode 100644
index 000000000000..92f040b05e59
--- /dev/null
+++ b/pkgs/by-name/wi/wiremix/package.nix
@@ -0,0 +1,38 @@
+{
+  lib,
+  fetchCrate,
+  rustPlatform,
+  pkg-config,
+  pipewire,
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "wiremix";
+  version = "0.4.0";
+
+  src = fetchCrate {
+    inherit pname version;
+    hash = "sha256-LtwKG3phUuNgwXlAJMhZkOenYHGyXGRhNcr6+WKxVz0=";
+  };
+
+  useFetchCargoVendor = true;
+  cargoHash = "sha256-Qc+VubikiYox1zqy2HO3InRI8aFT8AorrFZBQhNGFOQ=";
+
+  nativeBuildInputs = [
+    pkg-config
+    rustPlatform.bindgenHook
+  ];
+  buildInputs = [ pipewire ];
+
+  meta = {
+    description = "Simple TUI mixer for PipeWire";
+    mainProgram = "wiremix";
+    homepage = "https://github.com/tsowell/wiremix";
+    license = with lib.licenses; [
+      asl20
+      mit
+    ];
+    maintainers = with lib.maintainers; [ tsowell ];
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/pkgs/by-name/wi/wiremock/package.nix b/pkgs/by-name/wi/wiremock/package.nix
index c2d61c32f735..791f35454e7a 100644
--- a/pkgs/by-name/wi/wiremock/package.nix
+++ b/pkgs/by-name/wi/wiremock/package.nix
@@ -10,11 +10,11 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "wiremock";
-  version = "3.13.0";
+  version = "3.13.1";
 
   src = fetchurl {
     url = "mirror://maven/org/wiremock/wiremock-standalone/${finalAttrs.version}/wiremock-standalone-${finalAttrs.version}.jar";
-    hash = "sha256-3Qqxrv6sf1Ch2JmSpaal1qtaJgtmD5UTcxWBblOAv5w=";
+    hash = "sha256-vfTHBef9Ycd45ZoZ91OW6sRSDv6r+sl2Q6U5eb1NVxY=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/by-name/wi/wivrn/package.nix b/pkgs/by-name/wi/wivrn/package.nix
index 050076e10d28..861f53b85bc3 100644
--- a/pkgs/by-name/wi/wivrn/package.nix
+++ b/pkgs/by-name/wi/wivrn/package.nix
@@ -167,8 +167,10 @@ stdenv.mkDerivation (finalAttrs: {
       (lib.cmakeFeature "CUDA_TOOLKIT_ROOT_DIR" "${cudaPackages.cudatoolkit}")
     ];
 
-  postFixup = ''
-    wrapProgram $out/bin/wivrn-dashboard \
+  dontWrapQtApps = true;
+
+  preFixup = ''
+    wrapQtApp "$out/bin/wivrn-dashboard" \
       --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ vulkan-loader ]}
   '';
 
diff --git a/pkgs/by-name/wl/wl-color-picker/package.nix b/pkgs/by-name/wl/wl-color-picker/package.nix
index 3f128e6bdd67..daead7baea1e 100644
--- a/pkgs/by-name/wl/wl-color-picker/package.nix
+++ b/pkgs/by-name/wl/wl-color-picker/package.nix
@@ -9,36 +9,40 @@
   imagemagick,
   makeWrapper,
   bash,
+  libnotify,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "wl-color-picker";
-  version = "1.3";
+  version = "1.4";
 
   src = fetchFromGitHub {
     owner = "jgmdev";
     repo = "wl-color-picker";
-    rev = "v${version}";
-    sha256 = "sha256-lvhpXy4Sd1boYNGhbPoZTJlBhlW5obltDOrEzB1Gq0A=";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-u04eO5QfIEBNEoh9w0w2Kz+vyCLuIzCStyz+lKarF3w=";
   };
 
   strictDeps = true;
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ bash ];
+
+  nativeBuildInputs = [
+    makeWrapper
+    bash
+  ];
 
   patchPhase = ''
+    patchShebangs .
     substituteInPlace Makefile \
-      --replace 'which' 'ls' \
-      --replace 'grim' "${grim}/bin/grim" \
-      --replace 'slurp' "${slurp}/bin/slurp" \
-      --replace 'convert' "${imagemagick}/bin/convert" \
-      --replace 'zenity' "${zenity}/bin/zenity" \
-      --replace 'wl-copy' "${wl-clipboard}/bin/wl-copy"
+      --replace "which" "ls" \
+      --replace "grim" "${lib.getExe grim}" \
+      --replace "slurp" "${lib.getExe slurp}" \
+      --replace "zenity" "${lib.getExe zenity}" \
+      --replace "convert" "${lib.getExe' imagemagick "convert"}" \
+      --replace "wl-copy" "${lib.getExe' wl-clipboard "wl-copy"}" \
+      --replace "notify-send" "${lib.getExe' libnotify "notify-send"}"
   '';
 
-  installFlags = [
-    "DESTDIR=${placeholder "out"}"
-  ];
+  installFlags = [ "DESTDIR=${placeholder "out"}" ];
 
   postInstall = ''
     wrapProgram $out/usr/bin/wl-color-picker \
@@ -49,18 +53,19 @@ stdenv.mkDerivation rec {
           imagemagick
           zenity
           wl-clipboard
+          libnotify
         ]
       }
     mkdir -p $out/bin
     ln -s $out/usr/bin/wl-color-picker $out/bin/wl-color-picker
   '';
 
-  meta = with lib; {
+  meta = {
     description = "Wayland color picker that also works on wlroots";
     homepage = "https://github.com/jgmdev/wl-color-picker";
-    license = licenses.mit;
-    maintainers = with maintainers; [ onny ];
-    platforms = platforms.linux;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ onny ];
+    platforms = lib.platforms.linux;
     mainProgram = "wl-color-picker";
   };
-}
+})
diff --git a/pkgs/by-name/wl/wl-screenrec/package.nix b/pkgs/by-name/wl/wl-screenrec/package.nix
index f90cd7c5f2ac..a265c6fba2c1 100644
--- a/pkgs/by-name/wl/wl-screenrec/package.nix
+++ b/pkgs/by-name/wl/wl-screenrec/package.nix
@@ -1,30 +1,34 @@
 {
   lib,
+  stdenv,
   rustPlatform,
   fetchFromGitHub,
   pkg-config,
+  installShellFiles,
   libdrm,
   ffmpeg_6,
   wayland,
+  nix-update-script,
 }:
 
-rustPlatform.buildRustPackage {
+rustPlatform.buildRustPackage (finalAttrs: {
   pname = "wl-screenrec";
-  version = "0.1.4-unstable-2024-07-28";
+  version = "0.1.7";
 
   src = fetchFromGitHub {
     owner = "russelltg";
     repo = "wl-screenrec";
-    rev = "b817accf1d4f2373cb6f466f760de35e5b8626bd";
-    hash = "sha256-07O2YM9dOHWzriM2+uiBWjEt2hKAuXtRtnKBuzb02Us=";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-O3DNiLiZ1Rh5vesJX+cLv6cVcOVVUfWX914034R3ASQ=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-nwABNqJNqgBVwD860lSu9mcEgty/GbSYmPys3xp535Q=";
+  cargoHash = "sha256-shby6XE8xg5gqBoWlQn/Q0E+AmbyC8hFRp+EaBYS3Fs=";
 
   nativeBuildInputs = [
     pkg-config
     rustPlatform.bindgenHook
+    installShellFiles
   ];
 
   buildInputs = [
@@ -35,12 +39,21 @@ rustPlatform.buildRustPackage {
 
   doCheck = false; # tests use host compositor, etc
 
-  meta = with lib; {
+  postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
+    installShellCompletion --cmd wl-screenrec \
+      --bash <($out/bin/wl-screenrec --generate-completions bash) \
+      --fish <($out/bin/wl-screenrec --generate-completions fish) \
+      --zsh <($out/bin/wl-screenrec --generate-completions zsh)
+  '';
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
     description = "High performance wlroots screen recording, featuring hardware encoding";
     homepage = "https://github.com/russelltg/wl-screenrec";
-    license = licenses.asl20;
-    platforms = platforms.linux;
+    license = lib.licenses.asl20;
+    platforms = lib.platforms.linux;
     mainProgram = "wl-screenrec";
-    maintainers = with maintainers; [ colemickens ];
+    maintainers = with lib.maintainers; [ colemickens ];
   };
-}
+})
diff --git a/pkgs/by-name/wl/wlvncc/package.nix b/pkgs/by-name/wl/wlvncc/package.nix
index 1717989b7deb..197ffc7a98f9 100644
--- a/pkgs/by-name/wl/wlvncc/package.nix
+++ b/pkgs/by-name/wl/wlvncc/package.nix
@@ -22,16 +22,18 @@
   wayland,
   wayland-scanner,
   zlib,
+  nix-update-script,
 }:
+
 stdenv.mkDerivation {
   pname = "wlvncc";
-  version = "unstable-2024-11-23";
+  version = "0-unstable-2025-04-21";
 
   src = fetchFromGitHub {
     owner = "any1";
     repo = "wlvncc";
-    rev = "0489e29fba374a08be8ba4a64d492a3c74018f41";
-    hash = "sha256-jFP4O6zo1fYULOVX9+nuTNAy4NuBKsDKOy+WUQRUjdI=";
+    rev = "a6a5463a9c69ce4db04d8d699dd58e1ba8560a0a";
+    hash = "sha256-8p2IOQvcjOV5xe0c/RWP6aRHtQnu9tYI7QgcC13sg4k=";
   };
 
   nativeBuildInputs = [
@@ -60,12 +62,14 @@ stdenv.mkDerivation {
     zlib
   ];
 
-  meta = with lib; {
+  passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; };
+
+  meta = {
     description = "Wayland Native VNC Client";
     homepage = "https://github.com/any1/wlvncc";
-    license = licenses.gpl2Only;
-    maintainers = with maintainers; [ teutat3s ];
-    platforms = platforms.linux;
+    license = lib.licenses.gpl2Only;
+    maintainers = with lib.maintainers; [ teutat3s ];
+    platforms = lib.platforms.linux;
     mainProgram = "wlvncc";
   };
 }
diff --git a/pkgs/by-name/wo/wofi-power-menu/package.nix b/pkgs/by-name/wo/wofi-power-menu/package.nix
index 06a8674e632f..49f04b70a13b 100644
--- a/pkgs/by-name/wo/wofi-power-menu/package.nix
+++ b/pkgs/by-name/wo/wofi-power-menu/package.nix
@@ -6,23 +6,31 @@
   wofi,
   versionCheckHook,
   nix-update-script,
+  yq,
 }:
 
 rustPlatform.buildRustPackage (finalAttrs: {
   pname = "wofi-power-menu";
-  version = "0.2.6";
+  version = "0.2.7";
 
   src = fetchFromGitHub {
     owner = "szaffarano";
     repo = "wofi-power-menu";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-UDDDtI6wnx64KG+1/S6bYTc1xi1vOFuZOmRCLK2Yzew=";
+    hash = "sha256-WPTK9izFU8xZ5YVFuEGO5EoOzgpXWXQnGgeNYjnb/zA=";
   };
 
-  useFetchCargoVendor = true;
-  cargoHash = "sha256-rlEjktBGBrOqG82PA7LSiXo0iyEPpeWgLix/sVd/dTM=";
+  postPatch = ''
+    tomlq -ti '.package.version = "0.2.7"' Cargo.toml
+  '';
 
-  nativeBuildInputs = [ makeWrapper ];
+  useFetchCargoVendor = true;
+  cargoHash = "sha256-oJd2ymNkNSGUD3cQ+bEHooAJQNeSarkIHWvGNXezwrM=";
+
+  nativeBuildInputs = [
+    makeWrapper
+    yq # for `tomlq`
+  ];
 
   postInstall = ''
     wrapProgram $out/bin/wofi-power-menu \
diff --git a/pkgs/by-name/wo/worker-build/package.nix b/pkgs/by-name/wo/worker-build/package.nix
index 72be72e33f8d..587da6e4de9f 100644
--- a/pkgs/by-name/wo/worker-build/package.nix
+++ b/pkgs/by-name/wo/worker-build/package.nix
@@ -6,18 +6,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "worker-build";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "cloudflare";
     repo = "workers-rs";
     tag = "v${version}";
-    hash = "sha256-eMuuEqHBiwgz7DKimYuK9MUPT4vnOU8rLOIIq8zsTao=";
+    hash = "sha256-wsH16hkiaTthE2FwQ8Ma2qQhkunq2rxkZXPEYR7P0Io=";
   };
 
   useFetchCargoVendor = true;
 
-  cargoHash = "sha256-yzuyenWAdj5tEdUFGxSfBU4m3w1YCCrnbajPMYMGSkI=";
+  cargoHash = "sha256-ZuO020orJBJWm3Q+39MnkQ96rsv9juicUeMtBBVWxcg=";
 
   buildAndTestSubdir = "worker-build";
 
diff --git a/pkgs/by-name/wp/wpgtk/package.nix b/pkgs/by-name/wp/wpgtk/package.nix
index 4cf918c52012..de3c7f8cc78e 100644
--- a/pkgs/by-name/wp/wpgtk/package.nix
+++ b/pkgs/by-name/wp/wpgtk/package.nix
@@ -7,45 +7,49 @@
   gtk3,
   wrapGAppsHook3,
   adwaita-icon-theme,
+  writableTmpDirAsHomeHook,
 }:
 
 python3Packages.buildPythonApplication rec {
   pname = "wpgtk";
-  version = "6.5.9";
+  version = "6.7.0";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "deviantfero";
     repo = "wpgtk";
-    rev = version;
-    sha256 = "sha256-NlJG9d078TW1jcnVrpBORIIwDUGIAGWZoDbXp9/qRr4=";
+    tag = version;
+    hash = "sha256-X7KKXPNKqs0pVRrR04ZrJgCTDZUj3lcFKnwSaX4/RAM=";
   };
 
+  build-system = with python3Packages; [ setuptools ];
+
   nativeBuildInputs = [
     gobject-introspection
+    wrapGAppsHook3
+    writableTmpDirAsHomeHook # The $HOME variable must be set to build the package. A "permission denied" error will occur otherwise
   ];
 
   buildInputs = [
-    wrapGAppsHook3
     gtk3
     adwaita-icon-theme
     libxslt
   ];
 
-  propagatedBuildInputs = with python3Packages; [
+  dependencies = with python3Packages; [
     pygobject3
     pillow
     pywal
   ];
 
-  # The $HOME variable must be set to build the package. A "permission denied" error will occur otherwise
-  preBuild = ''
-    export HOME=$(pwd)
-  '';
+  dontWrapGApps = true;
+
+  makeWrapperArgs = [ "\${gappsWrapperArgs[@]}" ];
 
   # No test exist
   doCheck = false;
 
-  meta = with lib; {
+  meta = {
     description = "Template based wallpaper/colorscheme generator and manager";
     longDescription = ''
       In short, wpgtk is a colorscheme/wallpaper manager with a template system attached which lets you create templates from any textfile and will replace keywords on it on the fly, allowing for great styling and theming possibilities.
@@ -55,9 +59,9 @@ python3Packages.buildPythonApplication rec {
       INFO: To work properly, this tool needs "programs.dconf.enable = true" on nixos or dconf installed. A reboot may be required after installing dconf.
     '';
     homepage = "https://github.com/deviantfero/wpgtk";
-    license = licenses.gpl2Only;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [
+    license = lib.licenses.gpl2Only;
+    platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [
       melkor333
       cafkafk
     ];
diff --git a/pkgs/by-name/ws/wsdd/package.nix b/pkgs/by-name/ws/wsdd/package.nix
index 1c69a0ef8fb8..ba37b253cf87 100644
--- a/pkgs/by-name/ws/wsdd/package.nix
+++ b/pkgs/by-name/ws/wsdd/package.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wsdd";
-  version = "0.8";
+  version = "0.9";
 
   src = fetchFromGitHub {
     owner = "christgau";
     repo = "wsdd";
     rev = "v${version}";
-    hash = "sha256-T8/XlQpx4CtNy8LuLwOQBG9muFe9pp5583tDaCT4ReI=";
+    hash = "sha256-i3+Mw1l/kTRQT/CxRKvaEfdEh2qcEQp1Wa90Vk3JUMM=";
   };
 
   outputs = [
diff --git a/pkgs/by-name/ws/wstunnel/package.nix b/pkgs/by-name/ws/wstunnel/package.nix
index 46232d50cd7f..338b5d3d6115 100644
--- a/pkgs/by-name/ws/wstunnel/package.nix
+++ b/pkgs/by-name/ws/wstunnel/package.nix
@@ -7,23 +7,19 @@
   versionCheckHook,
 }:
 
-let
-  version = "10.3.0";
-in
-
-rustPlatform.buildRustPackage {
+rustPlatform.buildRustPackage (finalAttrs: {
   pname = "wstunnel";
-  inherit version;
+  version = "10.4.3";
 
   src = fetchFromGitHub {
     owner = "erebe";
     repo = "wstunnel";
-    tag = "v${version}";
-    hash = "sha256-Eq5d80hLg0ZkXtnObDQXmC+weUq9eN5SIQ6teVxB3a4=";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-Qg+9ClYbb1+g3BPioCwDdJYyPrl2g+44LD5OCDjMBzI=";
   };
 
   useFetchCargoVendor = true;
-  cargoHash = "sha256-V5ohlS+dTrmhsvxpXW9JA7YpH/LWiyepUwEdBRrHiYE=";
+  cargoHash = "sha256-LZkiSu9KRI7QYZrCakwR+VVvR6ZpwEGB7Z9jM1C8qvk=";
 
   cargoBuildFlags = [ "--package wstunnel-cli" ];
 
@@ -47,7 +43,7 @@ rustPlatform.buildRustPackage {
   meta = {
     description = "Tunnel all your traffic over Websocket or HTTP2 - Bypass firewalls/DPI";
     homepage = "https://github.com/erebe/wstunnel";
-    changelog = "https://github.com/erebe/wstunnel/releases/tag/v${version}";
+    changelog = "https://github.com/erebe/wstunnel/releases/tag/v${finalAttrs.version}";
     license = lib.licenses.bsd3;
     maintainers = with lib.maintainers; [
       raylas
@@ -56,4 +52,4 @@ rustPlatform.buildRustPackage {
     ];
     mainProgram = "wstunnel";
   };
-}
+})
diff --git a/pkgs/by-name/wx/wxsqlite3/package.nix b/pkgs/by-name/wx/wxsqlite3/package.nix
index a1162dc13fa1..d802043daf7a 100644
--- a/pkgs/by-name/wx/wxsqlite3/package.nix
+++ b/pkgs/by-name/wx/wxsqlite3/package.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wxsqlite3";
-  version = "4.10.7";
+  version = "4.10.8";
 
   src = fetchFromGitHub {
     owner = "utelle";
     repo = "wxsqlite3";
     rev = "v${version}";
-    hash = "sha256-5T5Nph6ImxJdKpyjZZngNzGEsqsoCux2Ze5Lb9WICfs=";
+    hash = "sha256-Gd3RuSQgN9D9nAsQqlFjDPTC1OldoVc3E6TXr0VwTCI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/x2/x2t/package.nix b/pkgs/by-name/x2/x2t/package.nix
index 3878c3b35671..6a46fbe4a8cd 100644
--- a/pkgs/by-name/x2/x2t/package.nix
+++ b/pkgs/by-name/x2/x2t/package.nix
@@ -27,6 +27,12 @@ let
     mkdir $BUILDRT/Common/3dParty/icu/linux_64
     ln -s ${icu}/lib $BUILDRT/Common/3dParty/icu/linux_64/build
   '';
+  icuQmakeFlags = [
+    "QMAKE_LFLAGS+=-Wl,--no-undefined"
+    "QMAKE_LFLAGS+=-licuuc"
+    "QMAKE_LFLAGS+=-licudata"
+    "QMAKE_LFLAGS+=-L${icu}/lib"
+  ];
   # see core/Common/3dParty/html/fetch.sh
   katana-parser-src = fetchFromGitHub {
     owner = "jasenhuang";
@@ -34,6 +40,13 @@ let
     rev = "be6df458d4540eee375c513958dcb862a391cdd1";
     hash = "sha256-SYJFLtrg8raGyr3zQIEzZDjHDmMmt+K0po3viipZW5c=";
   };
+  # see build_tools scripts/core_common/modules/googletest.py
+  googletest-src = fetchFromGitHub {
+    owner = "google";
+    repo = "googletest";
+    tag = "v1.13.0";
+    hash = "sha256-LVLEn+e7c8013pwiLzJiiIObyrlbBHYaioO/SWbItPQ=";
+  };
   # 'latest' version
   # (see build_tools scripts/core_common/modules/hyphen.py)
   hyphen-src = fetchFromGitHub {
@@ -83,11 +96,12 @@ let
   #qmakeFlags = [ "CONFIG+=debug" ];
   qmakeFlags = [ ];
   dontStrip = false;
+  core-rev = "d257c68d5fdd71a33776a291914f2c856426c259";
   core = fetchFromGitHub {
     owner = "ONLYOFFICE";
     repo = "core";
     # rev that the 'core' submodule in documentserver points at
-    rev = "d257c68d5fdd71a33776a291914f2c856426c259";
+    rev = core-rev;
     hash = "sha256-EXeqG8MJWS1asjFihnuMnDSHeKt2x+Ui+8MYK50AnSY=";
   };
   buildCoreComponent =
@@ -95,7 +109,9 @@ let
     stdenv.mkDerivation (
       finalAttrs:
       {
-        name = "onlyoffice-core-${rootdir}";
+        pname = "onlyoffice-core-${rootdir}";
+        # Could be neater, but these are intermediate derivations anyway
+        version = core-rev;
         src = core;
         sourceRoot = "${finalAttrs.src.name}/${rootdir}";
         dontWrapQtApps = true;
@@ -107,7 +123,7 @@ let
           export SRCRT=$(pwd)
           cd $(echo "${rootdir}" | sed -s "s/[^/]*/../g")
           export BUILDRT=$(pwd)
-          ln -s ../source ../core
+          ln -s $(pwd)/../source ../core
           chmod -R u+w .
         '';
         postPatch = ''
@@ -128,12 +144,20 @@ let
     );
   buildCoreTests =
     rootdir: attrs:
-    (buildCoreComponent (rootdir + "/test") (
+    (buildCoreComponent rootdir (
       {
         doCheck = true;
+        qmakeFlags = qmakeFlags ++ icuQmakeFlags;
         checkPhase = ''
           runHook preCheck
-          ./build/linux_64/test
+          TEST=$(find . -type f -name test)
+          if [ -f "$TEST" ]; then
+              $TEST
+          else
+              echo "Test executable not found"
+              find .
+              exit 1
+          fi
           runHook postCheck
         '';
         installPhase = ''
@@ -147,6 +171,7 @@ let
       # icu needs c++20 for include/unicode/localpointer.h
       ./common-cpp20.patch
     ];
+    qmakeFlags = qmakeFlags ++ icuQmakeFlags;
     preConfigure = ''
       source ${fixIcu}
 
@@ -156,6 +181,40 @@ let
         UnicodeConverter.cpp \
         --replace-fail "TRUE" "true"
     '';
+    passthru.tests = buildCoreTests "UnicodeConverter/test" {
+      buildInputs = [
+        unicodeConverter
+        kernel
+      ];
+      qmakeFlags = qmakeFlags ++ icuQmakeFlags;
+      preConfigure = ''
+        source ${fixIcu}
+        echo -e "\ninclude(../../Common/3dParty/icu/icu.pri)" >> test.pro
+      '';
+      checkPhase = ''
+        # Many of the tests do not appear to produce the 'expected' output,
+        # but it's not obvious whether this an error in the behaviour
+        # or in the test expectations:
+        TESTS=$(ls testfiles/*_utf8.txt | grep -v "/0_" | grep -v "/11_" | grep -v "/17_" | grep -v "/18_" | grep -v "/20_" | grep -v "/21_" | grep -v "/22_" | grep -v "/23_" | grep -v "/24_" | grep -v "/25_" | grep -v "/26_" | grep -v "/27_" | grep -v "/29_" | grep -v "/30_" | grep -v "/31_" | grep -v "/33_" | grep -v "/35_" | grep -v "/41_" | grep -v "/42_" | grep -v "/43_" | cut -d "/" -f 2 | cut -d "_" -f 1 | sort | uniq)
+
+        # This test expects the test input exactly here:
+        mkdir -p $out/bin
+        cp $(find ./core_build -name test) $out/bin
+        cp -r testfiles $out
+        $out/bin/test
+
+        for test in $TESTS; do
+          echo "Checking test $test"
+          diff $out/testfiles/''${test}_utf8.txt $out/testfiles/''${test}_test_utf8.txt >/dev/null
+        done
+      '';
+      installPhase = ''
+        # TODO: this produces files in $out/testfiles. It looks like this should
+        # test that the files are identical, which they are not - but it is not
+        # obvious the test is 'wrong' :/
+        #md5sum $out/testfiles/*
+      '';
+    };
   };
   kernel = buildCoreComponent "Common" {
     patches = [
@@ -164,31 +223,7 @@ let
     buildInputs = [
       unicodeConverter
     ];
-  };
-  unicodeConverterTests = buildCoreComponent "UnicodeConverter/test" {
-    buildInputs = [
-      unicodeConverter
-      kernel
-      icu
-    ];
-    preConfigure = ''
-      source ${fixIcu}
-
-      # adds includes but not build the lib?
-      echo -e "\ninclude(../../Common/3dParty/icu/icu.pri)" >> test.pro
-    '';
-    postBuild = ''
-      patchelf --add-rpath ${icu}/lib $(find ./core_build -name test)
-    '';
-    installPhase = ''
-      mkdir -p $out/bin
-      cp $(find ./core_build -name test) $out/bin
-      cp -r testfiles $out
-      # TODO: this produces files in $out/testfiles. It looks like this should
-      # test that the files are identical, which they are not - but it is not
-      # obvious the test is 'wrong' :/
-      $out/bin/test
-    '';
+    qmakeFlags = qmakeFlags ++ icuQmakeFlags;
   };
   graphics = buildCoreComponent "DesktopEditor/graphics/pro" {
     patches = [
@@ -209,6 +244,19 @@ let
 
       ln -s ${hyphen-src} $BUILDRT/Common/3dParty/hyphen/hyphen
     '';
+    passthru.tests = lib.attrsets.genAttrs [ "alphaMask" "graphicsLayers" "TestPICT" ] (
+      test:
+      buildCoreTests "DesktopEditor/graphics/tests/${test}" {
+        preConfigure = ''
+          source ${fixIcu}
+        '';
+        buildInputs = [
+          graphics
+          kernel
+          unicodeConverter
+        ];
+      }
+    );
   };
   network = buildCoreComponent "Common/Network" {
     buildInputs = [
@@ -283,6 +331,17 @@ let
       runHook postInstall
     '';
     doCheck = true;
+    passthru.tests = buildCoreTests "Apple/test" {
+      buildInputs = [
+        unicodeConverter
+        kernel
+        iworkfile
+      ];
+      qmakeFlags = qmakeFlags ++ icuQmakeFlags;
+      preConfigure = ''
+        source ${fixIcu}
+      '';
+    };
   };
   vbaformatlib = buildCoreComponent "MsBinaryFile/Projects/VbaFormatLib/Linux" {
     buildInputs = [ boost ];
@@ -321,6 +380,24 @@ let
       kernel
       graphics
     ];
+    passthru.tests = buildCoreTests "DocxRenderer/test" {
+      buildInputs = [
+        unicodeConverter
+        kernel
+        network
+        graphics
+        pdffile
+        djvufile
+        xpsfile
+        docxrenderer
+      ];
+      preConfigure = ''
+        # (not as patch because of line endings)
+        sed -i '47 a #include ' $BUILDRT/Common/OfficeFileFormatChecker2.cpp
+
+        source ${fixIcu}
+      '';
+    };
   };
   xpsfile = buildCoreComponent "XpsFile" {
     buildInputs = [
@@ -355,15 +432,19 @@ let
       # needed for c++ 20 for nodejs_23
       ./common-pole-c20.patch
     ];
-    qmakeFlags = qmakeFlags ++ [
-      # c++1z for nodejs_22.libv8 (20 seems to produce errors around 'is_void_v' there)
-      # c++ 20 for nodejs_23.libv8
-      "CONFIG+=c++2a"
-      # v8_base.h will set nMaxVirtualMemory to 4000000000/5000000000
-      # which is not page-aligned, so disable memory limitation for now
-      "QMAKE_CXXFLAGS+=-DV8_VERSION_121_PLUS"
-      "QMAKE_CXXFLAGS+=-DDISABLE_MEMORY_LIMITATION"
-    ];
+    qmakeFlags =
+      qmakeFlags
+      ++ icuQmakeFlags
+      ++ [
+        # c++1z for nodejs_22.libv8 (20 seems to produce errors around 'is_void_v' there)
+        # c++ 20 for nodejs_23.libv8
+        "CONFIG+=c++2a"
+        # v8_base.h will set nMaxVirtualMemory to 4000000000/5000000000
+        # which is not page-aligned, so disable memory limitation for now
+        "QMAKE_CXXFLAGS+=-DV8_VERSION_121_PLUS"
+        "QMAKE_CXXFLAGS+=-DDISABLE_MEMORY_LIMITATION"
+        "QMAKE_LFLAGS+=-licui18n"
+      ];
     preConfigure = ''
       cd $BUILDRT
 
@@ -393,6 +474,15 @@ let
 
       cd $BUILDRT/DesktopEditor/doctrenderer
     '';
+    passthru.tests = lib.attrsets.genAttrs [ "embed/external" "embed/internal" "js_internal" "json" ] (
+      test:
+      buildCoreTests "DesktopEditor/doctrenderer/test/${test}" {
+        buildInputs = [ doctrenderer ];
+        preConfigure = ''
+          ln -s ${googletest-src} $BUILDRT/Common/3dParty/googletest/googletest
+        '';
+      }
+    );
   };
   htmlfile2 = buildCoreComponent "HtmlFile2" {
     buildInputs = [
@@ -421,10 +511,13 @@ let
       graphics
       boost
     ];
+    qmakeFlags = qmakeFlags ++ [
+      "QMAKE_LFLAGS+=-Wl,--no-undefined"
+    ];
     preConfigure = ''
       ln -s ${gumbo-parser-src} $BUILDRT/Common/3dParty/html/gumbo-parser
     '';
-    passthru.tests.run = buildCoreTests "Fb2File" {
+    passthru.tests.run = buildCoreTests "Fb2File/test" {
       buildInputs = [
         fb2file
         kernel
@@ -432,9 +525,6 @@ let
       preConfigure = ''
         source ${fixIcu}
       '';
-      postBuild = ''
-        patchelf --add-rpath ${icu}/lib build/*/*
-      '';
       checkPhase = ''
         for i in ../examples/*.fb2; do
           cp $i build/linux_64/res.fb2
@@ -449,6 +539,7 @@ let
       kernel
       graphics
     ];
+    qmakeFlags = qmakeFlags ++ icuQmakeFlags;
     preConfigure = ''
       source ${fixIcu}
     '';
@@ -459,8 +550,6 @@ let
       mkdir -p $out/bin
       cp $BUILDRT/build/bin/*/* $BUILDRT/build/bin/*/*/* $out/bin
 
-      patchelf --add-rpath ${icu}/lib $out/bin/allfontsgen
-
       runHook postInstall
     '';
   };
@@ -484,18 +573,12 @@ let
       --output-web=$out/fonts
   '';
 in
-stdenv.mkDerivation (finalAttrs: {
+buildCoreComponent "X2tConverter/build/Qt" {
   pname = "x2t";
   # x2t is not 'directly' versioned, so we version it after the version
   # of documentserver it's pulled into as a submodule
   version = "8.3.2";
 
-  src = core;
-
-  nativeBuildInputs = [
-    pkg-config
-    qt5.full
-  ];
   buildInputs = [
     unicodeConverter
     kernel
@@ -526,34 +609,23 @@ stdenv.mkDerivation (finalAttrs: {
     vbaformatlib
     odfformatlib
   ];
-  dontStrip = true;
-  buildPhase = ''
-    runHook preBuild
-
-    BUILDRT=$(pwd)
+  qmakeFlags = qmakeFlags ++ icuQmakeFlags ++ [ "X2tConverter.pro" ];
+  preConfigure = ''
     source ${fixIcu}
 
     # (not as patch because of line endings)
-    sed -i '47 a #include ' Common/OfficeFileFormatChecker2.cpp
+    sed -i '47 a #include ' $BUILDRT/Common/OfficeFileFormatChecker2.cpp
 
     substituteInPlace \
-      ./Test/Applications/TestDownloader/mainwindow.h \
+      $BUILDRT/Test/Applications/TestDownloader/mainwindow.h \
       --replace-fail "../core" ""
-
-    echo "== X2tConverter =="
-    cd X2tConverter/build/Qt
-    qmake "CONFIG+=debug" -o Makefile X2tConverter.pro
-    make -j$NIX_BUILD_CORES
-    cd ../../..
-
-    runHook postBuild
   '';
 
   installPhase = ''
     runHook preInstall
 
     mkdir -p $out/bin
-    cp ./build/bin/linux_64/*/x2t $out/bin
+    find $BUILDRT/build -type f -exec cp {} $out/bin \;
 
     mkdir -p $out/etc
     cat >$out/etc/DoctRenderer.config <
     EOF
 
-    patchelf --add-rpath ${icu}/lib $out/bin/x2t
-
     runHook postInstall
   '';
   passthru.tests = {
-    unicodeConverter = unicodeConverterTests;
-    fb2file = fb2file.tests.run;
+    unicodeConverter = unicodeConverter.tests;
+    fb2file = fb2file.tests;
+    graphics = graphics.tests;
+    iworkfile = iworkfile.tests;
+    docxrenderer = docxrenderer.tests;
+    doctrenderer = doctrenderer.tests;
     x2t = runCommand "x2t-test" { } ''
       (${x2t}/bin/x2t || true) | grep "OOX/binary file converter." && mkdir -p $out
     '';
@@ -584,7 +658,6 @@ stdenv.mkDerivation (finalAttrs: {
       allfonts
       unicodeConverter
       kernel
-      unicodeConverterTests
       graphics
       network
       docxformatlib
@@ -605,4 +678,4 @@ stdenv.mkDerivation (finalAttrs: {
     maintainers = with lib.maintainers; [ raboof ];
     platforms = lib.platforms.all;
   };
-})
+}
diff --git a/pkgs/by-name/xa/xarchiver/package.nix b/pkgs/by-name/xa/xarchiver/package.nix
index 33d725d5a8d4..01e335f72aa0 100644
--- a/pkgs/by-name/xa/xarchiver/package.nix
+++ b/pkgs/by-name/xa/xarchiver/package.nix
@@ -18,6 +18,7 @@
   gzip,
   lhasa,
   wrapGAppsHook3,
+  desktopToDarwinBundle,
 }:
 
 stdenv.mkDerivation rec {
@@ -37,7 +38,8 @@ stdenv.mkDerivation rec {
     makeWrapper
     pkg-config
     wrapGAppsHook3
-  ];
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ desktopToDarwinBundle ];
+
   buildInputs = [
     gtk3
     bash # so patchShebangs can patch #!/bin/sh in xarchiver.tap
@@ -63,10 +65,9 @@ stdenv.mkDerivation rec {
   strictDeps = true;
 
   meta = {
-    broken = stdenv.hostPlatform.isDarwin;
     description = "GTK frontend to 7z,zip,rar,tar,bzip2, gzip,arj, lha, rpm and deb (open and extract only)";
     homepage = "https://github.com/ib/xarchiver";
-    maintainers = [ lib.maintainers.domenkozar ];
+    maintainers = [ ];
     license = lib.licenses.gpl2Plus;
     platforms = lib.platforms.all;
     mainProgram = "xarchiver";
diff --git a/pkgs/by-name/xa/xawtv/package.nix b/pkgs/by-name/xa/xawtv/package.nix
index 5486b7b6e261..2dbf97f5f723 100644
--- a/pkgs/by-name/xa/xawtv/package.nix
+++ b/pkgs/by-name/xa/xawtv/package.nix
@@ -63,7 +63,7 @@ stdenv.mkDerivation rec {
     description = "TV application for Linux with apps and tools such as a teletext browser";
     license = lib.licenses.gpl2;
     homepage = "https://www.kraxel.org/blog/linux/xawtv/";
-    maintainers = with lib.maintainers; [ domenkozar ];
+    maintainers = with lib.maintainers; [ ];
     platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/by-name/xc/xcp/package.nix b/pkgs/by-name/xc/xcp/package.nix
index be16eedd941b..6870acb17abe 100644
--- a/pkgs/by-name/xc/xcp/package.nix
+++ b/pkgs/by-name/xc/xcp/package.nix
@@ -2,30 +2,45 @@
   rustPlatform,
   fetchFromGitHub,
   lib,
+  acl,
+  nix-update-script,
 }:
 
-rustPlatform.buildRustPackage rec {
+rustPlatform.buildRustPackage (finalAttrs: {
   pname = "xcp";
   version = "0.24.1";
 
   src = fetchFromGitHub {
     owner = "tarka";
     repo = "xcp";
-    rev = "v${version}";
+    tag = "v${finalAttrs.version}";
     hash = "sha256-TI9lveFJsb/OgGQRiPW5iuatB8dsc7yxBs1rb148nEY=";
   };
 
-  # no such file or directory errors
-  doCheck = false;
-
   useFetchCargoVendor = true;
   cargoHash = "sha256-9cNu0cgoo0/41daJwy/uWIXa2wFhYkcPhJfA/69DVx0=";
 
-  meta = with lib; {
+  checkInputs = [ acl ];
+
+  # disable tests depending on special filesystem features
+  checkNoDefaultFeatures = true;
+  checkFeatures = [
+    "test_no_reflink"
+    "test_no_sparse"
+    "test_no_extents"
+    "test_no_acl"
+    "test_no_xattr"
+    "test_no_perms"
+  ];
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
     description = "Extended cp(1)";
     homepage = "https://github.com/tarka/xcp";
-    license = licenses.gpl3Only;
-    maintainers = with maintainers; [ lom ];
+    changelog = "https://github.com/tarka/xcp/releases/tag/v${finalAttrs.version}";
+    license = lib.licenses.gpl3Only;
+    maintainers = with lib.maintainers; [ lom ];
     mainProgram = "xcp";
   };
-}
+})
diff --git a/pkgs/by-name/xc/xcpc/package.nix b/pkgs/by-name/xc/xcpc/package.nix
index 9bcd3f531785..6955cafae837 100644
--- a/pkgs/by-name/xc/xcpc/package.nix
+++ b/pkgs/by-name/xc/xcpc/package.nix
@@ -1,39 +1,43 @@
 {
   lib,
   stdenv,
-  fetchurl,
+  fetchFromGitHub,
+  nix-update-script,
+  autoreconfHook,
+  autoconf-archive,
   pkg-config,
-  glib,
-  libXaw,
-  libX11,
-  libXext,
-  libDSKSupport ? true,
-  libdsk,
-  motifSupport ? false,
-  lesstif,
+  wrapGAppsHook3,
+  libepoxy,
 }:
 
 stdenv.mkDerivation rec {
-  version = "20070122";
+  version = "0.52.1";
   pname = "xcpc";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/xcpc/${pname}-${version}.tar.gz";
-    sha256 = "0hxsbhmyzyyrlidgg0q8izw55q0z40xrynw5a1c3frdnihj9jf7n";
+  src = fetchFromGitHub {
+    owner = "ponceto";
+    repo = "xcpc-emulator";
+    rev = "xcpc-${version}";
+    hash = "sha256-N4UfnCbebaAhx0490niMov/JqlrXt5goblWbW0ajkcc=";
   };
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [
+    autoreconfHook
+    autoconf-archive
+    wrapGAppsHook3
+    pkg-config
+  ];
 
-  buildInputs =
-    [
-      glib
-      libdsk
-      libXaw
-      libX11
-      libXext
-    ]
-    ++ lib.optional libDSKSupport libdsk
-    ++ lib.optional motifSupport lesstif;
+  buildInputs = [ libepoxy ];
+
+  passthru.updateScript = nix-update-script { };
+
+  postInstall = ''
+    substituteInPlace $out/share/applications/xcpc.desktop --replace-fail \
+      "$out/bin/" ""
+    substituteInPlace $out/share/applications/xcpc.desktop --replace-fail \
+      "$out/share/pixmaps/" ""
+  '';
 
   meta = with lib; {
     description = "Portable Amstrad CPC 464/664/6128 emulator written in C";
diff --git a/pkgs/by-name/xc/xcursor-pro/package.nix b/pkgs/by-name/xc/xcursor-pro/package.nix
index b14879d067ac..bf413b8c6d6d 100644
--- a/pkgs/by-name/xc/xcursor-pro/package.nix
+++ b/pkgs/by-name/xc/xcursor-pro/package.nix
@@ -48,7 +48,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     platforms = lib.platforms.unix;
     maintainers = with lib.maintainers; [
       lactose
-      midirhee12
+      midischwarz12
     ];
   };
 })
diff --git a/pkgs/by-name/xd/xdg-desktop-portal-luminous/package.nix b/pkgs/by-name/xd/xdg-desktop-portal-luminous/package.nix
index 94555e6178e4..95c534c3d07e 100644
--- a/pkgs/by-name/xd/xdg-desktop-portal-luminous/package.nix
+++ b/pkgs/by-name/xd/xdg-desktop-portal-luminous/package.nix
@@ -15,22 +15,23 @@
   libxkbcommon,
   glib,
   pipewire,
+  nix-update-script,
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "xdg-desktop-portal-luminous";
-  version = "0.1.8";
+  version = "0.1.10";
 
   src = fetchFromGitHub {
     owner = "waycrate";
     repo = "xdg-desktop-portal-luminous";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-7i6+arKWubziDmy07FocDDiJdOWAszhO7yOOI1iPfds=";
+    hash = "sha256-qdR4wuRqq+PgJPbAtG8xvgWC7NwAeWGJiBXTWWdfyCY=";
   };
 
   cargoDeps = rustPlatform.fetchCargoVendor {
     inherit (finalAttrs) pname version src;
-    hash = "sha256-fatlvc+MoAJZGW/5alnDu1PQyK6mnE0aNQAhrMg7Hio=";
+    hash = "sha256-MIbhNlB2Mv5gOHlVoB93aQczbq9qo+WP/Rz6pWEoxWU=";
   };
 
   nativeBuildInputs = [
@@ -53,6 +54,8 @@ stdenv.mkDerivation (finalAttrs: {
     libxkbcommon
   ];
 
+  passthru.updateScript = nix-update-script { };
+
   meta = {
     description = "xdg-desktop-portal backend for wlroots based compositors, providing screenshot and screencast";
     homepage = "https://github.com/waycrate/xdg-desktop-portal-luminous";
diff --git a/pkgs/by-name/xd/xdg-desktop-portal-shana/package.nix b/pkgs/by-name/xd/xdg-desktop-portal-shana/package.nix
index c443f407d5cd..b8ee93680d14 100644
--- a/pkgs/by-name/xd/xdg-desktop-portal-shana/package.nix
+++ b/pkgs/by-name/xd/xdg-desktop-portal-shana/package.nix
@@ -12,18 +12,18 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "xdg-desktop-portal-shana";
-  version = "0.3.14";
+  version = "0.3.15";
 
   src = fetchFromGitHub {
     owner = "Decodetalkers";
     repo = "xdg-desktop-portal-shana";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-9uie6VFyi7sO8DbthUTgpEc68MvvLA+bUwyV/DSpKkE=";
+    hash = "sha256-6D21Dwpi7Zrf6Whxy41RwdKLLHmevP2M9pgdnz7mgE0=";
   };
 
   cargoDeps = rustPlatform.fetchCargoVendor {
     inherit (finalAttrs) pname version src;
-    hash = "sha256-f9kfCoH0YHVzzZC4rChJgz0yQqVVAYR7Gpa6HuXhQZY=";
+    hash = "sha256-j5M8rKKq2pdHHUQyGf1EZZWj5dpw4RnKxKEbzfT7coc=";
   };
 
   nativeBuildInputs = [
@@ -46,6 +46,7 @@ stdenv.mkDerivation (finalAttrs: {
     maintainers = with lib.maintainers; [
       samuelefacenda
       Rishik-Y
+      Gliczy
     ];
   };
 })
diff --git a/pkgs/by-name/xd/xdg-ninja/package.nix b/pkgs/by-name/xd/xdg-ninja/package.nix
index 0de1ec79c389..99ff6598a35a 100644
--- a/pkgs/by-name/xd/xdg-ninja/package.nix
+++ b/pkgs/by-name/xd/xdg-ninja/package.nix
@@ -5,17 +5,18 @@
   makeWrapper,
   jq,
   glow,
+  nix-update-script,
 }:
 
-stdenvNoCC.mkDerivation rec {
+stdenvNoCC.mkDerivation {
   pname = "xdg-ninja";
-  version = "0.2.0.2";
+  version = "0.2.0.2-unstable-2025-06-07";
 
   src = fetchFromGitHub {
     owner = "b3nj5m1n";
     repo = "xdg-ninja";
-    rev = "v${version}";
-    sha256 = "sha256-ASJIFQ/BpZMQGRtw8kPhtMCbXC1eb/X8TWQz+CAnaSM=";
+    rev = "42ee421d2d532a75942f7395d20baddf23ed7164";
+    hash = "sha256-LIW49kWxfb/oVXkd4xUP6bsoBqcbdZSUjAZbDHVqPp0=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -38,6 +39,8 @@ stdenvNoCC.mkDerivation rec {
     runHook postInstall
   '';
 
+  passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; };
+
   meta = with lib; {
     description = "Shell script which checks your $HOME for unwanted files and directories";
     homepage = "https://github.com/b3nj5m1n/xdg-ninja";
diff --git a/pkgs/by-name/xe/xenia-canary/package.nix b/pkgs/by-name/xe/xenia-canary/package.nix
new file mode 100644
index 000000000000..92f4addf710f
--- /dev/null
+++ b/pkgs/by-name/xe/xenia-canary/package.nix
@@ -0,0 +1,102 @@
+{
+  lib,
+  python3,
+  gtk3,
+  lz4,
+  SDL2,
+  pkg-config,
+  vulkan-loader,
+  ninja,
+  cmake,
+  libuuid,
+  wrapGAppsHook3,
+  makeDesktopItem,
+  copyDesktopItems,
+  llvmPackages_18,
+  autoPatchelfHook,
+  unstableGitUpdater,
+  fetchFromGitHub,
+}:
+llvmPackages_18.stdenv.mkDerivation {
+  pname = "xenia-canary";
+  version = "0-unstable-2025-06-14";
+
+  src = fetchFromGitHub {
+    owner = "xenia-canary";
+    repo = "xenia-canary";
+    fetchSubmodules = true;
+    rev = "f65f044ee51360de6dd26f5ea0a247e92d8f2275";
+    hash = "sha256-cxwawoCLE0E/HaELfI3FG4yhk4GRtjB9pCs9gkeM+uc=";
+  };
+
+  dontConfigure = true;
+
+  nativeBuildInputs = [
+    python3
+    pkg-config
+    ninja
+    cmake
+    wrapGAppsHook3
+    copyDesktopItems
+    autoPatchelfHook
+    libuuid
+  ];
+
+  NIX_CFLAGS_COMPILE = [
+    "-Wno-error=unused-result"
+  ];
+
+  buildInputs = [
+    gtk3
+    lz4
+    SDL2
+  ];
+
+  buildPhase = ''
+    runHook preBuild
+    python3 xenia-build setup
+    python3 xenia-build build --config=release -j $NIX_BUILD_CORES
+    runHook postBuild
+  '';
+
+  runtimeDependencies = [
+    vulkan-loader
+  ];
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "xenia_canary";
+      desktopName = "Xenia Canary";
+      genericName = "Xbox 360 Emulator";
+      exec = "xenia_canary";
+      comment = "Xbox 360 Emulator Research Project";
+      icon = "xenia-canary";
+      startupWMClass = "Xenia_canary";
+      categories = [
+        "Game"
+        "Emulator"
+      ];
+      keywords = [ "xbox" ];
+    })
+  ];
+
+  installPhase = ''
+    runHook preInstall
+    find ./build/bin -mindepth 3 -maxdepth 3 -type f -executable -exec install -Dm755 {} -t $out/bin \;
+    for width in 16 32 48 64 128 256; do
+      install -Dm644 assets/icon/$width.png $out/share/icons/hicolor/''${width}x''${width}/apps/xenia-canary.png
+    done
+    runHook postInstall
+  '';
+
+  passthru.updateScript = unstableGitUpdater { };
+
+  meta = {
+    description = "Xbox 360 Emulator Research Project";
+    homepage = "https://github.com/xenia-canary/xenia-canary";
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ tuxy ];
+    mainProgram = "xenia_canary";
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/by-name/xe/xeus/package.nix b/pkgs/by-name/xe/xeus/package.nix
index 9e9476ca8f25..d2bb4afed02a 100644
--- a/pkgs/by-name/xe/xeus/package.nix
+++ b/pkgs/by-name/xe/xeus/package.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "xeus";
-  version = "5.2.2";
+  version = "5.2.3";
 
   src = fetchFromGitHub {
     owner = "jupyter-xeus";
     repo = "xeus";
     tag = finalAttrs.version;
-    hash = "sha256-nR247SGnc3TSj6PCrJmY6ccACvYKeSYFMgoawyYLBNs=";
+    hash = "sha256-7hT2Ellgut25R3R28nRKd6/kKmfQf9NCoJ2BV9ZGt8I=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/xg/xgboost/package.nix b/pkgs/by-name/xg/xgboost/package.nix
index bfe6dd0c5ab4..b250f41a85c4 100644
--- a/pkgs/by-name/xg/xgboost/package.nix
+++ b/pkgs/by-name/xg/xgboost/package.nix
@@ -48,14 +48,14 @@ effectiveStdenv.mkDerivation rec {
   #   in \
   #   rWrapper.override{ packages = [ xgb ]; }"
   pname = lib.optionalString rLibrary "r-" + pnameBase;
-  version = "3.0.1";
+  version = "3.0.2";
 
   src = fetchFromGitHub {
     owner = "dmlc";
     repo = pnameBase;
     rev = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-sa8Ea/3ypHqnjn0Rl5dgqGejh6921T6JVHXo8y5gp90=";
+    hash = "sha256-8mj8uw7bbwhRaL0JZf9L9//a+Re2AwbL0e7Oiw/BqIA=";
   };
 
   nativeBuildInputs =
diff --git a/pkgs/by-name/xk/xk6/package.nix b/pkgs/by-name/xk/xk6/package.nix
index 19ea1a1e4499..5cfaee28773f 100644
--- a/pkgs/by-name/xk/xk6/package.nix
+++ b/pkgs/by-name/xk/xk6/package.nix
@@ -9,13 +9,13 @@
 
 buildGoModule rec {
   pname = "xk6";
-  version = "0.20.1";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "grafana";
     repo = "xk6";
     tag = "v${version}";
-    hash = "sha256-RVuHGvoXQ9tAUEYTGK03Qjkgl3WCbFqbqt2rkPP6MYs=";
+    hash = "sha256-lSEMToo4Bjh9j2Z/wG64TIeHdJ/+HpYlEXyqIK9MJ/Y=";
   };
 
   vendorHash = null;
diff --git a/pkgs/by-name/xl/xld/package.nix b/pkgs/by-name/xl/xld/package.nix
index 54941de427c3..15f7f282dee1 100644
--- a/pkgs/by-name/xl/xld/package.nix
+++ b/pkgs/by-name/xl/xld/package.nix
@@ -11,11 +11,11 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "xld";
-  version = "20240511";
+  version = "20250302";
 
   src = fetchurl {
     url = "mirror://sourceforge/xld/xld-${finalAttrs.version}.dmg";
-    hash = "sha256-8xfjAWgtSdbD8gGlkGzT8QRz7egIf4PE/rFsFEDX0+c=";
+    hash = "sha256-ADKlRw6k4yoRo1uAd+v0mGECiR+OuCdDCU8sZiGtius=";
   };
 
   buildInputs = [ undmg ];
@@ -46,7 +46,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     ];
     text = ''
       url=$(curl --silent "https://svn.code.sf.net/p/xld/code/appcast/xld-appcast_e.xml")
-      version=$(echo "$url" | xmlstarlet sel -t -v "substring-before(substring-after(//enclosure/@url, 'version='), '&')")
+      version=$(echo "$url" | xmlstarlet sel -t -v "//enclosure/@sparkle:shortVersionString")
       update-source-version xld "$version" --file=./pkgs/by-name/xl/xld/package.nix
     '';
   });
diff --git a/pkgs/by-name/xl/xlights/package.nix b/pkgs/by-name/xl/xlights/package.nix
index c7251e5f3843..28a7b87e7ab4 100644
--- a/pkgs/by-name/xl/xlights/package.nix
+++ b/pkgs/by-name/xl/xlights/package.nix
@@ -6,11 +6,11 @@
 
 appimageTools.wrapType2 rec {
   pname = "xlights";
-  version = "2025.05";
+  version = "2025.06";
 
   src = fetchurl {
     url = "https://github.com/smeighan/xLights/releases/download/${version}/xLights-${version}-x86_64.AppImage";
-    hash = "sha256-uutiM/kLsvNdDi08e5DyyTYGYwUe4UZMyTS1P0ijUP0=";
+    hash = "sha256-8j/52VQP/w/Y/NDAsSnhFXUwpFQ5YrINocmzGsnJ6Rs=";
   };
 
   meta = {
diff --git a/pkgs/by-name/xm/xmrig-mo/package.nix b/pkgs/by-name/xm/xmrig-mo/package.nix
index 6db6bf7349c0..15f7e3c21db2 100644
--- a/pkgs/by-name/xm/xmrig-mo/package.nix
+++ b/pkgs/by-name/xm/xmrig-mo/package.nix
@@ -6,13 +6,13 @@
 
 xmrig.overrideAttrs (oldAttrs: rec {
   pname = "xmrig-mo";
-  version = "6.22.2-mo1";
+  version = "6.22.3-mo1";
 
   src = fetchFromGitHub {
     owner = "MoneroOcean";
     repo = "xmrig";
     rev = "v${version}";
-    hash = "sha256-pJ4NTdpWCt7C98k1EqGoiU0Lup25Frdm1kFJuwTfXgY=";
+    hash = "sha256-jmdlIFTXm5bLScRCYPTe7cDDRyNR29wu5+09Vj6G/Pc=";
   };
 
   meta = with lib; {
diff --git a/pkgs/by-name/xn/xnconvert/package.nix b/pkgs/by-name/xn/xnconvert/package.nix
new file mode 100644
index 000000000000..6b62d59f5eed
--- /dev/null
+++ b/pkgs/by-name/xn/xnconvert/package.nix
@@ -0,0 +1,72 @@
+{
+  lib,
+  fetchurl,
+  appimageTools,
+  makeDesktopItem,
+  imagemagick,
+  runCommand,
+}:
+
+let
+  icon =
+    runCommand "xnconvert-icon.png"
+      {
+        nativeBuildInputs = [ imagemagick ];
+        src = fetchurl {
+          url = "https://www.xnview.com/img/app-xnconvert-512.webp";
+          hash = "sha256-le+rvthQndY3KbkPYuMGZDDcvdpvH9CIS2REP1vmDXg=";
+        };
+      }
+      ''
+        convert $src $out
+      '';
+  desktopItem = (
+    makeDesktopItem {
+      name = "xnconvert";
+      desktopName = "XnConvert";
+      exec = "xnconvert";
+      icon = "xnconvert";
+      comment = "A fast, powerful and free cross-platform batch image converter.";
+      categories = [ "Graphics" ];
+    }
+  );
+  version = "1.105.0";
+in
+appimageTools.wrapType2 {
+  pname = "xnconvert";
+  inherit version;
+
+  src = fetchurl {
+    url = "https://download.xnview.com/old_versions/XnConvert/XnConvert-${version}.glibc2.17-x86_64.AppImage";
+    hash = "sha256-eWQSUVxR3G3XbwBCht6LW3t3/N668jH4UqK5OnRY0ko=";
+  };
+
+  extraPkgs = pkgs: [
+    pkgs.qt5.qtbase
+  ];
+
+  extraInstallCommands = ''
+    install -m 444 -D ${icon} $out/share/icons/hicolor/512x512/apps/xnconvert.png
+
+    mkdir -p $out/share/applications/
+    cp ${desktopItem}/share/applications/*.desktop $out/share/applications/
+  '';
+
+  meta = {
+    homepage = "https://www.xnview.com/en/xnconvert";
+    description = "Fast, powerful and free cross-platform batch image converter";
+    longDescription = ''
+      XnConvert is a fast, powerful and free cross-platform batch image converter.
+      It allows to automate editing of your photo collections: you can rotate,
+      convert and compress your images, photos and pictures easily, and apply over
+      80 actions (like resize, crop, color adjustments, filter, ...).
+      All common picture and graphics formats are supported (JPEG, TIFF, PNG, GIF,
+      WebP, PSD, JPEG2000, JPEG-XL, OpenEXR, camera RAW, HEIC, PDF, DNG, CR2).
+      You can save and re-use your presets for another batch image conversion.
+    '';
+    platforms = lib.platforms.linux;
+    license = lib.licenses.unfree;
+    mainProgram = "xnconvert";
+    maintainers = with lib.maintainers; [ aldenparker ];
+  };
+}
diff --git a/pkgs/by-name/xn/xnviewmp/package.nix b/pkgs/by-name/xn/xnviewmp/package.nix
index d696aa854a81..612f859a3b94 100644
--- a/pkgs/by-name/xn/xnviewmp/package.nix
+++ b/pkgs/by-name/xn/xnviewmp/package.nix
@@ -23,11 +23,11 @@ let
 in
 appimageTools.wrapType2 rec {
   pname = "xnviewmp";
-  version = "1.8.8";
+  version = "1.9.0";
 
   src = fetchurl {
     url = "https://download.xnview.com/old_versions/XnView_MP/XnView_MP-${version}.glibc2.17-x86_64.AppImage";
-    hash = "sha256-zPlb2r+oKNq1iv8dAWE/wbXtKAf3A+XOsSOkciHM6OA=";
+    hash = "sha256-lj6yLxg6VsNq4/3nZG8QuYYL+N+XRlpaN1Lmi307b8Q=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/xo/xorgproto/package.nix b/pkgs/by-name/xo/xorgproto/package.nix
new file mode 100644
index 000000000000..a0766a9979a4
--- /dev/null
+++ b/pkgs/by-name/xo/xorgproto/package.nix
@@ -0,0 +1,136 @@
+{
+  lib,
+  stdenv,
+  fetchurl,
+  fetchpatch,
+  pkg-config,
+  python3,
+  meson,
+  ninja,
+  writeScript,
+  testers,
+}:
+stdenv.mkDerivation (finalAttrs: {
+  pname = "xorgproto";
+  version = "2024.1";
+
+  src = fetchurl {
+    url = "mirror://xorg/individual/proto/xorgproto-${finalAttrs.version}.tar.xz";
+    hash = "sha256-NyIl/UCBW4QjVH9diQxd68cuiLkQiPv7ExWMIElcy1k=";
+  };
+
+  patches = [
+    # small fix for mingw
+    (fetchpatch {
+      url = "https://aur.archlinux.org/cgit/aur.git/plain/meson.patch?h=mingw-w64-xorgproto&id=7b817efc3144a50e6766817c4ca7242f8ce49307";
+      sha256 = "sha256-Izzz9In53W7CC++k1bLr78iSrmxpFm1cH8qcSpptoUQ=";
+    })
+  ];
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    pkg-config
+    python3
+    meson
+    ninja
+  ];
+
+  # adds support for printproto needed for libXp
+  mesonFlags = [ "-Dlegacy=true" ];
+
+  passthru = {
+    updateScript = writeScript "update-${finalAttrs.pname}" ''
+      #!/usr/bin/env nix-shell
+      #!nix-shell -i bash -p common-updater-scripts
+      version="$(list-directory-versions --pname ${finalAttrs.pname} \
+        --url https://xorg.freedesktop.org/releases/individual/proto/ \
+        | sort -V | tail -n1)"
+      update-source-version ${finalAttrs.pname} "$version"
+    '';
+    tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
+  };
+
+  meta = {
+    description = "X Window System unified protocol definitions";
+    homepage = "https://gitlab.freedesktop.org/xorg/proto/xorgproto";
+    license = with lib.licenses; [
+      # The copyright notices are split between each protocol, so to be able to validate this,
+      # I listed all the components that have the license for each license:
+
+      # applewm, composite, dmx, evie, fixes, input, video, windowswm, x11, xext, xf86dri
+      mit
+      # bigreqs, fonts, input, lg3d, pm, x11, xmisc, xext, xinerama
+      mitOpenGroup
+      # composite, damage, dri3, fixes, fonts, present, randr, record, render, xext, xwayland
+      hpndSellVariant
+      # dri2
+      icu
+      # fontcache
+      bsd2
+      # gl
+      sgi-b-20
+      # fonts, input, kb, trap, video, x11, xext
+      hpnd
+      # print, resource, scrnsaver, video, xext, xf86{bigfont,dga,misc,rush,vidmode}, xinerama
+      # Note: 2 of the licenses actually omit a sentence from the x11 license that is not marked as
+      # omittable by spdx. But the sentence is not integral to the license's meaning, I think.
+      x11
+      # x11
+      hpndDifferentDisclaimer
+
+      # fontsproto and x11proto both contain a license that is almost the X11 license, but with one
+      # important difference: the sentence "Permission is hereby granted [...] to use, copy,
+      # modify, merge, publish, distribute ..." is replaced with "All rights reserved."
+      # Since XFree86 has the copyright and XFree86 was, at least in later releases, free software
+      # under the X11 license, I will give this the benefit of the doubt and not mark a package
+      # that idk 30% of nixpkgs depends on (estimate based on nothing other than most xorg stuff
+      # depends on it) as unfree.
+      # upstream issue: https://gitlab.freedesktop.org/xorg/proto/xorgproto/-/issues/53
+      #unfree
+    ];
+    maintainers = [ ];
+    pkgConfigModules = [
+      "applewmproto"
+      "bigreqsproto"
+      "compositeproto"
+      "damageproto"
+      "dmxproto"
+      "dpmsproto"
+      "dri2proto"
+      "dri3proto"
+      "evieproto"
+      "fixesproto"
+      "fontcacheproto"
+      "fontsproto"
+      "glproto"
+      "inputproto"
+      "kbproto"
+      "lg3dproto"
+      "presentproto"
+      "printproto"
+      "randrproto"
+      "recordproto"
+      "renderproto"
+      "resourceproto"
+      "scrnsaverproto"
+      "trapproto"
+      "videoproto"
+      "windowswmproto"
+      "xcalibrateproto"
+      "xcmiscproto"
+      "xextproto"
+      "xf86bigfontproto"
+      "xf86dgaproto"
+      "xf86driproto"
+      "xf86miscproto"
+      "xf86rushproto"
+      "xf86vidmodeproto"
+      "xineramaproto"
+      "xproto"
+      "xproxymngproto"
+      "xwaylandproto"
+    ];
+    platforms = lib.platforms.unix ++ lib.platforms.windows;
+  };
+})
diff --git a/pkgs/by-name/xp/xpipe/package.nix b/pkgs/by-name/xp/xpipe/package.nix
index ceca00e58643..37eee295a66a 100644
--- a/pkgs/by-name/xp/xpipe/package.nix
+++ b/pkgs/by-name/xp/xpipe/package.nix
@@ -39,7 +39,7 @@ let
 
   hash =
     {
-      x86_64-linux = "sha256-Ma2WWknZ0rF9NZNqOaPyQ2eil34HWmgSIHMnfaSaFjs=";
+      x86_64-linux = "sha256-BQNynZwQevXl+PlAi+OhaIUIf9TaNW5JowD3mLGgJxE=";
     }
     .${system} or throwSystem;
 
@@ -48,7 +48,7 @@ let
 in
 stdenvNoCC.mkDerivation rec {
   pname = "xpipe";
-  version = "16.4.1";
+  version = "16.6";
 
   src = fetchzip {
     url = "https://github.com/xpipe-io/xpipe/releases/download/${version}/xpipe-portable-linux-${arch}.tar.gz";
diff --git a/pkgs/by-name/xp/xpra/package.nix b/pkgs/by-name/xp/xpra/package.nix
index 398a96b5eba3..009161e6cf9b 100644
--- a/pkgs/by-name/xp/xpra/package.nix
+++ b/pkgs/by-name/xp/xpra/package.nix
@@ -37,7 +37,6 @@
   x264,
   x265,
   libavif,
-  libspng,
   openh264,
   libyuv,
   xauth,
@@ -166,7 +165,6 @@ buildPythonApplication rec {
       x264
       x265
       libavif
-      libspng
       openh264
       libyuv
       xxHash
diff --git a/pkgs/by-name/xr/xrdp/package.nix b/pkgs/by-name/xr/xrdp/package.nix
index b48f43dbb2b7..5f00ddaab799 100644
--- a/pkgs/by-name/xr/xrdp/package.nix
+++ b/pkgs/by-name/xr/xrdp/package.nix
@@ -151,8 +151,8 @@ let
 
       cp $src/keygen/openssl.conf $out/share/xrdp/openssl.conf
 
-      substituteInPlace $out/etc/xrdp/sesman.ini --replace /etc/xrdp/pulse $out/etc/xrdp/pulse
-      substituteInPlace $out/etc/xrdp/sesman.ini --replace '#SessionSockdirGroup=root' 'SessionSockdirGroup=xrdp'
+      substituteInPlace $out/etc/xrdp/sesman.ini --replace-fail /etc/xrdp/pulse $out/etc/xrdp/pulse
+      substituteInPlace $out/etc/xrdp/sesman.ini --replace-fail '#SessionSockdirGroup=xrdp' 'SessionSockdirGroup=xrdp'
 
       # remove all session types except Xorg (they are not supported by this setup)
       perl -i -ne 'print unless /\[(X11rdp|Xvnc|console|vnc-any|sesman-any|rdp-any|neutrinordp-any)\]/ .. /^$/' $out/etc/xrdp/xrdp.ini
diff --git a/pkgs/by-name/xr/xremap/package.nix b/pkgs/by-name/xr/xremap/package.nix
index d82bb0925350..7d264fe445ef 100644
--- a/pkgs/by-name/xr/xremap/package.nix
+++ b/pkgs/by-name/xr/xremap/package.nix
@@ -10,7 +10,7 @@ let
 
   src = fetchFromGitHub {
     owner = "xremap";
-    repo = pname;
+    repo = "xremap";
     tag = "v${version}";
     hash = "sha256-ZOiQffTHXw+anFckKO0jyd+LPw2zTqtqk87niCC38Q8=";
   };
diff --git a/pkgs/by-name/xs/xscope/package.nix b/pkgs/by-name/xs/xscope/package.nix
index 792a5412cd39..335033419cd7 100644
--- a/pkgs/by-name/xs/xscope/package.nix
+++ b/pkgs/by-name/xs/xscope/package.nix
@@ -1,29 +1,42 @@
 {
   lib,
   stdenv,
-  fetchurl,
+  fetchFromGitLab,
   pkg-config,
-  libXt,
+  autoreconfHook,
+  xorg-autoconf,
+  xorg,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "xscope";
-  version = "1.4.1";
+  version = "1.4.5";
 
-  src = fetchurl {
-    url = "mirror://xorg/individual/app/${pname}-${version}.tar.bz2";
-    sha256 = "08zl3zghvbcqy0r5dn54dim84lp52s0ygrr87jr3a942a6ypz01k";
+  src = fetchFromGitLab {
+    domain = "gitlab.freedesktop.org";
+    owner = "xorg";
+    repo = "app/xscope";
+    tag = "xscope-${finalAttrs.version}";
+    hash = "sha256-9ZmmV41PKv+WFL9I4D9NTfNVTsazCijZMMmDFSvXMlg=";
   };
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ libXt ];
+  nativeBuildInputs = [
+    autoreconfHook
+    pkg-config
+    xorg-autoconf
+  ];
 
-  meta = with lib; {
+  buildInputs = [
+    xorg.libXt
+    xorg.xtrans
+  ];
+
+  meta = {
     description = "program to monitor X11/Client conversations";
     homepage = "https://cgit.freedesktop.org/xorg/app/xscope/";
-    license = with licenses; [ mit ];
-    maintainers = with maintainers; [ crertel ];
-    platforms = with platforms; unix;
+    license = with lib.licenses; [ mit ];
+    maintainers = with lib.maintainers; [ crertel ];
+    platforms = lib.platforms.unix;
     mainProgram = "xscope";
   };
-}
+})
diff --git a/pkgs/by-name/xs/xsensors/package.nix b/pkgs/by-name/xs/xsensors/package.nix
index d90fc67d4030..36745f3453dc 100644
--- a/pkgs/by-name/xs/xsensors/package.nix
+++ b/pkgs/by-name/xs/xsensors/package.nix
@@ -1,31 +1,33 @@
 {
-  stdenv,
   lib,
-  fetchurl,
-  gtk2,
+  stdenv,
+  fetchFromGitHub,
+  gtk3,
   pkg-config,
   lm_sensors,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "xsensors";
-  version = "0.70";
-  src = fetchurl {
-    url = "http://www.linuxhardware.org/xsensors/xsensors-${version}.tar.gz";
-    sha256 = "1siplsfgvcxamyqf44h71jx6jdfmvhfm7mh0y1q8ps4zs6pj2zwh";
+  version = "0.80";
+
+  src = fetchFromGitHub {
+    owner = "Mystro256";
+    repo = "xsensors";
+    tag = finalAttrs.version;
+    hash = "sha256-dITnIMvOYL1gmoDP2w4ZlxcBdAqA/+D3ojm5cP+tTFQ=";
   };
+
   nativeBuildInputs = [ pkg-config ];
+
   buildInputs = [
-    gtk2
+    gtk3
     lm_sensors
   ];
-  patches = [
-    ./remove-unused-variables.patch
-    ./replace-deprecated-gtk.patch
-  ];
-  meta = with lib; {
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
+
+  meta = {
+    license = lib.licenses.gpl2Plus;
+    platforms = lib.platforms.linux;
     maintainers = [ ];
   };
-}
+})
diff --git a/pkgs/by-name/xs/xsensors/remove-unused-variables.patch b/pkgs/by-name/xs/xsensors/remove-unused-variables.patch
deleted file mode 100644
index 7da97a0e56e8..000000000000
--- a/pkgs/by-name/xs/xsensors/remove-unused-variables.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Author: Nanley Chery 
-From: Jean Delvare 
-Subject: Remove declared, but unused variables
-Bug-Debian: http://bugs.debian.org/625435
----
---- a/src/gui.c
-+++ b/src/gui.c
-@@ -257,10 +257,9 @@
- 
- /* Start the sensor info update timer. */
- gint start_timer( GtkWidget *widget, gpointer data ) {
--    gint timer;
- 
-     /* Setup timer for updates. */
--    timer = g_timeout_add( update_time * 1000, 
-+    g_timeout_add( update_time * 1000,
-                              (GtkFunction) update_sensor_data, 
- 			     (gpointer) data );
- 
-@@ -287,7 +286,7 @@
- 
-     /* feature data */
-     updates *head = NULL;
--    updates *current = NULL, *prev = NULL;
-+    updates *current = NULL;
- 
-     const sensors_feature *feature;
- 
-@@ -347,10 +346,8 @@
-             new_node->pbar = featpbar;
- 
-             if ( head == NULL ) {
--                prev = head;
-                 head = current = new_node;
-             } else {
--                prev = current;
-                 current = current->next = new_node;
-             }
- 
diff --git a/pkgs/by-name/xs/xsensors/replace-deprecated-gtk.patch b/pkgs/by-name/xs/xsensors/replace-deprecated-gtk.patch
deleted file mode 100644
index fed4c7dc4c95..000000000000
--- a/pkgs/by-name/xs/xsensors/replace-deprecated-gtk.patch
+++ /dev/null
@@ -1,168 +0,0 @@
-Author: Nanley Chery 
-Subject: Update deprecated gtk casts and replace deprecated function calls with their analogous cairo counterparts.
-Bug-Debian: http://bugs.debian.org/622005
-Bug-Debian: http://bugs.debian.org/610321
----
---- a/src/gui.c
-+++ b/src/gui.c
-@@ -27,10 +27,10 @@
- GtkWidget *mainwindow = NULL;
- 
- GdkColor colorWhite = { 0, 0xFFFF, 0xFFFF, 0xFFFF };
--    
--GdkColormap *cmap = NULL;
- 
--GdkPixmap *theme = NULL;
-+GdkPixbuf *theme = NULL;
-+
-+cairo_surface_t *surface = NULL;
- 
- /* Destroy the main window. */
- gint destroy_gui( GtkWidget *widget, gpointer data ) {
-@@ -76,17 +76,16 @@
-     }
- }
- 
--static void draw_digits( GtkWidget *widget, const gchar *digits, int highLow )
-+static void draw_digits( GtkWidget *widget, cairo_t *cr, const gchar *digits, int highLow )
- {
-     const gchar *digit = digits;
-     int pos = 0, x = 0, y = 0, w = 0;
- 
-     while ( *digit ) {
-         get_pm_location( *digit, &x, &y, &w );
--        gdk_draw_drawable( widget->window,
--                           widget->style->fg_gc[ GTK_WIDGET_STATE
--                           (widget) ], theme, x, y + highLow,
--                           pos, 0, w, 30 );
-+        cairo_set_source_surface (cr, surface, pos-x, 0-(y + highLow));
-+		cairo_rectangle(cr, pos, 0, w, 30);
-+		cairo_fill(cr);
-         pos += w;
-         digit++;
-     }
-@@ -102,6 +101,8 @@
- 
-     gchar result[7];
- 
-+    cairo_t *cr = gdk_cairo_create(widget->window);
-+
- #ifdef DEBUG_XSENSORS
-     printf( "area.width = %d, area.height = %d\n", event->area.width,
-             event->area.height );
-@@ -117,13 +118,11 @@
- 
-             /* Display the digits */
-             if ( g_snprintf( result, 6, "%5.0f", current->curvalue ) >= 0 )
--               draw_digits( widget, result, highLow );
-+               draw_digits( widget, cr, result, highLow );
- 
-             /* Display RPM */
--            gdk_draw_drawable( widget->window, 
--                               widget->style->fg_gc[ GTK_WIDGET_STATE 
--                               (widget) ], theme, 0, 120 + highLow, 
--                               90, 0, 57, 30 );
-+            cairo_set_source_surface (cr, surface, 90-0, 0-(120 + highLow));
-+     	    cairo_rectangle(cr, 90, 0, 57, 30);
-             break;
-         case TEMP:
-             if ( current->curvalue > current->curmax )
-@@ -134,17 +133,15 @@
- 
-             /* Display the digits */
-             if ( g_snprintf( result, 7, "%6.1f", current->curvalue ) >= 0 )
--               draw_digits( widget, result, highLow );
-+               draw_digits( widget, cr, result, highLow );
- 
-             /* Display degree symbol */
-             if ( tf == FALSE )
-                 x = 0;
-             else
-                 x = 57;
--            gdk_draw_drawable( widget->window, 
--                             widget->style->fg_gc[ GTK_WIDGET_STATE 
--                             (widget) ], theme, x, 60 + highLow, 
--                             96, 0, 57, 30 );
-+            cairo_set_source_surface (cr, surface, 96-x, 0-(60 + highLow));
-+     	    cairo_rectangle(cr, 96, 0, 57, 30);
-             
-             break;
-         case VOLT:
-@@ -154,20 +151,17 @@
-             
-             /* Display the digits */
-             if ( g_snprintf( result, 7, "%6.2f", current->curvalue ) >= 0 )
--               draw_digits( widget, result, highLow );
-+               draw_digits( widget, cr, result, highLow );
- 
-             /* Display V */
--            gdk_draw_drawable( widget->window, 
--                             widget->style->fg_gc[ GTK_WIDGET_STATE 
--                             (widget) ], theme, 114, 60 + highLow, 
--                             96, 0, 57, 30 );
--
--
-+            cairo_set_source_surface (cr, surface, 96-114, 0-(60 + highLow));
-+     	    cairo_rectangle(cr, 96, 0, 57, 30);
-             break;
-         default:
-             break;
-     }
--            
-+    cairo_fill(cr);
-+    cairo_destroy(cr);
-     return TRUE;
- }
- 
-@@ -260,7 +254,7 @@
- 
-     /* Setup timer for updates. */
-     g_timeout_add( update_time * 1000,
--                             (GtkFunction) update_sensor_data, 
-+                             (GSourceFunc) update_sensor_data,
- 			     (gpointer) data );
- 
-     return SUCCESS;
-@@ -460,8 +454,6 @@
-     g_signal_connect( G_OBJECT (mainwindow), "delete_event",
-                       G_CALLBACK (destroy_gui), NULL );
- 
--    /* Graphics needed for drawing info. */
--    cmap = gtk_widget_get_colormap( mainwindow );
- 
-     /* Set up the image file used for displaying characters. */
-     if ( imagefile == NULL ) {
-@@ -481,12 +473,10 @@
-                        "Image file not found in either location!  Exiting!\n" );
-                 exit( 1 );
-             } else {
--                theme = gdk_pixmap_colormap_create_from_xpm( NULL, cmap,
--                        NULL, NULL, "./images/default.xpm" );
-+                theme = gdk_pixbuf_new_from_file("./images/default.xpm", NULL );
-             }
-         } else {
--            theme = gdk_pixmap_colormap_create_from_xpm( NULL, cmap,
--                    NULL, NULL, imagefile );
-+            theme = gdk_pixbuf_new_from_file(imagefile, NULL );
-         }
-     } else {
-         if ( stat( imagefile, &sbuf ) != 0 ) {
-@@ -495,11 +485,15 @@
-                     "Image file not found in specified location!  Exiting!\n" );
-             exit( 1 );
-         } else {
--            theme = gdk_pixmap_colormap_create_from_xpm( NULL, cmap,
--                    NULL, NULL, imagefile );
-+            theme = gdk_pixbuf_new_from_file(imagefile, NULL );
-         }
-     }
--    
-+    surface = cairo_image_surface_create_for_data(gdk_pixbuf_get_pixels(theme),
-+                                        CAIRO_FORMAT_RGB24,
-+										gdk_pixbuf_get_width(theme),
-+										gdk_pixbuf_get_height(theme),
-+										gdk_pixbuf_get_rowstride(theme));
-+
-     /* Create notebook for sensors. */
-     notebook = gtk_notebook_new( );
-     gtk_widget_modify_bg( notebook, GTK_STATE_NORMAL, &colorWhite );
diff --git a/pkgs/by-name/xs/xsimd/package.nix b/pkgs/by-name/xs/xsimd/package.nix
index a96de8723816..0a3cabfc2969 100644
--- a/pkgs/by-name/xs/xsimd/package.nix
+++ b/pkgs/by-name/xs/xsimd/package.nix
@@ -2,37 +2,28 @@
   lib,
   stdenv,
   fetchFromGitHub,
-  fetchpatch,
   cmake,
   doctest,
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "xsimd";
-  version = "13.0.0";
+  version = "13.2.0";
+
   src = fetchFromGitHub {
     owner = "xtensor-stack";
     repo = "xsimd";
-    rev = finalAttrs.version;
-    hash = "sha256-qElJYW5QDj3s59L3NgZj5zkhnUMzIP2mBa1sPks3/CE=";
+    tag = finalAttrs.version;
+    hash = "sha256-L4ttJxP46uNwQAEUMoJ8rsc51Le2GeIGbT1kX7ZzcPA=";
   };
-  patches =
-    [
-      # Fix of https://github.com/xtensor-stack/xsimd/pull/1024 for
-      # https://github.com/xtensor-stack/xsimd/issues/456 and
-      # https://github.com/xtensor-stack/xsimd/issues/807,
-      (fetchpatch {
-        url = "https://github.com/xtensor-stack/xsimd/commit/c8a87ed6e04b6782f48f94713adfb0cad6c11ddf.patch";
-        hash = "sha256-2/FvBGdqTPcayD7rdHPSzL+F8IYKAfMW0WBJ0cW9EZ0=";
-      })
-    ]
-    ++ lib.optionals stdenv.hostPlatform.isDarwin [
-      # https://github.com/xtensor-stack/xsimd/issues/1030
-      ./disable-test_error_gamma.patch
 
-      # https://github.com/xtensor-stack/xsimd/issues/1063
-      ./relax-asin-precision.diff
-    ];
+  patches = lib.optionals stdenv.hostPlatform.isDarwin [
+    # https://github.com/xtensor-stack/xsimd/issues/1030
+    ./disable-test_error_gamma.patch
+
+    # https://github.com/xtensor-stack/xsimd/issues/1063
+    ./relax-asin-precision.diff
+  ];
 
   # strictDeps raises the chance that xsimd will be able to be cross compiled
   strictDeps = true;
@@ -54,17 +45,17 @@ stdenv.mkDerivation (finalAttrs: {
   doCheck = true;
   checkTarget = "xtest";
 
-  meta = with lib; {
+  meta = {
     changelog = "https://github.com/xtensor-stack/xsimd/blob/${finalAttrs.version}/Changelog.rst#${
       builtins.replaceStrings [ "." ] [ "" ] finalAttrs.version
     }";
     description = "C++ wrappers for SIMD intrinsics";
     homepage = "https://github.com/xtensor-stack/xsimd";
-    license = licenses.bsd3;
-    maintainers = with maintainers; [
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [
       tobim
       doronbehar
     ];
-    platforms = platforms.all;
+    platforms = lib.platforms.all;
   };
 })
diff --git a/pkgs/by-name/xv/xva-img/package.nix b/pkgs/by-name/xv/xva-img/package.nix
index 13cf40683e32..84d72f57b0cf 100644
--- a/pkgs/by-name/xv/xva-img/package.nix
+++ b/pkgs/by-name/xv/xva-img/package.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = {
-    maintainers = with lib.maintainers; [ willibutz ];
+    maintainers = [ ];
     description = "Tool for converting Xen images to raw and back";
     license = lib.licenses.gpl2Plus;
     platforms = lib.platforms.unix;
diff --git a/pkgs/by-name/ya/yaak/package.nix b/pkgs/by-name/ya/yaak/package.nix
index a9e64db116a2..d5fb84a8348d 100644
--- a/pkgs/by-name/ya/yaak/package.nix
+++ b/pkgs/by-name/ya/yaak/package.nix
@@ -19,6 +19,7 @@
   perl,
   makeWrapper,
   nix-update-script,
+  stdenv,
 }:
 
 rustPlatform.buildRustPackage (finalAttrs: {
@@ -54,33 +55,48 @@ rustPlatform.buildRustPackage (finalAttrs: {
     makeWrapper
   ];
 
-  buildInputs = [
-    glib
-    gtk3
-    openssl
-    webkitgtk_4_1
-    pango
-    cairo
-    pixman
-  ];
+  buildInputs =
+    [
+      glib
+      gtk3
+      openssl
+      pango
+      cairo
+      pixman
+    ]
+    ++ lib.optionals stdenv.hostPlatform.isLinux [
+      webkitgtk_4_1
+    ];
 
   env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
 
   postPatch = ''
     substituteInPlace src-tauri/tauri.conf.json \
-      --replace-fail '"createUpdaterArtifacts": "v1Compatible"' '"createUpdaterArtifacts": false'
+      --replace-fail '"createUpdaterArtifacts": "v1Compatible"' '"createUpdaterArtifacts": false' \
+      --replace-fail '"0.0.0"' '"${finalAttrs.version}"'
     substituteInPlace package.json \
       --replace-fail '"bootstrap:vendor-node": "node scripts/vendor-node.cjs",' "" \
       --replace-fail '"bootstrap:vendor-protoc": "node scripts/vendor-protoc.cjs",' ""
   '';
 
-  preBuild = ''
-    mkdir -p src-tauri/vendored/node
-    ln -s ${nodejs}/bin/node src-tauri/vendored/node/yaaknode-x86_64-unknown-linux-gnu
-    mkdir -p src-tauri/vendored/protoc
-    ln -s ${protobuf}/bin/protoc src-tauri/vendored/protoc/yaakprotoc-x86_64-unknown-linux-gnu
-    ln -s ${protobuf}/include src-tauri/vendored/protoc/include
-  '';
+  preBuild =
+    let
+      archPlatforms =
+        {
+          "aarch64-darwin" = "aarch64-apple-darwin";
+          "x86_64-darwin" = "x86_64-apple-darwin";
+          "aarch64-linux" = "aarch64-unknown-linux-gnu";
+          "x86_64-linux" = "x86_64-unknown-linux-gnu";
+        }
+        .${stdenv.hostPlatform.system};
+    in
+    ''
+      mkdir -p src-tauri/vendored/node
+      ln -s ${nodejs}/bin/node src-tauri/vendored/node/yaaknode-${archPlatforms}
+      mkdir -p src-tauri/vendored/protoc
+      ln -s ${protobuf}/bin/protoc src-tauri/vendored/protoc/yaakprotoc-${archPlatforms}
+      ln -s ${protobuf}/include src-tauri/vendored/protoc/include
+    '';
 
   # Permission denied (os error 13)
   # write to src-tauri/vendored/protoc/include
@@ -90,7 +106,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
 
   postInstall = "popd";
 
-  postFixup = ''
+  postFixup = lib.optionalString stdenv.hostPlatform.isLinux ''
     wrapProgram $out/bin/yaak-app \
       --inherit-argv0 \
       --set-default WEBKIT_DISABLE_DMABUF_RENDERER 1
@@ -105,6 +121,11 @@ rustPlatform.buildRustPackage (finalAttrs: {
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ redyf ];
     mainProgram = "yaak";
-    platforms = [ "x86_64-linux" ];
+    platforms = [
+      "x86_64-linux"
+      "aarch64-linux"
+      "x86_64-darwin"
+      "aarch64-darwin"
+    ];
   };
 })
diff --git a/pkgs/by-name/ya/yafc-ce/package.nix b/pkgs/by-name/ya/yafc-ce/package.nix
index 0e527992cf76..39a2b714a961 100644
--- a/pkgs/by-name/ya/yafc-ce/package.nix
+++ b/pkgs/by-name/ya/yafc-ce/package.nix
@@ -12,16 +12,19 @@ let
 in
 buildDotnetModule (finalAttrs: {
   pname = "yafc-ce";
-  version = "2.11.1";
+  version = "2.14.0";
 
   src = fetchFromGitHub {
     owner = "shpaass";
     repo = "yafc-ce";
     rev = finalAttrs.version;
-    hash = "sha256-n6twiCIQ1nMSidfmdl2py5wHvx4kk6skK0f8chXTCjQ=";
+    hash = "sha256-EbVPPSci4AziF+n/8pIa9M44WEUj+vvEOQqu3HJ6aNQ=";
   };
 
-  projectFile = [ "Yafc/Yafc.csproj" ];
+  projectFile = [
+    "Yafc.I18n.Generator/Yafc.I18n.Generator.csproj"
+    "Yafc/Yafc.csproj"
+  ];
   testProjectFile = [ "Yafc.Model.Tests/Yafc.Model.Tests.csproj" ];
   nugetDeps = ./deps.json;
 
@@ -36,6 +39,13 @@ buildDotnetModule (finalAttrs: {
     SDL2_image
   ];
 
+  postPatch = ''
+    # Yafc finds the root by looking for a `.git` directory, but `.git` is
+    # removed by Nix to ensure reproducibility. `.github` is not.
+    substituteInPlace Yafc.I18n.Generator/SourceGenerator.cs \
+      --replace-fail 'rootDirectory, ".git"' 'rootDirectory, ".github"'
+  '';
+
   meta = {
     description = "Powerful Factorio calculator/analyser that works with mods, Community Edition";
     longDescription = ''
diff --git a/pkgs/by-name/ya/yamlfmt/package.nix b/pkgs/by-name/ya/yamlfmt/package.nix
index d1e4b2e5c051..40f74c66fb6d 100644
--- a/pkgs/by-name/ya/yamlfmt/package.nix
+++ b/pkgs/by-name/ya/yamlfmt/package.nix
@@ -6,26 +6,30 @@
   yamlfmt,
 }:
 
-buildGoModule rec {
+buildGoModule (finalAttrs: {
   pname = "yamlfmt";
-  version = "0.16.0";
+  version = "0.17.1";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "yamlfmt";
-    tag = "v${version}";
-    hash = "sha256-4PCwMLwFtCK55k7b6CgpPOKsxLdeU55DxYEDbYDWVYg=";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-ORVT70KXW/eatcQkDdpqb7LK6NbUr389zFDyYHy6Cxs=";
   };
 
-  vendorHash = "sha256-eOuLgNCxrI2HIFBwLAYRl6PwW/1hihQ0QsTtG1sxCL8=";
+  vendorHash = "sha256-Cy1eBvKkQ90twxjRL2bHTk1qNFLQ22uFrOgHKmnoUIQ=";
 
   ldflags = [
     "-s"
     "-w"
-    "-X=main.version=${version}"
-    "-X=main.commit=${src.rev}"
+    "-X=main.version=${finalAttrs.version}"
+    "-X=main.commit=${finalAttrs.src.rev}"
   ];
 
+  # Test failure in vendored yaml package, see:
+  # https://github.com/google/yamlfmt/issues/256
+  checkFlags = [ "-run=!S/TestNodeRoundtrip" ];
+
   passthru.tests.version = testers.testVersion {
     package = yamlfmt;
   };
@@ -33,9 +37,9 @@ buildGoModule rec {
   meta = {
     description = "Extensible command line tool or library to format yaml files";
     homepage = "https://github.com/google/yamlfmt";
-    changelog = "https://github.com/google/yamlfmt/releases/tag/v${version}";
+    changelog = "https://github.com/google/yamlfmt/releases/tag/v${finalAttrs.version}";
     license = lib.licenses.asl20;
     maintainers = with lib.maintainers; [ ];
     mainProgram = "yamlfmt";
   };
-}
+})
diff --git a/pkgs/by-name/ya/yamlscript/package.nix b/pkgs/by-name/ya/yamlscript/package.nix
index bc8a22a94442..189ad46ff1c2 100644
--- a/pkgs/by-name/ya/yamlscript/package.nix
+++ b/pkgs/by-name/ya/yamlscript/package.nix
@@ -4,17 +4,15 @@
   fetchurl,
 }:
 
-buildGraalvmNativeImage rec {
+buildGraalvmNativeImage (finalAttrs: {
   pname = "yamlscript";
-  version = "0.1.96";
+  version = "0.1.97";
 
   src = fetchurl {
-    url = "https://github.com/yaml/yamlscript/releases/download/${version}/yamlscript.cli-${version}-standalone.jar";
-    hash = "sha256-nwqZhGOtNEJ0qzOTFdHFWBSyt4hmLhn6nhdCz2jyUbg=";
+    url = "https://github.com/yaml/yamlscript/releases/download/${finalAttrs.version}/yamlscript.cli-${finalAttrs.version}-standalone.jar";
+    hash = "sha256-xyKn+Eec6Kspoe0kq3N/nQDIOJSJcrb9CE/uUF3+Qcs=";
   };
 
-  executable = "ys";
-
   extraNativeImageBuildArgs = [
     "--native-image-info"
     "--no-fallback"
@@ -30,15 +28,19 @@ buildGraalvmNativeImage rec {
   doInstallCheck = true;
 
   installCheckPhase = ''
-    $out/bin/ys  -e 'say: (+ 1 2)' | fgrep 3
+    runHook preInstallCheck
+
+    $out/bin/ys -e 'say: (+ 1 2)' | fgrep 3
+
+    runHook postInstallCheck
   '';
 
-  meta = with lib; {
+  meta = {
     description = "Programming in YAML";
     homepage = "https://github.com/yaml/yamlscript";
-    sourceProvenance = with sourceTypes; [ binaryBytecode ];
-    license = licenses.mit;
+    sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
+    license = lib.licenses.mit;
     mainProgram = "ys";
-    maintainers = with maintainers; [ sgo ];
+    maintainers = with lib.maintainers; [ sgo ];
   };
-}
+})
diff --git a/pkgs/by-name/ya/yandex-cloud/sources.json b/pkgs/by-name/ya/yandex-cloud/sources.json
index 4b2a80b9da4b..5886d634a592 100644
--- a/pkgs/by-name/ya/yandex-cloud/sources.json
+++ b/pkgs/by-name/ya/yandex-cloud/sources.json
@@ -1,25 +1,25 @@
 {
-  "version": "0.149.0",
+  "version": "0.150.0",
   "binaries": {
     "aarch64-darwin": {
-      "url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.149.0/darwin/arm64/yc",
-      "hash": "sha256-9mxc0E0pZlX/kM6Lm9CZcVyR3ih8oNZwicaEYrGVLWY="
+      "url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.150.0/darwin/arm64/yc",
+      "hash": "sha256-jIK8gCqzDZTp8pM7FSEmeNmdZUIEtD2KwUegkHm8VoY="
     },
     "aarch64-linux": {
-      "url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.149.0/linux/arm64/yc",
-      "hash": "sha256-oDcBQq3bqRfAKRltpMoxI/tXHOzdmcGOY8Du/VkvVYs="
+      "url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.150.0/linux/arm64/yc",
+      "hash": "sha256-B639QeVd3d+lLnLNxmToAFFxUa+/9zBUhR749wVuZi0="
     },
     "i686-linux": {
-      "url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.149.0/linux/386/yc",
-      "hash": "sha256-09MR0gx3UBox4Ue1649WpdOxY+hTnchHD1v3PeFdMBs="
+      "url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.150.0/linux/386/yc",
+      "hash": "sha256-4Rf9el3Qs9c9AKIWDH6lojIxBJthGsjK+qYYqRjcPvI="
     },
     "x86_64-darwin": {
-      "url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.149.0/darwin/amd64/yc",
-      "hash": "sha256-7AhcJKYeVxpJNEl8dEvjVcFR/6aJtqqKRCDv8inyKM8="
+      "url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.150.0/darwin/amd64/yc",
+      "hash": "sha256-3V9s5kl/rZn2nN2/a3p3WYCdUeF/LA9ATCVNxYADg+U="
     },
     "x86_64-linux": {
-      "url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.149.0/linux/amd64/yc",
-      "hash": "sha256-vsxxGgqpewpQhUt3eMs6zOWKXgO0nTDOBB0ODfGDWNM="
+      "url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.150.0/linux/amd64/yc",
+      "hash": "sha256-vKENaNar/rHGqAoOPuo7b/tU29STk2ak6FqUxFqeOto="
     }
   }
 }
diff --git a/pkgs/by-name/ya/yandex-music/package.nix b/pkgs/by-name/ya/yandex-music/package.nix
index a67c69c6f56b..c1f5ee2f3396 100644
--- a/pkgs/by-name/ya/yandex-music/package.nix
+++ b/pkgs/by-name/ya/yandex-music/package.nix
@@ -29,13 +29,13 @@ assert lib.assertMsg (trayStyle >= 1 && trayStyle <= 3) "Tray style must be with
 assert lib.assertMsg (vibeAnimationMaxFps >= 0) "Vibe animation max FPS must be greater then 0";
 stdenvNoCC.mkDerivation rec {
   pname = "yandex-music";
-  version = "5.52.0";
+  version = "5.54.0";
 
   src = fetchFromGitHub {
     owner = "cucumber-sp";
     repo = "yandex-music-linux";
     rev = "v${version}";
-    hash = "sha256-39aVY2D8fM243Uhr4i3d9OdBKRqb4MNnkSjKOH3tF4s=";
+    hash = "sha256-/ZZIL3DZY/L28fCq4CD9vVuvX7xJK2hsyDY6gymdUWo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/ya/yandex-music/ym_info.json b/pkgs/by-name/ya/yandex-music/ym_info.json
index 12055ba97473..122cecaac775 100644
--- a/pkgs/by-name/ya/yandex-music/ym_info.json
+++ b/pkgs/by-name/ya/yandex-music/ym_info.json
@@ -1,6 +1,6 @@
 {
-  "version": "5.52.0",
-  "exe_name": "Yandex_Music_x64_5.53.1.exe",
-  "exe_link": "https://music-desktop-application.s3.yandex.net/stable/Yandex_Music_x64_5.53.1.exe",
-  "exe_hash": "sha256-aTl3sF8n0v17TeAyQwjrXUDKK/MaCtoHQ34IHDEeme8="
+  "version": "5.54.0",
+  "exe_name": "Yandex_Music_x64_5.54.0.exe",
+  "exe_link": "https://music-desktop-application.s3.yandex.net/stable/Yandex_Music_x64_5.54.0.exe",
+  "exe_hash": "sha256-Q3uDrE5VPqGBxt3PrsL7Xn9YgpUZDc+lJ4RfKdGaaCo="
 }
diff --git a/pkgs/by-name/ya/yarn-berry/package.nix b/pkgs/by-name/ya/yarn-berry/package.nix
index 3f71afbb4cee..12512d988b2d 100644
--- a/pkgs/by-name/ya/yarn-berry/package.nix
+++ b/pkgs/by-name/ya/yarn-berry/package.nix
@@ -10,9 +10,9 @@
 }:
 
 let
-  version_4 = "4.9.1";
+  version_4 = "4.9.2";
   version_3 = "3.8.7";
-  hash_4 = "sha256-znxB827TFLAEfCeHrwBsmRlkZz1LVWsBFhjZANiIW/4=";
+  hash_4 = "sha256-MZB70hgPiQuHHLibhrGZ11vcvtZsCDkqR1NxSq8bXps=";
   hash_3 = "sha256-vRrk+Fs/7dZha3h7yI5NpMfd1xezesnigpFgTRCACZo=";
 in
 
diff --git a/pkgs/by-name/ya/yascreen/package.nix b/pkgs/by-name/ya/yascreen/package.nix
index 5a83c9b8884c..548e1c008e15 100644
--- a/pkgs/by-name/ya/yascreen/package.nix
+++ b/pkgs/by-name/ya/yascreen/package.nix
@@ -3,35 +3,29 @@
   stdenv,
   go-md2man,
   fetchFromGitHub,
-  fetchpatch,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "yascreen";
-  version = "1.86";
+  version = "2.06";
 
   src = fetchFromGitHub {
     owner = "bbonev";
     repo = "yascreen";
-    rev = "v${version}";
-    sha256 = "sha256-z7j2yceiUyJNdyoVXAPiINln2/MUMqVJh+VwQnmzO2A=";
+    tag = "v${finalAttrs.version}";
+    hash = "sha256-CIeWghtOnuQmEMwIpC1Xo1zLsuV4c0V7YAXTqUAzX1g=";
   };
 
   nativeBuildInputs = [ go-md2man ];
-  makeFlags = [ "PREFIX=$(out)" ];
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/bbonev/yascreen/commit/a30b8fce66a3db9f1194fede30a48424ed3d696b.patch";
-      sha256 = "sha256-Bnaf3OVMlqyYMdGsJ6fF3oYsWT01FcjuRzxi6xfbnZg=";
-    })
-  ];
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/bbonev/yascreen";
-    description = "Yet Another Screen Library (curses replacement for daemons and embedded apps)";
-    license = licenses.lgpl3;
-    maintainers = [ maintainers.arezvov ];
-    platforms = platforms.linux;
+    changelog = "https://github.com/bbonev/yascreen/releases/tag/${finalAttrs.src.tag}";
+    description = "Curses replacement for daemons and embedded apps";
+    license = lib.licenses.lgpl3Plus;
+    maintainers = [ lib.maintainers.arezvov ];
+    platforms = lib.platforms.linux;
   };
-}
+})
diff --git a/pkgs/by-name/ya/yazi/plugins/mactag/default.nix b/pkgs/by-name/ya/yazi/plugins/mactag/default.nix
index a5d2a170014f..06f367aeebb4 100644
--- a/pkgs/by-name/ya/yazi/plugins/mactag/default.nix
+++ b/pkgs/by-name/ya/yazi/plugins/mactag/default.nix
@@ -15,7 +15,7 @@ mkYaziPlugin {
   };
 
   meta = {
-    description = "Previewing archive contents with mactag";
+    description = "Bring macOS's awesome tagging feature to Yazi";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ khaneliman ];
     platforms = lib.platforms.darwin;
diff --git a/pkgs/by-name/ya/yazi/plugins/mime-ext/default.nix b/pkgs/by-name/ya/yazi/plugins/mime-ext/default.nix
index 70664c9d8f6a..0edd890ad659 100644
--- a/pkgs/by-name/ya/yazi/plugins/mime-ext/default.nix
+++ b/pkgs/by-name/ya/yazi/plugins/mime-ext/default.nix
@@ -15,7 +15,7 @@ mkYaziPlugin {
   };
 
   meta = {
-    description = "Previewing archive contents with mime-ext";
+    description = "Mime-type provider based on a file extension database, replacing the builtin file to speed up mime-type retrieval at the expense of accuracy";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ khaneliman ];
   };
diff --git a/pkgs/by-name/ya/yazi/plugins/mount/default.nix b/pkgs/by-name/ya/yazi/plugins/mount/default.nix
index acbe88347eba..48eeae61adb3 100644
--- a/pkgs/by-name/ya/yazi/plugins/mount/default.nix
+++ b/pkgs/by-name/ya/yazi/plugins/mount/default.nix
@@ -5,17 +5,17 @@
 }:
 mkYaziPlugin {
   pname = "mount.yazi";
-  version = "25.5.28-unstable-2025-05-28";
+  version = "25.5.28-unstable-2025-06-11";
 
   src = fetchFromGitHub {
     owner = "yazi-rs";
     repo = "plugins";
-    rev = "f9b3f8876eaa74d8b76e5b8356aca7e6a81c0fb7";
-    hash = "sha256-EoIrbyC7WgRzrEtvso2Sr6HnNW91c5E+RZGqnjEi6Zo=";
+    rev = "c1d638374c76655896c06e9bc91cdb39857b7f15";
+    hash = "sha256-cj2RjeW4/9ZRCd/H4PxrIQWW9kSOxtdi72f+8o13aPI=";
   };
 
   meta = {
-    description = "Previewing archive contents with mount";
+    description = "Mount manager for Yazi";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ khaneliman ];
   };
diff --git a/pkgs/by-name/ya/yazi/plugins/no-status/default.nix b/pkgs/by-name/ya/yazi/plugins/no-status/default.nix
index 03b4fab01188..0a479f912d0e 100644
--- a/pkgs/by-name/ya/yazi/plugins/no-status/default.nix
+++ b/pkgs/by-name/ya/yazi/plugins/no-status/default.nix
@@ -15,7 +15,7 @@ mkYaziPlugin {
   };
 
   meta = {
-    description = "Previewing archive contents with no-status";
+    description = "Remove the status bar";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ khaneliman ];
   };
diff --git a/pkgs/by-name/ya/yazi/plugins/ouch/default.nix b/pkgs/by-name/ya/yazi/plugins/ouch/default.nix
index 7e1d00065fed..64bad91f0d3c 100644
--- a/pkgs/by-name/ya/yazi/plugins/ouch/default.nix
+++ b/pkgs/by-name/ya/yazi/plugins/ouch/default.nix
@@ -5,13 +5,13 @@
 }:
 mkYaziPlugin {
   pname = "ouch.yazi";
-  version = "0-unstable-2025-06-01";
+  version = "0-unstable-2025-06-10";
 
   src = fetchFromGitHub {
     owner = "ndtoan96";
     repo = "ouch.yazi";
-    rev = "10b462765f37502065555e83c68a72bb26870fe2";
-    hash = "sha256-mtXl76a54Deg4cyrD0wr++sD/5b/kCsnJ+ngM6OokTc=";
+    rev = "1ee69a56da3c4b90ec8716dd9dd6b82e7a944614";
+    hash = "sha256-4KZeDkMXlhUV0Zh+VGBtz9kFPGOWCexYVuKUSCN463o=";
   };
 
   meta = {
diff --git a/pkgs/by-name/ya/yazi/plugins/rsync/default.nix b/pkgs/by-name/ya/yazi/plugins/rsync/default.nix
index a1267a3c15bf..ff5f193623a6 100644
--- a/pkgs/by-name/ya/yazi/plugins/rsync/default.nix
+++ b/pkgs/by-name/ya/yazi/plugins/rsync/default.nix
@@ -5,12 +5,12 @@
 }:
 mkYaziPlugin {
   pname = "rsync.yazi";
-  version = "0-unstable-2025-06-07";
+  version = "0-unstable-2025-06-09";
   src = fetchFromGitHub {
     owner = "GianniBYoung";
     repo = "rsync.yazi";
-    rev = "782481e58316f4b422f5c259f07c63b940555246";
-    hash = "sha256-ZrvaJl3nf/CGavvk1QEyOMUbfKQ/JYSmZguvbXIIw9M=";
+    rev = "55631aaaa7654b86469a07bbedf62a5561caa2c9";
+    hash = "sha256-4U6tYAZboMV5YguQIBpcZtcLWwF3TYYFFUXLtVxYxwU=";
   };
 
   meta = {
diff --git a/pkgs/by-name/ya/yazi/plugins/smart-enter/default.nix b/pkgs/by-name/ya/yazi/plugins/smart-enter/default.nix
index 67d9e7ddcc25..1f0c6d105a13 100644
--- a/pkgs/by-name/ya/yazi/plugins/smart-enter/default.nix
+++ b/pkgs/by-name/ya/yazi/plugins/smart-enter/default.nix
@@ -15,7 +15,7 @@ mkYaziPlugin {
   };
 
   meta = {
-    description = "Previewing archive contents with smart-enter";
+    description = "Open files or enter directories all in one key";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ khaneliman ];
   };
diff --git a/pkgs/by-name/ya/yazi/plugins/smart-filter/default.nix b/pkgs/by-name/ya/yazi/plugins/smart-filter/default.nix
index e85f8bd83046..83e225e9b84c 100644
--- a/pkgs/by-name/ya/yazi/plugins/smart-filter/default.nix
+++ b/pkgs/by-name/ya/yazi/plugins/smart-filter/default.nix
@@ -15,7 +15,7 @@ mkYaziPlugin {
   };
 
   meta = {
-    description = "Previewing archive contents with smart-filter";
+    description = "Yazi plugin that makes filters smarter";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ khaneliman ];
   };
diff --git a/pkgs/by-name/ya/yazi/plugins/smart-paste/default.nix b/pkgs/by-name/ya/yazi/plugins/smart-paste/default.nix
index b65318e8aa15..5e57cab81ca7 100644
--- a/pkgs/by-name/ya/yazi/plugins/smart-paste/default.nix
+++ b/pkgs/by-name/ya/yazi/plugins/smart-paste/default.nix
@@ -15,7 +15,7 @@ mkYaziPlugin {
   };
 
   meta = {
-    description = "Previewing archive contents with smart-filter";
+    description = "Paste files into the hovered directory or to the CWD if hovering over a file";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ khaneliman ];
   };
diff --git a/pkgs/by-name/ya/yazi/plugins/toggle-pane/default.nix b/pkgs/by-name/ya/yazi/plugins/toggle-pane/default.nix
index a32473b850d2..577ba6c3ae87 100644
--- a/pkgs/by-name/ya/yazi/plugins/toggle-pane/default.nix
+++ b/pkgs/by-name/ya/yazi/plugins/toggle-pane/default.nix
@@ -15,7 +15,7 @@ mkYaziPlugin {
   };
 
   meta = {
-    description = "Previewing archive contents with toggle-pane";
+    description = "Toggle the show, hide, and maximize states for different panes";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ khaneliman ];
   };
diff --git a/pkgs/by-name/ya/yazi/plugins/vcs-files/default.nix b/pkgs/by-name/ya/yazi/plugins/vcs-files/default.nix
index 043498a2d888..89ad96e497c9 100644
--- a/pkgs/by-name/ya/yazi/plugins/vcs-files/default.nix
+++ b/pkgs/by-name/ya/yazi/plugins/vcs-files/default.nix
@@ -15,7 +15,7 @@ mkYaziPlugin {
   };
 
   meta = {
-    description = "Previewing archive contents with vcs-files";
+    description = "Show Git file changes in Yazi";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ khaneliman ];
   };
diff --git a/pkgs/by-name/ya/yazi/plugins/yatline/default.nix b/pkgs/by-name/ya/yazi/plugins/yatline/default.nix
index 8df8e9e55860..f2f35c3ce7db 100644
--- a/pkgs/by-name/ya/yazi/plugins/yatline/default.nix
+++ b/pkgs/by-name/ya/yazi/plugins/yatline/default.nix
@@ -5,13 +5,13 @@
 }:
 mkYaziPlugin {
   pname = "yatline.yazi";
-  version = "0-unstable-2025-05-31";
+  version = "0-unstable-2025-06-11";
 
   src = fetchFromGitHub {
     owner = "imsi32";
     repo = "yatline.yazi";
-    rev = "4872af0da53023358154c8233ab698581de5b2b2";
-    hash = "sha256-7uk8QXAlck0/4bynPdh/m7Os2ayW1UXbELmusPqRmf4=";
+    rev = "73bce63ffb454ea108a96f316e2a8c2e16a35262";
+    hash = "sha256-pIaqnxEGKiWvtFZJm0e7GSbbIc2qaTCB+czHLcVuVzY=";
   };
 
   meta = {
diff --git a/pkgs/by-name/yd/ydotool/package.nix b/pkgs/by-name/yd/ydotool/package.nix
index 137a701d87a3..ee0ac25bdd1a 100644
--- a/pkgs/by-name/yd/ydotool/package.nix
+++ b/pkgs/by-name/yd/ydotool/package.nix
@@ -41,7 +41,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = lib.licenses.agpl3Plus;
     mainProgram = "ydotool";
     maintainers = with lib.maintainers; [
-      willibutz
       kraem
     ];
     platforms = lib.platforms.linux;
diff --git a/pkgs/by-name/ye/yeahwm/package.nix b/pkgs/by-name/ye/yeahwm/package.nix
deleted file mode 100644
index bfa2b3267973..000000000000
--- a/pkgs/by-name/ye/yeahwm/package.nix
+++ /dev/null
@@ -1,90 +0,0 @@
-{
-  lib,
-  stdenv,
-  fetchurl,
-  installShellFiles,
-  lesstif,
-  libX11,
-  libXext,
-  libXinerama,
-  libXmu,
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "yeahwm";
-  version = "0.3.5";
-
-  src = fetchurl {
-    url = "http://phrat.de/yeahwm_${finalAttrs.version}.tar.gz";
-    hash = "sha256-ySzpiEjIuI2bZ8Eo4wcQlEwEpkVDECVFNcECsrb87gU=";
-  };
-
-  nativeBuildInputs = [
-    installShellFiles
-  ];
-
-  buildInputs = [
-    lesstif
-    libX11
-    libXext
-    libXinerama
-    libXmu
-  ];
-
-  strictDeps = true;
-
-  preBuild =
-    let
-      includes = builtins.concatStringsSep " " (
-        builtins.map (l: "-I${lib.getDev l}/include") finalAttrs.buildInputs
-      );
-      ldpath = builtins.concatStringsSep " " (
-        builtins.map (l: "-L${lib.getLib l}/lib") finalAttrs.buildInputs
-      );
-    in
-    ''
-      makeFlagsArray+=( CC="${stdenv.cc}/bin/cc" \
-                        XROOT="${libX11}" \
-                        INCLUDES="${includes}" \
-                        LDPATH="${ldpath}" \
-                        prefix="${placeholder "out"}" )
-    '';
-
-  # Workaround build failure on -fno-common toolchains like upstream gcc-10.
-  # Otherwise build fails as:
-  #   ld: screen.o:(.bss+0x40): multiple definition of `fg'; client.o:(.bss+0x40): first defined here
-  env.NIX_CFLAGS_COMPILE = "-fcommon";
-
-  postInstall = ''
-    installManPage yeahwm.1
-  '';
-
-  meta = {
-    homepage = "http://phrat.de/index.html";
-    description = "X window manager based on evilwm and aewm";
-    longDescription = ''
-      YeahWM is a h* window manager for X based on evilwm and aewm.
-
-      Features
-      - Sloppy Focus.
-      - BeOS-like tabbed titles, which can be repositioned.
-      - Support for Xinerama.
-      - Simple Appearance.
-      - Good keyboard control.
-      - Creative usage of the mouse.
-      - Respects aspect size hints.
-      - Solid resize and move operations.
-      - Virtual Desktops.
-      - "Magic" Screen edges for desktop switching.
-      - Snapping to other windows and screen borders when moving windows.
-      - Small binary size(ca. 23kb).
-      - Little resource usage.
-      - It's slick.
-    '';
-    changelog = "http://phrat.de/README";
-    license = lib.licenses.isc;
-    mainProgram = "yeahwm";
-    maintainers = with lib.maintainers; [ ];
-    inherit (libX11.meta) platforms;
-  };
-})
diff --git a/pkgs/by-name/ye/yelp-tools/package.nix b/pkgs/by-name/ye/yelp-tools/package.nix
index f71510c4ff5a..94823e582b89 100644
--- a/pkgs/by-name/ye/yelp-tools/package.nix
+++ b/pkgs/by-name/ye/yelp-tools/package.nix
@@ -56,7 +56,7 @@ python3.pkgs.buildPythonApplication rec {
   meta = with lib; {
     homepage = "https://gitlab.gnome.org/GNOME/yelp-tools";
     description = "Small programs that help you create, edit, manage, and publish your Mallard or DocBook documentation";
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
     teams = [ teams.gnome ];
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
diff --git a/pkgs/by-name/ye/yelp-xsl/cve-2025-3155.patch b/pkgs/by-name/ye/yelp-xsl/cve-2025-3155.patch
deleted file mode 100644
index 36886d7c4a2a..000000000000
--- a/pkgs/by-name/ye/yelp-xsl/cve-2025-3155.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-diff --git a/xslt/common/html.xsl b/xslt/common/html.xsl
-index 77aed075..82832fb4 100644
---- a/xslt/common/html.xsl
-+++ b/xslt/common/html.xsl
-@@ -266,6 +266,16 @@ certain tokens, and you can add your own with {html.sidebar.mode}. See
- -->
- 
- 
-+
-+
- 
- 
       <_NuGetToNixPackageCache Include="$(ProjectDirectory)artifacts/source-build/self/package-cache/"/>
+      
+      <_NuGetToNixPackageCache Include="$(ProjectDirectory)artifacts/sb/package-cache/"/>
+      
+      <_NuGetToNixPackageCache Include="$(RepoArtifactsPackageCache)"/>
     
     
+Date: Fri, 13 Jun 2025 15:32:52 -0300
+Subject: [PATCH] source-build-externals: overwrite rather than append
+ NuGet.config
+
+---
+ .../src/repos/projects/Directory.Build.targets                  | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/source-build-externals/src/repos/projects/Directory.Build.targets b/src/source-build-externals/src/repos/projects/Directory.Build.targets
+index 5b374f4fc42..9ed8cff895c 100644
+--- a/src/source-build-externals/src/repos/projects/Directory.Build.targets
++++ b/src/source-build-externals/src/repos/projects/Directory.Build.targets
+@@ -101,7 +101,7 @@
+ ]]>
+       
+     
+-    
++    
+ 
+      deps.json
+                --arg otherRids '${lib.generators.toPretty { multiline = false; } otherRids}')
+
+              jq . "$combined" > deps.json
 
               mv deps.json "${toString prebuiltPackages.sourceFile}"
               EOF
diff --git a/pkgs/development/compilers/dotnet/update.nix b/pkgs/development/compilers/dotnet/update.nix
index 3e5f4fffc35f..41df7569be19 100644
--- a/pkgs/development/compilers/dotnet/update.nix
+++ b/pkgs/development/compilers/dotnet/update.nix
@@ -157,8 +157,17 @@ writeScript "update-dotnet-vmr.sh" ''
               "artifactsHash": $_2,
           }' > "${toOutputPath releaseInfoFile}"
 
-      ${lib.escapeShellArg (toOutputPath ./update.sh)} \
-          -o ${lib.escapeShellArg (toOutputPath bootstrapSdkFile)} --sdk "$sdkVersion" >&2
+      updateSDK() {
+          ${lib.escapeShellArg (toOutputPath ./update.sh)} \
+              -o ${lib.escapeShellArg (toOutputPath bootstrapSdkFile)} --sdk "$1" >&2
+      }
+
+      updateSDK "$sdkVersion" || if [[ $? == 2 ]]; then
+          >&2 echo "WARNING: bootstrap sdk missing, attempting to bootstrap with self"
+          updateSDK "$(jq -er .sdkVersion "$tmp"/release.json)"
+      else
+          exit 1
+      fi
 
       $(nix-build -A $UPDATE_NIX_ATTR_PATH.fetch-deps --no-out-link) >&2
   )
diff --git a/pkgs/development/compilers/dotnet/update.sh b/pkgs/development/compilers/dotnet/update.sh
index ad51bcaf31da..2eb3d9cc234e 100755
--- a/pkgs/development/compilers/dotnet/update.sh
+++ b/pkgs/development/compilers/dotnet/update.sh
@@ -5,6 +5,8 @@
 set -Eeuo pipefail
 shopt -s inherit_errexit
 
+trap 'exit 1' ERR
+
 rids=({linux-{,musl-}{arm,arm64,x64},osx-{arm64,x64},win-{arm64,x64,x86}})
 
 release () {
@@ -225,6 +227,11 @@ usage () {
     echo "Usage: $pname [[--sdk] [-o output] sem-version] ...
 Get updated dotnet src (platform - url & sha512) expressions for specified versions
 
+Exit codes:
+  0 Success
+  1 Failure
+  2 Release not found
+
 Examples:
   $pname 6.0.14 7.0.201    - specific x.y.z versions
   $pname 6.0 7.0           - latest x.y versions
@@ -256,11 +263,13 @@ update() {
     major_minor=$(sed 's/^\([0-9]*\.[0-9]*\).*$/\1/' <<< "$sem_version")
     content=$(curl -fsSL https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/"$major_minor"/releases.json)
     if [[ -n $sdk ]]; then
+        trap '' ERR
         major_minor_patch=$(
             jq -er --arg version "$sem_version" '
                 .releases[] |
                 select(.sdks[].version == $version) |
-                ."release-version"' <<< "$content")
+                ."release-version"' <<< "$content" || if [[ $? == 4 ]]; then exit 2; else exit 1; fi)
+        trap 'exit 1' ERR
     else
         major_minor_patch=$([ "$patch_specified" == true ] && echo "$sem_version" || jq -er '."latest-release"' <<< "$content")
     fi
diff --git a/pkgs/development/compilers/dotnet/versions/10.0.nix b/pkgs/development/compilers/dotnet/versions/10.0.nix
index dad1d16ce06c..c1fd4ffbfe38 100644
--- a/pkgs/development/compilers/dotnet/versions/10.0.nix
+++ b/pkgs/development/compilers/dotnet/versions/10.0.nix
@@ -11,28 +11,28 @@ let
   commonPackages = [
     (fetchNupkg {
       pname = "Microsoft.AspNetCore.App.Ref";
-      version = "10.0.0-preview.4.25258.110";
-      hash = "sha512-vWfi3rmaeYjPakVUAA/UpIxiLPxsMocAAebe21qdNAgo8pm0qzlEvt2JB94HCw2i4v2pHzabs62l67WdS5djwg==";
+      version = "10.0.0-preview.5.25277.114";
+      hash = "sha512-s4HlvPy1QuJKFkv5YvtRhYyOBiOm+OHD1RDnOdQCrpxCVbBEguF5jv4Ad4GX/cEqW+HB8hSt0Z0b8+rHu5Ki+A==";
     })
     (fetchNupkg {
       pname = "Microsoft.NETCore.DotNetAppHost";
-      version = "10.0.0-preview.4.25258.110";
-      hash = "sha512-gUHQwJMibQcllICsw+sxgSm/ceKfpAPhxVE1Vm66x2OQp4q+x0zU/AuvDkR8gIj4noJ/7+jBk1lhI0l58WbS0A==";
+      version = "10.0.0-preview.5.25277.114";
+      hash = "sha512-CpTBajurwDJBqGksHOWwf/deFNhBj5mooR8mkK1hpKexMR20KuprblkuCxHEzdf99F4pvOY3cpi1jpE+jkhqGg==";
     })
     (fetchNupkg {
       pname = "Microsoft.NETCore.App.Ref";
-      version = "10.0.0-preview.4.25258.110";
-      hash = "sha512-VfeM6G0eQyv3IFInmAmu9+fNZeBZPbrcv+U/z1HDoCj0K91fqS4zt3fz5z21+zG8DYEAlTF54Han9cEZFHR20A==";
+      version = "10.0.0-preview.5.25277.114";
+      hash = "sha512-MYy3h/RxwEKD5fKfyW8xb+qiYAdvXmIh4HCxXpiCII04SvWH6myXrF+IsdoAdtIFdNnf/MWe6zbaUi1lwh5MEA==";
     })
     (fetchNupkg {
       pname = "Microsoft.DotNet.ILCompiler";
-      version = "10.0.0-preview.4.25258.110";
-      hash = "sha512-cIjmBqaMxRPEEXInf6o5AeRmah9/pMUzqPcakc1AJqz+Ciit+ns2tcN4ykLlgoVAyUeG9v3iO/4OVPijZsVZnQ==";
+      version = "10.0.0-preview.5.25277.114";
+      hash = "sha512-IveQf1NcMPHPWL4JWlmhjE3Zuh6Z4EH+1vJGbT+WP1TwxGLiek/ejwS1PovGP8rYfkOEWT9LRAE+cHjT849mTA==";
     })
     (fetchNupkg {
       pname = "Microsoft.NET.ILLink.Tasks";
-      version = "10.0.0-preview.4.25258.110";
-      hash = "sha512-6DksjrXQLPxpormAUtVZuLMHfcpNdCCH+9mKJSMiS1K+EaPI34hV+draFvcCJetHR/Vlcy+3VG2swZAi31cDGg==";
+      version = "10.0.0-preview.5.25277.114";
+      hash = "sha512-/R/whqQSpMH1QImsjt7uq2ALWe9foCob6gVheTqF+Fnwu0LmFZbcAmiB+oEyCt8hJwmS7i/YVg8Gwod5VzdPIA==";
     })
   ];
 
@@ -40,118 +40,118 @@ let
     linux-arm = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.linux-arm";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-uuslaUWSs49xZFoOly2UdnvOC0fJcA7Rd5mLx0PHbDvOz5gySJduHcnEyrZf0q0yjX7Hgs/xhg+dZU1Eqje8uw==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-5ESzKgrodn+sAQSmMLOxeS7mJWm8BA363aPG91+k/35/Ah/txahPPCc4omRWDMmEutK7fCY8c7zgS7tGlf7McA==";
       })
     ];
     linux-arm64 = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.linux-arm64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-1guGT2CPPJrlcRAnWl2cl/Jqqu1X7Sqp0B9r8H5NZKhal8eSaYnC6Bn5DL3TYYA0wPNbrbUZ54wkSWHV4gArpA==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-qEaKvjfg4dv1xhz/y60Y1n9dQNM5TLo+S5ncuwnZTrUVAxlXBtq9IYqZJ3phynbt5zKPgyqk3P4AUQ9yq+Os4w==";
       })
       (fetchNupkg {
         pname = "runtime.linux-arm64.Microsoft.DotNet.ILCompiler";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-t7u2DtlUkSFN5pnmsj6qlSJGjp9tw7U9cf8dI8g8HlmbHYjQFrf1OQuXAkj4tYbBiQjAGAkr/ykhNyDAm1swwg==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-FuN+WXR/OVGTxucPJranVRmxbYdZgGLorua2fl1H8tDXrgnFJ1r1gmUS5nDVG4+6zlbAohUtCmg+CLl2cJZshA==";
       })
     ];
     linux-x64 = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.linux-x64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-lSDeJGzErzirixErfLQetvl9TgiuXKPRcZMupq61g2f9aUwjEan8KdS5kjC4ZFrkfaR/N5+ct/VEi2kW5odBBw==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-zFwwL03ZGoCFoSBMIm5JxwDqHoEFwqWQY/70z8L708keOulasLQaZzNo+0Aj17LRbO9ai1f0NraNwgkQipBw3A==";
       })
       (fetchNupkg {
         pname = "runtime.linux-x64.Microsoft.DotNet.ILCompiler";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-MVWtx9pN1c1cOn+uLQJEQtmuI2boJLxD+JGrp0hO9Z+ry8fzZ9syUsBfebttmYdBmE56iSJfg75BCPPiBrhh2A==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-Z3yH1oMeEi7bfULV1vsJUmhJV7sGFe3j4sTdcQ2Iqot2KnNq54uUDkHigPRSi0PQ0p2tOnK4idVTDntITm4DWw==";
       })
     ];
     linux-musl-arm = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-iIv4axN6NGortCDDWnv2hEXDW9WjB/64ydiYQT8FHT7owwtGghkBq0dRyE7d8uowXsSm+JZkOnHPLjMr0p0Lcg==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-50+U03mBEDtKgzzQus6e/b9SPeY5hSTrm4k8Jk0AyiKzU30UL7sjgQzfRGGvNEKEEScDg86nqeJ4Ox3A8Splqg==";
       })
     ];
     linux-musl-arm64 = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-oc/ufL4QLBzTqrHphJ+v5WCY5pwU1mSEapHhbpLScOu7wdAsmVNhESXVa0k2wNsYMfOUxPA/+ztQ/EBOXI+BgA==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-FOGUGW5RSoxkBLjiVP2Rq6yIrODbDFF822fAySFR0Sb7Wl5zFa2DBrzobjjpPX5kxGO5g/KDpvvhzc5ER6NSVA==";
       })
       (fetchNupkg {
         pname = "runtime.linux-musl-arm64.Microsoft.DotNet.ILCompiler";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-t8HlQpH3NpM441PLmfmblZEs0vz/EFUV2VV5Lyk4djEice1Ozv9G2rImmFv6dp1L+wPZ4i30ROEhpcrP09I8QA==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-B/YcJ/Owoamyww7r2MsTI2cSWTmADFiUAH+JLXo2gJKx29W1FHo9/AJkzhj4hPbTOjcxXZXgnpdAv1wpVAsgRw==";
       })
     ];
     linux-musl-x64 = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-x64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-1IUc1oMd94aJys8I4OlCRI6cUGH2vnh5YHImHE+95FoFHXCruOiGhURmnrGeKX0qXjyjdDspqMuks0eiu7NyUA==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-EWGjha2ABrQ5dc80NPXI3wqMBwTbV57Yd8+vhtG9+TUkdaPIm7Ih9tiEskTdw4bbvRi4WJaPMlkaw7t1bUcO4g==";
       })
       (fetchNupkg {
         pname = "runtime.linux-musl-x64.Microsoft.DotNet.ILCompiler";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-i8GunHeJSaSYPZYCuRxoatrJrjKLgsqEXNB9Nq4neHrK6douI2YSxZEIuDFOYlWtWrqJWXPj1Bvd/HtIaw+KyQ==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-4KsNQ8Qd5WwJGSeRM8oIUUc0xlFJ4Sijfmyi+jCHGPKs8NsBOeojdSyg36ROBeDZ1pJVkplLqQJkl4/QMk+6Ag==";
       })
     ];
     osx-arm64 = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.osx-arm64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-zZH8KOTdzjA0ZTSJ0JaAiN67sNjlc8sH4uI2Z72CiCIYgWrSsGGc9xB8UfLWtpdc56VUgK8nXOBOhGEoKAbKCQ==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-t2fI/fmsogh6D2d0Y8QDBvvubtSNxfCuwoY0zHO2Kq80VflvC9AnC8JGEBjiGH7UDf57sVDzZkBkFcB6zIYEpw==";
       })
       (fetchNupkg {
         pname = "runtime.osx-arm64.Microsoft.DotNet.ILCompiler";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-EnBkJr7HU9Ry04aklgocx8TDSuwDfMIu6IJyq0FOGDmxIrbftIoycNg9uiQIntzpGYnqclYTvxpmddYjyFAgLA==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-A8r/O6ncUS0OoLWuIO081xE77Im/EKQ3ath4DzqL27GBO7AqBYME8c0fEMxBn3ezqDKKgp7WoRjxmvyFrjjFUg==";
       })
     ];
     osx-x64 = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.osx-x64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-EPzA41GT9+m4+1PI2VuYJV7brN8IoVfbAZ7Mf+9vhoJRnEpkHTKVzbRb/Or5MEXcruLj23ZJv8nlavBZGt46dQ==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-4XoD65xIjjxalBaqZp+wGp2IGgbo3MVSs0cPV3LRuyuyci3TEZmyYj63ZbA7zJcjzXJXDhgjQVX14JPx195ZCw==";
       })
       (fetchNupkg {
         pname = "runtime.osx-x64.Microsoft.DotNet.ILCompiler";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-tPHg/NyhOaJD1VOkk7rPmfeCrGCgZ82L7rduyeZf41wZhlfApycRRqdWZuDBbbPi4ZXnBmr6ZbiAknhorVeS9Q==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-TP1b+02yPlLhvj16Hq2Fwn8Qxq+NXvLM0QxxIiFCa8RHijb9WmSRvzNwUp1HLxjArzgbvCDlTmwlMsh2LbwSvg==";
       })
     ];
     win-arm64 = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.win-arm64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-6RtyWlpvIBR1rRiJloG/hLKG7jX7/dWnTOoaODdPR/1XMrvJUHhIgxh84qZRcDAhnTW+SSXmrWXVgvBFRuKDkQ==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-DoHyLSBIYsD1mfbHnJDKi7PvqPOSd5ySoDeI2m0pv55Dx46CQdks14lIuusttk46bvBUFfp63KILpbmQzU1ovQ==";
       })
       (fetchNupkg {
         pname = "runtime.win-arm64.Microsoft.DotNet.ILCompiler";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-8vBMhAkenArNqzb2iRwWJJRmqgQ2PCa5lNMFj/JrfeIHuvhLCAN+4zvLj8+WMKPVYD8uIrUG0qKLvEqimCURaA==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-Kbdr7rNaKTP8XaMzevtG7RPH+UQ4IQQd6No7fzBN7/VStj1uPc4Y7OMxrDtnGZFbGo06IbTtPSAxcrWj6BE4hg==";
       })
     ];
     win-x64 = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.win-x64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-wFj0m2cPFDkSjYR1qJrTsdV/m7YTxo+pC/aY7R0adVWZJQ4n57/HdzB5ZHDfsGfcPueRQ+wzFyoMpQ67FLrOvQ==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-3ShS2dKWGFmMgI76TuN1kYWzDpumT9ToxNVxMJTt7I6t+vICEVbwWXZPi2cD7ZWHrzi3/tIgSVzzHNFazj13oQ==";
       })
       (fetchNupkg {
         pname = "runtime.win-x64.Microsoft.DotNet.ILCompiler";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-49V5bfRKEcjeqRy5YUSp5Z8ttGBw0LhDc4ScGKnZcvI/DXiDO2F5tLcCuyUALeyocVYqhLMzf90qXs9vkFDVnA==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-1U//TasFxoxn0VJjA/iPzzJDnQenarO74bvPMraRrQfGqR4t2AEZA1gLgV5Mz38LVB0irpvxdSPoEW4keNA0tw==";
       })
     ];
     win-x86 = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.win-x86";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-Qv0lflOQmXTGb3B4Ex7087VvZXRu8IzMumq2ij/pocKm53kx9cMjuWp51LRqy5S8f+iG9OMtg3qzHrrYfy0Jkg==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-KIydC5/Xl87tFKN6pESgrcGatj0zcf1bzgBjlx+qGr3vk90EHRV2yk67hLok5jzqlnbSBKrF7UwEau5Se0mMMQ==";
       })
     ];
   };
@@ -160,361 +160,361 @@ let
     linux-arm = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.linux-arm";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-C0StqvgEE4P/6k2IA3K7hfHOg6NaBtw4QsYo+WBNe/+Ncm/LpkAz/kzswIpEQenBKHOiOxt0gXrDU6wKoiZHKA==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-sZMp5qkPDTK6VyqYT4a8sfGuFb5xkUo3aIaXDRjOAQznRmknxKycMQxV0pIxxFvVeyyBeqvxYslT2AhhL+EHAA==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.linux-arm";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-uzd6h0bZSwGJFj0pYewpPGcO321uuiKiz0g72E4AmaGArw4SLamqXPW4R7IvxkQwBgH8XdDvl5JiYh1Q7m8nSw==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-6Fblda7ZmvctHnrFBgbPI7ASkzBwA6PyENq/fBAKN9qXA1s3RcITpRE05IIiXWyWetC1069bbkZZ9IJ7fJGQpg==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.linux-arm";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-wgISlUvkDZlpXe349zD3sbJWGPgYbt0dixg+JewPkW5wx5fUc9dkTBX6i7IZwb3IgmITO9WenMaJI25ceK/CUQ==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-/NjUBaHpFjAiugmZ9mX5R/v5nfey41rWao/msHOt8/0nafBqGiOxAL31bTZbcgMIIt62lOKKxjWpJ1FBbSiM9w==";
       })
       (fetchNupkg {
         pname = "runtime.linux-arm.Microsoft.NETCore.DotNetAppHost";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-pI1iX+DJ/QhC0OpCmHw9tL4FAnK8bbHKi6C45cryD7h8Vtig48LxyoOpyIy5qv/N7UYQcZVLI5gn3V9a87KlNg==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-R8veKCL6tx0+Mf0dnLS1S0vy2VyaAHkOEnLpr0P1lGuafdGUH6U9soRORAmN4Yd1Li4M0o9CP11Izunq/iG3Pg==";
       })
     ];
     linux-arm64 = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-vCnb2RgQVunOTzEQNCfl1tqx66PVmnq9dNgLLKtWVxjIj5smtR4pjv8PIUTsXa6eunl5Sje5LuCghAsDYOuEhA==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-z4nJcFunBtPJgbSQO+pZHZpYVH/hnDWBJtSf5J7pVCKzRYm3mJb1N0DIx/2wB1HtVg0cvw5K1QIBeQdBv5aRxA==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.linux-arm64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-kxLQqbRDypZACsKMnwuxKk/UGp9poLAgbs45S6cGuIuG50H7o2l4lg7DScBU0FWBIjaUbyb+gEKUyT7+f6CWOg==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-6HRNrz6RVTrD5XQuq35HhBE5qC3iBts30LwDZ27eICx3xSoe3cVX+cDKyaQenobOwMCS/trHB1AvfkTTMI//gg==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.linux-arm64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-/AeNVTpdH1X0wswtB821nx5tDKL7pVxhOPbHt9zwRbqxvIdHOkAxKZwxbhpDu38I+c0sMYOQwdrekHe3v2p1vQ==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-TWpJ6I11YP653VrhYUiSQgI/mwCfk1t4ngl0DBGezsxuSsCW9SrVVsZaCoboAm2hKbGlgC620YQOCLUofZxaRQ==";
       })
       (fetchNupkg {
         pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetAppHost";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-FhXBAECkx2pTl+o02UWuJuKtGFUMZ3NZVyApMOubAlE0y9BuaV6pu/0a32DlE4s7vVyoJAayWyspmw8dqGyGSQ==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-I1h/tB0nh4CzOccmktX4KSZR9dNqYrqS1nZDs1ij889XtoIrYePtSnMasnxMfaeMp8vY7WCSKSWNPlynhOh15A==";
       })
     ];
     linux-x64 = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.linux-x64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-arMALatifYSYEOsWnO1WVu5+QO3YIRdN0kIcUVS2zaWblFMK9g4wPBj/TV9FwwfXN+fAuehjhLv4ZcdkKEzozQ==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-5+DdKKWt/JW373FJ6r5+vrQRhv6xRAyQXPeHdrAEAP/wlK9AnJE9pYuHfQI2Trwqklak5O1Ag5GrRin/7oBVaw==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.linux-x64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-2aTTaiEyzXR/Q2GuqxpzvLt5F9Psv4tI6+0+fZfJYo5f9uK1N6ccMdjhqyJH65Be7qdFvTUZsK0upOcdmRlb9w==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-zbq3UWa9qBoaEgYvvU1dR6V9YPIHs+liWOhUj5qfGBGKtZH8bTvpbNu0isYms0d9ML69aWTAiZg5C9rFP5hrag==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.linux-x64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-CPXT1/j+JIuPx85z2CTOUSNBKA/Ru7ViiMt3Pco2gznFAyWQeiIFzBNJh0Hh15xSkKZnKBQ++Dea1J6GXMEgfQ==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-ksXckpgL0kdZEVVgAmofcEUL8GIxwPOGS2+UVN8Fo7gj+RV0zwbXSUH3v4KNIq/8ngFVOh6pQU22CzCwxoB3Pw==";
       })
       (fetchNupkg {
         pname = "runtime.linux-x64.Microsoft.NETCore.DotNetAppHost";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-W8HRshU8mCn6SvlAWzwn3pQBI0u4z7tyHVvWzOqoiNbWjfOST8Dai/K1xSMdqUaB8UDd6UvslW9vICLbOgBMSg==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-bpdq72fgG+2FD5BC95wpEikX0hmTnypjS+ORXy9205+a3ElhlQXzwe1u/x3fNzAKOXVeGatHibdzAHrOmowARA==";
       })
     ];
     linux-musl-arm = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-XN2AgOKMX9LAyrQc/z3BOtQIWnlTuCb9b9APjfY6xP3chc5n+5TOqpVh/qQVNx3/nIHl6TeZ9KxuB7mYxH3E1g==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-ctmfELPcwp5Vaoh/3oQVoe2ZtivoZarY+XgVW3jC0hvn7qiensODQJP3am84kRu5l4k/c8MFU4HJkjFEopFKCw==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.linux-musl-arm";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-klhpghCNw87bBhxvKxqA7xKWDYrDCWlRXTDhcgrK3jz/e9/B3eig8kiIIIWJ5sTBdrBSaZBziYPbgGBj9qH2hw==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-v39otkbx5A2qerWBnqFu6ZtJYXy4sMvK/xv8RGMOgLR7VdcD5kwQpF80ldz7de23qh66nRFd9ONLKajtJqu58g==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-TPyPwxc5nmvfI+qzB6Rh5BsyoXoSqkb0fC2u6F+KdKjPs5sji0N8vqJs0oD0fsxcXcDipGZ29KKNFwjm42EzQA==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-BHr5lNkp8ct/5a2kSVedpsTPKGhOm/ofmD0Tgb7a3vT0dEsuzH+4CwcH7/QmSfyr/TaJeiOzraBxIuQwGlDTHA==";
       })
       (fetchNupkg {
         pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetAppHost";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-faMYtAbsnq2lajDY+kqzYPGff562MVOB/wMG2xifD9Gz1bKiSo2GLR/wwJRvIWlTrb46Y7Uoa5O4AK6LEX4sxw==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-0kygUISqT53WxlL8CYxN7yR/imN0z3fKWgm3NKhUbW/nURkcvLz/J/ft64/ib26Ez4izYNnRqJOYdAaYWSd/XQ==";
       })
     ];
     linux-musl-arm64 = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-lzGjDryEGWgrjzo1Jn8der4K6xVMN6VDDOwSAUkShMEBfQDZgmSFmkF1qFYzVdsdkaKyLOvY9ojILmbD0Dlirg==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-aOBEqQy1MMYXjG2tCc/yvCN+J5wRq0ZONOW8CTDIXJJVC7FDsW4gDHpa8B6j1D+Cfufw8lN9jymwmEkg+bfQeA==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.linux-musl-arm64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-MOC9ECT6SNDvKWe0GztteB2xjMmxjYvBo3IMBoT/u60pj3Pq4oKvbvdTWXswKYnXdZbm4QMbWXW44kCbkI28SA==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-nx+JKXvSyhia1LdIRj0wN/Enu7hEoggBI0/kZtE+K/k5RJAX4An2GVirc5YvuM2FhWnEHC72Ex7Dg74Q4rFWBA==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-Fj1f1/paElOi1bIGX7lnRV/EpgAe2MSJueYnTsubIYQu6DL1dO01XE0npm8z5InVks5MSmswTY/l8UibOmm/wQ==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-Ik2gQHaJkzM45PFOzFW5nbTdXJLfEcBtWC077cD6Lzmdg0C+jRRYLpDtXfEqt9CMBdgGKYWR4KBLKubLiC7nsA==";
       })
       (fetchNupkg {
         pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetAppHost";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-lWhzsbJRYcJStaCn1U/fmg8Bcv/3c6s6Ba6hpv7m/Y0nI+eNvRS+aOoHF5Bf8AgXmA7ukhrRP7QvQhxcvcLX1A==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-YdnzOIgp1zhd9OUpcEQJ3/Fje9GviYa4/+bbn8StJgMK8RgR+9CTQeC1ePazCqKXQ7oYcXXjgchE8CbNsxRFfw==";
       })
     ];
     linux-musl-x64 = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-x64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-kuBEdbF4mtqnayGH6xR+2Qh5nO8ipPVikosW31oAJFSYsxMwNn5EIQ5Xt/XSuRNM5APVGZYu6i49l/ldghxDtA==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-39ITIAZNO9ZVKE6UY5KKSWvd3wiT1b6n0nUfApUCqMd5MlkExTuMKToY5J1CwWhDhWTq8d+q9USCO65MsUueIg==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.linux-musl-x64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-PBvBPCAWmvHqbFDLO04gQkqECQwCEyvxkltpkLnZVnDpaNH+V/Dcqe/EgowxeTIjujjeRn335zfkDAiJXEq/rA==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-isbzkA/HOGFEqZLugW6V9C7xx1RLA6p5v/YrdW9au1/RaCjS8OAS3/rcZKUT/lu6wubSGHaLdzWeqIwmWwgoaA==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.linux-musl-x64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-G6SLD+2vlWcmL9K1JlW8cj7p7yNlB5DPvZ2LOoSm1TOz8eabKAFbUzAhzm1vjjbx4kVjgYGQjk9SxUb0jlNyBg==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-whDhidFeiAPcU/aSCxUcgfgjbISQw2IwR2fHhHB2vE5Yf97XEIzYACpi/skGYqBWroXYAmaU/Pm5oULMrEJrBQ==";
       })
       (fetchNupkg {
         pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetAppHost";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-Rd/49ec4URHYjz9G7aOq+MlE9jXirUEzGNYvIIxu63ah3iZj6rTL9hP5/yHJFgOy2sTSGCNjmftiRp2LavS+fA==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-5N7wlWk5zDCzwqee5s8IDVfBMk7w50K6nuZworGH19K1q/twuuwflRIz07DBvNkhmR3E1ScSUYmZr3YP6o95aw==";
       })
     ];
     osx-arm64 = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-elIMKxh2SsVvxA0TA+uZ4AhEfZgbjYawBBO0H1zEPMg+Z5B68qBl4bcPRhhlQvfZxTmXLDGv8ME53lkowMAY7A==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-R3bUl0oLPwjxngS/KqDYO6+lhhwhAmd5N4yOlOqdpgfm719+1vuCYc2VLOx9MIf+sh664VsfuByCI9H9oji9dg==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.osx-arm64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-9tUkHEWZpnmpqa7lMnQyPaajyJqGNtJnbfhNlfddvH8Fu8w4iFIAmEQs/qdYspA7GZqPsl8HAUGN82TEYiQAqA==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-Rw2ijbzcMUbs6vGu3AxIGNTNB+ZeZvuNNDvsj5XTOSL1o2ndU2eW343QAi1hcKXL1pc35eYJZWPOq/gQgBSnVg==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.osx-arm64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-+yjaVe6Jic5H+VzO7/G9hLuyG67BpnL8XdUrlq2OCPJwPv088osfM5JFUm/WAU/uzmOjD0aaWU6W+o8X4+YmMQ==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-npo1EFBfZotj6hbR7uoArZeXEQtnKLarXYnez8JmmAZsRU4osSvYyg4Q/jGopjlFEuyixtWc3rb9rO6njYwxew==";
       })
       (fetchNupkg {
         pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetAppHost";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-gLD9VVXQqUXHkZajhIX9yYIO9Y1x/RtVhNnoSAfLVzilYJw1z0OqdIUtc7VtP4yLSIfSelT8Vu6Nn8i2DD4eag==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-tWtY3DpiKsyQNOg4NN0i/IpRpJ4vjmbDk7B+OdqQrFKGwR/HKXlJ9KOMrqU9LsvEFE2WAGAr/UH0r96iZFAxtA==";
       })
     ];
     osx-x64 = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.osx-x64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-+j0RMzpQi8K2PySVEatGfkorswWpRrYWTOzz0obbqd7Bj9Br7+0ENIBBuZXDESLZGDok88Go9F+6zcICKYooxQ==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-9kI8hH2vS45pgael3UCyVCYvmYH/cXKVrFzh7toKoN1p40YPsTh6qHQRjO4W828zdy2g74T5Ct2ypgMGfdzyyQ==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.osx-x64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-VLW0msNDaNWb7XOjJ2Hm+Sz0QIem0WnktK5rFgmNZyfDXtF+dpm2c5XcrDFEOPdLLBTUtLqow75XlMdShieS1Q==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-uvB/nzacyGad9m7Td8HxrJvyEB7ZNlpm/cxk/G0ufjzTXofWziHKzC0x/gPdc2tZIJQPOaAXOUAcJo1cl4FUug==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.osx-x64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-vT00SyyvuADK059SOMzkuBH0uFNNae9H+kjZ+cNd0GvtEpdjdJButYtB4EY/iDKUETZvAwqCPMwfeymdnARDOg==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-DVJVHV78Nd30U6kiQon16sCPrXuaZLOgFQMLFcMQ4L07srDd962CfijiWAWY5tvl9oO2uWWY9PVqvMFyyMI/YA==";
       })
       (fetchNupkg {
         pname = "runtime.osx-x64.Microsoft.NETCore.DotNetAppHost";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-UYU9F6bt9yhS4Q4XnbbXrZkWXGt9mRU3Sf3QLepGLEGZDTNMZ/qQ0cwECm1AFk/hvqtcsxR1Rf+Y5QzInY1Dqw==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-eFsS+N1nnCG+NGq0jcVhQ0vk3Vthyrz4FsHvZqb2YUwvTDBy8deJZxgaTWBuzRX0QjMgojXjNRCGnjEdtOesEw==";
       })
     ];
     win-arm64 = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.win-arm64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-Lc5B0EhxRtqJ0aoHwqu3lhzQ0iQi/sSB6ZE8zHCZ4Mmbl7ksbXdLfOxviOTp8pEvfIw+OEi0LYIP2H/v9uxtqg==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-7raTvTDZSJ5SNIPU5hug3kGnQqKpNhaBGrXH3v9a0usFRgBbvXEBS9U475YH0Xr3skdOkGESxV7TAzWqMwGGuw==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.win-arm64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-1pdCZOxyNRo849DdbceCdGubemC/Ef7APxQfQcxute4H8cX56H9vuvYSMigelNtmS6cMW40VCjZCcoB7WuC7tA==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-4zmNNMtPHXZpvAZSJcf+/gKIJ4bklQbhkwmllkboOyD+LHeHTeloBakB8IfVc1ZIPGeYmoH0rb7WNHuARTeAmQ==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.win-arm64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-bqAnrKRGSbNZDaS+KVM0HzB6kXDogTK4AWw0u/HHqhLzbQalY53Jj4JNUyCL78aYUT1ltLXqWjbxalyXr4SWjA==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-7a8P7l3yuhiUZfRCSy2BCLedgSVCIOGktdjIniMlQGou7FON701ld0JNI4Stc/WdOQe92IfOBxA1r2mhhpm+Ow==";
       })
       (fetchNupkg {
         pname = "runtime.win-arm64.Microsoft.NETCore.DotNetAppHost";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-tTKpp123VyoMl6cesOqUbBa41hbnSIwHL1/YdebYvBlqv9rO6E5NOZpqbk2L9dF6gwMEVuPgQrxjLGH6EDqGzA==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-gSMZ9F1gZ/cuDLo+I9k0/9h8Yz0xFRsCapNNzP5J9VQYzbQMU5gFp4zY2X/+ZIUNVQtCrTgDNNy4RXoP1Lo0DA==";
       })
     ];
     win-x64 = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.win-x64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-Ki/aU3comxUTo6NkvDlSZY6Og9UFDFzN1/QU6SUB2gUyiD5sm+sLTg5i5y9tqjDncXfGW+GsJYh1eorOM/uBWg==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-EbFp4C0rB5GEd/EXaXTA2LlQ4XwhhzBTIP2f8AQY/26hYOXTYYk+ssz3RGNh81vt3QbBZocwN//Nx+mvwf3+iA==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.win-x64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-Ary6XYzkOkvpH5tLF2UH/owM3EXlI1GgaKaA7yYeJmA5qk2l4+gHqA/e465MgbgNYirRm4Btwp97Z0t8sEYsjA==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-q+bdIwi2R6egAwfMbBFpjjl2T2ADeMBumODqQQU5kO4p56bSYAN97c2lAnJ6I+8x6EkZ92SHlAVrmauH/XR+KQ==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.win-x64";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-b7ei4mhIRfcqyjq8v+D4SNjUWmLkVbvIf/JFAEXJo3SlRe3JSP7jS1MLW3d5D5/0vUU0l8IolPj5drAlywNA5g==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-x4c4bS0IRW8ELlG0ND2Wz3zMbqZGDgSV5WAIJpJh97SvHVeCZIZ6FLB1EsYmeMTCp0zyt5ZYOMCTAMuBO7B3Tw==";
       })
       (fetchNupkg {
         pname = "runtime.win-x64.Microsoft.NETCore.DotNetAppHost";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-MSCi3QAeZzaTWCoiwVoYJ+KicB5II2wozy+aGhowc2/E4RAAm0YlReD6o9YWlGW8KdNlqlcEQQS1zmu+qFz7Tg==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-WtDdm/9kPWVZziKlVSZ95cJYBFZ+O9acpLsnWu+a4C7uaR0PnVA5kdV/KPZpZp5ZuSGDzW7LuZy85e/zYU+q5g==";
       })
     ];
     win-x86 = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.win-x86";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-DTTIMNHk4mhq/vm9mfnNjGl+vJiAVeNOi1Wv8CzAHbbqpmd1VgAIPGMj1a5tyRpGetr+E6LuNJr5hhdjdI3zpg==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-XLolCkHXsP9M0HBsRHxzWE7Gvc0PYUlYFOa2zbIM5YqrnS3fBuSkwuy4pGKB3ovNhCV5M6ZUDFkwsW6QFXtdkg==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.win-x86";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-oyqPs7vbl/j2j9q9bxZrp510Kvl6vGRl6TCfV49MrpWXkVqMrh4MNkrcdfP5I5TR1q0FKPEZbYIbCfogoJSMCA==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-hOgMOwwqKxKiEh51aoDrXS4ygFfByD8acPxhUPQKbuewoymPzWgF/BppaIyXJVFNvi4YMm0ANaQZ7asRv+6QLQ==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.win-x86";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-zMT94I7Yjqlmb/nElrQ4KBS3PymsoYqcTxOKuBjffTpx/xcfPyTMNrVYW4ybuNjRAE3mUqx/LXHrQQ/+1k3oCQ==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-UYv0JpAcv6c5c7QdeM8xmQULQNxeIv87OYh7vVmy6mmGLVOipeDynwUrrZreyzr/Wl4i86//JsyEfzEWhViZZw==";
       })
       (fetchNupkg {
         pname = "runtime.win-x86.Microsoft.NETCore.DotNetAppHost";
-        version = "10.0.0-preview.4.25258.110";
-        hash = "sha512-SefFQ45L6kcn7UVPM2G3qFhDMZpgGqvWIFSITGvPW9BVbJfpH9Q/Tg/kFPbrfAVx/9DtTN4HBIpA/4RCeNY0hA==";
+        version = "10.0.0-preview.5.25277.114";
+        hash = "sha512-KdRROs3JSxZ4+Wgqww8EwWE4p/Redg9d47peJ7sjsgAlRqTK8WpPiN50vPu3pXwcuGZozJ5e7dsg1/In1q6lZA==";
       })
     ];
   };
 
 in
 rec {
-  release_10_0 = "10.0.0-preview.4";
+  release_10_0 = "10.0.0-preview.5";
 
   aspnetcore_10_0 = buildAspNetCore {
-    version = "10.0.0-preview.4.25258.110";
+    version = "10.0.0-preview.5.25277.114";
     srcs = {
       linux-arm = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/10.0.0-preview.4.25258.110/aspnetcore-runtime-10.0.0-preview.4.25258.110-linux-arm.tar.gz";
-        hash = "sha512-ZMQ1mo01rBUxKthEWH3uHSJ/IH08m6Fu31DGcG+Top0LjTOIvRdUdJFlLxQjpnv79CxMeuiAr75CBhXlKbq/dQ==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/10.0.0-preview.5.25277.114/aspnetcore-runtime-10.0.0-preview.5.25277.114-linux-arm.tar.gz";
+        hash = "sha512-CDAgO72l8b5njlm/COTL9sDaUsmAnQJgBLou8OoP1qMIjI8CXXqSxmGbD7WG4HBW90laJtX9U3yuCatxyoFuHQ==";
       };
       linux-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/10.0.0-preview.4.25258.110/aspnetcore-runtime-10.0.0-preview.4.25258.110-linux-arm64.tar.gz";
-        hash = "sha512-fFa8BN1VFSkfwpqUTlAc4na3Iqp448Z5GIy5/jP74GPCGwTv0Py7phAT3XORTnpLQ4YmqBbAtvnPfwl2RqbSCA==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/10.0.0-preview.5.25277.114/aspnetcore-runtime-10.0.0-preview.5.25277.114-linux-arm64.tar.gz";
+        hash = "sha512-rJnr7E56vWYKJzF9N9pWrh+o6evb9KiP5fm+WOH01+jwW+wy1ekCwP3R6dniUM20lEgmZoIBDkz39GQPlpm58Q==";
       };
       linux-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/10.0.0-preview.4.25258.110/aspnetcore-runtime-10.0.0-preview.4.25258.110-linux-x64.tar.gz";
-        hash = "sha512-D6jWC9w/Y99JtfP+XN2hNxOj+b6j58FQSAVD8rfDs4cfQnj8BC1vhQQ0FGlQxJNGBshI9LB3vmmuQ1es42twdQ==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/10.0.0-preview.5.25277.114/aspnetcore-runtime-10.0.0-preview.5.25277.114-linux-x64.tar.gz";
+        hash = "sha512-bmmoX34YuO67X5mn6Amdsvpdo0vPB4vsuxI8CGPUvntCUsfPxrIblYX0+ADAWKEsrlXvKmO5vqiGyj0dig7BEw==";
       };
       linux-musl-arm = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/10.0.0-preview.4.25258.110/aspnetcore-runtime-10.0.0-preview.4.25258.110-linux-musl-arm.tar.gz";
-        hash = "sha512-1rbk8vVIsN4rpIyFpV3mBnUkPZG55DOqLEwDZnmuuBQjb5z084UJ2l1HE1KjhFqDDh4C5bxelxrNuEFWcoVibQ==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/10.0.0-preview.5.25277.114/aspnetcore-runtime-10.0.0-preview.5.25277.114-linux-musl-arm.tar.gz";
+        hash = "sha512-eJ7G3LaAXtcJ8D+s0Z4s8E+uuIQI4kNrx+fnbrZfJzQC9HFM7mDGsI/ZtZE4v/Q7gFll0dXFulhb6uceX/uLTQ==";
       };
       linux-musl-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/10.0.0-preview.4.25258.110/aspnetcore-runtime-10.0.0-preview.4.25258.110-linux-musl-arm64.tar.gz";
-        hash = "sha512-kgcEGeDfHsldkpAKFJhP0SJtpgToFUYIU/6mGGvpsDqL9ODHmyQ4EqxU818pPNJHtHjxvYlsO2U8tSaAjM55fA==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/10.0.0-preview.5.25277.114/aspnetcore-runtime-10.0.0-preview.5.25277.114-linux-musl-arm64.tar.gz";
+        hash = "sha512-sG1ip8UwDEp/x5VDgYDifBJ+lxV4+Ph0yMbXM74rZF77WbYz2I9mWMo028vItolnXLNlGmElmCBPwqW65B02HQ==";
       };
       linux-musl-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/10.0.0-preview.4.25258.110/aspnetcore-runtime-10.0.0-preview.4.25258.110-linux-musl-x64.tar.gz";
-        hash = "sha512-oj825bLubRUzuHcKmxuQuAU77SxhNInTtcopj0VT0M3Hmtn1CABYoc6GjHyD6/RyfeN551eu5F3Afe9SjlXu6g==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/10.0.0-preview.5.25277.114/aspnetcore-runtime-10.0.0-preview.5.25277.114-linux-musl-x64.tar.gz";
+        hash = "sha512-yZiYPbLNXoujcDkAhzkp2T8P+MalG0ZaJwNZcrp38MGactPLhULdsy/s0edro5cWJzkaLgD1qf4d985kg5LTFw==";
       };
       osx-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/10.0.0-preview.4.25258.110/aspnetcore-runtime-10.0.0-preview.4.25258.110-osx-arm64.tar.gz";
-        hash = "sha512-caTBSU5/1Xb+8RxckvzQ7Nkh/gQvSWcEpVqW/6UUXXk4xsQ1CQ4oXY/+FQwxHz7Wf3WxwePRktuUKfNPUwH93A==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/10.0.0-preview.5.25277.114/aspnetcore-runtime-10.0.0-preview.5.25277.114-osx-arm64.tar.gz";
+        hash = "sha512-YjtaKT+Y3TXTBfMRKBeSoavZzlV/MaZnOUPyC5KObqkYB2rY8hmD7FFIIGv6TAiY7o2SbflJJYOMzhGur2pVJA==";
       };
       osx-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/10.0.0-preview.4.25258.110/aspnetcore-runtime-10.0.0-preview.4.25258.110-osx-x64.tar.gz";
-        hash = "sha512-WqBom031NMIiW3gXDitS6LqItcJD5lXwqxxYoRNXAi98fX+0GM8UXX2CYT06OykNaKWaNNX+MyIcbYeHGbMFAg==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/10.0.0-preview.5.25277.114/aspnetcore-runtime-10.0.0-preview.5.25277.114-osx-x64.tar.gz";
+        hash = "sha512-IxZn7c9uc0JAwKj0DrtCjntWhcUYW6H6UNX1By7YZTP56UtpVRyL9sFtpN5N/UmA5qwl8QShzBUYp5I5m/ImjQ==";
       };
     };
   };
 
   runtime_10_0 = buildNetRuntime {
-    version = "10.0.0-preview.4.25258.110";
+    version = "10.0.0-preview.5.25277.114";
     srcs = {
       linux-arm = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/10.0.0-preview.4.25258.110/dotnet-runtime-10.0.0-preview.4.25258.110-linux-arm.tar.gz";
-        hash = "sha512-QD2cczE5iV4+piafBUpTJN+HC661pv47t0+guuYiVJYt9JAlwBsWIIXoxjPIm0sshAN4Dw4yLXiJ1doWwYbKKg==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/10.0.0-preview.5.25277.114/dotnet-runtime-10.0.0-preview.5.25277.114-linux-arm.tar.gz";
+        hash = "sha512-2SlNCqSiJOGnarCGhNgnWAhBtFoNlpU8MX70/ThYwIUkRVswJzT3btfVyUCyEv0Rb3pfExf3pEY6rb7JEJia7g==";
       };
       linux-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/10.0.0-preview.4.25258.110/dotnet-runtime-10.0.0-preview.4.25258.110-linux-arm64.tar.gz";
-        hash = "sha512-Bq9SPYENOvwxGoODDhrAOwGzb7/JPs45XulU7LI4rlqv1APzMDMocOoxTytWnyR0xyHBLHjRYrG/K1/QddbCMQ==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/10.0.0-preview.5.25277.114/dotnet-runtime-10.0.0-preview.5.25277.114-linux-arm64.tar.gz";
+        hash = "sha512-muJNZSjDAkL1N/LT462JuH6+R7rUQf1nMN9SZNE1pjcFchtn9DTiJRgJATslrbLjc01lDiM+bIccV51xMkCmUA==";
       };
       linux-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/10.0.0-preview.4.25258.110/dotnet-runtime-10.0.0-preview.4.25258.110-linux-x64.tar.gz";
-        hash = "sha512-GQKyMLHyAP7HdioUscfhQBcqFVvYMS1TOOopDJUHphvj7X3HmV5Xaeng9VsR3+LudYWmVOb0tEZOWUFUY8563g==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/10.0.0-preview.5.25277.114/dotnet-runtime-10.0.0-preview.5.25277.114-linux-x64.tar.gz";
+        hash = "sha512-7CHv9RsPi558nAC2zJ6c3YEJl8nSwZhwQsSM3Wv25AwlUqy/zaQFxWs8595Ss6IOa5HwaMbkvRAbiWwwKjK18g==";
       };
       linux-musl-arm = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/10.0.0-preview.4.25258.110/dotnet-runtime-10.0.0-preview.4.25258.110-linux-musl-arm.tar.gz";
-        hash = "sha512-lbpT2Zpfrx5mZ0e6zBn1kwEf/WtpQf9G7JACt3V1kYVXOKBliFr2cJnZq+bSnTYjNQVXysQzf6WZCJiHiNQvzg==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/10.0.0-preview.5.25277.114/dotnet-runtime-10.0.0-preview.5.25277.114-linux-musl-arm.tar.gz";
+        hash = "sha512-N7OLXKaeLLvdz69NfC0fZS5WNo88S8qELIzYH6EIolr79amshYVjY+puDhDIXOwDz/V+ZBaQ7d3wk48X03neMg==";
       };
       linux-musl-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/10.0.0-preview.4.25258.110/dotnet-runtime-10.0.0-preview.4.25258.110-linux-musl-arm64.tar.gz";
-        hash = "sha512-bi0FPzwi5PYN8urumja3st1caOX8DQPE1OUfm1FXpav63rCioK9IDMZcPuo9X6eNTbos86u+dOzMBvZIXh0JFQ==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/10.0.0-preview.5.25277.114/dotnet-runtime-10.0.0-preview.5.25277.114-linux-musl-arm64.tar.gz";
+        hash = "sha512-EPWk90PYeVaI+rG55zbNduBL7LWlaQPZYHzXaUyBoKrO6Uj6URvkY+fXGe+KqpzNkJnvKmoPFdlV0jjOCRn8nA==";
       };
       linux-musl-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/10.0.0-preview.4.25258.110/dotnet-runtime-10.0.0-preview.4.25258.110-linux-musl-x64.tar.gz";
-        hash = "sha512-Q5h6kWq2+S45MH7AXRDlDiPHJ6dDahQnK6hgYrdvif9OKINB8eJtbpluS2HyAGqsN+twDzwjAMn/J8O26fiCog==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/10.0.0-preview.5.25277.114/dotnet-runtime-10.0.0-preview.5.25277.114-linux-musl-x64.tar.gz";
+        hash = "sha512-cWsBVZtEMgwSRFnEYdyb56I5G2gOybpGoi93pzfrk8TjMjpzsRON3RV03MUJNMgq33q+eS1rvZU7iup5BhmUHw==";
       };
       osx-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/10.0.0-preview.4.25258.110/dotnet-runtime-10.0.0-preview.4.25258.110-osx-arm64.tar.gz";
-        hash = "sha512-OqAvgpqCTI42rs5Tx0esxvpBKZOK8E/jBePfeuBmbfFytgpoeEGg+Y2J0UJkT17UL6FNMaE6Dn3hQfnAz+mmWA==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/10.0.0-preview.5.25277.114/dotnet-runtime-10.0.0-preview.5.25277.114-osx-arm64.tar.gz";
+        hash = "sha512-i5UP3wmfNAIsuxGuLnNvo2081+EXIwlxIw6z4M2z0z82tD+H7m+MB2fFbmYZBmZnvPyOJnpvQWllucN7DJIVLw==";
       };
       osx-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/10.0.0-preview.4.25258.110/dotnet-runtime-10.0.0-preview.4.25258.110-osx-x64.tar.gz";
-        hash = "sha512-NxfTJJu4d4zjaWgB7VcRW1UrIEwEgNOvvrjm+j8XufTqibe0FU46vfWCfqEcO2PX4pHnYgtI4LWpox0RbAWUvA==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/10.0.0-preview.5.25277.114/dotnet-runtime-10.0.0-preview.5.25277.114-osx-x64.tar.gz";
+        hash = "sha512-uGB/aI7PBs+fspUEU4PXVlvCyQV+eQ93FqKsLQVsmva1o9ZC2Cob9PgnJ+C29rBmxy4sVO2Wn8Wt6jiEHYhAjA==";
       };
     };
   };
 
   sdk_10_0_1xx = buildNetSdk {
-    version = "10.0.100-preview.4.25258.110";
+    version = "10.0.100-preview.5.25277.114";
     srcs = {
       linux-arm = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100-preview.4.25258.110/dotnet-sdk-10.0.100-preview.4.25258.110-linux-arm.tar.gz";
-        hash = "sha512-DUJ5oLNYU85hmiNB/jwjdfFfr9/GfUioXKbB1yEue/CYz+v+SEVdrvmK2pNX/Fg1sH/7PFSSNGVNrDn+2GTMkQ==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100-preview.5.25277.114/dotnet-sdk-10.0.100-preview.5.25277.114-linux-arm.tar.gz";
+        hash = "sha512-G7cuus8JCj/DTdExGtY05PsA6kUjIKpo1iq7+DEhUYta5CucGJX7gE9Vz6zseAlcryPAzPRNAHaRLH46WgAXhg==";
       };
       linux-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100-preview.4.25258.110/dotnet-sdk-10.0.100-preview.4.25258.110-linux-arm64.tar.gz";
-        hash = "sha512-OMJfofQzWQel5YIQs0OxvtC0RE75SjNlWNcLqz8nY//XhhVeZmQPwI/Z/ZSb8GHE9pRR+rnApvE04BBKRAz5cg==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100-preview.5.25277.114/dotnet-sdk-10.0.100-preview.5.25277.114-linux-arm64.tar.gz";
+        hash = "sha512-6Z8DhYuv+htB5n62KRt+nraPyJJkCXlNRBaYIJK36ANW5VR753m3dCFsHseu4ja2R0Vny3wNgV7NGevHGwf5cQ==";
       };
       linux-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100-preview.4.25258.110/dotnet-sdk-10.0.100-preview.4.25258.110-linux-x64.tar.gz";
-        hash = "sha512-iJeINwYYlV8vsQAFqmah5hfVLIzQF4PXgZ5DaO1cYLlUGt8Sb+fjB7dkwPDyg6TyCcDSAX2ZLaRDK2cbc3ZbRA==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100-preview.5.25277.114/dotnet-sdk-10.0.100-preview.5.25277.114-linux-x64.tar.gz";
+        hash = "sha512-TvO8F3u6p7o4zreM8BCbrM6h9EMs2MUuPXiyN81akr1mDpJndANqL8tRF19I/+vIpl3KVruQW8jtTy7P2MFceQ==";
       };
       linux-musl-arm = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100-preview.4.25258.110/dotnet-sdk-10.0.100-preview.4.25258.110-linux-musl-arm.tar.gz";
-        hash = "sha512-inFNo+h7IdjYG3Cae45AHxrg9747rLmCn7hN4ptIxuc1UFABiszHL2Qt05Xo68CPmYfeuRQO2ouj8abL5BE47A==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100-preview.5.25277.114/dotnet-sdk-10.0.100-preview.5.25277.114-linux-musl-arm.tar.gz";
+        hash = "sha512-3kPLgWklkf9lCKm+4ZEH/gPmVRYz8D/WF88poU5RQtvcrtne1Aan6DnznY0PtLaqF0nCySW2PJPMFWdCBnmwwQ==";
       };
       linux-musl-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100-preview.4.25258.110/dotnet-sdk-10.0.100-preview.4.25258.110-linux-musl-arm64.tar.gz";
-        hash = "sha512-DvGTNB9FCheZbkeeQuaQh9cARzWJ8NjczB9OgHLxBM+D4GXjg2H5/crYTMgWqrC4B7grJCtvZ4WM3lknJeQq7w==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100-preview.5.25277.114/dotnet-sdk-10.0.100-preview.5.25277.114-linux-musl-arm64.tar.gz";
+        hash = "sha512-xQhcU5dKu5lJp3TuYTuyLKoiu1EIgylqpeDPlZD08Tvg4ucHTkBU+bG/CdINCPL/IjWUSV6Vb77q6FxQjH8Vlg==";
       };
       linux-musl-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100-preview.4.25258.110/dotnet-sdk-10.0.100-preview.4.25258.110-linux-musl-x64.tar.gz";
-        hash = "sha512-eMVLzIIt/r8dSXI4fllP97vD1woCYJOT9Nk66Q4svO+gCrwWpdf++CAkRqqQV965GU774t+DwHjCorm6Yf2UIg==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100-preview.5.25277.114/dotnet-sdk-10.0.100-preview.5.25277.114-linux-musl-x64.tar.gz";
+        hash = "sha512-ueSPDBuLIz8L7Rjv2E3DWz3/T2yEBSycykD8cBo00dhnRN6sDxVckc68PlQnYXCtC1Haeo5z5Zen09JGcmCMGA==";
       };
       osx-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100-preview.4.25258.110/dotnet-sdk-10.0.100-preview.4.25258.110-osx-arm64.tar.gz";
-        hash = "sha512-s+AtjwF4bom8T43nEebtrpe5eeJwl7JnOqUcxRJDBoUzJe3JvomeukuoG2dpLNgeTHujiKFfhc7roEBPG9ySoQ==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100-preview.5.25277.114/dotnet-sdk-10.0.100-preview.5.25277.114-osx-arm64.tar.gz";
+        hash = "sha512-GFo+NBuSi6GyGPt2n7DYz9cWLFZ8zUaSj/znTWBpugxJHkTpBihVM1KDp0fpla9EUp62/OBtPAnFybCmIsOTYA==";
       };
       osx-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100-preview.4.25258.110/dotnet-sdk-10.0.100-preview.4.25258.110-osx-x64.tar.gz";
-        hash = "sha512-W4sGZhLE3QnjlVc0zf+7pwPObgPUD2iLSxNnmAsIQHrgeyNPUhnyIl7C222B7d0CxK+6ZK4QrDGIKnG2ARdTng==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100-preview.5.25277.114/dotnet-sdk-10.0.100-preview.5.25277.114-osx-x64.tar.gz";
+        hash = "sha512-yvcOuvEYL9gD5goF8veTq29pAuw2W9lLCZAmeXCfsq72EioDJW2005NvM7mPZGI+jtoMZM+K6QKCnCPnRZhxSA==";
       };
     };
     inherit commonPackages hostPackages targetPackages;
diff --git a/pkgs/development/compilers/dotnet/versions/8.0.nix b/pkgs/development/compilers/dotnet/versions/8.0.nix
index 335ed36c84c7..064a5355d85f 100644
--- a/pkgs/development/compilers/dotnet/versions/8.0.nix
+++ b/pkgs/development/compilers/dotnet/versions/8.0.nix
@@ -11,43 +11,43 @@ let
   commonPackages = [
     (fetchNupkg {
       pname = "Microsoft.AspNetCore.App.Ref";
-      version = "8.0.16";
-      hash = "sha512-MR9FAOeqTC6UU2XS6s85l1wtrEQBn7/3nT/j2NoSEmxaYC5C8sJQQruOgm2RsLbNltiykKWQhutv9YJtZdsfnA==";
+      version = "8.0.17";
+      hash = "sha512-7CBEGt44FE1zkTlbWuztY05SgJsBe4NTVQUOgCCEb6Y/SwHW3hcBP/H7Jxt5rWBCmVB3Gn8THi+fldHe+g3V+w==";
     })
     (fetchNupkg {
       pname = "Microsoft.NETCore.DotNetAppHost";
-      version = "8.0.16";
-      hash = "sha512-aALkqzq7+6p6/yXuUgiGinbvn6JaG+OCe95pSGM+yxtqMYCYmzX31n6kU9OPTn9VdgzW8Xs/ZDIlzAvBRC8JJg==";
+      version = "8.0.17";
+      hash = "sha512-3d/oVZzNM1+MSLPNdeassLrOlgZuFcSEZ8z9JjofhRdPSLZwVPuYiX48ylLlyXiY6WdMGn6i2kcHI3NUZ7TQmw==";
     })
     (fetchNupkg {
       pname = "Microsoft.NETCore.App.Ref";
-      version = "8.0.16";
-      hash = "sha512-vEEL6YBpGBdlV4x8i/p/KFJrNIBG3az+5ht8RQW3YIw+WmCL1QVRkiPEvXVSSmEkaPJrH8c8mMl818AE/S5CWg==";
+      version = "8.0.17";
+      hash = "sha512-SVpn42wW9M6HI16kOeaM09nw2SlZsgsZCHTzBPBGrVRDblwcUV7U6MxMgH9XwrqSTziAZgLhIwR2BHvHwvoxWw==";
     })
     (fetchNupkg {
       pname = "Microsoft.NETCore.DotNetHost";
-      version = "8.0.16";
-      hash = "sha512-LYLsVR9dlV8GsIXn4uvX9l0JitGP/YqtYiTp7JiTN3wqvlaBLDwocZ3GBOwDiASzlmyu38oDtDLbF75ohEELvg==";
+      version = "8.0.17";
+      hash = "sha512-Hh4MgVIOGGWATWiysB1uCATWEW/nwNaYtQcTpkVJ/NBJmzVrwx/GQQBYe0uZwiRQ8npGEBvouS0tha/5zjIcPQ==";
     })
     (fetchNupkg {
       pname = "Microsoft.NETCore.DotNetHostPolicy";
-      version = "8.0.16";
-      hash = "sha512-52G/zHYDyNRghtFkuOo6I9pXwsd7qkzH9WLKmOVdC+X0LXKDprE7YISR4EuiErNc0OE1qKhCNdhjyr6W2c4PMg==";
+      version = "8.0.17";
+      hash = "sha512-KzLfeiD/vvTNuuWwq+yzUP0anje9vbqC+COuV1lgsD25zyUAyJwYthDVyhYdZ07aZNs7V1bx8yoMcUUL+ql3sw==";
     })
     (fetchNupkg {
       pname = "Microsoft.NETCore.DotNetHostResolver";
-      version = "8.0.16";
-      hash = "sha512-R/LLslGX8t8qwOGsWReybSsGiXuKCdOSdH5Pb6VBiuqgCuygU2rLCZPdN2dNH1WcPqAPFJFW3fcjdc9J3mElhQ==";
+      version = "8.0.17";
+      hash = "sha512-490ItCA3f0tB89YK/p9mf6UB7w8tNusrjUYRpzXomG9TtOScyKaFmSxvRHaaeWGT/bbOpaitLSaWKKnnAxFKkw==";
     })
     (fetchNupkg {
       pname = "Microsoft.DotNet.ILCompiler";
-      version = "8.0.16";
-      hash = "sha512-OEv1V1AQb892jWtsrylFlewn9SDwdxRDSCSmhDcpJOqz39CBgg0zEH/dM+LtWMne/uwMBtN8Kt4oUEfHKzWblg==";
+      version = "8.0.17";
+      hash = "sha512-47EF7FIww1odYFPgGkZdkbazfOhxVCH5VfvU89ht52DzsdeRun+u53SKRRQewcku3M76JXlPAUaWYF9YEbRhKw==";
     })
     (fetchNupkg {
       pname = "Microsoft.NET.ILLink.Tasks";
-      version = "8.0.16";
-      hash = "sha512-Pz3s0acdPIqpr6H45samMDpqa25Mg/DXcrlRfVySBCznpNI613r3MnMjCiSzYaDhi4HbvTl0+dkFcUtccmQ6Bg==";
+      version = "8.0.17";
+      hash = "sha512-P3X61aknNd61nNPPeRvxZmKaX35fNrlmcZ6f2EqSmRFjSmVaZRY5AW1jHx+P3zyc+f5sKVvSDSe+cBwM6sIsKQ==";
     })
   ];
 
@@ -55,118 +55,118 @@ let
     linux-arm = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.linux-arm";
-        version = "8.0.16";
-        hash = "sha512-jBdU93KORqByySIYxL9FmzjC36WNKQ0HcGT0EkvwTmHh0CxpGVoH5icQYtZK66liLsLbgR1B654GpISLsOvVJQ==";
+        version = "8.0.17";
+        hash = "sha512-8NI7LrwgScvsfnIvIutWgDBNZv52afHUqTkQhiOYXg7kRUQ9VQsrV3wR+hnHo/WGlSibGcNBHz9hXRXGL3PApQ==";
       })
     ];
     linux-arm64 = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.linux-arm64";
-        version = "8.0.16";
-        hash = "sha512-CAnPoJS//D5PAZlA+/4dHGBP7RMdoo0kmG2kUOw0muB+bqsXIQ/Wdw4ztrgPC++BZlkwL9CLWWNk+fW/8mAuKw==";
+        version = "8.0.17";
+        hash = "sha512-qNBOlNW0AVi2ZzOUgYpQIwr8ZFkY/64+59pYYwG2+SMtkwTJdOYTNX9N03gODk7tUsIzJpZ7aBLo6KKMXgRX/g==";
       })
       (fetchNupkg {
         pname = "runtime.linux-arm64.Microsoft.DotNet.ILCompiler";
-        version = "8.0.16";
-        hash = "sha512-QMSFoSYbn3TUTWVnr/1ViHjgOhbKaoYwUrSXxxrlPdOBoV1rL6kwF4loEF49+6y7Ty1Q/Vl7ZvePYi9GbQzooQ==";
+        version = "8.0.17";
+        hash = "sha512-t5PXM7/aThrr95wvivIB95usffttNzSxLKlCH/6breXbQ4pVVD/rRIvfQbsC+z5S3cqkyfr7bcbqdevY2i7zzg==";
       })
     ];
     linux-x64 = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.linux-x64";
-        version = "8.0.16";
-        hash = "sha512-7jFOBzAAjlw+RW85zQ4kuHw/BL+4RWxC9KNBfYUyOkvqjxhlTAS3oIO92myQsjEmm0VSrxck5HnTytcc8kxyiw==";
+        version = "8.0.17";
+        hash = "sha512-MIU7+TheXyNxkcnDwBhQMLc09/id6XFqvxpZZqMQ84UH18/56YAxsPmZdkKPCXTmQhcPO45//vrDYP0FfrRHLA==";
       })
       (fetchNupkg {
         pname = "runtime.linux-x64.Microsoft.DotNet.ILCompiler";
-        version = "8.0.16";
-        hash = "sha512-kOC6DR5x2UtVDPDzwj3ULdvl27F0Q3rRZWId0d67tgqWCbp1dBf0RGounczSKP7J4c1CahnBVXTuzf/WznOYsw==";
+        version = "8.0.17";
+        hash = "sha512-2Pg0cRKKLlIs4ZJP3p97BYAXG6Ttnl/4xC0EMqvpiigljSSc/4loJpEceFjA9SEcBISRtm0yg5tB9CKUY7JGAg==";
       })
     ];
     linux-musl-arm = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm";
-        version = "8.0.16";
-        hash = "sha512-MZYQ4BYONhcpg07DLwMTG6HlAo+Q8m6pDwho3+G/YUrajvoMHbg3Y2Yw9XvLoGa5Cw3dUXa0eWiqx3pOuLuFpQ==";
+        version = "8.0.17";
+        hash = "sha512-SrlXcJ/A68zSy3e+NOYPB+7BCjjKE6QjSxKEAkdaNBwBBPvMC94tnYUDxKhES/6Je9guGE4LF/A2nEe2RNeejA==";
       })
     ];
     linux-musl-arm64 = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm64";
-        version = "8.0.16";
-        hash = "sha512-jjkFD9g7N969HqTen91WEtcI7up91yKjR7C5S3BEzMpPDFJO2Y7Zuq3/8fz/h2emh+BQUYcSVBDHuOsfN01QDw==";
+        version = "8.0.17";
+        hash = "sha512-FAOcrRdUyHU5QBDf+4GSjyTPb0nw+NhdF4hkQjsKuzlmUdbY7jbsEY8xr8nfOw+dnKNcj+4N0VGlqKT5zKnZOA==";
       })
       (fetchNupkg {
         pname = "runtime.linux-musl-arm64.Microsoft.DotNet.ILCompiler";
-        version = "8.0.16";
-        hash = "sha512-+1sNjZRW3W7rPdIyxBKO4tNU/DXwpQ6d1FmfEqnVJbE5bFEQ+5WALIXP/0TGMI9U3N1xwRaHoSXVvTvSdw4wbQ==";
+        version = "8.0.17";
+        hash = "sha512-YJib2fbiDQeWrEoAVAyVBa+ASWXJqjHyygr/9N9qHWAIuQn4F9PBkJs90ZBkEGxFhLGOsV0dLv3QSSfn9G9anw==";
       })
     ];
     linux-musl-x64 = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-x64";
-        version = "8.0.16";
-        hash = "sha512-ZdKdJXNFjLJYbsiGn4v/l9fFh2tysHXsNgkThb8PGjCparmv7RoNOq2ledsZBNAcWhHMU+B64tWFiix1rGNbkA==";
+        version = "8.0.17";
+        hash = "sha512-9AZNX0abD5AXz0PARFGU5N8jxBeuEAreZrMcsjuWqm+diyA51LCWJeGkG0HJ1XV88G9hSLn3gTCadhPKiYe8yA==";
       })
       (fetchNupkg {
         pname = "runtime.linux-musl-x64.Microsoft.DotNet.ILCompiler";
-        version = "8.0.16";
-        hash = "sha512-lzi29sKhg5QjgPf9NTexxX37iYqQUagpiPq0OT6fmVNfCrnzcAjYjA0klEAZlGE/0Brh3dhmsKUsXEZy8p4sEw==";
+        version = "8.0.17";
+        hash = "sha512-W/OdiSQkTscKsj2LZ6/Js80unCUQeQFPFUheOIayF0jeXZxBz2mgCv1W2bL2N6dQu/XzY+rcdAVaK84EctpyBw==";
       })
     ];
     osx-arm64 = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.osx-arm64";
-        version = "8.0.16";
-        hash = "sha512-Hv957R9MMq2DFCVuf0AiX82IkAWnJ4sDr5anJwzoCQRgTsXqwg8u5jqjDE8Wo5YIK86muWeNgk5DV27j+xsrfA==";
+        version = "8.0.17";
+        hash = "sha512-Ld0Qg6YLHXSqbizrz4a0ycPfuty79ZK4zwAcguHZNS3GplRI9yJPbv/XXa7ENiSMOiFTWZjCpZ9mMTkJkLj7JQ==";
       })
       (fetchNupkg {
         pname = "runtime.osx-arm64.Microsoft.DotNet.ILCompiler";
-        version = "8.0.16";
-        hash = "sha512-BP7m4CEg5ggvyBDlWVVbQBlU1T7Jahnf6+Emt/3w3aXbdNp4AD+1jcJaaIXV+/A1hru5H9hmSsiIEuJsCjbEGw==";
+        version = "8.0.17";
+        hash = "sha512-5sPZOZbgvw1k9mDnT0sQgYC9L90+Th2RlZquaEK4vYYb7NqwYddV6iipqF9zghrMzztK85Pym2bJZlKSn1fjsw==";
       })
     ];
     osx-x64 = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.osx-x64";
-        version = "8.0.16";
-        hash = "sha512-aRrl44G7/Vjy4AdrPEHIDefm5ew0VZXNq7GPaszXq846V38VnJhAU6zknNyBqlYzEAtNSyCaBXKtPrz5LsxqKg==";
+        version = "8.0.17";
+        hash = "sha512-w7EnpLx0V3N70/DdDyJCQV/rF4xtUTNKX3Ii4le1dTb7DxvqkplJ9Vf2y7l50i4dW8UEKtdfBED1BUGJiDx0Fg==";
       })
       (fetchNupkg {
         pname = "runtime.osx-x64.Microsoft.DotNet.ILCompiler";
-        version = "8.0.16";
-        hash = "sha512-uk2pxu2NzxhLIdy85gikp6OCBUMYeTPCYt9BDQefc0G6eqaEhPDloc+WocqWLYs+vX6IM3qEhL41aYaY8KnZQA==";
+        version = "8.0.17";
+        hash = "sha512-hR1mk1E3E8bXdt0q1yFkB7HlT5vJ+BTbrNswKt/BivmT3/qgjTAyJI/24FNkmPKg6e+k2+stvV9vMxFjNWcWbg==";
       })
     ];
     win-arm64 = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.win-arm64";
-        version = "8.0.16";
-        hash = "sha512-m6WHjEfXIHp+h+q4KSWknLGgM+zfyDF3P2GSftA8BA2/u/HD93CK0FxatQR6m8YB6Bd9vpx1kUNVqBqmAmuObA==";
+        version = "8.0.17";
+        hash = "sha512-F7MdXMz1cekBW9GMQ+U2CuFoMpBcAgkecJgZt96YfJEyCXVJotmGTMHB2pYoGBz0TU3307tg5JIfUd2d2Jj34Q==";
       })
       (fetchNupkg {
         pname = "runtime.win-arm64.Microsoft.DotNet.ILCompiler";
-        version = "8.0.16";
-        hash = "sha512-HCWrW2RPsSmsoVvHW1oh9vogOeqNLqmseahNP6HJbuZVnU3pw20nvHBm67547Upx3C2um0Y2Eix4UOwUzmAckw==";
+        version = "8.0.17";
+        hash = "sha512-wgx1oeWwzdttunh9nnm4HXv6REofxaCTzmlBGgffonufjSK4vkzr/dLsq5bkV7Sj+/5sOc6qLesIwx7nUChllg==";
       })
     ];
     win-x64 = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.win-x64";
-        version = "8.0.16";
-        hash = "sha512-bt6PWTJmhE7GdZBbF+Dtue0cGlvZ7ihUSLivLxpoHH3ANwITJqnyPWllxrfflrDfLCaDBE6WspQ4jeuepiqShg==";
+        version = "8.0.17";
+        hash = "sha512-ccX5RLNKPjmuagvmwkiONFgZuJa7qWFGCPjDm9WSK4efJ6CYFcNJmfTLHQMZ+fgyGzTnD2A5zMP/0Ot1o7xQEQ==";
       })
       (fetchNupkg {
         pname = "runtime.win-x64.Microsoft.DotNet.ILCompiler";
-        version = "8.0.16";
-        hash = "sha512-erkrCvfM0GCpctVlMtRk2nwDkUhFWjcTg3stKRDK9ALvtgNVICghe83UciBKlCvhmq9BtwrEECrqst9nimTeZw==";
+        version = "8.0.17";
+        hash = "sha512-gqi233hXdnvcE7McL/G+TR/BN+MYrmau1vL1E2uXmtdE+GB/pPWQXzYnxAeRM6jbC3ku0YKsAk+5lnRaZ5dsXA==";
       })
     ];
     win-x86 = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.win-x86";
-        version = "8.0.16";
-        hash = "sha512-OPX3Dr6avujuCFr++QsKO0M6wmldtpNVoOLw/vuAfx4os8iMjD3/0e2YhLNPakFHXm3F7tAs9ArSFcrLISClQg==";
+        version = "8.0.17";
+        hash = "sha512-VsSVyCQbOvBD5tFuWknajmz57qGHqwP7Pvts+o6SJ5UEUSTPPlzREqSfb1oIntmkFgfFGOZdc/MeL2hIQdADRg==";
       })
     ];
   };
@@ -175,566 +175,566 @@ let
     linux-arm = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.linux-arm";
-        version = "8.0.16";
-        hash = "sha512-zQtpJtQsIwiRioQqNHA+gyfYORoYk96PJMd20S3dJRTms9zJarx44X9gtZCHxXeR1D3/XfKKAwASfTV87EsM6w==";
+        version = "8.0.17";
+        hash = "sha512-u9hkQnH4virFn25AXmV9TLhpuRXfXiBmx/q+uSWaBz2CZmT/EY6e0kRL5gg57gtlfkItKg5rgXnClk2gWvmIQg==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.linux-arm";
-        version = "8.0.16";
-        hash = "sha512-fXnAL3PgEji1ztgKsuqXfuV56n2FZEzVgHX9R2HSsV1yEfAypwHDNYzB7bW+dcWsmzijD4f60UJJOmlYuY8sNQ==";
+        version = "8.0.17";
+        hash = "sha512-0O+bU5EYdrFo3W0z7kHqfzV8r+hr/mboeekd/ObmPERfXYhn64W3qI0g3YfO+KHWiCD3rTju7gM0odZXXFu6xg==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.linux-arm";
-        version = "8.0.16";
-        hash = "sha512-DV5JG9tZMaGgcT3sHWriN0w3drMJ6kEmYFKHyt70gt0d1aBxhZrWsdjAq2oVMSY4qlWyIszrQff4MObBWRluyw==";
+        version = "8.0.17";
+        hash = "sha512-bJUphLGlvIBzrN/VwTEJnrI0ul7mm1GiG5HzthokhjE53M2hdPw1jFEpp9A2wFOHAuj7rTJFfkJwyrmVoL2TKw==";
       })
       (fetchNupkg {
         pname = "runtime.linux-arm.Microsoft.NETCore.DotNetAppHost";
-        version = "8.0.16";
-        hash = "sha512-ZOM5DcPvB0lfJwbt3kNcs6fS9u/58UuqV9FjodMc2vdDVhwicmolnvEnsuV/Y+3Yh9qLTGh3H1XY9IeIuvelcA==";
+        version = "8.0.17";
+        hash = "sha512-UOJ/eDhYZLsxGAWndocXEvpsKhxK+qkpTz6rBhsfLzJ0JMH3sYqSO4JDJV9rECYrkrcMbI4DjMJFQL9iNmyQTg==";
       })
       (fetchNupkg {
         pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHost";
-        version = "8.0.16";
-        hash = "sha512-3CQk9N/l9/3nV6tgpiedyqy+oNFL7T7WNPWF4whUGm7yLkJsoFtw6Pc5LwyT3OYyiXdEnPbAkDBQuNpJ+zaBkA==";
+        version = "8.0.17";
+        hash = "sha512-SHuKMrh4ogiLsi6KGG5ziwKdu7ipPWKF+pjNi+lpXOhaSquyxiOQUSaHn+Cw7gIpunuJbnpHmWjSh3KSYgRxSA==";
       })
       (fetchNupkg {
         pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHostPolicy";
-        version = "8.0.16";
-        hash = "sha512-I7DsyLTf0ZGXu9L3D6iSp2dw+PkuDBa+vqvfl0EdSRjgE16nraXjVGh/SK2ASaJi351xbboEpRqewZcWTCKxWw==";
+        version = "8.0.17";
+        hash = "sha512-n8gVagaXe5iFgulX7xVJBCV7YHYuaxI8+ExUb2mRqFJ6Ova8Z99vlqANna8PiGbkVzy6FqoS97gguMfa7eXnkg==";
       })
       (fetchNupkg {
         pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHostResolver";
-        version = "8.0.16";
-        hash = "sha512-7h6k9pSSvDXC1TtcmKykPg0Oz3k0MNfahqQpBQAEtxZ4xVCuGk0rkzheWqvbLSehVIk/9PFtu4ZeO0dH4rEgBw==";
+        version = "8.0.17";
+        hash = "sha512-Xij6YAKzsmctbLeLJES2CKFnACvnCycv8EMOPPu7DcNnYHg/OOsUe3ObfXeKU5yhCW85wSM2NFwPiv8eO9Xe/Q==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.Mono.linux-arm";
-        version = "8.0.16";
-        hash = "sha512-YBhocmkKTz5ABulIf3WW2NjH85W4O1CVysmY1LgWCMlTAX1uw0MRaJMtXUR7COZLHbHXNAPD7FNwuuYMgmIhUw==";
+        version = "8.0.17";
+        hash = "sha512-7AEQKppA6Meq5duC4IrlJgoyfwJLNpsBtbFfaoKhUvvPfyPjpI6rT1GtXVafMGeclVEMjW56PPv6W9kSHTD3GQ==";
       })
     ];
     linux-arm64 = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64";
-        version = "8.0.16";
-        hash = "sha512-6ju7d3rPYcKBvwZKr/z2RQ3ctBczul4JO55fttyOA/oifm1LUAY3TJtgagAF9pf4j5HuCoXTzvV00ZZEqtXLPg==";
+        version = "8.0.17";
+        hash = "sha512-HJ/MHBFPWz0jeIW/8uoqHi0zmw/pY8SafYfG1l7I1vQhO+scdPp+W2dWFyPT7atiOubc1JC+ozrA3E4bLguZmg==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.linux-arm64";
-        version = "8.0.16";
-        hash = "sha512-15ih5bce3YmsSs9MFp/NH4UY3/UMMyRs+4TKWolHguVkNbPcYdWg8YL0Fhr4c7A7wAnDHhCCgSqmcOFYI4N1/g==";
+        version = "8.0.17";
+        hash = "sha512-zcgek5WOy0/XY/kRbE8DQpRM5zdDWlO6JV1bfST6hKlawEeMX0h+Amm1VdYA4SxHehgPuDvMM9NQo0MLUOiMMw==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.linux-arm64";
-        version = "8.0.16";
-        hash = "sha512-MGj69hsPIe4e5Z6HXS+T2KplPzuZqETZLSP1oftted94gXOO1KOHJoDd2VbBVBpooMfqaeXUdw1NtgdS4NDLJw==";
+        version = "8.0.17";
+        hash = "sha512-oFYo/d2Drv7914y3mzKdJ/18Gshple5H0FRsXUvCLWThrlYCFyjyhmEyToOMXLFHP1HWQ19xAzZPs9pN/AtePQ==";
       })
       (fetchNupkg {
         pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetAppHost";
-        version = "8.0.16";
-        hash = "sha512-XwkekqnJyq3V/rXSu1WZlxzihsjvNV4ZbTQnb46583LeUJbG1o3ra8EofvxA/jA+ryXMpJxaQmVRNODJy1kIsw==";
+        version = "8.0.17";
+        hash = "sha512-/E7gmctuYf5c45e5VREjE+BvVrVDX/yHoRTpCpeb89TE/a4q5BSxRNutlNlR89JKGRNEN5hKOGSpixNN30NJPg==";
       })
       (fetchNupkg {
         pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHost";
-        version = "8.0.16";
-        hash = "sha512-wZCw0LIMH/WIDqiIU8zHyOg+EWExwu3S4T1JMTd6xra7HXGWlHQKj14A6P0d946lOVqjLxfW6IZXdgmALTan8A==";
+        version = "8.0.17";
+        hash = "sha512-DeNAP4VlvWX4hCek+RuQgt0C+QYBTpY8LBbIer9S1QXH4gM28BGtOzBUW5xeZ2nUik5QpP3hKPQk9UHnJQ8ABw==";
       })
       (fetchNupkg {
         pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHostPolicy";
-        version = "8.0.16";
-        hash = "sha512-9u78cVhiXQWJQsE2xxGcx2hbvaHImV1RcwtxIt9jjhh20SFJ0SoK5idgSbSh5q/63WfMoWKHPOkT5Er/whQ/3g==";
+        version = "8.0.17";
+        hash = "sha512-Aas+h9qheCOnTGOclCdfq3FeqTQN9+qhw9v5Wc3UhMt5hxkljzRhMKWPTNokM+erTb62C0RfFmNnEcUmm1M9fw==";
       })
       (fetchNupkg {
         pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHostResolver";
-        version = "8.0.16";
-        hash = "sha512-4PjcN/ILs694XXBFjzrxqBsqzqAAU3UwwPkn/DmZYgG+oCvNhToiFYMOmHRSR08s+bHevGbDkpC7tHAS+S+UCQ==";
+        version = "8.0.17";
+        hash = "sha512-Gg4T5ZJNQO1Ov8X3qB0gT5Nd57bD1uDgJFChmpdb/qRj5c6mHN42Nz1POnvz/ZxyIBZqTXSAK/Sh7hYwhnO6Cw==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.Mono.linux-arm64";
-        version = "8.0.16";
-        hash = "sha512-qHM2tlnjKfDdZ6HWLQ3Ffo2lIgW68VY4cAy49Wjhj7k2dGf8Aj16bWpDxo/WEd9PrsXeKaggdFTHwsv82lpDZw==";
+        version = "8.0.17";
+        hash = "sha512-u4SWuPRUXOxPTwHv6V2ePpZFw+D5/mE+zlq+vgk9B0odHvArhLFBsxSdq2OVzjx7T6OXnm664ySu1mWuZiRtLQ==";
       })
     ];
     linux-x64 = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.linux-x64";
-        version = "8.0.16";
-        hash = "sha512-2/VRY3SLruFnV2eziW5dl5KgIzB6mIqXfPD8A0yLQ4+0iYqnU5jjCrhSlvcy2xtH+tqkq4DAjSoJ83UjZoxg4A==";
+        version = "8.0.17";
+        hash = "sha512-ksN26mFXeA3pkdTQIuhEbODXXhTgA24UoJLaj02Jr3OezARLCRs/kg4FIBpazJ2I0xI5oQPe0b8BiGQlW6Vt6A==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.linux-x64";
-        version = "8.0.16";
-        hash = "sha512-Cf3ePr98FaAHMX7mTGTEHMHHPvLlar5MktJIHJFda37u7RX4UYDABk1J60EdOUdXmhVQQ5gxZyBlD7Zj2ZjQaQ==";
+        version = "8.0.17";
+        hash = "sha512-SXqdnf+0qa3qjodEeBKQyjK1EOh50Fzymiz6PtOfWkcAESLXlE+UtImtxuE9tvjUwjBc2Z1zeiCyaGOhpVzh3A==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.linux-x64";
-        version = "8.0.16";
-        hash = "sha512-13QUsacD+oc6WO516SyH1F2d+QgfFMGzdzIEMMZEDNKCYSZuYDL2R6Qs+9kTfiFHZgt7P/WAAA3UV/QxlxlQQQ==";
+        version = "8.0.17";
+        hash = "sha512-7bIfsRP0cumDeTb+iOYm7+gnWLDx4nJcpM3OrkAjZS14CmQfWzXckmspd12sOHBir3gJaJiBLn5IOhuneoN2lg==";
       })
       (fetchNupkg {
         pname = "runtime.linux-x64.Microsoft.NETCore.DotNetAppHost";
-        version = "8.0.16";
-        hash = "sha512-6/l2nBV8h4meBgQPsthQw69pZJNSmbtmLGKaHPfzIlPHD6A2zI3rVjvmgU8Ahn6rL6/TnZTpC1KdaWzRCsdGZw==";
+        version = "8.0.17";
+        hash = "sha512-ISu7M97fzDxM+s5dlutK/xuI0xj6yOAFgTZ0F6EZSMmwoNRN/SOXFtwnMQFoDCyNsTFP1RRIyHB2GHBnWzkeeg==";
       })
       (fetchNupkg {
         pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHost";
-        version = "8.0.16";
-        hash = "sha512-lFK5CU+pkCWqr/mmRec63X+tdF01eZmaOcdc6K9lTV08hS0rPl2F1UK1RmOn1eZSMD94w2M86LZKZNLwI5E5FA==";
+        version = "8.0.17";
+        hash = "sha512-FPBQGj1ec4f56WOS2vaKfQcu3ddB4N6aiW9ptDGnLslTs1SqLs5ROthMmGSptfyXVMaksbCQ36Dt4FlfKaQ0aw==";
       })
       (fetchNupkg {
         pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHostPolicy";
-        version = "8.0.16";
-        hash = "sha512-UiaOuNRso4nVM1DzBL3i98WR9gnLg+DnQaK9ZXVu+jXsQ/19Fi92A3Lar5H2WIbtaQcngbYCG2HXRkVYdtHsUA==";
+        version = "8.0.17";
+        hash = "sha512-JoUr84iXSEzSt9qob5wFYBdvG1d0OalPBqMHKUM/W0MoAmvrAB7TynbY62B0xB/pH4u2th41AD0teAqJrFWLCg==";
       })
       (fetchNupkg {
         pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHostResolver";
-        version = "8.0.16";
-        hash = "sha512-TqzAj3Vdql+FVkkAvrCVADoCfjBkryuFuYNPI6VnriQgMBHPbeD+In9hqrbMdmjTGtdXMbqVYSZttlJwvwpVaw==";
+        version = "8.0.17";
+        hash = "sha512-VlGSzLStxk86aalHNQ7lMcr8KaZ2OyOqklv1rXT92cwPpkY1+F/yrCOa5w4OIKL9CmPPfOgCvhTYq0sDPeKiSw==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.Mono.linux-x64";
-        version = "8.0.16";
-        hash = "sha512-xUyQ40LnE8H82Vi8wU9zKjiW+u/nsOnyKYUnPnEWhDvpF4xsJOC2bG7d8zXYKhFGGbBw/nCw/b/alhGzIfy2Iw==";
+        version = "8.0.17";
+        hash = "sha512-QprkNU0qUh1rafUqBtf74gHyBv333CUbWqAlet4lfMGO5fUkriLhvckuRYGwAdB9UuN/p1gNqHeMBddqwrx62Q==";
       })
     ];
     linux-musl-arm = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm";
-        version = "8.0.16";
-        hash = "sha512-peJrVIokSCtP06QIUP5YXSPDysocDOaMFwnFWDhNqD2qZFluJVxTxS16WHBNRhZphQ05CflNH0gq1HMpSeV5Jw==";
+        version = "8.0.17";
+        hash = "sha512-4gpidP+3KgWOg8V7X3QZb1bHRY6DuZq7k9JgUETydSL7s9oVKEF8OU6Uuajmxn5q2HjTII7UO+/Ost//wXxJgg==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.linux-musl-arm";
-        version = "8.0.16";
-        hash = "sha512-HTIcDrg9ZYCTRZv4nSftTxe7UhFYomff2fMVqRsX/4QBgeuF72KIbvAihv4wPBDNh6RSAC+qPVtZXZCtJO0AEA==";
+        version = "8.0.17";
+        hash = "sha512-fkY3BYk1K5zhi9MDTU/+oAz1o7+BzMaghJf7wDAnrIa0Uv8rHH6QFlUktqL2XTQaQyFi9AHKRwk6+qMVNMygjw==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm";
-        version = "8.0.16";
-        hash = "sha512-9Wj8HvYDiJ6YEqFtyTnxeKKHtCSI1PorGAsuuA//jCqX2WqEEt9+vVcCZLs3ge0S/3vEwELeu7xPXabAwiIsyA==";
+        version = "8.0.17";
+        hash = "sha512-eIlHY8UjZ0/h9fB23z60HXc0ZZgHsysSTivqkO7TEajctBS6INfqvCqQ5xJsM/3al61rZhZdJdIuIg0mQ7ZuYg==";
       })
       (fetchNupkg {
         pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetAppHost";
-        version = "8.0.16";
-        hash = "sha512-RfJHtnXtwALzUNOvG8FVqvfEEhAQ+KzgzTK1p+hf3qA+X79iA9Rwq9dj6RHE8Fjt3FMXb+8inialcu6/+7/Lvw==";
+        version = "8.0.17";
+        hash = "sha512-UuP+BTHKYuNk9efX3dLcnqH+tK4uCObd4a3JH4was5IP9lrPlTst4shN+CrVASQZ3+1Mv+ofQCQzYF42sRN6yg==";
       })
       (fetchNupkg {
         pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHost";
-        version = "8.0.16";
-        hash = "sha512-V0vfD3Z+O/2atM3bJivfm/BKo5QUSaqroFHuYi1jVilICslvVoDfKood5wgUX91T/TKkVzGG5kZknxgaylw1AQ==";
+        version = "8.0.17";
+        hash = "sha512-3zek/zAOEojwKUANBjeWlnsPyWbbavnJ3o4VHMdmKR2dRk5TPU1oy8DC7vVk+rd1J0V6hrokxagxYL1+mh7sMg==";
       })
       (fetchNupkg {
         pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostPolicy";
-        version = "8.0.16";
-        hash = "sha512-GpOecd88g22c3eMXwE6N4fa+dODPrMyC3xkbMOivdqH1Gt6Qmj/VF3OwnwhFMaaWXILCI7wkU558D5mj2IcbLA==";
+        version = "8.0.17";
+        hash = "sha512-OT2bIhD7vAgcGQy3T9wAuhCch7euvV7LTM9u06XVt8PfBe7ws2//NWklbN205WxR/+zKw9LA+WV0+ZluaWPwBg==";
       })
       (fetchNupkg {
         pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostResolver";
-        version = "8.0.16";
-        hash = "sha512-+wj+u4y2B7RI6FbkJJN4uKtkJploawLSRUc85tHfKSRd/VWUVrg+NQ2Ii4YADE2aaP9x1yVJRei8tChJm9XHaA==";
+        version = "8.0.17";
+        hash = "sha512-XIJ5AewwwMSntIdaU9wjGq5nnC7pt4Je2rOT3caGAZVUbMI+TLdzjGC4ySIG4EzHNdb0ioazDlpm59XYxFjtyQ==";
       })
     ];
     linux-musl-arm64 = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm64";
-        version = "8.0.16";
-        hash = "sha512-N0D3EjGiPUbiA6TscqS8k2F7DqZqtjYOfFQ+PPfDWAiGP0/UvuX2HtOYxEALNUGzn90KtMXJUBfI/sKjxCQp1g==";
+        version = "8.0.17";
+        hash = "sha512-Hi7EwkTaHTX+ORY78yBJfQIa0Li6QTM+bCgYwiJS5piw4mNbtsqg8JnzMTBTyL8RcC2Az7skktgUqrnQYPbE3A==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.linux-musl-arm64";
-        version = "8.0.16";
-        hash = "sha512-x9FtAd5kb6DbrUSLYtJ9cKog1Z/709IzwCPy7eG1RawnUP2v0Q0tdJOXdvoaTyVgsbW/NEgvJVd3ngP6SauIIQ==";
+        version = "8.0.17";
+        hash = "sha512-A4YO9NwkU6D/STwctlJU1W5uoGbSX05dWd2hQfriwS+QvSJAVHJfiuCd/obr+K6caCBz7QaB4atsbObXye/upA==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm64";
-        version = "8.0.16";
-        hash = "sha512-GiTTne4boLVAyJ0CJDbpBWZw9oA6+Rg3e2h38LwfzF7kS1jPZbc10igA9ZsnUCOYAFxzWzNi70Bb5icTRRBSjA==";
+        version = "8.0.17";
+        hash = "sha512-aziQHkE0YNyxANTFVFO1+j+NiAuqIrQLWua767eM+XCgwkdYd+SuuT3dDk83QJnFqHrLsoztdnFkmG0RjiJmKQ==";
       })
       (fetchNupkg {
         pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetAppHost";
-        version = "8.0.16";
-        hash = "sha512-nF4234V77TrV7JSbSx34EuMl4qnyfODinwdSpZ6uX0MKUEwk42G8MT1/gLZBp8cvGv0I6Yg78+E/39Zd82RQBw==";
+        version = "8.0.17";
+        hash = "sha512-HMJ43Pe4Bsk1RrKocroaQztnSZacp2KR9Ens5hf/2A9M67ag8pE9AC27Jnsm5123wYnK97MuLa1EhSzqjUJ3tg==";
       })
       (fetchNupkg {
         pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHost";
-        version = "8.0.16";
-        hash = "sha512-VCfPdIVCm8hIp8XaaPw4vg7eRuS+UQhST5xuPHbw+v7wInifU56jkapE56+c3TB1J0QoyUUL527sp15QqugXuQ==";
+        version = "8.0.17";
+        hash = "sha512-76AdyyHdR+8w/Tf+eYbV0QAxceqvyAc05W0tWv/L8AhxH8DEdsv1RyXx1jTySd+CuGyTbb0Bmwd7NUdK7XCWJA==";
       })
       (fetchNupkg {
         pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostPolicy";
-        version = "8.0.16";
-        hash = "sha512-MofzgXDj9xPc1cm9RpzvOMeBLqfQEIOrctQMauI5CvoH8cVZdQWEo7EDCkWiJvKJjBKhStQ8PFiJGymmf0aPsw==";
+        version = "8.0.17";
+        hash = "sha512-F4qOt3rF+aVxj+cMT04cc9GsLEhdcM36I7rAB05tHjxpYum29Cd52UL1E02n+Cb3AMWaOkFm3uZKbnuWHhCOMA==";
       })
       (fetchNupkg {
         pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostResolver";
-        version = "8.0.16";
-        hash = "sha512-ZpUWmllmq2HR7eY21ettHwFv3BapesdBsI76kjtGriNOivMQwWd1/21ss2PeKFd//HNZ0SjMAX/AUPoc6qUl0A==";
+        version = "8.0.17";
+        hash = "sha512-LnqYt32luIPGBIHWqkQqZII4JyVH2eV1cciCIsz/o0GSomy+IGPw8QirHSFchQhm9qIgS7swoXHEnBoVcXDa7g==";
       })
     ];
     linux-musl-x64 = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-x64";
-        version = "8.0.16";
-        hash = "sha512-TabUjPzfTmIpttDvd1ibCakKZA4iGxPYayFnjecfbenQlL/5qRFLW2HZ7aRGdMtPwKfp1MRmcTlwN5nHiPEavg==";
+        version = "8.0.17";
+        hash = "sha512-N5OgMVCqVq8v2L2LFcriguocIU98C72giD0eKgFirCst6beO71PU8sJyYNjRknl+L4A+uhDUsZfpLONDMz9vVw==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.linux-musl-x64";
-        version = "8.0.16";
-        hash = "sha512-C38paqrnwY57InUeWK+PhcOGyAxHnHpltyQWZ+urFGhkBN9PjcLh94xL5Th6BROgLeaeAPIZkDD1nTfZtPFZSA==";
+        version = "8.0.17";
+        hash = "sha512-bosx45pWfzEme1le8Bm75n6gAMSrlCe9+NmRoo5f/ZrpsPZq7zRaLVRlXB5XKi36Suq7BQjsJ67ubGNqF+Iz+g==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.linux-musl-x64";
-        version = "8.0.16";
-        hash = "sha512-ZaTZo7CUGUmW1uXppfGAg/zFuoSyyDEXP+CRKaWcpNdE0DDoZtQBuonrjHrmKJ4g2sdgpOErbD/qDa+pVsnSsg==";
+        version = "8.0.17";
+        hash = "sha512-5EJos1FnyGO5/7tjtF4MdniGBr19ZehLUwhblPnGTx3kyGPf+imGpA34HmKB0Lpf53nYXDBOiWrqUHl/dURarw==";
       })
       (fetchNupkg {
         pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetAppHost";
-        version = "8.0.16";
-        hash = "sha512-jR7uaCNjagiMvrU0dSL88yogPSjbm+JUbtaQ7jx7c7xLCDvW/3rdZpx0lIAL6yxSRCPkthOSf8Rt2unoam2A0Q==";
+        version = "8.0.17";
+        hash = "sha512-FpLu/8+PcuX8fNcnCGDED2WWbrlNvV9dpiZ49e9rAcDBlYg9aoNBEGGP9HJ45uATmJW/V55BtNxGJKXucceAMQ==";
       })
       (fetchNupkg {
         pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHost";
-        version = "8.0.16";
-        hash = "sha512-Pan9aX4Hd37diyf9V2APLS5UpuPWnSxVjjlnpPUcyw0ztWCpVivQwSme8aEzn1SAnWnQ/88le9PtAEgJvG4juw==";
+        version = "8.0.17";
+        hash = "sha512-uh9Xyw8G1nbUdmTUOeiDyn7LXBrEO3slJJwkRC19AqirVspWFWuDliiIj/GAStnF5EDYepgfgC2WeTr82hnQMg==";
       })
       (fetchNupkg {
         pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostPolicy";
-        version = "8.0.16";
-        hash = "sha512-BtpDN3TeBLsq96C4magsVnNIb8mPXW4rYk2wLK372tAD7Hiycm9eBYVdaLoYhEW1Ct4erWPFo284Hpl1X0Gq3w==";
+        version = "8.0.17";
+        hash = "sha512-JXyOaJZcJQvu+UvZrLDeXY+QgpgMSqBGvL7oKDfvJazL9wKIJDA6A68v8RfSlLTyiO196XrV3XWNTbCC5CWtPQ==";
       })
       (fetchNupkg {
         pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostResolver";
-        version = "8.0.16";
-        hash = "sha512-k7+KT81WP9yepIARsWCNRyK1Z8f0l5hRfAUbtmKIZZF8Zb9hZBeQ/wfc8hDvG+Av9abOnvVDOm8oWod14MpUUQ==";
+        version = "8.0.17";
+        hash = "sha512-Fkm//A57PJApgtg7jUySUGtz1arRGwXipRpl4lczOuol/hmKb6FL9eN6fYNYsU/LiA+xP0d72prlTyYEifRPHw==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.Mono.linux-musl-x64";
-        version = "8.0.16";
-        hash = "sha512-juqAOH138FUGV8IBgQXDp0pg6GS3H6t5zAaaovoKAhZpvAlAKdLitPKCkWfaiVzqRCMljRMaNTLq53U+CtMBbQ==";
+        version = "8.0.17";
+        hash = "sha512-AqkVaugZa6Tt4z+yeGqqlSlhDw4Q3gtPdXNFu05fLjAQi4zAvCccOpjMmwca41Zteiu9qGkfQwFDyO1LQXThMw==";
       })
     ];
     osx-arm64 = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64";
-        version = "8.0.16";
-        hash = "sha512-wuAC93N+hDc0H1wD1IHdkSMokwuOxTGwfVNovQkfGLcvWB+hWSqYwn3HlAooVGi+juYMqgFgCwSUqj9UXzPPMA==";
+        version = "8.0.17";
+        hash = "sha512-ViTDLKPx1YPdbj1xTx6LSXLJ4y+LQKfbrqRNw4PN96i7dcRviRt60R7BKfV+sdsDOaQtYDhUr8/1CGPaa9SnDA==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.osx-arm64";
-        version = "8.0.16";
-        hash = "sha512-JTtZzjHmXFqUYP/Z9FcfUuh7ZVw0Tq9sW3amlYNQWKggIGaaCQsicKN5VqTo1rbWrbGibu4DbcSUlkvQydpeOw==";
+        version = "8.0.17";
+        hash = "sha512-tGoCDChhmw1PPPpWNYfo7tjJBy4NIRkgkCuSXPBUiLNcKmkeMAhA2N2MUvVKxhoayCL1K49clw2CDFG1YSDC4A==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.osx-arm64";
-        version = "8.0.16";
-        hash = "sha512-b0Glt0ehO8tmRx48RPp7fQOw/05LHN0u/rJxbnFcaj++6huetGxyFy3RDm/xnr/PB5Td5qENk0ZqG360ZLFX3w==";
+        version = "8.0.17";
+        hash = "sha512-jSQpm6cwP9IbEc9/v2esVv2NJ7O21CklPxOjHSWvM6VcwH3/vAEy21wX+JOM3G4euTWCKxMxOTAU5bXL9fpV+g==";
       })
       (fetchNupkg {
         pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetAppHost";
-        version = "8.0.16";
-        hash = "sha512-BVWMbeZ0tS2t1ze2y5f7vD64uJwWwc92yu647Tw3LVxMDp4Dz4bzduDNcH4+Rxs4hGRHt2cwRRfM2NGxnydX1g==";
+        version = "8.0.17";
+        hash = "sha512-ejOqr8hAO2d1Sxxkn9d+xiVLCeQ4fkBOyTEsgliMkFnrJaxFxdV+Q1I7RtoYWJH/DoseqVW5vn5CAgGnY7yPiQ==";
       })
       (fetchNupkg {
         pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHost";
-        version = "8.0.16";
-        hash = "sha512-quU62eUZW2ls3EouhRllGQOhIL1DkjgYT8R8B6Yv6gXnQzD9Kaixq9FmCgSDoG8GlZUrh9jro8no446j99pMqw==";
+        version = "8.0.17";
+        hash = "sha512-twUxbIlZzPNoJx/nxQlx98TiW1JV6NnpHqvgQhGE3VloeEE5AiPUg+UVpKa42id/K3GEzOpQ8CGAnB+phyOhwg==";
       })
       (fetchNupkg {
         pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostPolicy";
-        version = "8.0.16";
-        hash = "sha512-puv/ricB6SdP3NKk61bwWXcpP6Q58snrpFZCIOxj6mAJwl8RsdR+0GLPyR0qTQKhnuE9ZY83bGaQEPn28CHcag==";
+        version = "8.0.17";
+        hash = "sha512-o/P+ZRj6LjjGJdaazlvz/ysRQumAUbrfOmXLQz17RExXc6Ikk7yQ3l7EJAuWO7U9LwlU5ubXs6uVqtKyv7vnHg==";
       })
       (fetchNupkg {
         pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostResolver";
-        version = "8.0.16";
-        hash = "sha512-pbULyCi7O6A1h1PIkaTq1q5E+JKzr4FkAO07t5C282BeLd4Zh91Dgi48iGdun0lYFU9LEMQ9oLl4EHr0xAVCCw==";
+        version = "8.0.17";
+        hash = "sha512-sNM9LGQom9BS5lEV9VQt3dTweI6q+2fgdfnjAaqmMCM2un4aKT8vNK3oegOEPhigBQp5GB7Z7+CgVBhYiLiEhQ==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.Mono.osx-arm64";
-        version = "8.0.16";
-        hash = "sha512-m81w4eMl4VxnH+2goP0FI13Wrh9OoVGV4kiOsmdR9/KMik9WKsb4eeqj7OFXR2Um8QIlUA8z9pAqv8VkiphnSg==";
+        version = "8.0.17";
+        hash = "sha512-NvQn4WyGdNXAVaUYu30XY/XQqTWe65HGMDKNAxVsYbNUiNecXjE3ZhkiRyLa9HU4l+6n3ouNNzYHg1Z9MPukpQ==";
       })
     ];
     osx-x64 = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.osx-x64";
-        version = "8.0.16";
-        hash = "sha512-n4PzbC+wqBZnh/v3Qlr4tjuJDnEL1uTJHwyDmBEgoBxPlImBYaZXhjjPN0h3e7nlPqfE/fP0axGGNrqm2jIrVw==";
+        version = "8.0.17";
+        hash = "sha512-lsYscCD0qR6XsXqJrM4evxEB4qNSu5QEvH1mb6JK8iQN05kW05CYP9IfBBVzQR3+iik45gnwjUFrokNnl9LMig==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.osx-x64";
-        version = "8.0.16";
-        hash = "sha512-CLwd+6uc3SFGdlZg6hWoIsv/pyCJej3k22vYbmz1kphIpvJjkcQQbHKrEed+mR3ruTtGHAtEc3ALvTfFRNGwOQ==";
+        version = "8.0.17";
+        hash = "sha512-A3RrznTiIIpaE04b1cNY6Bx3pEmAqa9ig9xwoUuAlH/brYtOuvo3JoehwVgpfZm7dzMblRPuvu1J9SVagyNEdw==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.osx-x64";
-        version = "8.0.16";
-        hash = "sha512-iK+92YNFakNasLgMxjPA9B34/188ur/Cr1qNw9KStNqQ/t7h0af+LpCh2CY9Tb9rtiQ4JDa4lhAHnRdF6mgF4Q==";
+        version = "8.0.17";
+        hash = "sha512-pvPS0TivFj3n6V+v0ivlhOc1HvkZnQBnnH6y9TZCw/nkkKjuTJpjS+x5xWHy4yLgdB64hfCpfc6g5578ib3OGg==";
       })
       (fetchNupkg {
         pname = "runtime.osx-x64.Microsoft.NETCore.DotNetAppHost";
-        version = "8.0.16";
-        hash = "sha512-n7oHeX8D3Qmk/YQPZ6isIXLM0sCKNLRczAjoP8hfmmnE/bYk1uhFbxhPROelIN/tfC1G0yGmiNLXYdzL17q9jQ==";
+        version = "8.0.17";
+        hash = "sha512-X0Mt5TbPJlG6LzwHP/98DB+TqCwF5toyO40QLZiaWBWH8gdkXxZsnqSwHBixe7jEDB9knpUQs3nWvG1wf9YOCA==";
       })
       (fetchNupkg {
         pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHost";
-        version = "8.0.16";
-        hash = "sha512-F8lb0QVbYAcWrxCxGAkYqS8F3QWqrhX6AmuqvYG4hBki3JisiuCRhCqJeiVgbPXk8fl22hf8i9sDQaJSrBXDbg==";
+        version = "8.0.17";
+        hash = "sha512-LtMIjhBaZld9EX8YChaTicl79vEo9ci+H+16xqWm6ksvYyx0vbameWRWXQ3i4KgUm/klwYkzGeKVzzll53itgw==";
       })
       (fetchNupkg {
         pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHostPolicy";
-        version = "8.0.16";
-        hash = "sha512-9o5ign74HxWNBsT3Cdvia+VVBdATPhe006LBCh3xeULtcdYIFpKdvHO5sGsxHPp5WdKG/kuH1LunOkbO4mmIfg==";
+        version = "8.0.17";
+        hash = "sha512-qxknZ2pQrvLXxASaCeyy5Ox9rb27jzwh4DAu+I4pQRl7qSfBVmqLtoAtZ6tSBj6crAt8/5q7mW16Av2RejDk3g==";
       })
       (fetchNupkg {
         pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHostResolver";
-        version = "8.0.16";
-        hash = "sha512-q22oMVxWzD5aLlZDPAAsuuoOFrCtHpKGsHXxsVontq10lmFiRhkM01V46vhJE99gzUjEK3rBXEb3LpH1KEnOTg==";
+        version = "8.0.17";
+        hash = "sha512-qWhils4j4HijPnFQHpmeOUudYMbX7BrYZedABWp3Ddsf5xoTLPSzUTssPFgrX5zhuI0eC+ACXQDCc3RRe16PZQ==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.Mono.osx-x64";
-        version = "8.0.16";
-        hash = "sha512-o6TXTHX9Uc8BdIdzsNR5cQVK6al/Q0lHlKRROtZCY2nP7vRpC+D6+/lUBh/Kvny+dwQQ662wCJrs2Ya1XoWF1g==";
+        version = "8.0.17";
+        hash = "sha512-b2jQNPpO8zaXgyvO6uG6ABXWO1qRYJvSiZWMXlxzAX2FCOR2AqfNiMbuJOscaqRyo1A5EZl/mKhNWbjvZ+Ie8g==";
       })
     ];
     win-arm64 = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.win-arm64";
-        version = "8.0.16";
-        hash = "sha512-Kh9Z+U062mBYGkXrZrG4/rIp8jfglP2GfPr+a2SgDuF7G96y/wrFcXMhtpvkdj/6PQxX8MrrPHMVZ4wml1ch8w==";
+        version = "8.0.17";
+        hash = "sha512-Gn4GGWnOSo9W/5GfgqwWEyZ1AwV6JVc4DBcq+IbPTZviND+0j5ZUJsF2xzPcgEYre8XYFR+tf4KqV2S+t9DRCw==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.win-arm64";
-        version = "8.0.16";
-        hash = "sha512-fXEfLzBw6xHfliy1XoqxX1N+OUBihYilCQeEoR1yRCNSeNXnSHdPT6pX3reS6qI7F49pN35s68sPUfCWLFpNNw==";
+        version = "8.0.17";
+        hash = "sha512-9ef3DABF5Em5tOne761hyzBpUrOnWuucfONtUsxUWq2pZiGpk9AoaAOJxf766qdQWL1SQ0sJYRGhpJ7YfKX8Og==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.win-arm64";
-        version = "8.0.16";
-        hash = "sha512-PNnCUYpG0auWMefWbyH/TYJZrKNJziqNbfIQ6IfJBL+2hYfme3xCEn116fsG0nht61gGvlSF0ZL2MX+yTCyHLQ==";
+        version = "8.0.17";
+        hash = "sha512-E+7CArIcwuTmkSfCdZneueDRZy3pT77DDZXvwuIDTyojOrdGVlj4hzpqSzmqmTnr5Cg8uT34XxnYOH1cAQiljg==";
       })
       (fetchNupkg {
         pname = "runtime.win-arm64.Microsoft.NETCore.DotNetAppHost";
-        version = "8.0.16";
-        hash = "sha512-ZWcEzJrU2fGE5nqi37Ms2Y6QA7+e33kl6BFmf+iApJGFDQOiE9u0JmmyGXQ4r8yfIjfHiQIvPYNFvCMs5n2efg==";
+        version = "8.0.17";
+        hash = "sha512-X3/73Flriad7tsa6o4GXXG0JMz5M1gaJQ5wXatZk90P2Eg3uDLOnqb6upr0x2495gDI4aLPPmDRvaArZoA3w+w==";
       })
       (fetchNupkg {
         pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHost";
-        version = "8.0.16";
-        hash = "sha512-7WwAk1dSgfWwir2Mdl5S8sAl5s9fDyRq5o9QUdqa71OxDdl6UtUkOzF5R8aHo1BXs0qM2SXJlf9Fgp9u3Bk9dQ==";
+        version = "8.0.17";
+        hash = "sha512-1/aUPzhPQ/bKVm5NoP4dNfc9B/C3eqRu+gv6bLroPxiS1JjHKL/iG4aPeFP/Gr0zt546bKd56Ac9t0S+ZpgjeA==";
       })
       (fetchNupkg {
         pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHostPolicy";
-        version = "8.0.16";
-        hash = "sha512-+0Dm9S2hIlqePk2mkdlOaAlrG0UkCwJotbUv9535BiC/qbPO6SY0izAHX1dZL6LPoFKBewZ1aoQMtrsF9xAzQA==";
+        version = "8.0.17";
+        hash = "sha512-u+V7Vazc9T1yrKkAtGgCaVrm7777F//PpYlXlKi8LCEMmzsjgTqXDv+96blOjqNfFFG5nDH7Wrfy/EuNxbggEQ==";
       })
       (fetchNupkg {
         pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHostResolver";
-        version = "8.0.16";
-        hash = "sha512-BauQzQcup2e1iRILzm1XU2zqgFeQ9A7mKAlFY9XQVxtEWlRhQ1047lkvf1E1qmPg7S82HfigvC+tFY2+BJi/Ag==";
+        version = "8.0.17";
+        hash = "sha512-it7TtIOtYcV5XwMQKpIsD1mKrqUimH4VK7uJct4sCZGjxfgrhf07l/yI91A11WVJubQHK5cq7KeCirqGoEtAsg==";
       })
     ];
     win-x64 = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.win-x64";
-        version = "8.0.16";
-        hash = "sha512-OIZrbirMArYlnOV8X8AdhVaCvhumkaiHMTCivh+J4bY/mUXZ1GZw41wWpw1Rhj1AZWl2DSa1jyGphtCSgwycRQ==";
+        version = "8.0.17";
+        hash = "sha512-hCDJrREXgVISf2dXVj9+0NGUYr/Hk6HH0pE75ubOaQO42n7gH1EyuhF7fgMKVCjhnYblRML6WKuVDIbkJoUbtg==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.win-x64";
-        version = "8.0.16";
-        hash = "sha512-ig9SH+K2HVzuER+P6jexExvt1wOAR0tmZQwD5IEs2RO0s3BVOPwxJc5QjqixPP7oZjvAMK3Lm/Vy3QlVpnVpGw==";
+        version = "8.0.17";
+        hash = "sha512-FqJc/4qewgmg/1yamy4kyTvTntC1e+qN92mN1co8BT163ZkWV9RtGgvgb/yD+0th3/nOEb+xcu7EVNNxzTJZLA==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.win-x64";
-        version = "8.0.16";
-        hash = "sha512-1zB+91bQGwvUb+hFzPAdVh9J2a6sqM+cljDeh7Yw1nG2AoNt4UZr9AQ1WaCd7z7sE628J49JH8xEPrJkig2qzQ==";
+        version = "8.0.17";
+        hash = "sha512-0j8M6HzQLzZPvWl0TM0VlsWVtMGrKNrLPgmOcu8vXz4QoMq4A2y2md3cmdpX5PatjcEwKRib3pg0iGVyrefDgw==";
       })
       (fetchNupkg {
         pname = "runtime.win-x64.Microsoft.NETCore.DotNetAppHost";
-        version = "8.0.16";
-        hash = "sha512-e9XIuQAjb7cz1WCdBVH+/CP8ndn4SnsXGc8bLlEMUCL3bAUplL2aG56gIeGRwYJP+AcfAEvFkHNnzEC7JtOrQA==";
+        version = "8.0.17";
+        hash = "sha512-yQVr2/oC7L2zGbX4zG7z0cclJb1YALFciH3U8zc/eS0Ta4CmAXREmeTT2JaqY7U9hAEz8f8TzzX+JtB6W7PADw==";
       })
       (fetchNupkg {
         pname = "runtime.win-x64.Microsoft.NETCore.DotNetHost";
-        version = "8.0.16";
-        hash = "sha512-+8EYnxw6v1x8sHtsELUqUda3dcomNY5X9fQc5VDew+9bh84lbTeexQEWUBAjkmrz3JLDkh1g0hLS42SS/P/wrg==";
+        version = "8.0.17";
+        hash = "sha512-vVJFuE0gTSWBpZr3Qx6EitWtvIXW5BMyorvOSmOV14laSaGuhrddbz1OtbQ2qTOw2++z2AoIIRzKNiyDZ54jLA==";
       })
       (fetchNupkg {
         pname = "runtime.win-x64.Microsoft.NETCore.DotNetHostPolicy";
-        version = "8.0.16";
-        hash = "sha512-Hd4LNJLmrzLkhoBTjAI2kGQ+/1sXZLamflSEAVh9GzOkoYMoKqfCxAZNYUJwPgIzXm1iUnC+yfyP+nJJRrUd5g==";
+        version = "8.0.17";
+        hash = "sha512-piZCbDE18Ca9OjU365hOClMWArbcXmj5Qk7oXE/4pXY2Mrdoo9R6IKQo9QT5rZ7qOO25W2X49fC2NCpt9WR1Cg==";
       })
       (fetchNupkg {
         pname = "runtime.win-x64.Microsoft.NETCore.DotNetHostResolver";
-        version = "8.0.16";
-        hash = "sha512-4IAmnrKN8GRF3VrMuPkIMJsG9qvUcZFqrRFDjpMFft0n+A0eq5Szyx+B9lG0EYWE0UZuJQOsNyqs3D5dVFgUvw==";
+        version = "8.0.17";
+        hash = "sha512-e77ZoQafeMCWXiQ4pqeWAS969lzHjTO/Nl0ISpmItUBXdSkrOaThpWew4hp2AuS98U3wv7yAb2snPOOBkRRuwQ==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.Mono.win-x64";
-        version = "8.0.16";
-        hash = "sha512-rCxgwEzg33svrD6JvyIqiiYGIo3+vpwdAupgkdOrBVZ6xJ7D3NeqcStXWVs97n60+fvUC7bb4Bwl4dJ/KQYb1w==";
+        version = "8.0.17";
+        hash = "sha512-gw2FwvqE1xSNnFdCQ1PE1AZjdjmwi8Qo3trC+xfnfHy89/ljYXbkoyeIQR7irDllbJwlmI4gAKbwHFXYLO7I9Q==";
       })
     ];
     win-x86 = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.win-x86";
-        version = "8.0.16";
-        hash = "sha512-Owmg0DKS/rSWDUwNt7+MUtagUPdJwipxfPtGKzrkzw/xvxsmw7ACqmt7ONqAXCz3XP5MQBRo/CLhw3u9eVAh+Q==";
+        version = "8.0.17";
+        hash = "sha512-4+mkaFTIo0hySyHps1L8jaeHS7otI51G3J2Jwy9hYY2tGlYCRmYJm75KjMCgFjaijuAuv90xRME5bxSw3JIzRQ==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.win-x86";
-        version = "8.0.16";
-        hash = "sha512-YcXpTXwEQbqvQFBWv8VC6rKvilmelGBphR0KUNzanN64uJL/uC975jCytnFlkqHGguor8OCzVkSDG7TIOfldXw==";
+        version = "8.0.17";
+        hash = "sha512-V5rRhz0of2jLYzhsNtABdw1ZhRjN9EcDeFzX4baN9eWrgR6IIt+pq5SCpPMm+qQJLH1IZDoS6ZwmcBVTs3aGWw==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.win-x86";
-        version = "8.0.16";
-        hash = "sha512-ohiHhvm9mZNZfSIOcoD8rkaabXJ9LqDB269y5pfCpM0kRohj6WQPS6cpPn181jxMLOlplYlE2+piJ8quAZfUAg==";
+        version = "8.0.17";
+        hash = "sha512-DVkgTu0W/491HH++XjvPJh+tbGjHS/NAqEyyFNZtcepvskdQG3tiazPvBrKAhe5HfO6xCY65TykNy4znepkXyA==";
       })
       (fetchNupkg {
         pname = "runtime.win-x86.Microsoft.NETCore.DotNetAppHost";
-        version = "8.0.16";
-        hash = "sha512-crVLHltFGP19DUYri0zM1MN4x6PluOLaoN3Jbc+DTtIQ11GBtBVPUP9p02Km2m+iismSZ4W2bZQZ+WJQC2wbKA==";
+        version = "8.0.17";
+        hash = "sha512-IN34IGuBDaTS0V10Ny52Fw+Fit4+onsnfceySIYoNH5p60jEMGbyXXMIQrhqvw4eIlaIKOTNwSo7cmvAcz7N9Q==";
       })
       (fetchNupkg {
         pname = "runtime.win-x86.Microsoft.NETCore.DotNetHost";
-        version = "8.0.16";
-        hash = "sha512-Keme6iMgYtf+4Z42/waSQw3tQZ6S4fzvT9A3DwZXuTWhThx7+L9HRLZ5jrn5VhWVralHTFvriS5PtV3aJXJWtw==";
+        version = "8.0.17";
+        hash = "sha512-izNgoKUSHtsl4N2J1L0WjaclTj1myk43zFIKie+y/+0uYDJ2QQL+pL9c1pOpHs/FKXDySLt8b3jtj1mOgcHEvA==";
       })
       (fetchNupkg {
         pname = "runtime.win-x86.Microsoft.NETCore.DotNetHostPolicy";
-        version = "8.0.16";
-        hash = "sha512-TAG7BJ/xiqqUWJ9C7Why1eMi3ctsGJYgfmMgyTc7pk2zw6ZphR/vddldzYAjLX5Tzy9wHjVtRThBTr0yw7Pn7g==";
+        version = "8.0.17";
+        hash = "sha512-0FgjD+98nDYlSqXqP1Emka7T7LfpvSrYz1ag/fBBpVqZmmekpV1BM1rXQKDB6ruSkmmkMn41UD4MrvXykzYmZA==";
       })
       (fetchNupkg {
         pname = "runtime.win-x86.Microsoft.NETCore.DotNetHostResolver";
-        version = "8.0.16";
-        hash = "sha512-azCJIT0ar8N7F8QWEVWgbgS/ZwJ4BaCClcALWC3MNFdcA4cpGiWunVYROhuCe144P4NEKqQo7kmesHY7ml1rjQ==";
+        version = "8.0.17";
+        hash = "sha512-gCqz7CcfeAP87TsYVTc58vmINB8CY4KSG/pLiWycqrIZHmsdgw6olcCe/xbcm2N1mSMaD9pfMMkAI9nHDn36RQ==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.Mono.win-x86";
-        version = "8.0.16";
-        hash = "sha512-8OnxZ9IQIwUt3uaYCMHQmyrwAi3opxGriQ/98DW5cJJbU6asG8wdtGwGGRtcN2rx7aDplXhkdctSVKUVHSCvtg==";
+        version = "8.0.17";
+        hash = "sha512-YEx7Me3MPRkXTNcIJ6ROh6lxN0f9V3zc21Gna0UzlImMYtL74qdCSnpV3ztLGuDMKJZYYQmCbpVb5kmxxSMIGw==";
       })
     ];
   };
 
 in
 rec {
-  release_8_0 = "8.0.16";
+  release_8_0 = "8.0.17";
 
   aspnetcore_8_0 = buildAspNetCore {
-    version = "8.0.16";
+    version = "8.0.17";
     srcs = {
       linux-arm = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/8.0.16/aspnetcore-runtime-8.0.16-linux-arm.tar.gz";
-        hash = "sha512-HfSe3Kpesa+ubpuTWgQYvEqT4Cu96DQybBoGYJXPKOdgfV0cqK93canS6BYx5Jkxp7+ZhJyJEHkd7utqmQJ1xw==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/8.0.17/aspnetcore-runtime-8.0.17-linux-arm.tar.gz";
+        hash = "sha512-EwhWW7qG+JHlwU/iKVzJ57jgxygwyPqy1qDVkd6WZ9jEV4RaUPZvBdMhik0rHdQ7CK44ENhnLFpaN4n0bssY1Q==";
       };
       linux-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/8.0.16/aspnetcore-runtime-8.0.16-linux-arm64.tar.gz";
-        hash = "sha512-oRXg5iU86n6aSB7YL1f8lkE6pQznQHkyEoy6FTvfSuwb2M25wE0pD/APhURCn+rIa6bo0rDxZ0wlW9Y2wsfm3g==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/8.0.17/aspnetcore-runtime-8.0.17-linux-arm64.tar.gz";
+        hash = "sha512-TxpEHkALYPgUoWHScYwlmbTUkv/+XfWl2KSUzsVTrTV0wJiOncSav4ySi56Xg6hvVQbLy98S0k5WIJCWms7TxQ==";
       };
       linux-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/8.0.16/aspnetcore-runtime-8.0.16-linux-x64.tar.gz";
-        hash = "sha512-AlbKxBUazW/8grC3tkIfMEgXtv3C2csjIBjPmT5A2msijUFTl90bGzSFnP/h2Px717tHDfgRKDdOXJRKFMWDYA==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/8.0.17/aspnetcore-runtime-8.0.17-linux-x64.tar.gz";
+        hash = "sha512-spLepS9wA1u3zMgsHtkI+whHU+sI9mLHuy6SBuIvOWqmEdtlc+gn1cXP8hWQgQtm6uDq2bU0vD+PxpX2X0fyjw==";
       };
       linux-musl-arm = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/8.0.16/aspnetcore-runtime-8.0.16-linux-musl-arm.tar.gz";
-        hash = "sha512-TVMCx2nSQmKtt8HhqSDAWNmLnmdC3t/rKiauHoSkctYs4l0TfoXj6hctZ3e5G/9n/ooGMl6xYrDKs3CQ9eik/A==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/8.0.17/aspnetcore-runtime-8.0.17-linux-musl-arm.tar.gz";
+        hash = "sha512-DEsWquOo/z751KXI3qM7mw/rS2x2dFhB7Npyhj7BZvGm1VnhArdELf/B/yLIpVzn7jrXsV8MdWJRVruTGP6UWQ==";
       };
       linux-musl-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/8.0.16/aspnetcore-runtime-8.0.16-linux-musl-arm64.tar.gz";
-        hash = "sha512-IiIKQlFGuspdr7QZNHe/DE/sO57Zyps0Bzn1yngMQE++yByX/qfPMeZm5C0pnQFzP/OeZBkytkLkvCEfVdqGQg==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/8.0.17/aspnetcore-runtime-8.0.17-linux-musl-arm64.tar.gz";
+        hash = "sha512-6eyDEAZZUCxhFJn5JL/EdMLmSRtRjtaXOZGcCXp5m+57Sk3SPtsfDnho+86RmOSx0WVF7FFEpVuYIMFmWw3Phw==";
       };
       linux-musl-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/8.0.16/aspnetcore-runtime-8.0.16-linux-musl-x64.tar.gz";
-        hash = "sha512-L4Vp4TNb0lock75SNk3ROGxg1wxfkFyoMAkxJd4gv9mb4ICM+Y9qr9agvwhnli10NqVOp7jrQqb7Me61sI45og==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/8.0.17/aspnetcore-runtime-8.0.17-linux-musl-x64.tar.gz";
+        hash = "sha512-o1QPicloU1OO4RQUWsmZHyIr6JFbgDlBkYFP2qvvOrwjXWBXmfo3WWLAkJrwOz0L8ax2A0LFZhQNkU9/cGaSvg==";
       };
       osx-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/8.0.16/aspnetcore-runtime-8.0.16-osx-arm64.tar.gz";
-        hash = "sha512-jsx0qVkTEo56VGFjlUH9hhnAMH1JYGLGPFAi44r+op9wozgJM2HVwwnqUcqtVGP7x+yK5rhr4n0+kmdWQkEOFw==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/8.0.17/aspnetcore-runtime-8.0.17-osx-arm64.tar.gz";
+        hash = "sha512-eBdKcYFy/lGNAEo8H+/L7HMe32jip3dMb6lRIwgRUvLJUe/mxhStnB+RWJfAl43GD+ecn5tuw+KKHpBQ94U2fg==";
       };
       osx-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/8.0.16/aspnetcore-runtime-8.0.16-osx-x64.tar.gz";
-        hash = "sha512-KAqOpgHl1xLNORTYT/l1+Hj0tX7fYZnoBa+TuWhWumLQL2yfha9lhg8QjM+w7q3Usqr+E6bkkv4+IYDjRU/Y2w==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/8.0.17/aspnetcore-runtime-8.0.17-osx-x64.tar.gz";
+        hash = "sha512-P1koY2bq198GFJUHuMHHkE5hSg+U2P8SjRrAS55LL6owje62extXbEA5HNWSaTYXuwVIoUQft8VeF6dFb3nHnQ==";
       };
     };
   };
 
   runtime_8_0 = buildNetRuntime {
-    version = "8.0.16";
+    version = "8.0.17";
     srcs = {
       linux-arm = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/8.0.16/dotnet-runtime-8.0.16-linux-arm.tar.gz";
-        hash = "sha512-PyRbnUYDgJGX2B2AoH1FE8jRYIF5sfQGm+3jxrz26Njrd8dPX/rahfuK9RcFKifT5K3lRjGUVX3rManwJBfk/A==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/8.0.17/dotnet-runtime-8.0.17-linux-arm.tar.gz";
+        hash = "sha512-u2G7Xl3rf7wDDAh/2mA738EqgzP7QK6752Df1cSkmkoSsqYDqhzhb2ZgZNb5OuwS/hb3E240tPXheX4Yc5hPXA==";
       };
       linux-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/8.0.16/dotnet-runtime-8.0.16-linux-arm64.tar.gz";
-        hash = "sha512-3bFN2M7PiAaWmBJiWRk6JaabS0eu2iqhZByMAwGy5XYJWZgct2fX8UrTfKmZNsQTb119LrUdSGAxjnr6NHR1Lg==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/8.0.17/dotnet-runtime-8.0.17-linux-arm64.tar.gz";
+        hash = "sha512-5C+8g7+C7kIvF/Hrcu5/T+9sGQSPrqEGBYcVwXX7iKqT+K+02dHfaC0Lz05n8aH0xpz7QtXTxm3YYoqO/ctBEA==";
       };
       linux-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/8.0.16/dotnet-runtime-8.0.16-linux-x64.tar.gz";
-        hash = "sha512-4JJPiLZ5XWaeXGJ4hFpXS3X72bWutjoO1jgiT7jT1IuRuyqa+yct/V9A6CQdQahHkrn8/kJuj9z6FBFrwTLO4g==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/8.0.17/dotnet-runtime-8.0.17-linux-x64.tar.gz";
+        hash = "sha512-1XM4i9ZN6xLmRk/GpCQPbtfNHGsXNwCWMEuKwtgAMYw682+BhaO3gK/lKwQYJN7vnTd6lqa67XWcgoOCkFRkmg==";
       };
       linux-musl-arm = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/8.0.16/dotnet-runtime-8.0.16-linux-musl-arm.tar.gz";
-        hash = "sha512-obQ9XKIxX9qNN3fSCqqeRyWmhnsEMNkxBp5lMN7DLmxu9kEy5xeIKO0QxaNp+MDCt6QmASt17mF+s89lMFrbKA==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/8.0.17/dotnet-runtime-8.0.17-linux-musl-arm.tar.gz";
+        hash = "sha512-MHewWpOmltw0lw1ibcafCOFzw1S72XmZFATXmJnEHr8/upiE1CqPhS5IHuhdjKhesq764x+OSusvdpHVHp3z7w==";
       };
       linux-musl-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/8.0.16/dotnet-runtime-8.0.16-linux-musl-arm64.tar.gz";
-        hash = "sha512-mvLKdnzZTiO46RZVgqutGOEdPyXJcvq60ZuXQ1FEd0qkJ3RuYFYTL6I2HiN4Fc416LYkRkHZL1EUJyI1Zau5IQ==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/8.0.17/dotnet-runtime-8.0.17-linux-musl-arm64.tar.gz";
+        hash = "sha512-gH6LRXbnGWJAY0nzJQaltKvXKR1L98lR5euA/KzPd8w/G1f+TnEQ0LcWlVTg6JBcSYi7dBfwMJvey8rcquy9Zg==";
       };
       linux-musl-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/8.0.16/dotnet-runtime-8.0.16-linux-musl-x64.tar.gz";
-        hash = "sha512-rnf//h/I5rZaaQi8b4tBOz3BWonbGkJZdK12hr8wewaAdvdweboGIkEpp0IJwQqrp6QYpePd9Nvu+InC/E2iPA==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/8.0.17/dotnet-runtime-8.0.17-linux-musl-x64.tar.gz";
+        hash = "sha512-6prPLtAa/fUdiQiXboZjXXBOFSSdet5LNrLcifBO247YK0DgUxXOz1/cDpKd006VgPcDeSEprSxc4koDsKYkbg==";
       };
       osx-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/8.0.16/dotnet-runtime-8.0.16-osx-arm64.tar.gz";
-        hash = "sha512-c8NROsGHgdLpMFPdhclEfM3qff5szTjfmjYW91Hw9m/cTkN2Xy4o8ZtvI9jQdGmOAr5dksFNbQm3tMocKdR2Eg==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/8.0.17/dotnet-runtime-8.0.17-osx-arm64.tar.gz";
+        hash = "sha512-n3f8O0/8yixku23sVpGoNDapoQTSnHGBC1+khTUCbuyx+7x4Ae6XgzNhmPDQj8kts01VkyeMpcE2A1Vthnph3A==";
       };
       osx-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/8.0.16/dotnet-runtime-8.0.16-osx-x64.tar.gz";
-        hash = "sha512-9oAY2+9/jVtVNQ4sxDHF6a343rtnyXGii8jeD7/Sc7NCX0ph/T21RvtlCjXOzntUu+ZVMpTE0n9YRugyMA5AHA==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/8.0.17/dotnet-runtime-8.0.17-osx-x64.tar.gz";
+        hash = "sha512-+vANPgV66ZcfMKKTfDI39so/qUkDK9q5KasLr8mXtCPBglMUCr3/rRa8tFGdSD+4tdCwP+PmPjRwWHmxqNbsOw==";
       };
     };
   };
 
   sdk_8_0_4xx = buildNetSdk {
-    version = "8.0.409";
+    version = "8.0.411";
     srcs = {
       linux-arm = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.409/dotnet-sdk-8.0.409-linux-arm.tar.gz";
-        hash = "sha512-0pk325LvCF1MNzbxvoEcV06BzA/psd7O9BmcLVFwlHZIp8aU89KpY0A/QQQMfJofeMkJygzZPBrcALDtSMWJ0w==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.411/dotnet-sdk-8.0.411-linux-arm.tar.gz";
+        hash = "sha512-YAYNmPje2xWxG4/KcJJpqda5RKeHHezCOM9/WIt4wS9zt/aPIb+h18JHq03tXLrUl21quPvlmkrymNU9DAN1lg==";
       };
       linux-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.409/dotnet-sdk-8.0.409-linux-arm64.tar.gz";
-        hash = "sha512-7nCQqd3INHq3Q6MTKgyKeCIMIZzkW5tMn1t0G39m6BkeqBYu8X2qODC42HTHOiaxmIKXWzXQrB2jF2G1pkx96w==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.411/dotnet-sdk-8.0.411-linux-arm64.tar.gz";
+        hash = "sha512-f9cMl+VJ6HPO77Yu2f7zF1l/swCw+VSHhYcZojHm0zNDDHtw4CyBBcG6Z5RG9gVq8ActIsFzaJBtlEkfRwUTbA==";
       };
       linux-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.409/dotnet-sdk-8.0.409-linux-x64.tar.gz";
-        hash = "sha512-+4Vf8E2wEFlLt9qITjqG2pTiakPMXYWHJMwNPY7jH21k6wlVi609ulQKJQgiGbpBqn/rQNHE80aMNyDqTFUv2g==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.411/dotnet-sdk-8.0.411-linux-x64.tar.gz";
+        hash = "sha512-5zBMN5jDrTJ4ojz6x+P4c6dg1r/gcZ6q/fapZmr+/48nMOfIT3/1l9NLXibRvMsI7MbiPH70N2VkxO1WjW0kMA==";
       };
       linux-musl-arm = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.409/dotnet-sdk-8.0.409-linux-musl-arm.tar.gz";
-        hash = "sha512-WGOaoEpT8TBQ+BvYD4uHaUkFq2AwhPjx2UZZ6i2CoN1HSnFMJVyTUVPhVLmzt4EQ4+d1RY5cMX+bL/nwYf383A==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.411/dotnet-sdk-8.0.411-linux-musl-arm.tar.gz";
+        hash = "sha512-aXxS3PIBEGxRzsx12ahB8SreFuijwvfkKxZxnFcDHFSaTjulBE1q0CAa0RaCDjbiCp2NVX1Dae9SMUc/9RO2jg==";
       };
       linux-musl-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.409/dotnet-sdk-8.0.409-linux-musl-arm64.tar.gz";
-        hash = "sha512-MSj0qsPVYvA3zyJoQzH/t9OKzLtbn/iYRanuj42BDBazaqOL1dqZMgSCalm5Npg3zDIGSTz9bMW50jF1QzF7mw==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.411/dotnet-sdk-8.0.411-linux-musl-arm64.tar.gz";
+        hash = "sha512-E1T66KTG65g+A+0AWYng+QjlS7kt6dkV+E13yvXr0T2q7yGRbGs677Pmo2mLSOJbRybV/tOfC1EvUXVH4MluCQ==";
       };
       linux-musl-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.409/dotnet-sdk-8.0.409-linux-musl-x64.tar.gz";
-        hash = "sha512-gGEoRapNycgUs6Cg6btoSRnfqJd0yKFCza7dTS4qFbfKp46LBsig9INDJkkpCPtgmqXziBEfpn1/ED6wzXImaA==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.411/dotnet-sdk-8.0.411-linux-musl-x64.tar.gz";
+        hash = "sha512-1GIcGYtrn6uKfz6UItc3fCZxiA2PEE9s1bqwFl8ILR8vCjQdMwW7zn3w/N/2lsBhtOqq0aeoTwjEuMH7hdZQvg==";
       };
       osx-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.409/dotnet-sdk-8.0.409-osx-arm64.tar.gz";
-        hash = "sha512-N3xSNwNCGD/1dcGNP0nRBGgyXyclNLAMUkbzqt+w52AdYdS0K7kT6NBTll+1kfzf+bESP4X42JcyJr8lGA31aA==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.411/dotnet-sdk-8.0.411-osx-arm64.tar.gz";
+        hash = "sha512-2ZHAegXD9H7UyFEdTymMyT9fbGClUnF89bm4+OM99tNnal7TP/8JlwAPU31ZdZnR2O6tqPpXdcasPB0uqAVURA==";
       };
       osx-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.409/dotnet-sdk-8.0.409-osx-x64.tar.gz";
-        hash = "sha512-suDu2U4SF0hMzIukqsjXWWs1AyrWBB60btcaqCHYvXHz4eyagsCVSA+D73Q0JYLZW12yh7U3cmkvH+OhlTswWw==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.411/dotnet-sdk-8.0.411-osx-x64.tar.gz";
+        hash = "sha512-RtcyQBGXqdCNFiveiIMvQlRrGliZ9hSRQAh/V7T2OvcsjbgxrebNkQ/RPJHeYoACkK0SkSbJ/GpsTHdqZb7eCg==";
       };
     };
     inherit commonPackages hostPackages targetPackages;
@@ -743,39 +743,39 @@ rec {
   };
 
   sdk_8_0_3xx = buildNetSdk {
-    version = "8.0.312";
+    version = "8.0.314";
     srcs = {
       linux-arm = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.312/dotnet-sdk-8.0.312-linux-arm.tar.gz";
-        hash = "sha512-gNp3oolOQ/voJhRVAfN/qWJOh70TanEjXN4gFxNTFdMVfIe9d91UekxZSm+MfaXRdUGa7D/SWRHbRxnseS6i9w==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.314/dotnet-sdk-8.0.314-linux-arm.tar.gz";
+        hash = "sha512-GT2/BYixOzB7fklts1171djdkhpofI3GEbgkHw6mf6ouzfondNg7XttTl7QHtwlCD8KYQd2igeiboE0jqx0y+A==";
       };
       linux-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.312/dotnet-sdk-8.0.312-linux-arm64.tar.gz";
-        hash = "sha512-y3VxuhGVatH03KArAqYXe00Kgvhe3agmfdhJjw8xwuLi9rPOhuBGleXJO18TMYfQxeNdIq+8tnaloC7JoSPztw==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.314/dotnet-sdk-8.0.314-linux-arm64.tar.gz";
+        hash = "sha512-qBI3o0okZeTEiukg0QllVn8bAbxkbTR4yVXpjU0Xu03fkfwwP8H4WVaufu0dgGco1/94C7NSAo+ZoCbY2yHg2g==";
       };
       linux-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.312/dotnet-sdk-8.0.312-linux-x64.tar.gz";
-        hash = "sha512-bh/w6VgwPRIyqaHOJkfnSqq8KKW5PhChXd8BLu2Z2z4xkqPJHnsRBttuG1sq3si6BPI3RX+oz6652LyaDokLtg==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.314/dotnet-sdk-8.0.314-linux-x64.tar.gz";
+        hash = "sha512-r7sNcDkueSwLWLn2TX3W+UV2DHm7OZXTvFmYxtEPOHlOVs5jTVIHRkMBwLDbYKltPfb4O2i2yNZtenbkZrSxIA==";
       };
       linux-musl-arm = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.312/dotnet-sdk-8.0.312-linux-musl-arm.tar.gz";
-        hash = "sha512-C8hDdwkOgW4224NnbFrHwH69kdGRI3WbghUJBbBa7D4TNAF3f8+rpAfjvfL5YK9O6EmcRuV1uCrs0IXrSa/iTg==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.314/dotnet-sdk-8.0.314-linux-musl-arm.tar.gz";
+        hash = "sha512-Ylw1hRevy8bNArDzkHWOAGw78zjAsLZfMfToixZ/+kKkNKTNpmA6azJ0wRcGJtbX7BYABQArtka9VH+m/ILe4w==";
       };
       linux-musl-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.312/dotnet-sdk-8.0.312-linux-musl-arm64.tar.gz";
-        hash = "sha512-tza613fA9r3rW2r4dYJ7RUkmuLgFmnqtpWQ13/HRTUKQULXv/Khu2GlviDd/9hPzOzsfEeUKHfuK4ghnEgx90w==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.314/dotnet-sdk-8.0.314-linux-musl-arm64.tar.gz";
+        hash = "sha512-LP+BBEU7oWaFs9wRtGlA6dsIM4f0nQOUI/wCglN2yY1Ekq/Ea0MKLoY7GVLS7GuW0EIzeBkeTFiSOh0KrBWqXA==";
       };
       linux-musl-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.312/dotnet-sdk-8.0.312-linux-musl-x64.tar.gz";
-        hash = "sha512-25X7BG1G3FnYsiXTcWwrMjtm4dzVOUwX5E/544O7y5NnrHM/P9tYHj4qH9RDjPwoMWH4tGdFAsdGUeZFkqw88A==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.314/dotnet-sdk-8.0.314-linux-musl-x64.tar.gz";
+        hash = "sha512-9XMfOVx+QUJ4XtrXS5m7ZEPq7vBpsVbkf0pu+1lK7hPcjD+Cb1UYJuq+0bnB434pzKnOMdFQ/+PioRlzbDHCJA==";
       };
       osx-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.312/dotnet-sdk-8.0.312-osx-arm64.tar.gz";
-        hash = "sha512-bSfd2hPkGjqY8Y3d/x/umUqWnZfa5mAc+2y9J1iyk9pv2guFuhLNHCnj9+mh+hnxPLK6ZzsMT44l0aLH12xbeQ==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.314/dotnet-sdk-8.0.314-osx-arm64.tar.gz";
+        hash = "sha512-iYlBXnvVjE2aTmjMeMxYuSbLjuNHhPV5+t9BkJyadMFMAQCnMGrC/1HcMso5dwT+nEUq8Mpqu3a6L24R/4Rgjg==";
       };
       osx-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.312/dotnet-sdk-8.0.312-osx-x64.tar.gz";
-        hash = "sha512-nRKy3FnojVBdfp+iAosIlpMj/F+qIDQc7VRvus5avLnld/rc6f63FOWnVDxqclU1m0G+6mDInNUDjVnobT/XOA==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.314/dotnet-sdk-8.0.314-osx-x64.tar.gz";
+        hash = "sha512-iFQLs1cB4jM/QgHCngXz0nziXpnYz8ZHQR4xibH67JppYb786sStaVG+b7lpSJIern4s7yLbqgl/pcYplNt9dA==";
       };
     };
     inherit commonPackages hostPackages targetPackages;
@@ -784,39 +784,39 @@ rec {
   };
 
   sdk_8_0_1xx = buildNetSdk {
-    version = "8.0.116";
+    version = "8.0.117";
     srcs = {
       linux-arm = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.116/dotnet-sdk-8.0.116-linux-arm.tar.gz";
-        hash = "sha512-FfLxzRXFY1wiIw8z/TBGb7vnjUbeCak+S5NwVze6vzae1/C5EZZeyj+PbHpmGvYLqxW1Ug4iMp+aJ+1BisIm9Q==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.117/dotnet-sdk-8.0.117-linux-arm.tar.gz";
+        hash = "sha512-CgzKANmRmMKHWU7s/z1Kxm8yqhhtuDt4gicZu+pnLIdGA66Du6xnsmUXvb0FkZ6fGJE/wX8cwNUa1H2CHicxvg==";
       };
       linux-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.116/dotnet-sdk-8.0.116-linux-arm64.tar.gz";
-        hash = "sha512-jyC6TSULBIslAreV70m/A9gzMyx8Sr57cSY4xIh7S7dmabwXzVV3BkJmRmH7MrdbGEcVyPpq5VAD9yrIOyFWQw==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.117/dotnet-sdk-8.0.117-linux-arm64.tar.gz";
+        hash = "sha512-m2XhpXkkDlNweYvR2F8+D/5rj+t7bIgyjbkHBq037jjiBDlHRbd4tZ3UHAZMA6N8B/DeU09/D+AR0TDGJjYUig==";
       };
       linux-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.116/dotnet-sdk-8.0.116-linux-x64.tar.gz";
-        hash = "sha512-lsY0oNFnhCn+3pkwM2ugNR0VELxNBFa51yJcXJ1YfXAOjzDoQd/Wdf/4qMcJy+8gnKh9Ectlf8svISte767Icg==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.117/dotnet-sdk-8.0.117-linux-x64.tar.gz";
+        hash = "sha512-pnObWHt3axVv/hnSVxGxQSYbe1vs/wDLga7lsvBpT0YAeZxiXrhE1bp0ID3VoSEdw0urYsVJYf5+t6kuGn2/dw==";
       };
       linux-musl-arm = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.116/dotnet-sdk-8.0.116-linux-musl-arm.tar.gz";
-        hash = "sha512-UGE9fDJJLJksfQGfGE8JcakRQTfsn7LrtJIbhpnv/YKKwqH3f7Yb4fRc0f7Ekz1uQA1EkdorkQb0dZt0lJQxPw==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.117/dotnet-sdk-8.0.117-linux-musl-arm.tar.gz";
+        hash = "sha512-BUD69RdN8N2xb8DlyobhKNDUteSSnfYjpBx2sG8w3UjRENILeFRIBkID404apOcTtlXUKfvNNhf4K2CVxHlANA==";
       };
       linux-musl-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.116/dotnet-sdk-8.0.116-linux-musl-arm64.tar.gz";
-        hash = "sha512-xmoQFBSkDmJTMKjLyFn7uKxUXIcaNCnoXWt4kAOzzC0gJumBBTliSO2KZq8p7/GbE+lLCrXAYK7449OML2ezdg==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.117/dotnet-sdk-8.0.117-linux-musl-arm64.tar.gz";
+        hash = "sha512-2Rn9gNkGDv4f27BHZU8k3k3DngfQI27My3AfN2R+a1i7QQVXmt2nT5xAkZCK//Wr777DbIG0hYisbRY7IigE6g==";
       };
       linux-musl-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.116/dotnet-sdk-8.0.116-linux-musl-x64.tar.gz";
-        hash = "sha512-47A8T6hvHfvHAJlTAAgqgdxK8j3ypZyjtpyJ4NNy48yVRL2wXuAsD2FUsrrJevAAFkxSSuvQqpFuxy3zKbZThA==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.117/dotnet-sdk-8.0.117-linux-musl-x64.tar.gz";
+        hash = "sha512-8BtBJhZ5lcNSYv/ndp0hymsFWzmIL1zMtoU6wvTDBzYlByDzicy42RQywYLkldWbhrPDbR7facGUJkkmUlsmRw==";
       };
       osx-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.116/dotnet-sdk-8.0.116-osx-arm64.tar.gz";
-        hash = "sha512-2HyTfYHHtBXcK/7fMV2s5giWsP9b7GTQF9q2EqrBpUSCrcfFnYYSUn5iLCJW1ehwBaIR89M4kNM/o8+uABx11Q==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.117/dotnet-sdk-8.0.117-osx-arm64.tar.gz";
+        hash = "sha512-asjtVua8XA2rnp11nv37jqtpDknaTzJqple7pPBzINi7VAM/xw01AIdrI9tX2FqmgyXXZlNbkqirJKufSC98ag==";
       };
       osx-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.116/dotnet-sdk-8.0.116-osx-x64.tar.gz";
-        hash = "sha512-Pj1nGgahBXZRrtE3jGTt6dz3tGsAXmil2RnOW/K1VTuZroKQn/H6e/kU1n+swRiYsOHPxI7Rx5wcT7+XcwhUUg==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.117/dotnet-sdk-8.0.117-osx-x64.tar.gz";
+        hash = "sha512-sOvJ3YuHX8e5TphubByaLVFhPjKXkWMwUITalCNeGXSmFIhSgdgOKCfhXXd1u4u/AAH3dR/mgZH3EL2rJGXl5g==";
       };
     };
     inherit commonPackages hostPackages targetPackages;
diff --git a/pkgs/development/compilers/dotnet/versions/9.0.nix b/pkgs/development/compilers/dotnet/versions/9.0.nix
index 7de632bd7f59..41b17655f9df 100644
--- a/pkgs/development/compilers/dotnet/versions/9.0.nix
+++ b/pkgs/development/compilers/dotnet/versions/9.0.nix
@@ -11,28 +11,28 @@ let
   commonPackages = [
     (fetchNupkg {
       pname = "Microsoft.AspNetCore.App.Ref";
-      version = "9.0.5";
-      hash = "sha512-npNR7X56F/j6xczrnBrWGUkvd/gaFU0CaLswiMQbGnIi1MYJ2woFPiLe7bJnlL2xhLYlpgob6o4Cu6oY7N5uzg==";
+      version = "9.0.6";
+      hash = "sha512-4cbMRgJ07eJMBUi8v3Ps9L+ntztvA9VcCiMvGSIZc7Tj4QZG6yW9PEVrks/X8AfjA1Rj1l8OTJaHykv6oRLZSw==";
     })
     (fetchNupkg {
       pname = "Microsoft.NETCore.DotNetAppHost";
-      version = "9.0.5";
-      hash = "sha512-mVdknn4KHJG9tfUPpwDf2/kYXi5nA43FsOFBYJEwxgv5+lsKRXV+0hMhXHHItSHwWv6l3KxKhXWzBIXdC85Aew==";
+      version = "9.0.6";
+      hash = "sha512-23ET/Y/1NCDNZWVnfMRXwoadsuz+pZrtZG2q1Woj/iZCkvei7zDgUP3OY5HVyHNRyT7y9TH1GA3smeEGRzxVzg==";
     })
     (fetchNupkg {
       pname = "Microsoft.NETCore.App.Ref";
-      version = "9.0.5";
-      hash = "sha512-L/1jHi6pAYF68CUlwlAl27IWrVECmIb3VnDC8oWtEVCBsvFdrt+tjG5SJHGOHVfnNlDvC8dGAg5CNHQB19/GFQ==";
+      version = "9.0.6";
+      hash = "sha512-EgMOEOOHwep0HuDkKqmUHPU5LyytjYNhKEck/jrk1jEuVOMM85gJ51A6V/D8HbpLMwZu6Xf3mun+X8FTQ8rBQg==";
     })
     (fetchNupkg {
       pname = "Microsoft.DotNet.ILCompiler";
-      version = "9.0.5";
-      hash = "sha512-u4CoDTKdSfJFso3oje/YhLxEbwHz6OsBnupzSNXwetmdC58REHsNHfEXiEOoDh8eyc/MXNBrkUjX4kPQuiSSOw==";
+      version = "9.0.6";
+      hash = "sha512-perSjdz+eXfLbiEiuKTpuwyDK6cY/Bb06nXrC5yyzyRSpOXCSTYReckhj905HsLcGhh/fI/f001oZeKkRapjNQ==";
     })
     (fetchNupkg {
       pname = "Microsoft.NET.ILLink.Tasks";
-      version = "9.0.5";
-      hash = "sha512-bMyx4wFS2+u32e6rhVJ1qbSvhiWw/Qd1AB2Nd9BcQYJHMcwPAfLSvmUJHltzKaFurGDRKDCzm1Kvf/72VRpwsA==";
+      version = "9.0.6";
+      hash = "sha512-Syea/ZRRC5TEoOHYOjTrPY5MutLowj/wNyVmfc+vpsjPKZ3aUONP8QtajyFGV2MiaRe3n0v9zICCahscDd0C7A==";
     })
   ];
 
@@ -40,118 +40,118 @@ let
     linux-arm = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.linux-arm";
-        version = "9.0.5";
-        hash = "sha512-lVHFQ8K2gcq5xN+mrzMBuE1FFsDOVrwnzfaGneSZr9aBt6pFHiMpa3B/IN04NcnV2ZEt93qnsj9QsxU3F5cxaw==";
+        version = "9.0.6";
+        hash = "sha512-jZGye2/1bZCKp2pstHa7Ao9WTJvn0nkjW71T9GX1LXlAptkf36QFJhC/3Dty+XqJpsuxRsxU9A6Cjib0g3tCGQ==";
       })
     ];
     linux-arm64 = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.linux-arm64";
-        version = "9.0.5";
-        hash = "sha512-e2BdyeR5hL5tyTUY2b0LmRPVB5NZ/ioCVVbN+G7ZpxufulVdvHGR12SrweElzipvT1hUSse71RjO2UB3nxjurg==";
+        version = "9.0.6";
+        hash = "sha512-Nk3g8RsNxtG8hC5L4BT+VBuqNKo6RnCirF/9d1RjhhwpleMH9uQsvkyKhVm1wNodFORzQdAP+uUgdiKZ6eu/+w==";
       })
       (fetchNupkg {
         pname = "runtime.linux-arm64.Microsoft.DotNet.ILCompiler";
-        version = "9.0.5";
-        hash = "sha512-X5jO/py3v/DcQO4P5TknH++LPHcjheooI8fDCm3KQXejUaVMv3GXFbeWtlpoBjbmhchS95Ye87OooPsLDTOntQ==";
+        version = "9.0.6";
+        hash = "sha512-p2V2hOy/yqf3sCeoxi09m6WoZ/1B7iSM0NXXgcYqoE1G2bhv2FhAv2z2eg6Ynh0GYU07RfQHLwrxC2+qjg5xTQ==";
       })
     ];
     linux-x64 = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.linux-x64";
-        version = "9.0.5";
-        hash = "sha512-sO9udn058dZbRQbNq1oKILhQ18cCZXOa6DLh9JgLqA9baoUfY5OfZNJfmS/kfOILKbCUrZ6WTtHMgZ7ycPN0/g==";
+        version = "9.0.6";
+        hash = "sha512-6A2zGQSBQp0K/Anld6WIXIeCEA0KwCgROQLwi81+NUz0MySjOVo06OgxG+svJeH0gGX4O4g4aP0G0mu5I/9sTw==";
       })
       (fetchNupkg {
         pname = "runtime.linux-x64.Microsoft.DotNet.ILCompiler";
-        version = "9.0.5";
-        hash = "sha512-EAWf5+sR/zL7che2L5IrQTpjBjw/n1ZOFSebZauy0E4sHMFLJSb8KgWXzQG4wN5juTJbMseiU8VbNOS3tnXDLw==";
+        version = "9.0.6";
+        hash = "sha512-Ueh2AoWYf1xIq1GlKxGiWPdRWNTky6id6Nqkxz/tqWE1AdMw/aXQwK9eV6KVSy5X1uMtxqs9437d9Cw1wKGb3g==";
       })
     ];
     linux-musl-arm = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm";
-        version = "9.0.5";
-        hash = "sha512-ou/tAJJiTz8RkcGmSoHi22LSrjJL34GicrARl5WR84cVxVmPKjinwbO/6ys5UmHqg7dlSsZXretTdWfu9EdVhQ==";
+        version = "9.0.6";
+        hash = "sha512-Y25NMIMRfqz9xftyER4Ip9WTbBxmz418hDRIbnxEs/Rm7YTImMNA1spCXPjkYKNGuthjbMP0ycxcrIIP7LO9qA==";
       })
     ];
     linux-musl-arm64 = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm64";
-        version = "9.0.5";
-        hash = "sha512-4IcCNgCcWEOmV+JuEyaEzyJpFhJq3ktDwDPVoMf2c6fNhtl46YgjGjGdLw1uLHu3UYAcJI0Tlvd5kizHwoqEIw==";
+        version = "9.0.6";
+        hash = "sha512-4lzVKIyc39LowT2BJZve13EsBC3bzbPGXC6h1233QA2ROXEVoEQw0xb8MRMb0J9PHR/RnPs14E1p9soDZ5eD+Q==";
       })
       (fetchNupkg {
         pname = "runtime.linux-musl-arm64.Microsoft.DotNet.ILCompiler";
-        version = "9.0.5";
-        hash = "sha512-AMq9q2VAWgNOK63kxWcbvBc+wUUB2a2gK5yfeNpj0pK9rb3i9np2tmm7RbXEDCkDr/m6hR/kqm1RkbhvRdofEg==";
+        version = "9.0.6";
+        hash = "sha512-ugY7GnQv+2h3a2huCseWo4twDkszWWLJ2QB6Y2pthaERkbqWF/+n6Xr0xLWVWQkI5hhsWZ6S2jOjrho2OAUi+g==";
       })
     ];
     linux-musl-x64 = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-x64";
-        version = "9.0.5";
-        hash = "sha512-Ndx5gVPDtSfwCwFEXm520IUk86xPUQ0yzU5ZkOj5Enkn2Tt3eIC0rI0Stjzs52/JYo1oHM9Cj0FKoHvm2XX6+g==";
+        version = "9.0.6";
+        hash = "sha512-5BbS9hxja2XWQBNM2Wz313NevZUAt35dqThe7sPAGEYTvs33eEt5fCs4xPFxob8M8z0meFjwVrVodzzfXFodFA==";
       })
       (fetchNupkg {
         pname = "runtime.linux-musl-x64.Microsoft.DotNet.ILCompiler";
-        version = "9.0.5";
-        hash = "sha512-aE+vLS9/ZwCaunIpKgzPYl3siu7eglD40YpT/ggX97+8JidaS8D/q8/nJ3CMAFwkWs6RfcdG739YY8TvcfyYbQ==";
+        version = "9.0.6";
+        hash = "sha512-YE1DyntUFOnzuyhPn69dxyhuRCAlmYfMWDIGwolrV7mAa3wN2hgdTqK2bfUNdsT9Sw0lqk3W02XATfVolZ5aeg==";
       })
     ];
     osx-arm64 = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.osx-arm64";
-        version = "9.0.5";
-        hash = "sha512-Xa1BhvYwDZP0ajkx61psrhbovJf97lUKXg58LJY+TA/9xURTUcMrHSn5BB+wPHDYtBNsJftserTvG+HeR+NXQg==";
+        version = "9.0.6";
+        hash = "sha512-jL7rg+9zAfnGbJQXtoT+SQZ7U4Xg34As6oQwIG8VuR5wVynFdPUgXp1H3dem1EKG/obE6PgLT4MgJM1mhXNDQg==";
       })
       (fetchNupkg {
         pname = "runtime.osx-arm64.Microsoft.DotNet.ILCompiler";
-        version = "9.0.5";
-        hash = "sha512-iXbcLp5noA610tVVbvppH0WoGw9Tk7x0sVmbEhTfvhtrgz7SAYvnJci8XMaWIUNTVterN0w50E6dEHUV1mX+wg==";
+        version = "9.0.6";
+        hash = "sha512-saNHscRs66/1FgZ7tQxiSK7E3AqLheC3neSMAC2bvyKigvli2tHK48y8kiuvWoa7oPL8+yTOpN1Xgx7/vcy32Q==";
       })
     ];
     osx-x64 = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.osx-x64";
-        version = "9.0.5";
-        hash = "sha512-69GFvWBiC0BXfgDZ6QhMPr7pUmrepsvF+C8I7X/Co0KpHtB70/89nshsY/i1H3LKp0vL+pfbJFRjvTrf+L2Sjg==";
+        version = "9.0.6";
+        hash = "sha512-S1KSrW7+6q7M2fLLhXXTdrAvfa2E/LJnVuHVWMpGz+9ISiV8XI4iSW7ehrGiQ3pi13y04JkgFs3Qhug2tFONPg==";
       })
       (fetchNupkg {
         pname = "runtime.osx-x64.Microsoft.DotNet.ILCompiler";
-        version = "9.0.5";
-        hash = "sha512-MmwaKx16ig2VMYpnGIhhIDYfNonXUUf+DocK7hg3Ur+zghob63ZQ4diPaMv75gJ+f0TVWHUDuwIn8u4apKE8ew==";
+        version = "9.0.6";
+        hash = "sha512-75DcTB0ssV5GYzcEuftwrQ8k2LyDB2e53SQpUyAbfM1oGduUxWmntm43OWcCNeE8t6q7eq457pHl5fwI1Fr50Q==";
       })
     ];
     win-arm64 = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.win-arm64";
-        version = "9.0.5";
-        hash = "sha512-A+ZcBjMxZRcWNYjBUQ2EoX759Ls9x5gWHe3vdzfWF2YCg7GB+vGlQx2UtdMfkaGoH/nkCXl0saghJSuSWw8+DQ==";
+        version = "9.0.6";
+        hash = "sha512-3F7atPGjj6zBgdfWINFk02PVvvf90ldUxRHCGpvyFQW+DNmx7y/zqqnSDmM14eoVRZcVCRPaKCvPjfv1KNIlag==";
       })
       (fetchNupkg {
         pname = "runtime.win-arm64.Microsoft.DotNet.ILCompiler";
-        version = "9.0.5";
-        hash = "sha512-urCeKcia9RhVJJOBROuCXfOBTB3qbAO85uyYhglLGSaT0XAHzQ1p0iFS+nZrFBdHTBJ9Z0eK01mIW03FNAFb0w==";
+        version = "9.0.6";
+        hash = "sha512-c8f2YKBlMf1WU5mgkDvfj2dC08ptngMc8KhcCpHRnOwPLMJUUA3luIe2J0pZ+nKBmux4Mt7t2QY8DUbmOrI/Cg==";
       })
     ];
     win-x64 = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.win-x64";
-        version = "9.0.5";
-        hash = "sha512-NI+qfc8De8XP9ppO1q7vWBOqrDIrW2/Sza/jUN5tObfmJ1tycjpChtNOs3mSrbU3Z/UYrAQkvupGYvL+gCZSQw==";
+        version = "9.0.6";
+        hash = "sha512-UGSb5nYKfDFV0dsRbRMemfrw1qeYNusbd7ILPLVN+PH27ge9IjbV80PiJApW2q7GB2xN35WMhWiwrmE2Y2JsIA==";
       })
       (fetchNupkg {
         pname = "runtime.win-x64.Microsoft.DotNet.ILCompiler";
-        version = "9.0.5";
-        hash = "sha512-Lcuf3n7bbcm0qc2lqzMdrQHpS4NHcUPp+3YVrfDjRsxYquSooHb/JtlslBmLhOwzUMUD3y9pJLAd3pk2K8+iDQ==";
+        version = "9.0.6";
+        hash = "sha512-Bk+cjNd5fEgTB7FoXuUgV7ke/VMUDUnRryTq8m3wsnA7Il0RbjtFBW4Ut9RAKU1y3ZYs4ZN40rLgE4s0JvzHmw==";
       })
     ];
     win-x86 = [
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Crossgen2.win-x86";
-        version = "9.0.5";
-        hash = "sha512-CM/Pt1M4wrBxhwu1tC2smQ3b89bK0tHeHbw7bb5N3t4S9TO1OihQUSNpKYNYUcag+i7MQACkJ6ar9w+QCwUj1A==";
+        version = "9.0.6";
+        hash = "sha512-T8KyQcQtCWwWcwzuBKvPvHu5xHneYQ1RA1PNuWGk27rBklXmxt98icULTYpdDmcGqn2BQb6GlM7UWBYPA/VFjA==";
       })
     ];
   };
@@ -160,361 +160,361 @@ let
     linux-arm = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.linux-arm";
-        version = "9.0.5";
-        hash = "sha512-dcr6pOXx0PgN1WGp4qNoxx6/VG5DxhhbOaudgoVnL1xLup53kjIytNx3K96gHVzpvVTQKGt9RgomX/bTwYuuJg==";
+        version = "9.0.6";
+        hash = "sha512-+NPQTOSkxtMikAfdRvHUccbJSRjgmJqhviHXB6xr17ZubKpbHBe1r8/5BmpUgNedykJhM+yjuM5cG12sLQ1lWQ==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.linux-arm";
-        version = "9.0.5";
-        hash = "sha512-zxFRCxPWBcsHfMhX4j+yqRHnbeQlR0NTw8JEYYO4d/V7hgwBL3obJQeTTdP+Xh68QxFPJFqAQTCJTTy/T406bQ==";
+        version = "9.0.6";
+        hash = "sha512-i77xcc7KGxpX1Ydaa5R15+eNtko4CoIiH6HcwaDtBmnSeoLe41v/sp4W/OXlqrd+Q3a6UW481ff7n9odhgxsKQ==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.linux-arm";
-        version = "9.0.5";
-        hash = "sha512-aUM0/okMRohpeJmvrRHbpyF69SptLu+DDufJC3APk0I0ok88T1HSlG/vn5Apit72KTOc70vJVMVcaQcNAN1R7Q==";
+        version = "9.0.6";
+        hash = "sha512-FBlNeLvbEAjmweRkAMyVxPuC2LorMXgVJmXomt3zqHmpy6JJzF0fVQuaIAQR9rPXwQxBNW08PmgXqRBf31i8RQ==";
       })
       (fetchNupkg {
         pname = "runtime.linux-arm.Microsoft.NETCore.DotNetAppHost";
-        version = "9.0.5";
-        hash = "sha512-xN6i+Ov/DrFY3S9W5jVW475scRokjdiMITS05+NfPXQC70zE/kfVujdXVQlU1a6qcNVO1p70PdMIzvs2FRtpVg==";
+        version = "9.0.6";
+        hash = "sha512-ekkS3SSPWUzKC54fK5zDz8ZMe5kyLIK6l9mlFZFPuJ/mvbJ+t7YQmy97Lp/rcjUDC0z2SvwDcbe4rw0JNCJyDQ==";
       })
     ];
     linux-arm64 = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64";
-        version = "9.0.5";
-        hash = "sha512-Mt8To4crSMlcaHP/BiZuUAroEYQyOazOx6jzVo6H3GNlLKY7rIFk5cgKLXxKVF2fLcnab8d/DbBY1ZRlW0DUeg==";
+        version = "9.0.6";
+        hash = "sha512-/AhNE7lNbGsFfMXWk6/AAN5vpkaqrnwzTZJ59lUSba1onpCJS8ageZNZZf2vFLpl2JYuNt7qTgcBRTWZ1I0CEQ==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.linux-arm64";
-        version = "9.0.5";
-        hash = "sha512-V7LGhVXf4viIZlEBldjN9P5zririHYIcF+0WOdWVydaOvygXoY4Ni4q8vjFSZ6elJAtremagj3hIZyXQul2+jA==";
+        version = "9.0.6";
+        hash = "sha512-YBOl4EfiO8a9AIdr7hdbeHB4vu3HNQs60YKLakZnYGp+YYlY5VfOF+NMcAelrkbOf88HxMoKsPtV0WuQrn6Mzw==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.linux-arm64";
-        version = "9.0.5";
-        hash = "sha512-Ohgbw58CYKcYdo/wX7jRSwbgmZbSadu/b8bKeuRFQMSg5T0UH8yCjSqZOptt1MS/8HmpbEIA1ftgkT9agt+OvA==";
+        version = "9.0.6";
+        hash = "sha512-ldmqB77CuVlSeYEvLXsOf8EbFgyDGNPm7hb23aweU0JEbpkYlq1+LhGMKavB67nckMhOkMWNJioWXP4+Cn02VA==";
       })
       (fetchNupkg {
         pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetAppHost";
-        version = "9.0.5";
-        hash = "sha512-SHabZtiO2X3nJDFFO7kgv1rBpoSdc3oIHqQ2B2CmfScUO5vKu+ICDPl8ppNblEO8QijdU7Ro/doHY0J+sCxGoA==";
+        version = "9.0.6";
+        hash = "sha512-ka7E4MUOFjZyNVyglGgVhXWp1Vj0lyBUJ7b1aHgegcXLSvDP0GwNF66IBjPxz9PNZF4MxNJr5F5Ny8u6FKI/gg==";
       })
     ];
     linux-x64 = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.linux-x64";
-        version = "9.0.5";
-        hash = "sha512-eGGCJb+uBv6vOgtEe+ED6KXtAXbCcT9xTpDwugitsQ8zBhIwI/WurixXw3TjmUqrvZxZ+HJCPoRl/kMmNuioeA==";
+        version = "9.0.6";
+        hash = "sha512-0hK87O2vVKwqG9paC9hsVCKOZqjEHcCrLhR1a4A/sbUqQo8B0MFKvvr/p0w5PFmiQmho9lriLWcJ9gImsSt1FQ==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.linux-x64";
-        version = "9.0.5";
-        hash = "sha512-3LsjkhMoNA7EvYv7O6OrVrryhyegoSBE5Y5Se5iJ7HAXFSUQ7fIYGihhGxy/Gfr8X7MrRu5JGkLx9inxSoB85g==";
+        version = "9.0.6";
+        hash = "sha512-cjrfAzBmcTHSJno22YZG218HD1WjXe9CGVUN+sGBxP/c6fqGulOI5UDJJDmQ4FUV+rW0cdTre1DYLtWiMuI8Jw==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.linux-x64";
-        version = "9.0.5";
-        hash = "sha512-G6euOgaAfYCYWmWlDU2NFfpZ6tiC7/fDiMmb8YtlQVPI87JatLGWduxQQSqdhwKMDJuQZob6tW+Dv7a3LZt03g==";
+        version = "9.0.6";
+        hash = "sha512-kj9m+09fQalBWgRwfaYThuTK7NFPtyad8X63jZ7gfj7WnqsqZLWdsBtNihaJVoNj94cHHVut3MItFfCWtpPfZw==";
       })
       (fetchNupkg {
         pname = "runtime.linux-x64.Microsoft.NETCore.DotNetAppHost";
-        version = "9.0.5";
-        hash = "sha512-dj/5fuYoWKYLwm0RMvVUDM4arCBwLXBIZvYZJRTQFlv9MFxwVrmaeqjL45UVI1RgEzhwLLEUR2MQM7vMUP/QLg==";
+        version = "9.0.6";
+        hash = "sha512-Usx2GTbhdsrrBoIDG5ZX1DUfDBJGVGtf85VlH3tX0YXBzVBVCJJPx7IfcmakG1fozurBhNpWiGXbglyzskySnw==";
       })
     ];
     linux-musl-arm = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm";
-        version = "9.0.5";
-        hash = "sha512-9cYhk+OCPeVyNyFEbAweEqYHCIkreEWXzXyP06hpxGu8b//n2hLrjXv+aErRjVzGlpLZoRalMyzREx7naSEgzQ==";
+        version = "9.0.6";
+        hash = "sha512-MD2n0rlApp3G+Ur2lMQLh1iQl6afbm1Q4KwZpB1zV43HaZgxBL3djW4cKFjDYo0aP2Bgn1ycoL5aab9aZti/5w==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.linux-musl-arm";
-        version = "9.0.5";
-        hash = "sha512-sFJWSzk+HKZ9vSOgN765Nru+XAyebFwgKOvAdynCv/2hvluBYbS8FcLkydd+n+PYDrw+yXf0VPWlzpnWeSmz1A==";
+        version = "9.0.6";
+        hash = "sha512-6qvqNn2PfL8YUY/CPyeZTgTTmi9Dw7w8aJrpn7DgpPVjnspb8vsuRd8T1Li2PTU5y6E8O3w6jetrdI6mgpX/Hw==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm";
-        version = "9.0.5";
-        hash = "sha512-8Wyh6qTQ2oZaJeGP5SdiWaXoMc6NRMmhHTO1jd8H1XHhgBRXXbkeSHOy30+HInhTiLo+1h5zeI6WBZl559Aa2g==";
+        version = "9.0.6";
+        hash = "sha512-oAQ1cHbW8ZdXvraB09nbu1V4b1eUN7ZH71+yFX21t+1ArT5H8PVQ/hrd2K6WhDGFJBXlNjYT6Trlg+gbqKAheg==";
       })
       (fetchNupkg {
         pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetAppHost";
-        version = "9.0.5";
-        hash = "sha512-mH97t09X3T3JlJC4FfWdX0aG3hYfvmBtA09ysq/eTXEKmGJ4jtl6I+EfeI9dVPFSdYkHlBpMLmbnyfThTJqg9Q==";
+        version = "9.0.6";
+        hash = "sha512-ku6jYk5c0aPkZ8JpyAZpjyEJkIqNalrRl8TQUF8c7LGaFEzjR7jrTaiXUeEojl7FX07Jrmo5bCwkbi+P+rMbxw==";
       })
     ];
     linux-musl-arm64 = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm64";
-        version = "9.0.5";
-        hash = "sha512-tBjTfNRXttxWvq296At7QvA++n4lr2TnPQP/ub5wfsnELt+IIjnc7Kt8c+qKEJosdOP0TOKiQoyYbYKrH1JzBg==";
+        version = "9.0.6";
+        hash = "sha512-GSnfCxkwq7J1PdJaNcVSclPNOftPWD6m+CDwYdkxmFFcI7Qn667+UAqof/zTDlrWBKSEnQ6Og0I7ldHzrbyOKw==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.linux-musl-arm64";
-        version = "9.0.5";
-        hash = "sha512-pJotYqQ32S9wPYYlw/xgMxrOS/IGDAxWnHNtynxxbyrLGe+Bvpu5mAWFOieTCd5R7PGgCStLL/RCCzS2HDo4/g==";
+        version = "9.0.6";
+        hash = "sha512-mvNpFSjrYU7/PMBy98idjunaBKU5PolHyFXbYyVPrlMWUWSo5F5baxM5rFmD27tEJOEs4BFbKGGAIgjTl0dL5Q==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm64";
-        version = "9.0.5";
-        hash = "sha512-PX4wq6bS5SJraHVSM8JVazfoPE3YzgIht7zIvFyobXqRKfH26DFmolor1vGxlFoboyOxIvjaG/Ky8nXo9zTLUA==";
+        version = "9.0.6";
+        hash = "sha512-csGlXEfhrF2w3JUJr0hBgCRkd7jAjOhTY9jsNbl1f8TIhjepUH8q4dPrRrjBzXopRW3iqD+3oSetnS2/AxqIAA==";
       })
       (fetchNupkg {
         pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetAppHost";
-        version = "9.0.5";
-        hash = "sha512-Dnl6fzn9mg5UnGShXymf1P557chMX39XUQZ8GnoTYIB7Nmni80ncNO3z24WcMDvr4U3AZJvk1CARRLAb8sk/Sg==";
+        version = "9.0.6";
+        hash = "sha512-IFZ4+4RboQyHCLwSJ/4hWFkRbBez2rDTp00GUC7tQRjH3d2vPBd5GPu0joBod7YqmjQCDw+APwgm/LXuF02RBA==";
       })
     ];
     linux-musl-x64 = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-x64";
-        version = "9.0.5";
-        hash = "sha512-7OeO4DIkZcGk4RebYl7T4CKXM7JfVwpYFbkNqHDw8JkzqlLZoVKRgx0jKxXZbOXQ0WN+rJttGKdBDeiZ3zmbXg==";
+        version = "9.0.6";
+        hash = "sha512-P17+iLFLko8DK8zVsEwlsxVEsA2aMMdWpmEhTgyeHfG8uq5eOyMSTNMOWeOsDDpThNo+8U9d4xULnV46IRFwQQ==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.linux-musl-x64";
-        version = "9.0.5";
-        hash = "sha512-tZ9zT1WsKnq5YQhRn4VMGESI8ESDdUAcjQX2/zsKQTW/jpTHUWxhmT/M6EcHp2bMKzct+vF32HCJvZfrbCw0iA==";
+        version = "9.0.6";
+        hash = "sha512-MWQXJ5QsswPxfykUi4gHJ2X4pnQ7ZWeIiGRx9mEWoZPV/NkC64DBG5KC9u9+hCluij6BZEFjwBjl0KzCuOm4WA==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.linux-musl-x64";
-        version = "9.0.5";
-        hash = "sha512-m4VQm5xFePhThG2c63/d3SvGi03zPEFmQcKycV0lOqRHlo809ahHkhq7taiftuwRTfFy/5R8+5TEsaAOxQ6gpw==";
+        version = "9.0.6";
+        hash = "sha512-eVf9gQ1qlT7uUVfYiSLpj1H/UnGqkSUuq4/evLuAxA4JHGFRpv/GdNmgMcM8nVTNm9KkQj4XtqoLy4iS3zNrmw==";
       })
       (fetchNupkg {
         pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetAppHost";
-        version = "9.0.5";
-        hash = "sha512-fgOU249WCVcsLJdS6BJ1auevUutNXlCqcsyF8wECB8Oq8SSTMKKFFJl8n02n6ZoJoGp0nsK2LgubYatGq6CaVg==";
+        version = "9.0.6";
+        hash = "sha512-nesIUxMmU5gIh8GRimFetwosmow5P5ij6USkbkM5f+iE/C91TbwZPrilv8Tix/Gj8OR2lOGlREhYHUsc+5H9uA==";
       })
     ];
     osx-arm64 = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64";
-        version = "9.0.5";
-        hash = "sha512-WUqvMm7lDZ9qCfDUQSTyuBr3julN+SANxShfxBe972+qO9VIH7JRL2u85hi8IKP6L13L0mVX2rO6iswQfCZE9g==";
+        version = "9.0.6";
+        hash = "sha512-noJBW2+TxZYce0afsgMJAAA//nxOWF+KASiQ3fPRpzZjeOGfdNyY6BcAt2i/DfVU5u/cqY0IwOfVBd6iq3dkLA==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.osx-arm64";
-        version = "9.0.5";
-        hash = "sha512-2Y+mmx4hJtcOwNb4qJUuqv0ekrjAyFS3zCK2a6T2TpNQ9ON+ywbnkjQfqwo+hs9uWE1TBiXS1iGgJ6k/f0W3Nw==";
+        version = "9.0.6";
+        hash = "sha512-DIJUSz/0MD3YBkhR17re92A9FGyu+1lhWJX4SkFdl7pILxSgJUqQNdZpnh2KssNWNbb5j0EtP9G3Tc2uUCH8bw==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.osx-arm64";
-        version = "9.0.5";
-        hash = "sha512-AbfmNGg4zIxlpqakXSdmFYk6k3JE7P2j2z2qUymYbuCHyzS9IqwRIL6zK3aHhUS9b4BWrZkRGbrvq+t9zYERMw==";
+        version = "9.0.6";
+        hash = "sha512-h60P7+JXr8o1IPHe7pNxESjR8+pVvYT+AFaG5L8G9SIKVr+Rtt8P5rpgUXXLyydWDiarrRUdo52Dr4CXkc6Ojw==";
       })
       (fetchNupkg {
         pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetAppHost";
-        version = "9.0.5";
-        hash = "sha512-przDLKwmZAQ3fdAlyZ7QGwZZt3s86rgqrcNO1+nmXcCx5ZD6ZlY7Az9QJ4yXkSARFZ7Opk2jep2kEW7Cfpv2zA==";
+        version = "9.0.6";
+        hash = "sha512-aZgVLnZjLpr6oPPSDX6DiOAnZoDukSn5xmqkWj8c89iNXHRE1xK5yRNzwRV4fyWIE0tIf3EvoPOlzE0BpEBSYA==";
       })
     ];
     osx-x64 = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.osx-x64";
-        version = "9.0.5";
-        hash = "sha512-KiwdOy8CONzPmGpfSClgu06GPh2W/6Dhp9IA6cUXx5TBi5WgnoDmd4Me9Q6UmGISuR6hCHsKiCWhh/5h9pJDPQ==";
+        version = "9.0.6";
+        hash = "sha512-rSpPx3elDDELL5n1c8teBQWlv83Z62cYRltExoAA3D/HB/YKcqHNjnQc/4XB0O40mP391+h9bfvDSkMdUc9/3w==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.osx-x64";
-        version = "9.0.5";
-        hash = "sha512-VsEjG4O4eutC8yMRK6naQco648zjpTNl6yxP2fCqH96hq4epnscbmoMio/Bxopt7Xi01y+L78zEcJF8bY591bw==";
+        version = "9.0.6";
+        hash = "sha512-+/DAiKxDjWba4DRXmw1dfaK+FWA6foy1sGssWxs5eAw2wh+uROtGsKJrz4rf1k7d9KP6jF+tVsV0vb/bBi89Cg==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.osx-x64";
-        version = "9.0.5";
-        hash = "sha512-g0Sd+FeVygI2RcT/5DNLcW3c2sePB3aMzc8SAnPI35YB4wfQSbrCeN6B5pw0rZAGP5F6FnnVRfZUTJgcnWCZ3A==";
+        version = "9.0.6";
+        hash = "sha512-b3UuGcvJHlP9ie1D6YLwCabrhRYZjbhPxYe9vMGPUGBlTNIZUz7kdwNyIyCAWT/dQRqOKD2EoNBpV5CEIRoUIA==";
       })
       (fetchNupkg {
         pname = "runtime.osx-x64.Microsoft.NETCore.DotNetAppHost";
-        version = "9.0.5";
-        hash = "sha512-RUBFgRdKBSinOH0IlR8RW5RJOf4jghKTRbVRUD8JgcWriAfNkBboyCO9EhuBEs7219qMlrI5VtQxDKrZi042EQ==";
+        version = "9.0.6";
+        hash = "sha512-9p0JQzftQn+daDgkQOeTc0y4zMw1XSwfDVU/0r8GVXJ7uGnHnQ7nLE/7ZYbKuEesq3POXWz6zXvQG6IbsAzgQw==";
       })
     ];
     win-arm64 = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.win-arm64";
-        version = "9.0.5";
-        hash = "sha512-OPTkSCy26Na+K4J2xpIHmW+KquH3QUguRR3PH6pr0pggL0Cs9dvEepp2yC3oy5422K6yijhyBQ6DnRGJmqh8kw==";
+        version = "9.0.6";
+        hash = "sha512-OiHjmlNigwmhXEazRkn8KpJqBfHlXd1gT22J18v/hj5W5XMec8EYkdNSS0Pcj7mRHUmKJWeQB0bBx95sDJMQig==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.win-arm64";
-        version = "9.0.5";
-        hash = "sha512-efQXE4FXpKHFSaW2/qEG6QHZfe2QnOXzyhVxQdF35HcExk7zhkRzdQigtQ35ugDfjfG2E0bnMijQgAowJ/OjeQ==";
+        version = "9.0.6";
+        hash = "sha512-da1Bckkc0nO62ixInAZ822MXqMi7oMqcIo1/PRd/AtmNuL61tHRZB8VEVfT7hHBTM+VpvvZMquWcTg44nwkYdw==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.win-arm64";
-        version = "9.0.5";
-        hash = "sha512-2MkjZyR4eKtpIwYtwa3/aJD7v8dz8CfE2wQO0+HX0kiwi/UbUp+R+l6//QcjEm8z4CLZUiR7iu1GoVFtbHVFUw==";
+        version = "9.0.6";
+        hash = "sha512-6eV83UTMgW9ysKifWY+qvz1KTC077Wxt4DobByn8I+Op5Zk4Cowta5IYrpTAaA2F84I8cKldyqDtcgMyuJ1ciw==";
       })
       (fetchNupkg {
         pname = "runtime.win-arm64.Microsoft.NETCore.DotNetAppHost";
-        version = "9.0.5";
-        hash = "sha512-nYw2JUWOVAWFEkJ0QF6YPOkB5/YtauREJqPDvu9XOETbozItpvO+qkrEfMUfsZzZOhg0pDJzYrLH0Y1DfA0QOA==";
+        version = "9.0.6";
+        hash = "sha512-gkgM4PHEEP2doB8VNHiwBTazR/0CaX+fAB/mu2sC/yEDLGvFWF2wPwmVLho7YqEy65XkZUOxvoBdIQpYbxkd9w==";
       })
     ];
     win-x64 = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.win-x64";
-        version = "9.0.5";
-        hash = "sha512-7RIDa9js+tIxcs24Ph4IbI3/bmimPcDHhWuO9wGEU0LC2FVSZbUnMOpdLUih5uOQYHx2upBrGqDXzs3U1YjtSQ==";
+        version = "9.0.6";
+        hash = "sha512-/AneeKhgbNFFnlsbKwsHd7Pcjx8LVch4/sjtbLLYdeHCBEsdFTG4dObQAuaEG+JlcVE3r8yAGpyl/d2HB2nVlQ==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.win-x64";
-        version = "9.0.5";
-        hash = "sha512-DWQNw2TAkz2IghHmpdBmDy6fjJwUT0xpfl5KcN32EmXFgODbeDnlOHyGrW+DnOg/jeiBwidNz5bLH0Yeqkn0iw==";
+        version = "9.0.6";
+        hash = "sha512-nE1uPy5By1aOy3qMujXO5N7/k3KlwhBNU0WB0BUUt7CSK8aRk9OZ+6LpZP0BnwktKy9lV4jlenF6ATimmH9yig==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.win-x64";
-        version = "9.0.5";
-        hash = "sha512-niFnR3jx4KQjMUg0MOP2OZAN80qoRnstTi26vwU6OREoVN7n+9sa3iRPaT+XyyUa+/egzbU2TTrR2zJ8+dNrzg==";
+        version = "9.0.6";
+        hash = "sha512-vhGiijVula3UY5RCzFEFNdoOWLt6Gcm1FZRuE6EHOX5A4bx0poj4it6vkEZTe/p5HmjBiuLte9RD2uwd1aOC0Q==";
       })
       (fetchNupkg {
         pname = "runtime.win-x64.Microsoft.NETCore.DotNetAppHost";
-        version = "9.0.5";
-        hash = "sha512-AKZVJ95KmBq2a3LGiaBLwByTpbeiVOcQIbOpbvUxm4v593/2AfH5YkhBO3d9DkX/WcmTIxCuVYArLKuIBBr5wg==";
+        version = "9.0.6";
+        hash = "sha512-lLsdNjROghJNpR66Twj233udoE8O+ZWnksQEvo1bzQzGw9zUUo4MooUGXZkuoD+FzUDDzdaBmwZVzJE6eEZZLA==";
       })
     ];
     win-x86 = [
       (fetchNupkg {
         pname = "Microsoft.AspNetCore.App.Runtime.win-x86";
-        version = "9.0.5";
-        hash = "sha512-7FzK7ZFl2uIdoxbry0OhzREpXD1hw2JscEnScAqakRhN+VjxYwegvwSAHqIBKWIoP4lwnFrlCWi0a7Tx6uqPvQ==";
+        version = "9.0.6";
+        hash = "sha512-OPg+mErxqN/lfrtwyZ5OpFbcwx2m61G23cZucmaOs2K4ezh2cUzRuFyXs3jwaTgrl+x3uI/ZJoXxGlOIjDsfrQ==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Host.win-x86";
-        version = "9.0.5";
-        hash = "sha512-OBtv2h92NFsBd5igAFCfEKhEPLoaAzlWEOFq7DgIwxSK0dRgxsyoN1ucuFyxcdhoeoL/tgbCCln9PPhFiOFKzg==";
+        version = "9.0.6";
+        hash = "sha512-prdOLgJLRRGXhqCgxXmWY/bEyqqFOS9crkM/wuguVnrTGO/hU3ARutgJxy4EDTGVVMXbkPj4CK3JFQl1qw+LBQ==";
       })
       (fetchNupkg {
         pname = "Microsoft.NETCore.App.Runtime.win-x86";
-        version = "9.0.5";
-        hash = "sha512-206fJvhhVksd4A6+vl6SJQSOIBI0RnX7LTpTzTZTI623ujzvNeRKxnvfaPjvic3p4y5U4ylY87ZKnmDyxF4LAQ==";
+        version = "9.0.6";
+        hash = "sha512-8xBtrtU3QgkQJmPb3Cn1qNktfvgWO45GAqQipNUVF01CdWkNQEcYhreUEPiy84tgX1CziyKjWz95MM+/3kDf+w==";
       })
       (fetchNupkg {
         pname = "runtime.win-x86.Microsoft.NETCore.DotNetAppHost";
-        version = "9.0.5";
-        hash = "sha512-pKjelywn3XQhcEjlRdH+KG+itTvvh7md1Tr6+lH7RSiQewicsTO62pRTRPmEPUxEqRQPcTfSKVgC/xqvv1cWrQ==";
+        version = "9.0.6";
+        hash = "sha512-mt2dv5Xg0yqAjF8b363gOAWSfyyF+m/Aq9H8hN8P7lDGJ//VZ7m0qHsL74Kj81U/g1Ehkzj7CnQwoUB2oyL2gg==";
       })
     ];
   };
 
 in
 rec {
-  release_9_0 = "9.0.5";
+  release_9_0 = "9.0.6";
 
   aspnetcore_9_0 = buildAspNetCore {
-    version = "9.0.5";
+    version = "9.0.6";
     srcs = {
       linux-arm = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/9.0.5/aspnetcore-runtime-9.0.5-linux-arm.tar.gz";
-        hash = "sha512-eIX4bcjP1VVwFzn0fhxHQKzPuyqu7vYpwp/XXCEcpVbt+HN8lCcYz4t8+oiGAN17qBk6K+G7vwdUztlS12IXyA==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/9.0.6/aspnetcore-runtime-9.0.6-linux-arm.tar.gz";
+        hash = "sha512-Q18eHRmdi0kBVaTaNSQRN9FxGWsi3RnCM2g9BDHYSOE6QkRWP09DhJl0WfQKdnr3202yP22nIs75oRxzJQqd2Q==";
       };
       linux-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/9.0.5/aspnetcore-runtime-9.0.5-linux-arm64.tar.gz";
-        hash = "sha512-vR2xRaKbLu9EDroEkcW3C/KeZ5PrqrRT0pOb06wWH3wz4+Sx5lpzTdT9RBUTV7TBUKTPy1recknL8tAyZtazKw==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/9.0.6/aspnetcore-runtime-9.0.6-linux-arm64.tar.gz";
+        hash = "sha512-inAkvRRCVPQAwHWO/Vw5hU66XX4xh/veLchXzt2QEq6TrO6xaDv2vzkM77pAxQ+VzDKVoajrgxM6jgG5EonfxQ==";
       };
       linux-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/9.0.5/aspnetcore-runtime-9.0.5-linux-x64.tar.gz";
-        hash = "sha512-tguLX6a0U4BlFmzRJm0HXGTEZLKBFZ2YvwMTK/NjR4zMEYWppRc4y+N9hnUoIPa+St1SCBIKgN+yv0qLWNIsxA==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/9.0.6/aspnetcore-runtime-9.0.6-linux-x64.tar.gz";
+        hash = "sha512-VMEixMYSfOfg8K0EeaEB2xRVSEyeW/+o/cDdctLbAovoaGHzMfLHwcsurumpLnQeTl2lZ3lVM+Rq8n5OSBwEUQ==";
       };
       linux-musl-arm = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/9.0.5/aspnetcore-runtime-9.0.5-linux-musl-arm.tar.gz";
-        hash = "sha512-YryhSVOANUVOUhIuUGVy3SbtE7Nwfsd9zArXqzntONdpMXBnbjjuvOslKei1avpYePHAh087DYOR7AF9Jjhnrw==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/9.0.6/aspnetcore-runtime-9.0.6-linux-musl-arm.tar.gz";
+        hash = "sha512-8OfrOheC79iKYMXEW4nyRAaP3Jz7GeD/0LR2Cg9xJfQ/K9AOqvaa1e0rXyt00oR8kW/3lXnHdiin01hl1yuqww==";
       };
       linux-musl-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/9.0.5/aspnetcore-runtime-9.0.5-linux-musl-arm64.tar.gz";
-        hash = "sha512-EuBQLBGHmpPlpWjRm0o7UKCWQluSRyDP3E0s5TI0URhULqLdycxAn507cG9srClSr/o9JTF8vyQL1p1DFZ4c6w==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/9.0.6/aspnetcore-runtime-9.0.6-linux-musl-arm64.tar.gz";
+        hash = "sha512-xh80kOf2wtQ72Y35WUo4qZE8n2AWiL8GMbviHVUyml9XMfzEwPa/YNtNjpnwtQcAsYhtNC0fiZqN2+nprpbw0A==";
       };
       linux-musl-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/9.0.5/aspnetcore-runtime-9.0.5-linux-musl-x64.tar.gz";
-        hash = "sha512-iA1sUWr0bdoGhsDlalXK1djDS/48rNvuaKnSGl/56e6TpsQn7wqr1MRauVqncu3JuJkn840HYZ22IZyT5vbkOw==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/9.0.6/aspnetcore-runtime-9.0.6-linux-musl-x64.tar.gz";
+        hash = "sha512-22cIKmvRLSaN+zk9rBLfMWJo5SQBBm5GrtIa3MVaadMQLVegkwvVsOWiDlq89k1J7KmVGLKskS13mgBH02xFvg==";
       };
       osx-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/9.0.5/aspnetcore-runtime-9.0.5-osx-arm64.tar.gz";
-        hash = "sha512-t8U4cBgq0tJOBSfDvtbUYmdrOuFfqE45fuaMhLp6IrqnJVrfaBZvQclyE3gWnGOGTcL90HozqvAWwjqHoWjOxQ==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/9.0.6/aspnetcore-runtime-9.0.6-osx-arm64.tar.gz";
+        hash = "sha512-iTQiffdr2Iq50nb9qKmrmBy4syAgF8TiY6RLwBzor+X1Pai6BGzFpIQaPeD3IXZ9kJZFWXl9A5cUT07RRv9pHg==";
       };
       osx-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/9.0.5/aspnetcore-runtime-9.0.5-osx-x64.tar.gz";
-        hash = "sha512-Zimt0BcbjwVBVbcLw7jcbOmfHZXGtlVoJWQcDophzagfIdB7x6p9mT/1H5VE72maJ+yhL9LV7rRnI63i/Sb5mg==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/9.0.6/aspnetcore-runtime-9.0.6-osx-x64.tar.gz";
+        hash = "sha512-SaXkIpnyK/0qpBb2aXernIdJ0uBGSSVZFebXugmJ1f0lObX+G6QV4fO106sVKBghoHo1853Rwl20mujK0SQn3w==";
       };
     };
   };
 
   runtime_9_0 = buildNetRuntime {
-    version = "9.0.5";
+    version = "9.0.6";
     srcs = {
       linux-arm = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/9.0.5/dotnet-runtime-9.0.5-linux-arm.tar.gz";
-        hash = "sha512-AK62AMDFfFA0gGXYWM2F7GW3K7HBN4VD+RCPPNK18z1S8/A04UL0XpLHbBceMwkMJUTjZh0B6o8OK7IPEdW5lA==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/9.0.6/dotnet-runtime-9.0.6-linux-arm.tar.gz";
+        hash = "sha512-S1SWWuuF0Ix5WAiFxp1Bt7oP3EeGGPQOOghnPXflmHAiFXso6wRCvgwv9PbmWQaOo9PjlnAQneaCB9O3BroGYw==";
       };
       linux-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/9.0.5/dotnet-runtime-9.0.5-linux-arm64.tar.gz";
-        hash = "sha512-/9f20Wu6ohSUtxtpLFSl45jzHPYAhw4CgjS9B2EsttQ2dMY3H6hHC9fxG0CmhEPSLjmoQVfKuOFvUsXFzu47gw==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/9.0.6/dotnet-runtime-9.0.6-linux-arm64.tar.gz";
+        hash = "sha512-JKtB00vn9nGNepSJ4hmD6FfnNIyRQVfo+gSm/fAQ1DqUKpdXwFnYjIY+/Trq7WeB+SjaNVAhxQuWXo0JFQIeoA==";
       };
       linux-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/9.0.5/dotnet-runtime-9.0.5-linux-x64.tar.gz";
-        hash = "sha512-Ap8d9YDEfyGq7zykDlwfuOVIVJeNE/6IVw33w0CEmf8LnblsSSwD7NtDqCqiTbvoFJHegRkTWSrGKsWN7pdbDg==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/9.0.6/dotnet-runtime-9.0.6-linux-x64.tar.gz";
+        hash = "sha512-v+JXt6bcBQU6eE06yWbKf9t6Lv1VOOJ8PqgiqrydOiD0SvRIbfEAIaX2TIkyJMLZR+/QZJLR3zcFVW33ZzcSbw==";
       };
       linux-musl-arm = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/9.0.5/dotnet-runtime-9.0.5-linux-musl-arm.tar.gz";
-        hash = "sha512-zOCaJMC5hw4yk4mrKq4uduwiu3g4ZUhQqxe1aVH7oAsVygaS42PNXh5dENHh31poVH08IWFDa4VweNAYK+/SKg==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/9.0.6/dotnet-runtime-9.0.6-linux-musl-arm.tar.gz";
+        hash = "sha512-p5eaEL+BJPg1ELaNn1A2vZKiHjtiX+M0zJcbec4haL3iZe92yS1fkJ4lOf1EOtfxQmUnBkfJh3Bxf8ZmrRW9ng==";
       };
       linux-musl-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/9.0.5/dotnet-runtime-9.0.5-linux-musl-arm64.tar.gz";
-        hash = "sha512-3Umzt+5BW+Vm10qpn151lJ9k5wFA1NEOHu01SPU4LmJdXhfps7Qa5WQykhXjwWghEKwXMvMT8rOpDAh/elo5TQ==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/9.0.6/dotnet-runtime-9.0.6-linux-musl-arm64.tar.gz";
+        hash = "sha512-R5APJLFh3LJ6agxPrM03KkDgwMXrquFfrqF5CrOiNBT36v8zgUKzRQnAvGHsYylSoHvAutUTfThx/IVTpmz/xQ==";
       };
       linux-musl-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/9.0.5/dotnet-runtime-9.0.5-linux-musl-x64.tar.gz";
-        hash = "sha512-gaJt2RlTpHQgi0tDz0F0RC6flQJDfyV+Zuzv5Pm5ujzPWziZ2qwGHjoKzBQdW+IHwD4rERNvR5GykRw+8+JIiQ==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/9.0.6/dotnet-runtime-9.0.6-linux-musl-x64.tar.gz";
+        hash = "sha512-cK6S/8TNHPB0Ro2Gcaa5fORN68yvckvLUXr2Vc0uddf5h2OJ49g8pOdF31HpfCsiCbc56inLJN1os02xL1iCfQ==";
       };
       osx-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/9.0.5/dotnet-runtime-9.0.5-osx-arm64.tar.gz";
-        hash = "sha512-EqHeE9GnLC5sUZjoOheOG5Mlx8Ropzh8XIopsIVxYL5ROVFgI0hc6RCOJukaNfqCUqjywNWdRpGxzkbWaq2lfw==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/9.0.6/dotnet-runtime-9.0.6-osx-arm64.tar.gz";
+        hash = "sha512-2nyZR+f4EqWnQxy11effGy+EwifLfEim/69B8saam3NhlIIgcKBQup5RZt51moFfQ+BtmdOF6Xc3BXyls1HUVQ==";
       };
       osx-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/9.0.5/dotnet-runtime-9.0.5-osx-x64.tar.gz";
-        hash = "sha512-iz6NtMTvr5StbZRi1KcD9ZusOQuRd4d5nX+L55EHmK3ISpaDzanv6/s5ontBpTDptaCC3dGf2IT0PRZ5RsfMRA==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Runtime/9.0.6/dotnet-runtime-9.0.6-osx-x64.tar.gz";
+        hash = "sha512-V2g2mCQAFs3NyNUwLoPRSKgg6ILlIe4YFuByXbd7WvHVIgbnAUmgp2KbsRmo5/eU+OgNO4ZvQxbqm4uoFT1Wbw==";
       };
     };
   };
 
   sdk_9_0_3xx = buildNetSdk {
-    version = "9.0.300";
+    version = "9.0.301";
     srcs = {
       linux-arm = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.300/dotnet-sdk-9.0.300-linux-arm.tar.gz";
-        hash = "sha512-yiCVfT9KCb/7hrshsTef8ZvGKQe1DTcJC7cF8oBksGQTGqAcpDKKKaxmNl7lU5/TFS7+ecYSlK15WLGeYRTU3g==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.301/dotnet-sdk-9.0.301-linux-arm.tar.gz";
+        hash = "sha512-qL8t2zWO4se9evwEDRhCb1ySIGys4FcnmPnOaSXJEN0aST7T41MEyahQmyYhpmRVn/RF0wFK4KA5VZx4ygArQQ==";
       };
       linux-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.300/dotnet-sdk-9.0.300-linux-arm64.tar.gz";
-        hash = "sha512-w8SLJW6vCmYkEtyM+/o4e7l/OvhK6csaulPy00r6Xuc1yHuXlUnOl+s6pFHBK9OxDmRT7qbUrAltnu7K7arVQA==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.301/dotnet-sdk-9.0.301-linux-arm64.tar.gz";
+        hash = "sha512-JOIynEDPPkLNHodT2I/ORUvEqau60rAegPMxMKgBEjpTHiJ2c9OBy5cQtxWAXxiP4Ny5gz+30E2rLNk3ofSA7Q==";
       };
       linux-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.300/dotnet-sdk-9.0.300-linux-x64.tar.gz";
-        hash = "sha512-3KttrvMWQ5DQntwWnUv47DSArxKI6XZsB9INPHtwUX0mMIPDkAOB/aWcOn8K7z/XXuT2BBc8iJ6CItZEkJHYQw==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.301/dotnet-sdk-9.0.301-linux-x64.tar.gz";
+        hash = "sha512-dBWiZIQ9PfeL1X+y8XB06BHgsZOXakW01neNPruSZoVMTgN8PN9LU03nuMZHmbDljc6frG8/PGyssylVVdMdTw==";
       };
       linux-musl-arm = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.300/dotnet-sdk-9.0.300-linux-musl-arm.tar.gz";
-        hash = "sha512-4Z9Pe/zpXnMRKv3kLnwWyJfAFhleuzb05BGjvxqpOfTBRW+dSruWjcjrp1UxyO2utnPfDp5XDY3Fy3JcpXcA1Q==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.301/dotnet-sdk-9.0.301-linux-musl-arm.tar.gz";
+        hash = "sha512-0B+cAc5u1sukC0OBsSduuAyqZY8f/I/zrkE2nMSq0DFzn94x5jy0J1A/G3EnRwDPu7jVTzpvOsRQVdkmCsrRWg==";
       };
       linux-musl-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.300/dotnet-sdk-9.0.300-linux-musl-arm64.tar.gz";
-        hash = "sha512-DZxb8oXxOsMgbOMn7/44T7yhGvc5yCwiKydGVIZsWNiDONZrkdRReQbXq+ujPpfdhpx1tSt87O8Qrz5uIG6tsg==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.301/dotnet-sdk-9.0.301-linux-musl-arm64.tar.gz";
+        hash = "sha512-t4Jjj28NFKuRDeOVJ0sWlmTGUrU05HaznSGcVaRtYxTuUdSiykcJvsBFrB6yd/OJspDqxcmmt15QG+QsBxVj9w==";
       };
       linux-musl-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.300/dotnet-sdk-9.0.300-linux-musl-x64.tar.gz";
-        hash = "sha512-oD/T93LyiMUBrgy5UKyaNJF4XQ85Zg+xKBSp/EDVj32vuDWj/7jl5AFqnRmdDfuWDgU7u2lbVKWAOWfx8vL+Mw==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.301/dotnet-sdk-9.0.301-linux-musl-x64.tar.gz";
+        hash = "sha512-ggXwZUvRciNkVDWH6dLqQ7CpbsmSXDeR8uf0+wT0paNIyiOGCS6hVkpyfgA05Gd11ClJCeuEBTWNYu6DM9Xcjw==";
       };
       osx-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.300/dotnet-sdk-9.0.300-osx-arm64.tar.gz";
-        hash = "sha512-/sUozHDt9D5tkfFvkzxUuUN3aJnnwtTefv36WBFz1GeTsjOr9bye1Wbp2ejTeg+WtUN4P91YH2Oq8YZ4uCykJg==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.301/dotnet-sdk-9.0.301-osx-arm64.tar.gz";
+        hash = "sha512-NvGut6/yqsEXkZ9Xq61yXInay4eaPDuNQbAVdWAs6y1crYBdPG1noP2gIIskd9DVhmjBMyFTku5lv4hYZXHkPA==";
       };
       osx-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.300/dotnet-sdk-9.0.300-osx-x64.tar.gz";
-        hash = "sha512-Nv837sdkybUJ/s6n6kfkrT1yO0DrRjFY3oWk9w2rZYOYnEy3MkqOAP3nJ9+ne3/2P0icJV286Hwe5yWuRF7vYg==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.301/dotnet-sdk-9.0.301-osx-x64.tar.gz";
+        hash = "sha512-W7pAH5tkUMDuUd3DlDx5q5LtkYjh1CCAAf+Xr3my+1HbkkNVSMR/6UP2n6PC6I746UCMeCGlnYQyuEN5d3cGXA==";
       };
     };
     inherit commonPackages hostPackages targetPackages;
@@ -523,39 +523,39 @@ rec {
   };
 
   sdk_9_0_2xx = buildNetSdk {
-    version = "9.0.204";
+    version = "9.0.205";
     srcs = {
       linux-arm = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.204/dotnet-sdk-9.0.204-linux-arm.tar.gz";
-        hash = "sha512-P56c2FwF0qyroyXqJN51jKMDvvjRL+NS1thfSNPrqROCbndU9a/0Cm5o5r/6SRrOjOUtQaz/7CuE2yGMI7tNvw==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.205/dotnet-sdk-9.0.205-linux-arm.tar.gz";
+        hash = "sha512-kAAySurNNVyxeALQIFeSW2CVuYp7Mb0G1sSecfky1LEhx1mp//d65A5Id+R1tbcMtx/RSc010P9/wxccasCyJA==";
       };
       linux-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.204/dotnet-sdk-9.0.204-linux-arm64.tar.gz";
-        hash = "sha512-svuIOmDmj0HniKk7UCp87runjwFEgSw2X2/E0pqlYqFtxNCrK0lujIFnkf1qhktqVjdX1iI0rpfruS3UhJmiLA==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.205/dotnet-sdk-9.0.205-linux-arm64.tar.gz";
+        hash = "sha512-ykyJxPqbPC0JZrEonkoKGpJrN3jZdPTjISSiGRwruZUrgMPTYjXu5zEDEAI/yfR54FuE+0qGdrl+G09zm34aEA==";
       };
       linux-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.204/dotnet-sdk-9.0.204-linux-x64.tar.gz";
-        hash = "sha512-8y3j3K/xPO/OThJMLq5IZBeKdMycs84pMkHJp6xKO0YK8WVQMO8LtcOT3rnwddu/w3cuCcBsQn9fjPv0EXSdyA==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.205/dotnet-sdk-9.0.205-linux-x64.tar.gz";
+        hash = "sha512-344tlaYXBRxEpSRHETcwCGjVK1I8xB6PjTGq3paEB65AbVtuR/SE9gO+UsCm5WdYbw+cFv/CWUTzqPQviMPHgQ==";
       };
       linux-musl-arm = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.204/dotnet-sdk-9.0.204-linux-musl-arm.tar.gz";
-        hash = "sha512-A+/tuYUfwPpanWcSR/vsNG7R1/VezSGzKczL7cbRzK4jXJTpOm+0IVrbahhWOfsKsaebhkjTdYy5Db03SquBzw==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.205/dotnet-sdk-9.0.205-linux-musl-arm.tar.gz";
+        hash = "sha512-2WtVOm0dkME4LIDdpo3UIA+1fMNA84wSdYBlOugmdc2Z7zu2W38VP0OdQjQQJepOARYpRNiNpQuNdXv2qHFs/Q==";
       };
       linux-musl-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.204/dotnet-sdk-9.0.204-linux-musl-arm64.tar.gz";
-        hash = "sha512-PcjqCRnBEFxi6lRSvt+kGTgoYCDi1THvm7aZm13z+xkJij3/WYAvudObbIpqblZTyzV/osTuzq7gOb4ivg0bUQ==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.205/dotnet-sdk-9.0.205-linux-musl-arm64.tar.gz";
+        hash = "sha512-l4LgozcmzOAb9oqEMcf+z67rqt4heW7wBBfC+Qch/00554WekejNZur0wGbpAZ98C8rKmESzcBTC6c5BYkuWRg==";
       };
       linux-musl-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.204/dotnet-sdk-9.0.204-linux-musl-x64.tar.gz";
-        hash = "sha512-Ap+teWSeHzswdNzuW67oOgETF8IXOz8nsPojCQ4k12EckfeVY2z7O/zF9JK10e3XbXJT4SAjSbfijHalmqE/Kw==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.205/dotnet-sdk-9.0.205-linux-musl-x64.tar.gz";
+        hash = "sha512-zmsD+9lVviKgVRyGFPVsBOyA3iFDdeal3sLMm2xk+NbTDxha2NjO9C0FXPiZqliCF/10xvsNUbE4tqMn+APkkA==";
       };
       osx-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.204/dotnet-sdk-9.0.204-osx-arm64.tar.gz";
-        hash = "sha512-w1LYz8S8UMW9bjusIEwmSKzn/y259+O9n7GUTchFLqRXoKy1QpCY6x0zIk7ol68OLImgfg58jFoLzoypo28dqQ==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.205/dotnet-sdk-9.0.205-osx-arm64.tar.gz";
+        hash = "sha512-nHUwIcJqAXjPu096LPS+ZeLvHGzmiRLFk2x8yZKwJg8UpEkAdzFMNjdE9Svpb0MvFpg4ot9LXdAL09P/mFW0oQ==";
       };
       osx-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.204/dotnet-sdk-9.0.204-osx-x64.tar.gz";
-        hash = "sha512-HQThbT7cLWYc0AJhqHtVhLTpGlOfCu58YiiCt7JwZQI9RDAnCyUnhD7Zd7ns60KeqYX/2gwqpI8enVfBeE6RZQ==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.205/dotnet-sdk-9.0.205-osx-x64.tar.gz";
+        hash = "sha512-7kuNG2Gwj9z+mM320ctGNUroIDsSVgxz55hkid/NhcXBhusIXuRNavkKCnAsvQxc4dnrTx4NSTPrBD6ztvY7KA==";
       };
     };
     inherit commonPackages hostPackages targetPackages;
@@ -564,39 +564,39 @@ rec {
   };
 
   sdk_9_0_1xx = buildNetSdk {
-    version = "9.0.106";
+    version = "9.0.107";
     srcs = {
       linux-arm = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.106/dotnet-sdk-9.0.106-linux-arm.tar.gz";
-        hash = "sha512-IxjIV4THukOiQ+D1Jix4zCmEqV/O74t4VQNYU9nHtCC362gcjfiiOWmSbWZSxpN8+xscKWHgoVXG8UUwIkC00w==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.107/dotnet-sdk-9.0.107-linux-arm.tar.gz";
+        hash = "sha512-Netr9KteJY5TUHInT3Cq79H7KV60TTK1tCCG9yFhUjlPsKgqe+Ec2IPB1XQK1/CICfL52/zovADlok10bcZAeQ==";
       };
       linux-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.106/dotnet-sdk-9.0.106-linux-arm64.tar.gz";
-        hash = "sha512-GAY+1Tnvz5emgms6NnuSV0M4Zj6BXkx60nOhdSSnq1411AdZb1zWscCjfmlbF6kVYgwURcqJu4UasP80rMo09Q==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.107/dotnet-sdk-9.0.107-linux-arm64.tar.gz";
+        hash = "sha512-+j6JtbaaUAOOnsKttWoW1QZPxaCAG6jlZ2ouECprsiDU+duEvkm3RCFLOOWDyCmGMyROu09HyGT9fofq+xN2hQ==";
       };
       linux-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.106/dotnet-sdk-9.0.106-linux-x64.tar.gz";
-        hash = "sha512-+XfJCl5Ww9t7fU4jhEzbSW7pZr0xrWP4uENjp+/yij+xQQk1A4G9g23bxn1nUPP33VVHHkxdALAhQ0F0GFb7LQ==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.107/dotnet-sdk-9.0.107-linux-x64.tar.gz";
+        hash = "sha512-WI6GA9vlFMIw7bAwfJhSLL1hUKN0JC3GphZ/m+h5MTqKKJUwUoKGV4TqopbI3ujL3gpnntuNy/etqmwfegtiBg==";
       };
       linux-musl-arm = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.106/dotnet-sdk-9.0.106-linux-musl-arm.tar.gz";
-        hash = "sha512-LJqqzcQ+Lai8ZNtRe0q0Dzh/kSky3Cbpn0Mzi//SzthnRyXtGF5gqzF48OTnI+xfwpd09iszes1HUhvzia4Wzw==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.107/dotnet-sdk-9.0.107-linux-musl-arm.tar.gz";
+        hash = "sha512-aGe+uyjP8y4e+/guk4P1mY0QlrCe5exYdRe1LAcAmQS0tLK83lSr3RBXQYGOalCr3DsVWBbsgsYdVZOnzpE71g==";
       };
       linux-musl-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.106/dotnet-sdk-9.0.106-linux-musl-arm64.tar.gz";
-        hash = "sha512-g00TYlXiwiDnwDJ7xH6JMmtX4DUrarAau6Bzy9pNTSkzy8auREDyuZEaUq1dBbwPf/s255D56kVhVn3T4ivVFA==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.107/dotnet-sdk-9.0.107-linux-musl-arm64.tar.gz";
+        hash = "sha512-jBd0X3G3xZmwm3VGzQ4gm89vz7R91Ie1lDSme+uvVPI6lWlO0wcpAlbeeA8iV9L1oAgCGTHx2kzJkKn1AHzVhg==";
       };
       linux-musl-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.106/dotnet-sdk-9.0.106-linux-musl-x64.tar.gz";
-        hash = "sha512-KPWtrtyl37HAElwyN4lIXJclkaZcvVGPtdlR1zEx3h56kv8JcTYieI0CrPeJBvp0ElOMbH6bPEv2cV9klf+CbA==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.107/dotnet-sdk-9.0.107-linux-musl-x64.tar.gz";
+        hash = "sha512-JwIJpXfq2TOHOP17WlXmLoPHOpI/n9gfSXcdCtNt8fQaD6ThkkdXFD4V8bQQUioi0VksixaWrehVRH8eaIISdA==";
       };
       osx-arm64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.106/dotnet-sdk-9.0.106-osx-arm64.tar.gz";
-        hash = "sha512-2145z/0yvpm5oO4oxu3pBjcYAzhpNwHRGnAtBW2v9QW9gtTnyPDLNB4g+gK5dlYS6ogIr0DaPrxqFs1tP8HqPg==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.107/dotnet-sdk-9.0.107-osx-arm64.tar.gz";
+        hash = "sha512-DBGIKo5yDOekc/y8WQYZKqFO6HR+Gnis1Vz6CwozcZQJPmDVOodSf6Ph59QgqrwzLTq2qwntbrtcxr+hec71cQ==";
       };
       osx-x64 = {
-        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.106/dotnet-sdk-9.0.106-osx-x64.tar.gz";
-        hash = "sha512-wTKDAvkLLY0SOqCyfiCFcd17LMIwTgexqZe8BmRMXqMLsdCJ/A0/FO+kH/TQm5FA1Yqo/TtqGYeXXVbnUL2oDQ==";
+        url = "https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.107/dotnet-sdk-9.0.107-osx-x64.tar.gz";
+        hash = "sha512-7DDDGmtizw3ONqaIK3E2T+dObWNaQ3sM6auA9Udw4mwAys69YqFGoeJUWRO611yLxTjl1TdO9Np3JdkpLD4p3w==";
       };
     };
     inherit commonPackages hostPackages targetPackages;
diff --git a/pkgs/development/compilers/dotnet/vmr.nix b/pkgs/development/compilers/dotnet/vmr.nix
index 0be6e57fa8c4..702e0fe43606 100644
--- a/pkgs/development/compilers/dotnet/vmr.nix
+++ b/pkgs/development/compilers/dotnet/vmr.nix
@@ -139,6 +139,11 @@ stdenv.mkDerivation rec {
     ]
     ++ lib.optionals (lib.versionOlder version "9") [
       ./fix-aspnetcore-portable-build.patch
+    ]
+    ++ lib.optionals (lib.versionAtLeast version "10") [
+      # src/repos/projects/Directory.Build.targets(106,5): error MSB4018: The "AddSourceToNuGetConfig" task failed unexpectedly.
+      # src/repos/projects/Directory.Build.targets(106,5): error MSB4018: System.Xml.XmlException->Microsoft.Build.Framework.BuildException.GenericBuildTransferredException: There are multiple root elements. Line 9, position 2.
+      ./source-build-externals-overwrite-rather-than-append-.patch
     ];
 
   postPatch =
@@ -178,7 +183,7 @@ stdenv.mkDerivation rec {
       xmlstarlet ed \
         --inplace \
         -u //_:Project/_:PropertyGroup/_:BuildNumber -v 0 \
-        src/source-build-externals/src/application-insights/.props/_GlobalStaticVersion.props
+        src/source-build-externals/src/${lib.optionalString (lib.versionAtLeast version "10") "repos/src/"}application-insights/.props/_GlobalStaticVersion.props
 
       # this fixes compile errors with clang 15 (e.g. darwin)
       substituteInPlace \
@@ -193,53 +198,56 @@ stdenv.mkDerivation rec {
         -s \$prev -t elem -n KeepNativeSymbols -v false \
         src/runtime/Directory.Build.props
     ''
-    + lib.optionalString (lib.versionAtLeast version "9") ''
-      # repro.csproj fails to restore due to missing freebsd packages
-      xmlstarlet ed \
-        --inplace \
-        -s //Project -t elem -n PropertyGroup \
-        -s \$prev -t elem -n RuntimeIdentifiers -v ${targetRid} \
-        src/runtime/src/coreclr/tools/aot/ILCompiler/repro/repro.csproj
+    + lib.optionalString (lib.versionAtLeast version "9") (
+      ''
+        # repro.csproj fails to restore due to missing freebsd packages
+        xmlstarlet ed \
+          --inplace \
+          -s //Project -t elem -n PropertyGroup \
+          -s \$prev -t elem -n RuntimeIdentifiers -v ${targetRid} \
+          src/runtime/src/coreclr/tools/aot/ILCompiler/repro/repro.csproj
 
-      # https://github.com/dotnet/runtime/pull/98559#issuecomment-1965338627
-      xmlstarlet ed \
-        --inplace \
-        -s //Project -t elem -n PropertyGroup \
-        -s \$prev -t elem -n NoWarn -v '$(NoWarn);CS9216' \
-        src/runtime/Directory.Build.props
+        # https://github.com/dotnet/runtime/pull/98559#issuecomment-1965338627
+        xmlstarlet ed \
+          --inplace \
+          -s //Project -t elem -n PropertyGroup \
+          -s \$prev -t elem -n NoWarn -v '$(NoWarn);CS9216' \
+          src/runtime/Directory.Build.props
 
-      # patch packages installed from npm cache
-      xmlstarlet ed \
-        --inplace \
-        -s //Project -t elem -n Import \
-        -i \$prev -t attr -n Project -v "${./patch-npm-packages.proj}" \
-        src/aspnetcore/eng/DotNetBuild.props
+        # https://github.com/dotnet/source-build/issues/3131#issuecomment-2030215805
+        substituteInPlace \
+          src/aspnetcore/eng/Dependencies.props \
+          --replace-fail \
+          "'\$(DotNetBuildSourceOnly)' == 'true'" \
+          "'\$(DotNetBuildSourceOnly)' == 'true' and \$(PortableBuild) == 'false'"
 
-      # https://github.com/dotnet/source-build/issues/3131#issuecomment-2030215805
-      substituteInPlace \
-        src/aspnetcore/eng/Dependencies.props \
-        --replace-fail \
-        "'\$(DotNetBuildSourceOnly)' == 'true'" \
-        "'\$(DotNetBuildSourceOnly)' == 'true' and \$(PortableBuild) == 'false'"
+        # https://github.com/dotnet/source-build/issues/4325
+        xmlstarlet ed \
+          --inplace \
+          -r '//Target[@Name="UnpackTarballs"]/Move' -v Copy \
+          eng/init-source-only.proj
 
-      # https://github.com/dotnet/source-build/issues/4325
-      xmlstarlet ed \
-        --inplace \
-        -r '//Target[@Name="UnpackTarballs"]/Move' -v Copy \
-        eng/init-source-only.proj
+        # error: _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror,-W#warnings]
+        substituteInPlace \
+          src/runtime/src/coreclr/ilasm/CMakeLists.txt \
+          --replace-fail 'set_source_files_properties( prebuilt/asmparse.cpp PROPERTIES COMPILE_FLAGS "-O0" )' ""
 
-      # error: _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror,-W#warnings]
-      substituteInPlace \
-        src/runtime/src/coreclr/ilasm/CMakeLists.txt \
-        --replace-fail 'set_source_files_properties( prebuilt/asmparse.cpp PROPERTIES COMPILE_FLAGS "-O0" )' ""
-
-      # https://github.com/dotnet/source-build/issues/4444
-      xmlstarlet ed \
-        --inplace \
-        -s '//Project/Target/MSBuild[@Targets="Restore"]' \
-        -t attr -n Properties -v "NUGET_PACKAGES='\$(CurrentRepoSourceBuildPackageCache)'" \
-        src/aspnetcore/eng/Tools.props
-    ''
+        # https://github.com/dotnet/source-build/issues/4444
+        xmlstarlet ed \
+          --inplace \
+          -s '//Project/Target/MSBuild[@Targets="Restore"]' \
+          -t attr -n Properties -v "NUGET_PACKAGES='\$(CurrentRepoSourceBuildPackageCache)'" \
+          src/aspnetcore/eng/Tools.props
+      ''
+      + lib.optionalString (lib.versionOlder version "10") ''
+        # patch packages installed from npm cache
+        xmlstarlet ed \
+          --inplace \
+          -s //Project -t elem -n Import \
+          -i \$prev -t attr -n Project -v "${./patch-npm-packages.proj}" \
+          src/aspnetcore/eng/DotNetBuild.props
+      ''
+    )
     + lib.optionalString isLinux (
       ''
         substituteInPlace \
diff --git a/pkgs/development/compilers/elm/packages/ghc9_6/default.nix b/pkgs/development/compilers/elm/packages/ghc9_6/default.nix
index e3e030c7610d..589dc26ad349 100644
--- a/pkgs/development/compilers/elm/packages/ghc9_6/default.nix
+++ b/pkgs/development/compilers/elm/packages/ghc9_6/default.nix
@@ -27,21 +27,22 @@ pkgs.haskell.packages.ghc96.override {
               --prefix PATH ':' ${lib.makeBinPath [ nodejs ]}
           '';
 
+          patches = [
+            # Fix TLS compatibility issues with package.elm-lang.org
+            # see: https://github.com/elm/compiler/pull/2325
+            ./tls-compatibility.patch
+          ];
+
           description = "Delightful language for reliable webapps";
           homepage = "https://elm-lang.org/";
           license = lib.licenses.bsd3;
           maintainers = with lib.maintainers; [
-            domenkozar
             turbomack
           ];
         }) (self.callPackage ./elm { });
 
         inherit fetchElmDeps;
         elmVersion = elmPkgs.elm.version;
-
-        # Fix TLS issues
-        # see https://github.com/elm/compiler/pull/2325
-        tls = self.callPackage ./tls-1.9.0.nix { };
       };
     in
     elmPkgs
diff --git a/pkgs/development/compilers/elm/packages/ghc9_6/tls-1.9.0.nix b/pkgs/development/compilers/elm/packages/ghc9_6/tls-1.9.0.nix
deleted file mode 100644
index e7d5acd58026..000000000000
--- a/pkgs/development/compilers/elm/packages/ghc9_6/tls-1.9.0.nix
+++ /dev/null
@@ -1,79 +0,0 @@
-{
-  mkDerivation,
-  asn1-encoding,
-  asn1-types,
-  async,
-  base,
-  bytestring,
-  cereal,
-  crypton,
-  crypton-x509,
-  crypton-x509-store,
-  crypton-x509-validation,
-  data-default-class,
-  gauge,
-  hourglass,
-  lib,
-  memory,
-  mtl,
-  network,
-  QuickCheck,
-  tasty,
-  tasty-quickcheck,
-  transformers,
-  unix-time,
-}:
-mkDerivation {
-  pname = "tls";
-  version = "1.9.0";
-  sha256 = "5605b9cbe0903b100e9de72800641453f74bf5dade6176dbe10b34ac9353433e";
-  libraryHaskellDepends = [
-    asn1-encoding
-    asn1-types
-    async
-    base
-    bytestring
-    cereal
-    crypton
-    crypton-x509
-    crypton-x509-store
-    crypton-x509-validation
-    data-default-class
-    memory
-    mtl
-    network
-    transformers
-    unix-time
-  ];
-  testHaskellDepends = [
-    asn1-types
-    async
-    base
-    bytestring
-    crypton
-    crypton-x509
-    crypton-x509-validation
-    data-default-class
-    hourglass
-    QuickCheck
-    tasty
-    tasty-quickcheck
-  ];
-  benchmarkHaskellDepends = [
-    asn1-types
-    async
-    base
-    bytestring
-    crypton
-    crypton-x509
-    crypton-x509-validation
-    data-default-class
-    gauge
-    hourglass
-    QuickCheck
-    tasty-quickcheck
-  ];
-  homepage = "https://github.com/haskell-tls/hs-tls";
-  description = "TLS/SSL protocol native implementation (Server and Client)";
-  license = lib.licenses.bsd3;
-}
diff --git a/pkgs/development/compilers/elm/packages/ghc9_6/tls-compatibility.patch b/pkgs/development/compilers/elm/packages/ghc9_6/tls-compatibility.patch
new file mode 100644
index 000000000000..ae8b3281a1ea
--- /dev/null
+++ b/pkgs/development/compilers/elm/packages/ghc9_6/tls-compatibility.patch
@@ -0,0 +1,81 @@
+From c8ca5e14650a77446a6577eb356ddd09c3928bac Mon Sep 17 00:00:00 2001
+From: Ben Millwood 
+Date: Tue, 17 Jun 2025 16:39:07 +0100
+Subject: [PATCH] Fix TLS connection to package.elm-lang.org
+
+It seems like the server hosting https://package.elm-lang.org has an old
+enough SSL library that it doesn't support EMS. Reconfigure the https
+client so that it will still connect in this case.
+---
+ builder/src/Http.hs | 21 +++++++++++++++++++--
+ elm.cabal           |  3 +++
+ 2 files changed, 22 insertions(+), 2 deletions(-)
+
+diff --git a/builder/src/Http.hs b/builder/src/Http.hs
+index 6105263fa..fd8b87bba 100644
+--- a/builder/src/Http.hs
++++ b/builder/src/Http.hs
+@@ -29,15 +29,19 @@ import qualified Data.Binary as Binary
+ import qualified Data.Binary.Get as Binary
+ import qualified Data.ByteString.Builder as B
+ import qualified Data.ByteString.Char8 as BS
++import Data.Default (def)
+ import qualified Data.Digest.Pure.SHA as SHA
+ import qualified Data.String as String
++import qualified Network.Connection as NC
+ import Network.HTTP (urlEncodeVars)
+ import Network.HTTP.Client
+-import Network.HTTP.Client.TLS (tlsManagerSettings)
++import Network.HTTP.Client.TLS (mkManagerSettings)
+ import Network.HTTP.Types.Header (Header, hAccept, hAcceptEncoding, hUserAgent)
+ import Network.HTTP.Types.Method (Method, methodGet, methodPost)
+ import qualified Network.HTTP.Client as Multi (RequestBody(RequestBodyLBS))
+ import qualified Network.HTTP.Client.MultipartFormData as Multi
++import qualified Network.TLS as TLS
++import Network.TLS.Extra.Cipher (ciphersuite_default)
+ 
+ import qualified Json.Encode as Encode
+ import qualified Elm.Version as V
+@@ -49,7 +53,20 @@ import qualified Elm.Version as V
+ 
+ getManager :: IO Manager
+ getManager =
+-  newManager tlsManagerSettings
++  newManager (mkManagerSettings dontRequireEMS Nothing)
++  where
++    -- See https://github.com/NixOS/nixpkgs/pull/414495
++    dontRequireEMS =
++      NC.TLSSettingsSimple
++        { NC.settingDisableCertificateValidation = False
++        , NC.settingDisableSession = False
++        , NC.settingUseServerName = False
++        , NC.settingClientSupported =
++            def
++              { TLS.supportedCiphers = ciphersuite_default
++              , TLS.supportedExtendedMainSecret = TLS.AllowEMS
++              }
++        }
+ 
+ 
+ 
+diff --git a/elm.cabal b/elm.cabal
+index 144fada90..0bd1eb5dc 100644
+--- a/elm.cabal
++++ b/elm.cabal
+@@ -206,6 +206,8 @@ Executable elm
+         binary,
+         bytestring,
+         containers,
++        crypton-connection,
++        data-default,
+         directory,
+         edit-distance,
+         file-embed,
+@@ -229,6 +231,7 @@ Executable elm
+         snap-server,
+         template-haskell,
+         time,
++        tls,
+         unordered-containers,
+         utf8-string,
+         vector,
diff --git a/pkgs/development/compilers/flutter/versions/3_26/data.json b/pkgs/development/compilers/flutter/versions/3_26/data.json
deleted file mode 100644
index 13613d19c2ff..000000000000
--- a/pkgs/development/compilers/flutter/versions/3_26/data.json
+++ /dev/null
@@ -1,1056 +0,0 @@
-{
-  "version": "3.26.0-0.1.pre",
-  "engineVersion": "059e4e6d8ff6de39c29441c53e949bfb0bf17972",
-  "engineSwiftShaderHash": "sha256-mRLCvhNkmHz7Rv6GzXkY7OB1opBSq+ATWZ466qZdgto=",
-  "engineSwiftShaderRev": "2fa7e9b99ae4e70ea5ae2cc9c8d3afb43391384f",
-  "channel": "beta",
-  "engineHashes": {
-    "aarch64-linux": {
-      "aarch64-linux": "sha256-cDXCGikGuPWxMZZ0HWcnbS7Dt22no9wwbh4wei7w8Bw=",
-      "x86_64-linux": "sha256-cDXCGikGuPWxMZZ0HWcnbS7Dt22no9wwbh4wei7w8Bw="
-    },
-    "x86_64-linux": {
-      "aarch64-linux": "sha256-deuArmKBZvkjjt986wAAwGArKYMW01QvbgqzQ9FLBS8=",
-      "x86_64-linux": "sha256-deuArmKBZvkjjt986wAAwGArKYMW01QvbgqzQ9FLBS8="
-    }
-  },
-  "dartVersion": "3.6.0-216.1.beta",
-  "dartHash": {
-    "x86_64-linux": "sha256-Vvdx4Bi7a/ySrxAv3UejlmmbNyKzdDr9RCS9tVGscDQ=",
-    "aarch64-linux": "sha256-SHqk1bm/5+ixOA5RHuToHQDN/NrNKZIrkkaBh9Cvl/I=",
-    "x86_64-darwin": "sha256-dbw0+OtjYkdRCgLDP+oNcOUgR5C8gC12NdftNAk7x0Q=",
-    "aarch64-darwin": "sha256-XOpBwyrMqIKutXgLEjGuta/3yhK+DpoSChNVXc9MMYA="
-  },
-  "flutterHash": "sha256-4YXm/MbhQsifJYpeUjmP8h6sm7pWrjBSpbCTV9p659o=",
-  "artifactHashes": {
-    "android": {
-      "aarch64-darwin": "sha256-CmjEq9T5gNgNKp8mik6HwVAsAfdWXBK2nHwL28L08xk=",
-      "aarch64-linux": "sha256-sucpfdtDzNMmCpWOZGVp48uNSrj221fOROI8huRs8Xc=",
-      "x86_64-darwin": "sha256-CmjEq9T5gNgNKp8mik6HwVAsAfdWXBK2nHwL28L08xk=",
-      "x86_64-linux": "sha256-sucpfdtDzNMmCpWOZGVp48uNSrj221fOROI8huRs8Xc="
-    },
-    "fuchsia": {
-      "aarch64-darwin": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=",
-      "aarch64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=",
-      "x86_64-darwin": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=",
-      "x86_64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk="
-    },
-    "ios": {
-      "aarch64-darwin": "sha256-kRgyKtnMs7xefe+XmCoYbO7sa7Dz1o0ltcRdiDvSeik=",
-      "aarch64-linux": "sha256-kRgyKtnMs7xefe+XmCoYbO7sa7Dz1o0ltcRdiDvSeik=",
-      "x86_64-darwin": "sha256-kRgyKtnMs7xefe+XmCoYbO7sa7Dz1o0ltcRdiDvSeik=",
-      "x86_64-linux": "sha256-kRgyKtnMs7xefe+XmCoYbO7sa7Dz1o0ltcRdiDvSeik="
-    },
-    "linux": {
-      "aarch64-darwin": "sha256-tnvQp4Vdthqwgt1bFRpZVJOuTX752yJE91yJNpwSOp4=",
-      "aarch64-linux": "sha256-tnvQp4Vdthqwgt1bFRpZVJOuTX752yJE91yJNpwSOp4=",
-      "x86_64-darwin": "sha256-vIfHgLif151Ymtu/aFtwHZTk28H2feHd9cOedUmSWXY=",
-      "x86_64-linux": "sha256-vIfHgLif151Ymtu/aFtwHZTk28H2feHd9cOedUmSWXY="
-    },
-    "macos": {
-      "aarch64-darwin": "sha256-/4R3Wlcs6ksMkTTZJ/YzEgWWCQJBKlnWr+PNCtcL3oc=",
-      "aarch64-linux": "sha256-/4R3Wlcs6ksMkTTZJ/YzEgWWCQJBKlnWr+PNCtcL3oc=",
-      "x86_64-darwin": "sha256-/4R3Wlcs6ksMkTTZJ/YzEgWWCQJBKlnWr+PNCtcL3oc=",
-      "x86_64-linux": "sha256-/4R3Wlcs6ksMkTTZJ/YzEgWWCQJBKlnWr+PNCtcL3oc="
-    },
-    "universal": {
-      "aarch64-darwin": "sha256-M2Fuqfgq79+FilJ5vU0Iarn0cpV3+4AxuxFEc3fwm+4=",
-      "aarch64-linux": "sha256-NqlNboNjLFAeuLHu6lNnMnrEb902nwIV1b/DNfrr3h8=",
-      "x86_64-darwin": "sha256-tlGwnwAov1eBe54mD9Q6D86qIEBkHBODJs5SVJyP5M0=",
-      "x86_64-linux": "sha256-0lxLRRQq+bRDPXyxEtZVGtzzqhrcsTYx01jeFX3ejLc="
-    },
-    "web": {
-      "aarch64-darwin": "sha256-fVOuJCTciHWv+HRFtSgn8zrexspBe+MUnc/cZlOeoqM=",
-      "aarch64-linux": "sha256-fVOuJCTciHWv+HRFtSgn8zrexspBe+MUnc/cZlOeoqM=",
-      "x86_64-darwin": "sha256-fVOuJCTciHWv+HRFtSgn8zrexspBe+MUnc/cZlOeoqM=",
-      "x86_64-linux": "sha256-fVOuJCTciHWv+HRFtSgn8zrexspBe+MUnc/cZlOeoqM="
-    },
-    "windows": {
-      "x86_64-darwin": "sha256-mwbk0VwxsbnMjy8trtjgZZ96jF3QuQJDcc0VSs6mQxI=",
-      "x86_64-linux": "sha256-mwbk0VwxsbnMjy8trtjgZZ96jF3QuQJDcc0VSs6mQxI="
-    }
-  },
-  "pubspecLock": {
-    "packages": {
-      "_fe_analyzer_shared": {
-        "dependency": "direct main",
-        "description": {
-          "name": "_fe_analyzer_shared",
-          "sha256": "45cfa8471b89fb6643fe9bf51bd7931a76b8f5ec2d65de4fb176dba8d4f22c77",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "73.0.0"
-      },
-      "_macros": {
-        "dependency": "transitive",
-        "description": "dart",
-        "source": "sdk",
-        "version": "0.3.2"
-      },
-      "analyzer": {
-        "dependency": "direct main",
-        "description": {
-          "name": "analyzer",
-          "sha256": "4959fec185fe70cce007c57e9ab6983101dbe593d2bf8bbfb4453aaec0cf470a",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "6.8.0"
-      },
-      "archive": {
-        "dependency": "direct main",
-        "description": {
-          "name": "archive",
-          "sha256": "cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "3.6.1"
-      },
-      "args": {
-        "dependency": "direct main",
-        "description": {
-          "name": "args",
-          "sha256": "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "2.5.0"
-      },
-      "async": {
-        "dependency": "direct main",
-        "description": {
-          "name": "async",
-          "sha256": "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "2.11.0"
-      },
-      "boolean_selector": {
-        "dependency": "direct main",
-        "description": {
-          "name": "boolean_selector",
-          "sha256": "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "2.1.1"
-      },
-      "browser_launcher": {
-        "dependency": "direct main",
-        "description": {
-          "name": "browser_launcher",
-          "sha256": "54a2da4d152c34760b87cbd4a9fe8a563379487e57bfcd1b387be394dfa91734",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "1.1.2"
-      },
-      "built_collection": {
-        "dependency": "direct main",
-        "description": {
-          "name": "built_collection",
-          "sha256": "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "5.1.1"
-      },
-      "built_value": {
-        "dependency": "direct main",
-        "description": {
-          "name": "built_value",
-          "sha256": "c7913a9737ee4007efedaffc968c049fd0f3d0e49109e778edc10de9426005cb",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "8.9.2"
-      },
-      "checked_yaml": {
-        "dependency": "direct dev",
-        "description": {
-          "name": "checked_yaml",
-          "sha256": "feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "2.0.3"
-      },
-      "cli_config": {
-        "dependency": "direct main",
-        "description": {
-          "name": "cli_config",
-          "sha256": "ac20a183a07002b700f0c25e61b7ee46b23c309d76ab7b7640a028f18e4d99ec",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "0.2.0"
-      },
-      "clock": {
-        "dependency": "direct main",
-        "description": {
-          "name": "clock",
-          "sha256": "cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "1.1.1"
-      },
-      "collection": {
-        "dependency": "direct dev",
-        "description": {
-          "name": "collection",
-          "sha256": "a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "1.19.0"
-      },
-      "completion": {
-        "dependency": "direct main",
-        "description": {
-          "name": "completion",
-          "sha256": "f11b7a628e6c42b9edc9b0bc3aa490e2d930397546d2f794e8e1325909d11c60",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "1.0.1"
-      },
-      "convert": {
-        "dependency": "direct main",
-        "description": {
-          "name": "convert",
-          "sha256": "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "3.1.1"
-      },
-      "coverage": {
-        "dependency": "direct main",
-        "description": {
-          "name": "coverage",
-          "sha256": "7b594a150942e0d3be99cd45a1d0b5caff27ba5a27f292ed8e8d904ba3f167b5",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "1.9.1"
-      },
-      "crypto": {
-        "dependency": "direct main",
-        "description": {
-          "name": "crypto",
-          "sha256": "ec30d999af904f33454ba22ed9a86162b35e52b44ac4807d1d93c288041d7d27",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "3.0.5"
-      },
-      "csslib": {
-        "dependency": "direct main",
-        "description": {
-          "name": "csslib",
-          "sha256": "706b5707578e0c1b4b7550f64078f0a0f19dec3f50a178ffae7006b0a9ca58fb",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "1.0.0"
-      },
-      "dap": {
-        "dependency": "direct main",
-        "description": {
-          "name": "dap",
-          "sha256": "c0e53b52c9529d901329045afc4c5acb04304a28acde4b54ab0a08a93da546aa",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "1.3.0"
-      },
-      "dds": {
-        "dependency": "direct main",
-        "description": {
-          "name": "dds",
-          "sha256": "263f8831bfe57136fd4c07cf87df9b3f65457438b8b4d237e1b1d603c6d1cdbd",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "4.2.6"
-      },
-      "dds_service_extensions": {
-        "dependency": "direct main",
-        "description": {
-          "name": "dds_service_extensions",
-          "sha256": "390ae1d0128bb43ffe11f8e3c6cd3a481c1920492d1026883d379cee50bdf1a2",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "2.0.0"
-      },
-      "devtools_shared": {
-        "dependency": "direct main",
-        "description": {
-          "name": "devtools_shared",
-          "sha256": "72369878105eccd563547afbad97407a2431b96bd4c04a1d6da75cb068437f50",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "10.0.2"
-      },
-      "dtd": {
-        "dependency": "direct main",
-        "description": {
-          "name": "dtd",
-          "sha256": "6e4e508c0d03e12e2c96f21faa0e5acc191f9431ecd02adb8daee64dbfae6b86",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "2.3.0"
-      },
-      "dwds": {
-        "dependency": "direct main",
-        "description": {
-          "name": "dwds",
-          "sha256": "d0cf9d18511df6b397c40527f3fd8ddb47b7efcc501e703dd94f13cabaf82ffc",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "24.1.0"
-      },
-      "extension_discovery": {
-        "dependency": "direct main",
-        "description": {
-          "name": "extension_discovery",
-          "sha256": "20735622d0763865f9d94c3ecdce4441174530870760253e9d364fb4f3da8688",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "2.0.0"
-      },
-      "fake_async": {
-        "dependency": "direct main",
-        "description": {
-          "name": "fake_async",
-          "sha256": "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "1.3.1"
-      },
-      "ffi": {
-        "dependency": "direct main",
-        "description": {
-          "name": "ffi",
-          "sha256": "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "2.1.3"
-      },
-      "file": {
-        "dependency": "direct main",
-        "description": {
-          "name": "file",
-          "sha256": "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "7.0.0"
-      },
-      "file_testing": {
-        "dependency": "direct dev",
-        "description": {
-          "name": "file_testing",
-          "sha256": "0aaadb4025bd350403f4308ad6c4cea953278d9407814b8342558e4946840fb5",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "3.0.0"
-      },
-      "fixnum": {
-        "dependency": "direct main",
-        "description": {
-          "name": "fixnum",
-          "sha256": "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "1.1.0"
-      },
-      "flutter_template_images": {
-        "dependency": "direct main",
-        "description": {
-          "name": "flutter_template_images",
-          "sha256": "fd3e55af73c577b9e3f88d4080d3e366cb5c8ef3fbd50b94dfeca56bb0235df6",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "4.2.0"
-      },
-      "frontend_server_client": {
-        "dependency": "direct main",
-        "description": {
-          "name": "frontend_server_client",
-          "sha256": "f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "4.0.0"
-      },
-      "glob": {
-        "dependency": "direct main",
-        "description": {
-          "name": "glob",
-          "sha256": "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "2.1.2"
-      },
-      "graphs": {
-        "dependency": "direct main",
-        "description": {
-          "name": "graphs",
-          "sha256": "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "2.3.2"
-      },
-      "html": {
-        "dependency": "direct main",
-        "description": {
-          "name": "html",
-          "sha256": "3a7812d5bcd2894edf53dfaf8cd640876cf6cef50a8f238745c8b8120ea74d3a",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "0.15.4"
-      },
-      "http": {
-        "dependency": "direct main",
-        "description": {
-          "name": "http",
-          "sha256": "b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "1.2.2"
-      },
-      "http_multi_server": {
-        "dependency": "direct main",
-        "description": {
-          "name": "http_multi_server",
-          "sha256": "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "3.2.1"
-      },
-      "http_parser": {
-        "dependency": "direct main",
-        "description": {
-          "name": "http_parser",
-          "sha256": "40f592dd352890c3b60fec1b68e786cefb9603e05ff303dbc4dda49b304ecdf4",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "4.1.0"
-      },
-      "intl": {
-        "dependency": "direct main",
-        "description": {
-          "name": "intl",
-          "sha256": "d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "0.19.0"
-      },
-      "io": {
-        "dependency": "direct main",
-        "description": {
-          "name": "io",
-          "sha256": "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "1.0.4"
-      },
-      "js": {
-        "dependency": "direct main",
-        "description": {
-          "name": "js",
-          "sha256": "c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "0.7.1"
-      },
-      "json_annotation": {
-        "dependency": "direct dev",
-        "description": {
-          "name": "json_annotation",
-          "sha256": "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "4.9.0"
-      },
-      "json_rpc_2": {
-        "dependency": "direct main",
-        "description": {
-          "name": "json_rpc_2",
-          "sha256": "5e469bffa23899edacb7b22787780068d650b106a21c76db3c49218ab7ca447e",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "3.0.2"
-      },
-      "logging": {
-        "dependency": "direct main",
-        "description": {
-          "name": "logging",
-          "sha256": "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "1.2.0"
-      },
-      "macros": {
-        "dependency": "transitive",
-        "description": {
-          "name": "macros",
-          "sha256": "0acaed5d6b7eab89f63350bccd82119e6c602df0f391260d0e32b5e23db79536",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "0.1.2-main.4"
-      },
-      "matcher": {
-        "dependency": "direct main",
-        "description": {
-          "name": "matcher",
-          "sha256": "d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "0.12.16+1"
-      },
-      "meta": {
-        "dependency": "direct main",
-        "description": {
-          "name": "meta",
-          "sha256": "bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "1.15.0"
-      },
-      "mime": {
-        "dependency": "direct main",
-        "description": {
-          "name": "mime",
-          "sha256": "801fd0b26f14a4a58ccb09d5892c3fbdeff209594300a542492cf13fba9d247a",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "1.0.6"
-      },
-      "multicast_dns": {
-        "dependency": "direct main",
-        "description": {
-          "name": "multicast_dns",
-          "sha256": "982c4cc4cda5f98dd477bddfd623e8e4bd1014e7dbf9e7b05052e14a5b550b99",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "0.3.2+7"
-      },
-      "mustache_template": {
-        "dependency": "direct main",
-        "description": {
-          "name": "mustache_template",
-          "sha256": "a46e26f91445bfb0b60519be280555b06792460b27b19e2b19ad5b9740df5d1c",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "2.0.0"
-      },
-      "native_assets_builder": {
-        "dependency": "direct main",
-        "description": {
-          "name": "native_assets_builder",
-          "sha256": "3368f3eda23d59e98c8eadeafe609feb3bf6c342e5885796d6eceadc3d4581f8",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "0.8.2"
-      },
-      "native_assets_cli": {
-        "dependency": "direct main",
-        "description": {
-          "name": "native_assets_cli",
-          "sha256": "1ff032c0ca050391c4c5107485f1a26e0e95cee18d1fdb2b7bdbb990efd3c188",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "0.7.3"
-      },
-      "native_stack_traces": {
-        "dependency": "direct main",
-        "description": {
-          "name": "native_stack_traces",
-          "sha256": "8ba566c10ea781491c203876b04b9bdcf19dfbe17b9e486869f20eaae0ee470f",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "0.6.0"
-      },
-      "node_preamble": {
-        "dependency": "direct main",
-        "description": {
-          "name": "node_preamble",
-          "sha256": "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "2.0.2"
-      },
-      "package_config": {
-        "dependency": "direct main",
-        "description": {
-          "name": "package_config",
-          "sha256": "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "2.1.0"
-      },
-      "path": {
-        "dependency": "direct main",
-        "description": {
-          "name": "path",
-          "sha256": "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "1.9.0"
-      },
-      "petitparser": {
-        "dependency": "direct main",
-        "description": {
-          "name": "petitparser",
-          "sha256": "c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "6.0.2"
-      },
-      "platform": {
-        "dependency": "direct main",
-        "description": {
-          "name": "platform",
-          "sha256": "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "3.1.5"
-      },
-      "pool": {
-        "dependency": "direct main",
-        "description": {
-          "name": "pool",
-          "sha256": "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "1.5.1"
-      },
-      "process": {
-        "dependency": "direct main",
-        "description": {
-          "name": "process",
-          "sha256": "21e54fd2faf1b5bdd5102afd25012184a6793927648ea81eea80552ac9405b32",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "5.0.2"
-      },
-      "pub_semver": {
-        "dependency": "direct main",
-        "description": {
-          "name": "pub_semver",
-          "sha256": "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "2.1.4"
-      },
-      "pubspec_parse": {
-        "dependency": "direct dev",
-        "description": {
-          "name": "pubspec_parse",
-          "sha256": "c799b721d79eb6ee6fa56f00c04b472dcd44a30d258fac2174a6ec57302678f8",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "1.3.0"
-      },
-      "shelf": {
-        "dependency": "direct main",
-        "description": {
-          "name": "shelf",
-          "sha256": "e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "1.4.2"
-      },
-      "shelf_packages_handler": {
-        "dependency": "direct main",
-        "description": {
-          "name": "shelf_packages_handler",
-          "sha256": "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "3.0.2"
-      },
-      "shelf_proxy": {
-        "dependency": "direct main",
-        "description": {
-          "name": "shelf_proxy",
-          "sha256": "a71d2307f4393211930c590c3d2c00630f6c5a7a77edc1ef6436dfd85a6a7ee3",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "1.0.4"
-      },
-      "shelf_static": {
-        "dependency": "direct main",
-        "description": {
-          "name": "shelf_static",
-          "sha256": "a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "1.1.2"
-      },
-      "shelf_web_socket": {
-        "dependency": "direct main",
-        "description": {
-          "name": "shelf_web_socket",
-          "sha256": "073c147238594ecd0d193f3456a5fe91c4b0abbcc68bf5cd95b36c4e194ac611",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "2.0.0"
-      },
-      "source_map_stack_trace": {
-        "dependency": "direct main",
-        "description": {
-          "name": "source_map_stack_trace",
-          "sha256": "c0713a43e323c3302c2abe2a1cc89aa057a387101ebd280371d6a6c9fa68516b",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "2.1.2"
-      },
-      "source_maps": {
-        "dependency": "direct main",
-        "description": {
-          "name": "source_maps",
-          "sha256": "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "0.10.12"
-      },
-      "source_span": {
-        "dependency": "direct main",
-        "description": {
-          "name": "source_span",
-          "sha256": "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "1.10.0"
-      },
-      "sprintf": {
-        "dependency": "direct main",
-        "description": {
-          "name": "sprintf",
-          "sha256": "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "7.0.0"
-      },
-      "sse": {
-        "dependency": "direct main",
-        "description": {
-          "name": "sse",
-          "sha256": "111a05843ea9035042975744fe61d5e8b95bc4d38656dbafc5532da77a0bb89a",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "4.1.6"
-      },
-      "stack_trace": {
-        "dependency": "direct main",
-        "description": {
-          "name": "stack_trace",
-          "sha256": "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "1.11.1"
-      },
-      "standard_message_codec": {
-        "dependency": "direct main",
-        "description": {
-          "name": "standard_message_codec",
-          "sha256": "fc7dd712d191b7e33196a0ecf354c4573492bb95995e7166cb6f73b047f9cae0",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "0.0.1+4"
-      },
-      "stream_channel": {
-        "dependency": "direct main",
-        "description": {
-          "name": "stream_channel",
-          "sha256": "ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "2.1.2"
-      },
-      "string_scanner": {
-        "dependency": "direct main",
-        "description": {
-          "name": "string_scanner",
-          "sha256": "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "1.3.0"
-      },
-      "sync_http": {
-        "dependency": "direct main",
-        "description": {
-          "name": "sync_http",
-          "sha256": "7f0cd72eca000d2e026bcd6f990b81d0ca06022ef4e32fb257b30d3d1014a961",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "0.3.1"
-      },
-      "term_glyph": {
-        "dependency": "direct main",
-        "description": {
-          "name": "term_glyph",
-          "sha256": "a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "1.2.1"
-      },
-      "test": {
-        "dependency": "direct main",
-        "description": {
-          "name": "test",
-          "sha256": "713a8789d62f3233c46b4a90b174737b2c04cb6ae4500f2aa8b1be8f03f5e67f",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "1.25.8"
-      },
-      "test_api": {
-        "dependency": "direct main",
-        "description": {
-          "name": "test_api",
-          "sha256": "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "0.7.3"
-      },
-      "test_core": {
-        "dependency": "direct main",
-        "description": {
-          "name": "test_core",
-          "sha256": "12391302411737c176b0b5d6491f466b0dd56d4763e347b6714efbaa74d7953d",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "0.6.5"
-      },
-      "typed_data": {
-        "dependency": "direct main",
-        "description": {
-          "name": "typed_data",
-          "sha256": "facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "1.3.2"
-      },
-      "unified_analytics": {
-        "dependency": "direct main",
-        "description": {
-          "name": "unified_analytics",
-          "sha256": "916215af2dc2f54a204c6bfbc645ec401b6a150048764814379f42e09b557d2d",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "6.1.2"
-      },
-      "usage": {
-        "dependency": "direct main",
-        "description": {
-          "name": "usage",
-          "sha256": "0bdbde65a6e710343d02a56552eeaefd20b735e04bfb6b3ee025b6b22e8d0e15",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "4.1.1"
-      },
-      "uuid": {
-        "dependency": "direct main",
-        "description": {
-          "name": "uuid",
-          "sha256": "83d37c7ad7aaf9aa8e275490669535c8080377cfa7a7004c24dfac53afffaa90",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "4.4.2"
-      },
-      "vm_service": {
-        "dependency": "direct main",
-        "description": {
-          "name": "vm_service",
-          "sha256": "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "14.2.5"
-      },
-      "vm_service_interface": {
-        "dependency": "direct main",
-        "description": {
-          "name": "vm_service_interface",
-          "sha256": "f827453d9a3f8ceae04e389810da26f9b67636bdd13aa2dd9405b110c4daf59c",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "1.1.0"
-      },
-      "vm_snapshot_analysis": {
-        "dependency": "direct main",
-        "description": {
-          "name": "vm_snapshot_analysis",
-          "sha256": "5a79b9fbb6be2555090f55b03b23907e75d44c3fd7bdd88da09848aa5a1914c8",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "0.7.6"
-      },
-      "watcher": {
-        "dependency": "direct main",
-        "description": {
-          "name": "watcher",
-          "sha256": "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "1.1.0"
-      },
-      "web": {
-        "dependency": "direct main",
-        "description": {
-          "name": "web",
-          "sha256": "d43c1d6b787bf0afad444700ae7f4db8827f701bc61c255ac8d328c6f4d52062",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "1.0.0"
-      },
-      "web_socket": {
-        "dependency": "direct main",
-        "description": {
-          "name": "web_socket",
-          "sha256": "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "0.1.6"
-      },
-      "web_socket_channel": {
-        "dependency": "direct main",
-        "description": {
-          "name": "web_socket_channel",
-          "sha256": "9f187088ed104edd8662ca07af4b124465893caf063ba29758f97af57e61da8f",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "3.0.1"
-      },
-      "webdriver": {
-        "dependency": "direct main",
-        "description": {
-          "name": "webdriver",
-          "sha256": "003d7da9519e1e5f329422b36c4dcdf18d7d2978d1ba099ea4e45ba490ed845e",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "3.0.3"
-      },
-      "webkit_inspection_protocol": {
-        "dependency": "direct main",
-        "description": {
-          "name": "webkit_inspection_protocol",
-          "sha256": "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "1.2.1"
-      },
-      "xml": {
-        "dependency": "direct main",
-        "description": {
-          "name": "xml",
-          "sha256": "b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "6.5.0"
-      },
-      "yaml": {
-        "dependency": "direct main",
-        "description": {
-          "name": "yaml",
-          "sha256": "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "3.1.2"
-      },
-      "yaml_edit": {
-        "dependency": "direct main",
-        "description": {
-          "name": "yaml_edit",
-          "sha256": "e9c1a3543d2da0db3e90270dbb1e4eebc985ee5e3ffe468d83224472b2194a5f",
-          "url": "https://pub.dev"
-        },
-        "source": "hosted",
-        "version": "2.2.1"
-      }
-    },
-    "sdks": {
-      "dart": ">=3.4.3 <4.0.0"
-    }
-  }
-}
diff --git a/pkgs/development/compilers/flutter/versions/3_26/patches/deregister-pub-dependencies-artifact.patch b/pkgs/development/compilers/flutter/versions/3_26/patches/deregister-pub-dependencies-artifact.patch
deleted file mode 100644
index 01e34c6d292c..000000000000
--- a/pkgs/development/compilers/flutter/versions/3_26/patches/deregister-pub-dependencies-artifact.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff --git a/packages/flutter_tools/lib/src/flutter_cache.dart b/packages/flutter_tools/lib/src/flutter_cache.dart
-index 252021cf78..e50ef0885d 100644
---- a/packages/flutter_tools/lib/src/flutter_cache.dart
-+++ b/packages/flutter_tools/lib/src/flutter_cache.dart
-@@ -51,14 +51,6 @@ class FlutterCache extends Cache {
-       registerArtifact(IosUsbArtifacts(artifactName, this, platform: platform));
-     }
-     registerArtifact(FontSubsetArtifacts(this, platform: platform));
--    registerArtifact(PubDependencies(
--      logger: logger,
--      // flutter root and pub must be lazily initialized to avoid accessing
--      // before the version is determined.
--      flutterRoot: () => Cache.flutterRoot!,
--      pub: () => pub,
--      projectFactory: projectFactory,
--    ));
-   }
- }
- 
\ No newline at end of file
diff --git a/pkgs/development/compilers/flutter/versions/3_26/patches/disable-auto-update.patch b/pkgs/development/compilers/flutter/versions/3_26/patches/disable-auto-update.patch
deleted file mode 100644
index 2ad292efd222..000000000000
--- a/pkgs/development/compilers/flutter/versions/3_26/patches/disable-auto-update.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff --git a/packages/flutter_tools/lib/src/runner/flutter_command.dart b/packages/flutter_tools/lib/src/runner/flutter_command.dart
-index e4e474ab6e..5548599802 100644
---- a/packages/flutter_tools/lib/src/runner/flutter_command.dart
-+++ b/packages/flutter_tools/lib/src/runner/flutter_command.dart
-@@ -1693,7 +1693,7 @@ Run 'flutter -h' (or 'flutter  -h') for available flutter commands and
- 
-     // Populate the cache. We call this before pub get below so that the
-     // sky_engine package is available in the flutter cache for pub to find.
--    if (shouldUpdateCache) {
-+    if (false) {
-       // First always update universal artifacts, as some of these (e.g.
-       // ios-deploy on macOS) are required to determine `requiredArtifacts`.
-       final bool offline;
-diff --git a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
-index 50783f8435..db94062840 100644
---- a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
-+++ b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
-@@ -377,11 +377,7 @@ class FlutterCommandRunner extends CommandRunner {
-           globals.analytics.suppressTelemetry();
-         }
- 
--        globals.flutterVersion.ensureVersionFile();
-         final bool machineFlag = topLevelResults[FlutterGlobalOptions.kMachineFlag] as bool? ?? false;
--        if (await _shouldCheckForUpdates(topLevelResults, topLevelMachineFlag: machineFlag)) {
--          await globals.flutterVersion.checkFlutterVersionFreshness();
--        }
- 
-         // See if the user specified a specific device.
-         final String? specifiedDeviceId = topLevelResults[FlutterGlobalOptions.kDeviceIdOption] as String?;
-
diff --git a/pkgs/development/compilers/flutter/versions/3_26/patches/fix-ios-build-xcode-backend-sh.patch b/pkgs/development/compilers/flutter/versions/3_26/patches/fix-ios-build-xcode-backend-sh.patch
deleted file mode 100644
index 825d40fc6176..000000000000
--- a/pkgs/development/compilers/flutter/versions/3_26/patches/fix-ios-build-xcode-backend-sh.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 6df275df3b8694daf16302b407520e3b1dee6724 Mon Sep 17 00:00:00 2001
-From: Philip Hayes 
-Date: Thu, 12 Sep 2024 13:23:00 -0700
-Subject: [PATCH] fix: cleanup xcode_backend.sh to fix iOS build w/
- `NixOS/nixpkgs` flutter
-
-This patch cleans up `xcode_backend.sh`. It now effectively just runs
-`exec $FLUTTER_ROOT/bin/dart ./xcode_backend.dart`.
-
-The previous `xcode_backend.sh` tries to discover `$FLUTTER_ROOT` from
-argv[0], even though its presence is already guaranteed (the wrapped
-`xcode_backend.dart` also relies on this env).
-
-When using nixpkgs flutter, the flutter SDK directory is composed of several
-layers, joined together using symlinks (called a `symlinkJoin`). Without this
-patch, the auto-discover traverses the symlinks into the wrong layer, and so it
-uses an "unwrapped" `dart` command instead of a "wrapped" dart that sets some
-important envs/flags (like `$FLUTTER_ROOT`).
-
-Using the "unwrapped" dart then manifests in this error when compiling, since
-it doesn't see the ios build-support artifacts:
-
-```
-$ flutter run -d iphone
-Running Xcode build...
-Xcode build done.                                            6.4s
-Failed to build iOS app
-Error (Xcode): Target debug_unpack_ios failed: Error: Flutter failed to create a directory at "//XXXX-flutter-3.24.1-unwrapped/bin/cache/artifacts".
-```
----
- packages/flutter_tools/bin/xcode_backend.sh | 25 ++++-----------------
- 1 file changed, 4 insertions(+), 21 deletions(-)
-
-diff --git a/packages/flutter_tools/bin/xcode_backend.sh b/packages/flutter_tools/bin/xcode_backend.sh
-index 2889d7c8e4..48b9d06c6e 100755
---- a/packages/flutter_tools/bin/xcode_backend.sh
-+++ b/packages/flutter_tools/bin/xcode_backend.sh
-@@ -6,24 +6,7 @@
- # exit on error, or usage of unset var
- set -euo pipefail
- 
--# Needed because if it is set, cd may print the path it changed to.
--unset CDPATH
--
--function follow_links() (
--  cd -P "$(dirname -- "$1")"
--  file="$PWD/$(basename -- "$1")"
--  while [[ -h "$file" ]]; do
--    cd -P "$(dirname -- "$file")"
--    file="$(readlink -- "$file")"
--    cd -P "$(dirname -- "$file")"
--    file="$PWD/$(basename -- "$file")"
--  done
--  echo "$file"
--)
--
--PROG_NAME="$(follow_links "${BASH_SOURCE[0]}")"
--BIN_DIR="$(cd "${PROG_NAME%/*}" ; pwd -P)"
--FLUTTER_ROOT="$BIN_DIR/../../.."
--DART="$FLUTTER_ROOT/bin/dart"
--
--"$DART" "$BIN_DIR/xcode_backend.dart" "$@"
-+# Run `dart ./xcode_backend.dart` with the dart from $FLUTTER_ROOT.
-+dart="${FLUTTER_ROOT}/bin/dart"
-+xcode_backend_dart="${BASH_SOURCE[0]%.sh}.dart"
-+exec "${dart}" "${xcode_backend_dart}" "$@"
--- 
-2.46.0
-
diff --git a/pkgs/development/compilers/flutter/versions/3_26/patches/gradle-flutter-tools-wrapper.patch b/pkgs/development/compilers/flutter/versions/3_26/patches/gradle-flutter-tools-wrapper.patch
deleted file mode 100644
index de6080efbba8..000000000000
--- a/pkgs/development/compilers/flutter/versions/3_26/patches/gradle-flutter-tools-wrapper.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-This patch introduces an intermediate Gradle build step to alter the behavior
-of flutter_tools' Gradle project, specifically moving the creation of `build`
-and `.gradle` directories from within the Nix Store to somewhere in `$HOME/.cache/flutter/nix-flutter-tools-gradle/$engineShortRev`.
-
-Without this patch, flutter_tools' Gradle project tries to generate `build` and `.gradle`
-directories within the Nix Store. Resulting in read-only errors when trying to build a
-Flutter Android app at runtime.
-
-This patch takes advantage of the fact settings.gradle takes priority over settings.gradle.kts to build the intermediate Gradle project
-when a Flutter app runs `includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle")`
-
-`rootProject.buildFileName = "/dev/null"` so that the intermediate project doesn't use `build.gradle.kts` that's in the same directory.
-
-The intermediate project makes a `settings.gradle` file in `$HOME/.cache/flutter/nix-flutter-tools-gradle//` and `includeBuild`s it.
-This Gradle project will build the actual `packages/flutter_tools/gradle` project by setting
-`rootProject.projectDir = new File("$settingsDir")` and `apply from: new File("$settingsDir/settings.gradle.kts")`.
-
-Now the `.gradle` will be built in `$HOME/.cache/flutter/nix-flutter-tools-gradle//`, but `build` doesn't.
-To move `build` to `$HOME/.cache/flutter/nix-flutter-tools-gradle//` as well, we need to set `buildDirectory`.
-diff --git a/packages/flutter_tools/gradle/settings.gradle b/packages/flutter_tools/gradle/settings.gradle
-new file mode 100644
-index 0000000000..b2485c94b4
---- /dev/null
-+++ b/packages/flutter_tools/gradle/settings.gradle
-@@ -0,0 +1,19 @@
-+rootProject.buildFileName = "/dev/null"
-+
-+def engineShortRev = (new File("$settingsDir/../../../bin/internal/engine.version")).text.take(10)
-+def dir = new File("$System.env.HOME/.cache/flutter/nix-flutter-tools-gradle/$engineShortRev")
-+dir.mkdirs()
-+def file = new File(dir, "settings.gradle")
-+
-+file.text = """
-+rootProject.projectDir = new File("$settingsDir")
-+apply from: new File("$settingsDir/settings.gradle.kts")
-+
-+gradle.allprojects { project ->
-+  project.beforeEvaluate {
-+    project.layout.buildDirectory = new File("$dir/build")
-+  }
-+}
-+"""
-+
-+includeBuild(dir)
diff --git a/pkgs/development/compilers/flutter/versions/3_29/patches/gradle-flutter-tools-wrapper.patch b/pkgs/development/compilers/flutter/versions/3_29/patches/gradle-flutter-tools-wrapper.patch
index b579b4b42f8e..34f6a1c99a64 100644
--- a/pkgs/development/compilers/flutter/versions/3_29/patches/gradle-flutter-tools-wrapper.patch
+++ b/pkgs/development/compilers/flutter/versions/3_29/patches/gradle-flutter-tools-wrapper.patch
@@ -15,11 +15,9 @@ The intermediate project makes a `settings.gradle` file in `$HOME/.cache/flutter
 This Gradle project will build the actual `packages/flutter_tools/gradle` project by setting
 `rootProject.projectDir = new File("$settingsDir")` and `apply from: new File("$settingsDir/settings.gradle.kts")`.
 
-Now the `.gradle` will be built in `$HOME/.cache/flutter/nix-flutter-tools-gradle//`, but `build` doesn't.
-To move `build` to `$HOME/.cache/flutter/nix-flutter-tools-gradle//` as well, we need to set `buildDirectory`.
-diff --git a/packages/flutter_tools/gradle/settings.gradle b/packages/flutter_tools/gradle/settings.gradle
-new file mode 100644
-index 0000000000..b2485c94b4
+To move `build` to `$HOME/.cache/flutter/nix-flutter-tools-gradle//`, we need to set `buildDirectory`.
+To move `.gradle` as well, the `--project-cache-dir` argument must be passed to the Gradle wrapper.
+Changing the `GradleUtils.getExecutable` function signature is a delibarate choice, to ensure that no new unpatched usages slip in.
 --- /dev/null
 +++ b/packages/flutter_tools/gradle/settings.gradle
 @@ -0,0 +1,19 @@
@@ -44,12 +42,179 @@ index 0000000000..b2485c94b4
 +includeBuild(dir)
 --- a/packages/flutter_tools/gradle/build.gradle.kts
 +++ b/packages/flutter_tools/gradle/build.gradle.kts
-@@ -4,6 +4,8 @@
+@@ -4,6 +4,11 @@
  
  import org.jetbrains.kotlin.gradle.dsl.JvmTarget
  
++// While flutter_tools runs Gradle with a --project-cache-dir, this startParameter
++// is not passed correctly to the Kotlin Gradle plugin for some reason, and so
++// must be set here as well.
 +gradle.startParameter.projectCacheDir = layout.buildDirectory.dir("cache").get().asFile
 +
  plugins {
      `java-gradle-plugin`
      groovy
+--- a/packages/flutter_tools/lib/src/android/gradle.dart
++++ b/packages/flutter_tools/lib/src/android/gradle.dart
+@@ -456,9 +456,9 @@ class AndroidGradleBuilder implements AndroidBuilder {
+     // from the local.properties file.
+     updateLocalProperties(project: project, buildInfo: androidBuildInfo.buildInfo);
+ 
+-    final List options = [];
+-
+-    final String gradleExecutablePath = _gradleUtils.getExecutable(project);
++    final [String gradleExecutablePath, ...List options] = _gradleUtils.getExecutable(
++      project,
++    );
+ 
+     // All automatically created files should exist.
+     if (configOnly) {
+@@ -781,7 +781,7 @@ class AndroidGradleBuilder implements AndroidBuilder {
+       'aar_init_script.gradle',
+     );
+     final List command = [
+-      _gradleUtils.getExecutable(project),
++      ..._gradleUtils.getExecutable(project),
+       '-I=$initScript',
+       '-Pflutter-root=$flutterRoot',
+       '-Poutput-dir=${outputDirectory.path}',
+@@ -896,6 +896,10 @@ class AndroidGradleBuilder implements AndroidBuilder {
+     final List results = [];
+ 
+     try {
++      final [String gradleExecutablePath, ...List options] = _gradleUtils.getExecutable(
++        project,
++      );
++
+       exitCode = await _runGradleTask(
+         _kBuildVariantTaskName,
+         preRunTask: () {
+@@ -911,10 +915,10 @@ class AndroidGradleBuilder implements AndroidBuilder {
+             ),
+           );
+         },
+-        options: const ['-q'],
++        options: [...options, '-q'],
+         project: project,
+         localGradleErrors: gradleErrors,
+-        gradleExecutablePath: _gradleUtils.getExecutable(project),
++        gradleExecutablePath: gradleExecutablePath,
+         outputParser: (String line) {
+           if (_kBuildVariantRegex.firstMatch(line) case final RegExpMatch match) {
+             results.add(match.namedGroup(_kBuildVariantRegexGroupName)!);
+@@ -948,6 +952,10 @@ class AndroidGradleBuilder implements AndroidBuilder {
+     late Stopwatch sw;
+     int exitCode = 1;
+     try {
++      final [String gradleExecutablePath, ...List options] = _gradleUtils.getExecutable(
++        project,
++      );
++
+       exitCode = await _runGradleTask(
+         taskName,
+         preRunTask: () {
+@@ -963,10 +971,10 @@ class AndroidGradleBuilder implements AndroidBuilder {
+             ),
+           );
+         },
+-        options: ['-q', '-PoutputPath=$outputPath'],
++        options: [...options, '-q', '-PoutputPath=$outputPath'],
+         project: project,
+         localGradleErrors: gradleErrors,
+-        gradleExecutablePath: _gradleUtils.getExecutable(project),
++        gradleExecutablePath: gradleExecutablePath,
+       );
+     } on Error catch (error) {
+       _logger.printError(error.toString());
+--- a/packages/flutter_tools/lib/src/android/gradle_errors.dart
++++ b/packages/flutter_tools/lib/src/android/gradle_errors.dart
+@@ -240,7 +240,12 @@ final GradleHandledError flavorUndefinedHandler = GradleHandledError(
+     required bool usesAndroidX,
+   }) async {
+     final RunResult tasksRunResult = await globals.processUtils.run(
+-      [globals.gradleUtils!.getExecutable(project), 'app:tasks', '--all', '--console=auto'],
++      [
++        ...globals.gradleUtils!.getExecutable(project),
++        'app:tasks',
++        '--all',
++        '--console=auto',
++      ],
+       throwOnError: true,
+       workingDirectory: project.android.hostAppGradleRoot.path,
+       environment: globals.java?.environment,
+--- a/packages/flutter_tools/lib/src/android/gradle_utils.dart
++++ b/packages/flutter_tools/lib/src/android/gradle_utils.dart
+@@ -3,6 +3,7 @@
+ // found in the LICENSE file.
+ 
+ import 'package:meta/meta.dart';
++import 'package:path/path.dart';
+ import 'package:process/process.dart';
+ import 'package:unified_analytics/unified_analytics.dart';
+ 
+@@ -154,9 +155,29 @@ class GradleUtils {
+   final Logger _logger;
+   final OperatingSystemUtils _operatingSystemUtils;
+ 
++  List get _requiredArguments {
++    final String cacheDir = join(
++      switch (globals.platform.environment['XDG_CACHE_HOME']) {
++        final String cacheHome => cacheHome,
++        _ => join(
++          globals.fsUtils.homeDirPath ?? throwToolExit('No cache directory has been specified.'),
++          '.cache',
++        ),
++      },
++      'flutter',
++      'nix-flutter-tools-gradle',
++      globals.flutterVersion.engineRevision.substring(0, 10),
++    );
++
++    return [
++      '--project-cache-dir=${join(cacheDir, 'cache')}',
++      '-Pkotlin.project.persistent.dir=${join(cacheDir, 'kotlin')}',
++    ];
++  }
++
+   /// Gets the Gradle executable path and prepares the Gradle project.
+   /// This is the `gradlew` or `gradlew.bat` script in the `android/` directory.
+-  String getExecutable(FlutterProject project) {
++  List getExecutable(FlutterProject project) {
+     final Directory androidDir = project.android.hostAppGradleRoot;
+     injectGradleWrapperIfNeeded(androidDir);
+ 
+@@ -167,7 +188,7 @@ class GradleUtils {
+       // If the Gradle executable doesn't have execute permission,
+       // then attempt to set it.
+       _operatingSystemUtils.makeExecutable(gradle);
+-      return gradle.absolute.path;
++      return [gradle.absolute.path, ..._requiredArguments];
+     }
+     throwToolExit(
+       'Unable to locate gradlew script. Please check that ${gradle.path} '
+--- a/packages/flutter_tools/test/general.shard/android/android_gradle_builder_test.dart
++++ b/packages/flutter_tools/test/general.shard/android/android_gradle_builder_test.dart
+@@ -2740,8 +2740,8 @@ Gradle Crashed
+ 
+ class FakeGradleUtils extends Fake implements GradleUtils {
+   @override
+-  String getExecutable(FlutterProject project) {
+-    return 'gradlew';
++  List getExecutable(FlutterProject project) {
++    return const ['gradlew'];
+   }
+ }
+ 
+--- a/packages/flutter_tools/test/general.shard/android/gradle_errors_test.dart
++++ b/packages/flutter_tools/test/general.shard/android/gradle_errors_test.dart
+@@ -1580,8 +1580,8 @@ Platform fakePlatform(String name) {
+ 
+ class FakeGradleUtils extends Fake implements GradleUtils {
+   @override
+-  String getExecutable(FlutterProject project) {
+-    return 'gradlew';
++  List getExecutable(FlutterProject project) {
++    return const ['gradlew'];
+   }
+ }
+ 
diff --git a/pkgs/development/compilers/flutter/versions/3_32/data.json b/pkgs/development/compilers/flutter/versions/3_32/data.json
index a4e1d1db18c4..ace17df24812 100644
--- a/pkgs/development/compilers/flutter/versions/3_32/data.json
+++ b/pkgs/development/compilers/flutter/versions/3_32/data.json
@@ -1,73 +1,73 @@
 {
-  "version": "3.32.0",
-  "engineVersion": "18818009497c581ede5d8a3b8b833b81d00cebb7",
+  "version": "3.32.2",
+  "engineVersion": "109150893958777c8f2215f6cfd3e89e984e8dea",
   "engineSwiftShaderHash": "sha256-ATVcuxqPHqHOWYyO7DoX9LdgUiO3INUi7m9Mc6ccc1M=",
   "engineSwiftShaderRev": "d040a5bab638bf7c226235c95787ba6288bb6416",
   "channel": "stable",
   "engineHashes": {
     "aarch64-linux": {
-      "aarch64-linux": "sha256-zGlgnVbNPZ9OX5VFxaajc8xqPKftzZMkyem2NLk8EH8=",
-      "x86_64-linux": "sha256-zGlgnVbNPZ9OX5VFxaajc8xqPKftzZMkyem2NLk8EH8="
+      "aarch64-linux": "sha256-l/7p9fPVPIx/CqT4xTUPQLlBU18aZSlimamELMgkAjY=",
+      "x86_64-linux": "sha256-l/7p9fPVPIx/CqT4xTUPQLlBU18aZSlimamELMgkAjY="
     },
     "x86_64-linux": {
-      "aarch64-linux": "sha256-TWwsPtAnkQzsvNLUd5Q3G80ALeh7nM/XV4M6rfBvUGY=",
-      "x86_64-linux": "sha256-TWwsPtAnkQzsvNLUd5Q3G80ALeh7nM/XV4M6rfBvUGY="
+      "aarch64-linux": "sha256-6shoelu1oOcTbzXlFcAOsVMF3b/3RZ2vHuMEXvKyzbo=",
+      "x86_64-linux": "sha256-6shoelu1oOcTbzXlFcAOsVMF3b/3RZ2vHuMEXvKyzbo="
     }
   },
-  "dartVersion": "3.8.0",
+  "dartVersion": "3.8.1",
   "dartHash": {
-    "x86_64-linux": "sha256-/b6dNwqeMymHKI4cz2ggfVtcHWtdsrlVyEZ1Z2G0RKw=",
-    "aarch64-linux": "sha256-tXIeGM7n1lx9GOwOMEFapiW0sHBlhupx5NCAtFd73Pk=",
-    "x86_64-darwin": "sha256-wD9Z3J29N4ecWKmCetj5GnbTQ8LiJ1tZFEbPuG6ny5w=",
-    "aarch64-darwin": "sha256-IIFn6OTpTH8LzwZzF7V8yUrhHkjavMUWX7n62YEMABk="
+    "x86_64-linux": "sha256-3eE40VMwrPFD502lIaz+CkD7mBnSI/WqJ3C4DVQ01Z4=",
+    "aarch64-linux": "sha256-0GXCO00ar5532h+cXBEIe8BhGVKOuGuoPzr1M00muh4=",
+    "x86_64-darwin": "sha256-S3iGDVLollApke2SnXAcV919qsDTVmz5Gf9fTletr00=",
+    "aarch64-darwin": "sha256-haHQks9N1mBIqRsYg9sOLw7ra7gC708gsTWfKxvIK1c="
   },
-  "flutterHash": "sha256-Wk84RfnPvPVVnnbwGcnHIcRnu3Kizo2AkRQbVSEw+1M=",
+  "flutterHash": "sha256-bL+WRW9tOLEXeAwZKgwN4y8Vj6s6FOCUm3JJilLCkY8=",
   "artifactHashes": {
     "android": {
-      "aarch64-darwin": "sha256-+YUzIG/qUFb4X2ftR6Gf0h1mt/5Dy59B7QD09X1XVYY=",
-      "aarch64-linux": "sha256-lZIo8AGzrXant29kfiOKlfQ0SJAPXpsdZCaKfqxn0zA=",
-      "x86_64-darwin": "sha256-+YUzIG/qUFb4X2ftR6Gf0h1mt/5Dy59B7QD09X1XVYY=",
-      "x86_64-linux": "sha256-lZIo8AGzrXant29kfiOKlfQ0SJAPXpsdZCaKfqxn0zA="
+      "aarch64-darwin": "sha256-VW1JzE6NfpGk2WFyPnvgkhlc+/dgkVtfPJ3HLF2SxjM=",
+      "aarch64-linux": "sha256-aNZyIBedC35v2/lePY1UcJYP3Wh0JccPrsABHlhdoOI=",
+      "x86_64-darwin": "sha256-VW1JzE6NfpGk2WFyPnvgkhlc+/dgkVtfPJ3HLF2SxjM=",
+      "x86_64-linux": "sha256-aNZyIBedC35v2/lePY1UcJYP3Wh0JccPrsABHlhdoOI="
     },
     "fuchsia": {
-      "aarch64-darwin": "sha256-F4uNyPIt6FSVCSOjR6mtgHHMMcJd3pAdT4uEiBJSASk=",
-      "aarch64-linux": "sha256-F4uNyPIt6FSVCSOjR6mtgHHMMcJd3pAdT4uEiBJSASk=",
-      "x86_64-darwin": "sha256-F4uNyPIt6FSVCSOjR6mtgHHMMcJd3pAdT4uEiBJSASk=",
-      "x86_64-linux": "sha256-F4uNyPIt6FSVCSOjR6mtgHHMMcJd3pAdT4uEiBJSASk="
+      "aarch64-darwin": "sha256-8Jo1dP2uugp75BjQvvgvxnCJI0oyLlClJ2YaaiSkJzs=",
+      "aarch64-linux": "sha256-8Jo1dP2uugp75BjQvvgvxnCJI0oyLlClJ2YaaiSkJzs=",
+      "x86_64-darwin": "sha256-8Jo1dP2uugp75BjQvvgvxnCJI0oyLlClJ2YaaiSkJzs=",
+      "x86_64-linux": "sha256-8Jo1dP2uugp75BjQvvgvxnCJI0oyLlClJ2YaaiSkJzs="
     },
     "ios": {
-      "aarch64-darwin": "sha256-HlGXG7hyi4oCdN4bGP6GYa++rTruZC7v+laR4733xS4=",
-      "aarch64-linux": "sha256-HlGXG7hyi4oCdN4bGP6GYa++rTruZC7v+laR4733xS4=",
-      "x86_64-darwin": "sha256-HlGXG7hyi4oCdN4bGP6GYa++rTruZC7v+laR4733xS4=",
-      "x86_64-linux": "sha256-HlGXG7hyi4oCdN4bGP6GYa++rTruZC7v+laR4733xS4="
+      "aarch64-darwin": "sha256-75DZ9m1yxybk/xP2UMDr/thBtP2q3iOHPakxxHRbIWs=",
+      "aarch64-linux": "sha256-75DZ9m1yxybk/xP2UMDr/thBtP2q3iOHPakxxHRbIWs=",
+      "x86_64-darwin": "sha256-75DZ9m1yxybk/xP2UMDr/thBtP2q3iOHPakxxHRbIWs=",
+      "x86_64-linux": "sha256-75DZ9m1yxybk/xP2UMDr/thBtP2q3iOHPakxxHRbIWs="
     },
     "linux": {
-      "aarch64-darwin": "sha256-y/xxUQK/9GeXjMTUPZSGhfP83rJzCm1Pd2PMjnAHdnk=",
-      "aarch64-linux": "sha256-y/xxUQK/9GeXjMTUPZSGhfP83rJzCm1Pd2PMjnAHdnk=",
-      "x86_64-darwin": "sha256-P5UQiY4QHLJQMmTpTfTFfh6QrqelhWyaGpSXNtM8vJE=",
-      "x86_64-linux": "sha256-P5UQiY4QHLJQMmTpTfTFfh6QrqelhWyaGpSXNtM8vJE="
+      "aarch64-darwin": "sha256-7gGCUYERyMdga0bgxWo2ZCn9yUwIKKBOuzXvNfWS6Bw=",
+      "aarch64-linux": "sha256-7gGCUYERyMdga0bgxWo2ZCn9yUwIKKBOuzXvNfWS6Bw=",
+      "x86_64-darwin": "sha256-VlkWtHFJc8AbzvQbEL8IzXNpkrz4hIR7yK+gRHH1Qtc=",
+      "x86_64-linux": "sha256-VlkWtHFJc8AbzvQbEL8IzXNpkrz4hIR7yK+gRHH1Qtc="
     },
     "macos": {
-      "aarch64-darwin": "sha256-FkvjRiKWa/FUITdwK1ldLCcsfjs8nrH7L0mXGHnVIko=",
-      "aarch64-linux": "sha256-FkvjRiKWa/FUITdwK1ldLCcsfjs8nrH7L0mXGHnVIko=",
-      "x86_64-darwin": "sha256-FkvjRiKWa/FUITdwK1ldLCcsfjs8nrH7L0mXGHnVIko=",
-      "x86_64-linux": "sha256-FkvjRiKWa/FUITdwK1ldLCcsfjs8nrH7L0mXGHnVIko="
+      "aarch64-darwin": "sha256-fonn1C8JJ/Dpid6eyzqgTw5jm4dgdt1KF+sd0d5wRNc=",
+      "aarch64-linux": "sha256-fonn1C8JJ/Dpid6eyzqgTw5jm4dgdt1KF+sd0d5wRNc=",
+      "x86_64-darwin": "sha256-fonn1C8JJ/Dpid6eyzqgTw5jm4dgdt1KF+sd0d5wRNc=",
+      "x86_64-linux": "sha256-fonn1C8JJ/Dpid6eyzqgTw5jm4dgdt1KF+sd0d5wRNc="
     },
     "universal": {
-      "aarch64-darwin": "sha256-bt/UiY3t1wZUnpMo1uVQPdlG/7X+OrAOZRXIaXKH3Ls=",
-      "aarch64-linux": "sha256-NShVNyK6Cx5bddhv6hg3rM+QPczrm2MmHCgb14h78SA=",
-      "x86_64-darwin": "sha256-zXSufTmlyaHM0fJinirUfB3XjD3dzKFD6iyhUADsyQY=",
-      "x86_64-linux": "sha256-MQw71FYYuLKd60cwMddAjVe9vgwx8MR4xVe0Z9J7uAo="
+      "aarch64-darwin": "sha256-XXktfE+Rx2kj+4PYlWZmfHCRheWDF1K+kCo1McnjZao=",
+      "aarch64-linux": "sha256-jRJ5OLuoV0b/Rd7SpYmyjCL7ED8iWjawvS8ZMAqVowE=",
+      "x86_64-darwin": "sha256-lTudK0BzZznIOAc2bTildCLg0ZeLJX19suhG4ZgH1Eo=",
+      "x86_64-linux": "sha256-M41bQrf1amzW1QGkq37gNgN5zh3v4/+OuBxp4CWUSqI="
     },
     "web": {
-      "aarch64-darwin": "sha256-dpMJQsUd98X+tmUnqRZQ1o5g334i7dyxBNvg2znJeaE=",
-      "aarch64-linux": "sha256-dpMJQsUd98X+tmUnqRZQ1o5g334i7dyxBNvg2znJeaE=",
-      "x86_64-darwin": "sha256-dpMJQsUd98X+tmUnqRZQ1o5g334i7dyxBNvg2znJeaE=",
-      "x86_64-linux": "sha256-dpMJQsUd98X+tmUnqRZQ1o5g334i7dyxBNvg2znJeaE="
+      "aarch64-darwin": "sha256-l6/ZekcmlueBP7DdAuQpjGuYc6MFlMSWW4tnU2PixNU=",
+      "aarch64-linux": "sha256-l6/ZekcmlueBP7DdAuQpjGuYc6MFlMSWW4tnU2PixNU=",
+      "x86_64-darwin": "sha256-l6/ZekcmlueBP7DdAuQpjGuYc6MFlMSWW4tnU2PixNU=",
+      "x86_64-linux": "sha256-l6/ZekcmlueBP7DdAuQpjGuYc6MFlMSWW4tnU2PixNU="
     },
     "windows": {
-      "x86_64-darwin": "sha256-3ZfYqlyjBaBaZjxp9k2DCsD4QZL/+fbXfCFxX3i4Q/Q=",
-      "x86_64-linux": "sha256-3ZfYqlyjBaBaZjxp9k2DCsD4QZL/+fbXfCFxX3i4Q/Q="
+      "x86_64-darwin": "sha256-zxVV76R80bRqzJaWCBj9RlLkpB4HmX1iTYcdLAbiqT4=",
+      "x86_64-linux": "sha256-zxVV76R80bRqzJaWCBj9RlLkpB4HmX1iTYcdLAbiqT4="
     }
   },
   "pubspecLock": {
@@ -266,11 +266,11 @@
         "dependency": "direct main",
         "description": {
           "name": "dds",
-          "sha256": "4e206d308bd94595af42e4a561948ef8dba211c9db47f4360c48a5a1f8b44cb5",
+          "sha256": "76fc5140ce4e8922711bbe6dfd3713283ecc7f386c52fc7f594cd5f3e6b80633",
           "url": "https://pub.dev"
         },
         "source": "hosted",
-        "version": "5.0.0"
+        "version": "5.0.2"
       },
       "dds_service_extensions": {
         "dependency": "direct main",
@@ -286,11 +286,11 @@
         "dependency": "direct main",
         "description": {
           "name": "devtools_shared",
-          "sha256": "fa71f07006dfdf3f226ec76db95a4bad156820c081452cc99d18a4f291001bee",
+          "sha256": "659e2d65aa5ef5c3551163811c5c6fa1b973b3df80d8cac6f618035edcdc1096",
           "url": "https://pub.dev"
         },
         "source": "hosted",
-        "version": "11.2.0"
+        "version": "11.2.1"
       },
       "dtd": {
         "dependency": "direct main",
diff --git a/pkgs/development/compilers/flutter/versions/3_32/patches/gradle-flutter-tools-wrapper.patch b/pkgs/development/compilers/flutter/versions/3_32/patches/gradle-flutter-tools-wrapper.patch
index b579b4b42f8e..34f6a1c99a64 100644
--- a/pkgs/development/compilers/flutter/versions/3_32/patches/gradle-flutter-tools-wrapper.patch
+++ b/pkgs/development/compilers/flutter/versions/3_32/patches/gradle-flutter-tools-wrapper.patch
@@ -15,11 +15,9 @@ The intermediate project makes a `settings.gradle` file in `$HOME/.cache/flutter
 This Gradle project will build the actual `packages/flutter_tools/gradle` project by setting
 `rootProject.projectDir = new File("$settingsDir")` and `apply from: new File("$settingsDir/settings.gradle.kts")`.
 
-Now the `.gradle` will be built in `$HOME/.cache/flutter/nix-flutter-tools-gradle//`, but `build` doesn't.
-To move `build` to `$HOME/.cache/flutter/nix-flutter-tools-gradle//` as well, we need to set `buildDirectory`.
-diff --git a/packages/flutter_tools/gradle/settings.gradle b/packages/flutter_tools/gradle/settings.gradle
-new file mode 100644
-index 0000000000..b2485c94b4
+To move `build` to `$HOME/.cache/flutter/nix-flutter-tools-gradle//`, we need to set `buildDirectory`.
+To move `.gradle` as well, the `--project-cache-dir` argument must be passed to the Gradle wrapper.
+Changing the `GradleUtils.getExecutable` function signature is a delibarate choice, to ensure that no new unpatched usages slip in.
 --- /dev/null
 +++ b/packages/flutter_tools/gradle/settings.gradle
 @@ -0,0 +1,19 @@
@@ -44,12 +42,179 @@ index 0000000000..b2485c94b4
 +includeBuild(dir)
 --- a/packages/flutter_tools/gradle/build.gradle.kts
 +++ b/packages/flutter_tools/gradle/build.gradle.kts
-@@ -4,6 +4,8 @@
+@@ -4,6 +4,11 @@
  
  import org.jetbrains.kotlin.gradle.dsl.JvmTarget
  
++// While flutter_tools runs Gradle with a --project-cache-dir, this startParameter
++// is not passed correctly to the Kotlin Gradle plugin for some reason, and so
++// must be set here as well.
 +gradle.startParameter.projectCacheDir = layout.buildDirectory.dir("cache").get().asFile
 +
  plugins {
      `java-gradle-plugin`
      groovy
+--- a/packages/flutter_tools/lib/src/android/gradle.dart
++++ b/packages/flutter_tools/lib/src/android/gradle.dart
+@@ -456,9 +456,9 @@ class AndroidGradleBuilder implements AndroidBuilder {
+     // from the local.properties file.
+     updateLocalProperties(project: project, buildInfo: androidBuildInfo.buildInfo);
+ 
+-    final List options = [];
+-
+-    final String gradleExecutablePath = _gradleUtils.getExecutable(project);
++    final [String gradleExecutablePath, ...List options] = _gradleUtils.getExecutable(
++      project,
++    );
+ 
+     // All automatically created files should exist.
+     if (configOnly) {
+@@ -781,7 +781,7 @@ class AndroidGradleBuilder implements AndroidBuilder {
+       'aar_init_script.gradle',
+     );
+     final List command = [
+-      _gradleUtils.getExecutable(project),
++      ..._gradleUtils.getExecutable(project),
+       '-I=$initScript',
+       '-Pflutter-root=$flutterRoot',
+       '-Poutput-dir=${outputDirectory.path}',
+@@ -896,6 +896,10 @@ class AndroidGradleBuilder implements AndroidBuilder {
+     final List results = [];
+ 
+     try {
++      final [String gradleExecutablePath, ...List options] = _gradleUtils.getExecutable(
++        project,
++      );
++
+       exitCode = await _runGradleTask(
+         _kBuildVariantTaskName,
+         preRunTask: () {
+@@ -911,10 +915,10 @@ class AndroidGradleBuilder implements AndroidBuilder {
+             ),
+           );
+         },
+-        options: const ['-q'],
++        options: [...options, '-q'],
+         project: project,
+         localGradleErrors: gradleErrors,
+-        gradleExecutablePath: _gradleUtils.getExecutable(project),
++        gradleExecutablePath: gradleExecutablePath,
+         outputParser: (String line) {
+           if (_kBuildVariantRegex.firstMatch(line) case final RegExpMatch match) {
+             results.add(match.namedGroup(_kBuildVariantRegexGroupName)!);
+@@ -948,6 +952,10 @@ class AndroidGradleBuilder implements AndroidBuilder {
+     late Stopwatch sw;
+     int exitCode = 1;
+     try {
++      final [String gradleExecutablePath, ...List options] = _gradleUtils.getExecutable(
++        project,
++      );
++
+       exitCode = await _runGradleTask(
+         taskName,
+         preRunTask: () {
+@@ -963,10 +971,10 @@ class AndroidGradleBuilder implements AndroidBuilder {
+             ),
+           );
+         },
+-        options: ['-q', '-PoutputPath=$outputPath'],
++        options: [...options, '-q', '-PoutputPath=$outputPath'],
+         project: project,
+         localGradleErrors: gradleErrors,
+-        gradleExecutablePath: _gradleUtils.getExecutable(project),
++        gradleExecutablePath: gradleExecutablePath,
+       );
+     } on Error catch (error) {
+       _logger.printError(error.toString());
+--- a/packages/flutter_tools/lib/src/android/gradle_errors.dart
++++ b/packages/flutter_tools/lib/src/android/gradle_errors.dart
+@@ -240,7 +240,12 @@ final GradleHandledError flavorUndefinedHandler = GradleHandledError(
+     required bool usesAndroidX,
+   }) async {
+     final RunResult tasksRunResult = await globals.processUtils.run(
+-      [globals.gradleUtils!.getExecutable(project), 'app:tasks', '--all', '--console=auto'],
++      [
++        ...globals.gradleUtils!.getExecutable(project),
++        'app:tasks',
++        '--all',
++        '--console=auto',
++      ],
+       throwOnError: true,
+       workingDirectory: project.android.hostAppGradleRoot.path,
+       environment: globals.java?.environment,
+--- a/packages/flutter_tools/lib/src/android/gradle_utils.dart
++++ b/packages/flutter_tools/lib/src/android/gradle_utils.dart
+@@ -3,6 +3,7 @@
+ // found in the LICENSE file.
+ 
+ import 'package:meta/meta.dart';
++import 'package:path/path.dart';
+ import 'package:process/process.dart';
+ import 'package:unified_analytics/unified_analytics.dart';
+ 
+@@ -154,9 +155,29 @@ class GradleUtils {
+   final Logger _logger;
+   final OperatingSystemUtils _operatingSystemUtils;
+ 
++  List get _requiredArguments {
++    final String cacheDir = join(
++      switch (globals.platform.environment['XDG_CACHE_HOME']) {
++        final String cacheHome => cacheHome,
++        _ => join(
++          globals.fsUtils.homeDirPath ?? throwToolExit('No cache directory has been specified.'),
++          '.cache',
++        ),
++      },
++      'flutter',
++      'nix-flutter-tools-gradle',
++      globals.flutterVersion.engineRevision.substring(0, 10),
++    );
++
++    return [
++      '--project-cache-dir=${join(cacheDir, 'cache')}',
++      '-Pkotlin.project.persistent.dir=${join(cacheDir, 'kotlin')}',
++    ];
++  }
++
+   /// Gets the Gradle executable path and prepares the Gradle project.
+   /// This is the `gradlew` or `gradlew.bat` script in the `android/` directory.
+-  String getExecutable(FlutterProject project) {
++  List getExecutable(FlutterProject project) {
+     final Directory androidDir = project.android.hostAppGradleRoot;
+     injectGradleWrapperIfNeeded(androidDir);
+ 
+@@ -167,7 +188,7 @@ class GradleUtils {
+       // If the Gradle executable doesn't have execute permission,
+       // then attempt to set it.
+       _operatingSystemUtils.makeExecutable(gradle);
+-      return gradle.absolute.path;
++      return [gradle.absolute.path, ..._requiredArguments];
+     }
+     throwToolExit(
+       'Unable to locate gradlew script. Please check that ${gradle.path} '
+--- a/packages/flutter_tools/test/general.shard/android/android_gradle_builder_test.dart
++++ b/packages/flutter_tools/test/general.shard/android/android_gradle_builder_test.dart
+@@ -2740,8 +2740,8 @@ Gradle Crashed
+ 
+ class FakeGradleUtils extends Fake implements GradleUtils {
+   @override
+-  String getExecutable(FlutterProject project) {
+-    return 'gradlew';
++  List getExecutable(FlutterProject project) {
++    return const ['gradlew'];
+   }
+ }
+ 
+--- a/packages/flutter_tools/test/general.shard/android/gradle_errors_test.dart
++++ b/packages/flutter_tools/test/general.shard/android/gradle_errors_test.dart
+@@ -1580,8 +1580,8 @@ Platform fakePlatform(String name) {
+ 
+ class FakeGradleUtils extends Fake implements GradleUtils {
+   @override
+-  String getExecutable(FlutterProject project) {
+-    return 'gradlew';
++  List getExecutable(FlutterProject project) {
++    return const ['gradlew'];
+   }
+ }
+ 
diff --git a/pkgs/development/compilers/ghc/8.10.7-binary.nix b/pkgs/development/compilers/ghc/8.10.7-binary.nix
index 9ad461fc03f4..b1e36495a0a8 100644
--- a/pkgs/development/compilers/ghc/8.10.7-binary.nix
+++ b/pkgs/development/compilers/ghc/8.10.7-binary.nix
@@ -393,6 +393,15 @@ stdenv.mkDerivation {
   # calls install-strip ...
   dontBuild = true;
 
+  # GHC tries to remove xattrs when installing to work around Gatekeeper
+  # (see https://gitlab.haskell.org/ghc/ghc/-/issues/17418). This step normally
+  # succeeds in nixpkgs because xattrs are not allowed in the store, but it
+  # can fail when a file has the `com.apple.provenance` xattr, and it can’t be
+  # modified (such as target of the symlink to `libiconv.dylib`).
+  # The `com.apple.provenance` xattr is a new feature of macOS as of macOS 13.
+  # See: https://eclecticlight.co/2023/03/13/ventura-has-changed-app-quarantine-with-a-new-xattr/
+  makeFlags = lib.optionals stdenv.buildPlatform.isDarwin [ "XATTR=/does-not-exist" ];
+
   # Patch scripts to include runtime dependencies in $PATH.
   postInstall = ''
     for i in "$out/bin/"*; do
@@ -535,7 +544,6 @@ stdenv.mkDerivation {
     platforms = builtins.attrNames ghcBinDists.${distSetName};
     maintainers = with lib.maintainers; [
       prusnak
-      domenkozar
     ];
     teams = [ lib.teams.haskell ];
   };
diff --git a/pkgs/development/compilers/ghc/8.6.5-binary.nix b/pkgs/development/compilers/ghc/8.6.5-binary.nix
index 4ed8654a0bfa..82d7a11c7183 100644
--- a/pkgs/development/compilers/ghc/8.6.5-binary.nix
+++ b/pkgs/development/compilers/ghc/8.6.5-binary.nix
@@ -178,6 +178,15 @@ stdenv.mkDerivation rec {
   # calls install-strip ...
   dontBuild = true;
 
+  # GHC tries to remove xattrs when installing to work around Gatekeeper
+  # (see https://gitlab.haskell.org/ghc/ghc/-/issues/17418). This step normally
+  # succeeds in nixpkgs because xattrs are not allowed in the store, but it
+  # can fail when a file has the `com.apple.provenance` xattr, and it can’t be
+  # modified (such as target of the symlink to `libiconv.dylib`).
+  # The `com.apple.provenance` xattr is a new feature of macOS as of macOS 13.
+  # See: https://eclecticlight.co/2023/03/13/ventura-has-changed-app-quarantine-with-a-new-xattr/
+  makeFlags = lib.optionals stdenv.buildPlatform.isDarwin [ "XATTR=/does-not-exist" ];
+
   # Patch scripts to include runtime dependencies in $PATH.
   postInstall = ''
     for i in "$out/bin/"*; do
diff --git a/pkgs/development/compilers/ghc/9.2.4-binary.nix b/pkgs/development/compilers/ghc/9.2.4-binary.nix
index 6641deada776..9a48cd397628 100644
--- a/pkgs/development/compilers/ghc/9.2.4-binary.nix
+++ b/pkgs/development/compilers/ghc/9.2.4-binary.nix
@@ -347,6 +347,15 @@ stdenv.mkDerivation {
   # calls install-strip ...
   dontBuild = true;
 
+  # GHC tries to remove xattrs when installing to work around Gatekeeper
+  # (see https://gitlab.haskell.org/ghc/ghc/-/issues/17418). This step normally
+  # succeeds in nixpkgs because xattrs are not allowed in the store, but it
+  # can fail when a file has the `com.apple.provenance` xattr, and it can’t be
+  # modified (such as target of the symlink to `libiconv.dylib`).
+  # The `com.apple.provenance` xattr is a new feature of macOS as of macOS 13.
+  # See: https://eclecticlight.co/2023/03/13/ventura-has-changed-app-quarantine-with-a-new-xattr/
+  makeFlags = lib.optionals stdenv.buildPlatform.isDarwin [ "XATTR=/does-not-exist" ];
+
   # Patch scripts to include runtime dependencies in $PATH.
   postInstall = ''
     for i in "$out/bin/"*; do
diff --git a/pkgs/development/compilers/ghc/9.6.3-binary.nix b/pkgs/development/compilers/ghc/9.6.3-binary.nix
index ed9fb0a0e458..b84ff516c3ff 100644
--- a/pkgs/development/compilers/ghc/9.6.3-binary.nix
+++ b/pkgs/development/compilers/ghc/9.6.3-binary.nix
@@ -331,6 +331,15 @@ stdenv.mkDerivation {
   # calls install-strip ...
   dontBuild = true;
 
+  # GHC tries to remove xattrs when installing to work around Gatekeeper
+  # (see https://gitlab.haskell.org/ghc/ghc/-/issues/17418). This step normally
+  # succeeds in nixpkgs because xattrs are not allowed in the store, but it
+  # can fail when a file has the `com.apple.provenance` xattr, and it can’t be
+  # modified (such as target of the symlink to `libiconv.dylib`).
+  # The `com.apple.provenance` xattr is a new feature of macOS as of macOS 13.
+  # See: https://eclecticlight.co/2023/03/13/ventura-has-changed-app-quarantine-with-a-new-xattr/
+  makeFlags = lib.optionals stdenv.buildPlatform.isDarwin [ "XATTR=/does-not-exist" ];
+
   # Patch scripts to include runtime dependencies in $PATH.
   postInstall =
     ''
diff --git a/pkgs/development/compilers/ghc/common-make-native-bignum.nix b/pkgs/development/compilers/ghc/common-make-native-bignum.nix
index d3573cc3a522..9c42c41cd1da 100644
--- a/pkgs/development/compilers/ghc/common-make-native-bignum.nix
+++ b/pkgs/development/compilers/ghc/common-make-native-bignum.nix
@@ -365,6 +365,20 @@ stdenv.mkDerivation (
             ./Cabal-3.2-3.4-paths-fix-cycle-aarch64-darwin.patch
         )
       ]
+
+      # Fixes stack overrun in rts which crashes an process whenever
+      # freeHaskellFunPtr is called with nixpkgs' hardening flags.
+      # https://gitlab.haskell.org/ghc/ghc/-/issues/25485
+      # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/13599
+      # TODO: patch doesn't apply for < 9.4, but may still be necessary?
+      ++ lib.optionals (lib.versionAtLeast version "9.4") [
+        (fetchpatch {
+          name = "ghc-rts-adjustor-fix-i386-stack-overrun.patch";
+          url = "https://gitlab.haskell.org/ghc/ghc/-/commit/39bb6e583d64738db51441a556d499aa93a4fc4a.patch";
+          sha256 = "0w5fx413z924bi2irsy1l4xapxxhrq158b5gn6jzrbsmhvmpirs0";
+        })
+      ]
+
       # Before GHC 9.6, GHC, when used to compile C sources (i.e. to drive the CC), would first
       # invoke the C compiler to generate assembly and later call the assembler on the result of
       # that operation. Unfortunately, that is brittle in a lot of cases, e.g. when using mismatched
@@ -630,6 +644,13 @@ stdenv.mkDerivation (
     # Hydra which already warrants a significant speedup
     requiredSystemFeatures = [ "big-parallel" ];
 
+    # Install occasionally fails due to a race condition in minimal builds.
+    # > /nix/store/wyzpysxwgs3qpvmylm9krmfzh2plicix-coreutils-9.7/bin/install -c -m 755 -d "/nix/store/xzb3390rhvhg2a0cvzmrvjspw1d8nf8h-ghc-riscv64-unknown-linux-gnu-9.4.8/bin"
+    # > install: cannot create regular file '/nix/store/xzb3390rhvhg2a0cvzmrvjspw1d8nf8h-ghc-riscv64-unknown-linux-gnu-9.4.8/lib/ghc-9.4.8': No such file or directory
+    preInstall = ''
+      mkdir -p "$out/lib/${passthru.haskellCompilerName}"
+    '';
+
     postInstall =
       ''
         settingsFile="$out/lib/${targetPrefix}${passthru.haskellCompilerName}/settings"
diff --git a/pkgs/development/compilers/go/1.24.nix b/pkgs/development/compilers/go/1.24.nix
index ac8828d873a4..fbccce4cd017 100644
--- a/pkgs/development/compilers/go/1.24.nix
+++ b/pkgs/development/compilers/go/1.24.nix
@@ -27,11 +27,11 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "go";
-  version = "1.24.3";
+  version = "1.24.4";
 
   src = fetchurl {
     url = "https://go.dev/dl/go${finalAttrs.version}.src.tar.gz";
-    hash = "sha256-IpwItgCxRGeYEJ+uH1aSKBAshHPKuoEEtkGMtbwDKHg=";
+    hash = "sha256-WoaoOjH5+oFJC4xUIKw4T9PZWj5x+6Zlx7P5XR3+8rQ=";
   };
 
   strictDeps = true;
diff --git a/pkgs/development/compilers/kotlin/default.nix b/pkgs/development/compilers/kotlin/default.nix
index 9f612b110124..7f2c4879efa8 100644
--- a/pkgs/development/compilers/kotlin/default.nix
+++ b/pkgs/development/compilers/kotlin/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "kotlin";
-  version = "2.1.20";
+  version = "2.1.21";
 
   src = fetchurl {
     url = "https://github.com/JetBrains/kotlin/releases/download/v${finalAttrs.version}/kotlin-compiler-${finalAttrs.version}.zip";
-    sha256 = "sha256-oRgZew3lX/qyvI1c0DpeOQM8+1M4PWkxvHYd7AeEiRo=";
+    sha256 = "sha256-G6CKi0XamTOaBgETTMA3tUz4XpvA7b523L0nwtaEqXc=";
   };
 
   propagatedBuildInputs = [ jre ];
diff --git a/pkgs/development/compilers/llvm/common/clang/default.nix b/pkgs/development/compilers/llvm/common/clang/default.nix
index a34746b8e079..03e8aaec9b54 100644
--- a/pkgs/development/compilers/llvm/common/clang/default.nix
+++ b/pkgs/development/compilers/llvm/common/clang/default.nix
@@ -201,6 +201,8 @@ stdenv.mkDerivation (
       "python"
     ];
 
+    separateDebugInfo = stdenv.buildPlatform.is64bit; # OOMs on 32 bit
+
     postInstall =
       ''
         ln -sv $out/bin/clang $out/bin/cpp
diff --git a/pkgs/development/compilers/llvm/common/llvm/default.nix b/pkgs/development/compilers/llvm/common/llvm/default.nix
index 6051243f6668..519de80c8f8e 100644
--- a/pkgs/development/compilers/llvm/common/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/common/llvm/default.nix
@@ -294,17 +294,7 @@ stdenv.mkDerivation (
       ++
         lib.optional (lib.versionAtLeast release_version "15")
           # Just like the `llvm-lit-cfg` patch, but for `polly`.
-          (getVersionFile "llvm/polly-lit-cfg-add-libs-to-dylib-path.patch")
-      ++
-        lib.optional (lib.versions.major release_version == "20")
-          # https://github.com/llvm/llvm-project/pull/139822 adds a commit which didn't get backported but is necessary for tests.
-          (
-            fetchpatch {
-              url = "https://github.com/llvm/llvm-project/commit/ff2e8f93f6090965e82d799af43f6dfef52baa66.patch";
-              stripLen = 1;
-              hash = "sha256-CZBTZKzi4cYkZhgTB5oXIo1UdEAArg9I4vR/m0upSRk=";
-            }
-          );
+          (getVersionFile "llvm/polly-lit-cfg-add-libs-to-dylib-path.patch");
 
     nativeBuildInputs =
       [
@@ -526,6 +516,8 @@ stdenv.mkDerivation (
         optionalString stdenv.hostPlatform.isFreeBSD ''
           rm test/tools/llvm-libtool-darwin/L-and-l.test
           rm test/ExecutionEngine/Interpreter/intrinsics.ll
+          # Fails in sandbox
+          substituteInPlace unittests/Support/LockFileManagerTest.cpp --replace-fail "Basic" "DISABLED_Basic"
         ''
       + ''
         patchShebangs test/BugPoint/compile-custom.ll.py
diff --git a/pkgs/development/compilers/llvm/common/tblgen.nix b/pkgs/development/compilers/llvm/common/tblgen.nix
index 2c2d541d36a9..f6445df64747 100644
--- a/pkgs/development/compilers/llvm/common/tblgen.nix
+++ b/pkgs/development/compilers/llvm/common/tblgen.nix
@@ -7,6 +7,7 @@
   ninja,
   patches ? [ ],
   python3,
+  updateAutotoolsGnuConfigScriptsHook,
   release_version,
   runCommand,
   src ? null,
@@ -76,6 +77,10 @@ let
       cmake
       ninja
       python3
+
+      # while this is not an autotools build, it still includes a config.guess
+      # this is needed until scripts are updated to not use /usr/bin/uname on FreeBSD native
+      updateAutotoolsGnuConfigScriptsHook
     ];
 
     cmakeFlags = [
diff --git a/pkgs/development/compilers/llvm/default.nix b/pkgs/development/compilers/llvm/default.nix
index 1762da6b16a8..2ae34f202fd1 100644
--- a/pkgs/development/compilers/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/default.nix
@@ -31,11 +31,11 @@ let
     "17.0.6".officialRelease.sha256 = "sha256-8MEDLLhocshmxoEBRSKlJ/GzJ8nfuzQ8qn0X/vLA+ag=";
     "18.1.8".officialRelease.sha256 = "sha256-iiZKMRo/WxJaBXct9GdAcAT3cz9d9pnAcO1mmR6oPNE=";
     "19.1.7".officialRelease.sha256 = "sha256-cZAB5vZjeTsXt9QHbP5xluWNQnAHByHtHnAhVDV0E6I=";
-    "20.1.5".officialRelease.sha256 = "sha256-WKfY+VvAsZEEc0xYgF6+MsXDXZz7haMU6bxqmUpaHuQ=";
+    "20.1.6".officialRelease.sha256 = "sha256-PfCzECiCM+k0hHqEUSr1TSpnII5nqIxg+Z8ICjmMj0Y=";
     "21.0.0-git".gitRelease = {
-      rev = "9e2684e4cfb0a7e30d5e49f812127d07cdda600d";
-      rev-version = "21.0.0-unstable-2025-06-06";
-      sha256 = "sha256-OtIRNU+AuUaPhAsd0Kn0odAdPJhkV/139+DR6Ls0XrE=";
+      rev = "9adde28df784f5c0cc960bdabd413ac131a5852e";
+      rev-version = "21.0.0-unstable-2025-06-15";
+      sha256 = "sha256-8HrUSKL3vOd/Jg9svso9ChCr4tvlGOliyGfi18oZLDY=";
     };
   } // llvmVersions;
 
diff --git a/pkgs/development/compilers/rust/binary.nix b/pkgs/development/compilers/rust/binary.nix
index e390b43341fc..94d2418872d9 100644
--- a/pkgs/development/compilers/rust/binary.nix
+++ b/pkgs/development/compilers/rust/binary.nix
@@ -33,6 +33,7 @@ rec {
       homepage = "https://www.rust-lang.org/";
       sourceProvenance = with sourceTypes; [ binaryNativeCode ];
       description = "Safe, concurrent, practical language";
+      mainProgram = "rustc";
       maintainers = with maintainers; [ qknight ];
       license = [
         licenses.mit
diff --git a/pkgs/development/compilers/rust/make-rust-platform.nix b/pkgs/development/compilers/rust/make-rust-platform.nix
index 03564bc068f7..29a7e5f95194 100644
--- a/pkgs/development/compilers/rust/make-rust-platform.nix
+++ b/pkgs/development/compilers/rust/make-rust-platform.nix
@@ -56,9 +56,6 @@
         (callPackages ../../../build-support/rust/hooks {
           inherit
             stdenv
-            cargo
-            rustc
-            callPackage
             ;
         })
         cargoBuildHook
diff --git a/pkgs/development/compilers/scala/default.nix b/pkgs/development/compilers/scala/default.nix
index 8d27707dff7f..ab8fa942952e 100644
--- a/pkgs/development/compilers/scala/default.nix
+++ b/pkgs/development/compilers/scala/default.nix
@@ -32,7 +32,6 @@ stdenv.mkDerivation {
   '';
 
   inherit (bare) meta;
-}
-// {
-  inherit bare;
+
+  passthru = { inherit bare; };
 }
diff --git a/pkgs/development/compilers/swift/compiler/default.nix b/pkgs/development/compilers/swift/compiler/default.nix
index fb7e4964eb86..c23b8e0877f5 100644
--- a/pkgs/development/compilers/swift/compiler/default.nix
+++ b/pkgs/development/compilers/swift/compiler/default.nix
@@ -11,7 +11,7 @@
   pkg-config,
   clang,
   bintools,
-  python3Packages,
+  python312Packages,
   git,
   fetchpatch,
   fetchpatch2,
@@ -48,7 +48,8 @@ let
     else
       targetPlatform.darwinMinVersion;
 
-  python3 = python3Packages.python.withPackages (p: [ p.setuptools ]); # python 3.12 compat.
+  # Use Python 3.12 for now because Swift 5.8 depends on Python's PyEval_ThreadsInitialized(), which was removed in 3.13.
+  python3 = python312Packages.python.withPackages (p: [ p.setuptools ]); # python 3.12 compat.
 
   inherit (stdenv) hostPlatform targetPlatform;
 
diff --git a/pkgs/development/compilers/zig/fetcher.nix b/pkgs/development/compilers/zig/fetcher.nix
new file mode 100644
index 000000000000..abb8acaa0838
--- /dev/null
+++ b/pkgs/development/compilers/zig/fetcher.nix
@@ -0,0 +1,32 @@
+{
+  lib,
+  zig,
+  runCommand,
+}:
+{
+  pname,
+  version,
+  name ? "${pname}-${version}",
+  src,
+  hash ? lib.fakeHash,
+}@args:
+runCommand "${name}-zig-deps"
+  {
+    inherit (args) src;
+
+    nativeBuildInputs = [ zig ];
+
+    outputHashAlgo = null;
+    outputHashMode = "recursive";
+    outputHash = hash;
+  }
+  ''
+    export ZIG_GLOBAL_CACHE_DIR=$(mktemp -d)
+
+    runHook unpackPhase
+
+    cd $sourceRoot
+    zig build --fetch
+
+    mv $ZIG_GLOBAL_CACHE_DIR/p $out
+  ''
diff --git a/pkgs/development/compilers/zig/generic.nix b/pkgs/development/compilers/zig/generic.nix
index 5b95d7fd6b52..2f81039821b2 100644
--- a/pkgs/development/compilers/zig/generic.nix
+++ b/pkgs/development/compilers/zig/generic.nix
@@ -142,28 +142,17 @@ stdenv.mkDerivation (finalAttrs: {
     runHook postInstallCheck
   '';
 
-  passthru = {
-    hook = callPackage ./hook.nix { zig = finalAttrs.finalPackage; };
-
-    bintools-unwrapped = callPackage ./bintools.nix { zig = finalAttrs.finalPackage; };
-    bintools = wrapBintoolsWith { bintools = finalAttrs.finalPackage.bintools-unwrapped; };
-
-    cc-unwrapped = callPackage ./cc.nix { zig = finalAttrs.finalPackage; };
-    cc = wrapCCWith {
-      cc = finalAttrs.finalPackage.cc-unwrapped;
-      bintools = finalAttrs.finalPackage.bintools;
-      extraPackages = [ ];
-      nixSupport.cc-cflags =
-        [
-          "-target"
-          "${stdenv.targetPlatform.system}-${stdenv.targetPlatform.parsed.abi.name}"
-        ]
-        ++ lib.optional (
-          stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.isStatic or false)
-        ) "-Wl,-dynamic-linker=${targetPackages.stdenv.cc.bintools.dynamicLinker}";
-    };
-
-    stdenv = overrideCC stdenv finalAttrs.finalPackage.cc;
+  passthru = import ./passthru.nix {
+    inherit
+      lib
+      stdenv
+      callPackage
+      wrapCCWith
+      wrapBintoolsWith
+      overrideCC
+      targetPackages
+      ;
+    zig = finalAttrs.finalPackage;
   };
 
   meta = {
diff --git a/pkgs/development/compilers/zig/passthru.nix b/pkgs/development/compilers/zig/passthru.nix
new file mode 100644
index 000000000000..094142fbc16e
--- /dev/null
+++ b/pkgs/development/compilers/zig/passthru.nix
@@ -0,0 +1,35 @@
+{
+  lib,
+  stdenv,
+  zig,
+  callPackage,
+  wrapCCWith,
+  wrapBintoolsWith,
+  overrideCC,
+  targetPackages,
+}:
+{
+  hook = callPackage ./hook.nix { inherit zig; };
+
+  bintools-unwrapped = callPackage ./bintools.nix { inherit zig; };
+  bintools = wrapBintoolsWith { bintools = zig.bintools-unwrapped; };
+
+  cc-unwrapped = callPackage ./cc.nix { inherit zig; };
+  cc = wrapCCWith {
+    cc = zig.cc-unwrapped;
+    bintools = zig.bintools;
+    extraPackages = [ ];
+    nixSupport.cc-cflags =
+      [
+        "-target"
+        "${stdenv.targetPlatform.system}-${stdenv.targetPlatform.parsed.abi.name}"
+      ]
+      ++ lib.optional (
+        stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.isStatic or false)
+      ) "-Wl,-dynamic-linker=${targetPackages.stdenv.cc.bintools.dynamicLinker}";
+  };
+
+  stdenv = overrideCC stdenv zig.cc;
+
+  fetchDeps = callPackage ./fetcher.nix { inherit zig; };
+}
diff --git a/pkgs/development/coq-modules/coq-lsp/default.nix b/pkgs/development/coq-modules/coq-lsp/default.nix
index e4064be1d625..d5b4a0e90c0b 100644
--- a/pkgs/development/coq-modules/coq-lsp/default.nix
+++ b/pkgs/development/coq-modules/coq-lsp/default.nix
@@ -15,10 +15,11 @@
   useDune = true;
 
   release."0.1.8+8.16".sha256 = "sha256-dEEAK5IXGjHB8D/fYJRQG/oCotoXJuWLxXB0GQlY2eo=";
-  release."0.2.2+8.17".sha256 = "sha256-dWPAwePbfTf2t+ydSd1Cnr2kKTDbvedmxm2+Z6F5zuM=";
-  release."0.2.2+8.18".sha256 = "sha256-0J/XaSvhnKHRlcWfG1xbUOyN4LDtK1SEahE9kpV7GK4=";
-  release."0.2.2+8.19".sha256 = "sha256-E2zO2SOU3nmTFf1yA1gefyIWTViUGNTTJ4r6fZYl6UY=";
-  release."0.2.2+8.20".sha256 = "sha256-9yHisA3YJ/KuolU53qcQAjuSIAZPY+4rnkWV9dpLc6c=";
+  release."0.2.3+8.17".sha256 = "sha256-s7GXRYxuCMXm0XpKAyEwYqolsVFcKHhM71uabqqK5BY=";
+  release."0.2.3+8.18".sha256 = "sha256-0cEuMWuNJwfiPdc0aHKk3EQbkVRIbVukS586EWSHCgo=";
+  release."0.2.3+8.19".sha256 = "sha256-0eQQheY2yjS7shifhUlVPLXvTmyvgNpx7deLWXBRTfA=";
+  release."0.2.3+8.20".sha256 = "sha256-TUVS8jkgf1MMOOx5y70OaeZkdIgdgmyGQ2/zKxeplEk=";
+  release."0.2.3+9.0".sha256 = "sha256-eZMM4gYRXQroEIKz6XlffyHNYryEF5dIeIoVbEulh6M=";
 
   inherit version;
   defaultVersion =
@@ -30,19 +31,23 @@
       }
       {
         case = isEq "8.17";
-        out = "0.2.2+8.17";
+        out = "0.2.3+8.17";
       }
       {
         case = isEq "8.18";
-        out = "0.2.2+8.18";
+        out = "0.2.3+8.18";
       }
       {
         case = isEq "8.19";
-        out = "0.2.2+8.19";
+        out = "0.2.3+8.19";
       }
       {
         case = isEq "8.20";
-        out = "0.2.2+8.20";
+        out = "0.2.3+8.20";
+      }
+      {
+        case = isEq "9.0";
+        out = "0.2.3+9.0";
       }
     ] null;
 
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
index 35079eab58c0..96fe5f98f6dd 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
@@ -3726,7 +3726,6 @@ broken-packages:
   - lxd-client # failure in job https://hydra.nixos.org/build/233231826 at 2023-09-02
   - lxd-client-config # failure in job https://hydra.nixos.org/build/233225008 at 2023-09-02
   - lye # failure in job https://hydra.nixos.org/build/233229866 at 2023-09-02
-  - lz4-frame-conduit # failure in job https://hydra.nixos.org/build/233225578 at 2023-09-02
   - lzip # failure in job https://hydra.nixos.org/build/233215027 at 2023-09-02
   - lzma-streams # failure in job https://hydra.nixos.org/build/233229106 at 2023-09-02
   - lzo # failure in job https://hydra.nixos.org/build/233200657 at 2023-09-02
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index 18202e1f82ab..c55acd37e867 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -406,6 +406,8 @@ builtins.intersectAttrs super {
   # The curl executable is required for withApplication tests.
   warp = addTestToolDepend pkgs.curl super.warp;
 
+  lz4-frame-conduit = addTestToolDepends [ pkgs.lz4 ] super.lz4-frame-conduit;
+
   safe-exceptions = overrideCabal (drv: {
     # Fix strictDeps build error "could not execute: hspec-discover"
     testToolDepends = drv.testToolDepends or [ ] ++ [ self.hspec-discover ];
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 527a2baff4ce..afd4702cf3b3 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -431392,9 +431392,7 @@ self: {
       ];
       description = "Conduit implementing the official LZ4 frame streaming format";
       license = lib.licenses.mit;
-      hydraPlatforms = lib.platforms.none;
       mainProgram = "haskell-lz4c";
-      broken = true;
     }
   ) { };
 
diff --git a/pkgs/development/haskell-modules/with-packages-wrapper.nix b/pkgs/development/haskell-modules/with-packages-wrapper.nix
index d1b8aeebf4f8..528c87fef4b9 100644
--- a/pkgs/development/haskell-modules/with-packages-wrapper.nix
+++ b/pkgs/development/haskell-modules/with-packages-wrapper.nix
@@ -62,13 +62,6 @@ let
     else
       "$out/lib/${ghc.targetPrefix}${ghc.haskellCompilerName}"
       + lib.optionalString (ghc ? hadrian) "/lib";
-  # Boot libraries for GHC are present in a separate directory.
-  bootLibDir =
-    let
-      arch = if stdenv.targetPlatform.isAarch64 then "aarch64" else "x86_64";
-      platform = if stdenv.targetPlatform.isDarwin then "osx" else "linux";
-    in
-    "${ghc}/lib/${ghc.haskellCompilerName}/lib/${arch}-${platform}-${ghc.haskellCompilerName}";
   docDir = "$out/share/doc/ghc/html";
   packageCfgDir = "${libDir}/package.conf.d";
   paths = lib.concatLists (
@@ -154,14 +147,17 @@ else
           # symlinkJoin:
           rm -f $dynamicLinksDir/*
 
-          # Boot libraries are located differently than other libraries since GHC 9.6, so handle them separately.
-          if [[ -x "${bootLibDir}" ]]; then
-            find "${bootLibDir}" -name '*.dylib' -exec ln -s {} "$dynamicLinksDir" \;
-          fi
+          dynamicLibraryDirs=()
 
-          for d in $(grep -Poz "dynamic-library-dirs:\s*\K .+\n" $packageConfDir/*|awk '{print $2}'|sort -u); do
-            find "$d" -name '*.dylib' -exec ln -s {} "$dynamicLinksDir" \;
+          for pkg in $($out/bin/ghc-pkg list --simple-output); do
+            dynamicLibraryDirs+=($($out/bin/ghc-pkg --simple-output field "$pkg" dynamic-library-dirs))
           done
+
+          for dynamicLibraryDir in $(echo "''${dynamicLibraryDirs[@]}" | tr ' ' '\n' | sort -u); do
+            echo "Linking $dynamicLibraryDir/*.dylib from $dynamicLinksDir"
+            find "$dynamicLibraryDir" -name '*.dylib' -exec ln -s {} "$dynamicLinksDir" \;
+          done
+
           for f in $packageConfDir/*.conf; do
             # Initially, $f is a symlink to a read-only file in one of the inputs
             # (as a result of this symlinkJoin derivation).
diff --git a/pkgs/development/interpreters/babashka/default.nix b/pkgs/development/interpreters/babashka/default.nix
index fb3cbec7ca5a..3ce4fdace727 100644
--- a/pkgs/development/interpreters/babashka/default.nix
+++ b/pkgs/development/interpreters/babashka/default.nix
@@ -1,116 +1,113 @@
 {
   lib,
   buildGraalvmNativeImage,
-  graalvmPackages,
   fetchurl,
   writeScript,
   installShellFiles,
 }:
 
-let
-  babashka-unwrapped = buildGraalvmNativeImage rec {
-    pname = "babashka-unwrapped";
-    version = "1.12.200";
+buildGraalvmNativeImage (finalAttrs: {
+  pname = "babashka-unwrapped";
+  version = "1.12.200";
 
-    src = fetchurl {
-      url = "https://github.com/babashka/babashka/releases/download/v${version}/babashka-${version}-standalone.jar";
-      sha256 = "sha256-hxcoVUaL19RM56fG8oxSKQwPHXDzaoSdCdHXSTXQ9fI=";
-    };
-
-    graalvmDrv = graalvmPackages.graalvm-ce;
-
-    executable = "bb";
-
-    nativeBuildInputs = [ installShellFiles ];
-
-    extraNativeImageBuildArgs = [
-      "-H:+ReportExceptionStackTraces"
-      "--no-fallback"
-      "--native-image-info"
-      "--enable-preview"
-    ];
-
-    doInstallCheck = true;
-
-    installCheckPhase = ''
-      $out/bin/bb --version | fgrep '${version}'
-      $out/bin/bb '(+ 1 2)' | fgrep '3'
-      $out/bin/bb '(vec (dedupe *input*))' <<< '[1 1 1 1 2]' | fgrep '[1 2]'
-      $out/bin/bb '(prn "bépo àê")' | fgrep 'bépo àê'
-      $out/bin/bb '(:out (babashka.process/sh "echo" "ä"))' | fgrep 'ä'
-      $out/bin/bb '(into-array [:f])'
-    '';
-
-    postInstall = ''
-      installShellCompletion --cmd bb --bash ${./completions/bb.bash}
-      installShellCompletion --cmd bb --zsh ${./completions/bb.zsh}
-      installShellCompletion --cmd bb --fish ${./completions/bb.fish}
-    '';
-
-    passthru.updateScript = writeScript "update-babashka" ''
-      #!/usr/bin/env nix-shell
-      #!nix-shell -i bash -p curl common-updater-scripts jq libarchive
-
-      set -euo pipefail
-      shopt -s inherit_errexit
-
-      latest_version="$(curl \
-        ''${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \
-        -fsL "https://api.github.com/repos/babashka/babashka/releases/latest" \
-        | jq -r '.tag_name')"
-
-      if [ "$(update-source-version babashka-unwrapped "''${latest_version/v/}" --print-changes)" = "[]" ]; then
-        # no need to update babashka.clojure-tools when babashka-unwrapped wasn't updated
-        exit 0
-      fi
-
-      clojure_tools_version=$(curl \
-        -fsL \
-        "https://github.com/babashka/babashka/releases/download/''${latest_version}/babashka-''${latest_version/v/}-standalone.jar" \
-        | bsdtar -qxOf - borkdude/deps.clj \
-        | ${babashka-unwrapped}/bin/bb -I -o -e "(or (some->> *input* (filter #(= '(def version) (take 2 %))) first last last last) (throw (ex-info \"Couldn't find expected '(def version ...)' form in 'borkdude/deps.clj'.\" {})))")
-
-      update-source-version babashka.clojure-tools "$clojure_tools_version" \
-        --file="pkgs/development/interpreters/babashka/clojure-tools.nix"
-    '';
-
-    meta = with lib; {
-      description = "Clojure babushka for the grey areas of Bash";
-      longDescription = ''
-        The main idea behind babashka is to leverage Clojure in places where you
-        would be using bash otherwise.
-
-        As one user described it:
-
-            I’m quite at home in Bash most of the time, but there’s a substantial
-            grey area of things that are too complicated to be simple in bash, but
-            too simple to be worth writing a clj/s script for. Babashka really
-            seems to hit the sweet spot for those cases.
-
-        Goals:
-
-        - Low latency Clojure scripting alternative to JVM Clojure.
-        - Easy installation: grab the self-contained binary and run. No JVM needed.
-        - Familiarity and portability:
-          - Scripts should be compatible with JVM Clojure as much as possible
-          - Scripts should be platform-independent as much as possible. Babashka
-            offers support for linux, macOS and Windows.
-        - Allow interop with commonly used classes like java.io.File and System
-        - Multi-threading support (pmap, future, core.async)
-        - Batteries included (tools.cli, cheshire, ...)
-        - Library support via popular tools like the clojure CLI
-      '';
-      homepage = "https://github.com/babashka/babashka";
-      changelog = "https://github.com/babashka/babashka/blob/v${version}/CHANGELOG.md";
-      sourceProvenance = with sourceTypes; [ binaryBytecode ];
-      license = licenses.epl10;
-      maintainers = with maintainers; [
-        bandresen
-        bhougland
-        DerGuteMoritz
-        jlesquembre
-      ];
-    };
+  src = fetchurl {
+    url = "https://github.com/babashka/babashka/releases/download/v${finalAttrs.version}/babashka-${finalAttrs.version}-standalone.jar";
+    sha256 = "sha256-hxcoVUaL19RM56fG8oxSKQwPHXDzaoSdCdHXSTXQ9fI=";
   };
-in
-babashka-unwrapped
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  extraNativeImageBuildArgs = [
+    "-H:+ReportExceptionStackTraces"
+    "--no-fallback"
+    "--native-image-info"
+    "--enable-preview"
+  ];
+
+  doInstallCheck = true;
+
+  installCheckPhase = ''
+    runHook preInstallCheck
+
+    $out/bin/bb --version | fgrep '${finalAttrs.version}'
+    $out/bin/bb '(+ 1 2)' | fgrep '3'
+    $out/bin/bb '(vec (dedupe *input*))' <<< '[1 1 1 1 2]' | fgrep '[1 2]'
+    $out/bin/bb '(prn "bépo àê")' | fgrep 'bépo àê'
+    $out/bin/bb '(:out (babashka.process/sh "echo" "ä"))' | fgrep 'ä'
+    $out/bin/bb '(into-array [:f])'
+
+    runHook postInstallCheck
+  '';
+
+  postInstall = ''
+    installShellCompletion --cmd bb --bash ${./completions/bb.bash}
+    installShellCompletion --cmd bb --zsh ${./completions/bb.zsh}
+    installShellCompletion --cmd bb --fish ${./completions/bb.fish}
+  '';
+
+  passthru.updateScript = writeScript "update-babashka" ''
+    #!/usr/bin/env nix-shell
+    #!nix-shell -i bash -p curl common-updater-scripts jq libarchive
+
+    set -euo pipefail
+    shopt -s inherit_errexit
+
+    latest_version="$(curl \
+      ''${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \
+      -fsL "https://api.github.com/repos/babashka/babashka/releases/latest" \
+      | jq -r '.tag_name')"
+
+    if [ "$(update-source-version babashka-unwrapped "''${latest_version/v/}" --print-changes)" = "[]" ]; then
+      # no need to update babashka.clojure-tools when babashka-unwrapped wasn't updated
+      exit 0
+    fi
+
+    clojure_tools_version=$(curl \
+      -fsL \
+      "https://github.com/babashka/babashka/releases/download/''${latest_version}/babashka-''${latest_version/v/}-standalone.jar" \
+      | bsdtar -qxOf - borkdude/deps.clj \
+      | ${lib.getExe finalAttrs.finalPackage} -I -o -e "(or (some->> *input* (filter #(= '(def version) (take 2 %))) first last last last) (throw (ex-info \"Couldn't find expected '(def version ...)' form in 'borkdude/deps.clj'.\" {})))")
+
+    update-source-version babashka.clojure-tools "$clojure_tools_version" \
+      --file="pkgs/development/interpreters/babashka/clojure-tools.nix"
+  '';
+
+  meta = {
+    description = "Clojure babushka for the grey areas of Bash";
+    longDescription = ''
+      The main idea behind babashka is to leverage Clojure in places where you
+      would be using bash otherwise.
+
+      As one user described it:
+
+          I’m quite at home in Bash most of the time, but there’s a substantial
+          grey area of things that are too complicated to be simple in bash, but
+          too simple to be worth writing a clj/s script for. Babashka really
+          seems to hit the sweet spot for those cases.
+
+      Goals:
+
+      - Low latency Clojure scripting alternative to JVM Clojure.
+      - Easy installation: grab the self-contained binary and run. No JVM needed.
+      - Familiarity and portability:
+        - Scripts should be compatible with JVM Clojure as much as possible
+        - Scripts should be platform-independent as much as possible. Babashka
+          offers support for linux, macOS and Windows.
+      - Allow interop with commonly used classes like java.io.File and System
+      - Multi-threading support (pmap, future, core.async)
+      - Batteries included (tools.cli, cheshire, ...)
+      - Library support via popular tools like the clojure CLI
+    '';
+    homepage = "https://github.com/babashka/babashka";
+    changelog = "https://github.com/babashka/babashka/blob/v${finalAttrs.version}/CHANGELOG.md";
+    sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
+    license = lib.licenses.epl10;
+    mainProgram = "bb";
+    maintainers = with lib.maintainers; [
+      bandresen
+      bhougland
+      DerGuteMoritz
+      jlesquembre
+    ];
+  };
+})
diff --git a/pkgs/development/interpreters/clojure/default.nix b/pkgs/development/interpreters/clojure/default.nix
index b39989882a35..e677d060df81 100644
--- a/pkgs/development/interpreters/clojure/default.nix
+++ b/pkgs/development/interpreters/clojure/default.nix
@@ -12,12 +12,12 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "clojure";
-  version = "1.12.0.1530";
+  version = "1.12.1.1550";
 
   src = fetchurl {
     # https://github.com/clojure/brew-install/releases
     url = "https://github.com/clojure/brew-install/releases/download/${finalAttrs.version}/clojure-tools-${finalAttrs.version}.tar.gz";
-    hash = "sha256-D/JLioEmujnTLeeEoIdnxd8lk4TLdsbuPbTWECcF7Uk=";
+    hash = "sha256-kGxiVnnHLnA1h1mIpGOSodg9Fu4d9ZmlYaL9M0JLDT8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/interpreters/elixir/1.19.nix b/pkgs/development/interpreters/elixir/1.19.nix
new file mode 100644
index 000000000000..91e229662fe9
--- /dev/null
+++ b/pkgs/development/interpreters/elixir/1.19.nix
@@ -0,0 +1,8 @@
+{ mkDerivation }:
+mkDerivation {
+  version = "1.19.0-rc.0";
+  sha256 = "sha256-9Upk3DLxFVetK3fChLr0UjRi2WnvSndVvBW0RfM5hTk=";
+  # https://hexdocs.pm/elixir/1.19.0-rc.0/compatibility-and-deprecations.html#table-of-deprecations
+  minimumOTPVersion = "26";
+  escriptPath = "lib/elixir/scripts/generate_app.escript";
+}
diff --git a/pkgs/development/interpreters/elixir/generic-builder.nix b/pkgs/development/interpreters/elixir/generic-builder.nix
index d014d0cab673..638c83d8ce5a 100644
--- a/pkgs/development/interpreters/elixir/generic-builder.nix
+++ b/pkgs/development/interpreters/elixir/generic-builder.nix
@@ -5,6 +5,7 @@
   fetchFromGitHub,
   erlang,
   makeWrapper,
+  nix-update-script,
   coreutils,
   curl,
   bash,
@@ -117,6 +118,15 @@ stdenv.mkDerivation ({
       --replace "/usr/bin/env elixir" "${elixirShebang}"
   '';
 
+  passthru.updateScript = nix-update-script {
+    extraArgs = [
+      "--version-regex"
+      "v(${lib.versions.major version}\\.${lib.versions.minor version}\\.[0-9\\-rc.]+)"
+      "--override-filename"
+      "pkgs/development/interpreters/elixir/${lib.versions.major version}.${lib.versions.minor version}.nix"
+    ];
+  };
+
   pos = builtins.unsafeGetAttrPos "sha256" args;
   meta = with lib; {
     homepage = "https://elixir-lang.org/";
diff --git a/pkgs/development/interpreters/erlang/24.nix b/pkgs/development/interpreters/erlang/24.nix
deleted file mode 100644
index d2a841900802..000000000000
--- a/pkgs/development/interpreters/erlang/24.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ mkDerivation }:
-
-mkDerivation {
-  version = "24.3.4.17";
-  sha256 = "sha256-V26pZEyFo+c+ztDDkjDNFK6LTw5xzF8gQYepWGNlGKg=";
-}
diff --git a/pkgs/development/interpreters/erlang/25.nix b/pkgs/development/interpreters/erlang/25.nix
deleted file mode 100644
index 7fa30796e44c..000000000000
--- a/pkgs/development/interpreters/erlang/25.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ mkDerivation }:
-
-mkDerivation {
-  version = "25.3.2.19";
-  sha256 = "sha256-fd2YxFx/Skst+jRXAm4nLVxEIriu34lPRuBWvj+qaIk=";
-}
diff --git a/pkgs/development/interpreters/erlang/26.nix b/pkgs/development/interpreters/erlang/26.nix
index e8c1ea129030..b18854070055 100644
--- a/pkgs/development/interpreters/erlang/26.nix
+++ b/pkgs/development/interpreters/erlang/26.nix
@@ -1,6 +1,6 @@
 { mkDerivation }:
 
 mkDerivation {
-  version = "26.2.5.12";
-  sha256 = "sha256-q7rG83ioR0/bnAEzJZx5S17pQ91nE8R5+odHPVXngAI=";
+  version = "26.2.5.13";
+  sha256 = "sha256-imgI9qgAi17wN/QHVC3JKrmOArq3i2k+xMg8yBK2VrQ=";
 }
diff --git a/pkgs/development/interpreters/erlang/27.nix b/pkgs/development/interpreters/erlang/27.nix
index c2fe8772b4df..599cebd342bc 100644
--- a/pkgs/development/interpreters/erlang/27.nix
+++ b/pkgs/development/interpreters/erlang/27.nix
@@ -1,6 +1,6 @@
 { mkDerivation }:
 
 mkDerivation {
-  version = "27.3.4";
-  sha256 = "sha256-RZiN17k5fSIQUYxOoAts5iy/obgoPM0RFB5YXAfkTSk=";
+  version = "27.3.4.1";
+  sha256 = "sha256-L9VgcdO1TyLNm+vke90w6Xuq/T3uKzmU4d0uYEfyQlc=";
 }
diff --git a/pkgs/development/interpreters/erlang/28.nix b/pkgs/development/interpreters/erlang/28.nix
index 93e9e596b0c7..8c6e4ee19148 100644
--- a/pkgs/development/interpreters/erlang/28.nix
+++ b/pkgs/development/interpreters/erlang/28.nix
@@ -1,6 +1,6 @@
 { mkDerivation }:
 
 mkDerivation {
-  version = "28.0";
-  sha256 = "sha256-ZqND4bOp0vUkBKznhojwsN3MygDf3I7OLkR05EUnSRg=";
+  version = "28.0.1";
+  sha256 = "sha256-eWDDreijr7RRmr6sVNuGpQ0qmynN4FTsiBXB8DOWKr4=";
 }
diff --git a/pkgs/development/interpreters/lua-5/hooks/default.nix b/pkgs/development/interpreters/lua-5/hooks/default.nix
index cdc44e344d62..9f7396f2a518 100644
--- a/pkgs/development/interpreters/lua-5/hooks/default.nix
+++ b/pkgs/development/interpreters/lua-5/hooks/default.nix
@@ -1,9 +1,7 @@
 # Hooks for building lua packages.
 {
   lua,
-  lib,
   makeSetupHook,
-  runCommand,
 }:
 
 let
@@ -21,11 +19,8 @@ in
 
   # luarocks installs data in a non-overridable location. Until a proper luarocks patch,
   # we move the files around ourselves
-  luarocksMoveDataFolder = callPackage (
-    { }:
-    makeSetupHook {
-      name = "luarocks-move-rock";
-      propagatedBuildInputs = [ ];
-    } ./luarocks-move-data.sh
-  ) { };
+  luarocksMoveDataFolder = makeSetupHook {
+    name = "luarocks-move-rock";
+    propagatedBuildInputs = [ ];
+  } ./luarocks-move-data.sh;
 }
diff --git a/pkgs/development/interpreters/octave/build-octave-package.nix b/pkgs/development/interpreters/octave/build-octave-package.nix
index 43760c6c511e..8fc219d00d74 100644
--- a/pkgs/development/interpreters/octave/build-octave-package.nix
+++ b/pkgs/development/interpreters/octave/build-octave-package.nix
@@ -9,6 +9,7 @@
   stdenv,
   config,
   octave,
+  callPackage,
   texinfo,
   computeRequiredOctavePackages,
   writeRequiredOctavePackagesHook,
@@ -64,13 +65,6 @@ let
     writeRequiredOctavePackagesHook
   ] ++ nativeBuildInputs;
 
-  passthru' = {
-    updateScript = [
-      ../../../../maintainers/scripts/update-octave-packages
-      (builtins.unsafeGetAttrPos "pname" octave.pkgs.${attrs.pname}).file
-    ];
-  } // passthru;
-
   # This step is required because when
   # a = { test = [ "a" "b" ]; }; b = { test = [ "c" "d" ]; };
   # (a // b).test = [ "c" "d" ];
@@ -81,9 +75,9 @@ let
     "nativeBuildInputs"
     "passthru"
   ];
-
 in
 stdenv.mkDerivation (
+  finalAttrs:
   {
     packageName = "${fullLibName}";
     # The name of the octave package ends up being
@@ -136,7 +130,22 @@ stdenv.mkDerivation (
     # together with Octave.
     dontInstall = true;
 
-    passthru = passthru';
+    passthru =
+      {
+        updateScript = [
+          ../../../../maintainers/scripts/update-octave-packages
+          (builtins.unsafeGetAttrPos "pname" octave.pkgs.${attrs.pname}).file
+        ];
+      }
+      // passthru
+      // {
+        tests = {
+          testOctaveBuildEnv = (octave.withPackages (os: [ finalAttrs.finalPackage ])).overrideAttrs (old: {
+            name = "${finalAttrs.name}-pkg-install";
+          });
+          testOctavePkgTests = callPackage ./run-pkg-test.nix { } finalAttrs.finalPackage;
+        } // passthru.tests or { };
+      };
 
     inherit meta;
   }
diff --git a/pkgs/development/interpreters/octave/hooks/default.nix b/pkgs/development/interpreters/octave/hooks/default.nix
index 8e7acafd8489..633187654b6f 100644
--- a/pkgs/development/interpreters/octave/hooks/default.nix
+++ b/pkgs/development/interpreters/octave/hooks/default.nix
@@ -1,16 +1,10 @@
 # Hooks for building Octave packages.
 {
-  octave,
-  lib,
-  callPackage,
   makeSetupHook,
 }:
 
-rec {
-  writeRequiredOctavePackagesHook = callPackage (
-    { }:
-    makeSetupHook {
-      name = "write-required-octave-packages-hook";
-    } ./write-required-octave-packages-hook.sh
-  ) { };
+{
+  writeRequiredOctavePackagesHook = makeSetupHook {
+    name = "write-required-octave-packages-hook";
+  } ./write-required-octave-packages-hook.sh;
 }
diff --git a/pkgs/development/interpreters/octave/run-pkg-test.nix b/pkgs/development/interpreters/octave/run-pkg-test.nix
new file mode 100644
index 000000000000..4665fc92f527
--- /dev/null
+++ b/pkgs/development/interpreters/octave/run-pkg-test.nix
@@ -0,0 +1,25 @@
+{
+  octave,
+  runCommand,
+}:
+package:
+
+runCommand "${package.name}-pkg-test"
+  {
+    nativeBuildInputs = [
+      (octave.withPackages (os: [ package ]))
+    ];
+  }
+  ''
+    { octave-cli --eval 'pkg test ${package.pname}' || touch FAILED_ERRCODE; } \
+      |& tee >( grep --quiet '^Failure Summary:$' && touch FAILED_OUTPUT || : ; cat >/dev/null )
+    if [[ -f FAILED_ERRCODE ]]; then
+      echo >&2 "octave-cli returned with non-zero exit code."
+      false
+    elif [[ -f FAILED_OUTPUT ]]; then
+      echo >&2 "Test failures detected in output."
+      false
+    else
+      touch $out
+    fi
+  ''
diff --git a/pkgs/development/interpreters/perl/interpreter.nix b/pkgs/development/interpreters/perl/interpreter.nix
index a26f839e2f84..dbeb4fa69d85 100644
--- a/pkgs/development/interpreters/perl/interpreter.nix
+++ b/pkgs/development/interpreters/perl/interpreter.nix
@@ -305,12 +305,13 @@ stdenv.mkDerivation (
           "$mini/lib/perl5/cross_perl/${version}:$out/lib/perl5/${version}:$out/lib/perl5/${version}/$runtimeArch"
       ''; # */
 
-    meta = with lib; {
+    meta = {
       homepage = "https://www.perl.org/";
       description = "Standard implementation of the Perl 5 programming language";
-      license = licenses.artistic1;
+      license = lib.licenses.artistic1;
       maintainers = [ ];
-      platforms = platforms.all;
+      teams = [ lib.teams.perl ];
+      platforms = lib.platforms.all;
       priority = 6; # in `buildEnv' (including the one inside `perl.withPackages') the library files will have priority over files in `perl`
       mainProgram = "perl";
     };
diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix
index 3d25e24e2dcf..2b2cc4b92d01 100644
--- a/pkgs/development/interpreters/python/default.nix
+++ b/pkgs/development/interpreters/python/default.nix
@@ -21,10 +21,10 @@
         sourceVersion = {
           major = "3";
           minor = "13";
-          patch = "3";
+          patch = "4";
           suffix = "";
         };
-        hash = "sha256-QPhovL3rgUmjFJWAu5v9QHszIc1I8L5jGvlVrJLA4EE=";
+        hash = "sha256-J7FaeXViopcdzj/+MbshYELOC5lbOddozxX3hMx1c2U=";
       };
     };
 
@@ -48,10 +48,10 @@
       sourceVersion = {
         major = "3";
         minor = "10";
-        patch = "17";
+        patch = "18";
         suffix = "";
       };
-      hash = "sha256-TGgFDwSdG0rFqt0N9fJ5QcA1DSqeerCQfuXrUiXZ1rA=";
+      hash = "sha256-rmZbxnir2atqbhVz0kgWJaU3GbxRfppjTtK5/vrjgX8=";
       inherit passthruFun;
     };
 
@@ -60,10 +60,10 @@
       sourceVersion = {
         major = "3";
         minor = "11";
-        patch = "12";
+        patch = "13";
         suffix = "";
       };
-      hash = "sha256-hJ2oevTfE3cQwXluJ2qVX3qFyflxCBBnyPVl0Vw1Kgk=";
+      hash = "sha256-j7X5+8dgn6giyzFUmIRXXbf9llfL/7iVELXXl1ljqDo=";
       inherit passthruFun;
     };
 
@@ -72,10 +72,10 @@
       sourceVersion = {
         major = "3";
         minor = "12";
-        patch = "10";
+        patch = "11";
         suffix = "";
       };
-      hash = "sha256-B6tpdHRZXgbwZkdBfTx/qX3tB6/Bp+RFTFY5kZtG6uo=";
+      hash = "sha256-wwuyS38emhmxG1WlRkNPdOc5u0wnGj46gP9DgNSfets=";
       inherit passthruFun;
     };
 
@@ -93,9 +93,9 @@
         major = "3";
         minor = "14";
         patch = "0";
-        suffix = "b2";
+        suffix = "b3";
       };
-      hash = "sha256-esnoSES7wKWo8feaN6aLO4yvKli0qlmZxJInyzbnDqY=";
+      hash = "sha256-xvSL9R8B9Q2HAHpEXdev5KTHqHq0glcL6STB3f0NNoI=";
       inherit passthruFun;
     };
     # Minimal versions of Python (built without optional dependencies)
diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix
index 5e7357f2d01e..f73069809378 100644
--- a/pkgs/development/interpreters/ruby/default.nix
+++ b/pkgs/development/interpreters/ruby/default.nix
@@ -434,8 +434,8 @@ in
   };
 
   ruby_3_4 = generic {
-    version = rubyVersion "3" "4" "3" "";
-    hash = "sha256-VaTNHcvlyifPZeiak1pILCuyKEgyk5JmVRwOxotDf0Y=";
+    version = rubyVersion "3" "4" "4" "";
+    hash = "sha256-oFl7/fMS4BDv0e/6qNfx14MxRv3BeVDKqBWP+j3L+oU=";
     cargoHash = "sha256-5Tp8Kth0yO89/LIcU8K01z6DdZRr8MAA0DPKqDEjIt0=";
   };
 }
diff --git a/pkgs/development/julia-modules/tests/julia-top-n/package.yaml b/pkgs/development/julia-modules/tests/julia-top-n/package.yaml
index 404ebc72dd67..29fbcd88c15c 100644
--- a/pkgs/development/julia-modules/tests/julia-top-n/package.yaml
+++ b/pkgs/development/julia-modules/tests/julia-top-n/package.yaml
@@ -1,38 +1,38 @@
-name:                julia-top-n
-version:             0.1.0.0
-license:             BSD-3-Clause
-author:              "Tom McLaughlin"
-maintainer:          "tom@codedown.io"
+name: julia-top-n
+version: 0.1.0.0
+license: BSD-3-Clause
+author: "Tom McLaughlin"
+maintainer: "tom@codedown.io"
 
 dependencies:
-- aeson
-- base >= 4.7 && < 5
-- bytestring
-- filepath
-- optparse-applicative
-- sandwich
-- string-interpolate
-- text
-- unliftio
-- vector
-- yaml
+  - aeson
+  - base >= 4.7 && < 5
+  - bytestring
+  - filepath
+  - optparse-applicative
+  - sandwich
+  - string-interpolate
+  - text
+  - unliftio
+  - vector
+  - yaml
 
 ghc-options:
-- -Wall
-- -Wcompat
-- -Widentities
-- -Wincomplete-record-updates
-- -Wincomplete-uni-patterns
-- -Wmissing-export-lists
-- -Wmissing-home-modules
-- -Wpartial-fields
-- -Wredundant-constraints
+  - -Wall
+  - -Wcompat
+  - -Widentities
+  - -Wincomplete-record-updates
+  - -Wincomplete-uni-patterns
+  - -Wmissing-export-lists
+  - -Wmissing-home-modules
+  - -Wpartial-fields
+  - -Wredundant-constraints
 
 executables:
   julia-top-n-exe:
-    main:                Main.hs
-    source-dirs:         app
+    main: Main.hs
+    source-dirs: app
     ghc-options:
-    - -threaded
-    - -rtsopts
-    - -with-rtsopts=-N
+      - -threaded
+      - -rtsopts
+      - -with-rtsopts=-N
diff --git a/pkgs/development/julia-modules/tests/julia-top-n/stack.yaml b/pkgs/development/julia-modules/tests/julia-top-n/stack.yaml
index 28bbc5a5f7ef..0a4de61e7f68 100644
--- a/pkgs/development/julia-modules/tests/julia-top-n/stack.yaml
+++ b/pkgs/development/julia-modules/tests/julia-top-n/stack.yaml
@@ -3,9 +3,9 @@ resolver:
   url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/22/4.yaml
 
 packages:
-- .
+  - .
 
 nix:
   pure: false
   packages:
-  - zlib
+    - zlib
diff --git a/pkgs/development/libraries/allegro/default.nix b/pkgs/development/libraries/allegro/default.nix
index 4363edf0a025..052feaf8761a 100644
--- a/pkgs/development/libraries/allegro/default.nix
+++ b/pkgs/development/libraries/allegro/default.nix
@@ -2,7 +2,7 @@
   lib,
   stdenv,
   fetchurl,
-  texinfo6_5,
+  texinfo6,
   libXext,
   xorgproto,
   libX11,
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
     pkg-config
   ];
   buildInputs = [
-    texinfo6_5
+    texinfo6
     libXext
     xorgproto
     libX11
diff --git a/pkgs/development/libraries/astal/modules/tray.nix b/pkgs/development/libraries/astal/modules/tray.nix
index 6ccf216fc029..f56c8e2111c8 100644
--- a/pkgs/development/libraries/astal/modules/tray.nix
+++ b/pkgs/development/libraries/astal/modules/tray.nix
@@ -1,10 +1,13 @@
 {
   buildAstalModule,
   json-glib,
+  appmenu-glib-translator,
 }:
 buildAstalModule {
   name = "tray";
-  buildInputs = [ json-glib ];
+  buildInputs = [
+    json-glib
+    appmenu-glib-translator
+  ];
   meta.description = "Astal module for StatusNotifierItem";
-  meta.broken = true; # https://github.com/NixOS/nixpkgs/issues/337630
 }
diff --git a/pkgs/development/libraries/avahi/default.nix b/pkgs/development/libraries/avahi/default.nix
index fb9437819e1b..312ef4bb39c7 100644
--- a/pkgs/development/libraries/avahi/default.nix
+++ b/pkgs/development/libraries/avahi/default.nix
@@ -134,6 +134,12 @@ stdenv.mkDerivation rec {
       url = "https://github.com/avahi/avahi/commit/f8710bdc8b29ee1176fe3bfaeabebbda1b7a79f7.patch";
       hash = "sha256-BUQOQ4evKLBzV5UV8xW8XL38qk1rg6MJ/vcT5NBckfA=";
     })
+    # https://github.com/avahi/avahi/pull/265 merged Mar 3, 2020
+    (fetchpatch {
+      name = "fix-requires-in-pc-file.patch";
+      url = "https://github.com/avahi/avahi/commit/366e3798bdbd6b7bf24e59379f4a9a51af575ce9.patch";
+      hash = "sha256-9AdhtzrimmcpMmeyiFcjmDfG5nqr/S8cxWTaM1mzCWA=";
+    })
   ];
 
   depsBuildBuild = [
diff --git a/pkgs/development/libraries/c-blosc/2.nix b/pkgs/development/libraries/c-blosc/2.nix
index 9c47d90f9849..ce19cd23e43b 100644
--- a/pkgs/development/libraries/c-blosc/2.nix
+++ b/pkgs/development/libraries/c-blosc/2.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "c-blosc2";
-  version = "2.17.1";
+  version = "2.18.0";
 
   src = fetchFromGitHub {
     owner = "Blosc";
     repo = "c-blosc2";
     rev = "v${finalAttrs.version}";
-    sha256 = "sha256-VxMErhuk160/0jF6pl6/YKAwaswnfBKnmOD5ZgcU2U4=";
+    sha256 = "sha256-HYWohyI4IJX4jyTTwbSHJFI3p3PFrUGU6l0TEIP4Esc=";
   };
 
   # https://github.com/NixOS/nixpkgs/issues/144170
diff --git a/pkgs/development/libraries/embree/2.x.nix b/pkgs/development/libraries/embree/2.x.nix
index b5d6f5a7b8be..05764262a979 100644
--- a/pkgs/development/libraries/embree/2.x.nix
+++ b/pkgs/development/libraries/embree/2.x.nix
@@ -5,7 +5,7 @@
   cmake,
   pkg-config,
   ispc,
-  tbb_2020_3,
+  tbb_2020,
   glfw,
   openimageio_2,
   libjpeg,
@@ -35,8 +35,8 @@ stdenv.mkDerivation (finalAttrs: {
   ];
   buildInputs = [
     ispc
-    # tbb_2021_0 is not backward compatible
-    tbb_2020_3
+    # tbb_2021 is not backward compatible
+    tbb_2020
     glfw
     openimageio_2
     libjpeg
@@ -52,7 +52,7 @@ stdenv.mkDerivation (finalAttrs: {
         "v(2.*)"
       ];
     };
-    tbb = tbb_2020_3;
+    tbb = tbb_2020;
     tests = {
       inherit (python3Packages) embreex;
     };
diff --git a/pkgs/development/libraries/ffmpeg/default.nix b/pkgs/development/libraries/ffmpeg/default.nix
index dfeedd46896f..f24b6b45669f 100644
--- a/pkgs/development/libraries/ffmpeg/default.nix
+++ b/pkgs/development/libraries/ffmpeg/default.nix
@@ -16,8 +16,8 @@ let
     );
 
   v4 = {
-    version = "4.4.5";
-    hash = "sha256-GrKNGYI8kO47Yoi82dMV30ymuXSjxo4gH+yB8jIUa2A=";
+    version = "4.4.6";
+    hash = "sha256-IM+1+WJWHuUNHZCVs+eKlmaEkfbvay4vQ2I/GbV1fqk=";
   };
 
   v6 = {
diff --git a/pkgs/development/libraries/flint/3.nix b/pkgs/development/libraries/flint/3.nix
index 2c1b5fc9b3dc..e6566d706a27 100644
--- a/pkgs/development/libraries/flint/3.nix
+++ b/pkgs/development/libraries/flint/3.nix
@@ -22,11 +22,11 @@ assert
 
 stdenv.mkDerivation rec {
   pname = "flint3";
-  version = "3.2.1";
+  version = "3.3.1";
 
   src = fetchurl {
     url = "https://flintlib.org/download/flint-${version}.tar.gz";
-    hash = "sha256-ynvkbXeXInfrb+DE92dUhDL1a7U0qhfW26LXzOFc0j8=";
+    hash = "sha256-ZNcOUTB2z6lx4EELWMHaXTURKRPppWtE4saBtFnT6vs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/fontconfig/default.nix b/pkgs/development/libraries/fontconfig/default.nix
index 59654edc479e..4d132edb76a3 100644
--- a/pkgs/development/libraries/fontconfig/default.nix
+++ b/pkgs/development/libraries/fontconfig/default.nix
@@ -10,12 +10,14 @@
   gperf,
   dejavu_fonts,
   autoreconfHook,
+  versionCheckHook,
   testers,
+  gitUpdater,
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "fontconfig";
-  version = "2.16.0";
+  version = "2.16.2";
 
   outputs = [
     "bin"
@@ -24,11 +26,11 @@ stdenv.mkDerivation (finalAttrs: {
     "out"
   ]; # $out contains all the config
 
+  # GitLab repositrory does not include pre-generated man pages.
+  # ref: https://github.com/NixOS/nixpkgs/pull/401037#discussion_r2055430206
   src = fetchurl {
-    url =
-      with finalAttrs;
-      "https://www.freedesktop.org/software/fontconfig/release/${pname}-${version}.tar.xz";
-    hash = "sha256-ajPcVVzJuosQyvdpWHjvE07rNtCvNmBB9jmx2ptu0iA=";
+    url = "https://gitlab.freedesktop.org/api/v4/projects/890/packages/generic/fontconfig/${finalAttrs.version}/fontconfig-${finalAttrs.version}.tar.xz";
+    hash = "sha256-FluP0qEZhkyHRksjOYbEobwJ77CcZd4cpAzB6F/7d+I=";
   };
 
   nativeBuildInputs = [
@@ -91,9 +93,32 @@ stdenv.mkDerivation (finalAttrs: {
     rm -r $bin/share/man/man3
   '';
 
-  passthru.tests = {
-    pkg-config = testers.hasPkgConfigModules {
-      package = finalAttrs.finalPackage;
+  nativeInstallCheckInputs = [
+    versionCheckHook
+  ];
+  doInstallCheck = true;
+  versionCheckProgram = "${placeholder "bin"}/bin/fc-list";
+  versionCheckProgramArg = "--version";
+
+  installCheckPhase = ''
+    runHook preInstallCheck
+
+    [ -d "$bin/share/man/man1" ]
+    [ -d "$bin/share/man/man5" ]
+    echo "man pages exist"
+
+    runHook postInstallCheck
+  '';
+
+  passthru = {
+    tests = {
+      pkg-config = testers.hasPkgConfigModules {
+        package = finalAttrs.finalPackage;
+      };
+    };
+
+    updateScript = gitUpdater {
+      url = "https://gitlab.freedesktop.org/fontconfig/fontconfig.git";
     };
   };
 
diff --git a/pkgs/development/libraries/gcr/4.nix b/pkgs/development/libraries/gcr/4.nix
index 33e85811a8f8..34a0e67a3e3a 100644
--- a/pkgs/development/libraries/gcr/4.nix
+++ b/pkgs/development/libraries/gcr/4.nix
@@ -1,4 +1,5 @@
 {
+  pkgs,
   stdenv,
   lib,
   fetchurl,
@@ -25,7 +26,9 @@
   shared-mime-info,
   systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd,
 }:
-
+let
+  ini = pkgs.formats.ini { };
+in
 stdenv.mkDerivation (finalAttrs: {
   pname = "gcr";
   version = "4.4.0.1";
@@ -80,11 +83,20 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   mesonFlags = [
-    # We are still using ssh-agent from gnome-keyring.
-    # https://github.com/NixOS/nixpkgs/issues/140824
-    "-Dssh_agent=false"
     "-Dgpg_path=${lib.getBin gnupg}/bin/gpg"
     (lib.mesonEnable "systemd" systemdSupport)
+    "--cross-file=${
+      ini.generate "cross-file.conf" {
+        binaries =
+          {
+            ssh-add = "'${lib.getExe' openssh "ssh-add"}'";
+            ssh-agent = "'${lib.getExe' openssh "ssh-agent"}'";
+          }
+          // lib.optionalAttrs systemdSupport {
+            systemctl = "'${lib.getExe' systemd "systemctl"}'";
+          };
+      }
+    }"
   ];
 
   doCheck = false; # fails 21 out of 603 tests, needs dbus daemon
diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix
index 59e0054a4091..e497f0c4ffc4 100644
--- a/pkgs/development/libraries/gstreamer/base/default.nix
+++ b/pkgs/development/libraries/gstreamer/base/default.nix
@@ -153,6 +153,7 @@ stdenv.mkDerivation (finalAttrs: {
     ++ lib.optionals (!enableX11) [
       "-Dx11=disabled"
       "-Dxi=disabled"
+      "-Dxshm=disabled"
       "-Dxvideo=disabled"
     ]
     # TODO How to disable Wayland?
diff --git a/pkgs/development/libraries/iksemel/default.nix b/pkgs/development/libraries/iksemel/default.nix
index 440790d97ec9..2da0131aa340 100644
--- a/pkgs/development/libraries/iksemel/default.nix
+++ b/pkgs/development/libraries/iksemel/default.nix
@@ -20,6 +20,10 @@ stdenv.mkDerivation rec {
     sha256 = "1xv302p344hnpxqcgs3z6wwxhrik39ckgfw5cjyrw0dkf316z9yh";
   };
 
+  patches = [
+    ./update-texinfo.diff
+  ];
+
   nativeBuildInputs = [
     pkg-config
     autoreconfHook
diff --git a/pkgs/development/libraries/iksemel/update-texinfo.diff b/pkgs/development/libraries/iksemel/update-texinfo.diff
new file mode 100644
index 000000000000..2b5258f8abec
--- /dev/null
+++ b/pkgs/development/libraries/iksemel/update-texinfo.diff
@@ -0,0 +1,28 @@
+diff --git a/doc/iksemel.texi b/doc/iksemel.texi
+index f57779c..2a7fb31 100644
+--- a/doc/iksemel.texi
++++ b/doc/iksemel.texi
+@@ -1,7 +1,6 @@
+ \input texinfo @c -*-texinfo-*-
+ @c %**start of header
+ @setfilename iksemel
+-@setcontentsaftertitlepage
+ @settitle Iksemel Programmers Manual
+ @set VERSION 1.2
+ @c %**end of header
+@@ -24,6 +23,8 @@ MA 02111-1307, USA.
+ 
+ @end titlepage
+ 
++@contents
++
+ @ifinfo
+ @node Top, , , (dir)
+ @top iksemel Programmers Manual
+@@ -1538,6 +1539,4 @@ Jabber Protocol Documents @url{http://www.jabber.org/protocol/}
+ @unnumbered Function Index
+ @printindex fn
+ 
+-
+-@contents
+ @bye
diff --git a/pkgs/development/libraries/java/saxon/default.nix b/pkgs/development/libraries/java/saxon/default.nix
index 3e94d49772a0..337ca1e05a92 100644
--- a/pkgs/development/libraries/java/saxon/default.nix
+++ b/pkgs/development/libraries/java/saxon/default.nix
@@ -186,11 +186,11 @@ in
 
   saxon_12-he = common rec {
     pname = "saxon-he";
-    version = "12.6";
+    version = "12.7";
     jar = "saxon-he-${version}";
     src = fetchurl {
       url = github.downloadUrl version;
-      hash = "sha256-y7ZlfaBhwVVHatnkOjVkpMySjUlR6+7S6v5aCqdOKu4=";
+      hash = "sha256-+J4ghaw1fZtsuKIxcHrrxff20LTsOmJhRLqWVvdZLN4=";
     };
     updateScript = github.updateScript version;
     description = "Processor for XSLT 3.0, XPath 3.1, and XQuery 3.1";
diff --git a/pkgs/development/libraries/libbap/default.nix b/pkgs/development/libraries/libbap/default.nix
index 89171e68b1d4..604738dbb33b 100644
--- a/pkgs/development/libraries/libbap/default.nix
+++ b/pkgs/development/libraries/libbap/default.nix
@@ -45,5 +45,6 @@ stdenv.mkDerivation {
     maintainers = [ maintainers.maurer ];
     platforms = platforms.unix;
     license = licenses.mit;
+    broken = true; # Not compatible with JaneStreet libraries 0.17
   };
 }
diff --git a/pkgs/development/libraries/libcef/default.nix b/pkgs/development/libraries/libcef/default.nix
index f8ce4771f886..db3445a45604 100644
--- a/pkgs/development/libraries/libcef/default.nix
+++ b/pkgs/development/libraries/libcef/default.nix
@@ -92,14 +92,14 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "libcef";
-  version = "136.1.6";
-  gitRevision = "1ac1b14";
-  chromiumVersion = "136.0.7103.114";
+  version = "137.0.17";
+  gitRevision = "f354b0e";
+  chromiumVersion = "137.0.7151.104";
   buildType = "Release";
 
   srcHash = selectSystem {
-    aarch64-linux = "sha256-PC6vwjusN4GQJvwYEuBtXVkwhhdnEePcXR435pRnB6w=";
-    x86_64-linux = "sha256-Uq17X9psYzetSYQvXm62+9+XugCW3tGxnqGVsj6Hogs=";
+    aarch64-linux = "sha256-C9P4+TpzjyMD5z2qLbzubbrIr66usFjRx7QqiAxI2D8=";
+    x86_64-linux = "sha256-iDC3a/YN0NqjX/b2waKvUAZCaR0lkLmUPqBJphE037Q=";
   };
 
   src = fetchurl {
diff --git a/pkgs/development/libraries/libunwind/default.nix b/pkgs/development/libraries/libunwind/default.nix
index f0f7de192f44..b6b8ab73142f 100644
--- a/pkgs/development/libraries/libunwind/default.nix
+++ b/pkgs/development/libraries/libunwind/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "libunwind";
-  version = "1.8.1";
+  version = "1.8.2";
 
   src = fetchFromGitHub {
     owner = "libunwind";
     repo = "libunwind";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-rCFBHs6rCSnp5FEwbUR5veNNTqSQpFblAv8ebSPX0qE=";
+    hash = "sha256-MsUReXFHlj15SgEZHOYhdSfAbSeVVl8LCi4NnUwvhpw=";
   };
 
   patches = lib.optional (stdenv.targetPlatform.useLLVM or false) (fetchpatch {
@@ -60,6 +60,8 @@ stdenv.mkDerivation (finalAttrs: {
 
   propagatedBuildInputs = [ xz ];
 
+  enableParallelBuilding = true;
+
   postInstall = ''
     find $out -name \*.la | while read file; do
       sed -i 's,-llzma,${xz.out}/lib/liblzma.la,' $file
diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix
index 4af6fbe8fa60..b24fa3eeacd6 100644
--- a/pkgs/development/libraries/libxml2/default.nix
+++ b/pkgs/development/libraries/libxml2/default.nix
@@ -1,7 +1,7 @@
 {
   stdenv,
   lib,
-  fetchurl,
+  fetchFromGitLab,
   pkg-config,
   autoreconfHook,
   libintl,
@@ -46,9 +46,12 @@ stdenv.mkDerivation (finalAttrs: {
     ++ lib.optional (enableStatic && enableShared) "static";
   outputMan = "bin";
 
-  src = fetchurl {
-    url = "mirror://gnome/sources/libxml2/${lib.versions.majorMinor finalAttrs.version}/libxml2-${finalAttrs.version}.tar.xz";
-    hash = "sha256-beVcrMjCvHWPLvb5PDE8sw5N1dhKxdPHzL2TRNjMaDM=";
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    owner = "GNOME";
+    repo = "libxml2";
+    rev = "5133461b05f0f66e6c5b0fecd5f29dc5cd967302"; # some security- and bugfixes ahead of 2.14
+    hash = "sha256-xLRey6mRsRhgfASIQWOTofcQcLU0Daeg33pxGN0l66I=";
   };
 
   strictDeps = true;
diff --git a/pkgs/development/libraries/mailcore2/default.nix b/pkgs/development/libraries/mailcore2/default.nix
deleted file mode 100644
index e1556ba78c80..000000000000
--- a/pkgs/development/libraries/mailcore2/default.nix
+++ /dev/null
@@ -1,95 +0,0 @@
-{
-  stdenv,
-  lib,
-  fetchFromGitHub,
-  cmake,
-  libetpan,
-  icu,
-  cyrus_sasl,
-  libctemplate,
-  libuchardet,
-  pkg-config,
-  glib,
-  html-tidy,
-  libxml2,
-  libuuid,
-  openssl,
-}:
-
-stdenv.mkDerivation rec {
-  pname = "mailcore2";
-
-  version = "0.6.4";
-
-  src = fetchFromGitHub {
-    owner = "MailCore";
-    repo = "mailcore2";
-    rev = version;
-    sha256 = "0a69q11z194fdfwyazjyyylx57sqs9j4lz7jwh5qcws8syqgb23z";
-  };
-
-  nativeBuildInputs = [
-    cmake
-    pkg-config
-  ];
-  buildInputs =
-    [
-      libetpan
-      cyrus_sasl
-      libctemplate
-      libuchardet
-      html-tidy
-      libxml2
-      openssl
-    ]
-    ++ lib.optionals stdenv.hostPlatform.isLinux [
-      glib
-      icu
-      libuuid
-    ];
-
-  postPatch =
-    ''
-      substituteInPlace CMakeLists.txt \
-         --replace " icule iculx" "" \
-         --replace "tidy/tidy.h" "tidy.h" \
-         --replace "/usr/include/tidy" "${html-tidy}/include" \
-         --replace "/usr/include/libxml2" "${libxml2.dev}/include/libxml2"
-      substituteInPlace src/core/basetypes/MCHTMLCleaner.cpp \
-        --replace buffio.h tidybuffio.h
-      substituteInPlace src/core/basetypes/MCString.cpp \
-        --replace "xmlErrorPtr" "const xmlError *"
-    ''
-    + lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
-      substituteInPlace src/core/basetypes/MCICUTypes.h \
-        --replace "__CHAR16_TYPE__ UChar" "char16_t UChar"
-    '';
-
-  cmakeFlags = lib.optionals (!stdenv.hostPlatform.isDarwin) [
-    "-DBUILD_SHARED_LIBS=ON"
-  ];
-
-  installPhase = ''
-    mkdir $out
-    cp -r src/include $out
-
-    mkdir $out/lib
-    cp src/libMailCore.* $out/lib
-  '';
-
-  doCheck = !stdenv.hostPlatform.isDarwin;
-  checkPhase = ''
-    (
-      cd unittest
-      TZ=PST8PDT ./unittestcpp ../../unittest/data
-    )
-  '';
-
-  meta = with lib; {
-    description = "Simple and asynchronous API to work with e-mail protocols IMAP, POP and SMTP";
-    homepage = "http://libmailcore.com";
-    license = licenses.bsd3;
-    maintainers = [ ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/development/libraries/mesa/common.nix b/pkgs/development/libraries/mesa/common.nix
index 0e7f52736bfe..d165c4e6d03a 100644
--- a/pkgs/development/libraries/mesa/common.nix
+++ b/pkgs/development/libraries/mesa/common.nix
@@ -5,14 +5,14 @@
 # nix build .#legacyPackages.x86_64-darwin.mesa .#legacyPackages.aarch64-darwin.mesa
 rec {
   pname = "mesa";
-  version = "25.1.3";
+  version = "25.1.4";
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "mesa";
     repo = "mesa";
     rev = "mesa-${version}";
-    hash = "sha256-BFncfkbpjVYO+7hYh5Ui6RACLq7/m6b8eIJ5B5lhq5Y=";
+    hash = "sha256-DA6fE+Ns91z146KbGlQldqkJlvGAxhzNdcmdIO0lHK8=";
   };
 
   meta = {
diff --git a/pkgs/development/libraries/nvidia-vaapi-driver/default.nix b/pkgs/development/libraries/nvidia-vaapi-driver/default.nix
index 89eee7dbf8d5..dde5b3d8655c 100644
--- a/pkgs/development/libraries/nvidia-vaapi-driver/default.nix
+++ b/pkgs/development/libraries/nvidia-vaapi-driver/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nvidia-vaapi-driver";
-  version = "0.0.13";
+  version = "0.0.14";
 
   src = fetchFromGitHub {
     owner = "elFarto";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-KeOg9VvPTqIo0qB+dcU915yTztvFxo1jJcHHpsmMmfk=";
+    sha256 = "sha256-Nf2Qh+POkcKXjiHlmpfSCbY+vgT63bWIaMxQHHYtE04=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/opencv/4.x.nix b/pkgs/development/libraries/opencv/4.x.nix
index dd62e5398981..fc2432d6bc94 100644
--- a/pkgs/development/libraries/opencv/4.x.nix
+++ b/pkgs/development/libraries/opencv/4.x.nix
@@ -585,9 +585,13 @@ effectiveStdenv.mkDerivation {
       mkdir -p "$cxxdev/nix-support"
       echo "''${!outputDev}" >> "$cxxdev/nix-support/propagated-build-inputs"
     ''
+    # hard-wire CUDA_TOOLKIT_ROOT_DIR so FindCUDA sees the toolkit
     # remove the requirement that the exact same version of CUDA is used in packages
-    # consuming OpenCV's CMakes files
+    #   consuming OpenCV's CMakes files
     + optionalString enableCuda ''
+      sed -i '1s;^;set(CUDA_TOOLKIT_ROOT_DIR ${cudaPackages.cudatoolkit})\n;' \
+        "$out/lib/cmake/opencv4/OpenCVConfig.cmake"
+
       substituteInPlace "$out/lib/cmake/opencv4/OpenCVConfig.cmake" \
         --replace-fail \
           'find_host_package(CUDA ''${OpenCV_CUDA_VERSION} EXACT REQUIRED)' \
diff --git a/pkgs/development/libraries/pdfhummus/default.nix b/pkgs/development/libraries/pdfhummus/default.nix
index 7ed7f08a8337..e109d19c43d1 100644
--- a/pkgs/development/libraries/pdfhummus/default.nix
+++ b/pkgs/development/libraries/pdfhummus/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pdfhummus";
-  version = "4.6.8";
+  version = "4.7.0";
 
   src = fetchFromGitHub {
     owner = "galkahana";
     repo = "PDF-Writer";
     rev = "v${version}";
-    hash = "sha256-sCa/yu+DVggN7Sha7dP9FXzZUJ2tGLYEFrq87dD4tsE=";
+    hash = "sha256-VSWsqcGdaN1lc+/8VPhBWj4tIDUPQKx3jFYC4Kc0Zwk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix
index e2a81e2ffd95..9e4ad498dc9a 100644
--- a/pkgs/development/libraries/pipewire/default.nix
+++ b/pkgs/development/libraries/pipewire/default.nix
@@ -82,7 +82,7 @@ in
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "pipewire";
-  version = "1.4.4";
+  version = "1.4.5";
 
   outputs = [
     "out"
@@ -98,7 +98,7 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "pipewire";
     repo = "pipewire";
     rev = finalAttrs.version;
-    sha256 = "sha256-ullr00XbYrjwAAkQ6tWRayoS3aFuQsbDpSv06pgBDSA=";
+    sha256 = "sha256-5fBpthIGsvMYrQyRb6n1uiNtJ3pl2ejAFr1e/UUga8w=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/prometheus-client-c/default.nix b/pkgs/development/libraries/prometheus-client-c/default.nix
index 340a87666c14..a33e20b7bd5b 100644
--- a/pkgs/development/libraries/prometheus-client-c/default.nix
+++ b/pkgs/development/libraries/prometheus-client-c/default.nix
@@ -68,13 +68,4 @@ rec {
     subdir = "prom";
     description = "Prometheus Client in C";
   };
-  libpromhttp = build {
-    pname = "libpromhttp";
-    subdir = "promhttp";
-    buildInputs = [
-      libmicrohttpd
-      libprom
-    ];
-    description = "Prometheus HTTP Endpoint in C";
-  };
 }
diff --git a/pkgs/development/libraries/protobuf/28.nix b/pkgs/development/libraries/protobuf/28.nix
deleted file mode 100644
index ae6940fa050e..000000000000
--- a/pkgs/development/libraries/protobuf/28.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ callPackage, ... }@args:
-
-callPackage ./generic.nix (
-  {
-    version = "28.3";
-    hash = "sha256-+bb5RxITzxuX50ItmpQhWEG1kMfvlizWTMJJzwlhhYM=";
-  }
-  // args
-)
diff --git a/pkgs/development/libraries/python-qt/default.nix b/pkgs/development/libraries/python-qt/default.nix
index 7ab6ed5f696d..907452702d61 100644
--- a/pkgs/development/libraries/python-qt/default.nix
+++ b/pkgs/development/libraries/python-qt/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "python-qt";
-  version = "3.6.0";
+  version = "3.6.1";
 
   src = fetchFromGitHub {
     owner = "MeVisLab";
     repo = "pythonqt";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-TVtnxb8E18x025lZiZLdgCA7ltLtToI1tsmB6gBh2B4=";
+    hash = "sha256-OYFQtDGq+d32RQ0vChRKH//O9QgQPLMd1he8X3zCi+U=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/quarto/default.nix b/pkgs/development/libraries/quarto/default.nix
index aa0eb6dae381..831e78e01817 100644
--- a/pkgs/development/libraries/quarto/default.nix
+++ b/pkgs/development/libraries/quarto/default.nix
@@ -58,13 +58,15 @@ stdenv.mkDerivation (final: {
 
   preFixup = ''
     wrapProgram $out/bin/quarto \
-      --set QUARTO_DENO ${lib.getExe deno} \
-      --set QUARTO_PANDOC ${lib.getExe pandoc} \
-      --set QUARTO_ESBUILD ${lib.getExe esbuild} \
-      --set QUARTO_DART_SASS ${lib.getExe dart-sass} \
-      --set QUARTO_TYPST ${lib.getExe typst} \
-      ${lib.optionalString (rWrapper != null) "--set QUARTO_R ${rWithPackages}/bin/R"} \
-      ${lib.optionalString (python3 != null) "--set QUARTO_PYTHON ${pythonWithPackages}/bin/python3"}
+      --set-default QUARTO_DENO ${lib.getExe deno} \
+      --set-default QUARTO_PANDOC ${lib.getExe pandoc} \
+      --set-default QUARTO_ESBUILD ${lib.getExe esbuild} \
+      --set-default QUARTO_DART_SASS ${lib.getExe dart-sass} \
+      --set-default QUARTO_TYPST ${lib.getExe typst} \
+      ${lib.optionalString (rWrapper != null) "--set-default QUARTO_R ${rWithPackages}/bin/R"} \
+      ${lib.optionalString (
+        python3 != null
+      ) "--set-default QUARTO_PYTHON ${pythonWithPackages}/bin/python3"}
   '';
 
   installPhase = ''
diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix
index a34127d3e2dc..57d301d9c853 100644
--- a/pkgs/development/libraries/science/math/openblas/default.nix
+++ b/pkgs/development/libraries/science/math/openblas/default.nix
@@ -101,6 +101,14 @@ let
       USE_OPENMP = !stdenv.hostPlatform.isMusl;
     };
 
+    x86_64-windows = {
+      BINARY = 64;
+      TARGET = setTarget "ATHLON";
+      DYNAMIC_ARCH = setDynamicArch true;
+      NO_AVX512 = !enableAVX512;
+      USE_OPENMP = false;
+    };
+
     powerpc64le-linux = {
       BINARY = 64;
       TARGET = setTarget "POWER5";
@@ -280,6 +288,9 @@ stdenv.mkDerivation rec {
 
           # Setup symlinks for blas / lapack
     ''
+    + lib.optionalString stdenv.hostPlatform.isMinGW ''
+      ln -s $out/bin/*.dll $out/lib
+    ''
     + lib.optionalString enableShared ''
       ln -s $out/lib/libopenblas${shlibExt} $out/lib/libblas${shlibExt}
       ln -s $out/lib/libopenblas${shlibExt} $out/lib/libcblas${shlibExt}
diff --git a/pkgs/development/libraries/simpleitk/default.nix b/pkgs/development/libraries/simpleitk/default.nix
index 09aa2077dbc0..257e6d8080a6 100644
--- a/pkgs/development/libraries/simpleitk/default.nix
+++ b/pkgs/development/libraries/simpleitk/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "simpleitk";
-  version = "2.5.0";
+  version = "2.5.2";
 
   src = fetchFromGitHub {
     owner = "SimpleITK";
     repo = "SimpleITK";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-9PidduOe5AW9faeA28mNPf1GRVFdTjEryo/mJq+T6dk=";
+    hash = "sha256-6jEPO8pM5EDVFgeq8hSpJ0pWn2/Iph4Xcs2hs41kxAI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/sqlite/3.48.0-fk-conflict-handling.patch b/pkgs/development/libraries/sqlite/3.48.0-fk-conflict-handling.patch
deleted file mode 100644
index 6e3f58a7212d..000000000000
--- a/pkgs/development/libraries/sqlite/3.48.0-fk-conflict-handling.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/sqlite3.c b/sqlite3.c
-index 80433f6..7c234f6 100644
---- a/sqlite3.c
-+++ b/sqlite3.c
-@@ -231721,6 +231721,11 @@ static int sessionChangesetApply(
-     }
-   }
- 
-+  {
-+    int rc2 = sqlite3_exec(db, "PRAGMA defer_foreign_keys = 0", 0, 0, 0);
-+    if( rc==SQLITE_OK ) rc = rc2;
-+  }
-+
-   if( (flags & SQLITE_CHANGESETAPPLY_NOSAVEPOINT)==0 ){
-     if( rc==SQLITE_OK ){
-       rc = sqlite3_exec(db, "RELEASE changeset_apply", 0, 0, 0);
diff --git a/pkgs/development/libraries/sqlite/Libs.private.patch b/pkgs/development/libraries/sqlite/Libs.private.patch
deleted file mode 100644
index e20d7ff18cc5..000000000000
--- a/pkgs/development/libraries/sqlite/Libs.private.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff --git a/sqlite3.pc.in b/sqlite3.pc.in
-index a9f941b..3799671 100644
---- a/sqlite3.pc.in
-+++ b/sqlite3.pc.in
-@@ -9,5 +9,5 @@ Name: SQLite
- Description: SQL database engine
- Version: @PACKAGE_VERSION@
- Libs: -L${libdir} -lsqlite3
--Libs.private: @LDFLAGS_MATH@ @LDFLAGS_ZLIB@ @LDFLAGS_ICU@
-+Libs.private: @LIBS@
- Cflags: -I${includedir}
diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix
index 871a2cf93bd1..bd98b5bd89fb 100644
--- a/pkgs/development/libraries/sqlite/default.nix
+++ b/pkgs/development/libraries/sqlite/default.nix
@@ -6,7 +6,6 @@
   zlib,
   readline,
   ncurses,
-  updateAutotoolsGnuConfigScriptsHook,
 
   # for tests
   python3Packages,
@@ -19,6 +18,7 @@
   interactive ? false,
 
   gitUpdater,
+  buildPackages,
 }:
 
 let
@@ -27,31 +27,19 @@ in
 
 stdenv.mkDerivation rec {
   pname = "sqlite${lib.optionalString interactive "-interactive"}";
-  version = "3.48.0";
+  version = "3.50.1";
 
   # nixpkgs-update: no auto update
   # NB! Make sure to update ./tools.nix src (in the same directory).
   src = fetchurl {
     url = "https://sqlite.org/2025/sqlite-autoconf-${archiveVersion version}.tar.gz";
-    hash = "sha256-rJkvf8o5id5+0f6ZwWNj+Eh5TIwyoVja/U65J6LgL9U=";
+    hash = "sha256-AKZRFNaXz6qP4GMCgddv0bd6/Nlc1eQOxqAsu62/6nE=";
   };
   docsrc = fetchurl {
     url = "https://sqlite.org/2025/sqlite-doc-${archiveVersion version}.zip";
-    hash = "sha256-PcE3/NfGrLMmr2CmG5hE3RXTdzywXnqc4nbEH3E9dlo=";
+    hash = "sha256-ZiIF9jOC5X0Qceqr08eQjdchFKggqOvPGg1xqdazgrQ=";
   };
 
-  patches = [
-    # https://sqlite.org/forum/forumpost/3380558ea82c8a3e
-    # Can be removed with the next release.
-    # Test: pkgsStatic.gnupg
-    ./Libs.private.patch
-
-    # https://sqlite.org/forum/forumpost/00f3aab3d3be9690
-    # https://sqlite.org/src/info/d7c07581
-    # TODO: Remove in 3.49.0
-    ./3.48.0-fk-conflict-handling.patch
-  ];
-
   outputs = [
     "bin"
     "dev"
@@ -61,8 +49,11 @@ stdenv.mkDerivation rec {
   ];
   separateDebugInfo = stdenv.hostPlatform.isLinux;
 
+  depsBuildBuild = [
+    buildPackages.stdenv.cc
+  ];
+
   nativeBuildInputs = [
-    updateAutotoolsGnuConfigScriptsHook
     unzip
   ];
   buildInputs =
@@ -77,9 +68,21 @@ stdenv.mkDerivation rec {
     patchShebangs configure
   '';
 
-  configureFlags = [ "--enable-threadsafe" ] ++ lib.optional interactive "--enable-readline";
+  # sqlite relies on autosetup now; so many of the
+  # previously-understood flags are gone. They should instead be set
+  # on a per-output basis.
+  setOutputFlags = false;
 
-  env.NIX_CFLAGS_COMPILE = toString ([
+  configureFlags =
+    [
+      "--bindir=${placeholder "bin"}/bin"
+      "--includedir=${placeholder "dev"}/include"
+      "--libdir=${placeholder "out"}/lib"
+    ]
+    ++ lib.optional (!interactive) "--disable-readline"
+    ++ lib.optional (stdenv.hostPlatform.isStatic) "--disable-shared";
+
+  env.NIX_CFLAGS_COMPILE = toString [
     "-DSQLITE_ENABLE_COLUMN_METADATA"
     "-DSQLITE_ENABLE_DBSTAT_VTAB"
     "-DSQLITE_ENABLE_JSON1"
@@ -88,7 +91,10 @@ stdenv.mkDerivation rec {
     "-DSQLITE_ENABLE_FTS3_TOKENIZER"
     "-DSQLITE_ENABLE_FTS4"
     "-DSQLITE_ENABLE_FTS5"
+    "-DSQLITE_ENABLE_GEOPOLY"
+    "-DSQLITE_ENABLE_MATH_FUNCTIONS"
     "-DSQLITE_ENABLE_PREUPDATE_HOOK"
+    "-DSQLITE_ENABLE_RBU"
     "-DSQLITE_ENABLE_RTREE"
     "-DSQLITE_ENABLE_SESSION"
     "-DSQLITE_ENABLE_STMT_SCANSTATUS"
@@ -97,7 +103,7 @@ stdenv.mkDerivation rec {
     "-DSQLITE_SECURE_DELETE"
     "-DSQLITE_MAX_VARIABLE_NUMBER=250000"
     "-DSQLITE_MAX_EXPR_DEPTH=10000"
-  ]);
+  ];
 
   # Test for features which may not be available at compile time
   preBuild = ''
@@ -142,7 +148,7 @@ stdenv.mkDerivation rec {
     };
 
     updateScript = gitUpdater {
-      # No nicer place to look for patest version.
+      # No nicer place to look for latest version.
       url = "https://github.com/sqlite/sqlite.git";
       # Expect tags like "version-3.43.0".
       rev-prefix = "version-";
diff --git a/pkgs/development/libraries/sqlite/tools.nix b/pkgs/development/libraries/sqlite/tools.nix
index 64c9708594e8..62d2f3c915d9 100644
--- a/pkgs/development/libraries/sqlite/tools.nix
+++ b/pkgs/development/libraries/sqlite/tools.nix
@@ -19,14 +19,14 @@ let
     }:
     stdenv.mkDerivation rec {
       inherit pname;
-      version = "3.48.0";
+      version = "3.50.1";
 
       # nixpkgs-update: no auto update
       src =
         assert version == sqlite.version;
         fetchurl {
           url = "https://sqlite.org/2025/sqlite-src-${archiveVersion version}.zip";
-          hash = "sha256-LXsDK2/f6MRCqoCfhQaHqB0GOB3uzXvjMSYB0oYS5kA=";
+          hash = "sha256-kJBZd3PGCknK67PBrFfbYm+sTZfLUYkIFai1KaTZw9w=";
         };
 
       nativeBuildInputs = [ unzip ];
diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix
index 54ce81ed2ba4..2a9860397131 100644
--- a/pkgs/development/lua-modules/overrides.nix
+++ b/pkgs/development/lua-modules/overrides.nix
@@ -949,6 +949,20 @@ in
     })
   ) { };
 
+  rocks-dev-nvim = prev.rocks-dev-nvim.overrideAttrs (oa: {
+
+    doCheck = true;
+    nativeCheckInputs = [
+      final.nlua
+      final.busted
+    ];
+    checkPhase = ''
+      runHook preCheck
+      busted spec
+      runHook postCheck
+    '';
+  });
+
   rtp-nvim = prev.rtp-nvim.overrideAttrs (oa: {
     doCheck = lua.luaversion == "5.1";
     nativeCheckInputs = [
diff --git a/pkgs/development/mobile/androidenv/emulator.nix b/pkgs/development/mobile/androidenv/emulator.nix
index e2f724ada13c..afb7634e36f5 100644
--- a/pkgs/development/mobile/androidenv/emulator.nix
+++ b/pkgs/development/mobile/androidenv/emulator.nix
@@ -57,44 +57,46 @@ deployAndroidPackage {
       libxshmfence
     ])
     ++ lib.optional (os == "linux" && stdenv.isx86_64) pkgsi686Linux.glibc;
-  patchInstructions = lib.optionalString (os == "linux") ''
-    addAutoPatchelfSearchPath $packageBaseDir/lib
-    addAutoPatchelfSearchPath $packageBaseDir/lib64
-    addAutoPatchelfSearchPath $packageBaseDir/lib64/qt/lib
-    # autoPatchelf is not detecting libuuid :(
-    addAutoPatchelfSearchPath ${pkgs.libuuid.out}/lib
+  patchInstructions =
+    (lib.optionalString (os == "linux") ''
+      addAutoPatchelfSearchPath $packageBaseDir/lib
+      addAutoPatchelfSearchPath $packageBaseDir/lib64
+      addAutoPatchelfSearchPath $packageBaseDir/lib64/qt/lib
+      # autoPatchelf is not detecting libuuid :(
+      addAutoPatchelfSearchPath ${pkgs.libuuid.out}/lib
 
-    # This library is linked against a version of libtiff that nixpkgs doesn't have
-    for file in $out/libexec/android-sdk/emulator/*/qt/plugins/imageformats/libqtiffAndroidEmu.so; do
-      patchelf --replace-needed libtiff.so.5 libtiff.so "$file" || true
-    done
+      # This library is linked against a version of libtiff that nixpkgs doesn't have
+      for file in $out/libexec/android-sdk/emulator/*/qt/plugins/imageformats/libqtiffAndroidEmu.so; do
+        patchelf --replace-needed libtiff.so.5 libtiff.so "$file" || true
+      done
 
-    for file in $out/libexec/android-sdk/emulator/lib64/vulkan/libvulkan_lvp.so; do
-      patchelf --replace-needed libLLVM-15.so.1 libLLVM-15.so "$file" || true
-    done
+      for file in $out/libexec/android-sdk/emulator/lib64/vulkan/libvulkan_lvp.so; do
+        patchelf --replace-needed libLLVM-15.so.1 libLLVM-15.so "$file" || true
+      done
 
-    autoPatchelf $out
+      autoPatchelf $out
 
-    # Wrap emulator so that it can load required libraries at runtime
-    wrapProgram $out/libexec/android-sdk/emulator/emulator \
-      --prefix LD_LIBRARY_PATH : ${
-        lib.makeLibraryPath [
-          pkgs.dbus
-          pkgs.systemd
-        ]
-      } \
-      --set QT_XKB_CONFIG_ROOT ${pkgs.xkeyboard_config}/share/X11/xkb \
-      --set QTCOMPOSE ${pkgs.xorg.libX11.out}/share/X11/locale
+      # Wrap emulator so that it can load required libraries at runtime
+      wrapProgram $out/libexec/android-sdk/emulator/emulator \
+        --prefix LD_LIBRARY_PATH : ${
+          lib.makeLibraryPath [
+            pkgs.dbus
+            pkgs.systemd
+          ]
+        } \
+        --set QT_XKB_CONFIG_ROOT ${pkgs.xkeyboard_config}/share/X11/xkb \
+        --set QTCOMPOSE ${pkgs.xorg.libX11.out}/share/X11/locale
+    '')
+    + ''
+      mkdir -p $out/bin
+      cd $out/bin
+      find $out/libexec/android-sdk/emulator -type f -executable -mindepth 1 -maxdepth 1 | while read i; do
+        ln -s $i
+      done
 
-    mkdir -p $out/bin
-    cd $out/bin
-    find $out/libexec/android-sdk/emulator -type f -executable -mindepth 1 -maxdepth 1 | while read i; do
-      ln -s $i
-    done
-
-    cd $out/libexec/android-sdk
-    ${postInstall}
-  '';
+      cd $out/libexec/android-sdk
+      ${postInstall}
+    '';
   dontMoveLib64 = true;
 
   inherit meta;
diff --git a/pkgs/development/ocaml-modules/ancient/default.nix b/pkgs/development/ocaml-modules/ancient/default.nix
new file mode 100644
index 000000000000..65743757be89
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ancient/default.nix
@@ -0,0 +1,42 @@
+{
+  lib,
+  buildDunePackage,
+  fetchurl,
+}:
+buildDunePackage rec {
+  pname = "ancient";
+  version = "0.10.0";
+
+  minimalOCamlVersion = "4.12";
+
+  src = fetchurl {
+    url = "https://github.com/OCamlPro/ocaml-ancient/releases/download/${version}/ancient-${version}.tbz";
+    hash = "sha256-XeVUPrdg7QSV7V0Tz8Mkj5jvzKtYD9DON+tt9kkuCHM=";
+  };
+
+  doCheck = true;
+
+  meta = {
+    description = "Use data structures larger than available memory";
+    longDescription = ''
+      This module allows you to use in-memory data structures which are
+      larger than available memory and so are kept in swap.  If you try this
+      in normal OCaml code, you'll find that the machine quickly descends
+      into thrashing as the garbage collector repeatedly iterates over
+      swapped memory structures.  This module lets you break that
+      limitation.  Of course the module doesn't work by magic :-) If your
+      program tries to access these large structures, they still need to be
+      swapped back in, but it is suitable for large, sparsely accessed
+      structures.
+
+      Secondly, this module allows you to share those structures between
+      processes.  In this mode, the structures are backed by a disk file,
+      and any process that has read/write access that disk file can map that
+      file in and see the structures.
+    '';
+    homepage = "https://github.com/OCamlPro/ocaml-ancient";
+    changelog = "https://raw.githubusercontent.com/OCamlPro/ocaml-ancient/refs/tags/${version}/CHANGES.md";
+    license = lib.licenses.lgpl21Plus;
+    maintainers = with lib.maintainers; [ momeemt ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/bap/curses_is_ncurses.patch b/pkgs/development/ocaml-modules/bap/curses_is_ncurses.patch
index 0b012848601f..19ae49b7268a 100644
--- a/pkgs/development/ocaml-modules/bap/curses_is_ncurses.patch
+++ b/pkgs/development/ocaml-modules/bap/curses_is_ncurses.patch
@@ -22,8 +22,8 @@ index 966c407..fba3fb4 100644
                   Bap_llvm_ogre_samples,
                   Bap_llvm_ogre_types
    CCOpt:         $cc_optimization
--  CCLib:         $llvm_lib $cxxlibs $llvm_ldflags -lcurses
-+  CCLib:         $llvm_lib $cxxlibs $llvm_ldflags -lncurses
+-  CCLib:         $llvm_lib $cxxlibs $llvm_ldflags -lcurses -lzstd
++  CCLib:         $llvm_lib $cxxlibs $llvm_ldflags -lncurses -lzstd
    CSources:      llvm_disasm.h,
                   llvm_disasm.c,
                   llvm_stubs.c,
diff --git a/pkgs/development/ocaml-modules/bap/default.nix b/pkgs/development/ocaml-modules/bap/default.nix
index 067e2bc16adb..4120f81a1a02 100644
--- a/pkgs/development/ocaml-modules/bap/default.nix
+++ b/pkgs/development/ocaml-modules/bap/default.nix
@@ -13,6 +13,7 @@
   core_kernel,
   ezjsonm,
   fileutils,
+  jane_rope ? null,
   mmap,
   lwt,
   ocamlgraph,
@@ -27,7 +28,7 @@
   frontc,
   ounit,
   ppx_jane,
-  parsexp,
+  parsexp ? null,
   utop,
   libxml2,
   ncurses,
@@ -47,12 +48,12 @@ else
 
   stdenv.mkDerivation rec {
     pname = "ocaml${ocaml.version}-bap";
-    version = "2.5.0";
+    version = "2.5.0+pr1621";
     src = fetchFromGitHub {
       owner = "BinaryAnalysisPlatform";
       repo = "bap";
-      rev = "v${version}";
-      sha256 = "1c30zxn0zyi0wypvjmik3fd6n6a8xjcb102qfnccn1af052bvsrd";
+      rev = "65c282d94e8b7028e8a986c637db3a2378a753f6";
+      hash = "sha256-LUZZOgG1T8xa5jLA/fDft8ofYb/Yf6QjTrl6AlLY7H0=";
     };
 
     sigs = fetchurl {
@@ -95,6 +96,7 @@ else
       core_kernel
       ezjsonm
       fileutils
+      jane_rope
       mmap
       lwt
       ocamlgraph
@@ -132,7 +134,7 @@ else
     ];
 
     preConfigure = ''
-      substituteInPlace oasis/elf-loader --replace bitstring.ppx ppx_bitstring
+      substituteInPlace oasis/monads --replace-warn core_kernel.rope jane_rope
     '';
 
     configureFlags = [
diff --git a/pkgs/development/ocaml-modules/benchmark/default.nix b/pkgs/development/ocaml-modules/benchmark/default.nix
index c7a590773b39..c039fe966f81 100644
--- a/pkgs/development/ocaml-modules/benchmark/default.nix
+++ b/pkgs/development/ocaml-modules/benchmark/default.nix
@@ -6,16 +6,25 @@
 
 buildDunePackage rec {
   pname = "benchmark";
-  version = "1.6";
+  version = "1.7";
+
+  minimalOCamlVersion = "4.03";
 
   src = fetchurl {
-    url = "https://github.com/Chris00/ocaml-benchmark/releases/download/${version}/benchmark-${version}.tbz";
-    hash = "sha256-Mw19cYya/MEy52PVRYE/B6TnqCWw5tEz9CUrUfKAnPA=";
+    url = "https://github.com/Chris00/ocaml-benchmark/releases/download/v${version}/benchmark-${version}.tbz";
+    hash = "sha256-Aij7vJzamNWQfjLeGgENlIp6Il8+Wc9hsahr4eDGs68=";
   };
 
   meta = {
     homepage = "https://github.com/Chris00/ocaml-benchmark";
     description = "Benchmark running times of code";
-    license = lib.licenses.lgpl21;
+    longDescription = ''
+      This module provides a set of tools to measure the running times of
+      your functions and to easily compare the results.  A statistical test
+      is used to determine whether the results truly differ.
+    '';
+    changelog = "https://raw.githubusercontent.com/Chris00/ocaml-benchmark/refs/tags/v${version}/CHANGES.md";
+    license = lib.licenses.lgpl3;
+    maintainers = with lib.maintainers; [ momeemt ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/bigstringaf/default.nix b/pkgs/development/ocaml-modules/bigstringaf/default.nix
index f32bee87255d..1de4d8312dfb 100644
--- a/pkgs/development/ocaml-modules/bigstringaf/default.nix
+++ b/pkgs/development/ocaml-modules/bigstringaf/default.nix
@@ -4,28 +4,42 @@
   buildDunePackage,
   alcotest,
   pkg-config,
+  dune-configurator,
 }:
 
 buildDunePackage rec {
   pname = "bigstringaf";
-  version = "0.9.0";
+  version = "0.10.0";
 
   minimalOCamlVersion = "4.08";
-  duneVersion = "3";
 
   src = fetchFromGitHub {
     owner = "inhabitedtype";
     repo = pname;
-    rev = version;
-    hash = "sha256-HXPjnE56auy2MI6HV2XuBX/VeqsO50HFzTul17lKEqE=";
+    tag = version;
+    hash = "sha256-p1hdB3ArOd2UX7S6YvXCFbYjEiXdMDmBaC/lFQgua7Q=";
   };
 
   nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ dune-configurator ];
+
   checkInputs = [ alcotest ];
   doCheck = true;
 
   meta = {
     description = "Bigstring intrinsics and fast blits based on memcpy/memmove";
+    longDescription = ''
+      Bigstring intrinsics and fast blits based on memcpy/memmove
+
+      The OCaml compiler has a bunch of intrinsics for Bigstrings, but they're not
+      widely-known, sometimes misused, and so programs that use Bigstrings are slower
+      than they have to be. And even if a library got that part right and exposed the
+      intrinsics properly, the compiler doesn't have any fast blits between
+      Bigstrings and other string-like types.
+
+      So here they are. Go crazy.
+    '';
+    changelog = "https://github.com/inhabitedtype/bigstringaf/releases/tag/${version}";
     license = lib.licenses.bsd3;
     maintainers = [ lib.maintainers.vbgl ];
     inherit (src.meta) homepage;
diff --git a/pkgs/development/ocaml-modules/biocaml/default.nix b/pkgs/development/ocaml-modules/biocaml/default.nix
deleted file mode 100644
index 0f5cc4f4c942..000000000000
--- a/pkgs/development/ocaml-modules/biocaml/default.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-{
-  lib,
-  buildDunePackage,
-  fetchFromGitHub,
-  fetchpatch,
-  ounit,
-  async,
-  base64,
-  camlzip,
-  cfstream,
-  core,
-  ppx_jane,
-  ppx_sexp_conv,
-  rresult,
-  uri,
-  xmlm,
-}:
-
-buildDunePackage rec {
-  pname = "biocaml";
-  version = "0.11.2";
-
-  minimalOCamlVersion = "4.11";
-  duneVersion = "3";
-
-  src = fetchFromGitHub {
-    owner = "biocaml";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "01yw12yixs45ya1scpb9jy2f7dw1mbj7741xib2xpq3kkc1hc21s";
-  };
-
-  patches = fetchpatch {
-    url = "https://github.com/biocaml/biocaml/commit/3ef74d0eb4bb48d2fb7dd8b66fb3ad8fe0aa4d78.patch";
-    sha256 = "0rcvf8gwq7sz15mghl9ing722rl2zpnqif9dfxrnpdxiv0rl0731";
-  };
-
-  buildInputs = [
-    ppx_jane
-    ppx_sexp_conv
-  ];
-  checkInputs = [ ounit ];
-  propagatedBuildInputs = [
-    async
-    base64
-    camlzip
-    cfstream
-    core
-    rresult
-    uri
-    xmlm
-  ];
-
-  meta = with lib; {
-    description = "Bioinformatics library for Ocaml";
-    homepage = "http://${pname}.org";
-    maintainers = [ maintainers.bcdarwin ];
-    license = licenses.gpl2;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/caqti/async.nix b/pkgs/development/ocaml-modules/caqti/async.nix
index 5db8fda9d77b..008110e38465 100644
--- a/pkgs/development/ocaml-modules/caqti/async.nix
+++ b/pkgs/development/ocaml-modules/caqti/async.nix
@@ -10,7 +10,7 @@ buildDunePackage {
   pname = "caqti-async";
   inherit (caqti) version src;
 
-  minimalOCamlVersion = "4.14";
+  minimalOCamlVersion = "5.0";
 
   propagatedBuildInputs = [
     async_kernel
diff --git a/pkgs/development/ocaml-modules/caqti/default.nix b/pkgs/development/ocaml-modules/caqti/default.nix
index 5e04b4258bbe..a43fa6f0182a 100644
--- a/pkgs/development/ocaml-modules/caqti/default.nix
+++ b/pkgs/development/ocaml-modules/caqti/default.nix
@@ -8,21 +8,24 @@
   dune-site,
   ipaddr,
   logs,
+  lru,
   lwt-dllist,
   mtime,
   ptime,
   uri,
+  stdenv,
+  darwin,
 }:
 
 buildDunePackage rec {
   pname = "caqti";
-  version = "2.1.1";
+  version = "2.2.4";
 
   minimalOCamlVersion = "4.08";
 
   src = fetchurl {
     url = "https://github.com/paurkedal/ocaml-caqti/releases/download/v${version}/caqti-v${version}.tbz";
-    hash = "sha256-SDpTX0HiZBkX/BgyzkrRX/w/ToKDsbMBiiYXNJWDCQo=";
+    hash = "sha256-uOpDKCAVTsCVEyxPeyRLBs2FU+CyA1GFuETZxPMK+Ls=";
   };
 
   buildInputs = [ dune-site ];
@@ -32,12 +35,15 @@ buildDunePackage rec {
     domain-name
     ipaddr
     logs
+    lru
     lwt-dllist
     mtime
     ptime
     uri
   ];
 
+  nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ darwin.sigtool ];
+
   # Checks depend on caqti-driver-sqlite3 (circural dependency)
   doCheck = false;
 
diff --git a/pkgs/development/ocaml-modules/caqti/driver-sqlite3.nix b/pkgs/development/ocaml-modules/caqti/driver-sqlite3.nix
index 1387b0ff1a92..03cefdc7737e 100644
--- a/pkgs/development/ocaml-modules/caqti/driver-sqlite3.nix
+++ b/pkgs/development/ocaml-modules/caqti/driver-sqlite3.nix
@@ -3,6 +3,7 @@
   caqti,
   ocaml_sqlite3,
   alcotest,
+  dune-site,
 }:
 
 buildDunePackage {
@@ -14,7 +15,10 @@ buildDunePackage {
     ocaml_sqlite3
   ];
 
-  checkInputs = [ alcotest ];
+  checkInputs = [
+    alcotest
+    dune-site
+  ];
 
   doCheck = true;
 
diff --git a/pkgs/development/ocaml-modules/caqti/eio.nix b/pkgs/development/ocaml-modules/caqti/eio.nix
new file mode 100644
index 000000000000..4290da755539
--- /dev/null
+++ b/pkgs/development/ocaml-modules/caqti/eio.nix
@@ -0,0 +1,23 @@
+{
+  buildDunePackage,
+  caqti,
+  logs,
+  eio,
+}:
+
+buildDunePackage {
+  pname = "caqti-eio";
+  inherit (caqti) version src;
+
+  minimalOCamlVersion = "5.1";
+
+  propagatedBuildInputs = [
+    caqti
+    logs
+    eio
+  ];
+
+  meta = caqti.meta // {
+    description = "Eio support for Caqti";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/directories/default.nix b/pkgs/development/ocaml-modules/directories/default.nix
index e90a1ce19222..158c890aec42 100644
--- a/pkgs/development/ocaml-modules/directories/default.nix
+++ b/pkgs/development/ocaml-modules/directories/default.nix
@@ -2,24 +2,28 @@
   lib,
   fetchFromGitHub,
   buildDunePackage,
+  fpath,
 }:
 
 buildDunePackage rec {
   pname = "directories";
-  version = "0.5";
-  useDune2 = true;
+  version = "0.6";
 
-  minimalOCamlVersion = "4.07";
+  minimalOCamlVersion = "4.14";
 
   src = fetchFromGitHub {
-    owner = "ocamlpro";
+    owner = "OCamlPro";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-31CGhmmfOORJ1ewgp+IU+p1+f2kfX/W+lxK7EGU62vc=";
+    tag = version;
+    hash = "sha256-c/9ChiSODD1K7YsMj65tjErAwXeWvEQ8BkAcUvsr19c=";
   };
 
+  propagatedBuildInputs = [
+    fpath
+  ];
+
   meta = {
-    homepage = "https://github.com/ocamlpro/directories";
+    homepage = "https://github.com/OCamlPro/directories";
     description = "OCaml library that provides configuration, cache and data paths (and more!) following the suitable conventions on Linux, macOS and Windows";
     longDescription = ''
       directories is an OCaml library that provides configuration, cache and
@@ -31,6 +35,7 @@ buildDunePackage rec {
       xdg-user-dirs on Linux, Known Folders on Windows, Standard Directories on
       macOS.
     '';
+    changelog = "https://raw.githubusercontent.com/OCamlPro/directories/refs/tags/${src.tag}/CHANGES.md";
     license = lib.licenses.isc;
     maintainers = with lib.maintainers; [ bcc32 ];
   };
diff --git a/pkgs/development/ocaml-modules/dns/cli.nix b/pkgs/development/ocaml-modules/dns/cli.nix
index fad820b460f2..0c423b51db86 100644
--- a/pkgs/development/ocaml-modules/dns/cli.nix
+++ b/pkgs/development/ocaml-modules/dns/cli.nix
@@ -5,6 +5,7 @@
   dns-client-lwt,
   dns-server,
   dns-certify,
+  dns-resolver,
   dnssec,
   bos,
   cmdliner,
@@ -13,6 +14,7 @@
   mirage-crypto,
   mirage-crypto-pk,
   mirage-crypto-rng,
+  mirage-mtime,
   ohex,
   ptime,
   mtime,
@@ -39,6 +41,7 @@ buildDunePackage {
     dns-client-lwt
     dns-server
     dns-certify
+    dns-resolver
     dnssec
     bos
     cmdliner
@@ -47,6 +50,7 @@ buildDunePackage {
     mirage-crypto
     mirage-crypto-pk
     mirage-crypto-rng
+    mirage-mtime
     ohex
     ptime
     mtime
diff --git a/pkgs/development/ocaml-modules/dns/default.nix b/pkgs/development/ocaml-modules/dns/default.nix
index ed889526432b..7fb990255e8b 100644
--- a/pkgs/development/ocaml-modules/dns/default.nix
+++ b/pkgs/development/ocaml-modules/dns/default.nix
@@ -18,13 +18,13 @@
 
 buildDunePackage rec {
   pname = "dns";
-  version = "10.0.0";
+  version = "10.1.0";
 
   minimalOCamlVersion = "4.13";
 
   src = fetchurl {
     url = "https://github.com/mirage/ocaml-dns/releases/download/v${version}/dns-${version}.tbz";
-    hash = "sha256-dPO9BjvTE0UrpxKrmtgPrgfV/2uG/E9Wd/BNYSMtFwI=";
+    hash = "sha256-XG/qUUzsOccy5xdkZD6PuViN7gOMmRwYSsy+07QeN9I=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/ocaml-modules/dns/resolver.nix b/pkgs/development/ocaml-modules/dns/resolver.nix
index 04daff6b5b34..e687badef235 100644
--- a/pkgs/development/ocaml-modules/dns/resolver.nix
+++ b/pkgs/development/ocaml-modules/dns/resolver.nix
@@ -14,7 +14,6 @@
   tcpip,
   tls,
   tls-mirage,
-  mirage-crypto-rng-mirage,
   dnssec,
   alcotest,
 }:
@@ -40,7 +39,6 @@ buildDunePackage {
     tcpip
     tls
     tls-mirage
-    mirage-crypto-rng-mirage
   ];
 
   doCheck = true;
diff --git a/pkgs/development/ocaml-modules/dream-html/default.nix b/pkgs/development/ocaml-modules/dream-html/default.nix
new file mode 100644
index 000000000000..35138a6ceeaf
--- /dev/null
+++ b/pkgs/development/ocaml-modules/dream-html/default.nix
@@ -0,0 +1,27 @@
+{
+  lib,
+  buildDunePackage,
+  dream,
+  pure-html,
+  ppxlib,
+}:
+
+buildDunePackage {
+  pname = "dream-html";
+  inherit (pure-html) src version;
+
+  buildInputs = [
+    ppxlib
+  ];
+
+  propagatedBuildInputs = [
+    pure-html
+    dream
+  ];
+
+  meta = {
+    description = "Write HTML directly in your OCaml source files with editor support.";
+    license = lib.licenses.gpl3;
+    maintainers = [ lib.maintainers.naora ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/dream-html/pure.nix b/pkgs/development/ocaml-modules/dream-html/pure.nix
new file mode 100644
index 000000000000..468890756a77
--- /dev/null
+++ b/pkgs/development/ocaml-modules/dream-html/pure.nix
@@ -0,0 +1,26 @@
+{
+  lib,
+  buildDunePackage,
+  fetchFromGitHub,
+  uri,
+}:
+
+buildDunePackage rec {
+  pname = "pure-html";
+  version = "3.10.1";
+
+  src = fetchFromGitHub {
+    owner = "yawaramin";
+    repo = "dream-html";
+    tag = "v${version}";
+    hash = "sha256-LywQG5AaQrrq8lW+aN1doB1MKPSMciZISOeo583Kr9k=";
+  };
+
+  propagatedBuildInputs = [ uri ];
+
+  meta = {
+    description = "Write HTML directly in your OCaml source files with editor support.";
+    license = lib.licenses.gpl3;
+    maintainers = [ lib.maintainers.naora ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/dream/default.nix b/pkgs/development/ocaml-modules/dream/default.nix
index d35993507938..f7ca3b73e406 100644
--- a/pkgs/development/ocaml-modules/dream/default.nix
+++ b/pkgs/development/ocaml-modules/dream/default.nix
@@ -1,5 +1,4 @@
 {
-  lib,
   buildDunePackage,
   dream-pure,
   lwt_ppx,
@@ -18,14 +17,39 @@
   markup,
   mirage-clock,
   mirage-crypto-rng,
-  mirage-crypto-rng-lwt,
   multipart_form-lwt,
   ssl,
   unstrctrd,
   uri,
   yojson,
+  # for mirage-crypro-rng-lwt 1.2.0
+  # It is removed from mirage-crypto 2.1.0 now.
+  fetchurl,
+  duration,
+  logs,
+  mtime,
+  lwt,
 }:
 
+let
+  mirage-crypto-rng-lwt = buildDunePackage rec {
+    pname = "mirage-crypto-rng-lwt";
+    version = "1.2.0";
+    src = fetchurl {
+      url = "https://github.com/mirage/mirage-crypto/releases/download/v${version}/mirage-crypto-${version}.tbz";
+      hash = "sha256-CVQrzZbB02j/m6iFMQX0wXgdjJTCQA3586wGEO4H5n4=";
+    };
+    doCheck = true;
+    propagatedBuildInputs = [
+      mirage-crypto-rng
+      duration
+      logs
+      mtime
+      lwt
+    ];
+  };
+in
+
 buildDunePackage {
   pname = "dream";
 
diff --git a/pkgs/development/ocaml-modules/dream/httpaf.nix b/pkgs/development/ocaml-modules/dream/httpaf.nix
index 6ba186bceb7a..0b4d8dce6103 100644
--- a/pkgs/development/ocaml-modules/dream/httpaf.nix
+++ b/pkgs/development/ocaml-modules/dream/httpaf.nix
@@ -1,5 +1,4 @@
 {
-  lib,
   buildDunePackage,
   dream-pure,
   lwt_ppx,
diff --git a/pkgs/development/ocaml-modules/dum/default.nix b/pkgs/development/ocaml-modules/dum/default.nix
index fa41fe11f7c7..679b0c24e357 100644
--- a/pkgs/development/ocaml-modules/dum/default.nix
+++ b/pkgs/development/ocaml-modules/dum/default.nix
@@ -1,43 +1,38 @@
 {
   lib,
-  stdenv,
-  fetchFromGitHub,
-  ocaml,
-  findlib,
   easy-format,
+  buildDunePackage,
+  fetchurl,
 }:
 
-stdenv.mkDerivation rec {
-  pname = "ocaml${ocaml.version}-dum";
-  version = "1.0.1";
+buildDunePackage rec {
+  pname = "dum";
+  version = "1.0.3";
 
-  src = fetchFromGitHub {
-    owner = "mjambon";
-    repo = "dum";
-    rev = "v${version}";
-    sha256 = "0yrxl97szjc0s2ghngs346x3y0xszx2chidgzxk93frjjpsr1mlr";
+  src = fetchurl {
+    url = "https://github.com/mjambon/dum/releases/download/${version}/dum-${version}.tbz";
+    hash = "sha256-ZFojUD/IoxVTDfGyh2wveFsSz4D19pKkHrNuU+LFJlE=";
   };
 
   postPatch = ''
     substituteInPlace "dum.ml" \
-    --replace "Lazy.lazy_is_val" "Lazy.is_val" \
-    --replace "Obj.final_tag" "Obj.custom_tag"
+    --replace-fail "Lazy.lazy_is_val" "Lazy.is_val" \
+    --replace-fail "Obj.final_tag" "Obj.custom_tag"
   '';
 
-  nativeBuildInputs = [
-    ocaml
-    findlib
-  ];
   propagatedBuildInputs = [ easy-format ];
 
-  strictDeps = true;
-
-  createFindlibDestdir = true;
-
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/mjambon/dum";
     description = "Inspect the runtime representation of arbitrary OCaml values";
-    license = licenses.lgpl21Plus;
-    maintainers = [ maintainers.alexfmpe ];
+    longDescription = ''
+      Dum is a library for inspecting the runtime representation of
+      arbitrary OCaml values. Shared or cyclic data are detected
+      and labelled. This guarantees that printing would always
+      terminate. This makes it possible to print values such as closures,
+      objects or exceptions in depth and without risk.
+    '';
+    license = lib.licenses.lgpl21Plus;
+    maintainers = with lib.maintainers; [ alexfmpe ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/eigen/default.nix b/pkgs/development/ocaml-modules/eigen/default.nix
index 73fd08fa6981..b861f555fca2 100644
--- a/pkgs/development/ocaml-modules/eigen/default.nix
+++ b/pkgs/development/ocaml-modules/eigen/default.nix
@@ -4,19 +4,18 @@
   buildDunePackage,
   fetchFromGitHub,
   ctypes,
+  dune-configurator,
 }:
 
 buildDunePackage rec {
   pname = "eigen";
-  version = "0.2.0";
-
-  useDune2 = true;
+  version = "0.3.3";
 
   src = fetchFromGitHub {
     owner = "owlbarn";
     repo = pname;
-    rev = version;
-    sha256 = "1zaw03as14hyvfpyj6bjrfbcxp2ljdbqcqqgm53kms244mig425f";
+    tag = version;
+    hash = "sha256-8V4DQ+b2rzy58NTenK1BsJEJiJKYV6hIp2fJWqczHRY=";
   };
 
   minimalOCamlVersion = "4.02";
@@ -25,11 +24,13 @@ buildDunePackage rec {
 
   propagatedBuildInputs = [ ctypes ];
 
-  meta = with lib; {
+  buildInputs = [ dune-configurator ];
+
+  meta = {
     inherit (src.meta) homepage;
     description = "Minimal/incomplete Ocaml interface to Eigen3, mostly for Owl";
-    platforms = platforms.x86_64;
-    maintainers = [ maintainers.bcdarwin ];
-    license = licenses.mit;
+    platforms = lib.platforms.x86_64;
+    maintainers = with lib.maintainers; [ bcdarwin ];
+    license = lib.licenses.mit;
   };
 }
diff --git a/pkgs/development/ocaml-modules/encore/default.nix b/pkgs/development/ocaml-modules/encore/default.nix
index e360b0004a6a..0932d3cdf726 100644
--- a/pkgs/development/ocaml-modules/encore/default.nix
+++ b/pkgs/development/ocaml-modules/encore/default.nix
@@ -10,17 +10,15 @@
 
 buildDunePackage rec {
   pname = "encore";
-  version = "0.8";
+  version = "0.8.1";
 
-  minimalOCamlVersion = "4.08";
+  minimalOCamlVersion = "4.07";
 
   src = fetchurl {
-    url = "https://github.com/mirage/encore/releases/download/v${version}/encore-v${version}.tbz";
-    sha256 = "a406bc9863b04bb424692045939d6c170a2bb65a98521ae5608d25b0559344f6";
+    url = "https://github.com/mirage/encore/releases/download/v${version}/encore-${version}.tbz";
+    hash = "sha256-qg6heSBc6OSfb7vZxEi4rrKh+nx+ffnsCfVvhVR3yY0=";
   };
 
-  duneVersion = "3";
-
   propagatedBuildInputs = [
     angstrom
     fmt
@@ -32,6 +30,12 @@ buildDunePackage rec {
   meta = {
     homepage = "https://github.com/mirage/encore";
     description = "Library to generate encoder/decoder which ensure isomorphism";
+    longDescription = ''
+      Encore is a little library to provide an interface to generate an angstrom decoder and
+      an internal encoder from a shared description. The goal is to ensure a dual isomorphism
+      between them.
+    '';
+    changelog = "https://raw.githubusercontent.com/mirage/encore/refs/tags/v${version}/CHANGES.md";
     license = lib.licenses.mit;
     maintainers = [ lib.maintainers.vbgl ];
   };
diff --git a/pkgs/development/ocaml-modules/hc/default.nix b/pkgs/development/ocaml-modules/hc/default.nix
new file mode 100644
index 000000000000..93c8e18ff2f7
--- /dev/null
+++ b/pkgs/development/ocaml-modules/hc/default.nix
@@ -0,0 +1,29 @@
+{
+  lib,
+  buildDunePackage,
+  fetchzip,
+}:
+
+buildDunePackage rec {
+  pname = "hc";
+  version = "0.5";
+
+  minimalOCamlVersion = "4.12";
+
+  # upstream git server is misconfigured and cannot be cloned
+  src = fetchzip {
+    url = "https://git.zapashcanon.fr/zapashcanon/hc/archive/${version}.tar.gz";
+    hash = "sha256-oTomFi+e9aCgVpZ9EkxQ/dZz18cW2UcaV0ZIokeBoU0=";
+  };
+
+  doCheck = true;
+
+  meta = {
+    description = "Library for hash consing";
+    homepage = "https://ocaml.org/p/hc/";
+    downloadPage = "https://git.zapashcanon.fr/zapashcanon/hc";
+    changelog = "https://git.zapashcanon.fr/zapashcanon/hc/src/tag/${version}/CHANGES.md";
+    license = lib.licenses.isc;
+    maintainers = [ lib.maintainers.ethancedwards8 ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/janestreet/0.15.nix b/pkgs/development/ocaml-modules/janestreet/0.15.nix
index 871277c72b51..89ca0e0c42ef 100644
--- a/pkgs/development/ocaml-modules/janestreet/0.15.nix
+++ b/pkgs/development/ocaml-modules/janestreet/0.15.nix
@@ -801,6 +801,7 @@ with self;
       js_of_ocaml-ppx
       sedlex
     ];
+    meta.broken = true; # Not compatible with sedlex > 3.4
   };
 
   ppx_csv_conv = janePackage {
diff --git a/pkgs/development/ocaml-modules/janestreet/0.16.nix b/pkgs/development/ocaml-modules/janestreet/0.16.nix
index 60358dc4f574..75ddf6c2ba4b 100644
--- a/pkgs/development/ocaml-modules/janestreet/0.16.nix
+++ b/pkgs/development/ocaml-modules/janestreet/0.16.nix
@@ -1057,6 +1057,7 @@ with self;
       sedlex
       virtual_dom
     ];
+    meta.broken = true; # Not compatible with sedlex > 3.4
   };
 
   ppx_csv_conv = janePackage {
diff --git a/pkgs/development/ocaml-modules/janestreet/0.17.nix b/pkgs/development/ocaml-modules/janestreet/0.17.nix
index b16957cb8732..c1be0727a058 100644
--- a/pkgs/development/ocaml-modules/janestreet/0.17.nix
+++ b/pkgs/development/ocaml-modules/janestreet/0.17.nix
@@ -935,6 +935,8 @@ with self;
     meta.description = "A library of intrinsics for OCaml";
     buildInputs = [
       dune-configurator
+    ];
+    propagatedBuildInputs = [
       ocaml_intrinsics_kernel
     ];
     patches = [
@@ -1149,6 +1151,7 @@ with self;
       sedlex
       virtual_dom
     ];
+    meta.broken = true; # Not compatible with sedlex > 3.4
   };
 
   ppx_csv_conv = janePackage {
diff --git a/pkgs/development/ocaml-modules/landmarks-ppx/default.nix b/pkgs/development/ocaml-modules/landmarks-ppx/default.nix
index 8025fb90303c..f6676696bb9a 100644
--- a/pkgs/development/ocaml-modules/landmarks-ppx/default.nix
+++ b/pkgs/development/ocaml-modules/landmarks-ppx/default.nix
@@ -19,5 +19,9 @@ buildDunePackage {
 
   meta = landmarks.meta // {
     description = "Preprocessor instrumenting code using the landmarks library";
+    longDescription = ''
+      Automatically or semi-automatically instrument your code using
+      landmarks library.
+    '';
   };
 }
diff --git a/pkgs/development/ocaml-modules/landmarks/default.nix b/pkgs/development/ocaml-modules/landmarks/default.nix
index 3a39592a9ecf..40375794fd0c 100644
--- a/pkgs/development/ocaml-modules/landmarks/default.nix
+++ b/pkgs/development/ocaml-modules/landmarks/default.nix
@@ -5,23 +5,31 @@
   ocaml,
 }:
 
-buildDunePackage {
+buildDunePackage rec {
   pname = "landmarks";
-  version = "1.4";
+  version = "1.5";
   minimalOCamlVersion = "4.08";
 
   src = fetchFromGitHub {
     owner = "LexiFi";
     repo = "landmarks";
-    rev = "b0c753cd2a4c4aa00dffdd3be187d8ed592fabf7";
-    hash = "sha256-Wpr76JURUFrj7v39rdM/2Lr7boa7nL/bnPEz1vMrmQo";
+    tag = "v${version}";
+    hash = "sha256-eIq02D19OzDOrMDHE1Ecrgk+T6s9vj2X6B2HY+z+K8Q=";
   };
 
   doCheck = lib.versionAtLeast ocaml.version "4.08" && lib.versionOlder ocaml.version "5.0";
 
-  meta = with lib; {
+  meta = {
+    inherit (src.meta) homepage;
     description = "Simple Profiling Library for OCaml";
-    maintainers = [ maintainers.kenran ];
-    license = licenses.mit;
+    longDescription = ''
+      Landmarks is a simple profiling library for OCaml. It provides
+      primitives to measure time spent in portion of instrumented code. The
+      instrumentation of the code may either done by hand, automatically or
+      semi-automatically using the ppx pepreprocessor (see landmarks-ppx package).
+    '';
+    changelog = "https://raw.githubusercontent.com/LexiFi/landmarks/refs/tags/v${version}/CHANGES.md";
+    maintainers = with lib.maintainers; [ kenran ];
+    license = lib.licenses.mit;
   };
 }
diff --git a/pkgs/development/ocaml-modules/mirage-crypto/default.nix b/pkgs/development/ocaml-modules/mirage-crypto/default.nix
index 99c71786d448..a78531277f65 100644
--- a/pkgs/development/ocaml-modules/mirage-crypto/default.nix
+++ b/pkgs/development/ocaml-modules/mirage-crypto/default.nix
@@ -14,11 +14,11 @@ buildDunePackage rec {
   minimalOCamlVersion = "4.13";
 
   pname = "mirage-crypto";
-  version = "1.2.0";
+  version = "2.0.1";
 
   src = fetchurl {
     url = "https://github.com/mirage/mirage-crypto/releases/download/v${version}/mirage-crypto-${version}.tbz";
-    hash = "sha256-CVQrzZbB02j/m6iFMQX0wXgdjJTCQA3586wGEO4H5n4=";
+    hash = "sha256-VDDOPD5AYn0tZ6jez1ZaH2EtOb2zP5t2fDvbYB/1oZY=";
   };
 
   doCheck = true;
@@ -36,14 +36,18 @@ buildDunePackage rec {
       ocaml-freestanding
     ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/mirage/mirage-crypto";
     description = "Simple symmetric cryptography for the modern age";
-    license = [
-      licenses.isc # default license
-      licenses.bsd2 # mirage-crypto-rng-mirage
-      licenses.mit # mirage-crypto-ec
+    changelog = "https://raw.githubusercontent.com/mirage/mirage-crypto/refs/tags/v${version}/CHANGES.md";
+    license = with lib.licenses; [
+      isc # default license
+      bsd2 # mirage-crypto-rng-mirage
+      mit # mirage-crypto-ec
+    ];
+    maintainers = with lib.maintainers; [
+      sternenseemann
+      momeemt
     ];
-    maintainers = with maintainers; [ sternenseemann ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/mirage-crypto/rng-async.nix b/pkgs/development/ocaml-modules/mirage-crypto/rng-async.nix
deleted file mode 100644
index b5d5acc232ac..000000000000
--- a/pkgs/development/ocaml-modules/mirage-crypto/rng-async.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{
-  buildDunePackage,
-  mirage-crypto,
-  mirage-crypto-rng,
-  dune-configurator,
-  async,
-  logs,
-  ohex,
-}:
-
-buildDunePackage {
-  pname = "mirage-crypto-rng-async";
-
-  inherit (mirage-crypto) version src;
-
-  buildInputs = [
-    dune-configurator
-  ];
-
-  propagatedBuildInputs = [
-    async
-    logs
-    mirage-crypto
-    mirage-crypto-rng
-  ];
-
-  doCheck = true;
-  checkInputs = [ ohex ];
-
-  meta = mirage-crypto.meta // {
-    description = "Feed the entropy source in an Async-friendly way";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/mirage-crypto/rng-eio.nix b/pkgs/development/ocaml-modules/mirage-crypto/rng-eio.nix
deleted file mode 100644
index c36dd79745ce..000000000000
--- a/pkgs/development/ocaml-modules/mirage-crypto/rng-eio.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{
-  buildDunePackage,
-  mirage-crypto-rng,
-  eio,
-  eio_main,
-  ohex,
-}:
-
-buildDunePackage {
-  pname = "mirage-crypto-rng-eio";
-
-  inherit (mirage-crypto-rng) version src;
-
-  doCheck = true;
-  checkInputs = [
-    eio_main
-    ohex
-  ];
-
-  propagatedBuildInputs = [
-    mirage-crypto-rng
-    eio
-  ];
-
-  meta = mirage-crypto-rng.meta;
-}
diff --git a/pkgs/development/ocaml-modules/mirage-crypto/rng-lwt.nix b/pkgs/development/ocaml-modules/mirage-crypto/rng-lwt.nix
deleted file mode 100644
index d36595708a9d..000000000000
--- a/pkgs/development/ocaml-modules/mirage-crypto/rng-lwt.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{
-  buildDunePackage,
-  mirage-crypto-rng,
-  duration,
-  logs,
-  mtime,
-  lwt,
-}:
-
-buildDunePackage {
-  pname = "mirage-crypto-rng-lwt";
-
-  inherit (mirage-crypto-rng) version src;
-
-  doCheck = true;
-
-  propagatedBuildInputs = [
-    mirage-crypto-rng
-    duration
-    logs
-    mtime
-    lwt
-  ];
-
-  meta = mirage-crypto-rng.meta;
-}
diff --git a/pkgs/development/ocaml-modules/mirage-crypto/rng-miou-unix.nix b/pkgs/development/ocaml-modules/mirage-crypto/rng-miou-unix.nix
new file mode 100644
index 000000000000..ec4d18a9597f
--- /dev/null
+++ b/pkgs/development/ocaml-modules/mirage-crypto/rng-miou-unix.nix
@@ -0,0 +1,39 @@
+{
+  buildDunePackage,
+  mirage-crypto-rng,
+  miou,
+  logs,
+  duration,
+  mtime,
+  digestif,
+  ohex,
+}:
+
+buildDunePackage {
+  pname = "mirage-crypto-rng-miou-unix";
+
+  inherit (mirage-crypto-rng) version src;
+
+  doCheck = true;
+  checkInputs = [
+
+  ];
+
+  propagatedBuildInputs = [
+    miou
+    logs
+    mirage-crypto-rng
+    duration
+    mtime
+    digestif
+    ohex
+  ];
+
+  meta = mirage-crypto-rng.meta // {
+    description = "Feed the entropy source in an miou.unix-friendly way";
+    longDescription = ''
+      Mirage-crypto-rng-miou-unix feeds the entropy source for Mirage_crypto_rng-based
+      random number generator implementations, in an miou.unix-friendly way.
+    '';
+  };
+}
diff --git a/pkgs/development/ocaml-modules/mirage-crypto/rng-mirage.nix b/pkgs/development/ocaml-modules/mirage-crypto/rng-mirage.nix
index 8265808c5732..b974a6adc0f7 100644
--- a/pkgs/development/ocaml-modules/mirage-crypto/rng-mirage.nix
+++ b/pkgs/development/ocaml-modules/mirage-crypto/rng-mirage.nix
@@ -3,8 +3,8 @@
   mirage-crypto-rng,
   duration,
   mirage-runtime,
-  mirage-time,
-  mirage-clock,
+  mirage-mtime,
+  mirage-sleep,
   mirage-unix,
   mirage-time-unix,
   mirage-clock-unix,
@@ -30,8 +30,8 @@ buildDunePackage {
     duration
     mirage-crypto-rng
     mirage-runtime
-    mirage-time
-    mirage-clock
+    mirage-mtime
+    mirage-sleep
     logs
     lwt
   ];
diff --git a/pkgs/development/ocaml-modules/ocaml-version/default.nix b/pkgs/development/ocaml-modules/ocaml-version/default.nix
index 0f420a90e3f3..335ad7611030 100644
--- a/pkgs/development/ocaml-modules/ocaml-version/default.nix
+++ b/pkgs/development/ocaml-modules/ocaml-version/default.nix
@@ -7,11 +7,11 @@
 
 buildDunePackage rec {
   pname = "ocaml-version";
-  version = "4.0.0";
+  version = "4.0.1";
 
   src = fetchurl {
     url = "https://github.com/ocurrent/ocaml-version/releases/download/v${version}/ocaml-version-${version}.tbz";
-    hash = "sha256-+xV3bFFWwp2s4OtbBCJCR33l+LctWQVkgwWMrOciPms=";
+    hash = "sha256-uZ7c47uaHpTt1XyCcsxo/E7P2grk09UzRTEnUBKYKNA=";
   };
 
   checkInputs = [ alcotest ];
diff --git a/pkgs/development/ocaml-modules/ocamlformat/generic.nix b/pkgs/development/ocaml-modules/ocamlformat/generic.nix
index 9c1bfa77cf26..164f54e452a3 100644
--- a/pkgs/development/ocaml-modules/ocamlformat/generic.nix
+++ b/pkgs/development/ocaml-modules/ocamlformat/generic.nix
@@ -21,7 +21,6 @@
   stdio,
   uuseg,
   uutf,
-  janeStreet_0_15,
   ...
 }:
 
@@ -67,13 +66,9 @@ rec {
 
   cmdliner_v = if lib.versionAtLeast version "0.21.0" then cmdliner_1_1 else cmdliner_1_0;
 
-  base_v = if lib.versionAtLeast version "0.25.1" then base else janeStreet_0_15.base;
-
-  stdio_v = if lib.versionAtLeast version "0.25.1" then stdio else janeStreet_0_15.stdio;
-
   library_deps =
     [
-      base_v
+      base
       cmdliner_v
       dune-build-info
       fix
@@ -81,7 +76,7 @@ rec {
       menhirLib
       menhirSdk
       ocp-indent
-      stdio_v
+      stdio
       uuseg
       uutf
     ]
diff --git a/pkgs/development/ocaml-modules/ocamlformat/ocamlformat.nix b/pkgs/development/ocaml-modules/ocamlformat/ocamlformat.nix
index dc2671a265f0..3dc8e2ab4e33 100644
--- a/pkgs/development/ocaml-modules/ocamlformat/ocamlformat.nix
+++ b/pkgs/development/ocaml-modules/ocamlformat/ocamlformat.nix
@@ -17,6 +17,7 @@ in
 lib.throwIf
   (
     lib.versionAtLeast ocaml.version "5.0" && !lib.versionAtLeast version "0.23"
+    || lib.versionAtLeast ocaml.version "5.1" && !lib.versionAtLeast version "0.25"
     || lib.versionAtLeast ocaml.version "5.2" && !lib.versionAtLeast version "0.26.2"
     || lib.versionAtLeast ocaml.version "5.3" && !lib.versionAtLeast version "0.27"
   )
diff --git a/pkgs/development/ocaml-modules/patricia-tree/default.nix b/pkgs/development/ocaml-modules/patricia-tree/default.nix
new file mode 100644
index 000000000000..d61c28c166a5
--- /dev/null
+++ b/pkgs/development/ocaml-modules/patricia-tree/default.nix
@@ -0,0 +1,44 @@
+{
+  lib,
+  buildDunePackage,
+  fetchFromGitHub,
+  findlib,
+  mdx,
+  qcheck-core,
+  ppx_inline_test,
+}:
+
+buildDunePackage rec {
+  pname = "patricia-tree";
+  version = "0.11.0";
+
+  minimalOCamlVersion = "4.14";
+
+  src = fetchFromGitHub {
+    owner = "codex-semantics-library";
+    repo = "patricia-tree";
+    tag = "v${version}";
+    hash = "sha256-lpmU0KhsyIHxPBiw38ssA7XFEMsRvOT03MByoJG88Xs=";
+  };
+
+  nativeCheckInputs = [
+    mdx.bin
+  ];
+
+  checkInputs = [
+    mdx
+    ppx_inline_test
+    qcheck-core
+  ];
+
+  doCheck = true;
+
+  meta = {
+    description = "Patricia Tree data structure in OCaml";
+    homepage = "https://codex.top/api/patricia-tree/";
+    downloadPage = "https://github.com/codex-semantics-library/patricia-tree";
+    changelog = "https://github.com/codex-semantics-library/patricia-tree/releases/tag/v${version}";
+    license = lib.licenses.lgpl21Only;
+    maintainers = [ lib.maintainers.ethancedwards8 ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/ppx_bap/default.nix b/pkgs/development/ocaml-modules/ppx_bap/default.nix
index 7414253eef2e..7d2b0af24d19 100644
--- a/pkgs/development/ocaml-modules/ppx_bap/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_bap/default.nix
@@ -2,22 +2,23 @@
   lib,
   buildDunePackage,
   fetchFromGitHub,
-  ppx_assert,
-  ppx_bench,
-  ppx_bin_prot,
-  ppx_compare,
-  ppx_enumerate,
+  fetchpatch,
+  ppx_assert ? null,
+  ppx_bench ? null,
+  ppx_bin_prot ? null,
+  ppx_compare ? null,
+  ppx_enumerate ? null,
+  ppx_expect,
   ppx_hash,
   ppx_here,
   ppx_optcomp,
   ppx_sexp_conv,
-  ppx_sexp_value,
+  ppx_sexp_value ? null,
 }:
 
 buildDunePackage rec {
   pname = "ppx_bap";
   version = "0.14";
-  duneVersion = "3";
 
   minimalOCamlVersion = "4.07";
 
@@ -28,6 +29,12 @@ buildDunePackage rec {
     sha256 = "1c6rcdp8bicdiwqc2mb59cl9l2vxlp3y8hmnr9x924fq7acly248";
   };
 
+  # Support ppx_expect
+  patches = fetchpatch {
+    url = "https://github.com/BinaryAnalysisPlatform/ppx_bap/commit/7f197648978758fbcbf553da50d7a9248d34f7e4.patch";
+    hash = "sha256-oOdcA06mb0W5jDhF4nutEijy6yu/6kMjKOUcNxUSk6k=";
+  };
+
   buildInputs = [
     ppx_optcomp
     ppx_sexp_value
@@ -39,6 +46,7 @@ buildDunePackage rec {
     ppx_bin_prot
     ppx_compare
     ppx_enumerate
+    ppx_expect
     ppx_hash
     ppx_here
     ppx_sexp_conv
diff --git a/pkgs/development/ocaml-modules/prelude/default.nix b/pkgs/development/ocaml-modules/prelude/default.nix
new file mode 100644
index 000000000000..06424b840d1a
--- /dev/null
+++ b/pkgs/development/ocaml-modules/prelude/default.nix
@@ -0,0 +1,29 @@
+{
+  lib,
+  buildDunePackage,
+  fetchzip,
+}:
+
+buildDunePackage rec {
+  pname = "prelude";
+  version = "0.5";
+
+  minimalOCamlVersion = "4.13";
+
+  # upstream git repo is misconfigured and cannot be cloned
+  src = fetchzip {
+    url = "https://git.zapashcanon.fr/zapashcanon/prelude/archive/${version}.tar.gz";
+    hash = "sha256-lti+q1U/eEasAXo0O5YEu4iw7947V9bdvSHA0IEMS8M=";
+  };
+
+  doCheck = true;
+
+  meta = {
+    description = "Library to enforce good stdlib practices";
+    homepage = "https://ocaml.org/p/prelude/";
+    downloadPage = "https://git.zapashcanon.fr/zapashcanon/prelude";
+    changelog = "https://git.zapashcanon.fr/zapashcanon/prelude/src/tag/${version}/CHANGES.md";
+    license = lib.licenses.agpl3Plus;
+    maintainers = [ lib.maintainers.ethancedwards8 ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/processor/default.nix b/pkgs/development/ocaml-modules/processor/default.nix
new file mode 100644
index 000000000000..4a914449251a
--- /dev/null
+++ b/pkgs/development/ocaml-modules/processor/default.nix
@@ -0,0 +1,30 @@
+{
+  lib,
+  buildDunePackage,
+  fetchFromGitHub,
+}:
+
+buildDunePackage rec {
+  pname = "processor";
+  version = "0.1";
+
+  minimalOCamlVersion = "4.08";
+
+  src = fetchFromGitHub {
+    owner = "haesbaert";
+    repo = "ocaml-processor";
+    tag = "v${version}";
+    hash = "sha256-eGSNYjVbUIUMelajqZYOd3gvmRKQ9UP3TfMflLR9i7k=";
+  };
+
+  doCheck = true;
+
+  meta = {
+    description = "CPU topology and affinity for ocaml-multicore";
+    homepage = "https://haesbaert.github.io/ocaml-processor/processor/index.html";
+    downloadPage = "https://github.com/haesbaert/ocaml-processor";
+    changelog = "https://github.com/haesbaert/ocaml-processor/releases/tag/v${version}";
+    license = lib.licenses.isc;
+    maintainers = [ lib.maintainers.ethancedwards8 ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/scfg/default.nix b/pkgs/development/ocaml-modules/scfg/default.nix
new file mode 100644
index 000000000000..aa1d39c64fd3
--- /dev/null
+++ b/pkgs/development/ocaml-modules/scfg/default.nix
@@ -0,0 +1,57 @@
+{
+  lib,
+  buildDunePackage,
+  fetchzip,
+  bos,
+  cmdliner,
+  fmt,
+  fpath,
+  menhir,
+  menhirLib,
+  prelude,
+  sedlex,
+  writableTmpDirAsHomeHook,
+}:
+
+buildDunePackage rec {
+  pname = "scfg";
+  version = "0.5";
+
+  # upstream git repo is misconfigured and cannot be cloned
+  src = fetchzip {
+    url = "https://git.zapashcanon.fr/zapashcanon/scfg/archive/${version}.tar.gz";
+    hash = "sha256-XyNVmI0W0B1JqR+uuojpHe9L5KKLhyoH8vN8+9i7Xcg=";
+  };
+
+  nativeBuildInputs = [
+    menhir
+  ];
+
+  buildInputs = [
+    cmdliner
+  ];
+
+  propagatedBuildInputs = [
+    bos
+    fmt
+    fpath
+    menhirLib
+    prelude
+    sedlex
+  ];
+
+  checkInputs = [
+    writableTmpDirAsHomeHook
+  ];
+
+  doCheck = true;
+
+  meta = {
+    description = "Library to work with the scfg configuration file";
+    homepage = "https://ocaml.org/p/scfg/";
+    downloadPage = "https://git.zapashcanon.fr/zapashcanon/scfg";
+    changelog = "https://git.zapashcanon.fr/zapashcanon/scfg/src/tag/${version}/CHANGES.md";
+    license = lib.licenses.isc;
+    maintainers = [ lib.maintainers.ethancedwards8 ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/sedlex/default.nix b/pkgs/development/ocaml-modules/sedlex/default.nix
index bd5eb9119d32..91114de6e8ae 100644
--- a/pkgs/development/ocaml-modules/sedlex/default.nix
+++ b/pkgs/development/ocaml-modules/sedlex/default.nix
@@ -13,8 +13,8 @@ let
   param =
     if lib.versionAtLeast ppxlib.version "0.26.0" then
       {
-        version = "3.4";
-        sha256 = "sha256-mJMv2zl1UfFJjYdwv68hi7TWP+/oZB9tKHXt13r1SlA=";
+        version = "3.6";
+        sha256 = "sha256-NiNqur7sce6dxictVB+saOC1c4N/EO/3Ici/icsGkIA=";
       }
     else
       {
diff --git a/pkgs/development/ocaml-modules/z3/default.nix b/pkgs/development/ocaml-modules/z3/default.nix
index 036c528de572..ddc9e2931015 100644
--- a/pkgs/development/ocaml-modules/z3/default.nix
+++ b/pkgs/development/ocaml-modules/z3/default.nix
@@ -36,7 +36,10 @@ else
     '';
 
     nativeBuildInputs = [ findlib ];
-    propagatedBuildInputs = [ zarith ];
+    propagatedBuildInputs = [
+      z3-with-ocaml.lib
+      zarith
+    ];
 
     strictDeps = true;
 
diff --git a/pkgs/development/octave-modules/bim/default.nix b/pkgs/development/octave-modules/bim/default.nix
index 676b982f68d8..37896a9ad797 100644
--- a/pkgs/development/octave-modules/bim/default.nix
+++ b/pkgs/development/octave-modules/bim/default.nix
@@ -8,13 +8,13 @@
 
 buildOctavePackage rec {
   pname = "bim";
-  version = "1.1.6";
+  version = "1.1.7";
 
   src = fetchFromGitHub {
     owner = "carlodefalco";
     repo = "bim";
-    rev = "v${version}";
-    sha256 = "sha256-hgFb1KFE1KJC8skIaeT/7h/fg1aqRpedGnEPY24zZSI=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-HNN6wFDBFsTj4gUQetODsNDbZK4sAFpUL43Q4+kKI6k=";
   };
 
   requiredOctavePackages = [
diff --git a/pkgs/development/php-packages/castor/default.nix b/pkgs/development/php-packages/castor/default.nix
index fb79c94d3949..f240a0348246 100644
--- a/pkgs/development/php-packages/castor/default.nix
+++ b/pkgs/development/php-packages/castor/default.nix
@@ -9,16 +9,16 @@
 
 php.buildComposerProject2 (finalAttrs: {
   pname = "castor";
-  version = "0.24.0";
+  version = "0.25.0";
 
   src = fetchFromGitHub {
     owner = "jolicode";
     repo = "castor";
     tag = "v${finalAttrs.version}";
-    hash = "sha256-m+ef1I7x05IdCeLqN24MB5ldcOWDoNNoYWyLKiMgxAY=";
+    hash = "sha256-qHCW/VHHMk8+/RL2HEW+RyaZaq7MsxB9RePwmgYHpDI=";
   };
 
-  vendorHash = "sha256-gwXEQX0Go7OCm32WRJUt4QXhT4VTHGbVo3su1FcT8RE=";
+  vendorHash = "sha256-DJ8iHhkLfe1GNf7eJHeE8ORt9cyRFLr0gLGeHENiASw=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/development/php-packages/gnupg/default.nix b/pkgs/development/php-packages/gnupg/default.nix
index 75c08e10f8c0..ab3e4f28caf3 100644
--- a/pkgs/development/php-packages/gnupg/default.nix
+++ b/pkgs/development/php-packages/gnupg/default.nix
@@ -9,7 +9,7 @@
 }:
 
 let
-  version = "1.5.1";
+  version = "1.5.3";
 in
 buildPecl {
   inherit version;
@@ -20,7 +20,7 @@ buildPecl {
     repo = "php-gnupg";
     rev = "gnupg-${version}";
     fetchSubmodules = true;
-    hash = "sha256-kEc0883sYgmAf1mkH0zRjHzUASnZgQvdYE6VzT5X2RI=";
+    hash = "sha256-F9Rq+mmUhvXfIuoifqRM/ZIMYszCF93cvv13Vt/A5Mo=";
   };
 
   buildInputs = [ gpgme ];
@@ -28,19 +28,19 @@ buildPecl {
 
   postPhpize = ''
     substituteInPlace configure \
-      --replace '/usr/bin/file' '${file}/bin/file' \
-      --replace 'SEARCH_PATH="/usr/local /usr /opt"' 'SEARCH_PATH="${gpgme.dev}"'
+      --replace-fail '/usr/bin/file' '${file}/bin/file' \
+      --replace-fail 'SEARCH_PATH="/usr/local /usr /opt /opt/homebrew"' 'SEARCH_PATH="${gpgme.dev}"'
   '';
 
   postConfigure = ''
     substituteInPlace Makefile \
-      --replace 'run-tests.php' 'run-tests.php -q --offline'
+      --replace-fail 'run-tests.php' 'run-tests.php -q --offline'
     substituteInPlace tests/gnupg_res_init_file_name.phpt \
-      --replace '/usr/bin/gpg' '${gnupg}/bin/gpg' \
-      --replace 'string(12)' 'string(${toString (lib.stringLength "${gnupg}/bin/gpg")})'
+      --replace-fail '/usr/bin/gpg' '${gnupg}/bin/gpg' \
+      --replace-fail 'string(12)' 'string(${toString (lib.stringLength "${gnupg}/bin/gpg")})'
     substituteInPlace tests/gnupg_oo_init_file_name.phpt \
-      --replace '/usr/bin/gpg' '${gnupg}/bin/gpg' \
-      --replace 'string(12)' 'string(${toString (lib.stringLength "${gnupg}/bin/gpg")})'
+      --replace-fail '/usr/bin/gpg' '${gnupg}/bin/gpg' \
+      --replace-fail 'string(12)' 'string(${toString (lib.stringLength "${gnupg}/bin/gpg")})'
   '';
 
   doCheck = true;
diff --git a/pkgs/development/php-packages/mongodb/default.nix b/pkgs/development/php-packages/mongodb/default.nix
index 5d7f0f492e52..606fbea053ce 100644
--- a/pkgs/development/php-packages/mongodb/default.nix
+++ b/pkgs/development/php-packages/mongodb/default.nix
@@ -15,13 +15,13 @@
 
 buildPecl rec {
   pname = "mongodb";
-  version = "2.1.0";
+  version = "2.1.1";
 
   src = fetchFromGitHub {
     owner = "mongodb";
     repo = "mongo-php-driver";
     rev = version;
-    hash = "sha256-YCQdScBCgmyallocGB8JGgkNkKTfy53/KPStq97S6wU=";
+    hash = "sha256-qvylwn4wHBWUcyqGWKUt7MMmTsttDQGmN5ySj1pHnkU=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/php-packages/phan/default.nix b/pkgs/development/php-packages/phan/default.nix
index 731a459578c1..fac0b0cb1ab9 100644
--- a/pkgs/development/php-packages/phan/default.nix
+++ b/pkgs/development/php-packages/phan/default.nix
@@ -7,16 +7,16 @@
 (php.withExtensions ({ enabled, all }: enabled ++ (with all; [ ast ]))).buildComposerProject
   (finalAttrs: {
     pname = "phan";
-    version = "5.4.5";
+    version = "5.4.6";
 
     src = fetchFromGitHub {
       owner = "phan";
       repo = "phan";
       rev = finalAttrs.version;
-      hash = "sha256-CSV+kapCzGOCBaYnX0lJVlDdZGNBCKZ/nogOac1xj1A=";
+      hash = "sha256-627Vc8jFrC2wifvGoZ18w72mp43myk4/adyJR28sFEw=";
     };
 
-    vendorHash = "sha256-qRcB0KmUJWRQaMlnK1JdUsZrikThD6nQnrqQZm9yROk=";
+    vendorHash = "sha256-Ake5/7IyoweC2ONDuWt9jJSbG0JbnU9lmCRu2p6uUQM=";
 
     meta = {
       description = "Static analyzer for PHP";
diff --git a/pkgs/development/php-packages/php-codesniffer/default.nix b/pkgs/development/php-packages/php-codesniffer/default.nix
index 714cd7904556..c4a007031441 100644
--- a/pkgs/development/php-packages/php-codesniffer/default.nix
+++ b/pkgs/development/php-packages/php-codesniffer/default.nix
@@ -6,16 +6,16 @@
 
 php.buildComposerProject2 (finalAttrs: {
   pname = "php-codesniffer";
-  version = "3.13.0";
+  version = "3.13.1";
 
   src = fetchFromGitHub {
     owner = "PHPCSStandards";
     repo = "PHP_CodeSniffer";
     tag = finalAttrs.version;
-    hash = "sha256-ReWLRVKkVY2fiPgZ3MQnHXDUGQYV1zci5B3Musxq5Q0=";
+    hash = "sha256-4znDEHFdDvshpa6BTyr+YV+IcSB486jTtnAk1fzPFt8=";
   };
 
-  vendorHash = "sha256-+e80bUeTQ6bSvI/rFlCC7vwuM8pMTSnylEnPhH1LD14=";
+  vendorHash = "sha256-j4SFRDf+JO3vnB7yo3wP9U00zjSPURr0fMuSvn4leAk=";
 
   meta = {
     changelog = "https://github.com/PHPCSStandards/PHP_CodeSniffer/releases/tag/${finalAttrs.version}";
diff --git a/pkgs/development/php-packages/relay/default.nix b/pkgs/development/php-packages/relay/default.nix
index c4d7d4e2cea9..58dea5bab480 100644
--- a/pkgs/development/php-packages/relay/default.nix
+++ b/pkgs/development/php-packages/relay/default.nix
@@ -15,36 +15,36 @@
 }:
 
 let
-  version = "0.10.1";
+  version = "0.11.0";
   hashes = {
     "aarch64-darwin" = {
       platform = "darwin-arm64";
       hash = {
-        "8.1" = "sha256-0p24kOzj4l0wBPzmjAzTv1a0EUa4In1pjWHhNhrmsyM=";
-        "8.2" = "sha256-mgRjWEmtCFg7711RgC2lpSDs5cCcs+ZPqks/uj1mAJo=";
-        "8.3" = "16nESEzMRDIiVfwjXsGhJsK9UG5UKgfSunHPeyNnyz0=";
-        "8.4" = "sha256-g8H4vRb1XTnFQo2Db1qvzsENqPYg89/0HSxsW2tDLQQ=";
-        "8.5" = "6NAzMBqBV0BUI4/KlIbnyz0kcD/hucO4tzbuwPSptig=";
+        "8.1" = "sha256-/yaUulwiT+y7WZHPTdOWUgMsOnSwGrzMeVuT5W0XFsY=";
+        "8.2" = "sha256-AFisp5/LsCoVjHQ8VA9d4vUDPutYi26PzsPVton0Gjw=";
+        "8.3" = "dAJKUU5NED6QHFNrgRTLshkdT6ZtlRlcZh10rGQTON0=";
+        "8.4" = "sha256-cx2IcRRfD6PyQzZJaWgS4d5Mf70w0uJAwl9hTkr6cDo=";
+        "8.5" = "8ZfP++7jKcHdm89P+LOQj+ZsXbp2E3b3yuTQx6bOkmE=";
       };
     };
     "aarch64-linux" = {
       platform = "debian-aarch64+libssl3";
       hash = {
-        "8.1" = "sha256-E6GDFgRgm5I1acqLYFs9kw3TAuHq5aq7TatLnPHJseA=";
-        "8.2" = "sha256-59Un0hAidN/Diu9utUnOgMIdt5ZtOcBFtWrLdHkdME4=";
-        "8.3" = "sha256-ssqZ85KrQG69fZ39RKceEJPXyGfxxLPI21tnPXtPZDE=";
-        "8.4" = "JhFUplu9zMgXX2k2RArWWf0pFweAV+1+/T3yUwblJ2A=";
-        "8.5" = "Ii2bsG4AMMwAKopyOz/qX1RxMaGcstO8kYgup8Vb50w=";
+        "8.1" = "sha256-VYIWr0PyEzP3HHpnLI1X8NC48Oz9VWi1D70y7xT0WMw=";
+        "8.2" = "sha256-wF4BiiSRro0R6OUpintAas6WSFuyWiUSVc4yHjBkFRo=";
+        "8.3" = "sha256-LvIaYShHy4S7McpRX4EoWXpfNSkg2TV587IGbLaeMfg=";
+        "8.4" = "56Yzuu4JWwnKPabxU0stuLjz3N4AHeRuHeLc8OsdfxU=";
+        "8.5" = "lcSpj+VgT0soIzN0NX3S9JDO/gHSugKfRL5C3oLvg2w=";
       };
     };
     "x86_64-linux" = {
       platform = "debian-x86-64+libssl3";
       hash = {
-        "8.1" = "sha256-MmRAfRDcG1qV8FrZmhME3UtmXe7Mapk2vSrtE/fQRcE=";
-        "8.2" = "sha256-2ZRxJJhQaIkWQJX7bdti6+UFk7zY9yCJ9KWTtE3uGAE=";
-        "8.3" = "sha256-QlUk6q5LQuhWbuqWgb8/JdRfO8V+M6GcTu7rjRqJeiI=";
-        "8.4" = "V+tl7jTrq8PWEAXXu9IsqIlFiQcZBtMBDTlltWSO9CI=";
-        "8.5" = "w4Ba1Oh4JDsuZc5nrYH8lITP6Gk4/0i1wwOHmr4BO44=";
+        "8.1" = "sha256-0gdkrhG/YSl6tjhrQnpIxC6YQj+NJqte6UNDdPv5YvE=";
+        "8.2" = "sha256-8vQ3Le3ssgb0jTxY2vUmriAHSFJXFlZxcYHcTHFkXDc=";
+        "8.3" = "sha256-VqtIugl5LZgc/VB7lmXewV3SxagD9l2C966W24sz3Qo=";
+        "8.4" = "3LjLX+zSjsCmnSWq2xD6wfnHf1dCY/Dl5CXJ3A8DY6Y=";
+        "8.5" = "TaJQcmxs7baH1pMnSvAoZqPaTiSujFQu1VBTB6h3fA0=";
       };
     };
   };
diff --git a/pkgs/development/php-packages/systemd/default.nix b/pkgs/development/php-packages/systemd/default.nix
new file mode 100644
index 000000000000..3aed6066798e
--- /dev/null
+++ b/pkgs/development/php-packages/systemd/default.nix
@@ -0,0 +1,54 @@
+{
+  buildPecl,
+  fetchFromGitHub,
+  fetchpatch,
+  lib,
+  php,
+  runCommand,
+  systemd,
+}:
+
+buildPecl {
+  pname = "systemd";
+  version = "0.1.2-unstable-2018-06-11";
+
+  src = fetchFromGitHub {
+    owner = "systemd";
+    repo = "php-systemd";
+    rev = "22cf92a6b54ef4c5c13c301fc97d7a7b1615ee62";
+    hash = "sha256-UhpE9QXChqKLBqutpQ2Y6neo/ULlJGNojf9DCYJfQMU=";
+  };
+
+  patches = [
+    # Add missing arginfo to suppress the warning
+    # https://github.com/systemd/php-systemd/issues/9
+    (fetchpatch {
+      url = "https://github.com/systemd/php-systemd/commit/0f25ec9aab7747e85445a48213020ea6adda3658.diff";
+      hash = "sha256-SNRYDRxaeP9LlHxfZOak0OSqZ3AJA+I9Ln0k+yO0DvE=";
+    })
+    # Define SD_JOURNAL_SUPPRESS_LOCATION so that the php source code location is used, instead of the C one
+    # https://github.com/systemd/php-systemd/issues/2
+    (fetchpatch {
+      url = "https://github.com/systemd/php-systemd/commit/23575461b8cc55fa9c4132a58393b6438c2aff5c.diff";
+      hash = "sha256-KBGWdNE7spXpqbeS4c2D5IU3Dz8zGxx4r22FDOA0KzM=";
+    })
+  ];
+
+  buildInputs = [ systemd.dev ];
+
+  configureFlags = [ "--with-systemd=${systemd.dev}" ];
+
+  # php will exit with a non-zero exit code, if the extension is not loaded
+  passthru.tests.smokeTest = runCommand "php-systemd-smoke-test" { } ''
+    echo "" |
+      ${lib.getExe (php.withExtensions ({ all, ... }: [ all.systemd ]))}
+    echo ok > $out
+  '';
+
+  meta = {
+    description = "PHP extension allowing native interaction with systemd and its journal";
+    homepage = "https://github.com/systemd/php-systemd";
+    license = lib.licenses.mit;
+    teams = [ lib.teams.php ];
+  };
+}
diff --git a/pkgs/development/php-packages/xdebug/default.nix b/pkgs/development/php-packages/xdebug/default.nix
index 00a3edc6c178..ccc7da3193c9 100644
--- a/pkgs/development/php-packages/xdebug/default.nix
+++ b/pkgs/development/php-packages/xdebug/default.nix
@@ -5,7 +5,7 @@
 }:
 
 let
-  version = "3.4.3";
+  version = "3.4.4";
 in
 buildPecl {
   inherit version;
@@ -16,7 +16,7 @@ buildPecl {
     owner = "xdebug";
     repo = "xdebug";
     rev = version;
-    hash = "sha256-B0sGUwCSKh/AZ9I4rwE22EitgkQWwWh4H+p8N02YAeY=";
+    hash = "sha256-IYyDolRfzIpIfaJPWLOKdZhGlG4TMR5v7p56fw76JOc=";
   };
 
   doCheck = true;
diff --git a/pkgs/development/python-modules/aardwolf/default.nix b/pkgs/development/python-modules/aardwolf/default.nix
index 1b6ec2c19ec0..6a931ef1095f 100644
--- a/pkgs/development/python-modules/aardwolf/default.nix
+++ b/pkgs/development/python-modules/aardwolf/default.nix
@@ -13,7 +13,6 @@
   iconv,
   pillow,
   pyperclip,
-  pythonOlder,
   rustPlatform,
   rustc,
   setuptools,
@@ -24,22 +23,20 @@
 
 buildPythonPackage rec {
   pname = "aardwolf";
-  version = "0.2.11";
+  version = "0.2.12";
   pyproject = true;
 
-  disabled = pythonOlder "3.7";
-
   src = fetchFromGitHub {
     owner = "skelsec";
     repo = "aardwolf";
-    rev = "0586591e948977ca5945252c893ba8f766ff8d28";
-    hash = "sha256-daDxkQ7N0+yS2JOLfXJq4jv+5VQNnwtqIMy2p8j+Sag=";
+    tag = version;
+    hash = "sha256-CMO3qhxYmwB9kWIiHWV/0gAfs/yCnHzpfNYLTy4wX78=";
   };
 
   cargoDeps = rustPlatform.fetchCargoVendor {
     inherit pname version src;
     sourceRoot = "${src.name}/aardwolf/utils/rlers";
-    hash = "sha256-doBraJQtekrO/ZZV9KFz7BdIgBVVWtQztUS2Gz8dDdA=";
+    hash = "sha256-+2hENnrG35eRgQwtCCJUux9mYEkzD2astLgOqWHrH/M=";
   };
 
   cargoRoot = "aardwolf/utils/rlers";
@@ -78,7 +75,7 @@ buildPythonPackage rec {
     mainProgram = "ardpscan";
     homepage = "https://github.com/skelsec/aardwolf";
     changelog = "https://github.com/skelsec/aardwolf/releases/tag/${version}";
-    license = with licenses; [ mit ];
+    license = licenses.mit;
     maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/pkgs/development/python-modules/acres/default.nix b/pkgs/development/python-modules/acres/default.nix
index d047470873ef..b897e24d946b 100644
--- a/pkgs/development/python-modules/acres/default.nix
+++ b/pkgs/development/python-modules/acres/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "acres";
-  version = "0.3.0";
+  version = "0.5.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "nipreps";
     repo = "acres";
     tag = version;
-    hash = "sha256-/OuQgi/17Pz9q2GX7MZftUJzod7M9Le4CPOROudFDfk=";
+    hash = "sha256-D2w/xGlt0ApQ1Il9pzHPcL1s3CmCCOdgRpvUw/LI3gA=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/ahocorasick-rs/default.nix b/pkgs/development/python-modules/ahocorasick-rs/default.nix
index 239ea2f453b9..047ef8e91d00 100644
--- a/pkgs/development/python-modules/ahocorasick-rs/default.nix
+++ b/pkgs/development/python-modules/ahocorasick-rs/default.nix
@@ -42,6 +42,8 @@ buildPythonPackage rec {
     hypothesis
   ];
 
+  pytestFlagsArray = [ "--benchmark-disable" ];
+
   pythonImportsCheck = [ "ahocorasick_rs" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/aioamazondevices/default.nix b/pkgs/development/python-modules/aioamazondevices/default.nix
index 563dbb624bae..f9c3347fffb2 100644
--- a/pkgs/development/python-modules/aioamazondevices/default.nix
+++ b/pkgs/development/python-modules/aioamazondevices/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "aioamazondevices";
-  version = "3.0.5";
+  version = "3.1.12";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "chemelli74";
     repo = "aioamazondevices";
     tag = "v${version}";
-    hash = "sha256-CgIkrq5Eni7Iva/bzlcbj1/mqtKPA4mknHC/fQzL7RU=";
+    hash = "sha256-nilYImyK057/yO/pnnhM9S+vRcslLLKTsYIzGNFM2UQ=";
   };
 
   build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/aiobtclientapi/default.nix b/pkgs/development/python-modules/aiobtclientapi/default.nix
new file mode 100644
index 000000000000..49242150d55d
--- /dev/null
+++ b/pkgs/development/python-modules/aiobtclientapi/default.nix
@@ -0,0 +1,62 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitea,
+  aiobtclientrpc,
+  async-timeout,
+  httpx,
+  torf,
+  pytest-asyncio,
+  pytest-mock,
+  pytestCheckHook,
+  setuptools,
+}:
+
+buildPythonPackage rec {
+  pname = "aiobtclientapi";
+  version = "1.1.3";
+  pyproject = true;
+
+  src = fetchFromGitea {
+    domain = "codeberg.org";
+    owner = "plotski";
+    repo = "aiobtclientapi";
+    tag = "v${version}";
+    hash = "sha256-ZpUaMsJs1vdVGQOid7aJ+SJKaCbTtHfSw7cOwPTL0ss=";
+  };
+
+  pythonRelaxDeps = [
+    "async-timeout"
+  ];
+
+  build-system = [
+    setuptools
+  ];
+
+  dependencies = [
+    aiobtclientrpc
+    async-timeout
+    httpx
+    torf
+  ];
+
+  nativeCheckInputs = [
+    pytest-asyncio
+    pytest-mock
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "aiobtclientapi" ];
+
+  disabledTestPaths = [
+    # AttributeError
+    "tests/clients_test/rtorrent_test/rtorrent_api_test.py"
+  ];
+
+  meta = {
+    description = "Asynchronous high-level communication with BitTorrent clients";
+    homepage = "https://aiobtclientapi.readthedocs.io";
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ ambroisie ];
+  };
+}
diff --git a/pkgs/development/python-modules/aiobtclientrpc/default.nix b/pkgs/development/python-modules/aiobtclientrpc/default.nix
new file mode 100644
index 000000000000..cdc4e76c5315
--- /dev/null
+++ b/pkgs/development/python-modules/aiobtclientrpc/default.nix
@@ -0,0 +1,75 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitea,
+  async-timeout,
+  httpx,
+  httpx-socks,
+  proxy-py,
+  pytest-asyncio,
+  pytest-mock,
+  pytestCheckHook,
+  python-socks,
+  rencode,
+  setuptools,
+}:
+
+buildPythonPackage rec {
+  pname = "aiobtclientrpc";
+  version = "5.0.1";
+  pyproject = true;
+
+  src = fetchFromGitea {
+    domain = "codeberg.org";
+    owner = "plotski";
+    repo = "aiobtclientrpc";
+    tag = "v${version}";
+    hash = "sha256-2nBrIMlYUI4PwirkiSJSkw5zw2Kc/KoVRyIIYYx4iYs=";
+  };
+
+  pythonRelaxDeps = [
+    "async-timeout"
+  ];
+
+  build-system = [
+    setuptools
+  ];
+
+  dependencies = [
+    async-timeout
+    httpx
+    httpx-socks
+    python-socks
+    rencode
+  ] ++ python-socks.optional-dependencies.asyncio;
+
+  nativeCheckInputs = [
+    proxy-py
+    pytest-asyncio
+    pytest-mock
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # Missing lambda parameter
+    "test_add_event_handler_with_autoremove"
+    # Try to use `htpasswd` and `nginx` with hard-coded paths
+    "test_authentication_error[rtorrent_http]"
+    "test_api_as_context_manager[rtorrent_http]"
+    "test_add_and_remove_torrents[rtorrent_http-paused]"
+    "test_add_and_remove_torrents[rtorrent_http-started]"
+    "test_proxy[rtorrent_http-http_proxy]"
+    "test_timeout[rtorrent_http]"
+    "test_event_subscriptions_survive_reconnecting[rtorrent_http]"
+    "test_waiting_for_event[rtorrent_http]"
+  ];
+
+  pythonImportsCheck = [ "aiobtclientrpc" ];
+
+  meta = {
+    description = "Asynchronous low-level communication with BitTorrent clients";
+    homepage = "https://aiobtclientrpc.readthedocs.io";
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ ambroisie ];
+  };
+}
diff --git a/pkgs/development/python-modules/aioesphomeapi/default.nix b/pkgs/development/python-modules/aioesphomeapi/default.nix
index 3002e405e6d0..b3c309d11b75 100644
--- a/pkgs/development/python-modules/aioesphomeapi/default.nix
+++ b/pkgs/development/python-modules/aioesphomeapi/default.nix
@@ -26,7 +26,7 @@
 
 buildPythonPackage rec {
   pname = "aioesphomeapi";
-  version = "30.2.0";
+  version = "32.2.1";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -35,7 +35,7 @@ buildPythonPackage rec {
     owner = "esphome";
     repo = "aioesphomeapi";
     tag = "v${version}";
-    hash = "sha256-2mH1+/58DSWYWl/mTBsCp6r77OUNWV5rR+4mnbKV9PE=";
+    hash = "sha256-1ZepZJdJosPPdFhx8PwArIaoz415GfA1vfc3JJ77LNo=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/aiohomeconnect/default.nix b/pkgs/development/python-modules/aiohomeconnect/default.nix
index 311cc5ac9be9..1f228b0b8565 100644
--- a/pkgs/development/python-modules/aiohomeconnect/default.nix
+++ b/pkgs/development/python-modules/aiohomeconnect/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "aiohomeconnect";
-  version = "0.17.1";
+  version = "0.18.0";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "MartinHjelmare";
     repo = "aiohomeconnect";
     tag = "v${version}";
-    hash = "sha256-UY1OFrydA42B/Tu4jwDwTe0kpnAhXfi75GUc4FlI9pE=";
+    hash = "sha256-TEPE9AzChfZSN3kA3fSJy6eh8J+1AUTnO59vywOXlAk=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/aiohttp-fast-zlib/default.nix b/pkgs/development/python-modules/aiohttp-fast-zlib/default.nix
index 691166682984..c09037e69f58 100644
--- a/pkgs/development/python-modules/aiohttp-fast-zlib/default.nix
+++ b/pkgs/development/python-modules/aiohttp-fast-zlib/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "aiohttp-fast-zlib";
-  version = "0.2.3";
+  version = "0.3.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "bdraco";
     repo = "aiohttp-fast-zlib";
     tag = "v${version}";
-    hash = "sha256-PQ44XFdaolxGQTwzssv1inOUAGAyYghS3SVLq4w5SoA=";
+    hash = "sha256-N38eMxxovpBM3n0cb7glKyBQ9GD79uyFxq5L4pKv248=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/aiohttp/default.nix b/pkgs/development/python-modules/aiohttp/default.nix
index accf8af4f1f8..1bde94676217 100644
--- a/pkgs/development/python-modules/aiohttp/default.nix
+++ b/pkgs/development/python-modules/aiohttp/default.nix
@@ -8,7 +8,8 @@
   isPyPy,
 
   # build-system
-  cython,
+  cython_3_1,
+  pkgconfig,
   setuptools,
 
   # native dependencies
@@ -30,8 +31,11 @@
   brotlicffi,
 
   # tests
+  blockbuster,
   freezegun,
   gunicorn,
+  isa-l,
+  isal,
   proxy-py,
   pytest-codspeed,
   pytest-cov-stub,
@@ -41,35 +45,38 @@
   python-on-whales,
   re-assert,
   trustme,
+  zlib-ng,
 }:
 
 buildPythonPackage rec {
   pname = "aiohttp";
-  version = "3.11.18";
+  version = "3.12.10";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "aio-libs";
     repo = "aiohttp";
     tag = "v${version}";
-    hash = "sha256-+vnrYdUz1Stti9XE99InAouKN5kfTSaOuEG9Anxb3gs=";
+    hash = "sha256-ciZGOOfVXYoLzYNIkota3MXMRMxlztf+mFFo0y9r+Lk=";
   };
 
-  patches = [
-    (replaceVars ./unvendor-llhttp.patch {
-      llhttpDev = lib.getDev llhttp;
-      llhttpLib = lib.getLib llhttp;
-    })
+  patches = lib.optionals (!lib.meta.availableOn stdenv.hostPlatform isa-l) [
+    ./remove-isal.patch
   ];
 
   postPatch = ''
     rm -r vendor
     patchShebangs tools
     touch .git  # tools/gen.py uses .git to find the project root
+
+    # don't install Cython using pip
+    substituteInPlace Makefile \
+      --replace-fail "cythonize: .install-cython" "cythonize:"
   '';
 
   build-system = [
-    cython
+    cython_3_1
+    pkgconfig
     setuptools
   ];
 
@@ -77,6 +84,12 @@ buildPythonPackage rec {
     make cythonize
   '';
 
+  buildInputs = [
+    llhttp
+  ];
+
+  env.AIOHTTP_USE_SYSTEM_DEPS = true;
+
   dependencies = [
     aiohappyeyeballs
     aiosignal
@@ -94,8 +107,11 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
+    blockbuster
     freezegun
     gunicorn
+    # broken on aarch64-darwin
+    (if lib.meta.availableOn stdenv.hostPlatform isa-l then isal else null)
     proxy-py
     pytest-codspeed
     pytest-cov-stub
@@ -105,6 +121,7 @@ buildPythonPackage rec {
     python-on-whales
     re-assert
     trustme
+    zlib-ng
   ];
 
   disabledTests =
@@ -117,6 +134,8 @@ buildPythonPackage rec {
       "test_import_time"
       # racy
       "test_uvloop_secure_https_proxy"
+      # Cannot connect to host example.com:443 ssl:default [Could not contact DNS servers]
+      "test_tcp_connector_ssl_shutdown_timeout_passed_to_create_connection"
     ]
     # these tests fail with python310 but succeeds with 11+
     ++ lib.optionals isPy310 [
@@ -145,7 +164,7 @@ buildPythonPackage rec {
     '';
 
   meta = with lib; {
-    changelog = "https://github.com/aio-libs/aiohttp/blob/v${version}/CHANGES.rst";
+    changelog = "https://docs.aiohttp.org/en/${src.tag}/changes.html";
     description = "Asynchronous HTTP Client/Server for Python and asyncio";
     license = licenses.asl20;
     homepage = "https://github.com/aio-libs/aiohttp";
diff --git a/pkgs/development/python-modules/aiohttp/remove-isal.patch b/pkgs/development/python-modules/aiohttp/remove-isal.patch
new file mode 100644
index 000000000000..4a91fca368ae
--- /dev/null
+++ b/pkgs/development/python-modules/aiohttp/remove-isal.patch
@@ -0,0 +1,21 @@
+diff --git a/tests/conftest.py b/tests/conftest.py
+index 62fb04f2e..bb5b279dd 100644
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -12,7 +12,6 @@ from typing import Any, AsyncIterator, Callable, Generator, Iterator
+ from unittest import mock
+ from uuid import uuid4
+ 
+-import isal.isal_zlib
+ import pytest
+ import zlib_ng.zlib_ng
+ from blockbuster import blockbuster_ctx
+@@ -333,7 +332,7 @@ def unused_port_socket() -> Generator[socket.socket, None, None]:
+         s.close()
+ 
+ 
+-@pytest.fixture(params=[zlib, zlib_ng.zlib_ng, isal.isal_zlib])
++@pytest.fixture(params=[zlib, zlib_ng.zlib_ng])
+ def parametrize_zlib_backend(
+     request: pytest.FixtureRequest,
+ ) -> Generator[None, None, None]:
diff --git a/pkgs/development/python-modules/aiohttp/unvendor-llhttp.patch b/pkgs/development/python-modules/aiohttp/unvendor-llhttp.patch
deleted file mode 100644
index 5fad9427371d..000000000000
--- a/pkgs/development/python-modules/aiohttp/unvendor-llhttp.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-diff --git a/Makefile b/Makefile
-index b0a3ef32..f36132c6 100644
---- a/Makefile
-+++ b/Makefile
-@@ -79,7 +79,7 @@ vendor/llhttp/node_modules: vendor/llhttp/package.json
- generate-llhttp: .llhttp-gen
- 
- .PHONY: cythonize
--cythonize: .install-cython $(PYXS:.pyx=.c) aiohttp/_websocket/reader_c.c
-+cythonize: $(PYXS:.pyx=.c) aiohttp/_websocket/reader_c.c
- 
- .install-deps: .install-cython $(PYXS:.pyx=.c) aiohttp/_websocket/reader_c.c $(call to-hash,$(CYS) $(REQS))
- 	@python -m pip install -r requirements/dev.in -c requirements/dev.txt
-diff --git a/aiohttp/_cparser.pxd b/aiohttp/_cparser.pxd
-index c2cd5a92..9184ac60 100644
---- a/aiohttp/_cparser.pxd
-+++ b/aiohttp/_cparser.pxd
-@@ -1,7 +1,7 @@
- from libc.stdint cimport int32_t, uint8_t, uint16_t, uint64_t
- 
- 
--cdef extern from "../vendor/llhttp/build/llhttp.h":
-+cdef extern from "@llhttpDev@/include/llhttp.h":
- 
-     struct llhttp__internal_s:
-         int32_t _index
-diff --git a/setup.py b/setup.py
-index 2f024e87..feebc638 100644
---- a/setup.py
-+++ b/setup.py
-@@ -17,13 +17,6 @@ if sys.implementation.name != "cpython":
-     NO_EXTENSIONS = True
- 
- 
--if IS_GIT_REPO and not (HERE / "vendor/llhttp/README.md").exists():
--    print("Install submodules when building from git clone", file=sys.stderr)
--    print("Hint:", file=sys.stderr)
--    print("  git submodule update --init", file=sys.stderr)
--    sys.exit(2)
--
--
- # NOTE: makefile cythonizes all Cython modules
- 
- extensions = [
-@@ -33,12 +26,11 @@ extensions = [
-         [
-             "aiohttp/_http_parser.c",
-             "aiohttp/_find_header.c",
--            "vendor/llhttp/build/c/llhttp.c",
--            "vendor/llhttp/src/native/api.c",
--            "vendor/llhttp/src/native/http.c",
-         ],
-         define_macros=[("LLHTTP_STRICT_MODE", 0)],
--        include_dirs=["vendor/llhttp/build"],
-+        include_dirs=["@llhttpDev@/include"],
-+        library_dirs=["@llhttpLib@/lib"],
-+        libraries=["llhttp"],
-     ),
-     Extension("aiohttp._http_writer", ["aiohttp/_http_writer.c"]),
-     Extension("aiohttp._websocket.reader_c", ["aiohttp/_websocket/reader_c.c"]),
diff --git a/pkgs/development/python-modules/aioimmich/default.nix b/pkgs/development/python-modules/aioimmich/default.nix
index fcb666d1357c..e57b44334620 100644
--- a/pkgs/development/python-modules/aioimmich/default.nix
+++ b/pkgs/development/python-modules/aioimmich/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "aioimmich";
-  version = "0.9.0";
+  version = "0.9.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "mib1185";
     repo = "aioimmich";
     tag = "v${version}";
-    hash = "sha256-s2W/Z/psCLvd7zMsaaYi3ZIcEuuRSpyRSvUUfIPe8a4=";
+    hash = "sha256-bEbWvDNcKH/9Mtr3fZMk7+Qa41suSUpVAGAsnCmzGaY=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/aiokem/default.nix b/pkgs/development/python-modules/aiokem/default.nix
index 04b1cf6fd5bb..37fac7acbe2c 100644
--- a/pkgs/development/python-modules/aiokem/default.nix
+++ b/pkgs/development/python-modules/aiokem/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "aiokem";
-  version = "1.0.1";
+  version = "1.1.4";
   pyproject = true;
 
   disabled = pythonOlder "3.12";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "kohlerlibs";
     repo = "aiokem";
     tag = "v${version}";
-    hash = "sha256-1mhsHoHttMMdMkHJ4awDHQhoMHWLHnNkeC6scEd25Z4=";
+    hash = "sha256-4LbpTov81LMr4V8jMgttlUCyHWJoR6tExOvt8X4Telc=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/aiomealie/default.nix b/pkgs/development/python-modules/aiomealie/default.nix
index 7ed0e7fb239e..e9c9abfab5ea 100644
--- a/pkgs/development/python-modules/aiomealie/default.nix
+++ b/pkgs/development/python-modules/aiomealie/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "aiomealie";
-  version = "0.9.5";
+  version = "0.9.6";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "joostlek";
     repo = "python-mealie";
     tag = "v${version}";
-    hash = "sha256-hcHXX95d9T/jJMqHkikWN8ZdM5MRxJxhH575U3KDXxY=";
+    hash = "sha256-jjqukg8x5CDatEcmEAEdWtRrIa/6+iaiFYGRYUg40Dg=";
   };
 
   build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/aiorussound/default.nix b/pkgs/development/python-modules/aiorussound/default.nix
index f96583e4936f..1c17cb7ea941 100644
--- a/pkgs/development/python-modules/aiorussound/default.nix
+++ b/pkgs/development/python-modules/aiorussound/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "aiorussound";
-  version = "4.5.2";
+  version = "4.6.0";
   pyproject = true;
 
   # requires newer f-strings introduced in 3.12
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "noahhusby";
     repo = "aiorussound";
     tag = version;
-    hash = "sha256-4/FuYROiyFP+13ZWkAATpRSAvkiDNMLw6MnP/lagI9I=";
+    hash = "sha256-sL2ayY8w+2jTt6Tx0sdl9AK7csw9he5Pk1QIowN7Wnw=";
   };
 
   build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/aiowebdav2/default.nix b/pkgs/development/python-modules/aiowebdav2/default.nix
index dc3efd6b9b95..4c600fe7a306 100644
--- a/pkgs/development/python-modules/aiowebdav2/default.nix
+++ b/pkgs/development/python-modules/aiowebdav2/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "aiowebdav2";
-  version = "0.4.5";
+  version = "0.4.6";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "jpbede";
     repo = "aiowebdav2";
     tag = "v${version}";
-    hash = "sha256-/oQuXFPWgJIfyw7qyvrD95U6E9/GORLR/K4F/46CIY0=";
+    hash = "sha256-9/idSk6vao8vfTlPJ6Cwk7UeqwTAr7ebFLw4ka6mA6c=";
   };
 
   build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/altcha/default.nix b/pkgs/development/python-modules/altcha/default.nix
index 5928aa0bce7a..d087445691a7 100644
--- a/pkgs/development/python-modules/altcha/default.nix
+++ b/pkgs/development/python-modules/altcha/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "altcha";
-  version = "0.1.9";
+  version = "0.2.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "altcha-org";
     repo = "altcha-lib-py";
     tag = "v${version}";
-    hash = "sha256-54v8c/yp5zhJU151UaTxeJ1FDmbPs2TcfxomrMhFVZc=";
+    hash = "sha256-QZSj24dyfdgAeHSCWcmWKr35VWjGM3kQyh9o77bHOgY=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/apache-beam/default.nix b/pkgs/development/python-modules/apache-beam/default.nix
index fc18c23e33ad..007814559cf5 100644
--- a/pkgs/development/python-modules/apache-beam/default.nix
+++ b/pkgs/development/python-modules/apache-beam/default.nix
@@ -83,6 +83,8 @@ buildPythonPackage rec {
     # See https://github.com/NixOS/nixpkgs/issues/156957
     "dill"
 
+    "numpy"
+
     "protobuf"
 
     # As of apache-beam v2.45.0, the requirement is pyarrow<10.0.0,>=0.15.1, but
@@ -338,7 +340,14 @@ buildPythonPackage rec {
     ];
 
   disabledTests =
-    lib.optionals stdenv.hostPlatform.isDarwin [
+    [
+      # IndexError: list index out of range
+      "test_only_sample_exceptions"
+
+      # AssertionError: False is not true
+      "test_samples_all_with_both_experiments"
+    ]
+    ++ lib.optionals stdenv.hostPlatform.isDarwin [
       #  PermissionError: [Errno 13] Permission denied: '/tmp/...'
       "test_cache_manager_uses_local_ib_cache_root"
       "test_describe_all_recordings"
diff --git a/pkgs/development/python-modules/approvaltests/default.nix b/pkgs/development/python-modules/approvaltests/default.nix
index da7715b3e347..e75403f2e801 100644
--- a/pkgs/development/python-modules/approvaltests/default.nix
+++ b/pkgs/development/python-modules/approvaltests/default.nix
@@ -20,14 +20,14 @@
 
 buildPythonPackage rec {
   pname = "approvaltests";
-  version = "14.5.0";
+  version = "14.6.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "approvals";
     repo = "ApprovalTests.Python";
     tag = "v${version}";
-    hash = "sha256-VWYl+8hS9XnvtqmokNntdKGHWSJVlGPomvAEwaBcjY8=";
+    hash = "sha256-hoBT83p2PHZR5NtVChdWK5SMjLt8llj59K5ODaKtRhQ=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/apsw/default.nix b/pkgs/development/python-modules/apsw/default.nix
index 1846517a448f..54e37bf56a3b 100644
--- a/pkgs/development/python-modules/apsw/default.nix
+++ b/pkgs/development/python-modules/apsw/default.nix
@@ -1,24 +1,20 @@
 {
   lib,
   buildPythonPackage,
-  fetchFromGitHub,
-  pythonOlder,
+  fetchurl,
   setuptools,
   sqlite,
 }:
 
 buildPythonPackage rec {
   pname = "apsw";
-  version = "3.46.1.0";
+  version = "3.48.0.0";
   pyproject = true;
 
-  disabled = pythonOlder "3.8";
-
-  src = fetchFromGitHub {
-    owner = "rogerbinns";
-    repo = "apsw";
-    tag = version;
-    hash = "sha256-/MMCwdd2juFbv/lrYwuO2mdWm0+v+YFn6h9CwdQMTpg=";
+  # https://github.com/rogerbinns/apsw/issues/548
+  src = fetchurl {
+    url = "https://github.com/rogerbinns/apsw/releases/download/${version}/apsw-${version}.tar.gz";
+    hash = "sha256-iwvUW6vOQu2EiUuYWVaz5D3ePSLrj81fmLxoGRaTzRk=";
   };
 
   build-system = [ setuptools ];
@@ -35,11 +31,11 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "apsw" ];
 
-  meta = with lib; {
-    changelog = "https://github.com/rogerbinns/apsw/blob/${src.rev}/doc/changes.rst";
+  meta = {
+    changelog = "https://github.com/rogerbinns/apsw/blob/${version}/doc/changes.rst";
     description = "Python wrapper for the SQLite embedded relational database engine";
     homepage = "https://github.com/rogerbinns/apsw";
-    license = licenses.zlib;
-    maintainers = with maintainers; [ gador ];
+    license = lib.licenses.zlib;
+    maintainers = with lib.maintainers; [ gador ];
   };
 }
diff --git a/pkgs/development/python-modules/apsystems-ez1/default.nix b/pkgs/development/python-modules/apsystems-ez1/default.nix
index 255f33b8b188..bccd630bb3bb 100644
--- a/pkgs/development/python-modules/apsystems-ez1/default.nix
+++ b/pkgs/development/python-modules/apsystems-ez1/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "apsystems-ez1";
-  version = "2.6.0";
+  version = "2.7.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "SonnenladenGmbH";
     repo = "APsystems-EZ1-API";
     tag = version;
-    hash = "sha256-/dseMzi92qlual+L6v6Cl5Xd4U9c7SPdclmTSQTVor0=";
+    hash = "sha256-ry3sQPkYnH0asmE41lEQA5G2tk07eTpsBiuJbVIjrXU=";
   };
 
   build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/argh/default.nix b/pkgs/development/python-modules/argh/default.nix
index a4ab8087a612..38b84a9e8ca9 100644
--- a/pkgs/development/python-modules/argh/default.nix
+++ b/pkgs/development/python-modules/argh/default.nix
@@ -33,6 +33,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/neithere/argh";
     description = "Unobtrusive argparse wrapper with natural syntax";
     license = licenses.lgpl3Plus;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/asdf-wcs-schemas/default.nix b/pkgs/development/python-modules/asdf-wcs-schemas/default.nix
index 6ee324929305..30e8f9b0b15b 100644
--- a/pkgs/development/python-modules/asdf-wcs-schemas/default.nix
+++ b/pkgs/development/python-modules/asdf-wcs-schemas/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "asdf-wcs-schemas";
-  version = "0.4.0";
+  version = "0.5.0";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "asdf-format";
     repo = "asdf-wcs-schemas";
     tag = version;
-    hash = "sha256-4CxKLMYXdNkNwkfFRX3YKkS4e+Z3wQgmz8ogbC4Z1vI=";
+    hash = "sha256-S9SAQzy+FQ2idNDydYnexb3QJfd6vG/JKYg5z0tjkNo=";
   };
 
   build-system = [
@@ -49,7 +49,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "World Coordinate System (WCS) ASDF schemas";
     homepage = "https://github.com/asdf-format/asdf-wcs-schemas";
-    changelog = "https://github.com/asdf-format/asdf-wcs-schemas/blob/${version}/CHANGES.rst";
+    changelog = "https://github.com/asdf-format/asdf-wcs-schemas/blob/${src.tag}/CHANGES.rst";
     license = licenses.bsd3;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/asf-search/default.nix b/pkgs/development/python-modules/asf-search/default.nix
index 65cd8a9c255a..3c1d9d675be6 100644
--- a/pkgs/development/python-modules/asf-search/default.nix
+++ b/pkgs/development/python-modules/asf-search/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "asf-search";
-  version = "8.3.4";
+  version = "9.0.1";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "asfadmin";
     repo = "Discovery-asf_search";
     tag = "v${version}";
-    hash = "sha256-MzHE3PNoV8SCGaajeSqdHaJwk7BuNiaP77YHo9soQO8=";
+    hash = "sha256-nh2r4XiJ+cxPpQ5IBT2PMKpZPwYbhl67B7wwYFRJ6eY=";
   };
 
   pythonRelaxDeps = [ "tenacity" ];
diff --git a/pkgs/development/python-modules/astropy/default.nix b/pkgs/development/python-modules/astropy/default.nix
index 54d41608b31c..c620aacc6bc2 100644
--- a/pkgs/development/python-modules/astropy/default.nix
+++ b/pkgs/development/python-modules/astropy/default.nix
@@ -1,7 +1,6 @@
 {
   lib,
   fetchPypi,
-  fetchpatch,
   buildPythonPackage,
   pythonOlder,
 
@@ -63,6 +62,10 @@ buildPythonPackage rec {
     hash = "sha256-OS/utEOyQ3zUwuBkGmXg8VunkeFI6bHl7X3n38s45GA=";
   };
 
+  patches = [
+    ./test_z_at_value_numpyvectorize.patch
+  ];
+
   env = lib.optionalAttrs stdenv.cc.isClang {
     NIX_CFLAGS_COMPILE = "-Wno-error=unused-command-line-argument";
   };
diff --git a/pkgs/development/python-modules/astropy/test_z_at_value_numpyvectorize.patch b/pkgs/development/python-modules/astropy/test_z_at_value_numpyvectorize.patch
new file mode 100644
index 000000000000..5ffa586d06d5
--- /dev/null
+++ b/pkgs/development/python-modules/astropy/test_z_at_value_numpyvectorize.patch
@@ -0,0 +1,33 @@
+From 9a7f821351f0870608b2fa3e1be31bda70707913 Mon Sep 17 00:00:00 2001
+From: "P. L. Lim" <2090236+pllim@users.noreply.github.com>
+Date: Fri, 2 May 2025 13:49:06 -0400
+Subject: [PATCH] TST: xfail test_z_at_value_numpyvectorize for numpy 2.3.dev
+ and later until we can fix the underlying issue
+
+Originally this is
+https://github.com/astropy/astropy/commit/9fce0d46c5e1807d7e1030c3cb0b1a9c0a359dd9
+but the path to the file has changed since the release currently in nixpkgs.
+---
+ astropy/cosmology/_src/tests/funcs/test_funcs.py | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/astropy/cosmology/funcs/tests/test_funcs.py
++++ b/astropy/cosmology/funcs/tests/test_funcs.py
+@@ -31,6 +31,7 @@
+ )
+ from astropy.cosmology._src.funcs.optimize import _z_at_scalar_value
+ from astropy.units import allclose
++from astropy.utils.compat import NUMPY_LT_2_3
+ from astropy.utils.compat.optional_deps import HAS_SCIPY
+ from astropy.utils.exceptions import AstropyUserWarning
+ 
+@@ -173,6 +174,9 @@ def test_scalar_input_to_output(self):
+ 
+ 
+ @pytest.mark.skipif(not HAS_SCIPY, reason="test requires scipy")
++@pytest.mark.xfail(
++    not NUMPY_LT_2_3, reason="TODO fix: https://github.com/astropy/astropy/issues/18045"
++)
+ def test_z_at_value_numpyvectorize():
+     """Test that numpy vectorize fails on Quantities.
+ 
diff --git a/pkgs/development/python-modules/auth0-python/default.nix b/pkgs/development/python-modules/auth0-python/default.nix
index cfcca247276a..03ae0b1247c4 100644
--- a/pkgs/development/python-modules/auth0-python/default.nix
+++ b/pkgs/development/python-modules/auth0-python/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "auth0-python";
-  version = "4.9.0";
+  version = "4.10.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "auth0";
     repo = "auth0-python";
     tag = version;
-    hash = "sha256-xmA1VbXTDSnkiciyMJidzc3HPwD0OySrByJvzqiaDy4=";
+    hash = "sha256-qQbZBuwn2P2ocDjwGeVR7z7rKNHud/gfzNItiliW1P8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/authlib/default.nix b/pkgs/development/python-modules/authlib/default.nix
index 068008330ed1..5662d2fddeeb 100644
--- a/pkgs/development/python-modules/authlib/default.nix
+++ b/pkgs/development/python-modules/authlib/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "authlib";
-  version = "1.5.2";
+  version = "1.6.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "lepture";
     repo = "authlib";
     tag = "v${version}";
-    hash = "sha256-ra1RKprUAqhax0z1osl0lFgFENQZuSW/5FxSmsCdKNY=";
+    hash = "sha256-USZc+IKcg0+aEG2ISx29jTwm8BBuzNqFoZLBpZ7K2DU=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/autograd/default.nix b/pkgs/development/python-modules/autograd/default.nix
index e8be58101302..9a86fb665e81 100644
--- a/pkgs/development/python-modules/autograd/default.nix
+++ b/pkgs/development/python-modules/autograd/default.nix
@@ -1,38 +1,49 @@
 {
   lib,
   buildPythonPackage,
-  fetchPypi,
+  fetchFromGitHub,
+
+  # build-system
   hatchling,
+
+  # dependencies
   numpy,
+
+  # tests
+  pytest-cov,
+  pytest-xdist,
   pytestCheckHook,
-  pythonOlder,
 }:
 
 buildPythonPackage rec {
   pname = "autograd";
-  version = "1.7.0";
+  version = "1.8.0";
   pyproject = true;
 
-  disabled = pythonOlder "3.8";
-
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-3nQ/02jW31I803MF3NFxhhqXUqFESTZ30sn1pWmD/y8=";
+  src = fetchFromGitHub {
+    owner = "HIPS";
+    repo = "autograd";
+    tag = "v${version}";
+    hash = "sha256-k4rcalwznKS2QvmyTLra+ciWFifnILW/DDdB8D+clxQ=";
   };
 
   build-system = [ hatchling ];
 
   dependencies = [ numpy ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytest-cov
+    pytest-xdist
+    pytestCheckHook
+  ];
 
   pythonImportsCheck = [ "autograd" ];
 
-  meta = with lib; {
+  meta = {
     description = "Compute derivatives of NumPy code efficiently";
     homepage = "https://github.com/HIPS/autograd";
     changelog = "https://github.com/HIPS/autograd/releases/tag/v${version}";
-    license = licenses.mit;
-    maintainers = with maintainers; [ jluttine ];
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ jluttine ];
   };
 }
diff --git a/pkgs/development/python-modules/automat/default.nix b/pkgs/development/python-modules/automat/default.nix
index 7833eb27f57c..094824ae06e9 100644
--- a/pkgs/development/python-modules/automat/default.nix
+++ b/pkgs/development/python-modules/automat/default.nix
@@ -32,6 +32,8 @@ let
       pytestCheckHook
     ];
 
+    pytestFlagsArray = [ "--benchmark-disable" ];
+
     # escape infinite recursion with twisted
     doCheck = false;
 
diff --git a/pkgs/development/python-modules/awkward/default.nix b/pkgs/development/python-modules/awkward/default.nix
index 1f7b78adbd74..486f5da6d8bb 100644
--- a/pkgs/development/python-modules/awkward/default.nix
+++ b/pkgs/development/python-modules/awkward/default.nix
@@ -24,14 +24,14 @@
 
 buildPythonPackage rec {
   pname = "awkward";
-  version = "2.8.3";
+  version = "2.8.4";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "scikit-hep";
     repo = "awkward";
     tag = "v${version}";
-    hash = "sha256-l7XCgD5UvQTva3lsKZmFSIT0nxReGuslWWuar31+pQQ=";
+    hash = "sha256-btW4y3lSwHRgoM7B7KVzJ2h8CQdZYNUwqSRIYZfK0Hg=";
   };
 
   build-system = [
@@ -60,11 +60,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  disabledTests = [
-    # pyarrow.lib.ArrowInvalid
-    "test_recordarray"
-  ];
-
   disabledTestPaths = [
     # Need to be run on a GPU platform.
     "tests-cuda"
diff --git a/pkgs/development/python-modules/aws-secretsmanager-caching/default.nix b/pkgs/development/python-modules/aws-secretsmanager-caching/default.nix
index daf6adf4f00c..f8df8da92d19 100644
--- a/pkgs/development/python-modules/aws-secretsmanager-caching/default.nix
+++ b/pkgs/development/python-modules/aws-secretsmanager-caching/default.nix
@@ -3,6 +3,7 @@
   botocore,
   buildPythonPackage,
   fetchPypi,
+  pytest-cov-stub,
   pytestCheckHook,
   pythonAtLeast,
   pythonOlder,
@@ -23,11 +24,6 @@ buildPythonPackage rec {
     hash = "sha256-9tbsnUPg2+T21d6982tMtpHRWpZ7NYsldfXZGXSmwP8=";
   };
 
-  patches = [
-    # Remove coverage tests from the pytest invocation in setup.cfg.
-    ./remove-coverage-tests.patch
-  ];
-
   postPatch = ''
     substituteInPlace setup.py \
       --replace-fail "'pytest-runner'," ""
@@ -40,7 +36,10 @@ buildPythonPackage rec {
     setuptools # Needs pkg_resources at runtime.
   ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytest-cov-stub
+    pytestCheckHook
+  ];
 
   disabledTestPaths = [
     # Integration tests require networking.
diff --git a/pkgs/development/python-modules/aws-secretsmanager-caching/remove-coverage-tests.patch b/pkgs/development/python-modules/aws-secretsmanager-caching/remove-coverage-tests.patch
deleted file mode 100644
index 57af75dcb4fa..000000000000
--- a/pkgs/development/python-modules/aws-secretsmanager-caching/remove-coverage-tests.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/setup.cfg b/setup.cfg
-index 5aa81b2..0c02ded 100644
---- a/setup.cfg
-+++ b/setup.cfg
-@@ -3,9 +3,6 @@ xfail_strict = true
- addopts = 
- 	--verbose
- 	--doctest-modules
--	--cov aws_secretsmanager_caching
--	--cov-fail-under 90
--	--cov-report term-missing
- 	--ignore doc/
- 
- [aliases]
diff --git a/pkgs/development/python-modules/azure-mgmt-resource/default.nix b/pkgs/development/python-modules/azure-mgmt-resource/default.nix
index 5cd91445e3fa..d865e6ecf0c8 100644
--- a/pkgs/development/python-modules/azure-mgmt-resource/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-resource/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-resource";
-  version = "23.3.0";
+  version = "23.4.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "azure_mgmt_resource";
     inherit version;
-    hash = "sha256-/E8f2Laq0j+K9O0fkT319ckt8RdEncNU/qaAKigp/qQ=";
+    hash = "sha256-fMCQkYS9AUOeJF9fLiCUWjZo1FpndOHwCCJ7szpzPRY=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/b2sdk/default.nix b/pkgs/development/python-modules/b2sdk/default.nix
index 997a842b92e6..33208a016953 100644
--- a/pkgs/development/python-modules/b2sdk/default.nix
+++ b/pkgs/development/python-modules/b2sdk/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "b2sdk";
-  version = "2.8.1";
+  version = "2.9.4";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = "Backblaze";
     repo = "b2-sdk-python";
     tag = "v${version}";
-    hash = "sha256-KUz/OaFZwJPVNCZ1j73SrpWknQmrvwfr5MLVYxOojZc=";
+    hash = "sha256-VXdvRJvmozrDsUu1J5Jz9I2733Cwe8OBbafc1fCEuGw=";
   };
 
   build-system = [ pdm-backend ];
diff --git a/pkgs/development/python-modules/babelfont/default.nix b/pkgs/development/python-modules/babelfont/default.nix
index e6044ae99d3f..fe3beac36ac7 100644
--- a/pkgs/development/python-modules/babelfont/default.nix
+++ b/pkgs/development/python-modules/babelfont/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "babelfont";
-  version = "3.1.2";
+  version = "3.1.3";
   pyproject = true;
 
   # PyPI source tarballs omit tests, fetch from Github instead
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "simoncozens";
     repo = "babelfont";
     tag = "v${version}";
-    hash = "sha256-XNoyM3kjKRc0NWA94ufzC2DBzAsufJNJbzFDUbLu8Lc=";
+    hash = "sha256-wCJNJZqjMm0M00F9/kd/g97+DRdRPTn03Nk3rnh7me4=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/backtesting/default.nix b/pkgs/development/python-modules/backtesting/default.nix
index 162f88ef377e..4229d9cc1229 100644
--- a/pkgs/development/python-modules/backtesting/default.nix
+++ b/pkgs/development/python-modules/backtesting/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "backtesting";
-  version = "0.6.3";
+  version = "0.6.4";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-xryzvjKT+FRbF4pnniHvkRA98jrZVoCyYOmjYU93Ta4=";
+    hash = "sha256-8Xasb7VG39XXQ/A47lgkYk5Vo4pJPE3Vghcxt0yGeq4=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/bagit/default.nix b/pkgs/development/python-modules/bagit/default.nix
index 28e4bb4b41ab..9a04da723e4a 100644
--- a/pkgs/development/python-modules/bagit/default.nix
+++ b/pkgs/development/python-modules/bagit/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "bagit";
-  version = "1.9b2";
+  version = "1.9.0";
   pyproject = true;
   build-system = [
     setuptools
@@ -21,8 +21,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "LibraryOfCongress";
     repo = "bagit-python";
-    rev = "v${version}";
-    hash = "sha256-IkRMsCrtX8nS0nrxs5B9csMq1YrI75QLDuT8eTPILkw=";
+    tag = "v${version}";
+    hash = "sha256-gHilCG07BXL28vBOaqvKhEQw+9l/AkzZRQxucBTEDos=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/bandit/default.nix b/pkgs/development/python-modules/bandit/default.nix
index bf04f04d575e..983ef8fba2e7 100644
--- a/pkgs/development/python-modules/bandit/default.nix
+++ b/pkgs/development/python-modules/bandit/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "bandit";
-  version = "1.8.3";
+  version = "1.8.5";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-9YR762VNMJQimFw2ZEZJkk4OpEJcdt7C6JEQuHUGGTo=";
+    hash = "sha256-24EunDm4howP7VJ4t3//u6uoKLSJG8gONLnFA3MgHP0=";
   };
 
   nativeBuildInputs = [ pbr ];
diff --git a/pkgs/development/python-modules/basswood-av/default.nix b/pkgs/development/python-modules/basswood-av/default.nix
new file mode 100644
index 000000000000..2216ffce3500
--- /dev/null
+++ b/pkgs/development/python-modules/basswood-av/default.nix
@@ -0,0 +1,49 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  setuptools,
+  pkg-config,
+  cython,
+  ffmpeg,
+}:
+
+let
+  cython' = cython.overrideAttrs (oldAttrs: rec {
+    version = "3.1.0";
+    src = oldAttrs.src.override {
+      tag = version;
+      hash = "sha256-3/C0+ygGgNvw75ZN02Q70TLFa1U4jVgWQDG5FGWErTg=";
+    };
+  });
+in
+buildPythonPackage rec {
+  pname = "basswood-av";
+  version = "15.2.1";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "basswood-io";
+    repo = "BasswoodAV";
+    tag = version;
+    hash = "sha256-GWNMPiNk8nSSm45EaRm1Te0PpCNPSYf62WbPYFY/9H8=";
+  };
+
+  build-system = [
+    setuptools
+    cython'
+  ];
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ ffmpeg ];
+
+  pythonImportsCheck = [ "bv" ];
+
+  meta = {
+    description = "Python bindings for ffmpeg libraries";
+    homepage = "https://github.com/basswood-io/BasswoodAV";
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ emaryn ];
+  };
+}
diff --git a/pkgs/development/python-modules/bayesian-optimization/default.nix b/pkgs/development/python-modules/bayesian-optimization/default.nix
index e23935d21b87..8683c1c8dd85 100644
--- a/pkgs/development/python-modules/bayesian-optimization/default.nix
+++ b/pkgs/development/python-modules/bayesian-optimization/default.nix
@@ -23,14 +23,14 @@
 
 buildPythonPackage rec {
   pname = "bayesian-optimization";
-  version = "2.0.3";
+  version = "2.0.4";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "bayesian-optimization";
     repo = "BayesianOptimization";
     tag = "v${version}";
-    hash = "sha256-vT8MlfAdzIKj6uyQedYngP6rCkIZwS8EdtKs4+8l9CA=";
+    hash = "sha256-F1+M5znfI7lHGJRRTgmQxrLTYZmLc90Q0TCvpRoSVTU=";
   };
 
   build-system = [ poetry-core ];
@@ -57,7 +57,7 @@ buildPythonPackage rec {
   meta = {
     description = "Python implementation of global optimization with gaussian processes";
     homepage = "https://github.com/bayesian-optimization/BayesianOptimization";
-    changelog = "https://github.com/bayesian-optimization/BayesianOptimization/releases/tag/v${version}";
+    changelog = "https://github.com/bayesian-optimization/BayesianOptimization/releases/tag/${src.tag}";
     license = lib.licenses.mit;
     maintainers = [ lib.maintainers.juliendehos ];
   };
diff --git a/pkgs/development/python-modules/bc-detect-secrets/default.nix b/pkgs/development/python-modules/bc-detect-secrets/default.nix
index b13b8067c13c..121b8aa206f1 100644
--- a/pkgs/development/python-modules/bc-detect-secrets/default.nix
+++ b/pkgs/development/python-modules/bc-detect-secrets/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "bc-detect-secrets";
-  version = "1.5.43";
+  version = "1.5.44";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "bridgecrewio";
     repo = "detect-secrets";
     tag = version;
-    hash = "sha256-A9qDkAi414wJ7cuAwr1r6FgIa1tOJb+EkAGsvFrw/Fo=";
+    hash = "sha256-cEhZo/HfCp6Cpx2zEX7THQQJH264NJvoCRrM+ci3RrE=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/bcrypt/3.nix b/pkgs/development/python-modules/bcrypt/3.nix
index 7d0f4235277c..127dc70b136d 100644
--- a/pkgs/development/python-modules/bcrypt/3.nix
+++ b/pkgs/development/python-modules/bcrypt/3.nix
@@ -38,6 +38,6 @@ buildPythonPackage rec {
     description = "Modern password hashing for your software and your servers";
     homepage = "https://github.com/pyca/bcrypt/";
     license = licenses.asl20;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/bcrypt/default.nix b/pkgs/development/python-modules/bcrypt/default.nix
index fa49f45058fd..adf6a65b4565 100644
--- a/pkgs/development/python-modules/bcrypt/default.nix
+++ b/pkgs/development/python-modules/bcrypt/default.nix
@@ -71,6 +71,6 @@ buildPythonPackage rec {
     description = "Modern password hashing for your software and your servers";
     homepage = "https://github.com/pyca/bcrypt/";
     license = licenses.asl20;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/bdffont/default.nix b/pkgs/development/python-modules/bdffont/default.nix
index 385114a6b9a3..fcd97b903825 100644
--- a/pkgs/development/python-modules/bdffont/default.nix
+++ b/pkgs/development/python-modules/bdffont/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "bdffont";
-  version = "0.0.31";
+  version = "0.0.32";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "bdffont";
     inherit version;
-    hash = "sha256-jE6k1gym4UCHpQJTPEip+c5e+9QxNpT41v3fK9WVoLc=";
+    hash = "sha256-5O1AlidPMhp0ztzBi/eHJToFSKMcx+EuQHltt/w4goQ=";
   };
 
   build-system = [ hatchling ];
diff --git a/pkgs/development/python-modules/beaker/default.nix b/pkgs/development/python-modules/beaker/default.nix
index 2bfc919ecb5f..1b37178ff23a 100644
--- a/pkgs/development/python-modules/beaker/default.nix
+++ b/pkgs/development/python-modules/beaker/default.nix
@@ -67,7 +67,7 @@ buildPythonPackage rec {
     description = "Session and Caching library with WSGI Middleware";
     homepage = "https://github.com/bbangert/beaker";
     license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ domenkozar ];
+    maintainers = with lib.maintainers; [ ];
     knownVulnerabilities = [ "CVE-2013-7489" ];
   };
 }
diff --git a/pkgs/development/python-modules/beautifulsoup4/default.nix b/pkgs/development/python-modules/beautifulsoup4/default.nix
index 26e61ac2257f..0a082bd424d7 100644
--- a/pkgs/development/python-modules/beautifulsoup4/default.nix
+++ b/pkgs/development/python-modules/beautifulsoup4/default.nix
@@ -2,6 +2,7 @@
   lib,
   buildPythonPackage,
   fetchPypi,
+  fetchpatch,
 
   # build-system
   hatchling,
@@ -47,6 +48,15 @@ buildPythonPackage rec {
     hash = "sha256-27PE4c6uau/r2vJCMkcmDNBiQwpBDjjGbyuqUKhDcZU=";
   };
 
+  patches = [
+    # backport test fix for behavior changes in libxml 2.14.3
+    (fetchpatch {
+      url = "https://git.launchpad.net/beautifulsoup/patch/?id=53d328406ec8c37c0edbd00ace3782be63e2e7e5";
+      excludes = [ "CHANGELOG" ];
+      hash = "sha256-RtavbpnfT6x0A8L3tAvCXwKUpty1ASPGJKdks7evBr8=";
+    })
+  ];
+
   build-system = [ hatchling ];
 
   nativeBuildInputs = [ sphinxHook ];
@@ -69,11 +79,9 @@ buildPythonPackage rec {
   ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
   disabledTests = [
-    # these tests fail with libxml 2.14.3
-    # https://bugs.launchpad.net/beautifulsoup/+bug/2112242
-    "test_real_xhtml_document"
-    "test_processing_instruction"
-    "test_out_of_range_entity"
+    # fail with latest libxml, by not actually rejecting
+    "test_rejected_markup"
+    "test_rejected_input"
   ];
 
   pythonImportsCheck = [ "bs4" ];
@@ -94,6 +102,6 @@ buildPythonPackage rec {
     description = "HTML and XML parser";
     homepage = "http://crummy.com/software/BeautifulSoup/bs4/";
     license = licenses.mit;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/bidsschematools/default.nix b/pkgs/development/python-modules/bidsschematools/default.nix
index 52bf112f37c0..c4d6d4a0f2b2 100644
--- a/pkgs/development/python-modules/bidsschematools/default.nix
+++ b/pkgs/development/python-modules/bidsschematools/default.nix
@@ -3,15 +3,15 @@
   buildPythonPackage,
   pythonOlder,
   fetchPypi,
-  setuptools,
+  pdm-backend,
+  acres,
   click,
   pyyaml,
-  jsonschema,
 }:
 
 buildPythonPackage rec {
   pname = "bidsschematools";
-  version = "1.0.5";
+  version = "1.0.10";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -19,17 +19,17 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "bidsschematools";
     inherit version;
-    hash = "sha256-LKStxCh7TY7rSx6T9EnPJqCNxuj5dHvlK6E+m8D21BE=";
+    hash = "sha256-4kHdeYzIaG1KuLYl5NhO8wk9RyoVjMzYioUEluSkqLk=";
   };
 
   build-system = [
-    setuptools
+    pdm-backend
   ];
 
   dependencies = [
+    acres
     click
     pyyaml
-    jsonschema
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/bitsandbytes/default.nix b/pkgs/development/python-modules/bitsandbytes/default.nix
index 49bc8150d6e4..14299f664c4b 100644
--- a/pkgs/development/python-modules/bitsandbytes/default.nix
+++ b/pkgs/development/python-modules/bitsandbytes/default.nix
@@ -11,7 +11,7 @@
 
 let
   pname = "bitsandbytes";
-  version = "0.45.1";
+  version = "0.46.0";
 
   inherit (torch) cudaPackages cudaSupport;
   inherit (cudaPackages) cudaMajorMinorVersion;
@@ -54,10 +54,10 @@ buildPythonPackage {
   pyproject = true;
 
   src = fetchFromGitHub {
-    owner = "TimDettmers";
+    owner = "bitsandbytes-foundation";
     repo = "bitsandbytes";
     tag = version;
-    hash = "sha256-MZ+3mUXaAhRb+rBtE+eQqT3XdtFxlWJc/CmTEwQkKSA=";
+    hash = "sha256-q1ltNYO5Ex6F2bfCcsekdsWjzXoal7g4n/LIHVGuj+k=";
   };
 
   # By default, which library is loaded depends on the result of `torch.cuda.is_available()`.
@@ -112,8 +112,8 @@ buildPythonPackage {
 
   meta = {
     description = "8-bit CUDA functions for PyTorch";
-    homepage = "https://github.com/TimDettmers/bitsandbytes";
-    changelog = "https://github.com/TimDettmers/bitsandbytes/releases/tag/${version}";
+    homepage = "https://github.com/bitsandbytes-foundation/bitsandbytes";
+    changelog = "https://github.com/bitsandbytes-foundation/bitsandbytes/releases/tag/${version}";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ bcdarwin ];
   };
diff --git a/pkgs/development/python-modules/black/default.nix b/pkgs/development/python-modules/black/default.nix
index 27f18cca5279..37c8e876fa62 100644
--- a/pkgs/development/python-modules/black/default.nix
+++ b/pkgs/development/python-modules/black/default.nix
@@ -95,6 +95,9 @@ buildPythonPackage rec {
     [
       # requires network access
       "test_gen_check_output"
+      # broken on Python 3.13.4
+      # FIXME: remove this when fixed upstream
+      "test_simple_format[pep_701]"
     ]
     ++ lib.optionals stdenv.hostPlatform.isDarwin [
       # fails on darwin
diff --git a/pkgs/development/python-modules/bleak-esphome/default.nix b/pkgs/development/python-modules/bleak-esphome/default.nix
index 13a95473f2e2..c9ed350d62d6 100644
--- a/pkgs/development/python-modules/bleak-esphome/default.nix
+++ b/pkgs/development/python-modules/bleak-esphome/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "bleak-esphome";
-  version = "2.15.1";
+  version = "2.16.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "bluetooth-devices";
     repo = "bleak-esphome";
     tag = "v${version}";
-    hash = "sha256-Q+W7i0+Qsm1wfVNC+ub9J9DOcP7D4gZkjw3j37aHhYc=";
+    hash = "sha256-1NqalsFUXTcVX0UVV4BMStX+EAcu0/3vEKpkq+z+KDE=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/bluetooth-auto-recovery/default.nix b/pkgs/development/python-modules/bluetooth-auto-recovery/default.nix
index a31b14d33aa6..8d7812f043a7 100644
--- a/pkgs/development/python-modules/bluetooth-auto-recovery/default.nix
+++ b/pkgs/development/python-modules/bluetooth-auto-recovery/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "bluetooth-auto-recovery";
-  version = "1.5.1";
+  version = "1.5.2";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = "bluetooth-auto-recovery";
     tag = "v${version}";
-    hash = "sha256-p8xuYmU0gXQYnPdTzzJTyQTYuShzPa/twD8r5HNEsN4=";
+    hash = "sha256-9FwQNauWnWQ7BQoKMwYEEc96/iP6iH9SfvHxlZtePOQ=";
   };
 
   build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/boost-histogram/default.nix b/pkgs/development/python-modules/boost-histogram/default.nix
index c0f7c257da9d..610674ea032a 100644
--- a/pkgs/development/python-modules/boost-histogram/default.nix
+++ b/pkgs/development/python-modules/boost-histogram/default.nix
@@ -58,6 +58,8 @@ buildPythonPackage rec {
     pytest-benchmark
   ];
 
+  pytestFlagsArray = [ "--benchmark-disable" ];
+
   disabledTests = lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [
     # Segfaults: boost_histogram/_internal/hist.py", line 799 in sum
     # Fatal Python error: Segmentation fault
diff --git a/pkgs/development/python-modules/boto3-stubs/default.nix b/pkgs/development/python-modules/boto3-stubs/default.nix
index c1f028ec4635..b6545fbbd8ce 100644
--- a/pkgs/development/python-modules/boto3-stubs/default.nix
+++ b/pkgs/development/python-modules/boto3-stubs/default.nix
@@ -359,7 +359,7 @@
 
 buildPythonPackage rec {
   pname = "boto3-stubs";
-  version = "1.38.31";
+  version = "1.38.38";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -367,7 +367,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "boto3_stubs";
     inherit version;
-    hash = "sha256-ApPlSjB6qaMXhT3k0YZPFtv/r8By6SIxcmw2cRO9ho4=";
+    hash = "sha256-RXIGUBA5HFs/9REp0Kx29As1ta5vVYW8sdBFQ0Hpfxk=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/boto3/default.nix b/pkgs/development/python-modules/boto3/default.nix
index 5d58a7171c12..39b5dd0c3cad 100644
--- a/pkgs/development/python-modules/boto3/default.nix
+++ b/pkgs/development/python-modules/boto3/default.nix
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "boto";
     repo = "boto3";
     tag = version;
-    hash = "sha256-OYD/PC/UO6jqBBlMwXJE+5kdIIX72C1Bpz4iswmQ/IA=";
+    hash = "sha256-3NK9xp58w+Wrhs/i7eXLF/P9Dwadptrr4LlpV6MRbGM=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/botocore/default.nix b/pkgs/development/python-modules/botocore/default.nix
index 2fb38ef93148..742b4bc893d8 100644
--- a/pkgs/development/python-modules/botocore/default.nix
+++ b/pkgs/development/python-modules/botocore/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "botocore";
-  version = "1.38.9"; # N.B: if you change this, change boto3 and awscli to a matching version
+  version = "1.38.32"; # N.B: if you change this, change boto3 and awscli to a matching version
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "boto";
     repo = "botocore";
     tag = version;
-    hash = "sha256-rFLnSM7SwzXS08+Qde2FqU+sP5SIVAawP34iG8keAtM=";
+    hash = "sha256-KW9EAeunL3+pccGsrFitonc5EHdm2Cd+7dM3kdvdkvM=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/brax/default.nix b/pkgs/development/python-modules/brax/default.nix
index 5610ee08f322..7d67df371c1f 100644
--- a/pkgs/development/python-modules/brax/default.nix
+++ b/pkgs/development/python-modules/brax/default.nix
@@ -5,17 +5,14 @@
   stdenv,
 
   # build-system
-  setuptools,
+  hatchling,
 
   # dependencies
   absl-py,
-  dm-env,
   etils,
   flask,
   flask-cors,
   flax,
-  grpcio,
-  gym,
   jax,
   jaxlib,
   jaxopt,
@@ -27,12 +24,13 @@
   optax,
   orbax-checkpoint,
   pillow,
-  pytinyrenderer,
   scipy,
   tensorboardx,
-  trimesh,
+  typing-extensions,
 
   # tests
+  dm-env,
+  gym,
   pytestCheckHook,
   pytest-xdist,
   transforms3d,
@@ -40,31 +38,26 @@
 
 buildPythonPackage rec {
   pname = "brax";
-  version = "0.12.1";
+  version = "0.12.4";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "brax";
     tag = "v${version}";
-    hash = "sha256-whkkqTTy5CY6soyS5D7hWtBZuVHc6si1ArqwLgzHDkw=";
+    hash = "sha256-/eb0WjMzHwD1tjTyZ2fb2dzvGrWnyOLcVLOx4BeKvqk=";
   };
 
   build-system = [
-    setuptools
+    hatchling
   ];
 
   dependencies = [
     absl-py
-    # TODO: remove dm_env after dropping legacy v1 code
-    dm-env
     etils
     flask
     flask-cors
     flax
-    # TODO: remove grpcio and gym after dropping legacy v1 code
-    grpcio
-    gym
     jax
     jaxlib
     jaxopt
@@ -76,14 +69,14 @@ buildPythonPackage rec {
     optax
     orbax-checkpoint
     pillow
-    # TODO: remove pytinyrenderer after dropping legacy v1 code
-    pytinyrenderer
     scipy
     tensorboardx
-    trimesh
+    typing-extensions
   ];
 
   nativeCheckInputs = [
+    dm-env
+    gym
     pytestCheckHook
     pytest-xdist
     transforms3d
diff --git a/pkgs/development/python-modules/bump-my-version/default.nix b/pkgs/development/python-modules/bump-my-version/default.nix
index e489bec62edf..c99a71a9723e 100644
--- a/pkgs/development/python-modules/bump-my-version/default.nix
+++ b/pkgs/development/python-modules/bump-my-version/default.nix
@@ -22,8 +22,7 @@
   mercurial,
   gitMinimal,
   freezegun,
-  pre-commit,
-  pytest-cov,
+  pytest-cov-stub,
   pytest-localserver,
   pytest-mock,
   pytestCheckHook,
@@ -32,14 +31,14 @@
 
 buildPythonPackage rec {
   pname = "bump-my-version";
-  version = "1.1.4";
+  version = "1.2.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "callowayproject";
     repo = "bump-my-version";
     tag = version;
-    hash = "sha256-oV7ije2q9eBimHxMDJauSJ81xQvwlfcfJw5rgZBHGUg=";
+    hash = "sha256-SxNh6JyoObpIwdoCgz79YIdx2cM6m95xwV7dD8d61Cc=";
   };
 
   build-system = [
@@ -70,8 +69,7 @@ buildPythonPackage rec {
     mercurial
     gitMinimal
     freezegun
-    pre-commit
-    pytest-cov
+    pytest-cov-stub
     pytest-localserver
     pytest-mock
     pytestCheckHook
@@ -93,7 +91,7 @@ buildPythonPackage rec {
       by the correct increment and optionally commit and tag the changes.
     '';
     homepage = "https://github.com/callowayproject/bump-my-version";
-    changelog = "https://github.com/callowayproject/bump-my-version/tag/${src.tag}";
+    changelog = "https://github.com/callowayproject/bump-my-version/releases/tag/${src.tag}";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ daspk04 ];
     mainProgram = "bump-my-version";
diff --git a/pkgs/development/python-modules/bx-py-utils/default.nix b/pkgs/development/python-modules/bx-py-utils/default.nix
index 7c1a7c3a848f..e4d881163576 100644
--- a/pkgs/development/python-modules/bx-py-utils/default.nix
+++ b/pkgs/development/python-modules/bx-py-utils/default.nix
@@ -4,10 +4,10 @@
   buildPythonPackage,
   pythonOlder,
   fetchFromGitHub,
-  setuptools-scm,
   beautifulsoup4,
   boto3,
   freezegun,
+  hatchling,
   lxml,
   openpyxl,
   parameterized,
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "bx-py-utils";
-  version = "108";
+  version = "109";
 
   disabled = pythonOlder "3.10";
 
@@ -29,14 +29,14 @@ buildPythonPackage rec {
     owner = "boxine";
     repo = "bx_py_utils";
     tag = "v${version}";
-    hash = "sha256-VMGP5yl+7kiZ3Ww4ESJPHABDCMZG1VsVDgVoLnGU5r4=";
+    hash = "sha256-y1R48nGeTCpcBAzU3kqNQumRToKvQx9qst1kXPWDIlk=";
   };
 
   postPatch = ''
     rm bx_py_utils_tests/publish.py
   '';
 
-  build-system = [ setuptools-scm ];
+  build-system = [ hatchling ];
 
   pythonImportsCheck = [
     "bx_py_utils.anonymize"
@@ -76,15 +76,17 @@ buildPythonPackage rec {
     # too closely affected by bs4 updates
     "test_pretty_format_html"
     "test_assert_html_snapshot_by_css_selector"
+    # test accesses the internet
+    "test_happy_path"
+    # test assumes a virtual environment
+    "test_code_style"
   ];
 
-  disabledTestPaths =
-    [ "bx_py_utils_tests/tests/test_project_setup.py" ]
-    ++ lib.optionals stdenv.hostPlatform.isDarwin [
-      # processify() doesn't work under darwin
-      # https://github.com/boxine/bx_py_utils/issues/80
-      "bx_py_utils_tests/tests/test_processify.py"
-    ];
+  disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [
+    # processify() doesn't work under darwin
+    # https://github.com/boxine/bx_py_utils/issues/80
+    "bx_py_utils_tests/tests/test_processify.py"
+  ];
 
   meta = {
     description = "Various Python utility functions";
diff --git a/pkgs/development/python-modules/cairosvg/default.nix b/pkgs/development/python-modules/cairosvg/default.nix
index 0d81670d4493..e3971469736f 100644
--- a/pkgs/development/python-modules/cairosvg/default.nix
+++ b/pkgs/development/python-modules/cairosvg/default.nix
@@ -1,30 +1,37 @@
 {
   lib,
   buildPythonPackage,
+  fetchFromGitHub,
+
+  # build-system
+  setuptools,
+
+  # dependencies
   cairocffi,
   cssselect2,
   defusedxml,
-  fetchPypi,
   pillow,
-  pytestCheckHook,
-  setuptools,
   tinycss2,
+
+  # testing
+  pytestCheckHook,
 }:
 
 buildPythonPackage rec {
   pname = "cairosvg";
-  version = "2.7.1";
+  version = "2.8.2";
   pyproject = true;
 
-  src = fetchPypi {
-    pname = "CairoSVG";
-    inherit version;
-    hash = "sha256-QyUx1yNHKRuanr+2d3AmtgdWP9hxnEbudC2wrvcnG6A=";
+  src = fetchFromGitHub {
+    owner = "Kozea";
+    repo = "CairoSVG";
+    tag = version;
+    hash = "sha256-KWUZA8pcHMnDEkAYZt3zDzPNynhGBuLZuagNPfHF8EA=";
   };
 
-  nativeBuildInputs = [ setuptools ];
+  build-system = [ setuptools ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     cairocffi
     cssselect2
     defusedxml
@@ -32,20 +39,10 @@ buildPythonPackage rec {
     tinycss2
   ];
 
-  propagatedNativeBuildInputs = [ cairocffi ];
+  nativeBuildInputs = [ cairocffi ];
 
   nativeCheckInputs = [ pytestCheckHook ];
 
-  postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace "pytest-runner" "" \
-      --replace "pytest-flake8" "" \
-      --replace "pytest-isort" "" \
-      --replace "pytest-cov" "" \
-      --replace "--flake8" "" \
-      --replace "--isort" ""
-  '';
-
   pytestFlagsArray = [ "cairosvg/test_api.py" ];
 
   pythonImportsCheck = [ "cairosvg" ];
diff --git a/pkgs/development/python-modules/cddlparser/default.nix b/pkgs/development/python-modules/cddlparser/default.nix
new file mode 100644
index 000000000000..1737f4b85b48
--- /dev/null
+++ b/pkgs/development/python-modules/cddlparser/default.nix
@@ -0,0 +1,37 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  # dependencies
+  setuptools,
+}:
+
+buildPythonPackage rec {
+  pname = "cddlparser";
+  version = "0.5.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "tidoust";
+    repo = pname;
+    tag = "v${version}";
+    sha256 = "sha256-Hrf6u5HeCICffgPAOcbb1FhybEVhgre7EXzQZhS8D9o=";
+  };
+
+  build-system = [
+    setuptools
+  ];
+
+  meta = {
+    homepage = "https://github.com/tidoust/cddlparser";
+    downloadPage = "https://github.com/tidoust/cddlparser/releases";
+    description = "Concise data definition language (RFC 8610) parser implementation in Python";
+    longDescription = ''
+      A CDDL parser in Python
+
+      Concise data definition language (RFC 8610) parser implementation in Python.
+    '';
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ hemera ];
+  };
+}
diff --git a/pkgs/development/python-modules/certbot/default.nix b/pkgs/development/python-modules/certbot/default.nix
index 1b420e616534..70ad22558a2f 100644
--- a/pkgs/development/python-modules/certbot/default.nix
+++ b/pkgs/development/python-modules/certbot/default.nix
@@ -89,7 +89,7 @@ buildPythonPackage rec {
     description = "ACME client that can obtain certs and extensibly update server configurations";
     platforms = platforms.unix;
     mainProgram = "certbot";
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
     license = with licenses; [ asl20 ];
   };
 }
diff --git a/pkgs/development/python-modules/chameleon/default.nix b/pkgs/development/python-modules/chameleon/default.nix
index c9f81816ae0b..ae26fb90e5b8 100644
--- a/pkgs/development/python-modules/chameleon/default.nix
+++ b/pkgs/development/python-modules/chameleon/default.nix
@@ -34,6 +34,6 @@ buildPythonPackage rec {
     downloadPage = "https://github.com/malthe/chameleon";
     homepage = "https://chameleon.readthedocs.io";
     license = licenses.bsd0;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/chardet/default.nix b/pkgs/development/python-modules/chardet/default.nix
index c4759f316d8e..de5aa8adab55 100644
--- a/pkgs/development/python-modules/chardet/default.nix
+++ b/pkgs/development/python-modules/chardet/default.nix
@@ -39,6 +39,6 @@ buildPythonPackage rec {
     mainProgram = "chardetect";
     homepage = "https://github.com/chardet/chardet";
     license = licenses.lgpl21Plus;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/chromadb/0.nix b/pkgs/development/python-modules/chromadb/0.nix
deleted file mode 100644
index 87b3c66fee5a..000000000000
--- a/pkgs/development/python-modules/chromadb/0.nix
+++ /dev/null
@@ -1,220 +0,0 @@
-{
-  lib,
-  stdenv,
-  buildPythonPackage,
-  fetchFromGitHub,
-
-  # build-system
-  setuptools-scm,
-  setuptools,
-
-  # build inputs
-  cargo,
-  pkg-config,
-  protobuf,
-  rustc,
-  rustPlatform,
-  openssl,
-
-  # dependencies
-  bcrypt,
-  build,
-  fastapi,
-  grpcio,
-  httpx,
-  importlib-resources,
-  kubernetes,
-  mmh3,
-  numpy,
-  onnxruntime,
-  opentelemetry-api,
-  opentelemetry-exporter-otlp-proto-grpc,
-  opentelemetry-instrumentation-fastapi,
-  opentelemetry-sdk,
-  orjson,
-  overrides,
-  posthog,
-  pulsar-client,
-  pydantic,
-  pypika,
-  pyyaml,
-  requests,
-  tenacity,
-  tokenizers,
-  tqdm,
-  typer,
-  typing-extensions,
-  uvicorn,
-  zstd,
-
-  # optional dependencies
-  chroma-hnswlib,
-
-  # tests
-  hypothesis,
-  psutil,
-  pytest-asyncio,
-  pytestCheckHook,
-
-  # passthru
-  nixosTests,
-  nix-update-script,
-}:
-
-buildPythonPackage rec {
-  pname = "chromadb_0";
-  version = "0.6.3";
-  pyproject = true;
-
-  src = fetchFromGitHub {
-    owner = "chroma-core";
-    repo = "chroma";
-    tag = version;
-    hash = "sha256-yvAX8buETsdPvMQmRK5+WFz4fVaGIdNlfhSadtHwU5U=";
-  };
-
-  cargoDeps = rustPlatform.fetchCargoVendor {
-    inherit src;
-    name = "${pname}-${version}";
-    hash = "sha256-lHRBXJa/OFNf4x7afEJw9XcuDveTBIy3XpQ3+19JXn4=";
-  };
-
-  pythonRelaxDeps = [
-    "chroma-hnswlib"
-    "orjson"
-    "tokenizers"
-  ];
-
-  build-system = [
-    setuptools
-    setuptools-scm
-  ];
-
-  nativeBuildInputs = [
-    cargo
-    pkg-config
-    protobuf
-    rustc
-    rustPlatform.cargoSetupHook
-  ];
-
-  buildInputs = [
-    openssl
-    zstd
-  ];
-
-  dependencies = [
-    bcrypt
-    build
-    chroma-hnswlib
-    fastapi
-    grpcio
-    httpx
-    importlib-resources
-    kubernetes
-    mmh3
-    numpy
-    onnxruntime
-    opentelemetry-api
-    opentelemetry-exporter-otlp-proto-grpc
-    opentelemetry-instrumentation-fastapi
-    opentelemetry-sdk
-    orjson
-    overrides
-    posthog
-    pulsar-client
-    pydantic
-    pypika
-    pyyaml
-    requests
-    tenacity
-    tokenizers
-    tqdm
-    typer
-    typing-extensions
-    uvicorn
-  ];
-
-  nativeCheckInputs = [
-    hypothesis
-    psutil
-    pytest-asyncio
-    pytestCheckHook
-  ];
-
-  # Disable on aarch64-linux due to broken onnxruntime
-  # https://github.com/microsoft/onnxruntime/issues/10038
-  pythonImportsCheck = lib.optionals (stdenv.hostPlatform.system != "aarch64-linux") [ "chromadb" ];
-
-  # Test collection breaks on aarch64-linux
-  doCheck = stdenv.hostPlatform.system != "aarch64-linux";
-
-  env = {
-    ZSTD_SYS_USE_PKG_CONFIG = true;
-  };
-
-  pytestFlagsArray = [
-    "-x" # these are slow tests, so stop on the first failure
-    "-v"
-  ];
-
-  preCheck = ''
-    (($(ulimit -n) < 1024)) && ulimit -n 1024
-    export HOME=$(mktemp -d)
-  '';
-
-  disabledTests = [
-    # Tests are flaky / timing sensitive
-    "test_fastapi_server_token_authn_allows_when_it_should_allow"
-    "test_fastapi_server_token_authn_rejects_when_it_should_reject"
-
-    # Issue with event loop
-    "test_http_client_bw_compatibility"
-
-    # httpx ReadError
-    "test_not_existing_collection_delete"
-  ];
-
-  disabledTestPaths = [
-    # Tests require network access
-    "chromadb/test/auth/test_simple_rbac_authz.py"
-    "chromadb/test/db/test_system.py"
-    "chromadb/test/ef/test_default_ef.py"
-    "chromadb/test/property/"
-    "chromadb/test/property/test_cross_version_persist.py"
-    "chromadb/test/stress/"
-    "chromadb/test/test_api.py"
-
-    # httpx failures
-    "chromadb/test/api/test_delete_database.py"
-
-    # Cannot be loaded by pytest without path hacks (fixed in 1.0.0)
-    "chromadb/test/test_logservice.py"
-    "chromadb/test/proto/test_utils.py"
-    "chromadb/test/segment/distributed/test_protobuf_translation.py"
-
-    # Hypothesis FailedHealthCheck due to nested @given tests
-    "chromadb/test/cache/test_cache.py"
-  ];
-
-  __darwinAllowLocalNetworking = true;
-
-  passthru.tests = {
-    inherit (nixosTests) chromadb;
-  };
-
-  # nixpkgs-update: no auto update
-  # 0.6.3 is the last of the 0.x series
-
-  meta = {
-    description = "AI-native open-source embedding database";
-    homepage = "https://github.com/chroma-core/chroma";
-    changelog = "https://github.com/chroma-core/chroma/releases/tag/${version}";
-    license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [
-      fab
-      sarahec
-    ];
-    mainProgram = "chroma";
-  };
-}
diff --git a/pkgs/development/python-modules/chromadb/default.nix b/pkgs/development/python-modules/chromadb/default.nix
index cf2aaa3dc9fa..868cd5a7ca42 100644
--- a/pkgs/development/python-modules/chromadb/default.nix
+++ b/pkgs/development/python-modules/chromadb/default.nix
@@ -255,7 +255,7 @@ buildPythonPackage rec {
       # we have to update both the python hash and the cargo one,
       # so use nix-update-script
       extraArgs = [
-        "--versionRegex"
+        "--version-regex"
         "([0-9].+)"
       ];
     };
diff --git a/pkgs/development/python-modules/clarifai-grpc/default.nix b/pkgs/development/python-modules/clarifai-grpc/default.nix
index 657932696484..632a7d39c118 100644
--- a/pkgs/development/python-modules/clarifai-grpc/default.nix
+++ b/pkgs/development/python-modules/clarifai-grpc/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "clarifai-grpc";
-  version = "11.3.4";
+  version = "11.5.5";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "Clarifai";
     repo = "clarifai-python-grpc";
     tag = version;
-    hash = "sha256-pRAvVtKQU8UJOkmtyPXCpC+PmZoKbKH7P2DlajXPBQU=";
+    hash = "sha256-ijfuZh35HpmR3p7n2S+cCpcO4ld52StQOpxgPJtRqM4=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/clint/default.nix b/pkgs/development/python-modules/clint/default.nix
index 87bc6568c587..ac949f4d5ce7 100644
--- a/pkgs/development/python-modules/clint/default.nix
+++ b/pkgs/development/python-modules/clint/default.nix
@@ -29,6 +29,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/kennethreitz/clint";
     description = "Python Command Line Interface Tools";
     license = licenses.isc;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/clldutils/default.nix b/pkgs/development/python-modules/clldutils/default.nix
index 71f270396258..70800b121f5b 100644
--- a/pkgs/development/python-modules/clldutils/default.nix
+++ b/pkgs/development/python-modules/clldutils/default.nix
@@ -11,6 +11,7 @@
   mock,
   postgresql,
   pylatexenc,
+  pytest-cov-stub,
   pytest-mock,
   pytestCheckHook,
   python-dateutil,
@@ -32,11 +33,6 @@ buildPythonPackage rec {
     hash = "sha256-OD+WJ9JuYZb/oXDgVqL4i5YlcVEt0+swq0SB3cutyRo=";
   };
 
-  patchPhase = ''
-    substituteInPlace setup.cfg \
-      --replace-fail "--cov" ""
-  '';
-
   nativeBuildInputs = [ setuptools ];
 
   propagatedBuildInputs = [
@@ -53,6 +49,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     mock
     postgresql
+    pytest-cov-stub
     pytest-mock
     pytestCheckHook
     git
diff --git a/pkgs/development/python-modules/cogapp/default.nix b/pkgs/development/python-modules/cogapp/default.nix
index c6f669c8ad56..3f9d7ae238c5 100644
--- a/pkgs/development/python-modules/cogapp/default.nix
+++ b/pkgs/development/python-modules/cogapp/default.nix
@@ -1,29 +1,34 @@
 {
   lib,
   buildPythonPackage,
-  fetchPypi,
+  fetchFromGitHub,
   setuptools,
+  pytestCheckHook,
 }:
 
 buildPythonPackage rec {
   pname = "cogapp";
-  version = "3.4.1";
+  version = "3.5.0";
   pyproject = true;
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-qAbV254xihotP86YgAgXkWjn2xPl5VsZt5dj+budKYI=";
+  src = fetchFromGitHub {
+    owner = "nedbat";
+    repo = "cog";
+    tag = "v${version}";
+    hash = "sha256-jmHAHBzUw8VLCudT8slisCJ7yOUTVrrLiUbEiiTcfew=";
   };
 
-  nativeBuildInputs = [ setuptools ];
+  build-system = [ setuptools ];
 
-  # there are no tests
-  doCheck = false;
+  pythonImportsCheck = [ "cogapp" ];
 
-  meta = with lib; {
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  meta = {
     description = "Code generator for executing Python snippets in source files";
     homepage = "https://nedbatchelder.com/code/cog";
-    license = licenses.mit;
-    maintainers = with maintainers; [ lovek323 ];
+    changelog = "https://github.com/nedbat/cog/blob/v${version}/CHANGELOG.rst";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ lovek323 ];
   };
 }
diff --git a/pkgs/development/python-modules/coiled/default.nix b/pkgs/development/python-modules/coiled/default.nix
index 18daf72ce8f7..1cb9cd7e94df 100644
--- a/pkgs/development/python-modules/coiled/default.nix
+++ b/pkgs/development/python-modules/coiled/default.nix
@@ -39,12 +39,12 @@
 
 buildPythonPackage rec {
   pname = "coiled";
-  version = "1.100.0";
+  version = "1.101.1";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-kB5kWIFQPxTcozVqfjMt58b9tAx9upTga4NdfplbbtI=";
+    hash = "sha256-7+uRvyK+PbQ8jHFQhi0+jkwSvUzAMOVAeCZMIUaujeM=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/colander/default.nix b/pkgs/development/python-modules/colander/default.nix
index e3ddb2cf3c31..58ee3652343a 100644
--- a/pkgs/development/python-modules/colander/default.nix
+++ b/pkgs/development/python-modules/colander/default.nix
@@ -37,6 +37,6 @@ buildPythonPackage rec {
     description = "Simple schema-based serialization and deserialization library";
     homepage = "https://github.com/Pylons/colander";
     license = licenses.free; # http://repoze.org/LICENSE.txt
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/colcon-mixin/default.nix b/pkgs/development/python-modules/colcon-mixin/default.nix
index b2821cda8e44..d5a7b7bdb4f0 100644
--- a/pkgs/development/python-modules/colcon-mixin/default.nix
+++ b/pkgs/development/python-modules/colcon-mixin/default.nix
@@ -3,7 +3,7 @@
   buildPythonPackage,
   fetchFromGitHub,
   colcon,
-  pytest-cov,
+  pytest-cov-stub,
   pytestCheckHook,
   setuptools,
   scspell,
@@ -29,7 +29,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-    pytest-cov
+    pytest-cov-stub
     pytestCheckHook
     scspell
     writableTmpDirAsHomeHook
diff --git a/pkgs/development/python-modules/colcon-ros-domain-id-coordinator/default.nix b/pkgs/development/python-modules/colcon-ros-domain-id-coordinator/default.nix
index cf3c58ee1142..84650e2d6352 100644
--- a/pkgs/development/python-modules/colcon-ros-domain-id-coordinator/default.nix
+++ b/pkgs/development/python-modules/colcon-ros-domain-id-coordinator/default.nix
@@ -4,7 +4,7 @@
   colcon,
   fetchFromGitHub,
   pytestCheckHook,
-  pytest-cov,
+  pytest-cov-stub,
   pytest-repeat,
   pytest-rerunfailures,
   scspell,
@@ -30,7 +30,7 @@ buildPythonPackage {
 
   nativeCheckInputs = [
     pytestCheckHook
-    pytest-cov
+    pytest-cov-stub
     pytest-repeat
     pytest-rerunfailures
     scspell
diff --git a/pkgs/development/python-modules/colorzero/default.nix b/pkgs/development/python-modules/colorzero/default.nix
index 09a40420e1b6..589013649fc9 100644
--- a/pkgs/development/python-modules/colorzero/default.nix
+++ b/pkgs/development/python-modules/colorzero/default.nix
@@ -4,6 +4,7 @@
   fetchFromGitHub,
   pkginfo,
   pytestCheckHook,
+  pytest-cov-stub,
 }:
 
 buildPythonPackage rec {
@@ -18,16 +19,14 @@ buildPythonPackage rec {
     hash = "sha256-0NoQsy86OHQNLZsTEuF5s2MlRUoacF28jNeHgFKAH14=";
   };
 
-  postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace "--cov" ""
-  '';
-
   nativeBuildInputs = [ pkginfo ];
 
   pythonImportsCheck = [ "colorzero" ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cov-stub
+  ];
 
   meta = with lib; {
     description = "Yet another Python color library";
diff --git a/pkgs/development/python-modules/commitizen/default.nix b/pkgs/development/python-modules/commitizen/default.nix
index 8c8c5c6dc9bc..1337a6add589 100644
--- a/pkgs/development/python-modules/commitizen/default.nix
+++ b/pkgs/development/python-modules/commitizen/default.nix
@@ -31,7 +31,7 @@
 
 buildPythonPackage rec {
   pname = "commitizen";
-  version = "4.8.2";
+  version = "4.8.3";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -40,7 +40,7 @@ buildPythonPackage rec {
     owner = "commitizen-tools";
     repo = "commitizen";
     tag = "v${version}";
-    hash = "sha256-qpbq9Q1/FMKiSIIRUfB/2AkTAasBWpnQg4KbEq/tRns=";
+    hash = "sha256-ukmLvv1/Ez04UhwXcb5QYiVWXCV7LvYd13Go6ASxsxI=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/development/python-modules/configargparse/default.nix b/pkgs/development/python-modules/configargparse/default.nix
index 8f9a2bee6135..8d9dd3c00cfb 100644
--- a/pkgs/development/python-modules/configargparse/default.nix
+++ b/pkgs/development/python-modules/configargparse/default.nix
@@ -49,6 +49,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/bw2/ConfigArgParse";
     changelog = "https://github.com/bw2/ConfigArgParse/releases/tag/${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ willibutz ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/python-modules/configupdater/default.nix b/pkgs/development/python-modules/configupdater/default.nix
index 9e052140d48f..4abf86805d36 100644
--- a/pkgs/development/python-modules/configupdater/default.nix
+++ b/pkgs/development/python-modules/configupdater/default.nix
@@ -3,6 +3,7 @@
   buildPythonPackage,
   fetchPypi,
   pytestCheckHook,
+  pytest-cov-stub,
   setuptools-scm,
 }:
 
@@ -17,16 +18,14 @@ buildPythonPackage rec {
     hash = "sha256-n9rFODHBsGKSm/OYtkm4fKMOfxpzXz+/SCBygEEGMGs=";
   };
 
-  postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace '--cov configupdater --cov-report term-missing' ""
-  '';
-
   nativeBuildInputs = [ setuptools-scm ];
 
   pythonImportsCheck = [ "configupdater" ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cov-stub
+  ];
 
   meta = with lib; {
     description = "Parser like ConfigParser but for updating configuration files";
diff --git a/pkgs/development/python-modules/convertertools/default.nix b/pkgs/development/python-modules/convertertools/default.nix
index 5d51a59946a6..2114a6955ed2 100644
--- a/pkgs/development/python-modules/convertertools/default.nix
+++ b/pkgs/development/python-modules/convertertools/default.nix
@@ -11,6 +11,7 @@
 
   # checks
   pytestCheckHook,
+  pytest-cov-stub,
 }:
 
 buildPythonPackage rec {
@@ -27,17 +28,16 @@ buildPythonPackage rec {
     hash = "sha256-Oy1Nf/mS2Lr2N7OB27QDlW+uuhafib2kolEXzXLppWU=";
   };
 
-  postPatch = ''
-    sed -i "/--cov/d" pyproject.toml
-  '';
-
   build-system = [
     cython
     poetry-core
     setuptools
   ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cov-stub
+  ];
 
   pythonImportsCheck = [ "convertertools" ];
 
diff --git a/pkgs/development/python-modules/copier-template-tester/default.nix b/pkgs/development/python-modules/copier-template-tester/default.nix
index e03cf9700c8d..f78cbf91135f 100644
--- a/pkgs/development/python-modules/copier-template-tester/default.nix
+++ b/pkgs/development/python-modules/copier-template-tester/default.nix
@@ -9,14 +9,14 @@
 }:
 buildPythonPackage rec {
   pname = "copier-template-tester";
-  version = "2.1.1";
+  version = "2.2.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "KyleKing";
     repo = pname;
-    rev = version;
-    hash = "sha256-q1SNsy5CbBmGTGVejSN8P8BkdiasZjnW8BWMXOfSD1s=";
+    tag = version;
+    hash = "sha256-n/39Gl4q24QKfVFaeeqqu0AQt2jRSRrcnEOFRHQ+SQE=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/copier/default.nix b/pkgs/development/python-modules/copier/default.nix
index 5a6bc6244477..0ec4b1471609 100644
--- a/pkgs/development/python-modules/copier/default.nix
+++ b/pkgs/development/python-modules/copier/default.nix
@@ -12,6 +12,7 @@
   lib,
   mkdocs-material,
   mkdocs-mermaid2-plugin,
+  nix-update-script,
   mkdocstrings,
   packaging,
   pathspec,
@@ -71,6 +72,8 @@ buildPythonPackage rec {
 
   makeWrapperArgs = [ "--suffix PATH : ${lib.makeBinPath [ git ]}" ];
 
+  passthru.updateScript = nix-update-script { };
+
   meta = {
     description = "Library and command-line utility for rendering projects templates";
     homepage = "https://copier.readthedocs.io";
diff --git a/pkgs/development/python-modules/countryguess/default.nix b/pkgs/development/python-modules/countryguess/default.nix
new file mode 100644
index 000000000000..e776ba9f2717
--- /dev/null
+++ b/pkgs/development/python-modules/countryguess/default.nix
@@ -0,0 +1,40 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitea,
+  pytest-mock,
+  pytestCheckHook,
+  setuptools,
+}:
+
+buildPythonPackage rec {
+  pname = "countryguess";
+  version = "0.4.5";
+  pyproject = true;
+
+  src = fetchFromGitea {
+    domain = "codeberg.org";
+    owner = "plotski";
+    repo = "countryguess";
+    tag = "v${version}";
+    hash = "sha256-JzhkXHitleQ2UIxdem8PYR5QhKGmkyfHmxG6VDP7pB0=";
+  };
+
+  build-system = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytest-mock
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "countryguess" ];
+
+  meta = {
+    description = "Fuzzy lookup of country information";
+    homepage = "https://codeberg.org/plotski/countryguess";
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ ambroisie ];
+  };
+}
diff --git a/pkgs/development/python-modules/coverage/default.nix b/pkgs/development/python-modules/coverage/default.nix
index b41192c54dd3..500fca210a17 100644
--- a/pkgs/development/python-modules/coverage/default.nix
+++ b/pkgs/development/python-modules/coverage/default.nix
@@ -1,34 +1,91 @@
 {
   lib,
+  stdenv,
   buildPythonPackage,
-  fetchPypi,
-  mock,
+  isPy312,
+  fetchFromGitHub,
+  flaky,
+  hypothesis,
+  pytest-xdist,
+  pytestCheckHook,
   pythonOlder,
   setuptools,
+  tomli,
 }:
 
 buildPythonPackage rec {
   pname = "coverage";
-  version = "7.8.0";
+  version = "7.8.2";
   pyproject = true;
 
-  # uses f strings
-  disabled = pythonOlder "3.5";
-
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-ej1is7A7S2/UGghfNXSHTPlGy0YE0rTT6NyozVcMpQE=";
+  src = fetchFromGitHub {
+    owner = "nedbat";
+    repo = "coveragepy";
+    tag = version;
+    hash = "sha256-PCMGxyG5zIc8iigi9BsuhyuyQindZnewqTgxErT/jHw=";
   };
 
-  nativeBuildInputs = [ setuptools ];
+  postPatch = ''
+    # don't write to Nix store
+    substituteInPlace tests/conftest.py \
+      --replace-fail 'if WORKER == "none":' "if False:"
+  '';
 
-  # No tests in archive
-  doCheck = false;
-  nativeCheckInputs = [ mock ];
+  build-system = [ setuptools ];
+
+  optional-dependencies = {
+    toml = lib.optionals (pythonOlder "3.11") [
+      tomli
+    ];
+  };
+
+  nativeCheckInputs = [
+    flaky
+    hypothesis
+    pytest-xdist
+    pytestCheckHook
+  ];
+
+  preCheck = ''
+    export PATH="$PATH:$out/bin"
+    # import from $out
+    rm -r coverage
+  '';
+
+  disabledTests =
+    [
+      "test_all_our_source_files"
+      "test_doctest"
+      "test_files_up_one_level"
+      "test_get_encoded_zip_files"
+      "test_metadata"
+      "test_more_metadata"
+      "test_multi"
+      "test_no_duplicate_packages"
+      "test_xdist_sys_path_nuttiness_is_fixed"
+      "test_zipfile"
+    ]
+    ++ lib.optionals (isPy312 && stdenv.hostPlatform.system == "x86_64-darwin") [
+      # substring that may not be in string is part of the pytest output hash, which appears in the string
+      "test_nothing_specified"
+      "test_omit"
+      "test_omit_2"
+      "test_omit_as_string"
+    ];
+
+  disabledTestPaths = [
+    "tests/test_debug.py"
+    "tests/test_plugins.py"
+    "tests/test_process.py"
+    "tests/test_report.py"
+    "tests/test_venv.py"
+  ];
 
   meta = {
-    description = "Code coverage measurement for python";
-    homepage = "https://coverage.readthedocs.io/";
-    license = lib.licenses.bsd3;
+    changelog = "https://github.com/nedbat/coveragepy/blob/${src.tag}/CHANGES.rst";
+    description = "Code coverage measurement for Python";
+    homepage = "https://github.com/nedbat/coveragepy";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ dotlambda ];
   };
 }
diff --git a/pkgs/development/python-modules/craft-application/default.nix b/pkgs/development/python-modules/craft-application/default.nix
index 8951c8982519..ec71f3dd4b4c 100644
--- a/pkgs/development/python-modules/craft-application/default.nix
+++ b/pkgs/development/python-modules/craft-application/default.nix
@@ -127,12 +127,21 @@ buildPythonPackage rec {
       "test_process_grammar_build_for"
       "test_process_grammar_platform"
       "test_process_grammar_default"
+      "test_create_craft_manifest"
+      "test_create_project_manifest"
+      "test_from_packed_artifact"
+      "test_teardown_session_create_manifest"
     ];
 
-  disabledTestPaths = [
-    # These tests assert outputs of commands that assume Ubuntu-related output.
-    "tests/unit/services/test_lifecycle.py"
-  ];
+  disabledTestPaths =
+    [
+      # These tests assert outputs of commands that assume Ubuntu-related output.
+      "tests/unit/services/test_lifecycle.py"
+    ]
+    ++ lib.optionals stdenv.hostPlatform.isAarch64 [
+      # Hard-coded assumptions around use of "amd64" arch strings.
+      "tests/unit/services/test_project.py"
+    ];
 
   passthru.updateScript = nix-update-script { };
 
diff --git a/pkgs/development/python-modules/craft-parts/default.nix b/pkgs/development/python-modules/craft-parts/default.nix
index 3ab3e99727d8..9f1447fe3bfc 100644
--- a/pkgs/development/python-modules/craft-parts/default.nix
+++ b/pkgs/development/python-modules/craft-parts/default.nix
@@ -30,7 +30,7 @@
 
 buildPythonPackage rec {
   pname = "craft-parts";
-  version = "2.10.0";
+  version = "2.12.0";
 
   pyproject = true;
 
@@ -38,7 +38,7 @@ buildPythonPackage rec {
     owner = "canonical";
     repo = "craft-parts";
     tag = version;
-    hash = "sha256-nGOLzQ+mlLHmqkknWklCIEN7HOgQznuYO1rbqUvL1N4=";
+    hash = "sha256-mm5s7lHbU9SJsS9wTkXkJpmVsGG0qVXIeaQ+TiGz/7o=";
   };
 
   patches = [ ./bash-path.patch ];
@@ -109,6 +109,8 @@ buildPythonPackage rec {
       # These tests have hardcoded "amd64" strings which fail on aarch64
       "tests/unit/executor/test_environment.py"
       "tests/unit/features/overlay/test_executor_environment.py"
+      # Hard-coded assumptions about arguments relating to 'x86_64'
+      "tests/unit/plugins/test_dotnet_v2_plugin.py"
     ];
 
   passthru.updateScript = nix-update-script { };
diff --git a/pkgs/development/python-modules/craft-store/default.nix b/pkgs/development/python-modules/craft-store/default.nix
index 14d258fdb4f8..720801ad5570 100644
--- a/pkgs/development/python-modules/craft-store/default.nix
+++ b/pkgs/development/python-modules/craft-store/default.nix
@@ -25,7 +25,7 @@
 
 buildPythonPackage rec {
   pname = "craft-store";
-  version = "3.2.1";
+  version = "3.2.2";
 
   pyproject = true;
 
@@ -33,7 +33,7 @@ buildPythonPackage rec {
     owner = "canonical";
     repo = "craft-store";
     tag = version;
-    hash = "sha256-rJ7FXHDrJ7w+dFPBs7MhT4iqN6KCWaqrmlCni5kUEKI=";
+    hash = "sha256-ODchOdEzzR8LXdPgPVXp0mWIu2rr5yzrfUDbOVW1xXc=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/django-crispy-bootstrap3/default.nix b/pkgs/development/python-modules/crispy-bootstrap3/default.nix
similarity index 96%
rename from pkgs/development/python-modules/django-crispy-bootstrap3/default.nix
rename to pkgs/development/python-modules/crispy-bootstrap3/default.nix
index b3ccbcac96cd..f7f09e8e6962 100644
--- a/pkgs/development/python-modules/django-crispy-bootstrap3/default.nix
+++ b/pkgs/development/python-modules/crispy-bootstrap3/default.nix
@@ -10,7 +10,7 @@
 }:
 
 buildPythonPackage rec {
-  pname = "django-crispy-bootstrap3";
+  pname = "crispy-bootstrap3";
   version = "2024.1";
   pyproject = true;
 
diff --git a/pkgs/development/python-modules/django-crispy-bootstrap4/default.nix b/pkgs/development/python-modules/crispy-bootstrap4/default.nix
similarity index 96%
rename from pkgs/development/python-modules/django-crispy-bootstrap4/default.nix
rename to pkgs/development/python-modules/crispy-bootstrap4/default.nix
index 66bde938bc62..18f8650edde2 100644
--- a/pkgs/development/python-modules/django-crispy-bootstrap4/default.nix
+++ b/pkgs/development/python-modules/crispy-bootstrap4/default.nix
@@ -10,7 +10,7 @@
 }:
 
 buildPythonPackage rec {
-  pname = "django-crispy-bootstrap4";
+  pname = "crispy-bootstrap4";
   version = "2024.10";
   pyproject = true;
 
diff --git a/pkgs/development/python-modules/django-crispy-bootstrap5/default.nix b/pkgs/development/python-modules/crispy-bootstrap5/default.nix
similarity index 96%
rename from pkgs/development/python-modules/django-crispy-bootstrap5/default.nix
rename to pkgs/development/python-modules/crispy-bootstrap5/default.nix
index bc84ccbd4b74..2a7f01e9d360 100644
--- a/pkgs/development/python-modules/django-crispy-bootstrap5/default.nix
+++ b/pkgs/development/python-modules/crispy-bootstrap5/default.nix
@@ -10,7 +10,7 @@
 }:
 
 buildPythonPackage rec {
-  pname = "django-crispy-bootstrap5";
+  pname = "crispy-bootstrap5";
   version = "2025.6";
   pyproject = true;
 
diff --git a/pkgs/development/python-modules/csvw/default.nix b/pkgs/development/python-modules/csvw/default.nix
index be429844d13d..a85c9d4f0fd4 100644
--- a/pkgs/development/python-modules/csvw/default.nix
+++ b/pkgs/development/python-modules/csvw/default.nix
@@ -10,6 +10,7 @@
   rfc3986,
   uritemplate,
   pytestCheckHook,
+  pytest-cov-stub,
   pytest-mock,
 }:
 
@@ -37,14 +38,10 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
+    pytest-cov-stub
     pytest-mock
   ];
 
-  patchPhase = ''
-    substituteInPlace setup.cfg \
-      --replace "--cov" ""
-  '';
-
   disabledTests =
     [
       # this test is flaky on darwin because it depends on the resolution of filesystem mtimes
diff --git a/pkgs/development/python-modules/cvxpy/default.nix b/pkgs/development/python-modules/cvxpy/default.nix
index c5b779eb01d0..a4324d13d1bb 100644
--- a/pkgs/development/python-modules/cvxpy/default.nix
+++ b/pkgs/development/python-modules/cvxpy/default.nix
@@ -32,7 +32,7 @@ buildPythonPackage rec {
     owner = "cvxpy";
     repo = "cvxpy";
     tag = "v${version}";
-    hash = "sha256-xbynw/9jUI41H7tYcARqqw5X+Cr8jDBMwxM6E9thpp0=";
+    hash = "sha256-dn29rAm0f0cgUFtnHSykBE2p/U/EPorozjuuLWuH/Tw=";
   };
 
   # we need to patch out numpy version caps from upstream
diff --git a/pkgs/development/python-modules/cyclopts/default.nix b/pkgs/development/python-modules/cyclopts/default.nix
index a043a16843d1..a8646fce5991 100644
--- a/pkgs/development/python-modules/cyclopts/default.nix
+++ b/pkgs/development/python-modules/cyclopts/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "cyclopts";
-  version = "3.16.2";
+  version = "3.19.0";
   pyproject = true;
 
   disabled = pythonOlder "3.12";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "BrianPugh";
     repo = "cyclopts";
     tag = "v${version}";
-    hash = "sha256-rwlJk19DLmiD7gAbknrRgcw+t3+mEfqth5P+aQB7eMM=";
+    hash = "sha256-WqBb4G4tAhgOISRRjauJhIT9imoNiF9pnp9QzY9tVZI=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/dash-bootstrap-templates/default.nix b/pkgs/development/python-modules/dash-bootstrap-templates/default.nix
index 29457bf57494..dd79408c18b5 100644
--- a/pkgs/development/python-modules/dash-bootstrap-templates/default.nix
+++ b/pkgs/development/python-modules/dash-bootstrap-templates/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "dash-bootstrap-templates";
-  version = "1.3.0";
+  version = "2.1.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "AnnMarieW";
     repo = "dash-bootstrap-templates";
-    rev = "V${version}";
-    hash = "sha256-dbXqqncxfIZ6traVQ2a/2E1Co4MVdoiU8ox6nBnqviE=";
+    tag = "V${version}";
+    hash = "sha256-B7iyN4sJA6DmoLf3DpFEONDe5tUd4cBlDIH4E7JtULk=";
   };
   build-system = [
     setuptools
@@ -39,7 +39,7 @@ buildPythonPackage rec {
   meta = {
     description = "A collection of 52 Plotly figure templates with a Bootstrap theme";
     homepage = "https://github.com/AnnMarieW/dash-bootstrap-templates";
-    changelog = "https://github.com/AnnMarieW/dash-bootstrap-templates/releases/tag/V${version}";
+    changelog = "https://github.com/AnnMarieW/dash-bootstrap-templates/releases/tag/${src.tag}";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ flokli ];
   };
diff --git a/pkgs/development/python-modules/databricks-sdk/default.nix b/pkgs/development/python-modules/databricks-sdk/default.nix
index 0dc60cdf4230..1b5325ec8400 100644
--- a/pkgs/development/python-modules/databricks-sdk/default.nix
+++ b/pkgs/development/python-modules/databricks-sdk/default.nix
@@ -21,14 +21,14 @@
 
 buildPythonPackage rec {
   pname = "databricks-sdk";
-  version = "0.56.0";
+  version = "0.57.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "databricks";
     repo = "databricks-sdk-py";
     tag = "v${version}";
-    hash = "sha256-xMwjyXv/X0rAc2kXk9OyTrYrTJEk3irpDPZ8z6LLSoM=";
+    hash = "sha256-QdqbUq2kzrP614BWIMdWAIKsVdXIG89BmLlh+Po98zI=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/datalad/default.nix b/pkgs/development/python-modules/datalad/default.nix
index d7e11df94ade..9b4e21b0d205 100644
--- a/pkgs/development/python-modules/datalad/default.nix
+++ b/pkgs/development/python-modules/datalad/default.nix
@@ -51,14 +51,14 @@
 
 buildPythonPackage rec {
   pname = "datalad";
-  version = "1.1.5";
+  version = "1.2.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "datalad";
     repo = "datalad";
     tag = version;
-    hash = "sha256-XwzYlSP2MbEb0U3tuVOq3NNqLTS08UzSfSFBidHbpAY=";
+    hash = "sha256-jLbtx6gNuMdZ34LVC7PY79k2w3B9aJ0ijCh9HhALQQc=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/datapoint/default.nix b/pkgs/development/python-modules/datapoint/default.nix
index 9b5bd87ec68d..07ba97fc1511 100644
--- a/pkgs/development/python-modules/datapoint/default.nix
+++ b/pkgs/development/python-modules/datapoint/default.nix
@@ -2,43 +2,40 @@
   lib,
   buildPythonPackage,
   fetchFromGitHub,
-  fetchpatch2,
   appdirs,
-  pytz,
+  geojson,
+  hatchling,
   requests,
   pytestCheckHook,
   requests-mock,
-  pythonOlder,
-  setuptools,
+  versioningit,
 }:
 
 buildPythonPackage rec {
   pname = "datapoint";
-  version = "0.9.9";
+  version = "0.13.0";
   pyproject = true;
 
-  disabled = pythonOlder "3.8";
-
   src = fetchFromGitHub {
-    owner = "ejep";
+    owner = "Perseudonymous";
     repo = "datapoint-python";
-    tag = "v${version}";
-    hash = "sha256-zUvwfBwJe8SaB96/Jz7Qeanz1mHmLVp2JW9qkR2dRnY=";
+    tag = version;
+    hash = "sha256-vgwuoG/2Lzo56cAiXEYNPsXQYfx8Cwg0NJgojDBxoug=";
   };
 
-  patches = [
-    (fetchpatch2 {
-      # Hardcode version (instead of using versioneer)
-      url = "https://github.com/EJEP/datapoint-python/commit/57e649b26ecf39fb11f507eb920b1d059d433721.patch";
-      hash = "sha256-trOPtwlaJDeA4Kau4fwZCxqJiw96+T/le461t09O8io=";
-    })
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace-fail 'dynamic = ["version"]' 'version = "${version}"'
+  '';
+
+  build-system = [
+    hatchling
+    versioningit
   ];
 
-  nativeBuildInputs = [ setuptools ];
-
-  propagatedBuildInputs = [
+  dependencies = [
     appdirs
-    pytz
+    geojson
     requests
   ];
 
@@ -47,14 +44,12 @@ buildPythonPackage rec {
     requests-mock
   ];
 
-  pytestFlagsArray = [ "tests/unit" ];
-
   pythonImportsCheck = [ "datapoint" ];
 
   meta = {
     description = "Python interface to the Met Office's Datapoint API";
-    homepage = "https://github.com/ejep/datapoint-python";
-    changelog = "https://github.com/EJEP/datapoint-python/blob/v${version}/CHANGELOG.md";
+    homepage = "https://github.com/Perseudonymous/datapoint-python";
+    changelog = "https://github.com/Perseudonymous/datapoint-python/blob/${src.tag}/CHANGELOG.md";
     license = lib.licenses.gpl3Only;
     maintainers = with lib.maintainers; [ dotlambda ];
   };
diff --git a/pkgs/development/python-modules/dbus-next/default.nix b/pkgs/development/python-modules/dbus-next/default.nix
index b73691b3ca24..ea9add04940d 100644
--- a/pkgs/development/python-modules/dbus-next/default.nix
+++ b/pkgs/development/python-modules/dbus-next/default.nix
@@ -6,7 +6,6 @@
   setuptools,
   dbus,
   pytest,
-  pytest-cov-stub,
   pytest-asyncio,
   pytest-timeout,
 }:
@@ -28,7 +27,6 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     dbus
     pytest
-    pytest-cov-stub
     pytest-asyncio
     pytest-timeout
   ];
@@ -42,7 +40,7 @@ buildPythonPackage rec {
   checkPhase = ''
     runHook preCheck
     dbus-run-session --config-file=${dbus}/share/dbus-1/session.conf \
-      ${python.interpreter} -m pytest -sv --cov=dbus_next \
+      ${python.interpreter} -m pytest -sv \
       -k "not test_peer_interface and not test_tcp_connection_with_forwarding"
     runHook postCheck
   '';
diff --git a/pkgs/development/python-modules/deebot-client/default.nix b/pkgs/development/python-modules/deebot-client/default.nix
index 1c0af2da2344..4b7d0bc16279 100644
--- a/pkgs/development/python-modules/deebot-client/default.nix
+++ b/pkgs/development/python-modules/deebot-client/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "deebot-client";
-  version = "13.2.1";
+  version = "13.3.0";
   pyproject = true;
 
   disabled = pythonOlder "3.13";
@@ -29,12 +29,12 @@ buildPythonPackage rec {
     owner = "DeebotUniverse";
     repo = "client.py";
     tag = version;
-    hash = "sha256-6R9ihxe63YMVgVk+5R9pDNT3a/c9lK28wNleVb5NcRA=";
+    hash = "sha256-dnh+3/viaaxlx3H0ceDH1N72kC1HBC7Szz+Gb6ryUJM=";
   };
 
   cargoDeps = rustPlatform.fetchCargoVendor {
     inherit pname version src;
-    hash = "sha256-GNqoP/Zz5xHl2cLz7AqRKXsfLXgdLbgXSK8EdBWtOAU=";
+    hash = "sha256-v8FtW1gPoPfOpcxUrM7g0LKR8k0VPR13hsHCPT8uLzs=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/development/python-modules/deform/default.nix b/pkgs/development/python-modules/deform/default.nix
index 27dbd22ea703..db38184d19ab 100644
--- a/pkgs/development/python-modules/deform/default.nix
+++ b/pkgs/development/python-modules/deform/default.nix
@@ -53,6 +53,6 @@ buildPythonPackage rec {
       lib.licenses.bsd3
       lib.licenses.cc-by-30
     ];
-    maintainers = with lib.maintainers; [ domenkozar ];
+    maintainers = with lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/deltalake/default.nix b/pkgs/development/python-modules/deltalake/default.nix
index 58fa044f6b7d..8732a1b2aa1a 100644
--- a/pkgs/development/python-modules/deltalake/default.nix
+++ b/pkgs/development/python-modules/deltalake/default.nix
@@ -12,7 +12,7 @@
   polars,
   pytestCheckHook,
   pytest-benchmark,
-  pytest-cov,
+  pytest-cov-stub,
   pytest-mock,
   pandas,
   azure-storage-blob,
@@ -64,7 +64,7 @@ buildPythonPackage rec {
     pandas
     polars
     pytest-benchmark
-    pytest-cov
+    pytest-cov-stub
     pytest-mock
     azure-storage-blob
   ];
@@ -78,7 +78,10 @@ buildPythonPackage rec {
     rm -rf deltalake
   '';
 
-  pytestFlagsArray = [ "-m 'not integration'" ];
+  pytestFlagsArray = [
+    "--benchmark-disable"
+    "-m 'not integration'"
+  ];
 
   meta = with lib; {
     description = "Native Rust library for Delta Lake, with bindings into Python";
diff --git a/pkgs/development/python-modules/demes/default.nix b/pkgs/development/python-modules/demes/default.nix
index 658acdb8156f..a3f73c6821b1 100644
--- a/pkgs/development/python-modules/demes/default.nix
+++ b/pkgs/development/python-modules/demes/default.nix
@@ -7,6 +7,7 @@
   attrs,
   pythonOlder,
   pytest7CheckHook,
+  pytest-cov-stub,
   pytest-xdist,
   numpy,
 }:
@@ -29,13 +30,9 @@ buildPythonPackage rec {
     attrs
   ];
 
-  postPatch = ''
-    # remove coverage arguments to pytest
-    sed -i '/--cov/d' setup.cfg
-  '';
-
   nativeCheckInputs = [
     pytest7CheckHook
+    pytest-cov-stub
     pytest-xdist
     numpy
   ];
diff --git a/pkgs/development/python-modules/demesdraw/default.nix b/pkgs/development/python-modules/demesdraw/default.nix
index 6a3c4d44e99a..35a51048d81d 100644
--- a/pkgs/development/python-modules/demesdraw/default.nix
+++ b/pkgs/development/python-modules/demesdraw/default.nix
@@ -10,6 +10,7 @@
   scipy,
   pythonOlder,
   pytestCheckHook,
+  pytest-cov-stub,
   pytest-xdist,
   mpmath,
 }:
@@ -34,17 +35,13 @@ buildPythonPackage rec {
     scipy
   ];
 
-  postPatch = ''
-    # remove coverage arguments to pytest
-    sed -i '/--cov/d' setup.cfg
-  '';
-
   # This variable is needed to suppress the "Trace/BPT trap: 5" error in Darwin's checkPhase.
   # Not sure of the details, but we can avoid it by changing the matplotlib backend during testing.
   env.MPLBACKEND = lib.optionalString stdenv.hostPlatform.isDarwin "Agg";
 
   nativeCheckInputs = [
     pytestCheckHook
+    pytest-cov-stub
     pytest-xdist
     mpmath
   ];
diff --git a/pkgs/development/python-modules/devito/default.nix b/pkgs/development/python-modules/devito/default.nix
index 34a18bca77af..3d2cc763a0e8 100644
--- a/pkgs/development/python-modules/devito/default.nix
+++ b/pkgs/development/python-modules/devito/default.nix
@@ -32,14 +32,14 @@
 
 buildPythonPackage rec {
   pname = "devito";
-  version = "4.8.17";
+  version = "4.8.18";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "devitocodes";
     repo = "devito";
     tag = "v${version}";
-    hash = "sha256-1aZSL23yNi/X9hnYKpIvgEOjEZtvPgTo5Pi5kKOWJhQ=";
+    hash = "sha256-DJwdtUAmhgiTPifj1UmrE7tnXUiK3FwAry0USp5xJP0=";
   };
 
   pythonRemoveDeps = [ "pip" ];
diff --git a/pkgs/development/python-modules/diff-cover/default.nix b/pkgs/development/python-modules/diff-cover/default.nix
index 25ef65d35a94..7f47a2f2cab9 100644
--- a/pkgs/development/python-modules/diff-cover/default.nix
+++ b/pkgs/development/python-modules/diff-cover/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "diff-cover";
-  version = "9.2.4";
+  version = "9.3.2";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "diff_cover";
     inherit version;
-    hash = "sha256-bqRHEfCRmaG4vKourgAuHzN90i8teY/P1ipqFVS7KoY=";
+    hash = "sha256-Kpkjn7iWhlDaR5aKg0YHtreXFD5dBAXiTEWnG+WQdVs=";
   };
 
   build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/discovery30303/default.nix b/pkgs/development/python-modules/discovery30303/default.nix
index 1b877818e397..bf498e5dcc20 100644
--- a/pkgs/development/python-modules/discovery30303/default.nix
+++ b/pkgs/development/python-modules/discovery30303/default.nix
@@ -4,6 +4,7 @@
   fetchFromGitHub,
   poetry-core,
   pytest-asyncio,
+  pytest-cov-stub,
   pytestCheckHook,
   pythonOlder,
 }:
@@ -22,15 +23,11 @@ buildPythonPackage rec {
     hash = "sha256-QIGLRe+nUV3tUOs+pu6Qk/2Amh9IVcQq89o2JeKiTvM=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace-fail " --cov=discovery30303" ""
-  '';
-
   nativeBuildInputs = [ poetry-core ];
 
   nativeCheckInputs = [
     pytest-asyncio
+    pytest-cov-stub
     pytestCheckHook
   ];
 
diff --git a/pkgs/development/python-modules/diskcache/default.nix b/pkgs/development/python-modules/diskcache/default.nix
index 8211267f2eb0..302eb675c39d 100644
--- a/pkgs/development/python-modules/diskcache/default.nix
+++ b/pkgs/development/python-modules/diskcache/default.nix
@@ -3,6 +3,7 @@
   stdenv,
   buildPythonPackage,
   fetchFromGitHub,
+  pytest-cov-stub,
   pytest-django,
   pytest-xdist,
   pytestCheckHook,
@@ -24,15 +25,12 @@ buildPythonPackage rec {
   };
 
   nativeCheckInputs = [
+    pytest-cov-stub
     pytest-django
     pytest-xdist
     pytestCheckHook
   ];
 
-  postPatch = ''
-    sed -i "/--cov/d" tox.ini
-  '';
-
   # Darwin sandbox causes most tests to fail
   doCheck = !stdenv.hostPlatform.isDarwin;
 
diff --git a/pkgs/development/python-modules/django-app-helper/default.nix b/pkgs/development/python-modules/django-app-helper/default.nix
index df44fd504147..e9eec971a51b 100644
--- a/pkgs/development/python-modules/django-app-helper/default.nix
+++ b/pkgs/development/python-modules/django-app-helper/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "django-app-helper";
-  version = "3.3.4";
+  version = "3.3.5";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "nephila";
     repo = "django-app-helper";
     tag = version;
-    hash = "sha256-4nFg8B1uxGJVY1jcGr0e2Oi14lqXcFOi0HJ+ogE2ikg=";
+    hash = "sha256-gnTEzmQ4h4FWc2+s68VW/yVAkKFdj4U2VMkJKTAnQOM=";
   };
 
   build-system = [ setuptools ];
@@ -56,7 +56,7 @@ buildPythonPackage rec {
   meta = {
     description = "Helper for Django applications development";
     homepage = "https://django-app-helper.readthedocs.io";
-    changelog = "https://github.com/nephila/django-app-helper/releases/tag/${version}";
+    changelog = "https://github.com/nephila/django-app-helper/releases/tag/${src.tag}";
     license = lib.licenses.gpl2Only;
     maintainers = [ lib.maintainers.onny ];
   };
diff --git a/pkgs/development/python-modules/django-apscheduler/default.nix b/pkgs/development/python-modules/django-apscheduler/default.nix
index e2f544615b0a..7fe31d8d3129 100644
--- a/pkgs/development/python-modules/django-apscheduler/default.nix
+++ b/pkgs/development/python-modules/django-apscheduler/default.nix
@@ -5,7 +5,7 @@
   setuptools,
   wheel,
   # dependencies
-  django_5,
+  django,
   apscheduler,
   # tests
   pytestCheckHook,
@@ -31,7 +31,7 @@ buildPythonPackage rec {
   ];
 
   dependencies = [
-    django_5
+    django
     apscheduler
   ];
 
diff --git a/pkgs/development/python-modules/django-hierarkey/default.nix b/pkgs/development/python-modules/django-hierarkey/default.nix
index 86220923db7b..c802318fe3cf 100644
--- a/pkgs/development/python-modules/django-hierarkey/default.nix
+++ b/pkgs/development/python-modules/django-hierarkey/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "django-hierarkey";
-  version = "1.2.0";
+  version = "1.2.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "raphaelm";
     repo = "django-hierarkey";
     tag = version;
-    hash = "sha256-1LSH9GwoNF3NrDVNUIHDAVsktyKIprDgB5XlIHeM3fM=";
+    hash = "sha256-GkCNVovo2bDCp6m2GBvusXsaBhcmJkPNu97OdtsYROY=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/django-markup/default.nix b/pkgs/development/python-modules/django-markup/default.nix
index e3b697a659c4..f5d5eeaaa93c 100644
--- a/pkgs/development/python-modules/django-markup/default.nix
+++ b/pkgs/development/python-modules/django-markup/default.nix
@@ -20,6 +20,7 @@
   textile,
 
   # tests
+  pytest-cov-stub,
   pytest-django,
   pytestCheckHook,
 }:
@@ -38,10 +39,6 @@ buildPythonPackage rec {
     hash = "sha256-dj5Z36W4Stly203SKWpR/DF+Wf7+ejbZnDCmHNRb3c0=";
   };
 
-  postPatch = ''
-    sed -i "/--cov/d" pyproject.toml
-  '';
-
   build-system = [ poetry-core ];
 
   dependencies = [ django ];
@@ -61,6 +58,7 @@ buildPythonPackage rec {
   pythonImportsCheck = [ "django_markup" ];
 
   nativeCheckInputs = [
+    pytest-cov-stub
     pytest-django
     pytestCheckHook
   ] ++ optional-dependencies.all_filter_dependencies;
diff --git a/pkgs/development/python-modules/django-mcp-server/default.nix b/pkgs/development/python-modules/django-mcp-server/default.nix
new file mode 100644
index 000000000000..225473cd7d23
--- /dev/null
+++ b/pkgs/development/python-modules/django-mcp-server/default.nix
@@ -0,0 +1,50 @@
+{
+  lib,
+  fetchFromGitHub,
+  buildPythonPackage,
+  django,
+  djangorestframework,
+  inflection,
+  mcp,
+  uritemplate,
+  poetry-core,
+}:
+
+buildPythonPackage rec {
+  pname = "django-mcp-server";
+  version = "0.5.4";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "omarbenhamid";
+    repo = "django-mcp-server";
+    tag = "v${version}";
+    hash = "sha256-MaJq+NCfYuNyvDhz5oZ3po5+XkJeE1qSOwcaqJfJl+o=";
+  };
+
+  build-system = [ poetry-core ];
+
+  dependencies = [
+    django
+    djangorestframework
+    inflection
+    mcp
+    uritemplate
+  ];
+
+  postFixup = ''
+    export PYTHONPATH="$PWD/examples:$PYTHONPATH"
+    export DJANGO_SETTINGS_MODULE=mcpexample.mcpexample.settings
+  '';
+
+  pythonImportsCheck = [ "mcp_server" ];
+
+  doCheck = false; # Needs to run both test server and client simultaneously
+
+  meta = {
+    description = "Django MCP Server implementation";
+    homepage = "https://github.com/omarbenhamid/django-mcp-server";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ mrmebelman ];
+  };
+}
diff --git a/pkgs/development/python-modules/django-phonenumber-field/default.nix b/pkgs/development/python-modules/django-phonenumber-field/default.nix
index 1890a3b70bc0..ca8d0552814c 100644
--- a/pkgs/development/python-modules/django-phonenumber-field/default.nix
+++ b/pkgs/development/python-modules/django-phonenumber-field/default.nix
@@ -9,22 +9,19 @@
   phonenumbers,
   phonenumberslite,
   python,
-  pythonOlder,
   setuptools-scm,
 }:
 
 buildPythonPackage rec {
   pname = "django-phonenumber-field";
-  version = "8.0.0";
+  version = "8.1.0";
   pyproject = true;
 
-  disabled = pythonOlder "3.8";
-
   src = fetchFromGitHub {
     owner = "stefanfoulis";
     repo = "django-phonenumber-field";
     tag = version;
-    hash = "sha256-l+BAh7QYGN0AgDHICvlQnBYAcpEn8acu+JBmoo85kF0=";
+    hash = "sha256-KRi2rUx88NYoQhRChmNABP8KalMbf4HhWC8Wwnc/xB4=";
   };
 
   build-system = [ setuptools-scm ];
@@ -60,7 +57,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Django model and form field for normalised phone numbers using python-phonenumbers";
     homepage = "https://github.com/stefanfoulis/django-phonenumber-field/";
-    changelog = "https://github.com/stefanfoulis/django-phonenumber-field/releases/tag/${version}";
+    changelog = "https://github.com/stefanfoulis/django-phonenumber-field/releases/tag/${src.tag}";
     license = licenses.mit;
     maintainers = with maintainers; [ sephi ];
   };
diff --git a/pkgs/development/python-modules/django-postgres-partition/default.nix b/pkgs/development/python-modules/django-postgres-partition/default.nix
index faf3774871e1..ad4069ab1e66 100644
--- a/pkgs/development/python-modules/django-postgres-partition/default.nix
+++ b/pkgs/development/python-modules/django-postgres-partition/default.nix
@@ -3,7 +3,7 @@
   buildPythonPackage,
   fetchPypi,
   setuptools,
-  django_5_2,
+  django,
   psycopg,
   python-dateutil,
 }:
@@ -21,8 +21,12 @@ buildPythonPackage rec {
 
   build-system = [ setuptools ];
 
+  pythonRelaxDeps = [
+    "django"
+  ];
+
   dependencies = [
-    django_5_2
+    django
     psycopg
     python-dateutil
   ];
diff --git a/pkgs/development/python-modules/django-prometheus/default.nix b/pkgs/development/python-modules/django-prometheus/default.nix
index 3e2c03771bf4..d07951e64222 100644
--- a/pkgs/development/python-modules/django-prometheus/default.nix
+++ b/pkgs/development/python-modules/django-prometheus/default.nix
@@ -1,8 +1,8 @@
 {
   lib,
   buildPythonPackage,
-  pythonOlder,
   fetchFromGitHub,
+  setuptools,
   prometheus-client,
   pytest-django,
   pytestCheckHook,
@@ -10,25 +10,27 @@
 
 buildPythonPackage rec {
   pname = "django-prometheus";
-  version = "2.3.1";
-  format = "setuptools";
-  disabled = pythonOlder "3.6";
+  version = "2.4.0";
+  pyproject = true;
 
   src = fetchFromGitHub {
-    owner = "korfuri";
+    owner = "django-commons";
     repo = "django-prometheus";
-    rev = "v${version}";
-    hash = "sha256-JiLH+4mmNdb9BN81J5YFiMPna/3gaKUK6ARjmCa3fE8=";
+    tag = "v${version}";
+    hash = "sha256-cKkpsV3w2SUvQuSBm0MlTsomdrU4h7CS5L+nKFvrKA8=";
   };
 
-  patches = [ ./drop-untestable-database-backends.patch ];
-
   postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace-fail "setuptools >= 67.7.2, < 72.0.0" setuptools
+
     substituteInPlace setup.py \
-      --replace '"pytest-runner"' ""
+      --replace-fail '"pytest-runner"' ""
   '';
 
-  propagatedBuildInputs = [ prometheus-client ];
+  build-system = [ setuptools ];
+
+  dependencies = [ prometheus-client ];
 
   pythonImportsCheck = [ "django_prometheus" ];
 
@@ -38,9 +40,9 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    changelog = "https://github.com/korfuri/django-prometheus/releases/tag/v${version}";
+    changelog = "https://github.com/django-commons/django-prometheus/releases/tag/v${version}";
     description = "Django middlewares to monitor your application with Prometheus.io";
-    homepage = "https://github.com/korfuri/django-prometheus";
+    homepage = "https://github.com/django-commons/django-prometheus";
     license = licenses.asl20;
     maintainers = with maintainers; [ hexa ];
   };
diff --git a/pkgs/development/python-modules/django-prometheus/drop-untestable-database-backends.patch b/pkgs/development/python-modules/django-prometheus/drop-untestable-database-backends.patch
deleted file mode 100644
index 41f1229c5e59..000000000000
--- a/pkgs/development/python-modules/django-prometheus/drop-untestable-database-backends.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-diff --git a/django_prometheus/tests/end2end/testapp/settings.py b/django_prometheus/tests/end2end/testapp/settings.py
-index cdd167f..5c6073b 100644
---- a/django_prometheus/tests/end2end/testapp/settings.py
-+++ b/django_prometheus/tests/end2end/testapp/settings.py
-@@ -53,33 +53,6 @@ DATABASES = {
-         "ENGINE": "django_prometheus.db.backends.sqlite3",
-         "NAME": "db.sqlite3",
-     },
--    # Comment this to not test django_prometheus.db.backends.postgres.
--    "postgresql": {
--        "ENGINE": "django_prometheus.db.backends.postgresql",
--        "NAME": "postgres",
--        "USER": "postgres",
--        "PASSWORD": "",
--        "HOST": "localhost",
--        "PORT": "5432",
--    },
--    # Comment this to not test django_prometheus.db.backends.postgis.
--    "postgis": {
--        "ENGINE": "django_prometheus.db.backends.postgis",
--        "NAME": "postgis",
--        "USER": "postgres",
--        "PASSWORD": "",
--        "HOST": "localhost",
--        "PORT": "5432",
--    },
--    # Comment this to not test django_prometheus.db.backends.mysql.
--    "mysql": {
--        "ENGINE": "django_prometheus.db.backends.mysql",
--        "NAME": "django_prometheus_1",
--        "USER": "root",
--        "PASSWORD": "",
--        "HOST": "127.0.0.1",
--        "PORT": "3306",
--    },
-     # The following databases are used by test_db.py only
-     "test_db_1": {
-         "ENGINE": "django_prometheus.db.backends.sqlite3",
diff --git a/pkgs/development/python-modules/django-stubs/default.nix b/pkgs/development/python-modules/django-stubs/default.nix
index cc36722e3867..fe7267097073 100644
--- a/pkgs/development/python-modules/django-stubs/default.nix
+++ b/pkgs/development/python-modules/django-stubs/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "django-stubs";
-  version = "5.1.3";
+  version = "5.2.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -24,9 +24,14 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "django_stubs";
     inherit version;
-    hash = "sha256-jCMLxb6+5tooK6iietFQPISgxM0vRuY9FJ520qY+Y5o=";
+    hash = "sha256-B+JcLTy/9b5UAif/N3GcyJ8hXfqqpesDinWwG7+7JyI=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace-fail "setuptools<79.0.0" setuptools
+  '';
+
   build-system = [ setuptools ];
 
   dependencies = [
diff --git a/pkgs/development/python-modules/django/4.nix b/pkgs/development/python-modules/django/4.nix
index d3fe21dfcd5c..a387637f8605 100644
--- a/pkgs/development/python-modules/django/4.nix
+++ b/pkgs/development/python-modules/django/4.nix
@@ -45,7 +45,7 @@
 
 buildPythonPackage rec {
   pname = "django";
-  version = "4.2.21";
+  version = "4.2.23";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -54,7 +54,7 @@ buildPythonPackage rec {
     owner = "django";
     repo = "django";
     rev = "refs/tags/${version}";
-    hash = "sha256-GiOPIuYJAkMPW8JccJvFEoQi36rCmySHeLB7mAmg6CM=";
+    hash = "sha256-h6VkMLg2XAVC0p+ItTs/2EqpYdZn9uNvv6ZwQHXP0bI=";
   };
 
   patches =
diff --git a/pkgs/development/python-modules/django/5_1.nix b/pkgs/development/python-modules/django/5_1.nix
index e172fb2d652d..741d75c86cd3 100644
--- a/pkgs/development/python-modules/django/5_1.nix
+++ b/pkgs/development/python-modules/django/5_1.nix
@@ -33,7 +33,6 @@
   pylibmc,
   pymemcache,
   python,
-  pywatchman,
   pyyaml,
   pytz,
   redis,
@@ -44,7 +43,7 @@
 
 buildPythonPackage rec {
   pname = "django";
-  version = "5.1.10";
+  version = "5.1.11";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -53,7 +52,7 @@ buildPythonPackage rec {
     owner = "django";
     repo = "django";
     rev = "refs/tags/${version}";
-    hash = "sha256-+VsTrlff1eBGaVBqRHNOivVXqBkfjZvY2dzawE1sOOQ=";
+    hash = "sha256-yHoK7NGa91QEVFLeHqJo126qNg1pTE7W6LEtbCLy4sw=";
   };
 
   patches =
@@ -108,7 +107,6 @@ buildPythonPackage rec {
     pillow
     pylibmc
     pymemcache
-    pywatchman
     pyyaml
     pytz
     redis
@@ -117,11 +115,6 @@ buildPythonPackage rec {
     tzdata
   ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
-  doCheck =
-    !stdenv.hostPlatform.isDarwin
-    # pywatchman depends on folly which does not support 32bits
-    && !stdenv.hostPlatform.is32bit;
-
   preCheck = ''
     # make sure the installed library gets imported
     rm -rf django
diff --git a/pkgs/development/python-modules/django/5_2.nix b/pkgs/development/python-modules/django/5_2.nix
index bc7d06c3dfb4..e2f72a774e82 100644
--- a/pkgs/development/python-modules/django/5_2.nix
+++ b/pkgs/development/python-modules/django/5_2.nix
@@ -33,7 +33,6 @@
   pylibmc,
   pymemcache,
   python,
-  pywatchman,
   pyyaml,
   pytz,
   redis,
@@ -44,7 +43,7 @@
 
 buildPythonPackage rec {
   pname = "django";
-  version = "5.2.2";
+  version = "5.2.3";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -53,7 +52,7 @@ buildPythonPackage rec {
     owner = "django";
     repo = "django";
     rev = "refs/tags/${version}";
-    hash = "sha256-x5PTE8oYA1VzErYXfuRzT4xNiMRnfEd6H9lEtB+HBkc=";
+    hash = "sha256-P2WnWkQbzqHNzlIac8boe2VIe2IBdCIB5J6av6J0nvg=";
   };
 
   patches =
@@ -101,7 +100,6 @@ buildPythonPackage rec {
     pillow
     pylibmc
     pymemcache
-    pywatchman
     pyyaml
     pytz
     redis
@@ -110,11 +108,6 @@ buildPythonPackage rec {
     tzdata
   ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
-  doCheck =
-    !stdenv.hostPlatform.isDarwin
-    # pywatchman depends on folly which does not support 32bits
-    && !stdenv.hostPlatform.is32bit;
-
   preCheck = ''
     # make sure the installed library gets imported
     rm -rf django
@@ -132,7 +125,8 @@ buildPythonPackage rec {
     runHook preCheck
 
     pushd tests
-    ${python.interpreter} runtests.py --settings=test_sqlite
+    # without --parallel=1, tests fail with an "unexpected error due to a database lock" on Darwin
+    ${python.interpreter} runtests.py --settings=test_sqlite ${lib.optionalString stdenv.hostPlatform.isDarwin "--parallel=1"}
     popd
 
     runHook postCheck
diff --git a/pkgs/development/python-modules/djangorestframework-stubs/default.nix b/pkgs/development/python-modules/djangorestframework-stubs/default.nix
index 986c09e304a1..ea67da1c9209 100644
--- a/pkgs/development/python-modules/djangorestframework-stubs/default.nix
+++ b/pkgs/development/python-modules/djangorestframework-stubs/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "djangorestframework-stubs";
-  version = "3.15.3";
+  version = "3.16.0";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "typeddjango";
     repo = "djangorestframework-stubs";
     tag = version;
-    hash = "sha256-6bs/FGCxxV1sE4J3aqzYS1wIr82mWlnGGXIuYOF5+dw=";
+    hash = "sha256-q/9tCMT79TMHIQ4KH8tiunaTt7L6IItwNYBFlbNxBcE=";
   };
 
   nativeBuildInputs = [ setuptools ];
diff --git a/pkgs/development/python-modules/dm-control/default.nix b/pkgs/development/python-modules/dm-control/default.nix
index c92df8ed1bab..f6e274f1b66c 100644
--- a/pkgs/development/python-modules/dm-control/default.nix
+++ b/pkgs/development/python-modules/dm-control/default.nix
@@ -29,14 +29,14 @@
 
 buildPythonPackage rec {
   pname = "dm-control";
-  version = "1.0.30";
+  version = "1.0.31";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "google-deepmind";
     repo = "dm_control";
     tag = version;
-    hash = "sha256-b2mFAZDDUaK3heDc2uPP5u39P5TDzkOLYePoRFQYLR8=";
+    hash = "sha256-myrOrbKjBz+qN61WX54CqIaHsidUUBhgHezsdZvQFJA=";
   };
 
   build-system = [
@@ -81,7 +81,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = {
-    changelog = "https://github.com/google-deepmind/dm_control/releases/tag/${version}";
+    changelog = "https://github.com/google-deepmind/dm_control/releases/tag/${src.tag}";
     description = "Google DeepMind's software stack for physics-based simulation and Reinforcement Learning environments, using MuJoCo";
     homepage = "https://github.com/google-deepmind/dm_control";
     license = lib.licenses.asl20;
diff --git a/pkgs/development/python-modules/dns-lexicon/default.nix b/pkgs/development/python-modules/dns-lexicon/default.nix
index d92fe015ea8c..b8883b92b9d9 100644
--- a/pkgs/development/python-modules/dns-lexicon/default.nix
+++ b/pkgs/development/python-modules/dns-lexicon/default.nix
@@ -35,6 +35,14 @@ buildPythonPackage rec {
     hash = "sha256-79/zz0TOCpx26TEo6gi9JDBQeVW2azWnxAjWr/FGRLA=";
   };
 
+  # https://beautiful-soup-4.readthedocs.io/en/latest/#method-names
+  postPatch = ''
+    sed 's/\/find_all/g' \
+      -i src/lexicon/_private/providers/*.py
+    sed 's/\/encode_contents/g' \
+      -i src/lexicon/_private/providers/*.py
+  '';
+
   nativeBuildInputs = [ poetry-core ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/docling-ibm-models/default.nix b/pkgs/development/python-modules/docling-ibm-models/default.nix
index 7959511f94b8..16b6122db933 100644
--- a/pkgs/development/python-modules/docling-ibm-models/default.nix
+++ b/pkgs/development/python-modules/docling-ibm-models/default.nix
@@ -29,14 +29,14 @@
 
 buildPythonPackage rec {
   pname = "docling-ibm-models";
-  version = "3.4.3";
+  version = "3.4.4";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "docling-project";
     repo = "docling-ibm-models";
     tag = "v${version}";
-    hash = "sha256-EcBlvb6UNHe2lZFBuC4eSa6Ka82HRNnsQqK/AQuPvoA=";
+    hash = "sha256-a2y4vXgALPRtLhdH0Tqqht1gpdcfa1Gv4puthKDMk7U=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/docling-parse/default.nix b/pkgs/development/python-modules/docling-parse/default.nix
index d83e5b4a31b7..a6e6fba0468c 100644
--- a/pkgs/development/python-modules/docling-parse/default.nix
+++ b/pkgs/development/python-modules/docling-parse/default.nix
@@ -23,14 +23,14 @@
 
 buildPythonPackage rec {
   pname = "docling-parse";
-  version = "4.0.1";
+  version = "4.0.5";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "docling-project";
     repo = "docling-parse";
     tag = "v${version}";
-    hash = "sha256-Po+0IepSTy4ChJVjjTuTZqt8/iLoSJK63bTkH+Xgtl8=";
+    hash = "sha256-H8/T9gwQ6MeNsNcJ5I9cVnQVFEXHfmqYCxhkxszD8/w=";
   };
 
   dontUseCmakeConfigure = true;
diff --git a/pkgs/development/python-modules/dramatiq-abort/default.nix b/pkgs/development/python-modules/dramatiq-abort/default.nix
index 165a209f21ee..b4130f701bfe 100644
--- a/pkgs/development/python-modules/dramatiq-abort/default.nix
+++ b/pkgs/development/python-modules/dramatiq-abort/default.nix
@@ -4,7 +4,7 @@
   fetchFromGitHub,
   gevent,
   pytestCheckHook,
-  pytest-cov,
+  pytest-cov-stub,
   dramatiq,
   redis,
   setuptools,
@@ -37,7 +37,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     redis
     pytestCheckHook
-    pytest-cov
+    pytest-cov-stub
   ];
 
   pythonImportsCheck = [ "dramatiq_abort" ];
diff --git a/pkgs/development/python-modules/dramatiq/default.nix b/pkgs/development/python-modules/dramatiq/default.nix
index 60055e50e3eb..5a53457793c6 100644
--- a/pkgs/development/python-modules/dramatiq/default.nix
+++ b/pkgs/development/python-modules/dramatiq/default.nix
@@ -9,6 +9,7 @@
   prometheus-client,
   pylibmc,
   pytestCheckHook,
+  pytest-cov-stub,
   redis,
   setuptools,
   watchdog,
@@ -54,6 +55,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
+    pytest-cov-stub
     pika
     redis
     pylibmc
@@ -61,8 +63,6 @@ buildPythonPackage rec {
 
   postPatch = ''
     sed -i ./setup.cfg \
-      -e 's:--cov dramatiq::' \
-      -e 's:--cov-report html::' \
       -e 's:--benchmark-autosave::' \
       -e 's:--benchmark-compare::' \
   '';
diff --git a/pkgs/development/python-modules/duckdb-engine/default.nix b/pkgs/development/python-modules/duckdb-engine/default.nix
index 623f42d0eb9d..e45d274b666e 100644
--- a/pkgs/development/python-modules/duckdb-engine/default.nix
+++ b/pkgs/development/python-modules/duckdb-engine/default.nix
@@ -2,38 +2,42 @@
   lib,
   buildPythonPackage,
   fetchFromGitHub,
-  pytestCheckHook,
-  pythonAtLeast,
-  pythonOlder,
-  python,
+
+  # build-system
+  poetry-core,
+
+  # dependencies
   duckdb,
+  sqlalchemy,
+
+  # testing
+  fsspec,
   hypothesis,
   pandas,
   pyarrow,
-  poetry-core,
   pytest-remotedata,
+  pytestCheckHook,
+  pythonAtLeast,
+  pythonOlder,
   snapshottest,
-  sqlalchemy,
   typing-extensions,
 }:
 
 buildPythonPackage rec {
   pname = "duckdb-engine";
-  version = "0.15.0";
+  version = "0.17.0";
   pyproject = true;
 
-  disabled = pythonOlder "3.8";
-
   src = fetchFromGitHub {
     repo = "duckdb_engine";
     owner = "Mause";
     tag = "v${version}";
-    hash = "sha256-mxv6xYO31MDzHvIf7Zk+kFtm6fX3x3AaJNn7RhvJ2fY=";
+    hash = "sha256-AhYCiIhi7jMWKIdDwZZ8MgfDg3F02/jooGLOp6E+E5g=";
   };
 
-  nativeBuildInputs = [ poetry-core ];
+  build-system = [ poetry-core ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     duckdb
     sqlalchemy
   ];
@@ -46,11 +50,12 @@ buildPythonPackage rec {
 
   checkInputs =
     [
+      fsspec
       hypothesis
       pandas
+      pyarrow
       pytest-remotedata
       typing-extensions
-      pyarrow
     ]
     ++ lib.optionals (pythonOlder "3.12") [
       # requires wasmer which is broken for python 3.12
@@ -68,27 +73,19 @@ buildPythonPackage rec {
     "duckdb_engine/tests/test_datatypes.py"
   ];
 
-  disabledTests =
-    [
-      # incompatible with duckdb 1.1.1
-      "test_with_cache"
-      # these aren't set for some reason
-      "test_user_agent"
-      "test_user_agent_with_custom_user_agent"
-    ]
-    ++ lib.optionals (python.pythonVersion == "3.11") [
-      # incompatible with duckdb 1.1.1
-      "test_all_types_reflection"
-      "test_nested_types"
-    ];
+  disabledTests = [
+    # user agent not available in nixpkgs
+    "test_user_agent"
+    "test_user_agent_with_custom_user_agent"
+  ];
 
   pythonImportsCheck = [ "duckdb_engine" ];
 
-  meta = with lib; {
+  meta = {
     description = "SQLAlchemy driver for duckdb";
     homepage = "https://github.com/Mause/duckdb_engine";
     changelog = "https://github.com/Mause/duckdb_engine/blob/${src.tag}/CHANGELOG.md";
-    license = licenses.mit;
-    maintainers = with maintainers; [ cpcloud ];
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ cpcloud ];
   };
 }
diff --git a/pkgs/development/python-modules/duckduckgo-search/default.nix b/pkgs/development/python-modules/duckduckgo-search/default.nix
index 3000bbdbe448..d0b75e3b85c8 100644
--- a/pkgs/development/python-modules/duckduckgo-search/default.nix
+++ b/pkgs/development/python-modules/duckduckgo-search/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "duckduckgo-search";
-  version = "8.0.2";
+  version = "8.0.4";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "deedy5";
     repo = "duckduckgo_search";
     tag = "v${version}";
-    hash = "sha256-Hbhrm++F6aVvJ//WAgyLNsJe+KS0cjnQ83I1ba72Ows=";
+    hash = "sha256-V7/KvoVNpIrYA9pLd/E6u/mpwPpeFJn1SRlHXUpEzYk=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/duecredit/default.nix b/pkgs/development/python-modules/duecredit/default.nix
index 5aa4505b9196..05977754a127 100644
--- a/pkgs/development/python-modules/duecredit/default.nix
+++ b/pkgs/development/python-modules/duecredit/default.nix
@@ -5,6 +5,7 @@
   pythonOlder,
   setuptools,
   pytestCheckHook,
+  pytest-cov-stub,
   vcrpy,
   citeproc-py,
   looseversion,
@@ -23,12 +24,6 @@ buildPythonPackage rec {
     hash = "sha256-/nOiDk+7LZcroB7fN97BsLoeZG7+XvTMrwxnJMoofUI=";
   };
 
-  postPatch = ''
-    substituteInPlace tox.ini  \
-      --replace-fail "--cov=duecredit" ""  \
-      --replace-fail "--cov-config=tox.ini" ""
-  '';
-
   nativeBuildInputs = [ setuptools ];
   propagatedBuildInputs = [
     citeproc-py
@@ -38,6 +33,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
+    pytest-cov-stub
     vcrpy
   ];
   disabledTests = [ "test_import_doi" ]; # tries to access network
diff --git a/pkgs/development/python-modules/dvc-gs/default.nix b/pkgs/development/python-modules/dvc-gs/default.nix
index e0894715e736..4df57143e949 100644
--- a/pkgs/development/python-modules/dvc-gs/default.nix
+++ b/pkgs/development/python-modules/dvc-gs/default.nix
@@ -9,12 +9,13 @@
 
 buildPythonPackage rec {
   pname = "dvc-gs";
-  version = "3.0.1";
+  version = "3.0.2";
   pyproject = true;
 
   src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-5UMKKX+4GCNm98S8kQsasQTY5cwi9hGhm84FFl3/7NQ=";
+    pname = "dvc_gs";
+    inherit version;
+    hash = "sha256-c5aTwNglCjkHS6Fsfc51K7Wn/5NEQtYIH/z9ftkxO5o=";
   };
 
   # Prevent circular dependency
diff --git a/pkgs/development/python-modules/dvc-objects/default.nix b/pkgs/development/python-modules/dvc-objects/default.nix
index bf9f89722b42..92f56107ebb9 100644
--- a/pkgs/development/python-modules/dvc-objects/default.nix
+++ b/pkgs/development/python-modules/dvc-objects/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "dvc-objects";
-  version = "5.1.0";
+  version = "5.1.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = "dvc-objects";
     tag = version;
-    hash = "sha256-CXZKya22i2PhHk/CYd10AlzkiOBo5xZfR9l4rnkaV5Y=";
+    hash = "sha256-NjpQJhpNkl+M+aFWG0AaPUc546F7L23PcduMKNtGDL4=";
   };
 
   postPatch = ''
@@ -54,7 +54,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Library for DVC objects";
     homepage = "https://github.com/iterative/dvc-objects";
-    changelog = "https://github.com/iterative/dvc-objects/releases/tag/${version}";
+    changelog = "https://github.com/iterative/dvc-objects/releases/tag/${src.tag}";
     license = licenses.asl20;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/dvc-s3/default.nix b/pkgs/development/python-modules/dvc-s3/default.nix
index faa0cec34d02..b3f824ce5cbf 100644
--- a/pkgs/development/python-modules/dvc-s3/default.nix
+++ b/pkgs/development/python-modules/dvc-s3/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "dvc-s3";
-  version = "3.2.0";
+  version = "3.2.1";
   pyproject = true;
 
   src = fetchPypi {
     pname = "dvc_s3";
     inherit version;
-    hash = "sha256-HQEqwdzkdlmYb5GBI7SJMc+bNCmrC0oi/UsCRIGFzrY=";
+    hash = "sha256-Q232TQJQaWOwIl1SctlZGFlfX4awrVqb7usQW7KsPSQ=";
   };
 
   # Prevent circular dependency
diff --git a/pkgs/development/python-modules/dvc/default.nix b/pkgs/development/python-modules/dvc/default.nix
index b92a3cd973bd..564efefd6e00 100644
--- a/pkgs/development/python-modules/dvc/default.nix
+++ b/pkgs/development/python-modules/dvc/default.nix
@@ -65,7 +65,7 @@
 
 buildPythonPackage rec {
   pname = "dvc";
-  version = "3.59.2";
+  version = "3.60.1";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -74,7 +74,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = "dvc";
     tag = version;
-    hash = "sha256-MAnbQ6VXhUqtRJu40sINDPTmEUgXovEPvBuHYc4EiAQ=";
+    hash = "sha256-e5QOWpx0Q47BJxnw9zWi483uezDN1pRevuBCrFGNpp0=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/development/python-modules/e2b-code-interpreter/default.nix b/pkgs/development/python-modules/e2b-code-interpreter/default.nix
new file mode 100644
index 000000000000..2e0f21bcf779
--- /dev/null
+++ b/pkgs/development/python-modules/e2b-code-interpreter/default.nix
@@ -0,0 +1,51 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+
+  # build-system
+  poetry-core,
+
+  # dependencies
+  attrs,
+  e2b,
+  httpx,
+}:
+
+buildPythonPackage rec {
+  pname = "e2b-code-interpreter";
+  inherit (e2b) version;
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "e2b-dev";
+    repo = "code-interpreter";
+    tag = "@e2b/code-interpreter-python@${version}";
+    hash = "sha256-a2rc7BtV+qwtqlB+JtLCs0BKN15yfwmG3XWWO8we2LA=";
+  };
+
+  sourceRoot = "${src.name}/python";
+
+  build-system = [
+    poetry-core
+  ];
+
+  dependencies = [
+    attrs
+    e2b
+    httpx
+  ];
+
+  pythonImportsCheck = [ "e2b_code_interpreter" ];
+
+  # Tests require an API key
+  # e2b.exceptions.AuthenticationException: API key is required, please visit the Team tab at https://e2b.dev/dashboard to get your API key.
+  doCheck = false;
+
+  meta = {
+    description = "E2B Code Interpreter - Stateful code execution";
+    homepage = "https://github.com/e2b-dev/code-interpreter/tree/main/python";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ GaetanLepage ];
+  };
+}
diff --git a/pkgs/development/python-modules/e2b/default.nix b/pkgs/development/python-modules/e2b/default.nix
new file mode 100644
index 000000000000..b69af4f5ca00
--- /dev/null
+++ b/pkgs/development/python-modules/e2b/default.nix
@@ -0,0 +1,63 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+
+  # build-system
+  poetry-core,
+
+  # dependencies
+  attrs,
+  httpcore,
+  httpx,
+  packaging,
+  protobuf,
+  python-dateutil,
+  typing-extensions,
+}:
+
+buildPythonPackage rec {
+  pname = "e2b";
+  version = "1.5.1";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "e2b-dev";
+    repo = "E2B";
+    tag = "@e2b/python-sdk@${version}";
+    hash = "sha256-6THRc4rv/mzOWbsN1FpUu56kjvHvVBssK2glNoGdSzI=";
+  };
+
+  sourceRoot = "${src.name}/packages/python-sdk";
+
+  build-system = [
+    poetry-core
+  ];
+
+  pythonRelaxDeps = [
+    "protobuf"
+  ];
+
+  dependencies = [
+    attrs
+    httpcore
+    httpx
+    packaging
+    protobuf
+    python-dateutil
+    typing-extensions
+  ];
+
+  pythonImportsCheck = [ "e2b" ];
+
+  # Tests require an API key
+  # e2b.exceptions.AuthenticationException: API key is required, please visit the Team tab at https://e2b.dev/dashboard to get your API key.
+  doCheck = false;
+
+  meta = {
+    description = "E2B SDK that give agents cloud environments";
+    homepage = "https://github.com/e2b-dev/E2B/blob/main/packages/python-sdk";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ GaetanLepage ];
+  };
+}
diff --git a/pkgs/development/python-modules/editdistpy/default.nix b/pkgs/development/python-modules/editdistpy/default.nix
index e5181df69975..c443084e362d 100644
--- a/pkgs/development/python-modules/editdistpy/default.nix
+++ b/pkgs/development/python-modules/editdistpy/default.nix
@@ -17,16 +17,16 @@
 
 buildPythonPackage rec {
   pname = "editdistpy";
-  version = "0.1.5";
+  version = "0.1.6";
   pyproject = true;
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "mammothb";
     repo = "editdistpy";
     tag = "v${version}";
-    hash = "sha256-kTaJkx1fdd2Rl4uhzxdZAFP/ArsM0qTPweJ1jlUcjxQ=";
+    hash = "sha256-bUdwhMFDIhHuIlcqIZt6mSh8xwW/2igw0QiWGvQBLC8=";
   };
 
   build-system = [
@@ -55,11 +55,11 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "editdistpy" ];
 
-  meta = with lib; {
+  meta = {
     description = "Fast Levenshtein and Damerau optimal string alignment algorithms";
     homepage = "https://github.com/mammothb/editdistpy";
-    changelog = "https://github.com/mammothb/editdistpy/releases/tag/v${version}";
-    license = licenses.mit;
-    maintainers = with maintainers; [ vizid ];
+    changelog = "https://github.com/mammothb/editdistpy/releases/tag/${src.tag}";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ vizid ];
   };
 }
diff --git a/pkgs/development/python-modules/emborg/default.nix b/pkgs/development/python-modules/emborg/default.nix
index 89ca1f0cb7d2..31d4a9950a54 100644
--- a/pkgs/development/python-modules/emborg/default.nix
+++ b/pkgs/development/python-modules/emborg/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "emborg";
-  version = "1.41";
+  version = "1.42";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "KenKundert";
     repo = "emborg";
     tag = "v${version}";
-    hash = "sha256-ViELR5pbGZc1vMxluHWBARuP6N031u+75WmJEYdckJo=";
+    hash = "sha256-/xinm/Jz4JVmm0jioLAhkbBueZCM0ehgt4gsgE7hX6I=";
   };
 
   nativeBuildInputs = [ flit-core ];
@@ -64,7 +64,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Interactive command line interface to Borg Backup";
     homepage = "https://github.com/KenKundert/emborg";
-    changelog = "https://github.com/KenKundert/emborg/releases/tag/v${version}";
+    changelog = "https://github.com/KenKundert/emborg/releases/tag/${src.tag}";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ jpetrucciani ];
   };
diff --git a/pkgs/development/python-modules/energyzero/default.nix b/pkgs/development/python-modules/energyzero/default.nix
index 9bf8f24b4da3..a3896ec4c5c9 100644
--- a/pkgs/development/python-modules/energyzero/default.nix
+++ b/pkgs/development/python-modules/energyzero/default.nix
@@ -6,6 +6,7 @@
   fetchFromGitHub,
   poetry-core,
   pytest-asyncio,
+  pytest-cov-stub,
   pytest-freezer,
   pytestCheckHook,
   pythonOlder,
@@ -29,8 +30,7 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace-fail '"0.0.0"' '"${version}"' \
-      --replace-fail 'addopts = "--cov"' ""
+      --replace-fail '"0.0.0"' '"${version}"'
   '';
 
   build-system = [ poetry-core ];
@@ -43,6 +43,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     aresponses
     pytest-asyncio
+    pytest-cov-stub
     pytest-freezer
     pytestCheckHook
     syrupy
diff --git a/pkgs/development/python-modules/env-canada/default.nix b/pkgs/development/python-modules/env-canada/default.nix
index 44a21d7c5882..a6122b3c86d7 100644
--- a/pkgs/development/python-modules/env-canada/default.nix
+++ b/pkgs/development/python-modules/env-canada/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "env-canada";
-  version = "0.10.2";
+  version = "0.11.2";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -28,8 +28,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "michaeldavie";
     repo = "env_canada";
-    tag = version;
-    hash = "sha256-OguS5oRo7wNQUvT33k6+Sg8GE4GipFo84F/13TADUpw=";
+    tag = "v${version}";
+    hash = "sha256-r0a2bMgWY6dH88aOJoNpmcSyQi207XDI3Ehu37kU9hY=";
   };
 
   build-system = [ setuptools ];
@@ -64,6 +64,8 @@ buildPythonPackage rec {
     "test_get_ec_sites"
     "test_ecradar"
     "test_historical_number_values"
+    "test_basemap_caching_behavior"
+    "test_layer_image_caching"
   ];
 
   pythonImportsCheck = [ "env_canada" ];
diff --git a/pkgs/development/python-modules/exceptiongroup/default.nix b/pkgs/development/python-modules/exceptiongroup/default.nix
index e60b527cfd44..8fb63dd1d074 100644
--- a/pkgs/development/python-modules/exceptiongroup/default.nix
+++ b/pkgs/development/python-modules/exceptiongroup/default.nix
@@ -6,6 +6,7 @@
   pytestCheckHook,
   pythonAtLeast,
   pythonOlder,
+  typing-extensions,
 }:
 
 buildPythonPackage rec {
@@ -22,7 +23,9 @@ buildPythonPackage rec {
     hash = "sha256-b3Z1NsYKp0CecUq8kaC/j3xR/ZZHDIw4MhUeadizz88=";
   };
 
-  nativeBuildInputs = [ flit-scm ];
+  build-system = [ flit-scm ];
+
+  dependencies = lib.optionals (pythonOlder "3.13") [ typing-extensions ];
 
   nativeCheckInputs = [ pytestCheckHook ];
 
diff --git a/pkgs/development/python-modules/falconpy/default.nix b/pkgs/development/python-modules/falconpy/default.nix
index b018861f08cf..d45bbc0dded8 100644
--- a/pkgs/development/python-modules/falconpy/default.nix
+++ b/pkgs/development/python-modules/falconpy/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "falconpy";
-  version = "1.5.2";
+  version = "1.5.3";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "CrowdStrike";
     repo = "falconpy";
     tag = "v${version}";
-    hash = "sha256-neZ0V0OpX1GTchkLdE+hKMRl9jKnJ/OCtXY0q1eAxzA=";
+    hash = "sha256-yK6delBTDnK5cP8mWIQZRfZClRsM2IeqjqrqOjbrlnc=";
   };
 
   build-system = [ hatchling ];
diff --git a/pkgs/development/python-modules/fastcrc/default.nix b/pkgs/development/python-modules/fastcrc/default.nix
index 1a87ccbec7c9..08f3ecacb279 100644
--- a/pkgs/development/python-modules/fastcrc/default.nix
+++ b/pkgs/development/python-modules/fastcrc/default.nix
@@ -42,6 +42,8 @@ buildPythonPackage {
     pytest-benchmark
   ];
 
+  pytestFlagsArray = [ "--benchmark-disable" ];
+
   # Python source files interfere with testing
   preCheck = ''
     rm -r fastcrc
diff --git a/pkgs/development/python-modules/fastembed/default.nix b/pkgs/development/python-modules/fastembed/default.nix
index 8349dc19f326..ea827ad40969 100644
--- a/pkgs/development/python-modules/fastembed/default.nix
+++ b/pkgs/development/python-modules/fastembed/default.nix
@@ -23,14 +23,14 @@
 
 buildPythonPackage rec {
   pname = "fastembed";
-  version = "0.7.0";
+  version = "0.7.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "qdrant";
     repo = "fastembed";
     tag = "v${version}";
-    hash = "sha256-CnUg6ZJ3VmKXbeWWsD0j4KTdUhqrgOP5PBnHtghugHQ=";
+    hash = "sha256-zftNBATvb9iCjEOWIg0Q8/1+VwQ1km/iob3TgOAfJbg=";
   };
 
   build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/feedparser/default.nix b/pkgs/development/python-modules/feedparser/default.nix
index 3d1bd3f4ee3b..0d2035d6c719 100644
--- a/pkgs/development/python-modules/feedparser/default.nix
+++ b/pkgs/development/python-modules/feedparser/default.nix
@@ -40,6 +40,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/kurtmckee/feedparser";
     changelog = "https://feedparser.readthedocs.io/en/latest/changelog.html";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/filesplit/default.nix b/pkgs/development/python-modules/filesplit/default.nix
new file mode 100644
index 000000000000..60d162d23f97
--- /dev/null
+++ b/pkgs/development/python-modules/filesplit/default.nix
@@ -0,0 +1,30 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  setuptools,
+}:
+
+buildPythonPackage rec {
+  pname = "filesplit";
+  version = "4.1.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "ram-jayapalan";
+    repo = "filesplit";
+    tag = "v${version}";
+    hash = "sha256-QttXCK/IalnOVilWQaE0FYhFglQ1nXDLUX3nOFI5Vrc=";
+  };
+
+  build-system = [ setuptools ];
+
+  pythonImportsCheck = [ "filesplit" ];
+
+  meta = {
+    description = "Split file into multiple chunks based on the given size";
+    homepage = "https://github.com/ram-jayapalan/filesplit";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ emaryn ];
+  };
+}
diff --git a/pkgs/development/python-modules/findimports/default.nix b/pkgs/development/python-modules/findimports/default.nix
index 14d9c4b146ce..ff12b9a3129a 100644
--- a/pkgs/development/python-modules/findimports/default.nix
+++ b/pkgs/development/python-modules/findimports/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "findimports";
-  version = "2.5.2";
+  version = "2.6.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "mgedmin";
     repo = "findimports";
     tag = version;
-    hash = "sha256-W4GKnIYOh3bk18yviL7GfMyXoWNLFWWDhKur9id1a78=";
+    hash = "sha256-2hhonlv7FF4s+wDOsBGnLsMxJEXlMlNbLEkI8HptyOI=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/firebase-admin/default.nix b/pkgs/development/python-modules/firebase-admin/default.nix
index d2d91cfe4bfe..2b4f9f979d73 100644
--- a/pkgs/development/python-modules/firebase-admin/default.nix
+++ b/pkgs/development/python-modules/firebase-admin/default.nix
@@ -1,6 +1,5 @@
 {
   lib,
-  stdenv,
   buildPythonPackage,
   fetchFromGitHub,
   setuptools,
@@ -9,8 +8,11 @@
   google-api-python-client,
   google-cloud-firestore,
   google-cloud-storage,
+  h2,
+  httpx,
   pyjwt,
   requests,
+  respx,
   pytestCheckHook,
   pytest-asyncio,
   pytest-localserver,
@@ -19,14 +21,14 @@
 
 buildPythonPackage rec {
   pname = "firebase-admin";
-  version = "6.8.0";
+  version = "6.9.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "firebase";
     repo = "firebase-admin-python";
     tag = "v${version}";
-    hash = "sha256-N8DidHocdIV5qFEPZIqWZPfxvIfJzd/+jXGk/OZBT1s=";
+    hash = "sha256-TB5YIprtSXHbeWlu9U4fDjWCZdO5vM695u28Hv6w2e0=";
   };
 
   build-system = [ setuptools ];
@@ -37,6 +39,7 @@ buildPythonPackage rec {
     google-api-python-client
     google-cloud-firestore
     google-cloud-storage
+    httpx
     pyjwt
     requests
   ];
@@ -46,6 +49,8 @@ buildPythonPackage rec {
     pytest-asyncio
     pytest-localserver
     pytest-mock
+    h2
+    respx
   ];
 
   __darwinAllowLocalNetworking = true;
diff --git a/pkgs/development/python-modules/firedrake/default.nix b/pkgs/development/python-modules/firedrake/default.nix
index d790c3315725..9318a4c8bd1d 100644
--- a/pkgs/development/python-modules/firedrake/default.nix
+++ b/pkgs/development/python-modules/firedrake/default.nix
@@ -57,32 +57,21 @@ let
 in
 buildPythonPackage rec {
   pname = "firedrake";
-  version = "2025.4.0.post0";
+  version = "2025.4.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "firedrakeproject";
     repo = "firedrake";
     tag = version;
-    hash = "sha256-wQOS4v/YkIwXdQq6JMvRbmyhnzvx6wj0O6aszNa5ZMw=";
+    hash = "sha256-p/yquIKWynGY7UESDNBCf1cM8zpy8beuuRxSrSMvj7c=";
   };
 
-  patches = [
-    (fetchpatch2 {
-      url = "https://github.com/firedrakeproject/firedrake/commit/b358e33ab12b3c4bc3819c9c6e9ed0930082b750.patch?full_index=1";
-      hash = "sha256-y00GB8njhmHgtAVvlv8ImsJe+hMCU1QFtbB8llEhv/I=";
-    })
-  ];
-
   postPatch =
+    # relax build-dependency petsc4py
     ''
-      # relax build-dependency petsc4py
       substituteInPlace pyproject.toml --replace-fail \
-        "petsc4py==3.23.0" "petsc4py"
-
-      # These scripts are used by official source distribution only,
-      # and do not make sense in our binary distribution.
-      sed -i '/firedrake-\(check\|status\|run-split-tests\)/d' pyproject.toml
+        "petsc4py==3.23.3" "petsc4py"
     ''
     + lib.optionalString stdenv.hostPlatform.isLinux ''
       substituteInPlace firedrake/petsc.py --replace-fail \
@@ -97,6 +86,7 @@ buildPythonPackage rec {
 
   pythonRelaxDeps = [
     "decorator"
+    "slepc4py"
   ];
 
   build-system = [
@@ -162,6 +152,11 @@ buildPythonPackage rec {
     writableTmpDirAsHomeHook
   ];
 
+  # These scripts are used by official sdist/editable_wheel only
+  postInstall = ''
+    rm $out/bin/firedrake-{check,status,run-split-tests}
+  '';
+
   preCheck = ''
     rm -rf firedrake pyop2 tinyasm tsfc
   '';
diff --git a/pkgs/development/python-modules/flask-dramatiq/default.nix b/pkgs/development/python-modules/flask-dramatiq/default.nix
index df943b1d8ed1..4aa30f39808a 100644
--- a/pkgs/development/python-modules/flask-dramatiq/default.nix
+++ b/pkgs/development/python-modules/flask-dramatiq/default.nix
@@ -8,6 +8,7 @@
   flask,
   requests,
   pytestCheckHook,
+  pytest-cov-stub,
   flask-migrate,
   periodiq,
   postgresql,
@@ -35,10 +36,6 @@ buildPythonPackage {
       --replace 'poetry.masonry.api' 'poetry.core.masonry.api'
 
     patchShebangs --build ./example.py
-
-    sed -i ./tests/unit/pytest.ini \
-      -e 's:--cov=flask_dramatiq::' \
-      -e 's:--cov-report=term-missing::'
   '';
 
   nativeBuildInputs = [ poetry-core ];
@@ -47,6 +44,7 @@ buildPythonPackage {
 
   nativeCheckInputs = [
     pytestCheckHook
+    pytest-cov-stub
     flask
     requests
     flask-migrate
diff --git a/pkgs/development/python-modules/flask-security/default.nix b/pkgs/development/python-modules/flask-security/default.nix
index e2ef928937dc..0297d67f6a03 100644
--- a/pkgs/development/python-modules/flask-security/default.nix
+++ b/pkgs/development/python-modules/flask-security/default.nix
@@ -45,7 +45,6 @@
   mongoengine,
   mongomock,
   peewee,
-  pony,
   pytestCheckHook,
   requests,
   zxcvbn,
@@ -111,7 +110,6 @@ buildPythonPackage rec {
       mongoengine
       mongomock
       peewee
-      pony
       pytestCheckHook
       requests
       zxcvbn
@@ -132,11 +130,11 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "flask_security" ];
 
-  meta = with lib; {
+  meta = {
     changelog = "https://github.com/pallets-eco/flask-security/blob/${src.tag}/CHANGES.rst";
     homepage = "https://github.com/pallets-eco/flask-security";
     description = "Quickly add security features to your Flask application";
-    license = licenses.mit;
-    maintainers = with maintainers; [ gador ];
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ gador ];
   };
 }
diff --git a/pkgs/development/python-modules/flask-sqlalchemy-lite/default.nix b/pkgs/development/python-modules/flask-sqlalchemy-lite/default.nix
index 3bee854ca196..61b0f178260b 100644
--- a/pkgs/development/python-modules/flask-sqlalchemy-lite/default.nix
+++ b/pkgs/development/python-modules/flask-sqlalchemy-lite/default.nix
@@ -2,6 +2,7 @@
   aiosqlite,
   buildPythonPackage,
   fetchFromGitHub,
+  fetchpatch2,
   flask,
   flit-core,
   lib,
@@ -21,6 +22,14 @@ buildPythonPackage rec {
     hash = "sha256-LpdPp5Gp74DSJqD1DJqwNeaMKdN5pEAUkxnKGYZcVis=";
   };
 
+  patches = [
+    # fix python3.13 compat
+    (fetchpatch2 {
+      url = "https://github.com/pallets-eco/flask-sqlalchemy-lite/commit/b4117beaa6caa0a5945d6e3451db8b80dc4cc8cf.patch?full_index=1";
+      hash = "sha256-zCeUWB3iuKqco030pULaRpRsIOpSRz9+VYxI/RQhIyw=";
+    })
+  ];
+
   build-system = [ flit-core ];
 
   dependencies =
diff --git a/pkgs/development/python-modules/flatbencode/default.nix b/pkgs/development/python-modules/flatbencode/default.nix
new file mode 100644
index 000000000000..c7511dd7e8aa
--- /dev/null
+++ b/pkgs/development/python-modules/flatbencode/default.nix
@@ -0,0 +1,39 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  hypothesis,
+  pytestCheckHook,
+  setuptools,
+}:
+
+buildPythonPackage rec {
+  pname = "flatbencode";
+  version = "0.2.1";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "acatton";
+    repo = "flatbencode";
+    tag = "v${version}";
+    hash = "sha256-1/4w41E8IKygJTBcQOexiDytV6BvVBwIjajKz2uCfu8=";
+  };
+
+  build-system = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    hypothesis
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "flatbencode" ];
+
+  meta = {
+    description = "Fast, safe and non-recursive implementation of Bittorrent bencoding";
+    homepage = "https://github.com/acatton/flatbencode";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ ambroisie ];
+  };
+}
diff --git a/pkgs/development/python-modules/flit-gettext/default.nix b/pkgs/development/python-modules/flit-gettext/default.nix
index cdf3dadf14ed..48d073c59bfc 100644
--- a/pkgs/development/python-modules/flit-gettext/default.nix
+++ b/pkgs/development/python-modules/flit-gettext/default.nix
@@ -15,6 +15,7 @@
   # tests
   build,
   pytestCheckHook,
+  pytest-cov-stub,
 }:
 
 buildPythonPackage rec {
@@ -35,10 +36,6 @@ buildPythonPackage rec {
     })
   ];
 
-  postPatch = ''
-    sed -i "s/--cov//" pyproject.toml
-  '';
-
   nativeBuildInputs = [
     flit-scm
     wheel
@@ -53,6 +50,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     build
     pytestCheckHook
+    pytest-cov-stub
     wheel
   ] ++ optional-dependencies.scm;
 
diff --git a/pkgs/development/python-modules/flufl/i18n.nix b/pkgs/development/python-modules/flufl/i18n.nix
index 3a7295e0a087..acfa292cc821 100644
--- a/pkgs/development/python-modules/flufl/i18n.nix
+++ b/pkgs/development/python-modules/flufl/i18n.nix
@@ -6,6 +6,7 @@
   atpublic,
   pdm-pep517,
   pytestCheckHook,
+  pytest-cov-stub,
   sybil,
 }:
 
@@ -22,11 +23,6 @@ buildPythonPackage rec {
     hash = "sha256-wKz6aggkJ9YBJ+o75XjC4Ddnn+Zi9hlYDnliwTc7DNs=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace "--cov=flufl --cov-report=term --cov-report=xml" ""
-  '';
-
   nativeBuildInputs = [ pdm-pep517 ];
 
   propagatedBuildInputs = [ atpublic ];
@@ -35,6 +31,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
+    pytest-cov-stub
     sybil
   ];
 
diff --git a/pkgs/development/python-modules/fontparts/default.nix b/pkgs/development/python-modules/fontparts/default.nix
index a2d3525343b3..e08bf189d472 100644
--- a/pkgs/development/python-modules/fontparts/default.nix
+++ b/pkgs/development/python-modules/fontparts/default.nix
@@ -20,14 +20,14 @@
 
 buildPythonPackage rec {
   pname = "fontparts";
-  version = "0.12.7";
+  version = "0.13.1";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-zg8QkiHh4UhhXdTRhDKulB+Q2E6GZyD0fnPIm6fWZGc=";
+    hash = "sha256-+oifxmY7MUkQj3Sy75wjRmoVEPkgZaO3+8/sauMMxYA=";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/fonttools/default.nix b/pkgs/development/python-modules/fonttools/default.nix
index b7f7b7e1326f..7fc9a62294a4 100644
--- a/pkgs/development/python-modules/fonttools/default.nix
+++ b/pkgs/development/python-modules/fonttools/default.nix
@@ -39,6 +39,12 @@ buildPythonPackage rec {
     hash = "sha256-ZkC1+I2d9wY9J7IoCGHGWG2gOVN7wW274UpN1lQxmJY=";
   };
 
+  patches = [
+    # https://github.com/fonttools/fonttools/pull/3855
+    # FIXME: remove when merged
+    ./python-3.13.4.patch
+  ];
+
   build-system = [
     setuptools
     setuptools-scm
diff --git a/pkgs/development/python-modules/fonttools/python-3.13.4.patch b/pkgs/development/python-modules/fonttools/python-3.13.4.patch
new file mode 100644
index 000000000000..c05def255b17
--- /dev/null
+++ b/pkgs/development/python-modules/fonttools/python-3.13.4.patch
@@ -0,0 +1,25 @@
+diff --git a/Lib/fontTools/feaLib/ast.py b/Lib/fontTools/feaLib/ast.py
+index efcce8c680..18e5a891d3 100644
+--- a/Lib/fontTools/feaLib/ast.py
++++ b/Lib/fontTools/feaLib/ast.py
+@@ -719,7 +719,8 @@ def __init__(self, prefix, glyphs, suffix, lookups, location=None):
+         for i, lookup in enumerate(lookups):
+             if lookup:
+                 try:
+-                    (_ for _ in lookup)
++                    for _ in lookup:
++                        break
+                 except TypeError:
+                     self.lookups[i] = [lookup]
+ 
+@@ -777,7 +778,8 @@ def __init__(self, prefix, glyphs, suffix, lookups, location=None):
+         for i, lookup in enumerate(lookups):
+             if lookup:
+                 try:
+-                    (_ for _ in lookup)
++                    for _ in lookup:
++                        break
+                 except TypeError:
+                     self.lookups[i] = [lookup]
+ 
+
diff --git a/pkgs/development/python-modules/fpdf2/default.nix b/pkgs/development/python-modules/fpdf2/default.nix
index f7b0f221e962..55a223cc859a 100644
--- a/pkgs/development/python-modules/fpdf2/default.nix
+++ b/pkgs/development/python-modules/fpdf2/default.nix
@@ -10,6 +10,7 @@
   fonttools,
 
   pytestCheckHook,
+  pytest-cov-stub,
   qrcode,
   camelot,
   uharfbuzz,
@@ -28,11 +29,6 @@ buildPythonPackage rec {
     hash = "sha256-NfHMmyFT+ZpqfRc41DetbFXs/twr12XagOkk3nGhrYk=";
   };
 
-  postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace-fail "--cov=fpdf --cov-report=xml" ""
-  '';
-
   nativeBuildInputs = [ setuptools ];
 
   propagatedBuildInputs = [
@@ -43,6 +39,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
+    pytest-cov-stub
     qrcode
     camelot
     uharfbuzz
diff --git a/pkgs/development/python-modules/fpylll/default.nix b/pkgs/development/python-modules/fpylll/default.nix
index f8539942e455..b6a0e447ea0a 100644
--- a/pkgs/development/python-modules/fpylll/default.nix
+++ b/pkgs/development/python-modules/fpylll/default.nix
@@ -24,14 +24,14 @@
 
 buildPythonPackage rec {
   pname = "fpylll";
-  version = "0.6.3";
+  version = "0.6.4";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "fplll";
     repo = "fpylll";
     tag = version;
-    hash = "sha256-3+DXfCUuHQG+VSzJGEPa8qP6oxC+nngMa44XyFCJAVY=";
+    hash = "sha256-vks4rTXk6fh8183PCxJzfTXQyo3scBH4afjbQAkT6Gw=";
   };
 
   nativeBuildInputs = [
@@ -48,7 +48,10 @@ buildPythonPackage rec {
     fplll
   ];
 
-  propagatedBuildInputs = [ numpy ];
+  propagatedBuildInputs = [
+    numpy
+    cysignals
+  ];
 
   nativeCheckInputs = [ pytestCheckHook ];
 
diff --git a/pkgs/development/python-modules/freenub/default.nix b/pkgs/development/python-modules/freenub/default.nix
index 6c3702f6bbf2..c06a6c80830e 100644
--- a/pkgs/development/python-modules/freenub/default.nix
+++ b/pkgs/development/python-modules/freenub/default.nix
@@ -8,6 +8,7 @@
   pycryptodomex,
   busypie,
   pytest-asyncio,
+  pytest-cov-stub,
   pytest-vcr,
   pytestCheckHook,
   requests,
@@ -28,10 +29,6 @@ buildPythonPackage rec {
     hash = "sha256-UkW/7KUQ4uCu3cxDSL+kw0gjKjs4KnmxRIOLVP4hwyA=";
   };
 
-  postPatch = ''
-    sed -i "/--cov/d" pyproject.toml
-  '';
-
   build-system = [ poetry-core ];
 
   dependencies = [
@@ -44,6 +41,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     busypie
     pytest-asyncio
+    pytest-cov-stub
     pytest-vcr
     pytestCheckHook
   ];
diff --git a/pkgs/development/python-modules/garminconnect/default.nix b/pkgs/development/python-modules/garminconnect/default.nix
index 72e5c7656c76..23b99708a471 100644
--- a/pkgs/development/python-modules/garminconnect/default.nix
+++ b/pkgs/development/python-modules/garminconnect/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "garminconnect";
-  version = "0.2.26";
+  version = "0.2.28";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "cyberjunky";
     repo = "python-garminconnect";
     tag = version;
-    hash = "sha256-Tvou4GLOjn+ZJvY8fSpi7gspXl16SsELBUCwcZrU8HI=";
+    hash = "sha256-dx1MqsZRDjz0U8RU2idW5GiJBQaSyXPxnEDPk0XkLCI=";
   };
 
   pythonRelaxDeps = [
@@ -44,7 +44,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Garmin Connect Python API wrapper";
     homepage = "https://github.com/cyberjunky/python-garminconnect";
-    changelog = "https://github.com/cyberjunky/python-garminconnect/releases/tag/${version}";
+    changelog = "https://github.com/cyberjunky/python-garminconnect/releases/tag/${src.tag}";
     license = licenses.mit;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/garth/default.nix b/pkgs/development/python-modules/garth/default.nix
index 54aa7860dd11..bb6ced542eb3 100644
--- a/pkgs/development/python-modules/garth/default.nix
+++ b/pkgs/development/python-modules/garth/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "garth";
-  version = "0.5.12";
+  version = "0.5.16";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-bzEPHhIg6F/WQOUoXuaVlZGxn9PU8VdevA/DQuQ7fBw=";
+    hash = "sha256-5ZmxL5JYHZB5sFrpaCF8vrCo45LAKVYfP/yfilmHprI=";
   };
 
   pythonRelaxDeps = [ "requests-oauthlib" ];
diff --git a/pkgs/development/python-modules/genie-partner-sdk/default.nix b/pkgs/development/python-modules/genie-partner-sdk/default.nix
index f55cff75cd6e..c61bd3a74a9c 100644
--- a/pkgs/development/python-modules/genie-partner-sdk/default.nix
+++ b/pkgs/development/python-modules/genie-partner-sdk/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "genie-partner-sdk";
-  version = "1.0.4";
+  version = "1.0.5";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit version;
     pname = "genie_partner_sdk";
-    hash = "sha256-DwbIe1pq1YKAA3hRlhYCVJ9xtvfxvoqLLjDSQicUKuw=";
+    hash = "sha256-JxsUaC7WgspUU9ngIc4GOjFr/lHjD2+5YlcLXtJH6LE=";
   };
 
   nativeBuildInputs = [ hatchling ];
diff --git a/pkgs/development/python-modules/gilknocker/default.nix b/pkgs/development/python-modules/gilknocker/default.nix
index e3a9438d8cab..06e0376e50d7 100644
--- a/pkgs/development/python-modules/gilknocker/default.nix
+++ b/pkgs/development/python-modules/gilknocker/default.nix
@@ -54,6 +54,8 @@ buildPythonPackage rec {
     pytest-rerunfailures
   ];
 
+  pytestFlagsArray = [ "--benchmark-disable" ];
+
   meta = {
     description = "Knock on the Python GIL, determine how busy it is";
     homepage = "https://github.com/milesgranger/gilknocker";
diff --git a/pkgs/development/python-modules/git-url-parse/default.nix b/pkgs/development/python-modules/git-url-parse/default.nix
index 67a0e5a38030..5327a2cbbbe1 100644
--- a/pkgs/development/python-modules/git-url-parse/default.nix
+++ b/pkgs/development/python-modules/git-url-parse/default.nix
@@ -4,6 +4,7 @@
   fetchFromGitHub,
   pbr,
   pytestCheckHook,
+  pytest-cov-stub,
 }:
 
 buildPythonPackage rec {
@@ -18,11 +19,6 @@ buildPythonPackage rec {
     hash = "sha256-+0V/C3wE02ppdDGn7iqdvmgsUwTR7THUakUilvkzoYg=";
   };
 
-  postPatch = ''
-    substituteInPlace pytest.ini \
-      --replace " --cov giturlparse --cov-report term-missing" ""
-  '';
-
   # Manually set version because prb wants to get it from the git
   # upstream repository (and we are installing from tarball instead)
   env.PBR_VERSION = version;
@@ -31,7 +27,10 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "giturlparse" ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cov-stub
+  ];
 
   meta = with lib; {
     description = "Simple GIT URL parser";
diff --git a/pkgs/development/python-modules/globus-sdk/default.nix b/pkgs/development/python-modules/globus-sdk/default.nix
index 2f3eab1ca574..0ac0cabdaef1 100644
--- a/pkgs/development/python-modules/globus-sdk/default.nix
+++ b/pkgs/development/python-modules/globus-sdk/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "globus-sdk";
-  version = "3.56.1";
+  version = "3.57.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "globus";
     repo = "globus-sdk-python";
     tag = version;
-    hash = "sha256-M7ZOtj8zekKrouiipOafKBQP/EhPY4hGODXAovBF5ew=";
+    hash = "sha256-pwAr8Z8Qoc+LjRtF2NRu4lAN/7ha7jogw1RnDhuobZs=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/glocaltokens/default.nix b/pkgs/development/python-modules/glocaltokens/default.nix
index 35fd6808add1..03d919fe5d1d 100644
--- a/pkgs/development/python-modules/glocaltokens/default.nix
+++ b/pkgs/development/python-modules/glocaltokens/default.nix
@@ -22,14 +22,14 @@
 
 buildPythonPackage rec {
   pname = "glocaltokens";
-  version = "0.7.3";
+  version = "0.7.4";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "leikoilja";
     repo = "glocaltokens";
     tag = "v${version}";
-    hash = "sha256-wX0L9sNjPbd5lXtFs5B3DG3gtZKhlZG9bnnBKV32rSE=";
+    hash = "sha256-lUPx4HtR9n9hFwKljtCg3CYP7hl88TOLWmQ2XZL+ejY=";
   };
 
   build-system = [
@@ -60,7 +60,7 @@ buildPythonPackage rec {
   meta = {
     description = "Library to extract google home devices local authentication tokens from google servers";
     homepage = "https://github.com/leikoilja/glocaltokens";
-    changelog = "https://github.com/leikoilja/glocaltokens/releases/tag/v${version}";
+    changelog = "https://github.com/leikoilja/glocaltokens/releases/tag/${src.tag}";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [
       hensoko
diff --git a/pkgs/development/python-modules/glyphslib/default.nix b/pkgs/development/python-modules/glyphslib/default.nix
index 88d17c067f6c..449b52c4c35a 100644
--- a/pkgs/development/python-modules/glyphslib/default.nix
+++ b/pkgs/development/python-modules/glyphslib/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "glyphslib";
-  version = "6.10.2";
+  version = "6.10.3";
 
   format = "pyproject";
 
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "googlefonts";
     repo = "glyphsLib";
     tag = "v${version}";
-    hash = "sha256-70qTvGYDbh6P57wbQGaKHmJYxOeY2xNN4cKL0tAJYEI=";
+    hash = "sha256-DLyWuFrAwc/ElGFjLxWY4RihwlQ143AUnWBzzJttZT4=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/go2rtc-client/default.nix b/pkgs/development/python-modules/go2rtc-client/default.nix
index e6f51c8d7fdb..e51eb685adc9 100644
--- a/pkgs/development/python-modules/go2rtc-client/default.nix
+++ b/pkgs/development/python-modules/go2rtc-client/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "go2rtc-client";
-  version = "0.1.2";
+  version = "0.2.1";
   pyproject = true;
 
   disabled = pythonOlder "3.12";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = "python-go2rtc-client";
     tag = version;
-    hash = "sha256-t4ewL4YvxdeDBBKDYapvDUK/Mt6zQ/hhOpVtW3dlmSg=";
+    hash = "sha256-d5N9IEmxCDKqDv4lD9tYyTPWtR6d86iCZzucx3Pbx7Y=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/gocardless-pro/default.nix b/pkgs/development/python-modules/gocardless-pro/default.nix
index ff29018beaac..41996ccf90fa 100644
--- a/pkgs/development/python-modules/gocardless-pro/default.nix
+++ b/pkgs/development/python-modules/gocardless-pro/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "gocardless-pro";
-  version = "3.0.0";
+  version = "3.1.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "gocardless";
     repo = "gocardless-pro-python";
     tag = "v${version}";
-    hash = "sha256-Bqqr3j9UJrwqxDdTEQMbWfkznHufnv1gk1Wd0SSF78M=";
+    hash = "sha256-NbUgntDZnre6raLGhC2NIY1DctaYInSk5JvsTRDO/dQ=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/google-cloud-bigquery-logging/default.nix b/pkgs/development/python-modules/google-cloud-bigquery-logging/default.nix
index ac6a036f99f0..ab590420e688 100644
--- a/pkgs/development/python-modules/google-cloud-bigquery-logging/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigquery-logging/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigquery-logging";
-  version = "1.6.2";
+  version = "1.6.3";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "google_cloud_bigquery_logging";
     inherit version;
-    hash = "sha256-sVWeTqq4drPOmlUXd6R2O44PpNfcbsglhXeh6umYMZI=";
+    hash = "sha256-55xND/MHByzkQEmjeOnTEDEASqUR5zB/OvDHFsAEt8U=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/google-cloud-bigtable/default.nix b/pkgs/development/python-modules/google-cloud-bigtable/default.nix
index 0c0b5f2d269b..926bd22406db 100644
--- a/pkgs/development/python-modules/google-cloud-bigtable/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigtable/default.nix
@@ -25,13 +25,13 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigtable";
-  version = "2.30.1";
+  version = "2.31.0";
 
   src = fetchFromGitHub {
     owner = "googleapis";
     repo = "python-bigtable";
     tag = "v${version}";
-    hash = "sha256-TciCYpnwfIIvOexp4Ing6grZ7ufFonwP2G26UzlNaJ4=";
+    hash = "sha256-ihS58yuLnxT9h4TilejP+WImzSZTWO7tOyjIRenmvpA=";
   };
 
   pyproject = true;
@@ -73,7 +73,7 @@ buildPythonPackage rec {
   meta = {
     description = "Google Cloud Bigtable API client library";
     homepage = "https://github.com/googleapis/python-bigtable";
-    changelog = "https://github.com/googleapis/python-bigtable/blob/v${version}/CHANGELOG.md";
+    changelog = "https://github.com/googleapis/python-bigtable/blob/${src.tag}/CHANGELOG.md";
     license = lib.licenses.asl20;
     maintainers = [ lib.maintainers.sarahec ];
   };
diff --git a/pkgs/development/python-modules/google-cloud-compute/default.nix b/pkgs/development/python-modules/google-cloud-compute/default.nix
index 5d0d2300d1c4..aaaf512a6f04 100644
--- a/pkgs/development/python-modules/google-cloud-compute/default.nix
+++ b/pkgs/development/python-modules/google-cloud-compute/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-compute";
-  version = "1.30.0";
+  version = "1.31.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "google_cloud_compute";
     inherit version;
-    hash = "sha256-iy0/43OA3lhZp4YIHZvMEgOg86IFMAg5on+CjVmCiic=";
+    hash = "sha256-SCX85iUIiCQdCym1jy961kkcCcyhTZOrey0/UIfRNLc=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/google-cloud-firestore/default.nix b/pkgs/development/python-modules/google-cloud-firestore/default.nix
index 7f11a1982b96..65d3db560bd4 100644
--- a/pkgs/development/python-modules/google-cloud-firestore/default.nix
+++ b/pkgs/development/python-modules/google-cloud-firestore/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-firestore";
-  version = "2.20.2";
+  version = "2.21.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "google_cloud_firestore";
     inherit version;
-    hash = "sha256-CtLjP6faC6j7fMwyT5HT9Xhmt3DiSEC9YvaicvdHxfk=";
+    hash = "sha256-DDf6qFBil/gn7vw4/rFVJHpty5pUEoljEBXRJfGwA/g=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/google-cloud-iam-logging/default.nix b/pkgs/development/python-modules/google-cloud-iam-logging/default.nix
index 70125b2cca3e..16d0079d75fc 100644
--- a/pkgs/development/python-modules/google-cloud-iam-logging/default.nix
+++ b/pkgs/development/python-modules/google-cloud-iam-logging/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-iam-logging";
-  version = "1.4.2";
+  version = "1.4.3";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "google_cloud_iam_logging";
     inherit version;
-    hash = "sha256-2tpXDDqP6JN9y8wqku/C3+I9ymns5EfxvfR5eeTDstU=";
+    hash = "sha256-fmS+DTZciJ1BWMk6pxAVe/7Lgt0Xk+uyS5DCRYXAOEA=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/google-cloud-language/default.nix b/pkgs/development/python-modules/google-cloud-language/default.nix
index c38f3601728c..3ca9a758b62a 100644
--- a/pkgs/development/python-modules/google-cloud-language/default.nix
+++ b/pkgs/development/python-modules/google-cloud-language/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-language";
-  version = "2.17.1";
+  version = "2.17.2";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "google_cloud_language";
     inherit version;
-    hash = "sha256-vtaZaZXaIaJwl+XvOG9wEB6xw5beDdtNabhzbB91NXw=";
+    hash = "sha256-OgXmZvH1uh/lM3UICsVRF8A7OfKm5j9BdetkKomGowQ=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/google-cloud-netapp/default.nix b/pkgs/development/python-modules/google-cloud-netapp/default.nix
index 5e8cec8ea9e3..cadc1ea2bccb 100644
--- a/pkgs/development/python-modules/google-cloud-netapp/default.nix
+++ b/pkgs/development/python-modules/google-cloud-netapp/default.nix
@@ -2,10 +2,10 @@
   lib,
   buildPythonPackage,
   fetchFromGitHub,
+  gitUpdater,
   google-api-core,
   google-auth,
   mock,
-  nix-update-script,
   proto-plus,
   protobuf,
   pytest-asyncio,
@@ -47,11 +47,8 @@ buildPythonPackage rec {
     "google.cloud.netapp_v1"
   ];
 
-  passthru.updateScript = nix-update-script {
-    extraArgs = [
-      "--version-regex"
-      "google-cloud-netapp-v([0-9.]+)"
-    ];
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "google-cloud-netapp-v";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/google-cloud-network-connectivity/default.nix b/pkgs/development/python-modules/google-cloud-network-connectivity/default.nix
index b3ea85b95c11..74c9bc3524ac 100644
--- a/pkgs/development/python-modules/google-cloud-network-connectivity/default.nix
+++ b/pkgs/development/python-modules/google-cloud-network-connectivity/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-network-connectivity";
-  version = "2.8.0";
+  version = "2.8.1";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit version;
     pname = "google_cloud_network_connectivity";
-    hash = "sha256-NHZII5BYlysvlPBxXSu9nN7uqh/Ly3dLtgEuTS9eQOw=";
+    hash = "sha256-U8czLn5ttFuJ2VynJ0R/fJlK9r0zC43qpP1aU8coorA=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/google-cloud-tasks/default.nix b/pkgs/development/python-modules/google-cloud-tasks/default.nix
index 0136e948a893..d941565b034b 100644
--- a/pkgs/development/python-modules/google-cloud-tasks/default.nix
+++ b/pkgs/development/python-modules/google-cloud-tasks/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-tasks";
-  version = "2.19.2";
+  version = "2.19.3";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "google_cloud_tasks";
     inherit version;
-    hash = "sha256-J2tH6F9IJZI6d41UP8BzXkskvkX3P6fZZK0WVUAtB9w=";
+    hash = "sha256-6dpTTzeT4N43+aOzSsNkdCCGXKcmwKxyFIxPchxIlNY=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/google-cloud-trace/default.nix b/pkgs/development/python-modules/google-cloud-trace/default.nix
index f2e1c6efe7fa..cadefb250167 100644
--- a/pkgs/development/python-modules/google-cloud-trace/default.nix
+++ b/pkgs/development/python-modules/google-cloud-trace/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-trace";
-  version = "1.16.1";
+  version = "1.16.2";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "google_cloud_trace";
     inherit version;
-    hash = "sha256-FTCLBPEtlY8rODGk92uXxhwMekaAS9xXDRkCSTgCnZo=";
+    hash = "sha256-ib7yI6USRllR60kzW+bWC+4DltV2YC2/VjaEOdMDyrQ=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/google-cloud-translate/default.nix b/pkgs/development/python-modules/google-cloud-translate/default.nix
index 85c10647d378..3e6d297351cd 100644
--- a/pkgs/development/python-modules/google-cloud-translate/default.nix
+++ b/pkgs/development/python-modules/google-cloud-translate/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-translate";
-  version = "3.20.2";
+  version = "3.20.3";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "google_cloud_translate";
     inherit version;
-    hash = "sha256-tUOE7lX0vF2WbO4OELCBT/7hN1wfKvcLkiDTvPWNhfg=";
+    hash = "sha256-bTZUx/h3O/ytddhBkPdbqe6vJp5j4L+3PD8QrVUR5Ps=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/google-cloud-videointelligence/default.nix b/pkgs/development/python-modules/google-cloud-videointelligence/default.nix
index ad71451b2fca..905cc7391254 100644
--- a/pkgs/development/python-modules/google-cloud-videointelligence/default.nix
+++ b/pkgs/development/python-modules/google-cloud-videointelligence/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-videointelligence";
-  version = "2.16.1";
+  version = "2.16.2";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "google_cloud_videointelligence";
     inherit version;
-    hash = "sha256-ajYSBZhvv5b8hKS5o2aTrymRpd5bWX94ncNcGmE7/Lk=";
+    hash = "sha256-SFv8MKhswRsxtYqpp6hA46WsW8eLFuhlOYnaV6TWmPk=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/google-cloud-vision/default.nix b/pkgs/development/python-modules/google-cloud-vision/default.nix
index eecb0bc116d6..b6db6d0345eb 100644
--- a/pkgs/development/python-modules/google-cloud-vision/default.nix
+++ b/pkgs/development/python-modules/google-cloud-vision/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-vision";
-  version = "3.10.1";
+  version = "3.10.2";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "google_cloud_vision";
     inherit version;
-    hash = "sha256-Ux4QGyzK2SJDOtRsRqR1KeZKCXM0bzD5GgEt4WOlIxE=";
+    hash = "sha256-ZJOA+quJM0QLYyv4gHLAw4KgjUmrArwLT7qCGIKuF2U=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/google-cloud-vpc-access/default.nix b/pkgs/development/python-modules/google-cloud-vpc-access/default.nix
index 78364c4e2f54..4700f7b3f748 100644
--- a/pkgs/development/python-modules/google-cloud-vpc-access/default.nix
+++ b/pkgs/development/python-modules/google-cloud-vpc-access/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-vpc-access";
-  version = "1.13.1";
+  version = "1.13.2";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "google_cloud_vpc_access";
     inherit version;
-    hash = "sha256-tgSvaJvXhEt6isC6C+w0APq2ULUYkKdva9vb6yZ4MYM=";
+    hash = "sha256-bfTho0kyaAQRWjAZJWFd/NFJ+EY7ZEtdOGcbb3MnJ6s=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/google-cloud-webrisk/default.nix b/pkgs/development/python-modules/google-cloud-webrisk/default.nix
index ae4d79f1fcf1..587a862f7508 100644
--- a/pkgs/development/python-modules/google-cloud-webrisk/default.nix
+++ b/pkgs/development/python-modules/google-cloud-webrisk/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-webrisk";
-  version = "1.18.0";
+  version = "1.18.1";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "google_cloud_webrisk";
     inherit version;
-    hash = "sha256-a+hb4chZzPaPduJihVmQHBd8arZ6MEKYBDFkNOvsprI=";
+    hash = "sha256-3OUxiDZtRfmipeyCW8in6+GkVnlilWgE8Hzr6G+1KQU=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/google-cloud-workflows/default.nix b/pkgs/development/python-modules/google-cloud-workflows/default.nix
index 399c24c3bf18..93db2fa7abb0 100644
--- a/pkgs/development/python-modules/google-cloud-workflows/default.nix
+++ b/pkgs/development/python-modules/google-cloud-workflows/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-workflows";
-  version = "1.18.1";
+  version = "1.18.2";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "google_cloud_workflows";
     inherit version;
-    hash = "sha256-wrwrvbZtWWyPYROv+f2wH6F+YlpyeDfRSh45ZUBk+9s=";
+    hash = "sha256-S7k2QZv+EQyfZ6RjG+NA/+a9IBQpnMTE+TIbXlIC1N8=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/google-cloud-workstations/default.nix b/pkgs/development/python-modules/google-cloud-workstations/default.nix
index fb0e8a943c34..9f0e6e0f73c1 100644
--- a/pkgs/development/python-modules/google-cloud-workstations/default.nix
+++ b/pkgs/development/python-modules/google-cloud-workstations/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-workstations";
-  version = "0.5.14";
+  version = "0.5.15";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "google_cloud_workstations";
     inherit version;
-    hash = "sha256-LwIsVouAh/obOaGx+EvT8gmEJ+NdQNSsfkwEtoxE07I=";
+    hash = "sha256-/lpcGxxc1razAXmESpn6JfVYkqj5gRoLiyWM3vXlqWk=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/google-genai/default.nix b/pkgs/development/python-modules/google-genai/default.nix
index 31d72928d775..76c5c3b78d66 100644
--- a/pkgs/development/python-modules/google-genai/default.nix
+++ b/pkgs/development/python-modules/google-genai/default.nix
@@ -1,10 +1,13 @@
 {
+  aiohttp,
   anyio,
   buildPythonPackage,
   fetchFromGitHub,
   google-auth,
   httpx,
   lib,
+  packaging,
+  pkginfo,
   pydantic,
   pytestCheckHook,
   requests,
@@ -16,17 +19,19 @@
 
 buildPythonPackage rec {
   pname = "google-genai";
-  version = "1.17.0";
+  version = "1.20.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "googleapis";
     repo = "python-genai";
     tag = "v${version}";
-    hash = "sha256-ks8MU+Sg6TM57QiNmZD6rTGF8Di32mKtHFTF1pCTouQ=";
+    hash = "sha256-7DwLIK3/VCVSt9lq0Q0IRbhfLXOWw1TbPpDgI4jr9cg=";
   };
 
   build-system = [
+    packaging
+    pkginfo
     setuptools
     twine
   ];
@@ -43,6 +48,10 @@ buildPythonPackage rec {
     websockets
   ];
 
+  optional-dependencies = {
+    aiohttp = [ aiohttp ];
+  };
+
   pythonImportsCheck = [ "google.genai" ];
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/google-geo-type/default.nix b/pkgs/development/python-modules/google-geo-type/default.nix
index 799aa784e8bf..eacfc022a157 100644
--- a/pkgs/development/python-modules/google-geo-type/default.nix
+++ b/pkgs/development/python-modules/google-geo-type/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-geo-type";
-  version = "0.3.12";
+  version = "0.3.13";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "googleapis";
     repo = "google-cloud-python";
     tag = "google-geo-type-v${version}";
-    hash = "sha256-5PzidE1CWN+pt7+gcAtbuXyL/pq6cnn0MCRkBfmeUSw=";
+    hash = "sha256-VYkgkVrUgBiUEFF2J8ZFrh2Sw7h653stYxNcpYfRAj4=";
   };
 
   sourceRoot = "${src.name}/packages/google-geo-type";
diff --git a/pkgs/development/python-modules/google-maps-routing/default.nix b/pkgs/development/python-modules/google-maps-routing/default.nix
index 96bfbc5fa606..aedf5d723e17 100644
--- a/pkgs/development/python-modules/google-maps-routing/default.nix
+++ b/pkgs/development/python-modules/google-maps-routing/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "google-maps-routing";
-  version = "0.6.15";
+  version = "0.6.16";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "googleapis";
     repo = "google-cloud-python";
     tag = "google-maps-routing-v${version}";
-    hash = "sha256-5PzidE1CWN+pt7+gcAtbuXyL/pq6cnn0MCRkBfmeUSw=";
+    hash = "sha256-VYkgkVrUgBiUEFF2J8ZFrh2Sw7h653stYxNcpYfRAj4=";
   };
 
   sourceRoot = "${src.name}/packages/google-maps-routing";
diff --git a/pkgs/development/python-modules/gotify/default.nix b/pkgs/development/python-modules/gotify/default.nix
index 9b1118937bc7..d2dcf8b0803d 100644
--- a/pkgs/development/python-modules/gotify/default.nix
+++ b/pkgs/development/python-modules/gotify/default.nix
@@ -33,7 +33,7 @@ buildPythonPackage rec {
   ];
 
   # tests raise an exception if the system is not Linux or Windows
-  doCheck = !stdenv.isDarwin;
+  doCheck = !stdenv.buildPlatform.isDarwin;
 
   # tests require gotify-server to be located in ./tests/test-server/gotify-linux-{arch}
   postPatch = ''
diff --git a/pkgs/development/python-modules/gphoto2/default.nix b/pkgs/development/python-modules/gphoto2/default.nix
index 58e3d19d3701..81a2a6275642 100644
--- a/pkgs/development/python-modules/gphoto2/default.nix
+++ b/pkgs/development/python-modules/gphoto2/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "gphoto2";
-  version = "2.6.0";
+  version = "2.6.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "jim-easterbrook";
     repo = "python-gphoto2";
     tag = "v${version}";
-    hash = "sha256-S/uMP2kRXJDetpXT4+MmCvb35xSxEbzhtKJ0PbHIOIU=";
+    hash = "sha256-842otUAcPvwEfcXGNGhFReKbv6DykLNaEkMiN6j9/CM=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/gpiozero/default.nix b/pkgs/development/python-modules/gpiozero/default.nix
index 30fb18a81f1d..516de75e2d74 100644
--- a/pkgs/development/python-modules/gpiozero/default.nix
+++ b/pkgs/development/python-modules/gpiozero/default.nix
@@ -16,6 +16,7 @@
 
   # tests
   pytestCheckHook,
+  pytest-cov-stub,
 }:
 
 buildPythonPackage rec {
@@ -32,11 +33,6 @@ buildPythonPackage rec {
     hash = "sha256-ifdCFcMH6SrhKQK/TJJ5lJafSfAUzd6ZT5ANUzJGwxI=";
   };
 
-  postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace " --cov" ""
-  '';
-
   outputs = [
     "out"
     "doc"
@@ -50,7 +46,10 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ colorzero ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cov-stub
+  ];
 
   pythonImportsCheck = [
     "gpiozero"
diff --git a/pkgs/development/python-modules/granian/default.nix b/pkgs/development/python-modules/granian/default.nix
index 6c9b5ceba619..d60db2dc4269 100644
--- a/pkgs/development/python-modules/granian/default.nix
+++ b/pkgs/development/python-modules/granian/default.nix
@@ -1,6 +1,5 @@
 {
   lib,
-  stdenv,
   fetchFromGitHub,
   rustPlatform,
   cacert,
@@ -14,26 +13,33 @@
   pytest-asyncio,
   websockets,
   httpx,
-  rust-jemalloc-sys,
   sniffio,
   nix-update-script,
 }:
 
 buildPythonPackage rec {
   pname = "granian";
-  version = "2.3.2";
+  version = "2.3.4";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "emmett-framework";
     repo = "granian";
     tag = "v${version}";
-    hash = "sha256-qJ65ILj7xLqOWmpn1UzNQHUnzFg714gntVSmYHpI65I=";
+    hash = "sha256-PoNHpxumBdVllfpbVMYDV8KnDqIDP+XQcrkvs6tdNKg=";
   };
 
+  # Granian forces a custom allocator for all the things it runs,
+  # which breaks some libraries in funny ways. Make it not do that,
+  # and allow the final application to make the allocator decision
+  # via LD_PRELOAD or similar.
+  patches = [
+    ./no-alloc.patch
+  ];
+
   cargoDeps = rustPlatform.fetchCargoVendor {
     inherit pname version src;
-    hash = "sha256-swfqKp8AsxNAUc7dlce6J4dNQbNGWrCcUDc31AhuMmI=";
+    hash = "sha256-0tEYewojStfXRrcI8LVR1T7c5EETkYXVfClsHCUNPrM=";
   };
 
   nativeBuildInputs = with rustPlatform; [
@@ -41,22 +47,6 @@ buildPythonPackage rec {
     maturinBuildHook
   ];
 
-  buildInputs = lib.optionals (stdenv.hostPlatform.isAarch64) [
-    # fix "Unsupported system page size" on aarch64-linux with 16k pages
-    # https://github.com/NixOS/nixpkgs/issues/410572
-    # only enabled on aarch64 due to https://github.com/NixOS/nixpkgs/pull/410611#issuecomment-2939564567
-    (rust-jemalloc-sys.overrideAttrs (
-      { configureFlags, ... }:
-      {
-        configureFlags = configureFlags ++ [
-          # otherwise import check fails with:
-          # ImportError: {{storeDir}}/lib/libjemalloc.so.2: cannot allocate memory in static TLS block
-          "--disable-initial-exec-tls"
-        ];
-      }
-    ))
-  ];
-
   dependencies = [
     click
   ];
diff --git a/pkgs/development/python-modules/granian/no-alloc.patch b/pkgs/development/python-modules/granian/no-alloc.patch
new file mode 100644
index 000000000000..d3dc138fb293
--- /dev/null
+++ b/pkgs/development/python-modules/granian/no-alloc.patch
@@ -0,0 +1,50 @@
+diff --git a/Cargo.toml b/Cargo.toml
+index 4e6676f..1657d61 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -40,7 +40,6 @@ hyper = { version = "=1.6", features = ["http1", "http2", "server"] }
+ hyper-util = { version = "=0.1", features = ["server-auto", "tokio"] }
+ itertools = "0.14"
+ log = "0.4"
+-mimalloc = { version = "0.1.43", default-features = false, features = ["local_dynamic_tls"], optional = true }
+ mime_guess = "=2.0"
+ pem = "=3.0"
+ percent-encoding = "=2.3"
+@@ -56,15 +55,9 @@ tokio-stream = "0.1"
+ tokio-tungstenite = "=0.26"
+ tokio-util = { version = "0.7", features = ["codec", "rt"] }
+ 
+-[target.'cfg(not(any(target_env = "musl", target_os = "freebsd", target_os = "openbsd", target_os = "windows")))'.dependencies]
+-tikv-jemallocator = { version = "0.6.0", default-features = false, features = ["disable_initial_exec_tls"] }
+-
+ [build-dependencies]
+ pyo3-build-config = "=0.25"
+ 
+-[features]
+-mimalloc = ["dep:mimalloc"]
+-
+ [profile.release]
+ codegen-units = 1
+ debug = false
+diff --git a/src/lib.rs b/src/lib.rs
+index 9172842..6c41005 100644
+--- a/src/lib.rs
++++ b/src/lib.rs
+@@ -1,17 +1,3 @@
+-#[cfg(not(any(
+-    target_env = "musl",
+-    target_os = "freebsd",
+-    target_os = "openbsd",
+-    target_os = "windows",
+-    feature = "mimalloc"
+-)))]
+-#[global_allocator]
+-static GLOBAL: tikv_jemallocator::Jemalloc = tikv_jemallocator::Jemalloc;
+-
+-#[cfg(feature = "mimalloc")]
+-#[global_allocator]
+-static GLOBAL: mimalloc::MiMalloc = mimalloc::MiMalloc;
+-
+ use pyo3::prelude::*;
+ use std::sync::OnceLock;
+ 
diff --git a/pkgs/development/python-modules/graphql-core/default.nix b/pkgs/development/python-modules/graphql-core/default.nix
index 419c62ea4cf4..1d1966183540 100644
--- a/pkgs/development/python-modules/graphql-core/default.nix
+++ b/pkgs/development/python-modules/graphql-core/default.nix
@@ -39,6 +39,8 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  pytestFlagsArray = [ "--benchmark-disable" ];
+
   pythonImportsCheck = [ "graphql" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/graphviz/default.nix b/pkgs/development/python-modules/graphviz/default.nix
index 9af39497f215..49d7d3d68b34 100644
--- a/pkgs/development/python-modules/graphviz/default.nix
+++ b/pkgs/development/python-modules/graphviz/default.nix
@@ -2,7 +2,6 @@
   lib,
   stdenv,
   buildPythonPackage,
-  pythonOlder,
   fetchFromGitHub,
   replaceVars,
   graphviz-nox,
@@ -11,24 +10,22 @@
   freefont_ttf,
   setuptools,
   mock,
-  pytest_7,
+  pytest-cov-stub,
   pytest-mock,
-  python,
+  pytest7CheckHook,
+  writableTmpDirAsHomeHook,
 }:
 
 buildPythonPackage rec {
   pname = "graphviz";
-  version = "0.20.3";
+  version = "0.21";
   pyproject = true;
 
-  disabled = pythonOlder "3.8";
-
-  # patch does not apply to PyPI tarball due to different line endings
   src = fetchFromGitHub {
     owner = "xflr6";
     repo = "graphviz";
     tag = version;
-    hash = "sha256-IqjqcBEL4BK/VfRjdxJ9t/DkG8OMAoXJxbW5JXpALuw=";
+    hash = "sha256-o6woY+UhbsJtUqIzYGXlC0Pw3su7WG4xlAKSslSADwI=";
   };
 
   patches = [
@@ -38,10 +35,6 @@ buildPythonPackage rec {
     })
   ];
 
-  postPatch = ''
-    sed -i "/--cov/d" setup.cfg
-  '';
-
   # Fontconfig error: Cannot load default config file
   FONTCONFIG_FILE = makeFontsConf { fontDirectories = [ freefont_ttf ]; };
 
@@ -49,26 +42,20 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     mock
-    pytest_7
+    pytest-cov-stub
     pytest-mock
+    pytest7CheckHook
+    writableTmpDirAsHomeHook
   ];
 
-  checkPhase = ''
-    runHook preCheck
-
-    HOME=$TMPDIR ${python.interpreter} run-tests.py
-
-    runHook postCheck
-  '';
-
   # Too many failures due to attempting to connect to com.apple.fonts daemon
   doCheck = !stdenv.hostPlatform.isDarwin;
 
-  meta = with lib; {
+  meta = {
     description = "Simple Python interface for Graphviz";
     homepage = "https://github.com/xflr6/graphviz";
-    changelog = "https://github.com/xflr6/graphviz/blob/${src.rev}/CHANGES.rst";
-    license = licenses.mit;
-    maintainers = with maintainers; [ dotlambda ];
+    changelog = "https://github.com/xflr6/graphviz/blob/${src.tag}/CHANGES.rst";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ dotlambda ];
   };
 }
diff --git a/pkgs/development/python-modules/gridnet/default.nix b/pkgs/development/python-modules/gridnet/default.nix
index 6763a42291a6..6b89ae50b019 100644
--- a/pkgs/development/python-modules/gridnet/default.nix
+++ b/pkgs/development/python-modules/gridnet/default.nix
@@ -6,6 +6,7 @@
   fetchFromGitHub,
   poetry-core,
   pytest-asyncio,
+  pytest-cov-stub,
   pytestCheckHook,
   pythonOlder,
   yarl,
@@ -27,8 +28,7 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace "0.0.0" "${version}" \
-      --replace "--cov" ""
+      --replace "0.0.0" "${version}"
   '';
 
   nativeBuildInputs = [ poetry-core ];
@@ -41,6 +41,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     aresponses
     pytest-asyncio
+    pytest-cov-stub
     pytestCheckHook
   ];
 
diff --git a/pkgs/development/python-modules/guestfs/default.nix b/pkgs/development/python-modules/guestfs/default.nix
deleted file mode 100644
index 020809959b5f..000000000000
--- a/pkgs/development/python-modules/guestfs/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{
-  lib,
-  pythonAtLeast,
-  buildPythonPackage,
-  fetchurl,
-  libguestfs,
-  qemu,
-}:
-
-buildPythonPackage rec {
-  pname = "guestfs";
-  version = "1.40.2";
-  format = "setuptools";
-
-  # FIXME: "error: implicit declaration of function 'PyEval_ThreadsInitialized'"
-  # https://bugzilla.redhat.com/show_bug.cgi?id=2343777
-  disabled = pythonAtLeast "3.13";
-
-  src = fetchurl {
-    url = "http://download.libguestfs.org/python/guestfs-${version}.tar.gz";
-    hash = "sha256-GCKwkhrIXPz0hPrwe3YrhlEr6TuDYQivDzpMlZ+CAzI=";
-  };
-
-  propagatedBuildInputs = [
-    libguestfs
-    qemu
-  ];
-
-  # no tests
-  doCheck = false;
-  pythonImportsCheck = [ "guestfs" ];
-
-  meta = with lib; {
-    homepage = "https://libguestfs.org/guestfs-python.3.html";
-    description = "Use libguestfs from Python";
-    license = licenses.lgpl2Plus;
-    maintainers = with maintainers; [ grahamc ];
-    inherit (libguestfs.meta) platforms;
-  };
-}
diff --git a/pkgs/development/python-modules/h5io/default.nix b/pkgs/development/python-modules/h5io/default.nix
index 8b17e173d80e..0d5f24dd1382 100644
--- a/pkgs/development/python-modules/h5io/default.nix
+++ b/pkgs/development/python-modules/h5io/default.nix
@@ -12,6 +12,7 @@
 
   # tests
   pytestCheckHook,
+  pytest-cov-stub,
   scipy,
   tables,
 }:
@@ -28,13 +29,6 @@ buildPythonPackage rec {
     hash = "sha256-ZkG9e7KtDvoRq9XCExYseE+Z7tMQTWcSiwsSrN5prdI=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml  \
-      --replace "--cov-report=" ""  \
-      --replace "--cov-branch" ""  \
-      --replace "--cov=h5io" ""
-  '';
-
   build-system = [ setuptools-scm ];
 
   dependencies = [
@@ -44,6 +38,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
+    pytest-cov-stub
     scipy
     tables
   ];
diff --git a/pkgs/development/python-modules/habiticalib/default.nix b/pkgs/development/python-modules/habiticalib/default.nix
index d10e2ca5760e..38a63ef68c4f 100644
--- a/pkgs/development/python-modules/habiticalib/default.nix
+++ b/pkgs/development/python-modules/habiticalib/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "habiticalib";
-  version = "0.3.7";
+  version = "0.4.0";
   pyproject = true;
 
   disabled = pythonOlder "3.12";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "tr4nt0r";
     repo = "habiticalib";
     tag = "v${version}";
-    hash = "sha256-i2yGPTZiinErWK7vX/3mwBtO4rjUhoEORhnXkFplUcM=";
+    hash = "sha256-RYtTJavfw5gQTo0m/Dgkv/6ghv+T5SSaaweiI370OOA=";
   };
 
   build-system = [
@@ -64,7 +64,7 @@ buildPythonPackage rec {
   meta = {
     description = "Library for the Habitica API";
     homepage = "https://github.com/tr4nt0r/habiticalib";
-    changelog = "https://github.com/tr4nt0r/habiticalib/releases/tag/v${version}";
+    changelog = "https://github.com/tr4nt0r/habiticalib/releases/tag/${src.tag}";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/habluetooth/default.nix b/pkgs/development/python-modules/habluetooth/default.nix
index 895aaa2ba5a6..57cc3ed08892 100644
--- a/pkgs/development/python-modules/habluetooth/default.nix
+++ b/pkgs/development/python-modules/habluetooth/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "habluetooth";
-  version = "3.48.2";
+  version = "3.49.0";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = "habluetooth";
     tag = "v${version}";
-    hash = "sha256-zhvsw8b4IkD0hB0Mhn/AKEYhFyPbOMbouEbpHbwNTo8=";
+    hash = "sha256-+jv6345Qfay66hl4KBy93B3AMg4lwN/DtjohuFvh9+M=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/hass-nabucasa/default.nix b/pkgs/development/python-modules/hass-nabucasa/default.nix
index 007c9e2862d0..09e4965c1e3e 100644
--- a/pkgs/development/python-modules/hass-nabucasa/default.nix
+++ b/pkgs/development/python-modules/hass-nabucasa/default.nix
@@ -23,7 +23,7 @@
 
 buildPythonPackage rec {
   pname = "hass-nabucasa";
-  version = "0.96.0";
+  version = "0.101.0";
   pyproject = true;
 
   disabled = pythonOlder "3.13";
@@ -32,13 +32,16 @@ buildPythonPackage rec {
     owner = "nabucasa";
     repo = "hass-nabucasa";
     tag = version;
-    hash = "sha256-U6rxX1VgSpOkmd/kyf2thYF/0TtsguWbVxXaeuq/wvs=";
+    hash = "sha256-AxkLvSXGCs31rDcoo0PWqG8p/CC2/oj4XzZ2j882Ma4=";
   };
 
-  pythonRelaxDeps = [ "acme" ];
-
   build-system = [ setuptools ];
 
+  pythonRelaxDeps = [
+    "acme"
+    "josepy"
+  ];
+
   dependencies = [
     acme
     aiohttp
diff --git a/pkgs/development/python-modules/haystack-ai/default.nix b/pkgs/development/python-modules/haystack-ai/default.nix
index 2c367cc70cb1..dec9d6684d27 100644
--- a/pkgs/development/python-modules/haystack-ai/default.nix
+++ b/pkgs/development/python-modules/haystack-ai/default.nix
@@ -42,7 +42,7 @@
   pylint,
   pytest,
   pytest-asyncio,
-  pytest-cov-stub,
+  pytest-cov,
   # , pytest-custom-exit-code
   python-multipart,
   reno,
@@ -167,7 +167,7 @@ buildPythonPackage rec {
       pylint
       pytest
       pytest-asyncio
-      pytest-cov-stub
+      pytest-cov
       # pytest-custom-exit-code
       python-multipart
       reno
diff --git a/pkgs/development/python-modules/hdate/default.nix b/pkgs/development/python-modules/hdate/default.nix
index 0134d4b9398e..078bcada5de4 100644
--- a/pkgs/development/python-modules/hdate/default.nix
+++ b/pkgs/development/python-modules/hdate/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "hdate";
-  version = "1.1.0";
+  version = "1.1.2";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "py-libhdate";
     repo = "py-libhdate";
     tag = "v${version}";
-    hash = "sha256-NNaspGNfrtZqo9sUOJVyYlJT7dhr/nzueuaqewUMlpM=";
+    hash = "sha256-nM9LHcXuDpQ2j4ACF6W5H3iTJcKdbcY4bkbumIkKyeE=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/development/python-modules/heif-image-plugin/default.nix b/pkgs/development/python-modules/heif-image-plugin/default.nix
new file mode 100644
index 000000000000..0216fa39fb53
--- /dev/null
+++ b/pkgs/development/python-modules/heif-image-plugin/default.nix
@@ -0,0 +1,34 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  cffi,
+  piexif,
+  pillow,
+}:
+
+buildPythonPackage rec {
+  pname = "heif-image-plugin";
+  version = "0.6.2";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "uploadcare";
+    repo = "heif-image-plugin";
+    rev = "v${version}";
+    hash = "sha256-SlnnlBscNelNH0XkOenq3nolyqzRMK10SzVii61Moi4=";
+  };
+
+  propagatedBuildInputs = [
+    cffi
+    piexif
+    pillow
+  ];
+
+  meta = {
+    description = "Simple HEIF/HEIC images plugin for Pillow base on pyhief library";
+    homepage = "https://github.com/uploadcare/heif-image-plugin";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ ratcornu ];
+  };
+}
diff --git a/pkgs/development/python-modules/here-routing/default.nix b/pkgs/development/python-modules/here-routing/default.nix
index d8e6e4a3c800..8175d9f11d90 100644
--- a/pkgs/development/python-modules/here-routing/default.nix
+++ b/pkgs/development/python-modules/here-routing/default.nix
@@ -1,7 +1,6 @@
 {
   lib,
   buildPythonPackage,
-  pythonOlder,
   fetchFromGitHub,
   hatchling,
   aiohttp,
@@ -9,28 +8,22 @@
   yarl,
   aresponses,
   pytest-asyncio,
+  pytest-cov-stub,
   pytestCheckHook,
 }:
 
 buildPythonPackage rec {
   pname = "here-routing";
-  version = "1.0.1";
-
-  disabled = pythonOlder "3.10";
-
+  version = "1.1.3";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "eifinger";
     repo = "here_routing";
-    rev = "v${version}";
-    hash = "sha256-sdNs5QNYvL1Cpbk9Yi+7PSiDZ6LEgAXQ19IYSAY78p0=";
+    tag = "v${version}";
+    hash = "sha256-56Sx8pbfsuCj7mqG15HK3QoGGiQDFFrbkOdNedV+HY4=";
   };
 
-  postPatch = ''
-    sed -i "/^addopts/d" pyproject.toml
-  '';
-
   build-system = [ hatchling ];
 
   dependencies = [
@@ -42,13 +35,14 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     aresponses
     pytest-asyncio
+    pytest-cov-stub
     pytestCheckHook
   ];
 
   pythonImportsCheck = [ "here_routing" ];
 
   meta = {
-    changelog = "https://github.com/eifinger/here_routing/releases/tag/v${version}";
+    changelog = "https://github.com/eifinger/here_routing/releases/tag/${src.tag}";
     description = "Asynchronous Python client for the HERE Routing V8 API";
     homepage = "https://github.com/eifinger/here_routing";
     license = lib.licenses.mit;
diff --git a/pkgs/development/python-modules/hf-xet/default.nix b/pkgs/development/python-modules/hf-xet/default.nix
index 2d2f2aa5cb84..0d174dd22bf4 100644
--- a/pkgs/development/python-modules/hf-xet/default.nix
+++ b/pkgs/development/python-modules/hf-xet/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "hf-xet";
-  version = "1.1.3";
+  version = "1.1.4";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "huggingface";
     repo = "xet-core";
     tag = "v${version}";
-    hash = "sha256-Xj9Nq+Pg9sYfe06LyUVicBqnQRYwI/VCSo6n+YrvEnc=";
+    hash = "sha256-pS9FbSybswyboHQwczISYkHAcLclu97zbCMG9olv/D4=";
   };
 
   sourceRoot = "${src.name}/hf_xet";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
       src
       sourceRoot
       ;
-    hash = "sha256-zJS1jBbE45F1JU0ROGXYJbZGfvuJSn/4GvML5xfhPbk=";
+    hash = "sha256-kBOiukGheqg7twoD++9Z3n+LqQsTAUqyQi0obUeNh08=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/highctidh/default.nix b/pkgs/development/python-modules/highctidh/default.nix
new file mode 100644
index 000000000000..446681574df6
--- /dev/null
+++ b/pkgs/development/python-modules/highctidh/default.nix
@@ -0,0 +1,45 @@
+{
+  lib,
+  buildPythonPackage,
+  setuptools,
+  pytestCheckHook,
+  fetchFromGitea,
+}:
+buildPythonPackage rec {
+  pname = "highctidh";
+  version = "1.0.2025051200";
+  pyproject = true;
+
+  src = fetchFromGitea {
+    domain = "codeberg.org";
+    owner = "vula";
+    repo = "highctidh";
+    tag = "v${version}";
+    hash = "sha256-wGJv9UHAFfCOpTrr8THVk0DC+JUtj3gYYOf6o3EaSqg=";
+  };
+
+  sourceRoot = "${src.name}/src";
+
+  build-system = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "highctidh"
+  ];
+
+  meta = {
+    description = "Fork of high-ctidh as as a portable shared library with Python bindings";
+    homepage = "https://codeberg.org/vula/highctidh";
+    license = lib.licenses.publicDomain;
+    teams = with lib.teams; [ ngi ];
+    maintainers = with lib.maintainers; [
+      lorenzleutgeb
+      mightyiam
+    ];
+  };
+}
diff --git a/pkgs/development/python-modules/holidays/default.nix b/pkgs/development/python-modules/holidays/default.nix
index c1ffa46c7724..ff6409bd328e 100644
--- a/pkgs/development/python-modules/holidays/default.nix
+++ b/pkgs/development/python-modules/holidays/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "holidays";
-  version = "0.74";
+  version = "0.75";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "vacanza";
     repo = "python-holidays";
     tag = "v${version}";
-    hash = "sha256-lc8yNZ7ZFBjIPiIlT7uCvHX81uMstTGv0Rsbx8RUGh0=";
+    hash = "sha256-xlDCIQb1XeMi+uNIkqMgm1t+fDSuQlqgOx57LnAuyVo=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/homematicip/default.nix b/pkgs/development/python-modules/homematicip/default.nix
index e7f7530d152a..fb1feb4dc972 100644
--- a/pkgs/development/python-modules/homematicip/default.nix
+++ b/pkgs/development/python-modules/homematicip/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "homematicip";
-  version = "2.0.1.1";
+  version = "2.0.5";
   pyproject = true;
 
   disabled = pythonOlder "3.12";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "hahn-th";
     repo = "homematicip-rest-api";
     tag = version;
-    hash = "sha256-klDyrbIJeAm3C7sCo4Z4OKDvm5+V8mfwYbyS22CKVQU=";
+    hash = "sha256-WvE5JTpAjRGLP7haIwD5hKOvz3hM7paV2jyds/yCxg8=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/horizon-eda/default.nix b/pkgs/development/python-modules/horizon-eda/default.nix
index e444dc2705ca..c083572ed019 100644
--- a/pkgs/development/python-modules/horizon-eda/default.nix
+++ b/pkgs/development/python-modules/horizon-eda/default.nix
@@ -1,5 +1,6 @@
 {
   buildPythonPackage,
+  fetchpatch,
   horizon-eda,
   pycairo,
   python,
@@ -15,13 +16,21 @@ buildPythonPackage {
     version
     src
     meta
-    CASROOT
+    env
     ;
 
   pyproject = false;
 
   disabled = pythonOlder "3.9";
 
+  patches = [
+    # Replaces osmesa with EGL_PLATFORM_SURFACELESS_MESA
+    (fetchpatch {
+      url = "https://github.com/horizon-eda/horizon/commit/663a8adaa1cb7eae7a824de07df8909bc33677c3.patch";
+      hash = "sha256-g0rP9NBDdDijh35Y2h4me9N5R/mjCn+2w7uhnv9bweY=";
+    })
+  ];
+
   buildInputs = base.buildInputs ++ [
     python
   ];
diff --git a/pkgs/development/python-modules/html5lib/default.nix b/pkgs/development/python-modules/html5lib/default.nix
index 0d294f93b7a6..fb6e80b44995 100644
--- a/pkgs/development/python-modules/html5lib/default.nix
+++ b/pkgs/development/python-modules/html5lib/default.nix
@@ -53,7 +53,6 @@ buildPythonPackage rec {
     '';
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [
-      domenkozar
       prikhi
     ];
   };
diff --git a/pkgs/development/python-modules/htmlmin/default.nix b/pkgs/development/python-modules/htmlmin/default.nix
index be5f6c485cfa..f528ef06fb4f 100644
--- a/pkgs/development/python-modules/htmlmin/default.nix
+++ b/pkgs/development/python-modules/htmlmin/default.nix
@@ -2,28 +2,36 @@
   lib,
   buildPythonPackage,
   fetchPypi,
-  pythonAtLeast,
+  setuptools,
+  standard-cgi,
 }:
 
 buildPythonPackage rec {
   pname = "htmlmin";
   version = "0.1.12";
-  format = "setuptools";
+  pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "50c1ef4630374a5d723900096a961cff426dff46b48f34d194a81bbe14eca178";
+    hash = "sha256-UMHvRjA3Sl1yOQAJapYc/0Jt/0a0jzTRlKgbvhTsoXg=";
   };
 
-  # Tests run fine in a normal source checkout, but not when being built by nix.
+  build-system = [
+    setuptools
+  ];
+
+  dependencies = [
+    standard-cgi
+  ];
+
+  # pypi tarball does not contain tests
   doCheck = false;
 
-  meta = with lib; {
+  meta = {
     description = "Configurable HTML Minifier with safety features";
     mainProgram = "htmlmin";
-    homepage = "https://pypi.python.org/pypi/htmlmin";
-    license = licenses.bsd3;
-    maintainers = [ ];
-    broken = pythonAtLeast "3.13"; # requires removed cgi module
+    homepage = "https://github.com/mankyd/htmlmin";
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ nickcao ];
   };
 }
diff --git a/pkgs/development/python-modules/httplib2/default.nix b/pkgs/development/python-modules/httplib2/default.nix
index f8e04b37146d..9a2201ae6969 100644
--- a/pkgs/development/python-modules/httplib2/default.nix
+++ b/pkgs/development/python-modules/httplib2/default.nix
@@ -6,6 +6,7 @@
   fetchFromGitHub,
   mock,
   pyparsing,
+  pytest-cov-stub,
   pytest-forked,
   pytest-randomly,
   pytest-timeout,
@@ -26,15 +27,12 @@ buildPythonPackage rec {
     hash = "sha256-76gdiRbF535CEaNXwNqsVeVc0dKglovMPQpGsOkbd/4=";
   };
 
-  postPatch = ''
-    sed -i "/--cov/d" setup.cfg
-  '';
-
   propagatedBuildInputs = [ pyparsing ];
 
   nativeCheckInputs = [
     cryptography
     mock
+    pytest-cov-stub
     pytest-forked
     pytest-randomly
     pytest-timeout
diff --git a/pkgs/development/python-modules/httpx-socks/default.nix b/pkgs/development/python-modules/httpx-socks/default.nix
index eb13e20977ad..5ae39830f90c 100644
--- a/pkgs/development/python-modules/httpx-socks/default.nix
+++ b/pkgs/development/python-modules/httpx-socks/default.nix
@@ -22,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "httpx-socks";
-  version = "0.10.0";
+  version = "0.10.1";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "romis2012";
     repo = "httpx-socks";
     tag = "v${version}";
-    hash = "sha256-H+A6203XMM7MaIdwtjQScyOBRJNpTx9NsSMIoov8hg8=";
+    hash = "sha256-1NDsIKJ8lWpjaTnlv5DrwTsEJU4gYwEUuqKpn+2QVhg=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/httpx-ws/default.nix b/pkgs/development/python-modules/httpx-ws/default.nix
index d2277484781e..226bf83b4940 100644
--- a/pkgs/development/python-modules/httpx-ws/default.nix
+++ b/pkgs/development/python-modules/httpx-ws/default.nix
@@ -7,6 +7,7 @@
   httpcore,
   httpx,
   pytestCheckHook,
+  pytest-cov-stub,
   pythonOlder,
   starlette,
   trio,
@@ -33,8 +34,7 @@ buildPythonPackage rec {
     substituteInPlace pyproject.toml \
       --replace-fail 'source = "regex_commit"' "" \
       --replace-fail 'commit_extra_args = ["-e"]' "" \
-      --replace-fail '"hatch-regex-commit"' "" \
-      --replace-fail 'addopts = "--cov=httpx_ws/ --cov-report=term-missing"' ""
+      --replace-fail '"hatch-regex-commit"' ""
   '';
 
   build-system = [ hatchling ];
@@ -48,6 +48,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
+    pytest-cov-stub
     starlette
     trio
     uvicorn
diff --git a/pkgs/development/python-modules/hyperscan/default.nix b/pkgs/development/python-modules/hyperscan/default.nix
index 29b3435df72e..61722b8722d2 100644
--- a/pkgs/development/python-modules/hyperscan/default.nix
+++ b/pkgs/development/python-modules/hyperscan/default.nix
@@ -23,14 +23,14 @@ let
 in
 buildPythonPackage rec {
   pname = "hyperscan";
-  version = "0.7.13";
+  version = "0.7.16";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "darvid";
     repo = "python-hyperscan";
     tag = "v${version}";
-    hash = "sha256-l97UXuM37WK3XRSoIfQzobkM+3WYp6JUtemn/28mMNk=";
+    hash = "sha256-iinBu/6zSbRiuxytHnS3G+8OffcdLdCTqKzj44NQqcU=";
   };
 
   env.CMAKE_ARGS = "-DHS_SRC_ROOT=${pkgs.hyperscan.src} -DHS_BUILD_LIB_ROOT=${lib-deps}/lib";
diff --git a/pkgs/development/python-modules/hyppo/default.nix b/pkgs/development/python-modules/hyppo/default.nix
index dee9a7124c34..fef99ca10b24 100644
--- a/pkgs/development/python-modules/hyppo/default.nix
+++ b/pkgs/development/python-modules/hyppo/default.nix
@@ -1,32 +1,39 @@
 {
   lib,
-  autograd,
   buildPythonPackage,
   fetchFromGitHub,
+
+  # build-system
+  setuptools,
+
+  # dependencies
+  autograd,
   future,
-  matplotlib,
   numba,
   numpy,
-  pytestCheckHook,
-  pythonOlder,
+  pandas,
+  patsy,
   scikit-learn,
   scipy,
+  statsmodels,
+
+  # tests
+  matplotlib,
+  pytest-xdist,
+  pytestCheckHook,
   seaborn,
-  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "hyppo";
-  version = "0.5.1";
+  version = "0.5.2";
   pyproject = true;
 
-  disabled = pythonOlder "3.8";
-
   src = fetchFromGitHub {
     owner = "neurodata";
     repo = "hyppo";
     tag = "v${version}";
-    hash = "sha256-bYxqYSOOifQE3gbw8vNk/A13D5TPx7ERSgFvRHMXKGM=";
+    hash = "sha256-7Y+UhneIGwqjsPCnGAQWF/l4r1gFbYs3fdHhV46ZBjA=";
   };
 
   # some of the doctests (4/21) are broken, e.g. unbound variables, nondeterministic with insufficient tolerance, etc.
@@ -42,11 +49,15 @@ buildPythonPackage rec {
     future
     numba
     numpy
+    pandas
+    patsy
     scikit-learn
     scipy
+    statsmodels
   ];
 
   nativeCheckInputs = [
+    pytest-xdist
     pytestCheckHook
     matplotlib
     seaborn
@@ -55,11 +66,11 @@ buildPythonPackage rec {
     "hyppo"
   ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/neurodata/hyppo";
     description = "Python package for multivariate hypothesis testing";
     changelog = "https://github.com/neurodata/hyppo/releases/tag/v${version}";
-    license = licenses.mit;
-    maintainers = with maintainers; [ bcdarwin ];
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ bcdarwin ];
   };
 }
diff --git a/pkgs/development/python-modules/i-pi/default.nix b/pkgs/development/python-modules/i-pi/default.nix
index a2fec769a594..681624dd3153 100644
--- a/pkgs/development/python-modules/i-pi/default.nix
+++ b/pkgs/development/python-modules/i-pi/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "i-pi";
-  version = "3.1.4";
+  version = "3.1.5";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "i-pi";
     repo = "i-pi";
     tag = "v${version}";
-    hash = "sha256-qM1DQNHTliYGWtVeYo0KEAg88cdt9GPB9w0pep0erj8=";
+    hash = "sha256-jXryhWC8IGdj33rM50KHxX9WONyJlqpUXbzi33VQdPA=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/ibis-framework/default.nix b/pkgs/development/python-modules/ibis-framework/default.nix
index 7d10c0d4c3d5..a68bfb2bbf0b 100644
--- a/pkgs/development/python-modules/ibis-framework/default.nix
+++ b/pkgs/development/python-modules/ibis-framework/default.nix
@@ -144,6 +144,7 @@ buildPythonPackage rec {
   ] ++ lib.concatMap (name: optional-dependencies.${name}) testBackends;
 
   pytestFlagsArray = [
+    "--benchmark-disable"
     "-m"
     "'${lib.concatStringsSep " or " testBackends} or core'"
   ];
diff --git a/pkgs/development/python-modules/ical/default.nix b/pkgs/development/python-modules/ical/default.nix
index 4ae8f0d97060..443d386c4be4 100644
--- a/pkgs/development/python-modules/ical/default.nix
+++ b/pkgs/development/python-modules/ical/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "ical";
-  version = "10.0.0";
+  version = "10.0.4";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "allenporter";
     repo = "ical";
     tag = version;
-    hash = "sha256-vEVhZ7UBftXsB5xq1LhwitV2Gl6kcR5P0ReJ+71SQFY=";
+    hash = "sha256-T58A2oBDD97C5Jz5WlbAJYOnoJzP+jAryKb5Oim4TuU=";
   };
 
   build-system = [ setuptools ];
@@ -46,6 +46,8 @@ buildPythonPackage rec {
     syrupy
   ];
 
+  pytestFlagsArray = [ "--benchmark-disable" ];
+
   pythonImportsCheck = [ "ical" ];
 
   meta = {
diff --git a/pkgs/development/python-modules/igraph/default.nix b/pkgs/development/python-modules/igraph/default.nix
index 30e3e28d29df..328cbbd1e33b 100644
--- a/pkgs/development/python-modules/igraph/default.nix
+++ b/pkgs/development/python-modules/igraph/default.nix
@@ -1,9 +1,9 @@
 {
   lib,
   buildPythonPackage,
-  pythonOlder,
   fetchFromGitHub,
   pkg-config,
+  cmake,
   setuptools,
   igraph,
   texttable,
@@ -15,9 +15,7 @@
 
 buildPythonPackage rec {
   pname = "igraph";
-  version = "0.11.8";
-
-  disabled = pythonOlder "3.8";
+  version = "0.11.9";
 
   pyproject = true;
 
@@ -29,20 +27,21 @@ buildPythonPackage rec {
       # export-subst prevents reproducability
       rm $out/.git_archival.json
     '';
-    hash = "sha256-FEp9kwUAPSAnGcAuxApAq1AXiT0klXuXE2M6xNVilRg=";
+    hash = "sha256-rmIICiIyEr5JCmkDAzcdisVaaKDraTQEquPHjK4d7oU=";
   };
 
   postPatch = ''
     rm -r vendor
-
-    # TODO remove starting with 0.11.9
-    substituteInPlace pyproject.toml \
-      --replace-fail "setuptools>=64,<72.2.0" setuptools
   '';
 
   nativeBuildInputs = [ pkg-config ];
 
-  build-system = [ setuptools ];
+  build-system = [
+    cmake
+    setuptools
+  ];
+
+  dontUseCmakeConfigure = true;
 
   buildInputs = [ igraph ];
 
diff --git a/pkgs/development/python-modules/ihm/default.nix b/pkgs/development/python-modules/ihm/default.nix
index 7edb25f7a472..23617b9fba5c 100644
--- a/pkgs/development/python-modules/ihm/default.nix
+++ b/pkgs/development/python-modules/ihm/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "ihm";
-  version = "2.5";
+  version = "2.6";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "ihmwg";
     repo = "python-ihm";
     tag = version;
-    hash = "sha256-U9Ytb2v9gzOu6MMz6HFn+yY5N+qCi692bN602Rt13S8=";
+    hash = "sha256-g8ELTPPWnSXpzH7IiPTe4MS+jIFQPXx48D/X9dL2nPk=";
   };
 
   nativeBuildInputs = [ swig ];
diff --git a/pkgs/development/python-modules/inkbird-ble/default.nix b/pkgs/development/python-modules/inkbird-ble/default.nix
index 1be2135e30a9..f7ff5abfac28 100644
--- a/pkgs/development/python-modules/inkbird-ble/default.nix
+++ b/pkgs/development/python-modules/inkbird-ble/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "inkbird-ble";
-  version = "0.16.2";
+  version = "1.0.0";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = "inkbird-ble";
     tag = "v${version}";
-    hash = "sha256-A/ho+tnGcFFL60r4aq1UOyP/e32Lqn+IbPOAZ75PeKk=";
+    hash = "sha256-J3BT4KZ5Kzoc8vwbsXbhZJ+qkeggYomGE0JedxNTPaQ=";
   };
 
   build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/iocapture/default.nix b/pkgs/development/python-modules/iocapture/default.nix
index 0e44cad6916b..715abd657b56 100644
--- a/pkgs/development/python-modules/iocapture/default.nix
+++ b/pkgs/development/python-modules/iocapture/default.nix
@@ -3,7 +3,7 @@
   buildPythonPackage,
   fetchPypi,
   flexmock,
-  pytest,
+  pytestCheckHook,
   pytest-cov-stub,
   six,
 }:
@@ -20,7 +20,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     flexmock
-    pytest
+    pytestCheckHook
     pytest-cov-stub
     six
   ];
diff --git a/pkgs/development/python-modules/ipfshttpclient/default.nix b/pkgs/development/python-modules/ipfshttpclient/default.nix
index 263870816dab..06b95c8d12d9 100644
--- a/pkgs/development/python-modules/ipfshttpclient/default.nix
+++ b/pkgs/development/python-modules/ipfshttpclient/default.nix
@@ -71,8 +71,6 @@ buildPythonPackage rec {
     substituteInPlace test/functional/test_other.py \
       --replace 'import ipfshttpclient' 'import ipfshttpclient; import pytest' \
       --replace 'assert ipfs_is_available' 'pytest.skip("Unknown test failure with IPFS >=0.11.0"); assert ipfs_is_available'
-    substituteInPlace test/run-tests.py \
-      --replace '--cov-fail-under=90' '--cov-fail-under=75'
   '';
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/ircstates/default.nix b/pkgs/development/python-modules/ircstates/default.nix
index 61065d492f9a..c6e8f06dea30 100644
--- a/pkgs/development/python-modules/ircstates/default.nix
+++ b/pkgs/development/python-modules/ircstates/default.nix
@@ -23,6 +23,8 @@ buildPythonPackage rec {
 
   build-system = [ setuptools ];
 
+  pythonRelaxDeps = [ "pendulum" ];
+
   dependencies = [
     irctokens
     pendulum
diff --git a/pkgs/development/python-modules/islpy/default.nix b/pkgs/development/python-modules/islpy/default.nix
index c7f6c53cb1bc..9ccafe8c6c5e 100644
--- a/pkgs/development/python-modules/islpy/default.nix
+++ b/pkgs/development/python-modules/islpy/default.nix
@@ -8,10 +8,11 @@
   nanobind,
   ninja,
   pcpp,
-  scikit-build,
-  setuptools,
+  scikit-build-core,
+  typing-extensions,
 
   # buildInputs
+  imath,
   isl,
 
   # tests
@@ -20,14 +21,14 @@
 
 buildPythonPackage rec {
   pname = "islpy";
-  version = "2025.1.5";
+  version = "2025.2.4";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "inducer";
     repo = "islpy";
     tag = "v${version}";
-    hash = "sha256-hzqxVLNKm63XliX5rDB54f6n1nJPVJJSAMmNTInbOEE=";
+    hash = "sha256-6VNA07XnzmOTsrH16fXzEdl1HmShmrtUjQyUs18CxYc=";
   };
 
   build-system = [
@@ -35,19 +36,24 @@ buildPythonPackage rec {
     nanobind
     ninja
     pcpp
-    scikit-build
-    setuptools
+    scikit-build-core
+    typing-extensions
   ];
 
-  buildInputs = [ isl ];
+  buildInputs = [
+    imath
+    isl
+  ];
 
   dontUseCmakeConfigure = true;
 
-  preConfigure = ''
-    python ./configure.py \
-        --no-use-shipped-isl \
-        --isl-inc-dir=${lib.getDev isl}/include \
-  '';
+  pypaBuildFlags = [
+    "--config-setting=cmake.define.USE_SHIPPED_ISL=OFF"
+    "--config-setting=cmake.define.USE_SHIPPED_IMATH=OFF"
+    "--config-setting=cmake.define.USE_BARVINOK=OFF"
+    "--config-setting=cmake.define.ISL_INC_DIRS:LIST='${lib.getDev isl}/include'"
+    "--config-setting=cmake.define.ISL_LIB_DIRS:LIST='${lib.getLib isl}/lib'"
+  ];
 
   # Force resolving the package from $out to make generated ext files usable by tests
   preCheck = ''
diff --git a/pkgs/development/python-modules/jianpu-ly/default.nix b/pkgs/development/python-modules/jianpu-ly/default.nix
index 61b5d1dc7337..0326131b030c 100644
--- a/pkgs/development/python-modules/jianpu-ly/default.nix
+++ b/pkgs/development/python-modules/jianpu-ly/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "jianpu-ly";
-  version = "1.857";
+  version = "1.858";
   pyproject = true;
 
   src = fetchPypi {
     inherit version;
     pname = "jianpu_ly";
-    hash = "sha256-+eIFz0ffKKIprhVv0Eyj9CZfKgZvxJIHmfYRIJ32+q0=";
+    hash = "sha256-IzFNCBJBDMJrqDxrH8OtHQCbh0O3z9P7OYHSpF39Xao=";
   };
 
   dependencies = [ lilypond ];
diff --git a/pkgs/development/python-modules/jproperties/default.nix b/pkgs/development/python-modules/jproperties/default.nix
index 83ba9855a0e2..f629bdeaf4ba 100644
--- a/pkgs/development/python-modules/jproperties/default.nix
+++ b/pkgs/development/python-modules/jproperties/default.nix
@@ -4,6 +4,7 @@
   fetchFromGitHub,
   pytestCheckHook,
   six,
+  pytest-cov-stub,
   pytest-datadir,
   setuptools-scm,
 }:
@@ -25,6 +26,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ six ];
 
   nativeCheckInputs = [
+    pytest-cov-stub
     pytest-datadir
     pytestCheckHook
   ];
@@ -32,8 +34,6 @@ buildPythonPackage rec {
   postPatch = ''
     substituteInPlace setup.py \
       --replace "setuptools_scm ~= 3.3" "setuptools_scm"
-    substituteInPlace pytest.ini \
-      --replace "--cov=jproperties --cov-report=term --cov-report=html --cov-branch" ""
   '';
 
   disabledTestPaths = [
diff --git a/pkgs/development/python-modules/jpype1/default.nix b/pkgs/development/python-modules/jpype1/default.nix
index 9aed829e8900..a0bec9ca7408 100644
--- a/pkgs/development/python-modules/jpype1/default.nix
+++ b/pkgs/development/python-modules/jpype1/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "jpype1";
-  version = "1.5.2";
+  version = "1.6.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "originell";
     repo = "jpype";
     tag = "v${version}";
-    hash = "sha256-Q5/umU7JHiro+7YuC6nVG9ocpQ/Yc4LGa5+7SGGARTo=";
+    hash = "sha256-CDiVQugxLgmUwAG0e0ryamWvrjUaJxJrU0YSFIIWS1I=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/jq/default.nix b/pkgs/development/python-modules/jq/default.nix
index c76c4ec6ecb7..b554f7f2a482 100644
--- a/pkgs/development/python-modules/jq/default.nix
+++ b/pkgs/development/python-modules/jq/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "jq";
-  version = "1.6.0";
+  version = "1.8.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "mwilliamson";
     repo = "jq.py";
     tag = version;
-    hash = "sha256-c6tJI/mPlBGIYTk5ObIQ1CUTq73HouQ2quMZVWG8FFg=";
+    hash = "sha256-rPc4qIs1lGfbv0ShxJ+uUfbTGchJ+Q0qWWRZVuABlU4=";
   };
 
   env.JQPY_USE_SYSTEM_LIBS = 1;
@@ -39,8 +39,8 @@ buildPythonPackage rec {
   nativeCheckInputs = [ pytestCheckHook ];
 
   disabledTests = [
-    # intentional behavior change in jq 1.7.1 not reflected upstream
-    "test_given_json_text_then_strings_containing_null_characters_are_preserved"
+    # tries to match exact error text, fails with jq 1.8
+    "test_value_error_is_raised_if_program_is_invalid"
   ];
 
   pythonImportsCheck = [ "jq" ];
diff --git a/pkgs/development/python-modules/jsonschema-spec/default.nix b/pkgs/development/python-modules/jsonschema-spec/default.nix
index eb6bb1030e62..1358e9282ed2 100644
--- a/pkgs/development/python-modules/jsonschema-spec/default.nix
+++ b/pkgs/development/python-modules/jsonschema-spec/default.nix
@@ -15,6 +15,7 @@
 
   # tests
   pytestCheckHook,
+  pytest-cov-stub,
   responses,
 }:
 
@@ -33,8 +34,6 @@ buildPythonPackage rec {
   };
 
   postPatch = ''
-    sed -i "/^--cov/d" pyproject.toml
-
     substituteInPlace pyproject.toml \
       --replace 'referencing = ">=0.28.0,<0.30.0"' 'referencing = ">=0.28.0"'
   '';
@@ -54,6 +53,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
+    pytest-cov-stub
     responses
   ];
 
diff --git a/pkgs/development/python-modules/jsonschema/default.nix b/pkgs/development/python-modules/jsonschema/default.nix
index 1cbae4a0b4ef..80cda616d935 100644
--- a/pkgs/development/python-modules/jsonschema/default.nix
+++ b/pkgs/development/python-modules/jsonschema/default.nix
@@ -96,7 +96,7 @@ buildPythonPackage rec {
     homepage = "https://github.com/python-jsonschema/jsonschema";
     changelog = "https://github.com/python-jsonschema/jsonschema/blob/v${version}/CHANGELOG.rst";
     license = licenses.mit;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
     mainProgram = "jsonschema";
   };
 }
diff --git a/pkgs/development/python-modules/jupyter-book/default.nix b/pkgs/development/python-modules/jupyter-book/default.nix
index 385379e9f89f..729289a8a4b7 100644
--- a/pkgs/development/python-modules/jupyter-book/default.nix
+++ b/pkgs/development/python-modules/jupyter-book/default.nix
@@ -1,6 +1,5 @@
 {
   lib,
-  stdenv,
   buildPythonPackage,
   fetchFromGitHub,
 
@@ -116,6 +115,7 @@ buildPythonPackage rec {
     # pytest.PytestUnraisableExceptionWarning: Exception ignored in: 
     # ResourceWarning: unclosed database in 
     "test_clean_book"
+    "test_clean_html"
     "test_clean_html_latex"
     "test_clean_latex"
   ];
diff --git a/pkgs/development/python-modules/jupytext/default.nix b/pkgs/development/python-modules/jupytext/default.nix
index cffbf7dab1e4..e7abcd5c6105 100644
--- a/pkgs/development/python-modules/jupytext/default.nix
+++ b/pkgs/development/python-modules/jupytext/default.nix
@@ -31,14 +31,14 @@
 
 buildPythonPackage rec {
   pname = "jupytext";
-  version = "1.17.1";
+  version = "1.17.2";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "mwouts";
     repo = "jupytext";
     tag = "v${version}";
-    hash = "sha256-Rkz2rite0hKcts4+3SmFsDF6tH2kQa4d2DtyZsAx3rA=";
+    hash = "sha256-xMmtppXect+PRlEp2g0kJurALVvcfza+FBbZbK2SbHc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/kasa-crypt/default.nix b/pkgs/development/python-modules/kasa-crypt/default.nix
index a35f628a3cef..3aac26418377 100644
--- a/pkgs/development/python-modules/kasa-crypt/default.nix
+++ b/pkgs/development/python-modules/kasa-crypt/default.nix
@@ -5,6 +5,7 @@
   cython,
   poetry-core,
   pytestCheckHook,
+  pytest-cov-stub,
   setuptools,
   pythonOlder,
 }:
@@ -23,18 +24,16 @@ buildPythonPackage rec {
     hash = "sha256-PQycv0JHXKIEzuKVnXoyuU/BfKG19r3eDE4rYDiYYaY=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace-fail " --cov=kasa_crypt --cov-report=term-missing:skip-covered" ""
-  '';
-
   build-system = [
     cython
     poetry-core
     setuptools
   ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cov-stub
+  ];
 
   pythonImportsCheck = [ "kasa_crypt" ];
 
diff --git a/pkgs/development/python-modules/keystoneauth1/default.nix b/pkgs/development/python-modules/keystoneauth1/default.nix
index a2bfe78e219b..a8de92e36a02 100644
--- a/pkgs/development/python-modules/keystoneauth1/default.nix
+++ b/pkgs/development/python-modules/keystoneauth1/default.nix
@@ -27,12 +27,12 @@
 
 buildPythonPackage rec {
   pname = "keystoneauth1";
-  version = "5.11.0";
+  version = "5.11.1";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-mvahZfoHR+1zn/w0sRXqDXz8VjDuEpSK+U8D7Q+ciTQ=";
+    hash = "sha256-gG8SxJt/SyytP1pGD3vdgeQkfIG2BCWWp/6oV19lkfM=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/kiss-headers/default.nix b/pkgs/development/python-modules/kiss-headers/default.nix
index 3263941c69b6..3bc40680fb7e 100644
--- a/pkgs/development/python-modules/kiss-headers/default.nix
+++ b/pkgs/development/python-modules/kiss-headers/default.nix
@@ -5,6 +5,7 @@
   hatchling,
   requests,
   pytestCheckHook,
+  pytest-cov-stub,
 }:
 
 buildPythonPackage rec {
@@ -23,12 +24,10 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ requests ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
-
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace-fail "--cov=kiss_headers --doctest-modules --cov-report=term-missing -rxXs" "--doctest-modules -rxXs"
-  '';
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cov-stub
+  ];
 
   disabledTestPaths = [
     # Tests require internet access
diff --git a/pkgs/development/python-modules/klayout/default.nix b/pkgs/development/python-modules/klayout/default.nix
index eaa44f2a9027..4469433822e0 100644
--- a/pkgs/development/python-modules/klayout/default.nix
+++ b/pkgs/development/python-modules/klayout/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "klayout";
-  version = "0.30.1";
+  version = "0.30.2";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-QR/JK6n8Gnofdw7/RyeeA6OZJmVeIa0WbbuQAecASVY=";
+    hash = "sha256-HRuRnwKyTVecjAY0BzUuOahrdMMUlXLUiAoProNjS6U=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/knocki/default.nix b/pkgs/development/python-modules/knocki/default.nix
index 82e4c4985ca1..44ddf26a0b19 100644
--- a/pkgs/development/python-modules/knocki/default.nix
+++ b/pkgs/development/python-modules/knocki/default.nix
@@ -10,6 +10,7 @@
   pythonOlder,
   pytestCheckHook,
   pytest-aiohttp,
+  pytest-cov-stub,
   syrupy,
   yarl,
 }:
@@ -28,11 +29,6 @@ buildPythonPackage rec {
     hash = "sha256-85w+fj00VW0miNt+xRMcU6szg/Z7QaeKLGw2BV7X0T4=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace-fail "addopts = \"--cov\"" ""
-  '';
-
   build-system = [ poetry-core ];
 
   dependencies = [
@@ -46,6 +42,7 @@ buildPythonPackage rec {
     aioresponses
     pytestCheckHook
     pytest-aiohttp
+    pytest-cov-stub
     syrupy
   ];
 
diff --git a/pkgs/development/python-modules/kotsu/default.nix b/pkgs/development/python-modules/kotsu/default.nix
index 9add6e9733a3..30063a80fd65 100644
--- a/pkgs/development/python-modules/kotsu/default.nix
+++ b/pkgs/development/python-modules/kotsu/default.nix
@@ -6,6 +6,7 @@
   pandas,
   typing-extensions,
   pytestCheckHook,
+  pytest-cov-stub,
   pytest-mock,
   scikit-learn,
 }:
@@ -24,8 +25,6 @@ buildPythonPackage rec {
     hash = "sha256-V5OkgiLUTRNbNt6m94+aYUZd9Nw+/60LfhrqqdFhiUw=";
   };
 
-  patches = [ ./disable-pytest-coverage-flags.patch ];
-
   propagatedBuildInputs = [
     pandas
     typing-extensions
@@ -33,6 +32,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
+    pytest-cov-stub
     pytest-mock
     scikit-learn
   ];
diff --git a/pkgs/development/python-modules/kotsu/disable-pytest-coverage-flags.patch b/pkgs/development/python-modules/kotsu/disable-pytest-coverage-flags.patch
deleted file mode 100644
index f035ab0e6553..000000000000
--- a/pkgs/development/python-modules/kotsu/disable-pytest-coverage-flags.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/setup.cfg b/setup.cfg
-index 3ab277a..b253e18 100644
---- a/setup.cfg
-+++ b/setup.cfg
-@@ -50,13 +50,6 @@ convention = google
- add_ignore = D105, D107
- #add_ignore = D100,D101,D102,D103,D104,D200 - start with no ignored errors and add as required
- 
--[tool:pytest]
--addopts = --cov=./kotsu --cov-report xml --cov-report term
--
--[coverage:run]
--# Omit auto-generated versioneer file from test coverage
--omit = kotsu/_version.py
--
- [versioneer]
- VCS = git
- style = pep440
diff --git a/pkgs/development/python-modules/labelbox/default.nix b/pkgs/development/python-modules/labelbox/default.nix
index 0c0737abdead..6565180a4b0d 100644
--- a/pkgs/development/python-modules/labelbox/default.nix
+++ b/pkgs/development/python-modules/labelbox/default.nix
@@ -48,11 +48,6 @@ let
 
     build-system = [ hatchling ];
 
-    postPatch = ''
-      substituteInPlace pyproject.toml \
-        --replace "--durations=20 --cov=lbox.example" "--durations=20"
-    '';
-
     dependencies = [
       google-api-core
       requests
@@ -60,6 +55,7 @@ let
 
     nativeCheckInputs = [
       pytestCheckHook
+      pytest-cov-stub
     ];
 
     doCheck = true;
diff --git a/pkgs/development/python-modules/langchain-anthropic/default.nix b/pkgs/development/python-modules/langchain-anthropic/default.nix
index 25bfd22922b7..71a54c49b7fd 100644
--- a/pkgs/development/python-modules/langchain-anthropic/default.nix
+++ b/pkgs/development/python-modules/langchain-anthropic/default.nix
@@ -2,7 +2,6 @@
   lib,
   buildPythonPackage,
   fetchFromGitHub,
-  nix-update-script,
 
   # build-system
   pdm-backend,
@@ -16,6 +15,9 @@
   langchain-tests,
   pytest-asyncio,
   pytestCheckHook,
+
+  # passthru
+  gitUpdater,
 }:
 
 buildPythonPackage rec {
@@ -58,15 +60,12 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "langchain_anthropic" ];
 
-  passthru.updateScript = nix-update-script {
-    extraArgs = [
-      "--version-regex"
-      "langchain-anthropic==([0-9.]+)"
-    ];
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "langchain-anthropic==";
   };
 
   meta = {
-    changelog = "https://github.com/langchain-ai/langchain-anthropic/releases/tag/langchain-anthropic==${version}";
+    changelog = "https://github.com/langchain-ai/langchain-anthropic/releases/tag/${src.tag}";
     description = "Build LangChain applications with Anthropic";
     homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/anthropic";
     license = lib.licenses.mit;
diff --git a/pkgs/development/python-modules/langchain-aws/default.nix b/pkgs/development/python-modules/langchain-aws/default.nix
index 7101aa562733..a37dd0d50802 100644
--- a/pkgs/development/python-modules/langchain-aws/default.nix
+++ b/pkgs/development/python-modules/langchain-aws/default.nix
@@ -2,7 +2,6 @@
   lib,
   buildPythonPackage,
   fetchFromGitHub,
-  nix-update-script,
 
   # build-system
   poetry-core,
@@ -16,27 +15,28 @@
   # tests
   langchain-tests,
   pytest-asyncio,
+  pytest-cov-stub,
   pytestCheckHook,
+
+  # passthru
+  gitUpdater,
 }:
 
 buildPythonPackage rec {
   pname = "langchain-aws";
-  version = "0.2.22";
+  version = "0.2.25";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "langchain-ai";
     repo = "langchain-aws";
     tag = "langchain-aws==${version}";
-    hash = "sha256-tEkwa+rpitGxstci754JH5HCqD7+WX0No6ielJJnbxk=";
+    hash = "sha256-Qk3D8XtpzV7YgMM0WeainzCp6Sq1uZEaM0PFbGKIO7U=";
   };
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace-fail "--snapshot-warn-unused" "" \
-      --replace-fail "--cov=langchain_aws" ""
-    substituteInPlace tests/unit_tests/{test_standard.py,chat_models/test_bedrock_converse.py} \
-      --replace-fail "langchain_standard_tests" "langchain_tests"
+      --replace-fail "--snapshot-warn-unused" ""
   '';
 
   sourceRoot = "${src.name}/libs/aws";
@@ -61,6 +61,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     langchain-tests
     pytest-asyncio
+    pytest-cov-stub
     pytestCheckHook
   ];
 
@@ -68,15 +69,12 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "langchain_aws" ];
 
-  passthru.updateScript = nix-update-script {
-    extraArgs = [
-      "--version-regex"
-      "langchain-aws==([0-9.]+)"
-    ];
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "langchain-aws==";
   };
 
   meta = {
-    changelog = "https://github.com/langchain-ai/langchain-aws/releases/tag/v${version}";
+    changelog = "https://github.com/langchain-ai/langchain-aws/releases/tag/${src.tag}";
     description = "Build LangChain application on AWS";
     homepage = "https://github.com/langchain-ai/langchain-aws/";
     license = lib.licenses.mit;
diff --git a/pkgs/development/python-modules/langchain-azure-dynamic-sessions/default.nix b/pkgs/development/python-modules/langchain-azure-dynamic-sessions/default.nix
index 48b370202563..a10c57314756 100644
--- a/pkgs/development/python-modules/langchain-azure-dynamic-sessions/default.nix
+++ b/pkgs/development/python-modules/langchain-azure-dynamic-sessions/default.nix
@@ -2,7 +2,6 @@
   lib,
   buildPythonPackage,
   fetchFromGitHub,
-  nix-update-script,
 
   # build-system
   poetry-core,
@@ -24,6 +23,9 @@
   responses,
   syrupy,
   toml,
+
+  # passthru
+  gitUpdater,
 }:
 
 buildPythonPackage rec {
@@ -72,17 +74,14 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "langchain_azure_dynamic_sessions" ];
 
-  passthru.updateScript = nix-update-script {
-    extraArgs = [
-      "--version-regex"
-      "^langchain-azure-dynamic-sessions==([0-9.]+)$"
-    ];
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "langchain-azure-dynamic-sessions==";
   };
 
   meta = {
     description = "Integration package connecting Azure Container Apps dynamic sessions and LangChain";
     homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/azure-dynamic-sessions";
-    changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-azure-dynamic-sessions==${version}";
+    changelog = "https://github.com/langchain-ai/langchain/releases/tag/${src.tag}";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [
       natsukium
diff --git a/pkgs/development/python-modules/langchain-chroma/default.nix b/pkgs/development/python-modules/langchain-chroma/default.nix
index bcc79a91d645..7b0c8ed4ca24 100644
--- a/pkgs/development/python-modules/langchain-chroma/default.nix
+++ b/pkgs/development/python-modules/langchain-chroma/default.nix
@@ -2,14 +2,22 @@
   lib,
   buildPythonPackage,
   fetchFromGitHub,
-  nix-update-script,
+
+  # build-system
+  pdm-backend,
+
+  # dependencies
   chromadb,
   langchain-core,
-  langchain-tests,
   numpy,
-  pdm-backend,
+
+  # tests
+  langchain-tests,
   pytestCheckHook,
   pytest-asyncio,
+
+  # passthru
+  gitUpdater,
 }:
 
 buildPythonPackage rec {
@@ -56,15 +64,12 @@ buildPythonPackage rec {
     "test_chroma_update_document"
   ];
 
-  passthru.updateScript = nix-update-script {
-    extraArgs = [
-      "--version-regex"
-      "langchain-chroma==([0-9.]+)"
-    ];
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "langchain-chroma==";
   };
 
   meta = {
-    changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-chroma==${version}";
+    changelog = "https://github.com/langchain-ai/langchain/releases/tag/${src.tag}";
     description = "Integration package connecting Chroma and LangChain";
     homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/chroma";
     license = lib.licenses.mit;
diff --git a/pkgs/development/python-modules/langchain-community/default.nix b/pkgs/development/python-modules/langchain-community/default.nix
index b9fcdd4bfc59..9b0b2dd9d9eb 100644
--- a/pkgs/development/python-modules/langchain-community/default.nix
+++ b/pkgs/development/python-modules/langchain-community/default.nix
@@ -2,7 +2,6 @@
   lib,
   buildPythonPackage,
   fetchFromGitHub,
-  nix-update-script,
 
   # build-system
   pdm-backend,
@@ -36,18 +35,21 @@
   responses,
   syrupy,
   toml,
+
+  # passthru
+  gitUpdater,
 }:
 
 buildPythonPackage rec {
   pname = "langchain-community";
-  version = "0.3.24";
+  version = "0.3.25";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "langchain-ai";
     repo = "langchain-community";
     tag = "libs/community/v${version}";
-    hash = "sha256-4Rcczuz7tCb10HPvO15n48DBKjVBLXNPdRfD4lRKNGk=";
+    hash = "sha256-mAh5vq6Yi+ey9Yai0Hx2tHGE7OhVV98EuJfyhxrN9Fk=";
   };
 
   sourceRoot = "${src.name}/libs/community";
@@ -121,17 +123,14 @@ buildPythonPackage rec {
     "tests/unit_tests/document_loaders/test_gitbook.py"
   ];
 
-  passthru.updateScript = nix-update-script {
-    extraArgs = [
-      "--version-regex"
-      "libs/community/v([0-9.]+)"
-    ];
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "libs/community/v";
   };
 
   meta = {
     description = "Community contributed LangChain integrations";
     homepage = "https://github.com/langchain-ai/langchain-community";
-    changelog = "https://github.com/langchain-ai/langchain-community/releases/tag/libs%2Fcommunity%2fv${version}";
+    changelog = "https://github.com/langchain-ai/langchain-community/releases/tag/${src.tag}";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [
       natsukium
diff --git a/pkgs/development/python-modules/langchain-core/default.nix b/pkgs/development/python-modules/langchain-core/default.nix
index 79640b25f48b..c1951c23e86e 100644
--- a/pkgs/development/python-modules/langchain-core/default.nix
+++ b/pkgs/development/python-modules/langchain-core/default.nix
@@ -31,19 +31,19 @@
   syrupy,
 
   # passthru
-  nix-update-script,
+  gitUpdater,
 }:
 
 buildPythonPackage rec {
   pname = "langchain-core";
-  version = "0.3.62";
+  version = "0.3.65";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "langchain-ai";
     repo = "langchain";
     tag = "langchain-core==${version}";
-    hash = "sha256-24y3XGY5AayCtD2PlzVNcHaBiwUC/1GOHL2V0BbCWn0=";
+    hash = "sha256-2iEUrLjvjVpArOPXzF5Z6ZeeQbIGZxuZUTC2buYTOCQ=";
   };
 
   sourceRoot = "${src.name}/libs/core";
@@ -91,11 +91,8 @@ buildPythonPackage rec {
       doCheck = true;
     });
 
-    updateScript = nix-update-script {
-      extraArgs = [
-        "--version-regex"
-        "langchain-core==([0-9.]+)"
-      ];
+    updateScript = gitUpdater {
+      rev-prefix = "langchain-core==";
     };
   };
 
@@ -143,7 +140,7 @@ buildPythonPackage rec {
   meta = {
     description = "Building applications with LLMs through composability";
     homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/core";
-    changelog = "https://github.com/langchain-ai/langchain/releases/tag/v${version}";
+    changelog = "https://github.com/langchain-ai/langchain/releases/tag/${src.tag}";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [
       natsukium
diff --git a/pkgs/development/python-modules/langchain-core/update.sh b/pkgs/development/python-modules/langchain-core/update.sh
deleted file mode 100755
index cae8ebaf4c79..000000000000
--- a/pkgs/development/python-modules/langchain-core/update.sh
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/usr/bin/env nix-shell
-#!nix-shell -i bash -p common-updater-scripts jq
-
-set -euo pipefail
-
-declare -ar packages=(
-    langchain
-    langchain-anthropic
-    langchain-azure-dynamic-sessions
-    langchain-chroma
-    langchain-community
-    langchain-core
-    langchain-deepseek
-    langchain-fireworks
-    langchain-groq
-    langchain-huggingface
-    langchain-mistralai
-    langchain-mongodb
-    langchain-ollama
-    langchain-openai
-    langchain-perplexity
-    langchain-tests
-    langchain-text-splitters
-    langchain-xai
-)
-
-tags=$(git ls-remote --tags --refs "https://github.com/langchain-ai/langchain" | cut --delimiter=/ --field=3-)
-
-# Will be printed as JSON at the end to list what  needs updating
-updates=""
-
-for package in ${packages[@]}
-do
-    pyPackage="python3Packages.$package"
-    oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion $pyPackage" | tr -d '"')"
-    newVersion=$(echo "$tags" | grep -Po "(?<=$package==)\d+\.\d+\.\d+$" | sort --version-sort --reverse | head -1 )
-    if [[ "$newVersion" != "$oldVersion" ]]; then
-        update-source-version $pyPackage "$newVersion"
-        updates+="{
-    \"attrPath\": \"$pyPackage\",
-    \"oldVersion\": \"$oldVersion\",
-    \"newVersion\": \"$newVersion\",
-    \"files\": [
-        \"$PWD/pkgs/development/python-modules/${package}/default.nix\"
-    ]
-},"
-    fi
-done
-# Remove trailing comma
-updates=${updates%,}
-# Print the updates in JSON format
-echo "[ $updates ]"
diff --git a/pkgs/development/python-modules/langchain-deepseek/default.nix b/pkgs/development/python-modules/langchain-deepseek/default.nix
index 50b5b2ad6401..9ddeb8eb4310 100644
--- a/pkgs/development/python-modules/langchain-deepseek/default.nix
+++ b/pkgs/development/python-modules/langchain-deepseek/default.nix
@@ -5,7 +5,6 @@
 
   # build-system
   pdm-backend,
-  poetry-core,
 
   # dependencies
   langchain-core,
@@ -18,7 +17,7 @@
   syrupy,
 
   # passthru
-  nix-update-script,
+  gitUpdater,
 }:
 
 buildPythonPackage rec {
@@ -61,15 +60,12 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "langchain_deepseek" ];
 
-  passthru.updateScript = nix-update-script {
-    extraArgs = [
-      "--version-regex"
-      "langchain-deepseek==([0-9.]+)"
-    ];
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "langchain-deepseek==";
   };
 
   meta = {
-    changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-deepseek==${version}";
+    changelog = "https://github.com/langchain-ai/langchain/releases/tag/${src.tag}";
     description = "Integration package connecting DeepSeek and LangChain";
     homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/deepseek";
     license = lib.licenses.mit;
diff --git a/pkgs/development/python-modules/langchain-fireworks/default.nix b/pkgs/development/python-modules/langchain-fireworks/default.nix
index 4e32c0473914..69f52f87cf9b 100644
--- a/pkgs/development/python-modules/langchain-fireworks/default.nix
+++ b/pkgs/development/python-modules/langchain-fireworks/default.nix
@@ -2,7 +2,6 @@
   lib,
   buildPythonPackage,
   fetchFromGitHub,
-  nix-update-script,
 
   # build-system
   pdm-backend,
@@ -18,6 +17,9 @@
   langchain-tests,
   pytest-asyncio,
   pytestCheckHook,
+
+  # passthru
+  gitUpdater,
 }:
 
 buildPythonPackage rec {
@@ -60,15 +62,12 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "langchain_fireworks" ];
 
-  passthru.updateScript = nix-update-script {
-    extraArgs = [
-      "--version-regex"
-      "langchain-fireworks==([0-9.]+)"
-    ];
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "langchain-fireworks==";
   };
 
   meta = {
-    changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-fireworks==${version}";
+    changelog = "https://github.com/langchain-ai/langchain/releases/tag/${src.tag}";
     description = "Build LangChain applications with Fireworks";
     homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/fireworks";
     license = lib.licenses.mit;
diff --git a/pkgs/development/python-modules/langchain-groq/default.nix b/pkgs/development/python-modules/langchain-groq/default.nix
index 08b65b629a1d..df1849e407f6 100644
--- a/pkgs/development/python-modules/langchain-groq/default.nix
+++ b/pkgs/development/python-modules/langchain-groq/default.nix
@@ -2,7 +2,6 @@
   lib,
   buildPythonPackage,
   fetchFromGitHub,
-  nix-update-script,
 
   # build-system
   pdm-backend,
@@ -14,6 +13,9 @@
   # tests
   langchain-tests,
   pytestCheckHook,
+
+  # passthru
+  gitUpdater,
 }:
 
 buildPythonPackage rec {
@@ -52,15 +54,12 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "langchain_groq" ];
 
-  passthru.updateScript = nix-update-script {
-    extraArgs = [
-      "--version-regex"
-      "^langchain-groq==([0-9.]+)$"
-    ];
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "langchain-groq==";
   };
 
   meta = {
-    changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-groq==${version}";
+    changelog = "https://github.com/langchain-ai/langchain/releases/tag/${src.tag}";
     description = "Integration package connecting Groq and LangChain";
     homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/groq";
     license = lib.licenses.mit;
diff --git a/pkgs/development/python-modules/langchain-huggingface/default.nix b/pkgs/development/python-modules/langchain-huggingface/default.nix
index 1a27dd280ba0..45a5d84d79a4 100644
--- a/pkgs/development/python-modules/langchain-huggingface/default.nix
+++ b/pkgs/development/python-modules/langchain-huggingface/default.nix
@@ -28,19 +28,19 @@
   toml,
 
   # passthru
-  nix-update-script,
+  gitUpdater,
 }:
 
 buildPythonPackage rec {
   pname = "langchain-huggingface";
-  version = "0.2.0";
+  version = "0.3.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "langchain-ai";
     repo = "langchain";
     tag = "langchain-huggingface==${version}";
-    hash = "sha256-TqxssbqqjJV+/ynM2wo3C1aCV6wy0DsvdEuiTvVqNa8=";
+    hash = "sha256-+7fxCw4YYyfXwXw30lf1Xb01aj01C6X0B5yUrNPQzNY=";
   };
 
   sourceRoot = "${src.name}/libs/partners/huggingface";
@@ -80,15 +80,12 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "langchain_huggingface" ];
 
-  passthru.updateScript = nix-update-script {
-    extraArgs = [
-      "--version-regex"
-      "langchain-huggingface==([0-9.]+)"
-    ];
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "langchain-huggingface==";
   };
 
   meta = {
-    changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-huggingface==${version}";
+    changelog = "https://github.com/langchain-ai/langchain/releases/tag/${src.tag}";
     description = "An integration package connecting Huggingface related classes and LangChain";
     homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/huggingface";
     license = lib.licenses.mit;
diff --git a/pkgs/development/python-modules/langchain-mistralai/default.nix b/pkgs/development/python-modules/langchain-mistralai/default.nix
index 55df9f444be7..6cc5a0baeec6 100644
--- a/pkgs/development/python-modules/langchain-mistralai/default.nix
+++ b/pkgs/development/python-modules/langchain-mistralai/default.nix
@@ -2,7 +2,6 @@
   lib,
   buildPythonPackage,
   fetchFromGitHub,
-  nix-update-script,
 
   # build-system
   pdm-backend,
@@ -18,6 +17,9 @@
   langchain-tests,
   pytest-asyncio,
   pytestCheckHook,
+
+  # passthru
+  gitUpdater,
 }:
 
 buildPythonPackage rec {
@@ -60,15 +62,12 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "langchain_mistralai" ];
 
-  passthru.updateScript = nix-update-script {
-    extraArgs = [
-      "--version-regex"
-      "langchain-mistralai==([0-9.]+)"
-    ];
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "langchain-mistralai==";
   };
 
   meta = {
-    changelog = "https://github.com/langchain-ai/langchain-mistralai/releases/tag/langchain-mistralai==${version}";
+    changelog = "https://github.com/langchain-ai/langchain-mistralai/releases/tag/${src.tag}";
     description = "Build LangChain applications with mistralai";
     homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/mistralai";
     license = lib.licenses.mit;
diff --git a/pkgs/development/python-modules/langchain-mongodb/default.nix b/pkgs/development/python-modules/langchain-mongodb/default.nix
index af4d6d4032c4..e65e8721665f 100644
--- a/pkgs/development/python-modules/langchain-mongodb/default.nix
+++ b/pkgs/development/python-modules/langchain-mongodb/default.nix
@@ -2,7 +2,6 @@
   lib,
   buildPythonPackage,
   fetchFromGitHub,
-  nix-update-script,
 
   # build-system
   poetry-core,
@@ -19,6 +18,9 @@
   pytestCheckHook,
   pytest-mock,
   syrupy,
+
+  # passthru
+  gitUpdater,
 }:
 
 buildPythonPackage rec {
@@ -64,15 +66,12 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "langchain_mongodb" ];
 
-  passthru.updateScript = nix-update-script {
-    extraArgs = [
-      "--version-regex"
-      "^langchain-mongodb==([0-9.]+)$"
-    ];
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "langchain-mongodb==";
   };
 
   meta = {
-    changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-mongodb==${version}";
+    changelog = "https://github.com/langchain-ai/langchain/releases/tag/${src.tag}";
     description = "Integration package connecting MongoDB and LangChain";
     homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/mongodb";
     license = lib.licenses.mit;
diff --git a/pkgs/development/python-modules/langchain-ollama/default.nix b/pkgs/development/python-modules/langchain-ollama/default.nix
index c17593224580..705a53178a35 100644
--- a/pkgs/development/python-modules/langchain-ollama/default.nix
+++ b/pkgs/development/python-modules/langchain-ollama/default.nix
@@ -17,7 +17,7 @@
   syrupy,
 
   # passthru
-  nix-update-script,
+  gitUpdater,
 }:
 
 buildPythonPackage rec {
@@ -60,15 +60,12 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "langchain_ollama" ];
 
-  passthru.updateScript = nix-update-script {
-    extraArgs = [
-      "--version-regex"
-      "langchain-ollama==([0-9.]+)"
-    ];
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "langchain-ollama==";
   };
 
   meta = {
-    changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-ollama==${version}";
+    changelog = "https://github.com/langchain-ai/langchain/releases/tag/${src.tag}";
     description = "Integration package connecting Ollama and LangChain";
     homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/ollama";
     license = lib.licenses.mit;
diff --git a/pkgs/development/python-modules/langchain-openai/default.nix b/pkgs/development/python-modules/langchain-openai/default.nix
index 6710daa6e852..4ff42d68e82e 100644
--- a/pkgs/development/python-modules/langchain-openai/default.nix
+++ b/pkgs/development/python-modules/langchain-openai/default.nix
@@ -17,6 +17,7 @@
   lark,
   pandas,
   pytest-asyncio,
+  pytest-cov-stub,
   pytestCheckHook,
   pytest-mock,
   pytest-socket,
@@ -26,28 +27,23 @@
   toml,
 
   # passthru
-  nix-update-script,
+  gitUpdater,
 }:
 
 buildPythonPackage rec {
   pname = "langchain-openai";
-  version = "0.3.17";
+  version = "0.3.23";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "langchain-ai";
     repo = "langchain";
     tag = "langchain-openai==${version}";
-    hash = "sha256-JsPdG62vvM8b/u5bo6FyXQhhGua/Sd74L/8CtMI7Fjc=";
+    hash = "sha256-o/DDHV2niEDp0kFJ+XuUXH7TSL/cBXwrI4lYLyD2SHc=";
   };
 
   sourceRoot = "${src.name}/libs/partners/openai";
 
-  preConfigure = ''
-    substituteInPlace pyproject.toml \
-      --replace-fail "--cov=langchain_openai" ""
-  '';
-
   build-system = [ pdm-backend ];
 
   pythonRelaxDeps = [
@@ -68,6 +64,7 @@ buildPythonPackage rec {
     lark
     pandas
     pytest-asyncio
+    pytest-cov-stub
     pytestCheckHook
     pytest-mock
     pytest-socket
@@ -99,15 +96,12 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "langchain_openai" ];
 
-  passthru.updateScript = nix-update-script {
-    extraArgs = [
-      "--version-regex"
-      "langchain-openai==([0-9.]+)"
-    ];
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "langchain-openai==";
   };
 
   meta = {
-    changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-openai==${version}";
+    changelog = "https://github.com/langchain-ai/langchain/releases/tag/${src.tag}";
     description = "Integration package connecting OpenAI and LangChain";
     homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/openai";
     license = lib.licenses.mit;
diff --git a/pkgs/development/python-modules/langchain-perplexity/default.nix b/pkgs/development/python-modules/langchain-perplexity/default.nix
index 6f4a24f9ab2b..acc783d3b46b 100644
--- a/pkgs/development/python-modules/langchain-perplexity/default.nix
+++ b/pkgs/development/python-modules/langchain-perplexity/default.nix
@@ -2,7 +2,6 @@
   lib,
   buildPythonPackage,
   fetchFromGitHub,
-  nix-update-script,
 
   # build-system
   pdm-backend,
@@ -14,9 +13,12 @@
   # tests
   langchain-tests,
   pytest-asyncio,
-  pytest-cov,
+  pytest-cov-stub,
   pytest-mock,
   pytestCheckHook,
+
+  # passthru
+  gitUpdater,
 }:
 
 buildPythonPackage rec {
@@ -49,7 +51,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     langchain-tests
     pytest-asyncio
-    pytest-cov
+    pytest-cov-stub
     pytest-mock
     pytestCheckHook
   ];
@@ -58,15 +60,12 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "langchain_perplexity" ];
 
-  passthru.updateScript = nix-update-script {
-    extraArgs = [
-      "--version-regex"
-      "langchain-perplexity==([0-9.]+)"
-    ];
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "langchain-perplexity==";
   };
 
   meta = {
-    changelog = "https://github.com/langchain-ai/langchain-perplexity/releases/tag/langchain-perplexity==${version}";
+    changelog = "https://github.com/langchain-ai/langchain-perplexity/releases/tag/${src.tag}";
     description = "Build LangChain applications with Perplexity";
     homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/perplexity";
     license = lib.licenses.mit;
diff --git a/pkgs/development/python-modules/langchain-tests/default.nix b/pkgs/development/python-modules/langchain-tests/default.nix
index 2b3862edd3ee..495d77229666 100644
--- a/pkgs/development/python-modules/langchain-tests/default.nix
+++ b/pkgs/development/python-modules/langchain-tests/default.nix
@@ -25,7 +25,7 @@
   pytestCheckHook,
 
   # passthru
-  nix-update-script,
+  gitUpdater,
 }:
 
 buildPythonPackage rec {
@@ -72,11 +72,8 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  passthru.updateScript = nix-update-script {
-    extraArgs = [
-      "--version-regex"
-      "langchain-tests==([0-9.]+)"
-    ];
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "langchain-tests==";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/langchain-text-splitters/default.nix b/pkgs/development/python-modules/langchain-text-splitters/default.nix
index d9d999de58aa..427e5564d9a5 100644
--- a/pkgs/development/python-modules/langchain-text-splitters/default.nix
+++ b/pkgs/development/python-modules/langchain-text-splitters/default.nix
@@ -2,7 +2,6 @@
   lib,
   buildPythonPackage,
   fetchFromGitHub,
-  nix-update-script,
 
   # build-system
   pdm-backend,
@@ -14,6 +13,9 @@
   httpx,
   pytest-asyncio,
   pytestCheckHook,
+
+  # passthru
+  gitUpdater,
 }:
 
 buildPythonPackage rec {
@@ -50,15 +52,12 @@ buildPythonPackage rec {
 
   pytestFlagsArray = [ "tests/unit_tests" ];
 
-  passthru.updateScript = nix-update-script {
-    extraArgs = [
-      "--version-regex"
-      "^langchain-test-splitters==([0-9.]+)$"
-    ];
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "langchain-text-splitters==";
   };
 
   meta = {
-    changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-text-splitters==${version}";
+    changelog = "https://github.com/langchain-ai/langchain/releases/tag/${src.tag}";
     description = "LangChain utilities for splitting into chunks a wide variety of text documents";
     homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/text-splitters";
     license = lib.licenses.mit;
diff --git a/pkgs/development/python-modules/langchain-xai/default.nix b/pkgs/development/python-modules/langchain-xai/default.nix
index 08f9c99dc773..f1126507fe82 100644
--- a/pkgs/development/python-modules/langchain-xai/default.nix
+++ b/pkgs/development/python-modules/langchain-xai/default.nix
@@ -2,7 +2,6 @@
   lib,
   buildPythonPackage,
   fetchFromGitHub,
-  nix-update-script,
 
   # build-system
   pdm-backend,
@@ -18,18 +17,21 @@
   pytest-asyncio,
   pytest-mock,
   pytestCheckHook,
+
+  # passthru
+  gitUpdater,
 }:
 
 buildPythonPackage rec {
   pname = "langchain-xai";
-  version = "0.2.3";
+  version = "0.2.4";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "langchain-ai";
     repo = "langchain";
     tag = "langchain-xai==${version}";
-    hash = "sha256-9pSwEHqh+WkHsjn7JNsyEy+U67ekTqAdHMAvAFanR8w=";
+    hash = "sha256-uH9D1mbpVfoxhF8e4uUycrj3hwV4r+hc/CBpeCVZ2eE=";
   };
 
   sourceRoot = "${src.name}/libs/partners/xai";
@@ -60,15 +62,12 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "langchain_xai" ];
 
-  passthru.updateScript = nix-update-script {
-    extraArgs = [
-      "--version-regex"
-      "langchain-xai==([0-9.]+)"
-    ];
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "langchain-xai==";
   };
 
   meta = {
-    changelog = "https://github.com/langchain-ai/langchain-xai/releases/tag/langchain-xai==${version}";
+    changelog = "https://github.com/langchain-ai/langchain-xai/releases/tag/${src.tag}";
     description = "Build LangChain applications with X AI";
     homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/xai";
     license = lib.licenses.mit;
diff --git a/pkgs/development/python-modules/langchain/default.nix b/pkgs/development/python-modules/langchain/default.nix
index c1c2cdd6440c..52e7e7a05ea0 100644
--- a/pkgs/development/python-modules/langchain/default.nix
+++ b/pkgs/development/python-modules/langchain/default.nix
@@ -3,7 +3,6 @@
   buildPythonPackage,
   fetchFromGitHub,
   pythonOlder,
-  nix-update-script,
 
   # build-system
   pdm-backend,
@@ -38,6 +37,9 @@
   responses,
   syrupy,
   toml,
+
+  # passthru
+  gitUpdater,
 }:
 
 buildPythonPackage rec {
@@ -141,17 +143,14 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "langchain" ];
 
-  passthru.updateScript = nix-update-script {
-    extraArgs = [
-      "--version-regex"
-      "langchain==([0-9.]+)"
-    ];
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "langchain==";
   };
 
   meta = {
     description = "Building applications with LLMs through composability";
     homepage = "https://github.com/langchain-ai/langchain";
-    changelog = "https://github.com/langchain-ai/langchain/releases/tag/v${version}";
+    changelog = "https://github.com/langchain-ai/langchain/releases/tag/${src.tag}";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [
       natsukium
diff --git a/pkgs/development/python-modules/langgraph-checkpoint-postgres/default.nix b/pkgs/development/python-modules/langgraph-checkpoint-postgres/default.nix
index 9471af6c6c94..8a6b11d164e9 100644
--- a/pkgs/development/python-modules/langgraph-checkpoint-postgres/default.nix
+++ b/pkgs/development/python-modules/langgraph-checkpoint-postgres/default.nix
@@ -21,7 +21,7 @@
   pytest-asyncio,
 
   # passthru
-  nix-update-script,
+  gitUpdater,
 }:
 
 buildPythonPackage rec {
@@ -90,17 +90,14 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "langgraph.checkpoint.postgres" ];
 
-  passthru.updateScript = nix-update-script {
-    extraArgs = [
-      "--version-regex"
-      "checkpointpostgres==(\\d+\\.\\d+\\.\\d+)"
-    ];
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "checkpointpostgres==";
   };
 
   meta = {
     description = "Library with a Postgres implementation of LangGraph checkpoint saver";
     homepage = "https://github.com/langchain-ai/langgraph/tree/main/libs/checkpoint-postgres";
-    changelog = "https://github.com/langchain-ai/langgraph/releases/tag/checkpointpostgres==${src.tag}";
+    changelog = "https://github.com/langchain-ai/langgraph/releases/tag/${src.tag}";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [
       drupol
diff --git a/pkgs/development/python-modules/langgraph-checkpoint-sqlite/default.nix b/pkgs/development/python-modules/langgraph-checkpoint-sqlite/default.nix
index 54efb25d7ca8..abe8da772df7 100644
--- a/pkgs/development/python-modules/langgraph-checkpoint-sqlite/default.nix
+++ b/pkgs/development/python-modules/langgraph-checkpoint-sqlite/default.nix
@@ -15,7 +15,7 @@
   pytestCheckHook,
 
   # passthru
-  nix-update-script,
+  gitUpdater,
 }:
 
 buildPythonPackage rec {
@@ -53,15 +53,12 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  passthru.updateScript = nix-update-script {
-    extraArgs = [
-      "--version-regex"
-      "checkpoint-sqlite==(\\d+\\.\\d+\\.\\d+)"
-    ];
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "checkpointsqlite==";
   };
 
   meta = {
-    changelog = "https://github.com/langchain-ai/langgraph/releases/tag/checkpointsqlite==${version}";
+    changelog = "https://github.com/langchain-ai/langgraph/releases/tag/${src.tag}";
     description = "Library with a SQLite implementation of LangGraph checkpoint saver";
     homepage = "https://github.com/langchain-ai/langgraph/tree/main/libs/checkpoint-sqlite";
     license = lib.licenses.mit;
diff --git a/pkgs/development/python-modules/langgraph-checkpoint/default.nix b/pkgs/development/python-modules/langgraph-checkpoint/default.nix
index f2cfee22c69f..865d68a2b4b6 100644
--- a/pkgs/development/python-modules/langgraph-checkpoint/default.nix
+++ b/pkgs/development/python-modules/langgraph-checkpoint/default.nix
@@ -18,7 +18,7 @@
   pytestCheckHook,
 
   # passthru
-  nix-update-script,
+  gitUpdater,
 }:
 
 buildPythonPackage rec {
@@ -53,15 +53,12 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  passthru.updateScript = nix-update-script {
-    extraArgs = [
-      "--version-regex"
-      "checkpoint==([0-9.]+)"
-    ];
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "checkpoint==";
   };
 
   meta = {
-    changelog = "https://github.com/langchain-ai/langgraph/releases/tag/checkpoint==${version}";
+    changelog = "https://github.com/langchain-ai/langgraph/releases/tag/${src.tag}";
     description = "Library with base interfaces for LangGraph checkpoint savers";
     homepage = "https://github.com/langchain-ai/langgraph/tree/main/libs/checkpoint";
     license = lib.licenses.mit;
diff --git a/pkgs/development/python-modules/langgraph-cli/default.nix b/pkgs/development/python-modules/langgraph-cli/default.nix
index 89d1bdcc2089..10b1f19c9454 100644
--- a/pkgs/development/python-modules/langgraph-cli/default.nix
+++ b/pkgs/development/python-modules/langgraph-cli/default.nix
@@ -15,7 +15,7 @@
   docker-compose,
 
   # passthru
-  nix-update-script,
+  gitUpdater,
 }:
 
 buildPythonPackage rec {
@@ -59,11 +59,8 @@ buildPythonPackage rec {
     "test_dockerfile_command_with_docker_compose"
   ];
 
-  passthru.updateScript = nix-update-script {
-    extraArgs = [
-      "--version-regex"
-      "cli==(\\d+\\.\\d+\\.\\d+)"
-    ];
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "cli==";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/langgraph-prebuilt/default.nix b/pkgs/development/python-modules/langgraph-prebuilt/default.nix
index 5e41724eebb7..96694f77fbff 100644
--- a/pkgs/development/python-modules/langgraph-prebuilt/default.nix
+++ b/pkgs/development/python-modules/langgraph-prebuilt/default.nix
@@ -24,7 +24,7 @@
   xxhash,
 
   # passthru
-  nix-update-script,
+  gitUpdater,
 }:
 # langgraph-prebuilt isn't meant to be a standalone package but is bundled into langgraph at build time.
 # It exists so the langgraph team can iterate on it without having to rebuild langgraph.
@@ -86,17 +86,14 @@ buildPythonPackage rec {
     "tests/test_react_agent.py"
   ];
 
-  passthru.updateScript = nix-update-script {
-    extraArgs = [
-      "--version-regex"
-      "prebuilt==(\\d+\\.\\d+\\.\\d+)"
-    ];
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "prebuilt==";
   };
 
   meta = {
     description = "Prebuilt agents add-on for Langgraph. Should always be bundled with langgraph";
     homepage = "https://github.com/langchain-ai/langgraph/tree/main/libs/prebuilt";
-    changelog = "https://github.com/langchain-ai/langgraph/releases/tag/${version}";
+    changelog = "https://github.com/langchain-ai/langgraph/releases/tag/${src.tag}";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ sarahec ];
   };
diff --git a/pkgs/development/python-modules/langgraph-sdk/default.nix b/pkgs/development/python-modules/langgraph-sdk/default.nix
index a1728f03f5d2..8dc6e7c23fc0 100644
--- a/pkgs/development/python-modules/langgraph-sdk/default.nix
+++ b/pkgs/development/python-modules/langgraph-sdk/default.nix
@@ -13,7 +13,7 @@
   typing-extensions,
 
   # passthru
-  nix-update-script,
+  gitUpdater,
 }:
 
 buildPythonPackage rec {
@@ -43,17 +43,14 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "langgraph_sdk" ];
 
-  passthru.updateScript = nix-update-script {
-    extraArgs = [
-      "--version-regex"
-      "sdk==(\\d+\\.\\d+\\.\\d+)"
-    ];
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "sdk==";
   };
 
   meta = {
     description = "SDK for interacting with the LangGraph Cloud REST API";
     homepage = "https://github.com/langchain-ai/langgraph/tree/main/libs/sdk-py";
-    changelog = "https://github.com/langchain-ai/langgraph/releases/tag/sdk==${version}";
+    changelog = "https://github.com/langchain-ai/langgraph/releases/tag/${src.tag}";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ sarahec ];
   };
diff --git a/pkgs/development/python-modules/langgraph/default.nix b/pkgs/development/python-modules/langgraph/default.nix
index 3acda2264623..153206ad3c22 100644
--- a/pkgs/development/python-modules/langgraph/default.nix
+++ b/pkgs/development/python-modules/langgraph/default.nix
@@ -44,7 +44,7 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "langchain-ai";
     repo = "langgraph";
-    tag = "${version}";
+    tag = version;
     hash = "sha256-bTxtfduuuyRITZqhk15aWwxNwiZ7TMTgBOEPat6zVIc=";
   };
 
@@ -128,17 +128,18 @@ buildPythonPackage rec {
     "tests/test_pregel_async.py"
   ];
 
+  # Since `langgraph` is the only unprefixed package, we have to use an explicit match
   passthru.updateScript = nix-update-script {
     extraArgs = [
       "--version-regex"
-      "^(\\d+\\.\\d+\\.\\d+)"
+      "([0-9.]+)"
     ];
   };
 
   meta = {
     description = "Build resilient language agents as graphs";
     homepage = "https://github.com/langchain-ai/langgraph";
-    changelog = "https://github.com/langchain-ai/langgraph/releases/tag/${version}";
+    changelog = "https://github.com/langchain-ai/langgraph/releases/tag/${src.tag}";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ sarahec ];
   };
diff --git a/pkgs/development/python-modules/langsmith/default.nix b/pkgs/development/python-modules/langsmith/default.nix
index 111067b979f5..96bc3f1b861c 100644
--- a/pkgs/development/python-modules/langsmith/default.nix
+++ b/pkgs/development/python-modules/langsmith/default.nix
@@ -30,14 +30,14 @@
 
 buildPythonPackage rec {
   pname = "langsmith";
-  version = "0.3.22";
+  version = "0.3.45";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "langchain-ai";
     repo = "langsmith-sdk";
     tag = "v${version}";
-    hash = "sha256-6KHiRwz3lR0+w1DHn1HgYK93MP9hvYFgoUvXtEogskA=";
+    hash = "sha256-uR3Uukt8LwoBKBcgyX2srK0C6O04IEECe/cFhBQFO2s=";
   };
 
   sourceRoot = "${src.name}/python";
@@ -85,13 +85,12 @@ buildPythonPackage rec {
   ];
 
   disabledTestPaths = [
-    # due to circular import
-    "tests/integration_tests/test_client.py"
-    "tests/integration_tests/test_prompts.py"
+    # Circular import
+    "tests/integration_tests/"
     "tests/unit_tests/test_client.py"
     "tests/unit_tests/evaluation/test_runner.py"
     "tests/unit_tests/evaluation/test_runner.py"
-    # Tests require a Langsmith API key
+    # Require a Langsmith API key
     "tests/evaluation/test_evaluation.py"
     "tests/external/test_instructor_evals.py"
     # Marked as flaky in source
diff --git a/pkgs/development/python-modules/latex2mathml/default.nix b/pkgs/development/python-modules/latex2mathml/default.nix
index bbc45d55b25c..790696697541 100644
--- a/pkgs/development/python-modules/latex2mathml/default.nix
+++ b/pkgs/development/python-modules/latex2mathml/default.nix
@@ -5,6 +5,7 @@
   fetchFromGitHub,
   poetry-core,
   pytestCheckHook,
+  pytest-cov-stub,
   multidict,
   xmljson,
 }:
@@ -27,15 +28,11 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
+    pytest-cov-stub
     multidict
     xmljson
   ];
 
-  # Disable code coverage in check phase
-  postPatch = ''
-    sed -i '/--cov/d' pyproject.toml
-  '';
-
   pythonImportsCheck = [ "latex2mathml" ];
 
   meta = {
diff --git a/pkgs/development/python-modules/lcgit/default.nix b/pkgs/development/python-modules/lcgit/default.nix
index e7fc4a064d59..ae95a334fe19 100644
--- a/pkgs/development/python-modules/lcgit/default.nix
+++ b/pkgs/development/python-modules/lcgit/default.nix
@@ -3,6 +3,7 @@
   buildPythonPackage,
   fetchFromGitHub,
   pytestCheckHook,
+  pytest-cov-stub,
   pythonOlder,
   setuptools,
 }:
@@ -21,14 +22,12 @@ buildPythonPackage rec {
     hash = "sha256-unw5xY5iZlVrV01hchHS3Ar+zpF7awTAutcqndKH0Ic=";
   };
 
-  postPatch = ''
-    substituteInPlace pytest.ini \
-      --replace-fail " --cov" ""
-  '';
-
   build-system = [ setuptools ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cov-stub
+  ];
 
   pythonImportsCheck = [ "lcgit" ];
 
diff --git a/pkgs/development/python-modules/ldap3/default.nix b/pkgs/development/python-modules/ldap3/default.nix
index 518f879c916d..92870e2fbc6e 100644
--- a/pkgs/development/python-modules/ldap3/default.nix
+++ b/pkgs/development/python-modules/ldap3/default.nix
@@ -1,20 +1,24 @@
 {
   lib,
-  fetchPypi,
+  fetchFromGitHub,
   fetchpatch,
   buildPythonPackage,
   dos2unix,
+  setuptools,
   pyasn1,
+  unittestCheckHook,
 }:
 
 buildPythonPackage rec {
   pname = "ldap3";
   version = "2.9.1";
-  format = "setuptools";
+  pyproject = true;
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "f3e7fc4718e3f09dda568b57100095e0ce58633bcabbed8667ce3f8fbaa4229f";
+  src = fetchFromGitHub {
+    owner = "cannatag";
+    repo = "ldap3";
+    tag = "v${version}";
+    hash = "sha256-B+Sb6zMifkSKfaPYrXML5ugHGanbH5CPKeVdHshe3R4=";
   };
 
   prePatch = ''
@@ -33,12 +37,20 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ dos2unix ];
 
-  propagatedBuildInputs = [ pyasn1 ];
+  build-system = [ setuptools ];
 
-  doCheck = false; # requires network
+  dependencies = [ pyasn1 ];
+
+  nativeCheckInputs = [ unittestCheckHook ];
+
+  pytestFlagsArray = [ "test/" ];
+
+  preCheck = ''
+    export SERVER=NONE
+  '';
 
   meta = with lib; {
-    homepage = "https://pypi.python.org/pypi/ldap3";
+    homepage = "https://github.com/cannatag/ldap3";
     description = "Strictly RFC 4510 conforming LDAP V3 pure Python client library";
     license = licenses.lgpl3;
     maintainers = [ ];
diff --git a/pkgs/development/python-modules/lektricowifi/default.nix b/pkgs/development/python-modules/lektricowifi/default.nix
index 39e2f0d62c47..b50b1e63ed33 100644
--- a/pkgs/development/python-modules/lektricowifi/default.nix
+++ b/pkgs/development/python-modules/lektricowifi/default.nix
@@ -12,21 +12,16 @@
 
 buildPythonPackage rec {
   pname = "lektricowifi";
-  version = "0.0.43";
+  version = "0.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "Lektrico";
     repo = "lektricowifi";
     tag = "v.${version}";
-    hash = "sha256-NwM1WpH6tS0iAVpG2gSFJpDPPn9nECHAzpOnWzeYPH4=";
+    hash = "sha256-GkRZ+fBjLtiZ3dPsn/xeJ7c0cVMY6SHIs+wqhmXXOTk=";
   };
 
-  postPatch = ''
-    substituteInPlace tests/test_mocked_devices.py \
-      --replace-fail "from asyncmock import AsyncMock" "from unittest.mock import AsyncMock"
-  '';
-
   build-system = [ setuptools ];
 
   pythonRelaxDeps = [
diff --git a/pkgs/development/python-modules/libcst/default.nix b/pkgs/development/python-modules/libcst/default.nix
index 58c7c5e67781..75a505db1587 100644
--- a/pkgs/development/python-modules/libcst/default.nix
+++ b/pkgs/development/python-modules/libcst/default.nix
@@ -22,14 +22,14 @@
 
 buildPythonPackage rec {
   pname = "libcst";
-  version = "1.8.0";
+  version = "1.8.2";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "Instagram";
     repo = "LibCST";
     tag = "v${version}";
-    hash = "sha256-mHYcbw3BfvntKHadObYow8H/2f0LqpfSTbKju0CKhx4=";
+    hash = "sha256-DsbigWFFYmucOa3uHdvMFd4nbgwKLzRVdI6SjUUdFWU=";
   };
 
   cargoDeps = rustPlatform.fetchCargoVendor {
@@ -39,7 +39,7 @@ buildPythonPackage rec {
       src
       cargoRoot
       ;
-    hash = "sha256-K8hug7JeLPIvrqgVaONKfixu8XRvn+pnqS0fHV+nTqg=";
+    hash = "sha256-dwqs9hXedX1jJJANyZ8nMivZBrLcMAi5NMJscW3oSdQ=";
   };
 
   cargoRoot = "native";
diff --git a/pkgs/development/python-modules/libipld/default.nix b/pkgs/development/python-modules/libipld/default.nix
index a4a478104737..aa3e40381c24 100644
--- a/pkgs/development/python-modules/libipld/default.nix
+++ b/pkgs/development/python-modules/libipld/default.nix
@@ -49,6 +49,8 @@ buildPythonPackage rec {
     pytest-xdist
   ];
 
+  pytestFlagsArray = [ "--benchmark-disable" ];
+
   disabledTests = [
     # touches network
     "test_decode_car"
diff --git a/pkgs/development/python-modules/libknot/default.nix b/pkgs/development/python-modules/libknot/default.nix
index 731319b7e44d..b1834959e273 100644
--- a/pkgs/development/python-modules/libknot/default.nix
+++ b/pkgs/development/python-modules/libknot/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "libknot";
-  version = "3.4.6";
+  version = "3.4.7";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-GthzZgu8UW/BoW5AJSriKSKHEQF4w9S0Vnl9DKOsimk=";
+    hash = "sha256-RtaGVI9HN8ioegzx801NK5ZC85jqIO6MTj2V9Rj+xYs=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/libvirt/default.nix b/pkgs/development/python-modules/libvirt/default.nix
index c8f59352cab4..891965e2e941 100644
--- a/pkgs/development/python-modules/libvirt/default.nix
+++ b/pkgs/development/python-modules/libvirt/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "libvirt";
-  version = "11.0.0";
+  version = "11.4.0";
   pyproject = true;
 
   src = fetchFromGitLab {
     owner = "libvirt";
     repo = "libvirt-python";
     tag = "v${version}";
-    hash = "sha256-c6viZTQFpLB+k/f45m/AZe+ggDxQbGjQgD51yCuyepc=";
+    hash = "sha256-jI14/lBuqSqI8mnTa7dqa+B+6tU2erW6wlT8E0eTgtY=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/limits/default.nix b/pkgs/development/python-modules/limits/default.nix
index d9aed3620d1d..d7f7d55ce343 100644
--- a/pkgs/development/python-modules/limits/default.nix
+++ b/pkgs/development/python-modules/limits/default.nix
@@ -100,6 +100,8 @@ buildPythonPackage rec {
     pytestCheckHook
   ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
+  pytestFlagsArray = [ "--benchmark-disable" ];
+
   disabledTests = [ "test_moving_window_memcached" ];
 
   pythonImportsCheck = [ "limits" ];
diff --git a/pkgs/development/python-modules/litellm/default.nix b/pkgs/development/python-modules/litellm/default.nix
index 5cad63057288..d86353c3eb04 100644
--- a/pkgs/development/python-modules/litellm/default.nix
+++ b/pkgs/development/python-modules/litellm/default.nix
@@ -46,7 +46,7 @@
 
 buildPythonPackage rec {
   pname = "litellm";
-  version = "1.69.0";
+  version = "1.72.2";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -55,7 +55,7 @@ buildPythonPackage rec {
     owner = "BerriAI";
     repo = "litellm";
     tag = "v${version}-stable";
-    hash = "sha256-W2uql9fKzwAmSgeLTuESguh+dVn+b3JNTeGlCc9NP2A=";
+    hash = "sha256-CGmdk5SjtmeqXLVWiBqvofQ4+C2gW4TJXFkQdaQqMEA=";
   };
 
   build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/llama-cloud-services/default.nix b/pkgs/development/python-modules/llama-cloud-services/default.nix
index d6f8eb464e93..d70e1faafb76 100644
--- a/pkgs/development/python-modules/llama-cloud-services/default.nix
+++ b/pkgs/development/python-modules/llama-cloud-services/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "llama-cloud-services";
-  version = "0.6.23";
+  version = "0.6.32";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "run-llama";
     repo = "llama_cloud_services";
     tag = "v${version}";
-    hash = "sha256-G1qjm7GpSZDgGWys+toXiQoRJHIQUcwG6+0JK8k3XfE=";
+    hash = "sha256-18Rt+MCI5vNJGsao/NPgzXuT4+fYsqaQN2KfjAQtxTM=";
   };
 
   pythonRelaxDeps = [ "llama-cloud" ];
diff --git a/pkgs/development/python-modules/llama-index-agent-openai/default.nix b/pkgs/development/python-modules/llama-index-agent-openai/default.nix
index e21d96a3b984..bc80353ca4a3 100644
--- a/pkgs/development/python-modules/llama-index-agent-openai/default.nix
+++ b/pkgs/development/python-modules/llama-index-agent-openai/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "llama-index-agent-openai";
-  version = "0.4.8";
+  version = "0.4.9";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "llama_index_agent_openai";
     inherit version;
-    hash = "sha256-unbyHht/D2bjJtxBnCzEA8u2FK4o95BFQLEQNpWWX2g=";
+    hash = "sha256-FTzA9J3KoMxEeV4tPqIO+33RJRNowNdwSm4mqsZhHJ0=";
   };
 
   pythonRelaxDeps = [ "llama-index-llms-openai" ];
diff --git a/pkgs/development/python-modules/llama-index-llms-openai/default.nix b/pkgs/development/python-modules/llama-index-llms-openai/default.nix
index 94a57df95017..6b70c3c24aaf 100644
--- a/pkgs/development/python-modules/llama-index-llms-openai/default.nix
+++ b/pkgs/development/python-modules/llama-index-llms-openai/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "llama-index-llms-openai";
-  version = "0.3.42";
+  version = "0.3.44";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "llama_index_llms_openai";
     inherit version;
-    hash = "sha256-O1yLSwbtod1743ATe215OI+dIcan7d2HK15jNuYYsjU=";
+    hash = "sha256-BJUGpYQYi2xWXYca624RpsUiln1LT18ZE+tG/Xuz1zE=";
   };
 
   pythonRemoveDeps = [
diff --git a/pkgs/development/python-modules/llama-index-readers-file/default.nix b/pkgs/development/python-modules/llama-index-readers-file/default.nix
index 7be23381629b..d8faea57cbad 100644
--- a/pkgs/development/python-modules/llama-index-readers-file/default.nix
+++ b/pkgs/development/python-modules/llama-index-readers-file/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "llama-index-readers-file";
-  version = "0.4.8";
+  version = "0.4.9";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "llama_index_readers_file";
     inherit version;
-    hash = "sha256-0oIbFkwRRTt5k0VjVabFRGMaCuhlamRt+fwAnxbPuZ8=";
+    hash = "sha256-twX9QqKHWvA9NDxmsoE4RxgAzROmfvzEiuKYOznYFsc=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/development/python-modules/llm-gemini/default.nix b/pkgs/development/python-modules/llm-gemini/default.nix
index ab0976f2a97b..85f000c471be 100644
--- a/pkgs/development/python-modules/llm-gemini/default.nix
+++ b/pkgs/development/python-modules/llm-gemini/default.nix
@@ -15,14 +15,14 @@
 }:
 buildPythonPackage rec {
   pname = "llm-gemini";
-  version = "0.21";
+  version = "0.22";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "simonw";
     repo = "llm-gemini";
     tag = version;
-    hash = "sha256-aCP0YjcghzpgceuZRKGTN15wm7OIPCwcJAJJBxh78f4=";
+    hash = "sha256-8zUOP+LNwdUXx4hR3m5lodcVUmB4ZjyiWqWzk2tV9wM=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/llm-openai-plugin/default.nix b/pkgs/development/python-modules/llm-openai-plugin/default.nix
index 49fd64c6acd2..27b17a3cc75e 100644
--- a/pkgs/development/python-modules/llm-openai-plugin/default.nix
+++ b/pkgs/development/python-modules/llm-openai-plugin/default.nix
@@ -15,14 +15,14 @@
 }:
 buildPythonPackage rec {
   pname = "llm-openai-plugin";
-  version = "0.4";
+  version = "0.5";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "simonw";
     repo = "llm-openai-plugin";
     tag = version;
-    hash = "sha256-UoUxCwR+qOUufHuS0gw6A5Q7sB77VO4HYuMjFGN7mhA=";
+    hash = "sha256-xlJS+xAKOo40hZH751yrvIuXZw1HQsB7K2anFoMxthU=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/llm-openrouter/default.nix b/pkgs/development/python-modules/llm-openrouter/default.nix
index ada713681c69..d3254edb6cdc 100644
--- a/pkgs/development/python-modules/llm-openrouter/default.nix
+++ b/pkgs/development/python-modules/llm-openrouter/default.nix
@@ -51,6 +51,9 @@ buildPythonPackage rec {
     homepage = "https://github.com/simonw/llm-openrouter";
     changelog = "https://github.com/simonw/llm-openrouter/releases/tag/${version}/CHANGELOG.md";
     license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ philiptaron ];
+    maintainers = with lib.maintainers; [
+      arcuru
+      philiptaron
+    ];
   };
 }
diff --git a/pkgs/development/python-modules/lmfit/default.nix b/pkgs/development/python-modules/lmfit/default.nix
index 87e201634e7b..83ff265b6922 100644
--- a/pkgs/development/python-modules/lmfit/default.nix
+++ b/pkgs/development/python-modules/lmfit/default.nix
@@ -7,6 +7,7 @@
   matplotlib,
   numpy,
   pandas,
+  pytest-cov-stub,
   pytestCheckHook,
   pythonOlder,
   scipy,
@@ -27,11 +28,6 @@ buildPythonPackage rec {
     hash = "sha256-czIea4gfL2hiNXIaffwCr2uw8DCiXv62Zjj2KxxgU6E=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace-fail "--cov=lmfit --cov-report html" ""
-  '';
-
   build-system = [
     setuptools
     setuptools-scm
@@ -48,6 +44,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     matplotlib
     pandas
+    pytest-cov-stub
     pytestCheckHook
   ];
 
diff --git a/pkgs/development/python-modules/logbook/default.nix b/pkgs/development/python-modules/logbook/default.nix
index f8043beac697..a6785df8c5ab 100644
--- a/pkgs/development/python-modules/logbook/default.nix
+++ b/pkgs/development/python-modules/logbook/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "logbook";
-  version = "1.8.1";
+  version = "1.8.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "getlogbook";
     repo = "logbook";
     tag = version;
-    hash = "sha256-Uq5/IdbwewfTCR+lbF8UcUhQe76EHpt4CFkbi3SLGLk=";
+    hash = "sha256-21323iXtjyUAxAEFMsU6t1/nNLEN5G3jHcubNCEYQ3c=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/losant-rest/default.nix b/pkgs/development/python-modules/losant-rest/default.nix
index 7453a9b7dc63..3c8cde54f5da 100644
--- a/pkgs/development/python-modules/losant-rest/default.nix
+++ b/pkgs/development/python-modules/losant-rest/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "losant-rest";
-  version = "1.22.0";
+  version = "1.22.1";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "Losant";
     repo = "losant-rest-python";
     tag = "v${version}";
-    hash = "sha256-8h8EGG13C3zSB/KBdk6Oa5dKHTIftO7mCYay/wAe9Y4=";
+    hash = "sha256-7H7jmNsz5UTcM0i1KiVwQb2UMlLRQ/3W2rhM79+Q4Es=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/luddite/default.nix b/pkgs/development/python-modules/luddite/default.nix
index 5a421d68218a..a41e37244d66 100644
--- a/pkgs/development/python-modules/luddite/default.nix
+++ b/pkgs/development/python-modules/luddite/default.nix
@@ -5,6 +5,7 @@
   setuptools,
   packaging,
   pytestCheckHook,
+  pytest-cov-stub,
   pytest-mock,
 }:
 
@@ -22,7 +23,6 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace pytest.ini \
-      --replace "--cov=luddite --cov-report=html --cov-report=term --no-cov-on-fail" "" \
       --replace "--disable-socket" ""
   '';
 
@@ -34,6 +34,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
+    pytest-cov-stub
     pytest-mock
   ];
 
diff --git a/pkgs/development/python-modules/luna-usb/default.nix b/pkgs/development/python-modules/luna-usb/default.nix
index 7d4da8148302..a6b8393e1d7f 100644
--- a/pkgs/development/python-modules/luna-usb/default.nix
+++ b/pkgs/development/python-modules/luna-usb/default.nix
@@ -20,14 +20,14 @@
 }:
 buildPythonPackage rec {
   pname = "luna-usb";
-  version = "0.2.0";
+  version = "0.2.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "greatscottgadgets";
     repo = "luna";
     tag = version;
-    hash = "sha256-SVpAPq77IH2/2WZrc25j7q6qTMW2ToPY5lYQcYUlJfs=";
+    hash = "sha256-8onTF0iJF7HpNCjNxUg89YRjfYb94CrFgGtmprp7g2E=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/magic-wormhole/default.nix b/pkgs/development/python-modules/magic-wormhole/default.nix
index d4cc8603e4cf..0d32ac8bcbbf 100644
--- a/pkgs/development/python-modules/magic-wormhole/default.nix
+++ b/pkgs/development/python-modules/magic-wormhole/default.nix
@@ -34,18 +34,21 @@
   magic-wormhole-transit-relay,
   magic-wormhole-mailbox-server,
   pytestCheckHook,
+  pytest-twisted,
+
+  gitUpdater,
 }:
 
 buildPythonPackage rec {
   pname = "magic-wormhole";
-  version = "0.18.0";
+  version = "0.19.2";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "magic-wormhole";
     repo = "magic-wormhole";
     tag = version;
-    hash = "sha256-FQ7m6hkJcFZaE+ptDALq/gijn/RcAM1Zvzi2+xpoXBU=";
+    hash = "sha256-5Tipcood5RktXY05p20hQpWhSMMnZm67I4iybjV8TcA=";
   };
 
   postPatch =
@@ -98,10 +101,13 @@ buildPythonPackage rec {
       magic-wormhole-mailbox-server
       magic-wormhole-transit-relay
       pytestCheckHook
+      pytest-twisted
     ]
     ++ optional-dependencies.dilation
     ++ lib.optionals stdenv.hostPlatform.isDarwin [ unixtools.locale ];
 
+  pytestFlagsArray = [ "src/wormhole/test" ];
+
   __darwinAllowLocalNetworking = true;
 
   postInstall = ''
@@ -112,10 +118,12 @@ buildPythonPackage rec {
       --zsh wormhole_complete.zsh
   '';
 
+  passthru.updateScript = gitUpdater { };
+
   meta = {
     changelog = "https://github.com/magic-wormhole/magic-wormhole/blob/${version}/NEWS.md";
     description = "Securely transfer data between computers";
-    homepage = "https://github.com/magic-wormhole/magic-wormhole";
+    homepage = "https://magic-wormhole.readthedocs.io/";
     license = lib.licenses.mit;
     maintainers = [ lib.maintainers.mjoerg ];
     mainProgram = "wormhole";
diff --git a/pkgs/development/python-modules/mail-parser/default.nix b/pkgs/development/python-modules/mail-parser/default.nix
index cd495877b92f..25466ec4ff7f 100644
--- a/pkgs/development/python-modules/mail-parser/default.nix
+++ b/pkgs/development/python-modules/mail-parser/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "mail-parser";
-  version = "4.1.2";
+  version = "4.1.3";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "SpamScope";
     repo = "mail-parser";
     tag = version;
-    hash = "sha256-AXMfb+9POEaosCc+dv1xenhvBbpVkllMjftMoADUPXE=";
+    hash = "sha256-aNPBWxAysxHTuzaupi/CSSBUsGTsFanuPldz6BRr2V0=";
   };
 
   LC_ALL = "en_US.utf-8";
diff --git a/pkgs/development/python-modules/mako/default.nix b/pkgs/development/python-modules/mako/default.nix
index 0396086580a2..f8753b98e9cc 100644
--- a/pkgs/development/python-modules/mako/default.nix
+++ b/pkgs/development/python-modules/mako/default.nix
@@ -67,6 +67,6 @@ buildPythonPackage rec {
     changelog = "https://docs.makotemplates.org/en/latest/changelog.html";
     license = licenses.mit;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/marko/default.nix b/pkgs/development/python-modules/marko/default.nix
index fc566be08b39..48173786ccf5 100644
--- a/pkgs/development/python-modules/marko/default.nix
+++ b/pkgs/development/python-modules/marko/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "marko";
-  version = "2.1.3";
+  version = "2.1.4";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "frostming";
     repo = "marko";
     tag = "v${version}";
-    hash = "sha256-rYWBVcDUH0vNPDxSIwiRSWFfPZ7ahe4Z+Sl96tNMDN8=";
+    hash = "sha256-syHuGAYA/s8jtlxBUt3aVPe55s2bdpzidBf1JvsI604=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/markupsafe/default.nix b/pkgs/development/python-modules/markupsafe/default.nix
index 8eed9be71ce7..96cee74b4ab8 100644
--- a/pkgs/development/python-modules/markupsafe/default.nix
+++ b/pkgs/development/python-modules/markupsafe/default.nix
@@ -53,6 +53,6 @@ buildPythonPackage rec {
     description = "Implements a XML/HTML/XHTML Markup safe string";
     homepage = "https://palletsprojects.com/p/markupsafe/";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/mcpadapt/default.nix b/pkgs/development/python-modules/mcpadapt/default.nix
index 9fc6a0e2ea92..83fc4979cd11 100644
--- a/pkgs/development/python-modules/mcpadapt/default.nix
+++ b/pkgs/development/python-modules/mcpadapt/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "mcpadapt";
-  version = "0.1.9";
+  version = "0.1.10";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "grll";
     repo = "mcpadapt";
     tag = "v${version}";
-    hash = "sha256-sczXScP1wDUntAwVEfiGfJe0ghBpqPQH1YaXhFGj97Y=";
+    hash = "sha256-605e28p1rlJ5teCLxL/Lh8p5zV7cPuSzZWwfkE1gM5I=";
   };
 
   build-system = [ hatchling ];
diff --git a/pkgs/development/python-modules/mcstatus/default.nix b/pkgs/development/python-modules/mcstatus/default.nix
index 92912f5f477a..6da656c5f92c 100644
--- a/pkgs/development/python-modules/mcstatus/default.nix
+++ b/pkgs/development/python-modules/mcstatus/default.nix
@@ -4,39 +4,29 @@
   buildPythonPackage,
   dnspython,
   fetchFromGitHub,
-  poetry-core,
-  poetry-dynamic-versioning,
+  hatchling,
   pytest-asyncio,
+  pytest-cov-stub,
   pytest-rerunfailures,
   pytestCheckHook,
-  pythonOlder,
+  typing-extensions,
 }:
 
 buildPythonPackage rec {
   pname = "mcstatus";
-  version = "11.1.1";
+  version = "12.0.1";
   pyproject = true;
 
-  disabled = pythonOlder "3.8";
-
   src = fetchFromGitHub {
     owner = "py-mine";
     repo = "mcstatus";
     tag = "v${version}";
-    hash = "sha256-P8Su5P/ztyoXZBVvm5uCMDn4ezeg11oRSQ0QCyIJbVw=";
+    hash = "sha256-FSXELbEQYUUu2maWBFb5Fj7Y3zXqwmFQRAu+nNco0lQ=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace " --cov=mcstatus --cov-append --cov-branch --cov-report=term-missing -vvv --no-cov-on-fail" ""
-  '';
+  build-system = [ hatchling ];
 
-  nativeBuildInputs = [
-    poetry-core
-    poetry-dynamic-versioning
-  ];
-
-  propagatedBuildInputs = [
+  dependencies = [
     asyncio-dgram
     dnspython
   ];
@@ -45,26 +35,31 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytest-asyncio
+    pytest-cov-stub
     pytest-rerunfailures
+    pytest-cov-stub
     pytestCheckHook
+    typing-extensions
   ];
 
   pythonImportsCheck = [ "mcstatus" ];
 
   disabledTests = [
     # DNS features are limited in the sandbox
-    "test_query"
-    "test_query_retry"
     "test_resolve_localhost"
     "test_async_resolve_localhost"
+    "test_java_server_with_query_port"
   ];
 
-  meta = with lib; {
+  meta = {
     description = "Python library for checking the status of Minecraft servers";
     mainProgram = "mcstatus";
     homepage = "https://github.com/py-mine/mcstatus";
     changelog = "https://github.com/py-mine/mcstatus/releases/tag/v${version}";
-    license = with licenses; [ asl20 ];
-    maintainers = with maintainers; [ fab ];
+    license = with lib.licenses; [ asl20 ];
+    maintainers = with lib.maintainers; [
+      fab
+      perchun
+    ];
   };
 }
diff --git a/pkgs/development/python-modules/mdformat-mkdocs/default.nix b/pkgs/development/python-modules/mdformat-mkdocs/default.nix
index 40940a338239..6b18d7b60941 100644
--- a/pkgs/development/python-modules/mdformat-mkdocs/default.nix
+++ b/pkgs/development/python-modules/mdformat-mkdocs/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "mdformat-mkdocs";
-  version = "4.1.2";
+  version = "4.3.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "KyleKing";
     repo = "mdformat-mkdocs";
     tag = "v${version}";
-    hash = "sha256-+2w7UrOPSCUDc6jnLAW0/njq+aJ4y+H8n7gshxLj8/Q=";
+    hash = "sha256-SZcXYSmGvhXNP4keQPfnhVg9icHJnH2IfTXaKaJ+qLU=";
   };
 
   nativeBuildInputs = [ flit-core ];
diff --git a/pkgs/development/python-modules/mdutils/default.nix b/pkgs/development/python-modules/mdutils/default.nix
index d6ff38e1a6ed..5e74b92cc54a 100644
--- a/pkgs/development/python-modules/mdutils/default.nix
+++ b/pkgs/development/python-modules/mdutils/default.nix
@@ -3,25 +3,27 @@
   buildPythonPackage,
   fetchFromGitHub,
   unittestCheckHook,
+  setuptools,
 }:
-
 buildPythonPackage rec {
   pname = "mdutils";
-  version = "1.6.0";
-  format = "setuptools";
+  version = "1.7.0";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "didix21";
     repo = "mdutils";
     tag = "v${version}";
-    hash = "sha256-xF6z63CjL/qSBQsm/fSTQhwpg9yJU4qrY06cjn1PbCk=";
+    hash = "sha256-3/rqcRdyReQnllgVe0/KzwpcFdgHN0K6afisV4dj+Y8=";
   };
 
+  build-system = [ setuptools ];
+
   nativeCheckInputs = [ unittestCheckHook ];
 
   pythonImportsCheck = [ "mdutils" ];
 
-  meta = with lib; {
+  meta = {
     description = "Set of basic tools that can help to create Markdown files";
     longDescription = ''
       This Python package contains a set of basic tools that can help to create
@@ -32,7 +34,7 @@ buildPythonPackage rec {
     '';
     homepage = "https://github.com/didix21/mdutils";
     changelog = "https://github.com/didix21/mdutils/releases/tag/v${version}";
-    license = licenses.mit;
-    maintainers = with maintainers; [ azahi ];
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.azahi ];
   };
 }
diff --git a/pkgs/development/python-modules/measurement/default.nix b/pkgs/development/python-modules/measurement/default.nix
index ea4d1bf315b7..cbbea4d9189a 100644
--- a/pkgs/development/python-modules/measurement/default.nix
+++ b/pkgs/development/python-modules/measurement/default.nix
@@ -7,6 +7,7 @@
   flit-scm,
   sympy,
   pytestCheckHook,
+  pytest-cov-stub,
   sphinx,
 }:
 
@@ -30,14 +31,12 @@ buildPythonPackage rec {
     sphinx
   ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace "--cov=measurement" ""
-  '';
-
   propagatedBuildInputs = [ sympy ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cov-stub
+  ];
 
   meta = {
     description = "Use and manipulate unit-aware measurement objects in Python";
diff --git a/pkgs/development/python-modules/mechanize/default.nix b/pkgs/development/python-modules/mechanize/default.nix
index 97fa01697e49..ae9aca2c360a 100644
--- a/pkgs/development/python-modules/mechanize/default.nix
+++ b/pkgs/development/python-modules/mechanize/default.nix
@@ -1,6 +1,7 @@
 {
   lib,
   buildPythonPackage,
+  fetchpatch,
   fetchPypi,
   html5lib,
   pytestCheckHook,
@@ -20,6 +21,14 @@ buildPythonPackage rec {
     hash = "sha256-HeqUf5vn6gq2EPe7xKTja0XWv9/O6imtPTiaiKGVfd8=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "fix-cookietests-python3.13.patch";
+      url = "https://github.com/python-mechanize/mechanize/commit/0c1cd4b65697dee4e4192902c9a2965d94700502.patch";
+      hash = "sha256-Xlx8ZwHkFbJqeWs+/fllYZt3CZRu9rD8bMHHPuUlRv4=";
+    })
+  ];
+
   build-system = [ setuptools ];
 
   dependencies = [ html5lib ];
diff --git a/pkgs/development/python-modules/meshtastic/default.nix b/pkgs/development/python-modules/meshtastic/default.nix
index a83bd159d285..535ee5916caa 100644
--- a/pkgs/development/python-modules/meshtastic/default.nix
+++ b/pkgs/development/python-modules/meshtastic/default.nix
@@ -48,6 +48,7 @@ buildPythonPackage rec {
 
   pythonRelaxDeps = [
     "bleak"
+    "packaging"
     "protobuf"
   ];
 
diff --git a/pkgs/development/python-modules/meson-python/default.nix b/pkgs/development/python-modules/meson-python/default.nix
index 512a020bd231..b4099605e0e0 100644
--- a/pkgs/development/python-modules/meson-python/default.nix
+++ b/pkgs/development/python-modules/meson-python/default.nix
@@ -1,7 +1,9 @@
 {
   lib,
+  stdenv,
   buildPythonPackage,
   fetchPypi,
+  fetchpatch,
   pythonOlder,
 
   # build-system, dependencies
@@ -12,6 +14,7 @@
 
   # tests
   cython,
+  git,
   pytestCheckHook,
   pytest-mock,
 }:
@@ -27,6 +30,14 @@ buildPythonPackage rec {
     hash = "sha256-xWqZ7J32aaQGYv5GlgMhr25LFBBsFNsihwnBYo4jhI0=";
   };
 
+  patches = [
+    (fetchpatch {
+      # TODO: Remove in 0.19.0
+      url = "https://github.com/mesonbuild/meson-python/commit/1e69e7a23f2b24d688dc4220e93de6f0e2bcf9d2.patch";
+      hash = "sha256-FC2ll/OrLV1R0CDB6UkrknVASJQ7rSU+sApdAk75x44=";
+    })
+  ];
+
   build-system = [
     meson
     ninja
@@ -41,47 +52,22 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     cython
+    git
     pytestCheckHook
     pytest-mock
   ];
 
-  disabledTests = [
-    # Tests require a Git checkout
-    "test_configure_data"
-    "test_contents"
-    "test_contents"
-    "test_contents_license_file"
-    "test_contents_subdirs"
-    "test_contents_unstaged"
-    "test_detect_wheel_tag_module"
-    "test_detect_wheel_tag_script"
-    "test_dynamic_version"
-    "test_editable_install"
-    "test_editable_verbose"
-    "test_editble_reentrant"
-    "test_entrypoints"
-    "test_executable_bit"
-    "test_executable_bit"
-    "test_generated_files"
-    "test_install_subdir"
-    "test_license_pep639"
-    "test_limited_api"
-    "test_link_library_in_subproject"
-    "test_local_lib"
-    "test_long_path"
-    "test_meson_build_metadata"
-    "test_pep621_metadata"
-    "test_pure"
-    "test_purelib_and_platlib"
-    "test_reproducible"
-    "test_rpath"
-    "test_scipy_like"
-    "test_sharedlib_in_package"
-    "test_symlinks"
-    "test_uneeded_rpath"
-    "test_user_args"
-    "test_vendored_meson"
-  ];
+  # meson-python respectes MACOSX_DEPLOYMENT_TARGET, but compares it with the
+  # actual platform version during tests, which mismatches.
+  # https://github.com/mesonbuild/meson-python/issues/760
+  # FIXME: drop in 0.19.0
+  preCheck =
+    if stdenv.hostPlatform.isDarwin then
+      ''
+        unset MACOSX_DEPLOYMENT_TARGET
+      ''
+    else
+      null;
 
   setupHooks = [ ./add-build-flags.sh ];
 
diff --git a/pkgs/development/python-modules/metaflow/default.nix b/pkgs/development/python-modules/metaflow/default.nix
index a658918c8413..0475256e5b92 100644
--- a/pkgs/development/python-modules/metaflow/default.nix
+++ b/pkgs/development/python-modules/metaflow/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "metaflow";
-  version = "2.15.15";
+  version = "2.15.16";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "Netflix";
     repo = "metaflow";
     tag = version;
-    hash = "sha256-1KNj2uDJ2JrZ4/DGGYvanj7YRE8C7ExELZ4jheRQJT0=";
+    hash = "sha256-w95zyPKCfSCIW+32w6mko+Dsxqa56D8yc1Pws1db98s=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/midea-local/default.nix b/pkgs/development/python-modules/midea-local/default.nix
index 47d827f46c82..96280ff2f935 100644
--- a/pkgs/development/python-modules/midea-local/default.nix
+++ b/pkgs/development/python-modules/midea-local/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "midea-local";
-  version = "6.2.0";
+  version = "6.3.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "midea-lan";
     repo = "midea-local";
     tag = "v${version}";
-    hash = "sha256-zXOxgPFX6TRdFnQ0OqqEu1sy9MmlfxEg7KedQWxYv48=";
+    hash = "sha256-J044JyRrpig2RmX39tvxBbjFExFouK3++0mvaPN+8To=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/miniupnpc/default.nix b/pkgs/development/python-modules/miniupnpc/default.nix
index 699fb76ac767..a9fb29c57685 100644
--- a/pkgs/development/python-modules/miniupnpc/default.nix
+++ b/pkgs/development/python-modules/miniupnpc/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "miniupnpc";
-  version = "2.3.2";
+  version = "2.3.3";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-XCHRKwUEm1Amoth0ekzYCwe5rmG4mLXcZiSXzHsbmTU=";
+    hash = "sha256-7l6Vffgo0vocw2TmDFg9EEOREIiPCGyRggcclqN0sq0=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/mir-eval/default.nix b/pkgs/development/python-modules/mir-eval/default.nix
index 603fba5879bf..1102adfb43d2 100644
--- a/pkgs/development/python-modules/mir-eval/default.nix
+++ b/pkgs/development/python-modules/mir-eval/default.nix
@@ -1,33 +1,53 @@
 {
   lib,
   buildPythonPackage,
-  fetchPypi,
-  future,
-  six,
+  fetchFromGitHub,
+  setuptools,
+  decorator,
   numpy,
   scipy,
   matplotlib,
+  pytestCheckHook,
+  pytest-cov-stub,
+  pytest-mpl,
 }:
 
 buildPythonPackage rec {
   pname = "mir-eval";
   version = "0.8.2";
-  format = "setuptools";
+  pyproject = true;
 
-  src = fetchPypi {
-    pname = "mir_eval";
-    inherit version;
-    hash = "sha256-FBo+EZMnaIn8MukRVH5z3LPoKe6M/qYPe7zWM8B5JWk=";
+  src = fetchFromGitHub {
+    owner = "mir-evaluation";
+    repo = "mir_eval";
+    tag = version;
+    hash = "sha256-Dq/kqoTY8YGATsr6MSgfQxkWvFpmH/Pf1pKBLPApylY=";
   };
 
-  propagatedBuildInputs = [
-    future
-    six
+  build-system = [ setuptools ];
+
+  dependencies = [
+    decorator
     numpy
     scipy
-    matplotlib
   ];
 
+  optional-dependencies.display = [ matplotlib ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cov-stub
+    pytest-mpl
+  ] ++ lib.flatten (lib.attrValues optional-dependencies);
+
+  preCheck = ''
+    pushd tests
+  '';
+
+  postCheck = ''
+    popd
+  '';
+
   pythonImportsCheck = [ "mir_eval" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/mitmproxy/default.nix b/pkgs/development/python-modules/mitmproxy/default.nix
index 8db9550256a3..2632ecf82108 100644
--- a/pkgs/development/python-modules/mitmproxy/default.nix
+++ b/pkgs/development/python-modules/mitmproxy/default.nix
@@ -49,10 +49,11 @@ buildPythonPackage rec {
   };
 
   pythonRelaxDeps = [
-    "h11" # https://github.com/NixOS/nixpkgs/pull/399393
+    "cryptography"
+    "flask"
     "h2"
     "passlib"
-    "typing-extensions" # https://github.com/NixOS/nixpkgs/pull/397082
+    "pyopenssl"
     "tornado"
   ];
 
diff --git a/pkgs/development/python-modules/mkdocstrings-python/default.nix b/pkgs/development/python-modules/mkdocstrings-python/default.nix
index 062556804584..d0132580ed36 100644
--- a/pkgs/development/python-modules/mkdocstrings-python/default.nix
+++ b/pkgs/development/python-modules/mkdocstrings-python/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "mkdocstrings-python";
-  version = "1.16.11";
+  version = "1.16.12";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "mkdocstrings";
     repo = "python";
     tag = version;
-    hash = "sha256-Vee8pNslf/nELnIeMPkuBsbMVLLcK5CyIAaKTh/OEMM=";
+    hash = "sha256-NL5gn8HgT0hvIlUDs//sErAaSVXvxLDJGT7nZX65ZVU=";
   };
 
   build-system = [ pdm-backend ];
diff --git a/pkgs/development/python-modules/mobly/default.nix b/pkgs/development/python-modules/mobly/default.nix
index 6868bac6fd8c..d5421e56fd92 100644
--- a/pkgs/development/python-modules/mobly/default.nix
+++ b/pkgs/development/python-modules/mobly/default.nix
@@ -22,14 +22,14 @@
 
 buildPythonPackage rec {
   pname = "mobly";
-  version = "1.12.4";
+  version = "1.13";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "mobly";
     tag = version;
-    hash = "sha256-77wZK5dqxXUkOgWE7NBpGJBbbtYYxRCJwPbtwLIX09I=";
+    hash = "sha256-lQyhLZFA9lad7LYKa6AP+nQonTRtiFA8Egjo0ATbLVI=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/mocket/default.nix b/pkgs/development/python-modules/mocket/default.nix
index f4f048060795..78ff2568640d 100644
--- a/pkgs/development/python-modules/mocket/default.nix
+++ b/pkgs/development/python-modules/mocket/default.nix
@@ -77,7 +77,7 @@ buildPythonPackage rec {
   # Skip http tests, they require network access
   env.SKIP_TRUE_HTTP = true;
 
-  _darwinAllowLocalNetworking = true;
+  __darwinAllowLocalNetworking = true;
 
   disabledTests =
     [
diff --git a/pkgs/development/python-modules/model-bakery/default.nix b/pkgs/development/python-modules/model-bakery/default.nix
index b943ab0a56bb..788bff73db02 100644
--- a/pkgs/development/python-modules/model-bakery/default.nix
+++ b/pkgs/development/python-modules/model-bakery/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "model-bakery";
-  version = "1.20.4";
+  version = "1.20.5";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "model-bakers";
     repo = "model_bakery";
     tag = version;
-    hash = "sha256-OVeBMDLV7vPDKr+aLYH0B3X+80Z69jzTSxuRG3unxgc=";
+    hash = "sha256-Rf1QpIjo94h3lfZCBJfzaOMggPqy37NUOFWUbLROcec=";
   };
 
   build-system = [ hatchling ];
diff --git a/pkgs/development/python-modules/model-checker/default.nix b/pkgs/development/python-modules/model-checker/default.nix
index 63e48787ae25..8a8b9ac28301 100644
--- a/pkgs/development/python-modules/model-checker/default.nix
+++ b/pkgs/development/python-modules/model-checker/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "model-checker";
-  version = "0.9.20";
+  version = "0.9.21";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "model_checker";
     inherit version;
-    hash = "sha256-n5wLf5iZ+pMXpXAy1K+SVC1fszCi0lr9LsqqEn8KU0w=";
+    hash = "sha256-13pGiFrh2EtgSpBZbwWRZh+W9n18Qrikrsc/MBhbBAM=";
   };
 
   # z3 does not provide a dist-info, so python-runtime-deps-check will fail
diff --git a/pkgs/development/python-modules/molecule/default.nix b/pkgs/development/python-modules/molecule/default.nix
index 9365a52811a7..cbdb3ee7578d 100644
--- a/pkgs/development/python-modules/molecule/default.nix
+++ b/pkgs/development/python-modules/molecule/default.nix
@@ -23,14 +23,14 @@
 
 buildPythonPackage rec {
   pname = "molecule";
-  version = "25.5.0";
+  version = "25.6.0";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-WF2M4K1JO+OulN4Jb4tKiWq5AQp+o2qGn99eKb1mj0s=";
+    hash = "sha256-DbII3li+zssMqHvyzEjhAXI04eOtlHwXlIdzf4hOfHw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/monai/default.nix b/pkgs/development/python-modules/monai/default.nix
index e36ca37f3342..2b46ecb02d93 100644
--- a/pkgs/development/python-modules/monai/default.nix
+++ b/pkgs/development/python-modules/monai/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "monai";
-  version = "1.4.0";
+  version = "1.5.0";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -22,11 +22,15 @@ buildPythonPackage rec {
     owner = "Project-MONAI";
     repo = "MONAI";
     tag = version;
-    hash = "sha256-PovYyRLgoYwxqGeCBpWxX/kdClYtYK1bgy8yRa9eue8=";
+    hash = "sha256-SUZSWChO0oQlLblPwmCg2zt2Jp5QnpM1CXWnMiOiLhw=";
     # note: upstream consistently seems to modify the tag shortly after release,
     # so best to wait a few days before updating
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml --replace-fail 'torch>=2.4.1, <2.7.0' 'torch'
+  '';
+
   preBuild = ''
     export MAX_JOBS=$NIX_BUILD_CORES;
   '';
@@ -44,7 +48,7 @@ buildPythonPackage rec {
     torch
   ];
 
-  pythonRelaxDeps = [ "numpy" ]; # supported; see https://github.com/Project-MONAI/MONAI/pull/7857
+  pythonRelaxDeps = [ "torch" ];
 
   env.BUILD_MONAI = 1;
 
diff --git a/pkgs/development/python-modules/motionblinds/default.nix b/pkgs/development/python-modules/motionblinds/default.nix
index 5c18fd22c195..562c97f8023e 100644
--- a/pkgs/development/python-modules/motionblinds/default.nix
+++ b/pkgs/development/python-modules/motionblinds/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "motionblinds";
-  version = "0.6.27";
+  version = "0.6.28";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "starkillerOG";
     repo = "motion-blinds";
     tag = version;
-    hash = "sha256-kvCvgSoiyDCDmEG8goM3hYXpvb5CO7nqz0/CKPBlZ2g=";
+    hash = "sha256-RhaNVPmLXmwozehqeAcQiTHdsL1Q/2dkNC0RrUtrCKY=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/motioneye-client/default.nix b/pkgs/development/python-modules/motioneye-client/default.nix
index 8af5521584c1..4ab36924c061 100644
--- a/pkgs/development/python-modules/motioneye-client/default.nix
+++ b/pkgs/development/python-modules/motioneye-client/default.nix
@@ -6,6 +6,7 @@
   fetchFromGitHub,
   poetry-core,
   pytest-aiohttp,
+  pytest-cov-stub,
   pytest-timeout,
   pytestCheckHook,
   pythonOlder,
@@ -27,8 +28,7 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace 'aiohttp = "^3.8.1,!=3.8.2,!=3.8.3"' 'aiohttp = "*"' \
-      --replace " --cov-report=html:htmlcov --cov-report=xml:coverage.xml --cov-report=term-missing --cov=motioneye_client --cov-fail-under=100" ""
+      --replace 'aiohttp = "^3.8.1,!=3.8.2,!=3.8.3"' 'aiohttp = "*"'
   '';
 
   nativeBuildInputs = [ poetry-core ];
@@ -37,6 +37,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytest-aiohttp
+    pytest-cov-stub
     pytest-timeout
     pytestCheckHook
   ];
diff --git a/pkgs/development/python-modules/moto/default.nix b/pkgs/development/python-modules/moto/default.nix
index fd87eaedd5c6..3cd880c4f99d 100644
--- a/pkgs/development/python-modules/moto/default.nix
+++ b/pkgs/development/python-modules/moto/default.nix
@@ -10,6 +10,7 @@
   cryptography,
   docker,
   fetchFromGitHub,
+  fetchpatch,
   flask-cors,
   flask,
   freezegun,
@@ -49,6 +50,15 @@ buildPythonPackage rec {
     hash = "sha256-bDRd1FTBpv6t2j8cBzcYiK4B0F4sLcoW9K0Wnd0oo+4=";
   };
 
+  # Fix tests with botocore 1.38.32
+  # FIXME: remove in next update
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/getmoto/moto/commit/8dcaaca0eefdf9ac957650c1562317b6d07fadf9.diff";
+      hash = "sha256-5zaerJR1rsMZQLn8cXjS8RYiKlSQ6azp7dk7JzLp+7I=";
+    })
+  ];
+
   build-system = [
     setuptools
   ];
diff --git a/pkgs/development/python-modules/mozjpeg_lossless_optimization/default.nix b/pkgs/development/python-modules/mozjpeg_lossless_optimization/default.nix
new file mode 100644
index 000000000000..684d15400c4a
--- /dev/null
+++ b/pkgs/development/python-modules/mozjpeg_lossless_optimization/default.nix
@@ -0,0 +1,53 @@
+{
+  lib,
+  python3Packages,
+  fetchFromGitHub,
+  buildPythonPackage,
+  mozjpeg,
+  pytestCheckHook,
+  setuptools,
+  cmake,
+  nix-update-script,
+  cffi,
+}:
+buildPythonPackage rec {
+  pname = "mozjpeg_lossless_optimization";
+  version = "1.3.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "wanadev";
+    repo = "mozjpeg-lossless-optimization";
+    # https://github.com/NixOS/nixpkgs/issues/26302
+    rev = "refs/tags/v${version}";
+    hash = "sha256-g2+QpV3F7wtu37qRJlA4a5r1J9yuJZcC99fDDy03JqU=";
+    fetchSubmodules = true;
+  };
+
+  # This package needs cmake, but it is not the default builder
+  dontUseCmakeConfigure = true;
+
+  buildInputs = [ mozjpeg ];
+  nativeBuildInputs = [ cmake ];
+  propagatedBuildInputs = [ cffi ];
+
+  # https://github.com/NixOS/nixpkgs/issues/255262
+  preCheck = ''
+    rm -r mozjpeg_lossless_optimization
+  '';
+
+  build-system = [ setuptools ];
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  passthru = {
+    updateScript = nix-update-script { };
+  };
+
+  meta = {
+    description = "Python library to optimize JPEGs losslessly using MozJPEG";
+    homepage = "https://github.com/wanadev/mozjpeg-lossless-optimization";
+    changelog = "https://github.com/wanadev/mozjpeg-lossless-optimization/releases/tag/v${version}";
+    license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.adfaure ];
+  };
+}
diff --git a/pkgs/development/python-modules/mpi-pytest/default.nix b/pkgs/development/python-modules/mpi-pytest/default.nix
index 740c0de6dc3b..875f0d949bcc 100644
--- a/pkgs/development/python-modules/mpi-pytest/default.nix
+++ b/pkgs/development/python-modules/mpi-pytest/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "mpi-pytest";
-  version = "2025.5.0";
+  version = "2025.6.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "firedrakeproject";
     repo = "mpi-pytest";
     tag = "v${version}";
-    hash = "sha256-Eq53rCM3xwY30BuGUaTH4Nuloc/9kGJMFhspLH04zqE=";
+    hash = "sha256-hZPTVqVaCd75UMoUQTZXrmnFM6cpMp9ejKqct3lN0Bo=";
   };
 
   build-system = [
@@ -46,7 +46,7 @@ buildPythonPackage rec {
     homepage = "https://github.com/firedrakeproject/mpi-pytest";
     description = "Pytest plugin that lets you run tests in parallel with MPI";
     changelog = "https://github.com/firedrakeproject/mpi-pytest/releases/tag/${src.tag}";
-    license = lib.licenses.gpl3Only;
+    license = lib.licenses.lgpl3Plus;
     maintainers = with lib.maintainers; [ qbisi ];
   };
 }
diff --git a/pkgs/development/python-modules/mpltoolbox/default.nix b/pkgs/development/python-modules/mpltoolbox/default.nix
new file mode 100644
index 000000000000..ddada447daf3
--- /dev/null
+++ b/pkgs/development/python-modules/mpltoolbox/default.nix
@@ -0,0 +1,52 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+
+  # build-system
+  setuptools,
+  setuptools-scm,
+
+  # tests
+  matplotlib,
+  ipympl,
+  pytestCheckHook,
+}:
+
+buildPythonPackage rec {
+  pname = "mpltoolbox";
+  version = "25.04.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "scipp";
+    repo = "mpltoolbox";
+    tag = version;
+    hash = "sha256-+LqPTlVbSxuewWuPNUfGdgQjWFxo7s2i3e21WkNNK78=";
+  };
+
+  build-system = [
+    setuptools
+    setuptools-scm
+  ];
+
+  dependencies = [
+    matplotlib
+  ];
+
+  nativeCheckInputs = [
+    ipympl
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "mpltoolbox"
+  ];
+
+  meta = {
+    description = "Interactive tools for Matplotlib";
+    homepage = "https://scipp.github.io/mpltoolbox/";
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ doronbehar ];
+  };
+}
diff --git a/pkgs/development/python-modules/msgraph-sdk/default.nix b/pkgs/development/python-modules/msgraph-sdk/default.nix
index 728d9013a0e9..f40c1ac5d571 100644
--- a/pkgs/development/python-modules/msgraph-sdk/default.nix
+++ b/pkgs/development/python-modules/msgraph-sdk/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "msgraph-sdk";
-  version = "1.31.0";
+  version = "1.33.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "microsoftgraph";
     repo = "msgraph-sdk-python";
     tag = "v${version}";
-    hash = "sha256-edDf3w7QXQd19B68S85OwV2rI5FpYwvuJ+DkF3da0HE=";
+    hash = "sha256-s8YUxM8wqQ3I9ckcyArriTK70+YTBzY4jH2WsQh8jtM=";
   };
 
   build-system = [ flit-core ];
diff --git a/pkgs/development/python-modules/msldap/default.nix b/pkgs/development/python-modules/msldap/default.nix
index d1deec5c7f5d..ae09d1f9b602 100644
--- a/pkgs/development/python-modules/msldap/default.nix
+++ b/pkgs/development/python-modules/msldap/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "msldap";
-  version = "0.5.14";
+  version = "0.5.15";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ZvPLaO/gALIhqIzsP687ERmkkRsQGDiDmhFszRX7YlQ=";
+    hash = "sha256-uAJKLAVZFY7EB8tjFyAezINicki6ruzuXf1EGcp3Pj0=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/mt-940/default.nix b/pkgs/development/python-modules/mt-940/default.nix
index fbc655387c89..74d296b53d81 100644
--- a/pkgs/development/python-modules/mt-940/default.nix
+++ b/pkgs/development/python-modules/mt-940/default.nix
@@ -3,6 +3,7 @@
   buildPythonPackage,
   fetchFromGitHub,
   pytestCheckHook,
+  pytest-cov-stub,
   pythonOlder,
   pyyaml,
   setuptools,
@@ -22,16 +23,12 @@ buildPythonPackage rec {
     hash = "sha256-t6FOMu+KcEib+TZAv5uVAzvrUSt/k/RQn28jpdAY5Y0=";
   };
 
-  postPatch = ''
-    sed -i "/--cov/d" pytest.ini
-    sed -i "/--no-cov/d" pytest.ini
-  '';
-
   nativeBuildInputs = [ setuptools ];
 
   nativeCheckInputs = [
     pyyaml
     pytestCheckHook
+    pytest-cov-stub
   ];
 
   pythonImportsCheck = [ "mt940" ];
diff --git a/pkgs/development/python-modules/mujoco/default.nix b/pkgs/development/python-modules/mujoco/default.nix
index 6f211cb50c49..b2e8849a689b 100644
--- a/pkgs/development/python-modules/mujoco/default.nix
+++ b/pkgs/development/python-modules/mujoco/default.nix
@@ -38,7 +38,7 @@ buildPythonPackage rec {
   # in the project's CI.
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-d3c8cU9XL25xqTe8OH96NsEp0JMv0kaWLD5qSP32u6w=";
+    hash = "sha256-XbeipHKzk9MuQhHVkB8rxJB4L0KoaDe8q1iMNhJrQlY=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/python-modules/munkres/default.nix b/pkgs/development/python-modules/munkres/default.nix
index 1ba6a8213954..36866f6b78a7 100644
--- a/pkgs/development/python-modules/munkres/default.nix
+++ b/pkgs/development/python-modules/munkres/default.nix
@@ -34,6 +34,6 @@ buildPythonPackage rec {
     homepage = "http://bmc.github.com/munkres/";
     description = "Munkres algorithm for the Assignment Problem";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/musicbrainzngs/default.nix b/pkgs/development/python-modules/musicbrainzngs/default.nix
index 5c3acc24846b..facb63de6f08 100644
--- a/pkgs/development/python-modules/musicbrainzngs/default.nix
+++ b/pkgs/development/python-modules/musicbrainzngs/default.nix
@@ -28,6 +28,6 @@ buildPythonPackage rec {
     homepage = "https://python-musicbrainzngs.readthedocs.org/";
     description = "Python bindings for musicbrainz NGS webservice";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix
index 04adbb7e0bfc..798f7a26ed66 100644
--- a/pkgs/development/python-modules/mypy-boto3/default.nix
+++ b/pkgs/development/python-modules/mypy-boto3/default.nix
@@ -46,16 +46,16 @@ let
 in
 rec {
   mypy-boto3-accessanalyzer =
-    buildMypyBoto3Package "accessanalyzer" "1.38.0"
-      "sha256-y9/xQ8qsa7lI01hQTKuDBPavkQKuUX7pE4BRzwZ/bIQ=";
+    buildMypyBoto3Package "accessanalyzer" "1.38.38"
+      "sha256-5Eb7nvh2TMsoo+cek4/U1gMGw59qRHjvKPreVxPzh9g=";
 
   mypy-boto3-account =
     buildMypyBoto3Package "account" "1.38.0"
       "sha256-AhlWp1yfbKoNGuv687k+0L8glPwFG9Nbz8Miup2pVpY=";
 
   mypy-boto3-acm =
-    buildMypyBoto3Package "acm" "1.38.4"
-      "sha256-LD7/EfcMa6UBmz8Hu4Ykp80FcOdwliCd/0Z09THI2KU=";
+    buildMypyBoto3Package "acm" "1.38.38"
+      "sha256-9XpoWLCafnZgp2IXLqmT4fSGwWxQK0e21awRWSY5MOs=";
 
   mypy-boto3-acm-pca =
     buildMypyBoto3Package "acm-pca" "1.38.0"
@@ -78,16 +78,16 @@ rec {
       "sha256-w+elhGa7/tXU8nzaE8FNLbt2f3iBCulaW1kdU2pK0wY=";
 
   mypy-boto3-apigateway =
-    buildMypyBoto3Package "apigateway" "1.38.29"
-      "sha256-PKdlOC4Li7dIAq2LZql9XRsSCn4Xj1W5kVVNJYZsAdM=";
+    buildMypyBoto3Package "apigateway" "1.38.36"
+      "sha256-3srxtH6OSyeurDwsCc3nQhn+lPLvaRL3jicogsCVojw=";
 
   mypy-boto3-apigatewaymanagementapi =
     buildMypyBoto3Package "apigatewaymanagementapi" "1.38.0"
       "sha256-Bn9zu0z1JgU6vUp5rJzcD4H6OenB+3QIYnA/EnjxEzI=";
 
   mypy-boto3-apigatewayv2 =
-    buildMypyBoto3Package "apigatewayv2" "1.38.29"
-      "sha256-UMLg/PboAE4RCyiYXWzZXXu8f5cmUVO1TaN8Uci8HAA=";
+    buildMypyBoto3Package "apigatewayv2" "1.38.36"
+      "sha256-ZNEWaBZrVxzU0+E/NJ+qLdUa+JPFY62ijoL/68Kpvv8=";
 
   mypy-boto3-appconfig =
     buildMypyBoto3Package "appconfig" "1.38.7"
@@ -134,8 +134,8 @@ rec {
       "sha256-0Ex+gq7lC3J1pxSpDZD6SJhxHnWosedNXMFMHdfG2Pc=";
 
   mypy-boto3-appsync =
-    buildMypyBoto3Package "appsync" "1.38.2"
-      "sha256-5hCTRhwqD1apJqpV/i2tLX09O6uA9Zn6c+gswBHO5H0=";
+    buildMypyBoto3Package "appsync" "1.38.33"
+      "sha256-M7OsH06ljwqo4U0f1gMpYmgZFvZIzLcm0DdwJa38IoM=";
 
   mypy-boto3-arc-zonal-shift =
     buildMypyBoto3Package "arc-zonal-shift" "1.38.0"
@@ -158,8 +158,8 @@ rec {
       "sha256-g+40VJVE4PQG5k1wjIFcEio5kyLpdaQzfSFp/ABEXh8=";
 
   mypy-boto3-backup =
-    buildMypyBoto3Package "backup" "1.38.28"
-      "sha256-8si5OnwscqeipuFC7d2KA2CerV+vjFLvQ0YzN7JbG14=";
+    buildMypyBoto3Package "backup" "1.38.38"
+      "sha256-RDBTw/yMGeiqpN+m+ECXN4NqP8xxOpnm+mGxbadO8yQ=";
 
   mypy-boto3-backup-gateway =
     buildMypyBoto3Package "backup-gateway" "1.38.0"
@@ -182,8 +182,8 @@ rec {
       "sha256-WXMpTKmBXa1q51tnLTE5sOxJyn0LLqOwpV2wdZfM1v0=";
 
   mypy-boto3-ce =
-    buildMypyBoto3Package "ce" "1.38.24"
-      "sha256-daz9r4KWlK/n3ZcxDRARlOlSKcUbhyW/12HPWja30RY=";
+    buildMypyBoto3Package "ce" "1.38.33"
+      "sha256-3VFyffSGPB1C/l4m7tLiDNYcuq+TU1K7gng+HETgDow=";
 
   mypy-boto3-chime =
     buildMypyBoto3Package "chime" "1.38.0"
@@ -366,8 +366,8 @@ rec {
       "sha256-lurpm+SfLFZKROAdMiPhthRnaihxDXTLO296JUQSbYc=";
 
   mypy-boto3-customer-profiles =
-    buildMypyBoto3Package "customer-profiles" "1.38.0"
-      "sha256-EuS4aLejTOf1w1mkx1Yp9Rj2Dy10Rcrcrwnfe25/5cM=";
+    buildMypyBoto3Package "customer-profiles" "1.38.33"
+      "sha256-Gz5Qm83HTg5sjnqeMoM/mW+Qh7qq66vAnoc18l9Szjg=";
 
   mypy-boto3-databrew =
     buildMypyBoto3Package "databrew" "1.38.0"
@@ -414,8 +414,8 @@ rec {
       "sha256-mFFkE37/+8k+YZ4ZJdg3QiFN2bkqArnSmjoCWdxMJ4c=";
 
   mypy-boto3-dms =
-    buildMypyBoto3Package "dms" "1.38.17"
-      "sha256-fGqy3xSfdZPi4BX9o+nqjAQzSnx64y1PllxB6j+4ISY=";
+    buildMypyBoto3Package "dms" "1.38.38"
+      "sha256-EH9wQxXOILLP6fysded+0qzi6tM/jmV4eD9MlDHdIQU=";
 
   mypy-boto3-docdb =
     buildMypyBoto3Package "docdb" "1.38.0"
@@ -446,32 +446,32 @@ rec {
       "sha256-RQh46jrXqj4bXTRJ+tPR9sql7yUn7Ek9u4p0OU0A7b0=";
 
   mypy-boto3-ec2 =
-    buildMypyBoto3Package "ec2" "1.38.25"
-      "sha256-rtfXRsfGr34/dUJK1kgpp85blNyHERSkScQDraIpVMs=";
+    buildMypyBoto3Package "ec2" "1.38.33"
+      "sha256-XQf8ENX2gvhXAAC6U73sAO5JgXFQmUOHdFHCzMvDQaM=";
 
   mypy-boto3-ec2-instance-connect =
     buildMypyBoto3Package "ec2-instance-connect" "1.38.0"
       "sha256-1zg5Vw+V+bpp5FxTw0CSfxSN7JNVBwY4I8uDFhEJL3w=";
 
   mypy-boto3-ecr =
-    buildMypyBoto3Package "ecr" "1.38.6"
-      "sha256-CTIvlIYRlak6FnjhbyyShNGtYbRk45/ESXEKIoR7q/I=";
+    buildMypyBoto3Package "ecr" "1.38.37"
+      "sha256-/tCVopezXJVOuA3w1O5jHIJB9bDa/Y1e95nPToSHgUo=";
 
   mypy-boto3-ecr-public =
     buildMypyBoto3Package "ecr-public" "1.38.6"
       "sha256-aSZu8mxsTho4pvWWbNwlJf0IROjqjTlIUEE5DJkAje4=";
 
   mypy-boto3-ecs =
-    buildMypyBoto3Package "ecs" "1.38.28"
-      "sha256-f/ZRV3fRPB1B7xP8lJX/jPXVuFY+gdUm4lZJlZCj55k=";
+    buildMypyBoto3Package "ecs" "1.38.36"
+      "sha256-zHlR/wT0ImcaR1vU07ryhW2Al+EOf+2RFlUHf5n8VoI=";
 
   mypy-boto3-efs =
-    buildMypyBoto3Package "efs" "1.38.0"
-      "sha256-Z2LMQFtcTNqxsoWKGg4iBFtbwnXGVVXQrRa/bZdnl40=";
+    buildMypyBoto3Package "efs" "1.38.33"
+      "sha256-Yxumhn6IHvstfAvmJnRsf3Xpeq5j5l+cKnpYyMIOojY=";
 
   mypy-boto3-eks =
-    buildMypyBoto3Package "eks" "1.38.28"
-      "sha256-eCS3kazYfOaVavz2q1gxbSnuW7bULnS4xDwB7X8aTBg=";
+    buildMypyBoto3Package "eks" "1.38.35"
+      "sha256-3dpHM2qd8mXrALwNPaiVdvGtkyL2FwaV1pHazfIQ7h4=";
 
   mypy-boto3-elastic-inference =
     buildMypyBoto3Package "elastic-inference" "1.36.0"
@@ -506,8 +506,8 @@ rec {
       "sha256-Lr2cpSBkWl30iIS3fc4qiOWBTbIu5L0MMW5O9Au+COM=";
 
   mypy-boto3-emr-serverless =
-    buildMypyBoto3Package "emr-serverless" "1.38.29"
-      "sha256-xpnGaEw19k0XRjJjYi3APhwZ9uS7WZflWhgCnQDY0cs=";
+    buildMypyBoto3Package "emr-serverless" "1.38.36"
+      "sha256-MmM3XIxuwHrD1cGOTSJq7YbCSPGQcidwUFD3DpBHET4=";
 
   mypy-boto3-entityresolution =
     buildMypyBoto3Package "entityresolution" "1.38.28"
@@ -594,8 +594,8 @@ rec {
       "sha256-GkC4iF96d4nQMNZZx2JHBvgdFvzqujmH2YLzEuiM1n8=";
 
   mypy-boto3-guardduty =
-    buildMypyBoto3Package "guardduty" "1.38.12"
-      "sha256-mKzD4xUXunOsxxTXJIoV0ardgVkhvr57KqRLxj2KhPk=";
+    buildMypyBoto3Package "guardduty" "1.38.38"
+      "sha256-Nt2mw3WSX3C0M+ZFbC67uXFtbDZW5zfKBq6sij2sY8Q=";
 
   mypy-boto3-health =
     buildMypyBoto3Package "health" "1.38.0"
@@ -626,8 +626,8 @@ rec {
       "sha256-MaOetVmIqI8vVaVt6HCUXxrLO7lUm4i5DDzwfxEdLIg=";
 
   mypy-boto3-inspector2 =
-    buildMypyBoto3Package "inspector2" "1.38.20"
-      "sha256-Yz+NR/OXOQeeQROMuxGKSY85Z8wrS7TCg1KeUGg7k0c=";
+    buildMypyBoto3Package "inspector2" "1.38.38"
+      "sha256-7sBxCu63u6cXiBx6wZTr+dqUO+M+eq6So3AN/Ii56CU=";
 
   mypy-boto3-internetmonitor =
     buildMypyBoto3Package "internetmonitor" "1.38.0"
@@ -674,8 +674,8 @@ rec {
       "sha256-UZJF85qGP/D4wyz9eofV/EHASzjQ/g/iJoG1P61Nnm0=";
 
   mypy-boto3-iotfleetwise =
-    buildMypyBoto3Package "iotfleetwise" "1.38.0"
-      "sha256-hSfdI4iRL7nVZYDAXRQCodQcTfZXx9cndHOQd9I/2w4=";
+    buildMypyBoto3Package "iotfleetwise" "1.38.36"
+      "sha256-6FjWOP2g8B+qHeCso55foTNElDu+oyDGxS01LSusjrs=";
 
   mypy-boto3-iotsecuretunneling =
     buildMypyBoto3Package "iotsecuretunneling" "1.38.0"
@@ -762,8 +762,8 @@ rec {
       "sha256-PKOF/jd1Wjz8lCwbCd4cfHeStkvcDhQu7a7bpHaizgU=";
 
   mypy-boto3-kms =
-    buildMypyBoto3Package "kms" "1.38.31"
-      "sha256-hCN7Docv7FRJrUW1JveU8v68OFl97PQ+xQRICQ8D9rY=";
+    buildMypyBoto3Package "kms" "1.38.36"
+      "sha256-pHVOYKF9OtQOzQcx5UfpViQGgsMnp+JqdbFQ0cutnpA=";
 
   mypy-boto3-lakeformation =
     buildMypyBoto3Package "lakeformation" "1.38.0"
@@ -782,8 +782,8 @@ rec {
       "sha256-12bGsyu0uvqnMuorgXXItDKd7UU72/a6WMKbY3eDHi4=";
 
   mypy-boto3-lexv2-models =
-    buildMypyBoto3Package "lexv2-models" "1.38.0"
-      "sha256-vmlwTsR2rQe3LzoeQKJhFrWxvID2xyhkdzcvxMn4Iq0=";
+    buildMypyBoto3Package "lexv2-models" "1.38.35"
+      "sha256-xrvS087t6KyPQfglI8y0Rkt1FISLTixuHiUWI9YvxzA=";
 
   mypy-boto3-lexv2-runtime =
     buildMypyBoto3Package "lexv2-runtime" "1.38.0"
@@ -846,8 +846,8 @@ rec {
       "sha256-b9t29BqBHshYWb9g/GD6no1NXYVmsjwY6knE8cIZBEA=";
 
   mypy-boto3-marketplace-catalog =
-    buildMypyBoto3Package "marketplace-catalog" "1.38.0"
-      "sha256-thLr5C7nCa4NyRHIVIFGwWAfl572eUJ4Z7P22s52BDc=";
+    buildMypyBoto3Package "marketplace-catalog" "1.38.33"
+      "sha256-65S8wh5kDMdNXuPUJlwjXzt4SJ35P4nq/+UknulFMcQ=";
 
   mypy-boto3-marketplace-entitlement =
     buildMypyBoto3Package "marketplace-entitlement" "1.38.0"
@@ -950,12 +950,12 @@ rec {
       "sha256-U0fMJNyZpqwYlMuqTBSZCgAtls7IuyKnjWBAJ+6rTV8=";
 
   mypy-boto3-network-firewall =
-    buildMypyBoto3Package "network-firewall" "1.38.30"
-      "sha256-0LNUmv+qHecNzVPHyv8fG5DzGva89wSj0D4f4+0F7QI=";
+    buildMypyBoto3Package "network-firewall" "1.38.38"
+      "sha256-KJYMNuYPfHpHtV6mEwOk2olQxjxEPdyRSyw4oFC8E6I=";
 
   mypy-boto3-networkmanager =
-    buildMypyBoto3Package "networkmanager" "1.38.0"
-      "sha256-/vgg8tOKza+6g/CsvMA7A5wcSWk76bDvhLHjC+FWQr8=";
+    buildMypyBoto3Package "networkmanager" "1.38.35"
+      "sha256-9K+D0kOOdcJKmQrwNcZkh9dvynPX0dUPGlrvLgw2Ir0=";
 
   mypy-boto3-nimble =
     buildMypyBoto3Package "nimble" "1.35.0"
@@ -986,8 +986,8 @@ rec {
       "sha256-INwxXzcg6KDw6go1X0PPI3sjwgarFfullyoQfAzMlFQ=";
 
   mypy-boto3-organizations =
-    buildMypyBoto3Package "organizations" "1.38.0"
-      "sha256-D6SkcFfWhA4Xml+FHeu0QtggGdkSPuS1M8Y+4n5cHSU=";
+    buildMypyBoto3Package "organizations" "1.38.38"
+      "sha256-Ne+gP4yMPqrOtCqktfPSAWeq/9+b9uVObtd5uTICvA4=";
 
   mypy-boto3-osis =
     buildMypyBoto3Package "osis" "1.38.0"
@@ -1086,8 +1086,8 @@ rec {
       "sha256-ZgecmO3dz66i2COSXzBjyUCtTkGGi9gnvb/HNNEq1AE=";
 
   mypy-boto3-rds =
-    buildMypyBoto3Package "rds" "1.38.20"
-      "sha256-xqpwwMxbxZlZ/sQ0IG+/ggA4a1g/8ffjchVOqkHrUuk=";
+    buildMypyBoto3Package "rds" "1.38.35"
+      "sha256-SIjsrwnEI2XnavPn+THHkkzOqDNB1CaPQAs1K880Dnw=";
 
   mypy-boto3-rds-data =
     buildMypyBoto3Package "rds-data" "1.38.0"
@@ -1106,8 +1106,8 @@ rec {
       "sha256-Z4KREvXMPN874esEY9qY9dKfmscBtiON4EnU5fsuDxs=";
 
   mypy-boto3-rekognition =
-    buildMypyBoto3Package "rekognition" "1.38.0"
-      "sha256-AwopW1hKgKmC2ZXfEoUXg57FwWOkgSu2e2q20ukogc8=";
+    buildMypyBoto3Package "rekognition" "1.38.32"
+      "sha256-WOx5+O7MBfI5WahylTi9gQf8XO1FF7k6f7/zWwznHhE=";
 
   mypy-boto3-resiliencehub =
     buildMypyBoto3Package "resiliencehub" "1.38.0"
@@ -1134,8 +1134,8 @@ rec {
       "sha256-cIDEjQGl23GS6AY7A7+02z+XwMCrYoSYIWuYoBxKje8=";
 
   mypy-boto3-route53 =
-    buildMypyBoto3Package "route53" "1.38.0"
-      "sha256-10fMQviy733wJUI3O7E5m4WjJiThlSxiGPYd3o2kOl0=";
+    buildMypyBoto3Package "route53" "1.38.32"
+      "sha256-Eq1JXjifzJ1r4TGNd3lJaBrBSTUiuodbjKkQZZWx540=";
 
   mypy-boto3-route53-recovery-cluster =
     buildMypyBoto3Package "route53-recovery-cluster" "1.38.0"
@@ -1174,8 +1174,8 @@ rec {
       "sha256-lBWZesgIKYnjSjUOPBhF4GNsNSk09YDSEyX0qweT3iM=";
 
   mypy-boto3-sagemaker =
-    buildMypyBoto3Package "sagemaker" "1.38.30"
-      "sha256-HXwk6q4GB4h9j9MxMMgXXf61Q7rTbyBhdsl8zoJOmIc=";
+    buildMypyBoto3Package "sagemaker" "1.38.37"
+      "sha256-8X9B13ob+ARV8cjxJSq2oUANc8C+UlML5DYGg0UQ08Q=";
 
   mypy-boto3-sagemaker-a2i-runtime =
     buildMypyBoto3Package "sagemaker-a2i-runtime" "1.38.0"
@@ -1222,8 +1222,8 @@ rec {
       "sha256-FmYQjnDwPk3B3kSTiNf6y3erojGgJrrAwyQPwn/TGpg=";
 
   mypy-boto3-securityhub =
-    buildMypyBoto3Package "securityhub" "1.38.0"
-      "sha256-foCm+gCptN2lHLSXSB7OYyn/24Jx7cJ6SCxd4ItHzLg=";
+    buildMypyBoto3Package "securityhub" "1.38.38"
+      "sha256-WBpEvoDKvQczE/V3r5jcGDbKtmAbBK/+slY7tc5tcVE=";
 
   mypy-boto3-securitylake =
     buildMypyBoto3Package "securitylake" "1.38.0"
@@ -1330,8 +1330,8 @@ rec {
       "sha256-sf4N+fCsuoJtLnpRzAj0Ze9H5szFig0d+1XbO8IoCpE=";
 
   mypy-boto3-sts =
-    buildMypyBoto3Package "sts" "1.38.0"
-      "sha256-FDqW8GvRfsS7sSDgS2XmRstDReLQ1MPFlviqBFjRJwc=";
+    buildMypyBoto3Package "sts" "1.38.38"
+      "sha256-cIHLazKuWtTttl/5zstbYlFmdH28f0fuT2t0REGmQ6I=";
 
   mypy-boto3-support =
     buildMypyBoto3Package "support" "1.38.0"
@@ -1398,8 +1398,8 @@ rec {
       "sha256-ndTROc1T2APmQHL7EsSeU3XxWPYzp1e32tzqe4UDs/8=";
 
   mypy-boto3-wafv2 =
-    buildMypyBoto3Package "wafv2" "1.38.31"
-      "sha256-mWZAUafk2fNj9Se9q06vAKSswzLFqeqnt7e5mncqhdM=";
+    buildMypyBoto3Package "wafv2" "1.38.38"
+      "sha256-lFNkDBG7ddnNFg+JWiXSSsKSLOrsZCTxMCBHKspqkcI=";
 
   mypy-boto3-wellarchitected =
     buildMypyBoto3Package "wellarchitected" "1.38.0"
diff --git a/pkgs/development/python-modules/nanoemoji/default.nix b/pkgs/development/python-modules/nanoemoji/default.nix
index d243ae457835..c282157e95c2 100644
--- a/pkgs/development/python-modules/nanoemoji/default.nix
+++ b/pkgs/development/python-modules/nanoemoji/default.nix
@@ -23,14 +23,14 @@
 
 buildPythonPackage rec {
   pname = "nanoemoji";
-  version = "0.15.3";
+  version = "0.15.7";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "googlefonts";
     repo = "nanoemoji";
     tag = "v${version}";
-    hash = "sha256-/YZKmeLgEQog6A1stXkoN+OrcF/LsgltQ/3BeCCtSqQ=";
+    hash = "sha256-QdovfpCICDWzNAotXBypk2pvylGrLC4s45OFLalnBSo=";
   };
 
   patches = [
@@ -92,7 +92,7 @@ buildPythonPackage rec {
   meta = {
     description = "Wee tool to build color fonts";
     homepage = "https://github.com/googlefonts/nanoemoji";
-    changelog = "https://github.com/googlefonts/nanoemoji/releases/tag/v${version}";
+    changelog = "https://github.com/googlefonts/nanoemoji/releases/tag/${src.tag}";
     license = lib.licenses.asl20;
     maintainers = with lib.maintainers; [ _999eagle ];
   };
diff --git a/pkgs/development/python-modules/netbox-routing/default.nix b/pkgs/development/python-modules/netbox-routing/default.nix
index af840934c2cc..d3c220148a26 100644
--- a/pkgs/development/python-modules/netbox-routing/default.nix
+++ b/pkgs/development/python-modules/netbox-routing/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "netbox-routing";
-  version = "0.3.0";
+  version = "0.3.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "DanSheps";
     repo = "netbox-routing";
     tag = "v${version}";
-    hash = "sha256-QJ4/6eRPo2SIgOWNiK+3jrXW+KaXvzERLcXQqKwCNDU=";
+    hash = "sha256-qtGzZDRo80pdmt3CbM+HG/S7uLvLS7V6lHNB8sM6bcA=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/networkx/default.nix b/pkgs/development/python-modules/networkx/default.nix
index eba7e30c2307..91ff6b59b531 100644
--- a/pkgs/development/python-modules/networkx/default.nix
+++ b/pkgs/development/python-modules/networkx/default.nix
@@ -2,6 +2,7 @@
   lib,
   buildPythonPackage,
   fetchPypi,
+  fetchpatch,
   pythonOlder,
 
   # build-system
@@ -38,6 +39,16 @@ buildPythonPackage rec {
     hash = "sha256-MHw2aUKMU2KqsnyKEmCqj0fE6R04kfSL4BQXONjQU+E=";
   };
 
+  # backport patch to fix tests with Python 3.13.4
+  # FIXME: remove in next update
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/networkx/networkx/commit/d85b04a8b9619580d8901f35400414f612c83113.patch";
+      includes = [ "networkx/generators/lattice.py" ];
+      hash = "sha256-6y/aJBDgNkUzmQ6o52CGVVzqoQgkCEXA4iAXhv1cS0c=";
+    })
+  ];
+
   nativeBuildInputs = [ setuptools ];
 
   optional-dependencies = {
diff --git a/pkgs/development/python-modules/newick/default.nix b/pkgs/development/python-modules/newick/default.nix
index ccda2606a56f..a45ae6c25294 100644
--- a/pkgs/development/python-modules/newick/default.nix
+++ b/pkgs/development/python-modules/newick/default.nix
@@ -5,6 +5,7 @@
   setuptools-scm,
   pythonOlder,
   pytestCheckHook,
+  pytest-cov-stub,
 }:
 
 buildPythonPackage rec {
@@ -22,12 +23,10 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ setuptools-scm ];
 
-  postPatch = ''
-    # remove coverage arguments to pytest
-    sed -i '/--cov/d' setup.cfg
-  '';
-
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cov-stub
+  ];
 
   pythonImportsCheck = [ "newick" ];
 
diff --git a/pkgs/development/python-modules/niaarm/default.nix b/pkgs/development/python-modules/niaarm/default.nix
index 040c37f529e9..bc71a4a970b1 100644
--- a/pkgs/development/python-modules/niaarm/default.nix
+++ b/pkgs/development/python-modules/niaarm/default.nix
@@ -24,18 +24,19 @@
 buildPythonPackage rec {
   pname = "niaarm";
   # nixpkgs-update: no auto update
-  version = "0.4.1";
+  version = "0.4.2";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "firefly-cpp";
     repo = "NiaARM";
     tag = version;
-    hash = "sha256-/lEW6SUV+CRovYmLVWiolYDHYmMJSJHnYNo9+lBc9nY=";
+    hash = "sha256-WvVXL1a1DvgLF3upbGUi1+nH5aDBUNx5Bitlkb8lQkc=";
   };
 
   pythonRelaxDeps = [
     "numpy"
+    "plotly"
     "scikit-learn"
   ];
 
@@ -70,7 +71,7 @@ buildPythonPackage rec {
     description = "Minimalistic framework for Numerical Association Rule Mining";
     mainProgram = "niaarm";
     homepage = "https://github.com/firefly-cpp/NiaARM";
-    changelog = "https://github.com/firefly-cpp/NiaARM/blob/${version}/CHANGELOG.md";
+    changelog = "https://github.com/firefly-cpp/NiaARM/releases/tag/${src.tag}";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ firefly-cpp ];
   };
diff --git a/pkgs/development/python-modules/nikola/default.nix b/pkgs/development/python-modules/nikola/default.nix
index 955679a5b860..e4a490760249 100644
--- a/pkgs/development/python-modules/nikola/default.nix
+++ b/pkgs/development/python-modules/nikola/default.nix
@@ -29,6 +29,7 @@
   pyphen,
   pyrss2gen,
   pytestCheckHook,
+  pytest-cov-stub,
   python-dateutil,
   pythonOlder,
   requests,
@@ -54,11 +55,6 @@ buildPythonPackage rec {
     hash = "sha256-IfJB2Rl3c1MyEiuyNpT3udfpM480VvFD8zosJFDHr7k=";
   };
 
-  postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace-fail "--cov nikola --cov-report term-missing" ""
-  '';
-
   nativeBuildInputs = [ setuptools ];
 
   propagatedBuildInputs = [
@@ -100,6 +96,7 @@ buildPythonPackage rec {
     freezegun
     mock
     pytestCheckHook
+    pytest-cov-stub
   ];
 
   disabledTests = [
diff --git a/pkgs/development/python-modules/nitransforms/default.nix b/pkgs/development/python-modules/nitransforms/default.nix
index 068497e585ee..f7509287253c 100644
--- a/pkgs/development/python-modules/nitransforms/default.nix
+++ b/pkgs/development/python-modules/nitransforms/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "nitransforms";
-  version = "24.1.1";
+  version = "24.1.2";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-U2lWxYDuA+PpMEMgjanq/JILWTTH5+DEx9dZ/KCWNjM=";
+    hash = "sha256-JKlKM9bd3pTTBp/xVj9Ywd/+Ok7lxo05AF01eeOBeoE=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/nonbloat-db/default.nix b/pkgs/development/python-modules/nonbloat-db/default.nix
index 7e3d3f9a70d2..b87e03a9604c 100644
--- a/pkgs/development/python-modules/nonbloat-db/default.nix
+++ b/pkgs/development/python-modules/nonbloat-db/default.nix
@@ -14,7 +14,7 @@
   # tests
   pytestCheckHook,
   pytest-asyncio,
-  pytest-cov,
+  pytest-cov-stub,
   pytest-mock,
   pytest-randomly,
   faker,
@@ -45,7 +45,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pytestCheckHook
     pytest-asyncio
-    pytest-cov
+    pytest-cov-stub
     pytest-mock
     pytest-randomly
     faker
diff --git a/pkgs/development/python-modules/nplusone/default.nix b/pkgs/development/python-modules/nplusone/default.nix
index 76b22857f172..5ddd76f88333 100644
--- a/pkgs/development/python-modules/nplusone/default.nix
+++ b/pkgs/development/python-modules/nplusone/default.nix
@@ -11,6 +11,7 @@
   peewee,
   pytest-django,
   pytestCheckHook,
+  pytest-cov-stub,
   six,
   sqlalchemy,
   webtest,
@@ -41,6 +42,7 @@ buildPythonPackage rec {
     peewee
     pytest-django
     pytestCheckHook
+    pytest-cov-stub
     sqlalchemy
     webtest
   ];
@@ -55,8 +57,7 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace pytest.ini \
-      --replace "python_paths" "pythonpath" \
-      --replace "--cov nplusone --cov-report term-missing" ""
+      --replace "python_paths" "pythonpath"
   '';
 
   disabledTests = [
diff --git a/pkgs/development/python-modules/numba/default.nix b/pkgs/development/python-modules/numba/default.nix
index 322c00746e05..467f33626080 100644
--- a/pkgs/development/python-modules/numba/default.nix
+++ b/pkgs/development/python-modules/numba/default.nix
@@ -58,6 +58,11 @@ buildPythonPackage rec {
       --replace-fail \
         "dldir = [" \
         "dldir = [ '${addDriverRunpath.driverLink}/lib', "
+
+    substituteInPlace setup.py \
+      --replace-fail 'max_numpy_run_version = "2.3"' 'max_numpy_run_version = "2.4"'
+    substituteInPlace numba/__init__.py \
+      --replace-fail "numpy_version > (2, 2)" "numpy_version > (2, 3)"
   '';
 
   env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-I${lib.getInclude stdenv.cc.libcxx}/include/c++/v1";
diff --git a/pkgs/development/python-modules/numbagg/default.nix b/pkgs/development/python-modules/numbagg/default.nix
index a84baf2107c2..fc0fa55f0718 100644
--- a/pkgs/development/python-modules/numbagg/default.nix
+++ b/pkgs/development/python-modules/numbagg/default.nix
@@ -54,6 +54,8 @@ buildPythonPackage rec {
     pytest-benchmark
   ];
 
+  pytestFlagsArray = [ "--benchmark-disable" ];
+
   meta = {
     description = "Fast N-dimensional aggregation functions with Numba";
     homepage = "https://github.com/numbagg/numbagg";
diff --git a/pkgs/development/python-modules/numexpr/default.nix b/pkgs/development/python-modules/numexpr/default.nix
index 294357dc833a..2c6a4c3de606 100644
--- a/pkgs/development/python-modules/numexpr/default.nix
+++ b/pkgs/development/python-modules/numexpr/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "numexpr";
-  version = "2.10.2";
+  version = "2.11.0";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-sK/2tI68mdL1Tye19zpYy5L95lCu/xs5fHHIeItP/xo=";
+    hash = "sha256-dbLAGk7aLnw1e8Z6P1w912UGwVtf1NxChF7y4YIYG60=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/numpy/2.nix b/pkgs/development/python-modules/numpy/2.nix
index e2326dd23642..e0856c05ca5c 100644
--- a/pkgs/development/python-modules/numpy/2.nix
+++ b/pkgs/development/python-modules/numpy/2.nix
@@ -59,7 +59,7 @@ let
 in
 buildPythonPackage rec {
   pname = "numpy";
-  version = "2.2.6";
+  version = "2.3.0";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -67,7 +67,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit pname version;
     extension = "tar.gz";
-    hash = "sha256-4pVU4r71SpCqXMB9ps6VWsy4PyGrXeAaYshHiJeyZP0=";
+    hash = "sha256-WB+H+enp2yy6IUFADhYOndZE7iSHiNb5BjbuuP2SYKY=";
   };
 
   patches = lib.optionals python.hasDistutilsCxxPatch [
@@ -122,6 +122,8 @@ buildPythonPackage rec {
 
   preCheck = ''
     pushd $out
+    # For numpy-config executable to be available during tests
+    export PATH=$PATH:$out/bin
   '';
 
   postCheck = ''
diff --git a/pkgs/development/python-modules/oci/default.nix b/pkgs/development/python-modules/oci/default.nix
index 647729d3bcdd..56a03b3882dd 100644
--- a/pkgs/development/python-modules/oci/default.nix
+++ b/pkgs/development/python-modules/oci/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "oci";
-  version = "2.151.0";
+  version = "2.154.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "oracle";
     repo = "oci-python-sdk";
     tag = "v${version}";
-    hash = "sha256-8nAe7r62ItTyjFi32r3b3ikAg6/vw9huO7204sUVmuI=";
+    hash = "sha256-jkB7P0T12ybSqR73Z2wcBcGCep7eFlX5MYNX4E2qnMY=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/development/python-modules/ocrmypdf/default.nix b/pkgs/development/python-modules/ocrmypdf/default.nix
index 3c20c954510b..abca6b0f9772 100644
--- a/pkgs/development/python-modules/ocrmypdf/default.nix
+++ b/pkgs/development/python-modules/ocrmypdf/default.nix
@@ -53,6 +53,8 @@ buildPythonPackage rec {
       tesseract = lib.getExe tesseract;
       unpaper = lib.getExe unpaper;
     })
+    # Fix crashing in tests on Python 3.13.4
+    ./multiprocessing.patch
   ];
 
   build-system = [
@@ -83,6 +85,13 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "ocrmypdf" ];
 
+  disabledTests = [
+    # Broken by Python 3.13.4 change
+    # https://github.com/python/cpython/commit/8e923f36596370aedfdfb12251447bface41317a
+    # https://github.com/ocrmypdf/OCRmyPDF/blob/9f6e5a48ada5df7006a8c68b84e2aeae61943d8b/src/ocrmypdf/_exec/ghostscript.py#L66
+    "TestDuplicateFilter"
+  ];
+
   postInstall = ''
     installShellCompletion --cmd ocrmypdf \
       --bash misc/completion/ocrmypdf.bash \
diff --git a/pkgs/development/python-modules/ocrmypdf/multiprocessing.patch b/pkgs/development/python-modules/ocrmypdf/multiprocessing.patch
new file mode 100644
index 000000000000..0ff85170082b
--- /dev/null
+++ b/pkgs/development/python-modules/ocrmypdf/multiprocessing.patch
@@ -0,0 +1,13 @@
+diff --git a/src/ocrmypdf/__main__.py b/src/ocrmypdf/__main__.py
+index cec02d13..f554ab73 100755
+--- a/src/ocrmypdf/__main__.py
++++ b/src/ocrmypdf/__main__.py
+@@ -77,7 +77,7 @@ def run(args=None):
+ 
+ 
+ if __name__ == '__main__':
+-    multiprocessing.freeze_support()
++    # multiprocessing.freeze_support()
+     if os.name == 'posix':
+         multiprocessing.set_start_method('forkserver')
+     sys.exit(run())
diff --git a/pkgs/development/python-modules/oelint-data/default.nix b/pkgs/development/python-modules/oelint-data/default.nix
index 7c6ab2de4854..a42bc1f21173 100644
--- a/pkgs/development/python-modules/oelint-data/default.nix
+++ b/pkgs/development/python-modules/oelint-data/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "oelint-data";
-  version = "1.0.16";
+  version = "1.0.17";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "priv-kweihmann";
     repo = "oelint-data";
     tag = version;
-    hash = "sha256-t6NGD1IHRHfB2kJT0LwSpCicaan3ptagNDE2JV+IkE4=";
+    hash = "sha256-ZZBgZX6nrcPGlWQeZekCO57rizpuSVBnfoLzjh3r0Fw=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/ollama/default.nix b/pkgs/development/python-modules/ollama/default.nix
index d200e098eecd..0b60410996ed 100644
--- a/pkgs/development/python-modules/ollama/default.nix
+++ b/pkgs/development/python-modules/ollama/default.nix
@@ -2,15 +2,10 @@
   lib,
   buildPythonPackage,
   fetchFromGitHub,
-
-  # build-system
-  poetry-core,
-
-  # dependencies
+  hatchling,
+  hatch-vcs,
   httpx,
   pydantic,
-
-  # tests
   pillow,
   pytest-asyncio,
   pytest-httpserver,
@@ -19,24 +14,22 @@
 
 buildPythonPackage rec {
   pname = "ollama";
-  version = "0.4.8";
+  version = "0.5.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "ollama";
     repo = "ollama-python";
     tag = "v${version}";
-    hash = "sha256-ZhSbd7Um3+jG3yL3FwCm0lUdi5EQXVjJk0UMLRKeLOQ=";
+    hash = "sha256-XCsBdU8dUJIcfbvwUB6UNP2AhAmBxnk0kiFkOYcd1zY=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace-fail "0.0.0" "${version}"
-  '';
-
   pythonRelaxDeps = [ "httpx" ];
 
-  build-system = [ poetry-core ];
+  build-system = [
+    hatchling
+    hatch-vcs
+  ];
 
   dependencies = [
     httpx
@@ -54,6 +47,11 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "ollama" ];
 
+  disabledTestPaths = [
+    # Don't test the examples
+    "examples/"
+  ];
+
   meta = {
     description = "Ollama Python library";
     homepage = "https://github.com/ollama/ollama-python";
diff --git a/pkgs/development/python-modules/omnikinverter/default.nix b/pkgs/development/python-modules/omnikinverter/default.nix
index 190f8d700500..4557405a6331 100644
--- a/pkgs/development/python-modules/omnikinverter/default.nix
+++ b/pkgs/development/python-modules/omnikinverter/default.nix
@@ -6,6 +6,7 @@
   fetchFromGitHub,
   poetry-core,
   pytest-asyncio,
+  pytest-cov-stub,
   pytestCheckHook,
   pythonOlder,
   yarl,
@@ -30,8 +31,7 @@ buildPythonPackage rec {
   postPatch = ''
     # Upstream doesn't set a version for the pyproject.toml
     substituteInPlace pyproject.toml \
-      --replace "0.0.0" "${version}" \
-      --replace "--cov" ""
+      --replace "0.0.0" "${version}"
   '';
 
   nativeBuildInputs = [ poetry-core ];
@@ -44,6 +44,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     aresponses
     pytest-asyncio
+    pytest-cov-stub
     pytestCheckHook
   ];
 
diff --git a/pkgs/development/python-modules/onnxslim/default.nix b/pkgs/development/python-modules/onnxslim/default.nix
index b115fc4d1c93..e23eee7cbb32 100644
--- a/pkgs/development/python-modules/onnxslim/default.nix
+++ b/pkgs/development/python-modules/onnxslim/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "onnxslim";
-  version = "0.1.51";
+  version = "0.1.57";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-RH0UnMRJvs+lT/YblJcSE1TflAosJLB3XwD8XhqSdsw=";
+    hash = "sha256-VI1OaNMHuL2AhYxZ/n5zrwlqnfcCbjY39QXHX8gcdw8=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/openai/default.nix b/pkgs/development/python-modules/openai/default.nix
index 67dfdffc79ef..243b81ee05b3 100644
--- a/pkgs/development/python-modules/openai/default.nix
+++ b/pkgs/development/python-modules/openai/default.nix
@@ -37,6 +37,7 @@
   nest-asyncio,
   pytest-asyncio,
   pytest-mock,
+  pytest-xdist,
   respx,
 
   # optional-dependencies toggle
@@ -46,7 +47,7 @@
 
 buildPythonPackage rec {
   pname = "openai";
-  version = "1.79.0";
+  version = "1.87.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -55,7 +56,7 @@ buildPythonPackage rec {
     owner = "openai";
     repo = "openai-python";
     tag = "v${version}";
-    hash = "sha256-exOE3Ha0SB4Q7OrWVUGOgELpfyHZVdtvgxyFyFncDm4=";
+    hash = "sha256-KXvtAxkALZd/T5mVLkDemO7qQ7E2CLVmRpAg1+cRcdU=";
   };
 
   postPatch = ''substituteInPlace pyproject.toml --replace-fail "hatchling==1.26.3" "hatchling"'';
@@ -103,14 +104,13 @@ buildPythonPackage rec {
     nest-asyncio
     pytest-asyncio
     pytest-mock
+    pytest-xdist
     respx
   ];
 
   pytestFlagsArray = [
     "-W"
     "ignore::DeprecationWarning"
-    # snapshot mismatches
-    "--inline-snapshot=update"
   ];
 
   disabledTests =
diff --git a/pkgs/development/python-modules/openapi-schema-validator/default.nix b/pkgs/development/python-modules/openapi-schema-validator/default.nix
index 7a40cc690de8..2cc663198996 100644
--- a/pkgs/development/python-modules/openapi-schema-validator/default.nix
+++ b/pkgs/development/python-modules/openapi-schema-validator/default.nix
@@ -14,6 +14,7 @@
 
   # tests
   pytestCheckHook,
+  pytest-cov-stub,
 }:
 
 buildPythonPackage rec {
@@ -30,10 +31,6 @@ buildPythonPackage rec {
     hash = "sha256-1Y049W4TbqvKZRwnvPVwyLq6CH6NQDrEfJknuMn8dGo=";
   };
 
-  postPatch = ''
-    sed -i "/--cov/d" pyproject.toml
-  '';
-
   nativeBuildInputs = [ poetry-core ];
 
   propagatedBuildInputs = [
@@ -42,7 +39,10 @@ buildPythonPackage rec {
     rfc3339-validator
   ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cov-stub
+  ];
 
   disabledTests = [
     # https://github.com/python-openapi/openapi-schema-validator/issues/153
diff --git a/pkgs/development/python-modules/openapi-spec-validator/default.nix b/pkgs/development/python-modules/openapi-spec-validator/default.nix
index 0086d6098141..425df62257c6 100644
--- a/pkgs/development/python-modules/openapi-spec-validator/default.nix
+++ b/pkgs/development/python-modules/openapi-spec-validator/default.nix
@@ -16,6 +16,7 @@
 
   # tests
   pytestCheckHook,
+  pytest-cov-stub,
 }:
 
 buildPythonPackage rec {
@@ -33,10 +34,6 @@ buildPythonPackage rec {
     hash = "sha256-X0ePdHQeBSWjsCFQgCoNloQZRhKbvPBE43aavBppvmg=";
   };
 
-  postPatch = ''
-    sed -i '/--cov/d' pyproject.toml
-  '';
-
   nativeBuildInputs = [ poetry-core ];
 
   propagatedBuildInputs = [
@@ -46,7 +43,10 @@ buildPythonPackage rec {
     openapi-schema-validator
   ] ++ lib.optionals (pythonOlder "3.9") [ importlib-resources ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cov-stub
+  ];
 
   disabledTests = [
     # network access
diff --git a/pkgs/development/python-modules/openrazer/common.nix b/pkgs/development/python-modules/openrazer/common.nix
index df6f5ef4d8a9..d9dd55c2c528 100644
--- a/pkgs/development/python-modules/openrazer/common.nix
+++ b/pkgs/development/python-modules/openrazer/common.nix
@@ -1,13 +1,13 @@
 { lib, fetchFromGitHub }:
 rec {
-  version = "3.10.1";
+  version = "3.10.3";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "openrazer";
     repo = "openrazer";
     tag = "v${version}";
-    hash = "sha256-igrGx7Y6ENtZatJCTAW43/0q6ZjljJ9/kU3QFli4yIU=";
+    hash = "sha256-M5g3Rn9WuyudhWQfDooopjexEgGVB0rzfJsPg+dqwn4=";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/openstacksdk/default.nix b/pkgs/development/python-modules/openstacksdk/default.nix
index 104f76dec0f6..32a027892633 100644
--- a/pkgs/development/python-modules/openstacksdk/default.nix
+++ b/pkgs/development/python-modules/openstacksdk/default.nix
@@ -22,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "openstacksdk";
-  version = "4.5.0";
+  version = "4.6.0";
   pyproject = true;
 
   outputs = [
@@ -32,7 +32,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-q3oSQCB6aWm6Cc7ujxZlOAVzBne0SXqAbNlWczZR/mg=";
+    hash = "sha256-5H4WbEcy6a6mUijmGNSQ5L5d8GUmobleLVmV19CXfT0=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/opentelemetry-propagator-aws-xray/default.nix b/pkgs/development/python-modules/opentelemetry-propagator-aws-xray/default.nix
index 4ef467cc7230..c00498f74cec 100644
--- a/pkgs/development/python-modules/opentelemetry-propagator-aws-xray/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-propagator-aws-xray/default.nix
@@ -26,13 +26,12 @@ buildPythonPackage {
   nativeCheckInputs = [
     opentelemetry-test-utils
     pytestCheckHook
-  ];
-
-  checkInputs = [
     pytest-benchmark
     requests
   ];
 
+  pytestFlagsArray = [ "--benchmark-disable" ];
+
   pythonImportsCheck = [ "opentelemetry.propagators.aws" ];
 
   meta = opentelemetry-instrumentation.meta // {
diff --git a/pkgs/development/python-modules/opower/default.nix b/pkgs/development/python-modules/opower/default.nix
index bbf9fcdab2f0..dd1566c01807 100644
--- a/pkgs/development/python-modules/opower/default.nix
+++ b/pkgs/development/python-modules/opower/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "opower";
-  version = "0.12.3";
+  version = "0.12.4";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "tronikos";
     repo = "opower";
     tag = "v${version}";
-    hash = "sha256-fsZpAipBw6XLeLdum1p5gkpKSOG40TLa6cLFTUSA05Y=";
+    hash = "sha256-wUkPXfiXwKWVIQcPw2dsXJ5VMn1hf1rBFzDINnCVtEM=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/optax/default.nix b/pkgs/development/python-modules/optax/default.nix
index e8b265fe8512..760962ed9be2 100644
--- a/pkgs/development/python-modules/optax/default.nix
+++ b/pkgs/development/python-modules/optax/default.nix
@@ -12,7 +12,6 @@
   jax,
   jaxlib,
   numpy,
-  etils,
 
   # tests
   callPackage,
@@ -20,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "optax";
-  version = "0.2.4";
+  version = "0.2.5";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "deepmind";
     repo = "optax";
     tag = "v${version}";
-    hash = "sha256-7UPWeo/Q9/tjewaM7HN8/e7U1U1QzAliuk95+9GOi0E=";
+    hash = "sha256-EGQeRYSxHdENqB3QPZFsjqwh4LYT5CF8E1K3fKFedPg=";
   };
 
   outputs = [
@@ -40,11 +39,10 @@ buildPythonPackage rec {
   dependencies = [
     absl-py
     chex
-    etils
     jax
     jaxlib
     numpy
-  ] ++ etils.optional-dependencies.epy;
+  ];
 
   postInstall = ''
     mkdir $testsout
diff --git a/pkgs/development/python-modules/oras/default.nix b/pkgs/development/python-modules/oras/default.nix
index 58c553fbfc7a..c7d64b1bf271 100644
--- a/pkgs/development/python-modules/oras/default.nix
+++ b/pkgs/development/python-modules/oras/default.nix
@@ -1,5 +1,6 @@
 {
   lib,
+  boto3,
   buildPythonPackage,
   fetchFromGitHub,
   jsonschema,
@@ -11,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "oras";
-  version = "0.2.33";
+  version = "0.2.37";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -20,7 +21,7 @@ buildPythonPackage rec {
     owner = "oras-project";
     repo = "oras-py";
     tag = version;
-    hash = "sha256-789XJTMB+07hN8qcZS8S+Sa/E58VYi1N48RnBOAGFY8=";
+    hash = "sha256-pXIA970QBIlbFVFpN1Yl71ojc+atdXQuNoPEW+PrrWc=";
   };
 
   build-system = [ setuptools ];
@@ -30,7 +31,10 @@ buildPythonPackage rec {
     requests
   ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    boto3
+    pytestCheckHook
+  ];
 
   pythonImportsCheck = [ "oras" ];
 
diff --git a/pkgs/development/python-modules/orbax-checkpoint/default.nix b/pkgs/development/python-modules/orbax-checkpoint/default.nix
index 94892e20415b..37a4c014b7b2 100644
--- a/pkgs/development/python-modules/orbax-checkpoint/default.nix
+++ b/pkgs/development/python-modules/orbax-checkpoint/default.nix
@@ -35,14 +35,14 @@
 
 buildPythonPackage rec {
   pname = "orbax-checkpoint";
-  version = "0.11.13";
+  version = "0.11.15";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "orbax";
     tag = "v${version}";
-    hash = "sha256-qmq0Kz8wXUFFE4CqsdFwKXAIvysFbv7JomQSrNj1QCc=";
+    hash = "sha256-yy/BsmkBLlS6bd9I8rKKifRG+/T5/0XV00fq07LivPE=";
   };
 
   sourceRoot = "${src.name}/checkpoint";
@@ -85,12 +85,19 @@ buildPythonPackage rec {
     "orbax.checkpoint"
   ];
 
-  disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [
-    # Probably failing because of a filesystem impurity
-    # self.assertFalse(os.path.exists(dst_dir))
-    # AssertionError: True is not false
-    "test_create_snapshot"
-  ];
+  disabledTests =
+    [
+      # Flaky
+      # AssertionError: 2 not greater than 2.0046136379241943
+      "test_async_mkdir_parallel"
+      "test_async_mkdir_sequential"
+    ]
+    ++ lib.optionals stdenv.hostPlatform.isDarwin [
+      # Probably failing because of a filesystem impurity
+      # self.assertFalse(os.path.exists(dst_dir))
+      # AssertionError: True is not false
+      "test_create_snapshot"
+    ];
 
   disabledTestPaths = [
     # E   absl.flags._exceptions.DuplicateFlagError: The flag 'num_processes' is defined twice.
@@ -105,6 +112,7 @@ buildPythonPackage rec {
     "orbax/checkpoint/_src/metadata/tree_test.py"
     "orbax/checkpoint/_src/testing/test_tree_utils.py"
     "orbax/checkpoint/_src/tree/parts_of_test.py"
+    "orbax/checkpoint/_src/tree/structure_utils_test.py"
     "orbax/checkpoint/_src/tree/utils_test.py"
     "orbax/checkpoint/single_host_test.py"
     "orbax/checkpoint/transform_utils_test.py"
diff --git a/pkgs/development/python-modules/osmapi/default.nix b/pkgs/development/python-modules/osmapi/default.nix
new file mode 100644
index 000000000000..017f5fb177e3
--- /dev/null
+++ b/pkgs/development/python-modules/osmapi/default.nix
@@ -0,0 +1,43 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  pytestCheckHook,
+  requests,
+  responses,
+  setuptools,
+  xmltodict,
+}:
+
+buildPythonPackage rec {
+  pname = "osmapi";
+  version = "4.3.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "metaodi";
+    repo = "osmapi";
+    tag = "v${version}";
+    hash = "sha256-m1D+UtoULOKQ5+f/LNN11grp7vks2qEHDP345wahvXY=";
+  };
+
+  build-system = [ setuptools ];
+
+  dependencies = [ requests ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    responses
+    xmltodict
+  ];
+
+  pythonImportsCheck = [ "osmapi" ];
+
+  meta = {
+    description = "Python wrapper for the OSM API";
+    homepage = "https://github.com/metaodi/osmapi";
+    changelog = "https://github.com/metaodi/osmapi/blob/${src.tag}/CHANGELOG.md";
+    license = lib.licenses.gpl3Only;
+    maintainers = with lib.maintainers; [ sikmir ];
+  };
+}
diff --git a/pkgs/development/python-modules/osrparse/default.nix b/pkgs/development/python-modules/osrparse/default.nix
new file mode 100644
index 000000000000..2100dc311790
--- /dev/null
+++ b/pkgs/development/python-modules/osrparse/default.nix
@@ -0,0 +1,38 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  hypothesis,
+  pytestCheckHook,
+  setuptools,
+}:
+
+buildPythonPackage rec {
+  pname = "osrparse";
+  version = "7.0.1";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "kszlim";
+    repo = "osu-replay-parser";
+    tag = "v${version}";
+    hash = "sha256-MBE4z1SDkr0YA5ommF+WZyR2N67Y1/xmDhxrTrUhQJk=";
+  };
+
+  build-system = [ setuptools ];
+
+  nativeCheckInputs = [
+    hypothesis
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "osrparse" ];
+
+  meta = {
+    description = "Parser for osr (osu! replays) file format";
+    homepage = "https://github.com/kszlim/osu-replay-parser";
+    changelog = "https://github.com/kszlim/osu-replay-parser/releases/tag/${src.tag}";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ wulpine ];
+  };
+}
diff --git a/pkgs/development/python-modules/ossapi/default.nix b/pkgs/development/python-modules/ossapi/default.nix
new file mode 100644
index 000000000000..894ae6dcf01b
--- /dev/null
+++ b/pkgs/development/python-modules/ossapi/default.nix
@@ -0,0 +1,52 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  aiohttp,
+  osrparse,
+  requests,
+  requests-oauthlib,
+  setuptools,
+  typing-utils,
+}:
+
+buildPythonPackage rec {
+  pname = "ossapi";
+  version = "5.2.1";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "tybug";
+    repo = "ossapi";
+    tag = "v${version}";
+    hash = "sha256-eCq+NbDYoJ5y1ZC4RfVJUTYcT9AOLU1mtgpZkcSYZG8=";
+  };
+
+  build-system = [ setuptools ];
+
+  pythonRelaxDeps = [ "osrparse" ];
+
+  dependencies = [
+    osrparse
+    requests
+    requests-oauthlib
+    typing-utils
+  ];
+
+  optional-dependencies = {
+    async = [ aiohttp ];
+  };
+
+  # Tests require Internet access and an osu! API key
+  doCheck = false;
+
+  pythonImportsCheck = [ "ossapi" ];
+
+  meta = {
+    description = "Python wrapper for the osu! API";
+    homepage = "https://github.com/tybug/ossapi";
+    changelog = "https://github.com/tybug/ossapi/releases/tag/${src.tag}";
+    license = lib.licenses.agpl3Only;
+    maintainers = with lib.maintainers; [ wulpine ];
+  };
+}
diff --git a/pkgs/development/python-modules/p1monitor/default.nix b/pkgs/development/python-modules/p1monitor/default.nix
index 894ae80ff73e..31fc23cb930d 100644
--- a/pkgs/development/python-modules/p1monitor/default.nix
+++ b/pkgs/development/python-modules/p1monitor/default.nix
@@ -6,6 +6,7 @@
   fetchFromGitHub,
   poetry-core,
   pytest-asyncio,
+  pytest-cov-stub,
   pytestCheckHook,
   syrupy,
   pythonOlder,
@@ -28,8 +29,7 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace '"0.0.0"' '"${version}"' \
-      --replace 'addopts = "--cov"' ""
+      --replace '"0.0.0"' '"${version}"'
   '';
 
   build-system = [ poetry-core ];
@@ -42,6 +42,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     aresponses
     pytest-asyncio
+    pytest-cov-stub
     pytestCheckHook
     syrupy
   ];
diff --git a/pkgs/development/python-modules/paddle2onnx/default.nix b/pkgs/development/python-modules/paddle2onnx/default.nix
index 4a619b48b087..bf6dae50e388 100644
--- a/pkgs/development/python-modules/paddle2onnx/default.nix
+++ b/pkgs/development/python-modules/paddle2onnx/default.nix
@@ -6,10 +6,11 @@
   pythonAtLeast,
   python,
   onnx,
+  paddlepaddle,
 }:
 let
   pname = "paddle2onnx";
-  version = "2.0.0";
+  version = "2.0.1";
   format = "wheel";
   pyShortVersion = "cp${builtins.replaceStrings [ "." ] [ "" ] python.pythonVersion}";
   src = fetchPypi {
@@ -17,8 +18,8 @@ let
     dist = pyShortVersion;
     python = pyShortVersion;
     abi = pyShortVersion;
-    platform = "manylinux_2_12_x86_64.manylinux2010_x86_64";
-    hash = "sha256-9lkQLBHd/EWiuRu40Z6bBCrmqCgCW3xAx/bxmeSJJ8g=";
+    platform = "manylinux_2_24_x86_64.manylinux_2_28_x86_64";
+    hash = "sha256-RCD6iTvzhGrFjW02lasTwQoM+Xa68Q5b6Ito3KvqdHg=";
   };
 in
 buildPythonPackage {
@@ -29,16 +30,20 @@ buildPythonPackage {
     format
     ;
 
-  disabled = pythonOlder "3.8" || pythonAtLeast "3.11";
+  disabled = pythonOlder "3.12" || pythonAtLeast "3.13";
 
-  propagatedBuildInputs = [ onnx ];
+  dependencies = [
+    onnx
+    paddlepaddle
+  ];
 
-  meta = with lib; {
+  meta = {
     description = "ONNX Model Exporter for PaddlePaddle";
     homepage = "https://github.com/PaddlePaddle/Paddle2ONNX";
     changelog = "https://github.com/PaddlePaddle/Paddle2ONNX/releases/tag/v${version}";
-    license = licenses.asl20;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ happysalada ];
+    mainProgram = "paddle2onnx";
+    license = lib.licenses.asl20;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with lib.maintainers; [ happysalada ];
   };
 }
diff --git a/pkgs/development/python-modules/paddleocr/default.nix b/pkgs/development/python-modules/paddleocr/default.nix
index df9cb443b2d1..5ce2aeea652c 100644
--- a/pkgs/development/python-modules/paddleocr/default.nix
+++ b/pkgs/development/python-modules/paddleocr/default.nix
@@ -2,6 +2,8 @@
   lib,
   buildPythonPackage,
   fetchFromGitHub,
+  setuptools,
+  setuptools-scm,
   attrdict,
   beautifulsoup4,
   cython,
@@ -24,21 +26,20 @@
   paddlepaddle,
   lanms-neo,
   polygon3,
+  paddlex,
+  pyyaml,
 }:
 
-let
-  version = "2.9.1";
-in
 buildPythonPackage rec {
   pname = "paddleocr";
-  inherit version;
-  format = "setuptools";
+  version = "3.0.2";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "PaddlePaddle";
     repo = "PaddleOCR";
     tag = "v${version}";
-    hash = "sha256-QCddxgVdLaAJLfKCy+tnQsxownfl1Uv0TXhFRiFi9cY=";
+    hash = "sha256-PatqxQQR0uwZwNFYBAeAF5JfsRNhA6fzcy7lufWZARg=";
   };
 
   patches = [
@@ -53,6 +54,16 @@ buildPythonPackage rec {
     ./remove-import-imaug.patch
   ];
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace-fail "==72.1.0" ""
+  '';
+
+  build-system = [
+    setuptools
+    setuptools-scm
+  ];
+
   # trying to relax only pymupdf makes the whole build fail
   pythonRelaxDeps = true;
   pythonRemoveDeps = [
@@ -61,7 +72,7 @@ buildPythonPackage rec {
     "opencv-contrib-python"
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     attrdict
     beautifulsoup4
     cython
@@ -84,6 +95,8 @@ buildPythonPackage rec {
     paddlepaddle
     lanms-neo
     polygon3
+    paddlex
+    pyyaml
   ];
 
   # TODO: The tests depend, among possibly other things, on `cudatoolkit`.
@@ -92,16 +105,16 @@ buildPythonPackage rec {
   # nativeCheckInputs = with pkgs; [ which cudatoolkit ];
   doCheck = false;
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/PaddlePaddle/PaddleOCR";
-    license = licenses.asl20;
+    license = lib.licenses.asl20;
     description = "Multilingual OCR toolkits based on PaddlePaddle";
     longDescription = ''
       PaddleOCR aims to create multilingual, awesome, leading, and practical OCR
       tools that help users train better models and apply them into practice.
     '';
     changelog = "https://github.com/PaddlePaddle/PaddleOCR/releases/tag/${src.tag}";
-    maintainers = with maintainers; [ happysalada ];
+    maintainers = with lib.maintainers; [ happysalada ];
     platforms = [
       "x86_64-linux"
       "x86_64-darwin"
diff --git a/pkgs/development/python-modules/paddlepaddle/binary-hashes.nix b/pkgs/development/python-modules/paddlepaddle/binary-hashes.nix
index 5c3c66dddd9a..2b205f662d5b 100644
--- a/pkgs/development/python-modules/paddlepaddle/binary-hashes.nix
+++ b/pkgs/development/python-modules/paddlepaddle/binary-hashes.nix
@@ -2,26 +2,33 @@
   x86_64-linux = {
     platform = "manylinux1_x86_64";
     cpu = {
-      cp39 = "sha256-Yu/FWoMhYp+behAth/jH0FKlf2LJr8TyvL9MBwmuews=";
-      cp310 = "sha256-O7d/5LY2dEMf5gW5WrN3xzIIEi2vT0RWoMeVOk5lATk=";
+      cp312 = "sha256-gafFsQFQsHUh0c0Ukdyh+3b/YhsU2xDomdlZ86d5Neo=";
+      cp313 = "sha256-j8SGXv02Vu6ZQkEkeSy4imQhUbTVkafW1KXGr9rpWVk=";
     };
     gpu = {
-      cp39 = "sha256-XHREY27jc+BrVyCJgpMvPVOFiKgPwuiNXPXO3biMLnc=";
-      cp310 = "sha256-oTEBa26o5g6ruuTBgUljjDqign5fXmCn0EnL/0mv+ao=";
+      cp311 = "sha256-KWlGhjg9k1+wlm3Tk/mvMqh9LWZ0yGA1g99bCPlFf0U=";
+      cp312 = "sha256-KJ2drJWLuwdaYsCj7egh1nQV4j35vT+UgH0qTdxoyHk=";
+    };
+  };
+  aarch64-linux = {
+    platform = "manylinux2014_aarch64";
+    cpu = {
+      cp312 = "sha256-3aqZaosKANvkJp2iHWUFKHfsNpOiLswHucraPs0RaIY=";
+      cp313 = "sha256-u8TVc7NdJKJi4C1yaW6A9bSu5B9phnGvlXTe6xqD5vc=";
     };
   };
   x86_64-darwin = {
     platform = "macosx_10_9_x86_64";
     cpu = {
-      cp39 = "sha256-5g9b2gC6uosMpoJiobpj8yToIS6ifAFRvLEqnc/o/QQ=";
-      cp310 = "sha256-2c1hjwNCOOOx9tVfBk+Pyk/pF0m/2tAmRsBH91834eM=";
+      cp312 = "sha256-3P6/sQ3rFaoz0qLWbVoS2d5lRh2KQNJofi+zIhFQ0Lo=";
+      cp313 = "sha256-UsQB/+Sq5WMWZgozAVpv11XNoj09cKKLE7c9cMvbuMs=";
     };
   };
   aarch64-darwin = {
     platform = "macosx_11_0_arm64";
     cpu = {
-      cp39 = "sha256-JhYNTOx1UkuNf/63lHXBDry6FQjPnbIB8jU5jKcyX2k=";
-      cp310 = "sha256-4ltYEYm2OzPBc6D2bQt2dEh6Sz+5m1mMKGGYgQGLSAY=";
+      cp312 = "sha256-hnfo1C/2b3T7yjL/Mti2S749Vu0pqS1D3EGPDxaPy2k=";
+      cp313 = "sha256-nRBR8uII2h1Dna7nyGG8tQJA8JcSSW62Hpzoxhj68vk=";
     };
   };
 }
diff --git a/pkgs/development/python-modules/paddlepaddle/default.nix b/pkgs/development/python-modules/paddlepaddle/default.nix
index 8263ae8ec8c5..02e52be20534 100644
--- a/pkgs/development/python-modules/paddlepaddle/default.nix
+++ b/pkgs/development/python-modules/paddlepaddle/default.nix
@@ -1,13 +1,12 @@
 {
-  stdenv,
   config,
   lib,
+  stdenv,
   buildPythonPackage,
   fetchPypi,
   python,
   pythonOlder,
   pythonAtLeast,
-  openssl_1_1,
   zlib,
   setuptools,
   cudaSupport ? config.cudaSupport or false,
@@ -20,22 +19,22 @@
   pillow,
   decorator,
   astor,
-  paddle-bfloat,
   opt-einsum,
+  typing-extensions,
 }:
 
 let
   pname = "paddlepaddle" + lib.optionalString cudaSupport "-gpu";
-  version = "2.5.0";
+  version = if cudaSupport then "2.6.2" else "3.0.0";
   format = "wheel";
   pyShortVersion = "cp${builtins.replaceStrings [ "." ] [ "" ] python.pythonVersion}";
   cpuOrGpu = if cudaSupport then "gpu" else "cpu";
   allHashAndPlatform = import ./binary-hashes.nix;
   hash =
-    allHashAndPlatform."${stdenv.system}"."${cpuOrGpu}"."${pyShortVersion}"
-      or (throw "${pname} has no binary-hashes.nix entry for '${stdenv.system}.${cpuOrGpu}.${pyShortVersion}' attribute");
-  platform = allHashAndPlatform."${stdenv.system}".platform;
-  src = fetchPypi ({
+    allHashAndPlatform."${stdenv.hostPlatform.system}"."${cpuOrGpu}"."${pyShortVersion}"
+      or (throw "${pname} has no binary-hashes.nix entry for '${stdenv.hostPlatform.system}.${cpuOrGpu}.${pyShortVersion}' attribute");
+  platform = allHashAndPlatform."${stdenv.hostPlatform.system}".platform;
+  src = fetchPypi {
     inherit
       version
       format
@@ -46,7 +45,7 @@ let
     dist = pyShortVersion;
     python = pyShortVersion;
     abi = pyShortVersion;
-  });
+  };
 in
 buildPythonPackage {
   inherit
@@ -56,40 +55,15 @@ buildPythonPackage {
     src
     ;
 
-  disabled = pythonOlder "3.9" || pythonAtLeast "3.11";
-
-  libraryPath = lib.makeLibraryPath (
-    # TODO: remove openssl_1_1 and zlib, maybe by building paddlepaddle from
-    # source as suggested in the following comment:
-    # https://github.com/NixOS/nixpkgs/pull/243583#issuecomment-1641450848
-    [
-      openssl_1_1
-      zlib
-    ]
-    ++ lib.optionals cudaSupport (
-      with cudaPackages_11;
-      [
-        cudatoolkit.lib
-        cudatoolkit.out
-        cudnn
-      ]
-    )
-  );
-
-  postFixup = lib.optionalString stdenv.hostPlatform.isLinux ''
-    function fixRunPath {
-      p=$(patchelf --print-rpath $1)
-      patchelf --set-rpath "$p:$libraryPath" $1
-      ${lib.optionalString cudaSupport ''
-        addDriverRunpath $1
-      ''}
-    }
-    fixRunPath $out/${python.sitePackages}/paddle/fluid/libpaddle.so
-  '';
+  disabled =
+    if cudaSupport then
+      (pythonOlder "3.11" || pythonAtLeast "3.13")
+    else
+      (pythonOlder "3.12" || pythonAtLeast "3.14");
 
   nativeBuildInputs = [ addDriverRunpath ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     setuptools
     httpx
     numpy
@@ -97,8 +71,8 @@ buildPythonPackage {
     pillow
     decorator
     astor
-    paddle-bfloat
     opt-einsum
+    typing-extensions
   ];
 
   pythonImportsCheck = [ "paddle" ];
@@ -106,14 +80,45 @@ buildPythonPackage {
   # no tests
   doCheck = false;
 
-  meta = with lib; {
-    description = "PArallel Distributed Deep LEarning: Machine Learning Framework from Industrial Practice (『飞桨』核心框架,深度学习&机器学习高性能单机、分布式训练和跨平台部署";
+  postFixup = lib.optionalString stdenv.hostPlatform.isLinux (
+    let
+      libraryPath = lib.makeLibraryPath (
+        [
+          zlib
+          (lib.getLib stdenv.cc.cc)
+        ]
+        ++ lib.optionals cudaSupport (
+          with cudaPackages_11;
+          [
+            cudatoolkit.lib
+            cudatoolkit.out
+            cudnn
+          ]
+        )
+      );
+    in
+    ''
+      function fixRunPath {
+        p=$(patchelf --print-rpath $1)
+        patchelf --set-rpath "$p:${libraryPath}" $1
+        ${lib.optionalString cudaSupport ''
+          addDriverRunpath $1
+        ''}
+      }
+      fixRunPath $out/${python.sitePackages}/paddle/base/libpaddle.so
+      fixRunPath $out/${python.sitePackages}/paddle/libs/lib*.so
+    ''
+  );
+
+  meta = {
+    description = "Machine Learning Framework from Industrial Practice";
     homepage = "https://github.com/PaddlePaddle/Paddle";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ happysalada ];
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ happysalada ];
     platforms =
       [ "x86_64-linux" ]
-      ++ optionals (!cudaSupport) [
+      ++ lib.optionals (!cudaSupport) [
+        "aarch64-linux"
         "x86_64-darwin"
         "aarch64-darwin"
       ];
diff --git a/pkgs/development/python-modules/paddlex/default.nix b/pkgs/development/python-modules/paddlex/default.nix
new file mode 100644
index 000000000000..a60c3e1d8534
--- /dev/null
+++ b/pkgs/development/python-modules/paddlex/default.nix
@@ -0,0 +1,100 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  setuptools,
+  numpy,
+  pillow,
+  pyyaml,
+  chardet,
+  colorlog,
+  filelock,
+  pandas,
+  prettytable,
+  py-cpuinfo,
+  pydantic,
+  requests,
+  ruamel-yaml,
+  typing-extensions,
+  ujson,
+  distutils,
+}:
+
+let
+  gputil = buildPythonPackage rec {
+    pname = "gputil";
+    version = "1.4.0";
+    pyproject = true;
+
+    src = fetchFromGitHub {
+      owner = "anderskm";
+      repo = "gputil";
+      tag = "v${version}";
+      hash = "sha256-iOyB653BMmDBtK1fM1ZyddjlnaypsuLMOV0sKaBt+yE=";
+    };
+
+    build-system = [ setuptools ];
+
+    dependencies = [ distutils ];
+
+    pythonImportsCheck = [ "GPUtil" ];
+
+    meta = {
+      homepage = "https://github.com/anderskm/gputil";
+      license = lib.licenses.mit;
+      description = "Getting GPU status from NVIDA GPUs using nvidia-smi";
+      changelog = "https://github.com/anderskm/gputil/releases/tag/${src.tag}";
+    };
+  };
+in
+buildPythonPackage rec {
+  pname = "paddlex";
+  version = "3.0.1";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "PaddlePaddle";
+    repo = "PaddleX";
+    tag = "v${version}";
+    hash = "sha256-qov5nqGIsSfaho2dcWVsyWKQlJsIJgdX3rDz66JtLDI=";
+  };
+
+  build-system = [ setuptools ];
+
+  pythonRelaxDeps = [
+    "numpy"
+    "pandas"
+  ];
+
+  dependencies = [
+    chardet
+    colorlog
+    filelock
+    numpy
+    pandas
+    pillow
+    prettytable
+    py-cpuinfo
+    pydantic
+    pyyaml
+    requests
+    ruamel-yaml
+    typing-extensions
+    ujson
+    gputil
+  ];
+
+  meta = {
+    homepage = "https://github.com/PaddlePaddle/PaddleX";
+    license = lib.licenses.asl20;
+    description = "All-in-One Development Tool based on PaddlePaddle";
+    changelog = "https://github.com/PaddlePaddle/PaddleX/releases/tag/${src.tag}";
+    maintainers = with lib.maintainers; [ emaryn ];
+    platforms = [
+      "x86_64-linux"
+      "aarch64-linux"
+      "x86_64-darwin"
+      "aarch64-darwin"
+    ];
+  };
+}
diff --git a/pkgs/development/python-modules/pandoc-latex-environment/default.nix b/pkgs/development/python-modules/pandoc-latex-environment/default.nix
index 6ccf7dd09ce6..a34e86148dbf 100644
--- a/pkgs/development/python-modules/pandoc-latex-environment/default.nix
+++ b/pkgs/development/python-modules/pandoc-latex-environment/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "pandoc-latex-environment";
-  version = "1.2.0.0";
+  version = "1.2.1.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "chdemko";
     repo = "pandoc-latex-environment";
     tag = version;
-    hash = "sha256-DdDCwysTCiDg1rXO3pvI5m6lIcdAXhsnwEEgvG/ErBM=";
+    hash = "sha256-uyOqw8YnTljgXkwZOXTXAsnobVSV65EVicohREBNMCY=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/panphon/default.nix b/pkgs/development/python-modules/panphon/default.nix
index 6190a4bc9ad2..230c7a310ba8 100644
--- a/pkgs/development/python-modules/panphon/default.nix
+++ b/pkgs/development/python-modules/panphon/default.nix
@@ -18,18 +18,17 @@
 
 buildPythonPackage rec {
   pname = "panphon";
-  version = "0.21.2";
+  version = "0.22.0";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-FpYHbkEeQzyPfbpigZ1EMNlzLLFWB/wNcGHYFYiEE2k=";
+    hash = "sha256-iSdCZjzeZhxsrkaRYHpg60evmo9g09a9Fwr0I5WWd1A=";
   };
 
   build-system = [ setuptools ];
 
   dependencies = [
-    setuptools # need for pkg_resources
     unicodecsv
     pyyaml
     regex
diff --git a/pkgs/development/python-modules/papis/default.nix b/pkgs/development/python-modules/papis/default.nix
index 15ec1e8c14d3..e791700751fe 100644
--- a/pkgs/development/python-modules/papis/default.nix
+++ b/pkgs/development/python-modules/papis/default.nix
@@ -31,6 +31,7 @@
   docutils,
   git,
   pytestCheckHook,
+  pytest-cov-stub,
   sphinx,
   sphinx-click,
 }:
@@ -70,17 +71,13 @@ buildPythonPackage rec {
     stevedore
   ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace-fail "--cov=papis" ""
-  '';
-
   pythonImportsCheck = [ "papis" ];
 
   nativeCheckInputs = [
     docutils
     git
     pytestCheckHook
+    pytest-cov-stub
     sphinx
     sphinx-click
   ];
diff --git a/pkgs/development/python-modules/parsedatetime/default.nix b/pkgs/development/python-modules/parsedatetime/default.nix
index b187ba40a278..55631a33f9cb 100644
--- a/pkgs/development/python-modules/parsedatetime/default.nix
+++ b/pkgs/development/python-modules/parsedatetime/default.nix
@@ -3,6 +3,7 @@
   buildPythonPackage,
   fetchPypi,
   isPy27,
+  pythonOlder,
   future,
   pytestCheckHook,
 }:
@@ -18,7 +19,7 @@ buildPythonPackage rec {
     sha256 = "4cb368fbb18a0b7231f4d76119165451c8d2e35951455dfee97c62a87b04d455";
   };
 
-  propagatedBuildInputs = [ future ];
+  propagatedBuildInputs = lib.optional (pythonOlder "3.13") future;
 
   nativeCheckInputs = [ pytestCheckHook ];
 
diff --git a/pkgs/development/python-modules/parsedmarc/default.nix b/pkgs/development/python-modules/parsedmarc/default.nix
index ef557cb316f6..ef9d12302e07 100644
--- a/pkgs/development/python-modules/parsedmarc/default.nix
+++ b/pkgs/development/python-modules/parsedmarc/default.nix
@@ -1,24 +1,28 @@
 {
   lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  fetchurl,
+
+  # build-system
+  hatchling,
+
+  # dependencies
   azure-identity,
   azure-monitor-ingestion,
   boto3,
-  buildPythonPackage,
   dateparser,
   dnspython,
   elastic-transport,
-  elasticsearch,
   elasticsearch-dsl,
+  elasticsearch,
   expiringdict,
-  fetchPypi,
-  fetchurl,
   geoip2,
   google-api-core,
   google-api-python-client,
-  google-auth,
   google-auth-httplib2,
   google-auth-oauthlib,
-  hatchling,
+  google-auth,
   imapclient,
   kafka-python-ng,
   lxml,
@@ -28,10 +32,12 @@
   opensearch-py,
   publicsuffixlist,
   pygelf,
-  pythonOlder,
   requests,
   tqdm,
   xmltodict,
+
+  # test
+  unittestCheckHook,
 }:
 
 let
@@ -42,17 +48,17 @@ let
 in
 buildPythonPackage rec {
   pname = "parsedmarc";
-  version = "8.18.1";
+  version = "8.18.5";
   pyproject = true;
 
-  disabled = pythonOlder "3.7";
-
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-qE/WMovVlB9u0lyVl3HapHzvhG+fGTC+6DDBUKRU/2w=";
+  src = fetchFromGitHub {
+    owner = "domainaware";
+    repo = "parsedmarc";
+    tag = version;
+    hash = "sha256-y8wFR9UN1u/IDYiKB+8PrN8c0YCgagxUr7CeAbQWdtg=";
   };
 
-  nativeBuildInputs = [
+  build-system = [
     hatchling
   ];
 
@@ -61,7 +67,7 @@ buildPythonPackage rec {
     "elasticsearch-dsl"
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     azure-identity
     azure-monitor-ingestion
     boto3
@@ -82,17 +88,17 @@ buildPythonPackage rec {
     lxml
     mailsuite
     msgraph-core
+    opensearch-py
     publicsuffixlist
     pygelf
     requests
     tqdm
     xmltodict
-    opensearch-py
   ];
 
-  # no tests on PyPI, no tags on GitHub
-  # https://github.com/domainaware/parsedmarc/issues/426
-  doCheck = false;
+  nativeCheckInputs = [
+    unittestCheckHook
+  ];
 
   pythonImportsCheck = [ "parsedmarc" ];
 
@@ -101,14 +107,12 @@ buildPythonPackage rec {
     tests = nixosTests.parsedmarc;
   };
 
-  meta = with lib; {
+  meta = {
     description = "Python module and CLI utility for parsing DMARC reports";
     homepage = "https://domainaware.github.io/parsedmarc/";
-    changelog = "https://github.com/domainaware/parsedmarc/blob/master/CHANGELOG.md#${
-      lib.replaceStrings [ "." ] [ "" ] version
-    }";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ talyz ];
+    changelog = "https://github.com/domainaware/parsedmarc/blob/${src.tag}/CHANGELOG.md";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ talyz ];
     mainProgram = "parsedmarc";
     # https://github.com/domainaware/parsedmarc/issues/464
     broken = lib.versionAtLeast msgraph-core.version "1.0.0";
diff --git a/pkgs/development/python-modules/parselmouth/default.nix b/pkgs/development/python-modules/parselmouth/default.nix
index 183ee3100fd8..7256b9178a4e 100644
--- a/pkgs/development/python-modules/parselmouth/default.nix
+++ b/pkgs/development/python-modules/parselmouth/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "parselmouth";
-  version = "0.4.5";
+  version = "0.4.6";
   pyproject = true;
   disabled = pythonOlder "3.7";
 
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     repo = "Parselmouth";
     tag = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-/Hde/DpSbmHs8WF3PAk4esYuMgOX6SxMaYJrrHYr/ZU=";
+    hash = "sha256-ish9FQWdDCJ54S3s3ELZa40ttCs3opTRtFAQNg9lEIM=";
   };
 
   configurePhase = ''
@@ -57,7 +57,7 @@ buildPythonPackage rec {
   meta = {
     description = "Praat in Python, the Pythonic way";
     homepage = "https://github.com/YannickJadoul/Parselmouth";
-    changelog = "https://github.com/YannickJadoul/Parselmouth/releases/tag/v${version}";
+    changelog = "https://github.com/YannickJadoul/Parselmouth/releases/tag/${src.tag}";
     license = lib.licenses.gpl3Plus;
     maintainers = with lib.maintainers; [ derdennisop ];
   };
diff --git a/pkgs/development/python-modules/pastedeploy/default.nix b/pkgs/development/python-modules/pastedeploy/default.nix
index 945a07d525dd..722ff6f8b4be 100644
--- a/pkgs/development/python-modules/pastedeploy/default.nix
+++ b/pkgs/development/python-modules/pastedeploy/default.nix
@@ -3,6 +3,7 @@
   buildPythonPackage,
   fetchFromGitHub,
   pytestCheckHook,
+  pytest-cov-stub,
   pythonOlder,
   setuptools,
 }:
@@ -21,14 +22,12 @@ buildPythonPackage rec {
     hash = "sha256-yR7UxAeF0fQrbU7tl29GpPeEAc4YcxHdNQWMD67pP3g=";
   };
 
-  postPatch = ''
-    substituteInPlace pytest.ini \
-      --replace-fail " --cov" ""
-  '';
-
   build-system = [ setuptools ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cov-stub
+  ];
 
   pythonImportsCheck = [ "paste.deploy" ];
 
diff --git a/pkgs/development/python-modules/pathable/default.nix b/pkgs/development/python-modules/pathable/default.nix
index d6d92204c424..4bc3de530787 100644
--- a/pkgs/development/python-modules/pathable/default.nix
+++ b/pkgs/development/python-modules/pathable/default.nix
@@ -3,6 +3,7 @@
   buildPythonPackage,
   fetchFromGitHub,
   pytestCheckHook,
+  pytest-cov-stub,
   pythonOlder,
   poetry-core,
 }:
@@ -23,11 +24,10 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ poetry-core ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
-
-  postPatch = ''
-    sed -i "/--cov/d" pyproject.toml
-  '';
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cov-stub
+  ];
 
   pythonImportsCheck = [ "pathable" ];
 
diff --git a/pkgs/development/python-modules/pbkdf2/default.nix b/pkgs/development/python-modules/pbkdf2/default.nix
index 138a9489ac32..acfc09e9f30e 100644
--- a/pkgs/development/python-modules/pbkdf2/default.nix
+++ b/pkgs/development/python-modules/pbkdf2/default.nix
@@ -18,6 +18,6 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = with lib; {
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pbs-installer/default.nix b/pkgs/development/python-modules/pbs-installer/default.nix
index b80888595eac..f2d2a348b02c 100644
--- a/pkgs/development/python-modules/pbs-installer/default.nix
+++ b/pkgs/development/python-modules/pbs-installer/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pbs-installer";
-  version = "2025.03.17";
+  version = "2025.06.10";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "frostming";
     repo = "pbs-installer";
     tag = version;
-    hash = "sha256-4SwbxTwl0DQjtYTxFMBg4p9aTyELNIOSRQw9fiweDhg=";
+    hash = "sha256-WN1TevGTSG6yQnssuvtGKb850lo5hzehOPoFJhMVvGo=";
   };
 
   build-system = [ pdm-backend ];
diff --git a/pkgs/development/python-modules/pdfminer-six/default.nix b/pkgs/development/python-modules/pdfminer-six/default.nix
index 0fd59cbd4aec..ea2ad1834ccf 100644
--- a/pkgs/development/python-modules/pdfminer-six/default.nix
+++ b/pkgs/development/python-modules/pdfminer-six/default.nix
@@ -2,53 +2,39 @@
   lib,
   buildPythonPackage,
   fetchFromGitHub,
-  fetchpatch2,
   cryptography,
   charset-normalizer,
-  pythonOlder,
   pytestCheckHook,
   setuptools,
-  replaceVars,
+  setuptools-scm,
   ocrmypdf,
 }:
 
 buildPythonPackage rec {
   pname = "pdfminer-six";
-  version = "20240706";
+  version = "20250506";
   pyproject = true;
 
-  disabled = pythonOlder "3.8";
-
   src = fetchFromGitHub {
     owner = "pdfminer";
     repo = "pdfminer.six";
     tag = version;
-    hash = "sha256-aY7GQADRxeiclr6/G3RRgrPcl8rGiC85JYEIjIa+vG0=";
+    hash = "sha256-BE/HMl/e1KnkSc2jXU5Du5FMF+rCBv5AJ7a88oFrBgM=";
   };
 
-  patches = [
-    # https://github.com/pdfminer/pdfminer.six/pull/1027
-    (fetchpatch2 {
-      name = "fix-dereference-MediaBox.patch";
-      url = "https://github.com/pdfminer/pdfminer.six/pull/1027/commits/ad101c152c71431a21bfa5a8dbe33b3ba385ceec.patch?full_index=1";
-      excludes = [ "CHANGELOG.md" ];
-      hash = "sha256-fsSXvN92MVtNFpAst0ctvGrbxVvoe4Nyz4wMZqJ1aw8=";
-    })
-    (replaceVars ./disable-setuptools-git-versioning.patch {
-      inherit version;
-    })
+  build-system = [
+    setuptools
+    setuptools-scm
   ];
 
-  build-system = [ setuptools ];
-
   dependencies = [
     charset-normalizer
     cryptography
   ];
 
   postInstall = ''
-    for file in $out/bin/*.py; do
-      ln $file ''${file//.py/}
+    for file in "$out/bin/"*.py; do
+      mv "$file" "''${file%.py}"
     done
   '';
 
@@ -71,11 +57,11 @@ buildPythonPackage rec {
     };
   };
 
-  meta = with lib; {
+  meta = {
     changelog = "https://github.com/pdfminer/pdfminer.six/blob/${src.rev}/CHANGELOG.md";
     description = "PDF parser and analyzer";
     homepage = "https://github.com/pdfminer/pdfminer.six";
-    license = licenses.mit;
-    maintainers = with maintainers; [ psyanticy ];
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ psyanticy ];
   };
 }
diff --git a/pkgs/development/python-modules/pdfminer-six/disable-setuptools-git-versioning.patch b/pkgs/development/python-modules/pdfminer-six/disable-setuptools-git-versioning.patch
deleted file mode 100644
index 809cc024ff2e..000000000000
--- a/pkgs/development/python-modules/pdfminer-six/disable-setuptools-git-versioning.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/setup.py b/setup.py
-index 42764e2..e7b93d3 100644
---- a/setup.py
-+++ b/setup.py
-@@ -19,10 +19,7 @@ if sys.version_info < (3, 12):
- 
- setup(
-     name="pdfminer.six",
--    setuptools_git_versioning={
--        "enabled": True,
--    },
--    setup_requires=["setuptools-git-versioning<3"],
-+    version="@version@",
-     packages=["pdfminer"],
-     package_data={"pdfminer": ["cmap/*.pickle.gz", "py.typed"]},
-     install_requires=[
diff --git a/pkgs/development/python-modules/pdfplumber/default.nix b/pkgs/development/python-modules/pdfplumber/default.nix
index 3678634fd942..876324a0c03c 100644
--- a/pkgs/development/python-modules/pdfplumber/default.nix
+++ b/pkgs/development/python-modules/pdfplumber/default.nix
@@ -1,8 +1,9 @@
 {
-  lib,
   pkgs,
+  lib,
   buildPythonPackage,
   fetchFromGitHub,
+  setuptools,
   jupyterlab,
   nbexec,
   pandas,
@@ -10,47 +11,53 @@
   pdfminer-six,
   pillow,
   pypdfium2,
-  pytest-cov,
+  pytest-cov-stub,
   pytest-parallel,
   pytestCheckHook,
   types-pillow,
+  writableTmpDirAsHomeHook,
 }:
 
 buildPythonPackage rec {
   pname = "pdfplumber";
-  version = "0.11.5";
-  format = "setuptools";
+  version = "0.11.7";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "jsvine";
     repo = "pdfplumber";
     tag = "v${version}";
-    hash = "sha256-oe6lZyQKXASzG7Ho6o7mlXY+BOgVBaACebxbYD+1+x0=";
+    hash = "sha256-6oCHFf/lNQidP69l0lVcvIQ0ldO3djRDnxLwcZ+VDVk=";
   };
 
+  build-system = [ setuptools ];
+
   dependencies = [
     pdfminer-six
     pillow
     pypdfium2
   ];
 
-  preCheck = ''
-    export HOME=$(mktemp -d)
-    # test_issue_1089 assumes the soft limit on open files is "low", otherwise it never completes
-    # reported at: https://github.com/jsvine/pdfplumber/issues/1263
-    ulimit -n 1024
-  '';
-
   nativeCheckInputs = [
     pkgs.ghostscript
     jupyterlab
     nbexec
     pandas
     pandas-stubs
-    pytest-cov
+    pytest-cov-stub
     pytest-parallel
     pytestCheckHook
     types-pillow
+    writableTmpDirAsHomeHook
+  ];
+
+  pythonRelaxDeps = [ "pdfminer.six" ];
+
+  disabledTestPaths = [
+    # AssertionError
+    "tests/test_convert.py::Test::test_cli_csv"
+    "tests/test_convert.py::Test::test_cli_csv_exclude"
+    "tests/test_convert.py::Test::test_csv"
   ];
 
   pythonImportsCheck = [ "pdfplumber" ];
@@ -59,7 +66,7 @@ buildPythonPackage rec {
     description = "Plumb a PDF for detailed information about each char, rectangle, line, et cetera — and easily extract text and tables";
     mainProgram = "pdfplumber";
     homepage = "https://github.com/jsvine/pdfplumber";
-    changelog = "https://github.com/jsvine/pdfplumber/releases/tag/v${version}";
+    changelog = "https://github.com/jsvine/pdfplumber/releases/tag/${src.tag}";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ happysalada ];
   };
diff --git a/pkgs/development/python-modules/pdoc/default.nix b/pkgs/development/python-modules/pdoc/default.nix
index b679db5d6d91..da972ad56421 100644
--- a/pkgs/development/python-modules/pdoc/default.nix
+++ b/pkgs/development/python-modules/pdoc/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "pdoc";
-  version = "15.0.3";
+  version = "15.0.4";
   disabled = pythonOlder "3.9";
 
   pyproject = true;
@@ -23,8 +23,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "mitmproxy";
     repo = "pdoc";
-    rev = "v${version}";
-    hash = "sha256-qr0K+ZOmEPWMkm/cPisdw6gSPZI4FvICaKQNt/sef40=";
+    tag = "v${version}";
+    hash = "sha256-l0aaQbjxAMcTZZwDN6g8A7bjSsl6yP2FoAnwTYkKYH8=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/peppercorn/default.nix b/pkgs/development/python-modules/peppercorn/default.nix
index 1fb8d48a05e5..a45f778e398d 100644
--- a/pkgs/development/python-modules/peppercorn/default.nix
+++ b/pkgs/development/python-modules/peppercorn/default.nix
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Library for converting a token stream into a data structure for use in web form posts";
     homepage = "https://docs.pylonsproject.org/projects/peppercorn/en/latest/";
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/python-modules/pg8000/default.nix b/pkgs/development/python-modules/pg8000/default.nix
index 2607688f4cf5..cc83363b3743 100644
--- a/pkgs/development/python-modules/pg8000/default.nix
+++ b/pkgs/development/python-modules/pg8000/default.nix
@@ -44,7 +44,7 @@ buildPythonPackage rec {
     homepage = "https://github.com/tlocke/pg8000";
     changelog = "https://github.com/tlocke/pg8000#release-notes";
     license = with licenses; [ bsd3 ];
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/python-modules/pglive/default.nix b/pkgs/development/python-modules/pglive/default.nix
index bbdedb2590b7..44bec1217873 100644
--- a/pkgs/development/python-modules/pglive/default.nix
+++ b/pkgs/development/python-modules/pglive/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pglive";
-  version = "0.8.3";
+  version = "0.9.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "domarm-comat";
     repo = "pglive";
     tag = "v${version}";
-    hash = "sha256-JZ/XfNtGGrlNY/NN+OrN9RlI3ZK/TFNP7SZxNaEm38A=";
+    hash = "sha256-mdqQoWH1FF19vnXqDizKjU8zFwyCiUok4AyDaWbjEPk=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/pilkit/default.nix b/pkgs/development/python-modules/pilkit/default.nix
index a69b688ad538..1bca24f6e730 100644
--- a/pkgs/development/python-modules/pilkit/default.nix
+++ b/pkgs/development/python-modules/pilkit/default.nix
@@ -5,6 +5,7 @@
   mock,
   pillow,
   pytestCheckHook,
+  pytest-cov-stub,
   pythonOlder,
   setuptools,
 }:
@@ -30,11 +31,10 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     mock
     pytestCheckHook
+    pytest-cov-stub
   ];
 
   postPatch = ''
-    substituteInPlace tox.ini \
-      --replace " --cov --cov-report term-missing:skip-covered" ""
     substituteInPlace pilkit/processors/resize.py \
       --replace "Image.ANTIALIAS" "Image.Resampling.LANCZOS"
   '';
@@ -45,6 +45,6 @@ buildPythonPackage rec {
     description = "Collection of utilities and processors for the Python Imaging Library";
     homepage = "https://github.com/matthewwithanm/pilkit/";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pillow-avif-plugin/default.nix b/pkgs/development/python-modules/pillow-avif-plugin/default.nix
new file mode 100644
index 000000000000..3750e1d1dd4c
--- /dev/null
+++ b/pkgs/development/python-modules/pillow-avif-plugin/default.nix
@@ -0,0 +1,30 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchPypi,
+  setuptools,
+  libavif,
+  pillow,
+}:
+
+buildPythonPackage rec {
+  pname = "pillow-avif-plugin";
+  version = "1.4.6";
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-hVz1DQP2/Bbh/V42SzzqC3n0v5DTn/ISOWlzXYUeCLo=";
+  };
+
+  nativeBuildInputs = [ setuptools ];
+  buildInputs = [ libavif ];
+  propagatedBuildInputs = [ pillow ];
+
+  meta = {
+    description = "Pillow plugin that adds support for AVIF files";
+    homepage = "https://github.com/fdintino/pillow-avif-plugin";
+    license = lib.licenses.bsd2;
+    maintainers = with lib.maintainers; [ ratcornu ];
+  };
+}
diff --git a/pkgs/development/python-modules/pint-xarray/default.nix b/pkgs/development/python-modules/pint-xarray/default.nix
index 5d38fa108940..005f8fed5912 100644
--- a/pkgs/development/python-modules/pint-xarray/default.nix
+++ b/pkgs/development/python-modules/pint-xarray/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pint-xarray";
-  version = "0.4";
+  version = "0.5.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "xarray-contrib";
     repo = "pint-xarray";
     tag = "v${version}";
-    hash = "sha256-IFHSgrnqS7ZpNhRzzSgHPRUP90WNv84jBH4um/DRMCU=";
+    hash = "sha256-fvVIQagrL1QvIcN/mePx6cT8mbsvx08vu6tGc4tuLwc=";
   };
 
   build-system = [
@@ -44,7 +44,7 @@ buildPythonPackage rec {
   meta = {
     description = "Interface for using pint with xarray, providing convenience accessors";
     homepage = "https://github.com/xarray-contrib/pint-xarray";
-    changelog = "https://github.com/xarray-contrib/pint-xarray/blob/v${version}/docs/whats-new.rst";
+    changelog = "https://github.com/xarray-contrib/pint-xarray/blob/${src.tag}/docs/whats-new.rst";
     license = lib.licenses.asl20;
     maintainers = with lib.maintainers; [ doronbehar ];
   };
diff --git a/pkgs/development/python-modules/plaster/default.nix b/pkgs/development/python-modules/plaster/default.nix
index 0651404dc477..b01e94bc1d57 100644
--- a/pkgs/development/python-modules/plaster/default.nix
+++ b/pkgs/development/python-modules/plaster/default.nix
@@ -1,7 +1,8 @@
 {
+  lib,
   buildPythonPackage,
   fetchPypi,
-  pytest,
+  pytestCheckHook,
   pytest-cov-stub,
 }:
 
@@ -15,12 +16,15 @@ buildPythonPackage rec {
     hash = "sha256-+L78VL+MEUfBCrQCl+yEwmdvotTqXW9STZQ2qAB075g=";
   };
 
-  checkPhase = ''
-    py.test
-  '';
-
   nativeCheckInputs = [
-    pytest
+    pytestCheckHook
     pytest-cov-stub
   ];
+
+  meta = {
+    description = "Loader interface around multiple config file formats";
+    homepage = "https://pypi.org/project/plaster/";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ ];
+  };
 }
diff --git a/pkgs/development/python-modules/plopp/default.nix b/pkgs/development/python-modules/plopp/default.nix
new file mode 100644
index 000000000000..581dbb51e5d2
--- /dev/null
+++ b/pkgs/development/python-modules/plopp/default.nix
@@ -0,0 +1,117 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+
+  # build-system
+  setuptools,
+  setuptools-scm,
+
+  # dependencies
+  lazy-loader,
+  matplotlib,
+
+  # tests
+  pytestCheckHook,
+  anywidget,
+  graphviz,
+  h5py,
+  ipympl,
+  ipywidgets,
+  mpltoolbox,
+  pandas,
+  plotly,
+  pooch,
+  pyarrow,
+  pythreejs,
+  scipp,
+  scipy,
+  xarray,
+
+  # tests data
+  symlinkJoin,
+  fetchurl,
+}:
+
+buildPythonPackage rec {
+  pname = "plopp";
+  version = "25.06.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "scipp";
+    repo = "plopp";
+    tag = version;
+    hash = "sha256-SwF0bUU/DAAJ5+0WvZgwqEw6IoaqdbKj0GkCgffGclA=";
+  };
+
+  build-system = [
+    setuptools
+    setuptools-scm
+  ];
+
+  dependencies = [
+    lazy-loader
+    matplotlib
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    anywidget
+    graphviz
+    h5py
+    ipympl
+    ipywidgets
+    mpltoolbox
+    pandas
+    plotly
+    pooch
+    pyarrow
+    pythreejs
+    scipp
+    scipy
+    xarray
+  ];
+
+  env = {
+    # See: https://github.com/scipp/plopp/blob/25.05.0/src/plopp/data/examples.py
+    PLOPP_DATA_DIR =
+      let
+        # NOTE this might be changed by upstream in the future.
+        _version = "1";
+      in
+      symlinkJoin {
+        name = "plopp-test-data";
+        paths =
+          lib.mapAttrsToList
+            (
+              file: hash:
+              fetchurl {
+                url = "https://public.esss.dk/groups/scipp/plopp/${_version}/${file}";
+                inherit hash;
+                downloadToTemp = true;
+                recursiveHash = true;
+                postFetch = ''
+                  mkdir -p $out/${_version}
+                  mv $downloadedFile $out/${_version}/${file}
+                '';
+              }
+            )
+            {
+              "nyc_taxi_data.h5" = "sha256-hso8ESM+uLRf4y2CW/7dpAmm/kysAfJY3b+5vz78w4Q=";
+              "teapot.h5" = "sha256-i6hOw72ce1cBT6FMQTdCEKVe0WOMOjApKperGHoPW34=";
+            };
+      };
+  };
+
+  pythonImportsCheck = [
+    "plopp"
+  ];
+
+  meta = {
+    description = "Visualization library for scipp";
+    homepage = "https://scipp.github.io/plopp/";
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ doronbehar ];
+  };
+}
diff --git a/pkgs/development/python-modules/plotnine/default.nix b/pkgs/development/python-modules/plotnine/default.nix
index 98e168fd2cf5..c0b78aee6ccf 100644
--- a/pkgs/development/python-modules/plotnine/default.nix
+++ b/pkgs/development/python-modules/plotnine/default.nix
@@ -17,6 +17,7 @@
   # tests
   geopandas,
   pytestCheckHook,
+  pytest-cov-stub,
   scikit-misc,
 }:
 
@@ -32,11 +33,6 @@ buildPythonPackage rec {
     hash = "sha256-3ImNLmZ8RhhqRGv/FtdjbHmdOtgQC7hjUsViEQYE8Ao=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace-fail " --cov=plotnine --cov-report=xml" ""
-  '';
-
   build-system = [ setuptools-scm ];
 
   dependencies = [
@@ -51,6 +47,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     geopandas
     pytestCheckHook
+    pytest-cov-stub
     scikit-misc
   ];
 
diff --git a/pkgs/development/python-modules/polars/default.nix b/pkgs/development/python-modules/polars/default.nix
index 5e82dbcf1641..c2dafd53a442 100644
--- a/pkgs/development/python-modules/polars/default.nix
+++ b/pkgs/development/python-modules/polars/default.nix
@@ -9,7 +9,7 @@
   pkgs, # zstd hidden by python3Packages.zstd
   pytestCheckHook,
   pytest-codspeed ? null, # Not in Nixpkgs
-  pytest-cov,
+  pytest-cov-stub,
   pytest-xdist,
   pytest-benchmark,
   rustc,
@@ -229,12 +229,13 @@ buildPythonPackage rec {
     nativeCheckInputs = [
       pytestCheckHook
       pytest-codspeed
-      pytest-cov
+      pytest-cov-stub
       pytest-xdist
       pytest-benchmark
     ];
 
     pytestFlagsArray = [
+      "--benchmark-disable"
       "-n auto"
       "--dist loadgroup"
       ''-m "slow or not slow"''
diff --git a/pkgs/development/python-modules/polyline/default.nix b/pkgs/development/python-modules/polyline/default.nix
index 34bc7a5ceba2..7e1ab2c2e40c 100644
--- a/pkgs/development/python-modules/polyline/default.nix
+++ b/pkgs/development/python-modules/polyline/default.nix
@@ -3,6 +3,7 @@
   buildPythonPackage,
   fetchFromGitHub,
   pytestCheckHook,
+  pytest-cov-stub,
   pythonOlder,
   setuptools,
   wheel,
@@ -22,17 +23,15 @@ buildPythonPackage rec {
     hash = "sha256-fbGGfZdme4OiIGNlXG1uVl1xP+rPVI9l5hjHM0gwAsE=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace " --cov=polyline --cov-report term-missing" ""
-  '';
-
   nativeBuildInputs = [
     setuptools
     wheel
   ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cov-stub
+  ];
 
   pythonImportsCheck = [ "polyline" ];
 
diff --git a/pkgs/development/python-modules/polyswarm-api/default.nix b/pkgs/development/python-modules/polyswarm-api/default.nix
index ac78677fa4c5..2d06de857abd 100644
--- a/pkgs/development/python-modules/polyswarm-api/default.nix
+++ b/pkgs/development/python-modules/polyswarm-api/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "polyswarm-api";
-  version = "3.13.0";
+  version = "3.13.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "polyswarm";
     repo = "polyswarm-api";
     tag = version;
-    hash = "sha256-Mu/Gfs6Iy24xUQ1yvRAR3TXio30FHMVpTel99YtRtyg=";
+    hash = "sha256-+oKhKn+wUnvKlNymY/vtXn0cHBMyawBNhOQRu0tYC/M=";
   };
 
   pythonRelaxDeps = [ "future" ];
@@ -49,7 +49,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Library to interface with the PolySwarm consumer APIs";
     homepage = "https://github.com/polyswarm/polyswarm-api";
-    changelog = "https://github.com/polyswarm/polyswarm-api/releases/tag/${version}";
+    changelog = "https://github.com/polyswarm/polyswarm-api/releases/tag/${src.tag}";
     license = licenses.mit;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/portalocker/default.nix b/pkgs/development/python-modules/portalocker/default.nix
index 87d15c946a34..cb01274dfea1 100644
--- a/pkgs/development/python-modules/portalocker/default.nix
+++ b/pkgs/development/python-modules/portalocker/default.nix
@@ -13,6 +13,7 @@
 
   # tests
   pygments,
+  pytest-cov-stub,
   pytestCheckHook,
 }:
 
@@ -28,10 +29,6 @@ buildPythonPackage rec {
     hash = "sha256-7CD23aKtnOifo5ml8x9PFJX1FZWPDLfKZUPO97tadJ4=";
   };
 
-  postPatch = ''
-    sed -i "/--cov/d" pytest.ini
-  '';
-
   nativeBuildInputs = [
     setuptools
     setuptools-scm
@@ -41,6 +38,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pygments
+    pytest-cov-stub
     pytestCheckHook
   ];
 
diff --git a/pkgs/development/python-modules/posthog/default.nix b/pkgs/development/python-modules/posthog/default.nix
index 944af3c4f07c..99e95ad0011d 100644
--- a/pkgs/development/python-modules/posthog/default.nix
+++ b/pkgs/development/python-modules/posthog/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "posthog";
-  version = "4.2.0";
+  version = "5.0.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "PostHog";
     repo = "posthog-python";
     tag = "v${version}";
-    hash = "sha256-RpD4+NuClYmmXCn9eBa2oxMW3TwvVZcTkgaV+mNOkYU=";
+    hash = "sha256-pNnttrp6s9T+tmDFJ9S3DZ/HcMTifYkr6Rs8E/8+G5c=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/pot/default.nix b/pkgs/development/python-modules/pot/default.nix
index eaada3958019..8767a7f56239 100644
--- a/pkgs/development/python-modules/pot/default.nix
+++ b/pkgs/development/python-modules/pot/default.nix
@@ -11,6 +11,7 @@
   numpy,
   pymanopt,
   pytestCheckHook,
+  pytest-cov-stub,
   pythonOlder,
   scikit-learn,
   scipy,
@@ -79,11 +80,13 @@ buildPythonPackage rec {
       );
   };
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cov-stub
+  ];
 
   postPatch = ''
     substituteInPlace setup.cfg \
-      --replace " --cov-report= --cov=ot" "" \
       --replace " --durations=20" "" \
       --replace " --junit-xml=junit-results.xml" ""
 
diff --git a/pkgs/development/python-modules/progressbar/default.nix b/pkgs/development/python-modules/progressbar/default.nix
index beae027d52d4..b40ab23100ea 100644
--- a/pkgs/development/python-modules/progressbar/default.nix
+++ b/pkgs/development/python-modules/progressbar/default.nix
@@ -21,6 +21,6 @@ buildPythonPackage rec {
     homepage = "https://pypi.python.org/pypi/progressbar";
     description = "Text progressbar library for python";
     license = licenses.lgpl3Plus;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/prompt-toolkit/default.nix b/pkgs/development/python-modules/prompt-toolkit/default.nix
index d468634e5be5..415d869aa48a 100644
--- a/pkgs/development/python-modules/prompt-toolkit/default.nix
+++ b/pkgs/development/python-modules/prompt-toolkit/default.nix
@@ -18,6 +18,12 @@ buildPythonPackage rec {
     hash = "sha256-kxoWLjsn/JDIbxtIux+yxSjCdhR15XycBt4TMRx7VO0=";
   };
 
+  postPatch = ''
+    # https://github.com/prompt-toolkit/python-prompt-toolkit/issues/1988
+    substituteInPlace src/prompt_toolkit/__init__.py \
+      --replace-fail 'metadata.version("prompt_toolkit")' '"${version}"'
+  '';
+
   build-system = [ setuptools ];
 
   dependencies = [ wcwidth ];
diff --git a/pkgs/development/python-modules/property-manager/default.nix b/pkgs/development/python-modules/property-manager/default.nix
index 71fa0e1aeddb..02c0b6accd46 100644
--- a/pkgs/development/python-modules/property-manager/default.nix
+++ b/pkgs/development/python-modules/property-manager/default.nix
@@ -5,7 +5,7 @@
   humanfriendly,
   verboselogs,
   coloredlogs,
-  pytest,
+  pytestCheckHook,
   pytest-cov-stub,
 }:
 
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     verboselogs
   ];
   nativeCheckInputs = [
-    pytest
+    pytestCheckHook
     pytest-cov-stub
   ];
 
diff --git a/pkgs/development/python-modules/protobuf/6.nix b/pkgs/development/python-modules/protobuf/6.nix
index 6351f88b3152..8ec9f8482b47 100644
--- a/pkgs/development/python-modules/protobuf/6.nix
+++ b/pkgs/development/python-modules/protobuf/6.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "protobuf";
-  version = "6.31.0";
+  version = "6.31.1";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-MU+rGmoxZGncLdRvmTy76VyGHqaAfakQvs/nR1vCb/4=";
+    hash = "sha256-2MrEyYLwuVek3HOoDi6iT6sI5nnA3p3rg19KEtaaypo=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/publicsuffixlist/default.nix b/pkgs/development/python-modules/publicsuffixlist/default.nix
index cec383469045..4a7746f2f4e2 100644
--- a/pkgs/development/python-modules/publicsuffixlist/default.nix
+++ b/pkgs/development/python-modules/publicsuffixlist/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "publicsuffixlist";
-  version = "1.0.2.20250606";
+  version = "1.0.2.20250617";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-N4Lp8bRrD18DvSyg0Ye9wV/T1w2prNjHEdVDSq0wJoM=";
+    hash = "sha256-UELX/GP1cvkmMpNu+zzmQywaKkZPJP1D8lr3QmGHkOY=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/pubnub/default.nix b/pkgs/development/python-modules/pubnub/default.nix
index d5fba5cab28a..bdf193994ff6 100644
--- a/pkgs/development/python-modules/pubnub/default.nix
+++ b/pkgs/development/python-modules/pubnub/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "pubnub";
-  version = "10.4.0";
+  version = "10.4.1";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "pubnub";
     repo = "python";
     tag = version;
-    hash = "sha256-yAQK56X6DKuaijAvUgQtAmpR4V5FioZogAqzZ/yhbHE=";
+    hash = "sha256-NI7rEudQ5sSj6cpPpFxEcqaeiQL6dJKK7C53BTJeMAg=";
   };
 
   pythonRelaxDeps = [ "httpx" ];
@@ -55,6 +55,8 @@ buildPythonPackage rec {
     "tests/integrational"
     "tests/manual"
     "tests/functional/push"
+    # Examples
+    "tests/examples"
   ];
 
   disabledTests = [
diff --git a/pkgs/development/python-modules/pvlib/default.nix b/pkgs/development/python-modules/pvlib/default.nix
index a55fee4c9c27..59ecbce7aba5 100644
--- a/pkgs/development/python-modules/pvlib/default.nix
+++ b/pkgs/development/python-modules/pvlib/default.nix
@@ -21,14 +21,14 @@
 
 buildPythonPackage rec {
   pname = "pvlib";
-  version = "0.12.0";
+  version = "0.13.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-IivLe4jyKJROf36TFwgrcYIjK40KXRsUmc/1ACfR6WQ=";
+    hash = "sha256-zvNs3ZMqanvy3XyZKwAEsaCNMV7oBDsnPRkq1XkC6Fo=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/py-libnuma/default.nix b/pkgs/development/python-modules/py-libnuma/default.nix
new file mode 100644
index 000000000000..21e2d05547e0
--- /dev/null
+++ b/pkgs/development/python-modules/py-libnuma/default.nix
@@ -0,0 +1,47 @@
+{
+  lib,
+  stdenv,
+  buildPythonPackage,
+  fetchFromGitHub,
+  pythonOlder,
+  setuptools,
+  numactl,
+}:
+
+buildPythonPackage rec {
+  pname = "py-libnuma";
+  version = "1.2";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "eedalong";
+    repo = "pynuma";
+    rev = "66cab0e008b850a04cfec5c4fb3f50bf28e3d488";
+    hash = "sha256-ALYCcdN5eXrVWsTRwkHCwo4xsLMs/du3mUl1xSlo5iU=";
+  };
+
+  postPatch = ''
+    substituteInPlace numa/__init__.py \
+      --replace-fail \
+        'LIBNUMA = CDLL(find_library("numa"))' \
+        'LIBNUMA = CDLL("${numactl}/lib/libnuma${stdenv.hostPlatform.extensions.sharedLibrary}")'
+  '';
+
+  build-system = [ setuptools ];
+
+  dependencies = [
+    numactl
+  ];
+
+  # Tests write NUMA configuration, which may be persistent until reboot.
+  doCheck = false;
+
+  pythonImportsCheck = [ "numa" ];
+
+  meta = {
+    description = "Python3 Interface to numa Linux library";
+    homepage = "https://github.com/eedalong/pynuma";
+    platforms = lib.platforms.linux;
+    license = lib.licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/py-nextbusnext/default.nix b/pkgs/development/python-modules/py-nextbusnext/default.nix
index f5a792367aa3..145062b09ff4 100644
--- a/pkgs/development/python-modules/py-nextbusnext/default.nix
+++ b/pkgs/development/python-modules/py-nextbusnext/default.nix
@@ -2,23 +2,21 @@
   lib,
   buildPythonPackage,
   fetchFromGitHub,
-  pythonOlder,
+  pytestCheckHook,
   requests,
   setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "py-nextbusnext";
-  version = "2.2.0";
+  version = "2.3.0";
   pyproject = true;
 
-  disabled = pythonOlder "3.9";
-
   src = fetchFromGitHub {
     owner = "ViViDboarder";
     repo = "py_nextbus";
     tag = "v${version}";
-    hash = "sha256-UA5/OjmgWU9vd9NGjH2qUUELsOpFayEVaO7hB91yQ74=";
+    hash = "sha256-zTOP2wj1ZseXYbWGNgehIkgZQkV4u74yjI0mhn35e4E=";
   };
 
   build-system = [ setuptools ];
@@ -27,10 +25,17 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "py_nextbus" ];
 
-  # upstream has no tests
-  doCheck = false;
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTestPaths = [
+    # tests access the internet
+    "acceptance/client_test.py"
+  ];
 
   meta = with lib; {
+    changelog = "https://github.com/ViViDboarder/py_nextbusnext/releases/tag/${src.tag}";
     description = "Minimalistic Python client for the NextBus public API";
     homepage = "https://github.com/ViViDboarder/py_nextbus";
     license = licenses.mit;
diff --git a/pkgs/development/python-modules/py-synologydsm-api/default.nix b/pkgs/development/python-modules/py-synologydsm-api/default.nix
index e6a202f12159..50785a4d2f2b 100644
--- a/pkgs/development/python-modules/py-synologydsm-api/default.nix
+++ b/pkgs/development/python-modules/py-synologydsm-api/default.nix
@@ -9,11 +9,12 @@
   pytestCheckHook,
   pythonOlder,
   setuptools,
+  syrupy,
 }:
 
 buildPythonPackage rec {
   pname = "py-synologydsm-api";
-  version = "2.7.2";
+  version = "2.7.3";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -22,7 +23,7 @@ buildPythonPackage rec {
     owner = "mib1185";
     repo = "py-synologydsm-api";
     tag = "v${version}";
-    hash = "sha256-I9Ew3rBmgG+FuT66e8VgMa0WzAwr+ng5R8uYMzSyYyg=";
+    hash = "sha256-LaeqAY+8WfoMwrZhwZUEcuafGvv+7reuxEh8zQ7j5S4=";
   };
 
   build-system = [ setuptools ];
@@ -36,6 +37,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pytest-asyncio
     pytestCheckHook
+    syrupy
   ];
 
   pythonImportsCheck = [ "synology_dsm" ];
diff --git a/pkgs/development/python-modules/py7zr/default.nix b/pkgs/development/python-modules/py7zr/default.nix
index e852a8317212..e8fbd5dbafb3 100644
--- a/pkgs/development/python-modules/py7zr/default.nix
+++ b/pkgs/development/python-modules/py7zr/default.nix
@@ -65,6 +65,8 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  pytestFlagsArray = [ "--benchmark-disable" ];
+
   pythonImportsCheck = [
     "py7zr"
   ];
diff --git a/pkgs/development/python-modules/pyatmo/default.nix b/pkgs/development/python-modules/pyatmo/default.nix
index 91a8e322dec9..ac91832f43f2 100644
--- a/pkgs/development/python-modules/pyatmo/default.nix
+++ b/pkgs/development/python-modules/pyatmo/default.nix
@@ -1,6 +1,7 @@
 {
   lib,
   aiohttp,
+  anyio,
   buildPythonPackage,
   fetchFromGitHub,
   oauthlib,
@@ -17,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "pyatmo";
-  version = "9.0.0";
+  version = "9.2.1";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -26,7 +27,7 @@ buildPythonPackage rec {
     owner = "jabesq";
     repo = "pyatmo";
     tag = "v${version}";
-    hash = "sha256-DGtfXM0Bfo5iyJ66/Bm5rQB2/ZYA+ZhlkUci1viynWY=";
+    hash = "sha256-vSyZsWhqyQqKFukD6GbtkAJd3QBmRwdmRIYD19DXQW0=";
   };
 
   pythonRelaxDeps = [
@@ -45,6 +46,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
+    anyio
     pytest-asyncio
     pytest-mock
     pytestCheckHook
diff --git a/pkgs/development/python-modules/pybotvac/default.nix b/pkgs/development/python-modules/pybotvac/default.nix
index e79bcdc48403..6825c45cf683 100644
--- a/pkgs/development/python-modules/pybotvac/default.nix
+++ b/pkgs/development/python-modules/pybotvac/default.nix
@@ -11,22 +11,16 @@
 
 buildPythonPackage rec {
   pname = "pybotvac";
-  version = "0.0.27";
+  version = "0.0.28";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-viMklBbC8KAh6cCuWs5nSbBF0BwVkPXV3Z2ydj08d9c=";
+    hash = "sha256-XIGG8HmjI3dSq42co2e05xHIYjIM39qVanMJLDqWFCg=";
   };
 
-  postPatch = ''
-    substituteInPlace pybotvac/robot.py \
-      --replace-fail "import urllib3" "" \
-      --replace-fail "urllib3.disable_warnings(urllib3.exceptions.SubjectAltNameWarning)" "# urllib3.disable_warnings(urllib3.exceptions.SubjectAltNameWarning)"
-  '';
-
   build-system = [ setuptools ];
 
   dependencies = [
diff --git a/pkgs/development/python-modules/pycfmodel/default.nix b/pkgs/development/python-modules/pycfmodel/default.nix
index 7e7cbdf82994..7aa357186294 100644
--- a/pkgs/development/python-modules/pycfmodel/default.nix
+++ b/pkgs/development/python-modules/pycfmodel/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pycfmodel";
-  version = "1.1.0";
+  version = "1.1.3";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "Skyscanner";
     repo = "pycfmodel";
     tag = "v${version}";
-    hash = "sha256-mFO3T5FmVLAXPmLJsueCDdCLoFfBwQwryxfEtkLz1rM=";
+    hash = "sha256-ITgha0gZxGPCE+7HVQyDNiPI5uAYZo9Rz8fZVgCYgeM=";
   };
 
   pythonRelaxDeps = [ "pydantic" ];
@@ -51,7 +51,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Model for Cloud Formation scripts";
     homepage = "https://github.com/Skyscanner/pycfmodel";
-    changelog = "https://github.com/Skyscanner/pycfmodel/releases/tag/v${version}";
+    changelog = "https://github.com/Skyscanner/pycfmodel/releases/tag/${src.tag}";
     license = licenses.asl20;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/pycparser/default.nix b/pkgs/development/python-modules/pycparser/default.nix
index 4372afb0efe1..2cd7f4e5445f 100644
--- a/pkgs/development/python-modules/pycparser/default.nix
+++ b/pkgs/development/python-modules/pycparser/default.nix
@@ -31,6 +31,6 @@ buildPythonPackage rec {
     description = "C parser in Python";
     homepage = "https://github.com/eliben/pycparser";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pycrdt/Cargo.lock b/pkgs/development/python-modules/pycrdt/Cargo.lock
index 9c2e78591a90..2de3dc148e71 100644
--- a/pkgs/development/python-modules/pycrdt/Cargo.lock
+++ b/pkgs/development/python-modules/pycrdt/Cargo.lock
@@ -44,15 +44,15 @@ checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967"
 
 [[package]]
 name = "bumpalo"
-version = "3.17.0"
+version = "3.18.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf"
+checksum = "793db76d6187cd04dff33004d8e6c9cc4e05cd330500379d2394209271b4aeee"
 
 [[package]]
 name = "cfg-if"
-version = "1.0.0"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268"
 
 [[package]]
 name = "concurrent-queue"
@@ -162,15 +162,15 @@ dependencies = [
 
 [[package]]
 name = "libc"
-version = "0.2.172"
+version = "0.2.173"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa"
+checksum = "d8cfeafaffdbc32176b64fb251369d52ea9f0a8fbc6f8759edffef7b525d64bb"
 
 [[package]]
 name = "lock_api"
-version = "0.4.12"
+version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17"
+checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765"
 dependencies = [
  "autocfg",
  "scopeguard",
@@ -184,9 +184,9 @@ checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
 
 [[package]]
 name = "memchr"
-version = "2.7.4"
+version = "2.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
+checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
 
 [[package]]
 name = "memoffset"
@@ -211,9 +211,9 @@ checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba"
 
 [[package]]
 name = "parking_lot_core"
-version = "0.9.10"
+version = "0.9.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8"
+checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5"
 dependencies = [
  "cfg-if",
  "libc",
@@ -230,9 +230,9 @@ checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b"
 
 [[package]]
 name = "portable-atomic"
-version = "1.11.0"
+version = "1.11.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e"
+checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483"
 
 [[package]]
 name = "proc-macro2"
@@ -245,7 +245,7 @@ dependencies = [
 
 [[package]]
 name = "pycrdt"
-version = "0.12.20"
+version = "0.12.21"
 dependencies = [
  "pyo3",
  "yrs",
@@ -253,9 +253,9 @@ dependencies = [
 
 [[package]]
 name = "pyo3"
-version = "0.25.0"
+version = "0.25.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f239d656363bcee73afef85277f1b281e8ac6212a1d42aa90e55b90ed43c47a4"
+checksum = "8970a78afe0628a3e3430376fc5fd76b6b45c4d43360ffd6cdd40bdde72b682a"
 dependencies = [
  "indoc",
  "libc",
@@ -270,9 +270,9 @@ dependencies = [
 
 [[package]]
 name = "pyo3-build-config"
-version = "0.25.0"
+version = "0.25.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "755ea671a1c34044fa165247aaf6f419ca39caa6003aee791a0df2713d8f1b6d"
+checksum = "458eb0c55e7ece017adeba38f2248ff3ac615e53660d7c71a238d7d2a01c7598"
 dependencies = [
  "once_cell",
  "target-lexicon",
@@ -280,9 +280,9 @@ dependencies = [
 
 [[package]]
 name = "pyo3-ffi"
-version = "0.25.0"
+version = "0.25.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc95a2e67091e44791d4ea300ff744be5293f394f1bafd9f78c080814d35956e"
+checksum = "7114fe5457c61b276ab77c5055f206295b812608083644a5c5b2640c3102565c"
 dependencies = [
  "libc",
  "pyo3-build-config",
@@ -290,9 +290,9 @@ dependencies = [
 
 [[package]]
 name = "pyo3-macros"
-version = "0.25.0"
+version = "0.25.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a179641d1b93920829a62f15e87c0ed791b6c8db2271ba0fd7c2686090510214"
+checksum = "a8725c0a622b374d6cb051d11a0983786448f7785336139c3c94f5aa6bef7e50"
 dependencies = [
  "proc-macro2",
  "pyo3-macros-backend",
@@ -302,9 +302,9 @@ dependencies = [
 
 [[package]]
 name = "pyo3-macros-backend"
-version = "0.25.0"
+version = "0.25.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9dff85ebcaab8c441b0e3f7ae40a6963ecea8a9f5e74f647e33fcf5ec9a1e89e"
+checksum = "4109984c22491085343c05b0dbc54ddc405c3cf7b4374fc533f5c3313a572ccc"
 dependencies = [
  "heck",
  "proc-macro2",
@@ -324,9 +324,9 @@ dependencies = [
 
 [[package]]
 name = "redox_syscall"
-version = "0.5.12"
+version = "0.5.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af"
+checksum = "0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6"
 dependencies = [
  "bitflags",
 ]
@@ -386,15 +386,15 @@ dependencies = [
 
 [[package]]
 name = "smallvec"
-version = "1.15.0"
+version = "1.15.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9"
+checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
 
 [[package]]
 name = "syn"
-version = "2.0.101"
+version = "2.0.103"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf"
+checksum = "e4307e30089d6fd6aff212f2da3a1f9e32f3223b1f010fb09b7c95f90f3ca1e8"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -441,9 +441,9 @@ checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3"
 
 [[package]]
 name = "wasi"
-version = "0.11.0+wasi-snapshot-preview1"
+version = "0.11.1+wasi-snapshot-preview1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
 
 [[package]]
 name = "wasm-bindgen"
diff --git a/pkgs/development/python-modules/pycrdt/default.nix b/pkgs/development/python-modules/pycrdt/default.nix
index 8076d8155c91..0b0870d2bd2f 100644
--- a/pkgs/development/python-modules/pycrdt/default.nix
+++ b/pkgs/development/python-modules/pycrdt/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "pycrdt";
-  version = "0.12.20";
+  version = "0.12.21";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "y-crdt";
     repo = "pycrdt";
     tag = version;
-    hash = "sha256-kSwmQf46c5UJD75cfJxR3EfxFXExHhLXB+xdExr4lCk=";
+    hash = "sha256-QfgBq/jL/dFOr1YAC4y0s0tpdIC4bwxknPd1wJ/Z1lo=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pydal/default.nix b/pkgs/development/python-modules/pydal/default.nix
index fdaa2c87eb12..ff537e9733f3 100644
--- a/pkgs/development/python-modules/pydal/default.nix
+++ b/pkgs/development/python-modules/pydal/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pydal";
-  version = "20250526.4";
+  version = "20250607.2";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-OprwHcF7vHpqdNUd9vAcHJAmiI8mTJgR6GRLwZvn928=";
+    hash = "sha256-Zr1d6kCwAyhjeV2tQ+n9y9x80yD/Atb6TJq7AnRz+PQ=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/pydash/default.nix b/pkgs/development/python-modules/pydash/default.nix
index 356ce206b1de..27f1675ccdf3 100644
--- a/pkgs/development/python-modules/pydash/default.nix
+++ b/pkgs/development/python-modules/pydash/default.nix
@@ -5,6 +5,7 @@
   invoke,
   mock,
   pytest7CheckHook,
+  pytest-cov-stub,
   pythonOlder,
   setuptools,
   sphinx-rtd-theme,
@@ -25,11 +26,6 @@ buildPythonPackage rec {
     hash = "sha256-4zNljz0U/iQd2DMC43qkdOY/mwtPlizgLmoaB7BVmxw=";
   };
 
-  postPatch = ''
-    sed -i "/--cov/d" pyproject.toml
-    sed -i "/--no-cov/d" pyproject.toml
-  '';
-
   build-system = [ setuptools ];
 
   dependencies = [ typing-extensions ];
@@ -38,6 +34,7 @@ buildPythonPackage rec {
     invoke
     mock
     pytest7CheckHook
+    pytest-cov-stub
     sphinx-rtd-theme
   ];
 
diff --git a/pkgs/development/python-modules/pydrawise/default.nix b/pkgs/development/python-modules/pydrawise/default.nix
index 9863492cc0fb..c781c6153f5a 100644
--- a/pkgs/development/python-modules/pydrawise/default.nix
+++ b/pkgs/development/python-modules/pydrawise/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "pydrawise";
-  version = "2025.3.0";
+  version = "2025.6.0";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "dknowles2";
     repo = "pydrawise";
     tag = version;
-    hash = "sha256-sstHydNXoz7fwNrN/9gIRg+9H6vF8WR6sGL04RatTkw=";
+    hash = "sha256-9WwVhA5dJTApjbSVLDGzfyzFXWFx/YJaUSRmaLkh2L0=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/pyecoforest/default.nix b/pkgs/development/python-modules/pyecoforest/default.nix
index b0634ee82a1c..46625f351a13 100644
--- a/pkgs/development/python-modules/pyecoforest/default.nix
+++ b/pkgs/development/python-modules/pyecoforest/default.nix
@@ -5,6 +5,7 @@
   httpx,
   poetry-core,
   pytest-asyncio,
+  pytest-cov-stub,
   pytestCheckHook,
   pythonOlder,
   respx,
@@ -24,17 +25,13 @@ buildPythonPackage rec {
     hash = "sha256-C8sFq0vsVsq6irWbRd0eq18tfKu0qRRBZHt23CiDTGU=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace-fail "--cov=pyecoforest --cov-report=term-missing:skip-covered" ""
-  '';
-
   build-system = [ poetry-core ];
 
   dependencies = [ httpx ];
 
   nativeCheckInputs = [
     pytest-asyncio
+    pytest-cov-stub
     pytestCheckHook
     respx
   ];
diff --git a/pkgs/development/python-modules/pyecotrend-ista/default.nix b/pkgs/development/python-modules/pyecotrend-ista/default.nix
index a52dfbc75863..ee6d123f446a 100644
--- a/pkgs/development/python-modules/pyecotrend-ista/default.nix
+++ b/pkgs/development/python-modules/pyecotrend-ista/default.nix
@@ -4,6 +4,7 @@
   fetchFromGitHub,
   pythonOlder,
   setuptools,
+  setuptools-scm,
   dataclasses-json,
   requests,
   pytestCheckHook,
@@ -14,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "pyecotrend-ista";
-  version = "3.3.2";
+  version = "3.3.3";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -23,14 +24,17 @@ buildPythonPackage rec {
     owner = "Ludy87";
     repo = "pyecotrend-ista";
     tag = version;
-    hash = "sha256-TZDHEaDc7UACIAHNX1fStJH74qLKf+krWbTDtemXahA=";
+    hash = "sha256-x9teLjIJPLYi/mE6vy4KBUl7NI4aAwWPYSEwYZQ+4I4=";
   };
 
   postPatch = ''
     sed -i "/addopts =/d" pyproject.toml
   '';
 
-  build-system = [ setuptools ];
+  build-system = [
+    setuptools
+    setuptools-scm
+  ];
 
   dependencies = [
     dataclasses-json
diff --git a/pkgs/development/python-modules/pyexploitdb/default.nix b/pkgs/development/python-modules/pyexploitdb/default.nix
index af792d4bb146..d631cf59d4cf 100644
--- a/pkgs/development/python-modules/pyexploitdb/default.nix
+++ b/pkgs/development/python-modules/pyexploitdb/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pyexploitdb";
-  version = "0.2.83";
+  version = "0.2.85";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "pyExploitDb";
     inherit version;
-    hash = "sha256-G28FUHSLs4ALlOiybS2rDc0ZzGYYaeaSrYujVyiar60=";
+    hash = "sha256-QVtF8r7AA/HYYA0Ex+YnUGskqjWNUzLxKJp9uZKKGng=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/pyezviz/default.nix b/pkgs/development/python-modules/pyezviz/default.nix
deleted file mode 100644
index 3e8bf9bb3274..000000000000
--- a/pkgs/development/python-modules/pyezviz/default.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{
-  lib,
-  buildPythonPackage,
-  fetchFromGitHub,
-  paho-mqtt,
-  pandas,
-  pycryptodome,
-  pythonOlder,
-  requests,
-  setuptools,
-  xmltodict,
-}:
-
-buildPythonPackage rec {
-  pname = "pyezviz";
-  version = "0.2.2.4a";
-  pyproject = true;
-
-  disabled = pythonOlder "3.7";
-
-  src = fetchFromGitHub {
-    owner = "baqs";
-    repo = "pyEzviz";
-    tag = version;
-    hash = "sha256-OgDplQ6TrK2CZbNgJpoYC8TkK1sG73HdpUyHE+2ZTLk=";
-  };
-
-  build-system = [ setuptools ];
-
-  dependencies = [
-    paho-mqtt
-    pandas
-    pycryptodome
-    requests
-    xmltodict
-  ];
-
-  # Project has no tests. test_cam_rtsp.py is more a sample for using the module
-  doCheck = false;
-
-  pythonImportsCheck = [ "pyezviz" ];
-
-  # renamed to pyezvizapi
-  passthru.skipBulkUpdate = true;
-
-  meta = with lib; {
-    description = "Python interface for for Ezviz cameras";
-    homepage = "https://github.com/baqs/pyEzviz/";
-    changelog = "https://github.com/BaQs/pyEzviz/releases/tag/${version}";
-    license = with licenses; [ asl20 ];
-    maintainers = with maintainers; [ fab ];
-    mainProgram = "pyezviz";
-  };
-}
diff --git a/pkgs/development/python-modules/pygame-ce/default.nix b/pkgs/development/python-modules/pygame-ce/default.nix
index c677b9a4654a..9b7a912499e3 100644
--- a/pkgs/development/python-modules/pygame-ce/default.nix
+++ b/pkgs/development/python-modules/pygame-ce/default.nix
@@ -12,6 +12,7 @@
   ninja,
   meson-python,
   pyproject-metadata,
+  nix-update-script,
 
   fontconfig,
   freetype,
@@ -30,7 +31,7 @@
 
 buildPythonPackage rec {
   pname = "pygame-ce";
-  version = "2.5.4";
+  version = "2.5.5";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -39,7 +40,7 @@ buildPythonPackage rec {
     owner = "pygame-community";
     repo = "pygame-ce";
     tag = version;
-    hash = "sha256-joMc3QaQNbZ65pBJ7r5D6lWAGW9eM+e0k/ozOHfQL4U=";
+    hash = "sha256-OWC063N7G8t2ai/Qyz8DwP76BrFve5ZCbLD/mQwVbi4=";
     # Unicode files cause different checksums on HFS+ vs. other filesystems
     postFetch = "rm -rf $out/docs/reST";
   };
@@ -158,6 +159,8 @@ buildPythonPackage rec {
     "pygame.version"
   ];
 
+  passthru.updateScript = nix-update-script { };
+
   passthru.tests = {
     inherit pygame-gui;
   };
diff --git a/pkgs/development/python-modules/pygerber/default.nix b/pkgs/development/python-modules/pygerber/default.nix
index 79017768fd90..cd5c62f8dc9f 100644
--- a/pkgs/development/python-modules/pygerber/default.nix
+++ b/pkgs/development/python-modules/pygerber/default.nix
@@ -26,7 +26,6 @@
   dulwich,
   tzlocal,
   pytest-xdist,
-  pytest-cov,
   pytest-lsp,
   pytest-asyncio,
   pytest-mock,
@@ -77,7 +76,6 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytest-asyncio
-    pytest-cov
     pytest-xdist
     pytest-lsp
     pytest-mock
@@ -94,6 +92,8 @@ buildPythonPackage rec {
     "test/gerberx3/test_language_server/tests.py"
   ];
 
+  pytestFlagsArray = [ "--override-ini required_plugins=''" ];
+
   pythonImportsCheck = [ "pygerber" ];
 
   meta = {
diff --git a/pkgs/development/python-modules/pyglet/default.nix b/pkgs/development/python-modules/pyglet/default.nix
index 57456fc256cd..5491f4941941 100644
--- a/pkgs/development/python-modules/pyglet/default.nix
+++ b/pkgs/development/python-modules/pyglet/default.nix
@@ -17,6 +17,7 @@
   ffmpeg-full,
   openal,
   libpulseaudio,
+  harfbuzz,
   mesa,
 }:
 
@@ -78,6 +79,8 @@ buildPythonPackage rec {
                   path = '${xorg.libXinerama}/lib/libXinerama${ext}'
               elif name == 'Xxf86vm':
                   path = '${xorg.libXxf86vm}/lib/libXxf86vm${ext}'
+              elif name == 'harfbuzz':
+                  path = '${harfbuzz}/lib/libharfbuzz${ext}'
               if path is not None:
                   return ctypes.cdll.LoadLibrary(path)
           raise Exception("Could not load library {}".format(names))
diff --git a/pkgs/development/python-modules/pygreat/default.nix b/pkgs/development/python-modules/pygreat/default.nix
index 937ce4b14eaf..f587a5683f00 100644
--- a/pkgs/development/python-modules/pygreat/default.nix
+++ b/pkgs/development/python-modules/pygreat/default.nix
@@ -3,22 +3,20 @@
   buildPythonPackage,
   fetchFromGitHub,
   setuptools,
-  pythonOlder,
   future,
   pyusb,
 }:
 
 buildPythonPackage rec {
   pname = "pygreat";
-  version = "2024.0.3";
+  version = "2024.0.5";
   pyproject = true;
-  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "greatscottgadgets";
     repo = "libgreat";
     tag = "v${version}";
-    hash = "sha256-dJqL85mx1zGYUpMxDa83hNRr7eUn5NNfWXullGFQK70=";
+    hash = "sha256-2PFeCG7m8qiK3eBX2838P6ZsLoQxcJBG+/TppUMT6dE=";
   };
 
   sourceRoot = "${src.name}/host";
@@ -50,7 +48,7 @@ buildPythonPackage rec {
   ];
 
   meta = {
-    changelog = "https://github.com/greatscottgadgets/libgreat/releases/tag/v${version}";
+    changelog = "https://github.com/greatscottgadgets/libgreat/releases/tag/${src.tag}";
     description = "Python library for talking with libGreat devices";
     homepage = "https://github.com/greatscottgadgets/libgreat/";
     license = with lib.licenses; [ bsd3 ];
diff --git a/pkgs/development/python-modules/pyhomee/default.nix b/pkgs/development/python-modules/pyhomee/default.nix
index 7f12c5c9ee4b..ae9e1acd2038 100644
--- a/pkgs/development/python-modules/pyhomee/default.nix
+++ b/pkgs/development/python-modules/pyhomee/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pyhomee";
-  version = "1.2.8";
+  version = "1.2.9";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "Taraman17";
     repo = "pyHomee";
     tag = "v${version}";
-    hash = "sha256-GBDnfMkQB8BSiYDyoz2l2XHPuMpf6WsjalNYvSREqK8=";
+    hash = "sha256-1o0g6MCgRtEkZ1ZFwSb+AnmKbzqczOThfoYYhrs5y6M=";
   };
 
   build-system = [ setuptools ];
@@ -32,7 +32,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = {
-    changelog = "https://github.com/Taraman17/pyHomee/blob/${src.tag}/CHANGELOG.md";
+    changelog = "https://github.com/Taraman17/pyHomee/releases/tag/${src.tag}";
     description = "Python library to interact with homee";
     homepage = "https://github.com/Taraman17/pyHomee";
     license = lib.licenses.mit;
diff --git a/pkgs/development/python-modules/pyimgbox/default.nix b/pkgs/development/python-modules/pyimgbox/default.nix
new file mode 100644
index 000000000000..284fcc559774
--- /dev/null
+++ b/pkgs/development/python-modules/pyimgbox/default.nix
@@ -0,0 +1,51 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitea,
+  beautifulsoup4,
+  httpx,
+  pytest-asyncio,
+  pytest-httpserver,
+  pytest-mock,
+  pytestCheckHook,
+  setuptools,
+}:
+
+buildPythonPackage rec {
+  pname = "pyimgbox";
+  version = "1.0.7";
+  pyproject = true;
+
+  src = fetchFromGitea {
+    domain = "codeberg.org";
+    owner = "plotski";
+    repo = "pyimgbox";
+    tag = "v${version}";
+    hash = "sha256-HYKi5nYXJ+5ytQEFVMMm1HxEsD1zMU7cE2mOdwuZxvk=";
+  };
+
+  build-system = [
+    setuptools
+  ];
+
+  dependencies = [
+    httpx
+    beautifulsoup4
+  ];
+
+  nativeCheckInputs = [
+    pytest-asyncio
+    pytest-httpserver
+    pytest-mock
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "pyimgbox" ];
+
+  meta = {
+    description = "API for uploading images to imgbox.com";
+    homepage = "https://codeberg.org/plotski/pyimgbox";
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ ambroisie ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyinstaller-hooks-contrib/default.nix b/pkgs/development/python-modules/pyinstaller-hooks-contrib/default.nix
index 5d7d9544086b..4747662e6dcf 100644
--- a/pkgs/development/python-modules/pyinstaller-hooks-contrib/default.nix
+++ b/pkgs/development/python-modules/pyinstaller-hooks-contrib/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "pyinstaller-hooks-contrib";
-  version = "2025.4";
+  version = "2025.5";
 
   pyproject = true;
 
   src = fetchPypi {
     pname = "pyinstaller_hooks_contrib";
     inherit version;
-    hash = "sha256-XOGv0Zl7A+cPVGIHAxz98nggMKq6zBAhkGdwWeKFZEY=";
+    hash = "sha256-cHOGdwuP4GbASq0YpxvEg8eyXhi0dQp1aZn32iqzGYI=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/pyipp/default.nix b/pkgs/development/python-modules/pyipp/default.nix
index 27b52cbaaca2..63645b80a40e 100644
--- a/pkgs/development/python-modules/pyipp/default.nix
+++ b/pkgs/development/python-modules/pyipp/default.nix
@@ -10,6 +10,7 @@
   fetchFromGitHub,
   poetry-core,
   pytest-asyncio,
+  pytest-cov-stub,
   pytestCheckHook,
   pythonOlder,
   syrupy,
@@ -32,8 +33,7 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace-fail 'version = "0.0.0"' 'version = "${version}"' \
-      --replace-fail "--cov" ""
+      --replace-fail 'version = "0.0.0"' 'version = "${version}"'
   '';
 
   build-system = [ poetry-core ];
@@ -49,6 +49,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     aresponses
     pytest-asyncio
+    pytest-cov-stub
     pytestCheckHook
     syrupy
   ];
diff --git a/pkgs/development/python-modules/pylacus/default.nix b/pkgs/development/python-modules/pylacus/default.nix
index 0ebe2ff8e006..6c08f4e730f6 100644
--- a/pkgs/development/python-modules/pylacus/default.nix
+++ b/pkgs/development/python-modules/pylacus/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "pylacus";
-  version = "1.15.0";
+  version = "1.15.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "ail-project";
     repo = "PyLacus";
     tag = "v${version}";
-    hash = "sha256-dhmTqYhEdQcl8DCxOY1BeZ7JfgTCTq2j22T/70HQ+eA=";
+    hash = "sha256-POxLeMjGMG/QKSS7HWpCtP/GlqcTnUizJRzU+IUdnV0=";
   };
 
   build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/pylamarzocco/default.nix b/pkgs/development/python-modules/pylamarzocco/default.nix
index 26f5ed6cdcaa..ae78c72e1235 100644
--- a/pkgs/development/python-modules/pylamarzocco/default.nix
+++ b/pkgs/development/python-modules/pylamarzocco/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "pylamarzocco";
-  version = "2.0.8";
+  version = "2.0.9";
   pyproject = true;
 
   disabled = pythonOlder "3.12";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "zweckj";
     repo = "pylamarzocco";
     tag = "v${version}";
-    hash = "sha256-Fsxs3ugjzU9l3SlxqKs+Bej34kRn2mKrwzCZ94P2UGo=";
+    hash = "sha256-MmbZBlokYK/K16G9W4/6rB0iCPUB4oYyh+/2hvUmO+w=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/pylance/default.nix b/pkgs/development/python-modules/pylance/default.nix
index 3ddeb5624036..1f9faf26245c 100644
--- a/pkgs/development/python-modules/pylance/default.nix
+++ b/pkgs/development/python-modules/pylance/default.nix
@@ -32,14 +32,14 @@
 
 buildPythonPackage rec {
   pname = "pylance";
-  version = "0.27.2";
+  version = "0.29.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "lancedb";
     repo = "lance";
     tag = "v${version}";
-    hash = "sha256-fk32CnWH9wVKfTgT2Es6+tnvB+rPzkA8in0J726JHx0=";
+    hash = "sha256-lEGxutBKbRFqr9Uhdv2oOXCdb8Y2quqLoSoJ0F+F3h0=";
   };
 
   sourceRoot = "${src.name}/python";
@@ -51,7 +51,7 @@ buildPythonPackage rec {
       src
       sourceRoot
       ;
-    hash = "sha256-N7ODbv+q9xX8lb4vvUzMGTul/whNw+dVrBp/YcEaREI=";
+    hash = "sha256-NZeFgEWkiDewWI5R+lpBsMTU7+7L7oaHefSGAS+CoFU=";
   };
 
   nativeBuildInputs = [
@@ -103,6 +103,7 @@ buildPythonPackage rec {
       # Writes to read-only build directory
       "test_add_data_storage_version"
       "test_fix_data_storage_version"
+      "test_fts_backward_v0_27_0"
 
       # AttributeError: 'SessionContext' object has no attribute 'register_table_provider'
       "test_table_loading"
@@ -110,6 +111,9 @@ buildPythonPackage rec {
       # subprocess.CalledProcessError: Command ... returned non-zero exit status 1.
       # ModuleNotFoundError: No module named 'lance'
       "test_tracing"
+
+      # Flaky (AssertionError)
+      "test_index_cache_size"
     ]
     ++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [
       # OSError: LanceError(IO): Resources exhausted: Failed to allocate additional 1245184 bytes for ExternalSorter[0]...
diff --git a/pkgs/development/python-modules/pylitterbot/default.nix b/pkgs/development/python-modules/pylitterbot/default.nix
index d1ec5eecb494..7f9d01ae3964 100644
--- a/pkgs/development/python-modules/pylitterbot/default.nix
+++ b/pkgs/development/python-modules/pylitterbot/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "pylitterbot";
-  version = "2024.0.0";
+  version = "2024.2.1";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "natekspencer";
     repo = "pylitterbot";
     tag = "v${version}";
-    hash = "sha256-9ipFayi9y/eND2q3Sz8J9B0OogkMDg73Q2+Pm3ujQ1w=";
+    hash = "sha256-33LiWgI9E7/I6fyrdv+YXcw+gxUOsPZ0mYvEIF8/fOI=";
   };
 
   pythonRelaxDeps = [ "deepdiff" ];
diff --git a/pkgs/development/python-modules/pyloadapi/default.nix b/pkgs/development/python-modules/pyloadapi/default.nix
index b93e07d8520c..81a3937c31b8 100644
--- a/pkgs/development/python-modules/pyloadapi/default.nix
+++ b/pkgs/development/python-modules/pyloadapi/default.nix
@@ -7,6 +7,7 @@
   hatch-regex-commit,
   hatchling,
   pytest-asyncio,
+  pytest-cov-stub,
   pytestCheckHook,
   python-dotenv,
   pythonOlder,
@@ -26,11 +27,6 @@ buildPythonPackage rec {
     hash = "sha256-DkYbQB91KYskfm2yDVmR0/MJiixC2C5miHpTq7RpVBU=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace-fail "--cov=src/pyloadapi/ --cov-report=term-missing" ""
-  '';
-
   build-system = [
     hatch-regex-commit
     hatchling
@@ -41,6 +37,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     aioresponses
     pytest-asyncio
+    pytest-cov-stub
     pytestCheckHook
     python-dotenv
   ];
diff --git a/pkgs/development/python-modules/pymemcache/default.nix b/pkgs/development/python-modules/pymemcache/default.nix
index 6f570f8d8306..69e96b77011c 100644
--- a/pkgs/development/python-modules/pymemcache/default.nix
+++ b/pkgs/development/python-modules/pymemcache/default.nix
@@ -4,6 +4,7 @@
   faker,
   fetchFromGitHub,
   mock,
+  pytest-cov-stub,
   pytestCheckHook,
   python-memcached,
   pythonOlder,
@@ -31,15 +32,12 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     faker
     mock
+    pytest-cov-stub
     pytestCheckHook
     python-memcached
     zstd
   ];
 
-  postPatch = ''
-    sed -i "/--cov/d" setup.cfg
-  '';
-
   disabledTests = lib.optionals stdenv.hostPlatform.is32bit [
     # test_compressed_complex is broken on 32-bit platforms
     # this can be removed on the next version bump
diff --git a/pkgs/development/python-modules/pymiele/default.nix b/pkgs/development/python-modules/pymiele/default.nix
index ad6e86ff9cc5..56a22feb2ebf 100644
--- a/pkgs/development/python-modules/pymiele/default.nix
+++ b/pkgs/development/python-modules/pymiele/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pymiele";
-  version = "0.4.3";
+  version = "0.5.2";
   pyproject = true;
 
   disabled = pythonOlder "3.13";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-o3G8+TdjPzctlq/CHYsac7aEx0hVLo1M1JLos3S9ek0=";
+    hash = "sha256-pU1PC1DXoXjZVkml3OFPhKgLVqhB9LbPPE1NzphyOSk=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/pymilvus/default.nix b/pkgs/development/python-modules/pymilvus/default.nix
index 4363cadd1de7..d1ecdfc79162 100644
--- a/pkgs/development/python-modules/pymilvus/default.nix
+++ b/pkgs/development/python-modules/pymilvus/default.nix
@@ -23,14 +23,14 @@
 
 buildPythonPackage rec {
   pname = "pymilvus";
-  version = "2.5.10";
+  version = "2.5.11";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "milvus-io";
     repo = "pymilvus";
     tag = "v${version}";
-    hash = "sha256-gxl9SqqFZusv4V/Xud56iz8lyUfITPPF4g4IUIAzl6U=";
+    hash = "sha256-O8037LYuR6PX57s78OawPFyPrIi0ZFRX2vV3lC+wT0I=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/pymorphy3/default.nix b/pkgs/development/python-modules/pymorphy3/default.nix
index 3f086afa7c92..f44bd9a8f353 100644
--- a/pkgs/development/python-modules/pymorphy3/default.nix
+++ b/pkgs/development/python-modules/pymorphy3/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pymorphy3";
-  version = "2.0.3";
+  version = "2.0.4";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "no-plagiarism";
     repo = "pymorphy3";
     tag = version;
-    hash = "sha256-xqz9BW6vaYnDE+rPEhAO4igPYLZNwZLj42BnnJ7Uk1M=";
+    hash = "sha256-Ula2OQ80dcGeMlXauehXnlEkHLjjm4jZn39eFNltbEA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pymysensors/default.nix b/pkgs/development/python-modules/pymysensors/default.nix
index d5bff10a57a7..d4e296216ede 100644
--- a/pkgs/development/python-modules/pymysensors/default.nix
+++ b/pkgs/development/python-modules/pymysensors/default.nix
@@ -8,37 +8,37 @@
   getmac,
   intelhex,
   paho-mqtt,
+  pyserial-asyncio-fast,
   pyserial,
-  pyserial-asyncio,
   pytest-sugar,
   pytest-timeout,
   pytestCheckHook,
-  pythonOlder,
+  setuptools,
   voluptuous,
 }:
 
 buildPythonPackage rec {
   pname = "pymysensors";
-  version = "0.24.1";
-  format = "setuptools";
-
-  disabled = pythonOlder "3.7";
+  version = "0.25.2";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "theolind";
     repo = "pymysensors";
-    rev = version;
-    hash = "sha256-3t9YrSJf02kc5CuTqPBc/qNJV7yy7Vke4WqhtuOaAYo=";
+    tag = version;
+    hash = "sha256-ndvn3mQ4fchL4NiUQLpYn7HMKeuEBT09HQvnJy14jPI=";
   };
 
-  propagatedBuildInputs = [
+  build-system = [ setuptools ];
+
+  dependencies = [
     awesomeversion
     click
     crcmod
     getmac
     intelhex
     pyserial
-    pyserial-asyncio
+    pyserial-asyncio-fast
     voluptuous
   ];
 
@@ -56,9 +56,10 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Python API for talking to a MySensors gateway";
-    mainProgram = "pymysensors";
     homepage = "https://github.com/theolind/pymysensors";
-    license = with licenses; [ mit ];
+    changelog = "https://github.com/theolind/pymysensors/releases/tag/${src.tag}";
+    license = licenses.mit;
     maintainers = with maintainers; [ fab ];
+    mainProgram = "pymysensors";
   };
 }
diff --git a/pkgs/development/python-modules/pyngrok/default.nix b/pkgs/development/python-modules/pyngrok/default.nix
index 619d98e60636..5a6f3d32b490 100644
--- a/pkgs/development/python-modules/pyngrok/default.nix
+++ b/pkgs/development/python-modules/pyngrok/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pyngrok";
-  version = "7.2.9";
+  version = "7.2.11";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Ixt/1Kel6CZajWFQ07o8gtnf/UCe2u23LE5isy3kT5E=";
+    hash = "sha256-n4iQOJvZWrwA7KE4Rsj0haDbZmfcBZh+uY/eNDrfslo=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/pynordpool/default.nix b/pkgs/development/python-modules/pynordpool/default.nix
index e715530f9ba3..ccd3ab44a5c9 100644
--- a/pkgs/development/python-modules/pynordpool/default.nix
+++ b/pkgs/development/python-modules/pynordpool/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "pynordpool";
-  version = "0.2.4";
+  version = "0.3.0";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "gjohansson-ST";
     repo = "pynordpool";
     tag = "v${version}";
-    hash = "sha256-OGCVNVFbJfhjNKKpLRUvZIj7ZIYz/IVlt9xEPJb5W8E=";
+    hash = "sha256-K9rZ7PJhmG7PiNGpnAgC3tX6ZygQdQoae5DnboNgMcs=";
   };
 
   build-system = [ poetry-core ];
@@ -33,7 +33,7 @@ buildPythonPackage rec {
   meta = {
     description = "Python api for Nordpool";
     homepage = "https://github.com/gjohansson-ST/pynordpool";
-    changelog = "https://github.com/gjohansson-ST/pynordpool/releases/tag/v${version}";
+    changelog = "https://github.com/gjohansson-ST/pynordpool/releases/tag/${src.tag}";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/pynzb/default.nix b/pkgs/development/python-modules/pynzb/default.nix
index 52d94c093f67..9c6b592e0ac7 100644
--- a/pkgs/development/python-modules/pynzb/default.nix
+++ b/pkgs/development/python-modules/pynzb/default.nix
@@ -26,6 +26,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/ericflo/pynzb";
     description = "Unified API for parsing NZB files";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pyopencl/default.nix b/pkgs/development/python-modules/pyopencl/default.nix
index b6d7fd292165..ceb73ec21522 100644
--- a/pkgs/development/python-modules/pyopencl/default.nix
+++ b/pkgs/development/python-modules/pyopencl/default.nix
@@ -30,7 +30,7 @@
 
 buildPythonPackage rec {
   pname = "pyopencl";
-  version = "2025.2.1";
+  version = "2025.2.3";
   pyproject = true;
 
   src = fetchFromGitHub {
@@ -38,7 +38,7 @@ buildPythonPackage rec {
     repo = "pyopencl";
     tag = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-zkTeCSmPfWQBuX4EOyXQDtA7uU+GCJh5LgFNkbwyiCg=";
+    hash = "sha256-o1HZWxohc5CAf28nTBhR6scF1mWW5gzGv8/MU0Rmpnc=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/pyopenssl/default.nix b/pkgs/development/python-modules/pyopenssl/default.nix
index f70aef65ec33..b6b36e82b520 100644
--- a/pkgs/development/python-modules/pyopenssl/default.nix
+++ b/pkgs/development/python-modules/pyopenssl/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "pyopenssl";
-  version = "25.0.0";
+  version = "25.1.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "pyca";
     repo = "pyopenssl";
     tag = version;
-    hash = "sha256-CQHLEtNb2jX7WNAYlmv5EIgepetMl81Xl3AJuRqOHow=";
+    hash = "sha256-QF511MVyjfddmkTd2H7RNJeoWs+e0me4i55YGP4t910=";
   };
 
   outputs = [
diff --git a/pkgs/development/python-modules/pyorthanc/default.nix b/pkgs/development/python-modules/pyorthanc/default.nix
index 17505d1b37a9..d753ed0edb4b 100644
--- a/pkgs/development/python-modules/pyorthanc/default.nix
+++ b/pkgs/development/python-modules/pyorthanc/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "pyorthanc";
-  version = "1.20.0";
+  version = "1.21.0";
 
   pyproject = true;
 
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "gacou54";
     repo = "pyorthanc";
     tag = "v${version}";
-    hash = "sha256-AWYu/JVL1Hs/aEZXgSRc/y4rN22VRrgn6pINDTogPPs=";
+    hash = "sha256-293H5hQ+6eknzKNsZpVKoTcrKzbHfJE4C+SyxAOLphY=";
   };
 
   build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/pyosohotwaterapi/default.nix b/pkgs/development/python-modules/pyosohotwaterapi/default.nix
index 8646817f7a8d..74361496e18d 100644
--- a/pkgs/development/python-modules/pyosohotwaterapi/default.nix
+++ b/pkgs/development/python-modules/pyosohotwaterapi/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pyosohotwaterapi";
-  version = "1.1.4";
+  version = "1.1.5";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "osohotwateriot";
     repo = "apyosohotwaterapi";
     tag = version;
-    hash = "sha256-7FLGmmndrFqSl4oC8QFIYNlFJPr+xbiZG5ZRt4vx8+s=";
+    hash = "sha256-jE8cwC18/M58WOVpMsUjIDVmFXLBvPwaAXOSZatpjX0=";
   };
 
   # https://github.com/osohotwateriot/apyosohotwaterapi/pull/3
@@ -52,7 +52,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Module for using the OSO Hotwater API";
     homepage = "https://github.com/osohotwateriot/apyosohotwaterapi";
-    changelog = "https://github.com/osohotwateriot/apyosohotwaterapi/releases/tag/${version}";
+    changelog = "https://github.com/osohotwateriot/apyosohotwaterapi/releases/tag/${src.tag}";
     license = licenses.mit;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/pypaperless/default.nix b/pkgs/development/python-modules/pypaperless/default.nix
new file mode 100644
index 000000000000..d5fd9ffcde1c
--- /dev/null
+++ b/pkgs/development/python-modules/pypaperless/default.nix
@@ -0,0 +1,54 @@
+{
+  aiohttp,
+  aioresponses,
+  buildPythonPackage,
+  fetchFromGitHub,
+  hatchling,
+  lib,
+  pytest-asyncio,
+  pytest-cov-stub,
+  pytestCheckHook,
+  yarl,
+}:
+
+buildPythonPackage rec {
+  pname = "pypaperless";
+  version = "4.1.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "tb1337";
+    repo = "paperless-api";
+    tag = "v${version}";
+    hash = "sha256-uzMYHlV+xqWIpqPpX2myxS9cqBsqShOoQ9oedDT/zeA=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace-fail 'version = "0.0.0"' 'version = "${version}"'
+  '';
+
+  build-system = [ hatchling ];
+
+  dependencies = [
+    aiohttp
+    yarl
+  ];
+
+  pythonImportsCheck = [ "pypaperless" ];
+
+  nativeCheckInputs = [
+    aioresponses
+    pytest-asyncio
+    pytest-cov-stub
+    pytestCheckHook
+  ];
+
+  meta = {
+    changelog = "https://github.com/tb1337/paperless-api/releases/tag/${src.tag}";
+    description = "Little api client for paperless(-ngx)";
+    homepage = "https://github.com/tb1337/paperless-api";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyparsebluray/default.nix b/pkgs/development/python-modules/pyparsebluray/default.nix
new file mode 100644
index 000000000000..100e5d651ba1
--- /dev/null
+++ b/pkgs/development/python-modules/pyparsebluray/default.nix
@@ -0,0 +1,30 @@
+{
+  buildPythonPackage,
+  lib,
+  fetchFromGitHub,
+  setuptools,
+}:
+
+buildPythonPackage rec {
+  pname = "pyparsebluray";
+  version = "0.1.4";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "Ichunjo";
+    repo = "pyparsebluray";
+    tag = version;
+    hash = "sha256-9G+pf4kZnj5ZkJj8qmymqdxCRVUTfGy3m9iF5BjiCxM=";
+  };
+
+  build-system = [
+    setuptools
+  ];
+
+  meta = {
+    description = "Parse and extract binary data from bluray files";
+    homepage = "https://github.com/Ichunjo/pyparsebluray";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ ambroisie ];
+  };
+}
diff --git a/pkgs/development/python-modules/pypck/default.nix b/pkgs/development/python-modules/pypck/default.nix
index 78c86a951be2..6d619c2815bb 100644
--- a/pkgs/development/python-modules/pypck/default.nix
+++ b/pkgs/development/python-modules/pypck/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "pypck";
-  version = "0.8.5";
+  version = "0.8.8";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "alengwenus";
     repo = "pypck";
     tag = version;
-    hash = "sha256-0CoADS76Ed2ICc8Y/LvtRhbG7mFQDWBsNQAnIUGK8m0=";
+    hash = "sha256-n7UFmWQyw60FTWNxs4mA9ZziZ2EwphkMI9pOLx7gFcA=";
   };
 
   postPatch = ''
@@ -47,7 +47,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "LCN-PCK library written in Python";
     homepage = "https://github.com/alengwenus/pypck";
-    changelog = "https://github.com/alengwenus/pypck/releases/tag/${version}";
+    changelog = "https://github.com/alengwenus/pypck/releases/tag/${src.tag}";
     license = licenses.epl20;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/pypdf/default.nix b/pkgs/development/python-modules/pypdf/default.nix
index df070615d6bc..7fc6904ee9d8 100644
--- a/pkgs/development/python-modules/pypdf/default.nix
+++ b/pkgs/development/python-modules/pypdf/default.nix
@@ -27,7 +27,7 @@
 
 buildPythonPackage rec {
   pname = "pypdf";
-  version = "5.5.0";
+  version = "5.6.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -38,7 +38,7 @@ buildPythonPackage rec {
     tag = version;
     # fetch sample files used in tests
     fetchSubmodules = true;
-    hash = "sha256-L/dj8yJIkGLsDdsZ1xFK46yyAVJ14F3RSh7HLhEcVhI=";
+    hash = "sha256-tXcpts/7eEmbt5FSXp3f6mS2al01sU9SnzkTAMbD0yc=";
   };
 
   outputs = [
diff --git a/pkgs/development/python-modules/pypinyin/default.nix b/pkgs/development/python-modules/pypinyin/default.nix
index 64f7b232b2f0..8e6f60b1a680 100644
--- a/pkgs/development/python-modules/pypinyin/default.nix
+++ b/pkgs/development/python-modules/pypinyin/default.nix
@@ -3,6 +3,7 @@
   buildPythonPackage,
   fetchFromGitHub,
   pytestCheckHook,
+  pytest-cov-stub,
   pythonOlder,
 }:
 
@@ -20,12 +21,10 @@ buildPythonPackage rec {
     hash = "sha256-kA6h2CPGhoZt8h3KEttegHhmMqVc72IkrkA3PonY3sY=";
   };
 
-  postPatch = ''
-    substituteInPlace pytest.ini --replace \
-      "--cov-report term-missing" ""
-  '';
-
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cov-stub
+  ];
 
   pytestFlagsArray = [ "tests" ];
 
diff --git a/pkgs/development/python-modules/pyppmd/default.nix b/pkgs/development/python-modules/pyppmd/default.nix
index 511b696e17d6..5cee2f5fde1c 100644
--- a/pkgs/development/python-modules/pyppmd/default.nix
+++ b/pkgs/development/python-modules/pyppmd/default.nix
@@ -35,6 +35,8 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  pytestFlagsArray = [ "--benchmark-disable" ];
+
   pythonImportsCheck = [
     "pyppmd"
   ];
diff --git a/pkgs/development/python-modules/pypresence/default.nix b/pkgs/development/python-modules/pypresence/default.nix
index b01f7573511f..799ba2e0be03 100644
--- a/pkgs/development/python-modules/pypresence/default.nix
+++ b/pkgs/development/python-modules/pypresence/default.nix
@@ -1,26 +1,31 @@
 {
   lib,
   buildPythonPackage,
-  fetchPypi,
+  fetchFromGitHub,
+  setuptools,
 }:
 
-buildPythonPackage rec {
+buildPythonPackage {
   pname = "pypresence";
-  version = "4.3.0";
-  format = "setuptools";
+  version = "4.3.0-unstable-2025-03-27";
+  pyproject = true;
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-phkaOvM6lmfypO8BhVd8hrli7nCqgmQ8Rydopv7R+/M=";
+  src = fetchFromGitHub {
+    owner = "qwertyquerty";
+    repo = "pypresence";
+    rev = "4e882c36d0f800c016c15977243ac9a49177095a";
+    hash = "sha256-DjwDmQMbI9tV40TTe1CthhphoysKSFICrRhqijJjIAE=";
   };
 
+  build-system = [ setuptools ];
+
   doCheck = false; # tests require internet connection
   pythonImportsCheck = [ "pypresence" ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://qwertyquerty.github.io/pypresence/html/index.html";
     description = "Discord RPC client written in Python";
-    license = licenses.mit;
+    license = lib.licenses.mit;
     maintainers = [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pyramid-beaker/default.nix b/pkgs/development/python-modules/pyramid-beaker/default.nix
index 87e9a30932cb..054ac4b8b17a 100644
--- a/pkgs/development/python-modules/pyramid-beaker/default.nix
+++ b/pkgs/development/python-modules/pyramid-beaker/default.nix
@@ -35,6 +35,6 @@ buildPythonPackage rec {
     homepage = "https://docs.pylonsproject.org/projects/pyramid_beaker/en/latest/";
     # idk, see https://github.com/Pylons/pyramid_beaker/blob/master/LICENSE.txt
     # license = licenses.mpl20;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pyramid-chameleon/default.nix b/pkgs/development/python-modules/pyramid-chameleon/default.nix
index dadd0e534a3f..90c1c8a1344d 100644
--- a/pkgs/development/python-modules/pyramid-chameleon/default.nix
+++ b/pkgs/development/python-modules/pyramid-chameleon/default.nix
@@ -47,6 +47,6 @@ buildPythonPackage rec {
     description = "Chameleon template compiler for pyramid";
     homepage = "https://github.com/Pylons/pyramid_chameleon";
     license = licenses.bsd0;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pyramid-exclog/default.nix b/pkgs/development/python-modules/pyramid-exclog/default.nix
index b88777f8692d..aeace75fd630 100644
--- a/pkgs/development/python-modules/pyramid-exclog/default.nix
+++ b/pkgs/development/python-modules/pyramid-exclog/default.nix
@@ -24,6 +24,6 @@ buildPythonPackage rec {
     description = "Package which logs to a Python logger when an exception is raised by a Pyramid application";
     homepage = "https://docs.pylonsproject.org/";
     license = licenses.bsd0;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pyramid-jinja2/default.nix b/pkgs/development/python-modules/pyramid-jinja2/default.nix
index f15a3623ee23..3290d7321f23 100644
--- a/pkgs/development/python-modules/pyramid-jinja2/default.nix
+++ b/pkgs/development/python-modules/pyramid-jinja2/default.nix
@@ -6,6 +6,7 @@
   markupsafe,
   jinja2,
   pytestCheckHook,
+  pytest-cov-stub,
   zope-deprecation,
   pyramid,
   pythonOlder,
@@ -34,13 +35,9 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     webtest
     pytestCheckHook
+    pytest-cov-stub
   ];
 
-  postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace " --cov" ""
-  '';
-
   pythonImportsCheck = [ "pyramid_jinja2" ];
 
   disabledTests = [
@@ -54,6 +51,6 @@ buildPythonPackage rec {
     description = "Jinja2 template bindings for the Pyramid web framework";
     homepage = "https://github.com/Pylons/pyramid_jinja2";
     license = licenses.bsd0;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pyramid/default.nix b/pkgs/development/python-modules/pyramid/default.nix
index c930fefd524f..5f41e53d2e89 100644
--- a/pkgs/development/python-modules/pyramid/default.nix
+++ b/pkgs/development/python-modules/pyramid/default.nix
@@ -69,6 +69,6 @@ buildPythonPackage rec {
     homepage = "https://trypyramid.com/";
     changelog = "https://github.com/Pylons/pyramid/blob/${version}/CHANGES.rst";
     license = licenses.bsd0;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pyrss2gen/default.nix b/pkgs/development/python-modules/pyrss2gen/default.nix
index f07f054cbce6..89cdf037896b 100644
--- a/pkgs/development/python-modules/pyrss2gen/default.nix
+++ b/pkgs/development/python-modules/pyrss2gen/default.nix
@@ -22,6 +22,6 @@ buildPythonPackage rec {
     homepage = "http://www.dalkescientific.om/Python/PyRSS2Gen.html";
     description = "Library for generating RSS 2.0 feeds";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pyscaffold/default.nix b/pkgs/development/python-modules/pyscaffold/default.nix
index 5a0b13086071..127ca5bb96c2 100644
--- a/pkgs/development/python-modules/pyscaffold/default.nix
+++ b/pkgs/development/python-modules/pyscaffold/default.nix
@@ -23,7 +23,7 @@
   certifi,
   flake8,
   pytest,
-  pytest-cov-stub,
+  pytest-cov,
   pytest-randomly,
   pytest-xdist,
   sphinx,
@@ -80,7 +80,7 @@ buildPythonPackage rec {
       flake8
       pre-commit
       pytest
-      pytest-cov-stub
+      pytest-cov
       pytest-randomly
       pytest-xdist
       setuptools
diff --git a/pkgs/development/python-modules/pyscaffoldext-cookiecutter/default.nix b/pkgs/development/python-modules/pyscaffoldext-cookiecutter/default.nix
index d5ba7c9b6d82..a34bf93334e9 100644
--- a/pkgs/development/python-modules/pyscaffoldext-cookiecutter/default.nix
+++ b/pkgs/development/python-modules/pyscaffoldext-cookiecutter/default.nix
@@ -11,7 +11,7 @@
   configupdater,
   pre-commit,
   pytest,
-  pytest-cov-stub,
+  pytest-cov,
   pytest-xdist,
   tox,
   virtualenv,
@@ -44,7 +44,7 @@ buildPythonPackage rec {
       configupdater
       pre-commit
       pytest
-      pytest-cov-stub
+      pytest-cov
       pytest-xdist
       setuptools-scm
       tox
diff --git a/pkgs/development/python-modules/pyscaffoldext-custom-extension/default.nix b/pkgs/development/python-modules/pyscaffoldext-custom-extension/default.nix
index 0ee14743b5e9..ee4bc3aa728b 100644
--- a/pkgs/development/python-modules/pyscaffoldext-custom-extension/default.nix
+++ b/pkgs/development/python-modules/pyscaffoldext-custom-extension/default.nix
@@ -11,7 +11,7 @@
   pyscaffold,
   pre-commit,
   pytest,
-  pytest-cov-stub,
+  pytest-cov,
   pytest-xdist,
   tox,
   virtualenv,
@@ -45,7 +45,7 @@ buildPythonPackage rec {
       configupdater
       pre-commit
       pytest
-      pytest-cov-stub
+      pytest-cov
       pytest-xdist
       setuptools-scm
       tox
diff --git a/pkgs/development/python-modules/pyscaffoldext-django/default.nix b/pkgs/development/python-modules/pyscaffoldext-django/default.nix
index 6270dbc2d1d5..e0e9ca4cf69f 100644
--- a/pkgs/development/python-modules/pyscaffoldext-django/default.nix
+++ b/pkgs/development/python-modules/pyscaffoldext-django/default.nix
@@ -10,7 +10,7 @@
   configupdater,
   pre-commit,
   pytest,
-  pytest-cov-stub,
+  pytest-cov,
   pytest-xdist,
   tox,
   virtualenv,
@@ -42,7 +42,7 @@ buildPythonPackage rec {
       configupdater
       pre-commit
       pytest
-      pytest-cov-stub
+      pytest-cov
       pytest-xdist
       setuptools-scm
       tox
diff --git a/pkgs/development/python-modules/pyscaffoldext-dsproject/default.nix b/pkgs/development/python-modules/pyscaffoldext-dsproject/default.nix
index cc70d4098ab8..9763ba8ace95 100644
--- a/pkgs/development/python-modules/pyscaffoldext-dsproject/default.nix
+++ b/pkgs/development/python-modules/pyscaffoldext-dsproject/default.nix
@@ -11,7 +11,7 @@
   configupdater,
   pre-commit,
   pytest,
-  pytest-cov-stub,
+  pytest-cov,
   pytest-xdist,
   tox,
   virtualenv,
@@ -44,7 +44,7 @@ buildPythonPackage rec {
       configupdater
       pre-commit
       pytest
-      pytest-cov-stub
+      pytest-cov
       pytest-xdist
       setuptools-scm
       tox
diff --git a/pkgs/development/python-modules/pyscaffoldext-markdown/default.nix b/pkgs/development/python-modules/pyscaffoldext-markdown/default.nix
index d84320a77a95..4d6157ed4d99 100644
--- a/pkgs/development/python-modules/pyscaffoldext-markdown/default.nix
+++ b/pkgs/development/python-modules/pyscaffoldext-markdown/default.nix
@@ -11,7 +11,7 @@
   configupdater,
   pre-commit,
   pytest,
-  pytest-cov-stub,
+  pytest-cov,
   pytest-xdist,
   tox,
   twine,
@@ -46,7 +46,7 @@ buildPythonPackage rec {
       configupdater
       pre-commit
       pytest
-      pytest-cov-stub
+      pytest-cov
       pytest-xdist
       setuptools-scm
       tox
diff --git a/pkgs/development/python-modules/pyscaffoldext-travis/default.nix b/pkgs/development/python-modules/pyscaffoldext-travis/default.nix
index 4eeaafd14c22..6c08f6c23adc 100644
--- a/pkgs/development/python-modules/pyscaffoldext-travis/default.nix
+++ b/pkgs/development/python-modules/pyscaffoldext-travis/default.nix
@@ -10,7 +10,7 @@
   configupdater,
   pre-commit,
   pytest,
-  pytest-cov-stub,
+  pytest-cov,
   pytest-xdist,
   tox,
   virtualenv,
@@ -42,7 +42,7 @@ buildPythonPackage rec {
       configupdater
       pre-commit
       pytest
-      pytest-cov-stub
+      pytest-cov
       pytest-xdist
       setuptools-scm
       tox
diff --git a/pkgs/development/python-modules/pyside6-fluent-widgets/default.nix b/pkgs/development/python-modules/pyside6-fluent-widgets/default.nix
new file mode 100644
index 000000000000..ee2f1171be38
--- /dev/null
+++ b/pkgs/development/python-modules/pyside6-fluent-widgets/default.nix
@@ -0,0 +1,42 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchPypi,
+  setuptools,
+  pyside6,
+  pysidesix-frameless-window,
+  darkdetect,
+}:
+
+buildPythonPackage rec {
+  pname = "pyside6-fluent-widgets";
+  version = "1.8.1";
+  pyproject = true;
+
+  src = fetchPypi {
+    pname = "pyside6_fluent_widgets";
+    inherit version;
+    hash = "sha256-PMpbGUFN7bb9jKBF+596x4WLqoHjjNN2gX0c4G+lCHo=";
+  };
+
+  build-system = [ setuptools ];
+
+  dependencies = [
+    pyside6
+    pysidesix-frameless-window
+    darkdetect
+  ];
+
+  # no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "qfluentwidgets" ];
+
+  meta = {
+    description = "Fluent design widgets library based on PySide6";
+    homepage = "https://github.com/zhiyiYo/PyQt-Fluent-Widgets";
+    platforms = lib.platforms.linux;
+    license = lib.licenses.gpl3Only;
+    maintainers = with lib.maintainers; [ emaryn ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyside6/default.nix b/pkgs/development/python-modules/pyside6/default.nix
index 49f559a2f3f7..c96eeb0abe0d 100644
--- a/pkgs/development/python-modules/pyside6/default.nix
+++ b/pkgs/development/python-modules/pyside6/default.nix
@@ -57,6 +57,13 @@ stdenv.mkDerivation (finalAttrs: {
 
   sourceRoot = "pyside-setup-everywhere-src-${finalAttrs.version}/sources/pyside6";
 
+  # Qt Designer plugin moved to a separate output to reduce closure size
+  # for downstream things
+  outputs = [
+    "out"
+    "devtools"
+  ];
+
   # cmake/Macros/PySideModules.cmake supposes that all Qt frameworks on macOS
   # reside in the same directory as QtCore.framework, which is not true for Nix.
   # We therefore symLink all required and optional Qt modules in one directory tree ("qt_linked").
@@ -109,6 +116,9 @@ stdenv.mkDerivation (finalAttrs: {
     cd ../../..
     ${python.pythonOnBuildForHost.interpreter} setup.py egg_info --build-type=pyside6
     cp -r PySide6.egg-info $out/${python.sitePackages}/
+
+    mkdir -p "$devtools"
+    moveToOutput "${python.pkgs.qt6.qtbase.qtPluginPrefix}/designer" "$devtools"
   '';
 
   pythonImportsCheck = [ "PySide6" ];
diff --git a/pkgs/development/python-modules/pysidesix-frameless-window/default.nix b/pkgs/development/python-modules/pysidesix-frameless-window/default.nix
new file mode 100644
index 000000000000..a0fa029b0816
--- /dev/null
+++ b/pkgs/development/python-modules/pysidesix-frameless-window/default.nix
@@ -0,0 +1,36 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchPypi,
+  setuptools,
+  pyside6,
+}:
+
+buildPythonPackage rec {
+  pname = "pysidesix-frameless-window";
+  version = "0.7.3";
+  pyproject = true;
+
+  src = fetchPypi {
+    pname = "pysidesix_frameless_window";
+    inherit version;
+    hash = "sha256-6a9xyTQOYIo0WWuLXVrOvYGAdoFXJNbR21q4FLyDKEQ=";
+  };
+
+  build-system = [ setuptools ];
+
+  dependencies = [ pyside6 ];
+
+  # no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "qframelesswindow" ];
+
+  meta = {
+    description = "Frameless window based on PySide6";
+    homepage = "https://github.com/zhiyiYo/PyQt-Frameless-Window";
+    platforms = lib.platforms.linux;
+    license = lib.licenses.gpl3Only;
+    maintainers = with lib.maintainers; [ emaryn ];
+  };
+}
diff --git a/pkgs/development/python-modules/pysignalr/default.nix b/pkgs/development/python-modules/pysignalr/default.nix
new file mode 100644
index 000000000000..1dd2ec3e5912
--- /dev/null
+++ b/pkgs/development/python-modules/pysignalr/default.nix
@@ -0,0 +1,53 @@
+{
+  aiohttp,
+  buildPythonPackage,
+  docker,
+  fetchFromGitHub,
+  lib,
+  msgpack,
+  orjson,
+  poetry-core,
+  pytest-asyncio,
+  pytestCheckHook,
+  requests,
+  websockets,
+}:
+
+buildPythonPackage rec {
+  pname = "pysignalr";
+  version = "1.3.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "baking-bad";
+    repo = "pysignalr";
+    tag = version;
+    hash = "sha256-3VZuS5q4b85Kuk2B00AeVpLGO232GN8tlfu6UaGmzjE=";
+  };
+
+  build-system = [ poetry-core ];
+
+  dependencies = [
+    aiohttp
+    msgpack
+    orjson
+    websockets
+  ];
+
+  pythonImportsCheck = [ "pysignalr" ];
+
+  nativeCheckInputs = [
+    docker
+    pytest-asyncio
+    pytestCheckHook
+    requests
+  ];
+
+  meta = {
+    changelog = "https://github.com/baking-bad/pysignalr/blob/${src.tag}/CHANGELOG.md";
+    description = "Modern, reliable and async-ready client for SignalR protocol";
+    homepage = "https://github.com/baking-bad/pysignalr";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/pysmarlaapi/default.nix b/pkgs/development/python-modules/pysmarlaapi/default.nix
new file mode 100644
index 000000000000..fb1f116c714b
--- /dev/null
+++ b/pkgs/development/python-modules/pysmarlaapi/default.nix
@@ -0,0 +1,42 @@
+{
+  aiohttp,
+  buildPythonPackage,
+  fetchFromGitHub,
+  flit-core,
+  jsonpickle,
+  lib,
+  pysignalr,
+}:
+
+buildPythonPackage rec {
+  pname = "pysmarlaapi";
+  version = "0.9.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "Explicatis-GmbH";
+    repo = "pysmarlaapi";
+    tag = version;
+    hash = "sha256-f8cghqdR4nxyBoMJiHWpZAzxcKMBmcKSqkLGtls2MwA=";
+  };
+
+  build-system = [ flit-core ];
+
+  pythonRelaxDeps = true;
+
+  dependencies = [
+    aiohttp
+    jsonpickle
+    pysignalr
+  ];
+
+  pythonImportsCheck = [ "pysmarlaapi" ];
+
+  meta = {
+    changelog = "https://github.com/Explicatis-GmbH/pysmarlaapi/releases/tag/${src.tag}";
+    description = "Swing2Sleep Smarla API";
+    homepage = "https://github.com/Explicatis-GmbH/pysmarlaapi";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/pysmartthings/default.nix b/pkgs/development/python-modules/pysmartthings/default.nix
index 7bc19b5cf2b9..ea253400a421 100644
--- a/pkgs/development/python-modules/pysmartthings/default.nix
+++ b/pkgs/development/python-modules/pysmartthings/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "pysmartthings";
-  version = "3.2.3";
+  version = "3.2.5";
   pyproject = true;
 
   disabled = pythonOlder "3.12";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "andrewsayre";
     repo = "pysmartthings";
     tag = "v${version}";
-    hash = "sha256-Bi/BHOvECzXhIBe+SK6wTmFnDbt1T28QAs7QETPH/YE=";
+    hash = "sha256-PT4S1VmAJKXDqfetJf5QIWdgKV5ZOOVM4yBOzGdJKsc=";
   };
 
   build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/pysnooz/default.nix b/pkgs/development/python-modules/pysnooz/default.nix
index 8a45805015f8..7a0d35c59c9d 100644
--- a/pkgs/development/python-modules/pysnooz/default.nix
+++ b/pkgs/development/python-modules/pysnooz/default.nix
@@ -10,6 +10,7 @@
   home-assistant-bluetooth,
   poetry-core,
   pytest-asyncio,
+  pytest-cov-stub,
   pytest-mock,
   pytestCheckHook,
   pythonOlder,
@@ -33,8 +34,7 @@ buildPythonPackage rec {
   postPatch = ''
     substituteInPlace pyproject.toml \
       --replace 'transitions = "^0.8.11"' 'transitions = ">=0.8.11"' \
-      --replace 'Events = "^0.4"' 'Events = ">=0.4"' \
-      --replace " --cov=pysnooz --cov-report=term-missing:skip-covered" ""
+      --replace 'Events = "^0.4"' 'Events = ">=0.4"'
   '';
 
   nativeBuildInputs = [ poetry-core ];
@@ -51,6 +51,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     freezegun
     pytest-asyncio
+    pytest-cov-stub
     pytest-mock
     pytestCheckHook
   ];
diff --git a/pkgs/development/python-modules/pysol-cards/default.nix b/pkgs/development/python-modules/pysol-cards/default.nix
index ec05ef0e8697..b1308941a9e2 100644
--- a/pkgs/development/python-modules/pysol-cards/default.nix
+++ b/pkgs/development/python-modules/pysol-cards/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "pysol-cards";
-  version = "0.22.0";
+  version = "0.24.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit version;
     pname = "pysol_cards";
-    hash = "sha256-xVXvXgWtQXdOdCtgPObmunbl0BPd9K4Iej2HxVJ58UI=";
+    hash = "sha256-qYVJLagaoViN/AVtmnxsqD9mJUwLkPJa/GgqcHE9TUs=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pystac-client/default.nix b/pkgs/development/python-modules/pystac-client/default.nix
index cf752cf5a5bf..fe8cfca42d5e 100644
--- a/pkgs/development/python-modules/pystac-client/default.nix
+++ b/pkgs/development/python-modules/pystac-client/default.nix
@@ -47,6 +47,7 @@ buildPythonPackage rec {
   ];
 
   pytestFlagsArray = [
+    "--benchmark-disable"
     # Tests accessing Internet
     "-m 'not vcr'"
   ];
diff --git a/pkgs/development/python-modules/pyswitchbot/default.nix b/pkgs/development/python-modules/pyswitchbot/default.nix
index c9b8a791562f..826f4ca27c5e 100644
--- a/pkgs/development/python-modules/pyswitchbot/default.nix
+++ b/pkgs/development/python-modules/pyswitchbot/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "pyswitchbot";
-  version = "0.62.2";
+  version = "0.65.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "Danielhiversen";
     repo = "pySwitchbot";
     tag = version;
-    hash = "sha256-kYk1mMY73RKW7OkKyK5idN+ib8OsIoMiGB5i/trgMZc=";
+    hash = "sha256-PxTkX0e3idwKR+3b5u6/71QN0YeJdmNmZx1vscAtfik=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/pytensor/default.nix b/pkgs/development/python-modules/pytensor/default.nix
index c1d7b0e494fb..db645beaaba0 100644
--- a/pkgs/development/python-modules/pytensor/default.nix
+++ b/pkgs/development/python-modules/pytensor/default.nix
@@ -73,6 +73,8 @@ buildPythonPackage rec {
     writableTmpDirAsHomeHook
   ];
 
+  pytestFlagsArray = [ "--benchmark-disable" ];
+
   pythonImportsCheck = [ "pytensor" ];
 
   # Ensure that the installed package is used instead of the source files from the current workdir
diff --git a/pkgs/development/python-modules/pytest-mock/default.nix b/pkgs/development/python-modules/pytest-mock/default.nix
index 8d2c24dbd8c2..0f2b0dd6012c 100644
--- a/pkgs/development/python-modules/pytest-mock/default.nix
+++ b/pkgs/development/python-modules/pytest-mock/default.nix
@@ -1,9 +1,7 @@
 {
   lib,
   buildPythonPackage,
-  pythonAtLeast,
-  pythonOlder,
-  fetchPypi,
+  fetchFromGitHub,
   pytest,
   pytest-asyncio,
   pytestCheckHook,
@@ -13,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "pytest-mock";
-  version = "3.14.0";
+  version = "3.14.1";
   pyproject = true;
 
-  disabled = pythonOlder "3.7";
-
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-JxklWh7+zq28BW1r8989HFAVUw+0DPNHwPmvrIhBC9A=";
+  src = fetchFromGitHub {
+    owner = "pytest-dev";
+    repo = "pytest-mock";
+    tag = "v${version}";
+    hash = "sha256-aOa/MQAgQePX/NivQ6G37r70sZnqBA+y+GXvPVBxmvs=";
   };
 
   nativeBuildInputs = [
@@ -35,18 +33,12 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  disabledTests = lib.optionals (pythonAtLeast "3.11") [
-    # Regression in 3.11.7 and 3.12.1; https://github.com/pytest-dev/pytest-mock/issues/401
-    "test_failure_message_with_name"
-    "test_failure_message_with_no_name"
-  ];
-
   pythonImportsCheck = [ "pytest_mock" ];
 
   meta = with lib; {
     description = "Thin wrapper around the mock package for easier use with pytest";
     homepage = "https://github.com/pytest-dev/pytest-mock";
-    changelog = "https://github.com/pytest-dev/pytest-mock/blob/v${version}/CHANGELOG.rst";
+    changelog = "https://github.com/pytest-dev/pytest-mock/blob/${src.tag}/CHANGELOG.rst";
     license = licenses.mit;
     maintainers = with maintainers; [ dotlambda ];
   };
diff --git a/pkgs/development/python-modules/pytest/7.nix b/pkgs/development/python-modules/pytest/7.nix
index 3abbffcf3d9d..cbed444a7264 100644
--- a/pkgs/development/python-modules/pytest/7.nix
+++ b/pkgs/development/python-modules/pytest/7.nix
@@ -108,7 +108,6 @@ let
       homepage = "https://docs.pytest.org";
       changelog = "https://github.com/pytest-dev/pytest/releases/tag/${version}";
       maintainers = with maintainers; [
-        domenkozar
         lovek323
         madjar
         lsix
diff --git a/pkgs/development/python-modules/python-barcode/default.nix b/pkgs/development/python-modules/python-barcode/default.nix
index 432a910b95c6..8b80b8a06d65 100644
--- a/pkgs/development/python-modules/python-barcode/default.nix
+++ b/pkgs/development/python-modules/python-barcode/default.nix
@@ -6,6 +6,7 @@
   setuptools-scm,
   pillow,
   pytestCheckHook,
+  pytest-cov-stub,
 }:
 
 buildPythonPackage rec {
@@ -26,14 +27,10 @@ buildPythonPackage rec {
     images = [ pillow ];
   };
 
-  postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace "--cov=barcode" "" \
-      --replace "--cov-report=term-missing:skip-covered" "" \
-      --replace "--no-cov-on-fail" ""
-  '';
-
-  nativeCheckInputs = [ pytestCheckHook ] ++ optional-dependencies.images;
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cov-stub
+  ] ++ optional-dependencies.images;
 
   pythonImportsCheck = [ "barcode" ];
 
diff --git a/pkgs/development/python-modules/python-bsblan/default.nix b/pkgs/development/python-modules/python-bsblan/default.nix
index 53967ac7a55d..a69e49c94890 100644
--- a/pkgs/development/python-modules/python-bsblan/default.nix
+++ b/pkgs/development/python-modules/python-bsblan/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "python-bsblan";
-  version = "1.2.2";
+  version = "2.1.0";
   pyproject = true;
 
   disabled = pythonOlder "3.12";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "liudger";
     repo = "python-bsblan";
     tag = "v${version}";
-    hash = "sha256-qzQP77bfV21g7DIdZfJCyv9FN/U6aQk9wWV9xPZFolk=";
+    hash = "sha256-HaB1ypC2IkSEnM5Ek583CFvwWt1nm1gWUdoh5MH09YQ=";
   };
 
   postPatch = ''
@@ -65,7 +65,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Module to control and monitor an BSBLan device programmatically";
     homepage = "https://github.com/liudger/python-bsblan";
-    changelog = "https://github.com/liudger/python-bsblan/releases/tag/v${version}";
+    changelog = "https://github.com/liudger/python-bsblan/releases/tag/${src.tag}";
     license = licenses.mit;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/python-can/default.nix b/pkgs/development/python-modules/python-can/default.nix
index 1a30ade31cb8..6149314a9459 100644
--- a/pkgs/development/python-modules/python-can/default.nix
+++ b/pkgs/development/python-modules/python-can/default.nix
@@ -3,7 +3,6 @@
   stdenv,
   buildPythonPackage,
   fetchFromGitHub,
-  future,
   hypothesis,
   packaging,
   parameterized,
@@ -53,7 +52,6 @@ buildPythonPackage rec {
   };
 
   nativeCheckInputs = [
-    future
     hypothesis
     parameterized
     pytest-cov-stub
diff --git a/pkgs/development/python-modules/python-djvulibre/default.nix b/pkgs/development/python-modules/python-djvulibre/default.nix
index c505e132ee07..12f31ba423fc 100644
--- a/pkgs/development/python-modules/python-djvulibre/default.nix
+++ b/pkgs/development/python-modules/python-djvulibre/default.nix
@@ -1,14 +1,16 @@
 {
   lib,
-  python3Packages,
+  buildPythonPackage,
   fetchFromGitHub,
+  cython,
   djvulibre,
+  setuptools,
   ghostscript_headless,
   pkg-config,
   unittestCheckHook,
 }:
 
-python3Packages.buildPythonPackage rec {
+buildPythonPackage rec {
   pname = "python-djvulibre";
   version = "0.9.3";
   pyproject = true;
@@ -21,14 +23,14 @@ python3Packages.buildPythonPackage rec {
   };
 
   build-system = [
-    python3Packages.cython
+    cython
     djvulibre
     ghostscript_headless
     pkg-config
-    python3Packages.setuptools
+    setuptools
   ];
 
-  dependencies = with python3Packages; [
+  dependencies = [
     djvulibre
     ghostscript_headless
   ];
diff --git a/pkgs/development/python-modules/python-escpos/default.nix b/pkgs/development/python-modules/python-escpos/default.nix
index 894d07bc0044..c778e150e666 100644
--- a/pkgs/development/python-modules/python-escpos/default.nix
+++ b/pkgs/development/python-modules/python-escpos/default.nix
@@ -21,6 +21,7 @@
 
   jaconv,
   pytestCheckHook,
+  pytest-cov-stub,
   pytest-mock,
   scripttest,
   mock,
@@ -71,10 +72,6 @@ buildPythonPackage rec {
     # force the tests to use the module in $out
     rm -r src
 
-    # disable checking coverage
-    substituteInPlace pyproject.toml \
-        --replace-fail "--cov escpos --cov-report=xml" ""
-
     # allow tests to find the cli executable
     export PATH="$out/bin:$PATH"
   '';
@@ -82,6 +79,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     jaconv
     pytestCheckHook
+    pytest-cov-stub
     pytest-mock
     scripttest
     mock
diff --git a/pkgs/development/python-modules/python-gvm/default.nix b/pkgs/development/python-modules/python-gvm/default.nix
index 72ac564fac7d..52548a9b9254 100644
--- a/pkgs/development/python-modules/python-gvm/default.nix
+++ b/pkgs/development/python-modules/python-gvm/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "python-gvm";
-  version = "26.2.0";
+  version = "26.2.1";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "greenbone";
     repo = "python-gvm";
     tag = "v${version}";
-    hash = "sha256-xWNOUgTanOVYjvoZZkQBrKYr0z+dn0/ur5jdO549FXw=";
+    hash = "sha256-rYUqWuAnbT5XAvUJx0D7y9I0w8z8/jhvwAFtxCL/iGw=";
   };
 
   build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/python-ipmi/default.nix b/pkgs/development/python-modules/python-ipmi/default.nix
index 05d37544e30b..0aec0164d9d7 100644
--- a/pkgs/development/python-modules/python-ipmi/default.nix
+++ b/pkgs/development/python-modules/python-ipmi/default.nix
@@ -2,10 +2,7 @@
   lib,
   buildPythonPackage,
   fetchFromGitHub,
-  future,
-  mock,
   pytestCheckHook,
-  pythonOlder,
   setuptools,
 }:
 
@@ -14,8 +11,6 @@ buildPythonPackage rec {
   version = "0.5.7";
   pyproject = true;
 
-  disabled = pythonOlder "3.6";
-
   src = fetchFromGitHub {
     owner = "kontron";
     repo = "python-ipmi";
@@ -28,12 +23,9 @@ buildPythonPackage rec {
       --replace-fail "version=version," "version='${version}',"
   '';
 
-  nativeBuildInputs = [ setuptools ];
-
-  propagatedBuildInputs = [ future ];
+  build-system = [ setuptools ];
 
   nativeCheckInputs = [
-    mock
     pytestCheckHook
   ];
 
diff --git a/pkgs/development/python-modules/python-jose/cryptography-45.0.patch b/pkgs/development/python-modules/python-jose/cryptography-45.0.patch
deleted file mode 100644
index af69e729c941..000000000000
--- a/pkgs/development/python-modules/python-jose/cryptography-45.0.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-diff --git a/jose/backends/__init__.py b/jose/backends/__init__.py
-index e7bba69..9918969 100644
---- a/jose/backends/__init__.py
-+++ b/jose/backends/__init__.py
-@@ -1,10 +1,4 @@
--try:
--    from jose.backends.cryptography_backend import get_random_bytes  # noqa: F401
--except ImportError:
--    try:
--        from jose.backends.pycrypto_backend import get_random_bytes  # noqa: F401
--    except ImportError:
--        from jose.backends.native import get_random_bytes  # noqa: F401
-+from jose.backends.native import get_random_bytes  # noqa: F401
- 
- try:
-     from jose.backends.cryptography_backend import CryptographyRSAKey as RSAKey  # noqa: F401
-diff --git a/jose/backends/cryptography_backend.py b/jose/backends/cryptography_backend.py
-index 1525cf2..3dce986 100644
---- a/jose/backends/cryptography_backend.py
-+++ b/jose/backends/cryptography_backend.py
-@@ -26,33 +26,11 @@ from ..utils import (
-     long_to_base64,
- )
- from .base import Key
-+from . import get_random_bytes
- 
- _binding = None
- 
- 
--def get_random_bytes(num_bytes):
--    """
--    Get random bytes
--
--    Currently, Cryptography returns OS random bytes. If you want OpenSSL
--    generated random bytes, you'll have to switch the RAND engine after
--    initializing the OpenSSL backend
--    Args:
--        num_bytes (int): Number of random bytes to generate and return
--    Returns:
--        bytes: Random bytes
--    """
--    global _binding
--
--    if _binding is None:
--        _binding = Binding()
--
--    buf = _binding.ffi.new("char[]", num_bytes)
--    _binding.lib.RAND_bytes(buf, num_bytes)
--    rand_bytes = _binding.ffi.buffer(buf, num_bytes)[:]
--    return rand_bytes
--
--
- class CryptographyECKey(Key):
-     SHA256 = hashes.SHA256
-     SHA384 = hashes.SHA384
diff --git a/pkgs/development/python-modules/python-jose/default.nix b/pkgs/development/python-modules/python-jose/default.nix
index a8fb2212cbec..e4300f33859b 100644
--- a/pkgs/development/python-modules/python-jose/default.nix
+++ b/pkgs/development/python-modules/python-jose/default.nix
@@ -24,11 +24,6 @@ buildPythonPackage rec {
     hash = "sha256-8DQ0RBQ4ZgEIwcosgX3dzr928cYIQoH0obIOgk0+Ozs=";
   };
 
-  patches = [
-    # https://github.com/mpdavis/python-jose/pull/381
-    ./cryptography-45.0.patch
-  ];
-
   pythonRelaxDeps = [
     # https://github.com/mpdavis/python-jose/pull/376
     "pyasn1"
diff --git a/pkgs/development/python-modules/python-linkplay/default.nix b/pkgs/development/python-modules/python-linkplay/default.nix
index 3d1a7410c0f7..6a470b8608c9 100644
--- a/pkgs/development/python-modules/python-linkplay/default.nix
+++ b/pkgs/development/python-modules/python-linkplay/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "python-linkplay";
-  version = "0.2.9";
+  version = "0.2.12";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "Velleman";
     repo = "python-linkplay";
     tag = "v${version}";
-    hash = "sha256-syCqa9xDuAmsq9eh29PACchdLN1bPj/vCCt3a++LqE4=";
+    hash = "sha256-oE3ILnaUDWMNcN3ZAIQKmGgUTc/tqXYdZTX1bxuHBso=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/python-lsp-jsonrpc/default.nix b/pkgs/development/python-modules/python-lsp-jsonrpc/default.nix
index cbca9a65a80d..b215e67e9cdb 100644
--- a/pkgs/development/python-modules/python-lsp-jsonrpc/default.nix
+++ b/pkgs/development/python-modules/python-lsp-jsonrpc/default.nix
@@ -3,6 +3,7 @@
   buildPythonPackage,
   fetchFromGitHub,
   pytestCheckHook,
+  pytest-cov-stub,
   pythonOlder,
   setuptools,
   setuptools-scm,
@@ -23,11 +24,6 @@ buildPythonPackage rec {
     hash = "sha256-5WN/31e6WCgXVzevMuQbNjyo/2jjWDF+m48nrLKS+64=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace "--cov-report html --cov-report term --junitxml=pytest.xml --cov pylsp_jsonrpc --cov test" ""
-  '';
-
   nativeBuildInputs = [
     setuptools
     setuptools-scm
@@ -35,7 +31,10 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ ujson ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cov-stub
+  ];
 
   pythonImportsCheck = [ "pylsp_jsonrpc" ];
 
diff --git a/pkgs/development/python-modules/python-matter-server/default.nix b/pkgs/development/python-modules/python-matter-server/default.nix
index fe578226b3a1..b4b42736a2ab 100644
--- a/pkgs/development/python-modules/python-matter-server/default.nix
+++ b/pkgs/development/python-modules/python-matter-server/default.nix
@@ -28,6 +28,7 @@
   python,
   pytest,
   pytest-aiohttp,
+  pytest-cov-stub,
   pytestCheckHook,
 }:
 
@@ -56,16 +57,16 @@ in
 
 buildPythonPackage rec {
   pname = "python-matter-server";
-  version = "7.0.1";
+  version = "8.0.0";
   pyproject = true;
 
-  disabled = pythonOlder "3.10";
+  disabled = pythonOlder "3.12";
 
   src = fetchFromGitHub {
     owner = "home-assistant-libs";
     repo = "python-matter-server";
-    rev = "refs/tags/${version}";
-    hash = "sha256-kwN7mLSKrxsAydp7PnN7kTvvi5zQSpXVwMh2slL6aIA=";
+    tag = version;
+    hash = "sha256-9dMcofwvGYBnI+9y7D+TDwz+uLgBVhcS4iVU7AUqclI=";
   };
 
   patches = [
@@ -76,8 +77,7 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace 'version = "0.0.0"' 'version = "${version}"' \
-      --replace '--cov' ""
+      --replace-fail 'version = "0.0.0"' 'version = "${version}"'
   '';
 
   build-system = [
@@ -107,6 +107,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     aioresponses
     pytest-aiohttp
+    pytest-cov-stub
     pytestCheckHook
   ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
@@ -123,12 +124,12 @@ buildPythonPackage rec {
     "tests/server/ota/test_dcl.py"
   ];
 
-  meta = with lib; {
-    changelog = "https://github.com/home-assistant-libs/python-matter-server/releases/tag/${version}";
+  meta = {
+    changelog = "https://github.com/home-assistant-libs/python-matter-server/releases/tag/${src.tag}";
     description = "Python server to interact with Matter";
     mainProgram = "matter-server";
     homepage = "https://github.com/home-assistant-libs/python-matter-server";
-    license = licenses.asl20;
-    teams = [ teams.home-assistant ];
+    license = lib.licenses.asl20;
+    teams = [ lib.teams.home-assistant ];
   };
 }
diff --git a/pkgs/development/python-modules/python-octaviaclient/default.nix b/pkgs/development/python-modules/python-octaviaclient/default.nix
index d13c4228bb23..19a9ed79b428 100644
--- a/pkgs/development/python-modules/python-octaviaclient/default.nix
+++ b/pkgs/development/python-modules/python-octaviaclient/default.nix
@@ -30,13 +30,13 @@
 
 buildPythonPackage rec {
   pname = "python-octaviaclient";
-  version = "3.11.0";
+  version = "3.11.1";
   pyproject = true;
 
   src = fetchPypi {
     pname = "python_octaviaclient";
     inherit version;
-    hash = "sha256-IzB40LIn8iW7sO6eB8NgnpFc/vBhfZv4HLMXpgpdP1U=";
+    hash = "sha256-M+JRUMsTq46+UpqSKFzvtRXsaboUKTuqwWs29v09q04=";
   };
 
   # somehow python-neutronclient cannot be found despite it being supplied
diff --git a/pkgs/development/python-modules/python-olm/default.nix b/pkgs/development/python-modules/python-olm/default.nix
index 642af55ed786..c97468f35778 100644
--- a/pkgs/development/python-modules/python-olm/default.nix
+++ b/pkgs/development/python-modules/python-olm/default.nix
@@ -2,8 +2,8 @@
   buildPythonPackage,
   isPy3k,
   olm,
+  setuptools,
   cffi,
-  future,
   aspectlib,
   pytest-benchmark,
   pytestCheckHook,
@@ -11,8 +11,8 @@
 
 buildPythonPackage {
   pname = "python-olm";
-  format = "setuptools";
   inherit (olm) src version;
+  pyproject = true;
 
   disabled = !isPy3k;
 
@@ -23,9 +23,12 @@ buildPythonPackage {
     make include/olm/olm.h
   '';
 
-  propagatedBuildInputs = [
+  build-system = [
+    setuptools
+  ];
+
+  dependencies = [
     cffi
-    future
   ];
 
   propagatedNativeBuildInputs = [ cffi ];
@@ -38,6 +41,8 @@ buildPythonPackage {
     pytestCheckHook
   ];
 
+  pytestFlagsArray = [ "--benchmark-disable" ];
+
   meta = {
     inherit (olm.meta) license maintainers;
     description = "Python bindings for Olm";
diff --git a/pkgs/development/python-modules/python-opensky/default.nix b/pkgs/development/python-modules/python-opensky/default.nix
index ab4b8fdcd678..f572a63c6679 100644
--- a/pkgs/development/python-modules/python-opensky/default.nix
+++ b/pkgs/development/python-modules/python-opensky/default.nix
@@ -7,6 +7,7 @@
   poetry-core,
   pydantic,
   pytest-asyncio,
+  pytest-cov-stub,
   pytestCheckHook,
   pythonOlder,
   syrupy,
@@ -29,8 +30,7 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace 'version = "0.0.0"' 'version = "${version}"' \
-      --replace "--cov" ""
+      --replace 'version = "0.0.0"' 'version = "${version}"'
     substituteInPlace src/python_opensky/opensky.py \
       --replace ".joinpath(uri)" "/ uri"
   '';
@@ -46,6 +46,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     aresponses
     pytest-asyncio
+    pytest-cov-stub
     pytestCheckHook
     syrupy
   ];
diff --git a/pkgs/development/python-modules/python-openstackclient/default.nix b/pkgs/development/python-modules/python-openstackclient/default.nix
index 76a60bfcf362..a409f2cbc1ca 100644
--- a/pkgs/development/python-modules/python-openstackclient/default.nix
+++ b/pkgs/development/python-modules/python-openstackclient/default.nix
@@ -70,7 +70,8 @@ buildPythonPackage rec {
 
   checkPhase = ''
     runHook preCheck
-    stestr run
+    stestr run -E \
+      "openstackclient.tests.unit.network.v2.test_security_group_network.(TestCreateSecurityGroupNetwork.(test_create_with_tags|test_create_with_no_tag|test_create_min_options|test_create_all_options)|TestShowSecurityGroupNetwork.test_show_all_options)"
     runHook postCheck
   '';
 
diff --git a/pkgs/development/python-modules/python-stdnum/default.nix b/pkgs/development/python-modules/python-stdnum/default.nix
index 15647160b525..c7acea928a81 100644
--- a/pkgs/development/python-modules/python-stdnum/default.nix
+++ b/pkgs/development/python-modules/python-stdnum/default.nix
@@ -3,6 +3,7 @@
   buildPythonPackage,
   fetchPypi,
   pytestCheckHook,
+  pytest-cov-stub,
   pythonOlder,
   setuptools,
   zeep,
@@ -20,14 +21,12 @@ buildPythonPackage rec {
     hash = "sha256-rSos8usCXeQIIQI182tK4xJS3jGGJAzKqBJuEXy4JpA=";
   };
 
-  postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace-fail " --cov=stdnum --cov-report=term-missing:skip-covered --cov-report=html" ""
-  '';
-
   nativeBuildInputs = [ setuptools ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cov-stub
+  ];
 
   optional-dependencies = {
     SOAP = [ zeep ];
diff --git a/pkgs/development/python-modules/python-tado/default.nix b/pkgs/development/python-modules/python-tado/default.nix
index ea9e5085660a..7cde7aa3d8e6 100644
--- a/pkgs/development/python-modules/python-tado/default.nix
+++ b/pkgs/development/python-modules/python-tado/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "python-tado";
-  version = "0.18.14";
+  version = "0.18.15";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "wmalgadey";
     repo = "PyTado";
     tag = version;
-    hash = "sha256-ubaYa/TC0hctqjuv7QBi/dlIJjWrvo4i9AjAtOIqviU=";
+    hash = "sha256-FUnD5JVS816XQYqXGSDnypqcYuKVhEeFIFcENf8BkcU=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/pythonfinder/default.nix b/pkgs/development/python-modules/pythonfinder/default.nix
index cb36ba8f2dba..f8883feef364 100644
--- a/pkgs/development/python-modules/pythonfinder/default.nix
+++ b/pkgs/development/python-modules/pythonfinder/default.nix
@@ -5,6 +5,7 @@
   click,
   fetchFromGitHub,
   packaging,
+  pytest-cov-stub,
   pytest-timeout,
   pytestCheckHook,
   pythonOlder,
@@ -25,11 +26,6 @@ buildPythonPackage rec {
     hash = "sha256-CbaKXD7Sde8euRqvc/IHoXoSMF+dNd7vT9LkLWq4/IU=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace " --cov" ""
-  '';
-
   nativeBuildInputs = [ setuptools ];
 
   propagatedBuildInputs = [ packaging ] ++ lib.optionals (pythonOlder "3.8") [ cached-property ];
@@ -39,6 +35,7 @@ buildPythonPackage rec {
   };
 
   nativeCheckInputs = [
+    pytest-cov-stub
     pytest-timeout
     pytestCheckHook
   ] ++ lib.flatten (builtins.attrValues optional-dependencies);
diff --git a/pkgs/development/python-modules/pytorch-lightning/default.nix b/pkgs/development/python-modules/pytorch-lightning/default.nix
index 08c66c8114cb..7b5c48ee942f 100644
--- a/pkgs/development/python-modules/pytorch-lightning/default.nix
+++ b/pkgs/development/python-modules/pytorch-lightning/default.nix
@@ -24,14 +24,14 @@
 
 buildPythonPackage rec {
   pname = "pytorch-lightning";
-  version = "2.5.1.post0";
+  version = "2.5.2";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "Lightning-AI";
     repo = "pytorch-lightning";
     tag = version;
-    hash = "sha256-Vp9RpoyqHiMw3BchmenXgfmmm95uIjuhkhyq1ZrBiiI=";
+    hash = "sha256-zYPjMahC8/9uYomzSFMbswJoh+CcBsnO0h4pkgCxIcQ=";
   };
 
   preConfigure = ''
diff --git a/pkgs/development/python-modules/pytorch-pfn-extras/default.nix b/pkgs/development/python-modules/pytorch-pfn-extras/default.nix
index fab0a1a49e72..b870d3bf6fb2 100644
--- a/pkgs/development/python-modules/pytorch-pfn-extras/default.nix
+++ b/pkgs/development/python-modules/pytorch-pfn-extras/default.nix
@@ -22,14 +22,14 @@
 
 buildPythonPackage rec {
   pname = "pytorch-pfn-extras";
-  version = "0.8.2";
+  version = "0.8.3";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "pfnet";
     repo = "pytorch-pfn-extras";
     tag = "v${version}";
-    hash = "sha256-FQwCdn9zUWHyUYAGHPNxQXN7O0bSLBHJrByxzCxUtio=";
+    hash = "sha256-aTWPFYEc29qHOPRZu15p+x9DofMNRnTHnVEhxdPQ0Ak=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/pytouchline-extended/default.nix b/pkgs/development/python-modules/pytouchline-extended/default.nix
index d1acd2d5735e..8a482602004b 100644
--- a/pkgs/development/python-modules/pytouchline-extended/default.nix
+++ b/pkgs/development/python-modules/pytouchline-extended/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "pytouchline-extended";
-  version = "0.4.5";
+  version = "0.4.6";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "brondum";
     repo = "pytouchline";
     tag = version;
-    hash = "sha256-fcqm5fRuxB4YQkP48UclGgo4KohXu2OU7w1Nr6i9c6s=";
+    hash = "sha256-VENKzcIsh8KFvqG+JzwinkCNqQkPpSq3zusiGctGU+Y=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pyturbojpeg/default.nix b/pkgs/development/python-modules/pyturbojpeg/default.nix
index 735f0a928c81..8cfb975b808c 100644
--- a/pkgs/development/python-modules/pyturbojpeg/default.nix
+++ b/pkgs/development/python-modules/pyturbojpeg/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pyturbojpeg";
-  version = "1.7.7";
+  version = "1.8.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "lilohuang";
     repo = "PyTurboJPEG";
     tag = "v${version}";
-    hash = "sha256-JPjGZGVMZH6sDNRdV6kWsCpEjLT2aMrTy+bI4mRbdpw=";
+    hash = "sha256-4DPkzHjEsVjioRNLZii/5gZIEbj8A8rNkL8UXUQsgdY=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/pyvo/default.nix b/pkgs/development/python-modules/pyvo/default.nix
index a8f498e1043f..ebcff43ae6af 100644
--- a/pkgs/development/python-modules/pyvo/default.nix
+++ b/pkgs/development/python-modules/pyvo/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "pyvo";
-  version = "1.6.2";
+  version = "1.7";
   pyproject = true;
 
   disabled = pythonOlder "3.8"; # according to setup.cfg
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-6p6A8qMMOb5VZL9GVF99sK98bvX9HaKDbrQ1pQB/eAI=";
+    hash = "sha256-pvrZ79QQcy0RPlXfQ7AgHJrLLinydTLHG9pW84zmIyA=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/pyxdg/default.nix b/pkgs/development/python-modules/pyxdg/default.nix
index 035715c297a1..4b5be4303e8b 100644
--- a/pkgs/development/python-modules/pyxdg/default.nix
+++ b/pkgs/development/python-modules/pyxdg/default.nix
@@ -26,6 +26,6 @@ buildPythonPackage rec {
     homepage = "http://freedesktop.org/wiki/Software/pyxdg";
     description = "Contains implementations of freedesktop.org standards";
     license = licenses.lgpl2;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pyxnat/default.nix b/pkgs/development/python-modules/pyxnat/default.nix
index 3c7a50805264..2d5ae3787dbc 100644
--- a/pkgs/development/python-modules/pyxnat/default.nix
+++ b/pkgs/development/python-modules/pyxnat/default.nix
@@ -4,6 +4,7 @@
   fetchFromGitHub,
   pythonOlder,
   pytestCheckHook,
+  pytest-cov-stub,
   lxml,
   matplotlib,
   networkx,
@@ -37,11 +38,11 @@ buildPythonPackage rec {
   # pathlib is installed part of python38+ w/o an external package
   prePatch = ''
     substituteInPlace setup.py --replace-fail "pathlib>=1.0" ""
-    sed -i '/--cov/d' setup.cfg
   '';
 
   nativeCheckInputs = [
     pytestCheckHook
+    pytest-cov-stub
     matplotlib
     networkx
     pandas
diff --git a/pkgs/development/python-modules/pyyaml-ft/default.nix b/pkgs/development/python-modules/pyyaml-ft/default.nix
index 433f95f4db6e..65061acf48ec 100644
--- a/pkgs/development/python-modules/pyyaml-ft/default.nix
+++ b/pkgs/development/python-modules/pyyaml-ft/default.nix
@@ -1,6 +1,6 @@
 {
   buildPythonPackage,
-  cython,
+  cython_3_1,
   fetchFromGitHub,
   lib,
   libyaml,
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pyyaml-ft";
-  version = "7.0.1";
+  version = "8.0.0";
   pyproject = true;
 
   disabled = pythonOlder "3.13";
@@ -20,17 +20,17 @@ buildPythonPackage rec {
     owner = "Quansight-Labs";
     repo = "pyyaml-ft";
     tag = "v${version}";
-    hash = "sha256-hmHozVmqQuS+NqRN2SSEqNCemyKcBM19elhka4GykE0=";
+    hash = "sha256-GiXYpcAccKgROw144eOPY0gS0xW+3K/jRUl+JnBEaO8=";
   };
 
   build-system = [
-    cython
+    cython_3_1
     setuptools
   ];
 
   buildInputs = [ libyaml ];
 
-  pythonImportsCheck = [ "yaml" ];
+  pythonImportsCheck = [ "yaml_ft" ];
 
   nativeCheckInputs = [ pytestCheckHook ];
 
diff --git a/pkgs/development/python-modules/pyzerproc/default.nix b/pkgs/development/python-modules/pyzerproc/default.nix
index 79d3617e49f9..42c67a591965 100644
--- a/pkgs/development/python-modules/pyzerproc/default.nix
+++ b/pkgs/development/python-modules/pyzerproc/default.nix
@@ -7,6 +7,7 @@
   pytest-asyncio,
   pytest-mock,
   pythonAtLeast,
+  pytest-cov-stub,
   pytestCheckHook,
   pythonOlder,
 }:
@@ -25,10 +26,6 @@ buildPythonPackage rec {
     hash = "sha256-vS0sk/KjDhWispZvCuGlmVLLfeFymHqxwNzNqNRhg6k=";
   };
 
-  postPatch = ''
-    sed -i "/--cov/d" setup.cfg
-  '';
-
   propagatedBuildInputs = [
     bleak
     click
@@ -37,6 +34,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pytest-asyncio
     pytest-mock
+    pytest-cov-stub
     pytestCheckHook
   ];
 
diff --git a/pkgs/development/python-modules/qutip/default.nix b/pkgs/development/python-modules/qutip/default.nix
index dfed5e2a7ff8..aa0ef036c02c 100644
--- a/pkgs/development/python-modules/qutip/default.nix
+++ b/pkgs/development/python-modules/qutip/default.nix
@@ -29,14 +29,14 @@
 
 buildPythonPackage rec {
   pname = "qutip";
-  version = "5.1.1";
+  version = "5.2.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "qutip";
     repo = "qutip";
     tag = "v${version}";
-    hash = "sha256-5j47Wqt9i6vC3uwRzQ9+8pk+ENl5w6PvnP+830RLCls=";
+    hash = "sha256-jH/kpiR0cTIJraMU/ddZe7xX3CMYIV93oyfHfaKxif4=";
   };
 
   postPatch =
diff --git a/pkgs/development/python-modules/rapidfuzz/default.nix b/pkgs/development/python-modules/rapidfuzz/default.nix
index 8ae3726a2c3f..d7ac4bcde75a 100644
--- a/pkgs/development/python-modules/rapidfuzz/default.nix
+++ b/pkgs/development/python-modules/rapidfuzz/default.nix
@@ -3,6 +3,7 @@
   stdenv,
   buildPythonPackage,
   fetchFromGitHub,
+  fetchpatch,
   cmake,
   cython,
   ninja,
@@ -27,6 +28,15 @@ buildPythonPackage rec {
     hash = "sha256-vwAqlTq4HIbmCL1HsHcgfVWETImxdqTsnenmX2RGXw8=";
   };
 
+  patches = [
+    # https://github.com/rapidfuzz/RapidFuzz/pull/446
+    (fetchpatch {
+      name = "support-taskflow-3.10.0.patch";
+      url = "https://github.com/rapidfuzz/RapidFuzz/commit/bba3281cc61ecc4ab4affe5d2d50389a4f6d7556.patch";
+      hash = "sha256-kAS6xsPY7eUTfKO+EAOW8bktY4cApvLEpRMciJEsPgk=";
+    })
+  ];
+
   build-system = [
     cmake
     cython
diff --git a/pkgs/development/python-modules/ratelimit/default.nix b/pkgs/development/python-modules/ratelimit/default.nix
index 0e4bdaca35c1..d754357081c9 100644
--- a/pkgs/development/python-modules/ratelimit/default.nix
+++ b/pkgs/development/python-modules/ratelimit/default.nix
@@ -3,6 +3,7 @@
   buildPythonPackage,
   fetchFromGitHub,
   pytestCheckHook,
+  pytest-cov-stub,
 }:
 
 buildPythonPackage rec {
@@ -17,11 +18,10 @@ buildPythonPackage rec {
     sha256 = "04hy3hhh5xdqcsz0lx8j18zbj88kh5ik4wyi5d3a5sfy2hx70in2";
   };
 
-  postPatch = ''
-    sed -i "/--cov/d" pytest.ini
-  '';
-
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cov-stub
+  ];
 
   pytestFlagsArray = [ "tests" ];
 
diff --git a/pkgs/development/python-modules/ray/default.nix b/pkgs/development/python-modules/ray/default.nix
index 0e90279f86bc..f0d1dc4f5d11 100644
--- a/pkgs/development/python-modules/ray/default.nix
+++ b/pkgs/development/python-modules/ray/default.nix
@@ -64,7 +64,7 @@
 
 let
   pname = "ray";
-  version = "2.46.0";
+  version = "2.47.1";
 in
 buildPythonPackage rec {
   inherit pname version;
@@ -78,35 +78,35 @@ buildPythonPackage rec {
       platforms = {
         aarch64-darwin = "macosx_11_0_arm64";
         aarch64-linux = "manylinux2014_aarch64";
-        x86_64-darwin = "macosx_10_15_x86_64";
+        x86_64-darwin = "macosx_12_0_x86_64";
         x86_64-linux = "manylinux2014_x86_64";
       };
       # ./pkgs/development/python-modules/ray/prefetch.sh
       # Results are in ./ray-hashes.nix
       hashes = {
         x86_64-linux = {
-          cp310 = "sha256-wShQYIxXyK/ZYTqfdX13ZjxQ1L1Od7ovGBQlBSUgwBo=";
-          cp311 = "sha256-1N3tw/TUjfVkvO57ExyYyfiY/vCldIP0ujNfR/lRpi8=";
-          cp312 = "sha256-XOwe3ak/YY/9IwH4HVOYA38D+psWgl5+TYoArnqaQ4E=";
-          cp313 = "sha256-paKMCjEdLDIh3PcpxAiYpt+CRmu1ryHoG+BFPgmFat8=";
+          cp310 = "sha256-hKlrRyAXWgAAUhpI63qpFfO0Gbtc1hctje4AXD8juBM=";
+          cp311 = "sha256-SJYSKWFLK1alNb5RDIq8dumamqf6GVtclJvQxsaa9Ao=";
+          cp312 = "sha256-Pq6u7Du+LKZJPlMMMEc9hLhYCnrDJWu5GD2MY971qS8=";
+          cp313 = "sha256-JSpHHor7kYsQXNv/tMvrsBQ7qtdaBsj/zeJ6wxdXnMs=";
         };
         aarch64-linux = {
-          cp310 = "sha256-OWuRKk2/ZJZuL9/Kn6y8r+V7eSykhCrFrhdQf9vf6J8=";
-          cp311 = "sha256-gcjOi3ujPLYH7Hj16yVVRw4wRrsxdzLYKC6BibtYzL0=";
-          cp312 = "sha256-AGy+Go/cN2ZBFKohh3MQDuiROZeF4lbCAuSJWNLawWc=";
-          cp313 = "sha256-gI2uzh8SvYkkucY4Kg+Y2m9caIbPsnHtjYlAeolBPNU=";
+          cp310 = "sha256-b8ffhle432hLd8LRtkMTetdFqhwSreNHQ/BsynkAPfA=";
+          cp311 = "sha256-21/2UukDXwPGXhdCpwa3ZRn26KZ0TMAFOWBTrIdm/EY=";
+          cp312 = "sha256-zU5+tHVIc2S1IJljsXzv7ct/vTqBb9tt736lM+vXJCQ=";
+          cp313 = "sha256-1u1tGC4l1vdxedx3vJenScgXZbE8tnGkbbMgMCk4lmM=";
         };
         x86_64-darwin = {
-          cp310 = "sha256-cZJEuE33lQLl8JSX8lZhjZTXjWb7ryKUIgCKBWjToP8=";
-          cp311 = "sha256-lCulHeb5zX+y7RdhgYGvSM5rlRd0PTI12EbsMileynY=";
-          cp312 = "sha256-0fN+rSkpljcURyb4CcLg/5WN2cDnWTDvYUFW1qCjpX8=";
-          cp313 = "sha256-svwsQ+oKN1IRk8Ye+aJ7b8qNurEWpYpS/UQ0TNc+Hs4=";
+          cp310 = "sha256-fAOh42bTqGilX4wvco9c41rIXd8JOsgdDBo1vxwlw3c=";
+          cp311 = "sha256-/uuh5xXP2HN9OtzSAY0M2rt8YIT6Swk+Y45sfULzyVY=";
+          cp312 = "sha256-5tnHjlOsicq7xAVq7P7FPFBsaS4xMq+drpQdYYDvRi8=";
+          cp313 = "sha256-5XiSn1iz8MWcdUSpbYZOJieCOLdV0TzRmueYBwyEjlc=";
         };
         aarch64-darwin = {
-          cp310 = "sha256-Q3ioaRnmZDI4oQlPcRuH+o3BoYuZjUGQ9pqzPGSiKow=";
-          cp311 = "sha256-r4Tz7QhUu23igZLKngo7+h6zTWnxGK5jSFIhmIlkgMg=";
-          cp312 = "sha256-t6BkrP7ufwZ32ePyXa75xZWTVZ+up2S0Sj4sUzHV2DI=";
-          cp313 = "sha256-QpbdjAF0JWoE7ktUq+ATtoAqRfuF+3z9sTdSMZZdbU0=";
+          cp310 = "sha256-NqMJMOjSZecI35bzf28fVIT0uXCQ1QWRL5kuBFpp0xA=";
+          cp311 = "sha256-pkDUR+Dmz2P4W5IgyIPsArsrjkCpwdhO+gEnlcdpumg=";
+          cp312 = "sha256-MiBJxFRs9n5e/a2Qw3HFUIrLsZPlqq9AOBA8bFzh9Xg=";
+          cp313 = "sha256-jNYl1GnOFTkeXx9E3fjdMLI4D5F2A/oBcmYSKaywAR8=";
         };
       };
     in
diff --git a/pkgs/development/python-modules/rbtools/default.nix b/pkgs/development/python-modules/rbtools/default.nix
index 3ce319fe3786..e39600d2eb93 100644
--- a/pkgs/development/python-modules/rbtools/default.nix
+++ b/pkgs/development/python-modules/rbtools/default.nix
@@ -82,6 +82,6 @@ buildPythonPackage rec {
     description = "RBTools is a set of command line tools for working with Review Board and RBCommons";
     mainProgram = "rbt";
     license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ domenkozar ];
+    maintainers = with lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/recurring-ical-events/default.nix b/pkgs/development/python-modules/recurring-ical-events/default.nix
index bf220ef7b20c..a92d0568b8db 100644
--- a/pkgs/development/python-modules/recurring-ical-events/default.nix
+++ b/pkgs/development/python-modules/recurring-ical-events/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "recurring-ical-events";
-  version = "3.7.0";
+  version = "3.8.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "niccokunzmann";
     repo = "python-recurring-ical-events";
     tag = "v${version}";
-    hash = "sha256-N/Y3K/QyJ6Djy9h08wgNdDm1gdy19f+6tkcV6mLaSag=";
+    hash = "sha256-tkfrdyY5tBTX7I2h2mQzySxkITxRBbATfPluXxQAqmE=";
   };
 
   postPatch = ''
@@ -54,7 +54,7 @@ buildPythonPackage rec {
   pythonImportsCheck = [ "recurring_ical_events" ];
 
   meta = {
-    changelog = "https://github.com/niccokunzmann/python-recurring-ical-events/blob/${src.tag}/README.rst#changelog";
+    changelog = "https://github.com/niccokunzmann/python-recurring-ical-events/blob/${src.tag}/docs/changelog.md";
     description = "Repeat ICalendar events by RRULE, RDATE and EXDATE";
     homepage = "https://github.com/niccokunzmann/python-recurring-ical-events";
     license = lib.licenses.lgpl3Plus;
diff --git a/pkgs/development/python-modules/reflex-hosting-cli/default.nix b/pkgs/development/python-modules/reflex-hosting-cli/default.nix
index f3e3b3ccf8db..aea9e53115d5 100644
--- a/pkgs/development/python-modules/reflex-hosting-cli/default.nix
+++ b/pkgs/development/python-modules/reflex-hosting-cli/default.nix
@@ -18,14 +18,14 @@
 
 buildPythonPackage rec {
   pname = "reflex-hosting-cli";
-  version = "0.1.49";
+  version = "0.1.50";
   pyproject = true;
 
   # source is not published https://github.com/reflex-dev/reflex/issues/3762
   src = fetchPypi {
     pname = "reflex_hosting_cli";
     inherit version;
-    hash = "sha256-cIU2/hTxXtAsxn5twV8xGwAOcRfqBjeqL4dklXt5fkQ=";
+    hash = "sha256-1ZTTc09P/0rTNhiqsNDB2RMLcUjKt1rIWtufakkFWkg=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/development/python-modules/reikna/default.nix b/pkgs/development/python-modules/reikna/default.nix
index 6dee74d2b712..ab32dd6e5aaf 100644
--- a/pkgs/development/python-modules/reikna/default.nix
+++ b/pkgs/development/python-modules/reikna/default.nix
@@ -4,7 +4,7 @@
   buildPythonPackage,
   sphinx,
   pytest-cov-stub,
-  pytest,
+  pytestCheckHook,
   mako,
   numpy,
   funcsigs,
@@ -27,7 +27,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     sphinx
     pytest-cov-stub
-    pytest
+    pytestCheckHook
   ];
 
   propagatedBuildInputs =
@@ -39,10 +39,6 @@ buildPythonPackage rec {
     ++ lib.optional withCuda pycuda
     ++ lib.optional withOpenCL pyopencl;
 
-  checkPhase = ''
-    py.test
-  '';
-
   # Requires device
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/reolink-aio/default.nix b/pkgs/development/python-modules/reolink-aio/default.nix
index 5ae40b5523f1..2d4b2973feab 100644
--- a/pkgs/development/python-modules/reolink-aio/default.nix
+++ b/pkgs/development/python-modules/reolink-aio/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "reolink-aio";
-  version = "0.13.4";
+  version = "0.14.1";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "starkillerOG";
     repo = "reolink_aio";
     tag = version;
-    hash = "sha256-/r7aMZqX7JxvG/3FVXLABPP9zDOWhEmWaxzgIsb5SAk=";
+    hash = "sha256-+7Nn4SNilhH9wKxHfAOVArGi89ld7J4IzykHe7J0HWA=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/repoze-lru/default.nix b/pkgs/development/python-modules/repoze-lru/default.nix
index 1fbfd2994736..1178d9c1e977 100644
--- a/pkgs/development/python-modules/repoze-lru/default.nix
+++ b/pkgs/development/python-modules/repoze-lru/default.nix
@@ -38,6 +38,6 @@ buildPythonPackage rec {
     homepage = "http://www.repoze.org/";
     changelog = "https://github.com/repoze/repoze.lru/blob/${version}/CHANGES.rst";
     license = licenses.bsd0;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/repoze-sphinx-autointerface/default.nix b/pkgs/development/python-modules/repoze-sphinx-autointerface/default.nix
index ca7c14c1e2d9..17bb5a08a129 100644
--- a/pkgs/development/python-modules/repoze-sphinx-autointerface/default.nix
+++ b/pkgs/development/python-modules/repoze-sphinx-autointerface/default.nix
@@ -47,7 +47,7 @@ buildPythonPackage rec {
     description = "Auto-generate Sphinx API docs from Zope interfaces";
     changelog = "https://github.com/repoze/repoze.sphinx.autointerface/blob/${version}/CHANGES.rst";
     license = licenses.bsd0;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
     # https://github.com/repoze/repoze.sphinx.autointerface/issues/21
     broken = versionAtLeast sphinx.version "7.2";
   };
diff --git a/pkgs/development/python-modules/requests/CVE-2024-47081.patch b/pkgs/development/python-modules/requests/CVE-2024-47081.patch
new file mode 100644
index 000000000000..61d722b9aa97
--- /dev/null
+++ b/pkgs/development/python-modules/requests/CVE-2024-47081.patch
@@ -0,0 +1,28 @@
+From 57acb7c26d809cf864ec439b8bcd6364702022d5 Mon Sep 17 00:00:00 2001
+From: Nate Prewitt 
+Date: Wed, 25 Sep 2024 08:03:20 -0700
+Subject: [PATCH] Only use hostname to do netrc lookup instead of netloc
+
+---
+ src/requests/utils.py | 8 +-------
+ 1 file changed, 1 insertion(+), 7 deletions(-)
+
+diff --git a/src/requests/utils.py b/src/requests/utils.py
+index 699683e5d9..8a307ca8a0 100644
+--- a/src/requests/utils.py
++++ b/src/requests/utils.py
+@@ -236,13 +236,7 @@ def get_netrc_auth(url, raise_errors=False):
+             return
+ 
+         ri = urlparse(url)
+-
+-        # Strip port numbers from netloc. This weird `if...encode`` dance is
+-        # used for Python 3.2, which doesn't support unicode literals.
+-        splitstr = b":"
+-        if isinstance(url, str):
+-            splitstr = splitstr.decode("ascii")
+-        host = ri.netloc.split(splitstr)[0]
++        host = ri.hostname
+ 
+         try:
+             _netrc = netrc(netrc_path).authenticators(host)
diff --git a/pkgs/development/python-modules/requests/default.nix b/pkgs/development/python-modules/requests/default.nix
index cc80e5bb0de0..99187427d880 100644
--- a/pkgs/development/python-modules/requests/default.nix
+++ b/pkgs/development/python-modules/requests/default.nix
@@ -33,6 +33,9 @@ buildPythonPackage rec {
     # https://github.com/psf/requests/issues/6730
     # https://github.com/psf/requests/pull/6731
     ./ca-load-regression.patch
+
+    # https://seclists.org/fulldisclosure/2025/Jun/2
+    ./CVE-2024-47081.patch
   ];
 
   dependencies = [
diff --git a/pkgs/development/python-modules/respx/default.nix b/pkgs/development/python-modules/respx/default.nix
index c2252ebebe85..866edec08888 100644
--- a/pkgs/development/python-modules/respx/default.nix
+++ b/pkgs/development/python-modules/respx/default.nix
@@ -6,6 +6,7 @@
   httpcore,
   httpx,
   pytest-asyncio,
+  pytest-cov-stub,
   pytestCheckHook,
   pythonOlder,
   setuptools,
@@ -27,10 +28,6 @@ buildPythonPackage rec {
     hash = "sha256-T3DLNXJykSF/HXjlmQdJ2CG4d+U1eTa+XWcgtT3dhl4=";
   };
 
-  postPatch = ''
-    sed -i "/--cov/d" setup.cfg
-  '';
-
   build-system = [ setuptools ];
 
   dependencies = [ httpx ];
@@ -40,6 +37,7 @@ buildPythonPackage rec {
     httpx
     flask
     pytest-asyncio
+    pytest-cov-stub
     pytestCheckHook
     starlette
     trio
diff --git a/pkgs/development/python-modules/rlcard/default.nix b/pkgs/development/python-modules/rlcard/default.nix
index bd92e40b5983..860f66d40e05 100644
--- a/pkgs/development/python-modules/rlcard/default.nix
+++ b/pkgs/development/python-modules/rlcard/default.nix
@@ -34,6 +34,16 @@ buildPythonPackage rec {
     })
   ];
 
+  # AttributeError: 'numpy.ndarray' object has no attribute 'tostring'
+  # tobytes() has the exact same behavior as tostring()
+  # https://github.com/datamllab/rlcard/pull/328
+  postPatch = ''
+    substituteInPlace rlcard/agents/cfr_agent.py \
+      --replace-fail \
+        "state['obs'].tostring()" \
+        "state['obs'].tobytes()"
+  '';
+
   build-system = [
     setuptools
     wheel
diff --git a/pkgs/development/python-modules/robotframework-assertion-engine/default.nix b/pkgs/development/python-modules/robotframework-assertion-engine/default.nix
new file mode 100644
index 000000000000..e2cbd708d515
--- /dev/null
+++ b/pkgs/development/python-modules/robotframework-assertion-engine/default.nix
@@ -0,0 +1,40 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchPypi,
+  poetry-core,
+  robotframework,
+  robotframework-pythonlibcore,
+}:
+
+buildPythonPackage rec {
+  pname = "robotframework-assertion-engine";
+  version = "3.0.3";
+  pyproject = true;
+
+  src = fetchPypi {
+    pname = "robotframework_assertion_engine";
+    inherit version;
+    hash = "sha256-HGCNTGnZZSCYah3cbe8Px/foSVIPHmiCpjO1HbuY/Yg=";
+  };
+
+  build-system = [
+    poetry-core
+  ];
+
+  dependencies = [
+    robotframework
+    robotframework-pythonlibcore
+  ];
+
+  pythonImportsCheck = [
+    "assertionengine"
+  ];
+
+  meta = {
+    description = "Generic way to create meaningful and easy to use assertions for the Robot Framework libraries";
+    homepage = "https://pypi.org/project/robotframework-assertion-engine/";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ bjornfor ];
+  };
+}
diff --git a/pkgs/development/python-modules/robotframework-databaselibrary/default.nix b/pkgs/development/python-modules/robotframework-databaselibrary/default.nix
index 06982dfdded0..efc09a7c95f3 100644
--- a/pkgs/development/python-modules/robotframework-databaselibrary/default.nix
+++ b/pkgs/development/python-modules/robotframework-databaselibrary/default.nix
@@ -4,6 +4,7 @@
   fetchFromGitHub,
   setuptools,
   robotframework,
+  robotframework-assertion-engine,
   robotframework-excellib,
   pytestCheckHook,
 }:
@@ -27,6 +28,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     robotframework
+    robotframework-assertion-engine
     robotframework-excellib
   ];
 
diff --git a/pkgs/development/python-modules/rokuecp/default.nix b/pkgs/development/python-modules/rokuecp/default.nix
index 2578ea13531c..71b341b4d10d 100644
--- a/pkgs/development/python-modules/rokuecp/default.nix
+++ b/pkgs/development/python-modules/rokuecp/default.nix
@@ -9,6 +9,7 @@
   fetchFromGitHub,
   poetry-core,
   pytest-asyncio,
+  pytest-cov-stub,
   pytest-freezegun,
   pytestCheckHook,
   pythonOlder,
@@ -18,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "rokuecp";
-  version = "0.19.4";
+  version = "0.19.5";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -27,13 +28,12 @@ buildPythonPackage rec {
     owner = "ctalkington";
     repo = "python-rokuecp";
     tag = version;
-    hash = "sha256-GotVSRSMdbAtDmVEXNizf5Pf/02sva1R/6ULL6h7ciY=";
+    hash = "sha256-HPJORJQ/LqWCpywiZmwFXKKFRE8V9kG5iDrbzPX2YVg=";
   };
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace-fail 'version = "0.0.0"' 'version = "${version}"' \
-      --replace-fail "--cov" ""
+      --replace-fail 'version = "0.0.0"' 'version = "${version}"'
   '';
 
   build-system = [ poetry-core ];
@@ -50,6 +50,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     aresponses
     pytest-asyncio
+    pytest-cov-stub
     pytest-freezegun
     pytestCheckHook
   ];
diff --git a/pkgs/development/python-modules/s3transfer/default.nix b/pkgs/development/python-modules/s3transfer/default.nix
index 358fee1ad867..24a24150b11f 100644
--- a/pkgs/development/python-modules/s3transfer/default.nix
+++ b/pkgs/development/python-modules/s3transfer/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "s3transfer";
-  version = "0.12.0";
+  version = "0.13.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "boto";
     repo = "s3transfer";
     tag = version;
-    hash = "sha256-CCsZUQHP/DsRozynbDeVOuAXjRAy+klaPGVJY3h/FAs=";
+    hash = "sha256-Ou3U7IPGJdK9exOLMgPFoTbOQi9IA+ivoGVOygB4ACE=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/sagemaker-core/default.nix b/pkgs/development/python-modules/sagemaker-core/default.nix
index f2f987261b15..0a6eed7c56dc 100644
--- a/pkgs/development/python-modules/sagemaker-core/default.nix
+++ b/pkgs/development/python-modules/sagemaker-core/default.nix
@@ -28,14 +28,14 @@
 
 buildPythonPackage rec {
   pname = "sagemaker-core";
-  version = "1.0.36";
+  version = "1.0.37";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = "sagemaker-core";
     tag = "v${version}";
-    hash = "sha256-3nsBzpkreyavjZoyA96DWK9lV9YrOB6SyrpLFqX4ZP8=";
+    hash = "sha256-MnCBsJiXVHaDm6Cn4F7LUTDyFQBt2jALHXyTGNjlsZw=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/sanic-ext/default.nix b/pkgs/development/python-modules/sanic-ext/default.nix
index 581b44962816..17c33e3563fa 100644
--- a/pkgs/development/python-modules/sanic-ext/default.nix
+++ b/pkgs/development/python-modules/sanic-ext/default.nix
@@ -18,7 +18,7 @@
   msgspec,
   pydantic,
   pytest,
-  pytest-cov,
+  pytest-cov-stub,
   pytest-asyncio,
   tox,
   jinja2,
@@ -51,7 +51,7 @@ buildPythonPackage rec {
     msgspec
     pydantic
     pytest
-    pytest-cov
+    pytest-cov-stub
     pytest-asyncio
     tox
     jinja2
diff --git a/pkgs/development/python-modules/scheduler/default.nix b/pkgs/development/python-modules/scheduler/default.nix
index 9a4c6f6d36ae..1b6dfc89bfff 100644
--- a/pkgs/development/python-modules/scheduler/default.nix
+++ b/pkgs/development/python-modules/scheduler/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "scheduler";
-  version = "0.8.5";
+  version = "0.8.8";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-8t1AUbD6cpETSoqoY88bSZmj7FuaF6c+7kJDJX2Lp4k=";
+    hash = "sha256-RXWhLNJp5OSJZAmDb9kRVgy2P7djQ2DuYqovpOxJX/0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/schwifty/default.nix b/pkgs/development/python-modules/schwifty/default.nix
index 815e8903b73c..ab4e65e62b26 100644
--- a/pkgs/development/python-modules/schwifty/default.nix
+++ b/pkgs/development/python-modules/schwifty/default.nix
@@ -23,14 +23,14 @@
 
 buildPythonPackage rec {
   pname = "schwifty";
-  version = "2025.1.0";
+  version = "2025.6.0";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-9JLzy+o76x/gvxGokHXm5BOl9QDuGv2ymhJKmomxoso=";
+    hash = "sha256-q62H94Kjj2N9bnHn3XuxmGuwkReFI0FgvrvnF/vsuLQ=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/scikit-rf/default.nix b/pkgs/development/python-modules/scikit-rf/default.nix
index 6d2a4a8074c7..7948fe945b72 100644
--- a/pkgs/development/python-modules/scikit-rf/default.nix
+++ b/pkgs/development/python-modules/scikit-rf/default.nix
@@ -21,6 +21,7 @@
   openpyxl,
   setuptools,
   pytestCheckHook,
+  pytest-cov-stub,
   pytest-mock,
 }:
 
@@ -38,11 +39,6 @@ buildPythonPackage rec {
     hash = "sha256-Ovrr1U7VuuGKDNSBSCyYSz3DNpaJrA57ccl4AFdzC5E=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace-fail "--cov=skrf" ""
-  '';
-
   build-system = [ setuptools ];
 
   dependencies = [
@@ -78,6 +74,7 @@ buildPythonPackage rec {
     openpyxl
     networkx
     pytestCheckHook
+    pytest-cov-stub
   ];
 
   # test_calibration.py generates a divide by zero error on darwin
diff --git a/pkgs/development/python-modules/scim2-models/default.nix b/pkgs/development/python-modules/scim2-models/default.nix
index 72b184d0ddd7..a3e2681e7ad9 100644
--- a/pkgs/development/python-modules/scim2-models/default.nix
+++ b/pkgs/development/python-modules/scim2-models/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "scim2-models";
-  version = "0.3.3";
+  version = "0.3.5";
 
   pyproject = true;
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit version;
     pname = "scim2_models";
-    hash = "sha256-od+1KaAwmZ1slsACYRYRpy92xz5s8hcopz0LiwVJhfA=";
+    hash = "sha256-nOLCYyyB7Si+KfwdWM7DCkDoaVEj/coUA//ZW3hKHuA=";
   };
 
   build-system = [ hatchling ];
diff --git a/pkgs/development/python-modules/scipp/default.nix b/pkgs/development/python-modules/scipp/default.nix
new file mode 100644
index 000000000000..1a8d5c800759
--- /dev/null
+++ b/pkgs/development/python-modules/scipp/default.nix
@@ -0,0 +1,114 @@
+{
+  lib,
+  stdenv,
+  buildPythonPackage,
+  fetchFromGitHub,
+
+  # build-system
+  scikit-build-core,
+  setuptools,
+  setuptools-scm,
+
+  # nativeBuildInputs
+  cmake,
+  ninja,
+
+  # dependencies
+  numpy,
+  units-llnl,
+
+  # buildInputs
+  boost,
+  eigen,
+  gtest,
+  pybind11,
+  tbb_2022,
+
+  # tests
+  pytestCheckHook,
+  scipy,
+  beautifulsoup4,
+  ipython,
+  matplotlib,
+  pandas,
+  numba,
+  xarray,
+  h5py,
+  hypothesis,
+}:
+
+buildPythonPackage rec {
+  pname = "scipp";
+  version = "25.05.1";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "scipp";
+    repo = "Scipp";
+    # https://github.com/scipp/scipp/pull/3722
+    tag = version;
+    hash = "sha256-AanXb+nF/YIZFuzG5UnoNPX97WScfPKuoSBY18uYt9k=";
+  };
+  env = {
+    SKIP_CONAN = "true";
+  };
+
+  build-system = [
+    scikit-build-core
+    setuptools
+    setuptools-scm
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    ninja
+  ];
+  dontUseCmakeConfigure = true;
+
+  dependencies = [
+    numpy
+  ];
+
+  buildInputs = [
+    boost
+    eigen
+    gtest
+    pybind11
+    units-llnl.passthru.top-level
+    tbb_2022
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    scipy
+    beautifulsoup4
+    ipython
+    matplotlib
+    pandas
+    numba
+    xarray
+    h5py
+    hypothesis
+  ];
+  pytestFlagsArray = [
+    # See https://github.com/scipp/scipp/issues/3721
+    "--hypothesis-profile=ci"
+  ];
+
+  pythonImportsCheck = [
+    "scipp"
+  ];
+
+  meta = {
+    description = "Multi-dimensional data arrays with labeled dimensions";
+    homepage = "https://scipp.github.io";
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ doronbehar ];
+    # Got:
+    #
+    #   error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
+    #
+    # Needs debugging along with upstream.
+    broken = stdenv.hostPlatform.isDarwin;
+  };
+}
diff --git a/pkgs/development/python-modules/segments/default.nix b/pkgs/development/python-modules/segments/default.nix
index 322446fd0353..2430355860a0 100644
--- a/pkgs/development/python-modules/segments/default.nix
+++ b/pkgs/development/python-modules/segments/default.nix
@@ -8,6 +8,7 @@
   csvw,
   clldutils,
   pytestCheckHook,
+  pytest-cov-stub,
   pytest-mock,
 }:
 
@@ -24,11 +25,6 @@ buildPythonPackage rec {
     sha256 = "sha256-Z9AQnsK/0HUCZDzdpQKNfSBWxfAOjWNBytcfI6yBY84=";
   };
 
-  patchPhase = ''
-    substituteInPlace setup.cfg \
-      --replace-fail "--cov" ""
-  '';
-
   nativeBuildInputs = [ setuptools ];
 
   propagatedBuildInputs = [
@@ -39,6 +35,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
+    pytest-cov-stub
     pytest-mock
   ];
 
diff --git a/pkgs/development/python-modules/semver/default.nix b/pkgs/development/python-modules/semver/default.nix
index 0886e5fedb2c..0ea077a03505 100644
--- a/pkgs/development/python-modules/semver/default.nix
+++ b/pkgs/development/python-modules/semver/default.nix
@@ -23,11 +23,6 @@ buildPythonPackage rec {
     hash = "sha256-ry6r2cY/DRTiPxT+ZiumgFbQyHNzL8i1QcQbLWjnDVE=";
   };
 
-  postPatch = ''
-    sed -i "/--cov/d" setup.cfg
-    sed -i "/--no-cov-on-fail/d" setup.cfg
-  '';
-
   build-system = [
     setuptools
     setuptools-scm
diff --git a/pkgs/development/python-modules/sendgrid/default.nix b/pkgs/development/python-modules/sendgrid/default.nix
index 660fff341efb..cda996c0ec91 100644
--- a/pkgs/development/python-modules/sendgrid/default.nix
+++ b/pkgs/development/python-modules/sendgrid/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "sendgrid";
-  version = "6.12.3";
+  version = "6.12.4";
   pyproject = true;
 
   disabled = pythonOlder "3.6";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = "sendgrid-python";
     tag = version;
-    hash = "sha256-7j/V731e+eXFW42WRHuJpZ3OFObVXLOgl81Ww3EAApU=";
+    hash = "sha256-TXFoNipUVaSvNquMy9xHHu0h5qxxvWTRw4JUK4acl3E=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/sensor-state-data/default.nix b/pkgs/development/python-modules/sensor-state-data/default.nix
index 58d85e20122c..fd414913be3e 100644
--- a/pkgs/development/python-modules/sensor-state-data/default.nix
+++ b/pkgs/development/python-modules/sensor-state-data/default.nix
@@ -4,6 +4,7 @@
   fetchFromGitHub,
   poetry-core,
   pytestCheckHook,
+  pytest-cov-stub,
   pythonOlder,
 }:
 
@@ -23,12 +24,10 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ poetry-core ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
-
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace " --cov=sensor_state_data --cov-report=term-missing:skip-covered" ""
-  '';
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cov-stub
+  ];
 
   pythonImportsCheck = [ "sensor_state_data" ];
 
diff --git a/pkgs/development/python-modules/sensorpush-api/default.nix b/pkgs/development/python-modules/sensorpush-api/default.nix
index bcb72414c4de..d4d9cb64784e 100644
--- a/pkgs/development/python-modules/sensorpush-api/default.nix
+++ b/pkgs/development/python-modules/sensorpush-api/default.nix
@@ -12,22 +12,18 @@
 
 buildPythonPackage rec {
   pname = "sensorpush-api";
-  version = "2.1.2";
+  version = "2.1.3";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "sstallion";
     repo = "sensorpush-api";
     tag = "v${version}";
-    hash = "sha256-0cB0F1Clf3rpAOSTa/YcEMchBIQv+0cQwsGE1qlroKA=";
+    hash = "sha256-T/qROLlzgiRN4T8lwyXoD/8EtTqQY2+D8AXNKu5MeNE=";
   };
 
   build-system = [ setuptools ];
 
-  pythonRelaxDeps = [
-    "urllib3"
-  ];
-
   dependencies = [
     aiohttp
     pydantic
diff --git a/pkgs/development/python-modules/shtab/default.nix b/pkgs/development/python-modules/shtab/default.nix
index f966690fff9b..f89577c49a5a 100644
--- a/pkgs/development/python-modules/shtab/default.nix
+++ b/pkgs/development/python-modules/shtab/default.nix
@@ -4,6 +4,7 @@
   fetchFromGitHub,
   pytest-timeout,
   pytestCheckHook,
+  pytest-cov-stub,
   pythonOlder,
   setuptools,
   setuptools-scm,
@@ -24,11 +25,6 @@ buildPythonPackage rec {
     hash = "sha256-8bAwLSdJCzFw5Vf9CKBrH5zOoojeXds7aIRncl+sLBI=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace-fail " --cov=shtab --cov-report=term-missing --cov-report=xml" ""
-  '';
-
   nativeBuildInputs = [
     setuptools
     setuptools-scm
@@ -38,6 +34,7 @@ buildPythonPackage rec {
     bashInteractive
     pytest-timeout
     pytestCheckHook
+    pytest-cov-stub
   ];
 
   pythonImportsCheck = [ "shtab" ];
diff --git a/pkgs/development/python-modules/signxml/default.nix b/pkgs/development/python-modules/signxml/default.nix
index d848c9b77581..e95ce8284894 100644
--- a/pkgs/development/python-modules/signxml/default.nix
+++ b/pkgs/development/python-modules/signxml/default.nix
@@ -8,12 +8,13 @@
   pyopenssl,
   pytestCheckHook,
   pythonOlder,
-  setuptools,
+  hatchling,
+  hatch-vcs,
 }:
 
 buildPythonPackage rec {
   pname = "signxml";
-  version = "4.0.3";
+  version = "4.0.5";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -22,10 +23,13 @@ buildPythonPackage rec {
     owner = "XML-Security";
     repo = "signxml";
     tag = "v${version}";
-    hash = "sha256-TZqYNYVzGEhftP/RXiBtThK38AOPLi2DRAwnFh2Za5U=";
+    hash = "sha256-dO7erKXyX/3qwWVC1laABOb+0yAkCy51rrnG1opL6pY=";
   };
 
-  build-system = [ setuptools ];
+  build-system = [
+    hatchling
+    hatch-vcs
+  ];
 
   dependencies = [
     certifi
diff --git a/pkgs/development/python-modules/simple-parsing/default.nix b/pkgs/development/python-modules/simple-parsing/default.nix
index 5192030544f2..8943716ef4b6 100644
--- a/pkgs/development/python-modules/simple-parsing/default.nix
+++ b/pkgs/development/python-modules/simple-parsing/default.nix
@@ -66,6 +66,8 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  pytestFlagsArray = [ "--benchmark-disable" ];
+
   disabledTests = [
     # AssertionError
     # https://github.com/lebrice/SimpleParsing/issues/338
diff --git a/pkgs/development/python-modules/simple-rest-client/default.nix b/pkgs/development/python-modules/simple-rest-client/default.nix
index 023b604c8a57..5607a169bdbb 100644
--- a/pkgs/development/python-modules/simple-rest-client/default.nix
+++ b/pkgs/development/python-modules/simple-rest-client/default.nix
@@ -4,6 +4,7 @@
   fetchFromGitHub,
   httpx,
   pytest-asyncio,
+  pytest-cov-stub,
   pytest-httpserver,
   pytestCheckHook,
   python-slugify,
@@ -33,6 +34,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytest-asyncio
+    pytest-cov-stub
     pytest-httpserver
     pytestCheckHook
   ];
@@ -40,8 +42,6 @@ buildPythonPackage rec {
   postPatch = ''
     substituteInPlace setup.py \
       --replace "pytest-runner" ""
-    substituteInPlace pytest.ini \
-      --replace " --cov=simple_rest_client --cov-report=term-missing" ""
     substituteInPlace requirements-dev.txt \
       --replace "asyncmock" ""
   '';
diff --git a/pkgs/development/python-modules/simsimd/default.nix b/pkgs/development/python-modules/simsimd/default.nix
index d01b7de53831..e04394dc3f93 100644
--- a/pkgs/development/python-modules/simsimd/default.nix
+++ b/pkgs/development/python-modules/simsimd/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "simsimd";
-  version = "6.4.7";
+  version = "6.4.9";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "ashvardanian";
     repo = "simsimd";
     tag = "v${version}";
-    hash = "sha256-FM1ge3opt0hwVSjNQWOAYeG6tDIwVLSbu9mZOJBxvJY=";
+    hash = "sha256-q992FqXRmsMk3PJ/b3+BQcytitlDdk3hcLWRrZIZFXY=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/sklearn-compat/default.nix b/pkgs/development/python-modules/sklearn-compat/default.nix
index 3fd17c6cade4..e4bdc1a2d85f 100644
--- a/pkgs/development/python-modules/sklearn-compat/default.nix
+++ b/pkgs/development/python-modules/sklearn-compat/default.nix
@@ -6,7 +6,7 @@
   scikit-learn,
   pandas,
   pytestCheckHook,
-  pytest-cov,
+  pytest-cov-stub,
   pytest-xdist,
   pytz,
 }:
@@ -34,7 +34,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pandas
     pytestCheckHook
-    pytest-cov
+    pytest-cov-stub
     pytest-xdist
     pytz
   ];
diff --git a/pkgs/development/python-modules/skorch/default.nix b/pkgs/development/python-modules/skorch/default.nix
index 0cb024b3ce2f..1b88c9a8ed46 100644
--- a/pkgs/development/python-modules/skorch/default.nix
+++ b/pkgs/development/python-modules/skorch/default.nix
@@ -96,5 +96,10 @@ buildPythonPackage rec {
     changelog = "https://github.com/skorch-dev/skorch/blob/master/CHANGES.md";
     license = lib.licenses.bsd3;
     maintainers = with lib.maintainers; [ bcdarwin ];
+    badPlatforms = [
+      # Most tests fail with:
+      # Fatal Python error: Segmentation fault
+      lib.systems.inspect.patterns.isDarwin
+    ];
   };
 }
diff --git a/pkgs/development/python-modules/smolagents/default.nix b/pkgs/development/python-modules/smolagents/default.nix
index 4aa0bfc487c8..2ee92a75222d 100644
--- a/pkgs/development/python-modules/smolagents/default.nix
+++ b/pkgs/development/python-modules/smolagents/default.nix
@@ -1,47 +1,65 @@
 {
   lib,
   stdenv,
-  accelerate,
   buildPythonPackage,
-  boto3,
-  docker,
-  duckduckgo-search,
   fetchFromGitHub,
-  gradio,
+
+  # build-system
+  setuptools,
+
+  # dependencies
   huggingface-hub,
   jinja2,
-  ipython,
-  litellm,
-  markdownify,
-  mcp,
-  mcpadapt,
-  openai,
-  pandas,
   pillow,
-  pytest-datadir,
-  pytestCheckHook,
   python-dotenv,
   requests,
   rich,
-  setuptools,
+
+  # optional-dependencies
+  # audio
   soundfile,
+  # bedrock
+  boto3,
+  # docker
+  docker,
+  websocket-client,
+  # gradio
+  gradio,
+  # litellm
+  litellm,
+  # mcp
+  mcp,
+  mcpadapt,
+  # openai
+  openai,
+  # toolkit
+  duckduckgo-search,
+  markdownify,
+  # torch
+  numpy,
   torch,
   torchvision,
+  # transformers
+  accelerate,
   transformers,
-  websocket-client,
+
+  # tests
+  ipython,
+  pytest-datadir,
+  pytestCheckHook,
   wikipedia-api,
 }:
 
 buildPythonPackage rec {
   pname = "smolagents";
-  version = "1.17.0";
+  version = "1.18.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "huggingface";
     repo = "smolagents";
     tag = "v${version}";
-    hash = "sha256-BMyLN8eNGBhywpN/EEE8hFf4Wb5EDpZvqBbX0ojRYec=";
+    hash = "sha256-pRpogmVes8ZX19GZff+HmGdykvMnBJ7hGsoYsUGVOSY=";
   };
 
   build-system = [ setuptools ];
@@ -49,19 +67,16 @@ buildPythonPackage rec {
   pythonRelaxDeps = [ "pillow" ];
 
   dependencies = [
-    duckduckgo-search
     huggingface-hub
     jinja2
-    markdownify
-    pandas
     pillow
     python-dotenv
     requests
     rich
   ];
 
-  optional-dependencies = {
-    audio = [ soundfile ];
+  optional-dependencies = lib.fix (self: {
+    audio = [ soundfile ] ++ self.torch;
     bedrock = [ boto3 ];
     docker = [
       docker
@@ -85,14 +100,19 @@ buildPythonPackage rec {
     #   opentelemetry-exporter-otlp
     #   opentelemetry-sdk
     # ];
+    toolkit = [
+      duckduckgo-search
+      markdownify
+    ];
     torch = [
+      numpy
       torch
       torchvision
     ];
     transformers = [
       accelerate
       transformers
-    ];
+    ] ++ self.torch;
     # vision = [
     #   helium
     #   selenium
@@ -101,7 +121,7 @@ buildPythonPackage rec {
     #   torch
     #   vllm
     # ];
-  };
+  });
 
   nativeCheckInputs = [
     ipython
diff --git a/pkgs/development/python-modules/snowflake-sqlalchemy/default.nix b/pkgs/development/python-modules/snowflake-sqlalchemy/default.nix
index 5d08a3531586..3062d7b8758d 100644
--- a/pkgs/development/python-modules/snowflake-sqlalchemy/default.nix
+++ b/pkgs/development/python-modules/snowflake-sqlalchemy/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "snowflake-sqlalchemy";
-  version = "1.7.3";
+  version = "1.7.4";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "snowflakedb";
     repo = "snowflake-sqlalchemy";
     tag = "v${version}";
-    hash = "sha256-E3UnlsGaQPlxHSgBVGrG8pGCA8fE7yN5x9eidbMQ10w=";
+    hash = "sha256-Twv8ugLrQT9y4wHNo0B8vkWOFNSci/t4eY9XvFlq/TE=";
   };
 
   build-system = [ hatchling ];
@@ -33,7 +33,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Snowflake SQLAlchemy Dialect";
-    changelog = "https://github.com/snowflakedb/snowflake-sqlalchemy/blob/v${version}/DESCRIPTION.md";
+    changelog = "https://github.com/snowflakedb/snowflake-sqlalchemy/blob/${src.tag}/DESCRIPTION.md";
     homepage = "https://github.com/snowflakedb/snowflake-sqlalchemy";
     license = licenses.asl20;
     maintainers = [ ];
diff --git a/pkgs/development/python-modules/sockio/default.nix b/pkgs/development/python-modules/sockio/default.nix
index a243425fe3a2..0e0f513c257d 100644
--- a/pkgs/development/python-modules/sockio/default.nix
+++ b/pkgs/development/python-modules/sockio/default.nix
@@ -3,6 +3,7 @@
   buildPythonPackage,
   fetchFromGitHub,
   pytest-asyncio,
+  pytest-cov-stub,
   pytestCheckHook,
   pythonOlder,
 }:
@@ -23,8 +24,6 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace setup.cfg \
-      --replace "--cov-config=.coveragerc --cov sockio" "" \
-      --replace "--cov-report html --cov-report term" "" \
       --replace "--durations=2 --verbose" ""
   '';
 
@@ -32,6 +31,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytest-asyncio
+    pytest-cov-stub
     pytestCheckHook
   ];
 
diff --git a/pkgs/development/python-modules/speedtest-cli/default.nix b/pkgs/development/python-modules/speedtest-cli/default.nix
index 3a995087f7d0..2b9954d3305b 100644
--- a/pkgs/development/python-modules/speedtest-cli/default.nix
+++ b/pkgs/development/python-modules/speedtest-cli/default.nix
@@ -25,7 +25,6 @@ buildPythonPackage rec {
     license = licenses.asl20;
     maintainers = with maintainers; [
       makefu
-      domenkozar
     ];
   };
 }
diff --git a/pkgs/development/python-modules/sphinx-automodapi/default.nix b/pkgs/development/python-modules/sphinx-automodapi/default.nix
index b2f294335a5d..a4027fa18c53 100644
--- a/pkgs/development/python-modules/sphinx-automodapi/default.nix
+++ b/pkgs/development/python-modules/sphinx-automodapi/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "sphinx-automodapi";
-  version = "0.19.0";
+  version = "0.20.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "astropy";
     repo = "sphinx-automodapi";
     tag = "v${version}";
-    hash = "sha256-idz14x6ErHqkbAYzEpBmZFpv2lY+dJqhM2ChJys+Ed8=";
+    hash = "sha256-RdJZAlHWYrDaGbip+HyCX+tns1nvLkCQa99WyLMIyxo=";
     leaveDotGit = true;
   };
 
diff --git a/pkgs/development/python-modules/standard-cgi/default.nix b/pkgs/development/python-modules/standard-cgi/default.nix
new file mode 100644
index 000000000000..c57841af54dc
--- /dev/null
+++ b/pkgs/development/python-modules/standard-cgi/default.nix
@@ -0,0 +1,33 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  setuptools,
+  unittestCheckHook,
+}:
+
+buildPythonPackage rec {
+  pname = "standard-cgi";
+  version = "3.13.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "youknowone";
+    repo = "python-deadlib";
+    tag = "v${version}";
+    hash = "sha256-vhGFTd1yXL4Frqli5D1GwOatwByDjvcP8sxgkdu6Jqg=";
+  };
+
+  sourceRoot = "${src.name}/cgi";
+
+  build-system = [ setuptools ];
+
+  nativeCheckInputs = [ unittestCheckHook ];
+
+  meta = {
+    description = "Python dead batteries. See PEP 594";
+    homepage = "https://github.com/youknowone/python-deadlib";
+    license = lib.licenses.psfl;
+    maintainers = with lib.maintainers; [ hexa ];
+  };
+}
diff --git a/pkgs/development/python-modules/starlette-admin/default.nix b/pkgs/development/python-modules/starlette-admin/default.nix
index 46c0825ce59b..ec521732cd67 100644
--- a/pkgs/development/python-modules/starlette-admin/default.nix
+++ b/pkgs/development/python-modules/starlette-admin/default.nix
@@ -32,14 +32,14 @@
 
 buildPythonPackage rec {
   pname = "starlette-admin";
-  version = "0.15.0";
+  version = "0.15.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "jowilf";
     repo = "starlette-admin";
     tag = version;
-    hash = "sha256-R9ZRrJaBp1joT3DtymvS+Ac0MzEUFYFovgxMW0njsT0=";
+    hash = "sha256-yPePxdKrg41kycXl1fDKf1jWx0YD+K26w8z2LmQV0g0=";
   };
 
   build-system = [ hatchling ];
@@ -122,7 +122,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Fast, beautiful and extensible administrative interface framework for Starlette & FastApi applications";
     homepage = "https://github.com/jowilf/starlette-admin";
-    changelog = "https://github.com/jowilf/starlette-admin/blob/${src.tag}/CHANGELOG.md";
+    changelog = "https://jowilf.github.io/starlette-admin/changelog/";
     license = licenses.mit;
     maintainers = with maintainers; [ pbsds ];
   };
diff --git a/pkgs/development/python-modules/statsd/default.nix b/pkgs/development/python-modules/statsd/default.nix
index b524a0f2d7c0..72b34c80524d 100644
--- a/pkgs/development/python-modules/statsd/default.nix
+++ b/pkgs/development/python-modules/statsd/default.nix
@@ -29,7 +29,7 @@ buildPythonPackage rec {
   pytestFlagsArray = [ "statsd/tests.py" ];
 
   meta = with lib; {
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
     description = "Simple statsd client";
     license = licenses.mit;
     homepage = "https://github.com/jsocol/pystatsd";
diff --git a/pkgs/development/python-modules/stdlibs/default.nix b/pkgs/development/python-modules/stdlibs/default.nix
index 0f6717aa0de9..7a6b4a145468 100644
--- a/pkgs/development/python-modules/stdlibs/default.nix
+++ b/pkgs/development/python-modules/stdlibs/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "stdlibs";
-  version = "2024.5.15";
+  version = "2025.5.10";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "omnilib";
     repo = "stdlibs";
     tag = "v${version}";
-    hash = "sha256-DthHvL5x3HVwACLnxeyuoC0hb8OokabODircEY9eEhE=";
+    hash = "sha256-pvQZ+sRmad5m274wbIulHh5Tifim35uH7mz69jopVRw=";
   };
 
   build-system = [ flit-core ];
diff --git a/pkgs/development/python-modules/stem/default.nix b/pkgs/development/python-modules/stem/default.nix
index fd7cf8c9d6bf..21924aee174f 100644
--- a/pkgs/development/python-modules/stem/default.nix
+++ b/pkgs/development/python-modules/stem/default.nix
@@ -1,9 +1,8 @@
 {
   lib,
   buildPythonPackage,
-  pythonOlder,
   fetchFromGitHub,
-  fetchpatch,
+  fetchurl,
   setuptools,
   cryptography,
   mock,
@@ -12,28 +11,35 @@
 
 buildPythonPackage rec {
   pname = "stem";
-  version = "1.8.3-unstable-2024-02-13";
-
-  disabled = pythonOlder "3.6";
-
+  version = "1.8.3";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "torproject";
     repo = "stem";
-    rev = "9a9c7d43a7fdcde6d4a9cf95b831fb5e5923a160";
-    hash = "sha256-Oc73Jx31SLzuhT9Iym5HHszKfflKZ+3aky5flXudvmI=";
+    tag = version;
+    hash = "sha256-FK7ldpOGEQ+VYLgwL7rGSGNtD/2iz11b0YOa78zNGDk=";
   };
 
   patches = [
-    # fixes deprecated test assertion, assertRaisesRegexp in python 3
-    (fetchpatch {
-      url = "https://github.com/trishtzy/stem/commit/d5012a1039f05c69ebe832723ce96ecbe8f79fe1.patch";
-      hash = "sha256-ozOTx4/c86sW/9Ss5eZ6ZxX63ByJT5x7JF6wBBd+VFY=";
+    (fetchurl {
+      url = "https://gitlab.archlinux.org/archlinux/packaging/packages/python-stem/-/raw/729ce635a4dbf519bab0cd4195d507b0b9bf6c9a/fix-build-cryptography.patch";
+      hash = "sha256-RTh3RVpDaNRFrSoAEfMVAO1VPWmnhdd5W+M0N9AEr24=";
+    })
+    (fetchurl {
+      name = "cryptography-42-compat.patch";
+      url = "https://gitlab.archlinux.org/archlinux/packaging/packages/python-stem/-/raw/main/9f1fa4ac.patch";
+      hash = "sha256-2pj5eeurGN9HC02U2gZibt8gNWHYU92tlETZlbaT35A=";
     })
   ];
 
-  nativeBuildInputs = [ setuptools ];
+  postPatch = ''
+    # https://github.com/torproject/stem/pull/155
+    substituteInPlace stem/util/test_tools.py test/integ/*/*.py test/unit/*/*.py test/unit/version.py \
+      --replace-quiet assertRaisesRegexp assertRaisesRegex
+  '';
+
+  build-system = [ setuptools ];
 
   nativeCheckInputs = [
     cryptography
@@ -48,13 +54,13 @@ buildPythonPackage rec {
     runHook postCheck
   '';
 
-  meta = with lib; {
-    changelog = "https://github.com/torproject/stem/blob/${src.rev}/docs/change_log.rst";
+  meta = {
+    changelog = "https://github.com/torproject/stem/blob/${src.tag}/docs/change_log.rst";
     description = "Controller library that allows applications to interact with Tor";
     mainProgram = "tor-prompt";
     downloadPage = "https://github.com/torproject/stem";
     homepage = "https://stem.torproject.org/";
-    license = licenses.lgpl3Only;
-    maintainers = with maintainers; [ dotlambda ];
+    license = lib.licenses.lgpl3Only;
+    maintainers = with lib.maintainers; [ dotlambda ];
   };
 }
diff --git a/pkgs/development/python-modules/stravaweblib/default.nix b/pkgs/development/python-modules/stravaweblib/default.nix
index b550e3c0a3fb..d940a05ba92d 100644
--- a/pkgs/development/python-modules/stravaweblib/default.nix
+++ b/pkgs/development/python-modules/stravaweblib/default.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "stravaweblib";
-  version = "0.0.9";
+  version = "0.0.10";
 
   src = fetchFromGitHub {
     owner = "pR0Ps";
     repo = "stravaweblib";
     tag = "v${version}";
-    hash = "sha256-bKiQ06vQfngELuREje9KQd5JNl6gaoU5jvGOyj3Wyb0=";
+    hash = "sha256-hsXrU7Rad3LzF58GwlgET98911XjTKztFFNqiUSw278=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/strct/default.nix b/pkgs/development/python-modules/strct/default.nix
index 989b4e006d30..2eb70091b6d9 100644
--- a/pkgs/development/python-modules/strct/default.nix
+++ b/pkgs/development/python-modules/strct/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "strct";
-  version = "0.0.34";
+  version = "0.0.35";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "shaypal5";
     repo = "strct";
-    rev = "v${version}";
-    hash = "sha256-uPM2U+emZUCGqEhIeTBmaOu8eSfK4arqvv9bItBWpUs=";
+    tag = "v${version}";
+    hash = "sha256-4IykGzy1PTrRAbx/sdtzL4My4cDSlplL9rOFBcLbaB8=";
   };
 
   # don't append .dev0 to version
diff --git a/pkgs/development/python-modules/streaming-form-data/default.nix b/pkgs/development/python-modules/streaming-form-data/default.nix
index 0d13b9db97cc..12d8b464ab73 100644
--- a/pkgs/development/python-modules/streaming-form-data/default.nix
+++ b/pkgs/development/python-modules/streaming-form-data/default.nix
@@ -26,6 +26,12 @@ buildPythonPackage rec {
   # So, just drop the dependency to not have to deal with it.
   patches = [ ./drop-smart-open.patch ];
 
+  # The repo has a vendored copy of the cython output, which doesn't build on 3.13,
+  # so regenerate it with our cython, which does.
+  preBuild = ''
+    cython streaming_form_data/_parser.pyx
+  '';
+
   nativeBuildInputs = [ cython ];
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/sudachidict/default.nix b/pkgs/development/python-modules/sudachidict/default.nix
index 1677ab112926..5eb97fc597c2 100644
--- a/pkgs/development/python-modules/sudachidict/default.nix
+++ b/pkgs/development/python-modules/sudachidict/default.nix
@@ -14,8 +14,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "WorksApplications";
     repo = "SudachiDict";
-    rev = "refs/tags/v${version}";
-    hash = "sha256-axa7eQ0jTo8GXJA5lwcvMyZLw9T573yeSo9xuvIm/gY=";
+    tag = "v${version}";
+    hash = "sha256-QORgO8FG0iSNuO1r2Myzjz6EYblNxbJSKxNHbF+h15c=";
   };
 
   sourceRoot = "${src.name}/python";
@@ -31,9 +31,9 @@ buildPythonPackage rec {
       --replace "%%DICT_TYPE%%" ${sudachidict.dict-type}
   '';
 
-  nativeBuildInputs = [ setuptools ];
+  build-system = [ setuptools ];
 
-  propagatedBuildInputs = [ sudachipy ];
+  dependencies = [ sudachipy ];
 
   # we need to prepare some files before the build
   # https://github.com/WorksApplications/SudachiDict/blob/develop/package_python.sh
diff --git a/pkgs/development/python-modules/sudachipy/default.nix b/pkgs/development/python-modules/sudachipy/default.nix
index 3b700c0d95b9..70ca416469a9 100644
--- a/pkgs/development/python-modules/sudachipy/default.nix
+++ b/pkgs/development/python-modules/sudachipy/default.nix
@@ -18,9 +18,12 @@ buildPythonPackage rec {
   pname = "sudachipy";
   inherit (sudachi-rs) src version;
 
+  patches = sudachi-rs.cargoPatches;
+
   cargoDeps = rustPlatform.fetchCargoVendor {
     inherit pname version src;
-    hash = "sha256-/VKveTtB8BbWgRBEzWBjrSrW84uFcz08cz6tZTuMMeE=";
+    patches = sudachi-rs.cargoPatches;
+    hash = "sha256-lUP/9s4W0JehxeCjMmq6G22KMGdDNnq1YlobeLQn2AE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/sure/default.nix b/pkgs/development/python-modules/sure/default.nix
index 77b9e2f463c2..8185fdc7676c 100644
--- a/pkgs/development/python-modules/sure/default.nix
+++ b/pkgs/development/python-modules/sure/default.nix
@@ -4,6 +4,7 @@
   fetchPypi,
   setuptools,
   pytestCheckHook,
+  pytest-cov-stub,
   mock,
   six,
   isPyPy,
@@ -21,8 +22,7 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace setup.cfg \
-      --replace "rednose = 1" "" \
-      --replace-fail "--cov=sure" ""
+      --replace "rednose = 1" ""
   '';
 
   build-system = [ setuptools ];
@@ -34,6 +34,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
+    pytest-cov-stub
     mock
   ];
 
diff --git a/pkgs/development/python-modules/swcgeom/default.nix b/pkgs/development/python-modules/swcgeom/default.nix
index 7de34846241a..e940ac5e6c49 100644
--- a/pkgs/development/python-modules/swcgeom/default.nix
+++ b/pkgs/development/python-modules/swcgeom/default.nix
@@ -22,7 +22,7 @@
   lmdb,
   requests,
   urllib3,
-  pytest,
+  pytestCheckHook,
 }:
 
 let
@@ -72,14 +72,19 @@ buildPythonPackage {
     ];
   };
 
-  nativeCheckInputs = [
-    pytest
-  ];
-
   pythonImportsCheck = [
     "swcgeom"
   ];
 
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  preCheck = ''
+    # make sure import the built version, not the source one
+    rm -r swcgeom
+  '';
+
   meta = {
     description = "Neuron geometry library for swc format";
     homepage = "https://github.com/yzx9/swcgeom";
diff --git a/pkgs/development/python-modules/switchbot-api/default.nix b/pkgs/development/python-modules/switchbot-api/default.nix
index 85f302b3ffeb..b9e2c961c8dd 100644
--- a/pkgs/development/python-modules/switchbot-api/default.nix
+++ b/pkgs/development/python-modules/switchbot-api/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "switchbot-api";
-  version = "2.3.1";
+  version = "2.5.0";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "SeraphicCorp";
     repo = "py-switchbot-api";
     tag = "v${version}";
-    hash = "sha256-SVVFz+8LjPOJNjEREkKE4yyrDPE5Gf5qKY3ftsx3SyI=";
+    hash = "sha256-Eesdd9tNXJQ0kilfuUxpAcUO+5Rf2HRyD0N71tKT/pw=";
   };
 
   build-system = [ poetry-core ];
@@ -33,7 +33,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Asynchronous library to use Switchbot API";
     homepage = "https://github.com/SeraphicCorp/py-switchbot-api";
-    changelog = "https://github.com/SeraphicCorp/py-switchbot-api/releases/tag/v${version}";
+    changelog = "https://github.com/SeraphicCorp/py-switchbot-api/releases/tag/${src.tag}";
     license = licenses.mit;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/tablib/default.nix b/pkgs/development/python-modules/tablib/default.nix
index 1e3f4ead3ffc..fc8d032e4b29 100644
--- a/pkgs/development/python-modules/tablib/default.nix
+++ b/pkgs/development/python-modules/tablib/default.nix
@@ -7,6 +7,7 @@
   openpyxl,
   pandas,
   pytestCheckHook,
+  pytest-cov-stub,
   pythonOlder,
   pyyaml,
   setuptools-scm,
@@ -28,11 +29,6 @@ buildPythonPackage rec {
     hash = "sha256-lNi83GWnFaACSm1bcBpfMeRb0VkmnmLHNzHeefBI2ys=";
   };
 
-  postPatch = ''
-    substituteInPlace pytest.ini \
-      --replace " --cov=tablib --cov=tests --cov-report xml --cov-report term --cov-report html" ""
-  '';
-
   nativeBuildInputs = [ setuptools-scm ];
 
   optional-dependencies = {
@@ -61,6 +57,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pandas
     pytestCheckHook
+    pytest-cov-stub
     unicodecsv
   ];
 
diff --git a/pkgs/development/python-modules/tailscale/default.nix b/pkgs/development/python-modules/tailscale/default.nix
index 725f2171a4f9..a7708fd7579e 100644
--- a/pkgs/development/python-modules/tailscale/default.nix
+++ b/pkgs/development/python-modules/tailscale/default.nix
@@ -8,6 +8,7 @@
   orjson,
   poetry-core,
   pytest-asyncio,
+  pytest-cov-stub,
   pytestCheckHook,
   pythonOlder,
   yarl,
@@ -30,8 +31,7 @@ buildPythonPackage rec {
   postPatch = ''
     # Upstream doesn't set a version for the pyproject.toml
     substituteInPlace pyproject.toml \
-      --replace 'version = "0.0.0"' 'version = "${version}"' \
-      --replace "--cov" ""
+      --replace 'version = "0.0.0"' 'version = "${version}"'
   '';
 
   nativeBuildInputs = [ poetry-core ];
@@ -46,6 +46,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     aresponses
     pytest-asyncio
+    pytest-cov-stub
     pytestCheckHook
   ];
 
diff --git a/pkgs/development/python-modules/temporalio/default.nix b/pkgs/development/python-modules/temporalio/default.nix
index 110d9a68b333..9e5ea1607fd5 100644
--- a/pkgs/development/python-modules/temporalio/default.nix
+++ b/pkgs/development/python-modules/temporalio/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "temporalio";
-  version = "1.11.0";
+  version = "1.12.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "temporalio";
     repo = "sdk-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-942EmFOAYUWq58MW2rIVhDK9dHkzi62fUdOudYP94hU=";
+    hash = "sha256-u74zbzYNVxMi0sdiPlBoEU+wAa24JmMksz7hGvraDeM=";
     fetchSubmodules = true;
   };
 
@@ -39,7 +39,7 @@ buildPythonPackage rec {
       src
       cargoRoot
       ;
-    hash = "sha256-9hP+zN6jcRmRhPmcZ4Zgp61IeS7gDPfsOvweAxKHnHM=";
+    hash = "sha256-OIapL1+g6gIgyVzdB68PuK2K2RIr01DSm/UbCdt9kNY=";
   };
 
   cargoRoot = "temporalio/bridge";
diff --git a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix
index fc2ae250a34d..6346431da7fd 100644
--- a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix
+++ b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "tencentcloud-sdk-python";
-  version = "3.0.1394";
+  version = "3.0.1404";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "TencentCloud";
     repo = "tencentcloud-sdk-python";
     tag = version;
-    hash = "sha256-yX+57zIrz7o8wBPOcB7Kuifq9Z426pKa1/0/e3UHgDQ=";
+    hash = "sha256-3T/Y5qGbJvsqrB972iV4FkVYuv3YPRwH2B7B4SnjRhg=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/tesla-fleet-api/default.nix b/pkgs/development/python-modules/tesla-fleet-api/default.nix
index a62c976ad2d1..f036ef9a4ed7 100644
--- a/pkgs/development/python-modules/tesla-fleet-api/default.nix
+++ b/pkgs/development/python-modules/tesla-fleet-api/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "tesla-fleet-api";
-  version = "1.1.1";
+  version = "1.1.3";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "Teslemetry";
     repo = "python-tesla-fleet-api";
     tag = "v${version}";
-    hash = "sha256-ykVes0LXvkwdZRX9g1N9WqzDgKzR5u/YLKkdMC9lR64=";
+    hash = "sha256-1jh4NfIuuP5GMwIc/0Nr1aXuyWyrHPTQ9ZTCJPDDtn0=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/teslemetry-stream/default.nix b/pkgs/development/python-modules/teslemetry-stream/default.nix
index bd10e55bab0c..2b8d9a907534 100644
--- a/pkgs/development/python-modules/teslemetry-stream/default.nix
+++ b/pkgs/development/python-modules/teslemetry-stream/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "teslemetry-stream";
-  version = "0.7.7";
+  version = "0.7.9";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "Teslemetry";
     repo = "python-teslemetry-stream";
     tag = "v${version}";
-    hash = "sha256-0gFX6tNBqqA7vh4d5zi38F2C1NqKjblc/8lz3DEBEJ8=";
+    hash = "sha256-qfe73wLj4CGfHU4MyQfUfM/P+R52Hd6FLr39wbIGg9Y=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/test2ref/default.nix b/pkgs/development/python-modules/test2ref/default.nix
index 4b85ef83314b..355372aac8bc 100644
--- a/pkgs/development/python-modules/test2ref/default.nix
+++ b/pkgs/development/python-modules/test2ref/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "test2ref";
-  version = "0.8.2";
+  version = "1.1.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "nbiotcloud";
     repo = "test2ref";
     tag = "v${version}";
-    hash = "sha256-Rgm7qZc1pFY/9gwzHjnI305Ch9enXzzWRsPZ7CQjzpQ=";
+    hash = "sha256-m95undMr1W2GRcSELv7s9kpuXyu+HnGo+huc0Uh9rQI=";
   };
 
   build-system = [
@@ -38,7 +38,7 @@ buildPythonPackage rec {
   meta = {
     description = "Testing Against Learned Reference Data";
     homepage = "https://github.com/nbiotcloud/test2ref";
-    changelog = "https://github.com/nbiotcloud/test2ref/releases/tag/v${version}";
+    changelog = "https://github.com/nbiotcloud/test2ref/releases/tag/${src.tag}";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ GaetanLepage ];
   };
diff --git a/pkgs/development/python-modules/texsoup/default.nix b/pkgs/development/python-modules/texsoup/default.nix
index 14f1c9cfbd2e..d1827c08d38f 100644
--- a/pkgs/development/python-modules/texsoup/default.nix
+++ b/pkgs/development/python-modules/texsoup/default.nix
@@ -4,6 +4,7 @@
   fetchFromGitHub,
   setuptools,
   pytestCheckHook,
+  pytest-cov-stub,
 }:
 
 buildPythonPackage rec {
@@ -22,12 +23,10 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "TexSoup" ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
-
-  preCheck = ''
-    substituteInPlace pytest.ini \
-      --replace "--cov=TexSoup" ""
-  '';
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cov-stub
+  ];
 
   meta = with lib; {
     description = "Fault-tolerant Python3 package for searching, navigating, and modifying LaTeX documents";
diff --git a/pkgs/development/python-modules/textual-image/default.nix b/pkgs/development/python-modules/textual-image/default.nix
index 90e866c8ad0c..63f53c35153a 100644
--- a/pkgs/development/python-modules/textual-image/default.nix
+++ b/pkgs/development/python-modules/textual-image/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "textual-image";
-  version = "0.8.2";
+  version = "0.8.3";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "lnqs";
     repo = "textual-image";
     tag = "v${version}";
-    hash = "sha256-ik/zvnxXN5u2jXHfsGsCLnymZZ+IQiixagOJdEMRDlw=";
+    hash = "sha256-XbQs3E2Zl6Jdq0QVSdF6LexnmEmlZEm9BmWZK+dyBjo=";
   };
 
   buildInputs = [ setuptools ];
diff --git a/pkgs/development/python-modules/textual/default.nix b/pkgs/development/python-modules/textual/default.nix
index 6b7051bc4bde..4642d29e4d94 100644
--- a/pkgs/development/python-modules/textual/default.nix
+++ b/pkgs/development/python-modules/textual/default.nix
@@ -29,14 +29,14 @@
 
 buildPythonPackage rec {
   pname = "textual";
-  version = "3.3.0";
+  version = "3.4.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "Textualize";
     repo = "textual";
     tag = "v${version}";
-    hash = "sha256-GsdWWK8Y/9Wg+Ka3YJXovRuQDrvUJUYqtA64wc8Xv9k=";
+    hash = "sha256-oI0W4KjGHmAGsPFBT2yMWDOLolNPkNOBcLv1K/+dqMc=";
   };
 
   build-system = [ poetry-core ];
@@ -77,6 +77,12 @@ buildPythonPackage rec {
   disabledTests = [
     # Assertion issues
     "test_textual_env_var"
+
+    # Fail since tree-sitter-markdown was updated to 0.5.0
+    # ValueError: Incompatible Language version 15. Must be between 13 and 14
+    # https://github.com/Textualize/textual/issues/5868
+    "test_setting_builtin_language_via_attribute"
+    "test_setting_builtin_language_via_constructor"
   ];
 
   pytestFlagsArray = [
diff --git a/pkgs/development/python-modules/thinqconnect/default.nix b/pkgs/development/python-modules/thinqconnect/default.nix
index 3fd9d7730e1b..5de2a85ccc2d 100644
--- a/pkgs/development/python-modules/thinqconnect/default.nix
+++ b/pkgs/development/python-modules/thinqconnect/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "thinqconnect";
-  version = "1.0.6";
+  version = "1.0.7";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "thinq-connect";
     repo = "pythinqconnect";
     tag = version;
-    hash = "sha256-K2IkXUbJubSDE4uvR+Fu6uQADJMGNo7ZQDccZs3BOF8=";
+    hash = "sha256-wnlUwThmDRNosdWVvzqB3KP0LPL37+MnXXD84AeIUL8=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/timetagger/default.nix b/pkgs/development/python-modules/timetagger/default.nix
index a5791fff165e..ae02585f8ba0 100644
--- a/pkgs/development/python-modules/timetagger/default.nix
+++ b/pkgs/development/python-modules/timetagger/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "timetagger";
-  version = "24.12.2";
+  version = "25.06.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "almarklein";
     repo = "timetagger";
     tag = "v${version}";
-    hash = "sha256-YzMVjIsi7MGIwt828xE3FYobrh9CUz5FqCIogXjmOcM=";
+    hash = "sha256-fuZj4DoqtgIcRd/u7l0GsWqmuLEgF3BW5gN5wY8FdK0=";
   };
 
   propagatedBuildInputs = [
@@ -57,7 +57,7 @@ buildPythonPackage rec {
     description = "Library to interact with TimeTagger";
     mainProgram = "timetagger";
     homepage = "https://github.com/almarklein/timetagger";
-    changelog = "https://github.com/almarklein/timetagger/releases/tag/v${version}";
+    changelog = "https://github.com/almarklein/timetagger/releases/tag/${src.tag}";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ matthiasbeyer ];
   };
diff --git a/pkgs/development/python-modules/tinytuya/default.nix b/pkgs/development/python-modules/tinytuya/default.nix
index d4ff3e2a7fca..f19031c8fdc1 100644
--- a/pkgs/development/python-modules/tinytuya/default.nix
+++ b/pkgs/development/python-modules/tinytuya/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "tinytuya";
-  version = "1.16.1";
+  version = "1.17.1";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "jasonacox";
     repo = "tinytuya";
     tag = "v${version}";
-    hash = "sha256-+ReTNPKMYUXNA5tu7kZM8/7Bh4XjHSjZTiW8ROHkk5M=";
+    hash = "sha256-ivtd61r68kUP/OOIkdTjVI5FiD7QsYe6eSr2WiVF7OI=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/tld/default.nix b/pkgs/development/python-modules/tld/default.nix
index e6507b54c994..767651e322df 100644
--- a/pkgs/development/python-modules/tld/default.nix
+++ b/pkgs/development/python-modules/tld/default.nix
@@ -5,6 +5,7 @@
   faker,
   fetchPypi,
   pytestCheckHook,
+  pytest-cov-stub,
   pythonOlder,
 }:
 
@@ -20,11 +21,10 @@ buildPythonPackage rec {
     hash = "sha256-k93l4cBL3xhEl26uRAcGN50h9KsjW3PAXXSD4HT7Vik=";
   };
 
-  postPatch = ''
-    sed -i "/--cov/d" pytest.ini
-  '';
-
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cov-stub
+  ];
 
   checkInputs = [
     factory-boy
diff --git a/pkgs/development/python-modules/tomlkit/default.nix b/pkgs/development/python-modules/tomlkit/default.nix
index 8c47693a5829..ff676255fc59 100644
--- a/pkgs/development/python-modules/tomlkit/default.nix
+++ b/pkgs/development/python-modules/tomlkit/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "tomlkit";
-  version = "0.13.2";
+  version = "0.13.3";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-//X+WahylbJ4q9Mb7JLBXZvEoGiFqxK86lLHERk5Lnk=";
+    hash = "sha256-QwzyR+5X3yuU7j++WI5x02KpQeu1Rd7Cm1OWHWGt0qE=";
   };
 
   build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/torch/source/default.nix b/pkgs/development/python-modules/torch/source/default.nix
index 46f0e7c1697a..6effc9ff55ca 100644
--- a/pkgs/development/python-modules/torch/source/default.nix
+++ b/pkgs/development/python-modules/torch/source/default.nix
@@ -46,6 +46,7 @@
 
   # dependencies
   astunparse,
+  binutils,
   expecttest,
   filelock,
   fsspec,
@@ -268,7 +269,7 @@ in
 buildPythonPackage rec {
   pname = "torch";
   # Don't forget to update torch-bin to the same version.
-  version = "2.7.0";
+  version = "2.7.1";
   pyproject = true;
 
   stdenv = stdenv';
@@ -331,6 +332,10 @@ buildPythonPackage rec {
       # flag from cmakeFlags doesn't work, not clear why
       # setting it at the top of NNPACK's own CMakeLists does
       sed -i '2s;^;set(PYTHON_SIX_SOURCE_DIR ${six.src})\n;' third_party/NNPACK/CMakeLists.txt
+
+      # Ensure that torch profiler unwind uses addr2line from nix
+      substituteInPlace torch/csrc/profiler/unwind/unwind.cpp \
+        --replace-fail 'addr2line_binary_ = "addr2line"' 'addr2line_binary_ = "${lib.getExe' binutils "addr2line"}"'
     ''
     + lib.optionalString rocmSupport ''
       # https://github.com/facebookincubator/gloo/pull/297
diff --git a/pkgs/development/python-modules/torch/source/src.nix b/pkgs/development/python-modules/torch/source/src.nix
index c4a716112b34..af0a47b4fd93 100644
--- a/pkgs/development/python-modules/torch/source/src.nix
+++ b/pkgs/development/python-modules/torch/source/src.nix
@@ -4,7 +4,7 @@
   fetchFromGitHub,
   runCommand,
 }:
-assert version == "2.7.0";
+assert version == "2.7.1";
 (rec {
   src_asmjit = fetchFromGitHub {
     owner = "asmjit";
@@ -430,8 +430,8 @@ assert version == "2.7.0";
   src_pytorch = fetchFromGitHub {
     owner = "pytorch";
     repo = "pytorch";
-    rev = "v2.7.0";
-    hash = "sha256-ReXyzy+OuYxEQwU+t2WL3+jqd7ItdW6w8MiS0f9t+aY=";
+    rev = "v2.7.1";
+    hash = "sha256-p/SkVM6N4XGr44WB9ZaMLu6nfJGcaKHfb1hDY6qbZBw=";
   };
   src_sleef = fetchFromGitHub {
     owner = "shibatch";
diff --git a/pkgs/development/python-modules/torchao/default.nix b/pkgs/development/python-modules/torchao/default.nix
new file mode 100644
index 000000000000..66d95e175d9b
--- /dev/null
+++ b/pkgs/development/python-modules/torchao/default.nix
@@ -0,0 +1,100 @@
+{
+  lib,
+  stdenv,
+  buildPythonPackage,
+  fetchFromGitHub,
+
+  # build-system
+  setuptools,
+
+  # dependencies
+  torch,
+
+  # tests
+  bitsandbytes,
+  expecttest,
+  fire,
+  pytest-xdist,
+  pytestCheckHook,
+  parameterized,
+  tabulate,
+  transformers,
+  unittest-xml-reporting,
+}:
+
+buildPythonPackage rec {
+  pname = "ao";
+  version = "0.11.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "pytorch";
+    repo = "ao";
+    tag = "v${version}";
+    hash = "sha256-CNb9xaubOmIRanLq3TM4sBbszTcVK/WFpcq/sWpof44=";
+  };
+
+  build-system = [
+    setuptools
+  ];
+
+  dependencies = [
+    torch
+  ];
+
+  env = {
+    USE_SYSTEM_LIBS = true;
+  };
+
+  # Otherwise, the tests are loading the python module from the source instead of the installed one
+  preCheck = ''
+    rm -rf torchao
+  '';
+
+  pythonImportsCheck = [
+    "torchao"
+  ];
+
+  nativeCheckInputs = [
+    bitsandbytes
+    expecttest
+    fire
+    parameterized
+    pytest-xdist
+    pytestCheckHook
+    tabulate
+    transformers
+    unittest-xml-reporting
+  ];
+
+  disabledTests =
+    [
+      # Requires internet access
+      "test_on_dummy_distilbert"
+
+      # FileNotFoundError: [Errno 2] No such file or directory: 'checkpoints/meta-llama/Llama-2-7b-chat-hf/model.pth'
+      "test_gptq_mt"
+    ]
+    ++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [
+      # RuntimeError: failed to initialize QNNPACK
+      "test_smooth_linear_cpu"
+
+      # torch._inductor.exc.InductorError: LoweringException: AssertionError: Expect L1_cache_size > 0 but got 0
+      "test_int8_weight_only_quant_with_freeze_0_cpu"
+      "test_int8_weight_only_quant_with_freeze_1_cpu"
+      "test_int8_weight_only_quant_with_freeze_2_cpu"
+
+      # FileNotFoundError: [Errno 2] No such file or directory: 'test.pth'
+      "test_save_load_int4woqtensors_2_cpu"
+      "test_save_load_int8woqtensors_0_cpu"
+      "test_save_load_int8woqtensors_1_cpu"
+    ];
+
+  meta = {
+    description = "PyTorch native quantization and sparsity for training and inference";
+    homepage = "https://github.com/pytorch/ao";
+    changelog = "https://github.com/pytorch/ao/releases/tag/v${version}";
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ GaetanLepage ];
+  };
+}
diff --git a/pkgs/development/python-modules/torchaudio/default.nix b/pkgs/development/python-modules/torchaudio/default.nix
index b68d1e982e2a..44902a279cdf 100644
--- a/pkgs/development/python-modules/torchaudio/default.nix
+++ b/pkgs/development/python-modules/torchaudio/default.nix
@@ -77,7 +77,7 @@ let
 in
 buildPythonPackage rec {
   pname = "torchaudio";
-  version = "2.7.0";
+  version = "2.7.1";
   pyproject = true;
 
   stdenv = torch.stdenv;
@@ -86,7 +86,7 @@ buildPythonPackage rec {
     owner = "pytorch";
     repo = "audio";
     tag = "v${version}";
-    hash = "sha256-/5XIVj0jLE7+A1LZxA3bFH3mdwNIcrV4XMOa4xznr/w=";
+    hash = "sha256-T1V+/Oho6Dblh3ah5PljpxKcndy2e1dAlVxC3ay4AM0=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/torchmetrics/default.nix b/pkgs/development/python-modules/torchmetrics/default.nix
index 077310e39567..7021d2125fd2 100644
--- a/pkgs/development/python-modules/torchmetrics/default.nix
+++ b/pkgs/development/python-modules/torchmetrics/default.nix
@@ -24,14 +24,14 @@
 
 buildPythonPackage rec {
   pname = "torchmetrics";
-  version = "1.7.2";
+  version = "1.7.3";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "Lightning-AI";
     repo = "torchmetrics";
     tag = "v${version}";
-    hash = "sha256-E/ZmP0eyNdSYb0+wKNsOZM2ViEldUWcwSmSGzZEYXfw=";
+    hash = "sha256-xnGODA5m4UannZKXn9Mq8bKI1WA+yHTOTicJ6AuLB+4=";
   };
 
   dependencies = [
diff --git a/pkgs/development/python-modules/torchvision/default.nix b/pkgs/development/python-modules/torchvision/default.nix
index bfb3f8bbd28d..6fc4d61d209e 100644
--- a/pkgs/development/python-modules/torchvision/default.nix
+++ b/pkgs/development/python-modules/torchvision/default.nix
@@ -29,7 +29,7 @@ let
   inherit (torch) cudaCapabilities cudaPackages cudaSupport;
 
   pname = "torchvision";
-  version = "0.22.0";
+  version = "0.22.1";
 in
 buildPythonPackage {
   inherit pname version;
@@ -40,7 +40,7 @@ buildPythonPackage {
     owner = "pytorch";
     repo = "vision";
     tag = "v${version}";
-    hash = "sha256-+70Rhfma4dM5tRlYNz0cuuTIxRbYf6dsnAhvkw7a5kM=";
+    hash = "sha256-KYIhd0U2HdvNt/vjQ8wA/6l/ZCF8wBm4NrOMgBtoWG4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/torf/default.nix b/pkgs/development/python-modules/torf/default.nix
new file mode 100644
index 000000000000..75184fcb02dc
--- /dev/null
+++ b/pkgs/development/python-modules/torf/default.nix
@@ -0,0 +1,57 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  flatbencode,
+  pytest-cov-stub,
+  pytest-httpserver,
+  pytest-mock,
+  pytest-xdist,
+  pytestCheckHook,
+  setuptools,
+}:
+
+buildPythonPackage rec {
+  pname = "torf";
+  version = "4.3.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "rndusr";
+    repo = "torf";
+    tag = "v${version}";
+    hash = "sha256-vJapB4Tbn3tLLUIH9LemU9kTqG7TsByiotkWM52lsno=";
+  };
+
+  build-system = [
+    setuptools
+  ];
+
+  dependencies = [
+    flatbencode
+  ];
+
+  nativeCheckInputs = [
+    pytest-cov-stub
+    pytest-httpserver
+    pytest-mock
+    pytest-xdist
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # Those tests fail DNS resolution in the sandbox
+    "test_getting_info__xs_fails__as_fails"
+    "test_getting_info__xs_returns_invalid_bytes"
+    "test_getting_info__as_returns_invalid_bytes"
+  ];
+
+  pythonImportsCheck = [ "torf" ];
+
+  meta = with lib; {
+    description = "create, parse and edit torrent files and magnet links";
+    homepage = "https://github.com/rndusr/torf";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ ambroisie ];
+  };
+}
diff --git a/pkgs/development/python-modules/translate-toolkit/default.nix b/pkgs/development/python-modules/translate-toolkit/default.nix
index 3bbc202e25c5..51b97cef0403 100644
--- a/pkgs/development/python-modules/translate-toolkit/default.nix
+++ b/pkgs/development/python-modules/translate-toolkit/default.nix
@@ -28,7 +28,7 @@
 
 buildPythonPackage rec {
   pname = "translate-toolkit";
-  version = "3.15.2";
+  version = "3.15.3";
 
   pyproject = true;
 
@@ -36,7 +36,7 @@ buildPythonPackage rec {
     owner = "translate";
     repo = "translate";
     tag = version;
-    hash = "sha256-HZ00ds3MUrtLb6WjxpCch8CPvOuadHJXZsJRQdqge0M=";
+    hash = "sha256-T/bH9qz8UbiDfuL0hkmIN7Pmj/aZLRF+lJSjsUmDXiU=";
   };
 
   build-system = [ setuptools-scm ];
@@ -77,7 +77,7 @@ buildPythonPackage rec {
   meta = {
     description = "Useful localization tools for building localization & translation systems";
     homepage = "https://toolkit.translatehouse.org/";
-    changelog = "https://docs.translatehouse.org/projects/translate-toolkit/en/latest/releases/${version}.html";
+    changelog = "https://docs.translatehouse.org/projects/translate-toolkit/en/latest/releases/${src.tag}.html";
     license = lib.licenses.gpl2Plus;
     maintainers = with lib.maintainers; [ erictapen ];
   };
diff --git a/pkgs/development/python-modules/translationstring/default.nix b/pkgs/development/python-modules/translationstring/default.nix
index 1110c6c58e91..662e5d4d816e 100644
--- a/pkgs/development/python-modules/translationstring/default.nix
+++ b/pkgs/development/python-modules/translationstring/default.nix
@@ -18,6 +18,6 @@ buildPythonPackage rec {
     homepage = "https://pylonsproject.org/";
     description = "Utility library for i18n relied on by various Repoze and Pyramid packages";
     license = licenses.bsd0;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/tree-sitter-language-pack/default.nix b/pkgs/development/python-modules/tree-sitter-language-pack/default.nix
index 2bdfbf2efca4..be1a41e8b307 100644
--- a/pkgs/development/python-modules/tree-sitter-language-pack/default.nix
+++ b/pkgs/development/python-modules/tree-sitter-language-pack/default.nix
@@ -2,7 +2,7 @@
   lib,
   buildPythonPackage,
   fetchPypi,
-  python,
+  pytestCheckHook,
   nix-update-script,
 
   # build-system
@@ -19,18 +19,27 @@
 
 buildPythonPackage rec {
   pname = "tree-sitter-language-pack";
-  version = "0.7.3";
+  version = "0.8.0";
   pyproject = true;
 
-  # Using the GitHub sources necessitates fetching the treesitter grammar parsers by using a vendored script:
-  # https://github.com/Goldziher/tree-sitter-language-pack/blob/main/scripts/clone_vendors.py
+  # Using the GitHub sources necessitates fetching the treesitter grammar parsers by using a vendored script.
   # The pypi archive has the benefit of already vendoring those dependencies which makes packaging easier on our side
+  # See: https://github.com/Goldziher/tree-sitter-language-pack/blob/main/scripts/clone_vendors.py
   src = fetchPypi {
     pname = "tree_sitter_language_pack";
     inherit version;
-    hash = "sha256-SROctgfYE1LTOtGOV1IPwQV6AJlVyczO1WYHzBjmo/0=";
+    hash = "sha256-Sar+Mi61nvTURXV3IQ+yDBjFU1saQrjnU6ppntO/nu0=";
   };
 
+  # Upstream bumped the setuptools and typing-extensions dependencies, but we can still use older versions
+  # since the newer ones aren’t packaged in nixpkgs. We can't use pythonRelaxDepsHook here because it runs
+  # in postBuild, while the dependency check occurs during the build phase.
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace-fail "setuptools>=80.9.0" "setuptools>=78.1.0" \
+      --replace-fail "typing-extensions>=4.14.0" "typing-extensions>=4.13.2"
+  '';
+
   build-system = [
     cython
     setuptools
@@ -44,38 +53,18 @@ buildPythonPackage rec {
     tree-sitter-yaml
   ];
 
-  prePatch = ''
-    # Remove the packaged bindings, which only work on Linux and prevent the build from succeeding
-    # https://github.com/Goldziher/tree-sitter-language-pack/issues/46
-    rm -rf tree_sitter_language_pack/bindings/*.so
-  '';
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
   pythonImportsCheck = [
     "tree_sitter_language_pack"
     "tree_sitter_language_pack.bindings"
   ];
 
-  # No tests in the pypi archive, we add a test to check that all bindings can be imported
-  checkPhase = ''
-    runHook preCheck
-
-    cat < test-import-bindings.py
-    import sys
-    import os
-    if (cwd := os.getcwd()) in sys.path:
-      # remove current working directory from sys.path, use PYTHONPATH instead
-      sys.path.remove(cwd)
-
-    from typing import get_args
-    from tree_sitter_language_pack import SupportedLanguage, get_binding
-
-    for lang in get_args(SupportedLanguage):
-      get_binding(lang)
-    EOF
-
-    ${python.interpreter} test-import-bindings.py
-
-    runHook postCheck
+  preCheck = ''
+    # make sure import the built version, not the source one
+    rm -r tree_sitter_language_pack
   '';
 
   passthru.updateScript = nix-update-script { };
diff --git a/pkgs/development/python-modules/tree-sitter-markdown/default.nix b/pkgs/development/python-modules/tree-sitter-markdown/default.nix
index 394b5467a537..eacbdcaf2675 100644
--- a/pkgs/development/python-modules/tree-sitter-markdown/default.nix
+++ b/pkgs/development/python-modules/tree-sitter-markdown/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "tree-sitter-markdown";
-  version = "0.4.1";
+  version = "0.5.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "tree-sitter-grammars";
     repo = "tree-sitter-markdown";
     tag = "v${version}";
-    hash = "sha256-Oe2iL5b1Cyv+dK0nQYFNLCCOCe+93nojxt6ukH2lEmU=";
+    hash = "sha256-I9KDE1yZce8KIGPLG5tmv5r/NCWwN95R6fIyvGdx+So=";
   };
 
   build-system = [
@@ -39,7 +39,7 @@ buildPythonPackage rec {
   meta = {
     description = "Markdown grammar for tree-sitter";
     homepage = "https://github.com/tree-sitter-grammars/tree-sitter-markdown";
-    changelog = "https://github.com/tree-sitter-grammars/tree-sitter-markdown/releases/tag/v${version}";
+    changelog = "https://github.com/tree-sitter-grammars/tree-sitter-markdown/releases/tag/${src.tag}";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ GaetanLepage ];
   };
diff --git a/pkgs/development/python-modules/trimesh/default.nix b/pkgs/development/python-modules/trimesh/default.nix
index 34b53e868a5d..2073f09d8002 100644
--- a/pkgs/development/python-modules/trimesh/default.nix
+++ b/pkgs/development/python-modules/trimesh/default.nix
@@ -1,6 +1,5 @@
 {
   lib,
-  python,
   buildPythonPackage,
   fetchFromGitHub,
   setuptools,
@@ -9,11 +8,28 @@
   numpy,
   lxml,
   trimesh,
+
+  # optional deps
+  colorlog,
+  manifold3d,
+  charset-normalizer,
+  jsonschema,
+  networkx,
+  svg-path,
+  pycollada,
+  shapely,
+  xxhash,
+  rtree,
+  httpx,
+  scipy,
+  pillow,
+  mapbox-earcut,
+  embreex,
 }:
 
 buildPythonPackage rec {
   pname = "trimesh";
-  version = "4.6.10";
+  version = "4.6.12";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -22,14 +38,14 @@ buildPythonPackage rec {
     owner = "mikedh";
     repo = "trimesh";
     tag = version;
-    hash = "sha256-tlIsRZLmnRCqVHcLQOh6Jmne3rZGS95QudnvJHMu1qs=";
+    hash = "sha256-GjwAtbijzIp2Lec+oCYah3+e2bgscHpZrXJXjqC5x9Y=";
   };
 
   build-system = [ setuptools ];
 
   dependencies = [ numpy ];
 
-  optional-dependencies = with python.pkgs; {
+  optional-dependencies = {
     easy =
       [
         colorlog
diff --git a/pkgs/development/python-modules/tsfresh/default.nix b/pkgs/development/python-modules/tsfresh/default.nix
index 3b8b7d75c447..50d2d0d9a92c 100644
--- a/pkgs/development/python-modules/tsfresh/default.nix
+++ b/pkgs/development/python-modules/tsfresh/default.nix
@@ -17,6 +17,7 @@
   stumpy,
   cloudpickle,
   pytestCheckHook,
+  pytest-cov-stub,
   pytest-xdist,
   mock,
   matplotlib,
@@ -43,7 +44,6 @@ buildPythonPackage rec {
   patches = [
     # The pyscaffold is not a build dependency but just a python project bootstrapping tool, so we do not need it
     ./remove-pyscaffold.patch
-    ./remove-pytest-coverage-flags.patch
   ];
 
   dependencies = [
@@ -63,6 +63,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
+    pytest-cov-stub
     pytest-xdist
     mock
     matplotlib
diff --git a/pkgs/development/python-modules/tsfresh/remove-pytest-coverage-flags.patch b/pkgs/development/python-modules/tsfresh/remove-pytest-coverage-flags.patch
deleted file mode 100644
index 86b29606a6e3..000000000000
--- a/pkgs/development/python-modules/tsfresh/remove-pytest-coverage-flags.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/setup.cfg b/setup.cfg
-index e29e54e..fe8892f 100644
---- a/setup.cfg
-+++ b/setup.cfg
-@@ -99,10 +99,6 @@ extras = True
- # e.g. --cov-report html (or xml) for html/xml output or --junitxml junit.xml
- # in order to write a coverage file that can be read by Jenkins.
- junit_family = xunit2
--addopts =
--    --cov tsfresh --cov-report term-missing
--    --verbose
--    #-n auto
- testpaths = tests
- filterwarnings =
- 
diff --git a/pkgs/development/python-modules/twilio/default.nix b/pkgs/development/python-modules/twilio/default.nix
index 9658dae61427..d7112e37c83f 100644
--- a/pkgs/development/python-modules/twilio/default.nix
+++ b/pkgs/development/python-modules/twilio/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "twilio";
-  version = "9.6.2";
+  version = "9.6.3";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = "twilio";
     repo = "twilio-python";
     tag = version;
-    hash = "sha256-W0+lRCVWrm+dieZozloePlro/pGp3ag2WBTzpJ9CXxY=";
+    hash = "sha256-dgz46LzY93SCSMWjvkAQAOprGAKSHPhjyVCuOtFH5ns=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/twitchapi/default.nix b/pkgs/development/python-modules/twitchapi/default.nix
index cc93e28132cd..08055ba4f18d 100644
--- a/pkgs/development/python-modules/twitchapi/default.nix
+++ b/pkgs/development/python-modules/twitchapi/default.nix
@@ -1,7 +1,6 @@
 {
   lib,
   buildPythonPackage,
-  pythonOlder,
   fetchFromGitHub,
   setuptools,
   aiohttp,
@@ -11,17 +10,14 @@
 
 buildPythonPackage rec {
   pname = "twitchapi";
-  version = "4.4.0";
-
-  disabled = pythonOlder "3.7";
-
+  version = "4.5.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "Teekeks";
     repo = "pyTwitchAPI";
     tag = "v${version}";
-    hash = "sha256-yN7KsiPnhGSm8wj44zn1TzGhRDIMflkKiRnBlVT5i2o=";
+    hash = "sha256-3kAR/9OS58sDRUiCcQAI7KCCPpnclBNR4SkwDNJs9mo=";
   };
 
   postPatch = ''
@@ -44,19 +40,20 @@ buildPythonPackage rec {
   doCheck = false;
 
   pythonImportsCheck = [
+    "twitchAPI.chat"
     "twitchAPI.eventsub"
+    "twitchAPI.helper"
     "twitchAPI.oauth"
-    "twitchAPI.pubsub"
     "twitchAPI.twitch"
     "twitchAPI.type"
   ];
 
-  meta = with lib; {
-    changelog = "https://github.com/Teekeks/pyTwitchAPI/blob/${src.rev}/docs/changelog.rst";
-    description = "Python implementation of the Twitch Helix API, its Webhook, PubSub and EventSub";
+  meta = {
+    changelog = "https://github.com/Teekeks/pyTwitchAPI/blob/${src.tag}/docs/changelog.rst";
+    description = "Python implementation of the Twitch Helix API, EventSub and Chat";
     homepage = "https://github.com/Teekeks/pyTwitchAPI";
-    license = licenses.mit;
-    maintainers = with maintainers; [
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [
       dotlambda
     ];
   };
diff --git a/pkgs/development/python-modules/txtai/default.nix b/pkgs/development/python-modules/txtai/default.nix
index 4e3d4788a6c4..c2e51878a79a 100644
--- a/pkgs/development/python-modules/txtai/default.nix
+++ b/pkgs/development/python-modules/txtai/default.nix
@@ -93,7 +93,7 @@
   pytestCheckHook,
 }:
 let
-  version = "8.5.0";
+  version = "8.6.0";
   agent = [
     mcpadapt
     smolagents
@@ -240,7 +240,7 @@ let
     owner = "neuml";
     repo = "txtai";
     tag = "v${version}";
-    hash = "sha256-kYjlA7pJ+xCC+tu0aaxziKaPo3hph5Ld8P/lVrip/eM=";
+    hash = "sha256-xFGVX0Ustime6ttysY3dcOCWc+jB75xqpSDBuRetIJc=";
   };
 in
 buildPythonPackage {
diff --git a/pkgs/development/python-modules/types-aiobotocore/default.nix b/pkgs/development/python-modules/types-aiobotocore/default.nix
index d4747dd99e40..a07d915ae3af 100644
--- a/pkgs/development/python-modules/types-aiobotocore/default.nix
+++ b/pkgs/development/python-modules/types-aiobotocore/default.nix
@@ -364,13 +364,13 @@
 
 buildPythonPackage rec {
   pname = "types-aiobotocore";
-  version = "2.22.0";
+  version = "2.23.0";
   pyproject = true;
 
   src = fetchPypi {
     pname = "types_aiobotocore";
     inherit version;
-    hash = "sha256-BMas2YT5o30i2y6/Zw/4TlX28ifTzHHpspdyDUpxtxg=";
+    hash = "sha256-02OlhHJrlYLhjK2+2fiAU6xLSINz4OZD0pK1ey8YKsg=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/types-docutils/default.nix b/pkgs/development/python-modules/types-docutils/default.nix
index b92db53f388d..d38715f7fd5e 100644
--- a/pkgs/development/python-modules/types-docutils/default.nix
+++ b/pkgs/development/python-modules/types-docutils/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "types-docutils";
-  version = "0.21.0.20250526";
+  version = "0.21.0.20250604";
   pyproject = true;
 
   src = fetchPypi {
     pname = "types_docutils";
     inherit version;
-    hash = "sha256-bHujh3FjFd8NhqeWuuydWnGCXtJ0bLd2MZOq+7cKyGw=";
+    hash = "sha256-WpzH9aTF72lKoKvGERHgsTdqU97pDWV1f3fzGs/MqPI=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/types-requests/default.nix b/pkgs/development/python-modules/types-requests/default.nix
index 8086f8f1a707..24a44fe5db08 100644
--- a/pkgs/development/python-modules/types-requests/default.nix
+++ b/pkgs/development/python-modules/types-requests/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "types-requests";
-  version = "2.32.0.20250328";
+  version = "2.32.4.20250611";
   pyproject = true;
 
   src = fetchPypi {
     pname = "types_requests";
     inherit version;
-    hash = "sha256-yeZyKOoQO9gRyWmE+sNu0q6NqHo2pjOWSiHxmdYLrzI=";
+    hash = "sha256-dByHd+1kJYML9R5U1qviRfebTcuQGfFiK3c0Y5Rr+CY=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/typing-utils/default.nix b/pkgs/development/python-modules/typing-utils/default.nix
new file mode 100644
index 000000000000..fef5f3bdc435
--- /dev/null
+++ b/pkgs/development/python-modules/typing-utils/default.nix
@@ -0,0 +1,34 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  pytestCheckHook,
+  setuptools,
+}:
+
+buildPythonPackage rec {
+  pname = "typing-utils";
+  version = "0.1.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "bojiang";
+    repo = "typing_utils";
+    tag = "v${version}";
+    hash = "sha256-eXVGpe1wCH1JG+7ZP0evlxhw189GrrRzTwNDCALn3JI=";
+  };
+
+  build-system = [ setuptools ];
+
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "typing_utils" ];
+
+  meta = {
+    description = "Utils to inspect Python type annotations";
+    homepage = "https://github.com/bojiang/typing_utils";
+    changelog = "https://github.com/bojiang/typing_utils/releases/tag/${src.tag}";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ wulpine ];
+  };
+}
diff --git a/pkgs/development/python-modules/ua-parser-rs/default.nix b/pkgs/development/python-modules/ua-parser-rs/default.nix
index 551c2154ec3e..5ca486ddf773 100644
--- a/pkgs/development/python-modules/ua-parser-rs/default.nix
+++ b/pkgs/development/python-modules/ua-parser-rs/default.nix
@@ -1,28 +1,28 @@
 {
   buildPythonPackage,
   fetchFromGitHub,
+  gitUpdater,
   lib,
+  pytestCheckHook,
+  pyyaml,
   rustPlatform,
 }:
 
 buildPythonPackage rec {
   pname = "ua-parser-rs";
-  version = "0.1.2";
+  version = "0.1.3";
 
   src = fetchFromGitHub {
     owner = "ua-parser";
     repo = "uap-rust";
     tag = "ua-parser-rs-${version}";
-    hash = "sha256-+qAYNGZFOkQyHhzqZZGrxgKHrPTWolO/4KKuppIMSRE=";
+    hash = "sha256-Tro3aPjqDN/9c3wBUDDafDpdYXhHEAHeP8NwoU9a4u0=";
     fetchSubmodules = true;
   };
 
-  postPatch = ''
-    ln -s ${./Cargo.lock} Cargo.lock
-  '';
-
-  cargoDeps = rustPlatform.importCargoLock {
-    lockFile = ./Cargo.lock;
+  cargoDeps = rustPlatform.fetchCargoVendor {
+    inherit pname version src;
+    hash = "sha256-NZpMW8cFXXpkSP8jMcXMiDyfyIuhR5C0TUzBsJVkOEE=";
   };
 
   buildAndTestSubdir = "ua-parser-py";
@@ -32,11 +32,17 @@ buildPythonPackage rec {
     rustPlatform.maturinBuildHook
   ];
 
+  nativeCheckInputs = [
+    pytestCheckHook
+    pyyaml
+  ];
+
+  passthru.updateScript = gitUpdater { rev-prefix = "ua-parser-rs-"; };
+
   meta = {
     description = "Native accelerator for ua-parser";
     homepage = "https://github.com/ua-parser/uap-rust/tree/main/ua-parser-py";
     license = lib.licenses.asl20;
     maintainers = with lib.maintainers; [ dotlambda ];
-    mainProgram = "ua-parser-rs";
   };
 }
diff --git a/pkgs/development/python-modules/uamqp/default.nix b/pkgs/development/python-modules/uamqp/default.nix
deleted file mode 100644
index 89769859cdf7..000000000000
--- a/pkgs/development/python-modules/uamqp/default.nix
+++ /dev/null
@@ -1,85 +0,0 @@
-{
-  lib,
-  stdenv,
-  buildPythonPackage,
-  fetchFromGitHub,
-  fetchpatch2,
-  setuptools,
-  cython,
-  certifi,
-  cmake,
-  openssl,
-  pytestCheckHook,
-  pytest-asyncio,
-}:
-
-buildPythonPackage rec {
-  pname = "uamqp";
-  version = "1.6.11";
-  pyproject = true;
-
-  src = fetchFromGitHub {
-    owner = "Azure";
-    repo = "azure-uamqp-python";
-    tag = "v${version}";
-    hash = "sha256-HTIOHheCrvyI7DwA/UcUXk/fbesd29lvUvJ9TAeG3CE=";
-  };
-
-  patches = [
-    (fetchpatch2 {
-      name = "fix-clang16-compatibility.patch";
-      url = "https://github.com/Azure/azure-uamqp-python/commit/bd6d9ef5a8bca3873e1e66218fd09ca787b8064e.patch";
-      hash = "sha256-xtnIVjB71EPJp/QjLQWctcSDds5s6n4ut+gnvp3VMlM=";
-    })
-  ];
-
-  postPatch = lib.optionalString (stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isx86_64) ''
-    # force darwin aarch64 to use openssl instead of applessl, removing
-    # some quirks upstream thinks they need to use openssl on macos
-    sed -i \
-      -e '/^use_openssl =/cuse_openssl = True' \
-      -e 's/\bazssl\b/ssl/' \
-      -e 's/\bazcrypto\b/crypto/' \
-      setup.py
-    sed -i \
-      -e '/#define EVP_PKEY_id/d' \
-      src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/adapters/x509_openssl.c
-    sed -z -i \
-      -e 's/OpenSSL 3\nif(LINUX)/OpenSSL 3\nif(1)/' \
-      src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/CMakeLists.txt
-  '';
-
-  build-system = [
-    cython
-    setuptools
-  ];
-
-  nativeBuildInputs = [
-    cmake
-  ];
-
-  buildInputs = [ openssl ];
-
-  dependencies = [ certifi ];
-
-  dontUseCmakeConfigure = true;
-
-  preCheck = ''
-    # remove src module, so tests use the installed module instead
-    rm -r uamqp
-  '';
-
-  nativeCheckInputs = [
-    pytestCheckHook
-    pytest-asyncio
-  ];
-
-  pythonImportsCheck = [ "uamqp" ];
-
-  meta = with lib; {
-    description = "AMQP 1.0 client library for Python";
-    homepage = "https://github.com/Azure/azure-uamqp-python";
-    license = licenses.mit;
-    maintainers = with maintainers; [ maxwilson ];
-  };
-}
diff --git a/pkgs/development/python-modules/ufomerge/default.nix b/pkgs/development/python-modules/ufomerge/default.nix
index b5d23696dc29..057de641804a 100644
--- a/pkgs/development/python-modules/ufomerge/default.nix
+++ b/pkgs/development/python-modules/ufomerge/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "ufomerge";
-  version = "1.9.3";
+  version = "1.9.4";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "googlefonts";
     repo = "ufomerge";
     tag = "v${version}";
-    hash = "sha256-AWEuHFm9upYrONaHXubPzK5qLsvYJ1M9/vcC5OgqRJM=";
+    hash = "sha256-kXwbdBqcPySboSBpGVevhQqrlE+/t+IFKTX03sh0nfw=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/uiprotect/default.nix b/pkgs/development/python-modules/uiprotect/default.nix
index a0b53af1269e..eb70d05aad2d 100644
--- a/pkgs/development/python-modules/uiprotect/default.nix
+++ b/pkgs/development/python-modules/uiprotect/default.nix
@@ -40,7 +40,7 @@
 
 buildPythonPackage rec {
   pname = "uiprotect";
-  version = "7.6.0";
+  version = "7.13.0";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -49,7 +49,7 @@ buildPythonPackage rec {
     owner = "uilibs";
     repo = "uiprotect";
     tag = "v${version}";
-    hash = "sha256-jFRBupuP0T/6e07qdJmzcz7P/IAYbY1+QxF6ErsFox0=";
+    hash = "sha256-qquFyKtGvm+115XB+i4XqaH07sHgBPTe9XUPvZR274M=";
   };
 
   build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/unidecode/default.nix b/pkgs/development/python-modules/unidecode/default.nix
index aa19b4478861..53b16a0c12f6 100644
--- a/pkgs/development/python-modules/unidecode/default.nix
+++ b/pkgs/development/python-modules/unidecode/default.nix
@@ -33,6 +33,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/avian2/unidecode";
     changelog = "https://github.com/avian2/unidecode/blob/unidecode-${version}/ChangeLog";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/unifi-discovery/default.nix b/pkgs/development/python-modules/unifi-discovery/default.nix
index 327d75c33ff0..2de32e8aacdb 100644
--- a/pkgs/development/python-modules/unifi-discovery/default.nix
+++ b/pkgs/development/python-modules/unifi-discovery/default.nix
@@ -7,6 +7,7 @@
   poetry-core,
   pyroute2,
   pytest-asyncio,
+  pytest-cov-stub,
   pytestCheckHook,
   pythonOlder,
 }:
@@ -25,11 +26,6 @@ buildPythonPackage rec {
     hash = "sha256-Ea+zxV2GUAaG/BxO103NhOLzzr/TNJaOsynDad2/2VA=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace-fail "--cov=unifi_discovery --cov-report=term-missing:skip-covered" ""
-  '';
-
   build-system = [ poetry-core ];
 
   dependencies = [
@@ -40,6 +36,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     aioresponses
     pytest-asyncio
+    pytest-cov-stub
     pytestCheckHook
   ];
 
diff --git a/pkgs/development/python-modules/units-llnl/default.nix b/pkgs/development/python-modules/units-llnl/default.nix
new file mode 100644
index 000000000000..03d0cfda1515
--- /dev/null
+++ b/pkgs/development/python-modules/units-llnl/default.nix
@@ -0,0 +1,56 @@
+{
+  lib,
+  buildPythonPackage,
+  units-llnl,
+
+  # build-system
+  nanobind,
+  scikit-build-core,
+
+  # nativeBuildInputs
+  cmake,
+  # NOTE that if top-level units-llnl package uses cmakeFlags other then
+  # Nixpkgs' default, the build might fail, and you'd want to pick only the
+  # cmakeFlags that don't cause a failure. See also:
+  # https://github.com/scipp/scipp/issues/3705
+  cmakeFlags ? units-llnl.cmakeFlags,
+  ninja,
+}:
+
+buildPythonPackage {
+  inherit (units-llnl)
+    pname
+    version
+    src
+    meta
+    ;
+  pyproject = true;
+
+  build-system = [
+    nanobind
+    scikit-build-core
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    ninja
+  ];
+  dontUseCmakeConfigure = true;
+  env = {
+    SKBUILD_CMAKE_ARGS = lib.strings.concatStringsSep ";" (
+      cmakeFlags
+      ++ [
+        (lib.cmakeBool "UNITS_BUILD_PYTHON_LIBRARY" true)
+      ]
+    );
+  };
+
+  # Also upstream turns off testing for the python build so it seems, see:
+  # https://github.com/LLNL/units/blob/v0.13.1/pyproject.toml#L65-L66 However
+  # they do seem to use pytest for their CI, but in our case it fails due to
+  # missing googletest Python modules, which we don't know how to build.
+  doCheck = false;
+  passthru = {
+    top-level = units-llnl;
+  };
+}
diff --git a/pkgs/development/python-modules/usb-devices/default.nix b/pkgs/development/python-modules/usb-devices/default.nix
index fdd4f5b60121..d3a3a7797202 100644
--- a/pkgs/development/python-modules/usb-devices/default.nix
+++ b/pkgs/development/python-modules/usb-devices/default.nix
@@ -4,6 +4,7 @@
   fetchFromGitHub,
   poetry-core,
   pytestCheckHook,
+  pytest-cov-stub,
   pythonOlder,
 }:
 
@@ -21,14 +22,12 @@ buildPythonPackage rec {
     hash = "sha256-Nfdl5oRIdOfAo5PFAJJpadRyu2zeEkmYzxDQxbvpt6c=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace " --cov=usb_devices --cov-report=term-missing:skip-covered" ""
-  '';
-
   nativeBuildInputs = [ poetry-core ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cov-stub
+  ];
 
   pythonImportsCheck = [ "usb_devices" ];
 
diff --git a/pkgs/development/python-modules/vat-moss/default.nix b/pkgs/development/python-modules/vat-moss/default.nix
index 4971df9abbdb..8a61f4494f21 100644
--- a/pkgs/development/python-modules/vat-moss/default.nix
+++ b/pkgs/development/python-modules/vat-moss/default.nix
@@ -3,17 +3,15 @@
   buildPythonPackage,
   fetchFromGitHub,
   fetchpatch,
-  pythonAtLeast,
+  setuptools,
+  standard-cgi,
   pytestCheckHook,
 }:
 
 buildPythonPackage rec {
   pname = "vat-moss";
   version = "0.11.0";
-  format = "setuptools";
-
-  # uses the removed cgi battery
-  disabled = pythonAtLeast "3.13";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "raphaelm";
@@ -30,6 +28,10 @@ buildPythonPackage rec {
     })
   ];
 
+  build-system = [ setuptools ];
+
+  dependencies = [ standard-cgi ];
+
   pythonImportsCheck = [ "vat_moss" ];
 
   nativeCheckInputs = [ pytestCheckHook ];
diff --git a/pkgs/development/python-modules/vdirsyncer/default.nix b/pkgs/development/python-modules/vdirsyncer/default.nix
index e0a4e1353a57..83e6581f4a2c 100644
--- a/pkgs/development/python-modules/vdirsyncer/default.nix
+++ b/pkgs/development/python-modules/vdirsyncer/default.nix
@@ -11,6 +11,7 @@
   atomicwrites,
   hypothesis,
   pytestCheckHook,
+  pytest-cov-stub,
   pytest-subtesthack,
   setuptools,
   setuptools-scm,
@@ -37,10 +38,6 @@ buildPythonPackage rec {
     hash = "sha256-5DeFH+uYXew1RGVPj5z23RCbCwP34ZlWCGYDCS/+so8=";
   };
 
-  postPatch = ''
-    sed -i -e '/--cov/d' -e '/--no-cov/d' pyproject.toml
-  '';
-
   nativeBuildInputs = [
     setuptools
     setuptools-scm
@@ -64,6 +61,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     hypothesis
     pytestCheckHook
+    pytest-cov-stub
     pytest-subtesthack
     pytest-asyncio
     trustme
diff --git a/pkgs/development/python-modules/venusian/default.nix b/pkgs/development/python-modules/venusian/default.nix
index 439bc5f58b23..d4008c979e49 100644
--- a/pkgs/development/python-modules/venusian/default.nix
+++ b/pkgs/development/python-modules/venusian/default.nix
@@ -35,6 +35,6 @@ buildPythonPackage rec {
     description = "Library for deferring decorator actions";
     homepage = "https://pylonsproject.org/";
     license = licenses.bsd0;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/vl-convert-python/default.nix b/pkgs/development/python-modules/vl-convert-python/default.nix
new file mode 100644
index 000000000000..9455a6fe3109
--- /dev/null
+++ b/pkgs/development/python-modules/vl-convert-python/default.nix
@@ -0,0 +1,61 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  rustPlatform,
+  protobuf,
+  libffi,
+  callPackage,
+  librusty_v8 ? callPackage ./librusty_v8.nix { },
+  nix-update-script,
+}:
+buildPythonPackage rec {
+  pname = "vl-convert-python";
+  version = "1.8.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "vega";
+    repo = "vl-convert";
+    tag = "v${version}";
+    hash = "sha256-jOqqqr6O/wHFwUHJ/7iE4N/JXXH1MvqQkAQJ47Ww7YI=";
+  };
+
+  patches = [ ./libffi-sys-system-feature.patch ];
+
+  cargoDeps = rustPlatform.fetchCargoVendor {
+    inherit src;
+    name = "${pname}-${version}";
+    hash = "sha256-oPUpX7aMZBSsVujcXkIBNL8pk2JJ0RyBCwoVsuARkkQ=";
+  };
+
+  buildAndTestSubdir = "vl-convert-python";
+
+  env.RUSTY_V8_ARCHIVE = librusty_v8;
+
+  build-system = [
+    rustPlatform.maturinBuildHook
+    rustPlatform.cargoSetupHook
+  ];
+
+  nativeBuildInputs = [ protobuf ];
+
+  buildInputs = [ libffi ];
+
+  pythonImportsCheck = [ "vl_convert" ];
+
+  passthru.updateScript = nix-update-script {
+    extraArgs = [
+      "--version-regex"
+      "vl-convert-python@(.*)"
+    ];
+  };
+
+  meta = {
+    description = "Utilities for converting Vega-Lite specs from the command line and Python";
+    license = lib.licenses.bsd3;
+    homepage = "https://github.com/vega/vl-convert";
+    changelog = "https://github.com/vega/vl-convert/releases/tag/v${version}";
+    maintainers = with lib.maintainers; [ antonmosich ];
+  };
+}
diff --git a/pkgs/development/python-modules/vl-convert-python/libffi-sys-system-feature.patch b/pkgs/development/python-modules/vl-convert-python/libffi-sys-system-feature.patch
new file mode 100644
index 000000000000..bb86dd292cdb
--- /dev/null
+++ b/pkgs/development/python-modules/vl-convert-python/libffi-sys-system-feature.patch
@@ -0,0 +1,10 @@
+diff --git a/vl-convert-python/Cargo.toml b/vl-convert-python/Cargo.toml
+index 3d24fa4..25020db 100644
+--- a/vl-convert-python/Cargo.toml
++++ b/vl-convert-python/Cargo.toml
+@@ -22,3 +22,5 @@ lazy_static = { workspace = true }
+ futures = { workspace = true }
+ pythonize = { workspace = true }
+ tokio = { workspace = true }
++
++libffi = { version = "3.2.0", features = ["system"] }
diff --git a/pkgs/development/python-modules/vl-convert-python/librusty_v8.nix b/pkgs/development/python-modules/vl-convert-python/librusty_v8.nix
new file mode 100644
index 000000000000..53aaf4910485
--- /dev/null
+++ b/pkgs/development/python-modules/vl-convert-python/librusty_v8.nix
@@ -0,0 +1,28 @@
+{
+  lib,
+  stdenv,
+  fetchurl,
+}:
+
+let
+  fetch_librusty_v8 =
+    args:
+    fetchurl {
+      name = "librusty_v8-${args.version}";
+      url = "https://github.com/denoland/rusty_v8/releases/download/v${args.version}/librusty_v8_release_${stdenv.hostPlatform.rust.rustcTarget}.a.gz";
+      sha256 = args.shas.${stdenv.hostPlatform.system};
+      meta = {
+        inherit (args) version;
+        sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
+      };
+    };
+in
+fetch_librusty_v8 {
+  version = "0.105.1";
+  shas = {
+    x86_64-linux = "sha256-f7aDA74Jn2h4rp9sACGHX4DBbN6yevgWCEKdfI1fJDU=";
+    aarch64-linux = "sha256-vuEP7in+A/PrBXSunRq1SC77dOuMiScsKcA712AuNuk=";
+    x86_64-darwin = "sha256-sNe2VCwZvy64jdbPwx7pZ91fFRv1xosOcGiAtSPbt8A=";
+    aarch64-darwin = "sha256-GmwTJADMxArwOvRN/w5KVmWGc1+WfraBc/wWe7dxHMg=";
+  };
+}
diff --git a/pkgs/development/python-modules/vllm/0005-drop-intel-reqs.patch b/pkgs/development/python-modules/vllm/0005-drop-intel-reqs.patch
new file mode 100644
index 000000000000..9bf7d3cdf4d8
--- /dev/null
+++ b/pkgs/development/python-modules/vllm/0005-drop-intel-reqs.patch
@@ -0,0 +1,25 @@
+From 7511784ceb9252091a9d63ac6b54dcc67dd2b262 Mon Sep 17 00:00:00 2001
+From: Conroy Cheers 
+Date: Fri, 13 Jun 2025 17:42:10 +1000
+Subject: [PATCH] drop intel reqs
+
+---
+ requirements/cpu.txt | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/requirements/cpu.txt b/requirements/cpu.txt
+index d7b0fc6d8..be2df751b 100644
+--- a/requirements/cpu.txt
++++ b/requirements/cpu.txt
+@@ -24,8 +24,5 @@ datasets # for benchmark scripts
+ # cpu cannot use triton 3.3.0
+ triton==3.2.0; platform_machine == "x86_64"
+ 
+-# Intel Extension for PyTorch, only for x86_64 CPUs
+-intel-openmp==2024.2.1; platform_machine == "x86_64"
+-intel_extension_for_pytorch==2.7.0; platform_machine == "x86_64"
+ py-libnuma; platform_system != "Darwin"
+ psutil; platform_system != "Darwin"
+-- 
+2.49.0
+
diff --git a/pkgs/development/python-modules/vllm/default.nix b/pkgs/development/python-modules/vllm/default.nix
index de1ccf5b6539..61e2634cdad7 100644
--- a/pkgs/development/python-modules/vllm/default.nix
+++ b/pkgs/development/python-modules/vllm/default.nix
@@ -3,8 +3,9 @@
   stdenv,
   python,
   buildPythonPackage,
-  pythonRelaxDepsHook,
+  pythonAtLeast,
   fetchFromGitHub,
+  fetchpatch,
   symlinkJoin,
   autoAddDriverRunpath,
 
@@ -15,7 +16,6 @@
   packaging,
   setuptools,
   setuptools-scm,
-  wheel,
 
   # dependencies
   which,
@@ -63,6 +63,15 @@
   python-json-logger,
   python-multipart,
   llvmPackages,
+  opentelemetry-sdk,
+  opentelemetry-api,
+  opentelemetry-exporter-otlp,
+  bitsandbytes,
+  flashinfer,
+  py-libnuma,
+
+  # internal dependency - for overriding in overlays
+  vllm-flash-attn ? null,
 
   cudaSupport ? torch.cudaSupport,
   cudaPackages ? { },
@@ -88,8 +97,8 @@ let
   cutlass = fetchFromGitHub {
     owner = "NVIDIA";
     repo = "cutlass";
-    tag = "v3.8.0";
-    hash = "sha256-oIzlbKRdOh6gp6nRZ8udLSqleBFoFtgM7liCBlHZLOk=";
+    tag = "v3.9.2";
+    hash = "sha256-teziPNA9csYvhkG5t2ht8W8x5+1YGGbHm8VKx4JoxgI=";
   };
 
   flashmla = stdenv.mkDerivation {
@@ -119,36 +128,41 @@ let
     '';
   };
 
-  vllm-flash-attn = stdenv.mkDerivation {
+  vllm-flash-attn' = lib.defaultTo (stdenv.mkDerivation {
     pname = "vllm-flash-attn";
     # https://github.com/vllm-project/flash-attention/blob/${src.rev}/vllm_flash_attn/__init__.py
-    version = "2.7.2.post1";
+    version = "2.7.4.post1";
 
     # grep for GIT_TAG in the following file
     # https://github.com/vllm-project/vllm/blob/v${version}/cmake/external_projects/vllm_flash_attn.cmake
     src = fetchFromGitHub {
       owner = "vllm-project";
       repo = "flash-attention";
-      rev = "dc9d410b3e2d6534a4c70724c2515f4def670a22";
-      hash = "sha256-ZQ0bOBIb+8IMmya8dmimKQ17KTBplX81IirdnBJpX5M=";
+      rev = "8798f27777fb57f447070301bf33a9f9c607f491";
+      hash = "sha256-UTUvATGN1NU/Bc8qo078q6bEgILLmlrjL7Yk2iAJhg4=";
     };
 
     dontConfigure = true;
 
-    # vllm-flash-attn normally relies on `git submodule update` to fetch cutlass
-    buildPhase = ''
-      rm -rf csrc/cutlass
-      ln -sf ${cutlass} csrc/cutlass
-    '';
+    # vllm-flash-attn normally relies on `git submodule update` to fetch cutlass and composable_kernel
+    buildPhase =
+      ''
+        rm -rf csrc/cutlass
+        ln -sf ${cutlass} csrc/cutlass
+      ''
+      + lib.optionalString (rocmSupport) ''
+        rm -rf csrc/composable_kernel;
+        ln -sf ${rocmPackages.composable_kernel} csrc/composable_kernel
+      '';
 
     installPhase = ''
       cp -rva . $out
     '';
-  };
+  }) vllm-flash-attn;
 
   cpuSupport = !cudaSupport && !rocmSupport;
 
-  # https://github.com/pytorch/pytorch/blob/v2.6.0/torch/utils/cpp_extension.py#L2046-L2048
+  # https://github.com/pytorch/pytorch/blob/v2.7.0/torch/utils/cpp_extension.py#L2343-L2345
   supportedTorchCudaCapabilities =
     let
       real = [
@@ -170,6 +184,11 @@ let
         "9.0"
         "9.0a"
         "10.0"
+        "10.0a"
+        "10.1"
+        "10.1a"
+        "12.0"
+        "12.0a"
       ];
       ptx = lists.map (x: "${x}+PTX") real;
     in
@@ -229,42 +248,55 @@ in
 
 buildPythonPackage rec {
   pname = "vllm";
-  version = "0.8.3";
+  version = "0.9.1";
   pyproject = true;
 
+  # https://github.com/vllm-project/vllm/issues/12083
+  disabled = pythonAtLeast "3.13";
+
   stdenv = torch.stdenv;
 
   src = fetchFromGitHub {
     owner = "vllm-project";
     repo = "vllm";
     tag = "v${version}";
-    hash = "sha256-LiEBkVwJTT4WoCTk9pI0ykTjmv1pDMzksmFwVktoxMY=";
+    hash = "sha256-sp7rDpewTPXTVRBJHJMj+8pJDS6wAu0/OTJZwbPPqKc=";
   };
 
   patches = [
+    (fetchpatch {
+      name = "remove-unused-opentelemetry-semantic-conventions-ai-dep.patch";
+      url = "https://github.com/vllm-project/vllm/commit/6a5d7e45f52c3a13de43b8b4fa9033e3b342ebd2.patch";
+      hash = "sha256-KYthqu+6XwsYYd80PtfrMMjuRV9+ionccr7EbjE4jJE=";
+    })
+    (fetchpatch {
+      name = "fall-back-to-gloo-when-nccl-unavailable.patch";
+      url = "https://github.com/vllm-project/vllm/commit/aa131a94410683b0a02e74fed2ce95e6c2b6b030.patch";
+      hash = "sha256-jNlQZQ8xiW85JWyBjsPZ6FoRQsiG1J8bwzmQjnaWFBg=";
+    })
     ./0002-setup.py-nix-support-respect-cmakeFlags.patch
     ./0003-propagate-pythonpath.patch
     ./0004-drop-lsmod.patch
+    ./0005-drop-intel-reqs.patch
   ];
 
-  postPatch =
-    ''
-      # pythonRelaxDeps does not cover build-system
-      substituteInPlace pyproject.toml \
-        --replace-fail "torch ==" "torch >="
+  postPatch = ''
+    # pythonRelaxDeps does not cover build-system
+    substituteInPlace pyproject.toml \
+      --replace-fail "torch ==" "torch >=" \
+      --replace-fail "setuptools>=77.0.3,<80.0.0" "setuptools"
 
-      # Ignore the python version check because it hard-codes minor versions and
-      # lags behind `ray`'s python interpreter support
-      substituteInPlace CMakeLists.txt \
-        --replace-fail \
-          'set(PYTHON_SUPPORTED_VERSIONS' \
-          'set(PYTHON_SUPPORTED_VERSIONS "${lib.versions.majorMinor python.version}"'
-    ''
-    + lib.optionalString (nccl == null) ''
-      # On platforms where NCCL is not supported (e.g. Jetson), substitute Gloo (provided by Torch)
-      substituteInPlace vllm/distributed/parallel_state.py \
-        --replace-fail '"nccl"' '"gloo"'
-    '';
+    # Ignore the python version check because it hard-codes minor versions and
+    # lags behind `ray`'s python interpreter support
+    substituteInPlace CMakeLists.txt \
+      --replace-fail \
+        'set(PYTHON_SUPPORTED_VERSIONS' \
+        'set(PYTHON_SUPPORTED_VERSIONS "${lib.versions.majorMinor python.version}"'
+
+    # Pass build environment PYTHONPATH to vLLM's Python configuration scripts
+    substituteInPlace CMakeLists.txt \
+      --replace-fail '$PYTHONPATH' '$ENV{PYTHONPATH}'
+  '';
 
   nativeBuildInputs =
     [
@@ -335,7 +367,6 @@ buildPythonPackage rec {
       outlines
       pandas
       prometheus-fastapi-instrumentator
-      psutil
       py-cpuinfo
       pyarrow
       pydantic
@@ -361,22 +392,33 @@ buildPythonPackage rec {
       xformers
       xgrammar
       numba
+      opentelemetry-sdk
+      opentelemetry-api
+      opentelemetry-exporter-otlp
+      bitsandbytes
+      # vLLM needs Torch's compiler to be present in order to use torch.compile
+      torch.stdenv.cc
     ]
     ++ uvicorn.optional-dependencies.standard
     ++ aioprometheus.optional-dependencies.starlette
+    ++ lib.optionals stdenv.targetPlatform.isLinux [
+      py-libnuma
+      psutil
+    ]
     ++ lib.optionals cudaSupport [
       cupy
       pynvml
+      flashinfer
     ];
 
   dontUseCmakeConfigure = true;
   cmakeFlags =
     [
-      (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_CUTLASS" "${lib.getDev cutlass}")
-      (lib.cmakeFeature "FLASH_MLA_SRC_DIR" "${lib.getDev flashmla}")
-      (lib.cmakeFeature "VLLM_FLASH_ATTN_SRC_DIR" "${lib.getDev vllm-flash-attn}")
     ]
     ++ lib.optionals cudaSupport [
+      (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_CUTLASS" "${lib.getDev cutlass}")
+      (lib.cmakeFeature "FLASH_MLA_SRC_DIR" "${lib.getDev flashmla}")
+      (lib.cmakeFeature "VLLM_FLASH_ATTN_SRC_DIR" "${lib.getDev vllm-flash-attn'}")
       (lib.cmakeFeature "TORCH_CUDA_ARCH_LIST" "${gpuTargetString}")
       (lib.cmakeFeature "CUTLASS_NVCC_ARCHS_ENABLED" "${cudaPackages.flags.cmakeCudaArchitecturesString}")
       (lib.cmakeFeature "CUDA_TOOLKIT_ROOT_DIR" "${symlinkJoin {
@@ -416,15 +458,19 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "vllm" ];
 
-  # updates the cutlass fetcher instead
-  passthru.skipBulkUpdate = true;
+  passthru = {
+    # make internal dependency available to overlays
+    vllm-flash-attn = vllm-flash-attn';
+    # updates the cutlass fetcher instead
+    skipBulkUpdate = true;
+  };
 
-  meta = with lib; {
+  meta = {
     description = "High-throughput and memory-efficient inference and serving engine for LLMs";
     changelog = "https://github.com/vllm-project/vllm/releases/tag/v${version}";
     homepage = "https://github.com/vllm-project/vllm";
-    license = licenses.asl20;
-    maintainers = with maintainers; [
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [
       happysalada
       lach
     ];
diff --git a/pkgs/development/python-modules/wagtail/default.nix b/pkgs/development/python-modules/wagtail/default.nix
index 450b9207c3bf..f36f7602a0bf 100644
--- a/pkgs/development/python-modules/wagtail/default.nix
+++ b/pkgs/development/python-modules/wagtail/default.nix
@@ -46,6 +46,8 @@ buildPythonPackage rec {
     setuptools
   ];
 
+  pythonRelaxDeps = [ "django-tasks" ];
+
   dependencies = [
     anyascii
     beautifulsoup4
diff --git a/pkgs/development/python-modules/waitress/default.nix b/pkgs/development/python-modules/waitress/default.nix
index 42751f8fec90..3b6973490026 100644
--- a/pkgs/development/python-modules/waitress/default.nix
+++ b/pkgs/development/python-modules/waitress/default.nix
@@ -41,6 +41,6 @@ buildPythonPackage rec {
     description = "Waitress WSGI server";
     mainProgram = "waitress-serve";
     license = licenses.zpl21;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/warlock/default.nix b/pkgs/development/python-modules/warlock/default.nix
index b0352114cf66..6ad45ae49fa7 100644
--- a/pkgs/development/python-modules/warlock/default.nix
+++ b/pkgs/development/python-modules/warlock/default.nix
@@ -7,6 +7,7 @@
   jsonpatch,
   jsonschema,
   pytestCheckHook,
+  pytest-cov-stub,
 }:
 
 buildPythonPackage rec {
@@ -23,10 +24,6 @@ buildPythonPackage rec {
     hash = "sha256-HOCLzFYmOL/tCXT+NO/tCZuVXVowNEPP3g33ZYg4+6Q=";
   };
 
-  postPatch = ''
-    sed -i '/--cov/d' pytest.ini
-  '';
-
   nativeBuildInputs = [ poetry-core ];
 
   propagatedBuildInputs = [
@@ -34,7 +31,10 @@ buildPythonPackage rec {
     jsonschema
   ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cov-stub
+  ];
 
   disabledTests = [
     # https://github.com/bcwaldon/warlock/issues/64
diff --git a/pkgs/development/python-modules/watchdog/default.nix b/pkgs/development/python-modules/watchdog/default.nix
index a577eb617c0b..3dcd610c3eb1 100644
--- a/pkgs/development/python-modules/watchdog/default.nix
+++ b/pkgs/development/python-modules/watchdog/default.nix
@@ -37,12 +37,6 @@ buildPythonPackage rec {
     ++ optional-dependencies.watchmedo
     ++ lib.optionals (pythonOlder "3.13") [ eventlet ];
 
-  postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace "--cov=watchdog" "" \
-      --replace "--cov-report=term-missing" ""
-  '';
-
   pytestFlagsArray =
     [
       "--deselect=tests/test_emitter.py::test_create_wrong_encoding"
diff --git a/pkgs/development/python-modules/weblate-schemas/default.nix b/pkgs/development/python-modules/weblate-schemas/default.nix
index ac974171355b..c46d422612ff 100644
--- a/pkgs/development/python-modules/weblate-schemas/default.nix
+++ b/pkgs/development/python-modules/weblate-schemas/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "weblate-schemas";
-  version = "2025.1";
+  version = "2025.2";
 
   pyproject = true;
 
   src = fetchPypi {
     pname = "weblate_schemas";
     inherit version;
-    hash = "sha256-R2G5s51XmZfc3qewNGv5D9K03pvCFeod4RH4VtY9cAA=";
+    hash = "sha256-C8+p+NHCAbLnHh8ujV5YdbjFSzXsKAoUyNhM3iIRPG4=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/weheat/default.nix b/pkgs/development/python-modules/weheat/default.nix
index 68a9535f1151..44a6e1715883 100644
--- a/pkgs/development/python-modules/weheat/default.nix
+++ b/pkgs/development/python-modules/weheat/default.nix
@@ -13,20 +13,16 @@
 
 buildPythonPackage rec {
   pname = "weheat";
-  version = "2025.4.29";
+  version = "2025.6.10";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "wefabricate";
     repo = "wh-python";
     tag = version;
-    hash = "sha256-z+tRxx+wtEj5cBXBVG1B5SNyvkQk2UwjH7lPgNQQ+ng=";
+    hash = "sha256-CBW+LehZPZCHZ2zFeCOWwNAVlGcGdKQ5XgmCOv8jr5Q=";
   };
 
-  pythonRelaxDeps = [
-    "urllib3"
-  ];
-
   build-system = [ setuptools ];
 
   dependencies = [
@@ -46,6 +42,7 @@ buildPythonPackage rec {
   meta = {
     description = "Library to interact with the weheat API";
     homepage = "https://github.com/wefabricate/wh-python";
+    changelog = "https://github.com/wefabricate/wh-python/releases/tag/${src.tag}";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/whenever/default.nix b/pkgs/development/python-modules/whenever/default.nix
index 4640e150b0b4..b5ea39990fcb 100644
--- a/pkgs/development/python-modules/whenever/default.nix
+++ b/pkgs/development/python-modules/whenever/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "whenever";
-  version = "0.8.0";
+  version = "0.8.5";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -29,12 +29,12 @@ buildPythonPackage rec {
     owner = "ariebovenberg";
     repo = "whenever";
     tag = version;
-    hash = "sha256-HeEuzOHT0EbmkbIH/yejKu54943ItUy8oY2ZlnEwgBA=";
+    hash = "sha256-AXAvjCtSnm1B/2NlZzzYdlI7BPHIuwKAeF+AxDp0PYQ=";
   };
 
   cargoDeps = rustPlatform.fetchCargoVendor {
     inherit src;
-    hash = "sha256-szNRzaswILPjMJ+QFUWSJPfB6mF+o78Qg6AWkkancuU=";
+    hash = "sha256-qIIi1yKHaVz7NegOunzzdoQbeAavbdXPM4MBupLebDs=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/woob/default.nix b/pkgs/development/python-modules/woob/default.nix
index cf03a672a078..db4a5da315a5 100644
--- a/pkgs/development/python-modules/woob/default.nix
+++ b/pkgs/development/python-modules/woob/default.nix
@@ -1,9 +1,8 @@
 {
   lib,
-  babel,
   buildPythonPackage,
   fetchFromGitLab,
-  fetchpatch,
+  babel,
   html2text,
   lxml,
   packaging,
@@ -20,41 +19,33 @@
   setuptools,
   testers,
   unidecode,
+  termcolor,
+  responses,
   woob,
 }:
 
 buildPythonPackage rec {
   pname = "woob";
-  version = "3.6";
+  version = "3.7";
   pyproject = true;
-
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitLab {
     owner = "woob";
     repo = "woob";
-    rev = version;
-    hash = "sha256-M9AjV954H1w64YGCVxDEGGSnoEbmocG3zwltob6IW04=";
+    tag = version;
+    hash = "sha256-EZHzw+/BIIvmDXG4fF367wsdUTVTHWYb0d0U56ZXwOs=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "no-deprecated-pkg_resources.patch";
-      url = "https://gitlab.com/woob/woob/-/commit/3283c4c1a935cc71acea98b2d8c88bc4bf28f643.patch";
-      hash = "sha256-3bRuv93ivKRxbGr52coO023DlxHZWwUeInXTPqQAeL8=";
-    })
-  ];
-
-  nativeBuildInputs = [
-    setuptools
-  ];
+  build-system = [ setuptools ];
 
   pythonRelaxDeps = [
     "packaging"
     "rich"
+    "requests"
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     babel
     python-dateutil
     python-jose
@@ -68,9 +59,13 @@ buildPythonPackage rec {
     requests
     rich
     unidecode
+    termcolor
   ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+    responses
+  ];
 
   disabledTests = [
     # require networking
@@ -85,12 +80,12 @@ buildPythonPackage rec {
     version = "v${version}";
   };
 
-  meta = with lib; {
+  meta = {
     changelog = "https://gitlab.com/woob/woob/-/blob/${src.rev}/ChangeLog";
     description = "Collection of applications and APIs to interact with websites";
     mainProgram = "woob";
     homepage = "https://woob.tech";
-    license = licenses.lgpl3Plus;
-    maintainers = with maintainers; [ DamienCassou ];
+    license = lib.licenses.lgpl3Plus;
+    maintainers = with lib.maintainers; [ DamienCassou ];
   };
 }
diff --git a/pkgs/development/python-modules/wordcloud/default.nix b/pkgs/development/python-modules/wordcloud/default.nix
index 4f80b2938578..513e25dae742 100644
--- a/pkgs/development/python-modules/wordcloud/default.nix
+++ b/pkgs/development/python-modules/wordcloud/default.nix
@@ -7,6 +7,7 @@
   numpy,
   pillow,
   pytestCheckHook,
+  pytest-cov-stub,
   pythonOlder,
   setuptools,
   setuptools-scm,
@@ -30,11 +31,6 @@ buildPythonPackage rec {
     hash = "sha256-snPYpd7ZfT6tkEBGtJRk3LcRGe5534dQcqTBBcrdNHo=";
   };
 
-  postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace " --cov --cov-report xml --tb=short" ""
-  '';
-
   nativeBuildInputs = [ cython ];
 
   dependencies = [
@@ -43,7 +39,10 @@ buildPythonPackage rec {
     pillow
   ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cov-stub
+  ];
 
   preCheck = ''
     cd test
diff --git a/pkgs/development/python-modules/wsdot/default.nix b/pkgs/development/python-modules/wsdot/default.nix
new file mode 100644
index 000000000000..66037e68a67c
--- /dev/null
+++ b/pkgs/development/python-modules/wsdot/default.nix
@@ -0,0 +1,45 @@
+{
+  aiohttp,
+  buildPythonPackage,
+  fetchFromGitHub,
+  hatchling,
+  lib,
+  pydantic,
+  pytest-asyncio,
+  pytestCheckHook,
+}:
+
+buildPythonPackage rec {
+  pname = "wsdot";
+  version = "0.0.1";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "ucodery";
+    repo = "wsdot";
+    tag = "v${version}";
+    hash = "sha256-ZmQXa/C5AxqzAdmxqStWnCLrm3AJb/krxbDhtLYMWPw=";
+  };
+
+  build-system = [ hatchling ];
+
+  dependencies = [
+    aiohttp
+    pydantic
+  ];
+
+  pythonImportsCheck = [ "wsdot" ];
+
+  nativeCheckInputs = [
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  meta = {
+    changelog = "https://github.com/ucodery/wsdot/releases/tag/${src.tag}";
+    description = "Python wrapper of the wsdot.wa.gov APIs";
+    homepage = "https://github.com/ucodery/wsdot";
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/wsgiproxy2/default.nix b/pkgs/development/python-modules/wsgiproxy2/default.nix
index 25c66e98cf6d..d3fb8a3296cc 100644
--- a/pkgs/development/python-modules/wsgiproxy2/default.nix
+++ b/pkgs/development/python-modules/wsgiproxy2/default.nix
@@ -31,6 +31,6 @@ buildPythonPackage rec {
     description = "HTTP proxying tools for WSGI apps";
     homepage = "https://wsgiproxy2.readthedocs.io/";
     license = licenses.mit;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/x-transformers/default.nix b/pkgs/development/python-modules/x-transformers/default.nix
index 36ef2c16434a..7019a617b383 100644
--- a/pkgs/development/python-modules/x-transformers/default.nix
+++ b/pkgs/development/python-modules/x-transformers/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "x-transformers";
-  version = "2.3.5";
+  version = "2.3.12";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "lucidrains";
     repo = "x-transformers";
     tag = version;
-    hash = "sha256-doMAq55c12xLpTaWptfNclnGoCnvdtz90XUI3m1rzPA=";
+    hash = "sha256-RPfAeSTQ2mkbuuuoQb003+ca+1RYbbYIqnvtna0NYZY=";
   };
 
   build-system = [ hatchling ];
diff --git a/pkgs/development/python-modules/xgrammar/0001-fix-find-nanobind-from-python-module.patch b/pkgs/development/python-modules/xgrammar/0001-fix-find-nanobind-from-python-module.patch
new file mode 100644
index 000000000000..bedcb2211665
--- /dev/null
+++ b/pkgs/development/python-modules/xgrammar/0001-fix-find-nanobind-from-python-module.patch
@@ -0,0 +1,41 @@
+From c01e056ee845ae973ec36cc50125492ef8c02c12 Mon Sep 17 00:00:00 2001
+From: Conroy Cheers 
+Date: Thu, 12 Jun 2025 17:45:27 +1000
+Subject: [PATCH] [Fix] find nanobind from Python module
+
+---
+ cpp/nanobind/CMakeLists.txt | 4 ++++
+ pyproject.toml              | 2 +-
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/cpp/nanobind/CMakeLists.txt b/cpp/nanobind/CMakeLists.txt
+index 8ea5622..02500ac 100644
+--- a/cpp/nanobind/CMakeLists.txt
++++ b/cpp/nanobind/CMakeLists.txt
+@@ -3,6 +3,10 @@ find_package(
+   COMPONENTS Interpreter Development.Module
+   REQUIRED
+ )
++
++execute_process(
++  COMMAND "${Python_EXECUTABLE}" -m nanobind --cmake_dir
++  OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE nanobind_DIR)
+ find_package(nanobind CONFIG REQUIRED)
+ 
+ # Compile this source file seperately. Nanobind suggests to optimize bindings code for size, but
+diff --git a/pyproject.toml b/pyproject.toml
+index 11fae7d..d2078b1 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -44,7 +44,7 @@ provider = "scikit_build_core.metadata.regex"
+ input = "python/xgrammar/version.py"
+ 
+ [build-system]
+-requires = ["scikit-build-core>=0.10.0", "nanobind==2.5.0"]
++requires = ["scikit-build-core>=0.10.0", "nanobind>=2.5.0"]
+ build-backend = "scikit_build_core.build"
+ 
+ [tool.scikit-build]
+-- 
+2.49.0
+
diff --git a/pkgs/development/python-modules/xgrammar/default.nix b/pkgs/development/python-modules/xgrammar/default.nix
index 90caf1208c0f..78cf62927f6d 100644
--- a/pkgs/development/python-modules/xgrammar/default.nix
+++ b/pkgs/development/python-modules/xgrammar/default.nix
@@ -7,7 +7,7 @@
   # build-system
   cmake,
   ninja,
-  pybind11,
+  nanobind,
   scikit-build-core,
 
   # dependencies
@@ -25,7 +25,7 @@
 
 buildPythonPackage rec {
   pname = "xgrammar";
-  version = "0.1.14";
+  version = "0.1.19";
   pyproject = true;
 
   src = fetchFromGitHub {
@@ -33,13 +33,17 @@ buildPythonPackage rec {
     repo = "xgrammar";
     tag = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-ohsoc3g5XUp9vSXxyOGj20wXzCXZC02ktHYVQjDqNeM=";
+    hash = "sha256-0b2tJx1D/2X/uosbthHfevUpTCBtuSKNlxOKyidTotA=";
   };
 
+  patches = [
+    ./0001-fix-find-nanobind-from-python-module.patch
+  ];
+
   build-system = [
     cmake
     ninja
-    pybind11
+    nanobind
     scikit-build-core
   ];
   dontUseCmakeConfigure = true;
@@ -61,6 +65,11 @@ buildPythonPackage rec {
     writableTmpDirAsHomeHook
   ];
 
+  NIX_CFLAGS_COMPILE = toString [
+    # xgrammar hardcodes -flto=auto while using static linking, which can cause linker errors without this additional flag.
+    "-ffat-lto-objects"
+  ];
+
   disabledTests = [
     # You are trying to access a gated repo.
     "test_grammar_compiler"
diff --git a/pkgs/development/python-modules/xiaomi-ble/default.nix b/pkgs/development/python-modules/xiaomi-ble/default.nix
index b8d8b5a9b99c..5c5b7eff9a74 100644
--- a/pkgs/development/python-modules/xiaomi-ble/default.nix
+++ b/pkgs/development/python-modules/xiaomi-ble/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "xiaomi-ble";
-  version = "0.39.0";
+  version = "1.0.0";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = "xiaomi-ble";
     tag = "v${version}";
-    hash = "sha256-XuEFzyJmWrHm4vzyei6+iUEPRDGht+DQGUn6K9Polng=";
+    hash = "sha256-c9MmxnLEthENvAaBSigUli9m1CbbV/F2RlJMLv5/sOE=";
   };
 
   build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/xml2rfc/default.nix b/pkgs/development/python-modules/xml2rfc/default.nix
index 206ee75049d7..71491c6d22cb 100644
--- a/pkgs/development/python-modules/xml2rfc/default.nix
+++ b/pkgs/development/python-modules/xml2rfc/default.nix
@@ -24,7 +24,7 @@
 
 buildPythonPackage rec {
   pname = "xml2rfc";
-  version = "3.28.1";
+  version = "3.29.0";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -33,7 +33,7 @@ buildPythonPackage rec {
     owner = "ietf-tools";
     repo = "xml2rfc";
     tag = "v${version}";
-    hash = "sha256-3wyW1LHHsaJrgynMYgdQ01UhGQ7eyLbOv6I+A0adX1E=";
+    hash = "sha256-gwHSiPp4dbfix7a+HUR8nomoc99oO8MFPOvRUnSketA=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/yamlfix/default.nix b/pkgs/development/python-modules/yamlfix/default.nix
index b91cb7bb5b11..dacfc5d51199 100644
--- a/pkgs/development/python-modules/yamlfix/default.nix
+++ b/pkgs/development/python-modules/yamlfix/default.nix
@@ -11,6 +11,7 @@
   pythonOlder,
   ruyaml,
   setuptools,
+  writableTmpDirAsHomeHook,
 }:
 let
   maison143 = maison.overridePythonAttrs (old: rec {
@@ -26,7 +27,7 @@ in
 
 buildPythonPackage rec {
   pname = "yamlfix";
-  version = "1.16.0";
+  version = "1.16.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -35,7 +36,7 @@ buildPythonPackage rec {
     owner = "lyz-code";
     repo = "yamlfix";
     tag = version;
-    hash = "sha256-nadyBIzXHbWm0QvympRaYU38tuPJ3TPJg8EbvVv+4L0=";
+    hash = "sha256-RRpU6cxb3a3g6RrJbUCxY7YC87HHbGkhOFtE3hf8HdA=";
   };
 
   build-system = [
@@ -49,16 +50,15 @@ buildPythonPackage rec {
     ruyaml
   ];
 
+  pythonRelaxDeps = [ "maison" ];
+
   nativeCheckInputs = [
     pytest-freezegun
     pytest-xdist
     pytestCheckHook
+    writableTmpDirAsHomeHook
   ];
 
-  preCheck = ''
-    export HOME=$(mktemp -d)
-  '';
-
   pythonImportsCheck = [ "yamlfix" ];
 
   pytestFlagsArray = [
@@ -66,11 +66,12 @@ buildPythonPackage rec {
     "ignore::DeprecationWarning"
   ];
 
-  meta = with lib; {
+  meta = {
     description = "Python YAML formatter that keeps your comments";
     homepage = "https://github.com/lyz-code/yamlfix";
     changelog = "https://github.com/lyz-code/yamlfix/blob/${version}/CHANGELOG.md";
-    license = licenses.gpl3Only;
-    maintainers = with maintainers; [ koozz ];
+    mainProgram = "yamlfix";
+    license = lib.licenses.gpl3Only;
+    maintainers = with lib.maintainers; [ koozz ];
   };
 }
diff --git a/pkgs/development/python-modules/yfinance/default.nix b/pkgs/development/python-modules/yfinance/default.nix
index 31343fa9bb62..2d5a2468f26a 100644
--- a/pkgs/development/python-modules/yfinance/default.nix
+++ b/pkgs/development/python-modules/yfinance/default.nix
@@ -25,14 +25,14 @@
 
 buildPythonPackage rec {
   pname = "yfinance";
-  version = "0.2.61";
+  version = "0.2.63";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "ranaroussi";
     repo = "yfinance";
     tag = version;
-    hash = "sha256-uOTsfXYXlbOXoP55AJ7QRBebOR7B441p5jkSiRyqQtI=";
+    hash = "sha256-yIkMhG5RxBNwdp8Cq5OzqZfOKABULe5irexHHHArZzM=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/yte/default.nix b/pkgs/development/python-modules/yte/default.nix
index 91f5cd0c3809..7193fd480cb2 100644
--- a/pkgs/development/python-modules/yte/default.nix
+++ b/pkgs/development/python-modules/yte/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "yte";
-  version = "1.7.0";
+  version = "1.8.1";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "koesterlab";
     repo = "yte";
     tag = "v${version}";
-    hash = "sha256-W9t2BlBp947Rwnq+IKbL5aJqauZmYQOzuBIstw6hHQY=";
+    hash = "sha256-0YIZd0qgtriyD+xCxJZENY7Z1fART3MS8pubnpysGRc=";
   };
 
   build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/zha-quirks/default.nix b/pkgs/development/python-modules/zha-quirks/default.nix
index 0022592f9f66..b49f0b1b4972 100644
--- a/pkgs/development/python-modules/zha-quirks/default.nix
+++ b/pkgs/development/python-modules/zha-quirks/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "zha-quirks";
-  version = "0.0.137";
+  version = "0.0.138";
   pyproject = true;
 
   disabled = pythonOlder "3.12";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = "zha-device-handlers";
     tag = version;
-    hash = "sha256-LieMWqUp4bOWMmFyQ04O2SyxxsBzKxWqatQUnh6Wx9M=";
+    hash = "sha256-lN7u8ve3s3xQg6JiltnsyVRob1vbnzurjp/FUYy10pc=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/zha/default.nix b/pkgs/development/python-modules/zha/default.nix
index ff44dfeb74e3..8395428be649 100644
--- a/pkgs/development/python-modules/zha/default.nix
+++ b/pkgs/development/python-modules/zha/default.nix
@@ -27,7 +27,7 @@
 
 buildPythonPackage rec {
   pname = "zha";
-  version = "0.0.57";
+  version = "0.0.59";
   pyproject = true;
 
   disabled = pythonOlder "3.12";
@@ -36,7 +36,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = "zha";
     tag = version;
-    hash = "sha256-eaOVQQ5GbWjJuK+30r3bcBMAFdVY9K9bwn+rd/qQ+Ow=";
+    hash = "sha256-wddMeXFKk8HBz8Hle5kbRaOkZLOr98HoiHYYlBtuxSA=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/zigpy-deconz/default.nix b/pkgs/development/python-modules/zigpy-deconz/default.nix
index 02f0e6f803b6..779329848cf4 100644
--- a/pkgs/development/python-modules/zigpy-deconz/default.nix
+++ b/pkgs/development/python-modules/zigpy-deconz/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "zigpy-deconz";
-  version = "0.24.2";
+  version = "0.25.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = "zigpy-deconz";
     tag = version;
-    hash = "sha256-el29EqCK9p3AII9LsMw+ikplHfDKNUIhaU3HJI0gfu8=";
+    hash = "sha256-aZRLfvAnJ1yO+d3LUx2ouqWPuwsIk51v+TSUkFfBbQA=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/zigpy/default.nix b/pkgs/development/python-modules/zigpy/default.nix
index 27ad394a1f2a..b68dd60e3fec 100644
--- a/pkgs/development/python-modules/zigpy/default.nix
+++ b/pkgs/development/python-modules/zigpy/default.nix
@@ -25,14 +25,14 @@
 
 buildPythonPackage rec {
   pname = "zigpy";
-  version = "0.79.0";
+  version = "0.80.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "zigpy";
     repo = "zigpy";
     tag = version;
-    hash = "sha256-4bvVn9Pv37zngsiwy54g+z05uej5Bfwpt3mC9cxF2hk=";
+    hash = "sha256-OHwX2bwM6XYPGs2n7X5OQ3lW1lsD0RaaPNSFXOX+C/Q=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/zope-copy/default.nix b/pkgs/development/python-modules/zope-copy/default.nix
index f44ae81ab072..7e75966b7082 100644
--- a/pkgs/development/python-modules/zope-copy/default.nix
+++ b/pkgs/development/python-modules/zope-copy/default.nix
@@ -54,6 +54,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/zopefoundation/zope.copy";
     changelog = "https://github.com/zopefoundation/zope.copy/blob/${src.tag}/CHANGES.rst";
     license = lib.licenses.zpl21;
-    maintainers = with lib.maintainers; [ domenkozar ];
+    maintainers = with lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/zope-deprecation/default.nix b/pkgs/development/python-modules/zope-deprecation/default.nix
index 70ab6d639f6f..fca9f968a1ea 100644
--- a/pkgs/development/python-modules/zope-deprecation/default.nix
+++ b/pkgs/development/python-modules/zope-deprecation/default.nix
@@ -38,6 +38,6 @@ buildPythonPackage rec {
     description = "Zope Deprecation Infrastructure";
     changelog = "https://github.com/zopefoundation/zope.deprecation/blob/${version}/CHANGES.rst";
     license = lib.licenses.zpl21;
-    maintainers = with lib.maintainers; [ domenkozar ];
+    maintainers = with lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python2-modules/markupsafe/default.nix b/pkgs/development/python2-modules/markupsafe/default.nix
index 7bff587591e1..dc1eededf2d3 100644
--- a/pkgs/development/python2-modules/markupsafe/default.nix
+++ b/pkgs/development/python2-modules/markupsafe/default.nix
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     description = "Implements a XML/HTML/XHTML Markup safe string";
     homepage = "http://dev.pocoo.org";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ ];
   };
 
 }
diff --git a/pkgs/development/python2-modules/pytest/default.nix b/pkgs/development/python2-modules/pytest/default.nix
index a6abb8075316..e66e44097de5 100644
--- a/pkgs/development/python2-modules/pytest/default.nix
+++ b/pkgs/development/python2-modules/pytest/default.nix
@@ -95,7 +95,6 @@ buildPythonPackage rec {
     homepage = "https://docs.pytest.org";
     description = "Framework for writing tests";
     maintainers = with maintainers; [
-      domenkozar
       lovek323
       madjar
       lsix
diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix
index 78483cd61b7e..cfe8af1583b3 100644
--- a/pkgs/development/r-modules/default.nix
+++ b/pkgs/development/r-modules/default.nix
@@ -2523,7 +2523,7 @@ let
 
     Rhtslib = old.Rhtslib.overrideAttrs (attrs: {
       preConfigure = ''
-        substituteInPlace R/zzz.R --replace "-lcurl" "-L${pkgs.curl.out}/lib -lcurl"
+        substituteInPlace R/zzz.R --replace-fail "-lcurl" "-L${pkgs.curl.out}/lib -lcurl"
       '';
     });
 
@@ -2534,7 +2534,7 @@ let
 
         # during runtime the package directory is not writable as it's in the
         # nix store, so store the jar in the user's cache directory instead
-        substituteInPlace R/connection.R --replace \
+        substituteInPlace R/connection.R --replace-fail \
           'dest_file <- file.path(dest_folder, "h2o.jar")' \
           'dest_file <- file.path("~/.cache/", "h2o.jar")'
       '';
@@ -2572,18 +2572,17 @@ let
     sparklyr = old.sparklyr.overrideAttrs (attrs: {
       # Pyspark's spark is full featured and better maintained than pkgs.spark
       preConfigure = ''
-        substituteInPlace R/zzz.R \
-          --replace ".onLoad <- function(...) {" \
-            ".onLoad <- function(...) {
-          Sys.setenv(\"SPARK_HOME\" = Sys.getenv(\"SPARK_HOME\", unset = \"${pkgs.python3Packages.pyspark}/${pkgs.python3Packages.python.sitePackages}/pyspark\"))
-          Sys.setenv(\"JAVA_HOME\" = Sys.getenv(\"JAVA_HOME\", unset = \"${pkgs.jdk}\"))"
-      '';
-    });
+        if grep "onLoad" R/zzz.R; then
+          echo "onLoad is already present, patch needs to be updated!"
+          exit 1
+        fi
 
-    proj4 = old.proj4.overrideAttrs (attrs: {
-      preConfigure = ''
-        substituteInPlace configure \
-          --replace "-lsqlite3" "-L${lib.makeLibraryPath [ pkgs.sqlite ]} -lsqlite3"
+        cat >> R/zzz.R <> $out/nix-support/setup-hook
-      echo 'export CXX=clang++' >> $out/nix-support/setup-hook
-      mkdir -p $out/lib/clang/${llvmMajorVersion}/lib/linux/
-      ln -s $out/lib/linux/libclang_rt.* $out/lib/clang/${llvmMajorVersion}/lib/linux/
+    runCommand name
+      {
+        # If this is erroring, try why-depends --precise on the symlinkJoin of inputs to look for the problem
+        # nix why-depends --precise .#rocmPackages.llvm.rocmcxx.linked /store/path/its/not/allowed
+        disallowedRequisites = disallowedRefsForToolchain;
+        passthru.linked = linked;
+      }
+      ''
+        set -x
+        mkdir -p $out/
+        cp --reflink=auto -rL ${linked}/* $out/
+        chmod -R +rw $out
+        mkdir -p $out/usr
+        ln -s $out/ $out/usr/local
+        mkdir -p $out/nix-support/
+        # we don't need mixed 32 bit, the presence of lib64 is used by LLVM to decide it's a multilib sysroot
+        rm -rf $out/lib64
+        echo 'export CC=clang' >> $out/nix-support/setup-hook
+        echo 'export CXX=clang++' >> $out/nix-support/setup-hook
+        mkdir -p $out/lib/clang/${llvmMajorVersion}/lib/linux/
+        ln -s $out/lib/linux/libclang_rt.* $out/lib/clang/${llvmMajorVersion}/lib/linux/
 
-      find $out -type f -exec sed -i "s|${cc.out}|$out|g" {} +
-      find $out -type f -exec sed -i "s|${cc.dev}|$out|g" {} +
+        find $out -type f -exec sed -i "s|${cc.out}|$out|g" {} +
+        find $out -type f -exec sed -i "s|${cc.dev}|$out|g" {} +
 
-      # our /include now has more than clang expects, so this specific dir still needs to point to cc.dev
-      # FIXME: could copy into a different subdir?
-      sed -i 's|set(CLANG_INCLUDE_DIRS.*$|set(CLANG_INCLUDE_DIRS "${cc.dev}/include")|g' $out/lib/cmake/clang/ClangConfig.cmake
-      ${lib.getExe rdfind} -makesymlinks true $out/ # create links *within* the sysroot to save space
-    '';
+        # our /include now has more than clang expects, so this specific dir still needs to point to cc.dev
+        # FIXME: could copy into a different subdir?
+        sed -i 's|set(CLANG_INCLUDE_DIRS.*$|set(CLANG_INCLUDE_DIRS "${cc.dev}/include")|g' $out/lib/cmake/clang/ClangConfig.cmake
+        ${lib.getExe rdfind} -makesymlinks true $out/ # create links *within* the sysroot to save space
+      '';
   findClangNostdlibincPatch =
     x:
     (
@@ -371,6 +381,8 @@ rec {
           postFixup =
             (old.postFixup or "")
             + ''
+              find $lib -type f -exec remove-references-to -t ${stdenvToBuildRocmLlvm.cc} {} +
+              find $lib -type f -exec remove-references-to -t ${stdenv.cc} {} +
               find $lib -type f -exec remove-references-to -t ${stdenv.cc.cc} {} +
               find $lib -type f -exec remove-references-to -t ${stdenv.cc.bintools} {} +
             '';
diff --git a/pkgs/development/rocm-modules/6/migraphx/default.nix b/pkgs/development/rocm-modules/6/migraphx/default.nix
index 5501e6044b61..54620d320076 100644
--- a/pkgs/development/rocm-modules/6/migraphx/default.nix
+++ b/pkgs/development/rocm-modules/6/migraphx/default.nix
@@ -20,7 +20,7 @@
   nlohmann_json,
   msgpack,
   sqlite,
-  oneDNN_2,
+  oneDNN,
   blaze,
   texliveSmall,
   doxygen,
@@ -51,6 +51,15 @@ let
       ]
     )
   );
+  oneDNN' = oneDNN.overrideAttrs rec {
+    version = "2.7.5";
+    src = fetchFromGitHub {
+      owner = "oneapi-src";
+      repo = "oneDNN";
+      tag = "v${version}";
+      hash = "sha256-oMPBORAdL2rk2ewyUrInYVHYBRvuvNX4p4rwykO3Rhs=";
+    };
+  };
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "migraphx";
@@ -105,7 +114,7 @@ stdenv.mkDerivation (finalAttrs: {
     nlohmann_json
     msgpack
     sqlite
-    oneDNN_2
+    oneDNN'
     blaze
     python3Packages.pybind11
     python3Packages.onnx
diff --git a/pkgs/development/rocm-modules/6/rocm-bandwidth-test/default.nix b/pkgs/development/rocm-modules/6/rocm-bandwidth-test/default.nix
new file mode 100644
index 000000000000..1da28d9b2f10
--- /dev/null
+++ b/pkgs/development/rocm-modules/6/rocm-bandwidth-test/default.nix
@@ -0,0 +1,38 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  rocmPackages,
+  cmake,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "rocm-bandwidth-test";
+  version = "6.3.3";
+
+  src = fetchFromGitHub {
+    owner = "ROCm";
+    repo = "rocm_bandwidth_test";
+    rev = "rocm-${finalAttrs.version}";
+    hash = "sha256-dHyfYpRB13wUvim152nZ61McZOQ1zUZFx4dUo2vVqZM=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  buildInputs = [ rocmPackages.rocm-runtime ];
+
+  cmakeFlags = [
+    "-DROCT_INC_DIR=${rocmPackages.rocm-runtime}/include/libhsakmt"
+  ];
+
+  meta = with lib; {
+    description = "Bandwidth test for AMD GPUs supported by ROCm";
+    homepage = "https://github.com/ROCm/rocm_bandwidth_test";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fangpen ];
+    teams = [ teams.rocm ];
+    platforms = [ "x86_64-linux" ];
+  };
+})
diff --git a/pkgs/development/skaware-packages/build-skaware-man-pages.nix b/pkgs/development/skaware-packages/build-skaware-man-pages.nix
index 5506d70de502..5f5471d8caaa 100644
--- a/pkgs/development/skaware-packages/build-skaware-man-pages.nix
+++ b/pkgs/development/skaware-packages/build-skaware-man-pages.nix
@@ -2,7 +2,6 @@
   lib,
   stdenv,
   fetchFromSourcehut,
-  nix-update-script,
 }:
 
 {
@@ -42,13 +41,6 @@ stdenv.mkDerivation {
 
   dontBuild = true;
 
-  passthru.updateScript = nix-update-script {
-    extraArgs = [
-      "--override-filename"
-      "pkgs/development/skaware-packages/${lib.removeSuffix "-man-pages" pname}/default.nix"
-    ];
-  };
-
   meta = with lib; {
     inherit description license maintainers;
     inherit (src.meta) homepage;
diff --git a/pkgs/development/tcl-modules/dbus/default.nix b/pkgs/development/tcl-modules/dbus/default.nix
new file mode 100644
index 000000000000..a881931b1d6c
--- /dev/null
+++ b/pkgs/development/tcl-modules/dbus/default.nix
@@ -0,0 +1,32 @@
+{
+  lib,
+  mkTclDerivation,
+  fetchzip,
+  pkg-config,
+  dbus,
+}:
+
+mkTclDerivation rec {
+  pname = "dbus";
+  version = "4.1";
+
+  src = fetchzip {
+    url = "https://chiselapp.com/user/schelte/repository/dbus/uv/dbus-${version}.tar.gz";
+    hash = "sha256-8VIw475Q9kRh6UV6FxWCXKLKasqM1z58ed0rMgzEX3I=";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    dbus
+  ];
+
+  meta = {
+    description = "DBus bindings for Tcl";
+    homepage = "https://chiselapp.com/user/schelte/repository/dbus/home";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ fgaz ];
+  };
+}
diff --git a/pkgs/development/tools/apko/default.nix b/pkgs/development/tools/apko/default.nix
index 8cd0fc0e2ee2..4b9cb5946964 100644
--- a/pkgs/development/tools/apko/default.nix
+++ b/pkgs/development/tools/apko/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "apko";
-  version = "0.27.6";
+  version = "0.27.9";
 
   src = fetchFromGitHub {
     owner = "chainguard-dev";
     repo = pname;
     tag = "v${version}";
-    hash = "sha256-LoTnAfNw+yA5PtKVXDuxolacLxKbDkT0ZEvrw8TpXnw=";
+    hash = "sha256-ET/jzQ8sGQrxn9+3z6gOk57XTj9w9lJnwBK7c2n4s10=";
     # populate values that require us to use git. By doing this in postFetch we
     # can delete .git afterwards and maintain better reproducibility of the src.
     leaveDotGit = true;
diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix
index fa48f16d9972..69547ad9d803 100644
--- a/pkgs/development/tools/build-managers/gradle/default.nix
+++ b/pkgs/development/tools/build-managers/gradle/default.nix
@@ -225,14 +225,14 @@ rec {
   # https://docs.gradle.org/current/userguide/compatibility.html
 
   gradle_8 = gen {
-    version = "8.14.1";
-    hash = "sha256-hFlSqdavp4PbcLs7Dv+q5FrlVCyiu3kpYZ6K9Jy2NM8=";
+    version = "8.14.2";
+    hash = "sha256-cZehL0UHlJMVMkadT/IaWeosHNWaPsP4nANcPEIKaZk=";
     defaultJava = jdk21;
   };
 
   gradle_7 = gen {
-    version = "7.6.4";
-    hash = "sha256-vtHaM8yg9VerE2kcd/OLtnOIEZ5HlNET4FEDm4Cvm7E=";
+    version = "7.6.5";
+    hash = "sha256-uBL+wO230n4K41lViHuylUU2+j5E7a9IEVDaBY4VTZo=";
     defaultJava = jdk17;
   };
 
diff --git a/pkgs/development/tools/build-managers/sbt/default.nix b/pkgs/development/tools/build-managers/sbt/default.nix
index eafda766ba6c..f12f22550544 100644
--- a/pkgs/development/tools/build-managers/sbt/default.nix
+++ b/pkgs/development/tools/build-managers/sbt/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "sbt";
-  version = "1.11.1";
+  version = "1.11.2";
 
   src = fetchurl {
     url = "https://github.com/sbt/sbt/releases/download/v${finalAttrs.version}/sbt-${finalAttrs.version}.tgz";
-    hash = "sha256-pVTTb93SZ3q81VsKPw3OA6tJTjUK4y2ik252whHYXuQ=";
+    hash = "sha256-hMe52OIMXcg1YVSltxRsCouGq6lyaM6f4aWF0siQj08=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/tools/electron/Reland-Use-global_allocator-to-provide-Rust-allocator-implementation.patch b/pkgs/development/tools/electron/Reland-Use-global_allocator-to-provide-Rust-allocator-implementation.patch
new file mode 100644
index 000000000000..b2c57ca59b87
--- /dev/null
+++ b/pkgs/development/tools/electron/Reland-Use-global_allocator-to-provide-Rust-allocator-implementation.patch
@@ -0,0 +1,730 @@
+From e3a1797dbab3eaa1c808d53215b32c8759d27ac7 Mon Sep 17 00:00:00 2001
+From: Collin Baker 
+Date: Fri, 4 Apr 2025 14:08:18 -0700
+Subject: [PATCH] Reland "Use #[global_allocator] to provide Rust allocator
+ implementation"
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This is a reland of commit cfa3beef52625e03ba6ce2b2ac98e1b89dde5cdb
+
+Original was reverted due to a cronet gn2bp failure. The script
+filtered out GN rules in //build/rust/std, but this caused an exception
+when //build/rust/std:allocator was referenced later.
+
+Moving the rules to //build/rust/allocator sidesteps the issue.
+
+Original change's description:
+> Use #[global_allocator] to provide Rust allocator implementation
+>
+> The allocator shim hack we have been using no longer works with
+> upstream Rust. Replace it with a less-unsupported method: provide a
+> https://github.com/rust-lang/rust/issues/123015, which still requires
+> us to provide a few symbol definitions.
+>
+> Bug: 408221149, 407024458
+> Change-Id: If1808ca24b12dc80ead35a25521313a3d2e148d5
+>
+> Cq-Include-Trybots: luci.chromium.try:android-rust-arm32-rel,android-rust-arm64-dbg,android-rust-arm64-rel,linux-rust-x64-dbg,linux-rust-x64-rel,mac-rust-x64-dbg,win-rust-x64-dbg,win-rust-x64-rel
+> Change-Id: If1808ca24b12dc80ead35a25521313a3d2e148d5
+> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6427855
+> Reviewed-by: Alan Zhao 
+> Reviewed-by: Lei Zhang 
+> Reviewed-by: Łukasz Anforowicz 
+> Commit-Queue: Collin Baker 
+> Auto-Submit: Collin Baker 
+> Cr-Commit-Position: refs/heads/main@{#1442472}
+
+Bug: 408221149, 407024458
+Cq-Include-Trybots: luci.chromium.try:android-rust-arm32-rel,android-rust-arm64-dbg,android-rust-arm64-rel,linux-rust-x64-dbg,linux-rust-x64-rel,mac-rust-x64-dbg,win-rust-x64-dbg,win-rust-x64-rel
+Change-Id: I36fef217297bfe64ae81519be24b8c653f6fdfa1
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6432410
+Reviewed-by: Mohannad Farrag 
+Reviewed-by: Łukasz Anforowicz 
+Auto-Submit: Collin Baker 
+Commit-Queue: Łukasz Anforowicz 
+Cr-Commit-Position: refs/heads/main@{#1442922}
+---
+ build/rust/allocator/BUILD.gn                 |  90 ++++++++++++++++
+ build/rust/{std => allocator}/alias.cc        |   4 +-
+ build/rust/{std => allocator}/alias.h         |   6 +-
+ .../allocator_impls.cc}                       | 100 ++++++++----------
+ build/rust/allocator/allocator_impls.h        |  25 +++++
+ .../allocator/allocator_shim_definitions.cc   |  30 ++++++
+ .../{std => allocator}/compiler_specific.h    |   6 +-
+ .../rust/{std => allocator}/immediate_crash.h |   6 +-
+ build/rust/allocator/lib.rs                   |  48 +++++++++
+ build/rust/cargo_crate.gni                    |   9 ++
+ build/rust/rust_macro.gni                     |   3 +
+ build/rust/rust_target.gni                    |   4 +
+ build/rust/std/BUILD.gn                       |  41 -------
+ components/cronet/android/dependencies.txt    |   1 +
+ third_party/breakpad/BUILD.gn                 |  10 +-
+ 15 files changed, 272 insertions(+), 111 deletions(-)
+ create mode 100644 build/rust/allocator/BUILD.gn
+ rename build/rust/{std => allocator}/alias.cc (87%)
+ rename build/rust/{std => allocator}/alias.h (91%)
+ rename build/rust/{std/remap_alloc.cc => allocator/allocator_impls.cc} (67%)
+ create mode 100644 build/rust/allocator/allocator_impls.h
+ create mode 100644 build/rust/allocator/allocator_shim_definitions.cc
+ rename build/rust/{std => allocator}/compiler_specific.h (87%)
+ rename build/rust/{std => allocator}/immediate_crash.h (97%)
+ create mode 100644 build/rust/allocator/lib.rs
+
+diff --git a/build/rust/allocator/BUILD.gn b/build/rust/allocator/BUILD.gn
+new file mode 100644
+index 00000000000000..06aa47f097c9c4
+--- /dev/null
++++ b/build/rust/allocator/BUILD.gn
+@@ -0,0 +1,90 @@
++# Copyright 2025 The Chromium Authors
++# Use of this source code is governed by a BSD-style license that can be
++# found in the LICENSE file.
++
++import("//build/buildflag_header.gni")
++import("//build/config/rust.gni")
++import("//build/rust/rust_static_library.gni")
++
++rust_allocator_uses_partition_alloc = false
++if (build_with_chromium) {
++  import("//base/allocator/partition_allocator/partition_alloc.gni")
++  rust_allocator_uses_partition_alloc = use_partition_alloc_as_malloc
++}
++
++buildflag_header("buildflags") {
++  header = "buildflags.h"
++  flags = [
++    "RUST_ALLOCATOR_USES_PARTITION_ALLOC=$rust_allocator_uses_partition_alloc",
++  ]
++  visibility = [ ":*" ]
++}
++
++if (toolchain_has_rust) {
++  # All targets which depend on Rust code but are not linked by rustc must
++  # depend on this. Usually, this dependency will come from the rust_target() GN
++  # template. However, cargo_crate() does *not* include this dependency so any
++  # C++ targets which directly depend on a cargo_crate() must depend on this.
++  rust_static_library("allocator") {
++    sources = [ "lib.rs" ]
++    crate_root = "lib.rs"
++    cxx_bindings = [ "lib.rs" ]
++
++    deps = [
++      ":allocator_impls",
++      ":allocator_shim_definitions",
++    ]
++
++    no_chromium_prelude = true
++    no_allocator_crate = true
++    allow_unsafe = true
++  }
++
++  static_library("allocator_impls") {
++    public_deps = []
++    if (rust_allocator_uses_partition_alloc) {
++      public_deps += [ "//base/allocator/partition_allocator:partition_alloc" ]
++    }
++
++    sources = [
++      "allocator_impls.cc",
++      "allocator_impls.h",
++    ]
++
++    deps = [
++      ":allocator_cpp_shared",
++      ":buildflags",
++
++      # TODO(crbug.com/408221149): remove the C++ -> Rust dependency for the
++      # default allocator.
++      "//build/rust/std",
++    ]
++
++    visibility = [ ":*" ]
++  }
++
++  source_set("allocator_shim_definitions") {
++    sources = [ "allocator_shim_definitions.cc" ]
++
++    deps = [ ":allocator_cpp_shared" ]
++
++    visibility = [ ":*" ]
++  }
++
++  source_set("allocator_cpp_shared") {
++    sources = [
++      # `alias.*`, `compiler_specific.h`, and `immediate_crash.*` have been
++      # copied from `//base`.
++      # TODO(crbug.com/40279749): Avoid duplication / reuse code.
++      "alias.cc",
++      "alias.h",
++      "compiler_specific.h",
++      "immediate_crash.h",
++    ]
++
++    visibility = [
++      ":allocator_impls",
++      ":allocator_shim_definitions",
++    ]
++  }
++}
+diff --git a/build/rust/std/alias.cc b/build/rust/allocator/alias.cc
+similarity index 87%
+rename from build/rust/std/alias.cc
+rename to build/rust/allocator/alias.cc
+index 42febac3ed1fc5..ca20986f8ed496 100644
+--- a/build/rust/std/alias.cc
++++ b/build/rust/allocator/alias.cc
+@@ -7,9 +7,9 @@
+ //
+ // TODO(crbug.com/40279749): Avoid code duplication / reuse code.
+ 
+-#include "build/rust/std/alias.h"
++#include "build/rust/allocator/alias.h"
+ 
+-#include "build/rust/std/compiler_specific.h"
++#include "build/rust/allocator/compiler_specific.h"
+ 
+ namespace build_rust_std {
+ namespace debug {
+diff --git a/build/rust/std/alias.h b/build/rust/allocator/alias.h
+similarity index 91%
+rename from build/rust/std/alias.h
+rename to build/rust/allocator/alias.h
+index 0eaba6766148fa..80995ecfb045e3 100644
+--- a/build/rust/std/alias.h
++++ b/build/rust/allocator/alias.h
+@@ -8,8 +8,8 @@
+ //
+ // TODO(crbug.com/40279749): Avoid code duplication / reuse code.
+ 
+-#ifndef BUILD_RUST_STD_ALIAS_H_
+-#define BUILD_RUST_STD_ALIAS_H_
++#ifndef BUILD_RUST_ALLOCATOR_ALIAS_H_
++#define BUILD_RUST_ALLOCATOR_ALIAS_H_
+ 
+ #include 
+ 
+@@ -34,4 +34,4 @@ void Alias(const void* var);
+   const int line_number = __LINE__; \
+   build_rust_std::debug::Alias(&line_number)
+ 
+-#endif  // BUILD_RUST_STD_ALIAS_H_
++#endif  // BUILD_RUST_ALLOCATOR_ALIAS_H_
+diff --git a/build/rust/std/remap_alloc.cc b/build/rust/allocator/allocator_impls.cc
+similarity index 67%
+rename from build/rust/std/remap_alloc.cc
+rename to build/rust/allocator/allocator_impls.cc
+index a443b11ec513df..1fde98f23cd124 100644
+--- a/build/rust/std/remap_alloc.cc
++++ b/build/rust/allocator/allocator_impls.cc
+@@ -2,6 +2,8 @@
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+ 
++#include "build/rust/allocator/allocator_impls.h"
++
+ #ifdef UNSAFE_BUFFERS_BUILD
+ // TODO(crbug.com/390223051): Remove C-library calls to fix the errors.
+ #pragma allow_unsafe_libc_calls
+@@ -11,9 +13,9 @@
+ #include 
+ 
+ #include "build/build_config.h"
+-#include "build/rust/std/alias.h"
+-#include "build/rust/std/buildflags.h"
+-#include "build/rust/std/immediate_crash.h"
++#include "build/rust/allocator/alias.h"
++#include "build/rust/allocator/buildflags.h"
++#include "build/rust/allocator/immediate_crash.h"
+ 
+ #if BUILDFLAG(RUST_ALLOCATOR_USES_PARTITION_ALLOC)
+ #include "partition_alloc/partition_alloc_constants.h"  // nogncheck
+@@ -22,6 +24,11 @@
+ #include 
+ #endif
+ 
++// NOTE: this documentation is outdated.
++//
++// TODO(crbug.com/408221149): update this documentation, or replace it with docs
++// in the Rust allocator implementation.
++//
+ // When linking a final binary, rustc has to pick between either:
+ // * The default Rust allocator
+ // * Any #[global_allocator] defined in *any rlib in its dependency tree*
+@@ -87,19 +94,6 @@
+ // enabling it breaks Win32 APIs like CreateProcess:
+ // https://issues.chromium.org/u/1/issues/368070343#comment29
+ 
+-extern "C" {
+-
+-#ifdef COMPONENT_BUILD
+-#if BUILDFLAG(IS_WIN)
+-#define REMAP_ALLOC_ATTRIBUTES __declspec(dllexport) __attribute__((weak))
+-#else
+-#define REMAP_ALLOC_ATTRIBUTES \
+-  __attribute__((visibility("default"))) __attribute__((weak))
+-#endif
+-#else
+-#define REMAP_ALLOC_ATTRIBUTES __attribute__((weak))
+-#endif  // COMPONENT_BUILD
+-
+ #if !BUILDFLAG(RUST_ALLOCATOR_USES_PARTITION_ALLOC) && BUILDFLAG(IS_WIN) && \
+     defined(ADDRESS_SANITIZER)
+ #define USE_WIN_ALIGNED_MALLOC 1
+@@ -107,17 +101,19 @@ extern "C" {
+ #define USE_WIN_ALIGNED_MALLOC 0
+ #endif
+ 
+-// This must exist as the stdlib depends on it to prove that we know the
+-// alloc shims below are unstable. In the future we may be required to replace
+-// them with a #[global_allocator] crate (see file comment above for more).
+-//
+-// Marked as weak as when Rust drives linking it includes this symbol itself,
+-// and we don't want a collision due to C++ being in the same link target, where
+-// C++ causes us to explicitly link in the stdlib and this symbol here.
+-[[maybe_unused]]
+-__attribute__((weak)) unsigned char __rust_no_alloc_shim_is_unstable;
++// The default allocator functions provided by the Rust standard library.
++extern "C" void* __rdl_alloc(size_t size, size_t align);
++extern "C" void __rdl_dealloc(void* p, size_t size, size_t align);
++extern "C" void* __rdl_realloc(void* p,
++                               size_t old_size,
++                               size_t align,
++                               size_t new_size);
++
++extern "C" void* __rdl_alloc_zeroed(size_t size, size_t align);
++
++namespace rust_allocator_internal {
+ 
+-REMAP_ALLOC_ATTRIBUTES void* __rust_alloc(size_t size, size_t align) {
++unsigned char* alloc(size_t size, size_t align) {
+ #if BUILDFLAG(RUST_ALLOCATOR_USES_PARTITION_ALLOC)
+   // PartitionAlloc will crash if given an alignment larger than this.
+   if (align > partition_alloc::internal::kMaxSupportedAlignment) {
+@@ -125,19 +121,19 @@ REMAP_ALLOC_ATTRIBUTES void* __rust_alloc(size_t size, size_t align) {
+   }
+ 
+   if (align <= alignof(std::max_align_t)) {
+-    return allocator_shim::UncheckedAlloc(size);
++    return static_cast(allocator_shim::UncheckedAlloc(size));
+   } else {
+-    return allocator_shim::UncheckedAlignedAlloc(size, align);
++    return static_cast(
++        allocator_shim::UncheckedAlignedAlloc(size, align));
+   }
+ #elif USE_WIN_ALIGNED_MALLOC
+-  return _aligned_malloc(size, align);
++  return static_cast(_aligned_malloc(size, align));
+ #else
+-  extern void* __rdl_alloc(size_t size, size_t align);
+-  return __rdl_alloc(size, align);
++  return static_cast(__rdl_alloc(size, align));
+ #endif
+ }
+ 
+-REMAP_ALLOC_ATTRIBUTES void __rust_dealloc(void* p, size_t size, size_t align) {
++void dealloc(unsigned char* p, size_t size, size_t align) {
+ #if BUILDFLAG(RUST_ALLOCATOR_USES_PARTITION_ALLOC)
+   if (align <= alignof(std::max_align_t)) {
+     allocator_shim::UncheckedFree(p);
+@@ -147,54 +143,44 @@ REMAP_ALLOC_ATTRIBUTES void __rust_dealloc(void* p, size_t size, size_t align) {
+ #elif USE_WIN_ALIGNED_MALLOC
+   return _aligned_free(p);
+ #else
+-  extern void __rdl_dealloc(void* p, size_t size, size_t align);
+   __rdl_dealloc(p, size, align);
+ #endif
+ }
+ 
+-REMAP_ALLOC_ATTRIBUTES void* __rust_realloc(void* p,
+-                                            size_t old_size,
+-                                            size_t align,
+-                                            size_t new_size) {
++unsigned char* realloc(unsigned char* p,
++                       size_t old_size,
++                       size_t align,
++                       size_t new_size) {
+ #if BUILDFLAG(RUST_ALLOCATOR_USES_PARTITION_ALLOC)
+   if (align <= alignof(std::max_align_t)) {
+-    return allocator_shim::UncheckedRealloc(p, new_size);
++    return static_cast(
++        allocator_shim::UncheckedRealloc(p, new_size));
+   } else {
+-    return allocator_shim::UncheckedAlignedRealloc(p, new_size, align);
++    return static_cast(
++        allocator_shim::UncheckedAlignedRealloc(p, new_size, align));
+   }
+ #elif USE_WIN_ALIGNED_MALLOC
+-  return _aligned_realloc(p, new_size, align);
++  return static_cast(_aligned_realloc(p, new_size, align));
+ #else
+-  extern void* __rdl_realloc(void* p, size_t old_size, size_t align,
+-                             size_t new_size);
+-  return __rdl_realloc(p, old_size, align, new_size);
++  return static_cast(
++      __rdl_realloc(p, old_size, align, new_size));
+ #endif
+ }
+ 
+-REMAP_ALLOC_ATTRIBUTES void* __rust_alloc_zeroed(size_t size, size_t align) {
++unsigned char* alloc_zeroed(size_t size, size_t align) {
+ #if BUILDFLAG(RUST_ALLOCATOR_USES_PARTITION_ALLOC) || USE_WIN_ALIGNED_MALLOC
+   // TODO(danakj): When RUST_ALLOCATOR_USES_PARTITION_ALLOC is true, it's
+   // possible that a partition_alloc::UncheckedAllocZeroed() call would perform
+   // better than partition_alloc::UncheckedAlloc() + memset. But there is no
+   // such API today. See b/342251590.
+-  void* p = __rust_alloc(size, align);
++  unsigned char* p = alloc(size, align);
+   if (p) {
+     memset(p, 0, size);
+   }
+   return p;
+ #else
+-  extern void* __rdl_alloc_zeroed(size_t size, size_t align);
+-  return __rdl_alloc_zeroed(size, align);
++  return static_cast(__rdl_alloc_zeroed(size, align));
+ #endif
+ }
+ 
+-REMAP_ALLOC_ATTRIBUTES void __rust_alloc_error_handler(size_t size,
+-                                                       size_t align) {
+-  NO_CODE_FOLDING();
+-  IMMEDIATE_CRASH();
+-}
+-
+-REMAP_ALLOC_ATTRIBUTES extern const unsigned char
+-    __rust_alloc_error_handler_should_panic = 0;
+-
+-}  // extern "C"
++}  // namespace rust_allocator_internal
+diff --git a/build/rust/allocator/allocator_impls.h b/build/rust/allocator/allocator_impls.h
+new file mode 100644
+index 00000000000000..afb335412faf9c
+--- /dev/null
++++ b/build/rust/allocator/allocator_impls.h
+@@ -0,0 +1,25 @@
++// Copyright 2025 The Chromium Authors
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++
++#ifndef BUILD_RUST_ALLOCATOR_ALLOCATOR_IMPLS_H_
++#define BUILD_RUST_ALLOCATOR_ALLOCATOR_IMPLS_H_
++
++#include 
++
++#include "build/build_config.h"
++#include "build/rust/allocator/buildflags.h"
++
++namespace rust_allocator_internal {
++
++unsigned char* alloc(size_t size, size_t align);
++void dealloc(unsigned char* p, size_t size, size_t align);
++unsigned char* realloc(unsigned char* p,
++                       size_t old_size,
++                       size_t align,
++                       size_t new_size);
++unsigned char* alloc_zeroed(size_t size, size_t align);
++
++}  // namespace rust_allocator_internal
++
++#endif  // BUILD_RUST_ALLOCATOR_ALLOCATOR_IMPLS_H_
+diff --git a/build/rust/allocator/allocator_shim_definitions.cc b/build/rust/allocator/allocator_shim_definitions.cc
+new file mode 100644
+index 00000000000000..a4d1bd77b7016e
+--- /dev/null
++++ b/build/rust/allocator/allocator_shim_definitions.cc
+@@ -0,0 +1,30 @@
++// Copyright 2025 The Chromium Authors
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++
++#include 
++
++#include "build/rust/allocator/alias.h"
++#include "build/rust/allocator/immediate_crash.h"
++
++extern "C" {
++
++// As part of rustc's contract for using `#[global_allocator]` without
++// rustc-generated shims we must define this symbol, since we are opting in to
++// unstable functionality. See https://github.com/rust-lang/rust/issues/123015
++//
++// Mark it weak since rustc will generate it when it drives linking.
++[[maybe_unused]]
++__attribute__((weak)) unsigned char __rust_no_alloc_shim_is_unstable;
++
++__attribute__((weak)) void __rust_alloc_error_handler(size_t size,
++                                                      size_t align) {
++  NO_CODE_FOLDING();
++  IMMEDIATE_CRASH();
++}
++
++__attribute__((
++    weak)) extern const unsigned char __rust_alloc_error_handler_should_panic =
++    0;
++
++}  // extern "C"
+diff --git a/build/rust/std/compiler_specific.h b/build/rust/allocator/compiler_specific.h
+similarity index 87%
+rename from build/rust/std/compiler_specific.h
+rename to build/rust/allocator/compiler_specific.h
+index ea79a7a8dc2842..f9079679a3e9af 100644
+--- a/build/rust/std/compiler_specific.h
++++ b/build/rust/allocator/compiler_specific.h
+@@ -7,8 +7,8 @@
+ //
+ // TODO(crbug.com/40279749): Avoid code duplication / reuse code.
+ 
+-#ifndef BUILD_RUST_STD_COMPILER_SPECIFIC_H_
+-#define BUILD_RUST_STD_COMPILER_SPECIFIC_H_
++#ifndef BUILD_RUST_ALLOCATOR_COMPILER_SPECIFIC_H_
++#define BUILD_RUST_ALLOCATOR_COMPILER_SPECIFIC_H_
+ 
+ #include "build/build_config.h"
+ 
+@@ -35,4 +35,4 @@
+ #define NOINLINE
+ #endif
+ 
+-#endif  // BUILD_RUST_STD_COMPILER_SPECIFIC_H_
++#endif  // BUILD_RUST_ALLOCATOR_COMPILER_SPECIFIC_H_
+diff --git a/build/rust/std/immediate_crash.h b/build/rust/allocator/immediate_crash.h
+similarity index 97%
+rename from build/rust/std/immediate_crash.h
+rename to build/rust/allocator/immediate_crash.h
+index e4fd5a09d9379f..9cbf9fd65f3e09 100644
+--- a/build/rust/std/immediate_crash.h
++++ b/build/rust/allocator/immediate_crash.h
+@@ -5,8 +5,8 @@
+ // This file has been copied from //base/immediate_crash.h.
+ // TODO(crbug.com/40279749): Avoid code duplication / reuse code.
+ 
+-#ifndef BUILD_RUST_STD_IMMEDIATE_CRASH_H_
+-#define BUILD_RUST_STD_IMMEDIATE_CRASH_H_
++#ifndef BUILD_RUST_ALLOCATOR_IMMEDIATE_CRASH_H_
++#define BUILD_RUST_ALLOCATOR_IMMEDIATE_CRASH_H_
+ 
+ #include "build/build_config.h"
+ 
+@@ -168,4 +168,4 @@
+ 
+ #endif  // defined(__clang__) || defined(COMPILER_GCC)
+ 
+-#endif  // BUILD_RUST_STD_IMMEDIATE_CRASH_H_
++#endif  // BUILD_RUST_ALLOCATOR_IMMEDIATE_CRASH_H_
+diff --git a/build/rust/allocator/lib.rs b/build/rust/allocator/lib.rs
+new file mode 100644
+index 00000000000000..7f4a0fc2456942
+--- /dev/null
++++ b/build/rust/allocator/lib.rs
+@@ -0,0 +1,48 @@
++// Copyright 2025 The Chromium Authors
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++
++//! Define the allocator that Rust code in Chrome should use.
++//!
++//! Any final artifact that depends on this crate, even transitively, will use
++//! the allocator defined here. Currently this is a thin wrapper around
++//! allocator_impls.cc's functions; see the documentation there.
++
++use std::alloc::{GlobalAlloc, Layout};
++
++struct Allocator;
++
++unsafe impl GlobalAlloc for Allocator {
++    unsafe fn alloc(&self, layout: Layout) -> *mut u8 {
++        unsafe { ffi::alloc(layout.size(), layout.align()) }
++    }
++
++    unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout) {
++        unsafe {
++            ffi::dealloc(ptr, layout.size(), layout.align());
++        }
++    }
++
++    unsafe fn alloc_zeroed(&self, layout: Layout) -> *mut u8 {
++        unsafe { ffi::alloc_zeroed(layout.size(), layout.align()) }
++    }
++
++    unsafe fn realloc(&self, ptr: *mut u8, layout: Layout, new_size: usize) -> *mut u8 {
++        unsafe { ffi::realloc(ptr, layout.size(), layout.align(), new_size) }
++    }
++}
++
++#[global_allocator]
++static GLOBAL: Allocator = Allocator;
++
++#[cxx::bridge(namespace = "rust_allocator_internal")]
++mod ffi {
++    extern "C++" {
++        include!("build/rust/allocator/allocator_impls.h");
++
++        unsafe fn alloc(size: usize, align: usize) -> *mut u8;
++        unsafe fn dealloc(p: *mut u8, size: usize, align: usize);
++        unsafe fn realloc(p: *mut u8, old_size: usize, align: usize, new_size: usize) -> *mut u8;
++        unsafe fn alloc_zeroed(size: usize, align: usize) -> *mut u8;
++    }
++}
+diff --git a/build/rust/cargo_crate.gni b/build/rust/cargo_crate.gni
+index 6d11c538bf4d5a..d9912722b4ecdb 100644
+--- a/build/rust/cargo_crate.gni
++++ b/build/rust/cargo_crate.gni
+@@ -259,6 +259,12 @@ template("cargo_crate") {
+     # Don't import the `chromium` crate into third-party code.
+     no_chromium_prelude = true
+ 
++    # Don't depend on the chrome-specific #[global_allocator] crate from
++    # third-party code. This avoids some dependency cycle issues. The allocator
++    # crate will still be used if it exists anywhere in the dependency graph for
++    # a given linked artifact.
++    no_allocator_crate = true
++
+     rustc_metadata = _rustc_metadata
+ 
+     # TODO(crbug.com/40259764): don't default to true. This requires changes to
+@@ -483,6 +489,9 @@ template("cargo_crate") {
+         # Don't import the `chromium` crate into third-party code.
+         no_chromium_prelude = true
+ 
++        # Build scripts do not need to link to chrome's allocator.
++        no_allocator_crate = true
++
+         # The ${_build_script_name}_output target looks for the exe in this
+         # location. Due to how the Windows component build works, this has to
+         # be $root_out_dir for all EXEs. In component build, C++ links to the
+diff --git a/build/rust/rust_macro.gni b/build/rust/rust_macro.gni
+index bcbb30ed441115..41d857632ccdc9 100644
+--- a/build/rust/rust_macro.gni
++++ b/build/rust/rust_macro.gni
+@@ -16,6 +16,9 @@ template("rust_macro") {
+     forward_variables_from(invoker, TESTONLY_AND_VISIBILITY)
+     proc_macro_configs = invoker.configs
+     target_type = "rust_proc_macro"
++
++    # Macros are loaded by rustc and shouldn't use chrome's allocation routines.
++    no_allocator_crate = true
+   }
+ }
+ 
+diff --git a/build/rust/rust_target.gni b/build/rust/rust_target.gni
+index 1a2f96337d4361..1003a7b678352d 100644
+--- a/build/rust/rust_target.gni
++++ b/build/rust/rust_target.gni
+@@ -339,6 +339,10 @@ template("rust_target") {
+       _rust_deps += [ "//build/rust/std" ]
+     }
+ 
++    if (!defined(invoker.no_allocator_crate) || !invoker.no_allocator_crate) {
++      _rust_deps += [ "//build/rust/allocator" ]
++    }
++
+     if (_build_unit_tests) {
+       _unit_test_target = "${_target_name}_unittests"
+       if (defined(invoker.unit_test_target)) {
+diff --git a/build/rust/std/BUILD.gn b/build/rust/std/BUILD.gn
+index 6b996aa1fe3865..25db126076b2fa 100644
+--- a/build/rust/std/BUILD.gn
++++ b/build/rust/std/BUILD.gn
+@@ -15,51 +15,12 @@
+ # allocator functions to PartitionAlloc when `use_partition_alloc_as_malloc` is
+ # true, so that Rust and C++ use the same allocator backend.
+ 
+-import("//build/buildflag_header.gni")
+ import("//build/config/compiler/compiler.gni")
+ import("//build/config/coverage/coverage.gni")
+ import("//build/config/rust.gni")
+ import("//build/config/sanitizers/sanitizers.gni")
+ 
+-rust_allocator_uses_partition_alloc = false
+-if (build_with_chromium) {
+-  import("//base/allocator/partition_allocator/partition_alloc.gni")
+-  rust_allocator_uses_partition_alloc = use_partition_alloc_as_malloc
+-}
+-
+-buildflag_header("buildflags") {
+-  header = "buildflags.h"
+-  flags = [
+-    "RUST_ALLOCATOR_USES_PARTITION_ALLOC=$rust_allocator_uses_partition_alloc",
+-  ]
+-  visibility = [ ":*" ]
+-}
+-
+ if (toolchain_has_rust) {
+-  # If clang performs the link step, we need to provide the allocator symbols
+-  # that are normally injected by rustc during linking.
+-  #
+-  # We also "happen to" use this to redirect allocations to PartitionAlloc,
+-  # though that would be better done through a #[global_allocator] crate (see
+-  # above).
+-  source_set("remap_alloc") {
+-    public_deps = []
+-    if (rust_allocator_uses_partition_alloc) {
+-      public_deps += [ "//base/allocator/partition_allocator:partition_alloc" ]
+-    }
+-    deps = [ ":buildflags" ]
+-    sources = [
+-      # `alias.*`, `compiler_specific.h`, and `immediate_crash.*` have been
+-      # copied from `//base`.
+-      # TODO(crbug.com/40279749): Avoid duplication / reuse code.
+-      "alias.cc",
+-      "alias.h",
+-      "compiler_specific.h",
+-      "immediate_crash.h",
+-      "remap_alloc.cc",
+-    ]
+-  }
+-
+   # List of Rust stdlib rlibs which are present in the official Rust toolchain
+   # we are using from the Android team. This is usually a version or two behind
+   # nightly. Generally this matches the toolchain we build ourselves, but if
+@@ -269,8 +230,6 @@ if (toolchain_has_rust) {
+       foreach(libname, stdlib_files + skip_stdlib_files) {
+         deps += [ "rules:$libname" ]
+       }
+-
+-      public_deps = [ ":remap_alloc" ]
+     }
+   } else {
+     action("find_stdlib") {
+diff --git a/components/cronet/android/dependencies.txt b/components/cronet/android/dependencies.txt
+index bf56bc45ed41f7..c0e41ef7c6766a 100644
+--- a/components/cronet/android/dependencies.txt
++++ b/components/cronet/android/dependencies.txt
+@@ -14,6 +14,7 @@
+ //build/config
+ //build/config/compiler
+ //build/rust
++//build/rust/allocator
+ //build/rust/chromium_prelude
+ //build/rust/std
+ //build/rust/std/rules
+diff --git a/third_party/breakpad/BUILD.gn b/third_party/breakpad/BUILD.gn
+index 2f4e1ab0156609..e140ecbedcc9a0 100644
+--- a/third_party/breakpad/BUILD.gn
++++ b/third_party/breakpad/BUILD.gn
+@@ -495,7 +495,10 @@ if (is_mac) {
+       defines = [ "HAVE_MACH_O_NLIST_H" ]
+ 
+       # Rust demangle support.
+-      deps = [ "//third_party/rust/rustc_demangle_capi/v0_1:lib" ]
++      deps = [
++        "//build/rust/allocator",
++        "//third_party/rust/rustc_demangle_capi/v0_1:lib",
++      ]
+       defines += [ "HAVE_RUSTC_DEMANGLE" ]
+       include_dirs += [ "//third_party/rust/chromium_crates_io/vendor/rustc-demangle-capi-v0_1/include" ]
+       sources += [ "//third_party/rust/chromium_crates_io/vendor/rustc-demangle-capi-v0_1/include/rustc_demangle.h" ]
+@@ -743,7 +746,10 @@ if (is_linux || is_chromeos || is_android) {
+       include_dirs = [ "breakpad/src" ]
+ 
+       # Rust demangle support.
+-      deps = [ "//third_party/rust/rustc_demangle_capi/v0_1:lib" ]
++      deps = [
++        "//build/rust/allocator",
++        "//third_party/rust/rustc_demangle_capi/v0_1:lib",
++      ]
+       defines += [ "HAVE_RUSTC_DEMANGLE" ]
+       include_dirs += [ "//third_party/rust/chromium_crates_io/vendor/rustc-demangle-capi-v0_1/include" ]
+       sources += [ "//third_party/rust/chromium_crates_io/vendor/rustc-demangle-capi-v0_1/include/rustc_demangle.h" ]
diff --git a/pkgs/development/tools/electron/common.nix b/pkgs/development/tools/electron/common.nix
index ef9111ed5c00..969023f023cd 100644
--- a/pkgs/development/tools/electron/common.nix
+++ b/pkgs/development/tools/electron/common.nix
@@ -5,6 +5,7 @@
   nodejs,
   fetchYarnDeps,
   fetchNpmDeps,
+  fetchpatch,
   fixup-yarn-lock,
   npmHooks,
   yarn,
@@ -91,6 +92,65 @@ in
     # This patch makes those older versions also use the new adler2 library
     ++ lib.optionals (lib.versionOlder info.version "35") [
       ./use-rust-adler2.patch
+    ]
+    # Requirements for the next section
+    ++ lib.optionals (lib.versionOlder info.version "35") [
+      (fetchpatch {
+        name = "Avoid-build-rust-PartitionAlloc-dep-when-not-build_with_chromium.patch";
+        url = "https://github.com/chromium/chromium/commit/ee94f376a0dd642a93fbf4a5fa8e7aa8fb2a69b5.patch";
+        hash = "sha256-qGjy9VZ4d3T5AuqOrBKEajBswwBU/7j0n80rpvHZLmM=";
+      })
+      (fetchpatch {
+        name = "Suppress-unsafe_libc_call-warning-for-rust-remap_alloc-cc.patch";
+        url = "https://github.com/chromium/chromium/commit/d5d79d881e74c6c8630f7d2f3affd4f656fdeb4e.patch";
+        hash = "sha256-1oy5WRvNzKuUTJkt8kULUqE4JU+EKEV1PB9QN8HF4SE=";
+      })
+    ]
+    # Fix building with Rust 1.87+
+    # https://issues.chromium.org/issues/407024458
+    ++ lib.optionals (lib.versionOlder info.version "37") [
+      # https://chromium-review.googlesource.com/c/chromium/src/+/6432410
+      # Not using fetchpatch here because it ignores file renames: https://github.com/nixos/nixpkgs/issues/32084
+      ./Reland-Use-global_allocator-to-provide-Rust-allocator-implementation.patch
+
+      # https://chromium-review.googlesource.com/c/chromium/src/+/6434355
+      (fetchpatch {
+        name = "Call-Rust-default-allocator-directly-from-Rust.patch";
+        url = "https://github.com/chromium/chromium/commit/73eef8797a8138f5c26f52a1372644b20613f5ee.patch";
+        hash = "sha256-IcSjPv21xT+l9BwJuzeW2AfwBdKI0dQb3nskk6yeKHU=";
+      })
+
+      # https://chromium-review.googlesource.com/c/chromium/src/+/6439711
+      (fetchpatch {
+        name = "Roll-rust.patch";
+        url = "https://github.com/chromium/chromium/commit/a6c30520486be844735dc646cd5b9b434afa0c6b.patch";
+        includes = [ "build/rust/allocator/*" ];
+        hash = "sha256-MFdR75oSAdFW6telEZt/s0qdUvq/BiYFEHW0vk+RgDk=";
+      })
+
+      # https://chromium-review.googlesource.com/c/chromium/src/+/6456604
+      (fetchpatch {
+        name = "Drop-remap_alloc-dep.patch";
+        url = "https://github.com/chromium/chromium/commit/87d5ad2f621e0d5c81849dde24f3a5347efcb167.patch";
+        hash = "sha256-bEoR6jxEyw6Fzm4Zv4US54Cxa0li/0UTZTU2WUf0Rgo=";
+      })
+
+      # https://chromium-review.googlesource.com/c/chromium/src/+/6454872
+      (fetchpatch {
+        name = "rust-Clean-up-build-rust-allocator-after-a-Rust-tool.patch";
+        url = "https://github.com/chromium/chromium/commit/5c74fcf6fd14491f33dd820022a9ca045f492f68.patch";
+        hash = "sha256-vcD0Zfo4Io/FVpupWOdgurFEqwFCv+oDOtSmHbm+ons=";
+      })
+    ]
+    # Fix building with gperf 3.2+
+    # https://issues.chromium.org/issues/40209959
+    ++ lib.optionals (lib.versionOlder info.version "37") [
+      # https://chromium-review.googlesource.com/c/chromium/src/+/6445471
+      (fetchpatch {
+        name = "Dont-apply-FALLTHROUGH-edit-to-gperf-3-2-output.patch";
+        url = "https://github.com/chromium/chromium/commit/f8f21fb4aa01f75acbb12abf5ea8c263c6817141.patch";
+        hash = "sha256-z/aQ1oQjFZnkUeRnrD6P/WDZiYAI1ncGhOUM+HmjMZA=";
+      })
     ];
 
   npmRoot = "third_party/node";
diff --git a/pkgs/development/tools/esbuild/default.nix b/pkgs/development/tools/esbuild/default.nix
index a8cddae3a432..76ab05ba857c 100644
--- a/pkgs/development/tools/esbuild/default.nix
+++ b/pkgs/development/tools/esbuild/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "esbuild";
-  version = "0.25.4";
+  version = "0.25.5";
 
   src = fetchFromGitHub {
     owner = "evanw";
     repo = "esbuild";
     rev = "v${version}";
-    hash = "sha256-fh+w8ZIWfNavZo6kBU8gKS6IwPXP3z+eXLDz3v6gVt4=";
+    hash = "sha256-jemGZkWmN1x2+ZzJ5cLp3MoXO0oDKjtZTmZS9Be/TDw=";
   };
 
   vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
diff --git a/pkgs/development/tools/minizinc/default.nix b/pkgs/development/tools/minizinc/default.nix
index f85d1a61c734..0a2c19584880 100644
--- a/pkgs/development/tools/minizinc/default.nix
+++ b/pkgs/development/tools/minizinc/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "minizinc";
-  version = "2.9.2";
+  version = "2.9.3";
 
   src = fetchFromGitHub {
     owner = "MiniZinc";
     repo = "libminizinc";
     rev = finalAttrs.version;
-    sha256 = "sha256-rR+QvRt73wvulx+T+vhSc3354Cpx1QC6+adaodEiQ7Q=";
+    sha256 = "sha256-eu2yNRESypXWCn8INTjGwwRXTWdGYvah/hc2iqFKQmw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/minizinc/ide.nix b/pkgs/development/tools/minizinc/ide.nix
index 13e26ff9d44b..4503795b8e5c 100644
--- a/pkgs/development/tools/minizinc/ide.nix
+++ b/pkgs/development/tools/minizinc/ide.nix
@@ -7,6 +7,9 @@
   qtwebsockets,
   minizinc,
   makeWrapper,
+  copyDesktopItems,
+  makeDesktopItem,
+  imagemagick,
 }:
 
 let
@@ -31,12 +34,31 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     qmake
     makeWrapper
+    copyDesktopItems
+    imagemagick
   ];
   buildInputs = [
     qtbase
     qtwebsockets
   ];
 
+  desktopItems = [
+    (makeDesktopItem {
+      name = "MiniZincIDE";
+      desktopName = "MiniZincIDE";
+      icon = "minizinc";
+      comment = meta.description;
+      exec = "MiniZincIDE";
+      type = "Application";
+      terminal = false;
+      categories = [
+        "Science"
+        "Development"
+        "Education"
+      ];
+    })
+  ];
+
   sourceRoot = "${src.name}/MiniZincIDE";
 
   dontWrapQtApps = true;
@@ -50,6 +72,11 @@ stdenv.mkDerivation rec {
       wrapProgram ${executableLoc} \
         --prefix PATH ":" ${lib.makeBinPath [ minizinc ]} \
         --set QT_QPA_PLATFORM_PLUGIN_PATH "${qtbase}/lib/qt-6/plugins/platforms"
+
+      for size in 16 24 32 48 64 128 256 512; do
+        mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
+        magick -background none ${src}/MiniZincIDE/images/mznicon.png -resize "$size"x"$size" $out/share/icons/hicolor/"$size"x"$size"/apps/minizinc.png
+      done
     '';
 
   meta = with lib; {
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index dd0fe97d9ff4..5c7ddde8c0c6 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -37,6 +37,36 @@ let
   #INFO: The targetPrefix prepended to binary names to allow multiple binuntils
   # on the PATH to both be usable.
   targetPrefix = lib.optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-";
+
+  # gas isn't multi-target, even with --enable-targets=all, so we do
+  # separate builds of just gas for each target.
+  #
+  # There's no way to do this exhaustively, so feel free to add
+  # additional targets here as required.
+  allGasTargets =
+    allGasTargets'
+    ++ lib.optional (!lib.elem targetPlatform.config allGasTargets') targetPlatform.config;
+  allGasTargets' = [
+    "aarch64-unknown-linux-gnu"
+    "alpha-unknown-linux-gnu"
+    "arm-unknown-linux-gnu"
+    "avr-unknown-linux-gnu"
+    "cris-unknown-linux-gnu"
+    "hppa-unknown-linux-gnu"
+    "i686-unknown-linux-gnu"
+    "ia64-unknown-linux-gnu"
+    "m68k-unknown-linux-gnu"
+    "mips-unknown-linux-gnu"
+    "mips64-unknown-linux-gnu"
+    "msp430-unknown-linux-gnu"
+    "powerpc-unknown-linux-gnu"
+    "powerpc64-unknown-linux-gnu"
+    "s390-unknown-linux-gnu"
+    "sparc-unknown-linux-gnu"
+    "vax-unknown-linux-gnu"
+    "x86_64-unknown-linux-gnu"
+    "xscale-unknown-linux-gnu"
+  ];
 in
 
 stdenv.mkDerivation (finalAttrs: {
@@ -148,21 +178,11 @@ stdenv.mkDerivation (finalAttrs: {
           sed -i "$i" -e 's|ln |ln -s |'
       done
 
-      # autoreconfHook is not included for all targets.
-      # Call it here explicitly as well.
-      ${finalAttrs.postAutoreconf}
+      configureScript="$PWD/configure"
+      mkdir $NIX_BUILD_TOP/build
+      cd $NIX_BUILD_TOP/build
     '';
 
-  postAutoreconf = ''
-    # As we regenerated configure build system tries hard to use
-    # texinfo to regenerate manuals. Let's avoid the dependency
-    # on texinfo in bootstrap path and keep manuals unmodified.
-    touch gas/doc/.dirstamp
-    touch gas/doc/asconfig.texi
-    touch gas/doc/as.1
-    touch gas/doc/as.info
-  '';
-
   # As binutils takes part in the stdenv building, we don't want references
   # to the bootstrap-tools libgcc (as uses to happen on arm/mips)
   #
@@ -219,7 +239,11 @@ stdenv.mkDerivation (finalAttrs: {
       # path to force users to declare their use of these libraries.
       "--with-lib-path=:"
     ]
-    ++ lib.optionals withAllTargets [ "--enable-targets=all" ]
+    ++ lib.optionals withAllTargets [
+      "--enable-targets=all"
+      # gas will be built separately for each target.
+      "--disable-gas"
+    ]
     ++ lib.optionals enableGold [
       "--enable-gold${lib.optionalString enableGoldDefault "=default"}"
       "--enable-plugins"
@@ -247,6 +271,30 @@ stdenv.mkDerivation (finalAttrs: {
       ]
     );
 
+  postConfigure = lib.optionalString withAllTargets ''
+    for target in ${lib.escapeShellArgs allGasTargets}; do
+      mkdir "$NIX_BUILD_TOP/build-$target"
+      env -C "$NIX_BUILD_TOP/build-$target" \
+        "$configureScript" $configureFlags "''${configureFlagsArray[@]}" \
+        --enable-gas --program-prefix "$target-"  --target "$target"
+    done
+  '';
+
+  makeFlags = [
+    # As we regenerated configure build system tries hard to use
+    # texinfo to regenerate manuals. Let's avoid the dependency
+    # on texinfo in bootstrap path and keep manuals unmodified.
+    "MAKEINFO=true"
+  ];
+
+  postBuild = lib.optionalString withAllTargets ''
+    for target in ${lib.escapeShellArgs allGasTargets}; do
+      make -C "$NIX_BUILD_TOP/build-$target" -j"$NIX_BUILD_CORES" \
+        $makeFlags "''${makeFlagsArray[@]}" $buildFlags "''${buildFlagsArray[@]}" \
+        TARGET-gas=as-new all-gas
+    done
+  '';
+
   # Fails
   doCheck = false;
 
@@ -269,10 +317,19 @@ stdenv.mkDerivation (finalAttrs: {
   #   $out/$host/$target/include/* to $dev/include/*
   # TODO(trofi): fix installation paths upstream so we could remove this
   # code and have "lib" output unconditionally.
-  postInstall = lib.optionalString (hostPlatform.config != targetPlatform.config) ''
-    ln -s $out/${hostPlatform.config}/${targetPlatform.config}/lib/*     $out/lib/
-    ln -s $out/${hostPlatform.config}/${targetPlatform.config}/include/* $dev/include/
-  '';
+  postInstall =
+    lib.optionalString (hostPlatform.config != targetPlatform.config) ''
+      ln -s $out/${hostPlatform.config}/${targetPlatform.config}/lib/*     $out/lib/
+      ln -s $out/${hostPlatform.config}/${targetPlatform.config}/include/* $dev/include/
+    ''
+    + lib.optionalString withAllTargets ''
+      for target in ${lib.escapeShellArgs allGasTargets}; do
+        make -C "$NIX_BUILD_TOP/build-$target/gas" -j"$NIX_BUILD_CORES" \
+          $makeFlags "''${makeFlagsArray[@]}" $installFlags "''${installFlagsArray[@]}" \
+          install-exec-bindir
+      done
+      ln -s $out/bin/${stdenv.targetPlatform.config}-as $out/bin/as
+    '';
 
   passthru = {
     inherit targetPrefix;
diff --git a/pkgs/development/tools/misc/texinfo/common.nix b/pkgs/development/tools/misc/texinfo/common.nix
index b9f89f446094..9d70fc7a8680 100644
--- a/pkgs/development/tools/misc/texinfo/common.nix
+++ b/pkgs/development/tools/misc/texinfo/common.nix
@@ -7,12 +7,10 @@
   libintl,
   bashNonInteractive,
   updateAutotoolsGnuConfigScriptsHook,
-  gnulib,
   gawk,
   freebsd,
   glibcLocales,
   libiconv,
-  xz,
 
   # we are a dependency of gcc, this simplifies bootstrapping
   interactive ? false,
@@ -56,16 +54,9 @@ stdenv.mkDerivation {
 
   patches = patches ++ optional crossBuildTools ./cross-tools-flags.patch;
 
-  postPatch =
-    ''
-      patchShebangs tp/maintain/regenerate_commands_perl_info.pl
-    ''
-    # This patch is needed for IEEE-standard long doubles on
-    # powerpc64; it does not apply cleanly to texinfo 5.x or
-    # earlier.  It is merged upstream in texinfo 6.8.
-    + optionalString (version == "6.7") ''
-      patch -p1 -d gnulib < ${gnulib.passthru.longdouble-redirect-patch}
-    '';
+  postPatch = ''
+    patchShebangs tp/maintain/regenerate_commands_perl_info.pl
+  '';
 
   env =
     {
@@ -147,7 +138,5 @@ stdenv.mkDerivation {
 
   meta = meta // {
     branch = version;
-    # see comment above in patches section
-    broken = stdenv.hostPlatform.isPower64 && versionOlder version "6.0";
   };
 }
diff --git a/pkgs/development/tools/misc/texinfo/packages.nix b/pkgs/development/tools/misc/texinfo/packages.nix
index f9d5bab6d10a..b385c25fe3d2 100644
--- a/pkgs/development/tools/misc/texinfo/packages.nix
+++ b/pkgs/development/tools/misc/texinfo/packages.nix
@@ -8,11 +8,9 @@
   libintl,
   bashNonInteractive,
   updateAutotoolsGnuConfigScriptsHook,
-  gnulib,
   gawk,
   freebsd,
   libiconv,
-  xz,
 
   # we are a dependency of gcc, this simplifies bootstrapping
   interactive ? false,
@@ -54,11 +52,9 @@ let
       updateAutotoolsGnuConfigScriptsHook
       fetchurl
       perl
-      xz
       libintl
       libiconv
       bashNonInteractive
-      gnulib
       gawk
       freebsd
       ncurses
@@ -69,14 +65,6 @@ let
   };
 in
 {
-  texinfo6_5 = buildTexinfo {
-    version = "6.5";
-    hash = "sha256-d3dLP0oGwgcFzC7xyASGRCLjz5UjXpZbHwCkbffaX2I=";
-  };
-  texinfo6_7 = buildTexinfo {
-    version = "6.7";
-    hash = "sha256-mIQDwVQtFa0ERgC5CZl7owebEOAyJMYRiBF/NnawLKo=";
-  };
   texinfo6 = buildTexinfo {
     version = "6.8";
     hash = "sha256-jrdT7Si8oh+PVsGhgDYq7XiSKb1i//WL+DaOm+tZ/sQ=";
diff --git a/pkgs/development/tools/mysql-shell/8.nix b/pkgs/development/tools/mysql-shell/8.nix
index 876b56f8a905..5f2ac287b656 100644
--- a/pkgs/development/tools/mysql-shell/8.nix
+++ b/pkgs/development/tools/mysql-shell/8.nix
@@ -38,8 +38,8 @@ let
     pyyaml
   ];
 
-  mysqlShellVersion = "8.4.4";
-  mysqlServerVersion = "8.4.4";
+  mysqlShellVersion = "8.4.5";
+  mysqlServerVersion = "8.4.5";
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "mysql-shell";
@@ -48,11 +48,11 @@ stdenv.mkDerivation (finalAttrs: {
   srcs = [
     (fetchurl {
       url = "https://dev.mysql.com/get/Downloads/MySQL-${lib.versions.majorMinor mysqlServerVersion}/mysql-${mysqlServerVersion}.tar.gz";
-      hash = "sha256-+ykO90iJRDQIUknDG8pSrHGFMSREarIYuzvFAr8AgqU=";
+      hash = "sha256-U2OVkqcgpxn9+t8skhuUfqyGwG4zMgLkdmeFKleBvRo=";
     })
     (fetchurl {
       url = "https://dev.mysql.com/get/Downloads/MySQL-Shell/mysql-shell-${finalAttrs.version}-src.tar.gz";
-      hash = "sha256-wl57vU3YbWvtmzew801k8WHohY6Fjy59Uyy2pdYaHuw=";
+      hash = "sha256-OLU27mLd46pC6mfvBTRmC0mJ8nlwQuHPNWPkTQw3t8w=";
     })
   ];
 
diff --git a/pkgs/development/tools/mysql-shell/innovation.nix b/pkgs/development/tools/mysql-shell/innovation.nix
index dcd4b9fc764d..177992ca170b 100644
--- a/pkgs/development/tools/mysql-shell/innovation.nix
+++ b/pkgs/development/tools/mysql-shell/innovation.nix
@@ -38,8 +38,8 @@ let
     pyyaml
   ];
 
-  mysqlShellVersion = "9.2.0";
-  mysqlServerVersion = "9.2.0";
+  mysqlShellVersion = "9.3.0";
+  mysqlServerVersion = "9.3.0";
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "mysql-shell-innovation";
@@ -48,11 +48,11 @@ stdenv.mkDerivation (finalAttrs: {
   srcs = [
     (fetchurl {
       url = "https://dev.mysql.com/get/Downloads/MySQL-${lib.versions.majorMinor mysqlServerVersion}/mysql-${mysqlServerVersion}.tar.gz";
-      hash = "sha256-o50R/fbPjRsDtwjVN6kTLeS5mp601hApOTfwaHzTehI=";
+      hash = "sha256-Gj7iNvHarF74l8YyXJsOCq5IY4m+G4AB3rP/d85oLWA=";
     })
     (fetchurl {
       url = "https://dev.mysql.com/get/Downloads/MySQL-Shell/mysql-shell-${finalAttrs.version}-src.tar.gz";
-      hash = "sha256-xuKXV8YllhDo7+6i5UYHAH7m7Jn5E/k0YdeN5MZSzl8=";
+      hash = "sha256-26bhtMNuaEnsW/TygbyhejlHbtSnh+EwrEdHaDqyv5s=";
     })
   ];
 
diff --git a/pkgs/development/tools/ocaml/dune/3.nix b/pkgs/development/tools/ocaml/dune/3.nix
index 6d8ce464eb1e..059beb6372c6 100644
--- a/pkgs/development/tools/ocaml/dune/3.nix
+++ b/pkgs/development/tools/ocaml/dune/3.nix
@@ -14,11 +14,11 @@ else
 
   stdenv.mkDerivation rec {
     pname = "dune";
-    version = "3.19.0";
+    version = "3.19.1";
 
     src = fetchurl {
       url = "https://github.com/ocaml/dune/releases/download/${version}/dune-${version}.tbz";
-      hash = "sha256-0vYX39NPfYgvQYGiLjWbuQtGZp7YeyZQ64QvBTL8aWw=";
+      hash = "sha256-oQOG+YDNqUF9FGVGa+1Q3SrvnJO50GoPf+7tsKFUEVg=";
     };
 
     nativeBuildInputs = [
diff --git a/pkgs/development/tools/parsing/antlr/3.5.nix b/pkgs/development/tools/parsing/antlr/3.5.nix
index ae466260d039..86141bec484a 100644
--- a/pkgs/development/tools/parsing/antlr/3.5.nix
+++ b/pkgs/development/tools/parsing/antlr/3.5.nix
@@ -55,6 +55,6 @@ stdenv.mkDerivation rec {
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
     license = licenses.bsd3;
     platforms = platforms.linux;
-    maintainers = [ lib.maintainers.farlion ];
+    maintainers = [ lib.maintainers.workflow ];
   };
 }
diff --git a/pkgs/development/tools/pnpm/default.nix b/pkgs/development/tools/pnpm/default.nix
index 9634a8d857ef..4eb4627e75a2 100644
--- a/pkgs/development/tools/pnpm/default.nix
+++ b/pkgs/development/tools/pnpm/default.nix
@@ -16,8 +16,8 @@ let
       hash = "sha256-z4anrXZEBjldQoam0J1zBxFyCsxtk+nc6ax6xNxKKKc=";
     };
     "10" = {
-      version = "10.11.1";
-      hash = "sha256-IR6ZkBSElcn8MLflg5b37tqD2SQ+t1QH6k+GUPsWH3w=";
+      version = "10.12.1";
+      hash = "sha256-iJusRw7JPMw3ZEiKGda6j5xkitXlCppuS+N2il3jh6M=";
     };
   };
 
diff --git a/pkgs/development/tools/qtcreator/default.nix b/pkgs/development/tools/qtcreator/default.nix
index 9e5eb09afb9c..3d0589530d79 100644
--- a/pkgs/development/tools/qtcreator/default.nix
+++ b/pkgs/development/tools/qtcreator/default.nix
@@ -32,11 +32,11 @@
 
 stdenv.mkDerivation rec {
   pname = "qtcreator";
-  version = "16.0.2";
+  version = "17.0.0";
 
   src = fetchurl {
     url = "mirror://qt/official_releases/${pname}/${lib.versions.majorMinor version}/${version}/qt-creator-opensource-src-${version}.tar.xz";
-    hash = "sha256-UWyxZK4XzL8SqUkfqNU+cb22P9jExjn6RkLV1Es32YI=";
+    hash = "sha256-YW3+pDphYrwajM9EDh32p0uXf8sCjXa3x3mh+43jnow=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/unityhub/default.nix b/pkgs/development/tools/unityhub/default.nix
index f9ab105fdd72..2c624dc3f848 100644
--- a/pkgs/development/tools/unityhub/default.nix
+++ b/pkgs/development/tools/unityhub/default.nix
@@ -110,6 +110,15 @@ stdenv.mkDerivation rec {
         # Unity Editor 6000 specific dependencies
         harfbuzz
         vulkan-loader
+
+        # Unity Bug Reporter specific dependencies
+        xorg.libICE
+        xorg.libSM
+
+        # Fonts used by built-in and third party editor tools
+        corefonts
+        dejavu_fonts
+        liberation_ttf
       ]
       ++ extraLibs pkgs;
   };
diff --git a/pkgs/development/web/nodejs/v24.nix b/pkgs/development/web/nodejs/v24.nix
index 253b764824ff..befcf6759c96 100644
--- a/pkgs/development/web/nodejs/v24.nix
+++ b/pkgs/development/web/nodejs/v24.nix
@@ -17,8 +17,8 @@ let
 in
 buildNodejs {
   inherit enableNpm;
-  version = "24.1.0";
-  sha256 = "c8171b2aeccb28c8c5347f273a25adae172fb2a65bc8c975bc22ec58949d0eaf";
+  version = "24.2.0";
+  sha256 = "40143d43efbdeeb9537995f532126c494d63a31da332acb5022f76f00afc62ab";
   patches =
     (
       if (stdenv.hostPlatform.emulatorAvailable buildPackages) then
@@ -51,13 +51,6 @@ buildNodejs {
       ./node-npm-build-npm-package-logic.patch
       ./use-correct-env-in-tests.patch
       ./bin-sh-node-run-v22.patch
-
-      # Can be removed after https://github.com/NixOS/nixpkgs/pull/403958.
-      (fetchpatch2 {
-        url = "https://github.com/nodejs/node/commit/9aa57bf8dab2dbfb8b6974fe71d5dbe6daf66244.patch?full_index=1";
-        hash = "sha256-k3h8mPgvaIYGAkGmaL+ix7kUnyLw4/PF7wXMAWrPMXo=";
-        revert = true;
-      })
     ]
     ++ lib.optionals (!stdenv.buildPlatform.isDarwin) [
       # test-icu-env is failing without the reverts
diff --git a/pkgs/games/anki/addons/adjust-sound-volume/default.nix b/pkgs/games/anki/addons/adjust-sound-volume/default.nix
new file mode 100644
index 000000000000..cdeb7d3d727a
--- /dev/null
+++ b/pkgs/games/anki/addons/adjust-sound-volume/default.nix
@@ -0,0 +1,23 @@
+{
+  lib,
+  anki-utils,
+  fetchFromGitHub,
+  nix-update-script,
+}:
+anki-utils.buildAnkiAddon (finalAttrs: {
+  pname = "adjust-sound-volume";
+  version = "0.0.6";
+  src = fetchFromGitHub {
+    owner = "mnogu";
+    repo = "adjust-sound-volume";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-6reIUz+tHKd4KQpuofLa/tIL5lCloj3yODZ8Cz29jFU=";
+  };
+  passthru.updateScript = nix-update-script { };
+  meta = {
+    description = "Add a new menu item for adjusting the sound volume";
+    homepage = "https://github.com/mnogu/adjust-sound-volume";
+    license = lib.licenses.agpl3Plus;
+    maintainers = with lib.maintainers; [ junestepp ];
+  };
+})
diff --git a/pkgs/games/anki/addons/anki-connect/default.nix b/pkgs/games/anki/addons/anki-connect/default.nix
new file mode 100644
index 000000000000..27a0411e52f7
--- /dev/null
+++ b/pkgs/games/anki/addons/anki-connect/default.nix
@@ -0,0 +1,27 @@
+{
+  lib,
+  anki-utils,
+  fetchFromSourcehut,
+  nix-update-script,
+}:
+anki-utils.buildAnkiAddon (finalAttrs: {
+  pname = "anki-connect";
+  version = "24.7.25.0";
+  src = fetchFromSourcehut {
+    owner = "~foosoft";
+    repo = "anki-connect";
+    rev = finalAttrs.version;
+    hash = "sha256-N98EoCE/Bx+9QUQVeU64FXHXSek7ASBVv1b9ltJ4G1U=";
+  };
+  sourceRoot = "${finalAttrs.src.name}/plugin";
+  passthru.updateScript = nix-update-script { };
+  meta = {
+    description = ''
+      Enable external applications such as Yomichan to communicate
+      with Anki over a simple HTTP API
+    '';
+    homepage = "https://foosoft.net/projects/anki-connect/";
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ junestepp ];
+  };
+})
diff --git a/pkgs/games/anki/addons/anki-utils.nix b/pkgs/games/anki/addons/anki-utils.nix
new file mode 100644
index 000000000000..e2247ebac874
--- /dev/null
+++ b/pkgs/games/anki/addons/anki-utils.nix
@@ -0,0 +1,126 @@
+{
+  lib,
+  stdenv,
+  symlinkJoin,
+  lndir,
+  formats,
+  runCommand,
+}:
+{
+  buildAnkiAddon = lib.extendMkDerivation {
+    constructDrv = stdenv.mkDerivation;
+    extendDrvArgs =
+      finalAttrs:
+      {
+        pname,
+        version,
+        src,
+        sourceRoot ? "",
+        configurePhase ? ''
+          runHook preConfigure
+          runHook postConfigure
+        '',
+        buildPhase ? ''
+          runHook preBuild
+          runHook postBuild
+        '',
+        dontPatchELF ? true,
+        dontStrip ? true,
+        nativeBuildInputs ? [ ],
+        passthru ? { },
+        meta ? { },
+        # Script run after "user_files" folder is populated.
+        # Used when an add-on needs to process and change "user_files" based
+        # on what the user added to it.
+        processUserFiles ? "",
+        ...
+      }:
+      {
+        inherit
+          version
+          src
+          sourceRoot
+          configurePhase
+          buildPhase
+          dontPatchELF
+          dontStrip
+          nativeBuildInputs
+          ;
+
+        pname = "anki-addon-${pname}";
+
+        installPrefix = "share/anki/addons/${pname}";
+
+        installPhase = ''
+          runHook preInstall
+
+          mkdir -p "$out/$installPrefix"
+          find . -mindepth 1 -maxdepth 1 | xargs -d'\n' mv -t "$out/$installPrefix/"
+
+          runHook postInstall
+        '';
+
+        passthru = {
+          withConfig =
+            {
+              # JSON add-on config. The available options for an add-on are in its
+              # config.json file.
+              # See https://addon-docs.ankiweb.net/addon-config.html#config-json
+              config ? { },
+              # Path to a folder to be merged with the add-on "user_files" folder.
+              # See https://addon-docs.ankiweb.net/addon-config.html#user-files.
+              userFiles ? null,
+            }:
+            let
+              metaConfigFormat = formats.json { };
+              addonMetaConfig = metaConfigFormat.generate "meta.json" { inherit config; };
+            in
+            symlinkJoin {
+              pname = "${finalAttrs.pname}-with-config";
+              inherit (finalAttrs) version meta;
+
+              paths = [
+                finalAttrs.finalPackage
+              ];
+
+              postBuild = ''
+                cd $out/${finalAttrs.installPrefix}
+
+                rm -f meta.json
+                ln -s ${addonMetaConfig} meta.json
+
+                mkdir -p user_files
+                ${
+                  if (userFiles != null) then
+                    ''
+                      ${lndir}/bin/lndir -silent "${userFiles}" user_files
+                    ''
+                  else
+                    ""
+                }
+
+                ${processUserFiles}
+              '';
+            };
+        } // passthru;
+
+        meta = {
+          platforms = lib.platforms.all;
+        } // meta;
+      };
+  };
+
+  buildAnkiAddonsDir =
+    addonPackages:
+    let
+      addonDirs = map (pkg: "${pkg}/share/anki/addons") addonPackages;
+      addons = lib.concatMapStringsSep " " (p: "${p}/*") addonDirs;
+    in
+    runCommand "anki-addons" { } ''
+      mkdir $out
+      [[ '${addons}' ]] || exit 0
+      for addon in ${addons}; do
+        ln -s "$addon" $out/
+      done
+    '';
+}
diff --git a/pkgs/games/anki/addons/default.nix b/pkgs/games/anki/addons/default.nix
new file mode 100644
index 000000000000..d602b1ea877e
--- /dev/null
+++ b/pkgs/games/anki/addons/default.nix
@@ -0,0 +1,18 @@
+{
+  callPackage,
+}:
+{
+  adjust-sound-volume = callPackage ./adjust-sound-volume { };
+
+  anki-connect = callPackage ./anki-connect { };
+
+  local-audio-yomichan = callPackage ./local-audio-yomichan { };
+
+  passfail2 = callPackage ./passfail2 { };
+
+  recolor = callPackage ./recolor { };
+
+  reviewer-refocus-card = callPackage ./reviewer-refocus-card { };
+
+  yomichan-forvo-server = callPackage ./yomichan-forvo-server { };
+}
diff --git a/pkgs/games/anki/addons/local-audio-yomichan/default.nix b/pkgs/games/anki/addons/local-audio-yomichan/default.nix
new file mode 100644
index 000000000000..7ba361c8590c
--- /dev/null
+++ b/pkgs/games/anki/addons/local-audio-yomichan/default.nix
@@ -0,0 +1,73 @@
+{
+  lib,
+  anki-utils,
+  fetchFromGitHub,
+  python3,
+  nix-update-script,
+}:
+anki-utils.buildAnkiAddon (finalAttrs: {
+  pname = "local-audio-yomichan";
+  version = "0-unstable-2025-04-26";
+  src = fetchFromGitHub {
+    owner = "yomidevs";
+    repo = "local-audio-yomichan";
+    rev = "34750f1d8ca1cb473128fea7976a4d981e5e78a4";
+    sparseCheckout = [ "plugin" ];
+    hash = "sha256-2gyggcvxParay+1B7Sg2COKyocoxaRO1WTz+ymdRp4w=";
+  };
+  sourceRoot = "${finalAttrs.src.name}/plugin";
+  processUserFiles = ''
+    # Addon will try to load extra stuff unless Python package name is "plugin".
+    temp=$(mktemp -d)
+    ln -s $PWD $temp/plugin
+    # Addoon expects `user_files` dir at `$XDG_DATA_HOME/local-audio-yomichan`
+    ln -s $PWD/user_files $temp/local-audio-yomichan
+
+    PYTHONPATH=$temp \
+    WO_ANKI=1 \
+    XDG_DATA_HOME=$temp \
+    ${lib.getExe python3} -c \
+      "from plugin import db_utils; \
+       db_utils.init_db()"
+  '';
+  passthru.updateScript = nix-update-script {
+    extraArgs = [ "--version=branch" ];
+  };
+  meta = {
+    description = "Run a local audio server for Yomitan";
+    longDescription = ''
+      This add-on must be configured with an audio collection.
+
+      Example:
+
+      ```nix
+      pkgs.ankiAddons.local-audio-yomichan.withConfig {
+        userFiles =
+          let
+            audio-collection =
+              pkgs.runCommand "local-yomichan-audio-collection"
+                {
+                  outputHashMode = "recursive";
+                  outputHash = "sha256-NxbcXh2SDPfCd+ZHAWT5JdxRecNbT4Xpo0pxX5/DOfo=";
+
+                  src = pkgs.requireFile {
+                    name = "local-yomichan-audio-collection-2023-06-11-opus.tar.xz";
+                    url = "https://github.com/yomidevs/local-audio-yomichan?tab=readme-ov-file#steps";
+                    sha256 = "1xsxp8iggklv77rj972mqaa1i8f9hvr3ir0r2mwfqcdz4q120hr1";
+                  };
+                }
+                '''
+                  mkdir -p $out
+                  cd $out
+                  tar -xf "$src"
+                ''';
+          in
+          "''${audio-collection}/user_files";
+      }
+      ```
+    '';
+    homepage = "https://github.com/yomidevs/local-audio-yomichan";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ junestepp ];
+  };
+})
diff --git a/pkgs/games/anki/addons/passfail2/default.nix b/pkgs/games/anki/addons/passfail2/default.nix
new file mode 100644
index 000000000000..73746c1a568a
--- /dev/null
+++ b/pkgs/games/anki/addons/passfail2/default.nix
@@ -0,0 +1,34 @@
+{
+  lib,
+  anki-utils,
+  fetchFromGitHub,
+  nix-update-script,
+}:
+anki-utils.buildAnkiAddon (finalAttrs: {
+  pname = "passfail2";
+  version = "0.3.0-unstable-2024-10-17";
+  src = fetchFromGitHub {
+    owner = "lambdadog";
+    repo = "passfail2";
+    rev = "d5313e4f1217e968b36edbc0a4fe92386209ffe6";
+    hash = "sha256-HMe6/fHpYj/MN0dUFj3W71vK7qqcp9l1xm8SAiKkJLs=";
+  };
+  buildPhase = ''
+    runHook preBuild
+
+    substitute build_info.py.in build_info.py \
+      --replace-fail '$version' '"${finalAttrs.version}"'
+
+    runHook postBuild
+  '';
+  passthru.updateScript = nix-update-script { };
+  meta = {
+    description = ''
+      Replaces the default Anki review buttons with only two options:
+      “Fail” and “Pass”
+    '';
+    homepage = "https://github.com/lambdadog/passfail2";
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ junestepp ];
+  };
+})
diff --git a/pkgs/games/anki/addons/recolor/default.nix b/pkgs/games/anki/addons/recolor/default.nix
new file mode 100644
index 000000000000..3e60b0193904
--- /dev/null
+++ b/pkgs/games/anki/addons/recolor/default.nix
@@ -0,0 +1,27 @@
+{
+  lib,
+  anki-utils,
+  fetchFromGitHub,
+  nix-update-script,
+}:
+anki-utils.buildAnkiAddon (finalAttrs: {
+  pname = "recolor";
+  version = "3.1";
+  src = fetchFromGitHub {
+    owner = "AnKing-VIP";
+    repo = "AnkiRecolor";
+    rev = finalAttrs.version;
+    sparseCheckout = [ "src/addon" ];
+    hash = "sha256-28DJq2l9DP8O6OsbNQCZ0pm4S6CQ3Yz0Vfvlj+iQw8Y=";
+  };
+  sourceRoot = "${finalAttrs.src.name}/src/addon";
+  passthru.updateScript = nix-update-script { };
+  meta = {
+    description = "ReColor your Anki desktop to whatever aesthetic you like";
+    homepage = "https://github.com/AnKing-VIP/AnkiRecolor";
+    # No license file, but it can be assumed to be AGPL3 based on
+    # https://ankiweb.net/account/terms.
+    license = lib.licenses.agpl3Only;
+    maintainers = with lib.maintainers; [ junestepp ];
+  };
+})
diff --git a/pkgs/games/anki/addons/reviewer-refocus-card/default.nix b/pkgs/games/anki/addons/reviewer-refocus-card/default.nix
new file mode 100644
index 000000000000..6fde24afd22e
--- /dev/null
+++ b/pkgs/games/anki/addons/reviewer-refocus-card/default.nix
@@ -0,0 +1,30 @@
+{
+  lib,
+  anki-utils,
+  fetchFromGitHub,
+  nix-update-script,
+}:
+anki-utils.buildAnkiAddon (finalAttrs: {
+  pname = "reviewer-refocus-card";
+  version = "0-unstable-2022-12-24";
+  src = fetchFromGitHub {
+    owner = "glutanimate";
+    repo = "anki-addons-misc";
+    rev = "7b981836e0a6637a1853f3e8d73d022ab95fed31";
+    sparseCheckout = [ "src/reviewer_refocus_card" ];
+    hash = "sha256-181hyc4ED+0lBzn1FnrBvNIYIUQF8xEDB3uHK6SkpHw=";
+  };
+  sourceRoot = "${finalAttrs.src.name}/src/reviewer_refocus_card";
+  passthru.updateScript = nix-update-script {
+    extraArgs = [ "--version=branch" ];
+  };
+  meta = {
+    description = ''
+      Set focus to the card area, allowing you to scroll through your cards using
+      Page Up / Page Down, etc
+    '';
+    homepage = "https://github.com/glutanimate/anki-addons-misc";
+    license = lib.licenses.agpl3Only;
+    maintainers = with lib.maintainers; [ junestepp ];
+  };
+})
diff --git a/pkgs/games/anki/addons/yomichan-forvo-server/default.nix b/pkgs/games/anki/addons/yomichan-forvo-server/default.nix
new file mode 100644
index 000000000000..751798f6e3a6
--- /dev/null
+++ b/pkgs/games/anki/addons/yomichan-forvo-server/default.nix
@@ -0,0 +1,25 @@
+{
+  lib,
+  anki-utils,
+  fetchFromGitHub,
+  nix-update-script,
+}:
+anki-utils.buildAnkiAddon {
+  pname = "yomichan-forvo-server";
+  version = "0-unstable-2024-10-21";
+  src = fetchFromGitHub {
+    owner = "jamesnicolas";
+    repo = "yomichan-forvo-server";
+    rev = "364fc6d5d10969f516e0fa283460dfaf08c98e15";
+    hash = "sha256-Jpee9hkXCiBmSW7hzJ1rAg45XVIiLC8WENc09+ySFVI=";
+  };
+  passthru.updateScript = nix-update-script {
+    extraArgs = [ "--version=branch" ];
+  };
+  meta = {
+    description = "Audio server for yomichan that scrapes forvo for audio files";
+    homepage = "https://github.com/jamesnicolas/yomichan-forvo-server";
+    license = lib.licenses.unlicense;
+    maintainers = with lib.maintainers; [ junestepp ];
+  };
+}
diff --git a/pkgs/games/anki/default.nix b/pkgs/games/anki/default.nix
index ab520dea5da0..15b88f67a7bc 100644
--- a/pkgs/games/anki/default.nix
+++ b/pkgs/games/anki/default.nix
@@ -10,6 +10,7 @@
   lame,
   mpv-unwrapped,
   ninja,
+  callPackage,
   nixosTests,
   nodejs,
   jq,
@@ -91,6 +92,8 @@ python3.pkgs.buildPythonApplication rec {
     ./patches/disable-auto-update.patch
     ./patches/remove-the-gl-library-workaround.patch
     ./patches/skip-formatting-python-code.patch
+    # Used in with-addons.nix
+    ./patches/allow-setting-addons-folder.patch
   ];
 
   inherit cargoDeps;
@@ -269,6 +272,7 @@ python3.pkgs.buildPythonApplication rec {
   '';
 
   passthru = {
+    withAddons = ankiAddons: callPackage ./with-addons.nix { inherit ankiAddons; };
     tests.anki-sync-server = nixosTests.anki-sync-server;
   };
 
@@ -292,6 +296,7 @@ python3.pkgs.buildPythonApplication rec {
     inherit (mesa.meta) platforms;
     maintainers = with maintainers; [
       euank
+      junestepp
       oxij
     ];
     # Reported to crash at launch on darwin (as of 2.1.65)
diff --git a/pkgs/games/anki/patches/allow-setting-addons-folder.patch b/pkgs/games/anki/patches/allow-setting-addons-folder.patch
new file mode 100644
index 000000000000..12f7846267d5
--- /dev/null
+++ b/pkgs/games/anki/patches/allow-setting-addons-folder.patch
@@ -0,0 +1,15 @@
+diff --git a/qt/aqt/profiles.py b/qt/aqt/profiles.py
+index 469908c1b2..34612d6e08 100644
+--- a/qt/aqt/profiles.py
++++ b/qt/aqt/profiles.py
+@@ -310,7 +310,9 @@ def profileFolder(self, create: bool = True) -> str:
+         return path
+ 
+     def addonFolder(self) -> str:
+-        return self._ensureExists(os.path.join(self.base, "addons21"))
++        path = Path(os.environ.get("ANKI_ADDONS") or Path(self.base) / "addons21")
++        path.mkdir(parents=True, exist_ok=True)
++        return str(path.resolve())
+ 
+     def backupFolder(self) -> str:
+         return self._ensureExists(os.path.join(self.profileFolder(), "backups"))
diff --git a/pkgs/games/anki/with-addons.nix b/pkgs/games/anki/with-addons.nix
new file mode 100644
index 000000000000..d47c2c16f316
--- /dev/null
+++ b/pkgs/games/anki/with-addons.nix
@@ -0,0 +1,107 @@
+{
+  lib,
+  symlinkJoin,
+  makeWrapper,
+  anki,
+  anki-utils,
+  writeTextDir,
+  ankiAddons ? [ ],
+}:
+/*
+  `ankiAddons`
+   :  A set of Anki add-ons to be installed. Here's a an example:
+
+      ~~~
+      pkgs.anki.withAddons [
+        # When the add-on is already available in nixpkgs
+        pkgs.ankiAddons.anki-connect
+
+        # When the add-on is not available in nixpkgs
+        (pkgs.anki-utils.buildAnkiAddon (finalAttrs: {
+          pname = "recolor";
+          version = "3.1";
+          src = pkgs.fetchFromGitHub {
+            owner = "AnKing-VIP";
+            repo = "AnkiRecolor";
+            rev = finalAttrs.version;
+            sparseCheckout = [ "src/addon" ];
+            hash = "sha256-28DJq2l9DP8O6OsbNQCZ0pm4S6CQ3Yz0Vfvlj+iQw8Y=";
+          };
+          sourceRoot = "source/src/addon";
+        }))
+
+        # When the add-on needs to be configured
+        pkgs.ankiAddons.passfail2.withConfig {
+          config = {
+            again_button_name = "not quite";
+            good_button_name = "excellent";
+          };
+
+          user_files = ./dir-to-be-merged-into-addon-user-files-dir;
+        };
+      ]
+      ~~~
+
+      The original `anki` executable will be wrapped so that it uses the addons from
+      `ankiAddons`.
+
+      This only works with Anki versions patched to support the `ANKI_ADDONS` environment
+      variable. `pkgs.anki` has this, but `pkgs.anki-bin` does not.
+*/
+let
+  defaultAddons = [
+    (anki-utils.buildAnkiAddon {
+      pname = "nixos";
+      version = "1.0";
+      src = writeTextDir "__init__.py" ''
+        import aqt
+        from aqt.qt import QMessageBox
+        import json
+
+        def addons_dialog_will_show(dialog: aqt.addons.AddonsDialog) -> None:
+          dialog.setEnabled(False)
+          QMessageBox.information(
+            dialog,
+            "NixOS Info",
+            ("These add-ons are managed by NixOS.
" + "See " + "github.com/NixOS/nixpkgs/tree/master/pkgs/games/anki/with-addons.nix") + ) + + def addon_tried_to_write_config(module: str, conf: dict) -> None: + message_box = QMessageBox( + QMessageBox.Icon.Warning, + "NixOS Info", + (f"The add-on module: \"{module}\" tried to update its config.
" + "See " + "github.com/NixOS/nixpkgs/tree/master/pkgs/games/anki/with-addons.nix" + " for how to configure add-ons managed by NixOS.") + ) + message_box.setDetailedText(json.dumps(conf)) + message_box.exec() + + aqt.gui_hooks.addons_dialog_will_show.append(addons_dialog_will_show) + aqt.mw.addonManager.writeConfig = addon_tried_to_write_config + ''; + meta.maintainers = with lib.maintainers; [ junestepp ]; + }) + ]; +in +symlinkJoin { + inherit (anki) version; + pname = "${anki.pname}-with-addons"; + + paths = [ anki ]; + + nativeBuildInputs = [ makeWrapper ]; + postBuild = '' + wrapProgram $out/bin/anki \ + --set ANKI_ADDONS "${anki-utils.buildAnkiAddonsDir (ankiAddons ++ defaultAddons)}" + ''; + + meta = builtins.removeAttrs anki.meta [ + "name" + "outputsToInstall" + "position" + ]; +} diff --git a/pkgs/games/cutechess/default.nix b/pkgs/games/cutechess/default.nix index 05a75351e9e2..6e8c3b2b4f5c 100644 --- a/pkgs/games/cutechess/default.nix +++ b/pkgs/games/cutechess/default.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "cutechess"; - version = "1.3.1"; + version = "1.4.0"; src = fetchFromGitHub { owner = "cutechess"; repo = "cutechess"; rev = "v${finalAttrs.version}"; - hash = "sha256-P44Twbw2MGz+oTzPwMFCe73zPxAex6uYjSTtaUypfHw="; + hash = "sha256-vhS3Eenxcq7D8E5WVON5C5hCTytcEVbYUeuCkfB0apA="; }; nativeBuildInputs = [ diff --git a/pkgs/games/doom-ports/slade/git.nix b/pkgs/games/doom-ports/slade/git.nix index 941ec75df7b2..205e6ec50af2 100644 --- a/pkgs/games/doom-ports/slade/git.nix +++ b/pkgs/games/doom-ports/slade/git.nix @@ -22,13 +22,13 @@ stdenv.mkDerivation { pname = "slade"; - version = "3.2.7-unstable-2025-05-09"; + version = "3.2.7-unstable-2025-05-31"; src = fetchFromGitHub { owner = "sirjuddington"; repo = "SLADE"; - rev = "a515292e74f92f6a54f29feb96cc198aa1981f1b"; - hash = "sha256-4H4L9PXhBmoDl1ZorlMPp7zSSX7G94VIcyjdX7zYauk="; + rev = "996bf5de51072d99846bf2a8a82c92d7fce58741"; + hash = "sha256-TDPT+UbDrw3GDY9exX8QYBsNpyHG5n3Hw3vAxGJ9M3o="; }; nativeBuildInputs = [ diff --git a/pkgs/games/dxx-rebirth/default.nix b/pkgs/games/dxx-rebirth/default.nix index 378cc9bb60dd..a0186148e404 100644 --- a/pkgs/games/dxx-rebirth/default.nix +++ b/pkgs/games/dxx-rebirth/default.nix @@ -24,13 +24,13 @@ let in stdenv.mkDerivation { pname = "dxx-rebirth"; - version = "0.60.0-beta2-unstable-2025-03-29"; + version = "0.60.0-beta2-unstable-2025-05-24"; src = fetchFromGitHub { owner = "dxx-rebirth"; repo = "dxx-rebirth"; - rev = "ddc84fa623ed508073cf99244db731bd73f36b6b"; - hash = "sha256-VZ3PQ4YECM+z+V1zPSNdgIIBFjRIAunEmhENJAUj+P8="; + rev = "7a84b3f307ac6f72fd440e55b149d7c2c942dfaf"; + hash = "sha256-b3rMitf2kw8y0EXwxeKKB8bqzCUaIaMQmpV1gtdcLis="; }; nativeBuildInputs = [ diff --git a/pkgs/games/openttd/default.nix b/pkgs/games/openttd/default.nix index 1f797e5fbc7a..76b0f49ce2ad 100644 --- a/pkgs/games/openttd/default.nix +++ b/pkgs/games/openttd/default.nix @@ -11,7 +11,6 @@ xz, freetype, fontconfig, - nlohmann_json, curl, icu, harfbuzz, @@ -35,30 +34,43 @@ alsa-lib, libjack2, makeWrapper, + buildPackages, }: let opengfx = fetchzip { url = "https://cdn.openttd.org/opengfx-releases/7.1/opengfx-7.1-all.zip"; - sha256 = "sha256-daJ/Qwg/okpmLQkXcCjruIiP8GEwyyp02YWcGQepxzs="; + hash = "sha256-daJ/Qwg/okpmLQkXcCjruIiP8GEwyyp02YWcGQepxzs="; }; opensfx = fetchzip { url = "https://cdn.openttd.org/opensfx-releases/1.0.3/opensfx-1.0.3-all.zip"; - sha256 = "sha256-QmfXizrRTu/fUcVOY7tCndv4t4BVW+fb0yUi8LgSYzM="; + hash = "sha256-QmfXizrRTu/fUcVOY7tCndv4t4BVW+fb0yUi8LgSYzM="; }; openmsx = fetchzip { url = "https://cdn.openttd.org/openmsx-releases/0.4.2/openmsx-0.4.2-all.zip"; - sha256 = "sha256-Cgrg2m+uTODFg39mKgX+hE8atV7v5bVyZd716vSZB8M="; + hash = "sha256-Cgrg2m+uTODFg39mKgX+hE8atV7v5bVyZd716vSZB8M="; }; + + # OpenTTD builds and uses some of its own tools during the build and we need those to be available for cross-compilation. + # Build the tools for buildPlatform with minimal dependencies, using the "OPTION_TOOLS_ONLY" flag. + crossTools = buildPackages.openttd.overrideAttrs (oldAttrs: { + pname = "openttd-tools"; + buildInputs = [ ]; + cmakeFlags = oldAttrs.cmakeFlags or [ ] ++ [ (lib.cmakeBool "OPTION_TOOLS_ONLY" true) ]; + installPhase = '' + install -Dm555 src/strgen/strgen -t $out/bin + install -Dm555 src/settingsgen/settingsgen -t $out/bin + ''; + }); in -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "openttd"; version = "14.1"; src = fetchzip { - url = "https://cdn.openttd.org/openttd-releases/${version}/${pname}-${version}-source.tar.xz"; + url = "https://cdn.openttd.org/openttd-releases/${finalAttrs.version}/openttd-${finalAttrs.version}-source.tar.xz"; hash = "sha256-YT4IE/rJ9pnpeMWKbOra6AbSUwW19RwOKlXkxwoMeKY="; }; @@ -72,11 +84,16 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ - cmake - pkg-config - makeWrapper - ]; + nativeBuildInputs = + [ + cmake + pkg-config + makeWrapper + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + crossTools + ]; + buildInputs = [ SDL2 @@ -85,7 +102,6 @@ stdenv.mkDerivation rec { zlib freetype fontconfig - nlohmann_json curl icu harfbuzz @@ -107,9 +123,7 @@ stdenv.mkDerivation rec { libjack2 ]; - prefixKey = "--prefix-dir="; - - configureFlags = [ "--without-liblzo2" ]; + strictDeps = true; postPatch = '' substituteInPlace src/music/fluidsynth.cpp \ @@ -128,7 +142,7 @@ stdenv.mkDerivation rec { tar -xf ${openmsx}/*.tar -C $out/share/games/openttd/baseset ''; - meta = with lib; { + meta = { description = ''Open source clone of the Microprose game "Transport Tycoon Deluxe"''; mainProgram = "openttd"; longDescription = '' @@ -142,12 +156,12 @@ stdenv.mkDerivation rec { - observe as spectators ''; homepage = "https://www.openttd.org/"; - changelog = "https://cdn.openttd.org/openttd-releases/${version}/changelog.txt"; - license = licenses.gpl2Only; - platforms = platforms.linux; - maintainers = with maintainers; [ + changelog = "https://cdn.openttd.org/openttd-releases/${finalAttrs.version}/changelog.txt"; + license = lib.licenses.gpl2Only; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ jcumming fpletz ]; }; -} +}) diff --git a/pkgs/games/papermc/versions.json b/pkgs/games/papermc/versions.json index 1b12890980b2..90b01446b8e8 100644 --- a/pkgs/games/papermc/versions.json +++ b/pkgs/games/papermc/versions.json @@ -68,11 +68,11 @@ "version": "1.21.3-83" }, "1.21.4": { - "hash": "sha256-4uzalgJxiz/KXYKTlmJSYRXoUab3BPTOasWmU6VX53M=", - "version": "1.21.4-226" + "hash": "sha256-XuT1QvYooUxkRBCwjJTqQudy700p/pKXNja2gT1Or/w=", + "version": "1.21.4-232" }, "1.21.5": { - "hash": "sha256-IGdVsDeL+K8T5nFK+1fmUbLE6zW2d5mZRYCiMrJG/nw=", - "version": "1.21.5-38" + "hash": "sha256-fgI/FO2CzTvUm58G0DKirnQa5ztElxOIGw1r4CbzC4M=", + "version": "1.21.5-112" } } diff --git a/pkgs/games/path-of-building/default.nix b/pkgs/games/path-of-building/default.nix index 753001d192b9..e362f7ac0447 100644 --- a/pkgs/games/path-of-building/default.nix +++ b/pkgs/games/path-of-building/default.nix @@ -17,13 +17,13 @@ let data = stdenv.mkDerivation (finalAttrs: { pname = "path-of-building-data"; - version = "2.52.3"; + version = "2.54.0"; src = fetchFromGitHub { owner = "PathOfBuildingCommunity"; repo = "PathOfBuilding"; rev = "v${finalAttrs.version}"; - hash = "sha256-hwluSZGYRMN32dSLIe8Cs6l6R84V5fNCuHYtoc7+b00="; + hash = "sha256-NMSr5HJ/YvrqE8uVINzH0b9+U3snQGQYalSJ4bNRh1I="; }; nativeBuildInputs = [ unzip ]; diff --git a/pkgs/games/quake3/content/arena.nix b/pkgs/games/quake3/content/arena.nix new file mode 100644 index 000000000000..3d5b85717282 --- /dev/null +++ b/pkgs/games/quake3/content/arena.nix @@ -0,0 +1,65 @@ +{ + lib, + stdenv, + fetchzip, + requireFile, +}: + +let + version = "1.32c"; +in +stdenv.mkDerivation (finalAttrs: { + pname = "quake3arenadata"; + inherit version; + + src = requireFile rec { + name = "pak0.pk3"; + hash = "sha256-fOizkQYgzVCgnk8RAPQm6MYYD2iJXVifgOa9la9UvK4="; + message = '' + Quake 3 Arena requires the original ${name} file, from any legal source of the game. + + This could be an old CD-ROM you have lying around or you can try to buy the game. + + To my knowledge the Steam Quake-Collection-Package, is about the last legal way to get it. + + Please note, there are plenty of versions of this file online like: + + - https://github.com/nrempel/q3-server/raw/master/baseq3/pak0.pk3 + - https://archive.org/details/quake-3-arena + + However, none of these have the blessing of ID-Software and thus do not qualify. + + Once you download a version or checked your old CD-ROM, locate the ${name} file + inside the baseq3 folder and then run the following command on it: + + nix-prefetch-url file:///path/to/baseq3/${name} + ''; + }; + + buildCommand = '' + mkdir -p $out/baseq3 + echo 'wwwwwwwwwwwwwwww' > $out/baseq3/q3key + ln -s $src $out/baseq3/pak0.pk3 + ''; + + preferLocalBuild = true; + + meta = { + description = "Quake 3 Arena content"; + longDescription = '' + Quake III Arena and it's demo don't offer current wide screen resolutions in the menu. + + To switch to such a resolution, you will have to enter something like this in the quake console (invoke with ~ by default) + + r_mode -1; r_customwidth 2560; r_customheight 1440; r_fullscreen 1; vid_restart + + Or call the quake commandline with these parameters + + $ quake3 +set r_mode -1 +set r_customwidth 2560 +set r_customheight 1440 +set r_fullscreen 1 + ''; + homepage = "https://www.idsoftware.com/"; + license = lib.licenses.unfreeRedistributable; + platforms = lib.platforms.all; + maintainers = with lib.maintainers; [ abbradar ]; + }; +}) diff --git a/pkgs/games/quake3/content/demo.nix b/pkgs/games/quake3/content/demo.nix index 9b3b4d06245b..9be05d8b90bb 100644 --- a/pkgs/games/quake3/content/demo.nix +++ b/pkgs/games/quake3/content/demo.nix @@ -26,7 +26,19 @@ stdenv.mkDerivation { preferLocalBuild = true; meta = with lib; { - description = "Quake 3 Arena demo content"; + description = "Demo of Quake 3 Arena, a classic first-person shooter"; + longDescription = '' + Quake III Arena and it's demo don't offer current wide screen resolutions in the menu. + + To switch to such a resolution, you will have to enter something like this in the quake console (invoke with ~ by default) + + r_mode -1; r_customwidth 2560; r_customheight 1440; r_fullscreen 1; vid_restart + + Or call the quake commandline with these parameters + + $ quake3 +set r_mode -1 +set r_customwidth 2560 +set r_customheight 1440 +set r_fullscreen 1 + ''; + homepage = "https://www.idsoftware.com/"; license = licenses.unfreeRedistributable; platforms = platforms.all; maintainers = with maintainers; [ abbradar ]; diff --git a/pkgs/games/quake3/content/hires.nix b/pkgs/games/quake3/content/hires.nix index 2195e4131352..ec07228f03d1 100644 --- a/pkgs/games/quake3/content/hires.nix +++ b/pkgs/games/quake3/content/hires.nix @@ -2,11 +2,18 @@ stdenv, lib, fetchzip, + fetchurl, + fetchFromGitHub, + libarchive, }: -stdenv.mkDerivation { +stdenv.mkDerivation (finalAttrs: { pname = "quake3hires"; - version = "2020-01-20"; # Unknown version, used the date of web.archive.org capture. + version = "unstable-2020-01-20"; # Unknown version, used the date of web.archive.org capture. + + nativeBuildInputs = [ + libarchive + ]; src = fetchzip { url = "https://web.archive.org/web/20200120024216/http://ioquake3.org/files/xcsv_hires.zip"; @@ -14,9 +21,46 @@ stdenv.mkDerivation { stripRoot = false; }; + # https://www.moddb.com/mods/high-quality-quake + # TODO check if that file needs renaming to something that starts with z_* so it actually overrides anything in pak0.pk3 + extra-pack-resolution = fetchurl { + url = "https://web.archive.org/web/20250310093216/https://fmt3.dl.dbolical.com/dl/2018/11/06/q3a-hqq-v37.zip?st=0XzNnNvOYWrJAi_6AB3mKw==&e=1741602736"; + hash = "sha256-0nAXkrf4ahlct75TgO18PjuT9IkH8fpDhtTflJfPpPM="; + }; + # https://www.moddb.com/mods/cz45modbundle/addons/cz45-q3a-weapon-model-remake-v10 + # https://www.moddb.com/downloads/mirror/255463/130/9de70b5dc7ebb1baa44acf91458b04f9/ + # this is only part of the mod, only the weapons skins + # url = "https://github.com/diegoulloao/ioquake3-mac-install/raw/master/extras/hd-weapons.pk3"; + hd-weapons = fetchurl { + name = "czq3hdweaprem_v10.zip"; + url = "https://web.archive.org/web/20250310101737/https://fmt1.dl.dbolical.com/dl/2023/08/13/czq3hdweaprem_v10.zip?st=XBoRCpVmvTYtc60xxi36VQ==&e=1741605457"; + hash = "sha256-pL7MsEFsKJV+a+z45Ns16SPdQB3i2D6T3x7tBqWtm1s="; + }; + + # According to the @diegoulloao (see https://github.com/diegoulloao/ioquake3-mac-install/issues/23#issuecomment-2817031996) + # quake3-live-sounds.pk3 is likely a custom repack from https://www.moddb.com/addons/quake-live-announcers-pack + # zpack-weapons.pk3 is an amalgamation of multiple mods, where he can't recall which ones he used exactly. + # It still makes him the authorative source for these file. + ioquake3_mac = fetchFromGitHub { + owner = "diegoulloao"; + repo = "ioquake3-mac-install"; + rev = "3a767ff0131742ec517fd5f13ddca16dee91927d"; + hash = "sha256-uY3pybCnQ7lZatP3s9AiT779/4xj8N3R4qx8V6991aM="; + }; + buildCommand = '' mkdir -p $out/baseq3 install -Dm444 $src/xcsv_bq3hi-res.pk3 $out/baseq3/xcsv_bq3hi-res.pk3 + install -Dm444 ${finalAttrs.extra-pack-resolution} $out/baseq3/pak9hqq37test20181106.pk3 + + bsdunzip ${finalAttrs.hd-weapons} + install -Dm444 zzczhdwr1.pk3 $out/baseq3/zzczhdwr1.pk3 + # https://github.com/diegoulloao/ioquake3-mac-install takes only the first file, following his lead for now + # install -Dm444 zzczhdwr2.pk3 $out/baseq3/zzczhdwr2.pk3 + # install -Dm444 zzczhdwr3.pk3 $out/baseq3/zzczhdwr3.pk3 + + install -Dm444 ${finalAttrs.ioquake3_mac}/extras/quake3-live-sounds.pk3 $out/baseq3/quake3-live-sounds.pk3 + install -Dm444 ${finalAttrs.ioquake3_mac}/extras/zpack-weapons.pk3 $out/baseq3/zpack-weapons.pk3 ''; preferLocalBuild = true; @@ -27,4 +71,4 @@ stdenv.mkDerivation { platforms = platforms.all; maintainers = with maintainers; [ rvolosatovs ]; }; -} +}) diff --git a/pkgs/games/quake3/default.nix b/pkgs/games/quake3/default.nix new file mode 100644 index 000000000000..62f1dc055678 --- /dev/null +++ b/pkgs/games/quake3/default.nix @@ -0,0 +1,46 @@ +callPackage: rec { + # main entry point to create a runnable quake3 + quake3wrapper = callPackage ./wrapper { }; + + # data files + quake3arenadata = callPackage ./content/arena.nix { }; + quake3demodata = callPackage ./content/demo.nix { }; + quake3pointrelease = callPackage ./content/pointrelease.nix { }; + quake3hires = callPackage ./content/hires.nix { }; + + # runnable quakes with different configurations / mods + + quake3arena = quake3wrapper { + pname = "quake3"; + paks = [ + quake3arenadata + quake3pointrelease + ]; + }; + + quake3arena-hires = quake3wrapper { + pname = "quake3"; + paks = [ + quake3arenadata + quake3pointrelease + quake3hires + ]; + }; + + quake3demo = quake3wrapper { + pname = "quake3-demo"; + paks = [ + quake3demodata + quake3pointrelease + ]; + }; + + quake3demo-hires = quake3wrapper { + pname = "quake3-demo"; + paks = [ + quake3demodata + quake3pointrelease + quake3hires + ]; + }; +} diff --git a/pkgs/games/quake3/wrapper/default.nix b/pkgs/games/quake3/wrapper/default.nix index 15be84199b66..0a69a3ce39dc 100644 --- a/pkgs/games/quake3/wrapper/default.nix +++ b/pkgs/games/quake3/wrapper/default.nix @@ -9,7 +9,8 @@ { paks, - name ? (lib.head paks).name, + pname ? (lib.head paks).pname, + version ? (lib.head paks).version, description ? "", }: @@ -25,25 +26,52 @@ let in stdenv.mkDerivation { - name = "${name}-${ioquake3.name}"; + pname = "${pname}-${ioquake3.name}"; + inherit version; nativeBuildInputs = [ makeWrapper ]; - buildCommand = '' - mkdir -p $out/bin + buildCommand = + let + setBasepath = "+set fs_basepath ${env}"; + in + lib.optionalString stdenv.hostPlatform.isLinux '' + mkdir -p $out/bin - # We add Mesa to the end of $LD_LIBRARY_PATH to provide fallback - # software rendering. GCC is needed so that libgcc_s.so can be found - # when Mesa is used. - makeWrapper ${env}/bin/ioquake3* $out/bin/quake3 \ - --suffix-each LD_LIBRARY_PATH ':' "${libPath}" \ - --add-flags "+set fs_basepath ${env} +set r_allowSoftwareGL 1" + # We add Mesa to the end of $LD_LIBRARY_PATH to provide fallback + # software rendering. GCC is needed so that libgcc_s.so can be found + # when Mesa is used. + makeWrapper ${env}/bin/ioquake3 $out/bin/${pname} \ + --suffix-each LD_LIBRARY_PATH ':' "${libPath}" \ + --add-flags "${setBasepath} +set r_allowSoftwareGL 1" - makeWrapper ${env}/bin/ioq3ded* $out/bin/quake3-server \ - --add-flags "+set fs_basepath ${env}" - ''; + makeWrapper ${env}/bin/ioq3ded $out/bin/${pname}-server \ + --add-flags "${setBasepath}" + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir -p $out/Applications $out/bin + makeWrapper ${env}/bin/ioquake3 $out/bin/${pname} \ + --add-flags "${setBasepath}" + makeWrapper ${env}/bin/ioq3ded $out/bin/${pname}-server \ + --add-flags "${setBasepath}" + + cp -RL ${env}/Applications/ioquake3.app/ $out/Applications/${pname}.app + chmod -R +w $out/Applications/ + + wrapProgram $out/Applications/${pname}.app/Contents/MacOS/ioquake3 \ + --add-flags "${setBasepath}" + wrapProgram $out/Applications/${pname}.app/Contents/MacOS/ioq3ded \ + --add-flags "${setBasepath}" + ''; meta = { - inherit description; + mainProgram = "${pname}"; + inherit ((lib.head paks).meta) + description + longDescription + homepage + license + ; + inherit (ioquake3.meta) platforms; }; } diff --git a/pkgs/games/scummvm/default.nix b/pkgs/games/scummvm/default.nix index de9c03b89091..5cf9d4d00150 100644 --- a/pkgs/games/scummvm/default.nix +++ b/pkgs/games/scummvm/default.nix @@ -25,13 +25,13 @@ stdenv.mkDerivation rec { pname = "scummvm"; - version = "2.9.0"; + version = "2.9.1"; src = fetchFromGitHub { owner = "scummvm"; repo = "scummvm"; rev = "v${version}"; - hash = "sha256-4/h1bzauYWNvG7skn6afF79t0KEdgYLZoeqeqRudH7I="; + hash = "sha256-+MM47piuXuIBmAQd0g/cAg5t02qSQ0sw/DwFrMUSIAA="; }; nativeBuildInputs = [ nasm ]; diff --git a/pkgs/games/shattered-pixel-dungeon/default.nix b/pkgs/games/shattered-pixel-dungeon/default.nix index d5b64267d216..1711dfc6092c 100644 --- a/pkgs/games/shattered-pixel-dungeon/default.nix +++ b/pkgs/games/shattered-pixel-dungeon/default.nix @@ -6,13 +6,13 @@ callPackage ./generic.nix rec { pname = "shattered-pixel-dungeon"; - version = "3.0.2"; + version = "3.1.0"; src = fetchFromGitHub { owner = "00-Evan"; repo = "shattered-pixel-dungeon"; rev = "v${version}"; - hash = "sha256-tEgwB/YIhSpwUZrEC4Gw9+6lLllNK8JuTMNKgVzqv7c="; + hash = "sha256-BPZN163Opr2uKYckqlimizr0pIhmz4wUzI5r2aYzZFY="; }; depsPath = ./deps.json; diff --git a/pkgs/games/spring/default.nix b/pkgs/games/spring/default.nix index 410de8382c93..b2c127e188bc 100644 --- a/pkgs/games/spring/default.nix +++ b/pkgs/games/spring/default.nix @@ -98,7 +98,6 @@ stdenv.mkDerivation rec { license = licenses.gpl2Plus; maintainers = with maintainers; [ qknight - domenkozar sorki ]; platforms = [ "x86_64-linux" ]; diff --git a/pkgs/games/spring/springlobby.nix b/pkgs/games/spring/springlobby.nix index dc3ae4ef6d7a..c3194589ee26 100644 --- a/pkgs/games/spring/springlobby.nix +++ b/pkgs/games/spring/springlobby.nix @@ -74,7 +74,6 @@ stdenv.mkDerivation rec { license = licenses.gpl2Plus; maintainers = with maintainers; [ qknight - domenkozar ]; platforms = [ "i686-linux" diff --git a/pkgs/kde/default.nix b/pkgs/kde/default.nix index 14acfe0f2f7f..d10821d91da3 100644 --- a/pkgs/kde/default.nix +++ b/pkgs/kde/default.nix @@ -3,7 +3,6 @@ generateSplicesForMkScope, makeScopeWithSplicing', fetchurl, - libsForQt5, qt6Packages, cmark, gpgme, @@ -38,6 +37,8 @@ let inherit (v) version; } ) allUrls; + + debugAlias = set: lib.dontRecurseIntoAttrs (lib.filterAttrs (k: v: !v.meta.broken) set); in ( qt6Packages @@ -47,6 +48,11 @@ let // { inherit sources; + # Aliases to simplify test-building entire package sets + frameworks = debugAlias frameworks; + gear = debugAlias gear; + plasma = debugAlias plasma; + mkKdeDerivation = self.callPackage (import ./lib/mk-kde-derivation.nix self) { }; # THIRD PARTY @@ -62,9 +68,6 @@ let # Alias to match metadata kquickimageeditor = self.kquickimageedit; - # Alias because it's just data - plasma-wayland-protocols = libsForQt5.plasma-wayland-protocols; - selenium-webdriver-at-spi = null; # Used for integration tests that we don't run, stub alpaka = self.callPackage ./misc/alpaka { }; @@ -82,10 +85,12 @@ let oxygen-icons = self.callPackage ./misc/oxygen-icons { }; phonon = self.callPackage ./misc/phonon { }; phonon-vlc = self.callPackage ./misc/phonon-vlc { }; + plasma-wayland-protocols = self.callPackage ./misc/plasma-wayland-protocols { }; polkit-qt-1 = self.callPackage ./misc/polkit-qt-1 { }; pulseaudio-qt = self.callPackage ./misc/pulseaudio-qt { }; applet-window-buttons6 = self.callPackage ./third-party/applet-window-buttons6 { }; + dynamic-workspaces = self.callPackage ./third-party/dynamic-workspaces { }; karousel = self.callPackage ./third-party/karousel { }; koi = self.callPackage ./third-party/koi { }; krohnkite = self.callPackage ./third-party/krohnkite { }; diff --git a/pkgs/kde/frameworks/breeze-icons/default.nix b/pkgs/kde/frameworks/breeze-icons/default.nix index e01f7f6b1896..43dd077fe533 100644 --- a/pkgs/kde/frameworks/breeze-icons/default.nix +++ b/pkgs/kde/frameworks/breeze-icons/default.nix @@ -19,4 +19,7 @@ mkKdeDerivation { # lots of icons, takes forever, does absolutely nothing dontStrip = true; + + # known upstream issue: https://invent.kde.org/frameworks/breeze-icons/-/commit/135e59fb4395c1779a52ab113cc70f7baa53fd5d + dontCheckForBrokenSymlinks = true; } diff --git a/pkgs/kde/frameworks/extra-cmake-modules/default.nix b/pkgs/kde/frameworks/extra-cmake-modules/default.nix index d0b5c09a101d..83d91106b6a5 100644 --- a/pkgs/kde/frameworks/extra-cmake-modules/default.nix +++ b/pkgs/kde/frameworks/extra-cmake-modules/default.nix @@ -5,6 +5,10 @@ mkKdeDerivation { pname = "extra-cmake-modules"; + # Don't depend on qdoc (leaks everywhere, causes random cross issues), we don't install the docs anyway + # Upstream PR: https://invent.kde.org/frameworks/extra-cmake-modules/-/merge_requests/534 + patches = [ ./no-qdoc.patch ]; + outputs = [ "out" ]; # Packages that have an Android APK (e.g. KWeather) require Python3 at build time. diff --git a/pkgs/kde/frameworks/extra-cmake-modules/ecm-hook.sh b/pkgs/kde/frameworks/extra-cmake-modules/ecm-hook.sh index 10ec8fb85485..51152abbc3a9 100644 --- a/pkgs/kde/frameworks/extra-cmake-modules/ecm-hook.sh +++ b/pkgs/kde/frameworks/extra-cmake-modules/ecm-hook.sh @@ -104,10 +104,5 @@ ecmHostPathHook() { break fi done - - if [ -d "$1/share/dbus-1" ] - then - appendToVar propagatedUserEnvPkgs "$1" - fi } addEnvHooks "$hostOffset" ecmHostPathHook diff --git a/pkgs/kde/frameworks/extra-cmake-modules/no-qdoc.patch b/pkgs/kde/frameworks/extra-cmake-modules/no-qdoc.patch new file mode 100644 index 000000000000..aac013520510 --- /dev/null +++ b/pkgs/kde/frameworks/extra-cmake-modules/no-qdoc.patch @@ -0,0 +1,20 @@ +diff --git a/modules/ECMGenerateQDoc.cmake b/modules/ECMGenerateQDoc.cmake +index b6d64783314de790a5444c3c0d125b8e455883d9..68c570506fdc118ddef6249bce78051569298b4c 100644 +--- a/modules/ECMGenerateQDoc.cmake ++++ b/modules/ECMGenerateQDoc.cmake +@@ -55,8 +55,13 @@ add_custom_target(generate_qch) + add_custom_target(install_qch_docs) + + function(ecm_generate_qdoc target qdocconf_file) +- find_package(Qt6Tools CONFIG REQUIRED) +- find_package(Qt6 COMPONENTS ToolsTools CONFIG REQUIRED) ++ find_package(Qt6Tools CONFIG QUIET) ++ find_package(Qt6 OPTIONAL_COMPONENTS ToolsTools CONFIG QUIET) ++ ++ if (NOT Qt6Tools_FOUND OR NOT Qt6ToolsTools_FOUND) ++ message(STATUS "Qt6Tools or Qt6ToolsTools not found, not generating API documentation") ++ return() ++ endif() + + if (NOT TARGET ${target}) + message(FATAL_ERROR "${target} is not a target") diff --git a/pkgs/kde/frameworks/kapidox/default.nix b/pkgs/kde/frameworks/kapidox/default.nix index 8a79a0dde1fc..67f0842a7648 100644 --- a/pkgs/kde/frameworks/kapidox/default.nix +++ b/pkgs/kde/frameworks/kapidox/default.nix @@ -1,4 +1,7 @@ { mkKdeDerivation }: mkKdeDerivation { pname = "kapidox"; + + # doesn't actually install anything - good thing it's unused + meta.broken = true; } diff --git a/pkgs/kde/frameworks/kcoreaddons/default.nix b/pkgs/kde/frameworks/kcoreaddons/default.nix index 55189f9f544f..adeec792b9dd 100644 --- a/pkgs/kde/frameworks/kcoreaddons/default.nix +++ b/pkgs/kde/frameworks/kcoreaddons/default.nix @@ -7,6 +7,8 @@ mkKdeDerivation { pname = "kcoreaddons"; + hasPythonBindings = true; + extraNativeBuildInputs = [ qttools shared-mime-info diff --git a/pkgs/kde/frameworks/kguiaddons/default.nix b/pkgs/kde/frameworks/kguiaddons/default.nix index 7e664e9f70ad..4392d4ad5b44 100644 --- a/pkgs/kde/frameworks/kguiaddons/default.nix +++ b/pkgs/kde/frameworks/kguiaddons/default.nix @@ -7,6 +7,8 @@ mkKdeDerivation { pname = "kguiaddons"; + hasPythonBindings = true; + extraNativeBuildInputs = [ pkg-config ]; extraBuildInputs = [ qtwayland diff --git a/pkgs/kde/frameworks/kjobwidgets/default.nix b/pkgs/kde/frameworks/kjobwidgets/default.nix index b8b494310f45..4fd488aa5ad8 100644 --- a/pkgs/kde/frameworks/kjobwidgets/default.nix +++ b/pkgs/kde/frameworks/kjobwidgets/default.nix @@ -6,4 +6,8 @@ mkKdeDerivation { pname = "kjobwidgets"; extraNativeBuildInputs = [ qttools ]; + + # FIXME: depends on kcoreaddons typesystem info, we need + # a Shiboken wrapper to propagate this properly. + extraCmakeFlags = [ "-DBUILD_PYTHON_BINDINGS=OFF" ]; } diff --git a/pkgs/kde/frameworks/knotifications/default.nix b/pkgs/kde/frameworks/knotifications/default.nix index 08b8decea8f0..b331da36140f 100644 --- a/pkgs/kde/frameworks/knotifications/default.nix +++ b/pkgs/kde/frameworks/knotifications/default.nix @@ -7,6 +7,8 @@ mkKdeDerivation { pname = "knotifications"; + hasPythonBindings = true; + extraNativeBuildInputs = [ qttools ]; extraBuildInputs = [ qtdeclarative diff --git a/pkgs/kde/frameworks/kstatusnotifieritem/default.nix b/pkgs/kde/frameworks/kstatusnotifieritem/default.nix index e6845ef56985..422446630451 100644 --- a/pkgs/kde/frameworks/kstatusnotifieritem/default.nix +++ b/pkgs/kde/frameworks/kstatusnotifieritem/default.nix @@ -5,5 +5,7 @@ mkKdeDerivation { pname = "kstatusnotifieritem"; + hasPythonBindings = true; + extraNativeBuildInputs = [ qttools ]; } diff --git a/pkgs/kde/frameworks/kunitconversion/default.nix b/pkgs/kde/frameworks/kunitconversion/default.nix index 544aebb871f3..61c7b83f687a 100644 --- a/pkgs/kde/frameworks/kunitconversion/default.nix +++ b/pkgs/kde/frameworks/kunitconversion/default.nix @@ -1,4 +1,6 @@ { mkKdeDerivation }: mkKdeDerivation { pname = "kunitconversion"; + + hasPythonBindings = true; } diff --git a/pkgs/kde/frameworks/kwidgetsaddons/default.nix b/pkgs/kde/frameworks/kwidgetsaddons/default.nix index 00e9adca5b2f..65cc84cf938f 100644 --- a/pkgs/kde/frameworks/kwidgetsaddons/default.nix +++ b/pkgs/kde/frameworks/kwidgetsaddons/default.nix @@ -5,5 +5,7 @@ mkKdeDerivation { pname = "kwidgetsaddons"; + hasPythonBindings = true; + extraNativeBuildInputs = [ qttools ]; } diff --git a/pkgs/kde/frameworks/kxmlgui/default.nix b/pkgs/kde/frameworks/kxmlgui/default.nix index 3b93b5b35146..a1bed1f0bfbb 100644 --- a/pkgs/kde/frameworks/kxmlgui/default.nix +++ b/pkgs/kde/frameworks/kxmlgui/default.nix @@ -5,5 +5,7 @@ mkKdeDerivation { pname = "kxmlgui"; + hasPythonBindings = true; + extraBuildInputs = [ qttools ]; } diff --git a/pkgs/kde/gear/dragon/default.nix b/pkgs/kde/gear/dragon/default.nix index a825f60421b9..db28172a7dfe 100644 --- a/pkgs/kde/gear/dragon/default.nix +++ b/pkgs/kde/gear/dragon/default.nix @@ -1,5 +1,19 @@ -{ mkKdeDerivation }: +{ + mkKdeDerivation, + kconfigwidgets, + kparts, + kxmlgui, + phonon, +}: mkKdeDerivation { pname = "dragon"; + + extraBuildInputs = [ + kconfigwidgets + kparts + kxmlgui + phonon + ]; + meta.mainProgram = "dragon"; } diff --git a/pkgs/kde/gear/gwenview/default.nix b/pkgs/kde/gear/gwenview/default.nix index 71780b6bf9a7..68a93a36738b 100644 --- a/pkgs/kde/gear/gwenview/default.nix +++ b/pkgs/kde/gear/gwenview/default.nix @@ -3,6 +3,7 @@ qtsvg, qtwayland, qtimageformats, + phonon, pkg-config, cfitsio, exiv2, @@ -21,6 +22,8 @@ mkKdeDerivation { # adds support for webp and other image formats qtimageformats + phonon + cfitsio exiv2 baloo diff --git a/pkgs/kde/gear/juk/default.nix b/pkgs/kde/gear/juk/default.nix index c0bc805639a4..4ef36a9a6b14 100644 --- a/pkgs/kde/gear/juk/default.nix +++ b/pkgs/kde/gear/juk/default.nix @@ -1,6 +1,7 @@ { mkKdeDerivation, qtsvg, + phonon, taglib, }: mkKdeDerivation { @@ -8,7 +9,9 @@ mkKdeDerivation { extraBuildInputs = [ qtsvg + phonon taglib ]; + meta.mainProgram = "juk"; } diff --git a/pkgs/kde/gear/kasts/default.nix b/pkgs/kde/gear/kasts/default.nix index f95ea1c80892..3f7dc2de80cc 100644 --- a/pkgs/kde/gear/kasts/default.nix +++ b/pkgs/kde/gear/kasts/default.nix @@ -3,7 +3,7 @@ qtsvg, qtmultimedia, pkg-config, - taglib, + taglib_1, libvlc, }: mkKdeDerivation { @@ -13,7 +13,7 @@ mkKdeDerivation { extraBuildInputs = [ qtsvg qtmultimedia - taglib + taglib_1 libvlc ]; meta.mainProgram = "kasts"; diff --git a/pkgs/kde/gear/neochat/default.nix b/pkgs/kde/gear/neochat/default.nix index 56c96f2245ff..ed064857e5f9 100644 --- a/pkgs/kde/gear/neochat/default.nix +++ b/pkgs/kde/gear/neochat/default.nix @@ -2,7 +2,6 @@ mkKdeDerivation, qtlocation, qtwebview, - kunifiedpush, }: mkKdeDerivation { pname = "neochat"; @@ -10,7 +9,6 @@ mkKdeDerivation { extraBuildInputs = [ qtlocation qtwebview - kunifiedpush ]; meta.mainProgram = "neochat"; } diff --git a/pkgs/kde/generated/dependencies.json b/pkgs/kde/generated/dependencies.json index cadebb1f0d8c..a2a8f6c02a6d 100644 --- a/pkgs/kde/generated/dependencies.json +++ b/pkgs/kde/generated/dependencies.json @@ -49,6 +49,7 @@ "extra-cmake-modules", "grantleetheme", "kcodecs", + "kcolorscheme", "kcontacts", "kmime", "ktextaddons", @@ -251,8 +252,20 @@ "kcrash", "ki18n", "kirigami", + "kitemmodels", "knewstuff" ], + "atcore": [ + "extra-cmake-modules" + ], + "atelier": [ + "atcore", + "extra-cmake-modules", + "kconfig", + "ki18n", + "ktexteditor", + "kxmlgui" + ], "atlantik": [ "extra-cmake-modules", "kconfig", @@ -568,6 +581,19 @@ "ktextwidgets", "kwidgetsaddons" ], + "chessament": [ + "extra-cmake-modules", + "kconfig", + "kcoreaddons", + "ki18n", + "kiconthemes", + "kirigami", + "kirigami-addons", + "kitemmodels", + "qcoro", + "qqc2-desktop-style", + "qtkeychain" + ], "codevis": [ "extra-cmake-modules", "kcmutils", @@ -661,6 +687,7 @@ "kbookmarks", "kcmutils", "kcodecs", + "kcolorscheme", "kcompletion", "kconfig", "kcoreaddons", @@ -699,20 +726,12 @@ "dragon": [ "extra-cmake-modules", "kconfig", - "kconfigwidgets", "kcoreaddons", "kcrash", - "kdbusaddons", "kdoctools", "ki18n", "kio", - "kjobwidgets", - "kparts", - "kwidgetsaddons", - "kwindowsystem", - "kxmlgui", - "phonon", - "solid" + "kirigami" ], "drkonqi": [ "extra-cmake-modules", @@ -777,6 +796,7 @@ "extra-cmake-modules", "kcalendarcore", "kcalutils", + "kcolorscheme", "kdiagram", "kmime", "libkdepim" @@ -926,7 +946,6 @@ "kwindowsystem", "kxmlgui", "libkdcraw", - "phonon", "plasma-activities", "purpose", "wayland", @@ -1055,8 +1074,7 @@ "kwallet", "kwidgetsaddons", "kwindowsystem", - "kxmlgui", - "phonon" + "kxmlgui" ], "k3b": [ "extra-cmake-modules", @@ -1112,7 +1130,6 @@ "kio", "kservice", "kwidgetsaddons", - "kwindowsystem", "kxmlgui" ], "kaddressbook": [ @@ -1121,6 +1138,7 @@ "akonadi-search", "extra-cmake-modules", "grantleetheme", + "kcolorscheme", "kiconthemes", "kontactinterface", "kuserfeedback", @@ -2262,6 +2280,7 @@ ], "kgeotag": [ "extra-cmake-modules", + "kcolorscheme", "kconfigwidgets", "kcoreaddons", "kcrash", @@ -2476,6 +2495,7 @@ ], "kile": [ "extra-cmake-modules", + "kcolorscheme", "kconfig", "kcoreaddons", "kcrash", @@ -2716,6 +2736,7 @@ ], "kitinerary-workbench": [ "extra-cmake-modules", + "kcolorscheme", "kio", "kitinerary", "ktexteditor" @@ -2730,7 +2751,9 @@ "extra-cmake-modules", "kcoreaddons", "kcrash", - "ki18n" + "ki18n", + "kirigami", + "kirigami-addons" ], "kjumpingcube": [ "extra-cmake-modules", @@ -3251,6 +3274,7 @@ "kiconthemes", "kio", "kparts", + "ktexteditor", "kwindowsystem", "plasma-activities" ], @@ -3447,6 +3471,7 @@ ], "kphotoalbum": [ "karchive", + "kcolorscheme", "kcompletion", "kconfig", "kcoreaddons", @@ -3524,6 +3549,8 @@ "kpublictransport": [ "extra-cmake-modules", "ki18n", + "kirigami-addons", + "kitemmodels", "networkmanager-qt" ], "kqtquickcharts": [ @@ -3675,6 +3702,7 @@ "karchive", "kbookmarks", "kcodecs", + "kcolorscheme", "kcompletion", "kconfig", "kcoreaddons", @@ -3915,6 +3943,7 @@ "kiconthemes", "knotifications", "knotifyconfig", + "kstatusnotifieritem", "ktextwidgets", "kxmlgui" ], @@ -3940,6 +3969,7 @@ "extra-cmake-modules", "karchive", "kauth", + "kcolorscheme", "kconfig", "kguiaddons", "ki18n", @@ -3955,7 +3985,6 @@ ], "ktextwidgets": [ "extra-cmake-modules", - "kcolorscheme", "kcompletion", "kconfig", "ki18n", @@ -4105,7 +4134,8 @@ "kcmutils", "kcoreaddons", "ki18n", - "kservice" + "kservice", + "solid" ], "kunitconversion": [ "extra-cmake-modules", @@ -4214,10 +4244,12 @@ "extra-cmake-modules" ], "kwin": [ + "aurorae", "breeze", "breeze-icons", "extra-cmake-modules", "kcmutils", + "kcolorscheme", "kconfig", "kconfigwidgets", "kcoreaddons", @@ -4249,6 +4281,7 @@ "wayland-protocols" ], "kwin-x11": [ + "aurorae", "breeze", "breeze-icons", "extra-cmake-modules", @@ -4268,7 +4301,6 @@ "knewstuff", "knotifications", "kpackage", - "kpipewire", "kscreenlocker", "kservice", "ksvg", @@ -4555,6 +4587,7 @@ ], "lokalize": [ "extra-cmake-modules", + "kcolorscheme", "kconfig", "kcoreaddons", "kcrash", @@ -4586,6 +4619,7 @@ "extra-cmake-modules", "karchive", "kcodecs", + "kcolorscheme", "kmailtransport", "kmime", "libkdepim", @@ -4710,6 +4744,9 @@ "mauikit", "syntax-highlighting" ], + "mauiman": [ + "extra-cmake-modules" + ], "mbox-importer": [ "akonadi", "extra-cmake-modules", @@ -4806,6 +4843,7 @@ "kquickcharts", "kquickimageeditor", "kstatusnotifieritem", + "kunifiedpush", "kwindowsystem", "libquotient", "prison", @@ -5027,6 +5065,7 @@ "extra-cmake-modules", "kcalendarcore", "kcmutils", + "kcolorscheme", "kconfig", "kcontacts", "kcrash", @@ -5137,7 +5176,6 @@ "baloo", "breeze", "extra-cmake-modules", - "kaccounts-integration", "kactivitymanagerd", "kauth", "kcmutils", @@ -5380,6 +5418,7 @@ "kcompletion", "kconfig", "kcoreaddons", + "kcrash", "kdbusaddons", "ki18n", "kiconthemes", @@ -5493,6 +5532,7 @@ "kbookmarks", "kcmutils", "kcodecs", + "kcolorscheme", "kcompletion", "kconfig", "kconfigwidgets", @@ -5501,7 +5541,6 @@ "kdbusaddons", "kdeclarative", "kded", - "kdesu", "kfilemetadata", "kglobalaccel", "kglobalacceld", @@ -5607,6 +5646,7 @@ "kcrash", "kdbusaddons", "ki18n", + "knotifications", "kwindowsystem", "polkit-qt-1" ], @@ -5711,8 +5751,7 @@ "kcoreaddons", "kguiaddons", "kiconthemes", - "kirigami", - "kquickcharts" + "kirigami" ], "qqc2-desktop-style": [ "extra-cmake-modules", @@ -5798,6 +5837,7 @@ ], "rsibreak": [ "extra-cmake-modules", + "kcolorscheme", "kconfig", "kconfigwidgets", "kcoreaddons", @@ -6097,6 +6137,7 @@ "systemsettings": [ "extra-cmake-modules", "kcmutils", + "kcolorscheme", "kconfig", "kcrash", "kdbusaddons", @@ -6119,6 +6160,7 @@ ], "tellico": [ "extra-cmake-modules", + "kcolorscheme", "kconfig", "kconfigwidgets", "kcrash", @@ -6127,6 +6169,7 @@ "ki18n", "kiconthemes", "kio", + "kio-extras", "kitemmodels", "knewstuff", "kwidgetsaddons", @@ -6193,9 +6236,6 @@ "kconfig", "kcoreaddons", "kcrash", - "kdev-php", - "kdevelop", - "kdevelop-pg-qt", "kdoctools", "ki18n", "kiconthemes", @@ -6305,6 +6345,7 @@ "yakuake": [ "extra-cmake-modules", "karchive", + "kcolorscheme", "kconfig", "kcoreaddons", "kcrash", @@ -6334,5 +6375,5 @@ "kwindowsystem" ] }, - "version": "f0a9ee94" + "version": "53cdc203" } \ No newline at end of file diff --git a/pkgs/kde/generated/licenses.json b/pkgs/kde/generated/licenses.json index ac93447a1295..9a19e2020a8f 100644 --- a/pkgs/kde/generated/licenses.json +++ b/pkgs/kde/generated/licenses.json @@ -186,6 +186,11 @@ "LGPL-2.1-or-later", "LicenseRef-KDE-Accepted-GPL" ], + "aurorae": [ + "CC0-1.0", + "GPL-2.0-or-later", + "MIT" + ], "baloo": [ "BSD-3-Clause", "CC0-1.0", @@ -385,6 +390,7 @@ "GPL-2.0-only", "GPL-2.0-or-later", "GPL-3.0-only", + "LGPL-2.0-only", "LGPL-2.1-only", "LGPL-3.0-only", "LGPL-3.0-or-later", @@ -759,6 +765,7 @@ ], "kcolorscheme": [ "BSD-2-Clause", + "CC-BY-SA-4.0", "CC0-1.0", "LGPL-2.0-or-later", "LGPL-2.1-only", @@ -1203,7 +1210,10 @@ "Bison-exception-2.2", "CC0-1.0", "GPL-3.0-or-later", - "LGPL-2.0-or-later" + "LGPL-2.0-or-later", + "LGPL-2.1-only", + "LGPL-3.0-only", + "LicenseRef-KDE-Accepted-LGPL" ], "ki18n": [ "BSD-3-Clause", @@ -1402,9 +1412,13 @@ "ODbL-1.0" ], "kjobwidgets": [ + "BSD-2-Clause", "CC0-1.0", "LGPL-2.0-only", - "LGPL-2.0-or-later" + "LGPL-2.0-or-later", + "LGPL-2.1-only", + "LGPL-3.0-only", + "LicenseRef-KDE-Accepted-LGPL" ], "kjournald": [ "BSD-3-Clause", @@ -1840,6 +1854,7 @@ ], "krunner": [ "BSD-2-Clause", + "CC-BY-SA-4.0", "CC0-1.0", "LGPL-2.0-or-later", "LGPL-2.1-only", @@ -2044,10 +2059,12 @@ "kwallet": [ "BSD-3-Clause", "CC0-1.0", + "GPL-3.0-only", "LGPL-2.0-only", "LGPL-2.0-or-later", "LGPL-2.1-or-later", - "LGPL-3.0-or-later" + "LGPL-3.0-or-later", + "LicenseRef-KDE-Accepted-GPL" ], "kwallet-pam": [ "BSD-3-Clause", @@ -2124,6 +2141,22 @@ "LicenseRef-KDE-Accepted-LGPL", "MIT" ], + "kwin-x11": [ + "BSD-2-Clause", + "BSD-3-Clause", + "CC0-1.0", + "GPL-2.0-only", + "GPL-2.0-or-later", + "GPL-3.0-only", + "LGPL-2.0-only", + "LGPL-2.0-or-later", + "LGPL-2.1-only", + "LGPL-2.1-or-later", + "LGPL-3.0-only", + "LicenseRef-KDE-Accepted-GPL", + "LicenseRef-KDE-Accepted-LGPL", + "MIT" + ], "kwindowsystem": [ "CC0-1.0", "LGPL-2.0-or-later", @@ -2260,7 +2293,6 @@ "BSD-3-Clause", "CC0-1.0", "GPL-2.0-only", - "GPL-2.0-or-later", "GPL-3.0-only", "LGPL-2.0-or-later", "LGPL-2.1-only", @@ -2628,7 +2660,6 @@ ], "plasma-mobile": [ "Apache-2.0", - "BSD-3-Clause", "CC0-1.0", "GPL-2.0-only", "GPL-2.0-or-later", @@ -2645,10 +2676,10 @@ "plasma-nano": [ "CC0-1.0", "GPL-2.0-or-later", - "LGPL-2.0-or-later", - "MIT" + "LGPL-2.0-or-later" ], "plasma-nm": [ + "BSD-2-Clauses", "CC0-1.0", "GPL-2.0-only", "GPL-2.0-or-later", @@ -2702,6 +2733,7 @@ "LicenseRef-KDE-Accepted-GPL" ], "plasma-vault": [ + "BSD-3-Clause", "CC0-1.0", "GPL-2.0-only", "GPL-3.0-only", diff --git a/pkgs/kde/generated/projects.json b/pkgs/kde/generated/projects.json index 9192503d8952..85743e9111dc 100644 --- a/pkgs/kde/generated/projects.json +++ b/pkgs/kde/generated/projects.json @@ -8,7 +8,7 @@ "abakus": { "description": "Simple, keyboard-driven calculator", "name": "abakus", - "project_path": "playground/utils/abakus", + "project_path": "utils/abakus", "repo_path": "utilities/abakus" }, "about-distro": { @@ -20,7 +20,7 @@ "accessibility-inspector": { "description": "Inspect your application accessibility tree", "name": "accessibility-inspector", - "project_path": "extragear/accessibility/accessibility-inspector", + "project_path": "accessibility/accessibility-inspector", "repo_path": "accessibility/accessibility-inspector" }, "accounts-qt": { @@ -56,37 +56,37 @@ "akonadi": { "description": "Cross-desktop storage service for PIM data providing concurrent access", "name": "akonadi", - "project_path": "kde/pim/akonadi", + "project_path": "pim/akonadi", "repo_path": "pim/akonadi" }, "akonadi-airsync": { "description": "Akonadi Resource to download emails from MS Exchange servers", "name": "akonadi-airsync", - "project_path": "playground/pim/akonadi-airsync", + "project_path": "pim/akonadi-airsync", "repo_path": "pim/akonadi-airsync" }, "akonadi-calendar": { "description": "Akonadi calendar integration", "name": "akonadi-calendar", - "project_path": "kde/pim/akonadi-calendar", + "project_path": "pim/akonadi-calendar", "repo_path": "pim/akonadi-calendar" }, "akonadi-calendar-tools": { "description": "Console applications and utilities for managing calendars in Akonadi", "name": "akonadi-calendar-tools", - "project_path": "kde/pim/akonadi-calendar-tools", + "project_path": "pim/akonadi-calendar-tools", "repo_path": "pim/akonadi-calendar-tools" }, "akonadi-contacts": { "description": "Libraries and daemons to implement Contact Management in Akonadi", "name": "akonadi-contacts", - "project_path": "kde/pim/akonadi-contacts", + "project_path": "pim/akonadi-contacts", "repo_path": "pim/akonadi-contacts" }, "akonadi-exchange": { "description": "Akonadi plugin for Exchange groupware functionality", "name": "akonadi-exchange", - "project_path": "playground/pim/akonadi-exchange", + "project_path": "pim/akonadi-exchange", "repo_path": "pim/akonadi-exchange" }, "akonadi-facebook": { @@ -116,31 +116,31 @@ "akonadi-import-wizard": { "description": "Assistant to import external PIM data into Akonadi for use in KDE PIM apps", "name": "akonadi-import-wizard", - "project_path": "kde/pim/akonadi-import-wizard", + "project_path": "pim/akonadi-import-wizard", "repo_path": "pim/akonadi-import-wizard" }, "akonadi-mime": { "description": "Helpers to make working with emails through Akonadi easier", "name": "akonadi-mime", - "project_path": "kde/pim/akonadi-mime", + "project_path": "pim/akonadi-mime", "repo_path": "pim/akonadi-mime" }, "akonadi-notes": { "description": "Libraries and daemons to implement note management in Akonadi", "name": "akonadi-notes", - "project_path": "kde/pim/akonadi-notes", + "project_path": "pim/akonadi-notes", "repo_path": "pim/akonadi-notes" }, "akonadi-phabricator-resource": { "description": "Synchronize your Phabricator tasks with KOrganizer", "name": "akonadi-phabricator-resource", - "project_path": "playground/pim/akonadi-phabricator-resource", + "project_path": "pim/akonadi-phabricator-resource", "repo_path": "pim/akonadi-phabricator-resource" }, "akonadi-search": { "description": "Libraries and daemons to implement searching in Akonadi", "name": "akonadi-search", - "project_path": "kde/pim/akonadi-search", + "project_path": "pim/akonadi-search", "repo_path": "pim/akonadi-search" }, "akonadi-sugarcrm": { @@ -158,19 +158,19 @@ "akonadiclient": { "description": "Command-line interface to Akonadi", "name": "akonadiclient", - "project_path": "playground/pim/akonadiclient", + "project_path": "pim/akonadiclient", "repo_path": "pim/akonadiclient" }, "akonadiconsole": { "description": "Application for debugging Akonadi Resources", "name": "akonadiconsole", - "project_path": "kde/pim/akonadiconsole", + "project_path": "pim/akonadiconsole", "repo_path": "pim/akonadiconsole" }, "akregator": { "description": "RSS Feed Reader", "name": "akregator", - "project_path": "kde/pim/akregator", + "project_path": "pim/akregator", "repo_path": "pim/akregator" }, "akunambol": { @@ -182,43 +182,43 @@ "alkimia": { "description": "Library used by KDE finance applications", "name": "alkimia", - "project_path": "extragear/office/alkimia", + "project_path": "office/alkimia", "repo_path": "office/alkimia" }, "alligator": { "description": "Kirigami-based RSS reader", "name": "alligator", - "project_path": "extragear/network/alligator", + "project_path": "network/alligator", "repo_path": "network/alligator" }, "alpaka": { "description": "Kirigami client for Ollama", "name": "alpaka", - "project_path": "playground/utils/alpaka", + "project_path": "utils/alpaka", "repo_path": "utilities/alpaka" }, "amarok": { "description": "Powerful music player that lets you rediscover your music", "name": "amarok", - "project_path": "extragear/multimedia/amarok", + "project_path": "multimedia/amarok", "repo_path": "multimedia/amarok" }, "amarok-history": { "description": "Amarok history", "name": "amarok-history", - "project_path": "extragear/multimedia/amarok/amarok-history", + "project_path": "multimedia/amarok/amarok-history", "repo_path": "historical/amarok-history" }, "amor": { "description": "Amusing Misuse of Resources animation that sits on top of the curent window.", "name": "amor", - "project_path": "playground/games/amor", + "project_path": "games/amor", "repo_path": "games/amor" }, "analitza": { "description": "Library that lets you add mathematical features to your program", "name": "analitza", - "project_path": "kde/kdeedu/analitza", + "project_path": "kdeedu/analitza", "repo_path": "education/analitza" }, "android-builder": { @@ -266,19 +266,19 @@ "angelfish": { "description": "Web browser for Plasma Mobile", "name": "angelfish", - "project_path": "extragear/base/angelfish", + "project_path": "base/angelfish", "repo_path": "network/angelfish" }, "apper": { "description": "Package management application using PackageKit", "name": "apper", - "project_path": "extragear/sysadmin/apper", + "project_path": "sysadmin/apper", "repo_path": "system/apper" }, "appimage-packaging": { "description": "Recipes and other materials needed to create application AppImages", "name": "appimage-packaging", - "project_path": "playground/packaging/appimage-packaging", + "project_path": "packaging/appimage-packaging", "repo_path": "packaging/appimage-packaging" }, "appmenu-runner": { @@ -302,37 +302,37 @@ "arca": { "description": "Maui Archiver for compressed files", "name": "arca", - "project_path": "playground/base/arca", + "project_path": "base/arca", "repo_path": "maui/arca" }, "arianna": { "description": "EPub Reader for mobile devices", "name": "arianna", - "project_path": "extragear/graphics/arianna", + "project_path": "graphics/arianna", "repo_path": "graphics/arianna" }, "ark": { "description": "File archiver by KDE", "name": "ark", - "project_path": "kde/kdeutils/ark", + "project_path": "kdeutils/ark", "repo_path": "utilities/ark" }, "arkade": { "description": "Collection of Arcade games developed in Kirigami", "name": "arkade", - "project_path": "playground/games/arkade", + "project_path": "games/arkade", "repo_path": "games/arkade" }, "artikulate": { "description": "Pronunciation trainer to improve your skills by listening to native speakers", "name": "artikulate", - "project_path": "kde/kdeedu/artikulate", + "project_path": "kdeedu/artikulate", "repo_path": "education/artikulate" }, "artikulate-data": { "description": "Artikulate course data files", "name": "artikulate-data", - "project_path": "playground/edu/artikulate-data", + "project_path": "edu/artikulate-data", "repo_path": "education/artikulate-data" }, "assemblygen": { @@ -344,31 +344,31 @@ "asynqt": { "description": "Framework which provides convenience methods that make QFuture actually useful", "name": "asynqt", - "project_path": "playground/libs/asynqt", + "project_path": "libs/asynqt", "repo_path": "libraries/asynqt" }, "atcore": { "description": "Library for connection and management of 3D printers (Atelier Core)", "name": "atcore", - "project_path": "extragear/base/atcore", + "project_path": "base/atcore", "repo_path": "libraries/atcore" }, "atcore-cli": { "description": "Open Source 3D Printing Host - CLI Interface", "name": "atcore-cli", - "project_path": "playground/base/atcore-cli", + "project_path": "base/atcore-cli", "repo_path": "utilities/atcore-cli" }, "atelier": { "description": "Desktop interface to control 3D printers powered by AtCore", "name": "atelier", - "project_path": "playground/base/atelier", + "project_path": "base/atelier", "repo_path": "utilities/atelier" }, "atlantik": { "description": "Atlantik Game", "name": "atlantik", - "project_path": "playground/games/atlantik", + "project_path": "games/atlantik", "repo_path": "games/atlantik" }, "attica": { @@ -380,31 +380,31 @@ "audex": { "description": "Tool for ripping compact discs", "name": "audex", - "project_path": "playground/multimedia/audex", + "project_path": "multimedia/audex", "repo_path": "multimedia/audex" }, "audiocd-kio": { "description": "KIO worker for accessing audio CDs", "name": "audiocd-kio", - "project_path": "kde/kdemultimedia/audiocd-kio", + "project_path": "kdemultimedia/audiocd-kio", "repo_path": "multimedia/audiocd-kio" }, "audiotube": { "description": "Client for YouTube Music", "name": "audiotube", - "project_path": "extragear/multimedia/audiotube", + "project_path": "multimedia/audiotube", "repo_path": "multimedia/audiotube" }, "aura-browser": { "description": "Browser for a fully immersed Big Screen experience allowing you to navigate the world wide web using just your remote control", "name": "aura-browser", - "project_path": "kde/workspace/aura-browser", + "project_path": "workspace/aura-browser", "repo_path": "plasma/aura-browser" }, "aurorae": { "description": "Aurorae is a themeable window decoration for KWin", "name": "aurorae", - "project_path": "playground/base/aurorae", + "project_path": "base/aurorae", "repo_path": "plasma/aurorae" }, "automoc": { @@ -428,55 +428,55 @@ "baloo-widgets": { "description": "Widgets for Baloo", "name": "baloo-widgets", - "project_path": "kde/applications/baloo-widgets", + "project_path": "applications/baloo-widgets", "repo_path": "libraries/baloo-widgets" }, "bangarang": { - "description": "", + "description": "Bangarang application", "name": "bangarang", - "project_path": "playground/multimedia/bangarang", + "project_path": "multimedia/bangarang", "repo_path": "unmaintained/bangarang" }, "basket": { "description": "Notes and to-dos organizer", "name": "basket", - "project_path": "playground/utils/basket", + "project_path": "utils/basket", "repo_path": "utilities/basket" }, "bigscreen-application-launcher-skill": { "description": "Voice application launcher skill for Plasma Bigscreen", "name": "bigscreen-application-launcher-skill", - "project_path": "playground/utils/bigscreen-application-launcher-skill", + "project_path": "utils/bigscreen-application-launcher-skill", "repo_path": "plasma-bigscreen/bigscreen-application-launcher-skill" }, "bigscreen-debos-image-rpi4": { "description": "Recipes and other materials needed to build a Plasma Bigscreen image for Raspberry Pi4 devices, using DebOS", "name": "bigscreen-debos-image-rpi4", - "project_path": "playground/utils/bigscreen-debos-image-rpi4", + "project_path": "utils/bigscreen-debos-image-rpi4", "repo_path": "plasma-bigscreen/bigscreen-debos-image-rpi4" }, "bigscreen-image-settings": { "description": "Recipes and other materials needed to build Plasma Bigscreen images", "name": "bigscreen-image-settings", - "project_path": "playground/utils/bigscreen-image-settings", + "project_path": "utils/bigscreen-image-settings", "repo_path": "plasma-bigscreen/bigscreen-image-settings" }, "bigscreen-platform-skill": { "description": "Platform control skill for Plasma Bigscreen, providing Window Management Features for Voice Applications on Bigscreen Platform", "name": "bigscreen-platform-skill", - "project_path": "playground/utils/bigscreen-platform-skill", + "project_path": "utils/bigscreen-platform-skill", "repo_path": "plasma-bigscreen/bigscreen-platform-skill" }, "binschema": { "description": "Code generator that produces code to read Microsoft Office files", "name": "binschema", - "project_path": "playground/libs/binschema", + "project_path": "libs/binschema", "repo_path": "libraries/binschema" }, "blinken": { "description": "Memory Enhancement Game", "name": "blinken", - "project_path": "kde/kdeedu/blinken", + "project_path": "kdeedu/blinken", "repo_path": "education/blinken" }, "blogilo": { @@ -488,7 +488,7 @@ "bluedevil": { "description": "Bluedevil adds Bluetooth capabilities to KDE Plasma", "name": "bluedevil", - "project_path": "kde/workspace/bluedevil", + "project_path": "workspace/bluedevil", "repo_path": "plasma/bluedevil" }, "bluez-qt": { @@ -524,13 +524,13 @@ "bomber": { "description": "Bomber is a single player arcade game", "name": "bomber", - "project_path": "kde/kdegames/bomber", + "project_path": "kdegames/bomber", "repo_path": "games/bomber" }, "bonsai": { "description": "Mobile Git repository manager", "name": "bonsai", - "project_path": "playground/base/bonsai", + "project_path": "base/bonsai", "repo_path": "maui/bonsai" }, "bookmanager": { @@ -542,25 +542,25 @@ "bovo": { "description": "Bovo is a Gomoku like game for two players", "name": "bovo", - "project_path": "kde/kdegames/bovo", + "project_path": "kdegames/bovo", "repo_path": "games/bovo" }, "breeze": { "description": "Artwork, styles and assets for the Breeze visual style for the Plasma Desktop", "name": "breeze", - "project_path": "kde/workspace/breeze", + "project_path": "workspace/breeze", "repo_path": "plasma/breeze" }, "breeze-grub": { "description": "GRUB theme for the Breeze visual style for the Plasma Desktop", "name": "breeze-grub", - "project_path": "kde/workspace/breeze-grub", + "project_path": "workspace/breeze-grub", "repo_path": "plasma/breeze-grub" }, "breeze-gtk": { "description": "Breeze widget theme for GTK 2 and 3", "name": "breeze-gtk", - "project_path": "kde/workspace/breeze-gtk", + "project_path": "workspace/breeze-gtk", "repo_path": "plasma/breeze-gtk" }, "breeze-icons": { @@ -572,19 +572,19 @@ "breeze-plymouth": { "description": "Plymouth theme for the Breeze visual style for the Plasma Desktop", "name": "breeze-plymouth", - "project_path": "kde/workspace/breeze-plymouth", + "project_path": "workspace/breeze-plymouth", "repo_path": "plasma/breeze-plymouth" }, "brio": { "description": "Application for creating animations in Inkscape", "name": "brio", - "project_path": "playground/graphics/brio", + "project_path": "graphics/brio", "repo_path": "graphics/brio" }, "brooklyn": { "description": "Protocol independent software which forwards messages between various chat services.", "name": "brooklyn", - "project_path": "playground/utils/brooklyn", + "project_path": "utils/brooklyn", "repo_path": "unmaintained/brooklyn" }, "brprint3d": { @@ -596,13 +596,13 @@ "brun": { "description": "Maui Calculator app", "name": "brun", - "project_path": "playground/base/brun", + "project_path": "base/brun", "repo_path": "maui/brun" }, "buho": { "description": "Task and Note Keeper", "name": "buho", - "project_path": "playground/base/buho", + "project_path": "base/buho", "repo_path": "maui/buho" }, "cagibi": { @@ -614,19 +614,19 @@ "calamares-bigscreen-branding": { "description": "Plasma Bigscreen branding and customization for Calamares", "name": "calamares-bigscreen-branding", - "project_path": "playground/utils/calamares-bigscreen-branding", + "project_path": "utils/calamares-bigscreen-branding", "repo_path": "plasma-bigscreen/calamares-bigscreen-branding" }, "calendarsupport": { "description": "Library that provides calendar support for PIM", "name": "calendarsupport", - "project_path": "kde/pim/calendarsupport", + "project_path": "pim/calendarsupport", "repo_path": "pim/calendarsupport" }, "calindori": { "description": "Calendar for Plasma Mobile", "name": "calindori", - "project_path": "extragear/pim/calindori", + "project_path": "pim/calindori", "repo_path": "plasma-mobile/calindori" }, "calligra": { @@ -650,29 +650,35 @@ "cantor": { "description": "Front end to powerful mathematics and statistics packages", "name": "cantor", - "project_path": "kde/kdeedu/cantor", + "project_path": "kdeedu/cantor", "repo_path": "education/cantor" }, "cervisia": { "description": "GUI for CVS", "name": "cervisia", - "project_path": "kde/kdesdk/cervisia", + "project_path": "kdesdk/cervisia", "repo_path": "sdk/cervisia" }, + "chessament": { + "description": "Chess tournament manager", + "name": "chessament", + "project_path": "games/chessament", + "repo_path": "games/chessament" + }, "chocolatey-packaging": { "description": "Packaging information necessary to generate Chocolatey.org packages", "name": "chocolatey-packaging", - "project_path": "playground/devtools/chocolatey-packaging", + "project_path": "devtools/chocolatey-packaging", "repo_path": "packaging/chocolatey-packaging" }, "choqok": { "description": "Microblogging client by KDE", "name": "choqok", - "project_path": "extragear/network/choqok", + "project_path": "network/choqok", "repo_path": "network/choqok" }, "cirkuit": { - "description": "KDE interface for LaTeX graphic tools (such as TikZ, Gnuplot, Circuit Macros) to produce publication-ready pictures.\n\nPlease use \"bugs.kde.org\":https://bugs.kde.org/wizard.cgi?package=cirkuit&kbugreport=1 to file bug reports and wishes.", + "description": "KDE interface for LaTeX graphic tools (such as TikZ, Gnuplot, Circuit Macros) to produce publication-ready pictures", "name": "cirkuit", "project_path": "unmaintained/cirkuit", "repo_path": "unmaintained/cirkuit" @@ -680,7 +686,7 @@ "clazy": { "description": "Qt-oriented static code analyzer based on the Clang framework", "name": "clazy", - "project_path": "extragear/sdk/clazy", + "project_path": "sdk/clazy", "repo_path": "sdk/clazy" }, "cmark": { @@ -692,19 +698,19 @@ "cmetronome": { "description": "Command line metronome", "name": "cmetronome", - "project_path": "playground/utils/cmetronome", + "project_path": "utils/cmetronome", "repo_path": "unmaintained/cmetronome" }, "cocoon": { "description": "A GUI for Git.", "name": "cocoon", - "project_path": "playground/sdk/cocoon", + "project_path": "sdk/cocoon", "repo_path": "unmaintained/cocoon" }, "codevis": { "description": "Codevis is an analysis and visualization tool designed to assist in code maintenance for C++ codebases.", "name": "codevis", - "project_path": "playground/sdk/codevis", + "project_path": "sdk/codevis", "repo_path": "sdk/codevis" }, "colibri": { @@ -716,13 +722,13 @@ "colord-kde": { "description": "Provides interfaces and session daemon to colord", "name": "colord-kde", - "project_path": "playground/graphics/colord-kde", + "project_path": "graphics/colord-kde", "repo_path": "graphics/colord-kde" }, "confine": { "description": "Replacement to the KIOSK tool", "name": "confine", - "project_path": "playground/utils/confine", + "project_path": "utils/confine", "repo_path": "utilities/confine" }, "conquirere": { @@ -764,19 +770,19 @@ "croutons": { "description": "Library for asynchronous Qt, including QML-friendly futures and C++20 coroutine integration", "name": "croutons", - "project_path": "extragear/libs/croutons", + "project_path": "libs/croutons", "repo_path": "libraries/croutons" }, "crow-translate": { "description": "Application that allows you to translate and speak text", "name": "crow-translate", - "project_path": "kde/office/crow-translate", + "project_path": "office/crow-translate", "repo_path": "office/crow-translate" }, "cutehmi": { "description": "Open-source HMI (Human Machine Interface) software written in C++ and QML", "name": "cutehmi", - "project_path": "playground/base/cutehmi", + "project_path": "base/cutehmi", "repo_path": "sdk/cutehmi" }, "cutepaste": { @@ -788,19 +794,19 @@ "cxx-kde-frameworks": { "description": "Extension Crate for cxx-qt which allows the use of KDE Frameworks in Rust software", "name": "cxx-kde-frameworks", - "project_path": "playground/libs/cxx-kde-frameworks", + "project_path": "libs/cxx-kde-frameworks", "repo_path": "libraries/cxx-kde-frameworks" }, "cxx11-cmake-modules": { "description": "CMake modules for detecting C++11 features supported by the compiler", "name": "cxx11-cmake-modules", - "project_path": "playground/base/cxx11-cmake-modules", + "project_path": "base/cxx11-cmake-modules", "repo_path": "libraries/cxx11-cmake-modules" }, "daykountdown": { "description": "A simple date countdown app written for KDE Plasma, using Kirigami.", "name": "daykountdown", - "project_path": "playground/utilities/daykountdown", + "project_path": "utilities/daykountdown", "repo_path": "utilities/daykountdown" }, "declarative-plasmoids": { @@ -818,19 +824,19 @@ "dferry": { "description": "D-Bus library and tools", "name": "dferry", - "project_path": "playground/sdk/dferry", + "project_path": "sdk/dferry", "repo_path": "sdk/dferry" }, "digikam": { "description": "digiKam is an advanced open-source digital photo management application that runs on Linux, Windows, and MacOS. The application provides a comprehensive set of tools for importing, managing, editing, and sharing photos and raw files.", "name": "digikam", - "project_path": "extragear/graphics/digikam", + "project_path": "graphics/digikam", "repo_path": "graphics/digikam" }, "digikam-doc": { "description": "Documentation for the digiKam photo management application", "name": "digikam-doc", - "project_path": "extragear/graphics/digikam/digikam-doc", + "project_path": "graphics/digikam/digikam-doc", "repo_path": "documentation/digikam-doc" }, "digikam-software-compilation": { @@ -842,25 +848,25 @@ "digikam-test-data": { "description": "Data required to support running unit tests for digiKam", "name": "digikam-test-data", - "project_path": "extragear/graphics/digikam-test-data", + "project_path": "graphics/digikam-test-data", "repo_path": "graphics/digikam-test-data" }, "discover": { "description": "Helps you find and install applications, games, and tools", "name": "discover", - "project_path": "kde/workspace/discover", + "project_path": "workspace/discover", "repo_path": "plasma/discover" }, "distro-release-notifier": { - "description": "", + "description": "Distribution release notifier", "name": "distro-release-notifier", - "project_path": "playground/base/distro-release-notifier", + "project_path": "base/distro-release-notifier", "repo_path": "system/distro-release-notifier" }, "docker-neon-all": { "description": "Docker packaging environment for KDE Neon, including everything", "name": "docker-neon-all", - "project_path": "playground/packaging/docker-neon-all", + "project_path": "packaging/docker-neon-all", "repo_path": "packaging/docker-neon-all" }, "documentation-develop-kde-org": { @@ -876,7 +882,7 @@ "repo_path": "documentation/docs-kdenlive-org" }, "documentation-docs-krita-org": { - "description": "The Krita Manual. Built with Sphinx by Jenkins, available online at https://docs.krita.org\r\n\r\nCheck the krita_manual_readme.rst on how to help us!", + "description": "The Krita Manual available online at https://docs.krita.org", "name": "documentation-docs-krita-org", "project_path": "documentation/docs-krita-org", "repo_path": "documentation/docs-krita-org" @@ -914,37 +920,37 @@ "dolphin": { "description": "File manager by KDE", "name": "dolphin", - "project_path": "kde/applications/dolphin", + "project_path": "applications/dolphin", "repo_path": "system/dolphin" }, "dolphin-plugins": { "description": "Plugins for Dolphin", "name": "dolphin-plugins", - "project_path": "kde/kdesdk/dolphin-plugins", + "project_path": "kdesdk/dolphin-plugins", "repo_path": "sdk/dolphin-plugins" }, "doxyqml": { "description": "Doxygen filter to allow generation of API Documentation for QML", "name": "doxyqml", - "project_path": "playground/sdk/doxyqml", + "project_path": "sdk/doxyqml", "repo_path": "sdk/doxyqml" }, "dragon": { "description": "Multimedia player with the focus on simplicity, not features", "name": "dragon", - "project_path": "kde/kdemultimedia/dragon", + "project_path": "kdemultimedia/dragon", "repo_path": "multimedia/dragon" }, "drkonqi": { "description": "Crash handler for KDE software", "name": "drkonqi", - "project_path": "kde/workspace/drkonqi", + "project_path": "workspace/drkonqi", "repo_path": "plasma/drkonqi" }, "drkonqi-pk-debug-installer": { "description": "PackageKit based debug package installer (for debian-like distros) for DrKonqi", "name": "drkonqi-pk-debug-installer", - "project_path": "playground/base/drkonqi-pk-debug-installer", + "project_path": "base/drkonqi-pk-debug-installer", "repo_path": "system/drkonqi-pk-debug-installer" }, "dummy": { @@ -962,19 +968,19 @@ "elf-dissector": { "description": "Tools for inspecting, analyzing and optimizing ELF files", "name": "elf-dissector", - "project_path": "extragear/sdk/elf-dissector", + "project_path": "sdk/elf-dissector", "repo_path": "sdk/elf-dissector" }, "elisa": { "description": "Simple music player aiming to provide a nice experience for its users", "name": "elisa", - "project_path": "kde/kdemultimedia/elisa", + "project_path": "kdemultimedia/elisa", "repo_path": "multimedia/elisa" }, "eloquens": { "description": "Generate the lorem ipsum text", "name": "eloquens", - "project_path": "kdereview/eloquens", + "project_path": "eloquens", "repo_path": "sdk/eloquens" }, "emerge": { @@ -992,7 +998,7 @@ "eventviews": { "description": "Library for displaying and creating events and calendars", "name": "eventviews", - "project_path": "kde/pim/eventviews", + "project_path": "pim/eventviews", "repo_path": "pim/eventviews" }, "extra-cmake-modules": { @@ -1010,43 +1016,43 @@ "falkon": { "description": "Cross-platform Qt-based web browser", "name": "falkon", - "project_path": "extragear/network/falkon", + "project_path": "network/falkon", "repo_path": "network/falkon" }, "ffmpegthumbs": { "description": "FFmpeg-based thumbnail creator for video files", "name": "ffmpegthumbs", - "project_path": "kde/kdemultimedia/ffmpegthumbs", + "project_path": "kdemultimedia/ffmpegthumbs", "repo_path": "multimedia/ffmpegthumbs" }, "fielding": { "description": "A simple REST API testing tool", "name": "fielding", - "project_path": "playground/utils/fielding", + "project_path": "utils/fielding", "repo_path": "utilities/fielding" }, "filelight": { "description": "Quickly visualize your disk space usage", "name": "filelight", - "project_path": "kde/kdeutils/filelight", + "project_path": "kdeutils/filelight", "repo_path": "utilities/filelight" }, "flatpak-kcm": { "description": "Flatpak Permissions Management KCM", "name": "flatpak-kcm", - "project_path": "kde/workspace/flatpak-kcm", + "project_path": "workspace/flatpak-kcm", "repo_path": "plasma/flatpak-kcm" }, "flatpak-kde-applications": { "description": "Flatpak packaging files for some KDE Applications", "name": "flatpak-kde-applications", - "project_path": "playground/packaging/flatpak-kde-applications", + "project_path": "packaging/flatpak-kde-applications", "repo_path": "packaging/flatpak-kde-applications" }, "flatpak-kde-runtime": { "description": "Files to generate a repository with org.kde.Platform and Sdk", "name": "flatpak-kde-runtime", - "project_path": "playground/packaging/flatpak-kde-runtime", + "project_path": "packaging/flatpak-kde-runtime", "repo_path": "packaging/flatpak-kde-runtime" }, "flickr-runner": { @@ -1058,7 +1064,7 @@ "foss-public-alert-server": { "description": "Open source server that allows desktop applications to receive near real-time push notifications about emergency alerts worldwide.", "name": "foss-public-alert-server", - "project_path": "playground/www/foss-public-alert-server", + "project_path": "www/foss-public-alert-server", "repo_path": "webapps/foss-public-alert-server" }, "frameworkintegration": { @@ -1070,7 +1076,7 @@ "francis": { "description": "Track your time", "name": "francis", - "project_path": "extragear/utils/francis", + "project_path": "utils/francis", "repo_path": "utilities/francis" }, "futuresql": { @@ -1082,19 +1088,19 @@ "gcompris": { "description": "High-quality educational software suite for children aged 2 to 10", "name": "gcompris", - "project_path": "extragear/edu/gcompris", + "project_path": "edu/gcompris", "repo_path": "education/gcompris" }, "gcompris-data": { "description": "Data files for GCompris", "name": "gcompris-data", - "project_path": "extragear/edu/gcompris-data", + "project_path": "edu/gcompris-data", "repo_path": "education/gcompris-data" }, "geonames-data": { "description": "Cache of geo name exports from geonames.org", "name": "geonames-data", - "project_path": "playground/packaging/geonames-data", + "project_path": "packaging/geonames-data", "repo_path": "packaging/geonames-data" }, "gestures-kde": { @@ -1106,19 +1112,19 @@ "ghostwriter": { "description": "Text editor for Markdown", "name": "ghostwriter", - "project_path": "kde/office/ghostwriter", + "project_path": "office/ghostwriter", "repo_path": "office/ghostwriter" }, "ginkgo": { "description": "Ginkgo is a generic resource navigator and editor for Nepomuk, the KDE semantic toolkit.", "name": "ginkgo", - "project_path": "playground/utils/ginkgo", + "project_path": "utils/ginkgo", "repo_path": "unmaintained/ginkgo" }, "git-lab": { "description": "Command-line client for GitLab", "name": "git-lab", - "project_path": "playground/sdk/git-lab", + "project_path": "sdk/git-lab", "repo_path": "sdk/git-lab" }, "glaxnimate": { @@ -1154,49 +1160,49 @@ "granatier": { "description": "Granatier is a clone of the classic Bomberman game", "name": "granatier", - "project_path": "kde/kdegames/granatier", + "project_path": "kdegames/granatier", "repo_path": "games/granatier" }, "grantlee-editor": { "description": "Utilities and tools to manage themes in KDE PIM applications", "name": "grantlee-editor", - "project_path": "kde/pim/grantlee-editor", + "project_path": "pim/grantlee-editor", "repo_path": "pim/grantlee-editor" }, "grantleetheme": { "description": "Library that provides Grantlee theme support", "name": "grantleetheme", - "project_path": "kde/pim/grantleetheme", + "project_path": "pim/grantleetheme", "repo_path": "pim/grantleetheme" }, "gwenview": { "description": "Image viewer by KDE", "name": "gwenview", - "project_path": "kde/kdegraphics/gwenview", + "project_path": "kdegraphics/gwenview", "repo_path": "graphics/gwenview" }, "haruna": { "description": "Open source video player built with Qt/QML and libmpv.", "name": "haruna", - "project_path": "kde/kdemultimedia/haruna", + "project_path": "kdemultimedia/haruna", "repo_path": "multimedia/haruna" }, "hash-o-matic": { "description": "Simple hash validator allowing to compare two files, generate the checksum of a file and verify if a hash matches a file.", "name": "hash-o-matic", - "project_path": "extragear/utils/hash-o-matic", + "project_path": "utils/hash-o-matic", "repo_path": "utilities/hash-o-matic" }, "heaptrack": { "description": "A heap memory profiler for Linux", "name": "heaptrack", - "project_path": "extragear/sdk/heaptrack", + "project_path": "sdk/heaptrack", "repo_path": "sdk/heaptrack" }, "homebrew-kde": { "description": "Homebrew formulas for building KDE software on macOS", "name": "homebrew-kde", - "project_path": "playground/devtools/homebrew-kde", + "project_path": "devtools/homebrew-kde", "repo_path": "packaging/homebrew-kde" }, "homerun": { @@ -1208,37 +1214,37 @@ "ikona": { "description": "Icon editing companion", "name": "ikona", - "project_path": "extragear/sdk/ikona", + "project_path": "sdk/ikona", "repo_path": "sdk/ikona" }, "incidenceeditor": { "description": "Library that provides calendar incidence editor", "name": "incidenceeditor", - "project_path": "kde/pim/incidenceeditor", + "project_path": "pim/incidenceeditor", "repo_path": "pim/incidenceeditor" }, "index-fm": { "description": "Multi-platform file manager", "name": "index-fm", - "project_path": "playground/base/index-fm", + "project_path": "base/index-fm", "repo_path": "maui/index-fm" }, "inqlude-client": { "description": "Command-line client for inqlude.org", "name": "inqlude-client", - "project_path": "playground/sdk/inqlude-client", + "project_path": "sdk/inqlude-client", "repo_path": "sdk/inqlude-client" }, "isoimagewriter": { "description": "Program to write hybrid ISO files onto USB disks", "name": "isoimagewriter", - "project_path": "extragear/utils/isoimagewriter", + "project_path": "utils/isoimagewriter", "repo_path": "utilities/isoimagewriter" }, "itinerary": { "description": "Itinerary and boarding pass management application", "name": "itinerary", - "project_path": "kde/pim/itinerary", + "project_path": "pim/itinerary", "repo_path": "pim/itinerary" }, "jovie": { @@ -1256,19 +1262,19 @@ "juk": { "description": "Audio jukebox app, supporting collections of MP3, Ogg Vorbis and FLAC audio files", "name": "juk", - "project_path": "kde/kdemultimedia/juk", + "project_path": "kdemultimedia/juk", "repo_path": "multimedia/juk" }, "jungle": { "description": "Jungle is an absolutely awesome video player for managing your videos (movies, tvshows, etc)", "name": "jungle", - "project_path": "playground/multimedia/jungle", + "project_path": "multimedia/jungle", "repo_path": "unmaintained/jungle" }, "k3b": { "description": "Full-featured CD/DVD/Blu-ray burning and ripping application", "name": "k3b", - "project_path": "kde/kdemultimedia/k3b", + "project_path": "kdemultimedia/k3b", "repo_path": "multimedia/k3b" }, "kaccessible": { @@ -1280,121 +1286,127 @@ "kaccounts-integration": { "description": "Online account management system and its Plasma integration components", "name": "kaccounts-integration", - "project_path": "kde/kdenetwork/kaccounts-integration", + "project_path": "kdenetwork/kaccounts-integration", "repo_path": "network/kaccounts-integration" }, "kaccounts-mobile": { "description": "Collection of things for KAccounts targeted for Plasma Mobile", "name": "kaccounts-mobile", - "project_path": "playground/mobile/kaccounts-mobile", + "project_path": "mobile/kaccounts-mobile", "repo_path": "plasma-mobile/kaccounts-mobile" }, "kaccounts-providers": { "description": "Online account providers for the KAccounts system", "name": "kaccounts-providers", - "project_path": "kde/kdenetwork/kaccounts-providers", + "project_path": "kdenetwork/kaccounts-providers", "repo_path": "network/kaccounts-providers" }, "kactivitymanagerd": { "description": "System service to manage user's activities, track the usage patterns etc.", "name": "kactivitymanagerd", - "project_path": "kde/workspace/kactivitymanagerd", + "project_path": "workspace/kactivitymanagerd", "repo_path": "plasma/kactivitymanagerd" }, "kaddressbook": { "description": "Address book application to manage your contacts", "name": "kaddressbook", - "project_path": "kde/pim/kaddressbook", + "project_path": "pim/kaddressbook", "repo_path": "pim/kaddressbook" }, "kaffeine": { "description": "Media player with support for digital television (DVB-C/S/S2/T, ATSC, CI/CAM)", "name": "kaffeine", - "project_path": "extragear/multimedia/kaffeine", + "project_path": "multimedia/kaffeine", "repo_path": "multimedia/kaffeine" }, + "kaichat": { + "description": "Chat interface for AI models such as ollama", + "name": "kaichat", + "project_path": "utilities/kaichat", + "repo_path": "utilities/kaichat" + }, "kaidan": { "description": "Modern chat app for every device", "name": "kaidan", - "project_path": "kdereview/kaidan", + "project_path": "kaidan", "repo_path": "network/kaidan" }, "kairo": { "description": "Programmable timer", "name": "kairo", - "project_path": "playground/utils/kairo", + "project_path": "utils/kairo", "repo_path": "utilities/kairo" }, "kajongg": { "description": "Mah Jongg - the ancient Chinese board game for 4 players", "name": "kajongg", - "project_path": "kde/kdegames/kajongg", + "project_path": "kdegames/kajongg", "repo_path": "games/kajongg" }, "kalarm": { "description": "Application to manage alarms and other timer-based alerts on the desktop", "name": "kalarm", - "project_path": "kde/pim/kalarm", + "project_path": "pim/kalarm", "repo_path": "pim/kalarm" }, "kalarmcal": { "description": "Calendar support for KAlarm", "name": "kalarmcal", - "project_path": "kde/pim/kalarmcal", + "project_path": "pim/kalarmcal", "repo_path": "pim/kalarmcal" }, "kalgebra": { "description": "2D and 3D Graph Calculator", "name": "kalgebra", - "project_path": "kde/kdeedu/kalgebra", + "project_path": "kdeedu/kalgebra", "repo_path": "education/kalgebra" }, "kalk": { "description": "Kalk is a powerful cross-platform calculator application built with the [Kirigami framework](https://kde.org/products/kirigami/)", "name": "kalk", - "project_path": "extragear/utils/kalk", + "project_path": "utils/kalk", "repo_path": "utilities/kalk" }, "kalm": { "description": "Kalm can teach you different breathing techniques.", "name": "kalm", - "project_path": "kdereview/kalm", + "project_path": "kalm", "repo_path": "utilities/kalm" }, "kalternatives": { "description": "Distribution alternatives configuration", "name": "kalternatives", - "project_path": "playground/sysadmin/kalternatives", + "project_path": "sysadmin/kalternatives", "repo_path": "system/kalternatives" }, "kalzium": { "description": "Periodic Table of Elements", "name": "kalzium", - "project_path": "kde/kdeedu/kalzium", + "project_path": "kdeedu/kalzium", "repo_path": "education/kalzium" }, "kamera": { "description": "KDE integration for gphoto2 cameras", "name": "kamera", - "project_path": "kde/kdegraphics/kamera", + "project_path": "kdegraphics/kamera", "repo_path": "graphics/kamera" }, "kamoso": { "description": "Application to take pictures and videos with your webcam", "name": "kamoso", - "project_path": "kde/kdemultimedia/kamoso", + "project_path": "kdemultimedia/kamoso", "repo_path": "multimedia/kamoso" }, "kanagram": { "description": "Letter Order Game", "name": "kanagram", - "project_path": "kde/kdeedu/kanagram", + "project_path": "kdeedu/kanagram", "repo_path": "education/kanagram" }, "kanalytics": { "description": "KAnalytics provides a library and a set of tools to analyze system information and upload it to KDE servers.", "name": "kanalytics", - "project_path": "playground/utils/kanalytics", + "project_path": "utils/kanalytics", "repo_path": "unmaintained/kanalytics" }, "kannasaver": { @@ -1418,13 +1430,13 @@ "kapman": { "description": "Kapman is a clone of the well known game Pac-Man", "name": "kapman", - "project_path": "kde/kdegames/kapman", + "project_path": "kdegames/kapman", "repo_path": "games/kapman" }, "kapptemplate": { "description": "Factory for the easy creation of KDE/Qt components and programs", "name": "kapptemplate", - "project_path": "kde/kdesdk/kapptemplate", + "project_path": "kdesdk/kapptemplate", "repo_path": "sdk/kapptemplate" }, "karchive": { @@ -1436,43 +1448,43 @@ "kard": { "description": "Memory-like game for kids", "name": "kard", - "project_path": "playground/edu/kard", + "project_path": "edu/kard", "repo_path": "education/kard" }, "karp": { "description": "Simple PDF editor to arrange, merge and improve PDF file(s)", "name": "karp", - "project_path": "playground/graphics/karp", + "project_path": "graphics/karp", "repo_path": "graphics/karp" }, "kartesio": { "description": "Calculate best fit curves with experimental points using regression or neural networks", "name": "kartesio", - "project_path": "playground/edu/kartesio", + "project_path": "edu/kartesio", "repo_path": "education/kartesio" }, "kasts": { "description": "Kirigami-based podcast player", "name": "kasts", - "project_path": "extragear/multimedia/kasts", + "project_path": "multimedia/kasts", "repo_path": "multimedia/kasts" }, "kasync": { "description": "C++ library for controlling asynchronous tasks", "name": "kasync", - "project_path": "playground/libs/kasync", + "project_path": "libs/kasync", "repo_path": "libraries/kasync" }, "kate": { "description": "Advanced text editor", "name": "kate", - "project_path": "kde/applications/kate", + "project_path": "applications/kate", "repo_path": "utilities/kate" }, "katomic": { "description": "Katomic is a fun and educational game built around molecular geometry", "name": "katomic", - "project_path": "kde/kdegames/katomic", + "project_path": "kdegames/katomic", "repo_path": "games/katomic" }, "kaudiocreator": { @@ -1490,37 +1502,37 @@ "kbackup": { "description": "Backup program with an easy-to-use interface", "name": "kbackup", - "project_path": "kde/kdeutils/kbackup", + "project_path": "kdeutils/kbackup", "repo_path": "utilities/kbackup" }, "kbibtex": { "description": "An editor for bibliographies used with LaTeX", "name": "kbibtex", - "project_path": "extragear/office/kbibtex", + "project_path": "office/kbibtex", "repo_path": "office/kbibtex" }, "kbibtex-testset": { "description": "Testing data for KBibTex", "name": "kbibtex-testset", - "project_path": "extragear/office/kbibtex-testset", + "project_path": "office/kbibtex-testset", "repo_path": "office/kbibtex-testset" }, "kblackbox": { "description": "KBlackBox is a game of hide and seek played on a grid of boxes", "name": "kblackbox", - "project_path": "kde/kdegames/kblackbox", + "project_path": "kdegames/kblackbox", "repo_path": "games/kblackbox" }, "kblocks": { "description": "KBlocks is the classic falling blocks game", "name": "kblocks", - "project_path": "kde/kdegames/kblocks", + "project_path": "kdegames/kblocks", "repo_path": "games/kblocks" }, "kblog": { "description": "Support for reading various blog feeds", "name": "kblog", - "project_path": "kde/pim/kblog", + "project_path": "pim/kblog", "repo_path": "pim/kblog" }, "kbookmarks": { @@ -1532,31 +1544,31 @@ "kbounce": { "description": "KBounce is a single player arcade game with the elements of puzzle", "name": "kbounce", - "project_path": "kde/kdegames/kbounce", + "project_path": "kdegames/kbounce", "repo_path": "games/kbounce" }, "kbreakout": { "description": "KBreakOut is a Breakout-like game. Its objective is to destroy as many bricks as possible without losing the ball.", "name": "kbreakout", - "project_path": "kde/kdegames/kbreakout", + "project_path": "kdegames/kbreakout", "repo_path": "games/kbreakout" }, "kbruch": { "description": "Practice Fractions", "name": "kbruch", - "project_path": "kde/kdeedu/kbruch", + "project_path": "kdeedu/kbruch", "repo_path": "education/kbruch" }, "kcachegrind": { "description": "GUI to profilers such as Valgrind", "name": "kcachegrind", - "project_path": "kde/kdesdk/kcachegrind", + "project_path": "kdesdk/kcachegrind", "repo_path": "sdk/kcachegrind" }, "kcalc": { "description": "Calculator offering everything a scientific calculator does, and more", "name": "kcalc", - "project_path": "kde/kdeutils/kcalc", + "project_path": "kdeutils/kcalc", "repo_path": "utilities/kcalc" }, "kcalendarcore": { @@ -1568,43 +1580,43 @@ "kcalutils": { "description": "Library to assist working with calendars", "name": "kcalutils", - "project_path": "kde/pim/kcalutils", + "project_path": "pim/kcalutils", "repo_path": "pim/kcalutils" }, "kcgroups": { "description": "Library for easy access to running apps and their control groups resources", "name": "kcgroups", - "project_path": "kdereview/kcgroups", + "project_path": "kcgroups", "repo_path": "libraries/kcgroups" }, "kcharselect": { "description": "Tool to select and copy special characters from all installed fonts", "name": "kcharselect", - "project_path": "kde/kdeutils/kcharselect", + "project_path": "kdeutils/kcharselect", "repo_path": "utilities/kcharselect" }, "kclock": { "description": "Clock app for Plasma Mobile", "name": "kclock", - "project_path": "extragear/utils/kclock", + "project_path": "utils/kclock", "repo_path": "utilities/kclock" }, "kcm-grub2": { "description": "KDE Control Module for configuring the GRUB bootloader", "name": "kcm-grub2", - "project_path": "extragear/sysadmin/kcm-grub2", + "project_path": "sysadmin/kcm-grub2", "repo_path": "system/kcm-grub2" }, "kcm-userconfig": { "description": "A System Settings module for managing users and groups on your system.", "name": "kcm-userconfig", - "project_path": "playground/sysadmin/kcm-userconfig", + "project_path": "sysadmin/kcm-userconfig", "repo_path": "unmaintained/kcm-userconfig" }, "kcmgrub2": { "description": "Kcm module that manages the most common settings of grub2", "name": "kcmgrub2", - "project_path": "playground/sysadmin/kcmgrub2", + "project_path": "sysadmin/kcmgrub2", "repo_path": "unmaintained/kcmgrub2" }, "kcmutils": { @@ -1622,7 +1634,7 @@ "kcolorchooser": { "description": "A small utility to select a color", "name": "kcolorchooser", - "project_path": "kde/kdegraphics/kcolorchooser", + "project_path": "kdegraphics/kcolorchooser", "repo_path": "graphics/kcolorchooser" }, "kcoloredit": { @@ -1676,7 +1688,7 @@ "kcron": { "description": "Task scheduler by KDE", "name": "kcron", - "project_path": "kde/kdeadmin/kcron", + "project_path": "kdeadmin/kcron", "repo_path": "system/kcron" }, "kcwsh": { @@ -1694,13 +1706,13 @@ "kdav2": { "description": "DAV protocol implementation with KJobs", "name": "kdav2", - "project_path": "playground/pim/kdav2", + "project_path": "pim/kdav2", "repo_path": "pim/kdav2" }, "kdb": { "description": "Database connectivity and creation framework for various database vendors", "name": "kdb", - "project_path": "extragear/libs/kdb", + "project_path": "libs/kdb", "repo_path": "libraries/kdb" }, "kdbusaddons": { @@ -1736,53 +1748,53 @@ "kde-builder": { "description": "A tool to streamline the process of setting up and maintaining a development environment for KDE software.", "name": "kde-builder", - "project_path": "playground/sdk/kde-builder", + "project_path": "sdk/kde-builder", "repo_path": "sdk/kde-builder" }, "kde-cli-tools": { "description": "Tools based on KDE Frameworks 5 to better interact with the system", "name": "kde-cli-tools", - "project_path": "kde/workspace/kde-cli-tools", + "project_path": "workspace/kde-cli-tools", "repo_path": "plasma/kde-cli-tools" }, "kde-dev-scripts": { "description": "Scripts and setting files useful during development of KDE software", "name": "kde-dev-scripts", - "project_path": "kde/kdesdk/kde-dev-scripts", + "project_path": "kdesdk/kde-dev-scripts", "repo_path": "sdk/kde-dev-scripts" }, "kde-dev-utils": { "description": "Small utilities for developers using KDE/Qt libs/frameworks", "name": "kde-dev-utils", - "project_path": "kde/kdesdk/kde-dev-utils", + "project_path": "kdesdk/kde-dev-utils", "repo_path": "sdk/kde-dev-utils" }, "kde-gtk-config": { "description": "Syncs KDE settings to GTK applications", "name": "kde-gtk-config", - "project_path": "kde/workspace/kde-gtk-config", + "project_path": "workspace/kde-gtk-config", "repo_path": "plasma/kde-gtk-config" }, "kde-gui-test": { "description": "Tool for emulating user behaviour for energy consumption measurements", "name": "kde-gui-test", - "project_path": "playground/sdk/kde-gui-test", + "project_path": "sdk/kde-gui-test", "repo_path": "sdk/kde-gui-test" }, "kde-inotify-survey": { "description": "Tooling for monitoring inotify limits and informing the user when they have been or about to be reached.", "name": "kde-inotify-survey", - "project_path": "extragear/system/kde-inotify-survey", + "project_path": "system/kde-inotify-survey", "repo_path": "system/kde-inotify-survey" }, "kde-linux": { - "description": "", + "description": "KDE Linux project", "name": "kde-linux", "project_path": "kde-linux/kde-linux", "repo_path": "kde-linux/kde-linux" }, "kde-linux-packages": { - "description": "", + "description": "Packages for KDE Linux", "name": "kde-linux-packages", "project_path": "kde-linux/kde-linux-packages", "repo_path": "kde-linux/kde-linux-packages" @@ -1790,7 +1802,7 @@ "kde-nomodeset": { "description": "Safe Graphics Mode Startup Utility", "name": "kde-nomodeset", - "project_path": "playground/base/kde-nomodeset", + "project_path": "base/kde-nomodeset", "repo_path": "system/kde-nomodeset" }, "kde-now": { @@ -1805,10 +1817,16 @@ "project_path": "others/kde-promo", "repo_path": "unmaintained/kde-promo" }, + "kde-qdoc-common": { + "description": "Common files for KDE's API documentation (using QDoc)", + "name": "kde-qdoc-common", + "project_path": "sdk/kde-qdoc-common", + "repo_path": "sdk/kde-qdoc-common" + }, "kde-ruleset": { "description": "svn2git rules files and support scripts for KDE's SVN-to-Git migration", "name": "kde-ruleset", - "project_path": "playground/sdk/kde-ruleset", + "project_path": "sdk/kde-ruleset", "repo_path": "sdk/kde-ruleset" }, "kde-runtime": { @@ -1820,13 +1838,13 @@ "kde-vdg-extras": { "description": "Colour schemes, avatars and other additional visual assets for KDE Software created by the KDE VDG", "name": "kde-vdg-extras", - "project_path": "playground/artwork/kde-vdg-extras", + "project_path": "artwork/kde-vdg-extras", "repo_path": "plasma/kde-vdg-extras" }, "kde-workspace": { "description": "Provides the interface and basic tools for the KDE workspace.", "name": "kde-workspace", - "project_path": "kde/kde-workspace", + "project_path": "kde-workspace", "repo_path": "unmaintained/kde-workspace" }, "kde1": { @@ -1910,7 +1928,7 @@ "kdebugsettings": { "description": "Application to choose which QLoggingCategory are displayed", "name": "kdebugsettings", - "project_path": "kde/kdeutils/kdebugsettings", + "project_path": "kdeutils/kdebugsettings", "repo_path": "utilities/kdebugsettings" }, "kdeclarative": { @@ -1922,37 +1940,37 @@ "kdeconnect-android": { "description": "Native Android port of the KDE Connect Qt app", "name": "kdeconnect-android", - "project_path": "extragear/network/kdeconnect-android", + "project_path": "network/kdeconnect-android", "repo_path": "network/kdeconnect-android" }, "kdeconnect-ios": { "description": "Native iOS port of KDE Connect", "name": "kdeconnect-ios", - "project_path": "playground/network/kdeconnect-ios", + "project_path": "network/kdeconnect-ios", "repo_path": "network/kdeconnect-ios" }, "kdeconnect-kde": { "description": "Multi-platform app that allows your devices to communicate", "name": "kdeconnect-kde", - "project_path": "kde/kdenetwork/kdeconnect-kde", + "project_path": "kdenetwork/kdeconnect-kde", "repo_path": "network/kdeconnect-kde" }, "kdeconnect-meta": { "description": "Coordination for multi-platform applications that allows your devices to communicate", "name": "kdeconnect-meta", - "project_path": "kde/kdenetwork/kdeconnect-meta", + "project_path": "kdenetwork/kdeconnect-meta", "repo_path": "network/kdeconnect-meta" }, "kdecoration": { "description": "Plugin-based library to create window decorations", "name": "kdecoration", - "project_path": "kde/workspace/kdecoration", + "project_path": "workspace/kdecoration", "repo_path": "plasma/kdecoration" }, "kdecoration-viewer": { "description": "Application that allows to preview a KDecoration plugin", "name": "kdecoration-viewer", - "project_path": "playground/base/kdecoration-viewer", + "project_path": "base/kdecoration-viewer", "repo_path": "sdk/kdecoration-viewer" }, "kded": { @@ -1964,7 +1982,7 @@ "kdeedu-data": { "description": "Shared icons, artwork and data files for educational applications", "name": "kdeedu-data", - "project_path": "kde/kdeedu/kdeedu-data", + "project_path": "kdeedu/kdeedu-data", "repo_path": "education/kdeedu-data" }, "kdeexamples": { @@ -1982,7 +2000,7 @@ "kdegraphics-mobipocket": { "description": "A collection of plugins to handle mobipocket files", "name": "kdegraphics-mobipocket", - "project_path": "kde/kdegraphics/kdegraphics-mobipocket", + "project_path": "kdegraphics/kdegraphics-mobipocket", "repo_path": "graphics/kdegraphics-mobipocket" }, "kdegraphics-strigi-analyzer": { @@ -1994,7 +2012,7 @@ "kdegraphics-thumbnailers": { "description": "Thumbnailers for various graphics file formats", "name": "kdegraphics-thumbnailers", - "project_path": "kde/kdegraphics/kdegraphics-thumbnailers", + "project_path": "kdegraphics/kdegraphics-thumbnailers", "repo_path": "graphics/kdegraphics-thumbnailers" }, "kdelibs": { @@ -2012,7 +2030,7 @@ "kdenetwork-filesharing": { "description": "Samba file sharing plugin for file properties", "name": "kdenetwork-filesharing", - "project_path": "kde/kdenetwork/kdenetwork-filesharing", + "project_path": "kdenetwork/kdenetwork-filesharing", "repo_path": "network/kdenetwork-filesharing" }, "kdenetwork-strigi-analyzers": { @@ -2024,19 +2042,19 @@ "kdenlive": { "description": "Free and open source video editor, based on MLT Framework and KDE Frameworks", "name": "kdenlive", - "project_path": "kde/kdemultimedia/kdenlive", + "project_path": "kdemultimedia/kdenlive", "repo_path": "multimedia/kdenlive" }, "kdenlive-opentimelineio": { "description": "OpenTimelineIO Adapter for Kdenlive", "name": "kdenlive-opentimelineio", - "project_path": "playground/multimedia/kdenlive-opentimelineio", + "project_path": "multimedia/kdenlive-opentimelineio", "repo_path": "multimedia/kdenlive-opentimelineio" }, "kdenlive-test-suite": { "description": "Tooling, samples and other materials needed for testing Kdenlive functionality", "name": "kdenlive-test-suite", - "project_path": "playground/multimedia/kdenlive-test-suite", + "project_path": "multimedia/kdenlive-test-suite", "repo_path": "multimedia/kdenlive-test-suite" }, "kdepim": { @@ -2048,25 +2066,25 @@ "kdepim-addons": { "description": "Add-ons for KDE PIM apps (KMail, KAddressBook etc.)", "name": "kdepim-addons", - "project_path": "kde/pim/kdepim-addons", + "project_path": "pim/kdepim-addons", "repo_path": "pim/kdepim-addons" }, "kdepim-apps-libs": { "description": "This module contains mail-related libraries", "name": "kdepim-apps-libs", - "project_path": "kde/pim/kdepim-apps-libs", + "project_path": "pim/kdepim-apps-libs", "repo_path": "pim/kdepim-apps-libs" }, "kdepim-docker": { "description": "Docker image for easy KDE PIM development", "name": "kdepim-docker", - "project_path": "playground/pim/kdepim-docker", + "project_path": "pim/kdepim-docker", "repo_path": "pim/kdepim-docker" }, "kdepim-runtime": { "description": "Akonadi agents and resources", "name": "kdepim-runtime", - "project_path": "kde/pim/kdepim-runtime", + "project_path": "pim/kdepim-runtime", "repo_path": "pim/kdepim-runtime" }, "kdepimlibs": { @@ -2078,19 +2096,19 @@ "kdeplasma-addons": { "description": "All kind of add-ons to improve your Plasma experience", "name": "kdeplasma-addons", - "project_path": "kde/workspace/kdeplasma-addons", + "project_path": "workspace/kdeplasma-addons", "repo_path": "plasma/kdeplasma-addons" }, "kdesdk-devenv-dependencies": { "description": "Describes modules useful for development of KDE applications and Plasma", "name": "kdesdk-devenv-dependencies", - "project_path": "playground/packaging/kdesdk-devenv-dependencies", + "project_path": "packaging/kdesdk-devenv-dependencies", "repo_path": "packaging/kdesdk-devenv-dependencies" }, "kdesdk-kio": { "description": "KIO workers useful for software development", "name": "kdesdk-kio", - "project_path": "kde/kdesdk/kdesdk-kio", + "project_path": "kdesdk/kdesdk-kio", "repo_path": "sdk/kdesdk-kio" }, "kdesdk-strigi-analyzers": { @@ -2102,7 +2120,7 @@ "kdesdk-thumbnailers": { "description": "Plugins for the thumbnailing system", "name": "kdesdk-thumbnailers", - "project_path": "kde/kdesdk/kdesdk-thumbnailers", + "project_path": "kdesdk/kdesdk-thumbnailers", "repo_path": "sdk/kdesdk-thumbnailers" }, "kdesignerplugin": { @@ -2114,7 +2132,7 @@ "kdesrc-build": { "description": "Script to streamline setting up and maintaining KDE software development environment", "name": "kdesrc-build", - "project_path": "extragear/utils/kdesrc-build", + "project_path": "utils/kdesrc-build", "repo_path": "sdk/kdesrc-build" }, "kdesu": { @@ -2132,7 +2150,7 @@ "kdesvn": { "description": "Subversion client by KDE", "name": "kdesvn", - "project_path": "extragear/sdk/kdesvn", + "project_path": "sdk/kdesvn", "repo_path": "sdk/kdesvn" }, "kdev-cargo": { @@ -2156,7 +2174,7 @@ "kdev-control-flow-graph": { "description": "KDevelop plugin that visualizes data from static code analysis in graphs", "name": "kdev-control-flow-graph", - "project_path": "playground/devtools/plugins/kdev-control-flow-graph", + "project_path": "devtools/plugins/kdev-control-flow-graph", "repo_path": "kdevelop/kdev-control-flow-graph" }, "kdev-cppcheck": { @@ -2174,19 +2192,19 @@ "kdev-css": { "description": "KDevelop plugin for CSS language support", "name": "kdev-css", - "project_path": "playground/devtools/plugins/kdev-css", + "project_path": "devtools/plugins/kdev-css", "repo_path": "kdevelop/kdev-css" }, "kdev-embedded": { "description": "Plugin for KDevelop to support the development of embedded systems", "name": "kdev-embedded", - "project_path": "playground/devtools/plugins/kdev-embedded", + "project_path": "devtools/plugins/kdev-embedded", "repo_path": "kdevelop/kdev-embedded" }, "kdev-executebrowser": { "description": "KDevelop plugin that starts a script in a web browser", "name": "kdev-executebrowser", - "project_path": "playground/devtools/plugins/kdev-executebrowser", + "project_path": "devtools/plugins/kdev-executebrowser", "repo_path": "kdevelop/kdev-executebrowser" }, "kdev-go": { @@ -2204,13 +2222,13 @@ "kdev-krazy2": { "description": "A plugin for KDevelop to perform Krazy2 analysis", "name": "kdev-krazy2", - "project_path": "playground/devtools/plugins/kdev-krazy2", + "project_path": "devtools/plugins/kdev-krazy2", "repo_path": "kdevelop/kdev-krazy2" }, "kdev-mercurial": { "description": "Mercurial support plugin for KDevelop", "name": "kdev-mercurial", - "project_path": "playground/devtools/plugins/kdev-mercurial", + "project_path": "devtools/plugins/kdev-mercurial", "repo_path": "kdevelop/kdev-mercurial" }, "kdev-perforce": { @@ -2222,7 +2240,7 @@ "kdev-php": { "description": "PHP Language Plugin for KDevelop", "name": "kdev-php", - "project_path": "extragear/kdevelop/plugins/kdev-php", + "project_path": "kdevelop/plugins/kdev-php", "repo_path": "kdevelop/kdev-php" }, "kdev-php-docs": { @@ -2240,7 +2258,7 @@ "kdev-python": { "description": "KDevelop Python language support", "name": "kdev-python", - "project_path": "extragear/kdevelop/plugins/kdev-python", + "project_path": "kdevelop/plugins/kdev-python", "repo_path": "kdevelop/kdev-python" }, "kdev-qmake": { @@ -2258,7 +2276,7 @@ "kdev-ruby": { "description": "KDevelop plugin which provides Ruby language support", "name": "kdev-ruby", - "project_path": "playground/devtools/plugins/kdev-ruby", + "project_path": "devtools/plugins/kdev-ruby", "repo_path": "kdevelop/kdev-ruby" }, "kdev-rust": { @@ -2276,19 +2294,19 @@ "kdev-upload": { "description": "KDevelop plugin for uploading files to a remote server", "name": "kdev-upload", - "project_path": "playground/devtools/plugins/kdev-upload", + "project_path": "devtools/plugins/kdev-upload", "repo_path": "kdevelop/kdev-upload" }, "kdev-valgrind": { "description": "Plugin offering a full integration of the Valgrind suite into KDevelop", "name": "kdev-valgrind", - "project_path": "playground/devtools/plugins/kdev-valgrind", + "project_path": "devtools/plugins/kdev-valgrind", "repo_path": "kdevelop/kdev-valgrind" }, "kdev-verapp": { "description": "Verapp support plugin for KDevelop", "name": "kdev-verapp", - "project_path": "playground/devtools/plugins/kdev-verapp", + "project_path": "devtools/plugins/kdev-verapp", "repo_path": "kdevelop/kdev-verapp" }, "kdev-www": { @@ -2300,7 +2318,7 @@ "kdev-xdebug": { "description": "KDevelop debugger plugin for PHP using XDebug", "name": "kdev-xdebug", - "project_path": "playground/devtools/plugins/kdev-xdebug", + "project_path": "devtools/plugins/kdev-xdebug", "repo_path": "kdevelop/kdev-xdebug" }, "kdev-xml": { @@ -2318,13 +2336,13 @@ "kdevelop": { "description": "Cross-platform IDE for C, C++, Python, QML/JavaScript and PHP", "name": "kdevelop", - "project_path": "extragear/kdevelop/kdevelop", + "project_path": "kdevelop/kdevelop", "repo_path": "kdevelop/kdevelop" }, "kdevelop-pg-qt": { "description": "KDevelop Parser Generator, used in the PHP language plugin and others", "name": "kdevelop-pg-qt", - "project_path": "extragear/kdevelop/utilities/kdevelop-pg-qt", + "project_path": "kdevelop/utilities/kdevelop-pg-qt", "repo_path": "kdevelop/kdevelop-pg-qt" }, "kdevplatform": { @@ -2360,7 +2378,7 @@ "kdf": { "description": "Displays available storage devices and information about their usage", "name": "kdf", - "project_path": "kde/kdeutils/kdf", + "project_path": "kdeutils/kdf", "repo_path": "utilities/kdf" }, "kdgantt2": { @@ -2372,31 +2390,31 @@ "kdiagram": { "description": "Powerful libraries (KChart, KGantt) for creating business diagrams", "name": "kdiagram", - "project_path": "extragear/graphics/kdiagram", + "project_path": "graphics/kdiagram", "repo_path": "graphics/kdiagram" }, "kdialog": { "description": "Tool to show nice dialog boxes from shell scripts", "name": "kdialog", - "project_path": "kde/applications/kdialog", + "project_path": "applications/kdialog", "repo_path": "utilities/kdialog" }, "kdiamond": { "description": "KDiamond is a single player puzzle game", "name": "kdiamond", - "project_path": "kde/kdegames/kdiamond", + "project_path": "kdegames/kdiamond", "repo_path": "games/kdiamond" }, "kdiff3": { "description": "Utility for comparing and merging files and directories", "name": "kdiff3", - "project_path": "extragear/utils/kdiff3", + "project_path": "utils/kdiff3", "repo_path": "sdk/kdiff3" }, "kdisksutilities": { "description": "Disks management utilities", "name": "kdisksutilities", - "project_path": "playground/sysadmin/kdisksutilities", + "project_path": "sysadmin/kdisksutilities", "repo_path": "system/kdisksutilities" }, "kdnssd": { @@ -2414,11 +2432,11 @@ "kdocumentstore": { "description": "Library to store QVariants and QVariantMaps", "name": "kdocumentstore", - "project_path": "playground/libs/kdocumentstore", + "project_path": "libs/kdocumentstore", "repo_path": "libraries/kdocumentstore" }, "kdots": { - "description": "KDots is the simple implementation of the game of dots written with Qt Toolkit and KDELibs.\n\nThe purpose of Dots game is to catch your opponent's dots by placing your dots on the game board where the lines cross.", + "description": "Game to catch your opponent's dots by placing your dots on the game board where the lines cross", "name": "kdots", "project_path": "unmaintained/kdots", "repo_path": "unmaintained/kdots" @@ -2432,19 +2450,19 @@ "kdsoap-ws-discovery-client": { "description": "Library for finding WS-Discovery devices in the network using Qt5 and KDSoap.", "name": "kdsoap-ws-discovery-client", - "project_path": "playground/libs/kdsoap-ws-discovery-client", + "project_path": "libs/kdsoap-ws-discovery-client", "repo_path": "libraries/kdsoap-ws-discovery-client" }, "kecolab": { "description": "Measuring Energy Usage Remotely with Online Portal", "name": "kecolab", - "project_path": "playground/sdk/kecolab", + "project_path": "sdk/kecolab", "repo_path": "sdk/kecolab" }, "keditbookmarks": { "description": "Bookmarks editor", "name": "keditbookmarks", - "project_path": "kde/applications/keditbookmarks", + "project_path": "applications/keditbookmarks", "repo_path": "utilities/keditbookmarks" }, "kemoticons": { @@ -2456,7 +2474,7 @@ "keurocalc": { "description": "Utility to handle currency conversions between European currencies", "name": "keurocalc", - "project_path": "extragear/utils/keurocalc", + "project_path": "utils/keurocalc", "repo_path": "utilities/keurocalc" }, "kexi": { @@ -2468,7 +2486,7 @@ "keysmith": { "description": "OTP client for Plasma Mobile and Desktop", "name": "keysmith", - "project_path": "extragear/utils/keysmith", + "project_path": "utils/keysmith", "repo_path": "utilities/keysmith" }, "kf5book": { @@ -2492,23 +2510,23 @@ "kfind": { "description": "File search utility by KDE", "name": "kfind", - "project_path": "kde/applications/kfind", + "project_path": "applications/kfind", "repo_path": "utilities/kfind" }, "kfloppy": { "description": "Graphical utility to format 3.5\" and 5.25\" floppy disks", "name": "kfloppy", - "project_path": "kde/kdeutils/kfloppy", + "project_path": "kdeutils/kfloppy", "repo_path": "utilities/kfloppy" }, "kfourinline": { "description": "KFourInLine is a four-in-a-row game", "name": "kfourinline", - "project_path": "kde/kdegames/kfourinline", + "project_path": "kdegames/kfourinline", "repo_path": "games/kfourinline" }, "kfritz": { - "description": "A KDE call monitor and frontend for users of AVMs Fritz!Box routers.\n\nYou can download source-tarballs from github, see below.", + "description": "A KDE call monitor and frontend for users of AVMs Fritz!Box routers", "name": "kfritz", "project_path": "unmaintained/kfritz", "repo_path": "unmaintained/kfritz" @@ -2516,25 +2534,25 @@ "kgamma": { "description": "Adjust your monitor's gamma settings", "name": "kgamma", - "project_path": "kde/workspace/kgamma", + "project_path": "workspace/kgamma", "repo_path": "plasma/kgamma" }, "kgeography": { "description": "Geography Trainer", "name": "kgeography", - "project_path": "kde/kdeedu/kgeography", + "project_path": "kdeedu/kgeography", "repo_path": "education/kgeography" }, "kgeotag": { "description": "Photo geotagging program", "name": "kgeotag", - "project_path": "extragear/graphics/kgeotag", + "project_path": "graphics/kgeotag", "repo_path": "graphics/kgeotag" }, "kget": { "description": "Download Manager", "name": "kget", - "project_path": "kde/kdenetwork/kget", + "project_path": "kdenetwork/kget", "repo_path": "network/kget" }, "kglobalaccel": { @@ -2546,25 +2564,25 @@ "kglobalacceld": { "description": "Daemon providing Global Keyboard Shortcut (Accelerator) functionality", "name": "kglobalacceld", - "project_path": "playground/base/kglobalacceld", + "project_path": "base/kglobalacceld", "repo_path": "plasma/kglobalacceld" }, "kgoldrunner": { "description": "KGoldrunner is a game of action and puzzle solving", "name": "kgoldrunner", - "project_path": "kde/kdegames/kgoldrunner", + "project_path": "kdegames/kgoldrunner", "repo_path": "games/kgoldrunner" }, "kgpg": { "description": "Simple interface for GnuPG, a powerful encryption utility", "name": "kgpg", - "project_path": "kde/kdeutils/kgpg", + "project_path": "kdeutils/kgpg", "repo_path": "utilities/kgpg" }, "kgraphviewer": { "description": "GraphViz dot graph viewer", "name": "kgraphviewer", - "project_path": "extragear/graphics/kgraphviewer", + "project_path": "graphics/kgraphviewer", "repo_path": "graphics/kgraphviewer" }, "kguiaddons": { @@ -2576,25 +2594,25 @@ "khangman": { "description": "A hangman game", "name": "khangman", - "project_path": "kde/kdeedu/khangman", + "project_path": "kdeedu/khangman", "repo_path": "education/khangman" }, "khealthcertificate": { "description": "Handling of digital vaccination, test and recovery certificates.", "name": "khealthcertificate", - "project_path": "extragear/pim/khealthcertificate", + "project_path": "pim/khealthcertificate", "repo_path": "pim/khealthcertificate" }, "khelpcenter": { "description": "Software documentation viewer", "name": "khelpcenter", - "project_path": "kde/applications/khelpcenter", + "project_path": "applications/khelpcenter", "repo_path": "system/khelpcenter" }, "khipu": { "description": "Advanced mathematical function plotter", "name": "khipu", - "project_path": "playground/edu/khipu", + "project_path": "edu/khipu", "repo_path": "education/khipu" }, "kholidays": { @@ -2606,7 +2624,7 @@ "khotkeys": { "description": "Trigger actions when certain keys are pressed", "name": "khotkeys", - "project_path": "kde/workspace/khotkeys", + "project_path": "workspace/khotkeys", "repo_path": "plasma/khotkeys" }, "khtml": { @@ -2630,13 +2648,13 @@ "kid3": { "description": "Efficient audio tagger that supports a large variety of file formats", "name": "kid3", - "project_path": "extragear/multimedia/kid3", + "project_path": "multimedia/kid3", "repo_path": "multimedia/kid3" }, "kidentitymanagement": { "description": "Library to assist in handling user identities", "name": "kidentitymanagement", - "project_path": "kde/pim/kidentitymanagement", + "project_path": "pim/kidentitymanagement", "repo_path": "pim/kidentitymanagement" }, "kidletime": { @@ -2648,7 +2666,7 @@ "kig": { "description": "Interactive Geometry", "name": "kig", - "project_path": "kde/kdeedu/kig", + "project_path": "kdeedu/kig", "repo_path": "education/kig" }, "kig-data": { @@ -2660,25 +2678,25 @@ "kigo": { "description": "Kigo is an open-source implementation of the popular Go game", "name": "kigo", - "project_path": "kde/kdegames/kigo", + "project_path": "kdegames/kigo", "repo_path": "games/kigo" }, "kije": { "description": "QtQuick library with widgets for desktop-oriented QtQuick applications.", "name": "kije", - "project_path": "playground/libs/kije", + "project_path": "libs/kije", "repo_path": "libraries/kije" }, "kile": { "description": "Integrated LaTeX Editing Environment", "name": "kile", - "project_path": "extragear/office/kile", + "project_path": "office/kile", "repo_path": "office/kile" }, "killbots": { "description": "Killbots is a simple game of evading killer robots", "name": "killbots", - "project_path": "kde/kdegames/killbots", + "project_path": "kdegames/killbots", "repo_path": "games/killbots" }, "kimageformats": { @@ -2690,25 +2708,25 @@ "kimagemapeditor": { "description": "Generator of HTML image maps", "name": "kimagemapeditor", - "project_path": "kde/kdewebdev/kimagemapeditor", + "project_path": "kdewebdev/kimagemapeditor", "repo_path": "graphics/kimagemapeditor" }, "kimap": { "description": "Library to assist working with IMAP servers", "name": "kimap", - "project_path": "kde/pim/kimap", + "project_path": "pim/kimap", "repo_path": "pim/kimap" }, "kimap2": { "description": "Next-generation IMAP library", "name": "kimap2", - "project_path": "playground/pim/kimap2", + "project_path": "pim/kimap2", "repo_path": "pim/kimap2" }, "kimono": { "description": ".NET/Mono bindings for the KDE libraries.", "name": "kimono", - "project_path": "kde/kdebindings/csharp/kimono", + "project_path": "kdebindings/csharp/kimono", "repo_path": "unmaintained/kimono" }, "kimtoy": { @@ -2720,7 +2738,7 @@ "kinfocenter": { "description": "View information about your computer's hardware", "name": "kinfocenter", - "project_path": "kde/workspace/kinfocenter", + "project_path": "workspace/kinfocenter", "repo_path": "plasma/kinfocenter" }, "kinit": { @@ -2738,31 +2756,31 @@ "kio-admin": { "description": "Manage files as administrator using the admin:// KIO protocol.", "name": "kio-admin", - "project_path": "extragear/sysadmin/kio-admin", + "project_path": "sysadmin/kio-admin", "repo_path": "system/kio-admin" }, "kio-extras": { "description": "Additional components to increase the functionality of KIO", "name": "kio-extras", - "project_path": "kde/kdenetwork/kio-extras", + "project_path": "kdenetwork/kio-extras", "repo_path": "network/kio-extras" }, "kio-fuse": { "description": "FUSE Interface for KIO", "name": "kio-fuse", - "project_path": "extragear/base/kio-fuse", + "project_path": "base/kio-fuse", "repo_path": "system/kio-fuse" }, "kio-gdrive": { "description": "KIO Worker to access Google Drive", "name": "kio-gdrive", - "project_path": "kde/kdenetwork/kio-gdrive", + "project_path": "kdenetwork/kio-gdrive", "repo_path": "network/kio-gdrive" }, "kio-gopher": { "description": "Gopher KIO Slave", "name": "kio-gopher", - "project_path": "extragear/network/kio-gopher", + "project_path": "network/kio-gopher", "repo_path": "network/kio-gopher" }, "kio-mtp": { @@ -2774,31 +2792,31 @@ "kio-s3": { "description": "KIO interface for Amazon Web Services S3 storage", "name": "kio-s3", - "project_path": "extragear/network/kio-s3", + "project_path": "network/kio-s3", "repo_path": "network/kio-s3" }, "kio-stash": { "description": "Virtual folder to simplify file selection in non-contiguous folder trees", "name": "kio-stash", - "project_path": "extragear/utils/kio-stash", + "project_path": "utils/kio-stash", "repo_path": "utilities/kio-stash" }, "kio-upnp-ms": { "description": "KIO Slave for UPnP MediaServer devices", "name": "kio-upnp-ms", - "project_path": "playground/base/kio-upnp-ms", + "project_path": "base/kio-upnp-ms", "repo_path": "network/kio-upnp-ms" }, "kio-zeroconf": { "description": "KIO worker to discover file systems by DNS-SD (zeroconf)", "name": "kio-zeroconf", - "project_path": "kde/kdenetwork/kio-zeroconf", + "project_path": "kdenetwork/kio-zeroconf", "repo_path": "network/kio-zeroconf" }, "kipi-plugins": { "description": "Plugins extending KDE graphics apps, e.g. with import/export capabilities", "name": "kipi-plugins", - "project_path": "kde/kdegraphics/kipi-plugins", + "project_path": "kdegraphics/kipi-plugins", "repo_path": "graphics/kipi-plugins" }, "kirigami": { @@ -2810,31 +2828,31 @@ "kirigami-addons": { "description": "Add-ons for the Kirigami framework", "name": "kirigami-addons", - "project_path": "extragear/libs/kirigami-addons", + "project_path": "libs/kirigami-addons", "repo_path": "libraries/kirigami-addons" }, "kirigami-gallery": { "description": "Kirigami component gallery application", "name": "kirigami-gallery", - "project_path": "kde/kdesdk/kirigami-gallery", + "project_path": "kdesdk/kirigami-gallery", "repo_path": "sdk/kirigami-gallery" }, "kiriki": { "description": "Kiriki is an addictive and fun dice game", "name": "kiriki", - "project_path": "kde/kdegames/kiriki", + "project_path": "kdegames/kiriki", "repo_path": "games/kiriki" }, "kirogi": { "description": "Ground control application for drones", "name": "kirogi", - "project_path": "playground/base/kirogi", + "project_path": "base/kirogi", "repo_path": "utilities/kirogi" }, "kiss": { "description": "KDE Initial System Setup", "name": "kiss", - "project_path": "playground/system/kiss", + "project_path": "system/kiss", "repo_path": "system/kiss" }, "kitemmodels": { @@ -2852,19 +2870,19 @@ "kiten": { "description": "Japanese Reference/Study Tool", "name": "kiten", - "project_path": "kde/kdeedu/kiten", + "project_path": "kdeedu/kiten", "repo_path": "education/kiten" }, "kitinerary": { "description": "Data Model and Extraction System for Travel Reservation information", "name": "kitinerary", - "project_path": "kde/pim/kitinerary", + "project_path": "pim/kitinerary", "repo_path": "pim/kitinerary" }, "kitinerary-workbench": { "description": "KItinerary Test and Development Tool", "name": "kitinerary-workbench", - "project_path": "playground/pim/kitinerary-workbench", + "project_path": "pim/kitinerary-workbench", "repo_path": "pim/kitinerary-workbench" }, "kjobwidgets": { @@ -2876,13 +2894,13 @@ "kjots": { "description": "Note taking application using Akonadi", "name": "kjots", - "project_path": "playground/pim/kjots", + "project_path": "pim/kjots", "repo_path": "pim/kjots" }, "kjournald": { "description": "Framework for interacting with systemd-journald", "name": "kjournald", - "project_path": "kde/applications/kjournald", + "project_path": "applications/kjournald", "repo_path": "system/kjournald" }, "kjs": { @@ -2900,49 +2918,49 @@ "kjumpingcube": { "description": "KJumpingCube is a simple tactical game", "name": "kjumpingcube", - "project_path": "kde/kdegames/kjumpingcube", + "project_path": "kdegames/kjumpingcube", "repo_path": "games/kjumpingcube" }, "kldap": { "description": "Library to assist working with LDAP directories", "name": "kldap", - "project_path": "kde/pim/kldap", + "project_path": "pim/kldap", "repo_path": "pim/kldap" }, "kleopatra": { "description": "Certificate manager and GUI for OpenPGP and CMS cryptography", "name": "kleopatra", - "project_path": "kde/pim/kleopatra", + "project_path": "pim/kleopatra", "repo_path": "pim/kleopatra" }, "klettres": { "description": "Learn The Alphabet", "name": "klettres", - "project_path": "kde/kdeedu/klettres", + "project_path": "kdeedu/klettres", "repo_path": "education/klettres" }, "klevernotes": { "description": "A note-taking and management application using markdown.", "name": "klevernotes", - "project_path": "extragear/office/klevernotes", + "project_path": "office/klevernotes", "repo_path": "office/klevernotes" }, "klickety": { "description": "Klickety is an adaptation of the Clickomania game", "name": "klickety", - "project_path": "kde/kdegames/klickety", + "project_path": "kdegames/klickety", "repo_path": "games/klickety" }, "klimbgrades": { "description": "Conversion utility for the difficulty rating of rock climbs", "name": "klimbgrades", - "project_path": "playground/utils/klimbgrades", + "project_path": "utils/klimbgrades", "repo_path": "utilities/klimbgrades" }, "klines": { "description": "KLines is a simple but highly addictive, one player game", "name": "klines", - "project_path": "kde/kdegames/klines", + "project_path": "kdegames/klines", "repo_path": "games/klines" }, "klinkstatus": { @@ -2954,49 +2972,49 @@ "klook": { "description": "Quick file content preview application with Dolphin integration", "name": "klook", - "project_path": "playground/base/klook", + "project_path": "base/klook", "repo_path": "graphics/klook" }, "kmag": { "description": "Screen magnifier", "name": "kmag", - "project_path": "kde/kdeaccessibility/kmag", + "project_path": "kdeaccessibility/kmag", "repo_path": "accessibility/kmag" }, "kmahjongg": { "description": "KMahjongg is a tile matching game for one or two players", "name": "kmahjongg", - "project_path": "kde/kdegames/kmahjongg", + "project_path": "kdegames/kmahjongg", "repo_path": "games/kmahjongg" }, "kmail": { "description": "State-of-the-art feature-rich email client that supports many protocols", "name": "kmail", - "project_path": "kde/pim/kmail", + "project_path": "pim/kmail", "repo_path": "pim/kmail" }, "kmail-account-wizard": { "description": "Application which assists you with the configuration of accounts in KMail", "name": "kmail-account-wizard", - "project_path": "kde/pim/kmail-account-wizard", + "project_path": "pim/kmail-account-wizard", "repo_path": "pim/kmail-account-wizard" }, "kmailtransport": { "description": "Library, KCM and KDED module to manage mail transport", "name": "kmailtransport", - "project_path": "kde/pim/kmailtransport", + "project_path": "pim/kmailtransport", "repo_path": "pim/kmailtransport" }, "kmarkdownwebview": { "description": "KPart for rendering Markdown content", "name": "kmarkdownwebview", - "project_path": "extragear/utils/kmarkdownwebview", + "project_path": "utils/kmarkdownwebview", "repo_path": "utilities/kmarkdownwebview" }, "kmbox": { "description": "Library for working with MBox format files", "name": "kmbox", - "project_path": "kde/pim/kmbox", + "project_path": "pim/kmbox", "repo_path": "pim/kmbox" }, "kmediaplayer": { @@ -3008,73 +3026,73 @@ "kmenuedit": { "description": "Menu Editor for Plasma Workspaces", "name": "kmenuedit", - "project_path": "kde/workspace/kmenuedit", + "project_path": "workspace/kmenuedit", "repo_path": "plasma/kmenuedit" }, "kmime": { "description": "Library to assist handling MIME data", "name": "kmime", - "project_path": "kde/pim/kmime", + "project_path": "pim/kmime", "repo_path": "pim/kmime" }, "kmines": { "description": "KMines is the classic Minesweeper game", "name": "kmines", - "project_path": "kde/kdegames/kmines", + "project_path": "kdegames/kmines", "repo_path": "games/kmines" }, "kmix": { "description": "Volume control program", "name": "kmix", - "project_path": "kde/kdemultimedia/kmix", + "project_path": "kdemultimedia/kmix", "repo_path": "multimedia/kmix" }, "kmoretools": { "description": "Support for downloading application assets from the network", "name": "kmoretools", - "project_path": "playground/libs/kmoretools", + "project_path": "libs/kmoretools", "repo_path": "libraries/kmoretools" }, "kmousetool": { "description": "Program that clicks the mouse for you", "name": "kmousetool", - "project_path": "kde/kdeaccessibility/kmousetool", + "project_path": "kdeaccessibility/kmousetool", "repo_path": "accessibility/kmousetool" }, "kmouth": { "description": "Type-and-say front end for speech synthesizers", "name": "kmouth", - "project_path": "kde/kdeaccessibility/kmouth", + "project_path": "kdeaccessibility/kmouth", "repo_path": "accessibility/kmouth" }, "kmplayer": { "description": "KPart-based video player plugin", "name": "kmplayer", - "project_path": "extragear/multimedia/kmplayer", + "project_path": "multimedia/kmplayer", "repo_path": "multimedia/kmplayer" }, "kmplot": { "description": "Mathematical Function Plotter", "name": "kmplot", - "project_path": "kde/kdeedu/kmplot", + "project_path": "kdeedu/kmplot", "repo_path": "education/kmplot" }, "kmuddy": { "description": "A MUD (Multi-User Dungeon) client by KDE", "name": "kmuddy", - "project_path": "playground/games/kmuddy", + "project_path": "games/kmuddy", "repo_path": "games/kmuddy" }, "kmymoney": { "description": "Personal finance manager", "name": "kmymoney", - "project_path": "extragear/office/kmymoney", + "project_path": "office/kmymoney", "repo_path": "office/kmymoney" }, "knavalbattle": { "description": "Naval Battle is a ship sinking game", "name": "knavalbattle", - "project_path": "kde/kdegames/knavalbattle", + "project_path": "kdegames/knavalbattle", "repo_path": "games/knavalbattle" }, "knemo": { @@ -3086,7 +3104,7 @@ "knetwalk": { "description": "KNetWalk: connect all the terminals to the server, in as few turns as possible", "name": "knetwalk", - "project_path": "kde/kdegames/knetwalk", + "project_path": "kdegames/knetwalk", "repo_path": "games/knetwalk" }, "knewstuff": { @@ -3098,19 +3116,19 @@ "knights": { "description": "Chess board program.", "name": "knights", - "project_path": "kde/kdegames/knights", + "project_path": "kdegames/knights", "repo_path": "games/knights" }, "knipptasch": { "description": "Personal accounting application that aims to be the simplest for basic use", "name": "knipptasch", - "project_path": "playground/office/knipptasch", + "project_path": "office/knipptasch", "repo_path": "office/knipptasch" }, "knotes": { "description": "Note-taking application", "name": "knotes", - "project_path": "kde/pim/knotes", + "project_path": "pim/knotes", "repo_path": "pim/knotes" }, "knotifications": { @@ -3128,13 +3146,13 @@ "kobjecttracking": { "description": "Library for tracking changes in QObject-based objects", "name": "kobjecttracking", - "project_path": "playground/sdk/kobjecttracking", + "project_path": "sdk/kobjecttracking", "repo_path": "sdk/kobjecttracking" }, "kodaskanna": { "description": "A multi-format 1D/2D code scanner", "name": "kodaskanna", - "project_path": "playground/graphics/kodaskanna", + "project_path": "graphics/kodaskanna", "repo_path": "graphics/kodaskanna" }, "koffice": { @@ -3188,7 +3206,7 @@ "koko": { "description": "Image gallery application", "name": "koko", - "project_path": "extragear/graphics/koko", + "project_path": "graphics/koko", "repo_path": "graphics/koko" }, "kolena": { @@ -3200,31 +3218,31 @@ "kolf": { "description": "Kolf is a miniature golf game with 2d top-down view", "name": "kolf", - "project_path": "kde/kdegames/kolf", + "project_path": "kdegames/kolf", "repo_path": "games/kolf" }, "kollision": { "description": "Kollision is a simple ball dodging game", "name": "kollision", - "project_path": "kde/kdegames/kollision", + "project_path": "kdegames/kollision", "repo_path": "games/kollision" }, "kolor-manager": { "description": "Color management KCM using Oyranos CMS", "name": "kolor-manager", - "project_path": "extragear/graphics/kolor-manager", + "project_path": "graphics/kolor-manager", "repo_path": "graphics/kolor-manager" }, "kolorfill": { "description": "Simple flood fill game", "name": "kolorfill", - "project_path": "playground/base/kolorfill", + "project_path": "base/kolorfill", "repo_path": "games/kolorfill" }, "kolourpaint": { "description": "Easy-to-use paint program", "name": "kolourpaint", - "project_path": "kde/kdegraphics/kolourpaint", + "project_path": "kdegraphics/kolourpaint", "repo_path": "graphics/kolourpaint" }, "kommander": { @@ -3236,49 +3254,49 @@ "kommit": { "description": "Graphical Git Client", "name": "kommit", - "project_path": "playground/sdk/kommit", + "project_path": "sdk/kommit", "repo_path": "sdk/kommit" }, "kompare": { "description": "Graphical File Differences Tool", "name": "kompare", - "project_path": "kde/kdesdk/kompare", + "project_path": "kdesdk/kompare", "repo_path": "sdk/kompare" }, "kongress": { "description": "Companion application for conferences", "name": "kongress", - "project_path": "extragear/utils/kongress", + "project_path": "utils/kongress", "repo_path": "utilities/kongress" }, "konqueror": { "description": "Web browser and Swiss Army knife for any kind of file management and previewing", "name": "konqueror", - "project_path": "kde/applications/konqueror", + "project_path": "applications/konqueror", "repo_path": "network/konqueror" }, "konquest": { "description": "Konquest is the KDE version of Gnu-Lactic", "name": "konquest", - "project_path": "kde/kdegames/konquest", + "project_path": "kdegames/konquest", "repo_path": "games/konquest" }, "konsole": { "description": "Terminal emulator by KDE", "name": "konsole", - "project_path": "kde/applications/konsole", + "project_path": "applications/konsole", "repo_path": "utilities/konsole" }, "kontact": { "description": "Container application to unify several major PIM applications", "name": "kontact", - "project_path": "kde/pim/kontact", + "project_path": "pim/kontact", "repo_path": "pim/kontact" }, "kontactinterface": { "description": "Support libraries to assist integration with Kontact", "name": "kontactinterface", - "project_path": "kde/pim/kontactinterface", + "project_path": "pim/kontactinterface", "repo_path": "pim/kontactinterface" }, "kontaminuti": { @@ -3290,49 +3308,49 @@ "kontrast": { "description": "Tool to check contrast for colors that allows verifying that your colors are correctly accessible", "name": "kontrast", - "project_path": "kde/kdeaccessibility/kontrast", + "project_path": "kdeaccessibility/kontrast", "repo_path": "accessibility/kontrast" }, "konversation": { "description": "User-friendly and fully-featured IRC client", "name": "konversation", - "project_path": "kde/kdenetwork/konversation", + "project_path": "kdenetwork/konversation", "repo_path": "network/konversation" }, "konvex": { "description": "3D Model Viewer", "name": "konvex", - "project_path": "playground/base/konvex", + "project_path": "base/konvex", "repo_path": "graphics/konvex" }, "kooka": { "description": "Scanning application and libkscan library", "name": "kooka", - "project_path": "playground/graphics/kooka", + "project_path": "graphics/kooka", "repo_path": "graphics/kooka" }, "kookbook": { "description": "Cookbook creator", "name": "kookbook", - "project_path": "playground/base/kookbook", + "project_path": "base/kookbook", "repo_path": "utilities/kookbook" }, "kopeninghours": { "description": "Library for parsing and evaluating OSM opening hours expressions.", "name": "kopeninghours", - "project_path": "kde/pim/kopeninghours", + "project_path": "pim/kopeninghours", "repo_path": "libraries/kopeninghours" }, "kopete": { "description": "Flexible multi-protocol instant messenger for personal and enterprise use", "name": "kopete", - "project_path": "kde/kdenetwork/kopete", + "project_path": "kdenetwork/kopete", "repo_path": "network/kopete" }, "kopete-pimpresence": { "description": "PIM Presence Plugin for Kopete", "name": "kopete-pimpresence", - "project_path": "playground/network/kopete-pimpresence", + "project_path": "network/kopete-pimpresence", "repo_path": "unmaintained/kopete-pimpresence" }, "kopete-protocol-telepathy": { @@ -3380,19 +3398,19 @@ "korganizer": { "description": "Organizational assistant, providing calendars and other similar functionality", "name": "korganizer", - "project_path": "kde/pim/korganizer", + "project_path": "pim/korganizer", "repo_path": "pim/korganizer" }, "korundum": { "description": "Ruby bindings for libraries created by the KDE community.", "name": "korundum", - "project_path": "kde/kdebindings/ruby/korundum", + "project_path": "kdebindings/ruby/korundum", "repo_path": "unmaintained/korundum" }, "kosmindoormap": { "description": "OSM multi-floor indoor map renderer", "name": "kosmindoormap", - "project_path": "kde/pim/kosmindoormap", + "project_path": "pim/kosmindoormap", "repo_path": "libraries/kosmindoormap" }, "kpackage": { @@ -3410,13 +3428,13 @@ "kpaste": { "description": "command-line tool to paste to https://paste.kde.org", "name": "kpaste", - "project_path": "playground/utils/kpaste", + "project_path": "utils/kpaste", "repo_path": "unmaintained/kpaste" }, "kpat": { "description": "KPatience offers a selection of solitaire card games", "name": "kpat", - "project_path": "kde/kdegames/kpat", + "project_path": "kdegames/kpat", "repo_path": "games/kpat" }, "kpeg": { @@ -3434,37 +3452,37 @@ "kpeoplesink": { "description": "Expose Sink contacts to KPeople", "name": "kpeoplesink", - "project_path": "playground/pim/kpeoplesink", + "project_path": "pim/kpeoplesink", "repo_path": "pim/kpeoplesink" }, "kpeoplevcard": { "description": "Expose VCard contacts to KPeople", "name": "kpeoplevcard", - "project_path": "kdereview/kpeoplevcard", + "project_path": "kpeoplevcard", "repo_path": "pim/kpeoplevcard" }, "kphotoalbum": { "description": "Photo Album for easy organization of your images", "name": "kphotoalbum", - "project_path": "extragear/graphics/kphotoalbum", + "project_path": "graphics/kphotoalbum", "repo_path": "graphics/kphotoalbum" }, "kpimtextedit": { "description": "Library that provides extended text editor for PIM applications", "name": "kpimtextedit", - "project_path": "kde/pim/kpimtextedit", + "project_path": "pim/kpimtextedit", "repo_path": "pim/kpimtextedit" }, "kpipewire": { "description": "Components relating to Flatpak 'pipewire' use in Plasma.", "name": "kpipewire", - "project_path": "kde/workspace/kpipewire", + "project_path": "workspace/kpipewire", "repo_path": "plasma/kpipewire" }, "kpkpass": { "description": "Apple Wallet Pass reader", "name": "kpkpass", - "project_path": "kde/pim/kpkpass", + "project_path": "pim/kpkpass", "repo_path": "pim/kpkpass" }, "kplayer": { @@ -3482,7 +3500,7 @@ "kpmcore": { "description": "KDE Partition Manager core library", "name": "kpmcore", - "project_path": "kde/kdeadmin/kpmcore", + "project_path": "kdeadmin/kpmcore", "repo_path": "system/kpmcore" }, "kppp": { @@ -3500,7 +3518,7 @@ "kproperty": { "description": "Property editing framework with an editor widget similar to Qt Designer", "name": "kproperty", - "project_path": "extragear/libs/kproperty", + "project_path": "libs/kproperty", "repo_path": "libraries/kproperty" }, "kpty": { @@ -3512,19 +3530,19 @@ "kpublicalerts": { "description": "Public emergency and weather alert notification.", "name": "kpublicalerts", - "project_path": "playground/utils/kpublicalerts", + "project_path": "utils/kpublicalerts", "repo_path": "utilities/kpublicalerts" }, "kpublictransport": { "description": "Library to assist with accessing public transport timetables and other data", "name": "kpublictransport", - "project_path": "kde/pim/kpublictransport", + "project_path": "pim/kpublictransport", "repo_path": "libraries/kpublictransport" }, "kqtquickcharts": { "description": "QtQuick plugin to render beautiful and interactive charts", "name": "kqtquickcharts", - "project_path": "kde/kdeedu/kqtquickcharts", + "project_path": "kdeedu/kqtquickcharts", "repo_path": "libraries/kqtquickcharts" }, "kquickcharts": { @@ -3536,31 +3554,31 @@ "kquickchatcomponents": { "description": "Set of chat components for QtQuick chat apps wishing to fit in with KDE's collection of chat apps", "name": "kquickchatcomponents", - "project_path": "kdereview/kquickchatcomponents", + "project_path": "kquickchatcomponents", "repo_path": "libraries/kquickchatcomponents" }, "kquickimageeditor": { "description": "Image editing components", "name": "kquickimageeditor", - "project_path": "extragear/libs/kquickimageeditor", + "project_path": "libs/kquickimageeditor", "repo_path": "libraries/kquickimageeditor" }, "kquickitemviews": { "description": "Qt Model compatibility layer for QML", "name": "kquickitemviews", - "project_path": "playground/libs/kquickitemviews", + "project_path": "libs/kquickitemviews", "repo_path": "libraries/kquickitemviews" }, "krdc": { "description": "Remote Desktop Client", "name": "krdc", - "project_path": "kde/kdenetwork/krdc", + "project_path": "kdenetwork/krdc", "repo_path": "network/krdc" }, "krdp": { "description": "Library and examples for creating an RDP server.", "name": "krdp", - "project_path": "kde/workspace/krdp", + "project_path": "workspace/krdp", "repo_path": "plasma/krdp" }, "krecipes": { @@ -3572,19 +3590,19 @@ "krecorder": { "description": "Audio recorder for Plasma Mobile and other platforms", "name": "krecorder", - "project_path": "extragear/utils/krecorder", + "project_path": "utils/krecorder", "repo_path": "utilities/krecorder" }, "kreenshot-editor": { "description": "Kreenshot Editor is a screenshot image editing application and shared library.", "name": "kreenshot-editor", - "project_path": "playground/graphics/kreenshot-editor", + "project_path": "graphics/kreenshot-editor", "repo_path": "unmaintained/kreenshot-editor" }, "kregexpeditor": { "description": "GUI for creating and editing regular expressions", "name": "kregexpeditor", - "project_path": "playground/utils/kregexpeditor", + "project_path": "utils/kregexpeditor", "repo_path": "utilities/kregexpeditor" }, "kremotecontrol": { @@ -3596,97 +3614,97 @@ "krename": { "description": "Utility to handle specialized file renames", "name": "krename", - "project_path": "extragear/utils/krename", + "project_path": "utils/krename", "repo_path": "utilities/krename" }, "kreport": { "description": "Framework for creation and generation of reports in multiple formats", "name": "kreport", - "project_path": "extragear/libs/kreport", + "project_path": "libs/kreport", "repo_path": "libraries/kreport" }, "kreversi": { "description": "KReversi is is a simple one player strategy game played against the computer", "name": "kreversi", - "project_path": "kde/kdegames/kreversi", + "project_path": "kdegames/kreversi", "repo_path": "games/kreversi" }, "krfb": { "description": "Desktop Sharing", "name": "krfb", - "project_path": "kde/kdenetwork/krfb", + "project_path": "kdenetwork/krfb", "repo_path": "network/krfb" }, "krita": { "description": "Krita is a free and open source cross-platform application that offers an end-to-end solution for creating digital art files from scratch built on the KDE and Qt frameworks.", "name": "krita", - "project_path": "extragear/graphics/krita", + "project_path": "graphics/krita", "repo_path": "graphics/krita" }, "krita-analogies": { "description": "Filter that tries to restyle an image using comparison with other images.", "name": "krita-analogies", - "project_path": "extragear/graphics/krita-extensions/krita-analogies", + "project_path": "graphics/krita-extensions/krita-analogies", "repo_path": "unmaintained/krita-analogies" }, "krita-ci-utilities": { "description": "CI/CD utilities for Krita builds", "name": "krita-ci-utilities", - "project_path": "playground/packaging/krita-ci-utilities", + "project_path": "packaging/krita-ci-utilities", "repo_path": "packaging/krita-ci-utilities" }, "krita-cimg": { "description": "Extension based on the cimg library. http://cimg.sourceforge.net/", "name": "krita-cimg", - "project_path": "extragear/graphics/krita-extensions/krita-cimg", + "project_path": "graphics/krita-extensions/krita-cimg", "repo_path": "unmaintained/krita-cimg" }, "krita-ctlbrush": { "description": "Brush written using the Color Transformation Language.", "name": "krita-ctlbrush", - "project_path": "extragear/graphics/krita-extensions/krita-ctlbrush", + "project_path": "graphics/krita-extensions/krita-ctlbrush", "repo_path": "unmaintained/krita-ctlbrush" }, "krita-deps-management": { "description": "Dependencies management for Krita builds across the various platforms it supports", "name": "krita-deps-management", - "project_path": "playground/packaging/krita-deps-management", + "project_path": "packaging/krita-deps-management", "repo_path": "packaging/krita-deps-management" }, "krita-deskew": { "description": "Deskew rotates an image such that text is straight, which is useful when dealing with scanned images.", "name": "krita-deskew", - "project_path": "extragear/graphics/krita-extensions/krita-deskew", + "project_path": "graphics/krita-extensions/krita-deskew", "repo_path": "unmaintained/krita-deskew" }, "krita-dither": { "description": "A dithering plugin for Krita.", "name": "krita-dither", - "project_path": "extragear/graphics/krita-extensions/krita-dither", + "project_path": "graphics/krita-extensions/krita-dither", "repo_path": "unmaintained/krita-dither" }, "krita-grayscalizer": { "description": "Simulate the use of \u201clens filter\u201d for creating grayscale images.", "name": "krita-grayscalizer", - "project_path": "extragear/graphics/krita-extensions/krita-grayscalizer", + "project_path": "graphics/krita-extensions/krita-grayscalizer", "repo_path": "unmaintained/krita-grayscalizer" }, "krita-humanbody": { "description": "Canvas decoration that display the outline of a human to help choosing the pose when drawing.", "name": "krita-humanbody", - "project_path": "extragear/graphics/krita-extensions/krita-humanbody", + "project_path": "graphics/krita-extensions/krita-humanbody", "repo_path": "unmaintained/krita-humanbody" }, "krita-imagecomplete": { "description": "ImageComplete fills in holes in your image with the gradient of the surround", "name": "krita-imagecomplete", - "project_path": "extragear/graphics/krita-extensions/krita-imagecomplete", + "project_path": "graphics/krita-extensions/krita-imagecomplete", "repo_path": "unmaintained/krita-imagecomplete" }, "krita-linesampler": { "description": "LineSampler \u201csamples\u201d the image with randomly placed lines.", "name": "krita-linesampler", - "project_path": "extragear/graphics/krita-extensions/krita-linesampler", + "project_path": "graphics/krita-extensions/krita-linesampler", "repo_path": "unmaintained/krita-linesampler" }, "krita-marketing": { @@ -3698,7 +3716,7 @@ "krita-pyramidalsharpening": { "description": "Use a pyramid to reconstruct a sharper image.", "name": "krita-pyramidalsharpening", - "project_path": "extragear/graphics/krita-extensions/krita-pyramidalsharpening", + "project_path": "graphics/krita-extensions/krita-pyramidalsharpening", "repo_path": "unmaintained/krita-pyramidalsharpening" }, "krono": { @@ -3710,7 +3728,7 @@ "kronometer": { "description": "Stopwatch application by KDE", "name": "kronometer", - "project_path": "extragear/utils/kronometer", + "project_path": "utils/kronometer", "repo_path": "utilities/kronometer" }, "kross": { @@ -3722,13 +3740,13 @@ "kross-interpreters": { "description": "Language interpreters to enable in-process scripting with Kross", "name": "kross-interpreters", - "project_path": "kde/kdebindings/kross-interpreters", + "project_path": "kdebindings/kross-interpreters", "repo_path": "libraries/kross-interpreters" }, "kruler": { "description": "A pixel measuring tool by KDE", "name": "kruler", - "project_path": "kde/kdegraphics/kruler", + "project_path": "kdegraphics/kruler", "repo_path": "graphics/kruler" }, "krunner": { @@ -3740,13 +3758,13 @@ "krusader": { "description": "Advanced twin panel (commander style) file manager", "name": "krusader", - "project_path": "extragear/utils/krusader", + "project_path": "utils/krusader", "repo_path": "utilities/krusader" }, "ksanecore": { "description": "Library providing logic to interface scanners", "name": "ksanecore", - "project_path": "extragear/libraries/ksanecore", + "project_path": "libraries/ksanecore", "repo_path": "libraries/ksanecore" }, "ksaneplugin": { @@ -3764,31 +3782,31 @@ "kscd": { "description": "CD player by KDE", "name": "kscd", - "project_path": "playground/multimedia/kscd", + "project_path": "multimedia/kscd", "repo_path": "multimedia/kscd" }, "kscreen": { "description": "KDE's screen management software", "name": "kscreen", - "project_path": "kde/workspace/kscreen", + "project_path": "workspace/kscreen", "repo_path": "plasma/kscreen" }, "kscreenlocker": { "description": "Library and components for secure lock screen architecture", "name": "kscreenlocker", - "project_path": "kde/workspace/kscreenlocker", + "project_path": "workspace/kscreenlocker", "repo_path": "plasma/kscreenlocker" }, "ksecrets": { "description": "Secrets management infrastructure", "name": "ksecrets", - "project_path": "playground/utils/ksecrets", + "project_path": "utils/ksecrets", "repo_path": "utilities/ksecrets" }, "kseexpr": { "description": "The embeddable expression engine fork for Krita", "name": "kseexpr", - "project_path": "kdereview/kseexpr", + "project_path": "kseexpr", "repo_path": "graphics/kseexpr" }, "kservice": { @@ -3800,35 +3818,35 @@ "kshim": { "description": "Create a shim to help run your project", "name": "kshim", - "project_path": "playground/sdk/kshim", + "project_path": "sdk/kshim", "repo_path": "sdk/kshim" }, "kshisen": { "description": "Shisen-Sho is a solitaire-like game played using the standard set of Mahjong tiles", "name": "kshisen", - "project_path": "kde/kdegames/kshisen", + "project_path": "kdegames/kshisen", "repo_path": "games/kshisen" }, "ksirk": { "description": "KsirK is a computerized version of a well known strategy game", "name": "ksirk", - "project_path": "kde/kdegames/ksirk", + "project_path": "kdegames/ksirk", "repo_path": "games/ksirk" }, "ksmtp": { "description": "Job-based library to send email through an SMTP server", "name": "ksmtp", - "project_path": "kde/pim/ksmtp", + "project_path": "pim/ksmtp", "repo_path": "pim/ksmtp" }, "ksnakeduel": { "description": "KSnakeDuel is a simple snake duel game", "name": "ksnakeduel", - "project_path": "kde/kdegames/ksnakeduel", + "project_path": "kdegames/ksnakeduel", "repo_path": "games/ksnakeduel" }, "ksnapshot": { - "description": "A handy utility primarily designed for taking screenshots\n\nGet KIPI plugins for \"more features\":https://www.elpauer.org/?p=509", + "description": "A handy utility primarily designed for taking screenshots", "name": "ksnapshot", "project_path": "unmaintained/ksnapshot", "repo_path": "unmaintained/ksnapshot" @@ -3836,31 +3854,31 @@ "kspaceduel": { "description": "KSpaceDuel: each of two possible players controls a satellite spaceship orbiting the sun", "name": "kspaceduel", - "project_path": "kde/kdegames/kspaceduel", + "project_path": "kdegames/kspaceduel", "repo_path": "games/kspaceduel" }, "ksquares": { "description": "KSquares is modeled after the well known pen and paper based game of Dots and Boxes", "name": "ksquares", - "project_path": "kde/kdegames/ksquares", + "project_path": "kdegames/ksquares", "repo_path": "games/ksquares" }, "ksshaskpass": { "description": "ssh-add helper that uses KWallet and KPasswordDialog", "name": "ksshaskpass", - "project_path": "kde/workspace/ksshaskpass", + "project_path": "workspace/ksshaskpass", "repo_path": "plasma/ksshaskpass" }, "kst-plot": { "description": "Fast real-time plotting program with light data analysis capabilities", "name": "kst-plot", - "project_path": "extragear/graphics/kst-plot", + "project_path": "graphics/kst-plot", "repo_path": "graphics/kst-plot" }, "kstars": { "description": "Desktop Planetarium", "name": "kstars", - "project_path": "extragear/edu/kstars", + "project_path": "edu/kstars", "repo_path": "education/kstars" }, "kstatusnotifieritem": { @@ -3872,7 +3890,7 @@ "ksudoku": { "description": "KSudoku is a logic-based symbol placement puzzle", "name": "ksudoku", - "project_path": "kde/kdegames/ksudoku", + "project_path": "kdegames/ksudoku", "repo_path": "games/ksudoku" }, "ksvg": { @@ -3884,43 +3902,43 @@ "ksysguard": { "description": "Resource usage monitor for your computer", "name": "ksysguard", - "project_path": "kde/workspace/ksysguard", + "project_path": "workspace/ksysguard", "repo_path": "plasma/ksysguard" }, "ksystemlog": { "description": "KDE SystemLog Application", "name": "ksystemlog", - "project_path": "kde/kdeadmin/ksystemlog", + "project_path": "kdeadmin/ksystemlog", "repo_path": "system/ksystemlog" }, "ksystemstats": { "description": "A plugin based system monitoring daemon.", "name": "ksystemstats", - "project_path": "kde/workspace/ksystemstats", + "project_path": "workspace/ksystemstats", "repo_path": "plasma/ksystemstats" }, "kte-collaborative": { "description": "KTextEditor plugin which allows to edit text documents collaboratively", "name": "kte-collaborative", - "project_path": "playground/network/kte-collaborative", + "project_path": "network/kte-collaborative", "repo_path": "network/kte-collaborative" }, "kteatime": { "description": "Handy timer for steeping tea", "name": "kteatime", - "project_path": "kde/kdeutils/kteatime", + "project_path": "kdeutils/kteatime", "repo_path": "utilities/kteatime" }, "ktechlab": { "description": "IDE for microcontrollers and electronics", "name": "ktechlab", - "project_path": "playground/devtools/ktechlab", + "project_path": "devtools/ktechlab", "repo_path": "sdk/ktechlab" }, "ktextaddons": { "description": "Various text handling addons", "name": "ktextaddons", - "project_path": "playground/libs/ktextaddons", + "project_path": "libs/ktextaddons", "repo_path": "libraries/ktextaddons" }, "ktexteditor": { @@ -3950,37 +3968,37 @@ "ktimer": { "description": "Little tool to execute programs after some time", "name": "ktimer", - "project_path": "kde/kdeutils/ktimer", + "project_path": "kdeutils/ktimer", "repo_path": "utilities/ktimer" }, "ktimetracker": { "description": "Todo management and time tracker", "name": "ktimetracker", - "project_path": "extragear/pim/ktimetracker", + "project_path": "pim/ktimetracker", "repo_path": "pim/ktimetracker" }, "ktnef": { "description": "Libraries to work with TNEF Email Attachments", "name": "ktnef", - "project_path": "kde/pim/ktnef", + "project_path": "pim/ktnef", "repo_path": "pim/ktnef" }, "ktorrent": { "description": "Powerful BitTorrent client", "name": "ktorrent", - "project_path": "kde/kdenetwork/ktorrent", + "project_path": "kdenetwork/ktorrent", "repo_path": "network/ktorrent" }, "ktouch": { "description": "Touch Typing Tutor", "name": "ktouch", - "project_path": "kde/kdeedu/ktouch", + "project_path": "kdeedu/ktouch", "repo_path": "education/ktouch" }, "ktp-accounts-kcm": { "description": "KCM for configuring Telepathy Instant Messaging Accounts", "name": "ktp-accounts-kcm", - "project_path": "kde/kdenetwork/ktp-accounts-kcm", + "project_path": "kdenetwork/ktp-accounts-kcm", "repo_path": "network/ktp-accounts-kcm" }, "ktp-active": { @@ -3992,49 +4010,49 @@ "ktp-approver": { "description": "KDE channel approver for Telepathy", "name": "ktp-approver", - "project_path": "kde/kdenetwork/ktp-approver", + "project_path": "kdenetwork/ktp-approver", "repo_path": "network/ktp-approver" }, "ktp-auth-handler": { "description": "UI/KWallet integration for passwords and SSL errors on account connection", "name": "ktp-auth-handler", - "project_path": "kde/kdenetwork/ktp-auth-handler", + "project_path": "kdenetwork/ktp-auth-handler", "repo_path": "network/ktp-auth-handler" }, "ktp-call-ui": { "description": "Voice/video call UI for Telepathy", "name": "ktp-call-ui", - "project_path": "kde/kdenetwork/ktp-call-ui", + "project_path": "kdenetwork/ktp-call-ui", "repo_path": "network/ktp-call-ui" }, "ktp-common-internals": { "description": "Library for KTp", "name": "ktp-common-internals", - "project_path": "kde/kdenetwork/ktp-common-internals", + "project_path": "kdenetwork/ktp-common-internals", "repo_path": "network/ktp-common-internals" }, "ktp-contact-list": { "description": "Telepathy contact list application", "name": "ktp-contact-list", - "project_path": "kde/kdenetwork/ktp-contact-list", + "project_path": "kdenetwork/ktp-contact-list", "repo_path": "network/ktp-contact-list" }, "ktp-contact-runner": { "description": "KRunner plugin for KDE Telepathy", "name": "ktp-contact-runner", - "project_path": "kde/kdenetwork/ktp-contact-runner", + "project_path": "kdenetwork/ktp-contact-runner", "repo_path": "network/ktp-contact-runner" }, "ktp-desktop-applets": { "description": "KDE Telepathy applets for the Plasma Desktop", "name": "ktp-desktop-applets", - "project_path": "kde/kdenetwork/ktp-desktop-applets", + "project_path": "kdenetwork/ktp-desktop-applets", "repo_path": "network/ktp-desktop-applets" }, "ktp-filetransfer-handler": { "description": "Telepathy file transfer handler", "name": "ktp-filetransfer-handler", - "project_path": "kde/kdenetwork/ktp-filetransfer-handler", + "project_path": "kdenetwork/ktp-filetransfer-handler", "repo_path": "network/ktp-filetransfer-handler" }, "ktp-kde": { @@ -4046,7 +4064,7 @@ "ktp-kded-module": { "description": "KDED module for KDE Telepathy that takes care of system integration", "name": "ktp-kded-module", - "project_path": "kde/kdenetwork/ktp-kded-module", + "project_path": "kdenetwork/ktp-kded-module", "repo_path": "network/ktp-kded-module" }, "ktp-kipi-plugin": { @@ -4076,7 +4094,7 @@ "ktp-send-file": { "description": "File manager plugin to launch a file transfer job with a specified contact", "name": "ktp-send-file", - "project_path": "kde/kdenetwork/ktp-send-file", + "project_path": "kdenetwork/ktp-send-file", "repo_path": "network/ktp-send-file" }, "ktp-ssh-contact": { @@ -4086,7 +4104,7 @@ "repo_path": "unmaintained/ktp-ssh-contact" }, "ktp-test-tool": { - "description": "A tool for testing out the various components of the KDE Telepathy.\n\nDEPRECATED", + "description": "A tool for testing out the various components of the KDE Telepathy", "name": "ktp-test-tool", "project_path": "unmaintained/ktp-test-tool", "repo_path": "unmaintained/ktp-test-tool" @@ -4100,25 +4118,25 @@ "ktp-text-ui": { "description": "Telepathy handler for text chats", "name": "ktp-text-ui", - "project_path": "kde/kdenetwork/ktp-text-ui", + "project_path": "kdenetwork/ktp-text-ui", "repo_path": "network/ktp-text-ui" }, "ktrip": { "description": "Public Transport Assistance for Mobile Devices", "name": "ktrip", - "project_path": "extragear/utils/ktrip", + "project_path": "utils/ktrip", "repo_path": "utilities/ktrip" }, "ktuberling": { "description": "KTuberling is a simple constructor game suitable for children and adults alike", "name": "ktuberling", - "project_path": "kde/kdegames/ktuberling", + "project_path": "kdegames/ktuberling", "repo_path": "games/ktuberling" }, "kturtle": { "description": "Educational programming environment that uses TurtleSpeak", "name": "kturtle", - "project_path": "kde/kdeedu/kturtle", + "project_path": "kdeedu/kturtle", "repo_path": "education/kturtle" }, "kturtle-data": { @@ -4142,7 +4160,7 @@ "kube": { "description": "Modern groupware client based on QtQuick and Sink", "name": "kube", - "project_path": "playground/pim/kube", + "project_path": "pim/kube", "repo_path": "pim/kube" }, "kubeplayer": { @@ -4154,37 +4172,37 @@ "kubrick": { "description": "Kubrick is based on the famous Rubik's Cube", "name": "kubrick", - "project_path": "kde/kdegames/kubrick", + "project_path": "kdegames/kubrick", "repo_path": "games/kubrick" }, "kubuntu-debug-installer": { "description": "Program to install debug packages for DrKonqi on Kubuntu", "name": "kubuntu-debug-installer", - "project_path": "playground/base/kubuntu-debug-installer", + "project_path": "base/kubuntu-debug-installer", "repo_path": "system/kubuntu-debug-installer" }, "kubuntu-driver-kcm": { "description": "KCM that uses Ubuntu driver management system to install proprietary drivers", "name": "kubuntu-driver-kcm", - "project_path": "playground/base/kubuntu-driver-kcm", + "project_path": "base/kubuntu-driver-kcm", "repo_path": "system/kubuntu-driver-kcm" }, "kubuntu-notification-helper": { "description": "Daemon that presents various notifications to Kubuntu users", "name": "kubuntu-notification-helper", - "project_path": "playground/base/kubuntu-notification-helper", + "project_path": "base/kubuntu-notification-helper", "repo_path": "system/kubuntu-notification-helper" }, "kuickshow": { "description": "A fast and convenient image viewer", "name": "kuickshow", - "project_path": "playground/graphics/kuickshow", + "project_path": "graphics/kuickshow", "repo_path": "graphics/kuickshow" }, "kunifiedpush": { "description": "UnifiedPush client components", "name": "kunifiedpush", - "project_path": "playground/libraries/kunifiedpush", + "project_path": "libraries/kunifiedpush", "repo_path": "libraries/kunifiedpush" }, "kunitconversion": { @@ -4196,7 +4214,7 @@ "kup": { "description": "Backup scheduler for the Plasma desktop", "name": "kup", - "project_path": "extragear/system/kup", + "project_path": "system/kup", "repo_path": "system/kup" }, "kuser": { @@ -4232,55 +4250,55 @@ "kwallet-pam": { "description": "PAM Integration with KWallet - Unlock KWallet when you login", "name": "kwallet-pam", - "project_path": "kde/workspace/kwallet-pam", + "project_path": "workspace/kwallet-pam", "repo_path": "plasma/kwallet-pam" }, "kwalletmanager": { "description": "Tool to manage the passwords on your system", "name": "kwalletmanager", - "project_path": "kde/kdeutils/kwalletmanager", + "project_path": "kdeutils/kwalletmanager", "repo_path": "utilities/kwalletmanager" }, "kwave": { "description": "Sound editor by KDE", "name": "kwave", - "project_path": "kde/kdemultimedia/kwave", + "project_path": "kdemultimedia/kwave", "repo_path": "multimedia/kwave" }, "kwayland": { "description": "KWayland provides a Qt-style Client and Server library wrapper for the Wayland libraries.", "name": "kwayland", - "project_path": "kde/workspace/kwayland", + "project_path": "workspace/kwayland", "repo_path": "plasma/kwayland" }, "kwayland-integration": { "description": "Integration plugins for various KDE frameworks for the Wayland windowing system", "name": "kwayland-integration", - "project_path": "kde/workspace/kwayland-integration", + "project_path": "workspace/kwayland-integration", "repo_path": "plasma/kwayland-integration" }, "kwayland-server": { "description": "Wayland Server Components built on KDE Frameworks", "name": "kwayland-server", - "project_path": "kde/workspace/kwayland-server", + "project_path": "workspace/kwayland-server", "repo_path": "plasma/kwayland-server" }, "kweather": { "description": "Weather application for Plasma Mobile", "name": "kweather", - "project_path": "extragear/utils/kweather", + "project_path": "utils/kweather", "repo_path": "utilities/kweather" }, "kweathercore": { "description": "Library to facilitate retrieval of weather information including forecasts and alerts", "name": "kweathercore", - "project_path": "extragear/libs/kweathercore", + "project_path": "libs/kweathercore", "repo_path": "libraries/kweathercore" }, "kwebkitpart": { "description": "WebKit browser component available as KPart", "name": "kwebkitpart", - "project_path": "extragear/base/kwebkitpart", + "project_path": "base/kwebkitpart", "repo_path": "libraries/kwebkitpart" }, "kwhiteboard": { @@ -4298,19 +4316,19 @@ "kwin": { "description": "Easy to use, but flexible, Wayland Compositor", "name": "kwin", - "project_path": "kde/workspace/kwin", + "project_path": "workspace/kwin", "repo_path": "plasma/kwin" }, "kwin-x11": { "description": "Easy to use, but flexible, X Window Manager", "name": "kwin-x11", - "project_path": "kde/workspace/kwin-x11", + "project_path": "workspace/kwin-x11", "repo_path": "plasma/kwin-x11" }, "kwindowsaddons": { "description": "Runtime components for KDE software on Windows", "name": "kwindowsaddons", - "project_path": "playground/base/kwindowsaddons", + "project_path": "base/kwindowsaddons", "repo_path": "libraries/kwindowsaddons" }, "kwindowsystem": { @@ -4322,19 +4340,19 @@ "kwooty": { "description": "Friendly newsgroup binary downloader for Usenet", "name": "kwooty", - "project_path": "playground/network/kwooty", + "project_path": "network/kwooty", "repo_path": "network/kwooty" }, "kwordquiz": { "description": "Flash Card Trainer", "name": "kwordquiz", - "project_path": "kde/kdeedu/kwordquiz", + "project_path": "kdeedu/kwordquiz", "repo_path": "education/kwordquiz" }, "kwrited": { "description": "Listen to traditional system notifications", "name": "kwrited", - "project_path": "kde/workspace/kwrited", + "project_path": "workspace/kwrited", "repo_path": "plasma/kwrited" }, "kxmlgui": { @@ -4352,31 +4370,31 @@ "kxstitch": { "description": "Cross stitch pattern and chart creation", "name": "kxstitch", - "project_path": "extragear/graphics/kxstitch", + "project_path": "graphics/kxstitch", "repo_path": "graphics/kxstitch" }, "labplot": { "description": "LabPlot is a FREE, open source and cross-platform Data Visualization and Analysis software accessible to everyone.", "name": "labplot", - "project_path": "extragear/edu/labplot", + "project_path": "edu/labplot", "repo_path": "education/labplot" }, "lancelot": { "description": "Alternative launcher for Plasma with a more complete set of features compared to the default", "name": "lancelot", - "project_path": "playground/base/lancelot", + "project_path": "base/lancelot", "repo_path": "plasma/lancelot" }, "latte-dock": { "description": "Replacement dock for Plasma desktops, providing an elegant and intuitive experience for your tasks and plasmoids", "name": "latte-dock", - "project_path": "extragear/base/latte-dock", + "project_path": "base/latte-dock", "repo_path": "plasma/latte-dock" }, "layer-shell-qt": { "description": "Qt component to allow applications to make use of the Wayland wl-layer-shell protocol.", "name": "layer-shell-qt", - "project_path": "kde/workspace/layer-shell-qt", + "project_path": "workspace/layer-shell-qt", "repo_path": "plasma/layer-shell-qt" }, "libbluedevil": { @@ -4388,7 +4406,7 @@ "libdebconf-kde": { "description": "A library that talks debconf protocol used to present questions", "name": "libdebconf-kde", - "project_path": "extragear/sysadmin/libdebconf-kde", + "project_path": "sysadmin/libdebconf-kde", "repo_path": "system/libdebconf-kde" }, "libechonest": { @@ -4406,19 +4424,19 @@ "libgravatar": { "description": "Library that provides Gravatar support", "name": "libgravatar", - "project_path": "kde/pim/libgravatar", + "project_path": "pim/libgravatar", "repo_path": "pim/libgravatar" }, "libkcddb": { "description": "Library used to retrieve audio CD metadata from the Internet", "name": "libkcddb", - "project_path": "kde/kdemultimedia/libkcddb", + "project_path": "kdemultimedia/libkcddb", "repo_path": "multimedia/libkcddb" }, "libkcompactdisc": { "description": "Library for interfacing with CDs", "name": "libkcompactdisc", - "project_path": "kde/kdemultimedia/libkcompactdisc", + "project_path": "kdemultimedia/libkcompactdisc", "repo_path": "multimedia/libkcompactdisc" }, "libkcw": { @@ -4430,7 +4448,7 @@ "libkdcraw": { "description": "C++ interface around LibRaw library used to decode RAW picture files", "name": "libkdcraw", - "project_path": "kde/kdegraphics/libs/libkdcraw", + "project_path": "kdegraphics/libs/libkdcraw", "repo_path": "graphics/libkdcraw" }, "libkdeedu": { @@ -4442,25 +4460,25 @@ "libkdegames": { "description": "Common code and data for many KDE games", "name": "libkdegames", - "project_path": "kde/kdegames/libkdegames", + "project_path": "kdegames/libkdegames", "repo_path": "games/libkdegames" }, "libkdepim": { "description": "Library for common KDE PIM applications", "name": "libkdepim", - "project_path": "kde/pim/libkdepim", + "project_path": "pim/libkdepim", "repo_path": "pim/libkdepim" }, "libkeduvocdocument": { "description": "Library to parse, convert, and manipulate KVTML files", "name": "libkeduvocdocument", - "project_path": "kde/kdeedu/libkeduvocdocument", + "project_path": "kdeedu/libkeduvocdocument", "repo_path": "education/libkeduvocdocument" }, "libkexiv2": { "description": "Wrapper around Exiv2 library to manipulate picture metadata as EXIF and XMP", "name": "libkexiv2", - "project_path": "kde/kdegraphics/libs/libkexiv2", + "project_path": "kdegraphics/libs/libkexiv2", "repo_path": "graphics/libkexiv2" }, "libkface": { @@ -4478,43 +4496,43 @@ "libkgapi": { "description": "Library for accessing various Google services via their public API", "name": "libkgapi", - "project_path": "kde/pim/libkgapi", + "project_path": "pim/libkgapi", "repo_path": "pim/libkgapi" }, "libkgeomap": { "description": "Wrapper around different world-map components to browse and arrange photos over a map", "name": "libkgeomap", - "project_path": "kde/kdegraphics/libs/libkgeomap", + "project_path": "kdegraphics/libs/libkgeomap", "repo_path": "graphics/libkgeomap" }, "libkimageannotator": { "description": "Utility for annotating images", "name": "libkimageannotator", - "project_path": "playground/libs/libkimageannotator", + "project_path": "libs/libkimageannotator", "repo_path": "libraries/libkimageannotator" }, "libkipi": { "description": "Qt/C++ interface to use kipi-plugins from KDE image management programs", "name": "libkipi", - "project_path": "kde/kdegraphics/libs/libkipi", + "project_path": "kdegraphics/libs/libkipi", "repo_path": "graphics/libkipi" }, "libkleo": { "description": "Library that provides cryptography support for mails", "name": "libkleo", - "project_path": "kde/pim/libkleo", + "project_path": "pim/libkleo", "repo_path": "pim/libkleo" }, "libkmahjongg": { "description": "Common code, backgrounds and tile sets for games using Mahjongg tiles", "name": "libkmahjongg", - "project_path": "kde/kdegames/libkmahjongg", + "project_path": "kdegames/libkmahjongg", "repo_path": "games/libkmahjongg" }, "libkomparediff2": { "description": "Library to compare files and strings, used in Kompare and KDevelop", "name": "libkomparediff2", - "project_path": "kde/kdesdk/libkomparediff2", + "project_path": "kdesdk/libkomparediff2", "repo_path": "sdk/libkomparediff2" }, "libkoralle": { @@ -4526,47 +4544,47 @@ "libksane": { "description": "Library providing QWidget with all the logic to interface scanners", "name": "libksane", - "project_path": "kde/kdegraphics/libs/libksane", + "project_path": "kdegraphics/libs/libksane", "repo_path": "graphics/libksane" }, "libkscreen": { "description": "KDE's screen management software", "name": "libkscreen", - "project_path": "kde/workspace/libkscreen", + "project_path": "workspace/libkscreen", "repo_path": "plasma/libkscreen" }, "libksieve": { "description": "Library which manages Sieve support", "name": "libksieve", - "project_path": "kde/pim/libksieve", + "project_path": "pim/libksieve", "repo_path": "pim/libksieve" }, "libksysguard": { "description": "Library to retrieve information on the current status of computer hardware", "name": "libksysguard", - "project_path": "kde/workspace/libksysguard", + "project_path": "workspace/libksysguard", "repo_path": "plasma/libksysguard" }, "libktorrent": { "description": "BitTorrent protocol implementation", "name": "libktorrent", - "project_path": "kde/kdenetwork/libktorrent", + "project_path": "kdenetwork/libktorrent", "repo_path": "network/libktorrent" }, "libkubuntu": { "description": "Library for Kubuntu platform integration", "name": "libkubuntu", - "project_path": "playground/base/libkubuntu", + "project_path": "base/libkubuntu", "repo_path": "libraries/libkubuntu" }, "libkvkontakte": { "description": "C++/KF5 library for asynchronous interaction with VK social network web API", "name": "libkvkontakte", - "project_path": "extragear/libs/libkvkontakte", + "project_path": "libs/libkvkontakte", "repo_path": "libraries/libkvkontakte" }, "liblikeback": { - "description": "A library that allows users to easily give feedback on software\nby embedding itself into every window and providing straight forward dialogs to\nexpress like or dislike of something.", + "description": "A library that allows users to easily give feedback on software by embedding itself into every window and providing straight forward dialogs to express like or dislike of something", "name": "liblikeback", "project_path": "unmaintained/liblikeback", "repo_path": "unmaintained/liblikeback" @@ -4574,31 +4592,31 @@ "libmediawiki": { "description": "C++ interface for MediaWiki-based web services such as Wikipedia", "name": "libmediawiki", - "project_path": "extragear/libs/libmediawiki", + "project_path": "libs/libmediawiki", "repo_path": "libraries/libmediawiki" }, "libplasma": { "description": "Plasma library and runtime components", "name": "libplasma", - "project_path": "kde/workspace/libplasma", + "project_path": "workspace/libplasma", "repo_path": "plasma/libplasma" }, "libqaccessibilityclient": { "description": "Accessibilty tools helper library, used e.g. by screen readers", "name": "libqaccessibilityclient", - "project_path": "extragear/libs/libqaccessibilityclient", + "project_path": "libs/libqaccessibilityclient", "repo_path": "libraries/libqaccessibilityclient" }, "libqapt": { "description": "A Qt wrapper library/APT implementation around the libapt-pkg library", "name": "libqapt", - "project_path": "extragear/sysadmin/libqapt", + "project_path": "sysadmin/libqapt", "repo_path": "system/libqapt" }, "libqgit2": { "description": "Qt wrapper library around the libgit2 git access library", "name": "libqgit2", - "project_path": "playground/libs/libqgit2", + "project_path": "libs/libqgit2", "repo_path": "libraries/libqgit2" }, "libqinfinity": { @@ -4610,13 +4628,13 @@ "libqmycroft": { "description": "Mycroft integration library using a mock api to integrate apps as skill in mycroft", "name": "libqmycroft", - "project_path": "playground/libs/libqmycroft", + "project_path": "libs/libqmycroft", "repo_path": "libraries/libqmycroft" }, "libqsystemd": { "description": "Simple Qt systemd interface library", "name": "libqsystemd", - "project_path": "playground/libs/libqsystemd", + "project_path": "libs/libqsystemd", "repo_path": "libraries/libqsystemd" }, "libquotient": { @@ -4652,289 +4670,289 @@ "libtmdbqt": { "description": "Library that can retrieve information about movies from the TMDb web service", "name": "libtmdbqt", - "project_path": "playground/network/libtmdbqt", + "project_path": "network/libtmdbqt", "repo_path": "libraries/libtmdbqt" }, "licensedigger": { "description": "Tools to convert existing license headers to SPDX compliant headers", "name": "licensedigger", - "project_path": "playground/sdk/licensedigger", + "project_path": "sdk/licensedigger", "repo_path": "sdk/licensedigger" }, "licentia": { "description": "Choose a license for your project", "name": "licentia", - "project_path": "kdereview/licentia", + "project_path": "licentia", "repo_path": "sdk/licentia" }, "lightdm-kde-greeter": { - "description": "Login screen using the LightDM framework.\n \n* \"LightDM project\":https://launchpad.net/lightdm\n* \"Bug Tracker\":https://bugs.kde.org/describecomponents.cgi?product=lightdm", + "description": "Login screen using the LightDM framework", "name": "lightdm-kde-greeter", - "project_path": "playground/base/lightdm-kde-greeter", + "project_path": "base/lightdm-kde-greeter", "repo_path": "plasma/lightdm-kde-greeter" }, "liquidshell": { "description": "Basic desktop shell using QtWidgets", "name": "liquidshell", - "project_path": "extragear/base/liquidshell", + "project_path": "base/liquidshell", "repo_path": "system/liquidshell" }, "lokalize": { "description": "Computer-aided translation", "name": "lokalize", - "project_path": "kde/kdesdk/lokalize", + "project_path": "kdesdk/lokalize", "repo_path": "sdk/lokalize" }, "lskat": { "description": "Lieutenant Skat (from German Offiziersskat) is a fun and engaging card game for two players", "name": "lskat", - "project_path": "kde/kdegames/lskat", + "project_path": "kdegames/lskat", "repo_path": "games/lskat" }, "macports-kde": { "description": "Macports Tree for KDE Software", "name": "macports-kde", - "project_path": "playground/sdk/macports-kde", + "project_path": "sdk/macports-kde", "repo_path": "unmaintained/macports-kde" }, "mailcommon": { "description": "Library which provides support for mail applications", "name": "mailcommon", - "project_path": "kde/pim/mailcommon", + "project_path": "pim/mailcommon", "repo_path": "pim/mailcommon" }, "mailimporter": { "description": "Library that implements importing of emails from various other email clients", "name": "mailimporter", - "project_path": "kde/pim/mailimporter", + "project_path": "pim/mailimporter", "repo_path": "pim/mailimporter" }, "mangonel": { "description": "Simple and pretty application launcher", "name": "mangonel", - "project_path": "extragear/base/mangonel", + "project_path": "base/mangonel", "repo_path": "utilities/mangonel" }, "marble": { "description": "Virtual Globe and World Atlas that you can use to learn more about the Earth", "name": "marble", - "project_path": "kde/kdeedu/marble", + "project_path": "kdeedu/marble", "repo_path": "education/marble" }, "mark": { "description": "Scientific tool for data annotation", "name": "mark", - "project_path": "playground/base/mark", + "project_path": "base/mark", "repo_path": "education/mark" }, "markdownpart": { "description": "KPart for rendering Markdown content", "name": "markdownpart", - "project_path": "kde/kdeutils/markdownpart", + "project_path": "kdeutils/markdownpart", "repo_path": "utilities/markdownpart" }, "marknote": { "description": "A simple markdown note management app", "name": "marknote", - "project_path": "extragear/office/marknote", + "project_path": "office/marknote", "repo_path": "office/marknote" }, "massif-visualizer": { "description": "Visualizer for Valgrind Massif data files", "name": "massif-visualizer", - "project_path": "extragear/sdk/massif-visualizer", + "project_path": "sdk/massif-visualizer", "repo_path": "sdk/massif-visualizer" }, "maui-accounts-dbus-daemon": { - "description": "", + "description": "Accounts DBus Daemon for Maui", "name": "maui-accounts-dbus-daemon", - "project_path": "playground/base/maui-accounts-dbus-daemon", + "project_path": "base/maui-accounts-dbus-daemon", "repo_path": "maui/maui-accounts-dbus-daemon" }, "maui-accounts-gui": { - "description": "", + "description": "Android Integration for Maui", "name": "maui-accounts-gui", - "project_path": "playground/base/maui-accounts-gui", + "project_path": "base/maui-accounts-gui", "repo_path": "maui/maui-accounts-gui" }, "maui-agenda": { "description": "Maui Calendar App", "name": "maui-agenda", - "project_path": "playground/base/maui-agenda", + "project_path": "base/maui-agenda", "repo_path": "maui/maui-agenda" }, "maui-booth": { "description": "A convergent camera app", "name": "maui-booth", - "project_path": "playground/base/maui-booth", + "project_path": "base/maui-booth", "repo_path": "maui/maui-booth" }, "maui-clip": { "description": "Video player and video collection manager", "name": "maui-clip", - "project_path": "playground/base/maui-clip", + "project_path": "base/maui-clip", "repo_path": "maui/maui-clip" }, "maui-communicator": { "description": "Contacts and dialer application", "name": "maui-communicator", - "project_path": "playground/base/maui-communicator", + "project_path": "base/maui-communicator", "repo_path": "maui/maui-communicator" }, "maui-era": { "description": "Maui Clock app", "name": "maui-era", - "project_path": "playground/base/maui-era", + "project_path": "base/maui-era", "repo_path": "maui/maui-era" }, "maui-fiery": { "description": "A convergent web browser", "name": "maui-fiery", - "project_path": "playground/base/maui-fiery", + "project_path": "base/maui-fiery", "repo_path": "maui/maui-fiery" }, "maui-libdavclient": { "description": "DAV protocol support for Maui applications", "name": "maui-libdavclient", - "project_path": "playground/base/maui-libdavclient", + "project_path": "base/maui-libdavclient", "repo_path": "maui/maui-libdavclient" }, "maui-pix": { "description": "Image gallery application", "name": "maui-pix", - "project_path": "playground/base/maui-pix", + "project_path": "base/maui-pix", "repo_path": "maui/maui-pix" }, "maui-shelf": { "description": "Document and EBook collection manager", "name": "maui-shelf", - "project_path": "playground/base/maui-shelf", + "project_path": "base/maui-shelf", "repo_path": "maui/maui-shelf" }, "maui-station": { "description": "Convergent terminal emulator", "name": "maui-station", - "project_path": "playground/base/maui-station", + "project_path": "base/maui-station", "repo_path": "maui/maui-station" }, "maui-strike": { "description": "Strike is a simple minimal IDE for the Linux phones. Code, build, and run from the phone.", "name": "maui-strike", - "project_path": "playground/sdk/maui-strike", + "project_path": "sdk/maui-strike", "repo_path": "maui/maui-strike" }, "mauikit": { "description": "Templated convergent controls and multi-platform utilities for Maui applications", "name": "mauikit", - "project_path": "playground/libs/mauikit", + "project_path": "libs/mauikit", "repo_path": "maui/mauikit" }, "mauikit-accounts": { "description": "MauiKit utilities to handle User Accounts", "name": "mauikit-accounts", - "project_path": "playground/libs/mauikit-accounts", + "project_path": "libs/mauikit-accounts", "repo_path": "maui/mauikit-accounts" }, "mauikit-archiver": { "description": "tQuick plugin for online archived/compressed files management", "name": "mauikit-archiver", - "project_path": "playground/base/mauikit-archiver", + "project_path": "base/mauikit-archiver", "repo_path": "maui/mauikit-archiver" }, "mauikit-calendar": { "description": "Calendar support components for Maui applications", "name": "mauikit-calendar", - "project_path": "playground/base/mauikit-calendar", + "project_path": "base/mauikit-calendar", "repo_path": "maui/mauikit-calendar" }, "mauikit-documents": { "description": "MauiKit QtQuick plugins for text editing", "name": "mauikit-documents", - "project_path": "playground/base/mauikit-documents", + "project_path": "base/mauikit-documents", "repo_path": "maui/mauikit-documents" }, "mauikit-filebrowsing": { "description": "MauiKit File Browsing utilities and controls", "name": "mauikit-filebrowsing", - "project_path": "playground/libs/mauikit-filebrowsing", + "project_path": "libs/mauikit-filebrowsing", "repo_path": "maui/mauikit-filebrowsing" }, "mauikit-git": { "description": "Git support components for Maui applications", "name": "mauikit-git", - "project_path": "playground/base/mauikit-git", + "project_path": "base/mauikit-git", "repo_path": "maui/mauikit-git" }, "mauikit-imagetools": { "description": "MauiKit Image Tools Components", "name": "mauikit-imagetools", - "project_path": "playground/libs/mauikit-imagetools", + "project_path": "libs/mauikit-imagetools", "repo_path": "maui/mauikit-imagetools" }, "mauikit-sdk": { "description": "SDK for Maui applications", "name": "mauikit-sdk", - "project_path": "playground/base/mauikit-sdk", + "project_path": "base/mauikit-sdk", "repo_path": "maui/mauikit-sdk" }, "mauikit-terminal": { "description": "Terminal support components for Maui applications", "name": "mauikit-terminal", - "project_path": "playground/base/mauikit-terminal", + "project_path": "base/mauikit-terminal", "repo_path": "maui/mauikit-terminal" }, "mauikit-texteditor": { "description": "MauiKit Text Editor components", "name": "mauikit-texteditor", - "project_path": "playground/libs/mauikit-texteditor", + "project_path": "libs/mauikit-texteditor", "repo_path": "maui/mauikit-texteditor" }, "mauiman": { "description": "Maui Manager Library. Server and public library API.", "name": "mauiman", - "project_path": "playground/base/mauiman", + "project_path": "base/mauiman", "repo_path": "maui/mauiman" }, "mbox-importer": { "description": "Wizard to assist with importing MBox email archives into Akonadi", "name": "mbox-importer", - "project_path": "kde/pim/mbox-importer", + "project_path": "pim/mbox-importer", "repo_path": "pim/mbox-importer" }, "md4qt": { "description": "Header-only C++ library for parsing Markdown.", "name": "md4qt", - "project_path": "playground/libs/md4qt", + "project_path": "libs/md4qt", "repo_path": "libraries/md4qt" }, "melon": { "description": "Desktop QML file manager", "name": "melon", - "project_path": "playground/system/melon", + "project_path": "system/melon", "repo_path": "system/melon" }, "merkuro": { "description": "Merkuro is a application suite designed to make handling your emails, calendars, contacts, and tasks simple.", "name": "merkuro", - "project_path": "kde/pim/merkuro", + "project_path": "pim/merkuro", "repo_path": "pim/merkuro" }, "messagelib": { "description": "Library components for messages (e.g. displaying Akonadi collections)", "name": "messagelib", - "project_path": "kde/pim/messagelib", + "project_path": "pim/messagelib", "repo_path": "pim/messagelib" }, "milou": { "description": "A dedicated search application built on top of Baloo", "name": "milou", - "project_path": "kde/workspace/milou", + "project_path": "workspace/milou", "repo_path": "plasma/milou" }, "mimetreeparser": { "description": "Parser for MIME trees", "name": "mimetreeparser", - "project_path": "kde/pim/mimetreeparser", + "project_path": "pim/mimetreeparser", "repo_path": "pim/mimetreeparser" }, "ministro": { @@ -4946,11 +4964,11 @@ "minuet": { "description": "Free and open-source software for music education", "name": "minuet", - "project_path": "kde/kdeedu/minuet", + "project_path": "kdeedu/minuet", "repo_path": "education/minuet" }, "modemmanager-qt": { - "description": "Qt wrapper for ModemManager DBus API.\n\nReport bugs in bugs.kde.org, under product frameworks-modemmanager-qt.", + "description": "Qt wrapper for ModemManager DBus API", "name": "modemmanager-qt", "project_path": "frameworks/modemmanager-qt", "repo_path": "frameworks/modemmanager-qt" @@ -4964,7 +4982,7 @@ "mpvqt": { "description": "MpvQt is a libmpv wrapper for QtQuick2 and QML", "name": "mpvqt", - "project_path": "kde/applications/mpvqt", + "project_path": "applications/mpvqt", "repo_path": "libraries/mpvqt" }, "mrdanga-player": { @@ -4976,7 +4994,7 @@ "mtp-server": { "description": "MTP server allowing file access to Plasma Mobile devices", "name": "mtp-server", - "project_path": "playground/mobile/mtp-server", + "project_path": "mobile/mtp-server", "repo_path": "plasma-mobile/mtp-server" }, "mula": { @@ -4988,43 +5006,43 @@ "muon": { "description": "A collection of package management tools for Debian-based systems", "name": "muon", - "project_path": "extragear/sysadmin/muon", + "project_path": "sysadmin/muon", "repo_path": "system/muon" }, "mycroft-bigscreen-setup": { "description": "Bigscreen first boot mycroft configuration and setup skill", "name": "mycroft-bigscreen-setup", - "project_path": "playground/utils/mycroft-bigscreen-setup", + "project_path": "utils/mycroft-bigscreen-setup", "repo_path": "plasma-bigscreen/mycroft-bigscreen-setup" }, "mycroft-gui": { "description": "The Graphical User Interface used by the Mycroft Mark II and more", "name": "mycroft-gui", - "project_path": "playground/system/mycroft-gui", + "project_path": "system/mycroft-gui", "repo_path": "system/mycroft-gui" }, "mycroft-plasmoid": { "description": "Plasma integration of different Mycroft AI services", "name": "mycroft-plasmoid", - "project_path": "extragear/utils/mycroft-plasmoid", + "project_path": "utils/mycroft-plasmoid", "repo_path": "utilities/mycroft-plasmoid" }, "mycroft-plasmoid-mobile": { "description": "Plasma Mobile integration of different Mycroft AI services", "name": "mycroft-plasmoid-mobile", - "project_path": "playground/utils/mycroft-plasmoid-mobile", + "project_path": "utils/mycroft-plasmoid-mobile", "repo_path": "plasma-mobile/mycroft-plasmoid-mobile" }, "mycroft-ptt-client": { "description": "A simple push to talk client for mycroft based on libinput for USB remotes or external devices that wish to activate the mycroft listener with a button press for Plasma Bigscreen", "name": "mycroft-ptt-client", - "project_path": "playground/utils/mycroft-ptt-client", + "project_path": "utils/mycroft-ptt-client", "repo_path": "plasma-bigscreen/mycroft-ptt-client" }, "mycroft-skill-installer": { "description": "Voice applications and mycroft skills installer for plasma bigscreen", "name": "mycroft-skill-installer", - "project_path": "playground/utils/mycroft-skill-installer", + "project_path": "utils/mycroft-skill-installer", "repo_path": "plasma-bigscreen/mycroft-skill-installer" }, "necessitas-installer-framework": { @@ -5042,23 +5060,23 @@ "neochat": { "description": "A client for matrix, the decentralized communication protocol", "name": "neochat", - "project_path": "extragear/network/neochat", + "project_path": "network/neochat", "repo_path": "network/neochat" }, "neon-docker-images": { - "description": "", + "description": "Docker packaging environment for KDE Neon", "name": "neon-docker-images", "project_path": "neon/docker-images", "repo_path": "neon/docker-images" }, "neon-neon-repositories": { - "description": "", + "description": "Repositories for Neon", "name": "neon-neon-repositories", "project_path": "neon/neon/repositories", "repo_path": "neon/neon/repositories" }, "nepomuk-core": { - "description": "The core Nepomuk system contains of the central services like file indexing, file system monitoring, query, and of course storage, as well as the corresponding client libraries.\n\nThis is a compile time dependency for kde-runtime.", + "description": "Core Nepomuk system components covering file indexing, file system monitoring, data querying and storage and corresponding client libraries", "name": "nepomuk-core", "project_path": "unmaintained/nepomuk-core", "repo_path": "unmaintained/nepomuk-core" @@ -5076,7 +5094,7 @@ "repo_path": "unmaintained/nepomuk-tools" }, "nepomuk-web-extractor": { - "description": "Extract information for Nepomuk resources from various locations.\nMore information is available in following wiki pages: [[https://techbase.kde.org/Projects/Nepomuk/WebExtractor]]", + "description": "Extract information for Nepomuk resources from various locations", "name": "nepomuk-web-extractor", "project_path": "unmaintained/nepomuk-web-extractor", "repo_path": "unmaintained/nepomuk-web-extractor" @@ -5106,7 +5124,7 @@ "repo_path": "unmaintained/nepomukextras" }, "nepomukshell": { - "description": "NepSaK - The Nepomuk Swiss Army Knife aka. NepomukShell is a maintenance and debugging tool intended for developers. \n\nIt allows to browse, query, and edit Nepomuk resources.", + "description": "Browse, query, and edit Nepomuk resources", "name": "nepomukshell", "project_path": "unmaintained/nepomukshell", "repo_path": "unmaintained/nepomukshell" @@ -5124,27 +5142,27 @@ "repo_path": "unmaintained/networkmanagement" }, "networkmanager-qt": { - "description": "Qt wrapper for NetworkManager API.\n\nReport bugs in bugs.kde.org, under product frameworks-networkmanager-qt.", + "description": "Qt wrapper for NetworkManager API.", "name": "networkmanager-qt", "project_path": "frameworks/networkmanager-qt", "repo_path": "frameworks/networkmanager-qt" }, "nomad-style": { - "description": "", + "description": "Nomad Qt Quick Controls 2 style", "name": "nomad-style", - "project_path": "playground/base/nomad-style", + "project_path": "base/nomad-style", "repo_path": "maui/nomad-style" }, "nongurigaeru": { "description": "The missing Foundation library for Qt GUI apps.", "name": "nongurigaeru", - "project_path": "playground/libs/nongurigaeru", + "project_path": "libs/nongurigaeru", "repo_path": "libraries/nongurigaeru" }, "nota": { "description": "Multi-platform text editor", "name": "nota", - "project_path": "playground/base/nota", + "project_path": "base/nota", "repo_path": "maui/nota" }, "notably": { @@ -5156,7 +5174,7 @@ "notae": { "description": "A simple note taking application that automatically saves your work", "name": "notae", - "project_path": "playground/utils/notae", + "project_path": "utils/notae", "repo_path": "utilities/notae" }, "notificationsurvey": { @@ -5168,55 +5186,55 @@ "ocean-sound-theme": { "description": "Ocean Sound Theme for Plasma", "name": "ocean-sound-theme", - "project_path": "kde/workspace/ocean-sound-theme", + "project_path": "workspace/ocean-sound-theme", "repo_path": "plasma/ocean-sound-theme" }, "ocs-apiserver": { "description": "Backend API server for the software store", "name": "ocs-apiserver", - "project_path": "playground/www/ocs-apiserver", + "project_path": "www/ocs-apiserver", "repo_path": "webapps/ocs-apiserver" }, "ocs-cdn": { "description": "Content delivery network for the software store", "name": "ocs-cdn", - "project_path": "playground/www/ocs-cdn", + "project_path": "www/ocs-cdn", "repo_path": "webapps/ocs-cdn" }, "ocs-fileserver": { "description": "File server for the software store", "name": "ocs-fileserver", - "project_path": "playground/www/ocs-fileserver", + "project_path": "www/ocs-fileserver", "repo_path": "webapps/ocs-fileserver" }, "ocs-server": { "description": "A web server which provides OCS (Open Collaboration Services) functionality, and a web demo client", "name": "ocs-server", - "project_path": "playground/www/ocs-server", + "project_path": "www/ocs-server", "repo_path": "webapps/ocs-server" }, "ocs-webserver": { "description": "Webserver for running a software store", "name": "ocs-webserver", - "project_path": "playground/www/ocs-webserver", + "project_path": "www/ocs-webserver", "repo_path": "webapps/ocs-webserver" }, "okteta": { "description": "Hex editor for viewing and editing the raw data of files", "name": "okteta", - "project_path": "extragear/utils/okteta", + "project_path": "utils/okteta", "repo_path": "utilities/okteta" }, "okular": { "description": "KDE document viewer", "name": "okular", - "project_path": "kde/kdegraphics/okular", + "project_path": "kdegraphics/okular", "repo_path": "graphics/okular" }, "optiimage": { "description": "Optimize your images with OptiImage, a useful image compressor that supports PNG, JPEG, WebP and SVG file types.", "name": "optiimage", - "project_path": "playground/graphics/optiimage", + "project_path": "graphics/optiimage", "repo_path": "graphics/optiimage" }, "osx-patches": { @@ -5228,7 +5246,7 @@ "oxygen": { "description": "The Oxygen Style for Qt/KDE Applications", "name": "oxygen", - "project_path": "kde/workspace/oxygen", + "project_path": "workspace/oxygen", "repo_path": "plasma/oxygen" }, "oxygen-fonts": { @@ -5240,7 +5258,7 @@ "oxygen-gtk": { "description": "Port of the Oxygen widget theme to GTK", "name": "oxygen-gtk", - "project_path": "playground/artwork/oxygen-gtk", + "project_path": "artwork/oxygen-gtk", "repo_path": "plasma/oxygen-gtk" }, "oxygen-icons": { @@ -5252,7 +5270,7 @@ "oxygen-sounds": { "description": "The Oxygen Sound Theme", "name": "oxygen-sounds", - "project_path": "kde/workspace/oxygen-sounds", + "project_path": "workspace/oxygen-sounds", "repo_path": "plasma/oxygen-sounds" }, "oxygen-transparent": { @@ -5276,61 +5294,61 @@ "palapeli": { "description": "Palapeli is a single-player jigsaw puzzle game", "name": "palapeli", - "project_path": "kde/kdegames/palapeli", + "project_path": "kdegames/palapeli", "repo_path": "games/palapeli" }, "paleta": { "description": "Color utilities", "name": "paleta", - "project_path": "playground/base/paleta", + "project_path": "base/paleta", "repo_path": "maui/paleta" }, "parley": { "description": "Vocabulary Trainer", "name": "parley", - "project_path": "kde/kdeedu/parley", + "project_path": "kdeedu/parley", "repo_path": "education/parley" }, "partitionmanager": { "description": "Manage the disk devices, partitions and file systems on your computer", "name": "partitionmanager", - "project_path": "kde/kdeadmin/partitionmanager", + "project_path": "kdeadmin/partitionmanager", "repo_path": "system/partitionmanager" }, "peertube-voice-application": { "description": "Peertube video player voice application and mycroft skill for Plasma Bigscreen", "name": "peertube-voice-application", - "project_path": "playground/utils/peertube-voice-application", + "project_path": "utils/peertube-voice-application", "repo_path": "plasma-bigscreen/peertube-voice-application" }, "perceptualcolor": { "description": "Qt GUI components for choosing colors, with focus on an intuitive and perceptually uniform presentatio", "name": "perceptualcolor", - "project_path": "playground/libs/perceptualcolor", + "project_path": "libs/perceptualcolor", "repo_path": "libraries/perceptualcolor" }, "perlkde": { "description": "Perl bindings for libraries created by the KDE community.", "name": "perlkde", - "project_path": "kde/kdebindings/perl/perlkde", + "project_path": "kdebindings/perl/perlkde", "repo_path": "unmaintained/perlkde" }, "perlqt": { "description": "Perl bindings for the Qt libraries.", "name": "perlqt", - "project_path": "kde/kdebindings/perl/perlqt", + "project_path": "kdebindings/perl/perlqt", "repo_path": "unmaintained/perlqt" }, "person-viewer": { "description": "Simple address book application displaying info about aggregated contacts", "name": "person-viewer", - "project_path": "playground/pim/person-viewer", + "project_path": "pim/person-viewer", "repo_path": "unmaintained/person-viewer" }, "peruse": { - "description": "A comic book viewer and creator based on Frameworks 5, for use on multiple form factors", + "description": "A comic book viewer and creator", "name": "peruse", - "project_path": "extragear/graphics/peruse", + "project_path": "graphics/peruse", "repo_path": "graphics/peruse" }, "phoneblocker": { @@ -5402,31 +5420,31 @@ "picmi": { "description": "A nonogram logic game by KDE", "name": "picmi", - "project_path": "kde/kdegames/picmi", + "project_path": "kdegames/picmi", "repo_path": "games/picmi" }, "pico-wizard": { "description": "A Post Installation Configuration Wizard for Linux OSes", "name": "pico-wizard", - "project_path": "playground/base/pico-wizard", + "project_path": "base/pico-wizard", "repo_path": "plasma/pico-wizard" }, "pikasso": { "description": "Simple drawing programs using Kirigami for the UI and Rust for the rendering.", "name": "pikasso", - "project_path": "playground/graphics/pikasso", + "project_path": "graphics/pikasso", "repo_path": "graphics/pikasso" }, "pim-data-exporter": { "description": "Application to assist you with backing up and archiving of PIM data", "name": "pim-data-exporter", - "project_path": "kde/pim/pim-data-exporter", + "project_path": "pim/pim-data-exporter", "repo_path": "pim/pim-data-exporter" }, "pim-sieve-editor": { "description": "Application to assist with editing IMAP Sieve filters", "name": "pim-sieve-editor", - "project_path": "kde/pim/pim-sieve-editor", + "project_path": "pim/pim-sieve-editor", "repo_path": "pim/pim-sieve-editor" }, "pim-storage-service-manager": { @@ -5438,19 +5456,19 @@ "pim-technical-roadmap": { "description": "Project to track the PIM Technical Roadmap", "name": "pim-technical-roadmap", - "project_path": "playground/pim/pim-technical-roadmap", + "project_path": "pim/pim-technical-roadmap", "repo_path": "pim/pim-technical-roadmap" }, "pimcommon": { "description": "Common library components for KDE PIM", "name": "pimcommon", - "project_path": "kde/pim/pimcommon", + "project_path": "pim/pimcommon", "repo_path": "pim/pimcommon" }, "plank-player": { "description": "Multimedia Player for playing local files on Plasma Bigscreen allowing navigation with just a remote control", "name": "plank-player", - "project_path": "kde/workspace/plank-player", + "project_path": "workspace/plank-player", "repo_path": "plasma/plank-player" }, "plasma-active-kickstart": { @@ -5468,37 +5486,37 @@ "plasma-active-window-control": { "description": "Active Window Control applet for the Plasma Desktop", "name": "plasma-active-window-control", - "project_path": "extragear/base/plasma-active-window-control", + "project_path": "base/plasma-active-window-control", "repo_path": "plasma/plasma-active-window-control" }, "plasma-activities": { "description": "Core components for the KDE's Activities System", "name": "plasma-activities", - "project_path": "kde/workspace/plasma-activities", + "project_path": "workspace/plasma-activities", "repo_path": "plasma/plasma-activities" }, "plasma-activities-stats": { "description": "A library for accessing the usage data collected by the activities system.", "name": "plasma-activities-stats", - "project_path": "kde/workspace/plasma-activities-stats", + "project_path": "workspace/plasma-activities-stats", "repo_path": "plasma/plasma-activities-stats" }, "plasma-bigscreen": { "description": "Plasma shell for TVs", "name": "plasma-bigscreen", - "project_path": "kde/workspace/plasma-bigscreen", + "project_path": "workspace/plasma-bigscreen", "repo_path": "plasma/plasma-bigscreen" }, "plasma-browser-integration": { "description": "Components necessary to integrate browsers into the Plasma Desktop", "name": "plasma-browser-integration", - "project_path": "kde/workspace/plasma-browser-integration", + "project_path": "workspace/plasma-browser-integration", "repo_path": "plasma/plasma-browser-integration" }, "plasma-camera": { "description": "Camera application for Plasma Mobile", "name": "plasma-camera", - "project_path": "extragear/base/plasma-camera", + "project_path": "base/plasma-camera", "repo_path": "plasma-mobile/plasma-camera" }, "plasma-crystal": { @@ -5510,37 +5528,37 @@ "plasma-desktop": { "description": "Plasma for the Desktop", "name": "plasma-desktop", - "project_path": "kde/workspace/plasma-desktop", + "project_path": "workspace/plasma-desktop", "repo_path": "plasma/plasma-desktop" }, "plasma-dialer": { "description": "Dialer for Plasma Mobile", "name": "plasma-dialer", - "project_path": "extragear/mobile/plasma-dialer", + "project_path": "mobile/plasma-dialer", "repo_path": "plasma-mobile/plasma-dialer" }, "plasma-disks": { "description": "Monitors S.M.A.R.T. capable devices for imminent failure.", "name": "plasma-disks", - "project_path": "kde/workspace/plasma-disks", + "project_path": "workspace/plasma-disks", "repo_path": "plasma/plasma-disks" }, "plasma-firewall": { "description": "Control Panel for your system firewall", "name": "plasma-firewall", - "project_path": "kde/workspace/plasma-firewall", + "project_path": "workspace/plasma-firewall", "repo_path": "plasma/plasma-firewall" }, "plasma-integration": { "description": "Qt Platform Theme integration plugins for Plasma Workspaces", "name": "plasma-integration", - "project_path": "kde/workspace/plasma-integration", + "project_path": "workspace/plasma-integration", "repo_path": "plasma/plasma-integration" }, "plasma-keyboard": { "description": "Virtual Keyboard for Qt based desktops", "name": "plasma-keyboard", - "project_path": "playground/workspace/plasma-keyboard", + "project_path": "workspace/plasma-keyboard", "repo_path": "plasma/plasma-keyboard" }, "plasma-lionmail": { @@ -5549,16 +5567,22 @@ "project_path": "unmaintained/plasma-lionmail", "repo_path": "unmaintained/plasma-lionmail" }, + "plasma-login-manager": { + "description": "Plasma Login Manager", + "name": "plasma-login-manager", + "project_path": "workspace/plasma-login-manager", + "repo_path": "plasma/plasma-login-manager" + }, "plasma-maliit-framework": { "description": "Framework for Maliit integration with Plasma", "name": "plasma-maliit-framework", - "project_path": "playground/mobile/plasma-maliit-framework", + "project_path": "mobile/plasma-maliit-framework", "repo_path": "plasma-mobile/plasma-maliit-framework" }, "plasma-maliit-plugins": { "description": "Plasma integration for Maliit virtual keyboard", "name": "plasma-maliit-plugins", - "project_path": "playground/mobile/plasma-maliit-plugins", + "project_path": "mobile/plasma-maliit-plugins", "repo_path": "plasma-mobile/plasma-maliit-plugins" }, "plasma-mediacenter": { @@ -5570,13 +5594,13 @@ "plasma-meetings": { "description": "Project to track the bi-weekly Plasma team meetings", "name": "plasma-meetings", - "project_path": "playground/workspace/plasma-meetings", + "project_path": "workspace/plasma-meetings", "repo_path": "plasma/plasma-meetings" }, "plasma-mobile": { "description": "Plasma shell for mobile devices", "name": "plasma-mobile", - "project_path": "kde/workspace/plasma-mobile", + "project_path": "workspace/plasma-mobile", "repo_path": "plasma/plasma-mobile" }, "plasma-mobile-config": { @@ -5594,97 +5618,97 @@ "plasma-mobile-history": { "description": "A complete Plasma workspace targeted from small handheld devices to larger tablets.", "name": "plasma-mobile-history", - "project_path": "extragear/base/plasma-mobile-history", + "project_path": "base/plasma-mobile-history", "repo_path": "unmaintained/plasma-mobile-history" }, "plasma-mobile-sounds": { "description": "Sounds for Plasma Mobile devices", "name": "plasma-mobile-sounds", - "project_path": "playground/mobile/plasma-mobile-sounds", + "project_path": "mobile/plasma-mobile-sounds", "repo_path": "plasma-mobile/plasma-mobile-sounds" }, "plasma-nano": { "description": "A minimal Plasma shell package", "name": "plasma-nano", - "project_path": "kde/workspace/plasma-nano", + "project_path": "workspace/plasma-nano", "repo_path": "plasma/plasma-nano" }, "plasma-nm": { "description": "Plasma applet written in QML for managing network connections", "name": "plasma-nm", - "project_path": "kde/workspace/plasma-nm", + "project_path": "workspace/plasma-nm", "repo_path": "plasma/plasma-nm" }, "plasma-pa": { "description": "Plasma applet for audio volume management using PulseAudio", "name": "plasma-pa", - "project_path": "kde/workspace/plasma-pa", + "project_path": "workspace/plasma-pa", "repo_path": "plasma/plasma-pa" }, "plasma-packagekit": { "description": "Plasma applet to monitor Packagekit", "name": "plasma-packagekit", - "project_path": "playground/base/plasma-packagekit", + "project_path": "base/plasma-packagekit", "repo_path": "system/plasma-packagekit" }, "plasma-pass": { "description": "Plasma applet for the Pass password manager", "name": "plasma-pass", - "project_path": "extragear/base/plasma-pass", + "project_path": "base/plasma-pass", "repo_path": "plasma/plasma-pass" }, "plasma-phone-settings": { "description": "Configuration files for Plasma Mobile deployments", "name": "plasma-phone-settings", - "project_path": "playground/mobile/plasma-phone-settings", + "project_path": "mobile/plasma-phone-settings", "repo_path": "plasma-mobile/plasma-phone-settings" }, "plasma-phonebook": { "description": "Phone book for Plasma Mobile", "name": "plasma-phonebook", - "project_path": "extragear/base/plasma-phonebook", + "project_path": "base/plasma-phonebook", "repo_path": "plasma-mobile/plasma-phonebook" }, "plasma-pk-updates": { "description": "Plasma applet for software updates using PackageKit", "name": "plasma-pk-updates", - "project_path": "playground/base/plasma-pk-updates", + "project_path": "base/plasma-pk-updates", "repo_path": "system/plasma-pk-updates" }, "plasma-redshift-control": { "description": "Redshift control applet for the Plasma Desktop", "name": "plasma-redshift-control", - "project_path": "extragear/base/plasma-redshift-control", + "project_path": "base/plasma-redshift-control", "repo_path": "plasma/plasma-redshift-control" }, "plasma-remotecontrollers": { "description": "Translate various input device events into keyboard and pointer events", "name": "plasma-remotecontrollers", - "project_path": "kde/workspace/plasma-remotecontrollers", + "project_path": "workspace/plasma-remotecontrollers", "repo_path": "plasma-bigscreen/plasma-remotecontrollers" }, "plasma-samegame": { "description": "Samegame clone suitable for mobile devices", "name": "plasma-samegame", - "project_path": "extragear/base/plasma-samegame", + "project_path": "base/plasma-samegame", "repo_path": "plasma-mobile/plasma-samegame" }, "plasma-sdk": { "description": "Applications useful for Plasma development", "name": "plasma-sdk", - "project_path": "kde/workspace/plasma-sdk", + "project_path": "workspace/plasma-sdk", "repo_path": "plasma/plasma-sdk" }, "plasma-settings": { "description": "Settings application for Plasma Mobile", "name": "plasma-settings", - "project_path": "extragear/base/plasma-settings", + "project_path": "base/plasma-settings", "repo_path": "plasma-mobile/plasma-settings" }, "plasma-simplemenu": { "description": "Simplified menu for your Plasma Desktop", "name": "plasma-simplemenu", - "project_path": "extragear/base/plasma-simplemenu", + "project_path": "base/plasma-simplemenu", "repo_path": "plasma/plasma-simplemenu" }, "plasma-systemd-integration": { @@ -5696,25 +5720,25 @@ "plasma-systemmonitor": { "description": "An interface for monitoring system sensors, process information and other system resources", "name": "plasma-systemmonitor", - "project_path": "kde/workspace/plasma-systemmonitor", + "project_path": "workspace/plasma-systemmonitor", "repo_path": "plasma/plasma-systemmonitor" }, "plasma-tests": { "description": "Tests for the Plasma Workspace", "name": "plasma-tests", - "project_path": "kde/workspace/plasma-tests", + "project_path": "workspace/plasma-tests", "repo_path": "plasma/plasma-tests" }, "plasma-thunderbolt": { "description": "Plasma integration for controlling Thunderbolt devices", "name": "plasma-thunderbolt", - "project_path": "kde/workspace/plasma-thunderbolt", + "project_path": "workspace/plasma-thunderbolt", "repo_path": "plasma/plasma-thunderbolt" }, "plasma-vault": { "description": "Plasma applet and services for creating encrypted vaults", "name": "plasma-vault", - "project_path": "kde/workspace/plasma-vault", + "project_path": "workspace/plasma-vault", "repo_path": "plasma/plasma-vault" }, "plasma-wallpaper-updater": { @@ -5732,37 +5756,37 @@ "plasma-welcome": { "description": "A friendly onboarding wizard for Plasma", "name": "plasma-welcome", - "project_path": "kde/workspace/plasma-welcome", + "project_path": "workspace/plasma-welcome", "repo_path": "plasma/plasma-welcome" }, "plasma-workspace": { "description": "Various components needed to run a Plasma-based environment", "name": "plasma-workspace", - "project_path": "kde/workspace/plasma-workspace", + "project_path": "workspace/plasma-workspace", "repo_path": "plasma/plasma-workspace" }, "plasma-workspace-wallpapers": { "description": "Wallpapers for Plasma Workspaces", "name": "plasma-workspace-wallpapers", - "project_path": "kde/workspace/plasma-workspace-wallpapers", + "project_path": "workspace/plasma-workspace-wallpapers", "repo_path": "plasma/plasma-workspace-wallpapers" }, "plasma5support": { "description": "Support components for porting from KF5/Qt5 to KF6/Qt6", "name": "plasma5support", - "project_path": "kde/workspace/plasma5support", + "project_path": "workspace/plasma5support", "repo_path": "plasma/plasma5support" }, "plasmate": { "description": "Plasma Applet Development Environment", "name": "plasmate", - "project_path": "playground/sdk/plasmate", + "project_path": "sdk/plasmate", "repo_path": "unmaintained/plasmate" }, "plasmatube": { "description": "Kirigami YouTube video player based on QtMultimedia and youtube-dl", "name": "plasmatube", - "project_path": "playground/mobile/plasmatube", + "project_path": "mobile/plasmatube", "repo_path": "multimedia/plasmatube" }, "plasmoid-eventlist": { @@ -5774,31 +5798,31 @@ "plymouth-kcm": { "description": "KCM to manage the Plymouth (Boot) theme", "name": "plymouth-kcm", - "project_path": "kde/workspace/plymouth-kcm", + "project_path": "workspace/plymouth-kcm", "repo_path": "plasma/plymouth-kcm" }, "pokipoki": { "description": "Persistent object framework", "name": "pokipoki", - "project_path": "kdereview/pokipoki", + "project_path": "pokipoki", "repo_path": "libraries/pokipoki" }, "polinpin": { "description": "Site for conducting tests", "name": "polinpin", - "project_path": "playground/www/polinpin", + "project_path": "www/polinpin", "repo_path": "webapps/polinpin" }, "polkit-kde-agent-1": { "description": "Daemon providing a Polkit authentication UI for Plasma", "name": "polkit-kde-agent-1", - "project_path": "kde/workspace/polkit-kde-agent-1", + "project_path": "workspace/polkit-kde-agent-1", "repo_path": "plasma/polkit-kde-agent-1" }, "polkit-kde-kcmodules-1": { "description": "Set of configuration modules which allows administrator to change polkit settings.", "name": "polkit-kde-kcmodules-1", - "project_path": "playground/system/polkit-kde-kcmodules-1", + "project_path": "system/polkit-kde-kcmodules-1", "repo_path": "system/polkit-kde-kcmodules-1" }, "polkit-qt-1": { @@ -5810,7 +5834,7 @@ "pology": { "description": "Library and collection of tools for in-depth processing of PO files", "name": "pology", - "project_path": "playground/sdk/pology", + "project_path": "sdk/pology", "repo_path": "sdk/pology" }, "poppler": { @@ -5822,25 +5846,25 @@ "powerdevil": { "description": "Manages the power consumption settings of a Plasma shell", "name": "powerdevil", - "project_path": "kde/workspace/powerdevil", + "project_path": "workspace/powerdevil", "repo_path": "plasma/powerdevil" }, "powerplant": { "description": "An app to keep track of your plants' needs", "name": "powerplant", - "project_path": "playground/utils/powerplant", + "project_path": "utils/powerplant", "repo_path": "utilities/powerplant" }, "poxml": { "description": "Translate DocBook XML files using gettext PO files", "name": "poxml", - "project_path": "kde/kdesdk/poxml", + "project_path": "kdesdk/poxml", "repo_path": "sdk/poxml" }, "print-manager": { "description": "A tool for managing print jobs and printers", "name": "print-manager", - "project_path": "kde/workspace/print-manager", + "project_path": "workspace/print-manager", "repo_path": "plasma/print-manager" }, "printer-applet": { @@ -5870,7 +5894,7 @@ "pulseaudio-qt": { "description": "Qt bindings for libpulse", "name": "pulseaudio-qt", - "project_path": "extragear/libs/pulseaudio-qt", + "project_path": "libs/pulseaudio-qt", "repo_path": "libraries/pulseaudio-qt" }, "purpose": { @@ -5882,19 +5906,19 @@ "pvfviewer": { "description": "PC Stitch Pattern Viewer", "name": "pvfviewer", - "project_path": "extragear/graphics/pvfviewer", + "project_path": "graphics/pvfviewer", "repo_path": "graphics/pvfviewer" }, "pykde4": { "description": "Python KDE bindings using PyQt4 SIP technology.", "name": "pykde4", - "project_path": "kde/kdebindings/python/pykde4", + "project_path": "kdebindings/python/pykde4", "repo_path": "unmaintained/pykde4" }, "pykde5": { "description": "Python bindings for KF5", "name": "pykde5", - "project_path": "kde/kdebindings/python/pykde5", + "project_path": "kdebindings/python/pykde5", "repo_path": "libraries/pykde5" }, "qca": { @@ -5912,19 +5936,19 @@ "qml-lsp": { "description": "Collection of QML tools, including qml-lsp, qml-dap, and qml-refactor-fairy", "name": "qml-lsp", - "project_path": "playground/sdk/qml-lsp", + "project_path": "sdk/qml-lsp", "repo_path": "sdk/qml-lsp" }, "qmlkonsole": { "description": "Terminal app for Plasma Mobile", "name": "qmlkonsole", - "project_path": "playground/mobile/qmlkonsole", + "project_path": "mobile/qmlkonsole", "repo_path": "plasma-mobile/qmlkonsole" }, "qmlonline": { "description": "Browser based QML Renderer", "name": "qmlonline", - "project_path": "playground/www/qmlonline", + "project_path": "www/qmlonline", "repo_path": "webapps/qmlonline" }, "qmltermwidget": { @@ -5942,7 +5966,7 @@ "qqc2-breeze-style": { "description": "Breeze inspired QQC2 Style", "name": "qqc2-breeze-style", - "project_path": "kde/workspace/qqc2-breeze-style", + "project_path": "workspace/qqc2-breeze-style", "repo_path": "plasma/qqc2-breeze-style" }, "qqc2-desktop-style": { @@ -5954,7 +5978,7 @@ "qrca": { "description": "QR code scanner for Plasma Mobile", "name": "qrca", - "project_path": "kdereview/utilities/qrca", + "project_path": "utilities/qrca", "repo_path": "utilities/qrca" }, "qt1": { @@ -5978,13 +6002,13 @@ "qtcurve": { "description": "Style engine for Qt and other toolkits", "name": "qtcurve", - "project_path": "extragear/base/qtcurve", + "project_path": "base/qtcurve", "repo_path": "system/qtcurve" }, "qtjolie": { "description": "Qt binding to use the Jolie service-oriented framework", "name": "qtjolie", - "project_path": "playground/libs/qtjolie", + "project_path": "libs/qtjolie", "repo_path": "libraries/qtjolie" }, "qtkeychain": { @@ -5996,49 +6020,49 @@ "qtruby": { "description": "Ruby bindings for the Qt libraries.", "name": "qtruby", - "project_path": "kde/kdebindings/ruby/qtruby", + "project_path": "kdebindings/ruby/qtruby", "repo_path": "unmaintained/qtruby" }, "quanta": { "description": "Quanta, an IDE for Web Development based on the KDevelop Platform.", "name": "quanta", - "project_path": "playground/devtools/quanta", + "project_path": "devtools/quanta", "repo_path": "unmaintained/quanta" }, "qxmpp": { "description": "C++ XMPP client and server library", "name": "qxmpp", - "project_path": "playground/libs/qxmpp", + "project_path": "libs/qxmpp", "repo_path": "libraries/qxmpp" }, "qyoto": { "description": ".NET/Mono bindings for the Qt libraries.", "name": "qyoto", - "project_path": "kde/kdebindings/csharp/qyoto", + "project_path": "kdebindings/csharp/qyoto", "repo_path": "unmaintained/qyoto" }, "rattlesnake": { "description": "Rattlesnake is a metronome app for mobile and desktop.", "name": "rattlesnake", - "project_path": "playground/multimedia/rattlesnake", + "project_path": "multimedia/rattlesnake", "repo_path": "multimedia/rattlesnake" }, "raven": { "description": "A mail client for Plasma Mobile", "name": "raven", - "project_path": "playground/mobile/raven", + "project_path": "mobile/raven", "repo_path": "plasma-mobile/raven" }, "rcharactersheet": { "description": "Rolisteam Character Set Shared Components", "name": "rcharactersheet", - "project_path": "playground/games/rcharactersheet", + "project_path": "games/rcharactersheet", "repo_path": "rolisteam/rcharactersheet" }, "rcse": { "description": "Character Set IDE for Rolisteam applications.", "name": "rcse", - "project_path": "playground/games/rcse", + "project_path": "games/rcse", "repo_path": "rolisteam/rcse" }, "rekollect": { @@ -6056,13 +6080,13 @@ "release-buddy": { "description": "KDE Release and Packaging System", "name": "release-buddy", - "project_path": "playground/utils/release-buddy", + "project_path": "utils/release-buddy", "repo_path": "unmaintained/release-buddy" }, "releaseme": { "description": "Release script framework", "name": "releaseme", - "project_path": "playground/sdk/releaseme", + "project_path": "sdk/releaseme", "repo_path": "sdk/releaseme" }, "repo-management": { @@ -6074,79 +6098,79 @@ "ring-kde": { "description": "Qt-based Ring communication framework (www.ring.cx) client", "name": "ring-kde", - "project_path": "extragear/pim/ring-kde", + "project_path": "pim/ring-kde", "repo_path": "network/ring-kde" }, "rkward": { "description": "Easily extensible and easy-to-use IDE/GUI for R", "name": "rkward", - "project_path": "extragear/education/rkward", + "project_path": "education/rkward", "repo_path": "education/rkward" }, "rocs": { "description": "An educational Graph Theory IDE", "name": "rocs", - "project_path": "kde/kdeedu/rocs", + "project_path": "kdeedu/rocs", "repo_path": "education/rocs" }, "rolisteam": { "description": "Virtual Tabletop Backend for Games", "name": "rolisteam", - "project_path": "playground/games/rolisteam", + "project_path": "games/rolisteam", "repo_path": "rolisteam/rolisteam" }, "rolisteam-common": { "description": "Shared Components for Rolisteam", "name": "rolisteam-common", - "project_path": "playground/games/rolisteam-common", + "project_path": "games/rolisteam-common", "repo_path": "rolisteam/rolisteam-common" }, "rolisteam-community-data": { "description": "Contributed Resources for Rolisteam Applications (Character Sheets, Themes, etc)", "name": "rolisteam-community-data", - "project_path": "playground/games/rolisteam-community-data", + "project_path": "games/rolisteam-community-data", "repo_path": "rolisteam/rolisteam-community-data" }, "rolisteam-diceparser": { "description": "Rolisteam Dice Handling Components", "name": "rolisteam-diceparser", - "project_path": "playground/games/rolisteam-diceparser", + "project_path": "games/rolisteam-diceparser", "repo_path": "rolisteam/rolisteam-diceparser" }, "rolisteam-packaging": { "description": "Packaging resources for Rolisteam (Windows, Mac, Docker image, Snap and Debian packages)", "name": "rolisteam-packaging", - "project_path": "playground/games/rolisteam-packaging", + "project_path": "games/rolisteam-packaging", "repo_path": "rolisteam/rolisteam-packaging" }, "rolisteam-plugins": { "description": "Various Shared Plugins for Rolisteam", "name": "rolisteam-plugins", - "project_path": "playground/games/rolisteam-plugins", + "project_path": "games/rolisteam-plugins", "repo_path": "rolisteam/rolisteam-plugins" }, "rsibreak": { "description": "Helps prevent Repetitive Strain Injury by reminding you to take a break", "name": "rsibreak", - "project_path": "extragear/utils/rsibreak", + "project_path": "utils/rsibreak", "repo_path": "utilities/rsibreak" }, "ruqola": { "description": "KDE client for Rocket Chat", "name": "ruqola", - "project_path": "extragear/network/ruqola", + "project_path": "network/ruqola", "repo_path": "network/ruqola" }, "rust-qt-binding-generator": { "description": "Generate bindings to use Rust code in Qt and QML", "name": "rust-qt-binding-generator", - "project_path": "extragear/sdk/rust-qt-binding-generator", + "project_path": "sdk/rust-qt-binding-generator", "repo_path": "sdk/rust-qt-binding-generator" }, "samba-mounter": { "description": "Samba Share Mounter", "name": "samba-mounter", - "project_path": "playground/base/samba-mounter", + "project_path": "base/samba-mounter", "repo_path": "system/samba-mounter" }, "scribo": { @@ -6158,13 +6182,13 @@ "sddm-kcm": { "description": "Configuration module for SDDM", "name": "sddm-kcm", - "project_path": "kde/workspace/sddm-kcm", + "project_path": "workspace/sddm-kcm", "repo_path": "plasma/sddm-kcm" }, "selenium-webdriver-at-spi": { "description": "Selenium/Appium WebDriver implementation based on AT-SPI Accessibility", "name": "selenium-webdriver-at-spi", - "project_path": "playground/sdk/selenium-webdriver-at-spi", + "project_path": "sdk/selenium-webdriver-at-spi", "repo_path": "sdk/selenium-webdriver-at-spi" }, "sflphone-kde": { @@ -6182,7 +6206,7 @@ "signon-kwallet-extension": { "description": "KWallet integration for the SignOn framework (gitlab.com/accounts-sso)", "name": "signon-kwallet-extension", - "project_path": "kde/kdenetwork/signon-kwallet-extension", + "project_path": "kdenetwork/signon-kwallet-extension", "repo_path": "network/signon-kwallet-extension" }, "signond": { @@ -6212,97 +6236,97 @@ "sink": { "description": "Offline caching, synchronization and indexing system for PIM data", "name": "sink", - "project_path": "playground/pim/sink", + "project_path": "pim/sink", "repo_path": "pim/sink" }, "skanlite": { "description": "Lite image scanning application", "name": "skanlite", - "project_path": "kde/kdegraphics/skanlite", + "project_path": "kdegraphics/skanlite", "repo_path": "graphics/skanlite" }, "skanpage": { "description": "Utility to scan images and multi-page documents", "name": "skanpage", - "project_path": "kde/kdeutils/skanpage", + "project_path": "kdeutils/skanpage", "repo_path": "utilities/skanpage" }, "skladnik": { "description": "Skladnik is the Japanese warehouse keeper sokoban game", "name": "skladnik", - "project_path": "extragear/games/skladnik", + "project_path": "games/skladnik", "repo_path": "games/skladnik" }, "skrooge": { "description": "Personal finance manager that aims at being powerful and intuitive", "name": "skrooge", - "project_path": "extragear/office/skrooge", + "project_path": "office/skrooge", "repo_path": "office/skrooge" }, "smaragd": { "description": "KWin plugin to support Emerald themes in KDE", "name": "smaragd", - "project_path": "playground/artwork/smaragd", + "project_path": "artwork/smaragd", "repo_path": "plasma/smaragd" }, "smb4k": { "description": "Advanced network neighborhood browser and Samba share mounting utility", "name": "smb4k", - "project_path": "extragear/network/smb4k", + "project_path": "network/smb4k", "repo_path": "network/smb4k" }, "smokegen": { "description": "A general purpose C++ parser with a plugin infrastructure enabling ''generators'' to be written, which can do various things with the C++ AST. It is currently used for generating the various SMOKE libraries.", "name": "smokegen", - "project_path": "kde/kdebindings/smoke/smokegen", + "project_path": "kdebindings/smoke/smokegen", "repo_path": "unmaintained/smokegen" }, "smokekde": { "description": "SMOKE bindings for libraries created by the KDE community. Used by language bindings.", "name": "smokekde", - "project_path": "kde/kdebindings/smoke/smokekde", + "project_path": "kdebindings/smoke/smokekde", "repo_path": "unmaintained/smokekde" }, "smokeqt": { "description": "SMOKE bindings for the Qt libraries. Used by language bindings.", "name": "smokeqt", - "project_path": "kde/kdebindings/smoke/smokeqt", + "project_path": "kdebindings/smoke/smokeqt", "repo_path": "unmaintained/smokeqt" }, "snap-kcm": { "description": "KCM allowing changing permissions which have granted to installed Snap applications.", "name": "snap-kcm", - "project_path": "kdereview/snap-kcm", + "project_path": "snap-kcm", "repo_path": "plasma/snap-kcm" }, "snap-kf5": { "description": "Content Snap for Qt5 and KF5", "name": "snap-kf5", - "project_path": "playground/packaging/snap-kf5", + "project_path": "packaging/snap-kf5", "repo_path": "packaging/snap-kf5" }, "snap-kf5-launcher": { "description": "Launcher for Content Snap for Qt5 and KF5", "name": "snap-kf5-launcher", - "project_path": "playground/packaging/snap-kf5-launcher", + "project_path": "packaging/snap-kf5-launcher", "repo_path": "packaging/snap-kf5-launcher" }, "snapcraft-kde-applications": { "description": "Snapcraft packaging files for some KDE Applications", "name": "snapcraft-kde-applications", - "project_path": "playground/packaging/snapcraft-kde-applications", + "project_path": "packaging/snapcraft-kde-applications", "repo_path": "packaging/snapcraft-kde-applications" }, "snorenotify": { "description": "Multi-platform Qt notification framework", "name": "snorenotify", - "project_path": "playground/libs/snorenotify", + "project_path": "libs/snorenotify", "repo_path": "libraries/snorenotify" }, "snoretoast": { "description": "Command-line application capable of creating Windows Toast notifications", "name": "snoretoast", - "project_path": "playground/libs/snoretoast", + "project_path": "libs/snoretoast", "repo_path": "libraries/snoretoast" }, "solid": { @@ -6332,19 +6356,19 @@ "soundcloud-voice-application": { "description": "Soundcloud music player voice application and mycroft skill for Plasma Bigscreen", "name": "soundcloud-voice-application", - "project_path": "playground/utils/soundcloud-voice-application", + "project_path": "utils/soundcloud-voice-application", "repo_path": "plasma-bigscreen/soundcloud-voice-application" }, "spacebar": { "description": "SMS/MMS application for Plasma Mobile", "name": "spacebar", - "project_path": "extragear/mobile/spacebar", + "project_path": "mobile/spacebar", "repo_path": "plasma-mobile/spacebar" }, "spectacle": { "description": "Screenshot capture utility", "name": "spectacle", - "project_path": "kde/kdegraphics/spectacle", + "project_path": "kdegraphics/spectacle", "repo_path": "graphics/spectacle" }, "sprinter": { @@ -6374,19 +6398,19 @@ "step": { "description": "Interactive physics simulator", "name": "step", - "project_path": "kde/kdeedu/step", + "project_path": "kdeedu/step", "repo_path": "education/step" }, "stibium": { "description": "Stibium is a version of KDE developed as a web application, using personal cloud services to store data.", "name": "stibium", - "project_path": "playground/www/stibium", + "project_path": "www/stibium", "repo_path": "unmaintained/stibium" }, "stopmotion": { "description": "Grab the frames of your animation!", "name": "stopmotion", - "project_path": "playground/multimedia/stopmotion", + "project_path": "multimedia/stopmotion", "repo_path": "multimedia/stopmotion" }, "strigi": { @@ -6422,7 +6446,7 @@ "subtitlecomposer": { "description": "Video subtitle editor", "name": "subtitlecomposer", - "project_path": "kde/kdemultimedia/subtitlecomposer", + "project_path": "kdemultimedia/subtitlecomposer", "repo_path": "multimedia/subtitlecomposer" }, "superbuild": { @@ -6440,43 +6464,43 @@ "svgmod": { "description": "Apply system colors to plasma rendered SVGs", "name": "svgmod", - "project_path": "playground/devtools/svgmod", + "project_path": "devtools/svgmod", "repo_path": "unmaintained/svgmod" }, "svgpart": { "description": "A KPart for SVG support", "name": "svgpart", - "project_path": "kde/kdegraphics/svgpart", + "project_path": "kdegraphics/svgpart", "repo_path": "graphics/svgpart" }, "sweeper": { "description": "Application that helps to clean unwanted traces the user leaves on the system", "name": "sweeper", - "project_path": "kde/kdeutils/sweeper", + "project_path": "kdeutils/sweeper", "repo_path": "utilities/sweeper" }, "symboleditor": { "description": "Application to create libraries of QPainterPath objects with rendering hints", "name": "symboleditor", - "project_path": "extragear/graphics/symboleditor", + "project_path": "graphics/symboleditor", "repo_path": "graphics/symboleditor" }, "symmy": { "description": "GPG symmetric encryption frontend", "name": "symmy", - "project_path": "extragear/utils/symmy", + "project_path": "utils/symmy", "repo_path": "utilities/symmy" }, "synchrotron": { "description": "An OCS compatible web service for publishing application add-ons from upstream projects directly to users via a git repository.", "name": "synchrotron", - "project_path": "playground/www/synchrotron", + "project_path": "www/synchrotron", "repo_path": "unmaintained/synchrotron" }, "synchrotron-sources": { "description": "An OCS compatible web service for publishing application add-ons from upstream projects directly to users via a git repository.", "name": "synchrotron-sources", - "project_path": "playground/www/synchrotron-sources", + "project_path": "www/synchrotron-sources", "repo_path": "unmaintained/synchrotron-sources" }, "syndication": { @@ -6498,13 +6522,13 @@ "repo_path": "sysadmin/activityfilter" }, "sysadmin-appimage-tooling": { - "description": "", + "description": "Appimage tooling for KDE applications", "name": "sysadmin-appimage-tooling", "project_path": "sysadmin/appimage-tooling", "repo_path": "sysadmin/appimage-tooling" }, "sysadmin-appstream-metainfo-release-update": { - "description": "Updates AppStream Metainfo files for new releases of your software\r\n", + "description": "Updates AppStream Metainfo files for new releases of your software", "name": "sysadmin-appstream-metainfo-release-update", "project_path": "sysadmin/appstream-metainfo-release-update", "repo_path": "sysadmin/appstream-metainfo-release-update" @@ -6516,7 +6540,7 @@ "repo_path": "sysadmin/binary-factory-tooling" }, "sysadmin-bugzilla-bot": { - "description": "", + "description": "Bot for bugzilla maintenance", "name": "sysadmin-bugzilla-bot", "project_path": "sysadmin/bugzilla-bot", "repo_path": "sysadmin/bugzilla-bot" @@ -6570,25 +6594,25 @@ "repo_path": "sysadmin/sysadmin-docs" }, "sysadmin-geoip-service-backend": { - "description": "", + "description": "GeoIP resolution service", "name": "sysadmin-geoip-service-backend", "project_path": "sysadmin/geoip-service-backend", "repo_path": "sysadmin/geoip-service-backend" }, "sysadmin-gerrit-all-projects": { - "description": "", + "description": "Empty repository", "name": "sysadmin-gerrit-all-projects", "project_path": "sysadmin/gerrit-all-projects", "repo_path": "sysadmin/gerrit-all-projects" }, "sysadmin-gerrit-ci-matrix": { - "description": "", + "description": "Gerrit project compilation and test status matrix", "name": "sysadmin-gerrit-ci-matrix", "project_path": "sysadmin/gerrit-ci-matrix", "repo_path": "sysadmin/gerrit-ci-matrix" }, "sysadmin-gerrit-gear": { - "description": "", + "description": "Component of Zuul and Gerrit system", "name": "sysadmin-gerrit-gear", "project_path": "sysadmin/gerrit-gear", "repo_path": "sysadmin/gerrit-gear" @@ -6600,43 +6624,43 @@ "repo_path": "sysadmin/gerrit-imported-projects" }, "sysadmin-gerrit-infra-projects": { - "description": "", + "description": "Empty repository", "name": "sysadmin-gerrit-infra-projects", "project_path": "sysadmin/gerrit-infra-projects", "repo_path": "sysadmin/gerrit-infra-projects" }, "sysadmin-gerrit-kde-ci-checked-projects": { - "description": "", + "description": "Empty repository", "name": "sysadmin-gerrit-kde-ci-checked-projects", "project_path": "sysadmin/gerrit-kde-ci-checked-projects", "repo_path": "sysadmin/gerrit-kde-ci-checked-projects" }, "sysadmin-gerrit-kde-ci-enforced-projects": { - "description": "", + "description": "Empty repository", "name": "sysadmin-gerrit-kde-ci-enforced-projects", "project_path": "sysadmin/gerrit-kde-ci-enforced-projects", "repo_path": "sysadmin/gerrit-kde-ci-enforced-projects" }, "sysadmin-gerrit-kde-traditional-projects": { - "description": "", + "description": "Empty repository", "name": "sysadmin-gerrit-kde-traditional-projects", "project_path": "sysadmin/gerrit-kde-traditional-projects", "repo_path": "sysadmin/gerrit-kde-traditional-projects" }, "sysadmin-gerrit-project-config": { - "description": "", + "description": "Configuration for some Gerrit CI components", "name": "sysadmin-gerrit-project-config", "project_path": "sysadmin/gerrit-project-config", "repo_path": "sysadmin/gerrit-project-config" }, "sysadmin-gerrit-turbo-hipster": { - "description": "", + "description": "Turbo hipster setup for Gerrit", "name": "sysadmin-gerrit-turbo-hipster", "project_path": "sysadmin/gerrit-turbo-hipster", "repo_path": "sysadmin/gerrit-turbo-hipster" }, "sysadmin-gerrit-zuul": { - "description": "", + "description": "Code and configuration for Zuul instance", "name": "sysadmin-gerrit-zuul", "project_path": "sysadmin/gerrit-zuul", "repo_path": "sysadmin/gerrit-zuul" @@ -6702,55 +6726,55 @@ "repo_path": "sysadmin/neon-appstream-extra-metainfo" }, "sysadmin-neon-image-syncd": { - "description": "", + "description": "Neon image RSync daemon", "name": "sysadmin-neon-image-syncd", "project_path": "sysadmin/neon-image-syncd", "repo_path": "sysadmin/neon-image-syncd" }, "sysadmin-neon-logind-cleanup": { - "description": "", + "description": "Logind session cleaner for Neon", "name": "sysadmin-neon-logind-cleanup", "project_path": "sysadmin/neon-logind-cleanup", "repo_path": "sysadmin/neon-logind-cleanup" }, "sysadmin-neon-openqa": { - "description": "", + "description": "Neon components for OpenQA", "name": "sysadmin-neon-openqa", "project_path": "sysadmin/neon-openqa", "repo_path": "sysadmin/neon-openqa" }, "sysadmin-neon-server-deploy": { - "description": "", + "description": "Tooling for Neon server deployment", "name": "sysadmin-neon-server-deploy", "project_path": "sysadmin/neon-server-deploy", "repo_path": "sysadmin/neon-server-deploy" }, "sysadmin-neon-sftp-bridge": { - "description": "", + "description": "Bridging daemon for Neon SFTP-to-HTTP", "name": "sysadmin-neon-sftp-bridge", "project_path": "sysadmin/neon-sftp-bridge", "repo_path": "sysadmin/neon-sftp-bridge" }, "sysadmin-neon-tooling": { - "description": "", + "description": "Tooling for Neon", "name": "sysadmin-neon-tooling", "project_path": "sysadmin/neon-tooling", "repo_path": "sysadmin/neon-tooling" }, "sysadmin-projects-api": { - "description": "", + "description": "API for Projects", "name": "sysadmin-projects-api", "project_path": "sysadmin/projects-api", "repo_path": "sysadmin/projects-api" }, "sysadmin-rbot-plugin-kde-bugzilla": { - "description": "", + "description": "RBot plugin for resolving Bugzilla items", "name": "sysadmin-rbot-plugin-kde-bugzilla", "project_path": "sysadmin/rbot-plugin-kde-bugzilla", "repo_path": "sysadmin/rbot-plugin-kde-bugzilla" }, "sysadmin-rbot-plugin-kde-phabricator": { - "description": "", + "description": "RBot plugin for resolving Phabricator items", "name": "sysadmin-rbot-plugin-kde-phabricator", "project_path": "sysadmin/rbot-plugin-kde-phabricator", "repo_path": "sysadmin/rbot-plugin-kde-phabricator" @@ -6794,13 +6818,13 @@ "systemdgenie": { "description": "Systemd managment utility", "name": "systemdgenie", - "project_path": "playground/sysadmin/systemdgenie", + "project_path": "sysadmin/systemdgenie", "repo_path": "system/systemdgenie" }, "systemsettings": { "description": "Control center to configure your Plasma Desktop", "name": "systemsettings", - "project_path": "kde/workspace/systemsettings", + "project_path": "workspace/systemsettings", "repo_path": "plasma/systemsettings" }, "taglib": { @@ -6818,19 +6842,19 @@ "telepathy-logger-qt": { "description": "Qt wrapper around TpLogger client library", "name": "telepathy-logger-qt", - "project_path": "extragear/network/telepathy/telepathy-logger-qt", + "project_path": "network/telepathy/telepathy-logger-qt", "repo_path": "network/telepathy-logger-qt" }, "tellico": { "description": "Collection management software, free and simple", "name": "tellico", - "project_path": "extragear/office/tellico", + "project_path": "office/tellico", "repo_path": "office/tellico" }, "telly-skout": { "description": "Convergent TV guide based on Kirigami.", "name": "telly-skout", - "project_path": "extragear/utilities/telly-skout", + "project_path": "utilities/telly-skout", "repo_path": "utilities/telly-skout" }, "threadweaver": { @@ -6842,43 +6866,43 @@ "tikzkit": { "description": "WYSIWYG editor to create PGF/TikZ pictures", "name": "tikzkit", - "project_path": "playground/graphics/tikzkit", + "project_path": "graphics/tikzkit", "repo_path": "graphics/tikzkit" }, "toad": { "description": "Organize your tasks", "name": "toad", - "project_path": "playground/utilities/toad", + "project_path": "utilities/toad", "repo_path": "utilities/toad" }, "tok": { "description": "Telegram client built using Kirigami", "name": "tok", - "project_path": "playground/network/tok", + "project_path": "network/tok", "repo_path": "network/tok" }, "tokodon": { "description": "Tokodon is a Mastodon client for Plasma and Plasma Mobile", "name": "tokodon", - "project_path": "extragear/network/tokodon", + "project_path": "network/tokodon", "repo_path": "network/tokodon" }, "totalreqall": { "description": "A program for memorizing the Bible and other works. Uses the Sword library.", "name": "totalreqall", - "project_path": "playground/utilities/totalreqall", + "project_path": "utilities/totalreqall", "repo_path": "utilities/totalreqall" }, "trainer": { "description": "Application to help you practice sport exercises with a description and duration", "name": "trainer", - "project_path": "playground/mobile/trainer", + "project_path": "mobile/trainer", "repo_path": "plasma-mobile/trainer" }, "trojita": { "description": "Fast, lightweight and standard-compliant IMAP e-mail client", "name": "trojita", - "project_path": "playground/pim/trojita", + "project_path": "pim/trojita", "repo_path": "pim/trojita" }, "tupi": { @@ -6890,37 +6914,37 @@ "twine2": { "description": "Python bindings SIP updater that processes C++ header files into Riverbank SIP", "name": "twine2", - "project_path": "playground/bindings/twine2", + "project_path": "bindings/twine2", "repo_path": "libraries/twine2" }, "ubiquity-slideshow-neon": { "description": "Neon slideshow for Ubiquity", "name": "ubiquity-slideshow-neon", - "project_path": "playground/base/ubiquity-slideshow-neon", + "project_path": "base/ubiquity-slideshow-neon", "repo_path": "system/ubiquity-slideshow-neon" }, "ufw-kde": { "description": "GUI Interface for Uncomplicated Firewall (UFW).", "name": "ufw-kde", - "project_path": "playground/sysadmin/ufw-kde", + "project_path": "sysadmin/ufw-kde", "repo_path": "unmaintained/ufw-kde" }, "umbrello": { "description": "GUI for diagramming Unified Modelling Language (UML)", "name": "umbrello", - "project_path": "kde/kdesdk/umbrello", + "project_path": "kdesdk/umbrello", "repo_path": "sdk/umbrello" }, "union": { "description": "A Qt style supporting both QtQuick and QtWidgets.", "name": "union", - "project_path": "playground/workspace/union", + "project_path": "workspace/union", "repo_path": "plasma/union" }, "upnp-lib-qt": { "description": "UPnP wrapper for Qt", "name": "upnp-lib-qt", - "project_path": "playground/base/upnp-lib-qt", + "project_path": "base/upnp-lib-qt", "repo_path": "libraries/upnp-lib-qt" }, "user-manager": { @@ -6932,13 +6956,13 @@ "vail": { "description": "Communicate using Morse", "name": "vail", - "project_path": "playground/utils/vail", + "project_path": "utils/vail", "repo_path": "utilities/vail" }, "vakzination": { "description": "Vakzination manages your health certificates like vaccination, test, and recovery certificates.", "name": "vakzination", - "project_path": "playground/pim/vakzination", + "project_path": "pim/vakzination", "repo_path": "pim/vakzination" }, "veritas": { @@ -6950,19 +6974,19 @@ "vvave": { "description": "Multi-platform media player", "name": "vvave", - "project_path": "playground/multimedia/vvave", + "project_path": "multimedia/vvave", "repo_path": "maui/vvave" }, "wacomtablet": { "description": "GUI for Wacom Linux drivers that supports different button/pen layout profiles", "name": "wacomtablet", - "project_path": "kde/workspace/wacomtablet", + "project_path": "workspace/wacomtablet", "repo_path": "plasma/wacomtablet" }, "washipad": { "description": "A minimalist application for sketchnoting", "name": "washipad", - "project_path": "playground/utils/washipad", + "project_path": "utils/washipad", "repo_path": "graphics/washipad" }, "wayland": { @@ -8054,13 +8078,13 @@ "whoopsie-kcm": { "description": "A KCM for talking to Ubuntu error tracker submission system Whoopsie", "name": "whoopsie-kcm", - "project_path": "playground/base/whoopsie-kcm", + "project_path": "base/whoopsie-kcm", "repo_path": "system/whoopsie-kcm" }, "wicd-kde": { - "description": "A Wicd client built on the KDE Development Platform.\n\n!http://kde-apps.org/CONTENT/content-pre1/132366-1.png!", + "description": "A Wicd client built on the KDE Development Platform", "name": "wicd-kde", - "project_path": "extragear/network/wicd-kde", + "project_path": "network/wicd-kde", "repo_path": "unmaintained/wicd-kde" }, "wiki-reader": { @@ -8072,139 +8096,139 @@ "wikidata-voice-application": { "description": "Wikidata information voice application and mycroft skill for Plasma Bigscreen", "name": "wikidata-voice-application", - "project_path": "playground/utils/wikidata-voice-application", + "project_path": "utils/wikidata-voice-application", "repo_path": "plasma-bigscreen/wikidata-voice-application" }, "wikitolearn-backend-for-frontend": { "description": "Backend for the Frontend System of WIkiToLearn", "name": "wikitolearn-backend-for-frontend", - "project_path": "playground/www/wikitolearn-backend-for-frontend", + "project_path": "www/wikitolearn-backend-for-frontend", "repo_path": "unmaintained/wikitolearn-backend-for-frontend" }, "wikitolearn-chapters-backend": { "description": "Chapters Backend for WikiToLearn", "name": "wikitolearn-chapters-backend", - "project_path": "playground/www/wikitolearn-chapters-backend", + "project_path": "www/wikitolearn-chapters-backend", "repo_path": "unmaintained/wikitolearn-chapters-backend" }, "wikitolearn-content-migration": { "description": "Content Migration Assistants for WikiToLearn", "name": "wikitolearn-content-migration", - "project_path": "playground/www/wikitolearn-content-migration", + "project_path": "www/wikitolearn-content-migration", "repo_path": "unmaintained/wikitolearn-content-migration" }, "wikitolearn-course-midtier": { "description": "Mid Tier Course Support for WikiToLearn", "name": "wikitolearn-course-midtier", - "project_path": "playground/www/wikitolearn-course-midtier", + "project_path": "www/wikitolearn-course-midtier", "repo_path": "unmaintained/wikitolearn-course-midtier" }, "wikitolearn-courses-backend": { "description": "Courses Backend for WikiToLearn", "name": "wikitolearn-courses-backend", - "project_path": "playground/www/wikitolearn-courses-backend", + "project_path": "www/wikitolearn-courses-backend", "repo_path": "unmaintained/wikitolearn-courses-backend" }, "wikitolearn-coursessecurity-backend": { "description": "Backend Components of Course Security system for WikiToLearn", "name": "wikitolearn-coursessecurity-backend", - "project_path": "playground/www/wikitolearn-coursessecurity-backend", + "project_path": "www/wikitolearn-coursessecurity-backend", "repo_path": "unmaintained/wikitolearn-coursessecurity-backend" }, "wikitolearn-docs": { "description": "Documentation for WikiToLearn", "name": "wikitolearn-docs", - "project_path": "playground/www/wikitolearn-docs", + "project_path": "www/wikitolearn-docs", "repo_path": "unmaintained/wikitolearn-docs" }, "wikitolearn-docs-atundo": { "description": "Atundo Documentation for WikiToLearn", "name": "wikitolearn-docs-atundo", - "project_path": "playground/www/wikitolearn-docs-atundo", + "project_path": "www/wikitolearn-docs-atundo", "repo_path": "unmaintained/wikitolearn-docs-atundo" }, "wikitolearn-frontend": { "description": "Frontend for WikiToLearn", "name": "wikitolearn-frontend", - "project_path": "playground/www/wikitolearn-frontend", + "project_path": "www/wikitolearn-frontend", "repo_path": "unmaintained/wikitolearn-frontend" }, "wikitolearn-keycloak-mediawiki-btypepassword-patch": { "description": "btypepassword patch for Keycloak's Mediawiki integration", "name": "wikitolearn-keycloak-mediawiki-btypepassword-patch", - "project_path": "playground/www/wikitolearn-keycloak-mediawiki-btypepassword-patch", + "project_path": "www/wikitolearn-keycloak-mediawiki-btypepassword-patch", "repo_path": "unmaintained/wikitolearn-keycloak-mediawiki-btypepassword-patch" }, "wikitolearn-keycloak-theme": { "description": "Keycloak Theme used by WikiToLearn", "name": "wikitolearn-keycloak-theme", - "project_path": "playground/www/wikitolearn-keycloak-theme", + "project_path": "www/wikitolearn-keycloak-theme", "repo_path": "unmaintained/wikitolearn-keycloak-theme" }, "wikitolearn-math-backend": { "description": "Math Backend for WikiToLearn", "name": "wikitolearn-math-backend", - "project_path": "playground/www/wikitolearn-math-backend", + "project_path": "www/wikitolearn-math-backend", "repo_path": "unmaintained/wikitolearn-math-backend" }, "wikitolearn-math-midtier": { "description": "Mid Tier Math Support for WikiToLearn", "name": "wikitolearn-math-midtier", - "project_path": "playground/www/wikitolearn-math-midtier", + "project_path": "www/wikitolearn-math-midtier", "repo_path": "unmaintained/wikitolearn-math-midtier" }, "wikitolearn-media-midtier": { "description": "Mid Tier Media Support for WikiToLearn", "name": "wikitolearn-media-midtier", - "project_path": "playground/www/wikitolearn-media-midtier", + "project_path": "www/wikitolearn-media-midtier", "repo_path": "unmaintained/wikitolearn-media-midtier" }, "wikitolearn-offline-extension": { "description": "OfflineExtension is an extension for WikiToLearn that will add offline support to the current Wiki Editor.", "name": "wikitolearn-offline-extension", - "project_path": "playground/www/wikitolearn-offline-extension", + "project_path": "www/wikitolearn-offline-extension", "repo_path": "unmaintained/wikitolearn-offline-extension" }, "wikitolearn-pages-backend": { "description": "Pages Backend for WikiToLearn", "name": "wikitolearn-pages-backend", - "project_path": "playground/www/wikitolearn-pages-backend", + "project_path": "www/wikitolearn-pages-backend", "repo_path": "unmaintained/wikitolearn-pages-backend" }, "wikitolearn-pdf-backend": { "description": "PDF Backend for WikiToLearn", "name": "wikitolearn-pdf-backend", - "project_path": "playground/www/wikitolearn-pdf-backend", + "project_path": "www/wikitolearn-pdf-backend", "repo_path": "unmaintained/wikitolearn-pdf-backend" }, "wikitolearn-pwa-gateway": { "description": "PWA Gateway for WikiToLearn", "name": "wikitolearn-pwa-gateway", - "project_path": "playground/www/wikitolearn-pwa-gateway", + "project_path": "www/wikitolearn-pwa-gateway", "repo_path": "unmaintained/wikitolearn-pwa-gateway" }, "wikitolearn-sdk": { "description": "SDK for WikiToLearn", "name": "wikitolearn-sdk", - "project_path": "playground/www/wikitolearn-sdk", + "project_path": "www/wikitolearn-sdk", "repo_path": "unmaintained/wikitolearn-sdk" }, "wikitolearn-shared-services": { "description": "Shared Services for WikiToLearn", "name": "wikitolearn-shared-services", - "project_path": "playground/www/wikitolearn-shared-services", + "project_path": "www/wikitolearn-shared-services", "repo_path": "unmaintained/wikitolearn-shared-services" }, "wikitolearn-shibboleth-discovery": { "description": "Shibboleth discovery support for WikiToLearn", "name": "wikitolearn-shibboleth-discovery", - "project_path": "playground/www/wikitolearn-shibboleth-discovery", + "project_path": "www/wikitolearn-shibboleth-discovery", "repo_path": "unmaintained/wikitolearn-shibboleth-discovery" }, "wikitolearn-translation": { "description": "Translation Support for WikiToLearn", "name": "wikitolearn-translation", - "project_path": "playground/www/wikitolearn-translation", + "project_path": "www/wikitolearn-translation", "repo_path": "unmaintained/wikitolearn-translation" }, "xbuilder": { @@ -8216,13 +8240,13 @@ "xdg-desktop-portal-kde": { "description": "A backend implementation for xdg-desktop-portal that is using Qt/KDE", "name": "xdg-desktop-portal-kde", - "project_path": "kde/workspace/xdg-desktop-portal-kde", + "project_path": "workspace/xdg-desktop-portal-kde", "repo_path": "plasma/xdg-desktop-portal-kde" }, "xdg-portal-test-kde": { "description": "Test application for Flatpak portals and Qt Flatpak platform plugin", "name": "xdg-portal-test-kde", - "project_path": "playground/base/xdg-portal-test-kde", + "project_path": "base/xdg-portal-test-kde", "repo_path": "libraries/xdg-portal-test-kde" }, "xsettings-kde": { @@ -8240,55 +8264,55 @@ "xwaylandvideobridge": { "description": "Utility to allow streaming Wayland windows to X applications", "name": "xwaylandvideobridge", - "project_path": "playground/system/xwaylandvideobridge", + "project_path": "system/xwaylandvideobridge", "repo_path": "system/xwaylandvideobridge" }, "yakuake": { "description": "Drop-down terminal emulator based on Konsole technologies", "name": "yakuake", - "project_path": "kde/applications/yakuake", + "project_path": "applications/yakuake", "repo_path": "utilities/yakuake" }, "yocto-manifest": { "description": "Tracking of Yocto meta-layers for use with KDE", "name": "yocto-manifest", - "project_path": "playground/packaging/yocto-manifest", + "project_path": "packaging/yocto-manifest", "repo_path": "packaging/yocto-manifest" }, "yocto-meta-kde": { "description": "Yocto packaging metadata for KDE projects", "name": "yocto-meta-kde", - "project_path": "playground/packaging/yocto-meta-kde", + "project_path": "packaging/yocto-meta-kde", "repo_path": "packaging/yocto-meta-kde" }, "yocto-meta-kde-demo": { "description": "Yocto Demo Image for KDE projects", "name": "yocto-meta-kde-demo", - "project_path": "playground/packaging/yocto-meta-kde-demo", + "project_path": "packaging/yocto-meta-kde-demo", "repo_path": "packaging/yocto-meta-kde-demo" }, "yocto-meta-kf5": { "description": "Yocto packaging metadata for KDE Frameworks", "name": "yocto-meta-kf5", - "project_path": "playground/packaging/yocto-meta-kf5", + "project_path": "packaging/yocto-meta-kf5", "repo_path": "packaging/yocto-meta-kf5" }, "yocto-meta-kf6": { "description": "Yocto packaging metadata for KDE Frameworks 6", "name": "yocto-meta-kf6", - "project_path": "playground/packaging/yocto-meta-kf6", + "project_path": "packaging/yocto-meta-kf6", "repo_path": "packaging/yocto-meta-kf6" }, "youtube-voice-application": { "description": "Youtube video player voice application and mycroft skill for Plasma Bigscreen", "name": "youtube-voice-application", - "project_path": "playground/utils/youtube-voice-application", + "project_path": "utils/youtube-voice-application", "repo_path": "plasma-bigscreen/youtube-voice-application" }, "zanshin": { "description": "Getting Things Done application which aims at getting your mind like water", "name": "zanshin", - "project_path": "kde/pim/zanshin", + "project_path": "pim/zanshin", "repo_path": "pim/zanshin" }, "zxing-cpp": { diff --git a/pkgs/kde/generated/sources/frameworks.json b/pkgs/kde/generated/sources/frameworks.json index 485229137256..5ed6c2f595f1 100644 --- a/pkgs/kde/generated/sources/frameworks.json +++ b/pkgs/kde/generated/sources/frameworks.json @@ -1,362 +1,362 @@ { "attica": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/attica-6.14.0.tar.xz", - "hash": "sha256-fDVWr+sK4OkywuTTCd9JBfPi9Brz47OAUbSdnyeTV8E=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/attica-6.15.0.tar.xz", + "hash": "sha256-4tCB8I1eajYYNjE7IJHU1adRjA972ve1PS25cLWgJz8=" }, "baloo": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/baloo-6.14.0.tar.xz", - "hash": "sha256-q2D5Q2B/Z5KbYZwClJjwf6h2euxqf7Auz3OSztJXNLQ=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/baloo-6.15.0.tar.xz", + "hash": "sha256-JBAV/RTqD88oEID9FgmU+StuC6B1DPr9SI0xvw4Kf08=" }, "bluez-qt": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/bluez-qt-6.14.0.tar.xz", - "hash": "sha256-6oRfkw7MfE8lnEeK5mgMeTldyyWY7j9bRbztbfJ3+dU=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/bluez-qt-6.15.0.tar.xz", + "hash": "sha256-DHCoQ347EKYlkmBiPUgCxEIvf5vU/feb9Swl/uVQEic=" }, "breeze-icons": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/breeze-icons-6.14.0.tar.xz", - "hash": "sha256-zfnLZ86dbrmWnsMkzpJVbK8alPEncMVs8MWI3CxoHS8=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/breeze-icons-6.15.0.tar.xz", + "hash": "sha256-JdkhAvlVTqI+tu6BQ0OVtRfZP8huXgQVg0p/9EnvhVw=" }, "extra-cmake-modules": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/extra-cmake-modules-6.14.0.tar.xz", - "hash": "sha256-0Cy7syabOWgIhKv28Uumj0SFcMVUFz9SSdo7h2F4TBM=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/extra-cmake-modules-6.15.0.tar.xz", + "hash": "sha256-980CIJWp5r2+WJdyCiS/2oHSEXV7fAixcwYZYr8u4LI=" }, "frameworkintegration": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/frameworkintegration-6.14.0.tar.xz", - "hash": "sha256-6iY3It5LN8h0KnCrBX2gYuW3HQ4I6YZFaj3ETiDwA7c=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/frameworkintegration-6.15.0.tar.xz", + "hash": "sha256-bmSHDl09zuKn99ClCbUjZmf6EfeN04zYkjkR8cp7p4Y=" }, "kapidox": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kapidox-6.14.0.tar.xz", - "hash": "sha256-zXuXa5jR5sbMPaHSDFOVM+DRrnYl5j4UvHx4EJapFUY=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kapidox-6.15.0.tar.xz", + "hash": "sha256-VjNGhVjB9liKq1NyrxlRgmZtFhHzQO2Swg/9OE0Z+Jg=" }, "karchive": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/karchive-6.14.0.tar.xz", - "hash": "sha256-LLL1TLn4Ey2vaIpdSs1/S+xAIDsBVR/wbm2h6fh/Dvk=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/karchive-6.15.0.tar.xz", + "hash": "sha256-7XQghyLgjdYG89bXMAf6/BoAzInC4p4xl1YC/vRaDxg=" }, "kauth": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kauth-6.14.0.tar.xz", - "hash": "sha256-9aFuSJ8mtXQdPxG/ayA/2ZqE7KrnmOtrDqoNcciPZkU=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kauth-6.15.0.tar.xz", + "hash": "sha256-Gce1mKeAulvv0w8l3mlFNoEaRqViLEosKIkvLzulphc=" }, "kbookmarks": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kbookmarks-6.14.0.tar.xz", - "hash": "sha256-o/CmH8/MplCfHX0hKJ4yd2YW58rd7AfLnhyoHi946kM=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kbookmarks-6.15.0.tar.xz", + "hash": "sha256-BsqMYZ1Sr3vCe4nQs6yZy9EIIHVrKZQT6C+RZP5fuGM=" }, "kcalendarcore": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kcalendarcore-6.14.0.tar.xz", - "hash": "sha256-cCv8Lt/O1NCQM2VldDT9jC3AuPZtDOluTqC2lQ74eYs=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kcalendarcore-6.15.0.tar.xz", + "hash": "sha256-ExQ08ZyTF0LYTwcRP7sFPqGj22EBMCU+K7kn6OrNHTk=" }, "kcmutils": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kcmutils-6.14.0.tar.xz", - "hash": "sha256-IzbwXuRmaN4r5wwwFmDJ06iBxABG75DRIF5AgmC0YAU=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kcmutils-6.15.0.tar.xz", + "hash": "sha256-VuenZIZRzpaY6n0f+Yt/7GWYER030vKK4NZUfTyY/wQ=" }, "kcodecs": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kcodecs-6.14.0.tar.xz", - "hash": "sha256-AI9ZEhYtOUSYAi0OlVyGDHfDOGfo+kSOmUSPOjZNaRQ=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kcodecs-6.15.0.tar.xz", + "hash": "sha256-vfV3M/LWQcsMt0nO1fb2fkLI6dF9s/bC5qIFTIZjbsE=" }, "kcolorscheme": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kcolorscheme-6.14.0.tar.xz", - "hash": "sha256-YBswTdXML7Bl2OZYvbC4fh43AhAAz2pvWy7opb+69ck=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kcolorscheme-6.15.0.tar.xz", + "hash": "sha256-d54dBOXKAlG2x1xZyevLvJ1b7qJ1YoqmhdAmDsmKVfI=" }, "kcompletion": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kcompletion-6.14.0.tar.xz", - "hash": "sha256-065qmjZfE9Ha5AQLtMl86Gp0hlym7SH5CBEVmKITgTY=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kcompletion-6.15.0.tar.xz", + "hash": "sha256-k4ytMY3KovyouLjUhT+j96vYM9zwO1HhmhdOYZXMwn0=" }, "kconfig": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kconfig-6.14.0.tar.xz", - "hash": "sha256-obJ+dit4+8NBJPNf1BJXEfQDauUyx50889xoMonB52U=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kconfig-6.15.0.tar.xz", + "hash": "sha256-yORMn3kLAXHopbLw+jCscKlcxlXHEWUOVLlTM1vmuWs=" }, "kconfigwidgets": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kconfigwidgets-6.14.0.tar.xz", - "hash": "sha256-Av7maFktUrs5KU+ZmvZ3l9eXfj8cYbucd8CGcwWUMZ8=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kconfigwidgets-6.15.0.tar.xz", + "hash": "sha256-8Aai/PaNJPe3K3aOBe5bmmHyxd3u6HpvyaAiyDrT8LI=" }, "kcontacts": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kcontacts-6.14.0.tar.xz", - "hash": "sha256-ZP1vJpLcW+qbxyD1K/2yiAdx2C2yfhycD2GshG5QNyk=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kcontacts-6.15.0.tar.xz", + "hash": "sha256-mxgJVcgPegn49VLfenCFAf20xPC87hDC5HOsZ+orRXo=" }, "kcoreaddons": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kcoreaddons-6.14.0.tar.xz", - "hash": "sha256-lVXRcpX0/s4YtG49KJBVuvWLNS4ILk2m5uNS2NXAQu4=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kcoreaddons-6.15.0.tar.xz", + "hash": "sha256-l4w7DYsRtoH/B7vWppU9VM4con57xT2TRy3Za5QjKNc=" }, "kcrash": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kcrash-6.14.0.tar.xz", - "hash": "sha256-adc2vnO75Kk2+JlsNZGlPBaBbUOW0kLS5j3OB5omjDQ=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kcrash-6.15.0.tar.xz", + "hash": "sha256-mSSMfKikwqF4NqjMNP+rkgoiO4CVApxjBGE92XNPFHQ=" }, "kdav": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kdav-6.14.0.tar.xz", - "hash": "sha256-qSuV+wYSx5xYdOeoX0g2nDoA0sHS2Ux3ZWIpyUXnfCo=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kdav-6.15.0.tar.xz", + "hash": "sha256-/OWsZhvyDpmuB9Q/tWZWcY+Qn7mL9idWyB8WJAxTV54=" }, "kdbusaddons": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kdbusaddons-6.14.0.tar.xz", - "hash": "sha256-9nPJ8pXfWZiUje+UyvktSH1jiGRSgC/7l60VExVifuQ=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kdbusaddons-6.15.0.tar.xz", + "hash": "sha256-/Mwf7zx0WQ0oozQs91a7D/hzdzNsoTZi712qfa+v42A=" }, "kdeclarative": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kdeclarative-6.14.0.tar.xz", - "hash": "sha256-7QqmJlP+Wgm8RPWE+qpjPLOG96EGz5tckwEirobAodA=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kdeclarative-6.15.0.tar.xz", + "hash": "sha256-NydIDzw+NsiCQcy8rorEB4/wHmaRFAla/K2e4UuqAJ0=" }, "kded": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kded-6.14.0.tar.xz", - "hash": "sha256-WfGuyUvQF266i//TWmrVklttQHAuJu4Wl6RrOkYX0co=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kded-6.15.0.tar.xz", + "hash": "sha256-C0wPGUD+HxjU2sxn9mP204Ih3md/lNn7OYhqKwYW1DQ=" }, "kdesu": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kdesu-6.14.0.tar.xz", - "hash": "sha256-EDoGMRwDVEX9WISEXFc2nwcikjn5u+vpHMlbfOjFyiM=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kdesu-6.15.0.tar.xz", + "hash": "sha256-nrTBGhdCryyxfPHn4Yuw+9tF7hbwg3OcQYy+nUWvGAY=" }, "kdnssd": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kdnssd-6.14.0.tar.xz", - "hash": "sha256-zpA5UrkIVmuZ1QpKVJgl6k75XXVEaGzczM9pO4EQYZk=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kdnssd-6.15.0.tar.xz", + "hash": "sha256-GSFko5XOnwZnGEyuePNpp8C4rKsODQc83tsqVLx8TVo=" }, "kdoctools": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kdoctools-6.14.0.tar.xz", - "hash": "sha256-rLnHYejhDDDywyBh9kCWllRZoFEyUO30Qy9AgxoPU24=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kdoctools-6.15.0.tar.xz", + "hash": "sha256-QwvlkFsL9t+0t+DiwK63WYbu8KMPEzINnUyrkH/Wvvc=" }, "kfilemetadata": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kfilemetadata-6.14.0.tar.xz", - "hash": "sha256-klqdsnF2UZCZ0kYlBwv368FgD65+fQauTu4yeaZ9MeU=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kfilemetadata-6.15.0.tar.xz", + "hash": "sha256-0eYs4bf9ZehIqBohG7XLESbM4TVPcDEqAQTAnAPdZUI=" }, "kglobalaccel": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kglobalaccel-6.14.0.tar.xz", - "hash": "sha256-56rKFrtMW1hlrz7UtI8jR8UWMGXRfCskvpd1L/Xoxx0=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kglobalaccel-6.15.0.tar.xz", + "hash": "sha256-hOp3elOTlIPNl9HdwGkzOvHoFBm/7g9txdtNPTYKtVQ=" }, "kguiaddons": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kguiaddons-6.14.0.tar.xz", - "hash": "sha256-PzzH43SL101Hako2FmVHhufYYfezkehJmuvHxBDyHsU=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kguiaddons-6.15.0.tar.xz", + "hash": "sha256-Vty6tMIwmyg0O+1zkBxTBxxAnf0HdoQN1t2S4tRw168=" }, "kholidays": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kholidays-6.14.0.tar.xz", - "hash": "sha256-bdZvy6r8jUUEWson4zTh9g32r9mgcLHzKZa6BJcncXc=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kholidays-6.15.0.tar.xz", + "hash": "sha256-OWhgudY9O7jwywxDPguzz3chOUhC8/uDicg+B7oK5pU=" }, "ki18n": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/ki18n-6.14.0.tar.xz", - "hash": "sha256-KlE1QSyvCgfrpO62CGesaSnfHIPBRa51emoSMPhC5mk=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/ki18n-6.15.0.tar.xz", + "hash": "sha256-GJd1XZ/eWhvqb31xJEwmYrmRG0uIlMxTdAv+OLTV2R0=" }, "kiconthemes": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kiconthemes-6.14.0.tar.xz", - "hash": "sha256-qYzSMb/KQgUZ1VsLiOTgibTifsebSoVCuB3opf+K9tU=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kiconthemes-6.15.0.tar.xz", + "hash": "sha256-iEJwOJlyL5q2tK7AtFw4vumJbjLazLPrF+8BRATJYGs=" }, "kidletime": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kidletime-6.14.0.tar.xz", - "hash": "sha256-FndbK9w+/VTGWpa85vJ6AB0RmQVTHYS7I+IyFaGW7Lg=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kidletime-6.15.0.tar.xz", + "hash": "sha256-COxHJIUCzcLIoAO0S1k2v9qdrid6GtuSGAGJJ0XofP4=" }, "kimageformats": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kimageformats-6.14.0.tar.xz", - "hash": "sha256-Og+BviXpoOq33BNzvFZICryzBByhpajH8NbVLSIdVEk=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kimageformats-6.15.0.tar.xz", + "hash": "sha256-L6sRnGTxFwJhZvSYQKvlwe/j6PmhDZZrNAb/tqYIQDA=" }, "kio": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kio-6.14.0.tar.xz", - "hash": "sha256-mwN0b9AIUEqW9Wnzetj/kCzHFJXn4SPao8beef8qzEU=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kio-6.15.0.tar.xz", + "hash": "sha256-LUzMW/Bwq8vJRaII7L8gF7OxlfqZ5M6165lQiI93wak=" }, "kirigami": { - "version": "6.14.1", - "url": "mirror://kde/stable/frameworks/6.14/kirigami-6.14.1.tar.xz", - "hash": "sha256-LJG04pUURPfW89at2W3EHGK/nb90eoWU1dL8kY0nMJ8=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kirigami-6.15.0.tar.xz", + "hash": "sha256-czrH2cGX/n3pD0FkNUm+PODzcj7NTUoVdYxMccr8JTE=" }, "kitemmodels": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kitemmodels-6.14.0.tar.xz", - "hash": "sha256-HWlBgEZOH9leJCXYS7hGFX+tPCpQCXJ+zbZ2bZfbIug=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kitemmodels-6.15.0.tar.xz", + "hash": "sha256-joydMaAMQe2DYYl1Woa4L9loR01jiPAzJZ3WWrGOfJQ=" }, "kitemviews": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kitemviews-6.14.0.tar.xz", - "hash": "sha256-mXFnQC26p4ha4qqkz4tfQJ9X1QvOBqO1bFd+k6l1uko=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kitemviews-6.15.0.tar.xz", + "hash": "sha256-DyfRiRR7uZK5ThpqVc7WLiqvXFs9g+QfJtaw4ml2V4A=" }, "kjobwidgets": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kjobwidgets-6.14.0.tar.xz", - "hash": "sha256-jEcEKvrldEeUW0PMkdiX+jUyhiN6Y+NSlL5OtKRmKr0=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kjobwidgets-6.15.0.tar.xz", + "hash": "sha256-1ce2jqiCl4WpH9bkx7OsVx1Yve4ZN3dkjlIJjEnwVP4=" }, "knewstuff": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/knewstuff-6.14.0.tar.xz", - "hash": "sha256-HkS3HvxdxMsFzHrdNE2aVfyMmY3ibnSGfTAK+9FvjQQ=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/knewstuff-6.15.0.tar.xz", + "hash": "sha256-10n+IViah832SEFuvRMDilNs2OAZUxNXpnGU5eowBn0=" }, "knotifications": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/knotifications-6.14.0.tar.xz", - "hash": "sha256-p26V3nQSnhL1ALAfjOJSm8avk7df8szpnIJxKVI9dRc=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/knotifications-6.15.0.tar.xz", + "hash": "sha256-l7+H61eIOrOuSDxHIGiKHKU5dwuZF5tkYQqAK7la7e4=" }, "knotifyconfig": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/knotifyconfig-6.14.0.tar.xz", - "hash": "sha256-Bn66XJllqwXN0+ilfWr6Jeip53kF1NAaMnU2wR1Myos=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/knotifyconfig-6.15.0.tar.xz", + "hash": "sha256-vwMTIh/O8OR0uWNjTG1SUmuYWDAOnvDhRK/ChOjcdKw=" }, "kpackage": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kpackage-6.14.0.tar.xz", - "hash": "sha256-+y4mD3ouK0z9pFWYgUhYmad89fvDuK4F0GREvsgu0as=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kpackage-6.15.0.tar.xz", + "hash": "sha256-XJYVu9kq9n4b8UeilzmjRqc7Of88RkD55AjVQwlmYS0=" }, "kparts": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kparts-6.14.0.tar.xz", - "hash": "sha256-lhBhAsTeuJMwfrNVgKikWqaEHtwDi5oP04qhnW4Fa/o=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kparts-6.15.0.tar.xz", + "hash": "sha256-M0q/jCrFmMVxFc6bhyrcWh+1DoiZvO1Bbjn9My48R0I=" }, "kpeople": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kpeople-6.14.0.tar.xz", - "hash": "sha256-ydIRDa8uTVnVi0r2PFT9UXuw9GWRqRwgeJ/8cV7rYs4=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kpeople-6.15.0.tar.xz", + "hash": "sha256-UAXzm3JXhWmgy5Uj5Xz45i6BVyMm/Gkb6fvs8o5jjqg=" }, "kplotting": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kplotting-6.14.0.tar.xz", - "hash": "sha256-5rYxhPlzvw0SQCd539GHH3aFt5VONomORkCshrnJd6w=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kplotting-6.15.0.tar.xz", + "hash": "sha256-X3EF8BXu5nrN64qW+5RIGGpgW2Jz8K+JoFXCchyrWdw=" }, "kpty": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kpty-6.14.0.tar.xz", - "hash": "sha256-l54LsZzX2duEO/XfNRFUR+tJJjegmetTw0W4L8gL6mU=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kpty-6.15.0.tar.xz", + "hash": "sha256-0qacjJzG1pbExxc1e7bWWB9d32Sq2D6a6YkDsfLgqLE=" }, "kquickcharts": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kquickcharts-6.14.0.tar.xz", - "hash": "sha256-37M8kO7cfJUOBD+yrfbIot83ReedK7zV5ZV1dEj+mLc=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kquickcharts-6.15.0.tar.xz", + "hash": "sha256-+fL0vqV3/tin8d3qNGF+/nRRekkunAch8C8swI+2eG0=" }, "krunner": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/krunner-6.14.0.tar.xz", - "hash": "sha256-E4z7mM1zOSci9EmUCNB1osdwW9v0NuzAdzYMMVPbL6Y=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/krunner-6.15.0.tar.xz", + "hash": "sha256-jK4nEG0zVCJ5pc7GK8wOyv7ItUD1ODOPdKJ/oNCS+fM=" }, "kservice": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kservice-6.14.0.tar.xz", - "hash": "sha256-XvgPRwNNWCzgWgvs8BlSZjGR+vxWnPs+97hcJP0peoU=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kservice-6.15.0.tar.xz", + "hash": "sha256-w3G/5uJellv03OHx5CyEwvaJl+1J3Bm9vGQZR4I1Jp0=" }, "kstatusnotifieritem": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kstatusnotifieritem-6.14.0.tar.xz", - "hash": "sha256-nYXESncErQUnQHUhBuWesm5J2ARn+bHTySvSS3c5VBc=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kstatusnotifieritem-6.15.0.tar.xz", + "hash": "sha256-JBMsyWdXBHi1TkTu8QY8GTIXgBJg3FGGDgiB+g2QvQ0=" }, "ksvg": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/ksvg-6.14.0.tar.xz", - "hash": "sha256-FFZkn/LhOX4qZmziS7tvB0/aXLlq2kJdEivMFHRKXc4=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/ksvg-6.15.0.tar.xz", + "hash": "sha256-lVxc6yiHnRAQbLgH9PJZgQxwW7u92vFwrw1WP71YAZc=" }, "ktexteditor": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/ktexteditor-6.14.0.tar.xz", - "hash": "sha256-uXDWu3YjkhV415CevvGMb3p5jqEcWx4kU/cyFpVndlE=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/ktexteditor-6.15.0.tar.xz", + "hash": "sha256-6pp8CEBCJQvfoz6b9fwdxwDVWytf2PKrpkC/+QOS4j0=" }, "ktexttemplate": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/ktexttemplate-6.14.0.tar.xz", - "hash": "sha256-ZakIqlc+QM+YhKnUKkuNVXS68vQCoZdkzaLMzeJ8iXo=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/ktexttemplate-6.15.0.tar.xz", + "hash": "sha256-XGUuuuXTLRuE+kOK2UzGIWIdMeCrz+87ClEaWG1peoQ=" }, "ktextwidgets": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/ktextwidgets-6.14.0.tar.xz", - "hash": "sha256-TiTm2kd+CND3FVLwgSBlFvzZq0pZPPN9d+vWkIVrdrU=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/ktextwidgets-6.15.0.tar.xz", + "hash": "sha256-4TSUHvmJYikla65pebx8En+dybh5RIs2mky2siYEJkk=" }, "kunitconversion": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kunitconversion-6.14.0.tar.xz", - "hash": "sha256-0H1g7CxcISRvOqn4ngEibghMkP6ZtisItlGTPDEc8I0=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kunitconversion-6.15.0.tar.xz", + "hash": "sha256-QTsCVNUeNXFx1B8csWJivkV3X7lKauXCaTT7X/ANKvg=" }, "kuserfeedback": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kuserfeedback-6.14.0.tar.xz", - "hash": "sha256-JKzW0rhYK91q6b/KlyeKlnY+4YSmzey8Dc1k/U/COLI=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kuserfeedback-6.15.0.tar.xz", + "hash": "sha256-DB6tibqY96otPkJ2IKNlzU8cnKMCUO7Gr7T5D+wYf4M=" }, "kwallet": { - "version": "6.14.1", - "url": "mirror://kde/stable/frameworks/6.14/kwallet-6.14.1.tar.xz", - "hash": "sha256-70gr4tUhH3EdV4qh0fN/ceZBpqUv034RMn4ZkV/UISc=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kwallet-6.15.0.tar.xz", + "hash": "sha256-/brETCUlsS4ks7pZcZEqL/2R/f6nnDoSS86JYhc1iTw=" }, "kwidgetsaddons": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kwidgetsaddons-6.14.0.tar.xz", - "hash": "sha256-YCcgvD6Gy6I4Tw9F4WyFJKGXR5aj1bfFwe2Q52jPEh8=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kwidgetsaddons-6.15.0.tar.xz", + "hash": "sha256-I1V+g9pdSb8XIqrQeEYBWh/OzBCnA0KsnLVLes/4hDU=" }, "kwindowsystem": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kwindowsystem-6.14.0.tar.xz", - "hash": "sha256-ZiX31aRsucciibyqpl7nRFCmceTb9u6+/HcmUPJM8qY=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kwindowsystem-6.15.0.tar.xz", + "hash": "sha256-OdarY75X7UTDz8YTG6jlBzqfkqXye8WPY4sHndBj5MA=" }, "kxmlgui": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/kxmlgui-6.14.0.tar.xz", - "hash": "sha256-X5o10WjlvoXEPlZvh79xCMGOOhlCDh2TebST4oiAkUs=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/kxmlgui-6.15.0.tar.xz", + "hash": "sha256-QM6NRy0XGoGYBq8NWmjD+R1Za1rotLKcRlkqCXjXwwU=" }, "modemmanager-qt": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/modemmanager-qt-6.14.0.tar.xz", - "hash": "sha256-wfA6TfGMKMQlQLpZ2fm5li1Z9AdM32hrx4fi/1lXg9k=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/modemmanager-qt-6.15.0.tar.xz", + "hash": "sha256-LtXe1N285weMXuHylVM8CVFRpWIlYUhIVnTwqeOTLmE=" }, "networkmanager-qt": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/networkmanager-qt-6.14.0.tar.xz", - "hash": "sha256-DDkr30+N2F8UQfZbqTHY9JVBxVZ/I1DHjnsSFDTDsSY=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/networkmanager-qt-6.15.0.tar.xz", + "hash": "sha256-rEF4Y0KxBv50V9QU4teSicbXINz6pYwnHFDI5KdUs5s=" }, "prison": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/prison-6.14.0.tar.xz", - "hash": "sha256-tQRUqwoNeJGsH5tsTk4AzNMmm61jCmo5L0EMTiUv+2Q=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/prison-6.15.0.tar.xz", + "hash": "sha256-ND8dvIL+b92q0IuTpgBI7RGgDFyX+yswQw1xmdYU378=" }, "purpose": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/purpose-6.14.0.tar.xz", - "hash": "sha256-3Z8juvTEpE8ccffTsL/n+/vN2iAC101LSc2EYxrImek=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/purpose-6.15.0.tar.xz", + "hash": "sha256-0cDJSmpsoR4txEdDHQBeEac97DNpK+9hmwuXu1JfxJ4=" }, "qqc2-desktop-style": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/qqc2-desktop-style-6.14.0.tar.xz", - "hash": "sha256-lgSzXLVTlhxGRt3KaeIH30L/etnj4WCDh/+SPY2fPP8=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/qqc2-desktop-style-6.15.0.tar.xz", + "hash": "sha256-q+Kq/QTra3AHdspXZOuFz4cFqYdiTLoYlBOTpnwhUQo=" }, "solid": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/solid-6.14.0.tar.xz", - "hash": "sha256-AJlvBjR4hj/mG5AtIMlsnrT0rEM1Plm3ebRm+mKxqMQ=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/solid-6.15.0.tar.xz", + "hash": "sha256-YIstOtmHNpcYov6KX6e3HHX6pRog6v9bprDt8OXru0o=" }, "sonnet": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/sonnet-6.14.0.tar.xz", - "hash": "sha256-oN5kwTLAjUmGsA3p7o4plhWtUACLFOJpEPzvytc0r9M=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/sonnet-6.15.0.tar.xz", + "hash": "sha256-D3xzFa+68sj32JjUqWDFu6uFHmUzj3mu5U926SUjSIY=" }, "syndication": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/syndication-6.14.0.tar.xz", - "hash": "sha256-FOWsb2MtwwIvajK5yOW9AIlr3aX62FhXRQI7JTlWGhk=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/syndication-6.15.0.tar.xz", + "hash": "sha256-jWreiBIpWp05eKwbLNRswPsYGcWYABViWChR2UQu4Bo=" }, "syntax-highlighting": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/syntax-highlighting-6.14.0.tar.xz", - "hash": "sha256-39wCWslop9DLQwgm5U8+lrTKh5jP9LXfffST4tDk37w=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/syntax-highlighting-6.15.0.tar.xz", + "hash": "sha256-eySQ5rplb9hZdNl3au3oKKCkUOtE6teWnUhO2UhsdMw=" }, "threadweaver": { - "version": "6.14.0", - "url": "mirror://kde/stable/frameworks/6.14/threadweaver-6.14.0.tar.xz", - "hash": "sha256-qPcffml1Hjbbx/zpWB9VtmhEvGjfavLoqUwiyP6YcK4=" + "version": "6.15.0", + "url": "mirror://kde/stable/frameworks/6.15/threadweaver-6.15.0.tar.xz", + "hash": "sha256-GuDlkxgsJeyKnuhXd6t2e2w3sPfnpoUdS21Jv+A9odA=" } } \ No newline at end of file diff --git a/pkgs/kde/generated/sources/plasma.json b/pkgs/kde/generated/sources/plasma.json index b9d56e3d7c95..a8efae02fd77 100644 --- a/pkgs/kde/generated/sources/plasma.json +++ b/pkgs/kde/generated/sources/plasma.json @@ -1,337 +1,347 @@ { + "aurorae": { + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/aurorae-6.4.0.tar.xz", + "hash": "sha256-VjxChfQmhIJW6SyISgWKVy1Z31q5pMi5BzhSJuxKwLI=" + }, "bluedevil": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/bluedevil-6.3.5.tar.xz", - "hash": "sha256-DuDbv+445vKtvtfRC43vEopPmZvL4p8DXDvUTwpu/LA=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/bluedevil-6.4.0.tar.xz", + "hash": "sha256-8yb1EFCmDqwRNlKeFojg3ZAL1brP3cDn3ZQbLXV2rrk=" }, "breeze": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/breeze-6.3.5.tar.xz", - "hash": "sha256-WAPY49Tt994m4t8h7ChmK2EaC8pQXDm5kcd2PbpgJqs=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/breeze-6.4.0.tar.xz", + "hash": "sha256-z9s48KTixCjpylpf0SQAtoBKvN1TWbY2+lMno1Eh6GY=" }, "breeze-grub": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/breeze-grub-6.3.5.tar.xz", - "hash": "sha256-+VsB3HrZdRz9nB78eqSbNCkfkxtWJUXhuwBg3kCzoEY=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/breeze-grub-6.4.0.tar.xz", + "hash": "sha256-syzAxAqtGM7tbowlxlTc/ELUbd2Zm8oFBKCSlZhvYwI=" }, "breeze-gtk": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/breeze-gtk-6.3.5.tar.xz", - "hash": "sha256-spJicqyQjcDBIXWTMzFs/lVnxZHZdXJOLUUxFBUHWA0=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/breeze-gtk-6.4.0.tar.xz", + "hash": "sha256-WFJjJxTE17d1SBUe9efe2t7TMfbpARGxbdcQ4Bu6j60=" }, "breeze-plymouth": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/breeze-plymouth-6.3.5.tar.xz", - "hash": "sha256-/3GTud0REb1ZsYEHyau0ov3nBj2MZkT15OcFHc3HsZU=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/breeze-plymouth-6.4.0.tar.xz", + "hash": "sha256-S1DBCbItJbH7YT/K5Qq+NbEAuQgyaudqPdgydMoPTPI=" }, "discover": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/discover-6.3.5.tar.xz", - "hash": "sha256-CCLh+uB4oA4ylbV44AVNHgmNrKdddedpxMGtqTfws6A=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/discover-6.4.0.tar.xz", + "hash": "sha256-CfsdY6puw61W5gb0i24Q1Z7rN9m1J+VKIRtKedblIkI=" }, "drkonqi": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/drkonqi-6.3.5.tar.xz", - "hash": "sha256-0Mk/D8G0IDtiRdOi9OnIXUFhVw0UoU2B7tWk69Wt/80=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/drkonqi-6.4.0.tar.xz", + "hash": "sha256-BGqJ475WIGBu2tlF6/L1KHWlytZ0A8Ha86G/5ShoPqI=" }, "flatpak-kcm": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/flatpak-kcm-6.3.5.tar.xz", - "hash": "sha256-H+8vTOZjpnlr0gWmumjGcnbXzjN72uKW/mO4iZDt/zA=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/flatpak-kcm-6.4.0.tar.xz", + "hash": "sha256-KCw6dSf4sdsTLaB992jXLFK7yj4n8iFvS6ahcx3QTeI=" }, "kactivitymanagerd": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/kactivitymanagerd-6.3.5.tar.xz", - "hash": "sha256-FUR351a/7aqUFZyIbA1t1jvHCcHzvMisxJhMiPfDP9U=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/kactivitymanagerd-6.4.0.tar.xz", + "hash": "sha256-zVaf4lsNZwHDMOCPw+3lfVf/guluxtNH51dbsy+qurs=" }, "kde-cli-tools": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/kde-cli-tools-6.3.5.tar.xz", - "hash": "sha256-8EekZ1bIgvk5LGTj5irQmKsY838fNb38YggrFKemkDc=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/kde-cli-tools-6.4.0.tar.xz", + "hash": "sha256-T06+18F6JQecVO8DGSmsVdZ3es089ZXKY0P00KTwC6k=" }, "kde-gtk-config": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/kde-gtk-config-6.3.5.tar.xz", - "hash": "sha256-RQrbVRLDDEpau6djxPkoYeoYujNM2FohE+3lReFXwjY=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/kde-gtk-config-6.4.0.tar.xz", + "hash": "sha256-ygZtqEJyKAw/1qGBlw2U854Re+yM7pHXGi4lLCFF788=" }, "kdecoration": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/kdecoration-6.3.5.tar.xz", - "hash": "sha256-bhVXEPXzp5m0fZBriiphFqlR3uPRkP4VvHJBPKljPwc=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/kdecoration-6.4.0.tar.xz", + "hash": "sha256-pMyMS8dB0KQj11DO1m4UG5uY/McUaKshDlTaOCFTtYA=" }, "kdeplasma-addons": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/kdeplasma-addons-6.3.5.tar.xz", - "hash": "sha256-J7xDCi1PX/hbAsEgxFr+PgIoflsTvXMOq7jtSE1epLo=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/kdeplasma-addons-6.4.0.tar.xz", + "hash": "sha256-XwS3FmjLhADglL7Oa7bHRra7k2W8EWk4tm2Kq9hJNVo=" }, "kgamma": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/kgamma-6.3.5.tar.xz", - "hash": "sha256-FgZi3xHwzXzNqpfBbmNFIqsMhuWi1JzhQ4mZ/mWXmSs=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/kgamma-6.4.0.tar.xz", + "hash": "sha256-IRQh+vjZAB3JNgkv0fTyEVNIWvQ08AcfVdIovRo5xUg=" }, "kglobalacceld": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/kglobalacceld-6.3.5.tar.xz", - "hash": "sha256-92yf9N8PbeDJ7kdcfjV0l/d9JhWnrdCXtmndaLWaaQA=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/kglobalacceld-6.4.0.tar.xz", + "hash": "sha256-9+Z6c2e2C9RTBVjvkZgN+ha7UA1VFutonrUAQeELDzI=" }, "kinfocenter": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/kinfocenter-6.3.5.tar.xz", - "hash": "sha256-QDVErutgb/s75V2kIT0XEsv5NTTAmC44IErYY+Aa6MM=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/kinfocenter-6.4.0.tar.xz", + "hash": "sha256-TS3q9MH/dv8QDtawfXyxWLoRbEwiG3tfeyVEAoUFRJQ=" }, "kmenuedit": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/kmenuedit-6.3.5.tar.xz", - "hash": "sha256-EsPBJegT+C1XJ68dYmIIMPXdXdWyAkjxYYWR4jXuk0s=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/kmenuedit-6.4.0.tar.xz", + "hash": "sha256-SuSmetygfhDCR1uaGay9KD0YQKmWu8CE2bGyN8fm74g=" }, "kpipewire": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/kpipewire-6.3.5.tar.xz", - "hash": "sha256-mbYSu+D+P0QFT8VxMeBfwAX2dczAcaCItaDxVNA68vc=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/kpipewire-6.4.0.tar.xz", + "hash": "sha256-1ZdmWk7lekmT2QjmIVEkKumlo6JedtC6AD85ymhp41o=" }, "krdp": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/krdp-6.3.5.tar.xz", - "hash": "sha256-aldaFtzFOJbfDIId491JNA8eI8Bhz7Uotrx+NJn/wuY=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/krdp-6.4.0.tar.xz", + "hash": "sha256-78FnobeNIWoopi/TzJmBhQKGK6hB7/F1k+4VchzhRdU=" }, "kscreen": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/kscreen-6.3.5.tar.xz", - "hash": "sha256-cdy3kCFoHY5I2Bm4EOZzboiypGTmsVml9w/pRfqRCiU=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/kscreen-6.4.0.tar.xz", + "hash": "sha256-5M7giQpTQFMVH6XoU3Ktgukmm5TNPcMytzfDbEcRcn8=" }, "kscreenlocker": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/kscreenlocker-6.3.5.tar.xz", - "hash": "sha256-eW7zTpH5fb6xkAKw/0QA63MtrJHVGEo5m/nlveI2qPY=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/kscreenlocker-6.4.0.tar.xz", + "hash": "sha256-uEAgK6a1vXgyqyEWvu4sjjhvqbhE5tsOQlqEAGtmmPo=" }, "ksshaskpass": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/ksshaskpass-6.3.5.tar.xz", - "hash": "sha256-38BKYTDVjVYfsO6PrioSf4haqOLe4IdznaMEOHlHrY8=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/ksshaskpass-6.4.0.tar.xz", + "hash": "sha256-zjx7qfFmOOteA3iCFEioS5oGGSKL6BluVcOV/U10OAY=" }, "ksystemstats": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/ksystemstats-6.3.5.tar.xz", - "hash": "sha256-4v2Lo/0K4P+RCz/Zb2F1adG/sAwnloaf61+PszTvQ1U=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/ksystemstats-6.4.0.tar.xz", + "hash": "sha256-4PiFWk25FQgGa52lEI3bzki7rdpku5ZlOsL7MS/BRo4=" }, "kwallet-pam": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/kwallet-pam-6.3.5.tar.xz", - "hash": "sha256-qUOpVXVE2Opr3ibsFlw+yLfAKoF7bnxAbFV67iaaPN4=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/kwallet-pam-6.4.0.tar.xz", + "hash": "sha256-RQ5Na4BMWX61EVkADhk2iJJuTYIlrhmhYn4l0R/ri14=" }, "kwayland": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/kwayland-6.3.5.tar.xz", - "hash": "sha256-D8Hw7N1TDlKExs8NHO1IRRQyKEvGXG5NhXihOgnf970=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/kwayland-6.4.0.tar.xz", + "hash": "sha256-CmSafVAjcCLJsMDz798qe/vreU43zzdcohkOZLXR2x8=" }, "kwayland-integration": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/kwayland-integration-6.3.5.tar.xz", - "hash": "sha256-iVnwHXG9zZ3eMsSt6GP1SNeSAyZ/R/gmR8qP+nN2iX4=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/kwayland-integration-6.4.0.tar.xz", + "hash": "sha256-olIYm9HKCRWbtweBb/nVUqWzAJMpyTCg6YN3KEvw8Rw=" }, "kwin": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/kwin-6.3.5.tar.xz", - "hash": "sha256-1xzay6s1+BOeeZ/gATJI9o6AK6UWQRtEbV1mwwvX5ew=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/kwin-6.4.0.tar.xz", + "hash": "sha256-DTSSMXpxmmRb8ok/ysIbspeWBrrzcDYQ5Va1961U3mo=" + }, + "kwin-x11": { + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/kwin-x11-6.4.0.tar.xz", + "hash": "sha256-dtfAGOtu5lcpLIkquc50CYKQ7uB8P9+p18UxSX2OW3c=" }, "kwrited": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/kwrited-6.3.5.tar.xz", - "hash": "sha256-JijIieIDhUmdxqC5lbuNIffSXX/+pNfrvh5EZdaWZm8=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/kwrited-6.4.0.tar.xz", + "hash": "sha256-ZCxWdKsNlcoKQtbRstrKtf+/wGcZgZUo+iUVPGimRUo=" }, "layer-shell-qt": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/layer-shell-qt-6.3.5.tar.xz", - "hash": "sha256-cGLKDlDczpfdEdit8bhtSfHFZCPyNB3Os+pA3EggbiU=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/layer-shell-qt-6.4.0.tar.xz", + "hash": "sha256-K55BM9Cb6Fji7mEHpWir0xoWC0ZlRatLZjEcaDlcd7A=" }, "libkscreen": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/libkscreen-6.3.5.tar.xz", - "hash": "sha256-Wl0Uus/smwWRwebW4U85jmlDZsH/Lzj24M11LtqRueM=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/libkscreen-6.4.0.tar.xz", + "hash": "sha256-4kBHbhXFfoWnkQf++9zLBwgoiaSUtXqlx8Tm8gjpEho=" }, "libksysguard": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/libksysguard-6.3.5.tar.xz", - "hash": "sha256-NsAfjIIYwXUGLooNssB8o5q+rDT8YtfmtIGU8FO8NSM=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/libksysguard-6.4.0.tar.xz", + "hash": "sha256-v9C695c0B0RAk+E6XOKzEM7lhuO7xdThB4W8Gg1FpmM=" }, "libplasma": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/libplasma-6.3.5.tar.xz", - "hash": "sha256-UBLIPS2iZd6WBwm08hOPOXiqROH7K7DWs++V3pjm6uQ=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/libplasma-6.4.0.tar.xz", + "hash": "sha256-/4bw2QYlS7yfkQfzg7Gfu1un2yQ/q38tfSeP6DFGNUw=" }, "milou": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/milou-6.3.5.tar.xz", - "hash": "sha256-vPTHP2I/oFEL0YXmHk5VsnX9yIpOXdMRheC3I2ZvyPo=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/milou-6.4.0.tar.xz", + "hash": "sha256-7SWKx4tH2O7oFxOIq8EtxzuvP+gkK8EZpqMUMdfbPzA=" }, "ocean-sound-theme": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/ocean-sound-theme-6.3.5.tar.xz", - "hash": "sha256-5qsu8Sujks2tvE+hBDpKHVQZthd6CGgi9ox6W1IXmMM=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/ocean-sound-theme-6.4.0.tar.xz", + "hash": "sha256-r6ZyqRyuqaNPn+aZA7/02M+ZsWOT21LVRvq+K1uOp3M=" }, "oxygen": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/oxygen-6.3.5.tar.xz", - "hash": "sha256-el8Gp0xF7amZqW+OtbLW5Yvqk8OX3xSEtIkoZ32v1z0=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/oxygen-6.4.0.tar.xz", + "hash": "sha256-p29NbjoPnvZzq3W3sULfUTbYevHwlMz63Svm5s5sLCQ=" }, "oxygen-sounds": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/oxygen-sounds-6.3.5.tar.xz", - "hash": "sha256-QFjwO+89nHNKZ5qvbmDO6y6EUAcHi0tlSh88kNKCLlY=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/oxygen-sounds-6.4.0.tar.xz", + "hash": "sha256-Wz1d8nOQ7ggmCWSypo1Zl/L1B9F1MRRg+6Gs6kFNyFI=" }, "plasma-activities": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/plasma-activities-6.3.5.tar.xz", - "hash": "sha256-7uVaTt4tl3+R2lp/3tbdIa6mwu5PXZ3xFoJwqNYdGfo=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/plasma-activities-6.4.0.tar.xz", + "hash": "sha256-Go8DS7iVx1d5jFvoeiDbVGlvRe7ePXG4uBXPZmz864w=" }, "plasma-activities-stats": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/plasma-activities-stats-6.3.5.tar.xz", - "hash": "sha256-ZU+sklcd7L2lG9yf7bjA4+X3DXQvcQkZhMELE38cxG4=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/plasma-activities-stats-6.4.0.tar.xz", + "hash": "sha256-kxNliQbYG/KW2emKwZeQuD6Ii6ifESPGKwpy+TjyjuY=" }, "plasma-browser-integration": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/plasma-browser-integration-6.3.5.tar.xz", - "hash": "sha256-/+EdOQ8xEtvmfxx9vIAAodQUdJrpxn/np5SJ8grjwko=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/plasma-browser-integration-6.4.0.tar.xz", + "hash": "sha256-FH4LixBeR8o/xpTdLYbsvqp8PDFdi/PaDUtuNagp56Q=" }, "plasma-desktop": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/plasma-desktop-6.3.5.tar.xz", - "hash": "sha256-BH956THyCUNUsYTUsfypFUpzLHSYvxhxqAECB/gCn5o=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/plasma-desktop-6.4.0.tar.xz", + "hash": "sha256-GOEUAzwYLSY8k39bxBeTJSkx3NrCKwTUnTOgEJuyrrI=" }, "plasma-dialer": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/plasma-dialer-6.3.5.tar.xz", - "hash": "sha256-sbuKAI+g4w1TGTAdppr5et2Uus5OUEkXBmpxMUDBt1M=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/plasma-dialer-6.4.0.tar.xz", + "hash": "sha256-pyPbCGLDWhw48Fn8zs8rUECrOiv/+gHPY7fh+yUh45A=" }, "plasma-disks": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/plasma-disks-6.3.5.tar.xz", - "hash": "sha256-6vMIr/1yB+6FRK55yZ03a/f56J4iiwE71xavnFMNb80=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/plasma-disks-6.4.0.tar.xz", + "hash": "sha256-lMle0b1JREjIHjU2Dci0muBazsExZR7IFxb0pSIY6pA=" }, "plasma-firewall": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/plasma-firewall-6.3.5.tar.xz", - "hash": "sha256-cj7lwTHUmlocJYoPAFtSsrww+Jq1DcJWRC8RS+RO+fQ=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/plasma-firewall-6.4.0.tar.xz", + "hash": "sha256-8MCE2Yxff3Kjc1X9vN/nwv8CBe0kAJAUQGqSRNZIRoU=" }, "plasma-integration": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/plasma-integration-6.3.5.tar.xz", - "hash": "sha256-25RRAKxGG5vgG6N069BHwwm08HdmaMpXBWCHAJTQkRo=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/plasma-integration-6.4.0.tar.xz", + "hash": "sha256-pxhoIFKN72+Ie2Qu+nv7TE4UjRTmXvCreH/DWmLigdA=" }, "plasma-mobile": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/plasma-mobile-6.3.5.tar.xz", - "hash": "sha256-Bnxd7xZOqMU0qRD7V7TdabHIOmh3l17+vht7J0BF9Jc=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/plasma-mobile-6.4.0.tar.xz", + "hash": "sha256-1m4fkOvV+ZPueDW3+K6suq0VtB5W3wqyq65Ve0Ck2Dg=" }, "plasma-nano": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/plasma-nano-6.3.5.tar.xz", - "hash": "sha256-/qNsyIFyyGmfbGQ82umgH5JAinaUKiPrVld9zw/DjV8=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/plasma-nano-6.4.0.tar.xz", + "hash": "sha256-gF400TsjLpf5D3pU/DnLx5qU2ZZ83e3t4GAgKD4+n/E=" }, "plasma-nm": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/plasma-nm-6.3.5.tar.xz", - "hash": "sha256-FAHNOR5oTLkaKtyJ4CWlKEVctoPM3PFSpgVwEpM2I/k=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/plasma-nm-6.4.0.tar.xz", + "hash": "sha256-JZC7gTpX7UEdNwfrrUuo4tvE7V2DC/I1R/loYpcV1Tc=" }, "plasma-pa": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/plasma-pa-6.3.5.tar.xz", - "hash": "sha256-pm//c61ZxH0KDE8axDSa+81Td+eSjt1oSfWn5OEcAZg=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/plasma-pa-6.4.0.tar.xz", + "hash": "sha256-exm0FHhwiDWhWASU5VIYA7ybeUdLUO0ev5MYog4e0ag=" }, "plasma-sdk": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/plasma-sdk-6.3.5.tar.xz", - "hash": "sha256-cOBH/yxXURTLs254LD4EWyUyWoDY/XpAG9gVjD+ynNM=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/plasma-sdk-6.4.0.tar.xz", + "hash": "sha256-s/ExaxY7tearhpcDBuZjdgrpOBSkPtQ/Ky92ESisKIU=" }, "plasma-systemmonitor": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/plasma-systemmonitor-6.3.5.tar.xz", - "hash": "sha256-cudaSypUb+mGlOWySQUOM1i6rgscOSV6D9pyBqZ3phA=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/plasma-systemmonitor-6.4.0.tar.xz", + "hash": "sha256-lDac1svv9f+vNgXudmDqSqoD2VkoKw8g1lmpU64tl1o=" }, "plasma-thunderbolt": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/plasma-thunderbolt-6.3.5.tar.xz", - "hash": "sha256-RHLy64VCp5dq4c3aAC1CIBmhFm3r6QIYCneImpAkhD8=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/plasma-thunderbolt-6.4.0.tar.xz", + "hash": "sha256-w92KudTZFGkp87OWftV/ZpXQpW+Q8oGWTRzwTa9uXI4=" }, "plasma-vault": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/plasma-vault-6.3.5.tar.xz", - "hash": "sha256-psyOrngWcfYtRl3J7EU2BECaJKXJqRyivQKRIrfQHnM=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/plasma-vault-6.4.0.tar.xz", + "hash": "sha256-zdDtq+GiFchWaMRzSfOsju2VpGG71WTWfsjfIXDq52w=" }, "plasma-welcome": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/plasma-welcome-6.3.5.tar.xz", - "hash": "sha256-fuRzKbKUZUm36lPKE8LUpZLSmh7mO5Lo73sF3Dd8cMY=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/plasma-welcome-6.4.0.tar.xz", + "hash": "sha256-Lw08NImQOoZYa4Otb7UrwVLhtFnkq+yC/wIrUbjStDY=" }, "plasma-workspace": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/plasma-workspace-6.3.5.tar.xz", - "hash": "sha256-f1CPbKJ9fWFe7ieRndCw+U0Wi6gcOk1UOWgEa8y3h/I=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/plasma-workspace-6.4.0.tar.xz", + "hash": "sha256-lh71T3/SHyEvjWMzAPG7BSBSSql5TkM64avhasBWCys=" }, "plasma-workspace-wallpapers": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/plasma-workspace-wallpapers-6.3.5.tar.xz", - "hash": "sha256-ipG/gDePFrEvmiAcclLPC6a5DT43hqNll7OyEV+A23w=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/plasma-workspace-wallpapers-6.4.0.tar.xz", + "hash": "sha256-zEs1PLI63zJos4sVxvb70lpjd0tJgkaPgORQ9gDTkwI=" }, "plasma5support": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/plasma5support-6.3.5.tar.xz", - "hash": "sha256-6CVJ3gQ+i++iFWrYHK98eoFRkUnNeqgE/9YCoMSlSL4=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/plasma5support-6.4.0.tar.xz", + "hash": "sha256-OuNktBqGjQ/ZlHxTs9iHI5OLsIA/H4Yphfkztslz6EM=" }, "plymouth-kcm": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/plymouth-kcm-6.3.5.tar.xz", - "hash": "sha256-ZvD+YUe70EACAzec0xIDs2ZC2Pe64Px5AGjpWFN/h00=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/plymouth-kcm-6.4.0.tar.xz", + "hash": "sha256-WW0OK4QQbLkS1Poo38mmLPppMAEPJ7aPw0ph2TQSWVM=" }, "polkit-kde-agent-1": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/polkit-kde-agent-1-6.3.5.tar.xz", - "hash": "sha256-WAcbNSmlO2yZ8aKrUbRSxxusAtH0RW60sBScm8m9W6A=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/polkit-kde-agent-1-6.4.0.tar.xz", + "hash": "sha256-qKtd9qseoF5j7wjrvlNuE5PU9tbdSylzBWGfweh1FcU=" }, "powerdevil": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/powerdevil-6.3.5.tar.xz", - "hash": "sha256-ppiD1hVuemd8jRy1zZFaieJGaSdO8ZZtXZzrMTJQ2lM=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/powerdevil-6.4.0.tar.xz", + "hash": "sha256-0K1Uy21MzznA1bfwx98vUbyZ/9P9bKdTjtP0HfxPZ34=" }, "print-manager": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/print-manager-6.3.5.tar.xz", - "hash": "sha256-dxUfOVrZHtprZE62yH/iib4ZjqtBwDnmC9uzsW1VmsE=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/print-manager-6.4.0.tar.xz", + "hash": "sha256-KrsouJRLPkxIQTyzG1TgeMn6jR/YwRWmFQcxA52Sy/0=" }, "qqc2-breeze-style": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/qqc2-breeze-style-6.3.5.tar.xz", - "hash": "sha256-MHqit3HhWFHXAWmah3TrSCYaoRewv/+dqBwzlPuNS+o=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/qqc2-breeze-style-6.4.0.tar.xz", + "hash": "sha256-S+kIS9VZdE2Awgs4k8K7tE3Bk/2TJPTbjSf2rQl++kw=" }, "sddm-kcm": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/sddm-kcm-6.3.5.tar.xz", - "hash": "sha256-tJBj8KKKPkLbpsbe5nWj1TPXJ8M/Q76JEPZAa1x9CNI=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/sddm-kcm-6.4.0.tar.xz", + "hash": "sha256-N4t+twvSPMm7ZUs2a4X7YVgkdqvECIYRU0vDyJGPa/I=" }, "spacebar": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/spacebar-6.3.5.tar.xz", - "hash": "sha256-r5hOC4wDgLdPeL/2+UbXzmhtMSa+ylTV7oXvcRRRrXM=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/spacebar-6.4.0.tar.xz", + "hash": "sha256-LHSJ/AczyJjSTexA0fuOUHFAMcJkFPaCYma9PJnAFYA=" }, "spectacle": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/spectacle-6.3.5.tar.xz", - "hash": "sha256-3vyxsuooW+jF2cnt44mmYo4Lzl2Z0JFs6SWGVSOe8WA=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/spectacle-6.4.0.tar.xz", + "hash": "sha256-cxdWeX6+/p9evbYymwz0zdX2wWmq8WpYwpQF/5emprA=" }, "systemsettings": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/systemsettings-6.3.5.tar.xz", - "hash": "sha256-3Qu1QUBb7RVHRjPNitkKme/MdjuSPaYPtAtpLCrW5Iw=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/systemsettings-6.4.0.tar.xz", + "hash": "sha256-TDhVGapA6Q3LCxoLBw0zE/2e1fszyWPqVFnOXTFpLz8=" }, "wacomtablet": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/wacomtablet-6.3.5.tar.xz", - "hash": "sha256-fXAzHewvgLLFZOeIGyX2Ka36Uu/Hr2DfmhVHnrUy8Lc=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/wacomtablet-6.4.0.tar.xz", + "hash": "sha256-c3FmxmiOSOIdTaNp3C83yG/kjx6rv4ndjPJ4WeGiltk=" }, "xdg-desktop-portal-kde": { - "version": "6.3.5", - "url": "mirror://kde/stable/plasma/6.3.5/xdg-desktop-portal-kde-6.3.5.tar.xz", - "hash": "sha256-DCvcVypvQO5F0b2gkO10JVGwyjSMRpuhRw+HRTlabPg=" + "version": "6.4.0", + "url": "mirror://kde/stable/plasma/6.4.0/xdg-desktop-portal-kde-6.4.0.tar.xz", + "hash": "sha256-ANt7FVEUaw2pEHi/VAyir1bJ0g+fJUaeJYOdCUVams4=" } } \ No newline at end of file diff --git a/pkgs/kde/lib/mk-kde-derivation.nix b/pkgs/kde/lib/mk-kde-derivation.nix index bba43b3bc411..02885eb947ff 100644 --- a/pkgs/kde/lib/mk-kde-derivation.nix +++ b/pkgs/kde/lib/mk-kde-derivation.nix @@ -6,6 +6,8 @@ self: cmake, ninja, qt6, + python3, + python3Packages, }: let dependencies = (lib.importJSON ../generated/dependencies.json).dependencies; @@ -54,6 +56,7 @@ let # FIXME: typo lol "ICS" = lib.licenses.isc; + "BSD-2-Clauses" = lib.licenses.bsd2; "BSD-3-clause" = lib.licenses.bsd3; "BSD-3-Clauses" = lib.licenses.bsd3; @@ -73,7 +76,7 @@ let None = null; }; - moveDevHook = makeSetupHook { name = "kf6-move-dev-hook"; } ./move-dev-hook.sh; + moveOutputsHook = makeSetupHook { name = "kf6-move-outputs-hook"; } ./move-outputs-hook.sh; in { pname, @@ -84,6 +87,7 @@ in extraPropagatedBuildInputs ? [ ], extraCmakeFlags ? [ ], excludeDependencies ? [ ], + hasPythonBindings ? false, ... }@args: let @@ -119,15 +123,30 @@ let "out" "dev" "devtools" - ]; + ] ++ lib.optionals hasPythonBindings [ "python" ]; - nativeBuildInputs = [ - cmake - ninja - qt6.wrapQtAppsHook - moveDevHook - ] ++ extraNativeBuildInputs; - buildInputs = [ qt6.qtbase ] ++ extraBuildInputs; + nativeBuildInputs = + [ + cmake + ninja + qt6.wrapQtAppsHook + moveOutputsHook + ] + ++ lib.optionals hasPythonBindings [ + python3Packages.shiboken6 + (python3.withPackages (ps: [ + ps.build + ps.setuptools + ])) + ] + ++ extraNativeBuildInputs; + + buildInputs = + [ qt6.qtbase ] + ++ lib.optionals hasPythonBindings [ + python3Packages.pyside6 + ] + ++ extraBuildInputs; # FIXME: figure out what to propagate here propagatedBuildInputs = deps ++ extraPropagatedBuildInputs; @@ -147,6 +166,7 @@ let "extraPropagatedBuildInputs" "extraCmakeFlags" "excludeDependencies" + "hasPythonBindings" "meta" ]; diff --git a/pkgs/kde/lib/move-dev-hook.sh b/pkgs/kde/lib/move-dev-hook.sh deleted file mode 100644 index a49cb91d22f3..000000000000 --- a/pkgs/kde/lib/move-dev-hook.sh +++ /dev/null @@ -1,11 +0,0 @@ -# shellcheck shell=bash -# shellcheck disable=SC2154 - -moveKF6DevTools() { - if [ -n "$devtools" ]; then - mkdir -p "$devtools" - moveToOutput "${qtPluginPrefix}/designer" "$devtools" - fi -} - -postInstallHooks+=('moveKF6DevTools') diff --git a/pkgs/kde/lib/move-outputs-hook.sh b/pkgs/kde/lib/move-outputs-hook.sh new file mode 100644 index 000000000000..322241da1406 --- /dev/null +++ b/pkgs/kde/lib/move-outputs-hook.sh @@ -0,0 +1,18 @@ +# shellcheck shell=bash +# shellcheck disable=SC2154 + +moveKF6Outputs() { + if [ -n "$devtools" ]; then + mkdir -p "$devtools" + moveToOutput "${qtPluginPrefix}/designer" "$devtools" + fi + + if [ -n "$python" ]; then + mkdir -p "$python" + moveToOutput 'lib/python*' "$python" + moveToOutput 'share/PySide6' "$python" + moveToOutput 'include/PySide6' "$python" + fi +} + +postInstallHooks+=('moveKF6Outputs') diff --git a/pkgs/kde/misc/kirigami-addons/default.nix b/pkgs/kde/misc/kirigami-addons/default.nix index 96c5a4b7b204..98ccc2931470 100644 --- a/pkgs/kde/misc/kirigami-addons/default.nix +++ b/pkgs/kde/misc/kirigami-addons/default.nix @@ -15,7 +15,7 @@ mkKdeDerivation rec { hash = "sha256-AAKK5N+Z4lBRg0XqKNnN9J1wDprKxIJzS7UThNoR+UU="; }; - extraNativeBuildInputs = [ (qttools.override { withClang = true; }) ]; + extraNativeBuildInputs = [ qttools ]; extraBuildInputs = [ qtdeclarative ]; extraPropagatedBuildInputs = [ qt5compat ]; diff --git a/pkgs/kde/misc/ktextaddons/default.nix b/pkgs/kde/misc/ktextaddons/default.nix index 2c960ad813e4..7296d8b22fe7 100644 --- a/pkgs/kde/misc/ktextaddons/default.nix +++ b/pkgs/kde/misc/ktextaddons/default.nix @@ -9,22 +9,13 @@ }: mkKdeDerivation rec { pname = "ktextaddons"; - version = "1.5.4"; + version = "1.6.0"; src = fetchurl { url = "mirror://kde/stable/ktextaddons/ktextaddons-${version}.tar.xz"; - hash = "sha256-ZLgGAuhLJekWRiCvP2NB+oZbhegmq49eAgYa4koneyA="; + hash = "sha256-2YRlBaUvl72mTq0ZMDK8KVc+wxSB9HO+PFhvW4Mh7Nw="; }; - # Backport fix for Qt 6.9 - # FIXME: remove in next update - patches = [ - (fetchpatch { - url = "https://invent.kde.org/libraries/ktextaddons/-/commit/fdbb082aaa0125d60fdf819c9cb95c40bdb98800.patch"; - hash = "sha256-S+yGXXhZ/OdIgMGgyzofr1BzNV44/Uz/6NAoxdN9wRk="; - }) - ]; - extraBuildInputs = [ qtspeech qttools diff --git a/pkgs/kde/misc/plasma-wayland-protocols/default.nix b/pkgs/kde/misc/plasma-wayland-protocols/default.nix new file mode 100644 index 000000000000..0c124dfffd6c --- /dev/null +++ b/pkgs/kde/misc/plasma-wayland-protocols/default.nix @@ -0,0 +1,21 @@ +{ + lib, + mkKdeDerivation, + fetchurl, +}: +mkKdeDerivation rec { + pname = "plasma-wayland-protocols"; + version = "1.18.0"; + + src = fetchurl { + url = "mirror://kde/stable/plasma-wayland-protocols/plasma-wayland-protocols-${version}.tar.xz"; + hash = "sha256-JWdHJnGtXZifiLUbrvndWTU6Xnw/LtfmuYl1XLkAQjM="; + }; + + meta.license = with lib.licenses; [ + bsd3 + cc0 + lgpl21Plus + mit + ]; +} diff --git a/pkgs/kde/plasma/aurorae/0001-follow-symlinks.patch b/pkgs/kde/plasma/aurorae/0001-follow-symlinks.patch new file mode 100644 index 000000000000..39c47d235f59 --- /dev/null +++ b/pkgs/kde/plasma/aurorae/0001-follow-symlinks.patch @@ -0,0 +1,11 @@ +--- a/src/aurorae.cpp ++++ b/src/aurorae.cpp +@@ -201,7 +201,7 @@ void Helper::init() + // so let's try to locate our plugin: + QString pluginPath; + for (const QString &path : m_engine->importPathList()) { +- QDirIterator it(path, QDirIterator::Subdirectories); ++ QDirIterator it(path, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks); + while (it.hasNext()) { + it.next(); + QFileInfo fileInfo = it.fileInfo(); diff --git a/pkgs/kde/plasma/aurorae/default.nix b/pkgs/kde/plasma/aurorae/default.nix new file mode 100644 index 000000000000..03cb5174b4d0 --- /dev/null +++ b/pkgs/kde/plasma/aurorae/default.nix @@ -0,0 +1,14 @@ +{ + mkKdeDerivation, + qttools, +}: +mkKdeDerivation { + pname = "aurorae"; + + patches = [ + # FIXME: upstream + ./0001-follow-symlinks.patch + ]; + + extraBuildInputs = [ qttools ]; +} diff --git a/pkgs/kde/plasma/default.nix b/pkgs/kde/plasma/default.nix index 85ddce4b0807..865d667f33af 100644 --- a/pkgs/kde/plasma/default.nix +++ b/pkgs/kde/plasma/default.nix @@ -1,5 +1,6 @@ { callPackage }: { + aurorae = callPackage ./aurorae { }; bluedevil = callPackage ./bluedevil { }; breeze = callPackage ./breeze { }; breeze-grub = callPackage ./breeze-grub { }; @@ -27,6 +28,7 @@ kwayland = callPackage ./kwayland { }; kwayland-integration = callPackage ./kwayland-integration { }; kwin = callPackage ./kwin { }; + kwin-x11 = callPackage ./kwin-x11 { }; kwrited = callPackage ./kwrited { }; layer-shell-qt = callPackage ./layer-shell-qt { }; libkscreen = callPackage ./libkscreen { }; diff --git a/pkgs/kde/plasma/krdp/default.nix b/pkgs/kde/plasma/krdp/default.nix index 2fa1c15f53fe..7f1d1bd89a69 100644 --- a/pkgs/kde/plasma/krdp/default.nix +++ b/pkgs/kde/plasma/krdp/default.nix @@ -6,9 +6,6 @@ pkg-config, qtwayland, freerdp, - fetchpatch, - wayland, - wayland-protocols, }: mkKdeDerivation { pname = "krdp"; @@ -17,18 +14,11 @@ mkKdeDerivation { (replaceVars ./hardcode-openssl-path.patch { openssl = lib.getExe openssl; }) - (fetchpatch { - # support for freerdp3, can be dropped with krdp 6.4 - url = "https://invent.kde.org/plasma/krdp/-/merge_requests/69.patch"; - hash = "sha256-5x9JUbFTw/POxBW8G/BOlo/wtcUjPU9J1V/wba1EI/o="; - }) ]; extraNativeBuildInputs = [ pkg-config ]; extraBuildInputs = [ qtwayland freerdp - wayland - wayland-protocols ]; } diff --git a/pkgs/kde/plasma/kscreen/default.nix b/pkgs/kde/plasma/kscreen/default.nix index 379e13d561c8..2f91e980bbfa 100644 --- a/pkgs/kde/plasma/kscreen/default.nix +++ b/pkgs/kde/plasma/kscreen/default.nix @@ -1,12 +1,21 @@ { mkKdeDerivation, + pkg-config, qtsensors, + qtwayland, dbus, + wayland-protocols, }: mkKdeDerivation { pname = "kscreen"; - extraBuildInputs = [ qtsensors ]; + extraNativeBuildInputs = [ pkg-config ]; + + extraBuildInputs = [ + qtsensors + qtwayland + wayland-protocols + ]; postFixup = '' substituteInPlace $out/share/kglobalaccel/org.kde.kscreen.desktop \ diff --git a/pkgs/kde/plasma/ksystemstats/default.nix b/pkgs/kde/plasma/ksystemstats/default.nix index 75e6d22f223e..f4ab0c0d6941 100644 --- a/pkgs/kde/plasma/ksystemstats/default.nix +++ b/pkgs/kde/plasma/ksystemstats/default.nix @@ -9,6 +9,10 @@ mkKdeDerivation { pname = "ksystemstats"; + patches = [ + ./helper-path.patch + ]; + extraNativeBuildInputs = [ pkg-config ]; extraBuildInputs = [ networkmanager-qt diff --git a/pkgs/kde/plasma/ksystemstats/helper-path.patch b/pkgs/kde/plasma/ksystemstats/helper-path.patch new file mode 100644 index 000000000000..17d0c99be053 --- /dev/null +++ b/pkgs/kde/plasma/ksystemstats/helper-path.patch @@ -0,0 +1,10 @@ +diff --git a/plugins/gpu/IntelHelperLocation.h.cmake b/plugins/gpu/IntelHelperLocation.h.cmake +index 6f9ba83..a252c1b 100644 +--- a/plugins/gpu/IntelHelperLocation.h.cmake ++++ b/plugins/gpu/IntelHelperLocation.h.cmake +@@ -6,4 +6,4 @@ + + #pragma once + +-constexpr auto helperLocation = "@KDE_INSTALL_FULL_LIBEXECDIR@/ksystemstats_intel_helper"; ++constexpr auto helperLocation = "/run/wrappers/bin/ksystemstats_intel_helper"; diff --git a/pkgs/kde/plasma/kwin-x11/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch b/pkgs/kde/plasma/kwin-x11/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch new file mode 100644 index 000000000000..896c5dcff20b --- /dev/null +++ b/pkgs/kde/plasma/kwin-x11/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch @@ -0,0 +1,114 @@ +From 29ec6fada935ef966e5859082435ed57daa9522d Mon Sep 17 00:00:00 2001 +From: Samuel Dionne-Riel +Date: Tue, 16 Mar 2021 15:03:59 -0400 +Subject: [PATCH] [NixOS] Unwrap executable name for .desktop search + +Why is this necessary even though -a "$0" is used in the wrapper? +Because it's completely bypassing argv0! This looks at the executable +file in-use according to the kernel! + +Wrappers cannot affect the `/proc/.../exe` symlink! + +Co-authored-by: Yaroslav Bolyukin +--- + src/nixos_utils.h | 41 +++++++++++++++++++++++++++++++++++++++++ + src/service_utils.h | 4 +++- + src/waylandwindow.cpp | 5 ++++- + 3 files changed, 48 insertions(+), 2 deletions(-) + create mode 100644 src/nixos_utils.h + +diff --git a/src/nixos_utils.h b/src/nixos_utils.h +new file mode 100644 +index 0000000..726065d +--- /dev/null ++++ b/src/nixos_utils.h +@@ -0,0 +1,41 @@ ++#ifndef NIXOS_UTILS_H ++#define NIXOS_UTILS_H ++ ++// kwin ++// #include ++ ++namespace KWin ++{ ++ ++static QString unwrapExecutablePath(const QString &in_executablePath) ++{ ++ // NixOS fixes many packaging issues through "wrapper" scripts that manipulates the environment or does ++ // miscellaneous trickeries and mischievous things to make the programs work. ++ // In turn, programs often employs different mischievous schemes and trickeries to do *other things. ++ // It often happens that they conflict. ++ // Here, `kwin` tries to detect the .desktop file for a given process. ++ // `kwin` followed the process `/proc/.../exe` up to the actual binary running. ++ // It normally would be fine, e.g. /usr/bin/foobar is what's in the desktop file. ++ // But it's not the truth here! It's extremely likely the resolved path is /nix/store/.../bin/.foobar-wrapped ++ // rather than what the desktop file points to, something like /nix/store/.../bin/foobar !! ++ // Since the wrappers for Nixpkgs *always* prepend a dot and append -wrapped, we assume here that we can keep ++ // `/^(.*)\/\.([^/]*)-wrapped/` until the (equivalent) regex does not match. ++ // This should canonicalize the wrapper name to the expected name to look for in the desktop file. ++ ++ // Use a copy of the const string ++ QString executablePath(in_executablePath); ++ ++ // While the parts needed are present, "unwrap" one layer of wrapper names. ++ while (executablePath.endsWith("-wrapped") && executablePath[executablePath.lastIndexOf("/")+1] == QChar('.')) { ++ // Approximately equivalent to s/-wrapped$// ++ executablePath.remove(executablePath.length() - 8, 8); ++ // Approximately equivalent to s;/\.;/; ++ executablePath.remove(executablePath.lastIndexOf("/")+1, 1); ++ } ++ ++ return executablePath; ++} ++ ++}// namespace ++ ++#endif // NIXOS_UTILS_H +diff --git a/src/utils/serviceutils.h b/src/utils/serviceutils.h +index 8a70c1f..475b15d 100644 +--- a/src/utils/serviceutils.h ++++ b/src/utils/serviceutils.h +@@ -19,6 +19,7 @@ + #include + //KF + #include ++#include "nixos_utils.h" + + namespace KWin + { +@@ -26,8 +27,9 @@ namespace KWin + const static QString s_waylandInterfaceName = QStringLiteral("X-KDE-Wayland-Interfaces"); + const static QString s_dbusRestrictedInterfaceName = QStringLiteral("X-KDE-DBUS-Restricted-Interfaces"); + +-static QStringList fetchProcessServiceField(const QString &executablePath, const QString &fieldName) ++static QStringList fetchProcessServiceField(const QString &in_executablePath, const QString &fieldName) + { ++ const QString executablePath = unwrapExecutablePath(in_executablePath); + // needed to be able to use the logging category in a header static function + static QLoggingCategory KWIN_UTILS ("KWIN_UTILS", QtWarningMsg); + const auto servicesFound = KApplicationTrader::query([&executablePath] (const KService::Ptr &service) { +diff --git a/src/waylandwindow.cpp b/src/waylandwindow.cpp +index fd2c0c1..ae8cf96 100644 +--- a/src/waylandwindow.cpp ++++ b/src/waylandwindow.cpp +@@ -10,6 +10,7 @@ + #include "screens.h" + #include "wayland_server.h" + #include "workspace.h" ++#include "nixos_utils.h" + + #include + #include +@@ -173,7 +174,9 @@ void WaylandWindow::updateIcon() + + void WaylandWindow::updateResourceName() + { +- const QFileInfo fileInfo(surface()->client()->executablePath()); ++ const QString in_path = surface()->client()->executablePath(); ++ const QString path = unwrapExecutablePath(in_path); ++ const QFileInfo fileInfo(path); + if (fileInfo.exists()) { + const QByteArray executableFileName = fileInfo.fileName().toUtf8(); + setResourceClass(executableFileName, executableFileName); +-- +2.32.0 diff --git a/pkgs/kde/plasma/kwin-x11/default.nix b/pkgs/kde/plasma/kwin-x11/default.nix new file mode 100644 index 000000000000..9573bbecb954 --- /dev/null +++ b/pkgs/kde/plasma/kwin-x11/default.nix @@ -0,0 +1,44 @@ +{ + mkKdeDerivation, + pkg-config, + qt5compat, + qtsensors, + qttools, + qtwayland, + xorg, + libcanberra, + libdisplay-info, + libgbm, + lcms2, + python3, +}: +mkKdeDerivation { + pname = "kwin-x11"; + + patches = [ + ./0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch + ]; + + postPatch = '' + patchShebangs src/plugins/strip-effect-metadata.py + ''; + + extraNativeBuildInputs = [ + pkg-config + python3 + ]; + + extraBuildInputs = [ + qt5compat + qtsensors + qttools + qtwayland + + libgbm + lcms2 + libcanberra + libdisplay-info + + xorg.libxcvt + ]; +} diff --git a/pkgs/kde/plasma/kwin/0001-follow-symlinks.patch b/pkgs/kde/plasma/kwin/0001-follow-symlinks.patch deleted file mode 100644 index efde4f4dcf04..000000000000 --- a/pkgs/kde/plasma/kwin/0001-follow-symlinks.patch +++ /dev/null @@ -1,25 +0,0 @@ -From af569c9ed8079169b524b31461e2789baa09ef7a Mon Sep 17 00:00:00 2001 -From: Thomas Tuegel -Date: Mon, 27 Jan 2020 05:31:13 -0600 -Subject: [PATCH 1/3] follow symlinks - ---- - src/plugins/kdecorations/aurorae/src/aurorae.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/plugins/kdecorations/aurorae/src/aurorae.cpp b/src/plugins/kdecorations/aurorae/src/aurorae.cpp -index 5242cb7..2e4ddae 100644 ---- a/src/plugins/kdecorations/aurorae/src/aurorae.cpp -+++ b/src/plugins/kdecorations/aurorae/src/aurorae.cpp -@@ -201,7 +201,7 @@ void Helper::init() - // so let's try to locate our plugin: - QString pluginPath; - for (const QString &path : m_engine->importPathList()) { -- QDirIterator it(path, QDirIterator::Subdirectories); -+ QDirIterator it(path, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks); - while (it.hasNext()) { - it.next(); - QFileInfo fileInfo = it.fileInfo(); --- -2.29.2 - diff --git a/pkgs/kde/plasma/kwin/default.nix b/pkgs/kde/plasma/kwin/default.nix index 0d78ac721cf2..a7aef2545865 100644 --- a/pkgs/kde/plasma/kwin/default.nix +++ b/pkgs/kde/plasma/kwin/default.nix @@ -22,10 +22,6 @@ mkKdeDerivation { pname = "kwin"; patches = [ - # Follow symlinks when searching for aurorae configs - # FIXME(later): upstream? - ./0001-follow-symlinks.patch - # The rest are NixOS-specific hacks ./0003-plugins-qpa-allow-using-nixos-wrapper.patch ./0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch ./0001-Lower-CAP_SYS_NICE-from-the-ambient-set.patch diff --git a/pkgs/kde/plasma/libksysguard/default.nix b/pkgs/kde/plasma/libksysguard/default.nix index 5f6ecce54353..e47da4a5fafd 100644 --- a/pkgs/kde/plasma/libksysguard/default.nix +++ b/pkgs/kde/plasma/libksysguard/default.nix @@ -10,6 +10,10 @@ mkKdeDerivation { pname = "libksysguard"; + patches = [ + ./helper-path.patch + ]; + extraBuildInputs = [ qtwebchannel qtwebengine diff --git a/pkgs/kde/plasma/libksysguard/helper-path.patch b/pkgs/kde/plasma/libksysguard/helper-path.patch new file mode 100644 index 000000000000..e75347d589be --- /dev/null +++ b/pkgs/kde/plasma/libksysguard/helper-path.patch @@ -0,0 +1,12 @@ +diff --git a/processcore/plugins/network/networkconstants.h.in b/processcore/plugins/network/networkconstants.h.in +index f4556252..23559401 100644 +--- a/processcore/plugins/network/networkconstants.h.in ++++ b/processcore/plugins/network/networkconstants.h.in +@@ -2,6 +2,6 @@ + + namespace NetworkConstants { + +-static const QString HelperLocation = QStringLiteral("@KDE_INSTALL_FULL_LIBEXECDIR@/ksysguard/ksgrd_network_helper"); ++static const QString HelperLocation = QStringLiteral("/run/wrappers/bin/ksgrd_network_helper"); + + } diff --git a/pkgs/kde/plasma/libplasma/default.nix b/pkgs/kde/plasma/libplasma/default.nix index 348bd4cb2bc2..f13240876725 100644 --- a/pkgs/kde/plasma/libplasma/default.nix +++ b/pkgs/kde/plasma/libplasma/default.nix @@ -9,6 +9,7 @@ mkKdeDerivation { pname = "libplasma"; extraNativeBuildInputs = [ pkg-config ]; + extraBuildInputs = [ qtsvg qtwayland diff --git a/pkgs/kde/plasma/plasma-workspace/default.nix b/pkgs/kde/plasma/plasma-workspace/default.nix index b5a8b5d3657f..90b76badce64 100644 --- a/pkgs/kde/plasma/plasma-workspace/default.nix +++ b/pkgs/kde/plasma/plasma-workspace/default.nix @@ -8,6 +8,7 @@ lsof, pkg-config, spirv-tools, + qtlocation, qtpositioning, qtsvg, qtwayland, @@ -44,6 +45,7 @@ mkKdeDerivation { spirv-tools ]; extraBuildInputs = [ + qtlocation qtpositioning qtsvg qtwayland diff --git a/pkgs/kde/third-party/dynamic-workspaces/default.nix b/pkgs/kde/third-party/dynamic-workspaces/default.nix new file mode 100644 index 000000000000..39837e11d96c --- /dev/null +++ b/pkgs/kde/third-party/dynamic-workspaces/default.nix @@ -0,0 +1,47 @@ +{ + lib, + stdenv, + fetchFromGitHub, + kpackage, + kwin, +}: + +stdenv.mkDerivation { + pname = "dynamic-workspaces"; + version = "3.2"; + + src = fetchFromGitHub { + owner = "d86leader"; + repo = "dynamic_workspaces"; + # 3.2 was released on KDE Store but not tagged. + rev = "a06e723804398d672be74eba0cd4ccee062e1410"; + hash = "sha256-fOxWVj6bB5nBiPXvVvjwc3MVjKWaOniqPe7UnsPsusE="; + }; + + nativeBuildInputs = [ + kpackage + ]; + + buildInputs = [ + kwin + ]; + + dontBuild = true; + dontWrapQtApps = true; + + installPhase = '' + runHook preInstall + + kpackagetool6 --type KWin/Script --install $src --packageroot $out/share/kwin/scripts + + runHook postInstall + ''; + + meta = { + description = "KWin script that automatically adds/removes virtual desktops"; + homepage = "https://github.com/maurges/dynamic_workspaces"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ federicoschonborn ]; + platforms = lib.platforms.all; + }; +} diff --git a/pkgs/kde/third-party/koi/0001-locate-plasma-tools.patch b/pkgs/kde/third-party/koi/0001-locate-plasma-tools.patch new file mode 100644 index 000000000000..2f4a8a2a7629 --- /dev/null +++ b/pkgs/kde/third-party/koi/0001-locate-plasma-tools.patch @@ -0,0 +1,44 @@ +diff --git a/src/plugins/colorscheme.cpp b/src/plugins/colorscheme.cpp +index 7c51806..4d8015b 100644 +--- a/src/plugins/colorscheme.cpp ++++ b/src/plugins/colorscheme.cpp +@@ -3,16 +3,7 @@ + #include + + void ColorScheme::setTheme(QString themeName) { +- QProcess process; +- QString locateProgram = "whereis"; +- QStringList programToLocate = {"plasma-apply-colorscheme"}; +- +- process.start(locateProgram, programToLocate); +- process.waitForFinished(); +- +- QString program(process.readAllStandardOutput()); +- program.replace("plasma-apply-colorscheme: ", ""); +- program.replace("\n", ""); ++ QString program("@plasma-apply-colorscheme@"); + + QStringList arguments{themeName}; + QProcess::startDetached(program, arguments); +diff --git a/src/plugins/icons.cpp b/src/plugins/icons.cpp +index 1cc306f..745d042 100644 +--- a/src/plugins/icons.cpp ++++ b/src/plugins/icons.cpp +@@ -5,16 +5,7 @@ + void Icons::setTheme(QString iconTheme) { + + // locate plasma-changeicons program +- QProcess process; +- QString locateProgram = "whereis"; +- QStringList programToLocate = {"plasma-changeicons"}; +- +- process.start(locateProgram, programToLocate); +- process.waitForFinished(); +- +- QString program(process.readAllStandardOutput()); +- program.replace("plasma-changeicons: ", ""); +- program.replace("\n", ""); ++ QString program("@plasma-changeicons@"); + + // apply the icon theme + QStringList arguments{iconTheme}; diff --git a/pkgs/kde/third-party/koi/default.nix b/pkgs/kde/third-party/koi/default.nix index 3a7e8ceda25d..3cdc6f2bc066 100644 --- a/pkgs/kde/third-party/koi/default.nix +++ b/pkgs/kde/third-party/koi/default.nix @@ -7,20 +7,43 @@ kcoreaddons, kwidgetsaddons, wrapQtAppsHook, + kdbusaddons, + kde-cli-tools, + plasma-workspace, + qtstyleplugin-kvantum, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "koi"; - version = "0.4"; + version = "0.5.1"; src = fetchFromGitHub { owner = "baduhai"; repo = "Koi"; - rev = version; - sha256 = "sha256-ip7e/Sz/l5UiTFUTLJPorPO7NltE2Isij2MCmvHZV40="; + tag = finalAttrs.version; + hash = "sha256-fXLGlq41Qwdp0cYJcNqPlYnlpVXsZk0imYxP7Bgdcvw="; }; - # See https://github.com/baduhai/Koi/blob/master/development/Nix%20OS/dev.nix - sourceRoot = "${src.name}/src"; + patches = [ + # koi tries to access KDE utility binaries at their absolute paths or by using `whereis`. + # We patch the absolute paths below in `postPatch` and replace the `whereis` invocations + # here with a placeholder that is also substituted in `postPatch`. + ./0001-locate-plasma-tools.patch + ]; + + postPatch = '' + substituteInPlace src/utils.cpp \ + --replace-fail /usr/bin/kquitapp6 ${lib.getExe' kdbusaddons "kquitapp6"} \ + --replace-fail /usr/bin/kstart ${lib.getExe' kde-cli-tools "kstart"} + substituteInPlace src/plugins/plasmastyle.cpp \ + --replace-fail /usr/bin/plasma-apply-desktoptheme ${lib.getExe' plasma-workspace "plasma-apply-desktoptheme"} + substituteInPlace src/plugins/colorscheme.cpp \ + --replace-fail '@plasma-apply-colorscheme@' ${lib.getExe' plasma-workspace "plasma-apply-colorscheme"} + substituteInPlace src/plugins/icons.cpp \ + --replace-fail '@plasma-changeicons@' ${plasma-workspace}/libexec/plasma-changeicons + substituteInPlace src/plugins/kvantumstyle.cpp \ + --replace-fail /usr/bin/kvantummanager ${lib.getExe' qtstyleplugin-kvantum "kvantummanager"} + ''; + nativeBuildInputs = [ cmake wrapQtAppsHook @@ -31,7 +54,7 @@ stdenv.mkDerivation rec { kwidgetsaddons ]; - meta = with lib; { + meta = { description = "Scheduling LIGHT/DARK Theme Converter for the KDE Plasma Desktop"; longDescription = '' Koi is a program designed to provide the KDE Plasma Desktop functionality to automatically switch between light and dark themes. Koi is under semi-active development, and while it is stable enough to use daily, expect bugs. Koi is designed to be used with Plasma, and while some features may function under different desktop environments, they are unlikely to work and untested. @@ -47,9 +70,10 @@ stdenv.mkDerivation rec { - Hide application to system tray - Toggle between LIGHT/DARK themes by clicking mouse wheel ''; - license = licenses.lgpl3; - platforms = platforms.linux; + license = lib.licenses.lgpl3; + platforms = lib.platforms.linux; + changelog = "https://github.com/baduhai/Koi/releases/tag/${finalAttrs.version}"; homepage = "https://github.com/baduhai/Koi"; maintainers = with lib.maintainers; [ fnune ]; }; -} +}) diff --git a/pkgs/misc/tmux-plugins/default.nix b/pkgs/misc/tmux-plugins/default.nix index 8cc8f8200cd5..a9bb41c56b00 100644 --- a/pkgs/misc/tmux-plugins/default.nix +++ b/pkgs/misc/tmux-plugins/default.nix @@ -16,7 +16,7 @@ let rtp = "${derivation}/${path}/${rtpFilePath}"; } // { - overrideAttrs = f: mkTmuxPlugin (attrs // f attrs); + overrideAttrs = f: mkTmuxPlugin (attrs // (if lib.isFunction f then f attrs else f)); }; mkTmuxPlugin = diff --git a/pkgs/misc/uboot/default.nix b/pkgs/misc/uboot/default.nix index ba433461bd19..13320be7065b 100644 --- a/pkgs/misc/uboot/default.nix +++ b/pkgs/misc/uboot/default.nix @@ -27,6 +27,7 @@ armTrustedFirmwareRK3568, armTrustedFirmwareRK3588, armTrustedFirmwareS905, + opensbi, buildPackages, }@pkgs: @@ -808,6 +809,26 @@ in # sf probe; sf update $loadaddr 0 80000 }; + ubootVisionFive2 = + let + opensbi_vf2 = opensbi.overrideAttrs (attrs: { + makeFlags = attrs.makeFlags ++ [ + # Matches u-boot documentation: https://docs.u-boot.org/en/latest/board/starfive/visionfive2.html + "FW_TEXT_START=0x40000000" + "FW_OPTIONS=0" + ]; + }); + in + buildUBoot { + defconfig = "starfive_visionfive2_defconfig"; + extraMeta.platforms = [ "riscv64-linux" ]; + OPENSBI = "${opensbi_vf2}/share/opensbi/lp64/generic/firmware/fw_dynamic.bin"; + filesToInstall = [ + "spl/u-boot-spl.bin.normal.out" + "u-boot.itb" + ]; + }; + ubootWandboard = buildUBoot { defconfig = "wandboard_defconfig"; extraMeta.platforms = [ "armv7l-linux" ]; diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/filterSource.nix b/pkgs/os-specific/bsd/freebsd/pkgs/filterSource.nix index 09674056d9cd..80dad06be8f8 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/filterSource.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/filterSource.nix @@ -21,12 +21,17 @@ in runCommand "${pname}-filtered-src" { nativeBuildInputs = [ - (pkgsBuildBuild.rsync.override { - enableZstd = false; - enableXXHash = false; - enableOpenSSL = false; - enableLZ4 = false; - }) + ( + (pkgsBuildBuild.rsync.override { + enableZstd = false; + enableXXHash = false; + enableOpenSSL = false; + enableLZ4 = false; + }).overrideAttrs + { + doCheck = false; + } + ) ]; } '' diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libcMinimal.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libcMinimal.nix index 39cd09024fae..36b6f24ad1f4 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/libcMinimal.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/libcMinimal.nix @@ -6,6 +6,7 @@ byacc, gencat, csu, + i18n, extraSrc ? [ ], }: @@ -32,6 +33,7 @@ mkDerivation { "etc/group" "etc/master.passwd" "etc/shells" + "include/paths.h" ] ++ extraSrc; outputs = [ @@ -54,8 +56,13 @@ mkDerivation { ]; # this target is only used in the rtld-elf derivation. build it there instead. + # + # WE SHOULD REALLY BE REPLACING /usr/lib/i18n WITH THE libiconvModules DERIVATION + # but this causes some awful dependency loops which basically collapse the entire libc derivation + # instead, set the PATH_I18NMODULE environment variable whenever possible postPatch = '' sed -E -i -e '/BUILD_NOSSP_PIC_ARCHIVE=/d' $BSDSRCDIR/lib/libc/Makefile + substituteInPlace $BSDSRCDIR/include/paths.h --replace '/usr/share/i18n' '${i18n}/share/i18n' ''; preBuild = '' diff --git a/pkgs/os-specific/darwin/apple-source-releases/ICU/package.nix b/pkgs/os-specific/darwin/apple-source-releases/ICU/package.nix index 6fe6e487b158..fffef1c814a8 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/ICU/package.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/ICU/package.nix @@ -2,7 +2,7 @@ lib, bootstrapStdenv, buildPackages, - fixDarwinDylibNames, + fetchpatch2, mkAppleDerivation, python3, testers, @@ -26,6 +26,13 @@ let patches = [ # Skip MessageFormatTest test, which is known to crash sometimes and should be suppressed if it does. ./patches/suppress-icu-check-crash.patch + + # Python 3.13 compatibility + (fetchpatch2 { + url = "https://github.com/unicode-org/icu/commit/60d6bd71efc0cde8f861b109ff87dbbf9fc96586.patch?full_index=1"; + hash = "sha256-aJBSVvKidPUjD956jLjyRk8fewUZ9f+Ip4ka6rjevzU="; + stripLen = 2; + }) ]; preConfigure = '' diff --git a/pkgs/os-specific/linux/apfs/default.nix b/pkgs/os-specific/linux/apfs/default.nix index 9982c7766d29..092c729a5b5c 100644 --- a/pkgs/os-specific/linux/apfs/default.nix +++ b/pkgs/os-specific/linux/apfs/default.nix @@ -8,7 +8,7 @@ }: let - tag = "0.3.13"; + tag = "0.3.14"; in stdenv.mkDerivation { pname = "apfs"; @@ -18,7 +18,7 @@ stdenv.mkDerivation { owner = "linux-apfs"; repo = "linux-apfs-rw"; rev = "v${tag}"; - hash = "sha256-PXTyPOZhBeFGXu71Jj46hlrgVemgmYrjHqkTFjTDoTc="; + hash = "sha256-bv3WGcIKx5RVj+cQg0U5U1zGPRzjxMlCZmol9QvAmc4="; }; hardeningDisable = [ "pic" ]; diff --git a/pkgs/os-specific/linux/batman-adv/version.nix b/pkgs/os-specific/linux/batman-adv/version.nix index c346f11b7eaf..51bd7732b1e5 100644 --- a/pkgs/os-specific/linux/batman-adv/version.nix +++ b/pkgs/os-specific/linux/batman-adv/version.nix @@ -1,14 +1,14 @@ { - version = "2025.1"; + version = "2025.2"; # To get these, run: # # ``` - # for tool in alfred batctl batman-adv; do nix-prefetch-url https://downloads.open-mesh.org/batman/releases/batman-adv-2025.1/$tool-2025.1.tar.gz --type sha256 | xargs nix hash convert --hash-algo sha256 --to sri; done + # for tool in alfred batctl batman-adv; do nix-prefetch-url https://downloads.open-mesh.org/batman/releases/batman-adv-2025.2/$tool-2025.2.tar.gz --type sha256 | xargs nix hash convert --hash-algo sha256 --to sri; done # ``` sha256 = { - alfred = "sha256-f7iz8cxOxIjo1D/ZFd2gp831thG/OdYN3rRIasACXxg="; - batctl = "sha256-IPii4TWgeKrBblyK1TWhKhVc8Lea8YPeX7F9qVe8JHg="; - batman-adv = "sha256-A61CkpeWH7Os2cLIBkMtA3sO16rA8KHmReMq9SELmOE="; + alfred = "sha256-Q0fR5LB5Svv2sXGoV7mjx9UaKR/FTxbNrZLH99HNtRo="; + batctl = "sha256-q2wDRqFvER57n9XOVczd633grXdCvi9FExfrQo9qCpY="; + batman-adv = "sha256-FsRfi7jzBTcc2Q6IhjDPslHCsYnlUypSepNvo1ukl/c="; }; } diff --git a/pkgs/os-specific/linux/corefreq/default.nix b/pkgs/os-specific/linux/corefreq/default.nix index 18efe6dae441..d1dabe816c12 100644 --- a/pkgs/os-specific/linux/corefreq/default.nix +++ b/pkgs/os-specific/linux/corefreq/default.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation rec { pname = "corefreq"; - version = "2.0.5"; + version = "2.0.7"; src = fetchFromGitHub { owner = "cyring"; repo = "CoreFreq"; rev = version; - hash = "sha256-9RANWw0zdsNFHdHPc0AjPQTZSlaejChsrZmxNXeBzK0="; + hash = "sha256-k9tw32yG8WGGCY0/5WWvRTBzz+jka7PZ9WU05rwnunI="; }; nativeBuildInputs = kernel.moduleBuildDependencies; diff --git a/pkgs/os-specific/linux/cpupower/default.nix b/pkgs/os-specific/linux/cpupower/default.nix index c2e881b33c31..e439be715d9a 100644 --- a/pkgs/os-specific/linux/cpupower/default.nix +++ b/pkgs/os-specific/linux/cpupower/default.nix @@ -37,10 +37,12 @@ stdenv.mkDerivation { man = "share/man"; include = "include"; lib = "lib"; + libexec = "libexec"; locale = "share/locale"; doc = "share/doc/cpupower"; conf = "etc"; bash_completion_ = "share/bash-completion/completions"; + unit = "lib/systemd/system"; }; enableParallelBuilding = true; diff --git a/pkgs/os-specific/linux/decklink/02-rename-timer-delete.patch b/pkgs/os-specific/linux/decklink/02-rename-timer-delete.patch new file mode 100644 index 000000000000..3535f8b9af09 --- /dev/null +++ b/pkgs/os-specific/linux/decklink/02-rename-timer-delete.patch @@ -0,0 +1,26 @@ +diff --git a/blackmagic-io-14.4.1a4/bm_util.c b/blackmagic-io-14.4.1a4/bm_util.c +index 66751cb..bf9723c 100644 +--- a/blackmagic-io-14.4.1a4/bm_util.c ++++ b/blackmagic-io-14.4.1a4/bm_util.c +@@ -471,10 +471,10 @@ void bm_timer_free(bm_timer_t* timer) + { + #if KERNEL_VERSION_OR_LATER(4, 15, 0) + struct bm_timer_wrapper* timer_wrapper = container_of(timer, struct bm_timer_wrapper, timer); +- del_timer(timer); ++ timer_delete(timer); + bm_kfree(timer_wrapper); + #else +- del_timer(timer); ++ timer_delete(timer); + bm_kfree(timer); + #endif + } +@@ -491,7 +491,7 @@ void bm_timer_expire_at(bm_timer_t* timer, uint64_t ns) + + void bm_timer_cancel(bm_timer_t* timer) + { +- del_timer_sync(timer); ++ timer_delete_sync(timer); + } + + // Event waiting diff --git a/pkgs/os-specific/linux/decklink/default.nix b/pkgs/os-specific/linux/decklink/default.nix index 3c2320b43a26..03f1b5cb61f8 100644 --- a/pkgs/os-specific/linux/decklink/default.nix +++ b/pkgs/os-specific/linux/decklink/default.nix @@ -13,14 +13,19 @@ stdenv.mkDerivation (finalAttrs: { # See pkgs/by-name/bl/blackmagic-desktop-video/package.nix for more. inherit (blackmagic-desktop-video) src version; - patches = lib.optionals (lib.versionAtLeast kernel.modDirVersion "6.13") [ - # needed for version 14.4.x to build for kernel 6.13 - (fetchpatch { - name = "01-update-makefiles"; - url = "https://aur.archlinux.org/cgit/aur.git/plain/01-update-makefiles.patch?h=decklink"; - hash = "sha256-l3iu0fG/QJMdGI/WSlNn+qjF4nK25JxoiwhPrMGTqE4="; - }) - ]; + patches = + (lib.optionals (lib.versionAtLeast kernel.modDirVersion "6.13") [ + # needed for version 14.4.x to build for kernel 6.13 + (fetchpatch { + name = "01-update-makefiles"; + url = "https://aur.archlinux.org/cgit/aur.git/plain/01-update-makefiles.patch?h=decklink"; + hash = "sha256-l3iu0fG/QJMdGI/WSlNn+qjF4nK25JxoiwhPrMGTqE4="; + }) + ]) + ++ (lib.optionals (lib.versionAtLeast kernel.modDirVersion "6.15") [ + # needed for version 14.4.x to build for kernel 6.15 + ./02-rename-timer-delete.patch + ]); KERNELDIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"; INSTALL_MOD_PATH = placeholder "out"; diff --git a/pkgs/os-specific/linux/fuse/common.nix b/pkgs/os-specific/linux/fuse/common.nix index 617a86debe01..7b8bb3b4d631 100644 --- a/pkgs/os-specific/linux/fuse/common.nix +++ b/pkgs/os-specific/linux/fuse/common.nix @@ -61,8 +61,8 @@ stdenv.mkDerivation rec { meson ninja pkg-config - udevCheckHook ] + ++ lib.optionals (!stdenv.hostPlatform.isMusl) [ udevCheckHook ] # inf rec on musl, so skip else [ autoreconfHook @@ -76,11 +76,17 @@ stdenv.mkDerivation rec { "man" ] ++ lib.optional isFuse3 "udev"; - mesonFlags = lib.optionals isFuse3 [ - "-Dudevrulesdir=/udev/rules.d" - "-Duseroot=false" - "-Dinitscriptdir=" - ]; + mesonFlags = lib.optionals isFuse3 ( + [ + "-Dudevrulesdir=/udev/rules.d" + "-Duseroot=false" + "-Dinitscriptdir=" + ] + # examples fail to build on musl + # error: ‘RENAME_NOREPLACE’ was not declared in this scope + # lib.optionals instead of lib.mesonBool to avoid rebuilds + ++ lib.optionals (stdenv.hostPlatform.isMusl) [ "-Dexamples=false" ] + ); # Ensure that FUSE calls the setuid wrapper, not # $out/bin/fusermount. It falls back to calling fusermount in diff --git a/pkgs/os-specific/linux/fuse/default.nix b/pkgs/os-specific/linux/fuse/default.nix index cf8992bcb089..bfc3e7988147 100644 --- a/pkgs/os-specific/linux/fuse/default.nix +++ b/pkgs/os-specific/linux/fuse/default.nix @@ -14,7 +14,7 @@ in }; fuse_3 = mkFuse { - version = "3.16.2"; - hash = "sha256-QO9s+IkR0rkqIYNqt2IYST6AVBkCr56jcuuz5nKJuA4="; + version = "3.17.2"; + hash = "sha256-rpWA97ZnoYWEQoUCGtITpx9w1J4qy6LGSxomFNOnKBc="; }; } diff --git a/pkgs/os-specific/linux/fuse/fuse3-Do-not-set-FUSERMOUNT_DIR.patch b/pkgs/os-specific/linux/fuse/fuse3-Do-not-set-FUSERMOUNT_DIR.patch index 582d3eb0dec8..e69991089fa1 100644 --- a/pkgs/os-specific/linux/fuse/fuse3-Do-not-set-FUSERMOUNT_DIR.patch +++ b/pkgs/os-specific/linux/fuse/fuse3-Do-not-set-FUSERMOUNT_DIR.patch @@ -1,13 +1,13 @@ -diff --git a/lib/meson.build b/lib/meson.build --- a/lib/meson.build +++ b/lib/meson.build @@ -37,8 +37,7 @@ libfuse = library('fuse3', libfuse_sources, version: meson.project_version(), - soversion: '3', include_directories: include_dirs, - dependencies: deps, install: true, + include_directories: include_dirs, + dependencies: deps, + install: true, link_depends: 'fuse_versionscript', -- c_args: [ '-DFUSE_USE_VERSION=312', +- c_args: [ '-DFUSE_USE_VERSION=317', - '-DFUSERMOUNT_DIR="@0@"'.format(fusermount_path) ], -+ c_args: [ '-DFUSE_USE_VERSION=312' ], ++ c_args: [ '-DFUSE_USE_VERSION=317' ], link_args: ['-Wl,--version-script,' + meson.current_source_dir() + '/fuse_versionscript' ]) diff --git a/pkgs/os-specific/linux/gasket/default.nix b/pkgs/os-specific/linux/gasket/default.nix index ace9235b76fd..a36bac89657d 100644 --- a/pkgs/os-specific/linux/gasket/default.nix +++ b/pkgs/os-specific/linux/gasket/default.nix @@ -26,6 +26,13 @@ stdenv.mkDerivation { url = "https://github.com/google/gasket-driver/commit/4b2a1464f3b619daaf0f6c664c954a42c4b7ce00.patch"; hash = "sha256-UOoOSEnpUMa4QXWVFpGFxBoF5szXaLEfcWtfKatO5XY="; }) + (fetchpatch2 { + # https://github.com/google/gasket-driver/issues/39 + # https://github.com/google/gasket-driver/pull/40 + name = "linux-6.13-compat.patch"; + url = "https://github.com/google/gasket-driver/commit/6fbf8f8f8bcbc0ac9c9bef7a56f495a2c9872652.patch"; + hash = "sha256-roCo0/ETWuDVtZfbpFbrmy/icNI12A/ozOGQNLTtBUs="; + }) ]; postPatch = '' diff --git a/pkgs/os-specific/linux/i7z/default.nix b/pkgs/os-specific/linux/i7z/default.nix index cb01e684735a..904e459e3351 100644 --- a/pkgs/os-specific/linux/i7z/default.nix +++ b/pkgs/os-specific/linux/i7z/default.nix @@ -58,7 +58,6 @@ stdenv.mkDerivation rec { mainProgram = "i7z"; homepage = "https://github.com/DimitryAndric/i7z"; license = licenses.gpl2Only; - maintainers = with maintainers; [ bluescreen303 ]; # broken on ARM platforms = [ "x86_64-linux" ]; }; diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix index 55acff865f96..f96047724475 100644 --- a/pkgs/os-specific/linux/kernel-headers/default.nix +++ b/pkgs/os-specific/linux/kernel-headers/default.nix @@ -131,10 +131,11 @@ let echo "${version}-default" > $out/include/config/kernel.release ''; - meta = with lib; { + meta = { description = "Header files and scripts for Linux kernel"; - license = licenses.gpl2Only; - platforms = platforms.linux; + license = lib.licenses.gpl2Only; + platforms = lib.platforms.linux; + teams = [ lib.teams.linux-kernel ]; }; }; in diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 407bd347ffac..2e233e073177 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -288,7 +288,7 @@ let IP_VS_PROTO_ESP = yes; IP_VS_PROTO_AH = yes; IP_VS_IPV6 = yes; - IP_DCCP_CCID3 = no; # experimental + IP_DCCP_CCID3 = whenOlder "6.16" no; # experimental CLS_U32_PERF = yes; CLS_U32_MARK = yes; BPF_JIT = whenPlatformHasEBPFJit yes; diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix index 6c8ae502731e..f8ad1f892962 100644 --- a/pkgs/os-specific/linux/kernel/generic.nix +++ b/pkgs/os-specific/linux/kernel/generic.nix @@ -69,6 +69,7 @@ let "pc" ], extraMeta ? { }, + extraPassthru ? { }, isZen ? false, isLibre ? false, @@ -299,6 +300,7 @@ let passthru = previousAttrs.passthru or { } + // extraPassthru // basicArgs // { features = kernelFeatures; diff --git a/pkgs/os-specific/linux/kernel/hardened/patches.json b/pkgs/os-specific/linux/kernel/hardened/patches.json index a5d2afcc2308..a2c9452954c0 100644 --- a/pkgs/os-specific/linux/kernel/hardened/patches.json +++ b/pkgs/os-specific/linux/kernel/hardened/patches.json @@ -2,52 +2,52 @@ "5.10": { "patch": { "extra": "-hardened1", - "name": "linux-hardened-v5.10.237-hardened1.patch", - "sha256": "09a4dx65vn96s62viyhpjnz2hwcwxq8araxhk7x6ximyky888kmr", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/v5.10.237-hardened1/linux-hardened-v5.10.237-hardened1.patch" + "name": "linux-hardened-v5.10.238-hardened1.patch", + "sha256": "1y4srk40v0gzfnlqsbh6g9h5vcs8rp5g2b8jjch6xx7dji189myq", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/v5.10.238-hardened1/linux-hardened-v5.10.238-hardened1.patch" }, - "sha256": "098gvqfaahabqqz64m5fwri57drwiz3006pr805sxw74w0vjgj0z", - "version": "5.10.237" + "sha256": "1dkblixa0as9h11m081dqq8vlz4dcjbzdz7phkz07p621na55j07", + "version": "5.10.238" }, "5.15": { "patch": { "extra": "-hardened1", - "name": "linux-hardened-v5.15.184-hardened1.patch", - "sha256": "1s4naybf1rd2a42xqyrvp0g94pfxx766lnwnnfwiid7j3pz7fbi5", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/v5.15.184-hardened1/linux-hardened-v5.15.184-hardened1.patch" + "name": "linux-hardened-v5.15.185-hardened1.patch", + "sha256": "00m1p8cm1d76drdlafv4bdrq81xkh40jgg33kvkk3wqcbiikq3h7", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/v5.15.185-hardened1/linux-hardened-v5.15.185-hardened1.patch" }, - "sha256": "1nf1v89ikwi9philrw6h03hzb085mwz44lfxx71agp67vk39hglw", - "version": "5.15.184" + "sha256": "1p0kjc09qqv361phscny1gqj38di9dpab9gxywljkwqhi5wyn0rx", + "version": "5.15.185" }, "5.4": { "patch": { "extra": "-hardened1", - "name": "linux-hardened-v5.4.293-hardened1.patch", - "sha256": "0wblrpmwp3rh1adyg1jbyifdfsdlm3p2mgw2xm9a03vwd0jkdd6f", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/v5.4.293-hardened1/linux-hardened-v5.4.293-hardened1.patch" + "name": "linux-hardened-v5.4.294-hardened1.patch", + "sha256": "1q6ffxnpk8j2fwi3g8rpf1lc247m8xiqix2kichxvggkadmjyzg0", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/v5.4.294-hardened1/linux-hardened-v5.4.294-hardened1.patch" }, - "sha256": "0b9p8l6ndm75751f7s03rnxg7yg9c4pj9rb537lhsv6pqx096n1l", - "version": "5.4.293" + "sha256": "16bv0x4c9ssr66vrd6jnv2dw5na1y7hxfn4d67g0zaksh6xd0yf8", + "version": "5.4.294" }, "6.1": { "patch": { "extra": "-hardened1", - "name": "linux-hardened-v6.1.140-hardened1.patch", - "sha256": "0a40j1s1il05wlcp7dfpg20rlff2va4vdcx3vid1dg2h17b2kr3s", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/v6.1.140-hardened1/linux-hardened-v6.1.140-hardened1.patch" + "name": "linux-hardened-v6.1.141-hardened1.patch", + "sha256": "10wbx6sjzjh3krx15pb65xxl55xcpia54ws825s9619wx059dskl", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/v6.1.141-hardened1/linux-hardened-v6.1.141-hardened1.patch" }, - "sha256": "0x7b856hxmli8qnkps9x62q8sca101v4sfwjqgivzxvprb5gjyap", - "version": "6.1.140" + "sha256": "05n1561cbzaw9vcxp86bqzvhqz5wv7dajpy7cq34bw7myvx4ag5w", + "version": "6.1.141" }, "6.12": { "patch": { "extra": "-hardened1", - "name": "linux-hardened-v6.12.30-hardened1.patch", - "sha256": "0c04fl4qf47gr72q1kbn3gyzhl27v1w2mmq9dwizkzvb4cf8kvdb", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/v6.12.30-hardened1/linux-hardened-v6.12.30-hardened1.patch" + "name": "linux-hardened-v6.12.34-hardened1.patch", + "sha256": "1aw8r52gbxp53sgl4pwv51axw0kmgh3ib6gfvw81dlyaajmlbm6b", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/v6.12.34-hardened1/linux-hardened-v6.12.34-hardened1.patch" }, - "sha256": "0bpqkh64bj6nslbb43hj28lxmrxinrapwgh05q5wwh0yjx46l16z", - "version": "6.12.30" + "sha256": "0kf2f3r96npzs01kdq3q2ag7zg8l3avfyqwv5qbs9v373wwgxwx7", + "version": "6.12.34" }, "6.13": { "patch": { @@ -62,21 +62,21 @@ "6.14": { "patch": { "extra": "-hardened1", - "name": "linux-hardened-v6.14.8-hardened1.patch", - "sha256": "10vr63mx42vnz7jlr737hsaz20ch972bvv1c7lj6kk5slidwg1rb", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/v6.14.8-hardened1/linux-hardened-v6.14.8-hardened1.patch" + "name": "linux-hardened-v6.14.11-hardened1.patch", + "sha256": "07f0d76rag6jcclxdl24w70545fb8jrqy98xcdmgxwjabclaa1lp", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/v6.14.11-hardened1/linux-hardened-v6.14.11-hardened1.patch" }, - "sha256": "0199maj3mk577wwaszbi0cl5a0afx1ynad896bmmg8vm636jxcb2", - "version": "6.14.8" + "sha256": "06rvydmc2yfspidnsay5hin3i8p4fxy3bvzwnry7gjf9dl5cs71z", + "version": "6.14.11" }, "6.6": { "patch": { "extra": "-hardened1", - "name": "linux-hardened-v6.6.92-hardened1.patch", - "sha256": "1wm1wm76mlw0vyp6d28rf4qz8wqx0ri7zaajycwymh1zh4600pn7", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/v6.6.92-hardened1/linux-hardened-v6.6.92-hardened1.patch" + "name": "linux-hardened-v6.6.94-hardened1.patch", + "sha256": "0i1dshmsr8v230qmbawda916420m6njwwmillcbr42hsagdjhd0i", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/v6.6.94-hardened1/linux-hardened-v6.6.94-hardened1.patch" }, - "sha256": "1v1pq9yzxrlaxx4y4cj5q3wska0jbv2inc7phqfw70fj88kai0hx", - "version": "6.6.92" + "sha256": "0mncdsqbqrxii0hirnymi1kmg50jn9v0p26flimlf2xj4vm82fbi", + "version": "6.6.94" } } diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index 2837223e4330..9aa6f46d5121 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -1,7 +1,7 @@ { "testing": { - "version": "6.15-rc7", - "hash": "sha256:0b9149pyg4lzzxqwx6sg8nz9ca1md7aijg9nrcagrq9sypl53hxn" + "version": "6.16-rc2", + "hash": "sha256:1hzkpp5161ss40d8j9nzvzyw6vljslx0pk5fin0klj884l5i8igh" }, "6.1": { "version": "6.1.141", @@ -20,23 +20,23 @@ "hash": "sha256:16bv0x4c9ssr66vrd6jnv2dw5na1y7hxfn4d67g0zaksh6xd0yf8" }, "6.6": { - "version": "6.6.93", - "hash": "sha256:06bpg5vvh165znzn01mqab2divrsbznxwc73y44z1s9mjqszyy8d" + "version": "6.6.94", + "hash": "sha256:0mncdsqbqrxii0hirnymi1kmg50jn9v0p26flimlf2xj4vm82fbi" }, "6.12": { - "version": "6.12.32", - "hash": "sha256:0w3a6k0cbdanknlha3qjyvvmhh3xks9d6xq1043laf3q2xr21c59" + "version": "6.12.34", + "hash": "sha256:0kf2f3r96npzs01kdq3q2ag7zg8l3avfyqwv5qbs9v373wwgxwx7" }, "6.13": { "version": "6.13.12", "hash": "sha256:0hhj49k3ksjcp0dg5yiahqzryjfdpr9c1a9ph6j9slzmkikbn7v1" }, "6.14": { - "version": "6.14.10", - "hash": "sha256:0hzylab1gh791qpi5albv5wcjz0m7hrs4k7f6bw24k77xb7rg2yy" + "version": "6.14.11", + "hash": "sha256:06rvydmc2yfspidnsay5hin3i8p4fxy3bvzwnry7gjf9dl5cs71z" }, "6.15": { - "version": "6.15.1", - "hash": "sha256:0r0dkxwhp4qrihfvbk4ppvyciin1iv9qbp76w2ppnbjizs2bpwa4" + "version": "6.15.3", + "hash": "sha256:1c35ima9zklzi0hhmw2xmii6agj3kkycm845fg6xjf2lja4hrd8j" } } diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix index baec656fcae8..7f9a48adb1b7 100644 --- a/pkgs/os-specific/linux/kernel/linux-libre.nix +++ b/pkgs/os-specific/linux/kernel/linux-libre.nix @@ -43,7 +43,7 @@ linux.override { ''; }; - passthru.updateScript = ./update-libre.sh; + extraPassthru.updateScript = ./update-libre.sh; maintainers = with lib.maintainers; [ qyliss ]; }; diff --git a/pkgs/os-specific/linux/kernel/zen-kernels.nix b/pkgs/os-specific/linux/kernel/zen-kernels.nix index 852eacf43829..a8d728df3a3c 100644 --- a/pkgs/os-specific/linux/kernel/zen-kernels.nix +++ b/pkgs/os-specific/linux/kernel/zen-kernels.nix @@ -16,16 +16,16 @@ let variants = { # ./update-zen.py zen zen = { - version = "6.14.9"; # zen + version = "6.15.2"; # zen suffix = "zen1"; # zen - sha256 = "1v28cdv8dyn5181z242f63ns6b472jx8a7wmw77n5wijj8fv5ba1"; # zen + sha256 = "196vc361fqpiwqgpxa0kp1nfqs6gplah2qw48yrwlzxp08q9sfqn"; # zen isLqx = false; }; # ./update-zen.py lqx lqx = { - version = "6.14.9"; # lqx + version = "6.15.2"; # lqx suffix = "lqx1"; # lqx - sha256 = "1f8sram3xabv119pznpixpm5igyxf33wkg4v8fm5nh9c9g91q19j"; # lqx + sha256 = "05996kw51z1j3rjz1asyj4cbcq283bwii0pxc29c6d5kd15883q9"; # lqx isLqx = true; }; }; @@ -145,7 +145,7 @@ let UCLAMP_TASK_GROUP = mkKernelOverride (option no); }; - passthru.updateScript = [ + extraPassthru.updateScript = [ ./update-zen.py (if isLqx then "lqx" else "zen") ]; diff --git a/pkgs/os-specific/linux/nixos-rebuild/_nixos-rebuild b/pkgs/os-specific/linux/nixos-rebuild/_nixos-rebuild index 31e23136528d..5517c274beb7 100644 --- a/pkgs/os-specific/linux/nixos-rebuild/_nixos-rebuild +++ b/pkgs/os-specific/linux/nixos-rebuild/_nixos-rebuild @@ -35,7 +35,7 @@ _nixos-rebuild() { --profile-name -p # name --rollback --specialisation -c # name - --use-remote-sudo + --sudo --no-ssh-tty --build-host # host --target-host # host diff --git a/pkgs/os-specific/linux/nixos-rebuild/default.nix b/pkgs/os-specific/linux/nixos-rebuild/default.nix index 8e8f7f44b103..13d0a6991133 100644 --- a/pkgs/os-specific/linux/nixos-rebuild/default.nix +++ b/pkgs/os-specific/linux/nixos-rebuild/default.nix @@ -81,10 +81,8 @@ substitute { description = "Rebuild your NixOS configuration and switch to it, on local hosts and remote"; homepage = "https://github.com/NixOS/nixpkgs/tree/master/pkgs/os-specific/linux/nixos-rebuild"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ - Profpatsch - thiagokokada - ]; + maintainers = [ lib.maintainers.Profpatsch ]; + teams = [ lib.teams.nixos-rebuild ]; mainProgram = "nixos-rebuild"; }; } diff --git a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.8 b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.8 index 3e9936d30129..2932a82e84f1 100644 --- a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.8 +++ b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.8 @@ -38,7 +38,7 @@ .br .Op Fl -build-host Va host .Op Fl -target-host Va host -.Op Fl -use-remote-sudo +.Op Fl -sudo .Op Fl -no-ssh-tty .br .Op Fl -verbose | v @@ -404,7 +404,7 @@ or is also set. This is useful when the target-host connection to cache.nixos.org is faster than the connection between hosts. . -.It Fl -use-remote-sudo +.It Fl -sudo When set, nixos-rebuild prefixes activation commands that run on the .Fl -target-host system with diff --git a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh index 74ca23a8b6ca..7b1e99a2f819 100755 --- a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh +++ b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh @@ -32,7 +32,7 @@ specialisation= imageVariant= buildHost= targetHost= -remoteSudo= +useSudo= noSSHTTY= verboseScript= noFlake= @@ -170,8 +170,8 @@ while [ "$#" -gt 0 ]; do targetHost="$1" shift 1 ;; - --use-remote-sudo) - remoteSudo=1 + --sudo | --use-remote-sudo) + useSudo=1 ;; --no-ssh-tty) noSSHTTY=1 @@ -237,7 +237,7 @@ buildHostCmd() { targetHostCmd() { local c - if [[ "${useSudo:-x}" = 1 ]]; then + if [[ "${withSudo:-x}" = 1 ]]; then c=("sudo") else c=() @@ -256,8 +256,8 @@ targetHostSudoCmd() { t="-t" fi - if [ -n "$remoteSudo" ]; then - useSudo=1 SSHOPTS="$SSHOPTS $t" targetHostCmd "$@" + if [[ -n "$useSudo" ]]; then + withSudo=1 SSHOPTS="$SSHOPTS $t" targetHostCmd "$@" else # While a tty might not be necessary, we apply it to be consistent with # sudo usage, and an experience that is more consistent with local deployment. diff --git a/pkgs/os-specific/linux/nullfs/default.nix b/pkgs/os-specific/linux/nullfs/default.nix index 8001dbab52d3..7720c5cd0d20 100644 --- a/pkgs/os-specific/linux/nullfs/default.nix +++ b/pkgs/os-specific/linux/nullfs/default.nix @@ -7,13 +7,13 @@ }: stdenv.mkDerivation rec { pname = "nullfs"; - version = "0.18"; + version = "0.19"; src = fetchFromGitHub { owner = "abbbi"; repo = "nullfsvfs"; rev = "v${version}"; - sha256 = "sha256-tfa0SPhTm9vvv4CiwcDyz6KssJqD9F2SlWB4rwZpGoY="; + sha256 = "sha256-nEwLxcELLBd+BN7OHYLJZCpie0rG0a1wj0RCOKpZkRU="; }; hardeningDisable = [ "pic" ]; diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix index 8064396631b4..0d5db1423241 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -72,25 +72,21 @@ rec { stable = if stdenv.hostPlatform.system == "i686-linux" then legacy_390 else production; production = generic { - version = "570.153.02"; - sha256_64bit = "sha256-FIiG5PaVdvqPpnFA5uXdblH5Cy7HSmXxp6czTfpd4bY="; - sha256_aarch64 = "sha256-FKhtEVChfw/1sV5FlFVmia/kE1HbahDJaxTlpNETlrA="; - openSha256 = "sha256-2DpY3rgQjYFuPfTY4U/5TcrvNqsWWnsOSX0f2TfVgTs="; - settingsSha256 = "sha256-5m6caud68Owy4WNqxlIQPXgEmbTe4kZV2vZyTWHWe+M="; - persistencedSha256 = "sha256-OSo4Od7NmezRdGm7BLLzYseWABwNGdsomBCkOsNvOxA="; - - patches = [ gpl_symbols_linux_615_patch ]; + version = "570.169"; + sha256_64bit = "sha256-XzKoR3lcxcP5gPeRiausBw2RSB1702AcAsKCndOHN2U="; + sha256_aarch64 = "sha256-s8jqaZPcMYo18N2RDu8zwMThxPShxz/BL+cUsJnszts="; + openSha256 = "sha256-oqY/O5fda+CVCXGVW2bX7LOa8jHJOQPO6mZ/EyleWCU="; + settingsSha256 = "sha256-0E3UnpMukGMWcX8td6dqmpakaVbj4OhhKXgmqz77XZc="; + persistencedSha256 = "sha256-dttFu+TmbFI+mt1MbbmJcUnc1KIJ20eHZDR7YzfWmgE="; }; latest = selectHighestVersion production (generic { - version = "575.57.08"; - sha256_64bit = "sha256-KqcB2sGAp7IKbleMzNkB3tjUTlfWBYDwj50o3R//xvI="; - sha256_aarch64 = "sha256-VJ5z5PdAL2YnXuZltuOirl179XKWt0O4JNcT8gUgO98="; - openSha256 = "sha256-DOJw73sjhQoy+5R0GHGnUddE6xaXb/z/Ihq3BKBf+lg="; - settingsSha256 = "sha256-AIeeDXFEo9VEKCgXnY3QvrW5iWZeIVg4LBCeRtMs5Io="; - persistencedSha256 = "sha256-Len7Va4HYp5r3wMpAhL4VsPu5S0JOshPFywbO7vYnGo="; - - patches = [ gpl_symbols_linux_615_patch ]; + version = "575.64"; + sha256_64bit = "sha256-6wG8/nOwbH0ktgg8J+ZBT2l5VC8G5lYBQhtkzMCtaLE="; + sha256_aarch64 = "sha256-uHj8fB1sSJfX0NWZEE1eZN1LQQkf7J0jPV3EeQCSG10="; + openSha256 = "sha256-y93FdR5TZuurDlxc/p5D5+a7OH93qU4hwQqMXorcs/g="; + settingsSha256 = "sha256-3BvryH7p0ioweNN4S8oLDCTSS47fQPWVYwNq4AuWQgQ="; + persistencedSha256 = "sha256-QkDNQKwCsakZOLcSie1NBiFCM5e5NFGiIKtPSFeWdXs="; }); beta = selectHighestVersion latest (generic { @@ -105,14 +101,16 @@ rec { # Vulkan developer beta driver # See here for more information: https://developer.nvidia.com/vulkan-driver vulkan_beta = generic rec { - version = "570.123.14"; + version = "570.123.18"; persistencedVersion = "550.142"; settingsVersion = "550.142"; - sha256_64bit = "sha256-Tkh/zjv2G4v5TV0VkR2urQiCNPYruVdNm0qXFQ7yAqk="; - openSha256 = "sha256-1The9ceUuj0VuUshQw/gRRHzKbt+PrIlmWth2qkNIkg="; + sha256_64bit = "sha256-GoBNatVpits13a3xsJSUr9BFG+5xrUDROfHmvss2cSY="; + openSha256 = "sha256-AYl8En0ZAZXWlJ8J8LKbPvAEKX+y65L1aq4Hm+dJScs="; settingsSha256 = "sha256-Wk6IlVvs23cB4s0aMeZzSvbOQqB1RnxGMv3HkKBoIgY="; persistencedSha256 = "sha256-yQFrVk4i2dwReN0XoplkJ++iA1WFhnIkP7ns4ORmkFA="; url = "https://developer.nvidia.com/downloads/vulkan-beta-${lib.concatStrings (lib.splitVersion version)}-linux"; + + broken = kernel.kernelAtLeast "6.15"; }; # data center driver compatible with current default cudaPackages diff --git a/pkgs/os-specific/linux/prl-tools/default.nix b/pkgs/os-specific/linux/prl-tools/default.nix index 4e7b391f840a..ba2fe72e1277 100644 --- a/pkgs/os-specific/linux/prl-tools/default.nix +++ b/pkgs/os-specific/linux/prl-tools/default.nix @@ -43,13 +43,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "prl-tools"; - version = "20.3.1-55959"; + version = "20.3.2-55975"; # We download the full distribution to extract prl-tools-lin.iso from # => ${dmg}/Parallels\ Desktop.app/Contents/Resources/Tools/prl-tools-lin.iso src = fetchurl { url = "https://download.parallels.com/desktop/v${lib.versions.major finalAttrs.version}/${finalAttrs.version}/ParallelsDesktop-${finalAttrs.version}.dmg"; - hash = "sha256-/J6NouI2htptG06Undeg1rUfbWUu6q/nV2P9D+sS7OA="; + hash = "sha256-eazDR+eSUcp81XdRfYRHIt7E4FNCEjsh0M0wYQQYmMQ="; }; hardeningDisable = [ diff --git a/pkgs/os-specific/linux/rtl8852bu/default.nix b/pkgs/os-specific/linux/rtl8852bu/default.nix index db6c419a3541..e07d2eb1d5b9 100644 --- a/pkgs/os-specific/linux/rtl8852bu/default.nix +++ b/pkgs/os-specific/linux/rtl8852bu/default.nix @@ -7,15 +7,15 @@ nukeReferences, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "rtl8852bu"; - version = "${kernel.version}-unstable-2024-05-25"; + version = "${kernel.version}-unstable-2025-05-18"; src = fetchFromGitHub { owner = "morrownr"; - repo = pname; - rev = "1acc7aa085bffec21a91fdc9e293378e06bf25e7"; - hash = "sha256-22vzAdzzM5YnfU8kRWSK3HXxw6BA4FOWXLdWEb7T5IE="; + repo = "rtl8852bu-20240418"; + rev = "42de963695ffc7929a4905aed5c5d7da7c1c2715"; + hash = "sha256-BvOw9MU4eibeMJEOkifKFatCUNGdujNUZav+4D9bYKY="; }; nativeBuildInputs = [ @@ -30,7 +30,10 @@ stdenv.mkDerivation rec { postPatch = '' substituteInPlace ./Makefile \ --replace-fail /sbin/depmod \# \ - --replace-fail '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/" + --replace-fail '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/" \ + --replace-fail 'cp -f $(MODULE_NAME).conf /etc/modprobe.d' \ + 'mkdir -p $out/etc/modprobe.d && cp -f $(MODULE_NAME).conf $out/etc/modprobe.d' \ + --replace-fail "sh edit-options.sh" "" substituteInPlace ./platform/i386_pc.mk \ --replace-fail /lib/modules "${kernel.dev}/lib/modules" ''; @@ -54,13 +57,19 @@ stdenv.mkDerivation rec { nuke-refs $out/lib/modules/*/kernel/net/wireless/*.ko ''; + env.NIX_CFLAGS_COMPILE = "-Wno-designated-init"; # Similar to 79c1cf6 + enableParallelBuilding = true; - meta = with lib; { + meta = { description = "Driver for Realtek rtl8852bu and rtl8832bu chipsets, provides the 8852bu mod"; - homepage = "https://github.com/morrownr/rtl8852bu"; - license = licenses.gpl2Only; - platforms = platforms.linux; - maintainers = with maintainers; [ lonyelon ]; + homepage = "https://github.com/morrownr/rtl8852bu-20240418"; + license = lib.licenses.gpl2Only; + platforms = [ "x86_64-linux" ]; + broken = kernel.kernelOlder "6" && kernel.isHardened; # Similar to 79c1cf6 + maintainers = with lib.maintainers; [ + lonyelon + thtrf + ]; }; -} +}) diff --git a/pkgs/os-specific/linux/scx/default.nix b/pkgs/os-specific/linux/scx/default.nix index 6e645f2f210e..f8d0dbf72f53 100644 --- a/pkgs/os-specific/linux/scx/default.nix +++ b/pkgs/os-specific/linux/scx/default.nix @@ -12,7 +12,7 @@ let src = fetchFromGitHub { owner = "sched-ext"; repo = "scx"; - rev = "refs/tags/v${versionInfo.scx.version}"; + tag = "v${versionInfo.scx.version}"; inherit (versionInfo.scx) hash; }; @@ -22,7 +22,10 @@ let license = lib.licenses.gpl2Only; platforms = lib.platforms.linux; badPlatforms = [ "aarch64-linux" ]; - maintainers = with lib.maintainers; [ johnrtitor ]; + maintainers = with lib.maintainers; [ + johnrtitor + Gliczy + ]; }; }; diff --git a/pkgs/os-specific/linux/scx/scx_cscheds.nix b/pkgs/os-specific/linux/scx/scx_cscheds.nix index e22d897d372b..6d97e12447fa 100644 --- a/pkgs/os-specific/linux/scx/scx_cscheds.nix +++ b/pkgs/os-specific/linux/scx/scx_cscheds.nix @@ -77,6 +77,7 @@ llvmPackages.stdenv.mkDerivation (finalAttrs: { pkg-config zstd protobuf + llvmPackages.libllvm ] ++ bpftools.buildInputs ++ bpftools.nativeBuildInputs; @@ -125,8 +126,7 @@ llvmPackages.stdenv.mkDerivation (finalAttrs: { "out" ]; - # Enable this when default kernel in nixpkgs is 6.12+ - doCheck = false; + doCheck = true; meta = scx-common.meta // { description = "Sched-ext C userspace schedulers"; diff --git a/pkgs/os-specific/linux/scx/scx_rustscheds.nix b/pkgs/os-specific/linux/scx/scx_rustscheds.nix index 6ee3b52368b4..ed58e7bc7726 100644 --- a/pkgs/os-specific/linux/scx/scx_rustscheds.nix +++ b/pkgs/os-specific/linux/scx/scx_rustscheds.nix @@ -58,8 +58,14 @@ rustPlatform.buildRustPackage { "zerocallusedregs" ]; - # Enable this when default kernel in nixpkgs is 6.12+ - doCheck = false; + doCheck = true; + checkFlags = [ + "--skip=compat::tests::test_ksym_exists" + "--skip=compat::tests::test_read_enum" + "--skip=compat::tests::test_struct_has_field" + "--skip=cpumask" + "--skip=topology" + ]; meta = scx-common.meta // { description = "Sched-ext Rust userspace schedulers"; diff --git a/pkgs/os-specific/linux/scx/version.json b/pkgs/os-specific/linux/scx/version.json index e2bfb68d424e..f517f6679ee3 100644 --- a/pkgs/os-specific/linux/scx/version.json +++ b/pkgs/os-specific/linux/scx/version.json @@ -1,8 +1,8 @@ { "scx": { - "version": "1.0.12", - "hash": "sha256-ti4SPx66Ykwqsel7l8Rb0WEBypFbQKoDd0foMAtEmlE=", - "cargoHash": "sha256-nD+RalFCJLqQGMVtaJm/NLCrY8Iq5/eAsW+ydABvw2o=" + "version": "1.0.13", + "hash": "sha256-uSYkAsDZEWJ7sB6jd7PZrwYepeLlTdiTi4kAgSDeVsU=", + "cargoHash": "sha256-+JDe7l4wX2balOUD11M9z60JSaRyMaIO7Pw1NrjnE30=" }, "bpftool": { "rev": "183e7010387d1fc9f08051426e9a9fbd5f8d409e", diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index d203642bad9b..5d89887378e7 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -836,6 +836,20 @@ stdenv.mkDerivation (finalAttrs: { mv $out/lib/sysusers.d $out/example ''; + doInstallCheck = true; + + # check udev rules exposed by systemd + # can't use `udevCheckHook` here as that would introduce infinite recursion + installCheckPhase = '' + runHook preInstallCheck + + ${lib.optionalString ( + !buildLibsOnly + ) "$out/bin/udevadm verify --resolve-names=never --no-style $out/lib/udev/rules.d"} + + runHook postInstallCheck + ''; + # Avoid *.EFI binary stripping. # At least on aarch64-linux strip removes too much from PE32+ files: # https://github.com/NixOS/nixpkgs/issues/169693 diff --git a/pkgs/os-specific/linux/udisks/2-default.nix b/pkgs/os-specific/linux/udisks/2-default.nix index c736f540918e..6022a3c224b2 100644 --- a/pkgs/os-specific/linux/udisks/2-default.nix +++ b/pkgs/os-specific/linux/udisks/2-default.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitHub, + fetchpatch, replaceVars, pkg-config, gnused, @@ -79,6 +80,13 @@ stdenv.mkDerivation rec { util-linux ]; }) + + # CVE-2025-6019: https://www.openwall.com/lists/oss-security/2025/06/17/5 + (fetchpatch { + name = "CVE-2025-6019-2.patch"; + url = "https://www.openwall.com/lists/oss-security/2025/06/17/5/2"; + hash = "sha256-pgTA6yxQ1o9OU3qBeV1lh2O6mBkaUcc9md4uwFwz+AM="; + }) ]; strictDeps = true; diff --git a/pkgs/os-specific/linux/yt6801/default.nix b/pkgs/os-specific/linux/yt6801/default.nix index 781c81a7d2ce..465d43b17486 100644 --- a/pkgs/os-specific/linux/yt6801/default.nix +++ b/pkgs/os-specific/linux/yt6801/default.nix @@ -28,6 +28,10 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = kernel.moduleBuildDependencies ++ [ kmod ]; + patches = lib.optionals (lib.versionAtLeast kernel.version "6.15") [ + ./kernel_6.15_fix.patch + ]; + postPatch = '' substituteInPlace src/Makefile \ --replace-fail "sudo ls -l" "ls -l" \ diff --git a/pkgs/os-specific/linux/yt6801/kernel_6.15_fix.patch b/pkgs/os-specific/linux/yt6801/kernel_6.15_fix.patch new file mode 100644 index 000000000000..1c3d1499f727 --- /dev/null +++ b/pkgs/os-specific/linux/yt6801/kernel_6.15_fix.patch @@ -0,0 +1,28 @@ +diff --git a/src/fuxi-gmac-net.c b/src/fuxi-gmac-net.c +index d5baa9c..1667cc9 100755 +--- a/src/fuxi-gmac-net.c ++++ b/src/fuxi-gmac-net.c +@@ -870,9 +870,9 @@ static void fxgmac_stop_timers(struct fxgmac_pdata *pdata) + if (!channel->tx_ring) + break; + +- del_timer_sync(&channel->tx_timer); ++ timer_delete_sync(&channel->tx_timer); + #if FXGMAC_TX_HANG_TIMER_ENABLED +- del_timer_sync(&channel->tx_hang_timer); ++ timer_delete_sync(&channel->tx_hang_timer); + channel->tx_hang_timer_active = 0; + #endif + } +diff --git a/src/fuxi-gmac-phy.c b/src/fuxi-gmac-phy.c +index b2e9455..8123d41 100755 +--- a/src/fuxi-gmac-phy.c ++++ b/src/fuxi-gmac-phy.c +@@ -368,6 +368,6 @@ int fxgmac_phy_timer_init(struct fxgmac_pdata *pdata) + + void fxgmac_phy_timer_destroy(struct fxgmac_pdata *pdata) + { +- del_timer_sync(&pdata->expansion.phy_poll_tm); ++ timer_delete_sync(&pdata->expansion.phy_poll_tm); + DPRINTK("fxgmac_phy_timer removed\n"); + } diff --git a/pkgs/os-specific/linux/zfs/2_2.nix b/pkgs/os-specific/linux/zfs/2_2.nix index 587c7bc8d96a..f32312ae3d80 100644 --- a/pkgs/os-specific/linux/zfs/2_2.nix +++ b/pkgs/os-specific/linux/zfs/2_2.nix @@ -1,33 +1,33 @@ { callPackage, - kernel ? null, - stdenv, lib, nixosTests, + stdenv, ... }@args: -let - stdenv' = if kernel == null then stdenv else kernel.stdenv; -in callPackage ./generic.nix args { # You have to ensure that in `pkgs/top-level/linux-kernels.nix` # this attribute is the correct one for this package. kernelModuleAttribute = "zfs_2_2"; # check the release notes for compatible kernels - kernelCompatible = kernel: kernel.kernelOlder "6.13"; + kernelCompatible = kernel: kernel.kernelOlder "6.16"; # this package should point to the latest release. - version = "2.2.7"; + version = "2.2.8"; - tests = { - inherit (nixosTests.zfs) installer series_2_2; - }; + tests = + { + inherit (nixosTests.zfs) series_2_2; + } + // lib.optionalAttrs stdenv.isx86_64 { + inherit (nixosTests.zfs) installer; + }; maintainers = with lib.maintainers; [ adamcstephens amarshall ]; - hash = "sha256-nFOB0/7YK4e8ODoW9A+RQDkZHG/isp2EBOE48zTaMP4="; + hash = "sha256-ZYgC8L4iI9ewaC7rkMFSRAKeTWr72N5aRP98VLL4oqo="; } diff --git a/pkgs/os-specific/linux/zfs/2_3.nix b/pkgs/os-specific/linux/zfs/2_3.nix index 992cba2a68b0..965f4ee874f3 100644 --- a/pkgs/os-specific/linux/zfs/2_3.nix +++ b/pkgs/os-specific/linux/zfs/2_3.nix @@ -1,33 +1,33 @@ { callPackage, - kernel ? null, - stdenv, lib, nixosTests, + stdenv, ... }@args: -let - stdenv' = if kernel == null then stdenv else kernel.stdenv; -in callPackage ./generic.nix args { # You have to ensure that in `pkgs/top-level/linux-kernels.nix` # this attribute is the correct one for this package. kernelModuleAttribute = "zfs_2_3"; # check the release notes for compatible kernels - kernelCompatible = kernel: kernel.kernelOlder "6.15"; + kernelCompatible = kernel: kernel.kernelOlder "6.16"; # this package should point to the latest release. - version = "2.3.2"; + version = "2.3.3"; - tests = { - inherit (nixosTests.zfs) installer series_2_3; - }; + tests = + { + inherit (nixosTests.zfs) series_2_3; + } + // lib.optionalAttrs stdenv.isx86_64 { + inherit (nixosTests.zfs) installer; + }; maintainers = with lib.maintainers; [ adamcstephens amarshall ]; - hash = "sha256-+DqpIgHCVi0fDOqvKwaGXIiiXw8xEnlv2tgRwgLX9G8="; + hash = "sha256-NXAbyGBfpzWfm4NaP1/otTx8fOnoRV17343qUMdQp5U="; } diff --git a/pkgs/os-specific/linux/zfs/generic.nix b/pkgs/os-specific/linux/zfs/generic.nix index 7ffc5d8463cd..b0b47ba8d5ec 100644 --- a/pkgs/os-specific/linux/zfs/generic.nix +++ b/pkgs/os-specific/linux/zfs/generic.nix @@ -31,6 +31,7 @@ let pkg-config, curl, pam, + nix-update-script, # Kernel dependencies kernel ? null, @@ -269,22 +270,31 @@ let outputs = [ "out" ] ++ optionals buildUser [ "dev" ]; - passthru = { - inherit kernel; - inherit enableMail kernelModuleAttribute; - latestCompatibleLinuxPackages = lib.warn "zfs.latestCompatibleLinuxPackages is deprecated and is now pointing at the default kernel. If using the stable LTS kernel (default `linuxPackages` is not possible then you must explicitly pin a specific kernel release. For example, `boot.kernelPackages = pkgs.linuxPackages_6_6`. Please be aware that non-LTS kernels are likely to go EOL before ZFS supports the latest supported non-LTS release, requiring manual intervention." linuxPackages; + passthru = + { + inherit kernel; + inherit enableMail kernelModuleAttribute; + latestCompatibleLinuxPackages = lib.warn "zfs.latestCompatibleLinuxPackages is deprecated and is now pointing at the default kernel. If using the stable LTS kernel (default `linuxPackages` is not possible then you must explicitly pin a specific kernel release. For example, `boot.kernelPackages = pkgs.linuxPackages_6_6`. Please be aware that non-LTS kernels are likely to go EOL before ZFS supports the latest supported non-LTS release, requiring manual intervention." linuxPackages; - # The corresponding userspace tools to this instantiation - # of the ZFS package set. - userspaceTools = genericBuild ( - outerArgs - // { - configFile = "user"; - } - ) innerArgs; + # The corresponding userspace tools to this instantiation + # of the ZFS package set. + userspaceTools = genericBuild ( + outerArgs + // { + configFile = "user"; + } + ) innerArgs; - inherit tests; - }; + inherit tests; + } + // lib.optionalAttrs (kernelModuleAttribute != "zfs_unstable") { + updateScript = nix-update-script { + extraArgs = [ + "--version-regex=^zfs-(${lib.versions.major version}\\.${lib.versions.minor version}\\.[0-9]+)" + "--override-filename=pkgs/os-specific/linux/zfs/${lib.versions.major version}_${lib.versions.minor version}.nix" + ]; + }; + }; meta = { description = "ZFS Filesystem Linux" + (if buildUser then " Userspace Tools" else " Kernel Module"); diff --git a/pkgs/os-specific/linux/zfs/unstable.nix b/pkgs/os-specific/linux/zfs/unstable.nix index b2ebfccc1410..5bd1412d6c32 100644 --- a/pkgs/os-specific/linux/zfs/unstable.nix +++ b/pkgs/os-specific/linux/zfs/unstable.nix @@ -1,33 +1,28 @@ { callPackage, - kernel ? null, - stdenv, nixosTests, ... }@args: -let - stdenv' = if kernel == null then stdenv else kernel.stdenv; -in callPackage ./generic.nix args { # You have to ensure that in `pkgs/top-level/linux-kernels.nix` # this attribute is the correct one for this package. kernelModuleAttribute = "zfs_unstable"; # check the release notes for compatible kernels - kernelCompatible = kernel: kernel.kernelOlder "6.15"; + kernelCompatible = kernel: kernel.kernelOlder "6.16"; # this package should point to a version / git revision compatible with the latest kernel release # IMPORTANT: Always use a tagged release candidate or commits from the # zfs--staging branch, because this is tested by the OpenZFS # maintainers. - version = "2.3.2"; + version = "2.3.3"; # rev = ""; tests = { inherit (nixosTests.zfs) unstable; }; - hash = "sha256-+DqpIgHCVi0fDOqvKwaGXIiiXw8xEnlv2tgRwgLX9G8="; + hash = "sha256-NXAbyGBfpzWfm4NaP1/otTx8fOnoRV17343qUMdQp5U="; extraLongDescription = '' This is "unstable" ZFS, and will usually be a pre-release version of ZFS. diff --git a/pkgs/pkgs-lib/formats.nix b/pkgs/pkgs-lib/formats.nix index 1e2061027c76..0836519c203d 100644 --- a/pkgs/pkgs-lib/formats.nix +++ b/pkgs/pkgs-lib/formats.nix @@ -1,5 +1,80 @@ { lib, pkgs }: -rec { +let + inherit (lib) + concatStringsSep + escape + flatten + id + isAttrs + isFloat + isInt + isList + isString + mapAttrs + mapAttrsToList + mkOption + optionalAttrs + optionalString + pipe + types + singleton + warn + ; + + inherit (lib.generators) + mkValueStringDefault + toGitINI + toINI + toINIWithGlobalSection + toKeyValue + toLua + mkLuaInline + ; + + inherit (lib.types) + attrsOf + atom + bool + coercedTo + either + float + int + listOf + luaInline + mkOptionType + nonEmptyListOf + nullOr + oneOf + path + str + submodule + ; + + # Attributes added accidentally in https://github.com/NixOS/nixpkgs/pull/335232 (2024-08-18) + # Deprecated in https://github.com/NixOS/nixpkgs/pull/415666 (2025-06) + allowAliases = pkgs.config.allowAliases or false; + aliasWarning = name: warn "`formats.${name}` is deprecated; use `lib.types.${name}` instead."; + aliases = mapAttrs aliasWarning { + inherit + attrsOf + bool + coercedTo + either + float + int + listOf + luaInline + mkOptionType + nonEmptyListOf + nullOr + oneOf + path + str + ; + }; +in +optionalAttrs allowAliases aliases +// rec { /* Every following entry represents a format for program configuration files @@ -43,25 +118,6 @@ rec { php = (import ./formats/php/default.nix { inherit lib pkgs; }).format; - inherit (lib) mkOptionType; - inherit (lib.types) - nullOr - oneOf - coercedTo - listOf - nonEmptyListOf - attrsOf - either - ; - inherit (lib.types) - bool - int - float - str - path - luaInline - ; - json = { }: { @@ -136,7 +192,46 @@ rec { (listOf valueType) ]) // { - description = "YAML value"; + description = "YAML 1.1 value"; + }; + in + valueType; + + }; + + yaml_1_2 = + { }: + { + generate = + name: value: + pkgs.callPackage ( + { runCommand, remarshal }: + runCommand name + { + nativeBuildInputs = [ remarshal ]; + value = builtins.toJSON value; + passAsFile = [ "value" ]; + preferLocalBuild = true; + } + '' + json2yaml "$valuePath" "$out" + '' + ) { }; + + type = + let + valueType = + nullOr (oneOf [ + bool + int + float + str + path + (attrsOf valueType) + (listOf valueType) + ]) + // { + description = "YAML 1.2 value"; }; in valueType; @@ -165,7 +260,7 @@ rec { }: let singleIniAtomOr = - if atomsCoercedToLists then coercedTo singleIniAtom lib.singleton else either singleIniAtom; + if atomsCoercedToLists then coercedTo singleIniAtom singleton else either singleIniAtom; in if listsAsDuplicateKeys then singleIniAtomOr (listOf singleIniAtom) @@ -189,9 +284,9 @@ rec { maybeToList = listToValue: if listToValue != null then - lib.mapAttrs (key: val: if lib.isList val then listToValue val else val) + mapAttrs (key: val: if isList val then listToValue val else val) else - lib.id; + id; in { ini = @@ -216,14 +311,14 @@ rec { in { - type = lib.types.attrsOf (iniSection atom); + type = attrsOf (iniSection atom); lib.types.atom = atom; generate = name: value: - lib.pipe value [ - (lib.mapAttrs (_: maybeToList listToValue)) - (lib.generators.toINI ( + pipe value [ + (mapAttrs (_: maybeToList listToValue)) + (toINI ( removeAttrs args [ "listToValue" "atomsCoercedToLists" @@ -254,14 +349,14 @@ rec { }; in { - type = lib.types.submodule { + type = submodule { options = { - sections = lib.mkOption rec { - type = lib.types.attrsOf (iniSection atom); + sections = mkOption rec { + type = attrsOf (iniSection atom); default = { }; description = type.description; }; - globalSection = lib.mkOption rec { + globalSection = mkOption rec { type = iniSection atom; default = { }; description = "global " + type.description; @@ -277,14 +372,14 @@ rec { ... }: pkgs.writeText name ( - lib.generators.toINIWithGlobalSection + toINIWithGlobalSection (removeAttrs args [ "listToValue" "atomsCoercedToLists" ]) { globalSection = maybeToList listToValue globalSection; - sections = lib.mapAttrs (_: maybeToList listToValue) sections; + sections = mapAttrs (_: maybeToList listToValue) sections; } ); }; @@ -304,7 +399,7 @@ rec { { type = attrsOf (attrsOf (either atom (attrsOf atom))); lib.types.atom = atom; - generate = name: value: pkgs.writeText name (lib.generators.toGitINI value); + generate = name: value: pkgs.writeText name (toGitINI value); }; } @@ -320,7 +415,7 @@ rec { # optional config options. systemd = let - mkValueString = lib.generators.mkValueStringDefault { }; + mkValueString = mkValueStringDefault { }; mkKeyValue = k: v: if v == null then "# ${k} is unset" else "${k} = ${mkValueString v}"; in ini { @@ -356,12 +451,12 @@ rec { atom = if listsAsDuplicateKeys then - coercedTo singleAtom lib.singleton (listOf singleAtom) + coercedTo singleAtom singleton (listOf singleAtom) // { description = singleAtom.description + " or a list of them for duplicate keys"; } else if listToValue != null then - coercedTo singleAtom lib.singleton (nonEmptyListOf singleAtom) + coercedTo singleAtom singleton (nonEmptyListOf singleAtom) // { description = singleAtom.description + " or a non-empty list of them"; } @@ -376,13 +471,11 @@ rec { let transformedValue = if listToValue != null then - lib.mapAttrs (key: val: if lib.isList val then listToValue val else val) value + mapAttrs (key: val: if isList val then listToValue val else val) value else value; in - pkgs.writeText name ( - lib.generators.toKeyValue (removeAttrs args [ "listToValue" ]) transformedValue - ); + pkgs.writeText name (toKeyValue (removeAttrs args [ "listToValue" ]) transformedValue); }; @@ -520,18 +613,18 @@ rec { "true" else if value == false then "false" - else if lib.isInt value || lib.isFloat value then + else if isInt value || isFloat value then toString value - else if lib.isString value then + else if isString value then string value - else if lib.isAttrs value then + else if isAttrs value then attrs value - else if lib.isList value then + else if isList value then list value else abort "formats.elixirConf: should never happen (value = ${value})"; - escapeElixir = lib.escape [ + escapeElixir = escape [ "\\" "#" "\"" @@ -545,11 +638,11 @@ rec { else let toKeyword = name: value: "${name}: ${toElixir value}"; - keywordList = lib.concatStringsSep ", " (lib.mapAttrsToList toKeyword set); + keywordList = concatStringsSep ", " (mapAttrsToList toKeyword set); in "[" + keywordList + "]"; - listContent = values: lib.concatStringsSep ", " (map toElixir values); + listContent = values: concatStringsSep ", " (map toElixir values); list = values: "[" + (listContent values) + "]"; @@ -570,7 +663,7 @@ rec { set: let toEntry = name: value: "${toElixir name} => ${toElixir value}"; - entries = lib.concatStringsSep ", " (lib.mapAttrsToList toEntry set); + entries = concatStringsSep ", " (mapAttrsToList toEntry set); in "%{${entries}}"; @@ -582,13 +675,13 @@ rec { keyConfig = rootKey: key: value: "config ${rootKey}, ${key}, ${toElixir value}"; - keyConfigs = rootKey: values: lib.mapAttrsToList (keyConfig rootKey) values; - rootConfigs = lib.flatten (lib.mapAttrsToList keyConfigs values); + keyConfigs = rootKey: values: mapAttrsToList (keyConfig rootKey) values; + rootConfigs = flatten (mapAttrsToList keyConfigs values); in '' import Config - ${lib.concatStringsSep "\n" rootConfigs} + ${concatStringsSep "\n" rootConfigs} ''; in { @@ -692,7 +785,7 @@ rec { # Wrap standard types, since anything in the Elixir configuration # can be raw Elixir } - // lib.mapAttrs (_name: type: elixirOr type) lib.types; + // mapAttrs (_name: type: elixirOr type) types; }; generate = @@ -748,12 +841,12 @@ rec { inherit columnWidth; inherit indentWidth; indentType = if indentUsingTabs then "Tabs" else "Spaces"; - value = lib.generators.toLua { inherit asBindings multiline; } value; + value = toLua { inherit asBindings multiline; } value; passAsFile = [ "value" ]; preferLocalBuild = true; } '' - ${lib.optionalString (!asBindings) '' + ${optionalString (!asBindings) '' echo -n 'return ' >> $out ''} cat $valuePath >> $out diff --git a/pkgs/pkgs-lib/tests/formats.nix b/pkgs/pkgs-lib/tests/formats.nix index d69fd9e15fb9..badde2d7b025 100644 --- a/pkgs/pkgs-lib/tests/formats.nix +++ b/pkgs/pkgs-lib/tests/formats.nix @@ -143,7 +143,7 @@ runBuildTests { }; yaml_1_1Atoms = shouldPass { - format = formats.yaml { }; + format = formats.yaml_1_1 { }; input = { null = null; false = false; @@ -176,6 +176,40 @@ runBuildTests { ''; }; + yaml_1_2Atoms = shouldPass { + format = formats.yaml_1_2 { }; + input = { + null = null; + false = false; + true = true; + float = 3.141; + str = "foo"; + attrs.foo = null; + list = [ + null + null + ]; + path = ./testfile; + no = "no"; + time = "22:30:00"; + }; + expected = '' + attrs: + foo: null + 'false': false + float: 3.141 + list: + - null + - null + no: no + 'null': null + path: ${./testfile} + str: foo + time: 22:30:00 + 'true': true + ''; + }; + iniAtoms = shouldPass { format = formats.ini { }; input = { @@ -663,6 +697,7 @@ runBuildTests { list = [1, 2] str = "foo" true = true + [attrs] foo = "foo" diff --git a/pkgs/servers/firebird/default.nix b/pkgs/servers/firebird/default.nix index 1612f518a795..dca4bf5146d1 100644 --- a/pkgs/servers/firebird/default.nix +++ b/pkgs/servers/firebird/default.nix @@ -55,34 +55,6 @@ let }; in rec { - - firebird_2_5 = stdenv.mkDerivation ( - base - // rec { - version = "2.5.9"; - - src = fetchFromGitHub { - owner = "FirebirdSQL"; - repo = "firebird"; - rev = "R${builtins.replaceStrings [ "." ] [ "_" ] version}"; - sha256 = "sha256-YyvlMeBux80OpVhsCv+6IVxKXFRsgdr+1siupMR13JM="; - }; - - configureFlags = base.configureFlags ++ [ "--with-system-icu" ]; - - installPhase = '' - runHook preInstall - mkdir -p $out - cp -r gen/firebird/* $out - runHook postInstall - ''; - - meta = base.meta // { - platforms = [ "x86_64-linux" ]; - }; - } - ); - firebird_3 = stdenv.mkDerivation ( base // rec { diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 24a0bc183ba3..0617231f1378 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -2,7 +2,7 @@ # Do not edit! { - version = "2025.5.3"; + version = "2025.6.1"; components = { "3_day_blinds" = ps: with ps; [ @@ -182,6 +182,10 @@ ps: with ps; [ pyturbojpeg ]; + "alexa_devices" = + ps: with ps; [ + aioamazondevices + ]; "alpha_vantage" = ps: with ps; [ alpha-vantage @@ -1163,6 +1167,7 @@ aiodhcpwatcher aiodiscover cached-ipaddress + ifaddr ]; "diagnostics" = ps: with ps; [ @@ -1635,7 +1640,7 @@ "ezviz" = ps: with ps; [ ha-ffmpeg - pyezviz + pyezvizapi ]; "faa_delays" = ps: with ps; [ @@ -2593,6 +2598,10 @@ ps: with ps; [ imgw-pib ]; + "immich" = + ps: with ps; [ + aioimmich + ]; "improv_ble" = ps: with ps; [ aioesphomeapi @@ -2840,6 +2849,9 @@ ps: with ps; [ pyjvcprojector ]; + "kaiser_nienhaus" = + ps: with ps; [ + ]; "kaiterra" = ps: with ps; [ ]; # missing inputs: kaiterra-async-client @@ -4320,6 +4332,10 @@ ps: with ps; [ home-assistant-frontend ]; + "paperless_ngx" = + ps: with ps; [ + pypaperless + ]; "pcs_lighting" = ps: with ps; [ ]; @@ -4486,6 +4502,33 @@ pyspeex-noise zeroconf ]; + "probe_plus" = + ps: with ps; [ + aioesphomeapi + aiohasupervisor + aioruuvigateway + aioshelly + aiousbwatcher + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyprobeplus + pyserial + pyspeex-noise + zeroconf + ]; "profiler" = ps: with ps; [ guppy3 @@ -4813,7 +4856,8 @@ "remote_rpi_gpio" = ps: with ps; [ gpiozero - ]; # missing inputs: pigpio + pigpio + ]; "renault" = ps: with ps; [ renault-api @@ -4924,11 +4968,6 @@ "rtorrent" = ps: with ps; [ ]; - "rtsp_to_webrtc" = - ps: with ps; [ - pyturbojpeg - rtsp-to-webrtc - ]; "ruckus_unleashed" = ps: with ps; [ aioruckus @@ -5327,6 +5366,10 @@ ps: with ps; [ pysmappee ]; + "smarla" = + ps: with ps; [ + pysmarlaapi + ]; "smart_blinds" = ps: with ps; [ ]; @@ -5573,7 +5616,10 @@ ]; "suez_water" = ps: with ps; [ + fnv-hash-fast + psutil-home-assistant pysuezv2 + sqlalchemy ]; "sun" = ps: with ps; [ @@ -6475,6 +6521,7 @@ ]; "wsdot" = ps: with ps; [ + wsdot ]; "wyoming" = ps: with ps; [ @@ -6691,6 +6738,10 @@ "ziggo_mediabox_xl" = ps: with ps; [ ]; # missing inputs: ziggo-mediabox-xl + "zimi" = + ps: with ps; [ + zcc-helper + ]; "zodiac" = ps: with ps; [ ]; @@ -6749,6 +6800,7 @@ "alarmdecoder" "alert" "alexa" + "alexa_devices" "amberelectric" "ambient_network" "ambient_station" @@ -6854,6 +6906,7 @@ "cover" "cpuspeed" "crownstone" + "cups" "daikin" "datadog" "date" @@ -6879,6 +6932,8 @@ "directv" "discord" "discovergy" + "dlib_face_detect" + "dlib_face_identify" "dlna_dmr" "dlna_dms" "dnsip" @@ -6902,6 +6957,7 @@ "econet" "ecovacs" "ecowitt" + "eddystone_temperature" "edl21" "efergy" "eheimdigital" @@ -7081,6 +7137,7 @@ "imap" "imeon_inverter" "imgw_pib" + "immich" "improv_ble" "incomfort" "influxdb" @@ -7310,7 +7367,9 @@ "p1_monitor" "palazzetti" "panasonic_viera" + "pandora" "panel_custom" + "paperless_ngx" "peblar" "peco" "pegel_online" @@ -7331,6 +7390,7 @@ "powerfox" "powerwall" "private_ble_device" + "probe_plus" "profiler" "prometheus" "prosegur" @@ -7352,6 +7412,7 @@ "qld_bushfire" "qnap" "qnap_qsw" + "quantum_gateway" "qwikswitch" "rabbitair" "rachio" @@ -7396,7 +7457,6 @@ "rova" "rpi_power" "rss_feed_template" - "rtsp_to_webrtc" "ruckus_unleashed" "russound_rio" "ruuvi_gateway" @@ -7446,6 +7506,7 @@ "slimproto" "sma" "smappee" + "smarla" "smart_meter_texas" "smartthings" "smarttub" @@ -7654,6 +7715,7 @@ "zerproc" "zeversolar" "zha" + "zimi" "zodiac" "zone" "zwave_js" diff --git a/pkgs/servers/home-assistant/custom-components/alarmo/package.nix b/pkgs/servers/home-assistant/custom-components/alarmo/package.nix index a49b688475ee..37c6c1b3af13 100644 --- a/pkgs/servers/home-assistant/custom-components/alarmo/package.nix +++ b/pkgs/servers/home-assistant/custom-components/alarmo/package.nix @@ -7,13 +7,13 @@ buildHomeAssistantComponent rec { owner = "nielsfaber"; domain = "alarmo"; - version = "1.10.8"; + version = "1.10.9"; src = fetchFromGitHub { owner = "nielsfaber"; repo = "alarmo"; tag = "v${version}"; - hash = "sha256-XfeUjZ9icgWFfeJabib1KlrGuGJKuoOZuJH/OFMw/4M="; + hash = "sha256-eNAtHAa6Ye20Em/2i6+k6OMODTulKprywz1dVZHF4Vc="; }; postPatch = '' diff --git a/pkgs/servers/home-assistant/custom-components/daikin_onecta/package.nix b/pkgs/servers/home-assistant/custom-components/daikin_onecta/package.nix index a3e7f431134a..6f0f97508687 100644 --- a/pkgs/servers/home-assistant/custom-components/daikin_onecta/package.nix +++ b/pkgs/servers/home-assistant/custom-components/daikin_onecta/package.nix @@ -7,13 +7,13 @@ buildHomeAssistantComponent rec { owner = "jwillemsen"; domain = "daikin_onecta"; - version = "4.2.6"; + version = "4.2.8"; src = fetchFromGitHub { owner = "jwillemsen"; repo = "daikin_onecta"; tag = "v${version}"; - hash = "sha256-JBo2205wHeC+5+kontzqgRLTss2Naht/TbkuEAs2nSQ="; + hash = "sha256-ozOJQDoE/t2FhnsVCnP+WCrFr/l19+onr488JN2fSE0="; }; meta = { diff --git a/pkgs/servers/home-assistant/custom-components/emporia_vue/package.nix b/pkgs/servers/home-assistant/custom-components/emporia_vue/package.nix index 80004f862251..4fffba723aaa 100644 --- a/pkgs/servers/home-assistant/custom-components/emporia_vue/package.nix +++ b/pkgs/servers/home-assistant/custom-components/emporia_vue/package.nix @@ -8,13 +8,13 @@ buildHomeAssistantComponent rec { owner = "magico13"; domain = "emporia_vue"; - version = "0.10.2-pre"; + version = "0.11.1"; src = fetchFromGitHub { owner = "magico13"; repo = "ha-emporia-vue"; rev = "v${version}"; - hash = "sha256-mXzgd0dFwnwFCG0+9825uOrYhv2SNuLAOO1Unq6Kw/w="; + hash = "sha256-XyGF7tVPPIMjzYXKpiF2lqQiCpPkJ/cOjZZCB2XMDYU="; }; dependencies = [ diff --git a/pkgs/servers/home-assistant/custom-components/frigate/package.nix b/pkgs/servers/home-assistant/custom-components/frigate/package.nix index c32451dfa188..a897f1a0c15c 100644 --- a/pkgs/servers/home-assistant/custom-components/frigate/package.nix +++ b/pkgs/servers/home-assistant/custom-components/frigate/package.nix @@ -41,6 +41,14 @@ buildHomeAssistantComponent rec { ++ (homeassistant.getPackages "mqtt" homeassistant.python.pkgs) ++ (homeassistant.getPackages "stream" homeassistant.python.pkgs); + disabledTests = [ + # https://github.com/blakeblackshear/frigate-hass-integration/issues/922 + "test_frigate_camera_setup" + "test_frigate_camera_setup_birdseye" + "test_frigate_camera_setup_webrtc" + "test_frigate_camera_setup_birdseye_webrtc" + ]; + disabledTestPaths = [ # https://github.com/blakeblackshear/frigate-hass-integration/issues/907 "tests/test_media_source.py" diff --git a/pkgs/servers/home-assistant/custom-components/midea_ac_lan/package.nix b/pkgs/servers/home-assistant/custom-components/midea_ac_lan/package.nix index f1bbbcee56c5..a44ccbed54c9 100644 --- a/pkgs/servers/home-assistant/custom-components/midea_ac_lan/package.nix +++ b/pkgs/servers/home-assistant/custom-components/midea_ac_lan/package.nix @@ -8,13 +8,13 @@ buildHomeAssistantComponent rec { owner = "wuwentao"; domain = "midea_ac_lan"; - version = "0.6.7"; + version = "0.6.8"; src = fetchFromGitHub { inherit owner; repo = domain; tag = "v${version}"; - hash = "sha256-L1dlj7gOH/VpwayoyQGbwu/4IIDW1tTxmnTQNTwfxUw="; + hash = "sha256-y78Leb+XxEpijP7XbmjDGSD2RArfxlSgdtXkeYggxto="; }; dependencies = [ midea-local ]; diff --git a/pkgs/servers/home-assistant/custom-components/oref_alert/package.nix b/pkgs/servers/home-assistant/custom-components/oref_alert/package.nix index 7775b1ea0261..5fffab60d234 100644 --- a/pkgs/servers/home-assistant/custom-components/oref_alert/package.nix +++ b/pkgs/servers/home-assistant/custom-components/oref_alert/package.nix @@ -12,15 +12,20 @@ buildHomeAssistantComponent rec { owner = "amitfin"; domain = "oref_alert"; - version = "2.21.1"; + version = "2.22.1"; src = fetchFromGitHub { owner = "amitfin"; repo = "oref_alert"; tag = "v${version}"; - hash = "sha256-ov/smP7rflRfQMqYduTxDAYj5xQkpZJSzIQZrP0YADQ="; + hash = "sha256-OO3My8U8SCmhaJQI7y0kxVKj/stvfp3pdqhFdTCcIWs="; }; + postPatch = '' + substituteInPlace custom_components/oref_alert/manifest.json \ + --replace-fail shapely==2.0.7 shapely + ''; + dependencies = [ aiofiles shapely diff --git a/pkgs/servers/home-assistant/custom-components/samsungtv-smart/package.nix b/pkgs/servers/home-assistant/custom-components/samsungtv-smart/package.nix index e88ce9ac0d0c..0e76b72beda9 100644 --- a/pkgs/servers/home-assistant/custom-components/samsungtv-smart/package.nix +++ b/pkgs/servers/home-assistant/custom-components/samsungtv-smart/package.nix @@ -11,13 +11,13 @@ buildHomeAssistantComponent rec { owner = "ollo69"; domain = "samsungtv_smart"; - version = "0.13.5"; + version = "0.13.6"; src = fetchFromGitHub { owner = "ollo69"; repo = "ha-samsungtv-smart"; tag = "v${version}"; - hash = "sha256-12wx8HaTEFQZOnxfcuAKFOXPdDpfAl608N1E6gmWqBI="; + hash = "sha256-4tBluCKt8e5tyUkv79t+pW/KNZUTEIeTY012x7CLN38="; }; dependencies = [ diff --git a/pkgs/servers/home-assistant/custom-components/solax_modbus/package.nix b/pkgs/servers/home-assistant/custom-components/solax_modbus/package.nix index 664d8c13f4ac..7f127bd200a7 100644 --- a/pkgs/servers/home-assistant/custom-components/solax_modbus/package.nix +++ b/pkgs/servers/home-assistant/custom-components/solax_modbus/package.nix @@ -8,13 +8,13 @@ buildHomeAssistantComponent rec { owner = "wills106"; domain = "solax_modbus"; - version = "2025.04.4"; + version = "2025.06.1"; src = fetchFromGitHub { owner = "wills106"; repo = "homeassistant-solax-modbus"; tag = version; - hash = "sha256-fgvhF+1fz3pNOZJQjf/iF2Lh9j6mMkUXjgLyCja84K0="; + hash = "sha256-aKbd/eNzROHF4evFS4sH8+dJwj5f3xZsF4qjTzHIu9g="; }; postPatch = '' diff --git a/pkgs/servers/home-assistant/custom-components/sun2/package.nix b/pkgs/servers/home-assistant/custom-components/sun2/package.nix index b707d666ee26..7380e37b5ea2 100644 --- a/pkgs/servers/home-assistant/custom-components/sun2/package.nix +++ b/pkgs/servers/home-assistant/custom-components/sun2/package.nix @@ -7,13 +7,13 @@ buildHomeAssistantComponent rec { owner = "pnbruckner"; domain = "sun2"; - version = "3.3.5"; + version = "3.4.0b0"; src = fetchFromGitHub { inherit owner; repo = "ha-sun2"; tag = version; - hash = "sha256-aR9tQw1d64RWuwc9QLhTP0z4TdaKeRfN0p7lMdWUpgw="; + hash = "sha256-yPqsbwabEcYhHFp5wzXf70SaEi0bfXw0IdFe0UahsEU="; }; meta = rec { diff --git a/pkgs/servers/home-assistant/custom-components/tuya_local/package.nix b/pkgs/servers/home-assistant/custom-components/tuya_local/package.nix index d1998fc8bf20..2cf417db6e0e 100644 --- a/pkgs/servers/home-assistant/custom-components/tuya_local/package.nix +++ b/pkgs/servers/home-assistant/custom-components/tuya_local/package.nix @@ -11,13 +11,13 @@ buildHomeAssistantComponent rec { owner = "make-all"; domain = "tuya_local"; - version = "2025.4.0"; + version = "2025.6.0"; src = fetchFromGitHub { inherit owner; repo = "tuya-local"; tag = version; - hash = "sha256-lvDiB/kVlPsKI28muv03B8j/0RD7U4I4ZNiucji8/e4="; + hash = "sha256-2Fvb2WcFNGSFxYHoxxL89DcbcIFa+OFyGodoop0KauA="; }; dependencies = [ diff --git a/pkgs/servers/home-assistant/custom-components/versatile_thermostat/package.nix b/pkgs/servers/home-assistant/custom-components/versatile_thermostat/package.nix index d6eb9f676414..0517eec943ca 100644 --- a/pkgs/servers/home-assistant/custom-components/versatile_thermostat/package.nix +++ b/pkgs/servers/home-assistant/custom-components/versatile_thermostat/package.nix @@ -8,13 +8,13 @@ buildHomeAssistantComponent rec { owner = "jmcollin78"; domain = "versatile_thermostat"; - version = "7.3.1"; + version = "7.3.2"; src = fetchFromGitHub { inherit owner; repo = domain; rev = "refs/tags/${version}"; - hash = "sha256-sRmf+6rOWnbLZaO5kJw+9Udsyj6fX2BeFh8tN9xkZRk="; + hash = "sha256-kUA9ApJsrKIqo7M9HPI3DLh+vzOwdSuDrdycUvrzhxU="; }; passthru.updateScript = gitUpdater { ignoredVersions = "(Alpha|Beta|alpha|beta).*"; }; diff --git a/pkgs/servers/home-assistant/custom-components/volvo_cars/package.nix b/pkgs/servers/home-assistant/custom-components/volvo_cars/package.nix index 7934cb9bb2b7..765efc08c5d4 100644 --- a/pkgs/servers/home-assistant/custom-components/volvo_cars/package.nix +++ b/pkgs/servers/home-assistant/custom-components/volvo_cars/package.nix @@ -7,13 +7,13 @@ buildHomeAssistantComponent rec { owner = "thomasddn"; domain = "volvo_cars"; - version = "1.5.3"; + version = "1.5.4"; src = fetchFromGitHub { owner = "thomasddn"; repo = "ha-volvo-cars"; tag = "v${version}"; - hash = "sha256-f7+RBAOkNUVJ4P/B/cMK7eGFrTnn8TGsC26vfSHc8Z4="; + hash = "sha256-oAGUa8KxLbzZs7xw/P9kwwG/ija03HXJ4jACluUd048="; }; meta = with lib; { diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/advanced-camera-card/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/advanced-camera-card/package.nix index 782c36ab1b0a..4f71a69943a0 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/advanced-camera-card/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/advanced-camera-card/package.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { pname = "advanced-camera-card"; - version = "7.11.0"; + version = "7.14.1"; src = fetchzip { url = "https://github.com/dermotduffy/advanced-camera-card/releases/download/v${version}/advanced-camera-card.zip"; - hash = "sha256-ZxRokID9U3igUZTf3Rz2jTqs7Sb+en+KAV3DFKNg5Rk="; + hash = "sha256-SBUDM4+uayW5MJFs7arHXs1WzBmlHntVlE2hDBtGlAI="; }; # TODO: build from source once yarn berry support lands in nixpkgs diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/sankey-chart/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/sankey-chart/package.nix index 49d22ac943fe..ae5254e64dbf 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/sankey-chart/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/sankey-chart/package.nix @@ -6,16 +6,16 @@ buildNpmPackage rec { pname = "sankey-chart"; - version = "3.8.1"; + version = "3.9.0"; src = fetchFromGitHub { owner = "MindFreeze"; repo = "ha-sankey-chart"; rev = "v${version}"; - hash = "sha256-qDFCrnx0G+RsDq1V8wvo04AelR82SlXOYqWJntnSBJY="; + hash = "sha256-5ojqL0AYkF/VnvaQsn8CJn4y9srZUWUtyz+zauqGAkA="; }; - npmDepsHash = "sha256-A4aw4OKBQRsc6O60ewp88QxABANjnNlejSUfcFGyyRA="; + npmDepsHash = "sha256-/29XdA+y4ppbK0II1sy+IDFGYUQuPFUq3MMooqA6cBo="; installPhase = '' runHook preInstall diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/universal-remote-card/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/universal-remote-card/package.nix index 847e8209fa87..b2eb22718dcd 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/universal-remote-card/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/universal-remote-card/package.nix @@ -6,18 +6,18 @@ buildNpmPackage rec { pname = "universal-remote-card"; - version = "4.5.3"; + version = "4.6.0"; src = fetchFromGitHub { owner = "Nerwyn"; repo = "android-tv-card"; rev = version; - hash = "sha256-AxPpKp7SjeSB8VqclDJgkArC9zmjIkLQx+RBWQX0sLM="; + hash = "sha256-CiJJDMOl50QrMIdPIDLJa259FZSjyUhmwiZN29/oBsM="; }; patches = [ ./dont-call-git.patch ]; - npmDepsHash = "sha256-KFgo1sKwCLmW0Il4tK2L+giF3th+YvVUWG3n+3HkRg4="; + npmDepsHash = "sha256-Hv4TcUqwSGjA1OpAdd0RY0v+F9oTMIHgVm54sPjyrpQ="; installPhase = '' runHook preInstall diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index 8d286ae30426..3fffe4a6faa1 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -386,7 +386,7 @@ let extraBuildInputs = extraPackages python.pkgs; # Don't forget to run update-component-packages.py after updating - hassVersion = "2025.5.3"; + hassVersion = "2025.6.1"; in python.pkgs.buildPythonApplication rec { @@ -407,13 +407,13 @@ python.pkgs.buildPythonApplication rec { owner = "home-assistant"; repo = "core"; tag = version; - hash = "sha256-qqPO7dr+Sb1RKYoOV7MhT2E1FcW7lAKTTB0T+UzLwzk="; + hash = "sha256-Pp2IIpVfzYE4BBJEq4Ll2s0vgsqxAApE8TmVd1zAg38="; }; # Secondary source is pypi sdist for translations sdist = fetchPypi { inherit pname version; - hash = "sha256-8WusUfZEyoBPltVrDpDQVkbIFEHn1GGdA4Pt0Zb1+Fo="; + hash = "sha256-yc4tEyR3xpo4x9daWEwXFJBhSH3xeOc2ckO+7LWVRlA="; }; build-system = with python.pkgs; [ @@ -432,6 +432,9 @@ python.pkgs.buildPythonApplication rec { # Follow symlinks in /var/lib/hass/www ./patches/static-follow-symlinks.patch + # Copy default blueprints without preserving permissions + ./patches/default-blueprint-permissions.patch + # Patch path to ffmpeg binary (replaceVars ./patches/ffmpeg-path.patch { ffmpeg = "${lib.getExe ffmpeg-headless}"; @@ -448,6 +451,7 @@ python.pkgs.buildPythonApplication rec { dependencies = with python.pkgs; [ # Only packages required in pyproject.toml aiodns + aiofiles aiohasupervisor aiohttp aiohttp-asyncmdnsresolver diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix index 79baae724705..bb35c97d4b06 100644 --- a/pkgs/servers/home-assistant/frontend.nix +++ b/pkgs/servers/home-assistant/frontend.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { # the frontend version corresponding to a specific home-assistant version can be found here # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json pname = "home-assistant-frontend"; - version = "20250516.0"; + version = "20250531.3"; format = "wheel"; src = fetchPypi { @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "home_assistant_frontend"; dist = "py3"; python = "py3"; - hash = "sha256-KyZE9SmEoAKgaZMRvs83BK73Yo3fqD8O+vMBO4JE+Ng="; + hash = "sha256-FmG7Ym85KwE76s+srHzcGM2p5hh56X7cZOBZu4Gr4mM="; }; # there is nothing to strip in this package diff --git a/pkgs/servers/home-assistant/intents.nix b/pkgs/servers/home-assistant/intents.nix index 690486c40578..d6044c988380 100644 --- a/pkgs/servers/home-assistant/intents.nix +++ b/pkgs/servers/home-assistant/intents.nix @@ -22,7 +22,7 @@ buildPythonPackage rec { pname = "home-assistant-intents"; - version = "2025.5.7"; + version = "2025.6.10"; pyproject = true; disabled = pythonOlder "3.9"; @@ -32,7 +32,7 @@ buildPythonPackage rec { repo = "intents-package"; rev = "refs/tags/${version}"; fetchSubmodules = true; - hash = "sha256-803TTK8wT00uZjXl6EfNMNveRBeKPQIgRXIawg68tEU="; + hash = "sha256-MCObny6x3rgKz2KcMBanGOCaPw/4wHYsdzFIKhqeosw="; }; build-system = [ diff --git a/pkgs/servers/home-assistant/patches/default-blueprint-permissions.patch b/pkgs/servers/home-assistant/patches/default-blueprint-permissions.patch new file mode 100644 index 000000000000..df802b2828b9 --- /dev/null +++ b/pkgs/servers/home-assistant/patches/default-blueprint-permissions.patch @@ -0,0 +1,35 @@ +commit cca718816f66b0155602c974e6743e8ce49e367b +Author: Martin Weinelt +Date: Thu Jun 12 03:37:27 2025 +0200 + + blueprints: copy default blueprints w/o permissions + + There is no easy way to achieve this with shutil, because copytree() will + always call copystat() an ruin directory permissions. + +diff --git a/homeassistant/components/blueprint/models.py b/homeassistant/components/blueprint/models.py +index 88052100259..a0b29ed3d01 100644 +--- a/homeassistant/components/blueprint/models.py ++++ b/homeassistant/components/blueprint/models.py +@@ -378,9 +378,17 @@ class DomainBlueprints: + if self.blueprint_folder.exists(): + return + +- shutil.copytree( +- integration.file_path / BLUEPRINT_FOLDER, +- self.blueprint_folder / HOMEASSISTANT_DOMAIN, +- ) ++ import os ++ os.makedirs(self.blueprint_folder / HOMEASSISTANT_DOMAIN) ++ ++ import subprocess ++ subprocess.check_call([ ++ "cp", ++ "--no-preserve=mode", ++ "--no-target-directory", ++ "--recursive", ++ str(integration.file_path / BLUEPRINT_FOLDER), ++ str(self.blueprint_folder / HOMEASSISTANT_DOMAIN), ++ ]) + + await self.hass.async_add_executor_job(populate) diff --git a/pkgs/servers/home-assistant/pytest-homeassistant-custom-component.nix b/pkgs/servers/home-assistant/pytest-homeassistant-custom-component.nix index 77e202cccae4..cb9ef628b7f5 100644 --- a/pkgs/servers/home-assistant/pytest-homeassistant-custom-component.nix +++ b/pkgs/servers/home-assistant/pytest-homeassistant-custom-component.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "pytest-homeassistant-custom-component"; - version = "0.13.246"; + version = "0.13.251"; pyproject = true; disabled = pythonOlder "3.13"; @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "MatthewFlamm"; repo = "pytest-homeassistant-custom-component"; rev = "refs/tags/${version}"; - hash = "sha256-FTEDKnVVr6rNvUoSxOkyZrDfNYIUQGKmFt6eNKHI8FM="; + hash = "sha256-S+BC3ohAsY11SdZZdlETskCAopKeohgb16vMpko01YY="; }; build-system = [ setuptools ]; diff --git a/pkgs/servers/home-assistant/stubs.nix b/pkgs/servers/home-assistant/stubs.nix index 7aae398e2d13..469f84ad4442 100644 --- a/pkgs/servers/home-assistant/stubs.nix +++ b/pkgs/servers/home-assistant/stubs.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "homeassistant-stubs"; - version = "2025.5.3"; + version = "2025.6.1"; pyproject = true; disabled = python.version != home-assistant.python.version; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "KapJI"; repo = "homeassistant-stubs"; tag = version; - hash = "sha256-9RL6p68L3lvH5h/kBekiu1pqJ1mXEUB6nmp+qe0sAsg="; + hash = "sha256-JTSIVe25EXZ7Bslkcz8/wLFJDx3f78OGsfDodtHMZ/Y="; }; build-system = [ diff --git a/pkgs/servers/home-assistant/tests.nix b/pkgs/servers/home-assistant/tests.nix index a2bb4400aa68..da4f2f66adb1 100644 --- a/pkgs/servers/home-assistant/tests.nix +++ b/pkgs/servers/home-assistant/tests.nix @@ -63,6 +63,10 @@ let }; extraDisabledTests = { + conversation = [ + # intent fixture mismatch + "test_error_no_device_on_floor" + ]; forecast_solar = [ # language fixture mismatch "test_enabling_disable_by_default" diff --git a/pkgs/servers/http/angie/default.nix b/pkgs/servers/http/angie/default.nix index ebcab0e52cd1..3f0fd90f7034 100644 --- a/pkgs/servers/http/angie/default.nix +++ b/pkgs/servers/http/angie/default.nix @@ -9,12 +9,12 @@ }@args: callPackage ../nginx/generic.nix args rec { - version = "1.9.0"; + version = "1.9.1"; pname = if withQuic then "angieQuic" else "angie"; src = fetchurl { url = "https://download.angie.software/files/angie-${version}.tar.gz"; - hash = "sha256-5sMonIcPxW4te9IW+wXGIdtcNfP97aBUiT8NWk3eQeo="; + hash = "sha256-rxHMBt/r58F4MjdbNIqNeGrwUs785f+vqqiYSE4YzjY="; }; configureFlags = diff --git a/pkgs/servers/http/apache-modules/mod_timestamp/0001-DEFINE_STACK_OF-EVP_MD-seems-to-have-gone-recreate-i.patch b/pkgs/servers/http/apache-modules/mod_timestamp/0001-DEFINE_STACK_OF-EVP_MD-seems-to-have-gone-recreate-i.patch new file mode 100644 index 000000000000..59b9f268e940 --- /dev/null +++ b/pkgs/servers/http/apache-modules/mod_timestamp/0001-DEFINE_STACK_OF-EVP_MD-seems-to-have-gone-recreate-i.patch @@ -0,0 +1,41 @@ +From 5f9d4458f05c5d9f4b416de867fd9327aba865d5 Mon Sep 17 00:00:00 2001 +From: Dirk-Willem van Gulik +Date: Fri, 21 Jan 2022 21:53:49 +0100 +Subject: [PATCH] DEFINE_STACK_OF(EVP_MD) seems to have gone; recreate it. And + quell a warning. + +--- + mod_timestamp.c | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/mod_timestamp.c b/mod_timestamp.c +index 289d50a..54af7c8 100644 +--- a/mod_timestamp.c ++++ b/mod_timestamp.c +@@ -41,6 +41,14 @@ + + #include "mod_ca.h" + ++#ifndef sk_EVP_MD_free ++/* Recent versions of OpenSSL seem to no longer define ++ * a stack of EVP_MD's. ++ */ ++#include ++DEFINE_STACK_OF(EVP_MD) ++#endif ++ + #define DEFAULT_TIMESTAMP_SIZE 128*1024 + + module AP_MODULE_DECLARE_DATA timestamp_module; +@@ -360,7 +368,7 @@ static const char *add_timestamp_digest(cmd_parms *cmd, void *dconf, + return apr_psprintf(cmd->pool, + "'%s' could not be recognised as a valid digest.", arg); + } +- if (!sk_EVP_MD_push(conf->digests, digest)) { ++ if (!sk_EVP_MD_push(conf->digests, (EVP_MD *)digest)) { + return apr_psprintf(cmd->pool, + "'%s' could not be added as a valid digest.", arg); + } +-- +2.49.0 + diff --git a/pkgs/servers/http/apache-modules/mod_timestamp/default.nix b/pkgs/servers/http/apache-modules/mod_timestamp/default.nix index 2de2d5a65b3c..91323c62e7b1 100644 --- a/pkgs/servers/http/apache-modules/mod_timestamp/default.nix +++ b/pkgs/servers/http/apache-modules/mod_timestamp/default.nix @@ -26,6 +26,9 @@ stdenv.mkDerivation rec { mod_ca ]; + # FIXME: remove after next release after 0.2.3 + patches = [ ./0001-DEFINE_STACK_OF-EVP_MD-seems-to-have-gone-recreate-i.patch ]; + env.NIX_CFLAGS_COMPILE = toString ( lib.optionals stdenv.cc.isClang [ "-Wno-error=int-conversion" diff --git a/pkgs/servers/isso/default.nix b/pkgs/servers/isso/default.nix index 7428d2d6cbba..26bec1355f12 100644 --- a/pkgs/servers/isso/default.nix +++ b/pkgs/servers/isso/default.nix @@ -66,14 +66,10 @@ buildPythonApplication rec { ''; nativeCheckInputs = [ - pytest - pytest-cov + pytestCheckHook + pytest-cov-stub ]; - checkPhase = '' - pytest - ''; - passthru.tests = { inherit (nixosTests) isso; }; meta = with lib; { diff --git a/pkgs/servers/jackett/default.nix b/pkgs/servers/jackett/default.nix index b141fcbf4f04..f5c60b6c5318 100644 --- a/pkgs/servers/jackett/default.nix +++ b/pkgs/servers/jackett/default.nix @@ -11,13 +11,13 @@ buildDotnetModule rec { pname = "jackett"; - version = "0.22.1887"; + version = "0.22.2008"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - hash = "sha512-6XM7FDj12IfMu6KQHMih2yrwnP0GcVE2IMvH99vbfhyUKxOJiiWNNj72lEwBt5TDHs4eeQgugNIJ+NiDe52OjQ=="; + hash = "sha512-sTwG5eI2Bg3woANS55SkVCbYYu+bCPxBhxgJro9mIjqrzV/dHcXUoEgs7U/pCuMnoZG9BeH4egtPGQ2amH/Www=="; }; projectFile = "src/Jackett.Server/Jackett.Server.csproj"; diff --git a/pkgs/servers/mail/mailpit/source.nix b/pkgs/servers/mail/mailpit/source.nix index f7f49a3bbc41..e5093231e455 100644 --- a/pkgs/servers/mail/mailpit/source.nix +++ b/pkgs/servers/mail/mailpit/source.nix @@ -1,6 +1,6 @@ { - version = "1.25.1"; - hash = "sha256-4CyVCSGMKG7n2KsWZaZwUSTdIrd2ndOC5EUwRt9flI4="; - npmDepsHash = "sha256-E2+Lb97ahlKik9RG0oOxKUqEcnCdi0PWWAtpOX/tod4="; - vendorHash = "sha256-h3RzDHnPnoAeK5QsaSkY62dt6bugR4JF1mwvqmlir4Q="; + version = "1.26.0"; + hash = "sha256-nhtPK4QuifX/1cwGcrOrTLy8KQCa6+qPSyYsjIUCafs="; + npmDepsHash = "sha256-B3vBbEnAIQXDHxZpTROkH7ojBaf6+2kKFQm7d9g5liQ="; + vendorHash = "sha256-EuAfLKIk96gtqCwKqeoGpnzR6OgxrWVMda9VQFM5DRg="; } diff --git a/pkgs/servers/mastodon/source.nix b/pkgs/servers/mastodon/source.nix index 4dcc524f01b3..63f408e1f81e 100644 --- a/pkgs/servers/mastodon/source.nix +++ b/pkgs/servers/mastodon/source.nix @@ -7,17 +7,18 @@ let version = "4.3.8"; in -(applyPatches { +applyPatches { src = fetchFromGitHub { owner = "mastodon"; repo = "mastodon"; rev = "v${version}"; hash = "sha256-08AApylDOz8oExZ0cRaZTgNAuP+1wiLkx0SDhkO2fMM="; + + passthru = { + inherit version; + yarnHash = "sha256-IC4d/skIHEzJPuKlq4rMAqV+ydqquA6toq4WWCfuDxo="; + yarnMissingHashes = null; + }; }; patches = patches ++ [ ]; -}) -// { - inherit version; - yarnHash = "sha256-IC4d/skIHEzJPuKlq4rMAqV+ydqquA6toq4WWCfuDxo="; - yarnMissingHashes = null; } diff --git a/pkgs/servers/minio/default.nix b/pkgs/servers/minio/default.nix index ff933a65c8c7..7f3e4104f7bd 100644 --- a/pkgs/servers/minio/default.nix +++ b/pkgs/servers/minio/default.nix @@ -30,16 +30,16 @@ let in buildGoModule rec { pname = "minio"; - version = "2025-04-22T22-12-26Z"; + version = "2025-05-24T17-08-30Z"; src = fetchFromGitHub { owner = "minio"; repo = "minio"; rev = "RELEASE.${version}"; - hash = "sha256-BC633G27Zuhzk4DCLxtMGyWkQyo/3ObaIod7mDLPAqs="; + hash = "sha256-BB7uEBc0JSJ3nBAy+0i6s4js7Nv/jYw51tbIE6bWjkI="; }; - vendorHash = "sha256-F7texxlSLNVjhlAZPtYYnAd91FIF/BNpq7t1dLaDUpk="; + vendorHash = "sha256-0UoEIlxbAveYlCbGZ2z1q+RAksJrVjdE+ymc6ozDGcE="; doCheck = false; diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix index 078f48f7233a..2e212a062c8d 100644 --- a/pkgs/servers/monitoring/grafana/default.nix +++ b/pkgs/servers/monitoring/grafana/default.nix @@ -27,21 +27,21 @@ let # pulling it out of the Git history every few months and checking which files # we need to update now is slightly annoying. patchGoVersion = '' - find . -name go.mod -not -path "./.bingo/*" -not -path "./.citools/*" -print0 | while IFS= read -r -d ''' line; do + find . -name go.mod -not -path "./.bingo/*" -print0 | while IFS= read -r -d ''' line; do substituteInPlace "$line" \ - --replace-fail "go 1.24.2" "go 1.24.2" + --replace-fail "go 1.24.3" "go 1.24.2" done find . -name go.work -print0 | while IFS= read -r -d ''' line; do substituteInPlace "$line" \ - --replace-fail "go 1.24.2" "go 1.24.2" + --replace-fail "go 1.24.3" "go 1.24.2" done substituteInPlace Makefile \ - --replace-fail "GO_VERSION = 1.24.2" "GO_VERSION = 1.24.2" + --replace-fail "GO_VERSION = 1.24.3" "GO_VERSION = 1.24.2" ''; in buildGoModule rec { pname = "grafana"; - version = "12.0.0+security-01"; + version = "12.0.1+security-01"; subPackages = [ "pkg/cmd/grafana" @@ -53,7 +53,7 @@ buildGoModule rec { owner = "grafana"; repo = "grafana"; rev = "v${version}"; - hash = "sha256-4i9YHhoneptF72F4zvV+KVUJiP8xfiowPJExQ9iteK4="; + hash = "sha256-cYEWNXuIrTrtXR3XHqizDJ17QyBYkaccIThSorWO5GA="; }; # borrowed from: https://github.com/NixOS/nixpkgs/blob/d70d9425f49f9aba3c49e2c389fe6d42bac8c5b0/pkgs/development/tools/analysis/snyk/default.nix#L20-L22 @@ -67,14 +67,14 @@ buildGoModule rec { missingHashes = ./missing-hashes.json; offlineCache = yarn-berry_4.fetchYarnBerryDeps { inherit src missingHashes; - hash = "sha256-yLrGllct+AGG/u/E2iX2gog1d/iKNfkYu6GV6Pw6nuc="; + hash = "sha256-Vjr/jyXqHoM/3o49IDJ2aT1s1tMkP90H+2E+yUiviF4="; }; disallowedRequisites = [ offlineCache ]; postPatch = patchGoVersion; - vendorHash = "sha256-dpLcU4ru/wIsxwYAI1qROtYwHJ2WOJSZpIhd9/qMwZo="; + vendorHash = "sha256-Vlao6eNEHtl1+6vAAjDOxINuGxSwAqdi6Hc8oVniTO8="; proxyVendor = true; @@ -158,7 +158,6 @@ buildGoModule rec { maintainers = with maintainers; [ offline fpletz - willibutz globin ma27 Frostman diff --git a/pkgs/servers/monitoring/grafana/plugins/victoriametrics-metrics-datasource/default.nix b/pkgs/servers/monitoring/grafana/plugins/victoriametrics-metrics-datasource/default.nix index 05d0717d8000..37ce8cd0df44 100644 --- a/pkgs/servers/monitoring/grafana/plugins/victoriametrics-metrics-datasource/default.nix +++ b/pkgs/servers/monitoring/grafana/plugins/victoriametrics-metrics-datasource/default.nix @@ -2,8 +2,8 @@ grafanaPlugin { pname = "victoriametrics-metrics-datasource"; - version = "0.14.0"; - zipHash = "sha256-V3sXibYtIZGQh/nBkhwdpIsPF0buoJ16l2ML2s7ijj0="; + version = "0.16.0"; + zipHash = "sha256-Oy++CDFAdG2wlAkxzDKWUX6PVX+t47tZBImUEw+XUho="; meta = { description = "VictoriaMetrics metrics datasource for Grafana"; license = lib.licenses.agpl3Only; diff --git a/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix b/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix index 817ad982def4..a6e4b0b19d0e 100644 --- a/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix @@ -42,7 +42,6 @@ buildGoModule rec { maintainers = with maintainers; [ globin fpletz - willibutz Frostman ma27 ]; diff --git a/pkgs/servers/monitoring/prometheus/dnsmasq-exporter.nix b/pkgs/servers/monitoring/prometheus/dnsmasq-exporter.nix index 9364526b9864..11ce09ab56b4 100644 --- a/pkgs/servers/monitoring/prometheus/dnsmasq-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/dnsmasq-exporter.nix @@ -29,7 +29,6 @@ buildGoModule rec { mainProgram = "dnsmasq_exporter"; license = licenses.asl20; maintainers = with maintainers; [ - willibutz globin ]; # Broken on darwin for Go toolchain > 1.22, with error: diff --git a/pkgs/servers/monitoring/prometheus/json-exporter.nix b/pkgs/servers/monitoring/prometheus/json-exporter.nix index 7a9a6007bed9..f78f6af69716 100644 --- a/pkgs/servers/monitoring/prometheus/json-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/json-exporter.nix @@ -24,7 +24,7 @@ buildGoModule rec { description = "Prometheus exporter which scrapes remote JSON by JSONPath"; homepage = "https://github.com/prometheus-community/json_exporter"; license = licenses.asl20; - maintainers = with maintainers; [ willibutz ]; + maintainers = [ ]; mainProgram = "json_exporter"; }; } diff --git a/pkgs/servers/monitoring/prometheus/knot-exporter.nix b/pkgs/servers/monitoring/prometheus/knot-exporter.nix index 32ba7d411c3f..1710926a6804 100644 --- a/pkgs/servers/monitoring/prometheus/knot-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/knot-exporter.nix @@ -7,20 +7,20 @@ python3.pkgs.buildPythonApplication rec { pname = "knot-exporter"; - version = "3.4.6"; + version = "3.4.7"; pyproject = true; src = fetchPypi { pname = "knot_exporter"; inherit version; - hash = "sha256-OMBg7sjFU3GpVKiXNWVBr4Oa1v4MTr1jZMrR7MhzgVg="; + hash = "sha256-NoPzeDP+0lLq6TKCCacLBQdCkQlFuffcImn3WJMHcwg="; }; - nativeBuildInputs = [ + build-system = [ python3.pkgs.hatchling ]; - propagatedBuildInputs = with python3.pkgs; [ + dependencies = with python3.pkgs; [ libknot prometheus-client psutil @@ -35,7 +35,7 @@ python3.pkgs.buildPythonApplication rec { meta = with lib; { description = "Prometheus exporter for Knot DNS"; homepage = "https://gitlab.nic.cz/knot/knot-dns/-/tree/master/python/knot_exporter"; - license = licenses.gpl3Only; + license = licenses.gpl2Plus; maintainers = with maintainers; [ ma27 hexa diff --git a/pkgs/servers/monitoring/prometheus/mail-exporter.nix b/pkgs/servers/monitoring/prometheus/mail-exporter.nix index 62b9697dca22..695b8753b5cc 100644 --- a/pkgs/servers/monitoring/prometheus/mail-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/mail-exporter.nix @@ -34,7 +34,6 @@ buildGoModule { homepage = "https://github.com/cherti/mailexporter"; license = licenses.gpl3; maintainers = with maintainers; [ - willibutz globin ]; platforms = platforms.linux; diff --git a/pkgs/servers/monitoring/prometheus/mongodb-exporter.nix b/pkgs/servers/monitoring/prometheus/mongodb-exporter.nix index b9f3983d5a56..998902639683 100644 --- a/pkgs/servers/monitoring/prometheus/mongodb-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/mongodb-exporter.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "mongodb_exporter"; - version = "0.44.0"; + version = "0.45.0"; src = fetchFromGitHub { owner = "percona"; repo = "mongodb_exporter"; rev = "v${version}"; - hash = "sha256-FwY4rAmv7P55EGfEHrs0y15BvU3qnq0VHf37R7W2yA4="; + hash = "sha256-rHSILxd0Zl8+3CzaR4c1PBKDjI8P7Tp5A11eTXUdTH0="; }; - vendorHash = "sha256-jF6Of16mMpsCrkvtI3xZcla4/MJGpCX5YVkGM6eFfmo="; + vendorHash = "sha256-CUD6tTcWxLY/oGlRWSWjDcRQw0ecZYcUtGdav/UbctU="; ldflags = [ "-s" diff --git a/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix b/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix index de6e31c91eae..68397cf9b796 100644 --- a/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix @@ -24,7 +24,7 @@ buildGoModule rec { description = "Prometheus exporter for Nextcloud servers"; homepage = "https://github.com/xperimental/nextcloud-exporter"; license = licenses.mit; - maintainers = with maintainers; [ willibutz ]; + maintainers = [ ]; mainProgram = "nextcloud-exporter"; }; } diff --git a/pkgs/servers/monitoring/prometheus/nginx-exporter.nix b/pkgs/servers/monitoring/prometheus/nginx-exporter.nix index ac572fe2f159..137cd38b5ae3 100644 --- a/pkgs/servers/monitoring/prometheus/nginx-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/nginx-exporter.nix @@ -41,7 +41,6 @@ buildGoModule rec { maintainers = with maintainers; [ benley fpletz - willibutz globin ]; }; diff --git a/pkgs/servers/monitoring/prometheus/pgbouncer-exporter.nix b/pkgs/servers/monitoring/prometheus/pgbouncer-exporter.nix index 569e84501099..2b1c4a93a5d8 100644 --- a/pkgs/servers/monitoring/prometheus/pgbouncer-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/pgbouncer-exporter.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "pgbouncer-exporter"; - version = "0.10.2"; + version = "0.11.0"; src = fetchFromGitHub { owner = "prometheus-community"; repo = "pgbouncer_exporter"; rev = "v${version}"; - hash = "sha256-8ChYYJIHdzH2vWxqnzS6sz9fDeLe+Y29fzia3/aBkgc="; + hash = "sha256-YvkD6X2aSXeOW7O5RqAVM1Fo6KE8OCh0+QzgoW8QAVg="; }; - vendorHash = "sha256-PjoS56MdYpDOuSTHHo5lGL9KlWlu3ycA08qim8jrnSU="; + vendorHash = "sha256-IBIJWA/arARPV0ErAQdGJXbPAaryCN22mHwKL08M8QA="; meta = with lib; { description = "Prometheus exporter for PgBouncer"; diff --git a/pkgs/servers/monitoring/prometheus/postfix-exporter.nix b/pkgs/servers/monitoring/prometheus/postfix-exporter.nix index e593a93389ad..9e218e26a439 100644 --- a/pkgs/servers/monitoring/prometheus/postfix-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/postfix-exporter.nix @@ -10,16 +10,16 @@ buildGoModule rec { pname = "postfix_exporter"; - version = "0.9.0"; + version = "0.10.0"; src = fetchFromGitHub { owner = "Hsn723"; repo = "postfix_exporter"; tag = "v${version}"; - sha256 = "sha256-ypwrruekFJXiCNrh2mcEr2mZvaKQrwRpIERE7/L4LHU="; + sha256 = "sha256-z+qQ/5g6RBSDqtDx8H7BZmg12g2TR0+B2WV6XZBGg0w="; }; - vendorHash = "sha256-xtts/HXPaaEWtmqTAZdXOrN4nDR5qMIJzwcxqXAoynU="; + vendorHash = "sha256-eZAB6GlZkSrW/sU5pAUlY4MKm/16bv3cBj+z4ZN4Ugw="; ldflags = [ "-s" @@ -43,7 +43,6 @@ buildGoModule rec { mainProgram = "postfix_exporter"; license = licenses.asl20; maintainers = with maintainers; [ - willibutz globin ]; }; diff --git a/pkgs/servers/monitoring/prometheus/postgres-exporter.nix b/pkgs/servers/monitoring/prometheus/postgres-exporter.nix index d84cb5d931dd..f61099c52c07 100644 --- a/pkgs/servers/monitoring/prometheus/postgres-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/postgres-exporter.nix @@ -44,7 +44,6 @@ buildGoModule rec { maintainers = with maintainers; [ fpletz globin - willibutz ma27 ]; }; diff --git a/pkgs/servers/monitoring/prometheus/pve-exporter.nix b/pkgs/servers/monitoring/prometheus/pve-exporter.nix index 045aa4886e9c..cc8b916dd1ea 100644 --- a/pkgs/servers/monitoring/prometheus/pve-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/pve-exporter.nix @@ -7,11 +7,11 @@ python3.pkgs.buildPythonApplication rec { pname = "prometheus_pve_exporter"; - version = "3.5.4"; + version = "3.5.5"; src = fetchPypi { inherit pname version; - hash = "sha256-eaBjvcnhqgb/FeD/J919T4WjM4Ft9yYYrLtBFFH/CBo="; + hash = "sha256-QFo/gnRF6+mk/xs6vJCxbR64LI3JwrLVwXib6tcEN8g="; }; propagatedBuildInputs = with python3.pkgs; [ diff --git a/pkgs/servers/monitoring/prometheus/redis-exporter.nix b/pkgs/servers/monitoring/prometheus/redis-exporter.nix index eec8e8aa1f5c..1f3289574c08 100644 --- a/pkgs/servers/monitoring/prometheus/redis-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/redis-exporter.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "redis_exporter"; - version = "1.73.0"; + version = "1.74.0"; src = fetchFromGitHub { owner = "oliver006"; repo = "redis_exporter"; rev = "v${version}"; - sha256 = "sha256-yQurt8LCJR/vbnRo1Al6LUPiCSbGNFKmYDi4nFwrlfM="; + sha256 = "sha256-TPMbRyz476ylo6OEYYtLQCNL01dLShnJu0ncVgzL5kY="; }; - vendorHash = "sha256-gp2TRIv3sotQlKd4dJq1B8U2YoKCQirbQUU7SimG2K8="; + vendorHash = "sha256-q/RMdGFwZuFnjE0txb7ShhHlxLpLNF5S6KmmAKKYnaE="; ldflags = [ "-X main.BuildVersion=${version}" diff --git a/pkgs/servers/monitoring/zabbix/versions.nix b/pkgs/servers/monitoring/zabbix/versions.nix index 4cd732fe12b4..62688d27b2f0 100644 --- a/pkgs/servers/monitoring/zabbix/versions.nix +++ b/pkgs/servers/monitoring/zabbix/versions.nix @@ -4,8 +4,8 @@ generic: { hash = "sha256-DQGzk90isqYLNvs3qY/PEIHGg62Ygyot3YeUOhIAg54="; }; v70 = generic { - version = "7.0.13"; - hash = "sha256-2e9/HPsL3lZY2rsigIIPnOHPMyV/rHn0DwM3Org60Xw="; + version = "7.0.14"; + hash = "sha256-/otU7tnjoF3UXPSxoqpjv9wRR+h0DeioeMyu+tHttv8="; }; v60 = generic { version = "6.0.36"; diff --git a/pkgs/servers/mpd/default.nix b/pkgs/servers/mpd/default.nix index 3ec05f243fa9..28b9e2b5cbaa 100644 --- a/pkgs/servers/mpd/default.nix +++ b/pkgs/servers/mpd/default.nix @@ -38,6 +38,7 @@ soxr, # Outputs alsa-lib, + libao, libjack2, libpulseaudio, libshout, @@ -112,6 +113,7 @@ let soxr = [ soxr ]; # Output plugins alsa = [ alsa-lib ]; + ao = [ libao ]; jack = [ libjack2 ]; pipewire = [ pipewire ]; pulse = [ libpulseaudio ]; @@ -262,7 +264,9 @@ let ] ++ map (x: "-D${x}=enabled") features_ ++ map (x: "-D${x}=disabled") (lib.subtractLists features_ knownFeatures) - ++ lib.optional (builtins.elem "zeroconf" features_) "-Dzeroconf=avahi" + ++ lib.optional (builtins.elem "zeroconf" features_) ( + "-Dzeroconf=" + (if stdenv.hostPlatform.isDarwin then "bonjour" else "avahi") + ) ++ lib.optional (builtins.elem "systemd" features_) "-Dsystemd_system_unit_dir=etc/systemd/system" ++ lib.optional (builtins.elem "qobuz" features_) "-Dnlohmann_json=enabled"; diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix index 4764a92e246e..17b4805878c3 100644 --- a/pkgs/servers/nextcloud/default.nix +++ b/pkgs/servers/nextcloud/default.nix @@ -59,14 +59,14 @@ let in { nextcloud30 = generic { - version = "30.0.11"; - hash = "sha256-WEJ3LV1xLxBdyPFdZ4hFnmFEuDbMiKBiyQU3CiZUN3o="; + version = "30.0.12"; + hash = "sha256-nhmyX0InPUNhIYQmtHYqdmvuQIz6aqghn4wn9yCVp6g="; packages = nextcloud30Packages; }; nextcloud31 = generic { - version = "31.0.5"; - hash = "sha256-Iii49STc2H8IoqkoHUGwT1y1ALdiS8jI4HuOMDkGFQM="; + version = "31.0.6"; + hash = "sha256-pqvOG+hK5lCQYliV7leWxuYx/RDLF2RexNc/fZs3Jig="; packages = nextcloud31Packages; }; diff --git a/pkgs/servers/nextcloud/packages/30.json b/pkgs/servers/nextcloud/packages/30.json index 0d8173a54e09..c8cd08989241 100644 --- a/pkgs/servers/nextcloud/packages/30.json +++ b/pkgs/servers/nextcloud/packages/30.json @@ -20,19 +20,19 @@ ] }, "calendar": { - "hash": "sha256-z/BMKay9Fj+aIypPA9cbEJ6dcB03oGPhy2TSGHJeRz0=", - "url": "https://github.com/nextcloud-releases/calendar/releases/download/v5.2.4/calendar-v5.2.4.tar.gz", - "version": "5.2.4", - "description": "The Calendar app is a user interface for Nextcloud's CalDAV server. Easily sync events from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Currently Contacts - more to come.\n* 🌐 **WebCal Support!** Want to see your favorite team’s matchdays in your calendar? No problem!\n* 🙋 **Attendees!** Invite people to your events\n* ⌚️ **Free/Busy!** See when your attendees are available to meet\n* ⏰ **Reminders!** Get alarms for events inside your browser and via email\n* 🔍 Search! Find your events at ease\n* ☑️ Tasks! See tasks with a due date directly in the calendar\n* 🙈 **We’re not reinventing the wheel!** Based on the great [c-dav library](https://github.com/nextcloud/cdav-library), [ical.js](https://github.com/mozilla-comm/ical.js) and [fullcalendar](https://github.com/fullcalendar/fullcalendar) libraries.", + "hash": "sha256-vsqyTtHDTjB4POwQyDtlAPnb8nBQw0ZTBnBUqP4Kw9A=", + "url": "https://github.com/nextcloud-releases/calendar/releases/download/v5.3.2/calendar-v5.3.2.tar.gz", + "version": "5.3.2", + "description": "A Calendar app for Nextcloud. Easily sync events from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Like Contacts, Talk, Tasks, Deck and Circles\n* 🌐 **WebCal Support!** Want to see your favorite team's matchdays in your calendar? No problem!\n* 🙋 **Attendees!** Invite people to your events\n* ⌚ **Free/Busy!** See when your attendees are available to meet\n* ⏰ **Reminders!** Get alarms for events inside your browser and via email\n* 🔍 **Search!** Find your events at ease\n* ☑️ **Tasks!** See tasks or Deck cards with a due date directly in the calendar\n* 🔈 **Talk rooms!** Create an associated Talk room when booking a meeting with just one click\n* 📆 **Appointment booking** Send people a link so they can book an appointment with you [using this app](https://apps.nextcloud.com/apps/appointments)\n* 📎 **Attachments!** Add, upload and view event attachments\n* 🙈 **We’re not reinventing the wheel!** Based on the great [c-dav library](https://github.com/nextcloud/cdav-library), [ical.js](https://github.com/mozilla-comm/ical.js) and [fullcalendar](https://github.com/fullcalendar/fullcalendar) libraries.", "homepage": "https://github.com/nextcloud/calendar/", "licenses": [ "agpl" ] }, "collectives": { - "hash": "sha256-U6EQumuN7b309JtaWwdbluQcK7Gpt5O6q9fJu6qyVhE=", - "url": "https://github.com/nextcloud/collectives/releases/download/v2.17.0/collectives-2.17.0.tar.gz", - "version": "2.17.0", + "hash": "sha256-RCpIfoSmYahIo03IumJwEn/06ZeqOhJ/ov5WKGvwcUA=", + "url": "https://github.com/nextcloud/collectives/releases/download/v2.18.0/collectives-2.18.0.tar.gz", + "version": "2.18.0", "description": "Collectives is a Nextcloud App for activist and community projects to organize together.\nCome and gather in collectives to build shared knowledge.\n\n* 👥 **Collective and non-hierarchical workflow by heart**: Collectives are\n tied to a [Nextcloud Team](https://github.com/nextcloud/circles) and\n owned by the collective.\n* 📝 **Collaborative page editing** like known from Etherpad thanks to the\n [Text app](https://github.com/nextcloud/text).\n* 🔤 **Well-known [Markdown](https://en.wikipedia.org/wiki/Markdown) syntax**\n for page formatting.\n\n## Installation\n\nIn your Nextcloud instance, simply navigate to **»Apps«**, find the\n**»Teams«** and **»Collectives«** apps and enable them.", "homepage": "https://github.com/nextcloud/collectives", "licenses": [ @@ -40,9 +40,9 @@ ] }, "contacts": { - "hash": "sha256-OYObGIEAViBMWesL/kNv4FHO7SSa73rdVjklwuyPSrY=", - "url": "https://github.com/nextcloud-releases/contacts/releases/download/v7.1.0/contacts-v7.1.0.tar.gz", - "version": "7.1.0", + "hash": "sha256-uT1QOZpuKvsrnZWYbaQUhUdM49xdIivotFe6FAz330I=", + "url": "https://github.com/nextcloud-releases/contacts/releases/download/v7.1.3/contacts-v7.1.3.tar.gz", + "version": "7.1.3", "description": "The Nextcloud contacts app is a user interface for Nextcloud's CardDAV server. Easily sync contacts from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Currently Mail and Calendar – more to come.\n* 🎉 **Never forget a birthday!** You can sync birthdays and other recurring events with your Nextcloud Calendar.\n* 👥 **Sharing of Adressbooks!** You want to share your contacts with your friends or coworkers? No problem!\n* 🙈 **We’re not reinventing the wheel!** Based on the great and open SabreDAV library.", "homepage": "https://github.com/nextcloud/contacts#readme", "licenses": [ @@ -83,7 +83,7 @@ "hash": "sha256-ZPVvr84WTiZRobgWeagHCYxpfoVyRQgF8YIbwUoDpWo=", "url": "https://github.com/nextcloud-releases/end_to_end_encryption/releases/download/v1.16.2/end_to_end_encryption-v1.16.2.tar.gz", "version": "1.16.2", - "description": "This app provides all the necessary APIs to implement End-to-End encryption on the client side.\nAdditionally it implements Secure FileDrop and makes sure that End-to-End encrypted files are neither accessible via the web interface nor other WebDAV clients.", + "description": "Provides the necessary endpoint to enable end-to-end encryption.\n\n**Notice:** E2EE is currently not compatible to be used together with server-side encryption", "homepage": "https://github.com/nextcloud/end_to_end_encryption", "licenses": [ "agpl" @@ -190,9 +190,9 @@ ] }, "mail": { - "hash": "sha256-uDig7ySWlx7WqYzjB9H45p3a9EfUFxY3Es0dso6uQJs=", - "url": "https://github.com/nextcloud-releases/mail/releases/download/v5.0.7/mail-v5.0.7.tar.gz", - "version": "5.0.7", + "hash": "sha256-P2LeJOjCR6ufq26gz4aK/Xy359vwnD2TZJodn/YfXcU=", + "url": "https://github.com/nextcloud-releases/mail/releases/download/v5.1.3/mail-v5.1.3.tar.gz", + "version": "5.1.3", "description": "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](https://www.horde.org) libraries.\n- **📬 Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!\n\n## Ethical AI Rating\n\n### Priority Inbox\n\nPositive:\n* The software for training and inferencing of this model is open source.\n* The model is created and trained on-premises based on the user's own data.\n* The training data is accessible to the user, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n### Thread Summaries (opt-in)\n\n**Rating:** 🟢/🟡/🟠/🔴\n\nThe rating depends on the installed text processing backend. See [the rating overview](https://docs.nextcloud.com/server/latest/admin_manual/ai/index.html) for details.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).", "homepage": "https://github.com/nextcloud/mail#readme", "licenses": [ @@ -230,19 +230,29 @@ ] }, "news": { - "hash": "sha256-trXnDSSFyr5HKXaS1S3XrlSAUiiT+8B+kP0lg+exLcs=", - "url": "https://github.com/nextcloud/news/releases/download/25.3.1/news.tar.gz", - "version": "25.3.1", + "hash": "sha256-T/ZKL4YWw0ai7mZ9gm91BUl6Md6hyTakYgKsarSYO4k=", + "url": "https://github.com/nextcloud/news/releases/download/26.0.1/news.tar.gz", + "version": "26.0.1", "description": "📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)", "homepage": "https://github.com/nextcloud/news", "licenses": [ "agpl" ] }, + "nextpod": { + "hash": "sha256-yQD4e5R6ZfBQkEsPVpddGMLDVOlV6HSVZjttgUjEdro=", + "url": "https://github.com/pbek/nextcloud-nextpod/releases/download/v0.7.7/nextpod-nc.tar.gz", + "version": "0.7.7", + "description": "This Nextcloud app lets you visualize your podcast subscriptions and episode downloads from\n[GPodderSync](https://apps.nextcloud.com/apps/gpoddersync), which acts as a basic gpodder.net\napi to sync podcast consumer apps (podcatchers) like AntennaPod.\n\nYou need to have [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) installed to use this app!", + "homepage": "https://github.com/pbek/nextcloud-nextpod", + "licenses": [ + "agpl" + ] + }, "notes": { - "hash": "sha256-UdqK6DiC67YPcy84wFEZaT8AQLDhhNndLiEesQeBY7M=", - "url": "https://github.com/nextcloud-releases/notes/releases/download/v4.12.0/notes-v4.12.0.tar.gz", - "version": "4.12.0", + "hash": "sha256-/Zym7bNotcdradtR3cG+rIaAH9jZs+/3PCP7zXS6WJo=", + "url": "https://github.com/nextcloud-releases/notes/releases/download/v4.12.1/notes-v4.12.1.tar.gz", + "version": "4.12.1", "description": "The Notes app is a distraction free notes taking app for [Nextcloud](https://www.nextcloud.com/). It provides categories for better organization and supports formatting using [Markdown](https://en.wikipedia.org/wiki/Markdown) syntax. Notes are saved as files in your Nextcloud, so you can view and edit them with every Nextcloud client. Furthermore, a separate [REST API](https://github.com/nextcloud/notes/blob/master/docs/api/README.md) allows for an easy integration into apps ([Android](https://github.com/nextcloud/notes-android), [iOS](https://github.com/nextcloud/notes-ios), as well as [3rd-party apps](https://github.com/nextcloud/notes/wiki#3rd-party-clients) which allow convenient access to your Nextcloud notes). Further features include marking notes as favorites.", "homepage": "https://github.com/nextcloud/notes", "licenses": [ @@ -260,9 +270,9 @@ ] }, "onlyoffice": { - "hash": "sha256-lOkVGOo2ylTaRVDFGD31DMUb3IbteWgFkHEj0Ox0D84=", - "url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v9.8.0/onlyoffice.tar.gz", - "version": "9.8.0", + "hash": "sha256-Nj8siAeNyN/lyq+K5y92ZXMqRLmhawtR9Q6b5dq7LL0=", + "url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v9.9.0/onlyoffice.tar.gz", + "version": "9.9.0", "description": "ONLYOFFICE app allows you to view, edit and collaborate on text documents, spreadsheets and presentations within Nextcloud using ONLYOFFICE Docs. This will create a new Edit in ONLYOFFICE action within the document library for Office documents. This allows multiple users to co-author documents in real time from the familiar web interface and save the changes back to your file storage.", "homepage": "https://www.onlyoffice.com", "licenses": [ @@ -280,9 +290,9 @@ ] }, "polls": { - "hash": "sha256-zatPm8JY1WkeO2Uvm9BUVPXrJp0df12jspqSNNuZVh0=", - "url": "https://github.com/nextcloud-releases/polls/releases/download/v7.4.2/polls-v7.4.2.tar.gz", - "version": "7.4.2", + "hash": "sha256-AJUC5UIz6xY75cEJHfNjhUm9K9HnXWMokt9gIOcq8vI=", + "url": "https://github.com/nextcloud-releases/polls/releases/download/v7.4.3/polls-v7.4.3.tar.gz", + "version": "7.4.3", "description": "A polls app, similar to Doodle/Dudle with the possibility to restrict access (members, certain groups/users, hidden and public).", "homepage": "https://github.com/nextcloud/polls", "licenses": [ @@ -340,19 +350,19 @@ ] }, "sociallogin": { - "hash": "sha256-DNf48YmVJ49v+lynTCIBTZhPi/S1mjyIF5OWf+UVKeY=", - "url": "https://github.com/zorn-v/nextcloud-social-login/releases/download/v6.0.1/release.tar.gz", - "version": "6.0.1", - "description": "# Social login\n\nMake possible create users and login via Telegram, OAuth or OpenID\n\nFor OAuth you must create app for certain providers. Login button appear at login page if app id specified. Settings are in \"Social login\" section of settings page.\n\n## Installation\n\nLogin to your NextCloud installation as an administrator and under \"Apps\" click \"Download and enable\" next to the \"Social Login\" app.\n\nSee below for setup and configuration instructions.\n\n\n\n## Custom OAuth2/OIDC groups\n\nYou can use groups from your custom provider. For that you should specify \"Groups claim\" in custom OAuth2/OIDC provider settings. That claim should be returned from provider in `id_token` or at user info endpoint. Format should be `array` or comma separated string. Eg (with claim named `roles`)\n\n```json\n{\"roles\": [\"admin\", \"user\"]}\n```\nor\n```json\n{\"roles\": \"admin,user\"}\n```\n\nAlso nested claims is supported. For example `resource_access.client-id.roles` for\n\n```json\n\"resource_access\": {\n \"client-id\": {\n \"roles\": [\n \"client-role-1\",\n \"client-role-2\"\n ]\n }\n}\n```\n\nThere is also support for setting the displayName:\n```\n{\"roles\": [{gid: 1, displayName: \"admin\"}, {gid: 2, displayName: \"user\"}]}\n```\n\n\nYou can use provider groups in two ways:\n\n1. Map provider groups to existing nextcloud groups\n2. Create provider groups in nextcloud and associate it to user (if appropriate option specified)\n\nIf you want sync groups on every login do not forget to check \"Update user profile every login\" setting\n\n## Examples for groups\n\n* You can find example how to configure WSO2IS for return roles claim with OIDC [here](https://medium.com/@dewni.matheesha/claim-mapping-and-retrieving-end-user-information-in-wso2is-cffd5f3937ff)\n* [GitLab OIDC allowing specific GitLab groups](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/gitlab.md)\n\n## Built-in OAuth providers\n\nYou can copy link of certain login button to get proper \"redirect url\" for OAuth app setting.\n\n* [Google](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/google.md)\n* [Amazon](https://developer.amazon.com/loginwithamazon/console/site/lwa/overview.html)\n* [Facebook](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/facebook.md)\n* [Twitter](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/twitter.md)\n* [GitHub](https://github.com/settings/developers)\n* [Discord](#configure-discord)\n* [Telegram](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/telegram.md)\n* PlexTv - you can use any title as app id\n* [Codeberg](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/codeberg.md)\n\nDetails about \"Allow login only from specified domain\" google setting you can find here [#44](https://github.com/zorn-v/nextcloud-social-login/issues/44)\nYou can use comma separated list for multiple domains\n\n## Config\n\nYou can use `'social_login_auto_redirect' => true` setting in `config.php` for auto redirect unauthorized users to social login if only one provider is configured.\nIf you want to temporary disable this function (e.g. for login as local admin), you can add `noredir=1` query parameter in url for login page. Something like `https://cloud.domain.com/login?noredir=1`\n\nTo set options for http client, you can use\n```php\n 'social_login_http_client' => [\n 'timeout' => 45,\n 'proxy' => 'socks4://127.0.0.1:9050', // Check https://curl.se/libcurl/c/CURLOPT_PROXY.html for allowed variants\n ],\n```\nin `config.php`\n\n### Configurate a provider via CLI\n\nYou can configure everything from commandline by using the occ utility. To setup a oidc-provider replace the variables and URLs with values that match your deployment.\n```bash\nphp occ config:app:set sociallogin custom_providers --value='{\"custom_oidc\": [{\"name\": \"gitlab_oidc\", \"title\": \"Gitlab\", \"authorizeUrl\": \"https://gitlab.my-domain.org/oauth/authorize\", \"tokenUrl\": \"https://gitlab.my-domain.org/oauth/token\", \"userInfoUrl\": \"https://gitlab.my-domain.org/oauth/userinfo\", \"logoutUrl\": \"\", \"clientId\": \"$my_application_id\", \"clientSecret\": \"$my_super_secret_secret\", \"scope\": \"openid\", \"groupsClaim\": \"groups\", \"style\": \"gitlab\", \"defaultGroup\": \"\"}]}'\n```\nto do this with docker you just need to add `docker exec -t -uwww-data CONTAINER_NAME` in front of the command, or run it interactively from `docker exec -it -uwww-data CONTAINER_NAME sh`\n\nTo find out how to configure other providers, just configure them in the GUI and take a look at the database afterwards:\n```\nmysql -u nextcloud -p nextcloud\nPassword: \n\n> SELECT * FROM oc_appconfig WHERE appid='sociallogin';\n```\n\nOr just run\n\n`docker exec -t -uwww-data CONTAINER_NAME php occ config:app:get sociallogin custom_providers`\n\n### Configure Discord\n\nTo properly configure discord you have to:\n\n1. Create new discord application on [DiscordApp developers](https://discordapp.com/developers/applications/me#top)\n2. Open tab `Settings -> OAuth2 -> General`. In `Redirects` add new redirection link looking like this: `https://nextcloud.mydomain.com/apps/sociallogin/oauth/discord`.\n3. Copy `CLIENT ID` and generate and copy `CLIENT SECRET`\n4. Open in Nextcloud `Settings -> Social Login` and paste `CLIENT ID` into field `App id` and `CLIENT SECRET` into `Secret`.\n5. Select default group for users created this way.\n6. For group mapping check [#395](https://github.com/zorn-v/nextcloud-social-login/pull/395)\n\n## Hint\n\n### About Callback(Reply) Url\nYou can copy link from specific login button on login page and paste it on provider's website as callback url. To make proper button visible, just fill certain provider settings with random data and change it later.\n\nSome users may get strange reply(Callback) url error from provider even if you pasted the right url, that's because your nextcloud server may generate http urls when you are actually using https.\nPlease set 'overwriteprotocol' => 'https', in your config.php file.", + "hash": "sha256-wNDmu4IdpjZSw3ppWJpQ13q7/2l5B71m76Lzs/SHkkY=", + "url": "https://github.com/zorn-v/nextcloud-social-login/releases/download/v6.0.2/release.tar.gz", + "version": "6.0.2", + "description": "# Social Login\n\nMake it possible to create users and log in via Telegram, OAuth, or OpenID.\n\nFor OAuth, you must create an app with certain providers. Login buttons will appear on the login page if an app ID is specified. Settings are located in the \"Social login\" section of the settings page.\n\n## Installation\n\nLog in to your Nextcloud installation as an administrator. Under \"Apps\", click \"Download and enable\" next to the \"Social Login\" app.\n\nSee below for setup and configuration instructions.\n\n## Custom OAuth2/OIDC Groups\n\nYou can use groups from your custom provider. For this, specify the \"Groups claim\" in the custom OAuth2/OIDC provider settings. This claim should be returned from the provider in the `id_token` or at the user info endpoint. The format should be an `array` or a comma-separated string. E.g., (with a claim named `roles`):\n\n```json\n{\"roles\": [\"admin\", \"user\"]}\n```\nor\n```json\n{\"roles\": \"admin,user\"}\n```\n\nNested claims are also supported. For example, `resource_access.client-id.roles` for:\n\n```json\n\"resource_access\": {\n \"client-id\": {\n \"roles\": [\n \"client-role-1\",\n \"client-role-2\"\n ]\n }\n}\n```\n\n**DisplayName** support is also available:\n```json\n{\"roles\": [{\"gid\": 1, \"displayName\": \"admin\"}, {\"gid\": 2, \"displayName\": \"user\"}]}\n```\n\nYou can use provider groups in two ways:\n\n1. Map provider groups to existing Nextcloud groups.\n2. Create provider groups in Nextcloud and associate them with users (if the appropriate option is enabled).\n\nTo sync groups on every login, ensure the \"Update user profile every login\" setting is checked.\n\n## Examples for Groups\n\n* Configure WSO2IS to return a roles claim with OIDC [here](https://medium.com/@dewni.matheesha/claim-mapping-and-retrieving-end-user-information-in-wso2is-cffd5f3937ff).\n* [GitLab OIDC configuration to allow specific GitLab groups](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/gitlab.md).\n\n## Built-in OAuth Providers\n\nCopy the link from a specific login button to get the correct \"redirect URL\" for OAuth app settings.\n\n* [Amazon](https://developer.amazon.com/loginwithamazon/console/site/lwa/overview.html)\n* [Apple](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/apple.md)\n* [Codeberg](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/codeberg.md)\n* [Discord](#configure-discord)\n* [Facebook](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/facebook.md)\n* [GitHub](https://github.com/settings/developers)\n* [GitLab](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/gitlab.md)\n* [Google](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/google.md)\n* [Keycloak](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/keycloak.md)\n* [Mail.ru](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/mailru.md)\n* **PlexTv**: Use any title as the app ID.\n* [Telegram](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/telegram.md)\n* [Twitter](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/twitter.md)\n\nFor details about Google's \"Allow login only from specified domain\" setting, see [#44](https://github.com/zorn-v/nextcloud-social-login/issues/44). Use a comma-separated list for multiple domains.\n\n## Configuration\n\nAdd `'social_login_auto_redirect' => true` to `config.php` to automatically redirect unauthorized users to social login if only one provider is configured. To temporarily disable this (e.g., for local admin login), add `noredir=1` to the login URL: `https://cloud.domain.com/login?noredir=1`.\n\nConfigure HTTP client options using:\n```php\n 'social_login_http_client' => [\n 'timeout' => 45,\n 'proxy' => 'socks4://127.0.0.1:9050', // See for allowed formats\n ],\n```\nin `config.php`.\n\n### Configure a Provider via CLI\n\nUse the `occ` utility to configure providers via the command line. Replace variables and URLs with your deployment values:\n```bash\nphp occ config:app:set sociallogin custom_providers --value='{\"custom_oidc\": [{\"name\": \"gitlab_oidc\", \"title\": \"Gitlab\", \"authorizeUrl\": \"https://gitlab.my-domain.org/oauth/authorize\", \"tokenUrl\": \"https://gitlab.my-domain.org/oauth/token\", \"userInfoUrl\": \"https://gitlab.my-domain.org/oauth/userinfo\", \"logoutUrl\": \"\", \"clientId\": \"$my_application_id\", \"clientSecret\": \"$my_super_secret_secret\", \"scope\": \"openid\", \"groupsClaim\": \"groups\", \"style\": \"gitlab\", \"defaultGroup\": \"\"}]}'\n```\nFor Docker, prepend `docker exec -t -uwww-data CONTAINER_NAME` to the command or run interactively via `docker exec -it -uwww-data CONTAINER_NAME sh`.\n\nTo inspect configurations:\n```sql\nmysql -u nextcloud -p nextcloud\nPassword: \n\n> SELECT * FROM oc_appconfig WHERE appid='sociallogin';\n```\nOr run:\n```bash\ndocker exec -t -uwww-data CONTAINER_NAME php occ config:app:get sociallogin custom_providers\n```\n\n### Configure Discord\n\n1. Create a Discord application at [Discord Developer Portal](https://discord.com/developers/applications).\n2. Navigate to `Settings > OAuth2 > General`. Add a redirect URL: `https://nextcloud.mydomain.com/apps/sociallogin/oauth/discord`.\n3. Copy the `CLIENT ID` and generate a `CLIENT SECRET`.\n4. In Nextcloud, go to `Settings > Social Login`. Paste the `CLIENT ID` into \"App id\" and `CLIENT SECRET` into \"Secret\".\n5. Select a default group for new users.\n6. For group mapping, see [#395](https://github.com/zorn-v/nextcloud-social-login/pull/395).\n\n## Hint\n\n### Callback (Reply) URL\nCopy the link from a login button on the Nextcloud login page and use it as the callback URL on your provider's site. To make the button visible temporarily, fill provider settings with placeholder data and update later.\n\nIf you encounter callback URL errors despite correct settings, ensure your Nextcloud server generates HTTPS URLs by adding `'overwriteprotocol' => 'https'` to `config.php`.", "homepage": "https://github.com/zorn-v/nextcloud-social-login", "licenses": [ "agpl" ] }, "spreed": { - "hash": "sha256-KldJD49vxL1cRxsS8eOXTc0uYfj8ctChEwYMKicfJgY=", - "url": "https://github.com/nextcloud-releases/spreed/releases/download/v20.1.6/spreed-v20.1.6.tar.gz", - "version": "20.1.6", + "hash": "sha256-C3TLD6tZa++H6Kg0X5gz2kyJQVitXJoQ5rUccyX4N8w=", + "url": "https://github.com/nextcloud-releases/spreed/releases/download/v20.1.7/spreed-v20.1.7.tar.gz", + "version": "20.1.7", "description": "Chat, video & audio-conferencing using WebRTC\n\n* 💬 **Chat** Nextcloud Talk comes with a simple text chat, allowing you to share or upload files from your Nextcloud Files app or local device and mention other participants.\n* 👥 **Private, group, public and password protected calls!** Invite someone, a whole group or send a public link to invite to a call.\n* 🌐 **Federated chats** Chat with other Nextcloud users on their servers\n* 💻 **Screen sharing!** Share your screen with the participants of your call.\n* 🚀 **Integration with other Nextcloud apps** like Files, Calendar, User status, Dashboard, Flow, Maps, Smart picker, Contacts, Deck, and many more.\n* 🌉 **Sync with other chat solutions** With [Matterbridge](https://github.com/42wim/matterbridge/) being integrated in Talk, you can easily sync a lot of other chat solutions to Nextcloud Talk and vice-versa.", "homepage": "https://github.com/nextcloud/spreed", "licenses": [ @@ -380,9 +390,9 @@ ] }, "twofactor_webauthn": { - "hash": "sha256-16Silofm/alQaKZ2buNqyLEjKK2kR2IpTAxEawHpGjI=", - "url": "https://github.com/nextcloud-releases/twofactor_webauthn/releases/download/v2.1.0/twofactor_webauthn-v2.1.0.tar.gz", - "version": "2.1.0", + "hash": "sha256-cfityMvl6BLsxkGkR3Mm61AZsykC7KjDkDRIyFAQP4c=", + "url": "https://github.com/nextcloud-releases/twofactor_webauthn/releases/download/v2.2.0/twofactor_webauthn-v2.2.0.tar.gz", + "version": "2.2.0", "description": "A two-factor provider for WebAuthn devices", "homepage": "https://github.com/nextcloud/twofactor_webauthn#readme", "licenses": [ @@ -400,9 +410,9 @@ ] }, "unsplash": { - "hash": "sha256-hUKpIGvu7aX45Pz/xCssOuyZ7E+kJ4cmqhhycX5DG6A=", - "url": "https://github.com/nextcloud/unsplash/releases/download/v3.0.3/unsplash.tar.gz", - "version": "3.0.3", + "hash": "sha256-j0cQem+KLQFxj19DIqK6wqYYDs31V1VfVobH5JZ89RM=", + "url": "https://github.com/nextcloud-releases/unsplash/releases/download/v3.1.0/unsplash-v3.1.0.tar.gz", + "version": "3.1.0", "description": "Show a new random featured nature photo in your nextcloud. Now with choosable motives!", "homepage": "https://github.com/nextcloud/unsplash/", "licenses": [ diff --git a/pkgs/servers/nextcloud/packages/31.json b/pkgs/servers/nextcloud/packages/31.json index baaaf516b433..e9f37dbdf021 100644 --- a/pkgs/servers/nextcloud/packages/31.json +++ b/pkgs/servers/nextcloud/packages/31.json @@ -20,19 +20,19 @@ ] }, "calendar": { - "hash": "sha256-z/BMKay9Fj+aIypPA9cbEJ6dcB03oGPhy2TSGHJeRz0=", - "url": "https://github.com/nextcloud-releases/calendar/releases/download/v5.2.4/calendar-v5.2.4.tar.gz", - "version": "5.2.4", - "description": "The Calendar app is a user interface for Nextcloud's CalDAV server. Easily sync events from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Currently Contacts - more to come.\n* 🌐 **WebCal Support!** Want to see your favorite team’s matchdays in your calendar? No problem!\n* 🙋 **Attendees!** Invite people to your events\n* ⌚️ **Free/Busy!** See when your attendees are available to meet\n* ⏰ **Reminders!** Get alarms for events inside your browser and via email\n* 🔍 Search! Find your events at ease\n* ☑️ Tasks! See tasks with a due date directly in the calendar\n* 🙈 **We’re not reinventing the wheel!** Based on the great [c-dav library](https://github.com/nextcloud/cdav-library), [ical.js](https://github.com/mozilla-comm/ical.js) and [fullcalendar](https://github.com/fullcalendar/fullcalendar) libraries.", + "hash": "sha256-vsqyTtHDTjB4POwQyDtlAPnb8nBQw0ZTBnBUqP4Kw9A=", + "url": "https://github.com/nextcloud-releases/calendar/releases/download/v5.3.2/calendar-v5.3.2.tar.gz", + "version": "5.3.2", + "description": "A Calendar app for Nextcloud. Easily sync events from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Like Contacts, Talk, Tasks, Deck and Circles\n* 🌐 **WebCal Support!** Want to see your favorite team's matchdays in your calendar? No problem!\n* 🙋 **Attendees!** Invite people to your events\n* ⌚ **Free/Busy!** See when your attendees are available to meet\n* ⏰ **Reminders!** Get alarms for events inside your browser and via email\n* 🔍 **Search!** Find your events at ease\n* ☑️ **Tasks!** See tasks or Deck cards with a due date directly in the calendar\n* 🔈 **Talk rooms!** Create an associated Talk room when booking a meeting with just one click\n* 📆 **Appointment booking** Send people a link so they can book an appointment with you [using this app](https://apps.nextcloud.com/apps/appointments)\n* 📎 **Attachments!** Add, upload and view event attachments\n* 🙈 **We’re not reinventing the wheel!** Based on the great [c-dav library](https://github.com/nextcloud/cdav-library), [ical.js](https://github.com/mozilla-comm/ical.js) and [fullcalendar](https://github.com/fullcalendar/fullcalendar) libraries.", "homepage": "https://github.com/nextcloud/calendar/", "licenses": [ "agpl" ] }, "collectives": { - "hash": "sha256-U6EQumuN7b309JtaWwdbluQcK7Gpt5O6q9fJu6qyVhE=", - "url": "https://github.com/nextcloud/collectives/releases/download/v2.17.0/collectives-2.17.0.tar.gz", - "version": "2.17.0", + "hash": "sha256-RCpIfoSmYahIo03IumJwEn/06ZeqOhJ/ov5WKGvwcUA=", + "url": "https://github.com/nextcloud/collectives/releases/download/v2.18.0/collectives-2.18.0.tar.gz", + "version": "2.18.0", "description": "Collectives is a Nextcloud App for activist and community projects to organize together.\nCome and gather in collectives to build shared knowledge.\n\n* 👥 **Collective and non-hierarchical workflow by heart**: Collectives are\n tied to a [Nextcloud Team](https://github.com/nextcloud/circles) and\n owned by the collective.\n* 📝 **Collaborative page editing** like known from Etherpad thanks to the\n [Text app](https://github.com/nextcloud/text).\n* 🔤 **Well-known [Markdown](https://en.wikipedia.org/wiki/Markdown) syntax**\n for page formatting.\n\n## Installation\n\nIn your Nextcloud instance, simply navigate to **»Apps«**, find the\n**»Teams«** and **»Collectives«** apps and enable them.", "homepage": "https://github.com/nextcloud/collectives", "licenses": [ @@ -40,9 +40,9 @@ ] }, "contacts": { - "hash": "sha256-OYObGIEAViBMWesL/kNv4FHO7SSa73rdVjklwuyPSrY=", - "url": "https://github.com/nextcloud-releases/contacts/releases/download/v7.1.0/contacts-v7.1.0.tar.gz", - "version": "7.1.0", + "hash": "sha256-uT1QOZpuKvsrnZWYbaQUhUdM49xdIivotFe6FAz330I=", + "url": "https://github.com/nextcloud-releases/contacts/releases/download/v7.1.3/contacts-v7.1.3.tar.gz", + "version": "7.1.3", "description": "The Nextcloud contacts app is a user interface for Nextcloud's CardDAV server. Easily sync contacts from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Currently Mail and Calendar – more to come.\n* 🎉 **Never forget a birthday!** You can sync birthdays and other recurring events with your Nextcloud Calendar.\n* 👥 **Sharing of Adressbooks!** You want to share your contacts with your friends or coworkers? No problem!\n* 🙈 **We’re not reinventing the wheel!** Based on the great and open SabreDAV library.", "homepage": "https://github.com/nextcloud/contacts#readme", "licenses": [ @@ -83,7 +83,7 @@ "hash": "sha256-Wojv/UzDT9v9bVaC8K7GqaQYVTE4GoRG2ztHALZktLk=", "url": "https://github.com/nextcloud-releases/end_to_end_encryption/releases/download/v1.17.0/end_to_end_encryption-v1.17.0.tar.gz", "version": "1.17.0", - "description": "This app provides all the necessary APIs to implement End-to-End encryption on the client side.\nAdditionally it implements Secure FileDrop and makes sure that End-to-End encrypted files are neither accessible via the web interface nor other WebDAV clients.", + "description": "Provides the necessary endpoint to enable end-to-end encryption.\n\n**Notice:** E2EE is currently not compatible to be used together with server-side encryption", "homepage": "https://github.com/nextcloud/end_to_end_encryption", "licenses": [ "agpl" @@ -140,9 +140,9 @@ ] }, "groupfolders": { - "hash": "sha256-lFIXNbBqdRHEvNFu2P68IF4v0+E4rFWLdRJYWm3RM/k=", - "url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v19.0.4/groupfolders-v19.0.4.tar.gz", - "version": "19.0.4", + "hash": "sha256-GEM5Xw8J2xFOTf9AOlOttVXo25E/x4foT9493J9ZIf4=", + "url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v19.1.0/groupfolders-v19.1.0.tar.gz", + "version": "19.1.0", "description": "Admin configured folders shared with everyone in a team.\n\nFolders can be configured from *Team folders* in the admin settings.\n\nAfter a folder is created, the admin can give access to the folder to one or more teams, control their write/sharing permissions and assign a quota for the folder.", "homepage": "https://github.com/nextcloud/groupfolders", "licenses": [ @@ -190,9 +190,9 @@ ] }, "mail": { - "hash": "sha256-uDig7ySWlx7WqYzjB9H45p3a9EfUFxY3Es0dso6uQJs=", - "url": "https://github.com/nextcloud-releases/mail/releases/download/v5.0.7/mail-v5.0.7.tar.gz", - "version": "5.0.7", + "hash": "sha256-P2LeJOjCR6ufq26gz4aK/Xy359vwnD2TZJodn/YfXcU=", + "url": "https://github.com/nextcloud-releases/mail/releases/download/v5.1.3/mail-v5.1.3.tar.gz", + "version": "5.1.3", "description": "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](https://www.horde.org) libraries.\n- **📬 Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!\n\n## Ethical AI Rating\n\n### Priority Inbox\n\nPositive:\n* The software for training and inferencing of this model is open source.\n* The model is created and trained on-premises based on the user's own data.\n* The training data is accessible to the user, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n### Thread Summaries (opt-in)\n\n**Rating:** 🟢/🟡/🟠/🔴\n\nThe rating depends on the installed text processing backend. See [the rating overview](https://docs.nextcloud.com/server/latest/admin_manual/ai/index.html) for details.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).", "homepage": "https://github.com/nextcloud/mail#readme", "licenses": [ @@ -230,19 +230,29 @@ ] }, "news": { - "hash": "sha256-trXnDSSFyr5HKXaS1S3XrlSAUiiT+8B+kP0lg+exLcs=", - "url": "https://github.com/nextcloud/news/releases/download/25.3.1/news.tar.gz", - "version": "25.3.1", + "hash": "sha256-T/ZKL4YWw0ai7mZ9gm91BUl6Md6hyTakYgKsarSYO4k=", + "url": "https://github.com/nextcloud/news/releases/download/26.0.1/news.tar.gz", + "version": "26.0.1", "description": "📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)", "homepage": "https://github.com/nextcloud/news", "licenses": [ "agpl" ] }, + "nextpod": { + "hash": "sha256-yQD4e5R6ZfBQkEsPVpddGMLDVOlV6HSVZjttgUjEdro=", + "url": "https://github.com/pbek/nextcloud-nextpod/releases/download/v0.7.7/nextpod-nc.tar.gz", + "version": "0.7.7", + "description": "This Nextcloud app lets you visualize your podcast subscriptions and episode downloads from\n[GPodderSync](https://apps.nextcloud.com/apps/gpoddersync), which acts as a basic gpodder.net\napi to sync podcast consumer apps (podcatchers) like AntennaPod.\n\nYou need to have [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) installed to use this app!", + "homepage": "https://github.com/pbek/nextcloud-nextpod", + "licenses": [ + "agpl" + ] + }, "notes": { - "hash": "sha256-UdqK6DiC67YPcy84wFEZaT8AQLDhhNndLiEesQeBY7M=", - "url": "https://github.com/nextcloud-releases/notes/releases/download/v4.12.0/notes-v4.12.0.tar.gz", - "version": "4.12.0", + "hash": "sha256-/Zym7bNotcdradtR3cG+rIaAH9jZs+/3PCP7zXS6WJo=", + "url": "https://github.com/nextcloud-releases/notes/releases/download/v4.12.1/notes-v4.12.1.tar.gz", + "version": "4.12.1", "description": "The Notes app is a distraction free notes taking app for [Nextcloud](https://www.nextcloud.com/). It provides categories for better organization and supports formatting using [Markdown](https://en.wikipedia.org/wiki/Markdown) syntax. Notes are saved as files in your Nextcloud, so you can view and edit them with every Nextcloud client. Furthermore, a separate [REST API](https://github.com/nextcloud/notes/blob/master/docs/api/README.md) allows for an easy integration into apps ([Android](https://github.com/nextcloud/notes-android), [iOS](https://github.com/nextcloud/notes-ios), as well as [3rd-party apps](https://github.com/nextcloud/notes/wiki#3rd-party-clients) which allow convenient access to your Nextcloud notes). Further features include marking notes as favorites.", "homepage": "https://github.com/nextcloud/notes", "licenses": [ @@ -260,9 +270,9 @@ ] }, "onlyoffice": { - "hash": "sha256-lOkVGOo2ylTaRVDFGD31DMUb3IbteWgFkHEj0Ox0D84=", - "url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v9.8.0/onlyoffice.tar.gz", - "version": "9.8.0", + "hash": "sha256-Nj8siAeNyN/lyq+K5y92ZXMqRLmhawtR9Q6b5dq7LL0=", + "url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v9.9.0/onlyoffice.tar.gz", + "version": "9.9.0", "description": "ONLYOFFICE app allows you to view, edit and collaborate on text documents, spreadsheets and presentations within Nextcloud using ONLYOFFICE Docs. This will create a new Edit in ONLYOFFICE action within the document library for Office documents. This allows multiple users to co-author documents in real time from the familiar web interface and save the changes back to your file storage.", "homepage": "https://www.onlyoffice.com", "licenses": [ @@ -280,9 +290,9 @@ ] }, "polls": { - "hash": "sha256-zatPm8JY1WkeO2Uvm9BUVPXrJp0df12jspqSNNuZVh0=", - "url": "https://github.com/nextcloud-releases/polls/releases/download/v7.4.2/polls-v7.4.2.tar.gz", - "version": "7.4.2", + "hash": "sha256-AJUC5UIz6xY75cEJHfNjhUm9K9HnXWMokt9gIOcq8vI=", + "url": "https://github.com/nextcloud-releases/polls/releases/download/v7.4.3/polls-v7.4.3.tar.gz", + "version": "7.4.3", "description": "A polls app, similar to Doodle/Dudle with the possibility to restrict access (members, certain groups/users, hidden and public).", "homepage": "https://github.com/nextcloud/polls", "licenses": [ @@ -330,9 +340,9 @@ ] }, "richdocuments": { - "hash": "sha256-fxVopw6n+0wU+OMiR3QFw1c/8YrzVMTtFfRharvNl0A=", - "url": "https://github.com/nextcloud-releases/richdocuments/releases/download/v8.6.5/richdocuments-v8.6.5.tar.gz", - "version": "8.6.5", + "hash": "sha256-3tCUe7mXgUpmWSWd1y7uYGc3yBk2C26QLPAOcfsUEjY=", + "url": "https://github.com/nextcloud-releases/richdocuments/releases/download/v8.7.0/richdocuments-v8.7.0.tar.gz", + "version": "8.7.0", "description": "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store.", "homepage": "https://collaboraoffice.com/", "licenses": [ @@ -340,19 +350,19 @@ ] }, "sociallogin": { - "hash": "sha256-DNf48YmVJ49v+lynTCIBTZhPi/S1mjyIF5OWf+UVKeY=", - "url": "https://github.com/zorn-v/nextcloud-social-login/releases/download/v6.0.1/release.tar.gz", - "version": "6.0.1", - "description": "# Social login\n\nMake possible create users and login via Telegram, OAuth or OpenID\n\nFor OAuth you must create app for certain providers. Login button appear at login page if app id specified. Settings are in \"Social login\" section of settings page.\n\n## Installation\n\nLogin to your NextCloud installation as an administrator and under \"Apps\" click \"Download and enable\" next to the \"Social Login\" app.\n\nSee below for setup and configuration instructions.\n\n\n\n## Custom OAuth2/OIDC groups\n\nYou can use groups from your custom provider. For that you should specify \"Groups claim\" in custom OAuth2/OIDC provider settings. That claim should be returned from provider in `id_token` or at user info endpoint. Format should be `array` or comma separated string. Eg (with claim named `roles`)\n\n```json\n{\"roles\": [\"admin\", \"user\"]}\n```\nor\n```json\n{\"roles\": \"admin,user\"}\n```\n\nAlso nested claims is supported. For example `resource_access.client-id.roles` for\n\n```json\n\"resource_access\": {\n \"client-id\": {\n \"roles\": [\n \"client-role-1\",\n \"client-role-2\"\n ]\n }\n}\n```\n\nThere is also support for setting the displayName:\n```\n{\"roles\": [{gid: 1, displayName: \"admin\"}, {gid: 2, displayName: \"user\"}]}\n```\n\n\nYou can use provider groups in two ways:\n\n1. Map provider groups to existing nextcloud groups\n2. Create provider groups in nextcloud and associate it to user (if appropriate option specified)\n\nIf you want sync groups on every login do not forget to check \"Update user profile every login\" setting\n\n## Examples for groups\n\n* You can find example how to configure WSO2IS for return roles claim with OIDC [here](https://medium.com/@dewni.matheesha/claim-mapping-and-retrieving-end-user-information-in-wso2is-cffd5f3937ff)\n* [GitLab OIDC allowing specific GitLab groups](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/gitlab.md)\n\n## Built-in OAuth providers\n\nYou can copy link of certain login button to get proper \"redirect url\" for OAuth app setting.\n\n* [Google](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/google.md)\n* [Amazon](https://developer.amazon.com/loginwithamazon/console/site/lwa/overview.html)\n* [Facebook](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/facebook.md)\n* [Twitter](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/twitter.md)\n* [GitHub](https://github.com/settings/developers)\n* [Discord](#configure-discord)\n* [Telegram](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/telegram.md)\n* PlexTv - you can use any title as app id\n* [Codeberg](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/codeberg.md)\n\nDetails about \"Allow login only from specified domain\" google setting you can find here [#44](https://github.com/zorn-v/nextcloud-social-login/issues/44)\nYou can use comma separated list for multiple domains\n\n## Config\n\nYou can use `'social_login_auto_redirect' => true` setting in `config.php` for auto redirect unauthorized users to social login if only one provider is configured.\nIf you want to temporary disable this function (e.g. for login as local admin), you can add `noredir=1` query parameter in url for login page. Something like `https://cloud.domain.com/login?noredir=1`\n\nTo set options for http client, you can use\n```php\n 'social_login_http_client' => [\n 'timeout' => 45,\n 'proxy' => 'socks4://127.0.0.1:9050', // Check https://curl.se/libcurl/c/CURLOPT_PROXY.html for allowed variants\n ],\n```\nin `config.php`\n\n### Configurate a provider via CLI\n\nYou can configure everything from commandline by using the occ utility. To setup a oidc-provider replace the variables and URLs with values that match your deployment.\n```bash\nphp occ config:app:set sociallogin custom_providers --value='{\"custom_oidc\": [{\"name\": \"gitlab_oidc\", \"title\": \"Gitlab\", \"authorizeUrl\": \"https://gitlab.my-domain.org/oauth/authorize\", \"tokenUrl\": \"https://gitlab.my-domain.org/oauth/token\", \"userInfoUrl\": \"https://gitlab.my-domain.org/oauth/userinfo\", \"logoutUrl\": \"\", \"clientId\": \"$my_application_id\", \"clientSecret\": \"$my_super_secret_secret\", \"scope\": \"openid\", \"groupsClaim\": \"groups\", \"style\": \"gitlab\", \"defaultGroup\": \"\"}]}'\n```\nto do this with docker you just need to add `docker exec -t -uwww-data CONTAINER_NAME` in front of the command, or run it interactively from `docker exec -it -uwww-data CONTAINER_NAME sh`\n\nTo find out how to configure other providers, just configure them in the GUI and take a look at the database afterwards:\n```\nmysql -u nextcloud -p nextcloud\nPassword: \n\n> SELECT * FROM oc_appconfig WHERE appid='sociallogin';\n```\n\nOr just run\n\n`docker exec -t -uwww-data CONTAINER_NAME php occ config:app:get sociallogin custom_providers`\n\n### Configure Discord\n\nTo properly configure discord you have to:\n\n1. Create new discord application on [DiscordApp developers](https://discordapp.com/developers/applications/me#top)\n2. Open tab `Settings -> OAuth2 -> General`. In `Redirects` add new redirection link looking like this: `https://nextcloud.mydomain.com/apps/sociallogin/oauth/discord`.\n3. Copy `CLIENT ID` and generate and copy `CLIENT SECRET`\n4. Open in Nextcloud `Settings -> Social Login` and paste `CLIENT ID` into field `App id` and `CLIENT SECRET` into `Secret`.\n5. Select default group for users created this way.\n6. For group mapping check [#395](https://github.com/zorn-v/nextcloud-social-login/pull/395)\n\n## Hint\n\n### About Callback(Reply) Url\nYou can copy link from specific login button on login page and paste it on provider's website as callback url. To make proper button visible, just fill certain provider settings with random data and change it later.\n\nSome users may get strange reply(Callback) url error from provider even if you pasted the right url, that's because your nextcloud server may generate http urls when you are actually using https.\nPlease set 'overwriteprotocol' => 'https', in your config.php file.", + "hash": "sha256-wNDmu4IdpjZSw3ppWJpQ13q7/2l5B71m76Lzs/SHkkY=", + "url": "https://github.com/zorn-v/nextcloud-social-login/releases/download/v6.0.2/release.tar.gz", + "version": "6.0.2", + "description": "# Social Login\n\nMake it possible to create users and log in via Telegram, OAuth, or OpenID.\n\nFor OAuth, you must create an app with certain providers. Login buttons will appear on the login page if an app ID is specified. Settings are located in the \"Social login\" section of the settings page.\n\n## Installation\n\nLog in to your Nextcloud installation as an administrator. Under \"Apps\", click \"Download and enable\" next to the \"Social Login\" app.\n\nSee below for setup and configuration instructions.\n\n## Custom OAuth2/OIDC Groups\n\nYou can use groups from your custom provider. For this, specify the \"Groups claim\" in the custom OAuth2/OIDC provider settings. This claim should be returned from the provider in the `id_token` or at the user info endpoint. The format should be an `array` or a comma-separated string. E.g., (with a claim named `roles`):\n\n```json\n{\"roles\": [\"admin\", \"user\"]}\n```\nor\n```json\n{\"roles\": \"admin,user\"}\n```\n\nNested claims are also supported. For example, `resource_access.client-id.roles` for:\n\n```json\n\"resource_access\": {\n \"client-id\": {\n \"roles\": [\n \"client-role-1\",\n \"client-role-2\"\n ]\n }\n}\n```\n\n**DisplayName** support is also available:\n```json\n{\"roles\": [{\"gid\": 1, \"displayName\": \"admin\"}, {\"gid\": 2, \"displayName\": \"user\"}]}\n```\n\nYou can use provider groups in two ways:\n\n1. Map provider groups to existing Nextcloud groups.\n2. Create provider groups in Nextcloud and associate them with users (if the appropriate option is enabled).\n\nTo sync groups on every login, ensure the \"Update user profile every login\" setting is checked.\n\n## Examples for Groups\n\n* Configure WSO2IS to return a roles claim with OIDC [here](https://medium.com/@dewni.matheesha/claim-mapping-and-retrieving-end-user-information-in-wso2is-cffd5f3937ff).\n* [GitLab OIDC configuration to allow specific GitLab groups](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/gitlab.md).\n\n## Built-in OAuth Providers\n\nCopy the link from a specific login button to get the correct \"redirect URL\" for OAuth app settings.\n\n* [Amazon](https://developer.amazon.com/loginwithamazon/console/site/lwa/overview.html)\n* [Apple](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/apple.md)\n* [Codeberg](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/codeberg.md)\n* [Discord](#configure-discord)\n* [Facebook](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/facebook.md)\n* [GitHub](https://github.com/settings/developers)\n* [GitLab](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/gitlab.md)\n* [Google](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/google.md)\n* [Keycloak](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/keycloak.md)\n* [Mail.ru](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/mailru.md)\n* **PlexTv**: Use any title as the app ID.\n* [Telegram](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/telegram.md)\n* [Twitter](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/twitter.md)\n\nFor details about Google's \"Allow login only from specified domain\" setting, see [#44](https://github.com/zorn-v/nextcloud-social-login/issues/44). Use a comma-separated list for multiple domains.\n\n## Configuration\n\nAdd `'social_login_auto_redirect' => true` to `config.php` to automatically redirect unauthorized users to social login if only one provider is configured. To temporarily disable this (e.g., for local admin login), add `noredir=1` to the login URL: `https://cloud.domain.com/login?noredir=1`.\n\nConfigure HTTP client options using:\n```php\n 'social_login_http_client' => [\n 'timeout' => 45,\n 'proxy' => 'socks4://127.0.0.1:9050', // See for allowed formats\n ],\n```\nin `config.php`.\n\n### Configure a Provider via CLI\n\nUse the `occ` utility to configure providers via the command line. Replace variables and URLs with your deployment values:\n```bash\nphp occ config:app:set sociallogin custom_providers --value='{\"custom_oidc\": [{\"name\": \"gitlab_oidc\", \"title\": \"Gitlab\", \"authorizeUrl\": \"https://gitlab.my-domain.org/oauth/authorize\", \"tokenUrl\": \"https://gitlab.my-domain.org/oauth/token\", \"userInfoUrl\": \"https://gitlab.my-domain.org/oauth/userinfo\", \"logoutUrl\": \"\", \"clientId\": \"$my_application_id\", \"clientSecret\": \"$my_super_secret_secret\", \"scope\": \"openid\", \"groupsClaim\": \"groups\", \"style\": \"gitlab\", \"defaultGroup\": \"\"}]}'\n```\nFor Docker, prepend `docker exec -t -uwww-data CONTAINER_NAME` to the command or run interactively via `docker exec -it -uwww-data CONTAINER_NAME sh`.\n\nTo inspect configurations:\n```sql\nmysql -u nextcloud -p nextcloud\nPassword: \n\n> SELECT * FROM oc_appconfig WHERE appid='sociallogin';\n```\nOr run:\n```bash\ndocker exec -t -uwww-data CONTAINER_NAME php occ config:app:get sociallogin custom_providers\n```\n\n### Configure Discord\n\n1. Create a Discord application at [Discord Developer Portal](https://discord.com/developers/applications).\n2. Navigate to `Settings > OAuth2 > General`. Add a redirect URL: `https://nextcloud.mydomain.com/apps/sociallogin/oauth/discord`.\n3. Copy the `CLIENT ID` and generate a `CLIENT SECRET`.\n4. In Nextcloud, go to `Settings > Social Login`. Paste the `CLIENT ID` into \"App id\" and `CLIENT SECRET` into \"Secret\".\n5. Select a default group for new users.\n6. For group mapping, see [#395](https://github.com/zorn-v/nextcloud-social-login/pull/395).\n\n## Hint\n\n### Callback (Reply) URL\nCopy the link from a login button on the Nextcloud login page and use it as the callback URL on your provider's site. To make the button visible temporarily, fill provider settings with placeholder data and update later.\n\nIf you encounter callback URL errors despite correct settings, ensure your Nextcloud server generates HTTPS URLs by adding `'overwriteprotocol' => 'https'` to `config.php`.", "homepage": "https://github.com/zorn-v/nextcloud-social-login", "licenses": [ "agpl" ] }, "spreed": { - "hash": "sha256-O0W1olbpau+GjYdND/IYMl3GJntsG9p51VRbmRWksTI=", - "url": "https://github.com/nextcloud-releases/spreed/releases/download/v21.0.4/spreed-v21.0.4.tar.gz", - "version": "21.0.4", + "hash": "sha256-DxwK3PMsLTxbdjyM10rX6wveRFCr8EoIGToKSkaMwYM=", + "url": "https://github.com/nextcloud-releases/spreed/releases/download/v21.1.0/spreed-v21.1.0.tar.gz", + "version": "21.1.0", "description": "Chat, video & audio-conferencing using WebRTC\n\n* 💬 **Chat** Nextcloud Talk comes with a simple text chat, allowing you to share or upload files from your Nextcloud Files app or local device and mention other participants.\n* 👥 **Private, group, public and password protected calls!** Invite someone, a whole group or send a public link to invite to a call.\n* 🌐 **Federated chats** Chat with other Nextcloud users on their servers\n* 💻 **Screen sharing!** Share your screen with the participants of your call.\n* 🚀 **Integration with other Nextcloud apps** like Files, Calendar, User status, Dashboard, Flow, Maps, Smart picker, Contacts, Deck, and many more.\n* 🌉 **Sync with other chat solutions** With [Matterbridge](https://github.com/42wim/matterbridge/) being integrated in Talk, you can easily sync a lot of other chat solutions to Nextcloud Talk and vice-versa.", "homepage": "https://github.com/nextcloud/spreed", "licenses": [ @@ -380,9 +390,9 @@ ] }, "twofactor_webauthn": { - "hash": "sha256-16Silofm/alQaKZ2buNqyLEjKK2kR2IpTAxEawHpGjI=", - "url": "https://github.com/nextcloud-releases/twofactor_webauthn/releases/download/v2.1.0/twofactor_webauthn-v2.1.0.tar.gz", - "version": "2.1.0", + "hash": "sha256-cfityMvl6BLsxkGkR3Mm61AZsykC7KjDkDRIyFAQP4c=", + "url": "https://github.com/nextcloud-releases/twofactor_webauthn/releases/download/v2.2.0/twofactor_webauthn-v2.2.0.tar.gz", + "version": "2.2.0", "description": "A two-factor provider for WebAuthn devices", "homepage": "https://github.com/nextcloud/twofactor_webauthn#readme", "licenses": [ @@ -399,6 +409,16 @@ "agpl" ] }, + "unsplash": { + "hash": "sha256-j0cQem+KLQFxj19DIqK6wqYYDs31V1VfVobH5JZ89RM=", + "url": "https://github.com/nextcloud-releases/unsplash/releases/download/v3.1.0/unsplash-v3.1.0.tar.gz", + "version": "3.1.0", + "description": "Show a new random featured nature photo in your nextcloud. Now with choosable motives!", + "homepage": "https://github.com/nextcloud/unsplash/", + "licenses": [ + "agpl" + ] + }, "uppush": { "hash": "sha256-3QD3gtCfhs9tWrbiiPPV7lYxpzGQhc31unSZukcrvN0=", "url": "https://codeberg.org/NextPush/uppush/archive/2.3.0.tar.gz", diff --git a/pkgs/servers/nextcloud/packages/default.nix b/pkgs/servers/nextcloud/packages/default.nix index 8d0f2abc5cb5..9e85f589370d 100644 --- a/pkgs/servers/nextcloud/packages/default.nix +++ b/pkgs/servers/nextcloud/packages/default.nix @@ -25,8 +25,7 @@ let { # Create a derivation from the official Nextcloud apps. # This takes the data generated from the go tool. - mkNextcloudDerivation = self.callPackage ( - { }: + mkNextcloudDerivation = { pname, data }: pkgs.fetchNextcloudApp { appName = pname; @@ -39,8 +38,7 @@ let description homepage ; - } - ) { }; + }; } // lib.mapAttrs ( diff --git a/pkgs/servers/nextcloud/packages/nextcloud-apps.json b/pkgs/servers/nextcloud/packages/nextcloud-apps.json index 0b406f9a7ed6..980f151a7a09 100644 --- a/pkgs/servers/nextcloud/packages/nextcloud-apps.json +++ b/pkgs/servers/nextcloud/packages/nextcloud-apps.json @@ -25,6 +25,7 @@ , "memories": "agpl3Plus" , "music": "agpl3Plus" , "news": "agpl3Plus" +, "nextpod": "agpl3Only" , "notes": "agpl3Plus" , "oidc_login": "agpl3Only" , "onlyoffice": "asl20" diff --git a/pkgs/servers/nosql/influxdb/default.nix b/pkgs/servers/nosql/influxdb/default.nix index a6f053467a5b..08abc6ff864b 100644 --- a/pkgs/servers/nosql/influxdb/default.nix +++ b/pkgs/servers/nosql/influxdb/default.nix @@ -6,12 +6,11 @@ pkg-config, rustPlatform, libiconv, - fetchpatch, nixosTests, }: let - libflux_version = "0.194.5"; + libflux_version = "0.196.1"; # This is copied from influxdb2 with the required flux version flux = rustPlatform.buildRustPackage rec { @@ -21,21 +20,11 @@ let owner = "influxdata"; repo = "flux"; tag = "v${libflux_version}"; - hash = "sha256-XHT/+JMu5q1cPjZT2x/OKEPgxFJcnjrQKqn8w9/Mb3s="; + hash = "sha256-935aN2SxfNZvpG90rXuqZ2OTpSGLgiBDbZsBoG0WUvU="; }; patches = [ - # Fix build on Rust 1.78 (included after v0.195.0) - (fetchpatch { - name = "fix-build-on-rust-1.78.patch"; - url = "https://github.com/influxdata/flux/commit/68c831c40b396f0274f6a9f97d77707c39970b02.patch"; - stripLen = 2; - extraPrefix = ""; - excludes = [ ]; - hash = "sha256-6LOTgbOCfETNTmshyXgtDZf9y4t/2iqRuVPkz9dYPHc="; - }) + # https://github.com/influxdata/flux/pull/5542 ../influxdb2/fix-unsigned-char.patch - # https://github.com/influxdata/flux/pull/5516 - ../influxdb2/rust_lifetime.patch ]; # Don't fail on missing code documentation postPatch = '' @@ -44,7 +33,7 @@ let ''; sourceRoot = "${src.name}/libflux"; useFetchCargoVendor = true; - cargoHash = "sha256-wJVvpjaBUae3FK3lQaQov4t0UEsH86tB8B8bsSFGGBU="; + cargoHash = "sha256-A6j/lb47Ob+Po8r1yvqBXDVP0Hf7cNz8WFZqiVUJj+Y="; nativeBuildInputs = [ rustPlatform.bindgenHook ]; buildInputs = lib.optional stdenv.hostPlatform.isDarwin libiconv; pkgcfg = '' @@ -60,7 +49,7 @@ let mkdir -p $out/include $out/pkgconfig cp -r $NIX_BUILD_TOP/source/libflux/include/influxdata $out/include substitute $pkgcfgPath $out/pkgconfig/flux.pc \ - --replace /out $out + --replace-fail /out $out '' + lib.optionalString stdenv.hostPlatform.isDarwin '' install_name_tool -id $out/lib/libflux.dylib $out/lib/libflux.dylib @@ -69,16 +58,16 @@ let in buildGoModule rec { pname = "influxdb"; - version = "1.10.7"; + version = "1.12.0"; src = fetchFromGitHub { owner = "influxdata"; - repo = pname; + repo = "influxdb"; rev = "v${version}"; - hash = "sha256-Aibu3yG/D1501Hr2F2qsGvjig14tbEAI+MBfqbxlpg8="; + hash = "sha256-jSv3zzU/jIqALF9mb4gV7zyQvm8pIwJU6Y4ADBlpVOE="; }; - vendorHash = "sha256-AA6uj7PgXjC+IK2ZSwRnYpHS4MFScOROO1BpP+s33IU="; + vendorHash = "sha256-tPw/1vkUTwmRHrnENDG3NJTV6RplI4pCP6GueRT8dbc="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/servers/nosql/influxdb2/default.nix b/pkgs/servers/nosql/influxdb2/default.nix index c90a77f4af36..60d4ec2b917f 100644 --- a/pkgs/servers/nosql/influxdb2/default.nix +++ b/pkgs/servers/nosql/influxdb2/default.nix @@ -14,20 +14,20 @@ }: let - version = "2.7.6"; - ui_version = "OSS-v2.7.1"; - libflux_version = "0.194.5"; + version = "2.7.12"; + ui_version = "OSS-v2.7.12"; + libflux_version = "0.196.1"; src = fetchFromGitHub { owner = "influxdata"; repo = "influxdb"; rev = "v${version}"; - hash = "sha256-0gqFUIV0ETdVuVmC+SwoKsO6OkoT/s+qKO1f8fkaZj4="; + hash = "sha256-FwvcKxCozMqJulDDCFDgp7MYJwMq/9XZ6g2q2lIgFc0="; }; ui = fetchurl { url = "https://github.com/influxdata/ui/releases/download/${ui_version}/build.tar.gz"; - hash = "sha256-0k59SKvt9pFt3WSd5PRUThbfbctt2RYtaxaxoyLICm8="; + hash = "sha256-aC+GYMaxYKkY9GMaeRx22hQ3xi3kfWpaTLC9ajqOaAA="; }; flux = rustPlatform.buildRustPackage { @@ -37,21 +37,11 @@ let owner = "influxdata"; repo = "flux"; rev = "v${libflux_version}"; - hash = "sha256-XHT/+JMu5q1cPjZT2x/OKEPgxFJcnjrQKqn8w9/Mb3s="; + hash = "sha256-935aN2SxfNZvpG90rXuqZ2OTpSGLgiBDbZsBoG0WUvU="; }; patches = [ - # Fix build on Rust 1.78 (included after v0.195.0) - (fetchpatch { - name = "fix-build-on-rust-1.78.patch"; - url = "https://github.com/influxdata/flux/commit/68c831c40b396f0274f6a9f97d77707c39970b02.patch"; - stripLen = 2; - extraPrefix = ""; - excludes = [ ]; - hash = "sha256-6LOTgbOCfETNTmshyXgtDZf9y4t/2iqRuVPkz9dYPHc="; - }) + # https://github.com/influxdata/flux/pull/5542 ./fix-unsigned-char.patch - # https://github.com/influxdata/flux/pull/5516 - ./rust_lifetime.patch ]; # Don't fail on missing code documentation postPatch = '' @@ -60,7 +50,7 @@ let ''; sourceRoot = "${src.name}/libflux"; useFetchCargoVendor = true; - cargoHash = "sha256-wJVvpjaBUae3FK3lQaQov4t0UEsH86tB8B8bsSFGGBU="; + cargoHash = "sha256-A6j/lb47Ob+Po8r1yvqBXDVP0Hf7cNz8WFZqiVUJj+Y="; nativeBuildInputs = [ rustPlatform.bindgenHook ]; buildInputs = lib.optional stdenv.hostPlatform.isDarwin libiconv; pkgcfg = '' @@ -76,7 +66,7 @@ let mkdir -p $out/include $out/pkgconfig cp -r $NIX_BUILD_TOP/source/libflux/include/influxdata $out/include substitute $pkgcfgPath $out/pkgconfig/flux.pc \ - --replace /out $out + --replace-fail /out $out '' + lib.optionalString stdenv.hostPlatform.isDarwin '' install_name_tool -id $out/lib/libflux.dylib $out/lib/libflux.dylib @@ -94,7 +84,7 @@ buildGoModule { perl ]; - vendorHash = "sha256-3Vf8BCrOwliXrH+gmZ4RJ1YBEbqL0Szx2prW3ie9CNg="; + vendorHash = "sha256-B4w8+UaewujKVr98MFhRh2c6UMOdB+TE/mOT+cy2pHk="; subPackages = [ "cmd/influxd" "cmd/telemetryd" @@ -105,7 +95,7 @@ buildGoModule { postPatch = '' # use go-bindata from environment substituteInPlace static/static.go \ - --replace 'go run github.com/kevinburke/go-bindata/' "" + --replace-fail 'go run github.com/kevinburke/go-bindata/' "" ''; # Check that libflux and the UI are at the right version, and embed diff --git a/pkgs/servers/nosql/influxdb2/rust_lifetime.patch b/pkgs/servers/nosql/influxdb2/rust_lifetime.patch deleted file mode 100644 index 7680f287e217..000000000000 --- a/pkgs/servers/nosql/influxdb2/rust_lifetime.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/flux-core/src/ast/walk/mod.rs b/flux-core/src/ast/walk/mod.rs -index 90f70ba6f7..a6966827e8 100644 ---- a/flux-core/src/ast/walk/mod.rs -+++ b/flux-core/src/ast/walk/mod.rs -@@ -180,7 +180,7 @@ impl<'a> Node<'a> { - - impl<'a> Node<'a> { - #[allow(missing_docs)] -- pub fn from_expr(expr: &'a Expression) -> Node { -+ pub fn from_expr(expr: &'a Expression) -> Node<'a> { - match expr { - Expression::Identifier(e) => Node::Identifier(e), - Expression::Array(e) => Node::ArrayExpr(e), -diff --git a/flux-core/src/parser/mod.rs b/flux-core/src/parser/mod.rs -index ac7d4b9a72..561c3a0ff6 100644 ---- a/flux-core/src/parser/mod.rs -+++ b/flux-core/src/parser/mod.rs -@@ -41,7 +41,7 @@ pub struct Parser<'input> { - - impl<'input> Parser<'input> { - /// Instantiates a new parser with the given string as input. -- pub fn new(src: &'input str) -> Parser { -+ pub fn new(src: &'input str) -> Parser<'input> { - let s = Scanner::new(src); - Parser { - s, diff --git a/pkgs/servers/nosql/mongodb/mongodb.nix b/pkgs/servers/nosql/mongodb/mongodb.nix index 9839b4ca949f..1448fed7faaa 100644 --- a/pkgs/servers/nosql/mongodb/mongodb.nix +++ b/pkgs/servers/nosql/mongodb/mongodb.nix @@ -188,7 +188,6 @@ stdenv.mkDerivation rec { inherit license; maintainers = with maintainers; [ - bluescreen303 offline ]; platforms = subtractLists systems.doubles.i686 systems.doubles.unix; diff --git a/pkgs/servers/nosql/rethinkdb/default.nix b/pkgs/servers/nosql/rethinkdb/default.nix index 686ad7eadc74..f1c3cf02c331 100644 --- a/pkgs/servers/nosql/rethinkdb/default.nix +++ b/pkgs/servers/nosql/rethinkdb/default.nix @@ -83,7 +83,6 @@ stdenv.mkDerivation rec { platforms = lib.platforms.unix; maintainers = with lib.maintainers; [ thoughtpolice - bluescreen303 ]; }; } diff --git a/pkgs/servers/radarr/default.nix b/pkgs/servers/radarr/default.nix deleted file mode 100644 index 56e695c92def..000000000000 --- a/pkgs/servers/radarr/default.nix +++ /dev/null @@ -1,94 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - mono, - libmediainfo, - sqlite, - curl, - makeWrapper, - icu, - dotnet-runtime, - openssl, - nixosTests, - zlib, -}: - -let - os = if stdenv.hostPlatform.isDarwin then "osx" else "linux"; - arch = - { - x86_64-linux = "x64"; - aarch64-linux = "arm64"; - x86_64-darwin = "x64"; - aarch64-darwin = "arm64"; - } - ."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); - - hash = - { - x64-linux_hash = "sha256-rHm2qDBDBPioAyN3SYw1CbCTDBA5PhF72Yd/LcpXGbI="; - arm64-linux_hash = "sha256-ukwLekQ5kI7eXdydHXDev1WkISHR2vUQGtNd0njWyy0="; - x64-osx_hash = "sha256-0ZzGcfMl3Q3vLSdN0j8B8NL1dQLvJn/lqKyprguexQI="; - arm64-osx_hash = "sha256-aM9bmPW6Vv2D6lIKfT5+uuUXfq/xqxNuHAysEYUFzt4="; - } - ."${arch}-${os}_hash"; - -in -stdenv.mkDerivation rec { - pname = "radarr"; - version = "5.25.0.10024"; - - src = fetchurl { - url = "https://github.com/Radarr/Radarr/releases/download/v${version}/Radarr.master.${version}.${os}-core-${arch}.tar.gz"; - sha256 = hash; - }; - - nativeBuildInputs = [ makeWrapper ]; - - installPhase = '' - runHook preInstall - - mkdir -p $out/{bin,share/${pname}-${version}} - cp -r * $out/share/${pname}-${version}/. - - makeWrapper "${dotnet-runtime}/bin/dotnet" $out/bin/Radarr \ - --add-flags "$out/share/${pname}-${version}/Radarr.dll" \ - --prefix LD_LIBRARY_PATH : ${ - lib.makeLibraryPath [ - curl - sqlite - libmediainfo - mono - openssl - icu - zlib - ] - } - - runHook postInstall - ''; - - passthru = { - updateScript = ./update.sh; - tests.smoke-test = nixosTests.radarr; - }; - - meta = with lib; { - description = "Usenet/BitTorrent movie downloader"; - homepage = "https://radarr.video/"; - changelog = "https://github.com/Radarr/Radarr/releases/tag/v${version}"; - license = licenses.gpl3Only; - maintainers = with maintainers; [ - edwtjo - purcell - ]; - mainProgram = "Radarr"; - platforms = [ - "x86_64-linux" - "aarch64-linux" - "x86_64-darwin" - "aarch64-darwin" - ]; - }; -} diff --git a/pkgs/servers/radarr/update.sh b/pkgs/servers/radarr/update.sh deleted file mode 100755 index 6b94d66959b6..000000000000 --- a/pkgs/servers/radarr/update.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/env nix-shell -#!nix-shell -i bash -p curl gnused nix-prefetch jq - -set -e - -dirname="$(dirname "$0")" - -updateHash() -{ - version=$1 - arch=$2 - os=$3 - - hashKey="${arch}-${os}_hash" - - url="https://github.com/Radarr/Radarr/releases/download/v$version/Radarr.master.$version.$os-core-$arch.tar.gz" - hash=$(nix-prefetch-url --type sha256 $url) - sriHash="$(nix hash to-sri --type sha256 $hash)" - - sed -i "s|$hashKey = \"[a-zA-Z0-9\/+-=]*\";|$hashKey = \"$sriHash\";|g" "$dirname/default.nix" -} - -updateVersion() -{ - sed -i "s/version = \"[0-9.]*\";/version = \"$1\";/g" "$dirname/default.nix" -} - -currentVersion=$(cd $dirname && nix eval --raw -f ../../.. radarr.version) - -latestTag=$(curl https://api.github.com/repos/Radarr/Radarr/releases/latest | jq -r ".tag_name") -latestVersion="$(expr $latestTag : 'v\(.*\)')" - -if [[ "$currentVersion" == "$latestVersion" ]]; then - echo "Radarr is up-to-date: ${currentVersion}" - exit 0 -fi - -updateVersion $latestVersion - -updateHash $latestVersion x64 linux -updateHash $latestVersion arm64 linux -updateHash $latestVersion x64 osx -updateHash $latestVersion arm64 osx diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix index 91f1e31d03d6..cccb18aa8941 100644 --- a/pkgs/servers/samba/4.x.nix +++ b/pkgs/servers/samba/4.x.nix @@ -167,7 +167,7 @@ stdenv.mkDerivation (finalAttrs: { libbsd ] ++ optionals stdenv.hostPlatform.isLinux [ - liburing + #liburing # FIXME: better solution systemd ] ++ optionals stdenv.hostPlatform.isDarwin [ libiconv ] diff --git a/pkgs/servers/spicedb/default.nix b/pkgs/servers/spicedb/default.nix index f79111b56fad..eb4f9dfe2160 100644 --- a/pkgs/servers/spicedb/default.nix +++ b/pkgs/servers/spicedb/default.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "spicedb"; - version = "1.44.0"; + version = "1.44.3"; src = fetchFromGitHub { owner = "authzed"; repo = "spicedb"; rev = "v${version}"; - hash = "sha256-7QWYqMAX3K16ITkDaVlrEzTH7uIaKDtZom04mBhPZS8="; + hash = "sha256-V/uUfysSHDtkZjRoJMI4qbfl1PuCE6pbwRhk6D14s60="; }; - vendorHash = "sha256-X+AQgn5aVIFOV+F8H8Byf1tsu7CVb0PwjzS8x5xn3l0="; + vendorHash = "sha256-Tdg9HOzH7N465QX7m65S7+HfT+sdgVpdTnHjhart1ec="; ldflags = [ "-X 'github.com/jzelinskie/cobrautil/v2.Version=${src.rev}'" diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix index ef9cbc751256..266b895abd4b 100644 --- a/pkgs/servers/sql/mariadb/default.nix +++ b/pkgs/servers/sql/mariadb/default.nix @@ -256,115 +256,117 @@ let ''; } ); + in - server = stdenv.mkDerivation ( - common - // { - pname = "mariadb-server"; + stdenv.mkDerivation ( + finalAttrs: + common + // { + pname = "mariadb-server"; - nativeBuildInputs = common.nativeBuildInputs ++ [ - bison - boost.dev - flex + nativeBuildInputs = common.nativeBuildInputs ++ [ + bison + boost.dev + flex + ]; + + buildInputs = + common.buildInputs + ++ [ + bzip2 + lz4 + lzo + snappy + xz + zstd + cracklib + judy + libevent + libxml2 + ] + ++ lib.optional withNuma numactl + ++ lib.optionals stdenv.hostPlatform.isLinux [ linux-pam ] + ++ lib.optional (!stdenv.hostPlatform.isDarwin) mytopEnv + ++ lib.optionals withStorageMroonga [ + kytea + libsodium + msgpack + zeromq + ] + ++ lib.optionals (lib.versionAtLeast common.version "10.11") [ fmt_11 ]; + + propagatedBuildInputs = lib.optional withNuma numactl; + + postPatch = '' + substituteInPlace scripts/galera_new_cluster.sh \ + --replace ":-mariadb" ":-mysql" + ''; + + cmakeFlags = + common.cmakeFlags + ++ [ + "-DMYSQL_DATADIR=/var/lib/mysql" + "-DENABLED_LOCAL_INFILE=OFF" + "-DWITH_READLINE=ON" + "-DWITH_EXTRA_CHARSETS=all" + "-DWITH_EMBEDDED_SERVER=${if withEmbedded then "ON" else "OFF"}" + "-DWITH_UNIT_TESTS=OFF" + "-DWITH_WSREP=ON" + "-DWITH_INNODB_DISALLOW_WRITES=ON" + "-DWITHOUT_EXAMPLE=1" + "-DWITHOUT_FEDERATED=1" + "-DWITHOUT_TOKUDB=1" + ] + ++ lib.optionals withNuma [ + "-DWITH_NUMA=ON" + ] + ++ lib.optionals (!withStorageMroonga) [ + "-DWITHOUT_MROONGA=1" + ] + ++ lib.optionals (!withStorageRocks) [ + "-DWITHOUT_ROCKSDB=1" + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin && withStorageRocks) [ + "-DWITH_ROCKSDB_JEMALLOC=ON" + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + "-DWITH_JEMALLOC=yes" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-DPLUGIN_AUTH_PAM=NO" + "-DPLUGIN_AUTH_PAM_V1=NO" + "-DWITHOUT_OQGRAPH=1" + "-DWITHOUT_PLUGIN_S3=1" ]; - buildInputs = - common.buildInputs - ++ [ - bzip2 - lz4 - lzo - snappy - xz - zstd - cracklib - judy - libevent - libxml2 - ] - ++ lib.optional withNuma numactl - ++ lib.optionals stdenv.hostPlatform.isLinux [ linux-pam ] - ++ lib.optional (!stdenv.hostPlatform.isDarwin) mytopEnv - ++ lib.optionals withStorageMroonga [ - kytea - libsodium - msgpack - zeromq - ] - ++ lib.optionals (lib.versionAtLeast common.version "10.11") [ fmt_11 ]; + preConfigure = lib.optionalString (!stdenv.hostPlatform.isDarwin) '' + patchShebangs scripts/mytop.sh + ''; - propagatedBuildInputs = lib.optional withNuma numactl; - - postPatch = '' - substituteInPlace scripts/galera_new_cluster.sh \ - --replace ":-mariadb" ":-mysql" + postInstall = + common.postInstall + + '' + rm -r "$out"/share/aclocal + chmod +x "$out"/bin/wsrep_sst_common + rm -f "$out"/bin/{mariadb-client-test,mariadb-test,mysql_client_test,mysqltest} + '' + + lib.optionalString withStorageMroonga '' + mv "$out"/share/{groonga,groonga-normalizer-mysql} "$out"/share/doc/mysql + '' + + lib.optionalString (!stdenv.hostPlatform.isDarwin && lib.versionAtLeast common.version "10.4") '' + mv "$out"/OFF/suite/plugins/pam/pam_mariadb_mtr.so "$out"/share/pam/lib/security + mv "$out"/OFF/suite/plugins/pam/mariadb_mtr "$out"/share/pam/etc/security + rm -r "$out"/OFF ''; - cmakeFlags = - common.cmakeFlags - ++ [ - "-DMYSQL_DATADIR=/var/lib/mysql" - "-DENABLED_LOCAL_INFILE=OFF" - "-DWITH_READLINE=ON" - "-DWITH_EXTRA_CHARSETS=all" - "-DWITH_EMBEDDED_SERVER=${if withEmbedded then "ON" else "OFF"}" - "-DWITH_UNIT_TESTS=OFF" - "-DWITH_WSREP=ON" - "-DWITH_INNODB_DISALLOW_WRITES=ON" - "-DWITHOUT_EXAMPLE=1" - "-DWITHOUT_FEDERATED=1" - "-DWITHOUT_TOKUDB=1" - ] - ++ lib.optionals withNuma [ - "-DWITH_NUMA=ON" - ] - ++ lib.optionals (!withStorageMroonga) [ - "-DWITHOUT_MROONGA=1" - ] - ++ lib.optionals (!withStorageRocks) [ - "-DWITHOUT_ROCKSDB=1" - ] - ++ lib.optionals (!stdenv.hostPlatform.isDarwin && withStorageRocks) [ - "-DWITH_ROCKSDB_JEMALLOC=ON" - ] - ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - "-DWITH_JEMALLOC=yes" - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-DPLUGIN_AUTH_PAM=NO" - "-DPLUGIN_AUTH_PAM_V1=NO" - "-DWITHOUT_OQGRAPH=1" - "-DWITHOUT_PLUGIN_S3=1" - ]; + CXXFLAGS = lib.optionalString stdenv.hostPlatform.isi686 "-fpermissive"; - preConfigure = lib.optionalString (!stdenv.hostPlatform.isDarwin) '' - patchShebangs scripts/mytop.sh - ''; - - postInstall = - common.postInstall - + '' - rm -r "$out"/share/aclocal - chmod +x "$out"/bin/wsrep_sst_common - rm -f "$out"/bin/{mariadb-client-test,mariadb-test,mysql_client_test,mysqltest} - '' - + lib.optionalString withStorageMroonga '' - mv "$out"/share/{groonga,groonga-normalizer-mysql} "$out"/share/doc/mysql - '' - + lib.optionalString (!stdenv.hostPlatform.isDarwin && lib.versionAtLeast common.version "10.4") '' - mv "$out"/OFF/suite/plugins/pam/pam_mariadb_mtr.so "$out"/share/pam/lib/security - mv "$out"/OFF/suite/plugins/pam/mariadb_mtr "$out"/share/pam/etc/security - rm -r "$out"/OFF - ''; - - CXXFLAGS = lib.optionalString stdenv.hostPlatform.isi686 "-fpermissive"; - } - ); - in - server - // { - inherit client server; - }; + passthru = { + inherit client; + server = finalAttrs.finalPackage; + }; + } + ); in self: { # see https://mariadb.org/about/#maintenance-policy for EOLs diff --git a/pkgs/servers/sql/mssql/jdbc/default.nix b/pkgs/servers/sql/mssql/jdbc/default.nix index 47a71b9206ad..f4f0b192da31 100644 --- a/pkgs/servers/sql/mssql/jdbc/default.nix +++ b/pkgs/servers/sql/mssql/jdbc/default.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { pname = "mssql-jdbc"; - version = "12.10.0"; + version = "12.10.1"; src = fetchurl { url = "https://github.com/Microsoft/mssql-jdbc/releases/download/v${version}/mssql-jdbc-${version}.jre8.jar"; - sha256 = "sha256-riYa0wDnfocbyqCSrMhm9efMvp3JtoQTNk3EOCy02AQ="; + sha256 = "sha256-MCBiOWI6vIod9/NhY5HPZzcetY38gsDdQPSGVQhdyBo="; }; dontUnpack = true; diff --git a/pkgs/servers/sql/postgresql/ext/omnigres.nix b/pkgs/servers/sql/postgresql/ext/omnigres.nix index c7e967882413..c422de9becd9 100644 --- a/pkgs/servers/sql/postgresql/ext/omnigres.nix +++ b/pkgs/servers/sql/postgresql/ext/omnigres.nix @@ -12,6 +12,7 @@ postgresqlBuildExtension, postgresqlTestExtension, python3, + unstableGitUpdater, }: let @@ -19,13 +20,13 @@ let in postgresqlBuildExtension (finalAttrs: { pname = "omnigres"; - version = "0-unstable-2025-05-16"; + version = "0-unstable-2025-06-03"; src = fetchFromGitHub { owner = "omnigres"; repo = "omnigres"; - rev = "84f14792d80fb6fd60b680b7825245a8e7c5583e"; - hash = "sha256-jOlHXl7ANhMwOPizd5KH+wYZmBNNkkIa9jbXZR8Xu28="; + rev = "d347be5ae1d79645ac277d19080eacba7b229cf8"; + hash = "sha256-LKsH+aeLg7v2RfK80D3mgXdPB8jMIv5uFdf+3c5Z0vA="; }; strictDeps = true; @@ -75,6 +76,10 @@ postgresqlBuildExtension (finalAttrs: { ''; }; + passthru.updateScript = unstableGitUpdater { + hardcodeZeroVersion = true; + }; + meta = { description = "Postgres as a Business Operating System"; homepage = "https://docs.omnigres.org"; diff --git a/pkgs/servers/sql/postgresql/ext/pgtap.nix b/pkgs/servers/sql/postgresql/ext/pgtap.nix index 37cd20d70202..7ecf3313a809 100644 --- a/pkgs/servers/sql/postgresql/ext/pgtap.nix +++ b/pkgs/servers/sql/postgresql/ext/pgtap.nix @@ -61,7 +61,7 @@ postgresqlBuildExtension (finalAttrs: { as well as the ability to integrate with other TAP-emitting test frameworks. It can also be used in the xUnit testing style. ''; - maintainers = with lib.maintainers; [ willibutz ]; + maintainers = [ ]; homepage = "https://pgtap.org"; inherit (postgresql.meta) platforms; license = lib.licenses.mit; diff --git a/pkgs/servers/sql/postgresql/ext/timescaledb.nix b/pkgs/servers/sql/postgresql/ext/timescaledb.nix index 6bd33fcedf8e..349732a40010 100644 --- a/pkgs/servers/sql/postgresql/ext/timescaledb.nix +++ b/pkgs/servers/sql/postgresql/ext/timescaledb.nix @@ -13,13 +13,13 @@ postgresqlBuildExtension (finalAttrs: { pname = "timescaledb${lib.optionalString (!enableUnfree) "-apache"}"; - version = "2.20.2"; + version = "2.20.3"; src = fetchFromGitHub { owner = "timescale"; repo = "timescaledb"; tag = finalAttrs.version; - hash = "sha256-GFM6smJv34IeDwOPdTDrHXfYFmHyPhdVxPB/0n4L3NE="; + hash = "sha256-Ma6h2ISMjBz14y5Pbx4T4QOMrrvUy5wkPyKawm9rpx0="; }; nativeBuildInputs = [ cmake ]; @@ -53,7 +53,7 @@ postgresqlBuildExtension (finalAttrs: { inherit (finalAttrs) finalPackage; withPackages = [ "timescaledb_toolkit" ]; postgresqlExtraSettings = '' - shared_preload_libraries='timescaledb,timescaledb_toolkit' + shared_preload_libraries='timescaledb' ''; sql = '' CREATE EXTENSION timescaledb; diff --git a/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix b/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix index 50ec99c21712..ebabe9c5bdf5 100644 --- a/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix +++ b/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix @@ -24,6 +24,10 @@ cargoHash = "sha256-kyUpfNEXJ732VO6JDxU+dIoL57uWzG4Ff03/GnvsxLE="; buildAndTestSubdir = "extension"; + postInstall = '' + cargo run --manifest-path ./tools/post-install/Cargo.toml -- --dir "$out" + ''; + passthru = { updateScript = nix-update-script { }; tests = postgresql.pkgs.timescaledb.tests; diff --git a/pkgs/servers/varnish/default.nix b/pkgs/servers/varnish/default.nix index b496c0569d79..2d6930e34970 100644 --- a/pkgs/servers/varnish/default.nix +++ b/pkgs/servers/varnish/default.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchurl, + fetchpatch2, pcre, pcre2, jemalloc, @@ -56,6 +57,24 @@ let buildFlags = [ "localstatedir=/var/run" ]; + patches = + lib.optionals (stdenv.isDarwin && lib.versionAtLeast version "7.7") [ + # Fix VMOD section attribute on macOS + # Unreleased commit on master + (fetchpatch2 { + url = "https://github.com/varnishcache/varnish-cache/commit/a95399f5b9eda1bfdba6ee6406c30a1ed0720167.patch"; + hash = "sha256-T7DIkmnq0O+Cr9DTJS4/rOtg3J6PloUo8jHMWoUZYYk="; + }) + # Fix endian.h compatibility on macOS + # PR: https://github.com/varnishcache/varnish-cache/pull/4339 + ./patches/0001-fix-endian-h-compatibility-on-macos.patch + ] + ++ lib.optionals (stdenv.isDarwin && lib.versionOlder version "7.6") [ + # Fix duplicate OS_CODE definitions on macOS + # PR: https://github.com/varnishcache/varnish-cache/pull/4347 + ./patches/0002-fix-duplicate-os-code-definitions-on-macos.patch + ]; + postPatch = '' substituteInPlace bin/varnishtest/vtc_main.c --replace /bin/rm "${coreutils}/bin/rm" ''; diff --git a/pkgs/servers/varnish/patches/0001-fix-endian-h-compatibility-on-macos.patch b/pkgs/servers/varnish/patches/0001-fix-endian-h-compatibility-on-macos.patch new file mode 100644 index 000000000000..1b4f3568781e --- /dev/null +++ b/pkgs/servers/varnish/patches/0001-fix-endian-h-compatibility-on-macos.patch @@ -0,0 +1,43 @@ +From 7a1c7020db85699e0693d637f6e31d49bf9ca3d0 Mon Sep 17 00:00:00 2001 +From: Rui Chen +Date: Sun, 25 May 2025 23:54:29 -0400 +Subject: [PATCH] libvarnish: Fix endian.h compatibility for macOS builds + +Signed-off-by: Rui Chen +--- + lib/libvarnish/vsha256.c | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +diff --git a/lib/libvarnish/vsha256.c b/lib/libvarnish/vsha256.c +index 29f97fe40..541b6e612 100644 +--- a/lib/libvarnish/vsha256.c ++++ b/lib/libvarnish/vsha256.c +@@ -31,7 +31,14 @@ + + #include "config.h" + +-#ifndef __DARWIN_BYTE_ORDER ++#ifdef __APPLE__ ++# include ++# include ++# define htobe32(x) OSSwapHostToBigInt32(x) ++# define htobe64(x) OSSwapHostToBigInt64(x) ++# define VBYTE_ORDER __DARWIN_BYTE_ORDER ++# define VBIG_ENDIAN __DARWIN_BIG_ENDIAN ++#else + # include + # ifdef _BYTE_ORDER + # define VBYTE_ORDER _BYTE_ORDER +@@ -43,9 +50,6 @@ + # else + # define VBIG_ENDIAN __BIG_ENDIAN + # endif +-#else +-# define VBYTE_ORDER __DARWIN_BYTE_ORDER +-# define VBIG_ENDIAN __DARWIN_BIG_ENDIAN + #endif + + #ifndef VBYTE_ORDER +-- +2.49.0 + diff --git a/pkgs/servers/varnish/patches/0002-fix-duplicate-os-code-definitions-on-macos.patch b/pkgs/servers/varnish/patches/0002-fix-duplicate-os-code-definitions-on-macos.patch new file mode 100644 index 000000000000..4153e20e08f1 --- /dev/null +++ b/pkgs/servers/varnish/patches/0002-fix-duplicate-os-code-definitions-on-macos.patch @@ -0,0 +1,43 @@ +From f56b314408d22252bf62d6cd2e098cf8139bd048 Mon Sep 17 00:00:00 2001 +From: Sander +Date: Fri, 13 Jun 2025 01:12:59 +0200 +Subject: [PATCH] build: fix duplicate OS_CODE definitions on macOS + +`TARGET_OS_MAC` and `__APPLE__` are both true on macOS, which results in +duplicate definitions for `OS_CODE`. + +Upstream removed the check for `TARGET_OS_MAC`, as well as the ancient +compat code, in +https://github.com/madler/zlib/commit/4bd9a71f3539b5ce47f0c67ab5e01f3196dc8ef9. + +This was fixed in varnish >= 7.6 as part of https://github.com/varnishcache/varnish-cache/commit/86df12b6c1ad8208899ea353fdcbea227356fcf8. +--- + lib/libvgz/zutil.h | 11 +---------- + 1 file changed, 1 insertion(+), 10 deletions(-) + +diff --git a/lib/libvgz/zutil.h b/lib/libvgz/zutil.h +index 1c80e3842..294ea2b2d 100644 +--- a/lib/libvgz/zutil.h ++++ b/lib/libvgz/zutil.h +@@ -137,17 +137,8 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */ + # endif + #endif + +-#if defined(MACOS) || defined(TARGET_OS_MAC) ++#if defined(MACOS) + # define OS_CODE 7 +-# ifndef Z_SOLO +-# if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os +-# include /* for fdopen */ +-# else +-# ifndef fdopen +-# define fdopen(fd,mode) NULL /* No fdopen() */ +-# endif +-# endif +-# endif + #endif + + #ifdef __acorn +-- +2.49.0 + diff --git a/pkgs/servers/web-apps/bookstack/composer-env.nix b/pkgs/servers/web-apps/bookstack/composer-env.nix deleted file mode 100644 index b050628e8d1b..000000000000 --- a/pkgs/servers/web-apps/bookstack/composer-env.nix +++ /dev/null @@ -1,285 +0,0 @@ -# This file originates from composer2nix - -{ - stdenv, - lib, - writeTextFile, - fetchurl, - php, - unzip, - phpPackages, -}: - -let - inherit (phpPackages) composer; - - filterSrc = - src: - builtins.filterSource ( - path: type: - type != "directory" - || (baseNameOf path != ".git" && baseNameOf path != ".git" && baseNameOf path != ".svn") - ) src; - - buildZipPackage = - { name, src }: - stdenv.mkDerivation { - inherit name src; - nativeBuildInputs = [ unzip ]; - buildCommand = '' - shopt -s dotglob - unzip $src - baseDir=$(find . -type d -mindepth 1 -maxdepth 1) - cd $baseDir - mkdir -p $out - mv * $out - ''; - }; - - buildPackage = - { - name, - src, - packages ? { }, - devPackages ? { }, - buildInputs ? [ ], - symlinkDependencies ? false, - executable ? false, - removeComposerArtifacts ? false, - postInstall ? "", - noDev ? false, - composerExtraArgs ? "", - unpackPhase ? "true", - buildPhase ? "true", - ... - }@args: - - let - reconstructInstalled = writeTextFile { - name = "reconstructinstalled.php"; - executable = true; - text = '' - #! ${php}/bin/php - - ''; - }; - - constructBin = writeTextFile { - name = "constructbin.php"; - executable = true; - text = '' - #! ${php}/bin/php - - ''; - }; - - bundleDependencies = - dependencies: - lib.concatMapStrings ( - dependencyName: - let - dependency = dependencies.${dependencyName}; - in - '' - ${ - if dependency.targetDir == "" then - '' - vendorDir="$(dirname ${dependencyName})" - mkdir -p "$vendorDir" - ${ - if symlinkDependencies then - ''ln -s "${dependency.src}" "$vendorDir/$(basename "${dependencyName}")"'' - else - ''cp -av "${dependency.src}" "$vendorDir/$(basename "${dependencyName}")"'' - } - '' - else - '' - namespaceDir="${dependencyName}/$(dirname "${dependency.targetDir}")" - mkdir -p "$namespaceDir" - ${ - if symlinkDependencies then - ''ln -s "${dependency.src}" "$namespaceDir/$(basename "${dependency.targetDir}")"'' - else - ''cp -av "${dependency.src}" "$namespaceDir/$(basename "${dependency.targetDir}")"'' - } - '' - } - '' - ) (builtins.attrNames dependencies); - - extraArgs = removeAttrs args [ - "packages" - "devPackages" - "buildInputs" - ]; - in - stdenv.mkDerivation ( - { - buildInputs = [ - php - composer - ] ++ buildInputs; - - inherit unpackPhase buildPhase; - - installPhase = '' - ${ - if executable then - '' - mkdir -p $out/share/php - cp -av $src $out/share/php/$name - chmod -R u+w $out/share/php/$name - cd $out/share/php/$name - '' - else - '' - cp -av $src $out - chmod -R u+w $out - cd $out - '' - } - - # Remove unwanted files - rm -f *.nix - - export HOME=$TMPDIR - - # Remove the provided vendor folder if it exists - rm -Rf vendor - - # If there is no composer.lock file, compose a dummy file. - # Otherwise, composer attempts to download the package.json file from - # the registry which we do not want. - if [ ! -f composer.lock ] - then - cat > composer.lock < vendor/composer/installed.json - - # Copy or symlink the provided dependencies - cd vendor - ${bundleDependencies packages} - ${lib.optionalString (!noDev) (bundleDependencies devPackages)} - cd .. - - # Reconstruct autoload scripts - # We use the optimize feature because Nix packages cannot change after they have been built - # Using the dynamic loader for a Nix package is useless since there is nothing to dynamically reload. - composer dump-autoload --optimize ${lib.optionalString noDev "--no-dev"} ${composerExtraArgs} - - # Run the install step as a validation to confirm that everything works out as expected - composer install --optimize-autoloader ${lib.optionalString noDev "--no-dev"} ${composerExtraArgs} - - ${lib.optionalString executable '' - # Reconstruct the bin/ folder if we deploy an executable project - ${php}/bin/php ${constructBin} composer.json - ln -s $(pwd)/vendor/bin $out/bin - ''} - - ${lib.optionalString (!symlinkDependencies) '' - # Patch the shebangs if possible - if [ -d $(pwd)/vendor/bin ] - then - # Look for all executables in bin/ - for i in $(pwd)/vendor/bin/* - do - # Look for their location - realFile=$(readlink -f "$i") - - # Restore write permissions - chmod u+wx "$(dirname "$realFile")" - chmod u+w "$realFile" - - # Patch shebang - sed -e "s|#!/usr/bin/php|#!${php}/bin/php|" \ - -e "s|#!/usr/bin/env php|#!${php}/bin/php|" \ - "$realFile" > tmp - mv tmp "$realFile" - chmod u+x "$realFile" - done - fi - ''} - - if [ "$removeComposerArtifacts" = "1" ] - then - # Remove composer stuff - rm -f composer.json composer.lock - fi - - # Execute post install hook - runHook postInstall - ''; - } - // extraArgs - ); -in -{ - inherit filterSrc; - composer = lib.makeOverridable composer; - buildZipPackage = lib.makeOverridable buildZipPackage; - buildPackage = lib.makeOverridable buildPackage; -} diff --git a/pkgs/servers/web-apps/bookstack/composition.nix b/pkgs/servers/web-apps/bookstack/composition.nix deleted file mode 100644 index dc9f2f6f6c20..000000000000 --- a/pkgs/servers/web-apps/bookstack/composition.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ - pkgs ? import { inherit system; }, - system ? builtins.currentSystem, - noDev ? false, - php ? pkgs.php, - phpPackages ? pkgs.phpPackages, -}: - -let - composerEnv = import ./composer-env.nix { - inherit (pkgs) - stdenv - lib - writeTextFile - fetchurl - unzip - ; - inherit php phpPackages; - }; -in -import ./php-packages.nix { - inherit composerEnv noDev; - inherit (pkgs) - fetchurl - fetchgit - fetchhg - fetchsvn - ; -} diff --git a/pkgs/servers/web-apps/bookstack/default.nix b/pkgs/servers/web-apps/bookstack/default.nix deleted file mode 100644 index f52cc3c3ef0e..000000000000 --- a/pkgs/servers/web-apps/bookstack/default.nix +++ /dev/null @@ -1,50 +0,0 @@ -{ - pkgs, - stdenv, - lib, - fetchFromGitHub, - dataDir ? "/var/lib/bookstack", -}: - -let - package = - (import ./composition.nix { - inherit pkgs; - inherit (stdenv.hostPlatform) system; - noDev = true; # Disable development dependencies - }).overrideAttrs - (attrs: { - installPhase = - attrs.installPhase - + '' - rm -R $out/storage $out/public/uploads - ln -s ${dataDir}/.env $out/.env - ln -s ${dataDir}/storage $out/storage - ln -s ${dataDir}/public/uploads $out/public/uploads - ''; - }); - -in -package.override rec { - pname = "bookstack"; - version = "24.12.1"; - - src = fetchFromGitHub { - owner = "bookstackapp"; - repo = pname; - rev = "v${version}"; - sha256 = "sha256-uuek56256NCIhvvLYTHgbRBea66SUg+9xnfcOsK5Bo0="; - }; - - meta = with lib; { - description = "Platform to create documentation/wiki content built with PHP & Laravel"; - longDescription = '' - A platform for storing and organising information and documentation. - Details for BookStack can be found on the official website at https://www.bookstackapp.com/. - ''; - homepage = "https://www.bookstackapp.com/"; - license = licenses.mit; - maintainers = with maintainers; [ ymarkus ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/servers/web-apps/bookstack/php-packages.nix b/pkgs/servers/web-apps/bookstack/php-packages.nix deleted file mode 100644 index f0f6529d1c80..000000000000 --- a/pkgs/servers/web-apps/bookstack/php-packages.nix +++ /dev/null @@ -1,1124 +0,0 @@ -{ - composerEnv, - fetchurl, - fetchgit ? null, - fetchhg ? null, - fetchsvn ? null, - noDev ? false, -}: - -let - packages = { - "aws/aws-crt-php" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "aws-aws-crt-php-d71d9906c7bb63a28295447ba12e74723bd3730e"; - src = fetchurl { - url = "https://api.github.com/repos/awslabs/aws-crt-php/zipball/d71d9906c7bb63a28295447ba12e74723bd3730e"; - sha256 = "1giqdlzja742di06qychsi8w12hy4dmaajzgl7jhcpwqqyi4xh42"; - }; - }; - }; - "aws/aws-sdk-php" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "aws-aws-sdk-php-0f8b3f63ba7b296afedcb3e6a43ce140831b9400"; - src = fetchurl { - url = "https://api.github.com/repos/aws/aws-sdk-php/zipball/0f8b3f63ba7b296afedcb3e6a43ce140831b9400"; - sha256 = "1fccvd3mp1q180980y2ri0iy55mrzcv3yc1kiwiz4dm2lswzi2n8"; - }; - }; - }; - "bacon/bacon-qr-code" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "bacon-bacon-qr-code-f9cc1f52b5a463062251d666761178dbdb6b544f"; - src = fetchurl { - url = "https://api.github.com/repos/Bacon/BaconQrCode/zipball/f9cc1f52b5a463062251d666761178dbdb6b544f"; - sha256 = "1gjx5c8y5kx57i1525pls1ay0rrxd3bh8504arrxjh7fcag0lvdf"; - }; - }; - }; - "brick/math" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "brick-math-f510c0a40911935b77b86859eb5223d58d660df1"; - src = fetchurl { - url = "https://api.github.com/repos/brick/math/zipball/f510c0a40911935b77b86859eb5223d58d660df1"; - sha256 = "1cgj6qfjjl76jyjxxkdmnzl0sc8y3pkvcw91lpjdlp4jnqlq31by"; - }; - }; - }; - "carbonphp/carbon-doctrine-types" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "carbonphp-carbon-doctrine-types-99f76ffa36cce3b70a4a6abce41dba15ca2e84cb"; - src = fetchurl { - url = "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/99f76ffa36cce3b70a4a6abce41dba15ca2e84cb"; - sha256 = "0vkhwbprqlcg4awdknaycbfydb4spk7vd1v0nxbq06zx22dmphaz"; - }; - }; - }; - "dasprid/enum" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "dasprid-enum-8dfd07c6d2cf31c8da90c53b83c026c7696dda90"; - src = fetchurl { - url = "https://api.github.com/repos/DASPRiD/Enum/zipball/8dfd07c6d2cf31c8da90c53b83c026c7696dda90"; - sha256 = "1ainxbpfbh9fir2vihc4q614yq6rc3lvz6836nddl50wx2zpcby2"; - }; - }; - }; - "dflydev/dot-access-data" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "dflydev-dot-access-data-a23a2bf4f31d3518f3ecb38660c95715dfead60f"; - src = fetchurl { - url = "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/a23a2bf4f31d3518f3ecb38660c95715dfead60f"; - sha256 = "0j0rywsfpna100ygdk5f2ngijc8cp785szz84274mq8gdzhan06l"; - }; - }; - }; - "doctrine/cache" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "doctrine-cache-1ca8f21980e770095a31456042471a57bc4c68fb"; - src = fetchurl { - url = "https://api.github.com/repos/doctrine/cache/zipball/1ca8f21980e770095a31456042471a57bc4c68fb"; - sha256 = "1p8ia9g3mqz71bv4x8q1ng1fgcidmyksbsli1fjbialpgjk9k1ss"; - }; - }; - }; - "doctrine/dbal" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "doctrine-dbal-61446f07fcb522414d6cfd8b1c3e5f9e18c579ba"; - src = fetchurl { - url = "https://api.github.com/repos/doctrine/dbal/zipball/61446f07fcb522414d6cfd8b1c3e5f9e18c579ba"; - sha256 = "0sxl6xf9svrz4pda9x3zpygfqr6m0x96yixjim6mqi8mx4xxayv9"; - }; - }; - }; - "doctrine/deprecations" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "doctrine-deprecations-dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab"; - src = fetchurl { - url = "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab"; - sha256 = "1qydhnf94wgjlrgzydjcz31rr5f87pg3vlkkd0gynggw1ycgkkcg"; - }; - }; - }; - "doctrine/event-manager" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "doctrine-event-manager-b680156fa328f1dfd874fd48c7026c41570b9c6e"; - src = fetchurl { - url = "https://api.github.com/repos/doctrine/event-manager/zipball/b680156fa328f1dfd874fd48c7026c41570b9c6e"; - sha256 = "135zcwnlfijxzv3x5qn1zs3jmybs1n2q64pbs5gbjwmsdgrxhzsi"; - }; - }; - }; - "doctrine/inflector" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "doctrine-inflector-5817d0659c5b50c9b950feb9af7b9668e2c436bc"; - src = fetchurl { - url = "https://api.github.com/repos/doctrine/inflector/zipball/5817d0659c5b50c9b950feb9af7b9668e2c436bc"; - sha256 = "0yj0f6w0v35d0xdhy4bf7hsjrkjjxsglc879rdciybsk6vz70g96"; - }; - }; - }; - "doctrine/lexer" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "doctrine-lexer-31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd"; - src = fetchurl { - url = "https://api.github.com/repos/doctrine/lexer/zipball/31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd"; - sha256 = "1yaznxpd1d8h3ij262hx946nqvhzsgjmafdgnxbaiarc6nslww25"; - }; - }; - }; - "dompdf/dompdf" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "dompdf-dompdf-fbc7c5ee5d94f7a910b78b43feb7931b7f971b59"; - src = fetchurl { - url = "https://api.github.com/repos/dompdf/dompdf/zipball/fbc7c5ee5d94f7a910b78b43feb7931b7f971b59"; - sha256 = "0pm5nkk44z5walc494g907w6s0n8njq62bbr2sr5akcdic4wwshs"; - }; - }; - }; - "dompdf/php-font-lib" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "dompdf-php-font-lib-991d6a954f6bbd7e41022198f00586b230731441"; - src = fetchurl { - url = "https://api.github.com/repos/dompdf/php-font-lib/zipball/991d6a954f6bbd7e41022198f00586b230731441"; - sha256 = "03k37d1dswzgmsjzzmhyavvbs46jara7v976cxmbs89by48kngmj"; - }; - }; - }; - "dompdf/php-svg-lib" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "dompdf-php-svg-lib-eb045e518185298eb6ff8d80d0d0c6b17aecd9af"; - src = fetchurl { - url = "https://api.github.com/repos/dompdf/php-svg-lib/zipball/eb045e518185298eb6ff8d80d0d0c6b17aecd9af"; - sha256 = "1n9ykcs226fnzhk45afyjpn50pqmz5w3gw5zx5iyv0lsdpdhdilc"; - }; - }; - }; - "dragonmantank/cron-expression" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "dragonmantank-cron-expression-8c784d071debd117328803d86b2097615b457500"; - src = fetchurl { - url = "https://api.github.com/repos/dragonmantank/cron-expression/zipball/8c784d071debd117328803d86b2097615b457500"; - sha256 = "1zamydhfqww233055i7199jqpn6cjxm00r5mfa6mix3fnbbff7n1"; - }; - }; - }; - "egulias/email-validator" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "egulias-email-validator-ebaaf5be6c0286928352e054f2d5125608e5405e"; - src = fetchurl { - url = "https://api.github.com/repos/egulias/EmailValidator/zipball/ebaaf5be6c0286928352e054f2d5125608e5405e"; - sha256 = "02n4sh0gywqzsl46n9q8hqqgiyva2gj4lxdz9fw4pvhkm1s27wd6"; - }; - }; - }; - "firebase/php-jwt" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "firebase-php-jwt-30c19ed0f3264cb660ea496895cfb6ef7ee3653b"; - src = fetchurl { - url = "https://api.github.com/repos/firebase/php-jwt/zipball/30c19ed0f3264cb660ea496895cfb6ef7ee3653b"; - sha256 = "1hyf7g7i1bwv5yd53dg3g6c5f4r8cniynys4y4dwqavl5v92lgkn"; - }; - }; - }; - "fruitcake/php-cors" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "fruitcake-php-cors-3d158f36e7875e2f040f37bc0573956240a5a38b"; - src = fetchurl { - url = "https://api.github.com/repos/fruitcake/php-cors/zipball/3d158f36e7875e2f040f37bc0573956240a5a38b"; - sha256 = "1pdq0dxrmh4yj48y9azrld10qmz1w3vbb9q81r85fvgl62l2kiww"; - }; - }; - }; - "graham-campbell/result-type" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "graham-campbell-result-type-3ba905c11371512af9d9bdd27d99b782216b6945"; - src = fetchurl { - url = "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/3ba905c11371512af9d9bdd27d99b782216b6945"; - sha256 = "16bsycdsgcf4jz2sd277958rn9k9mzxjnby20xpmyhb7s8c2rac7"; - }; - }; - }; - "guzzlehttp/guzzle" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "guzzlehttp-guzzle-d281ed313b989f213357e3be1a179f02196ac99b"; - src = fetchurl { - url = "https://api.github.com/repos/guzzle/guzzle/zipball/d281ed313b989f213357e3be1a179f02196ac99b"; - sha256 = "048hm3r04ldk2w9pqja6jmkc590h1kln3136128bn7zzdg1vmqi4"; - }; - }; - }; - "guzzlehttp/promises" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "guzzlehttp-promises-f9c436286ab2892c7db7be8c8da4ef61ccf7b455"; - src = fetchurl { - url = "https://api.github.com/repos/guzzle/promises/zipball/f9c436286ab2892c7db7be8c8da4ef61ccf7b455"; - sha256 = "0xp8slhb6kw9n7i5y6cpbgkc0nkk4gb1lw452kz4fszhk3r1wmgh"; - }; - }; - }; - "guzzlehttp/psr7" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "guzzlehttp-psr7-a70f5c95fb43bc83f07c9c948baa0dc1829bf201"; - src = fetchurl { - url = "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201"; - sha256 = "1xp4c6v1qszbhzdgcgbd03dvxsk0s0vysr3q4rvhm134qlkbrdf2"; - }; - }; - }; - "guzzlehttp/uri-template" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "guzzlehttp-uri-template-ecea8feef63bd4fef1f037ecb288386999ecc11c"; - src = fetchurl { - url = "https://api.github.com/repos/guzzle/uri-template/zipball/ecea8feef63bd4fef1f037ecb288386999ecc11c"; - sha256 = "0r3cbb2pgsy4nawbylc0nbski2r9dkl335ay5m4i82yglspl9zz4"; - }; - }; - }; - "intervention/gif" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "intervention-gif-42c131a31b93c440ad49061b599fa218f06f93be"; - src = fetchurl { - url = "https://api.github.com/repos/Intervention/gif/zipball/42c131a31b93c440ad49061b599fa218f06f93be"; - sha256 = "00144rc5wig0d594m2xvpwr2nd28z2xr4s7rcgcqg0iyf6d4xnwy"; - }; - }; - }; - "intervention/image" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "intervention-image-b496d1f6b9f812f96166623358dfcafb8c3b1683"; - src = fetchurl { - url = "https://api.github.com/repos/Intervention/image/zipball/b496d1f6b9f812f96166623358dfcafb8c3b1683"; - sha256 = "0mkcwbkp6g36irngcdaf13zs2ddhkjjy19szd45xvnrgi815szak"; - }; - }; - }; - "knplabs/knp-snappy" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "knplabs-knp-snappy-98468898b50c09f26d56d905b79b0f52a2215da6"; - src = fetchurl { - url = "https://api.github.com/repos/KnpLabs/snappy/zipball/98468898b50c09f26d56d905b79b0f52a2215da6"; - sha256 = "158fsqrnqw0my381f8cfvy5savcvlmpazfbn8j5ds26mldv59csa"; - }; - }; - }; - "laravel/framework" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "laravel-framework-f132b23b13909cc22c615c01b0c5640541c3da0c"; - src = fetchurl { - url = "https://api.github.com/repos/laravel/framework/zipball/f132b23b13909cc22c615c01b0c5640541c3da0c"; - sha256 = "1jcj7cy0hhnx1h69c5sbj193sd43azgjcg89vmzn271z20nbq2bp"; - }; - }; - }; - "laravel/prompts" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "laravel-prompts-7b4029a84c37cb2725fc7f011586e2997040bc95"; - src = fetchurl { - url = "https://api.github.com/repos/laravel/prompts/zipball/7b4029a84c37cb2725fc7f011586e2997040bc95"; - sha256 = "0fzww2cdpm5l6smas1kw47wh9j0w72z00bb8ahxyzlz0gl4k7jz8"; - }; - }; - }; - "laravel/serializable-closure" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "laravel-serializable-closure-4f48ade902b94323ca3be7646db16209ec76be3d"; - src = fetchurl { - url = "https://api.github.com/repos/laravel/serializable-closure/zipball/4f48ade902b94323ca3be7646db16209ec76be3d"; - sha256 = "0bky5s0lhi52d50jvns0844v9fcjlrf95df4mxrz17rkffix3h5w"; - }; - }; - }; - "laravel/socialite" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "laravel-socialite-40a2dc98c53d9dc6d55eadb0d490d3d72b73f1bf"; - src = fetchurl { - url = "https://api.github.com/repos/laravel/socialite/zipball/40a2dc98c53d9dc6d55eadb0d490d3d72b73f1bf"; - sha256 = "0bdc7z06yn7n17bhagp3b0a0q5639yy9766vzbd0sxjllnyviq4l"; - }; - }; - }; - "laravel/tinker" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "laravel-tinker-ba4d51eb56de7711b3a37d63aa0643e99a339ae5"; - src = fetchurl { - url = "https://api.github.com/repos/laravel/tinker/zipball/ba4d51eb56de7711b3a37d63aa0643e99a339ae5"; - sha256 = "1zwfb4qcy254fbfzv0y6vijmr5309qi419mppmzd3x68bhwbqqhx"; - }; - }; - }; - "league/commonmark" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "league-commonmark-b650144166dfa7703e62a22e493b853b58d874b0"; - src = fetchurl { - url = "https://api.github.com/repos/thephpleague/commonmark/zipball/b650144166dfa7703e62a22e493b853b58d874b0"; - sha256 = "0ggjlpjdjvk9dxdav2264j7ycazsg6s5wlzmv8ihv375wi20dg5g"; - }; - }; - }; - "league/config" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "league-config-754b3604fb2984c71f4af4a9cbe7b57f346ec1f3"; - src = fetchurl { - url = "https://api.github.com/repos/thephpleague/config/zipball/754b3604fb2984c71f4af4a9cbe7b57f346ec1f3"; - sha256 = "0yjb85cd0qa0mra995863dij2hmcwk9x124vs8lrwiylb0l3mn8s"; - }; - }; - }; - "league/flysystem" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "league-flysystem-edc1bb7c86fab0776c3287dbd19b5fa278347319"; - src = fetchurl { - url = "https://api.github.com/repos/thephpleague/flysystem/zipball/edc1bb7c86fab0776c3287dbd19b5fa278347319"; - sha256 = "04pimnf6r8ji528miz1cvzd7wqg3i79nlgrlnk1g9sl58c3aac99"; - }; - }; - }; - "league/flysystem-aws-s3-v3" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "league-flysystem-aws-s3-v3-c6ff6d4606e48249b63f269eba7fabdb584e76a9"; - src = fetchurl { - url = "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/c6ff6d4606e48249b63f269eba7fabdb584e76a9"; - sha256 = "1xafv6yal257zjs78v08axhx0vh8mwp2c755qcc663aqqxf0f191"; - }; - }; - }; - "league/flysystem-local" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "league-flysystem-local-e0e8d52ce4b2ed154148453d321e97c8e931bd27"; - src = fetchurl { - url = "https://api.github.com/repos/thephpleague/flysystem-local/zipball/e0e8d52ce4b2ed154148453d321e97c8e931bd27"; - sha256 = "1znrjl38qagn78rjnsrlqmwghff6dfdqk9wy5r0bhrf6yjfs7j3z"; - }; - }; - }; - "league/html-to-markdown" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "league-html-to-markdown-0b4066eede55c48f38bcee4fb8f0aa85654390fd"; - src = fetchurl { - url = "https://api.github.com/repos/thephpleague/html-to-markdown/zipball/0b4066eede55c48f38bcee4fb8f0aa85654390fd"; - sha256 = "0cd0sv99albdkrj4hmrbb76ji366dsl4jcpsr9gmrrpy3jxi2h7a"; - }; - }; - }; - "league/mime-type-detection" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "league-mime-type-detection-2d6702ff215bf922936ccc1ad31007edc76451b9"; - src = fetchurl { - url = "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/2d6702ff215bf922936ccc1ad31007edc76451b9"; - sha256 = "0i1gkmflcb17f2bi39xgfgxkjw0wb3qzlag7zjdwqfrg991xda0v"; - }; - }; - }; - "league/oauth1-client" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "league-oauth1-client-d6365b901b5c287dd41f143033315e2f777e1167"; - src = fetchurl { - url = "https://api.github.com/repos/thephpleague/oauth1-client/zipball/d6365b901b5c287dd41f143033315e2f777e1167"; - sha256 = "0hkh8l7884g8ssja1biwfb59x0jj951lwk6kmiacjqvyvzs07qmx"; - }; - }; - }; - "league/oauth2-client" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "league-oauth2-client-160d6274b03562ebeb55ed18399281d8118b76c8"; - src = fetchurl { - url = "https://api.github.com/repos/thephpleague/oauth2-client/zipball/160d6274b03562ebeb55ed18399281d8118b76c8"; - sha256 = "1vyd8c64armlaf9zmpjx2gy0nvv4mhzy5qk9k26k75wa9ffh482s"; - }; - }; - }; - "masterminds/html5" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "masterminds-html5-f5ac2c0b0a2eefca70b2ce32a5809992227e75a6"; - src = fetchurl { - url = "https://api.github.com/repos/Masterminds/html5-php/zipball/f5ac2c0b0a2eefca70b2ce32a5809992227e75a6"; - sha256 = "1fbicmaw79rycpywbbxm2fs3lnmb1a7jvfx6d9sb6nvfhsy924fx"; - }; - }; - }; - "monolog/monolog" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "monolog-monolog-32e515fdc02cdafbe4593e30a9350d486b125b67"; - src = fetchurl { - url = "https://api.github.com/repos/Seldaek/monolog/zipball/32e515fdc02cdafbe4593e30a9350d486b125b67"; - sha256 = "0bj9mzh8a08y672fbwmmgxp8ma1n2cjcs37bjv2wy9pcnr28562p"; - }; - }; - }; - "mtdowling/jmespath.php" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "mtdowling-jmespath.php-a2a865e05d5f420b50cc2f85bb78d565db12a6bc"; - src = fetchurl { - url = "https://api.github.com/repos/jmespath/jmespath.php/zipball/a2a865e05d5f420b50cc2f85bb78d565db12a6bc"; - sha256 = "0jrv7w57fb22lrmvr1llw82g2zghm55bar8mp7jnmx486fn6vlx1"; - }; - }; - }; - "nesbot/carbon" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "nesbot-carbon-afd46589c216118ecd48ff2b95d77596af1e57ed"; - src = fetchurl { - url = "https://api.github.com/repos/briannesbitt/Carbon/zipball/afd46589c216118ecd48ff2b95d77596af1e57ed"; - sha256 = "17sz76kydaf5n74qgqz36yxbmg4lwcbcv6kpjxrqfqfrb65sz5b6"; - }; - }; - }; - "nette/schema" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "nette-schema-da801d52f0354f70a638673c4a0f04e16529431d"; - src = fetchurl { - url = "https://api.github.com/repos/nette/schema/zipball/da801d52f0354f70a638673c4a0f04e16529431d"; - sha256 = "0l9yc070yd90v4bzqrcnl4lc7vsk35d96fs1r8qsy4v8gnwmmfxy"; - }; - }; - }; - "nette/utils" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "nette-utils-736c567e257dbe0fcf6ce81b4d6dbe05c6899f96"; - src = fetchurl { - url = "https://api.github.com/repos/nette/utils/zipball/736c567e257dbe0fcf6ce81b4d6dbe05c6899f96"; - sha256 = "1v81fswairscrnakbrfh8mlh5i873krlgvhv6ngsb9pi281x6r2b"; - }; - }; - }; - "nikic/php-parser" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "nikic-php-parser-8eea230464783aa9671db8eea6f8c6ac5285794b"; - src = fetchurl { - url = "https://api.github.com/repos/nikic/PHP-Parser/zipball/8eea230464783aa9671db8eea6f8c6ac5285794b"; - sha256 = "1afglrsixmhjb4s5zpvw1y1mayjii6fbb22cfb6c96i84d3sjlc6"; - }; - }; - }; - "nunomaduro/termwind" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "nunomaduro-termwind-5369ef84d8142c1d87e4ec278711d4ece3cbf301"; - src = fetchurl { - url = "https://api.github.com/repos/nunomaduro/termwind/zipball/5369ef84d8142c1d87e4ec278711d4ece3cbf301"; - sha256 = "18n79xd3pp3mim5dkhjlgp6xbsyfrvps6cfwkb2hykf5gbk0n0lh"; - }; - }; - }; - "onelogin/php-saml" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "onelogin-php-saml-d3b5172f137db2f412239432d77253ceaaa1e939"; - src = fetchurl { - url = "https://api.github.com/repos/SAML-Toolkits/php-saml/zipball/d3b5172f137db2f412239432d77253ceaaa1e939"; - sha256 = "0hhsww74494bh7xk1d0cyr04yr2fggsscfs9z522k6md780pz85m"; - }; - }; - }; - "paragonie/constant_time_encoding" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "paragonie-constant_time_encoding-df1e7fde177501eee2037dd159cf04f5f301a512"; - src = fetchurl { - url = "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/df1e7fde177501eee2037dd159cf04f5f301a512"; - sha256 = "1kmhg6nfl71p4incb64md9q0s9lnpbl65z8442kqlgyhhfzi00v2"; - }; - }; - }; - "paragonie/random_compat" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "paragonie-random_compat-996434e5492cb4c3edcb9168db6fbb1359ef965a"; - src = fetchurl { - url = "https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a"; - sha256 = "0ky7lal59dihf969r1k3pb96ql8zzdc5062jdbg69j6rj0scgkyx"; - }; - }; - }; - "phpoption/phpoption" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "phpoption-phpoption-e3fac8b24f56113f7cb96af14958c0dd16330f54"; - src = fetchurl { - url = "https://api.github.com/repos/schmittjoh/php-option/zipball/e3fac8b24f56113f7cb96af14958c0dd16330f54"; - sha256 = "0rbw9mljc00rx2drrqpmwfs47s77iprxvpbff2vqw082x4y989rq"; - }; - }; - }; - "phpseclib/phpseclib" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "phpseclib-phpseclib-db92f1b1987b12b13f248fe76c3a52cadb67bb98"; - src = fetchurl { - url = "https://api.github.com/repos/phpseclib/phpseclib/zipball/db92f1b1987b12b13f248fe76c3a52cadb67bb98"; - sha256 = "0121b5ysn2wj9x5pibil2d0fqvy0b1wpywr7r7y5n2n5bnmq1p6i"; - }; - }; - }; - "pragmarx/google2fa" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "pragmarx-google2fa-6f8d87ebd5afbf7790bde1ffc7579c7c705e0fad"; - src = fetchurl { - url = "https://api.github.com/repos/antonioribeiro/google2fa/zipball/6f8d87ebd5afbf7790bde1ffc7579c7c705e0fad"; - sha256 = "0dknaaz6rlnyvisqbydx9mvy3fgp8pjavk4ms8qyq6dil4z1z13l"; - }; - }; - }; - "predis/predis" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "predis-predis-bac46bfdb78cd6e9c7926c697012aae740cb9ec9"; - src = fetchurl { - url = "https://api.github.com/repos/predis/predis/zipball/bac46bfdb78cd6e9c7926c697012aae740cb9ec9"; - sha256 = "1gq4drppphcxdmcgxnx4l63qnlksns0xs9amnz9dr728vs89y9k6"; - }; - }; - }; - "psr/cache" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "psr-cache-aa5030cfa5405eccfdcb1083ce040c2cb8d253bf"; - src = fetchurl { - url = "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf"; - sha256 = "07rnyjwb445sfj30v5ny3gfsgc1m7j7cyvwjgs2cm9slns1k1ml8"; - }; - }; - }; - "psr/clock" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "psr-clock-e41a24703d4560fd0acb709162f73b8adfc3aa0d"; - src = fetchurl { - url = "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d"; - sha256 = "0wz5b8hgkxn3jg88cb3901hj71axsj0fil6pwl413igghch6i8kj"; - }; - }; - }; - "psr/container" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "psr-container-c71ecc56dfe541dbd90c5360474fbc405f8d5963"; - src = fetchurl { - url = "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963"; - sha256 = "1mvan38yb65hwk68hl0p7jymwzr4zfnaxmwjbw7nj3rsknvga49i"; - }; - }; - }; - "psr/event-dispatcher" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "psr-event-dispatcher-dbefd12671e8a14ec7f180cab83036ed26714bb0"; - src = fetchurl { - url = "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0"; - sha256 = "05nicsd9lwl467bsv4sn44fjnnvqvzj1xqw2mmz9bac9zm66fsjd"; - }; - }; - }; - "psr/http-client" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "psr-http-client-bb5906edc1c324c9a05aa0873d40117941e5fa90"; - src = fetchurl { - url = "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90"; - sha256 = "1dfyjqj1bs2n2zddk8402v6rjq93fq26hwr0rjh53m11wy1wagsx"; - }; - }; - }; - "psr/http-factory" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "psr-http-factory-2b4765fddfe3b508ac62f829e852b1501d3f6e8a"; - src = fetchurl { - url = "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a"; - sha256 = "1ll0pzm0vd5kn45hhwrlkw2z9nqysqkykynn1bk1a73c5cjrghx3"; - }; - }; - }; - "psr/http-message" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "psr-http-message-402d35bcb92c70c026d1a6a9883f06b2ead23d71"; - src = fetchurl { - url = "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71"; - sha256 = "13cnlzrh344n00sgkrp5cgbkr8dznd99c3jfnpl0wg1fdv1x4qfm"; - }; - }; - }; - "psr/log" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "psr-log-f16e1d5863e37f8d8c2a01719f5b34baa2b714d3"; - src = fetchurl { - url = "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3"; - sha256 = "14h8r5qwjvlj7mjwk6ksbhffbv4k9v5cailin9039z1kz4nwz38y"; - }; - }; - }; - "psr/simple-cache" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "psr-simple-cache-764e0b3939f5ca87cb904f570ef9be2d78a07865"; - src = fetchurl { - url = "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865"; - sha256 = "0hgcanvd9gqwkaaaq41lh8fsfdraxmp2n611lvqv69jwm1iy76g8"; - }; - }; - }; - "psy/psysh" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "psy-psysh-2fd717afa05341b4f8152547f142cd2f130f6818"; - src = fetchurl { - url = "https://api.github.com/repos/bobthecow/psysh/zipball/2fd717afa05341b4f8152547f142cd2f130f6818"; - sha256 = "009mhfsh6vsrygdmr5b64w8mppw6j2n8ajbx856dpcwjji8fx8q7"; - }; - }; - }; - "ralouphie/getallheaders" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "ralouphie-getallheaders-120b605dfeb996808c31b6477290a714d356e822"; - src = fetchurl { - url = "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822"; - sha256 = "1bv7ndkkankrqlr2b4kw7qp3fl0dxi6bp26bnim6dnlhavd6a0gg"; - }; - }; - }; - "ramsey/collection" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "ramsey-collection-a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5"; - src = fetchurl { - url = "https://api.github.com/repos/ramsey/collection/zipball/a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5"; - sha256 = "0y5s9rbs023sw94yzvxr8fn9rr7xw03f08zmc9n9jl49zlr5s52p"; - }; - }; - }; - "ramsey/uuid" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "ramsey-uuid-91039bc1faa45ba123c4328958e620d382ec7088"; - src = fetchurl { - url = "https://api.github.com/repos/ramsey/uuid/zipball/91039bc1faa45ba123c4328958e620d382ec7088"; - sha256 = "0n6rj0b042fq319gfnp2c4aawawfz8vb2allw30jjfaf8497hh9j"; - }; - }; - }; - "robrichards/xmlseclibs" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "robrichards-xmlseclibs-2bdfd742624d739dfadbd415f00181b4a77aaf07"; - src = fetchurl { - url = "https://api.github.com/repos/robrichards/xmlseclibs/zipball/2bdfd742624d739dfadbd415f00181b4a77aaf07"; - sha256 = "0i7kah5qym1nqzvhlyzr4x519cnm2wshgc4x95zis6nci2abc4nb"; - }; - }; - }; - "sabberworm/php-css-parser" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "sabberworm-php-css-parser-f414ff953002a9b18e3a116f5e462c56f21237cf"; - src = fetchurl { - url = "https://api.github.com/repos/MyIntervals/PHP-CSS-Parser/zipball/f414ff953002a9b18e3a116f5e462c56f21237cf"; - sha256 = "0g1swfbvqafhzw6kdfc3dgn3n0bv1mcjy0q4xnb9j31j03j6nhni"; - }; - }; - }; - "socialiteproviders/discord" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "socialiteproviders-discord-c71c379acfdca5ba4aa65a3db5ae5222852a919c"; - src = fetchurl { - url = "https://api.github.com/repos/SocialiteProviders/Discord/zipball/c71c379acfdca5ba4aa65a3db5ae5222852a919c"; - sha256 = "0xly514yax8rlz91pp86s24apcam1cvjnphanjhdshd42hmpwr7w"; - }; - }; - }; - "socialiteproviders/gitlab" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "socialiteproviders-gitlab-a8f67d3b02c9ee8c70c25c6728417c0eddcbbb9d"; - src = fetchurl { - url = "https://api.github.com/repos/SocialiteProviders/GitLab/zipball/a8f67d3b02c9ee8c70c25c6728417c0eddcbbb9d"; - sha256 = "1blv2h69dmm0r0djz3h0l0cxkxmzd1fzgg13r3npxx7c80xjpw3a"; - }; - }; - }; - "socialiteproviders/manager" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "socialiteproviders-manager-ab0691b82cec77efd90154c78f1854903455c82f"; - src = fetchurl { - url = "https://api.github.com/repos/SocialiteProviders/Manager/zipball/ab0691b82cec77efd90154c78f1854903455c82f"; - sha256 = "016w17wjw35dbkpy3y032dp1ns43khybsxqfqgvdm5ipwrh2z6hx"; - }; - }; - }; - "socialiteproviders/microsoft-azure" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "socialiteproviders-microsoft-azure-453d62c9d7e3b3b76e94c913fb46e68a33347b16"; - src = fetchurl { - url = "https://api.github.com/repos/SocialiteProviders/Microsoft-Azure/zipball/453d62c9d7e3b3b76e94c913fb46e68a33347b16"; - sha256 = "0wcqwpj2x3llnisixz8id8ww0vr1cab7mh19mvf33dymxzydv11h"; - }; - }; - }; - "socialiteproviders/okta" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "socialiteproviders-okta-5e47cd7b4c19da94ecafbd91fa430e4151c09806"; - src = fetchurl { - url = "https://api.github.com/repos/SocialiteProviders/Okta/zipball/5e47cd7b4c19da94ecafbd91fa430e4151c09806"; - sha256 = "0padnyfg93avx33gq2acsss3kpclxsg43b9zywas1rd98d3md1di"; - }; - }; - }; - "socialiteproviders/twitch" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "socialiteproviders-twitch-c8791b9d208195b5f02bea432de89d0e612b955d"; - src = fetchurl { - url = "https://api.github.com/repos/SocialiteProviders/Twitch/zipball/c8791b9d208195b5f02bea432de89d0e612b955d"; - sha256 = "1abdn0ykx7rirmm64wi2zbw8fj9jr7a7p88p2mnfxd87l2qcc4rc"; - }; - }; - }; - "ssddanbrown/htmldiff" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "ssddanbrown-htmldiff-92da405f8138066834b71ac7bedebbda6327761b"; - src = fetchurl { - url = "https://api.github.com/repos/ssddanbrown/HtmlDiff/zipball/92da405f8138066834b71ac7bedebbda6327761b"; - sha256 = "1l1s8fdpd7k39l7mslk7pqgg6bwk2c3644ifj58y6515sik6m142"; - }; - }; - }; - "ssddanbrown/symfony-mailer" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "ssddanbrown-symfony-mailer-0497d6eb2734fe22b9550f88ae6526611c9df7ae"; - src = fetchurl { - url = "https://api.github.com/repos/ssddanbrown/symfony-mailer/zipball/0497d6eb2734fe22b9550f88ae6526611c9df7ae"; - sha256 = "0zs2hhcyv7f5lmz4xn9gp5dixcixgm3gfj4l8chzmqg6x640l59r"; - }; - }; - }; - "symfony/console" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "symfony-console-f1fc6f47283e27336e7cebb9e8946c8de7bff9bd"; - src = fetchurl { - url = "https://api.github.com/repos/symfony/console/zipball/f1fc6f47283e27336e7cebb9e8946c8de7bff9bd"; - sha256 = "0c2j2w9fnah56rgpfjnn21n23gp46253qp6j8q5xdz1z70dy9ihg"; - }; - }; - }; - "symfony/css-selector" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "symfony-css-selector-cb23e97813c5837a041b73a6d63a9ddff0778f5e"; - src = fetchurl { - url = "https://api.github.com/repos/symfony/css-selector/zipball/cb23e97813c5837a041b73a6d63a9ddff0778f5e"; - sha256 = "1xfvaydli47df151mvrdg34xx0jpvywiyyml5wrznb1hvds5z2gi"; - }; - }; - }; - "symfony/deprecation-contracts" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "symfony-deprecation-contracts-74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6"; - src = fetchurl { - url = "https://api.github.com/repos/symfony/deprecation-contracts/zipball/74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6"; - sha256 = "0jr67zcxmgq26xi9lrw3pg33fvchf27qg3liicm3r1k36hg4ymwf"; - }; - }; - }; - "symfony/error-handler" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "symfony-error-handler-9e024324511eeb00983ee76b9aedc3e6ecd993d9"; - src = fetchurl { - url = "https://api.github.com/repos/symfony/error-handler/zipball/9e024324511eeb00983ee76b9aedc3e6ecd993d9"; - sha256 = "18psyck3drgxqshs6r6kixcna3irp9sqf59b1ybd34f2fszp3nn6"; - }; - }; - }; - "symfony/event-dispatcher" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "symfony-event-dispatcher-0ffc48080ab3e9132ea74ef4e09d8dcf26bf897e"; - src = fetchurl { - url = "https://api.github.com/repos/symfony/event-dispatcher/zipball/0ffc48080ab3e9132ea74ef4e09d8dcf26bf897e"; - sha256 = "1gbdzsdhmncxpsdhy2l28lb1yjny1k6d7gz04c58bqpy9lwyc6pv"; - }; - }; - }; - "symfony/event-dispatcher-contracts" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "symfony-event-dispatcher-contracts-7642f5e970b672283b7823222ae8ef8bbc160b9f"; - src = fetchurl { - url = "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/7642f5e970b672283b7823222ae8ef8bbc160b9f"; - sha256 = "0d6d95w7dix7l8wyz66ki9781z3k8hsz1c7aglszlc1fn2v9kb93"; - }; - }; - }; - "symfony/finder" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "symfony-finder-daea9eca0b08d0ed1dc9ab702a46128fd1be4958"; - src = fetchurl { - url = "https://api.github.com/repos/symfony/finder/zipball/daea9eca0b08d0ed1dc9ab702a46128fd1be4958"; - sha256 = "0sr3vk37p427i8sk4rbyhb8rjqbl51k77q55kasszk75bnmx3dpa"; - }; - }; - }; - "symfony/http-foundation" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "symfony-http-foundation-431771b7a6f662f1575b3cfc8fd7617aa9864d57"; - src = fetchurl { - url = "https://api.github.com/repos/symfony/http-foundation/zipball/431771b7a6f662f1575b3cfc8fd7617aa9864d57"; - sha256 = "03v6aahc3s5wyz295g4iikixfy6jqys4j1k37ik6w1kax4igzy7q"; - }; - }; - }; - "symfony/http-kernel" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "symfony-http-kernel-8838b5b21d807923b893ccbfc2cbeda0f1bc00f0"; - src = fetchurl { - url = "https://api.github.com/repos/symfony/http-kernel/zipball/8838b5b21d807923b893ccbfc2cbeda0f1bc00f0"; - sha256 = "1clb6wl1qnf8ilfcd6zkmdc5dq8r0lf0fhw6z57yxm09yp4gva9g"; - }; - }; - }; - "symfony/mime" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "symfony-mime-1de1cf14d99b12c7ebbb850491ec6ae3ed468855"; - src = fetchurl { - url = "https://api.github.com/repos/symfony/mime/zipball/1de1cf14d99b12c7ebbb850491ec6ae3ed468855"; - sha256 = "1khg1pznfybzwn2ci7dlyy72c34l7gh2xd2imi5dg78xr92f421w"; - }; - }; - }; - "symfony/polyfill-ctype" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "symfony-polyfill-ctype-a3cc8b044a6ea513310cbd48ef7333b384945638"; - src = fetchurl { - url = "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638"; - sha256 = "1gwalz2r31bfqldkqhw8cbxybmc1pkg74kvg07binkhk531gjqdn"; - }; - }; - }; - "symfony/polyfill-intl-grapheme" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "symfony-polyfill-intl-grapheme-b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe"; - src = fetchurl { - url = "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe"; - sha256 = "06kbz2rqp0kyxpry055pciv02ihl7vgygigqhdqqy6q7aphg9i9a"; - }; - }; - }; - "symfony/polyfill-intl-idn" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "symfony-polyfill-intl-idn-c36586dcf89a12315939e00ec9b4474adcb1d773"; - src = fetchurl { - url = "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/c36586dcf89a12315939e00ec9b4474adcb1d773"; - sha256 = "1abzqpkq647mh6z5xbf81v50q9s6llaag9sk8y0mf3n0lm47nx4w"; - }; - }; - }; - "symfony/polyfill-intl-normalizer" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "symfony-polyfill-intl-normalizer-3833d7255cc303546435cb650316bff708a1c75c"; - src = fetchurl { - url = "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c"; - sha256 = "0qrq26nw97xfcl0p8x4ria46lk47k73vjjyqiklpw8w5cbibsfxj"; - }; - }; - }; - "symfony/polyfill-mbstring" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "symfony-polyfill-mbstring-85181ba99b2345b0ef10ce42ecac37612d9fd341"; - src = fetchurl { - url = "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341"; - sha256 = "07ir4drsx4ddmbps6igm6wyrzx2ksz3d61rs2m7p27qz7kx17ff1"; - }; - }; - }; - "symfony/polyfill-php80" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "symfony-polyfill-php80-60328e362d4c2c802a54fcbf04f9d3fb892b4cf8"; - src = fetchurl { - url = "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8"; - sha256 = "008nx5xplqx3iks3fpzd4qgy3zzrvx1bmsdc13ndf562a6hf9lrg"; - }; - }; - }; - "symfony/polyfill-php83" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "symfony-polyfill-php83-2fb86d65e2d424369ad2905e83b236a8805ba491"; - src = fetchurl { - url = "https://api.github.com/repos/symfony/polyfill-php83/zipball/2fb86d65e2d424369ad2905e83b236a8805ba491"; - sha256 = "1agcx7ydr1ljimacxbgpspcx7kssclwm0bj4zcdq6fhdwrkzxa15"; - }; - }; - }; - "symfony/polyfill-uuid" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "symfony-polyfill-uuid-21533be36c24be3f4b1669c4725c7d1d2bab4ae2"; - src = fetchurl { - url = "https://api.github.com/repos/symfony/polyfill-uuid/zipball/21533be36c24be3f4b1669c4725c7d1d2bab4ae2"; - sha256 = "0v8x07llqn7hac6qzm92ly6839ib63v05630rzr71f5ds69j1m09"; - }; - }; - }; - "symfony/process" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "symfony-process-3cb242f059c14ae08591c5c4087d1fe443564392"; - src = fetchurl { - url = "https://api.github.com/repos/symfony/process/zipball/3cb242f059c14ae08591c5c4087d1fe443564392"; - sha256 = "1dkif5bql8ngvr00x76c2v9x2d6kgddmniyv36m119c83r7ydk3f"; - }; - }; - }; - "symfony/routing" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "symfony-routing-91e02e606b4b705c2f4fb42f7e7708b7923a3220"; - src = fetchurl { - url = "https://api.github.com/repos/symfony/routing/zipball/91e02e606b4b705c2f4fb42f7e7708b7923a3220"; - sha256 = "0bgnl82j3g1qr7idr1xfh0wgc2civvy3hm1dqbk3ryd81mlkxrz7"; - }; - }; - }; - "symfony/service-contracts" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "symfony-service-contracts-e53260aabf78fb3d63f8d79d69ece59f80d5eda0"; - src = fetchurl { - url = "https://api.github.com/repos/symfony/service-contracts/zipball/e53260aabf78fb3d63f8d79d69ece59f80d5eda0"; - sha256 = "0qvk3ajc1jgw97ibr3jmxh7wxmxrvra5471ashhbd56gaiim7iq4"; - }; - }; - }; - "symfony/string" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "symfony-string-73a5e66ea2e1677c98d4449177c5a9cf9d8b4c6f"; - src = fetchurl { - url = "https://api.github.com/repos/symfony/string/zipball/73a5e66ea2e1677c98d4449177c5a9cf9d8b4c6f"; - sha256 = "1hnsdk4j9pj1h3nbyndbjl4yx1vczcpxsipf9b5llq70hx9bf12a"; - }; - }; - }; - "symfony/translation" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "symfony-translation-bee9bfabfa8b4045a66bf82520e492cddbaffa66"; - src = fetchurl { - url = "https://api.github.com/repos/symfony/translation/zipball/bee9bfabfa8b4045a66bf82520e492cddbaffa66"; - sha256 = "0a2pxp58sy2f3198f3l60kxj74laswvwhldsbfpkbp1kjz47r31k"; - }; - }; - }; - "symfony/translation-contracts" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "symfony-translation-contracts-4667ff3bd513750603a09c8dedbea942487fb07c"; - src = fetchurl { - url = "https://api.github.com/repos/symfony/translation-contracts/zipball/4667ff3bd513750603a09c8dedbea942487fb07c"; - sha256 = "1hkjg2anfkc56c4k31r2q857pm2w0r57zsn5hfrg7zv47slhb55n"; - }; - }; - }; - "symfony/uid" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "symfony-uid-18eb207f0436a993fffbdd811b5b8fa35fa5e007"; - src = fetchurl { - url = "https://api.github.com/repos/symfony/uid/zipball/18eb207f0436a993fffbdd811b5b8fa35fa5e007"; - sha256 = "0ah9mjjlizxsb7jk1aky9ws2d7v6y9xlb9vwcqmdmidiwmnkzq51"; - }; - }; - }; - "symfony/var-dumper" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "symfony-var-dumper-38254d5a5ac2e61f2b52f9caf54e7aa3c9d36b80"; - src = fetchurl { - url = "https://api.github.com/repos/symfony/var-dumper/zipball/38254d5a5ac2e61f2b52f9caf54e7aa3c9d36b80"; - sha256 = "0y55js8kqbafns1hkd03vgv7mzlyi540bb5kggi95b7v2mpy6c7j"; - }; - }; - }; - "tijsverkoyen/css-to-inline-styles" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "tijsverkoyen-css-to-inline-styles-83ee6f38df0a63106a9e4536e3060458b74ccedb"; - src = fetchurl { - url = "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/83ee6f38df0a63106a9e4536e3060458b74ccedb"; - sha256 = "1ahj49c7qz6m3y65jd18cz2c8cg6zqhkmnsrqrw1bf3s8ly9a9bp"; - }; - }; - }; - "vlucas/phpdotenv" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "vlucas-phpdotenv-a59a13791077fe3d44f90e7133eb68e7d22eaff2"; - src = fetchurl { - url = "https://api.github.com/repos/vlucas/phpdotenv/zipball/a59a13791077fe3d44f90e7133eb68e7d22eaff2"; - sha256 = "1w7nyghdx0vw0v3rqzx0x3lafhrkgfk2fi3xiy5vf4lkbv3rdl4h"; - }; - }; - }; - "voku/portable-ascii" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "voku-portable-ascii-b1d923f88091c6bf09699efcd7c8a1b1bfd7351d"; - src = fetchurl { - url = "https://api.github.com/repos/voku/portable-ascii/zipball/b1d923f88091c6bf09699efcd7c8a1b1bfd7351d"; - sha256 = "1x5wls3q4m7sa0jly8f7s29sd4kb2p59imdr6i5ajzyn5b947aac"; - }; - }; - }; - "webmozart/assert" = { - targetDir = ""; - src = composerEnv.buildZipPackage { - name = "webmozart-assert-11cb2199493b2f8a3b53e7f19068fc6aac760991"; - src = fetchurl { - url = "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991"; - sha256 = "18qiza1ynwxpi6731jx1w5qsgw98prld1lgvfk54z92b1nc7psix"; - }; - }; - }; - }; - devPackages = { }; -in -composerEnv.buildPackage { - inherit packages devPackages noDev; - name = "bookstack"; - src = composerEnv.filterSrc ./.; - executable = false; - symlinkDependencies = false; - meta = { - license = "MIT"; - }; -} diff --git a/pkgs/servers/web-apps/bookstack/update.sh b/pkgs/servers/web-apps/bookstack/update.sh deleted file mode 100755 index f8db51edf745..000000000000 --- a/pkgs/servers/web-apps/bookstack/update.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env nix-shell -#! nix-shell -i bash -p nix curl jq nix-update - -# check if composer2nix is installed -if ! command -v composer2nix &> /dev/null; then - echo "Please install composer2nix (https://github.com/svanderburg/composer2nix) to run this script." - exit 1 -fi - -CURRENT_VERSION=$(nix eval -f ../../../.. --raw bookstack.version) -TARGET_VERSION_REMOTE=$(curl https://api.github.com/repos/bookstackapp/bookstack/releases/latest | jq -r ".tag_name") -TARGET_VERSION=${TARGET_VERSION_REMOTE:1} -BOOKSTACK=https://github.com/bookstackapp/bookstack/raw/$TARGET_VERSION_REMOTE -SHA256=$(nix-prefetch-url --unpack "https://github.com/bookstackapp/bookstack/archive/v$TARGET_VERSION/bookstack.tar.gz") - -if [[ "$CURRENT_VERSION" == "$TARGET_VERSION" ]]; then - echo "bookstack is up-to-date: ${CURRENT_VERSION}" - exit 0 -fi - -curl -LO "$BOOKSTACK/composer.json" -curl -LO "$BOOKSTACK/composer.lock" - -composer2nix --name "bookstack" \ - --composition=composition.nix \ - --no-dev -rm composer.json composer.lock - -# change version number -sed -e "s/version =.*;/version = \"$TARGET_VERSION\";/g" \ - -e "s/sha256 =.*;/sha256 = \"$SHA256\";/g" \ - -i ./default.nix - -# fix composer-env.nix -sed -e "s/stdenv\.lib/lib/g" \ - -e '3s/stdenv, writeTextFile/stdenv, lib, writeTextFile/' \ - -i ./composer-env.nix - -# fix composition.nix -sed -e '7s/stdenv writeTextFile/stdenv lib writeTextFile/' \ - -i composition.nix - -# fix missing newline -echo "" >> composition.nix -echo "" >> php-packages.nix - -cd ../../../.. -nix-build -A bookstack - -exit $? diff --git a/pkgs/servers/web-apps/szurubooru/client.nix b/pkgs/servers/web-apps/szurubooru/client.nix new file mode 100644 index 000000000000..9553390862d4 --- /dev/null +++ b/pkgs/servers/web-apps/szurubooru/client.nix @@ -0,0 +1,36 @@ +{ + src, + version, + lib, + buildNpmPackage, +}: + +buildNpmPackage { + pname = "szurubooru-client"; + inherit version; + + src = "${src}/client"; + + npmDepsHash = "sha256-HtcitZl2idgVleB6c0KCTSNLxh7hP8/G/RGdMaQG3iI="; + makeCacheWritable = true; + + npmBuildFlags = [ + "--gzip" + ]; + + installPhase = '' + runHook preInstall + + mkdir $out + mv ./public/* $out + + runHook postInstall + ''; + + meta = with lib; { + description = "Client of szurubooru, an image board engine for small and medium communities"; + homepage = "https://github.com/rr-/szurubooru"; + license = licenses.gpl3; + maintainers = with maintainers; [ ratcornu ]; + }; +} diff --git a/pkgs/servers/web-apps/szurubooru/default.nix b/pkgs/servers/web-apps/szurubooru/default.nix new file mode 100644 index 000000000000..67d7b57aa20f --- /dev/null +++ b/pkgs/servers/web-apps/szurubooru/default.nix @@ -0,0 +1,20 @@ +{ + callPackage, + fetchFromGitHub, + recurseIntoAttrs, +}: + +let + version = "2.5-unstable-2025-02-11"; + src = fetchFromGitHub { + owner = "rr-"; + repo = "szurubooru"; + rev = "376f687c386f65522b2f65e98b998b21af26ee29"; + hash = "sha256-4w1iOYp+CVg60dYxRilj08D4Hle6R9Y0v+Nd3fws1Zc="; + }; +in + +recurseIntoAttrs { + client = callPackage ./client.nix { inherit src version; }; + server = callPackage ./server.nix { inherit src version; }; +} diff --git a/pkgs/servers/web-apps/szurubooru/server.nix b/pkgs/servers/web-apps/szurubooru/server.nix new file mode 100644 index 000000000000..0d5a7b65e257 --- /dev/null +++ b/pkgs/servers/web-apps/szurubooru/server.nix @@ -0,0 +1,85 @@ +{ + src, + version, + lib, + nixosTests, + fetchPypi, + python3, +}: + +let + overrides = [ + (self: super: { + alembic = super.alembic.overridePythonAttrs (oldAttrs: rec { + version = "1.14.1"; + src = fetchPypi { + pname = "alembic"; + inherit version; + sha256 = "sha256-SW6IgkWlOt8UmPyrMXE6Rpxlg2+N524BOZqhw+kN0hM="; + }; + doCheck = false; + }); + + pyheif = super.pyheif.overridePythonAttrs (oldAttrs: { + doCheck = false; + }); + + sqlalchemy = super.sqlalchemy.overridePythonAttrs (oldAttrs: rec { + version = "1.3.23"; + src = fetchPypi { + pname = "SQLAlchemy"; + inherit version; + sha256 = "sha256-b8ozZyV4Zm9lfBMVUsTviXnBYG5JT3jNUZl0LfsmkYs="; + }; + + doCheck = false; + }); + }) + ]; + + python = python3.override { + self = python; + packageOverrides = lib.composeManyExtensions overrides; + }; +in + +python.pkgs.buildPythonApplication { + pname = "szurubooru-server"; + inherit version; + pyproject = true; + + src = "${src}/server"; + + nativeBuildInputs = with python.pkgs; [ setuptools ]; + propagatedBuildInputs = with python.pkgs; [ + alembic + certifi + coloredlogs + heif-image-plugin + numpy + pillow-avif-plugin + pillow + psycopg2-binary + pyheif + pynacl + pyrfc3339 + pytz + pyyaml + sqlalchemy + yt-dlp + ]; + + postInstall = '' + mkdir $out/bin + install -m0755 $src/szuru-admin $out/bin/szuru-admin + ''; + + passthru.tests.szurubooru = nixosTests.szurubooru; + + meta = with lib; { + description = "Server of szurubooru, an image board engine for small and medium communities"; + homepage = "https://github.com/rr-/szurubooru"; + license = licenses.gpl3; + maintainers = with maintainers; [ ratcornu ]; + }; +} diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index a781c054bfc2..ad5c413764ac 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -1,21 +1,26 @@ # THIS IS A GENERATED FILE. DO NOT EDIT! { lib, + bdftopcf, font-alias, font-util, gccmakedep, + imake, libpciaccess, libpthread-stubs, libxcvt, + lndir, luit, makedepend, pixman, + sessreg, util-macros, xbitmaps, xcb-proto, xkeyboard-config, xorg-cf-files, xorg-docs, + xorgproto, xorg-sgml-doctools, xtrans, }: @@ -23,13 +28,18 @@ self: with self; { inherit + bdftopcf gccmakedep + imake libpciaccess libxcvt + lndir luit makedepend pixman + sessreg xbitmaps + xorgproto xtrans ; fontalias = font-alias; @@ -80,38 +90,6 @@ self: with self; { }) ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! - bdftopcf = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - xorgproto, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "bdftopcf"; - version = "1.1.2"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/util/bdftopcf-1.1.2.tar.xz"; - sha256 = "0fjjn1z0cbsmhxkms93w73j2jbzf9f3xgbnjvnisl3rk0icvwq5w"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ xorgproto ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! bitmap = callPackage ( { @@ -1745,38 +1723,6 @@ self: with self; { }) ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! - imake = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - xorgproto, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "imake"; - version = "1.0.10"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/util/imake-1.0.10.tar.xz"; - sha256 = "1xgcsamfij22ggc4p8anvvihwyf4adg6gjdd6v7m9cypm37cppkm"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ xorgproto ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! libAppleWM = callPackage ( { @@ -3405,38 +3351,6 @@ self: with self; { }) ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! - lndir = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - xorgproto, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "lndir"; - version = "1.0.5"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/util/lndir-1.0.5.tar.xz"; - sha256 = "1nsd23kz6iqxfcis3432zq01i54n98b94m2gcsay1k3mamx5fr9v"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ xorgproto ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! mkfontscale = callPackage ( { @@ -3523,38 +3437,6 @@ self: with self; { }) ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! - sessreg = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - xorgproto, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "sessreg"; - version = "1.1.3"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/app/sessreg-1.1.3.tar.xz"; - sha256 = "1hmc9wsfgl2wmy0kccwa4brxbv02w5wiz5hrz72dsz87x1fwsah2"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ xorgproto ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! setxkbmap = callPackage ( { @@ -7613,82 +7495,6 @@ self: with self; { }) ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! - xorgproto = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - libXt, - python3, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "xorgproto"; - version = "2024.1"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/proto/xorgproto-2024.1.tar.xz"; - sha256 = "0nfbbi4j130m2gxzp20hp642xizbbl68jpbzahiq8nw183yja8ip"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ - pkg-config - python3 - ]; - buildInputs = [ libXt ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ - "applewmproto" - "bigreqsproto" - "compositeproto" - "damageproto" - "dmxproto" - "dpmsproto" - "dri2proto" - "dri3proto" - "evieproto" - "fixesproto" - "fontcacheproto" - "fontsproto" - "glproto" - "inputproto" - "kbproto" - "lg3dproto" - "presentproto" - "printproto" - "randrproto" - "recordproto" - "renderproto" - "resourceproto" - "scrnsaverproto" - "trapproto" - "videoproto" - "windowswmproto" - "xcalibrateproto" - "xcmiscproto" - "xextproto" - "xf86bigfontproto" - "xf86dgaproto" - "xf86driproto" - "xf86miscproto" - "xf86rushproto" - "xf86vidmodeproto" - "xineramaproto" - "xproto" - "xproxymngproto" - "xwaylandproto" - ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! xorgserver = callPackage ( { diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index 3c524df264b9..025c6e9e253d 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -47,6 +47,15 @@ $pcMap{"\$RENDERPROTO"} = "xorgproto"; $pcMap{"\$DRI3PROTO"} = "xorgproto"; $pcMap{"\$DRI2PROTO"} = "xorgproto"; $pcMap{"\${XKBMODULE}"} = "libxkbfile"; +foreach my $mod ("applewmproto", "bigreqsproto", "compositeproto", "damageproto", "dmxproto", + "dpmsproto", "dri2proto", "dri3proto", "evieproto", "fixesproto", "fontcacheproto", + "fontsproto", "glproto", "inputproto", "kbproto", "lg3dproto", "presentproto", + "printproto", "randrproto", "recordproto", "renderproto", "resourceproto", "scrnsaverproto", + "trapproto", "videoproto", "windowswmproto", "xcalibrateproto", "xcmiscproto", "xextproto", + "xf86bigfontproto", "xf86dgaproto", "xf86driproto", "xf86miscproto", "xf86rushproto", + "xf86vidmodeproto", "xineramaproto", "xproto", "xproxymngproto", "xwaylandproto") { + $pcMap{$mod} = "xorgproto"; +} my $downloadCache = "./download-cache"; @@ -266,21 +275,26 @@ print OUT <' '' \ - --replace '' '' \ - --replace '_X_ATTRIBUTE_PRINTF(1,2)' '__attribute__((__format__(__printf__,1,2)))' \ - --replace '_X_ATTRIBUTE_PRINTF(2,3)' '__attribute__((__format__(__printf__,2,3)))' \ - --replace '_X_NORETURN' '__attribute__((noreturn))' \ - --replace 'n_dirs--;' "" - ''; - meta = attrs.meta // { - mainProgram = "lndir"; - }; - }); - twm = super.twm.overrideAttrs (attrs: { nativeBuildInputs = attrs.nativeBuildInputs ++ [ bison @@ -1424,13 +1354,6 @@ self: super: }; }); - sessreg = super.sessreg.overrideAttrs (attrs: { - preBuild = "sed -i 's|gcc -E|gcc -E -P|' man/Makefile"; - meta = attrs.meta // { - mainProgram = "sessreg"; - }; - }); - xrandr = super.xrandr.overrideAttrs (attrs: { postInstall = '' rm $out/bin/xkeystone diff --git a/pkgs/servers/x11/xorg/tarballs.list b/pkgs/servers/x11/xorg/tarballs.list index 14abf4d903ae..afbf7c57568b 100644 --- a/pkgs/servers/x11/xorg/tarballs.list +++ b/pkgs/servers/x11/xorg/tarballs.list @@ -13,7 +13,6 @@ mirror://xorg/individual/app/ico-1.0.6.tar.xz mirror://xorg/individual/app/listres-1.0.6.tar.xz mirror://xorg/individual/app/mkfontscale-1.2.3.tar.xz mirror://xorg/individual/app/oclock-1.0.5.tar.xz -mirror://xorg/individual/app/sessreg-1.1.3.tar.xz mirror://xorg/individual/app/setxkbmap-1.3.4.tar.xz mirror://xorg/individual/app/smproxy-1.0.7.tar.xz mirror://xorg/individual/app/transset-1.0.3.tar.xz @@ -198,8 +197,4 @@ 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.6.tar.xz mirror://xorg/individual/lib/xcb-util-cursor-0.1.5.tar.xz -mirror://xorg/individual/proto/xorgproto-2024.1.tar.xz -mirror://xorg/individual/util/bdftopcf-1.1.2.tar.xz -mirror://xorg/individual/util/imake-1.0.10.tar.xz -mirror://xorg/individual/util/lndir-1.0.5.tar.xz mirror://xorg/individual/xserver/xorg-server-21.1.16.tar.xz diff --git a/pkgs/servers/x11/xorg/xwayland.nix b/pkgs/servers/x11/xorg/xwayland.nix index 99c9aabbbbdd..3b255de27691 100644 --- a/pkgs/servers/x11/xorg/xwayland.nix +++ b/pkgs/servers/x11/xorg/xwayland.nix @@ -54,11 +54,11 @@ stdenv.mkDerivation rec { pname = "xwayland"; - version = "24.1.6"; + version = "24.1.8"; src = fetchurl { url = "mirror://xorg/individual/xserver/${pname}-${version}.tar.xz"; - hash = "sha256-c35hLKNrvfQVqRFkTrdZLPk4mEaEe0f6RtxwW9dU0tc="; + hash = "sha256-yJCNV8jtnOuCk8Frp61a9SLvrxun5R+eTPPAd00ZmQc="; }; postPatch = '' diff --git a/pkgs/shells/fish/plugins/exercism-cli-fish-wrapper.nix b/pkgs/shells/fish/plugins/exercism-cli-fish-wrapper.nix index d2681ea48c33..de8e68b55288 100644 --- a/pkgs/shells/fish/plugins/exercism-cli-fish-wrapper.nix +++ b/pkgs/shells/fish/plugins/exercism-cli-fish-wrapper.nix @@ -6,13 +6,13 @@ }: buildFishPlugin { pname = "exercism-cli-fish-wrapper"; - version = "0-unstable-2024-11-29"; + version = "0-unstable-2025-06-12"; src = fetchFromGitHub { owner = "glennj"; repo = "exercism-cli-fish-wrapper"; - rev = "f25f76dcc9bf164c30a9292a16a2159c9350a146"; - hash = "sha256-R9Vf8tlLytqvMlJdWGyTy1g0TUhOcp7tifz0Bxb4Gts="; + rev = "fc00e992b73adc63596e1406a8554313d642204f"; + hash = "sha256-w2aGakB/Kel0TMaZ44/WC6syhetohJzn5kgwgW7Kdqs="; }; passthru.updateScript = unstableGitUpdater { }; diff --git a/pkgs/shells/fish/plugins/pure.nix b/pkgs/shells/fish/plugins/pure.nix index c5a288b8f027..ffa7dfb1615d 100644 --- a/pkgs/shells/fish/plugins/pure.nix +++ b/pkgs/shells/fish/plugins/pure.nix @@ -8,13 +8,13 @@ buildFishPlugin rec { pname = "pure"; - version = "4.11.0"; + version = "4.11.3"; src = fetchFromGitHub { owner = "pure-fish"; repo = "pure"; rev = "v${version}"; - hash = "sha256-8zxqPU9N5XGbKc0b3bZYkQ3yH64qcbakMsHIpHZSne4="; + hash = "sha256-mMUFR/n4aLsmZNbVAYmx57AMXT6U2P+wTuuN3opCeqs="; }; nativeCheckInputs = [ git ]; diff --git a/pkgs/stdenv/freebsd/default.nix b/pkgs/stdenv/freebsd/default.nix index f2cb2e5e0b29..7485cf1ce6eb 100644 --- a/pkgs/stdenv/freebsd/default.nix +++ b/pkgs/stdenv/freebsd/default.nix @@ -62,6 +62,9 @@ let name = attrs.name or (builtins.baseNameOf (builtins.elemAt attrs.paths 0)); src = bootstrapArchive; builder = "${bootstrapArchive}/bin/bash"; + # this script will prefer to link files instead of copying them. + # this prevents clang in particular, but possibly others, from calling readlink(argv[0]) + # and obtaining dependencies, ld(1) in particular, from there instead of $PATH. args = [ ./linkBootstrap.sh ]; PATH = "${bootstrapArchive}/bin"; paths = attrs.paths; @@ -93,6 +96,7 @@ let "bin/clang" "bin/clang++" "bin/cpp" + "lib/clang" ]; # SYNCME: this version number must be synced with the one in make-bootstrap-tools.nix version = "18"; @@ -226,6 +230,7 @@ let ]; }; iconv = linkBootstrap { paths = [ "bin/iconv" ]; }; + libiconv = linkBootstrap { paths = [ "include/iconv.h" ]; }; patch = linkBootstrap { paths = [ "bin/patch" ]; }; gnutar = linkBootstrap { paths = [ "bin/tar" ]; }; gawk = linkBootstrap { @@ -443,18 +448,22 @@ let inherit (prevStage.freebsd) libc; inherit (prevStage) gnugrep coreutils expand-response-params; runtimeShell = shell; - bintools = prevStage.binutils-unwrapped; + bintools = (prevStage.llvmPackages or { }).bintools-unwrapped or prevStage.binutils-unwrapped; propagateDoc = false; nativeTools = false; nativeLibc = false; }; }; overrides = overrides prevStage; - preHook = '' - export NIX_ENFORCE_PURITY="''${NIX_ENFORCE_PURITY-1}" - export NIX_ENFORCE_NO_NATIVE="''${NIX_ENFORCE_NO_NATIVE-1}" - export PATH_LOCALE=${prevStage.freebsd.localesReal or prevStage.freebsd.locales}/share/locale - ''; + preHook = + '' + export NIX_ENFORCE_PURITY="''${NIX_ENFORCE_PURITY-1}" + export NIX_ENFORCE_NO_NATIVE="''${NIX_ENFORCE_NO_NATIVE-1}" + export PATH_LOCALE=${prevStage.freebsd.localesReal or prevStage.freebsd.locales}/share/locale + '' + + lib.optionalString (prevStage.freebsd ? libiconvModules) '' + export PATH_I18NMODULE=${prevStage.freebsd.libiconvModules}/lib/i18n + ''; }; in { @@ -478,6 +487,7 @@ in diffutils findutils iconv + libiconv patch gnutar gawk @@ -493,6 +503,7 @@ in inherit lib; inherit (self) stdenvNoCC; inherit (prevStage) curl; + inherit (config) rewriteURL; }; gettext = super.gettext.overrideAttrs { NIX_CFLAGS_COMPILE = "-DHAVE_ICONV=1"; # we clearly have iconv. what do you want? diff --git a/pkgs/stdenv/freebsd/linkBootstrap.sh b/pkgs/stdenv/freebsd/linkBootstrap.sh index 19b491d2c3c4..73f984d1f1f0 100644 --- a/pkgs/stdenv/freebsd/linkBootstrap.sh +++ b/pkgs/stdenv/freebsd/linkBootstrap.sh @@ -6,5 +6,9 @@ for path in $paths; do exit 1 fi mkdir -p $out/$(dirname $path) - ln -s $src/$path $out/$path + if [[ -d $src/$path ]]; then + ln -s $src/$path $out/$path + else + cp -RL $src/$path $out/$path + fi done diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix index 1284935c5e4b..adff97a26914 100644 --- a/pkgs/stdenv/generic/check-meta.nix +++ b/pkgs/stdenv/generic/check-meta.nix @@ -110,9 +110,19 @@ let hasUnfreeLicense = attrs: hasLicense attrs && isUnfree attrs.meta.license; hasNoMaintainers = + # To get usable output, we want to avoid flagging "internal" derivations. + # Because we do not have a way to reliably decide between internal or + # external derivation, some heuristics are required to decide. + # + # If `outputHash` is defined, the derivation is a FOD, such as the output of a fetcher. + # If `description` is not defined, the derivation is probably not a package. + # Simply checking whether `meta` is defined is insufficient, + # as some fetchers and trivial builders do define meta. attrs: - (attrs ? meta.maintainers && (length attrs.meta.maintainers) == 0) - && (attrs ? meta.teams && (length attrs.meta.teams) == 0); + (!attrs ? outputHash) + && (attrs ? meta.description) + && (attrs.meta.maintainers or [ ] == [ ]) + && (attrs.meta.teams or [ ] == [ ]); isMarkedBroken = attrs: attrs.meta.broken or false; diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix index 4d9bb81fbbce..a8aba74321b0 100644 --- a/pkgs/stdenv/generic/default.nix +++ b/pkgs/stdenv/generic/default.nix @@ -78,6 +78,7 @@ let ../../build-support/setup-hooks/move-sbin.sh ../../build-support/setup-hooks/move-systemd-user-units.sh ../../build-support/setup-hooks/multiple-outputs.sh + ../../build-support/setup-hooks/parallel.sh ../../build-support/setup-hooks/patch-shebangs.sh ../../build-support/setup-hooks/prune-libtool-files.sh ../../build-support/setup-hooks/reproducible-builds.sh diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 344906eb34fa..4be15d11356d 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -1260,7 +1260,7 @@ _defaultUnpack() { # We can't preserve hardlinks because they may have been # introduced by store optimization, which might break things # in the build. - cp -r --preserve=mode,timestamps --reflink=auto -- "$fn" "$destination" + cp -r --preserve=timestamps --reflink=auto -- "$fn" "$destination" else diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix index 7804ea23b06e..a743d2277f9b 100644 --- a/pkgs/test/default.nix +++ b/pkgs/test/default.nix @@ -40,6 +40,8 @@ with pkgs; (filter (n: n != "gccCrossLibcStdenv")) (filter (n: n != "gcc49Stdenv")) (filter (n: n != "gcc6Stdenv")) + (filter (n: n != "gcc7Stdenv")) + (filter (n: n != "gcc8Stdenv")) ] ++ lib.optionals @@ -201,6 +203,16 @@ with pkgs; auto-patchelf-hook = callPackage ./auto-patchelf-hook { }; + # Accumulate all passthru.tests from arrayUtilities into a single attribute set. + arrayUtilities = recurseIntoAttrs ( + lib.concatMapAttrs ( + name: value: + lib.optionalAttrs (value ? passthru.tests) { + ${name} = value.passthru.tests; + } + ) arrayUtilities + ); + srcOnly = callPackage ../build-support/src-only/tests.nix { }; systemd = callPackage ./systemd { }; @@ -212,4 +224,6 @@ with pkgs; build-environment-info = callPackage ./build-environment-info { }; rust-hooks = recurseIntoAttrs (callPackages ../build-support/rust/hooks/test { }); + + setup-hooks = recurseIntoAttrs (callPackages ../build-support/setup-hooks/tests { }); } diff --git a/pkgs/test/haskell/default.nix b/pkgs/test/haskell/default.nix index 8f1f21d65b51..26250ccc8f00 100644 --- a/pkgs/test/haskell/default.nix +++ b/pkgs/test/haskell/default.nix @@ -1,10 +1,11 @@ { lib, callPackage }: lib.recurseIntoAttrs { - shellFor = callPackage ./shellFor { }; cabalSdist = callPackage ./cabalSdist { }; documentationTarball = callPackage ./documentationTarball { }; - setBuildTarget = callPackage ./setBuildTarget { }; + ghcWithPackages = callPackage ./ghcWithPackages { }; incremental = callPackage ./incremental { }; + setBuildTarget = callPackage ./setBuildTarget { }; + shellFor = callPackage ./shellFor { }; upstreamStackHpackVersion = callPackage ./upstreamStackHpackVersion { }; } diff --git a/pkgs/test/haskell/ghcWithPackages/default.nix b/pkgs/test/haskell/ghcWithPackages/default.nix new file mode 100644 index 000000000000..c31721b9531e --- /dev/null +++ b/pkgs/test/haskell/ghcWithPackages/default.nix @@ -0,0 +1,48 @@ +{ + lib, + runCommand, + haskellPackages, +}: + +lib.recurseIntoAttrs { + # This is special-cased to return just `ghc`. + trivial = haskellPackages.ghcWithPackages (hsPkgs: [ ]); + + # Here we actually build a trivial package. + hello = haskellPackages.ghcWithPackages (hsPkgs: [ + hsPkgs.hello + ]); + + # Here we build a database with multiple packages. + multiple = haskellPackages.ghcWithPackages (hsPkgs: [ + hsPkgs.hspec + hsPkgs.unordered-containers + ]); + + # See: https://github.com/NixOS/nixpkgs/pull/224542 + regression-224542 = + runCommand "regression-224542" + { + buildInputs = [ + (haskellPackages.ghcWithPackages (hsPkgs: [ + hsPkgs.hspec + ])) + ]; + } + '' + ghc --interactive \ + -Werror=unrecognised-warning-flags \ + -Werror=missed-extra-shared-lib \ + 2>&1 \ + | tee ghc-output.txt + + # If GHC failed to find a shared library, linking dylibs in + # `ghcWithPackages` didn't work correctly. + if grep --quiet "error: .*-Wmissed-extra-shared-lib" ghc-output.txt \ + && grep --quiet "no such file" ghc-output.txt; then + exit 1 + fi + + touch $out + ''; +} diff --git a/pkgs/tools/admin/google-cloud-sdk/components.json b/pkgs/tools/admin/google-cloud-sdk/components.json index d9becae5c1c5..7ff494d3210e 100644 --- a/pkgs/tools/admin/google-cloud-sdk/components.json +++ b/pkgs/tools/admin/google-cloud-sdk/components.json @@ -5,7 +5,7 @@ "checksum": "5a65179c291bc480696ca323d2f8c4874985458303eff8f233e16cdca4e88e6f", "contents_checksum": "038c999c7a7d70d5133eab7dc5868c4c3d0358431dad250f9833306af63016c8", "size": 800, - "source": "components/google-cloud-sdk-alpha-20250418150427.tar.gz", + "source": "components/google-cloud-sdk-alpha-20250530172306.tar.gz", "type": "tar" }, "dependencies": [ @@ -23,8 +23,8 @@ "platform": {}, "platform_required": false, "version": { - "build_number": 20250418150427, - "version_string": "2025.04.18" + "build_number": 20250530172306, + "version_string": "2025.05.30" } }, { @@ -266,15 +266,15 @@ "platform_required": false, "version": { "build_number": 0, - "version_string": "0.2.55" + "version_string": "0.2.56" } }, { "data": { - "checksum": "c460266ad806d143a8eb8229e31374417735291f4fed8eff68bb1b60199c3eec", - "contents_checksum": "45245f60df9b3eb5f68367daeab12291601a6608718db5f0bc68c1f080e0707e", - "size": 70827721, - "source": "components/google-cloud-sdk-anthoscli-darwin-arm-20250210213649.tar.gz", + "checksum": "8e3e15c3c2c4acc2f9ff3ce52f0b0d553d147600ec8b91c0ca04b764d5aeb8e0", + "contents_checksum": "10e0a2b44e0eb3047934afd6ffd679aa3321eb97d7f3e0906d6a152330cd112a", + "size": 70987873, + "source": "components/google-cloud-sdk-anthoscli-darwin-arm-20250502143716.tar.gz", "type": "tar" }, "dependencies": [ @@ -299,16 +299,16 @@ }, "platform_required": false, "version": { - "build_number": 20250210213649, - "version_string": "0.2.55" + "build_number": 20250502143716, + "version_string": "0.2.56" } }, { "data": { - "checksum": "4e6c39589799c679d4e51bc24dd9b8966df3274c45245f75385cb891193c1770", - "contents_checksum": "7b6e73890b0f9e73aa3e567184ee9c27bac6523e35dc6cb817c1f84ab562bd9c", - "size": 74490798, - "source": "components/google-cloud-sdk-anthoscli-darwin-x86-20250210213649.tar.gz", + "checksum": "c25161cc57a2ab2b02a10fe42811a112ac4654c38a90dd2ae58c9d7f06a51470", + "contents_checksum": "373eb461c8977e6579e4cd4b73771609b8ba282717a52158e9a4c71baf89e589", + "size": 75035226, + "source": "components/google-cloud-sdk-anthoscli-darwin-x86-20250502143716.tar.gz", "type": "tar" }, "dependencies": [ @@ -333,16 +333,16 @@ }, "platform_required": false, "version": { - "build_number": 20250210213649, - "version_string": "0.2.55" + "build_number": 20250502143716, + "version_string": "0.2.56" } }, { "data": { - "checksum": "e0c662da99dce08152d42eec5e89dae71b67d2924677674df442815dc2a4f33d", - "contents_checksum": "7b6e73890b0f9e73aa3e567184ee9c27bac6523e35dc6cb817c1f84ab562bd9c", - "size": 74490801, - "source": "components/google-cloud-sdk-anthoscli-darwin-x86_64-20250210213649.tar.gz", + "checksum": "47cbc8412a8ad796c110d872311f147cd29e1d343c269a458cbf9424c44dafdb", + "contents_checksum": "373eb461c8977e6579e4cd4b73771609b8ba282717a52158e9a4c71baf89e589", + "size": 75035229, + "source": "components/google-cloud-sdk-anthoscli-darwin-x86_64-20250502143716.tar.gz", "type": "tar" }, "dependencies": [ @@ -367,16 +367,16 @@ }, "platform_required": false, "version": { - "build_number": 20250210213649, - "version_string": "0.2.55" + "build_number": 20250502143716, + "version_string": "0.2.56" } }, { "data": { - "checksum": "d6b88eab84ec788ab22426e5a9c7e88914d735e20f1a57b76b9e49ea70b11715", - "contents_checksum": "fb12aa55d01b34d621b3aabb07a90f8531eadca61520e1a607eccc917ddaf514", - "size": 68036608, - "source": "components/google-cloud-sdk-anthoscli-linux-arm-20250210213649.tar.gz", + "checksum": "b05a1af6fd59c95e190e6a4ed94bdd81dc3a07cb560f5d6d91b38f9785c96e60", + "contents_checksum": "34494d4fa60086fc1c5af00e365fd41f00a062bcd8b6d6e83091a2a168407e7d", + "size": 68192769, + "source": "components/google-cloud-sdk-anthoscli-linux-arm-20250502143716.tar.gz", "type": "tar" }, "dependencies": [ @@ -401,16 +401,16 @@ }, "platform_required": false, "version": { - "build_number": 20250210213649, - "version_string": "0.2.55" + "build_number": 20250502143716, + "version_string": "0.2.56" } }, { "data": { - "checksum": "92ce3c9e6117ca0c7c477ca4c235dd76929054ea21ca1d7bc786523f966f37dc", - "contents_checksum": "696f3c667a175fde84c1c32e260c3a9c680201e8bd4989df1733d881691eca00", - "size": 65692483, - "source": "components/google-cloud-sdk-anthoscli-linux-x86-20250210213649.tar.gz", + "checksum": "58fe782b633f19ca0845ec7674db916566acc83d5bb06468e3171649754204c0", + "contents_checksum": "b81032235bd2f736e273c0c72398c054aaab037a2282e668cae489c89593b3b8", + "size": 66392712, + "source": "components/google-cloud-sdk-anthoscli-linux-x86-20250502143716.tar.gz", "type": "tar" }, "dependencies": [ @@ -435,16 +435,16 @@ }, "platform_required": false, "version": { - "build_number": 20250210213649, - "version_string": "0.2.55" + "build_number": 20250502143716, + "version_string": "0.2.56" } }, { "data": { - "checksum": "0820f7323cb6e6e32cedec0badae3cbae3f2ad86371b9a7765fbdc0e3ed1e992", - "contents_checksum": "0be5fc7d76b72ac5729873bec94463e3cab9cfd8d6d165fcd012ddc6747e2712", - "size": 72745550, - "source": "components/google-cloud-sdk-anthoscli-linux-x86_64-20250210213649.tar.gz", + "checksum": "ce41d8b0a3d5a8569a0222b708b9ce61910a354cdf5bad96a0ba34d38e1b06fe", + "contents_checksum": "d9160eddb9b5bec6646f2cbd607c1503290ab430eb8fd5fe9e07443382889bda", + "size": 73369061, + "source": "components/google-cloud-sdk-anthoscli-linux-x86_64-20250502143716.tar.gz", "type": "tar" }, "dependencies": [ @@ -469,16 +469,16 @@ }, "platform_required": false, "version": { - "build_number": 20250210213649, - "version_string": "0.2.55" + "build_number": 20250502143716, + "version_string": "0.2.56" } }, { "data": { - "checksum": "c1286d3e42bf98bff12d2d9d62248ff1636999dea8713dcf76caeb13ed34358a", - "contents_checksum": "44a4a2c08b2efeab8d447f68a21aa002e9a0f045597079dabfeebf606d77c3c4", - "size": 67625522, - "source": "components/google-cloud-sdk-anthoscli-windows-x86-20250210213649.tar.gz", + "checksum": "09e2bcb9c77d4dd69064d34df28388e6280b25521e3694c03835515bd4b2e786", + "contents_checksum": "3d7bd59519bd093b85c6a67de04d4902698790a462ba7b8e40c5548e929a101c", + "size": 68338743, + "source": "components/google-cloud-sdk-anthoscli-windows-x86-20250502143716.tar.gz", "type": "tar" }, "dependencies": [ @@ -503,16 +503,16 @@ }, "platform_required": false, "version": { - "build_number": 20250210213649, - "version_string": "0.2.55" + "build_number": 20250502143716, + "version_string": "0.2.56" } }, { "data": { - "checksum": "2251ec174a9f8a69c749cc028b9eb3a56a3937a3fdd84c8f2506d1c50b520dc5", - "contents_checksum": "66e45ca78d039ca80931ce558253cd040bec12cd884082cf0d9a40533d7fcc52", - "size": 73410307, - "source": "components/google-cloud-sdk-anthoscli-windows-x86_64-20250210213649.tar.gz", + "checksum": "e74bd5824a603731cd8bbf1a2ded0a3b9e76e326f4ebf52daaea4bdf9901d229", + "contents_checksum": "4e19c26bc442a700f7f774253ec2b9771cfb703d68acb1b57f96f52758586a9c", + "size": 73970140, + "source": "components/google-cloud-sdk-anthoscli-windows-x86_64-20250502143716.tar.gz", "type": "tar" }, "dependencies": [ @@ -537,8 +537,8 @@ }, "platform_required": false, "version": { - "build_number": 20250210213649, - "version_string": "0.2.55" + "build_number": 20250502143716, + "version_string": "0.2.56" } }, { @@ -1050,10 +1050,10 @@ }, { "data": { - "checksum": "ccc36a0cb97d6107d0b49528d7c821eee1f0d82961c58ed67f21a1e08f8d2a62", - "contents_checksum": "244c1ecf52436dbbee883160cdc01fbbc8f69475397a1e576717802386267530", - "size": 134508342, - "source": "components/google-cloud-sdk-app-engine-java-20250411141747.tar.gz", + "checksum": "1f748fc17503f86d02c7189788ade13401d76cb0cf686f1dacf5c710a689a603", + "contents_checksum": "d362f20630443f9d715affa7dbf11010810e2361aa3d70444fdaa64529a4b258", + "size": 143373114, + "source": "components/google-cloud-sdk-app-engine-java-20250509144819.tar.gz", "type": "tar" }, "dependencies": [ @@ -1072,16 +1072,16 @@ "platform": {}, "platform_required": false, "version": { - "build_number": 20250411141747, - "version_string": "2.0.34" + "build_number": 20250509144819, + "version_string": "2.0.36" } }, { "data": { - "checksum": "899db947933af58fa74a2fcd374abcb3bd942aabb807c68dd897a7006cb03c9d", - "contents_checksum": "4de8fa33b7fb0a4a372c840bd1e112a715311740dc532b1142202d06913c1c8e", - "size": 3973536, - "source": "components/google-cloud-sdk-app-engine-python-20240927140238.tar.gz", + "checksum": "49ded5eb81145efb93048c3d32c5732611706b69a9ff7ba80b0fa238435ca323", + "contents_checksum": "1c2e6a1a5bb9efb1a334294a389cce12b333ce30fb08900381fa1c9852e2e2fb", + "size": 4013598, + "source": "components/google-cloud-sdk-app-engine-python-20250509144819.tar.gz", "type": "tar" }, "dependencies": [ @@ -1101,16 +1101,16 @@ "platform": {}, "platform_required": false, "version": { - "build_number": 20240927140238, - "version_string": "1.9.114" + "build_number": 20250509144819, + "version_string": "1.9.116" } }, { "data": { - "checksum": "e91aacbb794987ea2c24efe524a1204a94e9d46b3ff810740b3a8edd36b320ca", - "contents_checksum": "a2243f6ab1398d9caf08f4edcf55de35765698ec756b9f5ed58da87c0f37842e", - "size": 2122, - "source": "components/google-cloud-sdk-app-engine-python-extras-20240308155052.tar.gz", + "checksum": "442b7435733ac15efb6f75581f077040b1a886229cf511f18bded97b74ace0e7", + "contents_checksum": "a5ef5bebf1c4157fe45c8bda3a5a48f329fa9f2e82c69ccdd54e79073b40df80", + "size": 2119, + "source": "components/google-cloud-sdk-app-engine-python-extras-20250509144819.tar.gz", "type": "tar" }, "dependencies": [ @@ -1129,8 +1129,8 @@ "platform": {}, "platform_required": false, "version": { - "build_number": 20240308155052, - "version_string": "1.9.106" + "build_number": 20250509144819, + "version_string": "1.9.109" } }, { @@ -1377,7 +1377,7 @@ "checksum": "707d412854a14450b4fddee199d258e75946fe51b44eb2980c8cd7e274c15760", "contents_checksum": "0b4e9d8e6394dc841aece07ca4da91920a460cbd7ec22495be4a2b4f46635b4d", "size": 797, - "source": "components/google-cloud-sdk-beta-20250418150427.tar.gz", + "source": "components/google-cloud-sdk-beta-20250530172306.tar.gz", "type": "tar" }, "dependencies": [ @@ -1395,8 +1395,8 @@ "platform": {}, "platform_required": false, "version": { - "build_number": 20250418150427, - "version_string": "2025.04.18" + "build_number": 20250530172306, + "version_string": "2025.05.30" } }, { @@ -1440,10 +1440,10 @@ }, { "data": { - "checksum": "c5ec78c8f3f849406a7e257d6b6b56794f8ec0438aa9b44b2944fa9250162dcd", - "contents_checksum": "f7fd562510515e6d8d6a89c4792b78cbbd4996a8b3fa39f1eac3cc3e0aeeb130", - "size": 7772349, - "source": "components/google-cloud-sdk-bigtable-darwin-arm-20250117151628.tar.gz", + "checksum": "588393774d2bf5af8c58d9a4e97c91541492e2b43e30dcbc149270bb1d2a0424", + "contents_checksum": "0fcd29df9864953ffb48cd711e6bb586737839e3afaacaf76735bf313d9366c6", + "size": 8515940, + "source": "components/google-cloud-sdk-bigtable-darwin-arm-20250530172306.tar.gz", "type": "tar" }, "dependencies": [ @@ -1469,7 +1469,7 @@ }, "platform_required": false, "version": { - "build_number": 20250117151628, + "build_number": 20250530172306, "version_string": "" } }, @@ -1510,10 +1510,10 @@ }, { "data": { - "checksum": "f4ec754399fc06c963a48cfcbc174fc8cf9427e3d14f27e851b23dd12eb61600", - "contents_checksum": "6a667b3df84cc5e2d14e6922bf947af02f132402750da8c601f3fc6bcb9c9e1b", - "size": 8097057, - "source": "components/google-cloud-sdk-bigtable-darwin-x86_64-20250117151628.tar.gz", + "checksum": "d4242d17f02d807e1323f3a99f3f536e30717f7bfda31b174bec91747da09a1f", + "contents_checksum": "f2a96ff2ed0724ca5da2084e064153016480b4dfbfe941845f70f23390ac7ec6", + "size": 8910949, + "source": "components/google-cloud-sdk-bigtable-darwin-x86_64-20250530172306.tar.gz", "type": "tar" }, "dependencies": [ @@ -1539,16 +1539,16 @@ }, "platform_required": false, "version": { - "build_number": 20250117151628, + "build_number": 20250530172306, "version_string": "" } }, { "data": { - "checksum": "0613f81feb77171477fd247a160469774d8e2a5ce4bc2759f0855d93ab54a02f", - "contents_checksum": "4805ccfd8aad280ab872c4e1aab6d81d6f4b3134dad11692c544350f730a6fc9", - "size": 7662270, - "source": "components/google-cloud-sdk-bigtable-linux-arm-20250117151628.tar.gz", + "checksum": "e5cfdaf5056babc0ffc8b87e119b5fe02482797104c9a5f21002204d059a3520", + "contents_checksum": "eca1b0bc78db7e0140143a76851cc22736dfcd2b04d05e1c0d5620e65dbc376c", + "size": 8369110, + "source": "components/google-cloud-sdk-bigtable-linux-arm-20250530172306.tar.gz", "type": "tar" }, "dependencies": [ @@ -1574,16 +1574,16 @@ }, "platform_required": false, "version": { - "build_number": 20250117151628, + "build_number": 20250530172306, "version_string": "" } }, { "data": { - "checksum": "976747f78fe3737f25c1c7b9a4eded317d1610c389cb25e0542cb26e524e62fc", - "contents_checksum": "c4c2cd05cd82788d89c01abd0edfe7788bdec3544cd326b8da4b057cdcce5187", - "size": 7836736, - "source": "components/google-cloud-sdk-bigtable-linux-x86-20250117151628.tar.gz", + "checksum": "add9a67aea7e3569da4a1f0c7bffaa698c19c2051d33b6273d4d4f4b261dd198", + "contents_checksum": "adbdd756d976401e5b364bc29569bcd57de716d405a2d1b54b33c402a77e9628", + "size": 8660514, + "source": "components/google-cloud-sdk-bigtable-linux-x86-20250530172306.tar.gz", "type": "tar" }, "dependencies": [ @@ -1609,16 +1609,16 @@ }, "platform_required": false, "version": { - "build_number": 20250117151628, + "build_number": 20250530172306, "version_string": "" } }, { "data": { - "checksum": "7eaab0ded673ebce9d2b54fe2b736766315efac69d05428c50c95cac533817e8", - "contents_checksum": "18562a42ca1650dfaa58aab2bb123d809e3616732bb560738f88be4e9093cfc2", - "size": 8132641, - "source": "components/google-cloud-sdk-bigtable-linux-x86_64-20250117151628.tar.gz", + "checksum": "fe2fb9c8ac715f0a7844c263007acefb303b76b3dbf38abdec71be3e684a698f", + "contents_checksum": "afc8581b818f2b6563ce309d48fb2c3fd35350a027eb77e85e6ef053f56d5dc1", + "size": 8929141, + "source": "components/google-cloud-sdk-bigtable-linux-x86_64-20250530172306.tar.gz", "type": "tar" }, "dependencies": [ @@ -1644,16 +1644,16 @@ }, "platform_required": false, "version": { - "build_number": 20250117151628, + "build_number": 20250530172306, "version_string": "" } }, { "data": { - "checksum": "7e32723092f4221b64aa3bbcbf5c12aca3e26dae29c827486832bcc4cadd183f", - "contents_checksum": "1ee0e8169faab2d532c115f69cf56fce960b709d9e070a027f64c0bfb778c0d5", - "size": 8034189, - "source": "components/google-cloud-sdk-bigtable-windows-x86-20250117151628.tar.gz", + "checksum": "b990c787c32357b9e364a1f38dc7d6eea581552da77967e711f03d71bd570b6b", + "contents_checksum": "5530accc756c663d98e8f58db088bd09df4cb134708cd035aa357834a13c83cb", + "size": 8888964, + "source": "components/google-cloud-sdk-bigtable-windows-x86-20250530172306.tar.gz", "type": "tar" }, "dependencies": [ @@ -1679,16 +1679,16 @@ }, "platform_required": false, "version": { - "build_number": 20250117151628, + "build_number": 20250530172306, "version_string": "" } }, { "data": { - "checksum": "377ee5b37ba648d835d9e3daa359cdd814333aa7cb59f693c89848549aa2252e", - "contents_checksum": "5b64f620662d33315b1ca1633fd8fb0834fd792b0e65a84c64671aa6b5d1ab14", - "size": 8291046, - "source": "components/google-cloud-sdk-bigtable-windows-x86_64-20250117151628.tar.gz", + "checksum": "26f462653ef979c24934a3a8c69982ab65b075051ccc9981a318870c5128d375", + "contents_checksum": "0d86cea84c2fce4e181697ccd388f6fbbb29e9b8c2037b39658e5a399914665c", + "size": 9119392, + "source": "components/google-cloud-sdk-bigtable-windows-x86_64-20250530172306.tar.gz", "type": "tar" }, "dependencies": [ @@ -1714,16 +1714,16 @@ }, "platform_required": false, "version": { - "build_number": 20250117151628, + "build_number": 20250530172306, "version_string": "" } }, { "data": { - "checksum": "d25fad8eb8eb7f8ea1137863f0569800a1df42b9cc5523c34a6eb99464c17286", - "contents_checksum": "fa9f12d6735ebe19cbc4e45b44db29ddf99c60fd7e163ff5b00a0e65da65a88e", - "size": 1843425, - "source": "components/google-cloud-sdk-bq-20250411141747.tar.gz", + "checksum": "76136a54df5808aa1c935a22396570a914cb32515354905c9d230f45f9e3ff3d", + "contents_checksum": "e21d946c83053b31e674c776a25414e7eb39bab0afdde703104f849c2b2bcc82", + "size": 1846801, + "source": "components/google-cloud-sdk-bq-20250516153006.tar.gz", "type": "tar" }, "dependencies": [ @@ -1743,16 +1743,16 @@ "platform": {}, "platform_required": false, "version": { - "build_number": 20250411141747, - "version_string": "2.1.15" + "build_number": 20250516153006, + "version_string": "2.1.17" } }, { "data": { - "checksum": "f23b0a9dd4e356357f860ac8bc3236fe4be5dd67059140d6b9f007828766fe74", - "contents_checksum": "fc38f20f30fa43f46aef337aaab843d7f747a4282bb10768321f03b6e1dd7cd0", - "size": 1914, - "source": "components/google-cloud-sdk-bq-nix-20240830134514.tar.gz", + "checksum": "60d1fbaaa242cdb5a1720a64847e22f2b56e12203520baa7fb0c8267d9013f49", + "contents_checksum": "0a2bf62530849e8882a1cf4c7699078f44e1ca965c2dd9d90d18d3452d1d8d1b", + "size": 1935, + "source": "components/google-cloud-sdk-bq-nix-20250523104322.tar.gz", "type": "tar" }, "dependencies": [ @@ -1778,16 +1778,16 @@ }, "platform_required": false, "version": { - "build_number": 20240830134514, - "version_string": "2.1.8" + "build_number": 20250523104322, + "version_string": "2.1.17" } }, { "data": { - "checksum": "b243aaa62a46e457e684066bcfd7ff777b983e0fe7555b29470a11e4dc55d669", - "contents_checksum": "76399a5b63559f930cd71c4f2f9c49ef4cefdeb998d7ef9609d7b714fb32926c", - "size": 3999, - "source": "components/google-cloud-sdk-bq-win-20240830134514.tar.gz", + "checksum": "f25dcf6a4c7c543d02f481cb3c2214121411ac360d2e40d216829527b989baf8", + "contents_checksum": "d076d76898f42e3cf0cd34135b0af8dd0ae8eb5e73f5aa99d1bf0c3a35206247", + "size": 4020, + "source": "components/google-cloud-sdk-bq-win-20250523104322.tar.gz", "type": "tar" }, "dependencies": [ @@ -1810,8 +1810,8 @@ }, "platform_required": false, "version": { - "build_number": 20240830134514, - "version_string": "2.1.8" + "build_number": 20250523104322, + "version_string": "2.1.17" } }, { @@ -1850,7 +1850,7 @@ "core" ], "details": { - "description": "Provides stand-alone Python 3.12.8 installation for UNIX.", + "description": "Provides stand-alone Python 3.12.9 installation for UNIX.", "display_name": "Bundled Python 3.12" }, "gdu_only": false, @@ -1869,15 +1869,15 @@ "platform_required": false, "version": { "build_number": 0, - "version_string": "3.12.8" + "version_string": "3.12.9" } }, { "data": { - "checksum": "fc06e7e366061cb27322c7dcb15d6b3d17952dbdcaf657adae82a8ccec6f2c70", - "contents_checksum": "7e549957ccf670289230947f16e44c8d2a4285c8211d4af8b323193422f652c5", - "size": 93520256, - "source": "components/google-cloud-sdk-bundled-python3-unix-linux-x86_64-20250131143518.tar.gz", + "checksum": "e4cf440e5b04362165b35190075dc3cfa09d5f4193eaf5002743695fb4d60e6c", + "contents_checksum": "4de425f34c44ba66a36a5973cb9d1b5dee1979bfb541fb3d5530197dba6f7f4e", + "size": 93610468, + "source": "components/google-cloud-sdk-bundled-python3-unix-linux-x86_64-20250502143716.tar.gz", "type": "tar" }, "dependencies": [ @@ -1885,7 +1885,7 @@ "core" ], "details": { - "description": "Provides stand-alone Python 3.12.8 installation for UNIX.", + "description": "Provides stand-alone Python 3.12.9 installation for UNIX.", "display_name": "Bundled Python 3.12 (Platform Specific)" }, "gdu_only": false, @@ -1903,8 +1903,8 @@ }, "platform_required": false, "version": { - "build_number": 20250131143518, - "version_string": "3.12.8" + "build_number": 20250502143716, + "version_string": "3.12.9" } }, { @@ -2012,15 +2012,15 @@ "platform_required": false, "version": { "build_number": 0, - "version_string": "1.23.1" + "version_string": "1.23.2" } }, { "data": { - "checksum": "73818dc14f461353dbd2304e8b2de8ccea511b1842b9ba5407ae5aeaabec1436", - "contents_checksum": "8347f936b4ab6de013e40e7d82733c5e0eb7df4d44324b7143674fdfb3a7b8a3", - "size": 19418909, - "source": "components/google-cloud-sdk-cbt-darwin-arm-20250117151628.tar.gz", + "checksum": "79e6e0c27d53a586ec4b65f3b94afce56cc5b1587c712369a4b63f032c29c088", + "contents_checksum": "f4aae02339fe3b213ca5d0ca06da149f8ea12aefb0ce0f322a07f301fbf883f0", + "size": 20238986, + "source": "components/google-cloud-sdk-cbt-darwin-arm-20250425151051.tar.gz", "type": "tar" }, "dependencies": [ @@ -2045,8 +2045,8 @@ }, "platform_required": false, "version": { - "build_number": 20250117151628, - "version_string": "1.23.1" + "build_number": 20250425151051, + "version_string": "1.23.2" } }, { @@ -2085,10 +2085,10 @@ }, { "data": { - "checksum": "1db750cd8d21f7041deddc4f5c814ff5f470eb3f2fff4b2a8f8039372960b319", - "contents_checksum": "c47a1a2876efe67ec24653e082ca184482a7630dff0ccb9ac3953be364505ed8", - "size": 20256274, - "source": "components/google-cloud-sdk-cbt-darwin-x86_64-20250117151628.tar.gz", + "checksum": "b73c80112bb0bc302f3a760d5a7df73290cb387185827e587b63fab409e0e218", + "contents_checksum": "67e6c5c14d7245616d428d644580cd4b494ec2ba4c25d845e173e43ff87c40ff", + "size": 21171932, + "source": "components/google-cloud-sdk-cbt-darwin-x86_64-20250425151051.tar.gz", "type": "tar" }, "dependencies": [ @@ -2113,16 +2113,16 @@ }, "platform_required": false, "version": { - "build_number": 20250117151628, - "version_string": "1.23.1" + "build_number": 20250425151051, + "version_string": "1.23.2" } }, { "data": { - "checksum": "f14358cbc2bf0fde6eddd9753fb5369bcb790779b210e3e260000ccbf42d5aed", - "contents_checksum": "c9ebfffb9153f7d1d08cd20055e8b9681477594f41c2cc23a9acd8ddc6752d97", - "size": 18799504, - "source": "components/google-cloud-sdk-cbt-linux-arm-20250117151628.tar.gz", + "checksum": "debf8cf3f1616f3fd81acf0ef7ada142cc16ae9a521ec5a44069db6a3797d48c", + "contents_checksum": "a300c56941402f956a5abd8bfbfaa35be73baf0bb52d32cbf9f904983efa0b64", + "size": 19610690, + "source": "components/google-cloud-sdk-cbt-linux-arm-20250425151051.tar.gz", "type": "tar" }, "dependencies": [ @@ -2147,16 +2147,16 @@ }, "platform_required": false, "version": { - "build_number": 20250117151628, - "version_string": "1.23.1" + "build_number": 20250425151051, + "version_string": "1.23.2" } }, { "data": { - "checksum": "3cc86d67f67be6c1716d7b3003452e4ed5df53e58d33aff38ce945b0ac6c288d", - "contents_checksum": "ac1f6b391a90589be8e1c653628f8d3e098352ae059b64de826e4bd1ad0623de", - "size": 18656259, - "source": "components/google-cloud-sdk-cbt-linux-x86-20250117151628.tar.gz", + "checksum": "12a2d1b2706b3326ffd0d5f5110f7a15d03d11d5cc58fc23e368a3c5c7cb75c1", + "contents_checksum": "a12a5eab76fedbd20996e44a42a1aa761a606306c4e5f3d717ca1fd986523bdf", + "size": 19629272, + "source": "components/google-cloud-sdk-cbt-linux-x86-20250425151051.tar.gz", "type": "tar" }, "dependencies": [ @@ -2181,16 +2181,16 @@ }, "platform_required": false, "version": { - "build_number": 20250117151628, - "version_string": "1.23.1" + "build_number": 20250425151051, + "version_string": "1.23.2" } }, { "data": { - "checksum": "9dc57439756543789d135404db8cc3a2df074e2284ac1ee3e38497cd00d95c87", - "contents_checksum": "ae5301bc3779b6d681201a0cf7d6ee27c138fd697b145190bb1f52e388ce8147", - "size": 20013036, - "source": "components/google-cloud-sdk-cbt-linux-x86_64-20250117151628.tar.gz", + "checksum": "e1a42c0656f9b0200cd119813edccc269b5e29027526394909b1154e4ca9bd98", + "contents_checksum": "2b375531c2de09f55ff5120084912c6a7795aa0a4f9397b25bb950e24cfc3a9f", + "size": 20936702, + "source": "components/google-cloud-sdk-cbt-linux-x86_64-20250425151051.tar.gz", "type": "tar" }, "dependencies": [ @@ -2215,16 +2215,16 @@ }, "platform_required": false, "version": { - "build_number": 20250117151628, - "version_string": "1.23.1" + "build_number": 20250425151051, + "version_string": "1.23.2" } }, { "data": { - "checksum": "a55020954d0cee5d92a6e3252ef1d139b44fb06a531fdb910fdbece4d81e8921", - "contents_checksum": "a331d0faa42f4e19b6d3d5e493a3c1063accc47abba1c7f22f90deb708d38fd0", - "size": 19083269, - "source": "components/google-cloud-sdk-cbt-windows-x86-20250117151628.tar.gz", + "checksum": "01ccd5adc207c53422f92c7973c4ca85e8d44a387605cd8158649bf90659b5ee", + "contents_checksum": "796da6bf7de47d95acdce14ae54b9baafe71142201cd6c28255802832c037339", + "size": 20079815, + "source": "components/google-cloud-sdk-cbt-windows-x86-20250425151051.tar.gz", "type": "tar" }, "dependencies": [ @@ -2249,16 +2249,16 @@ }, "platform_required": false, "version": { - "build_number": 20250117151628, - "version_string": "1.23.1" + "build_number": 20250425151051, + "version_string": "1.23.2" } }, { "data": { - "checksum": "5b90ad7fc02ac7af9366144515150a7010d7430d14a49abb4f93d558eb6d4e06", - "contents_checksum": "198665de7929692721322b1c18300bb4e6a85c5f5bbe965a9adb19ea529d7fd9", - "size": 20265341, - "source": "components/google-cloud-sdk-cbt-windows-x86_64-20250117151628.tar.gz", + "checksum": "0e09d426115715c33c8a0c4b371531e61bd879481aa0e97b6a1fc0feaf218d74", + "contents_checksum": "2c0a4090a17705a50003bc39e422854ab1f5889a8823f90f1ccfac5d2dfa3dc3", + "size": 21189304, + "source": "components/google-cloud-sdk-cbt-windows-x86_64-20250425151051.tar.gz", "type": "tar" }, "dependencies": [ @@ -2283,8 +2283,8 @@ }, "platform_required": false, "version": { - "build_number": 20250117151628, - "version_string": "1.23.1" + "build_number": 20250425151051, + "version_string": "1.23.2" } }, { @@ -2775,15 +2775,15 @@ "platform_required": false, "version": { "build_number": 0, - "version_string": "2.15.1" + "version_string": "2.16.0" } }, { "data": { - "checksum": "cc3e24c522f3e1dceeabacb67edb675c7666d0abf5f26371264b09bcc7974eb4", - "contents_checksum": "bc73c79eea2813e56c26dfd8c3793c7e5eebd5777667c598358114fddb1129d2", - "size": 14864751, - "source": "components/google-cloud-sdk-cloud-sql-proxy-darwin-arm-20250307152352.tar.gz", + "checksum": "33b5e81feb13982b2f4295a593776c4773335f68061c5d2a5dbb73fb1b39e225", + "contents_checksum": "b82e9e694bcdfdda6f8ac5171aad40cd479d352f00b89a50550f5c6f1b6b0f78", + "size": 15369091, + "source": "components/google-cloud-sdk-cloud-sql-proxy-darwin-arm-20250502143716.tar.gz", "type": "tar" }, "dependencies": [ @@ -2808,16 +2808,16 @@ }, "platform_required": false, "version": { - "build_number": 20250307152352, - "version_string": "2.15.1" + "build_number": 20250502143716, + "version_string": "2.16.0" } }, { "data": { - "checksum": "0e97dcbc2ea775e0ace2af97db75c97bb085f0b1d078310dc68d1c53b4c69362", - "contents_checksum": "c354bef135a94d8d34f174c234b806a397fbdda0c62d4704a7264eee8b6d4030", - "size": 15568620, - "source": "components/google-cloud-sdk-cloud-sql-proxy-darwin-x86_64-20250307152352.tar.gz", + "checksum": "f591d6b87958a9a5e743a61ca213425e54c96ea12c50478724fb1c01d060cb74", + "contents_checksum": "4395ddb77003339755c22e3fc364a05427de63f4dd36a2a0df1752af83625898", + "size": 16139468, + "source": "components/google-cloud-sdk-cloud-sql-proxy-darwin-x86_64-20250502143716.tar.gz", "type": "tar" }, "dependencies": [ @@ -2842,16 +2842,16 @@ }, "platform_required": false, "version": { - "build_number": 20250307152352, - "version_string": "2.15.1" + "build_number": 20250502143716, + "version_string": "2.16.0" } }, { "data": { - "checksum": "c617244f0d8414e8b26289f18dd89ed1e27da600607e7bcb8ab698732ad4581d", - "contents_checksum": "af233e8ae0a09d9cce6c82d4af91cf327c4c5d0a9f0f2bc057562f0eb5009716", - "size": 14631127, - "source": "components/google-cloud-sdk-cloud-sql-proxy-linux-arm-20250307152352.tar.gz", + "checksum": "ca57b22ef9ebd37d4dce9381c9b5af474e79e9fef2c5adb98a8919ea98d6e54f", + "contents_checksum": "ed3de84fa623db0d10d4ff9869d523ef4e9c4a3b6a39591f44a0ef8f9aeff541", + "size": 15121895, + "source": "components/google-cloud-sdk-cloud-sql-proxy-linux-arm-20250502143716.tar.gz", "type": "tar" }, "dependencies": [ @@ -2876,16 +2876,16 @@ }, "platform_required": false, "version": { - "build_number": 20250307152352, - "version_string": "2.15.1" + "build_number": 20250502143716, + "version_string": "2.16.0" } }, { "data": { - "checksum": "266de4059fc9aaaee060dbae2be56f8ded202fe3a4205c2b72ac16bf9b701345", - "contents_checksum": "627713602a4d47c62aebfb91220f543b454e7f4a109a11ebd9a80745460f95d8", - "size": 14675853, - "source": "components/google-cloud-sdk-cloud-sql-proxy-linux-x86-20250307152352.tar.gz", + "checksum": "d8c80247548a0a790e1760a1086a7ab5067e21b269714e36778f6ce292448f66", + "contents_checksum": "6d79363298e4e1a1b3838d0733b43b7f5b2de26654279e4b98ba3dcf6ce20cf3", + "size": 15312811, + "source": "components/google-cloud-sdk-cloud-sql-proxy-linux-x86-20250502143716.tar.gz", "type": "tar" }, "dependencies": [ @@ -2910,16 +2910,16 @@ }, "platform_required": false, "version": { - "build_number": 20250307152352, - "version_string": "2.15.1" + "build_number": 20250502143716, + "version_string": "2.16.0" } }, { "data": { - "checksum": "98b0b02702b203b93915159d26445e25b5b17fcdaafed09d143906e3757a57a0", - "contents_checksum": "de4fe217561188db52489160fb4474c4fa68f69660ce07c7e9592556e813f820", - "size": 15628776, - "source": "components/google-cloud-sdk-cloud-sql-proxy-linux-x86_64-20250307152352.tar.gz", + "checksum": "bcacb0a02322b232be903ce7d029352214cea55760308eeeca050de8315aa98e", + "contents_checksum": "eb7c331c9cc2161775ebf2b902a1919f4a03eab48d1c414bfd0ec74c56335a68", + "size": 16193572, + "source": "components/google-cloud-sdk-cloud-sql-proxy-linux-x86_64-20250502143716.tar.gz", "type": "tar" }, "dependencies": [ @@ -2944,16 +2944,16 @@ }, "platform_required": false, "version": { - "build_number": 20250307152352, - "version_string": "2.15.1" + "build_number": 20250502143716, + "version_string": "2.16.0" } }, { "data": { - "checksum": "497cb95ebe2d08b63d95e5f3a9e4c93036679b2bc3cad4a2cc176da8ca071fc6", - "contents_checksum": "9e659aa639277d509050f0cd55c1bca74a31bdd12bc8d56c0210d87fb5dc6e4f", - "size": 14700741, - "source": "components/google-cloud-sdk-cloud-sql-proxy-windows-x86-20250307152352.tar.gz", + "checksum": "dddab77499549605d709c15a6bffd74dbaff95caad25f51b574d1a957d213add", + "contents_checksum": "5e707ebab17a7dabd3c17c6f02db07baf26ea10d4d8d624285b86acdd40b257b", + "size": 15353897, + "source": "components/google-cloud-sdk-cloud-sql-proxy-windows-x86-20250502143716.tar.gz", "type": "tar" }, "dependencies": [ @@ -2978,16 +2978,16 @@ }, "platform_required": false, "version": { - "build_number": 20250307152352, - "version_string": "2.15.1" + "build_number": 20250502143716, + "version_string": "2.16.0" } }, { "data": { - "checksum": "ae636a87f12299bc5b6bada45f5cbdfc244930f6c1de7cf6e8053808bef2f4e2", - "contents_checksum": "0a2f3d7d99840b2cb912836047963fa3a9593063a657be849b08fa09b8dcca17", - "size": 15506371, - "source": "components/google-cloud-sdk-cloud-sql-proxy-windows-x86_64-20250307152352.tar.gz", + "checksum": "4b10e68c7bc5b6d58d9e498916678128a6b203776f180d1f84ff9b2463c9a02b", + "contents_checksum": "5dc54295d3de9f6087e239f87210bfdda4abb70e9c373d96f0781ecd84b7f080", + "size": 16064956, + "source": "components/google-cloud-sdk-cloud-sql-proxy-windows-x86_64-20250502143716.tar.gz", "type": "tar" }, "dependencies": [ @@ -3012,8 +3012,8 @@ }, "platform_required": false, "version": { - "build_number": 20250307152352, - "version_string": "2.15.1" + "build_number": 20250502143716, + "version_string": "2.16.0" } }, { @@ -3497,10 +3497,10 @@ }, { "data": { - "checksum": "d5bc6f49efbfd90846ed8936e081b811b7794e142c483be6e068c352de2e21ea", - "contents_checksum": "c5d5a23618780a95ae8288da37b87ab222bb96a14864c841a1d9614e1ad5793d", - "size": 22477312, - "source": "components/google-cloud-sdk-core-20250418150427.tar.gz", + "checksum": "1f4ca21d22dad5d4ae915bef399773a1f9da80078203eb1110f5ca60ecb74ea1", + "contents_checksum": "3c51a14acf53fbde6c3fb293e5d53d6181384ea26d783d25604b0fb04242f184", + "size": 22857172, + "source": "components/google-cloud-sdk-core-20250530172306.tar.gz", "type": "tar" }, "dependencies": [ @@ -3522,16 +3522,16 @@ "platform": {}, "platform_required": false, "version": { - "build_number": 20250418150427, - "version_string": "2025.04.18" + "build_number": 20250530172306, + "version_string": "2025.05.30" } }, { "data": { - "checksum": "197ac1b099e234bdc6e470083357fb6da39359bf43cea591acbb49812650a987", - "contents_checksum": "de33f987aac09df44d040f88a497a83c34d5fe5a94af0c8245264e4fdcb95ea6", - "size": 2306, - "source": "components/google-cloud-sdk-core-nix-20240830134514.tar.gz", + "checksum": "9e1b69acf123fd2a9a5bdf17f3a559e96db764b8c32b8d9eb6c949361c1ded2c", + "contents_checksum": "1805b5105daf70f8c67e22971c7826eccfcaa955b471294c74cdb15dabb10fc8", + "size": 2325, + "source": "components/google-cloud-sdk-core-nix-20250523104322.tar.gz", "type": "tar" }, "dependencies": [ @@ -3559,8 +3559,8 @@ }, "platform_required": false, "version": { - "build_number": 20240830134514, - "version_string": "2024.08.30" + "build_number": 20250523104322, + "version_string": "2025.05.23" } }, { @@ -4609,10 +4609,10 @@ }, { "data": { - "checksum": "c1272b3f2775c0594f3e2380cb24f13062f25ed888103324a5f5686aacafbba8", - "contents_checksum": "4f3b44604f4af1115a55ea3e9810320fe471f44653e69568d7606b81bcf23f31", - "size": 7997152, - "source": "components/google-cloud-sdk-gcloud-man-pages-nix-20250418150427.tar.gz", + "checksum": "5a46d8845fcb1ab2b32ee00f2478778bf3b30f0a50f35bf757ccbf57e470a9db", + "contents_checksum": "536b06842157e365e7b0a26424b2c0d90e7074e4eebfa1a1ce8cebe4ccdbb3e1", + "size": 8155739, + "source": "components/google-cloud-sdk-gcloud-man-pages-nix-20250530172306.tar.gz", "type": "tar" }, "dependencies": [ @@ -4638,7 +4638,7 @@ }, "platform_required": false, "version": { - "build_number": 20250418150427, + "build_number": 20250530172306, "version_string": "" } }, @@ -4948,10 +4948,10 @@ }, { "data": { - "checksum": "a896e2401419d2767ad444547bc89e80d08af925b282383035de8cb75ebe6bc0", - "contents_checksum": "9fea4d1cb560bfc47fc80d4982fd886b4c283530b79fbd90bc1955003169996c", - "size": 1928, - "source": "components/google-cloud-sdk-gsutil-nix-20240830134514.tar.gz", + "checksum": "df66d977e2a4805bd9186c2beb952dc46908f7d61f3dc7ca49c8156816b5a519", + "contents_checksum": "ca0348a8fff5aafa134fa26ec07c00176576fa6d77ff36f91b61350e77259328", + "size": 1950, + "source": "components/google-cloud-sdk-gsutil-nix-20250523104322.tar.gz", "type": "tar" }, "dependencies": [ @@ -4977,16 +4977,16 @@ }, "platform_required": false, "version": { - "build_number": 20240830134514, - "version_string": "5.30" + "build_number": 20250523104322, + "version_string": "5.34" } }, { "data": { - "checksum": "5498449c9d5918d70aee2f40072fd493f5b5fcc2f86dccfbf71537e01b8a874b", - "contents_checksum": "5a3078a14d39ea2176019f1b6942be3ff8d0cee80501cc30f1ca5065b5069e89", - "size": 4050, - "source": "components/google-cloud-sdk-gsutil-win-20240830134514.tar.gz", + "checksum": "322dab9e02b7830020c064ae6d22e0eaa613c89b7b1d1cb4cbef83378e071975", + "contents_checksum": "018c43b01757a32f6ca05f7fc332f07526e899b1e4f46ef8f79ba796d60076eb", + "size": 4070, + "source": "components/google-cloud-sdk-gsutil-win-20250523104322.tar.gz", "type": "tar" }, "dependencies": [ @@ -5009,8 +5009,8 @@ }, "platform_required": false, "version": { - "build_number": 20240830134514, - "version_string": "5.30" + "build_number": 20250523104322, + "version_string": "5.34" } }, { @@ -5042,15 +5042,15 @@ "platform_required": false, "version": { "build_number": 0, - "version_string": "1.20.825" + "version_string": "1.20.837" } }, { "data": { - "checksum": "a2d69d8cdd92cff313bf801a7d2c81ecf1c141a59411aa7a42f3f21355ad7bf0", - "contents_checksum": "f7c93c39ed957384a4e9711c17ca48162bcbd040f2b730384d15a4c53eab8af6", - "size": 25069537, - "source": "components/google-cloud-sdk-istioctl-darwin-arm-20250324162232.tar.gz", + "checksum": "61a62449e6ca63747938316082b6c884a7ea98b69d59cc22c517c0bdf8c8814d", + "contents_checksum": "c871ed3679ec1746ddf8b20d8aa83301b586fe43c8196f150bd87f7f8aa7c2bc", + "size": 26104512, + "source": "components/google-cloud-sdk-istioctl-darwin-arm-20250523104322.tar.gz", "type": "tar" }, "dependencies": [ @@ -5075,16 +5075,16 @@ }, "platform_required": false, "version": { - "build_number": 20250324162232, - "version_string": "1.20.825" + "build_number": 20250523104322, + "version_string": "1.20.837" } }, { "data": { - "checksum": "b8109553f15032c57bd0570deed2111fa07920ea362ae9930736735ff69b1754", - "contents_checksum": "d65363015ac4faec61fb25694179458f09eb37166aceae4225d84695b7938617", - "size": 26644097, - "source": "components/google-cloud-sdk-istioctl-darwin-x86_64-20250324162232.tar.gz", + "checksum": "c60e582c87d882dc019e2b9eb47eeed8fc719f0e40e8254e3681294928208b89", + "contents_checksum": "0840b04bbf156892ac09d38de8f861f41da73da8bed069a59a1e6487590b2422", + "size": 27668533, + "source": "components/google-cloud-sdk-istioctl-darwin-x86_64-20250523104322.tar.gz", "type": "tar" }, "dependencies": [ @@ -5109,16 +5109,16 @@ }, "platform_required": false, "version": { - "build_number": 20250324162232, - "version_string": "1.20.825" + "build_number": 20250523104322, + "version_string": "1.20.837" } }, { "data": { - "checksum": "a50e74af10be5274f098ef03b5ad49d7c59dbfb66732cf9de37063a966f7b087", - "contents_checksum": "e18513c7f394ece33b569788dd30ce460e9c7aab45014e1691bfa91ce2d8a02c", - "size": 23659432, - "source": "components/google-cloud-sdk-istioctl-linux-arm-20250324162232.tar.gz", + "checksum": "015d86d1011c01c51d306625448cdfc42ad52c95a2dcc602b3c9f2e75f3d5a7d", + "contents_checksum": "ef4655b9ab532492494f8bb062a0b0da6a43755e96a5401ace059e169b60b797", + "size": 24614552, + "source": "components/google-cloud-sdk-istioctl-linux-arm-20250523104322.tar.gz", "type": "tar" }, "dependencies": [ @@ -5143,16 +5143,16 @@ }, "platform_required": false, "version": { - "build_number": 20250324162232, - "version_string": "1.20.825" + "build_number": 20250523104322, + "version_string": "1.20.837" } }, { "data": { - "checksum": "36642a70042e012798671d42ee5a38dd71d34d03559e1eb840d0b0a4d2104809", - "contents_checksum": "e03aec67d0bf5f6cb6bb55fac6045575667ba64eb0e44cc7b314300cd6ccf1bd", - "size": 25941974, - "source": "components/google-cloud-sdk-istioctl-linux-x86_64-20250324162232.tar.gz", + "checksum": "e1cbe033b24f860e0113cc6ddd7aa0439907e80c6dbda4d98123b6243d30ed0e", + "contents_checksum": "d79876542a175fd5e7878d7d40224f042d6c44905e71570025e4bb6b4fc6f785", + "size": 26939221, + "source": "components/google-cloud-sdk-istioctl-linux-x86_64-20250523104322.tar.gz", "type": "tar" }, "dependencies": [ @@ -5177,8 +5177,8 @@ }, "platform_required": false, "version": { - "build_number": 20250324162232, - "version_string": "1.20.825" + "build_number": 20250523104322, + "version_string": "1.20.837" } }, { @@ -5210,15 +5210,15 @@ "platform_required": false, "version": { "build_number": 0, - "version_string": "1.0.0-beta.55" + "version_string": "1.0.0-beta.56" } }, { "data": { - "checksum": "12466bd606acf151837e299eebbbe0bc85e82f63d0f8793f4f4710de729b5ece", - "contents_checksum": "6c7cd9f04e3f0ac68148649e204c91d7c8d43bc7c539ba00f1b033f02d3723f5", - "size": 15062248, - "source": "components/google-cloud-sdk-kpt-darwin-arm-20240830134514.tar.gz", + "checksum": "d8a45f20ead335b5e3aa8fc6c0098907494ca1fb82fa1e85d308039ff0c56c5a", + "contents_checksum": "30ad8a9c47700d65297e6ce2dc77aab219f2e4319ca7aee3d9e38d00f26d146a", + "size": 15217539, + "source": "components/google-cloud-sdk-kpt-darwin-arm-20250425151051.tar.gz", "type": "tar" }, "dependencies": [ @@ -5243,16 +5243,16 @@ }, "platform_required": false, "version": { - "build_number": 20240830134514, - "version_string": "1.0.0-beta.55" + "build_number": 20250425151051, + "version_string": "1.0.0-beta.56" } }, { "data": { - "checksum": "bb96aec242c9e0f3d8347465e5b5d3e2ef60cec1b07033b54adc9793b67f17c2", - "contents_checksum": "8ea274e558d477e1765078ec05300460543be2284e5215297250045637008337", - "size": 16143447, - "source": "components/google-cloud-sdk-kpt-darwin-x86_64-20240830134514.tar.gz", + "checksum": "46b7b6db711b7ad75d949cf6322edc99822ad97b8a02b7f1fa37e311665fcc31", + "contents_checksum": "556d5a5714934185ec85c676a28b19566b460ee5bb4ecba329ea09cb090ee5ee", + "size": 16318352, + "source": "components/google-cloud-sdk-kpt-darwin-x86_64-20250425151051.tar.gz", "type": "tar" }, "dependencies": [ @@ -5277,16 +5277,16 @@ }, "platform_required": false, "version": { - "build_number": 20240830134514, - "version_string": "1.0.0-beta.55" + "build_number": 20250425151051, + "version_string": "1.0.0-beta.56" } }, { "data": { - "checksum": "e7229a7400d0cab563be434c79dc9a9b329782393d5bc589eeaf7707ee1a4d6e", - "contents_checksum": "9294394a5ec967b657a2a93fca6514b9d6c10046212ff0c5ddba5137aa9b6359", - "size": 14370245, - "source": "components/google-cloud-sdk-kpt-linux-arm-20240830134514.tar.gz", + "checksum": "952ebd9d30a97316ab3ce7faccfe442749a75f7e1e4e12288a277505a54edade", + "contents_checksum": "36464c4969044c035248fb24b0d5babacfe9e45ca015bdecb6c3e4d03fd356a8", + "size": 14524265, + "source": "components/google-cloud-sdk-kpt-linux-arm-20250425151051.tar.gz", "type": "tar" }, "dependencies": [ @@ -5311,16 +5311,16 @@ }, "platform_required": false, "version": { - "build_number": 20240830134514, - "version_string": "1.0.0-beta.55" + "build_number": 20250425151051, + "version_string": "1.0.0-beta.56" } }, { "data": { - "checksum": "e14a80527f5e457b7a1cea93fecc331975021540da2bbdfa41c2fff9a6a89fa9", - "contents_checksum": "32f1578bfd060d897070aa309a3c94f4afd7d48bd3b14079a1faedba7d3e78af", - "size": 15847524, - "source": "components/google-cloud-sdk-kpt-linux-x86_64-20240830134514.tar.gz", + "checksum": "172141641f25fc62aa689c773eca66e9f56a2f973bf95c18b20cd950746d80e1", + "contents_checksum": "81c0eeabf640b46b2ae1a52dae1a572b2a86d5cbac89eba836a544e3a8832740", + "size": 16021782, + "source": "components/google-cloud-sdk-kpt-linux-x86_64-20250425151051.tar.gz", "type": "tar" }, "dependencies": [ @@ -5345,16 +5345,16 @@ }, "platform_required": false, "version": { - "build_number": 20240830134514, - "version_string": "1.0.0-beta.55" + "build_number": 20250425151051, + "version_string": "1.0.0-beta.56" } }, { "data": { - "checksum": "0cc9ada83ff3cb05f92ca91938921f49fe1b88040a1a05b9dc2fd0e63fab7c47", - "contents_checksum": "e90927df62e228e8b8468b90d4b1b1f6b33787fa5102b53831947c2337121ca6", - "size": 36528, - "source": "components/google-cloud-sdk-kubectl-20250228155416.tar.gz", + "checksum": "8fd09ca41403368bb9dc8a1a7e04fdb184182f988457899ff8b32dd563319a81", + "contents_checksum": "4c90acf4e869c9d3e649dfc341dcb79b0aa02fe8548bb2838d106a4787d16285", + "size": 36864, + "source": "components/google-cloud-sdk-kubectl-20250502143716.tar.gz", "type": "tar" }, "dependencies": [ @@ -5379,16 +5379,16 @@ "platform": {}, "platform_required": true, "version": { - "build_number": 20250228155416, - "version_string": "1.31.6" + "build_number": 20250502143716, + "version_string": "1.32.4" } }, { "data": { - "checksum": "a223c0f87912747fd0fac35474a50d86918098b2127502c916247fafe99a7a74", - "contents_checksum": "9a54db6efb7936c85b78db8a792541141131c4a56c92cf6832479f018afdc863", - "size": 107111849, - "source": "components/google-cloud-sdk-kubectl-darwin-arm-20250228155416.tar.gz", + "checksum": "ada62af1e365a44170ab5d4548e0b908e1070d77df30c74d06bc1d946c531309", + "contents_checksum": "cca10719b2395a96a7e17161742be006e696372de274c0652c78506bb39c31ef", + "size": 124150134, + "source": "components/google-cloud-sdk-kubectl-darwin-arm-20250516153006.tar.gz", "type": "tar" }, "dependencies": [ @@ -5414,16 +5414,16 @@ }, "platform_required": true, "version": { - "build_number": 20250228155416, - "version_string": "1.31.6" + "build_number": 20250516153006, + "version_string": "1.32.4" } }, { "data": { - "checksum": "2a3d56d8b2b3b36a49876cfb281815e601e49e3c70da60f007fffd0ee5eb987b", - "contents_checksum": "c1738e432c5c7a85ff97f58cdf183fa9ea6e40c55d02f715de97af9f51249afe", - "size": 114682615, - "source": "components/google-cloud-sdk-kubectl-darwin-x86_64-20250228155416.tar.gz", + "checksum": "89253330b616335dd0b5467c23e4e3ab1fde30c9fe65a56527cfaadc810a7821", + "contents_checksum": "66a991b24da7e984b3b7a652588e6fc384c064037c8ea683267f98a3b98d1fbf", + "size": 132977068, + "source": "components/google-cloud-sdk-kubectl-darwin-x86_64-20250516153006.tar.gz", "type": "tar" }, "dependencies": [ @@ -5449,16 +5449,16 @@ }, "platform_required": true, "version": { - "build_number": 20250228155416, - "version_string": "1.31.6" + "build_number": 20250516153006, + "version_string": "1.32.4" } }, { "data": { - "checksum": "5db7166d8addf0f766b82d17d8d9ffc6c379b15a717e7c20b7eaf543d9f7dfa0", - "contents_checksum": "7f3fac3b6f013480e7bb31cf727d7840c8ad51c61f38d069577c5a68125eb75c", - "size": 106479941, - "source": "components/google-cloud-sdk-kubectl-linux-arm-20250228155416.tar.gz", + "checksum": "f4836337bb8f2438bafc9f4b54f29112407e00503935d868854d72f09ac3c1ed", + "contents_checksum": "92337cee71f5c7bf73b5f63d87f79ea185bf9b599a528786df5da71a44f82aa8", + "size": 122773179, + "source": "components/google-cloud-sdk-kubectl-linux-arm-20250516153006.tar.gz", "type": "tar" }, "dependencies": [ @@ -5484,16 +5484,16 @@ }, "platform_required": true, "version": { - "build_number": 20250228155416, - "version_string": "1.31.6" + "build_number": 20250516153006, + "version_string": "1.32.4" } }, { "data": { - "checksum": "fb61396c3f22e11f16d1ff401cea497dcdeb3c970fcf5ff9c2a9bf8c58225b6a", - "contents_checksum": "11c0f144ed34edede8096d21f213f748a51a00bfb566fd03189bc96671c9a2c6", - "size": 103837928, - "source": "components/google-cloud-sdk-kubectl-linux-x86-20250228155416.tar.gz", + "checksum": "cbb7e43c601bc296884d31808d2b21b7f5e4534319f964a87ecee908f966eb4f", + "contents_checksum": "fac8e16b3e35d28be6a3a043e1a4f5732bc9a320bd871154361918989825c7b8", + "size": 120479124, + "source": "components/google-cloud-sdk-kubectl-linux-x86-20250516153006.tar.gz", "type": "tar" }, "dependencies": [ @@ -5519,16 +5519,16 @@ }, "platform_required": true, "version": { - "build_number": 20250228155416, - "version_string": "1.31.6" + "build_number": 20250516153006, + "version_string": "1.32.4" } }, { "data": { - "checksum": "569acffe5445dd04ae35939add580b9fe112541f787ca9ba277fb902171a04ce", - "contents_checksum": "68fedf04f1e5956ace7185a46b8d9be3ed821d8ee14e6b2f350ffb2a9834ea07", - "size": 112386365, - "source": "components/google-cloud-sdk-kubectl-linux-x86_64-20250228155416.tar.gz", + "checksum": "1beeb68dcbae36d56496618398a364ef139f7c8dfb0a37644af9abaff88e806c", + "contents_checksum": "40b655866c317e3f577065e38f5889d83d464fbdc24a13a0105d563bbf760253", + "size": 130323919, + "source": "components/google-cloud-sdk-kubectl-linux-x86_64-20250516153006.tar.gz", "type": "tar" }, "dependencies": [ @@ -5554,8 +5554,8 @@ }, "platform_required": true, "version": { - "build_number": 20250228155416, - "version_string": "1.31.6" + "build_number": 20250516153006, + "version_string": "1.32.4" } }, { @@ -5764,10 +5764,10 @@ }, { "data": { - "checksum": "4ced2aed9864876f68758ded66eb113bc038d739f7b33d980d6c67048a759d99", - "contents_checksum": "d3bf0e6234d476f3982892c4c904be479e1579a75ddc1b93d8797840e959bc5e", - "size": 109074204, - "source": "components/google-cloud-sdk-kubectl-windows-x86-20250228155416.tar.gz", + "checksum": "220d14b05c431400978f2c852b8a46d5b221ab266209d3323837e5efcf0f0740", + "contents_checksum": "3231b68572ed1e40dc0459e7b1b56eae27c50d841e771209d43d3f55f7e1837f", + "size": 126544899, + "source": "components/google-cloud-sdk-kubectl-windows-x86-20250516153006.tar.gz", "type": "tar" }, "dependencies": [ @@ -5795,16 +5795,16 @@ }, "platform_required": true, "version": { - "build_number": 20250228155416, - "version_string": "1.31.6" + "build_number": 20250516153006, + "version_string": "1.32.4" } }, { "data": { - "checksum": "209a9012a8f217867ee83beed0921a74cefd07af73478548ef61322f9a3eef7f", - "contents_checksum": "7f682b85a5dc86ac765acab82ce0d0ba730e105f61fa28fdd916bed40f472b1a", - "size": 115408997, - "source": "components/google-cloud-sdk-kubectl-windows-x86_64-20250228155416.tar.gz", + "checksum": "df410904bf5570200508bb9f00cd8f667bf906b905b8cd91cabad1f012ba4a10", + "contents_checksum": "725b9734079c70712a6c1482f678e5d64ca5bf0e09905860c8fa4292475fdb09", + "size": 133831260, + "source": "components/google-cloud-sdk-kubectl-windows-x86_64-20250516153006.tar.gz", "type": "tar" }, "dependencies": [ @@ -5832,8 +5832,8 @@ }, "platform_required": true, "version": { - "build_number": 20250228155416, - "version_string": "1.31.6" + "build_number": 20250516153006, + "version_string": "1.32.4" } }, { @@ -6434,15 +6434,15 @@ "platform_required": false, "version": { "build_number": 0, - "version_string": "1.35.0" + "version_string": "1.36.0" } }, { "data": { - "checksum": "ace21ad491e836d930474aab51d001bd0bac865eb05c7ce515b776d316b53e9b", - "contents_checksum": "f51ab7823860beb11c1249d0d1170ecdfc8a1067a47892bb8fb310cc5f20f54e", - "size": 45658381, - "source": "components/google-cloud-sdk-minikube-darwin-arm-20250210213649.tar.gz", + "checksum": "3ee9b4712427cd162ee8024947f2bcd7d0361a35ecad48d6df9dfcaa8f85fe2c", + "contents_checksum": "1c30206edf8292c393fe25fc381c3283a28908bde26b30090cc570c3e789bb78", + "size": 48086454, + "source": "components/google-cloud-sdk-minikube-darwin-arm-20250530172306.tar.gz", "type": "tar" }, "dependencies": [ @@ -6467,16 +6467,16 @@ }, "platform_required": false, "version": { - "build_number": 20250210213649, - "version_string": "1.35.0" + "build_number": 20250530172306, + "version_string": "1.36.0" } }, { "data": { - "checksum": "0377416a7fbd6915c825a577ec81ef3f1a4e7851fb93ccc240f139c674cad2d0", - "contents_checksum": "90cbb04413f08113564f60c84af6356de9e4b8486bec5b191e7dad3123bd307f", - "size": 47348951, - "source": "components/google-cloud-sdk-minikube-darwin-x86_64-20250210213649.tar.gz", + "checksum": "ae45147244c8f61d085c2cc642642bddb3ea746f17190961fe5fb32d5e82d7e0", + "contents_checksum": "d3cc1535d6dfbe3ba73e3ae930f5fa03ec2a3f46e1030a5bed7aec4273d7d8f2", + "size": 50017901, + "source": "components/google-cloud-sdk-minikube-darwin-x86_64-20250530172306.tar.gz", "type": "tar" }, "dependencies": [ @@ -6501,16 +6501,16 @@ }, "platform_required": false, "version": { - "build_number": 20250210213649, - "version_string": "1.35.0" + "build_number": 20250530172306, + "version_string": "1.36.0" } }, { "data": { - "checksum": "c526ba2b4a9d9f293f2cc0bd45ecd6fff3026bc0626af2450d4b03797103e379", - "contents_checksum": "ad4bb429c9b358952aaf09f0f32a1ff0865d28eefda928734cefec62394991c5", - "size": 44536564, - "source": "components/google-cloud-sdk-minikube-linux-arm-20250210213649.tar.gz", + "checksum": "44b0e1b639875e2034be06173db7a48ced9c0421979341f02b0b54561a362789", + "contents_checksum": "5d3e03adabf6312ad674e8e870c3738fe836e11593794d295607366f16fcabe4", + "size": 46840933, + "source": "components/google-cloud-sdk-minikube-linux-arm-20250530172306.tar.gz", "type": "tar" }, "dependencies": [ @@ -6535,16 +6535,16 @@ }, "platform_required": false, "version": { - "build_number": 20250210213649, - "version_string": "1.35.0" + "build_number": 20250530172306, + "version_string": "1.36.0" } }, { "data": { - "checksum": "1d4d53370aa83ecac792b49fae992cee361573584e0e33350779265a929dcb5f", - "contents_checksum": "cc8b2a50b8ae9577fbaaf0b90ef7f1c54be07412ae15bef9b33c6cbf436ac8aa", - "size": 47423478, - "source": "components/google-cloud-sdk-minikube-linux-x86_64-20250210213649.tar.gz", + "checksum": "5cbeffcca5b12db64aa0cfb03e82706ae9bbd876765fd75ac5d5c8189b604f10", + "contents_checksum": "e942897c19afdc0bfd59ad9db8e868a5c18af23a153bf4a2653c605085d2fba3", + "size": 50025838, + "source": "components/google-cloud-sdk-minikube-linux-x86_64-20250530172306.tar.gz", "type": "tar" }, "dependencies": [ @@ -6569,16 +6569,16 @@ }, "platform_required": false, "version": { - "build_number": 20250210213649, - "version_string": "1.35.0" + "build_number": 20250530172306, + "version_string": "1.36.0" } }, { "data": { - "checksum": "3c5cfdb3c5d1be9c2f2e08db92270bd94bf74bc1836743b4ee771c65e227d8bd", - "contents_checksum": "deeac8c954bcaa2045a2c7b527fc24958b138ae9706f375c9a27ca60d8bad2d9", - "size": 47536459, - "source": "components/google-cloud-sdk-minikube-windows-x86_64-20250210213649.tar.gz", + "checksum": "1c9b6057ffa11dc2797370e16a3a7503f819c1d1513ab8b92570ee3c4f3ecbc6", + "contents_checksum": "9f750cd27fbaaae3ec556c1f05f888b250881fd1e8b43eced2eb83307bb855d2", + "size": 50165432, + "source": "components/google-cloud-sdk-minikube-windows-x86_64-20250530172306.tar.gz", "type": "tar" }, "dependencies": [ @@ -6603,8 +6603,8 @@ }, "platform_required": false, "version": { - "build_number": 20250210213649, - "version_string": "1.35.0" + "build_number": 20250530172306, + "version_string": "1.36.0" } }, { @@ -6633,15 +6633,15 @@ "platform_required": false, "version": { "build_number": 0, - "version_string": "1.20.3-rc.1" + "version_string": "1.21.1-rc.1" } }, { "data": { - "checksum": "cdf64b1bc6c791630287c4cb937592fceb1b59d2cbb067293e025971f5e8e88d", - "contents_checksum": "a65764a5b5780f5b8e4c9f7f7687806f9c214cffbc2dd284a65079e2f5413566", - "size": 35126508, - "source": "components/google-cloud-sdk-nomos-darwin-x86_64-20250329020432.tar.gz", + "checksum": "cbb3b63ed4d23dd64ca4a2411b283f24cf63f366c15b0f98991ccc21ffb0b56b", + "contents_checksum": "2199cbbe09d896baddf32b81574d92d97fe07e5b8e54c7d6e9ae2edd696d8e2d", + "size": 35118248, + "source": "components/google-cloud-sdk-nomos-darwin-x86_64-20250530172306.tar.gz", "type": "tar" }, "dependencies": [ @@ -6666,16 +6666,16 @@ }, "platform_required": false, "version": { - "build_number": 20250329020432, - "version_string": "1.20.3-rc.1" + "build_number": 20250530172306, + "version_string": "1.21.1-rc.1" } }, { "data": { - "checksum": "576900471642e3178410792e364492b799861b0b5f6508286b8af9ff7e91e4d8", - "contents_checksum": "5fa38d9341db20c5cb4d561283c26f056a9e460a906b845c9ea65db1b47d33c3", - "size": 34927100, - "source": "components/google-cloud-sdk-nomos-linux-x86_64-20250329020432.tar.gz", + "checksum": "835b3525670b633a7bd592d4b5adc9fb8901db68cd0215b80f099770bdf87700", + "contents_checksum": "160ffdba6ced3523be35585431b4511d269a39d40c2c59666dce80c9a755150b", + "size": 34933337, + "source": "components/google-cloud-sdk-nomos-linux-x86_64-20250530172306.tar.gz", "type": "tar" }, "dependencies": [ @@ -6700,8 +6700,8 @@ }, "platform_required": false, "version": { - "build_number": 20250329020432, - "version_string": "1.20.3-rc.1" + "build_number": 20250530172306, + "version_string": "1.21.1-rc.1" } }, { @@ -7042,6 +7042,281 @@ "version_string": "0.8.19" } }, + { + "dependencies": [ + "run-compose-darwin-arm", + "run-compose-darwin-x86_64", + "run-compose-linux-arm", + "run-compose-linux-x86", + "run-compose-linux-x86_64", + "run-compose-windows-x86", + "run-compose-windows-x86_64" + ], + "details": { + "description": "Provides run-compose executable.", + "display_name": "Run Compose" + }, + "gdu_only": false, + "id": "run-compose", + "is_configuration": false, + "is_hidden": true, + "is_required": false, + "platform": { + "architectures": [ + "arm", + "x86", + "x86_64" + ], + "operating_systems": [ + "LINUX", + "MACOSX", + "WINDOWS" + ] + }, + "platform_required": false, + "version": { + "build_number": 0, + "version_string": "0.1.3" + } + }, + { + "data": { + "checksum": "696db050bab75ab473afbcde3272e8203362906cfc559fb1484b6d43b5a4403f", + "contents_checksum": "9f40db821778035824c9e105788881067b4ae3920b4429a3a3b3e75a0f88c0b5", + "size": 7532455, + "source": "components/google-cloud-sdk-run-compose-darwin-arm-20250530172306.tar.gz", + "type": "tar" + }, + "dependencies": [ + "run-compose" + ], + "details": { + "description": "Provides run-compose executable.", + "display_name": "Run Compose (Platform Specific)" + }, + "gdu_only": false, + "id": "run-compose-darwin-arm", + "is_configuration": false, + "is_hidden": true, + "is_required": false, + "platform": { + "architectures": [ + "arm" + ], + "operating_systems": [ + "MACOSX" + ] + }, + "platform_required": false, + "version": { + "build_number": 20250530172306, + "version_string": "0.1.3" + } + }, + { + "data": { + "checksum": "74b79939b1dbf6843220bf1a02e22bbf8b25a1069cf2631684e017bc8ebc0475", + "contents_checksum": "51fe889cc2743c8688be44ad40225f0b9650781b79b640a097344565c127d3f1", + "size": 7981064, + "source": "components/google-cloud-sdk-run-compose-darwin-x86_64-20250530172306.tar.gz", + "type": "tar" + }, + "dependencies": [ + "run-compose" + ], + "details": { + "description": "Provides run-compose executable.", + "display_name": "Run Compose (Platform Specific)" + }, + "gdu_only": false, + "id": "run-compose-darwin-x86_64", + "is_configuration": false, + "is_hidden": true, + "is_required": false, + "platform": { + "architectures": [ + "x86_64" + ], + "operating_systems": [ + "MACOSX" + ] + }, + "platform_required": false, + "version": { + "build_number": 20250530172306, + "version_string": "0.1.3" + } + }, + { + "data": { + "checksum": "c84da95bad5f8a8a02934ad56bf1bf703afc3bfda1d9518a0a53cb0f077b1989", + "contents_checksum": "c6cb96bf3dd9e7f9d8485a0a963f3634bc4c0274898e76279836fe72f904a01c", + "size": 7168080, + "source": "components/google-cloud-sdk-run-compose-linux-arm-20250530172306.tar.gz", + "type": "tar" + }, + "dependencies": [ + "run-compose" + ], + "details": { + "description": "Provides run-compose executable.", + "display_name": "Run Compose (Platform Specific)" + }, + "gdu_only": false, + "id": "run-compose-linux-arm", + "is_configuration": false, + "is_hidden": true, + "is_required": false, + "platform": { + "architectures": [ + "arm" + ], + "operating_systems": [ + "LINUX" + ] + }, + "platform_required": false, + "version": { + "build_number": 20250530172306, + "version_string": "0.1.3" + } + }, + { + "data": { + "checksum": "1364ae05cd44c8087cb50bf0cbc6840752d311ba3ec4c1e653a84ddc2b084dbd", + "contents_checksum": "92bbc879f922feaf77a5b8aef0d26cf688079fe965f82629229710896a62b032", + "size": 7842562, + "source": "components/google-cloud-sdk-run-compose-linux-x86-20250530172306.tar.gz", + "type": "tar" + }, + "dependencies": [ + "run-compose" + ], + "details": { + "description": "Provides run-compose executable.", + "display_name": "Run Compose (Platform Specific)" + }, + "gdu_only": false, + "id": "run-compose-linux-x86", + "is_configuration": false, + "is_hidden": true, + "is_required": false, + "platform": { + "architectures": [ + "x86" + ], + "operating_systems": [ + "LINUX" + ] + }, + "platform_required": false, + "version": { + "build_number": 20250530172306, + "version_string": "0.1.3" + } + }, + { + "data": { + "checksum": "7b0f52f7e1f958a08b126f6f55f6ea1175f29c1618ca9c406b0893f6b054dc14", + "contents_checksum": "63111aecb49763e975b56c34638ead896a15cb7938e0feb29451b1e38c09cb39", + "size": 7842575, + "source": "components/google-cloud-sdk-run-compose-linux-x86_64-20250530172306.tar.gz", + "type": "tar" + }, + "dependencies": [ + "run-compose" + ], + "details": { + "description": "Provides run-compose executable.", + "display_name": "Run Compose (Platform Specific)" + }, + "gdu_only": false, + "id": "run-compose-linux-x86_64", + "is_configuration": false, + "is_hidden": true, + "is_required": false, + "platform": { + "architectures": [ + "x86_64" + ], + "operating_systems": [ + "LINUX" + ] + }, + "platform_required": false, + "version": { + "build_number": 20250530172306, + "version_string": "0.1.3" + } + }, + { + "data": { + "checksum": "dc61a55df18d889789b403027110b176c4f853616cb254e1b80982d48f36d029", + "contents_checksum": "b7b6ee4b5b994760b1c8ffa7c8ecb69baaff0dfa2b6f880669b0166cf795989f", + "size": 8045780, + "source": "components/google-cloud-sdk-run-compose-windows-x86-20250530172306.tar.gz", + "type": "tar" + }, + "dependencies": [ + "run-compose" + ], + "details": { + "description": "Provides run-compose executable.", + "display_name": "Run Compose (Platform Specific)" + }, + "gdu_only": false, + "id": "run-compose-windows-x86", + "is_configuration": false, + "is_hidden": true, + "is_required": false, + "platform": { + "architectures": [ + "x86" + ], + "operating_systems": [ + "WINDOWS" + ] + }, + "platform_required": false, + "version": { + "build_number": 20250530172306, + "version_string": "0.1.3" + } + }, + { + "data": { + "checksum": "77d25fa5fb9c68b9db0936391b549744c49cdd3e57348a7c11ada1ff23e6a155", + "contents_checksum": "b7b6ee4b5b994760b1c8ffa7c8ecb69baaff0dfa2b6f880669b0166cf795989f", + "size": 8045783, + "source": "components/google-cloud-sdk-run-compose-windows-x86_64-20250530172306.tar.gz", + "type": "tar" + }, + "dependencies": [ + "run-compose" + ], + "details": { + "description": "Provides run-compose executable.", + "display_name": "Run Compose (Platform Specific)" + }, + "gdu_only": false, + "id": "run-compose-windows-x86_64", + "is_configuration": false, + "is_hidden": true, + "is_required": false, + "platform": { + "architectures": [ + "x86_64" + ], + "operating_systems": [ + "WINDOWS" + ] + }, + "platform_required": false, + "version": { + "build_number": 20250530172306, + "version_string": "0.1.3" + } + }, { "dependencies": [ "kubectl", @@ -7074,15 +7349,15 @@ "platform_required": false, "version": { "build_number": 0, - "version_string": "2.15.0" + "version_string": "2.16.0" } }, { "data": { - "checksum": "5c75cce7f6b694fc4f8b051aa20a24940fd83832e72514a1b86578f5f4168b61", - "contents_checksum": "6467f8584170048a5a3bd3fd1ee2b299c743f23d5c19ef9cb9bcc8687613d67c", - "size": 34902174, - "source": "components/google-cloud-sdk-skaffold-darwin-arm-20250411141747.tar.gz", + "checksum": "8079acea13b5fb91e7d178f667df9dde509783ed76495a6056d48a48e74ab802", + "contents_checksum": "9a2837b577f58d03304210bc7e49b495aeee1908fafd3e1880a1a9a390fd30e1", + "size": 35704325, + "source": "components/google-cloud-sdk-skaffold-darwin-arm-20250509144819.tar.gz", "type": "tar" }, "dependencies": [ @@ -7108,16 +7383,16 @@ }, "platform_required": false, "version": { - "build_number": 20250411141747, - "version_string": "2.15.0" + "build_number": 20250509144819, + "version_string": "2.16.0" } }, { "data": { - "checksum": "fcf8b328344cdabf1ec7cc9c87036d883978e7f095e186e24085f206a6d46711", - "contents_checksum": "15045dcae363785ec4fa4e672646fc381299f9972a8ff95ad4625be15847c124", - "size": 37805590, - "source": "components/google-cloud-sdk-skaffold-darwin-x86_64-20250411141747.tar.gz", + "checksum": "b1d997174569e7d74495e752a185dc80a951f77785b3844641dd034f22dc80aa", + "contents_checksum": "20a384bbce08ba557eff64795541af49d09931383c9f70bde1928459272baaf7", + "size": 38676720, + "source": "components/google-cloud-sdk-skaffold-darwin-x86_64-20250509144819.tar.gz", "type": "tar" }, "dependencies": [ @@ -7143,16 +7418,16 @@ }, "platform_required": false, "version": { - "build_number": 20250411141747, - "version_string": "2.15.0" + "build_number": 20250509144819, + "version_string": "2.16.0" } }, { "data": { - "checksum": "3659839a796209a011e28fea66f659255fffa86b909cb269c9abc0368270905d", - "contents_checksum": "2eceaa88d8c1c31d669cb0fe0fe1d15ed8f854ddfba7ca55c6184fabb6d28539", - "size": 31548198, - "source": "components/google-cloud-sdk-skaffold-linux-arm-20250411141747.tar.gz", + "checksum": "1287cee04a4e6f3234062f7207faa8bf622ef0bff5ed4300852a1b1e8cfc6db4", + "contents_checksum": "104680a3b6b10ef9743791a31599040ac1a418b5beaf58f4fdd16cc1fe9deee3", + "size": 32248311, + "source": "components/google-cloud-sdk-skaffold-linux-arm-20250509144819.tar.gz", "type": "tar" }, "dependencies": [ @@ -7178,16 +7453,16 @@ }, "platform_required": false, "version": { - "build_number": 20250411141747, - "version_string": "2.15.0" + "build_number": 20250509144819, + "version_string": "2.16.0" } }, { "data": { - "checksum": "7388637bd8935f2543ace1bcfac4053d133e62fc518bead48e46ee70b821a877", - "contents_checksum": "976ec4bfb09d466fa4c3acca64d71c098fc30ce74cf8230e6edec09cfd686d2f", - "size": 34540333, - "source": "components/google-cloud-sdk-skaffold-linux-x86_64-20250411141747.tar.gz", + "checksum": "13d81182ba903b2cdfc9245fd003613322fd78662d1753f76b8b694e8427c3d4", + "contents_checksum": "27e7faef385b0a1f1e107543ef3a79ce98a7a8814440719394395dcab59b5007", + "size": 35320793, + "source": "components/google-cloud-sdk-skaffold-linux-x86_64-20250509144819.tar.gz", "type": "tar" }, "dependencies": [ @@ -7213,16 +7488,16 @@ }, "platform_required": false, "version": { - "build_number": 20250411141747, - "version_string": "2.15.0" + "build_number": 20250509144819, + "version_string": "2.16.0" } }, { "data": { - "checksum": "0d9d0785b7f360b29a2661119196df19bcbf50641f58f39fe4127d377338ccc4", - "contents_checksum": "62d953628241714818b7c292a61384095fa18d5e76d8f90266f03ca87d75c69a", - "size": 32229610, - "source": "components/google-cloud-sdk-skaffold-windows-x86_64-20250411141747.tar.gz", + "checksum": "dc70dcbbd90301e5a4fa6102bedf0d5648486d11ef6e5cc4a0dba4fedc129d0b", + "contents_checksum": "eae78c3cf76bf1a62435fa92b6eba2057d45a36c7481191a08a036e9d056b561", + "size": 33029287, + "source": "components/google-cloud-sdk-skaffold-windows-x86_64-20250509144819.tar.gz", "type": "tar" }, "dependencies": [ @@ -7248,8 +7523,8 @@ }, "platform_required": false, "version": { - "build_number": 20250411141747, - "version_string": "2.15.0" + "build_number": 20250509144819, + "version_string": "2.16.0" } }, { @@ -7276,15 +7551,15 @@ "platform_required": false, "version": { "build_number": 0, - "version_string": "3.7.0" + "version_string": "3.9.0" } }, { "data": { - "checksum": "0cf7dc3546966e448d726a7936408d91932f7a99e54c48869ded2851e5cddbcb", - "contents_checksum": "6afeafa47c7a78d6c5613971458b65c83f7eb0fe6fc15d4e406a9a215d3757ec", - "size": 29451244, - "source": "components/google-cloud-sdk-spanner-migration-tool-linux-x86_64-20250329020432.tar.gz", + "checksum": "b352c9a52a43226442d3af353d31c9e0165174c9e112d45e9846d2a076febb46", + "contents_checksum": "4c8ce5c8751404cab2deb1a22057e5b2dedd22d7f8fb937f35e878a5aa68b1b1", + "size": 30419587, + "source": "components/google-cloud-sdk-spanner-migration-tool-linux-x86_64-20250509144819.tar.gz", "type": "tar" }, "dependencies": [ @@ -7309,8 +7584,8 @@ }, "platform_required": false, "version": { - "build_number": 20250329020432, - "version_string": "3.7.0" + "build_number": 20250509144819, + "version_string": "3.9.0" } }, { @@ -7574,10 +7849,10 @@ }, { "data": { - "checksum": "b2be28ee32e2f0ab47f9448f45be73c68e59aa02bb83394f980c62019c87a4d2", - "contents_checksum": "5622b40cd073b840ad5bf641b3dcff0e54f756fbd44368e6eeb9a0f2e846d645", - "size": 59459698, - "source": "components/google-cloud-sdk-tests-20250418150427.tar.gz", + "checksum": "38dd41f5f68ed32e47945cafc9224d0b8de4e9b869561cdbb82185610311b959", + "contents_checksum": "0bedb80a10390995c553ce959ab8eac058e0e4186b9b5ae1896e549705de532a", + "size": 59703778, + "source": "components/google-cloud-sdk-tests-20250530172306.tar.gz", "type": "tar" }, "dependencies": [ @@ -7595,8 +7870,8 @@ "platform": {}, "platform_required": false, "version": { - "build_number": 20250418150427, - "version_string": "2025.04.18" + "build_number": 20250530172306, + "version_string": "2025.05.30" } } ], @@ -7615,11 +7890,11 @@ ], "post_processing_command": "components post-process", "release_notes_url": "RELEASE_NOTES", - "revision": 20250418150427, + "revision": 20250530172306, "schema_version": { "no_update": false, "url": "https://dl.google.com/dl/cloudsdk/channels/rapid/google-cloud-sdk.tar.gz", "version": 3 }, - "version": "519.0.0" + "version": "525.0.0" } diff --git a/pkgs/tools/admin/google-cloud-sdk/data.nix b/pkgs/tools/admin/google-cloud-sdk/data.nix index 5cda2d2e9be9..571b04d6c049 100644 --- a/pkgs/tools/admin/google-cloud-sdk/data.nix +++ b/pkgs/tools/admin/google-cloud-sdk/data.nix @@ -1,27 +1,27 @@ # DO NOT EDIT! This file is generated automatically by update.sh { }: { - version = "519.0.0"; + version = "525.0.0"; googleCloudSdkPkgs = { x86_64-linux = { - url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-519.0.0-linux-x86_64.tar.gz"; - sha256 = "05ix4a93c407cs4zs4qxc0cm1afqcf233vf602gn49lrsc5csb45"; + url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-525.0.0-linux-x86_64.tar.gz"; + sha256 = "1d4hf6bs38dngkj6nfhskhvg5jrn54c305bbv1ir6kiywqw570x8"; }; x86_64-darwin = { - url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-519.0.0-darwin-x86_64.tar.gz"; - sha256 = "1vgi34i8l2d6j69dmz771hn38s6hazly94bkkvb164rykis4a214"; + url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-525.0.0-darwin-x86_64.tar.gz"; + sha256 = "01gbxs0zddcx6s3xppfiqljffis70x0c6qbbwzap4wv6rd51xahg"; }; aarch64-linux = { - url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-519.0.0-linux-arm.tar.gz"; - sha256 = "1vghaci1gqdbhhyr19cmsyfi8j8sg1mjswf5x919rri55h2r0bl8"; + url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-525.0.0-linux-arm.tar.gz"; + sha256 = "0lfls47gvr6495sfyd6v8aqqllgcx8v3429j39532ajg5x6f2hgk"; }; aarch64-darwin = { - url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-519.0.0-darwin-arm.tar.gz"; - sha256 = "13b1xcrx9yacg380ywkw4yx7as9ac144h4drj0smn2vhn1y7l93m"; + url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-525.0.0-darwin-arm.tar.gz"; + sha256 = "0vibm5zs5izjad3szsqmcs0yak6ydibb4gz7aslg31hv6919gic4"; }; i686-linux = { - url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-519.0.0-linux-x86.tar.gz"; - sha256 = "18yq0y1ribw8kyx81ligfsh5q9k25h8g7kawknvf01p3jx3wzrih"; + url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-525.0.0-linux-x86.tar.gz"; + sha256 = "1icf4nchbidf5b8qrqxa7jbymrxyc5l8mwikdn3q9a65f32ks87z"; }; }; } diff --git a/pkgs/tools/admin/google-cloud-sdk/default.nix b/pkgs/tools/admin/google-cloud-sdk/default.nix index 13134c7a4112..b8fa30ba1802 100644 --- a/pkgs/tools/admin/google-cloud-sdk/default.nix +++ b/pkgs/tools/admin/google-cloud-sdk/default.nix @@ -32,10 +32,8 @@ let tag = version; hash = "sha256-/TQnDWdycN4hQ7ZGvBhMJEZVafmL+0wy9eJ8hC6rfio="; }; - disabledTests = old.disabledTests ++ [ - "test_shutdown_closed" - "test_closed" - ]; + # 36 failed tests + doCheck = false; }); }; }; diff --git a/pkgs/tools/admin/meraki-cli/default.nix b/pkgs/tools/admin/meraki-cli/default.nix index d164234b8eed..afe8b5fc161a 100644 --- a/pkgs/tools/admin/meraki-cli/default.nix +++ b/pkgs/tools/admin/meraki-cli/default.nix @@ -13,13 +13,13 @@ buildPythonApplication rec { pname = "meraki-cli"; - version = "1.5.0"; + version = "1.5.1"; pyproject = true; src = fetchPypi { pname = "meraki_cli"; inherit version; - hash = "sha256-YOyeovqRqt6ZMXgLnIxRvPkcW259K8NIBGdb3PwjkMg="; + hash = "sha256-FHcKgppclc0L6yuCkpVYfr+jq8hNkt7Hq/44mpHMR20="; }; disabledTests = [ diff --git a/pkgs/tools/admin/pulumi-bin/data.nix b/pkgs/tools/admin/pulumi-bin/data.nix index 4e4b536e998d..984f8edd6da7 100644 --- a/pkgs/tools/admin/pulumi-bin/data.nix +++ b/pkgs/tools/admin/pulumi-bin/data.nix @@ -1,24 +1,24 @@ # DO NOT EDIT! This file is generated automatically by update.sh { }: { - version = "3.174.0"; + version = "3.177.0"; pulumiPkgs = { x86_64-linux = [ { - url = "https://get.pulumi.com/releases/sdk/pulumi-v3.174.0-linux-x64.tar.gz"; - sha256 = "08ancj87d25dpfbm0hidvv1if4jnr1b5186wwhs6pq7xkifk7j6z"; + url = "https://get.pulumi.com/releases/sdk/pulumi-v3.177.0-linux-x64.tar.gz"; + sha256 = "1wzvhngr12pvrnwn375d8qbil0b17nxil2apmyrbwmdpry4a2sd6"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.39.0-linux-amd64.tar.gz"; sha256 = "0zmylykkr6gfyr9zvi29qn753kn7927y2zwy5781jgidqz2srxqx"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v8.1.0-linux-amd64.tar.gz"; - sha256 = "04v86qfb3ih6lv0s1d07j7ppassx4y3xzw6zayp484pxa2gwg35j"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v8.1.1-linux-amd64.tar.gz"; + sha256 = "01l92v18irhgwf84i67052jwibhysrjaxwj5gcmgdgjvgy0wdv36"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.79.0-linux-amd64.tar.gz"; - sha256 = "1ly3rxvfwjjbywbiv3q858qv9mbikyf89byr1x3y8w8wc50sxhyh"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.80.0-linux-amd64.tar.gz"; + sha256 = "0gwq1gay1x9r6rahdj74xnird7yb777candnpmdbxz9nz3h0dxj6"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v8.8.4-linux-amd64.tar.gz"; @@ -29,8 +29,8 @@ sha256 = "157pd0gn64nwym37qxs0klaxlf8vd6bm31msmgdyfj81i7d0a0kp"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.82.1-linux-amd64.tar.gz"; - sha256 = "06gsifpbf92lyrrjg82akp3iw2n6s8sbh19j6q7218w51lqv1llq"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.82.2-linux-amd64.tar.gz"; + sha256 = "15hd1pj0bhwmrrcvvgidcszn2gyqnbswkaw207yk35immll8mp91"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v6.5.1-linux-amd64.tar.gz"; @@ -45,20 +45,20 @@ sha256 = "05xlk5nsz2b2vv88r42a5zgcm4iq4nic920fjrx1wz00q64bacwz"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v6.2.1-linux-amd64.tar.gz"; - sha256 = "1r28zsxhjyi1c9nrr8g98m7sp6fpr2pfszsifi2hrji4ffm3c842"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v6.3.0-linux-amd64.tar.gz"; + sha256 = "13g0srccd335gfh9iygings4liqfck979c18q1a600wps4a92620"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.12.5-linux-amd64.tar.gz"; sha256 = "00dqvfk0wiyhxcnx2id19ffi6x6bf0fkbas73axw728g8wc2hr3w"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.50.0-linux-amd64.tar.gz"; - sha256 = "1ccjfr1v88hc2x845z7h3bxkgxqn6f134d422qdz9bgqdlyrr2dk"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.51.0-linux-amd64.tar.gz"; + sha256 = "1f2r1p7fylkm0yyqfyavp65nis6k6v38qqz6l68mxgw9il18jnp2"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.46.0-linux-amd64.tar.gz"; - sha256 = "0janqzfw9q787j2dcmkiqfh1fi9h7c3p8l2wwhz8sxd4v4av1zwh"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.47.0-linux-amd64.tar.gz"; + sha256 = "0svsx2aakwxd9i0yjjvfls3vnl2i385hwnzxavb4ag4wp7jyfr21"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.7.0-linux-amd64.tar.gz"; @@ -73,16 +73,16 @@ sha256 = "176bpdyhmwb2pyi4k1dc25agpm4spfndjhg1yjwfv3qvlgnzsnlq"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v8.33.0-linux-amd64.tar.gz"; - sha256 = "0kj8shqi51q3055kq6r45pcy9wc5ygd97nv31cz0pcki4pgnx90s"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v8.34.0-linux-amd64.tar.gz"; + sha256 = "07r9yy7zpds8qa0mhm8l3pq4myv9ww90jsv8jn0xf7nc7vcidh00"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v6.7.2-linux-amd64.tar.gz"; sha256 = "0v9hw2m3vz3b9g1mabxmy0j863p51kwj9gkjfrsrabs80glz72ii"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v8.11.0-linux-amd64.tar.gz"; - sha256 = "1fkcp6l7mcmy8q25fra2fmhx899ypp7yalddd94nxd2ngcvxc63w"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v9.0.0-linux-amd64.tar.gz"; + sha256 = "1s28a9r9czqb4k39nbbl7h5dyapxvmckh1md40agf9cmrb24vwq7"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.32.0-linux-amd64.tar.gz"; @@ -101,8 +101,8 @@ sha256 = "1gvhsmf6avr3d9c3byr4drmf5jzarrzi3cr333l7hf81arsvpbjm"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.5.9-linux-amd64.tar.gz"; - sha256 = "0ibaipjpsx3crzxhnngkv0vcgjag5zff4s20ck5mxjrhdhzqbmfg"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.5.10-linux-amd64.tar.gz"; + sha256 = "192gnwf3kzhy3lzy3d1kvdggrjk9ixi9phq44x35w2pizh13xazn"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.2.10-linux-amd64.tar.gz"; @@ -145,8 +145,8 @@ sha256 = "15p2wc0dipgqwj9qdsl6420bxx61vmmfbz487yk74kw7vp3kpr36"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.11.0-linux-amd64.tar.gz"; - sha256 = "0ypayx9gabrp4x08q9paqjysql5m9zhazkb2nsdzp5jkj2r3q9dx"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.11.2-linux-amd64.tar.gz"; + sha256 = "0b8h8lvvfl8j3imbmcxfs5rfnqz6k19104mhfacd323bg3qhqa8r"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.14.0-linux-amd64.tar.gz"; @@ -163,20 +163,20 @@ ]; x86_64-darwin = [ { - url = "https://get.pulumi.com/releases/sdk/pulumi-v3.174.0-darwin-x64.tar.gz"; - sha256 = "0lw460xwhxl2mvvn5j3wb1wk3g3a7k8n7s9qmgs2mnyrc6a7l039"; + url = "https://get.pulumi.com/releases/sdk/pulumi-v3.177.0-darwin-x64.tar.gz"; + sha256 = "1m21balcgkwc8gmfgnh0dqli84c844r6fimkpfr2dk1kg0lig9d8"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.39.0-darwin-amd64.tar.gz"; sha256 = "14z6lbqfzx1qg2m7cmk5fax6gxnqchm6pqkjrkwkz1z9ai5wsig7"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v8.1.0-darwin-amd64.tar.gz"; - sha256 = "11grg7ff9g0a0vddd43s4ax6vb2ivxqqibyq6dmphd8k09vzb8kk"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v8.1.1-darwin-amd64.tar.gz"; + sha256 = "0n30mk2b30ijcl6ij8jb7ch3snff1mqqja841c9s78jm43bs2k7d"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.79.0-darwin-amd64.tar.gz"; - sha256 = "0m5mfhf67kv2f11c30mn6x9jr3l0gwz29sgs8zi11aa2vw5f0j0g"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.80.0-darwin-amd64.tar.gz"; + sha256 = "1pagxjn52h2fqvvfdq0h3xhj6jyb29z7aifad6rbsf109mcsm3mn"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v8.8.4-darwin-amd64.tar.gz"; @@ -187,8 +187,8 @@ sha256 = "1qs9qfiqplhbhd0hva7vlr2mg0kgfl91x41sfa43dpn1bhhzgd7w"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.82.1-darwin-amd64.tar.gz"; - sha256 = "0i2gvwv0qhcvnfrm65p5qa82sax2my2dsnhk6n1bxq1f7hxn7rqp"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.82.2-darwin-amd64.tar.gz"; + sha256 = "0719gn8f5h05jqf6x6vqczd5qbd813pn31q7d8jrvaygp1vpa3z6"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v6.5.1-darwin-amd64.tar.gz"; @@ -203,20 +203,20 @@ sha256 = "1596zgpi09c14xghcby80fijy743pc68vs2xpdy6xbcm4k29srqn"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v6.2.1-darwin-amd64.tar.gz"; - sha256 = "1972648yj3pj7l0na2hflv9hy1s8fhg7166kraim8mnmm8ngzgbk"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v6.3.0-darwin-amd64.tar.gz"; + sha256 = "0d79wms2xanny4sm0r6z77zj5bmcl1r2riviwf7czgcchkpzzna1"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.12.5-darwin-amd64.tar.gz"; sha256 = "1s6wdfa3la99xrb4pidsisimgs85v5kak3b9dwq9fg22qnpm5abd"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.50.0-darwin-amd64.tar.gz"; - sha256 = "0w71myfi4j5kwqrdjf7s8674m7zbfzpk2lz10iyhdr404jawb7rg"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.51.0-darwin-amd64.tar.gz"; + sha256 = "0yfy8rza31j8457byr9k9cnv5n2pkaqriyh86gjhm6zvfxb9nil2"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.46.0-darwin-amd64.tar.gz"; - sha256 = "0cxx27nhi8z3k2bqabdy0kkb6l2vlr78fv4yn2g2nxp1pdkjh77q"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.47.0-darwin-amd64.tar.gz"; + sha256 = "0c2h13rjszsnsqv4qdayy8j8dd4z6ppxb19wiwqc028hj84gpkyg"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.7.0-darwin-amd64.tar.gz"; @@ -231,16 +231,16 @@ sha256 = "049y0l7hyng3kqkh5hkxzw6k743dy1zik0xgbyv3iarg8gxi6yb8"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v8.33.0-darwin-amd64.tar.gz"; - sha256 = "1xhy4va19y8ybgzcby4gy2ndwm8z49qd6hx9mzh42ra6wkrfrrvh"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v8.34.0-darwin-amd64.tar.gz"; + sha256 = "1bva3zf01r6f8zixb42pmsdd6pv0x4glkc7lajc4nym3xjasfbsn"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v6.7.2-darwin-amd64.tar.gz"; sha256 = "00286346z1ws7ffghnz7c9rvjcd66nq6gmmxwlwgqiz6d02z5pv3"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v8.11.0-darwin-amd64.tar.gz"; - sha256 = "1qvvyyi9600w15cj5v97h2xrjw8gxgslc8273b14hga0nphh3czi"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v9.0.0-darwin-amd64.tar.gz"; + sha256 = "19d2mj6gziq8j006ywcjn8vbgwqchcy3hdq5g6m1m3mgyapl4fsn"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.32.0-darwin-amd64.tar.gz"; @@ -259,8 +259,8 @@ sha256 = "1mxlvp95fq1hqiw7b9lxsfa518hqlx263w1kblp2nnbvjrvhpnl7"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.5.9-darwin-amd64.tar.gz"; - sha256 = "12a6gac63wins0ykxqdvjmzw3b3kgfxhzhygrlrwrg9wafwjbi92"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.5.10-darwin-amd64.tar.gz"; + sha256 = "11341v1nkr2y0pj3k9d79xwqgwjwxdh4y2zg04qqjrdrikv36n85"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.2.10-darwin-amd64.tar.gz"; @@ -303,8 +303,8 @@ sha256 = "0713smrbcanza4qw79bm5wzq8whc5rx5d8zkwzg38pb4nzh2nxzj"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.11.0-darwin-amd64.tar.gz"; - sha256 = "1d86ljhylxswbhjzsd0678r0fsi4nzimviwdl0mafny2661801bg"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.11.2-darwin-amd64.tar.gz"; + sha256 = "0rxn7ibdrb7ir5ybdx9ndjgw8yqfpcrn6gzcjrlk5zr427xbiww6"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.14.0-darwin-amd64.tar.gz"; @@ -321,20 +321,20 @@ ]; aarch64-linux = [ { - url = "https://get.pulumi.com/releases/sdk/pulumi-v3.174.0-linux-arm64.tar.gz"; - sha256 = "0yarz9f8rvw5m97nsg4z2ar7hf5myz3wcf5prsj6v80w19igdmwz"; + url = "https://get.pulumi.com/releases/sdk/pulumi-v3.177.0-linux-arm64.tar.gz"; + sha256 = "0h4f4cbvqbvrmadx8hx7mhwknzij0q5mv51w0q4zmc9c3bm698f3"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.39.0-linux-arm64.tar.gz"; sha256 = "1z72zkrpa0mz15q22r7vrkgb5yy8nfs6pp74flvr0alf4119gi49"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v8.1.0-linux-arm64.tar.gz"; - sha256 = "1kk9hzdavnnkvp3jkazbv5pnlc9qkvhj0qmwn92fcv9ny5rkc7py"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v8.1.1-linux-arm64.tar.gz"; + sha256 = "0bxgmbqgxhya2vndq3ahn50z1bp9isjlzxr4lb8clnp28dsixd2p"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.79.0-linux-arm64.tar.gz"; - sha256 = "0vfspacdpkal3rmnq33vqrn7iwc3havpyqzwl4xnr5ndrizf8afn"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.80.0-linux-arm64.tar.gz"; + sha256 = "1kl2kwid4n15hr4g4pnw2jvi4226xslkl0fi8kz1wijn9j112a7b"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v8.8.4-linux-arm64.tar.gz"; @@ -345,8 +345,8 @@ sha256 = "1rhj8fadp3q6i975kbr1r17i7lzwg9wr6v0pc6vmw93w2hsgplan"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.82.1-linux-arm64.tar.gz"; - sha256 = "0n9n27g1lvpwqzpaargxqnyi2jj6cvlbcbzd8d56vcx0k8bals84"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.82.2-linux-arm64.tar.gz"; + sha256 = "1l49qz8z8wwaf7dgdnq8wc82ysc0m39n94pd5s6fnc51qrlmndj8"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v6.5.1-linux-arm64.tar.gz"; @@ -361,20 +361,20 @@ sha256 = "094fp0y2a4phd6zk7hz0x6iynpshh3sx6z9wyi2swacddjj646cx"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v6.2.1-linux-arm64.tar.gz"; - sha256 = "15rw8fsmg3ndp1gxcg6c3m09bq1wwn0bi7a6fb8y506s21bi6sfj"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v6.3.0-linux-arm64.tar.gz"; + sha256 = "0wvxpfcddccqmfjhkxxdafmdkvnk1xf1775sl38fn45vada4sdzx"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.12.5-linux-arm64.tar.gz"; sha256 = "0y1pq89yrflj3vc3d87vkl4xzsa3pszq1sxiajaanbha6apvyni9"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.50.0-linux-arm64.tar.gz"; - sha256 = "0mazlc88jcbpikvdcph0qk64riq5lfkcypgbsmckwz0ij9y7x15h"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.51.0-linux-arm64.tar.gz"; + sha256 = "0mqjfpbawj4w6p6i72qhy3liaggwvk8amhjin976p70c7r1gpj7s"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.46.0-linux-arm64.tar.gz"; - sha256 = "1vxvwxp7z45nzlahqkfi8ywy5lvkmmy64mf2byg582mxzvkcpsjc"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.47.0-linux-arm64.tar.gz"; + sha256 = "0i37kgkss6m34m8njgyhrl5cb3ql7v9qn6kr5rkxl61g89qic2wc"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.7.0-linux-arm64.tar.gz"; @@ -389,16 +389,16 @@ sha256 = "0zqyfn995lxmfiji9di44wgz0jmc9adf63pmhjzsi5kqfw5irrkw"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v8.33.0-linux-arm64.tar.gz"; - sha256 = "0bgd6vk0yqiwfibkhabcxh9kqpyq23b4blzai8cql6f06mffzlrd"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v8.34.0-linux-arm64.tar.gz"; + sha256 = "0skzahihis91jk2l8i1k6wb5pnhjja18x7619gnaw5svjwxzi9hx"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v6.7.2-linux-arm64.tar.gz"; sha256 = "0ivqs7v2x5132r07i62crfckgifaf7kpqgkxl3wby0gdaac9z378"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v8.11.0-linux-arm64.tar.gz"; - sha256 = "1y32f84s4g4n10k1g37d6q0w7bxb35rssp27s6jsg1zna70kjnnv"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v9.0.0-linux-arm64.tar.gz"; + sha256 = "0aisa4xf3hlmlwb48dp2i085iwzbmk9sw9cff1i9d8ag9fvqn9kv"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.32.0-linux-arm64.tar.gz"; @@ -417,8 +417,8 @@ sha256 = "13s9bfybmbzkrpydjmpbnhwaxyyzz1zcfa512iwbmp3d3hpyw58g"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.5.9-linux-arm64.tar.gz"; - sha256 = "1y52gazhn6gnr98q2qwny47r6r9nbr2ns9xgavcr7gi5glzlyfyp"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.5.10-linux-arm64.tar.gz"; + sha256 = "17920c9wlaf5yg9q890ypc55d1h1yk8l1jbvgk97g9qdjsm7bia6"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.2.10-linux-arm64.tar.gz"; @@ -461,8 +461,8 @@ sha256 = "0mi3ic4pqdk7n69y1j18ysk73273c760x5gn62xgc86d09ra4agn"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.11.0-linux-arm64.tar.gz"; - sha256 = "0x83njg9h1gy0vld2m6kacx3hzx9bwq7c80fx8vnaaqvra0803qp"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.11.2-linux-arm64.tar.gz"; + sha256 = "1hdvlfvgzac7vz7ym59xsfdmxwl9r010d6lib7z22q18a3yqhhyh"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.14.0-linux-arm64.tar.gz"; @@ -479,20 +479,20 @@ ]; aarch64-darwin = [ { - url = "https://get.pulumi.com/releases/sdk/pulumi-v3.174.0-darwin-arm64.tar.gz"; - sha256 = "0pbc1gk453g12p0x79d4gl8f9bcirqs6my28fxdhn36b565l0q2r"; + url = "https://get.pulumi.com/releases/sdk/pulumi-v3.177.0-darwin-arm64.tar.gz"; + sha256 = "0a6p0qsz98myfmhaiygd8m9g3d2lhf752n56dizg2wy75kksgylv"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.39.0-darwin-arm64.tar.gz"; sha256 = "0mbyiyasc6z4acyh6a29xbxd269pdbinarxi4g4czvvg2vd76fi1"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v8.1.0-darwin-arm64.tar.gz"; - sha256 = "07a3a3275wqyy5g945hd2xrr4i4az1b7wr7lrkj79f6zr9qia532"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v8.1.1-darwin-arm64.tar.gz"; + sha256 = "0210jy7sqwrq861g8ryrmdd5mm5cy5hj8w3f8dmw7ls4ys2a3j0y"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.79.0-darwin-arm64.tar.gz"; - sha256 = "1wm2kjbclb31np0hb2a5y0v9cpk5pv3bysf0g5wk8pfr1gnaigpa"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.80.0-darwin-arm64.tar.gz"; + sha256 = "1dnkhj4b7v7cncxbj5f4q5rb4rhzpcr0rdn0h2y72rwrgr88mfhh"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v8.8.4-darwin-arm64.tar.gz"; @@ -503,8 +503,8 @@ sha256 = "0lj9wv18fjsv6xwszzyizibkaf2g4s19rjmldzb034xbdq8jpqbz"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.82.1-darwin-arm64.tar.gz"; - sha256 = "17m7p7n25fymhs7dgsgxakq3cnp15ncqc69alsxhi2n6f5nzhxks"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.82.2-darwin-arm64.tar.gz"; + sha256 = "1b0sm2sdh91jxzhnk08649qcdvb2dywlc9hf0wjj2d7bvgdcp8p4"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v6.5.1-darwin-arm64.tar.gz"; @@ -519,20 +519,20 @@ sha256 = "1drmnhr9svpyj4pxi1czwc3qn4ha78lcb7sqwfwa428h0m0appms"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v6.2.1-darwin-arm64.tar.gz"; - sha256 = "0gv7dsk35hhbfs2xx15x6mmdvbizfivnfa2ycpk38f2ihjbn5sdl"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v6.3.0-darwin-arm64.tar.gz"; + sha256 = "1g6364c9vjgj7wbrpxqcqwvjjs9inh85xzy6d6qbfivywq6bkw1p"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.12.5-darwin-arm64.tar.gz"; sha256 = "1n7bmr5pg40db0p53dwp12zb4iksf9sqvv5a5q7wj3dxhc1cgx31"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.50.0-darwin-arm64.tar.gz"; - sha256 = "1z6j18n9w9gh7zw2d76ra623miqc0dy4gf3p61x3iqhid2znc5pl"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.51.0-darwin-arm64.tar.gz"; + sha256 = "1xffl64mvarn1fd33vwxra30n1lz8zf36bkpsfja6in8h5qs5rg0"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.46.0-darwin-arm64.tar.gz"; - sha256 = "1zj4qmvv7r4f19hdk8lxm7h28vprnwyih3h45si7dbifm311gdl1"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.47.0-darwin-arm64.tar.gz"; + sha256 = "190f1nhvbz0ld2zjp01qa86177phi1zxhnhp8yvn5x4hrimzzh3h"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.7.0-darwin-arm64.tar.gz"; @@ -547,16 +547,16 @@ sha256 = "0lcx81s0qa13cnkm1sh640a15z650vsqxi5a59zgzq6b0r151h4r"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v8.33.0-darwin-arm64.tar.gz"; - sha256 = "0a4vidalqzfnkwdnyalmm5p8vwq91qfbqiw6dpcjmhi4airi2ilj"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v8.34.0-darwin-arm64.tar.gz"; + sha256 = "0jkrqsj0qyh6g35bsr27yg3hq0rksgha4zx4mhj3gdifa52has9y"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v6.7.2-darwin-arm64.tar.gz"; sha256 = "0ns88zd55p3pg8z8xs8jph9bv33s1alii4gnwd7gxc651gy7icrq"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v8.11.0-darwin-arm64.tar.gz"; - sha256 = "1i8zi80ca585pcpg6sqz3i80nnxxx1a6vvfg2gk0axpqylpxca18"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v9.0.0-darwin-arm64.tar.gz"; + sha256 = "16rc3mlhid1hdcwc2nf81wnxfg0n9j7raynyixa5rs9imy2hgpva"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.32.0-darwin-arm64.tar.gz"; @@ -575,8 +575,8 @@ sha256 = "1zrqg24vpkrdz1ji43idb7jxc0vkqbsdl3rxvfwip2fvkh7c7pzi"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.5.9-darwin-arm64.tar.gz"; - sha256 = "1pavzbg6qbpvrc3z57pm1yn2c40i4n81bc5cs57p3zw8hmzmpp80"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.5.10-darwin-arm64.tar.gz"; + sha256 = "1lg4jqficsy58wyl52gwqx5ch1wmasnz96ipcyci79dlpz6dbksg"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.2.10-darwin-arm64.tar.gz"; @@ -619,8 +619,8 @@ sha256 = "07xa21aiw8jgn4wwhwzgwrcn5qhd3j0pa515dh3x3xxhfcy1pl5j"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.11.0-darwin-arm64.tar.gz"; - sha256 = "1m2fym3b2faqi21zbl2c48l6q1aysw1279qrjx0apaj1hvyw5l16"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.11.2-darwin-arm64.tar.gz"; + sha256 = "1gs9pjq7d675qz2lblfcq8gziricmch0p5fl4g1zarmn5hpwqk87"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.14.0-darwin-arm64.tar.gz"; diff --git a/pkgs/tools/audio/beets/common.nix b/pkgs/tools/audio/beets/common.nix index c914a44ef616..e12817b0cc7c 100644 --- a/pkgs/tools/audio/beets/common.nix +++ b/pkgs/tools/audio/beets/common.nix @@ -145,7 +145,7 @@ python3Packages.buildPythonApplication { with python3Packages; [ pytestCheckHook - pytest-cov + pytest-cov-stub mock rarfile responses diff --git a/pkgs/tools/audio/beets/plugins/audible.nix b/pkgs/tools/audio/beets/plugins/audible.nix index 7e090bf2358f..9bc10074d2f2 100644 --- a/pkgs/tools/audio/beets/plugins/audible.nix +++ b/pkgs/tools/audio/beets/plugins/audible.nix @@ -7,14 +7,14 @@ }: python3Packages.buildPythonApplication rec { pname = "beets-audible"; - version = "1.0.1"; + version = "1.0.2"; pyproject = true; src = fetchFromGitHub { owner = "Neurrone"; repo = "beets-audible"; rev = "v${version}"; - hash = "sha256-Sds16h+W9t7N755ADPXXDi+SxwouBMxP9ApUqaXedqY="; + hash = "sha256-6rf8U63SW+gwfT7ZdN/ymYKHRs0HSMDTP2ZBfULLsJs="; }; nativeBuildInputs = [ diff --git a/pkgs/tools/audio/mpd-sima/default.nix b/pkgs/tools/audio/mpd-sima/default.nix index cd8196e1b1e5..00aee5bbd83e 100644 --- a/pkgs/tools/audio/mpd-sima/default.nix +++ b/pkgs/tools/audio/mpd-sima/default.nix @@ -4,6 +4,7 @@ fetchFromGitLab, python-musicpd, requests, + sphinxHook, }: buildPythonApplication rec { @@ -19,6 +20,16 @@ buildPythonApplication rec { format = "setuptools"; + postPatch = '' + sed -i '/intersphinx/d' doc/source/conf.py + ''; + + nativeBuildInputs = [ + sphinxHook + ]; + + sphinxBuilders = [ "man" ]; + propagatedBuildInputs = [ requests python-musicpd diff --git a/pkgs/tools/filesystems/garage/default.nix b/pkgs/tools/filesystems/garage/default.nix index 2a7e4d5e5710..a33b3587185e 100644 --- a/pkgs/tools/filesystems/garage/default.nix +++ b/pkgs/tools/filesystems/garage/default.nix @@ -131,17 +131,17 @@ rec { cargoPatches = [ ./update-time.patch ]; }; - garage_1_1_0 = generic { - version = "1.1.0"; - hash = "sha256-ysf/GYR39trXTPRdw8uB6E4YDp4nAR8dbU9k9rQTxz0="; - cargoHash = "sha256-SkDr/e9YZ3raTGucaiv/RV2zF9tEDIeqZeri6Xk3xEU="; + garage_1_2_0 = generic { + version = "1.2.0"; + hash = "sha256-JoOwCbChSL7mjegnLHOH2Abfmsnw9BwNsjFj7nqBN6o="; + cargoHash = "sha256-vcvD0Fn/etnAuXrM3+rj16cqpEmW2nzRmrjXsftKTFE="; }; garage_0_8 = garage_0_8_7; garage_0_9 = garage_0_9_4; - garage_1_x = garage_1_1_0; + garage_1_x = garage_1_2_0; garage = garage_1_x; } diff --git a/pkgs/tools/games/minecraft/mcaselector/default.nix b/pkgs/tools/games/minecraft/mcaselector/default.nix index d214dfd52baf..ffe52140b83d 100644 --- a/pkgs/tools/games/minecraft/mcaselector/default.nix +++ b/pkgs/tools/games/minecraft/mcaselector/default.nix @@ -9,11 +9,11 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "mcaselector"; - version = "2.5.2"; + version = "2.5.3"; src = fetchurl { url = "https://github.com/Querz/mcaselector/releases/download/${finalAttrs.version}/mcaselector-${finalAttrs.version}.jar"; - hash = "sha256-bbhbTsMtBIBTGd6IRTKPzY5T8NLfLqBu2bYc8GK8y/U="; + hash = "sha256-PQCXwtEK+Tq1cRJDkzlQ43dhdQ3J+bd8x/ymvsfIfdA="; }; dontUnpack = true; diff --git a/pkgs/tools/graphics/directx-shader-compiler/default.nix b/pkgs/tools/graphics/directx-shader-compiler/default.nix index c2c4c004d823..73a7a8f86ef4 100644 --- a/pkgs/tools/graphics/directx-shader-compiler/default.nix +++ b/pkgs/tools/graphics/directx-shader-compiler/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "directx-shader-compiler"; - version = "1.8.2502"; + version = "1.8.2505"; # Put headers in dev, there are lot of them which aren't necessary for # using the compiler binary. @@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "microsoft"; repo = "DirectXShaderCompiler"; rev = "v${finalAttrs.version}"; - hash = "sha256-O2kmUudZyga1VxhCReessRDlgi5edU6nvwvyr72cU3c="; + hash = "sha256-o1yLn3Fp3a9KhR2ZhAr8K2Mf1neMUL0g1Zf7GQ0TgQU="; fetchSubmodules = true; }; diff --git a/pkgs/tools/graphics/mangohud/default.nix b/pkgs/tools/graphics/mangohud/default.nix index cba3c24f70d8..b565ce52b92c 100644 --- a/pkgs/tools/graphics/mangohud/default.nix +++ b/pkgs/tools/graphics/mangohud/default.nix @@ -10,6 +10,8 @@ gnused, xdg-utils, dbus, + libGL, + libX11, hwdata, mangohud32, addDriverRunpath, @@ -20,7 +22,6 @@ ninja, pkg-config, unzip, - libX11, wayland, libXNVCtrl, nlohmann_json, @@ -138,6 +139,8 @@ stdenv.mkDerivation (finalAttrs: { ]; libdbus = dbus.lib; + libGL = libGL; + libX11 = libX11; inherit hwdata; }) ]; diff --git a/pkgs/tools/graphics/mangohud/hardcode-dependencies.patch b/pkgs/tools/graphics/mangohud/hardcode-dependencies.patch index c19b2081c97f..14589826208d 100644 --- a/pkgs/tools/graphics/mangohud/hardcode-dependencies.patch +++ b/pkgs/tools/graphics/mangohud/hardcode-dependencies.patch @@ -11,8 +11,33 @@ index 7379af1..4eef3fe 100644 SPDLOG_ERROR("Could not load libdbus-1.so.3"); return false; } +diff --git a/src/loaders/loader_glx.cpp b/src/loaders/loader_glx.cpp +index aa453b8..0f6479d 100644 +--- a/src/loaders/loader_glx.cpp ++++ b/src/loaders/loader_glx.cpp +@@ -23,7 +23,7 @@ bool glx_loader::Load() { + handle = real_dlopen("glxtrace.so", RTLD_LAZY); + #endif + if (!handle) +- handle = real_dlopen("libGL.so.1", RTLD_LAZY); ++ handle = real_dlopen("@libGL@/lib/libGL.so.1", RTLD_LAZY); + if (!handle) { + SPDLOG_ERROR("Failed to open " MANGOHUD_ARCH " libGL.so.1: {}", dlerror()); + return false; +diff --git a/src/loaders/loader_x11.cpp b/src/loaders/loader_x11.cpp +index 214fd50..2f08857 100644 +--- a/src/loaders/loader_x11.cpp ++++ b/src/loaders/loader_x11.cpp +@@ -110,6 +110,6 @@ static std::shared_ptr loader; + std::shared_ptr get_libx11() + { + if (!loader) +- loader = std::make_shared("libX11.so.6"); ++ loader = std::make_shared("@libX11@/lib/libX11.so.6"); + return loader; + } diff --git a/src/logging.cpp b/src/logging.cpp -index ca986d4..c4d99ea 100644 +index 4ef7023..e24f6da 100644 --- a/src/logging.cpp +++ b/src/logging.cpp @@ -28,8 +28,12 @@ string exec(string command) { diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix index d6c7eda599a4..323cf54a0ff4 100644 --- a/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix +++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix @@ -43,7 +43,12 @@ stdenv.mkDerivation rec { rimeDataDrv = symlinkJoin { name = "fcitx5-rime-data"; paths = rimeDataPkgs; - postBuild = "mkdir -p $out/share/rime-data"; + postBuild = '' + mkdir -p $out/share/rime-data + + # Ensure default.yaml exists + [ -e "$out/share/rime-data/default.yaml" ] || touch "$out/share/rime-data/default.yaml" + ''; }; postInstall = '' diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-table-extra.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-table-extra.nix index 6989bab1100e..5b4b1ce3a263 100644 --- a/pkgs/tools/inputmethods/fcitx5/fcitx5-table-extra.nix +++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-table-extra.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation rec { pname = "fcitx5-table-extra"; - version = "5.1.7"; + version = "5.1.8"; src = fetchFromGitHub { owner = "fcitx"; repo = pname; rev = version; - hash = "sha256-3Er01Qj3XEIO36xTQrBISzxMaIO4j8uqPe7+w9uk3UM="; + hash = "sha256-FrVkSDLH6lYQbhvcxtX/IQpRC3dphsHu7xVdgnDNcgg="; }; nativeBuildInputs = [ diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-table-other.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-table-other.nix index bbfb6d53800d..95b965babeea 100644 --- a/pkgs/tools/inputmethods/fcitx5/fcitx5-table-other.nix +++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-table-other.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation rec { pname = "fcitx5-table-other"; - version = "5.1.4"; + version = "5.1.5"; src = fetchFromGitHub { owner = "fcitx"; repo = pname; rev = version; - hash = "sha256-Yt6lAievCj9FC4eO6EIqUxiSaBPMvjSEb1PNyXPa82Q="; + hash = "sha256-hoAaismWfiVIYs780oiwwA3syjBnYNQ5nYbhlBbAAKw="; }; nativeBuildInputs = [ diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-chewing/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-chewing/default.nix new file mode 100644 index 000000000000..392406b32eec --- /dev/null +++ b/pkgs/tools/inputmethods/ibus-engines/ibus-chewing/default.nix @@ -0,0 +1,51 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + wrapGAppsHook4, + glib, + gtk4, + ibus, + libadwaita, + libchewing, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "ibus-chewing"; + version = "2.1.4"; + + src = fetchFromGitHub { + owner = "chewing"; + repo = "ibus-chewing"; + tag = "v${finalAttrs.version}"; + hash = "sha256-l2sXjXpiParDslVDG1mXmtGNj6qcLJMPxeaBYNQkqZA="; + }; + + nativeBuildInputs = [ + cmake + pkg-config + wrapGAppsHook4 + ]; + + buildInputs = [ + glib + gtk4 + ibus + libadwaita + libchewing + ]; + + enableParallelBuilding = true; + + meta = { + isIbusEngine = true; + description = "Chewing engine for IBus"; + homepage = "https://github.com/chewing/ibus-chewing"; + changelog = "https://github.com/chewing/ibus-chewing/blob/${finalAttrs.src.rev}/CHANGELOG.md"; + license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ ShamrockLee ]; + platforms = lib.platforms.linux; + }; +}) diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-rime/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-rime/default.nix index ad1aae82f170..3dffa53af8ff 100644 --- a/pkgs/tools/inputmethods/ibus-engines/ibus-rime/default.nix +++ b/pkgs/tools/inputmethods/ibus-engines/ibus-rime/default.nix @@ -42,6 +42,12 @@ stdenv.mkDerivation rec { rimeDataDrv = symlinkJoin { name = "ibus-rime-data"; paths = rimeDataPkgs; + postBuild = '' + mkdir -p $out/share/rime-data + + # Ensure default.yaml exists + [ -e "$out/share/rime-data/default.yaml" ] || touch "$out/share/rime-data/default.yaml" + ''; }; postInstall = '' diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix index 0454a3915e33..f6c00c245a44 100644 --- a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix +++ b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix @@ -25,13 +25,13 @@ in stdenv.mkDerivation rec { pname = "ibus-typing-booster"; - version = "2.27.59"; + version = "2.27.64"; src = fetchFromGitHub { owner = "mike-fabian"; repo = "ibus-typing-booster"; rev = version; - hash = "sha256-puAr2EErNBwhdRtbZvPFgDBMwrYf/gmsRgPXzf8pMzY="; + hash = "sha256-ZeAmIZNayXpy1jplMzT1PR0E4gCtn9vVLb1CtRXBNWY="; }; nativeBuildInputs = [ @@ -56,7 +56,7 @@ stdenv.mkDerivation rec { license = licenses.gpl3Plus; description = "Completion input method for faster typing"; mainProgram = "emoji-picker"; - maintainers = with maintainers; [ ncfavier ]; + maintainers = with maintainers; [ ]; platforms = platforms.linux; isIbusEngine = true; }; diff --git a/pkgs/tools/inputmethods/ibus/default.nix b/pkgs/tools/inputmethods/ibus/default.nix index f951be91af29..6c47a6b6e441 100644 --- a/pkgs/tools/inputmethods/ibus/default.nix +++ b/pkgs/tools/inputmethods/ibus/default.nix @@ -27,8 +27,8 @@ python3, json-glib, libnotify ? null, - enableUI ? true, - withWayland ? true, + enableUI ? !libOnly, + withWayland ? !libOnly, libxkbcommon, wayland, wayland-protocols, @@ -36,6 +36,10 @@ buildPackages, runtimeShell, nixosTests, + versionCheckHook, + nix-update-script, + libX11, + libOnly ? false, }: let @@ -61,14 +65,14 @@ let ''; in -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "ibus"; version = "1.5.32"; src = fetchFromGitHub { owner = "ibus"; repo = "ibus"; - tag = version; + tag = finalAttrs.version; hash = "sha256-Rp2Aw2C2LXMBp8++pnZtPHiPoFDERpkDsKd0E//twuY="; }; @@ -86,11 +90,14 @@ stdenv.mkDerivation rec { ./build-without-dbus-launch.patch ]; - outputs = [ - "out" - "dev" - "installedTests" - ]; + outputs = + [ + "out" + "dev" + ] + ++ lib.optionals (!libOnly) [ + "installedTests" + ]; postPatch = '' # Maintainer does not want to create separate tarballs for final release candidate and release versions, @@ -107,29 +114,38 @@ stdenv.mkDerivation rec { preAutoreconf = "touch ChangeLog"; - configureFlags = [ - # The `AX_PROG_{CC,CXX}_FOR_BUILD` autoconf macros can pick up unwrapped GCC binaries, - # so we set `{CC,CXX}_FOR_BUILD` to override that behavior. - # https://github.com/NixOS/nixpkgs/issues/21751 - "CC_FOR_BUILD=${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc" - "CXX_FOR_BUILD=${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}c++" - "GLIB_COMPILE_RESOURCES=${lib.getDev buildPackages.glib}/bin/glib-compile-resources" - "PKG_CONFIG_VAPIGEN_VAPIGEN=${lib.getBin buildPackages.vala}/bin/vapigen" - "--disable-memconf" - (lib.enableFeature (dconf != null) "dconf") - (lib.enableFeature (libnotify != null) "libnotify") - (lib.enableFeature withWayland "wayland") - (lib.enableFeature enableUI "ui") - "--disable-gtk2" - "--enable-gtk4" - "--enable-install-tests" - "--with-unicode-emoji-dir=${unicode-emoji}/share/unicode/emoji" - "--with-emoji-annotation-dir=${cldr-annotations}/share/unicode/cldr/common/annotations" - "--with-python=${python3BuildEnv.interpreter}" - "--with-ucd-dir=${unicode-character-database}/share/unicode" - ]; + configureFlags = + [ + # The `AX_PROG_{CC,CXX}_FOR_BUILD` autoconf macros can pick up unwrapped GCC binaries, + # so we set `{CC,CXX}_FOR_BUILD` to override that behavior. + # https://github.com/NixOS/nixpkgs/issues/21751 + "CC_FOR_BUILD=${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc" + "CXX_FOR_BUILD=${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}c++" + "GLIB_COMPILE_RESOURCES=${lib.getDev buildPackages.glib}/bin/glib-compile-resources" + "PKG_CONFIG_VAPIGEN_VAPIGEN=${lib.getBin buildPackages.vala}/bin/vapigen" + "--disable-memconf" + "--disable-gtk2" + "--with-python=${python3BuildEnv.interpreter}" + (lib.enableFeature (!libOnly && dconf != null) "dconf") + (lib.enableFeature (!libOnly && libnotify != null) "libnotify") + (lib.enableFeature withWayland "wayland") + (lib.enableFeature enableUI "ui") + (lib.enableFeature (!libOnly) "gtk3") + (lib.enableFeature (!libOnly) "gtk4") + (lib.enableFeature (!libOnly) "xim") + (lib.enableFeature (!libOnly) "appindicator") + (lib.enableFeature (!libOnly) "tests") + (lib.enableFeature (!libOnly) "install-tests") + (lib.enableFeature (!libOnly) "emoji-dict") + (lib.enableFeature (!libOnly) "unicode-dict") + ] + ++ lib.optionals (!libOnly) [ + "--with-unicode-emoji-dir=${unicode-emoji}/share/unicode/emoji" + "--with-emoji-annotation-dir=${cldr-annotations}/share/unicode/cldr/common/annotations" + "--with-ucd-dir=${unicode-character-database}/share/unicode" + ]; - makeFlags = [ + makeFlags = lib.optionals (!libOnly) [ "test_execsdir=${placeholder "installedTests"}/libexec/installed-tests/ibus" "test_sourcesdir=${placeholder "installedTests"}/share/installed-tests/ibus" ]; @@ -146,11 +162,14 @@ stdenv.mkDerivation rec { makeWrapper pkg-config python3BuildEnv - vala - wrapGAppsHook3 dbus-launch + glib # required to satisfy AM_PATH_GLIB_2_0 + vala gobject-introspection ] + ++ lib.optionals (!libOnly) [ + wrapGAppsHook3 + ] ++ lib.optionals withWayland [ wayland-scanner ]; @@ -164,14 +183,17 @@ stdenv.mkDerivation rec { dbus systemd dconf - gdk-pixbuf python3.pkgs.pygobject3 # for pygobject overrides - gtk3 - gtk4 isocodes json-glib - libnotify + libX11 + ] + ++ lib.optionals (!libOnly) [ + gtk3 + gtk4 + gdk-pixbuf libdbusmenu-gtk3 + libnotify vala # for share/vala/Makefile.vapigen (PKG_CONFIG_VAPIGEN_VAPIGEN) ] ++ lib.optionals withWayland [ @@ -181,20 +203,22 @@ stdenv.mkDerivation rec { ]; enableParallelBuilding = true; + strictDeps = true; doCheck = false; # requires X11 daemon - doInstallCheck = true; - installCheckPhase = '' - $out/bin/ibus version - ''; - postInstall = '' + doInstallCheck = true; + nativeInstallCheckInputs = [ versionCheckHook ]; + versionCheckProgramArg = "version"; + versionCheckProgram = "${placeholder "out"}/bin/ibus"; + + postInstall = lib.optionalString (!libOnly) '' # It has some hardcoded FHS paths and also we do not use it # since we set up the environment in NixOS tests anyway. moveToOutput "bin/ibus-desktop-testing-runner" "$installedTests" ''; - postFixup = '' + postFixup = lib.optionalString (!libOnly) '' # set necessary environment also for tests for f in $installedTests/libexec/installed-tests/ibus/*; do wrapGApp $f @@ -202,16 +226,18 @@ stdenv.mkDerivation rec { ''; passthru = { - tests = { + tests = lib.optionalAttrs (!libOnly) { installed-tests = nixosTests.installed-tests.ibus; }; + updateScript = nix-update-script { }; }; - meta = with lib; { + meta = { + changelog = "https://github.com/ibus/ibus/releases/tag/${finalAttrs.src.tag}"; homepage = "https://github.com/ibus/ibus"; description = "Intelligent Input Bus, input method framework"; - license = licenses.lgpl21Plus; - platforms = platforms.linux; - maintainers = with maintainers; [ ttuegel ]; + license = lib.licenses.lgpl21Plus; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ ttuegel ]; }; -} +}) diff --git a/pkgs/tools/misc/anystyle-cli/Gemfile b/pkgs/tools/misc/anystyle-cli/Gemfile index be47216200d2..8d6364f03b20 100644 --- a/pkgs/tools/misc/anystyle-cli/Gemfile +++ b/pkgs/tools/misc/anystyle-cli/Gemfile @@ -1,37 +1,10 @@ source 'https://rubygems.org' gemspec - group :development, :test do - #gem 'anystyle-data', github: 'inukshuk/anystyle-data' - #gem 'wapiti', github: 'inukshuk/wapiti-ruby' - gem 'bibtex-ruby' - gem 'rake' - gem 'rspec', '~>3.0' - gem 'language_detector', github: 'feedbackmine/language_detector' - gem 'unicode-scripts' - gem 'edtf' - gem 'citeproc' - gem 'unicode_utils' if RUBY_VERSION < '2.4' -end - -group :coverage do - gem 'simplecov', require: false - gem 'coveralls', require: false if ENV['CI'] + gem 'anystyle', github: 'inukshuk/anystyle' end group :debug do - gem 'byebug', require: false -end - -group :profile do - gem 'ruby-prof', require: false - gem 'gnuplot', require: false -end - -group :extra do - gem 'lmdb' - gem 'redis' - gem 'redis-namespace' - gem 'yard' + gem 'debug', require: false end diff --git a/pkgs/tools/misc/anystyle-cli/Gemfile.lock b/pkgs/tools/misc/anystyle-cli/Gemfile.lock index 8d28ef808948..f32ab35dd7c4 100644 --- a/pkgs/tools/misc/anystyle-cli/Gemfile.lock +++ b/pkgs/tools/misc/anystyle-cli/Gemfile.lock @@ -1,99 +1,70 @@ GIT - remote: https://github.com/feedbackmine/language_detector.git - revision: 89102790194150b3a8110ce691f9989b8ce70f8d + remote: https://github.com/inukshuk/anystyle.git + revision: c6f5fb2fa6e8ce9456ad1e1e88d6bba5f3d7731d specs: - language_detector (0.1.2) + anystyle (1.6.0) + anystyle-data (~> 1.3) + bibtex-ruby (~> 6.0) + namae (~> 1.0) + wapiti (~> 2.1) PATH remote: . specs: - anystyle (1.3.10) - anystyle-data (~> 1.2) - bibtex-ruby (~> 5.0) + anystyle-cli (1.5.0) + anystyle (~> 1.6) gli (~> 2.17) - namae (~> 1.0) - wapiti (~> 1.0, >= 1.0.2) GEM remote: https://rubygems.org/ specs: - activesupport (6.0.3.2) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) - zeitwerk (~> 2.2, >= 2.2.2) - anystyle-data (1.2.0) - bibtex-ruby (5.1.4) + anystyle-data (1.3.0) + bibtex-ruby (6.1.0) latex-decode (~> 0.0) - builder (3.2.4) - byebug (11.1.3) - citeproc (1.0.10) - namae (~> 1.0) - concurrent-ruby (1.1.7) - diff-lcs (1.4.4) - docile (1.3.2) - edtf (3.0.5) - activesupport (>= 3.0, < 7.0) - gli (2.19.2) - gnuplot (2.6.2) - i18n (1.8.5) - concurrent-ruby (~> 1.0) - latex-decode (0.3.1) - lmdb (0.5.3) - minitest (5.14.1) - namae (1.0.1) - rake (13.0.1) - redis (4.2.1) - redis-namespace (1.8.0) - redis (>= 3.0.4) - rspec (3.9.0) - rspec-core (~> 3.9.0) - rspec-expectations (~> 3.9.0) - rspec-mocks (~> 3.9.0) - rspec-core (3.9.2) - rspec-support (~> 3.9.3) - rspec-expectations (3.9.2) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.9.0) - rspec-mocks (3.9.1) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.9.0) - rspec-support (3.9.3) - ruby-prof (1.4.1) - simplecov (0.19.0) - docile (~> 1.1) - simplecov-html (~> 0.11) - simplecov-html (0.12.2) - thread_safe (0.3.6) - tzinfo (1.2.7) - thread_safe (~> 0.1) - unicode-scripts (1.6.0) - wapiti (1.0.7) + racc (~> 1.7) + builder (3.3.0) + date (3.4.1) + debug (1.10.0) + irb (~> 1.10) + reline (>= 0.3.8) + erb (5.0.1) + gli (2.22.2) + ostruct + io-console (0.8.0) + irb (1.15.2) + pp (>= 0.6.0) + rdoc (>= 4.0.0) + reline (>= 0.4.2) + latex-decode (0.4.0) + namae (1.2.0) + racc (~> 1.7) + ostruct (0.6.1) + pp (0.6.2) + prettyprint + prettyprint (0.2.0) + psych (5.2.6) + date + stringio + racc (1.8.1) + rdoc (6.14.0) + erb + psych (>= 4.0.0) + reline (0.6.1) + io-console (~> 0.5) + rexml (3.4.1) + stringio (3.1.7) + wapiti (2.1.0) builder (~> 3.2) - yard (0.9.25) - zeitwerk (2.4.0) + rexml (~> 3.0) PLATFORMS + arm64-darwin-24 ruby DEPENDENCIES anystyle! - bibtex-ruby - byebug - citeproc - edtf - gnuplot - language_detector! - lmdb - rake - redis - redis-namespace - rspec (~> 3.0) - ruby-prof - simplecov - unicode-scripts - yard + anystyle-cli! + debug BUNDLED WITH - 2.1.4 + 2.5.22 diff --git a/pkgs/tools/misc/anystyle-cli/anystyle-cli.gemspec b/pkgs/tools/misc/anystyle-cli/anystyle-cli.gemspec new file mode 100644 index 000000000000..51c9f782a75a --- /dev/null +++ b/pkgs/tools/misc/anystyle-cli/anystyle-cli.gemspec @@ -0,0 +1,32 @@ +# -*- encoding: utf-8 -*- +lib = File.expand_path('../lib/', __FILE__) +$:.unshift lib unless $:.include?(lib) + +require 'anystyle/cli/version' + +Gem::Specification.new do |s| + s.name = 'anystyle-cli' + s.version = AnyStyle::CLI::VERSION.dup + s.platform = Gem::Platform::RUBY + s.authors = ['Sylvester Keil'] + s.email = ['http://sylvester.keil.or.at'] + s.homepage = 'http://anystyle.io' + s.summary = 'AnyStyle CLI' + s.description = 'A command line interface to the AnyStyle Parser and Finder.' + s.license = 'BSD-2-Clause' + s.require_path = 'lib' + s.bindir = 'bin' + s.executables = ['anystyle'] + s.required_ruby_version = '>= 2.3' + + s.add_runtime_dependency('anystyle', '~>1.6') + s.add_runtime_dependency('gli', '~>2.17') + + s.files = `git ls-files`.split("\n") - %w{ + .gitignore + Gemfile + anystyle-cli.gemspec + } +end + +# vim: syntax=ruby diff --git a/pkgs/tools/misc/anystyle-cli/anystyle.gemspec b/pkgs/tools/misc/anystyle-cli/anystyle.gemspec deleted file mode 100644 index 57db427fb024..000000000000 --- a/pkgs/tools/misc/anystyle-cli/anystyle.gemspec +++ /dev/null @@ -1,52 +0,0 @@ -# -*- encoding: utf-8 -*- -lib = File.expand_path('../lib/', __FILE__) -$:.unshift lib unless $:.include?(lib) - -require 'anystyle/version' - -Gem::Specification.new do |s| - s.name = 'anystyle' - s.version = AnyStyle::VERSION.dup - s.platform = Gem::Platform::RUBY - s.authors = ['Sylvester Keil'] - s.email = ['http://sylvester.keil.or.at'] - s.homepage = 'http://anystyle.io' - s.summary = 'Smart and fast bibliography parser.' - s.description = 'A sophisticated parser for academic reference lists and bibliographies based on machine learning algorithms using conditional random fields.' - s.license = 'BSD-2-Clause' - s.executables = [] - s.require_path = 'lib' - - s.required_ruby_version = '>= 2.2' - - s.add_runtime_dependency('bibtex-ruby', '~>5.0') - s.add_runtime_dependency('anystyle-data', '~>1.2') - s.add_runtime_dependency('gli', '~>2.17') - s.add_runtime_dependency('wapiti', '~>1.0', '>=1.0.2') - s.add_runtime_dependency('namae', '~>1.0') - - s.files = - `git ls-files`.split("\n") - `git ls-files spec`.split("\n") - %w{ - .coveralls.yml - .gitignore - .rspec - .simplecov - .travis.yml - Gemfile - Rakefile - appveyor.yml - anystyle.gemspec - res/core.xml - } - - s.rdoc_options = %w{ - --line-numbers - --inline-source - --title "AnyStyle" - --main README.md - } - s.extra_rdoc_files = %w{README.md LICENSE} - -end - -# vim: syntax=ruby diff --git a/pkgs/tools/misc/anystyle-cli/default.nix b/pkgs/tools/misc/anystyle-cli/default.nix index 11fbcbcb1024..959956bb916e 100644 --- a/pkgs/tools/misc/anystyle-cli/default.nix +++ b/pkgs/tools/misc/anystyle-cli/default.nix @@ -9,13 +9,13 @@ let deps = bundlerEnv rec { name = "anystyle-cli-${version}"; source.sha256 = lib.fakeSha256; - version = "1.3.1"; + version = "1.5.0"; inherit ruby; gemdir = ./.; gemset = lib.recursiveUpdate (import ./gemset.nix) { anystyle.source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1w79zcia60nnnyrmyvpd10pmxrpk5c7lj9gmmblhwi8x5mfq9k0n"; + sha256 = "C/OrU7guHzHdY80upEXRfhWmUYDxpI54NIvIjKv0znw="; type = "gem"; }; }; @@ -25,8 +25,8 @@ buildRubyGem rec { inherit ruby; gemName = "anystyle-cli"; pname = gemName; - version = "1.3.1"; - source.sha256 = "1a3ifwxwqkp5dnfk9r8qq8kgfb8k1pl7jjdghbb8ixbxz9ac7awy"; + version = "1.5.0"; + source.sha256 = "Bkk00PBk/6noCXgAbr1XUcdBq5vpdeL0ES02eeNA594="; propagatedBuildInputs = [ deps ]; @@ -38,10 +38,11 @@ buildRubyGem rec { description = "Command line interface to the AnyStyle Parser and Finder"; homepage = "https://anystyle.io/"; license = licenses.bsd2; - maintainers = with maintainers; [ shamilton ]; + maintainers = with maintainers; [ + aschleck + shamilton + ]; mainProgram = "anystyle"; platforms = platforms.unix; - # error: passing argument 2 of 'rb_hash_foreach' from incompatible pointer type [-Wincompatible-pointer-types] - broken = true; }; } diff --git a/pkgs/tools/misc/anystyle-cli/gemset.nix b/pkgs/tools/misc/anystyle-cli/gemset.nix index 9d3377022144..6532e1277684 100644 --- a/pkgs/tools/misc/anystyle-cli/gemset.nix +++ b/pkgs/tools/misc/anystyle-cli/gemset.nix @@ -1,1201 +1,11 @@ { - activesupport = { - dependencies = [ - "concurrent-ruby" - "i18n" - "minitest" - "tzinfo" - "zeitwerk" - ]; - groups = [ - "default" - "development" - "test" - ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "02sh4q8izyfdnh7z2nj5mn5sklfvqgx9rrag5j3l51y8aqkrg2yk"; - type = "gem"; - }; - version = "6.0.3.2"; - }; anystyle = { dependencies = [ "anystyle-data" "bibtex-ruby" - "gli" "namae" "wapiti" ]; - groups = [ "default" ]; - platforms = [ - { - engine = "maglev"; - } - { - engine = "maglev"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - version = "1.8"; - } - { - engine = "rbx"; - version = "1.9"; - } - { - engine = "rbx"; - version = "2.0"; - } - { - engine = "rbx"; - version = "2.1"; - } - { - engine = "rbx"; - version = "2.2"; - } - { - engine = "rbx"; - version = "2.3"; - } - { - engine = "rbx"; - version = "2.4"; - } - { - engine = "rbx"; - version = "2.5"; - } - { - engine = "rbx"; - version = "2.6"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.6"; - } - { - engine = "ruby"; - version = "2.6"; - } - ]; - source = { - path = ./.; - type = "path"; - }; - version = "1.3.10"; - }; - anystyle-data = { - groups = [ "default" ]; - platforms = [ - { - engine = "maglev"; - } - { - engine = "maglev"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - version = "1.8"; - } - { - engine = "rbx"; - version = "1.9"; - } - { - engine = "rbx"; - version = "2.0"; - } - { - engine = "rbx"; - version = "2.1"; - } - { - engine = "rbx"; - version = "2.2"; - } - { - engine = "rbx"; - version = "2.3"; - } - { - engine = "rbx"; - version = "2.4"; - } - { - engine = "rbx"; - version = "2.5"; - } - { - engine = "rbx"; - version = "2.6"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.6"; - } - { - engine = "ruby"; - version = "2.6"; - } - ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "1ry6836mq48d85hjcfp7xiw0yk3ivpiwjvmdwv5jag30ijfyaccy"; - type = "gem"; - }; - version = "1.2.0"; - }; - bibtex-ruby = { - dependencies = [ "latex-decode" ]; - groups = [ - "default" - "development" - "test" - ]; - platforms = [ - { - engine = "maglev"; - } - { - engine = "maglev"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - version = "1.8"; - } - { - engine = "rbx"; - version = "1.9"; - } - { - engine = "rbx"; - version = "2.0"; - } - { - engine = "rbx"; - version = "2.1"; - } - { - engine = "rbx"; - version = "2.2"; - } - { - engine = "rbx"; - version = "2.3"; - } - { - engine = "rbx"; - version = "2.4"; - } - { - engine = "rbx"; - version = "2.5"; - } - { - engine = "rbx"; - version = "2.6"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.6"; - } - { - engine = "ruby"; - version = "2.6"; - } - ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "00zwmmmjrbrxhajdvn1d4rnv2qw00arcj021cwyx3hl6dsv22l2w"; - type = "gem"; - }; - version = "5.1.4"; - }; - builder = { - groups = [ "default" ]; - platforms = [ - { - engine = "maglev"; - } - { - engine = "maglev"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - version = "1.8"; - } - { - engine = "rbx"; - version = "1.9"; - } - { - engine = "rbx"; - version = "2.0"; - } - { - engine = "rbx"; - version = "2.1"; - } - { - engine = "rbx"; - version = "2.2"; - } - { - engine = "rbx"; - version = "2.3"; - } - { - engine = "rbx"; - version = "2.4"; - } - { - engine = "rbx"; - version = "2.5"; - } - { - engine = "rbx"; - version = "2.6"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.6"; - } - { - engine = "ruby"; - version = "2.6"; - } - ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "045wzckxpwcqzrjr353cxnyaxgf0qg22jh00dcx7z38cys5g1jlr"; - type = "gem"; - }; - version = "3.2.4"; - }; - byebug = { - groups = [ "debug" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0nx3yjf4xzdgb8jkmk2344081gqr22pgjqnmjg2q64mj5d6r9194"; - type = "gem"; - }; - version = "11.1.3"; - }; - citeproc = { - dependencies = [ "namae" ]; - groups = [ - "development" - "test" - ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "13vl5sjmksk5a8kjcqnjxh7kn9gn1n4f9p1rvqfgsfhs54p0m6l2"; - type = "gem"; - }; - version = "1.0.10"; - }; - concurrent-ruby = { - groups = [ - "default" - "development" - "test" - ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "1vnxrbhi7cq3p4y2v9iwd10v1c7l15is4var14hwnb2jip4fyjzz"; - type = "gem"; - }; - version = "1.1.7"; - }; - diff-lcs = { - groups = [ - "default" - "development" - "test" - ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0m925b8xc6kbpnif9dldna24q1szg4mk0fvszrki837pfn46afmz"; - type = "gem"; - }; - version = "1.4.4"; - }; - docile = { - groups = [ - "coverage" - "default" - ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0qrwiyagxzl8zlx3dafb0ay8l14ib7imb2rsmx70i5cp420v8gif"; - type = "gem"; - }; - version = "1.3.2"; - }; - edtf = { - dependencies = [ "activesupport" ]; - groups = [ - "development" - "test" - ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0xknzamagsx68iq7zdiswr077sxirig77yggbcsw51m8365ajzpc"; - type = "gem"; - }; - version = "3.0.5"; - }; - gli = { - groups = [ "default" ]; - platforms = [ - { - engine = "maglev"; - } - { - engine = "maglev"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - version = "1.8"; - } - { - engine = "rbx"; - version = "1.9"; - } - { - engine = "rbx"; - version = "2.0"; - } - { - engine = "rbx"; - version = "2.1"; - } - { - engine = "rbx"; - version = "2.2"; - } - { - engine = "rbx"; - version = "2.3"; - } - { - engine = "rbx"; - version = "2.4"; - } - { - engine = "rbx"; - version = "2.5"; - } - { - engine = "rbx"; - version = "2.6"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.6"; - } - { - engine = "ruby"; - version = "2.6"; - } - ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0q598mvl20isn3ja1ya0p72svmqwx3m6fjp5slnv0b2c5mh0ahvv"; - type = "gem"; - }; - version = "2.19.2"; - }; - gnuplot = { - groups = [ "profile" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "1cvb84lahhy6qxkkgg0pfk9b85qrb1by2p3jlpqgczl6am58vhnj"; - type = "gem"; - }; - version = "2.6.2"; - }; - i18n = { - dependencies = [ "concurrent-ruby" ]; - groups = [ - "default" - "development" - "test" - ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "153sx77p16vawrs4qpkv7qlzf9v5fks4g7xqcj1dwk40i6g7rfzk"; - type = "gem"; - }; - version = "1.8.5"; - }; - language_detector = { groups = [ "development" "test" @@ -1203,900 +13,304 @@ platforms = [ ]; source = { fetchSubmodules = false; - rev = "89102790194150b3a8110ce691f9989b8ce70f8d"; - sha256 = "0wxs9i0wqmwysrz1c1i85i4f670m217y12rj5slcmd1y4ylsmvyi"; + rev = "c6f5fb2fa6e8ce9456ad1e1e88d6bba5f3d7731d"; + sha256 = "1fshijsay20dqcvjwrdifv6z1w4xyc3j2rn3648cvq57gjrmxwl2"; type = "git"; - url = "https://github.com/feedbackmine/language_detector.git"; + url = "https://github.com/inukshuk/anystyle.git"; }; - version = "0.1.2"; + version = "1.6.0"; + }; + anystyle-cli = { + dependencies = [ + "anystyle" + "gli" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + path = ./.; + type = "path"; + }; + version = "1.5.0"; + }; + anystyle-data = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0l28mxgcfdbcrb4w0vn293spwxff9ahcmxfs5cws2yq0w5x656y4"; + type = "gem"; + }; + version = "1.3.0"; + }; + bibtex-ruby = { + dependencies = [ + "latex-decode" + "racc" + ]; + groups = [ "extra" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1ggx2j1gi46f1a6p45l1abk3nryfg1pj0cdlyrnilnqqpr1cfc96"; + type = "gem"; + }; + version = "6.1.0"; + }; + builder = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0pw3r2lyagsxkm71bf44v5b74f7l9r7di22brbyji9fwz791hya9"; + type = "gem"; + }; + version = "3.3.0"; + }; + date = { + groups = [ + "debug" + "default" + "extra" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0kz6mc4b9m49iaans6cbx031j9y7ldghpi5fzsdh0n3ixwa8w9mz"; + type = "gem"; + }; + version = "3.4.1"; + }; + debug = { + dependencies = [ + "irb" + "reline" + ]; + groups = [ "debug" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1977s95s9ns6mpbhg68pg6ggnpxxf8wly4244ihrx5vm92kqrqhi"; + type = "gem"; + }; + version = "1.10.0"; + }; + erb = { + groups = [ + "debug" + "default" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "08rc8pzri3g7c85c76x84j05hkk12jvalrm2m3n97k1n7f03j13n"; + type = "gem"; + }; + version = "5.0.1"; + }; + gli = { + dependencies = [ "ostruct" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1c2x5wh3d3mz8vg5bs7c5is0zvc56j6a2b4biv5z1w5hi1n8s3jq"; + type = "gem"; + }; + version = "2.22.2"; + }; + io-console = { + groups = [ + "debug" + "default" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "18pgvl7lfjpichdfh1g50rpz0zpaqrpr52ybn9liv1v9pjn9ysnd"; + type = "gem"; + }; + version = "0.8.0"; + }; + irb = { + dependencies = [ + "pp" + "rdoc" + "reline" + ]; + groups = [ + "debug" + "default" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1fpxa2m83rb7xlzs57daqwnzqjmz6j35xr7zb15s73975sak4br2"; + type = "gem"; + }; + version = "1.15.2"; }; latex-decode = { groups = [ "default" - "development" - "test" - ]; - platforms = [ - { - engine = "maglev"; - } - { - engine = "maglev"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - version = "1.8"; - } - { - engine = "rbx"; - version = "1.9"; - } - { - engine = "rbx"; - version = "2.0"; - } - { - engine = "rbx"; - version = "2.1"; - } - { - engine = "rbx"; - version = "2.2"; - } - { - engine = "rbx"; - version = "2.3"; - } - { - engine = "rbx"; - version = "2.4"; - } - { - engine = "rbx"; - version = "2.5"; - } - { - engine = "rbx"; - version = "2.6"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.6"; - } - { - engine = "ruby"; - version = "2.6"; - } - ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0dqanr69as05vdyp9gx9737w3g44rhyk7x96bh9x01fnf1yalyzd"; - type = "gem"; - }; - version = "0.3.1"; - }; - lmdb = { - groups = [ "extra" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0qk2ycgyyk052dvbgik35mr4n9im4k1j6v7anbjqhx52y5f07sfg"; - type = "gem"; - }; - version = "0.5.3"; - }; - minitest = { - groups = [ - "default" - "development" - "test" + "extra" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "09bz9nsznxgaf06cx3b5z71glgl0hdw469gqx3w7bqijgrb55p5g"; + sha256 = "1y5xn3zwghpqr6lvs4s0mn5knms8zw3zk7jb58zkkiagb386nq72"; type = "gem"; }; - version = "5.14.1"; + version = "0.4.0"; }; namae = { + dependencies = [ "racc" ]; groups = [ "default" - "development" - "test" - ]; - platforms = [ - { - engine = "maglev"; - } - { - engine = "maglev"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - version = "1.8"; - } - { - engine = "rbx"; - version = "1.9"; - } - { - engine = "rbx"; - version = "2.0"; - } - { - engine = "rbx"; - version = "2.1"; - } - { - engine = "rbx"; - version = "2.2"; - } - { - engine = "rbx"; - version = "2.3"; - } - { - engine = "rbx"; - version = "2.4"; - } - { - engine = "rbx"; - version = "2.5"; - } - { - engine = "rbx"; - version = "2.6"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.6"; - } - { - engine = "ruby"; - version = "2.6"; - } + "extra" ]; + platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "00w0dgvmdy8lw2b5q9zvhqd5k98a192vdmka96qngi9cvnsh5snw"; + sha256 = "17fmp6p74ai2w984xayv3kz2nh44w81hqqvn4cfrim3g115wwh9m"; type = "gem"; }; - version = "1.0.1"; + version = "1.2.0"; }; - rake = { + ostruct = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "05xqijcf80sza5pnlp1c8whdaay8x5dc13214ngh790zrizgp8q9"; + type = "gem"; + }; + version = "0.6.1"; + }; + pp = { + dependencies = [ "prettyprint" ]; groups = [ - "development" - "test" + "debug" + "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0w6qza25bq1s825faaglkx1k6d59aiyjjk3yw3ip5sb463mhhai9"; + sha256 = "1zxnfxjni0r9l2x42fyq0sqpnaf5nakjbap8irgik4kg1h9c6zll"; type = "gem"; }; - version = "13.0.1"; + version = "0.6.2"; }; - redis = { - groups = [ "extra" ]; + prettyprint = { + groups = [ + "debug" + "default" + ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "19hm66kw5vx1lmlh8bj7rxlddyj0vfp11ajw9njhrmn8173d0vb5"; + sha256 = "14zicq3plqi217w6xahv7b8f7aj5kpxv1j1w98344ix9h5ay3j9b"; type = "gem"; }; - version = "4.2.1"; + version = "0.2.0"; }; - redis-namespace = { - dependencies = [ "redis" ]; - groups = [ "extra" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "05i6s898z5w31z385cba1683pgg5nnmj4m686cbravg7j4pgbcgv"; - type = "gem"; - }; - version = "1.8.0"; - }; - rspec = { + psych = { dependencies = [ - "rspec-core" - "rspec-expectations" - "rspec-mocks" + "date" + "stringio" ]; groups = [ - "development" - "test" + "debug" + "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1hzsig4pi9ybr0xl5540m1swiyxa74c8h09225y5sdh2rjkkg84h"; + sha256 = "0vii1xc7x81hicdbp7dlllhmbw5w3jy20shj696n0vfbbnm2hhw1"; type = "gem"; }; - version = "3.9.0"; + version = "5.2.6"; }; - rspec-core = { - dependencies = [ "rspec-support" ]; + racc = { groups = [ "default" - "development" - "test" + "extra" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1xndkv5cz763wh30x7hdqw6k7zs8xfh0f86amra9agwn44pcqs0y"; + sha256 = "0byn0c9nkahsl93y9ln5bysq4j31q8xkf2ws42swighxd4lnjzsa"; type = "gem"; }; - version = "3.9.2"; + version = "1.8.1"; }; - rspec-expectations = { + rdoc = { dependencies = [ - "diff-lcs" - "rspec-support" + "erb" + "psych" ]; groups = [ - "default" - "development" - "test" - ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "1bxkv25qmy39jqrdx35bfgw00g24qkssail9jlljm7hywbqvr9bb"; - type = "gem"; - }; - version = "3.9.2"; - }; - rspec-mocks = { - dependencies = [ - "diff-lcs" - "rspec-support" - ]; - groups = [ - "default" - "development" - "test" - ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "19vmdqym1v2g1zbdnq37zwmyj87y9yc9ijwc8js55igvbb9hx0mr"; - type = "gem"; - }; - version = "3.9.1"; - }; - rspec-support = { - groups = [ - "default" - "development" - "test" - ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0dandh2fy1dfkjk8jf9v4azbbma6968bhh06hddv0yqqm8108jir"; - type = "gem"; - }; - version = "3.9.3"; - }; - ruby-prof = { - groups = [ "profile" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "12cd91m08ih0imfpy4k87618hd4mhyz291a6bx2hcskza4nf6d27"; - type = "gem"; - }; - version = "1.4.1"; - }; - simplecov = { - dependencies = [ - "docile" - "simplecov-html" - ]; - groups = [ "coverage" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "1b082xrklq6k755cc3rzpnfdjv5338rlky9him36jasw8s9q68mr"; - type = "gem"; - }; - version = "0.19.0"; - }; - simplecov-html = { - groups = [ - "coverage" + "debug" "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1v7b4mf7njw8kv4ghl4q7mwz3q0flbld7v8blp4m4m3n3aq11bn9"; + sha256 = "1nyp5vc9nm46nc3aq58f2lackgbip4ynxmznzi1qg6qjsxcdwiic"; type = "gem"; }; - version = "0.12.2"; + version = "6.14.0"; }; - thread_safe = { + reline = { + dependencies = [ "io-console" ]; groups = [ + "debug" "default" - "development" - "test" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy"; + sha256 = "1yvm0svcdk6377ng6l00g39ldkjijbqg4whdg2zcsa8hrgbwkz0s"; type = "gem"; }; - version = "0.3.6"; + version = "0.6.1"; }; - tzinfo = { - dependencies = [ "thread_safe" ]; + rexml = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1jmbf6lf7pcyacpb939xjjpn1f84c3nw83dy3p1lwjx0l2ljfif7"; + type = "gem"; + }; + version = "3.4.1"; + }; + stringio = { groups = [ + "debug" "default" - "development" - "test" + "extra" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1i3jh086w1kbdj3k5l60lc3nwbanmzdf8yjj3mlrx9b2gjjxhi9r"; + sha256 = "1yh78pg6lm28c3k0pfd2ipskii1fsraq46m6zjs5yc9a4k5vfy2v"; type = "gem"; }; - version = "1.2.7"; - }; - unicode-scripts = { - groups = [ - "development" - "test" - ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "04xfy4f61xf7qnbfa68aqscmyxk7wx3swn571cijsfqalhz8swjg"; - type = "gem"; - }; - version = "1.6.0"; + version = "3.1.7"; }; wapiti = { - dependencies = [ "builder" ]; + dependencies = [ + "builder" + "rexml" + ]; groups = [ "default" ]; - platforms = [ - { - engine = "maglev"; - } - { - engine = "maglev"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.8"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "1.9"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.0"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.1"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.2"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.3"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.4"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.5"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "maglev"; - version = "2.6"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - } - { - engine = "rbx"; - version = "1.8"; - } - { - engine = "rbx"; - version = "1.9"; - } - { - engine = "rbx"; - version = "2.0"; - } - { - engine = "rbx"; - version = "2.1"; - } - { - engine = "rbx"; - version = "2.2"; - } - { - engine = "rbx"; - version = "2.3"; - } - { - engine = "rbx"; - version = "2.4"; - } - { - engine = "rbx"; - version = "2.5"; - } - { - engine = "rbx"; - version = "2.6"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.8"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "1.9"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.0"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.1"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.2"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.3"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.4"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.5"; - } - { - engine = "ruby"; - version = "2.6"; - } - { - engine = "ruby"; - version = "2.6"; - } - ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "1aw2l759cfmii9a67pn8pswip11v08nabkzm825mrmxa6r91izqs"; - type = "gem"; - }; - version = "1.0.7"; - }; - yard = { - groups = [ "extra" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "126m49mvh4lbvlvrprq7xj2vjixbq3xqr8dwr089vadvs0rkn4rd"; + sha256 = "19bh7nb05pbkix43i7alfg8pzcqid31q5q0g06x2my7gcj79nhad"; type = "gem"; }; - version = "0.9.25"; - }; - zeitwerk = { - groups = [ - "default" - "development" - "test" - ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0jvn50k76kl14fpymk4hdsf9sk00jl84yxzl783xhnw4dicp0m0k"; - type = "gem"; - }; - version = "2.4.0"; + version = "2.1.0"; }; } diff --git a/pkgs/tools/misc/bat-extras/default.nix b/pkgs/tools/misc/bat-extras/default.nix index e10913b37852..33dc27b19c30 100644 --- a/pkgs/tools/misc/bat-extras/default.nix +++ b/pkgs/tools/misc/bat-extras/default.nix @@ -1,4 +1,3 @@ -{ }: self: { buildBatExtrasPkg = self.callPackage ./buildBatExtrasPkg.nix { }; diff --git a/pkgs/tools/misc/file/default.nix b/pkgs/tools/misc/file/default.nix index c9f0f0f859bf..1c79da3c65e3 100644 --- a/pkgs/tools/misc/file/default.nix +++ b/pkgs/tools/misc/file/default.nix @@ -38,8 +38,9 @@ stdenv.mkDerivation (finalAttrs: { # It is included in 5.46+, but we are not updating to it or a later version until: # # https://bugs.astron.com/view.php?id=622 + # https://bugs.astron.com/view.php?id=638 # - # is resolved. See also description of the bug here: + # are resolved. See also description of the 1st bug here: # # https://github.com/NixOS/nixpkgs/pull/402318#issuecomment-2881163359 ./32-bit-time_t.patch diff --git a/pkgs/tools/misc/heimdall/default.nix b/pkgs/tools/misc/heimdall/default.nix deleted file mode 100644 index 546652aa0916..000000000000 --- a/pkgs/tools/misc/heimdall/default.nix +++ /dev/null @@ -1,69 +0,0 @@ -{ - lib, - stdenv, - mkDerivation, - fetchFromGitHub, - cmake, - zlib, - libusb1, - enableGUI ? false, - qtbase ? null, -}: - -mkDerivation rec { - pname = "heimdall${lib.optionalString enableGUI "-gui"}"; - version = "1.4.2"; - - src = fetchFromGitHub { - owner = "Benjamin-Dobell"; - repo = "Heimdall"; - rev = "v${version}"; - sha256 = "1ygn4snvcmi98rgldgxf5hwm7zzi1zcsihfvm6awf9s6mpcjzbqz"; - }; - - buildInputs = [ - zlib - libusb1 - ] ++ lib.optional enableGUI qtbase; - nativeBuildInputs = [ cmake ]; - - cmakeFlags = [ - "-DDISABLE_FRONTEND=${if enableGUI then "OFF" else "ON"}" - "-DLIBUSB_LIBRARY=${libusb1}" - ]; - - preConfigure = - '' - # Give ownership of the Galaxy S USB device to the logged in user. - substituteInPlace heimdall/60-heimdall.rules --replace 'MODE="0666"' 'TAG+="uaccess"' - '' - + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace libpit/CMakeLists.txt --replace "-std=gnu++11" "" - ''; - - doInstallCheck = true; - - installPhase = - lib.optionalString (stdenv.hostPlatform.isDarwin && enableGUI) '' - mkdir -p $out/Applications - mv bin/heimdall-frontend.app $out/Applications/heimdall-frontend.app - wrapQtApp $out/Applications/heimdall-frontend.app/Contents/MacOS/heimdall-frontend - '' - + '' - mkdir -p $out/{bin,share/doc/heimdall,lib/udev/rules.d} - install -m755 -t $out/bin bin/* - install -m644 -t $out/lib/udev/rules.d ../heimdall/60-heimdall.rules - install -m644 ../Linux/README $out/share/doc/heimdall/README.linux - install -m644 ../OSX/README.txt $out/share/doc/heimdall/README.osx - ''; - - meta = with lib; { - broken = stdenv.hostPlatform.isDarwin; - homepage = "http://www.glassechidna.com.au/products/heimdall/"; - description = "Cross-platform tool suite to flash firmware onto Samsung Galaxy S devices"; - license = licenses.mit; - maintainers = with maintainers; [ peterhoeg ]; - platforms = platforms.unix; - mainProgram = "heimdall"; - }; -} diff --git a/pkgs/tools/misc/lolcat/Gemfile.lock b/pkgs/tools/misc/lolcat/Gemfile.lock index d98402b0a599..91943e5958cd 100644 --- a/pkgs/tools/misc/lolcat/Gemfile.lock +++ b/pkgs/tools/misc/lolcat/Gemfile.lock @@ -3,11 +3,11 @@ GEM specs: lolcat (100.0.1) manpages (~> 0.6.1) - optimist (~> 3.0.1) - paint (~> 2.2.0) + optimist (~> 3.0.0) + paint (~> 2.1) manpages (0.6.1) optimist (3.0.1) - paint (2.2.0) + paint (2.3.0) PLATFORMS ruby @@ -16,4 +16,4 @@ DEPENDENCIES lolcat BUNDLED WITH - 2.1.4 + 2.5.22 diff --git a/pkgs/tools/misc/lolcat/default.nix b/pkgs/tools/misc/lolcat/default.nix index b91c5c9967ee..3f7f79433d17 100644 --- a/pkgs/tools/misc/lolcat/default.nix +++ b/pkgs/tools/misc/lolcat/default.nix @@ -1,10 +1,11 @@ { lib, bundlerApp, + ruby_3_4, bundlerUpdateScript, }: -bundlerApp { +(bundlerApp.override { ruby = ruby_3_4; }) { pname = "lolcat"; gemdir = ./.; exes = [ "lolcat" ]; diff --git a/pkgs/tools/misc/lolcat/gemset.nix b/pkgs/tools/misc/lolcat/gemset.nix index 665d255b820b..3c54e0834cdf 100644 --- a/pkgs/tools/misc/lolcat/gemset.nix +++ b/pkgs/tools/misc/lolcat/gemset.nix @@ -39,9 +39,9 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "014b5rkbg6qri0cwkq972bfi93zvqdgswgvphjrgjl0pr6hywlkl"; + sha256 = "1r9vx3wcx0x2xqlh6zqc81wcsn9qjw3xprcsv5drsq9q80z64z9j"; type = "gem"; }; - version = "2.2.0"; + version = "2.3.0"; }; } diff --git a/pkgs/tools/misc/pdd/default.nix b/pkgs/tools/misc/pdd/default.nix index 6946aa3728a4..433d28c19b0b 100644 --- a/pkgs/tools/misc/pdd/default.nix +++ b/pkgs/tools/misc/pdd/default.nix @@ -1,28 +1,37 @@ { lib, - fetchFromGitHub, buildPythonApplication, + fetchFromGitHub, python-dateutil, }: buildPythonApplication rec { pname = "pdd"; - version = "1.6"; + version = "1.7"; + pyproject = false; src = fetchFromGitHub { owner = "jarun"; repo = "pdd"; tag = "v${version}"; - sha256 = "sha256-Z+jUFu4VvrgWUtkXMkjspcRJ/JG81X9gc2tnDoCdrsk="; + hash = "sha256-jQCjqQxvJU2oYLSWpFriJIfD0EbqBx59AvRX77pX0Cg="; }; - format = "other"; + postPatch = '' + patchShebangs auto-completion/zsh/zsh_completion.py + ''; - propagatedBuildInputs = [ python-dateutil ]; + preInstall = '' + mkdir -p $out/share/bash-completion/compilations + mkdir -p $out/share/zsh/site-functions + mkdir -p $out/share/fish/vendor_completions.d + ''; + + dependencies = [ python-dateutil ]; installFlags = [ "PREFIX=$(out)" ]; - meta = with lib; { + meta = { homepage = "https://github.com/jarun/pdd"; description = "Tiny date, time diff calculator"; longDescription = '' @@ -34,7 +43,7 @@ buildPythonApplication rec { timezone. ''; maintainers = [ ]; - license = licenses.gpl3; + license = lib.licenses.gpl3Plus; mainProgram = "pdd"; }; } diff --git a/pkgs/tools/misc/xburst-tools/default.nix b/pkgs/tools/misc/xburst-tools/default.nix deleted file mode 100644 index 35a94d1952ad..000000000000 --- a/pkgs/tools/misc/xburst-tools/default.nix +++ /dev/null @@ -1,68 +0,0 @@ -{ - lib, - stdenv, - fetchgit, - libusb-compat-0_1, - libusb1, - autoconf, - automake, - libconfuse, - pkg-config, - gccCross ? null, -}: - -let - version = "2011-12-26"; -in -stdenv.mkDerivation { - pname = "xburst-tools"; - inherit version; - - src = fetchgit { - url = "git://projects.qi-hardware.com/xburst-tools.git"; - rev = "c71ce8e15db25fe49ce8702917cb17720882e341"; - sha256 = "1hzdngs1l5ivvwnxjwzc246am6w1mj1aidcf0awh9yw0crzcjnjr"; - }; - - preConfigure = '' - sh autogen.sh - ''; - - # Workaround build failure on -fno-common toolchains: - # mipsel-unknown-linux-uclibc-ld: boothandler.o:(.bss+0x8): multiple definition of - # `start_addr'; main.o:(.bss+0x8): first defined here - NIX_CFLAGS_COMPILE_FOR_TARGET = "-fcommon"; - - configureFlags = lib.optionals (gccCross != null) [ - "--enable-firmware" - "CROSS_COMPILE=${gccCross.targetPrefix}" - ]; - - hardeningDisable = [ - "pic" - "stackprotector" - ]; - - # Not to strip cross build binaries (this is for the gcc-cross-wrapper) - dontCrossStrip = true; - - nativeBuildInputs = [ - autoconf - automake - pkg-config - ]; - buildInputs = [ - libusb-compat-0_1 - libusb1 - libconfuse - ] ++ lib.optional (gccCross != null) gccCross; - - meta = { - broken = stdenv.hostPlatform.isDarwin; - description = "Qi tools to access the Ben Nanonote USB_BOOT mode"; - license = lib.licenses.gpl3; - homepage = "http://www.linux-mtd.infradead.org/"; - maintainers = [ ]; - platforms = lib.platforms.x86_64; - }; -} diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix index 06cef5d1288d..1edb287d4121 100644 --- a/pkgs/tools/misc/youtube-dl/default.nix +++ b/pkgs/tools/misc/youtube-dl/default.nix @@ -104,7 +104,6 @@ buildPythonPackage rec { ''; license = licenses.publicDomain; maintainers = with maintainers; [ - bluescreen303 fpletz ]; platforms = with platforms; linux ++ darwin; diff --git a/pkgs/tools/misc/yubikey-manager-qt/default.nix b/pkgs/tools/misc/yubikey-manager-qt/default.nix deleted file mode 100644 index 5dc4d4718e2b..000000000000 --- a/pkgs/tools/misc/yubikey-manager-qt/default.nix +++ /dev/null @@ -1,98 +0,0 @@ -{ - lib, - mkDerivation, - fetchurl, - imagemagick, - pcsclite, - pyotherside, - python3, - qmake, - qtbase, - qtgraphicaleffects, - qtquickcontrols2, - yubikey-manager, - yubikey-personalization, -}: - -mkDerivation rec { - pname = "yubikey-manager-qt"; - version = "1.2.5"; - - src = fetchurl { - url = "https://developers.yubico.com/yubikey-manager-qt/Releases/yubikey-manager-qt-${version}.tar.gz"; - hash = "sha256-6bKeR3UX2DhXGcKJ1bxvT1aLTgCfc+aNo6ckE89NV+I="; - }; - - patches = [ ./remove-upload-import.diff ]; - - nativeBuildInputs = [ - python3.pkgs.wrapPython - qmake - imagemagick - ]; - - postPatch = '' - substituteInPlace ykman-gui/deployment.pri --replace '/usr/bin' "$out/bin" - ''; - - buildInputs = [ - pyotherside - python3 - qtbase - qtgraphicaleffects - qtquickcontrols2 - ]; - - pythonPath = [ - (yubikey-manager.override { python3Packages = python3.pkgs; }) - ]; - - postInstall = '' - # Desktop files - install -D -m0644 resources/ykman-gui.desktop "$out/share/applications/ykman-gui.desktop" - substituteInPlace "$out/share/applications/ykman-gui.desktop" \ - --replace Exec=ykman-gui "Exec=$out/bin/ykman-gui" - - # Icons - install -Dt $out/share/ykman-gui/icons resources/icons/*.{icns,ico} - install -D -m0644 resources/icons/ykman.png "$out/share/icons/hicolor/128x128/apps/ykman.png" - ln -s -- "$out/share/icons/hicolor/128x128/apps/ykman.png" "$out/share/icons/hicolor/128x128/apps/ykman-gui.png" - for SIZE in 16 24 32 48 64 96; do - # set modify/create for reproducible builds - convert -scale ''${SIZE} +set date:create +set date:modify \ - resources/icons/ykman.png ykman.png - - imageFolder="$out/share/icons/hicolor/''${SIZE}x''${SIZE}/apps" - install -D -m0644 ykman.png "$imageFolder/ykman.png" - ln -s -- "$imageFolder/ykman.png" "$imageFolder/ykman-gui.png" - done - unset SIZE imageFolder - ''; - - qtWrapperArgs = [ - "--prefix" - "LD_LIBRARY_PATH" - ":" - (lib.makeLibraryPath [ - pcsclite - yubikey-personalization - ]) - ]; - - preFixup = '' - buildPythonPath "$pythonPath" - qtWrapperArgs+=(--prefix PYTHONPATH : "$program_PYTHONPATH") - ''; - - meta = with lib; { - description = "Cross-platform application for configuring any YubiKey over all USB interfaces"; - homepage = "https://developers.yubico.com/yubikey-manager-qt/"; - knownVulnerabilities = [ - "Yubico has announced the End of Life of YubiKey Manager QT. Upstream recommends yubioath-flutter to configure a YubiKey. yubikey-manager-qt will be dropped after NixOS 25.05." - ]; - license = licenses.bsd2; - maintainers = [ maintainers.cbley ]; - mainProgram = "ykman-gui"; - platforms = platforms.linux; - }; -} diff --git a/pkgs/tools/misc/yubikey-manager-qt/remove-upload-import.diff b/pkgs/tools/misc/yubikey-manager-qt/remove-upload-import.diff deleted file mode 100644 index 3e22803a3b56..000000000000 --- a/pkgs/tools/misc/yubikey-manager-qt/remove-upload-import.diff +++ /dev/null @@ -1,16 +0,0 @@ ---- a/ykman-gui/py/yubikey.py 2025-01-08 19:42:20.058393985 +0100 -+++ b/ykman-gui/py/yubikey.py 2025-01-08 19:44:12.520364702 +0100 -@@ -50,12 +50,10 @@ - if int(ykman_v.split(".")[0] ) > 4: - from yubikit.support import get_name - from ykman.device import list_all_devices, scan_devices -- from ykman.otp import ( -- _PrepareUploadFailed as PrepareUploadFailed -- , _prepare_upload_key as prepare_upload_key, generate_static_pw) -+ from ykman.otp import generate_static_pw - else: - from ykman import connect_to_device, scan_devices, get_name - from ykman.otp import PrepareUploadFailed, prepare_upload_key, generate_static_pw - - from fido2.ctap2 import Ctap2, ClientPin - diff --git a/pkgs/tools/misc/yubikey-personalization-gui/default.nix b/pkgs/tools/misc/yubikey-personalization-gui/default.nix deleted file mode 100644 index 1698737f2000..000000000000 --- a/pkgs/tools/misc/yubikey-personalization-gui/default.nix +++ /dev/null @@ -1,62 +0,0 @@ -{ - stdenv, - lib, - fetchurl, - mkDerivation, - pkg-config, - qtbase, - qmake, - imagemagick, - libyubikey, - yubikey-personalization, -}: - -mkDerivation rec { - pname = "yubikey-personalization-gui"; - version = "3.1.25"; - - src = fetchurl { - url = "https://developers.yubico.com/yubikey-personalization-gui/Releases/yubikey-personalization-gui-${version}.tar.gz"; - sha256 = "1knyv5yss8lhzaff6jpfqv12fjf1b8b21mfxzx3qi0hw4nl8n2v8"; - }; - - nativeBuildInputs = [ - pkg-config - qmake - imagemagick - ]; - buildInputs = [ - yubikey-personalization - qtbase - libyubikey - ]; - - installPhase = '' - install -D -m0755 build/release/yubikey-personalization-gui "$out/bin/yubikey-personalization-gui" - install -D -m0644 resources/lin/yubikey-personalization-gui.1 "$out/share/man/man1/yubikey-personalization-gui.1" - - # Desktop files - install -D -m0644 resources/lin/yubikey-personalization-gui.desktop "$out/share/applications/yubikey-personalization-gui.desktop" - - # Icons - install -D -m0644 resources/lin/yubikey-personalization-gui.xpm "$out/share/pixmaps/yubikey-personalization-gui.xpm" - install -D -m0644 resources/lin/yubikey-personalization-gui.png "$out/share/icons/hicolor/128x128/apps/yubikey-personalization-gui.png" - for SIZE in 16 24 32 48 64 96; do - # set modify/create for reproducible builds - convert -scale ''${SIZE} +set date:create +set date:modify \ - resources/lin/yubikey-personalization-gui.png \ - yubikey-personalization-gui.png - - install -D -m0644 yubikey-personalization-gui.png "$out/share/icons/hicolor/''${SIZE}x''${SIZE}/apps/yubikey-personalization-gui.png" - done - ''; - - meta = with lib; { - broken = stdenv.hostPlatform.isDarwin; - homepage = "https://developers.yubico.com/yubikey-personalization-gui"; - description = "QT based cross-platform utility designed to facilitate reconfiguration of the Yubikey"; - license = licenses.bsd2; - platforms = platforms.unix; - mainProgram = "yubikey-personalization-gui"; - }; -} diff --git a/pkgs/tools/networking/bore-cli/default.nix b/pkgs/tools/networking/bore-cli/default.nix index 0c1d01f877b7..a6fa21bb39fb 100644 --- a/pkgs/tools/networking/bore-cli/default.nix +++ b/pkgs/tools/networking/bore-cli/default.nix @@ -6,17 +6,17 @@ rustPlatform.buildRustPackage rec { pname = "bore-cli"; - version = "0.5.3"; + version = "0.6.0"; src = fetchFromGitHub { owner = "ekzhang"; repo = "bore"; rev = "v${version}"; - hash = "sha256-jQeSwzlMJsZz80SAb/HN4Xyazd50VIxly8K7kSOcLPU="; + hash = "sha256-Jr6jZKsMhSpWVNpmhozI5DLONbwfIpcXwSlcbC9lLRM="; }; useFetchCargoVendor = true; - cargoHash = "sha256-uaSnH3pLpgASjauNWE94cpLxeAmVPqa/VUksR12hnGM="; + cargoHash = "sha256-CLnwzgDbHy6nTfVathycObArtEsF8tpMNoh19/uQqGA="; # tests do not find grcov path correctly meta = with lib; { diff --git a/pkgs/tools/networking/dd-agent/datadog-agent.nix b/pkgs/tools/networking/dd-agent/datadog-agent.nix index d2ccb30dbb5b..681e7ddfe8f0 100644 --- a/pkgs/tools/networking/dd-agent/datadog-agent.nix +++ b/pkgs/tools/networking/dd-agent/datadog-agent.nix @@ -135,7 +135,6 @@ buildGoModule rec { license = licenses.bsd3; maintainers = with maintainers; [ thoughtpolice - domenkozar ]; }; } diff --git a/pkgs/tools/networking/dd-agent/datadog-process-agent.nix b/pkgs/tools/networking/dd-agent/datadog-process-agent.nix index 86f3bc9d8663..9e43d2e7e04c 100644 --- a/pkgs/tools/networking/dd-agent/datadog-process-agent.nix +++ b/pkgs/tools/networking/dd-agent/datadog-process-agent.nix @@ -7,7 +7,7 @@ datadog-agent.overrideAttrs (attrs: { // { description = "Live process collector for the DataDog Agent v7"; mainProgram = "process-agent"; - maintainers = with maintainers; [ domenkozar ]; + maintainers = with maintainers; [ ]; }; subPackages = [ "cmd/process-agent" ]; postInstall = null; diff --git a/pkgs/tools/networking/flannel/default.nix b/pkgs/tools/networking/flannel/default.nix index 984e3688b81c..083a0e9cf831 100644 --- a/pkgs/tools/networking/flannel/default.nix +++ b/pkgs/tools/networking/flannel/default.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "flannel"; - version = "0.26.7"; + version = "0.27.0"; rev = "v${version}"; - vendorHash = "sha256-cD5NDK0jb1dKhNRiYTaU36TM3CdkwScZ24AtkaEja4k="; + vendorHash = "sha256-vwv7B3G9v9FNDS/RWTZwA5uqW2/GQLtUgylFsi0Dldo="; src = fetchFromGitHub { inherit rev; owner = "flannel-io"; repo = "flannel"; - sha256 = "sha256-RuahJrJaqguyXOr46KLw04To+TDjpVsLCJ0U/yz+1nI="; + sha256 = "sha256-GVbDmRXyZjWXHi9eHiQ28RDi1N//ro3AnKb0txvA8yA="; }; ldflags = [ "-X github.com/flannel-io/flannel/pkg/version.Version=${rev}" ]; diff --git a/pkgs/tools/networking/networkmanager/default.nix b/pkgs/tools/networking/networkmanager/default.nix index 7b82c0d87c7c..9513c66be3ad 100644 --- a/pkgs/tools/networking/networkmanager/default.nix +++ b/pkgs/tools/networking/networkmanager/default.nix @@ -239,7 +239,6 @@ stdenv.mkDerivation (finalAttrs: { license = licenses.gpl2Plus; changelog = "https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/raw/${version}/NEWS"; maintainers = with maintainers; [ - domenkozar obadz ]; teams = [ teams.freedesktop ]; diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 35866d4331fc..7d3c6fbfcc59 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -191,10 +191,12 @@ lib.makeExtensible ( inherit (self.nix_2_24.meta) maintainers teams; otherSplices = generateSplicesForNixComponents "nixComponents_2_29"; src = fetchFromGitHub { - owner = "NixOS"; + # FIXME: back to NixOS org once they fix it + owner = "vcunat"; repo = "nix"; - rev = version; - hash = "sha256-fkbE3RCIUPFjS9A6SoEJbgMW3Rs98cs0ZZV/eTtJjaU="; + rev = "p/jq-1.8.0"; # just a tiny test-only patch atop 2.29.0 + # see https://github.com/NixOS/nix/pull/13371 + hash = "sha256-F2ZODsET4cBsgsyOi8Sg/quESU0DnrYri0hYniqu37k="; }; }; diff --git a/pkgs/tools/package-management/nix/modular/src/libexpr/package.nix b/pkgs/tools/package-management/nix/modular/src/libexpr/package.nix index 5ff60bbf9c1b..d4cc448a07f5 100644 --- a/pkgs/tools/package-management/nix/modular/src/libexpr/package.nix +++ b/pkgs/tools/package-management/nix/modular/src/libexpr/package.nix @@ -63,13 +63,6 @@ mkMesonLibrary (finalAttrs: { (lib.mesonEnable "gc" enableGC) ]; - env = { - # Needed for Meson to find Boost. - # https://github.com/NixOS/nixpkgs/issues/86131. - BOOST_INCLUDEDIR = "${lib.getDev boost}/include"; - BOOST_LIBRARYDIR = "${lib.getLib boost}/lib"; - }; - meta = { platforms = lib.platforms.unix ++ lib.platforms.windows; }; diff --git a/pkgs/tools/package-management/nix/modular/src/libstore/package.nix b/pkgs/tools/package-management/nix/modular/src/libstore/package.nix index e005000a737b..e08658a32761 100644 --- a/pkgs/tools/package-management/nix/modular/src/libstore/package.nix +++ b/pkgs/tools/package-management/nix/modular/src/libstore/package.nix @@ -56,13 +56,6 @@ mkMesonLibrary (finalAttrs: { (lib.mesonOption "sandbox-shell" "${busybox-sandbox-shell}/bin/busybox") ]; - env = lib.optionalAttrs (!lib.versionAtLeast version "2.27") { - # Needed for Meson to find Boost. - # https://github.com/NixOS/nixpkgs/issues/86131. - BOOST_INCLUDEDIR = "${lib.getDev boost}/include"; - BOOST_LIBRARYDIR = "${lib.getLib boost}/lib"; - }; - meta = { platforms = lib.platforms.unix ++ lib.platforms.windows; }; diff --git a/pkgs/tools/package-management/nix/modular/src/libutil/package.nix b/pkgs/tools/package-management/nix/modular/src/libutil/package.nix index 3e96aa0660c8..5b1723b8ac2d 100644 --- a/pkgs/tools/package-management/nix/modular/src/libutil/package.nix +++ b/pkgs/tools/package-management/nix/modular/src/libutil/package.nix @@ -46,13 +46,6 @@ mkMesonLibrary (finalAttrs: { (lib.mesonEnable "cpuid" stdenv.hostPlatform.isx86_64) ]; - env = lib.optionalAttrs (!lib.versionAtLeast version "2.27") { - # Needed for Meson to find Boost. - # https://github.com/NixOS/nixpkgs/issues/86131. - BOOST_INCLUDEDIR = "${lib.getDev boost}/include"; - BOOST_LIBRARYDIR = "${lib.getLib boost}/lib"; - }; - meta = { platforms = lib.platforms.unix ++ lib.platforms.windows; }; diff --git a/pkgs/tools/security/fwknop/default.nix b/pkgs/tools/security/fwknop/default.nix index daa7e274712c..86439c245e78 100644 --- a/pkgs/tools/security/fwknop/default.nix +++ b/pkgs/tools/security/fwknop/default.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchFromGitHub, - fetchpatch, autoreconfHook, libpcap, texinfo, @@ -18,34 +17,17 @@ stdenv.mkDerivation rec { pname = "fwknop"; - version = "2.6.10"; + version = "2.6.11"; src = fetchFromGitHub { owner = "mrash"; - repo = pname; - rev = version; - sha256 = "05kvqhmxj9p2y835w75f3jvhr38bb96cd58mvfd7xil9dhmhn9ra"; + repo = "fwknop"; + tag = version; + hash = "sha256-jnEBRJCt7pAmXRIBVT2OwJqT5Zr/JaRgPDqccx0W/9o="; }; - patches = [ - # Pull patch pending upstream inclusion for -fno-common tollchains: - # https://github.com/mrash/fwknop/pull/319 - (fetchpatch { - name = "fno-common.patch"; - url = "https://github.com/mrash/fwknop/commit/a8214fd58bc46d23b64b3a55db023c7f5a5ea6af.patch"; - sha256 = "0cp1350q66n455hpd3rdydb9anx66bcirza5gyyyy5232zgg58bi"; - }) - - # Pull patch pending upstream inclusion for `autoconf-2.72` support: - # https://github.com/mrash/fwknop/pull/357 - (fetchpatch { - name = "autoconf-2.72.patch"; - url = "https://github.com/mrash/fwknop/commit/bee7958532338499e35c19e75937891c8113f7de.patch"; - hash = "sha256-lrro5dSDR0Zz9aO3bV5vFFADNJjoDR9z6P5lFYWyLW8="; - }) - ]; - nativeBuildInputs = [ autoreconfHook ]; + buildInputs = [ libpcap @@ -76,10 +58,10 @@ stdenv.mkDerivation rec { # this'll probably be helpful until there's a NixOS module for that (feel free # to ping me (@primeos) if you want to help). preInstall = '' - substituteInPlace Makefile --replace\ + substituteInPlace Makefile --replace-fail \ "sysconfdir = /etc"\ "sysconfdir = $out/etc" - substituteInPlace server/Makefile --replace\ + substituteInPlace server/Makefile --replace-fail \ "wknopddir = /etc/fwknop"\ "wknopddir = $out/etc/fwknop" ''; diff --git a/pkgs/tools/security/ghidra/extensions/kaiju/default.nix b/pkgs/tools/security/ghidra/extensions/kaiju/default.nix index 4987ec30c898..cc565aea0cd8 100644 --- a/pkgs/tools/security/ghidra/extensions/kaiju/default.nix +++ b/pkgs/tools/security/ghidra/extensions/kaiju/default.nix @@ -26,13 +26,13 @@ let self = buildGhidraExtension rec { pname = "kaiju"; - version = "250417"; + version = "250610"; src = fetchFromGitHub { owner = "CERTCC"; repo = "kaiju"; rev = version; - hash = "sha256-SSvCb3xnOh0mb3H24RJTi11UmN2ARgFgsiiKlZXyufM="; + hash = "sha256-qqUnWakQDOBw3sI/6iWD9140iRAsM5PUEQJSV/3/8FQ="; }; buildInputs = [ @@ -43,9 +43,9 @@ let # https://github.com/CERTCC/kaiju/blob/c9dbb55484b3d2a6abd9dfca2197cd00fb7ee3c1/build.gradle#L189 preBuild = '' mkdir -p build/cmake/z3/java-bindings - ln -s ${lib.getOutput "lib" z3_lib}/lib/com.microsoft.z3.jar build/cmake/z3/java-bindings + ln -s ${lib.getOutput "java" z3_lib}/share/java/com.microsoft.z3.jar build/cmake/z3/java-bindings mkdir -p os/${ghidraPlatformName} - cp ${lib.getOutput "lib" z3_lib}/lib/* os/${ghidraPlatformName} + cp ${lib.getOutput "java" z3_lib}/lib/* os/${ghidraPlatformName} ''; gradleFlags = [ "-PKAIJU_SKIP_Z3_BUILD=true" ]; diff --git a/pkgs/tools/security/gotrue/supabase.nix b/pkgs/tools/security/gotrue/supabase.nix index 3174181526aa..9de4dc3e5d28 100644 --- a/pkgs/tools/security/gotrue/supabase.nix +++ b/pkgs/tools/security/gotrue/supabase.nix @@ -8,13 +8,13 @@ buildGoModule rec { pname = "auth"; - version = "2.174.0"; + version = "2.176.1"; src = fetchFromGitHub { owner = "supabase"; repo = "auth"; rev = "v${version}"; - hash = "sha256-NgZt3XAUmbP+kJK4tkyRDQXuGYkW+fnH5zoWYvQ+Fl4="; + hash = "sha256-YXr5eGyX3cPk0GaV9XsvlIrroCOPIlWEyA1wvwdtT+k="; }; vendorHash = "sha256-AU14lvEQQx9JCb1awSo+h63QY0k2v7QibYP8kidfJ8A="; diff --git a/pkgs/tools/security/trufflehog/default.nix b/pkgs/tools/security/trufflehog/default.nix index fac30b6f1cc6..48ae41eb8ed2 100644 --- a/pkgs/tools/security/trufflehog/default.nix +++ b/pkgs/tools/security/trufflehog/default.nix @@ -8,16 +8,16 @@ buildGoModule rec { pname = "trufflehog"; - version = "3.88.35"; + version = "3.89.1"; src = fetchFromGitHub { owner = "trufflesecurity"; repo = "trufflehog"; tag = "v${version}"; - hash = "sha256-x83lA3VWrs3PfGjprqTqt12JtSs2wgqThNNVGviLddI="; + hash = "sha256-mzApiAWPLq2Q69NNLj1/FNuktYjIGHt9iWO9OlercjM="; }; - vendorHash = "sha256-i7yS/+HQa8gOWhkWzyop3IObOwkjpzmzyqBlp9dSV3Y="; + vendorHash = "sha256-Zum9Clc7yL81QT6dA6sjLV2HmB5Why76fmooSSAo63Y="; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/tools/system/collectd/default.nix b/pkgs/tools/system/collectd/default.nix index 90645a045a49..bfa1f33c3314 100644 --- a/pkgs/tools/system/collectd/default.nix +++ b/pkgs/tools/system/collectd/default.nix @@ -1,33 +1,40 @@ { lib, stdenv, - fetchurl, + fetchFromGitHub, fetchpatch, callPackage, autoreconfHook, pkg-config, libtool, + bison, + flex, + perl, nixosTests, ... }@args: let plugins = callPackage ./plugins.nix args; in -stdenv.mkDerivation rec { - version = "5.12.0"; +stdenv.mkDerivation (finalAttrs: { pname = "collectd"; + version = "5.12.0"; - src = fetchurl { - url = "https://collectd.org/files/${pname}-${version}.tar.bz2"; - sha256 = "1mh97afgq6qgmpvpr84zngh58m0sl1b4wimqgvvk376188q09bjv"; + src = fetchFromGitHub { + owner = "collectd"; + repo = "collectd"; + tag = "collectd-${finalAttrs.version}"; + hash = "sha256-UTlCY1GPRpbdQFLFUDjNr1PgEdGv4WNtjr8TYbxHK5A="; }; + # All of these are going to be included in the next release patches = [ # fix -t never printing syntax errors # should be included in next release (fetchpatch { + name = "fix-broken-dash-t-option.patch"; url = "https://github.com/collectd/collectd/commit/3f575419e7ccb37a3b10ecc82adb2e83ff2826e1.patch"; - sha256 = "0jwjdlfl0dp7mlbwygp6h0rsbaqfbgfm5z07lr5l26z6hhng2h2y"; + hash = "sha256-XkDxLITmG0FLpgf8Ut1bDqulM4DmPs8Xrec2QB1tkks="; }) (fetchpatch { name = "no_include_longintrepr.patch"; @@ -39,7 +46,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config autoreconfHook + bison + flex + perl # for pod2man ]; + buildInputs = [ libtool ] ++ plugins.buildInputs; @@ -52,9 +63,12 @@ stdenv.mkDerivation rec { ++ plugins.configureFlags ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "--with-fp-layout=nothing" ]; + # Used in `src/virt.c` + env.NIX_CFLAGS_COMPILE = "-DATTRIBUTE_UNUSED=__attribute__((unused))"; + # do not create directories in /var during installPhase postConfigure = '' - substituteInPlace Makefile --replace '$(mkinstalldirs) $(DESTDIR)$(localstatedir)/' '#' + substituteInPlace Makefile --replace-fail '$(mkinstalldirs) $(DESTDIR)$(localstatedir)/' '#' ''; postInstall = '' @@ -69,11 +83,11 @@ stdenv.mkDerivation rec { inherit (nixosTests) collectd; }; - meta = with lib; { + meta = { description = "Daemon which collects system performance statistics periodically"; homepage = "https://collectd.org"; - license = licenses.gpl2Plus; - platforms = platforms.unix; - maintainers = with maintainers; [ bjornfor ]; + license = lib.licenses.gpl2Plus; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ bjornfor ]; }; -} +}) diff --git a/pkgs/tools/system/minijail/default.nix b/pkgs/tools/system/minijail/default.nix index a9d037705515..136f62758439 100644 --- a/pkgs/tools/system/minijail/default.nix +++ b/pkgs/tools/system/minijail/default.nix @@ -3,6 +3,7 @@ lib, fetchFromGitiles, libcap, + installShellFiles, }: stdenv.mkDerivation rec { @@ -17,6 +18,8 @@ stdenv.mkDerivation rec { buildInputs = [ libcap ]; + nativeBuildInputs = [ installShellFiles ]; + makeFlags = [ "ECHO=echo" "LIBDIR=$(out)/lib" @@ -40,6 +43,8 @@ stdenv.mkDerivation rec { cp -v *.pc $out/lib/pkgconfig cp -v libminijail.h scoped_minijail.h $out/include/chromeos cp -v minijail0 $out/bin + + installManPage minijail0.1 minijail0.5 ''; enableParallelBuilding = true; diff --git a/pkgs/tools/system/netdata/default.nix b/pkgs/tools/system/netdata/default.nix index 127f52d8669c..165b273e8b73 100644 --- a/pkgs/tools/system/netdata/default.nix +++ b/pkgs/tools/system/netdata/default.nix @@ -57,14 +57,14 @@ withML ? true, }: stdenv.mkDerivation (finalAttrs: { - version = "2.5.2"; + version = "2.5.3"; pname = "netdata"; src = fetchFromGitHub { owner = "netdata"; repo = "netdata"; rev = "v${finalAttrs.version}"; - hash = "sha256-QsExU7/fdDHekNa+7WnWGiAKAsR1mqyJU34OXA1vB7c="; + hash = "sha256-OdH6cQ2dYvbeLh9ljaqmdr02VN2qbvNUXbPNCEkNzxc="; fetchSubmodules = true; }; diff --git a/pkgs/tools/system/nvtop/build-nvtop.nix b/pkgs/tools/system/nvtop/build-nvtop.nix index 7caac445a33d..bad6e4e5d72f 100644 --- a/pkgs/tools/system/nvtop/build-nvtop.nix +++ b/pkgs/tools/system/nvtop/build-nvtop.nix @@ -111,7 +111,6 @@ stdenv.mkDerivation (finalAttrs: { license = licenses.gpl3Only; platforms = if apple then platforms.darwin else platforms.linux; maintainers = with maintainers; [ - willibutz gbtb anthonyroussel moni diff --git a/pkgs/tools/system/uefitool/new-engine.nix b/pkgs/tools/system/uefitool/new-engine.nix index c177c23078d3..a365943b5568 100644 --- a/pkgs/tools/system/uefitool/new-engine.nix +++ b/pkgs/tools/system/uefitool/new-engine.nix @@ -10,10 +10,10 @@ stdenv.mkDerivation (finalAttrs: { pname = "uefitool"; - version = "A71"; + version = "A72"; src = fetchFromGitHub { - hash = "sha256-NRlrKm5+eED6oyvFRSEhn0EUbMsPJtuFAyv3vgY/IUI="; + hash = "sha256-sVosxqUUvkZwJIY9FZ9N6xoDyBpSgTLFUmD4B9ymTHs="; owner = "LongSoft"; repo = "uefitool"; tag = finalAttrs.version; diff --git a/pkgs/tools/text/diffutils/default.nix b/pkgs/tools/text/diffutils/default.nix index 2d2d34b698b5..3f7429eb749b 100644 --- a/pkgs/tools/text/diffutils/default.nix +++ b/pkgs/tools/text/diffutils/default.nix @@ -44,6 +44,10 @@ stdenv.mkDerivation rec { sed -i -E 's:[[:space:]]test-sigsegv-catch-stackoverflow[12]\$\(EXEEXT\)::g' gnulib-tests/Makefile.in sed -i -E 's:[[:space:]]test-sigaction\$\(EXEEXT\)::g' gnulib-tests/Makefile.in '' + else if stdenv.hostPlatform.isFreeBSD then + '' + sed -i -E 's:test-time::g' gnulib-tests/Makefile.in + '' else null; diff --git a/pkgs/tools/text/gnupatch/default.nix b/pkgs/tools/text/gnupatch/default.nix index 7d6d5b82e7a6..e370b1cb11f8 100644 --- a/pkgs/tools/text/gnupatch/default.nix +++ b/pkgs/tools/text/gnupatch/default.nix @@ -3,6 +3,7 @@ stdenv, fetchurl, ed, + autoreconfHook, }: stdenv.mkDerivation rec { @@ -14,6 +15,13 @@ stdenv.mkDerivation rec { hash = "sha256-+Hzuae7CtPy/YKOWsDCtaqNBXxkqpffuhMrV4R9/WuM="; }; + # This test is filesystem-dependent - observed failing on ZFS + postPatch = lib.optionalString stdenv.hostPlatform.isFreeBSD '' + sed -E -i -e '/bad-filenames/d' tests/Makefile.am + ''; + + nativeBuildInputs = [ autoreconfHook ]; + configureFlags = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "ac_cv_func_strnlen_working=yes" ]; diff --git a/pkgs/tools/text/highlight/default.nix b/pkgs/tools/text/highlight/default.nix index 6ef03ad24d95..12606328e441 100644 --- a/pkgs/tools/text/highlight/default.nix +++ b/pkgs/tools/text/highlight/default.nix @@ -15,13 +15,13 @@ let self = stdenv.mkDerivation rec { pname = "highlight"; - version = "4.15"; + version = "4.16"; src = fetchFromGitLab { owner = "saalen"; repo = "highlight"; rev = "v${version}"; - hash = "sha256-CpbVm5Z9cKPQdOzBNOXsgrX3rfC6DTVE7xfmOAshbEs="; + hash = "sha256-SAOlW2IaYY2GzQ+1FClqm62pcxdtf1cow2R4MRS/2Vg="; }; enableParallelBuilding = true; @@ -76,7 +76,7 @@ let mainProgram = "highlight"; homepage = "http://www.andre-simon.de/doku/highlight/en/highlight.php"; platforms = platforms.unix; - maintainers = with maintainers; [ willibutz ]; + maintainers = [ ]; }; }; diff --git a/pkgs/tools/text/reckon/Gemfile.lock b/pkgs/tools/text/reckon/Gemfile.lock index 7409a4bae84f..4242ab5536c8 100644 --- a/pkgs/tools/text/reckon/Gemfile.lock +++ b/pkgs/tools/text/reckon/Gemfile.lock @@ -1,15 +1,19 @@ GEM remote: https://rubygems.org/ specs: + abbrev (0.1.2) chronic (0.10.2) + csv (3.3.5) highline (2.1.0) matrix (0.4.2) rchardet (1.8.0) - reckon (0.9.2) + reckon (0.11.1) + abbrev (> 0.1) chronic (>= 0.3.0) - highline (>= 1.5.2) + csv (> 0.1) + highline (~> 2.0) matrix (>= 0.4.2) - rchardet (>= 1.8.0) + rchardet (= 1.8.0) PLATFORMS ruby @@ -18,4 +22,4 @@ DEPENDENCIES reckon BUNDLED WITH - 2.4.13 + 2.6.6 diff --git a/pkgs/tools/text/reckon/default.nix b/pkgs/tools/text/reckon/default.nix index 7efdfe91cf64..a1dc52c8fe8a 100644 --- a/pkgs/tools/text/reckon/default.nix +++ b/pkgs/tools/text/reckon/default.nix @@ -5,6 +5,8 @@ bundlerUpdateScript, makeWrapper, file, + testers, + reckon, }: stdenv.mkDerivation rec { @@ -31,7 +33,13 @@ stdenv.mkDerivation rec { runHook postInstall ''; - passthru.updateScript = bundlerUpdateScript "reckon"; + passthru = { + tests.version = testers.testVersion { + package = reckon; + version = "${version}"; + }; + updateScript = bundlerUpdateScript "reckon"; + }; meta = with lib; { description = "Flexibly import bank account CSV files into Ledger for command line accounting"; diff --git a/pkgs/tools/text/reckon/gemset.nix b/pkgs/tools/text/reckon/gemset.nix index d8903b9adf4e..1aae5dd9be0e 100644 --- a/pkgs/tools/text/reckon/gemset.nix +++ b/pkgs/tools/text/reckon/gemset.nix @@ -1,4 +1,14 @@ { + abbrev = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0hj2qyx7rzpc7awhvqlm597x7qdxwi4kkml4aqnp5jylmsm4w6xd"; + type = "gem"; + }; + version = "0.1.2"; + }; chronic = { groups = [ "default" ]; platforms = [ ]; @@ -9,6 +19,16 @@ }; version = "0.10.2"; }; + csv = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0gz7r2kazwwwyrwi95hbnhy54kwkfac5swh2gy5p5vw36fn38lbf"; + type = "gem"; + }; + version = "3.3.5"; + }; highline = { groups = [ "default" ]; platforms = [ ]; @@ -41,7 +61,9 @@ }; reckon = { dependencies = [ + "abbrev" "chronic" + "csv" "highline" "matrix" "rchardet" @@ -50,9 +72,9 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0188k41lvz5vnn03qw1hbi6c2i88n5p3183rb0xz9rfjcngh2ly3"; + sha256 = "1y4iqjmgzj9nrp22pmayia54mpb4d6ga85q9xzqir7mhcd2bdca1"; type = "gem"; }; - version = "0.9.2"; + version = "0.11.1"; }; } diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 1d9d50ade96b..b48c0a419d13 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -344,7 +344,9 @@ mapAliases { betterbird-unwrapped = throw "betterbird has been removed as there were insufficient maintainer resources to keep up with security updates"; # Added 2024-10-25 bibata-extra-cursors = throw "bibata-cursors has been removed as it was broken"; # Added 2024-07-15 bitbucket-server-cli = throw "bitbucket-server-cli has been removed due to lack of maintenance upstream."; # Added 2025-05-27 + bitcoin-abc = throw "bitcoin-abc has been removed due to a lack of maintanance"; # Added 2026-06-17 bitcoin-unlimited = throw "bitcoin-unlimited has been removed as it was broken and unmaintained"; # Added 2024-07-15 + bitcoind-abc = throw "bitcoind-abc has been removed due to a lack of maintanance"; # Added 2026-06-17 bitcoind-unlimited = throw "bitcoind-unlimited has been removed as it was broken and unmaintained"; # Added 2024-07-15 bird = throw "The bird alias was ambiguous and has been removed for the time being. Please explicitly choose bird2 or bird3."; # Added 2025-01-11 bisq-desktop = throw "bisq-desktop has been removed because OpenJFX 11 was removed"; # Added 2024-11-17 @@ -439,7 +441,6 @@ mapAliases { citra = throw "citra has been removed from nixpkgs, as it has been taken down upstream"; # added 2024-03-04 citra-nightly = throw "citra-nightly has been removed from nixpkgs, as it has been taken down upstream"; # added 2024-03-04 citra-canary = throw "citra-canary has been removed from nixpkgs, as it has been taken down upstream"; # added 2024-03-04 - clean = throw "'clean' has been removed from nixpkgs, as it is unmaintained and broken"; # Added 2025-05-18 cloog = throw "cloog has been removed from Nixpkgs, as it is unmaintained and obsolete"; # Added 2024-09-13 cloog_0_18_0 = throw "cloog_0_18_0 has been removed from Nixpkgs, as it is unmaintained and obsolete"; # Added 2024-09-13 cloogppl = throw "cloogppl has been removed from Nixpkgs, as it is unmaintained and obsolete"; # Added 2024-09-13 @@ -453,6 +454,7 @@ mapAliases { CoinMP = coinmp; # Added 2024-06-12 collada-dom = opencollada; # added 2024-02-21 colorpicker = throw "'colorpicker' has been removed due to lack of maintenance upstream. Consider using 'xcolor', 'gcolor3', 'eyedropper' or 'gpick' instead"; # Added 2024-10-19 + colorstorm = throw "'colorstorm' has been removed because it was unmaintained in nixpkgs and upstream was rewritten."; # Added 2025-06-15 connman-ncurses = throw "'connman-ncurses' has been removed due to lack of maintenance upstream."; # Added 2025-05-27 cordless = throw "'cordless' has been removed due to being archived upstream. Consider using 'discordo' instead."; # Added 2025-06-07 coriander = throw "'coriander' has been removed because it depends on GNOME 2 libraries"; # Added 2024-06-27 @@ -460,6 +462,7 @@ mapAliases { cosmic-tasks = tasks; # Added 2024-07-04 cpp-ipfs-api = cpp-ipfs-http-client; # Project has been renamed. Added 2022-05-15 crispyDoom = crispy-doom; # Added 2023-05-01 + cromite = throw "'cromite' has been removed from nixpkgs due to it not being maintained"; # Added 2025-06-12 crossLibcStdenv = stdenvNoLibc; # Added 2024-09-06 crystal_1_2 = throw "'crystal_1_2' has been removed as it is obsolete and no longer used in the tree. Consider using 'crystal' instead"; # Added 2025-02-13 crystal_1_7 = throw "'crystal_1_7' has been removed as it is obsolete and no longer used in the tree. Consider using 'crystal' instead"; # Added 2025-02-13 @@ -536,6 +539,7 @@ mapAliases { demjson = with python3Packages; toPythonApplication demjson; # Added 2022-01-18 devdash = throw "'devdash' has been removed as the upstream project was archived"; # Added 2025-03-27 + devdocs-desktop = throw "'devdocs-desktop' has been removed as it is unmaintained upstream and vendors insecure dependencies"; # Added 2025-06-11 dfilemanager = throw "'dfilemanager' has been dropped as it was unmaintained"; # Added 2025-06-03 dgsh = throw "'dgsh' has been removed, as it was broken and unmaintained"; # added 2024-05-09 dibbler = throw "dibbler was removed because it is not maintained anymore"; # Added 2024-05-14 @@ -551,6 +555,8 @@ mapAliases { dnscrypt-wrapper = throw "dnscrypt-wrapper was removed because it has been effectively unmaintained since 2018. Use DNSCcrypt support in dnsdist instead"; # Added 2024-09-14 docear = throw "Docear was removed because it was unmaintained upstream. JabRef, Zotero, or Mendeley are potential replacements."; # Added 2024-11-02 docker_24 = throw "'docker_24' has been removed because it has been unmaintained since June 2024. Use docker_25 or newer instead."; # Added 2024-12-21 + docker_26 = throw "'docker_26' has been removed because it has been unmaintained since February 2025. Use docker_28 or newer instead."; # Added 2025-06-21 + docker_27 = throw "'docker_27' has been removed because it has been unmaintained since May 2025. Use docker_28 or newer instead."; # Added 2025-06-15 docker-compose_1 = throw "'docker-compose_1' has been removed because it has been unmaintained since May 2021. Use docker-compose instead."; # Added 2024-07-29 docker-distribution = distribution; # Added 2023-12-26 dolphin-emu-beta = dolphin-emu; # Added 2023-02-11 @@ -589,9 +595,11 @@ mapAliases { eidolon = throw "eidolon was removed as it is unmaintained upstream."; # Added 2025-05-28 eintopf = lauti; # Project was renamed, added 2025-05-01 elasticsearch7Plugins = elasticsearchPlugins; + electron-cash = throw "'electron-cash' has been removed due to lack of maintenance."; # Added 2025-06-17 electronplayer = throw "'electronplayer' has been removed as it had been discontinued upstream since October 2024"; # Added 2024-12-17 element-desktop-wayland = throw "element-desktop-wayland has been removed. Consider setting NIXOS_OZONE_WL=1 via 'environment.sessionVariables' instead"; # Added 2024-12-17 + elementsd-simplicity = throw "'elementsd-simplicity' has been removed due to lack of maintenance, consider using 'elementsd' instead"; # Added 2025-06-04 elixir_ls = elixir-ls; # Added 2023-03-20 @@ -667,6 +675,9 @@ mapAliases { finger_bsd = bsd-finger; fingerd_bsd = bsd-fingerd; fira-code-nerdfont = lib.warnOnInstantiate "fira-code-nerdfont is redundant. Use nerd-fonts.fira-code instead." nerd-fonts.fira-code; # Added 2024-11-10 + firebird_2_5 = throw "'firebird_2_5' has been removed as it has reached end-of-life and does not build."; # Added 2025-06-10 + firefox-beta-bin = lib.warnOnInstantiate "`firefox-beta-bin` is removed. Please use `firefox-beta` or `firefox-bin` instead." firefox-beta; + firefox-devedition-bin = lib.warnOnInstantiate "`firefox-devedition-bin` is removed. Please use `firefox-devedition` or `firefox-bin` instead." firefox-devedition; firefox-esr-115 = throw "The Firefox 115 ESR series has reached its end of life. Upgrade to `firefox-esr` or `firefox-esr-128` instead."; firefox-esr-115-unwrapped = throw "The Firefox 115 ESR series has reached its end of life. Upgrade to `firefox-esr-unwrapped` or `firefox-esr-128-unwrapped` instead."; firefox-wayland = firefox; # Added 2022-11-15 @@ -682,6 +693,7 @@ mapAliases { flutter319 = throw "flutter319 has been removed because it isn't updated anymore, and no packages in nixpkgs use it. If you still need it, use flutter.mkFlutter to get a custom version"; # Added 2024-12-03 flutter322 = throw "flutter322 has been removed because it isn't updated anymore, and no packages in nixpkgs use it. If you still need it, use flutter.mkFlutter to get a custom version"; # Added 2024-10-05 flutter323 = throw "flutter323 has been removed because it isn't updated anymore, and no packages in nixpkgs use it. If you still need it, use flutter.mkFlutter to get a custom version"; # Added 2024-10-05 + flutter326 = throw "flutter326 has been removed because it isn't updated anymore, and no packages in nixpkgs use it. If you still need it, use flutter.mkFlutter to get a custom version"; # Added 2025-06-08 fluxctl = throw "fluxctl is unmaintained and has been removed. Migration to flux2 is recommended"; # Added 2025-05-11 fluxus = throw "fluxus has been removed because it hasn't been updated in 9 years and depended on insecure Racket 7.9"; # Added 2024-12-06 fmt_8 = throw "fmt_8 has been removed as it is obsolete and was no longer used in the tree"; # Added 2024-11-12 @@ -694,6 +706,8 @@ mapAliases { fractal-next = fractal; # added 2023-11-25 framework-system-tools = framework-tool; # added 2023-12-09 francis = kdePackages.francis; # added 2024-07-13 + freecad-qt6 = freecad; # added 2025-06-14 + freecad-wayland = freecad; # added 2025-06-14 freerdp3 = freerdp; # added 2025-03-25 freerdpUnstable = freerdp; # added 2025-03-25 frostwire = throw "frostwire was removed, as it was broken due to reproducibility issues, use `frostwire-bin` package instead."; # added 2024-05-17 @@ -820,9 +834,9 @@ mapAliases { gnome3 = throw "'gnome3' has been renamed to/replaced by 'gnome'"; # Converted to throw 2024-10-17 gnufdisk = throw "'gnufdisk' has been removed due to lack of maintenance upstream"; # Added 2024-12-31 - gnuradio3_9 = throw "gnuradio3_9 has been removed because it is not compatible with the latest volk and it had no dependent packages which justified it's distribution"; # Added 2024-07-28 - gnuradio3_9Minimal = throw "gnuradio3_9Minimal has been removed because it is not compatible with the latest volk and it had no dependent packages which justified it's distribution"; # Added 2024-07-28 - gnuradio3_9Packages = throw "gnuradio3_9Minimal has been removed because it is not compatible with the latest volk and it had no dependent packages which justified it's distribution"; # Added 2024-07-28 + gnuradio3_9 = throw "gnuradio3_9 has been removed because it is not compatible with the latest volk and it had no dependent packages which justified its distribution"; # Added 2024-07-28 + gnuradio3_9Minimal = throw "gnuradio3_9Minimal has been removed because it is not compatible with the latest volk and it had no dependent packages which justified its distribution"; # Added 2024-07-28 + gnuradio3_9Packages = throw "gnuradio3_9Minimal has been removed because it is not compatible with the latest volk and it had no dependent packages which justified its distribution"; # Added 2024-07-28 gnuradio3_8 = throw "gnuradio3_8 has been removed because it was too old and incompatible with a not EOL swig"; # Added 2024-11-18 gnuradio3_8Minimal = throw "gnuradio3_8Minimal has been removed because it was too old and incompatible with a not EOL swig"; # Added 2024-11-18 gnuradio3_8Packages = throw "gnuradio3_8Minimal has been removed because it was too old and incompatible with a not EOL swig"; # Added 2024-11-18 @@ -867,6 +881,7 @@ mapAliases { gtk-engine-bluecurve = "'gtk-engine-bluecurve' has been removed as it has been archived upstream."; # Added 2024-12-04 gtk2fontsel = throw "'gtk2fontsel' has been removed due to lack of maintenance upstream. GTK now has a built-in font chooser so it's no longer needed for newer apps"; # Added 2024-10-19 gtkcord4 = dissent; # Added 2024-03-10 + gtkextra = throw "'gtkextra' has been removed due to lack of maintenance upstream."; # Added 2025-06-10 gtkperf = throw "'gtkperf' has been removed due to lack of maintenance upstream"; # Added 2024-09-14 guardian-agent = throw "'guardian-agent' has been removed, as it hasn't been maintained upstream in years and accumulated many vulnerabilities"; # Added 2024-06-09 guile-disarchive = disarchive; # Added 2023-10-27 @@ -911,6 +926,7 @@ mapAliases { input-utils = throw "The input-utils package was dropped since it was unmaintained."; # Added 2024-06-21 index-fm = libsForQt5.mauiPackages.index; # added 2022-05-17 inotifyTools = inotify-tools; + insync-emblem-icons = throw "'insync-emblem-icons' has been removed, use 'insync-nautilus' instead"; # Added 2025-05-14 inter-ui = throw "'inter-ui' has been renamed to/replaced by 'inter'"; # Converted to throw 2024-10-17 ipfs = kubo; # Added 2022-09-27 ipfs-migrator-all-fs-repo-migrations = kubo-fs-repo-migrations; # Added 2022-09-27 @@ -930,12 +946,14 @@ mapAliases { ### J ### jack2Full = throw "'jack2Full' has been renamed to/replaced by 'jack2'"; # Converted to throw 2024-10-17 + jack_rack = throw "'jack_rack' has been removed due to lack of maintenance upstream."; # Added 2025-06-10 jami-client-qt = jami-client; # Added 2022-11-06 jami-client = jami; # Added 2023-02-10 jami-daemon = jami.daemon; # Added 2023-02-10 javacard-devkit = throw "javacard-devkit was dropped due to having a dependency on the Oracle JDK, as well as being several years out-of-date."; # Added 2024-11-01 jd-cli = throw "jd-cli has been removed due to upstream being unmaintained since 2019. Other Java decompilers in Nixpkgs include bytecode-viewer (GUI), cfr (CLI), and procyon (CLI)."; # Added 2024-10-30 jd-gui = throw "jd-gui has been removed due to a dependency on the dead JCenter Bintray. Other Java decompilers in Nixpkgs include bytecode-viewer (GUI), cfr (CLI), and procyon (CLI)."; # Added 2024-10-30 + jikespg = throw "'jikespg' has been removed due to lack of maintenance upstream."; # Added 2025-06-10 jsawk = throw "'jsawk' has been removed because it is unmaintained upstream"; # Added 2028-08-07 # Julia @@ -950,11 +968,13 @@ mapAliases { k3s_1_28 = throw "'k3s_1_28' has been removed from nixpkgs as it has reached end of life"; # Added 2024-12-15 k3s_1_29 = throw "'k3s_1_29' has been removed from nixpkgs as it has reached end of life"; # Added 2025-05-05 # k3d was a 3d editing software k-3d - "k3d has been removed because it was broken and has seen no release since 2016" Added 2022-01-04 - # now kube3d/k3d will take it's place + # now kube3d/k3d will take its place kube3d = k3d; # Added 2022-0705 kafkacat = throw "'kafkacat' has been renamed to/replaced by 'kcat'"; # Converted to throw 2024-10-17 kak-lsp = kakoune-lsp; # Added 2024-04-01 kanidm_1_3 = throw "'kanidm_1_3' has been removed as it has reached end of life"; # Added 2025-03-10 + kanidm_1_4 = throw "'kanidm_1_4' has been removed as it has reached end of life"; # Added 2025-06-18 + kanidmWithSecretProvisioning_1_4 = throw "'kanidmWithSecretProvisioning_1_4' has been removed as it has reached end of life"; # Added 2025-06-18 kdbplus = throw "'kdbplus' has been removed from nixpkgs"; # Added 2024-05-06 kdeconnect = throw "'kdeconnect' has been renamed to/replaced by 'plasma5Packages.kdeconnect-kde'"; # Converted to throw 2024-10-17 keepkey_agent = keepkey-agent; # added 2024-01-06 @@ -990,8 +1010,10 @@ mapAliases { lazarus-qt = lazarus-qt5; # Added 2024-12-25 leafpad = throw "'leafpad' has been removed due to lack of maintenance upstream. Consider using 'xfce.mousepad' instead"; # Added 2024-10-19 ledger_agent = ledger-agent; # Added 2024-01-07 + lesstif = throw "'lesstif' has been removed due to its being broken and unmaintained upstream. Consider using 'motif' instead."; # Added 2024-06-09 lfs = dysk; # Added 2023-07-03 libAfterImage = throw "'libAfterImage' has been removed from nixpkgs, as it's no longer in development for a long time"; # Added 2024-06-01 + libast = throw "'libast' has been removed due to lack of maintenance upstream."; # Added 2025-06-09 libav = throw "libav has been removed as it was insecure and abandoned upstream for over half a decade; please use FFmpeg"; # Added 2024-08-25 libav_0_8 = libav; # Added 2024-08-25 libav_11 = libav; # Added 2024-08-25 @@ -1008,6 +1030,7 @@ mapAliases { libbitcoin-network = throw "libbitcoin-network has been removed as it required an obsolete version of Boost and had no maintainer in Nixpkgs"; # Added 2024-11-24 libbitcoin-protocol = throw "libbitcoin-protocol has been removed as it required an obsolete version of Boost and had no maintainer in Nixpkgs"; # Added 2024-11-24 libchop = throw "libchop has been removed due to failing to build and being unmaintained upstream"; # Added 2025-05-02 + libdwarf-lite = throw "`libdwarf-lite` has been replaced by `libdwarf` as it's mostly a mirror"; # Added 2025-06-16 libdwg = throw "libdwg has been removed as upstream is unmaintained, the code doesn't build without significant patches, and the package had no reverse dependencies"; # Added 2024-12-28 libfpx = throw "libfpx has been removed as it was unmaintained in Nixpkgs and had known vulnerabilities"; # Added 2025-05-20 libgadu = throw "'libgadu' has been removed as upstream is unmaintained and has no dependents or maintainers in Nixpkgs"; # Added 2025-05-17 @@ -1028,11 +1051,12 @@ mapAliases { liboop = throw "liboop has been removed as it is unmaintained upstream."; # Added 2024-08-14 libosmo-sccp = libosmo-sigtran; # Added 2024-12-20 libpqxx_6 = throw "libpqxx_6 has been removed, please use libpqxx"; # Added 2024-10-02 + libpromhttp = throw "'libpromhttp' has been removed as it is broken and unmaintained upstream."; # Added 2025-06-16 libpseudo = throw "'libpseudo' was removed as it is broken and not maintained upstream"; # Added 2025-05-17 libpulseaudio-vanilla = libpulseaudio; # Added 2022-04-20 libqt5pas = libsForQt5.libqtpas; # Added 2024-12-25 libquotient = libsForQt5.libquotient; # Added 2023-11-11 - librarian-puppet-go = throw "'librarian-puppet-go' has been removed, as it's upstream is unmaintained"; # Added 2024-06-10 + librarian-puppet-go = throw "'librarian-puppet-go' has been removed, as its upstream is unmaintained"; # Added 2024-06-10 librdf = throw "'librdf' has been renamed to/replaced by 'lrdf'"; # Converted to throw 2024-10-17 librdf_raptor = throw "librdf_raptor has been remove due to failing to build and being unmaintained"; # Added 2025-04-14 LibreArp = librearp; # Added 2024-06-12 @@ -1166,6 +1190,7 @@ mapAliases { lv_img_conv = throw "'lv_img_conv' has been removed from nixpkgs as it is broken"; # Added 2024-06-18 lxd = lib.warnOnInstantiate "lxd has been renamed to lxd-lts" lxd-lts; # Added 2024-04-01 lxd-unwrapped = lib.warnOnInstantiate "lxd-unwrapped has been renamed to lxd-unwrapped-lts" lxd-unwrapped-lts; # Added 2024-04-01 + lxdvdrip = throw "'lxdvdrip' has been removed due to lack of upstream maintenance."; # Added 2025-06-09 lzma = throw "'lzma' has been renamed to/replaced by 'xz'"; # Converted to throw 2024-10-17 lzwolf = throw "'lzwolf' has been removed because it's no longer maintained upstream. Consider using 'ecwolf'"; # Added 2025-03-02 @@ -1174,6 +1199,7 @@ mapAliases { ma1sd = throw "ma1sd was dropped as it is unmaintained"; # Added 2024-07-10 mac = monkeysAudio; # Added 2024-11-30 MACS2 = macs2; # Added 2023-06-12 + mailcore2 = throw "'mailcore2' has been removed due to lack of upstream maintenance."; # Added 2025-06-09 mailctl = throw "mailctl has been renamed to oama"; # Added 2024-08-19 mailman-rss = throw "The mailman-rss package was dropped since it was unmaintained."; # Added 2024-06-21 mariadb_105 = throw "'mariadb_105' has been removed because it reached its End of Life. Consider upgrading to 'mariadb_106'."; # Added 2025-04-26 @@ -1241,7 +1267,6 @@ mapAliases { microcodeAmd = microcode-amd; # Added 2024-09-08 microcodeIntel = microcode-intel; # Added 2024-09-08 micropad = throw "micropad has been removed, since it was unmaintained and blocked the Electron 27 removal."; # Added 2025-02-24 - microsoft-edge = throw "microsoft-edge has been removed due to lack of maintenance in nixpkgs"; # Added 2025-05-19 microsoft_gsl = microsoft-gsl; # Added 2023-05-26 midori = throw "'midori' original project has been abandonned upstream and the package was broken for a while in nixpkgs"; # Added 2025-05-19 midori-unwrapped = midori; # Added 2025-05-19 @@ -1390,7 +1415,7 @@ mapAliases { noto-fonts-emoji = noto-fonts-color-emoji; # Added 2023-09-09 noto-fonts-extra = noto-fonts; # Added 2023-04-08 NSPlist = nsplist; # Added 2024-01-05 - nushellFull = lib.warnOnInstantiate "`nushellFull` has has been replaced by `nushell` as it's features no longer exist" nushell; # Added 2024-05-30 + nushellFull = lib.warnOnInstantiate "`nushellFull` has has been replaced by `nushell` as its features no longer exist" nushell; # Added 2024-05-30 nux = throw "nux has been removed because it has been abandoned for 4 years"; # Added 2025-03-22 nvidia-podman = throw "podman should use the Container Device Interface (CDI) instead. See https://web.archive.org/web/20240729183805/https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html#configuring-podman"; # Added 2024-08-02 nvidia-thrust = throw "nvidia-thrust has been removed because the project was deprecated; use cudaPackages.cuda_cccl"; @@ -1404,6 +1429,7 @@ mapAliases { odoo15 = throw "odoo15 has been removed from nixpkgs as it is unsupported; migrate to a newer version of odoo"; # Added 2025-05-06 offrss = throw "offrss has been removed due to lack of upstream maintenance; consider using another rss reader"; # Added 2025-06-01 oil = lib.warnOnInstantiate "Oil has been replaced with the faster native C++ version and renamed to 'oils-for-unix'. See also https://github.com/oils-for-unix/oils/wiki/Oils-Deployments" oils-for-unix; # Added 2024-10-22 + oneDNN_2 = throw "oneDNN_2 has been removed as it was only used by rocmPackages.migraphx"; # added 2025-07-18 onevpl-intel-gpu = lib.warnOnInstantiate "onevpl-intel-gpu has been renamed to vpl-gpu-rt" vpl-gpu-rt; # Added 2024-06-04 openai-whisper-cpp = whisper-cpp; # Added 2024-12-13 opencv2 = throw "opencv2 has been removed as it is obsolete and was not used by any other package; please migrate to OpenCV 4"; # Added 2024-08-20 @@ -1444,6 +1470,7 @@ mapAliases { openssl_3_0 = openssl_3; # Added 2022-06-27 opensycl = lib.warnOnInstantiate "'opensycl' has been renamed to 'adaptivecpp'" adaptivecpp; # Added 2024-12-04 opensyclWithRocm = lib.warnOnInstantiate "'opensyclWithRocm' has been renamed to 'adaptivecppWithRocm'" adaptivecppWithRocm; # Added 2024-12-04 + opentofu-ls = lib.warnOnInstantiate "'opentofu-ls' has been renamed to 'tofu-ls'" tofu-ls; # Added 2025-06-10 openvdb_11 = throw "'openvdb_11' has been removed in favor of the latest version'"; # Added 2025-05-03 opera = throw "'opera' has been removed due to lack of maintenance in nixpkgs"; # Added 2025-05-19 orchis = throw "'orchis' has been renamed to/replaced by 'orchis-theme'"; # Converted to throw 2024-10-17 @@ -1603,6 +1630,7 @@ mapAliases { prometheus-minio-exporter = throw "'prometheus-minio-exporter' has been removed from nixpkgs, use Minio's built-in Prometheus integration instead"; # Added 2024-06-10 prometheus-tor-exporter = throw "'prometheus-tor-exporter' has been removed from nixpkgs, as it was broken and unmaintained"; # Added 2024-10-30 protobuf_23 = throw "'protobuf_23' has been removed from nixpkgs. Consider using a more recent version of the protobuf library"; # Added 2025-04-20 + protobuf_28 = throw "'protobuf_28' has been removed from nixpkgs. Consider using a more recent version of the protobuf library"; # Added 2025-06-14 protobuf3_24 = protobuf_24; protobuf3_23 = protobuf_23; protobuf3_21 = protobuf_21; @@ -1655,6 +1683,7 @@ mapAliases { quicklispPackagesGCL = throw "Lisp packages have been redesigned. See 'lisp-modules' in the nixpkgs manual."; # Added 2024-05-07 quicklispPackagesSBCL = throw "Lisp packages have been redesigned. See 'lisp-modules' in the nixpkgs manual."; # Added 2024-05-07 quickserve = throw "'quickserve' has been removed because its upstream is unavailable"; # Added 2025-05-10 + quicksynergy = throw "'quicksynergy' has been removed due to lack of maintenance upstream. Consider using 'deskflow' instead."; # Added 2025-06-18 qv2ray = throw "'qv2ray' has been removed as it was unmaintained"; # Added 2025-06-03 qxw = throw "'qxw' has been removed due to lack of maintenance upstream. Consider using 'crosswords' instead"; # Added 2024-10-19 @@ -1686,6 +1715,7 @@ mapAliases { riko4 = throw "'riko4' has been removed as it was unmaintained, failed to build and dependend on outdated libraries"; # Added 2025-05-18 rippled = throw "rippled has been removed as it was broken and had not been updated since 2022"; # Added 2024-11-25 rippled-validator-keys-tool = throw "rippled-validator-keys-tool has been removed as it was broken and had not been updated since 2022"; # Added 2024-11-25 + rke2_1_29 = throw "'rke2_1_29' has been removed from nixpkgs as it has reached end of life"; # Added 2025-05-05 rke2_testing = throw "'rke2_testing' has been removed from nixpkgs as the RKE2 testing channel no longer serves releases"; # Added 2025-06-02 rl_json = tclPackages.rl_json; # Added 2025-05-03 rockbox_utility = rockbox-utility; # Added 2022-03-17 @@ -1757,7 +1787,7 @@ mapAliases { signal-desktop-source = lib.warnOnInstantiate "'signal-desktop-source' is now exposed at 'signal-desktop'." signal-desktop; # Added 2025-04-16 silc_server = throw "'silc_server' has been removed because it is unmaintained"; # Added 2025-05-12 silc_client = throw "'silc_client' has been removed because it is unmaintained"; # Added 2025-05-12 - siproxd = throw "'siproxd' has been as it was unmaintained and incompatible with newer libosip versions"; # Added 2025-05-18 + siproxd = throw "'siproxd' has been removed as it was unmaintained and incompatible with newer libosip versions"; # Added 2025-05-18 sheesy-cli = throw "'sheesy-cli' has been removed due to lack of upstream maintenance"; # Added 2025-01-26 shout = nodePackages.shout; # Added unknown; moved 2024-10-19 sky = throw "'sky' has been removed because its upstream website disappeared"; # Added 2024-07-21 @@ -1766,6 +1796,7 @@ mapAliases { slack-dark = throw "'slack-dark' has been renamed to/replaced by 'slack'"; # Converted to throw 2024-10-17 slimerjs = throw "slimerjs does not work with any version of Firefox newer than 59; upstream ended the project in 2021. "; # added 2025-01-06 sloccount = throw "'sloccount' has been removed because it is unmaintained. Consider migrating to 'loccount'"; # added 2025-05-17 + slrn = throw "'slrn' has been removed because it is unmaintained upstream and broken."; # Added 2025-06-11 slurm-llnl = slurm; # renamed July 2017 sm64ex-coop = throw "'sm64ex-coop' was removed as it was archived upstream. Consider migrating to 'sm64coopdx'"; # added 2024-11-23 smartgithg = smartgit; # renamed March 2025 @@ -1777,6 +1808,7 @@ mapAliases { SP800-90B_EntropyAssessment = sp800-90b-entropyassessment; # Added on 2024-06-12 SPAdes = spades; # Added 2024-06-12 spark2014 = gnatprove; # Added 2024-02-25 + space-orbit = throw "'space-orbit' has been removed because it is unmaintained; Debian upstream stopped tracking it in 2011."; # Added 2025-06-08 spatialite_gui = throw "spatialite_gui has been renamed to spatialite-gui"; # Added 2025-01-12 spatialite_tools = throw "spatialite_tools has been renamed to spatialite-tools"; # Added 2025-02-06 @@ -1815,6 +1847,7 @@ mapAliases { ssm-agent = amazon-ssm-agent; # Added 2023-10-17 starpls-bin = starpls; starspace = throw "starspace has been removed from nixpkgs, as it was broken"; # Added 2024-07-15 + station = throw "station has been removed from nixpkgs, as there were no committers among its maintainers to unblock security issues"; # added 2025-06-16 steamPackages = { steamArch = throw "`steamPackages.steamArch` has been removed as it's no longer applicable"; steam = lib.warnOnInstantiate "`steamPackages.steam` has been moved to top level as `steam-unwrapped`" steam-unwrapped; @@ -1836,6 +1869,9 @@ mapAliases { suidChroot = throw "'suidChroot' has been dropped as it was unmaintained, failed to build and had questionable security considerations"; # Added 2025-05-17 suitesparse_4_2 = throw "'suitesparse_4_2' has been removed as it was unmaintained upstream"; # Added 2025-05-17 suitesparse_4_4 = throw "'suitesparse_4_4' has been removed as it was unmaintained upstream"; # Added 2025-05-17 + sumaclust = throw "'sumaclust' has been removed as it was archived upstream and broken with GCC 14"; # Added 2025-06-14 + sumalibs = throw "'sumalibs' has been removed as it was archived upstream and broken with GCC 14"; # Added 2025-06-14 + sumatra = throw "'sumatra' has been removed as it was archived upstream and broken with GCC 14"; # Added 2025-06-14 sumneko-lua-language-server = lua-language-server; # Added 2023-02-07 sumokoin = throw "sumokoin has been removed as it was abandoned upstream"; # Added 2024-11-23 supertag = throw "supertag has been removed as it was abandoned upstream and fails to build"; # Added 2025-04-20 @@ -1858,6 +1894,7 @@ mapAliases { ### T ### + t1lib = throw "'t1lib' has been removed as it was broken and unmaintained upstream."; # Added 2025-06-11 tabula = throw "tabula has been removed from nixpkgs, as it was broken"; # Added 2024-07-15 tailor = throw "'tailor' has been removed from nixpkgs, as it was unmaintained upstream."; # Added 2024-11-02 tangogps = throw "'tangogps' has been renamed to/replaced by 'foxtrotgps'"; # Converted to throw 2024-10-17 @@ -1866,7 +1903,6 @@ mapAliases { taplo-lsp = taplo; # Added 2022-07-30 targetcli = targetcli-fb; # Added 2025-03-14 taro = taproot-assets; # Added 2023-07-04 - tbb_2021_5 = throw "tbb_2021_5 has been removed from nixpkgs, as it broke with GCC 14"; tcl-fcgi = tclPackages.tcl-fcgi; # Added 2024-10-02 tclcurl = tclPackages.tclcurl; # Added 2024-10-02 tcllib = tclPackages.tcllib; # Added 2024-10-02 @@ -1958,6 +1994,7 @@ mapAliases { ### U ### uade123 = uade; # Added 2022-07-30 + uae = throw "'uae' has been removed due to lack of upstream maintenance. Consider using 'fsuae' instead."; # Added 2025-06-11 uberwriter = throw "'uberwriter' has been renamed to/replaced by 'apostrophe'"; # Converted to throw 2024-10-17 ubootBeagleboneBlack = throw "'ubootBeagleboneBlack' has been renamed to/replaced by 'ubootAmx335xEVM'"; # Converted to throw 2024-10-17 ubuntu_font_family = ubuntu-classic; # Added 2024-02-19 @@ -2006,6 +2043,7 @@ mapAliases { varnish75Packages = throw "varnish 7.5 is EOL. Either use the LTS or upgrade."; # Added 2025-03-29 varnish76 = throw "varnish 7.6 is EOL. Either use the LTS or upgrade."; # Added 2025-05-15 varnish76Packages = throw "varnish 7.6 is EOL. Either use the LTS or upgrade."; # Added 2025-05-15 + vbetool = throw "'vbetool' has been removed as it is broken and not maintained upstream."; # Added 2025-06-11 vdirsyncerStable = vdirsyncer; # Added 2020-11-08, see https://github.com/NixOS/nixpkgs/issues/103026#issuecomment-723428168 ventoy-bin = ventoy; # Added 2023-04-12 ventoy-bin-full = ventoy-full; # Added 2023-04-12 @@ -2045,11 +2083,12 @@ mapAliases { 'wayfireApplications-unwrapped.wlroots' has been removed ''; # Add 2023-07-29 waypoint = throw "waypoint has been removed from nixpkgs as the upstream project was archived"; # Added 2024-04-24 - webkitgtk = lib.warnOnInstantiate "Explicitly set the ABI version of 'webkitgtk'" webkitgtk_4_0; + webkitgtk = throw "'webkitgtk' attribute has been removed from nixpkgs, use attribute with ABI version set explicitly"; # Added 2025-06-11 webmetro = throw "'webmetro' has been removed due to lack of upstream maintenance"; # Added 2025-01-25 wg-bond = throw "'wg-bond' has been removed due to lack of upstream maintenance"; # Added 2025-01-25 whatsapp-for-linux = wasistlos; # Added 2025-01-30 wineWayland = wine-wayland; + winhelpcgi = throw "'winhelpcgi' has been removed as it was unmaintained upstream and broken with GCC 14"; # Added 2025-06-14 win-virtio = virtio-win; # Added 2023-10-17 wireguard-vanity-address = throw "'wireguard-vanity-address' has been removed due to lack of upstream maintenance"; # Added 2025-01-26 wkhtmltopdf-bin = wkhtmltopdf; # Added 2024-07-17 @@ -2074,6 +2113,7 @@ mapAliases { xarchive = throw "'xarchive' has been removed due to lack of maintenance upstream. Consider using 'file-roller' instead"; # Added 2024-10-19 xbmc-retroarch-advanced-launchers = throw "'xbmc-retroarch-advanced-launchers' has been renamed to/replaced by 'kodi-retroarch-advanced-launchers'"; # Converted to throw 2024-10-17 xboxdrv = throw "'xboxdrv' has been dropped as it has been superseded by an in-tree kernel driver"; # Added 2024-12-25 + xbursttools = throw "'xbursttools' has been removed as it is broken and unmaintained upstream."; # Added 2025-06-12 xdg_utils = throw "'xdg_utils' has been renamed to/replaced by 'xdg-utils'"; # Converted to throw 2024-10-17 xdragon = dragon-drop; # Added 2025-03-22 xen-light = throw "'xen-light' has been renamed to/replaced by 'xen-slim'"; # Added 2024-06-30 @@ -2111,7 +2151,12 @@ mapAliases { yandex-browser-beta = throw "'yandex-browser-beta' has been removed, as it was broken and unmaintained"; # Added 2025-04-17 yandex-browser-corporate = throw "'yandex-browser-corporate' has been removed, as it was broken and unmaintained"; # Added 2025-04-17 youtrack_2022_3 = throw "'youtrack_2022_3' has been removed as it was deprecated. Please update to the 'youtrack' package."; # Added 2024-10-17 + yabar = throw "'yabar' has been removed as the upstream project was archived"; # Added 2025-06-10 + yabar-unstable = yabar; # Added 2025-06-10 + yeahwm = throw "'yeahwm' has been removed, as it was broken and unmaintained upstream."; # Added 2025-06-12 yrd = throw "'yrd' has been removed, as it was broken and unmaintained"; # added 2024-05-27 + yubikey-manager-qt = throw "'yubikey-manager-qt' has been removed due to being archived upstream. Consider using 'yubioath-flutter' instead."; # Added 2025-06-07 + yubikey-personalization-gui = throw "'yubikey-personalization-gui' has been removed due to being archived upstream. Consider using 'yubioath-flutter' instead."; # Added 2025-06-07 yuzu-ea = throw "yuzu-ea has been removed from nixpkgs, as it has been taken down upstream"; # Added 2024-03-04 yuzu-early-access = throw "yuzu-early-access has been removed from nixpkgs, as it has been taken down upstream"; # Added 2024-03-04 yuzu = throw "yuzu has been removed from nixpkgs, as it has been taken down upstream"; # Added 2024-03-04 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9f060edb0ada..340860d37454 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -177,6 +177,23 @@ with pkgs; __flattenIncludeHackHook = callPackage ../build-support/setup-hooks/flatten-include-hack { }; + arrayUtilities = + let + arrayUtilitiesPackages = makeScopeWithSplicing' { + otherSplices = generateSplicesForMkScope "arrayUtilities"; + f = + finalArrayUtilities: + { + callPackages = lib.callPackagesWith (pkgs // finalArrayUtilities); + } + // lib.packagesFromDirectoryRecursive { + inherit (finalArrayUtilities) callPackage; + directory = ../build-support/setup-hooks/arrayUtilities; + }; + }; + in + recurseIntoAttrs arrayUtilitiesPackages; + addBinToPathHook = callPackage ( { makeSetupHook }: makeSetupHook { @@ -243,6 +260,9 @@ with pkgs; auto-patchelf bintools ]; + substitutions = { + hostPlatform = stdenv.hostPlatform.config; + }; } ../build-support/setup-hooks/auto-patchelf.sh; appimageTools = callPackage ../build-support/appimage { }; @@ -291,7 +311,7 @@ with pkgs; }; basalt-monado = callPackage ../by-name/ba/basalt-monado/package.nix { - tbb = tbb_2021_11; + tbb = tbb_2021; cereal = cereal_1_3_2; opencv = opencv.override { enableGtk3 = true; }; }; @@ -576,6 +596,9 @@ with pkgs; stdenv = if stdenv.hostPlatform.isDarwin then llvmPackages_18.stdenv else stdenv; }; + # this is used by most `fetch*` functions + repoRevToNameMaybe = lib.repoRevToName config.fetchedSourceNameDefault; + fetchpatch = callPackage ../build-support/fetchpatch { # 0.3.4 would change hashes: https://github.com/NixOS/nixpkgs/issues/25154 @@ -1057,8 +1080,6 @@ with pkgs; auditwheel = with python3Packages; toPythonApplication auditwheel; - bikeshed = python3Packages.callPackage ../applications/misc/bikeshed { }; - davinci-resolve-studio = callPackage ../by-name/da/davinci-resolve/package.nix { studioVariant = true; }; @@ -1307,8 +1328,6 @@ with pkgs; git-imerge = python3Packages.callPackage ../applications/version-management/git-imerge { }; - git-machete = python3Packages.callPackage ../applications/version-management/git-machete { }; - git-publish = python3Packages.callPackage ../applications/version-management/git-publish { }; git-recent = callPackage ../applications/version-management/git-recent { @@ -1858,6 +1877,8 @@ with pkgs; androidndkPkgs_24 = (callPackage ../development/androidndk-pkgs { })."24"; androidndkPkgs_25 = (callPackage ../development/androidndk-pkgs { })."25"; androidndkPkgs_26 = (callPackage ../development/androidndk-pkgs { })."26"; + androidndkPkgs_27 = (callPackage ../development/androidndk-pkgs { })."27"; + androidndkPkgs_28 = (callPackage ../development/androidndk-pkgs { })."28"; androidsdk = androidenv.androidPkgs.androidsdk; @@ -1888,7 +1909,7 @@ with pkgs; babelfish = callPackage ../shells/fish/babelfish.nix { }; - bat-extras = recurseIntoAttrs (lib.makeScope newScope (callPackage ../tools/misc/bat-extras { })); + bat-extras = recurseIntoAttrs (lib.makeScope newScope (import ../tools/misc/bat-extras)); beauty-line-icon-theme = callPackage ../data/icons/beauty-line-icon-theme { inherit (plasma5Packages) breeze-icons; @@ -1936,8 +1957,6 @@ with pkgs; blockdiag = with python3Packages; toPythonApplication blockdiag; - bookstack = callPackage ../servers/web-apps/bookstack { }; - boomerang = libsForQt5.callPackage ../development/tools/boomerang { }; bozohttpd-minimal = bozohttpd.override { minimal = true; }; @@ -2025,10 +2044,6 @@ with pkgs; cloud-init = callPackage ../tools/virtualization/cloud-init { inherit systemd; }; - clingo = callPackage ../applications/science/logic/potassco/clingo.nix { }; - - clingcon = callPackage ../applications/science/logic/potassco/clingcon.nix { }; - coloredlogs = with python3Packages; toPythonApplication coloredlogs; czkawka-full = czkawka.wrapper.override { @@ -2059,7 +2074,7 @@ with pkgs; coreboot-configurator = libsForQt5.callPackage ../tools/misc/coreboot-configurator { }; sway-unwrapped = callPackage ../by-name/sw/sway-unwrapped/package.nix { - wlroots = wlroots_0_18; + wlroots = wlroots_0_19; }; cambrinary = python3Packages.callPackage ../applications/misc/cambrinary { }; @@ -2159,10 +2174,6 @@ with pkgs; espanso = espanso-wayland; }; - fastly = callPackage ../misc/fastly { - # If buildGoModule is overridden, provide a matching version of the go attribute - }; - f3d_egl = f3d.override { vtk_9 = vtk_9_egl; }; fast-cli = nodePackages.fast-cli; @@ -2545,8 +2556,9 @@ with pkgs; citrix_workspace_24_05_0 citrix_workspace_24_08_0 citrix_workspace_24_11_0 + citrix_workspace_25_03_0 ; - citrix_workspace = citrix_workspace_24_11_0; + citrix_workspace = citrix_workspace_25_03_0; cmst = libsForQt5.callPackage ../tools/networking/cmst { }; @@ -2618,6 +2630,8 @@ with pkgs; cangjie = callPackage ../tools/inputmethods/ibus-engines/ibus-cangjie { }; + chewing = callPackage ../tools/inputmethods/ibus-engines/ibus-chewing { }; + hangul = callPackage ../tools/inputmethods/ibus-engines/ibus-hangul { }; kkc = callPackage ../tools/inputmethods/ibus-engines/ibus-kkc { }; @@ -2808,8 +2822,6 @@ with pkgs; dotnetfx40 = callPackage ../development/libraries/dotnetfx40 { }; - sl1-to-photon = python3Packages.callPackage ../applications/misc/sl1-to-photon { }; - drone = callPackage ../development/tools/continuous-integration/drone { }; drone-oss = callPackage ../development/tools/continuous-integration/drone { enableUnfree = false; @@ -3011,9 +3023,7 @@ with pkgs; fstl = callPackage ../applications/graphics/fstl { }; - fwknop = callPackage ../tools/security/fwknop { - texinfo = texinfo6_7; # Uses @setcontentsaftertitlepage, removed in 6.8. - }; + fwknop = callPackage ../tools/security/fwknop { }; uniscribe = callPackage ../tools/text/uniscribe { }; @@ -3027,13 +3037,11 @@ with pkgs; garage_0_9 garage_0_8_7 garage_0_9_4 - garage_1_1_0 + garage_1_2_0 garage_1_x ; - gauge-unwrapped = callPackage ../development/tools/gauge { }; - gauge = callPackage ../development/tools/gauge/wrapper.nix { }; - gaugePlugins = recurseIntoAttrs (callPackage ../development/tools/gauge/plugins { }); + gaugePlugins = recurseIntoAttrs (callPackage ../by-name/ga/gauge/plugins { }); gawd = python3Packages.toPythonApplication python3Packages.gawd; @@ -3159,8 +3167,11 @@ with pkgs; isStereo = true; }; - google-cloud-sdk = callPackage ../tools/admin/google-cloud-sdk { }; + google-cloud-sdk = callPackage ../tools/admin/google-cloud-sdk { + python3 = python312; + }; google-cloud-sdk-gce = google-cloud-sdk.override { + python3 = python312; with-gce = true; }; @@ -3283,8 +3294,6 @@ with pkgs; heaptrack = libsForQt5.callPackage ../development/tools/profiling/heaptrack { }; - heimdall = libsForQt5.callPackage ../tools/misc/heimdall { }; - heimdall-gui = heimdall.override { enableGUI = true; }; headscale = callPackage ../servers/headscale { }; @@ -3825,6 +3834,10 @@ with pkgs; # Not in aliases because it wouldn't get picked up by callPackage netbox = netbox_4_2; + netcap-nodpi = callPackage ../by-name/ne/netcap/package.nix { + withDpi = false; + }; + netcat = libressl.nc.overrideAttrs (old: { meta = old.meta // { description = "Utility which reads and writes data across network connections — LibreSSL implementation"; @@ -3855,6 +3868,7 @@ with pkgs; inherit (callPackages ../applications/networking/cluster/nomad { }) nomad nomad_1_9 + nomad_1_10 ; nomacs-qt6 = nomacs.override { qtVersion = 6; }; @@ -4272,8 +4286,6 @@ with pkgs; wayback_machine_downloader = callPackage ../applications/networking/wayback_machine_downloader { }; - radarr = callPackage ../servers/radarr { }; - radeon-profile = libsForQt5.callPackage ../tools/misc/radeon-profile { }; rainbowstream = with python3.pkgs; toPythonApplication rainbowstream; @@ -4765,13 +4777,6 @@ with pkgs; ocamlPackages = ocaml-ng.ocamlPackages_4_14; }; - xbursttools = callPackage ../tools/misc/xburst-tools { - # It needs a cross compiler for mipsel to build the firmware it will - # load into the Ben Nanonote - gccCross = pkgsCross.ben-nanonote.buildPackages.gccWithoutTargetLibc; - autoconf = buildPackages.autoconf269; - }; - clipbuzz = callPackage ../tools/misc/clipbuzz { zig = buildPackages.zig_0_12; }; @@ -5050,7 +5055,6 @@ with pkgs; flutter332 = flutterPackages.v3_32; flutter329 = flutterPackages.v3_29; flutter327 = flutterPackages.v3_27; - flutter326 = flutterPackages.v3_26; flutter324 = flutterPackages.v3_24; fpc = callPackage ../development/compilers/fpc { }; @@ -5748,10 +5752,7 @@ with pkgs; openjdk_headless = jdk_headless; graalvmPackages = recurseIntoAttrs (callPackage ../development/compilers/graalvm { }); - buildGraalvmNativeImage = - (callPackage ../build-support/build-graalvm-native-image { - graalvmDrv = graalvmPackages.graalvm-ce; - }).override; + buildGraalvmNativeImage = callPackage ../build-support/build-graalvm-native-image { }; openshot-qt = libsForQt5.callPackage ../applications/video/openshot-qt { }; @@ -6100,11 +6101,8 @@ with pkgs; swi-prolog-gui = swi-prolog.override { withGui = true; }; - tbb_2020_3 = callPackage ../development/libraries/tbb/2020_3.nix { }; - tbb_2021_11 = callPackage ../development/libraries/tbb { }; - tbb_2022_0 = callPackage ../development/libraries/tbb/2022_0.nix { }; # many packages still fail with latest version - tbb = tbb_2020_3; + tbb = tbb_2020; teyjus = callPackage ../development/compilers/teyjus { inherit (ocaml-ng.ocamlPackages_4_14) buildDunePackage; @@ -6350,6 +6348,7 @@ with pkgs; erlang_27 erlang_26 elixir + elixir_1_19 elixir_1_18 elixir_1_17 elixir_1_16 @@ -6376,13 +6375,11 @@ with pkgs; beam26Packages = recurseIntoAttrs beam.packages.erlang_26.beamPackages; beam27Packages = recurseIntoAttrs beam.packages.erlang_27.beamPackages; - # 28 is pre-release - beam28Packages = dontRecurseIntoAttrs beam.packages.erlang_28.beamPackages; + beam28Packages = recurseIntoAttrs beam.packages.erlang_28.beamPackages; beamMinimal26Packages = recurseIntoAttrs beam_minimal.packages.erlang_26.beamPackages; beamMinimal27Packages = recurseIntoAttrs beam_minimal.packages.erlang_27.beamPackages; - # 28 is pre-release - beamMinimal28Packages = dontRecurseIntoAttrs beam_minimal.packages.erlang_28.beamPackages; + beamMinimal28Packages = recurseIntoAttrs beam_minimal.packages.erlang_28.beamPackages; gnudatalanguage = callPackage ../development/interpreters/gnudatalanguage { inherit (llvmPackages) openmp; @@ -7385,7 +7382,7 @@ with pkgs; ikos = callPackage ../development/tools/analysis/ikos { inherit (llvmPackages_14) stdenv clang llvm; - tbb = tbb_2021_11; + tbb = tbb_2021; }; include-what-you-use = callPackage ../development/tools/analysis/include-what-you-use { @@ -7406,8 +7403,6 @@ with pkgs; jenkins-job-builder = with python3Packages; toPythonApplication jenkins-job-builder; - kcc = callPackage ../applications/graphics/kcc { }; - kustomize = callPackage ../development/tools/kustomize { }; kustomize_3 = callPackage ../development/tools/kustomize/3.nix { }; @@ -7686,8 +7681,6 @@ with pkgs; texinfoPackages = callPackages ../development/tools/misc/texinfo/packages.nix { }; inherit (texinfoPackages) - texinfo6_5 # needed for allegro - texinfo6_7 # needed for gpm, iksemel and fwknop texinfo6 texinfo7 ; @@ -7888,7 +7881,7 @@ with pkgs; cctag = callPackage ../development/libraries/cctag { stdenv = clangStdenv; - tbb = tbb_2021_11; + tbb = tbb_2021; }; ceedling = callPackage ../development/tools/ceedling { }; @@ -8325,8 +8318,6 @@ with pkgs; } ); - qxmpp = qt6Packages.callPackage ../development/libraries/qxmpp { }; - gnutls = callPackage ../development/libraries/gnutls { util-linux = util-linuxMinimal; # break the cyclic dependency autoconf = buildPackages.autoconf269; @@ -8470,7 +8461,7 @@ with pkgs; hunspellWithDicts = dicts: callPackage ../by-name/hu/hunspell/wrapper.nix { inherit dicts; }; - hydra = callPackage ../by-name/hy/hydra/package.nix { nix = nixVersions.nix_2_28; }; + hydra = callPackage ../by-name/hy/hydra/package.nix { nix = nixVersions.nix_2_29; }; icu-versions = callPackages ../development/libraries/icu { }; inherit (icu-versions) @@ -8857,7 +8848,6 @@ with pkgs; stdenv = gccStdenv; # Required for darwin }) libprom - libpromhttp ; libpulsar = callPackage ../development/libraries/libpulsar { @@ -9325,7 +9315,6 @@ with pkgs; protobuf_31 = callPackage ../development/libraries/protobuf/31.nix { }; protobuf_30 = callPackage ../development/libraries/protobuf/30.nix { }; protobuf_29 = callPackage ../development/libraries/protobuf/29.nix { }; - protobuf_28 = callPackage ../development/libraries/protobuf/28.nix { }; protobuf_27 = callPackage ../development/libraries/protobuf/27.nix { }; protobuf_26 = callPackage ../development/libraries/protobuf/26.nix { }; protobuf_25 = callPackage ../development/libraries/protobuf/25.nix { }; @@ -9337,7 +9326,6 @@ with pkgs; protobuf_31 protobuf_30 protobuf_29 - protobuf_28 protobuf_27 protobuf_26 protobuf_25 @@ -9679,6 +9667,8 @@ with pkgs; svxlink = libsForQt5.callPackage ../applications/radio/svxlink { }; + szurubooru = callPackage ../servers/web-apps/szurubooru { }; + tclap = tclap_1_2; tclap_1_2 = callPackage ../development/libraries/tclap/1.2.nix { }; @@ -9812,10 +9802,6 @@ with pkgs; xgboostWithCuda = xgboost.override { cudaSupport = true; }; - yubikey-manager-qt = libsForQt5.callPackage ../tools/misc/yubikey-manager-qt { }; - - yubikey-personalization-gui = libsForQt5.callPackage ../tools/misc/yubikey-personalization-gui { }; - zlib = callPackage ../development/libraries/zlib { stdenv = # zlib is a dependency of xcbuild. Avoid an infinite recursion by using a bootstrap stdenv @@ -10139,7 +10125,6 @@ with pkgs; spatial survival ]; - radian = python3Packages.radian; # Override this attribute to register additional libraries. packages = [ ]; # Override this attribute if you want to expose R with the same set of @@ -10325,7 +10310,6 @@ with pkgs; inherit (callPackages ../servers/firebird { }) firebird_4 firebird_3 - firebird_2_5 firebird ; @@ -10389,16 +10373,11 @@ with pkgs; jetty = jetty_12; - kanidm_1_4 = callPackage ../by-name/ka/kanidm/1_4.nix { kanidm = kanidm_1_4; }; kanidm_1_5 = callPackage ../by-name/ka/kanidm/1_5.nix { kanidm = kanidm_1_5; }; kanidm_1_6 = callPackage ../by-name/ka/kanidm/1_6.nix { kanidm = kanidm_1_6; }; kanidmWithSecretProvisioning = kanidmWithSecretProvisioning_1_6; - kanidmWithSecretProvisioning_1_4 = callPackage ../by-name/ka/kanidm/1_4.nix { - enableSecretProvisioning = true; - }; - kanidmWithSecretProvisioning_1_5 = callPackage ../by-name/ka/kanidm/1_5.nix { enableSecretProvisioning = true; }; @@ -11079,10 +11058,6 @@ with pkgs; gpm = callPackage ../servers/gpm { withNcurses = false; # Keep curses disabled for lack of value - - # latest 6.8 mysteriously fails to parse '@headings single': - # https://lists.gnu.org/archive/html/bug-texinfo/2021-09/msg00011.html - texinfo = buildPackages.texinfo6_7; }; gpm-ncurses = gpm.override { withNcurses = true; }; @@ -11117,8 +11092,7 @@ with pkgs; projecteur = libsForQt5.callPackage ../os-specific/linux/projecteur { }; - lkl = callPackage ../applications/virtualization/lkl { }; - lklWithFirewall = callPackage ../applications/virtualization/lkl { firewallSupport = true; }; + lklWithFirewall = lkl.override { firewallSupport = true; }; inherit (callPackages ../os-specific/linux/kernel-headers { inherit (pkgsBuildBuild) elf-header; }) linuxHeaders @@ -11509,6 +11483,7 @@ with pkgs; ubootSopine ubootTuringRK1 ubootUtilite + ubootVisionFive2 ubootWandboard ; @@ -12129,7 +12104,6 @@ with pkgs; djv = callPackage ../by-name/dj/djv/package.nix { openexr = openexr_2; }; - djview = callPackage ../applications/graphics/djview { }; djview4 = djview; dmenu = callPackage ../applications/misc/dmenu { }; @@ -12143,12 +12117,10 @@ with pkgs; inherit (callPackage ../applications/virtualization/docker { }) docker_25 - docker_26 - docker_27 docker_28 ; - docker = docker_27; + docker = docker_28; docker-client = docker.override { clientOnly = true; }; docker-gc = callPackage ../applications/virtualization/docker/gc.nix { }; @@ -12305,6 +12277,10 @@ with pkgs; geany = callPackage ../applications/editors/geany { }; geany-with-vte = callPackage ../applications/editors/geany/with-vte.nix { }; + gImageReader-qt = qt6Packages.callPackage ../by-name/gi/gImageReader/package.nix { + withQt6 = true; + }; + gnuradio = callPackage ../applications/radio/gnuradio/wrapper.nix { unwrapped = callPackage ../applications/radio/gnuradio { python = python311; @@ -12436,7 +12412,6 @@ with pkgs; firefox-bin-unwrapped = callPackage ../applications/networking/browsers/firefox-bin { inherit (firefox-unwrapped.passthru) applicationName; - channel = "release"; generated = import ../applications/networking/browsers/firefox-bin/release_sources.nix; }; @@ -12444,27 +12419,6 @@ with pkgs; pname = "firefox-bin"; }; - firefox-beta-bin-unwrapped = firefox-bin-unwrapped.override { - inherit (firefox-beta-unwrapped.passthru) applicationName; - channel = "beta"; - generated = import ../applications/networking/browsers/firefox-bin/beta_sources.nix; - }; - - firefox-beta-bin = res.wrapFirefox firefox-beta-bin-unwrapped { - pname = "firefox-beta-bin"; - }; - - firefox-devedition-bin-unwrapped = callPackage ../applications/networking/browsers/firefox-bin { - inherit (firefox-devedition-unwrapped.passthru) applicationName; - channel = "developer-edition"; - generated = import ../applications/networking/browsers/firefox-bin/developer-edition_sources.nix; - }; - - firefox-devedition-bin = res.wrapFirefox firefox-devedition-bin-unwrapped { - pname = "firefox-devedition-bin"; - wmClass = "firefox-aurora"; - }; - librewolf-unwrapped = import ../applications/networking/browsers/librewolf { inherit stdenv @@ -12829,9 +12783,7 @@ with pkgs; subversionSupport = true; }; - iksemel = callPackage ../development/libraries/iksemel { - texinfo = buildPackages.texinfo6_7; # Uses @setcontentsaftertitlepage, removed in 6.8. - }; + iksemel = callPackage ../development/libraries/iksemel { }; avalonia-ilspy = callPackage ../applications/misc/avalonia-ilspy { inherit (darwin) autoSignDarwinBinariesHook; @@ -12973,8 +12925,6 @@ with pkgs; kbibtex = libsForQt5.callPackage ../applications/office/kbibtex { }; - kaidan = kdePackages.callPackage ../applications/networking/instant-messengers/kaidan { }; - kexi = libsForQt5.callPackage ../applications/office/kexi { }; kgraphviewer = callPackage ../applications/graphics/kgraphviewer { }; @@ -13849,7 +13799,6 @@ with pkgs; callPackage ../applications/networking/instant-messengers/ripcord/darwin.nix { }; inherit (callPackage ../applications/networking/cluster/rke2 { }) - rke2_1_29 rke2_1_30 rke2_1_31 rke2_1_32 @@ -13870,10 +13819,6 @@ with pkgs; backend = "wayland"; }; - rstudio = callPackage ../applications/editors/rstudio { - jdk = jdk8; - }; - rstudio-server = rstudio.override { server = true; }; rsync = callPackage ../applications/networking/sync/rsync (config.rsync or { }); @@ -14292,8 +14237,6 @@ with pkgs; qpdfview = libsForQt5.callPackage ../applications/office/qpdfview { }; - vimgolf = callPackage ../games/vimgolf { }; - # this is a lower-level alternative to wrapNeovim conceived to handle # more usecases when wrapping neovim. The interface is being actively worked on # so expect breakage. use wrapNeovim instead if you want a stable alternative @@ -14399,6 +14342,12 @@ with pkgs; vscodium-fhs = vscodium.fhs; vscodium-fhsWithPackages = vscodium.fhsWithPackages; + code-cursor = callPackage ../by-name/co/code-cursor/package.nix { + vscode-generic = ../applications/editors/vscode/generic.nix; + }; + code-cursor-fhs = code-cursor.fhs; + code-cursor-fhsWithPackages = code-cursor.fhsWithPackages; + windsurf = callPackage ../by-name/wi/windsurf/package.nix { vscode-generic = ../applications/editors/vscode/generic.nix; }; @@ -14510,6 +14459,8 @@ with pkgs; x2goclient = libsForQt5.callPackage ../applications/networking/remote/x2goclient { }; + x2gokdriveclient = libsForQt5.callPackage ../applications/networking/remote/x2gokdriveclient { }; + x32edit = callPackage ../applications/audio/midas/x32edit.nix { }; xbindkeys-config = callPackage ../tools/X11/xbindkeys-config { @@ -14591,10 +14542,6 @@ with pkgs; xygrib = libsForQt5.callPackage ../applications/misc/xygrib { }; - yabar = callPackage ../applications/window-managers/yabar { }; - - yabar-unstable = callPackage ../applications/window-managers/yabar/unstable.nix { }; - ydiff = with python3.pkgs; toPythonApplication ydiff; yokadi = python3Packages.callPackage ../applications/misc/yokadi { }; @@ -14617,8 +14564,6 @@ with pkgs; youtube-viewer = perlPackages.WWWYoutubeViewer; - yuview = libsForQt5.yuview; - zathuraPkgs = callPackage ../applications/misc/zathura { }; zathura = zathuraPkgs.zathuraWrapper; @@ -14679,16 +14624,6 @@ with pkgs; inherit (darwin) autoSignDarwinBinariesHook; }; - bitcoin-abc = libsForQt5.callPackage ../applications/blockchains/bitcoin-abc { - withGui = true; - protobuf = protobuf_21; - }; - bitcoind-abc = callPackage ../applications/blockchains/bitcoin-abc { - mkDerivation = stdenv.mkDerivation; - protobuf = protobuf_21; - withGui = false; - }; - cryptop = python3.pkgs.callPackage ../applications/blockchains/cryptop { }; elements = libsForQt5.callPackage ../applications/blockchains/elements { @@ -14699,15 +14634,6 @@ with pkgs; withGui = false; inherit (darwin) autoSignDarwinBinariesHook; }; - elementsd-simplicity = elementsd.overrideAttrs { - version = "unstable-2023-04-18"; - src = fetchFromGitHub { - owner = "ElementsProject"; - repo = "elements"; - rev = "ea318a45094ab3d31dd017d7781a6f28f1ffaa33"; # simplicity branch latest - hash = "sha256-ooe+If3HWaJWpr2ux7DpiCTqB9Hv+aXjquEjplDjvhM="; - }; - }; fulcrum = libsForQt5.callPackage ../applications/blockchains/fulcrum { }; @@ -14726,7 +14652,7 @@ with pkgs; ledger-agent = with python3Packages; toPythonApplication ledger-agent; - napari = with python3Packages; toPythonApplication napari; + napari = with python312Packages; toPythonApplication napari; nano-wallet = libsForQt5.callPackage ../applications/blockchains/nano-wallet { }; @@ -14835,6 +14761,8 @@ with pkgs; amoeba-data = callPackage ../games/amoeba/data.nix { }; anki = callPackage ../games/anki { }; + anki-utils = callPackage ../games/anki/addons/anki-utils.nix { }; + ankiAddons = recurseIntoAttrs (callPackage ../games/anki/addons { }); anki-bin = callPackage ../games/anki/bin.nix { }; anki-sync-server = callPackage ../games/anki/sync-server.nix { }; @@ -14963,12 +14891,6 @@ with pkgs; flightgear = libsForQt5.callPackage ../games/flightgear { }; - freecad-wayland = freecad.override { withWayland = true; }; - freecad-qt6 = freecad.override { - withWayland = true; - qtVersion = 6; - }; - freeciv = callPackage ../games/freeciv { sdl2Client = false; gtkClient = true; @@ -15160,22 +15082,17 @@ with pkgs; protobuf = protobuf_21; }; - quake3wrapper = callPackage ../games/quake3/wrapper { }; - - quake3demo = quake3wrapper { - name = "quake3-demo-${lib.getVersion quake3demodata}"; - description = "Demo of Quake 3 Arena, a classic first-person shooter"; - paks = [ - quake3pointrelease - quake3demodata - ]; - }; - - quake3demodata = callPackage ../games/quake3/content/demo.nix { }; - - quake3pointrelease = callPackage ../games/quake3/content/pointrelease.nix { }; - - quake3hires = callPackage ../games/quake3/content/hires.nix { }; + inherit (import ../games/quake3 pkgs.callPackage) + quake3wrapper + quake3arenadata + quake3demodata + quake3pointrelease + quake3arena + quake3arena-hires + quake3demo + quake3demo-hires + quake3hires + ; quakespasm = callPackage ../games/quakespasm { }; vkquake = callPackage ../games/quakespasm/vulkan.nix { }; @@ -15551,12 +15468,6 @@ with pkgs; samtools = callPackage ../applications/science/biology/samtools { }; - inherit (callPackages ../applications/science/biology/sumatools { }) - sumalibs - sumaclust - sumatra - ; - trimmomatic = callPackage ../applications/science/biology/trimmomatic { jdk = pkgs.jdk21_headless; # Reduce closure size @@ -16051,7 +15962,9 @@ with pkgs; stellarium = qt6Packages.callPackage ../applications/science/astronomy/stellarium { }; - tulip = libsForQt5.callPackage ../applications/science/misc/tulip { }; + tulip = libsForQt5.callPackage ../applications/science/misc/tulip { + python3 = python312; # fails to build otherwise + }; vite = libsForQt5.callPackage ../applications/science/misc/vite { }; @@ -16180,10 +16093,6 @@ with pkgs; utsushi-networkscan = callPackage ../misc/drivers/utsushi/networkscan.nix { }; - lima = callPackage ../applications/virtualization/lima { - inherit (darwin) sigtool; - }; - image_optim = callPackage ../applications/graphics/image_optim { inherit (nodePackages) svgo; }; # using the new configuration style proposal which is unstable @@ -16239,10 +16148,6 @@ with pkgs; openlilylib-fonts = callPackage ../misc/lilypond/fonts.nix { }; - mailcore2 = callPackage ../development/libraries/mailcore2 { - icu = icu71; - }; - meilisearch_1_11 = callPackage ../by-name/me/meilisearch/package.nix { version = "1.11.3"; }; mongocxx = callPackage ../development/libraries/mongocxx/default.nix { }; diff --git a/pkgs/top-level/beam-packages.nix b/pkgs/top-level/beam-packages.nix index 1ebab1f7c89f..9851d9ae487f 100644 --- a/pkgs/top-level/beam-packages.nix +++ b/pkgs/top-level/beam-packages.nix @@ -51,6 +51,7 @@ in # `beam.packages.erlang_27.elixir`. inherit (self.packages.erlang) elixir + elixir_1_19 elixir_1_18 elixir_1_17 elixir_1_16 diff --git a/pkgs/top-level/config.nix b/pkgs/top-level/config.nix index 840c4e03e92d..a1a50ec17840 100644 --- a/pkgs/top-level/config.nix +++ b/pkgs/top-level/config.nix @@ -59,6 +59,52 @@ let default = false; }; + fetchedSourceNameDefault = mkOption { + type = types.uniq ( + types.enum [ + "source" + "versioned" + "full" + ] + ); + default = "source"; + description = '' + This controls the default derivation `name` attribute set by the + `fetch*` (`fetchzip`, `fetchFromGitHub`, etc) functions. + + Possible values and the resulting `.name`: + + - `"source"` -> `"source"` + - `"versioned"` -> `"''${repo}-''${rev}-source"` + - `"full"` -> `"''${repo}-''${rev}-''${fetcherName}-source"` + + The default `"source"` is the best choice for minimal rebuilds, it + will ignore any non-hash changes (like branches being renamed, source + URLs changing, etc) at the cost of `/nix/store` being easily + cache-poisoned (see [NixOS/nix#969](https://github.com/NixOS/nix/issues/969)). + + Setting this to `"versioned"` greatly helps with discoverability of + sources in `/nix/store` and makes cache-poisoning of `/nix/store` much + harder, at the cost of a single mass-rebuild for all `src` + derivations, and an occasional rebuild when a source changes some of + its non-hash attributes. + + Setting this to `"full"` is similar to setting it to `"versioned"`, + but the use of `fetcherName` in the derivation name will force a + rebuild when `src` switches between `fetch*` functions, thus forcing + `nix` to check new derivation's `outputHash`, which is useful for + debugging. + + Also, `"full"` is useful for easy collection and tracking of + statistics of where the packages you use are hosted. + + If you are a developer, you should probably set this to at + least`"versioned"`. + + Changing the default will cause a mass rebuild. + ''; + }; + doCheckByDefault = mkMassRebuild { feature = "run `checkPhase` by default"; }; @@ -150,8 +196,6 @@ let }; cudaSupport = mkMassRebuild { - type = types.bool; - default = false; feature = "build packages with CUDA support by default"; }; @@ -184,8 +228,6 @@ let }; rocmSupport = mkMassRebuild { - type = types.bool; - default = false; feature = "build packages with ROCm support by default"; }; diff --git a/pkgs/top-level/cuda-packages.nix b/pkgs/top-level/cuda-packages.nix index 53dd4b6029ea..53cc23af8a9d 100644 --- a/pkgs/top-level/cuda-packages.nix +++ b/pkgs/top-level/cuda-packages.nix @@ -27,6 +27,7 @@ lib, newScope, stdenv, + runCommand, }: let inherit (lib) @@ -150,7 +151,10 @@ let [ ( final: _: - lib.packagesFromDirectoryRecursive { + { + cuda_compat = runCommand "cuda_compat" { meta.platforms = [ ]; } "false"; # Prevent missing attribute errors + } + // lib.packagesFromDirectoryRecursive { inherit (final) callPackage; directory = ../development/cuda-modules/packages; } diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 5cbe2995ad1b..7a2e21f7941a 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -30,6 +30,8 @@ let alsa = callPackage ../development/ocaml-modules/alsa { }; + ancient = callPackage ../development/ocaml-modules/ancient { }; + angstrom = callPackage ../development/ocaml-modules/angstrom { }; angstrom-async = callPackage ../development/ocaml-modules/angstrom-async { }; @@ -78,7 +80,9 @@ let backoff = callPackage ../development/ocaml-modules/backoff { }; - bap = janeStreet_0_15.bap; + bap = callPackage ../development/ocaml-modules/bap { + inherit (pkgs.llvmPackages_14) llvm; + }; base64 = callPackage ../development/ocaml-modules/base64 { }; @@ -106,7 +110,7 @@ let binning = callPackage ../development/ocaml-modules/binning { }; - biocaml = janeStreet_0_15.biocaml; + biocaml = throw "biocaml has been removed"; # 2025-06-04 biotk = callPackage ../development/ocaml-modules/biotk { }; @@ -192,6 +196,8 @@ let caqti-dynload = callPackage ../development/ocaml-modules/caqti/dynload.nix { }; + caqti-eio = callPackage ../development/ocaml-modules/caqti/eio.nix { }; + caqti-lwt = callPackage ../development/ocaml-modules/caqti/lwt.nix { }; caqti-type-calendar = callPackage ../development/ocaml-modules/caqti/type-calendar.nix { }; @@ -412,6 +418,8 @@ let dream = callPackage ../development/ocaml-modules/dream { }; + dream-html = callPackage ../development/ocaml-modules/dream-html { }; + dream-httpaf = callPackage ../development/ocaml-modules/dream/httpaf.nix { }; dream-pure = callPackage ../development/ocaml-modules/dream/pure.nix { }; @@ -743,6 +751,8 @@ let hashcons = callPackage ../development/ocaml-modules/hashcons { }; + hc = callPackage ../development/ocaml-modules/hc { }; + hex = callPackage ../development/ocaml-modules/hex { }; hidapi = callPackage ../development/ocaml-modules/hidapi { }; @@ -908,109 +918,6 @@ let import ../development/ocaml-modules/janestreet { }; - janeStreet_0_15 = - (lib.makeScope self.newScope ( - self': with self'; { - - # ocamlPackages that janestreet v0.15 packages depend on. - jsDeps = - let - uri-sexp = self.uri-sexp.override { inherit (self') ppx_sexp_conv sexplib0; }; - cohttp = self.cohttp.override { - inherit (self') ppx_sexp_conv; - inherit uri-sexp; - }; - ipaddr-sexp = self.ipaddr-sexp.override { inherit (self') ppx_sexp_conv; }; - conduit = self.conduit.override { - inherit (self') ppx_sexp_conv sexplib; - inherit ipaddr-sexp; - }; - conduit-async = self.conduit-async.override { - inherit (self') - async - ppx_sexp_conv - ppx_here - core - sexplib - async_ssl - ; - inherit conduit ipaddr-sexp; - }; - in - { - inherit (self) - dune-configurator - alcotest - re - num - octavius - uutf - ounit - ctypes - ctypes-foreign - ; - ppxlib = self.ppxlib.override { inherit (self') stdio; }; - cohttp-async = self.cohttp-async.override { - inherit (self') - ppx_sexp_conv - base - async - async_kernel - async_unix - core_unix - sexplib0 - core - ; - inherit uri-sexp cohttp conduit-async; - }; - janePackage = callPackage ../development/ocaml-modules/janestreet/janePackage_0_15.nix { }; - }; - - janeStreet = import ../development/ocaml-modules/janestreet/0.15.nix { - self = self' // jsDeps; - inherit ocaml; - inherit (pkgs) - bash - fetchpatch - fzf - lib - openssl - zstd - ; - }; - - # Packages that are not part of janestreet libraries, but still depend - # on v0.15 are kept in this scope, too. - - bap = - let - ppxlib = jsDeps.ppxlib; - lwt_ppx = self.lwt_ppx.override { inherit ppxlib; }; - sedlex = self.sedlex.override { inherit ppxlib ppx_expect; }; - in - callPackage ../development/ocaml-modules/bap { - inherit (pkgs.llvmPackages_14) llvm; - ezjsonm = self.ezjsonm.override { inherit sexplib0; }; - ppx_bitstring = self.ppx_bitstring.override { inherit ppxlib; }; - ocurl = self.ocurl.override { inherit lwt_ppx; }; - piqi = self.piqi.override { inherit sedlex; }; - piqi-ocaml = self.piqi-ocaml.override { inherit piqi; }; - }; - - biocaml = - let - angstrom = self.angstrom.override { inherit ppx_let; }; - in - callPackage ../development/ocaml-modules/biocaml { - uri = self.uri.override { inherit angstrom; }; - cfstream = self.cfstream.override { inherit core_kernel; }; - }; - - ppx_bap = callPackage ../development/ocaml-modules/ppx_bap { }; - } - )).overrideScope - liftJaneStreet; - javalib = callPackage ../development/ocaml-modules/javalib { }; jingoo = callPackage ../development/ocaml-modules/jingoo { }; @@ -1308,16 +1215,14 @@ let mirage-crypto-rng = callPackage ../development/ocaml-modules/mirage-crypto/rng.nix { }; - mirage-crypto-rng-async = callPackage ../development/ocaml-modules/mirage-crypto/rng-async.nix { }; - - mirage-crypto-rng-eio = callPackage ../development/ocaml-modules/mirage-crypto/rng-eio.nix { }; - - mirage-crypto-rng-lwt = callPackage ../development/ocaml-modules/mirage-crypto/rng-lwt.nix { }; - mirage-crypto-rng-mirage = callPackage ../development/ocaml-modules/mirage-crypto/rng-mirage.nix { }; + mirage-crypto-rng-miou-unix = + callPackage ../development/ocaml-modules/mirage-crypto/rng-miou-unix.nix + { }; + mirage-device = callPackage ../development/ocaml-modules/mirage-device { }; mirage-flow = callPackage ../development/ocaml-modules/mirage-flow { }; @@ -1677,6 +1582,8 @@ let path_glob = callPackage ../development/ocaml-modules/path_glob { }; + patricia-tree = callPackage ../development/ocaml-modules/patricia-tree { }; + pbkdf = callPackage ../development/ocaml-modules/pbkdf { }; pbrt = callPackage ../development/ocaml-modules/pbrt { }; @@ -1735,7 +1642,7 @@ let pprint = callPackage ../development/ocaml-modules/pprint { }; - ppx_bap = janeStreet_0_15.ppx_bap; + ppx_bap = callPackage ../development/ocaml-modules/ppx_bap { }; ppx_bitstring = callPackage ../development/ocaml-modules/bitstring/ppx.nix { }; @@ -1791,6 +1698,8 @@ let pratter = callPackage ../development/ocaml-modules/pratter { }; + prelude = callPackage ../development/ocaml-modules/prelude { }; + prettym = callPackage ../development/ocaml-modules/prettym { }; printbox = callPackage ../development/ocaml-modules/printbox { }; @@ -1799,6 +1708,8 @@ let process = callPackage ../development/ocaml-modules/process { }; + processor = callPackage ../development/ocaml-modules/processor { }; + prometheus = callPackage ../development/ocaml-modules/prometheus { }; progress = callPackage ../development/ocaml-modules/progress { }; @@ -1819,6 +1730,8 @@ let inherit (pkgs) pulseaudio; }; + pure-html = callPackage ../development/ocaml-modules/dream-html/pure.nix { }; + pure-splitmix = callPackage ../development/ocaml-modules/pure-splitmix { }; pyml = callPackage ../development/ocaml-modules/pyml { }; @@ -1936,6 +1849,8 @@ let sawja = callPackage ../development/ocaml-modules/sawja { }; + scfg = callPackage ../development/ocaml-modules/scfg { }; + secp256k1 = callPackage ../development/ocaml-modules/secp256k1 { inherit (pkgs) secp256k1; }; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 9ede09b000c5..6a307ac092c1 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -16,6 +16,7 @@ fetchurl, fetchpatch, fetchpatch2, + fetchDebianPatch, fetchFromGitHub, fetchFromGitLab, perl, @@ -17725,13 +17726,17 @@ with self; }; }; - IOTty = buildPerlPackage { + IOTty = buildPerlPackage rec { pname = "IO-Tty"; version = "1.20"; src = fetchurl { - url = "mirror://cpan/authors/id/T/TO/TODDR/IO-Tty-1.20.tar.gz"; + url = "mirror://cpan/authors/id/T/TO/TODDR/IO-Tty-${version}.tar.gz"; hash = "sha256-sVMJ/IViOJMonLmyuI36ntHmkVa3XymThVOkW+bXMK8="; }; + # Fix dynamic loading not available when cross compiling + postPatch = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' + sed -i '/use IO::File/d' Makefile.PL + ''; doCheck = !stdenv.hostPlatform.isDarwin; # openpty fails in the sandbox meta = { homepage = "https://github.com/toddr/IO-Tty"; @@ -32317,12 +32322,12 @@ with self; SysVirt = buildPerlModule rec { pname = "Sys-Virt"; - version = "11.0.0"; + version = "11.2.0"; src = fetchFromGitLab { owner = "libvirt"; repo = "libvirt-perl"; tag = "v${version}"; - hash = "sha256-k1fpVLWbFgZOUvCPLN6EpYgSfpwig5mHiWMRo8iRvZc="; + hash = "sha256-e/Zb9ox/ehfybpxiCAsEl97T1vjBNpRYJK/kmehPHsY="; }; nativeBuildInputs = [ pkgs.pkg-config ]; buildInputs = [ @@ -36347,13 +36352,24 @@ with self; }; }; - TextUnaccent = buildPerlPackage { + TextUnaccent = buildPerlPackage rec { pname = "Text-Unaccent"; version = "1.08"; src = fetchurl { url = "mirror://cpan/authors/id/L/LD/LDACHARY/Text-Unaccent-1.08.tar.gz"; hash = "sha256-J45u/Jsk82mclh77NuvmAqNAi1QVcgF97hMdFScocys="; }; + patches = [ + # Fix build with gcc 14 + # Convenience link to patch: https://salsa.debian.org/perl-team/modules/packages/libtext-unaccent-perl/-/blob/debian/1.08-2/debian/patches/bug848156.patch + (fetchDebianPatch { + inherit version; + pname = "libtext-unaccent-perl"; + debianRevision = "2"; + patch = "bug848156.patch"; + hash = "sha256-RonSt/nPFYgAxbNU0jyfe1YpipxAJrLcIxwaUPxddoE="; + }) + ]; # https://rt.cpan.org/Public/Bug/Display.html?id=124815 env.NIX_CFLAGS_COMPILE = "-DHAS_VPRINTF"; meta = { @@ -37729,20 +37745,51 @@ with self; }; }; - WWWCurl = buildPerlPackage { + WWWCurl = buildPerlPackage rec { pname = "WWW-Curl"; version = "4.17"; src = fetchurl { url = "mirror://cpan/authors/id/S/SZ/SZBALINT/WWW-Curl-4.17.tar.gz"; hash = "sha256-Uv+rEQ4yNI13XyQclz61b5awju28EQ130lfNsKJKt7o="; }; - patches = [ - (fetchpatch { - url = "https://aur.archlinux.org/cgit/aur.git/plain/makefile.patch?h=perl-www-curl&id=7e004bb8c5dc49c903a5d5fa5ff28c30a58e2595"; - hash = "sha256-8JZbe4IMfRZyLa118AAH/wsXrazOFy79OoH3Nuy57A4="; - name = "perl-www-curl-makefile.patch"; - }) - ]; + # Convenience link: https://salsa.debian.org/perl-team/modules/packages/libwww-curl-perl/-/tree/master/debian/patches + patches = + let + pname = "libwww-curl-perl"; + debianRevision = "12"; + in + [ + # needed for curl 7.50.2 compat + (fetchDebianPatch { + inherit debianRevision pname version; + patch = "Skip-preprocessor-symbol-only-CURL_STRICTER.patch"; + hash = "sha256-9NcGBjVTbXWr4axl9cKsaAKt+spxDf97M76KDX7vl0I="; + }) + # needed for curl 7.70.0 compat + (fetchDebianPatch { + inherit debianRevision pname version; + patch = "WWW-Curl-4.17-RT130591.patch"; + hash = "sha256-RoAjUSt8WwcxEgjDgitr8u+0BKcHUzIJts3ohKKmzg4="; + }) + # Ignore undefined DEPRECAT macros from curl 7.87.0 + (fetchDebianPatch { + inherit debianRevision pname version; + patch = "workaround_DEPRECAT.patch"; + hash = "sha256-oZBk2RUr2wVtrFhFN20TI2eWSCtcJbG+fPKhc1Br7JY="; + }) + # Fix typo in "therefore" in man page + (fetchDebianPatch { + inherit debianRevision pname version; + patch = "typo_therefore.patch"; + hash = "sha256-UQTyv9YgIZC3S5Ih3qazPmQR4RLY7IEAmuMJUAyjewA="; + }) + # needed for curl 8.13.0 compat + (fetchDebianPatch { + inherit debianRevision pname version; + patch = "curl_8.13.0.patch"; + hash = "sha256-VTp0CtVakGti23DvRJwnuP3//eS4BzV5/n+A2zg/a+k="; + }) + ]; env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-return-type"; buildInputs = [ pkgs.curl ]; doCheck = false; # performs network access diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index 5fa6bf77e42b..1847580e4306 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -389,6 +389,8 @@ lib.makeScope pkgs.newScope ( swoole = callPackage ../development/php-packages/swoole { }; + systemd = callPackage ../development/php-packages/systemd { }; + tideways = callPackage ../development/php-packages/tideways { }; uuid = callPackage ../development/php-packages/uuid { }; diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index e64605e3ee42..0083ce7d6dcc 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -166,7 +166,7 @@ mapAliases ({ cryptacular = throw "cryptacular was removed, because it was disabled on all python version since 3.6 and last updated in 2021"; # Added 2024-05-13 cryptography_vectors = "cryptography_vectors is no longer exposed in python*Packages because it is used for testing cryptography only."; # Added 2022-03-23 cufflinks = throw "cufflinks has removed, since it is abandoned and broken"; # added 2025-02-16 - curve25519-donna = throw "unused leaf package with dead upstream repository and no release in 10 years"; # added 2025-05-21 + curve25519-donna = throw "curve25519-donna was removed, since it is abandoned and unmaintained since 2015"; # added 2025-05-21 cx_Freeze = cx-freeze; # added 2023-08-02 cx_oracle = cx-oracle; # added 2024-01-03 d2to1 = throw "d2to1 is archived and no longer works with setuptools v68"; # added 2023-07-30 @@ -196,6 +196,9 @@ mapAliases ({ django_compat = django-compat; # added 2023-07-25 django-compat = throw "django-compat has been removed. It provided forward/backport compat for django 1.x, which is long end of life."; # added 2023-07-26 django_contrib_comments = django-contrib-comments; # added 2023-07-25 + django-crispy-bootstrap3 = crispy-bootstrap3; # added 2025-06-11 + django-crispy-bootstrap4 = crispy-bootstrap4; # added 2025-06-11 + django-crispy-bootstrap5 = crispy-bootstrap5; # added 2025-06-11 django-crontab = throw "django-crontabe has been removed beacause it is unmaintained since 2018"; # added 2024-08-21 django-discover-runner = throw "django-discover-runner was removed because it is no longer maintained."; # added 2022-11-21 django_environ = django-environ; # added 2021-12-25 @@ -535,6 +538,7 @@ mapAliases ({ pydns = py3dns; # added 2024-10-25 pydrive = throw "pydrive is broken and deprecated and has been replaced with pydrive2."; # added 2022-06-01 pyephember = throw "pyephember was removed because Home Assistant switched to pyephember2"; # added 2025-05-07 + pyezviz = throw "pyeziz has been removed in favor of pyevizapi, where development continues"; # added 2025-06-11 pyjet = throw "pyjet is deprecated, use fastjet instead"; # added 2023-05-10 pygame_sdl2 = pygame-sdl2; # added 2024-01-07 pygogo = throw "pygogo has been removed, since it is abandoned and had no maintainer"; # added 2024-07-27 @@ -667,6 +671,7 @@ mapAliases ({ qcodes-loop = throw "qcodes-loop has been removed due to deprecation"; # added 2023-11-30 qiskit-aqua = throw "qiskit-aqua has been removed due to deprecation, with its functionality moved to different qiskit packages"; rabbitpy = throw "rabbitpy has been removed, since it is unmaintained and broken"; # added 2023-07-01 + radian = throw "radian has been promoted to a top-level attribute name: `pkgs.radian`"; # added 2025-05-02 radicale_infcloud = radicale-infcloud; # added 2024-01-07 radio_beam = radio-beam; # added 2023-11-04 ratelimiter = throw "ratelimiter has been removed, since it is unmaintained and broken"; # added 2023-10-21 @@ -792,6 +797,7 @@ mapAliases ({ types-enum34 = throw "types-enum34 is obselete since Python 3.4"; # added 2025-02-15 types-paramiko = throw "types-paramiko has been removed because it was unused."; # added 2022-05-30 types-typed-ast = throw "types-typed-ast was removed because so was typed-ast"; # added 2025-05-24 + uamqp = throw "'uamqp' has been removed because it is broken and unmaintained."; # added 2025-06-11 ufoLib2 = ufolib2; # added 2024-01-07 ukrainealarm = throw "ukrainealarm has been removed, as it has been replaced as a home-assistant dependency by uasiren."; # added 2024-01-05 unblob-native = throw "unblob-native has been removed because its functionality is merged into unblob 25.4.14."; # Added 2025-05-02 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f7615794f9fb..1b091dda03be 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -93,7 +93,6 @@ self: super: with self; { adios2 = toPythonModule ( pkgs.adios2.override { - python3 = python; python3Packages = self; pythonSupport = true; } @@ -223,6 +222,10 @@ self: super: with self; { aiobroadlink = callPackage ../development/python-modules/aiobroadlink { }; + aiobtclientapi = callPackage ../development/python-modules/aiobtclientapi { }; + + aiobtclientrpc = callPackage ../development/python-modules/aiobtclientrpc { }; + aiocache = callPackage ../development/python-modules/aiocache { }; aiocoap = callPackage ../development/python-modules/aiocoap { }; @@ -1680,6 +1683,8 @@ self: super: with self; { basiciw = callPackage ../development/python-modules/basiciw { }; + basswood-av = callPackage ../development/python-modules/basswood-av { }; + batchgenerators = callPackage ../development/python-modules/batchgenerators { }; batchspawner = callPackage ../development/python-modules/batchspawner { }; @@ -2291,6 +2296,13 @@ self: super: with self; { catalogue = callPackage ../development/python-modules/catalogue { }; + catalyst = toPythonModule ( + pkgs.catalyst.override { + python3Packages = self; + pythonSupport = true; + } + ); + catboost = callPackage ../development/python-modules/catboost { catboost = pkgs.catboost.override { pythonSupport = true; @@ -2318,6 +2330,8 @@ self: super: with self; { cdcs = callPackage ../development/python-modules/cdcs { }; + cddlparser = callPackage ../development/python-modules/cddlparser { }; + celery = callPackage ../development/python-modules/celery { }; celery-batches = callPackage ../development/python-modules/celery-batches { }; @@ -2458,8 +2472,6 @@ self: super: with self; { chromadb = callPackage ../development/python-modules/chromadb { }; - chromadb_0 = callPackage ../development/python-modules/chromadb/0.nix { }; - chromaprint = callPackage ../development/python-modules/chromaprint { }; ci-info = callPackage ../development/python-modules/ci-info { }; @@ -2921,6 +2933,8 @@ self: super: with self; { cot = callPackage ../development/python-modules/cot { inherit (pkgs) qemu; }; + countryguess = callPackage ../development/python-modules/countryguess { }; + courlan = callPackage ../development/python-modules/courlan { }; coverage = callPackage ../development/python-modules/coverage { }; @@ -2979,6 +2993,12 @@ self: super: with self; { credstash = callPackage ../development/python-modules/credstash { }; + crispy-bootstrap3 = callPackage ../development/python-modules/crispy-bootstrap3 { }; + + crispy-bootstrap4 = callPackage ../development/python-modules/crispy-bootstrap4 { }; + + crispy-bootstrap5 = callPackage ../development/python-modules/crispy-bootstrap5 { }; + crochet = callPackage ../development/python-modules/crochet { }; crocoddyl = toPythonModule ( @@ -3156,6 +3176,16 @@ self: super: with self; { cython_0 = callPackage ../development/python-modules/cython/0.nix { }; + cython_3_1 = cython.overridePythonAttrs rec { + version = "3.1.1"; + src = pkgs.fetchFromGitHub { + owner = "cython"; + repo = "cython"; + tag = version; + hash = "sha256-KdRYPH3Do3KntgqLGIUSeD6DjmXNdFjI2ZSszzMjF6k="; + }; + }; + cytoolz = callPackage ../development/python-modules/cytoolz { }; dacite = callPackage ../development/python-modules/dacite { }; @@ -3737,12 +3767,6 @@ self: super: with self; { django-countries = callPackage ../development/python-modules/django-countries { }; - django-crispy-bootstrap3 = callPackage ../development/python-modules/django-crispy-bootstrap3 { }; - - django-crispy-bootstrap4 = callPackage ../development/python-modules/django-crispy-bootstrap4 { }; - - django-crispy-bootstrap5 = callPackage ../development/python-modules/django-crispy-bootstrap5 { }; - django-crispy-forms = callPackage ../development/python-modules/django-crispy-forms { }; django-crossdomainmedia = callPackage ../development/python-modules/django-crossdomainmedia { }; @@ -3847,6 +3871,8 @@ self: super: with self; { django-markup = callPackage ../development/python-modules/django-markup { }; + django-mcp-server = callPackage ../development/python-modules/django-mcp-server { }; + django-mdeditor = callPackage ../development/python-modules/django-mdeditor { }; django-mfa3 = callPackage ../development/python-modules/django-mfa3 { }; @@ -4004,8 +4030,7 @@ self: super: with self; { django_4 = callPackage ../development/python-modules/django/4.nix { }; - # Pre-release - django_5 = self.django_5_1; + django_5 = self.django_5_2; django_5_1 = callPackage ../development/python-modules/django/5_1.nix { }; @@ -4363,6 +4388,10 @@ self: super: with self; { dynd = callPackage ../development/python-modules/dynd { }; + e2b = callPackage ../development/python-modules/e2b { }; + + e2b-code-interpreter = callPackage ../development/python-modules/e2b-code-interpreter { }; + e3-core = callPackage ../development/python-modules/e3-core { }; e3-testsuite = callPackage ../development/python-modules/e3-testsuite { }; @@ -4989,6 +5018,8 @@ self: super: with self; { files-to-prompt = callPackage ../development/python-modules/files-to-prompt { }; + filesplit = callPackage ../development/python-modules/filesplit { }; + filetype = callPackage ../development/python-modules/filetype { }; filterpy = callPackage ../development/python-modules/filterpy { }; @@ -5201,6 +5232,8 @@ self: super: with self; { flask-wtf = callPackage ../development/python-modules/flask-wtf { }; + flatbencode = callPackage ../development/python-modules/flatbencode { }; + flatbuffers = callPackage ../development/python-modules/flatbuffers { inherit (pkgs) flatbuffers; }; flatdict = callPackage ../development/python-modules/flatdict { }; @@ -6195,7 +6228,11 @@ self: super: with self; { guessit = callPackage ../development/python-modules/guessit { }; - guestfs = callPackage ../development/python-modules/guestfs { qemu = pkgs.qemu; }; + guestfs = toPythonModule ( + pkgs.libguestfs.override { + python3 = python; + } + ); guidance = callPackage ../development/python-modules/guidance { }; @@ -6354,6 +6391,8 @@ self: super: with self; { hebg = callPackage ../development/python-modules/hebg { }; + heif-image-plugin = callPackage ../development/python-modules/heif-image-plugin { }; + help2man = callPackage ../development/python-modules/help2man { }; helpdev = callPackage ../development/python-modules/helpdev { }; @@ -6402,6 +6441,8 @@ self: super: with self; { hieroglyph = callPackage ../development/python-modules/hieroglyph { }; + highctidh = callPackage ../development/python-modules/highctidh { }; + highdicom = callPackage ../development/python-modules/highdicom { }; highspy = callPackage ../development/python-modules/highspy { }; @@ -9314,6 +9355,10 @@ self: super: with self; { mozilla-django-oidc = callPackage ../development/python-modules/mozilla-django-oidc { }; + mozjpeg_lossless_optimization = + callPackage ../development/python-modules/mozjpeg_lossless_optimization + { }; + mpd2 = callPackage ../development/python-modules/mpd2 { }; mpegdash = callPackage ../development/python-modules/mpegdash { }; @@ -9340,6 +9385,8 @@ self: super: with self; { mplleaflet = callPackage ../development/python-modules/mplleaflet { }; + mpltoolbox = callPackage ../development/python-modules/mpltoolbox { }; + mpmath = callPackage ../development/python-modules/mpmath { }; mpris-server = callPackage ../development/python-modules/mpris-server { }; @@ -10836,6 +10883,8 @@ self: super: with self; { oslotest = callPackage ../development/python-modules/oslotest { }; + osmapi = callPackage ../development/python-modules/osmapi { }; + osmnx = callPackage ../development/python-modules/osmnx { }; osmpythontools = callPackage ../development/python-modules/osmpythontools { }; @@ -10846,8 +10895,12 @@ self: super: with self; { osqp = callPackage ../development/python-modules/osqp { }; + osrparse = callPackage ../development/python-modules/osrparse { }; + oss2 = callPackage ../development/python-modules/oss2 { }; + ossapi = callPackage ../development/python-modules/ossapi { }; + ossfs = callPackage ../development/python-modules/ossfs { }; osxphotos = callPackage ../development/python-modules/osxphotos { }; @@ -10910,6 +10963,8 @@ self: super: with self; { paddlepaddle = callPackage ../development/python-modules/paddlepaddle { }; + paddlex = callPackage ../development/python-modules/paddlex { }; + pagelabels = callPackage ../development/python-modules/pagelabels { }; paginate = callPackage ../development/python-modules/paginate { }; @@ -11336,6 +11391,8 @@ self: super: with self; { inherit (pkgs.xorg) libxcb; }; + pillow-avif-plugin = callPackage ../development/python-modules/pillow-avif-plugin { }; + pillow-heif = callPackage ../development/python-modules/pillow-heif { }; pillow-jpls = callPackage ../development/python-modules/pillow-jpls { }; @@ -11483,6 +11540,8 @@ self: super: with self; { ploomber-extension = callPackage ../development/python-modules/ploomber-extension { }; + plopp = callPackage ../development/python-modules/plopp { }; + plotext = callPackage ../development/python-modules/plotext { }; plotille = callPackage ../development/python-modules/plotille { }; @@ -11968,6 +12027,8 @@ self: super: with self; { py-improv-ble-client = callPackage ../development/python-modules/py-improv-ble-client { }; + py-libnuma = callPackage ../development/python-modules/py-libnuma { }; + py-libzfs = callPackage ../development/python-modules/py-libzfs { }; py-lru-cache = callPackage ../development/python-modules/py-lru-cache { }; @@ -12503,8 +12564,6 @@ self: super: with self; { pyexploitdb = callPackage ../development/python-modules/pyexploitdb { }; - pyezviz = callPackage ../development/python-modules/pyezviz { }; - pyezvizapi = callPackage ../development/python-modules/pyezvizapi { }; pyface = callPackage ../development/python-modules/pyface { }; @@ -12708,6 +12767,8 @@ self: super: with self; { pyicumessageformat = callPackage ../development/python-modules/pyicumessageformat { }; + pyimgbox = callPackage ../development/python-modules/pyimgbox { }; + pyimpfuzzy = callPackage ../development/python-modules/pyimpfuzzy { inherit (pkgs) ssdeep; }; pyindego = callPackage ../development/python-modules/pyindego { }; @@ -13195,6 +13256,10 @@ self: super: with self; { pypandoc = callPackage ../development/python-modules/pypandoc { }; + pypaperless = callPackage ../development/python-modules/pypaperless { }; + + pyparsebluray = callPackage ../development/python-modules/pyparsebluray { }; + pyparser = callPackage ../development/python-modules/pyparser { }; pyparsing = callPackage ../development/python-modules/pyparsing { }; @@ -13594,8 +13659,14 @@ self: super: with self; { callPackage ../development/python-modules/pyside6 { inherit (pkgs) cmake ninja; } ); + pyside6-fluent-widgets = callPackage ../development/python-modules/pyside6-fluent-widgets { }; + pyside6-qtads = callPackage ../development/python-modules/pyside6-qtads { }; + pysidesix-frameless-window = + callPackage ../development/python-modules/pysidesix-frameless-window + { }; + pysigma = callPackage ../development/python-modules/pysigma { }; pysigma-backend-elasticsearch = @@ -13628,6 +13699,8 @@ self: super: with self; { pysignalclirestapi = callPackage ../development/python-modules/pysignalclirestapi { }; + pysignalr = callPackage ../development/python-modules/pysignalr { }; + pysigset = callPackage ../development/python-modules/pysigset { }; pysilero-vad = callPackage ../development/python-modules/pysilero-vad { }; @@ -13650,6 +13723,8 @@ self: super: with self; { pysmappee = callPackage ../development/python-modules/pysmappee { }; + pysmarlaapi = callPackage ../development/python-modules/pysmarlaapi { }; + pysmart = callPackage ../development/python-modules/pysmart { }; pysmartapp = callPackage ../development/python-modules/pysmartapp { }; @@ -14996,8 +15071,6 @@ self: super: with self; { rachiopy = callPackage ../development/python-modules/rachiopy { }; - radian = callPackage ../development/python-modules/radian { }; - radicale-infcloud = callPackage ../development/python-modules/radicale-infcloud { radicale = pkgs.radicale.override { python3 = python; }; }; @@ -15444,6 +15517,10 @@ self: super: with self; { robotframework = callPackage ../development/python-modules/robotframework { }; + robotframework-assertion-engine = + callPackage ../development/python-modules/robotframework-assertion-engine + { }; + robotframework-databaselibrary = callPackage ../development/python-modules/robotframework-databaselibrary { }; @@ -15780,6 +15857,8 @@ self: super: with self; { scim2-tester = callPackage ../development/python-modules/scim2-tester { }; + scipp = callPackage ../development/python-modules/scipp { }; + scipy = callPackage ../development/python-modules/scipy { }; scmrepo = callPackage ../development/python-modules/scmrepo { }; @@ -16860,6 +16939,9 @@ self: super: with self; { standard-aifc = if pythonAtLeast "3.13" then callPackage ../development/python-modules/standard-aifc { } else null; + standard-cgi = + if pythonAtLeast "3.13" then callPackage ../development/python-modules/standard-cgi { } else null; + standard-chunk = if pythonAtLeast "3.13" then callPackage ../development/python-modules/standard-chunk { } else null; @@ -17757,6 +17839,8 @@ self: super: with self; { torchWithoutRocm = self.torch.override { rocmSupport = false; }; + torchao = callPackage ../development/python-modules/torchao { }; + torchaudio = callPackage ../development/python-modules/torchaudio { }; torchaudio-bin = callPackage ../development/python-modules/torchaudio/bin.nix { }; @@ -17795,6 +17879,8 @@ self: super: with self; { torchvision-bin = callPackage ../development/python-modules/torchvision/bin.nix { }; + torf = callPackage ../development/python-modules/torf { }; + tornado = callPackage ../development/python-modules/tornado { }; torpy = callPackage ../development/python-modules/torpy { }; @@ -18557,6 +18643,8 @@ self: super: with self; { typing-inspection = callPackage ../development/python-modules/typing-inspection { }; + typing-utils = callPackage ../development/python-modules/typing-utils { }; + typing-validation = callPackage ../development/python-modules/typing-validation { }; typish = callPackage ../development/python-modules/typish { }; @@ -18579,8 +18667,6 @@ self: super: with self; { ua-parser-rs = callPackage ../development/python-modules/ua-parser-rs { }; - uamqp = callPackage ../development/python-modules/uamqp { }; - uarray = callPackage ../development/python-modules/uarray { }; uart-devices = callPackage ../development/python-modules/uart-devices { }; @@ -18697,6 +18783,10 @@ self: super: with self; { unique-log-filter = callPackage ../development/python-modules/unique-log-filter { }; + units-llnl = callPackage ../development/python-modules/units-llnl { + inherit (pkgs) units-llnl; + }; + unittest-data-provider = callPackage ../development/python-modules/unittest-data-provider { }; unittest-xml-reporting = callPackage ../development/python-modules/unittest-xml-reporting { }; @@ -18955,6 +19045,10 @@ self: super: with self; { inherit (pkgs.libsForQt5) wrapQtAppsHook; }; + vl-convert-python = callPackage ../development/python-modules/vl-convert-python { + inherit (pkgs) protobuf; + }; + vllm = callPackage ../development/python-modules/vllm { }; vmprof = callPackage ../development/python-modules/vmprof { }; @@ -19316,6 +19410,8 @@ self: super: with self; { wsdiscovery = callPackage ../development/python-modules/wsdiscovery { }; + wsdot = callPackage ../development/python-modules/wsdot { }; + wsgi-intercept = callPackage ../development/python-modules/wsgi-intercept { }; wsgidav = callPackage ../development/python-modules/wsgidav { }; @@ -19600,7 +19696,7 @@ self: super: with self; { yubico-client = callPackage ../development/python-modules/yubico-client { }; - z3-solver = (toPythonModule (pkgs.z3.override { python3 = python; })).python; + z3-solver = (toPythonModule (pkgs.z3.override { python3Packages = self; })).python; z3c-checkversions = callPackage ../development/python-modules/z3c-checkversions { }; diff --git a/pkgs/top-level/qt5-packages.nix b/pkgs/top-level/qt5-packages.nix index 0ca29f61a4e4..9d67d8024bcc 100644 --- a/pkgs/top-level/qt5-packages.nix +++ b/pkgs/top-level/qt5-packages.nix @@ -326,8 +326,6 @@ makeScopeWithSplicing' { xp-pen-g430-driver = callPackage ../os-specific/linux/xp-pen-drivers/g430 { }; xwaylandvideobridge = callPackage ../tools/wayland/xwaylandvideobridge { }; - - yuview = callPackage ../applications/video/yuview { }; } )) ); diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index 7126252d7976..61218537e7e3 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -43,7 +43,8 @@ # so users choosing to allow don't have to rebuild them every time. permittedInsecurePackages = [ "olm-3.2.16" # see PR #347899 - "kanidm_1_4-1.4.6" + "kanidm_1_5-1.5.0" + "kanidmWithSecretProvisioning_1_5-1.5.0" ]; }; diff --git a/pkgs/top-level/tcl-packages.nix b/pkgs/top-level/tcl-packages.nix index 6be1844b4c36..53646d3d61ea 100644 --- a/pkgs/top-level/tcl-packages.nix +++ b/pkgs/top-level/tcl-packages.nix @@ -7,6 +7,7 @@ in newScope, tcl, tk, + pkgs, }: lib.makeScope newScope ( @@ -17,5 +18,9 @@ lib.makeScope newScope ( critcl = self.callPackage ../development/tcl-modules/critcl { tcllib = self.tcllib.override { withCritcl = false; }; }; + + dbus = self.callPackage ../development/tcl-modules/dbus { + inherit (pkgs) dbus; + }; }) )