diff --git a/ci/OWNERS b/ci/OWNERS
index 8f741686635f..695c91aa1af0 100644
--- a/ci/OWNERS
+++ b/ci/OWNERS
@@ -58,8 +58,10 @@
/pkgs/top-level/by-name-overlay.nix @infinisil @philiptaron
/pkgs/stdenv @philiptaron @NixOS/stdenv
/pkgs/stdenv/generic @Ericson2314 @NixOS/stdenv
-/pkgs/stdenv/generic/check-meta.nix @Ericson2314 @adisbladis @NixOS/stdenv
-/pkgs/stdenv/generic/meta-types.nix @adisbladis @NixOS/stdenv
+/pkgs/stdenv/generic/problems.nix @infinisil
+/pkgs/test/problems @infinisil
+/pkgs/stdenv/generic/check-meta.nix @infinisil @Ericson2314 @adisbladis @NixOS/stdenv
+/pkgs/stdenv/generic/meta-types.nix @infinisil @adisbladis @NixOS/stdenv
/pkgs/stdenv/cross @Ericson2314 @NixOS/stdenv
/pkgs/build-support @philiptaron
/pkgs/build-support/cc-wrapper @Ericson2314
diff --git a/doc/redirects.json b/doc/redirects.json
index ad19777f2dd2..f5dbb8bb65f8 100644
--- a/doc/redirects.json
+++ b/doc/redirects.json
@@ -629,6 +629,9 @@
"chap-stdenv": [
"index.html#chap-stdenv"
],
+ "sec-problems": [
+ "index.html#sec-problems"
+ ],
"sec-using-llvm": [
"index.html#sec-using-llvm"
],
diff --git a/doc/using/configuration.chapter.md b/doc/using/configuration.chapter.md
index ac67d7a61459..e47e35fc1aa4 100644
--- a/doc/using/configuration.chapter.md
+++ b/doc/using/configuration.chapter.md
@@ -11,6 +11,8 @@ By default, Nix will prevent installation if any of the following criteria are t
- The package has known security vulnerabilities but has not or can not be updated for some reason, and a list of issues has been entered into the package's `meta.knownVulnerabilities`.
+- There are problems for packages which must be acknowledged, e.g. deprecation notices.
+
Each of these criteria can be altered in the Nixpkgs configuration.
:::{.note}
@@ -166,6 +168,57 @@ There are several ways to tweak how Nix handles a package which has been marked
Note that `permittedInsecurePackages` is only checked if `allowInsecurePredicate` is not specified.
+## Packages with problems {#sec-problems}
+
+A package may have several problems associated with it.
+These can be either manually declared in `meta.problems`, or automatically generated from its other `meta` attributes.
+Each problem has a name, a "kind", a message, and optionally a list of URLs.
+Not all kinds can be manually specified in `meta.problems`, and some kinds can exist only up to once per package.
+Currently, the following problem kinds are known (with more reserved to be added in the future):
+
+- "removal": The package is planned to be removed some time in the future. Unique.
+- "deprecated": The package relies on software which has reached its end of life.
+- "maintainerless": Automatically generated for packages with `meta.maintainers == []`. Unique, not manually specifiable.
+
+Each problem has a handler that deals with it, which can be one of "error", "warn" or "ignore".
+"error" will disallow evaluating a package, while "warn" will simply print a message to the log.
+
+The handler for problems can be specified using `config.problems.handlers.${packageName}.${problemName} = "${handler}";`.
+
+There is also the possibility to specify some generic matchers, which can set a handler for more than a specific problem of a specific package.
+This works through the `config.problems.matchers` option:
+
+```nix
+{
+ problems.matchers = [
+ # Fail to build any packages which are about to be removed anyway
+ {
+ kind = "removal";
+ handler = "error";
+ }
+
+ # Get warnings when using packages with no declared maintainers
+ {
+ kind = "maintainerless";
+ handler = "warn";
+ }
+
+ # You deeply care about this package and want to absolutely know when it has any problems
+ {
+ package = "hello";
+ handler = "error";
+ }
+ ];
+}
+```
+
+Matchers can match one or more of package name, problem name or problem kind.
+If multiple conditions are present, all must be met to match.
+If multiple matchers match a problem, then the highest severity handler will be chosen.
+The current default value contains `{ kind = "removal"; handler = "warn"; }`, meaning that people will be notified about package removals in advance.
+
+Package names for both `problems.handlers` and `problems.matchers` are taken from `lib.getName`, which looks at the `pname` first and falls back to extracting the "pname" part from the `name` attribute.
+
## Modify packages via `packageOverrides` {#sec-modify-via-packageOverrides}
You can define a function called `packageOverrides` in your local `~/.config/nixpkgs/config.nix` to override Nix packages. It must be a function that takes pkgs as an argument and returns a modified set of packages.
diff --git a/maintainers/scripts/haskell/upload-nixos-package-list-to-hackage.sh b/maintainers/scripts/haskell/upload-nixos-package-list-to-hackage.sh
index cbf600d95e76..b53f9ce29374 100755
--- a/maintainers/scripts/haskell/upload-nixos-package-list-to-hackage.sh
+++ b/maintainers/scripts/haskell/upload-nixos-package-list-to-hackage.sh
@@ -36,7 +36,7 @@ if test -z "$CABAL_DIR"; then
fi
fi
-package_list="$(nix-build -A haskell.package-list)/nixos-hackage-packages.csv"
+package_list="$(nix-build --arg config '{ allowAliases = false; }' -A haskell.package-list)/nixos-hackage-packages.csv"
username=$(grep "^username:" "$CABAL_DIR/config" | sed "s/^username: //")
password_command=$(grep "^password-command:" "$CABAL_DIR/config" | sed "s/^password-command: //")
curl -u "$username:$($password_command | head -n1)" --digest -H "Content-type: text/csv" -T "$package_list" https://hackage.haskell.org/distro/NixOS/packages.csv
diff --git a/nixos/modules/misc/documentation.nix b/nixos/modules/misc/documentation.nix
index 462575f17e81..516bf903187b 100644
--- a/nixos/modules/misc/documentation.nix
+++ b/nixos/modules/misc/documentation.nix
@@ -282,8 +282,11 @@ in
default = false;
description = ''
Whether to generate the manual page index caches at runtime using
- a systemd service. Note that this is currently only supported by the
- man-db module.
+ a systemd service.
+
+ ::: {.note}
+ This is currently only supported by the man-db module.
+ :::
'';
};
diff --git a/nixos/modules/programs/nm-applet.nix b/nixos/modules/programs/nm-applet.nix
index 285e0a896280..7aecbadd2ebf 100644
--- a/nixos/modules/programs/nm-applet.nix
+++ b/nixos/modules/programs/nm-applet.nix
@@ -5,6 +5,9 @@
...
}:
+let
+ cfg = config.programs.nm-applet;
+in
{
meta = {
maintainers = lib.teams.freedesktop.members;
@@ -21,15 +24,19 @@
It is needed for Appindicator environments, like Enlightenment.
'';
};
+
+ package = lib.mkPackageOption pkgs "networkmanagerapplet" { };
};
- config = lib.mkIf config.programs.nm-applet.enable {
+ config = lib.mkIf cfg.enable {
+ environment.systemPackages = [ cfg.package ];
+
systemd.user.services.nm-applet = {
description = "Network manager applet";
wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
after = [ "graphical-session.target" ];
- serviceConfig.ExecStart = "${pkgs.networkmanagerapplet}/bin/nm-applet ${lib.optionalString config.programs.nm-applet.indicator "--indicator"}";
+ serviceConfig.ExecStart = "${cfg.package}/bin/nm-applet ${lib.optionalString cfg.indicator "--indicator"}";
};
services.dbus.packages = [ pkgs.gcr ];
diff --git a/nixos/modules/services/development/athens.nix b/nixos/modules/services/development/athens.nix
index 4ef38dee65a2..d780ae785a3d 100644
--- a/nixos/modules/services/development/athens.nix
+++ b/nixos/modules/services/development/athens.nix
@@ -81,14 +81,6 @@ let
Bucket = cfg.storage.gcp.bucket;
JSONKey = cfg.storage.gcp.jsonKey;
};
- Minio = {
- Endpoint = cfg.storage.minio.endpoint;
- Key = cfg.storage.minio.key;
- Secret = cfg.storage.minio.secret;
- EnableSSL = cfg.storage.minio.enableSSL;
- Bucket = cfg.storage.minio.bucket;
- region = cfg.storage.minio.region;
- };
Mongo = {
URL = cfg.storage.mongo.url;
DefaultDBName = cfg.storage.mongo.defaultDBName;
@@ -303,7 +295,6 @@ in
"disk"
"mongo"
"gcp"
- "minio"
"s3"
"azureblob"
"external"
@@ -700,44 +691,6 @@ in
};
};
- minio = {
- endpoint = lib.mkOption {
- type = lib.types.nullOr lib.types.str;
- description = "Endpoint of the minio storage backend.";
- example = "minio.example.com:9001";
- default = null;
- };
- key = lib.mkOption {
- type = lib.types.nullOr lib.types.str;
- description = "Access key id for the minio storage backend.";
- example = "minio";
- default = null;
- };
- secret = lib.mkOption {
- type = lib.types.nullOr lib.types.str;
- description = "Secret key for the minio storage backend. Warning: this is stored in plain text in the config file.";
- example = "minio123";
- default = null;
- };
- enableSSL = lib.mkOption {
- type = lib.types.bool;
- description = "Enable SSL for the minio storage backend.";
- default = false;
- };
- bucket = lib.mkOption {
- type = lib.types.nullOr lib.types.str;
- description = "Bucket name for the minio storage backend.";
- example = "gomods";
- default = null;
- };
- region = lib.mkOption {
- type = lib.types.nullOr lib.types.str;
- description = "Region for the minio storage backend.";
- example = "us-east-1";
- default = null;
- };
- };
-
mongo = {
url = lib.mkOption {
type = lib.types.nullOr lib.types.str;
@@ -774,7 +727,6 @@ in
key = lib.mkOption {
type = lib.types.nullOr lib.types.str;
description = "Access key id for the S3 storage backend.";
- example = "minio";
default = null;
};
secret = lib.mkOption {
@@ -991,4 +943,12 @@ in
};
};
+ imports = [
+ (lib.mkRemovedOptionModule [
+ "services"
+ "athens"
+ "storage"
+ "minio"
+ ] "Support for Minio storage backend has been removed, as minio is unmaintained.")
+ ];
}
diff --git a/nixos/modules/services/monitoring/prometheus/default.nix b/nixos/modules/services/monitoring/prometheus/default.nix
index d85825be5057..345ed324dff1 100644
--- a/nixos/modules/services/monitoring/prometheus/default.nix
+++ b/nixos/modules/services/monitoring/prometheus/default.nix
@@ -66,7 +66,7 @@ let
rule_files = optionals (!(cfg.enableAgentMode)) (
map (promtoolCheck "check rules" "rules") (
cfg.ruleFiles
- ++ [
+ ++ optionals (builtins.length cfg.rules > 0) [
(pkgs.writeText "prometheus.rules" (concatStringsSep "\n" cfg.rules))
]
)
diff --git a/nixos/tests/lomiri.nix b/nixos/tests/lomiri.nix
index 45b4b59c3103..b548288c62c6 100644
--- a/nixos/tests/lomiri.nix
+++ b/nixos/tests/lomiri.nix
@@ -9,7 +9,18 @@ let
# In case it ever shows up in the VM, we could OCR for it instead
wallpaperText = "Lorem ipsum";
- # tmpfiles setup to make OCRing on terminal output more reliable
+ # setup to make OCRing on terminal output more reliable
+ terminalTextColour = {
+ r = 91;
+ g = 113;
+ b = 102;
+ };
+ terminalTextColourString =
+ lib:
+ let
+ toHex = component: lib.optionalString (component < 16) "0" + lib.trivial.toHexString component;
+ in
+ "#${toHex terminalTextColour.r}${toHex terminalTextColour.g}${toHex terminalTextColour.b}";
terminalOcrTmpfilesSetup =
{
pkgs,
@@ -18,7 +29,7 @@ let
}:
let
white = "255, 255, 255";
- black = "0, 0, 0";
+ foreground = "${toString terminalTextColour.r}, ${toString terminalTextColour.g}, ${toString terminalTextColour.b}";
colorSection = color: {
Color = color;
Bold = true;
@@ -27,9 +38,9 @@ let
terminalColors = pkgs.writeText "customized.colorscheme" (
lib.generators.toINI { } {
Background = colorSection white;
- Foreground = colorSection black;
- Color2 = colorSection black;
- Color2Intense = colorSection black;
+ Foreground = colorSection foreground;
+ Color2 = colorSection foreground;
+ Color2Intense = colorSection foreground;
}
);
terminalConfig = pkgs.writeText "terminal.ubports.conf" (
@@ -75,7 +86,7 @@ let
};
};
- sharedTestFunctions = ''
+ sharedTestFunctions = lib: ''
from collections.abc import Callable
import tempfile
import subprocess
@@ -120,6 +131,17 @@ let
)
return check_for_color_continued_presence_retry
+ def ensure_terminal_running() -> None:
+ """
+ Ensure that lomiri-terminal-app has finished starting up.
+ """
+
+ terminalTextColor: str = "${terminalTextColourString lib}"
+ with machine.nested("Waiting for the screen to have terminalTextColor {} on it:".format(terminalTextColor)):
+ retry(check_for_color(terminalTextColor))
+ with machine.nested("Ensuring terminalTextColor {} stays present on the screen:".format(terminalTextColor)):
+ retry(fn=check_for_color_continued_presence(terminalTextColor), timeout_seconds=5)
+
def ensure_lomiri_running() -> None:
"""
Ensure that Lomiri has finished starting up.
@@ -183,7 +205,6 @@ let
# Using the keybind has a chance of instantly closing the menu again? Just click the button
mouse_click(15, 15)
-
'';
makeIndicatorTest =
@@ -237,7 +258,7 @@ let
testScript =
{ nodes, ... }:
- sharedTestFunctions
+ (sharedTestFunctions lib)
+ ''
start_all()
machine.wait_for_unit("multi-user.target")
@@ -330,7 +351,7 @@ in
testScript =
{ nodes, ... }:
- sharedTestFunctions
+ (sharedTestFunctions lib)
+ ''
start_all()
machine.wait_for_unit("multi-user.target")
@@ -451,7 +472,7 @@ in
testScript =
{ nodes, ... }:
- sharedTestFunctions
+ (sharedTestFunctions lib)
+ ''
start_all()
machine.wait_for_unit("multi-user.target")
@@ -463,7 +484,7 @@ in
# Working terminal keybind is good
with subtest("terminal keybind works"):
machine.send_key("ctrl-alt-t")
- wait_for_text(r"(${user}|machine)")
+ ensure_terminal_running()
machine.screenshot("terminal_opens")
machine.send_key("alt-f4")
@@ -474,7 +495,7 @@ in
# Just try the terminal again, we know that it should work
machine.send_chars("Terminal\n")
- wait_for_text(r"(${user}|machine)")
+ ensure_terminal_running()
machine.send_key("alt-f4")
# We want support for X11 apps
@@ -598,7 +619,7 @@ in
testScript =
{ nodes, ... }:
- sharedTestFunctions
+ (sharedTestFunctions lib)
+ ''
start_all()
machine.wait_for_unit("multi-user.target")
@@ -610,7 +631,7 @@ in
# Working terminal keybind is good
with subtest("terminal keybind works"):
machine.send_key("ctrl-alt-t")
- wait_for_text(r"(${user}|machine)")
+ ensure_terminal_running()
machine.screenshot("terminal_opens")
# for the LSS lomiri-content-hub test to work reliably, we need to kick off peer collecting
@@ -744,7 +765,7 @@ in
testScript =
{ nodes, ... }:
- sharedTestFunctions
+ (sharedTestFunctions lib)
+ ''
start_all()
machine.wait_for_unit("multi-user.target")
@@ -773,7 +794,7 @@ in
# Lomiri in desktop mode should use the correct keymap
with subtest("lomiri session keymap works"):
machine.send_key("ctrl-alt-t")
- wait_for_text(r"(${user}|machine)")
+ ensure_terminal_running()
machine.screenshot("terminal_opens")
machine.send_chars("touch ${pwInput}\n")
diff --git a/pkgs/applications/editors/vim/common.nix b/pkgs/applications/editors/vim/common.nix
index e335403a14a0..f5f18a30568e 100644
--- a/pkgs/applications/editors/vim/common.nix
+++ b/pkgs/applications/editors/vim/common.nix
@@ -1,6 +1,6 @@
{ lib, fetchFromGitHub }:
rec {
- version = "9.1.2109";
+ version = "9.1.2148";
outputs = [
"out"
@@ -11,7 +11,7 @@ rec {
owner = "vim";
repo = "vim";
rev = "v${version}";
- hash = "sha256-Lglu940Uf0ZOaitoI41XK4Xgk7e1UeXsfdIxOMgNQ18=";
+ hash = "sha256-4ZEbfpffPp6kqSQRp7NFioWGRdG+JsVf7unU0Hqn/Xk=";
};
enableParallelBuilding = true;
diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix
index c5434d85a6eb..cff7dac62928 100644
--- a/pkgs/applications/editors/vim/plugins/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/generated.nix
@@ -5422,6 +5422,19 @@ final: prev: {
meta.hydraPlatforms = [ ];
};
+ flow-nvim = buildVimPlugin {
+ pname = "flow.nvim";
+ version = "2.0.2-unstable-2026-02-25";
+ src = fetchFromGitHub {
+ owner = "0xstepit";
+ repo = "flow.nvim";
+ rev = "1fe4ff584b53298e41a9f8cf108f23967cc9280c";
+ hash = "sha256-fc3H89D2xW2GZuJiHDgRJz5zYt8FQ4Azqh0o5HGcgLw=";
+ };
+ meta.homepage = "https://github.com/0xstepit/flow.nvim/";
+ meta.hydraPlatforms = [ ];
+ };
+
fluent-vim = buildVimPlugin {
pname = "fluent.vim";
version = "0-unstable-2025-04-26";
diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix
index 64b86ec1a5f7..567be4336b8b 100644
--- a/pkgs/applications/editors/vim/plugins/overrides.nix
+++ b/pkgs/applications/editors/vim/plugins/overrides.nix
@@ -1255,6 +1255,13 @@ assertNoAdditions {
dependencies = [ self.nvzone-volt ];
};
+ flow-nvim = super.flow-nvim.overrideAttrs {
+ nvimSkipModules = [
+ # Optional barbecue integration requires flow.setup() first.
+ "barbecue.theme.flow"
+ ];
+ };
+
flutter-tools-nvim = super.flutter-tools-nvim.overrideAttrs {
# Optional dap integration
checkInputs = [ self.nvim-dap ];
diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names
index f52c88b888f6..786aef23203e 100644
--- a/pkgs/applications/editors/vim/plugins/vim-plugin-names
+++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names
@@ -415,6 +415,7 @@ https://github.com/ncm2/float-preview.nvim/,,
https://github.com/nvzone/floaterm/,HEAD,
https://github.com/liangxianzhe/floating-input.nvim/,HEAD,
https://github.com/floobits/floobits-neovim/,,
+https://github.com/0xstepit/flow.nvim/,HEAD,
https://github.com/projectfluent/fluent.vim/,HEAD,
https://github.com/nvim-flutter/flutter-tools.nvim/,HEAD,
https://github.com/nvim-focus/focus.nvim/,HEAD,
diff --git a/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix b/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix
index 9a32fe550626..81ee3d210427 100644
--- a/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix
@@ -8,8 +8,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "claude-code";
publisher = "anthropic";
- version = "2.1.49";
- hash = "sha256-9WwA1TUM/h8kLoZV/ukh/4s3w9DnJ/cVAxypz4jlj6A=";
+ version = "2.1.59";
+ hash = "sha256-j8tZSPTHlCFVCCCUl54MqvA3eRczfu8byEEbn7KHTPY=";
};
postInstall = ''
diff --git a/pkgs/applications/emulators/libretro/cores/play.nix b/pkgs/applications/emulators/libretro/cores/play.nix
index 080531a78aa1..7bdb0142ac23 100644
--- a/pkgs/applications/emulators/libretro/cores/play.nix
+++ b/pkgs/applications/emulators/libretro/cores/play.nix
@@ -14,13 +14,13 @@
}:
mkLibretroCore {
core = "play";
- version = "0-unstable-2026-02-16";
+ version = "0-unstable-2026-02-23";
src = fetchFromGitHub {
owner = "jpd002";
repo = "Play-";
- rev = "2a125b5d28cb2c02cbd2fdb00ce268581ffca05b";
- hash = "sha256-tYB2xcIU7O6BizHSSS4CPQMbLsnlHZKqcx26WypWt1E=";
+ rev = "8369490f332bc09d1c8f9e707ee34e01cf13e4cb";
+ hash = "sha256-/cltskT4cJ8/tExSN324JVGVCOhOWrOJg+47RaGR3yE=";
fetchSubmodules = true;
};
diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json
index eaa4085dd2f0..453c78d403a4 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -1418,13 +1418,13 @@
"vendorHash": null
},
"vancluever_acme": {
- "hash": "sha256-hviw2syXALi3B47jwfvEn61sOOZ1qvUMWJE7Ob6M36U=",
+ "hash": "sha256-uRIOLFIzT4hIXMtoyHk0UB5R5xGr0DELF5hd+E5Xx1k=",
"homepage": "https://registry.terraform.io/providers/vancluever/acme",
"owner": "vancluever",
"repo": "terraform-provider-acme",
- "rev": "v2.44.1",
+ "rev": "v2.45.0",
"spdx": "MPL-2.0",
- "vendorHash": "sha256-FSyJ5ZCaGbMZbDop/Pj8TKaUAeOBNz/RSfV/rkVYbD0="
+ "vendorHash": "sha256-S8eG43mHNyPOm2Iuww9DjU7o/x2MMSJExpmBAQ8QDGY="
},
"venafi_venafi": {
"hash": "sha256-wpAckNRqZjSDt7KpCRpLSYkn6Gm+QPzn5sIJ90wRXjI=",
diff --git a/pkgs/tools/games/alice-tools/default.nix b/pkgs/by-name/al/alice-tools/package.nix
similarity index 80%
rename from pkgs/tools/games/alice-tools/default.nix
rename to pkgs/by-name/al/alice-tools/package.nix
index b70300a65871..fde4fed78d90 100644
--- a/pkgs/tools/games/alice-tools/default.nix
+++ b/pkgs/by-name/al/alice-tools/package.nix
@@ -1,6 +1,6 @@
{
- stdenv,
lib,
+ stdenv,
gitUpdater,
testers,
fetchFromGitHub,
@@ -14,35 +14,40 @@
libjpeg,
libwebp,
zlib,
- withGUI ? true,
- qtbase ? null,
- wrapQtAppsHook ? null,
+ withQt5 ? false,
+ qt5,
+ withQt6 ? false,
+ qt6,
}:
-assert withGUI -> qtbase != null && wrapQtAppsHook != null;
+assert !(withQt5 && withQt6);
+let
+ qt = if withQt5 then qt5 else qt6;
+ withGUI = withQt5 || withQt6;
+in
stdenv.mkDerivation (finalAttrs: {
- pname = "alice-tools" + lib.optionalString withGUI "-qt${lib.versions.major qtbase.version}";
+ pname = "alice-tools" + lib.optionalString withGUI "-qt${lib.versions.major qt.qtbase.version}";
version = "0.13.0";
src = fetchFromGitHub {
owner = "nunuhara";
repo = "alice-tools";
- rev = finalAttrs.version;
+ tag = finalAttrs.version;
fetchSubmodules = true;
hash = "sha256-DazWnBeI5XShkIx41GFZLP3BbE0O8T9uflvKIZUXCHo=";
};
- postPatch = lib.optionalString (withGUI && lib.versionAtLeast qtbase.version "6.0") ''
+ postPatch = lib.optionalString (withGUI && withQt6) ''
# Use Meson's Qt6 module
substituteInPlace src/meson.build \
--replace qt5 qt6
# For some reason Meson uses QMake instead of pkg-config detection method for Qt6 on Darwin, which gives wrong search paths for tools
- export PATH=${qtbase.dev}/libexec:$PATH
+ export PATH=${qt.qtbase.dev}/libexec:$PATH
'';
- mesonFlags = lib.optionals (withGUI && lib.versionAtLeast qtbase.version "6.0") [
+ mesonFlags = lib.optionals (withGUI && withQt6) [
# Qt6 requires at least C++17, project uses compiler's default, default too old on Darwin & aarch64-linux
"-Dcpp_std=c++17"
];
@@ -55,7 +60,7 @@ stdenv.mkDerivation (finalAttrs: {
flex
]
++ lib.optionals withGUI [
- wrapQtAppsHook
+ qt.wrapQtAppsHook
];
buildInputs = [
@@ -66,7 +71,7 @@ stdenv.mkDerivation (finalAttrs: {
zlib
]
++ lib.optionals withGUI [
- qtbase
+ qt.qtbase
];
dontWrapQtApps = true;
@@ -102,6 +107,7 @@ stdenv.mkDerivation (finalAttrs: {
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [ OPNA2608 ];
+ changelog = "https://github.com/nunuhara/alice-tools/releases/tag/${finalAttrs.src.tag}";
mainProgram = if withGUI then "galice" else "alice";
};
})
diff --git a/pkgs/by-name/an/ant/package.nix b/pkgs/by-name/an/ant/package.nix
index d008fc95e832..b1049d4db3c6 100644
--- a/pkgs/by-name/an/ant/package.nix
+++ b/pkgs/by-name/an/ant/package.nix
@@ -2,7 +2,7 @@
fetchurl,
lib,
stdenv,
- coreutils,
+ jre,
makeWrapper,
gitUpdater,
}:
@@ -11,6 +11,8 @@ stdenv.mkDerivation (finalAttrs: {
pname = "ant";
version = "1.10.15";
+ buildInputs = [ jre ];
+
nativeBuildInputs = [ makeWrapper ];
src = fetchurl {
@@ -19,60 +21,23 @@ stdenv.mkDerivation (finalAttrs: {
};
installPhase = ''
- mkdir -p $out/bin $out/share/ant
+ mkdir -p $out/share/ant
mv * $out/share/ant/
# Get rid of the manual (35 MiB). Maybe we should put this in a
- # separate output. Keep the antRun script since it's vanilla sh
- # and needed for the task (but since we set ANT_HOME to
- # a weird value, we have to move antRun to a weird location).
- # Get rid of the other Ant scripts since we provide our own.
- mv $out/share/ant/bin/antRun $out/bin/
- rm -rf $out/share/ant/{manual,bin,WHATSNEW}
- mkdir $out/share/ant/bin
- mv $out/bin/antRun $out/share/ant/bin/
+ # separate output.
+ rm -rf $out/share/ant/{manual,WHATSNEW}
- cat >> $out/bin/ant <&2
- exit 1
- fi
- fi
-
- if [ -z \$NIX_JVM ]; then
- if [ -e \$JAVA_HOME/bin/java ]; then
- NIX_JVM=\$JAVA_HOME/bin/java
- elif [ -e \$JAVA_HOME/bin/gij ]; then
- NIX_JVM=\$JAVA_HOME/bin/gij
- else
- NIX_JVM=java
- fi
- fi
-
- LOCALCLASSPATH="\$ANT_HOME/lib/ant-launcher.jar\''${LOCALCLASSPATH:+:}\$LOCALCLASSPATH"
-
- exec \$NIX_JVM \$NIX_ANT_OPTS \$ANT_OPTS -classpath "\$LOCALCLASSPATH" \
- -Dant.home=\$ANT_HOME -Dant.library.dir="\$ANT_LIB" \
- org.apache.tools.ant.launch.Launcher \$NIX_ANT_ARGS \$ANT_ARGS \
- -cp "\$CLASSPATH" "\$@"
- EOF
-
- chmod +x $out/bin/ant
+ # Wrap the wrappers.
+ for wrapper in ant runant.py runant.pl; do
+ wrapProgram "$out/share/ant/bin/$wrapper" \
+ --set-default JAVA_HOME "${jre.home}" \
+ --set-default ANT_HOME "$out/share/ant" \
+ --prefix CLASSPATH : "$out/share/ant/lib"
+ done
'';
passthru = {
diff --git a/pkgs/by-name/az/azure-cli/extensions-generated.json b/pkgs/by-name/az/azure-cli/extensions-generated.json
index f419a11c79d2..42acb67feb7d 100644
--- a/pkgs/by-name/az/azure-cli/extensions-generated.json
+++ b/pkgs/by-name/az/azure-cli/extensions-generated.json
@@ -43,16 +43,16 @@
},
"ai-examples": {
"pname": "ai-examples",
- "version": "0.2.5",
- "url": "https://azcliprod.blob.core.windows.net/cli-extensions/ai_examples-0.2.5-py2.py3-none-any.whl",
- "hash": "sha256-utvfX8LgtKhcQSTT/JKFm1gq348w9XJ0QM6BlCFACZo=",
+ "version": "0.2.6",
+ "url": "https://azcliprod.blob.core.windows.net/cli-extensions/ai_examples-0.2.6-py2.py3-none-any.whl",
+ "hash": "sha256-z5G04SBrhpBQHYR8vkbD7BP2We96TTZ63XTtXo+X1pw=",
"description": "Add AI powered examples to help content"
},
"aks-preview": {
"pname": "aks-preview",
- "version": "19.0.0b18",
- "url": "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-19.0.0b18-py2.py3-none-any.whl",
- "hash": "sha256-MN2tw4w7jd7d4Ej6c1mVR8XjOHuqLBADphn0GXzyuqk=",
+ "version": "19.0.0b22",
+ "url": "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-19.0.0b22-py2.py3-none-any.whl",
+ "hash": "sha256-/TBJnRAsSSDTGP114fkkQeJ2gzryA8LQQMY+7/G71PI=",
"description": "Provides a preview for upcoming AKS features"
},
"alb": {
@@ -111,6 +111,13 @@
"hash": "sha256-re+iMmNO+fYl5j5oTGy4vm6OHATHytv5TIaYl2k6fVg=",
"description": "Microsoft Azure Command-Line Tools ArizeAi Extension"
},
+ "artifact-signing": {
+ "pname": "artifact-signing",
+ "version": "1.0.0",
+ "url": "https://azcliprod.blob.core.windows.net/cli-extensions/artifact_signing-1.0.0-py3-none-any.whl",
+ "hash": "sha256-u9BK1SQm5p6aJBkvL+Di7S21WuYfuRtrizoDA739DH8=",
+ "description": "Microsoft Azure Command-Line Tools Artifact Signing Extension"
+ },
"astronomer": {
"pname": "astronomer",
"version": "1.0.1",
@@ -134,16 +141,16 @@
},
"automation": {
"pname": "automation",
- "version": "1.0.0b1",
- "url": "https://azcliprod.blob.core.windows.net/cli-extensions/automation-1.0.0b1-py3-none-any.whl",
- "hash": "sha256-0x/gQz+jCm4An3ub7mxBemhu2HUC3Zh7msitETODkVs=",
+ "version": "1.0.0b2",
+ "url": "https://azcliprod.blob.core.windows.net/cli-extensions/automation-1.0.0b2-py3-none-any.whl",
+ "hash": "sha256-sdk0uNtQX6yBiEboywNE8FAreY1pBiimah0PdmCDRYg=",
"description": "Microsoft Azure Command-Line Tools AutomationClient Extension"
},
"azure-firewall": {
"pname": "azure-firewall",
- "version": "2.0.0",
- "url": "https://azcliprod.blob.core.windows.net/cli-extensions/azure_firewall-2.0.0-py2.py3-none-any.whl",
- "hash": "sha256-tIX7vovIVGe9NsBg3N8LbwyVsxgurJKXLUtUYveaZtA=",
+ "version": "2.0.1",
+ "url": "https://azcliprod.blob.core.windows.net/cli-extensions/azure_firewall-2.0.1-py2.py3-none-any.whl",
+ "hash": "sha256-SLnSVacJ47P96ICUt33/6cRz+0YRY+FrkwhowtTMD68=",
"description": "Manage Azure Firewall resources"
},
"azurelargeinstance": {
@@ -162,9 +169,9 @@
},
"bastion": {
"pname": "bastion",
- "version": "1.4.2",
- "url": "https://azcliprod.blob.core.windows.net/cli-extensions/bastion-1.4.2-py3-none-any.whl",
- "hash": "sha256-TTaKDFaydQ4lW+LfvEHbWX4WARj3Xwg/yeHmq9aNEoI=",
+ "version": "1.4.3",
+ "url": "https://azcliprod.blob.core.windows.net/cli-extensions/bastion-1.4.3-py3-none-any.whl",
+ "hash": "sha256-ikMk58o8e8VhZ7bzq++2RRxOv3p/eQ9eX5+eC7qyFdk=",
"description": "Microsoft Azure Command-Line Tools Bastion Extension"
},
"billing-benefits": {
@@ -176,9 +183,9 @@
},
"blueprint": {
"pname": "blueprint",
- "version": "1.0.0b1",
- "url": "https://azcliprod.blob.core.windows.net/cli-extensions/blueprint-1.0.0b1-py3-none-any.whl",
- "hash": "sha256-WVBTayQ3Asbs5Q8sE8d4q68xIJN6i0cZiNHV+8szmlQ=",
+ "version": "1.0.0b2",
+ "url": "https://azcliprod.blob.core.windows.net/cli-extensions/blueprint-1.0.0b2-py3-none-any.whl",
+ "hash": "sha256-KVtkhYL1+HnnJnmZt7AtZpfFvve/hcpmFw2EfzSHGLc=",
"description": "Microsoft Azure Command-Line Tools Blueprint Extension"
},
"carbon": {
@@ -288,9 +295,9 @@
},
"databricks": {
"pname": "databricks",
- "version": "1.2.0",
- "url": "https://azcliprod.blob.core.windows.net/cli-extensions/databricks-1.2.0-py3-none-any.whl",
- "hash": "sha256-3Zdbp+OP7mgXQ8cSjidSba8BO8kB4Bx1pWwyFFD+7Yw=",
+ "version": "1.3.1",
+ "url": "https://azcliprod.blob.core.windows.net/cli-extensions/databricks-1.3.1-py3-none-any.whl",
+ "hash": "sha256-D6+Sbp49vxPP/IENPPn6TSL3qhwgBZyWBB3KjSgjdCc=",
"description": "Microsoft Azure Command-Line Tools DatabricksClient Extension"
},
"datadog": {
@@ -328,6 +335,13 @@
"hash": "sha256-8agBvQw46y6/nC+04LQ6mEcK57QLvNBesqpZbWlXnJ4=",
"description": "Microsoft Azure Command-Line Tools DataShareManagementClient Extension"
},
+ "dell": {
+ "pname": "dell",
+ "version": "1.0.0b1",
+ "url": "https://azcliprod.blob.core.windows.net/cli-extensions/dell-1.0.0b1-py3-none-any.whl",
+ "hash": "sha256-v3Ue6o9sjuG9/Nn2nPuNx9O61bWr0h8MS792bYztVFw=",
+ "description": "Support for managing Dell.Storage filesystem resources"
+ },
"dependency-map": {
"pname": "dependency-map",
"version": "1.0.0b1",
@@ -358,9 +372,9 @@
},
"devcenter": {
"pname": "devcenter",
- "version": "7.0.0",
- "url": "https://azcliprod.blob.core.windows.net/cli-extensions/devcenter-7.0.0-py3-none-any.whl",
- "hash": "sha256-UQgGkRRJ3WGPKT3agMb533CKD/A1dq/66Z/4K13VuK0=",
+ "version": "8.0.0",
+ "url": "https://azcliprod.blob.core.windows.net/cli-extensions/devcenter-8.0.0-py3-none-any.whl",
+ "hash": "sha256-bdtqIfedTken/0rh+2F/MhdDtl1+mshQFXUX2/2ejpA=",
"description": "Microsoft Azure Command-Line Tools DevCenter Extension"
},
"diskpool": {
@@ -407,9 +421,9 @@
},
"edge-action": {
"pname": "edge-action",
- "version": "1.0.0b2",
- "url": "https://azcliprod.blob.core.windows.net/cli-extensions/edge_action-1.0.0b2-py3-none-any.whl",
- "hash": "sha256-wtIkeQPRlEAEL/PXTVuPaUoQbabFKDKLc/RML+qaBGM=",
+ "version": "1.0.0b3",
+ "url": "https://azcliprod.blob.core.windows.net/cli-extensions/edge_action-1.0.0b3-py3-none-any.whl",
+ "hash": "sha256-rAC5OVb2crUfQR1DkQmW09Ifft55aAnYgM7s8frPzW4=",
"description": "Microsoft Azure Command-Line Tools Extension for Azure Front Door Edge Actions"
},
"edgeorder": {
@@ -463,9 +477,9 @@
},
"fleet": {
"pname": "fleet",
- "version": "1.8.2",
- "url": "https://azcliprod.blob.core.windows.net/cli-extensions/fleet-1.8.2-py3-none-any.whl",
- "hash": "sha256-3YRF7R7NB8zPonNcgv4Cfs3gk55pgTAbeo1tGOH6fsA=",
+ "version": "1.8.3",
+ "url": "https://azcliprod.blob.core.windows.net/cli-extensions/fleet-1.8.3-py3-none-any.whl",
+ "hash": "sha256-KY4lXsFf1Rxhcblyfxw904dWHxdWR17L864qiIpYYOQ=",
"description": "Microsoft Azure Command-Line Tools Fleet Extension"
},
"fluid-relay": {
@@ -484,9 +498,9 @@
},
"front-door": {
"pname": "front-door",
- "version": "1.4.0",
- "url": "https://azcliprod.blob.core.windows.net/cli-extensions/front_door-1.4.0-py3-none-any.whl",
- "hash": "sha256-9chF08+QQe2WYR/vvifE9AzjYV4X26TweeGf2U5zcGA=",
+ "version": "2.1.0",
+ "url": "https://azcliprod.blob.core.windows.net/cli-extensions/front_door-2.1.0-py3-none-any.whl",
+ "hash": "sha256-7aa9A+tq+qXzMuabG9McHkXpU3TRZVjQWDbmuHTTsFk=",
"description": "Manage networking Front Doors"
},
"fzf": {
@@ -533,9 +547,9 @@
},
"healthbot": {
"pname": "healthbot",
- "version": "0.1.0",
- "url": "https://azcliprod.blob.core.windows.net/cli-extensions/healthbot-0.1.0-py3-none-any.whl",
- "hash": "sha256-kTT60lEVFucUpds0bWOGWvC63wWZrePxwV+soAVVhaM=",
+ "version": "1.0.0",
+ "url": "https://azcliprod.blob.core.windows.net/cli-extensions/healthbot-1.0.0-py3-none-any.whl",
+ "hash": "sha256-X6M+iVNShC9YBliy2Ynf5TVUDKo3ZTaqu1yvFn6v6Ew=",
"description": "Microsoft Azure Command-Line Tools HealthbotClient Extension"
},
"healthcareapis": {
@@ -547,9 +561,9 @@
},
"hpc-cache": {
"pname": "hpc-cache",
- "version": "0.1.5",
- "url": "https://azcliprod.blob.core.windows.net/cli-extensions/hpc_cache-0.1.5-py2.py3-none-any.whl",
- "hash": "sha256-hSy0F6rfCtB+PFFBOFjEE79x6my0m6WCidlXL5o1BQc=",
+ "version": "0.1.6",
+ "url": "https://azcliprod.blob.core.windows.net/cli-extensions/hpc_cache-0.1.6-py2.py3-none-any.whl",
+ "hash": "sha256-aUNk9avjsiJnqOVNULsANeO/IXkjRV76a8u+c5O4Bso=",
"description": "Microsoft Azure Command-Line Tools StorageCache Extension"
},
"image-copy-extension": {
@@ -561,9 +575,9 @@
},
"image-gallery": {
"pname": "image-gallery",
- "version": "1.0.0b1",
- "url": "https://azcliprod.blob.core.windows.net/cli-extensions/image_gallery-1.0.0b1-py2.py3-none-any.whl",
- "hash": "sha256-WwVNZ7dYcfXELlsSNrkhKgtolYE4oNRIQJ1DoJxzIZE=",
+ "version": "1.0.0b2",
+ "url": "https://azcliprod.blob.core.windows.net/cli-extensions/image_gallery-1.0.0b2-py2.py3-none-any.whl",
+ "hash": "sha256-Q2lgO2YZvvwKoTi+7WDLuBbN2HuCa8DcdcC31RgNLCw=",
"description": "Support for Azure Image Gallery"
},
"import-export": {
@@ -603,11 +617,18 @@
},
"k8s-runtime": {
"pname": "k8s-runtime",
- "version": "2.0.0",
- "url": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_runtime-2.0.0-py3-none-any.whl",
- "hash": "sha256-SSW6qtKarGtCPsi88PWG4IWX5YzTQ9WoyNqiKbx8mok=",
+ "version": "2.0.1",
+ "url": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_runtime-2.0.1-py3-none-any.whl",
+ "hash": "sha256-gGI8vYgtiVgf/oQsWYp3O4mzRoDf5uzvkhevkX53dWM=",
"description": "Microsoft Azure Command-Line Tools K8sRuntime Extension"
},
+ "keyvault-preview": {
+ "pname": "keyvault-preview",
+ "version": "1.0.2",
+ "url": "https://azcliprod.blob.core.windows.net/cli-extensions/keyvault_preview-1.0.2-py3-none-any.whl",
+ "hash": "sha256-2O5Pzvs7z/So+CqgiLe+BOJuvClJIhQABGM4Cxsfmu0=",
+ "description": "Microsoft Azure Command-Line Tools Keyvault-preview Extension"
+ },
"kusto": {
"pname": "kusto",
"version": "0.5.0",
@@ -694,9 +715,9 @@
},
"migrate": {
"pname": "migrate",
- "version": "3.0.0b2",
- "url": "https://azcliprod.blob.core.windows.net/cli-extensions/migrate-3.0.0b2-py3-none-any.whl",
- "hash": "sha256-UShJtaTygedXgcITDUStH3PAhxyvFBtwMutz/vYJ+s8=",
+ "version": "3.0.0b3",
+ "url": "https://azcliprod.blob.core.windows.net/cli-extensions/migrate-3.0.0b3-py3-none-any.whl",
+ "hash": "sha256-Yyos4j33u3xCu+xuUt53ifCF5TD2m5YRjw2j66CIah4=",
"description": "Support for Azure Migrate preview"
},
"mixed-reality": {
@@ -771,9 +792,9 @@
},
"nginx": {
"pname": "nginx",
- "version": "2.0.0b9",
- "url": "https://azcliprod.blob.core.windows.net/cli-extensions/nginx-2.0.0b9-py2.py3-none-any.whl",
- "hash": "sha256-zJDRh3cN4Qdz4w3QOAuhs+2+C+ku/lKjP54Am3wJXTk=",
+ "version": "2.0.0b10",
+ "url": "https://azcliprod.blob.core.windows.net/cli-extensions/nginx-2.0.0b10-py2.py3-none-any.whl",
+ "hash": "sha256-RYvMtOEopLUbYUPt1RxECyGEyDc4aOAt2hp7Orv0DAM=",
"description": "Microsoft Azure Command-Line Tools Nginx Extension"
},
"notification-hub": {
@@ -862,9 +883,9 @@
},
"quantum": {
"pname": "quantum",
- "version": "1.0.0b10",
- "url": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-1.0.0b10-py3-none-any.whl",
- "hash": "sha256-ihvof5C7EOMq65Ljbv2ax9Lri67AY0kSBb687dUGAv0=",
+ "version": "1.0.0b11",
+ "url": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-1.0.0b11-py3-none-any.whl",
+ "hash": "sha256-LcfF4Rmfr4L4R0n41g4RngDyfTeRZheZuNqGP4kI5Yk=",
"description": "Microsoft Azure Command-Line Tools Quantum Extension"
},
"qumulo": {
@@ -918,9 +939,9 @@
},
"scheduled-query": {
"pname": "scheduled-query",
- "version": "1.0.0b1",
- "url": "https://azcliprod.blob.core.windows.net/cli-extensions/scheduled_query-1.0.0b1-py2.py3-none-any.whl",
- "hash": "sha256-/V5p0EOLgInb4ZfVukxBd2rtkGlBysN0dVpMkETErwQ=",
+ "version": "1.0.0b2",
+ "url": "https://azcliprod.blob.core.windows.net/cli-extensions/scheduled_query-1.0.0b2-py2.py3-none-any.whl",
+ "hash": "sha256-UuY4rZntL543bBkYaAwNzCtmGVsZ5npROl0ozVizUJw=",
"description": "Microsoft Azure Command-Line Tools Scheduled_query Extension"
},
"scvmm": {
@@ -974,9 +995,9 @@
},
"stack-hci-vm": {
"pname": "stack-hci-vm",
- "version": "1.11.6",
- "url": "https://azcliprod.blob.core.windows.net/cli-extensions/stack_hci_vm-1.11.6-py3-none-any.whl",
- "hash": "sha256-JyLErSQLS0cMKClSc9q97gdwCtfr0X2ilcP4EuE0V60=",
+ "version": "1.11.9",
+ "url": "https://azcliprod.blob.core.windows.net/cli-extensions/stack_hci_vm-1.11.9-py3-none-any.whl",
+ "hash": "sha256-MX5rPOARe9r9kglMz+R8EnMrZ/nxL9ICK5hzXEWXjWk=",
"description": "Microsoft Azure Command-Line Tools Stack-HCi-VM Extension"
},
"standbypool": {
@@ -995,9 +1016,9 @@
},
"storage-actions": {
"pname": "storage-actions",
- "version": "1.0.0",
- "url": "https://azcliprod.blob.core.windows.net/cli-extensions/storage_actions-1.0.0-py3-none-any.whl",
- "hash": "sha256-OzMuN2blvmoj9GuzU1X3O2PJ0Yr8rsnFXYzypAJlF58=",
+ "version": "1.1.0",
+ "url": "https://azcliprod.blob.core.windows.net/cli-extensions/storage_actions-1.1.0-py3-none-any.whl",
+ "hash": "sha256-Xj0KOug3QlFFUeNMtx/ygecOTZhtLsGYnlTX07dhk04=",
"description": "Microsoft Azure Command-Line Tools StorageActions Extension"
},
"storage-blob-preview": {
@@ -1016,9 +1037,9 @@
},
"storage-mover": {
"pname": "storage-mover",
- "version": "1.2.0",
- "url": "https://azcliprod.blob.core.windows.net/cli-extensions/storage_mover-1.2.0-py3-none-any.whl",
- "hash": "sha256-jIZ2WTXHeK2+DeBOfU8tKN5abXARPzDu45YP5nSNzXA=",
+ "version": "1.2.1",
+ "url": "https://azcliprod.blob.core.windows.net/cli-extensions/storage_mover-1.2.1-py3-none-any.whl",
+ "hash": "sha256-CWybGBqh6g8/+EsrqkFXlAZfkUMqrmKSAhq4d05WG/0=",
"description": "Microsoft Azure Command-Line Tools StorageMover Extension"
},
"storagesync": {
@@ -1107,9 +1128,9 @@
},
"vmware": {
"pname": "vmware",
- "version": "8.0.0",
- "url": "https://azcliprod.blob.core.windows.net/cli-extensions/vmware-8.0.0-py2.py3-none-any.whl",
- "hash": "sha256-Y+3qoZWD1Jx+BrRsHoTZp2lwuFp/NI/l7EYTP8bebuw=",
+ "version": "8.1.0",
+ "url": "https://azcliprod.blob.core.windows.net/cli-extensions/vmware-8.1.0-py2.py3-none-any.whl",
+ "hash": "sha256-QlwHakDfpj37o5mNUbt0MyPhgRyD/aNPfn4oRO5JtWo=",
"description": "Azure VMware Solution commands"
},
"webapp": {
diff --git a/pkgs/by-name/az/azure-cli/extensions-manual.nix b/pkgs/by-name/az/azure-cli/extensions-manual.nix
index cd6362a9ffa8..d3dfb5f538f1 100644
--- a/pkgs/by-name/az/azure-cli/extensions-manual.nix
+++ b/pkgs/by-name/az/azure-cli/extensions-manual.nix
@@ -280,6 +280,18 @@
meta.maintainers = with lib.maintainers; [ obreitwi ];
};
+ redisenterprise = mkAzExtension rec {
+ pname = "redisenterprise";
+ version = "1.4.0";
+ url = "https://azcliprod.blob.core.windows.net/cli-extensions/redisenterprise-${version}-py3-none-any.whl";
+ hash = "sha256-vMKLLC/q39SZ2MbqxmcjUiylr01D1olaLujQ1LbFqak=";
+ description = "Microsoft Azure Command-Line Tools RedisEnterprise Extension";
+ propagatedBuildInputs = with python3Packages; [
+ redis
+ pyjwt
+ ];
+ };
+
serial-console = mkAzExtension {
pname = "serial-console";
version = "1.0.0b2";
diff --git a/pkgs/by-name/az/azure-cli/package.nix b/pkgs/by-name/az/azure-cli/package.nix
index b62ea5382f6c..8f50b370dcad 100644
--- a/pkgs/by-name/az/azure-cli/package.nix
+++ b/pkgs/by-name/az/azure-cli/package.nix
@@ -26,14 +26,14 @@
}:
let
- version = "2.82.0";
+ version = "2.83.0";
src = fetchFromGitHub {
name = "azure-cli-${version}-src";
owner = "Azure";
repo = "azure-cli";
tag = "azure-cli-${version}";
- hash = "sha256-C9qsgJI/+4NKiUSrOANWnGtZPlAt5SaQTtRwcqjwIkk=";
+ hash = "sha256-ptmqcRbjLWMZ9i+rt0amfjpVC+VuE+L3Np2gPpF7Urg=";
};
# put packages that needs to be overridden in the py package scope
diff --git a/pkgs/by-name/ba/backblaze-b2/package.nix b/pkgs/by-name/ba/backblaze-b2/package.nix
index 7feab2059fbd..2bd1ddf273a4 100644
--- a/pkgs/by-name/ba/backblaze-b2/package.nix
+++ b/pkgs/by-name/ba/backblaze-b2/package.nix
@@ -11,14 +11,14 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "backblaze-b2";
- version = "4.5.1";
+ version = "4.6.0";
pyproject = true;
src = fetchFromGitHub {
owner = "Backblaze";
repo = "B2_Command_Line_Tool";
tag = "v${finalAttrs.version}";
- hash = "sha256-0BF4+L47Cx7GNGeNm8nJkEfTLYb6jLxSH3WE+h9B6zA=";
+ hash = "sha256-/JCvCydW+oaPSs94Crfia9VFNSuHO02j6n+CFnxMKDE=";
};
patches = [ ./0001-fix-error-with-pytest-4.0.patch ];
@@ -28,25 +28,21 @@ python3Packages.buildPythonApplication (finalAttrs: {
argcomplete
];
- build-system = with python3Packages; [
- pdm-backend
- ];
+ build-system = with python3Packages; [ pdm-backend ];
dependencies = with python3Packages; [
argcomplete
arrow
b2sdk
- phx-class-registry
docutils
+ platformdirs
rst2ansi
+ setuptools
tabulate
tqdm
- platformdirs
- packaging
- setuptools
];
- pythonRelaxDeps = [ "phx-class-registry" ];
+ pythonRelaxDeps = [ "docutils" ];
nativeCheckInputs = with python3Packages; [
backoff
diff --git a/pkgs/by-name/ba/bazarr/package.nix b/pkgs/by-name/ba/bazarr/package.nix
index 2fe57bc41fcb..f029fa8f1453 100644
--- a/pkgs/by-name/ba/bazarr/package.nix
+++ b/pkgs/by-name/ba/bazarr/package.nix
@@ -17,11 +17,11 @@ let
in
stdenv.mkDerivation rec {
pname = "bazarr";
- version = "1.5.5";
+ version = "1.5.6";
src = fetchzip {
url = "https://github.com/morpheus65535/bazarr/releases/download/v${version}/bazarr.zip";
- hash = "sha256-YiR/hi+/vptjHxwBYsq/W3QdjT12+pv74AuU1ggM084=";
+ hash = "sha256-S3idNH9Wm9f6aNj69dERmeks1rLvUeQJYFebXa5cWQo=";
stripRoot = false;
};
diff --git a/pkgs/by-name/br/brave/package.nix b/pkgs/by-name/br/brave/package.nix
index dd519168a40a..6f40737b9633 100644
--- a/pkgs/by-name/br/brave/package.nix
+++ b/pkgs/by-name/br/brave/package.nix
@@ -3,24 +3,24 @@
let
pname = "brave";
- version = "1.87.190";
+ version = "1.87.191";
allArchives = {
aarch64-linux = {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_arm64.deb";
- hash = "sha256-ktHcMh5sPgpj6lNtW1PAcJJoFSMZKoOawdKkAH27/OI=";
+ hash = "sha256-mwczK2IYt+88VfSyNLwSWRxBuGS+AzMcAGE2C8Bafno=";
};
x86_64-linux = {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
- hash = "sha256-gQ1LSSKSVV7YOFTFHENDIQF73CyMr/nYNcxYOb/qw+w=";
+ hash = "sha256-p2gdKzk0YTZYciSvlpO0Q31w8/eNOE1WmhvWm0pop1I=";
};
aarch64-darwin = {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-v${version}-darwin-arm64.zip";
- hash = "sha256-QCswcz18onnqn+xfM91hIk7ZCx9WZVR8gAu+3TnfPS4=";
+ hash = "sha256-ZXjEPtb6WV+izKbyaaR4MtcI0dS+tOlYQ/B8ngKt0GY=";
};
x86_64-darwin = {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-v${version}-darwin-x64.zip";
- hash = "sha256-zeLuQYY/ZNnxMLQKp73CB1j8FhTI0GqsarUPLz+5J0o=";
+ hash = "sha256-yDyzzTVlB2hHFzECe3C4Lv5RZTSqgyBOdN1HBdmI2aA=";
};
};
diff --git a/pkgs/by-name/cc/ccls/package.nix b/pkgs/by-name/cc/ccls/package.nix
index c4d554e3968c..789bb27e164d 100644
--- a/pkgs/by-name/cc/ccls/package.nix
+++ b/pkgs/by-name/cc/ccls/package.nix
@@ -44,7 +44,8 @@ stdenv.mkDerivation (finalAttrs: {
substitute ${./wrapper} $out/bin/ccls \
--replace-fail '@clang@' '${llvmPackages.clang}' \
--replace-fail '@shell@' '${runtimeShell}' \
- --replace-fail '@wrapped@' "$wrapped"
+ --replace-fail '@wrapped@' "$wrapped" \
+ --replace-fail '@out@' "$out"
chmod --reference=$out/bin/$wrapped $out/bin/ccls
'';
diff --git a/pkgs/by-name/cc/ccls/wrapper b/pkgs/by-name/cc/ccls/wrapper
index 703bd88cfaed..294b60893a3f 100644
--- a/pkgs/by-name/cc/ccls/wrapper
+++ b/pkgs/by-name/cc/ccls/wrapper
@@ -1,11 +1,9 @@
#! @shell@ -e
-dirpath=$(CDPATH= cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
-
printf -v extraArgs ',\"%s\"' \
$(cat @clang@/nix-support/libc-cflags \
@clang@/nix-support/libcxx-cxxflags) \
${NIX_CFLAGS_COMPILE}
initString="--init={\"clang\":{\"extraArgs\":[${extraArgs:1}],\"resourceDir\":\"@clang@/resource-root\"}}"
-exec -a "$0" "$dirpath/@wrapped@" "${initString}" "$@"
+exec -a "$0" "@out@/bin/@wrapped@" "${initString}" "$@"
diff --git a/pkgs/by-name/cl/claude-code-bin/manifest.json b/pkgs/by-name/cl/claude-code-bin/manifest.json
index ca5c00dc5d2c..468877e95b2b 100644
--- a/pkgs/by-name/cl/claude-code-bin/manifest.json
+++ b/pkgs/by-name/cl/claude-code-bin/manifest.json
@@ -1,46 +1,46 @@
{
- "version": "2.1.49",
- "buildDate": "2026-02-19T22:40:53Z",
+ "version": "2.1.59",
+ "buildDate": "2026-02-25T23:40:08Z",
"platforms": {
"darwin-arm64": {
"binary": "claude",
- "checksum": "2b984814350ed9a9b70506bcbc10b77da46f5b3e06a9c6932f0731d042049b98",
- "size": 184907552
+ "checksum": "ef70dae6ed08b5538f6d157a8c8591f72c262fb8e570c94711bad3ae4ee44afa",
+ "size": 187104656
},
"darwin-x64": {
"binary": "claude",
- "checksum": "3155c5a13e8fa9976038a4b955c3ec006aa17c2c12d8bb8a2dd3056661eeed25",
- "size": 190028768
+ "checksum": "b3b69beae466ac1b7659bf5710ec1d5e7b20c848418cc701019462e0923ff0e0",
+ "size": 192258768
},
"linux-arm64": {
"binary": "claude",
- "checksum": "e4e4ea8a9f8bce5f8fbaae7bac7c7a1826ea7ba68b38b9c2951e8466bca91331",
- "size": 222051812
+ "checksum": "78b0ea5a64793149f550ad3ddcfcbc7147128a600243839f703fb5b6a2194859",
+ "size": 224884646
},
"linux-x64": {
"binary": "claude",
- "checksum": "e7a7565665ecbccca2c6912b2ef29da2b137d260201b931c737b7dd3821c6e2f",
- "size": 224937041
+ "checksum": "7a4a653982b07e0a8157f8d3b2c2f8e442520ab07b2fa2e692ba054dbba210c9",
+ "size": 227880817
},
"linux-arm64-musl": {
"binary": "claude",
- "checksum": "7500953b5c47930dff10f19d086a99414dff585b8db0c2367f795241229595f0",
- "size": 215218820
+ "checksum": "4f16635c098b8302d5eaf83fe726c3582e00d91cf56a37d18d0c91efbcac6cd9",
+ "size": 217281606
},
"linux-x64-musl": {
"binary": "claude",
- "checksum": "e6ca49650f42cdf6ff98d9d5b6c98e3fee547c03879eba5e93377f28ca84da24",
- "size": 217437097
+ "checksum": "3adaebe59f10524bd9d19ebb3d090c3207b67143c0f40ec1cfc544409f8ded60",
+ "size": 219578057
},
"win32-x64": {
"binary": "claude.exe",
- "checksum": "d370342a0b9a677180dfbedfa826acb77a5b4d6c032447d0d46e69d343d38d73",
- "size": 233937056
+ "checksum": "6dfdfa45ce01928317abb6c3774e0c533952c471002e468dd254022acd39e268",
+ "size": 236043424
},
"win32-arm64": {
"binary": "claude.exe",
- "checksum": "9d6a70d70e5f026ae0423e42e1399e2b20ba26eea2931b259d378c8c217ae9b1",
- "size": 225988768
+ "checksum": "aadd9629f391a76e23bab6d06f8a6fe38f01137831012c96356cac178820e960",
+ "size": 228253856
}
}
}
diff --git a/pkgs/by-name/cl/claude-code/package-lock.json b/pkgs/by-name/cl/claude-code/package-lock.json
index a65cebfe2f9a..94b45e50db21 100644
--- a/pkgs/by-name/cl/claude-code/package-lock.json
+++ b/pkgs/by-name/cl/claude-code/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "@anthropic-ai/claude-code",
- "version": "2.1.50",
+ "version": "2.1.59",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@anthropic-ai/claude-code",
- "version": "2.1.50",
+ "version": "2.1.59",
"license": "SEE LICENSE IN README.md",
"bin": {
"claude": "cli.js"
diff --git a/pkgs/by-name/cl/claude-code/package.nix b/pkgs/by-name/cl/claude-code/package.nix
index e8543aecb2f9..bc7a7cf56c79 100644
--- a/pkgs/by-name/cl/claude-code/package.nix
+++ b/pkgs/by-name/cl/claude-code/package.nix
@@ -15,14 +15,14 @@
}:
buildNpmPackage (finalAttrs: {
pname = "claude-code";
- version = "2.1.50";
+ version = "2.1.59";
src = fetchzip {
url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${finalAttrs.version}.tgz";
- hash = "sha256-pSPZzbLhFsE8zwlp+CHB5MqS1gT3CeIlkoAtswmxCZs=";
+ hash = "sha256-Dam9aJ0qBdqU40ACfzGQHuytW6ur0fMLm8D5fIKd1TE=";
};
- npmDepsHash = "sha256-/oQxdQjMVS8r7e1DUPEjhWOLOD/hhVCx8gjEWb3ipZQ=";
+ npmDepsHash = "sha256-K+8xoBc3apvxQ9hCpYywqgBcfLxMWSxacgJcMH8mK7E=";
strictDeps = true;
diff --git a/pkgs/by-name/cl/clever-tools/package.nix b/pkgs/by-name/cl/clever-tools/package.nix
index 455cb1c2858d..5b51c93116e6 100644
--- a/pkgs/by-name/cl/clever-tools/package.nix
+++ b/pkgs/by-name/cl/clever-tools/package.nix
@@ -11,7 +11,7 @@
buildNpmPackage rec {
pname = "clever-tools";
- version = "4.6.0";
+ version = "4.6.1";
nodejs = nodejs_22;
@@ -19,10 +19,10 @@ buildNpmPackage rec {
owner = "CleverCloud";
repo = "clever-tools";
rev = version;
- hash = "sha256-0c2SBArtMUffQ7hd2fH9l5DMGm+UIWNeY/aSU0cUHzg=";
+ hash = "sha256-n/iDQdvAaINeIfCbvnL6OGuJ35xS6HsTtFxZ4nKiPWA=";
};
- npmDepsHash = "sha256-Quzpdmu9qvJ4P77nsXzqLg3k7tQvuYtvEioDuUSU0+M=";
+ npmDepsHash = "sha256-muuDE5bd35IlAhq2mOCsp+5U2zf4RuaMxhvkmw8WCHc=";
nativeBuildInputs = [
installShellFiles
diff --git a/pkgs/by-name/cl/cloudlog/package.nix b/pkgs/by-name/cl/cloudlog/package.nix
index 6c3ada1a5c39..864530378e9d 100644
--- a/pkgs/by-name/cl/cloudlog/package.nix
+++ b/pkgs/by-name/cl/cloudlog/package.nix
@@ -9,13 +9,13 @@
stdenvNoCC.mkDerivation rec {
pname = "cloudlog";
- version = "2.8.7";
+ version = "2.8.8";
src = fetchFromGitHub {
owner = "magicbug";
repo = "Cloudlog";
rev = version;
- hash = "sha256-/zMZbM9TvFMZTUkAN4wqutZ+YQA9sVtdXZwEGISm6NA=";
+ hash = "sha256-Mr5418UTU44glFSvo1abKcjHQJRMQCgHcWsh/Kabr9Y=";
};
postPatch = ''
diff --git a/pkgs/by-name/co/colima/package.nix b/pkgs/by-name/co/colima/package.nix
index e6fb4e031f7f..1470cbb89cc2 100644
--- a/pkgs/by-name/co/colima/package.nix
+++ b/pkgs/by-name/co/colima/package.nix
@@ -15,13 +15,13 @@
buildGoModule (finalAttrs: {
pname = "colima";
- version = "0.9.1";
+ version = "0.10.1";
src = fetchFromGitHub {
owner = "abiosoft";
repo = "colima";
tag = "v${finalAttrs.version}";
- hash = "sha256-oRhpABYyP4T6kfmvJ4llPXcXWrSbxU7uUfvXQhm2huc=";
+ hash = "sha256-WYwHqMPHRF17j7EfZzxHAMV0JPGZKLfJCn0axpuh5sc=";
# We need the git revision
leaveDotGit = true;
postFetch = ''
@@ -36,7 +36,7 @@ buildGoModule (finalAttrs: {
]
++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.DarwinTools ];
- vendorHash = "sha256-ZwgzKCOEhgKK2LNRLjnWP6qHI4f6OGORvt3CREJf55I=";
+ vendorHash = "sha256-UAnQZyZ4EcIZz55jXUjkJDjq3s0uLPBnwUPyNcBV6aE=";
# disable flaky Test_extractZones
# https://hydra.nixos.org/build/212378003/log
diff --git a/pkgs/by-name/co/cosmic-applets/package.nix b/pkgs/by-name/co/cosmic-applets/package.nix
index 19533ff4fdd3..8da525145261 100644
--- a/pkgs/by-name/co/cosmic-applets/package.nix
+++ b/pkgs/by-name/co/cosmic-applets/package.nix
@@ -20,14 +20,14 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cosmic-applets";
- version = "1.0.7";
+ version = "1.0.8";
# nixpkgs-update: no auto update
src = fetchFromGitHub {
owner = "pop-os";
repo = "cosmic-applets";
tag = "epoch-${finalAttrs.version}";
- hash = "sha256-ONDfvyIy7sqgMpf2IrVUjLPkXUEOiN3OGK57P/4KVZQ=";
+ hash = "sha256-x2FHzgbxxHJEYlCK0bi5j7WdAqAlcocLYW20y2ionBc=";
};
cargoHash = "sha256-FWpfgqPqjbzzv6yaBKx9eq+PHCCQ/TErx+TGWqmXqXA=";
diff --git a/pkgs/by-name/co/cosmic-applibrary/package.nix b/pkgs/by-name/co/cosmic-applibrary/package.nix
index 8e2f893cfdb3..98484a2c2249 100644
--- a/pkgs/by-name/co/cosmic-applibrary/package.nix
+++ b/pkgs/by-name/co/cosmic-applibrary/package.nix
@@ -11,17 +11,17 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cosmic-applibrary";
- version = "1.0.7";
+ version = "1.0.8";
# nixpkgs-update: no auto update
src = fetchFromGitHub {
owner = "pop-os";
repo = "cosmic-applibrary";
tag = "epoch-${finalAttrs.version}";
- hash = "sha256-OxHfrtUrcVC5rdh3W56zNhNRNzYrX+VRJIiW19lAJPM=";
+ hash = "sha256-sHF5jNY6sAZtWPeIgYjrLlhpSzhfoU21kA0ejWRkf98=";
};
- cargoHash = "sha256-apLIpb1VUuQRgOJ2mQioPyucbETzyh5wOeatMCLGrc4=";
+ cargoHash = "sha256-h/LjcSKnmZof4/OFyLDUFWcjn6TiTt8eRAJkj8lUC0Y=";
nativeBuildInputs = [
just
diff --git a/pkgs/by-name/co/cosmic-bg/package.nix b/pkgs/by-name/co/cosmic-bg/package.nix
index c271bbd96b54..116d9e20b7f4 100644
--- a/pkgs/by-name/co/cosmic-bg/package.nix
+++ b/pkgs/by-name/co/cosmic-bg/package.nix
@@ -13,14 +13,14 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cosmic-bg";
- version = "1.0.7";
+ version = "1.0.8";
# nixpkgs-update: no auto update
src = fetchFromGitHub {
owner = "pop-os";
repo = "cosmic-bg";
tag = "epoch-${finalAttrs.version}";
- hash = "sha256-/6VYiZ02y/UAA3fZ+CHb18BZAWBnm/3HAf7IdEhaeD0=";
+ hash = "sha256-epwCl68NWKgGMUrwIA7ALlOLMTLxyShqfV0ARXsZxrs=";
};
postPatch = ''
@@ -29,7 +29,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
"${cosmic-wallpapers}/share/backgrounds/cosmic/orion_nebula_nasa_heic0601a.jpg"
'';
- cargoHash = "sha256-+NkraWjWHIMIyktAUlp3q2Ot1ib1QRsBBvfdbr5BXto=";
+ cargoHash = "sha256-BEQQy79s9B0GLr0w2+8N5s24Ko8ikWjRxf8DmLve8kc=";
nativeBuildInputs = [
just
diff --git a/pkgs/by-name/co/cosmic-comp/package.nix b/pkgs/by-name/co/cosmic-comp/package.nix
index 517f7d621b35..43a4d66b4d4a 100644
--- a/pkgs/by-name/co/cosmic-comp/package.nix
+++ b/pkgs/by-name/co/cosmic-comp/package.nix
@@ -20,17 +20,17 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cosmic-comp";
- version = "1.0.7";
+ version = "1.0.8";
# nixpkgs-update: no auto update
src = fetchFromGitHub {
owner = "pop-os";
repo = "cosmic-comp";
tag = "epoch-${finalAttrs.version}";
- hash = "sha256-AxMhcWBYN6q6IDKXXBWFi+WvSnSgF/lg5Ch9Obs+7uc=";
+ hash = "sha256-TGTKUF7rYZ/Koem4rPBFYHatzhhqpWe/1WmAqlY3odg=";
};
- cargoHash = "sha256-hcQ6u4Aj5Av9T9uX0oDSbJG82g6E8IXcJc4Z2CfoRtg=";
+ cargoHash = "sha256-MI8cJzjZd2UeWBESu8xEDYQv0Oa4PRhc4pOCN0zDNO4=";
separateDebugInfo = true;
diff --git a/pkgs/by-name/co/cosmic-edit/package.nix b/pkgs/by-name/co/cosmic-edit/package.nix
index 5fb92903b44d..a337eb75ac62 100644
--- a/pkgs/by-name/co/cosmic-edit/package.nix
+++ b/pkgs/by-name/co/cosmic-edit/package.nix
@@ -16,17 +16,17 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cosmic-edit";
- version = "1.0.7";
+ version = "1.0.8";
# nixpkgs-update: no auto update
src = fetchFromGitHub {
owner = "pop-os";
repo = "cosmic-edit";
tag = "epoch-${finalAttrs.version}";
- hash = "sha256-yaDFlnORaPwh/2Zb3Nh1Hr/jA1Z/kQT6Y1zic0eVvwA=";
+ hash = "sha256-qmzVc09VFZBS5S/C5JL0OzPnCX5jERXPE8iFycDUj/A=";
};
- cargoHash = "sha256-1Q+jdr7uSQTp+3z2fgQIyH33v/Ld9MPER3/WRJ34Mdg=";
+ cargoHash = "sha256-VEPahTeBPMx+xoZWRFgmbLLEw8l2QXqr/Sk06gW2Mds=";
postPatch = ''
substituteInPlace justfile --replace-fail '#!/usr/bin/env' "#!$(command -v env)"
diff --git a/pkgs/by-name/co/cosmic-files/package.nix b/pkgs/by-name/co/cosmic-files/package.nix
index 3b8bb5e01475..5d8af40db99e 100644
--- a/pkgs/by-name/co/cosmic-files/package.nix
+++ b/pkgs/by-name/co/cosmic-files/package.nix
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchFromGitHub,
+ fetchpatch,
rustPlatform,
just,
libcosmicAppHook,
@@ -12,17 +13,25 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cosmic-files";
- version = "1.0.7";
+ version = "1.0.8";
# nixpkgs-update: no auto update
src = fetchFromGitHub {
owner = "pop-os";
repo = "cosmic-files";
tag = "epoch-${finalAttrs.version}";
- hash = "sha256-kTPPYfga0to19ZC66bGj/ROsMceG8LuELl1OkwKSirU=";
+ hash = "sha256-KXXNYNGun1stXXzY4OWzOVLrLXAs5g7NNaSYajavDvU=";
};
- cargoHash = "sha256-tkH9BIeTukdVJhN9yUgFdUUhyfqnx3tTqwu+LAAULog=";
+ cargoHash = "sha256-HMHS6HrOUVnrWbyGi9wadl9++onBNNCRw4r4nohvQzI=";
+
+ patches = [
+ (fetchpatch {
+ # patch for fixing build error introduced in `epoch-1.0.7`
+ url = "https://github.com/pop-os/cosmic-files/commit/49e3d95e7a5e02c279f2be1f1f4dfdba2fb532dc.patch";
+ hash = "sha256-Ohf3K+ehFvIurPOReFDML+wfBvdxCi7Ef3eCoSLnXFM=";
+ })
+ ];
nativeBuildInputs = [
just
diff --git a/pkgs/by-name/co/cosmic-greeter/package.nix b/pkgs/by-name/co/cosmic-greeter/package.nix
index 1da623e0dbed..c2f728f95750 100644
--- a/pkgs/by-name/co/cosmic-greeter/package.nix
+++ b/pkgs/by-name/co/cosmic-greeter/package.nix
@@ -19,7 +19,7 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cosmic-greeter";
- version = "1.0.7";
+ version = "1.0.8";
# nixpkgs-update: no auto update
src = fetchFromGitHub {
diff --git a/pkgs/by-name/co/cosmic-icons/package.nix b/pkgs/by-name/co/cosmic-icons/package.nix
index 1cbae8c1200c..b7e6dde4e603 100644
--- a/pkgs/by-name/co/cosmic-icons/package.nix
+++ b/pkgs/by-name/co/cosmic-icons/package.nix
@@ -9,7 +9,7 @@
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "cosmic-icons";
- version = "1.0.7";
+ version = "1.0.8";
# nixpkgs-update: no auto update
src = fetchFromGitHub {
diff --git a/pkgs/by-name/co/cosmic-idle/package.nix b/pkgs/by-name/co/cosmic-idle/package.nix
index 7b4c4476527e..491f236b2e38 100644
--- a/pkgs/by-name/co/cosmic-idle/package.nix
+++ b/pkgs/by-name/co/cosmic-idle/package.nix
@@ -16,7 +16,7 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cosmic-idle";
- version = "1.0.7";
+ version = "1.0.8";
# nixpkgs-update: no auto update
src = fetchFromGitHub {
diff --git a/pkgs/by-name/co/cosmic-initial-setup/package.nix b/pkgs/by-name/co/cosmic-initial-setup/package.nix
index b7b9c6cbfb8f..a02b0b65bfd6 100644
--- a/pkgs/by-name/co/cosmic-initial-setup/package.nix
+++ b/pkgs/by-name/co/cosmic-initial-setup/package.nix
@@ -14,7 +14,7 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cosmic-initial-setup";
- version = "1.0.7";
+ version = "1.0.8";
# nixpkgs-update: no auto update
src = fetchFromGitHub {
diff --git a/pkgs/by-name/co/cosmic-launcher/package.nix b/pkgs/by-name/co/cosmic-launcher/package.nix
index 77555f4ec9f1..d7e7c0e9d09c 100644
--- a/pkgs/by-name/co/cosmic-launcher/package.nix
+++ b/pkgs/by-name/co/cosmic-launcher/package.nix
@@ -11,7 +11,7 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cosmic-launcher";
- version = "1.0.7";
+ version = "1.0.8";
# nixpkgs-update: no auto update
src = fetchFromGitHub {
diff --git a/pkgs/by-name/co/cosmic-notifications/package.nix b/pkgs/by-name/co/cosmic-notifications/package.nix
index c0de9a245002..83ebdbc4243b 100644
--- a/pkgs/by-name/co/cosmic-notifications/package.nix
+++ b/pkgs/by-name/co/cosmic-notifications/package.nix
@@ -12,7 +12,7 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cosmic-notifications";
- version = "1.0.7";
+ version = "1.0.8";
# nixpkgs-update: no auto update
src = fetchFromGitHub {
diff --git a/pkgs/by-name/co/cosmic-osd/package.nix b/pkgs/by-name/co/cosmic-osd/package.nix
index f99f701b4bac..06375b289bc9 100644
--- a/pkgs/by-name/co/cosmic-osd/package.nix
+++ b/pkgs/by-name/co/cosmic-osd/package.nix
@@ -15,7 +15,7 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cosmic-osd";
- version = "1.0.7";
+ version = "1.0.8";
# nixpkgs-update: no auto update
src = fetchFromGitHub {
diff --git a/pkgs/by-name/co/cosmic-panel/package.nix b/pkgs/by-name/co/cosmic-panel/package.nix
index 83b81b26130f..e66dff463adb 100644
--- a/pkgs/by-name/co/cosmic-panel/package.nix
+++ b/pkgs/by-name/co/cosmic-panel/package.nix
@@ -11,7 +11,7 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cosmic-panel";
- version = "1.0.7";
+ version = "1.0.8";
# nixpkgs-update: no auto update
src = fetchFromGitHub {
diff --git a/pkgs/by-name/co/cosmic-player/package.nix b/pkgs/by-name/co/cosmic-player/package.nix
index d2d94ec2e3c8..f8bde4b5bd93 100644
--- a/pkgs/by-name/co/cosmic-player/package.nix
+++ b/pkgs/by-name/co/cosmic-player/package.nix
@@ -18,17 +18,17 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cosmic-player";
- version = "1.0.7";
+ version = "1.0.8";
# nixpkgs-update: no auto update
src = fetchFromGitHub {
owner = "pop-os";
repo = "cosmic-player";
tag = "epoch-${finalAttrs.version}";
- hash = "sha256-ddwYgyyAaQr+0ULdCm7ZDLBfmXi014OR/G2KauYsI10=";
+ hash = "sha256-t0gm/LYXwHDnEo7WEgucWt0en54LYzlN2W52GwbMpwI=";
};
- cargoHash = "sha256-8w66CbGoonmJ3cb5G4G7pPjjk1OVbdZFp9smuKchvRY=";
+ cargoHash = "sha256-IWL6x5nHcadQYW0bwA8uavLfJFshVigtqP42M4MiNYE=";
nativeBuildInputs = [
just
diff --git a/pkgs/by-name/co/cosmic-randr/package.nix b/pkgs/by-name/co/cosmic-randr/package.nix
index 24c027829f11..c0106ba52fc9 100644
--- a/pkgs/by-name/co/cosmic-randr/package.nix
+++ b/pkgs/by-name/co/cosmic-randr/package.nix
@@ -12,7 +12,7 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cosmic-randr";
- version = "1.0.7";
+ version = "1.0.8";
# nixpkgs-update: no auto update
src = fetchFromGitHub {
diff --git a/pkgs/by-name/co/cosmic-screenshot/package.nix b/pkgs/by-name/co/cosmic-screenshot/package.nix
index efbdfdb8af87..b41f944af41d 100644
--- a/pkgs/by-name/co/cosmic-screenshot/package.nix
+++ b/pkgs/by-name/co/cosmic-screenshot/package.nix
@@ -11,7 +11,7 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cosmic-screenshot";
- version = "1.0.7";
+ version = "1.0.8";
# nixpkgs-update: no auto update
src = fetchFromGitHub {
diff --git a/pkgs/by-name/co/cosmic-session/package.nix b/pkgs/by-name/co/cosmic-session/package.nix
index 6b2adc3054e6..e04e59c55019 100644
--- a/pkgs/by-name/co/cosmic-session/package.nix
+++ b/pkgs/by-name/co/cosmic-session/package.nix
@@ -12,14 +12,14 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cosmic-session";
- version = "1.0.7";
+ version = "1.0.8";
# nixpkgs-update: no auto update
src = fetchFromGitHub {
owner = "pop-os";
repo = "cosmic-session";
tag = "epoch-${finalAttrs.version}";
- hash = "sha256-dMx7ZSl+ZDZGwAbo3tWwSH8Tg00ZVTJsXNZrBHY4Xj4=";
+ hash = "sha256-PJkr2etwcgzTELzsAVb2agof8tRZGEnDTKJ+1/9Q3bU=";
};
cargoHash = "sha256-wFh9AYQRZB9qK0vCrhW9Zk61Yg+VY3VPAqJRD47NbK4=";
diff --git a/pkgs/by-name/co/cosmic-settings-daemon/package.nix b/pkgs/by-name/co/cosmic-settings-daemon/package.nix
index 90d05a31f041..add7f40bfcf0 100644
--- a/pkgs/by-name/co/cosmic-settings-daemon/package.nix
+++ b/pkgs/by-name/co/cosmic-settings-daemon/package.nix
@@ -16,14 +16,14 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cosmic-settings-daemon";
- version = "1.0.7";
+ version = "1.0.8";
# nixpkgs-update: no auto update
src = fetchFromGitHub {
owner = "pop-os";
repo = "cosmic-settings-daemon";
tag = "epoch-${finalAttrs.version}";
- hash = "sha256-nivViFs0swS5MUH+hfpBl5sFGBZ6XPo3E0PGONVmzxo=";
+ hash = "sha256-np1syOfFqL6eZpnlwNb8WOXB0oqSkxIshX0JiyDlN1A=";
};
postPatch = ''
@@ -33,7 +33,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
--replace-fail '/usr/share/themes/adw-gtk3' '${adw-gtk3}/share/themes/adw-gtk3'
'';
- cargoHash = "sha256-KRV9WKOf9W0g4d2uKrAFEuDqJgr+CTpvtVLn7TIYuBw=";
+ cargoHash = "sha256-p0Dda0Chy8qJNIMAbSnqeC8kHDYIf4tsk7+NCd9/nDQ=";
nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/by-name/co/cosmic-settings/package.nix b/pkgs/by-name/co/cosmic-settings/package.nix
index 51b9cd81150a..c6a4429271dc 100644
--- a/pkgs/by-name/co/cosmic-settings/package.nix
+++ b/pkgs/by-name/co/cosmic-settings/package.nix
@@ -27,17 +27,17 @@ let
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cosmic-settings";
- version = "1.0.7";
+ version = "1.0.8";
# nixpkgs-update: no auto update
src = fetchFromGitHub {
owner = "pop-os";
repo = "cosmic-settings";
tag = "epoch-${finalAttrs.version}";
- hash = "sha256-IkWH8V5M8k3BB8UpnNMxM5z5uzKRatu/tbACywiqezg=";
+ hash = "sha256-bSguS+nrbKkxr8yGGmvRlPI9/b0uctLHKoV+y6Kc1Bw=";
};
- cargoHash = "sha256-1T/Wd59AD8HVeTCeKb8BIdzw3n+nK5otevFmwn3YJRs=";
+ cargoHash = "sha256-fUfj/defu74AYNTG/Wv3lxGbrPmRHZYSwN5ZZ98zwKw=";
nativeBuildInputs = [
cmake
diff --git a/pkgs/by-name/co/cosmic-store/package.nix b/pkgs/by-name/co/cosmic-store/package.nix
index f54f7a5e6187..c7175f806b78 100644
--- a/pkgs/by-name/co/cosmic-store/package.nix
+++ b/pkgs/by-name/co/cosmic-store/package.nix
@@ -15,17 +15,17 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cosmic-store";
- version = "1.0.7";
+ version = "1.0.8";
# nixpkgs-update: no auto update
src = fetchFromGitHub {
owner = "pop-os";
repo = "cosmic-store";
tag = "epoch-${finalAttrs.version}";
- hash = "sha256-nFquLO/qMANbQRbOfjegZeMb2vCSKUK5/Y/U4ghuW64=";
+ hash = "sha256-B5WdvrK7dV8C9/M577S/gbxksA5zdmhDqkidFFAbyH0=";
};
- cargoHash = "sha256-rrIIQ5bx4HMrxoUDH63qFJN7J+eyohSSewFZB5xMNjs=";
+ cargoHash = "sha256-5ak3jbGD4TUiJCKn4FCkOvkZK2LzZAlU0zvqp1q1BaY=";
nativeBuildInputs = [
just
diff --git a/pkgs/by-name/co/cosmic-term/package.nix b/pkgs/by-name/co/cosmic-term/package.nix
index 2d16fff71181..097136d060d9 100644
--- a/pkgs/by-name/co/cosmic-term/package.nix
+++ b/pkgs/by-name/co/cosmic-term/package.nix
@@ -15,17 +15,17 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cosmic-term";
- version = "1.0.7";
+ version = "1.0.8";
# nixpkgs-update: no auto update
src = fetchFromGitHub {
owner = "pop-os";
repo = "cosmic-term";
tag = "epoch-${finalAttrs.version}";
- hash = "sha256-Woko89mT0jBx1YhzO4yXyMfxAMDxPiMn1m51Cm1e7hQ=";
+ hash = "sha256-EN/eVQfUbJPQoU2rOYbfQBdr2cTff1VkQDp+hUEkbAE=";
};
- cargoHash = "sha256-KXhjNBpTOk96+86PbDjeKtQ/VynRVV4a9SYbYGz4A6c=";
+ cargoHash = "sha256-ypb1hlOl1ot4pmeJK9VVuSa2YkzDqMQs0ylH3tWWpb8=";
nativeBuildInputs = [
just
diff --git a/pkgs/by-name/co/cosmic-wallpapers/package.nix b/pkgs/by-name/co/cosmic-wallpapers/package.nix
index e402a4f1c077..ddc30dfd95b3 100644
--- a/pkgs/by-name/co/cosmic-wallpapers/package.nix
+++ b/pkgs/by-name/co/cosmic-wallpapers/package.nix
@@ -7,7 +7,7 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "cosmic-wallpapers";
- version = "1.0.7";
+ version = "1.0.8";
# nixpkgs-update: no auto update
src = fetchFromGitHub {
diff --git a/pkgs/by-name/co/cosmic-workspaces-epoch/package.nix b/pkgs/by-name/co/cosmic-workspaces-epoch/package.nix
index 20c1dae7dd5a..a57dc9d61e6f 100644
--- a/pkgs/by-name/co/cosmic-workspaces-epoch/package.nix
+++ b/pkgs/by-name/co/cosmic-workspaces-epoch/package.nix
@@ -14,17 +14,17 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cosmic-workspaces-epoch";
- version = "1.0.7";
+ version = "1.0.8";
# nixpkgs-update: no auto update
src = fetchFromGitHub {
owner = "pop-os";
repo = "cosmic-workspaces-epoch";
tag = "epoch-${finalAttrs.version}";
- hash = "sha256-HrW02lM1uSiI2UBC46Jjgv7r3urVcgS3Mrvfoig/EjI=";
+ hash = "sha256-0BD+61gQkVHrDb8hfOa1Tiy29Hu+TZCV6r/LdFMPy+k=";
};
- cargoHash = "sha256-r5Do3eRBcwjA4IysyKgkHLz8Wo1WwdEl596ZENiQbEM=";
+ cargoHash = "sha256-IMjDZk42rj2a9ZUFksZ9VhI5RsB0t630Iy3eKtRqY7M=";
separateDebugInfo = true;
diff --git a/pkgs/by-name/es/esphome/package.nix b/pkgs/by-name/es/esphome/package.nix
index d3156e57eff1..bcecbd23ad2e 100644
--- a/pkgs/by-name/es/esphome/package.nix
+++ b/pkgs/by-name/es/esphome/package.nix
@@ -33,14 +33,14 @@ let
in
python.pkgs.buildPythonApplication rec {
pname = "esphome";
- version = "2026.2.1";
+ version = "2026.2.2";
pyproject = true;
src = fetchFromGitHub {
owner = "esphome";
repo = "esphome";
tag = version;
- hash = "sha256-7gCUSR2jLhCre84JggSPvNHIRzAA6ZSVGTe1pQ+D8ok=";
+ hash = "sha256-VfiIeuwvc7CLuR3SjHH8foS2b4bKVOw/bjOYnDnmWkw=";
};
patches = [
diff --git a/pkgs/by-name/fi/filezilla/package.nix b/pkgs/by-name/fi/filezilla/package.nix
index 45c0920272a2..dc1c6ab2e8df 100644
--- a/pkgs/by-name/fi/filezilla/package.nix
+++ b/pkgs/by-name/fi/filezilla/package.nix
@@ -22,12 +22,12 @@
stdenv.mkDerivation {
pname = "filezilla";
- version = "3.69.5";
+ version = "3.69.6";
src = fetchsvn {
url = "https://svn.filezilla-project.org/svn/FileZilla3/trunk";
- rev = "11338";
- hash = "sha256-OQZFwowkmiOcIjWoHkIFwsm6nuyMGSaBSn8zwVpCMAs=";
+ rev = "11365";
+ hash = "sha256-KJI+UxKiwmZfVG0CiS3lDnjz+YNjTy7IoTcOmlGkluk=";
};
configureFlags = [
diff --git a/pkgs/by-name/fr/freecad/0004-FreeCad-fix-boost-189-build.patch b/pkgs/by-name/fr/freecad/0004-FreeCad-fix-boost-189-build.patch
new file mode 100644
index 000000000000..074933ce0fa7
--- /dev/null
+++ b/pkgs/by-name/fr/freecad/0004-FreeCad-fix-boost-189-build.patch
@@ -0,0 +1,13 @@
+diff --git a/cMake/FreeCAD_Helpers/SetupBoost.cmake b/cMake/FreeCAD_Helpers/SetupBoost.cmake
+index 0bb1343..1a389bf 100644
+--- a/cMake/FreeCAD_Helpers/SetupBoost.cmake
++++ b/cMake/FreeCAD_Helpers/SetupBoost.cmake
+@@ -3,7 +3,7 @@ macro(SetupBoost)
+
+ set(_boost_TEST_VERSIONS ${Boost_ADDITIONAL_VERSIONS})
+
+- set (BOOST_COMPONENTS filesystem program_options regex system thread date_time)
++ set (BOOST_COMPONENTS filesystem program_options regex thread date_time)
+ find_package(Boost ${BOOST_MIN_VERSION}
+ COMPONENTS ${BOOST_COMPONENTS} REQUIRED)
+
diff --git a/pkgs/by-name/fr/freecad/package.nix b/pkgs/by-name/fr/freecad/package.nix
index 9bee57d7e7fd..8004f87368ae 100644
--- a/pkgs/by-name/fr/freecad/package.nix
+++ b/pkgs/by-name/fr/freecad/package.nix
@@ -104,6 +104,11 @@ freecad-utils.makeCustomizable (
# https://github.com/FreeCAD/FreeCAD/pull/21710
./0003-FreeCad-fix-font-load-crash.patch
+
+ # Fix build for boost 1.89 or later, remove once FreeCad 1.1 is released
+ # based on https://github.com/FreeCAD/FreeCAD/commit/0f6d00d2a547df0f5c2ba5ef0f79044a49b0a2d
+ ./0004-FreeCad-fix-boost-189-build.patch
+
(fetchpatch {
url = "https://github.com/FreeCAD/FreeCAD/commit/8e04c0a3dd9435df0c2dec813b17d02f7b723b19.patch?full_index=1";
hash = "sha256-H6WbJFTY5/IqEdoi5N+7D4A6pVAmZR4D+SqDglwS18c=";
diff --git a/pkgs/by-name/fr/fresh-editor/package.nix b/pkgs/by-name/fr/fresh-editor/package.nix
index 1fa53283c630..b456bfba8326 100644
--- a/pkgs/by-name/fr/fresh-editor/package.nix
+++ b/pkgs/by-name/fr/fresh-editor/package.nix
@@ -12,16 +12,16 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "fresh";
- version = "0.2.5";
+ version = "0.2.9";
src = fetchFromGitHub {
owner = "sinelaw";
repo = "fresh";
tag = "v${finalAttrs.version}";
- hash = "sha256-JbjTHMvncM5wCiPa3Tmv/HJbg7sKgmOXhmu9He6Tzhk=";
+ hash = "sha256-xB3ZwueGdFPcKNStet/6sLW5qiVrB0iDaeBMknrnlMI=";
};
- cargoHash = "sha256-1b9v7K+EUOtHF3J3vOv1YyFxqnGZ5SbzyUBPCQ5i90U=";
+ cargoHash = "sha256-Ja8lLU5MR4mi4tTZwUgpLpbSBdUk2OUrX299ROTgTIg=";
nativeBuildInputs = [
gzip
diff --git a/pkgs/by-name/ft/ft2-clone/package.nix b/pkgs/by-name/ft/ft2-clone/package.nix
index 5e24e94f7167..f840741ed242 100644
--- a/pkgs/by-name/ft/ft2-clone/package.nix
+++ b/pkgs/by-name/ft/ft2-clone/package.nix
@@ -11,13 +11,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "ft2-clone";
- version = "2.04";
+ version = "2.05";
src = fetchFromGitHub {
owner = "8bitbubsy";
repo = "ft2-clone";
rev = "v${finalAttrs.version}";
- hash = "sha256-nLuorUpw42zuGG5hIk2Gr8lEjQ2wEWe7svx8IC+rFso=";
+ hash = "sha256-wMR0S8knfMncjRVDExXkfKGJlDGOjrgAh+bbe0023dw=";
};
nativeBuildInputs = [ cmake ];
diff --git a/pkgs/by-name/ga/garnet/deps.json b/pkgs/by-name/ga/garnet/deps.json
index 40be469cabc4..8e15158cb50b 100644
--- a/pkgs/by-name/ga/garnet/deps.json
+++ b/pkgs/by-name/ga/garnet/deps.json
@@ -1,14 +1,14 @@
[
- {
- "pname": "Azure.Core",
- "version": "1.47.3",
- "hash": "sha256-fWyfqF1lpnap4cF3l9J0fYtZbxIqm6UFsuJgN+/hwW4="
- },
{
"pname": "Azure.Core",
"version": "1.49.0",
"hash": "sha256-ZLd8vl1QNHWYMOAx/ciDUNNfMGu2DFIfw37+FwiGI/4="
},
+ {
+ "pname": "Azure.Core",
+ "version": "1.50.0",
+ "hash": "sha256-8Pjz0/2wTLK5uY7G5qrxQr4CsmrjiR8gL4g6zJymj5s="
+ },
{
"pname": "Azure.Identity",
"version": "1.17.0",
@@ -16,23 +16,53 @@
},
{
"pname": "Azure.Storage.Blobs",
- "version": "12.26.0",
- "hash": "sha256-J6774WE6xlrsmhkmE1dapkrhK6dFByYxSHLs1OQPk48="
+ "version": "12.27.0",
+ "hash": "sha256-Ag8kMe/NBfq+HSchFzm0VAAo9xVnrKHFHUjbQ4KpSh0="
},
{
"pname": "Azure.Storage.Common",
- "version": "12.25.0",
- "hash": "sha256-4eMv4oOumO6FFx0VMsuIr6sWtouu4f6AajebTQjhj9Q="
+ "version": "12.26.0",
+ "hash": "sha256-GPiEPi/caj5z2cMFP5TUx/Jrj/zXZmA/xqC9CEoI+qQ="
},
{
"pname": "CommandLineParser",
"version": "2.9.1",
"hash": "sha256-ApU9y1yX60daSjPk3KYDBeJ7XZByKW8hse9NRZGcjeo="
},
+ {
+ "pname": "diskann-garnet",
+ "version": "1.0.20",
+ "hash": "sha256-cH3rHJxl2IUvB9pC9recWvwx5mdrtbw2IiSZSIFgZPU="
+ },
{
"pname": "KeraLua",
- "version": "1.4.6",
- "hash": "sha256-7lXJhhQlEuRoaF18XiZYJDyhA8RIWpYWNB9kr4aARQc="
+ "version": "1.4.9",
+ "hash": "sha256-xR8Ram6RX6B2kd+KYpa6URIzOW6SGrKLU33yi1nv5UU="
+ },
+ {
+ "pname": "Microsoft.AspNetCore.App.Ref",
+ "version": "8.0.23",
+ "hash": "sha256-MhWoomc6BwUta7PxbnGC3Fno+GQx3aUEtg/LBDAEi38="
+ },
+ {
+ "pname": "Microsoft.AspNetCore.App.Runtime.linux-arm64",
+ "version": "8.0.23",
+ "hash": "sha256-tG2pcAzeiDBouBrMVaYrCD2M2jCXJ4wk2sNOF2KQILk="
+ },
+ {
+ "pname": "Microsoft.AspNetCore.App.Runtime.linux-x64",
+ "version": "8.0.23",
+ "hash": "sha256-PGtAymoWt5+PBLjt+krej6KruhWy+D+dUE4PgVZSx88="
+ },
+ {
+ "pname": "Microsoft.AspNetCore.App.Runtime.osx-arm64",
+ "version": "8.0.23",
+ "hash": "sha256-fZQKWvYkS/fXUK8BIWD4dSOo1jltO0fDSy0TT+U3H9c="
+ },
+ {
+ "pname": "Microsoft.AspNetCore.App.Runtime.osx-x64",
+ "version": "8.0.23",
+ "hash": "sha256-HsEhlsBgaDkIDgVz3oPkFe3dRcYFqrHEnikKaTqqWpo="
},
{
"pname": "Microsoft.Bcl.AsyncInterfaces",
@@ -44,30 +74,40 @@
"version": "9.0.0",
"hash": "sha256-ECgyZ53XqJoRcZexQpctEq1nHFXuW4YqFSx7Elsae7U="
},
+ {
+ "pname": "Microsoft.Extensions.Configuration",
+ "version": "10.0.2",
+ "hash": "sha256-dBJAKDyp/sm+ZSMQfH0+4OH8Jnv1s20aHlWS6HNnH+c="
+ },
{
"pname": "Microsoft.Extensions.Configuration",
"version": "9.0.8",
"hash": "sha256-GnD1Ar/yZfCZQw2k/2jKteLG1lF/Dk7S3tgMvn+SFqc="
},
+ {
+ "pname": "Microsoft.Extensions.Configuration.Abstractions",
+ "version": "10.0.2",
+ "hash": "sha256-P+0kaDGO+xB9KxF9eWHDJ4hzi05sUGM/uMNEX5NdBTE="
+ },
{
"pname": "Microsoft.Extensions.Configuration.Abstractions",
"version": "9.0.8",
"hash": "sha256-hes+QZM3DQ1R/8CDOdWObk6s1oGhzFqka8Qc7Baf9PY="
},
- {
- "pname": "Microsoft.Extensions.Configuration.Abstractions",
- "version": "9.0.9",
- "hash": "sha256-Qmi+ftu17qqVVHJ+SgKvLrXCHJDrP5h4ZgTflgDWgzc="
- },
{
"pname": "Microsoft.Extensions.Configuration.Binder",
- "version": "9.0.9",
- "hash": "sha256-p7hhHy1hGSJk6OQvaFhz4WFbtM8VkeKb3sSZTB61M0s="
+ "version": "10.0.2",
+ "hash": "sha256-resI9gIxHh2cc+258/i+TjW8xxzKf4ZBTLIcWAMEYz0="
},
{
"pname": "Microsoft.Extensions.DependencyInjection",
- "version": "9.0.8",
- "hash": "sha256-fJOwbtlmP6mXGYqHRCqtb7e08h5mFza6Wmd1NbNq3ug="
+ "version": "10.0.2",
+ "hash": "sha256-/9UWQRAI2eoocnJWWf1ktnAx/1Gt65c16fc0Xqr9+CQ="
+ },
+ {
+ "pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
+ "version": "10.0.2",
+ "hash": "sha256-UF9T13V5SQxJy2msfLmyovLmitZrjJayf8gHH+uK2eg="
},
{
"pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
@@ -76,8 +116,13 @@
},
{
"pname": "Microsoft.Extensions.Logging",
- "version": "9.0.8",
- "hash": "sha256-SEVCMpVwjcQtTSs4lirb89A36MxLQwwqdDFWbr1VvP8="
+ "version": "10.0.2",
+ "hash": "sha256-9+gfQwK32JMYscW1YvyCWEzc9mRZOjCACoD9U1vVaJI="
+ },
+ {
+ "pname": "Microsoft.Extensions.Logging.Abstractions",
+ "version": "10.0.2",
+ "hash": "sha256-ndKGzq8+2J/hvaIULwBui0L/jDyMQTAY24j+ohX5VX8="
},
{
"pname": "Microsoft.Extensions.Logging.Abstractions",
@@ -109,6 +154,11 @@
"version": "9.0.8",
"hash": "sha256-8cz7l8ubkRIBd6gwDJcpJd66MYNU0LsvDH9+PU+mTJo="
},
+ {
+ "pname": "Microsoft.Extensions.Options",
+ "version": "10.0.2",
+ "hash": "sha256-12AfUEDdta/pmZUyEyqSUfOk0YoA7JOfGmIYnZQ//qk="
+ },
{
"pname": "Microsoft.Extensions.Options",
"version": "9.0.8",
@@ -121,13 +171,13 @@
},
{
"pname": "Microsoft.Extensions.Primitives",
- "version": "9.0.8",
- "hash": "sha256-K3T8krgXZmvQg87AQQrn9kiH2sDyKzRUMDyuB/ItmPc="
+ "version": "10.0.2",
+ "hash": "sha256-8Ccrjjv9cFVf9RyCc7GS/Byt8+DXdSNea0UX3A5BEdA="
},
{
"pname": "Microsoft.Extensions.Primitives",
- "version": "9.0.9",
- "hash": "sha256-bCd4Bj5uP4kT0hCvs0LZS8IVqEtpOIyhSiay5ijJbBA="
+ "version": "9.0.8",
+ "hash": "sha256-K3T8krgXZmvQg87AQQrn9kiH2sDyKzRUMDyuB/ItmPc="
},
{
"pname": "Microsoft.Identity.Client",
@@ -180,9 +230,49 @@
"hash": "sha256-BDdJNDquVEplPJT3fYOakg26bSNyzNyUce+7mCjtc5o="
},
{
- "pname": "System.ClientModel",
- "version": "1.6.1",
- "hash": "sha256-OMnamkT9Nt5ZSR6xPKFmOQRUjdn0a4nP9jkD2eZxxc0="
+ "pname": "Microsoft.NETCore.App.Host.linux-arm64",
+ "version": "8.0.23",
+ "hash": "sha256-C7fkJ6CSrORo8ST27oN1bvApyFD/3P5G40LEJHan8dQ="
+ },
+ {
+ "pname": "Microsoft.NETCore.App.Host.linux-x64",
+ "version": "8.0.23",
+ "hash": "sha256-QSyUAyYwlDbFdWXKMD+Gm+2gkwjEZu+JyxpTIuIHl5w="
+ },
+ {
+ "pname": "Microsoft.NETCore.App.Host.osx-arm64",
+ "version": "8.0.23",
+ "hash": "sha256-7ztl28l8zPNREGKvR9IcrVDm13/Fi2xSqD8fjxE6yLM="
+ },
+ {
+ "pname": "Microsoft.NETCore.App.Host.osx-x64",
+ "version": "8.0.23",
+ "hash": "sha256-/eDywkBIggw2lt65yf1HFs8wSc1IgrTpEg/aKIz1y7g="
+ },
+ {
+ "pname": "Microsoft.NETCore.App.Ref",
+ "version": "8.0.23",
+ "hash": "sha256-Vevn8gsO4gCnGo0ns6B7i0MedAnEq3nBgnqx/E7aI44="
+ },
+ {
+ "pname": "Microsoft.NETCore.App.Runtime.linux-arm64",
+ "version": "8.0.23",
+ "hash": "sha256-DyEbaM692s4YBvufr3ebhFH9j2miUAisTIXT5E3fCYg="
+ },
+ {
+ "pname": "Microsoft.NETCore.App.Runtime.linux-x64",
+ "version": "8.0.23",
+ "hash": "sha256-s5iFeWfR2RebcBVPJcxxs2ceDdyol6ut2+g2kRCGIJs="
+ },
+ {
+ "pname": "Microsoft.NETCore.App.Runtime.osx-arm64",
+ "version": "8.0.23",
+ "hash": "sha256-IN/OdsXuwiuJG7gu/Gh7nVoL8rgUyMlK+LOkrHoyo+s="
+ },
+ {
+ "pname": "Microsoft.NETCore.App.Runtime.osx-x64",
+ "version": "8.0.23",
+ "hash": "sha256-86dZZBxKLtaQH17UBBIu1nO8CNfxT64ZBL+HRf1kd4A="
},
{
"pname": "System.ClientModel",
@@ -190,14 +280,14 @@
"hash": "sha256-R9tHPr+rDvwaS1RQUHVZHTnmAL9I79OvixuZ2Thp9rw="
},
{
- "pname": "System.Diagnostics.DiagnosticSource",
- "version": "6.0.1",
- "hash": "sha256-Xi8wrUjVlioz//TPQjFHqcV/QGhTqnTfUcltsNlcCJ4="
+ "pname": "System.ClientModel",
+ "version": "1.8.0",
+ "hash": "sha256-ZWVhuw3IRk9rZXkXERhesEET2KMMzHjUH/HDI288WK8="
},
{
"pname": "System.Diagnostics.DiagnosticSource",
- "version": "9.0.8",
- "hash": "sha256-bVGcjEcZUVeY2jOvZeFnG+ym8ebUKOftx+gErNXeiK4="
+ "version": "10.0.2",
+ "hash": "sha256-lt0piggvxkHfKmZAOZI8M0q0W/kMld5XwYcBWH3rj1o="
},
{
"pname": "System.IdentityModel.Tokens.Jwt",
@@ -206,13 +296,13 @@
},
{
"pname": "System.IO.Hashing",
- "version": "8.0.0",
- "hash": "sha256-szOGt0TNBo6dEdC3gf6H+e9YW3Nw0woa6UnCGGGK5cE="
+ "version": "10.0.1",
+ "hash": "sha256-k8EHcxnLitXo0CxoDZAxFmUlJJdKZVsZJ2+9zDMYB94="
},
{
"pname": "System.IO.Pipelines",
- "version": "9.0.9",
- "hash": "sha256-bRMt0ib0KwKzHXgeAXZgegou5eX8lsm80Eu38bHBxBs="
+ "version": "10.0.2",
+ "hash": "sha256-Guh0w9aMQ5wNSI9ecuoH4tGOX4VFnlNgepvBTPGFgzc="
},
{
"pname": "System.Memory.Data",
@@ -224,11 +314,6 @@
"version": "9.0.9",
"hash": "sha256-wc7lhmydATxle8Wv124yFPT+bkpKpcCQL2TAPGodIAc="
},
- {
- "pname": "System.Runtime.CompilerServices.Unsafe",
- "version": "6.0.0",
- "hash": "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I="
- },
{
"pname": "System.Security.Cryptography.ProtectedData",
"version": "4.5.0",
@@ -236,12 +321,12 @@
},
{
"pname": "System.Text.Encodings.Web",
- "version": "9.0.9",
- "hash": "sha256-euYrJAKiTDCj/Rf1KVWI6IophDX828x5T9As9vAf81A="
+ "version": "10.0.2",
+ "hash": "sha256-DWbSR+d8DJtkMclrKKbS5Ghlvi6YYrrxgHGfyDJx50o="
},
{
"pname": "System.Text.Json",
- "version": "9.0.9",
- "hash": "sha256-I+GCgXZZUtgAta94BIBqy72HnZJ3egzNBOTxnVy2Ur8="
+ "version": "10.0.2",
+ "hash": "sha256-Gf6L3mxsdvmN8gDyoUhfZDSFWKpmn9UjJ2v/p1CDFmk="
}
]
diff --git a/pkgs/by-name/ga/garnet/package.nix b/pkgs/by-name/ga/garnet/package.nix
index 145cc194cadf..14d4e0e39df4 100644
--- a/pkgs/by-name/ga/garnet/package.nix
+++ b/pkgs/by-name/ga/garnet/package.nix
@@ -8,13 +8,13 @@
buildDotnetModule rec {
pname = "garnet";
- version = "1.0.89";
+ version = "1.0.99";
src = fetchFromGitHub {
owner = "microsoft";
repo = "garnet";
tag = "v${version}";
- hash = "sha256-DL87KIkC1lzqVJPAUqFp7d/MKFoWWS0Lo1/02dwkCxQ=";
+ hash = "sha256-TAIaIPjXuQ2euGPw/Dz2b3uxo6v0nrP/+RCGsimeeN8=";
};
projectFile = "main/GarnetServer/GarnetServer.csproj";
@@ -22,10 +22,11 @@ buildDotnetModule rec {
dotnet-sdk =
with dotnetCorePackages;
- sdk_9_0
+ sdk_10_0
// {
inherit
(combinePackages [
+ sdk_10_0
sdk_9_0
sdk_8_0
])
@@ -36,7 +37,7 @@ buildDotnetModule rec {
dotnetBuildFlags = [
"-f"
- "net9.0"
+ "net10.0"
];
dotnetInstallFlags = dotnetBuildFlags;
@@ -54,7 +55,10 @@ buildDotnetModule rec {
homepage = "https://microsoft.github.io/garnet/";
changelog = "https://github.com/microsoft/garnet/releases/tag/v${version}";
license = lib.licenses.mit;
- maintainers = with lib.maintainers; [ getchoo ];
+ maintainers = with lib.maintainers; [
+ getchoo
+ hythera
+ ];
mainProgram = "GarnetServer";
};
}
diff --git a/pkgs/by-name/ge/gemini-cli-bin/package.nix b/pkgs/by-name/ge/gemini-cli-bin/package.nix
index 8f9e5f6ed83c..6364c65a406f 100644
--- a/pkgs/by-name/ge/gemini-cli-bin/package.nix
+++ b/pkgs/by-name/ge/gemini-cli-bin/package.nix
@@ -10,11 +10,11 @@
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "gemini-cli-bin";
- version = "0.29.5";
+ version = "0.30.0";
src = fetchurl {
url = "https://github.com/google-gemini/gemini-cli/releases/download/v${finalAttrs.version}/gemini.js";
- hash = "sha256-Yzqi2l41XLNMGNqeVGru0SALc1ZVa2LS4Qk2QiiSasY=";
+ hash = "sha256-N4pfjiaawx8kvaOFoQ53owJehD69fECJPpt5DxKVJ7k=";
};
dontUnpack = true;
diff --git a/pkgs/by-name/ge/geopard/package.nix b/pkgs/by-name/ge/geopard/package.nix
index edd037894a11..4fbcb97eb7e7 100644
--- a/pkgs/by-name/ge/geopard/package.nix
+++ b/pkgs/by-name/ge/geopard/package.nix
@@ -17,18 +17,18 @@
stdenv.mkDerivation (finalAttrs: {
pname = "geopard";
- version = "1.6.0";
+ version = "1.7.0";
src = fetchFromGitHub {
owner = "ranfdev";
repo = "geopard";
rev = "v${finalAttrs.version}";
- hash = "sha256-etx8YPEFGSNyiSLpTNIXTZZiLSgAntQsM93On7dPGI0=";
+ hash = "sha256-wOkzylRfFJsdu9KC4TvF/qYkGf8OZVd1tRre5TbNOX4=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
- hash = "sha256-FHYWpMmJvcHuAHr9fFKl1qIhJb32NJEA/0j3R6/mVgQ=";
+ hash = "sha256-g7pHEBrR/tdKP+kuYJ44Py7kaAx0tXcMkC4UdsfSfDQ=";
};
nativeBuildInputs = [
diff --git a/pkgs/by-name/go/go-tools/package.nix b/pkgs/by-name/go/go-tools/package.nix
index 66f30d5a7d1d..e6ec28e93449 100644
--- a/pkgs/by-name/go/go-tools/package.nix
+++ b/pkgs/by-name/go/go-tools/package.nix
@@ -6,16 +6,16 @@
buildGoModule (finalAttrs: {
pname = "go-tools";
- version = "2025.1.1";
+ version = "2026.1";
src = fetchFromGitHub {
owner = "dominikh";
repo = "go-tools";
rev = finalAttrs.version;
- sha256 = "sha256-ekSOXaVSFdzM76tcj1hbtzhYw4fnFX3VkTnsGtJanXg=";
+ sha256 = "sha256-cj/pHKwp7eGuOO1zhv5bFmuPHgsFytktLQmihhdYkfY=";
};
- vendorHash = "sha256-HssfBnSKdVZVgf4f0mwsGTwhiszBlE2HmDy7cvyvJ60=";
+ vendorHash = "sha256-Wu8+e0r0bkztLbxekbHktoKjg6c8q7ls5APSEdO8CKs=";
excludedPackages = [ "website" ];
diff --git a/pkgs/by-name/go/gotify-server/package.nix b/pkgs/by-name/go/gotify-server/package.nix
index a2662ba7d118..435309cce8cb 100644
--- a/pkgs/by-name/go/gotify-server/package.nix
+++ b/pkgs/by-name/go/gotify-server/package.nix
@@ -10,16 +10,16 @@
buildGoModule (finalAttrs: {
pname = "gotify-server";
- version = "2.8.0";
+ version = "2.9.0";
src = fetchFromGitHub {
owner = "gotify";
repo = "server";
tag = "v${finalAttrs.version}";
- hash = "sha256-wLkJ7zBz89e+ECuaNDcbOzHsA9Xiuz9jrqujnd4Mdzc=";
+ hash = "sha256-yfF4fS8SazjzTUHIHLGAvD2tJJMJ+W678d6Rsc+2weA=";
};
- vendorHash = "sha256-vcrMWCNVqDMlIgamb0fBekNrb8qMj2Cb0b7KZbqJ1yg=";
+ vendorHash = "sha256-oO0wnwBQPJqeJkFoAoEIKRuvbvsbp18F7jwxPCYjsxg=";
# No test
doCheck = false;
diff --git a/pkgs/by-name/go/gotify-server/ui.nix b/pkgs/by-name/go/gotify-server/ui.nix
index 6978dc4905d7..6d0fe5e324d1 100644
--- a/pkgs/by-name/go/gotify-server/ui.nix
+++ b/pkgs/by-name/go/gotify-server/ui.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation (finalAttrs: {
yarnOfflineCache = fetchYarnDeps {
yarnLock = "${finalAttrs.src}/yarn.lock";
- hash = "sha256-nU1K43ucv2DnDcIDee6I2t8fgz86NSyNvth2znlclsM=";
+ hash = "sha256-MKHpdRxL12T4/JVPCUE7nQresxnRBs9kvWGvfAhMESM=";
};
nativeBuildInputs = [
diff --git a/pkgs/by-name/go/gource/package.nix b/pkgs/by-name/go/gource/package.nix
index d189801271a4..55e9b4704602 100644
--- a/pkgs/by-name/go/gource/package.nix
+++ b/pkgs/by-name/go/gource/package.nix
@@ -4,6 +4,7 @@
fetchurl,
SDL2,
ftgl,
+ autoreconfHook,
pkg-config,
libpng,
libjpeg,
@@ -31,9 +32,18 @@ stdenv.mkDerivation (finalAttrs: {
postPatch = ''
# remove bundled library
rm -r src/tinyxml
+
+ # Fix build with boost 1.89
+ rm m4/ax_boost_system.m4
+ substituteInPlace configure.ac \
+ --replace-fail "AX_BOOST_SYSTEM" ""
'';
- nativeBuildInputs = [ pkg-config ];
+ nativeBuildInputs = [
+ autoreconfHook
+ pkg-config
+ ];
+
buildInputs = [
glew
SDL2
diff --git a/pkgs/by-name/he/hedgedoc/package.nix b/pkgs/by-name/he/hedgedoc/package.nix
index 8288642bcaa3..f55fa38d5f2e 100644
--- a/pkgs/by-name/he/hedgedoc/package.nix
+++ b/pkgs/by-name/he/hedgedoc/package.nix
@@ -11,13 +11,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "hedgedoc";
- version = "1.10.6";
+ version = "1.10.7";
src = fetchFromGitHub {
owner = "hedgedoc";
repo = "hedgedoc";
tag = finalAttrs.version;
- hash = "sha256-Utun/xGSYV20HJNwvV8q4iekRNE+oBx1kSo3rx5IZTQ=";
+ hash = "sha256-9HbvnnvC1eWoOxPE6yW2GcULgIrXDZ4B+mt7ZYz4j/Q=";
};
# Generate this file with:
diff --git a/pkgs/by-name/im/imgpkg/package.nix b/pkgs/by-name/im/imgpkg/package.nix
index 3ad931011d20..09aedc16c4c8 100644
--- a/pkgs/by-name/im/imgpkg/package.nix
+++ b/pkgs/by-name/im/imgpkg/package.nix
@@ -6,13 +6,13 @@
buildGoModule (finalAttrs: {
pname = "imgpkg";
- version = "0.47.0";
+ version = "0.47.2";
src = fetchFromGitHub {
owner = "carvel-dev";
repo = "imgpkg";
rev = "v${finalAttrs.version}";
- hash = "sha256-vmEdX7Hn7pfUpiGbhrzX4dhqrLhhvH95mSaABa6cJxg=";
+ hash = "sha256-DjygQ6wMbWOZxRezZ/SN4WsvngrKVnvAtTO6Bu9eHkM=";
};
vendorHash = null;
diff --git a/pkgs/by-name/in/infrastructure-agent/package.nix b/pkgs/by-name/in/infrastructure-agent/package.nix
index ebf45d0c99b8..79d941ad3646 100644
--- a/pkgs/by-name/in/infrastructure-agent/package.nix
+++ b/pkgs/by-name/in/infrastructure-agent/package.nix
@@ -6,13 +6,13 @@
}:
buildGoModule (finalAttrs: {
pname = "infrastructure-agent";
- version = "1.72.4";
+ version = "1.72.6";
src = fetchFromGitHub {
owner = "newrelic";
repo = "infrastructure-agent";
rev = finalAttrs.version;
- hash = "sha256-qhw21kOspIyAyFQYXy56NhGCSesjkPrhagXfcfyiBRQ=";
+ hash = "sha256-wMQL0RAhJ/pGOWUQouiod735pDR6bFVJr0SXk0p0gyQ=";
};
vendorHash = "sha256-H41FxeJLrlaL/KbcBAS1WuMfVn6d+4So3egXb6E46/o=";
diff --git a/pkgs/by-name/ki/kiro/package.nix b/pkgs/by-name/ki/kiro/package.nix
index 78786443a763..a9758f966cfc 100644
--- a/pkgs/by-name/ki/kiro/package.nix
+++ b/pkgs/by-name/ki/kiro/package.nix
@@ -14,7 +14,7 @@ in
inherit useVSCodeRipgrep;
commandLineArgs = extraCommandLineArgs;
- version = "0.10.0";
+ version = "0.10.32";
pname = "kiro";
# You can find the current VSCode version in the About dialog:
diff --git a/pkgs/by-name/ki/kiro/sources.json b/pkgs/by-name/ki/kiro/sources.json
index 4b4299655054..d27fe150a3aa 100644
--- a/pkgs/by-name/ki/kiro/sources.json
+++ b/pkgs/by-name/ki/kiro/sources.json
@@ -1,14 +1,14 @@
{
"x86_64-linux": {
- "url": "https://prod.download.desktop.kiro.dev/releases/stable/linux-x64/signed/0.10.0/tar/kiro-ide-0.10.0-stable-linux-x64.tar.gz",
- "hash": "sha256-P9s/9l+y44tZ3QRKWDqA9G4N3Z2NErp/f6SYo3ztrAQ="
+ "url": "https://prod.download.desktop.kiro.dev/releases/stable/linux-x64/signed/0.10.32/tar/kiro-ide-0.10.32-stable-linux-x64.tar.gz",
+ "hash": "sha256-m9c5QYJnHmJBtWuVTwg2iJldDOvtVVM2g9gDVxn6JOU="
},
"x86_64-darwin": {
- "url": "https://prod.download.desktop.kiro.dev/releases/stable/darwin-x64/signed/0.10.0/kiro-ide-0.10.0-stable-darwin-x64.dmg",
- "hash": "sha256-fFvBOuxlaIpH7A2v6i4s8Qgly8zAJ6VEHvlkWGNZ1oo="
+ "url": "https://prod.download.desktop.kiro.dev/releases/stable/darwin-x64/signed/0.10.32/kiro-ide-0.10.32-stable-darwin-x64.dmg",
+ "hash": "sha256-h/k/yKAwguV35fNb83OnB8lXXhi5527O97Z6joP5ItQ="
},
"aarch64-darwin": {
- "url": "https://prod.download.desktop.kiro.dev/releases/stable/darwin-arm64/signed/0.10.0/kiro-ide-0.10.0-stable-darwin-arm64.dmg",
- "hash": "sha256-gnqAj2rgF20zCl/718RvnWrIdw3kR5JSVLATsxFyzNY="
+ "url": "https://prod.download.desktop.kiro.dev/releases/stable/darwin-arm64/signed/0.10.32/kiro-ide-0.10.32-stable-darwin-arm64.dmg",
+ "hash": "sha256-G45sPTlMnO2Dxd20gKcfEmw2zZ37vqk06dkxvJe/LJM="
}
}
diff --git a/pkgs/by-name/ko/koboredux/package.nix b/pkgs/by-name/ko/koboredux/package.nix
index 84e97c1f5bdb..46b623d2ef6c 100644
--- a/pkgs/by-name/ko/koboredux/package.nix
+++ b/pkgs/by-name/ko/koboredux/package.nix
@@ -3,7 +3,7 @@
stdenv,
fetchFromGitHub,
fetchpatch,
- requireFile,
+ fetchItchIo,
cmake,
pkg-config,
SDL2,
@@ -31,19 +31,12 @@ let
sha256 = "09h9r65z8bar2z89s09j6px0gdq355kjf38rmd85xb2aqwnm6xig";
};
- # TODO: Replace this with fetchItchIo
- assets_src = requireFile {
+ assets_src = fetchItchIo {
name = "koboredux-${version}-Linux.tar.bz2";
+ gameUrl = "https://olofson.itch.io/kobo-redux";
sha256 = "11bmicx9i11m4c3dp19jsql0zy4rjf5a28x4hd2wl8h3bf8cdgav";
- message = ''
- Please purchase the game on https://olofson.itch.io/kobo-redux
- and download the Linux build.
-
- Once you have downloaded the file, please use the following command
- and re-run the installation:
-
- nix-prefetch-url file://\$PWD/koboredux-${version}-Linux.tar.bz2
-
+ upload = "709961";
+ extraMessage = ''
Alternatively, install the "koboredux-free" package, which replaces the
proprietary assets with a placeholder theme.
'';
diff --git a/pkgs/by-name/la/laszip/package.nix b/pkgs/by-name/la/laszip/package.nix
index 63cac46b7522..9051a6d15750 100644
--- a/pkgs/by-name/la/laszip/package.nix
+++ b/pkgs/by-name/la/laszip/package.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "LASzip";
repo = "LASzip";
- rev = finalAttrs.version;
+ tag = finalAttrs.version;
hash = "sha256-v/oLU69zqDW1o1HTlay7GDh1Kbmv1rarII2Fz5HWCqg=";
};
@@ -29,7 +29,7 @@ stdenv.mkDerivation (finalAttrs: {
meta = {
description = "Turn quickly bulky LAS files into compact LAZ files without information loss";
homepage = "https://laszip.org";
- changelog = "https://github.com/LASzip/LASzip/releases/tag/${finalAttrs.src.rev}";
+ changelog = "https://github.com/LASzip/LASzip/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.lgpl2;
maintainers = [ ];
platforms = lib.platforms.unix;
diff --git a/pkgs/by-name/li/libfilezilla/package.nix b/pkgs/by-name/li/libfilezilla/package.nix
index e152bd8b2b8f..a33ed1687eee 100644
--- a/pkgs/by-name/li/libfilezilla/package.nix
+++ b/pkgs/by-name/li/libfilezilla/package.nix
@@ -13,12 +13,12 @@
stdenv.mkDerivation {
pname = "libfilezilla";
- version = "0.52.0";
+ version = "0.54.1";
src = fetchsvn {
url = "https://svn.filezilla-project.org/svn/libfilezilla/trunk";
- rev = "11335";
- hash = "sha256-BjHqPC43UtwlYeKbgIaGU8jmWbg5UUiTN8vl1m2mZpo=";
+ rev = "11363";
+ hash = "sha256-m4CfnovtZPvwwjlyWKx/L1OkjiIlKfR7tqg+xB+nqzw=";
};
nativeBuildInputs = [
diff --git a/pkgs/by-name/li/listmonk/email-builder.nix b/pkgs/by-name/li/listmonk/email-builder.nix
new file mode 100644
index 000000000000..50715aff28cf
--- /dev/null
+++ b/pkgs/by-name/li/listmonk/email-builder.nix
@@ -0,0 +1,37 @@
+{
+ stdenv,
+ fetchYarnDeps,
+ yarnConfigHook,
+ yarnBuildHook,
+ nodejs,
+ src,
+ version,
+ meta,
+}:
+
+stdenv.mkDerivation {
+ pname = "listmonk-email-builder";
+ inherit version;
+
+ src = "${src}/frontend/email-builder";
+
+ offlineCache = fetchYarnDeps {
+ yarnLock = "${src}/frontend/email-builder/yarn.lock";
+ hash = "sha256-glt7tMfP3x0Mr/hFG1t6TfwVJ+yZ551jeZK2UPIKI8g=";
+ };
+
+ nativeBuildInputs = [
+ yarnConfigHook
+ yarnBuildHook
+ nodejs
+ ];
+
+ installPhase = ''
+ runHook preInstall
+ mkdir -p $out
+ cp -R dist/* $out
+ runHook postInstall
+ '';
+
+ inherit meta;
+}
diff --git a/pkgs/by-name/li/listmonk/package.nix b/pkgs/by-name/li/listmonk/package.nix
index 21df027a9076..d43306c0f926 100644
--- a/pkgs/by-name/li/listmonk/package.nix
+++ b/pkgs/by-name/li/listmonk/package.nix
@@ -49,6 +49,7 @@ buildGoModule (finalAttrs: {
"${finalAttrs.passthru.frontend}/altcha.umd.js:/public/static/altcha.umd.js"
"static/email-templates"
"${finalAttrs.passthru.frontend}/admin:/admin"
+ "${finalAttrs.passthru.email-builder}:/admin/static/email-builder"
"i18n:/i18n"
];
in
@@ -59,11 +60,14 @@ buildGoModule (finalAttrs: {
passthru = {
frontend = callPackage ./frontend.nix { inherit (finalAttrs) meta version src; };
+ email-builder = callPackage ./email-builder.nix { inherit (finalAttrs) meta version src; };
tests = { inherit (nixosTests) listmonk; };
updateScript = nix-update-script {
extraArgs = [
"-s"
"frontend"
+ "-s"
+ "email-builder"
];
};
};
diff --git a/pkgs/by-name/ma/makemkv/package.nix b/pkgs/by-name/ma/makemkv/package.nix
index d41778ef3915..6d4ffd64d016 100644
--- a/pkgs/by-name/ma/makemkv/package.nix
+++ b/pkgs/by-name/ma/makemkv/package.nix
@@ -2,6 +2,7 @@
autoPatchelfHook,
common-updater-scripts,
curl,
+ expat,
fetchurl,
ffmpeg,
lib,
@@ -51,6 +52,7 @@ stdenv.mkDerivation (
qt5.wrapQtAppsHook
];
buildInputs = [
+ expat
ffmpeg
openssl
qt5.qtbase
diff --git a/pkgs/by-name/ma/mame/package.nix b/pkgs/by-name/ma/mame/package.nix
index 25e87769bca5..e2a9e2aa9030 100644
--- a/pkgs/by-name/ma/mame/package.nix
+++ b/pkgs/by-name/ma/mame/package.nix
@@ -36,14 +36,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "mame";
- version = "0.285";
+ version = "0.286";
srcVersion = builtins.replaceStrings [ "." ] [ "" ] finalAttrs.version;
src = fetchFromGitHub {
owner = "mamedev";
repo = "mame";
rev = "mame${finalAttrs.srcVersion}";
- hash = "sha256-vuGQ1VOjIAEopV4X+qP1k+bgH7lJJLZ9RtYevUxgIQg=";
+ hash = "sha256-NsCW8cFSaCW85iXmCro5mj3xTlKUM/nE0nBF92UZAeQ=";
};
outputs = [
diff --git a/pkgs/by-name/ne/net-cpp/package.nix b/pkgs/by-name/ne/net-cpp/package.nix
index 49a7d8db8614..961af44c5a4f 100644
--- a/pkgs/by-name/ne/net-cpp/package.nix
+++ b/pkgs/by-name/ne/net-cpp/package.nix
@@ -2,11 +2,11 @@
stdenv,
lib,
fetchFromGitLab,
+ fetchpatch,
gitUpdater,
makeFontsConf,
testers,
- # https://gitlab.com/ubports/development/core/lib-cpp/net-cpp/-/issues/5
- boost186,
+ boost,
cmake,
curl,
doxygen,
@@ -46,11 +46,26 @@ stdenv.mkDerivation (finalAttrs: {
"doc"
];
- postPatch = lib.optionalString finalAttrs.finalPackage.doCheck ''
- # Use wrapped python. Removing just the /usr/bin doesn't seem to work?
- substituteInPlace tests/httpbin.h.in \
- --replace '/usr/bin/python3' '${lib.getExe pythonEnv}'
- '';
+ patches = [
+ # Remove when version > 3.2.0
+ (fetchpatch {
+ name = "0001-net-cpp-fix-compatibility-with-Boost-1.88.patch";
+ url = "https://gitlab.com/ubports/development/core/lib-cpp/net-cpp/-/commit/9ff8651b11eb9dc0f64147001e10a57d1546a626.patch";
+ hash = "sha256-IEa3nhnv0oa5WmhIDG3OMrZmmoAZFeedAzKXAKVTIQg=";
+ })
+ ];
+
+ postPatch =
+ # https://gitlab.com/ubports/development/core/lib-cpp/net-cpp/-/merge_requests/22, too basic to bother with fetchpatch
+ ''
+ substituteInPlace src/CMakeLists.txt \
+ --replace-fail 'find_package(Boost COMPONENTS system' 'find_package(Boost COMPONENTS'
+ ''
+ + lib.optionalString finalAttrs.finalPackage.doCheck ''
+ # Use wrapped python. Removing just the /usr/bin doesn't seem to work?
+ substituteInPlace tests/httpbin.h.in \
+ --replace '/usr/bin/python3' '${lib.getExe pythonEnv}'
+ '';
strictDeps = true;
@@ -63,7 +78,7 @@ stdenv.mkDerivation (finalAttrs: {
];
buildInputs = [
- boost186
+ boost
curl
];
diff --git a/pkgs/by-name/ol/ollama/package.nix b/pkgs/by-name/ol/ollama/package.nix
index 6369f10dd48f..a2d338cbcd97 100644
--- a/pkgs/by-name/ol/ollama/package.nix
+++ b/pkgs/by-name/ol/ollama/package.nix
@@ -137,16 +137,17 @@ let
in
goBuild (finalAttrs: {
pname = "ollama";
- version = "0.15.6";
+ version = "0.17.0";
src = fetchFromGitHub {
owner = "ollama";
repo = "ollama";
tag = "v${finalAttrs.version}";
- hash = "sha256-II9ffgkMj2yx7Sek5PuAgRnUIS1Kf1UeK71+DwAgBRE=";
+ hash = "sha256-bBoLUcWVsYxtwjJaa1hYTzodRSIT0yoF0raGItPLjR4=";
};
- vendorHash = "sha256-r7bSHOYAB5f3fRz7lKLejx6thPx0dR4UXoXu0XD7kVM=";
+ vendorHash = "sha256-Lc1Ktdqtv2VhJQssk8K1UOimeEjVNvDWePE9WkamCos=";
+ proxyVendor = true;
env =
lib.optionalAttrs enableRocm {
diff --git a/pkgs/by-name/om/omnictl/package.nix b/pkgs/by-name/om/omnictl/package.nix
index 481745fffc86..a3ba5323ba32 100644
--- a/pkgs/by-name/om/omnictl/package.nix
+++ b/pkgs/by-name/om/omnictl/package.nix
@@ -8,16 +8,16 @@
buildGoModule rec {
pname = "omnictl";
- version = "1.4.9";
+ version = "1.5.7";
src = fetchFromGitHub {
owner = "siderolabs";
repo = "omni";
rev = "v${version}";
- hash = "sha256-oArRGnw4/goAlcw6skw7SRBoPlWAMYHv92Wu7qtBSEQ=";
+ hash = "sha256-cTc4ZcFBF5RXg0JoI8W+SGVWOWOP3pbZwvvNgMnCB8Y=";
};
- vendorHash = "sha256-lVUe1XQr46uzx3kfj7KmoiGFUGEb7UT16IQSI8In8RU=";
+ vendorHash = "sha256-KMe/gUVA0BSRD0CgEGKnCkK0KR+kDRnPBs1nNcNT7lE=";
ldflags = [
"-s"
diff --git a/pkgs/by-name/op/openbao/package.nix b/pkgs/by-name/op/openbao/package.nix
index 717e13c13fec..35c7920708e5 100644
--- a/pkgs/by-name/op/openbao/package.nix
+++ b/pkgs/by-name/op/openbao/package.nix
@@ -43,8 +43,8 @@ buildGoModule (finalAttrs: {
# Fixes interactive CLI usage that needs stty https://github.com/openbao/openbao/pull/2535
(fetchpatch2 {
name = "pr2535-fix-interactive-cli.patch";
- url = "https://github.com/openbao/openbao/commit/e3fec111e3f6fd543c79c08f46d2256cd93f78e7.patch";
- hash = "sha256-Q/hmJj+JbpWjDhXp+p2qjlAMSUVP279Ca7ihh/9khOQ=";
+ url = "https://github.com/openbao/openbao/commit/e3fec111e3f6fd543c79c08f46d2256cd93f78e7.patch?full_index=1";
+ hash = "sha256-ixpWKfVT1dPAjF7RKS2tBpAr1YAqNkvf4/L7Be/C8Es=";
})
];
diff --git a/pkgs/by-name/op/opencloud/idp-web.nix b/pkgs/by-name/op/opencloud/idp-web.nix
index 7ccd783a0563..8cb818fe0ad5 100644
--- a/pkgs/by-name/op/opencloud/idp-web.nix
+++ b/pkgs/by-name/op/opencloud/idp-web.nix
@@ -2,6 +2,8 @@
stdenvNoCC,
lib,
opencloud,
+ applyPatches,
+ fetchpatch,
pnpm_10,
fetchPnpmDeps,
pnpmConfigHook,
@@ -10,7 +12,18 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "opencloud-idp-web";
- inherit (opencloud) version src;
+ inherit (opencloud) version;
+
+ src = applyPatches {
+ src = opencloud.src;
+ patches = [
+ # Fixes broken kopano tarball, remove in next version
+ (fetchpatch {
+ url = "https://github.com/opencloud-eu/opencloud/commit/212846f2f4e23e89ed675e5a689d87ba1de55b70.patch";
+ hash = "sha256-i+fkWTY4nrZ5fVGlQhhamxy9yrBL9OtDdm7CfV13oak=";
+ })
+ ];
+ };
pnpmRoot = "services/idp";
@@ -18,8 +31,8 @@ stdenvNoCC.mkDerivation (finalAttrs: {
inherit (finalAttrs) pname version src;
pnpm = pnpm_10;
sourceRoot = "${finalAttrs.src.name}/${finalAttrs.pnpmRoot}";
- fetcherVersion = 1;
- hash = "sha256-NW7HK2B9h5JprK3JcIGi/OHcyoa5VTs/P0s3BZr+4FU=";
+ fetcherVersion = 3;
+ hash = "sha256-W5odz//dONpBg4eRQQoVrBMVsEQVkkP89hzMdIXxG7w=";
};
nativeBuildInputs = [
@@ -30,18 +43,22 @@ stdenvNoCC.mkDerivation (finalAttrs: {
buildPhase = ''
runHook preBuild
+
cd $pnpmRoot
pnpm build
mkdir -p assets/identifier/static
cp -v src/images/favicon.svg assets/identifier/static/favicon.svg
cp -v src/images/icon-lilac.svg assets/identifier/static/icon-lilac.svg
+
runHook postBuild
'';
installPhase = ''
runHook preInstall
+
mkdir $out
cp -r assets $out
+
runHook postInstall
'';
diff --git a/pkgs/by-name/op/opencode-desktop/package.nix b/pkgs/by-name/op/opencode-desktop/package.nix
index 8d9043bfe385..01349c081c21 100644
--- a/pkgs/by-name/op/opencode-desktop/package.nix
+++ b/pkgs/by-name/op/opencode-desktop/package.nix
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
;
cargoRoot = "packages/desktop/src-tauri";
- cargoHash = "sha256-6YOygSNNhAAD49ZkhWS03qGwVP2mvwItzJeyg0/ARLg=";
+ cargoHash = "sha256-WI48iYdxmizF1YgOQtk05dvrBEMqFjHP9s3+zBFAat0=";
buildAndTestSubdir = finalAttrs.cargoRoot;
nativeBuildInputs = [
diff --git a/pkgs/by-name/op/opencode/package.nix b/pkgs/by-name/op/opencode/package.nix
index ecfba6332291..a41c9c6f4ae0 100644
--- a/pkgs/by-name/op/opencode/package.nix
+++ b/pkgs/by-name/op/opencode/package.nix
@@ -14,12 +14,12 @@
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "opencode";
- version = "1.2.9";
+ version = "1.2.13";
src = fetchFromGitHub {
owner = "anomalyco";
repo = "opencode";
tag = "v${finalAttrs.version}";
- hash = "sha256-MPr+bJ3GVuVf5P/wCHxg+fk3+4Aca4EaV5NVtshAhuk=";
+ hash = "sha256-Svup7XCVQuIb5Ye7fb90L7dy3VcDy1gBBrqZ5ikOOC4=";
};
node_modules = stdenvNoCC.mkDerivation {
@@ -68,7 +68,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
# NOTE: Required else we get errors that our fixed-output derivation references store paths
dontFixup = true;
- outputHash = "sha256-jxCPz0vSIuF/E6idil2eEH92sWuo+7bGEAhr4JrNWj0=";
+ outputHash = "sha256-Diu/C8b5eKUn7MRTFBcN5qgJZTp0szg0ECkgEaQZ87Y=";
outputHashAlgo = "sha256";
outputHashMode = "recursive";
};
diff --git a/pkgs/by-name/pa/paper-plane/package.nix b/pkgs/by-name/pa/paper-plane/package.nix
deleted file mode 100644
index c817c0f70e86..000000000000
--- a/pkgs/by-name/pa/paper-plane/package.nix
+++ /dev/null
@@ -1,136 +0,0 @@
-{
- lib,
- stdenv,
- fetchFromGitHub,
- gtk4,
- libadwaita,
- tdlib,
- rlottie,
- rustPlatform,
- meson,
- ninja,
- pkg-config,
- rustc,
- cargo,
- desktop-file-utils,
- blueprint-compiler,
- libxml2,
- libshumate,
- gst_all_1,
- buildPackages,
-}:
-
-let
- pname = "paper-plane";
- version = "0.1.0-beta.5";
-
- src = fetchFromGitHub {
- owner = "paper-plane-developers";
- repo = "paper-plane";
- tag = "v${version}";
- hash = "sha256-qcAHxNnF980BHMqLF86M06YQnEN5L/8nkyrX6HQjpBA=";
- };
-
- # Paper Plane requires a patch to the gtk4, but may be removed later
- # https://github.com/paper-plane-developers/paper-plane/tree/main?tab=readme-ov-file#prerequisites
- gtk4-paperplane = gtk4.overrideAttrs (prev: {
- patches = (prev.patches or [ ]) ++ [ "${src}/build-aux/gtk-reversed-list.patch" ];
- });
- wrapPaperPlaneHook = buildPackages.wrapGAppsHook3.override {
- gtk3 = gtk4-paperplane;
- };
- # libadwaita has gtk4 in propagatedBuildInputs so it must be overrided
- # to avoid linking two libraries, while libshumate doesn't
- libadwaita-paperplane = libadwaita.override {
- gtk4 = gtk4-paperplane;
- };
- tdlib-paperplane = tdlib.overrideAttrs (prev: {
- pname = "tdlib-paperplane";
- version = "1.8.19";
- src = fetchFromGitHub {
- owner = "tdlib";
- repo = "td";
- rev = "2589c3fd46925f5d57e4ec79233cd1bd0f5d0c09";
- hash = "sha256-mbhxuJjrV3nC8Ja7N0WWF9ByHovJLmoLLuuzoU4khjU=";
- };
- postPatch = ''
- substituteInPlace CMakeLists.txt \
- --replace-fail "cmake_minimum_required(VERSION 3.0.2 FATAL_ERROR)" "cmake_minimum_required(VERSION 3.10)"
- substituteInPlace td/generate/tl-parser/CMakeLists.txt \
- --replace-fail "cmake_minimum_required(VERSION 3.0 FATAL_ERROR)" "cmake_minimum_required(VERSION 3.10)"
- '';
- });
- rlottie-paperplane = rlottie.overrideAttrs (prev: {
- pname = "rlottie-paperplane";
- version = "0-unstable-2022-09-14";
- src = fetchFromGitHub {
- owner = "paper-plane-developers";
- repo = "rlottie";
- rev = "1dd47cec7eb8e1f657f02dce9c497ae60f7cf8c5";
- hash = "sha256-OIKnDikuJuRIR9Jvl1PnUA9UAV09EmgGdDTeWoVi7jk=";
- };
- patches = [ ];
- env.NIX_CFLAGS_COMPILE = prev.env.NIX_CFLAGS_COMPILE + " -Wno-error";
- });
-in
-stdenv.mkDerivation {
- inherit pname version src;
-
- cargoDeps = rustPlatform.fetchCargoVendor {
- inherit pname version src;
- hash = "sha256-QEX7w8eMV7DJFONjq23o8eCV+lliugS0pcdufFhcZrM=";
- };
-
- nativeBuildInputs = [
- meson
- ninja
- pkg-config
- rustPlatform.cargoSetupHook
- rustPlatform.bindgenHook
- rustc
- cargo
- wrapPaperPlaneHook
- desktop-file-utils
- blueprint-compiler
- libxml2.bin
- ];
-
- buildInputs = [
- libshumate
- libadwaita-paperplane
- tdlib-paperplane
- rlottie-paperplane
- gst_all_1.gstreamer
- gst_all_1.gst-libav
- gst_all_1.gst-plugins-base
- gst_all_1.gst-plugins-good
- ];
-
- mesonFlags = [
- # The API ID and hash provided here are for use with Paper Plane only.
- # Redistribution of the key in Nixpkgs has been explicitly permitted
- # by Paper Plane developers. Please do not use it in other projects.
- "-Dtg_api_id=22303002"
- "-Dtg_api_hash=3cc0969992690f032197e6609b296599"
- ];
-
- # Workaround for the gettext-sys issue
- # https://github.com/Koka/gettext-rs/issues/114
- env.NIX_CFLAGS_COMPILE = lib.optionalString (
- stdenv.cc.isClang && lib.versionAtLeast stdenv.cc.version "16"
- ) "-Wno-error=incompatible-function-pointer-types";
-
- meta = {
- homepage = "https://github.com/paper-plane-developers/paper-plane";
- description = "Chat over Telegram on a modern and elegant client";
- longDescription = ''
- Paper Plane is an alternative Telegram client. It uses libadwaita
- for its user interface and strives to meet the design principles
- of the GNOME desktop.
- '';
- license = lib.licenses.gpl3Plus;
- maintainers = with lib.maintainers; [ aleksana ];
- mainProgram = "paper-plane";
- platforms = lib.platforms.unix;
- };
-}
diff --git a/pkgs/by-name/pe/persistent-cache-cpp/package.nix b/pkgs/by-name/pe/persistent-cache-cpp/package.nix
index 0db45ec2837d..e3651b102035 100644
--- a/pkgs/by-name/pe/persistent-cache-cpp/package.nix
+++ b/pkgs/by-name/pe/persistent-cache-cpp/package.nix
@@ -2,6 +2,7 @@
stdenv,
lib,
fetchFromGitLab,
+ fetchpatch,
gitUpdater,
testers,
boost,
@@ -32,6 +33,15 @@ stdenv.mkDerivation (finalAttrs: {
"doc"
];
+ patches = [
+ # Remove when version > 1.0.9
+ (fetchpatch {
+ name = "0001-persistent-cache-cpp-Fix-compatibility-with-Boost-1.89.patch";
+ url = "https://gitlab.com/ubports/development/core/lib-cpp/persistent-cache-cpp/-/commit/121397b58bdb2d6750a41bec0cf1676e4e9b8cf5.patch";
+ hash = "sha256-QKPf5E49NNZ+rzCCknJNQjcd/bEgHuh23RBM892Xz1o=";
+ })
+ ];
+
postPatch = ''
# Wrong concatenation
substituteInPlace data/libpersistent-cache-cpp.pc.in \
diff --git a/pkgs/by-name/po/polarity/package.nix b/pkgs/by-name/po/polarity/package.nix
index f014e5ab2152..06877d5335e7 100644
--- a/pkgs/by-name/po/polarity/package.nix
+++ b/pkgs/by-name/po/polarity/package.nix
@@ -7,16 +7,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "polarity";
- version = "latest-unstable-2026-01-29";
+ version = "latest-unstable-2026-02-20";
src = fetchFromGitHub {
owner = "polarity-lang";
repo = "polarity";
- rev = "d83922b7bbac56c8c06265c1a23a04687caa3322";
- hash = "sha256-E1EzX4RKwL72cqqHzbkAM7O5b+t896MxC5ni53uSh84=";
+ rev = "630a1bb3b97c7c1a13087407a50cc78316a2526e";
+ hash = "sha256-IuT1LJiMEOS+c4dUamCpboDNqHGDVxsjYBJ4NEmLZa4=";
};
- cargoHash = "sha256-4oDFW2Ob098BVRXiDRbBwRM+vIATbximzG54BKSA9+I=";
+ cargoHash = "sha256-FrCOsgbb0xQH3cKnWqa2n17uDpppnSd0PyVrrCPXCYw=";
passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; };
diff --git a/pkgs/by-name/pr/processing/deps.json b/pkgs/by-name/pr/processing/deps.json
new file mode 100644
index 000000000000..d42591ac99b5
--- /dev/null
+++ b/pkgs/by-name/pr/processing/deps.json
@@ -0,0 +1,1178 @@
+{
+ "!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
+ "!version": 1,
+ "https://dl.google.com/dl/android/maven2/androidx": {
+ "annotation#annotation-jvm/1.8.0": {
+ "jar": "sha256-mqsybZSSgAmRhUNgrCSPSTzn98MYNRkwm3is6eJA9vY=",
+ "module": "sha256-48tFJVOdDtdLsjjvksae7yKoDkIsDSrLxR5hh/67ChM=",
+ "pom": "sha256-2fkI7m1IgSSs7VVv2Ka6nf5kf+AUuFrXIhRhEQ0DI2E="
+ },
+ "annotation#annotation/1.8.0": {
+ "module": "sha256-1ZCg2OAvQF3nSejcgLdB3FA8bj5MnAFtYU12tl8LWe8=",
+ "pom": "sha256-fDjBim6KzHvYjvrNfhR6iXqUW5nbci5U4LnOJEYQLVs="
+ },
+ "arch/core#core-common/2.2.0": {
+ "jar": "sha256-ZTCKBrHADuGGy54ZMhOD8EO5k4E/FSLEf0o+MwO9ukE=",
+ "module": "sha256-7fQgDP3C2UYjIlLJnl3LnGG7kJ61RQsmE9HU/cl0uYE=",
+ "pom": "sha256-HhfUr41kJb4qafivTWVKh+BFYlmp7vFUKGm8sCNUfig="
+ },
+ "collection#collection-jvm/1.4.0": {
+ "jar": "sha256-1c97cmR8eZUHFYj+hwRQ/5yPEn8lPS1IUeFhuAD2euA=",
+ "module": "sha256-IbCwLqaKvkGPPdTk1Ch27PO9mhytpFi0YMrhzZ1Y720=",
+ "pom": "sha256-WSTeoD4BjjIbPXlfI/tmWXJmQDJuCjIHWK5ZpnmStto="
+ },
+ "collection#collection/1.4.0": {
+ "module": "sha256-L9O1I+gnbAJUxBe2bY5/7MWwuXWvXReK+n9bgTgSz6s=",
+ "pom": "sha256-HNhaZRBlOBpYfuKERMl6sLyQP/CivXObBPIuMcKZoGw="
+ },
+ "lifecycle#lifecycle-common-jvm/2.8.5": {
+ "jar": "sha256-YchzpzJ8lG7AM8MQu5jz+S7qvO3g4aUgCrihiWSDx78=",
+ "module": "sha256-BWg9kQ3FQdBsTJekmSs+KXGueMK1zDX2vx2OB94Olw4=",
+ "pom": "sha256-q5cbvWNFWm6QTCC8Ub19oVOMDAglIx5SvDA94KsenuA="
+ },
+ "lifecycle#lifecycle-common/2.8.5": {
+ "module": "sha256-AwuN8Z5JeKwb6WnCopoBv8LMVihPUSY5oK00wi2mxPE=",
+ "pom": "sha256-KCYLDQ/KghpeL0Ug1DKLt94SYCGz3c1Hgt1WQRLsn2E="
+ },
+ "lifecycle#lifecycle-runtime-desktop/2.8.5": {
+ "jar": "sha256-EL/lO7J1L5Z3UaUQLNt4Xu6lTh1N9r3oj7D1CwpJFWw=",
+ "module": "sha256-7xi5Ie9z8pw0yf/rE0+ipKMIR7PgpKWFbABz6b9gBV0=",
+ "pom": "sha256-2RkYuV83/FPzkftWNFV2VlAmOuirwyjp5ry6imIBYqU="
+ },
+ "lifecycle#lifecycle-runtime/2.8.5": {
+ "module": "sha256-PnYlwcbHpLz6iHTZ2Xe08VX8M/bwKtbZQaQnAxENxHU=",
+ "pom": "sha256-BvksaPPGjzu339Gs/7yzNLuf+HxjWHQ9XUvCslds87Q="
+ },
+ "lifecycle#lifecycle-viewmodel-desktop/2.8.5": {
+ "jar": "sha256-IewOd9wC7Q1r/m88un9D4lQARG2J3thWjuFlQ34MGSI=",
+ "module": "sha256-Xye5EC2feXeRfxjy6yYelXaxbV1lxIjd8missFVNkQ4=",
+ "pom": "sha256-N2sCiZt+1vZK4rmBfm3S/vNr0cQn9qj+p6vV2iVxq3k="
+ },
+ "lifecycle#lifecycle-viewmodel/2.8.5": {
+ "module": "sha256-UjEhedy+2gwntKyQIFdv5BBbBH/0V+dLbaQiRft3RXM=",
+ "pom": "sha256-zzU+toek04gE0IYSpbxV5aO22ZWWdRC9yypfSH91bPY="
+ }
+ },
+ "https://github.com/processing": {
+ "processing-examples/archive/b10c9e9a05a0d6c20d233ca7f30d315b5047720e": {
+ "zip": "sha256-08ADdtsZ/lkbERbHliM5SSaFcTUnOplJdQx7eYR43qU="
+ },
+ "processing-website/archive/f11676d1b7464291a23ae834f2ef6ab00baaed8e": {
+ "zip": "sha256-MC3Ce5B5bFUA0aCkFQPCMGA5QuUw5vjmSzFnyEfR3Nw="
+ }
+ },
+ "https://jogamp.org/deployment/maven/org/jogamp": {
+ "gluegen#gluegen-rt-main/2.5.0": {
+ "jar": "sha256-zBFPTAspsv5NBqXHkxg4gURSoEzJeJ4nshqwXTVBwQc=",
+ "pom": "sha256-KDtSN+Uh/300IFXZw6Zy0FgglyLQgvPnVPZw3mVtghg="
+ },
+ "gluegen#gluegen-rt/2.5.0": {
+ "jar": "sha256-NiDBhTaoZx/LHFlddEjp0xImuCQRevakxtRcZX9Nq+M=",
+ "pom": "sha256-6S7gyRmGFTV50qfh5QJQaMLCSlNSc3L+Vrqk2ZCwGPM="
+ },
+ "gluegen#gluegen-rt/2.5.0/natives-android-aarch64": {
+ "jar": "sha256-NFx328LbuUpcVwOVNfPp1k0LTqFyVS1lvwiyJKadhKc="
+ },
+ "gluegen#gluegen-rt/2.5.0/natives-linux-aarch64": {
+ "jar": "sha256-GuQH+YQzcknnzZvx8eFjdzvgVSi1Vi7KBhvM9jSxDa8="
+ },
+ "gluegen#gluegen-rt/2.5.0/natives-linux-amd64": {
+ "jar": "sha256-bZmNDB8E8QOJS3aQSQhhJFBQY86oaoKJYZS7U8iLBAo="
+ },
+ "gluegen#gluegen-rt/2.5.0/natives-linux-armv6hf": {
+ "jar": "sha256-STL1+0J/TAal/QOzhUPqAhmVY8QX8HS1gTf6JWSlRN0="
+ },
+ "gluegen#gluegen-rt/2.5.0/natives-macosx-universal": {
+ "jar": "sha256-Pb1dBU8QjD+MDAcoHm40lLhbibDYs/D770v2xByiVOw="
+ },
+ "gluegen#gluegen-rt/2.5.0/natives-windows-amd64": {
+ "jar": "sha256-pPA54vqdYWvp8mKE/9av5fribVIdIfKBJuXqoHP4pDg="
+ },
+ "jogl#jogl-all-main/2.5.0": {
+ "jar": "sha256-zBFPTAspsv5NBqXHkxg4gURSoEzJeJ4nshqwXTVBwQc=",
+ "pom": "sha256-mGNBTE/Rxfbuq3A2Lhs626GUgWl3cZVqMlbtU4nR0kc="
+ },
+ "jogl#jogl-all/2.5.0": {
+ "jar": "sha256-JFcXzOq8omSiEKiZ+IOdR70Sf1D4CJLq0id92Jy80wE=",
+ "pom": "sha256-awhqLkYde3kRocFl/8veKrebAMVMNgzxkcoA9feE22o="
+ },
+ "jogl#jogl-all/2.5.0/natives-android-aarch64": {
+ "jar": "sha256-M4/4m89L/TTDJSOYA9o+BB4ZmPUNuGCYzVSJoXTwk7U="
+ },
+ "jogl#jogl-all/2.5.0/natives-linux-aarch64": {
+ "jar": "sha256-5LngFakf5SKdPVOEjii4ZwCpD6vY5f6FeW9rHUm0Jm4="
+ },
+ "jogl#jogl-all/2.5.0/natives-linux-amd64": {
+ "jar": "sha256-6XhQ8pDY5Eugf6BQDXoHH/REIJCZ8Dct89unB8uj3cE="
+ },
+ "jogl#jogl-all/2.5.0/natives-linux-armv6hf": {
+ "jar": "sha256-tQgMQid574BQpqAk7O+AW8rP1Vp9TU4/b8XXDinY+4s="
+ },
+ "jogl#jogl-all/2.5.0/natives-macosx-universal": {
+ "jar": "sha256-Ay5WFnRDqA+fRHf77vJV5ZmIxs1SN6FRuUi95Ly3yAw="
+ },
+ "jogl#jogl-all/2.5.0/natives-windows-amd64": {
+ "jar": "sha256-zgt1X2vA7u/ThlOectE+TY6W4fCGyiIvigLhEyADIUI="
+ }
+ },
+ "https://plugins.gradle.org/m2": {
+ "com/github/ben-manes#gradle-versions-plugin/0.52.0": {
+ "jar": "sha256-zuihUdLgvp86hcouXYeg2lyRpIHt8bx/e1e1Ywj9PA0=",
+ "module": "sha256-r6cL5O0h646QJ2hPFfpeKXXz0uRtIpN76jmhDkj3nd0=",
+ "pom": "sha256-WESi8/+pqARY0m7ex3EjeuYxXN3yBp1Qp+hUFj5A8Q0="
+ },
+ "com/github/ben-manes/versions#com.github.ben-manes.versions.gradle.plugin/0.52.0": {
+ "pom": "sha256-sLbWCz+UCuWgFAfwNJ6d86Ayph+FXkoXt9vakSprU3Y="
+ },
+ "com/google/code/gson#gson-parent/2.8.9": {
+ "pom": "sha256-sW4CbmNCfBlyrQ/GhwPsN5sVduQRuknDL6mjGrC7z/s="
+ },
+ "com/google/code/gson#gson/2.8.9": {
+ "jar": "sha256-05mSkYVd5JXJTHQ3YbirUXbP6r4oGlqw2OjUUyb9cD4=",
+ "pom": "sha256-r97W5qaQ+/OtSuZa2jl/CpCl9jCzA9G3QbnJeSb91N4="
+ },
+ "com/squareup/moshi#moshi-kotlin/1.12.0": {
+ "jar": "sha256-HENsB8FZzRrwMrt5NRpIqY5/eBrIB8/4tXEamZtWZt8=",
+ "module": "sha256-KnvKZtbM8WhVy1oKp8lRWPaIklomPv5MIEsjclSGH6E=",
+ "pom": "sha256-gwdSmAK8nLCHd24CabvdaSBG+kpz8ZDVgUpaj5JmJ24="
+ },
+ "com/squareup/moshi#moshi/1.12.0": {
+ "jar": "sha256-7pCR4dGlkm+ptN8mQsH7e7lq7Ahjm2IZwZ4LhyTUJHU=",
+ "module": "sha256-uGqTFURxITGVpEL4XKBG55oAHG1EbEHU0WiTbahW6+I=",
+ "pom": "sha256-YbyUJDqTc9mUini25xAAl161EPtvf0aoHq/N3TgeR3k="
+ },
+ "com/squareup/moshi#moshi/1.15.1": {
+ "jar": "sha256-RqERj+H8EnI6V1yUEz/Ik23MeNP4hzwOcKBV3p5YYaY=",
+ "module": "sha256-Zx9TVaun2f6mS+FONx/ClcNNq/hy0hCSS/DbQpHW73Q=",
+ "pom": "sha256-C4GbZHlZ52n2+7F+rZvm4F/tDCYRtFT1gAoIbC9IdjA="
+ },
+ "com/squareup/okhttp3#okhttp/4.12.0": {
+ "jar": "sha256-sQUAgbFLt6On5VpNPvAbXc+rxFO0VzpPwBl2cZHV9OA=",
+ "module": "sha256-YH4iD/ghW5Kdgpu/VPMyiU8UWbTXlZea6vy8wc6lTPM=",
+ "pom": "sha256-fHNwQKlBlSLnxQzAJ0FqcP58dinlKyGZNa3mtBGcfTg="
+ },
+ "com/squareup/okio#okio-jvm/3.6.0": {
+ "jar": "sha256-Z1Q/Bzb8QirpJ+0OUEuYvF4mn9oNNQBXkzfLcT2ihBI=",
+ "module": "sha256-scIZnhwMyWnvYcu+SvLsr5sGQRvd4By69vyRNN/gToo=",
+ "pom": "sha256-YbTXxRWgiU/62SX9cFJiDBQlqGQz/TURO1+rDeiQpX8="
+ },
+ "com/squareup/okio#okio-jvm/3.7.0": {
+ "jar": "sha256-2LNa3Ch2j0OuWv5qfRqiqHi6UeC5ak8wiBHzsfWxPlU=",
+ "module": "sha256-b64CAbCuSKGWBt4Ab/6YQtjQ/CoeQ04Hhc7Ni3Wr5HQ=",
+ "pom": "sha256-d07LnSsHlLT7J+eeCHYMpWC39U+qlRm5GDxn/rRfLJc="
+ },
+ "com/squareup/okio#okio/3.6.0": {
+ "module": "sha256-akesUDZOZZhFlAH7hvm2z832N7mzowRbHMM8v0xAghg=",
+ "pom": "sha256-rrO3CiTBA+0MVFQfNfXFEdJ85gyuN2pZbX1lNpf4zJU="
+ },
+ "com/squareup/okio#okio/3.7.0": {
+ "module": "sha256-88rgCfC2yEL7vFLOd1QsGdGdVu6ZpeVVZH8Lr8nVDPo=",
+ "pom": "sha256-H2KMRSg726uM4DwHps+3akeLjdrhgL2PNKusJz5Id24="
+ },
+ "com/squareup/retrofit2#converter-moshi/2.11.0": {
+ "jar": "sha256-2/rp294LYeXFZxZIyNn9SG766a0H1XPtAb0N5GiNmyw=",
+ "module": "sha256-8jl8dvQPuHPUydGvgwtEolty75gpsCYJnikTB4uN8z4=",
+ "pom": "sha256-MB/EqjCHlmkS/fQEko2EOtcUPO8wm3fuVeD+srWoyBU="
+ },
+ "com/squareup/retrofit2#converter-scalars/2.11.0": {
+ "jar": "sha256-ZH1+gaxh7t9pG6adgvDVaFCHq/DVj+fYa2Q9AoCNqRE=",
+ "module": "sha256-SaqPyhyulzzMqBdmncrXltVqeQ7UdQnweTMHdc8zJnQ=",
+ "pom": "sha256-s9ShAXMYUHQencArE1u4FRHlM0wUe74tqtL1afVmNkU="
+ },
+ "com/squareup/retrofit2#retrofit/2.11.0": {
+ "jar": "sha256-n0+7znByhYT77tONQGHzbUR36JvKdLTirIrraBmw/kM=",
+ "module": "sha256-6bsuIBhEyI5HUGJPkRSmNUtRtwlItE1ca0qU6M0HCoE=",
+ "pom": "sha256-3iKB4huk2YSrrxPcBn84C8WBaXBoxlaKu5uZjZ13cF4="
+ },
+ "com/vanniktech#central-portal/0.30.0": {
+ "jar": "sha256-8VybicRPV4cOThd6sK+u9xbHrYwJhzJmwtAuGh7fhu8=",
+ "module": "sha256-1rl7bLb3gsnA7RPI001F0dilTN2P4fPOLL5tXPscwpw=",
+ "pom": "sha256-nuEIXixMif6Jvn099IX0TFoIIuw8u5zmUoQtjQ9Z0lc="
+ },
+ "com/vanniktech#gradle-maven-publish-plugin/0.30.0": {
+ "jar": "sha256-byC0TTthYaeFv25+5PmHM9kXIbJmzoIQNsE21T8uSkg=",
+ "module": "sha256-7P66Xja6oxnc5IWGt5W2IF3K4KPI4lDtnUEyX6I3Zkc=",
+ "pom": "sha256-s7lK4JAD1t2n5vnABYUzoZdRo2b6/iwkxuNyY2HvsxU="
+ },
+ "com/vanniktech#nexus/0.30.0": {
+ "jar": "sha256-ewSXzGMMYxZdtBLhDCpo9k/4yLuu7JxnYxkzwlBzNEw=",
+ "module": "sha256-nqVJjdIldR6Q/sKM/xhkoutkkeA7HIQEhC492hvdu+w=",
+ "pom": "sha256-A99wmKpz2ZU3hI47gsMmisXwxF0wkKrjmJw/mjFQads="
+ },
+ "com/vanniktech/maven/publish#com.vanniktech.maven.publish.gradle.plugin/0.30.0": {
+ "pom": "sha256-JswhKPKkM3FnGR/kD986hZEBSpp5e2gO3uAzKq4y6ik="
+ },
+ "de/undercouch#gradle-download-task/5.6.0": {
+ "jar": "sha256-zkN6arnKcZzIVrVbp0kuQsTODumC5tIvtDLNVYh2gb4=",
+ "module": "sha256-P+YJN66Dzs2qpOD2EykVaQKD7d+IQ54m8efjgEV4NSI=",
+ "pom": "sha256-RqMBkMaLY9AegKQEQJfCULu8MgmkXw3FpNDioe1bgKc="
+ },
+ "de/undercouch/download#de.undercouch.download.gradle.plugin/5.6.0": {
+ "pom": "sha256-BlPzNGaIqBMNjjYy3kQHyDC1Iaoa7euqsYRUICAN/7E="
+ },
+ "org/jetbrains#annotations/13.0": {
+ "jar": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg=",
+ "pom": "sha256-llrrK+3/NpgZvd4b96CzuJuCR91pyIuGN112Fju4w5c="
+ },
+ "org/jetbrains/compose#compose-gradle-plugin/1.7.1": {
+ "jar": "sha256-qTE3DqieME70kmSrr6DE54/OudxsqysXZN+6GN0oQmQ=",
+ "module": "sha256-BNTIubIUlJU0UMSaak7akUrQDtORxkVO/Q2JjANFHdI=",
+ "pom": "sha256-5Kb7w7CA/Sd6WtXpF17hrOuoUS8DQIWal/B5b4Rt8F0="
+ },
+ "org/jetbrains/compose#org.jetbrains.compose.gradle.plugin/1.7.1": {
+ "pom": "sha256-Utg/JR/rUlwPyzAi5ECCnbspmqIuyYTw44wF5JBjYR4="
+ },
+ "org/jetbrains/intellij/deps#trove4j/1.0.20200330": {
+ "jar": "sha256-xf1yW/+rUYRr88d9sTg8YKquv+G3/i8A0j/ht98KQ50=",
+ "pom": "sha256-h3IcuqZaPJfYsbqdIHhA8WTJ/jh1n8nqEP/iZWX40+k="
+ },
+ "org/jetbrains/kotlin#compose-compiler-gradle-plugin/2.0.20": {
+ "module": "sha256-T0tsqhEaZFnFKSfpM2+DG8qDIUtuiYndph8BAYXe5qo=",
+ "pom": "sha256-Q9nypAfaiyhtjfMNZw8lVhUPZW9RnYQWqbGOTHGrfFo="
+ },
+ "org/jetbrains/kotlin#compose-compiler-gradle-plugin/2.0.20/gradle85": {
+ "jar": "sha256-wMMkdfUoT+fBgMrwC/QLb6OjsOkP7FgXttAg6xDtKbw="
+ },
+ "org/jetbrains/kotlin#kotlin-bom/2.0.21": {
+ "pom": "sha256-1Ufg3iVCLZY+IsepRPO13pQ8akmClbUtv/49KJXNm+g="
+ },
+ "org/jetbrains/kotlin#kotlin-build-statistics/2.0.20": {
+ "jar": "sha256-c6fXFRN1WzF9Kxttp2bW5reiXcmdzv5DEzJTNkIuzhE=",
+ "pom": "sha256-10GK0lyAbeg2FQvdNQsAvmwtJQmeXXQd3+PzgcUurY0="
+ },
+ "org/jetbrains/kotlin#kotlin-build-tools-api/2.0.20": {
+ "jar": "sha256-V+1QIg547DnoqAAUMw8pXlSFtWOMESmvntfVPXhYxcI=",
+ "pom": "sha256-nHrVho+yGJsb9NbCL2yUmDs6jhopTpWlQSy4Lg9C3bI="
+ },
+ "org/jetbrains/kotlin#kotlin-compiler-embeddable/2.0.20": {
+ "pom": "sha256-WXBD+4xlJ/QpmcoE7TUpY5Is0W5piKqlLT2zLaHbhZ0="
+ },
+ "org/jetbrains/kotlin#kotlin-compiler-embeddable/2.0.21": {
+ "jar": "sha256-n6jN0d4NzP/hVMmX1CPsa19TzW2Rd+OnepsN4D+xvIE=",
+ "pom": "sha256-vUZWpG7EGCUuW8Xhwg6yAp+yqODjzJTu3frH6HyM1bY="
+ },
+ "org/jetbrains/kotlin#kotlin-compiler-runner/2.0.20": {
+ "jar": "sha256-4DzwSwNA8a4VEhBjC10pFcKXmIxuIuTe206nz7dKz2c=",
+ "pom": "sha256-3M3xugxPzYvUIwNFroP6fb6SglY9ilP9XmHFM1tbcYA="
+ },
+ "org/jetbrains/kotlin#kotlin-daemon-client/2.0.20": {
+ "pom": "sha256-qUcReIj0z/tjk9QurqYRtj31ib8pYXgmzLclNxK/OsM="
+ },
+ "org/jetbrains/kotlin#kotlin-daemon-client/2.0.21": {
+ "jar": "sha256-Nx6gjk8DaILMjgZP/PZEWZDfREKVuh7GiSjnzCtbwBU=",
+ "pom": "sha256-8oY4JGtQVSC/6TXxXz7POeS6VSb6RcjzKsfeejEjdAA="
+ },
+ "org/jetbrains/kotlin#kotlin-daemon-embeddable/2.0.20": {
+ "pom": "sha256-IZgoJm6keO7rQuT1L5bQuQfYykhHz4aq45FprYsupKU="
+ },
+ "org/jetbrains/kotlin#kotlin-daemon-embeddable/2.0.21": {
+ "jar": "sha256-saCnPFAi+N0FpjjGt2sr1zYYGKHzhg/yZEEzsd0r2wM=",
+ "pom": "sha256-jbZ7QN1gJaLtBpKU8sm8+2uW2zFZz+927deEHCZq+/A="
+ },
+ "org/jetbrains/kotlin#kotlin-gradle-plugin-annotations/2.0.20": {
+ "jar": "sha256-i2O0/7e6aOKHIFaa1HqWzAZclFZO0WHuoVrIZIh7pN4=",
+ "pom": "sha256-D8eaPIg8fbbsD6lU1cimiugRBlIm+4WRbhy/9pnlwUc="
+ },
+ "org/jetbrains/kotlin#kotlin-gradle-plugin-api/2.0.20": {
+ "jar": "sha256-D3NXvFzMjjaB7DtGQ8cMrSiDskbIt699bZccQeOTTy0=",
+ "module": "sha256-CJ8SCJE61calM09nu8pI/HsK+hCv0L2lFT+8tSzCqWw=",
+ "pom": "sha256-IQOK734wtxG0qE3grS1TO9MgXhOKrWfP1YnXl+/afII="
+ },
+ "org/jetbrains/kotlin#kotlin-gradle-plugin-api/2.0.20/gradle85": {
+ "jar": "sha256-D3NXvFzMjjaB7DtGQ8cMrSiDskbIt699bZccQeOTTy0="
+ },
+ "org/jetbrains/kotlin#kotlin-gradle-plugin-idea-proto/2.0.20": {
+ "jar": "sha256-Ce2wJ7mh899xYnGuyte7QaHdvC+cETFyl5ANTyvc6Iw=",
+ "pom": "sha256-wZireMJmzzvnodJHBeW7GIbUlF/cpPcX9U77hv9M10o="
+ },
+ "org/jetbrains/kotlin#kotlin-gradle-plugin-idea/2.0.20": {
+ "jar": "sha256-wfTqDBkmfx7tR0tUGwdxXEkWes+/AnqKL9B8u8gbjnI=",
+ "module": "sha256-wy8Uw0SXgCqOjXk7K11nkj4gIlOUePNm4Yp+9kFOut4=",
+ "pom": "sha256-Vn7N8kaceWkMLgmdz6r8PhF67GTe3BejtJ/Uo/ptDgg="
+ },
+ "org/jetbrains/kotlin#kotlin-gradle-plugin-model/2.0.20": {
+ "jar": "sha256-UUx/F9xeVO5dFqdhs2S500OVa8rUnf0I4IWWIldzfhk=",
+ "module": "sha256-HPn20+xtMFqgiQMqyJL/rogcwQUAP0VvLBX9PDAyCm4=",
+ "pom": "sha256-SEIbKUnHKiDU4OPybYcYxruScIbHbF/AlSCg1jbPumc="
+ },
+ "org/jetbrains/kotlin#kotlin-gradle-plugin/2.0.20": {
+ "module": "sha256-aBPMpB7w+/FciL7MQB44cGuWlEwhtr7HPdiM+QoPIB4=",
+ "pom": "sha256-eEmYfUbGj7neKvOwReEq1nPm1mOvbqpf2MYRlCt3LF0="
+ },
+ "org/jetbrains/kotlin#kotlin-gradle-plugin/2.0.20/gradle85": {
+ "jar": "sha256-gSn2LLfGJ7XOghh+QqbYfEKVK8e6ZLgFo1R/aFIxlmI="
+ },
+ "org/jetbrains/kotlin#kotlin-gradle-plugins-bom/2.0.20": {
+ "module": "sha256-GwMjHvp7O20xsJNocpQfh+J6gZwANxiz0JiAt25j180=",
+ "pom": "sha256-TDLrNQlMFjWd943q7BHOUjvjYEB0FPoK7Miu/GftSkM="
+ },
+ "org/jetbrains/kotlin#kotlin-klib-commonizer-api/2.0.20": {
+ "jar": "sha256-QsQvvic/oDBOThf3OSxms56R+Z01+FwGixG91Wuemdw=",
+ "pom": "sha256-5f4GjE69XIhYw1w56GI6vrnIb4oXJUdC5/VZjkP62jw="
+ },
+ "org/jetbrains/kotlin#kotlin-native-utils/2.0.20": {
+ "jar": "sha256-wWbyBR6R0ZnpYP/HsnZEhcFRDNF2dN17jOPC/NBqhys=",
+ "pom": "sha256-mISZMftwkWhS6qfCDm2Pr1IsUNd627r9k2T1JrfN7EI="
+ },
+ "org/jetbrains/kotlin#kotlin-reflect/2.0.21": {
+ "jar": "sha256-OtL8rQwJ3cCSLeurRETWEhRLe0Zbdai7dYfiDd+v15k=",
+ "pom": "sha256-Aqt66rA8aPQBAwJuXpwnc2DLw2CBilsuNrmjqdjosEk="
+ },
+ "org/jetbrains/kotlin#kotlin-serialization/2.0.20": {
+ "module": "sha256-rsyQ8DJ7IQJTYRNdyJQBDmHDVzVFBtLTP3pZeakRxGQ=",
+ "pom": "sha256-wYgmEN73pFKwREi8GVqr+D6CqMEcUSmFYUAbGyxfKCw="
+ },
+ "org/jetbrains/kotlin#kotlin-serialization/2.0.20/gradle85": {
+ "jar": "sha256-Jjd6xiKasd8/ojVJPYxWfkcLjYa2PolUSMwmbL/Ob1o="
+ },
+ "org/jetbrains/kotlin#kotlin-stdlib-common/2.0.21": {
+ "module": "sha256-b134r2M2AKa5z7D8x2SvPVEZ83Zndne5G2rugWsdMKs=",
+ "pom": "sha256-X0As+413MZW5ZwUBJMnom1+EsXJGThiUkpeJv1xMLyk="
+ },
+ "org/jetbrains/kotlin#kotlin-stdlib-jdk7/1.8.21": {
+ "jar": "sha256-M9FI2w4R3r0NkGd9KCQrztkH+cd3MAAP1ZeGcIkDnYY=",
+ "pom": "sha256-m7EH1dXjkwvFl38AekPNILfSTZGxweUo6m7g8kjxTTY="
+ },
+ "org/jetbrains/kotlin#kotlin-stdlib-jdk7/2.0.21": {
+ "jar": "sha256-cS9IB2Dt7uSKhDaea+ifarUjdUCLsso74U72Y/cr7jE=",
+ "pom": "sha256-TXE+dTi5Kh15cX6nHPHQI1eoThFFDEbLkuMgee40224="
+ },
+ "org/jetbrains/kotlin#kotlin-stdlib-jdk8/1.8.21": {
+ "jar": "sha256-PbdSowB08G7mxXmEqm8n2kT00rvH9UQmUfaYjxyyt9c=",
+ "pom": "sha256-ODnXKNfDCaXDaLAnC0S08ceHj/XKXTKpogT6o0kUWdg="
+ },
+ "org/jetbrains/kotlin#kotlin-stdlib-jdk8/2.0.21": {
+ "jar": "sha256-FcjArLMRSDwGjRaXUBllR0tw39gKx5WA7KOgPPUeSh0=",
+ "pom": "sha256-MQ1tXGVBPjEQuUAr2AdfyuP0vlGdH9kHMTahj+cnvFc="
+ },
+ "org/jetbrains/kotlin#kotlin-stdlib/2.0.21": {
+ "jar": "sha256-8xzFPxBafkjAk2g7vVQ3Vh0SM5IFE3dLRwgFZBvtvAk=",
+ "module": "sha256-gf1tGBASSH7jJG7/TiustktYxG5bWqcpcaTd8b0VQe0=",
+ "pom": "sha256-/LraTNLp85ZYKTVw72E3UjMdtp/R2tHKuqYFSEA+F9o="
+ },
+ "org/jetbrains/kotlin#kotlin-tooling-core/2.0.20": {
+ "jar": "sha256-W28UhUj+ngdN9R9CJTREM78DdaxbOf/NPXvX1/YC1ik=",
+ "pom": "sha256-XhIxEeAQewRmSIOgpAjB/zvbXQR+SQH4L0xC8QV4Bi0="
+ },
+ "org/jetbrains/kotlin#kotlin-util-io/2.0.20": {
+ "jar": "sha256-ZGTbjUFywhoXp5C20XiQIu1nrbN8UL5ri59YK1UrhSI=",
+ "pom": "sha256-LrBxVfqEF46ZVjnOe3aRcofK5UKjXSm1a7CZEB0oajw="
+ },
+ "org/jetbrains/kotlin#kotlin-util-klib/2.0.20": {
+ "jar": "sha256-h92Djcd3gsuVZ/GnYUmbPkpQ9SjABbJjii4+V0EKljs=",
+ "pom": "sha256-fbTRw72mdZvifuk35gfoscRpWNwIR3Ey/a7t4BbnOP8="
+ },
+ "org/jetbrains/kotlin/jvm#org.jetbrains.kotlin.jvm.gradle.plugin/2.0.20": {
+ "pom": "sha256-JyOoqUP6SkTTcD8VTEW31UcMcZ1OYKvz4ixzt3s4i5M="
+ },
+ "org/jetbrains/kotlin/multiplatform#org.jetbrains.kotlin.multiplatform.gradle.plugin/2.0.20": {
+ "pom": "sha256-eB3fXoWUHaYbaNxvts/TEvQb20Z7A9LYFEkDkc8PHA0="
+ },
+ "org/jetbrains/kotlin/plugin/compose#org.jetbrains.kotlin.plugin.compose.gradle.plugin/2.0.20": {
+ "pom": "sha256-qYIKx23l4slfvXM/0y0CQQRMWMo1cC1JvpkVeA4Eito="
+ },
+ "org/jetbrains/kotlin/plugin/serialization#org.jetbrains.kotlin.plugin.serialization.gradle.plugin/2.0.20": {
+ "pom": "sha256-0s2V9THwNRgW+fg0bsbWB2xxyt9jLz6PZX3dft+RukE="
+ },
+ "org/jetbrains/kotlinx#kotlinx-coroutines-bom/1.6.4": {
+ "pom": "sha256-qyYUhV+6ZqqKQlFNvj1aiEMV/+HtY/WTLnEKgAYkXOE="
+ },
+ "org/jetbrains/kotlinx#kotlinx-coroutines-core-jvm/1.6.4": {
+ "jar": "sha256-wkyLsnuzIMSpOHFQGn5eDGFgdjiQexl672dVE9TIIL4=",
+ "module": "sha256-DZTIpBSD58Jwfr1pPhsTV6hBUpmM6FVQ67xUykMho6c=",
+ "pom": "sha256-Cdlg+FkikDwuUuEmsX6fpQILQlxGnsYZRLPAGDVUciQ="
+ },
+ "org/sonatype/oss#oss-parent/7": {
+ "pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
+ }
+ },
+ "https://repo.maven.apache.org/maven2": {
+ "antlr#antlr/2.7.7": {
+ "jar": "sha256-iPvaS5Ellrn1bo4S5YDMlUus+1F3bs/d0+GPwc9W3Ew=",
+ "pom": "sha256-EA95O6J/i05CBO20YXHr825U4PlM/AJSf+oHoLsfzrc="
+ },
+ "bouncycastle#bcmail-jdk14/138": {
+ "jar": "sha256-OJ9AXPpmsmAESEczk3oiYkeCpdhkVuDDXgB7YOvI41k=",
+ "pom": "sha256-XP2ibQY7MUiu5Lcukc8NXRjGk4CAfGLr/NZXttk/ykw="
+ },
+ "bouncycastle#bcprov-jdk14/138": {
+ "jar": "sha256-1guIxdGTLejZjt1aOuLV1WR3k94+thVwFYB+5SPNK+4=",
+ "pom": "sha256-UdheKECDgumkVTL5IaEZ9HK6/6t8QEUG2sjI01+wdtM="
+ },
+ "bouncycastle#bctsp-jdk14/138": {
+ "pom": "sha256-N/DSczc5qd0YgUzAKLBrvTMunjFffrkJkRihebn76Mg="
+ },
+ "com/charleskorn/kaml#kaml-jvm/0.65.0": {
+ "jar": "sha256-t+lNDy2KXE2CbPwx1KFHXpb8EkQij7QeEhvwBbuffyg=",
+ "module": "sha256-fVfqJl1EEyXprf0GdElCc9M3+MvvZJPViWBDMXFOM5Y=",
+ "pom": "sha256-wL9cQLhQVY8dkydXJtrn0id9SEm4ahRiDacp7LMVTj4="
+ },
+ "com/charleskorn/kaml#kaml/0.65.0": {
+ "module": "sha256-t5Lw0MovyuiCbzxPdBnHuSQx3lfIfymRw20Ps94qWEg=",
+ "pom": "sha256-TTWswCtEWPKY2DWjeWefMhffKcHMKNZdD/5EFNSJPzk="
+ },
+ "com/formdev#flatlaf/2.4": {
+ "jar": "sha256-NVMYiCd+koNCJ6X3EiRx1Aj+T5uAMSJ9juMmB5Os+zc=",
+ "module": "sha256-lDJSAGQRAP/5BV5biVzSrDVOd9WV32zDI1/bRn24yl4=",
+ "pom": "sha256-f4MV+IaEGAV2gd89FstH7TrHgbB5ElqnvKRmjPyf7g0="
+ },
+ "com/github/ajalt/clikt#clikt-core-jvm/5.0.2": {
+ "jar": "sha256-GLLfMKM5WjeCPsQyN1oVtIXSkrZXXjDvGEzJ58B9i4c=",
+ "module": "sha256-IBbMFaubv1CrNqYPSBlzU1Uj69Ms0brhA5mKYNmxnDg=",
+ "pom": "sha256-OUM4/+m2TB4aDzN24W4TXjl8H1Q86Jp8G4IIR6adsfQ="
+ },
+ "com/github/ajalt/clikt#clikt-core/5.0.2": {
+ "module": "sha256-waxlNfNh5suAUQsvzzfMj1SkiRFSKunsYs73HcICGvk=",
+ "pom": "sha256-+OBeYH0og+8v8RWvrb4JTwP59HmbPMaRiSwjW4xcjVg="
+ },
+ "com/github/ajalt/clikt#clikt-jvm/5.0.2": {
+ "jar": "sha256-CDUQe1HVchTVouFdSyFP3Waz7uW7Os+W/zWyO9SjbN4=",
+ "module": "sha256-XP3wXVDagWYbEEu5g+0WzYyQ+gviod/k+4tBNtGkf/4=",
+ "pom": "sha256-SrqetHfL9KvuQpA72reTzo6YWKVpFdMn3wKzsxwkjFc="
+ },
+ "com/github/ajalt/clikt#clikt/5.0.2": {
+ "module": "sha256-RxznYZxjEC99/MAzbKQ+19pZFkYLcdAGDK3e+QtQU84=",
+ "pom": "sha256-oft1NUdQSp/XUh+nMN1PZwl1cWZ8rf91OCmGw4kXW2Y="
+ },
+ "com/github/ajalt/colormath#colormath-jvm/3.6.0": {
+ "jar": "sha256-WfdBrf5iBTBmeC2LGkWv0GaFpLxkszJ35Uh2uZPtiFw=",
+ "module": "sha256-P6dnMPmJ4ChN8YL87IViDZtIrjIhOYhBrGyviEYvYvg=",
+ "pom": "sha256-8Dw11QURDQZzNF9HQOVbzZdqmp+lobE8qirTmPO8Hl0="
+ },
+ "com/github/ajalt/colormath#colormath/3.6.0": {
+ "module": "sha256-aQeqSXrbmvY4EsdTZjic7T5ruL7oDnsjmttMU2c/iIQ=",
+ "pom": "sha256-zh3tjA259LxNNjS64Vn9jVu2qWDyzTuWoAyPDnnOZAs="
+ },
+ "com/github/ajalt/mordant#mordant-core-jvm/3.0.1": {
+ "jar": "sha256-nPm0bR9J8tbPJjVGKyncWeDCmx+y8IWzMSiIu+nHzTE=",
+ "module": "sha256-5HRMRxB05ezUFh9wcLRZTfAO8XivBEJlkF5e0c61rJI=",
+ "pom": "sha256-1Ylt5eNKnVarJ4Y5iyYHJLGB85zAUIy7Kh9+iGzSXYc="
+ },
+ "com/github/ajalt/mordant#mordant-core/3.0.1": {
+ "module": "sha256-BWl6xcBV8Uh2cJ/U6f1ejD0VphrHesVy+RZEmTKgjC8=",
+ "pom": "sha256-Ah3YAdKdWJlqDJv/ux8VHWkHytU20syNGnoHuck4UNo="
+ },
+ "com/github/ajalt/mordant#mordant-jvm-ffm-jvm/3.0.1": {
+ "jar": "sha256-IEHC9fe4cJWxFcsZFV7pJXRRhU0I5bhnEWW0O8fhFM8=",
+ "module": "sha256-iE1x/LfBAQrm11qoka5UqYmGEVSwfxIVzVRfDkg34V0=",
+ "pom": "sha256-azbnZhrYKN4DoomS2K6WJWzq3z/aEo+OxImo1lu7rFM="
+ },
+ "com/github/ajalt/mordant#mordant-jvm-ffm/3.0.1": {
+ "module": "sha256-2Frg+0n7bXFHibQ/MbVnUoybit+G0Ou5hpSkGpHgmmc=",
+ "pom": "sha256-/MzpL8GhnxYzgGhDyuVTLIx/2YSnkxRbb7y3iUpk/s0="
+ },
+ "com/github/ajalt/mordant#mordant-jvm-graal-ffi-jvm/3.0.1": {
+ "jar": "sha256-bdS+vBZK6s3azI+Y6Phx4A/SHOe8LrDRgjDqg73fyGo=",
+ "module": "sha256-DYGba/u8pO6XszB4ZoEpaQdmr/lI/ByDF4j04DSFOsM=",
+ "pom": "sha256-Cm95LxyTYJX4dGmR1k2os/+ECazeOUir5d4v1WiIeDo="
+ },
+ "com/github/ajalt/mordant#mordant-jvm-graal-ffi/3.0.1": {
+ "module": "sha256-qu/aIGckg7OwsmDdHvE0LOazTs6IutbfOa4bJgUMjAo=",
+ "pom": "sha256-VAicrH9XCzo84x3cCD+ORgs7ED62oXM8kUE1GgaLR/M="
+ },
+ "com/github/ajalt/mordant#mordant-jvm-jna-jvm/3.0.1": {
+ "jar": "sha256-QQY0QsiJGyd0U2qbh6UGKn/SDm8ZSZdMbacvSUctb00=",
+ "module": "sha256-eBcNkl07qnWGYvl2M2FjkN6Q1CoslON2PqpZBXY3jh4=",
+ "pom": "sha256-/hWoxktH4H8vmdiDKG5O+xR0YkVlh0ayVQ9vlohkX4A="
+ },
+ "com/github/ajalt/mordant#mordant-jvm-jna/3.0.1": {
+ "module": "sha256-cn+1FiNOi6/JJ5Xi7L0No4VNcjoWxphCrGGSC/WIebk=",
+ "pom": "sha256-xbxkikqeKmz3+dGAJMi/ZrIYCVDpPxYIODTHv/OqeGE="
+ },
+ "com/github/ajalt/mordant#mordant-jvm/3.0.1": {
+ "jar": "sha256-ntO5dvzMx42nRtSYZvqOu48QUwqTxUTqBCAlmmB92V4=",
+ "module": "sha256-peTyMSt69CDG2DLDA4kcGg2GN8z6WpTYnxFGxIZpgLo=",
+ "pom": "sha256-sAnaTDfbjhc2uEgrRPIJ2Cdx/xyNO9+UbraE07nOmWU="
+ },
+ "com/github/ajalt/mordant#mordant/3.0.1": {
+ "module": "sha256-lJLcf2NgJt8ulCkim52Ae1d00uZBUQ2Qv4Kb0qyzthU=",
+ "pom": "sha256-BlK5t9Y0kro8J8ZIkANIZRxbKFdEAph7j+KqBUlqkaQ="
+ },
+ "com/google#google/1": {
+ "pom": "sha256-zW2xehGjHt55TMvR3w5Nl1D2QCNHMfIc/4hamZcnfoE="
+ },
+ "com/google/classpath-explorer#classpath-explorer/1.0": {
+ "jar": "sha256-NAZhIauvj2SXmknkbLzP3h0kGqUph7uUaSXItSRxHio=",
+ "pom": "sha256-65la++BWh2EB+h7K7JJNrPPmV+P+7buxFv3GYBj1b+w="
+ },
+ "com/google/code/gson#gson-parent/2.10.1": {
+ "pom": "sha256-QkjgiCQmxhUYI4XWCGw+8yYudplXGJ4pMGKAuFSCuDM="
+ },
+ "com/google/code/gson#gson/2.10.1": {
+ "jar": "sha256-QkHBSncnw0/uplB+yAExij1KkPBw5FJWgQefuU7kxZM=",
+ "pom": "sha256-0rEVY09cCF20ucn/wmWOieIx/b++IkISGhzZXU2Ujdc="
+ },
+ "com/google/code/gson/gson/maven-metadata": {
+ "xml": {
+ "groupId": "com.google.code.gson",
+ "lastUpdated": "20250910210152",
+ "release": "2.13.2"
+ }
+ },
+ "com/ibm/icu#icu4j/72.1": {
+ "jar": "sha256-PfVyskCmjRO1zXeK0jk+iF0mQRQ0zY8JisWYfqLmTOM=",
+ "pom": "sha256-Pe8rKa9KGa2AXLFTBWklqJqQP5L77hre4S7S/BTETug="
+ },
+ "com/lowagie#itext/2.1.7": {
+ "jar": "sha256-fYLGsJejHN9abUmjJ79YL97HME2mkwj59qv1Sqn9kFU=",
+ "pom": "sha256-iT+cUAxixPtAUKGW7OzjVv5LTmFfLe6d/q3Yj0yDeM0="
+ },
+ "com/mikepenz#multiplatform-markdown-renderer-jvm/0.31.0": {
+ "jar": "sha256-AqvJZI4DQqERE20SI1PnJmQc7kL3fjOZ00QodKWtCI0=",
+ "module": "sha256-4Z0OqaPQu/uoq7XdlCKgMUzYFeVrB2kS3zr0v6ehvq0=",
+ "pom": "sha256-QrNShBfbKcxFFTdsYMPzqwp4beJBdZ6BnwnDlro/rlA="
+ },
+ "com/mikepenz#multiplatform-markdown-renderer-m2-jvm/0.31.0": {
+ "jar": "sha256-G8eVEfIz36vxL++dhTX9GOO9qK6up/VG7H1ipDEKOHA=",
+ "module": "sha256-YxfvUuksLMsXcZ46Lppc7L6tfk0Uw1F9xki04L4TrZY=",
+ "pom": "sha256-iM0nqkQ9kcFJKnHeNcyga5t/2DTvBz3vDkOdmq+B8u0="
+ },
+ "com/mikepenz#multiplatform-markdown-renderer-m2/0.31.0": {
+ "module": "sha256-4Qzn2MAoDELzXzHIL8HzKQDadAPe03A1Yv9iOjQR7R4=",
+ "pom": "sha256-V8vNJHaoBaN1Uh2YOyMSOSuobleDSc5KUiPIfzi7Z58="
+ },
+ "com/mikepenz#multiplatform-markdown-renderer/0.31.0": {
+ "module": "sha256-s6mFqx07ltTL8LTRuoBzH9gY3IiqxdrpgYLEvVhvF8w=",
+ "pom": "sha256-ny9Y4lNmYWfVB7P+TIEIjDNgn2ZymtDr+FsefcROHZw="
+ },
+ "com/squareup/okio#okio-jvm/3.9.1": {
+ "jar": "sha256-/m/pE3j5v6ewjDhkgozkGABc8orMoS6IR+tlxWXDdQA=",
+ "module": "sha256-sK+pGSxC18Rj3jjWMlk2xpAdnjtxSXNf/RihHfMQNKs=",
+ "pom": "sha256-VXZInO8kBTNoAPxt6VhUU18zVxpO/lpa0OybmwkNIdU="
+ },
+ "com/squareup/okio#okio/3.9.1": {
+ "module": "sha256-m5C0J0pa1gLdV01tS0iQNmOy3ppgufw0AiSCk9hD4SE=",
+ "pom": "sha256-06DDd+epr8zbsCqrXgUNwhL/2pQNvUcOo5cSpDQt8I4="
+ },
+ "io/github/alexzhirkevich#compottie-desktop/2.0.0-rc02": {
+ "jar": "sha256-2hPz27LSDfcfkOM/WAFmQICwvjtxOG6+grCHiMZiUSM=",
+ "module": "sha256-9SiEzSwHiXpcG7zbzDn4fWDhxS5ui4NLN58UhIQnUvo=",
+ "pom": "sha256-OD2P1kZn01mTeWdBO5KdWjLFkFf6j/uUAe+csGhlxzM="
+ },
+ "io/github/alexzhirkevich#compottie/2.0.0-rc02": {
+ "module": "sha256-PkqVnMz/8rLcPY9RyDd1Ob1HaELeUv7fPBqTwG0z2q4=",
+ "pom": "sha256-rXB2UEwMZ2jMGdt/h3dYXLsgArMMTZ7russckwQeCqI="
+ },
+ "it/krzeminski#snakeyaml-engine-kmp-jvm/3.0.3": {
+ "jar": "sha256-8aEeOtlSXLfzALQXS3Th/kqJ1hmlSh+6dXR/jIVLWFY=",
+ "module": "sha256-gQRAI5PMa2ZF7qLbq5v465xzjDcnifGvZap0B//xLso=",
+ "pom": "sha256-PYiuJDTXhzq6Ahi7MAUr1t1StmmBeY3Gbz9pmiUWsQ0="
+ },
+ "it/krzeminski#snakeyaml-engine-kmp/3.0.3": {
+ "module": "sha256-t9SuIEDnTa5irWgxGmKslWhyTJGdLyE4mEfBwkF3+iA=",
+ "pom": "sha256-fDOZwydrGFcEeSYGr//HPQuh2JuJYw9OMJpMxhplQHo="
+ },
+ "net/java/dev/jna#jna-platform/5.12.1": {
+ "jar": "sha256-jOlpEWyslb1hsHqNXgcXSzUuYzAUc8qscsOV48CEiNI=",
+ "pom": "sha256-wnn/o7UWjiIDCHIxxjiRmnzsdFgAaxzaZpWXR4YPtFc="
+ },
+ "net/java/dev/jna#jna-platform/5.17.0": {
+ "jar": "sha256-t+PUbIe60utAmw5wSRa82BIGFo41cxLf3dDiU2ec2eA=",
+ "pom": "sha256-CjC3l622giFH75jLJJ7z+/SiQ1QqqGv59C+tnmgwWkQ="
+ },
+ "net/java/dev/jna#jna/5.12.1": {
+ "jar": "sha256-kagUrE9A1g3ukdhC4aith0xiGXmEQD0OPDDTnlXPU7M=",
+ "pom": "sha256-Zf8lhJuthZVUtQMXeS9Wia20UprkAx6aUkYxnLK4U1Y="
+ },
+ "net/java/dev/jna#jna/5.17.0": {
+ "jar": "sha256-s6lAjnxR4I7w47/MCPRD9uwPYZG6jNfBjVPSsi5b28A=",
+ "pom": "sha256-UBoP8F2EpK0Q9t4lvpT0k5i3CjG+jzoO2fTGtE++/uQ="
+ },
+ "net/thauvin/erik/urlencoder#urlencoder-lib-jvm/1.6.0": {
+ "jar": "sha256-jQ/SrrSNGdxJxWPrwA8nSUfkX3FsEHU1wS6tY97NaI0=",
+ "module": "sha256-xR2qXFshotEfU5wbBIr4Up9G1hAMoiSzJRH7WGPb6Co=",
+ "pom": "sha256-0km6NJnFKFee+uva43MWkv1EgdmvnLh3wh2bf6UHHr0="
+ },
+ "net/thauvin/erik/urlencoder#urlencoder-lib/1.6.0": {
+ "module": "sha256-FwoYaL+6OY1km+K/UNbNhgNQyUskNncrJMs0vN6kobU=",
+ "pom": "sha256-h64XwAQtoKQCt8aHbH7yBM1Zmied35GpwW30qJ3q57w="
+ },
+ "org/abego/treelayout#org.abego.treelayout.core/1.0.3": {
+ "jar": "sha256-+l4xOVw5wufUasoPgfcgYJMWB7L6Qb02A46yy2+5MyY=",
+ "pom": "sha256-o7KyI3lDcDVeeSQzrwEvyZNmfAMxviusrYTbwJrOSgw="
+ },
+ "org/antlr#ST4/4.3.4": {
+ "jar": "sha256-+SesOExG10n4texolypTrtIeADE1CSmWFu23O/oV/zM=",
+ "pom": "sha256-nnwfPkiZGUQOjBMInlljcp1bf4D3AjO/uuMJxkmryj4="
+ },
+ "org/antlr#antlr-master/3.5.3": {
+ "pom": "sha256-6p43JQ9cTC52tlOL6XtX8zSb2lhe31PzypfiB7OFuJU="
+ },
+ "org/antlr#antlr-runtime/3.5.3": {
+ "jar": "sha256-aL+fWjPfyzQDNJXFh+Yja+9ON6pmEpGfWx6EO5Bmn7k=",
+ "pom": "sha256-EymODgqvr0FP99RAZCfKtuxPv6NkJ/bXEDxDLzLAfSU="
+ },
+ "org/antlr#antlr4-master/4.13.2": {
+ "pom": "sha256-Ct2gJmhYc/ZRNgF4v/xEbO7kgzCBc5466dbo8H6NkCo="
+ },
+ "org/antlr#antlr4-master/4.7.2": {
+ "pom": "sha256-upnLJdI5DzhoDHUChCoO4JWdHmQD4BPM/2mP1YVu6tE="
+ },
+ "org/antlr#antlr4-runtime/4.13.2": {
+ "jar": "sha256-3T6KE6LWab+E+42DTeNc5IdfJxV2mNIGJB7ISIqtyvc=",
+ "pom": "sha256-A84HonlsURsMlNwU/YbM3W44KMV5Z60jg94wTg0Runk="
+ },
+ "org/antlr#antlr4/4.13.2": {
+ "jar": "sha256-5vCxDSrSBvM4r+FoZ/xHFItnKdbjomDqKDebkfA6Nlc=",
+ "pom": "sha256-gJ7klwbc42dJiLq/ytNrPFoOL9XPoKUSCRA5Y+hXJhs="
+ },
+ "org/antlr#antlr4/4.7.2": {
+ "pom": "sha256-z56zaUD6xEiBA4wb4/LFjgbmjRq/v9SmjTS72LrFV3E="
+ },
+ "org/apache#apache/30": {
+ "pom": "sha256-Y91KOTqcDfyzFO/oOHGkHSQ7yNIAy8fy0ZfzDaeCOdg="
+ },
+ "org/apache/ant#ant-launcher/1.10.14": {
+ "jar": "sha256-8JCXJaeiTjk4iPP7tVg0er9QbOL368WB/yYzG5TZUaU=",
+ "pom": "sha256-nJ2qQSPp63BzVnk2UsOIo1UQqqWm0UW0T4VdCN1LK7w="
+ },
+ "org/apache/ant#ant-parent/1.10.14": {
+ "pom": "sha256-CBYQamBniMJw767yFWLPy9j0uvfafBG85RSetWYbMx8="
+ },
+ "org/apache/ant#ant/1.10.14": {
+ "jar": "sha256-TLvZJD3kwQQtYdmhXbTEPJD/k7FteLOUgdoclWyOlnE=",
+ "pom": "sha256-L6QmnmscRXI6iojmnZhKdm27IEzQ/pgUlMzfP+469lw="
+ },
+ "org/apache/netbeans#netbeans-parent/4": {
+ "pom": "sha256-avmm8NmH5LMs41OCls+xrE0Fv7tUCQxwVwfd/jjQviA="
+ },
+ "org/bouncycastle#bcmail-jdk14/1.38": {
+ "jar": "sha256-OJ9AXPpmsmAESEczk3oiYkeCpdhkVuDDXgB7YOvI41k=",
+ "pom": "sha256-c1iVvpAo4/4HPC2ZhyXaNhppHlqIt/CPK9Kf3d1sK/E="
+ },
+ "org/bouncycastle#bcprov-jdk14/1.38": {
+ "jar": "sha256-1guIxdGTLejZjt1aOuLV1WR3k94+thVwFYB+5SPNK+4=",
+ "pom": "sha256-WNpDaTTbFHIzFaFgoRoL+RaSlDAM4+JLDTFPQuJQ1vM="
+ },
+ "org/bouncycastle#bctsp-jdk14/1.38": {
+ "jar": "sha256-7Lvk0Zwlbk2/7DRUuCtNJLFJ+Q8/nJDmqu8ilGPNTag=",
+ "pom": "sha256-t1DY8h6x4R1nZiSmz8sgEXs6O793IZua5h7903MFlT4="
+ },
+ "org/eclipse/jdt#org.eclipse.jdt.compiler.apt/1.3.400": {
+ "jar": "sha256-j2mdaESZS5gXXKoODoRBZMw8pfqAAAjd2b8/ccUJOKQ=",
+ "pom": "sha256-YFzh1xecR16rcakoAnBVayVYQvMj/6lbMdM+J2hgopE="
+ },
+ "org/eclipse/jdt#org.eclipse.jdt.core/3.16.0": {
+ "jar": "sha256-fHGIanaWSoJetzTSLe29Oh76LBm+w68m0Ht7voFn2UM=",
+ "pom": "sha256-FlCWh/CH4TplTFraeRjLuZXop5lrD7oQsJQ8xgx5bMk="
+ },
+ "org/eclipse/lsp4j#org.eclipse.lsp4j.jsonrpc/0.22.0": {
+ "jar": "sha256-mIkPcX4JHtGySUqhTwQuUPdMggVlmO6yfFRAqErdxLk=",
+ "pom": "sha256-zlCWRxWWE3wv7HEQ9Dbz1YpN4oSczcECTAQQLj2mXxw="
+ },
+ "org/eclipse/lsp4j#org.eclipse.lsp4j/0.22.0": {
+ "jar": "sha256-uukFuFg86nP70Lekel8pCX31l+EYdaRSXQ7rrj1JcqA=",
+ "pom": "sha256-w9wJYboDpq7ZqYKYRdYP5zAgW/4i5cQKCPNC5aTbsVE="
+ },
+ "org/eclipse/platform#org.eclipse.core.commands/3.12.400": {
+ "jar": "sha256-0IOPxFEzUjcgMUXtXAjnkxI2w1HwuG7gvtQY/ouD+xs=",
+ "pom": "sha256-VvaWUeXjKExahc04hAmgqVZ4ro+teQO7OuCufAJK0GU="
+ },
+ "org/eclipse/platform#org.eclipse.core.contenttype/3.9.700": {
+ "jar": "sha256-UQnqmnhxhPV/+CljW539Ytc2w5HUgefrKLqj0nj9wAY=",
+ "pom": "sha256-s1ueFPUNcb6ZBakpWBHiBV3dVBAWUwMhKSslFMhcV8c="
+ },
+ "org/eclipse/platform#org.eclipse.core.expressions/3.9.500": {
+ "jar": "sha256-hES13pDJtKtSjI6lw0HH6HLQ2+gkGreQhVUQhtlufJ4=",
+ "pom": "sha256-1Ks7hbJUOHlXRXwfRrcAG1qQqJjFIixQIKB5DlFhalA="
+ },
+ "org/eclipse/platform#org.eclipse.core.filesystem/1.11.300": {
+ "jar": "sha256-6zJJS6uuCiEGYuFhq8vE33BXdI4AMyahVupneDyorO4=",
+ "pom": "sha256-riTI0aUrpG3UKlyUP9xfw0Ky9A1Ff4E8N+gs/o/Gdp4="
+ },
+ "org/eclipse/platform#org.eclipse.core.jobs/3.15.700": {
+ "jar": "sha256-NwFReae5uQ0Wy5L0sb5gg6Gm2tJUKPqPa4libwzC2nk=",
+ "pom": "sha256-OUVAotjHPjVRHz1f8J2fNkdm4P4steb4V8Tfqwl9Ot8="
+ },
+ "org/eclipse/platform#org.eclipse.core.resources/3.23.0": {
+ "jar": "sha256-Llir4A41yZuFqq2Nc4wqh3EDa+L0oitl2QvBRKgGcnA=",
+ "pom": "sha256-AuUbd6oS0LZAFFNvA7dCjFpWF36Ettqb5sDnWm8jGo0="
+ },
+ "org/eclipse/platform#org.eclipse.core.runtime/3.34.0": {
+ "jar": "sha256-B2s7+RXTzgN7eHfIfRfR0kQhNd0+eMXy7mEPXYg3kwE=",
+ "pom": "sha256-b8TJb6EII4AhaatyU943S3qvWnSYO4o+tLok9vELUvk="
+ },
+ "org/eclipse/platform#org.eclipse.equinox.app/1.7.500": {
+ "jar": "sha256-GfLjYRNH22QzpIpiGHyfa9RohtDVaDZpfa//6YXqk+8=",
+ "pom": "sha256-sKK1z+znfceXeW5uqiwkrBkwVnB9BPVWBe3PdJC0XFY="
+ },
+ "org/eclipse/platform#org.eclipse.equinox.common/3.20.200": {
+ "jar": "sha256-m4tcijQuf1vl+VFU6frvrmhvOYfndtzgMPN72EfNfzU=",
+ "pom": "sha256-XYyNb/aVj33ouZDJ/A7Ff3gyf1HgZJc/V5LiA1Sx7m4="
+ },
+ "org/eclipse/platform#org.eclipse.equinox.preferences/3.12.0": {
+ "jar": "sha256-1MnqXEzYCLl/FUkLu9fdj1jHZ8aFttBZGUdX5m1u7zU=",
+ "pom": "sha256-3SwqP9ZklaQTCAvJzkDktSg5SGV37IrnJ9APxoLhUO8="
+ },
+ "org/eclipse/platform#org.eclipse.equinox.registry/3.12.500": {
+ "jar": "sha256-Tl7/034/bicyoeeIx2n267SdStYOnl2RxXokz/vC+v4=",
+ "pom": "sha256-ddMClkYdU0SA4qK9boylKnDd6+2KKNd8qBb0uVK9SdY="
+ },
+ "org/eclipse/platform#org.eclipse.osgi/3.23.200": {
+ "jar": "sha256-jZQFjq0/RlGQAWaSSmd8O+tumW8HL6vzhf/dcFELxJM=",
+ "pom": "sha256-py2jWv3kgc2hDp2UsxpUwbkKe2hQqt5MmtnpVtdIWtA="
+ },
+ "org/eclipse/platform#org.eclipse.text/3.14.400": {
+ "jar": "sha256-BIRcZhMn9wBe2WAzzzOCLU9gsBGJvD6ehk5RL1cJYhM=",
+ "pom": "sha256-e9x89hsAsHEpsEYWo3MrxTUjOnj9phwWBRl7kqCZE1A="
+ },
+ "org/eclipse/platform/org.eclipse.core.filesystem/maven-metadata": {
+ "xml": {
+ "groupId": "org.eclipse.platform",
+ "lastUpdated": "20250906152134",
+ "release": "1.11.300"
+ }
+ },
+ "org/eclipse/platform/org.eclipse.core.resources/maven-metadata": {
+ "xml": {
+ "groupId": "org.eclipse.platform",
+ "lastUpdated": "20250906152140",
+ "release": "3.23.0"
+ }
+ },
+ "org/eclipse/platform/org.eclipse.core.runtime/maven-metadata": {
+ "xml": {
+ "groupId": "org.eclipse.platform",
+ "lastUpdated": "20250906152136",
+ "release": "3.34.0"
+ }
+ },
+ "org/eclipse/platform/org.eclipse.text/maven-metadata": {
+ "xml": {
+ "groupId": "org.eclipse.platform",
+ "lastUpdated": "20250906152155",
+ "release": "3.14.400"
+ }
+ },
+ "org/jetbrains#annotations/13.0": {
+ "jar": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg=",
+ "pom": "sha256-llrrK+3/NpgZvd4b96CzuJuCR91pyIuGN112Fju4w5c="
+ },
+ "org/jetbrains#annotations/23.0.0": {
+ "jar": "sha256-ew8ZckCCy/y8ZuWr6iubySzwih6hHhkZM+1DgB6zzQU=",
+ "pom": "sha256-yUkPZVEyMo3yz7z990P1P8ORbWwdEENxdabKbjpndxw="
+ },
+ "org/jetbrains#markdown-jvm/0.7.3": {
+ "jar": "sha256-iTq7MfFbYhb3TccEwMa/HlZ9zytizKKc9C5PUxU2N6w=",
+ "module": "sha256-cCm2PHSWTltDNDCO5ynpW1ONpe1qwSsuR31HhXLQIlI=",
+ "pom": "sha256-rLnRV//Hpk7mK+jt2WANJrXbAycKdOi+U815/gsm880="
+ },
+ "org/jetbrains#markdown/0.7.3": {
+ "module": "sha256-2/rnqoU+teoe66MYllOKhANkb1XFmpkZHWh/wDe9rDk=",
+ "pom": "sha256-EeUuCmQOVKSzsjDRSFyVukuneyx7H8KENzkPngEicUc="
+ },
+ "org/jetbrains/androidx/lifecycle#lifecycle-common/2.8.4": {
+ "module": "sha256-o7yb3i/+/IFT1Sr8WAQms4rWV2yuE0a7jIPbzFBvAPQ=",
+ "pom": "sha256-BjXG8hQBtELWxoStOF6vEfzeJDv7dZbGk62+tZPwobM="
+ },
+ "org/jetbrains/androidx/lifecycle#lifecycle-runtime-compose-desktop/2.8.4": {
+ "jar": "sha256-weUaJG5p4jfofSib4Ivr2NQG/+n/YKEl6PIHLbYRmWY=",
+ "module": "sha256-x55RdgcihHN1i5WIkdcSS7CaFZRqXEof+5DvPP+xGfU=",
+ "pom": "sha256-R0gxXXQwmLRVFvSZdM4854w2efSmaOw5tTjBGmRa4Bg="
+ },
+ "org/jetbrains/androidx/lifecycle#lifecycle-runtime-compose/2.8.4": {
+ "module": "sha256-Q7eeNCcX8sx9rQzddNUawtwxbEhmj3jfJsIc8GleED4=",
+ "pom": "sha256-UofDvv5hVYWLH9njHp2UwCQHN3i/fY1Bs4dasp70Gsc="
+ },
+ "org/jetbrains/androidx/lifecycle#lifecycle-runtime/2.8.4": {
+ "module": "sha256-t/5oq5S4ncDF1wWltk3LDDyDpITimPNfA2x5cRZgHqQ=",
+ "pom": "sha256-DQ7wsV76yiXtdgT6FB0OjT+6iU0wl511DVBpZrZg0Dk="
+ },
+ "org/jetbrains/androidx/lifecycle#lifecycle-viewmodel/2.8.4": {
+ "module": "sha256-YdkxJsnivTyFp0+XrYFbxhi5A52bFIOz9OXp6Ayc+Bw=",
+ "pom": "sha256-7VnmgyoqJ4xsYcgDMqFxWJmewWE90Cvir6DZ/PMbvfY="
+ },
+ "org/jetbrains/compose#gradle-plugin-internal-jdk-version-probe/1.7.1": {
+ "jar": "sha256-LiLcUUoGjL3BWQD+6H/n9ET+O18AirBEJxhRik/P2pM=",
+ "module": "sha256-2MvIfrECOjBI1m9n11BIfQE4QhXJmQx7ouNW2jblPL0=",
+ "pom": "sha256-2555zcSwGGaSZ7qv1b7hecG9in982ToPz+WciWWq4Ms="
+ },
+ "org/jetbrains/compose/animation#animation-core-desktop/1.7.1": {
+ "jar": "sha256-KzR6v2xIYmFToCtw7va74dPJUnUV1vn37OrqPDmFM7s=",
+ "module": "sha256-c7rYgJkZ/IbsKE5mCKv603DsBjPtbHWV9ptYNh9SAD8=",
+ "pom": "sha256-xqopawWzH+UZ3cIswgrd989vsdtV+anMYJ1TL/h/81w="
+ },
+ "org/jetbrains/compose/animation#animation-core/1.7.1": {
+ "module": "sha256-v4u73LKXNY9tN9inJOif8+kLp+VkA26ZA5X3OwxEjMo=",
+ "pom": "sha256-VdE9LN1WVa+tasG8Ou5rMU2ILf6Nj/UVVmsHj4AuKbw="
+ },
+ "org/jetbrains/compose/animation#animation-desktop/1.7.1": {
+ "jar": "sha256-R05r0qasI2Ll2r14D5O4UnaGQKoWQDsPxQXaiBd/l7M=",
+ "module": "sha256-kw0qlickr+L6z9eYIQfYCmkGh4hHCl1VrcDZj3ijuwY=",
+ "pom": "sha256-j1SyEA/7lX0HPry7gxTwvEne5FWIH9eLvhKnBHnjFwU="
+ },
+ "org/jetbrains/compose/animation#animation/1.7.1": {
+ "module": "sha256-leqNJuQAkoHcPo60WyBfj2ZrQmZmtRisSaapUwKiicM=",
+ "pom": "sha256-Q9zVYfPQZrMbAQsujbu8xvzr5dF61PBt1NR93+hF3SU="
+ },
+ "org/jetbrains/compose/annotation-internal#annotation/1.7.1": {
+ "module": "sha256-OBY3qiWg10JF0HpLhxPDjcUBtU+yWvnWHdwzMR9AFhk=",
+ "pom": "sha256-exANVYBe1I3wrGACFGbx1YcGM0wXJ9DQhRrNt302Ptk="
+ },
+ "org/jetbrains/compose/collection-internal#collection/1.7.1": {
+ "module": "sha256-gsd1JJvP3C1mEk95jcTrVf8PFYmBVwga9f3Qjq059dQ=",
+ "pom": "sha256-WI9ACx/5qa+QAnIiqNAo05Q1WC3JBkoxmlaL9vrzTgI="
+ },
+ "org/jetbrains/compose/components#components-resources-desktop/1.7.1": {
+ "jar": "sha256-FYS3Oejxhp5PNAUZ3JhNSkRYKoDvMj5lWZndsY3ZVMI=",
+ "module": "sha256-8lMIvq55JPH59Pkgo5CSFiaJP39eoVyC34Zo44ulr64=",
+ "pom": "sha256-DUtv2dEyZlu+nTfYAmynIQNQpLuzH3esR1prx7AnEsc="
+ },
+ "org/jetbrains/compose/components#components-resources/1.7.1": {
+ "module": "sha256-qWCyKly3eIxEsmA6E1oObJ13xtjCTl2Mt3V1dpu0a/w=",
+ "pom": "sha256-3FYQ8AWL69HCgLdPfhmAa9BXjAkl7336d1znfrTB3bU="
+ },
+ "org/jetbrains/compose/components#components-ui-tooling-preview-desktop/1.7.1": {
+ "jar": "sha256-UTVkX80S6j9B1YcWuI1dMNYsxfDy5zxLQsq4clZIyPo=",
+ "module": "sha256-u5F+AQtFhwWl8Y5a7jznfWAPVM0KFCJoAqnpt0SuRJg=",
+ "pom": "sha256-Ji8J3GOweanYcsipPQcf3Fy47jtnZ4acDb2eYoBVPho="
+ },
+ "org/jetbrains/compose/components#components-ui-tooling-preview/1.7.1": {
+ "module": "sha256-Sg+r3l9nuNBt2ROhFO5dTIPwMiGo/rqDdmK0AmhoLKM=",
+ "pom": "sha256-OGru3f/uG6BKQFFYry7IzU37j6tjnTZ2/387e+jv5ds="
+ },
+ "org/jetbrains/compose/desktop#desktop-jvm-linux-x64/1.7.1": {
+ "pom": "sha256-j3b7Tvcsgj83U5A82QyLVRkeYtZJOddu9VFLtbIzz5U="
+ },
+ "org/jetbrains/compose/desktop#desktop-jvm-linux-arm64/1.7.1": {
+ "pom": "sha256-II1c2OqRLC/zLOrfiPNiDHwna+9iykyhXKgeCjCPo0I="
+ },
+ "org/jetbrains/compose/desktop#desktop-jvm/1.7.1": {
+ "jar": "sha256-YsgWBzGVzAEZ3B1msXhUS9t3Lvi+5IeZVFKMZ5ixfr4=",
+ "module": "sha256-WEhct/2FTOTOj8bjjIMOxqntpQDk0QlxEwkA3NdFcQ4=",
+ "pom": "sha256-UvyXBw+M2AtVoHMsmptGeKqXLf9I+Kdu7c4RCn2BXXU="
+ },
+ "org/jetbrains/compose/desktop#desktop/1.7.1": {
+ "module": "sha256-I5hiIwXNKr1QcL3z5F0F3wTtnc+OaE/H3XuR5eCjTu0=",
+ "pom": "sha256-lmtB0pquWjnASlcPIhbAznEMQ2pZ4euNNeN3+DM9Kwo="
+ },
+ "org/jetbrains/compose/foundation#foundation-desktop/1.7.1": {
+ "jar": "sha256-UN84WzKKCtekeeaQz+WT+84IrTntV5FnR5MpVt7gfws=",
+ "module": "sha256-e0RnxpVJc6cG2nTOLI7Te4RlXSxSGWWXHWgCb5iBTJI=",
+ "pom": "sha256-aAvQ++JHgzK+3kUTK1VmVNpsK063CPiqVp0bvV3AZ9A="
+ },
+ "org/jetbrains/compose/foundation#foundation-layout-desktop/1.7.1": {
+ "jar": "sha256-0shnwT/2Yy+YgOZ9q6sukwAHsAi5silQ/CzAdQCOzrY=",
+ "module": "sha256-aeRUgNLR3M8Hdzyq5gwdkvTu9PxF3K7luOg2KFlzsBc=",
+ "pom": "sha256-G8KiSCB1lID95NL6BswigNBCOpXAohpoUdjOfoaxnN4="
+ },
+ "org/jetbrains/compose/foundation#foundation-layout/1.7.1": {
+ "module": "sha256-U7+p+nvaWJ4NsTtyjjpWFPKMLJ5fvw8I862PKxT1hNE=",
+ "pom": "sha256-9+spSlpczBUbO2H9ot/tBcOpmErsNK3xp1VUS/2BN6s="
+ },
+ "org/jetbrains/compose/foundation#foundation/1.7.1": {
+ "module": "sha256-TudcyFcJEkmZZlCgo+Ag0MOoaHZtnB5ZdqySFMioscI=",
+ "pom": "sha256-js5Yc65fY4YFqEdPVZITMFGSkOcohMk6yJXSIN7/34Y="
+ },
+ "org/jetbrains/compose/material#material-desktop/1.7.1": {
+ "jar": "sha256-whITNqqveUc9DANHVGr4119RDop3dMBKkD+zzGl6VjM=",
+ "module": "sha256-nGGtBnXX/eKtPhpIhcNNtP46ILPhoH4HKvogj5UgJAw=",
+ "pom": "sha256-BpJQSZZU56Cg0+juqyxTsxtzIdVOOUKI63LB9LV1EAY="
+ },
+ "org/jetbrains/compose/material#material-icons-core-desktop/1.7.1": {
+ "jar": "sha256-vPbIU7bbL/FI0tOq07en6lTZP8e0Lgr9hA622vGhxoE=",
+ "module": "sha256-dpqLgvJ7j5oIElPV7o/UittRBgrNnC6HsozvYMG28kQ=",
+ "pom": "sha256-AzQzIbHALCbkTVxBLTW1r1hIapEJ/YiUheHWf6+cdIc="
+ },
+ "org/jetbrains/compose/material#material-icons-core/1.7.1": {
+ "module": "sha256-B5vF4xG7NUubyRRi8TaEinU/3LQaox8NqNsYl657rOE=",
+ "pom": "sha256-4Y+gqZINr+qVp9YsZKGcgSLS1Bo9+JitPVSsMds9aqg="
+ },
+ "org/jetbrains/compose/material#material-ripple-desktop/1.7.1": {
+ "jar": "sha256-xfa9+yKaF5SoOO0fMfcpmjtRYAS+/+GovMp1OqJovgk=",
+ "module": "sha256-476a8k7pZ20fYnKKt4BhaTS0Rqe4Z9wVVKqBaGpQE8g=",
+ "pom": "sha256-J3joa5k5b8ZfhR1C/BJ5Ku0hWYw4i8PCFlAIpRlOpfU="
+ },
+ "org/jetbrains/compose/material#material-ripple/1.7.1": {
+ "module": "sha256-0a8hV2+VfuVB6qCEckE116Sr0nNXTBJFUpWsXCFntBU=",
+ "pom": "sha256-8WQUEqPikyViaWeNGM41NQFS1fRNm4S0Dl64W/TvSdA="
+ },
+ "org/jetbrains/compose/material#material/1.7.1": {
+ "module": "sha256-s8uVvXEAd99SGmXoBPQWOJwOfKY2K1WKN/iVg1D6kzA=",
+ "pom": "sha256-WDRzrpYDWNyzuvgn3Cj5f5zw6l9JwiB1iBj7OFqIudM="
+ },
+ "org/jetbrains/compose/runtime#runtime-desktop/1.7.1": {
+ "jar": "sha256-duMlBUe5yjyxpJwnKTOyXLO8y8m6Endd1hYaY9mqfPE=",
+ "module": "sha256-My6v5fATPpwP8mn+rhAMeJX+IkYo0FUZRYgfzKBhFsE=",
+ "pom": "sha256-01d42i+5MOce1u1rym8//gdcZOF24fuB1mMH1HHEseU="
+ },
+ "org/jetbrains/compose/runtime#runtime-saveable-desktop/1.7.1": {
+ "jar": "sha256-QwY2O+kOqr50uQDbTDLtHxXHVI5bMKcJPE7kDENrm4w=",
+ "module": "sha256-lbODl+J/sf4du5MfHL5qCZZReoWTQzLNRLT7OQ+PXLk=",
+ "pom": "sha256-YPjvLYLG1V2/Pn4LqLb41II06TEMpm8d+b9voLHoyLw="
+ },
+ "org/jetbrains/compose/runtime#runtime-saveable/1.7.1": {
+ "module": "sha256-yDUM3lAXvSoW+gL6d/sNpV0RcUyDqhGGy6NWcmrjq20=",
+ "pom": "sha256-to73YWrUYT9AYAPPCia71isXBq6XZ3uhM60QN9YGiyM="
+ },
+ "org/jetbrains/compose/runtime#runtime/1.7.1": {
+ "module": "sha256-xSKUczzpqMZYOfVWCw4APbgWK37T2MqN6b+mLPAzTk8=",
+ "pom": "sha256-SBR/02A24kzaP9JYsYNJVAMA8ipOHXTeA9hWpMEakm4="
+ },
+ "org/jetbrains/compose/ui#ui-desktop/1.7.1": {
+ "jar": "sha256-QHKbljfqyR/Zup0QxM0usyi7MRb4CXpbnT8HGXHOoCI=",
+ "module": "sha256-pCdx2/0i3G4BxGwkWo4ZU0YwV7/tm2xzefgmcdxE/FQ=",
+ "pom": "sha256-/ZOsNR7uXLtUTfcLf3D+y1RhR2CW1uJG1gNklcXRiWE="
+ },
+ "org/jetbrains/compose/ui#ui-geometry-desktop/1.7.1": {
+ "jar": "sha256-S4bJYcC0vOeZUyn9V9Qznt4Ry3XX7JC8G5kTOWrdsw8=",
+ "module": "sha256-rxTJcKcEtuCHAB9jnE1r7dvuad5+FXKlunNjGV5e2+I=",
+ "pom": "sha256-3iEzIvQwizn+X73RZMCg+ApylT0E/AozXNqjsygGS84="
+ },
+ "org/jetbrains/compose/ui#ui-geometry/1.7.1": {
+ "module": "sha256-mkt+df1LWaMy2SRUTWUB9eDaVbIDwsxhs4fg14yTXJU=",
+ "pom": "sha256-93UQwBXgPlnocFWPdBdPZSRo9vhJOJaKxTjBKiGO3I8="
+ },
+ "org/jetbrains/compose/ui#ui-graphics-desktop/1.7.1": {
+ "jar": "sha256-kQnXfMJi+QQIFpscoLotFRNbYDTjd6gLvz7AI0lU6FI=",
+ "module": "sha256-DPP8FuwoupMp0UfnR54Rmyvbjr+lLyMn4yDlGQEUapE=",
+ "pom": "sha256-cIA44a4DMFFG1A/NcUNHlHGQ/yd8ZpysiH836iQ/M+Y="
+ },
+ "org/jetbrains/compose/ui#ui-graphics/1.7.1": {
+ "module": "sha256-Bpgc3L5OyqzDVxnptAOykEHl54Rps8L1zcfMUHX8DXs=",
+ "pom": "sha256-Sj2MCO2FYVWHeAGrzgWU3BxpiOVq7H0kSsfGwxpqX9I="
+ },
+ "org/jetbrains/compose/ui#ui-text-desktop/1.7.1": {
+ "jar": "sha256-gOB+TKc597YSL2PpoX5oU7lHIg7LEYD43K9BnQ5GiZY=",
+ "module": "sha256-PR7CKTU76v2v0awhS/VEkPv2nojwZ7/LgBaB07K2bqU=",
+ "pom": "sha256-UiwW5ZbJMrHloPPN+xqTRADodlj42JjBzery0Bgphoo="
+ },
+ "org/jetbrains/compose/ui#ui-text/1.7.1": {
+ "module": "sha256-nYij0rkMF+a4Hs///a6dfEzsVMfWVXWYJbpJZ90vyGM=",
+ "pom": "sha256-huwdGGauW1x/4AUsJqB/8aphkz9Vf41PuePda2L8Jb4="
+ },
+ "org/jetbrains/compose/ui#ui-tooling-preview-desktop/1.7.1": {
+ "jar": "sha256-xc+tCxJel42RX4tMOGMLxdVI5Z/ooOg4wMyEKDxgWUM=",
+ "module": "sha256-SEIV/azXkBzPZt0aFl557gZPtLoxG/AgHTtqoUwWXb8=",
+ "pom": "sha256-htcEXyA1jppEQz8WtKZGzmy2jWz2dhJ1nVehN6O5qnw="
+ },
+ "org/jetbrains/compose/ui#ui-tooling-preview/1.7.1": {
+ "module": "sha256-JlSbqRqD92lfo1Ra6iiHxdFOubjgpFWREUWhDJod18g=",
+ "pom": "sha256-MKB0lZQWX/Skw+kTSu+2t0SZyioxnvq+HH+uZqDbWdE="
+ },
+ "org/jetbrains/compose/ui#ui-unit-desktop/1.7.1": {
+ "jar": "sha256-WYtS4lftZ0FFaUuXkKc4OpD+0uxxVLoJrOSqmDxlsaI=",
+ "module": "sha256-BacNXRO5Fhrn9YUkbrk97ly6K1XD8Ilf1mRekKPCPaU=",
+ "pom": "sha256-9R34TA7eKtHgHgf6R+9tSLoSy3ShfoXK6Nblz/Kc0Fk="
+ },
+ "org/jetbrains/compose/ui#ui-unit/1.7.1": {
+ "module": "sha256-kDxEm48iI7uggivMWUuZLiqCv6rlwE/FCNKNq4hxfaA=",
+ "pom": "sha256-tq8XC59ySXOr8jPPEJFoqJIGqbFF1whpFbxlQOpdaHI="
+ },
+ "org/jetbrains/compose/ui#ui-util-desktop/1.7.1": {
+ "jar": "sha256-Fh3Mc7kp2mHO5QBF6W+wLxYzw28You84tcLETDhga1I=",
+ "module": "sha256-35JU30uqHS7Q+ctR/BxgrUlqNqzEiYEUPF1PqHRpEXs=",
+ "pom": "sha256-AeJZ6hTRKWyvCAmzP5dAcXRDNJvrCJ7ketEOaEBYDvQ="
+ },
+ "org/jetbrains/compose/ui#ui-util/1.7.1": {
+ "module": "sha256-razSdpfzafjF00aNb8ZySDHTP95e+5tvg9hdw6AXCw8=",
+ "pom": "sha256-7bcYbOSnYd3l8xMC3BRdWLw7/j5OT7x4YiiCP4zVSMw="
+ },
+ "org/jetbrains/compose/ui#ui/1.7.1": {
+ "module": "sha256-LpKRDBxZrLBjrmhWz5VWwlH9qMCtRsg6Tka/flenza4=",
+ "pom": "sha256-RWT33DQr7tal9G+RaxkLMe0rEgcK/ZfXXmNjSkQt9lc="
+ },
+ "org/jetbrains/intellij/deps#trove4j/1.0.20200330": {
+ "jar": "sha256-xf1yW/+rUYRr88d9sTg8YKquv+G3/i8A0j/ht98KQ50=",
+ "pom": "sha256-h3IcuqZaPJfYsbqdIHhA8WTJ/jh1n8nqEP/iZWX40+k="
+ },
+ "org/jetbrains/kotlin#kotlin-build-common/2.0.20": {
+ "jar": "sha256-NvDXXOmviQZNnbT9IeIsVQdyAP5OOufZnjREmCZ6oNs=",
+ "pom": "sha256-EOhYxaCAxN21Wx0GvujV6Ea4YQX1aw5A8ojj+mGWEXI="
+ },
+ "org/jetbrains/kotlin#kotlin-build-tools-api/2.0.20": {
+ "jar": "sha256-V+1QIg547DnoqAAUMw8pXlSFtWOMESmvntfVPXhYxcI=",
+ "pom": "sha256-nHrVho+yGJsb9NbCL2yUmDs6jhopTpWlQSy4Lg9C3bI="
+ },
+ "org/jetbrains/kotlin#kotlin-build-tools-impl/2.0.20": {
+ "jar": "sha256-nOb4Gmmcw32zY6KDcVC8YqJJA9r2EhA00Sl5qpUBRGs=",
+ "pom": "sha256-DyiqOx3o2AWm+HlX08PWbDOeDEMmaZlc9Zf58r6J4II="
+ },
+ "org/jetbrains/kotlin#kotlin-compiler-embeddable/2.0.20": {
+ "jar": "sha256-o2BL81DIvM4nECFYu7OD+k0YFLxIaq7VnyeOraUf9q0=",
+ "pom": "sha256-WXBD+4xlJ/QpmcoE7TUpY5Is0W5piKqlLT2zLaHbhZ0="
+ },
+ "org/jetbrains/kotlin#kotlin-compiler-runner/2.0.20": {
+ "jar": "sha256-4DzwSwNA8a4VEhBjC10pFcKXmIxuIuTe206nz7dKz2c=",
+ "pom": "sha256-3M3xugxPzYvUIwNFroP6fb6SglY9ilP9XmHFM1tbcYA="
+ },
+ "org/jetbrains/kotlin#kotlin-compose-compiler-plugin-embeddable/2.0.20": {
+ "jar": "sha256-549YH9VsEe1nrxzZhA3y8OCC9duKj5s949hygeZRUPg=",
+ "pom": "sha256-y6whk7JPaifqr5kWlZydoO+5EvrFfpWzkG5kwKbxJkc="
+ },
+ "org/jetbrains/kotlin#kotlin-daemon-client/2.0.20": {
+ "jar": "sha256-cxUswf2CHQcTlHOry/jH0B0A5oaEuWHhkurogNycfaQ=",
+ "pom": "sha256-qUcReIj0z/tjk9QurqYRtj31ib8pYXgmzLclNxK/OsM="
+ },
+ "org/jetbrains/kotlin#kotlin-daemon-embeddable/2.0.20": {
+ "jar": "sha256-W9URO4WrhSjhkuK7P8GX9bw0SLzb0Fh5Czf9N/TuV68=",
+ "pom": "sha256-IZgoJm6keO7rQuT1L5bQuQfYykhHz4aq45FprYsupKU="
+ },
+ "org/jetbrains/kotlin#kotlin-reflect/1.6.10": {
+ "jar": "sha256-MnesECrheq0QpVq+x1/1aWyNEJeQOWQ0tJbnUIeFQgM=",
+ "pom": "sha256-V5BVJCdKAK4CiqzMJyg/a8WSWpNKBGwcxdBsjuTW1ak="
+ },
+ "org/jetbrains/kotlin#kotlin-script-runtime/2.0.20": {
+ "jar": "sha256-/pcAKmeY9yB1ZGSJGdbuzPszi5XcBLSIhthWZVvGSk4=",
+ "pom": "sha256-o6N2KcmFzt17+d12rGdJaz+ApZIoVB6WiAKg7obEuRQ="
+ },
+ "org/jetbrains/kotlin#kotlin-scripting-common/2.0.20": {
+ "jar": "sha256-XTdTOT5/7PHSG67l2314gyZ4K9v4qOxqKyzM97Ve5sY=",
+ "pom": "sha256-BesUmiCZ8ILJf1xFQ1HQuMphLFUwo6wyHSyMB12wEVU="
+ },
+ "org/jetbrains/kotlin#kotlin-scripting-compiler-embeddable/2.0.20": {
+ "jar": "sha256-Ie8wOrS54Pnzl8FIliU6rkkCV7+w3VAInBwcBPAYcXE=",
+ "pom": "sha256-zr8swRmuHPJqP2tECxidwrruhS0nASU06qNqrNue4VI="
+ },
+ "org/jetbrains/kotlin#kotlin-scripting-compiler-impl-embeddable/2.0.20": {
+ "jar": "sha256-WgaucwO1TL0XdYnWEFumv9WbGxgur7W2aHJf9ypf0y0=",
+ "pom": "sha256-z6al9YOJy3K0SRLTABoB9eqL+vx5mbr6BRGz7t/LYdI="
+ },
+ "org/jetbrains/kotlin#kotlin-scripting-jvm/2.0.20": {
+ "jar": "sha256-sLtQD2MztLFsjraeo5TvaE8zRT+NNDEDSokHqfGNtvE=",
+ "pom": "sha256-m8uNHCOvcm21KpNrpbkXeyRoKSBYxT8Ckd5MwNpOzh4="
+ },
+ "org/jetbrains/kotlin#kotlin-serialization-compiler-plugin-embeddable/2.0.20": {
+ "jar": "sha256-zI9QG2dslESLAWgNyvZ68cjFfOqEFQKnFuttEX+Xy4Y=",
+ "pom": "sha256-X74y6I+ly4WFjb1wpPZKWsJTSaTijzlQ3zJrMSRmUGY="
+ },
+ "org/jetbrains/kotlin#kotlin-stdlib-common/1.9.24": {
+ "module": "sha256-6Y6oxE+zaCDQG7iwAxaOI6IhtAHLQyVtcjo/C3fWFsI=",
+ "pom": "sha256-XZfiDNWGLoR6aYF1uTno3Fxr11vtmZ1vPU6ghIESFsA="
+ },
+ "org/jetbrains/kotlin#kotlin-stdlib-common/2.1.10": {
+ "module": "sha256-fgul3UlZnOJ2woa+M0hY8lEoSiD3bbm8D12g+8mbtfU=",
+ "pom": "sha256-u8xfrT9+3ktGnUnbpsA+GZMTNlW16BcTteahvt0c60I="
+ },
+ "org/jetbrains/kotlin#kotlin-stdlib-jdk7/1.9.24": {
+ "jar": "sha256-tmmbhQugeJ8ukEJ5zYvce+qRMP/RV826AB/HQl2KR7c=",
+ "pom": "sha256-RYapN9W8vDqzBCwECaHHKWFLy6PHpylvJS1ibuNzh9Q="
+ },
+ "org/jetbrains/kotlin#kotlin-stdlib-jdk8/1.9.24": {
+ "jar": "sha256-W1u/s+EYS14TMXw9QiN/okrdRDsud4GWHuozTbE2rbE=",
+ "pom": "sha256-BuBt70n5aq9uXD7EKDauWdbi2mJUcAkUKBZ1Z53J8qU="
+ },
+ "org/jetbrains/kotlin#kotlin-stdlib/2.0.20": {
+ "jar": "sha256-+xaVlmWaUYNXxLLBb0PcdascSYBWXtS0oxegUOXjkAY=",
+ "module": "sha256-3AUdwExqGW8tBtDTya8zufErybT+E5rhKQFAUII2tns=",
+ "pom": "sha256-Cu6WIJHn3QKIzDykz0qSjFYgcUYCEb+PQXkAkwbmGf4="
+ },
+ "org/jetbrains/kotlin#kotlin-stdlib/2.1.10": {
+ "jar": "sha256-XyrByo3Is3o/QxTnFtNpaevwInp1GB0yaZ0Kj2RbHCE=",
+ "module": "sha256-jSwdcXxzVG1WOC0TbIZQtZpxWZQBciY4GJNKzkTLBI0=",
+ "pom": "sha256-SSISHT8LxgzkB/Ny3kLQKgt+lOddDD0VCLaDVyHySe8="
+ },
+ "org/jetbrains/kotlinx#atomicfu-jvm/0.23.2": {
+ "jar": "sha256-EB/0P/Vj/KFnr1remMO2m/VpAQ6rdFATuE2JVQNNOzw=",
+ "module": "sha256-9frJHDc6AJjlzK5iIeibtxoUkM9qiUnuNI1G7hyo06Y=",
+ "pom": "sha256-WTrWZUvtuP1m4DrQfQxIZ6x3WjgPTiYOFI6p26pTRU4="
+ },
+ "org/jetbrains/kotlinx#atomicfu/0.23.2": {
+ "module": "sha256-UVMN4oSWehXiEcmFY8qdI1aJm4yzMXBFYLBkWt6sbcA=",
+ "pom": "sha256-QlA7zusRzeFIh3T7DE+chWM6juD6XSLTNyYMLfUKkrY="
+ },
+ "org/jetbrains/kotlinx#kotlinx-coroutines-bom/1.6.4": {
+ "pom": "sha256-qyYUhV+6ZqqKQlFNvj1aiEMV/+HtY/WTLnEKgAYkXOE="
+ },
+ "org/jetbrains/kotlinx#kotlinx-coroutines-bom/1.8.0": {
+ "pom": "sha256-Ejnp2+E5fNWXE0KVayURvDrOe2QYQuQ3KgiNz6i5rVU="
+ },
+ "org/jetbrains/kotlinx#kotlinx-coroutines-core-jvm/1.6.4": {
+ "jar": "sha256-wkyLsnuzIMSpOHFQGn5eDGFgdjiQexl672dVE9TIIL4=",
+ "module": "sha256-DZTIpBSD58Jwfr1pPhsTV6hBUpmM6FVQ67xUykMho6c=",
+ "pom": "sha256-Cdlg+FkikDwuUuEmsX6fpQILQlxGnsYZRLPAGDVUciQ="
+ },
+ "org/jetbrains/kotlinx#kotlinx-coroutines-core-jvm/1.8.0": {
+ "jar": "sha256-mGCQahk3SQv187BtLw4Q70UeZblbJp8i2vaKPR9QZcU=",
+ "module": "sha256-/2oi2kAECTh1HbCuIRd+dlF9vxJqdnlvVCZye/dsEig=",
+ "pom": "sha256-pWM6vVNGfOuRYi2B8umCCAh3FF4LduG3V4hxVDSIXQs="
+ },
+ "org/jetbrains/kotlinx#kotlinx-coroutines-core/1.8.0": {
+ "module": "sha256-FE7s1TZd4+MNe0YibAWAUeOZVbXBieMfpMfP+5nWILo=",
+ "pom": "sha256-yglaS/iLR0+trOgzLBCXC3nLgBu/XfBHo5Ov4Ql28yE="
+ },
+ "org/jetbrains/kotlinx#kotlinx-serialization-bom/1.6.3": {
+ "pom": "sha256-KdaYQrt9RJviqkreakp85qpVgn0KsT0Wh0X+bZVzkzI="
+ },
+ "org/jetbrains/kotlinx#kotlinx-serialization-bom/1.7.3": {
+ "pom": "sha256-QiakkcW1nOkJ9ztlqpiUQZHI3Kw4JWN8a+EGnmtYmkY="
+ },
+ "org/jetbrains/kotlinx#kotlinx-serialization-core-jvm/1.7.3": {
+ "jar": "sha256-8K3eRYZBREdThc9Kp+C3/rJ/Yfz5RyZl7ZjMlxsGses=",
+ "module": "sha256-c7tMAnk/h8Ke9kvqS6AlgHb01Mlj/NpjPRJI7yS0tO8=",
+ "pom": "sha256-c09fdJII3QvvPZjKpZTPkiKv3w/uW2hDNHqP5k4kBCc="
+ },
+ "org/jetbrains/kotlinx#kotlinx-serialization-core/1.7.3": {
+ "module": "sha256-OdCabgLfKzJVhECmTGKPnGBfroxPYJAyF5gzTIIXfmQ=",
+ "pom": "sha256-MdERd2ua93fKFnED8tYfvuqjLa5t1mNZBrdtgni6VzA="
+ },
+ "org/jetbrains/kotlinx#kotlinx-serialization-json-jvm/1.6.3": {
+ "module": "sha256-InoqmtOMAQsQe8gFjNYVF32lqqhts399WNSdnJt/l9A=",
+ "pom": "sha256-eN9n0GTTuq8a9Ohi6YFGl3YpfGyHi7e/G0Ljky9vr48="
+ },
+ "org/jetbrains/kotlinx#kotlinx-serialization-json-jvm/1.7.3": {
+ "jar": "sha256-sekThJntjSA3Xt2j8rHJXzEDoljv9q+e3F6gcQDyspw=",
+ "module": "sha256-D/cOITHypldYIvdhHAXig8SuCBczA/QQSUy0Eom9PvY=",
+ "pom": "sha256-0zRdKAgXvgfpwnrNYHPUleF73/VxxHADTglmQgeGp90="
+ },
+ "org/jetbrains/kotlinx#kotlinx-serialization-json/1.6.3": {
+ "module": "sha256-gNHYf6CmO/+Dleo5EL2oDQnw9YNQTd6o7QB7x6hrTNQ=",
+ "pom": "sha256-KcIhdhjlMdfYMsyICupu0aj0B3PkN/WkHXC9FUaNPOM="
+ },
+ "org/jetbrains/kotlinx#kotlinx-serialization-json/1.7.3": {
+ "module": "sha256-HPAiijWIcx1rrzvLvbCKMiUB9wQg1Q4pKrUB5V2Mz08=",
+ "pom": "sha256-BaiftqSvoKHUB51YgsrTSaF/4IqYv5a30A0GplUh3H0="
+ },
+ "org/jetbrains/skiko#skiko-awt-runtime-linux-x64/0.8.18": {
+ "jar": "sha256-jWPZLGbPlPtqixUoCQA51zQfoopQbx3xEytbS7St/dI=",
+ "pom": "sha256-/5OJLge2yN5cvikxonTv47vhrW5MHkiMhrbOU6zlwHk="
+ },
+ "org/jetbrains/skiko#skiko-awt-runtime-linux-arm64/0.8.18": {
+ "jar": "sha256-pFzvjzri0SjRyBvdwb9eri7koTZMDnW5/AHEjBODa8E=",
+ "pom": "sha256-K6UIHwlSgj5A/oG/0nfss6nL3eXwycfePcWQHrngFek="
+ },
+ "org/jetbrains/skiko#skiko-awt/0.8.18": {
+ "jar": "sha256-Y39d4aII8TaKxRtaKGpIJ87IKM1i3aMy3DQAuFQ+JD0=",
+ "module": "sha256-x9JON+j/js4Y7OdEg0Fxcnor1L7z6/hZBlN1in0Bbmo=",
+ "pom": "sha256-yrIp0lDLlzYK12MgQfCHFksKR+d75huz9VRaLWtAlJ8="
+ },
+ "org/jetbrains/skiko#skiko/0.8.18": {
+ "module": "sha256-qbGDSU+EVPtX7B//+UyyqL7u3aG3PSjbbrS4+NwKU8s=",
+ "pom": "sha256-ac1xXT+/dr0QV571/D69q1RfiwxFm6iWzcbeoMETzAw="
+ },
+ "org/jsoup#jsoup/1.17.2": {
+ "jar": "sha256-9gszs46desk+qqaKbHD3BruZA2SUsuKt0r/uEdCaxvU=",
+ "pom": "sha256-ejSdIXeQw3ML4wjO0eqe4yxOdPcgWOg8K2DloolU3Q0="
+ },
+ "org/netbeans/api#org-netbeans-swing-outline/RELEASE210": {
+ "jar": "sha256-t8eTVlWmbBKG+XafiOMHVilmmnC5vr7dcq5OgzaqodA=",
+ "pom": "sha256-AsXH0dp5gfqpis1zF/7Q4AUdi3ZahdIMzs22A8Oxjxo="
+ },
+ "org/netbeans/api#org-openide-util-lookup/RELEASE210": {
+ "jar": "sha256-9ItVQVyOKLACM7xgROvbFsziNrC//GH8tWeFmyfw2N8=",
+ "pom": "sha256-Sz7JY43DBPgOEFjQRP2lGzFRpjcApCWSq869Pt5UuCo="
+ },
+ "org/netbeans/api#org-openide-util-ui/RELEASE210": {
+ "jar": "sha256-Z2+/ZxmSETayDy55mkbsVDBo7SNccU0JBVesnbTMIOc=",
+ "pom": "sha256-BbY0GKmafd9HBnOwNxGr4xQLYaWvaOC6VZwe/LRDONg="
+ },
+ "org/netbeans/api#org-openide-util/RELEASE210": {
+ "jar": "sha256-XNhKYJMZFRQSg2mdSNCTosq82ImnF8+VEFhwohErFcY=",
+ "pom": "sha256-GBrxRud/JKX3P4BZQGPZIsm+l1Js51aKPDO8ugjswpM="
+ },
+ "org/osgi#org.osgi.service.prefs/1.1.2": {
+ "jar": "sha256-Q8fIcHEONjQF1CLaZTzODXmKRTf3bkkw95vOrdOlU0U=",
+ "pom": "sha256-bqSDzqF36RMQmExkUuaUqiCAGVG1AfF8uboRQyjCzCY="
+ },
+ "org/osgi#osgi.annotation/8.0.1": {
+ "jar": "sha256-oOikw2K9NgCBLzew6kX7qWbHvASdAf7Vagnsx0CCdZ4=",
+ "pom": "sha256-iC0Hao4lypIH95ywk4DEcvazxBUIFivSuqBpF74d7XM="
+ },
+ "org/sonatype/oss#oss-parent/7": {
+ "pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
+ },
+ "org/sonatype/oss#oss-parent/9": {
+ "pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
+ }
+ }
+}
diff --git a/pkgs/by-name/pr/processing/fix-ant-build.patch b/pkgs/by-name/pr/processing/fix-ant-build.patch
deleted file mode 100644
index 3c471262873a..000000000000
--- a/pkgs/by-name/pr/processing/fix-ant-build.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-diff --git a/app/build.xml b/app/build.xml
-index 37aa13d03..a495b4f7e 100644
---- a/app/build.xml
-+++ b/app/build.xml
-@@ -162,6 +162,7 @@
- encoding="UTF-8"
- includeAntRuntime="false"
- classpath="../core/library/core.jar;
-+ utils/library/utils.jar;
- lib/ant.jar;
- lib/ant-launcher.jar;
- lib/flatlaf.jar;
-diff --git a/app/utils/build.xml b/app/utils/build.xml
-new file mode 100644
-index 000000000..5a4b72e32
---- /dev/null
-+++ b/app/utils/build.xml
-@@ -0,0 +1,22 @@
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-diff --git a/build/build.xml b/build/build.xml
-index f1247b511..2f1f22128 100644
---- a/build/build.xml
-+++ b/build/build.xml
-@@ -191,6 +191,7 @@
-
-
-
-+
-
-
-
-@@ -294,6 +295,7 @@
-
-
-
-+
-
-
-
-@@ -315,6 +317,7 @@
-
-
-
-+
-
-
-
-diff --git a/java/build.xml b/java/build.xml
-index ca2e32f4f..5aeae7ac8 100644
---- a/java/build.xml
-+++ b/java/build.xml
-@@ -97,6 +97,7 @@
-
-
-
-+
-
-
-
diff --git a/pkgs/by-name/pr/processing/fix-permissions.patch b/pkgs/by-name/pr/processing/fix-permissions.patch
new file mode 100644
index 000000000000..473bb60954fe
--- /dev/null
+++ b/pkgs/by-name/pr/processing/fix-permissions.patch
@@ -0,0 +1,24 @@
+diff --git a/app/build.gradle.kts b/app/build.gradle.kts
+index 88a0b63..a0f50bc 100644
+--- a/app/build.gradle.kts
++++ b/app/build.gradle.kts
+@@ -341,6 +341,7 @@ tasks.register("includeJdk") {
+ from(Jvm.current().javaHome.absolutePath)
+ destinationDir = composeResources("jdk").get().asFile
+
++ dirPermissions { unix("rwx------") };
+ fileTree(destinationDir).files.forEach { file ->
+ file.setWritable(true, false)
+ file.setReadable(true, false)
+diff --git a/java/build.gradle.kts b/java/build.gradle.kts
+index fc7151189..6dd8409fa 100644
+--- a/java/build.gradle.kts
++++ b/java/build.gradle.kts
+@@ -80,6 +80,7 @@ legacyLibraries.forEach { library ->
+ include("*.properties")
+ include("library/**/*")
+ include("examples/**/*")
++ dirPermissions { unix("rwx------") };
+ into( javaMode("/libraries/$library"))
+ }
+ bundle.configure {
diff --git a/pkgs/by-name/pr/processing/package.nix b/pkgs/by-name/pr/processing/package.nix
index e3aa53946440..8c46e511ba13 100644
--- a/pkgs/by-name/pr/processing/package.nix
+++ b/pkgs/by-name/pr/processing/package.nix
@@ -3,19 +3,20 @@
stdenv,
fetchFromGitHub,
fetchurl,
- ant,
unzip,
makeWrapper,
+ gradle_8,
jdk17,
jogl,
rsync,
- ffmpeg,
batik,
stripJavaArchivesHook,
wrapGAppsHook3,
libGL,
}:
let
+ # Force use of JDK 17, see https://github.com/processing/processing4/issues/1043
+ gradle = gradle_8.override { java = jdk17; };
jdk = jdk17;
buildNumber = "1310";
vaqua = fetchurl {
@@ -53,12 +54,6 @@ let
url = "mirror://maven/com/google/code/gson/gson/2.9.1/gson-2.9.1.jar";
sha256 = "sha256-N4U04znm5tULFzb7Ort28cFdG+P0wTzsbVNkEuI9pgM=";
};
-
- arch =
- {
- x86_64 = "amd64";
- }
- .${stdenv.hostPlatform.parsed.cpu.name} or stdenv.hostPlatform.parsed.cpu.name;
in
stdenv.mkDerivation rec {
pname = "processing";
@@ -71,10 +66,16 @@ stdenv.mkDerivation rec {
sha256 = "sha256-u2wQl/VGCNJPd+k3DX2eW7gkA/RARMTSNGcoQuS/Oh8=";
};
- patches = [ ./fix-ant-build.patch ];
+ patches = [
+ # Compose Multiplatform generates its createDistributable target too late, and we don't need it anyway
+ ./skip-distributable.patch
+
+ # dirPermissions: Without this, some gradle tasks (e.g. includeJdk) fail to copy contents of read-only subfolders within the nix store
+ ./fix-permissions.patch
+ ];
nativeBuildInputs = [
- ant
+ gradle
unzip
makeWrapper
stripJavaArchivesHook
@@ -83,21 +84,27 @@ stdenv.mkDerivation rec {
buildInputs = [
jdk
jogl
- ant
rsync
- ffmpeg
batik
];
- dontWrapGApps = true;
+ mitmCache = gradle.fetchDeps {
+ inherit pname;
+ data = ./deps.json;
+ };
- buildPhase = ''
+ gradleFlags = [ "-Dfile.encoding=utf-8" ];
+
+ gradleBuildTask = "createDistributable";
+ gradleUpdateTask = "createDistributable";
+ enableParallelUpdating = false;
+
+ # Need to run the entire createDistributable task, otherwise the buildPhase fails at the compose checkRuntime step
+ gradleUpdateScript = ''
runHook preBuild
+ runHook preGradleUpdate
- echo "tarring jdk"
- tar --checkpoint=10000 -czf build/linux/jdk-17.0.8-${arch}.tgz ${jdk}
mkdir -p app/lib core/library
- cp ${ant.home}/lib/{ant.jar,ant-launcher.jar} app/lib/
ln -s ${jogl}/share/java/* core/library/
ln -s ${vaqua} app/lib/VAqua9.jar
ln -s ${flatlaf} app/lib/flatlaf.jar
@@ -107,13 +114,41 @@ stdenv.mkDerivation rec {
unzip -qo ${jna} -d app/lib/
mv app/lib/{jna-5.10.0/dist/jna.jar,}
mv app/lib/{jna-5.10.0/dist/jna-platform.jar,}
+
ln -sf ${batik}/* java/libraries/svg/library/
cp java/libraries/svg/library/share/java/batik-all-${batik.version}.jar java/libraries/svg/library/batik.jar
- echo "tarring ffmpeg"
- tar --checkpoint=10000 -czf build/shared/tools/MovieMaker/ffmpeg-5.0.1.gz ${ffmpeg}
- cd build
- ant build
- cd ..
+
+ gradle createDistributable
+
+ runHook postGradleUpdate
+ '';
+
+ dontWrapGApps = true;
+
+ postPatch = ''
+ substituteInPlace app/build.gradle.kts \
+ --replace-fail "https://github.com/processing/processing-examples/archive/refs/heads/main.zip" "https://github.com/processing/processing-examples/archive/b10c9e9a05a0d6c20d233ca7f30d315b5047720e.zip" \
+ --replace-fail "https://github.com/processing/processing-website/archive/refs/heads/main.zip" "https://github.com/processing/processing-website/archive/f11676d1b7464291a23ae834f2ef6ab00baaed8e.zip"
+ '';
+
+ buildPhase = ''
+ runHook preBuild
+
+ mkdir -p app/lib core/library
+ ln -s ${jogl}/share/java/* core/library/
+ ln -s ${vaqua} app/lib/VAqua9.jar
+ ln -s ${flatlaf} app/lib/flatlaf.jar
+ ln -s ${lsp4j} java/mode/org.eclipse.lsp4j.jar
+ ln -s ${lsp4j-jsonrpc} java/mode/org.eclipse.lsp4j.jsonrpc.jar
+ ln -s ${gson} java/mode/gson.jar
+ unzip -qo ${jna} -d app/lib/
+ mv app/lib/{jna-5.10.0/dist/jna.jar,}
+ mv app/lib/{jna-5.10.0/dist/jna-platform.jar,}
+
+ ln -sf ${batik}/* java/libraries/svg/library/
+ cp java/libraries/svg/library/share/java/batik-all-${batik.version}.jar java/libraries/svg/library/batik.jar
+
+ gradle assemble
runHook postBuild
'';
@@ -121,24 +156,28 @@ stdenv.mkDerivation rec {
installPhase = ''
runHook preInstall
- mkdir -p $out/share/
+ gradle createDistributable
+
+ mkdir -p $out/lib
+ cp -dpr app/build/compose/binaries/main/app/Processing/lib/* $out/lib/
+ cp -dpr app/build/compose/binaries/main/app/Processing/bin $out/unwrapped
+
mkdir -p $out/share/applications/
cp -dp build/linux/${pname}.desktop $out/share/applications/
- cp -dpr build/linux/work $out/share/${pname}
- rmdir $out/share/${pname}/java
- ln -s ${jdk} $out/share/${pname}/java
+
+ rm -r $out/lib/app/resources/jdk
+ ln -s ${jdk}/lib/openjdk $out/lib/app/resources/jdk
+
+ makeWrapper $out/unwrapped/Processing $out/bin/Processing \
+ ''${gappsWrapperArgs[@]} \
+ --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libGL ]}" \
+ --prefix _JAVA_OPTIONS " " "-Dawt.useSystemAAFontSettings=gasp"
+
runHook postInstall
'';
- preFixup = ''
- makeWrapper $out/share/${pname}/processing $out/bin/processing \
- "''${gappsWrapperArgs[@]}" \
- --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libGL ]}" \
- --prefix _JAVA_OPTIONS " " "-Dawt.useSystemAAFontSettings=gasp"
- makeWrapper $out/share/${pname}/processing-java $out/bin/processing-java \
- "''${gappsWrapperArgs[@]}" \
- --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libGL ]}" \
- --prefix _JAVA_OPTIONS " " "-Dawt.useSystemAAFontSettings=gasp"
+ postFixup = ''
+ ln -s $out/bin/Processing $out/bin/processing
'';
meta = {
@@ -148,7 +187,12 @@ stdenv.mkDerivation rec {
gpl2Only
lgpl21Only
];
+ mainProgram = "Processing";
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ evan-goode ];
+ sourceProvenance = with lib.sourceTypes; [
+ fromSource
+ binaryBytecode
+ ];
};
}
diff --git a/pkgs/by-name/pr/processing/skip-distributable.patch b/pkgs/by-name/pr/processing/skip-distributable.patch
new file mode 100644
index 000000000000..73e591c55cbe
--- /dev/null
+++ b/pkgs/by-name/pr/processing/skip-distributable.patch
@@ -0,0 +1,21 @@
+diff --git a/app/build.gradle.kts b/app/build.gradle.kts
+index 0d3fcbd..88a0b63 100644
+--- a/app/build.gradle.kts
++++ b/app/build.gradle.kts
+@@ -280,16 +280,7 @@ tasks.register("packageSnap"){
+ commandLine("snapcraft")
+ }
+ tasks.register("zipDistributable"){
+- dependsOn("createDistributable", "setExecutablePermissions")
+ group = "compose desktop"
+-
+- val distributable = tasks.named("createDistributable").get()
+- val dir = distributable.destinationDir.get()
+- val packageName = distributable.packageName.get()
+-
+- from(dir){ eachFile{ permissions{ unix("755") } } }
+- archiveBaseName.set(packageName)
+- destinationDirectory.set(dir.file("../").asFile)
+ }
+
+ afterEvaluate{
diff --git a/pkgs/by-name/ra/radicle-explorer/package.nix b/pkgs/by-name/ra/radicle-explorer/package.nix
index 75a993bf3aec..3a268662b20a 100644
--- a/pkgs/by-name/ra/radicle-explorer/package.nix
+++ b/pkgs/by-name/ra/radicle-explorer/package.nix
@@ -75,7 +75,7 @@ lib.fix (
# radicle-httpd using a more limited sparse checkout we need to carry a
# separate hash.
src = radicle-httpd.src.override {
- hash = "sha256-Zt9RiuloWmb1eL6f2Gotvy+FMTUvSokOEGOIBrBeO/E=";
+ hash = "sha256-8lMUPt2eVlspMlRxUjOvjtCsd/EXg0IDSVjXxMVzbe4=";
sparseCheckout = [ ];
};
diff --git a/pkgs/by-name/ra/radicle-httpd/package.nix b/pkgs/by-name/ra/radicle-httpd/package.nix
index befead34f38f..2546734433e8 100644
--- a/pkgs/by-name/ra/radicle-httpd/package.nix
+++ b/pkgs/by-name/ra/radicle-httpd/package.nix
@@ -15,7 +15,7 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "radicle-httpd";
- version = "0.23.0";
+ version = "0.24.0";
env.RADICLE_VERSION = finalAttrs.version;
@@ -25,12 +25,12 @@ rustPlatform.buildRustPackage (finalAttrs: {
repo = "z4V1sjrXqjvFdnCUbxPFqd5p4DtH5";
tag = "releases/${finalAttrs.version}";
sparseCheckout = [ "radicle-httpd" ];
- hash = "sha256-OpDW6qJOHN4f4smhc1vNO0DRzJW6114gQV4K1ZNicag=";
+ hash = "sha256-749hFe7GJz/YUmocW5MO7uKWLTo3W4wJYSXdIURcRtg=";
};
sourceRoot = "${finalAttrs.src.name}/radicle-httpd";
- cargoHash = "sha256-m/2pP1mCU4SvPXU3qWOpbh3H/ykTOGgERYcP8Iu5DDs=";
+ cargoHash = "sha256-6uHukSsNnnk11tudFnNvNd+ZXmwGxMSYArsiaCaabWk=";
nativeBuildInputs = [
asciidoctor
diff --git a/pkgs/by-name/ra/rainfrog/package.nix b/pkgs/by-name/ra/rainfrog/package.nix
index 6d5cc8e2e568..b9e3bdda7624 100644
--- a/pkgs/by-name/ra/rainfrog/package.nix
+++ b/pkgs/by-name/ra/rainfrog/package.nix
@@ -7,7 +7,7 @@
rainfrog,
}:
let
- version = "0.3.16";
+ version = "0.3.17";
in
rustPlatform.buildRustPackage {
inherit version;
@@ -17,10 +17,10 @@ rustPlatform.buildRustPackage {
owner = "achristmascarl";
repo = "rainfrog";
tag = "v${version}";
- hash = "sha256-Bz1YNR3/RnCZgU4rZWU6ATclkuUamYE3Umja4qXlmXk=";
+ hash = "sha256-26pB4A1RR2d++Bh9u6IkNrJ552y6KALTxv1NwRzQ+UE=";
};
- cargoHash = "sha256-qpUUInE0XmyAXWZcqXNyNHy5SDKR+M7DG2YRNlr8rug=";
+ cargoHash = "sha256-AeRh4xozRZs7IK7ez63DuglE+WUm3F3Gl4ohq1W/ZSg=";
passthru = {
tests.version = testers.testVersion {
diff --git a/pkgs/by-name/ra/rattler-build/package.nix b/pkgs/by-name/ra/rattler-build/package.nix
index bc7f19c12254..a6b4cdbf67c8 100644
--- a/pkgs/by-name/ra/rattler-build/package.nix
+++ b/pkgs/by-name/ra/rattler-build/package.nix
@@ -14,16 +14,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "rattler-build";
- version = "0.57.2";
+ version = "0.58.0";
src = fetchFromGitHub {
owner = "prefix-dev";
repo = "rattler-build";
tag = "v${finalAttrs.version}";
- hash = "sha256-N8sNK/twsDQQt4WQh+4jB6yUX7Aj7kyIt3T0vabzv6U=";
+ hash = "sha256-PQXPAovUYOzPdMzK1Pu2TcQT+8LTXtJrlSII7uwORLI=";
};
- cargoHash = "sha256-3uGrCDvaKZCusdHtqyAQ+9T6K6ZWovgBB4z/ZsrviU0=";
+ cargoHash = "sha256-h/0zlZj4+GD8tYcr9Ta1g6JAILK4LbM5an448+VrVHE=";
doCheck = false; # test requires network access
diff --git a/pkgs/by-name/rc/rclone-ui/package.nix b/pkgs/by-name/rc/rclone-ui/package.nix
index 44ccca867e5c..8fe408e1d7ce 100644
--- a/pkgs/by-name/rc/rclone-ui/package.nix
+++ b/pkgs/by-name/rc/rclone-ui/package.nix
@@ -20,26 +20,26 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "rclone-ui";
- version = "3.4.2";
+ version = "3.4.3";
src = fetchFromGitHub {
owner = "rclone-ui";
repo = "rclone-ui";
tag = "v${finalAttrs.version}";
- hash = "sha256-aDwtRZGs2JhD2xbzVR3wDdSIjWied9BKknt5WETefvU=";
+ hash = "sha256-YKlznqgKePx6x6P+1nE6sZwYSRZwvpAvMSDjd+MKCvg=";
};
npmDeps = fetchNpmDeps {
name = "${finalAttrs.pname}-${finalAttrs.version}-npm-deps";
inherit (finalAttrs) src;
forceGitDeps = true;
- hash = "sha256-iyO9Eg+rWV3T50uWyrPHjGcvREnMgSyr0Gq8dxOMPWg=";
+ hash = "sha256-SW2bWKM/H3fuRD0Q0Sctbpk13bfpMawU+HohJxfWg+E=";
};
cargoRoot = "src-tauri";
buildAndTestSubdir = finalAttrs.cargoRoot;
- cargoHash = "sha256-sCsH+jjHMR3zsPoFfDq2vVuTc8PvYuR/3ZY5bcW7X0o=";
+ cargoHash = "sha256-toq1lscvDvVyQP0oPtf4IeNpxBTxrqJa8JH3cC3iQzk=";
# Disable tauri bundle updater, can be removed when #389107 is merged
patches = [ ./remove_updater.patch ];
diff --git a/pkgs/by-name/re/reaper-go/package.nix b/pkgs/by-name/re/reaper-go/package.nix
index 7943f2020afe..fc2e946e0f2e 100644
--- a/pkgs/by-name/re/reaper-go/package.nix
+++ b/pkgs/by-name/re/reaper-go/package.nix
@@ -6,16 +6,16 @@
buildGoModule (finalAttrs: {
pname = "reaper-go";
- version = "0.2.6";
+ version = "3.0.0";
src = fetchFromGitHub {
owner = "ghostsecurity";
repo = "reaper";
tag = "v${finalAttrs.version}";
- hash = "sha256-ZSHG4pQTo+Z05MvBqFoscMaZuezScTuszOF8hn4UZXs=";
+ hash = "sha256-HPY0K+VC3XCYOMz+J1Nhz1+cNkbxCFeA161vblzE63M=";
};
- vendorHash = "sha256-Kn/anDDHWfapWB/ZHu4MRmEQ7Nn8hjUMS+LWK9Dx/g4=";
+ vendorHash = "sha256-INK3esHVaUFrnCxd/U5s2AjYzUYDxI4OpFXskpzwOSU=";
ldflags = [
"-s"
diff --git a/pkgs/by-name/re/redmine/Gemfile.lock b/pkgs/by-name/re/redmine/Gemfile.lock
index 4b962c0cd4cd..c91336ba1aea 100644
--- a/pkgs/by-name/re/redmine/Gemfile.lock
+++ b/pkgs/by-name/re/redmine/Gemfile.lock
@@ -123,9 +123,9 @@ GEM
doorkeeper-i18n (5.2.8)
doorkeeper (>= 5.2)
drb (2.2.3)
- erb (6.0.1)
+ erb (6.0.2)
erubi (1.13.1)
- faraday (2.14.0)
+ faraday (2.14.1)
faraday-net_http (>= 2.0, < 3.5)
json
logger
@@ -150,8 +150,9 @@ GEM
activesupport (>= 6.0.0)
railties (>= 6.0.0)
io-console (0.8.2)
- irb (1.16.0)
+ irb (1.17.0)
pp (>= 0.6.0)
+ prism (>= 1.3.0)
rdoc (>= 4.0.0)
reline (>= 0.4.2)
json (2.18.1)
@@ -177,14 +178,14 @@ GEM
mime-types (3.7.0)
logger
mime-types-data (~> 3.2025, >= 3.2025.0507)
- mime-types-data (3.2026.0203)
+ mime-types-data (3.2026.0224)
mini_magick (5.2.0)
benchmark
logger
mini_mime (1.1.5)
mini_portile2 (2.8.9)
minitest (5.27.0)
- mocha (3.0.1)
+ mocha (3.0.2)
ruby2_keywords (>= 0.0.5)
multi_xml (0.8.1)
bigdecimal (>= 3.1, < 5)
@@ -216,7 +217,7 @@ GEM
snaky_hash (~> 2.0, >= 2.0.3)
version_gem (~> 1.1, >= 1.1.9)
parallel (1.27.0)
- parser (3.3.10.1)
+ parser (3.3.10.2)
ast (~> 2.4.1)
racc
pg (1.5.9)
@@ -236,7 +237,7 @@ GEM
puma (7.2.0)
nio4r (~> 2.0)
racc (1.8.1)
- rack (3.2.4)
+ rack (3.2.5)
rack-session (2.1.1)
base64 (>= 0.1.0)
rack (>= 3.0.0)
@@ -262,8 +263,8 @@ GEM
activesupport (>= 5.0.0)
minitest
nokogiri (>= 1.6)
- rails-html-sanitizer (1.6.2)
- loofah (~> 2.21)
+ rails-html-sanitizer (1.7.0)
+ loofah (~> 2.25)
nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
railties (7.2.3)
actionpack (= 7.2.3)
@@ -287,7 +288,7 @@ GEM
htmlentities
rbpdf-font (~> 1.19.0)
rbpdf-font (1.19.1)
- rdoc (7.1.0)
+ rdoc (7.2.0)
erb
psych (>= 4.0.0)
tsort
@@ -345,7 +346,7 @@ GEM
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
securerandom (0.4.1)
- selenium-webdriver (4.40.0)
+ selenium-webdriver (4.41.0)
base64 (~> 0.2)
logger (~> 1.4)
rexml (~> 3.2, >= 3.2.5)
@@ -396,7 +397,7 @@ GEM
xpath (3.2.0)
nokogiri (~> 1.8)
yard (0.9.38)
- zeitwerk (2.7.4)
+ zeitwerk (2.7.5)
PLATFORMS
ruby
diff --git a/pkgs/by-name/re/redmine/gemset.nix b/pkgs/by-name/re/redmine/gemset.nix
index 4938f8069f3f..65b2eea0c704 100644
--- a/pkgs/by-name/re/redmine/gemset.nix
+++ b/pkgs/by-name/re/redmine/gemset.nix
@@ -550,10 +550,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
- sha256 = "1rcpq49pyaiclpjp3c3qjl25r95hqvin2q2dczaynaj7qncxvv18";
+ sha256 = "0ar4nmvk1sk7drjigqyh9nnps3mxg625b8chfk42557p8i6jdrlz";
type = "gem";
};
- version = "6.0.1";
+ version = "6.0.2";
};
erubi = {
groups = [ "default" ];
@@ -578,10 +578,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
- sha256 = "1ka175ci0q9ylpcy651pjj580diplkaskycn4n7jcmbyv7jwz6c6";
+ sha256 = "077n5ss3z3ds4vj54w201kd12smai853dp9c9n7ii7g3q7nwwg54";
type = "gem";
};
- version = "2.14.0";
+ version = "2.14.1";
};
faraday-net_http = {
dependencies = [ "net-http" ];
@@ -750,6 +750,7 @@
irb = {
dependencies = [
"pp"
+ "prism"
"rdoc"
"reline"
];
@@ -761,10 +762,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
- sha256 = "01h8bdksg0cr8bw5dhlhr29ix33rp822jmshy6rdqz4lmk4mdgia";
+ sha256 = "1bishrxfn2anwlagw8rzly7i2yicjnr947f48nh638yqjgdlv30n";
type = "gem";
};
- version = "1.16.0";
+ version = "1.17.0";
};
json = {
groups = [
@@ -927,10 +928,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
- sha256 = "0bradmf21c9g4z6f3hvqmnf6i2sbgp0630y2j5rq8a7h79lksdal";
+ sha256 = "1zg5cyzhkdzkygspl676h8pad83l6gmwykvcd4snjzxkd00jx85y";
type = "gem";
};
- version = "3.2026.0203";
+ version = "3.2026.0224";
};
mini_magick = {
dependencies = [
@@ -993,10 +994,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
- sha256 = "0sblxmlf7m0wpz71vdjygjn53cfw42j0mmjp4zx6rpz3b5cjry3l";
+ sha256 = "1y1dx5crlx7ppshzv7qqfj0mgpvzyxc0f107mvsvywcb3m9jk01x";
type = "gem";
};
- version = "3.0.1";
+ version = "3.0.2";
};
multi_xml = {
dependencies = [ "bigdecimal" ];
@@ -1182,10 +1183,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
- sha256 = "1256ws3w3gnfqj7r3yz2i9y1y7k38fhjphxpybkyb4fds8jsgxh6";
+ sha256 = "0mwk9syajzdradzqzp3agf03d0cazqwbfd1439nxpkmxli5chq3g";
type = "gem";
};
- version = "3.3.10.1";
+ version = "3.3.10.2";
};
pg = {
groups = [ "default" ];
@@ -1229,6 +1230,7 @@
prism = {
groups = [
"default"
+ "development"
"test"
];
platforms = [ ];
@@ -1319,10 +1321,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
- sha256 = "1xmnrk076sqymilydqgyzhkma3hgqhcv8xhy7ks479l2a3vvcx2x";
+ sha256 = "1lyn3rh71rlf50p44xmsbha0pip4c95004j8kc9pm7xpq1s0kgac";
type = "gem";
};
- version = "3.2.4";
+ version = "3.2.5";
};
rack-session = {
dependencies = [
@@ -1411,10 +1413,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
- sha256 = "0q55i6mpad20m2x1lg5pkqfpbmmapk0sjsrvr1sqgnj2hb5f5z1m";
+ sha256 = "128y5g3fyi8fds41jasrr4va1jrs7hcamzklk1523k7rxb64bc98";
type = "gem";
};
- version = "1.6.2";
+ version = "1.7.0";
};
railties = {
dependencies = [
@@ -1546,10 +1548,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
- sha256 = "0qvky4s2fx5xbaz1brxanalqbcky3c7xbqd6dicpih860zgrjj29";
+ sha256 = "14iiyb4yi1chdzrynrk74xbhmikml3ixgdayjma3p700singfl46";
type = "gem";
};
- version = "7.1.0";
+ version = "7.2.0";
};
regexp_parser = {
groups = [
@@ -1841,10 +1843,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
- sha256 = "0nsys7ghl99zn2n4zjw3bi697qqnm6pmmi7aaafln79whnlpmvqn";
+ sha256 = "08nxpr0lxn95ml19n0vy6dnw1gnhq9n1b0za5h18dwawsly1ghfd";
type = "gem";
};
- version = "4.40.0";
+ version = "4.41.0";
};
simplecov = {
dependencies = [
@@ -2198,9 +2200,9 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
- sha256 = "12zcvhzfnlghzw03czy2ifdlyfpq0kcbqcmxqakfkbxxavrr1vrb";
+ sha256 = "1pbkiwwla5gldgb3saamn91058nl1sq1344l5k36xsh9ih995nnq";
type = "gem";
};
- version = "2.7.4";
+ version = "2.7.5";
};
}
diff --git a/pkgs/by-name/re/redmine/package.nix b/pkgs/by-name/re/redmine/package.nix
index 6bb71a66e369..a226ae68009a 100644
--- a/pkgs/by-name/re/redmine/package.nix
+++ b/pkgs/by-name/re/redmine/package.nix
@@ -4,7 +4,7 @@
stdenvNoCC,
fetchurl,
bundlerEnv,
- ruby_3_3,
+ ruby_3_4,
makeWrapper,
nixosTests,
openssl,
@@ -19,7 +19,7 @@ let
rubyEnv = bundlerEnv {
name = "redmine-env-${version}";
- ruby = ruby_3_3;
+ ruby = ruby_3_4;
gemdir = ./.;
groups = [
"development"
diff --git a/pkgs/by-name/ry/ryokucha/package.nix b/pkgs/by-name/ry/ryokucha/package.nix
index 35ab71b0111b..8edb6dd23a80 100644
--- a/pkgs/by-name/ry/ryokucha/package.nix
+++ b/pkgs/by-name/ry/ryokucha/package.nix
@@ -11,13 +11,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "ryokucha";
- version = "0.3.1";
+ version = "0.4.0";
src = fetchFromGitHub {
owner = "ryonakano";
repo = "ryokucha";
rev = finalAttrs.version;
- hash = "sha256-bmN8ZiFjUXtWMrZz7BJtO/9TMjcc4d3x8EpFvhvsewY=";
+ hash = "sha256-imKZSbNZHKIbLtD9E0D+AaKTvGSz8u2/2dJR0cpn/fo=";
};
outputs = [
diff --git a/pkgs/by-name/si/sing-box/package.nix b/pkgs/by-name/si/sing-box/package.nix
index 460ae92cb25b..70aab3e45a18 100644
--- a/pkgs/by-name/si/sing-box/package.nix
+++ b/pkgs/by-name/si/sing-box/package.nix
@@ -36,6 +36,8 @@ buildGoModule (finalAttrs: {
"cmd/sing-box"
];
+ env.CGO_ENABLED = 0;
+
nativeBuildInputs = [ installShellFiles ];
ldflags = [
diff --git a/pkgs/by-name/sk/skim/package.nix b/pkgs/by-name/sk/skim/package.nix
index cedda3d8e2d2..690a0e99ba3e 100644
--- a/pkgs/by-name/sk/skim/package.nix
+++ b/pkgs/by-name/sk/skim/package.nix
@@ -12,7 +12,7 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "skim";
- version = "3.4.0";
+ version = "3.5.0";
outputs = [
"out"
@@ -24,14 +24,14 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "skim-rs";
repo = "skim";
tag = "v${finalAttrs.version}";
- hash = "sha256-s0aC+gHqxX/SEiWsqB4mgl27eZ65RtVmgXX/veus1IQ=";
+ hash = "sha256-Jm0mrxhjjggnfgp0mnau/LI0HwA8A9NkLIwm/ongI/s=";
};
postPatch = ''
sed -i -e "s|expand(':h:h')|'$out'|" plugin/skim.vim
'';
- cargoHash = "sha256-Y3WQlzzciYVqVjq0UtAb+4wZwKXLOUpYozriG/w5lJI=";
+ cargoHash = "sha256-AU7Mkyjq3I6RmVlYz6A/AEgEyL0q1LwmagYT9v3j60U=";
nativeBuildInputs = [ installShellFiles ];
nativeCheckInputs = [
diff --git a/pkgs/by-name/sp/spicedb-zed/package.nix b/pkgs/by-name/sp/spicedb-zed/package.nix
index 32874cdf1455..426f44c06d90 100644
--- a/pkgs/by-name/sp/spicedb-zed/package.nix
+++ b/pkgs/by-name/sp/spicedb-zed/package.nix
@@ -8,19 +8,22 @@
buildGoModule (finalAttrs: {
pname = "zed";
- version = "0.30.2";
+ version = "0.35.0";
src = fetchFromGitHub {
owner = "authzed";
repo = "zed";
tag = "v${finalAttrs.version}";
- hash = "sha256-ftSgp0zxUmSTJ7lFHxFdebKrCKbsRocDkfabVpyQ5Kg=";
+ hash = "sha256-DeqfzI5+UPsR358QnummTp/cYCr2bIotB2tB/NYYd1M=";
};
- vendorHash = "sha256-2AkknaufRhv79c9WQtcW5oSwMptkR+FB+1/OJazyGSM=";
+ vendorHash = "sha256-LnmY5GikIHgOBi0hWO5B5FyBymKSZZQMK5VnDj5Ge84=";
ldflags = [ "-X 'github.com/jzelinskie/cobrautil/v2.Version=${finalAttrs.src.tag}'" ];
+ # Version test expects '(devel)' but version is being set to the package version
+ checkFlags = [ "--skip=TestGetClientVersion" ];
+
preCheck = ''
export NO_COLOR=true
'';
diff --git a/pkgs/by-name/sr/src-cli/package.nix b/pkgs/by-name/sr/src-cli/package.nix
index af8b1332cef4..972fc9716b51 100644
--- a/pkgs/by-name/sr/src-cli/package.nix
+++ b/pkgs/by-name/sr/src-cli/package.nix
@@ -9,13 +9,13 @@
buildGoModule rec {
pname = "src-cli";
- version = "6.12.0";
+ version = "7.0.0";
src = fetchFromGitHub {
owner = "sourcegraph";
repo = "src-cli";
rev = version;
- hash = "sha256-9LAThwBnW4JB7qOz7A4M/JLcjGqNyvKgXOQjdVgvsiU=";
+ hash = "sha256-YwbZohw90RgEVpKtek4Wt2/nPhPSavKsHLmUH3ytQmw=";
};
vendorHash = "sha256-z4Clm+WdwMcdO+tMLqUQx6tNiGJ+ZSK+Zt0JKwrQdVk=";
diff --git a/pkgs/by-name/st/stuntrally/package.nix b/pkgs/by-name/st/stuntrally/package.nix
index d24d33ed54f2..f95558204b65 100644
--- a/pkgs/by-name/st/stuntrally/package.nix
+++ b/pkgs/by-name/st/stuntrally/package.nix
@@ -51,6 +51,11 @@ stdenv.mkDerivation (finalAttrs: {
substituteInPlace src/vdrift/paths.cpp \
--replace-fail "@GAME_DATA_DIR@" "$out/share/stuntrally3/data" \
--replace-fail "@GAME_CONFIG_DIR@" "$out/share/stuntrally3/config"
+
+ # Fix build with boost 1.89
+ substituteInPlace CMake/AddMissingTargets.cmake --replace-fail \
+ 'find_package(Boost REQUIRED COMPONENTS system thread filesystem)' \
+ 'find_package(Boost REQUIRED COMPONENTS thread filesystem)'
'';
strictDeps = true;
diff --git a/pkgs/by-name/su/supertux/package.nix b/pkgs/by-name/su/supertux/package.nix
index ad73a29dfeca..49d2eee58529 100644
--- a/pkgs/by-name/su/supertux/package.nix
+++ b/pkgs/by-name/su/supertux/package.nix
@@ -55,6 +55,10 @@ stdenv.mkDerivation (finalAttrs: {
substituteInPlace external/discord-sdk/CMakeLists.txt --replace-fail \
'cmake_minimum_required (VERSION 3.2.0)' \
'cmake_minimum_required (VERSION 4.0)'
+ # Fix build with boost 1.89.
+ substituteInPlace CMakeLists.txt --replace-fail \
+ 'find_package(Boost REQUIRED COMPONENTS filesystem system date_time locale)' \
+ 'find_package(Boost REQUIRED COMPONENTS filesystem date_time locale)'
'';
nativeBuildInputs = [
diff --git a/pkgs/by-name/sy/systemd-manager-tui/package.nix b/pkgs/by-name/sy/systemd-manager-tui/package.nix
index 041348f7afe0..1c65394dcd13 100644
--- a/pkgs/by-name/sy/systemd-manager-tui/package.nix
+++ b/pkgs/by-name/sy/systemd-manager-tui/package.nix
@@ -6,16 +6,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "systemd-manager-tui";
- version = "1.2.2";
+ version = "1.2.4";
src = fetchFromGitHub {
owner = "Matheus-git";
repo = "systemd-manager-tui";
tag = "v${finalAttrs.version}";
- hash = "sha256-hPsHsa4eY7kOxKj9YiDK3uQyVOp2/JcR53ygFZXrkO4=";
+ hash = "sha256-cai+5DugKSupFZASNg4QelB3sPi4MvTy5YkA0hB13wo=";
};
- cargoHash = "sha256-/8QN/QU6Ayx8FAI4bwaWqOoL9fYIT5m65908zXpm3gk=";
+ cargoHash = "sha256-y3RoekDMK+COaC0zuSTD6l/Ugl81qLG/3VSWYTDRA5o=";
meta = {
homepage = "https://github.com/Matheus-git/systemd-manager-tui";
diff --git a/pkgs/by-name/ti/tigerbeetle/package.nix b/pkgs/by-name/ti/tigerbeetle/package.nix
index 4e3cd89630da..d2a4c7581d82 100644
--- a/pkgs/by-name/ti/tigerbeetle/package.nix
+++ b/pkgs/by-name/ti/tigerbeetle/package.nix
@@ -10,14 +10,14 @@ let
platform =
if stdenvNoCC.hostPlatform.isDarwin then "universal-macos" else stdenvNoCC.hostPlatform.system;
hash = builtins.getAttr platform {
- "universal-macos" = "sha256-QKp57vN1ilcItu7zVab3p+VbFhnQxrtT8O/UwQj4YY8=";
- "x86_64-linux" = "sha256-mpLKxgHwLyQOffODSOgOddwwPDd+hY46AxNVAwe5MQA=";
- "aarch64-linux" = "sha256-rzoOkWauDZcJ0U2NmNTDPuBJCNJ6s9qyfJIrNbPNQMA=";
+ "universal-macos" = "sha256-93ELKDCjdEPnQO71CiwoeiVfNNVPbMAyXxeOG+1DY1E=";
+ "x86_64-linux" = "sha256-+5Ldd6APomJQZdahEywOGthmUyb89wpQrWrQ8pSU1yk=";
+ "aarch64-linux" = "sha256-VfJ8VthOi038zZSu7MwbOOP8FdTZnoYSU65TLZYyUSs=";
};
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "tigerbeetle";
- version = "0.16.73";
+ version = "0.16.74";
src = fetchzip {
url = "https://github.com/tigerbeetle/tigerbeetle/releases/download/${finalAttrs.version}/tigerbeetle-${platform}.zip";
diff --git a/pkgs/by-name/to/tor-browser/package.nix b/pkgs/by-name/to/tor-browser/package.nix
index ea8863784510..407888bb80b8 100644
--- a/pkgs/by-name/to/tor-browser/package.nix
+++ b/pkgs/by-name/to/tor-browser/package.nix
@@ -102,7 +102,7 @@ let
++ lib.optionals mediaSupport [ ffmpeg_7 ]
);
- version = "15.0.6";
+ version = "15.0.7";
sources = {
x86_64-linux = fetchurl {
@@ -112,7 +112,7 @@ let
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz"
"https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz"
];
- hash = "sha256-ARHkr311mk4mIK+MruEiFLVa2tuJyrjl35moYDmROMo=";
+ hash = "sha256-/zUA3o9zPdZ/MZan5Uc2puGN+S8QvB42QtXDo8MucVM=";
};
i686-linux = fetchurl {
@@ -122,7 +122,7 @@ let
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz"
"https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz"
];
- hash = "sha256-yO+iALaU5dqdk0fWKqpcCProNIqi5ilnfZpcga3JTWI=";
+ hash = "sha256-GZ2MT8bSVMKLwgTZGYYegdW94e6mJ97+oMBeZJMlHvY=";
};
};
diff --git a/pkgs/by-name/tr/traefik/package.nix b/pkgs/by-name/tr/traefik/package.nix
index a5dda5631657..e906a1a2284b 100644
--- a/pkgs/by-name/tr/traefik/package.nix
+++ b/pkgs/by-name/tr/traefik/package.nix
@@ -8,16 +8,16 @@
buildGo125Module (finalAttrs: {
pname = "traefik";
- version = "3.6.8";
+ version = "3.6.9";
# Archive with static assets for webui
src = fetchzip {
url = "https://github.com/traefik/traefik/releases/download/v${finalAttrs.version}/traefik-v${finalAttrs.version}.src.tar.gz";
- hash = "sha256-tZSU4DER94BTPrn1wxfew/xoADtvtRAu3O1O7dR3s+c=";
+ hash = "sha256-FM4SdiEB1hY064qDZD0BaKezmvzsGd85uIE49u4fx70=";
stripRoot = false;
};
- vendorHash = "sha256-ZvAVsyET2g9Y+N7pPn+JG8th2I385wgp5hTgEG9d26o=";
+ vendorHash = "sha256-rousXyjb2WcXNG6wG7Ddd8qanarrEKcdQO/8C4PS4Bs=";
proxyVendor = true;
diff --git a/pkgs/by-name/ty/ty/package.nix b/pkgs/by-name/ty/ty/package.nix
index 04c464032b92..c078c7b1c2a7 100644
--- a/pkgs/by-name/ty/ty/package.nix
+++ b/pkgs/by-name/ty/ty/package.nix
@@ -14,14 +14,14 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "ty";
- version = "0.0.18";
+ version = "0.0.19";
src = fetchFromGitHub {
owner = "astral-sh";
repo = "ty";
tag = finalAttrs.version;
fetchSubmodules = true;
- hash = "sha256-GinkBZcRD9vxEHSGDoZb/TkpSPmPYoYOQ0tmrP8zJ+c=";
+ hash = "sha256-KBpbkwmbUzuNDcoUyf4Osz5HSW21d6gBu2mOqdOH+ng=";
};
# For Darwin platforms, remove the integration test for file notifications,
@@ -35,7 +35,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
cargoBuildFlags = [ "--package=ty" ];
- cargoHash = "sha256-3GCPejBOyLRZpanFrXHlaLWImMUEmoSejCazzG5sVfo=";
+ cargoHash = "sha256-L0jCIlmHHra0ofsbWZykL6KoYWuwSaUBDXKh49AfKKM=";
nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/by-name/uv/uv/package.nix b/pkgs/by-name/uv/uv/package.nix
index 68045d93623f..38b3d07f983c 100644
--- a/pkgs/by-name/uv/uv/package.nix
+++ b/pkgs/by-name/uv/uv/package.nix
@@ -18,16 +18,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "uv";
- version = "0.10.4";
+ version = "0.10.6";
src = fetchFromGitHub {
owner = "astral-sh";
repo = "uv";
tag = finalAttrs.version;
- hash = "sha256-+6u8rmTLwZlEvbnF7Ng/06uYcs6HJGAEyOhEwzYVHVE=";
+ hash = "sha256-KOoAj5v0k9SDsiFmjjaiLMRGn+VELulF//Rvv62U7CU=";
};
- cargoHash = "sha256-jpaOD98n0FBnYzexDiLhtHLRLmzSOZN38KKzcc+o5WQ=";
+ cargoHash = "sha256-IY1Js0PrUjYX4pqUQY44BX41YGpjxCY5tceRaoiiz0o=";
buildInputs = [
rust-jemalloc-sys
diff --git a/pkgs/by-name/va/valkey/package.nix b/pkgs/by-name/va/valkey/package.nix
index fbaafb427ebb..b11bcdfa4960 100644
--- a/pkgs/by-name/va/valkey/package.nix
+++ b/pkgs/by-name/va/valkey/package.nix
@@ -25,13 +25,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "valkey";
- version = "9.0.2";
+ version = "9.0.3";
src = fetchFromGitHub {
owner = "valkey-io";
repo = "valkey";
rev = finalAttrs.version;
- hash = "sha256-r0EbZn2j5QsKnt3PDq0+kTi49OyPQDtIyL8zhKkTP1M=";
+ hash = "sha256-cic4XBRFcSyttaMK6grzmi/RmrZiLRnYjMwGiU9teMw=";
};
patches = lib.optional useSystemJemalloc ./use_system_jemalloc.patch;
diff --git a/pkgs/by-name/ve/versatiles/package.nix b/pkgs/by-name/ve/versatiles/package.nix
index 2e2d5d55d79e..671f04710fd1 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.6.2";
+ version = "3.7.0";
src = fetchFromGitHub {
owner = "versatiles-org";
repo = "versatiles-rs";
tag = "v${finalAttrs.version}";
- hash = "sha256-OK+rcnWxr1s4kGsXJ8u1WK7VWzfGO7LhD/HYg9Cy1u8=";
+ hash = "sha256-EskBVrMBn0km6oWSbgluG+4hdTek4MWDbEoEYdVj6/o=";
};
- cargoHash = "sha256-/8Nnau4zkEY6oTYh08/XiN2rQ5M/bTMYyZTVD6UjAgU=";
+ cargoHash = "sha256-dStQIMT8+lszEmh8r/mBHgpK5kLeLWlFpkUX9Vqsn2g=";
__darwinAllowLocalNetworking = true;
diff --git a/pkgs/by-name/ve/vesktop/package.nix b/pkgs/by-name/ve/vesktop/package.nix
index d6d66ae12670..02c902c4a8b5 100644
--- a/pkgs/by-name/ve/vesktop/package.nix
+++ b/pkgs/by-name/ve/vesktop/package.nix
@@ -87,12 +87,6 @@ stdenv.mkDerivation (finalAttrs: {
ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
};
- # disable code signing on macos
- # https://github.com/electron-userland/electron-builder/blob/77f977435c99247d5db395895618b150f5006e8f/docs/code-signing.md#how-to-disable-code-signing-during-the-build-process-on-macos
- postConfigure = lib.optionalString stdenv.hostPlatform.isDarwin ''
- export CSC_IDENTITY_AUTO_DISCOVERY=false
- '';
-
# electron builds must be writable
preBuild = ''
# Validate electron version matches upstream package.json
@@ -119,7 +113,8 @@ stdenv.mkDerivation (finalAttrs: {
--dir \
-c.asarUnpack="**/*.node" \
-c.electronDist=${if stdenv.hostPlatform.isDarwin then "." else "electron-dist"} \
- -c.electronVersion=${electron.version}
+ -c.electronVersion=${electron.version} \
+ ${lib.optionalString stdenv.hostPlatform.isDarwin "-c.mac.identity=null"} # disable code signing on macos, https://github.com/electron-userland/electron-builder/blob/77f977435c99247d5db395895618b150f5006e8f/docs/code-signing.md#how-to-disable-code-signing-during-the-build-process-on-macos
runHook postBuild
'';
diff --git a/pkgs/by-name/vo/volt/package.nix b/pkgs/by-name/vo/volt/package.nix
new file mode 100644
index 000000000000..ae6a213f2724
--- /dev/null
+++ b/pkgs/by-name/vo/volt/package.nix
@@ -0,0 +1,27 @@
+{
+ lib,
+ rustPlatform,
+ fetchFromGitHub,
+}:
+
+rustPlatform.buildRustPackage (finalAttrs: {
+ pname = "volt";
+ version = "1.5.1";
+
+ src = fetchFromGitHub {
+ owner = "hqnna";
+ repo = "volt";
+ tag = "v${finalAttrs.version}";
+ hash = "sha256-P14jLoONO3eFJ6DzHigAkZXZ++gcBHpJuK7+sVcBARM=";
+ };
+
+ cargoHash = "sha256-3E4fZRxB+kF4fW7WCl+sLkDaQt0Z0tgGfzixvSNZP1c=";
+
+ meta = {
+ description = "Ergonomic terminal settings editor for the Amp coding agent";
+ homepage = "https://github.com/hqnna/volt";
+ license = lib.licenses.blueOak100;
+ maintainers = with lib.maintainers; [ qweered ];
+ mainProgram = "volt";
+ };
+})
diff --git a/pkgs/by-name/wi/wireshark/package.nix b/pkgs/by-name/wi/wireshark/package.nix
index 5293c378af7e..fe93c80535cd 100644
--- a/pkgs/by-name/wi/wireshark/package.nix
+++ b/pkgs/by-name/wi/wireshark/package.nix
@@ -59,7 +59,7 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "wireshark-${if withQt then "qt" else "cli"}";
- version = "4.6.3";
+ version = "4.6.4";
outputs = [
"out"
@@ -70,7 +70,7 @@ stdenv.mkDerivation (finalAttrs: {
repo = "wireshark";
owner = "wireshark";
tag = "v${finalAttrs.version}";
- hash = "sha256-DthYkAW6UYnsDLQf2h3jgJB8RZoasjREWV1NTtZv7PQ=";
+ hash = "sha256-h254dXxloBC5xQYcpeaLlAj2Ip4eQWHYSPPJLkIwQZw=";
};
patches = [
diff --git a/pkgs/by-name/xd/xdg-desktop-portal-cosmic/package.nix b/pkgs/by-name/xd/xdg-desktop-portal-cosmic/package.nix
index 890b03153145..a69f9f60f8a8 100644
--- a/pkgs/by-name/xd/xdg-desktop-portal-cosmic/package.nix
+++ b/pkgs/by-name/xd/xdg-desktop-portal-cosmic/package.nix
@@ -17,7 +17,7 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "xdg-desktop-portal-cosmic";
- version = "1.0.7";
+ version = "1.0.8";
# nixpkgs-update: no auto update
src = fetchFromGitHub {
diff --git a/pkgs/by-name/yo/youki/package.nix b/pkgs/by-name/yo/youki/package.nix
index f57102b12194..c429e7544ec9 100644
--- a/pkgs/by-name/yo/youki/package.nix
+++ b/pkgs/by-name/yo/youki/package.nix
@@ -13,13 +13,13 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "youki";
- version = "0.5.7";
+ version = "0.6.0";
src = fetchFromGitHub {
owner = "containers";
repo = "youki";
rev = "v${finalAttrs.version}";
- hash = "sha256-b2R9/ADoZfRSu1Qh7hImR1Y+ZX15Uhk7JFwD8ipec6o=";
+ hash = "sha256-O5tk/W2Bybq+6aY7FX/AcJtBKWEYI2Ywk7vYLqvuFos=";
};
nativeBuildInputs = [
@@ -53,7 +53,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
"youki"
];
- cargoHash = "sha256-R/1wE7twjMwlSns7ZV5nr8PZ/OzghcslvU+0Ic/oamQ=";
+ cargoHash = "sha256-QOugjSoJVqeiRfpzyuD6nFsBUdlfJLvbXavXFyiHWSo=";
meta = {
description = "Container runtime written in Rust";
diff --git a/pkgs/by-name/za/zapret/package.nix b/pkgs/by-name/za/zapret/package.nix
index c9a1d137c738..706d78dc7134 100644
--- a/pkgs/by-name/za/zapret/package.nix
+++ b/pkgs/by-name/za/zapret/package.nix
@@ -13,7 +13,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "zapret";
- version = "72.9";
+ version = "72.10";
src = fetchFromGitHub {
owner = "bol-van";
@@ -27,7 +27,7 @@ stdenv.mkDerivation (finalAttrs: {
'';
tag = "v${finalAttrs.version}";
- hash = "sha256-w2HpEoEAhdk1tOS8IM3K56FqpMW2VgqB+iwISCNB7n4=";
+ hash = "sha256-m9MKyOwAUeH8LZ1GgbuYdHdNTrI3mJ7+Q9R9JT5y2gY=";
};
buildInputs = [
diff --git a/pkgs/by-name/za/zapzap/package.nix b/pkgs/by-name/za/zapzap/package.nix
index 0ba38ef59de9..b3b2fa1dd18b 100644
--- a/pkgs/by-name/za/zapzap/package.nix
+++ b/pkgs/by-name/za/zapzap/package.nix
@@ -7,14 +7,14 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "zapzap";
- version = "6.2.10.1";
+ version = "6.3.2";
pyproject = true;
src = fetchFromGitHub {
owner = "rafatosta";
repo = "zapzap";
tag = finalAttrs.version;
- hash = "sha256-dNHDR9sZWPetdwpS5u0UCn5sCkDMEw5YoE4QBerU2Sg=";
+ hash = "sha256-PWs6W22ksZmPu3H3Yk535t0J4rfwGov5XaKMJBCXIIA=";
};
nativeBuildInputs = [
diff --git a/pkgs/desktops/lomiri/services/biometryd/default.nix b/pkgs/desktops/lomiri/services/biometryd/default.nix
index e02025cb850d..db01da04bb95 100644
--- a/pkgs/desktops/lomiri/services/biometryd/default.nix
+++ b/pkgs/desktops/lomiri/services/biometryd/default.nix
@@ -2,10 +2,10 @@
stdenv,
lib,
fetchFromGitLab,
+ fetchpatch,
gitUpdater,
testers,
- # https://gitlab.com/ubports/development/core/biometryd/-/issues/8
- boost186,
+ boost,
cmake,
cmake-extras,
dbus,
@@ -39,6 +39,15 @@ stdenv.mkDerivation (finalAttrs: {
"dev"
];
+ patches = [
+ # Remove when version > 0.4.0
+ (fetchpatch {
+ name = "0001-biometryd-Fix-compatibility-with-Boost-1.87.patch";
+ url = "https://gitlab.com/ubports/development/core/biometryd/-/commit/8def6dfb18ee56971f0f64e3622af2a5a39ab0f6.patch";
+ hash = "sha256-PddZRML4Gc+s4aNeOyZwJJjmPSixMGFVFNcrO9dNDSI=";
+ })
+ ];
+
postPatch = ''
# Substitute systemd's prefix in pkg-config call
substituteInPlace data/CMakeLists.txt \
@@ -66,7 +75,7 @@ stdenv.mkDerivation (finalAttrs: {
];
buildInputs = [
- boost186
+ boost
cmake-extras
dbus
dbus-cpp
diff --git a/pkgs/desktops/lomiri/services/lomiri-polkit-agent/1001-Fix-compat-with-libnotify-0.8.8.patch b/pkgs/desktops/lomiri/services/lomiri-polkit-agent/1001-Fix-compat-with-libnotify-0.8.8.patch
new file mode 100644
index 000000000000..a741c5442cd0
--- /dev/null
+++ b/pkgs/desktops/lomiri/services/lomiri-polkit-agent/1001-Fix-compat-with-libnotify-0.8.8.patch
@@ -0,0 +1,36 @@
+From df28165c0955ab963aeda41ffda86651115f4efb Mon Sep 17 00:00:00 2001
+From: OPNA2608
+Date: Tue, 24 Feb 2026 21:04:37 +0100
+Subject: [PATCH] tests/authentication-test.cpp: Fix compat with libnotify
+ 0.8.8
+
+---
+ tests/authentication-test.cpp | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/tests/authentication-test.cpp b/tests/authentication-test.cpp
+index 8c74867..2fee42d 100644
+--- a/tests/authentication-test.cpp
++++ b/tests/authentication-test.cpp
+@@ -245,12 +245,16 @@ TEST_F(AuthenticationTest, BasicRequest)
+ EXPECT_EQ("Cancel", dialogs[0].actions[3]);
+
+ /* Hints */
+-#if (NOTIFY_VERSION_MAJOR >= 0) && (NOTIFY_VERSION_MINOR >= 8)
++#if NOTIFY_CHECK_VERSION(0, 8, 0)
++#if NOTIFY_CHECK_VERSION(0, 8, 8)
++ EXPECT_EQ(4, dialogs[0].hints.size());
++#else
+ EXPECT_EQ(3, dialogs[0].hints.size());
++#endif // NOTIFY_CHECK_VERSION(0, 8, 8)
+ EXPECT_NE(dialogs[0].hints.end(), dialogs[0].hints.find("sender-pid"));
+ #else
+ EXPECT_EQ(2, dialogs[0].hints.size());
+-#endif
++#endif // NOTIFY_CHECK_VERSION(0, 8, 0)
+ EXPECT_NE(dialogs[0].hints.end(), dialogs[0].hints.find("x-lomiri-snap-decisions"));
+ EXPECT_NE(dialogs[0].hints.end(), dialogs[0].hints.find("x-lomiri-private-menu-model"));
+
+--
+2.51.2
+
diff --git a/pkgs/desktops/lomiri/services/lomiri-polkit-agent/default.nix b/pkgs/desktops/lomiri/services/lomiri-polkit-agent/default.nix
index 468d847f1469..daea4403b05b 100644
--- a/pkgs/desktops/lomiri/services/lomiri-polkit-agent/default.nix
+++ b/pkgs/desktops/lomiri/services/lomiri-polkit-agent/default.nix
@@ -27,6 +27,11 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-JKU2lm5wco9aC2cu3lgJ9OfGAzKQO/wQXFPEdb9Uz3Y=";
};
+ patches = [
+ # Remove when https://gitlab.com/ubports/development/core/lomiri-polkit-agent/-/merge_requests/17 merged & in release
+ ./1001-Fix-compat-with-libnotify-0.8.8.patch
+ ];
+
strictDeps = true;
nativeBuildInputs = [
diff --git a/pkgs/desktops/lomiri/services/lomiri-telephony-service/default.nix b/pkgs/desktops/lomiri/services/lomiri-telephony-service/default.nix
index 0c387ce96abb..6675c88c140b 100644
--- a/pkgs/desktops/lomiri/services/lomiri-telephony-service/default.nix
+++ b/pkgs/desktops/lomiri/services/lomiri-telephony-service/default.nix
@@ -8,6 +8,7 @@
ayatana-indicator-messages,
bash,
cmake,
+ ctestCheckHook,
dbus,
dbus-glib,
dbus-test-runner,
@@ -111,6 +112,7 @@ stdenv.mkDerivation (finalAttrs: {
];
nativeCheckInputs = [
+ ctestCheckHook
dbus-test-runner
dconf
gnome-keyring
@@ -124,27 +126,6 @@ stdenv.mkDerivation (finalAttrs: {
# These rely on libphonenumber reformatting inputs to certain results
# Seem to be broken for a small amount of numbers, maybe libphonenumber version change?
(lib.cmakeBool "SKIP_QML_TESTS" true)
- (lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" (
- lib.concatStringsSep ";" [
- # Exclude tests
- "-E"
- (lib.strings.escapeShellArg "(${
- lib.concatStringsSep "|" [
- # Flaky, randomly failing to launch properly & stuck until test timeout
- # https://gitlab.com/ubports/development/core/lomiri-telephony-service/-/issues/70
- "^HandlerTest"
- "^OfonoAccountEntryTest"
- "^TelepathyHelperSetupTest"
- "^AuthHandlerTest"
- "^ChatManagerTest"
- "^AccountEntryTest"
- "^AccountEntryFactoryTest"
- "^PresenceRequestTest"
- "^CallEntryTest"
- ]
- })")
- ]
- ))
];
env.NIX_CFLAGS_COMPILE = toString [
@@ -158,6 +139,25 @@ stdenv.mkDerivation (finalAttrs: {
# Starts & talks to D-Bus services, breaks with parallelism
enableParallelChecking = false;
+ disabledTests = [
+ # Flaky, randomly failing to launch properly & stuck until test timeout
+ # https://gitlab.com/ubports/development/core/lomiri-telephony-service/-/issues/70
+ "AccountEntryTest"
+ "AccountEntryFactoryTest"
+ "AuthHandlerTest"
+ "CallEntryTest"
+ "ChatManagerTest"
+ "HandlerTest"
+ "OfonoAccountEntryTest"
+ "PresenceRequestTest"
+ "TelepathyHelperSetupTest"
+
+ # Failing most of the time since libnotify 0.8.8
+ # https://gitlab.com/ubports/development/core/lomiri-telephony-service/-/issues/75
+ "ApproverTest"
+ "MessagingMenuTest"
+ ];
+
preCheck = ''
export QT_QPA_PLATFORM=minimal
export QT_PLUGIN_PATH=${
diff --git a/pkgs/desktops/lomiri/services/lomiri-thumbnailer/default.nix b/pkgs/desktops/lomiri/services/lomiri-thumbnailer/default.nix
index ef3ef0f8b044..a19023f42b5d 100644
--- a/pkgs/desktops/lomiri/services/lomiri-thumbnailer/default.nix
+++ b/pkgs/desktops/lomiri/services/lomiri-thumbnailer/default.nix
@@ -76,6 +76,14 @@ stdenv.mkDerivation (finalAttrs: {
# Tests run in parallel to other builds, don't suck up cores
substituteInPlace tests/headers/compile_headers.py \
--replace-fail 'max_workers=multiprocessing.cpu_count()' "max_workers=1"
+ ''
+ # https://gitlab.com/ubports/development/core/lomiri-thumbnailer/-/merge_requests/31
+ # Too simple to bother with fetchpatch
+ + ''
+ substituteInPlace CMakeLists.txt \
+ --replace-fail \
+ 'find_package(Boost COMPONENTS filesystem iostreams regex system REQUIRED)' \
+ 'find_package(Boost COMPONENTS filesystem iostreams regex REQUIRED)'
'';
strictDeps = true;
diff --git a/pkgs/development/coq-modules/TypedExtraction/default.nix b/pkgs/development/coq-modules/TypedExtraction/default.nix
new file mode 100644
index 000000000000..ab5c95a7c01f
--- /dev/null
+++ b/pkgs/development/coq-modules/TypedExtraction/default.nix
@@ -0,0 +1,127 @@
+{
+ lib,
+ mkCoqDerivation,
+ which,
+ coq,
+ stdlib,
+ metarocq,
+ version ? null,
+ single ? false,
+}:
+
+let
+ pname = "TypedExtraction";
+ repo = "rocq-typed-extraction";
+ owner = "peregrine-project";
+ domain = "github.com";
+
+ inherit version;
+ defaultVersion =
+ let
+ case = coq: mr: out: {
+ cases = [
+ coq
+ mr
+ ];
+ inherit out;
+ };
+ in
+ lib.switch
+ [
+ coq.coq-version
+ metarocq.version
+ ]
+ [
+ (case "9.1" (lib.versions.range "1.4" "1.4.1") "0.2.0")
+ ]
+ null;
+ release = {
+ "0.2.0".sha256 = "sha256-rgg39X45IXjcnejBhh8N7wMiH+gHQrfO8pBbFEWOGVI=";
+ };
+ releaseRev = v: "v${v}";
+
+ packages = {
+ "common" = [ ];
+ "elm" = [
+ "common"
+ ];
+ "rust" = [
+ "common"
+ ];
+ "plugin" = [
+ "elm"
+ "rust"
+ ];
+ "all" = [
+ "plugin"
+ ];
+ };
+
+ typedextraction_ =
+ package:
+ let
+ typedextraction-deps = lib.optionals (package != "single") (
+ map typedextraction_ packages.${package}
+ );
+ pkgpath = if package == "single" then "./" else "./${package}";
+ pname = if package == "all" then "TypedExtraction" else "TypedExtraction-${package}";
+ pkgallMake = ''
+ mkdir all
+ echo "all:" > all/Makefile
+ echo "install:" >> all/Makefile
+ '';
+ derivation = (
+ mkCoqDerivation (
+ {
+ inherit
+ version
+ pname
+ defaultVersion
+ release
+ releaseRev
+ repo
+ owner
+ ;
+
+ mlPlugin = true;
+ propagatedBuildInputs = [
+ stdlib
+ coq.ocamlPackages.findlib
+ metarocq
+ ]
+ ++ typedextraction-deps;
+
+ patchPhase = ''
+ patchShebangs ./configure.sh
+ patchShebangs ./plugin/process_extraction.sh
+ '';
+
+ configurePhase =
+ lib.optionalString (package == "all") pkgallMake
+ + ''
+ touch ${pkgpath}/_config
+ ''
+ + lib.optionalString (package == "single") ''
+ ./configure.sh local
+ '';
+
+ preBuild = ''
+ cd ${pkgpath}
+ '';
+
+ meta = {
+ homepage = "https://peregrine-project.github.io/";
+ description = "A framework for extracting Rocq programs to Rust and Elm";
+ maintainers = with lib.maintainers; [ _4ever2 ];
+ license = lib.licenses.mit;
+ };
+ }
+ // lib.optionalAttrs (package != "single") {
+ passthru = lib.mapAttrs (package: deps: typedextraction_ package) packages;
+ }
+ )
+ );
+ in
+ derivation;
+in
+typedextraction_ (if single then "single" else "all")
diff --git a/pkgs/development/coq-modules/coqprime/default.nix b/pkgs/development/coq-modules/coqprime/default.nix
index e42edfdcb7dd..ae9ea4e08a19 100644
--- a/pkgs/development/coq-modules/coqprime/default.nix
+++ b/pkgs/development/coq-modules/coqprime/default.nix
@@ -14,6 +14,10 @@ mkCoqDerivation {
defaultVersion =
with lib.versions;
lib.switch coq.coq-version [
+ {
+ case = range "8.20" "9.1";
+ out = "8.20";
+ }
{
case = range "8.14" "8.20";
out = "8.18";
@@ -36,6 +40,7 @@ mkCoqDerivation {
}
] null;
+ release."8.20".sha256 = "sha256-bwQPgxCVm6iFRJjNplPtUJqRfr6vXPaWs7OxLNnMjs8=";
release."8.18".sha256 = "sha256-KObBEYerWhIStmq90G3vs9K5LUEOfB2SPxirwLiWQ6E=";
release."8.17".sha256 = "sha256-D878t/PijVCopRKHYqfwdNvt3arGlI8yxbK/vI6qZUY=";
release."8.15".sha256 = "sha256:1zr2q52r08na8265019pj9spcz982ivixk6cnzk6l1srn2g328gv";
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index b51bfd8af747..053d77ac9d0c 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -112,10 +112,12 @@ with haskellLib;
(
let
# !!! Use cself/csuper inside for the actual overrides
- cabalInstallOverlay = cself: csuper: {
- Cabal = cself.Cabal_3_16_1_0;
- Cabal-syntax = cself.Cabal-syntax_3_16_1_0;
- };
+ cabalInstallOverlay =
+ cself: csuper:
+ lib.optionalAttrs (lib.versionOlder csuper.ghc.version "9.14") {
+ Cabal = cself.Cabal_3_16_1_0;
+ Cabal-syntax = cself.Cabal-syntax_3_16_1_0;
+ };
in
{
cabal-install =
diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.14.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.14.x.nix
index 922a1bb72554..e3ccdf381d5f 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-9.14.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-9.14.x.nix
@@ -74,6 +74,10 @@ with haskellLib;
# Version upgrades
#
+ parallel = doDistribute self.parallel_3_3_0_0;
+ tagged = doDistribute self.tagged_0_8_10;
+ unordered-containers = doDistribute self.unordered-containers_0_2_21;
+
#
# Jailbreaks
#
@@ -81,10 +85,46 @@ with haskellLib;
primitive = doJailbreak (dontCheck super.primitive); # base <4.22 and a lot of dependencies on packages not yet working.
splitmix = doJailbreak super.splitmix; # base <4.22
+ # https://github.com/haskellari/indexed-traversable/issues/49
+ indexed-traversable = doJailbreak super.indexed-traversable;
+ # https://github.com/haskellari/indexed-traversable/issues/50
+ indexed-traversable-instances = doJailbreak super.indexed-traversable-instances;
+ # https://github.com/haskellari/these/issues/211
+ these = doJailbreak super.these;
+ # https://github.com/haskellari/these/issues/207
+ semialign = doJailbreak super.semialign;
+ # https://github.com/haskellari/time-compat/issues/48
+ time-compat = doJailbreak super.time-compat;
+ # https://github.com/haskell-hvr/uuid/issues/95
+ uuid-types = doJailbreak super.uuid-types;
+ # https://github.com/haskellari/qc-instances/issues/110
+ quickcheck-instances = doJailbreak super.quickcheck-instances;
+ # https://github.com/haskell/aeson/issues/1155
+ text-iso8601 = doJailbreak super.text-iso8601;
+ aeson = doJailbreak super.aeson;
+
+ # https://github.com/well-typed/cborg/issues/373
+ cborg = doJailbreak super.cborg;
+ serialise = doJailbreak (
+ appendPatches [
+ # This removes support for older versions of time (think GHC 8.6) and, in doing so,
+ # drops a Cabal flag that prevents jailbreak from working
+ (pkgs.fetchpatch {
+ name = "serialise-no-old-time.patch";
+ url = "https://github.com/well-typed/cborg/commit/308afc2795062f847171463958e5e1bbd9c03381.patch";
+ hash = "sha256-Gutu9c+houcwAvq2Z+ZQUQbNK+u+OCJRZfKBtx8/V4c=";
+ relative = "serialise";
+ })
+ ] super.serialise
+ );
+
# https://github.com/sjakobi/newtype-generics/pull/28/files
newtype-generics = warnAfterVersion "0.6.2" (doJailbreak super.newtype-generics);
#
# Test suite issues
#
+
+ # Fails to compile with GHC 9.14 https://github.com/snoyberg/mono-traversable/pull/261
+ mono-traversable = dontCheck super.mono-traversable;
}
diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix
index 9842c79a6741..70998a96e822 100644
--- a/pkgs/development/haskell-modules/make-package-set.nix
+++ b/pkgs/development/haskell-modules/make-package-set.nix
@@ -181,10 +181,12 @@ let
nativeBuildInputs = [ buildPackages.cabal2nix-unwrapped ];
preferLocalBuild = true;
allowSubstitutes = false;
- LANG = "en_US.UTF-8";
- LOCALE_ARCHIVE = pkgs.lib.optionalString (
- buildPlatform.libc == "glibc"
- ) "${buildPackages.glibcLocales}/lib/locale/locale-archive";
+ env = {
+ LANG = "en_US.UTF-8";
+ }
+ // lib.optionalAttrs (buildPlatform.libc == "glibc") {
+ LOCALE_ARCHIVE = "${buildPackages.glibcLocales}/lib/locale/locale-archive";
+ };
}
''
export HOME="$TMP"
diff --git a/pkgs/development/misc/h3/default.nix b/pkgs/development/misc/h3/default.nix
index ea7dc1db013f..a18ab9a553f7 100644
--- a/pkgs/development/misc/h3/default.nix
+++ b/pkgs/development/misc/h3/default.nix
@@ -56,7 +56,7 @@ in
};
h3_4 = generic {
- version = "4.3.0";
- hash = "sha256-DUILKZ1QvML6qg+WdOxir6zRsgTvk+En6yjeFf6MQBg=";
+ version = "4.4.1";
+ hash = "sha256-tKonXauTJiOb5DV56tOmnvba7eNYcWTnOvCSokheVsY=";
};
}
diff --git a/pkgs/development/ocaml-modules/elpi/default.nix b/pkgs/development/ocaml-modules/elpi/default.nix
index 1463cbf355b9..0a6729d8ad34 100644
--- a/pkgs/development/ocaml-modules/elpi/default.nix
+++ b/pkgs/development/ocaml-modules/elpi/default.nix
@@ -18,7 +18,7 @@
coqPackages,
version ?
if lib.versionAtLeast ocaml.version "4.13" then
- "3.4.2"
+ "3.4.5"
else if lib.versionAtLeast ocaml.version "4.08" then
"1.20.0"
else
@@ -34,6 +34,9 @@ in
let
fetched = coqPackages.metaFetch {
+ release."3.4.5".sha256 = "sha256-cck6XqC98Z9lb3CYS8K/aB1WOckjAyXzZ14vX41nJvI=";
+ release."3.4.4".sha256 = "sha256-SvNNAyBYIkSMv3rhx0wVu2JjHdGYUOqaFzZKGBMMebs=";
+ release."3.4.3".sha256 = "sha256-2bzUzUO/Ps1uxHHIzQx0pULme9upYxBBggenxaQrd+I=";
release."3.4.2".sha256 = "sha256-w7GjKYZrVrfezJN0NLmzpVm6CFGVKxXszHADFGCw5cc=";
release."3.4.1".sha256 = "sha256-3rQPw91dHAqp61KTHk1UOEqh5syWrZZ1V1/1eE8cyI8=";
release."3.3.0".sha256 = "sha256:963f95eea48b8f853cca9cbe4db49f22343c58e88dc961bc1da303356ef50dcd";
diff --git a/pkgs/development/ocaml-modules/extlib/1.7.7.nix b/pkgs/development/ocaml-modules/extlib/1.7.7.nix
index 0e4f326e177c..643e05972142 100644
--- a/pkgs/development/ocaml-modules/extlib/1.7.7.nix
+++ b/pkgs/development/ocaml-modules/extlib/1.7.7.nix
@@ -1,3 +1,4 @@
+# nixpkgs-update: no auto update
# Older version of extlib for Haxe 4.0 and 4.1.
# May be replaceable by the next extlib + extlib-base64 release.
{
diff --git a/pkgs/development/ocaml-modules/luv/default.nix b/pkgs/development/ocaml-modules/luv/default.nix
index d055fa210892..207d1a1aea3e 100644
--- a/pkgs/development/ocaml-modules/luv/default.nix
+++ b/pkgs/development/ocaml-modules/luv/default.nix
@@ -1,3 +1,5 @@
+# nixpkgs-update: no auto update
+# haxe depends on specific version of luv
{
lib,
buildDunePackage,
diff --git a/pkgs/development/python-modules/a2a-sdk/default.nix b/pkgs/development/python-modules/a2a-sdk/default.nix
index 960b7d04ee19..c640fcb4bdf4 100644
--- a/pkgs/development/python-modules/a2a-sdk/default.nix
+++ b/pkgs/development/python-modules/a2a-sdk/default.nix
@@ -33,14 +33,14 @@
buildPythonPackage (finalAttrs: {
pname = "a2a-sdk";
- version = "0.3.23";
+ version = "0.3.24";
pyproject = true;
src = fetchFromGitHub {
owner = "a2aproject";
repo = "a2a-python";
tag = "v${finalAttrs.version}";
- hash = "sha256-F7tu+coSNNrLT36DFaHdoFe7hBG5lA69O5ktnxfJlZI=";
+ hash = "sha256-NnLyLCoUFzTp9ji8OE+JxtCHMzy0Ri3uPLoN2HyAjxU=";
};
build-system = [
diff --git a/pkgs/development/python-modules/aiotools/default.nix b/pkgs/development/python-modules/aiotools/default.nix
new file mode 100644
index 000000000000..407f8a55725c
--- /dev/null
+++ b/pkgs/development/python-modules/aiotools/default.nix
@@ -0,0 +1,45 @@
+{
+ lib,
+ buildPythonPackage,
+ fetchFromGitHub,
+ setuptools-scm,
+ async-lru,
+ pytestCheckHook,
+ pytest-asyncio,
+}:
+
+buildPythonPackage (finalAttrs: {
+ pname = "aiotools";
+ version = "2.2.3";
+ pyproject = true;
+
+ src = fetchFromGitHub {
+ owner = "achimnol";
+ repo = "aiotools";
+ tag = finalAttrs.version;
+ hash = "sha256-uIG3JPqep4NGtZa7Qo8SOK9Ca1GNKyuBasFtwR9oG8U=";
+ };
+
+ build-system = [
+ setuptools-scm
+ ];
+
+ dependencies = [
+ async-lru
+ ];
+
+ nativeCheckInputs = [
+ pytestCheckHook
+ pytest-asyncio
+ ];
+
+ pythonImportsCheck = [ "aiotools" ];
+
+ meta = {
+ description = "Idiomatic asyncio utilities";
+ homepage = "https://github.com/achimnol/aiotools";
+ changelog = "https://github.com/achimnol/aiotools/blob/${finalAttrs.src.tag}/CHANGES.md";
+ license = lib.licenses.mit;
+ maintainers = with lib.maintainers; [ robertjakub ];
+ };
+})
diff --git a/pkgs/development/python-modules/b2sdk/default.nix b/pkgs/development/python-modules/b2sdk/default.nix
index ba6469bfdc56..74bb155da240 100644
--- a/pkgs/development/python-modules/b2sdk/default.nix
+++ b/pkgs/development/python-modules/b2sdk/default.nix
@@ -4,8 +4,8 @@
fetchFromGitHub,
logfury,
annotated-types,
- packaging,
- pdm-backend,
+ hatchling,
+ hatch-vcs,
pytest-lazy-fixtures,
pytest-mock,
pytest-timeout,
@@ -14,27 +14,30 @@
pythonOlder,
requests,
responses,
+ tenacity,
tqdm,
typing-extensions,
}:
buildPythonPackage rec {
pname = "b2sdk";
- version = "2.10.2";
+ version = "2.10.3";
pyproject = true;
src = fetchFromGitHub {
owner = "Backblaze";
repo = "b2-sdk-python";
tag = "v${version}";
- hash = "sha256-RWHD1ARPSKHmGKY0xdCBn3Qj4GxAfn4o8eacMQ5RT1k=";
+ hash = "sha256-Gu4MRfjNWuwEFn13U49dEndWA/HNPwrQdX9VEz1ny+M=";
};
- build-system = [ pdm-backend ];
+ build-system = [
+ hatchling
+ hatch-vcs
+ ];
dependencies = [
annotated-types
- packaging
logfury
requests
]
@@ -46,6 +49,7 @@ buildPythonPackage rec {
pytest-timeout
pytestCheckHook
responses
+ tenacity
tqdm
];
diff --git a/pkgs/development/python-modules/boto3-stubs/default.nix b/pkgs/development/python-modules/boto3-stubs/default.nix
index e9450a880920..badb39a19970 100644
--- a/pkgs/development/python-modules/boto3-stubs/default.nix
+++ b/pkgs/development/python-modules/boto3-stubs/default.nix
@@ -358,13 +358,13 @@
buildPythonPackage (finalAttrs: {
pname = "boto3-stubs";
- version = "1.42.55";
+ version = "1.42.57";
pyproject = true;
src = fetchPypi {
pname = "boto3_stubs";
inherit (finalAttrs) version;
- hash = "sha256-GB9NOhFGYDHKte9vXZ4uohc3b1CQTJiV6kcPomSALJQ=";
+ hash = "sha256-i+hnFoIEBs4JlvcqpY40uhoeu0OGfYpCPGCsj+lE8wM=";
};
build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/claude-agent-sdk/default.nix b/pkgs/development/python-modules/claude-agent-sdk/default.nix
index 5308896a1ba0..3f7177a39da8 100644
--- a/pkgs/development/python-modules/claude-agent-sdk/default.nix
+++ b/pkgs/development/python-modules/claude-agent-sdk/default.nix
@@ -13,14 +13,14 @@
buildPythonPackage (finalAttrs: {
pname = "claude-agent-sdk";
- version = "0.1.41";
+ version = "0.1.44";
pyproject = true;
src = fetchFromGitHub {
owner = "anthropics";
repo = "claude-agent-sdk-python";
tag = "v${finalAttrs.version}";
- hash = "sha256-+UKf4lUgYI3gIa//uEkOTaVkIV3wN9rpEaHIDYpgdIc=";
+ hash = "sha256-YRXSQsJYNhwV43x1iQbnwm23Hllr/SXl8Fv91/AWh8Y=";
};
build-system = [ hatchling ];
diff --git a/pkgs/development/python-modules/fastapi-sso/default.nix b/pkgs/development/python-modules/fastapi-sso/default.nix
index 73598fa3fc10..b4eda6492b34 100644
--- a/pkgs/development/python-modules/fastapi-sso/default.nix
+++ b/pkgs/development/python-modules/fastapi-sso/default.nix
@@ -17,14 +17,14 @@
buildPythonPackage (finalAttrs: {
pname = "fastapi-sso";
- version = "0.20.0";
+ version = "0.21.0";
pyproject = true;
src = fetchFromGitHub {
owner = "tomasvotava";
repo = "fastapi-sso";
tag = finalAttrs.version;
- hash = "sha256-bj6csovJSVhzVaPfktJ68cOgULVifT1Ql14SL+paVG0=";
+ hash = "sha256-5CtblFFKf1b7ja5zF6oTtdKvUdWR9cQypiK4XzMVA5s=";
};
build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/firecrawl-py/default.nix b/pkgs/development/python-modules/firecrawl-py/default.nix
index 3055d73165b5..efc8e3752b31 100644
--- a/pkgs/development/python-modules/firecrawl-py/default.nix
+++ b/pkgs/development/python-modules/firecrawl-py/default.nix
@@ -3,6 +3,7 @@
aiohttp,
buildPythonPackage,
fetchFromGitHub,
+ httpx,
nest-asyncio,
pydantic,
python-dotenv,
@@ -11,24 +12,25 @@
websockets,
}:
-buildPythonPackage rec {
+buildPythonPackage (finalAttrs: {
pname = "firecrawl-py";
- version = "2.7.0";
+ version = "2.8.0";
pyproject = true;
src = fetchFromGitHub {
owner = "mendableai";
repo = "firecrawl";
- tag = "v${version}";
- hash = "sha256-l42FfMrkqeFuAB4Sibxe4J+lifePSu2naIySEUGPQW0=";
+ tag = "v${finalAttrs.version}";
+ hash = "sha256-7dB3jdp5jkRiNx63C5sjs3t85fuz5vzurfvYY5jWQyU=";
};
- sourceRoot = "${src.name}/apps/python-sdk";
+ sourceRoot = "${finalAttrs.src.name}/apps/python-sdk";
build-system = [ setuptools ];
dependencies = [
aiohttp
+ httpx
nest-asyncio
pydantic
python-dotenv
@@ -44,8 +46,8 @@ buildPythonPackage rec {
meta = {
description = "Turn entire websites into LLM-ready markdown or structured data. Scrape, crawl and extract with a single API";
homepage = "https://firecrawl.dev";
- changelog = "https://github.com/mendableai/firecrawl/releases/tag/${src.tag}";
+ changelog = "https://github.com/mendableai/firecrawl/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.mit;
maintainers = [ ];
};
-}
+})
diff --git a/pkgs/development/python-modules/gotify/default.nix b/pkgs/development/python-modules/gotify/default.nix
index ff964c5b4e30..31f2f3a79e20 100644
--- a/pkgs/development/python-modules/gotify/default.nix
+++ b/pkgs/development/python-modules/gotify/default.nix
@@ -66,5 +66,7 @@ buildPythonPackage rec {
maintainers = [
lib.maintainers.joblade
];
+ # https://github.com/d-k-bo/python-gotify/issues/6
+ broken = lib.versionAtLeast gotify-server.version "2.9.0";
};
}
diff --git a/pkgs/development/python-modules/greenplanet-energy-api/default.nix b/pkgs/development/python-modules/greenplanet-energy-api/default.nix
new file mode 100644
index 000000000000..f712f3ba3a0a
--- /dev/null
+++ b/pkgs/development/python-modules/greenplanet-energy-api/default.nix
@@ -0,0 +1,47 @@
+{
+ lib,
+ buildPythonPackage,
+ fetchFromGitHub,
+ setuptools,
+ aiohttp,
+ pytest-asyncio,
+ pytest-cov,
+ aioresponses,
+ pytestCheckHook,
+}:
+
+buildPythonPackage (finalAttrs: {
+ pname = "greenplanet-energy-api";
+ version = "0.1.8";
+ pyproject = true;
+
+ src = fetchFromGitHub {
+ owner = "petschni";
+ repo = "greenplanet-energy-api";
+ tag = "v${finalAttrs.version}";
+ hash = "sha256-Ffmb4UUVfFhSNAy3Fq+3ERYSfD09JnrR8rKUV0sXjNI=";
+ };
+
+ build-system = [ setuptools ];
+
+ dependencies = [
+ aiohttp
+ ];
+
+ nativeCheckInputs = [
+ pytest-asyncio
+ pytest-cov
+ aioresponses
+ pytestCheckHook
+ ];
+
+ pythonImportsCheck = [ "greenplanet_energy_api" ];
+
+ meta = {
+ description = "Async Python library for querying the Green Planet Energy API";
+ homepage = "https://github.com/petschni/greenplanet-energy-api";
+ changelog = "https://github.com/petschni/greenplanet-energy-api/releases/tag/${finalAttrs.src.tag}";
+ license = lib.licenses.mit;
+ maintainers = [ lib.maintainers.jamiemagee ];
+ };
+})
diff --git a/pkgs/development/python-modules/guidata/default.nix b/pkgs/development/python-modules/guidata/default.nix
index edb94e014924..e0466e7b83f8 100644
--- a/pkgs/development/python-modules/guidata/default.nix
+++ b/pkgs/development/python-modules/guidata/default.nix
@@ -2,6 +2,7 @@
lib,
stdenv,
buildPythonPackage,
+ pythonAtLeast,
fetchFromGitHub,
# build-system
@@ -30,16 +31,19 @@
buildPythonPackage rec {
pname = "guidata";
- version = "3.13.4";
+ version = "3.14.2";
pyproject = true;
src = fetchFromGitHub {
owner = "PlotPyStack";
repo = "guidata";
tag = "v${version}";
- hash = "sha256-JuYxPkKeOQOzoDiyk50IhAiICUcKptyD5RUx4DaiOOI=";
+ hash = "sha256-iUfZX51Ef1PY7roy9ER8hG34BAhCLs3Sagoasd5BT3E=";
};
+ # https://github.com/PlotPyStack/guidata/issues/97
+ disabled = pythonAtLeast "3.14";
+
build-system = [
setuptools
];
diff --git a/pkgs/development/python-modules/h3/default.nix b/pkgs/development/python-modules/h3/default.nix
index 7f90dca93656..a7655bc2ae8e 100644
--- a/pkgs/development/python-modules/h3/default.nix
+++ b/pkgs/development/python-modules/h3/default.nix
@@ -14,17 +14,17 @@
stdenv,
}:
-buildPythonPackage rec {
+buildPythonPackage (finalAttrs: {
pname = "h3";
- version = "4.4.1";
+ version = "4.4.2";
pyproject = true;
# pypi version does not include tests
src = fetchFromGitHub {
owner = "uber";
repo = "h3-py";
- tag = "v${version}";
- hash = "sha256-ugYx8FJUxfrJHfzRxyjaOlG/Z0KhKglRHTgKKBHzUGQ=";
+ tag = "v${finalAttrs.version}";
+ hash = "sha256-+2cf/m+8BEEjNgIyuYmLDD7wsmc3Bg8QXaIjC0Px+Qk=";
};
dontConfigure = true;
@@ -75,9 +75,10 @@ buildPythonPackage rec {
pythonImportsCheck = [ "h3" ];
meta = {
+ changelog = "https://github.com/uber/h3-py/blob/${finalAttrs.src.rev}/CHANGELOG.md";
homepage = "https://github.com/uber/h3-py";
description = "Hierarchical hexagonal geospatial indexing system";
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.kalbasit ];
};
-}
+})
diff --git a/pkgs/development/python-modules/hdfury/default.nix b/pkgs/development/python-modules/hdfury/default.nix
index a656d8124a52..c9e621f04026 100644
--- a/pkgs/development/python-modules/hdfury/default.nix
+++ b/pkgs/development/python-modules/hdfury/default.nix
@@ -8,14 +8,14 @@
buildPythonPackage (finalAttrs: {
pname = "hdfury";
- version = "1.5.0";
+ version = "1.6.0";
pyproject = true;
src = fetchFromGitHub {
owner = "glenndehaan";
repo = "python-hdfury";
tag = finalAttrs.version;
- hash = "sha256-UVJgmCwsvtx/Zq2qqTI8E1DmC4ayoWWI7duaommUQ2I=";
+ hash = "sha256-ndJpxFebSsfXQ1aUe20Ajbgks3gA3KXo8kY5FaJ/BW0=";
};
build-system = [ hatchling ];
diff --git a/pkgs/development/python-modules/iamdata/default.nix b/pkgs/development/python-modules/iamdata/default.nix
index 046915c4496e..2955c1739b18 100644
--- a/pkgs/development/python-modules/iamdata/default.nix
+++ b/pkgs/development/python-modules/iamdata/default.nix
@@ -8,14 +8,14 @@
buildPythonPackage (finalAttrs: {
pname = "iamdata";
- version = "0.1.202602251";
+ version = "0.1.202602261";
pyproject = true;
src = fetchFromGitHub {
owner = "cloud-copilot";
repo = "iam-data-python";
tag = "v${finalAttrs.version}";
- hash = "sha256-kVzU8hOcMdlav0uwebWe4EPqw0zUIlz3uR4EH//uL+8=";
+ hash = "sha256-C2ubZ7R6tN9P27aRDeHJ94frgN/ZRpDSxGCS/qYrJqo=";
};
__darwinAllowLocalNetworking = true;
diff --git a/pkgs/development/python-modules/laspy/default.nix b/pkgs/development/python-modules/laspy/default.nix
index 8f6d531dc69a..b7f9fce11cef 100644
--- a/pkgs/development/python-modules/laspy/default.nix
+++ b/pkgs/development/python-modules/laspy/default.nix
@@ -1,34 +1,40 @@
{
lib,
buildPythonPackage,
- fetchPypi,
- numpy,
+ fetchFromGitHub,
+
+ # build-system
+ hatchling,
+
+ # depenencies
laszip,
lazrs,
- setuptools,
+ numpy,
+
+ # tests
pytestCheckHook,
}:
-buildPythonPackage rec {
+buildPythonPackage (finalAttrs: {
pname = "laspy";
version = "2.7.0";
pyproject = true;
- src = fetchPypi {
- inherit pname version;
- hash = "sha256-9W/rVEXnXW/xLugUqrajUzkpDnUmT/J3xr9VPzAlo/U=";
+ src = fetchFromGitHub {
+ owner = "laspy";
+ repo = "laspy";
+ tag = finalAttrs.version;
+ hash = "sha256-/wvwUE+lzBgAZVtLB05Fpuq0ElajMxWqCIa1Y3sjB5k=";
};
- nativeBuildInputs = [ setuptools ];
+ build-system = [ hatchling ];
- propagatedBuildInputs = [
+ dependencies = [
numpy
laszip
lazrs # much faster laz reading, see https://laspy.readthedocs.io/en/latest/installation.html#laz-support
];
- nativeCheckInputs = [ pytestCheckHook ];
-
pythonImportsCheck = [
"laspy"
# `laspy` supports multiple backends and detects them dynamically.
@@ -37,13 +43,17 @@ buildPythonPackage rec {
"lazrs"
];
+ nativeCheckInputs = [
+ pytestCheckHook
+ ];
+
meta = {
description = "Interface for reading/modifying/creating .LAS LIDAR files";
mainProgram = "laspy";
homepage = "https://github.com/laspy/laspy";
- changelog = "https://github.com/laspy/laspy/blob/${version}/CHANGELOG.md";
+ changelog = "https://github.com/laspy/laspy/blob/${finalAttrs.version}/CHANGELOG.md";
license = lib.licenses.bsd2;
maintainers = with lib.maintainers; [ matthewcroughan ];
teams = [ lib.teams.geospatial ];
};
-}
+})
diff --git a/pkgs/development/python-modules/laszip/default.nix b/pkgs/development/python-modules/laszip/default.nix
index fa9a57c1d9db..50bc114b7f7e 100644
--- a/pkgs/development/python-modules/laszip/default.nix
+++ b/pkgs/development/python-modules/laszip/default.nix
@@ -1,42 +1,31 @@
{
lib,
- stdenv,
buildPythonPackage,
fetchFromGitHub,
- fetchpatch,
+
+ # build-system
scikit-build-core,
pybind11,
cmake,
- laszip,
ninja,
+
+ # buildInputs
+ laszip,
}:
-buildPythonPackage rec {
+buildPythonPackage (finalAttrs: {
pname = "laszip-python";
- version = "0.2.3";
+ version = "0.3.0";
pyproject = true;
src = fetchFromGitHub {
owner = "tmontaigu";
repo = "laszip-python";
- rev = version;
- hash = "sha256-MiPzL9TDCf1xnCv7apwdfcpkFnBRi4PO/atTQxqL8cw=";
+ tag = finalAttrs.version;
+ hash = "sha256-fg9Joe5iDNT4w2j+zQuQIoxyAYpCAgLwhuqsBsJn6lU=";
};
- patches = [
- # Removes depending on the cmake and ninja PyPI packages, since we can pass
- # in the tools directly, and scikit-build-core can use them.
- # https://github.com/tmontaigu/laszip-python/pull/9
- (fetchpatch {
- name = "remove-cmake-ninja-pypi-dependencies.patch";
- url = "https://github.com/tmontaigu/laszip-python/commit/17e648d04945fa2d095d6d74d58c790a4fcde84a.patch";
- hash = "sha256-k58sS1RqVzT1WPh2OVt/D4Y045ODtj6U3bUjegd44VY=";
- })
- ];
-
- env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isGNU "-std=c++17";
-
- nativeBuildInputs = [
+ build-system = [
cmake
ninja
pybind11
@@ -55,8 +44,8 @@ buildPythonPackage rec {
meta = {
description = "Unofficial bindings between Python and LASzip made using pybind11";
homepage = "https://github.com/tmontaigu/laszip-python";
- changelog = "https://github.com/tmontaigu/laszip-python/blob/${src.rev}/Changelog.md";
+ changelog = "https://github.com/tmontaigu/laszip-python/blob/${finalAttrs.src.tag}/Changelog.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ matthewcroughan ];
};
-}
+})
diff --git a/pkgs/development/python-modules/meep/default.nix b/pkgs/development/python-modules/meep/default.nix
index fe4a2e3a1315..78ee091ecfd8 100644
--- a/pkgs/development/python-modules/meep/default.nix
+++ b/pkgs/development/python-modules/meep/default.nix
@@ -36,13 +36,13 @@ assert !lapack.isILP64;
buildPythonPackage rec {
pname = "meep";
- version = "1.31.0";
+ version = "1.32.0";
src = fetchFromGitHub {
owner = "NanoComp";
repo = "meep";
tag = "v${version}";
- hash = "sha256-x5OMdV/LJfklcK1KlYS0pdotsXP/SYzF7AOW5DlJvq0=";
+ hash = "sha256-XyGs4U8r3ZaqCq2ArMeeI/wFmJEig8iBaPytf7QIehw=";
};
pyproject = false;
diff --git a/pkgs/development/python-modules/mitmproxy/default.nix b/pkgs/development/python-modules/mitmproxy/default.nix
index 18986c0ad7c0..975fef721a06 100644
--- a/pkgs/development/python-modules/mitmproxy/default.nix
+++ b/pkgs/development/python-modules/mitmproxy/default.nix
@@ -9,6 +9,7 @@
certifi,
cryptography,
fetchFromGitHub,
+ fetchPypi,
flask,
h11,
h2,
@@ -24,9 +25,11 @@
pyparsing,
pyperclip,
pytest-asyncio,
+ pytest-cov-stub,
pytest-timeout,
pytest-xdist,
pytestCheckHook,
+ pythonRelaxDepsHook,
requests,
ruamel-yaml,
setuptools,
@@ -37,6 +40,18 @@
zstandard,
}:
+let
+ # Workaround for https://github.com/mitmproxy/mitmproxy/pull/7953
+ # nixpkgs' aioquic was updated to 1.3.0, which contains breaking changes that are unpatched in mitmproxy as of right now
+ aioquic' = aioquic.overrideAttrs (old: rec {
+ version = "1.2.0";
+ src = fetchPypi {
+ pname = "aioquic";
+ inherit version;
+ hash = "sha256-+RJjuz9xlIxciRW01Q7jcABPIKQW9n+rPcyQVWx+cZk=";
+ };
+ });
+in
buildPythonPackage rec {
pname = "mitmproxy";
version = "12.2.1";
@@ -50,19 +65,23 @@ buildPythonPackage rec {
};
pythonRelaxDeps = [
- "urwid"
- "zstandard"
-
# requested by maintainer
"brotli"
# just keep those
"typing-extensions"
+
+ "urwid"
+ "asgiref"
+ "pyparsing"
+ "ruamel.yaml"
+ "tornado"
+ "wsproto"
];
build-system = [ setuptools ];
dependencies = [
- aioquic
+ aioquic'
argon2-cffi
asgiref
brotli
@@ -92,6 +111,7 @@ buildPythonPackage rec {
nativeCheckInputs = [
hypothesis
pytest-asyncio
+ pytest-cov-stub
pytest-timeout
pytest-xdist
pytestCheckHook
@@ -100,6 +120,12 @@ buildPythonPackage rec {
__darwinAllowLocalNetworking = true;
+ postPatch = ''
+ # Rename to fix pytest exception
+ substituteInPlace pyproject.toml \
+ --replace-warn "[tool.pytest.individual_coverage]" "[tool.mitmproxy.individual_coverage]"
+ '';
+
preCheck = ''
export HOME=$(mktemp -d)
'';
diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix
index f614db74c875..73859f9eee01 100644
--- a/pkgs/development/python-modules/mypy-boto3/default.nix
+++ b/pkgs/development/python-modules/mypy-boto3/default.nix
@@ -163,8 +163,8 @@ in
"sha256-uKbD5VkYnYO2PKd1Lp9PAg9+5p8X+LisT+N6TsqhZRY=";
mypy-boto3-batch =
- buildMypyBoto3Package "batch" "1.42.47"
- "sha256-A8fLv0hcx6fofnf807NJ/FjLLDwOAx3BHFG8Cmae53g=";
+ buildMypyBoto3Package "batch" "1.42.57"
+ "sha256-aP8CxnYZiQs/5mWsCfWSz4RSsRkqSDNXVGuesSw0xdg=";
mypy-boto3-billingconductor =
buildMypyBoto3Package "billingconductor" "1.42.7"
@@ -255,8 +255,8 @@ in
"sha256-S2NgrjralqxjjGo39TwaUSStqspnhI/E2/BLXUGP0Hc=";
mypy-boto3-cloudwatch =
- buildMypyBoto3Package "cloudwatch" "1.42.49"
- "sha256-KNDilDGBVmsRbN4IL6LF0MqE0oisoEzVGqnt8MDQl8c=";
+ buildMypyBoto3Package "cloudwatch" "1.42.56"
+ "sha256-Z5GriV29LChx+MDWhq5a2zlBjb1GUVmW4sgKWWZNDc8=";
mypy-boto3-codeartifact =
buildMypyBoto3Package "codeartifact" "1.42.3"
@@ -443,16 +443,16 @@ in
"sha256-92qhSUqTiLgbtvCdi/Mmgve18mcYR00ABL+bNy7/OnY=";
mypy-boto3-ec2 =
- buildMypyBoto3Package "ec2" "1.42.51"
- "sha256-yeQ1LX3GmyIyhwmXwFqft35S6DiMM4KtMKOJMKgLbSo=";
+ buildMypyBoto3Package "ec2" "1.42.57"
+ "sha256-P/cfTjEunqaGhsGudBoYpn0hhYrFcutfxzfsvYtUpQg=";
mypy-boto3-ec2-instance-connect =
buildMypyBoto3Package "ec2-instance-connect" "1.42.3"
"sha256-qe5aitxIPiQA2Et/+MtGVsnmWvk45Rg04/U/kR+tmK0=";
mypy-boto3-ecr =
- buildMypyBoto3Package "ecr" "1.42.53"
- "sha256-ZabWBbalFzrpoNRS3lGLIYo/6F9q4h3xOVNmBeCqMc8=";
+ buildMypyBoto3Package "ecr" "1.42.57"
+ "sha256-HWo7KIcJDl8Ioos1tDkaNNF1dfUY9Szbh54idTI6QTc=";
mypy-boto3-ecr-public =
buildMypyBoto3Package "ecr-public" "1.42.3"
@@ -511,8 +511,8 @@ in
"sha256-DyAxO4HPA98ON9Q2Sp5HF1lQNp8yecGiEaV12m0E7zM=";
mypy-boto3-es =
- buildMypyBoto3Package "es" "1.42.3"
- "sha256-LUatoDZMYamd9x0qPkbv0WikJ0txZmQRwd8J1Hczmvg=";
+ buildMypyBoto3Package "es" "1.42.56"
+ "sha256-52bnvdPDRbC/di9xSwDaoOqyNQIPXjqooUXVbypevaw=";
mypy-boto3-events =
buildMypyBoto3Package "events" "1.42.3"
@@ -862,8 +862,8 @@ in
"sha256-Z+TiVg/mjr0vTU+awHlS7GCynOeSl+IPl0n9GaLTsYE=";
mypy-boto3-medialive =
- buildMypyBoto3Package "medialive" "1.42.43"
- "sha256-gDG9tW/b6kg1GYeKNV3rD5Jco5+Si1xrvn9VQpAkZrM=";
+ buildMypyBoto3Package "medialive" "1.42.56"
+ "sha256-MshslPZEBNOuIPrs0w2No6g8UzXNouSdRgM7WAkXlbc=";
mypy-boto3-mediapackage =
buildMypyBoto3Package "mediapackage" "1.42.3"
@@ -938,8 +938,8 @@ in
"sha256-BkxJ1ilQTVsOqdq63kNtKyKqxrKrEXUkg3v6EN73HR8=";
mypy-boto3-neptune =
- buildMypyBoto3Package "neptune" "1.42.3"
- "sha256-npzoHPz/LS8q5fQOUT/niFRTZSEbOR8QquY7lt9huYE=";
+ buildMypyBoto3Package "neptune" "1.42.57"
+ "sha256-9oNjBSEUUy4OzQqYVCgujl86TOMyXCT2QMLDG3WU1Kc=";
mypy-boto3-neptunedata =
buildMypyBoto3Package "neptunedata" "1.42.45"
@@ -966,8 +966,8 @@ in
"sha256-o2X4h4K/Cf/TnZG3P5uDjdVmYJRcwPlv6DnSwdzOgc0=";
mypy-boto3-opensearch =
- buildMypyBoto3Package "opensearch" "1.42.13"
- "sha256-NVhi7X3TpxHLoalx2LTleKBXUiWElWdr4NGdOlnuoXk=";
+ buildMypyBoto3Package "opensearch" "1.42.56"
+ "sha256-yGLOtl1C0Y4F/Q1yDUEx0nR5VcqFFpdt80Eix/DZ5ts=";
mypy-boto3-opensearchserverless =
buildMypyBoto3Package "opensearchserverless" "1.42.29"
@@ -1394,8 +1394,8 @@ in
"sha256-FEl4TtWX042gUuznqlc25HoIbMcCKhE85uuJPh8Kt+E=";
mypy-boto3-wafv2 =
- buildMypyBoto3Package "wafv2" "1.42.3"
- "sha256-VWo+1TnWrbwmaXOwjeOIJoknL/XB5RjYGeTyL30E02Y=";
+ buildMypyBoto3Package "wafv2" "1.42.57"
+ "sha256-fCmLmGyNNPDQLK7eVKPPcimWQbodt3tgs/7F4MZW39Y=";
mypy-boto3-wellarchitected =
buildMypyBoto3Package "wellarchitected" "1.42.3"
diff --git a/pkgs/development/python-modules/mypy-boto3/update.sh b/pkgs/development/python-modules/mypy-boto3/update.sh
index 3e9b90693ad2..c1e929e2d2a9 100755
--- a/pkgs/development/python-modules/mypy-boto3/update.sh
+++ b/pkgs/development/python-modules/mypy-boto3/update.sh
@@ -5,7 +5,7 @@ set -eu -o pipefail
source_file=pkgs/development/python-modules/mypy-boto3/default.nix
-#nix-update python312Packages.botocore-stubs --commit --build
+#nix-update python3Packages.botocore-stubs --commit --build
packages=(
mypy-boto3-accessanalyzer
@@ -385,7 +385,7 @@ for package in "${packages[@]}"; do
nixfmt ${source_file}
- git commit ${source_file} -m "python312Packages.${package}: ${old_version} -> ${version}"
+ git commit ${source_file} -m "python3Packages.${package}: ${old_version} -> ${version}"
fi
done
diff --git a/pkgs/development/python-modules/pinecone-plugin-assistant/default.nix b/pkgs/development/python-modules/pinecone-plugin-assistant/default.nix
index 73184a3a1572..e21032893ab7 100644
--- a/pkgs/development/python-modules/pinecone-plugin-assistant/default.nix
+++ b/pkgs/development/python-modules/pinecone-plugin-assistant/default.nix
@@ -8,14 +8,14 @@
buildPythonPackage rec {
pname = "pinecone-plugin-assistant";
- version = "3.0.1";
+ version = "3.0.2";
pyproject = true;
src = fetchPypi {
pname = "pinecone_plugin_assistant";
inherit version;
- hash = "sha256-awDpTvG/Ve1gHSMW7m9x+W+TvyFVJ3qCZjg5XhCQ3eM=";
+ hash = "sha256-BBY68oKteJW1gauJ+FDtE55N3OpyAQyt+kxXN1nVyJY=";
};
build-system = [
diff --git a/pkgs/development/python-modules/plotly/default.nix b/pkgs/development/python-modules/plotly/default.nix
index 9dd75f482830..bc76cec9ef89 100644
--- a/pkgs/development/python-modules/plotly/default.nix
+++ b/pkgs/development/python-modules/plotly/default.nix
@@ -48,10 +48,28 @@ buildPythonPackage rec {
hash = "sha256-7rMatpaZvHuNPpiXR5eUHultqNnLER1iW+GR3dwgkyo=";
};
+ patches = [
+ # https://numpy.org/devdocs/release/2.4.0-notes.html#removed-interpolation-parameter-from-quantile-and-percentile-functions
+ # Upstream PR: https://github.com/plotly/plotly.py/pull/5505
+ ./numpy-2.4-percentile-interpolation.patch
+
+ # https://numpy.org/devdocs/release/2.4.0-notes.html#removed-numpy-in1d
+ # Upstream PR: https://github.com/plotly/plotly.py/pull/5522
+ ./numpy-2.4-in1d.patch
+ ];
+
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail '"hatch", ' "" \
--replace-fail "jupyter_packaging~=0.10.0" jupyter_packaging
+
+ # `pytest_ignore_collect` takes only `collection_path` starting with
+ # pytest 9. Most of the paths referenced in `plotly/conftest.py`
+ # don't exist anymore and wouldn't be collected anyway, so we can just
+ # remove the file.
+ # https://docs.pytest.org/en/latest/deprecations.html#py-path-local-arguments-for-hooks-replaced-with-pathlib-path
+ # Upstream PR: https://github.com/plotly/plotly.py/pull/5521
+ rm plotly/conftest.py
'';
env.SKIP_NPM = true;
diff --git a/pkgs/development/python-modules/plotly/numpy-2.4-in1d.patch b/pkgs/development/python-modules/plotly/numpy-2.4-in1d.patch
new file mode 100644
index 000000000000..b6229478184d
--- /dev/null
+++ b/pkgs/development/python-modules/plotly/numpy-2.4-in1d.patch
@@ -0,0 +1,38 @@
+From 9531e7ff00be577560f2cebf6739343646d3c770 Mon Sep 17 00:00:00 2001
+From: Tom Hunze
+Date: Mon, 23 Feb 2026 19:21:45 +0100
+Subject: [PATCH] Use `np.isin` instead of `np.in1d` to fix numpy 2.4 test
+ compatibility
+
+https://numpy.org/devdocs/release/2.4.0-notes.html#removed-numpy-in1d
+---
+ tests/test_optional/test_px/test_px.py | 2 +-
+ tests/test_optional/test_px/test_px_functions.py | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tests/test_optional/test_px/test_px.py b/tests/test_optional/test_px/test_px.py
+index 6c65925a727..a74c4680540 100644
+--- a/tests/test_optional/test_px/test_px.py
++++ b/tests/test_optional/test_px/test_px.py
+@@ -36,7 +36,7 @@ def test_custom_data_scatter(backend):
+ )
+ for data in fig.data:
+ assert np.all(
+- np.in1d(data.customdata[:, 1], iris.get_column("petal_width").to_numpy())
++ np.isin(data.customdata[:, 1], iris.get_column("petal_width").to_numpy())
+ )
+ # Hover and custom data, no repeated arguments
+ fig = px.scatter(
+diff --git a/tests/test_optional/test_px/test_px_functions.py b/tests/test_optional/test_px/test_px_functions.py
+index 0814898f89d..8220ec7a33a 100644
+--- a/tests/test_optional/test_px/test_px_functions.py
++++ b/tests/test_optional/test_px/test_px_functions.py
+@@ -307,7 +307,7 @@ def test_sunburst_treemap_with_path_color(constructor):
+ fig = px.sunburst(
+ df.to_native(), path=path, color="sectors", color_discrete_map=cmap
+ )
+- assert np.all(np.in1d(fig.data[0].marker.colors, list(cmap.values())))
++ assert np.all(np.isin(fig.data[0].marker.colors, list(cmap.values())))
+
+ # Numerical column in path
+ df = (
diff --git a/pkgs/development/python-modules/plotly/numpy-2.4-percentile-interpolation.patch b/pkgs/development/python-modules/plotly/numpy-2.4-percentile-interpolation.patch
new file mode 100644
index 000000000000..d5d945e473a4
--- /dev/null
+++ b/pkgs/development/python-modules/plotly/numpy-2.4-percentile-interpolation.patch
@@ -0,0 +1,17 @@
+diff --git a/plotly/figure_factory/_violin.py b/plotly/figure_factory/_violin.py
+index 55924e692..e89db0e11 100644
+--- a/plotly/figure_factory/_violin.py
++++ b/plotly/figure_factory/_violin.py
+@@ -17,9 +17,9 @@ def calc_stats(data):
+ x = np.asarray(data, float)
+ vals_min = np.min(x)
+ vals_max = np.max(x)
+- q2 = np.percentile(x, 50, interpolation="linear")
+- q1 = np.percentile(x, 25, interpolation="lower")
+- q3 = np.percentile(x, 75, interpolation="higher")
++ q2 = np.percentile(x, 50, method="linear")
++ q1 = np.percentile(x, 25, method="lower")
++ q3 = np.percentile(x, 75, method="higher")
+ iqr = q3 - q1
+ whisker_dist = 1.5 * iqr
+
diff --git a/pkgs/development/python-modules/pproxy/default.nix b/pkgs/development/python-modules/pproxy/default.nix
index 8e33dff6f88e..39b9f9f582ea 100644
--- a/pkgs/development/python-modules/pproxy/default.nix
+++ b/pkgs/development/python-modules/pproxy/default.nix
@@ -18,8 +18,8 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "qwj";
repo = "python-proxy";
- rev = "7fccf8dd62204f34b0aa3a70fc568fd6ddff7728";
- sha256 = "sha256-bOqDdNiaZ5MRi/UeF0hJwMs+rfQBKRsTmXrZ6ieIguo=";
+ tag = version;
+ hash = "sha256-DWxbU2LtXzec1T175cMVJuWuhnxWYhe0FH67stMyOTM=";
};
nativeBuildInputs = [ setuptools ];
@@ -58,6 +58,6 @@ buildPythonPackage rec {
mainProgram = "pproxy";
homepage = "https://github.com/qwj/python-proxy";
license = lib.licenses.mit;
- maintainers = [ ];
+ maintainers = [ lib.maintainers.ryand56 ];
};
}
diff --git a/pkgs/development/python-modules/publicsuffixlist/default.nix b/pkgs/development/python-modules/publicsuffixlist/default.nix
index 345291fefba1..24032e6f6723 100644
--- a/pkgs/development/python-modules/publicsuffixlist/default.nix
+++ b/pkgs/development/python-modules/publicsuffixlist/default.nix
@@ -11,12 +11,12 @@
buildPythonPackage (finalAttrs: {
pname = "publicsuffixlist";
- version = "1.0.2.20260220";
+ version = "1.0.2.20260226";
pyproject = true;
src = fetchPypi {
inherit (finalAttrs) pname version;
- hash = "sha256-bqycplhOPDTD+3/ixsunRNE9d6J4BUpscrdEQG/CEP0=";
+ hash = "sha256-WbtWjyBMejYyqBsKArES1s6qvizbWdCnAVQQPpAs4HM=";
};
postPatch = ''
diff --git a/pkgs/development/python-modules/py-iam-expand/default.nix b/pkgs/development/python-modules/py-iam-expand/default.nix
index 4b0ee718f0d3..0a8d9c1087d8 100644
--- a/pkgs/development/python-modules/py-iam-expand/default.nix
+++ b/pkgs/development/python-modules/py-iam-expand/default.nix
@@ -7,16 +7,16 @@
pytestCheckHook,
}:
-buildPythonPackage rec {
+buildPythonPackage (finalAttrs: {
pname = "py-iam-expand";
- version = "0.2.0";
+ version = "0.3.0";
pyproject = true;
src = fetchFromGitHub {
owner = "prowler-cloud";
repo = "py-iam-expand";
- tag = version;
- hash = "sha256-P6PWf7qkc/8/BeRycYgvFApIaUrbhKq4h718Nrs817U=";
+ tag = finalAttrs.version;
+ hash = "sha256-qe3eph3bvVy6Yql76e/OecHAXggp/KNLG1k0iWy4K1w=";
};
build-system = [ poetry-core ];
@@ -30,8 +30,8 @@ buildPythonPackage rec {
meta = {
description = "Module to expand and deobfuscate AWS IAM actions";
homepage = "https://github.com/prowler-cloud/py-iam-expand";
- changelog = "https://github.com/prowler-cloud/py-iam-expand/releases/tag/${src.tag}";
+ changelog = "https://github.com/prowler-cloud/py-iam-expand/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ fab ];
};
-}
+})
diff --git a/pkgs/development/python-modules/py3dtiles/default.nix b/pkgs/development/python-modules/py3dtiles/default.nix
index 8a8ccfa66db1..3363e45102b0 100644
--- a/pkgs/development/python-modules/py3dtiles/default.nix
+++ b/pkgs/development/python-modules/py3dtiles/default.nix
@@ -1,6 +1,5 @@
{
lib,
- fetchpatch2,
fetchFromGitLab,
addBinToPathHook,
@@ -47,21 +46,17 @@ buildPythonPackage (finalAttrs: {
hash = "sha256-m8c+g9XXbg9OSC+NNoQkw4RKXvNFRIPWkDjAs6oH3kc=";
};
- patches = [
- # Remove in the next version
- # Patch to avoid using pythonRelaxDeps
- (fetchpatch2 {
- url = "https://gitlab.com/py3dtiles/py3dtiles/-/commit/0f60691434b9ad4afebec29b2eedfcbbe0b8420d.patch";
- includes = [ "pyproject.toml" ];
- hash = "sha256-TLoKeltI1xxSONX0uu56HKl2fXzAp1ufunsBPRr5Pus=";
- })
- ];
-
build-system = [
setuptools
setuptools-scm
];
+ pythonRelaxDeps = [
+ "mapbox_earcut"
+ "numba"
+ "numpy"
+ "pyzmq"
+ ];
dependencies = [
lz4
mapbox-earcut
diff --git a/pkgs/development/python-modules/pycdlib/default.nix b/pkgs/development/python-modules/pycdlib/default.nix
new file mode 100644
index 000000000000..c70487766e36
--- /dev/null
+++ b/pkgs/development/python-modules/pycdlib/default.nix
@@ -0,0 +1,49 @@
+{
+ lib,
+ buildPythonPackage,
+ fetchFromGitHub,
+ setuptools,
+ pytestCheckHook,
+}:
+
+buildPythonPackage rec {
+ pname = "pycdlib";
+ version = "1.15.0";
+ pyproject = true;
+
+ src = fetchFromGitHub {
+ owner = "clalancette";
+ repo = "pycdlib";
+ tag = "v${version}";
+ hash = "sha256-BD33nA60x6YvwkYGXPA0E6s8N/XhWaY/+tTRbFN9ai4=";
+ };
+
+ build-system = [ setuptools ];
+
+ nativeCheckInputs = [ pytestCheckHook ];
+
+ disabledTestPaths = [
+ # These tests require a Fedora-patched genisoimage
+ "tests/integration/test_hybrid.py"
+ "tests/integration/test_parse.py"
+ "tests/tools/test_pycdlib_genisoimage.py"
+ ];
+
+ disabledTests = [
+ # Timezone-dependent tests fail in the sandbox
+ "test_volumedescdate_new_nonzero"
+ "test_gmtoffset_from_tm"
+ "test_gmtoffset_from_tm_day_rollover"
+ "test_gmtoffset_from_tm_2023_rollover"
+ ];
+
+ pythonImportsCheck = [ "pycdlib" ];
+
+ meta = {
+ description = "Pure python library to read and write ISO9660 files";
+ homepage = "https://github.com/clalancette/pycdlib";
+ license = lib.licenses.lgpl2Only;
+ maintainers = with lib.maintainers; [ Enzime ];
+ platforms = lib.platforms.all;
+ };
+}
diff --git a/pkgs/development/python-modules/pycookiecheat/default.nix b/pkgs/development/python-modules/pycookiecheat/default.nix
index c6524a7b7e2d..652806390e30 100644
--- a/pkgs/development/python-modules/pycookiecheat/default.nix
+++ b/pkgs/development/python-modules/pycookiecheat/default.nix
@@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "pycookiecheat";
- version = "0.11";
+ version = "0.8.0";
pyproject = true;
src = fetchFromGitHub {
owner = "n8henrie";
repo = "pycookiecheat";
- tag = version;
- hash = "sha256-hP4J41ctAkrC6HIeKu6ITzK3W0PB7/tCz0cjP42I/J8=";
+ tag = "v${version}";
+ hash = "sha256-jOyTfh2ZhKW/pMU7T5tfxaM0l/g59N+mirnbc0FLPbQ=";
};
pythonRelaxDeps = [
@@ -64,7 +64,7 @@ buildPythonPackage rec {
meta = {
description = "Borrow cookies from your browser's authenticated session for use in Python scripts";
homepage = "https://github.com/n8henrie/pycookiecheat";
- changelog = "https://github.com/n8henrie/pycookiecheat/blob/${src.tag}/CHANGELOG.md";
+ changelog = "https://github.com/n8henrie/pycookiecheat/blob/v${version}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
fab
diff --git a/pkgs/development/python-modules/python-gvm/default.nix b/pkgs/development/python-modules/python-gvm/default.nix
index 65b81d735ad3..bf2aebbc6da1 100644
--- a/pkgs/development/python-modules/python-gvm/default.nix
+++ b/pkgs/development/python-modules/python-gvm/default.nix
@@ -14,14 +14,14 @@
buildPythonPackage (finalAttrs: {
pname = "python-gvm";
- version = "26.9.1";
+ version = "26.10.0";
pyproject = true;
src = fetchFromGitHub {
owner = "greenbone";
repo = "python-gvm";
tag = "v${finalAttrs.version}";
- hash = "sha256-ZClhWPo0Tnx62RE/YzADq2QmUnpWdPBX98IIXK0sfOA=";
+ hash = "sha256-8xrjgKFzSn5dThp+z36q3WLTKvIiCVGO9rlkSxa6++w=";
};
build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/python-heatclient/default.nix b/pkgs/development/python-modules/python-heatclient/default.nix
index f0ae95acce82..4a57db373570 100644
--- a/pkgs/development/python-modules/python-heatclient/default.nix
+++ b/pkgs/development/python-modules/python-heatclient/default.nix
@@ -26,14 +26,14 @@
buildPythonPackage (finalAttrs: {
pname = "python-heatclient";
- version = "5.0.0";
+ version = "5.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "openstack";
repo = "python-heatclient";
tag = finalAttrs.version;
- hash = "sha256-BpxUUQTBZLR89ks31q5BcBajIP2vcD3Oot1dsXLalX4=";
+ hash = "sha256-KUFpFqjFtuF9VFQ0Fn9oVQSpwsocZhKY6vWtqpefUJs=";
};
env.PBR_VERSION = finalAttrs.version;
diff --git a/pkgs/development/python-modules/qdrant-client/default.nix b/pkgs/development/python-modules/qdrant-client/default.nix
index a90cfeb26ef3..01b89ed34478 100644
--- a/pkgs/development/python-modules/qdrant-client/default.nix
+++ b/pkgs/development/python-modules/qdrant-client/default.nix
@@ -17,14 +17,14 @@
buildPythonPackage rec {
pname = "qdrant-client";
- version = "1.16.2";
+ version = "1.17.0";
pyproject = true;
src = fetchFromGitHub {
owner = "qdrant";
repo = "qdrant-client";
tag = "v${version}";
- hash = "sha256-sOZDQmwiTz3lZ1lR0xJDxMmNc5QauWLJV5Ida2INibY=";
+ hash = "sha256-4FH1YXoHDSOs0Tg+FkxEGtLhkNYZUhdIy4L0aYcMyM8=";
};
build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/qualysclient/default.nix b/pkgs/development/python-modules/qualysclient/default.nix
index ebd9aad0ae63..960bfdbda792 100644
--- a/pkgs/development/python-modules/qualysclient/default.nix
+++ b/pkgs/development/python-modules/qualysclient/default.nix
@@ -14,21 +14,21 @@
urllib3,
}:
-buildPythonPackage rec {
+buildPythonPackage (finalAttrs: {
pname = "qualysclient";
- version = "0.0.4.8.3";
+ version = "0.0.4.8.4";
pyproject = true;
src = fetchFromGitHub {
owner = "woodtechie1428";
repo = "qualysclient";
- tag = "v${version}";
- hash = "sha256-+SZICysgSC4XeXC9CCl6Yxb47V9c1eMp7KcpH8J7kK0=";
+ tag = "v${finalAttrs.version}";
+ hash = "sha256-2m/WHxkomHBudWpFpsgXHN8n+hfLU+lf9fvxhh/3HjA=";
};
postPatch = ''
substituteInPlace setup.py \
- --replace-fail "version=__version__," 'version="${version}",'
+ --replace-fail "version=__version__," 'version="${finalAttrs.version}",'
'';
build-system = [ setuptools ];
@@ -53,8 +53,8 @@ buildPythonPackage rec {
meta = {
description = "Python SDK for interacting with the Qualys API";
homepage = "https://qualysclient.readthedocs.io/";
- changelog = "https://github.com/woodtechie1428/qualysclient/releases/tag/v${version}";
+ changelog = "https://github.com/woodtechie1428/qualysclient/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ fab ];
};
-}
+})
diff --git a/pkgs/development/python-modules/requests-hardened/default.nix b/pkgs/development/python-modules/requests-hardened/default.nix
new file mode 100644
index 000000000000..d1078070bfc3
--- /dev/null
+++ b/pkgs/development/python-modules/requests-hardened/default.nix
@@ -0,0 +1,46 @@
+{
+ lib,
+ buildPythonPackage,
+ fetchFromGitHub,
+
+ poetry-core,
+ requests,
+
+ pproxy,
+ pytest-socket,
+ pysocks,
+ trustme,
+ pytestCheckHook,
+}:
+buildPythonPackage rec {
+ pname = "requests-hardened";
+ version = "1.2.0";
+ pyproject = true;
+
+ src = fetchFromGitHub {
+ owner = "saleor";
+ repo = "requests-hardened";
+ tag = "v${version}";
+ hash = "sha256-J4xQY2W5upJQ3hrA2hjkw8voLpxNPpekNwmyMKKAVAo=";
+ };
+
+ build-system = [ poetry-core ];
+ dependencies = [ requests ];
+
+ nativeCheckInputs = [
+ pproxy
+ pytest-socket
+ pysocks
+ trustme
+ pytestCheckHook
+ ];
+
+ pythonImportsCheck = [ "requests_hardened" ];
+
+ meta = {
+ description = "Library that adds hardened behavior to python requests";
+ homepage = "https://github.com/saleor/requests-hardened";
+ license = lib.licenses.bsd3;
+ maintainers = [ lib.maintainers.ryand56 ];
+ };
+}
diff --git a/pkgs/development/python-modules/rst2ansi/default.nix b/pkgs/development/python-modules/rst2ansi/default.nix
index e74e64f800a5..f5e3fd63d1fb 100644
--- a/pkgs/development/python-modules/rst2ansi/default.nix
+++ b/pkgs/development/python-modules/rst2ansi/default.nix
@@ -1,18 +1,20 @@
{
lib,
buildPythonPackage,
- fetchPypi,
+ fetchFromGitHub,
docutils,
}:
-buildPythonPackage rec {
+buildPythonPackage {
pname = "rst2ansi";
- version = "0.1.5";
+ version = "0.1.5-unstable-2025-02-12";
format = "setuptools";
- src = fetchPypi {
- inherit pname version;
- hash = "sha256-Gxf7mmKNQPV5M60aOqlSNGREvgaUaVCOc+lQYNoz/m8=";
+ src = fetchFromGitHub {
+ owner = "Snaipe";
+ repo = "python-rst2ansi";
+ rev = "3728e16f8b8b1dc338e5df90ba2c4a93ee054b3f";
+ hash = "sha256-V7tl/YJcPvEgBfH334t6CU7OXKQqBqRo/zZPiOlyCmE=";
};
propagatedBuildInputs = [ docutils ];
diff --git a/pkgs/development/python-modules/samplerate/default.nix b/pkgs/development/python-modules/samplerate/default.nix
index 5c2eb0e33e6e..2812c7ba4c07 100644
--- a/pkgs/development/python-modules/samplerate/default.nix
+++ b/pkgs/development/python-modules/samplerate/default.nix
@@ -18,9 +18,10 @@
# tests
pytestCheckHook,
+ pythonAtLeast,
}:
-buildPythonPackage rec {
+buildPythonPackage (finalAttrs: {
pname = "samplerate";
version = "0.2.3";
pyproject = true;
@@ -28,7 +29,7 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "tuxu";
repo = "python-samplerate";
- tag = "v${version}";
+ tag = "v${finalAttrs.version}";
hash = "sha256-7FAdIqsYCapmEAYiAuoS5m/jFExXZX3hn3kwxn9NWEc=";
};
@@ -37,8 +38,8 @@ buildPythonPackage rec {
./numpy-2.4-compat.patch
];
+ # unvendor pybind11, libsamplerate
postPatch = ''
- # unvendor pybind11, libsamplerate
rm -r external
substituteInPlace CMakeLists.txt \
--replace-fail "add_subdirectory(external)" "find_package(pybind11 REQUIRED)"
@@ -55,7 +56,7 @@ buildPythonPackage rec {
buildInputs = [ libsamplerate ];
- propagatedBuildInputs = [
+ dependencies = [
cffi
numpy
];
@@ -68,11 +69,18 @@ buildPythonPackage rec {
rm -rf samplerate
'';
+ disabledTests = lib.optionals (pythonAtLeast "3.14") [
+ # ValueError: cannot resize an array that references or is referenced
+ "test_callback_with_2x"
+ "test_process"
+ "test_resize"
+ ];
+
meta = {
description = "Python bindings for libsamplerate based on CFFI and NumPy";
homepage = "https://github.com/tuxu/python-samplerate";
- changelog = "https://github.com/tuxu/python-samplerate/releases/tag/${src.tag}";
+ changelog = "https://github.com/tuxu/python-samplerate/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ hexa ];
};
-}
+})
diff --git a/pkgs/development/python-modules/scikit-hep-testdata/default.nix b/pkgs/development/python-modules/scikit-hep-testdata/default.nix
index a792adea40de..cfab7955bb02 100644
--- a/pkgs/development/python-modules/scikit-hep-testdata/default.nix
+++ b/pkgs/development/python-modules/scikit-hep-testdata/default.nix
@@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "scikit-hep-testdata";
- version = "0.6.0";
+ version = "0.6.2";
pyproject = true;
src = fetchFromGitHub {
owner = "scikit-hep";
repo = "scikit-hep-testdata";
tag = "v${version}";
- hash = "sha256-mefyBbZRHNwCApnkhB0xrTLiQl9G+JsVNEaW2PDa6AM=";
+ hash = "sha256-RA/A8av/KXVimktrjU4lHHMw+SokS7niB6zWhgZ4+IQ=";
};
build-system = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/svgdigitizer/default.nix b/pkgs/development/python-modules/svgdigitizer/default.nix
index 1c12a5f258be..99e363c86928 100644
--- a/pkgs/development/python-modules/svgdigitizer/default.nix
+++ b/pkgs/development/python-modules/svgdigitizer/default.nix
@@ -28,14 +28,14 @@
buildPythonPackage rec {
pname = "svgdigitizer";
- version = "0.14.1";
+ version = "0.14.2";
pyproject = true;
src = fetchFromGitHub {
owner = "echemdb";
repo = "svgdigitizer";
tag = version;
- hash = "sha256-ZOR9CviQhPyJQjbLpR53ZVwaarrICg87vtzCL1nq+jE=";
+ hash = "sha256-7F1q0AvkeqLIoWDNNBUc/91caiQ7kdIcKOkvdAajsLI=";
};
build-system = [
diff --git a/pkgs/development/python-modules/uiprotect/default.nix b/pkgs/development/python-modules/uiprotect/default.nix
index 37ef1c99419e..20f93da2d10f 100644
--- a/pkgs/development/python-modules/uiprotect/default.nix
+++ b/pkgs/development/python-modules/uiprotect/default.nix
@@ -38,14 +38,14 @@
buildPythonPackage (finalAttrs: {
pname = "uiprotect";
- version = "10.1.0";
+ version = "10.2.1";
pyproject = true;
src = fetchFromGitHub {
owner = "uilibs";
repo = "uiprotect";
tag = "v${finalAttrs.version}";
- hash = "sha256-tQeDZMukKg3xL/tGeQ7+Rm3lzNJQEcDkErbLfKnaxN8=";
+ hash = "sha256-4zgE5XbjCZzu+Ug66cgKy/Zqy1oyTDIVsPpyDrcra24=";
};
build-system = [ poetry-core ];
diff --git a/pkgs/development/rocq-modules/rocq-elpi/default.nix b/pkgs/development/rocq-modules/rocq-elpi/default.nix
index 890395f7af27..7a50a127796e 100644
--- a/pkgs/development/rocq-modules/rocq-elpi/default.nix
+++ b/pkgs/development/rocq-modules/rocq-elpi/default.nix
@@ -17,7 +17,7 @@ let
in
with lib.versions;
lib.switch rocq-core.rocq-version [
- (case (range "9.0" "9.1") "3.4.2")
+ (case (range "9.0" "9.1") "3.4.5")
(case (range "9.0" "9.1") "2.0.7")
] { };
elpi = rocq-core.ocamlPackages.elpi.override { version = default-elpi-version; };
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix b/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
index 5f73f419f420..1ece2268541f 100644
--- a/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
@@ -12,7 +12,7 @@
sedlex,
version ?
if lib.versionAtLeast ocaml.version "4.13" then
- "6.2.0"
+ "6.3.2"
else if lib.versionAtLeast ocaml.version "4.11" then
"6.0.1"
else
@@ -27,6 +27,7 @@ buildDunePackage {
url = "https://github.com/ocsigen/js_of_ocaml/releases/download/${version}/js_of_ocaml-${version}.tbz";
hash =
{
+ "6.3.2" = "sha256-qTr8llTsNGRwH7zg3M86i+uVCKyxLGBFd2vyzxBsq8A=";
"6.2.0" = "sha256-fMZBd40bFyo1KogzPuDoxiE2WgrPzZuH44v9243Spdo=";
"6.1.1" = "sha256-0x2kGq5hwCqqi01QTk6TcFIz0wPNgaB7tKxe7bA9YBQ=";
"6.0.1" = "sha256-gT2+4rYuFUEEnqI6IOQFzyROJ+v6mFl4XPpT4obSxhQ=";
diff --git a/pkgs/os-specific/linux/kernel/zen-kernels.nix b/pkgs/os-specific/linux/kernel/zen-kernels.nix
index 0ac820b9fc0e..df5f489921a0 100644
--- a/pkgs/os-specific/linux/kernel/zen-kernels.nix
+++ b/pkgs/os-specific/linux/kernel/zen-kernels.nix
@@ -16,9 +16,9 @@ let
variants = {
# ./update-zen.py zen
zen = {
- version = "6.18.9"; # zen
+ version = "6.18.13"; # zen
suffix = "zen1"; # zen
- sha256 = "1kwb5lbm3y7nhsyx18fhpc3852v76lyl74008rjai9shr3p4zp40"; # zen
+ sha256 = "0x6s3pa7c6zlvr3w2fv6i15v54cy1pschvgk7b4vrzx1bcrjdxf7"; # zen
isLqx = false;
};
# ./update-zen.py lqx
diff --git a/pkgs/os-specific/linux/kmod/default.nix b/pkgs/os-specific/linux/kmod/default.nix
index 11a00c6261cf..795031af1a7f 100644
--- a/pkgs/os-specific/linux/kmod/default.nix
+++ b/pkgs/os-specific/linux/kmod/default.nix
@@ -87,13 +87,26 @@ stdenv.mkDerivation rec {
++ lib.optional withStatic "--enable-static";
patches = [
+ # Accept multiple default kernel module dirs at build-time, instead
+ # of hardcoding a single /lib/modules, and adjust module search logic
+ # accordingly (to account for multiple default directories)
./module-dir.patch
+
+ # Use portable implementation for basename API
+ #
+ # musl has removed the non-prototype declaration of basename from string.h
+ # which now results in build errors with clang-17+ compiler
+ #
+ # Implement GNU basename behavior using strchr which is portable across libcs
+ #
+ # Fixes "call to undeclared function 'basename'" error on clang+musl
(fetchpatch {
name = "musl.patch";
url = "https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git/patch/?id=11eb9bc67c319900ab00523997323a97d2d08ad2";
hash = "sha256-CYG615elMWces6QGQRg2H/NL7W4XsG9Zvz5H+xsdFFo=";
})
]
+ # Force configure.ac to accept --enable-static (no other changes necessary)
++ lib.optional withStatic ./enable-static.patch;
postInstall = ''
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 77249d624c72..b740f4aebd7a 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -2260,7 +2260,8 @@
];
"green_planet_energy" =
ps: with ps; [
- ]; # missing inputs: greenplanet-energy-api
+ greenplanet-energy-api
+ ];
"greeneye_monitor" =
ps: with ps; [
greeneye-monitor
@@ -7498,6 +7499,7 @@
"gpslogger"
"graphite"
"gree"
+ "green_planet_energy"
"greeneye_monitor"
"group"
"growatt_server"
diff --git a/pkgs/servers/home-assistant/custom-components/daikin_onecta/package.nix b/pkgs/servers/home-assistant/custom-components/daikin_onecta/package.nix
index a5b710c028a6..c1097e4e0a84 100644
--- a/pkgs/servers/home-assistant/custom-components/daikin_onecta/package.nix
+++ b/pkgs/servers/home-assistant/custom-components/daikin_onecta/package.nix
@@ -7,13 +7,13 @@
buildHomeAssistantComponent rec {
owner = "jwillemsen";
domain = "daikin_onecta";
- version = "4.4.8";
+ version = "4.4.9";
src = fetchFromGitHub {
owner = "jwillemsen";
repo = "daikin_onecta";
tag = "v${version}";
- hash = "sha256-NbMZGX2MchjoNwsUxs6CjQzkz1bJEucRHgpuFyVU3u0=";
+ hash = "sha256-Ra1KL4t3aNECQuAfdqaIOctIb0qvrk43+bAh3YlpGbM=";
};
meta = {
diff --git a/pkgs/servers/mastodon/source.nix b/pkgs/servers/mastodon/source.nix
index 70bba321fca5..6c578b2d0930 100644
--- a/pkgs/servers/mastodon/source.nix
+++ b/pkgs/servers/mastodon/source.nix
@@ -5,14 +5,14 @@
patches ? [ ],
}:
let
- version = "4.5.6";
+ version = "4.5.7";
in
applyPatches {
src = fetchFromGitHub {
owner = "mastodon";
repo = "mastodon";
rev = "v${version}";
- hash = "sha256-m2LDNyv2jxsp5zPKOfQWvtBG8bD8iuBWBEoz+L0OvNk=";
+ hash = "sha256-+JRoUtRI7vTQG8eLpJxMhQMAR2FeIzGfJtR9pj0sW3A=";
passthru = {
inherit version;
yarnHash = "sha256-2MOl6kHidkGU2I/cZaUmbQCiEl9SDfL/j9fT/6eNdFA=";
diff --git a/pkgs/servers/mir/common.nix b/pkgs/servers/mir/common.nix
index fa19b6d35f01..b9e7c4e3a3f6 100644
--- a/pkgs/servers/mir/common.nix
+++ b/pkgs/servers/mir/common.nix
@@ -96,6 +96,14 @@ stdenv.mkDerivation (
substituteInPlace src/platform/graphics/CMakeLists.txt \
--replace-fail "/usr/include/drm/drm_fourcc.h" "${lib.getDev libdrm}/include/libdrm/drm_fourcc.h" \
--replace-fail "/usr/include/libdrm/drm_fourcc.h" "${lib.getDev libdrm}/include/libdrm/drm_fourcc.h"
+ ''
+ # Boost.System was deprecated & dropped
+ + lib.optionalString (lib.strings.versionOlder version "2.23.0") ''
+ substituteInPlace \
+ tests/CMakeLists.txt \
+ tests/unit-tests/CMakeLists.txt \
+ tests/mir_test_framework/CMakeLists.txt \
+ --replace-fail 'Boost::system' ""
'';
strictDeps = true;
diff --git a/pkgs/servers/mir/default.nix b/pkgs/servers/mir/default.nix
index 4671f0ddca2c..86e5c791a886 100644
--- a/pkgs/servers/mir/default.nix
+++ b/pkgs/servers/mir/default.nix
@@ -110,6 +110,23 @@ in
];
hash = "sha256-gzLVQW9Z6y+s2D7pKtp0ondQrjkzZ5iUYhGDPqFXD5M=";
})
+
+ # Drop deprecated & removed Boost.System
+ # Remove when version > 2.22.2
+ (fetchpatch {
+ name = "0301-mir-Disable-boost_system.patch";
+ url = "https://github.com/canonical/mir/commit/0261aa6ce700311ee2b8723294451cdade1bc219.patch";
+ excludes = [
+ # hunk errors
+ "tests/CMakeLists.txt"
+ "tests/mir_test_framework/CMakeLists.txt"
+ "tests/unit-tests/CMakeLists.txt"
+
+ # doesn't exist
+ "tests/window_management_tests/CMakeLists.txt"
+ ];
+ hash = "sha256-UqClQFHzA1th2P7NH67dMJtncw8n/ey9RlPD5Z3VPk0=";
+ })
];
};
}
diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix
index cfc08ba9847f..27f8c854ec7e 100644
--- a/pkgs/stdenv/generic/check-meta.nix
+++ b/pkgs/stdenv/generic/check-meta.nix
@@ -10,10 +10,8 @@
let
inherit (lib)
all
- attrNames
attrValues
concatMapStrings
- concatMapStringsSep
concatStrings
filter
findFirst
@@ -26,7 +24,8 @@ let
optionalString
isAttrs
isString
- mapAttrs
+ warn
+ foldl'
;
inherit (lib.lists)
@@ -49,15 +48,17 @@ let
inherit (builtins)
getEnv
- trace
;
+ inherit (import ./problems.nix { inherit lib; })
+ problemsType
+ genCheckProblems
+ ;
+ checkProblems = genCheckProblems config;
+
# If we're in hydra, we can dispense with the more verbose error
# messages and make problems easier to spot.
inHydra = config.inHydra or false;
- # Allow the user to opt-into additional warnings, e.g.
- # import { config = { showDerivationWarnings = [ "maintainerless" ]; }; }
- showWarnings = config.showDerivationWarnings;
getNameWithVersion =
attrs: attrs.name or "${attrs.pname or "«name-missing»"}-${attrs.version or "«version-missing»"}";
@@ -118,21 +119,6 @@ let
hasUnfreeLicense = attrs: attrs ? meta.license && isUnfree attrs.meta.license;
- hasNoMaintainers =
- # To get usable output, we want to avoid flagging "internal" derivations.
- # Because we do not have a way to reliably decide between internal or
- # external derivation, some heuristics are required to decide.
- #
- # If `outputHash` is defined, the derivation is a FOD, such as the output of a fetcher.
- # If `description` is not defined, the derivation is probably not a package.
- # Simply checking whether `meta` is defined is insufficient,
- # as some fetchers and trivial builders do define meta.
- attrs:
- (!attrs ? outputHash)
- && (attrs ? meta.description)
- && (attrs.meta.maintainers or [ ] == [ ])
- && (attrs.meta.teams or [ ] == [ ]);
-
isMarkedBroken = attrs: attrs.meta.broken or false;
# Allow granular checks to allow only some broken packages
@@ -317,7 +303,7 @@ let
${concatStrings (map (output: " - ${output}\n") missingOutputs)}
'';
- metaTypes =
+ metaType =
let
types = import ./meta-types.nix { inherit lib; };
inherit (types)
@@ -329,13 +315,14 @@ let
any
listOf
bool
+ record
;
platforms = listOf (union [
str
(attrsOf any)
]); # see lib.meta.platformMatch
in
- {
+ record {
# These keys are documented
description = str;
mainProgram = str;
@@ -374,6 +361,8 @@ let
unfree = bool;
unsupported = bool;
insecure = bool;
+ # This is checked in more detail further down
+ problems = problemsType;
timeout = int;
knownVulnerabilities = listOf str;
badPlatforms = platforms;
@@ -404,34 +393,7 @@ let
identifiers = attrs;
};
- # Map attrs directly to the verify function for performance
- metaTypes' = mapAttrs (_: t: t.verify) metaTypes;
-
- checkMetaAttr =
- k: v:
- if metaTypes ? ${k} then
- if metaTypes'.${k} v then
- [ ]
- else
- [
- "key 'meta.${k}' has invalid value; expected ${metaTypes.${k}.name}, got\n ${
- toPretty { indent = " "; } v
- }"
- ]
- else
- [
- "key 'meta.${k}' is unrecognized; expected one of: \n [${
- concatMapStringsSep ", " (x: "'${x}'") (attrNames metaTypes)
- }]"
- ];
-
- checkMeta = meta: concatMap (attr: checkMetaAttr attr meta.${attr}) (attrNames meta);
-
- metaInvalid =
- if config.checkMeta then
- meta: !all (attr: metaTypes ? ${attr} && metaTypes'.${attr} meta.${attr}) (attrNames meta)
- else
- meta: false;
+ metaInvalid = if config.checkMeta then meta: !metaType.verify meta else meta: false;
checkOutputsToInstall =
if config.checkMeta then
@@ -447,7 +409,7 @@ let
# e.g brokenness or license.
#
# Return { valid: "yes", "warn" or "no" } and additionally
- # { reason: String; errormsg: String, remediation: String } if it is not valid, where
+ # { reason: String; msg: String, remediation: String } if it is not valid, where
# reason is one of "unfree", "blocklisted", "broken", "insecure", ...
# !!! reason strings are hardcoded into OfBorg, make sure to keep them in sync
# Along with a boolean flag for each reason
@@ -458,8 +420,8 @@ let
if metaInvalid (attrs.meta or { }) then
{
reason = "unknown-meta";
- errormsg = "has an invalid meta attrset:${
- concatMapStrings (x: "\n - " + x) (checkMeta attrs.meta)
+ msg = "has an invalid meta attrset:${
+ concatMapStrings (x: "\n - " + x) (metaType.errors "${getName attrs}.meta" attrs.meta)
}\n";
remediation = "";
}
@@ -468,7 +430,7 @@ let
else if checkOutputsToInstall attrs then
{
reason = "broken-outputs";
- errormsg = "has invalid meta.outputsToInstall";
+ msg = "has invalid meta.outputsToInstall";
remediation = remediateOutputsToInstall attrs;
}
@@ -476,25 +438,25 @@ let
else if hasDeniedUnfreeLicense attrs && !(hasAllowlistedLicense attrs) then
{
reason = "unfree";
- errormsg = "has an unfree license (‘${showLicense attrs.meta.license}’)";
+ msg = "has an unfree license (‘${showLicense attrs.meta.license}’)";
remediation = remediate_allowlist "Unfree" (remediate_predicate "allowUnfreePredicate" attrs);
}
else if hasBlocklistedLicense attrs then
{
reason = "blocklisted";
- errormsg = "has a blocklisted license (‘${showLicense attrs.meta.license}’)";
+ msg = "has a blocklisted license (‘${showLicense attrs.meta.license}’)";
remediation = "";
}
else if hasDeniedNonSourceProvenance attrs then
{
reason = "non-source";
- errormsg = "contains elements not built from source (‘${showSourceType attrs.meta.sourceProvenance}’)";
+ msg = "contains elements not built from source (‘${showSourceType attrs.meta.sourceProvenance}’)";
remediation = remediate_allowlist "NonSource" (remediate_predicate "allowNonSourcePredicate" attrs);
}
else if hasDeniedBroken attrs then
{
reason = "broken";
- errormsg = "is marked as broken";
+ msg = "is marked as broken";
remediation = remediate_allowlist "Broken" "";
}
else if hasUnsupportedPlatform attrs && !allowUnsupportedSystem then
@@ -506,7 +468,7 @@ let
in
{
reason = "unsupported";
- errormsg = ''
+ msg = ''
is not available on the requested hostPlatform:
hostPlatform.system = "${hostPlatform.system}"
package.meta.platforms = ${toPretty' (attrs.meta.platforms or [ ])}
@@ -517,24 +479,12 @@ let
else if hasDisallowedInsecure attrs then
{
reason = "insecure";
- errormsg = "is marked as insecure";
+ msg = "is marked as insecure";
remediation = remediate_insecure attrs;
}
else
null;
- # Please also update the type in /pkgs/top-level/config.nix alongside this.
- checkWarnings =
- attrs:
- if hasNoMaintainers attrs then
- {
- reason = "maintainerless";
- errormsg = "has no maintainers or teams";
- remediation = "";
- }
- else
- null;
-
# Helper functions and declarations to handle identifiers, extracted to reduce allocations
hasAllCPEParts =
cpeParts:
@@ -695,54 +645,64 @@ let
&& ((config.checkMetaRecursively or false) -> all (d: d.meta.available or true) references);
};
- validYes = {
- valid = "yes";
- handled = true;
- };
+ handle =
+ {
+ attrs,
+ meta,
+ warnings ? [ ],
+ error ? null,
+ }:
+ let
+ withError =
+ if isNull error then
+ true
+ else
+ let
+ msg =
+ "Refusing to evaluate package '${getNameWithVersion attrs}' in ${pos_str meta} because it ${error.msg}"
+ + lib.optionalString (!inHydra && error.remediation != "") "\n${error.remediation}";
+ in
+ if config ? handleEvalIssue then config.handleEvalIssue error.reason msg else throw msg;
+
+ giveWarning =
+ acc: warning:
+ let
+ msg =
+ "Package '${getNameWithVersion attrs}' in ${pos_str meta} ${warning.msg}"
+ + lib.optionalString (!inHydra && warning.remediation != "") " ${warning.remediation}";
+ in
+ warn msg acc;
+ in
+ # Give all warnings first, then error if any
+ builtins.seq (foldl' giveWarning null warnings) withError;
assertValidity =
{ meta, attrs }:
let
invalid = checkValidity attrs;
- warning = checkWarnings attrs;
+ problems = checkProblems attrs;
in
if isNull invalid then
- if isNull warning then
- validYes
+ if isNull problems then
+ {
+ valid = "yes";
+ handled = true;
+ }
else
- let
- msg =
- if inHydra then
- "Warning while evaluating ${getNameWithVersion attrs}: «${warning.reason}»: ${warning.errormsg}"
- else
- "Package ${getNameWithVersion attrs} in ${pos_str meta} ${warning.errormsg}, continuing anyway."
- + (optionalString (warning.remediation != "") "\n${warning.remediation}");
-
- handled = if elem warning.reason showWarnings then trace msg true else true;
- in
- warning
- // {
- valid = "warn";
- handled = handled;
+ {
+ valid = if isNull problems.error then "warn" else "no";
+ handled = handle {
+ inherit attrs meta;
+ inherit (problems) error warnings;
+ };
}
else
- let
- msg =
- if inHydra then
- "Failed to evaluate ${getNameWithVersion attrs}: «${invalid.reason}»: ${invalid.errormsg}"
- else
- ''
- Package ‘${getNameWithVersion attrs}’ in ${pos_str meta} ${invalid.errormsg}, refusing to evaluate.
-
- ''
- + invalid.remediation;
-
- handled = if config ? handleEvalIssue then config.handleEvalIssue invalid.reason msg else throw msg;
- in
- invalid
- // {
+ {
valid = "no";
- handled = handled;
+ handled = handle {
+ inherit attrs meta;
+ error = invalid;
+ };
};
in
diff --git a/pkgs/stdenv/generic/meta-types.nix b/pkgs/stdenv/generic/meta-types.nix
index a51ae2b12711..6e432d1ed609 100644
--- a/pkgs/stdenv/generic/meta-types.nix
+++ b/pkgs/stdenv/generic/meta-types.nix
@@ -5,23 +5,47 @@
# TODO: add a method to the module system types
# see https://github.com/NixOS/nixpkgs/pull/273935#issuecomment-1854173100
let
- inherit (builtins)
+ inherit (lib)
isString
isInt
isAttrs
isList
all
any
+ attrNames
attrValues
+ concatMap
isFunction
isBool
concatStringsSep
+ concatMapStringsSep
isFloat
+ elem
+ mapAttrs
;
isTypeDef = t: isAttrs t && t ? name && isString t.name && t ? verify && isFunction t.verify;
-
in
lib.fix (self: {
+
+ /*
+ `errors type "" value` gives a list of string error messages,
+ each prefixed with ": ", for why `value` is not of type `type`
+
+ Only use this if `type.verify value` is false
+
+ Types can override this by specifying their own `type.errors = ctx: value:` attribute
+
+ This is intentionally not tied into `type.verify`,
+ in order to keep the successful path as fast as possible with minimal allocations
+ */
+ errors =
+ t:
+ t.errors or (ctx: v: [
+ "${ctx}: Invalid value; expected ${t.name}, got\n ${
+ lib.generators.toPretty { indent = " "; } v
+ }"
+ ]);
+
string = {
name = "string";
verify = isString;
@@ -69,6 +93,14 @@ lib.fix (self: {
verify =
# attrsOf can be optimised to just isAttrs
if t == self.any then isAttrs else attrs: isAttrs attrs && all verify (attrValues attrs);
+ errors =
+ ctx: attrs:
+ if !isAttrs attrs then
+ self.errors self.attrs ctx attrs
+ else
+ concatMap (
+ name: lib.optionals (!verify attrs.${name}) (self.errors t "${ctx}.${name}" attrs.${name})
+ ) (attrNames attrs);
};
listOf =
@@ -82,6 +114,19 @@ lib.fix (self: {
verify =
# listOf can be optimised to just isList
if t == self.any then isList else v: isList v && all verify v;
+ errors =
+ ctx: v:
+ if !isList v then
+ self.errors self.list ctx v
+ else
+ lib.concatMap ({ valid, errors }: errors) (
+ lib.filter ({ valid, errors }: !valid) (
+ lib.imap0 (i: el: {
+ valid = verify el;
+ errors = self.errors t "${ctx}.${toString i}" el;
+ }) v
+ )
+ );
};
union =
@@ -95,4 +140,41 @@ lib.fix (self: {
name = "union<${concatStringsSep "," (map (t: t.name) types)}>";
verify = v: any (func: func v) funcs;
};
+
+ enum =
+ values:
+ assert isList values && all isString values;
+ {
+ name = "enum<${concatStringsSep "," values}>";
+ verify = v: isString v && elem v values;
+ };
+
+ record =
+ fields:
+ assert isAttrs fields && all isTypeDef (attrValues fields);
+ let
+ # Map attrs directly to the verify function for performance
+ fieldVerifiers = mapAttrs (_: t: t.verify) fields;
+ in
+ {
+ name = "record";
+ verify = v: isAttrs v && all (k: fieldVerifiers ? ${k} && fieldVerifiers.${k} v.${k}) (attrNames v);
+ errors =
+ ctx: v:
+ if !isAttrs v then
+ self.errors self.attrs ctx v
+ else
+ concatMap (
+ k:
+ if fieldVerifiers ? ${k} then
+ lib.optionals (!fieldVerifiers.${k} v.${k}) (self.errors fields.${k} "${ctx}.${k}" v.${k})
+ else
+ [
+ "${ctx}: key '${k}' is unrecognized; expected one of: \n [${
+ concatMapStringsSep ", " (x: "'${x}'") (attrNames fields)
+ }]"
+ ]
+ ) (attrNames v);
+ };
+
})
diff --git a/pkgs/stdenv/generic/problems.nix b/pkgs/stdenv/generic/problems.nix
new file mode 100644
index 000000000000..08d4b6e30ec0
--- /dev/null
+++ b/pkgs/stdenv/generic/problems.nix
@@ -0,0 +1,515 @@
+/*
+ This file implements everything around meta.problems, including:
+ - automaticProblems: Which problems get added automatically based on some condition
+ - configOptions: Module system options for config.problems
+ - problemsType: The check for meta.problems
+ - genHandlerSwitch: The logic to determine the handler for a specific problem based on config.problems
+ - genCheckProblems: The logic to determine which problems need to be handled and how the messages should look like
+
+ There are tests to cover pretty much this entire file, so please run them when making changes ;)
+
+ nix-build -A tests.problems
+*/
+
+{ lib }:
+
+rec {
+
+ inherit (lib.strings)
+ escapeNixIdentifier
+ ;
+
+ inherit (lib)
+ any
+ listToAttrs
+ concatStringsSep
+ optionalString
+ getName
+ optionalAttrs
+ pipe
+ isString
+ filterAttrs
+ mapAttrs
+ partition
+ elemAt
+ max
+ foldl'
+ elem
+ filter
+ concatMapStringsSep
+ optional
+ optionals
+ concatLists
+ all
+ attrNames
+ attrValues
+ length
+ mapAttrsToList
+ groupBy
+ subtractLists
+ genAttrs
+ ;
+
+ handlers = rec {
+ # Ordered from less to more
+ levels = [
+ "ignore"
+ "warn"
+ "error"
+ ];
+
+ lessThan =
+ a: b:
+ if a == "error" then
+ false
+ else if a == "warn" then
+ b == "error"
+ else
+ b != "ignore";
+
+ max = a: b: if lessThan a b then b else a;
+ };
+
+ # TODO: Combine this and automaticProblems into a `{ removal = { manual = true; ... }; ... }` structure for less error-prone changes
+ kinds = rec {
+ # Automatic and manual problem kinds
+ known = map (problem: problem.kindName) automaticProblems ++ manual;
+ # Problem kinds that are currently allowed to be specified in `meta.problems`
+ manual = [
+ "removal"
+ "deprecated"
+ ];
+ # Problem kinds that are currently only allowed to be specified once
+ unique = [
+ "removal"
+ ];
+
+ # Same thing but a set with null values (comes in handy at times)
+ manual' = genAttrs manual (k: null);
+ unique' = genAttrs unique (k: null);
+ };
+
+ automaticProblems = [
+ {
+ kindName = "maintainerless";
+ condition =
+ # To get usable output, we want to avoid flagging "internal" derivations.
+ # Because we do not have a way to reliably decide between internal or
+ # external derivation, some heuristics are required to decide.
+ #
+ # If `outputHash` is defined, the derivation is a FOD, such as the output of a fetcher.
+ # If `description` is not defined, the derivation is probably not a package.
+ # Simply checking whether `meta` is defined is insufficient,
+ # as some fetchers and trivial builders do define meta.
+ attrs:
+ # Order of checks optimised for short-circuiting the common case of having maintainers
+ (attrs.meta.maintainers or [ ] == [ ])
+ && (attrs.meta.teams or [ ] == [ ])
+ && (!attrs ? outputHash)
+ && (attrs ? meta.description);
+ value.message = "This package has no declared maintainer, i.e. an empty `meta.maintainers` and `meta.teams` attribute.";
+ }
+ ];
+
+ genAutomaticProblems =
+ attrs:
+ listToAttrs (
+ map (problem: lib.nameValuePair problem.kindName problem.value) (
+ filter (problem: problem.condition attrs) automaticProblems
+ )
+ );
+
+ # A module system type for Nixpkgs config
+ configOptions =
+ let
+ types = lib.types;
+ handlerType = types.enum handlers.levels;
+ problemKindType = types.enum kinds.known;
+ in
+ {
+ handlers = lib.mkOption {
+ type = with types; attrsOf (attrsOf handlerType);
+ default = { };
+ description = ''
+ Specify how to handle packages with problems.
+ Each key has the format `packageName.problemName`, each value is one of "error", "warn" or "ignore".
+
+ This option takes precedence over anything in `problems.matchers`.
+
+ Package names are taken from `lib.getName`, which looks at the `pname` first and falls back to extracting the "pname" part from the `name` attribute.
+
+ See Installing packages with problems in the NixOS manual.
+ '';
+ };
+
+ matchers = lib.mkOption {
+ type = types.listOf (
+ types.submodule (
+ { config, ... }:
+ {
+ options = {
+ package = lib.mkOption {
+ type = types.nullOr types.str;
+ description = "Match problems of packages with this name";
+ default = null;
+ };
+ name = lib.mkOption {
+ type = types.nullOr types.str;
+ description = "Match problems with this problem name";
+ default = null;
+ };
+ kind = lib.mkOption {
+ type = types.nullOr problemKindType;
+ description = "Match problems of this problem kind";
+ default = null;
+ };
+ handler = lib.mkOption {
+ type = handlerType;
+ description = "Specify the handler for matched problems";
+ };
+
+ # Temporary hack to get assertions in submodules, see global assertions below
+ assertions = lib.mkOption {
+ type = types.listOf types.anything;
+ default = [ ];
+ internal = true;
+ };
+ };
+ config = {
+ assertions =
+ # Using optional because otherwise message would be evaluated even when assertion is true
+ (
+ optional (config.package != null && config.name != null) {
+ assertion = false;
+ # TODO: Does it really matter if we let people specify this? Maybe not, so consider removing this assertion
+ message = ''
+ There is a problems.matchers with `package = "${config.package}"` and `name = "${config.name}". Use the following instead:
+ problems.handlers.${escapeNixIdentifier config.package}.${escapeNixIdentifier config.name} = "${config.handler}";
+ '';
+ }
+ );
+ };
+ }
+ )
+ );
+ default = [ ];
+ description = ''
+ A more powerful and less ergonomic version of `problems.handlers`.
+ Each value is a matcher, that may match onto certain properties of a problem and specify a handler for them.
+
+ If multiple matchers match a problem, the handler with the highest severity (error > warn > ignore) will be used.
+ Values in `problems.handlers` always take precedence over matchers.
+
+ Any matchers must not contain both a `package` and `name` field, for this should be handled by using `problems.handlers` instead.
+ '';
+ example = [
+ {
+ kind = "maintainerless";
+ handler = "warn";
+ }
+ {
+ package = "myPackageICareAbout";
+ handler = "error";
+ }
+ ];
+ };
+ };
+
+ # The type for meta.problems
+ problemsType =
+ let
+ types = import ./meta-types.nix { inherit lib; };
+ inherit (types)
+ str
+ listOf
+ attrsOf
+ record
+ enum
+ ;
+ kindType = enum kinds.manual;
+ subRecord = record {
+ kind = kindType;
+ message = str;
+ urls = listOf str;
+ };
+ simpleType = attrsOf subRecord;
+ in
+ {
+ name = "problems";
+ verify =
+ v:
+ v == { }
+ ||
+ simpleType.verify v
+ && all (problem: problem ? message) (attrValues v)
+ && (
+ let
+ kindGroups = groupBy (kind: kind) (mapAttrsToList (name: problem: problem.kind or name) v);
+ in
+ all (kind: kinds.manual' ? ${kind} && (kinds.unique' ? ${kind} -> length kindGroups.${kind} == 1)) (
+ attrNames kindGroups
+ )
+ );
+ errors =
+ ctx: v:
+ let
+ kindGroups = groupBy (attrs: attrs.kind) (
+ mapAttrsToList (name: problem: {
+ inherit name;
+ explicit = problem ? kind;
+ kind = problem.kind or name;
+ }) v
+ );
+ in
+ if !simpleType.verify v then
+ types.errors simpleType ctx v
+ else
+ concatLists (
+ mapAttrsToList (name: p: optional (!p ? message) "${ctx}.${name}: `.message` not specified") v
+ )
+ ++ concatLists (
+ mapAttrsToList (
+ kind: kindGroup:
+ optionals (!kinds.manual' ? ${kind}) (
+ map (
+ el:
+ "${ctx}.${el.name}: Problem kind ${kind}, inferred from the problem name, is invalid; expected ${kindType.name}. You can specify an explicit problem kind with `${ctx}.${el.name}.kind`"
+ ) (filter (el: !el.explicit) kindGroup)
+ )
+ ++
+ optional (kinds.unique' ? ${kind} && length kindGroup > 1)
+ "${ctx}: Problem kind ${kind} should be unique, but is used for these problems: ${
+ concatMapStringsSep ", " (el: el.name) kindGroup
+ }"
+ ) kindGroups
+ );
+ };
+
+ /*
+ Construct a structure as follows, with the invariant that a more specific path always has a stricter handler, forming a lattice.
+ E.g. if `packageSpecific.foo.nameFallback.kindFallback == "warn"`, then `packageFallback.nameFallback.kindFallback` must be "ignore".
+
+ packageSpecific. = {
+ nameSpecific. = {
+ kindSpecific. = ;
+ kindFallback = ;
+ };
+ nameFallback = {
+ kindSpecific. = ;
+ kindFallback = ;
+ };
+ };
+ packageFallback = {
+ nameSpecific. = {
+ kindSpecific. = ;
+ kindFallback = ;
+ };
+ nameFallback = {
+ kindSpecific. = ;
+ kindFallback = ;
+ };
+ };
+
+ Returns both the structure itself for inspection and a function that can query it with very few allocations/lookups
+
+ This allows collapsing arbitrarily many problem handlers/matchers into a predictable structure that can be queried in a predictable and fast way
+ */
+ genHandlerSwitch =
+ config:
+ let
+ constraints =
+ # matchers have low priority
+ map (m: m // { priority = 0; }) config.problems.matchers
+ # handlers have higher priority
+ ++ concatLists (
+ mapAttrsToList (
+ package: forPackage:
+ mapAttrsToList (name: handler: {
+ inherit package name handler;
+ kind = null;
+ priority = 1;
+ }) forPackage
+ ) config.problems.handlers
+ );
+
+ getHandler =
+ list:
+ (foldl'
+ (acc: el: {
+ priority = max acc.priority el.priority;
+ handler =
+ if acc.priority == el.priority then
+ handlers.max acc.handler el.handler
+ else if acc.priority > el.priority then
+ acc.handler
+ else
+ el.handler;
+ })
+ {
+ priority = 0;
+ handler = "ignore";
+ }
+ list
+ ).handler;
+
+ identOrder = [
+ "kind"
+ "name"
+ "package"
+ ];
+
+ doLevel =
+ index:
+ let
+ ident = elemAt identOrder index;
+ nextLevel = if index + 1 == length identOrder then getHandler else doLevel (index + 1);
+ in
+ list:
+ let
+ # Partition all matchers into ident-specific (.wrong) and -unspecific (.right) ones
+ parted = partition (m: isNull m.${ident}) list;
+ # We only use the unspecific ones to compute the fallback
+ fallback = nextLevel parted.right;
+ specific = pipe parted.wrong [
+ (groupBy (m: m.${ident}))
+ # For ident-specific handlers, the unspecific ones also apply
+ (mapAttrs (package: handlers: nextLevel (handlers ++ parted.right)))
+ # Memory optimisation: Don't need a specific handler if it would end up the same as the fallback
+ (filterAttrs (name: res: res != fallback))
+ ];
+ in
+ # Optimisation in case it's always the same handler,
+ # can propagate up for the entire switch to just be a string
+ if specific == { } && isString fallback then
+ fallback
+ else
+ {
+ "${ident}Fallback" = fallback;
+ "${ident}Specific" = specific;
+ };
+ switch = doLevel 0 constraints;
+ in
+ {
+ inherit switch;
+ handlerForProblem =
+ if isString switch then
+ pname: name: kind:
+ switch
+ else
+ pname: name: kind:
+ let
+ switch' = switch.kindSpecific.${kind} or switch.kindFallback;
+ in
+ if isString switch' then
+ switch'
+ else
+ let
+ switch'' = switch'.nameSpecific.${name} or switch'.nameFallback;
+ in
+ if isString switch'' then
+ switch''
+ else
+ switch''.packageSpecific.${pname} or switch''.packageFallback;
+ };
+
+ genCheckProblems =
+ config:
+ let
+ # This is here so that it gets cached for a (checkProblems config) thunk
+ inherit (genHandlerSwitch config)
+ handlerForProblem
+ ;
+ in
+ attrs:
+ let
+ pname = getName attrs;
+ manualProblems = attrs.meta.problems or { };
+ in
+ if
+ # Fast path for when there's no problem that needs to be handled
+ # No automatic problems that needs handling
+ all (
+ problem:
+ problem.condition attrs -> handlerForProblem pname problem.kindName problem.kindName == "ignore"
+ ) automaticProblems
+ && (
+ # No manual problems
+ manualProblems == { }
+ # Or all manual problems are ignored
+ || all (name: handlerForProblem pname name (manualProblems.${name}.kind or name) == "ignore") (
+ attrNames manualProblems
+ )
+ )
+ then
+ null
+ else
+ # Slow path, only here we actually figure out which problems we need to handle
+ let
+ problems = attrs.meta.problems or { } // genAutomaticProblems attrs;
+ problemsToHandle = filter (v: v.handler != "ignore") (
+ mapAttrsToList (name: problem: rec {
+ inherit name;
+ # Kind falls back to the name
+ kind = problem.kind or name;
+ handler = handlerForProblem pname name kind;
+ inherit problem;
+ }) problems
+ );
+ in
+ processProblems pname problemsToHandle;
+
+ processProblems =
+ pname: problemsToHandle:
+ let
+ grouped = groupBy (v: v.handler) problemsToHandle;
+
+ warnProblems = grouped.warn or [ ];
+ errorProblems = grouped.error or [ ];
+
+ # assert annotatedProblems != [ ];
+ fullMessage =
+ v:
+ "${v.name}${optionalString (v.kind != v.name) " (kind \"${v.kind}\")"}: "
+ + "${v.problem.message}${
+ optionalString (v.problem.urls or [ ] != [ ]) " (${concatStringsSep ", " v.problem.urls})"
+ }";
+
+ warnings = map (x: {
+ reason = "problem";
+ msg = "has the following problem: ${fullMessage x}";
+ remediation = "See https://nixos.org/manual/nixpkgs/unstable#sec-problems"; # TODO: Add remediation, maybe just link to docs to keep it small
+ }) warnProblems;
+
+ error =
+ if errorProblems == [ ] then
+ null
+ else
+ {
+ msg = ''
+ has problems:
+ ${concatMapStringsSep "\n" (x: "- ${fullMessage x}") errorProblems}
+ '';
+ ## TODO: Add mention of problem.matchers, or maybe better link to docs of that
+ remediation = ''
+ See also https://nixos.org/manual/nixpkgs/unstable#sec-problems
+ To allow evaluation regardless, use:
+ - Nixpkgs import: import nixpkgs { config = ; }
+ - NixOS: nixpkgs.config = ;
+ - nix-* commands: Put below code in ~/.config/nixpkgs/config.nix
+
+ {
+ problems.handlers = {
+ ${concatMapStringsSep "\n " (
+ problem:
+ ''${escapeNixIdentifier pname}.${escapeNixIdentifier problem.name} = "warn"; # or "ignore"''
+ ) errorProblems}
+ };
+ }
+ '';
+ };
+ in
+ {
+ inherit error warnings;
+ };
+
+}
diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix
index efcd4963136d..acd0982ed5f8 100644
--- a/pkgs/test/default.nix
+++ b/pkgs/test/default.nix
@@ -187,6 +187,11 @@ in
texlive = recurseIntoAttrs (callPackage ./texlive { });
+ # TODO: Temporarily disabled recursion so we can see the performance comparison in the PR,
+ # which only runs if there's exactly the same packages before and after, and this would add packages
+ #problems = recurseIntoAttrs (callPackage ./problems { });
+ problems = callPackage ./problems { };
+
cuda = callPackage ./cuda { };
trivial-builders = callPackage ../build-support/trivial-builders/test/default.nix { };
diff --git a/pkgs/test/problems/cases/deprecated-and-removal-and-maintainerless-error/default.nix b/pkgs/test/problems/cases/deprecated-and-removal-and-maintainerless-error/default.nix
new file mode 100644
index 000000000000..496c562890a5
--- /dev/null
+++ b/pkgs/test/problems/cases/deprecated-and-removal-and-maintainerless-error/default.nix
@@ -0,0 +1,24 @@
+{ nixpkgs }:
+let
+ pkgs = import nixpkgs {
+ system = "x86_64-linux";
+ overlays = [ ];
+ config = {
+ problems.handlers = {
+ "a"."deprecated" = "error";
+ "a"."removal" = "error";
+ "a"."maintainerless" = "error";
+ };
+ };
+ };
+in
+pkgs.stdenvNoCC.mkDerivation {
+ pname = "a";
+ version = "0";
+ meta.description = "Some package";
+ meta.problems = {
+ deprecated.message = "Package is deprecated and replaced by b.";
+ removal.message = "Package will be removed.";
+ };
+ meta.maintainers = [ ];
+}
diff --git a/pkgs/test/problems/cases/deprecated-and-removal-and-maintainerless-error/expected-stderr b/pkgs/test/problems/cases/deprecated-and-removal-and-maintainerless-error/expected-stderr
new file mode 100644
index 000000000000..35fc25e10a98
--- /dev/null
+++ b/pkgs/test/problems/cases/deprecated-and-removal-and-maintainerless-error/expected-stderr
@@ -0,0 +1,20 @@
+(stack trace truncated; use '--show-trace' to show the full, detailed trace)
+
+error: Refusing to evaluate package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:18 because it has problems:
+- deprecated: Package is deprecated and replaced by b.
+- maintainerless: This package has no declared maintainer, i.e. an empty `meta.maintainers` and `meta.teams` attribute.
+- removal: Package will be removed.
+
+See also https://nixos.org/manual/nixpkgs/unstable#sec-problems
+To allow evaluation regardless, use:
+- Nixpkgs import: import nixpkgs { config = ; }
+- NixOS: nixpkgs.config = ;
+- nix-* commands: Put below code in ~/.config/nixpkgs/config.nix
+
+ {
+ problems.handlers = {
+ a.deprecated = "warn"; # or "ignore"
+ a.maintainerless = "warn"; # or "ignore"
+ a.removal = "warn"; # or "ignore"
+ };
+ }
diff --git a/pkgs/test/problems/cases/deprecated-and-removal-error/default.nix b/pkgs/test/problems/cases/deprecated-and-removal-error/default.nix
new file mode 100644
index 000000000000..20a18cc17c78
--- /dev/null
+++ b/pkgs/test/problems/cases/deprecated-and-removal-error/default.nix
@@ -0,0 +1,22 @@
+{ nixpkgs }:
+let
+ pkgs = import nixpkgs {
+ system = "x86_64-linux";
+ overlays = [ ];
+ config = {
+ problems.handlers = {
+ "a"."deprecated" = "error";
+ "a"."removal" = "error";
+ };
+ };
+ };
+in
+pkgs.stdenvNoCC.mkDerivation {
+ pname = "a";
+ version = "0";
+ meta.problems = {
+ deprecated.message = "Package is deprecated and replaced by b";
+ removal.message = "Package will be removed";
+ };
+ meta.maintainers = [ "hello" ];
+}
diff --git a/pkgs/test/problems/cases/deprecated-and-removal-error/expected-stderr b/pkgs/test/problems/cases/deprecated-and-removal-error/expected-stderr
new file mode 100644
index 000000000000..f23f10373fc3
--- /dev/null
+++ b/pkgs/test/problems/cases/deprecated-and-removal-error/expected-stderr
@@ -0,0 +1,18 @@
+(stack trace truncated; use '--show-trace' to show the full, detailed trace)
+
+error: Refusing to evaluate package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:16 because it has problems:
+- deprecated: Package is deprecated and replaced by b
+- removal: Package will be removed
+
+See also https://nixos.org/manual/nixpkgs/unstable#sec-problems
+To allow evaluation regardless, use:
+- Nixpkgs import: import nixpkgs { config = ; }
+- NixOS: nixpkgs.config = ;
+- nix-* commands: Put below code in ~/.config/nixpkgs/config.nix
+
+ {
+ problems.handlers = {
+ a.deprecated = "warn"; # or "ignore"
+ a.removal = "warn"; # or "ignore"
+ };
+ }
diff --git a/pkgs/test/problems/cases/deprecated-error/default.nix b/pkgs/test/problems/cases/deprecated-error/default.nix
new file mode 100644
index 000000000000..405d394bd893
--- /dev/null
+++ b/pkgs/test/problems/cases/deprecated-error/default.nix
@@ -0,0 +1,20 @@
+{ nixpkgs }:
+let
+ pkgs = import nixpkgs {
+ system = "x86_64-linux";
+ overlays = [ ];
+ config = {
+ problems.handlers = {
+ "a"."deprecated" = "error";
+ };
+ };
+ };
+in
+pkgs.stdenvNoCC.mkDerivation {
+ pname = "a";
+ version = "0";
+ meta.problems.deprecated = {
+ message = "Package is deprecated and replaced by b";
+ };
+ meta.maintainers = [ "hello" ];
+}
diff --git a/pkgs/test/problems/cases/deprecated-error/expected-stderr b/pkgs/test/problems/cases/deprecated-error/expected-stderr
new file mode 100644
index 000000000000..6eba972e8775
--- /dev/null
+++ b/pkgs/test/problems/cases/deprecated-error/expected-stderr
@@ -0,0 +1,16 @@
+(stack trace truncated; use '--show-trace' to show the full, detailed trace)
+
+error: Refusing to evaluate package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:15 because it has problems:
+- deprecated: Package is deprecated and replaced by b
+
+See also https://nixos.org/manual/nixpkgs/unstable#sec-problems
+To allow evaluation regardless, use:
+- Nixpkgs import: import nixpkgs { config = ; }
+- NixOS: nixpkgs.config = ;
+- nix-* commands: Put below code in ~/.config/nixpkgs/config.nix
+
+ {
+ problems.handlers = {
+ a.deprecated = "warn"; # or "ignore"
+ };
+ }
diff --git a/pkgs/test/problems/cases/deprecated-ignore/default.nix b/pkgs/test/problems/cases/deprecated-ignore/default.nix
new file mode 100644
index 000000000000..0ce36d294842
--- /dev/null
+++ b/pkgs/test/problems/cases/deprecated-ignore/default.nix
@@ -0,0 +1,18 @@
+{ nixpkgs }:
+let
+ pkgs = import nixpkgs {
+ system = "x86_64-linux";
+ overlays = [ ];
+ config = {
+ problems.handlers = {
+ "a"."deprecated" = "ignore";
+ };
+ };
+ };
+in
+pkgs.stdenvNoCC.mkDerivation {
+ pname = "a";
+ version = "0";
+ meta.problems.deprecated.message = "Package is deprecated and is replaced by b.";
+ meta.maintainers = [ "hello" ];
+}
diff --git a/pkgs/test/problems/cases/deprecated-ignore/expected-stderr b/pkgs/test/problems/cases/deprecated-ignore/expected-stderr
new file mode 100644
index 000000000000..c255c1d5a32b
--- /dev/null
+++ b/pkgs/test/problems/cases/deprecated-ignore/expected-stderr
@@ -0,0 +1 @@
+warning: you did not specify '--add-root'; the result might be removed by the garbage collector
diff --git a/pkgs/test/problems/cases/deprecated-warn/default.nix b/pkgs/test/problems/cases/deprecated-warn/default.nix
new file mode 100644
index 000000000000..bcafc3e96f6a
--- /dev/null
+++ b/pkgs/test/problems/cases/deprecated-warn/default.nix
@@ -0,0 +1,18 @@
+{ nixpkgs }:
+let
+ pkgs = import nixpkgs {
+ system = "x86_64-linux";
+ overlays = [ ];
+ config = {
+ problems.handlers = {
+ "a"."deprecated" = "warn";
+ };
+ };
+ };
+in
+pkgs.stdenvNoCC.mkDerivation {
+ pname = "a";
+ version = "0";
+ meta.problems.deprecated.message = "Package a is deprecated and superseeded by b.";
+ meta.maintainers = [ "hello" ];
+}
diff --git a/pkgs/test/problems/cases/deprecated-warn/expected-stderr b/pkgs/test/problems/cases/deprecated-warn/expected-stderr
new file mode 100644
index 000000000000..c0cd1ab06bb6
--- /dev/null
+++ b/pkgs/test/problems/cases/deprecated-warn/expected-stderr
@@ -0,0 +1,2 @@
+evaluation warning: Package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:15 has the following problem: deprecated: Package a is deprecated and superseeded by b. See https://nixos.org/manual/nixpkgs/unstable#sec-problems
+warning: you did not specify '--add-root'; the result might be removed by the garbage collector
diff --git a/pkgs/test/problems/cases/invalid-kind-error/default.nix b/pkgs/test/problems/cases/invalid-kind-error/default.nix
new file mode 100644
index 000000000000..acb4d9e8b43e
--- /dev/null
+++ b/pkgs/test/problems/cases/invalid-kind-error/default.nix
@@ -0,0 +1,15 @@
+{ nixpkgs }:
+let
+ pkgs = import nixpkgs {
+ system = "x86_64-linux";
+ overlays = [ ];
+ config.checkMeta = true;
+ };
+in
+pkgs.stdenvNoCC.mkDerivation {
+ pname = "a";
+ version = "0";
+ meta.problems = {
+ invalid.message = "No maintainers";
+ };
+}
diff --git a/pkgs/test/problems/cases/invalid-kind-error/expected-stderr b/pkgs/test/problems/cases/invalid-kind-error/expected-stderr
new file mode 100644
index 000000000000..dbe13602c3f8
--- /dev/null
+++ b/pkgs/test/problems/cases/invalid-kind-error/expected-stderr
@@ -0,0 +1,4 @@
+(stack trace truncated; use '--show-trace' to show the full, detailed trace)
+
+error: Refusing to evaluate package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:11 because it has an invalid meta attrset:
+ - a.meta.problems.invalid: Problem kind invalid, inferred from the problem name, is invalid; expected enum. You can specify an explicit problem kind with `a.meta.problems.invalid.kind`
diff --git a/pkgs/test/problems/cases/maintainerless-and-removal-and-deprecated-warn/default.nix b/pkgs/test/problems/cases/maintainerless-and-removal-and-deprecated-warn/default.nix
new file mode 100644
index 000000000000..6c58ecf5599c
--- /dev/null
+++ b/pkgs/test/problems/cases/maintainerless-and-removal-and-deprecated-warn/default.nix
@@ -0,0 +1,24 @@
+{ nixpkgs }:
+let
+ pkgs = import nixpkgs {
+ system = "x86_64-linux";
+ overlays = [ ];
+ config = {
+ problems.handlers = {
+ "a"."maintainerless" = "warn";
+ "a"."deprecated" = "warn";
+ "a"."removal" = "warn";
+ };
+ };
+ };
+in
+pkgs.stdenvNoCC.mkDerivation {
+ pname = "a";
+ version = "0";
+ meta.description = "Some package";
+ meta.maintainers = [ ];
+ meta.problems = {
+ removal.message = "Package to be removed.";
+ deprecated.message = "Package will be deprecated.";
+ };
+}
diff --git a/pkgs/test/problems/cases/maintainerless-and-removal-and-deprecated-warn/expected-stderr b/pkgs/test/problems/cases/maintainerless-and-removal-and-deprecated-warn/expected-stderr
new file mode 100644
index 000000000000..2170efd4cddb
--- /dev/null
+++ b/pkgs/test/problems/cases/maintainerless-and-removal-and-deprecated-warn/expected-stderr
@@ -0,0 +1,4 @@
+evaluation warning: Package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:18 has the following problem: deprecated: Package will be deprecated. See https://nixos.org/manual/nixpkgs/unstable#sec-problems
+evaluation warning: Package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:18 has the following problem: maintainerless: This package has no declared maintainer, i.e. an empty `meta.maintainers` and `meta.teams` attribute. See https://nixos.org/manual/nixpkgs/unstable#sec-problems
+evaluation warning: Package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:18 has the following problem: removal: Package to be removed. See https://nixos.org/manual/nixpkgs/unstable#sec-problems
+warning: you did not specify '--add-root'; the result might be removed by the garbage collector
diff --git a/pkgs/test/problems/cases/maintainerless-and-removal-warn/default.nix b/pkgs/test/problems/cases/maintainerless-and-removal-warn/default.nix
new file mode 100644
index 000000000000..7d672a89f7c5
--- /dev/null
+++ b/pkgs/test/problems/cases/maintainerless-and-removal-warn/default.nix
@@ -0,0 +1,20 @@
+{ nixpkgs }:
+let
+ pkgs = import nixpkgs {
+ system = "x86_64-linux";
+ overlays = [ ];
+ config = {
+ problems.handlers = {
+ "a"."maintainerless" = "warn";
+ "a"."removal" = "warn";
+ };
+ };
+ };
+in
+pkgs.stdenvNoCC.mkDerivation {
+ pname = "a";
+ version = "0";
+ meta.description = "Some package";
+ meta.maintainers = [ ];
+ meta.problems.removal.message = "Package will be removed.";
+}
diff --git a/pkgs/test/problems/cases/maintainerless-and-removal-warn/expected-stderr b/pkgs/test/problems/cases/maintainerless-and-removal-warn/expected-stderr
new file mode 100644
index 000000000000..0a6a99fd9d14
--- /dev/null
+++ b/pkgs/test/problems/cases/maintainerless-and-removal-warn/expected-stderr
@@ -0,0 +1,3 @@
+evaluation warning: Package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:17 has the following problem: maintainerless: This package has no declared maintainer, i.e. an empty `meta.maintainers` and `meta.teams` attribute. See https://nixos.org/manual/nixpkgs/unstable#sec-problems
+evaluation warning: Package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:17 has the following problem: removal: Package will be removed. See https://nixos.org/manual/nixpkgs/unstable#sec-problems
+warning: you did not specify '--add-root'; the result might be removed by the garbage collector
diff --git a/pkgs/test/problems/cases/maintainerless-error/default.nix b/pkgs/test/problems/cases/maintainerless-error/default.nix
new file mode 100644
index 000000000000..e925b45e0862
--- /dev/null
+++ b/pkgs/test/problems/cases/maintainerless-error/default.nix
@@ -0,0 +1,18 @@
+{ nixpkgs }:
+let
+ pkgs = import nixpkgs {
+ system = "x86_64-linux";
+ overlays = [ ];
+ config = {
+ problems.handlers = {
+ "a"."maintainerless" = "error";
+ };
+ };
+ };
+in
+pkgs.stdenvNoCC.mkDerivation {
+ pname = "a";
+ version = "0";
+ meta.description = "Some package";
+ meta.maintainers = [ ];
+}
diff --git a/pkgs/test/problems/cases/maintainerless-error/expected-stderr b/pkgs/test/problems/cases/maintainerless-error/expected-stderr
new file mode 100644
index 000000000000..9d98ce9e40fb
--- /dev/null
+++ b/pkgs/test/problems/cases/maintainerless-error/expected-stderr
@@ -0,0 +1,16 @@
+(stack trace truncated; use '--show-trace' to show the full, detailed trace)
+
+error: Refusing to evaluate package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:16 because it has problems:
+- maintainerless: This package has no declared maintainer, i.e. an empty `meta.maintainers` and `meta.teams` attribute.
+
+See also https://nixos.org/manual/nixpkgs/unstable#sec-problems
+To allow evaluation regardless, use:
+- Nixpkgs import: import nixpkgs { config = ; }
+- NixOS: nixpkgs.config = ;
+- nix-* commands: Put below code in ~/.config/nixpkgs/config.nix
+
+ {
+ problems.handlers = {
+ a.maintainerless = "warn"; # or "ignore"
+ };
+ }
diff --git a/pkgs/test/problems/cases/maintainerless-ignore/default.nix b/pkgs/test/problems/cases/maintainerless-ignore/default.nix
new file mode 100644
index 000000000000..8531510073d4
--- /dev/null
+++ b/pkgs/test/problems/cases/maintainerless-ignore/default.nix
@@ -0,0 +1,17 @@
+{ nixpkgs }:
+let
+ pkgs = import nixpkgs {
+ system = "x86_64-linux";
+ overlays = [ ];
+ config = {
+ problems.handlers = {
+ "a"."maintainerless" = "ignore";
+ };
+ };
+ };
+in
+pkgs.stdenvNoCC.mkDerivation {
+ pname = "a";
+ version = "0";
+ meta.maintainers = [ ];
+}
diff --git a/pkgs/test/problems/cases/maintainerless-ignore/expected-stderr b/pkgs/test/problems/cases/maintainerless-ignore/expected-stderr
new file mode 100644
index 000000000000..c255c1d5a32b
--- /dev/null
+++ b/pkgs/test/problems/cases/maintainerless-ignore/expected-stderr
@@ -0,0 +1 @@
+warning: you did not specify '--add-root'; the result might be removed by the garbage collector
diff --git a/pkgs/test/problems/cases/maintainerless-warn/default.nix b/pkgs/test/problems/cases/maintainerless-warn/default.nix
new file mode 100644
index 000000000000..abaf4c5c2b16
--- /dev/null
+++ b/pkgs/test/problems/cases/maintainerless-warn/default.nix
@@ -0,0 +1,18 @@
+{ nixpkgs }:
+let
+ pkgs = import nixpkgs {
+ system = "x86_64-linux";
+ overlays = [ ];
+ config = {
+ problems.handlers = {
+ "a"."maintainerless" = "warn";
+ };
+ };
+ };
+in
+pkgs.stdenvNoCC.mkDerivation {
+ pname = "a";
+ version = "0";
+ meta.description = "Some package";
+ meta.maintainers = [ ];
+}
diff --git a/pkgs/test/problems/cases/maintainerless-warn/expected-stderr b/pkgs/test/problems/cases/maintainerless-warn/expected-stderr
new file mode 100644
index 000000000000..70a9385eec00
--- /dev/null
+++ b/pkgs/test/problems/cases/maintainerless-warn/expected-stderr
@@ -0,0 +1,2 @@
+evaluation warning: Package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:16 has the following problem: maintainerless: This package has no declared maintainer, i.e. an empty `meta.maintainers` and `meta.teams` attribute. See https://nixos.org/manual/nixpkgs/unstable#sec-problems
+warning: you did not specify '--add-root'; the result might be removed by the garbage collector
diff --git a/pkgs/test/problems/cases/no-message/default.nix b/pkgs/test/problems/cases/no-message/default.nix
new file mode 100644
index 000000000000..bc89ad823f5d
--- /dev/null
+++ b/pkgs/test/problems/cases/no-message/default.nix
@@ -0,0 +1,22 @@
+{ nixpkgs }:
+let
+ pkgs = import nixpkgs {
+ system = "x86_64-linux";
+ overlays = [ ];
+ config = {
+ checkMeta = true;
+ problems.matchers = [
+ {
+ package = "a";
+ handler = "error";
+ }
+ ];
+ };
+ };
+in
+pkgs.stdenvNoCC.mkDerivation {
+ pname = "a";
+ version = "0";
+ meta.description = "Some package";
+ meta.problems.removal = { };
+}
diff --git a/pkgs/test/problems/cases/no-message/expected-stderr b/pkgs/test/problems/cases/no-message/expected-stderr
new file mode 100644
index 000000000000..d40bf1e17280
--- /dev/null
+++ b/pkgs/test/problems/cases/no-message/expected-stderr
@@ -0,0 +1,4 @@
+(stack trace truncated; use '--show-trace' to show the full, detailed trace)
+
+error: Refusing to evaluate package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:20 because it has an invalid meta attrset:
+ - a.meta.problems.removal: `.message` not specified
diff --git a/pkgs/test/problems/cases/no-problems-description/default.nix b/pkgs/test/problems/cases/no-problems-description/default.nix
new file mode 100644
index 000000000000..66a201eab403
--- /dev/null
+++ b/pkgs/test/problems/cases/no-problems-description/default.nix
@@ -0,0 +1,19 @@
+{ nixpkgs }:
+let
+ pkgs = import nixpkgs {
+ system = "x86_64-linux";
+ overlays = [ ];
+ config = {
+ problems.matchers = [
+ {
+ package = "a";
+ handler = "error";
+ }
+ ];
+ };
+ };
+in
+pkgs.stdenvNoCC.mkDerivation {
+ pname = "a";
+ version = "0";
+}
diff --git a/pkgs/test/problems/cases/no-problems-description/expected-stderr b/pkgs/test/problems/cases/no-problems-description/expected-stderr
new file mode 100644
index 000000000000..c255c1d5a32b
--- /dev/null
+++ b/pkgs/test/problems/cases/no-problems-description/expected-stderr
@@ -0,0 +1 @@
+warning: you did not specify '--add-root'; the result might be removed by the garbage collector
diff --git a/pkgs/test/problems/cases/no-problems-fod/default.nix b/pkgs/test/problems/cases/no-problems-fod/default.nix
new file mode 100644
index 000000000000..5b7cb9fdb202
--- /dev/null
+++ b/pkgs/test/problems/cases/no-problems-fod/default.nix
@@ -0,0 +1,21 @@
+{ nixpkgs }:
+let
+ pkgs = import nixpkgs {
+ system = "x86_64-linux";
+ overlays = [ ];
+ config = {
+ problems.matchers = [
+ {
+ package = "a";
+ handler = "error";
+ }
+ ];
+ };
+ };
+in
+pkgs.stdenvNoCC.mkDerivation {
+ pname = "a";
+ version = "0";
+ meta.description = "Some package";
+ outputHash = pkgs.lib.fakeHash;
+}
diff --git a/pkgs/test/problems/cases/no-problems-fod/expected-stderr b/pkgs/test/problems/cases/no-problems-fod/expected-stderr
new file mode 100644
index 000000000000..c255c1d5a32b
--- /dev/null
+++ b/pkgs/test/problems/cases/no-problems-fod/expected-stderr
@@ -0,0 +1 @@
+warning: you did not specify '--add-root'; the result might be removed by the garbage collector
diff --git a/pkgs/test/problems/cases/no-problems-team-maintainer/default.nix b/pkgs/test/problems/cases/no-problems-team-maintainer/default.nix
new file mode 100644
index 000000000000..605bf0c2f696
--- /dev/null
+++ b/pkgs/test/problems/cases/no-problems-team-maintainer/default.nix
@@ -0,0 +1,21 @@
+{ nixpkgs }:
+let
+ pkgs = import nixpkgs {
+ system = "x86_64-linux";
+ overlays = [ ];
+ config = {
+ problems.matchers = [
+ {
+ package = "a";
+ handler = "error";
+ }
+ ];
+ };
+ };
+in
+pkgs.stdenvNoCC.mkDerivation {
+ pname = "a";
+ version = "0";
+ meta.teams = [ "hello" ];
+ meta.description = "Some package";
+}
diff --git a/pkgs/test/problems/cases/no-problems-team-maintainer/expected-stderr b/pkgs/test/problems/cases/no-problems-team-maintainer/expected-stderr
new file mode 100644
index 000000000000..c255c1d5a32b
--- /dev/null
+++ b/pkgs/test/problems/cases/no-problems-team-maintainer/expected-stderr
@@ -0,0 +1 @@
+warning: you did not specify '--add-root'; the result might be removed by the garbage collector
diff --git a/pkgs/test/problems/cases/no-problems/default.nix b/pkgs/test/problems/cases/no-problems/default.nix
new file mode 100644
index 000000000000..2780c964ae4b
--- /dev/null
+++ b/pkgs/test/problems/cases/no-problems/default.nix
@@ -0,0 +1,21 @@
+{ nixpkgs }:
+let
+ pkgs = import nixpkgs {
+ system = "x86_64-linux";
+ overlays = [ ];
+ config = {
+ problems.matchers = [
+ {
+ package = "a";
+ handler = "error";
+ }
+ ];
+ };
+ };
+in
+pkgs.stdenvNoCC.mkDerivation {
+ pname = "a";
+ version = "0";
+ meta.maintainers = [ "hello" ];
+ meta.description = "Some package";
+}
diff --git a/pkgs/test/problems/cases/no-problems/expected-stderr b/pkgs/test/problems/cases/no-problems/expected-stderr
new file mode 100644
index 000000000000..c255c1d5a32b
--- /dev/null
+++ b/pkgs/test/problems/cases/no-problems/expected-stderr
@@ -0,0 +1 @@
+warning: you did not specify '--add-root'; the result might be removed by the garbage collector
diff --git a/pkgs/test/problems/cases/non-attrs-problem/default.nix b/pkgs/test/problems/cases/non-attrs-problem/default.nix
new file mode 100644
index 000000000000..167630e49314
--- /dev/null
+++ b/pkgs/test/problems/cases/non-attrs-problem/default.nix
@@ -0,0 +1,21 @@
+{ nixpkgs }:
+let
+ pkgs = import nixpkgs {
+ system = "x86_64-linux";
+ overlays = [ ];
+ config = {
+ checkMeta = true;
+ problems.matchers = [
+ {
+ package = "a";
+ handler = "error";
+ }
+ ];
+ };
+ };
+in
+pkgs.stdenvNoCC.mkDerivation {
+ pname = "a";
+ version = "0";
+ meta.problems.florp = true;
+}
diff --git a/pkgs/test/problems/cases/non-attrs-problem/expected-stderr b/pkgs/test/problems/cases/non-attrs-problem/expected-stderr
new file mode 100644
index 000000000000..f4abb09ff994
--- /dev/null
+++ b/pkgs/test/problems/cases/non-attrs-problem/expected-stderr
@@ -0,0 +1,5 @@
+(stack trace truncated; use '--show-trace' to show the full, detailed trace)
+
+error: Refusing to evaluate package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:19 because it has an invalid meta attrset:
+ - a.meta.problems.florp: Invalid value; expected attrs, got
+ true
diff --git a/pkgs/test/problems/cases/package-name-matcher/default.nix b/pkgs/test/problems/cases/package-name-matcher/default.nix
new file mode 100644
index 000000000000..570c9f6f389c
--- /dev/null
+++ b/pkgs/test/problems/cases/package-name-matcher/default.nix
@@ -0,0 +1,20 @@
+{ nixpkgs }:
+let
+ pkgs = import nixpkgs {
+ system = "x86_64-linux";
+ overlays = [ ];
+ config = {
+ problems.matchers = [
+ {
+ package = "a";
+ name = "b";
+ handler = "error";
+ }
+ ];
+ };
+ };
+in
+pkgs.stdenvNoCC.mkDerivation {
+ pname = "a";
+ version = "0";
+}
diff --git a/pkgs/test/problems/cases/package-name-matcher/expected-stderr b/pkgs/test/problems/cases/package-name-matcher/expected-stderr
new file mode 100644
index 000000000000..9e38189c515f
--- /dev/null
+++ b/pkgs/test/problems/cases/package-name-matcher/expected-stderr
@@ -0,0 +1,5 @@
+(stack trace truncated; use '--show-trace' to show the full, detailed trace)
+
+error: Failed assertions:
+- There is a problems.matchers with `package = "a"` and `name = "b". Use the following instead:
+ problems.handlers.a.b = "error";
diff --git a/pkgs/test/problems/cases/problem-urls/default.nix b/pkgs/test/problems/cases/problem-urls/default.nix
new file mode 100644
index 000000000000..1674e046caf9
--- /dev/null
+++ b/pkgs/test/problems/cases/problem-urls/default.nix
@@ -0,0 +1,28 @@
+{ nixpkgs }:
+let
+ pkgs = import nixpkgs {
+ system = "x86_64-linux";
+ overlays = [ ];
+ config = {
+ problems.matchers = [
+ {
+ package = "a";
+ handler = "error";
+ }
+ ];
+ };
+ };
+in
+pkgs.stdenvNoCC.mkDerivation {
+ pname = "a";
+ version = "0";
+ meta.maintainers = [ "hello" ];
+ meta.description = "Some package";
+ meta.problems.removal = {
+ message = "Removed because of XYZ.";
+ urls = [
+ "https://example.com"
+ "https://anotherexample.com"
+ ];
+ };
+}
diff --git a/pkgs/test/problems/cases/problem-urls/expected-stderr b/pkgs/test/problems/cases/problem-urls/expected-stderr
new file mode 100644
index 000000000000..e27b57297ef0
--- /dev/null
+++ b/pkgs/test/problems/cases/problem-urls/expected-stderr
@@ -0,0 +1,16 @@
+(stack trace truncated; use '--show-trace' to show the full, detailed trace)
+
+error: Refusing to evaluate package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:20 because it has problems:
+- removal: Removed because of XYZ. (https://example.com, https://anotherexample.com)
+
+See also https://nixos.org/manual/nixpkgs/unstable#sec-problems
+To allow evaluation regardless, use:
+- Nixpkgs import: import nixpkgs { config = ; }
+- NixOS: nixpkgs.config = ;
+- nix-* commands: Put below code in ~/.config/nixpkgs/config.nix
+
+ {
+ problems.handlers = {
+ a.removal = "warn"; # or "ignore"
+ };
+ }
diff --git a/pkgs/test/problems/cases/removal-error/default.nix b/pkgs/test/problems/cases/removal-error/default.nix
new file mode 100644
index 000000000000..5fd17d518612
--- /dev/null
+++ b/pkgs/test/problems/cases/removal-error/default.nix
@@ -0,0 +1,17 @@
+{ nixpkgs }:
+let
+ pkgs = import nixpkgs {
+ system = "x86_64-linux";
+ overlays = [ ];
+ config = {
+ problems.handlers.a.removal = "error";
+ };
+ };
+in
+pkgs.stdenvNoCC.mkDerivation {
+ pname = "a";
+ version = "0";
+ meta.problems = {
+ removal.message = "This package has been abandoned upstream and will be removed.";
+ };
+}
diff --git a/pkgs/test/problems/cases/removal-error/expected-stderr b/pkgs/test/problems/cases/removal-error/expected-stderr
new file mode 100644
index 000000000000..9d60a973e552
--- /dev/null
+++ b/pkgs/test/problems/cases/removal-error/expected-stderr
@@ -0,0 +1,16 @@
+(stack trace truncated; use '--show-trace' to show the full, detailed trace)
+
+error: Refusing to evaluate package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:13 because it has problems:
+- removal: This package has been abandoned upstream and will be removed.
+
+See also https://nixos.org/manual/nixpkgs/unstable#sec-problems
+To allow evaluation regardless, use:
+- Nixpkgs import: import nixpkgs { config = ; }
+- NixOS: nixpkgs.config = ;
+- nix-* commands: Put below code in ~/.config/nixpkgs/config.nix
+
+ {
+ problems.handlers = {
+ a.removal = "warn"; # or "ignore"
+ };
+ }
diff --git a/pkgs/test/problems/cases/removal-ignore/default.nix b/pkgs/test/problems/cases/removal-ignore/default.nix
new file mode 100644
index 000000000000..0cccb8873b27
--- /dev/null
+++ b/pkgs/test/problems/cases/removal-ignore/default.nix
@@ -0,0 +1,17 @@
+{ nixpkgs }:
+let
+ pkgs = import nixpkgs {
+ system = "x86_64-linux";
+ overlays = [ ];
+ config = {
+ problems.handlers = {
+ "a"."removal" = "ignore";
+ };
+ };
+ };
+in
+pkgs.stdenvNoCC.mkDerivation {
+ pname = "a";
+ version = "0";
+ meta.problems.removal.message = "To be removed";
+}
diff --git a/pkgs/test/problems/cases/removal-ignore/expected-stderr b/pkgs/test/problems/cases/removal-ignore/expected-stderr
new file mode 100644
index 000000000000..c255c1d5a32b
--- /dev/null
+++ b/pkgs/test/problems/cases/removal-ignore/expected-stderr
@@ -0,0 +1 @@
+warning: you did not specify '--add-root'; the result might be removed by the garbage collector
diff --git a/pkgs/test/problems/cases/removal-twice-error/default.nix b/pkgs/test/problems/cases/removal-twice-error/default.nix
new file mode 100644
index 000000000000..7898a9ae30ee
--- /dev/null
+++ b/pkgs/test/problems/cases/removal-twice-error/default.nix
@@ -0,0 +1,22 @@
+{ nixpkgs }:
+let
+ pkgs = import nixpkgs {
+ system = "x86_64-linux";
+ overlays = [ ];
+ config.checkMeta = true;
+ };
+in
+pkgs.stdenvNoCC.mkDerivation {
+ pname = "a";
+ version = "0";
+ meta.description = "Some package";
+ meta.problems = {
+ removal = {
+ message = "This package has been abandoned upstream and will be removed";
+ };
+ removal2 = {
+ kind = "removal";
+ message = "This package has been abandoned upstream and will be removed2";
+ };
+ };
+}
diff --git a/pkgs/test/problems/cases/removal-twice-error/expected-stderr b/pkgs/test/problems/cases/removal-twice-error/expected-stderr
new file mode 100644
index 000000000000..86177f4c31f4
--- /dev/null
+++ b/pkgs/test/problems/cases/removal-twice-error/expected-stderr
@@ -0,0 +1,4 @@
+(stack trace truncated; use '--show-trace' to show the full, detailed trace)
+
+error: Refusing to evaluate package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:12 because it has an invalid meta attrset:
+ - a.meta.problems: Problem kind removal should be unique, but is used for these problems: removal, removal2
diff --git a/pkgs/test/problems/cases/removal-warn/default.nix b/pkgs/test/problems/cases/removal-warn/default.nix
new file mode 100644
index 000000000000..60475d75591a
--- /dev/null
+++ b/pkgs/test/problems/cases/removal-warn/default.nix
@@ -0,0 +1,14 @@
+{ nixpkgs }:
+let
+ pkgs = import nixpkgs {
+ system = "x86_64-linux";
+ overlays = [ ];
+ config = { };
+ };
+in
+pkgs.stdenvNoCC.mkDerivation {
+ pname = "a";
+ version = "0";
+ meta.maintainers = [ "hello" ];
+ meta.problems.removal.message = "Package to be removed.";
+}
diff --git a/pkgs/test/problems/cases/removal-warn/expected-stderr b/pkgs/test/problems/cases/removal-warn/expected-stderr
new file mode 100644
index 000000000000..619e727b9f1b
--- /dev/null
+++ b/pkgs/test/problems/cases/removal-warn/expected-stderr
@@ -0,0 +1,2 @@
+evaluation warning: Package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:11 has the following problem: removal: Package to be removed. See https://nixos.org/manual/nixpkgs/unstable#sec-problems
+warning: you did not specify '--add-root'; the result might be removed by the garbage collector
diff --git a/pkgs/test/problems/default.nix b/pkgs/test/problems/default.nix
new file mode 100644
index 000000000000..1e2ce5108bbe
--- /dev/null
+++ b/pkgs/test/problems/default.nix
@@ -0,0 +1,60 @@
+{
+ lib,
+ nix,
+ runCommand,
+ removeReferencesTo,
+ path,
+ gitMinimal,
+}:
+let
+ nixpkgs = lib.cleanSource path;
+ unitResult = import ./unit.nix { inherit lib; };
+in
+assert lib.assertMsg (unitResult == [ ])
+ "problems/unit.nix failing: ${lib.generators.toPretty { } unitResult}";
+lib.mapAttrs (
+ name: _:
+ let
+ nixFile = "${./cases + "/${name}/default.nix"}";
+ result = runCommand "test-problems-${name}" { nativeBuildInputs = [ removeReferencesTo ]; } ''
+ export NIX_STATE_DIR=$(mktemp -d)
+ mkdir $out
+
+ command=(
+ # FIXME: Using this version because it doesn't print a trace by default
+ # Probably should have some regex-style error matching instead
+ "${lib.getBin nix}/bin/nix-instantiate"
+ ${nixFile}
+ # Readonly mode because we don't need to write anything to the store
+ "--readonly-mode"
+ "--arg"
+ "nixpkgs"
+ "${nixpkgs}"
+ )
+
+ echo "''${command[*]@Q}" > $out/command
+ echo "Running ''${command[*]@Q}"
+ set +e
+ "''${command[@]}" >$out/stdout 2>$out/stderr
+ set +e
+ echo "$?" > $out/code
+ echo "Command exited with code $(<$out/code)"
+ remove-references-to -t ${nixFile} $out/stderr
+ if grep '(stack trace truncated.*)' $out/stderr; then
+ sed -i -n '/(stack trace truncated.*)/,$ p' $out/stderr
+ fi
+ sed -i 's/^ //' $out/stderr
+ '';
+ checker = runCommand "test-problems-check-${name}" { } ''
+ if ! PAGER=cat ${lib.getExe gitMinimal} diff --no-index ${
+ ./cases + "/${name}/expected-stderr"
+ } ${result}/stderr ; then
+ echo "Output of $(< ${result}/command) does not match what was expected. To adapt:"
+ echo "cp ${result}/stderr ${lib.path.removePrefix path ./cases + "/${name}/expected-stderr"}"
+ exit 1
+ fi
+ touch $out
+ '';
+ in
+ checker
+) (builtins.readDir ./cases)
diff --git a/pkgs/test/problems/unit.nix b/pkgs/test/problems/unit.nix
new file mode 100644
index 000000000000..073ddaa12cfa
--- /dev/null
+++ b/pkgs/test/problems/unit.nix
@@ -0,0 +1,153 @@
+{ lib }:
+let
+ p = import ../../stdenv/generic/problems.nix { inherit lib; };
+
+ genHandlerTest =
+ let
+ slowReference =
+ config: package: name: kind:
+ # Try to find an explicit handler
+ (config.problems.handlers.${package} or { }).${name}
+ # Fall back, iterating through the matchers
+ or (lib.pipe config.problems.matchers [
+ # Find matches
+ (lib.filter (
+ matcher:
+ (matcher.name != null -> name == matcher.name)
+ && (matcher.kind != null -> kind == matcher.kind)
+ && (matcher.package != null -> package == matcher.package)
+ ))
+ # Extract handler level
+ (map (matcher: matcher.handler))
+ # Take the strongest matched handler level
+ (lib.foldl' p.handlers.max "ignore")
+ ]);
+
+ genValue =
+ f:
+ map
+ (
+ package:
+ map
+ (
+ name:
+ map (kind: f package name kind) [
+ "k1"
+ "k2"
+ "k3"
+ ]
+ )
+ [
+ "n1"
+ "n2"
+ "n3"
+ ]
+ )
+ [
+ "p1"
+ "p2"
+ "p3"
+ ];
+
+ in
+ v: {
+ expr = genValue (p.genHandlerSwitch { problems = v; }).handlerForProblem;
+ expected = genValue (slowReference {
+ problems = v;
+ });
+ };
+in
+lib.runTests {
+ testHandlersLessThan =
+ let
+ levels = p.handlers.levels;
+ slowReference =
+ a: b:
+ lib.lists.findFirstIndex (v: v == a) (abort "Shouldn't happen") levels
+ < lib.lists.findFirstIndex (v: v == b) (abort "Shouldn't happen") levels;
+
+ genValue =
+ f:
+ lib.genList (
+ i: lib.genList (j: f (lib.elemAt levels i) (lib.elemAt levels j)) (lib.length levels)
+ ) (lib.length levels);
+ in
+ {
+ expr = genValue p.handlers.lessThan;
+ expected = genValue slowReference;
+ };
+
+ testHandlerEmpty = genHandlerTest {
+ matchers = [ ];
+ handlers = { };
+ };
+
+ testHandlerNameSpecificHandlers = genHandlerTest {
+ matchers = [ ];
+ handlers.p1.n1 = "error";
+ handlers.p1.n2 = "warn";
+ handlers.p1.n3 = "ignore";
+ };
+
+ testHandlerPackageSpecificHandlers = genHandlerTest {
+ matchers = [ ];
+ handlers.p1.n1 = "error";
+ handlers.p2.n1 = "warn";
+ handlers.p3.n1 = "ignore";
+ };
+
+ testHandlersOverrideMatchers = genHandlerTest {
+ matchers = [
+ {
+ package = "p1";
+ name = "n1";
+ kind = null;
+ handler = "error";
+ }
+ ];
+ handlers.p1.n1 = "warn";
+ };
+
+ testMatchersDefault = genHandlerTest {
+ matchers = [
+ # Everything should warn by default
+ {
+ package = null;
+ name = null;
+ kind = null;
+ handler = "warn";
+ }
+ ];
+ handlers = { };
+ };
+
+ testMatchersComplicated = genHandlerTest {
+ matchers = [
+ {
+ package = "p1";
+ name = null;
+ kind = null;
+ handler = "warn";
+ }
+ {
+ package = "p1";
+ name = "n1";
+ kind = null;
+ handler = "error";
+ }
+ {
+ package = "p1";
+ name = null;
+ kind = "k1";
+ handler = "error";
+ }
+ {
+ package = "p1";
+ name = "n2";
+ kind = "k2";
+ handler = "error";
+ }
+ ];
+ handlers = { };
+ };
+}
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 4b735b0af592..98041f313627 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -1509,6 +1509,7 @@ mapAliases {
pal = throw "pal has been removed, as it was broken"; # Added 2025-08-25
pam_pgsql = pam-pgsql; # Added 2025-12-16
pangolin = throw "pangolin has been removed due to lack of maintenance"; # Added 2025-11-17
+ paper-plane = throw "'paper-plane' has been removed as it is unmaintained upstream and depends on vulnerable tdlib version."; # Added 2026-02-26
paperless-ng = throw "'paperless-ng' has been renamed to/replaced by 'paperless-ngx'"; # Converted to throw 2025-10-27
parcellite = throw "'parcellite' was remove due to lack of maintenance and relying on gtk2"; # Added 2025-10-03
patchelfStable = throw "'patchelfStable' has been renamed to/replaced by 'patchelf'"; # Converted to throw 2025-10-27
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index e780c4ad0efb..d5e2785c51cd 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -990,13 +990,8 @@ with pkgs;
akkuPackages
;
- alice-tools = callPackage ../tools/games/alice-tools {
- withGUI = false;
- };
-
- alice-tools-qt5 = libsForQt5.callPackage ../tools/games/alice-tools { };
-
- alice-tools-qt6 = qt6Packages.callPackage ../tools/games/alice-tools { };
+ alice-tools-qt5 = alice-tools.override { withQt5 = true; };
+ alice-tools-qt6 = alice-tools.override { withQt6 = true; };
auditwheel = with python3Packages; toPythonApplication auditwheel;
diff --git a/pkgs/top-level/config.nix b/pkgs/top-level/config.nix
index 80d56c112e18..7efb30525420 100644
--- a/pkgs/top-level/config.nix
+++ b/pkgs/top-level/config.nix
@@ -45,11 +45,18 @@ let
internal = true;
};
+ # Should be replaced by importing in the future
+ # see also https://github.com/NixOS/nixpkgs/pull/207187
warnings = mkOption {
type = types.listOf types.str;
default = [ ];
internal = true;
};
+ assertions = mkOption {
+ type = types.listOf types.anything;
+ default = [ ];
+ internal = true;
+ };
# Config options
@@ -448,6 +455,8 @@ let
compatibility of configurations with 26.05.
'';
};
+
+ problems = (import ../stdenv/generic/problems.nix { inherit lib; }).configOptions;
};
in
@@ -470,9 +479,35 @@ in
inherit options;
config = {
- warnings = optionals config.warnUndeclaredOptions (
- mapAttrsToList (k: v: "undeclared Nixpkgs option set: config.${k}") config._undeclared or { }
- );
+ warnings =
+ optionals config.warnUndeclaredOptions (
+ mapAttrsToList (k: v: "undeclared Nixpkgs option set: config.${k}") config._undeclared or { }
+ )
+ ++ lib.optional (config.showDerivationWarnings != [ ]) ''
+ `config.showDerivationWarnings = [ "maintainerless" ]` is deprecated, use `config.problems` instead:
+
+ config.problems.matchers = [ { kind = "maintainerless"; handler = "warn"; } ];
+
+ See this page for more details: https://nixos.org/manual/nixpkgs/unstable#sec-problems
+ '';
+
+ assertions =
+ # Collect the assertions from the problems.matchers.* submodules, propagate them into here
+ lib.concatMap (matcher: matcher.assertions) config.problems.matchers;
+
+ # Put the default value for matchers in here (as in, not as an *actual* mkDefault default value),
+ # to force it being merged with any custom values instead of being overridden.
+ problems.matchers = [
+ # Be loud and clear about package removals
+ {
+ kind = "removal";
+ handler = "warn";
+ }
+ (lib.mkIf (lib.elem "maintainerless" config.showDerivationWarnings) {
+ kind = "maintainerless";
+ handler = "warn";
+ })
+ ];
};
}
diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix
index b24ab749b997..18f608a57c20 100644
--- a/pkgs/top-level/coq-packages.nix
+++ b/pkgs/top-level/coq-packages.nix
@@ -223,6 +223,11 @@ let
tlc = callPackage ../development/coq-modules/tlc { };
topology = callPackage ../development/coq-modules/topology { };
trakt = callPackage ../development/coq-modules/trakt { };
+ TypedExtraction = callPackage ../development/coq-modules/TypedExtraction { };
+ TypedExtraction-common = self.TypedExtraction.common;
+ TypedExtraction-elm = self.TypedExtraction.elm;
+ TypedExtraction-rust = self.TypedExtraction.rust;
+ TypedExtraction-plugin = self.TypedExtraction.plugin;
unicoq = callPackage ../development/coq-modules/unicoq { };
validsdp = callPackage ../development/coq-modules/validsdp { };
vcfloat = callPackage ../development/coq-modules/vcfloat (
diff --git a/pkgs/top-level/default.nix b/pkgs/top-level/default.nix
index 29da5c93202c..607145be06aa 100644
--- a/pkgs/top-level/default.nix
+++ b/pkgs/top-level/default.nix
@@ -126,7 +126,16 @@ let
};
# take all the rest as-is
- config = lib.showWarnings configEval.config.warnings configEval.config;
+ config =
+ let
+ failedAssertionsString = lib.concatMapStringsSep "\n" (x: "- ${x.message}") (
+ lib.filter (x: !x.assertion) configEval.config.assertions
+ );
+ in
+ if failedAssertionsString != "" then
+ throw "Failed assertions:\n${failedAssertionsString}"
+ else
+ lib.showWarnings configEval.config.warnings configEval.config;
# A few packages make a new package set to draw their dependencies from.
# (Currently to get a cross tool chain, or forced-i686 package.) Rather than
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index eccfc6437df9..21b64b48e01d 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -538,6 +538,8 @@ self: super: with self; {
aiotedee = callPackage ../development/python-modules/aiotedee { };
+ aiotools = callPackage ../development/python-modules/aiotools { };
+
aiotractive = callPackage ../development/python-modules/aiotractive { };
aiounifi = callPackage ../development/python-modules/aiounifi { };
@@ -6658,6 +6660,8 @@ self: super: with self; {
# built-in for pypi
greenlet = if isPyPy then null else callPackage ../development/python-modules/greenlet { };
+ greenplanet-energy-api = callPackage ../development/python-modules/greenplanet-energy-api { };
+
greenwavereality = callPackage ../development/python-modules/greenwavereality { };
gremlinpython = callPackage ../development/python-modules/gremlinpython { };
@@ -13254,6 +13258,8 @@ self: super: with self; {
pycdio = callPackage ../development/python-modules/pycdio { };
+ pycdlib = callPackage ../development/python-modules/pycdlib { };
+
pycec = callPackage ../development/python-modules/pycec { };
pycep-parser = callPackage ../development/python-modules/pycep-parser { };
@@ -16552,6 +16558,8 @@ self: super: with self; {
requests-gssapi = callPackage ../development/python-modules/requests-gssapi { };
+ requests-hardened = callPackage ../development/python-modules/requests-hardened { };
+
requests-hawk = callPackage ../development/python-modules/requests-hawk { };
requests-http-message-signatures =