diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 5882858362d9..69bc87068a8b 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -18785,6 +18785,13 @@ github = "netthier"; githubId = 66856670; }; + nettika = { + email = "nettika@leaf.ninja"; + name = "Nettika"; + github = "nettika-cat"; + githubId = 131948390; + keys = [ { fingerprint = "6AC6 0C6F FA92 94AD AEA7 8C03 C357 EE70 D502 7BCC"; } ]; + }; networkexception = { name = "networkException"; email = "nix@nwex.de"; @@ -18848,6 +18855,12 @@ githubId = 10180857; name = "Anmol Sethi"; }; + ni5arga = { + email = "hello@ni5arga.com"; + github = "ni5arga"; + githubId = 45588772; + name = "Nisarga Adhikary"; + }; nialov = { email = "nikolasovaskainen@gmail.com"; github = "nialov"; diff --git a/nixos/doc/manual/release-notes/rl-2605.section.md b/nixos/doc/manual/release-notes/rl-2605.section.md index 2e9d1faa291b..040de458b015 100644 --- a/nixos/doc/manual/release-notes/rl-2605.section.md +++ b/nixos/doc/manual/release-notes/rl-2605.section.md @@ -18,6 +18,8 @@ - [ImmichFrame](https://immichframe.dev/), display your photos from Immich as a digital photo frame. Available as `services.immichframe`. +- [PdfDing](https://www.pdfding.com/), manage, view and edit your PDFs seamlessly on all your devices wherever you are. Available as [services.pdfding](#opt-services.pdfding.enable). + - [reaction](https://reaction.ppom.me/), a daemon that scans program outputs for repeated patterns, and takes action. A common usage is to scan ssh and webserver logs, and to ban hosts that cause multiple authentication errors. A modern alternative to fail2ban. Available as [services.reaction](#opt-services.reaction.enable). - [rqbit](https://github.com/ikatson/rqbit), a bittorrent client written in Rust. It has HTTP API and Web UI, and can be used as a library. Available as [services.rqbit](#opt-services.rqbit.enable). diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix index 5efc19004afc..db9f28ac94c1 100644 --- a/nixos/modules/config/users-groups.nix +++ b/nixos/modules/config/users-groups.nix @@ -464,7 +464,7 @@ let Whether to enable or disable lingering for this user. Without lingering, user units will not be started until the user logs in, and may be stopped on logout depending on the settings in - `logind.conf`. + {file}`logind.conf`. By default, NixOS will not manage lingering, new users will default to not lingering, and lingering can be configured imperatively using diff --git a/nixos/modules/config/xdg/portal.nix b/nixos/modules/config/xdg/portal.nix index eb4fbaebb8dd..5fd9d7fdd1bb 100644 --- a/nixos/modules/config/xdg/portal.nix +++ b/nixos/modules/config/xdg/portal.nix @@ -91,8 +91,8 @@ in Sets which portal backend should be used to provide the implementation for the requested interface. For details check {manpage}`portals.conf(5)`. - Configs will be linked to `/etc/xdg/xdg-desktop-portal/` with the name `$desktop-portals.conf` - for `xdg.portal.config.$desktop` and `portals.conf` for `xdg.portal.config.common` + Configs will be linked to {file}`/etc/xdg/xdg-desktop-portal/` with the name {file}`$desktop-portals.conf` + for {file}`xdg.portal.config.$desktop` and {file}`portals.conf` for {file}`xdg.portal.config.common` as an exception. ''; }; @@ -103,7 +103,7 @@ in example = lib.literalExpression "[ pkgs.gnome-session ]"; description = '' List of packages that provide XDG desktop portal configuration, usually in - the form of `share/xdg-desktop-portal/$desktop-portals.conf`. + the form of {file}`share/xdg-desktop-portal/$desktop-portals.conf`. Note that configs in `xdg.portal.config` will be preferred if set. ''; diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 3d8909803867..cb003fc2709e 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -1714,6 +1714,7 @@ ./services/web-apps/outline.nix ./services/web-apps/pairdrop.nix ./services/web-apps/part-db.nix + ./services/web-apps/pdfding.nix ./services/web-apps/peering-manager.nix ./services/web-apps/peertube-runner.nix ./services/web-apps/peertube.nix diff --git a/nixos/modules/programs/starship.nix b/nixos/modules/programs/starship.nix index 97339c8119ec..a8941ce7a18f 100644 --- a/nixos/modules/programs/starship.nix +++ b/nixos/modules/programs/starship.nix @@ -60,7 +60,7 @@ in inherit (settingsFormat) type; default = { }; description = '' - Configuration included in `starship.toml`. + Configuration included in {file}`starship.toml`. See for documentation. ''; diff --git a/nixos/modules/services/amqp/rabbitmq.nix b/nixos/modules/services/amqp/rabbitmq.nix index 4bc032896018..254e6f500ede 100644 --- a/nixos/modules/services/amqp/rabbitmq.nix +++ b/nixos/modules/services/amqp/rabbitmq.nix @@ -100,7 +100,7 @@ in description = '' Configuration options in RabbitMQ's new config file format, which is a simple key-value format that can not express nested - data structures. This is known as the `rabbitmq.conf` file, + data structures. This is known as the {file}`rabbitmq.conf` file, although outside NixOS that filename may have Erlang syntax, particularly prior to RabbitMQ 3.7.0. @@ -119,7 +119,7 @@ in type = lib.types.str; description = '' Verbatim advanced configuration file contents using the Erlang syntax. - This is also known as the `advanced.config` file or the old config format. + This is also known as the {file}`advanced.config` file or the old config format. `configItems` is preferred whenever possible. However, nested data structures can only be expressed properly using the `config` option. diff --git a/nixos/modules/services/computing/slurm/slurm.nix b/nixos/modules/services/computing/slurm/slurm.nix index f6f3fac6c5f0..caba71898601 100644 --- a/nixos/modules/services/computing/slurm/slurm.nix +++ b/nixos/modules/services/computing/slurm/slurm.nix @@ -143,7 +143,7 @@ in type = lib.types.lines; default = ""; description = '' - Extra configuration for `slurmdbd.conf` See also: + Extra configuration for {file}`slurmdbd.conf` See also: {manpage}`slurmdbd.conf(8)`. ''; }; @@ -196,7 +196,7 @@ in type = lib.types.bool; default = false; description = '' - Whether to provide a slurm.conf file. + Whether to provide a {file}`slurm.conf` file. Enable this option if you do not run a slurm daemon on this host (i.e. `server.enable` and `client.enable` are `false`) but you still want to run slurm commands from this host. @@ -332,7 +332,7 @@ in default = ""; type = lib.types.lines; description = '' - Extra configuration for that will be added to `mpi.conf`. + Extra configuration for that will be added to {file}`mpi.conf`. ''; }; }; @@ -341,7 +341,7 @@ in default = ""; type = lib.types.lines; description = '' - Extra configuration that will be added to the end of `plugstack.conf`. + Extra configuration that will be added to the end of {file}`plugstack.conf`. ''; }; @@ -349,7 +349,7 @@ in default = ""; type = lib.types.lines; description = '' - Extra configuration for `cgroup.conf`. This file is + Extra configuration for {file}`cgroup.conf`. This file is used when `procTrackType=proctrack/cgroup`. ''; }; @@ -359,9 +359,9 @@ in default = [ ]; description = '' Slurm expects config files for plugins in the same path - as `slurm.conf`. Add extra nix store + as {file}`slurm.conf`. Add extra nix store paths that should be merged into same directory as - `slurm.conf`. + {file}`slurm.conf`. ''; }; diff --git a/nixos/modules/services/continuous-integration/hercules-ci-agent/common.nix b/nixos/modules/services/continuous-integration/hercules-ci-agent/common.nix index 136ed5102e1a..414483a85fe7 100644 --- a/nixos/modules/services/continuous-integration/hercules-ci-agent/common.nix +++ b/nixos/modules/services/continuous-integration/hercules-ci-agent/common.nix @@ -63,7 +63,7 @@ in package = mkPackageOption pkgs "hercules-ci-agent" { }; settings = mkOption { description = '' - These settings are written to the `agent.toml` file. + These settings are written to the {file}`agent.toml` file. Not all settings are listed as options, can be set nonetheless. diff --git a/nixos/modules/services/databases/lldap.nix b/nixos/modules/services/databases/lldap.nix index df27b404ba0f..fe956c943281 100644 --- a/nixos/modules/services/databases/lldap.nix +++ b/nixos/modules/services/databases/lldap.nix @@ -61,7 +61,7 @@ in settings = mkOption { description = '' - Free-form settings written directly to the `lldap_config.toml` file. + Free-form settings written directly to the {file}`lldap_config.toml` file. Refer to for supported values. ''; diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix index 7984be73913a..2040d2be5bb1 100644 --- a/nixos/modules/services/databases/postgresql.nix +++ b/nixos/modules/services/databases/postgresql.nix @@ -570,7 +570,7 @@ in description = '' PostgreSQL configuration. Refer to - for an overview of `postgresql.conf`. + for an overview of {file}`postgresql.conf`. ::: {.note} String values will automatically be enclosed in single quotes. Single quotes will be diff --git a/nixos/modules/services/games/mchprs.nix b/nixos/modules/services/games/mchprs.nix index aa6cda7102b9..06c666436c47 100644 --- a/nixos/modules/services/games/mchprs.nix +++ b/nixos/modules/services/games/mchprs.nix @@ -200,7 +200,7 @@ in default = { }; description = '' - Configuration for MCHPRS via `Config.toml`. + Configuration for MCHPRS via {file}`Config.toml`. See for documentation. ''; }; @@ -210,7 +210,7 @@ in type = lib.types.bool; default = false; description = '' - Whether or not the whitelist (in `whitelist.json`) shoud be enabled. + Whether or not the whitelist (in {file}`whitelist.json`) shoud be enabled. Only has effect when {option}`services.mchprs.declarativeSettings` is `true`. ''; }; diff --git a/nixos/modules/services/networking/aria2.nix b/nixos/modules/services/networking/aria2.nix index 18edd9efe960..23f69cd7e050 100644 --- a/nixos/modules/services/networking/aria2.nix +++ b/nixos/modules/services/networking/aria2.nix @@ -112,7 +112,7 @@ in }; settings = lib.mkOption { description = '' - Generates the `aria2.conf` file. Refer to [the documentation][0] for + Generates the {file}`aria2.conf` file. Refer to [the documentation][0] for all possible settings. [0]: diff --git a/nixos/modules/services/networking/asterisk.nix b/nixos/modules/services/networking/asterisk.nix index 54d23be5dcb9..8cba5bcf6fbc 100644 --- a/nixos/modules/services/networking/asterisk.nix +++ b/nixos/modules/services/networking/asterisk.nix @@ -78,7 +78,7 @@ in ''; description = '' Extra configuration options appended to the default - `asterisk.conf` file. + {file}`asterisk.conf` file. ''; }; @@ -134,7 +134,7 @@ in Sets the content of config files (typically ending with `.conf`) in the Asterisk configuration directory. - Note that if you want to change `asterisk.conf`, it + Note that if you want to change {file}`asterisk.conf`, it is preferable to use the {option}`services.asterisk.extraConfig` option over this option. If `"asterisk.conf"` is specified with the {option}`confFiles` option (not recommended), diff --git a/nixos/modules/services/networking/atalkd.nix b/nixos/modules/services/networking/atalkd.nix index 1f8d5e75f041..72760a1da964 100644 --- a/nixos/modules/services/networking/atalkd.nix +++ b/nixos/modules/services/networking/atalkd.nix @@ -27,7 +27,7 @@ in default = atalkdConfFile; defaultText = "/nix/store/xxx-atalkd.conf"; description = '' - Optional path to a custom `atalkd.conf` file. When set, this overrides the generated + Optional path to a custom {file}`atalkd.conf` file. When set, this overrides the generated configuration from `services.atalkd.interfaces`. ''; }; diff --git a/nixos/modules/services/networking/bird.nix b/nixos/modules/services/networking/bird.nix index 8a76926dbae5..9c830a7c0cc0 100644 --- a/nixos/modules/services/networking/bird.nix +++ b/nixos/modules/services/networking/bird.nix @@ -59,7 +59,7 @@ in ''; description = '' Commands to execute before the config file check. The file to be checked will be - available as `bird.conf` in the current directory. + available as {file}`bird.conf` in the current directory. Files created with this option will not be available at service runtime, only during build time checking. diff --git a/nixos/modules/services/networking/dnsproxy.nix b/nixos/modules/services/networking/dnsproxy.nix index 1d1666e0941e..9d7107716943 100644 --- a/nixos/modules/services/networking/dnsproxy.nix +++ b/nixos/modules/services/networking/dnsproxy.nix @@ -54,7 +54,7 @@ in } ''; description = '' - Contents of the `config.yaml` config file. + Contents of the {file}`config.yaml` config file. The `--config-path` argument will only be passed if this set is not empty. See . diff --git a/nixos/modules/services/networking/gnunet.nix b/nixos/modules/services/networking/gnunet.nix index 9a4e17bd09e7..23e4b0c84f6e 100644 --- a/nixos/modules/services/networking/gnunet.nix +++ b/nixos/modules/services/networking/gnunet.nix @@ -121,7 +121,7 @@ in type = lib.types.lines; default = ""; description = '' - Additional options that will be copied verbatim in `gnunet.conf`. + Additional options that will be copied verbatim in {file}`gnunet.conf`. See {manpage}`gnunet.conf(5)` for details. ''; }; diff --git a/nixos/modules/services/networking/inspircd.nix b/nixos/modules/services/networking/inspircd.nix index dbc587e0a4f1..0bcc702cba81 100644 --- a/nixos/modules/services/networking/inspircd.nix +++ b/nixos/modules/services/networking/inspircd.nix @@ -39,7 +39,7 @@ in config = lib.mkOption { type = lib.types.lines; description = '' - Verbatim `inspircd.conf` file. + Verbatim {file}`inspircd.conf` file. For a list of options, consult the [InspIRCd documentation](https://docs.inspircd.org/3/configuration/), the [Module documentation](https://docs.inspircd.org/3/modules/) diff --git a/nixos/modules/services/networking/netbird.nix b/nixos/modules/services/networking/netbird.nix index 9012d448e33b..cf632fad3c67 100644 --- a/nixos/modules/services/networking/netbird.nix +++ b/nixos/modules/services/networking/netbird.nix @@ -361,7 +361,7 @@ in ''; description = '' Additional configuration that exists before the first start and - later overrides the existing values in `config.json`. + later overrides the existing values in {file}`config.json`. It is mostly helpful to manage configuration ignored/not yet implemented outside of `netbird up` invocation. @@ -369,9 +369,9 @@ in WARNING: this is not an upstream feature, it could break in the future (by having lower priority) after upstream implements an equivalent. - It is implemented as a `preStart` script which overrides `config.json` - with content of `/etc/${client.dir.baseName}/config.d/*.json` files. - This option manages specifically `50-nixos.json` file. + It is implemented as a `preStart` script which overrides {file}`config.json` + with content of {file}`/etc/${client.dir.baseName}/config.d/*.json` files. + This option manages specifically {file}`50-nixos.json` file. Consult [the source code](https://github.com/netbirdio/netbird/blob/88747e3e0191abc64f1e8c7ecc65e5e50a1527fd/client/internal/config.go#L49-L82) or inspect existing file for a complete list of available configurations. @@ -396,7 +396,7 @@ in type = path; default = "/var/lib/${client.dir.baseName}"; description = '' - A state directory used by NetBird client to store `config.json`, `state.json` & `resolv.conf`. + A state directory used by NetBird client to store {file}`config.json`, {file}`state.json` & {file}`resolv.conf`. ''; }; dir.runtime = mkOption { @@ -471,8 +471,8 @@ in 2. run as a `netbird-.service`, 3. listen for incoming remote connections on the port `51820` (`openFirewall` by default), 4. manage the `netbird-` wireguard interface, - 5. use the `/var/lib/netbird-/config.json` configuration file, - 6. override `/var/lib/netbird-/config.json` with values from `/etc/netbird-/config.d/*.json`, + 5. use the {file}`/var/lib/netbird-/config.json` configuration file, + 6. override {file}`/var/lib/netbird-/config.json` with values from {file}`/etc/netbird-/config.d/*.json`, 7. (`hardened`) be locally manageable by `netbird-` system group, With following caveats: diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix index 069d682e32d4..1f3773c70b00 100644 --- a/nixos/modules/services/networking/networkmanager.nix +++ b/nixos/modules/services/networking/networkmanager.nix @@ -346,7 +346,7 @@ in ]; default = "default"; description = '' - Set the DNS (`resolv.conf`) processing mode. + Set the DNS ({file}`resolv.conf`) processing mode. A description of these modes can be found in the main section of [ diff --git a/nixos/modules/services/networking/ntp/chrony.nix b/nixos/modules/services/networking/ntp/chrony.nix index 06638993e3de..a79599076502 100644 --- a/nixos/modules/services/networking/ntp/chrony.nix +++ b/nixos/modules/services/networking/ntp/chrony.nix @@ -225,7 +225,7 @@ in default = ""; description = '' Extra configuration directives that should be added to - `chrony.conf` + {file}`chrony.conf` ''; }; diff --git a/nixos/modules/services/networking/pangolin.nix b/nixos/modules/services/networking/pangolin.nix index 3a72ef9f33b6..6846d03dd9ac 100644 --- a/nixos/modules/services/networking/pangolin.nix +++ b/nixos/modules/services/networking/pangolin.nix @@ -63,7 +63,7 @@ in inherit (format) type; default = { }; description = '' - Additional attributes to be merged with the configuration options and written to Pangolin's `config.yml` file. + Additional attributes to be merged with the configuration options and written to Pangolin's {file}`config.yml` file. ''; example = { app = { diff --git a/nixos/modules/services/networking/pdnsd.nix b/nixos/modules/services/networking/pdnsd.nix index cda55cc2a7e8..9fc625ffec71 100644 --- a/nixos/modules/services/networking/pdnsd.nix +++ b/nixos/modules/services/networking/pdnsd.nix @@ -42,7 +42,7 @@ in default = ""; description = '' Global configuration that should be added to the global directory - of `pdnsd.conf`. + of {file}`pdnsd.conf`. ''; }; @@ -51,7 +51,7 @@ in default = ""; description = '' Server configuration that should be added to the server directory - of `pdnsd.conf`. + of {file}`pdnsd.conf`. ''; }; @@ -60,7 +60,7 @@ in default = ""; description = '' Extra configuration directives that should be added to - `pdnsd.conf`. + {file}`pdnsd.conf`. ''; }; }; diff --git a/nixos/modules/services/networking/strongswan-swanctl/module.nix b/nixos/modules/services/networking/strongswan-swanctl/module.nix index d0fab32d59a0..8ab37224b22e 100644 --- a/nixos/modules/services/networking/strongswan-swanctl/module.nix +++ b/nixos/modules/services/networking/strongswan-swanctl/module.nix @@ -25,7 +25,7 @@ in type = types.str; default = ""; description = '' - Contents of the `strongswan.conf` file. + Contents of the {file}`strongswan.conf` file. ''; }; diff --git a/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix b/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix index aa99f47acacb..2da955cc07bd 100644 --- a/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix +++ b/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix @@ -482,7 +482,7 @@ in `ike:` prefix are configured any signature scheme constraint (without `ike:` prefix) will also apply to IKEv2 authentication, unless this is disabled in - `strongswan.conf`. To use RSASSA-PSS signatures use + {file}`strongswan.conf`. To use RSASSA-PSS signatures use `rsa/pss` instead of `pubkey` or `rsa` as in e.g. `ike:rsa/pss-sha256`. If `pubkey` or @@ -628,7 +628,7 @@ in `pubkey-sha256-sha512`, `rsa-2048-sha256-sha384-sha512` or `rsa-2048-sha256-ecdsa-256-sha256-sha384`). - Unless disabled in `strongswan.conf`, or explicit IKEv2 + Unless disabled in {file}`strongswan.conf`, or explicit IKEv2 signature constraints are configured (refer to the description of the {option}`local` section's {option}`auth` keyword for details), such key types and hash algorithms are also applied as diff --git a/nixos/modules/services/networking/supplicant.nix b/nixos/modules/services/networking/supplicant.nix index 0d8245d8b528..fbbaf6a8dade 100644 --- a/nixos/modules/services/networking/supplicant.nix +++ b/nixos/modules/services/networking/supplicant.nix @@ -110,7 +110,7 @@ in default = null; example = literalExpression "/etc/wpa_supplicant.conf"; description = '' - External `wpa_supplicant.conf` configuration file. + External {file}`wpa_supplicant.conf` configuration file. The configuration options defined declaratively within `networking.supplicant` have precedence over options defined in `configFile`. ''; @@ -145,7 +145,7 @@ in model_number=2015 ''; description = '' - Configuration options for `wpa_supplicant.conf`. + Configuration options for {file}`wpa_supplicant.conf`. Options defined here have precedence over options in `configFile`. NOTE: Do not write sensitive data into `extraConf` as it will be world-readable in the `nix-store`. For sensitive information diff --git a/nixos/modules/services/networking/teleport.nix b/nixos/modules/services/networking/teleport.nix index ba3d7184ea77..fec3f175b519 100644 --- a/nixos/modules/services/networking/teleport.nix +++ b/nixos/modules/services/networking/teleport.nix @@ -43,7 +43,7 @@ in } ''; description = '' - Contents of the `teleport.yaml` config file. + Contents of the {file}`teleport.yaml` config file. The `--config` arguments will only be passed if this set is not empty. See . diff --git a/nixos/modules/services/networking/znc/options.nix b/nixos/modules/services/networking/znc/options.nix index a96a48cf8996..e7babcf35e22 100644 --- a/nixos/modules/services/networking/znc/options.nix +++ b/nixos/modules/services/networking/znc/options.nix @@ -127,7 +127,7 @@ in "log" ]; description = '' - A list of modules to include in the `znc.conf` file. + A list of modules to include in the {file}`znc.conf` file. ''; }; @@ -144,7 +144,7 @@ in "push" ]; description = '' - A list of user modules to include in the `znc.conf` file. + A list of user modules to include in the {file}`znc.conf` file. ''; }; @@ -233,7 +233,7 @@ in default = ""; type = types.lines; description = '' - Extra config to `znc.conf` file. + Extra config to {file}`znc.conf` file. ''; }; }; diff --git a/nixos/modules/services/security/vault-agent.nix b/nixos/modules/services/security/vault-agent.nix index f78bacacc189..81f66691eae7 100644 --- a/nixos/modules/services/security/vault-agent.nix +++ b/nixos/modules/services/security/vault-agent.nix @@ -72,7 +72,7 @@ let "https://github.com/hashicorp/consul-template/blob/main/docs/configuration.md#configuration-file"; in '' - Free-form settings written directly to the `config.json` file. + Free-form settings written directly to the {file}`config.json` file. Refer to <${upstreamDocs}> for supported values. ::: {.note} diff --git a/nixos/modules/services/torrent/qbittorrent.nix b/nixos/modules/services/torrent/qbittorrent.nix index 4bfcf309a16a..672a776930cc 100644 --- a/nixos/modules/services/torrent/qbittorrent.nix +++ b/nixos/modules/services/torrent/qbittorrent.nix @@ -99,7 +99,7 @@ in freeformType = attrsOf (attrsOf anything); }; description = '' - Free-form settings mapped to the `qBittorrent.conf` file in the profile. + Free-form settings mapped to the {file}`qBittorrent.conf` file in the profile. Refer to [Explanation-of-Options-in-qBittorrent](https://github.com/qbittorrent/qBittorrent/wiki/Explanation-of-Options-in-qBittorrent). The Password_PBKDF2 format is oddly unique, you will likely want to use [this tool](https://codeberg.org/feathecutie/qbittorrent_password) to generate the format. Alternatively you can run qBittorrent independently first and use its webUI to generate the format. diff --git a/nixos/modules/services/web-apps/homer.nix b/nixos/modules/services/web-apps/homer.nix index 50c460c4a6c1..e34e43435d12 100644 --- a/nixos/modules/services/web-apps/homer.nix +++ b/nixos/modules/services/web-apps/homer.nix @@ -41,7 +41,7 @@ in settings = lib.mkOption { default = { }; description = '' - Settings serialized into `config.yml` before build. + Settings serialized into {file}`config.yml` before build. If left empty, the default configuration shipped with the package will be used instead. For more information, see the [official documentation](https://github.com/bastienwirtz/homer/blob/main/docs/configuration.md). diff --git a/nixos/modules/services/web-apps/ocis.nix b/nixos/modules/services/web-apps/ocis.nix index daf4d5647a2a..98cc7d43d200 100644 --- a/nixos/modules/services/web-apps/ocis.nix +++ b/nixos/modules/services/web-apps/ocis.nix @@ -32,10 +32,10 @@ in Example config can be generated by `ocis init --config-path fileName --admin-password "adminPass"`. Add `--insecure true` if SSL certificates are generated and managed externally (e.g. using oCIS behind reverse proxy). - Note: This directory must contain at least a `ocis.yaml`. Ensure + Note: This directory must contain at least a {file}`ocis.yaml`. Ensure [user](#opt-services.ocis.user) has read/write access to it. In some circumstances you may need to add additional oCIS configuration files (e.g., - `proxy.yaml`) to this directory. + {file}`proxy.yaml`) to this directory. ''; }; diff --git a/nixos/modules/services/web-apps/pdfding.nix b/nixos/modules/services/web-apps/pdfding.nix new file mode 100644 index 000000000000..cb5c5e729139 --- /dev/null +++ b/nixos/modules/services/web-apps/pdfding.nix @@ -0,0 +1,451 @@ +{ + config, + lib, + pkgs, + ... +}: +let + inherit (lib) + concatStringsSep + mapAttrsToList + mkEnableOption + mkPackageOption + mkOption + optionalAttrs + optionalString + types + ; + + cfg = config.services.pdfding; + + stateDir = "/var/lib/pdfding"; + + usePostgres = cfg.database.type == "postgres"; + + envVars = { + # HOST_IP is used in the package derivation + HOST_IP = cfg.hostName; + HOST_NAME = concatStringsSep "," cfg.allowedHosts; + HOST_PORT = toString cfg.port; + DATABASE_TYPE = ""; + DATA_DIR = stateDir; + } + // optionalAttrs usePostgres { + DATABASE_TYPE = "POSTGRES"; + POSTGRES_PORT = toString cfg.database.port; + # Django Uses the unix domain socket + # if host is set to empty see https://docs.djangoproject.com/en/6.0/ref/settings/#host + POSTGRES_HOST = lib.optionalString (!cfg.database.createLocally) cfg.database.host; + POSTGRES_NAME = cfg.database.name; + POSTGRES_USER = cfg.database.user; + } + // optionalAttrs cfg.consume.enable { + CONSUME_ENABLE = "TRUE"; + CONSUME_SCHEDULE = cfg.consume.schedule; + } + // optionalAttrs cfg.backup.enable { + BACKUP_ENABLE = "TRUE"; + BACKUP_ENDPOINT = cfg.backup.endpoint; + BACKUP_SCHEDULE = cfg.backup.schedule; + } + // cfg.extraEnvironment; + + envFile = pkgs.writeText "pdfding.env" ( + lib.pipe envVars [ + (mapAttrsToList (name: value: "${name}=\"${toString value}\"")) + (concatStringsSep "\n") + ] + ); + + loadCreds = + optionalString (usePostgres && !cfg.database.createLocally) '' + export POSTGRES_PASSWORD="$(<${cfg.database.passwordFile})" + '' + + '' + export SECRET_KEY="$(<${cfg.secretKeyFile})" + ''; + + secretRecommendation = "Consider using a secret managing scheme such as `agenix` or `sops-nix` to generate this file."; +in +{ + options.services.pdfding = { + enable = mkEnableOption "PdfDing service" // { + description = '' + Whether to enable PdfDing service. + + To use the pdfding-manage CLI, add your user to the pdfding group: + users.users..extraGroups = [ "pdfding" ]; + ''; + }; + + package = mkPackageOption pkgs "pdfding" { }; + + user = mkOption { + type = types.str; + default = "pdfding"; + description = "User account under which PdfDing runs"; + }; + + group = mkOption { + type = types.str; + default = "pdfding"; + description = "Group under which PdfDing runs"; + }; + + hostName = mkOption { + type = types.str; + default = "0.0.0.0"; + example = "pdfding.example.com"; + description = "Listen address for PdfDing"; + }; + + port = mkOption { + type = types.port; + default = 8000; + description = "Port on which PdfDing listens"; + }; + + allowedHosts = mkOption { + type = types.listOf types.str; + default = [ + "127.0.0.1" + "localhost" + ]; + description = "Domains where PdfDing is allowed to run"; + }; + + gunicorn.extraArgs = mkOption { + type = types.listOf types.str; + description = "Command line arguments passed to Gunicorn server."; + default = [ ]; + }; + + extraEnvironment = mkOption { + type = types.attrsOf types.str; + default = { }; + description = "Additional environment variables"; + }; + + envFiles = mkOption { + type = types.listOf types.path; + description = "Environment variable files"; + default = [ ]; + }; + + secretKeyFile = mkOption { + type = types.path; + default = null; + description = "File containing the Django SECRET_KEY. ${secretRecommendation}"; + example = "/run/secrets/pdfding-secret-key"; + }; + + database = { + type = mkOption { + type = types.enum [ + "sqlite" + "postgres" + ]; + default = "sqlite"; + description = "Database type to use"; + }; + + host = mkOption { + type = types.str; + default = ""; + description = "PostgreSQL host"; + }; + + port = mkOption { + type = types.port; + default = 5432; + description = "PostgreSQL port"; + }; + + name = mkOption { + type = types.str; + default = "pdfding"; + description = "PostgreSQL database name"; + }; + + user = mkOption { + type = types.str; + default = "pdfding"; + description = "PostgreSQL user"; + }; + + passwordFile = mkOption { + type = types.nullOr types.path; + default = null; + description = "File containing POSTGRES_PASSWORD. ${secretRecommendation}"; + example = "/run/secrets/pdfding-db-password"; + }; + + createLocally = mkOption { + type = types.bool; + default = false; + description = "Whether to create a local PostgreSQL database automatically"; + }; + }; + + consume = { + enable = mkEnableOption "Consume functionality" // { + description = '' + Bulk PDF import from consume directory. + + When enabled, administrators can create per-user directories like /var/lib/pdfding/consume/ + with permissions allowing the pdfding user to read and write. + PDFs placed in these directories are automatically imported into user accounts. + + PDFs are imported periodically via cronjob and successfully imported files + are automatically deleted from the consume directory. + ''; + }; + schedule = mkOption { + type = types.str; + default = "*/5 * * * *"; + description = '' + The cron schedule for the consume task to trigger. + The format is "minute hour day month day_of_week" + Read + - https://github.com/mrmn2/PdfDing/blob/d0f21ec2f9fbee4b1a2f6b7e0e6c7ea7784ab1bc/pdfding/base/task_helpers.py#L5 + - https://huey.readthedocs.io/en/latest/api.html#crontab + ''; + }; + }; + + backup = { + enable = mkEnableOption "Backup functionality" // { + description = '' + Automatic backup of important data to a AWS S3 (or compatible) instance. + + When enabled and properly configured via environment variables, + important data is periodically uploaded to the specified s3 + instance via cronjob. + ''; + }; + schedule = mkOption { + type = types.str; + default = "0 2 * * *"; + description = '' + The cron schedule for the consume task to trigger. + The format is "minute hour day month day_of_week" + Read + - https://github.com/mrmn2/PdfDing/blob/d0f21ec2f9fbee4b1a2f6b7e0e6c7ea7784ab1bc/pdfding/base/task_helpers.py#L5 + - https://huey.readthedocs.io/en/latest/api.html#crontab + ''; + }; + endpoint = mkOption { + type = types.nullOr types.str; + default = null; + description = "The s3 endpoint for backups"; + example = "127.0.0.1:9000"; + }; + }; + + openFirewall = lib.mkOption { + type = types.bool; + default = false; + description = "Open ports in the firewall for the PdfDing web interface."; + }; + + installTestHelpers = mkOption { + type = types.bool; + default = false; + internal = true; + description = "Adds a few helper commands to systemPackages for nixos tests"; + }; + }; + + config = lib.mkIf cfg.enable { + assertions = [ + { + assertion = cfg.secretKeyFile != null; + message = "services.pdfding.secretKeyFile must be set when using PdfDing"; + } + { + assertion = cfg.backup.enable -> envVars.BACKUP_ENDPOINT != null; + message = "services.pdfding.extraEnvironment.BACKUP_ENDPOINT must be set when backup is enabled"; + } + { + assertion = cfg.database.createLocally -> usePostgres; + message = "services.pdfding.database.createLocally is enabled but not database.type is not postgres"; + } + { + assertion = cfg.database.createLocally -> cfg.database.host == ""; + message = "services.pdfding.database.host must be empty when services.pdfding.database.createLocally is enabled"; + } + { + assertion = cfg.database.createLocally -> cfg.database.passwordFile == null; + message = "specifying services.pdfding.database.passwordFile is not supported when used along with a local db setup"; + } + { + assertion = + cfg.database.createLocally + -> cfg.database.user == cfg.user && cfg.database.user == cfg.database.name; + message = "services.pdfding.database.user should be the same as services.pdfding.user as well as services.pdfding.database.name when running a local db setup"; + } + ]; + + networking.firewall = lib.mkIf cfg.openFirewall { + allowedTCPPorts = [ cfg.port ]; + }; + + environment.systemPackages = + let + genWrapper = + name: cmd: + pkgs.writeShellScriptBin name '' + set -eou pipefail + set -a + ${lib.toShellVars cfg.extraEnvironment} + ${lib.concatMapStringsSep "\n" (f: "source ${f}") cfg.envFiles} + set +a + ${loadCreds} + sudo=exec + if [[ "$USER" != ${cfg.user} ]]; then + sudo='${config.security.wrapperDir}/sudo -E -u ${cfg.user}' + fi + ${cmd} + ''; + commands.pdfding-manage = '' + $sudo ${lib.getExe cfg.package} "$@" + ''; + commands.consume-immediate = '' + echo "from pdf.tasks import consume_function; consume_function(True)" | \ + $sudo ${lib.getExe cfg.package} shell + ''; + commands.backup-immediate = '' + echo "from backup.tasks import backup_function; backup_function()" | \ + $sudo ${lib.getExe cfg.package} shell + ''; + packages = lib.genAttrs (lib.attrNames commands) (name: genWrapper name commands.${name}); + in + lib.mkMerge [ + [ + packages.pdfding-manage + ] + (lib.mkIf cfg.installTestHelpers [ + packages.consume-immediate + packages.backup-immediate + ]) + ]; + + users.users.${cfg.user} = { + isSystemUser = true; + group = cfg.group; + }; + + users.groups.${cfg.group} = { }; + + services.pdfding.envFiles = [ envFile ]; + + services.pdfding.extraEnvironment = { + DEFAULT_THEME = "dark"; + DEFAULT_THEME_COLOR = "green"; + }; + + services.pdfding.gunicorn.extraArgs = [ + "--workers=4" + "--max-requests=1200" + "--max-requests-jitter=50" + "--log-level=error" + ]; + + systemd.services.pdfding = { + description = "PdfDing Web Service"; + after = [ + "network.target" + ] + ++ lib.optionals (usePostgres && cfg.database.createLocally) [ "postgresql.target" ]; + wantedBy = [ "multi-user.target" ]; + + preStart = '' + ${loadCreds} + ${optionalString (usePostgres && cfg.database.createLocally) + # bash + '' + count=0 + timeout=30 + until ${pkgs.postgresql}/bin/pg_isready -p ${toString cfg.database.port}; do + if [ $count -ge $timeout ]; then + echo "Timed out waiting for PostgreSQL after $timeout seconds." + exit 1 + fi + echo "Waiting for PostgreSQL... ($count/$timeout)" + sleep 1 + count=$((count+1)) + done + '' + } + + ${cfg.package}/bin/pdfding-manage migrate + ${cfg.package}/bin/pdfding-manage clean_up + ''; + + script = '' + ${loadCreds} + exec ${cfg.package}/bin/pdfding-start ${toString cfg.gunicorn.extraArgs} + ''; + + serviceConfig = { + Type = "exec"; + User = cfg.user; + Group = cfg.group; + EnvironmentFile = cfg.envFiles; + StateDirectory = [ + "pdfding" + "pdfding/db" + "pdfding/media" + ] + ++ lib.optional cfg.consume.enable "pdfding/consume"; + NoNewPrivileges = true; + PrivateTmp = true; + PrivateDevices = true; + ProtectSystem = "strict"; + ProtectHome = true; + Restart = "on-failure"; + RestartSec = "5s"; + }; + }; + + systemd.services.pdfding-background = lib.mkIf (cfg.consume.enable || cfg.backup.enable) { + description = "PdfDing Background Tasks (Huey)"; + after = [ "pdfding.service" ]; + wantedBy = [ "multi-user.target" ]; + script = '' + ${loadCreds} + exec ${cfg.package}/bin/pdfding-manage run_huey + ''; + serviceConfig = { + Type = "exec"; + User = cfg.user; + Group = cfg.group; + WorkingDirectory = stateDir; + EnvironmentFile = cfg.envFiles; + + NoNewPrivileges = true; + PrivateTmp = true; + PrivateDevices = true; + ProtectSystem = "strict"; + ProtectHome = true; + ReadWritePaths = [ stateDir ]; + Restart = "on-failure"; + RestartSec = "5s"; + TimeoutStopSec = 30; + }; + }; + + services.postgresql = lib.mkIf cfg.database.createLocally { + enable = true; + ensureDatabases = [ cfg.database.name ]; + ensureUsers = [ + { + name = cfg.database.user; + ensureDBOwnership = true; + } + ]; + }; + }; + + meta.maintainers = lib.teams.ngi.members; +} diff --git a/nixos/modules/system/boot/timesyncd.nix b/nixos/modules/system/boot/timesyncd.nix index b3913efc5cc1..4584837896fb 100644 --- a/nixos/modules/system/boot/timesyncd.nix +++ b/nixos/modules/system/boot/timesyncd.nix @@ -25,7 +25,7 @@ in The set of NTP servers from which to synchronise. Setting this option to an empty list will write `NTP=` to the - `timesyncd.conf` file as opposed to setting this option to null which + {file}`timesyncd.conf` file as opposed to setting this option to null which will remove `NTP=` entirely. See {manpage}`timesyncd.conf(5)` for details. @@ -39,7 +39,7 @@ in The set of fallback NTP servers from which to synchronise. Setting this option to an empty list will write `FallbackNTP=` to the - `timesyncd.conf` file as opposed to setting this option to null which + {file}`timesyncd.conf` file as opposed to setting this option to null which will remove `FallbackNTP=` entirely. See {manpage}`timesyncd.conf(5)` for details. diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix index ec2772470689..416d21ddc5fc 100644 --- a/nixos/release-combined.nix +++ b/nixos/release-combined.nix @@ -3,8 +3,9 @@ # succeeds, and all other jobs have finished (they may fail). { + lib ? (import ../lib), nixpkgs ? { - outPath = (import ../lib).cleanSource ./..; + outPath = lib.cleanSource ./..; revCount = 56789; shortRev = "gfedcba"; }, @@ -28,7 +29,7 @@ let if (set.type or "") == "derivation" then set // { meta = removeAttrs (set.meta or { }) [ "maintainers" ]; } else - pkgs.lib.mapAttrs (n: v: removeMaintainers v) set + lib.mapAttrs (n: v: removeMaintainers v) set else set; @@ -57,7 +58,7 @@ rec { onSystems = systems: x: map (system: "${x}.${system}") ( - pkgs.lib.intersectLists systems (supportedSystems ++ limitedSupportedSystems) + lib.intersectLists systems (supportedSystems ++ limitedSupportedSystems) ); in pkgs.releaseTools.aggregate { @@ -66,7 +67,7 @@ rec { description = "Release-critical builds for the NixOS channel"; maintainers = [ ]; }; - constituents = pkgs.lib.concatLists [ + constituents = lib.concatLists [ [ "nixos.channel" ] (onFullSupported "nixos.dummy") (onAllSupported "nixos.iso_minimal") diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 68b920a4dd41..38a30c38368f 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -1231,6 +1231,10 @@ in pass-secret-service = runTest ./pass-secret-service.nix; password-option-override-ordering = runTest ./password-option-override-ordering.nix; patroni = handleTestOn [ "x86_64-linux" ] ./patroni.nix { }; + pdfding = import ./web-apps/pdfding { + inherit (pkgs) lib; + inherit runTest; + }; pdns-recursor = runTest ./pdns-recursor.nix; peerflix = runTest ./peerflix.nix; peering-manager = runTest ./web-apps/peering-manager.nix; diff --git a/nixos/tests/web-apps/pdfding/basic.nix b/nixos/tests/web-apps/pdfding/basic.nix new file mode 100644 index 000000000000..d2a1df8a5d7e --- /dev/null +++ b/nixos/tests/web-apps/pdfding/basic.nix @@ -0,0 +1,166 @@ +{ + lib, + pkgs, + ... +}: +{ + name = "PdfDing sqlite"; + + nodes = { + machine = + { ... }: + { + # WARNING: Do not add secrets to the world-readable /nix/store in a production deployment + # Use a secret management scheme instead https://wiki.nixos.org/wiki/Comparison_of_secret_managing_schemes + services.pdfding = { + enable = true; + secretKeyFile = pkgs.writeText "secretKeyFile" "test123"; + }; + + environment.systemPackages = with pkgs; [ + sqlite + ]; + + # test email validation works + services.pdfding.extraEnvironment = { + EMAIL_BACKEND = "SMTP"; + SMTP_HOST = "localhost"; + SMTP_PORT = "1025"; + SMTP_USER = ""; # mailpit doesn't need auth + SMTP_PASSWORD = ""; + SMTP_USE_TLS = "FALSE"; + SMTP_USE_SSL = "FALSE"; + }; + + # enable mailpit + services.mailpit.instances.default = { }; + }; + }; + + # Test the most basic user functionality expected from pdfding. + # Heavy e2e test suite is implemented in e2e.nix + testScript = + { nodes, ... }: + let + inherit (nodes.machine.services.pdfding) port; + mailpitApiEndpoint = "http://${nodes.machine.services.mailpit.instances.default.listen}/api/v1"; + stateDir = "/var/lib/pdfding"; + in + # py + '' + import json + from pprint import pprint + + # start vms + start_all() + + # create admin + machine.wait_for_unit("multi-user.target") + machine.succeed("DJANGO_SUPERUSER_PASSWORD=admin pdfding-manage createsuperuser --no-input --username admin --email admin@localhost") + + cookie_jar = "/tmp/cookies.txt" + endpoint = "http://localhost:${toString port}" + + with subtest("login and basic usage"): + # login + machine.succeed(f""" + curl -f \ + -X POST -c {cookie_jar} -b {cookie_jar} \ + -d "csrfmiddlewaretoken=$(curl -f -c {cookie_jar} -s '{endpoint}/accountlogin/' | grep -oP 'name="csrfmiddlewaretoken" value="\\K[^"]+')" \ + -d "login=admin@localhost" \ + -d "password=admin" \ + {endpoint}/accountlogin/ + """) + + test_pdf = "${pkgs.pdfding.src}/pdfding/pdf/tests/data/dummy.pdf" + + # verify no pdfs exist in db + machine.succeed("sqlite3 ${stateDir}/db/db.sqlite3 'SELECT COUNT(*) FROM pdf_pdf' | grep -q '^0$'") + + # upload + machine.succeed(f""" + csrf_token=$(curl -f -b {cookie_jar} -c {cookie_jar} -s "{endpoint}/pdf/add" | grep -oP 'name="csrfmiddlewaretoken" value="\\K[^"]+') + curl -f \ + -c {cookie_jar} -b {cookie_jar} \ + -F "notes=" \ + -F "tag_string=" \ + -F "description=" \ + -F "collection=1" \ + -F "use_file_name=on" \ + -F "name=test-upload" \ + -F "file=@{test_pdf};type=application/pdf" \ + -F "csrfmiddlewaretoken=$csrf_token" \ + -H "Referer: {endpoint}/pdf/add" \ + {endpoint}/pdf/add + """) + + # download + machine.succeed(f""" + pdf_id=$(curl -f -b {cookie_jar} -s "{endpoint}/pdf/" | grep -oP 'href="/pdf/view/\\K[^"]+' | head -1) + curl -f -b {cookie_jar} -o /tmp/downloaded.pdf "{endpoint}/pdf/download/$pdf_id" + """) + + # verify pdf in user's dir + machine.succeed("test -f ${stateDir}/media/1/default/pdf/*.pdf") + + # verify one entry exists in sqlite db + machine.succeed("sqlite3 ${stateDir}/db/db.sqlite3 'SELECT COUNT(*) FROM pdf_pdf' | grep -q '^1$'") + + with subtest("email validation"): + # check we can reach mailpit + machine.succeed("curl -f ${mailpitApiEndpoint}/info") + + # check that no emails exist + result = json.loads(machine.succeed("curl -sf ${mailpitApiEndpoint}/messages")) + pprint(result) + assert result["total"] == 0 + + # signup + machine.succeed(f""" + curl -f \ + -X POST -c {cookie_jar} -b {cookie_jar} \ + -d "csrfmiddlewaretoken=$(curl -f -c {cookie_jar} -s '{endpoint}/accountsignup/' | grep -oP 'name="csrfmiddlewaretoken" value="\\K[^"]+')" \ + -d "email=pdfding_new_user@example.com" \ + -d "password1=foobarbaz" \ + -d "password2=foobarbaz" \ + {endpoint}/accountsignup/ + """) + + # wait a bit for email to be processed + machine.sleep(3) + + # verify the email was received by mailpit + result = json.loads(machine.succeed("curl -s ${mailpitApiEndpoint}/messages")) + pprint(result) + assert result["total"] == 1 + assert result["messages"][0]["To"][0]["Address"] == "pdfding_new_user@example.com" + ''; + + # Debug interactively with: + # - nix run .#nixosTests.pdfding.basic.driverInteractive -L + # - start_all() / run_tests() + interactive.sshBackdoor.enable = true; # ssh -o User=root vsock%3 + interactive.nodes.machine = + { config, ... }: + let + port = config.services.pdfding.port; + in + { + # not needed, only for manual interactive debugging + virtualisation.memorySize = 4096; + environment.systemPackages = with pkgs; [ + htop + ]; + + virtualisation.forwardPorts = map (port: { + from = "host"; + host.port = port; + guest.port = port; + }) [ port ]; + + # forwarded ports need to be accessible + networking.firewall.allowedTCPPorts = [ port ]; + }; + + meta.maintainers = lib.teams.ngi.members; +} diff --git a/nixos/tests/web-apps/pdfding/default.nix b/nixos/tests/web-apps/pdfding/default.nix new file mode 100644 index 000000000000..c819ca875db0 --- /dev/null +++ b/nixos/tests/web-apps/pdfding/default.nix @@ -0,0 +1,7 @@ +{ lib, runTest }: +lib.recurseIntoAttrs { + basic = runTest ./basic.nix; + e2e = runTest ./e2e.nix; + postgres = runTest ./postgres.nix; + s3-backups = runTest ./s3-backups.nix; +} diff --git a/nixos/tests/web-apps/pdfding/e2e.nix b/nixos/tests/web-apps/pdfding/e2e.nix new file mode 100644 index 000000000000..23bfd064c384 --- /dev/null +++ b/nixos/tests/web-apps/pdfding/e2e.nix @@ -0,0 +1,81 @@ +{ + lib, + pkgs, + ... +}: +{ + name = "PdfDing e2e tests"; + + nodes = { + machine = + { ... }: + { + environment.systemPackages = [ + (pkgs.writeShellScriptBin "tests_e2e" ( + let + pythonPath = + with pkgs.python3Packages; + [ + playwright + pkgs.pdfding + ] + ++ pkgs.pdfding.dependencies + ++ pkgs.pdfding.optional-dependencies.e2e; + in + # bash + '' + export PLAYWRIGHT_BROWSERS_PATH=${pkgs.playwright-driver.browsers} + export PYTHONPATH=${pkgs.python3Packages.makePythonPath pythonPath} + export PATH=${pkgs.pdfding.python}/bin:$PATH + export E2E_TESTS=1 + cd $(mktemp -d) + cp -r --no-preserve=all ${pkgs.pdfding.src} source + cd source + cp -ru --no-preserve=all ${pkgs.pdfding.frontend}/pdfding/static pdfding + # some tests are flaky due to timeouts, re-run them + python -m pytest pdfding/e2e \ + -x -r aR \ + --reruns 10 --only-rerun TimeoutError + '' + # see https://github.com/MrBin99/django-vite/issues/95 + # tdlr; collectstatic is not important for e2e tests which uses StaticLiveServerTestCase + # it only cares about files in static/ + )) + ]; + }; + }; + + testScript = + { nodes, ... }: + # py + '' + # start + start_all() + machine.wait_for_unit("multi-user.target") + + machine.succeed("tests_e2e | systemd-cat") + ''; + + # Debug interactively with: + # - nix run .#nixosTests.pdfding.e2e.driverInteractive -L + # - start_all() / run_tests() + interactive.sshBackdoor.enable = true; # ssh -o User=root vsock%3 + interactive.nodes.machine = + { config, ... }: + { + imports = [ + # enable graphical session + users (alice, bob) + ./common/x11.nix + ./common/user-account.nix + ]; + services.xserver.enable = true; + test-support.displayManager.auto.user = "alice"; + virtualisation.memorySize = lib.mkForce 8192; + environment.systemPackages = with pkgs; [ + htop + ]; + # env DISPLAY=:0 sudo -u alice tests_e2e | systemd-cat + }; + + meta.maintainers = lib.teams.ngi.members; +} diff --git a/nixos/tests/web-apps/pdfding/postgres.nix b/nixos/tests/web-apps/pdfding/postgres.nix new file mode 100644 index 000000000000..0fb9c174dc1a --- /dev/null +++ b/nixos/tests/web-apps/pdfding/postgres.nix @@ -0,0 +1,97 @@ +{ + lib, + pkgs, + ... +}: +{ + name = "PdfDing postgres"; + + nodes = { + machine = + { config, ... }: + { + # WARNING: Do not add secrets to the world-readable /nix/store in a production deployment + # Use a secret management scheme instead https://wiki.nixos.org/wiki/Comparison_of_secret_managing_schemes + services.pdfding = { + enable = true; + secretKeyFile = pkgs.writeText "secretKeyFile" "test123"; + database.createLocally = true; + database.type = "postgres"; + consume.enable = true; # allows bulk importing pdf files from the backend + consume.schedule = "*/1 * * * *"; # once every minute + installTestHelpers = true; + }; + + environment.systemPackages = [ + config.services.postgresql.finalPackage + ]; + }; + }; + + # Tests the most basic user functionality expected from pdfding with postgres and consume feature + testScript = + { nodes, ... }: + let + stateDir = "/var/lib/pdfding"; + in + # py + '' + # start + start_all() + + # create admin + machine.wait_for_unit("multi-user.target") + + machine.succeed("DJANGO_SUPERUSER_PASSWORD=admin pdfding-manage createsuperuser --no-input --username admin --email admin@localhost") + + test_pdf = "${pkgs.pdfding.src}/pdfding/pdf/tests/data/dummy.pdf" + + # copy to consume dir + machine.succeed(f"sudo -u pdfding bash -c 'mkdir -p ${stateDir}/consume/1 && cp {test_pdf} ${stateDir}/consume/1/'") + + # check the file was copied + output = machine.succeed("sudo -u pdfding bash -c 'ls -l ${stateDir}/consume/1/'") + assert "dummy.pdf" in output, "dummy pdf file not found" + + # check there are no pdfs + machine.succeed("sudo -u pdfding psql -tAc 'SELECT COUNT(*) FROM pdf_pdf' | grep -q '^0$'") + + print(machine.succeed("realpath /run/current-system/sw/bin/consume-immediate")) + print(machine.succeed("consume-immediate")) + + # verify pdf is in user's dir, and removed from consume dir + machine.wait_for_file("${stateDir}/media/1/default/pdf/dummy.pdf") + machine.fail("test -f ${stateDir}/consume/1/default/pdf/dummy.pdf") + + # verify pdf is also in postgres db + machine.succeed("sudo -u pdfding psql -tAc 'SELECT COUNT(*) FROM pdf_pdf' | grep -q '^1$'") + ''; + + # Debug interactively with: + # - nix run .#nixosTests.pdfding.postgres.driverInteractive -L + # - start_all() / run_tests() + interactive.sshBackdoor.enable = true; # ssh -o User=root vsock%3 + interactive.nodes.machine = + { config, ... }: + let + port = config.services.pdfding.port; + in + { + # not needed, only for manual interactive debugging + virtualisation.memorySize = 4096; + environment.systemPackages = with pkgs; [ + htop + ]; + + virtualisation.forwardPorts = map (port: { + from = "host"; + host.port = port; + guest.port = port; + }) [ port ]; + + # forwarded ports need to be accessible + networking.firewall.allowedTCPPorts = [ port ]; + }; + + meta.maintainers = lib.teams.ngi.members; +} diff --git a/nixos/tests/web-apps/pdfding/s3-backups.nix b/nixos/tests/web-apps/pdfding/s3-backups.nix new file mode 100644 index 000000000000..1339ab555114 --- /dev/null +++ b/nixos/tests/web-apps/pdfding/s3-backups.nix @@ -0,0 +1,202 @@ +{ + lib, + pkgs, + ... +}: +let + # WARNING: Do not add secrets to the world-readable /nix/store in a production deployment + # Use a secret management scheme instead https://wiki.nixos.org/wiki/Comparison_of_secret_managing_schemes + + # note: In a production deployment use `garage key generate`, along with the steps specified in the getting started guide of garage. + # (sops-nix or agenix for configuring secrets for garage is out of scope here) + garageAccessKey = "GK0a0a0a0b0b0b0c0c0c0d0d0d"; + garageSecretKey = "0a0a0a0a0b0b0b0b0c0c0c0c0d0d0d0d1a1a1a1a1b1b1b1b1c1c1c1c1d1d1d1d"; + pdfding-s3-keys = pkgs.writeText "pdfding-s3-keys" '' + BACKUP_ACCESS_KEY=${garageAccessKey} + BACKUP_SECRET_KEY=${garageSecretKey} + ''; +in +{ + name = "PdfDing s3 backups"; + + nodes = { + machine = + { config, ... }: + { + services.pdfding = { + enable = true; + secretKeyFile = pkgs.writeText "secretKeyFile" "test123"; + + backup.enable = true; + backup.schedule = "*/1 * * * *"; + backup.endpoint = "[::]:3900"; + extraEnvironment.BACKUP_BUCKET_NAME = "pdfding-bucket"; + extraEnvironment.BACKUP_REGION = "garage"; + + envFiles = [ pdfding-s3-keys ]; + installTestHelpers = true; + }; + + # Setup a local garage service for the backup feature + # taken from garage nixosTest + services.garage = { + enable = true; + package = pkgs.garage_2; + settings = { + rpc_bind_addr = "[::]:3901"; + rpc_public_addr = "[::1]:3901"; + rpc_secret = "5c1915fa04d0b6739675c61bf5907eb0fe3d9c69850c83820f51b4d25d13868c"; + + s3_api = { + s3_region = "garage"; + api_bind_addr = "[::]:3900"; + root_domain = ".s3.garage"; + }; + + s3_web = { + bind_addr = "[::]:3902"; + root_domain = ".web.garage"; + index = "index.html"; + }; + + replication_factor = 1; + }; + }; + + # setup garage bucket and credentials + # note: The nixos module has no option to specify secrets declaratively + systemd.services.garage.postStart = '' + export PATH="$PATH:${config.services.garage.package}/bin" + + # wait for garage to be up + while ! garage status >/dev/null 2>&1; do sleep 2; done + + if ! garage bucket list | grep -q pdfding-bucket; then + garage layout assign -z dc1 -c 1G $(garage status | cut -d' ' -f1 | tail -1) + garage layout apply --version 1 + + # note: the key id should be valid (starts with `GK`, followed by 12 hex-encoded bytes) + # the secret key should be valid (composed of 32 hex-encoded bytes) + garage key import ${garageAccessKey} ${garageSecretKey} -n pdfding-key --yes + + garage bucket create pdfding-bucket + + garage bucket allow --read --write --owner pdfding-bucket --key pdfding-key + fi + ''; + + # Garage requires at least 1GiB of free disk space to run. + virtualisation.diskSize = 2 * 1024; + + environment.systemPackages = with pkgs; [ + minio-client + sqlite + ]; + }; + }; + + # Tests the most basic user functionality expected from pdfding backup service + testScript = + { nodes, ... }: + let + inherit (nodes.machine.services.pdfding) port; + stateDir = "/var/lib/pdfding"; + in + # py + '' + # start vms + start_all() + + # create admin + machine.wait_for_unit("multi-user.target") + machine.succeed("DJANGO_SUPERUSER_PASSWORD=admin pdfding-manage createsuperuser --no-input --username admin --email admin@localhost") + + # login + endpoint = "http://localhost:${toString port}" + cookie_jar = "/tmp/cookies.txt" + machine.succeed(f""" + curl -f \ + -X POST -c {cookie_jar} -b {cookie_jar} \ + -d "csrfmiddlewaretoken=$(curl -f -c {cookie_jar} -s '{endpoint}/accountlogin/' | grep -oP 'name="csrfmiddlewaretoken" value="\\K[^"]+')" \ + -d "login=admin@localhost" \ + -d "password=admin" \ + {endpoint}/accountlogin/ + """) + + test_pdf = "${pkgs.pdfding.src}/pdfding/pdf/tests/data/dummy.pdf" + + # upload + machine.succeed(f""" + csrf_token=$(curl -f -b {cookie_jar} -c {cookie_jar} -s "{endpoint}/pdf/add" | grep -oP 'name="csrfmiddlewaretoken" value="\\K[^"]+') + curl -f \ + -c {cookie_jar} -b {cookie_jar} \ + -F "notes=" \ + -F "tag_string=" \ + -F "description=" \ + -F "collection=1" \ + -F "use_file_name=on" \ + -F "name=test-upload" \ + -F "file=@{test_pdf};type=application/pdf" \ + -F "csrfmiddlewaretoken=$csrf_token" \ + -H "Referer: {endpoint}/pdf/add" \ + {endpoint}/pdf/add + """) + + # download + machine.succeed(f""" + pdf_id=$(curl -f -b {cookie_jar} -s "{endpoint}/pdf/" | grep -oP 'href="/pdf/view/\\K[^"]+' | head -1) + curl -f -b {cookie_jar} -o /tmp/downloaded.pdf "{endpoint}/pdf/download/$pdf_id" + """) + + # verify pdf in user's dir + machine.succeed("test -f ${stateDir}/media/1/default/pdf/*.pdf") + + # verify one entry exists in sqlite db + machine.succeed("sqlite3 ${stateDir}/db/db.sqlite3 'SELECT COUNT(*) FROM pdf_pdf' | grep -q '^1$'") + + machine.succeed(""" + source ${pdfding-s3-keys} + mc alias set garage --api S3v4 \ + http://[::]:3900 $BACKUP_ACCESS_KEY $BACKUP_SECRET_KEY + """) + + print(machine.succeed("realpath /run/current-system/sw/bin/backup-immediate")) + print(machine.succeed("backup-immediate")) + + # verify the backup s3 service has that pdf file + machine.wait_until_succeeds("mc stat garage/pdfding-bucket/1/default/pdf/dummy.pdf", timeout=10) + print(machine.succeed("mc stat garage/pdfding-bucket/1/default/pdf/dummy.pdf")) + ''; + + # Debug interactively with: + # - nix run .#nixosTests.pdfding.s3.driverInteractive -L + # - start_all() / run_tests() + interactive.sshBackdoor.enable = true; # ssh -o User=root vsock%3 + interactive.nodes.machine = + { config, ... }: + let + ports = [ + config.services.pdfding.port + 3901 + 3902 + ]; + in + { + # not needed, only for manual interactive debugging + virtualisation.memorySize = 4096; + environment.systemPackages = with pkgs; [ + htop + ]; + + virtualisation.forwardPorts = map (port: { + from = "host"; + host.port = port; + guest.port = port; + }) ports; + + # forwarded ports need to be accessible + networking.firewall.allowedTCPPorts = ports; + }; + + meta.maintainers = lib.teams.ngi.members; +} diff --git a/pkgs/applications/editors/jetbrains/ides/pycharm-oss.nix b/pkgs/applications/editors/jetbrains/ides/pycharm-oss.nix index f76b7a9f3246..bdb24b9b5aa4 100644 --- a/pkgs/applications/editors/jetbrains/ides/pycharm-oss.nix +++ b/pkgs/applications/editors/jetbrains/ides/pycharm-oss.nix @@ -7,11 +7,11 @@ let src = mkJetBrainsSource { # update-script-start: source-args - version = "2025.3.1.1"; - buildNumber = "253.29346.308"; + version = "2025.3.2.1"; + buildNumber = "253.30387.173"; buildType = "pycharm"; - ideaHash = "sha256-sx/yLkMsjOQWAMJztoI0T6xQ66pnjnQejgc85PGod2s="; - androidHash = "sha256-quMCzrjCKIo1pkzw4PWewAs5tz7A2aq7TI5zd+QaaUY="; + ideaHash = "sha256-13da6xCaZfS7zwesqGJpwsKfUK61Vi7gtMgPKtve43U="; + androidHash = "sha256-FA/6ry1M7+RISJL+2SR9QkDvAGJAkXhFMh9YoOEU5nk="; jpsHash = "sha256-iHpt926BDLNUwHRXvkqVgwlWiLo1qSZEaGeJcS0Fjmk="; restarterHash = "sha256-acCmC58URd6p9uKZrm0qWgdZkqu9yqCs23v8qgxV2Ag="; mvnDeps = ../source/pycharm_maven_artefacts.json; diff --git a/pkgs/applications/editors/jetbrains/source/pycharm_maven_artefacts.json b/pkgs/applications/editors/jetbrains/source/pycharm_maven_artefacts.json index c6913efcf087..28dd0e00f244 100644 --- a/pkgs/applications/editors/jetbrains/source/pycharm_maven_artefacts.json +++ b/pkgs/applications/editors/jetbrains/source/pycharm_maven_artefacts.json @@ -89,6 +89,16 @@ "hash": "d9c0813e00ff06888f30008098a3938a348863ee65c0b7f9a6aa524bb10982bf", "path": "ai/grazie/model/model-common-jvm/0.8.74/model-common-jvm-0.8.74.jar" }, + { + "url": "ai/grazie/model/model-common-jvm/0.8.74/model-common-jvm-0.8.74.jar", + "hash": "d9c0813e00ff06888f30008098a3938a348863ee65c0b7f9a6aa524bb10982bf", + "path": "ai/grazie/model/model-common-jvm/0.8.74/model-common-jvm-0.8.74.jar" + }, + { + "url": "ai/grazie/model/model-def-jvm/0.8.74/model-def-jvm-0.8.74.jar", + "hash": "d79871ceab86ee827ee1f1f069ffccb5da3fba05b7cd9829b4deca5936126fef", + "path": "ai/grazie/model/model-def-jvm/0.8.74/model-def-jvm-0.8.74.jar" + }, { "url": "ai/grazie/model/model-def-jvm/0.8.74/model-def-jvm-0.8.74.jar", "hash": "d79871ceab86ee827ee1f1f069ffccb5da3fba05b7cd9829b4deca5936126fef", @@ -119,6 +129,11 @@ "hash": "99cac5b6a3d8cd6e32333bb88c1aead22c7360a1471ea4a546425b822546f57f", "path": "ai/grazie/model/model-gec-jvm/0.8.74/model-gec-jvm-0.8.74.jar" }, + { + "url": "ai/grazie/model/model-gec-jvm/0.8.74/model-gec-jvm-0.8.74.jar", + "hash": "99cac5b6a3d8cd6e32333bb88c1aead22c7360a1471ea4a546425b822546f57f", + "path": "ai/grazie/model/model-gec-jvm/0.8.74/model-gec-jvm-0.8.74.jar" + }, { "url": "ai/grazie/model/model-indexing-jvm/0.8.74/model-indexing-jvm-0.8.74.jar", "hash": "664721a747bad766340aed882e265f01be3575a4d4800b003df35cbd9c698f6c", @@ -144,6 +159,11 @@ "hash": "f2c12ec41507a192df5740a91ef004b6587e7a3d542741d010ff099ff523246f", "path": "ai/grazie/model/model-ner-jvm/0.8.74/model-ner-jvm-0.8.74.jar" }, + { + "url": "ai/grazie/model/model-ner-jvm/0.8.74/model-ner-jvm-0.8.74.jar", + "hash": "f2c12ec41507a192df5740a91ef004b6587e7a3d542741d010ff099ff523246f", + "path": "ai/grazie/model/model-ner-jvm/0.8.74/model-ner-jvm-0.8.74.jar" + }, { "url": "ai/grazie/model/model-nlc-jvm/0.8.74/model-nlc-jvm-0.8.74.jar", "hash": "84f506f92fa7f48e222215ce53ad898aa2f37f5df154a0679c3750976bac001b", @@ -194,6 +214,11 @@ "hash": "fa7db0b8e4cad3a8951c91d6d09c2c6baf8ae9008b0b59d76158cf2282797caa", "path": "ai/grazie/model/model-text-jvm/0.8.74/model-text-jvm-0.8.74.jar" }, + { + "url": "ai/grazie/model/model-text-jvm/0.8.74/model-text-jvm-0.8.74.jar", + "hash": "fa7db0b8e4cad3a8951c91d6d09c2c6baf8ae9008b0b59d76158cf2282797caa", + "path": "ai/grazie/model/model-text-jvm/0.8.74/model-text-jvm-0.8.74.jar" + }, { "url": "ai/grazie/model/model-tone-formality-jvm/0.8.74/model-tone-formality-jvm-0.8.74.jar", "hash": "5596f5406cc20b0f0eb1a95733a39924eff44d443bc9b9d49687268d636f59d0", @@ -204,6 +229,11 @@ "hash": "ed6ca179c61ad44fd3a0b0401f6f25bfef680e3a3e704e83249ce5c26dc1a505", "path": "ai/grazie/model/model-tree-jvm/0.8.74/model-tree-jvm-0.8.74.jar" }, + { + "url": "ai/grazie/model/model-tree-jvm/0.8.74/model-tree-jvm-0.8.74.jar", + "hash": "ed6ca179c61ad44fd3a0b0401f6f25bfef680e3a3e704e83249ce5c26dc1a505", + "path": "ai/grazie/model/model-tree-jvm/0.8.74/model-tree-jvm-0.8.74.jar" + }, { "url": "ai/grazie/model/swagger-annotations-jvm/0.8.74/swagger-annotations-jvm-0.8.74.jar", "hash": "e3c8ebc2e1d06fd9efece9fed214d80e16416b6630567d891e200dcad2f07144", @@ -219,6 +249,16 @@ "hash": "e3c8ebc2e1d06fd9efece9fed214d80e16416b6630567d891e200dcad2f07144", "path": "ai/grazie/model/swagger-annotations-jvm/0.8.74/swagger-annotations-jvm-0.8.74.jar" }, + { + "url": "ai/grazie/model/swagger-annotations-jvm/0.8.74/swagger-annotations-jvm-0.8.74.jar", + "hash": "e3c8ebc2e1d06fd9efece9fed214d80e16416b6630567d891e200dcad2f07144", + "path": "ai/grazie/model/swagger-annotations-jvm/0.8.74/swagger-annotations-jvm-0.8.74.jar" + }, + { + "url": "ai/grazie/nlp/nlp-common-jvm/0.8.74/nlp-common-jvm-0.8.74.jar", + "hash": "fae2d16393c9b42f5808021204f0989a27c825a72128eef943e9ebe1702d5ea1", + "path": "ai/grazie/nlp/nlp-common-jvm/0.8.74/nlp-common-jvm-0.8.74.jar" + }, { "url": "ai/grazie/nlp/nlp-common-jvm/0.8.74/nlp-common-jvm-0.8.74.jar", "hash": "fae2d16393c9b42f5808021204f0989a27c825a72128eef943e9ebe1702d5ea1", @@ -234,11 +274,26 @@ "hash": "887f672cc8b16ad9ca2a660bcd46d32cfa5fa6a726eca23c61ff5eceaab4af35", "path": "ai/grazie/nlp/nlp-detect-jvm/0.8.74/nlp-detect-jvm-0.8.74.jar" }, + { + "url": "ai/grazie/nlp/nlp-detect-jvm/0.8.74/nlp-detect-jvm-0.8.74.jar", + "hash": "887f672cc8b16ad9ca2a660bcd46d32cfa5fa6a726eca23c61ff5eceaab4af35", + "path": "ai/grazie/nlp/nlp-detect-jvm/0.8.74/nlp-detect-jvm-0.8.74.jar" + }, { "url": "ai/grazie/nlp/nlp-langs-jvm/0.8.74/nlp-langs-jvm-0.8.74.jar", "hash": "8619419456eb300942b819ce1046d7f6aa170efe892321a2d9e25ef7df612331", "path": "ai/grazie/nlp/nlp-langs-jvm/0.8.74/nlp-langs-jvm-0.8.74.jar" }, + { + "url": "ai/grazie/nlp/nlp-langs-jvm/0.8.74/nlp-langs-jvm-0.8.74.jar", + "hash": "8619419456eb300942b819ce1046d7f6aa170efe892321a2d9e25ef7df612331", + "path": "ai/grazie/nlp/nlp-langs-jvm/0.8.74/nlp-langs-jvm-0.8.74.jar" + }, + { + "url": "ai/grazie/nlp/nlp-patterns-jvm/0.8.74/nlp-patterns-jvm-0.8.74.jar", + "hash": "97b03ed0b5c87cb486c64b1ed6574e05be2f3331d4ac394c85f35c24cb7a0f44", + "path": "ai/grazie/nlp/nlp-patterns-jvm/0.8.74/nlp-patterns-jvm-0.8.74.jar" + }, { "url": "ai/grazie/nlp/nlp-patterns-jvm/0.8.74/nlp-patterns-jvm-0.8.74.jar", "hash": "97b03ed0b5c87cb486c64b1ed6574e05be2f3331d4ac394c85f35c24cb7a0f44", @@ -249,11 +304,31 @@ "hash": "ea4cd2ec177029c88ab81e3b120d2c9aacc01997dc2ecc9ada5e22de9f10d723", "path": "ai/grazie/nlp/nlp-phonetics-jvm/0.8.74/nlp-phonetics-jvm-0.8.74.jar" }, + { + "url": "ai/grazie/nlp/nlp-phonetics-jvm/0.8.74/nlp-phonetics-jvm-0.8.74.jar", + "hash": "ea4cd2ec177029c88ab81e3b120d2c9aacc01997dc2ecc9ada5e22de9f10d723", + "path": "ai/grazie/nlp/nlp-phonetics-jvm/0.8.74/nlp-phonetics-jvm-0.8.74.jar" + }, { "url": "ai/grazie/nlp/nlp-similarity-jvm/0.8.74/nlp-similarity-jvm-0.8.74.jar", "hash": "0fbf476e73762b15509264e31e282bfb1a63342a8e0c6921d88c24c4eaf3c2a3", "path": "ai/grazie/nlp/nlp-similarity-jvm/0.8.74/nlp-similarity-jvm-0.8.74.jar" }, + { + "url": "ai/grazie/nlp/nlp-similarity-jvm/0.8.74/nlp-similarity-jvm-0.8.74.jar", + "hash": "0fbf476e73762b15509264e31e282bfb1a63342a8e0c6921d88c24c4eaf3c2a3", + "path": "ai/grazie/nlp/nlp-similarity-jvm/0.8.74/nlp-similarity-jvm-0.8.74.jar" + }, + { + "url": "ai/grazie/nlp/nlp-similarity-jvm/0.8.74/nlp-similarity-jvm-0.8.74.jar", + "hash": "0fbf476e73762b15509264e31e282bfb1a63342a8e0c6921d88c24c4eaf3c2a3", + "path": "ai/grazie/nlp/nlp-similarity-jvm/0.8.74/nlp-similarity-jvm-0.8.74.jar" + }, + { + "url": "ai/grazie/nlp/nlp-tokenizer-jvm/0.8.74/nlp-tokenizer-jvm-0.8.74.jar", + "hash": "b45bd05287973a6e30611933a5aa285d2115ea2f16545108f9285922dd71ca90", + "path": "ai/grazie/nlp/nlp-tokenizer-jvm/0.8.74/nlp-tokenizer-jvm-0.8.74.jar" + }, { "url": "ai/grazie/nlp/nlp-tokenizer-jvm/0.8.74/nlp-tokenizer-jvm-0.8.74.jar", "hash": "b45bd05287973a6e30611933a5aa285d2115ea2f16545108f9285922dd71ca90", @@ -270,24 +345,29 @@ "path": "ai/grazie/spell/gec-spell-engine-local/0.8.74/gec-spell-engine-local-0.8.74.jar" }, { - "url": "ai/grazie/spell/hunspell-de/0.2.318/hunspell-de-0.2.318.jar", - "hash": "4532f6939496a445fcb414851775da773c0ec267578843eac780f4471de091a4", - "path": "ai/grazie/spell/hunspell-de/0.2.318/hunspell-de-0.2.318.jar" + "url": "ai/grazie/spell/gec-spell-engine-local/0.8.74/gec-spell-engine-local-0.8.74.jar", + "hash": "9bc5a572406da07a704d5e71e662dd183dfe9385e7c06cab1a49debc5a355638", + "path": "ai/grazie/spell/gec-spell-engine-local/0.8.74/gec-spell-engine-local-0.8.74.jar" }, { - "url": "ai/grazie/spell/hunspell-en/0.2.318/hunspell-en-0.2.318.jar", - "hash": "2156335fe8fdc263beae3912178385c7ef7ea6472fafd429177479d260b20f80", - "path": "ai/grazie/spell/hunspell-en/0.2.318/hunspell-en-0.2.318.jar" + "url": "ai/grazie/spell/hunspell-de/0.2.327/hunspell-de-0.2.327.jar", + "hash": "41ace2052e81a529fdaca24d9ac47a1323d7ac91a4e764481ef4b84477483b42", + "path": "ai/grazie/spell/hunspell-de/0.2.327/hunspell-de-0.2.327.jar" }, { - "url": "ai/grazie/spell/hunspell-ru/0.2.318/hunspell-ru-0.2.318.jar", - "hash": "8774adc464d22899bb61621f9d8ed4900ba131163e3ff64b8b835f56736d8c14", - "path": "ai/grazie/spell/hunspell-ru/0.2.318/hunspell-ru-0.2.318.jar" + "url": "ai/grazie/spell/hunspell-en/0.2.327/hunspell-en-0.2.327.jar", + "hash": "474f2837876c3d31ceccd1fad2e28336553ab21472910cd2654aaa3373a3d031", + "path": "ai/grazie/spell/hunspell-en/0.2.327/hunspell-en-0.2.327.jar" }, { - "url": "ai/grazie/spell/hunspell-uk/0.2.318/hunspell-uk-0.2.318.jar", - "hash": "a1366fa763f5da5c436c6a94623acdd53370ee59ecc16652dda0a544f468a2bc", - "path": "ai/grazie/spell/hunspell-uk/0.2.318/hunspell-uk-0.2.318.jar" + "url": "ai/grazie/spell/hunspell-ru/0.2.327/hunspell-ru-0.2.327.jar", + "hash": "8c2b71691fbbc75cd6868aa6e7948f637470ba8b559cf6c98cacfe6b024f3513", + "path": "ai/grazie/spell/hunspell-ru/0.2.327/hunspell-ru-0.2.327.jar" + }, + { + "url": "ai/grazie/spell/hunspell-uk/0.2.327/hunspell-uk-0.2.327.jar", + "hash": "155565ea33fdac34ffc3117bf645493a245a655eb2030b40f5f532348e72a81a", + "path": "ai/grazie/spell/hunspell-uk/0.2.327/hunspell-uk-0.2.327.jar" }, { "url": "ai/grazie/tasks-library/tasks-library-api-jvm/0.4.14/tasks-library-api-jvm-0.4.14.jar", @@ -344,6 +424,11 @@ "hash": "e1cc87b2a052ce4e4124abc6cd6d9c14dbc9e3319f854eb5829d44af860cb7f6", "path": "ai/grazie/utils/utils-common-jvm/0.8.74/utils-common-jvm-0.8.74.jar" }, + { + "url": "ai/grazie/utils/utils-common-jvm/0.8.74/utils-common-jvm-0.8.74.jar", + "hash": "e1cc87b2a052ce4e4124abc6cd6d9c14dbc9e3319f854eb5829d44af860cb7f6", + "path": "ai/grazie/utils/utils-common-jvm/0.8.74/utils-common-jvm-0.8.74.jar" + }, { "url": "ai/grazie/utils/utils-jwt-jvm/0.8.74/utils-jwt-jvm-0.8.74.jar", "hash": "23c6617feff191e38ebc1be8b17c23e703373c5d68dc894875a228816d5fa6cf", @@ -369,6 +454,11 @@ "hash": "ce5f571e5eae530cc4835d99977181a545bc07c85755b5b73a1bfb1a669f40d1", "path": "ai/grazie/utils/utils-multiplatform-jvm/0.8.74/utils-multiplatform-jvm-0.8.74.jar" }, + { + "url": "ai/grazie/utils/utils-multiplatform-jvm/0.8.74/utils-multiplatform-jvm-0.8.74.jar", + "hash": "ce5f571e5eae530cc4835d99977181a545bc07c85755b5b73a1bfb1a669f40d1", + "path": "ai/grazie/utils/utils-multiplatform-jvm/0.8.74/utils-multiplatform-jvm-0.8.74.jar" + }, { "url": "androidx/annotation/annotation-jvm/1.9.1/annotation-jvm-1.9.1.jar", "hash": "1e343917ebf27ba96fe4dc52b1cad7fd32b738fbc6355bb6cd5b3b305d7212d0", @@ -390,24 +480,24 @@ "path": "androidx/collection/collection-jvm/1.5.0/collection-jvm-1.5.0.jar" }, { - "url": "androidx/compose/runtime/runtime-annotation-jvm/1.10.0-beta01/runtime-annotation-jvm-1.10.0-beta01.jar", + "url": "androidx/compose/runtime/runtime-annotation-jvm/1.10.0-rc01/runtime-annotation-jvm-1.10.0-rc01.jar", "hash": "f89dda8bcd73876d0fc16568844b2bd79443ee7ca62810874d25c7dcaa394bd6", - "path": "androidx/compose/runtime/runtime-annotation-jvm/1.10.0-beta01/runtime-annotation-jvm-1.10.0-beta01.jar" + "path": "androidx/compose/runtime/runtime-annotation-jvm/1.10.0-rc01/runtime-annotation-jvm-1.10.0-rc01.jar" }, { - "url": "androidx/compose/runtime/runtime-desktop/1.10.0-beta01/runtime-desktop-1.10.0-beta01.jar", - "hash": "d35610a718146c6623f1dc99bb03d33080da1d139325c7d18c81649061085353", - "path": "androidx/compose/runtime/runtime-desktop/1.10.0-beta01/runtime-desktop-1.10.0-beta01.jar" + "url": "androidx/compose/runtime/runtime-desktop/1.10.0-rc01/runtime-desktop-1.10.0-rc01.jar", + "hash": "b195860542f612de0512b54a75353e0f6d58815f0c9530a03bc5b0e734474829", + "path": "androidx/compose/runtime/runtime-desktop/1.10.0-rc01/runtime-desktop-1.10.0-rc01.jar" }, { - "url": "androidx/compose/runtime/runtime-retain-desktop/1.10.0-beta01/runtime-retain-desktop-1.10.0-beta01.jar", - "hash": "e673e7bd810699399fe967675e8f24f3502ef8c9a967ee695b79d4649ef31908", - "path": "androidx/compose/runtime/runtime-retain-desktop/1.10.0-beta01/runtime-retain-desktop-1.10.0-beta01.jar" + "url": "androidx/compose/runtime/runtime-retain-desktop/1.10.0-rc01/runtime-retain-desktop-1.10.0-rc01.jar", + "hash": "463ee9c1e93d1b913458bfecc96d128a3574a802f41c8c9781d7320c3b55ed8b", + "path": "androidx/compose/runtime/runtime-retain-desktop/1.10.0-rc01/runtime-retain-desktop-1.10.0-rc01.jar" }, { - "url": "androidx/compose/runtime/runtime-saveable-desktop/1.10.0-beta01/runtime-saveable-desktop-1.10.0-beta01.jar", - "hash": "12f491f7f5b36304d852e373231f06a3057ea52e369f380044ebc23097dfc2c5", - "path": "androidx/compose/runtime/runtime-saveable-desktop/1.10.0-beta01/runtime-saveable-desktop-1.10.0-beta01.jar" + "url": "androidx/compose/runtime/runtime-saveable-desktop/1.10.0-rc01/runtime-saveable-desktop-1.10.0-rc01.jar", + "hash": "ef24e24cc8c9c3b9871007fbdf589ed9aaaecf95979a66b7484806f9f0e24d91", + "path": "androidx/compose/runtime/runtime-saveable-desktop/1.10.0-rc01/runtime-saveable-desktop-1.10.0-rc01.jar" }, { "url": "androidx/lifecycle/lifecycle-common-jvm/2.9.4/lifecycle-common-jvm-2.9.4.jar", @@ -435,9 +525,9 @@ "path": "androidx/lifecycle/lifecycle-viewmodel-savedstate-desktop/2.9.4/lifecycle-viewmodel-savedstate-desktop-2.9.4.jar" }, { - "url": "androidx/navigationevent/navigationevent-desktop/1.0.0-beta01/navigationevent-desktop-1.0.0-beta01.jar", + "url": "androidx/navigationevent/navigationevent-desktop/1.0.0/navigationevent-desktop-1.0.0.jar", "hash": "8283896d87f6d3e21dd5b12785e6c7ca3b7f15cbc4d0391b20ad23e54b520515", - "path": "androidx/navigationevent/navigationevent-desktop/1.0.0-beta01/navigationevent-desktop-1.0.0-beta01.jar" + "path": "androidx/navigationevent/navigationevent-desktop/1.0.0/navigationevent-desktop-1.0.0.jar" }, { "url": "androidx/savedstate/savedstate-compose-desktop/1.3.2/savedstate-compose-desktop-1.3.2.jar", @@ -554,6 +644,11 @@ "hash": "deeac157c8de6822878d85d0c7bc8467a19cc8484d37788f7804f039dde280b1", "path": "com/beust/jcommander/1.82/jcommander-1.82.jar" }, + { + "url": "com/carrotsearch/hppc/0.8.2/hppc-0.8.2.jar", + "hash": "97e45d4e0106d98dd3e76d9610e0bd3895409bd1ab1ed189855b05af0571025e", + "path": "com/carrotsearch/hppc/0.8.2/hppc-0.8.2.jar" + }, { "url": "com/carrotsearch/hppc/0.9.1/hppc-0.9.1.jar", "hash": "d58706a2be60c972452550cdba79870bf481447c50eb718308e33a6ba45c65ec", @@ -579,16 +674,31 @@ "hash": "28829eebb36863b058108fa1b9b8b5cfb94c1871346e4a4f73e69e1fe0a5f0f6", "path": "com/fasterxml/aalto-xml/1.3.3/aalto-xml-1.3.3.jar" }, + { + "url": "com/fasterxml/jackson/core/jackson-annotations/2.18.0/jackson-annotations-2.18.0.jar", + "hash": "a09367d2eeb526873abf737ff754c5085f82073a382ee72c3bbe15412217671f", + "path": "com/fasterxml/jackson/core/jackson-annotations/2.18.0/jackson-annotations-2.18.0.jar" + }, { "url": "com/fasterxml/jackson/core/jackson-annotations/2.19.0/jackson-annotations-2.19.0.jar", "hash": "ead60e9cac0e42b57092b9e2d087ff43536e9477d4486ba393037a8cc156cda7", "path": "com/fasterxml/jackson/core/jackson-annotations/2.19.0/jackson-annotations-2.19.0.jar" }, + { + "url": "com/fasterxml/jackson/core/jackson-core/2.18.0/jackson-core-2.18.0.jar", + "hash": "215bbd7c8fd65be504cb92ff3aa1c4b790fc7b14cca72f4546aac4143c101bb5", + "path": "com/fasterxml/jackson/core/jackson-core/2.18.0/jackson-core-2.18.0.jar" + }, { "url": "com/fasterxml/jackson/core/jackson-core/2.19.0/jackson-core-2.19.0.jar", "hash": "da8e859bac94874528116a25f20c68560e4287acbf27628711b8a4f96b028430", "path": "com/fasterxml/jackson/core/jackson-core/2.19.0/jackson-core-2.19.0.jar" }, + { + "url": "com/fasterxml/jackson/core/jackson-databind/2.18.0/jackson-databind-2.18.0.jar", + "hash": "2bf1927b7f3224683ed0157a1ec3b0ede75179da3e597d78c572d56ed00f9f3c", + "path": "com/fasterxml/jackson/core/jackson-databind/2.18.0/jackson-databind-2.18.0.jar" + }, { "url": "com/fasterxml/jackson/core/jackson-databind/2.19.0/jackson-databind-2.19.0.jar", "hash": "ceda311f476c3b18e1d2b240c94e2dcb9c8d44e70f8afa9facab88bac4ddc03a", @@ -709,6 +819,16 @@ "hash": "da76eba4122036f4372008564b0db192c8649a57c7a896ae565a1adfcc31f0b0", "path": "com/github/weisj/jsvg/1.3.0-jb.8/jsvg-1.3.0-jb.8.jar" }, + { + "url": "com/gitlab/dumonts/hunspell/2.1.2/hunspell-2.1.2.jar", + "hash": "973329ae3a43d35dacd618b93a5773a0a9210c8bf2b58a6b2d2a1e1c9f0389e9", + "path": "com/gitlab/dumonts/hunspell/2.1.2/hunspell-2.1.2.jar" + }, + { + "url": "com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar", + "hash": "ba734e1e84c09d615af6a09d33034b4f0442f8772dec120efb376d86a565ae15", + "path": "com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar" + }, { "url": "com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar", "hash": "ba734e1e84c09d615af6a09d33034b4f0442f8772dec120efb376d86a565ae15", @@ -719,6 +839,16 @@ "hash": "0b27938f3d28ccd6884945d7e4f75f4e26a677bbf3cd39bbcb694f130f782aa9", "path": "com/google/api/grpc/proto-google-common-protos/2.51.0/proto-google-common-protos-2.51.0.jar" }, + { + "url": "com/google/api/grpc/proto-google-common-protos/2.59.2/proto-google-common-protos-2.59.2.jar", + "hash": "9407f50aef5d1cb12675c170fa64ee216023eefca49f8f5eac45124f23a6cb29", + "path": "com/google/api/grpc/proto-google-common-protos/2.59.2/proto-google-common-protos-2.59.2.jar" + }, + { + "url": "com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar", + "hash": "766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7", + "path": "com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar" + }, { "url": "com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar", "hash": "766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7", @@ -749,6 +879,11 @@ "hash": "766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7", "path": "com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar" }, + { + "url": "com/google/code/gson/gson/2.11.0/gson-2.11.0.jar", + "hash": "57928d6e5a6edeb2abd3770a8f95ba44dce45f3b23b7a9dc2b309c581552a78b", + "path": "com/google/code/gson/gson/2.11.0/gson-2.11.0.jar" + }, { "url": "com/google/code/gson/gson/2.13.1/gson-2.13.1.jar", "hash": "94855942d4992f112946d3de1c334e709237b8126d8130bf07807c018a4a2120", @@ -784,6 +919,16 @@ "hash": "03d0329547c13da9e17c634d1049ea2ead093925e290567e1a364fd6b1fc7ff8", "path": "com/google/errorprone/error_prone_annotations/2.1.3/error_prone_annotations-2.1.3.jar" }, + { + "url": "com/google/errorprone/error_prone_annotations/2.28.0/error_prone_annotations-2.28.0.jar", + "hash": "f3fc8a3a0a4020706a373b00e7f57c2512dd26d1f83d28c7d38768f8682b231e", + "path": "com/google/errorprone/error_prone_annotations/2.28.0/error_prone_annotations-2.28.0.jar" + }, + { + "url": "com/google/guava/failureaccess/1.0.2/failureaccess-1.0.2.jar", + "hash": "8a8f81cf9b359e3f6dfa691a1e776985c061ef2f223c9b2c80753e1b458e8064", + "path": "com/google/guava/failureaccess/1.0.2/failureaccess-1.0.2.jar" + }, { "url": "com/google/guava/failureaccess/1.0.3/failureaccess-1.0.3.jar", "hash": "cbfc3906b19b8f55dd7cfd6dfe0aa4532e834250d7f080bd8d211a3e246b59cb", @@ -839,11 +984,21 @@ "hash": "f7b8f8fed176b9cf6831b98cb07320d7fbe91d99b29999f752c3821dfe45bdc8", "path": "com/google/guava/guava/25.1-android/guava-25.1-android.jar" }, + { + "url": "com/google/guava/guava/33.3.1-jre/guava-33.3.1-jre.jar", + "hash": "4bf0e2c5af8e4525c96e8fde17a4f7307f97f8478f11c4c8e35a0e3298ae4e90", + "path": "com/google/guava/guava/33.3.1-jre/guava-33.3.1-jre.jar" + }, { "url": "com/google/guava/guava/33.4.8-jre/guava-33.4.8-jre.jar", "hash": "f3d7f57f67fd622f4d468dfdd692b3a5e3909246c28017ac3263405f0fe617ed", "path": "com/google/guava/guava/33.4.8-jre/guava-33.4.8-jre.jar" }, + { + "url": "com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar", + "hash": "b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99", + "path": "com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar" + }, { "url": "com/google/inject/guice/4.0/guice-4.0-no_aop.jar", "hash": "19393891be59b6feaf7e308bd8a3843b4e552c10cdb687ebffd7695634a250a8", @@ -914,6 +1069,11 @@ "hash": "2994a7eb78f2710bd3d3bfb639b2c94e219cedac0d4d084d516e78c16dddecf6", "path": "com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar" }, + { + "url": "com/google/j2objc/j2objc-annotations/3.0.0/j2objc-annotations-3.0.0.jar", + "hash": "88241573467ddca44ffd4d74aa04c2bbfd11bf7c17e0c342c94c9de7a70a7c64", + "path": "com/google/j2objc/j2objc-annotations/3.0.0/j2objc-annotations-3.0.0.jar" + }, { "url": "com/google/jimfs/jimfs/1.1/jimfs-1.1.jar", "hash": "c4828e28d7c0a930af9387510b3bada7daa5c04d7c25a75c7b8b081f1c257ddd", @@ -929,6 +1089,11 @@ "hash": "6ba90d0d081c03c5c03d2d41497f75a183da7fb23cc2691f7b782dea77f73d21", "path": "com/google/protobuf/protobuf-java/3.24.4-jb.2/protobuf-java-3.24.4-jb.2.jar" }, + { + "url": "com/google/protobuf/protobuf-java/3.25.8/protobuf-java-3.25.8.jar", + "hash": "72bdb32eb38cafb7dcd288262c29a34d57cba2e19101af9685155ba8c0a56008", + "path": "com/google/protobuf/protobuf-java/3.25.8/protobuf-java-3.25.8.jar" + }, { "url": "com/google/truth/truth/0.42/truth-0.42.jar", "hash": "dd652bdf0c4427c59848ac0340fd6b6d20c2cbfaa3c569a8366604dbcda5214c", @@ -969,6 +1134,11 @@ "hash": "2c8225cd73b2394382b9d0016d9278a00291562224a594eef00c00a6ac50bc04", "path": "com/h2database/h2-mvstore/2.3.232/h2-mvstore-2.3.232.jar" }, + { + "url": "com/hankcs/aho-corasick-double-array-trie/1.2.2/aho-corasick-double-array-trie-1.2.2.jar", + "hash": "cbc79badb1e3d18dd18fdb77850da17d4566371c955e5ae85654b770c6e17858", + "path": "com/hankcs/aho-corasick-double-array-trie/1.2.2/aho-corasick-double-array-trie-1.2.2.jar" + }, { "url": "com/hankcs/aho-corasick-double-array-trie/1.2.3/aho-corasick-double-array-trie-1.2.3.jar", "hash": "564f0fc690d50702a313510b9a72e9505ace6e81108e84f65de4feb0da244eb8", @@ -994,6 +1164,11 @@ "hash": "b3640b9f416a4411fd33c59abbeea8fd57d024c23e1819bf9673220a97499fe3", "path": "com/ibm/icu/icu4j/77.1/icu4j-77.1.jar" }, + { + "url": "com/intellij/annotations/12.0/annotations-12.0.jar", + "hash": "f8ab13b14be080fe2f617f90e55599760e4a1b4deeea5c595df63d0d6375ed6d", + "path": "com/intellij/annotations/12.0/annotations-12.0.jar" + }, { "url": "com/intellij/platform/kotlinx-coroutines-core-jvm/1.10.1-intellij-5/kotlinx-coroutines-core-jvm-1.10.1-intellij-5.jar", "hash": "e9b7e2b1262fd02fe63b08f636903ff36f453f08ae52190c78e3cbf19d777e42", @@ -1060,29 +1235,14 @@ "path": "com/jetbrains/format-ripper/format-ripper/1.2.0/format-ripper-1.2.0.jar" }, { - "url": "com/jetbrains/fus/reporting/ap-validation/171/ap-validation-171.jar", - "hash": "3c8c66663148ac5d2a953cb048a1939b96be543d4612c23e030a7c6fd20390cd", - "path": "com/jetbrains/fus/reporting/ap-validation/171/ap-validation-171.jar" + "url": "com/jetbrains/fus/reporting/ap-validation-all/1.0.205/ap-validation-all-1.0.205.jar", + "hash": "9921601d14966cf0f9231fd2b92ba9a5b65b02c92a3a9ebc2049c8b2710a2eea", + "path": "com/jetbrains/fus/reporting/ap-validation-all/1.0.205/ap-validation-all-1.0.205.jar" }, { - "url": "com/jetbrains/fus/reporting/configuration/171/configuration-171.jar", - "hash": "f138ed43c55cb90192518293a5b46a135221c898b2b05d6c0648645b3d0fac64", - "path": "com/jetbrains/fus/reporting/configuration/171/configuration-171.jar" - }, - { - "url": "com/jetbrains/fus/reporting/connection-client/171/connection-client-171.jar", - "hash": "ca8ebd17e33f333647b905d43fc8cce2ad16abd22bfa99b75cb8a499894648b8", - "path": "com/jetbrains/fus/reporting/connection-client/171/connection-client-171.jar" - }, - { - "url": "com/jetbrains/fus/reporting/model/171/model-171.jar", - "hash": "8aa0be7e7c1a46ef0827d98c026d328a6f9be27aed79b36692a7f38bacd41a6a", - "path": "com/jetbrains/fus/reporting/model/171/model-171.jar" - }, - { - "url": "com/jetbrains/fus/reporting/serialization-kotlin/171/serialization-kotlin-171.jar", - "hash": "83380929b70dc8e25db327be8680438f3d80087962a88f4dcf061c919ba2fc32", - "path": "com/jetbrains/fus/reporting/serialization-kotlin/171/serialization-kotlin-171.jar" + "url": "com/jetbrains/fus/reporting/api/1.0.205/api-1.0.205.jar", + "hash": "bd122fb2110ec009cf3143aef5e2d473611b5e015c0d2701686eb94200e538ca", + "path": "com/jetbrains/fus/reporting/api/1.0.205/api-1.0.205.jar" }, { "url": "com/jetbrains/infra/download-pgp-verifier/1.1.4/download-pgp-verifier-1.1.4.jar", @@ -1189,6 +1349,11 @@ "hash": "81ad7bfe7e59de4cd047eacf24f979ec47db40eac6afc76e6f10288b456b14b1", "path": "com/networknt/json-schema-validator/1.3.1/json-schema-validator-1.3.1.jar" }, + { + "url": "com/optimaize/languagedetector/language-detector/0.6/language-detector-0.6.jar", + "hash": "f53ecc3d71da9ebc82edd10fb35638d32e8b9d849273dd717a021eca02f2278d", + "path": "com/optimaize/languagedetector/language-detector/0.6/language-detector-0.6.jar" + }, { "url": "com/pngencoder/pngencoder/0.14.0/pngencoder-0.14.0.jar", "hash": "79bf02e8f49833dc3433ae1554999dd375075e5ab13447fc1e558857b51baecc", @@ -1279,6 +1444,11 @@ "hash": "02156773e4ae9d048d14a56ad35d644bee9f1052a791d072df3ded3c656e6e1a", "path": "com/sun/activation/jakarta.activation/1.2.2/jakarta.activation-1.2.2.jar" }, + { + "url": "com/sun/activation/jakarta.activation/1.2.2/jakarta.activation-1.2.2.jar", + "hash": "02156773e4ae9d048d14a56ad35d644bee9f1052a791d072df3ded3c656e6e1a", + "path": "com/sun/activation/jakarta.activation/1.2.2/jakarta.activation-1.2.2.jar" + }, { "url": "com/sun/activation/javax.activation/1.2.0/javax.activation-1.2.0.jar", "hash": "993302b16cd7056f21e779cc577d175a810bb4900ef73cd8fbf2b50f928ba9ce", @@ -1289,6 +1459,21 @@ "hash": "27d85fc134c9271d5c79d3300fc4669668f017e72409727c428f54f2417f04cd", "path": "com/sun/istack/istack-commons-runtime/3.0.12/istack-commons-runtime-3.0.12.jar" }, + { + "url": "com/sun/istack/istack-commons-runtime/4.1.2/istack-commons-runtime-4.1.2.jar", + "hash": "7fd6792361f4dd00f8c56af4a20cecc0066deea4a8f3dec38348af23fc2296ee", + "path": "com/sun/istack/istack-commons-runtime/4.1.2/istack-commons-runtime-4.1.2.jar" + }, + { + "url": "com/sun/xml/bind/jaxb-core/2.3.0.1/jaxb-core-2.3.0.1.jar", + "hash": "d2ecba63615f317a11fb55c6468f6a9480f6411c10951d9881bafd9a9a8d0467", + "path": "com/sun/xml/bind/jaxb-core/2.3.0.1/jaxb-core-2.3.0.1.jar" + }, + { + "url": "com/sun/xml/bind/jaxb-impl/2.3.3/jaxb-impl-2.3.3.jar", + "hash": "e5178d0c7948247f75a13c689bf36f4d5d4910a121f712aa3b20ae94377069d8", + "path": "com/sun/xml/bind/jaxb-impl/2.3.3/jaxb-impl-2.3.3.jar" + }, { "url": "com/thoughtworks/qdox/qdox/2.2.0/qdox-2.2.0.jar", "hash": "c260c3230b2340af97d54bf01f7f67ebc57c901922736c881bb11cb981302be2", @@ -1359,6 +1544,11 @@ "hash": "eeeae917917144a68a741d4c0dff66aa5c5c5fd85593ff217bced3fc8ca783b8", "path": "commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar" }, + { + "url": "commons-digester/commons-digester/2.1/commons-digester-2.1.jar", + "hash": "e0b2b980a84fc6533c5ce291f1917b32c507f62bcad64198fff44368c2196a3d", + "path": "commons-digester/commons-digester/2.1/commons-digester-2.1.jar" + }, { "url": "commons-discovery/commons-discovery/0.4/commons-discovery-0.4.jar", "hash": "97d264e2f98821c4cd39eacfd597b4dc7c19d4232cf1f335fc2eab389b2d92fd", @@ -1399,6 +1589,16 @@ "hash": "daddea1ea0be0f56978ab3006b8ac92834afeefbd9b7e4e6316fca57df0fa636", "path": "commons-logging/commons-logging/1.2/commons-logging-1.2.jar" }, + { + "url": "commons-logging/commons-logging/1.3.4/commons-logging-1.3.4.jar", + "hash": "bc2dfe32f1ef06509e6a065144c1adf7b420eabf11a87f30bd127f8faa332016", + "path": "commons-logging/commons-logging/1.3.4/commons-logging-1.3.4.jar" + }, + { + "url": "commons-validator/commons-validator/1.9.0/commons-validator-1.9.0.jar", + "hash": "c3c14748e2d78db58df88808740711bd643b32c45ffa7b8a739f00fb467cd7d7", + "path": "commons-validator/commons-validator/1.9.0/commons-validator-1.9.0.jar" + }, { "url": "completion/ml/python/features/ml-completion-prev-exprs-models/1.11/ml-completion-prev-exprs-models-1.11.jar", "hash": "8924b199c8cc52530de2b250670806d8b046fa5ae9d32a9f27a9b224e934a1ad", @@ -1414,6 +1614,16 @@ "hash": "56f0b00adb704cbc1e86776b45f6890efe90685ab370a34b5b299593cdcaae22", "path": "de/danielnaber/german-pos-dict/1.2.4/german-pos-dict-1.2.4.jar" }, + { + "url": "de/danielnaber/german-pos-dict/1.2.4/german-pos-dict-1.2.4.jar", + "hash": "56f0b00adb704cbc1e86776b45f6890efe90685ab370a34b5b299593cdcaae22", + "path": "de/danielnaber/german-pos-dict/1.2.4/german-pos-dict-1.2.4.jar" + }, + { + "url": "de/danielnaber/jwordsplitter/4.7/jwordsplitter-4.7.jar", + "hash": "0435e604abe8b4a0b27f568db9349fbe0546df286bbe62f667c9fd9663df71b2", + "path": "de/danielnaber/jwordsplitter/4.7/jwordsplitter-4.7.jar" + }, { "url": "de/danielnaber/jwordsplitter/4.7/jwordsplitter-4.7.jar", "hash": "0435e604abe8b4a0b27f568db9349fbe0546df286bbe62f667c9fd9663df71b2", @@ -1454,6 +1664,21 @@ "hash": "33021c9cca70c6292d53ff7dac5d1832d422e986aba52ec998532a5f47f921f8", "path": "edu/washington/cs/knowitall/openregex/1.1.1/openregex-1.1.1.jar" }, + { + "url": "edu/washington/cs/knowitall/openregex/1.1.1/openregex-1.1.1.jar", + "hash": "33021c9cca70c6292d53ff7dac5d1832d422e986aba52ec998532a5f47f921f8", + "path": "edu/washington/cs/knowitall/openregex/1.1.1/openregex-1.1.1.jar" + }, + { + "url": "edu/washington/cs/knowitall/openregex/1.1.1/openregex-1.1.1.jar", + "hash": "33021c9cca70c6292d53ff7dac5d1832d422e986aba52ec998532a5f47f921f8", + "path": "edu/washington/cs/knowitall/openregex/1.1.1/openregex-1.1.1.jar" + }, + { + "url": "edu/washington/cs/knowitall/openregex/1.1.1/openregex-1.1.1.jar", + "hash": "33021c9cca70c6292d53ff7dac5d1832d422e986aba52ec998532a5f47f921f8", + "path": "edu/washington/cs/knowitall/openregex/1.1.1/openregex-1.1.1.jar" + }, { "url": "info/cukes/cucumber-html/0.2.6/cucumber-html-0.2.6.jar", "hash": "e2167e99bdb018576cce9cc0aad154ad995fe67a4b0c36c63344f743865f96e7", @@ -1714,11 +1939,31 @@ "hash": "b3ac96dd97acba8318dbe26f6a432d6c6db91c46c780805e8928b8103e5763dc", "path": "io/github/detekt/sarif4k/sarif4k-jvm/0.6.0/sarif4k-jvm-0.6.0.jar" }, + { + "url": "io/github/java-diff-utils/java-diff-utils/4.12/java-diff-utils-4.12.jar", + "hash": "9990a2039778f6b4cc94790141c2868864eacee0620c6c459451121a901cd5b5", + "path": "io/github/java-diff-utils/java-diff-utils/4.12/java-diff-utils-4.12.jar" + }, { "url": "io/github/oshai/kotlin-logging-jvm/7.0.3/kotlin-logging-jvm-7.0.3.jar", "hash": "241daa21665dd0ca55576a4bc4d8e9ace8891ae3c698cc77f13bb4bdac372e94", "path": "io/github/oshai/kotlin-logging-jvm/7.0.3/kotlin-logging-jvm-7.0.3.jar" }, + { + "url": "io/github/resilience4j/resilience4j-circuitbreaker/1.7.1/resilience4j-circuitbreaker-1.7.1.jar", + "hash": "05ae08b684e6245b8d88bcb823dfd0a2994052098226bd1e614fb9828e5d13df", + "path": "io/github/resilience4j/resilience4j-circuitbreaker/1.7.1/resilience4j-circuitbreaker-1.7.1.jar" + }, + { + "url": "io/github/resilience4j/resilience4j-core/1.7.1/resilience4j-core-1.7.1.jar", + "hash": "3153a2c96c3e3b31122a7fa8ca8ea1ab0f305bf82d096c291b7416443fff6491", + "path": "io/github/resilience4j/resilience4j-core/1.7.1/resilience4j-core-1.7.1.jar" + }, + { + "url": "io/github/resilience4j/resilience4j-micrometer/1.7.1/resilience4j-micrometer-1.7.1.jar", + "hash": "71d9be0d10026f2223f2afba5b10d5d1a7b569c6433bbc1fd189ca8817d66d60", + "path": "io/github/resilience4j/resilience4j-micrometer/1.7.1/resilience4j-micrometer-1.7.1.jar" + }, { "url": "io/github/smiley4/schema-kenerator-core/2.2.0/schema-kenerator-core-2.2.0.jar", "hash": "c1c197ed03acaf46773176a001836219b6299fe267dc4751c2c28ae98edfa0f3", @@ -1889,16 +2134,31 @@ "hash": "bae13d4e4716a0955d316b5fcb75582504325e5b11ac946b13b64b4fce19bc6e", "path": "io/grpc/grpc-api/1.73.0/grpc-api-1.73.0.jar" }, + { + "url": "io/grpc/grpc-api/1.75.0/grpc-api-1.75.0.jar", + "hash": "7f309616691fa655d02512762049ed18bf4ab2b52ced424cab2f527d0bb8e3fc", + "path": "io/grpc/grpc-api/1.75.0/grpc-api-1.75.0.jar" + }, { "url": "io/grpc/grpc-context/1.73.0/grpc-context-1.73.0.jar", "hash": "d8d6911e225b55501692651272ce961ba5be1f76662ceb7f0aa79ecce8f63f25", "path": "io/grpc/grpc-context/1.73.0/grpc-context-1.73.0.jar" }, + { + "url": "io/grpc/grpc-context/1.75.0/grpc-context-1.75.0.jar", + "hash": "7e1de7847ea621a9ec7cb988a8baa947748d0eaef94bfe457d04d9b57105079f", + "path": "io/grpc/grpc-context/1.75.0/grpc-context-1.75.0.jar" + }, { "url": "io/grpc/grpc-core/1.73.0/grpc-core-1.73.0.jar", "hash": "cffb55f1e7268e160647e88da142c09c6175ff72970c64f7cb411d78eb661663", "path": "io/grpc/grpc-core/1.73.0/grpc-core-1.73.0.jar" }, + { + "url": "io/grpc/grpc-core/1.75.0/grpc-core-1.75.0.jar", + "hash": "f10cdbe558378494e4ffc6b1bb328b8a137f3201d46c8b24f0154eb9e51191a1", + "path": "io/grpc/grpc-core/1.75.0/grpc-core-1.75.0.jar" + }, { "url": "io/grpc/grpc-inprocess/1.65.1/grpc-inprocess-1.65.1.jar", "hash": "6e3b197f5668e26fec19a831d2dd1f6d53b6eb9d4d3978b8ffd4ff68f1aae020", @@ -1914,26 +2174,51 @@ "hash": "8328289ba6b73445e982a1cadf8e651ea65354e288c825a43e7c77f16da8a056", "path": "io/grpc/grpc-netty-shaded/1.73.0/grpc-netty-shaded-1.73.0.jar" }, + { + "url": "io/grpc/grpc-netty-shaded/1.75.0/grpc-netty-shaded-1.75.0.jar", + "hash": "d33d47a9720a392512c4e4ceaa17a458a0e3ed6188d17e98d6c4faf0679374d7", + "path": "io/grpc/grpc-netty-shaded/1.75.0/grpc-netty-shaded-1.75.0.jar" + }, { "url": "io/grpc/grpc-protobuf-lite/1.73.0/grpc-protobuf-lite-1.73.0.jar", "hash": "de8ce5309713e72bb57d5ff2dabdb4c173ae4872bd1439b9c3d3f93430b407d9", "path": "io/grpc/grpc-protobuf-lite/1.73.0/grpc-protobuf-lite-1.73.0.jar" }, + { + "url": "io/grpc/grpc-protobuf-lite/1.75.0/grpc-protobuf-lite-1.75.0.jar", + "hash": "60fafc627aa04bcab328dcc9206f0e7aa71d95f1b612774a18272dfe7dc24cf1", + "path": "io/grpc/grpc-protobuf-lite/1.75.0/grpc-protobuf-lite-1.75.0.jar" + }, { "url": "io/grpc/grpc-protobuf/1.73.0/grpc-protobuf-1.73.0.jar", "hash": "5c0ca9e321c02845c47dc6edcef9f22e49015cef7753c54012f5398425163c08", "path": "io/grpc/grpc-protobuf/1.73.0/grpc-protobuf-1.73.0.jar" }, + { + "url": "io/grpc/grpc-protobuf/1.75.0/grpc-protobuf-1.75.0.jar", + "hash": "f52b53c349b0776815e437636dff3d3844e9b10cbb25be419a786bf3d6f20269", + "path": "io/grpc/grpc-protobuf/1.75.0/grpc-protobuf-1.75.0.jar" + }, { "url": "io/grpc/grpc-stub/1.73.0/grpc-stub-1.73.0.jar", "hash": "050fe139de47d8937e6b0080e8dff3d0f42df6782f147c10bb298c0e9cd94b2f", "path": "io/grpc/grpc-stub/1.73.0/grpc-stub-1.73.0.jar" }, + { + "url": "io/grpc/grpc-stub/1.75.0/grpc-stub-1.75.0.jar", + "hash": "dc98fe18654206948666e6657e13fe301ad0754751f28c6c10961e1e6c457997", + "path": "io/grpc/grpc-stub/1.75.0/grpc-stub-1.75.0.jar" + }, { "url": "io/grpc/grpc-util/1.73.0/grpc-util-1.73.0.jar", "hash": "b7df6cbcc30b7a3219f06483a9a9d320a431beda8a1ace5b16d879f84112373f", "path": "io/grpc/grpc-util/1.73.0/grpc-util-1.73.0.jar" }, + { + "url": "io/grpc/grpc-util/1.75.0/grpc-util-1.75.0.jar", + "hash": "92b5a1195dad4cbd7c405b01cbd9fd2dbbd548d13d4cfabf9d2d6a37bad4cb81", + "path": "io/grpc/grpc-util/1.75.0/grpc-util-1.75.0.jar" + }, { "url": "io/kotest/kotest-assertions-api-jvm/5.5.4/kotest-assertions-api-jvm-5.5.4.jar", "hash": "8b1c3e582e2f6f662261f3f45a6d723f3dd8d8b2b0b86a3f7d8e6c966eca0568", @@ -2329,6 +2614,16 @@ "hash": "ef28b4f12054ee125765b72fe3230e215a60b73b2ff2072a5c280fcf09329077", "path": "io/ktor/ktor-websockets-jvm/3.1.3/ktor-websockets-jvm-3.1.3.jar" }, + { + "url": "io/micrometer/micrometer-core/1.7.12/micrometer-core-1.7.12.jar", + "hash": "e7137f16fdbb183bf6608403f604036fa53971ca8635947745e8080039ab0533", + "path": "io/micrometer/micrometer-core/1.7.12/micrometer-core-1.7.12.jar" + }, + { + "url": "io/micrometer/micrometer-registry-prometheus/1.7.12/micrometer-registry-prometheus-1.7.12.jar", + "hash": "1fd64ca17b7ec6235dae4bb080283dcd7866e929189d82f5ba8a201e41ca9848", + "path": "io/micrometer/micrometer-registry-prometheus/1.7.12/micrometer-registry-prometheus-1.7.12.jar" + }, { "url": "io/mockk/mockk-agent-api-jvm/1.14.5/mockk-agent-api-jvm-1.14.5.jar", "hash": "a919a8fec03dfb0c084cb43dafcebe2dd9351431c7a08c2fc8147037de1d06b7", @@ -2644,11 +2939,21 @@ "hash": "3ebb866359b8ec9ba06e45eb27b1b88ee84dab7b052c3ddef57a0e5d12433fb5", "path": "io/nlopez/compose/rules/detekt/0.4.27/detekt-0.4.27.jar" }, + { + "url": "io/opentelemetry/opentelemetry-api/1.42.1/opentelemetry-api-1.42.1.jar", + "hash": "6b0f9d067260ea3ed6c3960352b80800b993cb3962fa6fb1b6383cd04c3c0874", + "path": "io/opentelemetry/opentelemetry-api/1.42.1/opentelemetry-api-1.42.1.jar" + }, { "url": "io/opentelemetry/opentelemetry-api/1.48.0/opentelemetry-api-1.48.0.jar", "hash": "8d3781bda58892f7d14216908fc0d1faf6f4e6b806e6e73e23489e41c0ecf012", "path": "io/opentelemetry/opentelemetry-api/1.48.0/opentelemetry-api-1.48.0.jar" }, + { + "url": "io/opentelemetry/opentelemetry-context/1.42.1/opentelemetry-context-1.42.1.jar", + "hash": "fc8f47bc94bec89a3dbdbcf631470fb7fd7d3e628b10d43bc376f17ebde4b405", + "path": "io/opentelemetry/opentelemetry-context/1.42.1/opentelemetry-context-1.42.1.jar" + }, { "url": "io/opentelemetry/opentelemetry-context/1.48.0/opentelemetry-context-1.48.0.jar", "hash": "1fcccff0f8171fe2001a17b99da229c12d0c4edcca617e453460344e92249d42", @@ -2699,6 +3004,11 @@ "hash": "668e78642d50709dd147406a197cfdd256b1d5931023a23f4a25ed88154c8089", "path": "io/opentelemetry/opentelemetry-sdk/1.48.0/opentelemetry-sdk-1.48.0.jar" }, + { + "url": "io/opentelemetry/opentelemetry-semconv/1.30.1-alpha/opentelemetry-semconv-1.30.1-alpha.jar", + "hash": "aaa73f6c6a3a67cdc07870387383808826d8dae7a84e47cae182b7a88a08e513", + "path": "io/opentelemetry/opentelemetry-semconv/1.30.1-alpha/opentelemetry-semconv-1.30.1-alpha.jar" + }, { "url": "io/opentelemetry/semconv/opentelemetry-semconv/1.30.0/opentelemetry-semconv-1.30.0.jar", "hash": "99c2478a9b803b7d385d1624d5c1ab6f9a64cac5a2dc00f44a350744a1d858ac", @@ -2709,16 +3019,61 @@ "hash": "c7b478503ec524e55df19b424d46d27c8a68aeb801664fadd4f069b71f52d0f6", "path": "io/perfmark/perfmark-api/0.27.0/perfmark-api-0.27.0.jar" }, + { + "url": "io/perfmark/perfmark-api/0.27.0/perfmark-api-0.27.0.jar", + "hash": "c7b478503ec524e55df19b424d46d27c8a68aeb801664fadd4f069b71f52d0f6", + "path": "io/perfmark/perfmark-api/0.27.0/perfmark-api-0.27.0.jar" + }, + { + "url": "io/prometheus/simpleclient/0.16.0/simpleclient-0.16.0.jar", + "hash": "22c374f237f7bc4fdb1f0ec2da379c0ba00e69ad2ffe8b6ade543d73062d377f", + "path": "io/prometheus/simpleclient/0.16.0/simpleclient-0.16.0.jar" + }, + { + "url": "io/prometheus/simpleclient_common/0.10.0/simpleclient_common-0.10.0.jar", + "hash": "8f91f079b6d2e45af3a6ff2ad5cb6c039dce602c51d0923790a32482691e50ff", + "path": "io/prometheus/simpleclient_common/0.10.0/simpleclient_common-0.10.0.jar" + }, + { + "url": "io/prometheus/simpleclient_guava/0.16.0/simpleclient_guava-0.16.0.jar", + "hash": "49959fe20423803b8958fe35ce6cdcc47e58e2251b191ad53eb7ef6fc46c4ae1", + "path": "io/prometheus/simpleclient_guava/0.16.0/simpleclient_guava-0.16.0.jar" + }, + { + "url": "io/prometheus/simpleclient_tracer_common/0.16.0/simpleclient_tracer_common-0.16.0.jar", + "hash": "e84a784ac8e24f182ee62da80b6b5c8140774b75bfa4bf9cc3d3b8390db625f6", + "path": "io/prometheus/simpleclient_tracer_common/0.16.0/simpleclient_tracer_common-0.16.0.jar" + }, + { + "url": "io/prometheus/simpleclient_tracer_otel/0.16.0/simpleclient_tracer_otel-0.16.0.jar", + "hash": "a2a84c59bef3796bb7f9c6f2ae8b7de8b905313ef28180ac3de7ff61dd68df3f", + "path": "io/prometheus/simpleclient_tracer_otel/0.16.0/simpleclient_tracer_otel-0.16.0.jar" + }, + { + "url": "io/prometheus/simpleclient_tracer_otel_agent/0.16.0/simpleclient_tracer_otel_agent-0.16.0.jar", + "hash": "7ad2bb40df74a772d9f5445a3d03579b49d6b37a47d5e90f6cf3f59ecf41ad06", + "path": "io/prometheus/simpleclient_tracer_otel_agent/0.16.0/simpleclient_tracer_otel_agent-0.16.0.jar" + }, { "url": "io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar", "hash": "164e026e01338638e3433e4f6efbda52ed9a64a94ced649c3d0bbe02a7c61282", "path": "io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar" }, + { + "url": "io/vavr/vavr-match/0.10.2/vavr-match-0.10.2.jar", + "hash": "5d7a9515b05e3291194e04e641acf74a9a544c1caa1e2c24f59a1424c6ec8288", + "path": "io/vavr/vavr-match/0.10.2/vavr-match-0.10.2.jar" + }, { "url": "io/vavr/vavr-match/0.10.4/vavr-match-0.10.4.jar", "hash": "d46f96bf59ccd5800261eec5869a6877ee0a37ea781312e6735be55539f50354", "path": "io/vavr/vavr-match/0.10.4/vavr-match-0.10.4.jar" }, + { + "url": "io/vavr/vavr/0.10.2/vavr-0.10.2.jar", + "hash": "1b2ae46cf352627e05b39ac1f1d3bda7b285a8f643cdc7472aea4aa279492e54", + "path": "io/vavr/vavr/0.10.2/vavr-0.10.2.jar" + }, { "url": "io/vavr/vavr/0.10.4/vavr-0.10.4.jar", "hash": "12622deeea2618b59b284051a9484f1def8ccbebc847c350358f12d325ba9dd5", @@ -2734,6 +3089,26 @@ "hash": "733e1347e3ec909e8a7ee199e48a64d0180569461b3bc08c8a6bb1335f5ce1bd", "path": "it/krzeminski/snakeyaml-engine-kmp-jvm/3.1.1/snakeyaml-engine-kmp-jvm-3.1.1.jar" }, + { + "url": "it/unimi/dsi/fastutil-core/8.5.14/fastutil-core-8.5.14.jar", + "hash": "8fb6fe5989a32a74df3158fd8d6b91a4dfc44348772a8654c47dcadd1090a4d8", + "path": "it/unimi/dsi/fastutil-core/8.5.14/fastutil-core-8.5.14.jar" + }, + { + "url": "jakarta/activation/jakarta.activation-api/2.1.3/jakarta.activation-api-2.1.3.jar", + "hash": "01b176d718a169263e78290691fc479977186bcc6b333487325084d6586f4627", + "path": "jakarta/activation/jakarta.activation-api/2.1.3/jakarta.activation-api-2.1.3.jar" + }, + { + "url": "jakarta/xml/bind/jakarta.xml.bind-api/2.3.3/jakarta.xml.bind-api-2.3.3.jar", + "hash": "c04539f472e9a6dd0c7685ea82d677282269ab8e7baca2e14500e381e0c6cec5", + "path": "jakarta/xml/bind/jakarta.xml.bind-api/2.3.3/jakarta.xml.bind-api-2.3.3.jar" + }, + { + "url": "javax/activation/javax.activation-api/1.2.0/javax.activation-api-1.2.0.jar", + "hash": "43fdef0b5b6ceb31b0424b208b930c74ab58fac2ceeb7b3f6fd3aeb8b5ca4393", + "path": "javax/activation/javax.activation-api/1.2.0/javax.activation-api-1.2.0.jar" + }, { "url": "javax/annotation/javax.annotation-api/1.2/javax.annotation-api-1.2.jar", "hash": "5909b396ca3a2be10d0eea32c74ef78d816e1b4ead21de1d78de1f890d033e04", @@ -2744,6 +3119,11 @@ "hash": "e04ba5195bcd555dc95650f7cc614d151e4bcd52d29a10b8aa2197f3ab89ab9b", "path": "javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar" }, + { + "url": "javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar", + "hash": "e04ba5195bcd555dc95650f7cc614d151e4bcd52d29a10b8aa2197f3ab89ab9b", + "path": "javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar" + }, { "url": "javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar", "hash": "a1a922d0d9b6d183ed3800dfac01d1e1eb159f0e8c6f94736931c1def54a941f", @@ -2894,6 +3274,16 @@ "hash": "35da65fdbd3f9c1fe79cfc8399db975fd97660d8a219febfda9fd1a5fc058f10", "path": "javax/measure/unit-api/1.0/unit-api-1.0.jar" }, + { + "url": "javax/measure/unit-api/1.0/unit-api-1.0.jar", + "hash": "35da65fdbd3f9c1fe79cfc8399db975fd97660d8a219febfda9fd1a5fc058f10", + "path": "javax/measure/unit-api/1.0/unit-api-1.0.jar" + }, + { + "url": "javax/xml/bind/jaxb-api/2.3.1/jaxb-api-2.3.1.jar", + "hash": "88b955a0df57880a26a74708bc34f74dcaf8ebf4e78843a28b50eae945732b06", + "path": "javax/xml/bind/jaxb-api/2.3.1/jaxb-api-2.3.1.jar" + }, { "url": "javax/xml/bind/jaxb-api/2.3.1/jaxb-api-2.3.1.jar", "hash": "88b955a0df57880a26a74708bc34f74dcaf8ebf4e78843a28b50eae945732b06", @@ -2934,6 +3324,11 @@ "hash": "8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3", "path": "junit/junit/4.13.2/junit-4.13.2.jar" }, + { + "url": "net/arnx/jsonic/1.2.11/jsonic-1.2.11.jar", + "hash": "76a787944faab6c9bea64dc78400949027ed6fb686fe9b328d18f949852bc89f", + "path": "net/arnx/jsonic/1.2.11/jsonic-1.2.11.jar" + }, { "url": "net/bytebuddy/byte-buddy-agent/1.14.12/byte-buddy-agent-1.14.12.jar", "hash": "2b309a9300092e0b696f7c471fd51d9969001df784c8ab9f07997437d757ad6d", @@ -2984,11 +3379,21 @@ "hash": "4dda1120db856640dbec04140ed23242215a075fe127bdefa0dcfa29fb31267d", "path": "net/i2p/crypto/eddsa/0.3.0/eddsa-0.3.0.jar" }, + { + "url": "net/java/dev/jna/jna-platform/5.12.1/jna-platform-5.12.1.jar", + "hash": "8ce969116cac95bd61b07a8d5e07174b352e63301473caac72c395e3c08488d2", + "path": "net/java/dev/jna/jna-platform/5.12.1/jna-platform-5.12.1.jar" + }, { "url": "net/java/dev/jna/jna-platform/5.17.0/jna-platform-5.17.0.jar", "hash": "b7e3d46c87bad2eb409b0e704916bcd81206168e357312dfddd0e253679cd9e0", "path": "net/java/dev/jna/jna-platform/5.17.0/jna-platform-5.17.0.jar" }, + { + "url": "net/java/dev/jna/jna/5.12.1/jna-5.12.1.jar", + "hash": "91a814ac4f40d60dee91d842e1a8ad874c62197984403d0e3c30d39e55cf53b3", + "path": "net/java/dev/jna/jna/5.12.1/jna-5.12.1.jar" + }, { "url": "net/java/dev/jna/jna/5.15.0/jna-5.15.0.jar", "hash": "a564158d28ab5127fc6a958028ed54279fe0999662c46425b6a3b09a2a52094d", @@ -3034,6 +3439,11 @@ "hash": "a134be9884ddfa18304c8e437e64aa598d83ccfa439310029e61ea3fdae8b2ce", "path": "net/loomchild/segment/2.0.3/segment-2.0.3.jar" }, + { + "url": "net/loomchild/segment/2.0.3/segment-2.0.3.jar", + "hash": "a134be9884ddfa18304c8e437e64aa598d83ccfa439310029e61ea3fdae8b2ce", + "path": "net/loomchild/segment/2.0.3/segment-2.0.3.jar" + }, { "url": "net/minidev/accessors-smart/2.5.0/accessors-smart-2.5.0.jar", "hash": "12314fc6881d66a413fd66370787adba16e504fbf7e138690b0f3952e3fbd321", @@ -3099,6 +3509,16 @@ "hash": "4eeeae8d20c078abb64b015ec158add383ac581571cddc45c68f0c9ae0230720", "path": "org/apache/commons/commons-lang3/3.18.0/commons-lang3-3.18.0.jar" }, + { + "url": "org/apache/commons/commons-lang3/3.18.0/commons-lang3-3.18.0.jar", + "hash": "4eeeae8d20c078abb64b015ec158add383ac581571cddc45c68f0c9ae0230720", + "path": "org/apache/commons/commons-lang3/3.18.0/commons-lang3-3.18.0.jar" + }, + { + "url": "org/apache/commons/commons-lang3/3.18.0/commons-lang3-3.18.0.jar", + "hash": "4eeeae8d20c078abb64b015ec158add383ac581571cddc45c68f0c9ae0230720", + "path": "org/apache/commons/commons-lang3/3.18.0/commons-lang3-3.18.0.jar" + }, { "url": "org/apache/commons/commons-lang3/3.4/commons-lang3-3.4.jar", "hash": "734c8356420cc8e30c795d64fd1fcd5d44ea9d90342a2cc3262c5158fbc6d98b", @@ -3149,6 +3569,16 @@ "hash": "1e56d7b058d28b65abd256b8458e3885b674c1d588fa43cd7d1cbb9c7ef2b308", "path": "org/apache/commons/commons-math3/3.6.1/commons-math3-3.6.1.jar" }, + { + "url": "org/apache/commons/commons-pool2/2.12.0/commons-pool2-2.12.0.jar", + "hash": "6d3bd18df8410f3e31b031aca582cc109342358a62a2759ebd0c4cdf30d06f8b", + "path": "org/apache/commons/commons-pool2/2.12.0/commons-pool2-2.12.0.jar" + }, + { + "url": "org/apache/commons/commons-text/1.12.0/commons-text-1.12.0.jar", + "hash": "de023257ff166044a56bd1aa9124e843cd05dac5806cc705a9311f3556d5a15f", + "path": "org/apache/commons/commons-text/1.12.0/commons-text-1.12.0.jar" + }, { "url": "org/apache/commons/commons-text/1.14.0/commons-text-1.14.0.jar", "hash": "121fce2282910c8f0c3ba793a5436b31beb710423cbe2d574a3fb7a73c508e92", @@ -3199,6 +3629,11 @@ "hash": "1cdcc5a2d9cf4ffaf12fbf24bc2a18f2469cd295b60470ae8b97d1aa85dbad6f", "path": "org/apache/lucene/lucene-analyzers-common/8.11.1/lucene-analyzers-common-8.11.1.jar" }, + { + "url": "org/apache/lucene/lucene-backward-codecs/5.5.5/lucene-backward-codecs-5.5.5.jar", + "hash": "b62e089f505bc72dd8abb0ad55040604cdd92306e14871d7febcbf947dd9c6e5", + "path": "org/apache/lucene/lucene-backward-codecs/5.5.5/lucene-backward-codecs-5.5.5.jar" + }, { "url": "org/apache/lucene/lucene-backward-codecs/8.11.1/lucene-backward-codecs-8.11.1.jar", "hash": "38e72688eef81efffb9c5ea68918f4d1adb2eb0de64ce6a8222abee036eb63cf", @@ -3219,6 +3654,11 @@ "hash": "b85d6c2a6b4c29e90fa7c5d94b21fe796f9c6857870268b56904765126bae718", "path": "org/apache/lucene/lucene-core/2.4.1/lucene-core-2.4.1.jar" }, + { + "url": "org/apache/lucene/lucene-core/5.5.5/lucene-core-5.5.5.jar", + "hash": "8d27a8ab4ee8883282d7713f067e72d1cfde1e88d0f5701a119100ec9e86d7e1", + "path": "org/apache/lucene/lucene-core/5.5.5/lucene-core-5.5.5.jar" + }, { "url": "org/apache/lucene/lucene-core/8.11.1/lucene-core-8.11.1.jar", "hash": "78a61d0b843c1cf1fe5be380a4d3a4c1602d3fbba4ca1185da8797c9bb115483", @@ -4439,6 +4879,16 @@ "hash": "f418c519b49470c2ec7024086bf210ba370ff158732368005d3b8cef964d3fff", "path": "org/carrot2/morfologik-fsa-builders/2.1.9/morfologik-fsa-builders-2.1.9.jar" }, + { + "url": "org/carrot2/morfologik-fsa-builders/2.1.9/morfologik-fsa-builders-2.1.9.jar", + "hash": "f418c519b49470c2ec7024086bf210ba370ff158732368005d3b8cef964d3fff", + "path": "org/carrot2/morfologik-fsa-builders/2.1.9/morfologik-fsa-builders-2.1.9.jar" + }, + { + "url": "org/carrot2/morfologik-fsa/2.1.9/morfologik-fsa-2.1.9.jar", + "hash": "1bfefce937df14cc94d32a98ce59c33f4d5b6c0eddbb436b6bfe27ff2120a23d", + "path": "org/carrot2/morfologik-fsa/2.1.9/morfologik-fsa-2.1.9.jar" + }, { "url": "org/carrot2/morfologik-fsa/2.1.9/morfologik-fsa-2.1.9.jar", "hash": "1bfefce937df14cc94d32a98ce59c33f4d5b6c0eddbb436b6bfe27ff2120a23d", @@ -4449,6 +4899,16 @@ "hash": "8d2566a216f401380878f25196f84bd351b807b11f18bc71acd1417e04a1ec29", "path": "org/carrot2/morfologik-speller/2.1.9/morfologik-speller-2.1.9.jar" }, + { + "url": "org/carrot2/morfologik-speller/2.1.9/morfologik-speller-2.1.9.jar", + "hash": "8d2566a216f401380878f25196f84bd351b807b11f18bc71acd1417e04a1ec29", + "path": "org/carrot2/morfologik-speller/2.1.9/morfologik-speller-2.1.9.jar" + }, + { + "url": "org/carrot2/morfologik-stemming/2.1.9/morfologik-stemming-2.1.9.jar", + "hash": "6170895b2315b697f4da5630caf57c6c441f1cb419d89d1cb5326b0673293e8a", + "path": "org/carrot2/morfologik-stemming/2.1.9/morfologik-stemming-2.1.9.jar" + }, { "url": "org/carrot2/morfologik-stemming/2.1.9/morfologik-stemming-2.1.9.jar", "hash": "6170895b2315b697f4da5630caf57c6c441f1cb419d89d1cb5326b0673293e8a", @@ -4479,6 +4939,11 @@ "hash": "a40b2ce6d8551e5b90b1bf637064303f32944d61b52ab2014e38699df573941b", "path": "org/checkerframework/checker-compat-qual/2.0.0/checker-compat-qual-2.0.0.jar" }, + { + "url": "org/checkerframework/checker-qual/3.43.0/checker-qual-3.43.0.jar", + "hash": "3fbc2e98f05854c3df16df9abaa955b91b15b3ecac33623208ed6424640ef0f6", + "path": "org/checkerframework/checker-qual/3.43.0/checker-qual-3.43.0.jar" + }, { "url": "org/codehaus/groovy/groovy-ant/3.0.25/groovy-ant-3.0.25.jar", "hash": "fd65c1a0cd1c60272b6ed0f45025d7afae8de20b5c11e2a131a7ccb4b0f1f1b2", @@ -4544,6 +5009,11 @@ "hash": "c720e6e5bcbe6b2f48ded75a47bccdb763eede79d14330102e0d352e3d89ed92", "path": "org/codehaus/mojo/animal-sniffer-annotations/1.24/animal-sniffer-annotations-1.24.jar" }, + { + "url": "org/codehaus/mojo/animal-sniffer-annotations/1.24/animal-sniffer-annotations-1.24.jar", + "hash": "c720e6e5bcbe6b2f48ded75a47bccdb763eede79d14330102e0d352e3d89ed92", + "path": "org/codehaus/mojo/animal-sniffer-annotations/1.24/animal-sniffer-annotations-1.24.jar" + }, { "url": "org/codehaus/plexus/plexus-archiver/4.8.0/plexus-archiver-4.8.0.jar", "hash": "24513c9bc6d52716f5a22f7ef03e26c310f62ebcde309de9833deac6a4ac32e3", @@ -4944,6 +5414,11 @@ "hash": "9e9a57439a98034732e94d841bb7065b56e3a065654361ca9cc07135e9fbe17c", "path": "org/eclipse/aether/aether-util/1.0.2.v20150114/aether-util-1.0.2.v20150114.jar" }, + { + "url": "org/eclipse/angus/angus-activation/2.0.2/angus-activation-2.0.2.jar", + "hash": "6dd3bcffc22bce83b07376a0e2e094e4964a3195d4118fb43e380ef35436cc1e", + "path": "org/eclipse/angus/angus-activation/2.0.2/angus-activation-2.0.2.jar" + }, { "url": "org/eclipse/elk/org.eclipse.elk.alg.common.compaction/0.3.0/org.eclipse.elk.alg.common.compaction-0.3.0.jar", "hash": "7b5a2c04f1c942af3d8b891a9a535e74cfa45b4151b7835c3e9f63e96ec0332f", @@ -5124,16 +5599,31 @@ "hash": "2e5e775a9dc58ffa6bbd6aa6f099d62f8b62dcdeb4c3c3bbbe5cf2301bc2dcc1", "path": "org/fusesource/jansi/jansi/2.4.1/jansi-2.4.1.jar" }, + { + "url": "org/glassfish/jaxb/jaxb-core/4.0.5/jaxb-core-4.0.5.jar", + "hash": "ad3fd9bf00de3eda9859f70b6cfb011e2fe9904804e16a2665092888ece0fdca", + "path": "org/glassfish/jaxb/jaxb-core/4.0.5/jaxb-core-4.0.5.jar" + }, { "url": "org/glassfish/jaxb/jaxb-runtime/2.3.9/jaxb-runtime-2.3.9.jar", "hash": "ba88e5bde7c0d878c3e1f2ec2fcabaf51d201eaf93b3bb9cfecfc1f11b2304d4", "path": "org/glassfish/jaxb/jaxb-runtime/2.3.9/jaxb-runtime-2.3.9.jar" }, + { + "url": "org/glassfish/jaxb/jaxb-runtime/4.0.5/jaxb-runtime-4.0.5.jar", + "hash": "485d8940e76373a7f300815ea5504bf5b726c234425ad30971019d133124cca4", + "path": "org/glassfish/jaxb/jaxb-runtime/4.0.5/jaxb-runtime-4.0.5.jar" + }, { "url": "org/glassfish/jaxb/txw2/2.3.9/txw2-2.3.9.jar", "hash": "973018b87af911ecf6e6d861dd0d6a477e4d8ae6a883ec5d073d3df1330b87f0", "path": "org/glassfish/jaxb/txw2/2.3.9/txw2-2.3.9.jar" }, + { + "url": "org/glassfish/jaxb/txw2/4.0.5/txw2-4.0.5.jar", + "hash": "917355bc451481f30d043b24d123110517966af34383901773882810dca480e5", + "path": "org/glassfish/jaxb/txw2/4.0.5/txw2-4.0.5.jar" + }, { "url": "org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar", "hash": "66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9", @@ -5159,6 +5649,11 @@ "hash": "5e62846a89f05cd78cd9c1a553f340d002458380c320455dd1f8fc5497a8a1c1", "path": "org/hamcrest/hamcrest/2.2/hamcrest-2.2.jar" }, + { + "url": "org/hdrhistogram/HdrHistogram/2.1.12/HdrHistogram-2.1.12.jar", + "hash": "9b47fbae444feaac4b7e04f0ea294569e4bc282bc69d8c2ce2ac3f23577281e2", + "path": "org/hdrhistogram/HdrHistogram/2.1.12/HdrHistogram-2.1.12.jar" + }, { "url": "org/hdrhistogram/HdrHistogram/2.2.2/HdrHistogram-2.2.2.jar", "hash": "22d1d4316c4ec13a68b559e98c8256d69071593731da96136640f864fa14fad8", @@ -5169,6 +5664,11 @@ "hash": "6f128a71c5e87a16f810513a73ad3c77d0ee0bb622ee0ce1ead115bccbc76d0a", "path": "org/imgscalr/imgscalr-lib/4.2/imgscalr-lib-4.2.jar" }, + { + "url": "org/ioperm/morphology-el/1.0.0/morphology-el-1.0.0.jar", + "hash": "caa36b7e96fd4c1804b3f4763de803ce87468d86908087087814f7d47caee668", + "path": "org/ioperm/morphology-el/1.0.0/morphology-el-1.0.0.jar" + }, { "url": "org/jacoco/org.jacoco.agent/0.8.14/org.jacoco.agent-0.8.14.jar", "hash": "20be9853385bdfc65a5929643412d09243d14514304b89ba23a265158cc8792b", @@ -5235,14 +5735,14 @@ "path": "org/jetbrains/apple-notary-api-kotlin-client/2.0.1/apple-notary-api-kotlin-client-2.0.1.jar" }, { - "url": "org/jetbrains/compose/animation/animation-core-desktop/1.10.0-beta01/animation-core-desktop-1.10.0-beta01.jar", - "hash": "530c042dcb2861382ed4d4a039f026c718b1d7c1b3cbbda58b12d26ba86683e3", - "path": "org/jetbrains/compose/animation/animation-core-desktop/1.10.0-beta01/animation-core-desktop-1.10.0-beta01.jar" + "url": "org/jetbrains/compose/animation/animation-core-desktop/1.10.0-rc01/animation-core-desktop-1.10.0-rc01.jar", + "hash": "41c0220ddbc55cb897feb0d5816b748f9c11162171f12743c04b50d0d84db628", + "path": "org/jetbrains/compose/animation/animation-core-desktop/1.10.0-rc01/animation-core-desktop-1.10.0-rc01.jar" }, { - "url": "org/jetbrains/compose/animation/animation-desktop/1.10.0-beta01/animation-desktop-1.10.0-beta01.jar", - "hash": "4aab9a942a0bf3cef4b1c01451dbc13c2e30a9289c87c4fe416663d808e920fb", - "path": "org/jetbrains/compose/animation/animation-desktop/1.10.0-beta01/animation-desktop-1.10.0-beta01.jar" + "url": "org/jetbrains/compose/animation/animation-desktop/1.10.0-rc01/animation-desktop-1.10.0-rc01.jar", + "hash": "3ec5254288b1e872263009221f677063ea728f90969598f399a5b02500ebc014", + "path": "org/jetbrains/compose/animation/animation-desktop/1.10.0-rc01/animation-desktop-1.10.0-rc01.jar" }, { "url": "org/jetbrains/compose/compiler/compiler-hosted/1.5.14/compiler-hosted-1.5.14.jar", @@ -5250,14 +5750,14 @@ "path": "org/jetbrains/compose/compiler/compiler-hosted/1.5.14/compiler-hosted-1.5.14.jar" }, { - "url": "org/jetbrains/compose/components/components-resources-desktop/1.10.0-alpha01/components-resources-desktop-1.10.0-alpha01.jar", - "hash": "efdd4db41e57baa5cd50d679be5a141ddf8ab9ed75f99fdaf9db7277343e3d96", - "path": "org/jetbrains/compose/components/components-resources-desktop/1.10.0-alpha01/components-resources-desktop-1.10.0-alpha01.jar" + "url": "org/jetbrains/compose/components/components-resources-desktop/1.10.0-rc01/components-resources-desktop-1.10.0-rc01.jar", + "hash": "7dbbe06683befa8110b4ac926a7432b7e2ee446ed156adf55ad17e9c868ae0e2", + "path": "org/jetbrains/compose/components/components-resources-desktop/1.10.0-rc01/components-resources-desktop-1.10.0-rc01.jar" }, { - "url": "org/jetbrains/compose/components/components-resources/1.10.0-alpha01/components-resources-1.10.0-alpha01.jar", - "hash": "75ed361cabb9ed491c00dadd0784d329ea6433c39d8240df062778c31b509bdb", - "path": "org/jetbrains/compose/components/components-resources/1.10.0-alpha01/components-resources-1.10.0-alpha01.jar" + "url": "org/jetbrains/compose/components/components-resources/1.10.0-rc01/components-resources-1.10.0-rc01.jar", + "hash": "7d2f02d5ecc865b8c9b81cc3026db4c0ba2ccf180c1be6844896e56581045b9a", + "path": "org/jetbrains/compose/components/components-resources/1.10.0-rc01/components-resources-1.10.0-rc01.jar" }, { "url": "org/jetbrains/compose/components/components-ui-tooling-preview-desktop/1.9.0/components-ui-tooling-preview-desktop-1.9.0.jar", @@ -5265,59 +5765,59 @@ "path": "org/jetbrains/compose/components/components-ui-tooling-preview-desktop/1.9.0/components-ui-tooling-preview-desktop-1.9.0.jar" }, { - "url": "org/jetbrains/compose/foundation/foundation-desktop/1.10.0-beta01/foundation-desktop-1.10.0-beta01.jar", - "hash": "ef70b786c9444735bd634c1e2d224d1511a39bd134afb123e8f408679244b563", - "path": "org/jetbrains/compose/foundation/foundation-desktop/1.10.0-beta01/foundation-desktop-1.10.0-beta01.jar" + "url": "org/jetbrains/compose/foundation/foundation-desktop/1.10.0-rc01/foundation-desktop-1.10.0-rc01.jar", + "hash": "f988ef9d9517dc26b360943349bf1412d5735beb8ecf4f5304f10ecfe6ca05db", + "path": "org/jetbrains/compose/foundation/foundation-desktop/1.10.0-rc01/foundation-desktop-1.10.0-rc01.jar" }, { - "url": "org/jetbrains/compose/foundation/foundation-layout-desktop/1.10.0-beta01/foundation-layout-desktop-1.10.0-beta01.jar", - "hash": "6d38e4de37bcc3adeadf595d559e9cb73a215c763f8127fe780c820faf6a789b", - "path": "org/jetbrains/compose/foundation/foundation-layout-desktop/1.10.0-beta01/foundation-layout-desktop-1.10.0-beta01.jar" + "url": "org/jetbrains/compose/foundation/foundation-layout-desktop/1.10.0-rc01/foundation-layout-desktop-1.10.0-rc01.jar", + "hash": "bd086a9f5ce453967ea1124bb709612bca14a4fbb6522a6023092a8866ee4ef0", + "path": "org/jetbrains/compose/foundation/foundation-layout-desktop/1.10.0-rc01/foundation-layout-desktop-1.10.0-rc01.jar" }, { - "url": "org/jetbrains/compose/ui/ui-backhandler-desktop/1.10.0-beta01/ui-backhandler-desktop-1.10.0-beta01.jar", - "hash": "08a4ac21eca159e16e959ae27f9431b33ecf8f0fc88bcc7499edd21d340de7a5", - "path": "org/jetbrains/compose/ui/ui-backhandler-desktop/1.10.0-beta01/ui-backhandler-desktop-1.10.0-beta01.jar" + "url": "org/jetbrains/compose/ui/ui-backhandler-desktop/1.10.0-rc01/ui-backhandler-desktop-1.10.0-rc01.jar", + "hash": "1babf68f5a05cbe1ba8cf934f0e575bb0d0b184444514e6aa7ec1f8004c9ce33", + "path": "org/jetbrains/compose/ui/ui-backhandler-desktop/1.10.0-rc01/ui-backhandler-desktop-1.10.0-rc01.jar" }, { - "url": "org/jetbrains/compose/ui/ui-desktop/1.10.0-beta01/ui-desktop-1.10.0-beta01.jar", - "hash": "e4c01eefc1ec2d5a6f0e643f50865b56022b564cdcb0bbc122a64b692cb65d89", - "path": "org/jetbrains/compose/ui/ui-desktop/1.10.0-beta01/ui-desktop-1.10.0-beta01.jar" + "url": "org/jetbrains/compose/ui/ui-desktop/1.10.0-rc01/ui-desktop-1.10.0-rc01.jar", + "hash": "c699d8571082a7f507fbede0b9d567c661f47013a4f3f9b68109b8a0bd828ea8", + "path": "org/jetbrains/compose/ui/ui-desktop/1.10.0-rc01/ui-desktop-1.10.0-rc01.jar" }, { - "url": "org/jetbrains/compose/ui/ui-geometry-desktop/1.10.0-beta01/ui-geometry-desktop-1.10.0-beta01.jar", + "url": "org/jetbrains/compose/ui/ui-geometry-desktop/1.10.0-rc01/ui-geometry-desktop-1.10.0-rc01.jar", "hash": "cdbfdabccac8abef2d9bc0420ec0c4be7a880f6d26b2d1cc4e2317c0d252ee27", - "path": "org/jetbrains/compose/ui/ui-geometry-desktop/1.10.0-beta01/ui-geometry-desktop-1.10.0-beta01.jar" + "path": "org/jetbrains/compose/ui/ui-geometry-desktop/1.10.0-rc01/ui-geometry-desktop-1.10.0-rc01.jar" }, { - "url": "org/jetbrains/compose/ui/ui-graphics-desktop/1.10.0-beta01/ui-graphics-desktop-1.10.0-beta01.jar", - "hash": "80f61d974f2ddac95084738f0f18e8c0f6c1923b4bf8cc6a9245b1376c8c992f", - "path": "org/jetbrains/compose/ui/ui-graphics-desktop/1.10.0-beta01/ui-graphics-desktop-1.10.0-beta01.jar" + "url": "org/jetbrains/compose/ui/ui-graphics-desktop/1.10.0-rc01/ui-graphics-desktop-1.10.0-rc01.jar", + "hash": "d1710a4a15b115fc4c37878b32b10a476a0ec3b8399fa1fb588181dba83dbdd2", + "path": "org/jetbrains/compose/ui/ui-graphics-desktop/1.10.0-rc01/ui-graphics-desktop-1.10.0-rc01.jar" }, { - "url": "org/jetbrains/compose/ui/ui-test-desktop/1.10.0-beta01/ui-test-desktop-1.10.0-beta01.jar", - "hash": "65e46ce4ce2291ed0cead9d184ef96d8e10e31770e23901f71deadde6be72b2e", - "path": "org/jetbrains/compose/ui/ui-test-desktop/1.10.0-beta01/ui-test-desktop-1.10.0-beta01.jar" + "url": "org/jetbrains/compose/ui/ui-test-desktop/1.10.0-rc01/ui-test-desktop-1.10.0-rc01.jar", + "hash": "b7d61af17254d98ffb858ceb80bd38597c2486eead80c2cfe0a37ba3ee9724b2", + "path": "org/jetbrains/compose/ui/ui-test-desktop/1.10.0-rc01/ui-test-desktop-1.10.0-rc01.jar" }, { - "url": "org/jetbrains/compose/ui/ui-test-junit4-desktop/1.10.0-beta01/ui-test-junit4-desktop-1.10.0-beta01.jar", + "url": "org/jetbrains/compose/ui/ui-test-junit4-desktop/1.10.0-rc01/ui-test-junit4-desktop-1.10.0-rc01.jar", "hash": "de2f63543b8f646b85c789e3bf53121e4e6d89d3c7c0afc0358954cc27316a71", - "path": "org/jetbrains/compose/ui/ui-test-junit4-desktop/1.10.0-beta01/ui-test-junit4-desktop-1.10.0-beta01.jar" + "path": "org/jetbrains/compose/ui/ui-test-junit4-desktop/1.10.0-rc01/ui-test-junit4-desktop-1.10.0-rc01.jar" }, { - "url": "org/jetbrains/compose/ui/ui-text-desktop/1.10.0-beta01/ui-text-desktop-1.10.0-beta01.jar", - "hash": "2d230e78f7160cc2dbcf5c2bd2824ee43832b26e40d01ddfe862c0236c37c8f0", - "path": "org/jetbrains/compose/ui/ui-text-desktop/1.10.0-beta01/ui-text-desktop-1.10.0-beta01.jar" + "url": "org/jetbrains/compose/ui/ui-text-desktop/1.10.0-rc01/ui-text-desktop-1.10.0-rc01.jar", + "hash": "6ee18433659f389621386e759217b3ed5ef0f1e22ea177cad705457dc75aa27b", + "path": "org/jetbrains/compose/ui/ui-text-desktop/1.10.0-rc01/ui-text-desktop-1.10.0-rc01.jar" }, { - "url": "org/jetbrains/compose/ui/ui-unit-desktop/1.10.0-beta01/ui-unit-desktop-1.10.0-beta01.jar", + "url": "org/jetbrains/compose/ui/ui-unit-desktop/1.10.0-rc01/ui-unit-desktop-1.10.0-rc01.jar", "hash": "f0f3439928b3d9132f07cb2d7a86091696372ebc8354d16b48830b6ce15e8161", - "path": "org/jetbrains/compose/ui/ui-unit-desktop/1.10.0-beta01/ui-unit-desktop-1.10.0-beta01.jar" + "path": "org/jetbrains/compose/ui/ui-unit-desktop/1.10.0-rc01/ui-unit-desktop-1.10.0-rc01.jar" }, { - "url": "org/jetbrains/compose/ui/ui-util-desktop/1.10.0-beta01/ui-util-desktop-1.10.0-beta01.jar", + "url": "org/jetbrains/compose/ui/ui-util-desktop/1.10.0-rc01/ui-util-desktop-1.10.0-rc01.jar", "hash": "7bfc93a8cad2974cdfd5a2c817e3083e0e3c48ef99e4dbba51eb98a14c92ed2d", - "path": "org/jetbrains/compose/ui/ui-util-desktop/1.10.0-beta01/ui-util-desktop-1.10.0-beta01.jar" + "path": "org/jetbrains/compose/ui/ui-util-desktop/1.10.0-rc01/ui-util-desktop-1.10.0-rc01.jar" }, { "url": "org/jetbrains/dokka/analysis-kotlin-descriptors/2.0.0/analysis-kotlin-descriptors-2.0.0.jar", @@ -5740,54 +6240,79 @@ "path": "org/jetbrains/intellij/deps/jcef/jcef/137.0.17-gf354b0e-chromium-137.0.7151.104-api-1.20-253-b13/jcef-137.0.17-gf354b0e-chromium-137.0.7151.104-api-1.20-253-b13.jar" }, { - "url": "org/jetbrains/intellij/deps/languagetool/language-be/6.7.19/language-be-6.7.19.jar", - "hash": "e1112c8cbb7bc83523e2fc057e58b0b48dcdba5cb58e9771639ed2cd735ae4e4", - "path": "org/jetbrains/intellij/deps/languagetool/language-be/6.7.19/language-be-6.7.19.jar" + "url": "org/jetbrains/intellij/deps/languagetool/language-be/6.7.20/language-be-6.7.20.jar", + "hash": "f24b9d99f0b9dddbe1d63118dce0af30fd32cb6228f949cfbbad9902e2bfa169", + "path": "org/jetbrains/intellij/deps/languagetool/language-be/6.7.20/language-be-6.7.20.jar" }, { - "url": "org/jetbrains/intellij/deps/languagetool/language-de/6.7.19/language-de-6.7.19.jar", - "hash": "3b8fdde02fa7c870daaa0d33d040d00a6dd9a8971e5bf01b3946ff2a9a7b5887", - "path": "org/jetbrains/intellij/deps/languagetool/language-de/6.7.19/language-de-6.7.19.jar" + "url": "org/jetbrains/intellij/deps/languagetool/language-de/6.7.20/language-de-6.7.20.jar", + "hash": "91d7d42c173b92d918cdf4266f7f6b468726445dca98740976002745ebdd9678", + "path": "org/jetbrains/intellij/deps/languagetool/language-de/6.7.20/language-de-6.7.20.jar" }, { - "url": "org/jetbrains/intellij/deps/languagetool/language-en/6.7.19/language-en-6.7.19.jar", - "hash": "4faf190812aff01543fe930c7476db7d21b4a5ac892421c849aa85e090d5dd2b", - "path": "org/jetbrains/intellij/deps/languagetool/language-en/6.7.19/language-en-6.7.19.jar" + "url": "org/jetbrains/intellij/deps/languagetool/language-de/6.7.20/language-de-6.7.20.jar", + "hash": "91d7d42c173b92d918cdf4266f7f6b468726445dca98740976002745ebdd9678", + "path": "org/jetbrains/intellij/deps/languagetool/language-de/6.7.20/language-de-6.7.20.jar" }, { - "url": "org/jetbrains/intellij/deps/languagetool/language-it/6.7.19/language-it-6.7.19.jar", - "hash": "66610c22526cae842fbcfc2d64b15b27e1e88f6bd715b8b72d951d60d205e53c", - "path": "org/jetbrains/intellij/deps/languagetool/language-it/6.7.19/language-it-6.7.19.jar" + "url": "org/jetbrains/intellij/deps/languagetool/language-el/6.7.20/language-el-6.7.20.jar", + "hash": "da622c6b8d7581a1ce9d58e3cab8c7e9b6770cbe994bb2982d1d82d743dfc436", + "path": "org/jetbrains/intellij/deps/languagetool/language-el/6.7.20/language-el-6.7.20.jar" }, { - "url": "org/jetbrains/intellij/deps/languagetool/language-pt/6.7.19/language-pt-6.7.19.jar", - "hash": "15082b699292f1b28756337e3fe46295c556d1e1147bf98d155cca4a08382599", - "path": "org/jetbrains/intellij/deps/languagetool/language-pt/6.7.19/language-pt-6.7.19.jar" + "url": "org/jetbrains/intellij/deps/languagetool/language-en/6.7.20/language-en-6.7.20.jar", + "hash": "572cb63055eaa335522e9f3983d457c9acc24672edfc629cc82277d46b455702", + "path": "org/jetbrains/intellij/deps/languagetool/language-en/6.7.20/language-en-6.7.20.jar" }, { - "url": "org/jetbrains/intellij/deps/languagetool/language-ru/6.7.19/language-ru-6.7.19.jar", - "hash": "24e353865ce2862de1cb2468b73f28bb4d7fb996ab480c9a9513999ba2a3252e", - "path": "org/jetbrains/intellij/deps/languagetool/language-ru/6.7.19/language-ru-6.7.19.jar" + "url": "org/jetbrains/intellij/deps/languagetool/language-it/6.7.20/language-it-6.7.20.jar", + "hash": "6b25433cf377e3fafce95f772aec21fec29c0267bf1b651834d74309700b34a5", + "path": "org/jetbrains/intellij/deps/languagetool/language-it/6.7.20/language-it-6.7.20.jar" }, { - "url": "org/jetbrains/intellij/deps/languagetool/language-uk/6.7.19/language-uk-6.7.19.jar", - "hash": "a02e7a2aced8f3f43244c9b06bdd2ac620ffc76a173dd33c19f79e12a9056660", - "path": "org/jetbrains/intellij/deps/languagetool/language-uk/6.7.19/language-uk-6.7.19.jar" + "url": "org/jetbrains/intellij/deps/languagetool/language-pt/6.7.20/language-pt-6.7.20.jar", + "hash": "2878fbeeeff14a74a970a2a1c477a9cd5fd74a432c015ca810a85eaeaa078186", + "path": "org/jetbrains/intellij/deps/languagetool/language-pt/6.7.20/language-pt-6.7.20.jar" }, { - "url": "org/jetbrains/intellij/deps/languagetool/language-zh/6.7.19/language-zh-6.7.19.jar", - "hash": "9aceb89c3f8b7f1b98eaef06b1b79e64ee5308f0edb2315785aad4f3c4045169", - "path": "org/jetbrains/intellij/deps/languagetool/language-zh/6.7.19/language-zh-6.7.19.jar" + "url": "org/jetbrains/intellij/deps/languagetool/language-ru/6.7.20/language-ru-6.7.20.jar", + "hash": "37ee7871b86ded531c364ab448ebf446a1666aef088ecbd35c9bebd25f7239f4", + "path": "org/jetbrains/intellij/deps/languagetool/language-ru/6.7.20/language-ru-6.7.20.jar" }, { - "url": "org/jetbrains/intellij/deps/languagetool/languagetool-core/6.7.19/languagetool-core-6.7.19.jar", - "hash": "adafb32cef456d63fbc71cd0e193211a58fb712517ad7fea7f3098e34a184842", - "path": "org/jetbrains/intellij/deps/languagetool/languagetool-core/6.7.19/languagetool-core-6.7.19.jar" + "url": "org/jetbrains/intellij/deps/languagetool/language-ru/6.7.20/language-ru-6.7.20.jar", + "hash": "37ee7871b86ded531c364ab448ebf446a1666aef088ecbd35c9bebd25f7239f4", + "path": "org/jetbrains/intellij/deps/languagetool/language-ru/6.7.20/language-ru-6.7.20.jar" }, { - "url": "org/jetbrains/intellij/deps/languagetool/languagetool-core/6.7.19/languagetool-core-6.7.19.jar", - "hash": "adafb32cef456d63fbc71cd0e193211a58fb712517ad7fea7f3098e34a184842", - "path": "org/jetbrains/intellij/deps/languagetool/languagetool-core/6.7.19/languagetool-core-6.7.19.jar" + "url": "org/jetbrains/intellij/deps/languagetool/language-uk/6.7.20/language-uk-6.7.20.jar", + "hash": "bc94dd9aaee1f3e076d55bc91872d383cd92c9293cc7efd2e316915690963280", + "path": "org/jetbrains/intellij/deps/languagetool/language-uk/6.7.20/language-uk-6.7.20.jar" + }, + { + "url": "org/jetbrains/intellij/deps/languagetool/language-uk/6.7.20/language-uk-6.7.20.jar", + "hash": "bc94dd9aaee1f3e076d55bc91872d383cd92c9293cc7efd2e316915690963280", + "path": "org/jetbrains/intellij/deps/languagetool/language-uk/6.7.20/language-uk-6.7.20.jar" + }, + { + "url": "org/jetbrains/intellij/deps/languagetool/language-zh/6.7.20/language-zh-6.7.20.jar", + "hash": "c04ded4e5f33399dc14a52e4d4b13d6a4bfaa817f91efb26aaf208a4bbfdb42b", + "path": "org/jetbrains/intellij/deps/languagetool/language-zh/6.7.20/language-zh-6.7.20.jar" + }, + { + "url": "org/jetbrains/intellij/deps/languagetool/languagetool-core/6.7.20/languagetool-core-6.7.20.jar", + "hash": "2ceb4fddcf6e6943e8e418a417caf05affd239c9f7855ba22aa8494aa0668256", + "path": "org/jetbrains/intellij/deps/languagetool/languagetool-core/6.7.20/languagetool-core-6.7.20.jar" + }, + { + "url": "org/jetbrains/intellij/deps/languagetool/languagetool-core/6.7.20/languagetool-core-6.7.20.jar", + "hash": "2ceb4fddcf6e6943e8e418a417caf05affd239c9f7855ba22aa8494aa0668256", + "path": "org/jetbrains/intellij/deps/languagetool/languagetool-core/6.7.20/languagetool-core-6.7.20.jar" + }, + { + "url": "org/jetbrains/intellij/deps/languagetool/languagetool-core/6.7.20/languagetool-core-6.7.20.jar", + "hash": "2ceb4fddcf6e6943e8e418a417caf05affd239c9f7855ba22aa8494aa0668256", + "path": "org/jetbrains/intellij/deps/languagetool/languagetool-core/6.7.20/languagetool-core-6.7.20.jar" }, { "url": "org/jetbrains/intellij/deps/org.eclipse.jgit/6.6.1.202309021850-r-jb-202407181518/org.eclipse.jgit-6.6.1.202309021850-r-jb-202407181518.jar", @@ -5900,14 +6425,14 @@ "path": "org/jetbrains/intellij/plugins/structure-intellij/3.316/structure-intellij-3.316.jar" }, { - "url": "org/jetbrains/jediterm/jediterm-core/3.57/jediterm-core-3.57.jar", - "hash": "e3d7c60adfdebe47732889d1ff21bc936ddf9990609ac54501c7cf749b0fe640", - "path": "org/jetbrains/jediterm/jediterm-core/3.57/jediterm-core-3.57.jar" + "url": "org/jetbrains/jediterm/jediterm-core/3.59/jediterm-core-3.59.jar", + "hash": "83247c676405d5c5c1764454d35f2bec4f70b72f1b75046d4c43bdbc49eb9587", + "path": "org/jetbrains/jediterm/jediterm-core/3.59/jediterm-core-3.59.jar" }, { - "url": "org/jetbrains/jediterm/jediterm-ui/3.57/jediterm-ui-3.57.jar", - "hash": "05a51058880face1793bcdee9b31578d0ca160fcf603e773d3a12c41d35fd43f", - "path": "org/jetbrains/jediterm/jediterm-ui/3.57/jediterm-ui-3.57.jar" + "url": "org/jetbrains/jediterm/jediterm-ui/3.59/jediterm-ui-3.59.jar", + "hash": "e94b38d2e49e405a93eff2b264692d148fc996d3e72051e145d31215326186a9", + "path": "org/jetbrains/jediterm/jediterm-ui/3.59/jediterm-ui-3.59.jar" }, { "url": "org/jetbrains/jetCheck/0.2.2/jetCheck-0.2.2.jar", @@ -5920,79 +6445,79 @@ "path": "org/jetbrains/jps/jps-javac-extension/10/jps-javac-extension-10.jar" }, { - "url": "org/jetbrains/kotlin/allopen-compiler-plugin-for-ide/2.3.20-ij253-45/allopen-compiler-plugin-for-ide-2.3.20-ij253-45.jar", + "url": "org/jetbrains/kotlin/allopen-compiler-plugin-for-ide/2.3.20-ij253-87/allopen-compiler-plugin-for-ide-2.3.20-ij253-87.jar", "hash": "f7374912dbbcfc18686114a78804a7f4ba91aa54b6f3bf4be10a54bb643f8a61", - "path": "org/jetbrains/kotlin/allopen-compiler-plugin-for-ide/2.3.20-ij253-45/allopen-compiler-plugin-for-ide-2.3.20-ij253-45.jar" + "path": "org/jetbrains/kotlin/allopen-compiler-plugin-for-ide/2.3.20-ij253-87/allopen-compiler-plugin-for-ide-2.3.20-ij253-87.jar" }, { - "url": "org/jetbrains/kotlin/analysis-api-fe10-for-ide/2.3.20-ij253-45/analysis-api-fe10-for-ide-2.3.20-ij253-45.jar", - "hash": "cbf24708e46c2e064a37887d5b53d1234ba2b3c1d285ecc9ba82cb6152076297", - "path": "org/jetbrains/kotlin/analysis-api-fe10-for-ide/2.3.20-ij253-45/analysis-api-fe10-for-ide-2.3.20-ij253-45.jar" + "url": "org/jetbrains/kotlin/analysis-api-fe10-for-ide/2.3.20-ij253-87/analysis-api-fe10-for-ide-2.3.20-ij253-87.jar", + "hash": "a43d956c010eedbf6df9e7050705c13abade18f3803264ac26cfa3fc00c72dd7", + "path": "org/jetbrains/kotlin/analysis-api-fe10-for-ide/2.3.20-ij253-87/analysis-api-fe10-for-ide-2.3.20-ij253-87.jar" }, { - "url": "org/jetbrains/kotlin/analysis-api-for-ide/2.3.20-ij253-45/analysis-api-for-ide-2.3.20-ij253-45.jar", - "hash": "47db94b0240122449cb95aa00dd8b9d0722948b81f8390b9d27d38797c0fc784", - "path": "org/jetbrains/kotlin/analysis-api-for-ide/2.3.20-ij253-45/analysis-api-for-ide-2.3.20-ij253-45.jar" + "url": "org/jetbrains/kotlin/analysis-api-for-ide/2.3.20-ij253-87/analysis-api-for-ide-2.3.20-ij253-87.jar", + "hash": "956c4e4e9c423e4a3a4f90a6436aabc6f377765621bfdc9eb862207160216b02", + "path": "org/jetbrains/kotlin/analysis-api-for-ide/2.3.20-ij253-87/analysis-api-for-ide-2.3.20-ij253-87.jar" }, { - "url": "org/jetbrains/kotlin/analysis-api-impl-base-for-ide/2.3.20-ij253-45/analysis-api-impl-base-for-ide-2.3.20-ij253-45.jar", - "hash": "1ae230b0e5847a47838b871060b7271c9b2329febb85e1470d1490ffe2e28fd4", - "path": "org/jetbrains/kotlin/analysis-api-impl-base-for-ide/2.3.20-ij253-45/analysis-api-impl-base-for-ide-2.3.20-ij253-45.jar" + "url": "org/jetbrains/kotlin/analysis-api-impl-base-for-ide/2.3.20-ij253-87/analysis-api-impl-base-for-ide-2.3.20-ij253-87.jar", + "hash": "4954ca1501a0963e7e0ac3c9ef633e1976f795e8c6bf1c52d0a28b08e5751ffb", + "path": "org/jetbrains/kotlin/analysis-api-impl-base-for-ide/2.3.20-ij253-87/analysis-api-impl-base-for-ide-2.3.20-ij253-87.jar" }, { - "url": "org/jetbrains/kotlin/analysis-api-impl-base-tests-for-ide/2.3.20-ij253-45/analysis-api-impl-base-tests-for-ide-2.3.20-ij253-45.jar", + "url": "org/jetbrains/kotlin/analysis-api-impl-base-tests-for-ide/2.3.20-ij253-87/analysis-api-impl-base-tests-for-ide-2.3.20-ij253-87.jar", "hash": "c6deada2fac53b8ea6523dbda77597b128006674616f140f04df23264c6d1aa3", - "path": "org/jetbrains/kotlin/analysis-api-impl-base-tests-for-ide/2.3.20-ij253-45/analysis-api-impl-base-tests-for-ide-2.3.20-ij253-45.jar" + "path": "org/jetbrains/kotlin/analysis-api-impl-base-tests-for-ide/2.3.20-ij253-87/analysis-api-impl-base-tests-for-ide-2.3.20-ij253-87.jar" }, { - "url": "org/jetbrains/kotlin/analysis-api-k2-for-ide/2.3.20-ij253-45/analysis-api-k2-for-ide-2.3.20-ij253-45.jar", - "hash": "7fdbe230eae422cec677a358823315996f53853d4b4469e45e1531fb4f4e5245", - "path": "org/jetbrains/kotlin/analysis-api-k2-for-ide/2.3.20-ij253-45/analysis-api-k2-for-ide-2.3.20-ij253-45.jar" + "url": "org/jetbrains/kotlin/analysis-api-k2-for-ide/2.3.20-ij253-87/analysis-api-k2-for-ide-2.3.20-ij253-87.jar", + "hash": "fa5e5854a339d3c76c89987f638df5b64b27b888272ec7162763981fae7d06ae", + "path": "org/jetbrains/kotlin/analysis-api-k2-for-ide/2.3.20-ij253-87/analysis-api-k2-for-ide-2.3.20-ij253-87.jar" }, { - "url": "org/jetbrains/kotlin/analysis-api-k2-tests-for-ide/2.3.20-ij253-45/analysis-api-k2-tests-for-ide-2.3.20-ij253-45.jar", - "hash": "7359f01e280d5d55781135956975278b3e4c1472e9628cce72bb0071705ce63b", - "path": "org/jetbrains/kotlin/analysis-api-k2-tests-for-ide/2.3.20-ij253-45/analysis-api-k2-tests-for-ide-2.3.20-ij253-45.jar" + "url": "org/jetbrains/kotlin/analysis-api-k2-tests-for-ide/2.3.20-ij253-87/analysis-api-k2-tests-for-ide-2.3.20-ij253-87.jar", + "hash": "725800ece6c76c3de403c1a936e415770a8bd5512d138b8491eb5433c5cd666d", + "path": "org/jetbrains/kotlin/analysis-api-k2-tests-for-ide/2.3.20-ij253-87/analysis-api-k2-tests-for-ide-2.3.20-ij253-87.jar" }, { - "url": "org/jetbrains/kotlin/analysis-api-platform-interface-for-ide/2.3.20-ij253-45/analysis-api-platform-interface-for-ide-2.3.20-ij253-45.jar", + "url": "org/jetbrains/kotlin/analysis-api-platform-interface-for-ide/2.3.20-ij253-87/analysis-api-platform-interface-for-ide-2.3.20-ij253-87.jar", "hash": "33db5c2be1f298109a32c67efc9ff9f2351812cd18b1d3e3b6142b8c1f6562a0", - "path": "org/jetbrains/kotlin/analysis-api-platform-interface-for-ide/2.3.20-ij253-45/analysis-api-platform-interface-for-ide-2.3.20-ij253-45.jar" + "path": "org/jetbrains/kotlin/analysis-api-platform-interface-for-ide/2.3.20-ij253-87/analysis-api-platform-interface-for-ide-2.3.20-ij253-87.jar" }, { - "url": "org/jetbrains/kotlin/assignment-compiler-plugin-for-ide/2.3.20-ij253-45/assignment-compiler-plugin-for-ide-2.3.20-ij253-45.jar", + "url": "org/jetbrains/kotlin/assignment-compiler-plugin-for-ide/2.3.20-ij253-87/assignment-compiler-plugin-for-ide-2.3.20-ij253-87.jar", "hash": "a1c99ebaca3f02a43d27c295ff6481a860c8e1e9f3b5a67dca2d6a01d5d977e5", - "path": "org/jetbrains/kotlin/assignment-compiler-plugin-for-ide/2.3.20-ij253-45/assignment-compiler-plugin-for-ide-2.3.20-ij253-45.jar" + "path": "org/jetbrains/kotlin/assignment-compiler-plugin-for-ide/2.3.20-ij253-87/assignment-compiler-plugin-for-ide-2.3.20-ij253-87.jar" }, { - "url": "org/jetbrains/kotlin/compose-compiler-plugin-for-ide/2.3.20-ij253-45/compose-compiler-plugin-for-ide-2.3.20-ij253-45.jar", - "hash": "84612c6b067f7018325c00975bb49a35e1947d8de1c03009e999b746219105f4", - "path": "org/jetbrains/kotlin/compose-compiler-plugin-for-ide/2.3.20-ij253-45/compose-compiler-plugin-for-ide-2.3.20-ij253-45.jar" + "url": "org/jetbrains/kotlin/compose-compiler-plugin-for-ide/2.3.20-ij253-87/compose-compiler-plugin-for-ide-2.3.20-ij253-87.jar", + "hash": "32ce7920a16422638113923f434afffa11f1e65306548ed4044bab4be9ee17be", + "path": "org/jetbrains/kotlin/compose-compiler-plugin-for-ide/2.3.20-ij253-87/compose-compiler-plugin-for-ide-2.3.20-ij253-87.jar" }, { - "url": "org/jetbrains/kotlin/incremental-compilation-impl-tests-for-ide/2.3.20-ij253-45/incremental-compilation-impl-tests-for-ide-2.3.20-ij253-45.jar", + "url": "org/jetbrains/kotlin/incremental-compilation-impl-tests-for-ide/2.3.20-ij253-87/incremental-compilation-impl-tests-for-ide-2.3.20-ij253-87.jar", "hash": "9d2369a7e71ff367dbed384ee50976c25743b09e4be68a58f9412ad165d8e0d7", - "path": "org/jetbrains/kotlin/incremental-compilation-impl-tests-for-ide/2.3.20-ij253-45/incremental-compilation-impl-tests-for-ide-2.3.20-ij253-45.jar" + "path": "org/jetbrains/kotlin/incremental-compilation-impl-tests-for-ide/2.3.20-ij253-87/incremental-compilation-impl-tests-for-ide-2.3.20-ij253-87.jar" }, { - "url": "org/jetbrains/kotlin/js-plain-objects-compiler-plugin-for-ide/2.3.20-ij253-45/js-plain-objects-compiler-plugin-for-ide-2.3.20-ij253-45.jar", - "hash": "fde628289a120756ea6155cbe76b905e7e800c968404aa20d76382ec0b26cf07", - "path": "org/jetbrains/kotlin/js-plain-objects-compiler-plugin-for-ide/2.3.20-ij253-45/js-plain-objects-compiler-plugin-for-ide-2.3.20-ij253-45.jar" + "url": "org/jetbrains/kotlin/js-plain-objects-compiler-plugin-for-ide/2.3.20-ij253-87/js-plain-objects-compiler-plugin-for-ide-2.3.20-ij253-87.jar", + "hash": "c3c265fa976e6e50758aece13351510a9b9a7f0de3ac476f5de7d617e926d3f4", + "path": "org/jetbrains/kotlin/js-plain-objects-compiler-plugin-for-ide/2.3.20-ij253-87/js-plain-objects-compiler-plugin-for-ide-2.3.20-ij253-87.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-build-common-tests-for-ide/2.3.20-ij253-45/kotlin-build-common-tests-for-ide-2.3.20-ij253-45.jar", - "hash": "c5d0331fb960fbb5e392118d1322e905f37be1b0b0abd6121d06caade7cc9b16", - "path": "org/jetbrains/kotlin/kotlin-build-common-tests-for-ide/2.3.20-ij253-45/kotlin-build-common-tests-for-ide-2.3.20-ij253-45.jar" + "url": "org/jetbrains/kotlin/kotlin-build-common-tests-for-ide/2.3.20-ij253-87/kotlin-build-common-tests-for-ide-2.3.20-ij253-87.jar", + "hash": "d0d925a63436683c9ba594cdef82902d0186c38b28d40489f358ca94989012f1", + "path": "org/jetbrains/kotlin/kotlin-build-common-tests-for-ide/2.3.20-ij253-87/kotlin-build-common-tests-for-ide-2.3.20-ij253-87.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-compiler-cli-for-ide/2.3.20-ij253-45/kotlin-compiler-cli-for-ide-2.3.20-ij253-45.jar", - "hash": "fd9db5d6b301967133bc977935d22295e247ed2ccefc2583942ef7376fd598c1", - "path": "org/jetbrains/kotlin/kotlin-compiler-cli-for-ide/2.3.20-ij253-45/kotlin-compiler-cli-for-ide-2.3.20-ij253-45.jar" + "url": "org/jetbrains/kotlin/kotlin-compiler-cli-for-ide/2.3.20-ij253-87/kotlin-compiler-cli-for-ide-2.3.20-ij253-87.jar", + "hash": "fb52f096c512486941155004f0f90522eda247f61014235860a7d95011600f56", + "path": "org/jetbrains/kotlin/kotlin-compiler-cli-for-ide/2.3.20-ij253-87/kotlin-compiler-cli-for-ide-2.3.20-ij253-87.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-compiler-common-for-ide/2.3.20-ij253-45/kotlin-compiler-common-for-ide-2.3.20-ij253-45.jar", - "hash": "4af9a30fde5d143da69428bfef59e292c794927613bf0a5b111aaaa0ead01ba2", - "path": "org/jetbrains/kotlin/kotlin-compiler-common-for-ide/2.3.20-ij253-45/kotlin-compiler-common-for-ide-2.3.20-ij253-45.jar" + "url": "org/jetbrains/kotlin/kotlin-compiler-common-for-ide/2.3.20-ij253-87/kotlin-compiler-common-for-ide-2.3.20-ij253-87.jar", + "hash": "777ab6852e6054d338ab20b59aa75f92244a116a465d247e8366571e231f7968", + "path": "org/jetbrains/kotlin/kotlin-compiler-common-for-ide/2.3.20-ij253-87/kotlin-compiler-common-for-ide-2.3.20-ij253-87.jar" }, { "url": "org/jetbrains/kotlin/kotlin-compiler-embeddable/2.0.21/kotlin-compiler-embeddable-2.0.21.jar", @@ -6010,24 +6535,24 @@ "path": "org/jetbrains/kotlin/kotlin-compiler-embeddable/2.0.21/kotlin-compiler-embeddable-2.0.21.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-compiler-fe10-for-ide/2.3.20-ij253-45/kotlin-compiler-fe10-for-ide-2.3.20-ij253-45.jar", - "hash": "d1f296fae451d3e16f70a6812fe88024132422189a6cb8a74e4f62b1fa5f18fd", - "path": "org/jetbrains/kotlin/kotlin-compiler-fe10-for-ide/2.3.20-ij253-45/kotlin-compiler-fe10-for-ide-2.3.20-ij253-45.jar" + "url": "org/jetbrains/kotlin/kotlin-compiler-fe10-for-ide/2.3.20-ij253-87/kotlin-compiler-fe10-for-ide-2.3.20-ij253-87.jar", + "hash": "862a7043999f5212182d41840e25c81f7bb837302d7d7ad1907c82154900ef92", + "path": "org/jetbrains/kotlin/kotlin-compiler-fe10-for-ide/2.3.20-ij253-87/kotlin-compiler-fe10-for-ide-2.3.20-ij253-87.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-compiler-fir-for-ide/2.3.20-ij253-45/kotlin-compiler-fir-for-ide-2.3.20-ij253-45.jar", - "hash": "51241b1d60e87ef52b69ad58dc530230dd832def0cec16ca3a57e705f7ecd9bc", - "path": "org/jetbrains/kotlin/kotlin-compiler-fir-for-ide/2.3.20-ij253-45/kotlin-compiler-fir-for-ide-2.3.20-ij253-45.jar" + "url": "org/jetbrains/kotlin/kotlin-compiler-fir-for-ide/2.3.20-ij253-87/kotlin-compiler-fir-for-ide-2.3.20-ij253-87.jar", + "hash": "c1246e36061a25d2d33ac251b57c017b180b2c00dff873a58bd28d82ac5391f2", + "path": "org/jetbrains/kotlin/kotlin-compiler-fir-for-ide/2.3.20-ij253-87/kotlin-compiler-fir-for-ide-2.3.20-ij253-87.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-compiler-ir-for-ide/2.3.20-ij253-45/kotlin-compiler-ir-for-ide-2.3.20-ij253-45.jar", - "hash": "230f801ec0de74e6363bf7553c71dbf085d1aaaadcf553afd1248ab51fbcfef1", - "path": "org/jetbrains/kotlin/kotlin-compiler-ir-for-ide/2.3.20-ij253-45/kotlin-compiler-ir-for-ide-2.3.20-ij253-45.jar" + "url": "org/jetbrains/kotlin/kotlin-compiler-ir-for-ide/2.3.20-ij253-87/kotlin-compiler-ir-for-ide-2.3.20-ij253-87.jar", + "hash": "3e864a41449ef1e2f106473953950d34e6278aa1350b5671357b30e7afbb1be1", + "path": "org/jetbrains/kotlin/kotlin-compiler-ir-for-ide/2.3.20-ij253-87/kotlin-compiler-ir-for-ide-2.3.20-ij253-87.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-compiler-tests-for-ide/2.3.20-ij253-45/kotlin-compiler-tests-for-ide-2.3.20-ij253-45.jar", - "hash": "4b182e6689c0b5ff330195dc89d249df941a11a7027ce08e6e84163fa89d37d2", - "path": "org/jetbrains/kotlin/kotlin-compiler-tests-for-ide/2.3.20-ij253-45/kotlin-compiler-tests-for-ide-2.3.20-ij253-45.jar" + "url": "org/jetbrains/kotlin/kotlin-compiler-tests-for-ide/2.3.20-ij253-87/kotlin-compiler-tests-for-ide-2.3.20-ij253-87.jar", + "hash": "f3e930788cd79cb3e5123b7b95d34ed8dc2deedfd42e9565ba097c953e32674d", + "path": "org/jetbrains/kotlin/kotlin-compiler-tests-for-ide/2.3.20-ij253-87/kotlin-compiler-tests-for-ide-2.3.20-ij253-87.jar" }, { "url": "org/jetbrains/kotlin/kotlin-compose-compiler-plugin/2.2.20/kotlin-compose-compiler-plugin-2.2.20.jar", @@ -6050,9 +6575,9 @@ "path": "org/jetbrains/kotlin/kotlin-daemon-embeddable/2.0.21/kotlin-daemon-embeddable-2.0.21.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-dataframe-compiler-plugin-for-ide/2.3.20-ij253-45/kotlin-dataframe-compiler-plugin-for-ide-2.3.20-ij253-45.jar", - "hash": "076c66a0899ca0dfaeb18efdf73ca70c0dfbe935a70e7f790e009885b61e56ee", - "path": "org/jetbrains/kotlin/kotlin-dataframe-compiler-plugin-for-ide/2.3.20-ij253-45/kotlin-dataframe-compiler-plugin-for-ide-2.3.20-ij253-45.jar" + "url": "org/jetbrains/kotlin/kotlin-dataframe-compiler-plugin-for-ide/2.3.20-ij253-87/kotlin-dataframe-compiler-plugin-for-ide-2.3.20-ij253-87.jar", + "hash": "5be504a59ebb1faaad1b947e70da101b79554cee42c6f7c4738bffed5babedcf", + "path": "org/jetbrains/kotlin/kotlin-dataframe-compiler-plugin-for-ide/2.3.20-ij253-87/kotlin-dataframe-compiler-plugin-for-ide-2.3.20-ij253-87.jar" }, { "url": "org/jetbrains/kotlin/kotlin-dist-for-ide/2.2.20/kotlin-dist-for-ide-2.2.20.jar", @@ -6070,14 +6595,14 @@ "path": "org/jetbrains/kotlin/kotlin-gradle-plugin-idea/1.9.20-dev-8162/kotlin-gradle-plugin-idea-1.9.20-dev-8162.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-gradle-statistics-for-ide/2.3.20-ij253-45/kotlin-gradle-statistics-for-ide-2.3.20-ij253-45.jar", - "hash": "94ffb26541561992a8eb23937f28437782830f896b90a6eed6f97e479fffdfa0", - "path": "org/jetbrains/kotlin/kotlin-gradle-statistics-for-ide/2.3.20-ij253-45/kotlin-gradle-statistics-for-ide-2.3.20-ij253-45.jar" + "url": "org/jetbrains/kotlin/kotlin-gradle-statistics-for-ide/2.3.20-ij253-87/kotlin-gradle-statistics-for-ide-2.3.20-ij253-87.jar", + "hash": "5ed51fde2e2c308a5e51c93f0c306e2df361d995358fe320e0fee3eafd88d0a7", + "path": "org/jetbrains/kotlin/kotlin-gradle-statistics-for-ide/2.3.20-ij253-87/kotlin-gradle-statistics-for-ide-2.3.20-ij253-87.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-jps-common-for-ide/2.3.20-ij253-45/kotlin-jps-common-for-ide-2.3.20-ij253-45.jar", + "url": "org/jetbrains/kotlin/kotlin-jps-common-for-ide/2.3.20-ij253-87/kotlin-jps-common-for-ide-2.3.20-ij253-87.jar", "hash": "4c42b6d0419bbdcb988df9ee3bd1d4f10fd90a3b1985966f66a9400d9c7a4ab0", - "path": "org/jetbrains/kotlin/kotlin-jps-common-for-ide/2.3.20-ij253-45/kotlin-jps-common-for-ide-2.3.20-ij253-45.jar" + "path": "org/jetbrains/kotlin/kotlin-jps-common-for-ide/2.3.20-ij253-87/kotlin-jps-common-for-ide-2.3.20-ij253-87.jar" }, { "url": "org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.2.0/kotlin-jps-plugin-classpath-2.2.0.jar", @@ -6090,9 +6615,9 @@ "path": "org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.2.20/kotlin-jps-plugin-classpath-2.2.20.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.3.20-ij253-45/kotlin-jps-plugin-classpath-2.3.20-ij253-45.jar", - "hash": "290744db458f813618c460312a1f35bb2ed082485385d558de368c893509d11c", - "path": "org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.3.20-ij253-45/kotlin-jps-plugin-classpath-2.3.20-ij253-45.jar" + "url": "org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.3.20-ij253-87/kotlin-jps-plugin-classpath-2.3.20-ij253-87.jar", + "hash": "c398467118f90fa52609c09fd853bbab73fa826fb6ba3193581d93007d3793d0", + "path": "org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.3.20-ij253-87/kotlin-jps-plugin-classpath-2.3.20-ij253-87.jar" }, { "url": "org/jetbrains/kotlin/kotlin-jps-plugin-tests-for-ide/2.2.20/kotlin-jps-plugin-tests-for-ide-2.2.20.jar", @@ -6165,9 +6690,9 @@ "path": "org/jetbrains/kotlin/kotlin-script-runtime/2.2.20/kotlin-script-runtime-2.2.20.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-script-runtime/2.3.20-ij253-45/kotlin-script-runtime-2.3.20-ij253-45.jar", - "hash": "c35fd880ce45b252c0daee0bc644ea91a326a69c9dceda54151f4b2e13f3bdc3", - "path": "org/jetbrains/kotlin/kotlin-script-runtime/2.3.20-ij253-45/kotlin-script-runtime-2.3.20-ij253-45.jar" + "url": "org/jetbrains/kotlin/kotlin-script-runtime/2.3.20-ij253-87/kotlin-script-runtime-2.3.20-ij253-87.jar", + "hash": "4708769225877c79239dfae72bf61947ef9834615d73d9e770e867ff2f4a5f10", + "path": "org/jetbrains/kotlin/kotlin-script-runtime/2.3.20-ij253-87/kotlin-script-runtime-2.3.20-ij253-87.jar" }, { "url": "org/jetbrains/kotlin/kotlin-scripting-common/2.0.21/kotlin-scripting-common-2.0.21.jar", @@ -6175,9 +6700,9 @@ "path": "org/jetbrains/kotlin/kotlin-scripting-common/2.0.21/kotlin-scripting-common-2.0.21.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-scripting-common/2.3.20-ij253-45/kotlin-scripting-common-2.3.20-ij253-45.jar", - "hash": "a06d90da5af5a992f93223d26976b81141edf5764dc798431352dbcd6606bce6", - "path": "org/jetbrains/kotlin/kotlin-scripting-common/2.3.20-ij253-45/kotlin-scripting-common-2.3.20-ij253-45.jar" + "url": "org/jetbrains/kotlin/kotlin-scripting-common/2.3.20-ij253-87/kotlin-scripting-common-2.3.20-ij253-87.jar", + "hash": "4232986f099ea03551b0090173ac8712eb0b154782cb3cb340073487f9b4b52e", + "path": "org/jetbrains/kotlin/kotlin-scripting-common/2.3.20-ij253-87/kotlin-scripting-common-2.3.20-ij253-87.jar" }, { "url": "org/jetbrains/kotlin/kotlin-scripting-compiler-embeddable/2.0.21/kotlin-scripting-compiler-embeddable-2.0.21.jar", @@ -6190,14 +6715,14 @@ "path": "org/jetbrains/kotlin/kotlin-scripting-compiler-impl-embeddable/2.0.21/kotlin-scripting-compiler-impl-embeddable-2.0.21.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-scripting-compiler-impl/2.3.20-ij253-45/kotlin-scripting-compiler-impl-2.3.20-ij253-45.jar", - "hash": "c2b19162264b2aa78371cd834f8703e1c49c032ec9862cdb9b744a4a2a8e7ded", - "path": "org/jetbrains/kotlin/kotlin-scripting-compiler-impl/2.3.20-ij253-45/kotlin-scripting-compiler-impl-2.3.20-ij253-45.jar" + "url": "org/jetbrains/kotlin/kotlin-scripting-compiler-impl/2.3.20-ij253-87/kotlin-scripting-compiler-impl-2.3.20-ij253-87.jar", + "hash": "284946efda62391471de3d4d7d64b4a807ce1f0f9fc7c31b049aed4d00e78a24", + "path": "org/jetbrains/kotlin/kotlin-scripting-compiler-impl/2.3.20-ij253-87/kotlin-scripting-compiler-impl-2.3.20-ij253-87.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-scripting-dependencies/2.3.20-ij253-45/kotlin-scripting-dependencies-2.3.20-ij253-45.jar", - "hash": "beeae35aaf0e3043b8202e081bbdeb55672a89dc8bbcc482dfa5cc21d26dc1de", - "path": "org/jetbrains/kotlin/kotlin-scripting-dependencies/2.3.20-ij253-45/kotlin-scripting-dependencies-2.3.20-ij253-45.jar" + "url": "org/jetbrains/kotlin/kotlin-scripting-dependencies/2.3.20-ij253-87/kotlin-scripting-dependencies-2.3.20-ij253-87.jar", + "hash": "8614dddf67f21aa730e3030dbe3d58e92986660043e470c4c5b4c136a5254710", + "path": "org/jetbrains/kotlin/kotlin-scripting-dependencies/2.3.20-ij253-87/kotlin-scripting-dependencies-2.3.20-ij253-87.jar" }, { "url": "org/jetbrains/kotlin/kotlin-scripting-jvm/2.0.21/kotlin-scripting-jvm-2.0.21.jar", @@ -6205,9 +6730,9 @@ "path": "org/jetbrains/kotlin/kotlin-scripting-jvm/2.0.21/kotlin-scripting-jvm-2.0.21.jar" }, { - "url": "org/jetbrains/kotlin/kotlin-scripting-jvm/2.3.20-ij253-45/kotlin-scripting-jvm-2.3.20-ij253-45.jar", - "hash": "42d81993e1dd93ba47dc648cf6f8af88aa20ab276077086adcffcc51cd65e08d", - "path": "org/jetbrains/kotlin/kotlin-scripting-jvm/2.3.20-ij253-45/kotlin-scripting-jvm-2.3.20-ij253-45.jar" + "url": "org/jetbrains/kotlin/kotlin-scripting-jvm/2.3.20-ij253-87/kotlin-scripting-jvm-2.3.20-ij253-87.jar", + "hash": "92c88ac1306aeffa70e74eb65d5b1c2cce32c963cae728284c5a22d96bb30019", + "path": "org/jetbrains/kotlin/kotlin-scripting-jvm/2.3.20-ij253-87/kotlin-scripting-jvm-2.3.20-ij253-87.jar" }, { "url": "org/jetbrains/kotlin/kotlin-stdlib-common/1.7.20/kotlin-stdlib-common-1.7.20.jar", @@ -6250,44 +6775,44 @@ "path": "org/jetbrains/kotlin/kotlin-tooling-core/1.9.20-dev-8162/kotlin-tooling-core-1.9.20-dev-8162.jar" }, { - "url": "org/jetbrains/kotlin/kotlinx-serialization-compiler-plugin-for-ide/2.3.20-ij253-45/kotlinx-serialization-compiler-plugin-for-ide-2.3.20-ij253-45.jar", - "hash": "7566ed7641a9eb3852d51a58f15f0815827c903b493ed0b7386a9ee4f83769ba", - "path": "org/jetbrains/kotlin/kotlinx-serialization-compiler-plugin-for-ide/2.3.20-ij253-45/kotlinx-serialization-compiler-plugin-for-ide-2.3.20-ij253-45.jar" + "url": "org/jetbrains/kotlin/kotlinx-serialization-compiler-plugin-for-ide/2.3.20-ij253-87/kotlinx-serialization-compiler-plugin-for-ide-2.3.20-ij253-87.jar", + "hash": "7810d0e3a97b3722d380c5a95e13936b3320acabd1123b80214bde25ea21345b", + "path": "org/jetbrains/kotlin/kotlinx-serialization-compiler-plugin-for-ide/2.3.20-ij253-87/kotlinx-serialization-compiler-plugin-for-ide-2.3.20-ij253-87.jar" }, { - "url": "org/jetbrains/kotlin/lombok-compiler-plugin-for-ide/2.3.20-ij253-45/lombok-compiler-plugin-for-ide-2.3.20-ij253-45.jar", + "url": "org/jetbrains/kotlin/lombok-compiler-plugin-for-ide/2.3.20-ij253-87/lombok-compiler-plugin-for-ide-2.3.20-ij253-87.jar", "hash": "8bc0ca5c9bb47b4ae74ab75306e8c0481d2748b3165dc850165d72d199540653", - "path": "org/jetbrains/kotlin/lombok-compiler-plugin-for-ide/2.3.20-ij253-45/lombok-compiler-plugin-for-ide-2.3.20-ij253-45.jar" + "path": "org/jetbrains/kotlin/lombok-compiler-plugin-for-ide/2.3.20-ij253-87/lombok-compiler-plugin-for-ide-2.3.20-ij253-87.jar" }, { - "url": "org/jetbrains/kotlin/low-level-api-fir-for-ide/2.3.20-ij253-45/low-level-api-fir-for-ide-2.3.20-ij253-45.jar", - "hash": "635cd736b002e250cbb2165f5cb05b2a9750f403ec8eaf6e1be9fad67f3ec1aa", - "path": "org/jetbrains/kotlin/low-level-api-fir-for-ide/2.3.20-ij253-45/low-level-api-fir-for-ide-2.3.20-ij253-45.jar" + "url": "org/jetbrains/kotlin/low-level-api-fir-for-ide/2.3.20-ij253-87/low-level-api-fir-for-ide-2.3.20-ij253-87.jar", + "hash": "2014b8257d0ecc50c3204a716028d629c6b31052922e6a8662ec02812fb7ada6", + "path": "org/jetbrains/kotlin/low-level-api-fir-for-ide/2.3.20-ij253-87/low-level-api-fir-for-ide-2.3.20-ij253-87.jar" }, { - "url": "org/jetbrains/kotlin/noarg-compiler-plugin-for-ide/2.3.20-ij253-45/noarg-compiler-plugin-for-ide-2.3.20-ij253-45.jar", + "url": "org/jetbrains/kotlin/noarg-compiler-plugin-for-ide/2.3.20-ij253-87/noarg-compiler-plugin-for-ide-2.3.20-ij253-87.jar", "hash": "261a90d908355e185f0a291aa71b3ce1f4e3c67aa31411244ef8c124958b0c77", - "path": "org/jetbrains/kotlin/noarg-compiler-plugin-for-ide/2.3.20-ij253-45/noarg-compiler-plugin-for-ide-2.3.20-ij253-45.jar" + "path": "org/jetbrains/kotlin/noarg-compiler-plugin-for-ide/2.3.20-ij253-87/noarg-compiler-plugin-for-ide-2.3.20-ij253-87.jar" }, { - "url": "org/jetbrains/kotlin/parcelize-compiler-plugin-for-ide/2.3.20-ij253-45/parcelize-compiler-plugin-for-ide-2.3.20-ij253-45.jar", + "url": "org/jetbrains/kotlin/parcelize-compiler-plugin-for-ide/2.3.20-ij253-87/parcelize-compiler-plugin-for-ide-2.3.20-ij253-87.jar", "hash": "c4e51a757d46f19bdc2264c7be0cba0cc52eb52c9047c0be9b1df91eb8195f4e", - "path": "org/jetbrains/kotlin/parcelize-compiler-plugin-for-ide/2.3.20-ij253-45/parcelize-compiler-plugin-for-ide-2.3.20-ij253-45.jar" + "path": "org/jetbrains/kotlin/parcelize-compiler-plugin-for-ide/2.3.20-ij253-87/parcelize-compiler-plugin-for-ide-2.3.20-ij253-87.jar" }, { - "url": "org/jetbrains/kotlin/sam-with-receiver-compiler-plugin-for-ide/2.3.20-ij253-45/sam-with-receiver-compiler-plugin-for-ide-2.3.20-ij253-45.jar", + "url": "org/jetbrains/kotlin/sam-with-receiver-compiler-plugin-for-ide/2.3.20-ij253-87/sam-with-receiver-compiler-plugin-for-ide-2.3.20-ij253-87.jar", "hash": "98457d26126f1095049a8769d78168ff7d0907f0b472ee28967073709b4b4607", - "path": "org/jetbrains/kotlin/sam-with-receiver-compiler-plugin-for-ide/2.3.20-ij253-45/sam-with-receiver-compiler-plugin-for-ide-2.3.20-ij253-45.jar" + "path": "org/jetbrains/kotlin/sam-with-receiver-compiler-plugin-for-ide/2.3.20-ij253-87/sam-with-receiver-compiler-plugin-for-ide-2.3.20-ij253-87.jar" }, { - "url": "org/jetbrains/kotlin/scripting-compiler-plugin-for-ide/2.3.20-ij253-45/scripting-compiler-plugin-for-ide-2.3.20-ij253-45.jar", + "url": "org/jetbrains/kotlin/scripting-compiler-plugin-for-ide/2.3.20-ij253-87/scripting-compiler-plugin-for-ide-2.3.20-ij253-87.jar", "hash": "75048ae78a873e992533ba3c376a65701cff28fbcafd79d587efc999a638e0bd", - "path": "org/jetbrains/kotlin/scripting-compiler-plugin-for-ide/2.3.20-ij253-45/scripting-compiler-plugin-for-ide-2.3.20-ij253-45.jar" + "path": "org/jetbrains/kotlin/scripting-compiler-plugin-for-ide/2.3.20-ij253-87/scripting-compiler-plugin-for-ide-2.3.20-ij253-87.jar" }, { - "url": "org/jetbrains/kotlin/symbol-light-classes-for-ide/2.3.20-ij253-45/symbol-light-classes-for-ide-2.3.20-ij253-45.jar", + "url": "org/jetbrains/kotlin/symbol-light-classes-for-ide/2.3.20-ij253-87/symbol-light-classes-for-ide-2.3.20-ij253-87.jar", "hash": "298e61756dab332adc36712f14803e47f65f114f736c41cace04eaef2cce380e", - "path": "org/jetbrains/kotlin/symbol-light-classes-for-ide/2.3.20-ij253-45/symbol-light-classes-for-ide-2.3.20-ij253-45.jar" + "path": "org/jetbrains/kotlin/symbol-light-classes-for-ide/2.3.20-ij253-87/symbol-light-classes-for-ide-2.3.20-ij253-87.jar" }, { "url": "org/jetbrains/kotlinx/atomicfu-jvm/0.20.2/atomicfu-jvm-0.20.2.jar", @@ -6440,14 +6965,14 @@ "path": "org/jetbrains/runtime/jbr-api/1.9.0/jbr-api-1.9.0.jar" }, { - "url": "org/jetbrains/skiko/skiko-awt-runtime-all/0.9.30/skiko-awt-runtime-all-0.9.30.jar", - "hash": "1f8643e58e3bfd16625b1db6a3fd237410a32a37d54b74c51914069eea0a60a6", - "path": "org/jetbrains/skiko/skiko-awt-runtime-all/0.9.30/skiko-awt-runtime-all-0.9.30.jar" + "url": "org/jetbrains/skiko/skiko-awt-runtime-all/0.9.37.3/skiko-awt-runtime-all-0.9.37.3.jar", + "hash": "920a8209561ed5dcf362b227bdb337c358402dc8914a08e507bdbbdbbd3bbe06", + "path": "org/jetbrains/skiko/skiko-awt-runtime-all/0.9.37.3/skiko-awt-runtime-all-0.9.37.3.jar" }, { - "url": "org/jetbrains/skiko/skiko-awt/0.9.30/skiko-awt-0.9.30.jar", - "hash": "928b8566c9bd03e51d69d72ed1106ef7eae2c9ad23d64e49966c5dc212dca411", - "path": "org/jetbrains/skiko/skiko-awt/0.9.30/skiko-awt-0.9.30.jar" + "url": "org/jetbrains/skiko/skiko-awt/0.9.37.3/skiko-awt-0.9.37.3.jar", + "hash": "cdfe998711c8f0fa84f21745ebcfe6d840d307c4ceea7f0dda3158be2bb2193d", + "path": "org/jetbrains/skiko/skiko-awt/0.9.37.3/skiko-awt-0.9.37.3.jar" }, { "url": "org/jetbrains/skiko/skiko-awt/0.9.4/skiko-awt-0.9.4.jar", @@ -6594,6 +7119,11 @@ "hash": "e89df61466f0807f8a86db0e8805a837e59462c8ca47c67786e432133c490aca", "path": "org/json/json/20240205/json-20240205.jar" }, + { + "url": "org/json/json/20240303/json-20240303.jar", + "hash": "3cf6cd6892e32e2b4c1c39e0f52f5248a2f5b37646fdfbb79a66b46b618414ed", + "path": "org/json/json/20240303/json-20240303.jar" + }, { "url": "org/jsoup/jsoup/1.21.2/jsoup-1.21.2.jar", "hash": "f05496e255734759f0d4b5632da7b24f81313147c78c69e90ad045d096191344", @@ -6719,6 +7249,11 @@ "hash": "fe8da88bb31b6372855741fbd81ee1c7477b4f8a0624d3dafd20ee23e184650e", "path": "org/languagetool/portuguese-pos-dict/1.2.0/portuguese-pos-dict-1.2.0.jar" }, + { + "url": "org/latencyutils/LatencyUtils/2.0.3/LatencyUtils-2.0.3.jar", + "hash": "a32a9ffa06b2f4e01c5360f8f9df7bc5d9454a5d373cd8f361347fa5a57165ec", + "path": "org/latencyutils/LatencyUtils/2.0.3/LatencyUtils-2.0.3.jar" + }, { "url": "org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1.jar", "hash": "488f51ed95f0fac48d1d87cb0e3bac08c012dcbf6ef3c1688685d708cdbccd56", @@ -6939,6 +7474,11 @@ "hash": "e7c2a48e8515ba1f49fa637d57b4e2f590b3f5bd97407ac699c3aa5efb1204a9", "path": "org/slf4j/slf4j-api/2.0.13/slf4j-api-2.0.13.jar" }, + { + "url": "org/slf4j/slf4j-api/2.0.16/slf4j-api-2.0.16.jar", + "hash": "a12578dde1ba00bd9b816d388a0b879928d00bab3c83c240f7013bf4196c579a", + "path": "org/slf4j/slf4j-api/2.0.16/slf4j-api-2.0.16.jar" + }, { "url": "org/slf4j/slf4j-api/2.0.17/slf4j-api-2.0.17.jar", "hash": "7b751d952061954d5abfed7181c1f645d336091b679891591d63329c622eb832", @@ -7184,6 +7724,16 @@ "hash": "7cbaa6f42e2c8412ef13cd0fb7f81936d64a1c3ea7c4f69cf75bb4e9410cb76b", "path": "tech/units/indriya/1.3/indriya-1.3.jar" }, + { + "url": "tech/units/indriya/1.3/indriya-1.3.jar", + "hash": "7cbaa6f42e2c8412ef13cd0fb7f81936d64a1c3ea7c4f69cf75bb4e9410cb76b", + "path": "tech/units/indriya/1.3/indriya-1.3.jar" + }, + { + "url": "tech/uom/lib/uom-lib-common/1.1/uom-lib-common-1.1.jar", + "hash": "4add5fbcb7f548b79230ed7e01cb9fd4f9e2524bd1598dbcbfd8150563fe27f7", + "path": "tech/uom/lib/uom-lib-common/1.1/uom-lib-common-1.1.jar" + }, { "url": "tech/uom/lib/uom-lib-common/1.1/uom-lib-common-1.1.jar", "hash": "4add5fbcb7f548b79230ed7e01cb9fd4f9e2524bd1598dbcbfd8150563fe27f7", @@ -7199,6 +7749,11 @@ "hash": "453886930ba7ba0d80d1158577e3e10d814e2c739ee17e297f062542d92dfd04", "path": "ua/net/nlp/morfologik-ukrainian-lt/6.7.1/morfologik-ukrainian-lt-6.7.1.jar" }, + { + "url": "ua/net/nlp/morfologik-ukrainian-lt/6.7.1/morfologik-ukrainian-lt-6.7.1.jar", + "hash": "453886930ba7ba0d80d1158577e3e10d814e2c739ee17e297f062542d92dfd04", + "path": "ua/net/nlp/morfologik-ukrainian-lt/6.7.1/morfologik-ukrainian-lt-6.7.1.jar" + }, { "url": "uk/org/webcompere/system-stubs-core/2.1.8/system-stubs-core-2.1.8.jar", "hash": "9c27322cfc7043c75384ad444007b0880ca18fe7231d69bfa69616bc773cafe1", diff --git a/pkgs/applications/editors/vim/plugins/non-generated/avante-nvim/default.nix b/pkgs/applications/editors/vim/plugins/non-generated/avante-nvim/default.nix index 0c774decd4d5..b3499fc7ab71 100644 --- a/pkgs/applications/editors/vim/plugins/non-generated/avante-nvim/default.nix +++ b/pkgs/applications/editors/vim/plugins/non-generated/avante-nvim/default.nix @@ -12,12 +12,12 @@ pkgs, }: let - version = "0.0.27-unstable-2026-01-24"; + version = "0.0.27-unstable-2026-02-03"; src = fetchFromGitHub { owner = "yetone"; repo = "avante.nvim"; - rev = "fde9a524457d17661618678f085649d4e8d3fd6f"; - hash = "sha256-i+IxrUcqQk9okjXkHm7m+PF6+H4YKUkOtuyF/ZuoCWc="; + rev = "d80b7966c0505809e83e408353bbe8cb3394936d"; + hash = "sha256-+IfICc7uBaMV27VJcHlUOxZ2TFQoIHFJPMtoIjjgnZ8="; }; avante-nvim-lib = rustPlatform.buildRustPackage { pname = "avante-nvim-lib"; diff --git a/pkgs/applications/editors/vim/plugins/non-generated/vectorcode-nvim/default.nix b/pkgs/applications/editors/vim/plugins/non-generated/vectorcode-nvim/default.nix index e928846098f7..d4d638c150e1 100644 --- a/pkgs/applications/editors/vim/plugins/non-generated/vectorcode-nvim/default.nix +++ b/pkgs/applications/editors/vim/plugins/non-generated/vectorcode-nvim/default.nix @@ -33,7 +33,7 @@ vimUtils.buildVimPlugin { meta = { description = "Index and navigate your code repository using vectorcode"; - homepage = "https://github.com/Davidyz/VectorCode/blob/main/docs/neovim.md"; + homepage = "https://github.com/Davidyz/VectorCode/blob/main/docs/neovim/README.md"; inherit (vectorcode.meta) changelog license; maintainers = with lib.maintainers; [ sarahec ]; }; diff --git a/pkgs/applications/emulators/libretro/cores/flycast.nix b/pkgs/applications/emulators/libretro/cores/flycast.nix index 602bf7f817f1..555fcc798db2 100644 --- a/pkgs/applications/emulators/libretro/cores/flycast.nix +++ b/pkgs/applications/emulators/libretro/cores/flycast.nix @@ -8,13 +8,13 @@ }: mkLibretroCore { core = "flycast"; - version = "0-unstable-2026-01-28"; + version = "0-unstable-2026-02-06"; src = fetchFromGitHub { owner = "flyinghead"; repo = "flycast"; - rev = "21eb24f86d785b1c631161f03057b22c160182c0"; - hash = "sha256-gGjSbkhy6ykEin8Bci6xHNII2MdEzLcUPr/dU6IwlIw="; + rev = "c577e29f43edc5a86c6ed4edca46706000d214b2"; + hash = "sha256-nHMtXwtrgxoN/tuY1d+DqZAJFag8vmHAP/9tS2j3ErU="; fetchSubmodules = true; }; diff --git a/pkgs/applications/networking/remote/teamviewer/default.nix b/pkgs/applications/networking/remote/teamviewer/default.nix index a0ee9f9c0344..b6218e40fa42 100644 --- a/pkgs/applications/networking/remote/teamviewer/default.nix +++ b/pkgs/applications/networking/remote/teamviewer/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { "out" "dev" ]; - version = "15.71.4"; + version = "15.74.3"; src = let @@ -38,11 +38,11 @@ stdenv.mkDerivation rec { { x86_64-linux = fetchurl { url = "${base_url}/teamviewer_${version}_amd64.deb"; - hash = "sha256-DztZRVBIFdLkZX1a89tVwJvJicgsm5YTux0ezyWL1+w="; + hash = "sha256-7QQlGzIr3BBFaur8ycGY0VuYz21cJI+EfCsRuCAr8XA="; }; aarch64-linux = fetchurl { url = "${base_url}/teamviewer_${version}_arm64.deb"; - hash = "sha256-lKEAuMsScbnEkgR6VFykEyar55u/Fdt5VcCWnKPwJLU="; + hash = "sha256-prz3RaeMykgLrK9ai3/ivzRsUFT1dyWP1xymEl3s4eA="; }; } .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); @@ -102,12 +102,8 @@ stdenv.mkDerivation rec { --replace '/opt/teamviewer/tv_bin/script/execscript' \ "$out/share/teamviewer/tv_bin/script/execscript" - for i in 16 20 24 32 48 256; do - size=$i"x"$i - - mkdir -p $out/share/icons/hicolor/$size/apps - ln -s $out/share/teamviewer/tv_bin/desktop/teamviewer_$i.png $out/share/icons/hicolor/$size/apps/TeamViewer.png - done; + mkdir -p $out/share/icons/hicolor/scalable/apps + ln -s $out/share/teamviewer/tv_bin/desktop/TeamViewer.svg $out/share/icons/hicolor/scalable/apps/TeamViewer.svg sed -i "s,/opt/teamviewer,$out/share/teamviewer,g" $out/share/teamviewer/tv_bin/desktop/com.teamviewer.*.desktop diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix index 5f8526d879aa..9f9a624cd0d2 100644 --- a/pkgs/applications/science/logic/coq/default.nix +++ b/pkgs/applications/science/logic/coq/default.nix @@ -74,6 +74,7 @@ let "9.0.0".sha256 = "sha256-GRwYSvrJGiPD+I82gLOgotb+8Ra5xHZUJGcNwxWqZkU="; "9.0.1".sha256 = "sha256-gRgQhFiYvGR/Z46TmTl1bgN9O32nifxQGdrzfw0WHrk="; "9.1.0".sha256 = "sha256-+QL7I1/0BfT87n7lSaOmpHj2jJuDB4idWhAxwzvVQOE="; + "9.1.1".sha256 = "sha256-aFsGsFzexyDnOVarHPKs35HjiV8uUCpeOKSl15wXZ4s="; "9.2+rc1".sha256 = "sha256-zKVhnBid5LOcd7uHWFGmUdHpyNLxIyB7RNNz5btz0mI="; }; releaseRev = v: "V${v}"; diff --git a/pkgs/applications/science/logic/rocq-core/default.nix b/pkgs/applications/science/logic/rocq-core/default.nix index bf8776d13d70..946509c216ad 100644 --- a/pkgs/applications/science/logic/rocq-core/default.nix +++ b/pkgs/applications/science/logic/rocq-core/default.nix @@ -27,6 +27,7 @@ let "9.0.0".sha256 = "sha256-GRwYSvrJGiPD+I82gLOgotb+8Ra5xHZUJGcNwxWqZkU="; "9.0.1".sha256 = "sha256-gRgQhFiYvGR/Z46TmTl1bgN9O32nifxQGdrzfw0WHrk="; "9.1.0".sha256 = "sha256-+QL7I1/0BfT87n7lSaOmpHj2jJuDB4idWhAxwzvVQOE="; + "9.1.1".sha256 = "sha256-aFsGsFzexyDnOVarHPKs35HjiV8uUCpeOKSl15wXZ4s="; "9.2+rc1".sha256 = "sha256-zKVhnBid5LOcd7uHWFGmUdHpyNLxIyB7RNNz5btz0mI="; }; releaseRev = v: "V${v}"; diff --git a/pkgs/by-name/bu/bun/package.nix b/pkgs/by-name/bu/bun/package.nix index c4bf1f495bce..c848bcedd4b4 100644 --- a/pkgs/by-name/bu/bun/package.nix +++ b/pkgs/by-name/bu/bun/package.nix @@ -17,7 +17,7 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { - version = "1.3.8"; + version = "1.3.9"; pname = "bun"; src = @@ -81,19 +81,19 @@ stdenvNoCC.mkDerivation (finalAttrs: { sources = { "aarch64-darwin" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${finalAttrs.version}/bun-darwin-aarch64.zip"; - hash = "sha256-ZyoKmnt0TQhaHSIZypB+Pib1V5/Knng6lRCk+Yo2IS8="; + hash = "sha256-zeak7fGc9kkJFY+lpGShICb9fw15pKlQwQzwrwQmbYU="; }; "aarch64-linux" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${finalAttrs.version}/bun-linux-aarch64.zip"; - hash = "sha256-Tp3raBSn7H9ocl3dl9DXtAZbzamoUPadSXVn6ZWn+jM="; + hash = "sha256-osKGK8wf0cCzqNzcjH77XirNhx6yDtLxdheITt6ByEQ="; }; "x86_64-darwin" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${finalAttrs.version}/bun-darwin-x64-baseline.zip"; - hash = "sha256-mBLl9sf4GO+cSR4Fp3SBqy56ShWAs3hSbhYRwQL+fKM="; + hash = "sha256-puFYIapgeV9UHOGPzha8qfKpThkwaLd/bzMzD00KOtU="; }; "x86_64-linux" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${finalAttrs.version}/bun-linux-x64.zip"; - hash = "sha256-AyKxfwci2namQpiq1JgiWu3L9t8QCKHe5F4W7LImo/E="; + hash = "sha256-RoDoDkTjKqcYVgzq6F0i7Pvy77jzZBeC415Lfv1loao="; }; }; updateScript = writeShellScript "update-bun" '' diff --git a/pkgs/by-name/ca/calibre/package.nix b/pkgs/by-name/ca/calibre/package.nix index edf7874a7f08..b9aca5aeb332 100644 --- a/pkgs/by-name/ca/calibre/package.nix +++ b/pkgs/by-name/ca/calibre/package.nix @@ -61,6 +61,22 @@ stdenv.mkDerivation (finalAttrs: { url = "https://github.com/debian-calibre/calibre/raw/refs/tags/debian/${finalAttrs.version}+${debian-source}/debian/patches/hardening/0007-Hardening-Qt-code.patch"; hash = "sha256-lKp/omNicSBiQUIK+6OOc8ysM6LImn5GxWhpXr4iX+U="; }) + # Fix CVE-2026-25636 + # http://tracker.security.nixos.org/issues/NIXPKGS-2026-0160 + # https://github.com/NixOS/nixpkgs/issues/488052 + # Fixed upstream in 9.1.0. + # + # Both patches appear to be needed to fix the CVE. + (fetchpatch { + name = "CVE-2026-25636.1.patch"; + url = "https://github.com/kovidgoyal/calibre/commit/267bfd34020a4f297c2de9cc0cde50ebe5d024d4.patch"; + hash = "sha256-5CKlJG0e0v/VXiIeAqiByThRgMs+gwRdgOzPHupB8A8="; + }) + (fetchpatch { + name = "CVE-2026-25636.2.patch"; + url = "https://github.com/kovidgoyal/calibre/commit/9484ea82c6ab226c18e6ca5aa000fa16de598726.patch"; + hash = "sha256-hpWFSQXyOAVRqou0v+5oT5zIrBbyP2Uv2z1Vg811ZG0="; + }) ] ++ lib.optional (!unrarSupport) ./dont_build_unrar_plugin.patch; diff --git a/pkgs/by-name/cl/clearlyU/package.nix b/pkgs/by-name/cl/clearly-u/package.nix similarity index 97% rename from pkgs/by-name/cl/clearlyU/package.nix rename to pkgs/by-name/cl/clearly-u/package.nix index 5d7424dd294e..c7d5e9dbe1cb 100644 --- a/pkgs/by-name/cl/clearlyU/package.nix +++ b/pkgs/by-name/cl/clearly-u/package.nix @@ -8,7 +8,7 @@ }: stdenv.mkDerivation (finalAttrs: { - pname = "clearlyU"; + pname = "clearly-u"; version = "12-1.9"; src = fetchurl { diff --git a/pkgs/by-name/di/diskgraph/package.nix b/pkgs/by-name/di/diskgraph/package.nix new file mode 100644 index 000000000000..1a2640472ebf --- /dev/null +++ b/pkgs/by-name/di/diskgraph/package.nix @@ -0,0 +1,33 @@ +{ + lib, + stdenv, + fetchFromGitHub, +}: + +stdenv.mkDerivation { + pname = "diskgraph"; + version = "0-unstable-2025-11-13"; + + src = fetchFromGitHub { + owner = "stolk"; + repo = "diskgraph"; + rev = "9a515fc620a792d118763ea591c304792e511274"; + hash = "sha256-iL4u63/dGapOSK7AuV1FChDUcwsBOcx0TYAhcH9E+S0="; + }; + + makeFlags = [ + "PREFIX=${placeholder "out"}" + ]; + + meta = { + description = "Terminal-based monitor for disk I/O"; + homepage = "https://github.com/stolk/diskgraph"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ + fliegendewurst + nettika + ]; + mainProgram = "diskgraph"; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/by-name/dn/dnf5/package.nix b/pkgs/by-name/dn/dnf5/package.nix index aeb44bb88b58..2f6680b7b7e3 100644 --- a/pkgs/by-name/dn/dnf5/package.nix +++ b/pkgs/by-name/dn/dnf5/package.nix @@ -33,7 +33,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "dnf5"; - version = "5.2.17.0"; + version = "5.2.18.0"; outputs = [ "out" @@ -44,7 +44,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "rpm-software-management"; repo = "dnf5"; tag = finalAttrs.version; - hash = "sha256-bVXmpoM2ymLgqjv8+3syYhkIKSyW68eKzKhUWRfR1vY="; + hash = "sha256-VTuGHHNNdoDfbJ86GOR4a+Fy2s+NSXPH337+AZpLKuo="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/ir/irrd/package.nix b/pkgs/by-name/ir/irrd/package.nix index 1be5211f501a..97b464f8f068 100644 --- a/pkgs/by-name/ir/irrd/package.nix +++ b/pkgs/by-name/ir/irrd/package.nix @@ -3,7 +3,6 @@ python3, fetchPypi, fetchFromGitHub, - fetchpatch, git, postgresql, postgresqlTestHook, @@ -35,27 +34,35 @@ let }; doCheck = false; }); + + # https://github.com/irrdnet/irrd/blob/0fd95020279060f2bc2816c0533c825e40f4c73c/pyproject.toml#L58C1-L59C1 + limits = prev.limits.overridePythonAttrs (oldAttrs: rec { + version = "5.6.0"; + src = fetchFromGitHub { + owner = "alisaifee"; + repo = "limits"; + tag = version; + hash = "sha256-kghfF2ihEvyMPEGO1m9BquCdeBsYRoPyIljdLL1hToQ="; + }; + doCheck = false; + }); + }; }; in -py.pkgs.buildPythonPackage rec { +py.pkgs.buildPythonPackage (finalAttrs: { pname = "irrd"; - version = "4.5.0b2"; + version = "4.5.0"; pyproject = true; src = fetchFromGitHub { owner = "irrdnet"; repo = "irrd"; - rev = "v${version}"; - hash = "sha256-MMacxjF0LLSdInSwXwpHJUTdUQJ6sl4yu83vWR/A4Jc="; + tag = "v${finalAttrs.version}"; + hash = "sha256-6z94Ha2QQ0LE4o3hzsNl4y/nPv849cSP8on3UeegE4c="; }; - postPatch = '' - substituteInPlace pyproject.toml \ - --replace-fail py-radix py-radix-sr - ''; - pythonRelaxDeps = true; build-system = with python3.pkgs; [ poetry-core ]; @@ -153,10 +160,10 @@ py.pkgs.buildPythonPackage rec { ]; meta = { - changelog = "https://irrd.readthedocs.io/en/v${version}/releases/"; + changelog = "https://irrd.readthedocs.io/en/${finalAttrs.src.tag}/releases/"; description = "Internet Routing Registry database server, processing IRR objects in the RPSL format"; license = lib.licenses.mit; homepage = "https://github.com/irrdnet/irrd"; maintainers = with lib.maintainers; [ yureka-wdz ]; }; -} +}) diff --git a/pkgs/by-name/le/ledger-live-desktop/package.nix b/pkgs/by-name/le/ledger-live-desktop/package.nix index 268364b71480..ccd3519533a6 100644 --- a/pkgs/by-name/le/ledger-live-desktop/package.nix +++ b/pkgs/by-name/le/ledger-live-desktop/package.nix @@ -8,11 +8,11 @@ let pname = "ledger-live-desktop"; - version = "2.139.0"; + version = "2.139.1"; src = fetchurl { url = "https://download.live.ledger.com/${pname}-${version}-linux-x86_64.AppImage"; - hash = "sha256-sTqa/UOKkZodwSPnxkjxjz15xrr1VSCuAiO3bmzsbQU="; + hash = "sha256-I4NYtvef+6wnd3IMffwAeuCg4dvGz6gLRcYHwXWwdtM="; }; appimageContents = appimageTools.extractType2 { diff --git a/pkgs/by-name/ol/ollama/package.nix b/pkgs/by-name/ol/ollama/package.nix index 79dc42eca7a1..f1f56848f645 100644 --- a/pkgs/by-name/ol/ollama/package.nix +++ b/pkgs/by-name/ol/ollama/package.nix @@ -137,13 +137,13 @@ let in goBuild (finalAttrs: { pname = "ollama"; - version = "0.15.5"; + version = "0.15.6"; src = fetchFromGitHub { owner = "ollama"; repo = "ollama"; tag = "v${finalAttrs.version}"; - hash = "sha256-VJrAUHX+BVQXsH34BDI4YqVXEqD14ERnKhSpMByAdrQ="; + hash = "sha256-II9ffgkMj2yx7Sek5PuAgRnUIS1Kf1UeK71+DwAgBRE="; }; vendorHash = "sha256-r7bSHOYAB5f3fRz7lKLejx6thPx0dR4UXoXu0XD7kVM="; diff --git a/pkgs/by-name/op/opencsg/package.nix b/pkgs/by-name/op/opencsg/package.nix index 134d6af97caf..e4eda4c6604c 100644 --- a/pkgs/by-name/op/opencsg/package.nix +++ b/pkgs/by-name/op/opencsg/package.nix @@ -15,11 +15,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "opencsg"; - version = "1.8.1"; + version = "1.8.2"; src = fetchurl { url = "http://www.opencsg.org/OpenCSG-${finalAttrs.version}.tar.gz"; - hash = "sha256-r8wASontO8R4qeS6ObIPPVibJOI+J1tzg/kaWQ1NV8U="; + hash = "sha256-WsXfc7GtM0DdZwX/kOAJ8alGu5U2whwiY6b5dCZWZMA="; }; patches = lib.optionals stdenv.hostPlatform.isDarwin [ ./opencsgexample.patch ]; diff --git a/pkgs/by-name/pd/pdfding/frontend.nix b/pkgs/by-name/pd/pdfding/frontend.nix new file mode 100644 index 000000000000..c408df8cdf9f --- /dev/null +++ b/pkgs/by-name/pd/pdfding/frontend.nix @@ -0,0 +1,81 @@ +{ + stdenv, + fetchpatch2, + fetchNpmDeps, + fetchzip, + fetchFromGitHub, + npmHooks, + + tailwindcss_4, + nodejs, +}: +let + pdfjsVersion = "5.4.394"; # see update script + pdfjsHash = "sha256-pd7xwfvR9U1bHT5eblszYU3YJQwQwhuyDDiNj+fnyaQ="; + pdfjs = fetchzip { + url = "https://github.com/mozilla/pdf.js/releases/download/v${pdfjsVersion}/pdfjs-${pdfjsVersion}-dist.zip"; + hash = pdfjsHash; + stripRoot = false; + postFetch = '' + rm -rf $out/web/locale \ + $out/web/standard_fonts \ + $out/web/compressed.tracemonkey-pldi-09.pdf + + # remove source maps + find "$out" -name '*.map' -exec rm -f '{}' \; + ''; + }; +in +stdenv.mkDerivation (finalAttrs: { + pname = "pdfding-frontend"; + version = "1.5.1"; + src = fetchFromGitHub { + owner = "mrmn2"; + repo = "PdfDing"; + tag = "v${finalAttrs.version}"; + hash = "sha256-PXkD+2k8/LmMWzZAj8qEK4mLoOKS4mDWcqe8AgoCdBU="; + }; + + npmDeps = fetchNpmDeps { + inherit (finalAttrs) src; + name = "pdfding-frontend-${finalAttrs.version}-npm-deps"; + hash = "sha256-SgL8QhRGONGhJBu6b8HSVqZPzJ+NojhVClBEH5ajCcc="; + }; + + nativeBuildInputs = [ + nodejs + npmHooks.npmConfigHook + # it is in package.json and thus node_modules but no cli executable + tailwindcss_4 + ]; + + # keeping the file structure same as upstream to minimise confusion + buildPhase = '' + runHook preBuild + mkdir -p $out/pdfding + cp -r --no-preserve=mode pdfding/static $out/pdfding/static + cp -r --no-preserve=mode ${finalAttrs.passthru.pdfjs} $out/pdfding/static/pdfjs + + tailwindcss -i $out/pdfding/static/css/input.css -o $out/pdfding/static/css/tailwind.css --minify + rm $out/pdfding/static/css/input.css + + for i in build/pdf.mjs build/pdf.sandbox.mjs build/pdf.worker.mjs web/viewer.mjs; + do + node_modules/terser/bin/terser $out/pdfding/static/pdfjs/$i --compress -o $out/pdfding/static/pdfjs/$i; + done + + npm run build + + cp -r pdfding/static/js $out/pdfding/static + + runHook postBuild + ''; + + passthru = { + inherit pdfjs; + }; + + meta = { + description = "PdfDing frontend"; + }; +}) diff --git a/pkgs/by-name/pd/pdfding/package.nix b/pkgs/by-name/pd/pdfding/package.nix new file mode 100644 index 000000000000..30099f6978b0 --- /dev/null +++ b/pkgs/by-name/pd/pdfding/package.nix @@ -0,0 +1,206 @@ +{ + lib, + callPackage, + fetchFromGitHub, + fetchpatch2, + makeWrapper, + nixosTests, + + python3, +}: +let + python = python3; +in +python.pkgs.buildPythonPackage (finalAttrs: { + pname = "pdfding"; + version = "1.5.1"; + src = fetchFromGitHub { + owner = "mrmn2"; + repo = "PdfDing"; + tag = "v${finalAttrs.version}"; + hash = "sha256-PXkD+2k8/LmMWzZAj8qEK4mLoOKS4mDWcqe8AgoCdBU="; + }; + pyproject = true; + + patches = [ + # fixes two tests, remove patch in the next version + # https://github.com/mrmn2/PdfDing/pull/248 + (fetchpatch2 { + url = "https://github.com/mrmn2/PdfDing/pull/248/commits/8f6900dddd1dbbe1a1024a484f63b792dd022f99.patch?full_index=1"; + hash = "sha256-5oUC2TKL4X5IFy/41qViaafyUr4+bLBIovk9AWQmxZc="; + }) + ]; + + # remove supervisor from dependencies + postPatch = '' + sed -i 's/supervisor.*$//' pyproject.toml + + substituteInPlace pdfding/backup/tests/test_management.py pdfding/backup/tests/test_tasks.py \ + --replace-fail "Path(__file__).parents[2]" "Path('$PDFDING_OUT_DIR')" + ''; + + dependencies = + with python.pkgs; + [ + django + django-allauth + django-cleanup + django-htmx + gunicorn + huey + markdown + minio + nh3 + oauthlib + pillow + psycopg2-binary + pypdf + pypdfium2 + python-magic + qrcode + rapidfuzz + ruamel-yaml + whitenoise + + # dependecies required for django collectstatic + cryptography + pyjwt + requests + ] + ++ qrcode.optional-dependencies.pil + ++ django-allauth.optional-dependencies.socialaccount; + + build-system = with python.pkgs; [ poetry-core ]; + + nativeBuildInputs = [ + makeWrapper + ]; + + optional-dependencies = { + e2e = with python.pkgs; [ + pytest + pytest-django + pytest-playwright + pytest-rerunfailures # required to retry some flaky e2e tests + ]; + }; + + preBuild = '' + # remove originals, copy from frontend + rm -rf pdfding/static + ln -s ${finalAttrs.passthru.frontend}/pdfding/static pdfding/static + + # staticfiles step requires prod configuration, remove dev.py + mv pdfding/core/settings/dev.py dev.py.bak + + ${python.pythonOnBuildForHost.interpreter} pdfding/manage.py collectstatic + + # not needed, now we have staticfiles directory + rm -rf pdfding/static + + # the following is from upstream's Dockerfile + + # remove django md5 hash from filenames of pdfjs as it will mess up the relative imports because of the whitenoise setup + export PDFJS_PATH="pdfding/staticfiles/pdfjs" + for file_name in $(find $PDFJS_PATH -type f -not -path "$PDFJS_PATH/web/images/*") + do + if [[ $file_name =~ "LICENSE" ]]; then + new=$(echo "$file_name" | sed -E "s/LICENSE\.[a-zA-Z0-9]{12}/LICENSE/"); + else + new=$(echo "$file_name" | sed -E "s/\.[a-zA-Z0-9]{12}\./\./"); + fi; + mv -- "$file_name" "$new"; + done \ + && echo 'Successfully removed hash from pdfjs files' + + echo "VERSION = '${finalAttrs.version}'" > pdfding/core/settings/version.py; + ''; + + env.PDFDING_OUT_DIR = "${placeholder "out"}/${python.sitePackages}/pdfding"; + + makeWrapperArgs = [ + "--set-default DATA_DIR /var/lib/pdfding" + # allow for gunicorn processes to have access to Python packages + "--prefix PYTHONPATH : " + "${python.pkgs.makePythonPath finalAttrs.passthru.dependencies}:${finalAttrs.env.PDFDING_OUT_DIR}" + ]; + + postInstall = '' + mkdir -p $out/bin + + makeWrapper "$PDFDING_OUT_DIR/manage.py" $out/bin/pdfding-manage \ + $makeWrapperArgs + + makeWrapper ${lib.getExe python.pkgs.gunicorn} $out/bin/pdfding-start \ + --add-flags '--bind ''${HOST_IP:-127.0.0.1}:''${HOST_PORT:-8080} core.wsgi:application' \ + $makeWrapperArgs + ''; + + pythonRelaxDeps = [ + "django" + "django-allauth" + "django-htmx" + "pypdf" + "ruamel-yaml" + ]; + + nativeCheckInputs = with python.pkgs; [ + pytest-django + pytestCheckHook + ]; + + # from .github/workflows/tests.yaml + pytestFlags = [ + "--ignore=e2e" + ]; + + disabledTests = [ + # broken tests in 1.5.0 + "test_adjust_file_paths_to_ws_collection" + "test_oidc_callback" # AssertionError: 200 != 401 + ]; + + /* + fix two breaking tests by providing full out path + AssertionError: Calls not found + AssertionError: 'add_file_to_minio' does not contain all of ... + */ + preCheck = '' + # dev.py is required for tests, restore it + mv dev.py.bak $PDFDING_OUT_DIR/core/settings/dev.py + + # tests should run in pdfding directory + pushd pdfding + ''; + + postCheck = '' + # come out of the pdfding directory + popd + + # remove dev.py + rm $PDFDING_OUT_DIR/core/settings/dev.py + ''; + + pythonImportsCheck = [ + "pdfding" + ]; + + passthru = { + inherit python; + tests = nixosTests.pdfding; + frontend = callPackage ./frontend.nix { }; + updateScript = ./update.sh; + }; + + meta = { + changelog = "https://github.com/mrmn2/PdfDing/blob/${finalAttrs.src.rev}/CHANGELOG.md"; + description = "Selfhosted PDF manager, viewer and editor offering a seamless user experience on multiple devices"; + downloadPage = "https://github.com/mrmn2/PdfDing"; + homepage = "https://pdfding.com"; + license = lib.licenses.agpl3Only; + mainProgram = "pdfding-manage"; + maintainers = with lib.maintainers; [ phanirithvij ]; + platforms = lib.platforms.unix; + teams = with lib.teams; [ ngi ]; + }; +}) diff --git a/pkgs/by-name/pd/pdfding/update.sh b/pkgs/by-name/pd/pdfding/update.sh new file mode 100755 index 000000000000..debf815b4e70 --- /dev/null +++ b/pkgs/by-name/pd/pdfding/update.sh @@ -0,0 +1,53 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl jq nix-update gitMinimal prefetch-npm-deps coreutils + +set -x +set -eou pipefail + +version=$(curl ${GITHUB_TOKEN:+ -H "Authorization: Bearer $GITHUB_TOKEN"} -sL https://api.github.com/repos/mrmn2/PdfDing/releases/latest | jq -r '.tag_name') + +if [[ "v${UPDATE_NIX_OLD_VERSION:-}" == "$version" ]]; then + echo "Already up-to-date, version: $version" + exit 0 +fi + +# source hashes +nix-update --version="$version" pdfding +nix-update --version="$version" pdfding.frontend + +NIXPKGS_PATH="$(git rev-parse --show-toplevel)" +PACKAGE_DIR="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" + +TMPDIR="$(mktemp -d)" +trap 'rm -rf "$TMPDIR"' EXIT +cd "$TMPDIR" + +src="$(nix-build --no-link "$NIXPKGS_PATH" -A pdfding.src)" +cp "$src"/{package.json,package-lock.json} . + +# npmDeps hash +prev_npm_hash="$( + nix-instantiate "$NIXPKGS_PATH" \ + --eval --json \ + -A pdfding.frontend.npmDeps.hash | + jq -r . +)" +new_npm_hash="$(prefetch-npm-deps ./package-lock.json)" + +sed -i "s|$prev_npm_hash|$new_npm_hash|g" "$PACKAGE_DIR/frontend.nix" + +# pdfjs version +pdfjs_version="$(grep 'PDFJS_VERSION=' "$src/Dockerfile" | cut -d'=' -f2)" + +sed -i "s|pdfjsVersion = .*;|pdfjsVersion = \"$pdfjs_version\";|" "$PACKAGE_DIR/frontend.nix" + +# pdfjs hash +sed -i "s|pdfjsHash = .*;|pdfjsHash = \"sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\";|" "$PACKAGE_DIR/frontend.nix" + +set +e +new_pdfjs_hash="$( + nix-build --no-out-link -A pdfding.frontend.pdfjs "$NIXPKGS_PATH" 2>&1 >/dev/null | grep "got:" | cut -d':' -f2 | sed 's| ||g' +)" +set -e + +sed -i "s|\"sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\"|\"$new_pdfjs_hash\"|g" "$PACKAGE_DIR/frontend.nix" diff --git a/pkgs/by-name/pr/prometheus-alertmanager/package.nix b/pkgs/by-name/pr/prometheus-alertmanager/package.nix index 5d98b8d10be4..e59728333d3b 100644 --- a/pkgs/by-name/pr/prometheus-alertmanager/package.nix +++ b/pkgs/by-name/pr/prometheus-alertmanager/package.nix @@ -10,16 +10,16 @@ buildGoModule (finalAttrs: { pname = "alertmanager"; - version = "0.30.1"; + version = "0.31.0"; src = fetchFromGitHub { owner = "prometheus"; repo = "alertmanager"; tag = "v${finalAttrs.version}"; - hash = "sha256-xtQzbjtES5zh52ERCfCCeHyCxWaV3xSbP8qA/erYgRw="; + hash = "sha256-U8mG27sLw1cZDbSq44Zr2tubuuts4qVZB9Ux8QBWkZU="; }; - vendorHash = "sha256-LgGsXaJ97uXtqHHicsLOaMNx3PzlVPhz/xG+KvO4nLI="; + vendorHash = "sha256-X8BiQ9OSXj56mbjmb0AFaSsAWGwDhhMV/RztklxHYa4="; subPackages = [ "cmd/alertmanager" diff --git a/pkgs/by-name/ps/psysh/package.nix b/pkgs/by-name/ps/psysh/package.nix index 71b4f2a0e422..eae0ff6b9f10 100644 --- a/pkgs/by-name/ps/psysh/package.nix +++ b/pkgs/by-name/ps/psysh/package.nix @@ -4,41 +4,24 @@ php, versionCheckHook, }: - -let +php.buildComposerProject2 (finalAttrs: { pname = "psysh"; version = "0.12.19"; src = fetchFromGitHub { owner = "bobthecow"; repo = "psysh"; - tag = "v${version}"; - hash = "sha256-Gdye6+fdqqxgHqq79XJgSkywP1IMMAIVexh0kEol0Jw="; + tag = "v${finalAttrs.version}"; + hash = "sha256-j2AcpbptbsdK/GOIuglMBwklTZSAEa8oD7g/H9oibUo="; forceFetchGit = true; - }; -in -php.buildComposerProject2 (finalAttrs: { - inherit - pname - version - src - ; - - composerVendor = php.mkComposerVendor { - inherit - src - version - pname - ; - - preConfigure = '' - cp build/composer.json . - cp build/composer.lock . + postFetch = '' + cp $out/build/composer.json $out/ + cp $out/build/composer.lock $out/ ''; - - vendorHash = "sha256-MbYMFQVUmRAV7qttJBEJxzimeFIA0K8wbrwC9yDirf8="; }; + vendorHash = "sha256-MbYMFQVUmRAV7qttJBEJxzimeFIA0K8wbrwC9yDirf8="; + doInstallCheck = true; nativeInstallCheckInputs = [ versionCheckHook ]; diff --git a/pkgs/by-name/re/redocly/package.nix b/pkgs/by-name/re/redocly/package.nix index 91a66e43af7b..28fa48899ef7 100644 --- a/pkgs/by-name/re/redocly/package.nix +++ b/pkgs/by-name/re/redocly/package.nix @@ -9,16 +9,16 @@ buildNpmPackage rec { pname = "redocly"; - version = "2.14.3"; + version = "2.17.0"; src = fetchFromGitHub { owner = "Redocly"; repo = "redocly-cli"; rev = "@redocly/cli@${version}"; - hash = "sha256-pMLwGsit4vKZn9BC1Y5aIn7OG0kILmOpnYY/hMx7cSA="; + hash = "sha256-bhM8CIKmZ3p96DViHVieMmUXOtkhs0+nhQs4naIgQVY="; }; - npmDepsHash = "sha256-7cKjTXMzHu7RTnYFSQVHsh1/zDBV+VDnTITo+LXfjA4="; + npmDepsHash = "sha256-iWyFuyZJOW2/F1gE2nA601IlgXpYXeK31gwI+SfxRuY="; npmBuildScript = "prepare"; diff --git a/pkgs/by-name/sl/slint-tr-extractor/package.nix b/pkgs/by-name/sl/slint-tr-extractor/package.nix index ca3fa8e5f664..b35c59522b5a 100644 --- a/pkgs/by-name/sl/slint-tr-extractor/package.nix +++ b/pkgs/by-name/sl/slint-tr-extractor/package.nix @@ -7,13 +7,13 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "slint-tr-extractor"; - version = "1.14.1"; + version = "1.15.0"; src = fetchCrate { inherit (finalAttrs) pname version; - hash = "sha256-mKc75nvSeCLNZde9D2pdJk1iShdG23LRaZsB7V/S8YY="; + hash = "sha256-lxXJc1jDwqZTiA9wZ9i9nGwxRGvZ87s5jlHPJBdHle8="; }; - cargoHash = "sha256-uMYZ5kfHmiBnm9vRpoMPtsuICOi7fWervVYdVrjHgtY="; + cargoHash = "sha256-MY9qX8FnenCahBQgMLn7dcefqao2jDixScFXzf72NAk="; doInstallCheck = true; nativeInstallCheckInputs = [ versionCheckHook ]; diff --git a/pkgs/by-name/st/stock-tui/package.nix b/pkgs/by-name/st/stock-tui/package.nix new file mode 100644 index 000000000000..e5a376505058 --- /dev/null +++ b/pkgs/by-name/st/stock-tui/package.nix @@ -0,0 +1,32 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, +}: + +buildGoModule (finalAttrs: { + pname = "stock-tui"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "ni5arga"; + repo = "stock-tui"; + tag = "v${finalAttrs.version}"; + hash = "sha256-5k24fBG0ZBr2JhVf30IGjLky087j203hZGEvtSzwUqQ="; + }; + + subPackages = [ "cmd/stock-tui" ]; + + vendorHash = "sha256-Use54AVRMZ9xYx8tQpcRN3th+MufuER3lCJ+JVPpYRU="; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Terminal-based stock and cryptocurrency price tracker"; + homepage = "https://github.com/ni5arga/stock-tui"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ ni5arga ]; + mainProgram = "stock-tui"; + }; +}) diff --git a/pkgs/by-name/ve/versatiles/package.nix b/pkgs/by-name/ve/versatiles/package.nix index dec452551203..95aa9ae31cc6 100644 --- a/pkgs/by-name/ve/versatiles/package.nix +++ b/pkgs/by-name/ve/versatiles/package.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "versatiles"; - version = "3.4.0"; + version = "3.5.0"; src = fetchFromGitHub { owner = "versatiles-org"; repo = "versatiles-rs"; tag = "v${finalAttrs.version}"; - hash = "sha256-9mguuYR8sc+WpF9Jl+1O3iLkx+0jQxbckw8dUVPL3S4="; + hash = "sha256-bxrx+gjJbOzDvD6/Ov3vGCvDL6x5/tEo1+qFIWl7tTI="; }; - cargoHash = "sha256-/2gQib4ui7OG0DC+gk+kpNBNznCIcm9XuY0QasIi3Mg="; + cargoHash = "sha256-SN1+ujgaS/lfN/CyTOVwDft8MypdYfnz1LiJE7FtQ2s="; __darwinAllowLocalNetworking = true; diff --git a/pkgs/by-name/we/wechat-uos/package.nix b/pkgs/by-name/we/wechat-uos/package.nix index f6c89f75e50e..2438b13e452d 100644 --- a/pkgs/by-name/we/wechat-uos/package.nix +++ b/pkgs/by-name/we/wechat-uos/package.nix @@ -194,6 +194,14 @@ let xddxdd ]; mainProgram = "wechat-uos"; + knownVulnerabilities = [ + '' + CWE-78: Clicking on a file attachment whose name contains backtick-quoted + commands will cause it to be executed. + + Reference: https://archive.ph/A5McZ (Chinese) + '' + ]; }; }; in diff --git a/pkgs/by-name/we/wechat/package.nix b/pkgs/by-name/we/wechat/package.nix index 4fe5afe4f9d3..546fda69a0d8 100644 --- a/pkgs/by-name/we/wechat/package.nix +++ b/pkgs/by-name/we/wechat/package.nix @@ -23,6 +23,12 @@ let "aarch64-linux" "x86_64-linux" ]; + knownVulnerabilities = lib.optional stdenvNoCC.hostPlatform.isLinux '' + CWE-78: Clicking on a file attachment whose name contains backtick-quoted + commands will cause it to be executed. + + Reference: https://archive.ph/A5McZ (Chinese) + ''; }; sources = diff --git a/pkgs/by-name/za/zabbix-agent2-plugin-postgresql/package.nix b/pkgs/by-name/za/zabbix-agent2-plugin-postgresql/package.nix index f8aff172e508..60bf09b081f3 100644 --- a/pkgs/by-name/za/zabbix-agent2-plugin-postgresql/package.nix +++ b/pkgs/by-name/za/zabbix-agent2-plugin-postgresql/package.nix @@ -6,11 +6,11 @@ buildGoModule rec { pname = "zabbix-agent2-plugin-postgresql"; - version = "7.4.5"; + version = "7.4.6"; src = fetchurl { url = "https://cdn.zabbix.com/zabbix-agent2-plugins/sources/postgresql/zabbix-agent2-plugin-postgresql-${version}.tar.gz"; - hash = "sha256-AeQfPA1o5XmRcY9L6p4ZwOTEaq2h+35QuIHBZhxV/2M="; + hash = "sha256-rUv75kA/jU1fF1qWWkdRiAJVBWFD+78+YP/ovghtcxA="; }; vendorHash = null; diff --git a/pkgs/by-name/ze/zed-editor/package.nix b/pkgs/by-name/ze/zed-editor/package.nix index 7a87a841a22e..e55474f7437c 100644 --- a/pkgs/by-name/ze/zed-editor/package.nix +++ b/pkgs/by-name/ze/zed-editor/package.nix @@ -49,6 +49,7 @@ assert withGLES -> stdenv.hostPlatform.isLinux; let + channel = "stable"; executableName = "zeditor"; # Based on vscode.fhs # Zed allows for users to download and use extensions @@ -227,6 +228,7 @@ rustPlatform.buildRustPackage (finalAttrs: { useNextest = true; + remoteServerExecutableName = "zed-remote-server-${channel}-${finalAttrs.version}+${channel}"; installPhase = '' runHook preInstall @@ -284,7 +286,7 @@ rustPlatform.buildRustPackage (finalAttrs: { ) '' + lib.optionalString buildRemoteServer '' - install -Dm755 $release_target/remote_server $remote_server/bin/zed-remote-server-stable-$version + install -Dm755 $release_target/remote_server $remote_server/bin/${finalAttrs.remoteServerExecutableName} '' + '' runHook postInstall @@ -318,7 +320,7 @@ rustPlatform.buildRustPackage (finalAttrs: { tests = { remoteServerVersion = testers.testVersion { package = finalAttrs.finalPackage.remote_server; - command = "zed-remote-server-stable-${finalAttrs.version} version"; + command = "${finalAttrs.remoteServerExecutableName} version"; }; } // lib.optionalAttrs stdenv.hostPlatform.isLinux { diff --git a/pkgs/desktops/lomiri/qml/lomiri-push-qml/default.nix b/pkgs/desktops/lomiri/qml/lomiri-push-qml/default.nix index b870545ae031..25e59f222ec9 100644 --- a/pkgs/desktops/lomiri/qml/lomiri-push-qml/default.nix +++ b/pkgs/desktops/lomiri/qml/lomiri-push-qml/default.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "lomiri-push-qml"; - version = "0.3.1"; + version = "0.4.0"; src = fetchFromGitLab { owner = "ubports"; repo = "development/core/lomiri-push-qml"; tag = finalAttrs.version; - hash = "sha256-1HJkcAe5ixqmEACy4mSk5dSCPf4FsY3tzH6v09SSH+M="; + hash = "sha256-QpkW/fbl0Px5HsKfz/gv+D1S+iSpMZM8TiZCuAq1myk="; }; postPatch = '' @@ -46,8 +46,8 @@ stdenv.mkDerivation (finalAttrs: { dontWrapQtApps = true; cmakeFlags = [ - # In case anything still depends on deprecated hints - (lib.cmakeBool "ENABLE_UBUNTU_COMPAT" true) + (lib.cmakeBool "ENABLE_QT6" (lib.strings.versionAtLeast qtbase.version "6")) + (lib.cmakeBool "ENABLE_UBUNTU_COMPAT" (!lib.strings.versionAtLeast qtbase.version "6")) ]; preBuild = '' @@ -60,7 +60,9 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "Lomiri Push Notifications QML plugin"; homepage = "https://gitlab.com/ubports/development/core/lomiri-push-qml"; - # License file indicates gpl3Only, but de87869c2cdb9819c2ca7c9eca9c5fb8b500a01f says it should be lgpl3Only + changelog = "https://gitlab.com/ubports/development/core/lomiri-push-qml/-/blob/${ + if (!isNull finalAttrs.src.tag) then finalAttrs.src.tag else finalAttrs.src.rev + }/ChangeLog"; license = lib.licenses.lgpl3Only; teams = [ lib.teams.lomiri ]; platforms = lib.platforms.linux; diff --git a/pkgs/development/compilers/flutter/versions/3_41/data.json b/pkgs/development/compilers/flutter/versions/3_41/data.json index 98aef6bcc609..ac018edd16b4 100644 --- a/pkgs/development/compilers/flutter/versions/3_41/data.json +++ b/pkgs/development/compilers/flutter/versions/3_41/data.json @@ -1,73 +1,73 @@ { - "version": "3.41.0-0.2.pre", - "engineVersion": "15d137647e372c59e8dcb78f670ab7686a0d1031", + "version": "3.41.0-0.3.pre", + "engineVersion": "492bf6df86d056e47d05a3d5404f3d78939b3dae", "engineSwiftShaderHash": "sha256-qbtCl2nTpmtp9dnaoXc7rF3RqLnAZEmzw1BzPoCRWrc=", "engineSwiftShaderRev": "794b0cfce1d828d187637e6d932bae484fbe0976", "channel": "beta", "engineHashes": { "aarch64-linux": { - "aarch64-linux": "sha256-bRebKpS4FiIdhnTIsv0KfV3GqtRPrYZJrKq4R67iFpA=", - "x86_64-linux": "sha256-bRebKpS4FiIdhnTIsv0KfV3GqtRPrYZJrKq4R67iFpA=" + "aarch64-linux": "sha256-sL+RfXTdy5qAzgbSdfxeZHDcHSBzBLsbJ0Q8qLC9KMU=", + "x86_64-linux": "sha256-sL+RfXTdy5qAzgbSdfxeZHDcHSBzBLsbJ0Q8qLC9KMU=" }, "x86_64-linux": { - "aarch64-linux": "sha256-zvyMMc5vmtyl0W3H14JcxhyxAOYtRfqohb6F0hYFRcM=", - "x86_64-linux": "sha256-zvyMMc5vmtyl0W3H14JcxhyxAOYtRfqohb6F0hYFRcM=" + "aarch64-linux": "sha256-82KrH53pKiLCwdwzxlFRCD/IKe0RcP8NEnjItA2whdA=", + "x86_64-linux": "sha256-82KrH53pKiLCwdwzxlFRCD/IKe0RcP8NEnjItA2whdA=" } }, - "dartVersion": "3.11.0-296.4.beta", + "dartVersion": "3.11.0-296.5.beta", "dartHash": { - "x86_64-linux": "sha256-7K4IreZXaF9l8XL544miwKs5GjhxWQE51otR6cD0Qkk=", - "aarch64-linux": "sha256-5aQGrc1GD8hfut0qnGH+u4TcrHzCm0fM9rvu0dFGSQk=", - "x86_64-darwin": "sha256-/hifcVYo3B18i/77KCtYfHb1kj4ZdcIIaKBpo04BW/Q=", - "aarch64-darwin": "sha256-HRucig/9pSM9Z2EbRRjyL3/3BNz+63J76dMwBnjVuPY=" + "x86_64-linux": "sha256-7EJPXQQrViX66lnpdqapSuTYrcT2uNwpqZClpjvNzRY=", + "aarch64-linux": "sha256-2xgSEH9HQj8oJNH8eNs0NYxK3UGGaVBWnyuDbdam7XQ=", + "x86_64-darwin": "sha256-cz7VM3lBWxnpFNaOI3ERZXVOgtEPVa6LVpvnvqFcw2M=", + "aarch64-darwin": "sha256-eSTSzsjaIQUoTHqdwc3ZVkSKcXeiz+MIc0fh2XW935Q=" }, - "flutterHash": "sha256-thAwWiddq13E/s8MOMzqIC7xtVcZI8RwFB1qwiUTIjw=", + "flutterHash": "sha256-dCfrPq1oJOmDb3bP24D2rmDQzoB8uI3qJF2hqWmXywI=", "artifactHashes": { "android": { - "aarch64-darwin": "sha256-RfHYnEbc2Plwe9/qJ1qgWLPheYodrA8TiKohpjh0q8c=", - "aarch64-linux": "sha256-uUXiXB5Ar4VN25vaBoHTI+HuC8QLQ5YCcjPUMF+753A=", - "x86_64-darwin": "sha256-RfHYnEbc2Plwe9/qJ1qgWLPheYodrA8TiKohpjh0q8c=", - "x86_64-linux": "sha256-uUXiXB5Ar4VN25vaBoHTI+HuC8QLQ5YCcjPUMF+753A=" + "aarch64-darwin": "sha256-+HRucNf5J3fb1uVcYEte5zw4LcnfbmBL0kmeSQBHBlw=", + "aarch64-linux": "sha256-7t3r/mq8KnWEbY2CVCv7l2HAV2dncrJj18vb2QxTh+8=", + "x86_64-darwin": "sha256-+HRucNf5J3fb1uVcYEte5zw4LcnfbmBL0kmeSQBHBlw=", + "x86_64-linux": "sha256-7t3r/mq8KnWEbY2CVCv7l2HAV2dncrJj18vb2QxTh+8=" }, "fuchsia": { - "aarch64-darwin": "sha256-wwORZIhIAGvH0ksdyLRUIsmoQFz3sWp/zZ7Md6hbkFQ=", - "aarch64-linux": "sha256-wwORZIhIAGvH0ksdyLRUIsmoQFz3sWp/zZ7Md6hbkFQ=", - "x86_64-darwin": "sha256-wwORZIhIAGvH0ksdyLRUIsmoQFz3sWp/zZ7Md6hbkFQ=", - "x86_64-linux": "sha256-wwORZIhIAGvH0ksdyLRUIsmoQFz3sWp/zZ7Md6hbkFQ=" + "aarch64-darwin": "sha256-8MjxukMuB31krOuTaQdFw3uy57bNg053xFgwVZUr9qg=", + "aarch64-linux": "sha256-8MjxukMuB31krOuTaQdFw3uy57bNg053xFgwVZUr9qg=", + "x86_64-darwin": "sha256-8MjxukMuB31krOuTaQdFw3uy57bNg053xFgwVZUr9qg=", + "x86_64-linux": "sha256-8MjxukMuB31krOuTaQdFw3uy57bNg053xFgwVZUr9qg=" }, "ios": { - "aarch64-darwin": "sha256-fRHm09zjIC9oyHOpc2o/KQg8xCII+iaB4/CErKlItF4=", - "aarch64-linux": "sha256-fRHm09zjIC9oyHOpc2o/KQg8xCII+iaB4/CErKlItF4=", - "x86_64-darwin": "sha256-fRHm09zjIC9oyHOpc2o/KQg8xCII+iaB4/CErKlItF4=", - "x86_64-linux": "sha256-fRHm09zjIC9oyHOpc2o/KQg8xCII+iaB4/CErKlItF4=" + "aarch64-darwin": "sha256-2gOpJcPdzSY1q1SAs8oUJHkKTVQluFSrS3M4U3Mh9/o=", + "aarch64-linux": "sha256-2gOpJcPdzSY1q1SAs8oUJHkKTVQluFSrS3M4U3Mh9/o=", + "x86_64-darwin": "sha256-2gOpJcPdzSY1q1SAs8oUJHkKTVQluFSrS3M4U3Mh9/o=", + "x86_64-linux": "sha256-2gOpJcPdzSY1q1SAs8oUJHkKTVQluFSrS3M4U3Mh9/o=" }, "linux": { - "aarch64-darwin": "sha256-Zx9zWR0eOsiQGjnN8CIxKRNE0w7ck2ZzVEK71mqXMmc=", - "aarch64-linux": "sha256-Zx9zWR0eOsiQGjnN8CIxKRNE0w7ck2ZzVEK71mqXMmc=", - "x86_64-darwin": "sha256-jw+ZD2QIQsg6LbUchkDkMgyYKU+b/G9ZNVNCewBS0E4=", - "x86_64-linux": "sha256-jw+ZD2QIQsg6LbUchkDkMgyYKU+b/G9ZNVNCewBS0E4=" + "aarch64-darwin": "sha256-NouPte/10GE7QctNlMpDXP/Yl3dDEjC52cf3Zd8Si40=", + "aarch64-linux": "sha256-NouPte/10GE7QctNlMpDXP/Yl3dDEjC52cf3Zd8Si40=", + "x86_64-darwin": "sha256-ELqekEn0ofBiDMh+cUXYhYTweu81k7Qc2f3WlO0fZzE=", + "x86_64-linux": "sha256-ELqekEn0ofBiDMh+cUXYhYTweu81k7Qc2f3WlO0fZzE=" }, "macos": { - "aarch64-darwin": "sha256-OTUv/k3Nts5BBzz+dWQq6EeBPeMzfUvIo3A39K5xRgA=", - "aarch64-linux": "sha256-OTUv/k3Nts5BBzz+dWQq6EeBPeMzfUvIo3A39K5xRgA=", - "x86_64-darwin": "sha256-OTUv/k3Nts5BBzz+dWQq6EeBPeMzfUvIo3A39K5xRgA=", - "x86_64-linux": "sha256-OTUv/k3Nts5BBzz+dWQq6EeBPeMzfUvIo3A39K5xRgA=" + "aarch64-darwin": "sha256-Aj3FdXENj5fWleC/QaWQ5qWn+RNdFzq+lQoy3UgMF84=", + "aarch64-linux": "sha256-Aj3FdXENj5fWleC/QaWQ5qWn+RNdFzq+lQoy3UgMF84=", + "x86_64-darwin": "sha256-Aj3FdXENj5fWleC/QaWQ5qWn+RNdFzq+lQoy3UgMF84=", + "x86_64-linux": "sha256-Aj3FdXENj5fWleC/QaWQ5qWn+RNdFzq+lQoy3UgMF84=" }, "universal": { - "aarch64-darwin": "sha256-nWjUPgVwG0TJyTP1VpsJMI51/flfQyBhcsgv1DJpnZE=", - "aarch64-linux": "sha256-qmfIGpAqJl8giZrv918oJP04AD03XXXb18KPB2aP30U=", - "x86_64-darwin": "sha256-+L49rfv8uhBvqi5ezzOF16QFKgkxX/cleZDlt8NR5Oc=", - "x86_64-linux": "sha256-ifFFlLsgN7et/hpBQewYYeN7EzCUQAGUj5nlJgNt2UI=" + "aarch64-darwin": "sha256-ymXBamYKnmhcTwgc2rX/RgFdQml7obiYOpBh5ghKhlU=", + "aarch64-linux": "sha256-bULGcWqxjolrksGQYFXEx6zmlcDSD6ngw0L9kDoIVvY=", + "x86_64-darwin": "sha256-+erTasrFkQTXPQtuu8YzvfFspEVb0wIVX5jKPp9RXBE=", + "x86_64-linux": "sha256-8foy5AZZwTBPn2WrUiG8qgc+H/0bajCgSApJ/vIlVIw=" }, "web": { - "aarch64-darwin": "sha256-ReQNXUPZHGfL0grqK0cjc7xppYvxwFxJQl/FFGAqeDQ=", - "aarch64-linux": "sha256-ReQNXUPZHGfL0grqK0cjc7xppYvxwFxJQl/FFGAqeDQ=", - "x86_64-darwin": "sha256-ReQNXUPZHGfL0grqK0cjc7xppYvxwFxJQl/FFGAqeDQ=", - "x86_64-linux": "sha256-ReQNXUPZHGfL0grqK0cjc7xppYvxwFxJQl/FFGAqeDQ=" + "aarch64-darwin": "sha256-jFESLAj61eOQJh++mycJWjO6pPe9Icjhpr8c9qiVmv0=", + "aarch64-linux": "sha256-jFESLAj61eOQJh++mycJWjO6pPe9Icjhpr8c9qiVmv0=", + "x86_64-darwin": "sha256-jFESLAj61eOQJh++mycJWjO6pPe9Icjhpr8c9qiVmv0=", + "x86_64-linux": "sha256-jFESLAj61eOQJh++mycJWjO6pPe9Icjhpr8c9qiVmv0=" }, "windows": { - "x86_64-darwin": "sha256-u77tk4Spp8AyujimnFAop2o5Orm5OlaBZ6bmbO2OG9w=", - "x86_64-linux": "sha256-u77tk4Spp8AyujimnFAop2o5Orm5OlaBZ6bmbO2OG9w=" + "x86_64-darwin": "sha256-J+N6ADOB3SF298uxN0hPydslw3k+5+nwHln2NwTQTgc=", + "x86_64-linux": "sha256-J+N6ADOB3SF298uxN0hPydslw3k+5+nwHln2NwTQTgc=" } }, "pubspecLock": { diff --git a/pkgs/development/libraries/ogre/default.nix b/pkgs/development/libraries/ogre/default.nix index 00a1ef96000e..4a0d89bf594b 100644 --- a/pkgs/development/libraries/ogre/default.nix +++ b/pkgs/development/libraries/ogre/default.nix @@ -121,9 +121,9 @@ let in { ogre_14 = common { - version = "14.5.1"; - hash = "sha256-UTjyOeDCZy+J9qkch1g1X/6x5/K2+1MWJ2v7r0trZqY="; - # https://github.com/OGRECave/ogre/blob/v14.5.1/Components/Overlay/CMakeLists.txt + version = "14.5.2"; + hash = "sha256-qI5z6a5WD1WCQZarogQb4c9KRac/szQLsvs/9/5BNCI="; + # https://github.com/OGRECave/ogre/blob/v14.5.2/Components/Overlay/CMakeLists.txt imguiVersion = "1.91.9b"; imguiHash = "sha256-dkukDP0HD8CHC2ds0kmqy7KiGIh4148hMCyA1QF3IMo="; }; diff --git a/pkgs/development/python-modules/shiboken6/default.nix b/pkgs/development/python-modules/shiboken6/default.nix index 4d0f1af1243f..c8c58bc2503d 100644 --- a/pkgs/development/python-modules/shiboken6/default.nix +++ b/pkgs/development/python-modules/shiboken6/default.nix @@ -3,6 +3,7 @@ fetchgit, llvmPackages, python, + numpy, cmake, autoPatchelfHook, stdenv, @@ -38,12 +39,16 @@ stdenv'.mkDerivation (finalAttrs: { python.pkgs.ninja python.pkgs.packaging python.pkgs.setuptools + numpy ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ python.pkgs.qt6.darwinVersionInputs ]; - cmakeFlags = [ "-DBUILD_TESTS=OFF" ]; + cmakeFlags = [ + "-DBUILD_TESTS=OFF" + "-DNUMPY_INCLUDE_DIR=${numpy.coreIncludeDir}" + ]; # We intentionally use single quotes around `${BASH}` since it expands from a CMake # variable available in this file. diff --git a/pkgs/development/python-modules/triton/default.nix b/pkgs/development/python-modules/triton/default.nix index 9b904f5b1728..6e088a1921f5 100644 --- a/pkgs/development/python-modules/triton/default.nix +++ b/pkgs/development/python-modules/triton/default.nix @@ -4,6 +4,7 @@ config, buildPythonPackage, fetchFromGitHub, + pythonAtLeast, # patches replaceVars, @@ -41,7 +42,7 @@ cudaSupport ? config.cudaSupport, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "triton"; version = "3.5.1"; pyproject = true; @@ -50,7 +51,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "triton-lang"; repo = "triton"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-dyNRtS1qtU8C/iAf0Udt/1VgtKGSvng1+r2BtvT9RB4="; }; @@ -99,6 +100,14 @@ buildPythonPackage rec { substituteInPlace cmake/AddTritonUnitTest.cmake \ --replace-fail "include(\''${PROJECT_SOURCE_DIR}/unittest/googletest.cmake)" ""\ --replace-fail "include(GoogleTest)" "find_package(GTest REQUIRED)" + '' + + # triton will try dlopening libcublas.so at runtime + + lib.optionalString cudaSupport '' + substituteInPlace third_party/nvidia/include/cublas_instance.h \ + --replace-fail \ + '"libcublas.so"' \ + '"${lib.getLib cudaPackages.libcublas}/lib/libcublas.so"' ''; build-system = [ setuptools ]; @@ -217,9 +226,63 @@ buildPythonPackage rec { doCheck = true; - preCheck = '' - cd python/test/unit - ''; + disabledTests = [ + # triton.runtime.errors.OutOfResources: out of resource: shared memory, + # Required: 131072, Hardware limit: 101376. Reducing block sizes or `num_stages` may help. + "test_gather" + "test_gather_warp_shuffle" + "test_tensor_descriptor_batched_gemm_2d_tma" + "test_tensor_descriptor_batched_gemm_3d_tma" + + # AssertionError: assert all(delta == 0 for delta in diff.values()) + # ----------------------------- Captured stdout call ----------------------------- + # Expected line "pid (0, 0, 0) idx ( 0, 0) x: 1" 1 time(s), but saw 0 time(s) + # ... + "test_print" + + # This test ensures that the ptxas binary is available under .../site-packages/triton/backends/nvidia/bin/ptxas + # Usually, this is where the install script downloads and copies ptxas to. + # However, this is not the case here, as triton is built with TRITON_OFFLINE_BUILD=1 + # and TRITON_PTXAS_PATH= + "test_nvidia_tool" + ] + ++ lib.optionals (pythonAtLeast "3.14") [ + # triton.compiler.errors.CompilationError + # AttributeError("module 'ast' has no attribute 'Num'" + "test_aggregate_modification_in_for_loop" + "test_call" + "test_call_in_loop" + "test_compile_only_k_loop" + "test_dot_mulbroadcasted" + "test_globaltimer" + "test_host_tensor_descriptor_matmul" + "test_make_tensor_descriptor_matmul" + "test_nested_while" + "test_preshuffle_scale_mxfp_cdna4" + "test_temp_var_in_loop" + "test_tensor_descriptor_rank_reducing_matmul" + "test_tensor_descriptor_reshape_matmul" + ]; + + disabledTestPaths = [ + # torch.AcceleratorError: CUDA error: device-side assert triggered + "python/test/unit/test_debug.py" + + # ptxas fatal : Unexpected non-ASCII character encountered on line 1 + # ptxas fatal : Ptx assembly aborted due to errors + "python/test/unit/language/test_line_info.py" + + # Triton Error [CUDA]: \n + "python/test/unit/tools/test_aot.py" + + # ptxas fatal : Unknown option 'sass' + "python/test/unit/tools/test_disasm.py" + ]; + + enabledTestPaths = [ + "python/test/unit" + ]; + checkPhase = "pytestCheckPhase"; installPhase = "touch $out"; @@ -314,11 +377,13 @@ buildPythonPackage rec { meta = { description = "Language and compiler for writing highly efficient custom Deep-Learning primitives"; homepage = "https://github.com/triton-lang/triton"; + changelog = "https://github.com/triton-lang/triton/releases/tag/${finalAttrs.src.tag}"; platforms = lib.platforms.linux; license = lib.licenses.mit; maintainers = with lib.maintainers; [ + GaetanLepage SomeoneSerge derdennisop ]; }; -} +}) diff --git a/pkgs/development/tcl-modules/by-name/ya/yajl-tcl/package.nix b/pkgs/development/tcl-modules/by-name/ya/yajl-tcl/package.nix new file mode 100644 index 000000000000..8230d16119d3 --- /dev/null +++ b/pkgs/development/tcl-modules/by-name/ya/yajl-tcl/package.nix @@ -0,0 +1,39 @@ +{ + lib, + mkTclDerivation, + fetchFromGitHub, + autoreconfHook, + pkg-config, + yajl, +}: + +mkTclDerivation rec { + pname = "yajl-tcl"; + version = "1.8.1"; + + src = fetchFromGitHub { + owner = "flightaware"; + repo = "yajl-tcl"; + tag = "v${version}"; + hash = "sha256-MKm/cfZxPoxpsHuZf9qSXZXzdFbDb7IGeJgMHGh9bcE="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + + buildInputs = [ + yajl + ]; + + meta = { + description = "Tcl bindings for Yet Another JSON Library"; + homepage = "https://github.com/flightaware/yajl-tcl"; + changelog = "https://github.com/flightaware/yajl-tcl/blob/${src.tag}/ChangeLog"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ fgaz ]; + }; +} diff --git a/pkgs/servers/sql/postgresql/14.nix b/pkgs/servers/sql/postgresql/14.nix index 4806945ce991..550f9747a66f 100644 --- a/pkgs/servers/sql/postgresql/14.nix +++ b/pkgs/servers/sql/postgresql/14.nix @@ -1,7 +1,8 @@ import ./generic.nix { - version = "14.20"; - rev = "refs/tags/REL_14_20"; - hash = "sha256-5wWuS78yn1p+ZjlUy5jCf1mLq78D3iI7mWPBVTd1Ufk="; + version = "14.21"; + # rev = "refs/tags/REL_14_21"; + rev = "eb788b43371849237c61ba2747fc11e96c08d861"; + hash = "sha256-9uG32BVzXOL2yAJmFVkIvEZJrmI5ToL7ojtivWmufL8="; muslPatches = { disable-test-collate-icu-utf8 = { url = "https://git.alpinelinux.org/aports/plain/main/postgresql14/disable-test-collate.icu.utf8.patch?id=56999e6d0265ceff5c5239f85fdd33e146f06cb7"; diff --git a/pkgs/servers/sql/postgresql/15.nix b/pkgs/servers/sql/postgresql/15.nix index dbb08beba782..50877491601d 100644 --- a/pkgs/servers/sql/postgresql/15.nix +++ b/pkgs/servers/sql/postgresql/15.nix @@ -1,7 +1,8 @@ import ./generic.nix { - version = "15.15"; - rev = "refs/tags/REL_15_15"; - hash = "sha256-veGKXAvK+dNofBuSXsmCsPdXDJOC04+QV3HEr0XaE68="; + version = "15.16"; + # rev = "refs/tags/REL_15_16"; + rev = "78bc85dd4455c302c345c550e0628a1522df108d"; + hash = "sha256-ju/KkeBOumYHCarhqNA8jq+ceUo4y8g/SzjAMWm80ak="; muslPatches = { dont-use-locale-a = { url = "https://git.alpinelinux.org/aports/plain/main/postgresql15/dont-use-locale-a-on-musl.patch?id=f424e934e6d076c4ae065ce45e734aa283eecb9c"; diff --git a/pkgs/servers/sql/postgresql/16.nix b/pkgs/servers/sql/postgresql/16.nix index 3e5b13a007eb..13ab44599795 100644 --- a/pkgs/servers/sql/postgresql/16.nix +++ b/pkgs/servers/sql/postgresql/16.nix @@ -1,7 +1,8 @@ import ./generic.nix { - version = "16.11"; - rev = "refs/tags/REL_16_11"; - hash = "sha256-hxv+N+OWqiXmFmsB+SSYGKQLBbHtNMnneHFvOtUz8z4="; + version = "16.12"; + # rev = "refs/tags/REL_16_12"; + rev = "e15d96551f9760e62888b5082ad050329c1c4cdf"; + hash = "sha256-1jkVElZTtp60Jgl5RyPT+8lalDYtjRDe9MxO3KMYJmU="; muslPatches = { dont-use-locale-a = { url = "https://git.alpinelinux.org/aports/plain/main/postgresql16/dont-use-locale-a-on-musl.patch?id=08a24be262339fd093e641860680944c3590238e"; diff --git a/pkgs/servers/sql/postgresql/17.nix b/pkgs/servers/sql/postgresql/17.nix index 4ec01810d5bd..1c5f4dc98948 100644 --- a/pkgs/servers/sql/postgresql/17.nix +++ b/pkgs/servers/sql/postgresql/17.nix @@ -1,7 +1,8 @@ import ./generic.nix { - version = "17.7"; - rev = "refs/tags/REL_17_7"; - hash = "sha256-W+505LAeiO5ln7wBhxZLv/p3GxiJp8MFfCGVDyvHREg="; + version = "17.8"; + # rev = "refs/tags/REL_17_8"; + rev = "6af885119b52a2a6229959670ba3ae5e36bf9806"; + hash = "sha256-4lV1/xRmMsc5rgY3RB6WMigTXHgHjh9bmR6nzL82Rs4="; muslPatches = { dont-use-locale-a = { url = "https://git.alpinelinux.org/aports/plain/main/postgresql17/dont-use-locale-a-on-musl.patch?id=d69ead2c87230118ae7f72cef7d761e761e1f37e"; diff --git a/pkgs/servers/sql/postgresql/18.nix b/pkgs/servers/sql/postgresql/18.nix index f2680efa9249..a5bca108217a 100644 --- a/pkgs/servers/sql/postgresql/18.nix +++ b/pkgs/servers/sql/postgresql/18.nix @@ -1,7 +1,8 @@ import ./generic.nix { - version = "18.1"; - rev = "refs/tags/REL_18_1"; - hash = "sha256-cZA2hWtr5RwsUrRWkvl/yvUzFPSfdtpyAKGXfrVUr0g="; + version = "18.2"; + # rev = "refs/tags/REL_18_2"; + rev = "5a461dc4dbf72a1ec281394a76eb36d68cbdd935"; + hash = "sha256-cvBXxA7/kEwDGxFv/YoZCIh17jzUujrCtfKAmtSxKTw="; muslPatches = { dont-use-locale-a = { url = "https://git.alpinelinux.org/aports/plain/main/postgresql17/dont-use-locale-a-on-musl.patch?id=d69ead2c87230118ae7f72cef7d761e761e1f37e"; diff --git a/pkgs/servers/sql/postgresql/ext/pg_partman.nix b/pkgs/servers/sql/postgresql/ext/pg_partman.nix index fa7e5e9bac29..a60c33d93521 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_partman.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_partman.nix @@ -7,13 +7,13 @@ postgresqlBuildExtension (finalAttrs: { pname = "pg_partman"; - version = "5.4.0"; + version = "5.4.1"; src = fetchFromGitHub { owner = "pgpartman"; repo = "pg_partman"; tag = "v${finalAttrs.version}"; - hash = "sha256-4z5B9jiG4EaOm2jz2BSNRi28at9aqpgNGXbJM3ZtBC8="; + hash = "sha256-giWjH4HM6qCoYGvFGyv+RjaSA4ggPHVBK7eNLBESPN4="; }; meta = { diff --git a/pkgs/servers/sql/postgresql/generic.nix b/pkgs/servers/sql/postgresql/generic.nix index 870b7b26b08e..6b1158e06aa0 100644 --- a/pkgs/servers/sql/postgresql/generic.nix +++ b/pkgs/servers/sql/postgresql/generic.nix @@ -87,7 +87,7 @@ let # Building with JIT in pkgsStatic fails like this: # fatal error: 'stdio.h' file not found && !stdenv.hostPlatform.isStatic, - llvmPackages_20, + llvmPackages, nukeReferences, overrideCC, @@ -163,14 +163,6 @@ let dlSuffix = if olderThan "16" then ".so" else stdenv.hostPlatform.extensions.sharedLibrary; - # Pin LLVM 20 until upstream has fully resolved: - # https://www.postgresql.org/message-id/flat/d25e6e4a-d1b4-84d3-2f8a-6c45b975f53d%40applied-asynchrony.com - # Currently still a problem on aarch64. - # TODO: Remove with next minor releases - llvmPackages = lib.warnIf ( - version == "17.8" - ) "PostgreSQL: Is the pin for LLVM 20 still needed?" llvmPackages_20; - stdenv' = if !stdenv.cc.isClang then overrideCC llvmPackages.stdenv ( diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index f317475a41b1..3a6e77009a26 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -485,6 +485,7 @@ mapAliases { clang_17 = throw "clang_17 has been removed, as it is unmaintained and obsolete"; # Added 2025-08-09 clashmi = throw "'clashmi' has been removed, as it is unmaintained in nixpkgs"; # Added 2026-01-31 clasp = throw "'clasp' has been renamed to/replaced by 'clingo'"; # Converted to throw 2025-10-27 + clearlyU = clearly-u; # Added 2026-02-08 cli-visualizer = throw "'cli-visualizer' has been removed as the upstream repository is gone"; # Added 2025-06-05 clima = throw "'clima' has been removed, as it has been unmaintained upstream since December 2024, use glow instead"; # Added 2026-01-01 clipbuzz = throw "clipbuzz has been removed, as it does not build with supported Zig versions"; # Added 2025-08-09