diff --git a/ci/default.nix b/ci/default.nix
index 32e067133422..42eeadc67def 100644
--- a/ci/default.nix
+++ b/ci/default.nix
@@ -18,7 +18,9 @@ let
pkgs = import nixpkgs' {
inherit system;
- config = { };
+ config = {
+ permittedInsecurePackages = [ "nix-2.3.18" ];
+ };
overlays = [ ];
};
diff --git a/doc/release-notes/rl-2511.section.md b/doc/release-notes/rl-2511.section.md
index 13a690ad5eb7..bc3a9ec10910 100644
--- a/doc/release-notes/rl-2511.section.md
+++ b/doc/release-notes/rl-2511.section.md
@@ -24,6 +24,8 @@
- `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).
+- `tooling-language-server` has been renamed to `deputy` (both the package and binary), following the rename of the upstream project.
+
- `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.
- `telegram-desktop` packages now uses `Telegram` for its binary. The previous name was `telegram-desktop`. This is due to [an upstream decision](https://github.com/telegramdesktop/tdesktop/commit/56ff5808a3d766f892bc3c3305afb106b629ef6f) to make the name consistent with other platforms.
diff --git a/lib/tests/release.nix b/lib/tests/release.nix
index 51260ea0300b..5a1752010745 100644
--- a/lib/tests/release.nix
+++ b/lib/tests/release.nix
@@ -2,9 +2,16 @@
# The pkgs used for dependencies for the testing itself
# Don't test properties of pkgs.lib, but rather the lib in the parent directory
system ? builtins.currentSystem,
- pkgs ? import ../.. { inherit system; } // {
- lib = throw "pkgs.lib accessed, but the lib tests should use nixpkgs' lib path directly!";
- },
+ pkgs ?
+ import ../.. {
+ inherit system;
+ config = {
+ permittedInsecurePackages = [ "nix-2.3.18" ];
+ };
+ }
+ // {
+ lib = throw "pkgs.lib accessed, but the lib tests should use nixpkgs' lib path directly!";
+ },
# For testing someone may edit impure.nix to return cross pkgs, use `pkgsBuildBuild` directly so everything here works.
pkgsBB ? pkgs.pkgsBuildBuild,
nix ? pkgs-nixVersions.stable,
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index a610d9337460..0948ed79fad0 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -703,7 +703,7 @@
github = "aduh95";
githubId = 14309773;
name = "Antoine du Hamel";
- keys = [ { fingerprint = "C0D6 2484 39F1 D560 4AAF FB40 21D9 00FF DB23 3756"; } ];
+ keys = [ { fingerprint = "5BE8 A3F6 C8A5 C01D 106C 0AD8 20B1 A390 B168 D356"; } ];
};
aerialx = {
email = "aaron+nixos@aaronlindsay.com";
@@ -9308,6 +9308,12 @@
githubId = 1447245;
name = "Robin Gloster";
};
+ globule655 = {
+ email = "globule655@gmail.com";
+ github = "globule655";
+ githubId = 47015416;
+ name = "globule655";
+ };
gm6k = {
email = "nix@quidecco.pl";
name = "Isidor Zeuner";
@@ -22911,7 +22917,10 @@
github = "ShadowRZ";
githubId = 23130178;
name = "夜坂雅";
- keys = [ { fingerprint = "3237 D49E 8F81 5A45 2133 64EA 4FF3 5790 F405 53A9"; } ];
+ keys = [
+ { fingerprint = "3237 D49E 8F81 5A45 2133 64EA 4FF3 5790 F405 53A9"; }
+ { fingerprint = "AC59 7AD3 89D1 CC56 18AD 1ED9 B712 3A2B 6B0A E434"; }
+ ];
};
shadows_withal = {
email = "shadows@with.al";
diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix
index 965653d0dd77..cd452d761b9c 100644
--- a/nixos/doc/manual/default.nix
+++ b/nixos/doc/manual/default.nix
@@ -245,6 +245,7 @@ rec {
--revision ${escapeShellArg revision} \
${optionsJSON}/${common.outputPath}/options.json \
$out/share/man/man5/configuration.nix.5
+ compressManPages $out
'';
}
diff --git a/nixos/doc/manual/redirects.json b/nixos/doc/manual/redirects.json
index 3cabffb61df8..922d806b4e16 100644
--- a/nixos/doc/manual/redirects.json
+++ b/nixos/doc/manual/redirects.json
@@ -1085,18 +1085,6 @@
"module-services-taskserver-manual-ca-management": [
"index.html#module-services-taskserver-manual-ca-management"
],
- "module-services-sourcehut": [
- "index.html#module-services-sourcehut"
- ],
- "module-services-sourcehut-basic-usage": [
- "index.html#module-services-sourcehut-basic-usage"
- ],
- "module-services-sourcehut-configuration": [
- "index.html#module-services-sourcehut-configuration"
- ],
- "module-services-sourcehut-httpd": [
- "index.html#module-services-sourcehut-httpd"
- ],
"module-services-gitlab": [
"index.html#module-services-gitlab"
],
@@ -2049,6 +2037,13 @@
"sec-release-25.11-incompatibilities": [
"release-notes.html#sec-release-25.11-incompatibilities"
],
+ "sec-release-25.11-incompatibilities-sourcehut-removed": [
+ "release-notes.html#sec-release-25.11-incompatibilities-sourcehut-removed",
+ "index.html#module-services-sourcehut",
+ "index.html#module-services-sourcehut-basic-usage",
+ "index.html#module-services-sourcehut-configuration",
+ "index.html#module-services-sourcehut-httpd"
+ ],
"sec-release-25.11-notable-changes": [
"release-notes.html#sec-release-25.11-notable-changes"
],
diff --git a/nixos/doc/manual/release-notes/rl-2505.section.md b/nixos/doc/manual/release-notes/rl-2505.section.md
index 7a3982c95795..44e8e6b84364 100644
--- a/nixos/doc/manual/release-notes/rl-2505.section.md
+++ b/nixos/doc/manual/release-notes/rl-2505.section.md
@@ -88,6 +88,8 @@ Alongside many enhancements to NixOS modules and general system improvements, th
- [Readeck](https://readeck.org/), a read-it later web-application. Available as [services.readeck](#opt-services.readeck.enable).
+- [EasyTier](https://github.com/EasyTier/EasyTier), a decentralized VPN solution. Available as [services.easytier](#opt-services.easytier.enable).
+
- [Traccar](https://www.traccar.org/), a modern GPS Tracking Platform. Available as [services.traccar](#opt-services.traccar.enable).
- [Schroot](https://codeberg.org/shelter/reschroot), a lightweight virtualisation tool. Securely enter a chroot and run a command or login shell. Available as [programs.schroot](#opt-programs.schroot.enable).
diff --git a/nixos/doc/manual/release-notes/rl-2511.section.md b/nixos/doc/manual/release-notes/rl-2511.section.md
index 1d3c230e682d..983537f73ede 100644
--- a/nixos/doc/manual/release-notes/rl-2511.section.md
+++ b/nixos/doc/manual/release-notes/rl-2511.section.md
@@ -62,6 +62,8 @@
- 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/).
+- []{#sec-release-25.11-incompatibilities-sourcehut-removed} The `services.sourcehut` module and corresponding `sourcehut` packages were removed due to being broken and unmaintained.
+
- The `yeahwm` package and `services.xserver.windowManager.yeahwm` module were removed due to the package being broken and unmaintained upstream.
- The `services.postgresql` module now sets up a systemd unit `postgresql.target`. Depending on `postgresql.target` guarantees that postgres is in read-write mode and initial/ensure scripts were executed. Depending on `postgresql.service` only guarantees a read-only connection.
@@ -100,6 +102,8 @@
- `services.gitea` supports sending notifications with sendmail again. To do this, activate the parameter `services.gitea.mailerUseSendmail` and configure SMTP server.
+- `services.ntpd-rs` now performs configuration validation.
+
- `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`.
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 9e22b7f5f32b..5eb40adc5647 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -915,7 +915,6 @@
./services/misc/sickbeard.nix
./services/misc/snapper.nix
./services/misc/soft-serve.nix
- ./services/misc/sourcehut
./services/misc/spice-autorandr.nix
./services/misc/spice-vdagentd.nix
./services/misc/spice-webdavd.nix
@@ -1116,6 +1115,7 @@
./services/networking/dnsproxy.nix
./services/networking/doh-proxy-rust.nix
./services/networking/doh-server.nix
+ ./services/networking/easytier.nix
./services/networking/ejabberd.nix
./services/networking/envoy.nix
./services/networking/epmd.nix
diff --git a/nixos/modules/programs/wayland/sway.nix b/nixos/modules/programs/wayland/sway.nix
index 6e282ce6b672..8eaacad1ad68 100644
--- a/nixos/modules/programs/wayland/sway.nix
+++ b/nixos/modules/programs/wayland/sway.nix
@@ -207,6 +207,5 @@ in
meta.maintainers = with lib.maintainers; [
primeos
- colemickens
];
}
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index 965510d4a526..4956940c8349 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -236,6 +236,9 @@ in
the program being unmaintained. The options `programs.msmtp.*` can be
used instead.
'')
+ (mkRemovedOptionModule [ "services" "sourcehut" ] ''
+ The sourcehut packages and the corresponding module have been removed due to being broken and unmaintained.
+ '')
(mkRemovedOptionModule [ "services" "tvheadend" ]
"The tvheadend package and the corresponding module have been removed as nobody was willing to maintain them and they were stuck on an unmaintained version that required FFmpeg 4; please see https://github.com/NixOS/nixpkgs/pull/332259 if you are interested in maintaining a newer version."
)
diff --git a/nixos/modules/services/backup/duplicati.nix b/nixos/modules/services/backup/duplicati.nix
index bb205d2ac0dd..b69510f0aecb 100644
--- a/nixos/modules/services/backup/duplicati.nix
+++ b/nixos/modules/services/backup/duplicati.nix
@@ -6,6 +6,12 @@
}:
let
cfg = config.services.duplicati;
+
+ parametersFile =
+ if cfg.parametersFile != null then
+ cfg.parametersFile
+ else
+ pkgs.writeText "duplicati-parameters" cfg.parameters;
in
{
options = {
@@ -53,12 +59,48 @@ in
Run as root with special care.
'';
};
+
+ parameters = lib.mkOption {
+ default = "";
+ type = lib.types.lines;
+ example = ''
+ --webservice-allowedhostnames=*
+ '';
+ description = ''
+ This option can be used to store some or all of the options given to the
+ commandline client.
+ Each line in this option should be of the format --option=value.
+ The options in this file take precedence over the options provided
+ through command line arguments.
+ Duplicati docs: parameters-file
+ '';
+ };
+
+ parametersFile = lib.mkOption {
+ default = null;
+ type = lib.types.nullOr lib.types.path;
+ description = ''
+ This file can be used to store some or all of the options given to the
+ commandline client.
+ Each line in the file option should be of the format --option=value.
+ The options in this file take precedence over the options provided
+ through command line arguments.
+ Duplicati docs: parameters-file
+ '';
+ };
};
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
+ assertions = [
+ {
+ assertion = !(cfg.parametersFile != null && cfg.parameters != "");
+ message = "cannot set both services.duplicati.parameters and services.duplicati.parametersFile at the same time";
+ }
+ ];
+
systemd.services.duplicati = {
description = "Duplicati backup";
after = [ "network.target" ];
@@ -67,7 +109,7 @@ in
{
User = cfg.user;
Group = "duplicati";
- ExecStart = "${cfg.package}/bin/duplicati-server --webservice-interface=${cfg.interface} --webservice-port=${toString cfg.port} --server-datafolder=${cfg.dataDir}";
+ ExecStart = "${cfg.package}/bin/duplicati-server --webservice-interface=${cfg.interface} --webservice-port=${toString cfg.port} --server-datafolder=${cfg.dataDir} --parameters-file=${parametersFile}";
Restart = "on-failure";
}
(lib.mkIf (cfg.dataDir == "/var/lib/duplicati") {
diff --git a/nixos/modules/services/home-automation/govee2mqtt.nix b/nixos/modules/services/home-automation/govee2mqtt.nix
index fe4063935adc..afdff7b8e047 100644
--- a/nixos/modules/services/home-automation/govee2mqtt.nix
+++ b/nixos/modules/services/home-automation/govee2mqtt.nix
@@ -52,7 +52,11 @@ in
systemd.services.govee2mqtt = {
description = "Govee2MQTT Service";
wantedBy = [ "multi-user.target" ];
- after = [ "networking.target" ];
+ after = [
+ "networking.target"
+ "network-online.target"
+ ];
+ requires = [ "network-online.target" ];
serviceConfig = {
CacheDirectory = "govee2mqtt";
Environment = [
diff --git a/nixos/modules/services/misc/gitea.nix b/nixos/modules/services/misc/gitea.nix
index d3b7e3b2e766..160e777f1f80 100644
--- a/nixos/modules/services/misc/gitea.nix
+++ b/nixos/modules/services/misc/gitea.nix
@@ -464,7 +464,7 @@ in
};
SENDMAIL_PATH = lib.mkOption {
- type = lib.types.path;
+ type = lib.types.str;
# somewhat duplicated with useSendmail but cannot be deduped because of infinite recursion
default =
if config.mailer.ENABLED && config.mailer.PROTOCOL == "sendmail" then
diff --git a/nixos/modules/services/misc/sourcehut/default.md b/nixos/modules/services/misc/sourcehut/default.md
deleted file mode 100644
index f965c395038a..000000000000
--- a/nixos/modules/services/misc/sourcehut/default.md
+++ /dev/null
@@ -1,93 +0,0 @@
-# Sourcehut {#module-services-sourcehut}
-
-[Sourcehut](https://sr.ht.com/) is an open-source,
-self-hostable software development platform. The server setup can be automated using
-[services.sourcehut](#opt-services.sourcehut.enable).
-
-## Basic usage {#module-services-sourcehut-basic-usage}
-
-Sourcehut is a Python and Go based set of applications.
-This NixOS module also provides basic configuration integrating Sourcehut into locally running
-`services.nginx`, `services.redis.servers.sourcehut`, `services.postfix`
-and `services.postgresql` services.
-
-A very basic configuration may look like this:
-```nix
-{ pkgs, ... }:
-let
- fqdn =
- let
- join = hostName: domain: hostName + optionalString (domain != null) ".${domain}";
- in join config.networking.hostName config.networking.domain;
-in {
-
- networking = {
- hostName = "srht";
- domain = "tld";
- firewall.allowedTCPPorts = [ 22 80 443 ];
- };
-
- services.sourcehut = {
- enable = true;
- git.enable = true;
- man.enable = true;
- meta.enable = true;
- nginx.enable = true;
- postfix.enable = true;
- postgresql.enable = true;
- redis.enable = true;
- settings = {
- "sr.ht" = {
- environment = "production";
- global-domain = fqdn;
- origin = "https://${fqdn}";
- # Produce keys with srht-keygen from sourcehut.coresrht.
- network-key = "/run/keys/path/to/network-key";
- service-key = "/run/keys/path/to/service-key";
- };
- webhooks.private-key= "/run/keys/path/to/webhook-key";
- };
- };
-
- security.acme.certs."${fqdn}".extraDomainNames = [
- "meta.${fqdn}"
- "man.${fqdn}"
- "git.${fqdn}"
- ];
-
- services.nginx = {
- enable = true;
- # only recommendedProxySettings are strictly required, but the rest make sense as well.
- recommendedTlsSettings = true;
- recommendedOptimisation = true;
- recommendedGzipSettings = true;
- recommendedProxySettings = true;
-
- # Settings to setup what certificates are used for which endpoint.
- virtualHosts = {
- "${fqdn}".enableACME = true;
- "meta.${fqdn}".useACMEHost = fqdn;
- "man.${fqdn}".useACMEHost = fqdn;
- "git.${fqdn}".useACMEHost = fqdn;
- };
- };
-}
-```
-
- The `hostName` option is used internally to configure the nginx
-reverse-proxy. The `settings` attribute set is
-used by the configuration generator and the result is placed in `/etc/sr.ht/config.ini`.
-
-## Configuration {#module-services-sourcehut-configuration}
-
-All configuration parameters are also stored in
-`/etc/sr.ht/config.ini` which is generated by
-the module and linked from the store to ensure that all values from `config.ini`
-can be modified by the module.
-
-## Using an alternative webserver as reverse-proxy (e.g. `httpd`) {#module-services-sourcehut-httpd}
-
-By default, `nginx` is used as reverse-proxy for `sourcehut`.
-However, it's possible to use e.g. `httpd` by explicitly disabling
-`nginx` using [](#opt-services.nginx.enable) and fixing the
-`settings`.
diff --git a/nixos/modules/services/misc/sourcehut/default.nix b/nixos/modules/services/misc/sourcehut/default.nix
deleted file mode 100644
index b6e785802206..000000000000
--- a/nixos/modules/services/misc/sourcehut/default.nix
+++ /dev/null
@@ -1,1568 +0,0 @@
-{
- config,
- pkgs,
- lib,
- ...
-}:
-
-let
- inherit (builtins) head tail;
- inherit (lib) generators maintainers types;
- inherit (lib.attrsets)
- attrValues
- filterAttrs
- mapAttrs
- mapAttrsToList
- recursiveUpdate
- ;
- inherit (lib.lists) flatten optional optionals;
- inherit (lib.options)
- literalExpression
- mkEnableOption
- mkOption
- mkPackageOption
- ;
- inherit (lib.strings)
- concatMapStringsSep
- concatStringsSep
- optionalString
- versionOlder
- ;
- inherit (lib.trivial) mapNullable;
- inherit (lib.modules)
- mkBefore
- mkDefault
- mkForce
- mkIf
- mkMerge
- mkRemovedOptionModule
- mkRenamedOptionModule
- ;
- inherit (config.services)
- nginx
- postfix
- postgresql
- redis
- ;
- inherit (config.users) users groups;
- cfg = config.services.sourcehut;
- domain = cfg.settings."sr.ht".global-domain;
- settingsFormat = pkgs.formats.ini {
- listToValue = concatMapStringsSep "," (generators.mkValueStringDefault { });
- mkKeyValue =
- k: v:
- optionalString (v != null) (
- generators.mkKeyValueDefault {
- mkValueString =
- v:
- if v == true then
- "yes"
- else if v == false then
- "no"
- else
- generators.mkValueStringDefault { } v;
- } "=" k v
- );
- };
- configIniOfService =
- srv:
- settingsFormat.generate "sourcehut-${srv}-config.ini"
- # Each service needs access to only a subset of sections (and secrets).
- (
- filterAttrs (k: v: v != null) (
- mapAttrs
- (
- section: v:
- let
- srvMatch = builtins.match "^([a-z]*)\\.sr\\.ht(::.*)?$" section;
- in
- if
- srvMatch == null # Include sections shared by all services
- || head srvMatch == srv # Include sections for the service being configured
- then
- v
- # Enable Web links and integrations between services.
- else if tail srvMatch == [ null ] && cfg.${head srvMatch}.enable then
- {
- inherit (v) origin;
- # mansrht crashes without it
- oauth-client-id = v.oauth-client-id or null;
- }
- # Drop sub-sections of other services
- else
- null
- )
- (
- recursiveUpdate cfg.settings {
- # Those paths are mounted using BindPaths= or BindReadOnlyPaths=
- # for services needing access to them.
- "builds.sr.ht::worker".buildlogs = "/var/log/sourcehut/buildsrht-worker";
- "git.sr.ht".post-update-script = "/usr/bin/git.sr.ht-update-hook";
- "git.sr.ht".repos = cfg.settings."git.sr.ht".repos;
- "hg.sr.ht".changegroup-script = "/usr/bin/hg.sr.ht-hook-changegroup";
- "hg.sr.ht".repos = cfg.settings."hg.sr.ht".repos;
- # Making this a per service option despite being in a global section,
- # so that it uses the redis-server used by the service.
- "sr.ht".redis-host = cfg.${srv}.redis.host;
- "sr.ht".assets = "${cfg.${srv}.package}/share/sourcehut";
- }
- )
- )
- );
- commonServiceSettings = srv: {
- origin = mkOption {
- description = "URL ${srv}.sr.ht is being served at (protocol://domain)";
- type = types.str;
- default = "https://${srv}.${domain}";
- defaultText = "https://${srv}.example.com";
- };
- debug-host = mkOption {
- description = "Address to bind the debug server to.";
- type = with types; nullOr str;
- default = null;
- };
- debug-port = mkOption {
- description = "Port to bind the debug server to.";
- type = with types; nullOr str;
- default = null;
- };
- connection-string = mkOption {
- description = "SQLAlchemy connection string for the database.";
- type = types.str;
- default = "postgresql:///localhost?user=${srv}srht&host=/run/postgresql";
- };
- migrate-on-upgrade = mkEnableOption "automatic migrations on package upgrade" // {
- default = true;
- };
- oauth-client-id = mkOption {
- description = "${srv}.sr.ht's OAuth client id for meta.sr.ht.";
- type = types.str;
- };
- oauth-client-secret = mkOption {
- description = "${srv}.sr.ht's OAuth client secret for meta.sr.ht.";
- type = types.path;
- apply = s: "<" + toString s;
- };
- api-origin = mkOption {
- description = "Origin URL for the API";
- type = types.str;
- default = "http://${cfg.listenAddress}:${toString (cfg.${srv}.port + 100)}";
- defaultText = lib.literalMD ''
- `"http://''${`[](#opt-services.sourcehut.listenAddress)`}:''${toString (`[](#opt-services.sourcehut.${srv}.port)` + 100)}"`
- '';
- };
- };
-
- # Specialized python containing all the modules
- python = pkgs.sourcehut.python.withPackages (
- ps: with ps; [
- gunicorn
- eventlet
- # For monitoring Celery: sudo -u listssrht celery --app listssrht.process -b redis+socket:///run/redis-sourcehut/redis.sock?virtual_host=1 flower
- flower
- # Sourcehut services
- srht
- buildsrht
- gitsrht
- hgsrht
- hubsrht
- listssrht
- mansrht
- metasrht
- # Not a python package
- #pagessrht
- pastesrht
- todosrht
- ]
- );
- mkOptionNullOrStr =
- description:
- mkOption {
- description = description;
- type = with types; nullOr str;
- default = null;
- };
-in
-{
- options.services.sourcehut = {
- enable = mkEnableOption ''
- sourcehut - git hosting, continuous integration, mailing list, ticket tracking, wiki
- and account management services
- '';
-
- listenAddress = mkOption {
- type = types.str;
- default = "localhost";
- description = "Address to bind to.";
- };
-
- python = mkOption {
- internal = true;
- type = types.package;
- default = python;
- description = ''
- The python package to use. It should contain references to the *srht modules and also
- gunicorn.
- '';
- };
-
- minio = {
- enable = mkEnableOption ''local minio integration'';
- };
-
- nginx = {
- enable = mkEnableOption ''local nginx integration'';
- virtualHost = mkOption {
- type = types.attrs;
- default = { };
- description = "Virtual-host configuration merged with all Sourcehut's virtual-hosts.";
- };
- };
-
- postfix = {
- enable = mkEnableOption ''local postfix integration'';
- };
-
- postgresql = {
- enable = mkEnableOption ''local postgresql integration'';
- };
-
- redis = {
- enable = mkEnableOption ''local redis integration in a dedicated redis-server'';
- };
-
- settings = mkOption {
- type = lib.types.submodule {
- freeformType = settingsFormat.type;
- options."sr.ht" = {
- global-domain = mkOption {
- description = "Global domain name.";
- type = types.str;
- example = "example.com";
- };
- environment = mkOption {
- description = "Values other than \"production\" adds a banner to each page.";
- type = types.enum [
- "development"
- "production"
- ];
- default = "development";
- };
- network-key = mkOption {
- description = ''
- An absolute file path (which should be outside the Nix-store)
- to a secret key to encrypt internal messages with. Use `srht-keygen network` to
- generate this key. It must be consistent between all services and nodes.
- '';
- type = types.path;
- apply = s: "<" + toString s;
- };
- owner-email = mkOption {
- description = "Owner's email.";
- type = types.str;
- default = "contact@example.com";
- };
- owner-name = mkOption {
- description = "Owner's name.";
- type = types.str;
- default = "John Doe";
- };
- site-blurb = mkOption {
- description = "Blurb for your site.";
- type = types.str;
- default = "the hacker's forge";
- };
- site-info = mkOption {
- description = "The top-level info page for your site.";
- type = types.str;
- default = "https://sourcehut.org";
- };
- service-key = mkOption {
- description = ''
- An absolute file path (which should be outside the Nix-store)
- to a key used for encrypting session cookies. Use `srht-keygen service` to
- generate the service key. This must be shared between each node of the same
- service (e.g. git1.sr.ht and git2.sr.ht), but different services may use
- different keys. If you configure all of your services with the same
- config.ini, you may use the same service-key for all of them.
- '';
- type = types.path;
- apply = s: "<" + toString s;
- };
- site-name = mkOption {
- description = "The name of your network of sr.ht-based sites.";
- type = types.str;
- default = "sourcehut";
- };
- source-url = mkOption {
- description = "The source code for your fork of sr.ht.";
- type = types.str;
- default = "https://git.sr.ht/~sircmpwn/srht";
- };
- };
- options.mail = {
- smtp-host = mkOptionNullOrStr "Outgoing SMTP host.";
- smtp-port = mkOption {
- description = "Outgoing SMTP port.";
- type = with types; nullOr port;
- default = null;
- };
- smtp-user = mkOptionNullOrStr "Outgoing SMTP user.";
- smtp-password = mkOptionNullOrStr "Outgoing SMTP password.";
- smtp-from = mkOption {
- type = types.str;
- description = "Outgoing SMTP FROM.";
- };
- error-to = mkOptionNullOrStr "Address receiving application exceptions";
- error-from = mkOptionNullOrStr "Address sending application exceptions";
- pgp-privkey = mkOption {
- type = types.str;
- description = ''
- An absolute file path (which should be outside the Nix-store)
- to an OpenPGP private key.
-
- Your PGP key information (DO NOT mix up pub and priv here)
- You must remove the password from your secret key, if present.
- You can do this with `gpg --edit-key [key-id]`,
- then use the `passwd` command and do not enter a new password.
- '';
- };
- pgp-pubkey = mkOption {
- type = with types; either path str;
- description = "OpenPGP public key.";
- };
- pgp-key-id = mkOption {
- type = types.str;
- description = "OpenPGP key identifier.";
- };
- };
- options.objects = {
- s3-upstream = mkOption {
- description = "Configure the S3-compatible object storage service.";
- type = with types; nullOr str;
- default = null;
- };
- s3-access-key = mkOption {
- description = "Access key to the S3-compatible object storage service";
- type = with types; nullOr str;
- default = null;
- };
- s3-secret-key = mkOption {
- description = ''
- An absolute file path (which should be outside the Nix-store)
- to the secret key of the S3-compatible object storage service.
- '';
- type = with types; nullOr path;
- default = null;
- apply = mapNullable (s: "<" + toString s);
- };
- };
- options.webhooks = {
- private-key = mkOption {
- description = ''
- An absolute file path (which should be outside the Nix-store)
- to a base64-encoded Ed25519 key for signing webhook payloads.
- This should be consistent for all *.sr.ht sites,
- as this key will be used to verify signatures
- from other sites in your network.
- Use the `srht-keygen webhook` command to generate a key.
- '';
- type = types.path;
- apply = s: "<" + toString s;
- };
- };
-
- options."builds.sr.ht" = commonServiceSettings "builds" // {
- allow-free = mkEnableOption "nonpaying users to submit builds";
- redis = mkOption {
- description = "The Redis connection used for the Celery worker.";
- type = types.str;
- default = "redis+socket:///run/redis-sourcehut-builds.sr.ht/redis.sock?virtual_host=2";
- };
- shell = mkOption {
- description = ''
- Scripts used to launch on SSH connection.
- `/usr/bin/master-shell` on master,
- `/usr/bin/runner-shell` on runner.
- If master and worker are on the same system
- set to `/usr/bin/runner-shell`.
- '';
- type = types.enum [
- "/usr/bin/master-shell"
- "/usr/bin/runner-shell"
- ];
- default = "/usr/bin/master-shell";
- };
- };
- options."builds.sr.ht::worker" = {
- bind-address = mkOption {
- description = ''
- HTTP bind address for serving local build information/monitoring.
- '';
- type = types.str;
- default = "localhost:8080";
- };
- buildlogs = mkOption {
- description = "Path to write build logs.";
- type = types.str;
- default = "/var/log/sourcehut/buildsrht-worker";
- };
- name = mkOption {
- description = ''
- Listening address and listening port
- of the build runner (with HTTP port if not 80).
- '';
- type = types.str;
- default = "localhost:5020";
- };
- timeout = mkOption {
- description = ''
- Max build duration.
- See .
- '';
- type = types.str;
- default = "3m";
- };
- };
-
- options."git.sr.ht" = commonServiceSettings "git" // {
- outgoing-domain = mkOption {
- description = "Outgoing domain.";
- type = types.str;
- default = "https://git.localhost.localdomain";
- };
- post-update-script = mkOption {
- description = ''
- A post-update script which is installed in every git repo.
- This setting is propagated to newer and existing repositories.
- '';
- type = types.path;
- default = "${cfg.git.package}/bin/git.sr.ht-update-hook";
- defaultText = "\${pkgs.sourcehut.gitsrht}/bin/git.sr.ht-update-hook";
- };
- repos = mkOption {
- description = ''
- Path to git repositories on disk.
- If changing the default, you must ensure that
- the gitsrht's user as read and write access to it.
- '';
- type = types.str;
- default = "/var/lib/sourcehut/git.sr.ht/repos";
- };
- webhooks = mkOption {
- description = "The Redis connection used for the webhooks worker.";
- type = types.str;
- default = "redis+socket:///run/redis-sourcehut-git.sr.ht/redis.sock?virtual_host=1";
- };
- };
- options."git.sr.ht::api" = {
- internal-ipnet = mkOption {
- description = ''
- Set of IP subnets which are permitted to utilize internal API
- authentication. This should be limited to the subnets
- from which your *.sr.ht services are running.
- See [](#opt-services.sourcehut.listenAddress).
- '';
- type = with types; listOf str;
- default = [
- "127.0.0.0/8"
- "::1/128"
- ];
- };
- };
-
- options."hg.sr.ht" = commonServiceSettings "hg" // {
- changegroup-script = mkOption {
- description = ''
- A changegroup script which is installed in every mercurial repo.
- This setting is propagated to newer and existing repositories.
- '';
- type = types.str;
- default = "${cfg.hg.package}/bin/hg.sr.ht-hook-changegroup";
- defaultText = "\${pkgs.sourcehut.hgsrht}/bin/hg.sr.ht-hook-changegroup";
- };
- repos = mkOption {
- description = ''
- Path to mercurial repositories on disk.
- If changing the default, you must ensure that
- the hgsrht's user as read and write access to it.
- '';
- type = types.str;
- default = "/var/lib/sourcehut/hg.sr.ht/repos";
- };
- srhtext = mkOptionNullOrStr ''
- Path to the srht mercurial extension
- (defaults to where the hgsrht code is)
- '';
- clone_bundle_threshold = mkOption {
- description = ".hg/store size (in MB) past which the nightly job generates clone bundles.";
- type = types.ints.unsigned;
- default = 50;
- };
- hg_ssh = mkOption {
- description = "Path to hg-ssh (if not in $PATH).";
- type = types.str;
- default = "${pkgs.mercurial}/bin/hg-ssh";
- defaultText = "\${pkgs.mercurial}/bin/hg-ssh";
- };
- webhooks = mkOption {
- description = "The Redis connection used for the webhooks worker.";
- type = types.str;
- default = "redis+socket:///run/redis-sourcehut-hg.sr.ht/redis.sock?virtual_host=1";
- };
- };
-
- options."hub.sr.ht" = commonServiceSettings "hub" // {
- };
-
- options."lists.sr.ht" = commonServiceSettings "lists" // {
- allow-new-lists = mkEnableOption "creation of new lists";
- notify-from = mkOption {
- description = "Outgoing email for notifications generated by users.";
- type = types.str;
- default = "lists-notify@localhost.localdomain";
- };
- posting-domain = mkOption {
- description = "Posting domain.";
- type = types.str;
- default = "lists.localhost.localdomain";
- };
- redis = mkOption {
- description = "The Redis connection used for the Celery worker.";
- type = types.str;
- default = "redis+socket:///run/redis-sourcehut-lists.sr.ht/redis.sock?virtual_host=2";
- };
- webhooks = mkOption {
- description = "The Redis connection used for the webhooks worker.";
- type = types.str;
- default = "redis+socket:///run/redis-sourcehut-lists.sr.ht/redis.sock?virtual_host=1";
- };
- };
- options."lists.sr.ht::worker" = {
- reject-mimetypes = mkOption {
- description = ''
- Comma-delimited list of Content-Types to reject. Messages with Content-Types
- included in this list are rejected. Multipart messages are always supported,
- and each part is checked against this list.
-
- Uses fnmatch for wildcard expansion.
- '';
- type = with types; listOf str;
- default = [ "text/html" ];
- };
- reject-url = mkOption {
- description = "Reject URL.";
- type = types.str;
- default = "https://man.sr.ht/lists.sr.ht/etiquette.md";
- };
- sock = mkOption {
- description = ''
- Path for the lmtp daemon's unix socket. Direct incoming mail to this socket.
- Alternatively, specify IP:PORT and an SMTP server will be run instead.
- '';
- type = types.str;
- default = "/tmp/lists.sr.ht-lmtp.sock";
- };
- sock-group = mkOption {
- description = ''
- The lmtp daemon will make the unix socket group-read/write
- for users in this group.
- '';
- type = types.str;
- default = "postfix";
- };
- };
-
- options."man.sr.ht" = commonServiceSettings "man" // {
- };
-
- options."meta.sr.ht" =
- removeAttrs (commonServiceSettings "meta") [
- "oauth-client-id"
- "oauth-client-secret"
- ]
- // {
- webhooks = mkOption {
- description = "The Redis connection used for the webhooks worker.";
- type = types.str;
- default = "redis+socket:///run/redis-sourcehut-meta.sr.ht/redis.sock?virtual_host=1";
- };
- welcome-emails = mkEnableOption "sending stock sourcehut welcome emails after signup";
- };
- options."meta.sr.ht::api" = {
- internal-ipnet = mkOption {
- description = ''
- Set of IP subnets which are permitted to utilize internal API
- authentication. This should be limited to the subnets
- from which your *.sr.ht services are running.
- See [](#opt-services.sourcehut.listenAddress).
- '';
- type = with types; listOf str;
- default = [
- "127.0.0.0/8"
- "::1/128"
- ];
- };
- };
- options."meta.sr.ht::aliases" = mkOption {
- description = "Aliases for the client IDs of commonly used OAuth clients.";
- type = with types; attrsOf int;
- default = { };
- example = {
- "git.sr.ht" = 12345;
- };
- };
- options."meta.sr.ht::billing" = {
- enabled = mkEnableOption "the billing system";
- stripe-public-key = mkOptionNullOrStr "Public key for Stripe. Get your keys at ";
- stripe-secret-key =
- mkOptionNullOrStr ''
- An absolute file path (which should be outside the Nix-store)
- to a secret key for Stripe. Get your keys at
- ''
- // {
- apply = mapNullable (s: "<" + toString s);
- };
- };
- options."meta.sr.ht::settings" = {
- registration = mkEnableOption "public registration";
- onboarding-redirect = mkOption {
- description = "Where to redirect new users upon registration.";
- type = types.str;
- default = "https://meta.localhost.localdomain";
- };
- user-invites = mkOption {
- description = ''
- How many invites each user is issued upon registration
- (only applicable if open registration is disabled).
- '';
- type = types.ints.unsigned;
- default = 5;
- };
- };
-
- options."pages.sr.ht" = commonServiceSettings "pages" // {
- gemini-certs = mkOption {
- description = ''
- An absolute file path (which should be outside the Nix-store)
- to Gemini certificates.
- '';
- type = with types; nullOr path;
- default = null;
- };
- max-site-size = mkOption {
- description = "Maximum size of any given site (post-gunzip), in MiB.";
- type = types.int;
- default = 1024;
- };
- user-domain = mkOption {
- description = ''
- Configures the user domain, if enabled.
- All users are given \.this.domain.
- '';
- type = with types; nullOr str;
- default = null;
- };
- };
- options."pages.sr.ht::api" = {
- internal-ipnet = mkOption {
- description = ''
- Set of IP subnets which are permitted to utilize internal API
- authentication. This should be limited to the subnets
- from which your *.sr.ht services are running.
- See [](#opt-services.sourcehut.listenAddress).
- '';
- type = with types; listOf str;
- default = [
- "127.0.0.0/8"
- "::1/128"
- ];
- };
- };
-
- options."paste.sr.ht" = commonServiceSettings "paste" // {
- };
-
- options."todo.sr.ht" = commonServiceSettings "todo" // {
- notify-from = mkOption {
- description = "Outgoing email for notifications generated by users.";
- type = types.str;
- default = "todo-notify@localhost.localdomain";
- };
- webhooks = mkOption {
- description = "The Redis connection used for the webhooks worker.";
- type = types.str;
- default = "redis+socket:///run/redis-sourcehut-todo.sr.ht/redis.sock?virtual_host=1";
- };
- };
- options."todo.sr.ht::mail" = {
- posting-domain = mkOption {
- description = "Posting domain.";
- type = types.str;
- default = "todo.localhost.localdomain";
- };
- sock = mkOption {
- description = ''
- Path for the lmtp daemon's unix socket. Direct incoming mail to this socket.
- Alternatively, specify IP:PORT and an SMTP server will be run instead.
- '';
- type = types.str;
- default = "/tmp/todo.sr.ht-lmtp.sock";
- };
- sock-group = mkOption {
- description = ''
- The lmtp daemon will make the unix socket group-read/write
- for users in this group.
- '';
- type = types.str;
- default = "postfix";
- };
- };
- };
- default = { };
- description = ''
- The configuration for the sourcehut network.
- '';
- };
-
- builds = {
- enableWorker = mkEnableOption ''
- worker for builds.sr.ht
-
- ::: {.warning}
- For smaller deployments, job runners can be installed alongside the master server
- but even if you only build your own software, integration with other services
- may cause you to run untrusted builds
- (e.g. automatic testing of patches via listssrht).
- See .
- :::
- '';
-
- images = mkOption {
- type = with types; attrsOf (attrsOf (attrsOf package));
- default = { };
- example = lib.literalExpression ''
- (let
- # Pinning unstable to allow usage with flakes and limit rebuilds.
- pkgs_unstable = builtins.fetchGit {
- url = "https://github.com/NixOS/nixpkgs";
- rev = "ff96a0fa5635770390b184ae74debea75c3fd534";
- ref = "nixos-unstable";
- };
- image_from_nixpkgs = (import ("''${pkgs.sourcehut.buildsrht}/lib/images/nixos/image.nix") {
- pkgs = (import pkgs_unstable {});
- });
- in
- {
- nixos.unstable.x86_64 = image_from_nixpkgs;
- }
- )'';
- description = ''
- Images for builds.sr.ht. Each package should be distro.release.arch and point to a /nix/store/package/root.img.qcow2.
- '';
- };
- };
-
- git = {
- gitPackage = mkPackageOption pkgs "git" {
- example = "gitFull";
- };
- fcgiwrap.preforkProcess = mkOption {
- description = "Number of fcgiwrap processes to prefork.";
- type = types.int;
- default = 4;
- };
- };
-
- hg = {
- mercurialPackage = mkPackageOption pkgs "mercurial" { };
- cloneBundles = mkOption {
- type = types.bool;
- default = false;
- description = ''
- Generate clonebundles (which require more disk space but dramatically speed up cloning large repositories).
- '';
- };
- };
-
- lists = {
- process = {
- extraArgs = mkOption {
- type = with types; listOf str;
- default = [
- "--loglevel DEBUG"
- "--pool eventlet"
- "--without-heartbeat"
- ];
- description = "Extra arguments passed to the Celery responsible for processing mails.";
- };
- celeryConfig = mkOption {
- type = types.lines;
- default = "";
- description = "Content of the `celeryconfig.py` used by the Celery of `listssrht-process`.";
- };
- };
- };
- };
-
- config = mkIf cfg.enable (mkMerge [
- {
- # TODO: make configurable
- environment.systemPackages = [ pkgs.sourcehut.coresrht ];
-
- services.sourcehut.settings = {
- "git.sr.ht".outgoing-domain = mkDefault "https://git.${domain}";
- "lists.sr.ht".notify-from = mkDefault "lists-notify@${domain}";
- "lists.sr.ht".posting-domain = mkDefault "lists.${domain}";
- "meta.sr.ht::settings".onboarding-redirect = mkDefault "https://meta.${domain}";
- "todo.sr.ht".notify-from = mkDefault "todo-notify@${domain}";
- "todo.sr.ht::mail".posting-domain = mkDefault "todo.${domain}";
- };
- }
- (mkIf cfg.postgresql.enable {
- assertions = [
- {
- assertion = postgresql.enable;
- message = "postgresql must be enabled and configured";
- }
- ];
- })
- (mkIf cfg.postfix.enable {
- assertions = [
- {
- assertion = postfix.enable;
- message = "postfix must be enabled and configured";
- }
- ];
- # Needed for sharing the LMTP sockets with JoinsNamespaceOf=
- systemd.services.postfix.serviceConfig.PrivateTmp = true;
- })
- (mkIf cfg.redis.enable {
- services.redis.vmOverCommit = mkDefault true;
- })
- (mkIf cfg.nginx.enable {
- assertions = [
- {
- assertion = nginx.enable;
- message = "nginx must be enabled and configured";
- }
- ];
- # For proxyPass= in virtual-hosts for Sourcehut services.
- services.nginx.recommendedProxySettings = mkDefault true;
- })
- (mkIf (cfg.builds.enable || cfg.git.enable || cfg.hg.enable) {
- services.openssh = {
- # Note that sshd will continue to honor AuthorizedKeysFile.
- # Note that you may want automatically rotate
- # or link to /dev/null the following log files:
- # - /var/log/gitsrht-dispatch
- # - /var/log/{build,git,hg}srht-keys
- # - /var/log/{git,hg}srht-shell
- # - /var/log/gitsrht-update-hook
- authorizedKeysCommand = ''/etc/ssh/sourcehut/subdir/srht-dispatch "%u" "%h" "%t" "%k"'';
- # srht-dispatch will setuid/setgid according to [git.sr.ht::dispatch]
- authorizedKeysCommandUser = "root";
- extraConfig = ''
- PermitUserEnvironment SRHT_*
- '';
- startWhenNeeded = false;
- };
- environment.etc."ssh/sourcehut/config.ini".source =
- settingsFormat.generate "sourcehut-dispatch-config.ini"
- (filterAttrs (k: v: k == "git.sr.ht::dispatch") cfg.settings);
- environment.etc."ssh/sourcehut/subdir/srht-dispatch" = {
- # sshd_config(5): The program must be owned by root, not writable by group or others
- mode = "0755";
- source = pkgs.writeShellScript "srht-dispatch-wrapper" ''
- set -e
- set -x
- cd /etc/ssh/sourcehut/subdir
- ${cfg.git.package}/bin/git.sr.ht-dispatch "$@"
- '';
- };
- systemd.tmpfiles.settings."10-sourcehut-gitsrht" = mkIf cfg.git.enable (mkMerge [
- (builtins.listToAttrs (
- map
- (name: {
- name = "/var/log/sourcehut/git.sr.ht-${name}";
- value.f = {
- inherit (cfg.git) user group;
- mode = "0644";
- };
- })
- [
- "keys"
- "shell"
- "update-hook"
- ]
- ))
- {
- ${cfg.settings."git.sr.ht".repos}.d = {
- inherit (cfg.git) user group;
- mode = "0644";
- };
- }
- ]);
- systemd.services.sshd = {
- preStart = mkIf cfg.hg.enable ''
- chown ${cfg.hg.user}:${cfg.hg.group} /var/log/sourcehut/hg.sr.ht-keys
- '';
- serviceConfig = {
- LogsDirectory = "sourcehut";
- BindReadOnlyPaths =
- # Note that those /usr/bin/* paths are hardcoded in multiple places in *.sr.ht,
- # for instance to get the user from the [git.sr.ht::dispatch] settings.
- # *srht-keys needs to:
- # - access a redis-server in [sr.ht] redis-host,
- # - access the PostgreSQL server in [*.sr.ht] connection-string,
- # - query metasrht-api (through the HTTP API).
- # Using this has the side effect of creating empty files in /usr/bin/
- optionals cfg.builds.enable [
- "${pkgs.writeShellScript "buildsrht-keys-wrapper" ''
- set -e
- cd /run/sourcehut/buildsrht/subdir
- exec -a "$0" ${cfg.builds.package}/bin/builds.sr.ht-keys "$@"
- ''}:/usr/bin/buildsrht-keys"
- "${cfg.builds.package}/bin/master-shell:/usr/bin/master-shell"
- "${cfg.builds.package}/bin/runner-shell:/usr/bin/runner-shell"
- ]
- ++ optionals cfg.git.enable [
- # /path/to/gitsrht-keys calls /path/to/gitsrht-shell,
- # or [git.sr.ht] shell= if set.
- "${pkgs.writeShellScript "gitsrht-keys-wrapper" ''
- set -e
- cd /run/sourcehut/git.sr.ht/subdir
- exec -a "$0" ${cfg.git.package}/bin/git.sr.ht-keys "$@"
- ''}:/usr/bin/git.sr.ht-keys"
- "${pkgs.writeShellScript "gitsrht-shell-wrapper" ''
- set -e
- cd /run/sourcehut/git.sr.ht/subdir
- export PATH="${cfg.git.gitPackage}/bin:$PATH"
- export SRHT_CONFIG=/run/sourcehut/git.sr.ht/config.ini
- exec -a "$0" ${cfg.git.package}/bin/git.sr.ht-shell "$@"
- ''}:/usr/bin/git.sr.ht-shell"
- "${pkgs.writeShellScript "gitsrht-update-hook" ''
- set -e
- export SRHT_CONFIG=/run/sourcehut/git.sr.ht/config.ini
- # hooks/post-update calls /usr/bin/gitsrht-update-hook as hooks/stage-3
- # but this wrapper being a bash script, it overrides $0 with /usr/bin/gitsrht-update-hook
- # hence this hack to put hooks/stage-3 back into gitsrht-update-hook's $0
- if test "''${STAGE3:+set}"
- then
- exec -a hooks/stage-3 ${cfg.git.package}/bin/git.sr.ht-update-hook "$@"
- else
- export STAGE3=set
- exec -a "$0" ${cfg.git.package}/bin/git.sr.ht-update-hook "$@"
- fi
- ''}:/usr/bin/git.sr.ht-update-hook"
- ]
- ++ optionals cfg.hg.enable [
- # /path/to/hgsrht-keys calls /path/to/hgsrht-shell,
- # or [hg.sr.ht] shell= if set.
- "${pkgs.writeShellScript "hgsrht-keys-wrapper" ''
- set -e
- cd /run/sourcehut/hg.sr.ht/subdir
- exec -a "$0" ${cfg.hg.package}/bin/hg.sr.ht-keys "$@"
- ''}:/usr/bin/hg.sr.ht-keys"
- "${pkgs.writeShellScript "hg.sr.ht-shell-wrapper" ''
- set -e
- cd /run/sourcehut/hg.sr.ht/subdir
- exec -a "$0" ${cfg.hg.package}/bin/hg.sr.ht-shell "$@"
- ''}:/usr/bin/hg.sr.ht-shell"
- # Mercurial's changegroup hooks are run relative to their repository's directory,
- # but hgsrht-hook-changegroup looks up ./config.ini
- "${pkgs.writeShellScript "hgsrht-hook-changegroup" ''
- set -e
- test -e "''$PWD"/config.ini ||
- ln -s /run/sourcehut/hg.sr.ht/config.ini "''$PWD"/config.ini
- exec -a "$0" ${cfg.hg.package}/bin/hg.sr.ht-hook-changegroup "$@"
- ''}:/usr/bin/hg.sr.ht-hook-changegroup"
- ];
- };
- };
- })
- ]);
-
- imports = [
-
- (import ./service.nix "builds" {
- inherit configIniOfService;
- pkgname = "buildsrht";
- port = 5002;
- extraServices."build.sr.ht-api" = {
- serviceConfig.Restart = "always";
- serviceConfig.RestartSec = "5s";
- serviceConfig.ExecStart = "${cfg.builds.package}/bin/builds.sr.ht-api -b ${cfg.listenAddress}:${
- toString (cfg.builds.port + 100)
- }";
- };
- # TODO: a celery worker on the master and worker are apparently needed
- extraServices."build.sr.ht-worker" =
- let
- qemuPackage = pkgs.qemu_kvm;
- serviceName = "buildsrht-worker";
- statePath = "/var/lib/sourcehut/${serviceName}";
- in
- mkIf cfg.builds.enableWorker {
- path = [
- pkgs.openssh
- pkgs.docker
- ];
- preStart = ''
- set -x
- if test -z "$(docker images -q qemu:latest 2>/dev/null)" \
- || test "$(cat ${statePath}/docker-image-qemu)" != "${qemuPackage.version}"
- then
- # Create and import qemu:latest image for docker
- ${
- pkgs.dockerTools.streamLayeredImage {
- name = "qemu";
- tag = "latest";
- contents = [ qemuPackage ];
- }
- } | docker load
- # Mark down current package version
- echo '${qemuPackage.version}' >${statePath}/docker-image-qemu
- fi
- '';
- serviceConfig = {
- ExecStart = "${cfg.builds.package}/bin/builds.sr.ht-worker";
- BindPaths = [ cfg.settings."builds.sr.ht::worker".buildlogs ];
- LogsDirectory = [ "sourcehut/${serviceName}" ];
- RuntimeDirectory = [ "sourcehut/${serviceName}/subdir" ];
- StateDirectory = [ "sourcehut/${serviceName}" ];
- TimeoutStartSec = "1800s";
- # buildsrht-worker looks up ../config.ini
- WorkingDirectory = "-" + "/run/sourcehut/${serviceName}/subdir";
- };
- };
- extraConfig =
- let
- image_dirs = flatten (
- mapAttrsToList (
- distro: revs:
- mapAttrsToList (
- rev: archs:
- mapAttrsToList (
- arch: image:
- pkgs.runCommand "buildsrht-images" { } ''
- mkdir -p $out/${distro}/${rev}/${arch}
- ln -s ${image}/*.qcow2 $out/${distro}/${rev}/${arch}/root.img.qcow2
- ''
- ) archs
- ) revs
- ) cfg.builds.images
- );
- image_dir_pre = pkgs.symlinkJoin {
- name = "buildsrht-worker-images-pre";
- paths = image_dirs;
- # FIXME: not working, apparently because ubuntu/latest is a broken link
- # ++ [ "${cfg.builds.package}/lib/images" ];
- };
- image_dir = pkgs.runCommand "buildsrht-worker-images" { } ''
- mkdir -p $out/images
- cp -Lr ${image_dir_pre}/* $out/images
- '';
- in
- mkMerge [
- {
- users.users.${cfg.builds.user}.shell = pkgs.bash;
-
- virtualisation.docker.enable = true;
-
- services.sourcehut.settings = mkMerge [
- {
- # Note that git.sr.ht::dispatch is not a typo,
- # gitsrht-dispatch always use this section
- "git.sr.ht::dispatch"."/usr/bin/builds.sr.ht-keys" =
- mkDefault "${cfg.builds.user}:${cfg.builds.group}";
- }
- (mkIf cfg.builds.enableWorker {
- "builds.sr.ht::worker".shell = "/usr/bin/runner-shell";
- "builds.sr.ht::worker".images = mkDefault "${image_dir}/images";
- "builds.sr.ht::worker".controlcmd = mkDefault "${image_dir}/images/control";
- })
- ];
- }
- (mkIf cfg.builds.enableWorker {
- users.groups = {
- docker.members = [ cfg.builds.user ];
- };
- })
- (mkIf (cfg.builds.enableWorker && cfg.nginx.enable) {
- # Allow nginx access to buildlogs
- users.users.${nginx.user}.extraGroups = [ cfg.builds.group ];
- systemd.services.nginx = {
- serviceConfig.BindReadOnlyPaths = [ cfg.settings."builds.sr.ht::worker".buildlogs ];
- };
- services.nginx.virtualHosts."logs.${domain}" = mkMerge [
- {
- /*
- FIXME: is a listen needed?
- listen = with builtins;
- # FIXME: not compatible with IPv6
- let address = split ":" cfg.settings."builds.sr.ht::worker".name; in
- [{ addr = elemAt address 0; port = lib.toInt (elemAt address 2); }];
- */
- locations."/logs/".alias = cfg.settings."builds.sr.ht::worker".buildlogs + "/";
- }
- cfg.nginx.virtualHost
- ];
- })
- ];
- })
-
- (import ./service.nix "git" (
- let
- baseService = {
- path = [ cfg.git.gitPackage ];
- serviceConfig.BindPaths = [
- "${cfg.settings."git.sr.ht".repos}:/var/lib/sourcehut/git.sr.ht/repos"
- ];
- };
- in
- {
- inherit configIniOfService;
- mainService = mkMerge [
- baseService
- {
- serviceConfig.StateDirectory = [
- "sourcehut/git.sr.ht"
- "sourcehut/git.sr.ht/repos"
- ];
- preStart = mkIf (versionOlder config.system.stateVersion "22.05") (mkBefore ''
- # Fix Git hooks of repositories pre-dating https://github.com/NixOS/nixpkgs/pull/133984
- (
- set +f
- shopt -s nullglob
- for h in /var/lib/sourcehut/git.sr.ht/repos/~*/*/hooks/{pre-receive,update,post-update}
- do ln -fnsv /usr/bin/git.sr.ht-update-hook "$h"; done
- )
- '');
- }
- ];
- port = 5001;
- webhooks = true;
- extraTimers."git.sr.ht-periodic" = {
- service = baseService;
- timerConfig.OnCalendar = [ "*:0/20" ];
- };
- extraConfig = mkMerge [
- {
- # https://stackoverflow.com/questions/22314298/git-push-results-in-fatal-protocol-error-bad-line-length-character-this
- # Probably could use gitsrht-shell if output is restricted to just parameters...
- users.users.${cfg.git.user}.shell = pkgs.bash;
- services.sourcehut.settings = {
- "git.sr.ht::dispatch"."/usr/bin/git.sr.ht-keys" = mkDefault "${cfg.git.user}:${cfg.git.group}";
- };
- systemd.services.sshd = baseService;
- }
- (mkIf cfg.nginx.enable {
- services.nginx.virtualHosts."git.${domain}" = {
- locations."/authorize" = {
- proxyPass = "http://${cfg.listenAddress}:${toString cfg.git.port}";
- extraConfig = ''
- proxy_pass_request_body off;
- proxy_set_header Content-Length "";
- proxy_set_header X-Original-URI $request_uri;
- '';
- };
- locations."~ ^/([^/]+)/([^/]+)/(HEAD|info/refs|objects/info/.*|git-upload-pack).*$" = {
- root = "/var/lib/sourcehut/git.sr.ht/repos";
- fastcgiParams = {
- GIT_HTTP_EXPORT_ALL = "";
- GIT_PROJECT_ROOT = "$document_root";
- PATH_INFO = "$uri";
- SCRIPT_FILENAME = "${cfg.git.gitPackage}/bin/git-http-backend";
- };
- extraConfig = ''
- auth_request /authorize;
- fastcgi_read_timeout 500s;
- fastcgi_pass unix:/run/git.sr.ht-fcgiwrap.sock;
- gzip off;
- '';
- };
- };
- systemd.sockets."git.sr.ht-fcgiwrap" = {
- before = [ "nginx.service" ];
- wantedBy = [
- "sockets.target"
- "git.sr.ht.service"
- ];
- # This path remains accessible to nginx.service, which has no RootDirectory=
- socketConfig.ListenStream = "/run/git.sr.ht-fcgiwrap.sock";
- socketConfig.SocketUser = nginx.user;
- socketConfig.SocketMode = "600";
- };
- })
- ];
- extraServices."git.sr.ht-api".serviceConfig = {
- Restart = "always";
- RestartSec = "5s";
- ExecStart = "${cfg.git.package}/bin/git.sr.ht-api -b ${cfg.listenAddress}:${toString (cfg.git.port + 100)}";
- BindPaths = [ "${cfg.settings."git.sr.ht".repos}:/var/lib/sourcehut/git.sr.ht/repos" ];
- };
- extraServices."git.sr.ht-fcgiwrap" = mkIf cfg.nginx.enable {
- serviceConfig = {
- # Socket is passed by gitsrht-fcgiwrap.socket
- ExecStart = "${pkgs.fcgiwrap}/bin/fcgiwrap -c ${toString cfg.git.fcgiwrap.preforkProcess}";
- # No need for config.ini
- ExecStartPre = mkForce [ ];
- # FIXME: Fails to start with dynamic user
- # User = null;
- # DynamicUser = true;
- BindReadOnlyPaths = [ "${cfg.settings."git.sr.ht".repos}:/var/lib/sourcehut/git.sr.ht/repos" ];
- IPAddressDeny = "any";
- InaccessiblePaths = [
- "-+/run/postgresql"
- "-+/run/redis-sourcehut"
- ];
- PrivateNetwork = true;
- RestrictAddressFamilies = mkForce [ "none" ];
- SystemCallFilter = mkForce [
- "@system-service"
- "~@aio"
- "~@keyring"
- "~@memlock"
- "~@privileged"
- "~@resources"
- "~@setuid"
- # @timer is needed for alarm()
- ];
- };
- };
- }
- ))
-
- (import ./service.nix "hg" (
- let
- baseService = {
- path = [ cfg.hg.mercurialPackage ];
- serviceConfig.BindPaths = [ "${cfg.settings."hg.sr.ht".repos}:/var/lib/sourcehut/hg.sr.ht/repos" ];
- };
- in
- {
- inherit configIniOfService;
- mainService = mkMerge [
- baseService
- {
- serviceConfig.StateDirectory = [
- "sourcehut/hg.sr.ht"
- "sourcehut/hg.sr.ht/repos"
- ];
- }
- ];
- port = 5010;
- webhooks = true;
- extraTimers."hg.sr.ht-periodic" = {
- service = baseService;
- timerConfig.OnCalendar = [ "*:0/20" ];
- };
- extraTimers."hg.sr.ht-clonebundles" = mkIf cfg.hg.cloneBundles {
- service = baseService;
- timerConfig.OnCalendar = [ "daily" ];
- timerConfig.AccuracySec = "1h";
- };
- extraServices."hg.sr.ht-api" = {
- serviceConfig.Restart = "always";
- serviceConfig.RestartSec = "5s";
- serviceConfig.ExecStart = "${cfg.hgsrht.package}/bin/hg.sr.ht-api -b ${cfg.listenAddress}:${toString (cfg.hg.port + 100)}";
- };
- extraConfig = mkMerge [
- {
- users.users.${cfg.hg.user}.shell = pkgs.bash;
- services.sourcehut.settings = {
- # Note that git.sr.ht::dispatch is not a typo,
- # gitsrht-dispatch always uses this section.
- "git.sr.ht::dispatch"."/usr/bin/hg.sr.ht-keys" = mkDefault "${cfg.hg.user}:${cfg.hg.group}";
- };
- systemd.services.sshd = baseService;
- }
- (mkIf cfg.nginx.enable {
- # Allow nginx access to repositories
- users.users.${nginx.user}.extraGroups = [ cfg.hg.group ];
- services.nginx.virtualHosts."hg.${domain}" = {
- locations."/authorize" = {
- proxyPass = "http://${cfg.listenAddress}:${toString cfg.hg.port}";
- extraConfig = ''
- proxy_pass_request_body off;
- proxy_set_header Content-Length "";
- proxy_set_header X-Original-URI $request_uri;
- '';
- };
- # Let clients reach pull bundles. We don't really need to lock this down even for
- # private repos because the bundles are named after the revision hashes...
- # so someone would need to know or guess a SHA value to download anything.
- # TODO: proxyPass to an hg serve service?
- locations."~ ^/[~^][a-z0-9_]+/[a-zA-Z0-9_.-]+/\\.hg/bundles/.*$" = {
- root = "/var/lib/nginx/hg.sr.ht/repos";
- extraConfig = ''
- auth_request /authorize;
- gzip off;
- '';
- };
- };
- systemd.services.nginx = {
- serviceConfig.BindReadOnlyPaths = [
- "${cfg.settings."hg.sr.ht".repos}:/var/lib/nginx/hg.sr.ht/repos"
- ];
- };
- })
- ];
- }
- ))
-
- (import ./service.nix "hub" {
- inherit configIniOfService;
- port = 5014;
- extraConfig = {
- services.nginx = mkIf cfg.nginx.enable {
- virtualHosts."hub.${domain}" = mkMerge [
- {
- serverAliases = [ domain ];
- }
- cfg.nginx.virtualHost
- ];
- };
- };
- })
-
- (import ./service.nix "lists" (
- let
- srvsrht = "listssrht";
- in
- {
- inherit configIniOfService;
- port = 5006;
- webhooks = true;
- extraServices."lists.sr.ht-api" = {
- serviceConfig.Restart = "always";
- serviceConfig.RestartSec = "5s";
- serviceConfig.ExecStart = "${cfg.lists.package}/bin/lists.sr.ht-api -b ${cfg.listenAddress}:${
- toString (cfg.lists.port + 100)
- }";
- };
- # Receive the mail from Postfix and enqueue them into Redis and PostgreSQL
- extraServices."lists.sr.ht-lmtp" = {
- wants = [ "postfix.service" ];
- unitConfig.JoinsNamespaceOf = optional cfg.postfix.enable "postfix.service";
- serviceConfig.ExecStart = "${cfg.lists.package}/bin/lists.sr.ht-lmtp";
- # Avoid crashing: os.chown(sock, os.getuid(), sock_gid)
- serviceConfig.PrivateUsers = mkForce false;
- };
- # Dequeue the mails from Redis and dispatch them
- extraServices."lists.sr.ht-process" = {
- serviceConfig = {
- preStart = ''
- cp ${pkgs.writeText "${srvsrht}-webhooks-celeryconfig.py" cfg.lists.process.celeryConfig} \
- /run/sourcehut/${srvsrht}-webhooks/celeryconfig.py
- '';
- ExecStart =
- "${cfg.python}/bin/celery --app listssrht.process worker --hostname listssrht-process@%%h "
- + concatStringsSep " " cfg.lists.process.extraArgs;
- # Avoid crashing: os.getloadavg()
- ProcSubset = mkForce "all";
- };
- };
- extraConfig = mkIf cfg.postfix.enable {
- users.groups.${postfix.group}.members = [ cfg.lists.user ];
- services.sourcehut.settings."lists.sr.ht::mail".sock-group = postfix.group;
- services.postfix = {
- destination = [ "lists.${domain}" ];
- # FIXME: an accurate recipient list should be queried
- # from the lists.sr.ht PostgreSQL database to avoid backscattering.
- # But usernames are unfortunately not in that database but in meta.sr.ht.
- # Note that two syntaxes are allowed:
- # - ~username/list-name@lists.${domain}
- # - u.username.list-name@lists.${domain}
- localRecipients = [ "@lists.${domain}" ];
- transport = ''
- lists.${domain} lmtp:unix:${cfg.settings."lists.sr.ht::worker".sock}
- '';
- };
- };
- }
- ))
-
- (import ./service.nix "man" {
- inherit configIniOfService;
- port = 5004;
- })
-
- (import ./service.nix "meta" {
- inherit configIniOfService;
- port = 5000;
- webhooks = true;
- extraTimers.metasrht-daily.timerConfig = {
- OnCalendar = [ "daily" ];
- AccuracySec = "1h";
- };
- extraServices."meta.sr.ht-api" = {
- serviceConfig.Restart = "always";
- serviceConfig.RestartSec = "5s";
- preStart =
- "set -x\n"
- + concatStringsSep "\n\n" (
- attrValues (
- mapAttrs (
- k: s:
- let
- srvMatch = builtins.match "^([a-z]*)\\.sr\\.ht$" k;
- srv = head srvMatch;
- in
- # Configure client(s) as "preauthorized"
- optionalString (srvMatch != null && cfg.${srv}.enable && ((s.oauth-client-id or null) != null)) ''
- # Configure ${srv}'s OAuth client as "preauthorized"
- ${postgresql.package}/bin/psql '${cfg.settings."meta.sr.ht".connection-string}' \
- -c "UPDATE oauthclient SET preauthorized = true WHERE client_id = '${s.oauth-client-id}'"
- ''
- ) cfg.settings
- )
- );
- serviceConfig.ExecStart = "${cfg.meta.package}/bin/meta.sr.ht-api -b ${cfg.listenAddress}:${toString (cfg.meta.port + 100)}";
- };
- extraConfig = {
- assertions = [
- {
- assertion =
- let
- s = cfg.settings."meta.sr.ht::billing";
- in
- s.enabled == "yes" -> (s.stripe-public-key != null && s.stripe-secret-key != null);
- message = "If meta.sr.ht::billing is enabled, the keys must be defined.";
- }
- ];
- environment.systemPackages = optional cfg.meta.enable (
- pkgs.writeShellScriptBin "meta.sr.ht-manageuser" ''
- set -eux
- if test "$(${pkgs.coreutils}/bin/id -n -u)" != '${cfg.meta.user}'
- then exec sudo -u '${cfg.meta.user}' "$0" "$@"
- else
- # In order to load config.ini
- if cd /run/sourcehut/meta.sr.ht
- then exec ${cfg.meta.package}/bin/meta.sr.ht-manageuser "$@"
- else cat <${stateDir}/db
- fi
-
- ${optionalString cfg.settings.${iniKey}.migrate-on-upgrade ''
- # Just try all the migrations because they're not linked to the version
- for sql in ${package}/share/sql/migrations/*.sql; do
- ${postgresql.package}/bin/psql '${cfg.settings.${iniKey}.connection-string}' -f "$sql" || true
- done
- ''}
-
- # Disable webhook
- touch ${stateDir}/webhook
- '';
- serviceConfig = {
- ExecStart = mkForce "${cfg.pages.package}/bin/pages.sr.ht -b ${cfg.listenAddress}:${toString cfg.pages.port}";
- };
- };
- })
-
- (import ./service.nix "paste" {
- inherit configIniOfService;
- port = 5011;
- extraServices."paste.sr.ht-api" = {
- serviceConfig.Restart = "always";
- serviceConfig.RestartSec = "5s";
- serviceConfig.ExecStart = "${cfg.paste.package}/bin/paste.sr.ht-api -b ${cfg.listenAddress}:${
- toString (cfg.paste.port + 100)
- }";
- };
- })
-
- (import ./service.nix "todo" {
- inherit configIniOfService;
- port = 5003;
- webhooks = true;
- extraServices."todo.sr.ht-api" = {
- serviceConfig.Restart = "always";
- serviceConfig.RestartSec = "5s";
- serviceConfig.ExecStart = "${cfg.todo.package}/bin/todo.sr.ht-api -b ${cfg.listenAddress}:${toString (cfg.todo.port + 100)}";
- };
- extraServices."todo.sr.ht-lmtp" = {
- wants = [ "postfix.service" ];
- unitConfig.JoinsNamespaceOf = optional cfg.postfix.enable "postfix.service";
- serviceConfig.ExecStart = "${cfg.todo.package}/bin/todo.sr.ht-lmtp";
- # Avoid crashing: os.chown(sock, os.getuid(), sock_gid)
- serviceConfig.PrivateUsers = mkForce false;
- };
- extraConfig = mkIf cfg.postfix.enable {
- users.groups.${postfix.group}.members = [ cfg.todo.user ];
- services.sourcehut.settings."todo.sr.ht::mail".sock-group = postfix.group;
- services.postfix = {
- destination = [ "todo.${domain}" ];
- # FIXME: an accurate recipient list should be queried
- # from the todo.sr.ht PostgreSQL database to avoid backscattering.
- # But usernames are unfortunately not in that database but in meta.sr.ht.
- # Note that two syntaxes are allowed:
- # - ~username/tracker-name@todo.${domain}
- # - u.username.tracker-name@todo.${domain}
- localRecipients = [ "@todo.${domain}" ];
- transport = ''
- todo.${domain} lmtp:unix:${cfg.settings."todo.sr.ht::mail".sock}
- '';
- };
- };
- })
-
- (mkRenamedOptionModule
- [ "services" "sourcehut" "originBase" ]
- [ "services" "sourcehut" "settings" "sr.ht" "global-domain" ]
- )
- (mkRenamedOptionModule
- [ "services" "sourcehut" "address" ]
- [ "services" "sourcehut" "listenAddress" ]
- )
-
- (mkRemovedOptionModule [ "services" "sourcehut" "dispatch" ] ''
- dispatch is deprecated. See https://sourcehut.org/blog/2022-08-01-dispatch-deprecation-plans/
- for more information.
- '')
-
- (mkRemovedOptionModule [ "services" "sourcehut" "services" ] ''
- This option was removed in favor of individual .enable flags.
- '')
- ];
-
- meta.doc = ./default.md;
- meta.maintainers = with maintainers; [
- tomberek
- nessdoor
- christoph-heiss
- ];
-}
diff --git a/nixos/modules/services/misc/sourcehut/service.nix b/nixos/modules/services/misc/sourcehut/service.nix
deleted file mode 100644
index 65df1a05b86e..000000000000
--- a/nixos/modules/services/misc/sourcehut/service.nix
+++ /dev/null
@@ -1,499 +0,0 @@
-srv:
-{
- configIniOfService,
- pkgname ? "${srv}srht", # Because "buildsrht" does not follow that pattern (missing an "s").
- srvsrht ? "${srv}.sr.ht",
- iniKey ? "${srv}.sr.ht",
- webhooks ? false,
- extraTimers ? { },
- mainService ? { },
- extraServices ? { },
- extraConfig ? { },
- port,
-}:
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-let
- inherit (lib) types;
- inherit (lib.attrsets) mapAttrs optionalAttrs;
- inherit (lib.lists) optional;
- inherit (lib.modules)
- mkBefore
- mkDefault
- mkForce
- mkIf
- mkMerge
- ;
- inherit (lib.options) mkEnableOption mkOption mkPackageOption;
- inherit (lib.strings) concatStringsSep hasSuffix optionalString;
- inherit (config.services) postgresql;
- redis = config.services.redis.servers."sourcehut-${srvsrht}";
- inherit (config.users) users;
- cfg = config.services.sourcehut;
- configIni = configIniOfService srv;
- srvCfg = cfg.${srv};
- baseService =
- serviceName:
- {
- allowStripe ? false,
- }:
- extraService:
- let
- runDir = "/run/sourcehut/${serviceName}";
- rootDir = "/run/sourcehut/chroots/${serviceName}";
- in
- mkMerge [
- extraService
- {
- after =
- [ "network.target" ]
- ++ optional cfg.postgresql.enable "postgresql.target"
- ++ optional cfg.redis.enable "redis-sourcehut-${srvsrht}.service";
- requires =
- optional cfg.postgresql.enable "postgresql.target"
- ++ optional cfg.redis.enable "redis-sourcehut-${srvsrht}.service";
- path = [ pkgs.gawk ];
- environment.HOME = runDir;
- serviceConfig = {
- User = mkDefault srvCfg.user;
- Group = mkDefault srvCfg.group;
- RuntimeDirectory = [
- "sourcehut/${serviceName}"
- # Used by *srht-keys which reads ../config.ini
- "sourcehut/${serviceName}/subdir"
- "sourcehut/chroots/${serviceName}"
- ];
- RuntimeDirectoryMode = "2750";
- # No need for the chroot path once inside the chroot
- InaccessiblePaths = [ "-+${rootDir}" ];
- # g+rx is for group members (eg. fcgiwrap or nginx)
- # to read Git/Mercurial repositories, buildlogs, etc.
- # o+x is for intermediate directories created by BindPaths= and like,
- # as they're owned by root:root.
- UMask = "0026";
- RootDirectory = rootDir;
- RootDirectoryStartOnly = true;
- PrivateTmp = true;
- MountAPIVFS = true;
- # config.ini is looked up in there, before /etc/srht/config.ini
- # Note that it fails to be set in ExecStartPre=
- WorkingDirectory = mkDefault ("-" + runDir);
- BindReadOnlyPaths =
- [
- builtins.storeDir
- "/etc"
- "/run/booted-system"
- "/run/current-system"
- "/run/systemd"
- ]
- ++ optional cfg.postgresql.enable "/run/postgresql"
- ++ optional cfg.redis.enable "/run/redis-sourcehut-${srvsrht}";
- # LoadCredential= are unfortunately not available in ExecStartPre=
- # Hence this one is run as root (the +) with RootDirectoryStartOnly=
- # to reach credentials wherever they are.
- # Note that each systemd service gets its own ${runDir}/config.ini file.
- ExecStartPre = mkBefore [
- (
- "+"
- + pkgs.writeShellScript "${serviceName}-credentials" ''
- set -x
- # Replace values beginning with a '<' by the content of the file whose name is after.
- gawk '{ if (match($0,/^([^=]+=)<(.+)/,m)) { getline f < m[2]; print m[1] f } else print $0 }' ${configIni} |
- ${optionalString (!allowStripe) "gawk '!/^stripe-secret-key=/' |"}
- install -o ${srvCfg.user} -g root -m 400 /dev/stdin ${runDir}/config.ini
- ''
- )
- ];
- # The following options are only for optimizing:
- # systemd-analyze security
- AmbientCapabilities = "";
- CapabilityBoundingSet = "";
- # ProtectClock= adds DeviceAllow=char-rtc r
- DeviceAllow = "";
- LockPersonality = true;
- MemoryDenyWriteExecute = true;
- NoNewPrivileges = true;
- PrivateDevices = true;
- PrivateMounts = true;
- PrivateNetwork = mkDefault false;
- PrivateUsers = true;
- ProcSubset = "pid";
- ProtectClock = true;
- ProtectControlGroups = true;
- ProtectHome = true;
- ProtectHostname = true;
- ProtectKernelLogs = true;
- ProtectKernelModules = true;
- ProtectKernelTunables = true;
- ProtectProc = "invisible";
- ProtectSystem = "strict";
- RemoveIPC = true;
- RestrictAddressFamilies = [
- "AF_UNIX"
- "AF_INET"
- "AF_INET6"
- ];
- RestrictNamespaces = true;
- RestrictRealtime = true;
- RestrictSUIDSGID = true;
- #SocketBindAllow = [ "tcp:${toString srvCfg.port}" "tcp:${toString srvCfg.prometheusPort}" ];
- #SocketBindDeny = "any";
- SystemCallFilter = [
- "@system-service"
- "~@aio"
- "~@keyring"
- "~@memlock"
- "~@privileged"
- "~@timer"
- "@chown"
- "@setuid"
- ];
- SystemCallArchitectures = "native";
- };
- }
- ];
-in
-{
- options.services.sourcehut.${srv} =
- {
- enable = mkEnableOption "${srv} service";
-
- package = mkPackageOption pkgs [ "sourcehut" pkgname ] { };
-
- user = mkOption {
- type = types.str;
- default = srvsrht;
- description = ''
- User for ${srv}.sr.ht.
- '';
- };
-
- group = mkOption {
- type = types.str;
- default = srvsrht;
- description = ''
- Group for ${srv}.sr.ht.
- Membership grants access to the Git/Mercurial repositories by default,
- but not to the config.ini file (where secrets are).
- '';
- };
-
- port = mkOption {
- type = types.port;
- default = port;
- description = ''
- Port on which the "${srv}" backend should listen.
- '';
- };
-
- redis = {
- host = mkOption {
- type = types.str;
- default = "unix:///run/redis-sourcehut-${srvsrht}/redis.sock?db=0";
- example = "redis://shared.wireguard:6379/0";
- description = ''
- The redis host URL. This is used for caching and temporary storage, and must
- be shared between nodes (e.g. git1.sr.ht and git2.sr.ht), but need not be
- shared between services. It may be shared between services, however, with no
- ill effect, if this better suits your infrastructure.
- '';
- };
- };
-
- postgresql = {
- database = mkOption {
- type = types.str;
- default = "${srv}.sr.ht";
- description = ''
- PostgreSQL database name for the ${srv}.sr.ht service,
- used if [](#opt-services.sourcehut.postgresql.enable) is `true`.
- '';
- };
- };
-
- gunicorn = {
- extraArgs = mkOption {
- type = with types; listOf str;
- default = [
- "--timeout 120"
- "--workers 1"
- "--log-level=info"
- ];
- description = "Extra arguments passed to Gunicorn.";
- };
- };
- }
- // optionalAttrs webhooks {
- webhooks = {
- extraArgs = mkOption {
- type = with types; listOf str;
- default = [
- "--loglevel DEBUG"
- "--pool eventlet"
- "--without-heartbeat"
- ];
- description = "Extra arguments passed to the Celery responsible for webhooks.";
- };
- celeryConfig = mkOption {
- type = types.lines;
- default = "";
- description = "Content of the `celeryconfig.py` used by the Celery responsible for webhooks.";
- };
- };
- };
-
- config = lib.mkIf (cfg.enable && srvCfg.enable) (mkMerge [
- extraConfig
- {
- users = {
- users = {
- "${srvCfg.user}" = {
- isSystemUser = true;
- group = mkDefault srvCfg.group;
- description = mkDefault "sourcehut user for ${srv}.sr.ht";
- };
- };
- groups =
- {
- "${srvCfg.group}" = { };
- }
- //
- optionalAttrs
- (cfg.postgresql.enable && hasSuffix "0" (postgresql.settings.unix_socket_permissions or ""))
- {
- "postgres".members = [ srvCfg.user ];
- }
- // optionalAttrs (cfg.redis.enable && hasSuffix "0" (redis.settings.unixsocketperm or "")) {
- "redis-sourcehut-${srvsrht}".members = [ srvCfg.user ];
- };
- };
-
- services.nginx = mkIf cfg.nginx.enable {
- virtualHosts."${srv}.${cfg.settings."sr.ht".global-domain}" = mkMerge [
- {
- forceSSL = mkDefault true;
- locations."/".proxyPass = "http://${cfg.listenAddress}:${toString srvCfg.port}";
- locations."/static" = {
- root = "${srvCfg.package}/${pkgs.sourcehut.python.sitePackages}/${srvsrht}";
- extraConfig = mkDefault ''
- expires 30d;
- '';
- };
- locations."/query" = mkIf (cfg.settings.${iniKey} ? api-origin) {
- proxyPass = cfg.settings.${iniKey}.api-origin;
- extraConfig = ''
- add_header 'Access-Control-Allow-Origin' '*';
- add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
- add_header 'Access-Control-Allow-Headers' 'User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
-
- if ($request_method = 'OPTIONS') {
- add_header 'Access-Control-Max-Age' 1728000;
- add_header 'Content-Type' 'text/plain; charset=utf-8';
- add_header 'Content-Length' 0;
- return 204;
- }
-
- add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
- '';
- };
- }
- cfg.nginx.virtualHost
- ];
- };
-
- services.postgresql = mkIf cfg.postgresql.enable {
- authentication = ''
- local ${srvCfg.postgresql.database} ${srvCfg.user} trust
- '';
- ensureDatabases = [ srvCfg.postgresql.database ];
- ensureUsers = map (name: {
- inherit name;
- # We don't use it because we have a special default database name with dots.
- # TODO(for maintainers of sourcehut): migrate away from custom preStart script.
- ensureDBOwnership = false;
- }) [ srvCfg.user ];
- };
-
- services.sourcehut.settings = mkMerge [
- {
- "${srv}.sr.ht".origin = mkDefault "https://${srv}.${cfg.settings."sr.ht".global-domain}";
- }
-
- (mkIf cfg.postgresql.enable {
- "${srv}.sr.ht".connection-string =
- mkDefault "postgresql:///${srvCfg.postgresql.database}?user=${srvCfg.user}&host=/run/postgresql";
- })
- ];
-
- services.redis.servers."sourcehut-${srvsrht}" = mkIf cfg.redis.enable {
- enable = true;
- databases = 3;
- syslog = true;
- # TODO: set a more informed value
- save = mkDefault [
- [
- 1800
- 10
- ]
- [
- 300
- 100
- ]
- ];
- settings = {
- # TODO: set a more informed value
- maxmemory = "128MB";
- maxmemory-policy = "volatile-ttl";
- };
- };
-
- systemd.services = mkMerge [
- {
- "${srvsrht}" = baseService srvsrht { allowStripe = srv == "meta"; } (mkMerge [
- {
- description = "sourcehut ${srv}.sr.ht website service";
- before = optional cfg.nginx.enable "nginx.service";
- wants = optional cfg.nginx.enable "nginx.service";
- wantedBy = [ "multi-user.target" ];
- path = optional cfg.postgresql.enable postgresql.package;
- # Beware: change in credentials' content will not trigger restart.
- restartTriggers = [ configIni ];
- serviceConfig = {
- Type = "simple";
- Restart = mkDefault "always";
- #RestartSec = mkDefault "2min";
- StateDirectory = [ "sourcehut/${srvsrht}" ];
- StateDirectoryMode = "2750";
- ExecStart =
- "${cfg.python}/bin/gunicorn ${pkgname}.app:app --name ${srvsrht} --bind ${cfg.listenAddress}:${toString srvCfg.port} "
- + concatStringsSep " " srvCfg.gunicorn.extraArgs;
- };
- preStart =
- let
- package = srvCfg.package;
- version = package.version;
- stateDir = "/var/lib/sourcehut/${srvsrht}";
- in
- mkBefore ''
- set -x
- # Use the /run/sourcehut/${srvsrht}/config.ini
- # installed by a previous ExecStartPre= in baseService
- cd /run/sourcehut/${srvsrht}
-
- if test ! -e ${stateDir}/db; then
- # Setup the initial database.
- # Note that it stamps the alembic head afterward
- ${postgresql.package}/bin/psql -d ${srvsrht} -f ${package}/share/sourcehut/${srvsrht}-schema.sql
- echo ${version} >${stateDir}/db
- fi
-
- ${optionalString cfg.settings.${iniKey}.migrate-on-upgrade ''
- if [ "$(cat ${stateDir}/db)" != "${version}" ]; then
- # Manage schema migrations using alembic
- ${package}/bin/${srvsrht}-migrate -a upgrade head
- echo ${version} >${stateDir}/db
- fi
- ''}
-
- # Update copy of each users' profile to the latest
- # See https://lists.sr.ht/~sircmpwn/sr.ht-admins/<20190302181207.GA13778%40cirno.my.domain>
- if test ! -e ${stateDir}/webhook; then
- # Update ${iniKey}'s users' profile copy to the latest
- ${cfg.python}/bin/sr.ht-update-profiles ${iniKey}
- touch ${stateDir}/webhook
- fi
- '';
- }
- mainService
- ]);
- }
-
- (mkIf webhooks {
- "${srvsrht}-webhooks" = baseService "${srvsrht}-webhooks" { } {
- description = "sourcehut ${srv}.sr.ht webhooks service";
- after = [ "${srvsrht}.service" ];
- wantedBy = [ "${srvsrht}.service" ];
- partOf = [ "${srvsrht}.service" ];
- preStart = ''
- cp ${pkgs.writeText "${srvsrht}-webhooks-celeryconfig.py" srvCfg.webhooks.celeryConfig} \
- /run/sourcehut/${srvsrht}-webhooks/celeryconfig.py
- '';
- serviceConfig = {
- Type = "simple";
- Restart = "always";
- ExecStart =
- "${cfg.python}/bin/celery --app ${pkgname}.webhooks worker --hostname ${srvsrht}-webhooks@%%h "
- + concatStringsSep " " srvCfg.webhooks.extraArgs;
- # Avoid crashing: os.getloadavg()
- ProcSubset = mkForce "all";
- };
- };
- })
-
- (mapAttrs (
- timerName: timer:
- (baseService timerName { } (mkMerge [
- {
- description = "sourcehut ${timerName} service";
- after = [
- "network.target"
- "${srvsrht}.service"
- ];
- serviceConfig = {
- Type = "oneshot";
- ExecStart = "${srvCfg.package}/bin/${timerName}";
- };
- }
- (timer.service or { })
- ]))
- ) extraTimers)
-
- (mapAttrs (
- serviceName: extraService:
- baseService serviceName { } (mkMerge [
- {
- description = "sourcehut ${serviceName} service";
- # So that extraServices have the PostgreSQL database initialized.
- after = [ "${srvsrht}.service" ];
- wantedBy = [ "${srvsrht}.service" ];
- partOf = [ "${srvsrht}.service" ];
- serviceConfig = {
- Type = "simple";
- Restart = mkDefault "always";
- };
- }
- extraService
- ])
- ) extraServices)
-
- # Work around 'pq: permission denied for schema public' with postgres v15.
- # See https://github.com/NixOS/nixpkgs/issues/216989
- # Workaround taken from nixos/forgejo: https://github.com/NixOS/nixpkgs/pull/262741
- # TODO(to maintainers of sourcehut): please migrate away from this workaround
- # by migrating away from database name defaults with dots.
- (lib.mkIf
- (
- cfg.postgresql.enable
- && lib.strings.versionAtLeast config.services.postgresql.package.version "15.0"
- )
- {
- postgresql-setup.postStart = ''
- psql -tAc 'ALTER DATABASE "${srvCfg.postgresql.database}" OWNER TO "${srvCfg.user}";'
- '';
- }
- )
- ];
-
- systemd.timers = mapAttrs (timerName: timer: {
- description = "sourcehut timer for ${timerName}";
- wantedBy = [ "timers.target" ];
- inherit (timer) timerConfig;
- }) extraTimers;
- }
- ]);
-}
diff --git a/nixos/modules/services/monitoring/librenms.nix b/nixos/modules/services/monitoring/librenms.nix
index 06ee43f2a26d..042c43fd7b65 100644
--- a/nixos/modules/services/monitoring/librenms.nix
+++ b/nixos/modules/services/monitoring/librenms.nix
@@ -354,7 +354,7 @@ in
description = ''
Attrset of the LibreNMS configuration.
See for reference.
- All possible options are listed [here](https://github.com/librenms/librenms/blob/master/misc/config_definitions.json).
+ All possible options are listed [here](https://github.com/librenms/librenms/blob/master/resources/definitions/config_definitions.json).
See for setting other authentication methods.
'';
default = { };
diff --git a/nixos/modules/services/monitoring/prometheus/alertmanager-irc-relay.nix b/nixos/modules/services/monitoring/prometheus/alertmanager-irc-relay.nix
index c0268941dde7..a5659c3bfbd9 100644
--- a/nixos/modules/services/monitoring/prometheus/alertmanager-irc-relay.nix
+++ b/nixos/modules/services/monitoring/prometheus/alertmanager-irc-relay.nix
@@ -58,6 +58,7 @@ in
wantedBy = [ "multi-user.target" ];
after = [ "network-online.target" ];
+ wants = [ "network-online.target" ];
serviceConfig = {
ExecStart = ''
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix b/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix
index 4c9269f34cfd..f091aac2347d 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix
@@ -62,6 +62,14 @@ in
Whether or not the remote IP of a WireGuard peer should be exposed via prometheus.
'';
};
+
+ latestHandshakeDelay = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Adds the `wireguard_latest_handshake_delay_seconds` metric that automatically calculates the seconds passed since the last handshake.
+ '';
+ };
};
serviceOpts = {
path = [ pkgs.wireguard-tools ];
@@ -76,6 +84,7 @@ in
${optionalString cfg.verbose "-v true"} \
${optionalString cfg.singleSubnetPerField "-s true"} \
${optionalString cfg.withRemoteIp "-r true"} \
+ ${optionalString cfg.latestHandshakeDelay "-d true"} \
${optionalString (cfg.wireguardConfig != null) "-n ${escapeShellArg cfg.wireguardConfig}"}
'';
RestrictAddressFamilies = [
diff --git a/nixos/modules/services/networking/easytier.nix b/nixos/modules/services/networking/easytier.nix
new file mode 100644
index 000000000000..127c72063fac
--- /dev/null
+++ b/nixos/modules/services/networking/easytier.nix
@@ -0,0 +1,292 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}:
+
+with lib;
+let
+ cfg = config.services.easytier;
+ settingsFormat = pkgs.formats.toml { };
+
+ genFinalSettings =
+ inst:
+ attrsets.filterAttrsRecursive (_: v: v != { }) (
+ attrsets.filterAttrsRecursive (_: v: v != null) (
+ {
+ inherit (inst.settings)
+ instance_name
+ hostname
+ ipv4
+ dhcp
+ listeners
+ ;
+ network_identity = {
+ inherit (inst.settings) network_name network_secret;
+ };
+ peer = map (p: { uri = p; }) inst.settings.peers;
+ }
+ // inst.extraSettings
+ )
+ );
+
+ genConfigFile =
+ name: inst:
+ if inst.configFile == null then
+ settingsFormat.generate "easytier-${name}.toml" (genFinalSettings inst)
+ else
+ inst.configFile;
+
+ activeInsts = filterAttrs (_: inst: inst.enable) cfg.instances;
+
+ settingsModule = name: {
+ options = {
+ instance_name = mkOption {
+ type = types.str;
+ default = name;
+ description = "Identify different instances on same host";
+ };
+
+ hostname = mkOption {
+ type = with types; nullOr str;
+ default = null;
+ description = "Hostname shown in peer list and web console.";
+ };
+
+ network_name = mkOption {
+ type = with types; nullOr str;
+ default = null;
+ description = "EasyTier network name.";
+ };
+
+ network_secret = mkOption {
+ type = with types; nullOr str;
+ default = null;
+ description = ''
+ EasyTier network credential used for verification and
+ encryption. It can also be set in environmentFile.
+ '';
+ };
+
+ ipv4 = mkOption {
+ type = with types; nullOr str;
+ default = null;
+ description = ''
+ IPv4 cidr address of this peer in the virtual network. If
+ empty, this peer will only forward packets and no TUN device
+ will be created.
+ '';
+ example = "10.144.144.1/24";
+ };
+
+ dhcp = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Automatically determine the IPv4 address of this peer based on
+ existing peers on network.
+ '';
+ };
+
+ listeners = mkOption {
+ type = with types; listOf str;
+ default = [
+ "tcp://0.0.0.0:11010"
+ "udp://0.0.0.0:11010"
+ ];
+ description = ''
+ Listener addresses to accept connections from other peers.
+ Valid format is: `://:`, where the protocol
+ can be `tcp`, `udp`, `ring`, `wg`, `ws`, `wss`.
+ '';
+ };
+
+ peers = mkOption {
+ type = with types; listOf str;
+ default = [ ];
+ description = ''
+ Peers to connect initially. Valid format is: `://:`.
+ '';
+ example = [
+ "tcp://example.com:11010"
+ ];
+ };
+ };
+ };
+
+ instanceModule =
+ { name, ... }:
+ {
+ options = {
+ enable = mkOption {
+ type = types.bool;
+ default = true;
+ description = "Enable the instance.";
+ };
+
+ configServer = mkOption {
+ type = with types; nullOr str;
+ default = null;
+ description = ''
+ Configure the instance from config server. When this option
+ set, any other settings for configuring the instance manually
+ except `hostname` will be ignored. Valid formats are:
+
+ - full uri for custom server: `udp://example.com:22020/`
+ - username only for official server: ``
+ '';
+ example = "udp://example.com:22020/myusername";
+ };
+
+ configFile = mkOption {
+ type = with types; nullOr path;
+ default = null;
+ description = ''
+ Path to easytier config file. Setting this option will
+ override `settings` and `extraSettings` of this instance.
+ '';
+ };
+
+ environmentFiles = mkOption {
+ type = with types; listOf path;
+ default = [ ];
+ description = ''
+ Environment files for this instance. All command-line args
+ have corresponding environment variables.
+ '';
+ example = literalExpression ''
+ [
+ /path/to/.env
+ /path/to/.env.secret
+ ]
+ '';
+ };
+
+ settings = mkOption {
+ type = types.submodule (settingsModule name);
+ default = { };
+ description = ''
+ Settings to generate {file}`easytier-${name}.toml`
+ '';
+ };
+
+ extraSettings = mkOption {
+ type = settingsFormat.type;
+ default = { };
+ description = ''
+ Extra settings to add to {file}`easytier-${name}.toml`.
+ '';
+ };
+
+ extraArgs = mkOption {
+ type = with types; listOf str;
+ default = [ ];
+ description = ''
+ Extra args append to the easytier command-line.
+ '';
+ };
+ };
+ };
+
+in
+{
+ options.services.easytier = {
+ enable = mkEnableOption "EasyTier daemon";
+
+ package = mkPackageOption pkgs "easytier" { };
+
+ allowSystemForward = mkEnableOption ''
+ Allow the system to forward packets from easytier. Useful when
+ `proxy_forward_by_system` enabled.
+ '';
+
+ instances = mkOption {
+ description = ''
+ EasyTier instances.
+ '';
+ type = types.attrsOf (types.submodule instanceModule);
+ default = { };
+ example = {
+ settings = {
+ network_name = "easytier";
+ network_secret = "easytier";
+ ipv4 = "10.144.144.1/24";
+ peers = [
+ "tcp://public.easytier.cn:11010"
+ "wss://example.com:443"
+ ];
+ };
+ extraSettings = {
+ flags.dev_name = "tun1";
+ };
+ };
+ };
+ };
+
+ config = mkIf cfg.enable {
+ environment.systemPackages = [ cfg.package ];
+
+ systemd.services = mapAttrs' (
+ name: inst:
+ let
+ configFile = genConfigFile name inst;
+ in
+ nameValuePair "easytier-${name}" {
+ description = "EasyTier Daemon - ${name}";
+ wants = [
+ "network-online.target"
+ "nss-lookup.target"
+ ];
+ after = [
+ "network-online.target"
+ "nss-lookup.target"
+ ];
+ wantedBy = [ "multi-user.target" ];
+ path = with pkgs; [
+ cfg.package
+ iproute2
+ bash
+ ];
+ restartTriggers = inst.environmentFiles ++ (optionals (inst.configServer == null) [ configFile ]);
+ serviceConfig = {
+ Type = "simple";
+ Restart = "on-failure";
+ EnvironmentFile = inst.environmentFiles;
+ StateDirectory = "easytier/easytier-${name}";
+ StateDirectoryMode = "0700";
+ WorkingDirectory = "/var/lib/easytier/easytier-${name}";
+ ExecStart = escapeShellArgs (
+ [
+ "${cfg.package}/bin/easytier-core"
+ ]
+ ++ optionals (inst.configServer != null) (
+ [
+ "-w"
+ "${inst.configServer}"
+ ]
+ ++ (optionals (inst.settings.hostname != null) [
+ "--hostname"
+ "${inst.settings.hostname}"
+ ])
+ )
+ ++ optionals (inst.configServer == null) [
+ "-c"
+ "${configFile}"
+ ]
+ ++ inst.extraArgs
+ );
+ };
+ }
+ ) activeInsts;
+
+ boot.kernel.sysctl = mkIf cfg.allowSystemForward {
+ "net.ipv4.conf.all.forwarding" = mkOverride 97 true;
+ "net.ipv6.conf.all.forwarding" = mkOverride 97 true;
+ };
+ };
+
+ meta.maintainers = with maintainers; [
+ ltrump
+ ];
+}
diff --git a/nixos/modules/services/networking/ntp/ntpd-rs.nix b/nixos/modules/services/networking/ntp/ntpd-rs.nix
index 14287ded9abf..f80ffa2d82cb 100644
--- a/nixos/modules/services/networking/ntp/ntpd-rs.nix
+++ b/nixos/modules/services/networking/ntp/ntpd-rs.nix
@@ -9,6 +9,17 @@ let
cfg = config.services.ntpd-rs;
format = pkgs.formats.toml { };
configFile = format.generate "ntpd-rs.toml" cfg.settings;
+
+ validateConfig =
+ file:
+ pkgs.runCommand "validate-ntpd-rs.toml"
+ {
+ nativeBuildInputs = [ cfg.package ];
+ }
+ ''
+ ntp-ctl validate -c ${file}
+ ln -s "${file}" "$out"
+ '';
in
{
options.services.ntpd-rs = {
@@ -77,7 +88,7 @@ in
DynamicUser = true;
ExecStart = [
""
- "${lib.makeBinPath [ cfg.package ]}/ntp-daemon --config=${configFile}"
+ "${lib.makeBinPath [ cfg.package ]}/ntp-daemon --config=${validateConfig configFile}"
];
};
};
@@ -90,7 +101,7 @@ in
DynamicUser = true;
ExecStart = [
""
- "${lib.makeBinPath [ cfg.package ]}/ntp-metrics-exporter --config=${configFile}"
+ "${lib.makeBinPath [ cfg.package ]}/ntp-metrics-exporter --config=${validateConfig configFile}"
];
};
};
diff --git a/nixos/modules/system/boot/systemd/initrd.nix b/nixos/modules/system/boot/systemd/initrd.nix
index c6a0dbccd8d3..eed6be0765ef 100644
--- a/nixos/modules/system/boot/systemd/initrd.nix
+++ b/nixos/modules/system/boot/systemd/initrd.nix
@@ -532,7 +532,7 @@ in
# required for services generated with writeShellScript and friends
pkgs.runtimeShell
# some tools like xfs still want the sh symlink
- "${pkgs.bash}/bin"
+ "${pkgs.bashNonInteractive}/bin"
# so NSS can look up usernames
"${pkgs.glibc}/lib/libnss_files.so.2"
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 25375b9bffbf..b92e76ed60af 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -433,6 +433,7 @@ in
fscrypt = runTest ./fscrypt.nix;
fastnetmon-advanced = runTest ./fastnetmon-advanced.nix;
lauti = runTest ./lauti.nix;
+ easytier = handleTest ./easytier.nix { };
ejabberd = runTest ./xmpp/ejabberd.nix;
elk = handleTestOn [ "x86_64-linux" ] ./elk.nix { };
emacs-daemon = runTest ./emacs-daemon.nix;
@@ -1272,7 +1273,6 @@ in
solanum = runTest ./solanum.nix;
sonarr = runTest ./sonarr.nix;
sonic-server = runTest ./sonic-server.nix;
- sourcehut = handleTest ./sourcehut { };
spacecookie = runTest ./spacecookie.nix;
spark = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./spark { };
spiped = runTest ./spiped.nix;
diff --git a/nixos/tests/easytier.nix b/nixos/tests/easytier.nix
new file mode 100644
index 000000000000..e5366fb5ce98
--- /dev/null
+++ b/nixos/tests/easytier.nix
@@ -0,0 +1,121 @@
+import ./make-test-python.nix (
+ { lib, ... }:
+ {
+ name = "easytier";
+ meta.maintainers = with lib.maintainers; [ ltrump ];
+
+ nodes =
+ let
+ genPeer =
+ hostConfig: settings:
+ lib.mkMerge [
+ {
+ services.easytier = {
+ enable = true;
+ instances.default = {
+ settings = {
+ network_name = "easytier_test";
+ network_secret = "easytier_test_secret";
+ } // settings;
+ };
+ };
+
+ networking.useDHCP = false;
+ networking.firewall.allowedTCPPorts = [
+ 11010
+ 11011
+ ];
+ networking.firewall.allowedUDPPorts = [
+ 11010
+ 11011
+ ];
+ }
+ hostConfig
+ ];
+ in
+ {
+ relay =
+ genPeer
+ {
+ virtualisation.vlans = [
+ 1
+ 2
+ ];
+
+ networking.interfaces.eth1.ipv4.addresses = [
+ {
+ address = "192.168.1.11";
+ prefixLength = 24;
+ }
+ ];
+
+ networking.interfaces.eth2.ipv4.addresses = [
+ {
+ address = "192.168.2.11";
+ prefixLength = 24;
+ }
+ ];
+ }
+ {
+ ipv4 = "10.144.144.1";
+ listeners = [
+ "tcp://0.0.0.0:11010"
+ "wss://0.0.0.0:11011"
+ ];
+ };
+
+ peer1 =
+ genPeer
+ {
+ virtualisation.vlans = [ 1 ];
+ }
+ {
+ ipv4 = "10.144.144.2";
+ peers = [ "tcp://192.168.1.11:11010" ];
+ };
+
+ peer2 =
+ genPeer
+ {
+ virtualisation.vlans = [ 2 ];
+ }
+ {
+ ipv4 = "10.144.144.3";
+ peers = [ "wss://192.168.2.11:11011" ];
+ };
+ };
+
+ testScript = ''
+ start_all()
+
+ relay.wait_for_unit("easytier-default.service")
+ peer1.wait_for_unit("easytier-default.service")
+ peer2.wait_for_unit("easytier-default.service")
+
+ # relay is accessible by the other hosts
+ peer1.succeed("ping -c5 192.168.1.11")
+ peer2.succeed("ping -c5 192.168.2.11")
+
+ # The other hosts are in separate vlans
+ peer1.fail("ping -c5 192.168.2.11")
+ peer2.fail("ping -c5 192.168.1.11")
+
+ # Each host can ping themselves through EasyTier
+ relay.succeed("ping -c5 10.144.144.1")
+ peer1.succeed("ping -c5 10.144.144.2")
+ peer2.succeed("ping -c5 10.144.144.3")
+
+ # Relay is accessible by the other hosts through EasyTier
+ peer1.succeed("ping -c5 10.144.144.1")
+ peer2.succeed("ping -c5 10.144.144.1")
+
+ # Relay can access the other hosts through EasyTier
+ relay.succeed("ping -c5 10.144.144.2")
+ relay.succeed("ping -c5 10.144.144.3")
+
+ # The other hosts in separate vlans can access each other through EasyTier
+ peer1.succeed("ping -c5 10.144.144.3")
+ peer2.succeed("ping -c5 10.144.144.2")
+ '';
+ }
+)
diff --git a/nixos/tests/prowlarr.nix b/nixos/tests/prowlarr.nix
index c03475df0423..b7cd320480c1 100644
--- a/nixos/tests/prowlarr.nix
+++ b/nixos/tests/prowlarr.nix
@@ -28,10 +28,10 @@
with subtest("Prowlarr data directory migration works"):
machine.systemctl("stop prowlarr.service")
machine.succeed("mkdir -p /tmp/prowlarr-migration")
- machine.succeed("mv /var/lib/prowlarr/* /tmp/prowlarr-migration")
+ machine.succeed("rsync -a -delete /var/lib/prowlarr/ /tmp/prowlarr-migration")
machine.succeed("${config.nodes.machine.system.build.toplevel}/specialisation/customDataDir/bin/switch-to-configuration test")
machine.wait_for_unit("var-lib-private-prowlarr.mount")
- machine.succeed("mv /tmp/prowlarr-migration/* /var/lib/prowlarr")
+ machine.succeed("rsync -a -delete /tmp/prowlarr-migration/ /var/lib/prowlarr")
machine.systemctl("restart prowlarr.service")
# Check that we're using a bind mount when using a non-default dataDir
machine.succeed("findmnt /var/lib/private/prowlarr | grep /srv/prowlarr")
diff --git a/nixos/tests/sourcehut/builds.nix b/nixos/tests/sourcehut/builds.nix
deleted file mode 100644
index 1add972cc13f..000000000000
--- a/nixos/tests/sourcehut/builds.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-import ../make-test-python.nix (
- { pkgs, lib, ... }:
- let
- domain = "sourcehut.localdomain";
- in
- {
- name = "sourcehut";
-
- meta.maintainers = with pkgs.lib.maintainers; [
- tomberek
- nessdoor
- ];
-
- nodes.machine =
- {
- config,
- pkgs,
- nodes,
- ...
- }:
- {
- imports = [
- ./nodes/common.nix
- ];
-
- networking.domain = domain;
- networking.extraHosts = ''
- ${config.networking.primaryIPAddress} builds.${domain}
- ${config.networking.primaryIPAddress} meta.${domain}
- '';
-
- services.sourcehut = {
- builds = {
- enable = true;
- # FIXME: see why it does not seem to activate fully.
- #enableWorker = true;
- images = { };
- };
-
- settings."builds.sr.ht" = {
- oauth-client-secret = pkgs.writeText "buildsrht-oauth-client-secret" "2260e9c4d9b8dcedcef642860e0504bc";
- oauth-client-id = "299db9f9c2013170";
- };
- };
- };
-
- testScript = ''
- start_all()
- machine.wait_for_unit("multi-user.target")
-
- with subtest("Check whether meta comes up"):
- machine.wait_for_unit("meta.sr.ht-api.service")
- machine.wait_for_unit("meta.sr.ht.service")
- machine.wait_for_unit("meta.sr.ht-webhooks.service")
- machine.wait_for_open_port(5000)
- machine.succeed("curl -sL http://localhost:5000 | grep meta.${domain}")
- machine.succeed("curl -sL http://meta.${domain} | grep meta.${domain}")
-
- with subtest("Check whether builds comes up"):
- machine.wait_for_unit("builds.sr.ht.service")
- machine.wait_for_open_port(5002)
- machine.succeed("curl -sL http://localhost:5002 | grep builds.${domain}")
- #machine.wait_for_unit("buildsrht-worker.service")
- '';
- }
-)
diff --git a/nixos/tests/sourcehut/default.nix b/nixos/tests/sourcehut/default.nix
deleted file mode 100644
index 04f1551d70d9..000000000000
--- a/nixos/tests/sourcehut/default.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ system, pkgs, ... }:
-
-{
- git = import ./git.nix { inherit system pkgs; };
- builds = import ./builds.nix { inherit system pkgs; };
-}
diff --git a/nixos/tests/sourcehut/git.nix b/nixos/tests/sourcehut/git.nix
deleted file mode 100644
index a06281aafbb4..000000000000
--- a/nixos/tests/sourcehut/git.nix
+++ /dev/null
@@ -1,109 +0,0 @@
-import ../make-test-python.nix (
- { pkgs, lib, ... }:
- let
- domain = "sourcehut.localdomain";
- in
- {
- name = "sourcehut";
-
- meta.maintainers = with pkgs.lib.maintainers; [
- tomberek
- nessdoor
- ];
-
- nodes.machine =
- {
- config,
- pkgs,
- nodes,
- ...
- }:
- {
- imports = [
- ./nodes/common.nix
- ];
-
- networking.domain = domain;
- networking.extraHosts = ''
- ${config.networking.primaryIPAddress} git.${domain}
- ${config.networking.primaryIPAddress} meta.${domain}
- '';
-
- services.sourcehut = {
- git.enable = true;
- settings."git.sr.ht" = {
- oauth-client-secret = pkgs.writeText "gitsrht-oauth-client-secret" "3597288dc2c716e567db5384f493b09d";
- oauth-client-id = "d07cb713d920702e";
- };
- };
-
- environment.systemPackages = with pkgs; [
- git
- ];
- };
-
- testScript =
- let
- userName = "nixos-test";
- userPass = "AutoNixosTestPwd";
- hutConfig = pkgs.writeText "hut-config" ''
- instance "${domain}" {
- # Will be replaced at runtime with the generated token
- access-token "OAUTH-TOKEN"
- }
- '';
- sshConfig = pkgs.writeText "ssh-config" ''
- Host git.${domain}
- IdentityFile = ~/.ssh/id_rsa
- '';
- in
- ''
- start_all()
- machine.wait_for_unit("multi-user.target")
- machine.wait_for_unit("sshd.service")
-
- with subtest("Check whether meta comes up"):
- machine.wait_for_unit("meta.sr.ht-api.service")
- machine.wait_for_unit("meta.sr.ht.service")
- machine.wait_for_unit("meta.sr.ht-webhooks.service")
- machine.wait_for_open_port(5000)
- machine.succeed("curl -sL http://localhost:5000 | grep meta.${domain}")
- machine.succeed("curl -sL http://meta.${domain} | grep meta.${domain}")
-
- with subtest("Create a new user account and OAuth access key"):
- machine.succeed("echo ${userPass} | meta.sr.ht-manageuser -ps -e ${userName}@${domain}\
- -t USER ${userName}");
- cmd = "srht-gen-oauth-tok -i ${domain} -q ${userName} ${userPass}"
- (_, token) = machine.execute("srht-gen-oauth-tok -i ${domain} -q ${userName} ${userPass}")
- token = token.strip().replace("/", r"\\/") # Escape slashes in token before passing it to sed
- machine.execute("mkdir -p ~/.config/hut/")
- machine.execute("sed s/OAUTH-TOKEN/" + token + "/ ${hutConfig} > ~/.config/hut/config")
-
- with subtest("Check whether git comes up"):
- machine.wait_for_unit("git.sr.ht-api.service")
- machine.wait_for_unit("git.sr.ht.service")
- machine.wait_for_unit("git.sr.ht-webhooks.service")
- machine.succeed("curl -sL http://git.${domain} | grep git.${domain}")
-
- with subtest("Add an SSH key for Git access"):
- machine.execute("ssh-keygen -q -N \"\" -t rsa -f ~/.ssh/id_rsa")
- machine.execute("cat ${sshConfig} > ~/.ssh/config")
- machine.succeed("hut meta ssh-key create ~/.ssh/id_rsa.pub")
-
- with subtest("Create a new repo and push contents to it"):
- machine.execute("git init test")
- machine.execute("echo \"Hello world!\" > test/hello.txt")
- machine.execute("cd test && git add .")
- machine.execute("cd test && git commit -m \"Initial commit\"")
- machine.execute("cd test && git tag v0.1")
- machine.succeed("cd test && git remote add origin git.sr.ht@git.${domain}:~${userName}/test")
- machine.execute("( echo -n 'git.${domain} '; cat /etc/ssh/ssh_host_ed25519_key.pub ) > ~/.ssh/known_hosts")
- machine.succeed("hut git create test")
- machine.succeed("cd test && git push --tags --set-upstream origin master")
-
- with subtest("Verify that the repo is downloadable and its contents match the original"):
- machine.succeed("curl https://git.${domain}/~${userName}/test/archive/v0.1.tar.gz | tar -xz")
- machine.succeed("diff test-v0.1/hello.txt test/hello.txt")
- '';
- }
-)
diff --git a/nixos/tests/sourcehut/nodes/common.nix b/nixos/tests/sourcehut/nodes/common.nix
deleted file mode 100644
index 54660a4dade5..000000000000
--- a/nixos/tests/sourcehut/nodes/common.nix
+++ /dev/null
@@ -1,117 +0,0 @@
-{
- config,
- pkgs,
- nodes,
- ...
-}:
-let
- domain = config.networking.domain;
-
- # Note that wildcard certificates just under the TLD (eg. *.com)
- # would be rejected by clients like curl.
- tls-cert = pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } ''
- openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -days 36500 \
- -subj '/CN=${domain}' -extensions v3_req \
- -addext 'subjectAltName = DNS:*.${domain}'
- install -D -t $out key.pem cert.pem
- '';
-in
-{
- # buildsrht needs space
- virtualisation.diskSize = 4 * 1024;
- virtualisation.memorySize = 2 * 1024;
- networking.enableIPv6 = false;
-
- services.sourcehut = {
- enable = true;
- nginx.enable = true;
- nginx.virtualHost = {
- forceSSL = true;
- sslCertificate = "${tls-cert}/cert.pem";
- sslCertificateKey = "${tls-cert}/key.pem";
- };
- postgresql.enable = true;
- redis.enable = true;
-
- meta.enable = true;
-
- settings."sr.ht" = {
- environment = "production";
- global-domain = config.networking.domain;
- service-key = pkgs.writeText "service-key" "8b327279b77e32a3620e2fc9aabce491cc46e7d821fd6713b2a2e650ce114d01";
- network-key = pkgs.writeText "network-key" "cEEmc30BRBGkgQZcHFksiG7hjc6_dK1XR2Oo5Jb9_nQ=";
- };
- settings.webhooks.private-key = pkgs.writeText "webhook-key" "Ra3IjxgFiwG9jxgp4WALQIZw/BMYt30xWiOsqD0J7EA=";
- settings.mail = {
- smtp-from = "root+hut@${domain}";
- # WARNING: take care to keep pgp-privkey outside the Nix store in production,
- # or use LoadCredentialEncrypted=
- pgp-privkey = toString (
- pkgs.writeText "sourcehut.pgp-privkey" ''
- -----BEGIN PGP PRIVATE KEY BLOCK-----
-
- lFgEZrFBKRYJKwYBBAHaRw8BAQdAS1Ffiytk0h0z0jfaT3qyiDUV/plVIUwOg1Yr
- AXP2YmsAAP0W6QMC3G2G41rzCGLeSHeGibor1+XuxvcwUpVdW7ge+BH/tDZuaXhv
- cy90ZXN0cy9zb3VyY2VodXQgPHJvb3QraHV0QHNvdXJjZWh1dC5sb2NhbGRvbWFp
- bj6IkwQTFgoAOxYhBMISh2Z08FCi969cq9R2wSP9QF2bBQJmsUEpAhsDBQsJCAcC
- AiICBhUKCQgLAgQWAgMBAh4HAheAAAoJENR2wSP9QF2b4JMA+wQLdxVcod/ppyvH
- QguGqqhkpk8KquCddOuFnQVAfHFWAQCK5putVk4mGzsoLTbOJCSGRC4pjEktZawQ
- MTqJmnOuC5xdBGaxQSkSCisGAQQBl1UBBQEBB0Aed6UYJyighTY+KuPNQ439st3x
- x04T1j58sx3AnKgYewMBCAcAAP9WLB79HO1zFRqTCnk7GIEWWogMFKVpazeBUNu9
- h9rzCA2+iHgEGBYKACAWIQTCEodmdPBQovevXKvUdsEj/UBdmwUCZrFBKQIbDAAK
- CRDUdsEj/UBdmwgJAQDVk/px/pSzqreSeDLzxlb6dOo+N1KcicsJ0akhSJUcvwD9
- EPhpEDZu/UBKchAutOhWwz+y6pyoF4Vt7XG+jbJQtA4=
- =KaQc
- -----END PGP PRIVATE KEY BLOCK-----
- ''
- );
- pgp-pubkey = pkgs.writeText "sourcehut.pgp-pubkey" ''
- -----BEGIN PGP PUBLIC KEY BLOCK-----
-
- mDMEZrFBKRYJKwYBBAHaRw8BAQdAS1Ffiytk0h0z0jfaT3qyiDUV/plVIUwOg1Yr
- AXP2Ymu0Nm5peG9zL3Rlc3RzL3NvdXJjZWh1dCA8cm9vdCtodXRAc291cmNlaHV0
- LmxvY2FsZG9tYWluPoiTBBMWCgA7FiEEwhKHZnTwUKL3r1yr1HbBI/1AXZsFAmax
- QSkCGwMFCwkIBwICIgIGFQoJCAsCBBYCAwECHgcCF4AACgkQ1HbBI/1AXZvgkwD7
- BAt3FVyh3+mnK8dCC4aqqGSmTwqq4J1064WdBUB8cVYBAIrmm61WTiYbOygtNs4k
- JIZELimMSS1lrBAxOomac64LuDgEZrFBKRIKKwYBBAGXVQEFAQEHQB53pRgnKKCF
- Nj4q481Djf2y3fHHThPWPnyzHcCcqBh7AwEIB4h4BBgWCgAgFiEEwhKHZnTwUKL3
- r1yr1HbBI/1AXZsFAmaxQSkCGwwACgkQ1HbBI/1AXZsICQEA1ZP6cf6Us6q3kngy
- 88ZW+nTqPjdSnInLCdGpIUiVHL8A/RD4aRA2bv1ASnIQLrToVsM/suqcqBeFbe1x
- vo2yULQO
- =luxZ
- -----END PGP PUBLIC KEY BLOCK-----
- '';
- pgp-key-id = "0xC212876674F050A2F7AF5CABD476C123FD405D9B";
- };
- };
-
- networking.firewall.allowedTCPPorts = [
- 80
- 443
- ];
- security.pki.certificateFiles = [ "${tls-cert}/cert.pem" ];
- services.nginx = {
- enable = true;
- recommendedGzipSettings = true;
- recommendedOptimisation = true;
- recommendedTlsSettings = true;
- recommendedProxySettings = true;
- };
-
- services.postgresql = {
- enable = true;
- enableTCPIP = false;
- settings.unix_socket_permissions = "0770";
- };
-
- services.openssh = {
- enable = true;
- settings.PasswordAuthentication = false;
- settings.PermitRootLogin = "no";
- };
-
- environment.systemPackages = with pkgs; [
- hut # For interacting with the Sourcehut APIs via CLI
- srht-gen-oauth-tok # To automatically generate user OAuth tokens
- ];
-}
diff --git a/pkgs/applications/emulators/libretro/cores/puae.nix b/pkgs/applications/emulators/libretro/cores/puae.nix
index d40f824f5017..e8d1f4bec8dd 100644
--- a/pkgs/applications/emulators/libretro/cores/puae.nix
+++ b/pkgs/applications/emulators/libretro/cores/puae.nix
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "puae";
- version = "0-unstable-2025-05-24";
+ version = "0-unstable-2025-06-14";
src = fetchFromGitHub {
owner = "libretro";
repo = "libretro-uae";
- rev = "f1c248602abb58e7c570feec3f59f4677407b252";
- hash = "sha256-CmdMeAntu+uFp1HowBz3UgMiqFbRrNuMyevTlKxga/M=";
+ rev = "3eece7a5447fde5ddf12be11bb5cb421d8fd8f97";
+ hash = "sha256-NpCbeHcziBMw5IQ/8hD9cYq9zIAMd4H0OCpK8TydieA=";
};
makefile = "Makefile";
diff --git a/pkgs/applications/networking/browsers/netsurf/buildsystem.nix b/pkgs/applications/networking/browsers/netsurf/buildsystem.nix
index 3aa6ed08e41c..aae1857ba079 100644
--- a/pkgs/applications/networking/browsers/netsurf/buildsystem.nix
+++ b/pkgs/applications/networking/browsers/netsurf/buildsystem.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://www.netsurf-browser.org/";
description = "NetSurf browser shared build system";
license = lib.licenses.mit;
- maintainers = with lib.maintainers; [ ];
+ maintainers = with lib.maintainers; [ fgaz ];
platforms = lib.platforms.unix;
};
})
diff --git a/pkgs/applications/networking/cluster/calico/default.nix b/pkgs/applications/networking/cluster/calico/default.nix
index c4f5415c4cb9..7f88ab6e6dd4 100644
--- a/pkgs/applications/networking/cluster/calico/default.nix
+++ b/pkgs/applications/networking/cluster/calico/default.nix
@@ -14,16 +14,16 @@ builtins.mapAttrs
}:
buildGoModule rec {
inherit pname;
- version = "3.30.1";
+ version = "3.30.2";
src = fetchFromGitHub {
owner = "projectcalico";
repo = "calico";
rev = "v${version}";
- hash = "sha256-MtUoVLF46Z+wnxahZqTAfZwbLOC9gfHAUtIAwAJGUn0=";
+ hash = "sha256-UvHrCA/1n9dklcMY1AfNNW5/TtxVdmwmQb2DHEBFZhA=";
};
- vendorHash = "sha256-5VFjiKFBZIXorc0yd9Vafyaj5ZInkhAD1GIdAw4yaEs=";
+ vendorHash = "sha256-Cp1Eo8Xa4c0o5l6/p+pyHa/t3jMUpgUDDXEAKwS6aCE=";
inherit doCheck subPackages;
diff --git a/pkgs/applications/version-management/sourcehut/builds.nix b/pkgs/applications/version-management/sourcehut/builds.nix
deleted file mode 100644
index 5896f6b68149..000000000000
--- a/pkgs/applications/version-management/sourcehut/builds.nix
+++ /dev/null
@@ -1,111 +0,0 @@
-{
- lib,
- fetchFromSourcehut,
- buildGoModule,
- buildPythonPackage,
- srht,
- redis,
- celery,
- pyyaml,
- markdown,
- ansi2html,
- lxml,
- python,
- unzip,
- pip,
- pythonOlder,
- setuptools-scm,
-}:
-let
- version = "0.95.1";
- gqlgen = import ./fix-gqlgen-trimpath.nix {
- inherit unzip;
- gqlgenVersion = "0.17.64";
- };
-
- patches = [ ./patches/core-go-update/builds/patch-deps.patch ];
-
- src = fetchFromSourcehut {
- owner = "~sircmpwn";
- repo = "builds.sr.ht";
- rev = version;
- hash = "sha256-On/dKqIuqsCLAgYkJQOeYL7Ne983JzEYKhuLpD5vNu4=";
- };
-
- buildsrht-api = buildGoModule (
- {
- inherit src version patches;
- pname = "buildsrht-api";
- modRoot = "api";
- vendorHash = "sha256-GOM7fmJvfPJW3+XzvlwQZ9hBknlXwBKjGSmtIiapleY=";
- }
- // gqlgen
- );
-
- buildsrht-worker = buildGoModule (
- {
- inherit src version patches;
- pname = "buildsrht-worker";
- modRoot = "worker";
- vendorHash = "sha256-nEXnCeUxlUMNUqhe82MKREXcaC9pvqZqyqhyQW+jQjQ=";
- }
- // gqlgen
- );
-in
-buildPythonPackage rec {
- inherit src version patches;
- pname = "buildsrht";
- pyproject = true;
-
- disabled = pythonOlder "3.7";
-
- nativeBuildInputs = [
- pip
- setuptools-scm
- ];
-
- propagatedBuildInputs = [
- srht
- redis
- celery
- pyyaml
- markdown
- # Unofficial dependencies
- ansi2html
- lxml
- ];
-
- env = {
- PKGVER = version;
- SRHT_PATH = "${srht}/${python.sitePackages}/srht";
- PREFIX = placeholder "out";
- };
-
- postBuild = ''
- make SASSC_INCLUDE=-I${srht}/share/sourcehut/scss/ all-share
- '';
-
- postInstall = ''
- mkdir -p $out/lib
- mkdir -p $out/bin/builds.sr.ht
-
- cp -r images $out/lib
- cp contrib/submit_image_build $out/bin/builds.sr.ht
- ln -s ${buildsrht-api}/bin/api $out/bin/builds.sr.ht-api
- ln -s ${buildsrht-worker}/bin/worker $out/bin/builds.sr.ht-worker
- install -Dm644 schema.sql $out/share/sourcehut/builds.sr.ht-schema.sql
- make install-share
- '';
-
- pythonImportsCheck = [ "buildsrht" ];
-
- meta = with lib; {
- homepage = "https://git.sr.ht/~sircmpwn/builds.sr.ht";
- description = "Continuous integration service for the sr.ht network";
- license = licenses.agpl3Only;
- maintainers = with maintainers; [
- eadwu
- christoph-heiss
- ];
- };
-}
diff --git a/pkgs/applications/version-management/sourcehut/core.nix b/pkgs/applications/version-management/sourcehut/core.nix
deleted file mode 100644
index d600117e225f..000000000000
--- a/pkgs/applications/version-management/sourcehut/core.nix
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- lib,
- fetchFromSourcehut,
- buildPythonPackage,
- flask,
- humanize,
- sqlalchemy,
- sqlalchemy-utils,
- psycopg2,
- markdown,
- mistletoe,
- bleach,
- requests,
- beautifulsoup4,
- pygments,
- cryptography,
- prometheus-client,
- alembic,
- redis,
- celery,
- html5lib,
- importlib-metadata,
- tinycss2,
- sassc,
- pythonOlder,
- minify,
- setuptools-scm,
-}:
-
-buildPythonPackage rec {
- pname = "srht";
- version = "0.76.1";
- pyproject = true;
-
- disabled = pythonOlder "3.7";
-
- src = fetchFromSourcehut {
- owner = "~sircmpwn";
- repo = "core.sr.ht";
- rev = version;
- hash = "sha256-lAN1JZXQuN2zxi/BdBtbNj52LPj9iYn0WB2OpyQcyuU=";
- fetchSubmodules = true;
- };
-
- patches = [
- # Fix Unix socket support in RedisQueueCollector
- patches/redis-socket/core/0001-Fix-Unix-socket-support-in-RedisQueueCollector.patch
- ];
-
- nativeBuildInputs = [
- setuptools-scm
- ];
-
- propagatedNativeBuildInputs = [
- sassc
- minify
- ];
-
- propagatedBuildInputs = [
- flask
- humanize
- sqlalchemy
- sqlalchemy-utils
- psycopg2
- markdown
- mistletoe
- bleach
- requests
- beautifulsoup4
- pygments
- cryptography
- prometheus-client
- alembic
- redis
- celery
- # Used transitively through beautifulsoup4
- html5lib
- # Used transitively trough bleach.css_sanitizer
- tinycss2
- # Used by srht.debug
- importlib-metadata
- ];
-
- env = {
- PREFIX = placeholder "out";
- PKGVER = version;
- };
-
- postInstall = ''
- make install
- '';
-
- pythonImportsCheck = [ "srht" ];
-
- meta = with lib; {
- homepage = "https://git.sr.ht/~sircmpwn/core.sr.ht";
- description = "Core modules for sr.ht";
- license = licenses.bsd3;
- maintainers = with maintainers; [
- eadwu
- christoph-heiss
- ];
- };
-}
diff --git a/pkgs/applications/version-management/sourcehut/default.nix b/pkgs/applications/version-management/sourcehut/default.nix
deleted file mode 100644
index ede187a215fc..000000000000
--- a/pkgs/applications/version-management/sourcehut/default.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- lib,
- python3,
- callPackage,
- recurseIntoAttrs,
- nixosTests,
- config,
-}:
-
-# To expose the *srht modules, they have to be a python module so we use `buildPythonModule`
-# Then we expose them through all-packages.nix as an application through `toPythonApplication`
-# https://github.com/NixOS/nixpkgs/pull/54425#discussion_r250688781
-let
- python = python3.override {
- self = python;
- packageOverrides = self: super: {
- srht = self.callPackage ./core.nix { };
-
- buildsrht = self.callPackage ./builds.nix { };
- gitsrht = self.callPackage ./git.nix { };
- hgsrht = self.callPackage ./hg.nix { };
- hubsrht = self.callPackage ./hub.nix { };
- listssrht = self.callPackage ./lists.nix { };
- mansrht = self.callPackage ./man.nix { };
- metasrht = self.callPackage ./meta.nix { };
- pastesrht = self.callPackage ./paste.nix { };
- todosrht = self.callPackage ./todo.nix { };
-
- scmsrht = self.callPackage ./scm.nix { };
- };
- };
-in
-with python.pkgs;
-recurseIntoAttrs (
- {
- inherit python;
- coresrht = toPythonApplication srht;
- buildsrht = toPythonApplication buildsrht;
- gitsrht = toPythonApplication gitsrht;
- hgsrht = toPythonApplication hgsrht;
- hubsrht = toPythonApplication hubsrht;
- listssrht = toPythonApplication listssrht;
- mansrht = toPythonApplication mansrht;
- metasrht = toPythonApplication metasrht;
- pagessrht = callPackage ./pages.nix { };
- pastesrht = toPythonApplication pastesrht;
- todosrht = toPythonApplication todosrht;
- passthru.tests = {
- nixos-sourcehut = nixosTests.sourcehut;
- };
- }
- // lib.optionalAttrs config.allowAliases {
- # Added 2022-10-29
- dispatchsrht = throw "dispatch is deprecated. See https://sourcehut.org/blog/2022-08-01-dispatch-deprecation-plans/ for more information.";
- }
-)
diff --git a/pkgs/applications/version-management/sourcehut/fix-gqlgen-trimpath.nix b/pkgs/applications/version-management/sourcehut/fix-gqlgen-trimpath.nix
deleted file mode 100644
index 562ce6e445d3..000000000000
--- a/pkgs/applications/version-management/sourcehut/fix-gqlgen-trimpath.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- unzip,
- gqlgenVersion,
-}:
-{
- overrideModAttrs = (
- _: {
- # No need to workaround -trimpath: it's not used in goModules,
- # but do download `go generate`'s dependencies nonetheless.
- preBuild = ''
- if [ -d ./loaders ]; then go generate ./loaders; fi
- if [ -d ./graph ]; then go generate ./graph; fi
- '';
- }
- );
-
- # Workaround this error:
- # go: git.sr.ht/~emersion/go-emailthreads@v0.0.0-20220412093310-4fd792e343ba: module lookup disabled by GOPROXY=off
- # tidy failed: go mod tidy failed: exit status 1
- # graph/generate.go:10: running "go": exit status 1
- proxyVendor = true;
-
- nativeBuildInputs = [ unzip ];
-
- # Workaround -trimpath in the package derivation:
- # https://github.com/99designs/gqlgen/issues/1537
- # This is to give `go generate ./graph` access to gqlgen's *.gotpl files
- # If it fails, the gqlgenVersion may have to be updated.
- preBuild = ''
- unzip ''${GOPROXY#"file://"}/github.com/99designs/gqlgen/@v/v${gqlgenVersion}.zip
- if [ -d ./loaders ]; then go generate ./loaders; fi
- if [ -d ./graph ]; then go generate ./graph; fi
- rm -rf github.com
- '';
-}
diff --git a/pkgs/applications/version-management/sourcehut/git.nix b/pkgs/applications/version-management/sourcehut/git.nix
deleted file mode 100644
index cf58b41994e5..000000000000
--- a/pkgs/applications/version-management/sourcehut/git.nix
+++ /dev/null
@@ -1,153 +0,0 @@
-{
- lib,
- fetchFromSourcehut,
- buildGoModule,
- buildPythonPackage,
- python,
- srht,
- scmsrht,
- pygit2,
- minio,
- pythonOlder,
- unzip,
- pip,
- setuptools-scm,
-}:
-let
- version = "0.88.10";
- gqlgen = import ./fix-gqlgen-trimpath.nix {
- inherit unzip;
- gqlgenVersion = "0.17.64";
- };
-
- src = fetchFromSourcehut {
- owner = "~sircmpwn";
- repo = "git.sr.ht";
- rev = version;
- hash = "sha256-o7d2EIx9oJAQSIrMMG/TYjAo7PJwT6rE8kcVMKoYenY=";
- };
-
- patches = [ ./patches/core-go-update/git/patch-deps.patch ];
-
- gitApi = buildGoModule (
- {
- inherit src version patches;
- pname = "gitsrht-api";
- modRoot = "api";
- vendorHash = "sha256-20SxOZrvj41L8A5nuOro9DYiK6FyhwJK5cNAvxPB7qw=";
- }
- // gqlgen
- );
-
- gitDispatch = buildGoModule (
- {
- inherit src version patches;
- pname = "gitsrht-dispatch";
- modRoot = "dispatch";
- vendorHash = "sha256-MXLF7vO8SmUkU1nOxhObuzjT2ZRQQluIX7TRrxL7/3Y=";
-
- postPatch = ''
- substituteInPlace dispatch/main.go \
- --replace-fail /var/log/git.sr.ht-dispatch /var/log/sourcehut/git.sr.ht-dispatch
- '';
- }
- // gqlgen
- );
-
- gitKeys = buildGoModule (
- {
- inherit src version patches;
- pname = "gitsrht-keys";
- modRoot = "keys";
- vendorHash = "sha256-MXLF7vO8SmUkU1nOxhObuzjT2ZRQQluIX7TRrxL7/3Y=";
-
- postPatch = ''
- substituteInPlace keys/main.go \
- --replace-fail /var/log/git.sr.ht-keys /var/log/sourcehut/git.sr.ht-keys
- '';
- }
- // gqlgen
- );
-
- gitShell = buildGoModule (
- {
- inherit src version patches;
- pname = "gitsrht-shell";
- modRoot = "shell";
- vendorHash = "sha256-MXLF7vO8SmUkU1nOxhObuzjT2ZRQQluIX7TRrxL7/3Y=";
-
- postPatch = ''
- substituteInPlace shell/main.go \
- --replace-fail /var/log/git.sr.ht-shell /var/log/sourcehut/git.sr.ht-shell
- '';
- }
- // gqlgen
- );
-
- gitUpdateHook = buildGoModule (
- {
- inherit src version patches;
- pname = "gitsrht-update-hook";
- modRoot = "update-hook";
- vendorHash = "sha256-MXLF7vO8SmUkU1nOxhObuzjT2ZRQQluIX7TRrxL7/3Y=";
-
- postPatch = ''
- substituteInPlace update-hook/main.go \
- --replace-fail /var/log/git.sr.ht-update-hook /var/log/sourcehut/git.sr.ht-update-hook
- '';
- }
- // gqlgen
- );
-in
-buildPythonPackage rec {
- inherit src version patches;
- pname = "gitsrht";
- pyproject = true;
-
- disabled = pythonOlder "3.7";
-
- nativeBuildInputs = [
- pip
- setuptools-scm
- ];
-
- propagatedBuildInputs = [
- srht
- scmsrht
- pygit2
- minio
- ];
-
- env = {
- PKGVER = version;
- SRHT_PATH = "${srht}/${python.sitePackages}/srht";
- PREFIX = placeholder "out";
- };
-
- postBuild = ''
- make SASSC_INCLUDE=-I${srht}/share/sourcehut/scss/ all-share
- '';
-
- postInstall = ''
- mkdir -p $out/bin
- ln -s ${gitApi}/bin/api $out/bin/git.sr.ht-api
- ln -s ${gitDispatch}/bin/dispatch $out/bin/git.sr.ht-dispatch
- ln -s ${gitKeys}/bin/keys $out/bin/git.sr.ht-keys
- ln -s ${gitShell}/bin/shell $out/bin/git.sr.ht-shell
- ln -s ${gitUpdateHook}/bin/update-hook $out/bin/git.sr.ht-update-hook
- install -Dm644 schema.sql $out/share/sourcehut/git.sr.ht-schema.sql
- make PREFIX=$out install-share
- '';
-
- pythonImportsCheck = [ "gitsrht" ];
-
- meta = with lib; {
- homepage = "https://git.sr.ht/~sircmpwn/git.sr.ht";
- description = "Git repository hosting service for the sr.ht network";
- license = licenses.agpl3Only;
- maintainers = with maintainers; [
- eadwu
- christoph-heiss
- ];
- };
-}
diff --git a/pkgs/applications/version-management/sourcehut/hg.nix b/pkgs/applications/version-management/sourcehut/hg.nix
deleted file mode 100644
index 59642035e236..000000000000
--- a/pkgs/applications/version-management/sourcehut/hg.nix
+++ /dev/null
@@ -1,117 +0,0 @@
-{
- lib,
- fetchFromSourcehut,
- fetchpatch,
- buildGoModule,
- buildPythonPackage,
- srht,
- python-hglib,
- scmsrht,
- unidiff,
- python,
- unzip,
- pip,
- pythonOlder,
- setuptools-scm,
-}:
-
-let
- version = "0.36.1";
- gqlgen = import ./fix-gqlgen-trimpath.nix {
- inherit unzip;
- gqlgenVersion = "0.17.64";
- };
-
- patches = [
- (fetchpatch {
- name = "update-core-go-and-gqlgen.patch";
- url = "https://hg.sr.ht/~sircmpwn/hg.sr.ht/rev/2765f086c3a67e00219cabe9a1dd01b2012c5c12.patch";
- hash = "sha256-MLZG07tD7vrfvx2GDRUvFd/7VxxZLrAa/C3bB/IvQpI=";
- })
- ./patches/core-go-update/hg/patch-deps.patch
- ];
-
- src = fetchFromSourcehut {
- owner = "~sircmpwn";
- repo = "hg.sr.ht";
- rev = version;
- hash = "sha256-EeWRUb/BZ+KJXNqmzCFYHkvWUaPvF/F7ZaOYM0IEYwk=";
- vc = "hg";
- };
-
- hgsrht-api = buildGoModule (
- {
- inherit src version patches;
- pname = "hgsrht-api";
- modRoot = "api";
- vendorHash = "sha256-elaVmyaO5IbzsnBYRjJvmoOFR8gx1xCfzd3z01KNXVA=";
- }
- // gqlgen
- );
-
- hgsrht-keys = buildGoModule {
- inherit src version patches;
- pname = "hgsrht-keys";
- modRoot = "keys";
- vendorHash = "sha256-U5NtgyUgVqI25XBg51U7glNRpR5MZBCcsuuR6f+gZc8=";
-
- postPatch = ''
- substituteInPlace keys/main.go \
- --replace-fail /var/log/hg.sr.ht-keys /var/log/sourcehut/hg.sr.ht-keys
- '';
- };
-in
-buildPythonPackage rec {
- inherit src version patches;
- pname = "hgsrht";
-
- pyproject = true;
-
- disabled = pythonOlder "3.7";
-
- postPatch = ''
- substituteInPlace hg.sr.ht-shell \
- --replace-fail /var/log/hg.sr.ht-shell /var/log/sourcehut/hg.sr.ht-shell
- '';
-
- nativeBuildInputs = [
- pip
- setuptools-scm
- ];
-
- propagatedBuildInputs = [
- python-hglib
- scmsrht
- srht
- unidiff
- ];
-
- env = {
- PKGVER = version;
- SRHT_PATH = "${srht}/${python.sitePackages}/srht";
- PREFIX = placeholder "out";
- };
-
- postBuild = ''
- make SASSC_INCLUDE=-I${srht}/share/sourcehut/scss/ all-share
- '';
-
- postInstall = ''
- ln -s ${hgsrht-api}/bin/api $out/bin/hg.sr.ht-api
- ln -s ${hgsrht-keys}/bin/hgsrht-keys $out/bin/hg.sr.ht-keys
- install -Dm644 schema.sql $out/share/sourcehut/hg.sr.ht-schema.sql
- make install-share
- '';
-
- pythonImportsCheck = [ "hgsrht" ];
-
- meta = with lib; {
- homepage = "https://hg.sr.ht/~sircmpwn/hg.sr.ht";
- description = "Mercurial repository hosting service for the sr.ht network";
- license = licenses.agpl3Only;
- maintainers = with maintainers; [
- eadwu
- christoph-heiss
- ];
- };
-}
diff --git a/pkgs/applications/version-management/sourcehut/hub.nix b/pkgs/applications/version-management/sourcehut/hub.nix
deleted file mode 100644
index 52b30b793ab6..000000000000
--- a/pkgs/applications/version-management/sourcehut/hub.nix
+++ /dev/null
@@ -1,90 +0,0 @@
-{
- lib,
- fetchFromSourcehut,
- buildGoModule,
- buildPythonPackage,
- python,
- srht,
- setuptools-scm,
- pip,
- pyyaml,
- pythonOlder,
- unzip,
-}:
-
-let
- version = "0.20.2";
- gqlgen = import ./fix-gqlgen-trimpath.nix {
- inherit unzip;
- gqlgenVersion = "0.17.64";
- };
-
- patches = [ ./patches/core-go-update/hub/patch-deps.patch ];
-
- src = fetchFromSourcehut {
- owner = "~sircmpwn";
- repo = "hub.sr.ht";
- rev = version;
- hash = "sha256-blaaJ7kQBkswmSpEVEsDm6vaxuMuCcW2wmeN+fbwzjg=";
- };
-
- hubsrht-api = buildGoModule (
- {
- inherit src version patches;
- pname = "hubsrht-api";
- modRoot = "api";
- vendorHash = "sha256-jKNHZrFydp3+cD8MR2izzE8bi4H2uT/7+x/wmPkEIIc=";
- }
- // gqlgen
- );
-in
-buildPythonPackage rec {
- inherit src version patches;
- pname = "hubsrht";
- pyproject = true;
-
- disabled = pythonOlder "3.7";
-
- nativeBuildInputs = [
- pip
- setuptools-scm
- ];
-
- propagatedBuildInputs = [
- srht
- pyyaml
- ];
-
- env = {
- PKGVER = version;
- SRHT_PATH = "${srht}/${python.sitePackages}/srht";
- PREFIX = placeholder "out";
- };
-
- postBuild = ''
- make SASSC_INCLUDE=-I${srht}/share/sourcehut/scss/ all-share
- '';
-
- postInstall = ''
- ln -s ${hubsrht-api}/bin/api $out/bin/hub.sr.ht-api
- install -Dm644 schema.sql $out/share/sourcehut/hub.sr.ht-schema.sql
- make install-share
- '';
-
- # Module has no tests
- doCheck = false;
-
- pythonImportsCheck = [
- "hubsrht"
- ];
-
- meta = with lib; {
- homepage = "https://git.sr.ht/~sircmpwn/hub.sr.ht";
- description = "Project hub service for the sr.ht network";
- license = licenses.agpl3Only;
- maintainers = with maintainers; [
- eadwu
- christoph-heiss
- ];
- };
-}
diff --git a/pkgs/applications/version-management/sourcehut/lists.nix b/pkgs/applications/version-management/sourcehut/lists.nix
deleted file mode 100644
index f36515a55b7b..000000000000
--- a/pkgs/applications/version-management/sourcehut/lists.nix
+++ /dev/null
@@ -1,92 +0,0 @@
-{
- lib,
- fetchFromSourcehut,
- buildGoModule,
- buildPythonPackage,
- srht,
- aiosmtpd,
- asyncpg,
- pygit2,
- emailthreads,
- python,
- unzip,
- pip,
- pythonOlder,
- setuptools-scm,
-}:
-
-let
- version = "0.62.3";
- gqlgen = import ./fix-gqlgen-trimpath.nix {
- inherit unzip;
- gqlgenVersion = "0.17.64";
- };
-
- patches = [ ./patches/core-go-update/lists/patch-deps.patch ];
-
- src = fetchFromSourcehut {
- owner = "~sircmpwn";
- repo = "lists.sr.ht";
- rev = version;
- hash = "sha256-HU3hnKdIoseCo1/lt3GIOQ5d3joykN11/Bzvk4xvH4Y=";
- };
-
- listssrht-api = buildGoModule (
- {
- inherit src version patches;
- pname = "listssrht-api";
- modRoot = "api";
- vendorHash = "sha256-XKDEr8ESs9oBh7DKu2jgPEMDY99nN25inkNwU/rrza8=";
- }
- // gqlgen
- );
-in
-buildPythonPackage rec {
- inherit src version patches;
- pname = "listssrht";
- pyproject = true;
-
- disabled = pythonOlder "3.7";
-
- nativeBuildInputs = [
- pip
- setuptools-scm
- ];
-
- propagatedBuildInputs = [
- srht
- aiosmtpd
- asyncpg
- pygit2
- # Unofficial dependency
- emailthreads
- ];
-
- env = {
- PKGVER = version;
- SRHT_PATH = "${srht}/${python.sitePackages}/srht";
- PREFIX = placeholder "out";
- };
-
- postBuild = ''
- make SASSC_INCLUDE=-I${srht}/share/sourcehut/scss/ all-share
- '';
-
- postInstall = ''
- ln -s ${listssrht-api}/bin/api $out/bin/lists.sr.ht-api
- install -Dm644 schema.sql $out/share/sourcehut/lists.sr.ht-schema.sql
- make install-share
- '';
-
- pythonImportsCheck = [ "listssrht" ];
-
- meta = with lib; {
- homepage = "https://git.sr.ht/~sircmpwn/lists.sr.ht";
- description = "Mailing list service for the sr.ht network";
- license = licenses.agpl3Only;
- maintainers = with maintainers; [
- eadwu
- christoph-heiss
- ];
- };
-}
diff --git a/pkgs/applications/version-management/sourcehut/man.nix b/pkgs/applications/version-management/sourcehut/man.nix
deleted file mode 100644
index 8b9e0525a926..000000000000
--- a/pkgs/applications/version-management/sourcehut/man.nix
+++ /dev/null
@@ -1,85 +0,0 @@
-{
- lib,
- fetchFromSourcehut,
- buildGoModule,
- buildPythonPackage,
- srht,
- pygit2,
- python,
- unzip,
- pip,
- pythonOlder,
- setuptools-scm,
-}:
-
-let
- version = "0.18.1";
- gqlgen = import ./fix-gqlgen-trimpath.nix {
- inherit unzip;
- gqlgenVersion = "0.17.64";
- };
-
- patches = [ ./patches/core-go-update/man/patch-deps.patch ];
-
- src = fetchFromSourcehut {
- owner = "~sircmpwn";
- repo = "man.sr.ht";
- rev = version;
- hash = "sha256-c2xFC1pmOSGGMP4RVOmgFogj7CY2kHrADsWsm7M5ZK4=";
- };
-
- mansrht-api = buildGoModule (
- {
- inherit src version patches;
- pname = "mansrht-api";
- modRoot = "api";
- vendorHash = "sha256-jKNHZrFydp3+cD8MR2izzE8bi4H2uT/7+x/wmPkEIIc=";
- }
- // gqlgen
- );
-in
-buildPythonPackage rec {
- inherit src version patches;
- pname = "mansrht";
- pyproject = true;
-
- disabled = pythonOlder "3.7";
-
- nativeBuildInputs = [
- pip
- setuptools-scm
- ];
-
- propagatedBuildInputs = [
- srht
- pygit2
- ];
-
- env = {
- PKGVER = version;
- SRHT_PATH = "${srht}/${python.sitePackages}/srht";
- PREFIX = placeholder "out";
- };
-
- postBuild = ''
- make SASSC_INCLUDE=-I${srht}/share/sourcehut/scss/ all-share
- '';
-
- postInstall = ''
- ln -s ${mansrht-api}/bin/api $out/bin/man.sr.ht-api
- install -Dm644 schema.sql $out/share/sourcehut/man.sr.ht-schema.sql
- make install-share
- '';
-
- pythonImportsCheck = [ "mansrht" ];
-
- meta = with lib; {
- homepage = "https://git.sr.ht/~sircmpwn/man.sr.ht";
- description = "Wiki service for the sr.ht network";
- license = licenses.agpl3Only;
- maintainers = with maintainers; [
- eadwu
- christoph-heiss
- ];
- };
-}
diff --git a/pkgs/applications/version-management/sourcehut/meta.nix b/pkgs/applications/version-management/sourcehut/meta.nix
deleted file mode 100644
index 356812b643d8..000000000000
--- a/pkgs/applications/version-management/sourcehut/meta.nix
+++ /dev/null
@@ -1,99 +0,0 @@
-{
- lib,
- fetchFromSourcehut,
- buildPythonPackage,
- buildGoModule,
- alembic,
- bcrypt,
- dnspython,
- qrcode,
- redis,
- srht,
- stripe,
- prometheus-client,
- zxcvbn,
- python,
- unzip,
- pip,
- pythonOlder,
- setuptools-scm,
-}:
-let
- version = "0.72.11";
- gqlgen = import ./fix-gqlgen-trimpath.nix {
- inherit unzip;
- gqlgenVersion = "0.17.64";
- };
-
- patches = [ ./patches/core-go-update/meta/patch-deps.patch ];
-
- src = fetchFromSourcehut {
- owner = "~sircmpwn";
- repo = "meta.sr.ht";
- rev = version;
- hash = "sha256-dh+9wSQLL69xZ2Elmkyb9vEwpE7U7szz62VVS/0IM7Q=";
- };
-
- metasrht-api = buildGoModule (
- {
- inherit src version patches;
- pname = "metasrht-api";
- modRoot = "api";
- vendorHash = "sha256-z4gRqI05t3m7ANyDJHmBcOCW476IG/eTfLetPRPbqtg=";
- }
- // gqlgen
- );
-in
-buildPythonPackage rec {
- pname = "metasrht";
- inherit version src patches;
- pyproject = true;
-
- disabled = pythonOlder "3.7";
-
- nativeBuildInputs = [
- pip
- setuptools-scm
- ];
-
- propagatedBuildInputs = [
- alembic
- bcrypt
- dnspython
- qrcode
- redis
- srht
- stripe
- prometheus-client
- zxcvbn
- ];
-
- env = {
- PKGVER = version;
- SRHT_PATH = "${srht}/${python.sitePackages}/srht";
- PREFIX = placeholder "out";
- };
-
- postBuild = ''
- make SASSC_INCLUDE=-I${srht}/share/sourcehut/scss/ all-share
- '';
-
- postInstall = ''
- mkdir -p $out/bin
- ln -s ${metasrht-api}/bin/api $out/bin/meta.sr.ht-api
- install -Dm644 schema.sql $out/share/sourcehut/meta.sr.ht-schema.sql
- make install-share
- '';
-
- pythonImportsCheck = [ "metasrht" ];
-
- meta = with lib; {
- homepage = "https://git.sr.ht/~sircmpwn/meta.sr.ht";
- description = "Account management service for the sr.ht network";
- license = licenses.agpl3Only;
- maintainers = with maintainers; [
- eadwu
- christoph-heiss
- ];
- };
-}
diff --git a/pkgs/applications/version-management/sourcehut/pages.nix b/pkgs/applications/version-management/sourcehut/pages.nix
deleted file mode 100644
index cd3aa0db0ce7..000000000000
--- a/pkgs/applications/version-management/sourcehut/pages.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- lib,
- fetchFromSourcehut,
- buildGoModule,
- unzip,
-}:
-
-buildGoModule (
- rec {
- pname = "pagessrht";
- version = "0.16.0";
-
- src = fetchFromSourcehut {
- owner = "~sircmpwn";
- repo = "pages.sr.ht";
- rev = version;
- hash = "sha256-XnKNXYzg9wuL4U2twkAspaQJZy2HWLQQQl9AITtipVU=";
- };
-
- patches = ./patches/core-go-update/pages/patch-deps.patch;
-
- postPatch = ''
- substituteInPlace Makefile \
- --replace-fail "all: server daily" ""
- '';
-
- vendorHash = "sha256-klDROxNvR7lk79ptckulImVVwsAfcnKtJJAaevlZSWU=";
-
- postInstall = ''
- mkdir -p $out/share/sql/
- cp -r -t $out/share/sql/ schema.sql migrations
- '';
-
- meta = with lib; {
- homepage = "https://git.sr.ht/~sircmpwn/pages.sr.ht";
- description = "Web hosting service for the sr.ht network";
- mainProgram = "pages.sr.ht";
- license = licenses.agpl3Only;
- maintainers = with maintainers; [
- eadwu
- christoph-heiss
- ];
- };
- # There is no ./loaders but this does not cause troubles
- # to go generate
- }
- // import ./fix-gqlgen-trimpath.nix {
- inherit unzip;
- gqlgenVersion = "0.17.64";
- }
-)
diff --git a/pkgs/applications/version-management/sourcehut/paste.nix b/pkgs/applications/version-management/sourcehut/paste.nix
deleted file mode 100644
index e4208de8cd08..000000000000
--- a/pkgs/applications/version-management/sourcehut/paste.nix
+++ /dev/null
@@ -1,86 +0,0 @@
-{
- lib,
- fetchFromSourcehut,
- buildGoModule,
- buildPythonPackage,
- srht,
- pip,
- pyyaml,
- python,
- pythonOlder,
- setuptools-scm,
- unzip,
-}:
-
-let
- version = "0.16.1";
- gqlgen = import ./fix-gqlgen-trimpath.nix {
- inherit unzip;
- gqlgenVersion = "0.17.64";
- };
-
- patches = [ ./patches/core-go-update/paste/patch-deps.patch ];
-
- src = fetchFromSourcehut {
- owner = "~sircmpwn";
- repo = "paste.sr.ht";
- rev = version;
- hash = "sha256-SWtkE2/sTTJo0zAVFRfsA7fVF359OvgiHOT+yRaiads=";
- };
-
- pastesrht-api = buildGoModule (
- {
- inherit src version patches;
- pname = "pastesrht-api";
- modRoot = "api";
- vendorHash = "sha256-uVqxPa1YggPgdSzGzXxVNdf4dM2DPGDXajkSXz4NhFM=";
- }
- // gqlgen
- );
-in
-buildPythonPackage rec {
- inherit src version patches;
- pname = "pastesrht";
- pyproject = true;
-
- disabled = pythonOlder "3.7";
-
- nativeBuildInputs = [
- pip
- setuptools-scm
- ];
-
- propagatedBuildInputs = [
- srht
- pyyaml
- ];
-
- env = {
- PKGVER = version;
- SRHT_PATH = "${srht}/${python.sitePackages}/srht";
- PREFIX = placeholder "out";
- };
-
- postBuild = ''
- make SASSC_INCLUDE=-I${srht}/share/sourcehut/scss/ all-share
- '';
-
- postInstall = ''
- mkdir -p $out/bin
- ln -s ${pastesrht-api}/bin/api $out/bin/paste.sr.ht-api
- make install-share
- '';
-
- pythonImportsCheck = [ "pastesrht" ];
-
- meta = with lib; {
- homepage = "https://git.sr.ht/~sircmpwn/paste.sr.ht";
- description = "Ad-hoc text file hosting service for the sr.ht network";
- license = licenses.agpl3Only;
- maintainers = with maintainers; [
- eadwu
- nessdoor
- christoph-heiss
- ];
- };
-}
diff --git a/pkgs/applications/version-management/sourcehut/patches/core-go-update/builds/patch-deps.patch b/pkgs/applications/version-management/sourcehut/patches/core-go-update/builds/patch-deps.patch
deleted file mode 100644
index 27017b57ed8c..000000000000
--- a/pkgs/applications/version-management/sourcehut/patches/core-go-update/builds/patch-deps.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/go.mod b/go.mod
-index 07f7c64..972b258 100644
---- a/go.mod
-+++ b/go.mod
-@@ -5,7 +5,7 @@ go 1.22.5
- toolchain go1.24.0
-
- require (
-- git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b
-+ git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b
- git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c
- github.com/99designs/gqlgen v0.17.64
- github.com/Masterminds/squirrel v1.5.4
-diff --git a/go.sum b/go.sum
-index aaccf89..73bfe7c 100644
---- a/go.sum
-+++ b/go.sum
-@@ -1,5 +1,7 @@
- git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b h1:d76irAQODAtl5G1zmKfwf60544fyGz74YT9k+7yYVxc=
- git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c=
-+git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b h1:UuQxEJrh/NNdmaVcK34opEz7ypXnPyxeRcT7Aigz+7E=
-+git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c=
- git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c h1:v2opuaN0C5ZpuCifRNR9ZQ8V9IG+Ja80otK1MFj5RnI=
- git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c/go.mod h1:8neHEO3503w/rNtttnR0JFpQgM/GFhaafVwvkPsFIDw=
- git.sr.ht/~sircmpwn/getopt v0.0.0-20191230200459-23622cc906b3/go.mod h1:wMEGFFFNuPos7vHmWXfszqImLppbc0wEhh6JBfJIUgw=
diff --git a/pkgs/applications/version-management/sourcehut/patches/core-go-update/git/patch-deps.patch b/pkgs/applications/version-management/sourcehut/patches/core-go-update/git/patch-deps.patch
deleted file mode 100644
index f6e1d18e3c5c..000000000000
--- a/pkgs/applications/version-management/sourcehut/patches/core-go-update/git/patch-deps.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/go.mod b/go.mod
-index b1e0834..8299f9b 100644
---- a/go.mod
-+++ b/go.mod
-@@ -5,7 +5,7 @@ go 1.22.5
- toolchain go1.24.0
-
- require (
-- git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b
-+ git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b
- git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c
- git.sr.ht/~sircmpwn/scm.sr.ht/srht-keys v0.0.0-20241202093706-8da5ec7e6b94
- git.sr.ht/~turminal/go-fnmatch v0.0.0-20211021204744-1a55764af6de
-diff --git a/go.sum b/go.sum
-index 193cce9..9b0bda4 100644
---- a/go.sum
-+++ b/go.sum
-@@ -35,6 +35,8 @@ dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7
- git.sr.ht/~sircmpwn/core-go v0.0.0-20240124105042-864816cfbc0c/go.mod h1:OovCpg5LsbYJjmDTpk5wUgHM4tUor736Pmxekm9BUcQ=
- git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b h1:d76irAQODAtl5G1zmKfwf60544fyGz74YT9k+7yYVxc=
- git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c=
-+git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b h1:UuQxEJrh/NNdmaVcK34opEz7ypXnPyxeRcT7Aigz+7E=
-+git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c=
- git.sr.ht/~sircmpwn/dowork v0.0.0-20221010085743-46c4299d76a1/go.mod h1:8neHEO3503w/rNtttnR0JFpQgM/GFhaafVwvkPsFIDw=
- git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c h1:v2opuaN0C5ZpuCifRNR9ZQ8V9IG+Ja80otK1MFj5RnI=
- git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c/go.mod h1:8neHEO3503w/rNtttnR0JFpQgM/GFhaafVwvkPsFIDw=
diff --git a/pkgs/applications/version-management/sourcehut/patches/core-go-update/hg/patch-deps.patch b/pkgs/applications/version-management/sourcehut/patches/core-go-update/hg/patch-deps.patch
deleted file mode 100644
index 6ab931be71e9..000000000000
--- a/pkgs/applications/version-management/sourcehut/patches/core-go-update/hg/patch-deps.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/go.mod b/go.mod
-index ba49458..3a31083 100644
---- a/go.mod
-+++ b/go.mod
-@@ -5,7 +5,7 @@ go 1.22.5
- toolchain go1.24.0
-
- require (
-- git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b
-+ git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b
- git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c
- github.com/99designs/gqlgen v0.17.64
- github.com/Masterminds/squirrel v1.5.4
-diff --git a/go.sum b/go.sum
-index 61766aa..e01c045 100644
---- a/go.sum
-+++ b/go.sum
-@@ -1,5 +1,7 @@
- git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b h1:d76irAQODAtl5G1zmKfwf60544fyGz74YT9k+7yYVxc=
- git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c=
-+git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b h1:UuQxEJrh/NNdmaVcK34opEz7ypXnPyxeRcT7Aigz+7E=
-+git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c=
- git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c h1:v2opuaN0C5ZpuCifRNR9ZQ8V9IG+Ja80otK1MFj5RnI=
- git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c/go.mod h1:8neHEO3503w/rNtttnR0JFpQgM/GFhaafVwvkPsFIDw=
- git.sr.ht/~sircmpwn/getopt v0.0.0-20191230200459-23622cc906b3/go.mod h1:wMEGFFFNuPos7vHmWXfszqImLppbc0wEhh6JBfJIUgw=
diff --git a/pkgs/applications/version-management/sourcehut/patches/core-go-update/hub/patch-deps.patch b/pkgs/applications/version-management/sourcehut/patches/core-go-update/hub/patch-deps.patch
deleted file mode 100644
index 495783f16b21..000000000000
--- a/pkgs/applications/version-management/sourcehut/patches/core-go-update/hub/patch-deps.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/go.mod b/go.mod
-index ea624d5..3674152 100644
---- a/go.mod
-+++ b/go.mod
-@@ -5,7 +5,7 @@ go 1.22.5
- toolchain go1.24.0
-
- require (
-- git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b
-+ git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b
- git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c
- github.com/99designs/gqlgen v0.17.64
- github.com/vektah/gqlparser/v2 v2.5.23
-diff --git a/go.sum b/go.sum
-index f67a555..a366a60 100644
---- a/go.sum
-+++ b/go.sum
-@@ -1,5 +1,7 @@
- git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b h1:d76irAQODAtl5G1zmKfwf60544fyGz74YT9k+7yYVxc=
- git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c=
-+git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b h1:UuQxEJrh/NNdmaVcK34opEz7ypXnPyxeRcT7Aigz+7E=
-+git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c=
- git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c h1:v2opuaN0C5ZpuCifRNR9ZQ8V9IG+Ja80otK1MFj5RnI=
- git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c/go.mod h1:8neHEO3503w/rNtttnR0JFpQgM/GFhaafVwvkPsFIDw=
- git.sr.ht/~sircmpwn/getopt v0.0.0-20191230200459-23622cc906b3/go.mod h1:wMEGFFFNuPos7vHmWXfszqImLppbc0wEhh6JBfJIUgw=
diff --git a/pkgs/applications/version-management/sourcehut/patches/core-go-update/lists/patch-deps.patch b/pkgs/applications/version-management/sourcehut/patches/core-go-update/lists/patch-deps.patch
deleted file mode 100644
index cd6054d9408c..000000000000
--- a/pkgs/applications/version-management/sourcehut/patches/core-go-update/lists/patch-deps.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/go.mod b/go.mod
-index da34484..24757a0 100644
---- a/go.mod
-+++ b/go.mod
-@@ -6,7 +6,7 @@ toolchain go1.24.0
-
- require (
- git.sr.ht/~emersion/go-emailthreads v0.0.0-20230220165133-75c43015b6c2
-- git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b
-+ git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b
- git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c
- github.com/99designs/gqlgen v0.17.64
- github.com/Masterminds/squirrel v1.5.4
-diff --git a/go.sum b/go.sum
-index 4590dd5..0c49985 100644
---- a/go.sum
-+++ b/go.sum
-@@ -2,6 +2,8 @@ git.sr.ht/~emersion/go-emailthreads v0.0.0-20230220165133-75c43015b6c2 h1:5CkkRD
- git.sr.ht/~emersion/go-emailthreads v0.0.0-20230220165133-75c43015b6c2/go.mod h1:CQUF7XpyupxjwxlNX3PHRCYL+N2COXTRRRS4MgM49R4=
- git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b h1:d76irAQODAtl5G1zmKfwf60544fyGz74YT9k+7yYVxc=
- git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c=
-+git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b h1:UuQxEJrh/NNdmaVcK34opEz7ypXnPyxeRcT7Aigz+7E=
-+git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c=
- git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c h1:v2opuaN0C5ZpuCifRNR9ZQ8V9IG+Ja80otK1MFj5RnI=
- git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c/go.mod h1:8neHEO3503w/rNtttnR0JFpQgM/GFhaafVwvkPsFIDw=
- git.sr.ht/~sircmpwn/getopt v0.0.0-20191230200459-23622cc906b3/go.mod h1:wMEGFFFNuPos7vHmWXfszqImLppbc0wEhh6JBfJIUgw=
diff --git a/pkgs/applications/version-management/sourcehut/patches/core-go-update/man/patch-deps.patch b/pkgs/applications/version-management/sourcehut/patches/core-go-update/man/patch-deps.patch
deleted file mode 100644
index 581f42528f51..000000000000
--- a/pkgs/applications/version-management/sourcehut/patches/core-go-update/man/patch-deps.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/go.mod b/go.mod
-index 21c7713..8f158a2 100644
---- a/go.mod
-+++ b/go.mod
-@@ -5,7 +5,7 @@ go 1.22.5
- toolchain go1.24.0
-
- require (
-- git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b
-+ git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b
- git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c
- github.com/99designs/gqlgen v0.17.64
- github.com/vektah/gqlparser/v2 v2.5.23
-diff --git a/go.sum b/go.sum
-index f67a555..a366a60 100644
---- a/go.sum
-+++ b/go.sum
-@@ -1,5 +1,7 @@
- git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b h1:d76irAQODAtl5G1zmKfwf60544fyGz74YT9k+7yYVxc=
- git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c=
-+git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b h1:UuQxEJrh/NNdmaVcK34opEz7ypXnPyxeRcT7Aigz+7E=
-+git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c=
- git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c h1:v2opuaN0C5ZpuCifRNR9ZQ8V9IG+Ja80otK1MFj5RnI=
- git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c/go.mod h1:8neHEO3503w/rNtttnR0JFpQgM/GFhaafVwvkPsFIDw=
- git.sr.ht/~sircmpwn/getopt v0.0.0-20191230200459-23622cc906b3/go.mod h1:wMEGFFFNuPos7vHmWXfszqImLppbc0wEhh6JBfJIUgw=
diff --git a/pkgs/applications/version-management/sourcehut/patches/core-go-update/meta/patch-deps.patch b/pkgs/applications/version-management/sourcehut/patches/core-go-update/meta/patch-deps.patch
deleted file mode 100644
index 7163246928a9..000000000000
--- a/pkgs/applications/version-management/sourcehut/patches/core-go-update/meta/patch-deps.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/go.mod b/go.mod
-index 463f022..a7dc400 100644
---- a/go.mod
-+++ b/go.mod
-@@ -8,7 +8,7 @@ require (
- git.sr.ht/~emersion/go-oauth2 v0.0.0-20240217160856-2e0d6e20b088
- git.sr.ht/~emersion/gqlclient v0.0.0-20230820050442-8873fe0204b9
- git.sr.ht/~sircmpwn/abused v0.0.0-20240216134550-21e8606c6f89
-- git.sr.ht/~sircmpwn/core-go v0.0.0-20250311090327-1e3cd785af1e
-+ git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b
- git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c
- github.com/99designs/gqlgen v0.17.64
- github.com/Masterminds/squirrel v1.5.4
-diff --git a/go.sum b/go.sum
-index 9c08b1a..abf1a58 100644
---- a/go.sum
-+++ b/go.sum
-@@ -6,6 +6,8 @@ git.sr.ht/~sircmpwn/abused v0.0.0-20240216134550-21e8606c6f89 h1:usW1i77LjfTfNzX
- git.sr.ht/~sircmpwn/abused v0.0.0-20240216134550-21e8606c6f89/go.mod h1:A+FTCDOSRA0naGMcM9OenO7kMhBxj+Kbd+4nBpg6NO4=
- git.sr.ht/~sircmpwn/core-go v0.0.0-20250311090327-1e3cd785af1e h1:epi/OdTKtazVbHHn1Qunx+nSHt96+xBBiNgs+SgRGwo=
- git.sr.ht/~sircmpwn/core-go v0.0.0-20250311090327-1e3cd785af1e/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c=
-+git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b h1:UuQxEJrh/NNdmaVcK34opEz7ypXnPyxeRcT7Aigz+7E=
-+git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c=
- git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c h1:v2opuaN0C5ZpuCifRNR9ZQ8V9IG+Ja80otK1MFj5RnI=
- git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c/go.mod h1:8neHEO3503w/rNtttnR0JFpQgM/GFhaafVwvkPsFIDw=
- git.sr.ht/~sircmpwn/getopt v0.0.0-20191230200459-23622cc906b3/go.mod h1:wMEGFFFNuPos7vHmWXfszqImLppbc0wEhh6JBfJIUgw=
diff --git a/pkgs/applications/version-management/sourcehut/patches/core-go-update/pages/patch-deps.patch b/pkgs/applications/version-management/sourcehut/patches/core-go-update/pages/patch-deps.patch
deleted file mode 100644
index fad46f85377b..000000000000
--- a/pkgs/applications/version-management/sourcehut/patches/core-go-update/pages/patch-deps.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/go.mod b/go.mod
-index 67aa15c..baffe8e 100644
---- a/go.mod
-+++ b/go.mod
-@@ -6,7 +6,7 @@ toolchain go1.24.0
-
- require (
- git.sr.ht/~adnano/go-gemini v0.2.3
-- git.sr.ht/~sircmpwn/core-go v0.0.0-20250326085317-29a3ebfee9d0
-+ git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b
- git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c
- github.com/99designs/gqlgen v0.17.64
- github.com/CAFxX/httpcompression v0.0.9
-diff --git a/go.sum b/go.sum
-index ccd1f94..0945505 100644
---- a/go.sum
-+++ b/go.sum
-@@ -1,5 +1,7 @@
- git.sr.ht/~adnano/go-gemini v0.2.3 h1:oJ+Y0/mheZ4Vg0ABjtf5dlmvq1yoONStiaQvmWWkofc=
- git.sr.ht/~adnano/go-gemini v0.2.3/go.mod h1:hQ75Y0i5jSFL+FQ7AzWVAYr5LQsaFC7v3ZviNyj46dY=
-+git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b h1:UuQxEJrh/NNdmaVcK34opEz7ypXnPyxeRcT7Aigz+7E=
-+git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c=
- git.sr.ht/~sircmpwn/core-go v0.0.0-20250326085317-29a3ebfee9d0 h1:jFSTrW57GbcDoW850vw95zg0pLS1pe+cD5JtAQJ54ho=
- git.sr.ht/~sircmpwn/core-go v0.0.0-20250326085317-29a3ebfee9d0/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c=
- git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c h1:v2opuaN0C5ZpuCifRNR9ZQ8V9IG+Ja80otK1MFj5RnI=
diff --git a/pkgs/applications/version-management/sourcehut/patches/core-go-update/paste/patch-deps.patch b/pkgs/applications/version-management/sourcehut/patches/core-go-update/paste/patch-deps.patch
deleted file mode 100644
index f381b0f186d2..000000000000
--- a/pkgs/applications/version-management/sourcehut/patches/core-go-update/paste/patch-deps.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/go.mod b/go.mod
-index bc39fc4..bd01e53 100644
---- a/go.mod
-+++ b/go.mod
-@@ -5,7 +5,7 @@ go 1.22.5
- toolchain go1.24.0
-
- require (
-- git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b
-+ git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b
- git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c
- github.com/99designs/gqlgen v0.17.64
- github.com/Masterminds/squirrel v1.5.4
-diff --git a/go.sum b/go.sum
-index 61766aa..e01c045 100644
---- a/go.sum
-+++ b/go.sum
-@@ -1,5 +1,7 @@
- git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b h1:d76irAQODAtl5G1zmKfwf60544fyGz74YT9k+7yYVxc=
- git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c=
-+git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b h1:UuQxEJrh/NNdmaVcK34opEz7ypXnPyxeRcT7Aigz+7E=
-+git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c=
- git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c h1:v2opuaN0C5ZpuCifRNR9ZQ8V9IG+Ja80otK1MFj5RnI=
- git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c/go.mod h1:8neHEO3503w/rNtttnR0JFpQgM/GFhaafVwvkPsFIDw=
- git.sr.ht/~sircmpwn/getopt v0.0.0-20191230200459-23622cc906b3/go.mod h1:wMEGFFFNuPos7vHmWXfszqImLppbc0wEhh6JBfJIUgw=
diff --git a/pkgs/applications/version-management/sourcehut/patches/core-go-update/todo/patch-deps.patch b/pkgs/applications/version-management/sourcehut/patches/core-go-update/todo/patch-deps.patch
deleted file mode 100644
index b54e77147ed8..000000000000
--- a/pkgs/applications/version-management/sourcehut/patches/core-go-update/todo/patch-deps.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/go.mod b/go.mod
-index a352cfd..ab4beae 100644
---- a/go.mod
-+++ b/go.mod
-@@ -5,7 +5,7 @@ go 1.22.5
- toolchain go1.24.0
-
- require (
-- git.sr.ht/~sircmpwn/core-go v0.0.0-20250306104433-8e729e7539f4
-+ git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b
- git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c
- github.com/99designs/gqlgen v0.17.64
- github.com/Masterminds/squirrel v1.5.4
-diff --git a/go.sum b/go.sum
-index 5342a85..50c87f1 100644
---- a/go.sum
-+++ b/go.sum
-@@ -1,5 +1,7 @@
- git.sr.ht/~sircmpwn/core-go v0.0.0-20250306104433-8e729e7539f4 h1:LvEcAyN0YDwqsa7QkFXne0bQEWAod6jAI2VIc+kk5sk=
- git.sr.ht/~sircmpwn/core-go v0.0.0-20250306104433-8e729e7539f4/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c=
-+git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b h1:UuQxEJrh/NNdmaVcK34opEz7ypXnPyxeRcT7Aigz+7E=
-+git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c=
- git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c h1:v2opuaN0C5ZpuCifRNR9ZQ8V9IG+Ja80otK1MFj5RnI=
- git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c/go.mod h1:8neHEO3503w/rNtttnR0JFpQgM/GFhaafVwvkPsFIDw=
- git.sr.ht/~sircmpwn/getopt v0.0.0-20191230200459-23622cc906b3/go.mod h1:wMEGFFFNuPos7vHmWXfszqImLppbc0wEhh6JBfJIUgw=
diff --git a/pkgs/applications/version-management/sourcehut/patches/redis-socket/core/0001-Fix-Unix-socket-support-in-RedisQueueCollector.patch b/pkgs/applications/version-management/sourcehut/patches/redis-socket/core/0001-Fix-Unix-socket-support-in-RedisQueueCollector.patch
deleted file mode 100644
index fb2c32033128..000000000000
--- a/pkgs/applications/version-management/sourcehut/patches/redis-socket/core/0001-Fix-Unix-socket-support-in-RedisQueueCollector.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 76dd636151735671be74ba9d55f773e190e22827 Mon Sep 17 00:00:00 2001
-From: Julien Moutinho
-Date: Fri, 13 May 2022 22:40:46 +0200
-Subject: [PATCH core.sr.ht] Fix Unix socket support in RedisQueueCollector
-
-The broker URL is not necessarily in the format expected by Redis.from_url
-
-Especially, Redis.from_url supports this format for Unix sockets:
- unix:///run/redis-sourcehut-metasrht/redis.sock?db=0
-See https://redis-py.readthedocs.io/en/stable/#redis.ConnectionPool.from_url
-
-Whereas Celery+Kombu support Redis but also other transports
-and thus expect another scheme:
- redis+socket:///run/redis-sourcehut-metasrht/redis.sock?virtual_host=1
-See https://docs.celeryproject.org/en/stable/userguide/configuration.html#redis-backend-settings
-and https://github.com/celery/celery/blob/e5d99801e4b56a02af4a2e183879c767228d2817/celery/backends/redis.py#L299-L352
-and https://github.com/celery/kombu/blob/master/kombu/utils/url.py
----
- srht/metrics.py | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/srht/metrics.py b/srht/metrics.py
-index 68caf8e..2df5777 100644
---- a/srht/metrics.py
-+++ b/srht/metrics.py
-@@ -1,12 +1,12 @@
- import time
-+from celery import Celery
- from prometheus_client.metrics_core import GaugeMetricFamily
- from redis import ResponseError
--from srht.redis import from_url
-
-
- class RedisQueueCollector:
- def __init__(self, broker, name, documentation, queue_name="celery"):
-- self.redis = from_url(broker)
-+ self.redis = Celery("collector", broker=broker).connection_for_read().channel().client
- self.queue_name = queue_name
- self.name = name
- self.documentation = documentation
---
-2.35.1
-
diff --git a/pkgs/applications/version-management/sourcehut/scm.nix b/pkgs/applications/version-management/sourcehut/scm.nix
deleted file mode 100644
index 0a9bf574620f..000000000000
--- a/pkgs/applications/version-management/sourcehut/scm.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- lib,
- fetchFromSourcehut,
- buildPythonPackage,
- srht,
- pyyaml,
- buildsrht,
- pythonOlder,
- setuptools-scm,
-}:
-
-buildPythonPackage rec {
- pname = "scmsrht";
- version = "0.22.28";
- pyproject = true;
-
- disabled = pythonOlder "3.7";
-
- src = fetchFromSourcehut {
- owner = "~sircmpwn";
- repo = "scm.sr.ht";
- rev = version;
- hash = "sha256-+zxqiz5yPpgTwAw7w8GqJFb3OCcJEH/UhS5u2Xs7pzo=";
- };
-
- nativeBuildInputs = [
- setuptools-scm
- ];
-
- propagatedBuildInputs = [
- srht
- pyyaml
- buildsrht
- ];
-
- env.PKGVER = version;
-
- pythonImportsCheck = [ "scmsrht" ];
-
- meta = with lib; {
- homepage = "https://git.sr.ht/~sircmpwn/scm.sr.ht";
- description = "Shared support code for sr.ht source control services";
- license = licenses.agpl3Only;
- maintainers = with maintainers; [
- eadwu
- christoph-heiss
- ];
- };
-}
diff --git a/pkgs/applications/version-management/sourcehut/todo.nix b/pkgs/applications/version-management/sourcehut/todo.nix
deleted file mode 100644
index 3d9374185563..000000000000
--- a/pkgs/applications/version-management/sourcehut/todo.nix
+++ /dev/null
@@ -1,90 +0,0 @@
-{
- lib,
- fetchFromSourcehut,
- buildGoModule,
- buildPythonPackage,
- srht,
- alembic,
- pytest,
- factory-boy,
- python,
- unzip,
- pythonOlder,
- setuptools-scm,
-}:
-
-let
- version = "0.77.5";
- gqlgen = import ./fix-gqlgen-trimpath.nix {
- inherit unzip;
- gqlgenVersion = "0.17.64";
- };
-
- src = fetchFromSourcehut {
- owner = "~sircmpwn";
- repo = "todo.sr.ht";
- rev = version;
- hash = "sha256-P+ypiW3GHoMClBmW5lUNAG6/sydHHnFGyGajmC3WARg=";
- };
-
- patches = [ ./patches/core-go-update/todo/patch-deps.patch ];
-
- todosrht-api = buildGoModule (
- {
- inherit src version patches;
- pname = "todosrht-api";
- modRoot = "api";
- vendorHash = "sha256-ny6cyUIgmupeU8SFP8+RSQU7DD3Lk+j+mZQBoXKv63I=";
- }
- // gqlgen
- );
-in
-buildPythonPackage rec {
- inherit src version patches;
- pname = "todosrht";
- pyproject = true;
-
- disabled = pythonOlder "3.7";
-
- nativeBuildInputs = [
- setuptools-scm
- ];
-
- propagatedBuildInputs = [
- srht
- alembic
- ];
-
- env = {
- PKGVER = version;
- SRHT_PATH = "${srht}/${python.sitePackages}/srht";
- PREFIX = placeholder "out";
- };
-
- postBuild = ''
- make SASSC_INCLUDE=-I${srht}/share/sourcehut/scss/ all-share
- '';
-
- postInstall = ''
- ln -s ${todosrht-api}/bin/api $out/bin/todo.sr.ht-api
- install -Dm644 schema.sql $out/share/sourcehut/todo.sr.ht-schema.sql
- make install-share
- '';
-
- # pytest tests fail
- nativeCheckInputs = [
- pytest
- factory-boy
- ];
- pythonImportsCheck = [ "todosrht" ];
-
- meta = with lib; {
- homepage = "https://todo.sr.ht/~sircmpwn/todo.sr.ht";
- description = "Ticket tracking service for the sr.ht network";
- license = licenses.agpl3Only;
- maintainers = with maintainers; [
- eadwu
- christoph-heiss
- ];
- };
-}
diff --git a/pkgs/applications/version-management/sourcehut/update.sh b/pkgs/applications/version-management/sourcehut/update.sh
deleted file mode 100755
index e5dd0b5baed0..000000000000
--- a/pkgs/applications/version-management/sourcehut/update.sh
+++ /dev/null
@@ -1,95 +0,0 @@
-#! /usr/bin/env nix-shell
-#! nix-shell -i bash -p gnused git mercurial common-updater-scripts
-set -eux -o pipefail
-
-cd "$(dirname "${BASH_SOURCE[0]}")" || exit 1
-root=../../../..
-tmp=$(mktemp -d)
-trap 'rm -rf "$tmp"' EXIT
-
-attr_path() {
- case "$1" in
- pagessrht) printf "sourcehut.$1";;
- *) printf "sourcehut.python.pkgs.$1";;
- esac
-}
-
-default() {
- local p="$(attr_path "$1")"
- (cd "$root" && nix-instantiate --eval --strict -A $p.meta.position | sed -re 's/^"(.*):[0-9]+"$/\1/')
-}
-
-version() {
- local p="$(attr_path "$1")"
- (cd "$root" && nix-instantiate --eval --strict -A $p.version | tr -d '"')
-}
-
-src_url() {
- local p="$(attr_path "$1")"
- nix-instantiate --eval --strict --expr " with import $root {}; let src = $p.drvAttrs.src; in src.meta.homepage" | tr -d '"'
-}
-
-get_latest_version() {
- src="$(src_url "$1")"
- rm -rf "$tmp"
- if [ "$1" = "hgsrht" ]; then
- hg clone "$src" "$tmp" >/dev/null
- printf "%s %s\n" \
- "$(cd "$tmp" && hg log --limit 1 --template '{latesttag}')" \
- "$(cd "$tmp" && sed -ne 's/^\s*github\.com\/99designs\/gqlgen v\(.*\)$/\1/p' go.mod)"
- else
- git clone "$src" "$tmp" >/dev/null
- printf "%s %s\n" \
- "$(cd "$tmp" && git describe "$(git rev-list --tags --max-count=1)")" \
- "$(cd "$tmp" && sed -ne 's/^\s*github\.com\/99designs\/gqlgen v\(.*\)$/\1/p' go.mod)"
- fi
-}
-
-update_version() {
- default_nix="$(default "$1")"
- oldVersion="$(version "$1")"
- read -r version gqlgen_ver < <(get_latest_version "$1")
- local p="$(attr_path "$1")"
-
- (cd "$root" && update-source-version "$p" "$version")
-
- # update `gqlgenVersion` if necessary
- old_gqlgen_ver="$(sed -ne 's/^.*gqlgenVersion = "\(.*\)".*$/\1/p' "$default_nix")"
- sed -ri "s|gqlgenVersion = \"$old_gqlgen_ver\";|gqlgenVersion = \"$gqlgen_ver\";|w /dev/stdout" "$default_nix"
-
- # Update vendorHash of Go modules
- retry=true
- while "$retry"; do
- retry=false;
- exec < <(exec nix -L build -f "$root" sourcehut.python.pkgs."$1" 2>&1)
- while IFS=' :' read -r origin hash; do
- case "$origin" in
- (expected|specified) oldHash="$hash";;
- (got) sed -i "s|$oldHash|$hash|" "$default_nix"; retry=true; break;;
- (*) printf >&2 "%s\n" "$origin${hash:+:$hash}"
- esac
- done
- done
-
- if [ "$oldVersion" != "$version" ] || [ "$old_gqlgen_ver" != "$gqlgen_ver" ]; then
- git add "$default_nix"
- git commit -m "sourcehut.$1: $oldVersion -> $version"
- fi
-}
-
-if [ $# -gt 0 ]; then
- services=("$@")
-else
- # Beware that some packages must be updated before others,
- # eg. buildsrht must be updated before gitsrht,
- # otherwise this script would enter an infinite loop
- # because the reported $oldHash to be changed
- # may not actually be in $default_nix
- # but in the file of one of its dependencies.
- services=( "srht" "scmsrht" "buildsrht" "gitsrht" "hgsrht" "hubsrht" "listssrht" "mansrht"
- "metasrht" "pagessrht" "pastesrht" "todosrht" )
-fi
-
-for service in "${services[@]}"; do
- update_version "$service"
-done
diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix
index 85619d66e647..c9e07022bcd0 100644
--- a/pkgs/applications/video/obs-studio/default.nix
+++ b/pkgs/applications/video/obs-studio/default.nix
@@ -81,13 +81,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "obs-studio";
- version = "31.0.3";
+ version = "31.0.4";
src = fetchFromGitHub {
owner = "obsproject";
repo = "obs-studio";
rev = finalAttrs.version;
- hash = "sha256-i1wkGlafPvfMTsQr5Ww5iwmUu+23cr0YmN10llJfohA=";
+ hash = "sha256-YxBPVXin8oJlo++oJogY1WMamIJmRqtSmKZDBsIZPU4=";
fetchSubmodules = true;
};
diff --git a/pkgs/applications/video/obs-studio/plugins/default.nix b/pkgs/applications/video/obs-studio/plugins/default.nix
index 07e02c9c45d4..2131744b0a54 100644
--- a/pkgs/applications/video/obs-studio/plugins/default.nix
+++ b/pkgs/applications/video/obs-studio/plugins/default.nix
@@ -14,6 +14,8 @@
droidcam-obs = callPackage ./droidcam-obs { };
+ distroav = qt6Packages.callPackage ./distroav { };
+
input-overlay = qt6Packages.callPackage ./input-overlay.nix { };
looking-glass-obs = callPackage ./looking-glass-obs.nix { };
@@ -26,6 +28,8 @@
obs-backgroundremoval = callPackage ./obs-backgroundremoval { };
+ obs-browser-transition = callPackage ./obs-browser-transition.nix { };
+
obs-color-monitor = qt6Packages.callPackage ./obs-color-monitor.nix { };
obs-command-source = callPackage ./obs-command-source.nix { };
@@ -106,6 +110,8 @@
obs-vkcapture32 = pkgsi686Linux.obs-studio-plugins.obs-vkcapture;
};
+ obs-vnc = callPackage ./obs-vnc.nix { };
+
obs-websocket = qt6Packages.callPackage ./obs-websocket.nix { }; # Websocket 4.x compatibility for OBS Studio 28+
obs-webkitgtk = callPackage ./obs-webkitgtk.nix { };
diff --git a/pkgs/applications/video/obs-studio/plugins/distroav/default.nix b/pkgs/applications/video/obs-studio/plugins/distroav/default.nix
new file mode 100644
index 000000000000..6654cb08ac40
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/plugins/distroav/default.nix
@@ -0,0 +1,61 @@
+{
+ lib,
+ stdenv,
+ fetchFromGitHub,
+ obs-studio,
+ cmake,
+ qtbase,
+ ndi-6,
+ curl,
+}:
+
+stdenv.mkDerivation rec {
+ pname = "distroav";
+ version = "6.0.0";
+
+ nativeBuildInputs = [
+ cmake
+ qtbase
+ ];
+
+ buildInputs = [
+ obs-studio
+ qtbase
+ ndi-6
+ curl
+ ];
+
+ src = fetchFromGitHub {
+ owner = "DistroAV";
+ repo = "DistroAV";
+ tag = version;
+ hash = "sha256-pr/5XCLo5fzergIQrYFC9o9K+KuP4leDk5/oRe5ct9Q=";
+ };
+
+ # Modify plugin-main.cpp file to fix ndi libs path
+ patches = [ ./hardcode-ndi-path.patch ];
+
+ postPatch = ''
+ # Add path (variable added in hardcode-ndi-path.patch
+ substituteInPlace src/plugin-main.cpp --replace-fail "@NDI@" "${ndi-6}"
+
+ # Replace bundled NDI SDK with the upstream version
+ # (This fixes soname issues)
+ rm -rf lib/ndi
+ ln -s ${ndi-6}/include lib/ndi
+ '';
+
+ cmakeFlags = [ "-DENABLE_QT=ON" ];
+
+ env.NIX_CFLAGS_COMPILE = "-Wno-deprecated-declarations";
+
+ dontWrapQtApps = true;
+
+ meta = {
+ description = "Network A/V plugin for OBS Studio (formerly obs-ndi)";
+ homepage = "https://github.com/DistroAV/DistroAV";
+ license = with lib.licenses; [ gpl2 ];
+ maintainers = with lib.maintainers; [ globule655 ];
+ platforms = lib.platforms.linux;
+ };
+}
diff --git a/pkgs/applications/video/obs-studio/plugins/distroav/hardcode-ndi-path.patch b/pkgs/applications/video/obs-studio/plugins/distroav/hardcode-ndi-path.patch
new file mode 100644
index 000000000000..567d5c4fbcb7
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/plugins/distroav/hardcode-ndi-path.patch
@@ -0,0 +1,18 @@
+diff --git a/src/plugin-main.cpp b/src/plugin-main.cpp
+index 0d94add..617af73 100644
+--- a/src/plugin-main.cpp
++++ b/src/plugin-main.cpp
+@@ -369,14 +369,7 @@ const NDIlib_v5 *load_ndilib()
+ if (!temp_path.isEmpty()) {
+ locations << temp_path;
+ }
+-#if defined(Q_OS_LINUX) || defined(Q_OS_MACOS)
+- // Linux, MacOS
+- // https://github.com/DistroAV/DistroAV/blob/master/lib/ndi/NDI%20SDK%20Documentation.pdf
+- // "6.1 LOCATING THE LIBRARY
+- // ... the redistributable on MacOS is installed within `/usr/local/lib` ..."
+- locations << "/usr/lib";
+- locations << "/usr/local/lib";
+-#endif
++ locations << "@NDI@/lib";
+ auto lib_path = QString();
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-browser-transition.nix b/pkgs/applications/video/obs-studio/plugins/obs-browser-transition.nix
new file mode 100644
index 000000000000..63b5a7d1b2f2
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/plugins/obs-browser-transition.nix
@@ -0,0 +1,37 @@
+{
+ lib,
+ stdenv,
+ fetchFromGitHub,
+ nix-update-script,
+ cmake,
+ obs-studio,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+ pname = "obs-browser-transition";
+ version = "0.1.3";
+
+ src = fetchFromGitHub {
+ owner = "exeldro";
+ repo = "obs-browser-transition";
+ tag = finalAttrs.version;
+ hash = "sha256-m5UDqnqipkybXAZqS7c2Sj/mJKrDBkXElyc0I+c1BmE=";
+ };
+
+ nativeBuildInputs = [ cmake ];
+ buildInputs = [ obs-studio ];
+
+ postInstall = ''
+ rm -rf $out/obs-plugins $out/data
+ '';
+
+ passthru.updateScript = nix-update-script { };
+
+ meta = {
+ description = "Plugin for OBS Studio to show a browser source during scene transition";
+ homepage = "https://github.com/exeldro/obs-browser-transition";
+ maintainers = with lib.maintainers; [ flexiondotorg ];
+ license = lib.licenses.gpl2Only;
+ platforms = lib.platforms.linux;
+ };
+})
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-vnc.nix b/pkgs/applications/video/obs-studio/plugins/obs-vnc.nix
new file mode 100644
index 000000000000..b502735cf32f
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/plugins/obs-vnc.nix
@@ -0,0 +1,45 @@
+{
+ lib,
+ stdenv,
+ fetchFromGitHub,
+ cmake,
+ obs-studio,
+ pkg-config,
+ libvncserver,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+ pname = "obs-vnc";
+ version = "0.6.1";
+
+ src = fetchFromGitHub {
+ owner = "norihiro";
+ repo = "obs-vnc";
+ tag = "${finalAttrs.version}";
+ hash = "sha256-eTvKACeVFFw6DOFAiWaG/m14jYyzZc61e79S8oVWrCs=";
+ };
+
+ nativeBuildInputs = [
+ cmake
+ pkg-config
+ ];
+ buildInputs = [
+ libvncserver
+ obs-studio
+ ];
+
+ postInstall = ''
+ mkdir $out/lib $out/share
+ mv $out/obs-plugins/64bit $out/lib/obs-plugins
+ rm -rf $out/obs-plugins
+ mv $out/data $out/share/obs
+ '';
+
+ meta = {
+ description = "VNC viewer integrated into OBS Studio as a source plugin";
+ homepage = "https://github.com/norihiro/obs-vnc";
+ maintainers = with lib.maintainers; [ flexiondotorg ];
+ license = lib.licenses.gpl2Only;
+ platforms = lib.platforms.linux;
+ };
+})
diff --git a/pkgs/applications/video/obs-studio/plugins/wlrobs.nix b/pkgs/applications/video/obs-studio/plugins/wlrobs.nix
index 48c6f588308b..2d169399a8fd 100644
--- a/pkgs/applications/video/obs-studio/plugins/wlrobs.nix
+++ b/pkgs/applications/video/obs-studio/plugins/wlrobs.nix
@@ -38,6 +38,6 @@ stdenv.mkDerivation {
homepage = "https://hg.sr.ht/~scoopta/wlrobs";
maintainers = with maintainers; [ grahamc ];
license = licenses.gpl3Plus;
- platforms = [ "x86_64-linux" ];
+ platforms = platforms.linux;
};
}
diff --git a/pkgs/applications/virtualization/docker/buildx.nix b/pkgs/applications/virtualization/docker/buildx.nix
index 250d862ba56e..f864697c6bad 100644
--- a/pkgs/applications/virtualization/docker/buildx.nix
+++ b/pkgs/applications/virtualization/docker/buildx.nix
@@ -6,13 +6,13 @@
buildGoModule rec {
pname = "docker-buildx";
- version = "0.23.0";
+ version = "0.25.0";
src = fetchFromGitHub {
owner = "docker";
repo = "buildx";
rev = "v${version}";
- hash = "sha256-KU9B6ygK6PwMvXDL+SBB79TCBScJDgVMs4m92zgibdE=";
+ hash = "sha256-DdG2z0raDHcbBMDl7C0WORKhG0ZB9Gvie8u4/isE8ow=";
};
doCheck = false;
diff --git a/pkgs/by-name/ad/adrgen/package.nix b/pkgs/by-name/ad/adrgen/package.nix
index 9a67a6bd6c68..81b2b1581fcb 100644
--- a/pkgs/by-name/ad/adrgen/package.nix
+++ b/pkgs/by-name/ad/adrgen/package.nix
@@ -2,31 +2,21 @@
lib,
buildGoModule,
fetchFromGitHub,
- fetchpatch,
testers,
adrgen,
}:
buildGoModule rec {
pname = "adrgen";
- version = "0.4.0-beta";
+ version = "0.4.1-beta";
src = fetchFromGitHub {
owner = "asiermarques";
repo = "adrgen";
tag = "v${version}";
- hash = "sha256-2ZE/orsfwL59Io09c4yfXt2enVmpSM/QHlUMgyd9RYQ=";
+ hash = "sha256-9EiJe5shhwbjLIvUQMUTSGTgCA+r3RdkLkPRPoWvZ3g=";
};
- patches = [
- # https://github.com/asiermarques/adrgen/pull/14
- (fetchpatch {
- name = "update-x-sys-for-go-1.18-on-aarch64-darwin.patch";
- url = "https://github.com/asiermarques/adrgen/commit/485dc383106467d1029ee6d92c9bcbc3c2281626.patch";
- hash = "sha256-38ktHrRgW5ysQmafvFthNtkZ6nnM61z4yEA7wUGmWb4=";
- })
- ];
-
vendorHash = "sha256-RXwwv3Q/kQ6FondpiUm5XZogAVK2aaVmKu4hfr+AnAM=";
passthru.tests.version = testers.testVersion {
diff --git a/pkgs/by-name/ai/airwindows/package.nix b/pkgs/by-name/ai/airwindows/package.nix
index 50e52d4b2179..066638533e39 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-06-08";
+ version = "0-unstable-2025-06-22";
src = fetchFromGitHub {
owner = "airwindows";
repo = "airwindows";
- rev = "a88ee4caa6e874efec86a1e8c62853dbc1caa514";
- hash = "sha256-fTVDpDxPMrRxHGUJh8/qGYGkziPdjKj9Q/q3LCd1brE=";
+ rev = "fd36e62f00ce73d371d528ed1f63d0617e445caa";
+ hash = "sha256-XDIXDDkb88Kdf3XQsMB0ee0F8QTyoz82LOLrQcezK1I=";
};
# we patch helpers because honestly im spooked out by where those variables
diff --git a/pkgs/by-name/ap/appium-inspector/package.nix b/pkgs/by-name/ap/appium-inspector/package.nix
index ad157375150f..c8df903297b5 100644
--- a/pkgs/by-name/ap/appium-inspector/package.nix
+++ b/pkgs/by-name/ap/appium-inspector/package.nix
@@ -2,7 +2,7 @@
lib,
buildNpmPackage,
copyDesktopItems,
- electron_34,
+ electron_36,
fetchFromGitHub,
makeDesktopItem,
makeWrapper,
@@ -10,7 +10,7 @@
}:
let
- electron = electron_34;
+ electron = electron_36;
version = "2025.3.1";
in
diff --git a/pkgs/by-name/ar/armadillo/package.nix b/pkgs/by-name/ar/armadillo/package.nix
index 76fd8c93cf3a..e028b918071f 100644
--- a/pkgs/by-name/ar/armadillo/package.nix
+++ b/pkgs/by-name/ar/armadillo/package.nix
@@ -11,11 +11,11 @@
stdenv.mkDerivation rec {
pname = "armadillo";
- version = "14.4.2";
+ version = "14.4.3";
src = fetchurl {
url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz";
- hash = "sha256-bf3c+9kecGedfBHpSlljp+/aAC/sNR5vSHWsjiRcURc=";
+ hash = "sha256-w6rdWb2w6kM5sFbymXL5LuGf3FL2jreNMtLkyvTYDDo=";
};
nativeBuildInputs = [ cmake ];
diff --git a/pkgs/by-name/at/atlas/package.nix b/pkgs/by-name/at/atlas/package.nix
index 9f8751f82522..5572cb5167d8 100644
--- a/pkgs/by-name/at/atlas/package.nix
+++ b/pkgs/by-name/at/atlas/package.nix
@@ -8,19 +8,19 @@
buildGoModule (finalAttrs: {
pname = "atlas";
- version = "0.34.0";
+ version = "0.35.0";
src = fetchFromGitHub {
owner = "ariga";
repo = "atlas";
- rev = "v${finalAttrs.version}";
- hash = "sha256-7s03YrZw7J2LRCHibMqzBBtVUBSPVEf+TMqtKoWSkkM=";
+ tag = "v${finalAttrs.version}";
+ hash = "sha256-USA3PiZcOF39LK45Xu0Oq/GJi3URMxJpBrUXxIsEkCY=";
};
modRoot = "cmd/atlas";
proxyVendor = true;
- vendorHash = "sha256-K94zOisolCplE/cFrWmv4/MWl5DD27lRekPTl+o4Jwk=";
+ vendorHash = "sha256-G78KpERRAP4lVsy3ur2ejT6jA6K5T257FHLb7afC/7c=";
nativeBuildInputs = [ installShellFiles ];
@@ -46,7 +46,7 @@ buildGoModule (finalAttrs: {
};
meta = {
- description = "Modern tool for managing database schemas";
+ description = "Manage your database schema as code";
homepage = "https://atlasgo.io/";
changelog = "https://github.com/ariga/atlas/releases/tag/v${finalAttrs.version}";
license = lib.licenses.asl20;
diff --git a/pkgs/by-name/au/autocorrect/Cargo.lock b/pkgs/by-name/au/autocorrect/Cargo.lock
deleted file mode 100644
index cb1d52bb7ce9..000000000000
--- a/pkgs/by-name/au/autocorrect/Cargo.lock
+++ /dev/null
@@ -1,2940 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 4
-
-[[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 = "anes"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
-
-[[package]]
-name = "anstream"
-version = "0.6.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b"
-dependencies = [
- "anstyle",
- "anstyle-parse",
- "anstyle-query",
- "anstyle-wincon",
- "colorchoice",
- "is_terminal_polyfill",
- "utf8parse",
-]
-
-[[package]]
-name = "anstyle"
-version = "1.0.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9"
-
-[[package]]
-name = "anstyle-parse"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9"
-dependencies = [
- "utf8parse",
-]
-
-[[package]]
-name = "anstyle-query"
-version = "1.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c"
-dependencies = [
- "windows-sys 0.59.0",
-]
-
-[[package]]
-name = "anstyle-wincon"
-version = "3.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e"
-dependencies = [
- "anstyle",
- "once_cell",
- "windows-sys 0.59.0",
-]
-
-[[package]]
-name = "async-trait"
-version = "0.1.88"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.101",
-]
-
-[[package]]
-name = "auto_impl"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffdcb70bdbc4d478427380519163274ac86e52916e10f0a8889adf0f96d3fee7"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.101",
-]
-
-[[package]]
-name = "autocfg"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
-
-[[package]]
-name = "autocorrect"
-version = "2.14.0"
-dependencies = [
- "autocorrect-derive 0.3.0",
- "criterion",
- "diff",
- "ignore",
- "indoc 2.0.6",
- "lazy_static",
- "owo-colors",
- "pest",
- "pest_derive",
- "pretty_assertions",
- "regex",
- "serde",
- "serde_json",
- "serde_repr",
- "serde_yaml",
-]
-
-[[package]]
-name = "autocorrect"
-version = "2.14.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "099d51844c065a26792dc4b994e80eaa9105aadfac55ed8ccd6db58d59b749fc"
-dependencies = [
- "autocorrect-derive 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "diff",
- "ignore",
- "lazy_static",
- "owo-colors",
- "pest",
- "pest_derive",
- "regex",
- "serde",
- "serde_json",
- "serde_repr",
- "serde_yaml",
-]
-
-[[package]]
-name = "autocorrect-cli"
-version = "2.14.0"
-dependencies = [
- "autocorrect 2.14.0",
- "autocorrect-lsp",
- "clap",
- "ignore",
- "log",
- "num_cpus",
- "owo-colors",
- "reqwest",
- "self_update",
- "sudo",
- "threadpool",
- "tokio",
-]
-
-[[package]]
-name = "autocorrect-derive"
-version = "0.3.0"
-dependencies = [
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "autocorrect-derive"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b80889323facc446add06be71b9c4c000acd083b12563d9c914b86424bf2f17a"
-dependencies = [
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "autocorrect-java"
-version = "2.14.0"
-dependencies = [
- "autocorrect 2.14.0",
- "jni",
-]
-
-[[package]]
-name = "autocorrect-lsp"
-version = "2.9.4"
-dependencies = [
- "autocorrect 2.14.0",
- "tokio",
- "tower-lsp",
-]
-
-[[package]]
-name = "autocorrect-node"
-version = "2.14.0"
-dependencies = [
- "autocorrect 2.14.0",
- "autocorrect-cli",
- "napi",
- "napi-build",
- "napi-derive",
-]
-
-[[package]]
-name = "autocorrect-py"
-version = "2.14.0"
-dependencies = [
- "autocorrect 2.14.0",
- "pyo3",
-]
-
-[[package]]
-name = "autocorrect-rb"
-version = "2.14.0"
-dependencies = [
- "autocorrect 2.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "magnus",
-]
-
-[[package]]
-name = "autocorrect-wasm"
-version = "2.14.0"
-dependencies = [
- "autocorrect 2.14.0",
- "serde_json",
- "wasm-bindgen",
-]
-
-[[package]]
-name = "backtrace"
-version = "0.3.74"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a"
-dependencies = [
- "addr2line",
- "cfg-if",
- "libc",
- "miniz_oxide",
- "object",
- "rustc-demangle",
- "windows-targets 0.52.6",
-]
-
-[[package]]
-name = "base64"
-version = "0.21.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
-
-[[package]]
-name = "bindgen"
-version = "0.69.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088"
-dependencies = [
- "bitflags 2.9.0",
- "cexpr",
- "clang-sys",
- "itertools 0.12.1",
- "lazy_static",
- "lazycell",
- "proc-macro2",
- "quote",
- "regex",
- "rustc-hash",
- "shlex",
- "syn 2.0.101",
-]
-
-[[package]]
-name = "bitflags"
-version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
-
-[[package]]
-name = "bitflags"
-version = "2.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd"
-
-[[package]]
-name = "block-buffer"
-version = "0.10.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "bstr"
-version = "1.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4"
-dependencies = [
- "memchr",
- "serde",
-]
-
-[[package]]
-name = "bumpalo"
-version = "3.17.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf"
-
-[[package]]
-name = "bytes"
-version = "1.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a"
-
-[[package]]
-name = "cast"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
-
-[[package]]
-name = "cc"
-version = "1.2.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8691782945451c1c383942c4874dbe63814f61cb57ef773cda2972682b7bb3c0"
-dependencies = [
- "shlex",
-]
-
-[[package]]
-name = "cesu8"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c"
-
-[[package]]
-name = "cexpr"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
-dependencies = [
- "nom",
-]
-
-[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
-name = "ciborium"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e"
-dependencies = [
- "ciborium-io",
- "ciborium-ll",
- "serde",
-]
-
-[[package]]
-name = "ciborium-io"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757"
-
-[[package]]
-name = "ciborium-ll"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9"
-dependencies = [
- "ciborium-io",
- "half",
-]
-
-[[package]]
-name = "clang-sys"
-version = "1.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4"
-dependencies = [
- "glob",
- "libc",
- "libloading",
-]
-
-[[package]]
-name = "clap"
-version = "4.5.37"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eccb054f56cbd38340b380d4a8e69ef1f02f1af43db2f0cc817a4774d80ae071"
-dependencies = [
- "clap_builder",
- "clap_derive",
-]
-
-[[package]]
-name = "clap_builder"
-version = "4.5.37"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efd9466fac8543255d3b1fcad4762c5e116ffe808c8a3043d4263cd4fd4862a2"
-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 2.0.101",
-]
-
-[[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.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990"
-
-[[package]]
-name = "combine"
-version = "4.6.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd"
-dependencies = [
- "bytes",
- "memchr",
-]
-
-[[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",
- "windows-sys 0.59.0",
-]
-
-[[package]]
-name = "convert_case"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca"
-dependencies = [
- "unicode-segmentation",
-]
-
-[[package]]
-name = "core-foundation"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
-dependencies = [
- "core-foundation-sys",
- "libc",
-]
-
-[[package]]
-name = "core-foundation-sys"
-version = "0.8.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
-
-[[package]]
-name = "cpufeatures"
-version = "0.2.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "crc32fast"
-version = "1.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "criterion"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f"
-dependencies = [
- "anes",
- "cast",
- "ciborium",
- "clap",
- "criterion-plot",
- "is-terminal",
- "itertools 0.10.5",
- "num-traits",
- "once_cell",
- "oorandom",
- "plotters",
- "rayon",
- "regex",
- "serde",
- "serde_derive",
- "serde_json",
- "tinytemplate",
- "walkdir",
-]
-
-[[package]]
-name = "criterion-plot"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1"
-dependencies = [
- "cast",
- "itertools 0.10.5",
-]
-
-[[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 = "crunchy"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929"
-
-[[package]]
-name = "crypto-common"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
-dependencies = [
- "generic-array",
- "typenum",
-]
-
-[[package]]
-name = "ctor"
-version = "0.2.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32a2785755761f3ddc1492979ce1e48d2c00d09311c39e4466429188f3dd6501"
-dependencies = [
- "quote",
- "syn 2.0.101",
-]
-
-[[package]]
-name = "dashmap"
-version = "5.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
-dependencies = [
- "cfg-if",
- "hashbrown 0.14.5",
- "lock_api",
- "once_cell",
- "parking_lot_core",
-]
-
-[[package]]
-name = "diff"
-version = "0.1.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8"
-
-[[package]]
-name = "digest"
-version = "0.10.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
-dependencies = [
- "block-buffer",
- "crypto-common",
-]
-
-[[package]]
-name = "displaydoc"
-version = "0.2.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.101",
-]
-
-[[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 = "encoding_rs"
-version = "0.8.35"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "equivalent"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
-
-[[package]]
-name = "errno"
-version = "0.3.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "976dd42dc7e85965fe702eb8164f21f450704bdde31faefd6471dba214cb594e"
-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 = "filetime"
-version = "0.2.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586"
-dependencies = [
- "cfg-if",
- "libc",
- "libredox",
- "windows-sys 0.59.0",
-]
-
-[[package]]
-name = "flate2"
-version = "1.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece"
-dependencies = [
- "crc32fast",
- "miniz_oxide",
-]
-
-[[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.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
-dependencies = [
- "percent-encoding",
-]
-
-[[package]]
-name = "futures"
-version = "0.3.31"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876"
-dependencies = [
- "futures-channel",
- "futures-core",
- "futures-io",
- "futures-sink",
- "futures-task",
- "futures-util",
-]
-
-[[package]]
-name = "futures-channel"
-version = "0.3.31"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10"
-dependencies = [
- "futures-core",
- "futures-sink",
-]
-
-[[package]]
-name = "futures-core"
-version = "0.3.31"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e"
-
-[[package]]
-name = "futures-io"
-version = "0.3.31"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6"
-
-[[package]]
-name = "futures-macro"
-version = "0.3.31"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.101",
-]
-
-[[package]]
-name = "futures-sink"
-version = "0.3.31"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7"
-
-[[package]]
-name = "futures-task"
-version = "0.3.31"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988"
-
-[[package]]
-name = "futures-util"
-version = "0.3.31"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81"
-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.14.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
-dependencies = [
- "typenum",
- "version_check",
-]
-
-[[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.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0"
-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 = "glob"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2"
-
-[[package]]
-name = "globset"
-version = "0.4.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54a1028dfc5f5df5da8a56a73e6c153c9a9708ec57232470703592a3f18e49f5"
-dependencies = [
- "aho-corasick",
- "bstr",
- "log",
- "regex-automata",
- "regex-syntax",
-]
-
-[[package]]
-name = "h2"
-version = "0.3.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8"
-dependencies = [
- "bytes",
- "fnv",
- "futures-core",
- "futures-sink",
- "futures-util",
- "http",
- "indexmap",
- "slab",
- "tokio",
- "tokio-util",
- "tracing",
-]
-
-[[package]]
-name = "half"
-version = "2.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9"
-dependencies = [
- "cfg-if",
- "crunchy",
-]
-
-[[package]]
-name = "hashbrown"
-version = "0.14.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
-
-[[package]]
-name = "hashbrown"
-version = "0.15.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3"
-
-[[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.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
-
-[[package]]
-name = "hermit-abi"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fbd780fe5cc30f81464441920d82ac8740e2e46b29a6fad543ddd075229ce37e"
-
-[[package]]
-name = "http"
-version = "0.2.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1"
-dependencies = [
- "bytes",
- "fnv",
- "itoa",
-]
-
-[[package]]
-name = "http-body"
-version = "0.4.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
-dependencies = [
- "bytes",
- "http",
- "pin-project-lite",
-]
-
-[[package]]
-name = "httparse"
-version = "1.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87"
-
-[[package]]
-name = "httpdate"
-version = "1.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
-
-[[package]]
-name = "hyper"
-version = "0.14.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7"
-dependencies = [
- "bytes",
- "futures-channel",
- "futures-core",
- "futures-util",
- "h2",
- "http",
- "http-body",
- "httparse",
- "httpdate",
- "itoa",
- "pin-project-lite",
- "socket2",
- "tokio",
- "tower-service",
- "tracing",
- "want",
-]
-
-[[package]]
-name = "hyper-rustls"
-version = "0.24.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
-dependencies = [
- "futures-util",
- "http",
- "hyper",
- "rustls",
- "tokio",
- "tokio-rustls",
-]
-
-[[package]]
-name = "icu_collections"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526"
-dependencies = [
- "displaydoc",
- "yoke",
- "zerofrom",
- "zerovec",
-]
-
-[[package]]
-name = "icu_locid"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637"
-dependencies = [
- "displaydoc",
- "litemap",
- "tinystr",
- "writeable",
- "zerovec",
-]
-
-[[package]]
-name = "icu_locid_transform"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e"
-dependencies = [
- "displaydoc",
- "icu_locid",
- "icu_locid_transform_data",
- "icu_provider",
- "tinystr",
- "zerovec",
-]
-
-[[package]]
-name = "icu_locid_transform_data"
-version = "1.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7515e6d781098bf9f7205ab3fc7e9709d34554ae0b21ddbcb5febfa4bc7df11d"
-
-[[package]]
-name = "icu_normalizer"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f"
-dependencies = [
- "displaydoc",
- "icu_collections",
- "icu_normalizer_data",
- "icu_properties",
- "icu_provider",
- "smallvec",
- "utf16_iter",
- "utf8_iter",
- "write16",
- "zerovec",
-]
-
-[[package]]
-name = "icu_normalizer_data"
-version = "1.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5e8338228bdc8ab83303f16b797e177953730f601a96c25d10cb3ab0daa0cb7"
-
-[[package]]
-name = "icu_properties"
-version = "1.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5"
-dependencies = [
- "displaydoc",
- "icu_collections",
- "icu_locid_transform",
- "icu_properties_data",
- "icu_provider",
- "tinystr",
- "zerovec",
-]
-
-[[package]]
-name = "icu_properties_data"
-version = "1.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2"
-
-[[package]]
-name = "icu_provider"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9"
-dependencies = [
- "displaydoc",
- "icu_locid",
- "icu_provider_macros",
- "stable_deref_trait",
- "tinystr",
- "writeable",
- "yoke",
- "zerofrom",
- "zerovec",
-]
-
-[[package]]
-name = "icu_provider_macros"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.101",
-]
-
-[[package]]
-name = "idna"
-version = "1.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e"
-dependencies = [
- "idna_adapter",
- "smallvec",
- "utf8_iter",
-]
-
-[[package]]
-name = "idna_adapter"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71"
-dependencies = [
- "icu_normalizer",
- "icu_properties",
-]
-
-[[package]]
-name = "ignore"
-version = "0.4.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d89fd380afde86567dfba715db065673989d6253f42b88179abd3eae47bda4b"
-dependencies = [
- "crossbeam-deque",
- "globset",
- "log",
- "memchr",
- "regex-automata",
- "same-file",
- "walkdir",
- "winapi-util",
-]
-
-[[package]]
-name = "indexmap"
-version = "2.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e"
-dependencies = [
- "equivalent",
- "hashbrown 0.15.3",
-]
-
-[[package]]
-name = "indicatif"
-version = "0.16.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d207dc617c7a380ab07ff572a6e52fa202a2a8f355860ac9c38e23f8196be1b"
-dependencies = [
- "console",
- "lazy_static",
- "number_prefix",
- "regex",
-]
-
-[[package]]
-name = "indoc"
-version = "1.0.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306"
-
-[[package]]
-name = "indoc"
-version = "2.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4c7245a08504955605670dbf141fceab975f15ca21570696aebe9d2e71576bd"
-
-[[package]]
-name = "ipnet"
-version = "2.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130"
-
-[[package]]
-name = "is-terminal"
-version = "0.4.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9"
-dependencies = [
- "hermit-abi 0.5.0",
- "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 = "itertools"
-version = "0.10.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
-dependencies = [
- "either",
-]
-
-[[package]]
-name = "itertools"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
-dependencies = [
- "either",
-]
-
-[[package]]
-name = "itoa"
-version = "1.0.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
-
-[[package]]
-name = "jni"
-version = "0.20.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "039022cdf4d7b1cf548d31f60ae783138e5fd42013f6271049d7df7afadef96c"
-dependencies = [
- "cesu8",
- "combine",
- "jni-sys",
- "log",
- "thiserror 1.0.69",
- "walkdir",
-]
-
-[[package]]
-name = "jni-sys"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
-
-[[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 = "lazy_static"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
-
-[[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.172"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa"
-
-[[package]]
-name = "libloading"
-version = "0.8.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34"
-dependencies = [
- "cfg-if",
- "windows-targets 0.52.6",
-]
-
-[[package]]
-name = "libredox"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
-dependencies = [
- "bitflags 2.9.0",
- "libc",
- "redox_syscall",
-]
-
-[[package]]
-name = "linux-raw-sys"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12"
-
-[[package]]
-name = "litemap"
-version = "0.7.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856"
-
-[[package]]
-name = "lock_api"
-version = "0.4.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17"
-dependencies = [
- "autocfg",
- "scopeguard",
-]
-
-[[package]]
-name = "log"
-version = "0.4.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
-
-[[package]]
-name = "lsp-types"
-version = "0.94.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c66bfd44a06ae10647fe3f8214762e9369fd4248df1350924b4ef9e770a85ea1"
-dependencies = [
- "bitflags 1.3.2",
- "serde",
- "serde_json",
- "serde_repr",
- "url",
-]
-
-[[package]]
-name = "magnus"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d87ae53030f3a22e83879e666cb94e58a7bdf31706878a0ba48752994146dab"
-dependencies = [
- "magnus-macros",
- "rb-sys",
- "rb-sys-env",
- "seq-macro",
-]
-
-[[package]]
-name = "magnus-macros"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5968c820e2960565f647819f5928a42d6e874551cab9d88d75e3e0660d7f71e3"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.101",
-]
-
-[[package]]
-name = "memchr"
-version = "2.7.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
-
-[[package]]
-name = "memoffset"
-version = "0.6.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "mime"
-version = "0.3.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
-
-[[package]]
-name = "minimal-lexical"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
-
-[[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.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd"
-dependencies = [
- "libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "napi"
-version = "2.16.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "55740c4ae1d8696773c78fdafd5d0e5fe9bc9f1b071c7ba493ba5c413a9184f3"
-dependencies = [
- "bitflags 2.9.0",
- "ctor",
- "napi-derive",
- "napi-sys",
- "once_cell",
- "tokio",
-]
-
-[[package]]
-name = "napi-build"
-version = "2.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e28acfa557c083f6e254a786e01ba253fc56f18ee000afcd4f79af735f73a6da"
-
-[[package]]
-name = "napi-derive"
-version = "2.16.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7cbe2585d8ac223f7d34f13701434b9d5f4eb9c332cccce8dee57ea18ab8ab0c"
-dependencies = [
- "cfg-if",
- "convert_case",
- "napi-derive-backend",
- "proc-macro2",
- "quote",
- "syn 2.0.101",
-]
-
-[[package]]
-name = "napi-derive-backend"
-version = "1.0.75"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1639aaa9eeb76e91c6ae66da8ce3e89e921cd3885e99ec85f4abacae72fc91bf"
-dependencies = [
- "convert_case",
- "once_cell",
- "proc-macro2",
- "quote",
- "regex",
- "semver",
- "syn 2.0.101",
-]
-
-[[package]]
-name = "napi-sys"
-version = "2.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "427802e8ec3a734331fec1035594a210ce1ff4dc5bc1950530920ab717964ea3"
-dependencies = [
- "libloading",
-]
-
-[[package]]
-name = "nom"
-version = "7.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
-dependencies = [
- "memchr",
- "minimal-lexical",
-]
-
-[[package]]
-name = "num-traits"
-version = "0.2.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "num_cpus"
-version = "1.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
-dependencies = [
- "hermit-abi 0.3.9",
- "libc",
-]
-
-[[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 = "oorandom"
-version = "11.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e"
-
-[[package]]
-name = "owo-colors"
-version = "4.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1036865bb9422d3300cf723f657c2851d0e9ab12567854b1f4eba3d77decf564"
-
-[[package]]
-name = "parking_lot"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27"
-dependencies = [
- "lock_api",
- "parking_lot_core",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.9.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8"
-dependencies = [
- "cfg-if",
- "libc",
- "redox_syscall",
- "smallvec",
- "windows-targets 0.52.6",
-]
-
-[[package]]
-name = "percent-encoding"
-version = "2.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
-
-[[package]]
-name = "pest"
-version = "2.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "198db74531d58c70a361c42201efde7e2591e976d518caf7662a47dc5720e7b6"
-dependencies = [
- "memchr",
- "thiserror 2.0.12",
- "ucd-trie",
-]
-
-[[package]]
-name = "pest_derive"
-version = "2.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d725d9cfd79e87dccc9341a2ef39d1b6f6353d68c4b33c177febbe1a402c97c5"
-dependencies = [
- "pest",
- "pest_generator",
-]
-
-[[package]]
-name = "pest_generator"
-version = "2.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db7d01726be8ab66ab32f9df467ae8b1148906685bbe75c82d1e65d7f5b3f841"
-dependencies = [
- "pest",
- "pest_meta",
- "proc-macro2",
- "quote",
- "syn 2.0.101",
-]
-
-[[package]]
-name = "pest_meta"
-version = "2.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f9f832470494906d1fca5329f8ab5791cc60beb230c74815dff541cbd2b5ca0"
-dependencies = [
- "once_cell",
- "pest",
- "sha2",
-]
-
-[[package]]
-name = "pin-project"
-version = "1.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a"
-dependencies = [
- "pin-project-internal",
-]
-
-[[package]]
-name = "pin-project-internal"
-version = "1.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.101",
-]
-
-[[package]]
-name = "pin-project-lite"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b"
-
-[[package]]
-name = "pin-utils"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
-
-[[package]]
-name = "plotters"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747"
-dependencies = [
- "num-traits",
- "plotters-backend",
- "plotters-svg",
- "wasm-bindgen",
- "web-sys",
-]
-
-[[package]]
-name = "plotters-backend"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a"
-
-[[package]]
-name = "plotters-svg"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670"
-dependencies = [
- "plotters-backend",
-]
-
-[[package]]
-name = "pretty_assertions"
-version = "1.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d"
-dependencies = [
- "diff",
- "yansi",
-]
-
-[[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 = "pyo3"
-version = "0.17.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "268be0c73583c183f2b14052337465768c07726936a260f480f0857cb95ba543"
-dependencies = [
- "cfg-if",
- "indoc 1.0.9",
- "libc",
- "memoffset",
- "parking_lot",
- "pyo3-build-config",
- "pyo3-ffi",
- "pyo3-macros",
- "unindent",
-]
-
-[[package]]
-name = "pyo3-build-config"
-version = "0.17.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28fcd1e73f06ec85bf3280c48c67e731d8290ad3d730f8be9dc07946923005c8"
-dependencies = [
- "once_cell",
- "target-lexicon",
-]
-
-[[package]]
-name = "pyo3-ffi"
-version = "0.17.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f6cb136e222e49115b3c51c32792886defbfb0adead26a688142b346a0b9ffc"
-dependencies = [
- "libc",
- "pyo3-build-config",
-]
-
-[[package]]
-name = "pyo3-macros"
-version = "0.17.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94144a1266e236b1c932682136dc35a9dee8d3589728f68130c7c3861ef96b28"
-dependencies = [
- "proc-macro2",
- "pyo3-macros-backend",
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "pyo3-macros-backend"
-version = "0.17.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8df9be978a2d2f0cdebabb03206ed73b11314701a5bfe71b0d753b81997777f"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "quick-xml"
-version = "0.22.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8533f14c8382aaad0d592c812ac3b826162128b65662331e1127b45c3d18536b"
-dependencies = [
- "memchr",
-]
-
-[[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 = "rb-sys"
-version = "0.9.111"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "becea799ce051c16fb140be80f5e7cf781070f99ca099332383c2b17861249af"
-dependencies = [
- "rb-sys-build",
-]
-
-[[package]]
-name = "rb-sys-build"
-version = "0.9.111"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64691175abc704862f60a9ca8ef06174080cc50615f2bf1d4759f46db18b4d29"
-dependencies = [
- "bindgen",
- "lazy_static",
- "proc-macro2",
- "quote",
- "regex",
- "shell-words",
- "syn 2.0.101",
-]
-
-[[package]]
-name = "rb-sys-env"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a35802679f07360454b418a5d1735c89716bde01d35b1560fc953c1415a0b3bb"
-
-[[package]]
-name = "redox_syscall"
-version = "0.5.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af"
-dependencies = [
- "bitflags 2.9.0",
-]
-
-[[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 = "reqwest"
-version = "0.11.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62"
-dependencies = [
- "base64",
- "bytes",
- "encoding_rs",
- "futures-core",
- "futures-util",
- "h2",
- "http",
- "http-body",
- "hyper",
- "hyper-rustls",
- "ipnet",
- "js-sys",
- "log",
- "mime",
- "once_cell",
- "percent-encoding",
- "pin-project-lite",
- "rustls",
- "rustls-pemfile",
- "serde",
- "serde_json",
- "serde_urlencoded",
- "sync_wrapper",
- "system-configuration",
- "tokio",
- "tokio-rustls",
- "tower-service",
- "url",
- "wasm-bindgen",
- "wasm-bindgen-futures",
- "web-sys",
- "webpki-roots",
- "winreg",
-]
-
-[[package]]
-name = "ring"
-version = "0.17.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7"
-dependencies = [
- "cc",
- "cfg-if",
- "getrandom 0.2.16",
- "libc",
- "untrusted",
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "rustc-demangle"
-version = "0.1.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
-
-[[package]]
-name = "rustc-hash"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
-
-[[package]]
-name = "rustix"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266"
-dependencies = [
- "bitflags 2.9.0",
- "errno",
- "libc",
- "linux-raw-sys",
- "windows-sys 0.59.0",
-]
-
-[[package]]
-name = "rustls"
-version = "0.21.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e"
-dependencies = [
- "log",
- "ring",
- "rustls-webpki",
- "sct",
-]
-
-[[package]]
-name = "rustls-pemfile"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
-dependencies = [
- "base64",
-]
-
-[[package]]
-name = "rustls-webpki"
-version = "0.101.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
-dependencies = [
- "ring",
- "untrusted",
-]
-
-[[package]]
-name = "rustversion"
-version = "1.0.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2"
-
-[[package]]
-name = "ryu"
-version = "1.0.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
-
-[[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 = "scopeguard"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
-
-[[package]]
-name = "sct"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
-dependencies = [
- "ring",
- "untrusted",
-]
-
-[[package]]
-name = "self_update"
-version = "0.30.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88c865d17fb512577be02a09fd2fd96c31c7e46fe649205d84feefd8b2a332da"
-dependencies = [
- "either",
- "flate2",
- "hyper",
- "indicatif",
- "log",
- "quick-xml",
- "regex",
- "reqwest",
- "semver",
- "serde_json",
- "tar",
- "tempfile",
-]
-
-[[package]]
-name = "semver"
-version = "1.0.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0"
-
-[[package]]
-name = "seq-macro"
-version = "0.3.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bc711410fbe7399f390ca1c3b60ad0f53f80e95c5eb935e52268a0e2cd49acc"
-
-[[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 2.0.101",
-]
-
-[[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 = "serde_repr"
-version = "0.1.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.101",
-]
-
-[[package]]
-name = "serde_urlencoded"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
-dependencies = [
- "form_urlencoded",
- "itoa",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "serde_yaml"
-version = "0.9.34+deprecated"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47"
-dependencies = [
- "indexmap",
- "itoa",
- "ryu",
- "serde",
- "unsafe-libyaml",
-]
-
-[[package]]
-name = "sha2"
-version = "0.10.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283"
-dependencies = [
- "cfg-if",
- "cpufeatures",
- "digest",
-]
-
-[[package]]
-name = "shell-words"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde"
-
-[[package]]
-name = "shlex"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
-
-[[package]]
-name = "slab"
-version = "0.4.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "smallvec"
-version = "1.15.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9"
-
-[[package]]
-name = "socket2"
-version = "0.5.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef"
-dependencies = [
- "libc",
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "stable_deref_trait"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
-
-[[package]]
-name = "strsim"
-version = "0.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
-
-[[package]]
-name = "sudo"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a88e74edf206f281aff2820aa2066c781331044c770626dcafe19491f214e05"
-dependencies = [
- "libc",
- "log",
-]
-
-[[package]]
-name = "syn"
-version = "1.0.109"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[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 = "sync_wrapper"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
-
-[[package]]
-name = "synstructure"
-version = "0.13.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.101",
-]
-
-[[package]]
-name = "system-configuration"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7"
-dependencies = [
- "bitflags 1.3.2",
- "core-foundation",
- "system-configuration-sys",
-]
-
-[[package]]
-name = "system-configuration-sys"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9"
-dependencies = [
- "core-foundation-sys",
- "libc",
-]
-
-[[package]]
-name = "tar"
-version = "0.4.44"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d863878d212c87a19c1a610eb53bb01fe12951c0501cf5a0d65f724914a667a"
-dependencies = [
- "filetime",
- "libc",
- "xattr",
-]
-
-[[package]]
-name = "target-lexicon"
-version = "0.12.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1"
-
-[[package]]
-name = "tempfile"
-version = "3.19.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf"
-dependencies = [
- "fastrand",
- "getrandom 0.3.2",
- "once_cell",
- "rustix",
- "windows-sys 0.59.0",
-]
-
-[[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 2.0.101",
-]
-
-[[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 2.0.101",
-]
-
-[[package]]
-name = "threadpool"
-version = "1.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa"
-dependencies = [
- "num_cpus",
-]
-
-[[package]]
-name = "tinystr"
-version = "0.7.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f"
-dependencies = [
- "displaydoc",
- "zerovec",
-]
-
-[[package]]
-name = "tinytemplate"
-version = "1.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
-dependencies = [
- "serde",
- "serde_json",
-]
-
-[[package]]
-name = "tokio"
-version = "1.44.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6b88822cbe49de4185e3a4cbf8321dd487cf5fe0c5c65695fef6346371e9c48"
-dependencies = [
- "backtrace",
- "bytes",
- "libc",
- "mio",
- "pin-project-lite",
- "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 2.0.101",
-]
-
-[[package]]
-name = "tokio-rustls"
-version = "0.24.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
-dependencies = [
- "rustls",
- "tokio",
-]
-
-[[package]]
-name = "tokio-util"
-version = "0.7.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df"
-dependencies = [
- "bytes",
- "futures-core",
- "futures-sink",
- "pin-project-lite",
- "tokio",
-]
-
-[[package]]
-name = "tower"
-version = "0.4.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c"
-dependencies = [
- "futures-core",
- "futures-util",
- "pin-project",
- "pin-project-lite",
- "tower-layer",
- "tower-service",
-]
-
-[[package]]
-name = "tower-layer"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e"
-
-[[package]]
-name = "tower-lsp"
-version = "0.20.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4ba052b54a6627628d9b3c34c176e7eda8359b7da9acd497b9f20998d118508"
-dependencies = [
- "async-trait",
- "auto_impl",
- "bytes",
- "dashmap",
- "futures",
- "httparse",
- "lsp-types",
- "memchr",
- "serde",
- "serde_json",
- "tokio",
- "tokio-util",
- "tower",
- "tower-lsp-macros",
- "tracing",
-]
-
-[[package]]
-name = "tower-lsp-macros"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "84fd902d4e0b9a4b27f2f440108dc034e1758628a9b702f8ec61ad66355422fa"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.101",
-]
-
-[[package]]
-name = "tower-service"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3"
-
-[[package]]
-name = "tracing"
-version = "0.1.41"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0"
-dependencies = [
- "pin-project-lite",
- "tracing-attributes",
- "tracing-core",
-]
-
-[[package]]
-name = "tracing-attributes"
-version = "0.1.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.101",
-]
-
-[[package]]
-name = "tracing-core"
-version = "0.1.33"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c"
-dependencies = [
- "once_cell",
-]
-
-[[package]]
-name = "try-lock"
-version = "0.2.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
-
-[[package]]
-name = "typenum"
-version = "1.18.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f"
-
-[[package]]
-name = "ucd-trie"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971"
-
-[[package]]
-name = "unicode-ident"
-version = "1.0.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
-
-[[package]]
-name = "unicode-segmentation"
-version = "1.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493"
-
-[[package]]
-name = "unindent"
-version = "0.1.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c"
-
-[[package]]
-name = "unsafe-libyaml"
-version = "0.2.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861"
-
-[[package]]
-name = "untrusted"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
-
-[[package]]
-name = "url"
-version = "2.5.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60"
-dependencies = [
- "form_urlencoded",
- "idna",
- "percent-encoding",
- "serde",
-]
-
-[[package]]
-name = "utf16_iter"
-version = "1.0.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246"
-
-[[package]]
-name = "utf8_iter"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
-
-[[package]]
-name = "utf8parse"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
-
-[[package]]
-name = "version_check"
-version = "0.9.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
-
-[[package]]
-name = "walkdir"
-version = "2.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
-dependencies = [
- "same-file",
- "winapi-util",
-]
-
-[[package]]
-name = "want"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e"
-dependencies = [
- "try-lock",
-]
-
-[[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",
- "serde",
- "serde_json",
- "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 2.0.101",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-futures"
-version = "0.4.50"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61"
-dependencies = [
- "cfg-if",
- "js-sys",
- "once_cell",
- "wasm-bindgen",
- "web-sys",
-]
-
-[[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 2.0.101",
- "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 = "webpki-roots"
-version = "0.25.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1"
-
-[[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 = "windows-sys"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
-dependencies = [
- "windows-targets 0.48.5",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
-dependencies = [
- "windows-targets 0.52.6",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.59.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
-dependencies = [
- "windows-targets 0.52.6",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
-dependencies = [
- "windows_aarch64_gnullvm 0.48.5",
- "windows_aarch64_msvc 0.48.5",
- "windows_i686_gnu 0.48.5",
- "windows_i686_msvc 0.48.5",
- "windows_x86_64_gnu 0.48.5",
- "windows_x86_64_gnullvm 0.48.5",
- "windows_x86_64_msvc 0.48.5",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
-dependencies = [
- "windows_aarch64_gnullvm 0.52.6",
- "windows_aarch64_msvc 0.52.6",
- "windows_i686_gnu 0.52.6",
- "windows_i686_gnullvm",
- "windows_i686_msvc 0.52.6",
- "windows_x86_64_gnu 0.52.6",
- "windows_x86_64_gnullvm 0.52.6",
- "windows_x86_64_msvc 0.52.6",
-]
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
-
-[[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.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
-
-[[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.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
-
-[[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.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
-
-[[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.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
-
-[[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.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
-
-[[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.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
-
-[[package]]
-name = "winreg"
-version = "0.50.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
-dependencies = [
- "cfg-if",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "wit-bindgen-rt"
-version = "0.39.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1"
-dependencies = [
- "bitflags 2.9.0",
-]
-
-[[package]]
-name = "write16"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936"
-
-[[package]]
-name = "writeable"
-version = "0.5.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51"
-
-[[package]]
-name = "xattr"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d65cbf2f12c15564212d48f4e3dfb87923d25d611f2aed18f4cb23f0413d89e"
-dependencies = [
- "libc",
- "rustix",
-]
-
-[[package]]
-name = "yansi"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049"
-
-[[package]]
-name = "yoke"
-version = "0.7.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40"
-dependencies = [
- "serde",
- "stable_deref_trait",
- "yoke-derive",
- "zerofrom",
-]
-
-[[package]]
-name = "yoke-derive"
-version = "0.7.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.101",
- "synstructure",
-]
-
-[[package]]
-name = "zerofrom"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5"
-dependencies = [
- "zerofrom-derive",
-]
-
-[[package]]
-name = "zerofrom-derive"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.101",
- "synstructure",
-]
-
-[[package]]
-name = "zerovec"
-version = "0.10.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079"
-dependencies = [
- "yoke",
- "zerofrom",
- "zerovec-derive",
-]
-
-[[package]]
-name = "zerovec-derive"
-version = "0.10.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.101",
-]
diff --git a/pkgs/by-name/au/autocorrect/package.nix b/pkgs/by-name/au/autocorrect/package.nix
index 13c8c0c6c78a..fc254c673ada 100644
--- a/pkgs/by-name/au/autocorrect/package.nix
+++ b/pkgs/by-name/au/autocorrect/package.nix
@@ -4,24 +4,19 @@
fetchFromGitHub,
}:
-rustPlatform.buildRustPackage rec {
+rustPlatform.buildRustPackage (finalAttrs: {
pname = "autocorrect";
- version = "2.14.0";
+ version = "2.14.1";
src = fetchFromGitHub {
owner = "huacnlee";
repo = "autocorrect";
- rev = "v${version}";
- sha256 = "sha256-Tqg0awxRtzqAVTTVrmN0RDTQvYJllejx8V94jTreZyI=";
+ rev = "5af1bc295d48b0fd04f7dbc35ea99d479f682e78";
+ hash = "sha256-tbN+48a8NnwirJqUci0LgxsvJI0KzuG/aDvV/Yr8Xu8=";
};
- cargoLock = {
- lockFile = ./Cargo.lock;
- };
-
- postPatch = ''
- cp ${./Cargo.lock} Cargo.lock
- '';
+ useFetchCargoVendor = true;
+ cargoHash = "sha256-cEiIs7wvfjP5/tkRtYb2XEZfssw09zkbOrqZsOX9ajQ=";
cargoBuildFlags = [
"-p"
@@ -32,14 +27,12 @@ rustPlatform.buildRustPackage rec {
"autocorrect-cli"
];
- passthru.updateScript = ./update.sh;
-
meta = {
description = "Linter and formatter for help you improve copywriting, to correct spaces, punctuations between CJK (Chinese, Japanese, Korean)";
mainProgram = "autocorrect";
homepage = "https://huacnlee.github.io/autocorrect";
- changelog = "https://github.com/huacnlee/autocorrect/releases/tag/v${version}";
+ changelog = "https://github.com/huacnlee/autocorrect/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
- maintainers = with lib.maintainers; [ ];
+ maintainers = with lib.maintainers; [ definfo ];
};
-}
+})
diff --git a/pkgs/by-name/au/autocorrect/update.sh b/pkgs/by-name/au/autocorrect/update.sh
deleted file mode 100755
index 64af26872631..000000000000
--- a/pkgs/by-name/au/autocorrect/update.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#! /usr/bin/env nix-shell
-#! nix-shell -i bash -p coreutils curl jq common-updater-scripts cargo
-# shellcheck shell=bash
-
-set -euo pipefail
-
-version=$(curl -s https://api.github.com/repos/huacnlee/autocorrect/releases/latest | jq -r .tag_name)
-update-source-version autocorrect "${version#v}"
-
-tmp=$(mktemp -d)
-trap 'rm -rf -- "${tmp}"' EXIT
-
-git clone --depth 1 --branch "${version}" https://github.com/huacnlee/autocorrect.git "${tmp}/autocorrect"
-cargo generate-lockfile --manifest-path "${tmp}/autocorrect/Cargo.toml"
-cp "${tmp}/autocorrect/Cargo.lock" "$(dirname "$0")/Cargo.lock"
diff --git a/pkgs/by-name/ba/bazel-buildtools/package.nix b/pkgs/by-name/ba/bazel-buildtools/package.nix
index 825ad6987643..b75df275c641 100644
--- a/pkgs/by-name/ba/bazel-buildtools/package.nix
+++ b/pkgs/by-name/ba/bazel-buildtools/package.nix
@@ -6,13 +6,13 @@
buildGoModule rec {
pname = "bazel-buildtools";
- version = "8.2.0";
+ version = "8.2.1";
src = fetchFromGitHub {
owner = "bazelbuild";
repo = "buildtools";
rev = "v${version}";
- hash = "sha256-7O82TE6NgJSrYOz1gO+t9nWgrTshyK8EIemI7SM2DuM=";
+ hash = "sha256-YkxEc+hcfOH2zzdHngoJmuCqGD4FWSkFd2cVqIrpHD4=";
};
vendorHash = "sha256-sYZ7ogQY0dWOwJMvLljOjaKeYGYdLrF5AnetregdlYY=";
diff --git a/pkgs/by-name/ba/bazel-gazelle/package.nix b/pkgs/by-name/ba/bazel-gazelle/package.nix
index 3cebe0fa394f..1112340c0981 100644
--- a/pkgs/by-name/ba/bazel-gazelle/package.nix
+++ b/pkgs/by-name/ba/bazel-gazelle/package.nix
@@ -6,13 +6,13 @@
buildGoModule rec {
pname = "bazel-gazelle";
- version = "0.43.0";
+ version = "0.44.0";
src = fetchFromGitHub {
owner = "bazelbuild";
repo = "bazel-gazelle";
rev = "v${version}";
- hash = "sha256-jj2mAGzz5BOim008LNRH0tVLbJy/mNodsTENMVbjUbk=";
+ hash = "sha256-vkGLzrseERxl0LygFm1zCC7kK7j+pHpTbG2fy4fLztw=";
};
vendorHash = null;
diff --git a/pkgs/by-name/bi/bibiman/package.nix b/pkgs/by-name/bi/bibiman/package.nix
index 405b26b18b10..afd2f9aebf34 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.12.3";
+ version = "0.12.4";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "lukeflo";
repo = "bibiman";
tag = "v${version}";
- hash = "sha256-gjVfJyedZZhSavarBXmpG3jj7mb3706NPKB9oEVhol0=";
+ hash = "sha256-6duqLBPm6GlBHm3Kr4foHF1MKodYOYKKDITk/BiX6mA=";
};
useFetchCargoVendor = true;
- cargoHash = "sha256-YtpnKgTIAsDXK6pl/TvU54euOdkbUcyCH4RADYWXkls=";
+ cargoHash = "sha256-tbgzjTsK88+G4Wxex4Tl0K5Ii99tPNud3UEDzAHaI0M=";
nativeInstallCheckInputs = [
versionCheckHook
diff --git a/pkgs/by-name/bi/bitrise/package.nix b/pkgs/by-name/bi/bitrise/package.nix
index a33600825b4d..955cd6348d56 100644
--- a/pkgs/by-name/bi/bitrise/package.nix
+++ b/pkgs/by-name/bi/bitrise/package.nix
@@ -6,13 +6,13 @@
}:
buildGoModule rec {
pname = "bitrise";
- version = "2.31.2";
+ version = "2.31.3";
src = fetchFromGitHub {
owner = "bitrise-io";
repo = "bitrise";
rev = "v${version}";
- hash = "sha256-WMvk5VEXc0cEWVdop50mSlAJKP8RhRijCia0fgBG79M=";
+ hash = "sha256-uy2B2tjtg6/ufMWy9sPoheSw2hxIsl2gUdAKVfixpoM=";
};
# many tests rely on writable $HOME/.bitrise and require network access
diff --git a/pkgs/by-name/bu/buf/package.nix b/pkgs/by-name/bu/buf/package.nix
index eb93cae6c90d..b5bf7fd05713 100644
--- a/pkgs/by-name/bu/buf/package.nix
+++ b/pkgs/by-name/bu/buf/package.nix
@@ -5,18 +5,17 @@
protobuf,
git,
testers,
- buf,
installShellFiles,
}:
-buildGoModule rec {
+buildGoModule (finalAttrs: {
pname = "buf";
version = "1.55.1";
src = fetchFromGitHub {
owner = "bufbuild";
repo = "buf";
- rev = "v${version}";
+ tag = "v${finalAttrs.version}";
hash = "sha256-41IY2P2s9kCV6aQh5vg7xVmu4Ovl9gakGmgcI/QSwfw=";
};
@@ -81,11 +80,11 @@ buildGoModule rec {
runHook postInstall
'';
- passthru.tests.version = testers.testVersion { package = buf; };
+ passthru.tests.version = testers.testVersion { package = finalAttrs.finalPackage; };
meta = {
homepage = "https://buf.build";
- changelog = "https://github.com/bufbuild/buf/releases/tag/v${version}";
+ changelog = "https://github.com/bufbuild/buf/releases/tag/v${finalAttrs.version}";
description = "Create consistent Protobuf APIs that preserve compatibility and comply with design best-practices";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
@@ -95,4 +94,4 @@ buildGoModule rec {
];
mainProgram = "buf";
};
-}
+})
diff --git a/pkgs/by-name/ch/chez-mit/package.nix b/pkgs/by-name/ch/chez-mit/package.nix
index a12f7a7a06d8..00e5e9d2f81d 100644
--- a/pkgs/by-name/ch/chez-mit/package.nix
+++ b/pkgs/by-name/ch/chez-mit/package.nix
@@ -35,6 +35,7 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/fedeinthemix/chez-mit/";
maintainers = [ maintainers.jitwit ];
license = licenses.gpl3Plus;
+ broken = stdenv.hostPlatform.isDarwin;
};
}
diff --git a/pkgs/by-name/ci/cimg/package.nix b/pkgs/by-name/ci/cimg/package.nix
index 9b1da3fea236..2d3d6d963c98 100644
--- a/pkgs/by-name/ci/cimg/package.nix
+++ b/pkgs/by-name/ci/cimg/package.nix
@@ -8,13 +8,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "cimg";
- version = "3.5.4";
+ version = "3.5.5";
src = fetchFromGitHub {
owner = "GreycLab";
repo = "CImg";
tag = "v.${finalAttrs.version}";
- hash = "sha256-VCgMSIaQAcPH7DWUEfoJahCQDr49lzO7pUw1+NXHA60=";
+ hash = "sha256-vVRdSjrSCprhxraLzZ531zIYXsqbnnxOcoawJddwvgY=";
};
outputs = [
diff --git a/pkgs/by-name/ci/cirrus-cli/package.nix b/pkgs/by-name/ci/cirrus-cli/package.nix
index 7929e98226af..94f2e3e1067e 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.3";
+ version = "0.145.1";
src = fetchFromGitHub {
owner = "cirruslabs";
repo = "cirrus-cli";
rev = "v${version}";
- hash = "sha256-aqsPh6pZ2v5ysYoD9rG/ATAPBKUslxlif1uKMPGY6gU=";
+ hash = "sha256-RyT0pR/hcqkvavI4HkWjCG5AS4H5hBbjOChHrUoq2GI=";
};
- vendorHash = "sha256-fcaOMSOLcl1rzp4zn6KiojC0ewJMFbyG4+1uod+/6yc=";
+ vendorHash = "sha256-CvypJVRLdMr38Qn8E67IZ33cSq5fYhM3i5HyifXGYNE=";
ldflags = [
"-X github.com/cirruslabs/cirrus-cli/internal/version.Version=v${version}"
diff --git a/pkgs/by-name/cl/cloudlog/package.nix b/pkgs/by-name/cl/cloudlog/package.nix
index cc96ec53b7f0..287ebeb2b4fa 100644
--- a/pkgs/by-name/cl/cloudlog/package.nix
+++ b/pkgs/by-name/cl/cloudlog/package.nix
@@ -9,13 +9,13 @@
stdenvNoCC.mkDerivation rec {
pname = "cloudlog";
- version = "2.6.18";
+ version = "2.6.19";
src = fetchFromGitHub {
owner = "magicbug";
repo = "Cloudlog";
rev = version;
- hash = "sha256-GH6vGZRWM2q6ExpZzRRmJf+7VGs4Ymg2S/6TIJgfJEg=";
+ hash = "sha256-nSozkRj4aeZZJ/H0zfzzlH4rWGVThC03ByA4FF6IgT4=";
};
postPatch = ''
diff --git a/pkgs/by-name/cy/cyrus-imapd/package.nix b/pkgs/by-name/cy/cyrus-imapd/package.nix
index 8bc78f051514..c390f82234dc 100644
--- a/pkgs/by-name/cy/cyrus-imapd/package.nix
+++ b/pkgs/by-name/cy/cyrus-imapd/package.nix
@@ -66,13 +66,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "cyrus-imapd";
- version = "3.12.0";
+ version = "3.12.1";
src = fetchFromGitHub {
owner = "cyrusimap";
repo = "cyrus-imapd";
tag = "cyrus-imapd-${finalAttrs.version}";
- hash = "sha256-sdHAxlrxQHzcSt2buOGfRv/OR8BYFHrNoo+r/ePVFsg=";
+ hash = "sha256-fwt8ierxM4bMp+ZfYINXUIcKNMnkTIWJTNWyv8GyX0c=";
};
nativeBuildInputs = [
diff --git a/pkgs/by-name/db/dbeaver-bin/package.nix b/pkgs/by-name/db/dbeaver-bin/package.nix
index c60136a1eaec..56ac135ba770 100644
--- a/pkgs/by-name/db/dbeaver-bin/package.nix
+++ b/pkgs/by-name/db/dbeaver-bin/package.nix
@@ -4,7 +4,7 @@
fetchurl,
undmg,
makeWrapper,
- openjdk17,
+ openjdk21,
gnused,
autoPatchelfHook,
wrapGAppsHook3,
@@ -76,8 +76,8 @@ stdenvNoCC.mkDerivation (finalAttrs: {
mkdir -p $out/opt/dbeaver $out/bin
cp -r * $out/opt/dbeaver
makeWrapper $out/opt/dbeaver/dbeaver $out/bin/dbeaver \
- --prefix PATH : "${openjdk17}/bin" \
- --set JAVA_HOME "${openjdk17.home}" \
+ --prefix PATH : "${openjdk21}/bin" \
+ --set JAVA_HOME "${openjdk21.home}" \
--prefix GIO_EXTRA_MODULES : "${glib-networking}/lib/gio/modules" \
--prefix LD_LIBRARY_PATH : "$out/lib:${
lib.makeLibraryPath [
@@ -109,8 +109,8 @@ stdenvNoCC.mkDerivation (finalAttrs: {
mkdir -p $out/{Applications/dbeaver.app,bin}
cp -R . $out/Applications/dbeaver.app
makeWrapper $out/{Applications/dbeaver.app/Contents/MacOS,bin}/dbeaver \
- --prefix PATH : "${openjdk17}/bin" \
- --set JAVA_HOME "${openjdk17.home}"
+ --prefix PATH : "${openjdk21}/bin" \
+ --set JAVA_HOME "${openjdk21.home}"
runHook postInstall
'';
diff --git a/pkgs/by-name/de/delve/disable-fortify.diff b/pkgs/by-name/de/delve/disable-fortify.diff
new file mode 100644
index 000000000000..5ba22e8bc043
--- /dev/null
+++ b/pkgs/by-name/de/delve/disable-fortify.diff
@@ -0,0 +1,13 @@
+diff --git a/cmd/dlv/main.go b/cmd/dlv/main.go
+index 2207708e..a7e8a3c2 100644
+--- a/cmd/dlv/main.go
++++ b/cmd/dlv/main.go
+@@ -21,6 +21,8 @@ func main() {
+ version.DelveVersion.Build = Build
+ }
+
++ os.Setenv("disableHardening", "fortify "+os.Getenv("disableHardening"))
++
+ const cgoCflagsEnv = "CGO_CFLAGS"
+ if os.Getenv(cgoCflagsEnv) == "" {
+ os.Setenv(cgoCflagsEnv, "-O0 -g")
diff --git a/pkgs/by-name/de/delve/package.nix b/pkgs/by-name/de/delve/package.nix
index 098d4a5e4a46..7cbef6ba718b 100644
--- a/pkgs/by-name/de/delve/package.nix
+++ b/pkgs/by-name/de/delve/package.nix
@@ -2,7 +2,6 @@
lib,
buildGoModule,
fetchFromGitHub,
- makeWrapper,
stdenv,
}:
@@ -17,12 +16,14 @@ buildGoModule rec {
hash = "sha256-bp8pYWS3Vpg0R2Xfe5agDTENzLGu9r43BgORa8VrP+Y=";
};
+ patches = [
+ ./disable-fortify.diff
+ ];
+
vendorHash = null;
subPackages = [ "cmd/dlv" ];
- nativeBuildInputs = [ makeWrapper ];
-
hardeningDisable = [ "fortify" ];
preCheck = ''
@@ -38,10 +39,6 @@ buildGoModule rec {
doCheck = !stdenv.hostPlatform.isDarwin;
postInstall = ''
- # fortify source breaks build since delve compiles with -O0
- wrapProgram $out/bin/dlv \
- --prefix disableHardening " " fortify
-
# add symlink for vscode golang extension
# https://github.com/golang/vscode-go/blob/master/docs/debugging.md#manually-installing-dlv-dap
ln $out/bin/dlv $out/bin/dlv-dap
diff --git a/pkgs/by-name/de/dependabot-cli/package.nix b/pkgs/by-name/de/dependabot-cli/package.nix
index fef777d03e45..693fb1178422 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.66.0";
+ version = "1.67.1";
# `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:0b0d8c67cad11fa0885fcc3fe0add06638c29c19f05a83f80077d5dbb70c2037";
- updateJobProxy.hash = "sha256-7O/1NYdhtmO+MAwfu8BSaJQ1RVkXrFPBpfRy0N7p1lQ=";
+ updateJobProxy.imageDigest = "sha256:0a7207bc265d7daaae61f2f105659d7c5947dc7e70395d6604cf114695d23578";
+ updateJobProxy.hash = "sha256-tQFkP260Vl2j19vTk7kz6/UmbKVg0CtjLuZYe7wHKSA=";
# 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:11de6594db1c23e7ed4a6b621e8584b4a3b34484d51f2f8aa850c21fbce9094f";
- updaterGitHubActions.hash = "sha256-cImOCW7tggBWEPlmE55b4OFMxf/+VGLoqx0tRualowo=";
+ updaterGitHubActions.imageDigest = "sha256:d0b91fa5fcfe306614f3c4307b4571cabe25405e06f3ce737a2b7b225530a71c";
+ updaterGitHubActions.hash = "sha256-yisnwxqFOUUBSq0YPX0C89dNOYYJ/mfNFhyrQCV6yoc=";
in
buildGoModule {
inherit pname version;
@@ -34,10 +34,10 @@ buildGoModule {
owner = "dependabot";
repo = "cli";
rev = "v${version}";
- hash = "sha256-9VgcQgiNv1v6+jnaWK10yccC1ILSxiIj9ZCIhHY57jk=";
+ hash = "sha256-K3ZHLauAtG1pSZsiLwWj9sMWL1epPILLUvc22/+oj+g=";
};
- vendorHash = "sha256-gENlo1EPzsML+HkDBg4a2VGTUhyKY8AhlpHVszYWBno=";
+ vendorHash = "sha256-4737CHJCeq7qn8dGz3bYsauCLipKqItltpI5u6uBvuo=";
ldflags = [
"-s"
diff --git a/pkgs/by-name/to/tooling-language-server/package.nix b/pkgs/by-name/de/deputy/package.nix
similarity index 50%
rename from pkgs/by-name/to/tooling-language-server/package.nix
rename to pkgs/by-name/de/deputy/package.nix
index dc7d529230f3..c9ceffdff9b5 100644
--- a/pkgs/by-name/to/tooling-language-server/package.nix
+++ b/pkgs/by-name/de/deputy/package.nix
@@ -6,19 +6,19 @@
nix-update-script,
}:
-rustPlatform.buildRustPackage rec {
- pname = "tooling-language-server";
- version = "0.5.0";
+rustPlatform.buildRustPackage (finalAttrs: {
+ pname = "deputy";
+ version = "0.6.0";
src = fetchFromGitHub {
owner = "filiptibell";
- repo = "tooling-language-server";
- tag = "v${version}";
- hash = "sha256-0FF9p3Z8C3C/fcTvu66ozCs/G3UAJ/Kf2v+4IZU4eCA=";
+ repo = "deputy";
+ tag = "v${finalAttrs.version}";
+ hash = "sha256-dTCikfHqfSVb1F6LYrLqFAEufD6dPgAi6F65yPlCO18=";
};
useFetchCargoVendor = true;
- cargoHash = "sha256-DxQMAnlE8oWtigU1gUEdTdBIvEtbL8xhaPLx6kt8T2c=";
+ cargoHash = "sha256-nGheg/HnkYsvfrsd/dPNbFQEHXFtjB5so436nrbKRqo=";
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
@@ -28,10 +28,10 @@ rustPlatform.buildRustPackage rec {
meta = {
description = "Language server for tools and package managers";
- homepage = "https://github.com/filiptibell/tooling-language-server";
- changelog = "https://github.com/filiptibell/tooling-language-server/blob/${src.tag}/CHANGELOG.md";
+ homepage = "https://github.com/filiptibell/deputy";
+ changelog = "https://github.com/filiptibell/deputy/blob/${finalAttrs.src.tag}/CHANGELOG.md";
license = lib.licenses.mpl20;
maintainers = with lib.maintainers; [ niklaskorz ];
- mainProgram = "tooling-language-server";
+ mainProgram = "deputy";
};
-}
+})
diff --git a/pkgs/by-name/di/dillo/package.nix b/pkgs/by-name/di/dillo/package.nix
index e32387f02ca2..53b234f354ca 100644
--- a/pkgs/by-name/di/dillo/package.nix
+++ b/pkgs/by-name/di/dillo/package.nix
@@ -78,7 +78,7 @@ stdenv.mkDerivation (finalAttrs: {
- Helps authors to comply with web standards by using the bug meter.
'';
mainProgram = "dillo";
- maintainers = with lib.maintainers; [ ];
+ maintainers = with lib.maintainers; [ fgaz ];
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.all;
};
diff --git a/pkgs/by-name/dm/dmlive/package.nix b/pkgs/by-name/dm/dmlive/package.nix
index c3fbc6542b78..0db9295a7a29 100644
--- a/pkgs/by-name/dm/dmlive/package.nix
+++ b/pkgs/by-name/dm/dmlive/package.nix
@@ -20,17 +20,17 @@ in
rustPlatform.buildRustPackage {
pname = "dmlive";
- version = "5.5.8-unstable-2025-04-06";
+ version = "5.6.0-unstable-2025-06-21";
src = fetchFromGitHub {
owner = "THMonster";
repo = "dmlive";
- rev = "b066a637093871de9962e08d4f0ae0b77bd8f1f4"; # no tag
- hash = "sha256-pAsxr6zGCDZ0qysGT1+2+5+WKI2QopGxnZWpfnxk/fI=";
+ rev = "485eae06737530360c0e6f6415c62791767d595b"; # no tag
+ hash = "sha256-0JjPZPtAtbxdh0HDycWHEonZggBcoqv5SJUnhKzXNIk=";
};
useFetchCargoVendor = true;
- cargoHash = "sha256-GVko8GK5Muha4uqDMgk7VkFoFCVcmk0vM1GUELvSzgM=";
+ cargoHash = "sha256-B1v9m4Nn5wXMbNBlh7+A8zBejJ0tHdqvSXVpRz+wC5g=";
nativeBuildInputs = [
pkg-config
diff --git a/pkgs/by-name/du/duplicati/package.nix b/pkgs/by-name/du/duplicati/package.nix
index aaef3d602b0d..803bada022dd 100644
--- a/pkgs/by-name/du/duplicati/package.nix
+++ b/pkgs/by-name/du/duplicati/package.nix
@@ -2,44 +2,70 @@
lib,
stdenv,
fetchzip,
- mono,
- sqlite,
- makeWrapper,
+ autoPatchelfHook,
+ gcc-unwrapped,
+ zlib,
+ lttng-ust_2_12,
+ icu,
+ openssl,
+ makeBinaryWrapper,
}:
+let
+ _supportedPlatforms = {
+ "armv7l-linux" = "linux-arm7";
+ "x86_64-linux" = "linux-x64";
+ "aarch64-linux" = "linux-arm64";
+ };
+ _platform = _supportedPlatforms."${stdenv.hostPlatform.system}";
+ # nix hash convert --to sri "sha256:`nix-prefetch-url --unpack https://updates.duplicati.com/stable/duplicati-2.1.0.5_stable_2025-03-04-linux-arm64-cli.zip`"
+ _fileHashForSystem = {
+ "armv7l-linux" = "sha256-FQQ07M0rwvxNkHPW6iK5WBTKgFrZ4LOP4vgINfmtq4k=";
+ "x86_64-linux" = "sha256-1QspF/A3hOtqd8bVbSqClJIHUN9gBrd18J5qvZJLkQE=";
+ "aarch64-linux" = "sha256-mSNInaCkNf1MBZK2M42SjJnYRtB5SyGMvSGSn5oH1Cs=";
+ };
+in
stdenv.mkDerivation (finalAttrs: {
+ # TODO build duplicati from source https://github.com/duplicati/duplicati/blob/master/.github/workflows/build-packages.yml
pname = "duplicati";
- version = "2.1.0.2";
- channel = "beta";
- build_date = "2024-11-29";
+ version = "2.1.0.5";
+ channel = "stable";
+ buildDate = "2025-03-04";
src = fetchzip {
url =
with finalAttrs;
- "https://github.com/duplicati/duplicati/releases/download/v${version}-${version}_${channel}_${build_date}/duplicati-${version}_${channel}_${build_date}.zip";
- hash = "sha256-LmW6yGutxP33ghFqyOLKrGDNCQdr8DDFn/IHigsLpzA=";
- stripRoot = false;
+ "https://updates.duplicati.com/stable/duplicati-${version}_${channel}_${buildDate}-${_platform}-cli.zip";
+ hash = _fileHashForSystem."${stdenv.hostPlatform.system}";
+ stripRoot = true;
};
- nativeBuildInputs = [ makeWrapper ];
+ nativeBuildInputs = [
+ autoPatchelfHook
+ makeBinaryWrapper
+ ];
+ buildInputs = [
+ gcc-unwrapped
+ zlib
+ lttng-ust_2_12
+ ];
installPhase = ''
- mkdir -p $out/{bin,share/duplicati-${finalAttrs.version}}
- cp -r * $out/share/duplicati-${finalAttrs.version}
- makeWrapper "${lib.getExe mono}" $out/bin/duplicati-cli \
- --add-flags "$out/share/duplicati-${finalAttrs.version}/Duplicati.CommandLine.exe" \
+ runHook preInstall
+
+ mkdir -p $out/{bin,share}
+ cp -r * "$out/share/"
+ for file in $out/share/duplicati-*; do
+ makeBinaryWrapper "$file" "$out/bin/$(basename $file)" \
--prefix LD_LIBRARY_PATH : ${
lib.makeLibraryPath [
- sqlite
- ]
- }
- makeWrapper "${lib.getExe mono}" $out/bin/duplicati-server \
- --add-flags "$out/share/duplicati-${finalAttrs.version}/Duplicati.Server.exe" \
- --prefix LD_LIBRARY_PATH : ${
- lib.makeLibraryPath [
- sqlite
+ icu
+ openssl
]
}
+ done
+
+ runHook postInstall
'';
meta = {
@@ -51,6 +77,6 @@ stdenv.mkDerivation (finalAttrs: {
bot-wxt1221
];
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
- platforms = lib.platforms.all;
+ platforms = builtins.attrNames _supportedPlatforms;
};
})
diff --git a/pkgs/by-name/ea/easytier/package.nix b/pkgs/by-name/ea/easytier/package.nix
index dd0d55fad1f9..62c0422bd422 100644
--- a/pkgs/by-name/ea/easytier/package.nix
+++ b/pkgs/by-name/ea/easytier/package.nix
@@ -4,6 +4,7 @@
fetchFromGitHub,
rustPlatform,
protobuf,
+ nixosTests,
nix-update-script,
withQuic ? false, # with QUIC protocol support
}:
@@ -33,7 +34,10 @@ rustPlatform.buildRustPackage rec {
doCheck = false; # tests failed due to heavy rely on network
- passthru.updateScript = nix-update-script { };
+ passthru = {
+ tests = { inherit (nixosTests) easytier; };
+ updateScript = nix-update-script { };
+ };
meta = {
homepage = "https://github.com/EasyTier/EasyTier";
diff --git a/pkgs/by-name/el/elfutils/cxx-header-collision.patch b/pkgs/by-name/el/elfutils/cxx-header-collision.patch
deleted file mode 100644
index 3e123b1a62ba..000000000000
--- a/pkgs/by-name/el/elfutils/cxx-header-collision.patch
+++ /dev/null
@@ -1,338 +0,0 @@
-From: Tristan Ross
-Date: Wed, 31 Jul 2024 04:03:03 +0000 (-0700)
-Subject: Prevent binaries in src from colliding with libc++ headers
-X-Git-Url: https://sourceware.org/git/?p=elfutils.git;a=commitdiff_plain;h=232b9ede92cbecabbd61291c2fc9aaf3fc61061f;hp=87a60d22299c4ba7b94cbce04a32c2abf015f98a
-
-Prevent binaries in src from colliding with libc++ headers
-
-Discovered with Nix and LLVM 17. Headers inside of libc++ can easily
-collide with binaries being linked in src. This results in clang trying
-to include a binary as a header.
-
-Fix this by removing '-I.' and '-I$(srcdir)' from AM_CPPFLAGS and
-DEFAULT_INCLUDES in src/Makefile.am.
-
-To facilitate this config/eu.am has been refactored. New file
-config/eu-common.am contains all of the old eu.am but with the
-AM_CPPFLAGS definition removed. eu.am now includes eu-common.am and
-contains the old AM_CPPFLAGS definition.
-
-eu.am functionality does not change, but src/Makefile.am can instead
-include eu-common.am and define its own AM_CPPFLAGS without causing a
-"multiply defined" warning during autoreconf.
-
-Signed-off-by: Tristan Ross
----
-
-diff --git a/config/eu-common.am b/config/eu-common.am
-new file mode 100644
-index 00000000..9cc7f696
---- /dev/null
-+++ b/config/eu-common.am
-@@ -0,0 +1,148 @@
-+## Common automake fragments for elfutils subdirectory makefiles.
-+##
-+## Copyright (C) 2010, 2014, 2016 Red Hat, Inc.
-+## Copyright (C) 2023, Mark J. Wielaard
-+##
-+## This file is part of elfutils.
-+##
-+## This file is free software; you can redistribute it and/or modify
-+## it under the terms of either
-+##
-+## * the GNU Lesser General Public License as published by the Free
-+## Software Foundation; either version 3 of the License, or (at
-+## your option) any later version
-+##
-+## or
-+##
-+## * the GNU General Public License as published by the Free
-+## Software Foundation; either version 2 of the License, or (at
-+## your option) any later version
-+##
-+## or both in parallel, as here.
-+##
-+## elfutils is distributed in the hope that it will be useful, but
-+## WITHOUT ANY WARRANTY; without even the implied warranty of
-+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+## General Public License for more details.
-+##
-+## You should have received copies of the GNU General Public License and
-+## the GNU Lesser General Public License along with this program. If
-+## not, see .
-+##
-+
-+DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H -DLOCALEDIR='"${localedir}"'
-+
-+# Drop the 'u' flag that automake adds by default. It is incompatible
-+# with deterministic archives.
-+ARFLAGS = cr
-+
-+# Warn about stack usage of more than 256K = 262144 bytes.
-+if ADD_STACK_USAGE_WARNING
-+STACK_USAGE_WARNING=-Wstack-usage=262144
-+STACK_USAGE_NO_ERROR=-Wno-error=stack-usage=
-+else
-+STACK_USAGE_WARNING=
-+STACK_USAGE_NO_ERROR=
-+endif
-+
-+if SANE_LOGICAL_OP_WARNING
-+LOGICAL_OP_WARNING=-Wlogical-op
-+else
-+LOGICAL_OP_WARNING=
-+endif
-+
-+if HAVE_DUPLICATED_COND_WARNING
-+DUPLICATED_COND_WARNING=-Wduplicated-cond
-+else
-+DUPLICATED_COND_WARNING=
-+endif
-+
-+if HAVE_NULL_DEREFERENCE_WARNING
-+NULL_DEREFERENCE_WARNING=-Wnull-dereference
-+else
-+NULL_DEREFERENCE_WARNING=
-+endif
-+
-+if HAVE_IMPLICIT_FALLTHROUGH_WARNING
-+# Use strict fallthrough. Only __attribute__((fallthrough)) will prevent the
-+# warning
-+if HAVE_IMPLICIT_FALLTHROUGH_5_WARNING
-+IMPLICIT_FALLTHROUGH_WARNING=-Wimplicit-fallthrough=5
-+else
-+IMPLICIT_FALLTHROUGH_WARNING=-Wimplicit-fallthrough
-+endif
-+else
-+IMPLICIT_FALLTHROUGH_WARNING=
-+endif
-+
-+if HAVE_TRAMPOLINES_WARNING
-+TRAMPOLINES_WARNING=-Wtrampolines
-+else
-+TRAMPOLINES_WARNING=
-+endif
-+
-+if HAVE_NO_PACKED_NOT_ALIGNED_WARNING
-+NO_PACKED_NOT_ALIGNED_WARNING=-Wno-packed-not-aligned
-+else
-+NO_PACKED_NOT_ALIGNED_WARNING=
-+endif
-+
-+if HAVE_USE_AFTER_FREE3_WARNING
-+USE_AFTER_FREE3_WARNING=-Wuse-after-free=3
-+else
-+USE_AFTER_FREE3_WARNING=
-+endif
-+
-+AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \
-+ -Wold-style-definition -Wstrict-prototypes $(TRAMPOLINES_WARNING) \
-+ $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \
-+ $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \
-+ $(USE_AFTER_FREE3_WARNING) \
-+ $(if $($(*F)_no_Werror),,-Werror) \
-+ $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \
-+ $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \
-+ $(if $($(*F)_no_Wpacked_not_aligned),$(NO_PACKED_NOT_ALIGNED_WARNING),) \
-+ $($(*F)_CFLAGS)
-+
-+AM_CXXFLAGS = -std=c++11 -Wall -Wshadow \
-+ $(TRAMPOLINES_WARNING) \
-+ $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \
-+ $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \
-+ $(if $($(*F)_no_Werror),,-Werror) \
-+ $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \
-+ $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \
-+ $(if $($(*F)_no_Wpacked_not_aligned),$(NO_PACKED_NOT_ALIGNED_WARNING),) \
-+ $($(*F)_CXXFLAGS)
-+
-+COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage, $(COMPILE))
-+
-+DEFS.os = -DPIC -DSHARED
-+if SYMBOL_VERSIONING
-+DEFS.os += -DSYMBOL_VERSIONING
-+else
-+endif
-+
-+%.os: %.c %.o
-+if AMDEP
-+ $(AM_V_CC)if $(COMPILE.os) -c -o $@ $(fpic_CFLAGS) $(DEFS.os) -MT $@ -MD -MP \
-+ -MF "$(DEPDIR)/$*.Tpo" `test -f '$<' || echo '$(srcdir)/'`$<; \
-+ then cat "$(DEPDIR)/$*.Tpo" >> "$(DEPDIR)/$*.Po"; \
-+ rm -f "$(DEPDIR)/$*.Tpo"; \
-+ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-+ fi
-+else
-+ $(AM_V_CC)$(COMPILE.os) -c -o $@ $(fpic_CFLAGS) $(DEFS.os) $<
-+endif
-+
-+CLEANFILES = *.gcno *.gcda
-+
-+textrel_msg = echo "WARNING: TEXTREL found in '$@'"
-+if FATAL_TEXTREL
-+textrel_found = $(textrel_msg); exit 1
-+else
-+textrel_found = $(textrel_msg)
-+endif
-+textrel_check = if $(READELF) -d $@ | grep -F -q TEXTREL; then $(textrel_found); fi
-+
-+print-%:
-+ @echo $*=$($*)
-diff --git a/config/eu.am b/config/eu.am
-index 0b7dab5b..3aa6048a 100644
---- a/config/eu.am
-+++ b/config/eu.am
-@@ -1,4 +1,5 @@
--## Common automake fragments for elfutils subdirectory makefiles.
-+## Common automake fragments for elfutils subdirectory makefiles
-+## with AM_CPPFLAGS set.
- ##
- ## Copyright (C) 2010, 2014, 2016 Red Hat, Inc.
- ## Copyright (C) 2023, Mark J. Wielaard
-@@ -30,120 +31,5 @@
- ## not, see .
- ##
-
--DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H -DLOCALEDIR='"${localedir}"'
--AM_CPPFLAGS = -iquote . -I$(srcdir) -I$(top_srcdir)/lib -I..
--
--# Drop the 'u' flag that automake adds by default. It is incompatible
--# with deterministic archives.
--ARFLAGS = cr
--
--# Warn about stack usage of more than 256K = 262144 bytes.
--if ADD_STACK_USAGE_WARNING
--STACK_USAGE_WARNING=-Wstack-usage=262144
--STACK_USAGE_NO_ERROR=-Wno-error=stack-usage=
--else
--STACK_USAGE_WARNING=
--STACK_USAGE_NO_ERROR=
--endif
--
--if SANE_LOGICAL_OP_WARNING
--LOGICAL_OP_WARNING=-Wlogical-op
--else
--LOGICAL_OP_WARNING=
--endif
--
--if HAVE_DUPLICATED_COND_WARNING
--DUPLICATED_COND_WARNING=-Wduplicated-cond
--else
--DUPLICATED_COND_WARNING=
--endif
--
--if HAVE_NULL_DEREFERENCE_WARNING
--NULL_DEREFERENCE_WARNING=-Wnull-dereference
--else
--NULL_DEREFERENCE_WARNING=
--endif
--
--if HAVE_IMPLICIT_FALLTHROUGH_WARNING
--# Use strict fallthrough. Only __attribute__((fallthrough)) will prevent the
--# warning
--if HAVE_IMPLICIT_FALLTHROUGH_5_WARNING
--IMPLICIT_FALLTHROUGH_WARNING=-Wimplicit-fallthrough=5
--else
--IMPLICIT_FALLTHROUGH_WARNING=-Wimplicit-fallthrough
--endif
--else
--IMPLICIT_FALLTHROUGH_WARNING=
--endif
--
--if HAVE_TRAMPOLINES_WARNING
--TRAMPOLINES_WARNING=-Wtrampolines
--else
--TRAMPOLINES_WARNING=
--endif
--
--if HAVE_NO_PACKED_NOT_ALIGNED_WARNING
--NO_PACKED_NOT_ALIGNED_WARNING=-Wno-packed-not-aligned
--else
--NO_PACKED_NOT_ALIGNED_WARNING=
--endif
--
--if HAVE_USE_AFTER_FREE3_WARNING
--USE_AFTER_FREE3_WARNING=-Wuse-after-free=3
--else
--USE_AFTER_FREE3_WARNING=
--endif
--
--AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \
-- -Wold-style-definition -Wstrict-prototypes $(TRAMPOLINES_WARNING) \
-- $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \
-- $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \
-- $(USE_AFTER_FREE3_WARNING) \
-- $(if $($(*F)_no_Werror),,-Werror) \
-- $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \
-- $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \
-- $(if $($(*F)_no_Wpacked_not_aligned),$(NO_PACKED_NOT_ALIGNED_WARNING),) \
-- $($(*F)_CFLAGS)
--
--AM_CXXFLAGS = -std=c++11 -Wall -Wshadow \
-- $(TRAMPOLINES_WARNING) \
-- $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \
-- $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \
-- $(if $($(*F)_no_Werror),,-Werror) \
-- $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \
-- $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \
-- $(if $($(*F)_no_Wpacked_not_aligned),$(NO_PACKED_NOT_ALIGNED_WARNING),) \
-- $($(*F)_CXXFLAGS)
--
--COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage, $(COMPILE))
--
--DEFS.os = -DPIC -DSHARED
--if SYMBOL_VERSIONING
--DEFS.os += -DSYMBOL_VERSIONING
--else
--endif
--
--%.os: %.c %.o
--if AMDEP
-- $(AM_V_CC)if $(COMPILE.os) -c -o $@ $(fpic_CFLAGS) $(DEFS.os) -MT $@ -MD -MP \
-- -MF "$(DEPDIR)/$*.Tpo" `test -f '$<' || echo '$(srcdir)/'`$<; \
-- then cat "$(DEPDIR)/$*.Tpo" >> "$(DEPDIR)/$*.Po"; \
-- rm -f "$(DEPDIR)/$*.Tpo"; \
-- else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-- fi
--else
-- $(AM_V_CC)$(COMPILE.os) -c -o $@ $(fpic_CFLAGS) $(DEFS.os) $<
--endif
--
--CLEANFILES = *.gcno *.gcda
--
--textrel_msg = echo "WARNING: TEXTREL found in '$@'"
--if FATAL_TEXTREL
--textrel_found = $(textrel_msg); exit 1
--else
--textrel_found = $(textrel_msg)
--endif
--textrel_check = if $(READELF) -d $@ | grep -F -q TEXTREL; then $(textrel_found); fi
--
--print-%:
-- @echo $*=$($*)
-+AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_srcdir)/lib -I..
-+include $(top_srcdir)/config/eu-common.am
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 97a0c61a..5bb8c078 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -16,14 +16,15 @@
- ## You should have received a copy of the GNU General Public License
- ## along with this program. If not, see .
- ##
--include $(top_srcdir)/config/eu.am
-+include $(top_srcdir)/config/eu-common.am
- DEFS += $(YYDEBUG) -DDEBUGPRED=@DEBUGPRED@ \
- -DSRCDIR=\"$(shell cd $(srcdir);pwd)\" -DOBJDIR=\"$(shell pwd)\"
-
--DEFAULT_INCLUDES =
--AM_CPPFLAGS += -I$(srcdir)/../libelf -I$(srcdir)/../libebl \
-- -I$(srcdir)/../libdw -I$(srcdir)/../libdwelf \
-- -I$(srcdir)/../libdwfl -I$(srcdir)/../libasm -I../debuginfod
-+DEFAULT_INCLUDES = -I$(top_builddir)
-+AM_CPPFLAGS = -I$(top_srcdir)/lib -I.. \
-+ -I$(srcdir)/../libelf -I$(srcdir)/../libebl \
-+ -I$(srcdir)/../libdw -I$(srcdir)/../libdwelf \
-+ -I$(srcdir)/../libdwfl -I$(srcdir)/../libasm -I../debuginfod
-
- AM_LDFLAGS = -Wl,-rpath-link,../libelf:../libdw $(STACK_USAGE_NO_ERROR)
diff --git a/pkgs/by-name/el/elfutils/package.nix b/pkgs/by-name/el/elfutils/package.nix
index 84c713cf7cfa..25ddfb23fce8 100644
--- a/pkgs/by-name/el/elfutils/package.nix
+++ b/pkgs/by-name/el/elfutils/package.nix
@@ -23,7 +23,6 @@
libmicrohttpd,
libarchive,
gitUpdater,
- autoreconfHook,
}:
# TODO: Look at the hardcoded paths to kernel, modules etc.
@@ -36,34 +35,29 @@ stdenv.mkDerivation rec {
hash = "sha256-eFf0S2JPTY1CHfhRqq57FALP5rzdLYBJ8V/AfT3edjU=";
};
- patches =
- [
- ./debug-info-from-env.patch
- (fetchpatch {
- name = "fix-aarch64_fregs.patch";
- url = "https://git.alpinelinux.org/aports/plain/main/elfutils/fix-aarch64_fregs.patch?id=2e3d4976eeffb4704cf83e2cc3306293b7c7b2e9";
- sha256 = "zvncoRkQx3AwPx52ehjA2vcFroF+yDC2MQR5uS6DATs=";
- })
- (fetchpatch {
- name = "musl-asm-ptrace-h.patch";
- url = "https://git.alpinelinux.org/aports/plain/main/elfutils/musl-asm-ptrace-h.patch?id=2e3d4976eeffb4704cf83e2cc3306293b7c7b2e9";
- sha256 = "8D1wPcdgAkE/TNBOgsHaeTZYhd9l+9TrZg8d5C7kG6k=";
- })
- (fetchpatch {
- name = "musl-macros.patch";
- url = "https://git.alpinelinux.org/aports/plain/main/elfutils/musl-macros.patch?id=2e3d4976eeffb4704cf83e2cc3306293b7c7b2e9";
- sha256 = "tp6O1TRsTAMsFe8vw3LMENT/vAu6OmyA8+pzgThHeA8=";
- })
- (fetchpatch {
- name = "musl-strndupa.patch";
- url = "https://git.alpinelinux.org/aports/plain/main/elfutils/musl-strndupa.patch?id=2e3d4976eeffb4704cf83e2cc3306293b7c7b2e9";
- sha256 = "sha256-7daehJj1t0wPtQzTv+/Rpuqqs5Ng/EYnZzrcf2o/Lb0=";
- })
- ]
- ++ lib.optionals stdenv.hostPlatform.isMusl [ ./musl-error_h.patch ]
- # Prevent headers and binaries from colliding which results in an error.
- # https://sourceware.org/pipermail/elfutils-devel/2024q3/007281.html
- ++ lib.optional (stdenv.targetPlatform.useLLVM or false) ./cxx-header-collision.patch;
+ patches = [
+ ./debug-info-from-env.patch
+ (fetchpatch {
+ name = "fix-aarch64_fregs.patch";
+ url = "https://git.alpinelinux.org/aports/plain/main/elfutils/fix-aarch64_fregs.patch?id=2e3d4976eeffb4704cf83e2cc3306293b7c7b2e9";
+ sha256 = "zvncoRkQx3AwPx52ehjA2vcFroF+yDC2MQR5uS6DATs=";
+ })
+ (fetchpatch {
+ name = "musl-asm-ptrace-h.patch";
+ url = "https://git.alpinelinux.org/aports/plain/main/elfutils/musl-asm-ptrace-h.patch?id=2e3d4976eeffb4704cf83e2cc3306293b7c7b2e9";
+ sha256 = "8D1wPcdgAkE/TNBOgsHaeTZYhd9l+9TrZg8d5C7kG6k=";
+ })
+ (fetchpatch {
+ name = "musl-macros.patch";
+ url = "https://git.alpinelinux.org/aports/plain/main/elfutils/musl-macros.patch?id=2e3d4976eeffb4704cf83e2cc3306293b7c7b2e9";
+ sha256 = "tp6O1TRsTAMsFe8vw3LMENT/vAu6OmyA8+pzgThHeA8=";
+ })
+ (fetchpatch {
+ name = "musl-strndupa.patch";
+ url = "https://git.alpinelinux.org/aports/plain/main/elfutils/musl-strndupa.patch?id=2e3d4976eeffb4704cf83e2cc3306293b7c7b2e9";
+ sha256 = "sha256-7daehJj1t0wPtQzTv+/Rpuqqs5Ng/EYnZzrcf2o/Lb0=";
+ })
+ ] ++ lib.optionals stdenv.hostPlatform.isMusl [ ./musl-error_h.patch ];
postPatch =
''
@@ -85,16 +79,13 @@ stdenv.mkDerivation rec {
# We need bzip2 in NativeInputs because otherwise we can't unpack the src,
# as the host-bzip2 will be in the path.
- nativeBuildInputs =
- [
- m4
- bison
- flex
- gettext
- bzip2
- ]
- ++ lib.optional enableDebuginfod pkg-config
- ++ lib.optional (stdenv.targetPlatform.useLLVM or false) autoreconfHook;
+ nativeBuildInputs = [
+ m4
+ bison
+ flex
+ gettext
+ bzip2
+ ] ++ lib.optional enableDebuginfod pkg-config;
buildInputs =
[
zlib
@@ -119,22 +110,28 @@ stdenv.mkDerivation rec {
hardeningDisable = [ "strictflexarrays3" ];
- configureFlags =
- [
- "--program-prefix=eu-" # prevent collisions with binutils
- "--enable-deterministic-archives"
- (lib.enableFeature enableDebuginfod "libdebuginfod")
- (lib.enableFeature enableDebuginfod "debuginfod")
+ # build elfutils out-of-source-tree to avoid ./stack inclusion
+ # as a c++ header on libc++: https://sourceware.org/PR33103
+ preConfigure =
+ if (stdenv.targetPlatform.useLLVM or false) then
+ ''
+ mkdir build-tree
+ cd build-tree
+ ''
+ else
+ null;
+ configureScript = if (stdenv.targetPlatform.useLLVM or false) then "../configure" else null;
- # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101766
- # Versioned symbols are nice to have, but we can do without.
- (lib.enableFeature (!stdenv.hostPlatform.isMicroBlaze) "symbol-versioning")
- ]
- ++ lib.optional (stdenv.targetPlatform.useLLVM or false) "--disable-demangler"
- ++ lib.optionals stdenv.cc.isClang [
- "CFLAGS=-Wno-unused-private-field"
- "CXXFLAGS=-Wno-unused-private-field"
- ];
+ configureFlags = [
+ "--program-prefix=eu-" # prevent collisions with binutils
+ "--enable-deterministic-archives"
+ (lib.enableFeature enableDebuginfod "libdebuginfod")
+ (lib.enableFeature enableDebuginfod "debuginfod")
+
+ # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101766
+ # Versioned symbols are nice to have, but we can do without.
+ (lib.enableFeature (!stdenv.hostPlatform.isMicroBlaze) "symbol-versioning")
+ ] ++ lib.optional (stdenv.targetPlatform.useLLVM or false) "--disable-demangler";
enableParallelBuilding = true;
diff --git a/pkgs/by-name/ep/epiphany/package.nix b/pkgs/by-name/ep/epiphany/package.nix
index 6ac61bc3b2f5..f837c1c53e70 100644
--- a/pkgs/by-name/ep/epiphany/package.nix
+++ b/pkgs/by-name/ep/epiphany/package.nix
@@ -5,7 +5,6 @@
ninja,
gettext,
fetchurl,
- fetchpatch,
pkg-config,
gtk4,
glib,
@@ -38,29 +37,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "epiphany";
- version = "48.3";
+ version = "48.5";
src = fetchurl {
url = "mirror://gnome/sources/epiphany/${lib.versions.major finalAttrs.version}/epiphany-${finalAttrs.version}.tar.xz";
- hash = "sha256-2ilT5+K3O/dHPAozl5EE15NieVKV6qCio46hiFN9rxM=";
+ hash = "sha256-D2ZVKtZZPHlSo93uW/UVZWyMQ0hxB22fGpGnr5NGsbQ=";
};
- patches = [
- # shell: Fix startup crash on Pantheon
- # https://gitlab.gnome.org/GNOME/epiphany/-/merge_requests/1818
- (fetchpatch {
- url = "https://gitlab.gnome.org/GNOME/epiphany/-/commit/da4437beb7f1fbc9c2fa3d4629b8c826d484835e.patch";
- hash = "sha256-meufd5gnhLcK0dgIXEMDnid9e1R2M1D3jZ9Yoh6YobM=";
- })
-
- # action-bar-end: Fix startup crash on Pantheon
- # https://gitlab.gnome.org/GNOME/epiphany/-/merge_requests/1819
- (fetchpatch {
- url = "https://gitlab.gnome.org/GNOME/epiphany/-/commit/d69866854b315123c8832fae58c6de008da20ea0.patch";
- hash = "sha256-GnZQC4rtBYRr+x9mF8pCFDcDOjEJj+27ECdXBNL42kQ=";
- })
- ];
-
nativeBuildInputs = [
desktop-file-utils
gettext
diff --git a/pkgs/by-name/ev/evolution-ews/hardcode-gsettings.patch b/pkgs/by-name/ev/evolution-ews/hardcode-gsettings.patch
index e2babb6a3209..e0a4ca04420e 100644
--- a/pkgs/by-name/ev/evolution-ews/hardcode-gsettings.patch
+++ b/pkgs/by-name/ev/evolution-ews/hardcode-gsettings.patch
@@ -1,5 +1,5 @@
diff --git a/src/EWS/camel/camel-ews-utils.c b/src/EWS/camel/camel-ews-utils.c
-index 32817df..da65217 100644
+index 32817df..c8b3f2e 100644
--- a/src/EWS/camel/camel-ews-utils.c
+++ b/src/EWS/camel/camel-ews-utils.c
@@ -1550,7 +1550,7 @@ ews_utils_save_category_changes (GHashTable *old_categories, /* gchar *guid ~> C
@@ -32,7 +32,7 @@ index 32817df..da65217 100644
for (ii = 0; strv && strv[ii]; ii++) {
diff --git a/src/Microsoft365/camel/camel-m365-store.c b/src/Microsoft365/camel/camel-m365-store.c
-index 7374c36..7da2023 100644
+index 7374c36..dbf9099 100644
--- a/src/Microsoft365/camel/camel-m365-store.c
+++ b/src/Microsoft365/camel/camel-m365-store.c
@@ -305,7 +305,7 @@ m365_store_save_category_changes (GHashTable *old_categories, /* gchar *id ~> Ca
@@ -65,7 +65,7 @@ index 7374c36..7da2023 100644
for (ii = 0; strv && strv[ii]; ii++) {
diff --git a/src/Microsoft365/common/e-m365-tz-utils.c b/src/Microsoft365/common/e-m365-tz-utils.c
-index cec5417..2e744a0 100644
+index cec5417..38f1a87 100644
--- a/src/Microsoft365/common/e-m365-tz-utils.c
+++ b/src/Microsoft365/common/e-m365-tz-utils.c
@@ -192,10 +192,21 @@ e_m365_tz_utils_get_user_timezone (void)
@@ -93,7 +93,7 @@ index cec5417..2e744a0 100644
if (g_settings_get_boolean (settings, "use-system-timezone"))
location = e_cal_util_get_system_timezone_location ();
diff --git a/src/common/e-ews-common-utils.c b/src/common/e-ews-common-utils.c
-index 3458c10..7d21784 100644
+index f388e3b..ed57213 100644
--- a/src/common/e-ews-common-utils.c
+++ b/src/common/e-ews-common-utils.c
@@ -208,10 +208,21 @@ e_ews_common_utils_get_configured_icaltimezone (void)
diff --git a/pkgs/by-name/ev/evolution-ews/package.nix b/pkgs/by-name/ev/evolution-ews/package.nix
index 9b4a5d7d3e3c..30cc9b084997 100644
--- a/pkgs/by-name/ev/evolution-ews/package.nix
+++ b/pkgs/by-name/ev/evolution-ews/package.nix
@@ -23,11 +23,11 @@
stdenv.mkDerivation rec {
pname = "evolution-ews";
- version = "3.56.1";
+ version = "3.56.2";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
- hash = "sha256-DgC2qxV9j+r7T1HXchusP2IfI4f1WrS7PEPRN0KFrWs=";
+ hash = "sha256-Hrfsz5TGuGGNa0XDICNQIJ21Z8SJEIrcICM8TRn48o8=";
};
patches = [
diff --git a/pkgs/by-name/fa/fasmg/package.nix b/pkgs/by-name/fa/fasmg/package.nix
index f12836e2f42f..6c6d7e2e4dc6 100644
--- a/pkgs/by-name/fa/fasmg/package.nix
+++ b/pkgs/by-name/fa/fasmg/package.nix
@@ -14,11 +14,11 @@
stdenv.mkDerivation rec {
pname = "fasmg";
- version = "kp60";
+ version = "ktge";
src = fetchzip {
url = "https://flatassembler.net/fasmg.${version}.zip";
- sha256 = "sha256-gOkAVi3hoHer7Buzu6O8Y66cXVys6CI+tqwEPtTOO9U=";
+ sha256 = "sha256-z/2SeN6FgRvLg8hA+lle/f2qEkce1GF1cC0uSnXExhg=";
stripRoot = false;
};
diff --git a/pkgs/by-name/fa/fastnlo-toolkit/package.nix b/pkgs/by-name/fa/fastnlo-toolkit/package.nix
index 77c605f5d363..aa5e76c036d3 100644
--- a/pkgs/by-name/fa/fastnlo-toolkit/package.nix
+++ b/pkgs/by-name/fa/fastnlo-toolkit/package.nix
@@ -105,5 +105,6 @@ stdenv.mkDerivation rec {
license = licenses.gpl3Plus;
maintainers = with maintainers; [ veprbl ];
platforms = platforms.unix;
+ broken = stdenv.hostPlatform.isDarwin;
};
}
diff --git a/pkgs/by-name/ff/fflogs/package.nix b/pkgs/by-name/ff/fflogs/package.nix
index ef2bc6a7c4b6..56eb881306cb 100644
--- a/pkgs/by-name/ff/fflogs/package.nix
+++ b/pkgs/by-name/ff/fflogs/package.nix
@@ -6,10 +6,10 @@
let
pname = "fflogs";
- version = "8.17.13";
+ version = "8.17.18";
src = fetchurl {
url = "https://github.com/RPGLogs/Uploaders-fflogs/releases/download/v${version}/fflogs-v${version}.AppImage";
- hash = "sha256-mCHycRks9HXWhHOA/LbhjPCRjEuyGklgBuvY7e+KXnc=";
+ hash = "sha256-FP6vGezki4BViwLuKisxnCDaOUwFVQB2hag92lrwRyk=";
};
extracted = appimageTools.extractType2 { inherit pname version src; };
in
diff --git a/pkgs/by-name/fl/flyctl/package.nix b/pkgs/by-name/fl/flyctl/package.nix
index 2b029b290541..52fbfab29283 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.144";
+ version = "0.3.145";
src = fetchFromGitHub {
owner = "superfly";
repo = "flyctl";
rev = "v${version}";
- hash = "sha256-Uk6XeqdNXDs9H1Dzxy2uiF1ulIPoOxtZSoe2XU/6f0Q=";
+ hash = "sha256-fMBKuIzycuBMtkaGZPJmfRhYntER+yFzAA6mTCLuhws=";
};
- vendorHash = "sha256-GWEEhn2O6Wxrd3y7w4h8Qz8/4GA1z++QsrOi9r58Rg8=";
+ vendorHash = "sha256-G+RT2teg1+AoLJRjYKnQtVcGH3sbtrxhklQfGMIod+0=";
subPackages = [ "." ];
diff --git a/pkgs/by-name/fo/forgejo-runner/package.nix b/pkgs/by-name/fo/forgejo-runner/package.nix
index 8591abe8621c..6648a723b7e5 100644
--- a/pkgs/by-name/fo/forgejo-runner/package.nix
+++ b/pkgs/by-name/fo/forgejo-runner/package.nix
@@ -17,17 +17,17 @@ let
in
buildGoModule rec {
pname = "forgejo-runner";
- version = "6.3.1";
+ version = "6.4.0";
src = fetchFromGitea {
domain = "code.forgejo.org";
owner = "forgejo";
repo = "runner";
rev = "v${version}";
- hash = "sha256-eR7WsdnA9guEf/BXymWuJTy+4TTBUq9YxeFVKgvvAD8=";
+ hash = "sha256-fEsT82h33XIBXyvcIYNsieQiV45jLnxLpFP5ji9pNlg=";
};
- vendorHash = "sha256-ZlXx0B2IdyeqPzQchmUI0peOZShUi0m9BMBQ1Xj2ftQ=";
+ vendorHash = "sha256-KV8KYOjy3WO+yfVWEFwKZVAesmx4tFk/k/sTLDKk9lo=";
ldflags = [
"-s"
diff --git a/pkgs/by-name/fr/freecell-solver/package.nix b/pkgs/by-name/fr/freecell-solver/package.nix
index 8479daf5888e..75b39358afb1 100644
--- a/pkgs/by-name/fr/freecell-solver/package.nix
+++ b/pkgs/by-name/fr/freecell-solver/package.nix
@@ -16,11 +16,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "freecell-solver";
- version = "6.12.0";
+ version = "6.14.0";
src = fetchurl {
url = "https://fc-solve.shlomifish.org/downloads/fc-solve/freecell-solver-${finalAttrs.version}.tar.xz";
- hash = "sha256-oriegEzkuRjvdJAxZ2IQ8glf6jqMsSmAVgKEPHxIhKA=";
+ hash = "sha256-HREl2FQivNUhEC18sefIS3aGP+RF3SGHn5d53Gss59w=";
};
outputs = [
diff --git a/pkgs/by-name/ga/gancio/plugin-telegram-bridge/default.nix b/pkgs/by-name/ga/gancio/plugin-telegram-bridge/default.nix
index 989ad2354952..0efaabed05d7 100644
--- a/pkgs/by-name/ga/gancio/plugin-telegram-bridge/default.nix
+++ b/pkgs/by-name/ga/gancio/plugin-telegram-bridge/default.nix
@@ -11,14 +11,14 @@
stdenv.mkDerivation rec {
pname = "gancio-plugin-telegram-bridge";
- version = "1.0.5";
+ version = "1.0.6";
src = fetchFromGitLab {
domain = "framagit.org";
owner = "bcn.convocala";
repo = "gancio-plugin-telegram-bridge";
rev = "v${version}";
- hash = "sha256-URiyV7bl8t25NlVJM/gEqPB67TZ4vQdfu4mvHITteSQ=";
+ hash = "sha256-J7FIfJjounrq/hPQk58mYXigjD7BZQWoE4aGi0eJ4sY=";
};
# upstream doesn't provide a yarn.lock file
diff --git a/pkgs/by-name/ge/gebaar-libinput/package.nix b/pkgs/by-name/ge/gebaar-libinput/package.nix
index cba94577b938..1372c980a32d 100644
--- a/pkgs/by-name/ge/gebaar-libinput/package.nix
+++ b/pkgs/by-name/ge/gebaar-libinput/package.nix
@@ -45,7 +45,6 @@ stdenv.mkDerivation rec {
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = with maintainers; [
- colemickens
lovesegfault
];
};
diff --git a/pkgs/by-name/gh/ghex/package.nix b/pkgs/by-name/gh/ghex/package.nix
index 6522a6c75567..862c31e12173 100644
--- a/pkgs/by-name/gh/ghex/package.nix
+++ b/pkgs/by-name/gh/ghex/package.nix
@@ -8,7 +8,6 @@
ninja,
gnome,
desktop-file-utils,
- appstream-glib,
gettext,
itstool,
gtk4,
@@ -22,7 +21,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "ghex";
- version = "48.alpha";
+ version = "48.beta2";
outputs = [
"out"
@@ -32,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchurl {
url = "mirror://gnome/sources/ghex/${lib.versions.major finalAttrs.version}/ghex-${finalAttrs.version}.tar.xz";
- hash = "sha256-QP7kmZfZGhkmYmEXDEi7hy+zBupB+2WnIVBghow73+I=";
+ hash = "sha256-4vIgRVGNgWtG0wluCp075lTdggMBVGX8ck/okWrY70E=";
};
nativeBuildInputs = [
@@ -55,11 +54,6 @@ stdenv.mkDerivation (finalAttrs: {
glib
];
- nativeCheckInputs = [
- appstream-glib
- desktop-file-utils
- ];
-
mesonFlags =
[
"-Dgtk_doc=true"
diff --git a/pkgs/by-name/gm/gmic/package.nix b/pkgs/by-name/gm/gmic/package.nix
index 0428f87e21f1..06a04541628f 100644
--- a/pkgs/by-name/gm/gmic/package.nix
+++ b/pkgs/by-name/gm/gmic/package.nix
@@ -31,7 +31,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gmic";
- version = "3.5.4";
+ version = "3.5.5";
outputs = [
"out"
@@ -44,7 +44,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "GreycLab";
repo = "gmic";
rev = "v.${finalAttrs.version}";
- hash = "sha256-WhhEBhwv2bBwsWPPMDIA2jhUzqcD6yJhHg1Eunu8y14=";
+ hash = "sha256-OPA0diWAtB8MCaw2DOyh89DVi7lQmyCsQ2gqfK7dGW8=";
};
# TODO: build this from source
diff --git a/pkgs/by-name/gn/gnome-commander/package.nix b/pkgs/by-name/gn/gnome-commander/package.nix
index 5b03c4178e94..faab9a0cfadf 100644
--- a/pkgs/by-name/gn/gnome-commander/package.nix
+++ b/pkgs/by-name/gn/gnome-commander/package.nix
@@ -19,14 +19,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gnome-commander";
- version = "1.18.2";
+ version = "1.18.3";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "GNOME";
repo = "gnome-commander";
tag = finalAttrs.version;
- hash = "sha256-dNZDlpvpN5hh/3YccZPJDEFkBLv9I8YOdFT/COp7+Uw=";
+ hash = "sha256-rSaj1Fg2seZKlzlERZZmz80kxJT1vZ+INiJlWfZ9m6g=";
};
# hard-coded schema paths
diff --git a/pkgs/by-name/gn/gnome-control-center/package.nix b/pkgs/by-name/gn/gnome-control-center/package.nix
index 7bfeb7923797..1319042ba1cb 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.2";
+ version = "48.3";
src = fetchurl {
url = "mirror://gnome/sources/gnome-control-center/${lib.versions.major finalAttrs.version}/gnome-control-center-${finalAttrs.version}.tar.xz";
- hash = "sha256-0uxKXifhkdkvmO1NvEqGHX8axKWiS2UktJKhIAfdRgw=";
+ hash = "sha256-wGmCRaZCC63Qd8Fv+yGIYORXzXMAYScY6r+aukciK64=";
};
patches = [
diff --git a/pkgs/by-name/go/gojo/package.nix b/pkgs/by-name/go/gojo/package.nix
index b675dabd5378..ed45af52f91b 100644
--- a/pkgs/by-name/go/gojo/package.nix
+++ b/pkgs/by-name/go/gojo/package.nix
@@ -8,16 +8,16 @@
buildGoModule (finalAttrs: {
pname = "gojo";
- version = "0.3.2";
+ version = "0.3.3";
src = fetchFromGitHub {
owner = "itchyny";
repo = "gojo";
tag = "v${finalAttrs.version}";
- hash = "sha256-DMFTB5CgJTWf+P9ntgBgzdmcF2qjS9t3iUQ1Rer+Ab4=";
+ hash = "sha256-jHSvNxTnecusIIdyNvZsPVw34QKIm9kEvBUESG37PDY=";
};
- vendorHash = "sha256-iVAPuc+83WZCs5WAAZIKEExDdwXQqswgso2XRVJB/bE=";
+ vendorHash = "sha256-XTrKbOXKxUjCC505ZVHbTaEvdxD4Zv0BFQhby3VwS4M=";
nativeInstallCheckInputs = [
versionCheckHook
diff --git a/pkgs/by-name/go/google-lighthouse/package.nix b/pkgs/by-name/go/google-lighthouse/package.nix
index d9e23d7f7191..b20293e23aa8 100644
--- a/pkgs/by-name/go/google-lighthouse/package.nix
+++ b/pkgs/by-name/go/google-lighthouse/package.nix
@@ -12,18 +12,18 @@
}:
stdenv.mkDerivation rec {
pname = "google-lighthouse";
- version = "12.6.0";
+ version = "12.7.0";
src = fetchFromGitHub {
owner = "GoogleChrome";
repo = "lighthouse";
tag = "v${version}";
- hash = "sha256-XwCitOesSEfzp3N80MsRfJ4gNyX85GzXsYaFMawmsjI=";
+ hash = "sha256-5YSUbqjzgBTjBtZYLwiGFWdWD9aDZ9To8kBZd09Tzkw=";
};
yarnOfflineCache = fetchYarnDeps {
yarnLock = "${src}/yarn.lock";
- hash = "sha256-5c5xPlFglUDavUkRHxa691qSnKW39qqzv24woJshpTg=";
+ hash = "sha256-ySNsklPfhUm/RkXzAA2wlzx4jg61vL3zxlyhEBppMVE=";
};
yarnBuildScript = "build-report";
diff --git a/pkgs/by-name/go/got/package.nix b/pkgs/by-name/go/got/package.nix
index 5a78a0b44dcd..d523352a1759 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.113";
+ version = "0.115";
src = fetchurl {
url = "https://gameoftrees.org/releases/portable/got-portable-${finalAttrs.version}.tar.gz";
- hash = "sha256-KUaKG5o1+iq6kygHWVvADQEKxUGSOQRo91oK02TFbwE=";
+ hash = "sha256-rfC8HMN0dH34+1Jbd3uPEtG/1uiTdSKBkilhssiJiec=";
};
nativeBuildInputs = [
diff --git a/pkgs/by-name/gr/grafana-alloy/package.nix b/pkgs/by-name/gr/grafana-alloy/package.nix
index c7847d1ed91f..878af99bd335 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.9.1";
+ version = "1.9.2";
src = fetchFromGitHub {
owner = "grafana";
repo = "alloy";
tag = "v${version}";
- hash = "sha256-j3zuV+a3hLgHrb1jcPav9AhQpT8WT/cP4KSZ9gJY0p4=";
+ hash = "sha256-ciM5DbP5OTvAPUNgBTuwb+hbVtKGgQzafLLOjDftPZQ=";
};
proxyVendor = true;
- vendorHash = "sha256-bePkYhKL8yNzVgX3Can9jyC1WKFQzHoX+L3qapZ0fjQ=";
+ vendorHash = "sha256-zmNrnCaUrsYJ0S5MQrj07sV+ZCnXbGQmH8Z0pMpJZk4=";
nativeBuildInputs = [
fixup-yarn-lock
diff --git a/pkgs/by-name/gu/guacamole-server/package.nix b/pkgs/by-name/gu/guacamole-server/package.nix
index 9b4411f084e6..196924749629 100644
--- a/pkgs/by-name/gu/guacamole-server/package.nix
+++ b/pkgs/by-name/gu/guacamole-server/package.nix
@@ -28,18 +28,19 @@
stdenv.mkDerivation (finalAttrs: {
pname = "guacamole-server";
- version = "1.6.0-unstable-2025-05-16";
+ version = "1.6.0-unstable-2025-06-29";
src = fetchFromGitHub {
owner = "apache";
repo = "guacamole-server";
- rev = "acb69735359d4d4a08f65d6eb0bde2a0da08f751";
- hash = "sha256-rqGSQD9EYlK1E6y/3EzynRmBWJOZBrC324zVvt7c2vM=";
+ rev = "f3f5b9d76649ccc24f551cb166c81078f4b5e236";
+ hash = "sha256-OjTwAQzKUuXfwZXLsL9XjrJc/0be38CmAGG+CoCeNwk=";
};
NIX_CFLAGS_COMPILE = [
"-Wno-error=format-truncation"
"-Wno-error=format-overflow"
+ "-Wno-error=deprecated-declarations"
];
strictDeps = true;
diff --git a/pkgs/by-name/hc/hcdiag/package.nix b/pkgs/by-name/hc/hcdiag/package.nix
index c1ee998f14d8..a5b376f52ac2 100644
--- a/pkgs/by-name/hc/hcdiag/package.nix
+++ b/pkgs/by-name/hc/hcdiag/package.nix
@@ -8,13 +8,13 @@
buildGoModule rec {
pname = "hcdiag";
- version = "0.5.7";
+ version = "0.5.8";
src = fetchFromGitHub {
owner = "hashicorp";
repo = "hcdiag";
tag = "v${version}";
- hash = "sha256-pX3v4HYzQLvzBADOMDrjgS3M+H4tnJOAkUHs32NxwEg=";
+ hash = "sha256-6qsp74wp8LCBgeQTn4Edms8kzpKx9O4soGRwIFUVIk4=";
};
vendorHash = "sha256-ZuG++2bItCdnTcSaeBumIS2DqF+U6ZP7UTYM2DC+YGw=";
diff --git a/pkgs/by-name/ho/hoppscotch/package.nix b/pkgs/by-name/ho/hoppscotch/package.nix
index ecf415b0da8c..58261780e4ef 100644
--- a/pkgs/by-name/ho/hoppscotch/package.nix
+++ b/pkgs/by-name/ho/hoppscotch/package.nix
@@ -8,22 +8,22 @@
let
pname = "hoppscotch";
- version = "25.5.3-0";
+ version = "25.6.0-0";
src =
fetchurl
{
aarch64-darwin = {
url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_mac_aarch64.dmg";
- hash = "sha256-EhwTQ52xUCLSApV2vNo4AqnAznaDaSWDt339pmwJvYU=";
+ hash = "sha256-QeI8BmEJOdzi7eonsLtF4SQaah8LJS+cee5pBbWuHBI=";
};
x86_64-darwin = {
url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_mac_x64.dmg";
- hash = "sha256-A0Ss6JLcHaH5p7TQ67TVAAre+nt82hxVgZZgFvoBWzA=";
+ hash = "sha256-4CIU+aFo50E1uMWIR1dA6tNCY1qKiMHnBRkGK5x3Ljg=";
};
x86_64-linux = {
url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_linux_x64.AppImage";
- hash = "sha256-r+gi/vVkVY0QIqunnrDOk6k+Fa/6UOMMGxYdnj4SnIA=";
+ hash = "sha256-+jtDamZaRzBcfrRdlWBqqJlTYfOF0KpunuruBVuSS3Y=";
};
}
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
diff --git a/pkgs/by-name/hy/hyprshell/package.nix b/pkgs/by-name/hy/hyprshell/package.nix
index 24c7bc6544d8..08494a72ef65 100644
--- a/pkgs/by-name/hy/hyprshell/package.nix
+++ b/pkgs/by-name/hy/hyprshell/package.nix
@@ -11,17 +11,17 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "hyprshell";
- version = "4.2.13";
+ version = "4.5.0";
src = fetchFromGitHub {
owner = "H3rmt";
repo = "hyprshell";
tag = "v${finalAttrs.version}";
- hash = "sha256-OgIeNlD2YcW5lWAQvqMvOphIxbIpGOL2WNQmtAGCsbQ=";
+ hash = "sha256-AfOG2MCHRp/p894mJhCRRGTLd+DpWKAp3Epf5dR7S/E=";
};
useFetchCargoVendor = true;
- cargoHash = "sha256-/f1AzpuzhVLeSbemgpXkh/ag33bsRMg3lrRPKVGOcK8=";
+ cargoHash = "sha256-+yjqbTPmfqXGJ85J2+Muhe2/mL1UyBi2XdafY9Mp+Os=";
nativeBuildInputs = [
wrapGAppsHook4
diff --git a/pkgs/by-name/iw/iwd/no_netdev_group.diff b/pkgs/by-name/iw/iwd/no_netdev_group.diff
new file mode 100644
index 000000000000..45c545f452e4
--- /dev/null
+++ b/pkgs/by-name/iw/iwd/no_netdev_group.diff
@@ -0,0 +1,30 @@
+diff --git a/src/iwd-dbus.conf b/src/iwd-dbus.conf
+index f2509ebc..a443987d 100644
+--- a/src/iwd-dbus.conf
++++ b/src/iwd-dbus.conf
+@@ -19,10 +19,6 @@
+
+
+
+-
+-
+-
+-
+
+
+
+diff --git a/wired/ead-dbus.conf b/wired/ead-dbus.conf
+index 8a685e0a..749d0c05 100644
+--- a/wired/ead-dbus.conf
++++ b/wired/ead-dbus.conf
+@@ -17,10 +17,6 @@
+
+
+
+-
+-
+-
+-
+
+
+
diff --git a/pkgs/by-name/iw/iwd/package.nix b/pkgs/by-name/iw/iwd/package.nix
index daf2372f6015..11c1522c747d 100644
--- a/pkgs/by-name/iw/iwd/package.nix
+++ b/pkgs/by-name/iw/iwd/package.nix
@@ -13,16 +13,22 @@
gitUpdater,
}:
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
pname = "iwd";
- version = "3.8";
+ version = "3.9";
src = fetchgit {
url = "https://git.kernel.org/pub/scm/network/wireless/iwd.git";
- rev = version;
- hash = "sha256-BNGXOiyV+aTHym4EBStVdQ0XekmkFEyx7PqmlG8HcVc=";
+ tag = finalAttrs.version;
+ hash = "sha256-NY0WB62ehxKH64ssAF4vkF6YroG5HHH+ii+AFG9EaE4=";
};
+ patches = [
+ # Remove dbus config referencing the netdev group, which we don't have.
+ # Users are advised to use the wheel group instead.
+ ./no_netdev_group.diff
+ ];
+
outputs = [
"out"
"man"
@@ -101,14 +107,14 @@ stdenv.mkDerivation rec {
url = "https://git.kernel.org/pub/scm/network/wireless/iwd.git";
};
- meta = with lib; {
+ meta = {
homepage = "https://git.kernel.org/pub/scm/network/wireless/iwd.git";
description = "Wireless daemon for Linux";
- license = licenses.lgpl21Plus;
- platforms = platforms.linux;
- maintainers = with maintainers; [
+ license = lib.licenses.lgpl21Plus;
+ platforms = lib.platforms.linux;
+ maintainers = with lib.maintainers; [
dtzWill
fpletz
];
};
-}
+})
diff --git a/pkgs/by-name/je/jellyfin-tui/package.nix b/pkgs/by-name/je/jellyfin-tui/package.nix
index 6770cebaff7c..e4764ba129d5 100644
--- a/pkgs/by-name/je/jellyfin-tui/package.nix
+++ b/pkgs/by-name/je/jellyfin-tui/package.nix
@@ -6,22 +6,23 @@
openssl,
mpv,
nix-update-script,
+ writableTmpDirAsHomeHook,
versionCheckHook,
}:
rustPlatform.buildRustPackage rec {
pname = "jellyfin-tui";
- version = "1.1.3";
+ version = "1.2.1";
src = fetchFromGitHub {
owner = "dhonus";
repo = "jellyfin-tui";
tag = "v${version}";
- hash = "sha256-zTvycwmVTUK7qP9PacHeREhVk0UJ4fos0Z2OGdWI0Mg=";
+ hash = "sha256-9TSg7J5Pbb2cpL9fEMs5ZJjmA70o8TEmbDkYIK2inTc=";
};
useFetchCargoVendor = true;
- cargoHash = "sha256-nBtz05c4W5qIiOPfQ+PGy0LVvvXXCFmdfjk2VjBMvnE=";
+ cargoHash = "sha256-dFUUJovJcf5pzH9nta7G+E7hcZTZONLPgQ1HAX4RYrY=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [
@@ -30,9 +31,14 @@ rustPlatform.buildRustPackage rec {
];
nativeInstallCheckInputs = [
+ writableTmpDirAsHomeHook
versionCheckHook
];
versionCheckProgramArg = "--version";
+ versionCheckKeepEnvironment = [ "HOME" ];
+ preInstallCheck = ''
+ mkdir -p $HOME/.local/share
+ '';
doInstallCheck = true;
passthru.updateScript = nix-update-script { };
diff --git a/pkgs/by-name/le/lean4/package.nix b/pkgs/by-name/le/lean4/package.nix
index d47474effe06..931573dad309 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.20.0";
+ version = "4.21.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-1V3Uk96wdNJ3IP+hvXb5Hep8w8QK8GjqaeTVG+KUqXU=";
+ hash = "sha256-IZSx7KmkLMEob8BmK/Bi4sS5nh78NHPQPJYgedv2+6Y=";
};
postPatch =
diff --git a/pkgs/by-name/li/lib3270/package.nix b/pkgs/by-name/li/lib3270/package.nix
index 62fc3147541d..dad56b9ffd40 100644
--- a/pkgs/by-name/li/lib3270/package.nix
+++ b/pkgs/by-name/li/lib3270/package.nix
@@ -53,5 +53,6 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/PerryWerneck/lib3270";
license = licenses.lgpl3Plus;
maintainers = [ maintainers.vifino ];
+ broken = stdenv.hostPlatform.isDarwin;
};
}
diff --git a/pkgs/by-name/li/libfilezilla/package.nix b/pkgs/by-name/li/libfilezilla/package.nix
index d295921204dc..a4c738f6d30f 100644
--- a/pkgs/by-name/li/libfilezilla/package.nix
+++ b/pkgs/by-name/li/libfilezilla/package.nix
@@ -45,5 +45,6 @@ stdenv.mkDerivation {
license = licenses.gpl2Plus;
maintainers = with maintainers; [ pSub ];
platforms = lib.platforms.unix;
+ broken = stdenv.hostPlatform.isDarwin;
};
}
diff --git a/pkgs/by-name/li/libimobiledevice-glue/package.nix b/pkgs/by-name/li/libimobiledevice-glue/package.nix
index f8288ffb50e1..22a10bf44048 100644
--- a/pkgs/by-name/li/libimobiledevice-glue/package.nix
+++ b/pkgs/by-name/li/libimobiledevice-glue/package.nix
@@ -10,13 +10,13 @@
stdenv.mkDerivation rec {
pname = "libimobiledevice-glue";
- version = "1.3.1";
+ version = "1.3.2";
src = fetchFromGitHub {
owner = "libimobiledevice";
repo = "libimobiledevice-glue";
rev = version;
- hash = "sha256-Fu0zQIryESRaTGzDlAaewX9Yo2nPEeUxmcb3yPJLuSI=";
+ hash = "sha256-cUcJARbZV9Yaqd9TP3NVmF9p8Pjz88a3GmAh4c4sEHo=";
};
preAutoreconf = ''
diff --git a/pkgs/by-name/li/libphonenumber/package.nix b/pkgs/by-name/li/libphonenumber/package.nix
index 5e329d4faa02..f21c0bf91782 100644
--- a/pkgs/by-name/li/libphonenumber/package.nix
+++ b/pkgs/by-name/li/libphonenumber/package.nix
@@ -14,13 +14,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "libphonenumber";
- version = "9.0.5";
+ version = "9.0.8";
src = fetchFromGitHub {
owner = "google";
repo = "libphonenumber";
rev = "v${finalAttrs.version}";
- hash = "sha256-CVT0HBT4WnlTrT8mhapJjyIbd+pp7uxrZxa9ZlXVm3c=";
+ hash = "sha256-PLQgZdf2As5dwoM/L8SCBCysXUrw56/cn2NDf4jM1ac=";
};
patches = [
@@ -58,6 +58,9 @@ stdenv.mkDerivation (finalAttrs: {
description = "Google's i18n library for parsing and using phone numbers";
homepage = "https://github.com/google/libphonenumber";
license = licenses.asl20;
- maintainers = with maintainers; [ illegalprime ];
+ maintainers = with maintainers; [
+ illegalprime
+ wegank
+ ];
};
})
diff --git a/pkgs/by-name/li/libslirp/fix-dns-for-darwin.patch b/pkgs/by-name/li/libslirp/fix-dns-for-darwin.patch
deleted file mode 100644
index f6e1a8c1b519..000000000000
--- a/pkgs/by-name/li/libslirp/fix-dns-for-darwin.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-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 98a73e4109fe..8900e5c43d68 100644
--- a/pkgs/by-name/li/libslirp/package.nix
+++ b/pkgs/by-name/li/libslirp/package.nix
@@ -10,22 +10,16 @@
stdenv.mkDerivation rec {
pname = "libslirp";
- version = "4.9.0";
+ version = "4.9.1";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "slirp";
repo = "libslirp";
rev = "v${version}";
- sha256 = "sha256-Eqdw6epFkLv4Dnw/s1pcKW0P70ApZwx/J2VkCwn50Ew=";
+ sha256 = "sha256-MKP3iBExaPQryiahI1l/4bTgVht5Vu8AxaDyMotqmMo=";
};
- 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/libtorrent/package.nix b/pkgs/by-name/li/libtorrent/package.nix
index eeca7cc91cf7..03e8c19f213a 100644
--- a/pkgs/by-name/li/libtorrent/package.nix
+++ b/pkgs/by-name/li/libtorrent/package.nix
@@ -14,13 +14,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "rakshasa-libtorrent";
- version = "0.15.4";
+ version = "0.15.5";
src = fetchFromGitHub {
owner = "rakshasa";
repo = "libtorrent";
rev = "v${finalAttrs.version}";
- hash = "sha256-EtT1g8fo2XRVO7pGUThoEklxpYKPI7OWwCZ2vVV73k4=";
+ hash = "sha256-iFndmET8bQUg3iZ6c6WDCzSS2tx6sYJt+fEkPAaNm18=";
};
nativeBuildInputs = [
diff --git a/pkgs/by-name/ma/maiko/package.nix b/pkgs/by-name/ma/maiko/package.nix
index 5f5b436d9cc5..94ec3953d72d 100644
--- a/pkgs/by-name/ma/maiko/package.nix
+++ b/pkgs/by-name/ma/maiko/package.nix
@@ -8,13 +8,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "maiko";
- version = "250201-55e20ea9";
+ version = "250616-de1fafba";
src = fetchFromGitHub {
owner = "Interlisp";
repo = "maiko";
tag = "maiko-${finalAttrs.version}";
- hash = "sha256-7TmMvDaSmdbMa2fVbETRcyKndGM3CuaxI2cJj00WlSc=";
+ hash = "sha256-RYBV3gqcDPxRteCvUyqm8lKUpW4r0L7kJLlED8M72DI=";
};
nativeBuildInputs = [ cmake ];
diff --git a/pkgs/by-name/ma/markdown-oxide/package.nix b/pkgs/by-name/ma/markdown-oxide/package.nix
index 509ce2b8967b..981d271bf3f7 100644
--- a/pkgs/by-name/ma/markdown-oxide/package.nix
+++ b/pkgs/by-name/ma/markdown-oxide/package.nix
@@ -5,13 +5,13 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "markdown-oxide";
- version = "0.25.2";
+ version = "0.25.3";
src = fetchFromGitHub {
owner = "Feel-ix-343";
repo = "markdown-oxide";
tag = "v${finalAttrs.version}";
- hash = "sha256-LXFZAMxg2Mlatwx7d4ozofr7H9nrqDxai9U/oB4vkqA=";
+ hash = "sha256-LBY7hLen6jhOBsOIl9f5rFVH66FbLbuYgLl1xtzTRQg=";
};
useFetchCargoVendor = true;
diff --git a/pkgs/by-name/ma/maven/package.nix b/pkgs/by-name/ma/maven/package.nix
index e78c355b8dc0..83988f58825a 100644
--- a/pkgs/by-name/ma/maven/package.nix
+++ b/pkgs/by-name/ma/maven/package.nix
@@ -9,11 +9,11 @@
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "maven";
- version = "3.9.9";
+ version = "3.9.10";
src = fetchurl {
url = "mirror://apache/maven/maven-3/${finalAttrs.version}/binaries/apache-maven-${finalAttrs.version}-bin.tar.gz";
- hash = "sha256-epzfZ0/BcD1jgvXzMLPREOobUStR8WUoRtnk6KWI12Y=";
+ hash = "sha256-4DYFmwrGPNzJNK//qhJcm/P0pM0tK5mV4a7pIZCgl5w=";
};
sourceRoot = ".";
diff --git a/pkgs/by-name/mi/mitra/package.nix b/pkgs/by-name/mi/mitra/package.nix
index 5192212c7efe..defe5ba74379 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.5.0";
+ version = "4.5.1";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "silverpill";
repo = "mitra";
rev = "v${version}";
- hash = "sha256-y77wLGmSJbGmqUXURjqp6Gz9+xpMvnUEcB9OZ4uF3M8=";
+ hash = "sha256-nUQVdKzNNfD04dPKb0T1l0TUS5jTkU9l/yUMXmvJx/s=";
};
useFetchCargoVendor = true;
- cargoHash = "sha256-sfPnhB1GWIG8tA6Jqr1+03qxwS1DBbRAv4ZY+wKB/jY=";
+ cargoHash = "sha256-D6pD0aAmQh2lmWyfHjB8K7ZKv06Qoru+81ncPvDcyS4=";
# require running database
doCheck = false;
diff --git a/pkgs/by-name/mo/mongodb-ce/package.nix b/pkgs/by-name/mo/mongodb-ce/package.nix
index c74954f6ec3d..f6b508b3ef17 100644
--- a/pkgs/by-name/mo/mongodb-ce/package.nix
+++ b/pkgs/by-name/mo/mongodb-ce/package.nix
@@ -15,24 +15,24 @@
}:
let
- version = "8.0.4";
+ version = "8.0.11";
srcs = version: {
"x86_64-linux" = {
url = "https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2204-${version}.tgz";
- hash = "sha256-N5rwtPrrjVJj7UAk/weBAhV4+7wHRLNowkX6gEWCQVU=";
+ hash = "sha256-XErxsovZyMR1UmwClxn5Bm08hoYHArCtn8TSv/8eDYo=";
};
"aarch64-linux" = {
url = "https://fastdl.mongodb.org/linux/mongodb-linux-aarch64-ubuntu2204-${version}.tgz";
- hash = "sha256-uBa7/jxfZBNmB0l2jspJW2QQ8VY0GtWxc/tPlkV6UBk=";
+ hash = "sha256-p1eBobdnJ/uPZHScWFs3AOB7/BJn/MZQ8+VpOHonY2A=";
};
"x86_64-darwin" = {
url = "https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-${version}.tgz";
- hash = "sha256-Ya+HIlRPWXPp9aX1AlRgkh/pfKRgxhqNep/6uuARmCo=";
+ hash = "sha256-RLq+aFJixSt3EginpgIHWnR4CGk0KX5cmC3QrbW3jJ8=";
};
"aarch64-darwin" = {
url = "https://fastdl.mongodb.org/osx/mongodb-macos-arm64-${version}.tgz";
- hash = "sha256-IZ47PXsxwEn/e890cNOO/3BOVt8qwY1N94Ql4phcz1g=";
+ hash = "sha256-kNzByPEXi5T3+vr6t/EJuKIDEfGybrsbBqJ8vaEV5tY=";
};
};
in
@@ -57,9 +57,8 @@ stdenv.mkDerivation (finalAttrs: {
installPhase = ''
runHook preInstall
- install -Dm 755 bin/mongod $out/bin/mongod
- install -Dm 755 bin/mongos $out/bin/mongos
-
+ install -Dm 755 bin/mongod -t $out/bin
+ install -Dm 755 bin/mongos -t $out/bin
runHook postInstall
'';
@@ -73,7 +72,6 @@ stdenv.mkDerivation (finalAttrs: {
doInstallCheck = stdenv.hostPlatform.isDarwin;
passthru = {
-
updateScript =
let
script = writeShellApplication {
diff --git a/pkgs/by-name/my/mympd/package.nix b/pkgs/by-name/my/mympd/package.nix
index faeafc52ac60..411397f873ca 100644
--- a/pkgs/by-name/my/mympd/package.nix
+++ b/pkgs/by-name/my/mympd/package.nix
@@ -18,13 +18,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "mympd";
- version = "21.0.1";
+ version = "22.0.0";
src = fetchFromGitHub {
owner = "jcorporation";
repo = "myMPD";
rev = "v${finalAttrs.version}";
- sha256 = "sha256-A4wjnITpI9Cy5kIVljXvmnunsqJXFSi4CqBmlqVcqZM=";
+ sha256 = "sha256-yN+1TnYBRbKAkdzLG0ulMyH6sXQhlUK8d3neYxGsbKE=";
};
nativeBuildInputs = [
diff --git a/pkgs/by-name/nd/ndi-6/package.nix b/pkgs/by-name/nd/ndi-6/package.nix
new file mode 100644
index 000000000000..1e121b7e5764
--- /dev/null
+++ b/pkgs/by-name/nd/ndi-6/package.nix
@@ -0,0 +1,86 @@
+{
+ lib,
+ stdenv,
+ fetchurl,
+ avahi,
+ obs-studio-plugins,
+}:
+
+let
+ versionJSON = lib.importJSON ./version.json;
+ ndiPlatform =
+ if stdenv.hostPlatform.isAarch64 then
+ "aarch64-rpi4-linux-gnueabi"
+ else if stdenv.hostPlatform.isAarch32 then
+ "arm-rpi2-linux-gnueabihf"
+ else if stdenv.hostPlatform.isx86_64 then
+ "x86_64-linux-gnu"
+ else
+ throw "unsupported platform for NDI SDK";
+in
+stdenv.mkDerivation rec {
+ pname = "ndi-6";
+ version = versionJSON.version;
+ majorVersion = lib.versions.major version;
+ installerName = "Install_NDI_SDK_v${majorVersion}_Linux";
+
+ src = fetchurl {
+ url = "https://downloads.ndi.tv/SDK/NDI_SDK_Linux/${installerName}.tar.gz";
+ hash = versionJSON.hash;
+ };
+
+ buildInputs = [ avahi ];
+
+ unpackPhase = ''
+ unpackFile $src
+ echo y | ./${installerName}.sh
+ sourceRoot="NDI SDK for Linux";
+ '';
+
+ installPhase = ''
+ mkdir $out
+ mv bin/${ndiPlatform} $out/bin
+ for i in $out/bin/*; do
+ if [ -L "$i" ]; then continue; fi
+ patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$i"
+ done
+ patchelf --set-rpath "${avahi}/lib:${stdenv.cc.libc}/lib" $out/bin/ndi-record
+ patchelf --set-rpath "${avahi}/lib:${stdenv.cc.libc}/lib" $out/bin/ndi-free-audio
+ mv lib/${ndiPlatform} $out/lib
+ for i in $out/lib/*; do
+ if [ -L "$i" ]; then continue; fi
+ patchelf --set-rpath "${avahi}/lib:${stdenv.cc.libc}/lib" "$i"
+ done
+ rm $out/bin/libndi.so.${majorVersion}
+ ln -s $out/lib/libndi.so.${version} $out/bin/libndi.so.${majorVersion}
+ # Fake ndi version 5 for compatibility with DistroAV (obs plugin using NDI)
+ ln -s $out/lib/libndi.so.${version} $out/bin/libndi.so.5
+ mv include examples $out/
+ mkdir -p $out/share/doc/ndi-6
+ mv licenses $out/share/doc/ndi-6/licenses
+ mv documentation/* $out/share/doc/ndi-6/
+ '';
+
+ # Stripping breaks ndi-record.
+ dontStrip = true;
+
+ passthru.tests = {
+ inherit (obs-studio-plugins) distroav;
+ };
+
+ passthru.updateScript = ./update.py;
+
+ meta = {
+ homepage = "https://ndi.video/ndi-sdk/";
+ description = "NDI Software Developer Kit";
+ platforms = [
+ "x86_64-linux"
+ "i686-linux"
+ "aarch64-linux"
+ "armv7l-linux"
+ ];
+ sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
+ license = lib.licenses.unfree;
+ maintainers = with lib.maintainers; [ globule655 ];
+ };
+}
diff --git a/pkgs/by-name/nd/ndi-6/update.py b/pkgs/by-name/nd/ndi-6/update.py
new file mode 100755
index 000000000000..1f828dab2275
--- /dev/null
+++ b/pkgs/by-name/nd/ndi-6/update.py
@@ -0,0 +1,77 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i python -p "python3.withPackages (ps: with ps; [ ps.absl-py ps.requests ])"
+
+import hashlib
+import io
+import json
+import os.path
+import tarfile
+
+import requests
+from absl import app, flags
+
+BASE_NAME = "Install_NDI_SDK_v6_Linux"
+NDI_SDK_URL = f"https://downloads.ndi.tv/SDK/NDI_SDK_Linux/{BASE_NAME}.tar.gz"
+NDI_EXEC = f"{BASE_NAME}.sh"
+
+NDI_ARCHIVE_MAGIC = b"__NDI_ARCHIVE_BEGIN__\n"
+
+FLAG_out = flags.DEFINE_string("out", None, "Path to read/write version.json from/to.")
+
+
+def find_version_json() -> str:
+ if FLAG_out.value:
+ return FLAG_out.value
+ try_paths = ["pkgs/by-name/nd/ndi-6/version.json", "version.json"]
+ for path in try_paths:
+ if os.path.exists(path):
+ return path
+ raise Exception(
+ "Couldn't figure out where to write version.json; try specifying --out"
+ )
+
+
+def fetch_tarball() -> bytes:
+ r = requests.get(NDI_SDK_URL)
+ r.raise_for_status()
+ return r.content
+
+
+def read_version(tarball: bytes) -> str:
+ # Find the inner script.
+ outer_tarfile = tarfile.open(fileobj=io.BytesIO(tarball), mode="r:gz")
+ eula_script = outer_tarfile.extractfile(NDI_EXEC).read()
+
+ # Now find the archive embedded within the script.
+ archive_start = eula_script.find(NDI_ARCHIVE_MAGIC) + len(NDI_ARCHIVE_MAGIC)
+ inner_tarfile = tarfile.open(
+ fileobj=io.BytesIO(eula_script[archive_start:]), mode="r:gz"
+ )
+
+ # Now find Version.txt...
+ version_txt = (
+ inner_tarfile.extractfile("NDI SDK for Linux/Version.txt")
+ .read()
+ .decode("utf-8")
+ )
+ _, _, version = version_txt.strip().partition(" v")
+ return version
+
+
+def main(argv):
+ tarball = fetch_tarball()
+
+ sha256 = hashlib.sha256(tarball).hexdigest()
+ version = {
+ "hash": f"sha256:{sha256}",
+ "version": read_version(tarball),
+ }
+
+ out_path = find_version_json()
+ with open(out_path, "w") as f:
+ json.dump(version, f)
+ f.write("\n")
+
+
+if __name__ == "__main__":
+ app.run(main)
diff --git a/pkgs/by-name/nd/ndi-6/version.json b/pkgs/by-name/nd/ndi-6/version.json
new file mode 100644
index 000000000000..c4142f42d71f
--- /dev/null
+++ b/pkgs/by-name/nd/ndi-6/version.json
@@ -0,0 +1 @@
+{"hash": "sha256-6iqjexwILth2muLpXWQjDVTvOuMq4jM8KBYnpPmViU8=", "version": "6.1.1"}
diff --git a/pkgs/by-name/ne/netpbm/package.nix b/pkgs/by-name/ne/netpbm/package.nix
index 764bb27699e5..6be3ba013923 100644
--- a/pkgs/by-name/ne/netpbm/package.nix
+++ b/pkgs/by-name/ne/netpbm/package.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
# Determine version and revision from:
# https://sourceforge.net/p/netpbm/code/HEAD/log/?path=/advanced
pname = "netpbm";
- version = "11.10.4";
+ version = "11.10.5";
outputs = [
"bin"
@@ -31,8 +31,8 @@ stdenv.mkDerivation rec {
src = fetchsvn {
url = "https://svn.code.sf.net/p/netpbm/code/advanced";
- rev = "5076";
- sha256 = "sha256-oWGgB0f3w8ohFPgaJ9cyVLTdMZGajzXs95eC1Cs+Tyg=";
+ rev = "5085";
+ sha256 = "sha256-04ObCW+xMvGOkhTwYAhVoBG1QIe0/DKfEYbSpDkEGCU=";
};
nativeBuildInputs = [
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 0e7cf61b00a4..4208fb3dc1d5 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
@@ -366,16 +366,37 @@ def main() -> None:
try:
execute(sys.argv)
except CalledProcessError as ex:
- if logger.level == logging.DEBUG:
- import traceback
-
- traceback.print_exc()
- else:
- print(str(ex), file=sys.stderr)
- # Exit with the error code of the process that failed
- sys.exit(ex.returncode)
+ _handle_called_process_error(ex)
except (Exception, KeyboardInterrupt) as ex:
- if logger.level == logging.DEBUG:
+ if logger.isEnabledFor(logging.DEBUG):
raise
else:
sys.exit(str(ex))
+
+
+def _handle_called_process_error(ex: CalledProcessError) -> None:
+ if logger.isEnabledFor(logging.DEBUG):
+ import traceback
+
+ traceback.print_exception(ex)
+ else:
+ import shlex
+
+ # If cmd is a list, stringify any Paths and join in a single string
+ # This will show much nicer in the error (e.g., as something that
+ # the user can simple copy-paste in terminal to debug)
+ cmd = (
+ shlex.join([str(cmd) for cmd in ex.cmd])
+ if isinstance(ex.cmd, list)
+ else ex.cmd
+ )
+ ex = CalledProcessError(
+ returncode=ex.returncode,
+ cmd=cmd,
+ output=ex.output,
+ stderr=ex.stderr,
+ )
+ print(str(ex), file=sys.stderr)
+
+ # Exit with the error code of the process that failed
+ sys.exit(ex.returncode)
diff --git a/pkgs/by-name/ok/oku/package.nix b/pkgs/by-name/ok/oku/package.nix
new file mode 100644
index 000000000000..cfef18cd733c
--- /dev/null
+++ b/pkgs/by-name/ok/oku/package.nix
@@ -0,0 +1,64 @@
+{
+ lib,
+ rustPlatform,
+ fetchFromGitHub,
+ wrapGAppsHook4,
+ pkg-config,
+ fuse,
+ glib,
+ gtk4,
+ hicolor-icon-theme,
+ libadwaita,
+ pango,
+ webkitgtk_6_0,
+ nix-update-script,
+}:
+
+rustPlatform.buildRustPackage (finalAttrs: {
+ pname = "oku";
+ version = "0.1.1";
+
+ src = fetchFromGitHub {
+ owner = "okubrowser";
+ repo = "oku";
+ tag = "v${finalAttrs.version}";
+ hash = "sha256-utbey8DFXUWU6u2H2unNjCHE3/bwhPdrxAOApC+unGA=";
+ };
+
+ cargoHash = "sha256-rwf9jdr+RDpUcTEG7Xhpph0zuyz6tdFx6hWEZRuxkTY=";
+
+ nativeBuildInputs = [
+ wrapGAppsHook4
+ pkg-config
+ ];
+
+ buildInputs = [
+ fuse
+ glib
+ gtk4
+ hicolor-icon-theme
+ libadwaita
+ pango
+ webkitgtk_6_0
+ ];
+
+ # the program expects icons to be installed but the
+ # program does not install them itself
+ postInstall = ''
+ mkdir -p $out/share/icons
+ cp -r ${finalAttrs.src}/data/hicolor $out/share/icons
+ '';
+
+ passthru.updateScript = nix-update-script { };
+
+ meta = {
+ description = "Browser for the Oku Network and Peer-to-peer sites";
+ homepage = "https://github.com/okubrowser/oku";
+ changelog = "https://github.com/OkuBrowser/oku/releases/tag/v${finalAttrs.version}";
+ license = lib.licenses.agpl3Plus;
+ maintainers = with lib.maintainers; [ ethancedwards8 ];
+ teams = with lib.teams; [ ngi ];
+ mainProgram = "oku";
+ platforms = lib.platforms.linux;
+ };
+})
diff --git a/pkgs/by-name/op/openterface-qt/package.nix b/pkgs/by-name/op/openterface-qt/package.nix
index 6b3d86c32108..06f450712fb3 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.15";
+ version = "0.3.17";
src = fetchFromGitHub {
owner = "TechxArtisanStudio";
repo = "Openterface_QT";
rev = "${final.version}";
- hash = "sha256-wU30m8dQirrLcYNFs4lTKIrng7B4HapHeVsyLR619PY=";
+ hash = "sha256-kXDiQINbP7D2qUqKUAZXEW2iJqKEH/AqMSE2zU+jRHg=";
};
nativeBuildInputs = [
copyDesktopItems
diff --git a/pkgs/by-name/op/optipng/package.nix b/pkgs/by-name/op/optipng/package.nix
index 37fca666e857..af30a5770c62 100644
--- a/pkgs/by-name/op/optipng/package.nix
+++ b/pkgs/by-name/op/optipng/package.nix
@@ -10,11 +10,11 @@
stdenv.mkDerivation rec {
pname = "optipng";
- version = "0.7.8";
+ version = "7.9.1";
src = fetchurl {
url = "mirror://sourceforge/optipng/optipng-${version}.tar.gz";
- hash = "sha256-JaO9aEgfIVAsyqD0wT+E3PayAzjkxOjFHyzvvYUTOYw=";
+ hash = "sha256-wleb5YwsZtrp1jFU7cs9Qn/vZMsA7Ar/B5ydFW7Ebyk=";
};
buildInputs = [ libpng ];
diff --git a/pkgs/by-name/or/orca/package.nix b/pkgs/by-name/or/orca/package.nix
index b600b2abd46c..34a51734082a 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.2";
+ version = "48.6";
format = "other";
src = fetchurl {
url = "mirror://gnome/sources/orca/${lib.versions.major version}/orca-${version}.tar.xz";
- hash = "sha256-oIPaV4ZLVLoqPl9IG1QM/L5hiASjZDZoJ3Jw4mNTaf4=";
+ hash = "sha256-7cUDRODf1yR2tcFLOqclyiaHGOpt2JvE7ib0ULM51pY=";
};
patches = [
diff --git a/pkgs/by-name/pa/papers/package.nix b/pkgs/by-name/pa/papers/package.nix
index afa12ce2a4d5..c2f0f32b8463 100644
--- a/pkgs/by-name/pa/papers/package.nix
+++ b/pkgs/by-name/pa/papers/package.nix
@@ -37,7 +37,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "papers";
- version = "48.2";
+ version = "48.4";
outputs = [
"out"
@@ -47,7 +47,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchurl {
url = "mirror://gnome/sources/papers/${lib.versions.major finalAttrs.version}/papers-${finalAttrs.version}.tar.xz";
- hash = "sha256-HpvFlhNCS/ZVIjxr3Khzri8d2ifPAtc0K/9bVZBRYG0=";
+ hash = "sha256-8RqhxUSsIRJZ4jC0DIBK5kB3M5pXve+j2761f5Fm4/0=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
diff --git a/pkgs/by-name/pa/parallel-disk-usage/package.nix b/pkgs/by-name/pa/parallel-disk-usage/package.nix
index 6075ee223d04..cca97919e092 100644
--- a/pkgs/by-name/pa/parallel-disk-usage/package.nix
+++ b/pkgs/by-name/pa/parallel-disk-usage/package.nix
@@ -5,17 +5,17 @@
}:
rustPlatform.buildRustPackage rec {
pname = "parallel-disk-usage";
- version = "0.11.1";
+ version = "0.12.0";
src = fetchFromGitHub {
owner = "KSXGitHub";
repo = "parallel-disk-usage";
rev = version;
- hash = "sha256-yjNz51L/r1jqgeO0qhe8uR4Pn52acle+EmurZqVpWfI=";
+ hash = "sha256-Wj19lWepCrZe36njX+NMdpwXeRRh3ml9jKbbi7irrpg=";
};
useFetchCargoVendor = true;
- cargoHash = "sha256-v+cJ1Hw4cae/8A1MpHbIfGRVamI58byqfBLNCKKAHWk=";
+ cargoHash = "sha256-UK+jonM/ZBGoCKFcQlCo5OqYtKeU0VIWtx83oBh3lJQ=";
meta = with lib; {
description = "Highly parallelized, blazing fast directory tree analyzer";
diff --git a/pkgs/by-name/pa/paretosecurity/package.nix b/pkgs/by-name/pa/paretosecurity/package.nix
index c6e774528f2d..b7633bd34361 100644
--- a/pkgs/by-name/pa/paretosecurity/package.nix
+++ b/pkgs/by-name/pa/paretosecurity/package.nix
@@ -17,13 +17,13 @@ buildGoModule (finalAttrs: {
webkitgtk_4_1
];
pname = "paretosecurity";
- version = "0.2.34";
+ version = "0.2.36";
src = fetchFromGitHub {
owner = "ParetoSecurity";
repo = "agent";
rev = finalAttrs.version;
- hash = "sha256-tTFdgLpu7RRWx2B2VMROqs1HgG0qMbfUOS5KNLQFHQw=";
+ hash = "sha256-PAH5aswkN8MxK+sZNucXgw50Fc2CkhBLM7+wwxkgAvs=";
};
vendorHash = "sha256-RAKYaNi+MXUfNnEJmZF5g9jFBDOPIVBOZWtqZp2FwWY=";
diff --git a/pkgs/by-name/pe/perses/package.nix b/pkgs/by-name/pe/perses/package.nix
index 88712fdce7c6..969f6fc6a2fd 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";
+ version = "0.51.1";
src = fetchFromGitHub {
owner = "perses";
repo = "perses";
tag = "v${finalAttrs.version}";
- hash = "sha256-frCSuGEnYab4CTQoAuN876dG7Mwn/RJEnWouUuo7aJQ=";
+ hash = "sha256-ZijrDYG/HFPBOLEFqMDzoWhRoo/GiHr0dpjhKBJRAH8=";
};
outputs = [
@@ -49,7 +49,7 @@ buildGoModule (finalAttrs: {
inherit (finalAttrs) version src;
pname = "${finalAttrs.pname}-ui";
sourceRoot = "${finalAttrs.src.name}/${finalAttrs.npmRoot}";
- hash = "sha256-nRE4IV8+wCuYXNAxrl7RfBFdY/ZyAIpXs3pDfCeIh74=";
+ hash = "sha256-yBkdqOLAopEHcS4rbOUL3bLxy27l/gm60nICsL9zigk=";
};
npmRoot = "ui";
diff --git a/pkgs/by-name/pe/perses/plugins.nix b/pkgs/by-name/pe/perses/plugins.nix
index 07aba9f0710b..884dcce6970d 100644
--- a/pkgs/by-name/pe/perses/plugins.nix
+++ b/pkgs/by-name/pe/perses/plugins.nix
@@ -57,9 +57,9 @@
hash = "sha256-61k3G+8bCsUErBCwvFxgnYCPLAqpCIcuF3GEZHacMB0=";
};
"Table" = {
- 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=";
+ version = "0.7.1";
+ url = "https://github.com/perses/plugins/releases/download/table/v0.7.1/Table-0.7.1.tar.gz";
+ hash = "sha256-X/W2vSBddGHbEXzBW2MDxMwSMfVweSi5MtztXTURne8=";
};
"Tempo" = {
version = "0.51.0-rc.3";
diff --git a/pkgs/by-name/pi/pik/package.nix b/pkgs/by-name/pi/pik/package.nix
index fff31310e55c..26e87d656308 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.24.0";
+ version = "0.25.0";
src = fetchFromGitHub {
owner = "jacek-kurlit";
repo = "pik";
rev = version;
- hash = "sha256-LA60IQtR3IYVDdww79XFsTViGeVKi1MzRBB8ibhITK0=";
+ hash = "sha256-3ZYABdrODJJ9RUlhL7mIu/py3GCIFG3AUXQuol7o1Zs=";
};
useFetchCargoVendor = true;
- cargoHash = "sha256-j/BWTCsdAZF3NDj07DY5Mdf6MRGyBe3xpowZZQHSwTU=";
+ cargoHash = "sha256-333MHDuHYKlTUXSm2C19ZRPXeEGDxbQEImdsleUt1QU=";
passthru.tests.version = testers.testVersion { package = pik; };
diff --git a/pkgs/by-name/pr/privatebin/package.nix b/pkgs/by-name/pr/privatebin/package.nix
index 1c9f228d0376..caa8fb582a4a 100644
--- a/pkgs/by-name/pr/privatebin/package.nix
+++ b/pkgs/by-name/pr/privatebin/package.nix
@@ -8,13 +8,13 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "privatebin";
- version = "1.7.6";
+ version = "1.7.8";
src = fetchFromGitHub {
owner = "PrivateBin";
repo = "PrivateBin";
tag = finalAttrs.version;
- hash = "sha256-tKzuPpll1GOMlaIDfs5udXrHcTko6jmWJq4dPuPYy6Y=";
+ hash = "sha256-/28uzEDVEn7uy8c6/oCMFjKDJFPyHH50f890cc6fmjg=";
};
installPhase = ''
diff --git a/pkgs/by-name/pr/prowlarr/deps.json b/pkgs/by-name/pr/prowlarr/deps.json
new file mode 100644
index 000000000000..53ed46c74faf
--- /dev/null
+++ b/pkgs/by-name/pr/prowlarr/deps.json
@@ -0,0 +1,1695 @@
+[
+ {
+ "pname": "AngleSharp",
+ "version": "1.3.0",
+ "hash": "sha256-xq+G2f9FCqS6PjIgfDdZjVRoaxVMiSyOXC7KtMzMpPU="
+ },
+ {
+ "pname": "AngleSharp.Xml",
+ "version": "1.0.0",
+ "hash": "sha256-UzxXWH6qG2BEAH/ULosGkUn2RhghUOguyVTPYl78spM="
+ },
+ {
+ "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": "FluentAssertions",
+ "version": "6.12.0",
+ "hash": "sha256-LGlPe+G7lBwj5u3ttQZiKX2+C195ddRAHPuDkY6x0BE="
+ },
+ {
+ "pname": "FluentValidation",
+ "version": "9.5.4",
+ "hash": "sha256-htL8KbjBt2rn+y+nUIc4lVBypWksQ+hsROxMBDzi5IU="
+ },
+ {
+ "pname": "ImpromptuInterface",
+ "version": "8.0.6",
+ "hash": "sha256-u0J8n7ShZX+lk5aX9copjwgym5TtglRGT7QtPdZeHeA="
+ },
+ {
+ "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.AspNetCore.WebUtilities",
+ "version": "8.0.16",
+ "hash": "sha256-ly0Ba+RUwjM4QrgW4GfCIYFZS6VEZ3lduHzN88bnHZA="
+ },
+ {
+ "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.0.0",
+ "hash": "sha256-+KqiuV8ncy9b1xhtDExh4s4U57tKxqx4pAyr6d//EQU="
+ },
+ {
+ "pname": "Microsoft.Extensions.DependencyInjection",
+ "version": "2.2.0",
+ "hash": "sha256-k/3UKceE1hbgv1sfV9H85hzWvMwooE8PcasHvHMhe1M="
+ },
+ {
+ "pname": "Microsoft.Extensions.DependencyInjection",
+ "version": "8.0.0",
+ "hash": "sha256-+qIDR8hRzreCHNEDtUcPfVHQdurzWPo/mqviCH78+EQ="
+ },
+ {
+ "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": "2.0.1",
+ "hash": "sha256-5VJLg/kfx3LWvCrWPx3407EKElA3m7Yn+NI4KtIyE7Y="
+ },
+ {
+ "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.Http.Headers",
+ "version": "8.0.16",
+ "hash": "sha256-6sB9B+GLETiyGhRMyD4U6ZuQpFtCL/oIPQr+9lB4peU="
+ },
+ {
+ "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.23",
+ "hash": "sha256-YD2oxM/tlNpK5xUeHF85xdqcpBzHioUSyRjpN2A7KcY="
+ },
+ {
+ "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": "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": "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.2.1",
+ "hash": "sha256-g73i3yqr0KnC0etKcAw9CmB6ZFAFvpxZn88s1glsND4="
+ },
+ {
+ "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": "RestSharp.Serializers.SystemTextJson",
+ "version": "106.15.0",
+ "hash": "sha256-Aj3Ro8dkHXTrY2OpyXEQ0vITqz1ItvQRpDE40S3fr7U="
+ },
+ {
+ "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.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": "Swashbuckle.AspNetCore.Swagger",
+ "version": "8.1.4",
+ "hash": "sha256-6iqC/F581my20C+/3ORTM6uVUj+M095cRQyCIAo9AyA="
+ },
+ {
+ "pname": "Swashbuckle.AspNetCore.SwaggerGen",
+ "version": "8.1.4",
+ "hash": "sha256-m0ixgc45HCX2xrvrnhy3WYU/r/basjat535n4rN+vOY="
+ },
+ {
+ "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.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.IO.Pipelines",
+ "version": "8.0.0",
+ "hash": "sha256-LdpB1s4vQzsOODaxiKstLks57X9DTD5D6cPx8DE1wwE="
+ },
+ {
+ "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.ServiceModel.Syndication",
+ "version": "8.0.0",
+ "hash": "sha256-vKgiDGQBcaEQiWpfU6kGRtlJslBQXtFGqF+EVk/u7kI="
+ },
+ {
+ "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": "5.0.2",
+ "hash": "sha256-3eHI5WsaclD9/iV4clLtSAurQxpcJ/qsZA82lkTjoG0="
+ },
+ {
+ "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="
+ },
+ {
+ "pname": "YamlDotNet",
+ "version": "16.3.0",
+ "hash": "sha256-4Gi8wSQ8Rsi/3+LyegJr//A83nxn2fN8LN1wvSSp39Q="
+ }
+]
diff --git a/pkgs/by-name/pr/prowlarr/package.nix b/pkgs/by-name/pr/prowlarr/package.nix
index 1f8fa5a9a97c..0266ae7db6fa 100644
--- a/pkgs/by-name/pr/prowlarr/package.nix
+++ b/pkgs/by-name/pr/prowlarr/package.nix
@@ -1,100 +1,195 @@
{
lib,
- stdenv,
- fetchurl,
- mono,
- libmediainfo,
+ stdenvNoCC,
+ fetchFromGitHub,
+ buildDotnetModule,
+ dotnetCorePackages,
sqlite,
- curl,
- makeWrapper,
- icu,
- dotnet-runtime,
- openssl,
+ fetchYarnDeps,
+ yarn,
+ fixup-yarn-lock,
+ nodejs,
nixosTests,
- zlib,
+ # update script
+ writers,
+ python3Packages,
+ nix,
+ prefetch-yarn-deps,
+ fetchpatch,
+ applyPatches,
}:
let
- pname = "prowlarr";
-
- unsupported = throw "Unsupported system ${stdenv.hostPlatform.system} for ${pname}";
-
- os =
- if stdenv.hostPlatform.isDarwin then
- "osx"
- else if stdenv.hostPlatform.isLinux then
- "linux"
- else
- unsupported;
-
- arch =
- {
- aarch64-darwin = "arm64";
- aarch64-linux = "arm64";
- x86_64-darwin = "x64";
- x86_64-linux = "x64";
- }
- .${stdenv.hostPlatform.system} or unsupported;
-
- hash =
- {
- aarch64-darwin = "sha256-IkFkQoEPVaV+eVp2DkZECXTkzJyyNYTUBsCBdXCBZC8=";
- aarch64-linux = "sha256-uwg5Ec9MC6jLwNdauF1tj2gSkhWdyhvWnUTLt8P1OZw=";
- x86_64-darwin = "sha256-mdDZvKyhKXnHEKvZRH8Di6dZP80AEktnkMOnIZW+Gik=";
- x86_64-linux = "sha256-N0KDb6MsGAJKSh5GSm7aiamjflHRXb06fL1KM2T1+bg=";
- }
- .${stdenv.hostPlatform.system} or unsupported;
+ version = "1.37.0.5076";
+ # The dotnet8 compatibility patches also change `yarn.lock`, so we must pass
+ # the already patched lockfile to `fetchYarnDeps`.
+ src = applyPatches {
+ src = fetchFromGitHub {
+ owner = "Prowlarr";
+ repo = "Prowlarr";
+ tag = "v${version}";
+ hash = "sha256-uSdZaPq/aXehmRKMobwYNs5iYGPv5R76Ix9lCEVdLzM=";
+ };
+ postPatch = ''
+ mv src/NuGet.config NuGet.Config
+ '';
+ patches = lib.optionals (lib.versionOlder version "2.0") [
+ # See https://github.com/Prowlarr/Prowlarr/pull/2399
+ # Unfortunately, the .NET 8 upgrade will be merged into the v2 branch,
+ # and it may take some time for that to become stable.
+ # However, the patches cleanly apply to v1 as well.
+ (fetchpatch {
+ name = "dotnet8-compatibility";
+ url = "https://github.com/Prowlarr/Prowlarr/commit/21c408a7dac8abaac91c05958f18a556220b2304.patch";
+ hash = "sha256-Es7JEXycOJPMXN+Kgv4wRnJA+l6zltUdP2i/wVodTBs=";
+ })
+ (fetchpatch {
+ name = "dotnet8-darwin-compatibility";
+ url = "https://github.com/Prowlarr/Prowlarr/commit/7a1fca5e23a3e75a9a2b2e1073a33eaa2ce865fe.patch";
+ hash = "sha256-bReCHXC3RHgm1MYmE2kGqStt4fuBHowcupLIXT3fEes=";
+ })
+ (fetchpatch {
+ name = "bump-swashbuckle-version";
+ url = "https://github.com/Prowlarr/Prowlarr/commit/8eec321a0eaa396e2f964576e5883890c719b202.patch";
+ hash = "sha256-SOdzGvq8FFYa451zTOw8yD1CDvM++AiFYFHhFW5Soco=";
+ })
+ ];
+ };
+ rid = dotnetCorePackages.systemToDotnetRid stdenvNoCC.hostPlatform.system;
in
-stdenv.mkDerivation rec {
- inherit pname;
- version = "1.36.3.5071";
+buildDotnetModule {
+ pname = "prowlarr";
+ inherit version src;
- src = fetchurl {
- url = "https://github.com/Prowlarr/Prowlarr/releases/download/v${version}/Prowlarr.master.${version}.${os}-core-${arch}.tar.gz";
- inherit hash;
+ strictDeps = true;
+ nativeBuildInputs = [
+ nodejs
+ yarn
+ prefetch-yarn-deps
+ fixup-yarn-lock
+ ];
+
+ yarnOfflineCache = fetchYarnDeps {
+ yarnLock = "${src}/yarn.lock";
+ hash = "sha256-QVyjo/Zshy+61qocGKa3tZS8gnHvvVqenf79FkiXDBM=";
};
- 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/Prowlarr \
- --add-flags "$out/share/${pname}-${version}/Prowlarr.dll" \
- --prefix LD_LIBRARY_PATH : ${
- lib.makeLibraryPath [
- curl
- sqlite
- libmediainfo
- mono
- openssl
- icu
- zlib
- ]
- }
-
- runHook postInstall
+ 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 = ''
+ cp -a -- _output/UI "$out/lib/prowlarr/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 = [ "Prowlarr" ];
+
+ projectFile = [
+ "src/NzbDrone.Console/Prowlarr.Console.csproj"
+ "src/NzbDrone.Mono/Prowlarr.Mono.csproj"
+ ];
+
+ testProjectFile = [
+ "src/Prowlarr.Api.V1.Test/Prowlarr.Api.V1.Test.csproj"
+ "src/NzbDrone.Common.Test/Prowlarr.Common.Test.csproj"
+ "src/NzbDrone.Core.Test/Prowlarr.Core.Test.csproj"
+ "src/NzbDrone.Host.Test/Prowlarr.Host.Test.csproj"
+ "src/NzbDrone.Libraries.Test/Prowlarr.Libraries.Test.csproj"
+ "src/NzbDrone.Mono.Test/Prowlarr.Mono.Test.csproj"
+ "src/NzbDrone.Test.Common/Prowlarr.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 prowlarr.com (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"
+ ];
+
passthru = {
- updateScript = ./update.sh;
- tests.smoke-test = nixosTests.prowlarr;
+ tests = {
+ inherit (nixosTests) prowlarr;
+ };
+
+ updateScript = writers.writePython3 "prowlarr-updater" {
+ libraries = with python3Packages; [ requests ];
+ flakeIgnore = [ "E501" ];
+ makeWrapperArgs = [
+ "--prefix"
+ "PATH"
+ ":"
+ (lib.makeBinPath [
+ nix
+ prefetch-yarn-deps
+ ])
+ ];
+ } ./update.py;
};
meta = {
description = "Indexer manager/proxy built on the popular arr .net/reactjs base stack";
- homepage = "https://wiki.servarr.com/prowlarr";
+ homepage = "https://prowlarr.com/";
changelog = "https://github.com/Prowlarr/Prowlarr/releases/tag/v${version}";
license = lib.licenses.gpl3Only;
- maintainers = with lib.maintainers; [ pizzapim ];
- mainProgram = "Prowlarr";
- platforms = [
- "aarch64-darwin"
- "aarch64-linux"
- "x86_64-darwin"
- "x86_64-linux"
+ maintainers = with lib.maintainers; [
+ pizzapim
+ nyanloutre
];
+ mainProgram = "Prowlarr";
+ # platforms inherited from dotnet-sdk.
};
}
diff --git a/pkgs/by-name/pr/prowlarr/update.py b/pkgs/by-name/pr/prowlarr/update.py
new file mode 100644
index 000000000000..aeee96d2c280
--- /dev/null
+++ b/pkgs/by-name/pr/prowlarr/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", "prowlarr")
+
+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 Prowlarr API instead of GitHub to fetch latest stable release.
+# This corresponds to the Updates tab in the web UI. See also
+# https://github.com/Prowlarr/Prowlarr/blob/7d813ef97a01af0f36a2beaec32e9cd854fc67f3/src/NzbDrone.Core/Update/UpdatePackageProvider.cs
+# https://github.com/Prowlarr/Prowlarr/blob/7d813ef97a01af0f36a2beaec32e9cd854fc67f3/src/NzbDrone.Common/Cloud/ProwlarrCloudRequestBuilder.cs
+version_update = requests.get(
+ f"https://prowlarr.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/Prowlarr/Prowlarr/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/by-name/pr/prowlarr/update.sh b/pkgs/by-name/pr/prowlarr/update.sh
deleted file mode 100755
index 17fcde224089..000000000000
--- a/pkgs/by-name/pr/prowlarr/update.sh
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/usr/bin/env nix-shell
-#!nix-shell -i bash -p curl gnused nix-prefetch jq
-
-set -eou pipefail
-
-dirname="$(dirname "$0")"
-
-updateHash()
-{
- # nixos
- version=$1
- system=$2
-
- # prowlarr
- arch=$3
- os=$4
-
- url="https://github.com/Prowlarr/Prowlarr/releases/download/v$version/Prowlarr.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|$system = \"sha256-[a-zA-Z0-9\/+-=]*\";|$system = \"$sriHash\";|g" "$dirname/package.nix"
-}
-
-updateVersion()
-{
- sed -i "s/version = \"[0-9.]*\";/version = \"$1\";/g" "$dirname/package.nix"
-}
-
-currentVersion=$(cd $dirname && nix eval --raw -f ../../../.. prowlarr.version)
-
-latestTag=$(curl https://api.github.com/repos/Prowlarr/Prowlarr/releases/latest | jq -r ".tag_name")
-latestVersion="$(expr $latestTag : 'v\(.*\)')"
-
-if [[ "$currentVersion" == "$latestVersion" ]]; then
- echo "Prowlarr is up-to-date: ${currentVersion}"
- exit 0
-fi
-
-updateVersion $latestVersion
-
-updateHash $latestVersion aarch64-darwin arm64 osx
-updateHash $latestVersion aarch64-linux arm64 linux
-updateHash $latestVersion x86_64-darwin x64 osx
-updateHash $latestVersion x86_64-linux x64 linux
diff --git a/pkgs/by-name/ql/qlementine-icons/package.nix b/pkgs/by-name/ql/qlementine-icons/package.nix
index fa4d171263e5..7e7ff4fee113 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.9.0";
+ version = "1.10.0";
src = fetchFromGitHub {
owner = "oclero";
repo = "qlementine-icons";
tag = "v${finalAttrs.version}";
- hash = "sha256-Ef4WTay44rMp6A39p0DCc2fXc2y/wGZZaKyj7+wpMJc=";
+ hash = "sha256-zsKlcHphTnz1EAjUD90bN+2W8OtGoict8TsIz/4dGyM=";
};
nativeBuildInputs = [ cmake ];
diff --git a/pkgs/by-name/rd/rdkafka/package.nix b/pkgs/by-name/rd/rdkafka/package.nix
index 241d2f32297f..396f64e2f4a9 100644
--- a/pkgs/by-name/rd/rdkafka/package.nix
+++ b/pkgs/by-name/rd/rdkafka/package.nix
@@ -13,13 +13,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "rdkafka";
- version = "2.10.0";
+ version = "2.10.1";
src = fetchFromGitHub {
owner = "confluentinc";
repo = "librdkafka";
tag = "v${finalAttrs.version}";
- sha256 = "sha256-u4+qskNw18TD59aiSTyv1XOYT2DI24uZnGEAzJ4YBJU=";
+ sha256 = "sha256-+ACn+1fjWEnUB32gUCoMpnq+6YBu+rufPT8LY920DBk=";
};
outputs = [
diff --git a/pkgs/by-name/rs/rspamd/package.nix b/pkgs/by-name/rs/rspamd/package.nix
index be3e28a4ffd3..4a773df49f9a 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.12.0";
+ version = "3.12.1";
src = fetchFromGitHub {
owner = "rspamd";
repo = "rspamd";
rev = version;
- hash = "sha256-4C+bhUkqdn9RelHf6LfcfxVCIiBUCt4BxuI9TGdlIMc=";
+ hash = "sha256-bAkT0msUkgGkjAIlF7lnJbimBKW1NSn2zjkCj3ErJ1I=";
};
hardeningEnable = [ "pie" ];
diff --git a/pkgs/by-name/ru/rundeck/package.nix b/pkgs/by-name/ru/rundeck/package.nix
index 93a77617a353..12da62d4f0f2 100644
--- a/pkgs/by-name/ru/rundeck/package.nix
+++ b/pkgs/by-name/ru/rundeck/package.nix
@@ -12,11 +12,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "rundeck";
- version = "5.12.0-20250512";
+ version = "5.13.0-20250625";
src = fetchurl {
url = "https://packagecloud.io/pagerduty/rundeck/packages/java/org.rundeck/rundeck-${finalAttrs.version}.war/artifacts/rundeck-${finalAttrs.version}.war/download?distro_version_id=167";
- hash = "sha256-LsKxMj+XCKTAMC3aIRnJcJkc2jytfTfu/gi0omGkMEk=";
+ hash = "sha256-RqyJ0/gZQ1gIYSPoYfGGN5VB5ubUMl00pHPlw6v6tBQ=";
};
nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/by-name/sc/scalafmt/package.nix b/pkgs/by-name/sc/scalafmt/package.nix
index f050bfbaa091..ee4735693da9 100644
--- a/pkgs/by-name/sc/scalafmt/package.nix
+++ b/pkgs/by-name/sc/scalafmt/package.nix
@@ -9,7 +9,7 @@
let
baseName = "scalafmt";
- version = "3.9.7";
+ version = "3.9.8";
deps = stdenv.mkDerivation {
name = "${baseName}-deps-${version}";
buildCommand = ''
@@ -19,7 +19,7 @@ let
cp $(< deps) $out/share/java/
'';
outputHashMode = "recursive";
- outputHash = "sha256-x1hEJtzZ0DmFDc7X5Tua3F0BcWz/Atm2zmMr7GgfkUM=";
+ outputHash = "sha256-mZrRb2n+ZE0DmQaH9iSMzPcpdZPtflekkP8bHv6Qw4k=";
};
in
stdenv.mkDerivation {
diff --git a/pkgs/by-name/sc/scalingo/package.nix b/pkgs/by-name/sc/scalingo/package.nix
index c833b17a24ea..17a8e54adfcd 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.35.0";
+ version = "1.35.1";
src = fetchFromGitHub {
owner = pname;
repo = "cli";
rev = version;
- hash = "sha256-3a3YlnSMPfWhYqeP12tx1BAe+hfzaYgPfFAz/rU2cMU=";
+ hash = "sha256-cs7LyK9QyjuaLRvvC3M9T12faWSk8xADuYGxbzptY6Q=";
};
vendorHash = null;
diff --git a/pkgs/by-name/sd/SDL2_mixer/package.nix b/pkgs/by-name/sd/SDL2_mixer/package.nix
index 228f35554a70..a20d57de202c 100644
--- a/pkgs/by-name/sd/SDL2_mixer/package.nix
+++ b/pkgs/by-name/sd/SDL2_mixer/package.nix
@@ -4,7 +4,6 @@
fetchFromGitHub,
flac,
fluidsynth,
- libmodplug,
libogg,
libvorbis,
mpg123,
@@ -40,7 +39,6 @@ stdenv.mkDerivation (finalAttrs: {
SDL2
flac
fluidsynth
- libmodplug
libogg
libvorbis
mpg123
diff --git a/pkgs/by-name/si/signalbackup-tools/package.nix b/pkgs/by-name/si/signalbackup-tools/package.nix
index 42f13ccc81b0..8b7a09eee585 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 = "20250626";
+ version = "20250630-2";
src = fetchFromGitHub {
owner = "bepaald";
repo = "signalbackup-tools";
rev = version;
- hash = "sha256-RZLe0d/zpWu8x/4qVZBY3zatb9bc5kfKy7L0EdK02uw=";
+ hash = "sha256-/zbBiVWqHoKG2h6ExIDIP6ZQH1F8LByZYWbx8wysGDw=";
};
nativeBuildInputs =
diff --git a/pkgs/by-name/sk/skim/package.nix b/pkgs/by-name/sk/skim/package.nix
index 81e8dd3276df..5b4c0ab00030 100644
--- a/pkgs/by-name/sk/skim/package.nix
+++ b/pkgs/by-name/sk/skim/package.nix
@@ -12,7 +12,7 @@
rustPlatform.buildRustPackage rec {
pname = "skim";
- version = "0.20.1";
+ version = "0.20.2";
outputs = [
"out"
@@ -24,7 +24,7 @@ rustPlatform.buildRustPackage rec {
owner = "skim-rs";
repo = "skim";
tag = "v${version}";
- hash = "sha256-6pvvZnhvju8JvRy93/128+6AH935UK5NbMx2kxzCjqY=";
+ hash = "sha256-fEd6t+adYI1jpRapZ/XHpxVWtX0nwUl9ZurIwywSFgk=";
};
postPatch = ''
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
'';
useFetchCargoVendor = true;
- cargoHash = "sha256-Hg7MWz0QAeI8l9if4QHUcUqU+5UI+H+dYw+ryCuRe/Y=";
+ cargoHash = "sha256-oRcqaXWa/eh5QQtTk0NQr90aL/Q0zgxQbPIoMLMtHe8=";
nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/by-name/so/sonarr/package.nix b/pkgs/by-name/so/sonarr/package.nix
index b9750fff28b2..d524ab3cc5c0 100644
--- a/pkgs/by-name/so/sonarr/package.nix
+++ b/pkgs/by-name/so/sonarr/package.nix
@@ -21,7 +21,7 @@
applyPatches,
}:
let
- version = "4.0.14.2939";
+ version = "4.0.15.2941";
# The dotnet8 compatibility patches also change `yarn.lock`, so we must pass
# the already patched lockfile to `fetchYarnDeps`.
src = applyPatches {
@@ -29,7 +29,7 @@ let
owner = "Sonarr";
repo = "Sonarr";
tag = "v${version}";
- hash = "sha256-gtEDrAosI0Kyk712Kf8QDuloUBq9AArKdukX/PKAo8M=";
+ hash = "sha256-1lBUkodBDFpJD7pyHAFb8HRLrbK8wyAboX0A2oBQnTM=";
};
postPatch = ''
mv src/NuGet.Config NuGet.Config
diff --git a/pkgs/by-name/sp/speakersafetyd/package.nix b/pkgs/by-name/sp/speakersafetyd/package.nix
index 51f02ac93fa1..bd845006d12c 100644
--- a/pkgs/by-name/sp/speakersafetyd/package.nix
+++ b/pkgs/by-name/sp/speakersafetyd/package.nix
@@ -2,23 +2,29 @@
stdenv,
lib,
rustPlatform,
- fetchCrate,
+ fetchFromGitHub,
pkg-config,
alsa-lib,
- rust,
udevCheckHook,
+ nix-update-script,
}:
-rustPlatform.buildRustPackage rec {
+rustPlatform.buildRustPackage (finalAttrs: {
pname = "speakersafetyd";
- version = "1.0.2";
+ version = "1.1.2";
- src = fetchCrate {
- inherit pname version;
- hash = "sha256-3DzBNebg1y/+psD2zOpDsnRJmabQLeO1UMxPq9M0CsU=";
+ src = fetchFromGitHub {
+ owner = "AsahiLinux";
+ repo = "speakersafetyd";
+ tag = finalAttrs.version;
+ hash = "sha256-sSGoF2c5HfPM2FBrBJwJ9NvExYijGx6JH1bJp3epfe0=";
};
- useFetchCargoVendor = true;
- cargoHash = "sha256-DnOnqi60JsRX8yqEM/5zZ3yX/rk85/ruwL3aW1FRXKg=";
+
+ cargoHash = "sha256-9XbrIY1VwnHtqi/ZfS952SyjNjA/TJRdOqCsPReZI8o=";
+
+ patches = [
+ ./remove-install-paths.patch
+ ];
nativeBuildInputs = [
pkg-config
@@ -27,32 +33,43 @@ rustPlatform.buildRustPackage rec {
buildInputs = [ alsa-lib ];
postPatch = ''
- substituteInPlace speakersafetyd.service --replace "/usr" "$out"
- substituteInPlace Makefile --replace "target/release" "target/${stdenv.hostPlatform.rust.cargoShortTarget}/$cargoBuildType"
- # creating files in /var does not make sense in a nix package
- substituteInPlace Makefile --replace 'install -dDm0755 $(DESTDIR)/$(VARDIR)/lib/speakersafetyd/blackbox' ""
+ substituteInPlace speakersafetyd.service \
+ --replace-fail "User=speakersafetyd" \
+ "" \
+ --replace-fail "/usr" \
+ "$out"
+
+ substituteInPlace Makefile \
+ --replace-fail "target/release" \
+ "target/${stdenv.hostPlatform.rust.cargoShortTarget}/$cargoBuildType" \
'';
installFlags = [
- "BINDIR=$(out)/bin"
- "UNITDIR=$(out)/lib/systemd/system"
- "UDEVDIR=$(out)/lib/udev/rules.d"
- "SHAREDIR=$(out)/share"
- "TMPFILESDIR=$(out)/lib/tmpfiles.d"
+ "DESTDIR=$(out)"
+ "BINDIR=bin"
+ "UNITDIR=lib/systemd/system"
+ "UDEVDIR=lib/udev/rules.d"
+ "SHAREDIR=share"
+ "TMPFILESDIR=lib/tmpfiles.d"
];
dontCargoInstall = true;
doInstallCheck = true;
- meta = with lib; {
- description = "Userspace daemon written in Rust that implements an analogue of the Texas Instruments Smart Amp speaker protection model";
+ passthru = {
+ updateScript = nix-update-script { };
+ };
+
+ meta = {
+ description = "Userspace daemon that implements the Smart Amp protection model";
mainProgram = "speakersafetyd";
homepage = "https://github.com/AsahiLinux/speakersafetyd";
- maintainers = with maintainers; [
+ maintainers = with lib.maintainers; [
+ normalcea
flokli
yuka
];
- license = licenses.mit;
- platforms = platforms.linux;
+ license = lib.licenses.mit;
+ platforms = lib.platforms.linux;
};
-}
+})
diff --git a/pkgs/by-name/sp/speakersafetyd/remove-install-paths.patch b/pkgs/by-name/sp/speakersafetyd/remove-install-paths.patch
new file mode 100644
index 000000000000..9581dc7ca1e5
--- /dev/null
+++ b/pkgs/by-name/sp/speakersafetyd/remove-install-paths.patch
@@ -0,0 +1,16 @@
+diff --git a/Makefile b/Makefile
+index 41bf7b4..ca14be7 100644
+--- a/Makefile
++++ b/Makefile
+@@ -24,11 +24,8 @@ install-data:
+ install -pm0644 95-speakersafetyd.rules $(DESTDIR)/$(UDEVDIR)/95-speakersafetyd.rules
+ install -dDm0755 $(DESTDIR)/$(SHAREDIR)/speakersafetyd/apple
+ install -pm0644 -t $(DESTDIR)/$(SHAREDIR)/speakersafetyd/apple $(wildcard conf/apple/*)
+- install -dDm0755 -o $(SPEAKERSAFETYD_USER) -g $(SPEAKERSAFETYD_GROUP) $(DESTDIR)/$(VARDIR)/lib/speakersafetyd
+- install -dDm0700 -o $(SPEAKERSAFETYD_USER) -g $(SPEAKERSAFETYD_GROUP) $(DESTDIR)/$(VARDIR)/lib/speakersafetyd/blackbox
+ install -dDm0755 $(DESTDIR)/$(TMPFILESDIR)
+ install -pm0644 speakersafetyd.tmpfiles $(DESTDIR)/$(TMPFILESDIR)/speakersafetyd.conf
+- install -dDm0755 -o $(SPEAKERSAFETYD_USER) -g $(SPEAKERSAFETYD_GROUP) $(DESTDIR)/run/speakersafetyd
+
+ uninstall:
+ rm -f $(DESTDIR)/$(BINDIR)/speakersafetyd $(DESTDIR)/$(UNITDIR)/speakersafetyd.service $(DESTDIR)/$(UDEVDIR)/95-speakersafetyd.rules $(DESTDIR)/$(TMPFILESDIR)/speakersafetyd.conf
diff --git a/pkgs/by-name/sr/srht-gen-oauth-tok/package.nix b/pkgs/by-name/sr/srht-gen-oauth-tok/package.nix
index 547bd4ea229c..2dfa3fc2357c 100644
--- a/pkgs/by-name/sr/srht-gen-oauth-tok/package.nix
+++ b/pkgs/by-name/sr/srht-gen-oauth-tok/package.nix
@@ -32,8 +32,6 @@ stdenv.mkDerivation rec {
installPhase = "install -Dm755 srht-gen-oauth-tok $out/bin/srht-gen-oauth-tok";
- passthru.tests.sourcehut = nixosTests.sourcehut;
-
meta = {
description = "Script to register a new Sourcehut OAuth token for a given user";
longDescription = ''
diff --git a/pkgs/by-name/te/termshot/package.nix b/pkgs/by-name/te/termshot/package.nix
index 52c62b373ce0..0680c614457d 100644
--- a/pkgs/by-name/te/termshot/package.nix
+++ b/pkgs/by-name/te/termshot/package.nix
@@ -8,16 +8,16 @@
buildGoModule (finalAttrs: {
pname = "termshot";
- version = "0.5.0";
+ version = "0.6.0";
src = fetchFromGitHub {
owner = "homeport";
repo = "termshot";
tag = "v${finalAttrs.version}";
- hash = "sha256-fk1Xlgf6WR6dAekv7gZXPfKTEvbnk7FT+mn8UYFbQnQ=";
+ hash = "sha256-utaQhUBpFUpxqE+cEJqlQHyJXSo/4UzrA2uqUd88uaM=";
};
- vendorHash = "sha256-RuIn4JNt4c47p2uiLtmCVYyY0/K1kJpmUboXHA5vhew=";
+ vendorHash = "sha256-3fUvl772pscrQv2wJkRX5wBhAt9fmfIPI7FGq7h7Fqw=";
ldflags = [
"-s"
diff --git a/pkgs/by-name/te/terraform-mcp-server/package.nix b/pkgs/by-name/te/terraform-mcp-server/package.nix
new file mode 100644
index 000000000000..785ca9579902
--- /dev/null
+++ b/pkgs/by-name/te/terraform-mcp-server/package.nix
@@ -0,0 +1,42 @@
+{
+ buildGoModule,
+ fetchFromGitHub,
+ lib,
+}:
+buildGoModule (finalAttrs: {
+ pname = "terraform-mcp-server";
+ version = "0.1.0";
+
+ src = fetchFromGitHub {
+ owner = "hashicorp";
+ repo = "terraform-mcp-server";
+ tag = "v${finalAttrs.version}";
+ hash = "sha256-HYiA0Mfp87czQShiXbS+y20yQzxTn0+hfM0M1kLFZFM=";
+ };
+
+ vendorHash = "sha256-m4J2WGcL0KB1InyciQEmLOSBw779/kagUOIkTwc4CE4=";
+
+ ldflags = [
+ "-X main.version=${finalAttrs.version}"
+ "-X main.commit=${finalAttrs.src.rev}"
+ ];
+
+ subPackages = [ "cmd/terraform-mcp-server" ];
+
+ meta = {
+ description = "Terraform Model Context Protocol (MCP) Server";
+ longDescription = ''
+ The Terraform MCP Server is a Go implementation of the Model Context
+ Protocol (MCP) server that provides seamless integration with Terraform
+ Registry APIs, enabling advanced automation and interaction capabilities
+ for developers and tools.
+
+ This server allows LLMs to interact with Terraform modules, providers,
+ and other Terraform Registry features through structured API interactions.
+ '';
+ homepage = "https://github.com/hashicorp/terraform-mcp-server";
+ license = lib.licenses.mpl20;
+ maintainers = with lib.maintainers; [ connerohnesorge ];
+ mainProgram = "terraform-mcp-server";
+ };
+})
diff --git a/pkgs/by-name/to/totem/package.nix b/pkgs/by-name/to/totem/package.nix
index 4682336189a4..c5e8d2d5c7da 100644
--- a/pkgs/by-name/to/totem/package.nix
+++ b/pkgs/by-name/to/totem/package.nix
@@ -20,6 +20,7 @@
gnome,
grilo,
grilo-plugins,
+ libepoxy,
libpeas,
libportal-gtk3,
libhandy,
@@ -32,11 +33,11 @@
stdenv.mkDerivation rec {
pname = "totem";
- version = "43.1";
+ version = "43.2";
src = fetchurl {
url = "mirror://gnome/sources/totem/${lib.versions.major version}/totem-${version}.tar.xz";
- hash = "sha256-VmgpHpxkRJhcs//k6k8CEvVMK75g3QERTBqVD5R1nm0=";
+ hash = "sha256-CwB9MPu5O5WmBPFISKSX9X/DM6dcLmOKJJly6ZwB5qQ=";
};
nativeBuildInputs = [
@@ -64,6 +65,7 @@ stdenv.mkDerivation rec {
gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-ugly
gst_all_1.gst-libav
+ libepoxy
libpeas
libportal-gtk3
libhandy
diff --git a/pkgs/by-name/tp/tplay/package.nix b/pkgs/by-name/tp/tplay/package.nix
index 2c567f0254a1..3a754ca917c4 100644
--- a/pkgs/by-name/tp/tplay/package.nix
+++ b/pkgs/by-name/tp/tplay/package.nix
@@ -4,7 +4,7 @@
fetchFromGitHub,
pkg-config,
clang,
- ffmpeg,
+ ffmpeg-headless,
openssl,
alsa-lib,
opencv,
@@ -12,17 +12,17 @@
}:
rustPlatform.buildRustPackage rec {
pname = "tplay";
- version = "0.6.0";
+ version = "0.6.3";
src = fetchFromGitHub {
owner = "maxcurzi";
repo = "tplay";
rev = "v${version}";
- hash = "sha256-SRn7kg5FdSimKMFowKNUIan+MrojtNO0apeehIRTzfw=";
+ hash = "sha256-JVkezG2bs99IFOTONeZZRljjbi0EhFf+DMxcfiWI4p4=";
};
useFetchCargoVendor = true;
- cargoHash = "sha256-SzOx9IPp+TjiJpAEX8+GhZ+UEEmqNpI67S40OiYrHfM=";
+ cargoHash = "sha256-LHRTmjAwDPMOP6YQfL01leEzqRKtteU1cnUqL6UeWKk=";
checkFlags = [
# requires network access
"--skip=pipeline::image_pipeline::tests::test_process"
@@ -35,20 +35,19 @@ rustPlatform.buildRustPackage rec {
rustPlatform.bindgenHook
pkg-config
clang
- ffmpeg
makeWrapper
];
buildInputs = [
openssl.dev
alsa-lib.dev
- ffmpeg.dev
+ ffmpeg-headless.dev
opencv
];
postFixup = ''
wrapProgram $out/bin/tplay \
- --prefix PATH : "${lib.makeBinPath [ ffmpeg ]}"
+ --prefix PATH : "${lib.makeBinPath [ ffmpeg-headless ]}"
'';
meta = {
diff --git a/pkgs/by-name/tr/trezor-suite/package.nix b/pkgs/by-name/tr/trezor-suite/package.nix
index 67a8e4ceadad..3d4f9ce1d674 100644
--- a/pkgs/by-name/tr/trezor-suite/package.nix
+++ b/pkgs/by-name/tr/trezor-suite/package.nix
@@ -10,7 +10,7 @@
let
pname = "trezor-suite";
- version = "25.6.2";
+ version = "25.6.3";
suffix =
{
@@ -24,8 +24,8 @@ let
hash =
{
# curl -Lfs https://github.com/trezor/trezor-suite/releases/download/v${version}/latest-linux{-arm64,}.yml | grep ^sha512 | sed 's/: /-/'
- aarch64-linux = "sha512-0As+Hh8fMwTaxMwe1KjBwcDfireKjc+hgDtHfefRTKIVlF5FNb3fuVLN3aaZACuo0J+Hwd0KIaoacRAlV6EOsw==";
- x86_64-linux = "sha512-vOrOOJsvYkrDpYd2E9ojbmL3PSKMpnYG+oznVUUS4dKfvmSP2sb5eXUjP6k6fYlDER2q/7YfXBnVycPqHLXm2Q==";
+ aarch64-linux = "sha512-uOfunT0I/Yt07r0J6/OFYN17N0V41oIJZqieineFVJW0Q+pLQc7Bvme4lfwa1l/gF9ciwwStEJRo3uuWDehFaw==";
+ x86_64-linux = "sha512-OkLee1qCM9jCZiiBOwYwiN0BasGa/OUHqJ4b4qMmr3u69EbchI5rvS3XfZ5GhkCI+9x32CAjUvRxlflAenC8RQ==";
}
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
};
diff --git a/pkgs/by-name/tu/tup/package.nix b/pkgs/by-name/tu/tup/package.nix
index 4bccae8ee432..88d66c069e4b 100644
--- a/pkgs/by-name/tu/tup/package.nix
+++ b/pkgs/by-name/tu/tup/package.nix
@@ -38,7 +38,19 @@ stdenv.mkDerivation rec {
patches = [ ./fusermount-setuid.patch ];
configurePhase = ''
- substituteInPlace src/tup/link.sh --replace '`git describe' '`echo ${version}'
+ substituteInPlace src/tup/link.sh --replace-fail '`git describe' '`echo ${version}'
+
+ for path in Tupfile build.sh src/tup/server/Tupfile ; do
+ substituteInPlace $path --replace-fail "pkg-config" "${stdenv.cc.targetPrefix}pkg-config"
+ done
+
+ # Replace "pcre2-config --libs8" => "pkg-config libpcre2-8 --libs".
+ #
+ # There is prefixed pkg-config for cross-compilation, but no prefixed "pcre2-config".
+ for path in Tupfile Tuprules.tup ; do
+ substituteInPlace $path --replace-fail "pcre2-config" "${stdenv.cc.targetPrefix}pkg-config libpcre2-8 "
+ done
+ substituteInPlace Tupfile --replace-fail "--libs8" "--libs"
cat << EOF > tup.config
CONFIG_CC=${stdenv.cc.targetPrefix}cc
diff --git a/pkgs/by-name/tu/turbo-unwrapped/package.nix b/pkgs/by-name/tu/turbo-unwrapped/package.nix
index c5695c873460..e3cc12762e69 100644
--- a/pkgs/by-name/tu/turbo-unwrapped/package.nix
+++ b/pkgs/by-name/tu/turbo-unwrapped/package.nix
@@ -17,13 +17,13 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "turbo-unwrapped";
- version = "2.5.3";
+ version = "2.5.4";
src = fetchFromGitHub {
owner = "vercel";
repo = "turborepo";
tag = "v${finalAttrs.version}";
- hash = "sha256-QcyRuLd+nMoCyrtX1j+8vFtsgVKC2KsQBAUjsvfG+rM=";
+ hash = "sha256-PwZYi7B5gqiqal6qIFqciv8SFJbRBeVJKfIc29zuIxA=";
};
useFetchCargoVendor = true;
diff --git a/pkgs/by-name/tx/txr/package.nix b/pkgs/by-name/tx/txr/package.nix
index 962ba46ad19d..ff2ee07752a0 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 = "300";
+ version = "301";
src = fetchurl {
url = "https://www.kylheku.com/cgit/txr/snapshot/txr-${finalAttrs.version}.tar.bz2";
- hash = "sha256-BcY8UJxdqm+vyeIyEwH0N1GySbP6wIJ/yg4wIyOYVSg=";
+ hash = "sha256-n0irroNVb5UICjspaASO6IGs+zfiD3gK6LyLA+Bppiw=";
};
buildInputs = [ libffi ];
diff --git a/pkgs/by-name/un/unison-ucm/package.nix b/pkgs/by-name/un/unison-ucm/package.nix
index 2470ff294b87..f5a1bd1d2582 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.41";
+ version = "0.5.42";
src =
{
aarch64-darwin = fetchurl {
url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-macos-arm64.tar.gz";
- hash = "sha256-0Zz8lc1s46y2JC6DAbJjahap+hsz1QuLRl4nGryhSxA=";
+ hash = "sha256-QPUbJTpdvXQvI7zcNnQLrojOLCp+kpcPMc5aHknM5Tk=";
};
x86_64-darwin = fetchurl {
url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-macos-x64.tar.gz";
- hash = "sha256-O9H62uhWnOPQp7s4yUhnUXFyk0vNS4BAddaCru4n1GU=";
+ hash = "sha256-DFIDiTLT3JzAdBN9qgXbU2rbYa2oO1AxNO+R3gizyVI=";
};
x86_64-linux = fetchurl {
url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-linux-x64.tar.gz";
- hash = "sha256-ul5PCDqjfpsMiZZaZaH04Mrv29U9uS/ik8KwFNmXbgg=";
+ hash = "sha256-NDIk0UsW7gOkhJJ7YDY2R1ZJ26uirG1TYPO+nGzR61M=";
};
}
.${stdenv.hostPlatform.system} or (throw "Unsupported platform ${stdenv.hostPlatform.system}");
diff --git a/pkgs/by-name/uv/uv/package.nix b/pkgs/by-name/uv/uv/package.nix
index e6b6dcf024d1..b014165765be 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.16";
+ version = "0.7.17";
src = fetchFromGitHub {
owner = "astral-sh";
repo = "uv";
tag = finalAttrs.version;
- hash = "sha256-E9tFjJwV+zDOxsFdDeX6D8DqD0zFNW8kryeY9FmA63U=";
+ hash = "sha256-XZ0wlnj76iWgK6jvckI+bSo75PFKAbqUm6jLBKt9+ys=";
};
useFetchCargoVendor = true;
- cargoHash = "sha256-Eg4YVqKxjYEPS67qnc0y1Tuy6HAFEy6rCjr7/ZXF3yE=";
+ cargoHash = "sha256-imcz/qzq2p9mwDjaqVzIvz7QY0Hte/WSBNNcLa5Njv0=";
buildInputs = [
rust-jemalloc-sys
diff --git a/pkgs/by-name/va/vault-bin/package.nix b/pkgs/by-name/va/vault-bin/package.nix
index 5ee18954b175..94b1f24d54f4 100644
--- a/pkgs/by-name/va/vault-bin/package.nix
+++ b/pkgs/by-name/va/vault-bin/package.nix
@@ -6,7 +6,7 @@
stdenv.mkDerivation rec {
pname = "vault-bin";
- version = "1.19.5";
+ version = "1.20.0";
src =
let
@@ -20,11 +20,11 @@ stdenv.mkDerivation rec {
aarch64-darwin = "darwin_arm64";
};
hash = selectSystem {
- x86_64-linux = "sha256-y/bXonqVjIHZ44UO1wburoOTcN3SFzLtCYaw+UF9MIk=";
- aarch64-linux = "sha256-radUSrjpnn8L0sIW3I2qxKjSUPx/5cPya4DBJ2J5+hA=";
- i686-linux = "sha256-Pvt+OjoZVMCp9VQ9QLNvc8LcCb8oaGQv0dAdIF/kH9I=";
- x86_64-darwin = "sha256-vs5KD0iIuZESpr2L9c8O2zIGtl3eyvSMRwZiJDMBbwM=";
- aarch64-darwin = "sha256-KSeGNlh0rvkXsBoR8LejDXZQcBgMQAP6PD+ZENN+W28=";
+ x86_64-linux = "sha256-wfp3qQ6vKE/k9lKW+h2LSVG9C/+4yJxsjksg5asfSj4=";
+ aarch64-linux = "sha256-pEnKCiZHrO5xwkfSA1bsqrtASj9BRNTsoTPJdu4hulE=";
+ i686-linux = "sha256-jsQFuiY1F8rSDaqtTdjbOaAfh0/WEITkXkmxgcH8U9g=";
+ x86_64-darwin = "sha256-tT6W9DJu6sehfAkbWmE4Z4MradJM50Ps2iWraQANUok=";
+ aarch64-darwin = "sha256-2bDtbRnMOCF91AZSMaBEgnwLDX44BRHv6Wb1UqZ86Ks=";
};
in
fetchzip {
diff --git a/pkgs/by-name/vi/vintagestory/package.nix b/pkgs/by-name/vi/vintagestory/package.nix
index f2ea4e54f62f..928734a145f9 100644
--- a/pkgs/by-name/vi/vintagestory/package.nix
+++ b/pkgs/by-name/vi/vintagestory/package.nix
@@ -21,11 +21,11 @@
stdenv.mkDerivation rec {
pname = "vintagestory";
- version = "1.20.11";
+ version = "1.20.12";
src = fetchurl {
url = "https://cdn.vintagestory.at/gamefiles/stable/vs_client_linux-x64_${version}.tar.gz";
- hash = "sha256-IOreg6j/jLhOK8jm2AgSnYQrql5R6QxsshvPs8OUcQA=";
+ hash = "sha256-h6YXEZoVVV9IuKkgtK9Z3NTvJogVNHmXdAcKxwfvqcE=";
};
nativeBuildInputs = [
@@ -33,8 +33,6 @@ stdenv.mkDerivation rec {
copyDesktopItems
];
- buildInputs = [ dotnet-runtime_7 ];
-
runtimeLibs = lib.makeLibraryPath (
[
gtk2
@@ -77,30 +75,35 @@ stdenv.mkDerivation rec {
runHook postInstall
'';
- preFixup =
- ''
- makeWrapper ${dotnet-runtime_7}/bin/dotnet $out/bin/vintagestory \
- --prefix LD_LIBRARY_PATH : "${runtimeLibs}" \
- --add-flags $out/share/vintagestory/Vintagestory.dll
- makeWrapper ${dotnet-runtime_7}/bin/dotnet $out/bin/vintagestory-server \
- --prefix LD_LIBRARY_PATH : "${runtimeLibs}" \
- --add-flags $out/share/vintagestory/VintagestoryServer.dll
- ''
- + ''
- find "$out/share/vintagestory/assets/" -not -path "*/fonts/*" -regex ".*/.*[A-Z].*" | while read -r file; do
- local filename="$(basename -- "$file")"
- ln -sf "$filename" "''${file%/*}"/"''${filename,,}"
- done
- '';
+ preFixup = ''
+ makeWrapper ${dotnet-runtime_7}/bin/dotnet $out/bin/vintagestory \
+ --prefix LD_LIBRARY_PATH : "${runtimeLibs}" \
+ --set-default mesa_glthread true \
+ --add-flags $out/share/vintagestory/Vintagestory.dll
- meta = with lib; {
+ makeWrapper ${dotnet-runtime_7}/bin/dotnet $out/bin/vintagestory-server \
+ --prefix LD_LIBRARY_PATH : "${runtimeLibs}" \
+ --set-default mesa_glthread true \
+ --add-flags $out/share/vintagestory/VintagestoryServer.dll
+
+ find "$out/share/vintagestory/assets/" -not -path "*/fonts/*" -regex ".*/.*[A-Z].*" | while read -r file; do
+ local filename="$(basename -- "$file")"
+ ln -sf "$filename" "''${file%/*}"/"''${filename,,}"
+ done
+ '';
+
+ meta = {
description = "In-development indie sandbox game about innovation and exploration";
homepage = "https://www.vintagestory.at/";
- license = licenses.unfree;
- maintainers = with maintainers; [
+ license = lib.licenses.unfree;
+ sourceProvenance = [ lib.sourceTypes.binaryBytecode ];
+ platforms = lib.platforms.linux;
+ maintainers = with lib.maintainers; [
artturin
gigglesquid
niraethm
+ dtomvan
];
+ mainProgram = "vintagestory";
};
}
diff --git a/pkgs/by-name/vu/vulkan-hdr-layer-kwin6/package.nix b/pkgs/by-name/vu/vulkan-hdr-layer-kwin6/package.nix
deleted file mode 100644
index 30cbf761822b..000000000000
--- a/pkgs/by-name/vu/vulkan-hdr-layer-kwin6/package.nix
+++ /dev/null
@@ -1,57 +0,0 @@
-{
- lib,
- stdenv,
- cmake,
- fetchFromGitHub,
- libX11,
- meson,
- ninja,
- pkg-config,
- unstableGitUpdater,
- vulkan-headers,
- vulkan-loader,
- wayland-scanner,
- wayland,
-}:
-
-stdenv.mkDerivation {
- pname = "vulkan-hdr-layer-kwin6";
- version = "0-unstable-2025-05-22";
-
- depsBuildBuild = [ pkg-config ];
-
- nativeBuildInputs = [
- meson
- ninja
- pkg-config
- cmake
- wayland-scanner
- ];
-
- buildInputs = [
- vulkan-headers
- vulkan-loader
- libX11
- wayland
- ];
-
- strictDeps = true;
-
- src = fetchFromGitHub {
- owner = "Zamundaaa";
- repo = "VK_hdr_layer";
- rev = "1384036ea24a9bc38a5c684dac5122d5e3431ae6";
- hash = "sha256-xm0S1vLE8MAov8gf6rN5ZKZAe6NMKfHDlUlmNd332qw=";
- fetchSubmodules = true;
- };
-
- passthru.updateScript = unstableGitUpdater { };
-
- meta = {
- description = "Vulkan Wayland HDR WSI Layer (Xaver Hugl's fork for KWin 6)";
- homepage = "https://github.com/Zamundaaa/VK_hdr_layer";
- license = lib.licenses.mit;
- platforms = lib.platforms.linux;
- maintainers = with lib.maintainers; [ d4rk ];
- };
-}
diff --git a/pkgs/by-name/wa/warp-terminal/versions.json b/pkgs/by-name/wa/warp-terminal/versions.json
index f94041720f7c..b5d77222c423 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-UJAirS6JFFLW0OsOYj8RNUfG85dRHnxXasNw2QHX1Xs=",
- "version": "0.2025.06.20.22.47.stable_05"
+ "hash": "sha256-7/gSUR9h9PzBrTgxERXNjqzJDtqxebjmD0cF3Vx2ySY=",
+ "version": "0.2025.06.25.08.12.stable_01"
},
"linux_x86_64": {
- "hash": "sha256-h0ODaO3SJcZAxFRFBYYjWXQYsRAemGizn/YA7AF36pw=",
- "version": "0.2025.06.20.22.47.stable_05"
+ "hash": "sha256-2VQzEBAAu6YasottOTu3YjQvvXR5gT3DAjGhp63wMNo=",
+ "version": "0.2025.06.25.08.12.stable_01"
},
"linux_aarch64": {
- "hash": "sha256-H4xldFBMpfu6UFGFA/IkA1zPFqhFN6abhfHTRdYNpGA=",
- "version": "0.2025.06.20.22.47.stable_05"
+ "hash": "sha256-5jpW7mUHLshGZUWigAJ8QgmpYnfosJN1JpRLeNvVK3Y=",
+ "version": "0.2025.06.25.08.12.stable_01"
}
}
diff --git a/pkgs/by-name/wa/waybar/package.nix b/pkgs/by-name/wa/waybar/package.nix
index 3d9112626bc6..b9935d5e7d1a 100644
--- a/pkgs/by-name/wa/waybar/package.nix
+++ b/pkgs/by-name/wa/waybar/package.nix
@@ -3,6 +3,7 @@
stdenv,
bash,
fetchFromGitHub,
+ fetchpatch,
SDL2,
alsa-lib,
catch2_3,
@@ -89,6 +90,14 @@ stdenv.mkDerivation (finalAttrs: {
popd
'';
+ patches = [
+ (fetchpatch {
+ name = "waybar-default-icon.patch";
+ url = "https://github.com/Alexays/Waybar/commit/c336bc5466c858ac41dc9afd84f04a5ffec9e292.patch";
+ hash = "sha256-RRGy/aeFX95fW0pT6mXhww2RdEtoOnaT3+dc7iB3bAY=";
+ })
+ ];
+
nativeBuildInputs =
[
meson
diff --git a/pkgs/by-name/wt/wtfutil/package.nix b/pkgs/by-name/wt/wtfutil/package.nix
index 49066e647a2b..e4cb95274bf9 100644
--- a/pkgs/by-name/wt/wtfutil/package.nix
+++ b/pkgs/by-name/wt/wtfutil/package.nix
@@ -11,16 +11,16 @@
buildGoModule rec {
pname = "wtfutil";
- version = "0.43.0";
+ version = "0.44.1";
src = fetchFromGitHub {
owner = "wtfutil";
repo = "wtf";
rev = "v${version}";
- sha256 = "sha256-DFrA4bx+wSOxmt1CVA1oNiYVmcWeW6wpfR5F1tnhyDY=";
+ sha256 = "sha256-xjiNtaEgzJ9izGiYaR35NWpvUHvz54oCR2VYXwVQ8SU=";
};
- vendorHash = "sha256-mQdKw3DeBEkCOtV2/B5lUIHv5EBp+8QSxpA13nFxESw=";
+ vendorHash = "sha256-Jc6kmeOLM3IWLxSwJA+nBdO76B504X/cKQ0UknlLUY4=";
proxyVendor = true;
doCheck = false;
diff --git a/pkgs/by-name/xf/xfsprogs/package.nix b/pkgs/by-name/xf/xfsprogs/package.nix
index 8c6d0fb636fb..08d1aae32cdd 100644
--- a/pkgs/by-name/xf/xfsprogs/package.nix
+++ b/pkgs/by-name/xf/xfsprogs/package.nix
@@ -3,7 +3,6 @@
stdenv,
buildPackages,
fetchurl,
- fetchpatch,
autoreconfHook,
gettext,
pkg-config,
@@ -17,27 +16,13 @@
stdenv.mkDerivation rec {
pname = "xfsprogs";
- version = "6.13.0";
+ version = "6.15.0";
src = fetchurl {
url = "mirror://kernel/linux/utils/fs/xfs/xfsprogs/${pname}-${version}.tar.xz";
- hash = "sha256-BFmTP5PZTIK8J4nnvWN0InPZ10IHza5n3DAyA42ggzc=";
+ hash = "sha256-E7kfdL7vitERN/fZ1xBVVz2R6WG8VbsCRZVvabhM1wQ=";
};
- patches = [
- (fetchurl {
- name = "icu76.patch";
- url = "https://lore.kernel.org/linux-xfs/20250212081649.3502717-1-hi@alyssa.is/raw";
- hash = "sha256-Z7BW0B+/5eHWXdHre++wRtdbU/P6XZqudYx6EK5msIU=";
- })
- # Backport which fixes pkgsCross.armv7l-hf-multiplatform.xfsprogs
- (fetchpatch {
- name = "32-bit.patch";
- url = "https://web.git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git/patch/mkfs/proto.c?id=a5466cee9874412cfdd187f07c5276e1d4ef0fea";
- hash = "sha256-svC7pSbblWfO5Khots2kWWfDMBXUrU35fk5wsdYuPQI=";
- })
- ];
-
outputs = [
"bin"
"dev"
diff --git a/pkgs/by-name/xl/xlog/package.nix b/pkgs/by-name/xl/xlog/package.nix
index a424c48df43f..d9d06ad69ed2 100644
--- a/pkgs/by-name/xl/xlog/package.nix
+++ b/pkgs/by-name/xl/xlog/package.nix
@@ -41,5 +41,6 @@ stdenv.mkDerivation rec {
license = licenses.gpl3;
platforms = platforms.unix;
mainProgram = "xlog";
+ broken = stdenv.hostPlatform.isDarwin;
};
}
diff --git a/pkgs/by-name/xt/xteve/package.nix b/pkgs/by-name/xt/xteve/package.nix
index 39c60136d205..9281d3e3f4ad 100644
--- a/pkgs/by-name/xt/xteve/package.nix
+++ b/pkgs/by-name/xt/xteve/package.nix
@@ -1,5 +1,6 @@
{
lib,
+ stdenv,
buildGoModule,
fetchFromGitHub,
}:
@@ -23,5 +24,6 @@ buildGoModule rec {
license = licenses.mit;
maintainers = with maintainers; [ nrhelmi ];
mainProgram = "xteve";
+ broken = stdenv.hostPlatform.isDarwin;
};
}
diff --git a/pkgs/by-name/za/zap-chip/package.nix b/pkgs/by-name/za/zap-chip/package.nix
index cd665e81cbc0..b3e400b0a544 100644
--- a/pkgs/by-name/za/zap-chip/package.nix
+++ b/pkgs/by-name/za/zap-chip/package.nix
@@ -1,5 +1,6 @@
{
lib,
+ stdenv,
buildNpmPackage,
electron,
fetchFromGitHub,
@@ -87,5 +88,6 @@ buildNpmPackage rec {
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ symphorien ];
mainProgram = "zap" + lib.optionalString (!withGui) "-cli";
+ broken = stdenv.hostPlatform.isDarwin;
};
}
diff --git a/pkgs/data/icons/papirus-maia-icon-theme/default.nix b/pkgs/data/icons/papirus-maia-icon-theme/default.nix
index 3375f5668da8..aed0efe0c1ac 100644
--- a/pkgs/data/icons/papirus-maia-icon-theme/default.nix
+++ b/pkgs/data/icons/papirus-maia-icon-theme/default.nix
@@ -35,6 +35,8 @@ stdenv.mkDerivation rec {
dontDropIconThemeCache = true;
+ dontWrapQtApps = true;
+
postPatch = ''
substituteInPlace CMakeLists.txt --replace /usr "$out"
'';
@@ -45,11 +47,11 @@ stdenv.mkDerivation rec {
done
'';
- meta = with lib; {
+ meta = {
description = "Manjaro variation of Papirus icon theme";
homepage = "https://github.com/Ste74/papirus-maia-icon-theme";
- license = licenses.lgpl3;
- platforms = platforms.linux;
- maintainers = with maintainers; [ romildo ];
+ license = lib.licenses.lgpl3;
+ platforms = lib.platforms.linux;
+ maintainers = with lib.maintainers; [ romildo ];
};
}
diff --git a/pkgs/desktops/deepin/core/dde-shell/default.nix b/pkgs/desktops/deepin/core/dde-shell/default.nix
index be854c40b97a..deba291f1ce8 100644
--- a/pkgs/desktops/deepin/core/dde-shell/default.nix
+++ b/pkgs/desktops/deepin/core/dde-shell/default.nix
@@ -40,6 +40,11 @@ stdenv.mkDerivation (finalAttrs: {
url = "https://github.com/linuxdeepin/dde-shell/commit/936d62a2c20398b9ca6ae28f9101dd288c8b1678.patch";
hash = "sha256-u5TcPy2kZsOLGUgjTGZ5JX3mWnr/rOQ3SWBRyjWEiw4=";
})
+ (fetchpatch {
+ name = "adapt-import-change-of-QtQml-Models-in-Qt-6_9.patch";
+ url = "https://github.com/linuxdeepin/dde-shell/commit/ad92c160508a5eb53fd5af558ef1b1ba881b97ac.patch";
+ hash = "sha256-3GdkbFEt51EP04RQN54EDsGyXkeZoWhbnQAHkwjUeGY=";
+ })
];
diff --git a/pkgs/desktops/lxqt/lxqt-panel/default.nix b/pkgs/desktops/lxqt/lxqt-panel/default.nix
index 4151d837d39c..cd9d4b315b18 100644
--- a/pkgs/desktops/lxqt/lxqt-panel/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-panel/default.nix
@@ -35,13 +35,13 @@
stdenv.mkDerivation rec {
pname = "lxqt-panel";
- version = "2.2.1";
+ version = "2.2.2";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
- hash = "sha256-PKiuFstkUGrRZE4TOvMq8R5991Ay6Ghw17GCtzlybuU=";
+ hash = "sha256-ui+HD2igPiyIOgIKPbgfO4dnfm2rFP/R6oG2pH5g5VY=";
};
nativeBuildInputs = [
diff --git a/pkgs/development/compilers/emscripten/default.nix b/pkgs/development/compilers/emscripten/default.nix
index 9a3ecc553c8e..899e66fda789 100644
--- a/pkgs/development/compilers/emscripten/default.nix
+++ b/pkgs/development/compilers/emscripten/default.nix
@@ -18,7 +18,7 @@
stdenv.mkDerivation rec {
pname = "emscripten";
- version = "4.0.8";
+ version = "4.0.10";
llvmEnv = symlinkJoin {
name = "emscripten-llvm-${version}";
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
name = "emscripten-node-modules-${version}";
inherit pname version src;
- npmDepsHash = "sha256-fGlBtXsYOQ5V4/PRPPIpL3nxb+hUAuj9q7Jw0kL7ph0=";
+ npmDepsHash = "sha256-kObMqg7hyy7E3F+wbdZoeDy5GOgpE2iNTuDVkFvq5ig=";
dontBuild = true;
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
src = fetchFromGitHub {
owner = "emscripten-core";
repo = "emscripten";
- hash = "sha256-xiqi3SMmlfV7NaA61QZAW7BFHu9xOVN9QMWwwDInBeE=";
+ hash = "sha256-b+7NYKRm0IsZ2cK2Vqz8zKhqYlxjlhVSdpdFq0LaUPU=";
rev = version;
};
@@ -61,17 +61,6 @@ stdenv.mkDerivation rec {
(replaceVars ./0001-emulate-clang-sysroot-include-logic.patch {
resourceDir = "${llvmEnv}/lib/clang/${lib.versions.major llvmPackages.llvm.version}/";
})
- # The following patches work around a bug where EM_CACHE is not copied with
- # the correct permissions; the bug will be fixed in the next release (probably 4.0.10).
- # See also: https://github.com/emscripten-core/emscripten/issues/24404
- (fetchpatch {
- url = "https://github.com/emscripten-core/emscripten/commit/99c6e41154f701e423074e33a4fdaf5eea49d073.patch";
- hash = "sha256-/wkhz08NhbgxsrXd7YFfdCGX6LrS2Ncct8dcwxBMsjY=";
- })
- (fetchpatch {
- url = "https://github.com/emscripten-core/emscripten/commit/f4d358d740a238b67a1d6935e71638519d25afa0.patch";
- hash = "sha256-hib5ZAN/R2dH+rTv3nYF37+xKZmeboKxnS+5mkht2lM=";
- })
];
buildPhase = ''
diff --git a/pkgs/development/compilers/flutter/versions/3_32/data.json b/pkgs/development/compilers/flutter/versions/3_32/data.json
index ace17df24812..cbbe122dc72f 100644
--- a/pkgs/development/compilers/flutter/versions/3_32/data.json
+++ b/pkgs/development/compilers/flutter/versions/3_32/data.json
@@ -1,17 +1,17 @@
{
- "version": "3.32.2",
- "engineVersion": "109150893958777c8f2215f6cfd3e89e984e8dea",
+ "version": "3.32.5",
+ "engineVersion": "dd93de6fb1776398bf586cbd477deade1391c7e4",
"engineSwiftShaderHash": "sha256-ATVcuxqPHqHOWYyO7DoX9LdgUiO3INUi7m9Mc6ccc1M=",
"engineSwiftShaderRev": "d040a5bab638bf7c226235c95787ba6288bb6416",
"channel": "stable",
"engineHashes": {
"aarch64-linux": {
- "aarch64-linux": "sha256-l/7p9fPVPIx/CqT4xTUPQLlBU18aZSlimamELMgkAjY=",
- "x86_64-linux": "sha256-l/7p9fPVPIx/CqT4xTUPQLlBU18aZSlimamELMgkAjY="
+ "aarch64-linux": "sha256-IUvraWqQxNba63OI4AVJNerMt6zdq5D5W8SKVMaDRLc=",
+ "x86_64-linux": "sha256-IUvraWqQxNba63OI4AVJNerMt6zdq5D5W8SKVMaDRLc="
},
"x86_64-linux": {
- "aarch64-linux": "sha256-6shoelu1oOcTbzXlFcAOsVMF3b/3RZ2vHuMEXvKyzbo=",
- "x86_64-linux": "sha256-6shoelu1oOcTbzXlFcAOsVMF3b/3RZ2vHuMEXvKyzbo="
+ "aarch64-linux": "sha256-f1GZHMH6LJRSlgT1CSOGscwrkcV3EOxc61KctAXgZcM=",
+ "x86_64-linux": "sha256-f1GZHMH6LJRSlgT1CSOGscwrkcV3EOxc61KctAXgZcM="
}
},
"dartVersion": "3.8.1",
@@ -21,53 +21,53 @@
"x86_64-darwin": "sha256-S3iGDVLollApke2SnXAcV919qsDTVmz5Gf9fTletr00=",
"aarch64-darwin": "sha256-haHQks9N1mBIqRsYg9sOLw7ra7gC708gsTWfKxvIK1c="
},
- "flutterHash": "sha256-bL+WRW9tOLEXeAwZKgwN4y8Vj6s6FOCUm3JJilLCkY8=",
+ "flutterHash": "sha256-qiFYbKUVdRNc2RV6uJAayQ7PrMZWNziAgI8++KEMpxA=",
"artifactHashes": {
"android": {
- "aarch64-darwin": "sha256-VW1JzE6NfpGk2WFyPnvgkhlc+/dgkVtfPJ3HLF2SxjM=",
- "aarch64-linux": "sha256-aNZyIBedC35v2/lePY1UcJYP3Wh0JccPrsABHlhdoOI=",
- "x86_64-darwin": "sha256-VW1JzE6NfpGk2WFyPnvgkhlc+/dgkVtfPJ3HLF2SxjM=",
- "x86_64-linux": "sha256-aNZyIBedC35v2/lePY1UcJYP3Wh0JccPrsABHlhdoOI="
+ "aarch64-darwin": "sha256-JBBlXNXcBbygs7GNCcTYmeSuKOjTKHMZsiuSHiuWWM4=",
+ "aarch64-linux": "sha256-72mofJFv9hVFaPK3sj57fqcF7NvcDgLHD0QILZ6TM7M=",
+ "x86_64-darwin": "sha256-JBBlXNXcBbygs7GNCcTYmeSuKOjTKHMZsiuSHiuWWM4=",
+ "x86_64-linux": "sha256-72mofJFv9hVFaPK3sj57fqcF7NvcDgLHD0QILZ6TM7M="
},
"fuchsia": {
- "aarch64-darwin": "sha256-8Jo1dP2uugp75BjQvvgvxnCJI0oyLlClJ2YaaiSkJzs=",
- "aarch64-linux": "sha256-8Jo1dP2uugp75BjQvvgvxnCJI0oyLlClJ2YaaiSkJzs=",
- "x86_64-darwin": "sha256-8Jo1dP2uugp75BjQvvgvxnCJI0oyLlClJ2YaaiSkJzs=",
- "x86_64-linux": "sha256-8Jo1dP2uugp75BjQvvgvxnCJI0oyLlClJ2YaaiSkJzs="
+ "aarch64-darwin": "sha256-aJmLxwEBV8VronlVcPazczpcVxl30A+y2v6LtpXQ+ug=",
+ "aarch64-linux": "sha256-aJmLxwEBV8VronlVcPazczpcVxl30A+y2v6LtpXQ+ug=",
+ "x86_64-darwin": "sha256-aJmLxwEBV8VronlVcPazczpcVxl30A+y2v6LtpXQ+ug=",
+ "x86_64-linux": "sha256-aJmLxwEBV8VronlVcPazczpcVxl30A+y2v6LtpXQ+ug="
},
"ios": {
- "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="
+ "aarch64-darwin": "sha256-6rI+Pxqqg7K2qcXZSH9/DhwJoJgEJ9+QkoyiAr0CyUo=",
+ "aarch64-linux": "sha256-6rI+Pxqqg7K2qcXZSH9/DhwJoJgEJ9+QkoyiAr0CyUo=",
+ "x86_64-darwin": "sha256-6rI+Pxqqg7K2qcXZSH9/DhwJoJgEJ9+QkoyiAr0CyUo=",
+ "x86_64-linux": "sha256-6rI+Pxqqg7K2qcXZSH9/DhwJoJgEJ9+QkoyiAr0CyUo="
},
"linux": {
- "aarch64-darwin": "sha256-7gGCUYERyMdga0bgxWo2ZCn9yUwIKKBOuzXvNfWS6Bw=",
- "aarch64-linux": "sha256-7gGCUYERyMdga0bgxWo2ZCn9yUwIKKBOuzXvNfWS6Bw=",
- "x86_64-darwin": "sha256-VlkWtHFJc8AbzvQbEL8IzXNpkrz4hIR7yK+gRHH1Qtc=",
- "x86_64-linux": "sha256-VlkWtHFJc8AbzvQbEL8IzXNpkrz4hIR7yK+gRHH1Qtc="
+ "aarch64-darwin": "sha256-/GxeyrWsQdEX5cmFrGiRMKpPt7Hr7CgQf3eSjdcifvI=",
+ "aarch64-linux": "sha256-/GxeyrWsQdEX5cmFrGiRMKpPt7Hr7CgQf3eSjdcifvI=",
+ "x86_64-darwin": "sha256-y6yHQfiWq6G9Nc0qD8ptgqPjYWRyIEu4onwlW/AXSB0=",
+ "x86_64-linux": "sha256-y6yHQfiWq6G9Nc0qD8ptgqPjYWRyIEu4onwlW/AXSB0="
},
"macos": {
- "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="
+ "aarch64-darwin": "sha256-80OvLcvTZ9YxgodTEPo6GF+DrFyQ9tbzAF/6AyDVqIA=",
+ "aarch64-linux": "sha256-80OvLcvTZ9YxgodTEPo6GF+DrFyQ9tbzAF/6AyDVqIA=",
+ "x86_64-darwin": "sha256-80OvLcvTZ9YxgodTEPo6GF+DrFyQ9tbzAF/6AyDVqIA=",
+ "x86_64-linux": "sha256-80OvLcvTZ9YxgodTEPo6GF+DrFyQ9tbzAF/6AyDVqIA="
},
"universal": {
- "aarch64-darwin": "sha256-XXktfE+Rx2kj+4PYlWZmfHCRheWDF1K+kCo1McnjZao=",
- "aarch64-linux": "sha256-jRJ5OLuoV0b/Rd7SpYmyjCL7ED8iWjawvS8ZMAqVowE=",
- "x86_64-darwin": "sha256-lTudK0BzZznIOAc2bTildCLg0ZeLJX19suhG4ZgH1Eo=",
- "x86_64-linux": "sha256-M41bQrf1amzW1QGkq37gNgN5zh3v4/+OuBxp4CWUSqI="
+ "aarch64-darwin": "sha256-MbKydBhX2pT/H5E0sif/aqvMjHSB3ch8e7aiO90daIU=",
+ "aarch64-linux": "sha256-UHb2USyHW1zjC8lDW/NbJEIm+UWvvdl4lRp1s5tSA+c=",
+ "x86_64-darwin": "sha256-iFQbCFOLkD920F4gCrZDAl3cr7o+IXr3EWp5z/wj2OU=",
+ "x86_64-linux": "sha256-zzUQlYs+o/irWlUIZyXJ2+qFRXhhtPQNI+VPcp7uD78="
},
"web": {
- "aarch64-darwin": "sha256-l6/ZekcmlueBP7DdAuQpjGuYc6MFlMSWW4tnU2PixNU=",
- "aarch64-linux": "sha256-l6/ZekcmlueBP7DdAuQpjGuYc6MFlMSWW4tnU2PixNU=",
- "x86_64-darwin": "sha256-l6/ZekcmlueBP7DdAuQpjGuYc6MFlMSWW4tnU2PixNU=",
- "x86_64-linux": "sha256-l6/ZekcmlueBP7DdAuQpjGuYc6MFlMSWW4tnU2PixNU="
+ "aarch64-darwin": "sha256-xaJtvj3UJFnMVe+CLDriQ3BqISlrIflpYXdtNuTlB3g=",
+ "aarch64-linux": "sha256-xaJtvj3UJFnMVe+CLDriQ3BqISlrIflpYXdtNuTlB3g=",
+ "x86_64-darwin": "sha256-xaJtvj3UJFnMVe+CLDriQ3BqISlrIflpYXdtNuTlB3g=",
+ "x86_64-linux": "sha256-xaJtvj3UJFnMVe+CLDriQ3BqISlrIflpYXdtNuTlB3g="
},
"windows": {
- "x86_64-darwin": "sha256-zxVV76R80bRqzJaWCBj9RlLkpB4HmX1iTYcdLAbiqT4=",
- "x86_64-linux": "sha256-zxVV76R80bRqzJaWCBj9RlLkpB4HmX1iTYcdLAbiqT4="
+ "x86_64-darwin": "sha256-fgM3VMvwTGs4MVndmJmjkr3+bpS/sNcyDAnt6EBDzAM=",
+ "x86_64-linux": "sha256-fgM3VMvwTGs4MVndmJmjkr3+bpS/sNcyDAnt6EBDzAM="
}
},
"pubspecLock": {
@@ -156,11 +156,11 @@
"dependency": "direct main",
"description": {
"name": "built_value",
- "sha256": "ea90e81dc4a25a043d9bee692d20ed6d1c4a1662a28c03a96417446c093ed6b4",
+ "sha256": "082001b5c3dc495d4a42f1d5789990505df20d8547d42507c29050af6933ee27",
"url": "https://pub.dev"
},
"source": "hosted",
- "version": "8.9.5"
+ "version": "8.10.1"
},
"checked_yaml": {
"dependency": "direct dev",
@@ -262,45 +262,55 @@
"source": "hosted",
"version": "1.4.0"
},
+ "dart_service_protocol_shared": {
+ "dependency": "direct main",
+ "description": {
+ "name": "dart_service_protocol_shared",
+ "sha256": "1737875c176d7e3d87bb3a359182828b542fe20a0b34198b8d31a81af5c7a76d",
+ "url": "https://pub.dev"
+ },
+ "source": "hosted",
+ "version": "0.0.3"
+ },
"dds": {
"dependency": "direct main",
"description": {
"name": "dds",
- "sha256": "76fc5140ce4e8922711bbe6dfd3713283ecc7f386c52fc7f594cd5f3e6b80633",
+ "sha256": "b80c44468f5549867f65c43b0c6ecf0872261e86beb75087ed6c1d7f82e9db22",
"url": "https://pub.dev"
},
"source": "hosted",
- "version": "5.0.2"
+ "version": "5.0.3"
},
"dds_service_extensions": {
"dependency": "direct main",
"description": {
"name": "dds_service_extensions",
- "sha256": "5a5f0f9af646505f5bb21159c78ae5c275cd8bdb99e1a8e27f2f395c49568743",
+ "sha256": "c514114300ab30a95903fed1fdcf2949d057a0ea961168ec890a2b415b3ec52a",
"url": "https://pub.dev"
},
"source": "hosted",
- "version": "2.0.1"
+ "version": "2.0.2"
},
"devtools_shared": {
"dependency": "direct main",
"description": {
"name": "devtools_shared",
- "sha256": "659e2d65aa5ef5c3551163811c5c6fa1b973b3df80d8cac6f618035edcdc1096",
+ "sha256": "275e48a8a145fa09c7ae433a96fd433c01cc079d39b40acf5ba883236ae2c887",
"url": "https://pub.dev"
},
"source": "hosted",
- "version": "11.2.1"
+ "version": "12.0.0"
},
"dtd": {
"dependency": "direct main",
"description": {
"name": "dtd",
- "sha256": "b8269bc263ef516f3fea23bb47bbbe12a808280ec57245319e538b4767ff6d18",
+ "sha256": "09ddb228b3d1478a093556357692a4c203ff4f9d5f8cda05dfdca0ff3fb7c5d3",
"url": "https://pub.dev"
},
"source": "hosted",
- "version": "2.5.0"
+ "version": "4.0.0"
},
"dwds": {
"dependency": "direct main",
@@ -496,11 +506,11 @@
"dependency": "direct main",
"description": {
"name": "json_rpc_2",
- "sha256": "246b321532f0e8e2ba474b4d757eaa558ae4fdd0688fdbc1e1ca9705f9b8ca0e",
+ "sha256": "3c46c2633aec07810c3d6a2eb08d575b5b4072980db08f1344e66aeb53d6e4a7",
"url": "https://pub.dev"
},
"source": "hosted",
- "version": "3.0.3"
+ "version": "4.0.0"
},
"logging": {
"dependency": "direct main",
@@ -776,11 +786,11 @@
"dependency": "direct main",
"description": {
"name": "sse",
- "sha256": "4389a01d5bc7ef3e90fbc645f8e7c6d8711268adb1f511e14ae9c71de47ee32b",
+ "sha256": "fcc97470240bb37377f298e2bd816f09fd7216c07928641c0560719f50603643",
"url": "https://pub.dev"
},
"source": "hosted",
- "version": "4.1.7"
+ "version": "4.1.8"
},
"stack_trace": {
"dependency": "direct main",
diff --git a/pkgs/development/compilers/llvm/default.nix b/pkgs/development/compilers/llvm/default.nix
index 41500bcba153..e729f60d6ac4 100644
--- a/pkgs/development/compilers/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/default.nix
@@ -33,9 +33,9 @@ let
"19.1.7".officialRelease.sha256 = "sha256-cZAB5vZjeTsXt9QHbP5xluWNQnAHByHtHnAhVDV0E6I=";
"20.1.6".officialRelease.sha256 = "sha256-PfCzECiCM+k0hHqEUSr1TSpnII5nqIxg+Z8ICjmMj0Y=";
"21.0.0-git".gitRelease = {
- rev = "f9fce4975bbad835deba6e639c21a62154dd8c14";
- rev-version = "21.0.0-unstable-2025-06-22";
- sha256 = "sha256-Xu9RD6R6tQDZ0kaSD7N0GTp1TcUV6BK12fobK0qPkIw=";
+ rev = "2d94c08d03ada0a4d3c30a93594d0381946aa85a";
+ rev-version = "21.0.0-unstable-2025-06-29";
+ sha256 = "sha256-waAXH17LNrzbq4kJ1u9EUpYGDky8iEVVCsYpthOrgMY=";
};
} // llvmVersions;
diff --git a/pkgs/development/coq-modules/bignums/default.nix b/pkgs/development/coq-modules/bignums/default.nix
index 6d38525921cf..24acbd14655c 100644
--- a/pkgs/development/coq-modules/bignums/default.nix
+++ b/pkgs/development/coq-modules/bignums/default.nix
@@ -12,14 +12,15 @@
owner = "coq";
inherit version;
defaultVersion =
+ let
+ case = case: out: { inherit case out; };
+ in
with lib.versions;
- lib.switch coq.coq-version (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: case: { inherit case out; }) {
- "9.0.0+rocq${coq.coq-version}" = range "9.0" "9.0";
- "9.0.0+coq${coq.coq-version}" = range "8.13" "8.20";
- "${coq.coq-version}.0" = range "8.6" "8.17";
- }
- )) null;
+ lib.switch coq.coq-version [
+ (case (range "9.0" "9.0") "9.0.0+rocq${coq.coq-version}")
+ (case (range "8.13" "8.20") "9.0.0+coq${coq.coq-version}")
+ (case (range "8.6" "8.17") "${coq.coq-version}.0")
+ ] null;
release."9.0.0+rocq9.0".sha256 = "sha256-ctnwpyNVhryEUA5YEsAImrcJsNMhtBgDSOz+z5Z4R78=";
release."9.0.0+coq8.20".sha256 = "sha256-pkvyDaMXRalc6Uu1eBTuiqTpRauRrzu946c6TavyTKY=";
diff --git a/pkgs/development/coq-modules/coq-elpi/default.nix b/pkgs/development/coq-modules/coq-elpi/default.nix
index baa817b33138..f6308faaf34c 100644
--- a/pkgs/development/coq-modules/coq-elpi/default.nix
+++ b/pkgs/development/coq-modules/coq-elpi/default.nix
@@ -15,18 +15,19 @@ let
elpi-version
else
(
+ let
+ case = case: out: { inherit case out; };
+ in
with lib.versions;
- lib.switch coq.coq-version (lib.lists.sort (x: y: lib.versions.isLe x.out y.out) (
- lib.mapAttrsToList (out: case: { inherit case out; }) {
- "1.11.4" = "8.11";
- "1.12.0" = "8.12";
- "1.13.7" = range "8.13" "8.14";
- "1.15.0" = "8.15";
- "1.17.0" = range "8.16" "8.17";
- "1.18.1" = range "8.18" "8.19";
- "2.0.7" = range "8.20" "9.0";
- }
- )) { }
+ lib.switch coq.coq-version [
+ (case "8.11" "1.11.4")
+ (case "8.12" "1.12.0")
+ (case (range "8.13" "8.14") "1.13.7")
+ (case "8.15" "1.15.0")
+ (case (range "8.16" "8.17") "1.17.0")
+ (case (range "8.18" "8.19") "1.18.1")
+ (case (range "8.20" "9.0") "2.0.7")
+ ] { }
);
elpi = coq.ocamlPackages.elpi.override { version = default-elpi-version; };
propagatedBuildInputs_wo_elpi = [
@@ -38,21 +39,22 @@ let
owner = "LPCIC";
inherit version;
defaultVersion =
+ let
+ case = case: out: { inherit case out; };
+ in
with lib.versions;
- lib.switch coq.coq-version (lib.lists.sort (x: y: lib.versions.isLe x.out y.out) (
- lib.mapAttrsToList (out: case: { inherit case out; }) {
- "2.5.2" = range "8.20" "9.0";
- "2.0.1" = "8.19";
- "2.0.0" = "8.18";
- "1.18.0" = "8.17";
- "1.15.6" = "8.16";
- "1.14.0" = "8.15";
- "1.11.2" = "8.14";
- "1.11.1" = "8.13";
- "1.8.3_8.12" = "8.12";
- "1.6.3_8.11" = "8.11";
- }
- )) null;
+ lib.switch coq.coq-version [
+ (case (range "8.20" "9.0") "2.5.2")
+ (case "8.19" "2.0.1")
+ (case "8.18" "2.0.0")
+ (case "8.17" "1.18.0")
+ (case "8.16" "1.15.6")
+ (case "8.15" "1.14.0")
+ (case "8.14" "1.11.2")
+ (case "8.13" "1.11.1")
+ (case "8.12" "1.8.3_8.12")
+ (case "8.11" "1.6.3_8.11")
+ ] null;
release."2.5.2".sha256 = "sha256-lLzjPrbVB3rrqox528YiheUb0u89R84Xmrgkn0oplOs=";
release."2.5.0".sha256 = "sha256-Z5xjO83X/ZoTQlWnVupGXPH3HuJefr57Kv128I0dltg=";
release."2.4.0".sha256 = "sha256-W2+vVGExLLux8e0nSZESSoMVvrLxhL6dmXkb+JuKiqc=";
diff --git a/pkgs/development/coq-modules/coqeal/default.nix b/pkgs/development/coq-modules/coqeal/default.nix
index 7b0d58845adb..c1810a3730c8 100644
--- a/pkgs/development/coq-modules/coqeal/default.nix
+++ b/pkgs/development/coq-modules/coqeal/default.nix
@@ -17,27 +17,31 @@ let
inherit version;
defaultVersion =
- with lib.versions;
let
- cmc = c: mc: [
- c
- mc
- ];
+ case = coq: mc: out: {
+ cases = [
+ coq
+ mc
+ ];
+ inherit out;
+ };
in
- lib.switch [ coq.coq-version mathcomp.version ] (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: cases: { inherit cases out; }) {
- "2.1.0" = cmc (range "8.20" "9.0") (isGe "2.3.0");
- "2.0.3" = cmc (range "8.16" "8.20") (isGe "2.1.0");
- "2.0.1" = cmc (range "8.16" "8.20") (isGe "2.0.0");
- "2.0.0" = cmc (range "8.16" "8.17") (isGe "2.0.0");
- "1.1.3" = cmc (range "8.15" "8.18") (range "1.15.0" "1.18.0");
- "1.1.1" = cmc (range "8.13" "8.17") (range "1.13.0" "1.18.0");
- "1.1.0" = cmc (range "8.10" "8.15") (range "1.12.0" "1.18.0");
- "1.0.5" = cmc (isGe "8.10") (range "1.11.0" "1.12.0");
- "1.0.4" = cmc (isGe "8.7") "1.11.0";
- "1.0.3" = cmc (isGe "8.7") "1.10.0";
- }
- )) null;
+ with lib.versions;
+ lib.switch
+ [ coq.coq-version mathcomp.version ]
+ [
+ (case (range "8.20" "9.0") (isGe "2.3.0") "2.1.0")
+ (case (range "8.16" "8.20") (isGe "2.1.0") "2.0.3")
+ (case (range "8.16" "8.20") (isGe "2.0.0") "2.0.1")
+ (case (range "8.16" "8.17") (isGe "2.0.0") "2.0.0")
+ (case (range "8.15" "8.18") (range "1.15.0" "1.18.0") "1.1.3")
+ (case (range "8.13" "8.17") (range "1.13.0" "1.18.0") "1.1.1")
+ (case (range "8.10" "8.15") (range "1.12.0" "1.18.0") "1.1.0")
+ (case (isGe "8.10") (range "1.11.0" "1.12.0") "1.0.5")
+ (case (isGe "8.7") "1.11.0" "1.0.4")
+ (case (isGe "8.7") "1.10.0" "1.0.3")
+ ]
+ null;
release."2.1.0".sha256 = "sha256-UoDxy2BKraDyRsO42GXRo26O74OF51biZQGkIMWLf8Y=";
release."2.0.3".sha256 = "sha256-5lDq7IWlEW0EkNzYPu+dA6KOvRgy53W/alikpDr/Kd0=";
diff --git a/pkgs/development/coq-modules/coquelicot/default.nix b/pkgs/development/coq-modules/coquelicot/default.nix
index 274f41d111ad..b9f3ff50a27c 100644
--- a/pkgs/development/coq-modules/coquelicot/default.nix
+++ b/pkgs/development/coq-modules/coquelicot/default.nix
@@ -14,18 +14,19 @@ mkCoqDerivation {
domain = "gitlab.inria.fr";
inherit version;
defaultVersion =
+ let
+ case = case: out: { inherit case out; };
+ in
with lib.versions;
- lib.switch coq.coq-version (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: case: { inherit case out; }) {
- "3.4.3" = range "8.12" "9.0";
- "3.4.2" = range "8.12" "8.20";
- "3.4.0" = range "8.12" "8.18";
- "3.3.0" = range "8.12" "8.17";
- "3.2.0" = range "8.8" "8.16";
- "3.1.0" = range "8.8" "8.13";
- "3.0.2" = range "8.5" "8.9";
- }
- )) null;
+ lib.switch coq.coq-version [
+ (case (range "8.12" "9.0") "3.4.3")
+ (case (range "8.12" "8.20") "3.4.2")
+ (case (range "8.12" "8.18") "3.4.0")
+ (case (range "8.12" "8.17") "3.3.0")
+ (case (range "8.8" "8.16") "3.2.0")
+ (case (range "8.8" "8.13") "3.1.0")
+ (case (range "8.5" "8.9") "3.0.2")
+ ] null;
release."3.4.3".sha256 = "sha256-bzzAIENU2OYTtmdBU9Xw8zyBvz9vqTiqjWSm7RnXXRA=";
release."3.4.2".sha256 = "sha256-aBTF8ZKu67Rb3ryCqFyejUXf/65KgG8i5je/ZMFSrj4=";
release."3.4.1".sha256 = "sha256-REhvIBl3EaL8CQqI34Gn7Xjf9NhPI3nrUAO26pSLbm0=";
diff --git a/pkgs/development/coq-modules/deriving/default.nix b/pkgs/development/coq-modules/deriving/default.nix
index 0dffe5e50e41..bfa2e99a481e 100644
--- a/pkgs/development/coq-modules/deriving/default.nix
+++ b/pkgs/development/coq-modules/deriving/default.nix
@@ -13,21 +13,25 @@ mkCoqDerivation {
inherit version;
defaultVersion =
- with lib.versions;
let
- cmc = c: mc: [
- c
- mc
- ];
+ case = coq: mc: out: {
+ cases = [
+ coq
+ mc
+ ];
+ inherit out;
+ };
in
- lib.switch [ coq.coq-version ssreflect.version ] (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: cases: { inherit cases out; }) {
- "0.2.2" = cmc (range "8.17" "9.0") (range "2.0.0" "2.4.0");
- "0.2.1" = cmc (range "8.17" "9.0") (range "2.0.0" "2.3.0");
- "0.2.0" = cmc (range "8.17" "8.20") (range "2.0.0" "2.2.0");
- "0.1.1" = cmc (range "8.11" "8.20") (isLe "2.0.0");
- }
- )) null;
+ with lib.versions;
+ lib.switch
+ [ coq.coq-version ssreflect.version ]
+ [
+ (case (range "8.17" "9.0") (range "2.0.0" "2.4.0") "0.2.2")
+ (case (range "8.17" "9.0") (range "2.0.0" "2.3.0") "0.2.1")
+ (case (range "8.17" "8.20") (range "2.0.0" "2.2.0") "0.2.0")
+ (case (range "8.11" "8.20") (isLe "2.0.0") "0.1.1")
+ ]
+ null;
releaseRev = v: "v${v}";
diff --git a/pkgs/development/coq-modules/dpdgraph/default.nix b/pkgs/development/coq-modules/dpdgraph/default.nix
index d48290887f22..936e2f892f58 100644
--- a/pkgs/development/coq-modules/dpdgraph/default.nix
+++ b/pkgs/development/coq-modules/dpdgraph/default.nix
@@ -15,24 +15,26 @@ mkCoqDerivation {
owner = "Karmaki";
repo = "coq-dpdgraph";
inherit version;
- defaultVersion = lib.switch coq.coq-version (lib.lists.sort (x: y: lib.versions.isLe x.out y.out) (
- lib.mapAttrsToList (out: case: { inherit case out; }) {
- "1.0+8.20" = "8.20";
- "1.0+8.19" = "8.19";
- "1.0+8.18" = "8.18";
- "1.0+8.17" = "8.17";
- "1.0+8.16" = "8.16";
- "1.0+8.15" = "8.15";
- "1.0+8.14" = "8.14";
- "1.0+8.13" = "8.13";
- "0.6.8" = "8.12";
- "0.6.7" = "8.11";
- "0.6.6" = "8.10";
- "0.6.5" = "8.9";
- "0.6.3" = "8.8";
- "0.6.2" = "8.7";
- }
- )) null;
+ defaultVersion =
+ let
+ case = case: out: { inherit case out; };
+ in
+ lib.switch coq.coq-version [
+ (case "8.20" "1.0+8.20")
+ (case "8.19" "1.0+8.19")
+ (case "8.18" "1.0+8.18")
+ (case "8.17" "1.0+8.17")
+ (case "8.16" "1.0+8.16")
+ (case "8.15" "1.0+8.15")
+ (case "8.14" "1.0+8.14")
+ (case "8.13" "1.0+8.13")
+ (case "8.12" "0.6.8")
+ (case "8.11" "0.6.7")
+ (case "8.10" "0.6.6")
+ (case "8.9" "0.6.5")
+ (case "8.8" "0.6.3")
+ (case "8.7" "0.6.2")
+ ] null;
release."1.0+8.20".sha256 = "sha256-szfH/OksCH3SCbcFjwEvLwHE5avmHp1vYiJM6KAXFqs=";
release."1.0+8.19".sha256 = "sha256-L1vjEydYiwDFTXES3sgfdaO/D50AbTJKBXUKUCgbpto=";
diff --git a/pkgs/development/coq-modules/equations/default.nix b/pkgs/development/coq-modules/equations/default.nix
index 0ab9f55039ed..9c415098e663 100644
--- a/pkgs/development/coq-modules/equations/default.nix
+++ b/pkgs/development/coq-modules/equations/default.nix
@@ -12,26 +12,28 @@
repo = "Coq-Equations";
opam-name = "rocq-equations";
inherit version;
- defaultVersion = lib.switch coq.coq-version (lib.lists.sort (x: y: lib.versions.isLe x.out y.out) (
- lib.mapAttrsToList (out: case: { inherit case out; }) {
- "1.3.1+9.0" = "9.0";
- "1.3.1+8.20" = "8.20";
- "1.3+8.19" = "8.19";
- "1.3+8.18" = "8.18";
- "1.3+8.17" = "8.17";
- "1.3+8.16" = "8.16";
- "1.3+8.15" = "8.15";
- "1.3+8.14" = "8.14";
- "1.3+8.13" = "8.13";
- "1.2.4+coq8.12" = "8.12";
- "1.2.4+coq8.11" = "8.11";
- "1.2.1+coq8.10-2" = "8.10";
- "1.2.1+coq8.9" = "8.9";
- "1.2+coq8.8" = "8.8";
- "1.0+coq8.7" = "8.7";
- "1.0+coq8.6" = "8.6";
- }
- )) null;
+ defaultVersion =
+ let
+ case = case: out: { inherit case out; };
+ in
+ lib.switch coq.coq-version [
+ (case "9.0" "1.3.1+9.0")
+ (case "8.20" "1.3.1+8.20")
+ (case "8.19" "1.3+8.19")
+ (case "8.18" "1.3+8.18")
+ (case "8.17" "1.3+8.17")
+ (case "8.16" "1.3+8.16")
+ (case "8.15" "1.3+8.15")
+ (case "8.14" "1.3+8.14")
+ (case "8.13" "1.3+8.13")
+ (case "8.12" "1.2.4+coq8.12")
+ (case "8.11" "1.2.4+coq8.11")
+ (case "8.10" "1.2.1+coq8.10-2")
+ (case "8.9" "1.2.1+coq8.9")
+ (case "8.8" "1.2+coq8.8")
+ (case "8.7" "1.0+coq8.7")
+ (case "8.6" "1.0+coq8.6")
+ ] null;
release."1.0+coq8.6".version = "1.0";
release."1.0+coq8.6".rev = "v1.0";
diff --git a/pkgs/development/coq-modules/extructures/default.nix b/pkgs/development/coq-modules/extructures/default.nix
index 0635ea5f05e2..cfb2e819e22a 100644
--- a/pkgs/development/coq-modules/extructures/default.nix
+++ b/pkgs/development/coq-modules/extructures/default.nix
@@ -13,22 +13,26 @@
inherit version;
defaultVersion =
- with lib.versions;
let
- cmc = c: mc: [
- c
- mc
- ];
+ case = coq: mc: out: {
+ cases = [
+ coq
+ mc
+ ];
+ inherit out;
+ };
in
- lib.switch [ coq.coq-version mathcomp-boot.version ] (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: cases: { inherit cases out; }) {
- "0.5.0" = cmc (range "8.17" "9.0") (range "2.0.0" "2.4.0");
- "0.4.0" = cmc (range "8.17" "8.20") (range "2.0.0" "2.3.0");
- "0.3.1" = cmc (range "8.11" "8.20") (range "1.12.0" "1.19.0");
- "0.3.0" = cmc (range "8.11" "8.14") (isLe "1.12.0");
- "0.2.2" = cmc (range "8.10" "8.12") (isLe "1.12.0");
- }
- )) null;
+ with lib.versions;
+ lib.switch
+ [ coq.coq-version mathcomp-boot.version ]
+ [
+ (case (range "8.17" "9.0") (range "2.0.0" "2.4.0") "0.5.0")
+ (case (range "8.17" "8.20") (range "2.0.0" "2.3.0") "0.4.0")
+ (case (range "8.11" "8.20") (range "1.12.0" "1.19.0") "0.3.1")
+ (case (range "8.11" "8.14") (isLe "1.12.0") "0.3.0")
+ (case (range "8.10" "8.12") (isLe "1.12.0") "0.2.2")
+ ]
+ null;
releaseRev = v: "v${v}";
diff --git a/pkgs/development/coq-modules/flocq/default.nix b/pkgs/development/coq-modules/flocq/default.nix
index 9f83232d6504..1d7871089fa9 100644
--- a/pkgs/development/coq-modules/flocq/default.nix
+++ b/pkgs/development/coq-modules/flocq/default.nix
@@ -14,18 +14,19 @@ mkCoqDerivation {
domain = "gitlab.inria.fr";
inherit version;
defaultVersion =
+ let
+ case = case: out: { inherit case out; };
+ in
with lib.versions;
- lib.switch coq.coq-version (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: case: { inherit case out; }) {
- "4.2.1" = range "8.15" "9.0";
- "4.2.0" = range "8.14" "8.20";
- "4.1.3" = range "8.14" "8.18";
- "4.1.1" = range "8.14" "8.17";
- "4.1.0" = range "8.14" "8.16";
- "3.4.3" = range "8.7" "8.15";
- "2.6.1" = range "8.5" "8.8";
- }
- )) null;
+ lib.switch coq.coq-version [
+ (case (range "8.15" "9.0") "4.2.1")
+ (case (range "8.14" "8.20") "4.2.0")
+ (case (range "8.14" "8.18") "4.1.3")
+ (case (range "8.14" "8.17") "4.1.1")
+ (case (range "8.14" "8.16") "4.1.0")
+ (case (range "8.7" "8.15") "3.4.3")
+ (case (range "8.5" "8.8") "2.6.1")
+ ] null;
release."4.2.1".sha256 = "sha256-W5hcAm0GGmNsvre79/iGNcoBwFzStC4G177hZ3ds/4E=";
release."4.2.0".sha256 = "sha256-uTeo4GCs6wTLN3sLKsj0xLlt1fUDYfozXtq6iooLUgM=";
release."4.1.4".sha256 = "sha256-Use6Mlx79yef1CkCPyGoOItsD69B9KR+mQArCtmre4s=";
diff --git a/pkgs/development/coq-modules/fourcolor/default.nix b/pkgs/development/coq-modules/fourcolor/default.nix
index 10f11f7f236b..7270ac6ffd14 100644
--- a/pkgs/development/coq-modules/fourcolor/default.nix
+++ b/pkgs/development/coq-modules/fourcolor/default.nix
@@ -22,22 +22,26 @@ mkCoqDerivation {
inherit version;
defaultVersion =
- with lib.versions;
let
- cmc = c: mc: [
- c
- mc
- ];
+ case = coq: mc: out: {
+ cases = [
+ coq
+ mc
+ ];
+ inherit out;
+ };
in
- lib.switch [ coq.coq-version mathcomp.version ] (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: cases: { inherit cases out; }) {
- "1.4.1" = cmc (isGe "8.16") (isGe "2.0");
- "1.3.0" = cmc (isGe "8.16") "2.0.0";
- "1.2.5" = cmc (isGe "8.11") (range "1.12" "1.19");
- "1.2.4" = cmc (isGe "8.11") (range "1.11" "1.14");
- "1.2.3" = cmc (isLe "8.13") (lib.pred.inter (isGe "1.11.0") (isLt "1.13"));
- }
- )) null;
+ with lib.versions;
+ lib.switch
+ [ coq.coq-version mathcomp.version ]
+ [
+ (case (isGe "8.16") (isGe "2.0") "1.4.1")
+ (case (isGe "8.16") "2.0.0" "1.3.0")
+ (case (isGe "8.11") (range "1.12" "1.19") "1.2.5")
+ (case (isGe "8.11") (range "1.11" "1.14") "1.2.4")
+ (case (isLe "8.13") (lib.pred.inter (isGe "1.11.0") (isLt "1.13")) "1.2.3")
+ ]
+ null;
propagatedBuildInputs = [
mathcomp.boot
diff --git a/pkgs/development/coq-modules/gaia/default.nix b/pkgs/development/coq-modules/gaia/default.nix
index 3157176a6e4b..a716a1ad0363 100644
--- a/pkgs/development/coq-modules/gaia/default.nix
+++ b/pkgs/development/coq-modules/gaia/default.nix
@@ -22,21 +22,25 @@ mkCoqDerivation {
inherit version;
defaultVersion =
- with lib.versions;
let
- cmc = c: mc: [
- c
- mc
- ];
+ case = coq: mc: out: {
+ cases = [
+ coq
+ mc
+ ];
+ inherit out;
+ };
in
- lib.switch [ coq.coq-version mathcomp.version ] (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: cases: { inherit cases out; }) {
- "2.3" = cmc (range "8.16" "9.0") (range "2.0" "2.4");
- "2.2" = cmc (range "8.16" "9.0") (range "2.0" "2.3");
- "1.17" = cmc (range "8.10" "8.18") (range "1.12.0" "1.18.0");
- "1.11" = cmc (range "8.10" "8.12") "1.11.0";
- }
- )) null;
+ with lib.versions;
+ lib.switch
+ [ coq.coq-version mathcomp.version ]
+ [
+ (case (range "8.16" "9.0") (range "2.0" "2.4") "2.3")
+ (case (range "8.16" "9.0") (range "2.0" "2.3") "2.2")
+ (case (range "8.10" "8.18") (range "1.12.0" "1.18.0") "1.17")
+ (case (range "8.10" "8.12") "1.11.0" "1.11")
+ ]
+ null;
propagatedBuildInputs = [
mathcomp.boot
diff --git a/pkgs/development/coq-modules/graph-theory/default.nix b/pkgs/development/coq-modules/graph-theory/default.nix
index ab4eb73fc7e9..f600a46b4a93 100644
--- a/pkgs/development/coq-modules/graph-theory/default.nix
+++ b/pkgs/development/coq-modules/graph-theory/default.nix
@@ -24,23 +24,27 @@ mkCoqDerivation {
inherit version;
defaultVersion =
- with lib.versions;
let
- cmc = c: mc: [
- c
- mc
- ];
+ case = coq: mc: out: {
+ cases = [
+ coq
+ mc
+ ];
+ inherit out;
+ };
in
- lib.switch [ coq.coq-version mathcomp.version ] (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: cases: { inherit cases out; }) {
- "0.9.6" = cmc (range "8.18" "9.0") (range "2.0.0" "2.4.0");
- "0.9.4" = cmc (range "8.16" "8.19") (range "2.0.0" "2.3.0");
- "0.9.3" = cmc (range "8.16" "8.18") (range "2.0.0" "2.1.0");
- "0.9.2" = cmc (range "8.14" "8.18") (range "1.13.0" "1.18.0");
- "0.9.1" = cmc (range "8.14" "8.16") (range "1.13.0" "1.14.0");
- "0.9" = cmc (range "8.12" "8.13") (range "1.12.0" "1.14.0");
- }
- )) null;
+ with lib.versions;
+ lib.switch
+ [ coq.coq-version mathcomp.version ]
+ [
+ (case (range "8.18" "9.0") (range "2.0.0" "2.4.0") "0.9.6")
+ (case (range "8.16" "8.19") (range "2.0.0" "2.3.0") "0.9.4")
+ (case (range "8.16" "8.18") (range "2.0.0" "2.1.0") "0.9.3")
+ (case (range "8.14" "8.18") (range "1.13.0" "1.18.0") "0.9.2")
+ (case (range "8.14" "8.16") (range "1.13.0" "1.14.0") "0.9.1")
+ (case (range "8.12" "8.13") (range "1.12.0" "1.14.0") "0.9")
+ ]
+ null;
propagatedBuildInputs = [
mathcomp.algebra
diff --git a/pkgs/development/coq-modules/hierarchy-builder/default.nix b/pkgs/development/coq-modules/hierarchy-builder/default.nix
index fc57e1b44834..cf37bf147d4c 100644
--- a/pkgs/development/coq-modules/hierarchy-builder/default.nix
+++ b/pkgs/development/coq-modules/hierarchy-builder/default.nix
@@ -14,20 +14,21 @@ let
owner = "math-comp";
inherit version;
defaultVersion =
+ let
+ case = case: out: { inherit case out; };
+ in
with lib.versions;
- lib.switch coq.coq-version (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: case: { inherit case out; }) {
- "1.9.1" = range "8.20" "9.0";
- "1.8.0" = range "8.19" "8.20";
- "1.7.1" = range "8.18" "8.20";
- "1.6.0" = range "8.16" "8.18";
- "1.5.0" = range "8.15" "8.18";
- "1.4.0" = range "8.15" "8.17";
- "1.2.0" = range "8.13" "8.14";
- "1.1.0" = range "8.12" "8.13";
- "0.10.0" = isEq "8.11";
- }
- )) null;
+ lib.switch coq.coq-version [
+ (case (range "8.20" "9.0") "1.9.1")
+ (case (range "8.19" "8.20") "1.8.0")
+ (case (range "8.18" "8.20") "1.7.1")
+ (case (range "8.16" "8.18") "1.6.0")
+ (case (range "8.15" "8.18") "1.5.0")
+ (case (range "8.15" "8.17") "1.4.0")
+ (case (range "8.13" "8.14") "1.2.0")
+ (case (range "8.12" "8.13") "1.1.0")
+ (case (isEq "8.11") "0.10.0")
+ ] null;
release."1.9.1".sha256 = "sha256-AiS0ezMyfIYlXnuNsVLz1GlKQZzJX+ilkrKkbo0GrF0=";
release."1.8.1".sha256 = "sha256-Z0WAHDyycqgL+Le/zNfEAoLWzFb7WIL+3G3vEBExlb4=";
release."1.8.0".sha256 = "sha256-4s/4ZZKj5tiTtSHGIM8Op/Pak4Vp52WVOpd4l9m19fY=";
diff --git a/pkgs/development/coq-modules/http/default.nix b/pkgs/development/coq-modules/http/default.nix
index 926f2b743712..9d35d8c6ca84 100644
--- a/pkgs/development/coq-modules/http/default.nix
+++ b/pkgs/development/coq-modules/http/default.nix
@@ -15,13 +15,12 @@ mkCoqDerivation {
defaultVersion =
let
- inherit (lib.versions) isLe range;
+ case = case: out: { inherit case out; };
+ inherit (lib.versions) range;
in
- lib.switch coq.coq-version (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: case: { inherit case out; }) {
- "0.2.1" = range "8.14" "8.19";
- }
- )) null;
+ lib.switch coq.coq-version [
+ (case (range "8.14" "8.19") "0.2.1")
+ ] null;
release = {
"0.2.1".sha256 = "sha256-CIcaXEojNdajXNoMBjGlQRc1sOJSKgUlditNxbNSPgk=";
};
diff --git a/pkgs/development/coq-modules/hydra-battles/default.nix b/pkgs/development/coq-modules/hydra-battles/default.nix
index 648a6d3229fc..985cfd2853bf 100644
--- a/pkgs/development/coq-modules/hydra-battles/default.nix
+++ b/pkgs/development/coq-modules/hydra-battles/default.nix
@@ -19,13 +19,14 @@
inherit version;
defaultVersion =
+ let
+ case = case: out: { inherit case out; };
+ in
with lib.versions;
- lib.switch coq.coq-version (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: case: { inherit case out; }) {
- "0.9" = range "8.13" "8.16";
- "0.4" = range "8.11" "8.12";
- }
- )) null;
+ lib.switch coq.coq-version [
+ (case (range "8.13" "8.16") "0.9")
+ (case (range "8.11" "8.12") "0.4")
+ ] null;
useDune = true;
diff --git a/pkgs/development/coq-modules/interval/default.nix b/pkgs/development/coq-modules/interval/default.nix
index 9ed1576170a0..d46d4cf043c1 100644
--- a/pkgs/development/coq-modules/interval/default.nix
+++ b/pkgs/development/coq-modules/interval/default.nix
@@ -18,20 +18,23 @@ mkCoqDerivation rec {
domain = "gitlab.inria.fr";
inherit version;
defaultVersion =
+ let
+ case = case: out: { inherit case out; };
+ in
with lib.versions;
- lib.switch coq.coq-version (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: case: { inherit case out; }) {
- "4.11.1" = range "8.13" "8.20";
- "4.10.0" = range "8.12" "8.19";
- "4.9.0" = range "8.12" "8.18";
- "4.8.0" = range "8.12" "8.17";
- "4.6.0" = range "8.12" "8.16";
- "4.5.2" = range "8.8" "8.16";
- "4.0.0" = range "8.8" "8.12";
- "3.4.2" = range "8.7" "8.11";
- "3.3.0" = range "8.5" "8.6";
- }
- )) null;
+ lib.switch coq.coq-version [
+ (case (range "8.13" "9.0") "4.11.2")
+ (case (range "8.13" "8.20") "4.11.1")
+ (case (range "8.12" "8.19") "4.10.0")
+ (case (range "8.12" "8.18") "4.9.0")
+ (case (range "8.12" "8.17") "4.8.0")
+ (case (range "8.12" "8.16") "4.6.0")
+ (case (range "8.8" "8.16") "4.5.2")
+ (case (range "8.8" "8.12") "4.0.0")
+ (case (range "8.7" "8.11") "3.4.2")
+ (case (range "8.5" "8.6") "3.3.0")
+ ] null;
+ release."4.11.2".sha256 = "sha256-ouhjHtlxcqt06+Pt+UZAzwp83bVYPh3N+8jnsVvapSU=";
release."4.11.1".sha256 = "sha256-QWZvU468rOhK796xCCEawW6rhCRTPnE0iLll9ynKflo=";
release."4.11.0".sha256 = "sha256-vPwa4zSjyvxHLGDoNaBnHV2pb77dnQFbC50BL80fcvE=";
release."4.10.0".sha256 = "sha256-MZJVoKGLXjDabdv9BuUSK1L9z1cubzC9cqVuWevKIXQ=";
diff --git a/pkgs/development/coq-modules/iris/default.nix b/pkgs/development/coq-modules/iris/default.nix
index 7bfdd94d3c27..b58ea00f12da 100644
--- a/pkgs/development/coq-modules/iris/default.nix
+++ b/pkgs/development/coq-modules/iris/default.nix
@@ -12,18 +12,19 @@ mkCoqDerivation {
owner = "iris";
inherit version;
defaultVersion =
+ let
+ case = case: out: { inherit case out; };
+ in
with lib.versions;
- lib.switch coq.coq-version (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: case: { inherit case out; }) {
- "4.3.0" = range "8.19" "9.0";
- "4.2.0" = range "8.18" "8.19";
- "4.1.0" = range "8.16" "8.18";
- "4.0.0" = range "8.13" "8.17";
- "3.5.0" = range "8.12" "8.14";
- "3.4.0" = range "8.11" "8.13";
- "3.3.0" = range "8.9" "8.10";
- }
- )) null;
+ lib.switch coq.coq-version [
+ (case (range "8.19" "9.0") "4.3.0")
+ (case (range "8.18" "8.19") "4.2.0")
+ (case (range "8.16" "8.18") "4.1.0")
+ (case (range "8.13" "8.17") "4.0.0")
+ (case (range "8.12" "8.14") "3.5.0")
+ (case (range "8.11" "8.13") "3.4.0")
+ (case (range "8.9" "8.10") "3.3.0")
+ ] null;
release."4.3.0".sha256 = "sha256-3qhjiFI+A3I3fD8rFfJL5Hek77wScfn/FNNbDyGqA1k=";
release."4.2.0".sha256 = "sha256-HuiHIe+5letgr1NN1biZZFq0qlWUbFmoVI7Q91+UIfM=";
release."4.1.0".sha256 = "sha256-nTZUeZOXiH7HsfGbMKDE7vGrNVCkbMaWxdMWUcTUNlo=";
diff --git a/pkgs/development/coq-modules/itauto/default.nix b/pkgs/development/coq-modules/itauto/default.nix
index e7183563d8d4..690298742b9a 100644
--- a/pkgs/development/coq-modules/itauto/default.nix
+++ b/pkgs/development/coq-modules/itauto/default.nix
@@ -22,19 +22,20 @@
release."8.13+no".sha256 = "sha256-gXoxtLcHPoyjJkt7WqvzfCMCQlh6kL2KtCGe3N6RC/A=";
inherit version;
defaultVersion =
+ let
+ case = case: out: { inherit case out; };
+ in
with lib.versions;
- lib.switch coq.coq-version (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: case: { inherit case out; }) {
- "8.20.0" = isEq "8.20";
- "8.19.0" = isEq "8.19";
- "8.18.0" = isEq "8.18";
- "8.17.0" = isEq "8.17";
- "8.16.0" = isEq "8.16";
- "8.15.0" = isEq "8.15";
- "8.14.0" = isEq "8.14";
- "8.13+no" = isEq "8.13";
- }
- )) null;
+ lib.switch coq.coq-version [
+ (case (isEq "8.20") "8.20.0")
+ (case (isEq "8.19") "8.19.0")
+ (case (isEq "8.18") "8.18.0")
+ (case (isEq "8.17") "8.17.0")
+ (case (isEq "8.16") "8.16.0")
+ (case (isEq "8.15") "8.15.0")
+ (case (isEq "8.14") "8.14.0")
+ (case (isEq "8.13") "8.13+no")
+ ] null;
mlPlugin = true;
nativeBuildInputs = (with coq.ocamlPackages; [ ocamlbuild ]);
diff --git a/pkgs/development/coq-modules/itree-io/default.nix b/pkgs/development/coq-modules/itree-io/default.nix
index c3df0dbf49a1..1b5624cf5bc9 100644
--- a/pkgs/development/coq-modules/itree-io/default.nix
+++ b/pkgs/development/coq-modules/itree-io/default.nix
@@ -15,13 +15,12 @@ mkCoqDerivation {
defaultVersion =
let
- inherit (lib.versions) isLe range;
+ case = case: out: { inherit case out; };
+ inherit (lib.versions) range;
in
- lib.switch coq.coq-version (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: case: { inherit case out; }) {
- "0.1.1" = range "8.12" "8.19";
- }
- )) null;
+ lib.switch coq.coq-version [
+ (case (range "8.12" "8.19") "0.1.1")
+ ] null;
release = {
"0.1.1".sha256 = "sha256-IFwIj8dxW4jm2gvuUJ8LKZFSJeljp0bsn8fezxY6t2o=";
};
diff --git a/pkgs/development/coq-modules/jasmin/default.nix b/pkgs/development/coq-modules/jasmin/default.nix
index c53ab153f3e9..d7545d9bba62 100644
--- a/pkgs/development/coq-modules/jasmin/default.nix
+++ b/pkgs/development/coq-modules/jasmin/default.nix
@@ -14,19 +14,23 @@ mkCoqDerivation {
inherit version;
defaultVersion =
- with lib.versions;
let
- cmc = c: mc: [
- c
- mc
- ];
+ case = coq: mc: out: {
+ cases = [
+ coq
+ mc
+ ];
+ inherit out;
+ };
in
- lib.switch [ coq.coq-version mathcomp.version ] (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: cases: { inherit cases out; }) {
- "2025.02.0" = cmc (range "8.19" "9.0") (range "2.2" "2.4");
- "2024.07.2" = cmc (isEq "8.18") (isEq "2.2");
- }
- )) null;
+ with lib.versions;
+ lib.switch
+ [ coq.coq-version mathcomp.version ]
+ [
+ (case (range "8.19" "9.0") (range "2.2" "2.4") "2025.02.0")
+ (case (isEq "8.18") (isEq "2.2") "2024.07.2")
+ ]
+ null;
releaseRev = v: "v${v}";
release."2025.02.0".sha256 = "sha256-Jlf0+VPuYWXdWyKHKHSp7h/HuCCp4VkcrgDAmh7pi5s=";
diff --git a/pkgs/development/coq-modules/json/default.nix b/pkgs/development/coq-modules/json/default.nix
index b48b8de4ec89..06f18199fcf1 100644
--- a/pkgs/development/coq-modules/json/default.nix
+++ b/pkgs/development/coq-modules/json/default.nix
@@ -15,14 +15,13 @@
defaultVersion =
let
- inherit (lib.versions) isLe range;
+ case = case: out: { inherit case out; };
+ inherit (lib.versions) range;
in
- lib.switch coq.coq-version (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: case: { inherit case out; }) {
- "0.2.0" = range "8.14" "9.0";
- "0.1.3" = range "8.14" "8.20";
- }
- )) null;
+ lib.switch coq.coq-version [
+ (case (range "8.14" "9.0") "0.2.0")
+ (case (range "8.14" "8.20") "0.1.3")
+ ] null;
release = {
"0.2.0".sha256 = "sha256-qDRTgWLUvu4x3/d3BDcqo2I4W5ZmLyRiwuY/Tm/FuKA=";
"0.1.3".sha256 = "sha256-lElAzW4IuX+BB6ngDjlyKn0MytLRfbhQanB+Lct/WR0=";
diff --git a/pkgs/development/coq-modules/mathcomp-abel/default.nix b/pkgs/development/coq-modules/mathcomp-abel/default.nix
index 925cbbdc62a7..833333392536 100644
--- a/pkgs/development/coq-modules/mathcomp-abel/default.nix
+++ b/pkgs/development/coq-modules/mathcomp-abel/default.nix
@@ -18,20 +18,24 @@ mkCoqDerivation {
inherit version;
defaultVersion =
- with lib.versions;
let
- cmc = c: mc: [
- c
- mc
- ];
+ case = coq: mc: out: {
+ cases = [
+ coq
+ mc
+ ];
+ inherit out;
+ };
in
- lib.switch [ coq.coq-version mathcomp.version ] (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: cases: { inherit cases out; }) {
- "1.2.1" = cmc (range "8.10" "8.16") (range "1.12.0" "1.15.0");
- "1.2.0" = cmc (range "8.10" "8.15") (range "1.12.0" "1.14.0");
- "1.1.2" = cmc (range "8.10" "8.14") (range "1.11.0" "1.12.0");
- }
- )) null;
+ with lib.versions;
+ lib.switch
+ [ coq.coq-version mathcomp.version ]
+ [
+ (case (range "8.10" "8.16") (range "1.12.0" "1.15.0") "1.2.1")
+ (case (range "8.10" "8.15") (range "1.12.0" "1.14.0") "1.2.0")
+ (case (range "8.10" "8.14") (range "1.11.0" "1.12.0") "1.1.2")
+ ]
+ null;
release."1.2.1".sha256 = "sha256-M1q6WIPBsayHde2hwlTxylH169hcTs3OuFsEkM0e3yc=";
release."1.2.0".sha256 = "1picd4m85ipj22j3b84cv8ab3330radzrhd6kp0gpxq14dhv02c2";
diff --git a/pkgs/development/coq-modules/mathcomp-algebra-tactics/default.nix b/pkgs/development/coq-modules/mathcomp-algebra-tactics/default.nix
index fc4cca84b4d0..0bd7cd8a9fb9 100644
--- a/pkgs/development/coq-modules/mathcomp-algebra-tactics/default.nix
+++ b/pkgs/development/coq-modules/mathcomp-algebra-tactics/default.nix
@@ -19,22 +19,26 @@ mkCoqDerivation {
inherit version;
defaultVersion =
- with lib.versions;
let
- cmc = c: mc: [
- c
- mc
- ];
+ case = coq: mc: out: {
+ cases = [
+ coq
+ mc
+ ];
+ inherit out;
+ };
in
- lib.switch [ coq.coq-version mathcomp-algebra.version ] (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: cases: { inherit cases out; }) {
- "1.2.5" = cmc (range "8.20" "9.0") (isGe "2.4");
- "1.2.4" = cmc (range "8.16" "9.0") (isGe "2.0");
- "1.2.2" = cmc (range "8.16" "8.18") (isGe "2.0");
- "1.1.1" = cmc (range "8.16" "8.19") (isGe "1.15");
- "1.0.0" = cmc (range "8.13" "8.16") (isGe "1.12");
- }
- )) null;
+ with lib.versions;
+ lib.switch
+ [ coq.coq-version mathcomp-algebra.version ]
+ [
+ (case (range "8.20" "9.0") (isGe "2.4") "1.2.5")
+ (case (range "8.16" "9.0") (isGe "2.0") "1.2.4")
+ (case (range "8.16" "8.18") (isGe "2.0") "1.2.2")
+ (case (range "8.16" "8.19") (isGe "1.15") "1.1.1")
+ (case (range "8.13" "8.16") (isGe "1.12") "1.0.0")
+ ]
+ null;
release."1.0.0".sha256 = "sha256-kszARPBizWbxSQ/Iqpf2vLbxYc6AjpUCLnSNlPcNfls=";
release."1.1.1".sha256 = "sha256-5wItMeeTRoJlRBH3zBNc2VUZn6pkDde60YAvXTx+J3U=";
diff --git a/pkgs/development/coq-modules/mathcomp-analysis/default.nix b/pkgs/development/coq-modules/mathcomp-analysis/default.nix
index b24c6fa18849..5a6ec833428f 100644
--- a/pkgs/development/coq-modules/mathcomp-analysis/default.nix
+++ b/pkgs/development/coq-modules/mathcomp-analysis/default.nix
@@ -44,32 +44,36 @@ let
release."0.2.3".sha256 = "0p9mr8g1qma6h10qf7014dv98ln90dfkwn76ynagpww7qap8s966";
defaultVersion =
- with lib.versions;
let
- cmc = c: mc: [
- c
- mc
- ];
+ case = coq: mc: out: {
+ cases = [
+ coq
+ mc
+ ];
+ inherit out;
+ };
in
- lib.switch [ coq.coq-version mathcomp.version ] (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: cases: { inherit cases out; }) {
- "1.11.0" = cmc (range "8.20" "9.0") (range "2.1.0" "2.4.0");
- "1.9.0" = cmc (range "8.19" "8.20") (range "2.1.0" "2.3.0");
- "1.1.0" = cmc (range "8.17" "8.20") (range "2.0.0" "2.2.0");
- "0.7.0" = cmc (range "8.17" "8.19") (range "1.17.0" "1.19.0");
- "0.6.7" = cmc (range "8.17" "8.18") (range "1.15.0" "1.18.0");
- "0.6.6" = cmc (range "8.17" "8.18") (range "1.15.0" "1.18.0");
- "0.6.5" = cmc (range "8.14" "8.18") (range "1.15.0" "1.17.0");
- "0.6.1" = cmc (range "8.14" "8.18") (range "1.13.0" "1.16.0");
- "0.5.2" = cmc (range "8.14" "8.18") (range "1.13" "1.15");
- "0.5.1" = cmc (range "8.13" "8.15") (range "1.13" "1.14");
- "0.3.13" = cmc (range "8.13" "8.15") (range "1.12" "1.14");
- "0.3.10" = cmc (range "8.11" "8.14") (range "1.12" "1.13");
- "0.3.3" = cmc (range "8.10" "8.12") "1.11.0";
- "0.3.1" = cmc (range "8.10" "8.11") "1.11.0";
- "0.2.3" = cmc (range "8.8" "8.11") (range "1.8" "1.10");
- }
- )) null;
+ with lib.versions;
+ lib.switch
+ [ coq.coq-version mathcomp.version ]
+ [
+ (case (range "8.20" "9.0") (range "2.1.0" "2.4.0") "1.11.0")
+ (case (range "8.19" "8.20") (range "2.1.0" "2.3.0") "1.9.0")
+ (case (range "8.17" "8.20") (range "2.0.0" "2.2.0") "1.1.0")
+ (case (range "8.17" "8.19") (range "1.17.0" "1.19.0") "0.7.0")
+ (case (range "8.17" "8.18") (range "1.15.0" "1.18.0") "0.6.7")
+ (case (range "8.17" "8.18") (range "1.15.0" "1.18.0") "0.6.6")
+ (case (range "8.14" "8.18") (range "1.15.0" "1.17.0") "0.6.5")
+ (case (range "8.14" "8.18") (range "1.13.0" "1.16.0") "0.6.1")
+ (case (range "8.14" "8.18") (range "1.13" "1.15") "0.5.2")
+ (case (range "8.13" "8.15") (range "1.13" "1.14") "0.5.1")
+ (case (range "8.13" "8.15") (range "1.12" "1.14") "0.3.13")
+ (case (range "8.11" "8.14") (range "1.12" "1.13") "0.3.10")
+ (case (range "8.10" "8.12") "1.11.0" "0.3.3")
+ (case (range "8.10" "8.11") "1.11.0" "0.3.1")
+ (case (range "8.8" "8.11") (range "1.8" "1.10") "0.2.3")
+ ]
+ null;
# list of analysis packages sorted by dependency order
packages = {
diff --git a/pkgs/development/coq-modules/mathcomp-apery/default.nix b/pkgs/development/coq-modules/mathcomp-apery/default.nix
index 697d0e970e6a..3ae89da38c16 100644
--- a/pkgs/development/coq-modules/mathcomp-apery/default.nix
+++ b/pkgs/development/coq-modules/mathcomp-apery/default.nix
@@ -17,18 +17,22 @@ mkCoqDerivation {
inherit version;
defaultVersion =
- with lib.versions;
let
- cmc = c: mc: [
- c
- mc
- ];
+ case = coq: mc: out: {
+ cases = [
+ coq
+ mc
+ ];
+ inherit out;
+ };
in
- lib.switch [ coq.coq-version mathcomp.version ] (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: cases: { inherit cases out; }) {
- "1.0.2" = cmc (range "8.13" "8.16") (range "1.12.0" "1.17.0");
- }
- )) null;
+ with lib.versions;
+ lib.switch
+ [ coq.coq-version mathcomp.version ]
+ [
+ (case (range "8.13" "8.16") (range "1.12.0" "1.17.0") "1.0.2")
+ ]
+ null;
release."1.0.2".sha256 = "sha256-llxyMKYvWUA7fyroG1S/jtpioAoArmarR1edi3cikcY=";
diff --git a/pkgs/development/coq-modules/mathcomp-bigenough/default.nix b/pkgs/development/coq-modules/mathcomp-bigenough/default.nix
index 357fd97d93cf..8e50d9a4ea86 100644
--- a/pkgs/development/coq-modules/mathcomp-bigenough/default.nix
+++ b/pkgs/development/coq-modules/mathcomp-bigenough/default.nix
@@ -22,13 +22,14 @@ mkCoqDerivation {
};
inherit version;
defaultVersion =
+ let
+ case = case: out: { inherit case out; };
+ in
with lib.versions;
- lib.switch coq.coq-version (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: case: { inherit case out; }) {
- "1.0.2" = range "8.10" "9.0";
- "1.0.0" = range "8.5" "8.14";
- }
- )) null;
+ lib.switch coq.coq-version [
+ (case (range "8.10" "9.0") "1.0.2")
+ (case (range "8.5" "8.14") "1.0.0")
+ ] null;
propagatedBuildInputs = [ mathcomp-boot ];
diff --git a/pkgs/development/coq-modules/mathcomp-finmap/default.nix b/pkgs/development/coq-modules/mathcomp-finmap/default.nix
index 97dd95556200..11b177e80910 100644
--- a/pkgs/development/coq-modules/mathcomp-finmap/default.nix
+++ b/pkgs/development/coq-modules/mathcomp-finmap/default.nix
@@ -16,28 +16,32 @@ mkCoqDerivation {
owner = "math-comp";
inherit version;
defaultVersion =
- with lib.versions;
let
- cmc = c: mc: [
- c
- mc
- ];
+ case = coq: mc: out: {
+ cases = [
+ coq
+ mc
+ ];
+ inherit out;
+ };
in
- lib.switch [ coq.coq-version mathcomp-boot.version ] (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: cases: { inherit cases out; }) {
- "2.2.0" = cmc (range "8.20" "9.0") (range "2.3" "2.4");
- "2.1.0" = cmc (range "8.16" "9.0") (range "2.0" "2.3");
- "2.0.0" = cmc (range "8.16" "8.18") (range "2.0" "2.1");
- "1.5.2" = cmc (range "8.13" "8.20") (range "1.12" "1.19");
- "1.5.1" = cmc (isGe "8.10") (range "1.11" "1.17");
- "1.5.0" = cmc (range "8.7" "8.11") "1.11.0";
- "1.4.0+coq-8.11" = cmc (isEq "8.11") (range "1.8" "1.10");
- "1.4.0" = cmc (range "8.7" "8.11.0") (range "1.8" "1.10");
- "1.3.4" = cmc (range "8.7" "8.11.0") (range "1.8" "1.10");
- "1.1.0" = cmc (range "8.7" "8.9") "1.7.0";
- "1.0.0" = cmc (range "8.6" "8.7") (range "1.6.1" "1.7");
- }
- )) null;
+ with lib.versions;
+ lib.switch
+ [ coq.coq-version mathcomp-boot.version ]
+ [
+ (case (range "8.20" "9.0") (range "2.3" "2.4") "2.2.0")
+ (case (range "8.16" "9.0") (range "2.0" "2.3") "2.1.0")
+ (case (range "8.16" "8.18") (range "2.0" "2.1") "2.0.0")
+ (case (range "8.13" "8.20") (range "1.12" "1.19") "1.5.2")
+ (case (isGe "8.10") (range "1.11" "1.17") "1.5.1")
+ (case (range "8.7" "8.11") "1.11.0" "1.5.0")
+ (case (isEq "8.11") (range "1.8" "1.10") "1.4.0+coq-8.11")
+ (case (range "8.7" "8.11.0") (range "1.8" "1.10") "1.4.0")
+ (case (range "8.7" "8.11.0") (range "1.8" "1.10") "1.3.4")
+ (case (range "8.7" "8.9") "1.7.0" "1.1.0")
+ (case (range "8.6" "8.7") (range "1.6.1" "1.7") "1.0.0")
+ ]
+ null;
release = {
"2.2.0".sha256 = "sha256-oDQEZOutrJxmN8FvzovUIhqw0mwc8Ej7thrieJrW8BY=";
"2.1.0".sha256 = "sha256-gh0cnhdVDyo+D5zdtxLc10kGKQLQ3ITzHnMC45mCtpY=";
diff --git a/pkgs/development/coq-modules/mathcomp-infotheo/default.nix b/pkgs/development/coq-modules/mathcomp-infotheo/default.nix
index 25d3827a89e3..c3bb32a15cc5 100644
--- a/pkgs/development/coq-modules/mathcomp-infotheo/default.nix
+++ b/pkgs/development/coq-modules/mathcomp-infotheo/default.nix
@@ -19,27 +19,31 @@
inherit version;
defaultVersion =
- with lib.versions;
let
- cmc = c: mc: [
- c
- mc
- ];
+ case = coq: mc: out: {
+ cases = [
+ coq
+ mc
+ ];
+ inherit out;
+ };
in
- lib.switch [ coq.coq-version mathcomp-analysis.version ] (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: cases: { inherit cases out; }) {
- "0.9.3" = cmc (range "8.20" "8.20") (isGe "1.10");
- "0.9.1" = cmc (range "8.19" "8.20") (isGe "1.9");
- "0.7.7" = cmc (range "8.19" "8.20") (isGe "1.7");
- "0.7.5" = cmc (range "8.19" "8.20") (isGe "1.7");
- "0.7.3" = cmc (range "8.18" "8.20") (isGe "1.5");
- "0.7.2" = cmc (range "8.18" "8.19") (isGe "1.2");
- "0.7.1" = cmc (range "8.17" "8.19") (isGe "1.0");
- "0.6.1" = cmc (isGe "8.17") (range "0.6.6" "0.7.0");
- "0.5.2" = cmc (range "8.17" "8.18") (range "0.6.0" "0.6.7");
- "0.5.1" = cmc (range "8.15" "8.16") (range "0.5.4" "0.6.5");
- }
- )) null;
+ with lib.versions;
+ lib.switch
+ [ coq.coq-version mathcomp-analysis.version ]
+ [
+ (case (range "8.20" "8.20") (isGe "1.10") "0.9.3")
+ (case (range "8.19" "8.20") (isGe "1.9") "0.9.1")
+ (case (range "8.19" "8.20") (isGe "1.7") "0.7.7")
+ (case (range "8.19" "8.20") (isGe "1.7") "0.7.5")
+ (case (range "8.18" "8.20") (isGe "1.5") "0.7.3")
+ (case (range "8.18" "8.19") (isGe "1.2") "0.7.2")
+ (case (range "8.17" "8.19") (isGe "1.0") "0.7.1")
+ (case (isGe "8.17") (range "0.6.6" "0.7.0") "0.6.1")
+ (case (range "8.17" "8.18") (range "0.6.0" "0.6.7") "0.5.2")
+ (case (range "8.15" "8.16") (range "0.5.4" "0.6.5") "0.5.1")
+ ]
+ null;
release."0.9.3".sha256 = "sha256-8+cnVKNAvZ3MVV3BpS8UmCIxJphsQRBv3swek1eEBjE=";
release."0.9.1".sha256 = "sha256-WI20HxMHr1ZUwOGPIUl+nRI8TxVUa2+F1xcGjRDHO9g=";
release."0.7.7".sha256 = "sha256-kEbpMl7U+I2kvqi1VrjhIVFkZFO6h0tTHEUZRbHYG7E=";
diff --git a/pkgs/development/coq-modules/mathcomp-tarjan/default.nix b/pkgs/development/coq-modules/mathcomp-tarjan/default.nix
index a8d233af7d3b..e5f1b9ee1b9e 100644
--- a/pkgs/development/coq-modules/mathcomp-tarjan/default.nix
+++ b/pkgs/development/coq-modules/mathcomp-tarjan/default.nix
@@ -18,21 +18,25 @@ mkCoqDerivation {
inherit version;
defaultVersion =
- with lib.versions;
let
- cmc = c: mc: [
- c
- mc
- ];
+ case = coq: mc: out: {
+ cases = [
+ coq
+ mc
+ ];
+ inherit out;
+ };
in
- lib.switch [ coq.coq-version mathcomp-ssreflect.version ] (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: cases: { inherit cases out; }) {
- "1.0.3" = cmc (range "8.16" "9.0") (range "2.0.0" "2.4.0");
- "1.0.2" = cmc (range "8.16" "9.0") (range "2.0.0" "2.3.0");
- "1.0.1" = cmc (range "8.12" "8.18") (range "1.12.0" "1.17.0");
- "1.0.0" = cmc (range "8.10" "8.16") (range "1.12.0" "1.17.0");
- }
- )) null;
+ with lib.versions;
+ lib.switch
+ [ coq.coq-version mathcomp-ssreflect.version ]
+ [
+ (case (range "8.16" "9.0") (range "2.0.0" "2.4.0") "1.0.3")
+ (case (range "8.16" "9.0") (range "2.0.0" "2.3.0") "1.0.2")
+ (case (range "8.12" "8.18") (range "1.12.0" "1.17.0") "1.0.1")
+ (case (range "8.10" "8.16") (range "1.12.0" "1.17.0") "1.0.0")
+ ]
+ null;
release."1.0.3".sha256 = "sha256-5lpOCDyH6NFzGLvnXHHAnR7Qv5oXsUyC8TLBFrIiBag=";
release."1.0.2".sha256 = "sha256-U20xgA+e9KTRdvILD1cxN6ia+dlA8uBTIbc4QlKz9ss=";
release."1.0.1".sha256 = "sha256-utNjFCAqC5xOuhdyKhfMZkRYJD0xv9Gt6U3ZdQ56mek=";
diff --git a/pkgs/development/coq-modules/mathcomp-word/default.nix b/pkgs/development/coq-modules/mathcomp-word/default.nix
index c43d7a34f2f6..0041eca094ad 100644
--- a/pkgs/development/coq-modules/mathcomp-word/default.nix
+++ b/pkgs/development/coq-modules/mathcomp-word/default.nix
@@ -56,19 +56,23 @@ mkCoqDerivation {
inherit version;
defaultVersion =
- with lib.versions;
let
- cmc = c: mc: [
- c
- mc
- ];
+ case = coq: mc: out: {
+ cases = [
+ coq
+ mc
+ ];
+ inherit out;
+ };
in
- lib.switch [ coq.coq-version mathcomp.version ] (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: cases: { inherit cases out; }) {
- "3.2" = cmc (range "8.16" "9.0") (isGe "2.0");
- "2.4" = cmc (range "8.12" "8.20") (range "1.12" "1.19");
- }
- )) null;
+ with lib.versions;
+ lib.switch
+ [ coq.coq-version mathcomp.version ]
+ [
+ (case (range "8.16" "9.0") (isGe "2.0") "3.2")
+ (case (range "8.12" "8.20") (range "1.12" "1.19") "2.4")
+ ]
+ null;
propagatedBuildInputs = [
mathcomp.algebra
diff --git a/pkgs/development/coq-modules/mathcomp-zify/default.nix b/pkgs/development/coq-modules/mathcomp-zify/default.nix
index 2c91a5056496..e1d1a9fdec83 100644
--- a/pkgs/development/coq-modules/mathcomp-zify/default.nix
+++ b/pkgs/development/coq-modules/mathcomp-zify/default.nix
@@ -20,20 +20,24 @@ mkCoqDerivation {
inherit version;
defaultVersion =
- with lib.versions;
let
- cmc = c: mc: [
- c
- mc
- ];
+ case = coq: mc: out: {
+ cases = [
+ coq
+ mc
+ ];
+ inherit out;
+ };
in
- lib.switch [ coq.coq-version mathcomp-algebra.version ] (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: cases: { inherit cases out; }) {
- "1.5.0+2.0+8.16" = cmc (range "8.16" "9.0") (isGe "2.0.0");
- "1.3.0+1.12+8.13" = cmc (range "8.13" "8.20") (range "1.12" "1.19.0");
- "1.1.0+1.12+8.13" = cmc (range "8.13" "8.16") (range "1.12" "1.17.0");
- }
- )) null;
+ with lib.versions;
+ lib.switch
+ [ coq.coq-version mathcomp-algebra.version ]
+ [
+ (case (range "8.16" "9.0") (isGe "2.0.0") "1.5.0+2.0+8.16")
+ (case (range "8.13" "8.20") (range "1.12" "1.19.0") "1.3.0+1.12+8.13")
+ (case (range "8.13" "8.16") (range "1.12" "1.17.0") "1.1.0+1.12+8.13")
+ ]
+ null;
release."1.0.0+1.12+8.13".sha256 = "1j533vx6lacr89bj1bf15l1a0s7rvrx4l00wyjv99aczkfbz6h6k";
release."1.1.0+1.12+8.13".sha256 = "1plf4v6q5j7wvmd5gsqlpiy0vwlw6hy5daq2x42gqny23w9mi2pr";
diff --git a/pkgs/development/coq-modules/mathcomp/default.nix b/pkgs/development/coq-modules/mathcomp/default.nix
index 0311a33a406c..f988a6284376 100644
--- a/pkgs/development/coq-modules/mathcomp/default.nix
+++ b/pkgs/development/coq-modules/mathcomp/default.nix
@@ -31,31 +31,30 @@ let
withDoc = single && (args.withDoc or false);
defaultVersion =
let
- inherit (lib.versions) isLe range;
+ case = case: out: { inherit case out; };
+ inherit (lib.versions) range;
in
- lib.switch coq.coq-version (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: case: { inherit case out; }) {
- "2.4.0" = range "8.20" "9.0";
- "2.3.0" = range "8.19" "9.0";
- "2.2.0" = range "8.17" "8.20";
- "2.1.0" = range "8.17" "8.18";
- "2.0.0" = range "8.17" "8.18";
- "1.19.0" = range "8.19" "8.20";
- "1.18.0" = range "8.17" "8.18";
- "1.17.0" = range "8.15" "8.18";
- "1.16.0" = range "8.13" "8.18";
- "1.15.0" = range "8.14" "8.16";
- "1.14.0" = range "8.11" "8.15";
- "1.13.0" = range "8.11" "8.15";
- "1.12.0" = range "8.10" "8.13";
- "1.11.0" = range "8.7" "8.12";
- "1.10.0" = range "8.7" "8.11";
- "1.9.0" = range "8.7" "8.11";
- "1.8.0" = range "8.7" "8.9";
- "1.7.0" = range "8.6" "8.9";
- "1.6.4" = range "8.5" "8.7";
- }
- )) null;
+ lib.switch coq.coq-version [
+ (case (range "8.20" "9.0") "2.4.0")
+ (case (range "8.19" "9.0") "2.3.0")
+ (case (range "8.17" "8.20") "2.2.0")
+ (case (range "8.17" "8.18") "2.1.0")
+ (case (range "8.17" "8.18") "2.0.0")
+ (case (range "8.19" "8.20") "1.19.0")
+ (case (range "8.17" "8.18") "1.18.0")
+ (case (range "8.15" "8.18") "1.17.0")
+ (case (range "8.13" "8.18") "1.16.0")
+ (case (range "8.14" "8.16") "1.15.0")
+ (case (range "8.11" "8.15") "1.14.0")
+ (case (range "8.11" "8.15") "1.13.0")
+ (case (range "8.10" "8.13") "1.12.0")
+ (case (range "8.7" "8.12") "1.11.0")
+ (case (range "8.7" "8.11") "1.10.0")
+ (case (range "8.7" "8.11") "1.9.0")
+ (case (range "8.7" "8.9") "1.8.0")
+ (case (range "8.6" "8.9") "1.7.0")
+ (case (range "8.5" "8.7") "1.6.4")
+ ] null;
release = {
"2.4.0".sha256 = "sha256-A1XgLLwZRvKS8QyceCkSQa7ue6TYyf5fMft5gSx9NOs=";
"2.3.0".sha256 = "sha256-wa6OBig8rhAT4iwupSylyCAMhO69rADa0MQIX5zzL+Q=";
diff --git a/pkgs/development/coq-modules/metacoq/default.nix b/pkgs/development/coq-modules/metacoq/default.nix
index 2856547930ad..bb78843c736f 100644
--- a/pkgs/development/coq-modules/metacoq/default.nix
+++ b/pkgs/development/coq-modules/metacoq/default.nix
@@ -10,22 +10,24 @@
let
repo = "metacoq";
owner = "MetaCoq";
- defaultVersion = lib.switch coq.coq-version (lib.lists.sort (x: y: lib.versions.isLe x.out y.out) (
- lib.mapAttrsToList (out: case: { inherit case out; }) {
- "1.0-beta2-8.11" = "8.11";
- "1.0-beta2-8.12" = "8.12";
+ defaultVersion =
+ let
+ case = case: out: { inherit case out; };
+ in
+ lib.switch coq.coq-version [
+ (case "8.11" "1.0-beta2-8.11")
+ (case "8.12" "1.0-beta2-8.12")
# Do not provide 8.13 because it does not compile with equations 1.3 provided by default (only 1.2.3)
- # "1.0-beta2-8.13" = "8.13";
- "1.1-8.14" = "8.14";
- "1.1-8.15" = "8.15";
- "1.1-8.16" = "8.16";
- "1.3.1-8.17" = "8.17";
- "1.3.1-8.18" = "8.18";
- "1.3.3-8.19" = "8.19";
- "1.3.4-8.20" = "8.20";
- "1.3.4-9.0" = "9.0";
- }
- )) null;
+ # (case "8.13" "1.0-beta2-8.13")
+ (case "8.14" "1.1-8.14")
+ (case "8.15" "1.1-8.15")
+ (case "8.16" "1.1-8.16")
+ (case "8.17" "1.3.1-8.17")
+ (case "8.18" "1.3.1-8.18")
+ (case "8.19" "1.3.3-8.19")
+ (case "8.20" "1.3.4-8.20")
+ (case "9.0" "1.3.4-9.0")
+ ] null;
release = {
"1.0-beta2-8.11".sha256 = "sha256-I9YNk5Di6Udvq5/xpLSNflfjRyRH8fMnRzbo3uhpXNs=";
"1.0-beta2-8.12".sha256 = "sha256-I8gpmU9rUQJh0qfp5KOgDNscVvCybm5zX4TINxO1TVA=";
diff --git a/pkgs/development/coq-modules/metarocq/default.nix b/pkgs/development/coq-modules/metarocq/default.nix
index a90df150f409..aa7b39918427 100644
--- a/pkgs/development/coq-modules/metarocq/default.nix
+++ b/pkgs/development/coq-modules/metarocq/default.nix
@@ -10,11 +10,13 @@
let
repo = "metarocq";
owner = "MetaRocq";
- defaultVersion = lib.switch coq.coq-version (lib.lists.sort (x: y: lib.versions.isLe x.out y.out) (
- lib.mapAttrsToList (out: case: { inherit case out; }) {
- "1.4-9.0" = "9.0";
- }
- )) null;
+ defaultVersion =
+ let
+ case = case: out: { inherit case out; };
+ in
+ lib.switch coq.coq-version [
+ (case ("9.0") "1.4-9.0")
+ ] null;
release = {
"1.4-9.0".sha256 = "sha256-5QecDAMkvgfDPZ7/jDfnOgcE+Eb1LTAozP7nz6nkuxg=";
};
diff --git a/pkgs/development/coq-modules/multinomials/default.nix b/pkgs/development/coq-modules/multinomials/default.nix
index 6cb2adc7aba6..bf6a7eaef0f3 100644
--- a/pkgs/development/coq-modules/multinomials/default.nix
+++ b/pkgs/development/coq-modules/multinomials/default.nix
@@ -20,30 +20,34 @@ mkCoqDerivation {
inherit version;
defaultVersion =
- with lib.versions;
let
- cmc = c: mc: [
- c
- mc
- ];
+ case = coq: mc: out: {
+ cases = [
+ coq
+ mc
+ ];
+ inherit out;
+ };
in
- lib.switch [ coq.coq-version mathcomp.version ] (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: cases: { inherit cases out; }) {
- "2.4.0" = cmc (range "8.18" "9.0") (range "2.1.0" "2.4.0");
- "2.3.0" = cmc (range "8.17" "9.0") (range "2.1.0" "2.3.0");
- "2.2.0" = cmc (range "8.17" "8.20") (isGe "2.1.0");
- "2.1.0" = cmc (range "8.16" "8.18") "2.1.0";
- "2.0.0" = cmc (range "8.16" "8.18") "2.0.0";
- "1.6.0" = cmc (isGe "8.15") (range "1.15.0" "1.19.0");
- "1.5.6" = cmc (isGe "8.10") (range "1.13.0" "1.17.0");
- "1.5.5" = cmc (range "8.10" "8.16") (range "1.12.0" "1.15.0");
- "1.5.3" = cmc (range "8.10" "8.12") "1.12.0";
- "1.5.2" = cmc (range "8.7" "8.12") "1.11.0";
- "1.5.0" = cmc (range "8.7" "8.11") (range "1.8" "1.10");
- "1.4" = cmc (range "8.7" "8.10") (range "1.8" "1.10");
- "1.1" = cmc "8.6" (range "1.6" "1.7");
- }
- )) null;
+ with lib.versions;
+ lib.switch
+ [ coq.coq-version mathcomp.version ]
+ [
+ (case (range "8.18" "9.0") (range "2.1.0" "2.4.0") "2.4.0")
+ (case (range "8.17" "9.0") (range "2.1.0" "2.3.0") "2.3.0")
+ (case (range "8.17" "8.20") (isGe "2.1.0") "2.2.0")
+ (case (range "8.16" "8.18") "2.1.0" "2.1.0")
+ (case (range "8.16" "8.18") "2.0.0" "2.0.0")
+ (case (isGe "8.15") (range "1.15.0" "1.19.0") "1.6.0")
+ (case (isGe "8.10") (range "1.13.0" "1.17.0") "1.5.6")
+ (case (range "8.10" "8.16") (range "1.12.0" "1.15.0") "1.5.5")
+ (case (range "8.10" "8.12") "1.12.0" "1.5.3")
+ (case (range "8.7" "8.12") "1.11.0" "1.5.2")
+ (case (range "8.7" "8.11") (range "1.8" "1.10") "1.5.0")
+ (case (range "8.7" "8.10") (range "1.8" "1.10") "1.4")
+ (case "8.6" (range "1.6" "1.7") "1.1")
+ ]
+ null;
release = {
"2.4.0".sha256 = "sha256-7zfIddRH+Sl4nhEPtS/lMZwRUZI45AVFpcC/UC8Z0Yo=";
"2.3.0".sha256 = "sha256-usIcxHOAuN+f/j3WjVbPrjz8Hl9ac8R6kYeAKi3CEts=";
diff --git a/pkgs/development/coq-modules/odd-order/default.nix b/pkgs/development/coq-modules/odd-order/default.nix
index 9c0b721141fc..82c0272c16f3 100644
--- a/pkgs/development/coq-modules/odd-order/default.nix
+++ b/pkgs/development/coq-modules/odd-order/default.nix
@@ -18,16 +18,17 @@ mkCoqDerivation {
inherit version;
defaultVersion =
+ let
+ case = case: out: { inherit case out; };
+ in
with lib.versions;
- lib.switch mathcomp.character.version (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: case: { inherit case out; }) {
- "2.2.0" = (range "2.2.0" "2.4.0");
- "2.1.0" = (range "2.1.0" "2.3.0");
- "1.14.0" = (range "1.13.0" "1.15.0");
- "1.13.0" = (range "1.12.0" "1.14.0");
- "1.12.0" = (range "1.10.0" "1.12.0");
- }
- )) null;
+ lib.switch mathcomp.character.version [
+ (case (range "2.2.0" "2.4.0") "2.2.0")
+ (case (range "2.1.0" "2.3.0") "2.1.0")
+ (case (range "1.13.0" "1.15.0") "1.14.0")
+ (case (range "1.12.0" "1.14.0") "1.13.0")
+ (case (range "1.10.0" "1.12.0") "1.12.0")
+ ] null;
propagatedBuildInputs = [
mathcomp.character
diff --git a/pkgs/development/coq-modules/reglang/default.nix b/pkgs/development/coq-modules/reglang/default.nix
index d3d1bfc15ff9..adbb2bfbae98 100644
--- a/pkgs/development/coq-modules/reglang/default.nix
+++ b/pkgs/development/coq-modules/reglang/default.nix
@@ -20,21 +20,25 @@ mkCoqDerivation {
inherit version;
defaultVersion =
- with lib.versions;
let
- cmc = c: mc: [
- c
- mc
- ];
+ case = coq: mc: out: {
+ cases = [
+ coq
+ mc
+ ];
+ inherit out;
+ };
in
- lib.switch [ coq.coq-version mathcomp.version ] (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: cases: { inherit cases out; }) {
- "1.2.2" = cmc (range "8.16" "9.0") (range "2.0.0" "2.4.0");
- "1.2.1" = cmc (range "8.16" "9.0") (range "2.0.0" "2.3.0");
- "1.2.0" = cmc (range "8.16" "8.18") (range "2.0.0" "2.1.0");
- "1.1.3" = cmc (range "8.10" "8.20") (isLt "2.0.0");
- }
- )) null;
+ with lib.versions;
+ lib.switch
+ [ coq.coq-version mathcomp.version ]
+ [
+ (case (range "8.16" "9.0") (range "2.0.0" "2.4.0") "1.2.2")
+ (case (range "8.16" "9.0") (range "2.0.0" "2.3.0") "1.2.1")
+ (case (range "8.16" "8.18") (range "2.0.0" "2.1.0") "1.2.0")
+ (case (range "8.10" "8.20") (isLt "2.0.0") "1.1.3")
+ ]
+ null;
propagatedBuildInputs = [
mathcomp.ssreflect
diff --git a/pkgs/development/coq-modules/relation-algebra/default.nix b/pkgs/development/coq-modules/relation-algebra/default.nix
index d512613fad9b..4f0302a72915 100644
--- a/pkgs/development/coq-modules/relation-algebra/default.nix
+++ b/pkgs/development/coq-modules/relation-algebra/default.nix
@@ -27,22 +27,23 @@ mkCoqDerivation {
inherit version;
defaultVersion =
+ let
+ case = case: out: { inherit case out; };
+ in
with lib.versions;
- lib.switch coq.coq-version (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: case: { inherit case out; }) {
- "1.7.11" = isEq "8.20";
- "1.7.10" = range "8.18" "8.19";
- "1.7.9" = isEq "8.17";
- "1.7.8" = isEq "8.16";
- "1.7.7" = isEq "8.15";
- "1.7.6" = isEq "8.14";
- "1.7.5" = isEq "8.13";
- "1.7.4" = isEq "8.12";
- "1.7.3" = isEq "8.11";
- "1.7.2" = isEq "8.10";
- "1.7.1" = isEq "8.9";
- }
- )) null;
+ lib.switch coq.coq-version [
+ (case (isEq "8.20") "1.7.11")
+ (case (range "8.18" "8.19") "1.7.10")
+ (case (isEq "8.17") "1.7.9")
+ (case (isEq "8.16") "1.7.8")
+ (case (isEq "8.15") "1.7.7")
+ (case (isEq "8.14") "1.7.6")
+ (case (isEq "8.13") "1.7.5")
+ (case (isEq "8.12") "1.7.4")
+ (case (isEq "8.11") "1.7.3")
+ (case (isEq "8.10") "1.7.2")
+ (case (isEq "8.9") "1.7.1")
+ ] null;
mlPlugin = true;
diff --git a/pkgs/development/coq-modules/simple-io/default.nix b/pkgs/development/coq-modules/simple-io/default.nix
index d2a3ae0a26df..cc8c427619fb 100644
--- a/pkgs/development/coq-modules/simple-io/default.nix
+++ b/pkgs/development/coq-modules/simple-io/default.nix
@@ -13,14 +13,15 @@
repo = "coq-simple-io";
inherit version;
defaultVersion =
+ let
+ case = case: out: { inherit case out; };
+ in
with lib.versions;
- lib.switch coq.coq-version (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: case: { inherit case out; }) {
- "1.10.0" = range "8.17" "9.0";
- "1.8.0" = range "8.11" "8.19";
- "1.3.0" = range "8.7" "8.13";
- }
- )) null;
+ lib.switch coq.coq-version [
+ (case (range "8.17" "9.0") "1.10.0")
+ (case (range "8.11" "8.19") "1.8.0")
+ (case (range "8.7" "8.13") "1.3.0")
+ ] null;
release."1.10.0".sha256 = "sha256-67cBhLvRMWLWBL7NXK1zZTQC4PtSKu9qtesU4SqKkOw=";
release."1.8.0".sha256 = "sha256-3ADNeXrBIpYRlfUW+LkLHUWV1w1HFrVc/TZISMuwvRY=";
release."1.7.0".sha256 = "sha256:1a1q9x2abx71hqvjdai3n12jxzd49mhf3nqqh3ya2ssl2lj609ci";
diff --git a/pkgs/development/coq-modules/ssprove/default.nix b/pkgs/development/coq-modules/ssprove/default.nix
index b91ef56a36b7..1b8ad91a51b9 100644
--- a/pkgs/development/coq-modules/ssprove/default.nix
+++ b/pkgs/development/coq-modules/ssprove/default.nix
@@ -18,28 +18,32 @@
inherit version;
defaultVersion =
- with lib.versions;
let
- cmc = c: mc: [
- c
- mc
- ];
+ case = coq: mc: out: {
+ cases = [
+ coq
+ mc
+ ];
+ inherit out;
+ };
in
- lib.switch [ coq.coq-version mathcomp-boot.version ] (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: cases: { inherit cases out; }) {
- "0.2.4" = cmc (range "8.18" "9.0") (range "2.3.0" "2.4.0");
- "0.2.3" = cmc (range "8.18" "8.20") (range "2.3.0" "2.3.0");
- "0.2.2" = cmc (range "8.18" "8.20") (range "2.1.0" "2.2.0");
+ with lib.versions;
+ lib.switch
+ [ coq.coq-version mathcomp-boot.version ]
+ [
+ (case (range "8.18" "9.0") (range "2.3.0" "2.4.0") "0.2.4")
+ (case (range "8.18" "8.20") (range "2.3.0" "2.3.0") "0.2.3")
+ (case (range "8.18" "8.20") (range "2.1.0" "2.2.0") "0.2.2")
# This is the original dependency:
- # "0.1.0" = ["8.17" "1.18.0"];
+ # (case "8.17" "1.18.0" "0.1.0")
# But it is not loadable. The math-comp nixpkgs configuration
# will always only output version 1.18.0 for Coq 8.17.
# Hence, the Coq 8.17 and math-comp 1.17.0 must be explicitly set
# to load it.
# (This version is not on the math-comp CI and hence not checked.)
- "0.1.0" = cmc "8.17" "1.17.0";
- }
- )) null;
+ (case "8.17" "1.17.0" "0.1.0")
+ ]
+ null;
releaseRev = v: "v${v}";
diff --git a/pkgs/development/coq-modules/stalmarck/default.nix b/pkgs/development/coq-modules/stalmarck/default.nix
index 2da766715881..e493321d8a0a 100644
--- a/pkgs/development/coq-modules/stalmarck/default.nix
+++ b/pkgs/development/coq-modules/stalmarck/default.nix
@@ -9,12 +9,13 @@
let
repo = "stalmarck";
defaultVersion =
+ let
+ case = case: out: { inherit case out; };
+ in
with lib.versions;
- lib.switch coq.coq-version (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: case: { inherit case out; }) {
- "8.20.0" = isEq "8.20";
- }
- )) null;
+ lib.switch coq.coq-version [
+ (case (isEq "8.20") "8.20.0")
+ ] null;
release = {
"8.20.0".sha256 = "sha256-jITxQT1jLyZvWCGPnmK8i3IrwsZwMPOV0aBe9r22TIQ=";
};
diff --git a/pkgs/development/coq-modules/stdlib/default.nix b/pkgs/development/coq-modules/stdlib/default.nix
index 90933aa24d75..474fd188afdf 100644
--- a/pkgs/development/coq-modules/stdlib/default.nix
+++ b/pkgs/development/coq-modules/stdlib/default.nix
@@ -14,13 +14,14 @@
inherit version;
defaultVersion =
+ let
+ case = case: out: { inherit case out; };
+ in
with lib.versions;
- lib.switch coq.coq-version (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: case: { inherit case out; }) {
- "9.0.0" = isLe "9.0";
- # the < 9.0 above is artificial as stdlib was included in Coq before
- }
- )) null;
+ lib.switch coq.coq-version [
+ (case (isLe "9.0") "9.0.0")
+ # the < 9.0 above is artificial as stdlib was included in Coq before
+ ] null;
releaseRev = v: "V${v}";
release."9.0.0".sha256 = "sha256-2l7ak5Q/NbiNvUzIVXOniEneDXouBMNSSVFbD1Pf8cQ=";
diff --git a/pkgs/development/coq-modules/stdpp/default.nix b/pkgs/development/coq-modules/stdpp/default.nix
index 41eaacb7fde9..3f64dc57f47c 100644
--- a/pkgs/development/coq-modules/stdpp/default.nix
+++ b/pkgs/development/coq-modules/stdpp/default.nix
@@ -12,18 +12,19 @@ mkCoqDerivation {
domain = "gitlab.mpi-sws.org";
owner = "iris";
defaultVersion =
+ let
+ case = case: out: { inherit case out; };
+ in
with lib.versions;
- lib.switch coq.coq-version (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: case: { inherit case out; }) {
- "1.11.0" = range "8.19" "9.0";
- "1.10.0" = range "8.18" "8.19";
- "1.9.0" = range "8.16" "8.18";
- "1.8.0" = range "8.13" "8.17";
- "1.6.0" = range "8.12" "8.14";
- "1.5.0" = range "8.11" "8.13";
- "1.4.0" = range "8.8" "8.10";
- }
- )) null;
+ lib.switch coq.coq-version [
+ (case (range "8.19" "9.0") "1.11.0")
+ (case (range "8.18" "8.19") "1.10.0")
+ (case (range "8.16" "8.18") "1.9.0")
+ (case (range "8.13" "8.17") "1.8.0")
+ (case (range "8.12" "8.14") "1.6.0")
+ (case (range "8.11" "8.13") "1.5.0")
+ (case (range "8.8" "8.10") "1.4.0")
+ ] null;
release."1.11.0".sha256 = "sha256-yqnkaA5gUdZBJZ3JnvPYh11vKQRl0BAnior1yGowG7k=";
release."1.10.0".sha256 = "sha256-bfynevIKxAltvt76lsqVxBmifFkzEhyX8lRgTKxr21I=";
release."1.9.0".sha256 = "sha256-OXeB+XhdyzWMp5Karsz8obp0rTeMKrtG7fu/tmc9aeI=";
diff --git a/pkgs/development/libraries/libquotient/default.nix b/pkgs/development/libraries/libquotient/default.nix
index 7964b19391bb..156375d8a2da 100644
--- a/pkgs/development/libraries/libquotient/default.nix
+++ b/pkgs/development/libraries/libquotient/default.nix
@@ -63,7 +63,6 @@ stdenv.mkDerivation rec {
homepage = "https://quotient-im.github.io/libQuotient/";
license = licenses.lgpl21;
maintainers = with maintainers; [
- colemickens
matthiasbeyer
];
};
diff --git a/pkgs/development/libraries/libressl/default.nix b/pkgs/development/libraries/libressl/default.nix
index 00bf49f5dc25..06554b6f749e 100644
--- a/pkgs/development/libraries/libressl/default.nix
+++ b/pkgs/development/libraries/libressl/default.nix
@@ -23,7 +23,7 @@ let
inherit version;
src = fetchurl {
- url = "mirror://openbsd/LibreSSL/${pname}-${version}.tar.gz";
+ url = "mirror://openbsd/LibreSSL/libressl-${version}.tar.gz";
inherit hash;
};
@@ -38,6 +38,8 @@ let
"-DCMAKE_C_FLAGS=-DHAVE_GNU_STACK"
# libressl will append this to the regular prefix for libdir
"-DCMAKE_INSTALL_LIBDIR=lib"
+
+ "-DTLS_DEFAULT_CA_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt"
] ++ lib.optional buildShared "-DBUILD_SHARED_LIBS=ON";
# The autoconf build is broken as of 2.9.1, resulting in the following error:
@@ -47,19 +49,14 @@ let
preConfigure = ''
rm configure
substituteInPlace CMakeLists.txt \
- --replace 'exec_prefix \''${prefix}' "exec_prefix ${placeholder "bin"}" \
- --replace 'libdir \''${exec_prefix}' 'libdir \''${prefix}'
+ --replace-fail 'exec_prefix \''${prefix}' "exec_prefix ${placeholder "bin"}" \
+ --replace-fail 'libdir \''${exec_prefix}' 'libdir \''${prefix}'
'';
inherit patches;
- # Since 2.9.x the default location can't be configured from the build using
- # DEFAULT_CA_FILE anymore, instead we have to patch the default value.
postPatch = ''
patchShebangs tests/
- ${lib.optionalString (lib.versionAtLeast version "2.9.2") ''
- substituteInPlace ./tls/tls_config.c --replace '"/etc/ssl/cert.pem"' '"${cacert}/etc/ssl/certs/ca-bundle.crt"'
- ''}
'';
doCheck = !(stdenv.hostPlatform.isPower64 || stdenv.hostPlatform.isRiscV);
@@ -116,47 +113,8 @@ let
];
};
};
-
in
{
- libressl_3_6 = generic {
- version = "3.6.3";
- hash = "sha256-h7G7426e7I0K5fBMg9NrLFsOWBeEx+sIFwJe0p6t6jc=";
- patches = [
- (fetchpatch {
- url = "https://github.com/libressl/portable/commit/86e4965d7f20c3a6afc41d95590c9f6abb4fe788.patch";
- includes = [ "tests/tlstest.sh" ];
- hash = "sha256-XmmKTvP6+QaWxyGFCX6/gDfME9GqBWSx4X8RH8QbDXA=";
- })
- ];
- };
-
- libressl_3_7 = generic {
- version = "3.7.3";
- hash = "sha256-eUjIVqkMglvXJotvhWdKjc0lS65C4iF4GyTj+NwzXbM=";
- patches = [
- (fetchpatch {
- url = "https://github.com/libressl/portable/commit/86e4965d7f20c3a6afc41d95590c9f6abb4fe788.patch";
- includes = [ "tests/tlstest.sh" ];
- hash = "sha256-XmmKTvP6+QaWxyGFCX6/gDfME9GqBWSx4X8RH8QbDXA=";
- })
- ];
- };
-
- libressl_3_8 = generic {
- version = "3.8.4";
- hash = "sha256-wM75z+F0rDZs5IL1Qv3bB3Ief6DK+s40tJqHIPo3/n0=";
-
- patches = [
- # Fixes build on ppc64
- # https://github.com/libressl/portable/pull/1073
- (fetchpatch {
- url = "https://github.com/libressl/portable/commit/e6c7de3f03c51fbdcf5ad88bf12fe9e128521f0d.patch";
- hash = "sha256-LJy3fjbnc9h5DG3/+8bLECwJeBpPxy3hU8sPuhovmcw=";
- })
- ];
- };
-
libressl_3_9 = generic {
version = "3.9.2";
hash = "sha256-ewMdrGSlnrbuMwT3/7ddrTOrjJ0nnIR/ksifuEYGj5c=";
diff --git a/pkgs/development/libraries/lief/default.nix b/pkgs/development/libraries/lief/default.nix
index 5e3f389f1440..c01e98410526 100644
--- a/pkgs/development/libraries/lief/default.nix
+++ b/pkgs/development/libraries/lief/default.nix
@@ -17,13 +17,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "lief";
- version = "0.16.5";
+ version = "0.16.6";
src = fetchFromGitHub {
owner = "lief-project";
repo = "LIEF";
tag = finalAttrs.version;
- hash = "sha256-X1hkEOgU7AaQDeVlrFM4VDqweElADdColRffbV8/BfM=";
+ hash = "sha256-SvwFyhIBuG0u5rE7+1OaO7VZu4/X4jVI6oFOm5+yCd8=";
};
outputs = [
diff --git a/pkgs/development/libraries/quarto/default.nix b/pkgs/development/libraries/quarto/default.nix
index 831e78e01817..bf141afd4391 100644
--- a/pkgs/development/libraries/quarto/default.nix
+++ b/pkgs/development/libraries/quarto/default.nix
@@ -38,11 +38,11 @@ let
in
stdenv.mkDerivation (final: {
pname = "quarto";
- version = "1.7.31";
+ version = "1.7.32";
src = fetchurl {
url = "https://github.com/quarto-dev/quarto-cli/releases/download/v${final.version}/quarto-${final.version}-linux-amd64.tar.gz";
- hash = "sha256-YRSe4MLcJCaqBDGwHiYxOxAGFcehZLIVCkXjTE0ezFc=";
+ hash = "sha256-JiUF49JkWcZOZu/v1LkkDrdV6iDdb+h21qpkx6exPSc=";
};
patches = [
diff --git a/pkgs/development/ocaml-modules/argon2/default.nix b/pkgs/development/ocaml-modules/argon2/default.nix
new file mode 100644
index 000000000000..0690ce740d3b
--- /dev/null
+++ b/pkgs/development/ocaml-modules/argon2/default.nix
@@ -0,0 +1,40 @@
+{
+ lib,
+ fetchurl,
+ ctypes,
+ ctypes-foreign,
+ dune-configurator,
+ result,
+ libargon2,
+ buildDunePackage,
+}:
+
+buildDunePackage rec {
+ pname = "argon2";
+ version = "1.0.2";
+
+ minimalOCamlVersion = "4.02.3";
+
+ src = fetchurl {
+ url = "https://github.com/Khady/ocaml-argon2/releases/download/${version}/argon2-${version}.tbz";
+ hash = "sha256-NDsOV4kPT2SnSfNHDBAK+VKZgHDIKxW+dNJ/C5bQ8gU=";
+ };
+
+ buildInputs = [
+ dune-configurator
+ ];
+
+ propagatedBuildInputs = [
+ ctypes
+ ctypes-foreign
+ libargon2
+ result
+ ];
+
+ meta = {
+ homepage = "https://github.com/Khady/ocaml-argon2";
+ description = "Ocaml bindings to Argon2";
+ license = lib.licenses.mit;
+ maintainers = with lib.maintainers; [ naora ];
+ };
+}
diff --git a/pkgs/development/python-modules/aider-chat/default.nix b/pkgs/development/python-modules/aider-chat/default.nix
index 54953304559a..50eec1e4db03 100644
--- a/pkgs/development/python-modules/aider-chat/default.nix
+++ b/pkgs/development/python-modules/aider-chat/default.nix
@@ -126,7 +126,7 @@ let
d.stopwords
]);
- version = "0.84.0";
+ version = "0.85.0";
aider-chat = buildPythonPackage {
pname = "aider-chat";
inherit version;
@@ -139,7 +139,7 @@ let
owner = "Aider-AI";
repo = "aider";
tag = "v${version}";
- hash = "sha256-TOlqwJM9wIAURSimuh9mysYDwgH9AfFev8jY9elLNk8=";
+ hash = "sha256-ZYjDRu4dAOkmz+fMOG8KU6y27RI/t3iEoTSUebundqo=";
};
pythonRelaxDeps = true;
@@ -385,8 +385,8 @@ let
meta = {
description = "AI pair programming in your terminal";
- homepage = "https://github.com/paul-gauthier/aider";
- changelog = "https://github.com/paul-gauthier/aider/blob/v${version}/HISTORY.md";
+ homepage = "https://github.com/Aider-AI/aider";
+ changelog = "https://github.com/Aider-AI/aider/blob/v${version}/HISTORY.md";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
happysalada
diff --git a/pkgs/development/python-modules/bangla/default.nix b/pkgs/development/python-modules/bangla/default.nix
index c5b00393bada..46dcbbb43aba 100644
--- a/pkgs/development/python-modules/bangla/default.nix
+++ b/pkgs/development/python-modules/bangla/default.nix
@@ -6,12 +6,12 @@
buildPythonPackage rec {
pname = "bangla";
- version = "0.0.2";
+ version = "0.0.5";
format = "setuptools";
src = fetchPypi {
inherit pname version;
- hash = "sha256-F8j9UBMhZgB31atqebdGu6cfnkk573isDZp1171xXag=";
+ hash = "sha256-rX2/rUUf9g4otYMNX0LDPXSIDRbIE8xRl95NamHzRwQ=";
};
pythonImportsCheck = [ "bangla" ];
diff --git a/pkgs/development/python-modules/basswood-av/default.nix b/pkgs/development/python-modules/basswood-av/default.nix
index 2216ffce3500..38b9997efb63 100644
--- a/pkgs/development/python-modules/basswood-av/default.nix
+++ b/pkgs/development/python-modules/basswood-av/default.nix
@@ -4,19 +4,10 @@
fetchFromGitHub,
setuptools,
pkg-config,
- cython,
+ cython_3_1,
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";
@@ -31,7 +22,7 @@ buildPythonPackage rec {
build-system = [
setuptools
- cython'
+ cython_3_1
];
nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/python-modules/blosc2/default.nix b/pkgs/development/python-modules/blosc2/default.nix
index bfe35aeab32d..c615fd320fbb 100644
--- a/pkgs/development/python-modules/blosc2/default.nix
+++ b/pkgs/development/python-modules/blosc2/default.nix
@@ -32,14 +32,14 @@
buildPythonPackage rec {
pname = "blosc2";
- version = "3.4.0";
+ version = "3.5.0";
pyproject = true;
src = fetchFromGitHub {
owner = "Blosc";
repo = "python-blosc2";
tag = "v${version}";
- hash = "sha256-dCTASj3jNY4tQdllis9F95yNRD/KwctBxiS4MjkxeX0=";
+ hash = "sha256-Kimcz4L7Ko4cRj9IaYuLXzmU0+3ERQXOmPXr0E9mOyA=";
};
nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/cloudflare/default.nix b/pkgs/development/python-modules/cloudflare/default.nix
index 7fb8db480f51..b19641a9c278 100644
--- a/pkgs/development/python-modules/cloudflare/default.nix
+++ b/pkgs/development/python-modules/cloudflare/default.nix
@@ -15,14 +15,14 @@
buildPythonPackage rec {
pname = "cloudflare";
- version = "4.2.0";
+ version = "4.3.1";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
- hash = "sha256-QKpxgWOpsHYagVvVKnzBilBioQvjF3yy1Kk2dwzACCY=";
+ hash = "sha256-seHGvuuNmPY7/gocuodPxOIuAAvMSQVE+VbGibO1slg=";
};
postPatch = ''
diff --git a/pkgs/development/python-modules/coredis/default.nix b/pkgs/development/python-modules/coredis/default.nix
index 5f4f4c6c24ae..8b06307031f8 100644
--- a/pkgs/development/python-modules/coredis/default.nix
+++ b/pkgs/development/python-modules/coredis/default.nix
@@ -18,14 +18,14 @@
buildPythonPackage rec {
pname = "coredis";
- version = "4.22.0";
+ version = "4.23.1";
pyproject = true;
src = fetchFromGitHub {
owner = "alisaifee";
repo = "coredis";
tag = version;
- hash = "sha256-EMiZkKUcVbinWtYimNSQ715PH7pCrXpNKqseLFCu/48=";
+ hash = "sha256-5Ho9X2VCOwKo079M2ReJ93jqEpG2ZV6vKM5/qrgzjxM=";
};
postPatch = ''
diff --git a/pkgs/development/python-modules/duckdb-engine/default.nix b/pkgs/development/python-modules/duckdb-engine/default.nix
index e45d274b666e..61ffd36874a8 100644
--- a/pkgs/development/python-modules/duckdb-engine/default.nix
+++ b/pkgs/development/python-modules/duckdb-engine/default.nix
@@ -77,6 +77,12 @@ buildPythonPackage rec {
# user agent not available in nixpkgs
"test_user_agent"
"test_user_agent_with_custom_user_agent"
+
+ # Fail under nixpkgs-review in the sandbox due to "missing tables"
+ "test_get_columns"
+ "test_get_foreign_keys"
+ "test_get_check_constraints"
+ "test_get_unique_constraints"
];
pythonImportsCheck = [ "duckdb_engine" ];
diff --git a/pkgs/development/python-modules/flashinfer/default.nix b/pkgs/development/python-modules/flashinfer/default.nix
index 83b91b746e7c..efd7d39bcbcb 100644
--- a/pkgs/development/python-modules/flashinfer/default.nix
+++ b/pkgs/development/python-modules/flashinfer/default.nix
@@ -77,6 +77,7 @@ buildPythonPackage {
preConfigure = ''
export FLASHINFER_ENABLE_AOT=1
export TORCH_NVCC_FLAGS="--maxrregcount=64"
+ export MAX_JOBS="$NIX_BUILD_CORES"
'';
TORCH_CUDA_ARCH_LIST = lib.concatStringsSep ";" torch.cudaCapabilities;
diff --git a/pkgs/development/python-modules/gcal-sync/default.nix b/pkgs/development/python-modules/gcal-sync/default.nix
index 16860b78d8e6..ef8337336a79 100644
--- a/pkgs/development/python-modules/gcal-sync/default.nix
+++ b/pkgs/development/python-modules/gcal-sync/default.nix
@@ -15,7 +15,7 @@
buildPythonPackage rec {
pname = "gcal-sync";
- version = "7.1.0";
+ version = "7.2.0";
pyproject = true;
disabled = pythonOlder "3.10";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
owner = "allenporter";
repo = "gcal_sync";
tag = version;
- hash = "sha256-jdhPoZdkgMg9TBIV9j3dvaEnEOpOoa1OKBeR1YAWWKs=";
+ hash = "sha256-cdQwjjZNQlIj6oN4kJ53B576pKkLeYiXjGWqMB/EReU=";
};
build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/geotorch/default.nix b/pkgs/development/python-modules/geotorch/default.nix
new file mode 100644
index 000000000000..12c4e14c5941
--- /dev/null
+++ b/pkgs/development/python-modules/geotorch/default.nix
@@ -0,0 +1,41 @@
+{
+ lib,
+ buildPythonPackage,
+ fetchFromGitHub,
+ setuptools,
+ torch,
+ pytestCheckHook,
+}:
+
+buildPythonPackage rec {
+ pname = "geotorch";
+ version = "0.3.0";
+ pyproject = true;
+
+ src = fetchFromGitHub {
+ owner = "lezcano";
+ repo = "geotorch";
+ tag = version;
+ hash = "sha256-kkn0PZzQRodXCeX3RcajVvrp1TrhSVgKYwyJGAMuvLM=";
+ };
+
+ build-system = [ setuptools ];
+
+ dependencies = [
+ torch
+ ];
+
+ pythonImportsCheck = [ "geotorch" ];
+
+ nativeCheckInputs = [
+ pytestCheckHook
+ ];
+
+ meta = {
+ description = "Constrained optimization toolkit for PyTorch";
+ homepage = "https://github.com/lezcano/geotorch";
+ changelog = "https://github.com/lezcano/geotorch/releases/tag/${version}";
+ license = lib.licenses.mit;
+ maintainers = with lib.maintainers; [ flokli ];
+ };
+}
diff --git a/pkgs/development/python-modules/gftools/default.nix b/pkgs/development/python-modules/gftools/default.nix
index 720335d69654..42424aeb4a0c 100644
--- a/pkgs/development/python-modules/gftools/default.nix
+++ b/pkgs/development/python-modules/gftools/default.nix
@@ -15,6 +15,7 @@
bumpfontversion,
coreutils,
diffenator2,
+ ffmpeg-python,
font-v,
fontbakery,
fontfeatures,
@@ -61,14 +62,14 @@ let
in
buildPythonPackage rec {
pname = "gftools";
- version = "0.9.85";
+ version = "0.9.86";
pyproject = true;
src = fetchFromGitHub {
owner = "googlefonts";
repo = "gftools";
tag = "v${version}";
- hash = "sha256-D7s4msdJFiBlIvREiOqLACDwciNi9Di0dRB+qLpfhFY=";
+ hash = "sha256-4N27R+rbPSnxg701OGtrD7/iwTaUBdhp528+9n4ZIt8=";
};
postPatch = ''
@@ -91,7 +92,7 @@ buildPythonPackage rec {
substituteInPlace \
Lib/gftools/builder/operations/autohintOTF.py \
- --replace-fail '"otfautohint' '"${lib.getExe' afdko "otfautohint"}'
+ --replace-fail 'otfautohint' '${lib.getExe' afdko "otfautohint"}'
substituteInPlace \
Lib/gftools/builder/operations/paintcompiler.py \
@@ -106,7 +107,7 @@ buildPythonPackage rec {
--replace-fail '"cp' '"${lib.getExe' coreutils "cp"}'
substituteInPlace \
- Lib/gftools/builder/operations/{fix,remap,autohint,buildStat,addSubset,remapLayout,buildVTT}.py \
+ Lib/gftools/builder/operations/{fix,remap,autohint,buildStat,addSubset,remapLayout,buildVTT,buildAvar2}.py \
--replace-fail '"gftools' '"${placeholder "out"}/bin/gftools'
substituteInPlace \
@@ -135,6 +136,7 @@ buildPythonPackage rec {
beautifulsoup4
brotli
bumpfontversion
+ ffmpeg-python
font-v
fontfeatures
fontmake
diff --git a/pkgs/development/python-modules/glyphslib/default.nix b/pkgs/development/python-modules/glyphslib/default.nix
index 449b52c4c35a..3cd569339bf0 100644
--- a/pkgs/development/python-modules/glyphslib/default.nix
+++ b/pkgs/development/python-modules/glyphslib/default.nix
@@ -17,20 +17,20 @@
buildPythonPackage rec {
pname = "glyphslib";
- version = "6.10.3";
+ version = "6.11.0";
- format = "pyproject";
+ pyproject = true;
src = fetchFromGitHub {
owner = "googlefonts";
repo = "glyphsLib";
tag = "v${version}";
- hash = "sha256-DLyWuFrAwc/ElGFjLxWY4RihwlQ143AUnWBzzJttZT4=";
+ hash = "sha256-hJLJ30ZT6uRSVTUi6XPGyn9fncy1A1hvhgRKTL9a2gs=";
};
- nativeBuildInputs = [ setuptools-scm ];
+ build-system = [ setuptools-scm ];
- propagatedBuildInputs = [
+ dependencies = [
fonttools
openstep-plist
ufolib2
diff --git a/pkgs/development/python-modules/google-cloud-artifact-registry/default.nix b/pkgs/development/python-modules/google-cloud-artifact-registry/default.nix
index afa2e4d8dcd9..bb24a56b763f 100644
--- a/pkgs/development/python-modules/google-cloud-artifact-registry/default.nix
+++ b/pkgs/development/python-modules/google-cloud-artifact-registry/default.nix
@@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "google-cloud-artifact-registry";
- version = "1.16.0";
+ version = "1.16.1";
pyproject = true;
disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "google_cloud_artifact_registry";
inherit version;
- hash = "sha256-PDikL/ECsIdQn7gXoF04SVxpp7aZ9allTJL+pnd947E=";
+ hash = "sha256-X3v503uTPImEhSFw/oQlAaitx/MSgagblK1hkkSL7M4=";
};
build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/html-sanitizer/default.nix b/pkgs/development/python-modules/html-sanitizer/default.nix
index c978fdd02f6a..6178b563e6d1 100644
--- a/pkgs/development/python-modules/html-sanitizer/default.nix
+++ b/pkgs/development/python-modules/html-sanitizer/default.nix
@@ -17,14 +17,14 @@
buildPythonPackage rec {
pname = "html-sanitizer";
- version = "2.4.4";
+ version = "2.6";
pyproject = true;
src = fetchFromGitHub {
owner = "matthiask";
repo = "html-sanitizer";
tag = version;
- hash = "sha256-6OWFLsuefeDzQ1uHnLmboKDgrbY/xJCwqsSQlDaJlRs=";
+ hash = "sha256-egBGhv7vudH32jwh9rAXuXfMzPDxJ60S5WKbc4kzCTU=";
};
build-system = [ hatchling ];
@@ -43,10 +43,6 @@ buildPythonPackage rec {
# Tests are sensitive to output
"test_billion_laughs"
"test_10_broken_html"
-
- # Mismatch snapshot (AssertionError)
- # https://github.com/matthiask/html-sanitizer/issues/53
- "test_keep_typographic_whitespace"
];
pythonImportsCheck = [ "html_sanitizer" ];
diff --git a/pkgs/development/python-modules/i-pi/default.nix b/pkgs/development/python-modules/i-pi/default.nix
index 681624dd3153..0624297c2e15 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.5";
+ version = "3.1.5.1";
pyproject = true;
src = fetchFromGitHub {
owner = "i-pi";
repo = "i-pi";
tag = "v${version}";
- hash = "sha256-jXryhWC8IGdj33rM50KHxX9WONyJlqpUXbzi33VQdPA=";
+ hash = "sha256-az1rQlXwYUyPA4wP5wxBZtmJhQlvHxhRZF2O141i76o=";
};
build-system = [
diff --git a/pkgs/development/python-modules/ipylab/default.nix b/pkgs/development/python-modules/ipylab/default.nix
index a10fa6ff1fff..3727a1abd7cf 100644
--- a/pkgs/development/python-modules/ipylab/default.nix
+++ b/pkgs/development/python-modules/ipylab/default.nix
@@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "ipylab";
- version = "1.0.0";
+ version = "1.1.0";
pyproject = true;
# This needs to be fetched from Pypi, as we rely on the nodejs build to be skipped,
# which only happens if ipylab/labextension/style.js is present.
src = fetchPypi {
inherit pname version;
- hash = "sha256-xPB0Sx+W1sRgW5hqpZ68zWRFG/cclIOgGat6UsVlYXA=";
+ hash = "sha256-85hYpNnvbsuC+O/uufa1oBo6ZNTzxPKl/i1YrllN4hI=";
};
build-system = [
diff --git a/pkgs/development/python-modules/mkdocs-redoc-tag/default.nix b/pkgs/development/python-modules/mkdocs-redoc-tag/default.nix
index e3a6eac418f0..1b121ff00c78 100644
--- a/pkgs/development/python-modules/mkdocs-redoc-tag/default.nix
+++ b/pkgs/development/python-modules/mkdocs-redoc-tag/default.nix
@@ -3,34 +3,34 @@
beautifulsoup4,
buildPythonPackage,
fetchFromGitHub,
+ hatchling,
mkdocs,
mkdocs-material,
pytestCheckHook,
pythonOlder,
- setuptools,
}:
buildPythonPackage rec {
pname = "mkdocs-redoc-tag";
- version = "0.1.0";
+ version = "0.2.0";
pyproject = true;
- disabled = pythonOlder "3.7";
+ disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "Blueswen";
repo = "mkdocs-redoc-tag";
tag = "v${version}";
- hash = "sha256-TOGFch+Uto3qeVMaHqK8SEy0v0cKtHofoGE8T1mnBOk=";
+ hash = "sha256-pgJMcK8LZOj0niyRcbHi8Szsro2iNTj6hz6r24jrtVw=";
};
+ build-system = [ hatchling ];
+
propagatedBuildInputs = [
mkdocs
beautifulsoup4
];
- nativeBuildInputs = [ setuptools ];
-
nativeCheckInputs = [
mkdocs-material
pytestCheckHook
diff --git a/pkgs/development/python-modules/msgraph-sdk/default.nix b/pkgs/development/python-modules/msgraph-sdk/default.nix
index f40c1ac5d571..cb4f42b8c8b2 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.33.0";
+ version = "1.34.0";
pyproject = true;
disabled = pythonOlder "3.8";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = "microsoftgraph";
repo = "msgraph-sdk-python";
tag = "v${version}";
- hash = "sha256-s8YUxM8wqQ3I9ckcyArriTK70+YTBzY4jH2WsQh8jtM=";
+ hash = "sha256-fd3ts6El2b3spg0T+awnNlkY7SxXKIAdvbIpo0SkHec=";
};
build-system = [ flit-core ];
diff --git a/pkgs/development/python-modules/publicsuffixlist/default.nix b/pkgs/development/python-modules/publicsuffixlist/default.nix
index 4a7746f2f4e2..fa0a83987633 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.20250617";
+ version = "1.0.2.20250627";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
- hash = "sha256-UELX/GP1cvkmMpNu+zzmQywaKkZPJP1D8lr3QmGHkOY=";
+ hash = "sha256-AwLhjTojOEML4vU/xmv99M3TjtYXJAX1AcjCZuu58Ds=";
};
build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/pyezvizapi/default.nix b/pkgs/development/python-modules/pyezvizapi/default.nix
index 51ade8376315..788fe5a452f6 100644
--- a/pkgs/development/python-modules/pyezvizapi/default.nix
+++ b/pkgs/development/python-modules/pyezvizapi/default.nix
@@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "pyezvizapi";
- version = "1.0.0.9";
+ version = "1.0.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "RenierM26";
repo = "pyEzvizApi";
tag = version;
- hash = "sha256-iqTNkfecBrxJ3BwACbMmcHqequ6IUzjL550ip+jNIrs=";
+ hash = "sha256-6Kwo7E+lmyqw0VpqH6AOn27tPvNPA/PgDiGSuGXo6PA=";
};
build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/pymonctl/default.nix b/pkgs/development/python-modules/pymonctl/default.nix
index 157eedf6cd9f..ec4ee4fb1073 100644
--- a/pkgs/development/python-modules/pymonctl/default.nix
+++ b/pkgs/development/python-modules/pymonctl/default.nix
@@ -1,5 +1,6 @@
{
lib,
+ stdenv,
buildPythonPackage,
fetchFromGitHub,
setuptools,
@@ -38,5 +39,6 @@ buildPythonPackage rec {
license = lib.licenses.bsd3;
description = "Cross-Platform toolkit to get info on and control monitors connected";
maintainers = with lib.maintainers; [ sigmanificient ];
+ broken = stdenv.hostPlatform.isDarwin;
};
}
diff --git a/pkgs/development/python-modules/pytensor/default.nix b/pkgs/development/python-modules/pytensor/default.nix
index 61e040f5294c..813a6d05635b 100644
--- a/pkgs/development/python-modules/pytensor/default.nix
+++ b/pkgs/development/python-modules/pytensor/default.nix
@@ -33,7 +33,7 @@
buildPythonPackage rec {
pname = "pytensor";
- version = "2.31.4";
+ version = "2.31.5";
pyproject = true;
src = fetchFromGitHub {
@@ -43,7 +43,7 @@ buildPythonPackage rec {
postFetch = ''
sed -i 's/git_refnames = "[^"]*"/git_refnames = " (tag: ${src.tag})"/' $out/pytensor/_version.py
'';
- hash = "sha256-wHkEZqgnau8DaoOaSFg0Ma6EtjGLmc+y4fskNEyk7yg=";
+ hash = "sha256-9sIFBKuPMwg+5JHA9zhvaSvluxthUtc/rdqMZPl+VZg=";
};
build-system = [
diff --git a/pkgs/development/python-modules/pytest-cases/default.nix b/pkgs/development/python-modules/pytest-cases/default.nix
index d74ffcb45d2a..f6fac10aaadf 100644
--- a/pkgs/development/python-modules/pytest-cases/default.nix
+++ b/pkgs/development/python-modules/pytest-cases/default.nix
@@ -4,6 +4,7 @@
fetchPypi,
makefun,
decopatch,
+ packaging,
pythonOlder,
pytest,
setuptools-scm,
@@ -11,24 +12,24 @@
buildPythonPackage rec {
pname = "pytest-cases";
- version = "3.8.6";
+ version = "3.9.1";
pyproject = true;
- disabled = pythonOlder "3.6";
+ disabled = pythonOlder "3.9";
src = fetchPypi {
pname = "pytest_cases";
inherit version;
- hash = "sha256-XCTgqwy2+OgCpGm3llkGozPTuruHRYbrxW9+LL4afEQ=";
+ hash = "sha256-xOGB8bUlyTGjGNSBL6jeZWwsj7d/zPFXHs8Mxf6Of48=";
};
build-system = [ setuptools-scm ];
- buildInputs = [ pytest ];
-
dependencies = [
decopatch
makefun
+ packaging
+ pytest
];
# Tests have dependencies (pytest-harvest, pytest-steps) which
diff --git a/pkgs/development/python-modules/pytest-ruff/default.nix b/pkgs/development/python-modules/pytest-ruff/default.nix
index e200d446385b..87335148514c 100644
--- a/pkgs/development/python-modules/pytest-ruff/default.nix
+++ b/pkgs/development/python-modules/pytest-ruff/default.nix
@@ -18,14 +18,14 @@
buildPythonPackage rec {
pname = "pytest-ruff";
- version = "0.4.1";
+ version = "0.5";
pyproject = true;
src = fetchFromGitHub {
owner = "businho";
repo = "pytest-ruff";
tag = "v${version}";
- hash = "sha256-Ol+W5mDGMCwptuBa0b+Plkm64UUBf9bmr9YBo8g93Ok=";
+ hash = "sha256-fwtubbTRvPMSGhylP3H5zhIwHdeWeTbvxZY5doM+tvw=";
};
build-system = [
@@ -48,7 +48,7 @@ buildPythonPackage rec {
meta = {
description = "A pytest plugin to run ruff";
homepage = "https://github.com/businho/pytest-ruff";
- changelog = "https://github.com/businho/pytest-ruff/releases/tag/v${version}";
+ changelog = "https://github.com/businho/pytest-ruff/releases/tag/${src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ baloo ];
};
diff --git a/pkgs/development/python-modules/robotframework-databaselibrary/default.nix b/pkgs/development/python-modules/robotframework-databaselibrary/default.nix
index efc09a7c95f3..15e766dd0a83 100644
--- a/pkgs/development/python-modules/robotframework-databaselibrary/default.nix
+++ b/pkgs/development/python-modules/robotframework-databaselibrary/default.nix
@@ -5,20 +5,19 @@
setuptools,
robotframework,
robotframework-assertion-engine,
- robotframework-excellib,
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "robotframework-databaselibrary";
- version = "2.0.4";
+ version = "2.1.3";
pyproject = true;
src = fetchFromGitHub {
owner = "MarketSquare";
repo = "Robotframework-Database-Library";
tag = "v.${version}";
- hash = "sha256-ixgKw5iZw81TlgvvbsJXI753OkHuyJHhSeNVqXtsY4w=";
+ hash = "sha256-XsRXQU31Q2iGUMJgDvIIcSsT8guALZO5tnIjwGLR8+Q=";
};
nativeBuildInputs = [
@@ -29,7 +28,6 @@ buildPythonPackage rec {
propagatedBuildInputs = [
robotframework
robotframework-assertion-engine
- robotframework-excellib
];
pythonImportsCheck = [ "DatabaseLibrary" ];
diff --git a/pkgs/development/python-modules/streamlit/default.nix b/pkgs/development/python-modules/streamlit/default.nix
index 80a8fe7e51fb..6f8fa1272adb 100644
--- a/pkgs/development/python-modules/streamlit/default.nix
+++ b/pkgs/development/python-modules/streamlit/default.nix
@@ -28,14 +28,14 @@
buildPythonPackage rec {
pname = "streamlit";
- version = "1.45.1";
+ version = "1.46.0";
pyproject = true;
disabled = pythonOlder "3.9";
src = fetchPypi {
inherit pname version;
- hash = "sha256-431WwK9SQNvCQJdogOgTZmicKQpVk3ZBckb5s/UbQhc=";
+ hash = "sha256-Cyc0tI8R8eXIBGARtrGiJ0mC3GV+7yrejbcPDh3FPdo=";
};
build-system = [
diff --git a/pkgs/development/python-modules/wgpu-py/default.nix b/pkgs/development/python-modules/wgpu-py/default.nix
index eab8ceb8a1dc..e951f5a30933 100644
--- a/pkgs/development/python-modules/wgpu-py/default.nix
+++ b/pkgs/development/python-modules/wgpu-py/default.nix
@@ -27,35 +27,48 @@
imageio,
numpy,
psutil,
+ pypng,
pytest,
ruff,
trio,
# passthru
- wgpu-py,
testers,
+ wgpu-py,
}:
buildPythonPackage rec {
pname = "wgpu-py";
- version = "0.21.1";
+ version = "0.22.2";
pyproject = true;
src = fetchFromGitHub {
owner = "pygfx";
repo = "wgpu-py";
tag = "v${version}";
- hash = "sha256-XlV0ovIF3w/u6f65+3c4zAfisCoQDbzMiINJJTR/I6o=";
+ hash = "sha256-HGpOEsTj4t57z38qKF6i1oUj7R7aFl8Xgk5y0TtgyMg=";
};
- # `requests` is only used to fetch a copy of `wgpu-native` via `tools/hatch_build.py`.
- # As we retrieve `wgpu-native` from nixpkgs instead, none of this is needed, and
- # remove an extra dependency.
- postPatch = ''
- substituteInPlace pyproject.toml \
- --replace-fail 'requires = ["requests", "hatchling"]' 'requires = ["hatchling"]' \
- --replace-fail '[tool.hatch.build.targets.wheel.hooks.custom]' "" \
- --replace-fail 'path = "tools/hatch_build.py"' ""
- '';
+ postPatch =
+ # `requests` is only used to fetch a copy of `wgpu-native` via `tools/hatch_build.py`.
+ # As we retrieve `wgpu-native` from nixpkgs instead, none of this is needed, and
+ # remove an extra dependency.
+ ''
+ substituteInPlace pyproject.toml \
+ --replace-fail 'requires = ["requests", "hatchling"]' 'requires = ["hatchling"]' \
+ --replace-fail '[tool.hatch.build.targets.wheel.hooks.custom]' "" \
+ --replace-fail 'path = "tools/hatch_build.py"' ""
+ ''
+ # Skip the compute_textures / astronauts example during testing, as it uses `imageio` to
+ # retrieve an image of an astronaut, which touches the network.
+ + ''
+ substituteInPlace examples/compute_textures.py \
+ --replace-fail 'import wgpu' 'import wgpu # run_example = false'
+ ''
+ # Tweak tests that fail due to a dependency of `wgpu-native`, `naga`, adding an `ir` module
+ + ''
+ substituteInPlace tests/test_wgpu_native_errors.py \
+ --replace-fail 'naga::' 'naga::ir::'
+ '';
# wgpu-py expects to have an appropriately named wgpu-native library in wgpu/resources
preBuild = ''
@@ -96,66 +109,38 @@ buildPythonPackage rec {
imageio
numpy
psutil
+ pypng
pytest
ruff
trio
];
- # Tests break due to sandboxing on everything except darwin
- # Prefer to run them in passthru
- doCheck = false;
+ # Tests break in Linux CI due to wgpu being unable to find any adapters.
+ # Ordinarily, this would be fixed in an approach similar to `pkgs/by-name/wg/wgpu-native/examples.nix`'s
+ # usage of `runtimeInputs` and `makeWrapperArgs`.
+ # Unfortunately, as this is a Python module without a `mainProgram`, `makeWrapperArgs` will not apply here,
+ # as there is no "script" to wrap.
+ doCheck = stdenv.hostPlatform.isDarwin;
- passthru = {
- tests =
- {
- version = testers.testVersion {
- package = wgpu-py;
- command = "python3 -c 'import wgpu; print(wgpu.__version__)'";
- };
- }
- // lib.optionalAttrs stdenv.buildPlatform.isDarwin {
- tests = testers.runCommand {
- name = "tests";
- script = ''
- WGPU_LIB_PATH=${wgpu-native}/lib/libwgpu_native${stdenv.hostPlatform.extensions.library} \
- pytest -v ${wgpu-py.src}/tests
- '';
- nativeBuildInputs = [ wgpu-py ] ++ nativeCheckInputs;
- };
+ installCheckPhase = ''
+ runHook preInstallCheck
- examples = testers.runCommand {
- name = "examples";
- script = ''
- WGPU_LIB_PATH=${wgpu-native}/lib/libwgpu_native${stdenv.hostPlatform.extensions.library} \
- pytest -v ${wgpu-py.src}/examples
- '';
- nativeBuildInputs = [ wgpu-py ] ++ nativeCheckInputs;
- };
+ for suite in tests examples codegen tests_mem; do
+ pytest -vvv $suite
+ done
- codegen = testers.runCommand {
- name = "codegen";
- script = ''
- WGPU_LIB_PATH=${wgpu-native}/lib/libwgpu_native${stdenv.hostPlatform.extensions.library} \
- pytest -v ${wgpu-py.src}/codegen
- '';
- nativeBuildInputs = [ wgpu-py ] ++ nativeCheckInputs;
- };
+ runHook postInstallCheck
+ '';
- tests_mem = testers.runCommand {
- name = "tests_mem";
- script = ''
- WGPU_LIB_PATH=${wgpu-native}/lib/libwgpu_native${stdenv.hostPlatform.extensions.library} \
- pytest -v ${wgpu-py.src}/tests_mem
- '';
- nativeBuildInputs = [ wgpu-py ] ++ nativeCheckInputs;
- };
- };
+ passthru.tests.version = testers.testVersion {
+ package = wgpu-py;
+ command = "python3 -c 'import wgpu; print(wgpu.__version__)'";
};
meta = {
description = "WebGPU for Python";
homepage = "https://github.com/pygfx/wgpu-py";
- changelog = "https://github.com/pygfx/wgpu-py/blob/v${version}/CHANGELOG.md";
+ changelog = "https://github.com/pygfx/wgpu-py/blob/${src.tag}/CHANGELOG.md";
platforms = lib.platforms.all;
license = lib.licenses.bsd2;
diff --git a/pkgs/development/python-modules/yangson/default.nix b/pkgs/development/python-modules/yangson/default.nix
index b72e32eea1b0..2e82d5c33962 100644
--- a/pkgs/development/python-modules/yangson/default.nix
+++ b/pkgs/development/python-modules/yangson/default.nix
@@ -10,14 +10,14 @@
buildPythonPackage rec {
pname = "yangson";
- version = "1.6.2";
+ version = "1.6.3";
pyproject = true;
src = fetchFromGitHub {
owner = "CZ-NIC";
repo = "yangson";
tag = version;
- hash = "sha256-gGunbQVRV9cFRnwGDIaGi/NM75rtw5vYVz2PiPiZlQo=";
+ hash = "sha256-WOeSGGOd5+g+8dSyeml+mdehEjaSHtUkNSdkGl4xSao=";
};
build-system = [ poetry-core ];
diff --git a/pkgs/development/rocq-modules/bignums/default.nix b/pkgs/development/rocq-modules/bignums/default.nix
index 3eced2572c69..238e16b3f9ce 100644
--- a/pkgs/development/rocq-modules/bignums/default.nix
+++ b/pkgs/development/rocq-modules/bignums/default.nix
@@ -11,12 +11,13 @@ mkRocqDerivation {
owner = "coq";
inherit version;
defaultVersion =
+ let
+ case = case: out: { inherit case out; };
+ in
with lib.versions;
- lib.switch rocq-core.rocq-version (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: case: { inherit case out; }) {
- "9.0.0+rocq${rocq-core.rocq-version}" = range "9.0" "9.0";
- }
- )) null;
+ lib.switch rocq-core.rocq-version [
+ (case (range "9.0" "9.0") "9.0.0+rocq${rocq-core.rocq-version}")
+ ] null;
release."9.0.0+rocq9.0".sha256 = "sha256-ctnwpyNVhryEUA5YEsAImrcJsNMhtBgDSOz+z5Z4R78=";
releaseRev = v: "${if lib.versions.isGe "9.0" v then "v" else "V"}${v}";
diff --git a/pkgs/development/rocq-modules/hierarchy-builder/default.nix b/pkgs/development/rocq-modules/hierarchy-builder/default.nix
index 30be49a216e1..bb9efa9727cc 100644
--- a/pkgs/development/rocq-modules/hierarchy-builder/default.nix
+++ b/pkgs/development/rocq-modules/hierarchy-builder/default.nix
@@ -12,12 +12,13 @@ let
owner = "math-comp";
inherit version;
defaultVersion =
+ let
+ case = case: out: { inherit case out; };
+ in
with lib.versions;
- lib.switch rocq-core.rocq-version (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: case: { inherit case out; }) {
- "1.9.1" = range "9.0" "9.0";
- }
- )) null;
+ lib.switch rocq-core.rocq-version [
+ (case (range "9.0" "9.0") "1.9.1")
+ ] null;
release."1.9.1".sha256 = "sha256-AiS0ezMyfIYlXnuNsVLz1GlKQZzJX+ilkrKkbo0GrF0=";
releaseRev = v: "v${v}";
diff --git a/pkgs/development/rocq-modules/rocq-elpi/default.nix b/pkgs/development/rocq-modules/rocq-elpi/default.nix
index 8d27cf2e0dfc..ea6ce3f6595e 100644
--- a/pkgs/development/rocq-modules/rocq-elpi/default.nix
+++ b/pkgs/development/rocq-modules/rocq-elpi/default.nix
@@ -12,11 +12,12 @@ let
if elpi-version != null then
elpi-version
else
- (lib.switch rocq-core.rocq-version (lib.lists.sort (x: y: lib.versions.isLe x.out y.out) (
- lib.mapAttrsToList (out: case: { inherit case out; }) {
- "2.0.7" = "9.0";
- }
- )) { });
+ let
+ case = case: out: { inherit case out; };
+ in
+ lib.switch rocq-core.rocq-version [
+ (case ("9.0") "2.0.7")
+ ] { };
elpi = rocq-core.ocamlPackages.elpi.override { version = default-elpi-version; };
propagatedBuildInputs_wo_elpi = [
rocq-core.ocamlPackages.findlib
@@ -27,14 +28,13 @@ let
repo = "coq-elpi";
owner = "LPCIC";
inherit version;
- defaultVersion = lib.switch rocq-core.rocq-version (lib.lists.sort
- (x: y: lib.versions.isLe x.out y.out)
- (
- lib.mapAttrsToList (out: case: { inherit case out; }) {
- "2.5.2" = "9.0";
- }
- )
- ) null;
+ defaultVersion =
+ let
+ case = case: out: { inherit case out; };
+ in
+ lib.switch rocq-core.rocq-version [
+ (case ("9.0") "2.5.2")
+ ] null;
release."2.5.2".sha256 = "sha256-lLzjPrbVB3rrqox528YiheUb0u89R84Xmrgkn0oplOs=";
releaseRev = v: "v${v}";
diff --git a/pkgs/development/rocq-modules/stdlib/default.nix b/pkgs/development/rocq-modules/stdlib/default.nix
index 17fe604d1df4..595080b1f92d 100644
--- a/pkgs/development/rocq-modules/stdlib/default.nix
+++ b/pkgs/development/rocq-modules/stdlib/default.nix
@@ -13,12 +13,13 @@ mkRocqDerivation {
inherit version;
defaultVersion =
+ let
+ case = case: out: { inherit case out; };
+ in
with lib.versions;
- lib.switch rocq-core.version (lib.lists.sort (x: y: isLe x.out y.out) (
- lib.mapAttrsToList (out: case: { inherit case out; }) {
- "9.0.0" = isEq "9.0";
- }
- )) null;
+ lib.switch rocq-core.version [
+ (case (isEq "9.0") "9.0.0")
+ ] null;
releaseRev = v: "V${v}";
release."9.0.0".sha256 = "sha256-2l7ak5Q/NbiNvUzIVXOniEneDXouBMNSSVFbD1Pf8cQ=";
diff --git a/pkgs/development/tcl-modules/by-name/rl/rl_json/package.nix b/pkgs/development/tcl-modules/by-name/rl/rl_json/package.nix
index 7a10f70c8d5d..fd67dfc347f9 100644
--- a/pkgs/development/tcl-modules/by-name/rl/rl_json/package.nix
+++ b/pkgs/development/tcl-modules/by-name/rl/rl_json/package.nix
@@ -8,13 +8,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "rl_json";
- version = "0.15.2";
+ version = "0.15.3";
src = fetchFromGitHub {
owner = "RubyLane";
repo = "rl_json";
rev = finalAttrs.version;
- hash = "sha256-y62N4DK80baJx7tQ562ZWOEpKcDldKS1pEwR7NpzuZQ=";
+ hash = "sha256-JyJBf8lMrO/P5grOMojqs1PRoMPRsPWGQYS33eB7bRI=";
fetchSubmodules = true;
};
diff --git a/pkgs/development/tools/electron/binary/generic.nix b/pkgs/development/tools/electron/binary/generic.nix
index fc526ec15c7f..8bd49c6ed39c 100644
--- a/pkgs/development/tools/electron/binary/generic.nix
+++ b/pkgs/development/tools/electron/binary/generic.nix
@@ -58,7 +58,7 @@ let
];
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
# https://www.electronjs.org/docs/latest/tutorial/electron-timelines
- knownVulnerabilities = optional (versionOlder version "34.0.0") "Electron version ${version} is EOL";
+ knownVulnerabilities = optional (versionOlder version "35.0.0") "Electron version ${version} is EOL";
};
fetcher =
diff --git a/pkgs/development/tools/electron/binary/info.json b/pkgs/development/tools/electron/binary/info.json
index 12bfb8450616..65989393576a 100644
--- a/pkgs/development/tools/electron/binary/info.json
+++ b/pkgs/development/tools/electron/binary/info.json
@@ -42,5 +42,16 @@
"x86_64-linux": "6a0decb3e382f32d4ab3db90aabd082ef9ee1154fe205808f887e228fdb2d355"
},
"version": "36.6.0"
+ },
+ "37": {
+ "hashes": {
+ "aarch64-darwin": "31c57a288b262d17751e6bb6f3862bfaaa7eb2f0a5dfb17965013538d2ceeeb1",
+ "aarch64-linux": "0aca9ed706f48e1b13c14d9379473c617d906bae8a4ee3a7cc1699ad8feea79b",
+ "armv7l-linux": "88d33b77debc1d7c189350b9ba411bced78328dca86d4d7e805c4322502fc254",
+ "headers": "0wizghk8sbggxjcxyxga20021by5b6a4vdr92nkmaadpishs1ylh",
+ "x86_64-darwin": "78e3c798b65d1e740e92bc2acac56b43aadf803be9fc3de799fd40407548dd83",
+ "x86_64-linux": "c03c227b2ac340e4a4093b7157e3290581bccf798bc3e0a40b280b0083453299"
+ },
+ "version": "37.1.0"
}
}
diff --git a/pkgs/development/tools/electron/chromedriver/info.json b/pkgs/development/tools/electron/chromedriver/info.json
index 5373b55ee742..e6536e6699fd 100644
--- a/pkgs/development/tools/electron/chromedriver/info.json
+++ b/pkgs/development/tools/electron/chromedriver/info.json
@@ -42,5 +42,16 @@
"x86_64-linux": "859c853712a4addb77d4fb1019e27063ef8825004bb93219e991cf5b4103ccb8"
},
"version": "36.6.0"
+ },
+ "37": {
+ "hashes": {
+ "aarch64-darwin": "f17ed19aa221a0105f688e86de3b2ef2328fcd367cc0c3a1a4ef8470c82f4776",
+ "aarch64-linux": "b41893387748f0ab996979d16e38852c9c9a27a647f1931b8cc227b6bea079af",
+ "armv7l-linux": "abb11bb11e40f029061551bdc183b57515ee095de2019ec946bc63018454163d",
+ "headers": "0wizghk8sbggxjcxyxga20021by5b6a4vdr92nkmaadpishs1ylh",
+ "x86_64-darwin": "e45df1088579f802258bce0f17ebb5791140ac7b568a6e17047cace76ab9f045",
+ "x86_64-linux": "aed73451a604782e1be5826a6455e63264ddace4e2d4552a5a400fa16398ab96"
+ },
+ "version": "37.1.0"
}
}
diff --git a/pkgs/development/tools/electron/info.json b/pkgs/development/tools/electron/info.json
index 66a1203fa894..73ca102ee2bf 100644
--- a/pkgs/development/tools/electron/info.json
+++ b/pkgs/development/tools/electron/info.json
@@ -1,1281 +1,4 @@
{
- "34": {
- "chrome": "132.0.6834.210",
- "chromium": {
- "deps": {
- "gn": {
- "hash": "sha256-zZoD5Bx7wIEP2KJkHef6wHrxU3px+8Vseq29QcK32bg=",
- "rev": "feafd1012a32c05ec6095f69ddc3850afb621f3a",
- "url": "https://gn.googlesource.com/gn",
- "version": "2024-10-14"
- }
- },
- "version": "132.0.6834.210"
- },
- "chromium_npm_hash": "sha256-H1/h3x+Cgp1x94Ze3UPPHxRVpylZDvpMXMOuS+jk2dw=",
- "deps": {
- "src": {
- "args": {
- "hash": "sha256-NVaErCSvuTQyt7yv2sc4aIX2J/6mxM648Wbbut2Jjxc=",
- "postFetch": "rm -r $out/third_party/blink/web_tests; rm -r $out/content/test/data; rm -rf $out/courgette/testdata; rm -r $out/extensions/test/data; rm -r $out/media/test/data; ",
- "tag": "132.0.6834.210",
- "url": "https://chromium.googlesource.com/chromium/src.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/chrome/test/data/perf/canvas_bench": {
- "args": {
- "hash": "sha256-svOuyBGKloBLM11xLlWCDsB4PpRjdKTBdW2UEW4JQjM=",
- "rev": "a7b40ea5ae0239517d78845a5fc9b12976bfc732",
- "url": "https://chromium.googlesource.com/chromium/canvas_bench.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/chrome/test/data/perf/frame_rate/content": {
- "args": {
- "hash": "sha256-t4kcuvH0rkPBkcdiMsoNQaRwU09eU+oSvyHDiAHrKXo=",
- "rev": "c10272c88463efeef6bb19c9ec07c42bc8fe22b9",
- "url": "https://chromium.googlesource.com/chromium/frame_rate/content.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/chrome/test/data/xr/webvr_info": {
- "args": {
- "hash": "sha256-BsAPwc4oEWri0TlqhyxqFNqKdfgVSrB0vQyISmYY4eg=",
- "rev": "c58ae99b9ff9e2aa4c524633519570bf33536248",
- "url": "https://chromium.googlesource.com/external/github.com/toji/webvr.info.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/docs/website": {
- "args": {
- "hash": "sha256-CqveHvjPEcRWnzi8w13xr2OainrmABNO8uj0GzKmQqo=",
- "rev": "be9c3dfd3781964fc0bab0d6c91d9ad117b71b02",
- "url": "https://chromium.googlesource.com/website.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/electron": {
- "args": {
- "hash": "sha256-ABlVuW0EUsFUyuIaugoI09EsHF+g7fxRSS/bOaOAkjg=",
- "owner": "electron",
- "repo": "electron",
- "tag": "v34.5.8"
- },
- "fetcher": "fetchFromGitHub"
- },
- "src/media/cdm/api": {
- "args": {
- "hash": "sha256-6J6aSYW0or99VAgMNJJOdJqMJspoG7w1HxDN50MV5bw=",
- "rev": "eb21edc44e8e5a82095037be80c8b15c51624293",
- "url": "https://chromium.googlesource.com/chromium/cdm.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/net/third_party/quiche/src": {
- "args": {
- "hash": "sha256-Z2uFWfZDYcY0m4R6mFMZJLnnVHu3/hQOAkCPQ5049SQ=",
- "rev": "9616efc903b7469161996006c8cf963238e26503",
- "url": "https://quiche.googlesource.com/quiche.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/testing/libfuzzer/fuzzers/wasm_corpus": {
- "args": {
- "hash": "sha256-gItDOfNqm1tHlmelz3l2GGdiKi9adu1EpPP6U7+8EQY=",
- "rev": "1df5e50a45db9518a56ebb42cb020a94a090258b",
- "url": "https://chromium.googlesource.com/v8/fuzzer_wasm_corpus.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/accessibility_test_framework/src": {
- "args": {
- "hash": "sha256-mzVgoxxBWebesG6okyMxxmO6oH+TITA4o9ucHHMMzkQ=",
- "rev": "4a764c690353ea136c82f1a696a70bf38d1ef5fe",
- "url": "https://chromium.googlesource.com/external/github.com/google/Accessibility-Test-Framework-for-Android.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/angle": {
- "args": {
- "hash": "sha256-fMIHpa2QFsQQ19LGyhvV3Ihh6Ls8wwwhqTtpLoTEaf4=",
- "rev": "ce13a00a2b049a1ef5e0e70a3d333ce70838ef7b",
- "url": "https://chromium.googlesource.com/angle/angle.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/angle/third_party/VK-GL-CTS/src": {
- "args": {
- "hash": "sha256-2ZhG4cJf85zO7x+SGG6RD2qgOxZVosxAIbuZt9GYUKs=",
- "rev": "f674555ab03e6355e0981a647c115097e9fe5324",
- "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/angle/third_party/glmark2/src": {
- "args": {
- "hash": "sha256-L7+zWM0qn8WFhmON7DGvarTsN1YHt1sn5+hazTOZrrk=",
- "rev": "ca8de51fedb70bace5351c6b002eb952c747e889",
- "url": "https://chromium.googlesource.com/external/github.com/glmark2/glmark2"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/angle/third_party/rapidjson/src": {
- "args": {
- "hash": "sha256-btUl1a/B0sXwf/+hyvCvVJjWqIkXfVYCpHm3TeBuOxk=",
- "rev": "781a4e667d84aeedbeb8184b7b62425ea66ec59f",
- "url": "https://chromium.googlesource.com/external/github.com/Tencent/rapidjson"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/anonymous_tokens/src": {
- "args": {
- "hash": "sha256-PMB49+zW9ewlS9ym+xi0xYQYLN0j5Urx6yBXWd8FjjI=",
- "rev": "6ea6ec78f9e4998d0a7a5677b2aec08f0ac858f8",
- "url": "https://chromium.googlesource.com/external/github.com/google/anonymous-tokens.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/beto-core/src": {
- "args": {
- "hash": "sha256-QPFGjtu/I0r4+dTQ2eSlWIEYwJ43B3yW0q4QtVFTVGY=",
- "rev": "89563fec14c756482afa08b016eeba9087c8d1e3",
- "url": "https://beto-core.googlesource.com/beto-core.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/boringssl/src": {
- "args": {
- "hash": "sha256-ib9wbV6S64OFc4zx0wQsQ84+5RxbETK0PS9Wm1BFQ1U=",
- "rev": "571c76e919c0c48219ced35bef83e1fc83b00eed",
- "url": "https://boringssl.googlesource.com/boringssl.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/breakpad/breakpad": {
- "args": {
- "hash": "sha256-cFXUi2oO/614jF0GV7oW0ss62dXWFHDNWNT8rWHAiQc=",
- "rev": "47f7823bdf4b1f39e462b2a497a674860e922e38",
- "url": "https://chromium.googlesource.com/breakpad/breakpad.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/cast_core/public/src": {
- "args": {
- "hash": "sha256-o5/Lbhh6HHSWCVCEyDwDCgs+PLm67si981w0HuIWY7c=",
- "rev": "fbc5e98031e1271a0a566fcd4d9092b2d3275d05",
- "url": "https://chromium.googlesource.com/cast_core/public"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/catapult": {
- "args": {
- "hash": "sha256-65cZPyqZUdSnYPJYUMYeJgx3mUC6L/qb9P2bDqd2Zkk=",
- "rev": "b91cf840ac3255ef03b23cc93621369627422a1a",
- "url": "https://chromium.googlesource.com/catapult.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/ced/src": {
- "args": {
- "hash": "sha256-ySG74Rj2i2c/PltEgHVEDq+N8yd9gZmxNktc56zIUiY=",
- "rev": "ba412eaaacd3186085babcd901679a48863c7dd5",
- "url": "https://chromium.googlesource.com/external/github.com/google/compact_enc_det.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/chromium-variations": {
- "args": {
- "hash": "sha256-mg5mu2jcy0xyNJ650ywWUMC94keRsqhZQuPZclHmyLI=",
- "rev": "c170abb48f7715c237f4c06eaed0fe6f8a4c6f8d",
- "url": "https://chromium.googlesource.com/chromium-variations.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/clang-format/script": {
- "args": {
- "hash": "sha256-whD8isX2ZhLrFzdxHhFP1S/sZDRgyrzLFaVd7OEFqYo=",
- "rev": "3c0acd2d4e73dd911309d9e970ba09d58bf23a62",
- "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/clang/tools/clang-format.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/cld_3/src": {
- "args": {
- "hash": "sha256-C3MOMBUy9jgkT9BAi/Fgm2UH4cxRuwSBEcRl3hzM2Ss=",
- "rev": "b48dc46512566f5a2d41118c8c1116c4f96dc661",
- "url": "https://chromium.googlesource.com/external/github.com/google/cld_3.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/colorama/src": {
- "args": {
- "hash": "sha256-6ZTdPYSHdQOLYMSnE+Tp7PgsVTs3U2awGu9Qb4Rg/tk=",
- "rev": "3de9f013df4b470069d03d250224062e8cf15c49",
- "url": "https://chromium.googlesource.com/external/colorama.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/content_analysis_sdk/src": {
- "args": {
- "hash": "sha256-f5Jmk1MiGjaRdLun+v/GKVl8Yv9hOZMTQUSxgiJalcY=",
- "rev": "9a408736204513e0e95dd2ab3c08de0d95963efc",
- "url": "https://chromium.googlesource.com/external/github.com/chromium/content_analysis_sdk.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/cpu_features/src": {
- "args": {
- "hash": "sha256-E8LoVzhe+TAmARWZTSuINlsVhzpUJMxPPCGe/dHZcyA=",
- "rev": "936b9ab5515dead115606559502e3864958f7f6e",
- "url": "https://chromium.googlesource.com/external/github.com/google/cpu_features.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/cpuinfo/src": {
- "args": {
- "hash": "sha256-FlvmSjY8kt5XHymDLaZdPuZ4k5xcagJk8w/U6adTkWI=",
- "rev": "8df44962d437a0477f07ba6b8843d0b6a48646a4",
- "url": "https://chromium.googlesource.com/external/github.com/pytorch/cpuinfo.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/crabbyavif/src": {
- "args": {
- "hash": "sha256-hO5epHYNYI6pGwVSUv1Hp3qb7qOv8uOs4u+IdhDxd8Q=",
- "rev": "c3548280e0a516ed7cad7ff1591b5807cef64aa4",
- "url": "https://chromium.googlesource.com/external/github.com/webmproject/CrabbyAvif.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/crc32c/src": {
- "args": {
- "hash": "sha256-KBraGaO5LmmPP+p8RuDogGldbTWdNDK+WzF4Q09keuE=",
- "rev": "d3d60ac6e0f16780bcfcc825385e1d338801a558",
- "url": "https://chromium.googlesource.com/external/github.com/google/crc32c.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/cros-components/src": {
- "args": {
- "hash": "sha256-owXaTIj0pbhUeJkirxaRoCmgIN9DwNzY3h771kaN+Fc=",
- "rev": "9129cf4b2a5ca775c280243257a0b4856a93c7fb",
- "url": "https://chromium.googlesource.com/external/google3/cros_components.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/cros_system_api": {
- "args": {
- "hash": "sha256-fvGypRhgl2uX9YE2cwjL7d3pYBa3Imd5p0RLhMYRgrc=",
- "rev": "554629b9242e6ae832ef14e3384654426f7fcc06",
- "url": "https://chromium.googlesource.com/chromiumos/platform2/system_api.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/crossbench": {
- "args": {
- "hash": "sha256-/K6eM9s+fd2wjCrK0g0CgFNy0zxEN9SxTvmE50hMtXw=",
- "rev": "ae6f165652e0ea983d73f5d04b7470d08c869e4f",
- "url": "https://chromium.googlesource.com/crossbench.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/dav1d/libdav1d": {
- "args": {
- "hash": "sha256-Q2CaWvDqOmfaPG6a+SUHG5rFHalPEf4Oq/ytT3xuSOk=",
- "rev": "93f12c117a4e1c0cc2b129dcc52e84dbd9b84200",
- "url": "https://chromium.googlesource.com/external/github.com/videolan/dav1d.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/dawn": {
- "args": {
- "hash": "sha256-1d8cCtqBIfYbVqUQ4q4BtH2FujbNJeeW9agJUjcktgE=",
- "rev": "c3530f2883610bb6606a5f55935c189e732e67d0",
- "url": "https://dawn.googlesource.com/dawn.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/dawn/third_party/dxc": {
- "args": {
- "hash": "sha256-rhUNPA5b0H3PBsOpXbAeRLpS0tNQkiHbjRBWmJycSAY=",
- "rev": "ac36a797d3470e8ee906b98457a59270d01db30d",
- "url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectXShaderCompiler"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/dawn/third_party/dxheaders": {
- "args": {
- "hash": "sha256-0Miw1Cy/jmOo7bLFBOHuTRDV04cSeyvUEyPkpVsX9DA=",
- "rev": "980971e835876dc0cde415e8f9bc646e64667bf7",
- "url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectX-Headers"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/dawn/third_party/glfw": {
- "args": {
- "hash": "sha256-E1zXIDiw87badrLOZTvV+Wh9NZHu51nb70ZK9vlAlqE=",
- "rev": "b35641f4a3c62aa86a0b3c983d163bc0fe36026d",
- "url": "https://chromium.googlesource.com/external/github.com/glfw/glfw"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/dawn/third_party/khronos/EGL-Registry": {
- "args": {
- "hash": "sha256-Z6DwLfgQ1wsJXz0KKJyVieOatnDmx3cs0qJ6IEgSq1A=",
- "rev": "7dea2ed79187cd13f76183c4b9100159b9e3e071",
- "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/EGL-Registry"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/dawn/third_party/khronos/OpenGL-Registry": {
- "args": {
- "hash": "sha256-K3PcRIiD3AmnbiSm5TwaLs4Gu9hxaN8Y91WMKK8pOXE=",
- "rev": "5bae8738b23d06968e7c3a41308568120943ae77",
- "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/OpenGL-Registry"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/dawn/third_party/webgpu-cts": {
- "args": {
- "hash": "sha256-ArbHGjkHd1sko7gDPFksYz7XHKNge+e6tVy6oKPuqzg=",
- "rev": "8690defa74b6975c10e85c113f121d4b2a3f2564",
- "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/dawn/third_party/webgpu-headers": {
- "args": {
- "hash": "sha256-J3PcwYoO79HqrACFgk77BZLTCi7oi5k2J6v3wlcFVD4=",
- "rev": "8049c324dc7b3c09dc96ea04cb02860f272c8686",
- "url": "https://chromium.googlesource.com/external/github.com/webgpu-native/webgpu-headers"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/depot_tools": {
- "args": {
- "hash": "sha256-m/6b4VZZTUQOeED1mYvZOQCx8Re+Zd4O8SKDMjJ9Djo=",
- "rev": "41d43a2a2290450aeab946883542f8049b155c87",
- "url": "https://chromium.googlesource.com/chromium/tools/depot_tools.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/devtools-frontend/src": {
- "args": {
- "hash": "sha256-mBWZdbgZfO01Pt2lZSHX/d5r+8A/+qCZA8MRtZdeTrs=",
- "rev": "f2f3682c9db8ca427f8c64f0402cc2c5152c6c24",
- "url": "https://chromium.googlesource.com/devtools/devtools-frontend"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/dom_distiller_js/dist": {
- "args": {
- "hash": "sha256-yuEBD2XQlV3FGI/i7lTmJbCqzeBiuG1Qow8wvsppGJw=",
- "rev": "199de96b345ada7c6e7e6ba3d2fa7a6911b8767d",
- "url": "https://chromium.googlesource.com/chromium/dom-distiller/dist.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/domato/src": {
- "args": {
- "hash": "sha256-fYxoA0fxKe9U23j+Jp0MWj4m7RfsRpM0XjF6/yOhX1I=",
- "rev": "053714bccbda79cf76dac3fee48ab2b27f21925e",
- "url": "https://chromium.googlesource.com/external/github.com/googleprojectzero/domato.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/eigen3/src": {
- "args": {
- "hash": "sha256-UroGjERR5TW9KbyLwR/NBpytXrW1tHfu6ZvQPngROq4=",
- "rev": "b396a6fbb2e173f52edb3360485dedf3389ef830",
- "url": "https://chromium.googlesource.com/external/gitlab.com/libeigen/eigen.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/electron_node": {
- "args": {
- "hash": "sha256-vc3Ztw8m0P96QoCjtyu2Nb0TpVMu9ifrVlkJY15aVbE=",
- "owner": "nodejs",
- "repo": "node",
- "tag": "v20.19.1"
- },
- "fetcher": "fetchFromGitHub"
- },
- "src/third_party/emoji-segmenter/src": {
- "args": {
- "hash": "sha256-KdQdKBBipEBRT8UmNGao6yCB4m2CU8/SrMVvcXlb5qE=",
- "rev": "955936be8b391e00835257059607d7c5b72ce744",
- "url": "https://chromium.googlesource.com/external/github.com/google/emoji-segmenter.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/engflow-reclient-configs": {
- "args": {
- "hash": "sha256-aZXYPj9KYBiZnljqOLlWJWS396Fg3EhjiQLZmkwCBsY=",
- "owner": "EngFlow",
- "repo": "reclient-configs",
- "rev": "955335c30a752e9ef7bff375baab5e0819b6c00d"
- },
- "fetcher": "fetchFromGitHub"
- },
- "src/third_party/expat/src": {
- "args": {
- "hash": "sha256-Iwu9+i/0vsPyu6pOWFxjNNblVxMl6bTPW5eWyaju4Mg=",
- "rev": "624da0f593bb8d7e146b9f42b06d8e6c80d032a3",
- "url": "https://chromium.googlesource.com/external/github.com/libexpat/libexpat.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/farmhash/src": {
- "args": {
- "hash": "sha256-5n58VEUxa/K//jAfZqG4cXyfxrp50ogWDNYcgiXVHdc=",
- "rev": "816a4ae622e964763ca0862d9dbd19324a1eaf45",
- "url": "https://chromium.googlesource.com/external/github.com/google/farmhash.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/fast_float/src": {
- "args": {
- "hash": "sha256-0eVovauN7SnO3nSIWBRWAJ4dR7q5beZrIGUZ18M2pao=",
- "rev": "3e57d8dcfb0a04b5a8a26b486b54490a2e9b310f",
- "url": "https://chromium.googlesource.com/external/github.com/fastfloat/fast_float.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/ffmpeg": {
- "args": {
- "hash": "sha256-wwHxNuZe2hBmGBpVg/iQJBoL350jfPYPTPqDn3RiqZE=",
- "rev": "591ae4b02eaff9a03e2ec863da895128b0b49910",
- "url": "https://chromium.googlesource.com/chromium/third_party/ffmpeg.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/flac": {
- "args": {
- "hash": "sha256-gvTFPNOlBfozptaH7lTb9iD/09AmpdT3kCl9ClszjEs=",
- "rev": "689da3a7ed50af7448c3f1961d1791c7c1d9c85c",
- "url": "https://chromium.googlesource.com/chromium/deps/flac.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/flatbuffers/src": {
- "args": {
- "hash": "sha256-tbc45o0MbMvK5XqRUJt5Eg8BU6+TJqlmwFgQhHq6wRM=",
- "rev": "8db59321d9f02cdffa30126654059c7d02f70c32",
- "url": "https://chromium.googlesource.com/external/github.com/google/flatbuffers.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/fontconfig/src": {
- "args": {
- "hash": "sha256-W5WIgC6A52kY4fNkbsDEa0o+dfd97Rl5NKfgnIRpI00=",
- "rev": "14d466b30a8ab4a9d789977ed94f2c30e7209267",
- "url": "https://chromium.googlesource.com/external/fontconfig.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/fp16/src": {
- "args": {
- "hash": "sha256-m2d9bqZoGWzuUPGkd29MsrdscnJRtuIkLIMp3fMmtRY=",
- "rev": "0a92994d729ff76a58f692d3028ca1b64b145d91",
- "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FP16.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/freetype-testing/src": {
- "args": {
- "hash": "sha256-2aHPchIK5Oce5+XxdXVCC+8EM6i0XT0rFbjSIVa2L1A=",
- "rev": "7a69b1a2b028476f840ab7d4a2ffdfe4eb2c389f",
- "url": "https://chromium.googlesource.com/external/github.com/freetype/freetype2-testing.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/freetype/src": {
- "args": {
- "hash": "sha256-+nbRZi3vAMTURhhFVUu5+59fVIv0GH3YZog2JavyVLY=",
- "rev": "0ae7e607370cc66218ccfacf5de4db8a35424c2f",
- "url": "https://chromium.googlesource.com/chromium/src/third_party/freetype2.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/fuzztest/src": {
- "args": {
- "hash": "sha256-UYmzjOX8k+CWL+xOIF3NiEL3TRUjS8JflortB2RUT4o=",
- "rev": "0021f30508bc7f73fa5270962d022acb480d242f",
- "url": "https://chromium.googlesource.com/external/github.com/google/fuzztest.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/fxdiv/src": {
- "args": {
- "hash": "sha256-LjX5kivfHbqCIA5pF9qUvswG1gjOFo3CMpX0VR+Cn38=",
- "rev": "63058eff77e11aa15bf531df5dd34395ec3017c8",
- "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FXdiv.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/gemmlowp/src": {
- "args": {
- "hash": "sha256-O5wD8wxgis0qYMaY+xZ21GBDVQFphMRvInCOswS6inA=",
- "rev": "13d57703abca3005d97b19df1f2db731607a7dc2",
- "url": "https://chromium.googlesource.com/external/github.com/google/gemmlowp.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/glslang/src": {
- "args": {
- "hash": "sha256-twWSeJp9bNbLYFszCWv9BCztfbXUBKSWV55/U+hd2hw=",
- "rev": "9c644fcb5b9a1a9c975c50a790fd14c5451292b0",
- "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/google_benchmark/src": {
- "args": {
- "hash": "sha256-cH8s1gP6kCcojAAfTt5iQCVqiAaSooNk4BdaILujM3w=",
- "rev": "761305ec3b33abf30e08d50eb829e19a802581cc",
- "url": "https://chromium.googlesource.com/external/github.com/google/benchmark.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/googletest/src": {
- "args": {
- "hash": "sha256-n7tiIFAj8AiSCa9Tw+1j+ro9cSt5vagZpkbBBUUtYQY=",
- "rev": "d144031940543e15423a25ae5a8a74141044862f",
- "url": "https://chromium.googlesource.com/external/github.com/google/googletest.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/grpc/src": {
- "args": {
- "hash": "sha256-64JEVCx/PCM0dvv7kAQvSjLc0QbRAZVBDzwD/FAV6T8=",
- "rev": "822dab21d9995c5cf942476b35ca12a1aa9d2737",
- "url": "https://chromium.googlesource.com/external/github.com/grpc/grpc.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/harfbuzz-ng/src": {
- "args": {
- "hash": "sha256-iR49rfGDKxPObCff1/30hYHpP5FpZ28ROgMZhNk9eFY=",
- "rev": "1da053e87f0487382404656edca98b85fe51f2fd",
- "url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/highway/src": {
- "args": {
- "hash": "sha256-IS7m1wBwpPBUNhx2GttY1fzvmLIeAp3o2gXfrFpRdvY=",
- "rev": "00fe003dac355b979f36157f9407c7c46448958e",
- "url": "https://chromium.googlesource.com/external/github.com/google/highway.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/hunspell_dictionaries": {
- "args": {
- "hash": "sha256-67mvpJRFFa9eMfyqFMURlbxOaTJBICnk+gl0b0mEHl8=",
- "rev": "41cdffd71c9948f63c7ad36e1fb0ff519aa7a37e",
- "url": "https://chromium.googlesource.com/chromium/deps/hunspell_dictionaries.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/icu": {
- "args": {
- "hash": "sha256-WtCoxcbEkkZayB6kXdQEhZ7/ue+ka6cguhFbpeWUBJA=",
- "rev": "ba7ed88cc5ffa428a82a0f787dd61031aa5ef4ca",
- "url": "https://chromium.googlesource.com/chromium/deps/icu.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/ink/src": {
- "args": {
- "hash": "sha256-+Ikr9E7KlXBFyf6fSDmIF3ygNUiwlXeA5bmO2CtkI7Q=",
- "rev": "4300dc7402a257b85fc5bf2559137edacb050227",
- "url": "https://chromium.googlesource.com/external/github.com/google/ink.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/ink_stroke_modeler/src": {
- "args": {
- "hash": "sha256-IQ+n+kHdEq8Q8/qaPGMvgD7cPN3zzaY8dbiokq6r/Vs=",
- "rev": "0999e4cf816b42c770d07916698bce943b873048",
- "url": "https://chromium.googlesource.com/external/github.com/google/ink-stroke-modeler.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/instrumented_libs": {
- "args": {
- "hash": "sha256-kHKGADAgzlaeckXFbpU1GhJK+zkiRd9XvdtPF6qrQFY=",
- "rev": "bb6dbcf2df7a9beb34c3773ef4df161800e3aed9",
- "url": "https://chromium.googlesource.com/chromium/third_party/instrumented_libraries.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/jsoncpp/source": {
- "args": {
- "hash": "sha256-bSLNcoYBz3QCt5VuTR056V9mU2PmBuYBa0W6hFg2m8Q=",
- "rev": "42e892d96e47b1f6e29844cc705e148ec4856448",
- "url": "https://chromium.googlesource.com/external/github.com/open-source-parsers/jsoncpp.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/leveldatabase/src": {
- "args": {
- "hash": "sha256-y3awFXL8ih2UhEqWj8JRgkhzSxfQciLztb020JHJ350=",
- "rev": "23e35d792b9154f922b8b575b12596a4d8664c65",
- "url": "https://chromium.googlesource.com/external/leveldb.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/libFuzzer/src": {
- "args": {
- "hash": "sha256-jPS+Xi/ia0sMspxSGN38zasmVS/HslxH/qOFsV9TguE=",
- "rev": "a7128317fe7935a43d6c9f39df54f21113951941",
- "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt/lib/fuzzer.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/libaddressinput/src": {
- "args": {
- "hash": "sha256-xvUUQSPrvqUp5DI9AqlRTWurwDW087c6v4RvI+4sfOQ=",
- "rev": "e8712e415627f22d0b00ebee8db99547077f39bd",
- "url": "https://chromium.googlesource.com/external/libaddressinput.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/libaom/source/libaom": {
- "args": {
- "hash": "sha256-9VhEVOG9cReDOGoX+x5G/jJ8Y5RDoQIiLMoZtt5c9pI=",
- "rev": "be60f06ab420d6a65c477213f04c8b0f2e12ba2e",
- "url": "https://aomedia.googlesource.com/aom.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/libavif/src": {
- "args": {
- "hash": "sha256-lUuVyh2srhWMNUp4lEivyDic3MSZf5s63iAb84We80M=",
- "rev": "1cdeff7ecf456492c47cf48fc0cef6591cdc95da",
- "url": "https://chromium.googlesource.com/external/github.com/AOMediaCodec/libavif.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/libc++/src": {
- "args": {
- "hash": "sha256-kmhTlz/qjvN0Qlra7Wz05O6X058hPPn0nVvAxFXQDC4=",
- "rev": "8e31ad42561900383e10dbefc1d3e8f38cedfbe9",
- "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/libc++abi/src": {
- "args": {
- "hash": "sha256-CwiK9Td8aRS08RywItHKFvibzDAUYYd0YNRKxYPLTD8=",
- "rev": "cec7f478354a8c8599f264ed8bb6043b5468f72d",
- "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/libdrm/src": {
- "args": {
- "hash": "sha256-woSYEDUfcEBpYOYnli13wLMt754A7KnUbmTEcFQdFGw=",
- "rev": "ad78bb591d02162d3b90890aa4d0a238b2a37cde",
- "url": "https://chromium.googlesource.com/chromiumos/third_party/libdrm.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/libgav1/src": {
- "args": {
- "hash": "sha256-+ss9S5t+yoHzqbtX68+5OyyUbJVecYLwp+C3EXfAziE=",
- "rev": "a2f139e9123bdb5edf7707ac6f1b73b3aa5038dd",
- "url": "https://chromium.googlesource.com/codecs/libgav1.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/libipp/libipp": {
- "args": {
- "hash": "sha256-gxU92lHLd6uxO8T3QWhZIK0hGy97cki705DV0VimCPY=",
- "rev": "2209bb84a8e122dab7c02fe66cc61a7b42873d7f",
- "url": "https://chromium.googlesource.com/chromiumos/platform2/libipp.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/libjpeg_turbo": {
- "args": {
- "hash": "sha256-qgHXAjCDFxQ+QqJ8pSmI1NUvHvKKTi4MkIe1I/+hUAI=",
- "rev": "927aabfcd26897abb9776ecf2a6c38ea5bb52ab6",
- "url": "https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/liblouis/src": {
- "args": {
- "hash": "sha256-EI/uaHXe0NlqdEw764q0SjerThYEVLRogUlmrsZwXnY=",
- "rev": "9700847afb92cb35969bdfcbbfbbb74b9c7b3376",
- "url": "https://chromium.googlesource.com/external/liblouis-github.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/libphonenumber/dist": {
- "args": {
- "hash": "sha256-3hSnTFTD3KAdbyxfKg12qbIYTmw6YlTCH64gMP/HUJo=",
- "rev": "140dfeb81b753388e8a672900fb7a971e9a0d362",
- "url": "https://chromium.googlesource.com/external/libphonenumber.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/libprotobuf-mutator/src": {
- "args": {
- "hash": "sha256-ZyPweW+V5foxFQwjjMLkaRUo+FNV+kEDGIH/4oRV614=",
- "rev": "a304ec48dcf15d942607032151f7e9ee504b5dcf",
- "url": "https://chromium.googlesource.com/external/github.com/google/libprotobuf-mutator.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/libsrtp": {
- "args": {
- "hash": "sha256-4qEZ9MD97MoqCUlZtbEhIKy+fDO1iIWqyrBsKwkjXTg=",
- "rev": "000edd791434c8738455f10e0dd6b268a4852c0b",
- "url": "https://chromium.googlesource.com/chromium/deps/libsrtp.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/libsync/src": {
- "args": {
- "hash": "sha256-Mkl6C1LxF3RYLwYbxiSfoQPt8QKFwQWj/Ati2sNJ32E=",
- "rev": "f4f4387b6bf2387efbcfd1453af4892e8982faf6",
- "url": "https://chromium.googlesource.com/aosp/platform/system/core/libsync.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/libunwind/src": {
- "args": {
- "hash": "sha256-uA+t5Ecc/iK3mllHR8AMVGRfU/7z1G3yrw0TamPQiOY=",
- "rev": "5b01ea4a6f3b666b7d190e7cb7c31db2ed4d94ce",
- "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/libvpx/source/libvpx": {
- "args": {
- "hash": "sha256-QGm37X4uid8zv+vRu0pVTvoQd2WcKztrj3tJkDjx82o=",
- "rev": "727319a77ffe68e9aacb08e09ae7151b3a8f70a3",
- "url": "https://chromium.googlesource.com/webm/libvpx.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/libwebm/source": {
- "args": {
- "hash": "sha256-Mn3snC2g4BDKBJsS6cxT3BZL7LZknOWg77+60Nr4Hy0=",
- "rev": "26d9f667170dc75e8d759a997bb61c64dec42dda",
- "url": "https://chromium.googlesource.com/webm/libwebm.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/libwebp/src": {
- "args": {
- "hash": "sha256-xuRpEwOnaLGZmrPvfUn3DSoJANd94CG+JXcN7Mdmk5I=",
- "rev": "845d5476a866141ba35ac133f856fa62f0b7445f",
- "url": "https://chromium.googlesource.com/webm/libwebp.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/libyuv": {
- "args": {
- "hash": "sha256-vPVq7RzqO7gBUgYuNX0Fwxqok9jtXXJZgbhVFchG5Ws=",
- "rev": "6ac7c8f25170c85265fca69fd1fe5d31baf3344f",
- "url": "https://chromium.googlesource.com/libyuv/libyuv.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/llvm-libc/src": {
- "args": {
- "hash": "sha256-av9JdqLOQbezgRS4P8QXmvfB5l47v04WRagNJJgT5u4=",
- "rev": "ca74a72e2b32ad804522bbef04dfe32560a10206",
- "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",
- "url": "https://chromium.googlesource.com/linux-syscall-support.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/material_color_utilities/src": {
- "args": {
- "hash": "sha256-Y85XU+z9W6tvmDNHJ/dXQnUKXvvDkO3nH/kUJRLqbc4=",
- "rev": "13434b50dcb64a482cc91191f8cf6151d90f5465",
- "url": "https://chromium.googlesource.com/external/github.com/material-foundation/material-color-utilities.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/minigbm/src": {
- "args": {
- "hash": "sha256-9HwvjTETerbQ7YKXH9kUB2eWa8PxGWMAJfx1jAluhrs=",
- "rev": "3018207f4d89395cc271278fb9a6558b660885f5",
- "url": "https://chromium.googlesource.com/chromiumos/platform/minigbm.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/nan": {
- "args": {
- "hash": "sha256-cwti+BWmF/l/dqa/cN0C587EK4WwRWcWy6gjFVkaMTg=",
- "owner": "nodejs",
- "repo": "nan",
- "rev": "e14bdcd1f72d62bca1d541b66da43130384ec213"
- },
- "fetcher": "fetchFromGitHub"
- },
- "src/third_party/nasm": {
- "args": {
- "hash": "sha256-SiRXHsUlWXtH6dbDjDjqNAm105ibEB3jOfNtQAM4CaY=",
- "rev": "f477acb1049f5e043904b87b825c5915084a9a29",
- "url": "https://chromium.googlesource.com/chromium/deps/nasm.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/nearby/src": {
- "args": {
- "hash": "sha256-DO3FW5Q233ctFKk4K5F8oZec9kfrVl6uxAwMn0niKz4=",
- "rev": "8e87a6e51c93e7836ecdbcc0a520c7992f3ece13",
- "url": "https://chromium.googlesource.com/external/github.com/google/nearby-connections.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/neon_2_sse/src": {
- "args": {
- "hash": "sha256-299ZptvdTmCnIuVVBkrpf5ZTxKPwgcGUob81tEI91F0=",
- "rev": "a15b489e1222b2087007546b4912e21293ea86ff",
- "url": "https://chromium.googlesource.com/external/github.com/intel/ARM_NEON_2_x86_SSE.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/openh264/src": {
- "args": {
- "hash": "sha256-S7dS2IZwt4p4ZrF6K7E5HnwKuI3owU2I7vwtu95uTkE=",
- "rev": "478e5ab3eca30e600006d5a0a08b176fd34d3bd1",
- "url": "https://chromium.googlesource.com/external/github.com/cisco/openh264"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/openscreen/src": {
- "args": {
- "hash": "sha256-IlGxfw6Mhc7FYvhU2+Ngt9qflqr4JMC2OcplvksGI+U=",
- "rev": "cb6fd42532fc3a831d6863d5006217e32a67c417",
- "url": "https://chromium.googlesource.com/openscreen"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/openscreen/src/buildtools": {
- "args": {
- "hash": "sha256-suuxUL//BfAMmG8os8ChI7ic9EjGTi7y5kjxiAyrEQc=",
- "rev": "4e0e9c73a0f26735f034f09a9cab2a5c0178536b",
- "url": "https://chromium.googlesource.com/chromium/src/buildtools"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/openscreen/src/third_party/tinycbor/src": {
- "args": {
- "hash": "sha256-fMKBFUSKmODQyg4hKIa1hwnEKIV6WBbY1Gb8DOSnaHA=",
- "rev": "d393c16f3eb30d0c47e6f9d92db62272f0ec4dc7",
- "url": "https://chromium.googlesource.com/external/github.com/intel/tinycbor.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/ots/src": {
- "args": {
- "hash": "sha256-kiUXrXsaGOzPkKh0dVmU1I13WHt0Stzj7QLMqHN9FbU=",
- "rev": "46bea9879127d0ff1c6601b078e2ce98e83fcd33",
- "url": "https://chromium.googlesource.com/external/github.com/khaledhosny/ots.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/pdfium": {
- "args": {
- "hash": "sha256-d8qJECIdq01ct+sS7cHVKFulYJarwahKCEcVf762JNI=",
- "rev": "84a8011ec69d0e2de271c05be7d62979608040d9",
- "url": "https://pdfium.googlesource.com/pdfium.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/perfetto": {
- "args": {
- "hash": "sha256-3vervpsq/QLMrR7RcJMwwh+CdFvSEj8yAzj6s9d1XMo=",
- "rev": "ea011a2c2d3aecdc4f1674887e107a56d2905edd",
- "url": "https://android.googlesource.com/platform/external/perfetto.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/protobuf-javascript/src": {
- "args": {
- "hash": "sha256-TmP6xftUVTD7yML7UEM/DB8bcsL5RFlKPyCpcboD86U=",
- "rev": "e34549db516f8712f678fcd4bc411613b5cc5295",
- "url": "https://chromium.googlesource.com/external/github.com/protocolbuffers/protobuf-javascript"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/pthreadpool/src": {
- "args": {
- "hash": "sha256-rGg6lgLkmbYo+a9CdaXz9ZUyrqJ1rxLcjLJeBEOPAlE=",
- "rev": "560c60d342a76076f0557a3946924c6478470044",
- "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/pthreadpool.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/pyelftools": {
- "args": {
- "hash": "sha256-I/7p3IEvfP/gkes4kx18PvWwhAKilQKb67GXoW4zFB4=",
- "rev": "19b3e610c86fcadb837d252c794cb5e8008826ae",
- "url": "https://chromium.googlesource.com/chromiumos/third_party/pyelftools.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/pywebsocket3/src": {
- "args": {
- "hash": "sha256-WEqqu2/7fLqcf/2/IcD7/FewRSZ6jTgVlVBvnihthYQ=",
- "rev": "50602a14f1b6da17e0b619833a13addc6ea78bc2",
- "url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/pywebsocket3.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/quic_trace/src": {
- "args": {
- "hash": "sha256-N1uFoNd3mz/LH1z06581Ds7BUyc67SNXUPzqomYREr8=",
- "rev": "413da873d93a03d3662f24b881ea459a79f9c589",
- "url": "https://chromium.googlesource.com/external/github.com/google/quic-trace.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/re2/src": {
- "args": {
- "hash": "sha256-IeANwJlJl45yf8iu/AZNDoiyIvTCZIeK1b74sdCfAIc=",
- "rev": "6dcd83d60f7944926bfd308cc13979fc53dd69ca",
- "url": "https://chromium.googlesource.com/external/github.com/google/re2.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/ruy/src": {
- "args": {
- "hash": "sha256-4NVvqUZn2BdwTxJINTHwPeRqbGXZrWdcd7jv1Y+eoKY=",
- "rev": "c08ec529fc91722bde519628d9449258082eb847",
- "url": "https://chromium.googlesource.com/external/github.com/google/ruy.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/securemessage/src": {
- "args": {
- "hash": "sha256-GS4ccnuiqxMs/LVYAtvSlVAYFp4a5GoZsxcriTX3k78=",
- "rev": "fa07beb12babc3b25e0c5b1f38c16aa8cb6b8f84",
- "url": "https://chromium.googlesource.com/external/github.com/google/securemessage.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/skia": {
- "args": {
- "hash": "sha256-e+oaFqj0D7jKiyDJRmT3BWZEd9j9BKkTdMg8hUOAvzA=",
- "rev": "ee9db7d1348f76780fd0184b9b0243d653e36411",
- "url": "https://skia.googlesource.com/skia.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/smhasher/src": {
- "args": {
- "hash": "sha256-RyC//me08hwGXRrWcK8GZ1uhIkBq4FByA7fHCVDsniw=",
- "rev": "e87738e57558e0ec472b2fc3a643b838e5b6e88f",
- "url": "https://chromium.googlesource.com/external/smhasher.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/snappy/src": {
- "args": {
- "hash": "sha256-5fV6NfO8vmqK+iCwpLtE2YjYOzjsshctauyjNIOxrH0=",
- "rev": "c9f9edf6d75bb065fa47468bf035e051a57bec7c",
- "url": "https://chromium.googlesource.com/external/github.com/google/snappy.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/speedometer/v3.0": {
- "args": {
- "hash": "sha256-qMQ4naX+4uUu3vtzzinjkhxX9/dNoTwj6vWCu4FdQmU=",
- "rev": "8d67f28d0281ac4330f283495b7f48286654ad7d",
- "url": "https://chromium.googlesource.com/external/github.com/WebKit/Speedometer.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/spirv-cross/src": {
- "args": {
- "hash": "sha256-H43M9DXfEuyKuvo6rjb5k0KEbYOSFodbPJh8ZKY4PQg=",
- "rev": "b8fcf307f1f347089e3c46eb4451d27f32ebc8d3",
- "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/spirv-headers/src": {
- "args": {
- "hash": "sha256-FrT/kVIMjcu2zv+7kDeNKM77NnOyMBb8pV0w8DBP42A=",
- "rev": "996c728cf7dcfb29845cfa15222822318f047810",
- "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/spirv-tools/src": {
- "args": {
- "hash": "sha256-m/a1i26u8lzpKuQHyAy6ktWWjbLZEaio1awz8VovTGE=",
- "rev": "9117e042b93d4ff08d2406542708170f77aaa2a3",
- "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/sqlite/src": {
- "args": {
- "hash": "sha256-ltl3OTk/wZPSj3yYthNlKd3mBxef6l5uW6UYTwebNek=",
- "rev": "567495a62a62dc013888500526e82837d727fe01",
- "url": "https://chromium.googlesource.com/chromium/deps/sqlite.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/squirrel.mac": {
- "args": {
- "hash": "sha256-4GfKQg0u3c9GI+jl3ixESNqWXQJKRMi+00QT0s2Shqw=",
- "owner": "Squirrel",
- "repo": "Squirrel.Mac",
- "rev": "0e5d146ba13101a1302d59ea6e6e0b3cace4ae38"
- },
- "fetcher": "fetchFromGitHub"
- },
- "src/third_party/squirrel.mac/vendor/Mantle": {
- "args": {
- "hash": "sha256-ogFkMJybf2Ue606ojXJu6Gy5aXSi1bSKm60qcTAIaPk=",
- "owner": "Mantle",
- "repo": "Mantle",
- "rev": "78d3966b3c331292ea29ec38661b25df0a245948"
- },
- "fetcher": "fetchFromGitHub"
- },
- "src/third_party/squirrel.mac/vendor/ReactiveObjC": {
- "args": {
- "hash": "sha256-/MCqC1oFe3N9TsmfVLgl+deR6qHU6ZFQQjudb9zB5Mo=",
- "owner": "ReactiveCocoa",
- "repo": "ReactiveObjC",
- "rev": "74ab5baccc6f7202c8ac69a8d1e152c29dc1ea76"
- },
- "fetcher": "fetchFromGitHub"
- },
- "src/third_party/swiftshader": {
- "args": {
- "hash": "sha256-h2BHyaOM0oscfX5cu8s4N1yyOkg/yQbvwD1DxF+RAQc=",
- "rev": "d5c4284774115bb1e32c012a2be1b5fbeb1ab1f9",
- "url": "https://swiftshader.googlesource.com/SwiftShader.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/text-fragments-polyfill/src": {
- "args": {
- "hash": "sha256-4rW2u1cQAF4iPWHAt1FvVXIpz2pmI901rEPks/w/iFA=",
- "rev": "c036420683f672d685e27415de0a5f5e85bdc23f",
- "url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/text-fragments-polyfill.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/tflite/src": {
- "args": {
- "hash": "sha256-gOUt/NljRK5wMFwy2aLqZ5NHwk4y/GxbQ+AZ3MxM0M8=",
- "rev": "658227d3b535287dc6859788bde6076c4fe3fe7c",
- "url": "https://chromium.googlesource.com/external/github.com/tensorflow/tensorflow.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/ukey2/src": {
- "args": {
- "hash": "sha256-aaLs6ZS+CdBlCJ6ZhsmdAPFxiBIij6oufsDcNeRSV1E=",
- "rev": "0275885d8e6038c39b8a8ca55e75d1d4d1727f47",
- "url": "https://chromium.googlesource.com/external/github.com/google/ukey2.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/vulkan-deps": {
- "args": {
- "hash": "sha256-LVWvbMLjkMyAUM+0UpQ4oRsfcRU5F/xY60wiwxth4Ko=",
- "rev": "0b56dd5952b25fad65139b64096fcd187048ed38",
- "url": "https://chromium.googlesource.com/vulkan-deps"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/vulkan-headers/src": {
- "args": {
- "hash": "sha256-exXzafLgrgxyRvaF+4pCF+OLtPT2gDmcvzazQ4EQ1eA=",
- "rev": "cbcad3c0587dddc768d76641ea00f5c45ab5a278",
- "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/vulkan-loader/src": {
- "args": {
- "hash": "sha256-NDp2TLeMLAHb92R+PjaPDTx8ckIlpSsS3BNx3lerB68=",
- "rev": "b0177a972b8d47e823a4500cf88df88a8c27add7",
- "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/vulkan-tools/src": {
- "args": {
- "hash": "sha256-PiWKL045DAOGm+Hl/UyO6vmD4fVfuf2fSvXK6gSYbwo=",
- "rev": "15f2de809304aba619ee327f3273425418ca83de",
- "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/vulkan-utility-libraries/src": {
- "args": {
- "hash": "sha256-luDw6g/EMSK67Et2wNta74PHGQU6Y7IRpDlSpgDYV6Q=",
- "rev": "87ab6b39a97d084a2ef27db85e3cbaf5d2622a09",
- "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/vulkan-validation-layers/src": {
- "args": {
- "hash": "sha256-WWV+P++0Czeqg5p2UTqIP81pY8oz7cS7E7Z/sc0km6g=",
- "rev": "bc2c38412f739c298d6f5c076c064e6b5696959f",
- "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/vulkan_memory_allocator": {
- "args": {
- "hash": "sha256-YzxHZagz/M8Y54UnI4h1wu5jSTuaOgv0ifC9d3fJZlQ=",
- "rev": "56300b29fbfcc693ee6609ddad3fdd5b7a449a21",
- "url": "https://chromium.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/wayland-protocols/gtk": {
- "args": {
- "hash": "sha256-75XNnLkF5Lt1LMRGT+T61k0/mLa3kkynfN+QWvZ0LiQ=",
- "rev": "40ebed3a03aef096addc0af09fec4ec529d882a0",
- "url": "https://chromium.googlesource.com/external/github.com/GNOME/gtk.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/wayland-protocols/kde": {
- "args": {
- "hash": "sha256-Dmcp/2ms/k7NxPPmPkp0YNfM9z2Es1ZO0uX10bc7N2Y=",
- "rev": "0b07950714b3a36c9b9f71fc025fc7783e82926e",
- "url": "https://chromium.googlesource.com/external/github.com/KDE/plasma-wayland-protocols.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/wayland-protocols/src": {
- "args": {
- "hash": "sha256-o/adWEXYSqWib6KoK7XMCWbojapcS4O/CEPxv7iFCw8=",
- "rev": "7d5a3a8b494ae44cd9651f9505e88a250082765e",
- "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/wayland-protocols.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/wayland/src": {
- "args": {
- "hash": "sha256-oK0Z8xO2ILuySGZS0m37ZF0MOyle2l8AXb0/6wai0/w=",
- "rev": "a156431ea66fe67d69c9fbba8a8ad34dabbab81c",
- "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/wayland.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/webdriver/pylib": {
- "args": {
- "hash": "sha256-WIqWXIKVgElgg8P8laLAlUrgwodGdeVcwohZxnPKedw=",
- "rev": "fc5e7e70c098bfb189a9a74746809ad3c5c34e04",
- "url": "https://chromium.googlesource.com/external/github.com/SeleniumHQ/selenium/py.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/webgl/src": {
- "args": {
- "hash": "sha256-32r3BdmsNA89mo0k+vK1G3718AOjseE7cJlopZ/0pSw=",
- "rev": "450cceb587613ac1469c5a131fac15935c99e0e7",
- "url": "https://chromium.googlesource.com/external/khronosgroup/webgl.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/webgpu-cts/src": {
- "args": {
- "hash": "sha256-Dd5uWNtnBIc2jiMkh9KjI5O1tJtmMvdlMA2nf+VOkQQ=",
- "rev": "b9f32fd2943dd2b3d0033bf938c9d843f4b5c9a9",
- "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/webrtc": {
- "args": {
- "hash": "sha256-S8kGTd3+lf5OTayCMOqqrjxH4tcbT0NLZBpKmTCysMs=",
- "rev": "afaf497805cbb502da89991c2dcd783201efdd08",
- "url": "https://webrtc.googlesource.com/src.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/weston/src": {
- "args": {
- "hash": "sha256-y2srFaPUOoB2umzpo4+hFfhNlqXM2AoMGOpUy/ZSacg=",
- "rev": "ccf29cb237c3ed09c5f370f35239c93d07abfdd7",
- "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/weston.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/wuffs/src": {
- "args": {
- "hash": "sha256-373d2F/STcgCHEq+PO+SCHrKVOo6uO1rqqwRN5eeBCw=",
- "rev": "e3f919ccfe3ef542cfc983a82146070258fb57f8",
- "url": "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/xdg-utils": {
- "args": {
- "hash": "sha256-WuQ9uDq+QD17Y20ACFGres4nbkeOiTE2y+tY1avAT5U=",
- "rev": "cb54d9db2e535ee4ef13cc91b65a1e2741a94a44",
- "url": "https://chromium.googlesource.com/chromium/deps/xdg-utils.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/xnnpack/src": {
- "args": {
- "hash": "sha256-aDPlmLxNY9M5+Qb8VtdfxphHXU/X6JwYhkUSXkLh/FE=",
- "rev": "d1d33679661a34f03a806af2b813f699db3004f9",
- "url": "https://chromium.googlesource.com/external/github.com/google/XNNPACK.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/third_party/zstd/src": {
- "args": {
- "hash": "sha256-4J/F2v2W3mMdhqQ4q35gYkGaqTKlcG6OxUt3vQ8pcLs=",
- "rev": "7fb5347e88f10472226c9aa1962a148e55d8c480",
- "url": "https://chromium.googlesource.com/external/github.com/facebook/zstd.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/tools/page_cycler/acid3": {
- "args": {
- "hash": "sha256-s/49EaYQRsyxuLejXc1zGDYTD7uO0ddaQIJBP50Bvw0=",
- "rev": "a926d0a32e02c4c03ae95bb798e6c780e0e184ba",
- "url": "https://chromium.googlesource.com/chromium/deps/acid3.git"
- },
- "fetcher": "fetchFromGitiles"
- },
- "src/v8": {
- "args": {
- "hash": "sha256-o+THwG/lBFw495DxAckGPeoiTV5zOopVF4B3MXmraf0=",
- "rev": "7130a7a08a7075cc1967528402ec536f6fd85ed2",
- "url": "https://chromium.googlesource.com/v8/v8.git"
- },
- "fetcher": "fetchFromGitiles"
- }
- },
- "electron_yarn_hash": "0gh5bcsh23s3rqxqc2l3jz5vjb553sk0a1jycn94zm821pc3csd2",
- "modules": "132",
- "node": "20.19.1",
- "version": "34.5.8"
- },
"35": {
"chrome": "134.0.6998.205",
"chromium": {
@@ -3909,5 +2632,1338 @@
"modules": "135",
"node": "22.16.0",
"version": "36.6.0"
+ },
+ "37": {
+ "chrome": "138.0.7204.35",
+ "chromium": {
+ "deps": {
+ "gn": {
+ "hash": "sha256-UB9a7Fr1W0yYld6WbXyRR8dFqWsj/zx4KumDZ5JQKSM=",
+ "rev": "ebc8f16ca7b0d36a3e532ee90896f9eb48e5423b",
+ "url": "https://gn.googlesource.com/gn",
+ "version": "2025-05-21"
+ }
+ },
+ "version": "138.0.7204.35"
+ },
+ "chromium_npm_hash": "sha256-8d5VTHutv51libabhxv7SqPRcHfhVmGDSOvTSv013rE=",
+ "deps": {
+ "src": {
+ "args": {
+ "hash": "sha256-0C2lONJHtUyEAQ8PNSk5Z4zCZa5XFI2LH4Ew9PgWfuU=",
+ "postFetch": "rm -r $out/third_party/blink/web_tests; rm -r $out/content/test/data; rm -rf $out/courgette/testdata; rm -r $out/extensions/test/data; rm -r $out/media/test/data; ",
+ "tag": "138.0.7204.35",
+ "url": "https://chromium.googlesource.com/chromium/src.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/chrome/test/data/perf/canvas_bench": {
+ "args": {
+ "hash": "sha256-svOuyBGKloBLM11xLlWCDsB4PpRjdKTBdW2UEW4JQjM=",
+ "rev": "a7b40ea5ae0239517d78845a5fc9b12976bfc732",
+ "url": "https://chromium.googlesource.com/chromium/canvas_bench.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/chrome/test/data/perf/frame_rate/content": {
+ "args": {
+ "hash": "sha256-t4kcuvH0rkPBkcdiMsoNQaRwU09eU+oSvyHDiAHrKXo=",
+ "rev": "c10272c88463efeef6bb19c9ec07c42bc8fe22b9",
+ "url": "https://chromium.googlesource.com/chromium/frame_rate/content.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/chrome/test/data/xr/webvr_info": {
+ "args": {
+ "hash": "sha256-BsAPwc4oEWri0TlqhyxqFNqKdfgVSrB0vQyISmYY4eg=",
+ "rev": "c58ae99b9ff9e2aa4c524633519570bf33536248",
+ "url": "https://chromium.googlesource.com/external/github.com/toji/webvr.info.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/docs/website": {
+ "args": {
+ "hash": "sha256-X9GIZkPokZ8ojNVDScDQL8D0tJGsaQMg8ncenuBzFHk=",
+ "rev": "d21d90790d8ea421b317c4cb52a0d94133422796",
+ "url": "https://chromium.googlesource.com/website.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/electron": {
+ "args": {
+ "hash": "sha256-c/Gm/qLWy96407+XVXF+4z99jNUQwkWSwlHxnvfCbK0=",
+ "owner": "electron",
+ "repo": "electron",
+ "tag": "v37.1.0"
+ },
+ "fetcher": "fetchFromGitHub"
+ },
+ "src/media/cdm/api": {
+ "args": {
+ "hash": "sha256-3JBBcBg2ep/7LnvMHBWnqAFG+etETArFXZr4Klv30T4=",
+ "rev": "852a81f0ae3ab350041d2e44d207a42fb0436ae1",
+ "url": "https://chromium.googlesource.com/chromium/cdm.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/net/third_party/quiche/src": {
+ "args": {
+ "hash": "sha256-UYyBMjv6ATIwBXYngGof85pBCHXb/jYXetVo0oBrHf8=",
+ "rev": "3b42119c3e4be5d4720c3c1b384106fa43e9b5e3",
+ "url": "https://quiche.googlesource.com/quiche.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/testing/libfuzzer/fuzzers/wasm_corpus": {
+ "args": {
+ "hash": "sha256-gItDOfNqm1tHlmelz3l2GGdiKi9adu1EpPP6U7+8EQY=",
+ "rev": "1df5e50a45db9518a56ebb42cb020a94a090258b",
+ "url": "https://chromium.googlesource.com/v8/fuzzer_wasm_corpus.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/accessibility_test_framework/src": {
+ "args": {
+ "hash": "sha256-mzVgoxxBWebesG6okyMxxmO6oH+TITA4o9ucHHMMzkQ=",
+ "rev": "4a764c690353ea136c82f1a696a70bf38d1ef5fe",
+ "url": "https://chromium.googlesource.com/external/github.com/google/Accessibility-Test-Framework-for-Android.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/angle": {
+ "args": {
+ "hash": "sha256-jGnuunyWvu43LLpejJTcoSlhCukhv8pX2OAQ7n1adcU=",
+ "rev": "d1fb74c940fef262809f4a513039b70e94c91440",
+ "url": "https://chromium.googlesource.com/angle/angle.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/angle/third_party/VK-GL-CTS/src": {
+ "args": {
+ "hash": "sha256-EFhi4dELfyq6FcB+YFlzKfoXz44i5ieFK1KUlFzqE1I=",
+ "rev": "c9d2e24d1a6da00165a0b5908ea4ba05c2e5f0b2",
+ "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/angle/third_party/glmark2/src": {
+ "args": {
+ "hash": "sha256-VebUALLFKwEa4+oE+jF8mBSzhJd6aflphPmcK1Em8bw=",
+ "rev": "6edcf02205fd1e8979dc3f3964257a81959b80c8",
+ "url": "https://chromium.googlesource.com/external/github.com/glmark2/glmark2"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/angle/third_party/rapidjson/src": {
+ "args": {
+ "hash": "sha256-btUl1a/B0sXwf/+hyvCvVJjWqIkXfVYCpHm3TeBuOxk=",
+ "rev": "781a4e667d84aeedbeb8184b7b62425ea66ec59f",
+ "url": "https://chromium.googlesource.com/external/github.com/Tencent/rapidjson"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/anonymous_tokens/src": {
+ "args": {
+ "hash": "sha256-GaRtZmYqajLUpt7ToRfMLBlyMiJB5yT9BaaT9pHH7OM=",
+ "rev": "d708a2602a5947ee068f784daa1594a673d47c4a",
+ "url": "https://chromium.googlesource.com/external/github.com/google/anonymous-tokens.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/boringssl/src": {
+ "args": {
+ "hash": "sha256-+Gs+efB1ZizjMYRSRTQrMDPZsDC+dgNJ9+yHXkzm/ZM=",
+ "rev": "9295969e1dad2c31d0d99481734c1c68dcbc6403",
+ "url": "https://boringssl.googlesource.com/boringssl.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/breakpad/breakpad": {
+ "args": {
+ "hash": "sha256-+Z7KphmQYCeN0aJkqyMrJ4tIi3BhqN16KoPNLb/bMGo=",
+ "rev": "2625edb085169e92cf036c236ac79ab594a7b1cc",
+ "url": "https://chromium.googlesource.com/breakpad/breakpad.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/cast_core/public/src": {
+ "args": {
+ "hash": "sha256-yQxm1GMMne80bLl1P7OAN3bJLz1qRNAvou2/5MKp2ig=",
+ "rev": "f5ee589bdaea60418f670fa176be15ccb9a34942",
+ "url": "https://chromium.googlesource.com/cast_core/public"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/catapult": {
+ "args": {
+ "hash": "sha256-xHe9WoAq1FElMSnu5mlEzrH+EzKiwWXeXMCH69KL5a0=",
+ "rev": "5477c6dfde1132b685c73edc16e1bc71449a691d",
+ "url": "https://chromium.googlesource.com/catapult.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/ced/src": {
+ "args": {
+ "hash": "sha256-ySG74Rj2i2c/PltEgHVEDq+N8yd9gZmxNktc56zIUiY=",
+ "rev": "ba412eaaacd3186085babcd901679a48863c7dd5",
+ "url": "https://chromium.googlesource.com/external/github.com/google/compact_enc_det.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/clang-format/script": {
+ "args": {
+ "hash": "sha256-d9uweklBffiuCWEb03ti1eFLnMac2qRtvggzXY1n/RU=",
+ "rev": "37f6e68a107df43b7d7e044fd36a13cbae3413f2",
+ "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/clang/tools/clang-format.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/cld_3/src": {
+ "args": {
+ "hash": "sha256-C3MOMBUy9jgkT9BAi/Fgm2UH4cxRuwSBEcRl3hzM2Ss=",
+ "rev": "b48dc46512566f5a2d41118c8c1116c4f96dc661",
+ "url": "https://chromium.googlesource.com/external/github.com/google/cld_3.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/colorama/src": {
+ "args": {
+ "hash": "sha256-6ZTdPYSHdQOLYMSnE+Tp7PgsVTs3U2awGu9Qb4Rg/tk=",
+ "rev": "3de9f013df4b470069d03d250224062e8cf15c49",
+ "url": "https://chromium.googlesource.com/external/colorama.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/compiler-rt/src": {
+ "args": {
+ "hash": "sha256-FVdcKGwRuno3AzS6FUvI8OTj3mBMRfFR2A8GzYcwIU4=",
+ "rev": "57196dd146582915c955f6d388e31aea93220c51",
+ "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/content_analysis_sdk/src": {
+ "args": {
+ "hash": "sha256-f5Jmk1MiGjaRdLun+v/GKVl8Yv9hOZMTQUSxgiJalcY=",
+ "rev": "9a408736204513e0e95dd2ab3c08de0d95963efc",
+ "url": "https://chromium.googlesource.com/external/github.com/chromium/content_analysis_sdk.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/cpu_features/src": {
+ "args": {
+ "hash": "sha256-E8LoVzhe+TAmARWZTSuINlsVhzpUJMxPPCGe/dHZcyA=",
+ "rev": "936b9ab5515dead115606559502e3864958f7f6e",
+ "url": "https://chromium.googlesource.com/external/github.com/google/cpu_features.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/cpuinfo/src": {
+ "args": {
+ "hash": "sha256-uochXC0AtOw8N/ycyVJdiRw4pibCW2ENrFMT3jtxDSg=",
+ "rev": "39ea79a3c132f4e678695c579ea9353d2bd29968",
+ "url": "https://chromium.googlesource.com/external/github.com/pytorch/cpuinfo.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/crabbyavif/src": {
+ "args": {
+ "hash": "sha256-IxtMAqN3O/s1GrVKzcge9cQ+DVtJtFvHYvsfjmflwVQ=",
+ "rev": "eb883022a5886739f07f0241f918e2be97d65ff0",
+ "url": "https://chromium.googlesource.com/external/github.com/webmproject/CrabbyAvif.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/crc32c/src": {
+ "args": {
+ "hash": "sha256-KBraGaO5LmmPP+p8RuDogGldbTWdNDK+WzF4Q09keuE=",
+ "rev": "d3d60ac6e0f16780bcfcc825385e1d338801a558",
+ "url": "https://chromium.googlesource.com/external/github.com/google/crc32c.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/cros-components/src": {
+ "args": {
+ "hash": "sha256-CT9c4LqTwhldsxoEny8MesULwQC4k95F4tfCtRZErGM=",
+ "rev": "97dc8c7a1df880206cc54d9913a7e9d73677072a",
+ "url": "https://chromium.googlesource.com/external/google3/cros_components.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/cros_system_api": {
+ "args": {
+ "hash": "sha256-WlSxI1J+HjAD2UaQjW3oOQpZDnMn/ROpTLYTP4efTi4=",
+ "rev": "fe88d943e5f328b34e38b91296db39650f6ec6f3",
+ "url": "https://chromium.googlesource.com/chromiumos/platform2/system_api.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/crossbench": {
+ "args": {
+ "hash": "sha256-YomhvLtDFkGWyivN81gRxtOh9U32Zt6+/obTwccJuRo=",
+ "rev": "feff46a3cd49eb39667205cdfa2b490bcffc9ba1",
+ "url": "https://chromium.googlesource.com/crossbench.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/dav1d/libdav1d": {
+ "args": {
+ "hash": "sha256-+DY4p41VuAlx7NvOfXjWzgEhvtpebjkjbFwSYOzSjv4=",
+ "rev": "8d956180934f16244bdb58b39175824775125e55",
+ "url": "https://chromium.googlesource.com/external/github.com/videolan/dav1d.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/dawn": {
+ "args": {
+ "hash": "sha256-N9DVbQE56WWBmJ/PJlYhU+pr8I+PFf/7FzMLCNqx3hg=",
+ "rev": "86772f20cca54b46f62b65ece1ef61224aef09db",
+ "url": "https://dawn.googlesource.com/dawn.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/dawn/third_party/dxc": {
+ "args": {
+ "hash": "sha256-0LfNcR1FXy5GcL2yHHA6A7EJIWtZU1U/2xSq/eysUa0=",
+ "rev": "d72e2b1a15d22fc825e2f3c939f1baac43281ae9",
+ "url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectXShaderCompiler"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/dawn/third_party/dxheaders": {
+ "args": {
+ "hash": "sha256-0Miw1Cy/jmOo7bLFBOHuTRDV04cSeyvUEyPkpVsX9DA=",
+ "rev": "980971e835876dc0cde415e8f9bc646e64667bf7",
+ "url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectX-Headers"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/dawn/third_party/glfw": {
+ "args": {
+ "hash": "sha256-E1zXIDiw87badrLOZTvV+Wh9NZHu51nb70ZK9vlAlqE=",
+ "rev": "b35641f4a3c62aa86a0b3c983d163bc0fe36026d",
+ "url": "https://chromium.googlesource.com/external/github.com/glfw/glfw"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/dawn/third_party/khronos/EGL-Registry": {
+ "args": {
+ "hash": "sha256-Z6DwLfgQ1wsJXz0KKJyVieOatnDmx3cs0qJ6IEgSq1A=",
+ "rev": "7dea2ed79187cd13f76183c4b9100159b9e3e071",
+ "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/EGL-Registry"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/dawn/third_party/khronos/OpenGL-Registry": {
+ "args": {
+ "hash": "sha256-K3PcRIiD3AmnbiSm5TwaLs4Gu9hxaN8Y91WMKK8pOXE=",
+ "rev": "5bae8738b23d06968e7c3a41308568120943ae77",
+ "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/OpenGL-Registry"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/dawn/third_party/webgpu-cts": {
+ "args": {
+ "hash": "sha256-eMDb0nG9HDiesd8KPajbMej8JTll4JkIf17KMnKvW1s=",
+ "rev": "905c7cbfeaac1cf3feb4c6056dd6f3dbaa06b074",
+ "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/dawn/third_party/webgpu-headers/src": {
+ "args": {
+ "hash": "sha256-+Kf4yPBhM6y2kYTZud9vCavT/BBOzDBsph5+/bUuwkM=",
+ "rev": "60cd9020309b87a30cd7240aad32accd24262a5e",
+ "url": "https://chromium.googlesource.com/external/github.com/webgpu-native/webgpu-headers"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/depot_tools": {
+ "args": {
+ "hash": "sha256-1avxBlK0WLHTru5wUecbiGpSEYv8Epobsl4EfCaWX9A=",
+ "rev": "a8900cc0f023d6a662eb66b317e8ddceeb113490",
+ "url": "https://chromium.googlesource.com/chromium/tools/depot_tools.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/devtools-frontend/src": {
+ "args": {
+ "hash": "sha256-7ygnGBAeiLxwbTx5s7LRs9+ZOe06tr8VFcSY5cVHnS4=",
+ "rev": "f8dfe8b36e516cef8a5a169e88d16480d8abdc68",
+ "url": "https://chromium.googlesource.com/devtools/devtools-frontend"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/dom_distiller_js/dist": {
+ "args": {
+ "hash": "sha256-yuEBD2XQlV3FGI/i7lTmJbCqzeBiuG1Qow8wvsppGJw=",
+ "rev": "199de96b345ada7c6e7e6ba3d2fa7a6911b8767d",
+ "url": "https://chromium.googlesource.com/chromium/dom-distiller/dist.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/domato/src": {
+ "args": {
+ "hash": "sha256-fYxoA0fxKe9U23j+Jp0MWj4m7RfsRpM0XjF6/yOhX1I=",
+ "rev": "053714bccbda79cf76dac3fee48ab2b27f21925e",
+ "url": "https://chromium.googlesource.com/external/github.com/googleprojectzero/domato.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/dragonbox/src": {
+ "args": {
+ "hash": "sha256-AOniXMPgwKpkJqivRd+GazEnhdw53FzhxKqG+GdU+cc=",
+ "rev": "6c7c925b571d54486b9ffae8d9d18a822801cbda",
+ "url": "https://chromium.googlesource.com/external/github.com/jk-jeon/dragonbox.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/eigen3/src": {
+ "args": {
+ "hash": "sha256-dWWjpQ6M7udOQqUV6P9go3R3O4J2XYpvkngJjRDY4v8=",
+ "rev": "ae3aba99db4c829b4cc4d9fdd54321dedd814dc4",
+ "url": "https://chromium.googlesource.com/external/gitlab.com/libeigen/eigen.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/electron_node": {
+ "args": {
+ "hash": "sha256-rp48HOQB13nZJUByXaL8MMkHNFp/V0qtbDZgoFBIcJY=",
+ "owner": "nodejs",
+ "repo": "node",
+ "tag": "v22.16.0"
+ },
+ "fetcher": "fetchFromGitHub"
+ },
+ "src/third_party/emoji-segmenter/src": {
+ "args": {
+ "hash": "sha256-KdQdKBBipEBRT8UmNGao6yCB4m2CU8/SrMVvcXlb5qE=",
+ "rev": "955936be8b391e00835257059607d7c5b72ce744",
+ "url": "https://chromium.googlesource.com/external/github.com/google/emoji-segmenter.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/engflow-reclient-configs": {
+ "args": {
+ "hash": "sha256-aZXYPj9KYBiZnljqOLlWJWS396Fg3EhjiQLZmkwCBsY=",
+ "owner": "EngFlow",
+ "repo": "reclient-configs",
+ "rev": "955335c30a752e9ef7bff375baab5e0819b6c00d"
+ },
+ "fetcher": "fetchFromGitHub"
+ },
+ "src/third_party/expat/src": {
+ "args": {
+ "hash": "sha256-qe8O7otL6YcDDBx2DS/+c5mWIS8Rf8RQXVtLFMIAeyk=",
+ "rev": "69d6c054c1bd5258c2a13405a7f5628c72c177c2",
+ "url": "https://chromium.googlesource.com/external/github.com/libexpat/libexpat.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/farmhash/src": {
+ "args": {
+ "hash": "sha256-5n58VEUxa/K//jAfZqG4cXyfxrp50ogWDNYcgiXVHdc=",
+ "rev": "816a4ae622e964763ca0862d9dbd19324a1eaf45",
+ "url": "https://chromium.googlesource.com/external/github.com/google/farmhash.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/fast_float/src": {
+ "args": {
+ "hash": "sha256-CG5je117WYyemTe5PTqznDP0bvY5TeXn8Vu1Xh5yUzQ=",
+ "rev": "cb1d42aaa1e14b09e1452cfdef373d051b8c02a4",
+ "url": "https://chromium.googlesource.com/external/github.com/fastfloat/fast_float.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/ffmpeg": {
+ "args": {
+ "hash": "sha256-noc3iZ1yCEgkwWyznx48rXC8JuKxla9QgC/CIjRL/y8=",
+ "rev": "dcdd0fa51b65a0b1688ff6b8f0cc81908f09ded2",
+ "url": "https://chromium.googlesource.com/chromium/third_party/ffmpeg.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/flac": {
+ "args": {
+ "hash": "sha256-gvTFPNOlBfozptaH7lTb9iD/09AmpdT3kCl9ClszjEs=",
+ "rev": "689da3a7ed50af7448c3f1961d1791c7c1d9c85c",
+ "url": "https://chromium.googlesource.com/chromium/deps/flac.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/flatbuffers/src": {
+ "args": {
+ "hash": "sha256-tbc45o0MbMvK5XqRUJt5Eg8BU6+TJqlmwFgQhHq6wRM=",
+ "rev": "8db59321d9f02cdffa30126654059c7d02f70c32",
+ "url": "https://chromium.googlesource.com/external/github.com/google/flatbuffers.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/fontconfig/src": {
+ "args": {
+ "hash": "sha256-Kz7KY+evfOciKFHIBLG1JxIRgHRTzuBLgxXHv3m/Y1Y=",
+ "rev": "8cf0ce700a8abe0d97ace4bf7efc7f9534b729ba",
+ "url": "https://chromium.googlesource.com/external/fontconfig.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/fp16/src": {
+ "args": {
+ "hash": "sha256-m2d9bqZoGWzuUPGkd29MsrdscnJRtuIkLIMp3fMmtRY=",
+ "rev": "0a92994d729ff76a58f692d3028ca1b64b145d91",
+ "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FP16.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/freetype-testing/src": {
+ "args": {
+ "hash": "sha256-cpzz5QDeAT3UgAZzwW7c0SgLDQsBwy/1Q+5hz2XW4lE=",
+ "rev": "04fa94191645af39750f5eff0a66c49c5cb2c2cc",
+ "url": "https://chromium.googlesource.com/external/github.com/freetype/freetype2-testing.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/freetype/src": {
+ "args": {
+ "hash": "sha256-j5FPldhIOzsOsFBAMyNh44FTeOD8Gm3scoi3B3hhgKQ=",
+ "rev": "738905b34bd1f5a8ff51bd2bc8e38a2d8be9bfd6",
+ "url": "https://chromium.googlesource.com/chromium/src/third_party/freetype2.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/fuzztest/src": {
+ "args": {
+ "hash": "sha256-MHli8sadgC3OMesBGhkjPM/yW49KFOtdFuBII1bcFas=",
+ "rev": "f03aafb7516050ea73f617bf969f03eac641aefc",
+ "url": "https://chromium.googlesource.com/external/github.com/google/fuzztest.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/fxdiv/src": {
+ "args": {
+ "hash": "sha256-LjX5kivfHbqCIA5pF9qUvswG1gjOFo3CMpX0VR+Cn38=",
+ "rev": "63058eff77e11aa15bf531df5dd34395ec3017c8",
+ "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FXdiv.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/gemmlowp/src": {
+ "args": {
+ "hash": "sha256-O5wD8wxgis0qYMaY+xZ21GBDVQFphMRvInCOswS6inA=",
+ "rev": "13d57703abca3005d97b19df1f2db731607a7dc2",
+ "url": "https://chromium.googlesource.com/external/github.com/google/gemmlowp.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/glslang/src": {
+ "args": {
+ "hash": "sha256-0PocroQj02mdpmFVXr6XB7mVVNzQOaBXm/2GNacZLF0=",
+ "rev": "93231001597dad1149a5d035af30eda50b9e6b6c",
+ "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/google_benchmark/src": {
+ "args": {
+ "hash": "sha256-cH8s1gP6kCcojAAfTt5iQCVqiAaSooNk4BdaILujM3w=",
+ "rev": "761305ec3b33abf30e08d50eb829e19a802581cc",
+ "url": "https://chromium.googlesource.com/external/github.com/google/benchmark.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/googletest/src": {
+ "args": {
+ "hash": "sha256-md/jPkFrs/0p0BYGyquh57Zxh+1dKaK26PDtUN1+Ce0=",
+ "rev": "09ffd0015395354774c059a17d9f5bee36177ff9",
+ "url": "https://chromium.googlesource.com/external/github.com/google/googletest.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/harfbuzz-ng/src": {
+ "args": {
+ "hash": "sha256-lNnCtgIegUy4DLhYaGZXcEaFw83KWAHoKpz69AEsWp4=",
+ "rev": "9f83bbbe64654b45ba5bb06927ff36c2e7588495",
+ "url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/highway/src": {
+ "args": {
+ "hash": "sha256-IS7m1wBwpPBUNhx2GttY1fzvmLIeAp3o2gXfrFpRdvY=",
+ "rev": "00fe003dac355b979f36157f9407c7c46448958e",
+ "url": "https://chromium.googlesource.com/external/github.com/google/highway.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/hunspell_dictionaries": {
+ "args": {
+ "hash": "sha256-67mvpJRFFa9eMfyqFMURlbxOaTJBICnk+gl0b0mEHl8=",
+ "rev": "41cdffd71c9948f63c7ad36e1fb0ff519aa7a37e",
+ "url": "https://chromium.googlesource.com/chromium/deps/hunspell_dictionaries.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/icu": {
+ "args": {
+ "hash": "sha256-/T7uyzwTCDaamLwSvutvbn6BJuoG1RqeR+xhXI5jmJw=",
+ "rev": "b929596baebf0ab4ac7ec07f38365db4c50a559d",
+ "url": "https://chromium.googlesource.com/chromium/deps/icu.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/ink/src": {
+ "args": {
+ "hash": "sha256-MqJXwtUGL/IakwOO63JX4gx0gTocgQT3hbhw6OcYUbc=",
+ "rev": "da9cb551ada1e55309b0ac89b9fbff2d29dbfe1e",
+ "url": "https://chromium.googlesource.com/external/github.com/google/ink.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/ink_stroke_modeler/src": {
+ "args": {
+ "hash": "sha256-jnIljheEBq96e6zZO87bhVJbA1vIjiRzm1Hh6YMBdnU=",
+ "rev": "03db1ed37b8b10b47d62ed0fa142d198a3861689",
+ "url": "https://chromium.googlesource.com/external/github.com/google/ink-stroke-modeler.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/instrumented_libs": {
+ "args": {
+ "hash": "sha256-8kokdsnn5jD9KgM/6g0NuITBbKkGXWEM4BMr1nCrfdU=",
+ "rev": "69015643b3f68dbd438c010439c59adc52cac808",
+ "url": "https://chromium.googlesource.com/chromium/third_party/instrumented_libraries.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/jetstream/main": {
+ "args": {
+ "hash": "sha256-mE6IoHpLV0LUWEeeiWycXtOhIbhkPvVdLvsPSyv4xPk=",
+ "rev": "539ab943598b505832a25a2222aa8957f1a20d6f",
+ "url": "https://chromium.googlesource.com/external/github.com/WebKit/JetStream.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/jetstream/v2.2": {
+ "args": {
+ "hash": "sha256-zucA2tqNOsvjhwYQKZ5bFUC73ZF/Fu7KpBflSelvixw=",
+ "rev": "2145cedef4ca2777b792cb0059d3400ee2a6153c",
+ "url": "https://chromium.googlesource.com/external/github.com/WebKit/JetStream.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/jsoncpp/source": {
+ "args": {
+ "hash": "sha256-bSLNcoYBz3QCt5VuTR056V9mU2PmBuYBa0W6hFg2m8Q=",
+ "rev": "42e892d96e47b1f6e29844cc705e148ec4856448",
+ "url": "https://chromium.googlesource.com/external/github.com/open-source-parsers/jsoncpp.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/leveldatabase/src": {
+ "args": {
+ "hash": "sha256-ANtMVRZmW6iOjDVn2y15ak2fTagFTTaz1Se6flUHL8w=",
+ "rev": "4ee78d7ea98330f7d7599c42576ca99e3c6ff9c5",
+ "url": "https://chromium.googlesource.com/external/leveldb.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/libFuzzer/src": {
+ "args": {
+ "hash": "sha256-Lb+HczYax0T7qvC0/Nwhc5l2szQTUYDouWRMD/Qz7sA=",
+ "rev": "e31b99917861f891308269c36a32363b120126bb",
+ "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt/lib/fuzzer.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/libaddressinput/src": {
+ "args": {
+ "hash": "sha256-6h4/DQUBoBtuGfbaTL5Te1Z+24qjTaBuIydcTV18j80=",
+ "rev": "2610f7b1043d6784ada41392fc9392d1ea09ea07",
+ "url": "https://chromium.googlesource.com/external/libaddressinput.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/libaom/source/libaom": {
+ "args": {
+ "hash": "sha256-pyLKjLG83Jlx6I+0M8Ah94ku4NIFcrHNYswfVHMvdrc=",
+ "rev": "2cca4aba034f99842c2e6cdc173f83801d289764",
+ "url": "https://aomedia.googlesource.com/aom.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/libc++/src": {
+ "args": {
+ "hash": "sha256-36ulJk/YTfP5k1sDeA/WQyIO8xaplRKK4cQhfTZdpko=",
+ "rev": "a01c02c9d4acbdae3b7e8a2f3ee58579a9c29f96",
+ "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/libc++abi/src": {
+ "args": {
+ "hash": "sha256-DkCvfFjMztFTzKf081XyiefW6tMBSZ1AdzcPzXAVPnk=",
+ "rev": "9810fb23f6ba666f017c2b67c67de2bcac2b44bd",
+ "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/libdrm/src": {
+ "args": {
+ "hash": "sha256-woSYEDUfcEBpYOYnli13wLMt754A7KnUbmTEcFQdFGw=",
+ "rev": "ad78bb591d02162d3b90890aa4d0a238b2a37cde",
+ "url": "https://chromium.googlesource.com/chromiumos/third_party/libdrm.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/libgav1/src": {
+ "args": {
+ "hash": "sha256-BgTfWmbcMvJB1KewJpRcMtbOd2FVuJ+fi1zAXBXfkrg=",
+ "rev": "c05bf9be660cf170d7c26bd06bb42b3322180e58",
+ "url": "https://chromium.googlesource.com/codecs/libgav1.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/libipp/libipp": {
+ "args": {
+ "hash": "sha256-gxU92lHLd6uxO8T3QWhZIK0hGy97cki705DV0VimCPY=",
+ "rev": "2209bb84a8e122dab7c02fe66cc61a7b42873d7f",
+ "url": "https://chromium.googlesource.com/chromiumos/platform2/libipp.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/libjpeg_turbo": {
+ "args": {
+ "hash": "sha256-Ig+tmprZDvlf/M72/DTar2pbxat9ZElgSqdXdoM0lPs=",
+ "rev": "e14cbfaa85529d47f9f55b0f104a579c1061f9ad",
+ "url": "https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/liblouis/src": {
+ "args": {
+ "hash": "sha256-EI/uaHXe0NlqdEw764q0SjerThYEVLRogUlmrsZwXnY=",
+ "rev": "9700847afb92cb35969bdfcbbfbbb74b9c7b3376",
+ "url": "https://chromium.googlesource.com/external/liblouis-github.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/libphonenumber/dist": {
+ "args": {
+ "hash": "sha256-ZbuDrZEUVp/ekjUP8WO/FsjAomRjeDBptT4nQZvTVi4=",
+ "rev": "9d46308f313f2bf8dbce1dfd4f364633ca869ca7",
+ "url": "https://chromium.googlesource.com/external/libphonenumber.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/libprotobuf-mutator/src": {
+ "args": {
+ "hash": "sha256-EaEC6R7SzqLw4QjEcWXFXhZc84lNBp6RSa9izjGnWKE=",
+ "rev": "7bf98f78a30b067e22420ff699348f084f802e12",
+ "url": "https://chromium.googlesource.com/external/github.com/google/libprotobuf-mutator.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/libsrtp": {
+ "args": {
+ "hash": "sha256-bkG1+ss+1a2rCHGwZjhvf5UaNVbPPZJt9HZSIPBKGwM=",
+ "rev": "a52756acb1c5e133089c798736dd171567df11f5",
+ "url": "https://chromium.googlesource.com/chromium/deps/libsrtp.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/libsync/src": {
+ "args": {
+ "hash": "sha256-Mkl6C1LxF3RYLwYbxiSfoQPt8QKFwQWj/Ati2sNJ32E=",
+ "rev": "f4f4387b6bf2387efbcfd1453af4892e8982faf6",
+ "url": "https://chromium.googlesource.com/aosp/platform/system/core/libsync.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/libunwind/src": {
+ "args": {
+ "hash": "sha256-O1S3ijnoVrTHmZDGmgQQe0MVGsSZL7usXAPflGFmMXY=",
+ "rev": "8575f4ae4fcf8892938bd9766cf1a5c90a0ed04e",
+ "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/libva-fake-driver/src": {
+ "args": {
+ "hash": "sha256-em/8rNqwv6szlxyji7mnYr3nObSW/x3OzEEnkiLuqpI=",
+ "rev": "a9bcab9cd6b15d4e3634ca44d5e5f7652c612194",
+ "url": "https://chromium.googlesource.com/chromiumos/platform/libva-fake-driver.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/libvpx/source/libvpx": {
+ "args": {
+ "hash": "sha256-SFdYF8vnwNHQbZ1N/ZHr4kxfi9o+BAtuqbak80m9uP4=",
+ "rev": "b84ca9b63730e7d4563573a56a66317eb0087ebf",
+ "url": "https://chromium.googlesource.com/webm/libvpx.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/libwebm/source": {
+ "args": {
+ "hash": "sha256-tfji0yPV7v/DETViEp2T7AO6P5xCjPYScTlV3eWFV0w=",
+ "rev": "c4522d6cd68582d66f1adfd24debfa9bee202afa",
+ "url": "https://chromium.googlesource.com/webm/libwebm.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/libwebp/src": {
+ "args": {
+ "hash": "sha256-0sKGhXr6Rrpq0eoitAdLQ4l4fgNOzMWIEICrPyzwNz4=",
+ "rev": "2af6c034ac871c967e04c8c9f8bf2dbc2e271b18",
+ "url": "https://chromium.googlesource.com/webm/libwebp.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/libyuv": {
+ "args": {
+ "hash": "sha256-J9Wi3aCc6OjtQCP8JnrY7PYrY587dKLaa1KGAMWmE0c=",
+ "rev": "61bdaee13a701d2b52c6dc943ccc5c888077a591",
+ "url": "https://chromium.googlesource.com/libyuv/libyuv.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/llvm-libc/src": {
+ "args": {
+ "hash": "sha256-BsoHIvdqgYzBUkd23++enEHIhq5GeVWrWdVdhXrHh9A=",
+ "rev": "9c3ae3120fe83b998d0498dcc9ad3a56c29fad0c",
+ "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/lss": {
+ "args": {
+ "hash": "sha256-rhp4EcZYdgSfu9cqn+zxxGx6v2IW8uX8V+iA0UfZhFY=",
+ "rev": "ed31caa60f20a4f6569883b2d752ef7522de51e0",
+ "url": "https://chromium.googlesource.com/linux-syscall-support.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/material_color_utilities/src": {
+ "args": {
+ "hash": "sha256-Y85XU+z9W6tvmDNHJ/dXQnUKXvvDkO3nH/kUJRLqbc4=",
+ "rev": "13434b50dcb64a482cc91191f8cf6151d90f5465",
+ "url": "https://chromium.googlesource.com/external/github.com/material-foundation/material-color-utilities.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/minigbm/src": {
+ "args": {
+ "hash": "sha256-9HwvjTETerbQ7YKXH9kUB2eWa8PxGWMAJfx1jAluhrs=",
+ "rev": "3018207f4d89395cc271278fb9a6558b660885f5",
+ "url": "https://chromium.googlesource.com/chromiumos/platform/minigbm.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/nan": {
+ "args": {
+ "hash": "sha256-cwti+BWmF/l/dqa/cN0C587EK4WwRWcWy6gjFVkaMTg=",
+ "owner": "nodejs",
+ "repo": "nan",
+ "rev": "e14bdcd1f72d62bca1d541b66da43130384ec213"
+ },
+ "fetcher": "fetchFromGitHub"
+ },
+ "src/third_party/nasm": {
+ "args": {
+ "hash": "sha256-neYrS4kQ76ihUh22Q3uPR67Ld8+yerA922YSZU1KxJs=",
+ "rev": "9f916e90e6fc34ec302573f6ce147e43e33d68ca",
+ "url": "https://chromium.googlesource.com/chromium/deps/nasm.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/nearby/src": {
+ "args": {
+ "hash": "sha256-qFLs3gMV0v6c0gjyn29D6pRxSAKumpzAWVgHabPFWRw=",
+ "rev": "959322177f40f2e0f1ecacd8a1aea2805e67b62b",
+ "url": "https://chromium.googlesource.com/external/github.com/google/nearby-connections.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/neon_2_sse/src": {
+ "args": {
+ "hash": "sha256-AkDAHOPO5NdXXk0hETS5D67mzw0RVXwPDDKqM0XXo5g=",
+ "rev": "eb8b80b28f956275e291ea04a7beb5ed8289e872",
+ "url": "https://chromium.googlesource.com/external/github.com/intel/ARM_NEON_2_x86_SSE.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/openh264/src": {
+ "args": {
+ "hash": "sha256-tf0lnxATCkoq+xRti6gK6J47HwioAYWnpEsLGSA5Xdg=",
+ "rev": "652bdb7719f30b52b08e506645a7322ff1b2cc6f",
+ "url": "https://chromium.googlesource.com/external/github.com/cisco/openh264"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/openscreen/src": {
+ "args": {
+ "hash": "sha256-YlcvSDSCHHqDA43+hd5hpajZrIGqpn3KxhMJD8Wf+rs=",
+ "rev": "8cc5a0e8f6695263d44206cf5930641979cb3179",
+ "url": "https://chromium.googlesource.com/openscreen"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/openscreen/src/buildtools": {
+ "args": {
+ "hash": "sha256-WnbgaCzZ/BJli6M60kP9e4mVPFDx0yu3eCac5wmQ7iM=",
+ "rev": "077a66f30fcf281b066fafb6dfc60818c238efb6",
+ "url": "https://chromium.googlesource.com/chromium/src/buildtools"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/openscreen/src/third_party/tinycbor/src": {
+ "args": {
+ "hash": "sha256-fMKBFUSKmODQyg4hKIa1hwnEKIV6WBbY1Gb8DOSnaHA=",
+ "rev": "d393c16f3eb30d0c47e6f9d92db62272f0ec4dc7",
+ "url": "https://chromium.googlesource.com/external/github.com/intel/tinycbor.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/ots/src": {
+ "args": {
+ "hash": "sha256-kiUXrXsaGOzPkKh0dVmU1I13WHt0Stzj7QLMqHN9FbU=",
+ "rev": "46bea9879127d0ff1c6601b078e2ce98e83fcd33",
+ "url": "https://chromium.googlesource.com/external/github.com/khaledhosny/ots.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/pdfium": {
+ "args": {
+ "hash": "sha256-FF0iXahVfqbi4OOdH9PPgCTAIQT/q0nlT/H70pubCMQ=",
+ "rev": "cf433ae5520d061db56391155b59b34e67484f39",
+ "url": "https://pdfium.googlesource.com/pdfium.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/perfetto": {
+ "args": {
+ "hash": "sha256-kzVsti2tygOMgT61TmCz26AByMd3gIXA6xz8RE0iCz4=",
+ "rev": "dd35b295cd359ba094404218414955f961a0d6ae",
+ "url": "https://chromium.googlesource.com/external/github.com/google/perfetto.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/protobuf-javascript/src": {
+ "args": {
+ "hash": "sha256-c/aC+LZQtedL5oouUXw2eTF6xD7LN3J3C0q3D0wl+W0=",
+ "rev": "28bf5df73ef2f345a936d9cc95d64ba8ed426a53",
+ "url": "https://chromium.googlesource.com/external/github.com/protocolbuffers/protobuf-javascript"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/pthreadpool/src": {
+ "args": {
+ "hash": "sha256-qogacGPNy6SKQaK8CZvGC8YZbVjhDTXuhDqGopB0Eps=",
+ "rev": "dcc9f28589066af0dbd4555579281230abbf74dd",
+ "url": "https://chromium.googlesource.com/external/github.com/google/pthreadpool.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/pyelftools": {
+ "args": {
+ "hash": "sha256-I/7p3IEvfP/gkes4kx18PvWwhAKilQKb67GXoW4zFB4=",
+ "rev": "19b3e610c86fcadb837d252c794cb5e8008826ae",
+ "url": "https://chromium.googlesource.com/chromiumos/third_party/pyelftools.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/pywebsocket3/src": {
+ "args": {
+ "hash": "sha256-WEqqu2/7fLqcf/2/IcD7/FewRSZ6jTgVlVBvnihthYQ=",
+ "rev": "50602a14f1b6da17e0b619833a13addc6ea78bc2",
+ "url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/pywebsocket3.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/quic_trace/src": {
+ "args": {
+ "hash": "sha256-vbXqddDgwqetU0bDYn3qo7OBqT5eG926/MbA1hKkCT0=",
+ "rev": "ed3deb8a056b260c59f2fd42af6dfa3db48a8cad",
+ "url": "https://chromium.googlesource.com/external/github.com/google/quic-trace.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/re2/src": {
+ "args": {
+ "hash": "sha256-f/k2rloV2Nwb0KuJGUX4SijFxAx69EXcsXOG4vo+Kis=",
+ "rev": "c84a140c93352cdabbfb547c531be34515b12228",
+ "url": "https://chromium.googlesource.com/external/github.com/google/re2.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/ruy/src": {
+ "args": {
+ "hash": "sha256-O3JEtXchCdIHdGvjD6kGMJzj7TWVczQCW2YUHK3cABA=",
+ "rev": "83fd40d730feb0804fafbc2d8814bcc19a17b2e5",
+ "url": "https://chromium.googlesource.com/external/github.com/google/ruy.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/search_engines_data/resources": {
+ "args": {
+ "hash": "sha256-x7zGPqha12Og/AjQp1mkO0MNydM4xXvIcaapNziW0Kw=",
+ "rev": "09fd22f3a4fb77ab03b7734e0c03ff7d7f97ef88",
+ "url": "https://chromium.googlesource.com/external/search_engines_data.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/securemessage/src": {
+ "args": {
+ "hash": "sha256-GS4ccnuiqxMs/LVYAtvSlVAYFp4a5GoZsxcriTX3k78=",
+ "rev": "fa07beb12babc3b25e0c5b1f38c16aa8cb6b8f84",
+ "url": "https://chromium.googlesource.com/external/github.com/google/securemessage.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/skia": {
+ "args": {
+ "hash": "sha256-k0vE2K9KfeYsTVZchvKEA8M7GJQcekbuO5wHJeycBZo=",
+ "rev": "a46d5732d9fca93eaec23e502e2eef814b707e6b",
+ "url": "https://skia.googlesource.com/skia.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/smhasher/src": {
+ "args": {
+ "hash": "sha256-OgZQwkQcVgRMf62ROGuY+3zQhBoWuUSP4naTmSKdq8s=",
+ "rev": "0ff96f7835817a27d0487325b6c16033e2992eb5",
+ "url": "https://chromium.googlesource.com/external/smhasher.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/snappy/src": {
+ "args": {
+ "hash": "sha256-jUwnjbaqXz7fgI2TPRK7SlUPQUVzcpjp4ZlFbEzwA+o=",
+ "rev": "32ded457c0b1fe78ceb8397632c416568d6714a0",
+ "url": "https://chromium.googlesource.com/external/github.com/google/snappy.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/speedometer/main": {
+ "args": {
+ "hash": "sha256-1/G06WCO5ssBS3+T6E3rnGdIf0r205wVxfJX7lgivR4=",
+ "rev": "dd661c033abdde11022779f40375c52632a9f43a",
+ "url": "https://chromium.googlesource.com/external/github.com/WebKit/Speedometer.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/speedometer/v2.0": {
+ "args": {
+ "hash": "sha256-p7WUS8gZUaS+LOm7pNmRkwgxjx+V8R6yy7bbaEHaIs4=",
+ "rev": "732af0dfe867f8815e662ac637357e55f285dbbb",
+ "url": "https://chromium.googlesource.com/external/github.com/WebKit/Speedometer.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/speedometer/v2.1": {
+ "args": {
+ "hash": "sha256-0z5tZlz32fYh9I1ALqfLm2WWO8HiRBwt0hcmgKQhaeM=",
+ "rev": "8bf7946e39e47c875c00767177197aea5727e84a",
+ "url": "https://chromium.googlesource.com/external/github.com/WebKit/Speedometer.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/speedometer/v3.0": {
+ "args": {
+ "hash": "sha256-qMQ4naX+4uUu3vtzzinjkhxX9/dNoTwj6vWCu4FdQmU=",
+ "rev": "8d67f28d0281ac4330f283495b7f48286654ad7d",
+ "url": "https://chromium.googlesource.com/external/github.com/WebKit/Speedometer.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/speedometer/v3.1": {
+ "args": {
+ "hash": "sha256-G89mrrgRaANT1vqzhKPQKemHbz56YwR+oku7rlRoCHw=",
+ "rev": "1386415be8fef2f6b6bbdbe1828872471c5d802a",
+ "url": "https://chromium.googlesource.com/external/github.com/WebKit/Speedometer.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/spirv-cross/src": {
+ "args": {
+ "hash": "sha256-H43M9DXfEuyKuvo6rjb5k0KEbYOSFodbPJh8ZKY4PQg=",
+ "rev": "b8fcf307f1f347089e3c46eb4451d27f32ebc8d3",
+ "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/spirv-headers/src": {
+ "args": {
+ "hash": "sha256-/KfUxWDczLQ/0DOiFC4Z66o+gtoF/7vgvAvKyv9Z9OA=",
+ "rev": "c9aad99f9276817f18f72a4696239237c83cb775",
+ "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/spirv-tools/src": {
+ "args": {
+ "hash": "sha256-04CWBDu4Q+H7EtVTealNyGx0Hml7OjIf0FfK0IuzisY=",
+ "rev": "01021466b5e71deaac9054f56082566c782bfd51",
+ "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/sqlite/src": {
+ "args": {
+ "hash": "sha256-jqelU2bFZ4XwI5dpkusvgUobmRyYo/41ZKqbEmOdpis=",
+ "rev": "0a1397d274701c5d39e661e948160da2b9a8db1e",
+ "url": "https://chromium.googlesource.com/chromium/deps/sqlite.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/squirrel.mac": {
+ "args": {
+ "hash": "sha256-4GfKQg0u3c9GI+jl3ixESNqWXQJKRMi+00QT0s2Shqw=",
+ "owner": "Squirrel",
+ "repo": "Squirrel.Mac",
+ "rev": "0e5d146ba13101a1302d59ea6e6e0b3cace4ae38"
+ },
+ "fetcher": "fetchFromGitHub"
+ },
+ "src/third_party/squirrel.mac/vendor/Mantle": {
+ "args": {
+ "hash": "sha256-ogFkMJybf2Ue606ojXJu6Gy5aXSi1bSKm60qcTAIaPk=",
+ "owner": "Mantle",
+ "repo": "Mantle",
+ "rev": "78d3966b3c331292ea29ec38661b25df0a245948"
+ },
+ "fetcher": "fetchFromGitHub"
+ },
+ "src/third_party/squirrel.mac/vendor/ReactiveObjC": {
+ "args": {
+ "hash": "sha256-/MCqC1oFe3N9TsmfVLgl+deR6qHU6ZFQQjudb9zB5Mo=",
+ "owner": "ReactiveCocoa",
+ "repo": "ReactiveObjC",
+ "rev": "74ab5baccc6f7202c8ac69a8d1e152c29dc1ea76"
+ },
+ "fetcher": "fetchFromGitHub"
+ },
+ "src/third_party/swiftshader": {
+ "args": {
+ "hash": "sha256-Fd6T9zFJVPJaF2sbBy+uK0Ia0C6AIZsDbNvPSkbuTJM=",
+ "rev": "a8133cbb3c8969e3c1e6b3cea2c02ec8312ef9ca",
+ "url": "https://swiftshader.googlesource.com/SwiftShader.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/text-fragments-polyfill/src": {
+ "args": {
+ "hash": "sha256-4rW2u1cQAF4iPWHAt1FvVXIpz2pmI901rEPks/w/iFA=",
+ "rev": "c036420683f672d685e27415de0a5f5e85bdc23f",
+ "url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/text-fragments-polyfill.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/tflite/src": {
+ "args": {
+ "hash": "sha256-qpwF2+/dw1u24O5+4bW74R43AgGN//NZwzEmlkyHlr0=",
+ "rev": "151774faba661a5985a8264653f4457c70a56dea",
+ "url": "https://chromium.googlesource.com/external/github.com/tensorflow/tensorflow.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/ukey2/src": {
+ "args": {
+ "hash": "sha256-aaLs6ZS+CdBlCJ6ZhsmdAPFxiBIij6oufsDcNeRSV1E=",
+ "rev": "0275885d8e6038c39b8a8ca55e75d1d4d1727f47",
+ "url": "https://chromium.googlesource.com/external/github.com/google/ukey2.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/vulkan-deps": {
+ "args": {
+ "hash": "sha256-kIj8sncNg6dJzg1fgORev/o164G3kMXCGHzlzb09n0U=",
+ "rev": "5912cbdd295c2bacb5798432a7b1cac9d20c0725",
+ "url": "https://chromium.googlesource.com/vulkan-deps"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/vulkan-headers/src": {
+ "args": {
+ "hash": "sha256-vB49bFCx9VVEtpwIFcxdqYT+Pk4DgjoPz4rzPfmuRps=",
+ "rev": "75ad707a587e1469fb53a901b9b68fe9f6fbc11f",
+ "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/vulkan-loader/src": {
+ "args": {
+ "hash": "sha256-D5S1xQbsJ4Ov+3u84Mxj3L/3elyW78jpKRbYo8FpD28=",
+ "rev": "c913466fdc5004584890f89ff91121bdb2ffd4ba",
+ "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/vulkan-tools/src": {
+ "args": {
+ "hash": "sha256-snLYtiXK1eBZYsc7X18/wk4TnhmkSqquWxyjmw9IF2A=",
+ "rev": "60b640cb931814fcc6dabe4fc61f4738c56579f6",
+ "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/vulkan-utility-libraries/src": {
+ "args": {
+ "hash": "sha256-2mi5gtacSDxtZB8a3oGZqgLhwntSLXlEzDq6W14RHp4=",
+ "rev": "49ac28931f28bffaa3cd73dc4ad997284d574962",
+ "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/vulkan-validation-layers/src": {
+ "args": {
+ "hash": "sha256-K0KZ8wXTCVRBBN9AWy63ukmE6QkQHKcRgo+YluOhjyc=",
+ "rev": "f7ceb1d01a292846db77ec87786be84d6fd568d9",
+ "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/vulkan_memory_allocator": {
+ "args": {
+ "hash": "sha256-YzxHZagz/M8Y54UnI4h1wu5jSTuaOgv0ifC9d3fJZlQ=",
+ "rev": "56300b29fbfcc693ee6609ddad3fdd5b7a449a21",
+ "url": "https://chromium.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/wasm_tts_engine/src": {
+ "args": {
+ "hash": "sha256-TFkniS4XvP0RlPnI1lv4RxxSY44RUuwCMKmmybENEBw=",
+ "rev": "352880bb49e2410707543c252ef6b94a21b0f47f",
+ "url": "https://chromium.googlesource.com/chromium/wasm-tts-engine"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/wayland-protocols/gtk": {
+ "args": {
+ "hash": "sha256-75XNnLkF5Lt1LMRGT+T61k0/mLa3kkynfN+QWvZ0LiQ=",
+ "rev": "40ebed3a03aef096addc0af09fec4ec529d882a0",
+ "url": "https://chromium.googlesource.com/external/github.com/GNOME/gtk.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/wayland-protocols/kde": {
+ "args": {
+ "hash": "sha256-Dmcp/2ms/k7NxPPmPkp0YNfM9z2Es1ZO0uX10bc7N2Y=",
+ "rev": "0b07950714b3a36c9b9f71fc025fc7783e82926e",
+ "url": "https://chromium.googlesource.com/external/github.com/KDE/plasma-wayland-protocols.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/wayland-protocols/src": {
+ "args": {
+ "hash": "sha256-o/adWEXYSqWib6KoK7XMCWbojapcS4O/CEPxv7iFCw8=",
+ "rev": "7d5a3a8b494ae44cd9651f9505e88a250082765e",
+ "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/wayland-protocols.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/wayland/src": {
+ "args": {
+ "hash": "sha256-oK0Z8xO2ILuySGZS0m37ZF0MOyle2l8AXb0/6wai0/w=",
+ "rev": "a156431ea66fe67d69c9fbba8a8ad34dabbab81c",
+ "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/wayland.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/webdriver/pylib": {
+ "args": {
+ "hash": "sha256-WIqWXIKVgElgg8P8laLAlUrgwodGdeVcwohZxnPKedw=",
+ "rev": "fc5e7e70c098bfb189a9a74746809ad3c5c34e04",
+ "url": "https://chromium.googlesource.com/external/github.com/SeleniumHQ/selenium/py.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/webgl/src": {
+ "args": {
+ "hash": "sha256-mSketnpcDtz3NnhPkXMpMpq8MWcFiSviJbK6h06fcnw=",
+ "rev": "c01b768bce4a143e152c1870b6ba99ea6267d2b0",
+ "url": "https://chromium.googlesource.com/external/khronosgroup/webgl.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/webgpu-cts/src": {
+ "args": {
+ "hash": "sha256-eMDb0nG9HDiesd8KPajbMej8JTll4JkIf17KMnKvW1s=",
+ "rev": "905c7cbfeaac1cf3feb4c6056dd6f3dbaa06b074",
+ "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/webpagereplay": {
+ "args": {
+ "hash": "sha256-qJnO3fFJhaQA77v1lTJ4B7cbXivquTcSvx/m+OcI3No=",
+ "rev": "18172a359f6dab8e3f70b6c5c8c7c55d3e97537a",
+ "url": "https://chromium.googlesource.com/webpagereplay.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/webrtc": {
+ "args": {
+ "hash": "sha256-72NbtdYbyMxSGULvOGsZqLj4kvT79pu+TKcnEmcj/Pc=",
+ "rev": "e4445e46a910eb407571ec0b0b8b7043562678cf",
+ "url": "https://webrtc.googlesource.com/src.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/weston/src": {
+ "args": {
+ "hash": "sha256-VNHUAtfTB24SIf2kl+MMXF3rG5cJOPM93WU/sVSIQ1A=",
+ "rev": "4eb10b123b483327214d8da5da67e8bbeeaed8fe",
+ "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/weston.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/wuffs/src": {
+ "args": {
+ "hash": "sha256-373d2F/STcgCHEq+PO+SCHrKVOo6uO1rqqwRN5eeBCw=",
+ "rev": "e3f919ccfe3ef542cfc983a82146070258fb57f8",
+ "url": "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/xdg-utils": {
+ "args": {
+ "hash": "sha256-WuQ9uDq+QD17Y20ACFGres4nbkeOiTE2y+tY1avAT5U=",
+ "rev": "cb54d9db2e535ee4ef13cc91b65a1e2741a94a44",
+ "url": "https://chromium.googlesource.com/chromium/deps/xdg-utils.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/xnnpack/src": {
+ "args": {
+ "hash": "sha256-aavq+i8EpQmIMPaym6JxwBFjbpqKtHshXUkdBIXDtpw=",
+ "rev": "f82ad65ca52cb4d39b73088468a5fe00f56fb47c",
+ "url": "https://chromium.googlesource.com/external/github.com/google/XNNPACK.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/third_party/zstd/src": {
+ "args": {
+ "hash": "sha256-emmJF7XLq5CxXFd0KUrtUtw1YGOHDSiz39vtgVoEPd0=",
+ "rev": "f9938c217da17ec3e9dcd2a2d99c5cf39536aeb9",
+ "url": "https://chromium.googlesource.com/external/github.com/facebook/zstd.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ },
+ "src/v8": {
+ "args": {
+ "hash": "sha256-MXQyDv45BDnLwKCqbueY2a5VBEgmf33Xy8WXLE9Rwsc=",
+ "rev": "a14ab029e21658cba458b7001281c5d526e67636",
+ "url": "https://chromium.googlesource.com/v8/v8.git"
+ },
+ "fetcher": "fetchFromGitiles"
+ }
+ },
+ "electron_yarn_hash": "10n86jnzcq8kh0nk29ljw9wi1fgj13f07h92b009i1dryagliyrs",
+ "modules": "136",
+ "node": "22.16.0",
+ "version": "37.1.0"
}
}
diff --git a/pkgs/development/web/nodejs/v20.nix b/pkgs/development/web/nodejs/v20.nix
index d5c93f3bb3c2..20ebe669387b 100644
--- a/pkgs/development/web/nodejs/v20.nix
+++ b/pkgs/development/web/nodejs/v20.nix
@@ -18,8 +18,8 @@ let
in
buildNodejs {
inherit enableNpm;
- version = "20.19.2";
- sha256 = "4a7ff611d5180f4e420204fa6f22f9f9deb2ac5e98619dd9a4de87edf5b03b6e";
+ version = "20.19.3";
+ sha256 = "99be7b9d268d48b93be568a23240398ceacb0782dc7055b9972305c000b0e292";
patches = [
./configure-emulator.patch
./configure-armv6-vfpv2.patch
@@ -27,33 +27,5 @@ buildNodejs {
./bypass-darwin-xcrun-node16.patch
./node-npm-build-npm-package-logic.patch
./use-correct-env-in-tests.patch
-
- # Remove unused `fdopen` in vendored zlib, which causes compilation failures with clang 18 on Darwin.
- (fetchpatch2 {
- url = "https://github.com/madler/zlib/commit/4bd9a71f3539b5ce47f0c67ab5e01f3196dc8ef9.patch?full_index=1";
- extraPrefix = "deps/v8/third_party/zlib/";
- stripLen = 1;
- hash = "sha256-WVxsoEcJu0WBTyelNrVQFTZxJhnekQb1GrueeRBRdnY=";
- })
- # Backport V8 fixes for LLVM 19.
- (fetchpatch2 {
- url = "https://chromium.googlesource.com/v8/v8/+/182d9c05e78b1ddb1cb8242cd3628a7855a0336f%5E%21/?format=TEXT";
- decode = "base64 -d";
- extraPrefix = "deps/v8/";
- stripLen = 1;
- hash = "sha256-bDTwFbATPn5W4VifWz/SqaiigXYDWHq785C64VezuUE=";
- })
- (fetchpatch2 {
- url = "https://chromium.googlesource.com/v8/v8/+/1a3ecc2483b2dba6ab9f7e9f8f4b60dbfef504b7%5E%21/?format=TEXT";
- decode = "base64 -d";
- extraPrefix = "deps/v8/";
- stripLen = 1;
- hash = "sha256-6y3aEqxNC4iTQEv1oewodJrhOHxjp5xZMq1P1QL94Rg=";
- })
- # fix test failure on macos 15.4
- (fetchpatch2 {
- url = "https://github.com/nodejs/node/commit/33f6e1ea296cd20366ab94e666b03899a081af94.patch?full_index=1";
- hash = "sha256-aVBMcQlhQeviUQpMIfC988jjDB2BgYzlMYsq+w16mzU=";
- })
] ++ gypPatches;
}
diff --git a/pkgs/games/papermc/versions.json b/pkgs/games/papermc/versions.json
index 90b01446b8e8..129f5770e14e 100644
--- a/pkgs/games/papermc/versions.json
+++ b/pkgs/games/papermc/versions.json
@@ -72,7 +72,11 @@
"version": "1.21.4-232"
},
"1.21.5": {
- "hash": "sha256-fgI/FO2CzTvUm58G0DKirnQa5ztElxOIGw1r4CbzC4M=",
- "version": "1.21.5-112"
+ "hash": "sha256-KuauIq30F2mXRuD4n8LvbLbuBQpfZgjO5Y8FNdYLUJ4=",
+ "version": "1.21.5-114"
+ },
+ "1.21.6": {
+ "hash": "sha256-xL/DN+CRAP39Bgo2tmF0voc3DZl1rOTijkXYc86ZLGI=",
+ "version": "1.21.6-47"
}
}
diff --git a/pkgs/games/path-of-building/default.nix b/pkgs/games/path-of-building/default.nix
index e362f7ac0447..5f9dde343b59 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.54.0";
+ version = "2.55.1";
src = fetchFromGitHub {
owner = "PathOfBuildingCommunity";
repo = "PathOfBuilding";
rev = "v${finalAttrs.version}";
- hash = "sha256-NMSr5HJ/YvrqE8uVINzH0b9+U3snQGQYalSJ4bNRh1I=";
+ hash = "sha256-O3XD52UdkjxtWdsXs6QbXzfik3ZT9TEc2PPZCIGJdCQ=";
};
nativeBuildInputs = [ unzip ];
diff --git a/pkgs/kde/gear/gwenview/default.nix b/pkgs/kde/gear/gwenview/default.nix
index 68a93a36738b..55d5a8b7d331 100644
--- a/pkgs/kde/gear/gwenview/default.nix
+++ b/pkgs/kde/gear/gwenview/default.nix
@@ -4,6 +4,7 @@
qtwayland,
qtimageformats,
phonon,
+ phonon-vlc,
pkg-config,
cfitsio,
exiv2,
@@ -23,6 +24,7 @@ mkKdeDerivation {
qtimageformats
phonon
+ phonon-vlc
cfitsio
exiv2
diff --git a/pkgs/servers/http/apache-modules/mod_python/default.nix b/pkgs/servers/http/apache-modules/mod_python/default.nix
index 4f220790634f..6a1afb6b5d59 100644
--- a/pkgs/servers/http/apache-modules/mod_python/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_python/default.nix
@@ -58,5 +58,6 @@ stdenv.mkDerivation (finalAttrs: {
mainProgram = "mod_python";
platforms = lib.platforms.unix;
maintainers = [ ];
+ broken = stdenv.hostPlatform.isDarwin;
};
})
diff --git a/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix b/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix
index a6e4b0b19d0e..651aa9b7e460 100644
--- a/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix
@@ -7,17 +7,17 @@
buildGoModule rec {
pname = "blackbox_exporter";
- version = "0.26.0";
+ version = "0.27.0";
rev = "v${version}";
src = fetchFromGitHub {
inherit rev;
owner = "prometheus";
repo = "blackbox_exporter";
- sha256 = "sha256-pdvYpu2EbcZIMyeWDWzb4TGlRE0cJgvIWJ62pHx7Xsk=";
+ sha256 = "sha256-oIsNqET3gHSajyWTxc+zoLiKQNCIXK77jtthOwYVtQg=";
};
- vendorHash = "sha256-Mw1+YQVmK4rqOLGIt6TSFgFsdMeL0h0A7ZJAtoL0klU=";
+ vendorHash = "sha256-UHm3iIQ6/clPx/VBUG4j/WLoOhFN44nbAEZk94L/9EY=";
# dns-lookup is performed for the tests
doCheck = false;
diff --git a/pkgs/tools/admin/pgadmin/default.nix b/pkgs/tools/admin/pgadmin/default.nix
index ab78cdeee48c..1bd7de472492 100644
--- a/pkgs/tools/admin/pgadmin/default.nix
+++ b/pkgs/tools/admin/pgadmin/default.nix
@@ -22,14 +22,14 @@
let
pname = "pgadmin";
- version = "9.3";
- yarnHash = "sha256-T6RKWuAAoJgbzJKef4ioOoUDtoGM9s9BFqxFdy5EtyQ=";
+ version = "9.4";
+ yarnHash = "sha256-AlAyHtadjmKZb0rHNIlaPtEcGFQ15Fc6rExMsNFGwDc=";
src = fetchFromGitHub {
owner = "pgadmin-org";
repo = "pgadmin4";
rev = "REL-${lib.versions.major version}_${lib.versions.minor version}";
- hash = "sha256-4uupF1dw6OE/briAI5PWiQ7h6RPx1sUqf8PB8cJsNSU=";
+ hash = "sha256-oslp9g63mYeP9CmpCzF80nlyqF1ftGbMRIsp6goJOx4=";
};
mozjpeg-bin = fetchFromGitHub {
@@ -247,7 +247,6 @@ pythonPackages.buildPythonApplication rec {
azure-identity
sphinxcontrib-youtube
dnspython
- speaklater3
google-auth-oauthlib
google-api-python-client
keyring
diff --git a/pkgs/tools/admin/pgadmin/update.sh b/pkgs/tools/admin/pgadmin/update.sh
index 0205b654e437..ef09e7250f75 100755
--- a/pkgs/tools/admin/pgadmin/update.sh
+++ b/pkgs/tools/admin/pgadmin/update.sh
@@ -41,6 +41,7 @@ pushd $TMPDIR
wget -c $url
tar -xzf "pgadmin4-$newest_version.tar.gz"
cd "pgadmin4-$newest_version/web"
+patch -u yarn.lock ${scriptDir}/mozjpeg.patch
printf "Will now generate the hash. This will download the packages to the nix store and also take some time\n"
yarn-berry-fetcher missing-hashes yarn.lock
diff --git a/pkgs/tools/games/gamemode/default.nix b/pkgs/tools/games/gamemode/default.nix
index 6c4ff49bdc25..db98dafd58a4 100644
--- a/pkgs/tools/games/gamemode/default.nix
+++ b/pkgs/tools/games/gamemode/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "FeralInteractive";
repo = "gamemode";
tag = finalAttrs.version;
- hash = "sha256-JkDFhFLUHlgD6RKxlxMjrSF2zQ4AWmRUQMLbWYwIZmg=";
+ hash = "sha256-V0rewbSVOGFqJqXyCz4jXpuDM0EfjdkpGPl+WdDwI5I=";
};
outputs = [
diff --git a/pkgs/tools/graphics/gnuplot/default.nix b/pkgs/tools/graphics/gnuplot/default.nix
index dd2dcaf6825f..4bb9f57c0905 100644
--- a/pkgs/tools/graphics/gnuplot/default.nix
+++ b/pkgs/tools/graphics/gnuplot/default.nix
@@ -40,11 +40,11 @@ let
in
(if withQt then mkDerivation else stdenv.mkDerivation) rec {
pname = "gnuplot";
- version = "6.0.2";
+ version = "6.0.3";
src = fetchurl {
url = "mirror://sourceforge/gnuplot/${pname}-${version}.tar.gz";
- sha256 = "sha256-9oo7C7t7u7Q3ZJZ0EG2UUiwAvy8oXM4MGcMYCx7n5zg=";
+ sha256 = "sha256-7FLjr4xAg9RTgVKz8T20f20pkpo/bs7FNlyDTnfyUas=";
};
nativeBuildInputs = [
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix
index 1a7cbe116514..072bbebda0be 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix
@@ -22,13 +22,13 @@
stdenv.mkDerivation rec {
pname = "ibus-libpinyin";
- version = "1.16.3";
+ version = "1.16.4";
src = fetchFromGitHub {
owner = "libpinyin";
repo = "ibus-libpinyin";
tag = version;
- hash = "sha256-jkwGx8PfrSzI18Q0Yf37FIss6HRow6i46+5s0tp4IVk=";
+ hash = "sha256-ZIZ485Jk6LkFZ8TKEqlUeTZIIOZqo61uLQtPAfAX/Io=";
};
nativeBuildInputs = [
diff --git a/pkgs/tools/package-management/lix/default.nix b/pkgs/tools/package-management/lix/default.nix
index 6df8255dd7ea..42bc8c641a69 100644
--- a/pkgs/tools/package-management/lix/default.nix
+++ b/pkgs/tools/package-management/lix/default.nix
@@ -154,13 +154,13 @@ lib.makeExtensible (self: {
attrName = "lix_2_91";
lix-args = rec {
- version = "2.91.2";
+ version = "2.91.3";
src = fetchFromGitHub {
owner = "lix-project";
repo = "lix";
rev = version;
- hash = "sha256-TkRjskDnxMPugdLQE/LqIh59RYQFJLYpIuL8YZva2lM=";
+ hash = "sha256-b5d+HnPcyHz0ZJW1+LZl4qm4LGTB/TiaDFQVlVL2xpE=";
};
docCargoDeps = rustPlatform.fetchCargoVendor {
@@ -186,13 +186,13 @@ lib.makeExtensible (self: {
attrName = "lix_2_92";
lix-args = rec {
- version = "2.92.2";
+ version = "2.92.3";
src = fetchFromGitHub {
owner = "lix-project";
repo = "lix";
rev = version;
- hash = "sha256-D7YepvFkGE4K1rOkEYA1P6wGj/eFbQXb03nLdBRjjwA=";
+ hash = "sha256-iP2iUDxA99RcgQyZROs7bQw8pqxa1vFudRqjAIHg9Iw=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
@@ -216,14 +216,14 @@ lib.makeExtensible (self: {
attrName = "lix_2_93";
lix-args = rec {
- version = "2.93.1";
+ version = "2.93.2";
src = fetchFromGitea {
domain = "git.lix.systems";
owner = "lix-project";
repo = "lix";
rev = version;
- hash = "sha256-LmQhjQ7c+AOkwhvR9GFgJOy8oHW35MoQRELtrwyVnPw=";
+ hash = "sha256-J4ycLoXHPsoBoQtEXFCelL4xlq5pT8U9tNWNKm43+YI=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
diff --git a/pkgs/tools/package-management/nix/common-autoconf.nix b/pkgs/tools/package-management/nix/common-autoconf.nix
index 1d7ed8cba374..4ad05d61d01b 100644
--- a/pkgs/tools/package-management/nix/common-autoconf.nix
+++ b/pkgs/tools/package-management/nix/common-autoconf.nix
@@ -11,6 +11,7 @@
inherit hash;
},
patches ? [ ],
+ knownVulnerabilities ? [ ],
maintainers ? [
lib.maintainers.lovesegfault
lib.maintainers.artturin
@@ -335,7 +336,7 @@ let
'';
homepage = "https://nixos.org/";
license = licenses.lgpl21Plus;
- inherit maintainers teams;
+ inherit knownVulnerabilities maintainers teams;
platforms = platforms.unix;
outputsToInstall = [ "out" ] ++ optional enableDocumentation "man";
mainProgram = "nix";
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index 974532d99be4..10f93abf8f51 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -159,6 +159,15 @@ lib.makeExtensible (
patch-monitorfdhup
];
self_attribute_name = "nix_2_3";
+ knownVulnerabilities = [
+ "CVE-2024-38531"
+ "CVE-2024-47174"
+ "CVE-2025-46415"
+ "CVE-2025-46416"
+ "CVE-2025-52991"
+ "CVE-2025-52992"
+ "CVE-2025-52993"
+ ];
maintainers = with lib.maintainers; [ flokli ];
teams = [ ];
}).overrideAttrs
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index d10327ff4865..a8751dcf4c0c 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -29,10 +29,6 @@ let
else
alias;
- # Disabling distribution prevents top-level aliases for non-recursed package
- # sets from building on Hydra.
- removeDistribute = alias: if lib.isDerivation alias then lib.dontDistribute alias else alias;
-
transmission3Warning =
{
prefix ? "",
@@ -212,10 +208,7 @@ let
if builtins.hasAttr n super then throw "Alias ${n} is still in all-packages.nix" else alias;
mapAliases =
- aliases:
- lib.mapAttrs (
- n: alias: removeDistribute (removeRecurseForDerivations (checkInPkgs n alias))
- ) aliases;
+ aliases: lib.mapAttrs (n: alias: removeRecurseForDerivations (checkInPkgs n alias)) aliases;
in
mapAliases {
@@ -1846,6 +1839,7 @@ mapAliases {
source-han-serif-simplified-chinese = source-han-serif;
source-han-serif-traditional-chinese = source-han-serif;
+ sourcehut = throw "'sourcehut.*' has been removed due to being broken and unmaintained"; # Added 2025-06-15
solana-validator = throw "'solana-validator' is obsoleted by solana-cli, which also includes the validator binary"; # Added 2024-12-20
spectral = throw "'spectral' has been renamed to/replaced by 'neochat'"; # Converted to throw 2024-10-17
# spidermonkey is not ABI upwards-compatible, so only allow this for nix-shell
@@ -1968,6 +1962,7 @@ mapAliases {
tokyo-night-gtk = tokyonight-gtk-theme; # Added 2024-01-28
tomcat_connectors = apacheHttpdPackages.mod_jk; # Added 2024-06-07
ton = throw "'ton' has been removed as there were insufficient maintainer resources to keep up with updates"; # Added 2025-04-27
+ tooling-language-server = deputy; # Added 2025-06-22
tor-browser-bundle-bin = tor-browser; # Added 2023-09-23
torrenttools = throw "torrenttools has been removed due to lack of maintanance upstream"; # Added 2025-04-06
torq = throw "torq has been removed because the project went closed source"; # Added 2024-11-24
@@ -2081,6 +2076,7 @@ mapAliases {
void = throw "'void' has been removed due to lack of upstream maintenance"; # Added 2025-01-25
volnoti = throw "'volnoti' has been removed due to lack of maintenance upstream."; # Added 2024-12-04
vuze = throw "'vuze' was removed because it is unmaintained upstream and insecure (CVE-2018-13417). BiglyBT is a maintained fork."; # Added 2024-11-22
+ vulkan-hdr-layer-kwin6 = throw "'vulkan-hdr-layer-kwin6' was removed as it is unnecessary since Mesa 25.1"; # Added 2025-06-30
vwm = throw "'vwm' was removed as it is broken and not maintained upstream"; # Added 2025-05-17
inherit (libsForQt5.mauiPackages) vvave; # added 2022-05-17
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 9cf7c56cd112..aaad152d625b 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1883,10 +1883,6 @@ with pkgs;
asmrepl = callPackage ../development/interpreters/asmrepl { };
- atlas = callPackage ../by-name/at/atlas/package.nix {
- buildGoModule = buildGo123Module;
- };
-
avahi = callPackage ../development/libraries/avahi { };
avahi-compat = callPackage ../development/libraries/avahi {
@@ -4396,8 +4392,6 @@ with pkgs;
splot = haskell.lib.compose.justStaticExecutables haskellPackages.splot;
- sourcehut = callPackage ../applications/version-management/sourcehut { };
-
sshfs = sshfs-fuse; # added 2017-08-14
inherit (callPackages ../tools/misc/sshx { })
@@ -6835,6 +6829,7 @@ with pkgs;
electron_34-bin
electron_35-bin
electron_36-bin
+ electron_37-bin
;
inherit (callPackages ../development/tools/electron/chromedriver { })
@@ -6842,14 +6837,11 @@ with pkgs;
electron-chromedriver_34
electron-chromedriver_35
electron-chromedriver_36
+ electron-chromedriver_37
;
electron_33 = electron_33-bin;
- electron_34 =
- if lib.meta.availableOn stdenv.hostPlatform electron-source.electron_34 then
- electron-source.electron_34
- else
- electron_34-bin;
+ electron_34 = electron_34-bin;
electron_35 =
if lib.meta.availableOn stdenv.hostPlatform electron-source.electron_35 then
electron-source.electron_35
@@ -6860,6 +6852,11 @@ with pkgs;
electron-source.electron_36
else
electron_36-bin;
+ electron_37 =
+ if lib.meta.availableOn stdenv.hostPlatform electron-source.electron_37 then
+ electron-source.electron_37
+ else
+ electron_37-bin;
electron = electron_35;
electron-bin = electron_35-bin;
electron-chromedriver = electron-chromedriver_35;
@@ -9148,9 +9145,6 @@ with pkgs;
zunclient = with python313Packages; toPythonApplication python-zunclient;
inherit (callPackages ../development/libraries/libressl { })
- libressl_3_6
- libressl_3_7
- libressl_3_8
libressl_3_9
libressl_4_0
;
@@ -14273,7 +14267,7 @@ with pkgs;
webcord = callPackage ../by-name/we/webcord/package.nix { electron = electron_36; };
- webcord-vencord = callPackage ../by-name/we/webcord-vencord/package.nix { electron = electron_34; };
+ webcord-vencord = callPackage ../by-name/we/webcord-vencord/package.nix { electron = electron_36; };
webmacs = libsForQt5.callPackage ../applications/networking/browsers/webmacs {
stdenv = if stdenv.cc.isClang then gccStdenv else stdenv;
diff --git a/pkgs/top-level/make-tarball.nix b/pkgs/top-level/make-tarball.nix
index 1b90e4bfdb66..b1ddef188d93 100644
--- a/pkgs/top-level/make-tarball.nix
+++ b/pkgs/top-level/make-tarball.nix
@@ -3,7 +3,13 @@
officialRelease,
pkgs ? import nixpkgs.outPath { },
nix ? pkgs.nix,
- lib-tests ? import ../../lib/tests/release.nix { inherit pkgs; },
+ lib-tests ? import ../../lib/tests/release.nix {
+ pkgs = import nixpkgs.outPath {
+ config = {
+ permittedInsecurePackages = [ "nix-2.3.18" ];
+ };
+ };
+ },
}:
pkgs.releaseTools.sourceTarball {
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 60b0c32f3b75..5ccb767f9f93 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -46,6 +46,8 @@ let
apron = callPackage ../development/ocaml-modules/apron { };
+ argon2 = callPackage ../development/ocaml-modules/argon2 { };
+
arg-complete = callPackage ../development/ocaml-modules/arg-complete { };
arp = callPackage ../development/ocaml-modules/arp { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 5d3262b216a4..901ca5fc5fa0 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -5673,6 +5673,8 @@ self: super: with self; {
georss-wa-dfes-client = callPackage ../development/python-modules/georss-wa-dfes-client { };
+ geotorch = callPackage ../development/python-modules/geotorch { };
+
gepetto-gui = toPythonModule (gepetto-viewer.withPlugins [ gepetto-viewer-corba ]);
gepetto-viewer = toPythonModule (pkgs.gepetto-viewer.override { python3Packages = self; });
diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix
index 22cc2ce290e8..d87aec1c5783 100644
--- a/pkgs/top-level/release-cross.nix
+++ b/pkgs/top-level/release-cross.nix
@@ -25,6 +25,7 @@
# Attributes passed to nixpkgs. Don't build packages marked as unfree.
nixpkgsArgs ? {
config = {
+ allowAliases = false;
allowUnfree = false;
inHydra = true;
};
diff --git a/pkgs/top-level/release-cuda.nix b/pkgs/top-level/release-cuda.nix
index f5800cc7828f..6c5bff07d030 100644
--- a/pkgs/top-level/release-cuda.nix
+++ b/pkgs/top-level/release-cuda.nix
@@ -120,6 +120,7 @@ let
cupy = linux;
faiss = linux;
faster-whisper = linux;
+ flashinfer = linux;
flax = linux;
gpt-2-simple = linux;
grad-cam = linux;
diff --git a/pkgs/top-level/release-lib.nix b/pkgs/top-level/release-lib.nix
index a6c417bd2261..e1ee81dc258c 100644
--- a/pkgs/top-level/release-lib.nix
+++ b/pkgs/top-level/release-lib.nix
@@ -6,6 +6,7 @@
# Attributes passed to nixpkgs. Don't build packages marked as unfree.
nixpkgsArgs ? {
config = {
+ allowAliases = false;
allowUnfree = false;
inHydra = true;
};
diff --git a/pkgs/top-level/release-python.nix b/pkgs/top-level/release-python.nix
index 5bce39ba5e0e..463086049e7d 100644
--- a/pkgs/top-level/release-python.nix
+++ b/pkgs/top-level/release-python.nix
@@ -12,6 +12,7 @@
# Attributes passed to nixpkgs. Don't build packages marked as unfree.
nixpkgsArgs ? {
config = {
+ allowAliases = false;
allowUnfree = false;
inHydra = true;
};
diff --git a/pkgs/top-level/release-small.nix b/pkgs/top-level/release-small.nix
index 511cef6a0d8a..52292ba37151 100644
--- a/pkgs/top-level/release-small.nix
+++ b/pkgs/top-level/release-small.nix
@@ -16,6 +16,7 @@
# Attributes passed to nixpkgs. Don't build packages marked as unfree.
nixpkgsArgs ? {
config = {
+ allowAliases = false;
allowUnfree = false;
inHydra = true;
};
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index 61218537e7e3..50a0b587f346 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -37,6 +37,7 @@
# Attributes passed to nixpkgs. Don't build packages marked as unfree.
nixpkgsArgs ? {
config = {
+ allowAliases = false;
allowUnfree = false;
inHydra = true;
# Exceptional unsafe packages that we still build and distribute,
@@ -86,6 +87,7 @@ let
id
isDerivation
optionals
+ recursiveUpdate
;
inherit (release-lib.lib.attrsets) unionOfDisjoint;
@@ -95,8 +97,15 @@ let
"aarch64"
] (arch: elem "${arch}-darwin" supportedSystems);
- nonPackageJobs = {
- tarball = import ./make-tarball.nix { inherit pkgs nixpkgs officialRelease; };
+ nonPackageJobs = rec {
+ tarball = import ./make-tarball.nix {
+ inherit
+ pkgs
+ lib-tests
+ nixpkgs
+ officialRelease
+ ;
+ };
release-checks = import ./nixpkgs-basic-release-checks.nix {
inherit pkgs nixpkgs supportedSystems;
@@ -104,7 +113,20 @@ let
manual = pkgs.nixpkgs-manual.override { inherit nixpkgs; };
metrics = import ./metrics.nix { inherit pkgs nixpkgs; };
- lib-tests = import ../../lib/tests/release.nix { inherit pkgs; };
+ lib-tests = import ../../lib/tests/release.nix {
+ pkgs = import nixpkgs (
+ recursiveUpdate
+ (recursiveUpdate {
+ inherit system;
+ config.allowUnsupportedSystem = true;
+ } nixpkgsArgs)
+ {
+ config.permittedInsecurePackages = nixpkgsArgs.config.permittedInsecurePackages or [ ] ++ [
+ "nix-2.3.18"
+ ];
+ }
+ );
+ };
pkgs-lib-tests = import ../pkgs-lib/tests { inherit pkgs; };
darwin-tested =