Merge master into staging-nixos

This commit is contained in:
nixpkgs-ci[bot]
2026-02-23 06:27:13 +00:00
committed by GitHub
34 changed files with 258 additions and 645 deletions
+6
View File
@@ -8854,6 +8854,12 @@
githubId = 100240294;
name = "Florian Sanders";
};
FlorisMenninga = {
email = "fl-ris@protonmail.com";
github = "Fl-ris";
githubId = 117688953;
name = "Floris Menninga";
};
flosse = {
email = "mail@markus-kohlhase.de";
github = "flosse";
+9 -22
View File
@@ -97,7 +97,6 @@ let
lock = {
backend = cfg.cache.lock.backend;
redis.key-prefix = cfg.cache.lock.redisKeyPrefix;
postgres.key-prefix = cfg.cache.lock.postgresKeyPrefix;
download-lock-ttl = cfg.cache.lock.downloadTTL;
lru-lock-ttl = cfg.cache.lock.lruTTL;
retry = {
@@ -151,6 +150,14 @@ in
"ncps"
"dbmatePackage"
] "dbmate is now wrapped within ncps package, you need to override ncps to change dbmate package")
(lib.mkRemovedOptionModule [
"services"
"ncps"
"cache"
"lock"
"postgresKeyPrefix"
] "PostgreSQL lock backend was removed upstream")
];
options = {
@@ -285,22 +292,11 @@ in
type = lib.types.enum [
"local"
"redis"
"postgres"
];
default = "local";
description = ''
Lock backend to use: 'local' (single instance), 'redis'
(distributed), 'postgres' (distributed, requires PostgreSQL).
Advisory Locks and Connection Pools: If you use PostgreSQL as
your distributed lock backend, each active lock consumes a
dedicated connection from the pool. A single request can consume
up to 3 connections simultaneously.
To avoid deadlocks under concurrent load, ensure
{option}`services.ncps.cache.database.pool.maxOpenConns` is
significantly higher than your expected concurrency (at least
50-100 is recommended).
(distributed).
'';
};
@@ -313,15 +309,6 @@ in
'';
};
postgresKeyPrefix = lib.mkOption {
type = lib.types.str;
default = "ncps:lock:";
description = ''
Prefix for all PostgreSQL advisory lock keys (only used when
PostgreSQL is configured as lock backend).
'';
};
downloadTTL = lib.mkOption {
type = lib.types.str;
default = "5m0s";
+1 -1
View File
@@ -34,7 +34,7 @@ in
Environment variables to pass to Karakaeep. This is how most settings
can be configured. Changing DATA_DIR is possible but not supported.
See <https://docs.karakeep.app/configuration/>
See <https://docs.karakeep.app/configuration/environment-variables>
'';
type = lib.types.attrsOf lib.types.str;
default = { };
-1
View File
@@ -1049,7 +1049,6 @@ in
imports = [ ./ncps.nix ];
defaults.services.ncps.cache.storage.local = "/path/to/ncps";
};
ncps-ha-pg = runTest ./ncps-ha-pg.nix;
ncps-ha-pg-redis = runTest ./ncps-ha-pg-redis.nix;
ndppd = runTest ./ndppd.nix;
nebula-lighthouse-service = runTest ./nebula-lighthouse-service.nix;
-169
View File
@@ -1,169 +0,0 @@
{
lib,
pkgs,
...
}:
let
# s3 creds
bucket = "ncps";
region = "us-west-1";
accessKey = builtins.toFile "minio-access-key" "easy-key";
secretKey = builtins.toFile "minio-secret-key" "easy-secret";
# pg creds
postgresPassword = "easypwd";
initMinio = pkgs.writeShellScriptBin "init-minio.sh" ''
set -euo pipefail
mc alias set local "http://127.0.0.1:9000" minioadmin minioadmin
mc mb local/${bucket}
mc admin user svcacct add --access-key "$(cat ${accessKey})" --secret-key "$(cat ${secretKey})" local minioadmin
'';
ncpsAttrs = hostname: {
services.ncps = {
enable = true;
analytics.reporting.enable = false;
cache = {
hostName = hostname;
databaseURL = "postgres://ncps:${lib.escapeURL postgresPassword}@postgres:5432/ncps?sslmode=disable";
lock.backend = "postgres";
secretKeyPath = builtins.toString (
pkgs.writeText "ncps-cache-key" "ncps:dcrGsrku0KvltFhrR5lVIMqyloAdo0y8vYZOeIFUSLJS2IToL7dPHSSCk/fi+PJf8EorpBn8PU7MNhfvZoI8mA=="
);
storage.s3 = {
inherit bucket region;
endpoint = "http://minio:9000";
accessKeyIdPath = accessKey;
secretAccessKeyPath = secretKey;
};
upstream = {
urls = [ "http://harmonia:5000" ];
publicKeys = [
"cache.example.com-1:eIGQXcGQpc00x6/XFcyacLEUmC07u4RAEHt5Y8vdglo="
];
};
};
};
networking.firewall.allowedTCPPorts = [ 8501 ];
};
in
{
name = "ncps-storage-s3";
meta = with lib.maintainers; {
maintainers = [
aciceri
kalbasit
];
};
nodes = {
client0 = {
nix.settings = {
substituters = lib.mkForce [ "http://ncps0:8501" ];
trusted-public-keys = lib.mkForce [
"ncps:UtiE6C+3Tx0kgpP34vjyX/BKK6QZ/D1OzDYX72aCPJg="
];
};
};
client1 = {
nix.settings = {
substituters = lib.mkForce [ "http://ncps1:8501" ];
trusted-public-keys = lib.mkForce [
"ncps:UtiE6C+3Tx0kgpP34vjyX/BKK6QZ/D1OzDYX72aCPJg="
];
};
};
harmonia = {
services.harmonia = {
enable = true;
signKeyPaths = [
(pkgs.writeText "cache-key" "cache.example.com-1:9FhO0w+7HjZrhvmzT1VlAZw4OSAlFGTgC24Seg3tmPl4gZBdwZClzTTHr9cVzJpwsRSYLTu7hEAQe3ljy92CWg==")
];
settings.priority = 35;
};
networking.firewall.allowedTCPPorts = [ 5000 ];
system.extraDependencies = [ pkgs.emptyFile ];
};
minio = {
services.minio = {
inherit region;
enable = true;
};
networking.firewall.allowedTCPPorts = [ 9000 ];
environment.systemPackages = [
pkgs.minio-client
initMinio
];
};
ncps0 = lib.mkMerge [
(ncpsAttrs "ncps0")
{
services.ncps.cache.databaseURL = lib.mkForce null;
services.ncps.cache.databaseURLFile = builtins.toFile "db-url" "postgres://ncps:${lib.escapeURL postgresPassword}@postgres:5432/ncps?sslmode=disable";
}
];
ncps1 = ncpsAttrs "ncps1";
postgres = {
services.postgresql = {
enable = true;
enableTCPIP = true;
authentication = ''
host all all all scram-sha-256
'';
initialScript = pkgs.writeText "init-postgres.sql" ''
CREATE DATABASE "ncps" WITH ENCODING = 'UTF8';
CREATE ROLE "ncps" WITH LOGIN PASSWORD '${
builtins.replaceStrings [ "'" ] [ "''" ] postgresPassword
}';
ALTER DATABASE "ncps" OWNER TO "ncps";
'';
};
networking.firewall.allowedTCPPorts = [ 5432 ];
};
};
testScript =
{ nodes, ... }:
''
harmonia.start()
minio.start()
postgres.start()
minio.wait_for_unit("minio.service")
minio.wait_until_succeeds("init-minio.sh")
postgres.wait_for_unit("postgresql.service")
start_all()
harmonia.wait_for_unit("harmonia.service")
ncps0.wait_for_unit("ncps.service")
ncps1.wait_for_unit("ncps.service")
client0.wait_until_succeeds("curl -f http://ncps0:8501/ | grep '\"hostname\":\"${toString nodes.ncps0.services.ncps.cache.hostName}\"' >&2")
client1.wait_until_succeeds("curl -f http://ncps1:8501/ | grep '\"hostname\":\"${toString nodes.ncps1.services.ncps.cache.hostName}\"' >&2")
'';
}
@@ -73,13 +73,13 @@
"vendorHash": "sha256-OBXAl3MRAtnYYATHD0UWEuB1dJozG7al9csGYLClaYw="
},
"auth0_auth0": {
"hash": "sha256-d93MvkFn2+slFh2yvllcwthVTY15ezLn+q8Jm3MPQ+0=",
"hash": "sha256-7xAQGsDkw0JYP1Q+cEMHezNmQzccRyiwtUXKgJfnI6k=",
"homepage": "https://registry.terraform.io/providers/auth0/auth0",
"owner": "auth0",
"repo": "terraform-provider-auth0",
"rev": "v1.39.1",
"rev": "v1.40.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-XtPow6ysRcy9MWYFnH7GewtWu2c1LaZih8njbbEzAu8="
"vendorHash": "sha256-57To9XMBDp6VQKXEU7TzkRHebCUUzlHWHV8+QU9PoI8="
},
"aviatrixsystems_aviatrix": {
"hash": "sha256-46djOfAj/5kfeoKLQHbeKefzdGbmlBATR+uN/IaAn8I=",
+2 -2
View File
@@ -7,13 +7,13 @@
buildGoModule (finalAttrs: {
pname = "algia";
version = "0.0.104";
version = "0.0.105";
src = fetchFromGitHub {
owner = "mattn";
repo = "algia";
tag = "v${finalAttrs.version}";
hash = "sha256-E+10IX2gpxFUg0uEcIQIYSNk6rI4JG9ieEwNx3p7sMM=";
hash = "sha256-xjFhrMpk+j77qHYUPwP83fGraJtb08AMnFA84KkvaQc=";
};
vendorHash = "sha256-JTTWVs0KwceiLy6tpyd48zORiXLc18zwgG1c+ceivKU=";
+9 -1
View File
@@ -2,4 +2,12 @@
python3,
}:
python3.pkgs.toPythonApplication python3.pkgs.beets-minimal
let
python = python3.override {
self = python3;
packageOverrides = self: super: {
pyrate-limiter = super.pyrate-limiter_2;
};
};
in
python.pkgs.toPythonApplication python.pkgs.beets-minimal
+9 -1
View File
@@ -2,4 +2,12 @@
python3,
}:
python3.pkgs.toPythonApplication python3.pkgs.beets
let
python = python3.override {
self = python3;
packageOverrides = self: super: {
pyrate-limiter = super.pyrate-limiter_2;
};
};
in
python.pkgs.toPythonApplication python.pkgs.beets
@@ -11,13 +11,13 @@
}:
rustPlatform.buildRustPackage {
pname = "cosmic-ext-applet-external-monitor-brightness";
version = "0.0.1-unstable-2025-12-10";
version = "0.0.1-unstable-2026-02-15";
src = fetchFromGitHub {
owner = "cosmic-utils";
repo = "cosmic-ext-applet-external-monitor-brightness";
rev = "1d63ebe422428ae73fd9b7e2eafbb2649539b923";
hash = "sha256-ytZvjwqroIU5Sx65LPvAmHlcmKrInIyo6psCZjuHYK0=";
rev = "f84c46dfa89c369484cc616d15485ae1bf257803";
hash = "sha256-uEoLhVIv25KNoDD28HIIMutxR2nv+AIapSRlz+ETGuQ=";
};
cargoHash = "sha256-ou7iukl1pHMfcJNemwLdZYYxugbJJQ53XpCYowUTj90=";
@@ -9,13 +9,13 @@
}:
rustPlatform.buildRustPackage {
pname = "cosmic-ext-applet-sysinfo";
version = "0-unstable-2026-01-29";
version = "0-unstable-2026-02-20";
src = fetchFromGitHub {
owner = "cosmic-utils";
repo = "cosmic-ext-applet-sysinfo";
rev = "f92912ee466fbb1b9b7e59f0cc49fb14dfddbc58";
hash = "sha256-3p1xPOciNFlROR02hnaVwCaHPQI3mhXamy0WBD9ndWk=";
rev = "c476fb87b729d65eeeb20802ee162ed10ba63408";
hash = "sha256-QDscoPVOz1cyJIWpgozz+O/vyFyVwG/spUNawYk7DC8=";
};
cargoHash = "sha256-sLoT/p7Au5s16J08RlxK+o4ayUzKO30GfcUwr8kGFl8=";
+5 -3
View File
@@ -7,6 +7,7 @@
zsh,
zlib,
runtimeShell,
nix-update-script,
}:
let
romkatv_libgit2 = callPackage ./romkatv_libgit2.nix { };
@@ -120,6 +121,7 @@ stdenv.mkDerivation (finalAttrs: {
passthru = {
inherit romkatv_libgit2;
updateScript = nix-update-script { };
};
meta = {
@@ -133,9 +135,9 @@ stdenv.mkDerivation (finalAttrs: {
'';
homepage = "https://github.com/romkatv/gitstatus";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [
mmlb
SuperSandro2000
maintainers = [
lib.maintainers.mmlb
lib.maintainers.SuperSandro2000
];
platforms = lib.platforms.all;
mainProgram = "gitstatusd";
+2 -2
View File
@@ -11,11 +11,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "lbreakouthd";
version = "1.2.1";
version = "1.2.2";
src = fetchurl {
url = "mirror://sourceforge/lgames/lbreakouthd-${finalAttrs.version}.tar.gz";
hash = "sha256-c/TZVeOT+w1ML0R5jThVZ8/amvyMYkWsSE6vSrRFjvM=";
hash = "sha256-b3zLZJ8lsPNK65d0NjwlP49/xAqaFUOw8dONGkuBpN4=";
};
# On macOS with a case-insensitive filesystem, "sdl.h" shadows <SDL.h>
+2 -2
View File
@@ -11,13 +11,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "level-zero";
version = "1.26.3";
version = "1.28.0";
src = fetchFromGitHub {
owner = "oneapi-src";
repo = "level-zero";
tag = "v${finalAttrs.version}";
hash = "sha256-AFdACq4oooxv9XMrFjDwSXO+dIoGETqhuqgc0qENkNI=";
hash = "sha256-zIVykKB53KyjvBMgYhPCXLaLag3yvQ7D9HsF3oGGm1w=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -9,13 +9,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "luau-lsp";
version = "1.61.0";
version = "1.62.0";
src = fetchFromGitHub {
owner = "JohnnyMorganz";
repo = "luau-lsp";
tag = finalAttrs.version;
hash = "sha256-v3ouLDsJkOc1WsgH39HsPTMxhIYjKfLDY78RWtF6Zrg=";
hash = "sha256-dbuya7mjS0tZUX0nHHDoM7TXS/n9wAfXgcSBsfNW94M=";
fetchSubmodules = true;
};
@@ -1,155 +1,17 @@
diff --git a/package-lock.json b/package-lock.json
index bc450db..83dff09 100644
index 2d9324c..d3324fc 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -59,12 +59,12 @@
"css-loader": "^7.1.2",
"css-minimizer-webpack-plugin": "^7.0.2",
@@ -60,7 +60,7 @@
"css-loader": "^7.1.3",
"css-minimizer-webpack-plugin": "^7.0.4",
"del": "^6.1.1",
- "electron": "37.6.1",
- "electron-builder": "^26.3.2",
+ "electron": "40.0.0",
+ "electron-builder": "^26.4.0",
"electron-builder": "^26.8.0",
"electron-debug": "^3.2.0",
"electron-devtools-installer": "github:lyswhut/electron-devtools-installer#64596d615c1fc891eefd8aef1dfcb2c87aaadf03",
"electron-to-chromium": "^1.5.262",
- "electron-updater": "6.7.2",
+ "electron-updater": "6.7.3",
"eslint": "^8.57.1",
"eslint-config-standard": "^17.1.0",
"eslint-config-standard-with-typescript": "^43.0.1",
@@ -2059,9 +2059,9 @@
}
},
"node_modules/@electron/universal/node_modules/fs-extra": {
- "version": "11.3.2",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz",
- "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==",
+ "version": "11.3.3",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.3.tgz",
+ "integrity": "sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2119,9 +2119,9 @@
}
},
"node_modules/@electron/windows-sign/node_modules/fs-extra": {
- "version": "11.3.2",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz",
- "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==",
+ "version": "11.3.3",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.3.tgz",
+ "integrity": "sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==",
"dev": true,
"license": "MIT",
"optional": true,
@@ -4189,9 +4189,9 @@
"license": "MIT"
},
"node_modules/app-builder-lib": {
- "version": "26.3.2",
- "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-26.3.2.tgz",
- "integrity": "sha512-ZG4wzxbmmiLUm+W0wXMlMI0LHXK/fsR+Rf21SUs7avujGQ7ZCFLgmIvvWaQ69u1EFnSkYZ2sefKqk1yW/HXeuw==",
+ "version": "26.4.0",
+ "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-26.4.0.tgz",
+ "integrity": "sha512-Uas6hNe99KzP3xPWxh5LGlH8kWIVjZixzmMJHNB9+6hPyDpjc7NQMkVgi16rQDdpCFy22ZU5sp8ow7tvjeMgYQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4205,7 +4205,7 @@
"@malept/flatpak-bundler": "^0.4.0",
"@types/fs-extra": "9.0.13",
"async-exit-hook": "^2.0.1",
- "builder-util": "26.3.1",
+ "builder-util": "26.3.4",
"builder-util-runtime": "9.5.1",
"chromium-pickle-js": "^0.2.0",
"ci-info": "4.3.1",
@@ -4213,7 +4213,7 @@
"dotenv": "^16.4.5",
"dotenv-expand": "^11.0.6",
"ejs": "^3.1.8",
- "electron-publish": "26.3.1",
+ "electron-publish": "26.3.4",
"fs-extra": "^10.1.0",
"hosted-git-info": "^4.1.0",
"isbinaryfile": "^5.0.0",
@@ -4224,7 +4224,7 @@
"minimatch": "^10.0.3",
"plist": "3.1.0",
"resedit": "^1.7.0",
- "semver": "7.7.2",
+ "semver": "~7.7.3",
"tar": "^6.1.12",
"temp-file": "^3.4.0",
"tiny-async-pool": "1.3.0",
@@ -4234,8 +4234,8 @@
"node": ">=14.0.0"
},
"peerDependencies": {
- "dmg-builder": "26.3.2",
- "electron-builder-squirrel-windows": "26.3.2"
+ "dmg-builder": "26.4.0",
+ "electron-builder-squirrel-windows": "26.4.0"
}
},
"node_modules/app-builder-lib/node_modules/fs-extra": {
@@ -4994,9 +4994,9 @@
}
},
"node_modules/builder-util": {
- "version": "26.3.1",
- "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-26.3.1.tgz",
- "integrity": "sha512-pplZEYBx1g15qvIOshpR1WTwjAwQM4ukhGgSNdYPnbuM6wLePq3+njy1sGfekCrJmUP+2xfuwuT9zEoUWfX5zQ==",
+ "version": "26.3.4",
+ "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-26.3.4.tgz",
+ "integrity": "sha512-aRn88mYMktHxzdqDMF6Ayj0rKoX+ZogJ75Ck7RrIqbY/ad0HBvnS2xA4uHfzrGr5D2aLL3vU6OBEH4p0KMV2XQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5005,7 +5005,6 @@
"app-builder-bin": "5.0.0-alpha.12",
"builder-util-runtime": "9.5.1",
"chalk": "^4.1.2",
- "ci-info": "^4.2.0",
"cross-spawn": "^7.0.6",
"debug": "^4.3.4",
"fs-extra": "^10.1.0",
@@ -5198,9 +5197,9 @@
}
},
"node_modules/cacache/node_modules/tar": {
- "version": "7.5.2",
- "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.2.tgz",
- "integrity": "sha512-7NyxrTE4Anh8km8iEy7o0QYPs+0JKBTj5ZaqHg6B39erLg0qYXN3BijtShwbsNSvQ+LN75+KV+C4QR/f6Gwnpg==",
+ "version": "7.5.7",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.7.tgz",
+ "integrity": "sha512-fov56fJiRuThVFXD6o6/Q354S7pnWMJIVlDBYijsTNx6jKSE4pvrDTs6lUnmGvNyfJwFQQwWy3owKz1ucIhveQ==",
"dev": true,
"license": "BlueOak-1.0.0",
"dependencies": {
@@ -6665,14 +6664,14 @@
}
},
"node_modules/dmg-builder": {
- "version": "26.3.2",
- "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-26.3.2.tgz",
- "integrity": "sha512-UM7/WRmESXnKXBShmKJ+xiEQ3U82/zb/tyaCKGn4Y4cf+WynLzQPeBToZtrIXTs3ZPyJQBIf+btkoCzVVnhO4g==",
+ "version": "26.4.0",
+ "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-26.4.0.tgz",
+ "integrity": "sha512-ce4Ogns4VMeisIuCSK0C62umG0lFy012jd8LMZ6w/veHUeX4fqfDrGe+HTWALAEwK6JwKP+dhPvizhArSOsFbg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "app-builder-lib": "26.3.2",
- "builder-util": "26.3.1",
+ "app-builder-lib": "26.4.0",
+ "builder-util": "26.3.4",
"fs-extra": "^10.1.0",
"iconv-lite": "^0.6.2",
"js-yaml": "^4.1.0"
@@ -6966,15 +6965,15 @@
@@ -7539,15 +7539,15 @@
}
},
"node_modules/electron": {
@@ -169,103 +31,16 @@ index bc450db..83dff09 100644
"extract-zip": "^2.0.1"
},
"bin": {
@@ -6985,18 +6984,18 @@
}
},
"node_modules/electron-builder": {
- "version": "26.3.2",
- "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-26.3.2.tgz",
- "integrity": "sha512-Lbfw8KHx1gxmg0tRFKb67hdvqzaz+ha4Ab5l6iQWo3o2yoVImiiJeifs8PSM5evo3BQWCLKtSQaSdZxg1ldIdg==",
+ "version": "26.4.0",
+ "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-26.4.0.tgz",
+ "integrity": "sha512-FCUqvdq2AULL+Db2SUGgjOYTbrgkPxZtCjqIZGnjH9p29pTWyesQqBIfvQBKa6ewqde87aWl49n/WyI/NyUBog==",
"dev": true,
"license": "MIT",
"dependencies": {
- "app-builder-lib": "26.3.2",
- "builder-util": "26.3.1",
+ "app-builder-lib": "26.4.0",
+ "builder-util": "26.3.4",
"builder-util-runtime": "9.5.1",
"chalk": "^4.1.2",
"ci-info": "^4.2.0",
- "dmg-builder": "26.3.2",
+ "dmg-builder": "26.4.0",
"fs-extra": "^10.1.0",
"lazy-val": "^1.0.5",
"simple-update-notifier": "2.0.0",
@@ -7011,15 +7010,15 @@
}
},
"node_modules/electron-builder-squirrel-windows": {
- "version": "26.3.2",
- "resolved": "https://registry.npmjs.org/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-26.3.2.tgz",
- "integrity": "sha512-SgvOmoulc1Ezmmi2aIh7//Fs9/Yr6B9L55MeBLy3A5Fn1dUnOF7Px4xNBFiw+fEFxrFCej3cCo2JqGOcBi31Pg==",
+ "version": "26.4.0",
+ "resolved": "https://registry.npmjs.org/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-26.4.0.tgz",
+ "integrity": "sha512-7dvalY38xBzWNaoOJ4sqy2aGIEpl2S1gLPkkB0MHu1Hu5xKQ82il1mKSFlXs6fLpXUso/NmyjdHGlSHDRoG8/w==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
- "app-builder-lib": "26.3.2",
- "builder-util": "26.3.1",
+ "app-builder-lib": "26.4.0",
+ "builder-util": "26.3.4",
"electron-winstaller": "5.4.0"
}
},
@@ -7142,14 +7141,14 @@
}
},
"node_modules/electron-publish": {
- "version": "26.3.1",
- "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-26.3.1.tgz",
- "integrity": "sha512-XYGYL/fpQULLW9slTVPelaUOGlKfOTmV2Uda3K+qzFzvNnkGJCj7L0nLVvMuj5cgxpAX+3BhO5HOUb4rv6jikA==",
+ "version": "26.3.4",
+ "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-26.3.4.tgz",
+ "integrity": "sha512-5/ouDPb73SkKuay2EXisPG60LTFTMNHWo2WLrK5GDphnWK9UC+yzYrzVeydj078Yk4WUXi0+TaaZsNd6Zt5k/A==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/fs-extra": "^9.0.11",
- "builder-util": "26.3.1",
+ "builder-util": "26.3.4",
"builder-util-runtime": "9.5.1",
"chalk": "^4.1.2",
"form-data": "^4.0.0",
@@ -7204,9 +7203,9 @@
"license": "ISC"
},
"node_modules/electron-updater": {
- "version": "6.7.2",
- "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-6.7.2.tgz",
- "integrity": "sha512-URw19f7afuB5HQOdxhu5wdnWE+w/lTGsXJ3RdObSJXIkW0i9r3ZUWrd1CjggTrD0qzEuxBODe4VFPM8OBg4qEA==",
+ "version": "6.7.3",
+ "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-6.7.3.tgz",
+ "integrity": "sha512-EgkT8Z9noqXKbwc3u5FkJA+r48jwZ5DTUiOkJMOTEEH//n5Am6wfQGz7nvSFEA2oIAMv9jRzn5JKTyWeSKOPgg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7216,7 +7215,7 @@
"lazy-val": "^1.0.5",
"lodash.escaperegexp": "^4.1.2",
"lodash.isequal": "^4.5.0",
- "semver": "7.7.2",
+ "semver": "~7.7.3",
"tiny-typed-emitter": "^2.1.0"
}
},
@@ -7297,15 +7296,22 @@
@@ -7868,15 +7868,22 @@
}
},
"node_modules/electron/node_modules/@types/node": {
- "version": "22.17.0",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.17.0.tgz",
- "integrity": "sha512-bbAKTCqX5aNVryi7qXVMi+OkB3w/OyblodicMbvE38blyAz7GxXf6XYhklokijuPwwVg9sDLKRxt0ZHXQwZVfQ==",
+ "version": "24.10.9",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.9.tgz",
+ "integrity": "sha512-ne4A0IpG3+2ETuREInjPNhUGis1SFjv1d5asp8MzEAGtOZeTeHVDOYqOgqfhvseqg/iXty2hjBf1zAOb7RNiNw==",
- "version": "22.19.11",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.11.tgz",
- "integrity": "sha512-BH7YwL6rA93ReqeQS1c4bsPpcfOmJasG+Fkr6Y59q83f9M1WcBRHR2vM+P9eOisYRcN3ujQoiZY8uk5W+1WL8w==",
+ "version": "24.10.13",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.13.tgz",
+ "integrity": "sha512-oH72nZRfDv9lADUBSo104Aq7gPHpQZc4BTx38r9xf9pg5LfP6EzSyH2n7qFmmxRQXh7YlUXODcYsg6PuTDSxGg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -283,57 +58,16 @@ index bc450db..83dff09 100644
"node_modules/emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
@@ -11800,9 +11806,9 @@
}
},
"node_modules/node-abi": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-4.12.0.tgz",
- "integrity": "sha512-bPSN9a/qIEiURzVVO/I7P/8oPeYTSl+vnvVZBXM/8XerKOgA3dMAIUjl+a+lz9VwTowwSKS3EMsgz/vWDXOkuQ==",
+ "version": "4.26.0",
+ "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-4.26.0.tgz",
+ "integrity": "sha512-8QwIZqikRvDIkXS2S93LjzhsSPJuIbfaMETWH+Bx8oOT9Sa9UsUtBFQlc3gBNd1+QINjaTloitXr1W3dQLi9Iw==",
"license": "MIT",
"dependencies": {
"semver": "^7.6.3"
@@ -11896,9 +11902,9 @@
}
},
"node_modules/node-gyp/node_modules/tar": {
- "version": "7.5.2",
- "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.2.tgz",
- "integrity": "sha512-7NyxrTE4Anh8km8iEy7o0QYPs+0JKBTj5ZaqHg6B39erLg0qYXN3BijtShwbsNSvQ+LN75+KV+C4QR/f6Gwnpg==",
+ "version": "7.5.7",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.7.tgz",
+ "integrity": "sha512-fov56fJiRuThVFXD6o6/Q354S7pnWMJIVlDBYijsTNx6jKSE4pvrDTs6lUnmGvNyfJwFQQwWy3owKz1ucIhveQ==",
"dev": true,
"license": "BlueOak-1.0.0",
"dependencies": {
@@ -16401,6 +16407,7 @@
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz",
"integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==",
+ "deprecated": "Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exhorbitant rates) by contacting i@izs.me",
"dev": true,
"license": "ISC",
"dependencies": {
diff --git a/package.json b/package.json
index 3e5c884..96732dd 100644
index 4a17ca0..6e03adf 100644
--- a/package.json
+++ b/package.json
@@ -133,12 +133,12 @@
"css-loader": "^7.1.2",
"css-minimizer-webpack-plugin": "^7.0.2",
@@ -133,7 +133,7 @@
"css-loader": "^7.1.3",
"css-minimizer-webpack-plugin": "^7.0.4",
"del": "^6.1.1",
- "electron": "37.6.1",
- "electron-builder": "^26.3.2",
+ "electron": "40.0.0",
+ "electron-builder": "^26.4.0",
"electron-builder": "^26.8.0",
"electron-debug": "^3.2.0",
"electron-devtools-installer": "github:lyswhut/electron-devtools-installer#64596d615c1fc891eefd8aef1dfcb2c87aaadf03",
"electron-to-chromium": "^1.5.262",
- "electron-updater": "6.7.2",
+ "electron-updater": "6.7.3",
"eslint": "^8.57.1",
"eslint-config-standard": "^17.1.0",
"eslint-config-standard-with-typescript": "^43.0.1",
+3 -3
View File
@@ -20,13 +20,13 @@ let
in
buildNpmPackage (finalAttrs: {
pname = "lx-music-desktop";
version = "2.12.0";
version = "2.12.1";
src = fetchFromGitHub {
owner = "lyswhut";
repo = "lx-music-desktop";
tag = "v${finalAttrs.version}";
hash = "sha256-g4QVpymzoRKIq70aRLXGFmUmIpSiXIZThrp8fumBKTQ=";
hash = "sha256-bhgXNk1WUVYb5/42uLIi+V8Ivc9/ykul+Um6QmGlvyk=";
};
desktopItems = [
@@ -68,7 +68,7 @@ buildNpmPackage (finalAttrs: {
# Npm 11 (nodejs 24) can't resolve all dependencies from the prefetched cache.
nodejs = nodejs_22;
npmDepsHash = "sha256-BmrY7IXx6Z+sBAemYnOZUBMyLInENMOB6fh/4LoV80w=";
npmDepsHash = "sha256-62ytK6WNwdkKfci2gsC+WVDcNi247IXqFGBWa5a5J5c=";
makeCacheWritable = true;
+49 -14
View File
@@ -3,45 +3,58 @@
curl,
dbmate,
fetchFromGitHub,
go,
jq,
lib,
makeWrapper,
mariadb,
minio,
minio-client,
nix-update-script,
nixosTests,
postgresql,
python3,
redis,
writeShellScriptBin,
nixosTests,
nix-update-script,
xz,
}:
let
dbmate-real = writeShellScriptBin "dbmate.real" ''
exec ${dbmate}/bin/dbmate "$@"
'';
in
buildGoModule (finalAttrs: {
pname = "ncps";
version = "0.8.6";
version = "0.9.1";
src = fetchFromGitHub {
owner = "kalbasit";
repo = "ncps";
tag = "v${finalAttrs.version}";
hash = "sha256-Ep83aGlwf8qq7fmSCCH9zUztlXf4D3vvs9jkBBoN6Yw=";
hash = "sha256-cu7fgzQTpo8aLpK0/kJ3xcCVFCmFMQ6RKwUWW5Zwu6s=";
};
vendorHash = "sha256-AcgC+zTS3eVsbcs0jim4zDBGc3lIjwPbdVT7/KQ9Lkc=";
# XXX: ncps is built with Go 1.25.6 that is available in release-25.11 but
# master is currently still using 1.25.5 (update waiting in the
# staging/staging-next branches.) This is a workaround for this issue and
# will automatically becomes no-op once Go is updated.
preBuild = lib.optionalString (go.version == "1.25.5") ''
sed -e 's:go 1.25.6:go 1.25.5:g' -i go.mod
sed -e 's:go 1.25.6:go 1.25.5:g' -i nix/dbmate-wrapper/src/go.mod
'';
vendorHash = "sha256-QZikr0kE/kvnI4RG02lxVpG4teTg3Uo68st9xLlbfm0=";
ldflags = [
"-X github.com/kalbasit/ncps/pkg/ncps.Version=v${finalAttrs.version}"
];
subPackages = [ "." ];
excludedPackages = [
"nix/dbmate-wrapper/src"
"nix/gen-db-wrappers/src"
];
buildInputs = [ xz ];
nativeBuildInputs = [
makeWrapper # used for wrapping the binary so it can always find the xz binary
curl # used for checking MinIO health check
dbmate # used for testing
jq # used for testing by the init-minio
@@ -51,16 +64,23 @@ buildGoModule (finalAttrs: {
postgresql # PostgreSQL for integration tests
python3 # used for generating the ports
redis # Redis for distributed locking integration tests
makeWrapper # For wrapping dbmate.
];
postInstall = ''
mkdir -p $out/share/ncps
cp -r db $out/share/ncps/db
# ncps makes use of xz for decompression as it's 3-5x faster than
# using the native Go implementation of xz. By wrapping ncps, and
# setting the XZ_BINARY_PATH environment variable, we ensure that
# ncps can always find the xz binary. This environment variable is
# read by a flag in pkg/ncps and can be overriden by using calling
# ncps with the --xz-binary-path flag.
wrapProgram $out/bin/ncps --set XZ_BINARY_PATH ${lib.getExe' xz "xz"}
# Wrap the dbmate-wrapper and set the NCPS_DB_MIGRATIONS_DIR environment variable
makeWrapper ${finalAttrs.passthru.dbmate-wrapper}/bin/dbmate-wrapper \
$out/bin/dbmate-ncps \
--prefix PATH : ${dbmate-real}/bin \
--set NCPS_DB_MIGRATIONS_DIR $out/share/ncps/db/migrations
'';
@@ -92,8 +112,24 @@ buildGoModule (finalAttrs: {
src = "${finalAttrs.src}/nix/dbmate-wrapper/src";
# XXX: ncps is built with Go 1.25.6 that is available in release-25.11 but
# master is currently still using 1.25.5 (update waiting in the
# staging/staging-next branches.) This is a workaround for this issue and
# will automatically becomes no-op once Go is updated.
preBuild = lib.optionalString (go.version == "1.25.5") ''
sed -e 's:go 1.25.6:go 1.25.5:g' -i go.mod
'';
vendorHash = null;
buildInputs = lib.singleton dbmate;
nativeBuildInputs = lib.singleton makeWrapper;
postInstall = ''
# the dbmate-wrapper needs access to the original dbmate executable, wrap it so it can find it correctly.
wrapProgram $out/bin/dbmate-wrapper --set DBMATE_BIN ${lib.getExe dbmate}
'';
subPackages = [ "." ];
};
@@ -102,7 +138,6 @@ buildGoModule (finalAttrs: {
ncps
ncps-custom-sqlite-directory
ncps-custom-storage-local
ncps-ha-pg
ncps-ha-pg-redis
;
};
@@ -9,13 +9,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "plasma-panel-colorizer";
version = "6.8.0";
version = "6.8.1";
src = fetchFromGitHub {
owner = "luisbocanegra";
repo = "plasma-panel-colorizer";
tag = "v${finalAttrs.version}";
hash = "sha256-HsivJaF+5s+OFoCwerQCAYIgKtdCIIXI1EgAwJjwAPk=";
hash = "sha256-ePY9Q+43ejFNyzHOObo4CkhYX9XTnwyelHO5+N+t1wE=";
};
nativeBuildInputs = [
+7 -4
View File
@@ -14,13 +14,13 @@ let
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "presenterm";
version = "0.16.0";
version = "0.16.1";
src = fetchFromGitHub {
owner = "mfontanini";
repo = "presenterm";
tag = "v${finalAttrs.version}";
hash = "sha256-wQP3tLa6+GZAhNkAaIrbpIMBnQD7UoH6O5N/wDKtfrQ=";
hash = "sha256-mIJktrgBweaaLD2YaRcs0vP5hKRy/kMN/HEnwO323DA=";
};
nativeBuildInputs =
@@ -35,7 +35,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
libsixel
];
cargoHash = "sha256-mDbzZZDsGCpbOKJ9/lX23VgSH0LGzHvYo2nxnRay15A=";
cargoHash = "sha256-OlZXf8Wg32mXGDGbavLVf1ELoqqSmc8z9DNpvGOfAJ8=";
env = lib.optionalAttrs (isDarwin && isx86_64) {
NIX_CFLAGS_LINK = "-fuse-ld=lld";
@@ -66,7 +66,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
changelog = "https://github.com/mfontanini/presenterm/releases/tag/v${finalAttrs.version}";
homepage = "https://github.com/mfontanini/presenterm";
license = lib.licenses.bsd2;
maintainers = with lib.maintainers; [ mikaelfangel ];
maintainers = with lib.maintainers; [
GaetanLepage
mikaelfangel
];
mainProgram = "presenterm";
};
})
+16 -16
View File
@@ -83,21 +83,21 @@ let
ln -s ${quarto}/share $out/share
'';
in
stdenv.mkDerivation rec {
pname = "RStudio";
version = "2026.01.0+392";
stdenv.mkDerivation (finalAttrs: {
pname = "rstudio";
version = "2026.01.1+403";
src = fetchFromGitHub {
owner = "rstudio";
repo = "rstudio";
tag = "v${version}";
hash = "sha256-Q79uoNKh4plRFTe3uOTr27Hh/fMMkCbRPveZyq7cHQk=";
tag = "v${finalAttrs.version}";
hash = "sha256-s+t48LLvxdit6US6MB4DvpEZtUY6SSK5Qha1k4VW0Qk=";
};
# sources fetched into _deps via cmake's FetchContent
extSrcs = stdenv.mkDerivation {
name = "${pname}-${version}-ext-srcs";
inherit src;
name = "rstudio-${finalAttrs.version}-ext-srcs";
inherit (finalAttrs) src;
nativeBuildInputs = [
cacert
@@ -192,10 +192,10 @@ stdenv.mkDerivation rec {
# on Darwin, cmake uses find_library to locate R instead of using the PATH
NIX_LDFLAGS = "-L${R}/lib/R/lib";
RSTUDIO_VERSION_MAJOR = lib.versions.major version;
RSTUDIO_VERSION_MINOR = lib.versions.minor version;
RSTUDIO_VERSION_PATCH = lib.versions.patch version;
RSTUDIO_VERSION_SUFFIX = "+" + toString (lib.tail (lib.splitString "+" version));
RSTUDIO_VERSION_MAJOR = lib.versions.major finalAttrs.version;
RSTUDIO_VERSION_MINOR = lib.versions.minor finalAttrs.version;
RSTUDIO_VERSION_PATCH = lib.versions.patch finalAttrs.version;
RSTUDIO_VERSION_SUFFIX = "+" + toString (lib.tail (lib.splitString "+" finalAttrs.version));
};
patches = [
@@ -246,9 +246,9 @@ stdenv.mkDerivation rec {
makeCacheWritable = true;
npmDeps = fetchNpmDeps {
name = "rstudio-${version}-npm-deps";
inherit src;
postPatch = "cd ${npmRoot}";
name = "rstudio-${finalAttrs.version}-npm-deps";
inherit (finalAttrs) src;
postPatch = "cd ${finalAttrs.npmRoot}";
hash = "sha256-7gXLCFhan/TCTlc2okMWuWzfRYXmuwcqhmGKAqJOEM0=";
};
@@ -359,7 +359,7 @@ stdenv.mkDerivation rec {
};
meta = {
changelog = "https://github.com/rstudio/rstudio/tree/${src.rev}/version/news";
changelog = "https://github.com/rstudio/rstudio/tree/${finalAttrs.src.rev}/version/news";
description = "Set of integrated tools for the R language";
homepage = "https://www.rstudio.com/";
license = lib.licenses.agpl3Only;
@@ -371,4 +371,4 @@ stdenv.mkDerivation rec {
# rstudio-server on darwin is only partially supported by upstream
platforms = lib.platforms.linux ++ lib.optionals (!server) lib.platforms.darwin;
};
}
})
+61
View File
@@ -0,0 +1,61 @@
{
lib,
stdenv,
fetchurl,
autoPatchelfHook,
zlib,
dbus,
glib,
gtk3,
pango,
gdk-pixbuf,
dbus-glib,
cairo,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "tixati";
version = "3.42";
src = fetchurl {
url = "https://download.tixati.com/tixati-${finalAttrs.version}-1.x86_64.manualinstall.tar.gz";
hash = "sha256-tuejoQQ3W9PyvABPieiYle3QYy2JKNqDvRlorSxPuHc=";
};
nativeBuildInputs = [ autoPatchelfHook ];
buildInputs = [
zlib
dbus
glib
gtk3
pango
gdk-pixbuf
dbus-glib
cairo
];
sourceRoot = "tixati-${finalAttrs.version}-1.x86_64.manualinstall";
installPhase = ''
runHook preInstall
install -Dm755 tixati $out/bin/tixati
install -Dm644 tixati.png $out/share/pixmaps/tixati.png
install -Dm644 tixati.desktop $out/share/applications/tixati.desktop
runHook postInstall
'';
meta = {
description = "Simple and Easy to Use Bittorrent Client";
homepage = "https://www.tixati.com/";
downloadPage = "https://tixati.com/linux";
changelog = "https://tixati.com/news";
license = lib.licenses.unfree;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
platforms = [ "x86_64-linux" ];
maintainers = with lib.maintainers; [ FlorisMenninga ];
mainProgram = "tixati";
};
})
+3 -3
View File
@@ -66,7 +66,7 @@
stdenv.mkDerivation rec {
pname = "vivaldi";
version = "7.8.3925.66";
version = "7.8.3925.73";
suffix =
{
@@ -79,8 +79,8 @@ stdenv.mkDerivation rec {
url = "https://downloads.vivaldi.com/stable/vivaldi-stable_${version}-1_${suffix}.deb";
hash =
{
aarch64-linux = "sha256-+gDl4+gtnEkSi29JT7zsDs29dabgfpzR2RIMlKglwoM=";
x86_64-linux = "sha256-RpIsJTUAKiD1GfF78RigrHtivqbW+qZuF+HUJsFcKI0=";
aarch64-linux = "sha256-qj41tJMWfto+NEqCqTvLAayJG5Upf/iKb5tQGRp/0y8=";
x86_64-linux = "sha256-A5Ab9hr402e/y7ENoWy2fWD+aw0rBd7ZxEnAXiI8Tks=";
}
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
};
@@ -18,6 +18,7 @@
libxcursor,
libx11,
libxcb,
xz, # liblzma
zlib,
makeWrapper,
waylandSupport ? false,
@@ -57,6 +58,7 @@ let
fontconfig
(lib.getLib stdenv.cc.cc) # libstdc++.so libgcc_s.so
zlib
xz
];
runtimeDependencies = [
+6 -6
View File
@@ -1,14 +1,14 @@
{
"darwin": {
"hash": "sha256-C4NvlFEVIN3Qi//o7vPkpBGtkOBRCPOA8CUGc/3Rz0E=",
"version": "0.2025.12.17.17.17.stable_02"
"hash": "sha256-HiMDB8x72zL8XZJ36M2mVfF2CiPDCh//MnKC1ZJYWvU=",
"version": "0.2026.02.18.08.22.stable_02"
},
"linux_x86_64": {
"hash": "sha256-VGNIXVhrVu9Kqtg09E9MPPjvX87tNT6E7Ls6/+JkhO0=",
"version": "0.2025.12.17.17.17.stable_02"
"hash": "sha256-+CRcerac94LJjwamaEVVyl2GxHRbxydNe/xlIMQfcfU=",
"version": "0.2026.02.18.08.22.stable_02"
},
"linux_aarch64": {
"hash": "sha256-mTon/ue6QYTIGhG8jgA/jtTbAu5aA1xCE2yE3bdc5Pw=",
"version": "0.2025.12.17.17.17.stable_02"
"hash": "sha256-OQikiIpdegjQ7u3H6kRLc6s/4biN6l25KrHo01aEd6o=",
"version": "0.2026.02.18.08.22.stable_02"
}
}
@@ -22,14 +22,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-whiskermenu-plugin";
version = "2.10.0";
version = "2.10.1";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "panel-plugins";
repo = "xfce4-whiskermenu-plugin";
tag = "xfce4-whiskermenu-plugin-${finalAttrs.version}";
hash = "sha256-2FACsP6mKx0k91xG3DaVS6hdvdLrjLu9Y9rVOW6PZ3M=";
hash = "sha256-mSACaLwC7G2NBg7JbK59hwpkaSnQE4nsfSH1oABdOso=";
};
strictDeps = true;
+2 -2
View File
@@ -21,14 +21,14 @@ python3Packages.buildPythonApplication rec {
# The websites yt-dlp deals with are a very moving target. That means that
# downloads break constantly. Because of that, updates should always be backported
# to the latest stable release.
version = "2026.02.04";
version = "2026.02.21";
pyproject = true;
src = fetchFromGitHub {
owner = "yt-dlp";
repo = "yt-dlp";
tag = version;
hash = "sha256-KXnz/ocHBftenDUkCiFoBRBxi6yWt0fNuRX+vKFWDQw=";
hash = "sha256-r9I/zLyqGPeIzsHsLxJcfnLC3jpuyKMyX1UaMoM08jk=";
};
postPatch = ''
@@ -14,14 +14,14 @@
buildPythonPackage rec {
pname = "aiontfy";
version = "0.7.0";
version = "0.8.0";
pyproject = true;
src = fetchFromGitHub {
owner = "tr4nt0r";
repo = "aiontfy";
tag = "v${version}";
hash = "sha256-tQjS9GXCiDOL3O8l1NotTk6LNvDgCa+tz0re96myu2w=";
hash = "sha256-xpzAt4yRgzn2lV/4KscxqRwsF/+K78bPMcLYc9qFW58=";
};
build-system = [
@@ -19,25 +19,16 @@
buildPythonPackage rec {
pname = "beets-copyartifacts";
version = "0.1.5";
version = "0.1.6";
pyproject = true;
src = fetchFromGitHub {
repo = "beets-copyartifacts";
owner = "adammillerio";
tag = "v${version}";
hash = "sha256-UTZh7T6Z288PjxFgyFxHnPt0xpAH3cnr8/jIrlJhtyU=";
hash = "sha256-fMnXuMwxylO9Q7EFPpkgwwNeBuviUa8HduRrqrqdMaI=";
};
postPatch = ''
sed -i -e '/namespace_packages/d' setup.py
printf 'from pkgutil import extend_path\n__path__ = extend_path(__path__, __name__)\n' >beetsplug/__init__.py
# beets v2.1.0 compat
# <https://github.com/beetbox/beets/commit/0e87389994a9969fa0930ffaa607609d02e286a8>
sed -i -e 's/util\.py3_path/os.fsdecode/g' tests/_common.py
'';
build-system = [
setuptools
];
@@ -67,7 +58,6 @@ buildPythonPackage rec {
changelog = "https://github.com/adammillerio/beets-copyartifacts/releases/tag/${src.tag}";
license = lib.licenses.mit;
inherit (beets-minimal.meta) platforms;
# Isn't compatible with beets >= 2.3
broken = true;
};
}
@@ -1,45 +0,0 @@
diff --git i/beets/ui/commands.py w/beets/ui/commands.py
index ad4f7821..5077191d 100755
--- i/beets/ui/commands.py
+++ w/beets/ui/commands.py
@@ -2381,22 +2381,6 @@ default_commands.append(config_cmd)
def print_completion(*args):
for line in completion_script(default_commands + plugins.commands()):
print_(line, end="")
- if not any(os.path.isfile(syspath(p)) for p in BASH_COMPLETION_PATHS):
- log.warning(
- "Warning: Unable to find the bash-completion package. "
- "Command line completion might not work."
- )
-
-
-BASH_COMPLETION_PATHS = [
- b"/etc/bash_completion",
- b"/usr/share/bash-completion/bash_completion",
- b"/usr/local/share/bash-completion/bash_completion",
- # SmartOS
- b"/opt/local/share/bash-completion/bash_completion",
- # Homebrew (before bash-completion2)
- b"/usr/local/etc/bash_completion",
-]
def completion_script(commands):
diff --git i/test/test_ui.py w/test/test_ui.py
index cae86148..faf266a8 100644
--- i/test/test_ui.py
+++ w/test/test_ui.py
@@ -1434,12 +1434,7 @@ class CompletionTest(_common.TestCase, TestHelper):
)
# Load bash_completion library.
- for path in commands.BASH_COMPLETION_PATHS:
- if os.path.exists(syspath(path)):
- bash_completion = path
- break
- else:
- self.skipTest("bash-completion script not found")
+ self.skipTest("bash-completion script not found")
try:
with open(util.syspath(bash_completion), "rb") as f:
tester.stdin.writelines(f)
@@ -29,6 +29,7 @@
buildPythonPackage,
pythonAtLeast,
fetchFromGitHub,
fetchpatch,
# build-system
poetry-core,
@@ -41,10 +42,12 @@
mediafile,
munkres,
musicbrainzngs,
packaging,
platformdirs,
pyyaml,
unidecode,
reflink,
requests-ratelimiter,
typing-extensions,
lap,
@@ -53,6 +56,7 @@
sphinxHook,
sphinx-design,
sphinx-copybutton,
sphinx-toolbox,
pydata-sphinx-theme,
# buildInputs
@@ -80,6 +84,7 @@
requests,
requests-oauthlib,
resampy,
titlecase,
soco,
# configurations
@@ -92,11 +97,13 @@
# tests
pytestCheckHook,
pytest-cov-stub,
pytest-flask,
mock,
rarfile,
responses,
requests-mock,
pillow,
tomli,
writableTmpDirAsHomeHook,
# preCheck
@@ -112,22 +119,18 @@
buildPythonPackage (finalAttrs: {
pname = "beets";
version = "2.5.1";
version = "2.6.2";
src = fetchFromGitHub {
owner = "beetbox";
repo = "beets";
tag = "v${finalAttrs.version}";
hash = "sha256-H3jcEHyK13+RHVlV4zp+8M3LZ0Jc2FdmAbLpekGozLA=";
hash = "sha256-1euYkoM66gnElCbgCgIpj1waq1QvHApUgioJTbSQJ0U=";
};
pyproject = true;
# Waiting for https://github.com/beetbox/beets/pull/6267
disabled = pythonAtLeast "3.14";
patches = [
# Bash completion fix for Nix
./bash-completion-always-print.patch
]
++ extraPatches;
patches = extraPatches;
build-system = [
poetry-core
@@ -141,6 +144,7 @@ buildPythonPackage (finalAttrs: {
mediafile
munkres
musicbrainzngs
packaging
platformdirs
pyyaml
unidecode
@@ -148,6 +152,7 @@ buildPythonPackage (finalAttrs: {
# add too much to the closure. See:
# https://github.com/NixOS/nixpkgs/issues/437308
reflink
requests-ratelimiter
typing-extensions
lap
]
@@ -160,6 +165,7 @@ buildPythonPackage (finalAttrs: {
sphinxHook
sphinx-design
sphinx-copybutton
sphinx-toolbox
pydata-sphinx-theme
]
++ extraNativeBuildInputs;
@@ -200,11 +206,13 @@ buildPythonPackage (finalAttrs: {
nativeCheckInputs = [
pytestCheckHook
pytest-cov-stub
pytest-flask
mock
rarfile
responses
requests-mock
pillow
tomli
writableTmpDirAsHomeHook
]
++ finalAttrs.finalPackage.passthru.plugins.wrapperBins;
@@ -213,30 +221,12 @@ buildPythonPackage (finalAttrs: {
disabledTestPaths =
finalAttrs.finalPackage.passthru.plugins.disabledTestPaths
++ [
# touches network
"test/plugins/test_aura.py"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# Flaky: several tests fail randomly with:
# if not self._poll(timeout):
# raise Empty
# _queue.Empty
"test/plugins/test_bpd.py"
]
++ lib.optionals stdenv.hostPlatform.isLinux [
# fail on Hydra with `RuntimeError: image cannot be obtained without artresizer backend`
"test/plugins/test_art.py::AlbumArtOperationConfigurationTest::test_enforce_ratio"
"test/plugins/test_art.py::AlbumArtOperationConfigurationTest::test_enforce_ratio_with_percent_margin"
"test/plugins/test_art.py::AlbumArtOperationConfigurationTest::test_enforce_ratio_with_px_margin"
"test/plugins/test_art.py::AlbumArtOperationConfigurationTest::test_minwidth"
"test/plugins/test_art.py::AlbumArtPerformOperationTest::test_deinterlaced"
"test/plugins/test_art.py::AlbumArtPerformOperationTest::test_deinterlaced_and_resized"
"test/plugins/test_art.py::AlbumArtPerformOperationTest::test_file_not_resized"
"test/plugins/test_art.py::AlbumArtPerformOperationTest::test_file_resized"
"test/plugins/test_art.py::AlbumArtPerformOperationTest::test_file_resized_and_scaled"
"test/plugins/test_art.py::AlbumArtPerformOperationTest::test_file_resized_but_not_scaled"
"test/plugins/test_art.py::AlbumArtPerformOperationTest::test_resize"
];
disabledTests = extraDisabledTests ++ [
# touches network
@@ -349,11 +339,11 @@ buildPythonPackage (finalAttrs: {
fromfilename.testPaths = [ ];
ftintitle = { };
fuzzy.testPaths = [ ];
gmusic.testPaths = [ ];
hook = { };
ihate = { };
importadded = { };
importfeeds = { };
importsource = { };
info = { };
inline.testPaths = [ ];
ipfs = { };
@@ -368,9 +358,7 @@ buildPythonPackage (finalAttrs: {
testPaths = [ ];
};
limit = { };
listenbrainz = {
testPaths = [ ];
};
listenbrainz = { };
loadext = {
propagatedBuildInputs = [ requests ];
testPaths = [ ];
@@ -383,6 +371,7 @@ buildPythonPackage (finalAttrs: {
mbcollection.testPaths = [ ];
mbsubmit = { };
mbsync = { };
mbpseudo = { };
metasync.testPaths = [ ];
missing.testPaths = [ ];
mpdstats.propagatedBuildInputs = [ mpd2 ];
@@ -420,6 +409,7 @@ buildPythonPackage (finalAttrs: {
testPaths = [ ];
};
the = { };
titlecase.propagatedBuildInputs = [ titlecase ];
thumbnails = {
propagatedBuildInputs = [
pillow
@@ -8,6 +8,7 @@
# dependencies
pyyaml,
typing-extensions,
# tests
pytestCheckHook,
@@ -15,14 +16,14 @@
buildPythonPackage rec {
pname = "confuse";
version = "2.1.0";
version = "2.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "beetbox";
repo = "confuse";
rev = "v${version}";
hash = "sha256-RKiHYAFEvksRLsXC1VrlrKzkPl72dDI4O0Y+X3MrpSs=";
hash = "sha256-b3wwDa33fX0hkyact4v/ET0UN0PoOJ/PFaqyMRC7Q1Q=";
};
build-system = [
@@ -31,6 +32,7 @@ buildPythonPackage rec {
dependencies = [
pyyaml
typing-extensions
];
nativeCheckInputs = [
@@ -15,14 +15,14 @@
buildPythonPackage rec {
pname = "mpltoolbox";
version = "25.10.0";
version = "26.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "scipp";
repo = "mpltoolbox";
tag = version;
hash = "sha256-hHx2pstLnmvgDea2f+Wyhl+U8gijlhkARsqZ31pgjCU=";
hash = "sha256-vEnuTE+YZ8gK+desT4Bt5kqa2TSD0UkSSHKr7Kt8Xlo=";
};
build-system = [
@@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "yt-dlp-ejs";
version = "0.4.0";
version = "0.5.0";
pyproject = true;
src = fetchFromGitHub {
owner = "yt-dlp";
repo = "ejs";
tag = version;
hash = "sha256-/qq069SD7ESg+7pK4PC1EGLLI8zqjWUse7cArN4YuXE=";
hash = "sha256-mn0JpJQNCzDwNr0L1tit2B1Iwz2x3KNHi8Um3khfrHs=";
};
pnpmDeps = fetchPnpmDeps {