Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2026-09-10 13:18:45 +00:00
committed by GitHub
34 changed files with 2119 additions and 1130 deletions

View File

@@ -1708,6 +1708,7 @@
./services/web-apps/filebrowser.nix
./services/web-apps/firefly-iii-data-importer.nix
./services/web-apps/firefly-iii.nix
./services/web-apps/flame.nix
./services/web-apps/flarum.nix
./services/web-apps/fluidd.nix
./services/web-apps/freescout.nix

View File

@@ -0,0 +1,371 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.services.flame;
settingsFormat = pkgs.formats.json { };
# Accepts either a list of strings or a raw semicolon-separated string.
schemaToStr = x: if builtins.isList x then lib.concatStringsSep ";" x else x;
# Needed to prepopulate DB
sqlQuote = s: "'" + builtins.replaceStrings [ "'" ] [ "''" ] s + "'";
seedSql = pkgs.writeText "flame-seed.sql" ''
${lib.optionalString (cfg.apps != [ ] || cfg.categories != [ ]) ''
DELETE FROM bookmarks;
DELETE FROM categories;
DELETE FROM apps;
''}
${lib.concatMapStringsSep "\n" (app: ''
INSERT INTO apps (name, url, icon, description, isPinned, createdAt, updatedAt)
VALUES (${sqlQuote app.name}, ${sqlQuote app.url}, ${sqlQuote app.icon}, ${sqlQuote app.description}, ${
if app.isPinned then "1" else "0"
}, datetime('now'), datetime('now'));
'') cfg.apps}
${lib.concatMapStringsSep "\n" (cat: ''
INSERT INTO categories (name, isPinned, createdAt, updatedAt)
VALUES (${sqlQuote cat.name}, ${
if cat.isPinned then "1" else "0"
}, datetime('now'), datetime('now'));
${lib.concatMapStringsSep "\n" (bm: ''
INSERT INTO bookmarks (name, url, icon, categoryId, createdAt, updatedAt)
VALUES (${sqlQuote bm.name}, ${sqlQuote bm.url}, ${sqlQuote bm.icon}, (SELECT id FROM categories WHERE name = ${sqlQuote cat.name} ORDER BY id DESC LIMIT 1), datetime('now'), datetime('now'));
'') cat.bookmarks}
'') cfg.categories}
'';
cssFile = pkgs.writeText "flame-custom.css" cfg.customCSS;
# Build-time symlink farm of everything Flame ships except data/ and
# public/, which are left as empty placeholders here and populated at
# runtime (data/ is real state; public/ is refreshed from cfg.package
# on every start, since it holds built client assets).
appTree = pkgs.runCommand "flame-app-tree" { } ''
mkdir -p $out
for entry in ${cfg.package}/lib/flame/*; do
name=$(basename "$entry")
if [ "$name" != data ] && [ "$name" != public ]; then
ln -s "$entry" "$out/$name"
fi
done
mkdir -p $out/data $out/public
'';
# WEATHER_API_KEY is deliberately excluded here; it's injected at
# runtime from `weatherApiKeyFile` so it never touches the Nix store.
settingsFile = settingsFormat.generate "flame-settings.json" (
lib.filterAttrs (n: _: n != "weatherApiKeyFile") cfg.settings
// lib.optionalAttrs (cfg.settings ? greetingsSchema) {
greetingsSchema = schemaToStr cfg.settings.greetingsSchema;
}
// lib.optionalAttrs (cfg.settings ? daySchema) {
daySchema = schemaToStr cfg.settings.daySchema;
}
// lib.optionalAttrs (cfg.settings ? monthSchema) {
monthSchema = schemaToStr cfg.settings.monthSchema;
}
);
in
{
meta.maintainers = with lib.maintainers; [ DerGrumpf ];
options.services.flame = {
enable = lib.mkEnableOption "Flame, a self-hosted startpage for your server";
package = lib.mkPackageOption pkgs "flame" { };
port = lib.mkOption {
type = lib.types.port;
default = 5005;
description = "Port on which to serve the Flame web interface.";
};
passwordFile = lib.mkOption {
type = lib.types.path;
description = ''
Path to a file containing the password to log in to Flame's settings panel.
This is the recommended option as it avoids storing the password in the Nix store.
Compatible with sops-nix and agenix.
'';
example = "/run/secrets/flame-password";
};
openFirewall = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Whether to open the firewall for the port used by Flame.";
};
customCSS = lib.mkOption {
type = lib.types.lines;
default = "";
description = ''
Custom CSS injected into Flame's UI, written to
{file}`public/flame.css` on every service start. Can also be used
to define a fully custom theme via CSS custom properties see
[Flame's Custom CSS wiki page](https://github.com/pawelmalak/flame/wiki/Custom-CSS).
'';
example = ''
.Home_SettingsButton__Qvn8C {
border-radius: 0 !important;
}
'';
};
categories = lib.mkOption {
type = lib.types.listOf (
lib.types.submodule {
options = {
name = lib.mkOption {
type = lib.types.str;
description = "Name of the bookmark category.";
};
isPinned = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Whether the category is pinned by default.";
};
bookmarks = lib.mkOption {
default = [ ];
description = "Bookmarks belonging to this category.";
type = lib.types.listOf (
lib.types.submodule {
options = {
name = lib.mkOption {
type = lib.types.str;
description = "Name of the bookmark.";
};
url = lib.mkOption {
type = lib.types.str;
description = "URL of the bookmark.";
};
icon = lib.mkOption {
type = lib.types.str;
default = "";
description = "Icon name or URL for the bookmark.";
};
};
}
);
};
};
}
);
default = [ ];
description = ''
Bookmark categories and their bookmarks. When non-empty, this
fully replaces the contents of Flame's `categories` and
`bookmarks` tables on every service start any bookmarks added
through the web UI will not persist across restarts.
'';
example = [
{
name = "Dev";
bookmarks = [
{
name = "GitHub";
url = "https://github.com";
}
];
}
];
};
apps = lib.mkOption {
type = lib.types.listOf (
lib.types.submodule {
options = {
name = lib.mkOption {
type = lib.types.str;
description = "Name of the app.";
};
url = lib.mkOption {
type = lib.types.str;
description = "URL of the app.";
};
icon = lib.mkOption {
type = lib.types.str;
default = "cancel";
description = "Icon name or URL for the app.";
};
description = lib.mkOption {
type = lib.types.str;
default = "";
description = "Short description shown for the app.";
};
isPinned = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Whether the app is pinned by default.";
};
};
}
);
default = [ ];
description = ''
Applications shown on the dashboard. When non-empty, this fully
replaces the contents of Flame's `apps` table on every service
start any apps added through the web UI will not persist
across restarts.
'';
example = [
{
name = "Router";
url = "http://192.168.1.1";
}
];
};
settings = lib.mkOption {
type = lib.types.submodule {
freeformType = settingsFormat.type;
options = {
weatherApiKeyFile = lib.mkOption {
type = lib.types.nullOr lib.types.path;
default = null;
description = ''
Path to a file containing the API key obtained from https://www.weatherapi.com used for
Flame's weather widget.
Compatible with sops-nix and agenix.
'';
example = "/run/secrets/flame-weather-api-key";
};
};
};
default = { };
description = ''
Flame settings, written to Flame's settings JSON on every service
start. Accepts any key Flame's settings API supports; see
[Flame's source](https://github.com/pawelmalak/flame/blob/master/client/src/context/context.js)
for the current schema, since Flame does not publish separate
settings documentation.
`greetingsSchema`, `daySchema`, and `monthSchema` accept either a
list of strings or a single semicolon-separated string.
'';
example = {
lat = 52.52;
long = 13.405;
customTitle = "My Dashboard";
hideHeader = true;
};
};
};
config = lib.mkIf cfg.enable {
systemd.services = {
flame-seed = lib.mkIf (cfg.apps != [ ] || cfg.categories != [ ]) {
description = "Seed Flame apps and bookmarks";
after = [ "flame.service" ];
requires = [ "flame.service" ];
wantedBy = [ "flame.service" ];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
DynamicUser = true;
StateDirectory = "flame";
};
script = ''
for i in $(seq 1 30); do
if ${lib.getExe pkgs.sqlite} /var/lib/flame/app/data/db.sqlite \
"SELECT 1 FROM sqlite_master WHERE type='table' AND name='apps';" | grep -q 1; then
break
fi
sleep 1
done
${lib.getExe pkgs.sqlite} /var/lib/flame/app/data/db.sqlite < ${seedSql}
'';
};
flame = {
description = "Flame, a self-hosted startpage for your server";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
preStart = ''
for entry in ${appTree}/*; do
name=$(basename "$entry")
if [ "$name" != data ] && [ "$name" != public ]; then
ln -sfn "$entry" /var/lib/flame/app/"$name"
fi
done
for entry in /var/lib/flame/app/data /var/lib/flame/app/public; do
if [ -L "$entry" ]; then
rm -f "$entry"
fi
done
mkdir -p /var/lib/flame/app/data/uploads /var/lib/flame/app/public
if [ ! -f /var/lib/flame/app/data/.secret ]; then
${lib.getExe pkgs.openssl} rand -hex 32 > /var/lib/flame/app/data/.secret
fi
chmod 644 /var/lib/flame/app/data/.secret
cp -r ${cfg.package}/lib/flame/public/. /var/lib/flame/app/public/
chmod -R u+w /var/lib/flame/app/public
install -m644 ${cssFile} /var/lib/flame/app/data/flame.css
${lib.getExe pkgs.jq} -n --slurpfile base ${cfg.package}/lib/flame/utils/init/initialConfig.json \
'$base[0]' > /var/lib/flame/app/data/config.json.tmp
${lib.optionalString (cfg.settings.weatherApiKeyFile != null) ''
weatherApiKey=$(cat ${cfg.settings.weatherApiKeyFile})
${lib.getExe pkgs.jq} --arg key "$weatherApiKey" '.WEATHER_API_KEY = $key' \
${settingsFile} > /var/lib/flame/app/data/settings-with-key.json
''}
${lib.getExe pkgs.jq} -s '.[0] * .[1]' \
/var/lib/flame/app/data/config.json.tmp \
${
if cfg.settings.weatherApiKeyFile != null then
"/var/lib/flame/app/data/settings-with-key.json"
else
settingsFile
} \
> /var/lib/flame/app/data/config.json
rm -f /var/lib/flame/app/data/config.json.tmp
chmod u+w /var/lib/flame/app/data/config.json
'';
serviceConfig = {
DynamicUser = true;
StateDirectory = [
"flame"
"flame/app"
];
WorkingDirectory = "/var/lib/flame/app";
Environment = [
"PORT=${toString cfg.port}"
"NODE_ENV=production"
"VERSION=${cfg.package.version}"
];
LoadCredential = [ "flame-password:${cfg.passwordFile}" ];
Restart = "always";
NoNewPrivileges = true;
PrivateTmp = true;
ProtectSystem = "strict";
ProtectHome = true;
CapabilityBoundingSet = "";
};
script = ''
export PASSWORD="$(cat "$CREDENTIALS_DIRECTORY/flame-password")"
exec ${lib.getExe pkgs.nodejs} --preserve-symlinks --preserve-symlinks-main server.js
'';
};
};
networking.firewall = lib.mkIf cfg.openFirewall {
allowedTCPPorts = [ cfg.port ];
};
};
}

View File

@@ -690,6 +690,7 @@ in
firewalld = runTest ./firewalld.nix;
firezone = runTest ./firezone/firezone.nix;
fish = runTest ./fish.nix;
flame = runTest ./flame.nix;
flannel = runTestOn [ "x86_64-linux" ] ./flannel.nix;
flap-alerted = runTest ./flap-alerted.nix;
flaresolverr = runTest ./flaresolverr.nix;

68
nixos/tests/flame.nix Normal file
View File

@@ -0,0 +1,68 @@
{ lib, ... }:
{
name = "flame";
meta.maintainers = with lib.maintainers; [ DerGrumpf ];
nodes.machine = {
services.flame = {
enable = true;
passwordFile = "/etc/flame-password";
apps = [
{
name = "Test App";
url = "http://example.com";
}
];
categories = [
{
name = "Test Category";
bookmarks = [
{
name = "Nixpkgs";
url = "https://github.com/NixOS/nixpkgs";
}
];
}
];
settings = {
customTitle = "Test Flame";
customUnknownKey = "test-value";
};
customCSS = ''
body { background: #123456; }
'';
};
systemd.tmpfiles.rules = [
"f /etc/flame-password 0400 root root - testpassword"
];
};
testScript = ''
machine.wait_for_unit("flame.service")
machine.wait_for_open_port(5005)
machine.succeed("curl -f http://localhost:5005/")
machine.wait_for_unit("flame-seed.service")
machine.succeed("curl -f http://localhost:5005/api/apps | grep -q 'Test App'")
machine.succeed("curl -f http://localhost:5005/api/categories | grep -q 'Test Category'")
machine.succeed("curl -f http://localhost:5005/api/categories | grep -q Nixpkgs")
machine.succeed("curl -f http://localhost:5005/api/config | grep -q 'Test Flame'")
machine.succeed("curl -f http://localhost:5005/flame.css | grep -q '#123456'")
# Restart resilience
machine.succeed("systemctl restart flame.service")
machine.wait_for_unit("flame.service")
machine.wait_for_open_port(5005)
machine.succeed("curl -f http://localhost:5005/api/apps | grep -q 'Test App'")
# Freeform settings pass-through (unknown key, not explicitly declared)
machine.succeed("curl -f http://localhost:5005/api/config | grep -q customUnknownKey")
'';
}

View File

@@ -6,7 +6,7 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "budget-tracker-tui";
version = "1.4.2";
version = "1.6.0";
__structuredAttrs = true;
@@ -14,9 +14,9 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "Feromond";
repo = "budget_tracker_tui";
tag = "v${finalAttrs.version}";
hash = "sha256-kaGgZxDX3SwtU+zY1oLWeT3OYFoXau5pM+6cfW4el34=";
hash = "sha256-hkk25SpIQ7t8otp0vLYtNcCXlbFoXnF7bQKg1qvEYEE=";
};
cargoHash = "sha256-X71AGsR4bMjD3c7hEWP3cBEqQyBa68CJKVPmjrp4M5w=";
cargoHash = "sha256-P4Fl2muXjog8RRJ4EZ6EWWIB1wUG0Rqm3ugVMvbQ1cI=";
passthru.updateScript = nix-update-script { };

View File

@@ -41,7 +41,6 @@
"l10n-for-node": "0.0.1",
"mocha": "8.2.1",
"prettier": "^3.1.1",
"select2": "4.0.13",
"shrinkpack": "0.20.0",
"smartmenus": "1.0.0",
"stylelint": "13.7.0",
@@ -54,13 +53,13 @@
}
},
"node_modules/@babel/code-frame": {
"version": "7.29.0",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz",
"integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==",
"version": "7.29.7",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz",
"integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-validator-identifier": "^7.28.5",
"@babel/helper-validator-identifier": "^7.29.7",
"js-tokens": "^4.0.0",
"picocolors": "^1.1.1"
},
@@ -69,9 +68,9 @@
}
},
"node_modules/@babel/compat-data": {
"version": "7.29.0",
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz",
"integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==",
"version": "7.29.7",
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz",
"integrity": "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -79,21 +78,21 @@
}
},
"node_modules/@babel/core": {
"version": "7.29.0",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz",
"integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==",
"version": "7.29.7",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz",
"integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.29.0",
"@babel/generator": "^7.29.0",
"@babel/helper-compilation-targets": "^7.28.6",
"@babel/helper-module-transforms": "^7.28.6",
"@babel/helpers": "^7.28.6",
"@babel/parser": "^7.29.0",
"@babel/template": "^7.28.6",
"@babel/traverse": "^7.29.0",
"@babel/types": "^7.29.0",
"@babel/code-frame": "^7.29.7",
"@babel/generator": "^7.29.7",
"@babel/helper-compilation-targets": "^7.29.7",
"@babel/helper-module-transforms": "^7.29.7",
"@babel/helpers": "^7.29.7",
"@babel/parser": "^7.29.7",
"@babel/template": "^7.29.7",
"@babel/traverse": "^7.29.7",
"@babel/types": "^7.29.7",
"@jridgewell/remapping": "^2.3.5",
"convert-source-map": "^2.0.0",
"debug": "^4.1.0",
@@ -127,14 +126,14 @@
}
},
"node_modules/@babel/generator": {
"version": "7.29.1",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz",
"integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==",
"version": "7.29.8",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.8.tgz",
"integrity": "sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/parser": "^7.29.0",
"@babel/types": "^7.29.0",
"@babel/parser": "^7.29.8",
"@babel/types": "^7.29.8",
"@jridgewell/gen-mapping": "^0.3.12",
"@jridgewell/trace-mapping": "^0.3.28",
"jsesc": "^3.0.2"
@@ -144,14 +143,14 @@
}
},
"node_modules/@babel/helper-compilation-targets": {
"version": "7.28.6",
"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz",
"integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==",
"version": "7.29.7",
"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz",
"integrity": "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/compat-data": "^7.28.6",
"@babel/helper-validator-option": "^7.27.1",
"@babel/compat-data": "^7.29.7",
"@babel/helper-validator-option": "^7.29.7",
"browserslist": "^4.24.0",
"lru-cache": "^5.1.1",
"semver": "^6.3.1"
@@ -188,9 +187,9 @@
"license": "ISC"
},
"node_modules/@babel/helper-globals": {
"version": "7.28.0",
"resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
"integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
"version": "7.29.7",
"resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz",
"integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -198,29 +197,29 @@
}
},
"node_modules/@babel/helper-module-imports": {
"version": "7.28.6",
"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz",
"integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==",
"version": "7.29.7",
"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz",
"integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/traverse": "^7.28.6",
"@babel/types": "^7.28.6"
"@babel/traverse": "^7.29.7",
"@babel/types": "^7.29.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-transforms": {
"version": "7.28.6",
"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz",
"integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==",
"version": "7.29.7",
"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz",
"integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-module-imports": "^7.28.6",
"@babel/helper-validator-identifier": "^7.28.5",
"@babel/traverse": "^7.28.6"
"@babel/helper-module-imports": "^7.29.7",
"@babel/helper-validator-identifier": "^7.29.7",
"@babel/traverse": "^7.29.7"
},
"engines": {
"node": ">=6.9.0"
@@ -230,9 +229,9 @@
}
},
"node_modules/@babel/helper-string-parser": {
"version": "7.27.1",
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
"integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
"version": "7.29.7",
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz",
"integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -240,9 +239,9 @@
}
},
"node_modules/@babel/helper-validator-identifier": {
"version": "7.28.5",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
"integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
"version": "7.29.7",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz",
"integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -250,9 +249,9 @@
}
},
"node_modules/@babel/helper-validator-option": {
"version": "7.27.1",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz",
"integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==",
"version": "7.29.7",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz",
"integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -260,27 +259,27 @@
}
},
"node_modules/@babel/helpers": {
"version": "7.29.2",
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz",
"integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==",
"version": "7.29.7",
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz",
"integrity": "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/template": "^7.28.6",
"@babel/types": "^7.29.0"
"@babel/template": "^7.29.7",
"@babel/types": "^7.29.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/parser": {
"version": "7.29.2",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz",
"integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==",
"version": "7.29.8",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.8.tgz",
"integrity": "sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/types": "^7.29.0"
"@babel/types": "^7.29.8"
},
"bin": {
"parser": "bin/babel-parser.js"
@@ -290,33 +289,33 @@
}
},
"node_modules/@babel/template": {
"version": "7.28.6",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz",
"integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==",
"version": "7.29.7",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz",
"integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.28.6",
"@babel/parser": "^7.28.6",
"@babel/types": "^7.28.6"
"@babel/code-frame": "^7.29.7",
"@babel/parser": "^7.29.7",
"@babel/types": "^7.29.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
"version": "7.29.0",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz",
"integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==",
"version": "7.29.8",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.8.tgz",
"integrity": "sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.29.0",
"@babel/generator": "^7.29.0",
"@babel/helper-globals": "^7.28.0",
"@babel/parser": "^7.29.0",
"@babel/template": "^7.28.6",
"@babel/types": "^7.29.0",
"@babel/code-frame": "^7.29.7",
"@babel/generator": "^7.29.8",
"@babel/helper-globals": "^7.29.7",
"@babel/parser": "^7.29.8",
"@babel/template": "^7.29.7",
"@babel/types": "^7.29.8",
"debug": "^4.3.1"
},
"engines": {
@@ -324,14 +323,14 @@
}
},
"node_modules/@babel/types": {
"version": "7.29.0",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz",
"integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==",
"version": "7.29.8",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz",
"integrity": "sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-string-parser": "^7.27.1",
"@babel/helper-validator-identifier": "^7.28.5"
"@babel/helper-string-parser": "^7.29.7",
"@babel/helper-validator-identifier": "^7.29.7"
},
"engines": {
"node": ">=6.9.0"
@@ -833,7 +832,6 @@
"integrity": "sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==",
"dev": true,
"license": "BSD-2-Clause",
"peer": true,
"dependencies": {
"@typescript-eslint/scope-manager": "4.33.0",
"@typescript-eslint/types": "4.33.0",
@@ -960,7 +958,6 @@
"resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
"integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
"license": "MIT",
"peer": true,
"bin": {
"acorn": "bin/acorn"
},
@@ -1049,9 +1046,9 @@
}
},
"node_modules/ajv": {
"version": "6.14.0",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz",
"integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==",
"version": "6.15.0",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz",
"integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1231,9 +1228,9 @@
}
},
"node_modules/asn1.js/node_modules/bn.js": {
"version": "4.12.3",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz",
"integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==",
"version": "4.12.5",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.5.tgz",
"integrity": "sha512-3aRg6/JxfffFD+OlOjOFR3Vo79l39ooBTFucxx+MT3dhCtzn3EmiUPQo+6/OZuI2jbXi3YKgmiTFBgChQMwIRQ==",
"dev": true,
"license": "MIT"
},
@@ -1403,9 +1400,9 @@
"license": "MIT"
},
"node_modules/baseline-browser-mapping": {
"version": "2.10.14",
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.14.tgz",
"integrity": "sha512-fOVLPAsFTsQfuCkvahZkzq6nf8KvGWanlYoTh0SVA0A/PIUxQGU2AOZAoD95n2gFLVDW/jP6sbGLny95nmEuHA==",
"version": "2.11.11",
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.11.tgz",
"integrity": "sha512-/yImnXwyTvgMkhgekLHok/Rx5vO6E0BmStWlSqKWMVm2a2ITuZ1Tn+9bgLS+gZRdZmWtd8nxuhHpdmCUOWsTQQ==",
"dev": true,
"license": "Apache-2.0",
"bin": {
@@ -1495,16 +1492,16 @@
}
},
"node_modules/bn.js": {
"version": "5.2.3",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.3.tgz",
"integrity": "sha512-EAcmnPkxpntVL+DS7bO1zhcZNvCkxqtkd0ZY53h06GNQ3DEkkGZ/gKgmDv6DdZQGj9BgfSPKtJJ7Dp1GPP8f7w==",
"version": "5.2.5",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.5.tgz",
"integrity": "sha512-Vq886eXykuP5E6HcKSSStP3bJgrE6In5WKxVUvJ8XGpWWYs2xZHWqUwzCtGgEtBcxyd57KBFDPFoUfNzdaHCNg==",
"dev": true,
"license": "MIT"
},
"node_modules/brace-expansion": {
"version": "1.1.13",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz",
"integrity": "sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==",
"version": "1.1.18",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.18.tgz",
"integrity": "sha512-Edep/X9fGqVNmzKBVsDYIOtD+z1tuezV70LBjdCst9Tqu76lsnvRiZ6oTic1n+/BIwX6QDGAO94PN4N2SADvtw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1716,13 +1713,13 @@
}
},
"node_modules/browserify-sign": {
"version": "4.2.5",
"resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.5.tgz",
"integrity": "sha512-C2AUdAJg6rlM2W5QMp2Q4KGQMVBwR1lIimTsUnutJ8bMpW5B52pGpR2gEnNBNwijumDo5FojQ0L9JrXA8m4YEw==",
"version": "4.2.6",
"resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.6.tgz",
"integrity": "sha512-sd+Q65fjlWCYWtZKXiKfrUc8d+4jtp/8f0W2NkwzLtoW4bI6UDnWusLWIurHnmurW0XShIRxpwiOX4EoPtXUAg==",
"dev": true,
"license": "ISC",
"dependencies": {
"bn.js": "^5.2.2",
"bn.js": "^5.2.3",
"browserify-rsa": "^4.1.1",
"create-hash": "^1.2.0",
"create-hmac": "^1.1.7",
@@ -1747,9 +1744,9 @@
}
},
"node_modules/browserslist": {
"version": "4.28.2",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz",
"integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==",
"version": "4.28.7",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.7.tgz",
"integrity": "sha512-JxV13hNrFxqjOc8alRbq9dK1MM79NEXYpma2B2J4wAtpWS5zIEIKqWPGCl7N4o7Uc7B7itylh7SuDujATRyyTw==",
"dev": true,
"funding": [
{
@@ -1766,12 +1763,11 @@
}
],
"license": "MIT",
"peer": true,
"dependencies": {
"baseline-browser-mapping": "^2.10.12",
"caniuse-lite": "^1.0.30001782",
"electron-to-chromium": "^1.5.328",
"node-releases": "^2.0.36",
"baseline-browser-mapping": "^2.10.44",
"caniuse-lite": "^1.0.30001806",
"electron-to-chromium": "^1.5.393",
"node-releases": "^2.0.51",
"update-browserslist-db": "^1.2.3"
},
"bin": {
@@ -1885,15 +1881,15 @@
"license": "MIT"
},
"node_modules/call-bind": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz",
"integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==",
"version": "1.0.9",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz",
"integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"call-bind-apply-helpers": "^1.0.0",
"es-define-property": "^1.0.0",
"get-intrinsic": "^1.2.4",
"call-bind-apply-helpers": "^1.0.2",
"es-define-property": "^1.0.1",
"get-intrinsic": "^1.3.0",
"set-function-length": "^1.2.2"
},
"engines": {
@@ -1972,9 +1968,9 @@
}
},
"node_modules/caniuse-lite": {
"version": "1.0.30001785",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001785.tgz",
"integrity": "sha512-blhOL/WNR+Km1RI/LCVAvA73xplXA7ZbjzI4YkMK9pa6T/P3F2GxjNpEkyw5repTw9IvkyrjyHpwjnhZ5FOvYQ==",
"version": "1.0.30001806",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001806.tgz",
"integrity": "sha512-72Cuvd95zbSYPKq6Fhg8eDJRlzgWDf7/mtoZv6Qe/DYNCEBdNxoA3+rZAU2ZhGCpZlns3EssFavaZomckT5Uuw==",
"dev": true,
"funding": [
{
@@ -2460,9 +2456,9 @@
}
},
"node_modules/create-ecdh/node_modules/bn.js": {
"version": "4.12.3",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz",
"integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==",
"version": "4.12.5",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.5.tgz",
"integrity": "sha512-3aRg6/JxfffFD+OlOjOFR3Vo79l39ooBTFucxx+MT3dhCtzn3EmiUPQo+6/OZuI2jbXi3YKgmiTFBgChQMwIRQ==",
"dev": true,
"license": "MIT"
},
@@ -2856,8 +2852,7 @@
"resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-2.0.0.tgz",
"integrity": "sha512-XoGGqhLUN/W14NmaqcO/bb1nqjDAw5WtSYb2X8wiuQWvSZUsUVYsOSkOybUrNvcBjaywBdYPy03eXHMXjk9nZA==",
"dev": true,
"license": "BSD-3-Clause",
"peer": true
"license": "BSD-3-Clause"
},
"node_modules/d3-shape": {
"version": "2.1.0",
@@ -3185,9 +3180,9 @@
}
},
"node_modules/diffie-hellman/node_modules/bn.js": {
"version": "4.12.3",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz",
"integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==",
"version": "4.12.5",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.5.tgz",
"integrity": "sha512-3aRg6/JxfffFD+OlOjOFR3Vo79l39ooBTFucxx+MT3dhCtzn3EmiUPQo+6/OZuI2jbXi3YKgmiTFBgChQMwIRQ==",
"dev": true,
"license": "MIT"
},
@@ -3370,9 +3365,9 @@
}
},
"node_modules/electron-to-chromium": {
"version": "1.5.331",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.331.tgz",
"integrity": "sha512-IbxXrsTlD3hRodkLnbxAPP4OuJYdWCeM3IOdT+CpcMoIwIoDfCmRpEtSPfwBXxVkg9xmBeY7Lz2Eo2TDn/HC3Q==",
"version": "1.5.399",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.399.tgz",
"integrity": "sha512-lEcqhErbHjXRvd41rnWLpzbyU/IXfIYo7QwaFWmxGeLiLyY2TBCdHnWY88vB+p3ubnihRypDm66panXl7TylLA==",
"dev": true,
"license": "ISC"
},
@@ -3393,9 +3388,9 @@
}
},
"node_modules/elliptic/node_modules/bn.js": {
"version": "4.12.3",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz",
"integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==",
"version": "4.12.5",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.5.tgz",
"integrity": "sha512-3aRg6/JxfffFD+OlOjOFR3Vo79l39ooBTFucxx+MT3dhCtzn3EmiUPQo+6/OZuI2jbXi3YKgmiTFBgChQMwIRQ==",
"dev": true,
"license": "MIT"
},
@@ -3494,9 +3489,9 @@
}
},
"node_modules/es-object-atoms": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
"integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz",
"integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==",
"license": "MIT",
"dependencies": {
"es-errors": "^1.3.0"
@@ -3577,7 +3572,6 @@
"deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@babel/code-frame": "^7.0.0",
"ajv": "^6.10.0",
@@ -3980,9 +3974,9 @@
"license": "MIT"
},
"node_modules/fast-uri": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz",
"integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==",
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.5.tgz",
"integrity": "sha512-gHwA1O9LDIcKunMKhObS/HimwtehO1nPUECKAu5TpKgaO19fcWEl4bliWe1jWxVFvIXztJjjQ4L8XQ1EU9f7Jw==",
"dev": true,
"funding": [
{
@@ -4151,15 +4145,15 @@
}
},
"node_modules/form-data": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.4.tgz",
"integrity": "sha512-f0cRzm6dkyVYV3nPoooP8XlccPQukegwhAnpoLcXy+X+A8KfpGOoXwDr9FLZd3wzgLaBGQBE3lY93Zm/i1JvIQ==",
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.5.tgz",
"integrity": "sha512-j23EibVLnp4zNXGW7LjryXYa2X6U/M96yoOX+ybZxwkYajdxRNEqYY3zhh7y0i6kfISKS2jr+EJq1YTUDEv5+w==",
"license": "MIT",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
"es-set-tostringtag": "^2.1.0",
"hasown": "^2.0.2",
"hasown": "^2.0.4",
"mime-types": "^2.1.35"
},
"engines": {
@@ -4698,9 +4692,9 @@
}
},
"node_modules/hasown": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz",
"integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==",
"license": "MIT",
"dependencies": {
"function-bind": "^1.1.2"
@@ -5094,9 +5088,9 @@
"license": "ISC"
},
"node_modules/ip-address": {
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.1.0.tgz",
"integrity": "sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==",
"version": "10.4.0",
"resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.4.0.tgz",
"integrity": "sha512-oSK96Grm3aP6OrS263xVxbNDGVL7rzBtYdpGqlDG8iQdoenDoTs/nkki+DflYbAEE8Xl6o5YxhxlrKvI3nqKXQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -5170,13 +5164,13 @@
}
},
"node_modules/is-core-module": {
"version": "2.16.1",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
"integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
"version": "2.16.2",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.2.tgz",
"integrity": "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==",
"dev": true,
"license": "MIT",
"dependencies": {
"hasown": "^2.0.2"
"hasown": "^2.0.3"
},
"engines": {
"node": ">= 0.4"
@@ -5471,9 +5465,9 @@
"license": "MIT"
},
"node_modules/js-yaml": {
"version": "3.14.2",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz",
"integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==",
"version": "3.15.1",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.15.1.tgz",
"integrity": "sha512-S99WuO3HlhO3XN41EtYUNl9zzXjoJx7QvmipxsJVxtCBT0YHEFy+iOJhjSvrmV12nYhWpZaM8lPHkJm0yUMbag==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5561,9 +5555,9 @@
}
},
"node_modules/jsdom/node_modules/acorn": {
"version": "8.16.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz",
"integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==",
"version": "8.18.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.18.0.tgz",
"integrity": "sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==",
"license": "MIT",
"bin": {
"acorn": "bin/acorn"
@@ -5630,9 +5624,9 @@
}
},
"node_modules/jsonfile": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz",
"integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==",
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz",
"integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6081,9 +6075,9 @@
}
},
"node_modules/miller-rabin/node_modules/bn.js": {
"version": "4.12.3",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz",
"integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==",
"version": "4.12.5",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.5.tgz",
"integrity": "sha512-3aRg6/JxfffFD+OlOjOFR3Vo79l39ooBTFucxx+MT3dhCtzn3EmiUPQo+6/OZuI2jbXi3YKgmiTFBgChQMwIRQ==",
"dev": true,
"license": "MIT"
},
@@ -6508,9 +6502,9 @@
"license": "ISC"
},
"node_modules/nan": {
"version": "2.26.2",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.26.2.tgz",
"integrity": "sha512-0tTvBTYkt3tdGw22nrAy50x7gpbGCCFH3AFcyS5WiUu7Eu4vWlri1woE6qHBSfy11vksDqkiwjOnlR7WV8G1Hw==",
"version": "2.28.0",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.28.0.tgz",
"integrity": "sha512-fTsDz99OTq2sVePhGdp4qQhggZFtKr64ZNVyVajRKtMOkJxYekplBh577PiJB12v/D3s2E5cGtOI45LWp6rnLQ==",
"license": "MIT"
},
"node_modules/nanoid": {
@@ -6586,11 +6580,14 @@
}
},
"node_modules/node-releases": {
"version": "2.0.37",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.37.tgz",
"integrity": "sha512-1h5gKZCF+pO/o3Iqt5Jp7wc9rH3eJJ0+nh/CIoiRwjRxde/hAHyLPXYN4V3CqKAbiZPSeJFSWHmJsbkicta0Eg==",
"version": "2.0.51",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.51.tgz",
"integrity": "sha512-wRNIrw4DmVLKQlbgOMdkMx27Wrpzes2hh5Jtbi2bjPd+4wJstWIqP5A+lscnqbm0xxmT5Bpg8Lec5ItEBwx6BQ==",
"dev": true,
"license": "MIT"
"license": "MIT",
"engines": {
"node": ">=18"
}
},
"node_modules/nopt": {
"version": "5.0.0",
@@ -6798,9 +6795,9 @@
"license": "MIT"
},
"node_modules/nwsapi": {
"version": "2.2.23",
"resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.23.tgz",
"integrity": "sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==",
"version": "2.2.24",
"resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.24.tgz",
"integrity": "sha512-7YRhZ3jS45LwmSCT4b2sVFHt/WuovaktDU07QrtOBY2PXskss5a9jfmR9jptyumwXST+rFjrmppMY1KT/yn35A==",
"license": "MIT"
},
"node_modules/object-assign": {
@@ -7234,9 +7231,9 @@
}
},
"node_modules/pbkdf2": {
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.5.tgz",
"integrity": "sha512-Q3CG/cYvCO1ye4QKkuH7EXxs3VC/rI1/trd+qX2+PolbaKG0H+bgcZzrTt96mMyRtejk+JMCiLUn3y29W8qmFQ==",
"version": "3.1.6",
"resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.6.tgz",
"integrity": "sha512-BT6eelPB1EyGHo8pC0o9Bl6k6SYVhKO1jEbd3lcTrtr7XHdjP8BW1YpfCV3G9Kwkxgattk+S5q2/RvuttCsS1g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7245,7 +7242,7 @@
"ripemd160": "^2.0.3",
"safe-buffer": "^5.2.1",
"sha.js": "^2.4.12",
"to-buffer": "^1.2.1"
"to-buffer": "^1.2.2"
},
"engines": {
"node": ">= 0.10"
@@ -7299,7 +7296,6 @@
"integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"picocolors": "^0.2.1",
"source-map": "^0.6.1"
@@ -7391,9 +7387,9 @@
}
},
"node_modules/postcss-selector-parser": {
"version": "6.1.2",
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
"integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
"version": "6.1.4",
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.4.tgz",
"integrity": "sha512-bIoJLOmjCO1S9XdY/DcnR5hJxvrDir1PbGChrzXG3vw0/FOliy/fA3dmdhQ441kah4gKv+TwckGzex6wNS5cnQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7410,7 +7406,6 @@
"integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==",
"dev": true,
"license": "MIT",
"peer": true,
"peerDependencies": {
"postcss": ">=5.0.0"
}
@@ -7440,9 +7435,9 @@
}
},
"node_modules/prettier": {
"version": "3.8.1",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz",
"integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==",
"version": "3.9.6",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.9.6.tgz",
"integrity": "sha512-OpN0zzVdiaiAhxpuuj5efpIS4sY9j7bY6uR5mnj5yPzGkdkjNKSJeUThPb60Jw29QuAZgA4o+/iB49kFiaBX6g==",
"dev": true,
"license": "MIT",
"bin": {
@@ -7550,9 +7545,9 @@
}
},
"node_modules/public-encrypt/node_modules/bn.js": {
"version": "4.12.3",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz",
"integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==",
"version": "4.12.5",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.5.tgz",
"integrity": "sha512-3aRg6/JxfffFD+OlOjOFR3Vo79l39ooBTFucxx+MT3dhCtzn3EmiUPQo+6/OZuI2jbXi3YKgmiTFBgChQMwIRQ==",
"dev": true,
"license": "MIT"
},
@@ -7734,13 +7729,14 @@
"license": "MIT"
},
"node_modules/qs": {
"version": "6.15.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.15.0.tgz",
"integrity": "sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==",
"version": "6.15.3",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.15.3.tgz",
"integrity": "sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
"side-channel": "^1.1.0"
"es-define-property": "^1.0.1",
"side-channel": "^1.1.1"
},
"engines": {
"node": ">=0.6"
@@ -8108,12 +8104,13 @@
"license": "MIT"
},
"node_modules/resolve": {
"version": "1.22.11",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz",
"integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==",
"version": "1.22.12",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.12.tgz",
"integrity": "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==",
"dev": true,
"license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
"is-core-module": "^2.16.1",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
@@ -8332,17 +8329,10 @@
"node": ">=10"
}
},
"node_modules/select2": {
"version": "4.0.13",
"resolved": "https://registry.npmjs.org/select2/-/select2-4.0.13.tgz",
"integrity": "sha512-1JeB87s6oN/TDxQQYCvS5EFoQyvV6eYMZZ0AeA4tdFDYWN3BAGZ8npr17UBFddU0lgAt3H0yjX3X6/ekOj1yjw==",
"dev": true,
"license": "MIT"
},
"node_modules/semver": {
"version": "7.7.4",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
"integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",
"version": "7.8.5",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz",
"integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==",
"dev": true,
"license": "ISC",
"bin": {
@@ -8456,9 +8446,9 @@
}
},
"node_modules/shell-quote": {
"version": "1.8.3",
"resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz",
"integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==",
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.10.0.tgz",
"integrity": "sha512-w1aiOKwKuRgtwAReIIj89puqg+I7GvX4IbLrvmhXbzQsj1+Zwi4VO3+fa6ZF91TWSjIxoEkKnMeHcLEODK5ZXA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8508,15 +8498,15 @@
"license": "ISC"
},
"node_modules/side-channel": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
"integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz",
"integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
"object-inspect": "^1.13.3",
"side-channel-list": "^1.0.0",
"object-inspect": "^1.13.4",
"side-channel-list": "^1.0.1",
"side-channel-map": "^1.0.1",
"side-channel-weakmap": "^1.0.2"
},
@@ -8528,14 +8518,14 @@
}
},
"node_modules/side-channel-list": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
"integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz",
"integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==",
"dev": true,
"license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
"object-inspect": "^1.13.3"
"object-inspect": "^1.13.4"
},
"engines": {
"node": ">= 0.4"
@@ -8697,13 +8687,13 @@
}
},
"node_modules/socks": {
"version": "2.8.7",
"resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz",
"integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==",
"version": "2.8.9",
"resolved": "https://registry.npmjs.org/socks/-/socks-2.8.9.tgz",
"integrity": "sha512-LJhUYUvItdQ0LkJTmPeaEObWXAqFyfmP85x0tch/ez9cahmhlBBLbIqDFnvBnUJGagb0JbIQrkBs1wJ+yRYpEw==",
"dev": true,
"license": "MIT",
"dependencies": {
"ip-address": "^10.0.1",
"ip-address": "^10.1.1",
"smart-buffer": "^4.2.0"
},
"engines": {
@@ -9073,9 +9063,9 @@
}
},
"node_modules/stylelint/node_modules/ajv": {
"version": "8.18.0",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz",
"integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==",
"version": "8.20.0",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz",
"integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -9633,7 +9623,6 @@
"integrity": "sha512-gzP+t5W4hdy4c+68bfcv0t400HVJMMd2+H9B7gae1nQlBzCqvrXX+6GL/b3GAgyTH966pzrZ70/fRjwAtZksSQ==",
"dev": true,
"license": "Apache-2.0",
"peer": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@@ -9661,9 +9650,9 @@
}
},
"node_modules/typescript-strict-plugin/node_modules/brace-expansion": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.3.tgz",
"integrity": "sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA==",
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.4.tgz",
"integrity": "sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -9741,9 +9730,9 @@
}
},
"node_modules/typescript-strict-plugin/node_modules/yargs": {
"version": "16.2.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
"integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
"version": "16.2.2",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.2.tgz",
"integrity": "sha512-Nt9ZJjXTv5R8MHbqby/wXQ6Gi0Bb3TcYZkR1bzuL4yB2OxWPkXknz513gEF0GoA6tn00UpbPvERW8rzCuWCA6w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -10261,14 +10250,14 @@
"license": "ISC"
},
"node_modules/which-typed-array": {
"version": "1.1.20",
"resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz",
"integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==",
"version": "1.1.22",
"resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.22.tgz",
"integrity": "sha512-fvO4ExWMFsqyhG3AiPAObMuY1lxaqgYcxbc49CNdWDDECOJNgQyvsOWVwbZc+qf3rzRtxojBK+CMEv0Ld5CYpw==",
"dev": true,
"license": "MIT",
"dependencies": {
"available-typed-arrays": "^1.0.7",
"call-bind": "^1.0.8",
"call-bind": "^1.0.9",
"call-bound": "^1.0.4",
"for-each": "^0.3.5",
"get-proto": "^1.0.1",
@@ -10519,9 +10508,9 @@
}
},
"node_modules/ws": {
"version": "7.5.10",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz",
"integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
"version": "7.5.13",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.13.tgz",
"integrity": "sha512-rsKI6xDBFVf4r/x8XyChGK04QR/XHroxs/jUcoWvtEZM8TPU/X/uIY9B1CsSzYws9ZJb/6bbBu7dPhFW00CAoA==",
"license": "MIT",
"engines": {
"node": ">=8.3.0"

View File

@@ -24,13 +24,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "collabora-online";
version = "25.04.9-4";
version = "25.04.12-4";
src = fetchFromGitHub {
owner = "CollaboraOnline";
repo = "online";
repo = "online.mirror";
tag = "cp-${finalAttrs.version}";
hash = "sha256-+9dGNNduWq4+jxlVd49PDllIyI7vfYmFlly/t70eNtg=";
hash = "sha256-wllEcYt4gN9knUuQP64Rnt3allZOnC7xdaQsJXS2OtU=";
};
nativeBuildInputs = [
@@ -89,7 +89,7 @@ stdenv.mkDerivation (finalAttrs: {
postPatch = ''
cp ${./package-lock.json} package-lock.json
'';
hash = "sha256-c78C5yt/RH4jmjZpaBskV+1u4wTTVJoWjFqq6eNUVOA=";
hash = "sha256-7lOmv5NOYCf9lF9+To+ha9oIgbX3haTd/zo1iArQBBs=";
};
npmRoot = "browser";

View File

@@ -13,7 +13,7 @@ if [ "$1" ]; then
new_version=$1
else
new_version="$(
list-git-tags --url=https://github.com/CollaboraOnline/online \
list-git-tags --url=https://github.com/CollaboraOnline/online.mirror \
| grep --perl-regex --only-matching '^cp-\K[0-9.-]+$' \
| sort --version-sort \
| tail -n1

View File

@@ -0,0 +1,51 @@
{
lib,
stdenv,
fetchFromGitHub,
rustPlatform,
libcosmicAppHook,
just,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cosmic-ext-applet-workspace-icons";
version = "1.2.0";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "crocodile";
repo = "cosmic-ext-applet-workspace-icons";
tag = "v${finalAttrs.version}";
hash = "sha256-gJfT7GpTRVlSJVHnEm4ezaWmJpObVz3Sjkd0ELYZQU4=";
};
cargoHash = "sha256-fuCmcnGKY/AjovGSBbrnifXY6iiWyXaPM0YmSqn2P4E=";
nativeBuildInputs = [
libcosmicAppHook
just
];
dontUseJustBuild = true;
dontUseJustCheck = true;
justFlags = [
"--set"
"prefix"
(placeholder "out")
"--set"
"targetdir"
"target/${stdenv.hostPlatform.rust.cargoShortTarget}"
];
passthru.updateScript = nix-update-script { };
meta = {
description = "Workspace Icons is a COSMIC panel applet that adds application icons to numbered workspaces.";
homepage = "https://github.com/crocodile/cosmic-ext-applet-workspace-icons";
license = lib.licenses.gpl3Only;
mainProgram = "cosmic-ext-applet-workspace-icons";
maintainers = [ lib.maintainers.berrij ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,31 @@
diff --git a/cli-plugins/manager/manager_unix.go b/cli-plugins/manager/manager_unix.go
index f546dc3849..5e3ae08dbc 100644
--- a/cli-plugins/manager/manager_unix.go
+++ b/cli-plugins/manager/manager_unix.go
@@ -2,6 +2,11 @@
package manager
+import (
+ "os"
+ "path/filepath"
+)
+
// defaultSystemPluginDirs are the platform-specific locations to search
// for plugins in order of preference.
//
@@ -12,9 +17,8 @@
// 3. Platform-specific defaultSystemPluginDirs (as defined below).
//
// [ConfigFile.CLIPluginsExtraDirs]: https://pkg.go.dev/github.com/docker/cli@v26.1.4+incompatible/cli/config/configfile#ConfigFile.CLIPluginsExtraDirs
-var defaultSystemPluginDirs = []string{
- "/usr/local/lib/docker/cli-plugins",
- "/usr/local/libexec/docker/cli-plugins",
- "/usr/lib/docker/cli-plugins",
- "/usr/libexec/docker/cli-plugins",
+var defaultSystemPluginDirs []string
+
+func init() {
+ defaultSystemPluginDirs = filepath.SplitList(os.Getenv("DOCKER_CLI_PLUGIN_DIRS"))
}

View File

@@ -0,0 +1,106 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
fetchNpmDeps,
nodejs,
python3,
autoPatchelfHook,
makeWrapper,
stdenv,
sqlite,
nixosTests,
}:
let
version = "2.4.0";
flameSrc = fetchFromGitHub {
owner = "pawelmalak";
repo = "flame";
tag = "v${version}";
hash = "sha256-Slnft/tDtogjuTnQXus0Mp7y6AlOYjCV1riQ2M9cIc8=";
};
clientDeps = fetchNpmDeps {
pname = "flame-client-deps";
inherit version;
src = flameSrc + "/client";
hash = "sha256-IitL0qxu6/3y9x8XkW0dZLjsHTkNeQMHYsaq/LOwvrg=";
};
in
buildNpmPackage (finalAttrs: {
pname = "flame";
inherit version;
__structuredAttrs = true;
src = flameSrc;
nativeBuildInputs = [
python3
autoPatchelfHook
makeWrapper
];
buildInputs = [
stdenv.cc.cc.lib
sqlite
];
npmFlags = [ "--build-from-source" ];
npmDepsHash = "sha256-YGusqgF8xU6QBB0r0M8V0UZHLuSTdYlYyIMXnov7YEA=";
dontNpmBuild = true;
postPatch = ''
cat > db/migrations/01_new-config.js <<'EOF'
// Neutered for the Nix/NixOS package: this migration only exists to
// migrate pre-2.0 SQL-table-based config into config.json for very
// old installs. Fresh installs never have that legacy `config`
// table, and its unconditional copy of the default config template
// over data/config.json would clobber declarative settings applied
// by the NixOS module on every first boot.
const up = async () => {};
const down = async () => {};
module.exports = { up, down };
EOF
'';
buildPhase = ''
runHook preBuild
cd client
npm ci --cache ${clientDeps} --offline
patchShebangs node_modules
npm run build
cd -
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/lib/flame/{data,public}
cp -r . $out/lib/flame
cp -r client/build/. $out/lib/flame/public
rm -r $out/lib/flame/client
makeWrapper ${lib.getExe' nodejs "node"} $out/bin/flame \
--add-flags $out/lib/flame/server.js
runHook postInstall
'';
passthru.tests = {
nixos = nixosTests.flame;
};
meta = {
description = "Self-hosted startpage for your server";
homepage = "https://github.com/pawelmalak/flame";
license = lib.licenses.mit;
mainProgram = "flame";
maintainers = with lib.maintainers; [ DerGrumpf ];
};
})

View File

@@ -23,13 +23,13 @@ let
in
stdenvNoCC.mkDerivation rec {
pname = "linux-firmware";
version = "20260810";
version = "20260910";
src = fetchFromGitLab {
owner = "kernel-firmware";
repo = "linux-firmware";
tag = version;
hash = "sha256-P/fPpqaatp8Z2GV+I/OChiWGn6AhV+8w1RMFuX/LqHc=";
hash = "sha256-gT9XYrQk5oZvbJgp4u8xkGWR4NdDomx5tzLmB4V52H8=";
};
postUnpack = ''

View File

@@ -0,0 +1,55 @@
{
lib,
python3Packages,
fetchFromGitHub,
}:
python3Packages.buildPythonApplication (finalAttrs: {
pname = "mcp-reva";
version = "7.3.0";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "cyberkaida";
repo = "reverse-engineering-assistant";
rev = "v${finalAttrs.version}";
hash = "sha256-5DVHEcZHq7Thi4L1OJuaOwK/nAqntolYCBEE2acHNHw=";
};
# setuptools_scm derives the version from git tags, which the tarball lacks.
env.SETUPTOOLS_SCM_PRETEND_VERSION = finalAttrs.version;
build-system = with python3Packages; [
setuptools
setuptools-scm
];
dependencies = with python3Packages; [
pyghidra
mcp
httpx
httpx-sse
];
# The test suite drives a real Ghidra installation through PyGhidra.
doCheck = false;
pythonImportsCheck = [ "reva_cli" ];
meta = {
description = "Headless MCP server exposing Ghidra to AI agents";
longDescription = ''
ReVa's headless command-line interface. It starts and manages Ghidra
through PyGhidra and bridges it to an MCP client over stdio, so MCP
clients can drive Ghidra's decompiler and analysis APIs. Point
GHIDRA_INSTALL_DIR at the Ghidra installation to use.
'';
homepage = "https://github.com/cyberkaida/reverse-engineering-assistant";
changelog = "https://github.com/cyberkaida/reverse-engineering-assistant/releases/tag/v${finalAttrs.version}";
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.brianmcgillion ];
mainProgram = "mcp-reva";
};
})

View File

@@ -17,13 +17,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "moonlight";
version = "2026.8.1";
version = "2026.9.0";
src = fetchFromGitHub {
owner = "moonlight-mod";
repo = "moonlight";
tag = "v${finalAttrs.version}";
hash = "sha256-VJDoYyQ9wtrDzAx8Ebb9t5YUjMNmo8Mn1R+rnwCNrac=";
hash = "sha256-J78pFRFONALG2QWuRQSekiaG9TNctrEM/IYG2Iot9gk=";
};
nativeBuildInputs = [

View File

@@ -1,8 +1,8 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6c1747f3..ab69cf5e 100644
index 54aadcca..070057a3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -158,7 +158,7 @@ target_link_libraries(
@@ -210,7 +210,7 @@ target_link_libraries(
lodepng
qhullstatic_r
tinyobjloader
@@ -10,21 +10,12 @@ index 6c1747f3..ab69cf5e 100644
+ tinyxml2::tinyxml2
)
set_target_properties(
if(NOT EMSCRIPTEN)
diff --git a/cmake/MujocoDependencies.cmake b/cmake/MujocoDependencies.cmake
index d2404bc1..5c7ddaf6 100644
index 6e205a7d..815d1c90 100644
--- a/cmake/MujocoDependencies.cmake
+++ b/cmake/MujocoDependencies.cmake
@@ -87,8 +87,6 @@ set(BUILD_SHARED_LIBS
if(NOT TARGET lodepng)
FetchContent_Declare(
lodepng
- GIT_REPOSITORY https://github.com/lvandeve/lodepng.git
- GIT_TAG ${MUJOCO_DEP_VERSION_lodepng}
)
FetchContent_GetProperties(lodepng)
@@ -111,8 +109,6 @@ endif()
@@ -88,8 +88,6 @@ include(third_party_deps/lodepng)
if(NOT TARGET marchingcubecpp)
FetchContent_Declare(
marchingcubecpp
@@ -33,12 +24,8 @@ index d2404bc1..5c7ddaf6 100644
)
FetchContent_GetProperties(marchingcubecpp)
@@ -132,13 +128,9 @@ findorfetch(
USE_SYSTEM_PACKAGE
OFF
PACKAGE_NAME
- qhull
+ Qhull
@@ -112,10 +110,6 @@ findorfetch(
qhull
LIBRARY_NAME
qhull
- GIT_REPO
@@ -48,7 +35,7 @@ index d2404bc1..5c7ddaf6 100644
TARGETS
qhull
EXCLUDE_FROM_ALL
@@ -160,12 +152,8 @@ findorfetch(
@@ -137,10 +131,6 @@ findorfetch(
tinyxml2
LIBRARY_NAME
tinyxml2
@@ -57,12 +44,9 @@ index d2404bc1..5c7ddaf6 100644
- GIT_TAG
- ${MUJOCO_DEP_VERSION_tinyxml2}
TARGETS
- tinyxml2
+ tinyxml2::tinyxml2
tinyxml2
EXCLUDE_FROM_ALL
)
target_compile_options(tinyxml2 PRIVATE ${MUJOCO_MACOS_COMPILE_OPTIONS})
@@ -183,10 +171,6 @@ findorfetch(
@@ -160,10 +150,6 @@ findorfetch(
tinyobjloader
LIBRARY_NAME
tinyobjloader
@@ -73,7 +57,7 @@ index d2404bc1..5c7ddaf6 100644
TARGETS
tinyobjloader
EXCLUDE_FROM_ALL
@@ -216,10 +200,6 @@ findorfetch(
@@ -198,10 +184,6 @@ findorfetch(
ccd
LIBRARY_NAME
ccd
@@ -84,7 +68,7 @@ index d2404bc1..5c7ddaf6 100644
TARGETS
ccd
EXCLUDE_FROM_ALL
@@ -256,8 +256,6 @@ set(BUILD_TESTS OFF)
@@ -234,8 +216,6 @@ endif()
set(BUILD_TESTS OFF)
fetchpackage(
PACKAGE_NAME miniz
@@ -93,7 +77,7 @@ index d2404bc1..5c7ddaf6 100644
TARGETS miniz
)
if(_BUILD_TESTS_WAS_DEFINED)
@@ -261,10 +241,6 @@ if(MUJOCO_BUILD_TESTS OR MUJOCO_BUILD_STUDIO OR MUJOCO_USE_FILAMENT)
@@ -267,10 +247,6 @@ if(MUJOCO_BUILD_TESTS OR MUJOCO_BUILD_STUDIO OR MUJOCO_USE_FILAMENT)
absl
LIBRARY_NAME
abseil-cpp
@@ -104,7 +88,7 @@ index d2404bc1..5c7ddaf6 100644
TARGETS
absl::core_headers
EXCLUDE_FROM_ALL
@@ -291,14 +267,9 @@ if(MUJOCO_BUILD_TESTS)
@@ -299,10 +275,6 @@ if(MUJOCO_BUILD_TESTS)
GTest
LIBRARY_NAME
googletest
@@ -113,15 +97,9 @@ index d2404bc1..5c7ddaf6 100644
- GIT_TAG
- ${MUJOCO_DEP_VERSION_gtest}
TARGETS
- gtest
- gmock
- gtest_main
+ GTest::gmock
+ GTest::gtest_main
EXCLUDE_FROM_ALL
)
@@ -323,10 +294,6 @@ if(MUJOCO_BUILD_TESTS)
gtest
gmock
@@ -331,10 +303,6 @@ if(MUJOCO_BUILD_TESTS)
benchmark
LIBRARY_NAME
benchmark
@@ -132,14 +110,7 @@ index d2404bc1..5c7ddaf6 100644
TARGETS
benchmark::benchmark
benchmark::benchmark_main
@@ -337,14 +304,12 @@ endif()
if(MUJOCO_TEST_PYTHON_UTIL)
add_compile_definitions(EIGEN_MPL2_ONLY)
- if(NOT TARGET eigen)
+ if(NOT TARGET Eigen3::Eigen)
# Support new IN_LIST if() operator.
set(CMAKE_POLICY_DEFAULT_CMP0057 NEW)
@@ -351,8 +319,6 @@ if(MUJOCO_TEST_PYTHON_UTIL)
FetchContent_Declare(
Eigen3
@@ -148,8 +119,20 @@ index d2404bc1..5c7ddaf6 100644
)
FetchContent_GetProperties(Eigen3)
diff --git a/cmake/third_party_deps/lodepng.cmake b/cmake/third_party_deps/lodepng.cmake
index b604f052..9f4d531d 100644
--- a/cmake/third_party_deps/lodepng.cmake
+++ b/cmake/third_party_deps/lodepng.cmake
@@ -22,7 +22,5 @@ include(FindOrFetch)
fetchpackage(
PACKAGE_NAME lodepng
- GIT_REPO https://github.com/lvandeve/lodepng.git
- GIT_TAG ${MUJOCO_DEP_VERSION_lodepng}
CUSTOM_CMAKE "${CMAKE_CURRENT_LIST_DIR}/lodepng/CMakeLists.txt"
)
diff --git a/python/mujoco/util/CMakeLists.txt b/python/mujoco/util/CMakeLists.txt
index 666a3725..8f4ce043 100644
index 666a3725..d89bb499 100644
--- a/python/mujoco/util/CMakeLists.txt
+++ b/python/mujoco/util/CMakeLists.txt
@@ -63,8 +63,8 @@ if(BUILD_TESTING)
@@ -185,26 +168,22 @@ index 666a3725..8f4ce043 100644
)
gtest_add_tests(TARGET func_wrap_test SOURCES func_wrap_test.cc)
diff --git a/simulate/cmake/SimulateDependencies.cmake b/simulate/cmake/SimulateDependencies.cmake
index 7885f5f9..97b8b783 100644
--- a/simulate/cmake/SimulateDependencies.cmake
+++ b/simulate/cmake/SimulateDependencies.cmake
@@ -81,10 +81,6 @@ findorfetch(
glfw3
LIBRARY_NAME
glfw3
- GIT_REPO
- https://github.com/glfw/glfw.git
- GIT_TAG
- ${MUJOCO_DEP_VERSION_glfw3}
TARGETS
glfw
EXCLUDE_FROM_ALL
@@ -90,8 +90,8 @@ if(BUILD_TESTING)
target_link_libraries(
tuple_tools_test
func_wrap
- gmock
- gtest_main
+ GTest::gmock
+ GTest::gtest_main
)
gtest_add_tests(TARGET tuple_tools_test SOURCES tuple_tools_test.cc)
endif()
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index f459a6ca..6830509d 100644
index f1bbba61..4c3ee22d 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -82,8 +82,8 @@ target_link_libraries(
@@ -98,8 +98,8 @@ target_link_libraries(
absl::synchronization
absl::flat_hash_map
absl::flat_hash_set

View File

@@ -20,8 +20,8 @@ let
abseil-cpp = fetchFromGitHub {
owner = "abseil";
repo = "abseil-cpp";
rev = "5650e9cf76d3be4318d5fa3af38ee483ddfd5e4a";
hash = "sha256-O9ClnGm4WSTX3g1Q2VYTMhUtGG52XBwxzgHtWW9WSG0=";
rev = "2065f4ded0558c6f89fee67c8e5228feb4eb960e";
hash = "sha256-CEtLO4il9/jk+bFDDV0rXeX1OkirA0u6nxrSiWq0NPM=";
};
benchmark = fetchFromGitHub {
owner = "google";
@@ -44,14 +44,8 @@ let
googletest = fetchFromGitHub {
owner = "google";
repo = "googletest";
rev = "52eb8108c5bdec04579160ae17225d66034bd723";
hash = "sha256-HIHMxAUR4bjmFLoltJeIAVSulVQ6kVuIT2Ku+lwAx/4=";
};
lodepng = fetchFromGitHub {
owner = "lvandeve";
repo = "lodepng";
rev = "17d08dd26cac4d63f43af217ebd70318bfb8189c";
hash = "sha256-vnw52G0lY68471dzH7NXc++bTbLRsITSxGYXOTicA5w=";
rev = "063de7e9578f82b369302001269680b4b1553359";
hash = "sha256-rXsn2L0xeWvfxTjMAoWEu0UFZ7xOSfYmhbKgRF5J9co=";
};
miniz = fetchFromGitHub {
owner = "richgel999";
@@ -68,8 +62,8 @@ let
tinyobjloader = fetchFromGitHub {
owner = "tinyobjloader";
repo = "tinyobjloader";
rev = "1421a10d6ed9742f5b2c1766d22faa6cfbc56248";
hash = "sha256-9z2Ne/WPCiXkQpT8Cun/pSGUwgClYH+kQ6Dx1JvW6w0=";
rev = "2945a967c5303b2c8c14174117c45f3302591150";
hash = "sha256-eEgy43IzhovTjEgLz3qNsRnOkp0bcvQdWve7jOidHX4=";
};
tinyxml2 = fetchFromGitHub {
owner = "leethomason";
@@ -83,12 +77,20 @@ let
rev = "f03a1b3ec29b1d7d865691ca8aea4f1eb2c2873d";
hash = "sha256-90ei0lpJA8XuVGI0rGb3md0Qtq8/bdkU7dUCHpp88Bw=";
};
# cmake/third_party_deps/lodepng.cmake
lodepng = fetchFromGitHub {
owner = "lvandeve";
repo = "lodepng";
rev = "17d08dd26cac4d63f43af217ebd70318bfb8189c";
hash = "sha256-vnw52G0lY68471dzH7NXc++bTbLRsITSxGYXOTicA5w=";
};
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "mujoco";
version = "3.12.0";
version = "3.13.0";
__structuredAttrs = true;
strictDeps = true;
@@ -99,7 +101,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "google-deepmind";
repo = "mujoco";
tag = finalAttrs.version;
hash = "sha256-BmppJK19YYgrLWdgv3i/eVXISIMIoJQ2OQVwcEXsMSI=";
hash = "sha256-uf1AGy9OBdZUNOKHzBnQOibIR7yPRDOKwnivIqakkOI=";
};
patches = [
@@ -151,7 +153,6 @@ stdenv.mkDerivation (finalAttrs: {
+ ''
ln -s ${pin.eigen3} build/_deps/eigen3-src
ln -s ${pin.googletest} build/_deps/googletest-src
ln -s ${pin.lodepng} build/_deps/lodepng-src
ln -s ${pin.miniz} build/_deps/miniz-src
''
# qhull is patched by mujoco's cmake and thus needs to be writable
@@ -160,6 +161,12 @@ stdenv.mkDerivation (finalAttrs: {
cp -r ${pin.qhull} build/_deps/qhull-src
chmod -R +w build/_deps/qhull-src
''
# lodepng needs a custom CMakeLists.txt copied into its source dir
# by FindOrFetch, so it must be writable
+ ''
cp -r ${pin.lodepng} build/_deps/lodepng-src
chmod -R +w build/_deps/lodepng-src
''
+ ''
ln -s ${pin.tinyobjloader} build/_deps/tinyobjloader-src
ln -s ${pin.tinyxml2} build/_deps/tinyxml2-src

View File

@@ -10,20 +10,19 @@
polkit,
tpm2-openssl,
tpm2-tss,
nix-update-script,
}:
let
version = "0.67.3";
version = "0.69.2";
srcs = {
x86_64-linux = fetchurl {
url = "https://github.com/smallstep/step-agent-plugin/releases/download/v${version}/step-agent_${version}_linux_amd64.tar.gz";
sha256 = "sha256-sTZ6dNjyRwCWHWROUKCpq1rb8n9lT0cGOUOUpui9NJM=";
url = "https://packages.smallstep.com/stable/step-agent/linux/${version}/step-agent_${version}_linux_amd64.tar.gz";
sha256 = "sha256-HIIXGIczw6bqVY05mTaCW0JhZNbgHW8cDKSmeUTzSf0=";
};
aarch64-linux = fetchurl {
url = "https://github.com/smallstep/step-agent-plugin/releases/download/v${version}/step-agent_${version}_linux_arm64.tar.gz";
sha256 = "sha256-0Vefuc+Xnx8x6Gu+WuS4zTHDIMepY593uFi3JKD+hrk=";
url = "https://packages.smallstep.com/stable/step-agent/linux/${version}/step-agent_${version}_linux_arm64.tar.gz";
sha256 = "sha256-ENT7vn0YqpMX1SrdFTTo3ZV1aVKl2lqZ8e6vwUqDgk4=";
};
};
in
@@ -58,7 +57,7 @@ stdenvNoCC.mkDerivation {
}
'';
passthru.updateScript = nix-update-script { };
passthru.updateScript = ./update.sh;
meta = {
description = "step-agent is an automated certificate management agent plugin for step-cli";

View File

@@ -0,0 +1,9 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl nix-update jq
set -euo pipefail
new_version=$(curl -sSfL https://packages.smallstep.com/stable/step-agent/index.json | jq -r '.latest_per_platform.linux')
nix-update step-agent --version "$new_version" --system x86_64-linux
nix-update step-agent --version skip --system aarch64-linux

View File

@@ -0,0 +1,49 @@
{
lib,
buildGoModule,
fetchFromGitHub,
gitMinimal,
nix-update-script,
testers,
}:
buildGoModule (finalAttrs: {
pname = "tea-dash";
version = "0.3.7";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "gbarany";
repo = "tea-dash";
tag = "v${finalAttrs.version}";
hash = "sha256-SbbrPWL33PrD02S58c50Gk9xOiu/5pRuccK9vrKViqE=";
};
vendorHash = "sha256-pnZbFXZX34xUUUMCR8zSplbBnwdYfrPDRssHQDcBA6o=";
ldflags = [
"-s"
"-w"
"-X=github.com/gbarany/tea-dash/internal/build.Version=${finalAttrs.version}"
"-X=github.com/gbarany/tea-dash/internal/build.Commit=${finalAttrs.src.rev}"
"-X=github.com/gbarany/tea-dash/internal/build.Date=1970-01-01T00:00:00Z"
];
nativeCheckInputs = [ gitMinimal ];
passthru = {
updateScript = nix-update-script { };
tests.version = testers.testVersion {
package = finalAttrs.finalPackage;
};
};
meta = {
description = "gh-dash-style terminal dashboard (TUI) for Gitea & Forgejo PRs, issues, notifications, Actions runs, and branches";
homepage = "https://github.com/gbarany/tea-dash";
changelog = "https://github.com/gbarany/tea-dash/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ frantathefranta ];
mainProgram = "tea-dash";
};
})

View File

@@ -14,7 +14,7 @@
llvmPackages,
R,
rPackages,
}@inputs:
}:
assert ncclSupport -> (cudaSupport && cudaPackages.nccl.meta.available);
# Disable regular tests when building the R package
@@ -28,12 +28,10 @@ let
# This ensures xgboost gets the correct libstdc++ when
# built with cuda support. This may be removed once
# #226165 rewrites cudaStdenv
effectiveStdenv = if cudaSupport then cudaPackages.backendStdenv else inputs.stdenv;
# Ensures we don't use the stdenv value by accident.
stdenv = throw "Use effectiveStdenv instead of stdenv in xgboost derivation.";
effectiveStdenv = if cudaSupport then cudaPackages.backendStdenv else stdenv;
in
effectiveStdenv.mkDerivation rec {
effectiveStdenv.mkDerivation (finalAttrs: {
pnameBase = "xgboost";
# prefix with r when building the R library
# The R package build results in a special xgboost.so file
@@ -50,10 +48,14 @@ effectiveStdenv.mkDerivation rec {
pname = lib.optionalString rLibrary "r-" + "xgboost";
version = "3.0.5";
strictDeps = true;
__structuredAttrs = true;
__darwinAllowLocalNetworking = true;
src = fetchFromGitHub {
owner = "dmlc";
repo = "xgboost";
tag = "v${version}";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-khaD9gvKfUyWhkrIZXzGzKw/nfgeTcp9akCi5X3IORo=";
};
@@ -62,15 +64,22 @@ effectiveStdenv.mkDerivation rec {
cmake
]
++ lib.optionals effectiveStdenv.hostPlatform.isDarwin [ llvmPackages.openmp ]
++ lib.optionals cudaSupport [ autoAddDriverRunpath ]
++ lib.optionals cudaSupport [
cudaPackages.cuda_nvcc
autoAddDriverRunpath
]
++ lib.optionals rLibrary [ R ];
buildInputs = [
gtest
]
++ lib.optional cudaSupport cudaPackages.cudatoolkit
++ lib.optional cudaSupport cudaPackages.cuda_cudart
++ lib.optional ncclSupport cudaPackages.nccl;
++ lib.optionals stdenv.cc.isClang [
llvmPackages.openmp # 'omp.h' file not found
]
++ lib.optionals cudaSupport [
cudaPackages.cuda_cudart # cuda_runtime.h
]
++ lib.optionals ncclSupport [ cudaPackages.nccl ];
propagatedBuildInputs = lib.optionals rLibrary [
rPackages.data_table
@@ -79,16 +88,17 @@ effectiveStdenv.mkDerivation rec {
];
cmakeFlags =
lib.optionals doCheck [ "-DGOOGLE_TEST=ON" ]
lib.optionals doCheck [ (lib.cmakeBool "GOOGLE_TEST" true) ]
++ lib.optionals cudaSupport [
"-DUSE_CUDA=ON"
(lib.cmakeBool "USE_CUDA" true)
# Their CMakeLists.txt does not respect CUDA_HOST_COMPILER, instead using the CXX compiler.
# https://github.com/dmlc/xgboost/blob/ccf43d4ba0a94e2f0a3cc5a526197539ae46f410/CMakeLists.txt#L145
"-DCMAKE_C_COMPILER=${effectiveStdenv.cc}/bin/gcc"
"-DCMAKE_CXX_COMPILER=${effectiveStdenv.cc}/bin/g++"
(lib.cmakeFeature "CMAKE_C_COMPILER" "${effectiveStdenv.cc}/bin/gcc")
(lib.cmakeFeature "CMAKE_CXX_COMPILER" "${effectiveStdenv.cc}/bin/g++")
(lib.cmakeFeature "CMAKE_CUDA_ARCHITECTURES" cudaPackages.flags.cmakeCudaArchitecturesString)
]
++ lib.optionals ncclSupport [ "-DUSE_NCCL=ON" ]
++ lib.optionals rLibrary [ "-DR_LIB=ON" ];
++ lib.optionals ncclSupport [ (lib.cmakeBool "USE_NCCL" true) ]
++ lib.optionals rLibrary [ (lib.cmakeBool "R_LIB" true) ];
preConfigure = lib.optionalString rLibrary ''
substituteInPlace cmake/RPackageInstall.cmake.in --replace "CMD INSTALL" "CMD INSTALL -l $out/library"
@@ -104,7 +114,7 @@ effectiveStdenv.mkDerivation rec {
'';
env = {
# on Darwin, cmake uses find_library to locate R instead of using the PATH
# on Darwin, cmake uses find_libraryto locate R instead of using the PATH
NIX_LDFLAGS = lib.optionalString rLibrary "-L${R}/lib/R/lib";
# Disable finicky tests from dmlc core that fail in Hydra. XGboost team
@@ -203,4 +213,4 @@ effectiveStdenv.mkDerivation rec {
nviets
];
};
}
})

View File

@@ -79,7 +79,7 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "yosys";
version = "0.68";
version = "0.69";
__structuredAttrs = true;
strictDeps = true;
@@ -89,7 +89,7 @@ stdenv.mkDerivation (finalAttrs: {
repo = "yosys";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-cf3L3Il717ReAcPTPNHZLwldDeCwuPqHYoxeQusBOOg=";
hash = "sha256-Vjyk6aMKwnJEE25tQ0SKWQcXfJxjpCVou+4Hf8c+IL4=";
};
postPatch = ''

View File

@@ -29,15 +29,15 @@
buildPythonPackage (finalAttrs: {
pname = "dm-control";
version = "1.0.45";
version = "1.0.46";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "google-deepmind";
repo = "dm_control";
tag = finalAttrs.version;
hash = "sha256-mau3lWRubRmK5VU3OTYGURCYXqRkOCj/yQxW44AyLnE=";
tag = "v${finalAttrs.version}";
hash = "sha256-Z0Li4o6w0PjFgZ2qESxakUE7Ufaijlo084YlP3/m9Yo=";
};
build-system = [

View File

@@ -39,7 +39,7 @@ buildPythonPackage (finalAttrs: {
# in the project's CI.
src = fetchPypi {
inherit (finalAttrs) pname version;
hash = "sha256-OLs+r0JRk3qF1Ysl9VsWeSlxVbxPTpZEkNH9n0L4v5M=";
hash = "sha256-U5F11dsl0Z7BRRcPomR4SmJsXssif3jRh341oKeVX2k=";
};
nativeBuildInputs = [ cmake ];
@@ -86,11 +86,20 @@ buildPythonPackage (finalAttrs: {
in
''
${lib.getExe perl} -0777 -i -pe "s/GIT_REPO\n.*\n.*GIT_TAG\n.*\n//gm" mujoco/CMakeLists.txt
${lib.getExe perl} -0777 -i -pe "s/(FetchContent_Declare\(\n.*lodepng\n.*)(GIT_REPO.*\n.*GIT_TAG.*\n)(.*\))/\1\3/gm" mujoco/simulate/CMakeLists.txt
''
# In 3.13.0, lodepng moved from simulate/CMakeLists.txt to
# cmake/third_party_deps/lodepng.cmake and uses fetchpackage (same-line args)
+ ''
${lib.getExe perl} -0777 -i -pe "s/GIT_REPO[^\n]*\n[^\n]*GIT_TAG[^\n]*\n//g" mujoco/cmake/third_party_deps/lodepng.cmake
build="build/temp.${platform}-cpython-${pythonVersionMajorMinor}"
mkdir -p $build/_deps
ln -s ${mujoco.pin.lodepng} $build/_deps/lodepng-src
''
# lodepng needs a custom CMakeLists.txt copied into its source dir by FindOrFetch, so it must
# be writable
+ ''
cp -r ${mujoco.pin.lodepng} $build/_deps/lodepng-src
chmod -R +w $build/_deps/lodepng-src
ln -s ${mujoco.pin.eigen3} $build/_deps/eigen-src
ln -s ${mujoco.pin.abseil-cpp} $build/_deps/abseil-cpp-src
''

View File

@@ -18,7 +18,7 @@ let
in
buildPythonPackage.override { inherit (torch) stdenv; } (finalAttrs: {
pname = "pyg-lib";
version = "0.8.0";
version = "0.9.0";
pyproject = true;
__structuredAttrs = true;
@@ -27,7 +27,7 @@ buildPythonPackage.override { inherit (torch) stdenv; } (finalAttrs: {
repo = "pyg-lib";
tag = finalAttrs.version;
fetchSubmodules = true;
hash = "sha256-ZbvsA3Rtk+px/TPffdULADE+RnXkSQOSsqjSbZCsSwk=";
hash = "sha256-ZqJ5raXdTkqftUi1wKyc20UPVn2Eyo/cf87K2N1Pt3k=";
};
build-system = [

File diff suppressed because it is too large Load Diff

View File

@@ -35,6 +35,8 @@ lib.makeScope newScope (self: {
ret-sync = self.callPackage ./extensions/ret-sync { };
reva = self.callPackage ./extensions/reva { };
sleighdevtools = self.callPackage ./extensions/sleighdevtools { inherit ghidra; };
wasm = self.callPackage ./extensions/wasm { inherit ghidra; };

View File

@@ -0,0 +1,34 @@
{
lib,
fetchFromGitHub,
buildGhidraExtension,
gradle,
}:
buildGhidraExtension (finalAttrs: {
pname = "reva";
version = "7.3.0";
src = fetchFromGitHub {
owner = "cyberkaida";
repo = "reverse-engineering-assistant";
rev = "v${finalAttrs.version}";
hash = "sha256-5DVHEcZHq7Thi4L1OJuaOwK/nAqntolYCBEE2acHNHw=";
};
mitmCache = gradle.fetchDeps {
pkg = finalAttrs.finalPackage;
data = ./deps.json;
};
meta = {
description = "MCP server for reverse engineering tasks in Ghidra";
homepage = "https://github.com/cyberkaida/reverse-engineering-assistant";
downloadPage = "https://github.com/cyberkaida/reverse-engineering-assistant/releases/tag/v${finalAttrs.version}";
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.brianmcgillion ];
sourceProvenance = with lib.sourceTypes; [
fromSource
binaryBytecode
];
};
})

View File

@@ -0,0 +1,223 @@
{
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
"!version": 1,
"https://repo.maven.apache.org/maven2": {
"com/ethlo/time#itu/1.14.0": {
"jar": "sha256-XPQKsMx3goqyuHWx8+zXHIKV13IZM0dqvC4I/dzqFko=",
"pom": "sha256-DVrgvsCUlVKcY8yKbBMlOHBoaDKk47IGwTgWUDWuS8U="
},
"com/fasterxml#oss-parent/75": {
"pom": "sha256-/LvxwYyQR+aRfThPIGTiG0Klj8hfsFI6ni4BXv98YZ0="
},
"com/fasterxml#oss-parent/79": {
"pom": "sha256-kga33Wf7E4A2V2w9/KlHoqjz4sTS2cHy0d6lGbOk2uE="
},
"com/fasterxml/jackson#jackson-base/2.21.3": {
"pom": "sha256-xELoDDE7VTLbLqfc0g4KAw+odvJACDRqS44Qof0uP/g="
},
"com/fasterxml/jackson#jackson-base/2.22.0": {
"pom": "sha256-JSCeuNzVprRyMLP8EZzxwDgB9pg7lSliS37/aBPwFyY="
},
"com/fasterxml/jackson#jackson-bom/2.21.3": {
"pom": "sha256-BccqDyCuH9ec7X7SnP9y2yhC0WCXCn6gM06bX9BH1Zc="
},
"com/fasterxml/jackson#jackson-bom/2.22.0": {
"pom": "sha256-Yx1zbVKdGb+iUFTYuaRCZFh72NJEmuisGMcfDvLS8kQ="
},
"com/fasterxml/jackson#jackson-parent/2.21": {
"pom": "sha256-OFHfYn+utGiHuVYQRjC3Sou7X33iLpdM8VmC4g4Dc94="
},
"com/fasterxml/jackson#jackson-parent/2.22": {
"pom": "sha256-fUWn77ad8ge+18xUuHoLsBLxCVLAlVcKJztJSF2g0Sk="
},
"com/fasterxml/jackson/core#jackson-annotations/2.21": {
"jar": "sha256-U8oIX0oVD3A/SeGqvZNb0DtD4eo9VdE1Q4KSryLO9Ws=",
"module": "sha256-yuj/7OwzKLbsuxOOJ0IY8v4cdymg6CTaVZJogQCVrUQ=",
"pom": "sha256-ccrFOSFR4qUozJoJF58KM0F58FxS+OWWz1jd8Suyfys="
},
"com/fasterxml/jackson/core#jackson-core/2.22.0": {
"jar": "sha256-0ujdTfHg9ht4bqBnkvW/QjXYJ48Vjzvm6ZfpVZMcDJg=",
"module": "sha256-YIIVtvFyn7S4gI73UdJki62kTgivii0JzOI5UFeV7l8=",
"pom": "sha256-WqFPSdI2n4hbfD3D6oLoqtscCTZ26GCIPmiHFQ5z0/Q="
},
"com/fasterxml/jackson/core#jackson-databind/2.22.0": {
"jar": "sha256-NSCgNR8pRpnj4bejfHpyav2B4aia5wKsfUf/NH/S7L8=",
"module": "sha256-McdjazHtpftn3FUh4gHzyV2WiWX+YMECdW4xmy0YD28=",
"pom": "sha256-dryzSDZ2c9C158+siWGxi9AIGrPBUaFui+UiEL7CMTY="
},
"com/fasterxml/jackson/dataformat#jackson-dataformat-yaml/2.21.3": {
"jar": "sha256-8KopfUb5Nkr4s2F/jxbuPWh7wRqLIOpiZlkKIeAhw6Q=",
"module": "sha256-iUSrl2d5GT8DTx2dtPn5LIZwNi0MXxWt2LISyjyo+O8=",
"pom": "sha256-eZY6haU8mlEkwY1Sgf2ctdX58bCy9RBgjQNRMd0PlxI="
},
"com/fasterxml/jackson/dataformat#jackson-dataformats-text/2.21.3": {
"pom": "sha256-bId1hw6F9TuY3rEKK5okXu4DCJKdww+BPDkshiikPNE="
},
"com/networknt#json-schema-validator/2.0.0": {
"jar": "sha256-7pQCQQQ64BgB31lUvDdEv3I8RJ/w2nGfl+G5poiXOdc=",
"pom": "sha256-k1SvFT2v0SLKW3LRr+szoE0CYqZKTBW/sNjzCNmC0jE="
},
"io/modelcontextprotocol/sdk#mcp-bom/1.1.3": {
"pom": "sha256-czOIgHJL3ZMuenYgaqW09ZE6Ctb3TKexW9n+amgFc8c="
},
"io/modelcontextprotocol/sdk#mcp-core/1.1.3": {
"jar": "sha256-NAWNz8Rau7B6SDSV9ls61oFWA6X/4aMcJ5QMWXl/SOE=",
"pom": "sha256-HQJSgu4ISaRQTXuxOHkeRVd34fs6jW55nVaNXjjUs1I="
},
"io/modelcontextprotocol/sdk#mcp-json-jackson2/1.1.3": {
"jar": "sha256-dVBVbAi/4Z0VJvm9AsFsQo+meOBmWCmjyVLenuBA9zU=",
"pom": "sha256-Asucavx+EuNeK/V09CIhgGy0Pcv8106RjwEAKWJBSL4="
},
"io/netty#netty-bom/4.2.13.Final": {
"pom": "sha256-Ua8kiRxINeMj5A2UFn+S5VdF50mA3VzogSX4xDvu7sQ="
},
"io/projectreactor#reactor-core/3.7.0": {
"jar": "sha256-FK661Igt7x+IOJZWz5tGF39rCQuwCgcHAl12rqyq6tI=",
"module": "sha256-GCbLT6Ef+hNtxAasq5BP+dUuW2Dwi4Je7efaKQhvH3s=",
"pom": "sha256-ShTcRgLFCiizwaDfa8eileLjnT2dGJFYjAz8GS2bLQk="
},
"jakarta/platform#jakarta.jakartaee-bom/10.0.0": {
"pom": "sha256-jnjPMtgXalHrrF0fcfE/KJm7/V3LslMOZmgo0IMI6CI="
},
"jakarta/platform#jakartaee-api-parent/10.0.0": {
"pom": "sha256-iwNrh/lKpP/SbpntH/els3Queh9CEKTYzBHyRhcgMSc="
},
"jakarta/servlet#jakarta.servlet-api/6.1.0": {
"jar": "sha256-ijH0ZfNZO/I1FTGlyVIBTrg52pamBbWCW5PdVHFMSMQ=",
"pom": "sha256-G6+Lb6bQIYAwINCXDqQ/sH32beZskNKZohZ3Dwsz5K4="
},
"junit#junit/4.13.2": {
"jar": "sha256-jklbY0Rp1k+4rPo0laBly6zIoP/1XOHjEAe+TBbcV9M=",
"pom": "sha256-Vptpd+5GA8llwcRsMFj6bpaSkbAWDraWTdCSzYnq3ZQ="
},
"net/bytebuddy#byte-buddy-agent/1.17.7": {
"jar": "sha256-qbqIfcolKtYbfVFTKU805vO99LJzawQ3PRNhWmlfwP8=",
"pom": "sha256-gU7kLWsBF/S40etrHWLBbbTAtZfYOzrY2qV4HrFF19w="
},
"net/bytebuddy#byte-buddy-parent/1.17.7": {
"pom": "sha256-ilfiDczgDaccM+8+GdndhY/p0gQsouK8onhxcA1SaYw="
},
"net/bytebuddy#byte-buddy/1.17.7": {
"jar": "sha256-NXXcuKmPr5Q9PBWVxHoWBHxPzoqD67smJi8aL2dUY1c=",
"pom": "sha256-7n+6hWnDu1wekeWBL9n0oPMb4n5WjVNU4a39GRGfl7M="
},
"org/eclipse/ee4j#project/1.0.7": {
"pom": "sha256-IFwDmkLLrjVW776wSkg+s6PPlVC9db+EJg3I8oIY8QU="
},
"org/eclipse/ee4j#project/1.0.9": {
"pom": "sha256-glN5k0oc8pJJ80ny0Yra95p7LLLb4jFRiXTh7nCUHBc="
},
"org/eclipse/jetty#jetty-core/12.1.10": {
"pom": "sha256-EsCwS+J1+r0XfBI2ZZE/1HxkuX539firfZgtafc39Bc="
},
"org/eclipse/jetty#jetty-http/12.1.10": {
"jar": "sha256-CQ8nZzn9m/jDBREAfK7Gaeo4BLHfEGHDf0RGdHS+5x0=",
"pom": "sha256-P4O41tTGCdVu7fJx2ILeZfguRfs9PA1Htu8zw28cW8U="
},
"org/eclipse/jetty#jetty-io/12.1.10": {
"jar": "sha256-RI/A+Pb19yUfxG3o46rn2hS9fFcagEPaw9w4HQgij6A=",
"pom": "sha256-xj97X7nlzN81G4Hpt5lByzHX945bbzqmTCFLTsayJgo="
},
"org/eclipse/jetty#jetty-project/12.1.10": {
"pom": "sha256-T+HSUQcoPfwisFFJgUPS0Z6ThprUwV2BUMjd8D/JdeI="
},
"org/eclipse/jetty#jetty-security/12.1.10": {
"jar": "sha256-LzS3iVzsTjVHobUuEufpKz86EQvzwXY3+HQ8o/TkLww=",
"pom": "sha256-N62PSGiLLtUB9w/FKhfOgspTFm5pPbanjFQ7tIJdHE4="
},
"org/eclipse/jetty#jetty-server/12.1.10": {
"jar": "sha256-SwEI6Hq62nAnEj3soXGGJJQTIy2tCivVik5wqYe1NUo=",
"pom": "sha256-UxPguay3GgwM7qUlMOen03yQPVe21HVXFrdmEP2T5PI="
},
"org/eclipse/jetty#jetty-session/12.1.10": {
"jar": "sha256-FkZJEj0Vo/K+XBlugqplLf8Fx1Ni23Gw9Ktrs1FlAgo=",
"pom": "sha256-a+FxwNRAIEtKJ8xd2faSd476ZDiLqiqYeEJ53syWWYc="
},
"org/eclipse/jetty#jetty-util/12.1.10": {
"jar": "sha256-xStP9izazKijmcYRIxEp5r0QdNt+OJLnjNEGclzdDvE=",
"pom": "sha256-1+lWAXx2pPr2GtTXA8R1zPsmeehM5hvFPXsuv3GXgZc="
},
"org/eclipse/jetty/ee10#jetty-ee10-servlet/12.1.10": {
"jar": "sha256-BczMdLvhR4zrdl6Wexyxo8jZtR6ZrPWGGQiH5Gf/2H0=",
"pom": "sha256-u17HDZ0DYwvbNv/X7Ex9ZYb/Z3vmFKo/A8kJP9Djwrc="
},
"org/eclipse/jetty/ee10#jetty-ee10/12.1.10": {
"pom": "sha256-RTXlk+96Zg2NQ/RkOdQoBg9kQrDZYhJbAWE+NSHBs/4="
},
"org/hamcrest#hamcrest-core/1.3": {
"jar": "sha256-Zv3vkelzk0jfeglqo4SlaF9Oh1WEzOiThqekclHE2Ok=",
"pom": "sha256-/eOGp5BRc6GxA95quCBydYS1DQ4yKC4nl3h8IKZP+pM="
},
"org/hamcrest#hamcrest-parent/1.3": {
"pom": "sha256-bVNflO+2Y722gsnyelAzU5RogAlkK6epZ3UEvBvkEps="
},
"org/hamcrest#hamcrest/3.0": {
"jar": "sha256-XWa2pKaAdVy27XyxBPp4Ne9kRmdYb/Bzet65d8Oezbw=",
"module": "sha256-mhBVNzjTWME+a69Zeb8sGlSQ7uScLcas8xcPzKCSDd4=",
"pom": "sha256-SgSmgTO/MkYfR7ilPI7p30zi9JoNrZeUvOhxe+5brDE="
},
"org/hibernate/search#hibernate-search-bom/8.3.1.Final": {
"pom": "sha256-tQPf+UyokY4U7eOD0xtPCzQCWvOA0W1sMezZVWOt808="
},
"org/infinispan#infinispan-bom/16.1.4": {
"pom": "sha256-rqveBOymbhrDD53zzDbJsHolo3xSBDszQY4nTOWiNhY="
},
"org/junit#junit-bom/5.14.1": {
"module": "sha256-J4rLEczJmYaUIkOG+W+0lBoi7bQstEbJLg8fMwFLa0g=",
"pom": "sha256-AbAd+jZlULQKxXYFSKfXKLYQnRfEUeg4ZNHl4M6GLJQ="
},
"org/junit#junit-bom/5.14.3": {
"module": "sha256-8lxAv6Usi3tCXVdqiPMQ9kMmFtYrpYkyA/on37yfAl4=",
"pom": "sha256-CKAoVuSHyTV/mynjh0X4roBYSBEectFarQNSM48WMuE="
},
"org/junit#junit-bom/6.0.3": {
"module": "sha256-KA48NIVfKhPeJBIZN+TPl+S565IG5g+JHk8KHPDnq6E=",
"pom": "sha256-plW2pdwA0b68kfsrFcDH6K6snWvc+HlZVQU3DidTAoc="
},
"org/mockito#mockito-core/5.23.0": {
"jar": "sha256-rilb69XRH6uXqyl4Fdx2FxiLhgA8vOPf1cDVw6bMSgw=",
"pom": "sha256-wC4pALknetv+EnVtfQuUcua55Zcq4fKNGaQaplE3d+M="
},
"org/mockito#mockito-inline/5.2.0": {
"jar": "sha256-7lLhwpmmMhhPuidKk3CZPgkUBCn15RbmxVcP1ldLKX8=",
"pom": "sha256-cG00cOVtMaO1YwaY0Qeb79uYMUWwGE5LorhNo4eo9oQ="
},
"org/objenesis#objenesis-parent/3.3": {
"pom": "sha256-MFw4SqLx4cf+U6ltpBw+w1JDuX1CjSSo93mBjMEL5P8="
},
"org/objenesis#objenesis/3.3": {
"jar": "sha256-At/QsEOaVZHjW3CO0vVHTrCUj1Or90Y36Vm45O9pv+s=",
"pom": "sha256-ugxA2iZpoEi24k73BmpHHw+8v8xQnmo+hWyk3fphStM="
},
"org/ow2#ow2/1.5.1": {
"pom": "sha256-Mh3bt+5v5PU96mtM1tt0FU1r+kI5HB92OzYbn0hazwU="
},
"org/ow2/asm#asm-bom/9.10": {
"pom": "sha256-bcX96KBAy9wyDc1/IvrusHG9zicOClCvjBBATEnyB8U="
},
"org/reactivestreams#reactive-streams/1.0.4": {
"jar": "sha256-91yll3ibPaxY9hhXuawuEDSmj6Zy2zUFWo+0UJ4yXyg=",
"pom": "sha256-VLoj2HotQ4VAyZ74eUoIVvxXOiVrSYZ4KDw8Z+8Yrag="
},
"org/slf4j#slf4j-api/2.0.17": {
"jar": "sha256-e3UdlSBhlU1av+1xgcH2RdM2CRtnmJFZHWMynGIuuDI=",
"pom": "sha256-FQxAKH987NwhuTgMqsmOkoxPM8Aj22s0jfHFrJdwJr8="
},
"org/slf4j#slf4j-bom/2.0.17": {
"pom": "sha256-940ntkK0uIbrg5/BArXNn+fzDzdZn/5oGFvk4WCQMek="
},
"org/slf4j#slf4j-parent/2.0.17": {
"pom": "sha256-lc1x6FLf2ykSbli3uTnVfsKy5gJDkYUuC1Rd7ggrvzs="
},
"org/sonatype/oss#oss-parent/7": {
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
},
"org/testcontainers#testcontainers-bom/2.0.5": {
"pom": "sha256-u7oTdgIfv04UZjph8QzRr/FKXXT7VfGhS+b9beg9fu8="
},
"org/yaml#snakeyaml/2.5": {
"jar": "sha256-5mgqzxrOd1CO8TZJy/T40J0s9UV722HSX/tqwCM9eN0=",
"pom": "sha256-ugGuenRMtS/o7POwI8vDLgzMjGvu+fJt53pHgII5RH0="
}
}
}

View File

@@ -8379,11 +8379,6 @@ with pkgs;
docker = docker_29;
docker-client = docker.override { clientOnly = true; };
docker-gc = callPackage ../applications/virtualization/docker/gc.nix { };
docker-buildx = callPackage ../applications/virtualization/docker/buildx.nix { };
docker-compose = callPackage ../applications/virtualization/docker/compose.nix { };
docker-sbom = callPackage ../applications/virtualization/docker/sbom.nix { };
drawpile-server-headless = drawpile.override {
buildClient = false;
buildServerGui = false;