Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2026-04-02 12:19:32 +00:00
committed by GitHub
62 changed files with 411 additions and 576 deletions
+6
View File
@@ -19070,6 +19070,12 @@
github = "Nemin32";
githubId = 2953293;
};
nemith = {
email = "nix@brbe.me";
github = "nemith";
githubId = 349360;
name = "Brandon Bennett";
};
neosimsim = {
email = "me@abn.sh";
github = "neosimsim";
@@ -164,7 +164,7 @@ The pre-existing `services.ankisyncd` has been marked deprecated and will be dro
- [prometheus-nats-exporter](https://github.com/nats-io/prometheus-nats-exporter), a Prometheus exporter for NATS. Available as [services.prometheus.exporters.nats](#opt-services.prometheus.exporters.nats.enable).
- [pyLoad](https://pyload.net/), a FOSS download manager written in Python. Available as [services.pyload](#opt-services.pyload.enable).
- [pyLoad](https://pyload.net/), a FOSS download manager written in Python. Available as `services.pyload`.
- [Python Matter Server](https://github.com/home-assistant-libs/python-matter-server), a
Matter Controller Server exposing websocket connections for use with other services, notably Home Assistant.
@@ -129,6 +129,8 @@
- `services.statsd` has been removed because the packages it relies on do not exist anymore in nixpkgs.
- `services.pyload` has been removed because the package it relies on does not exist anymore in nixpkgs due to vulnerabilities and being unmaintained.
- `services.tandoor-recipes` now uses a sub-directory for media files by default starting with `26.05`. Existing setups should move media files out of the data directory and adjust `services.tandoor-recipes.extraConfig.MEDIA_ROOT` accordingly. See [Migrating media files for pre 26.05 installations](#module-services-tandoor-recipes-migrating-media).
- `rustic` was upgraded to `0.11.x`, which contains breaking [changes to command-line parameters and configuration file](https://rustic.cli.rs/docs/breaking_changes.html#0110).
-1
View File
@@ -1347,7 +1347,6 @@
./services/networking/pptpd.nix
./services/networking/privoxy.nix
./services/networking/prosody.nix
./services/networking/pyload.nix
./services/networking/quassel.nix
./services/networking/quicktun.nix
./services/networking/r53-ddns.nix
+3
View File
@@ -486,6 +486,9 @@ in
(mkRemovedOptionModule [ "programs" "spacefm" ] ''
spacefm has been removed since it was unmaintained upstream.
'')
(mkRemovedOptionModule [ "services" "pyload" ] ''
services.pyload has been removed since the pyload-ng package had vulnerabilities and was unmaintained in nixpkgs.
'')
# Do NOT add any option renames here, see top of the file
];
}
@@ -1,176 +0,0 @@
{
config,
lib,
pkgs,
utils,
...
}:
let
cfg = config.services.pyload;
stateDir = "/var/lib/pyload";
in
{
meta.maintainers = with lib.maintainers; [ ambroisie ];
options = with lib; {
services.pyload = {
enable = mkEnableOption "pyLoad download manager";
package = mkPackageOption pkgs "pyLoad" { default = [ "pyload-ng" ]; };
listenAddress = mkOption {
type = types.str;
default = "localhost";
example = "0.0.0.0";
description = "Address to listen on for the web UI.";
};
port = mkOption {
type = types.port;
default = 8000;
example = 9876;
description = "Port to listen on for the web UI.";
};
downloadDirectory = mkOption {
type = types.path;
default = "${stateDir}/downloads";
example = "/mnt/downloads";
description = "Directory to store downloads.";
};
user = mkOption {
type = types.str;
default = "pyload";
description = "User under which pyLoad runs, and which owns the download directory.";
};
group = mkOption {
type = types.str;
default = "pyload";
description = "Group under which pyLoad runs, and which owns the download directory.";
};
credentialsFile = mkOption {
type = with types; nullOr path;
default = null;
example = "/run/secrets/pyload-credentials.env";
description = ''
File containing {env}`PYLOAD_DEFAULT_USERNAME` and
{env}`PYLOAD_DEFAULT_PASSWORD` in the format of an `EnvironmentFile=`,
as described by {manpage}`systemd.exec(5)`.
If not given, they default to the username/password combo of
pyload/pyload.
'';
};
};
};
config = lib.mkIf cfg.enable {
systemd.tmpfiles.settings.pyload = {
${cfg.downloadDirectory}.d = { inherit (cfg) user group; };
};
systemd.services.pyload = {
description = "pyLoad download manager";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
# NOTE: unlike what the documentation says, it looks like `HOME` is not
# defined with this service definition...
# Since pyload tries to do the equivalent of `cd ~`, it needs to be able
# to resolve $HOME, which fails when `RootDirectory` is set.
# FIXME: check if `SetLoginEnvironment` fixes this issue in version 255
environment = {
HOME = stateDir;
PYLOAD__WEBUI__HOST = cfg.listenAddress;
PYLOAD__WEBUI__PORT = toString cfg.port;
};
serviceConfig = {
ExecStart = utils.escapeSystemdExecArgs [
(lib.getExe cfg.package)
"--userdir"
"${stateDir}/config"
"--storagedir"
cfg.downloadDirectory
];
User = cfg.user;
Group = cfg.group;
EnvironmentFile = lib.optional (cfg.credentialsFile != null) cfg.credentialsFile;
StateDirectory = "pyload";
WorkingDirectory = stateDir;
RuntimeDirectory = "pyload";
RuntimeDirectoryMode = "0700";
RootDirectory = "/run/pyload";
BindReadOnlyPaths = [
builtins.storeDir # Needed to run the python interpreter
];
BindPaths = [
cfg.downloadDirectory
];
# Hardening options
LockPersonality = true;
NoNewPrivileges = true;
PrivateDevices = true;
PrivateMounts = true;
PrivateTmp = true;
PrivateUsers = true;
ProcSubset = "pid";
ProtectClock = true;
ProtectControlGroups = true;
ProtectHome = true;
ProtectHostname = true;
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectProc = "invisible";
ProtectSystem = "strict";
RemoveIPC = true;
RestrictAddressFamilies = "AF_INET AF_INET6 AF_UNIX";
RestrictNamespaces = true;
RestrictRealtime = true;
RestrictSUIDSGID = true;
SystemCallArchitectures = "native";
SystemCallFilter = [
"@system-service"
"~@resources"
"~@privileged"
];
UMask = "0002";
CapabilityBoundingSet = [
"~CAP_BLOCK_SUSPEND"
"~CAP_BPF"
"~CAP_CHOWN"
"~CAP_IPC_LOCK"
"~CAP_KILL"
"~CAP_LEASE"
"~CAP_LINUX_IMMUTABLE"
"~CAP_NET_ADMIN"
"~CAP_SYS_ADMIN"
"~CAP_SYS_BOOT"
"~CAP_SYS_CHROOT"
"~CAP_SYS_NICE"
"~CAP_SYS_PACCT"
"~CAP_SYS_PTRACE"
"~CAP_SYS_RESOURCE"
"~CAP_SYS_TTY_CONFIG"
];
};
};
users.users.pyload = lib.mkIf (cfg.user == "pyload") {
isSystemUser = true;
group = cfg.group;
home = stateDir;
};
users.groups.pyload = lib.mkIf (cfg.group == "pyload") { };
};
}
-1
View File
@@ -1348,7 +1348,6 @@ in
pulseaudio = discoverTests (import ./pulseaudio.nix);
pulseaudio-tcp = runTest ./pulseaudio-tcp.nix;
pykms = runTest ./pykms.nix;
pyload = runTest ./pyload.nix;
qbittorrent = runTest ./qbittorrent.nix;
qboot = handleTestOn [ "x86_64-linux" "i686-linux" ] ./qboot.nix { };
qemu-vm-credentials-fwcfg = runTest {
-36
View File
@@ -1,36 +0,0 @@
{ lib, ... }:
{
name = "pyload";
meta.maintainers = with lib.maintainers; [ ambroisie ];
nodes = {
machine =
{ ... }:
{
services.pyload = {
enable = true;
listenAddress = "0.0.0.0";
port = 9876;
};
networking.firewall.allowedTCPPorts = [ 9876 ];
};
client = { };
};
testScript = ''
start_all()
machine.wait_for_unit("pyload.service")
with subtest("Web interface accessible locally"):
machine.wait_until_succeeds("curl -fs localhost:9876")
client.wait_for_unit("network.target")
with subtest("Web interface accessible from a different machine"):
client.wait_until_succeeds("curl -fs machine:9876")
'';
}
@@ -15,20 +15,20 @@ let
# update-script-start: urls
urls = {
x86_64-linux = {
url = "https://download.jetbrains.com/idea/ideaIU-2025.3.4.tar.gz";
hash = "sha256-uG3a46P9bCr7rKFgo7fVT0tPptE2GsJha9t6ZBZjLqE=";
url = "https://download.jetbrains.com/idea/ideaIU-2026.1.tar.gz";
hash = "sha256-9X09uplwx3TPN3WDYprqVAQY5nfsY2VXDnbeqcsvP5s=";
};
aarch64-linux = {
url = "https://download.jetbrains.com/idea/ideaIU-2025.3.4-aarch64.tar.gz";
hash = "sha256-d72Gs32hU20h66HsvmL10uI9+vliAbJOEVqxi5hzepI=";
url = "https://download.jetbrains.com/idea/ideaIU-2026.1-aarch64.tar.gz";
hash = "sha256-wjX2ZMNcIEIsOrKMhQuG6kq3oF2d+cAnWBo6jJi+QBs=";
};
x86_64-darwin = {
url = "https://download.jetbrains.com/idea/ideaIU-2025.3.4.dmg";
hash = "sha256-cYDCzPYh1/S77SCx9xctQfBQYSv2aS0o7VOeu+7limQ=";
url = "https://download.jetbrains.com/idea/ideaIU-2026.1.dmg";
hash = "sha256-dN5eiknRaqGJIRWmdQbfO5MriAbGa6SU7Vc6cpAcGJk=";
};
aarch64-darwin = {
url = "https://download.jetbrains.com/idea/ideaIU-2025.3.4-aarch64.dmg";
hash = "sha256-POxaLX5XfjIIEGAe7Qv2mpYo8/G4KjPkC/ZHIjG/xrg=";
url = "https://download.jetbrains.com/idea/ideaIU-2026.1-aarch64.dmg";
hash = "sha256-kPKuyj/QFzECs9JzSthjYCuxcUbDF/4tiLBhj9R+pgA=";
};
};
# update-script-end: urls
@@ -43,8 +43,8 @@ mkJetBrainsProduct {
productShort = "IDEA";
# update-script-start: version
version = "2025.3.4";
buildNumber = "253.32098.37";
version = "2026.1";
buildNumber = "261.22158.277";
# update-script-end: version
src = fetchurl (urls.${system} or (throw "Unsupported system: ${system}"));
@@ -18,20 +18,20 @@ let
# update-script-start: urls
urls = {
x86_64-linux = {
url = "https://download.jetbrains.com/rustrover/RustRover-2025.3.4.tar.gz";
hash = "sha256-FRyVijhsm2JOwPT9u4DNOPZMayIn0EjQdy1TWRdmYLs=";
url = "https://download.jetbrains.com/rustrover/RustRover-2025.3.5.tar.gz";
hash = "sha256-2yEZOWUoD6ELs0WSvdMSZSVAmA/LsoKyfJiR20I86aQ=";
};
aarch64-linux = {
url = "https://download.jetbrains.com/rustrover/RustRover-2025.3.4-aarch64.tar.gz";
hash = "sha256-MNmyf6wTy1jsos3KIBuu7IZqe2IFJEL5FxqWuh5Whnk=";
url = "https://download.jetbrains.com/rustrover/RustRover-2025.3.5-aarch64.tar.gz";
hash = "sha256-tl8lxMH6XH+2VGqv6vxGEjjALevaEl7VAzs9LAjwtPQ=";
};
x86_64-darwin = {
url = "https://download.jetbrains.com/rustrover/RustRover-2025.3.4.dmg";
hash = "sha256-U2pGxWaKp68U2gPfZCqbpjks7iM5PT1lGMxHzBFifMA=";
url = "https://download.jetbrains.com/rustrover/RustRover-2025.3.5.dmg";
hash = "sha256-8ONWTld29DJjaDH4ubsBRmYYosQ6wTAQInuko76Ucoc=";
};
aarch64-darwin = {
url = "https://download.jetbrains.com/rustrover/RustRover-2025.3.4-aarch64.dmg";
hash = "sha256-fohFjjgnM5nH6zxwyM4AeKLtGeNLiUY54TZJbaMmNi4=";
url = "https://download.jetbrains.com/rustrover/RustRover-2025.3.5-aarch64.dmg";
hash = "sha256-N3D6YE6vV8x+slvphyqzDu2mTp8y2uAeSZTZg0pMABQ=";
};
};
# update-script-end: urls
@@ -45,8 +45,8 @@ in
product = "RustRover";
# update-script-start: version
version = "2025.3.4";
buildNumber = "253.31033.132";
version = "2025.3.5";
buildNumber = "253.31033.204";
# update-script-end: version
src = fetchurl (urls.${system} or (throw "Unsupported system: ${system}"));
@@ -11,18 +11,18 @@
vimUtils,
}:
let
version = "0.5.1-nightly.538c593-unstable-2026-04-01";
version = "0.5.1";
src = fetchFromGitHub {
owner = "dmtrKovalenko";
repo = "fff.nvim";
rev = "538c593b7ba173b08beec15e6bce66fccb8f6ab0";
hash = "sha256-e+x1ELa2m60j2cQ9g99XSrAMMvmF3WtlMF5HWYrrJps=";
tag = "v${version}";
hash = "sha256-pFOmYa6JgGsLefkqgBtS1IvQJ+dVnkyLTXObxrfhZno=";
};
fff-nvim-lib = rustPlatform.buildRustPackage {
pname = "fff-nvim-lib";
inherit version src;
cargoHash = "sha256-K6xAzx6YqzrDUalZ1rE4eOBRc1xvXVhac14krskl87M=";
cargoHash = "sha256-ylQtZa3ZRs38mhge5tLLCRpnUdHYSjuZOwU+/6TO8Cw=";
nativeBuildInputs = [
pkg-config
@@ -67,7 +67,6 @@ vimUtils.buildVimPlugin {
passthru = {
updateScript = nix-update-script {
extraArgs = [ "--version=branch" ];
attrPath = "vimPlugins.fff-nvim.fff-nvim-lib";
};
@@ -8,8 +8,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "claude-code";
publisher = "anthropic";
version = "2.1.89";
hash = "sha256-9GASgI7ifhxAj4L6Xf1MGyGsiFcC5NZb2ICCjLUf5Qw=";
version = "2.1.90";
hash = "sha256-8xHAEqxxCA0bw/4eNFL2PutMquD2H7FO1o2yycAJ4ME=";
};
postInstall = ''
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "mgba";
version = "0-unstable-2025-10-13";
version = "0-unstable-2026-03-30";
src = fetchFromGitHub {
owner = "libretro";
repo = "mgba";
rev = "c758314a639aa0066e7b65a8341448181b73c804";
hash = "sha256-ev0vzLqZzOr5RW/jf07vXtBmYkcB2m+afADHFBH5zbQ=";
rev = "6ab29fed1b5139f19ac98c523fd4a6a7f0b30e38";
hash = "sha256-6cCd2tuj2kXTL1w0DUPodaLU0ivNjPyKGytgxrjlwb0=";
};
meta = {
@@ -5,13 +5,13 @@
}:
mkLibretroCore rec {
core = "mrboom";
version = "0-unstable-2024-10-21";
version = "0-unstable-2026-03-31";
src = fetchFromGitHub {
owner = "Javanaise";
repo = "mrboom-libretro";
rev = "d011acfbdb2d93ed38bd684ccfa0db79bda1c932";
hash = "sha256-DjTSrp38MwdEtUZPTgZYEZHWgv48IN1oHkKsVqmOwII=";
rev = "96f89550a3518dffe2e7561c971119a39d90de97";
hash = "sha256-EcRXh39mldlI6fcrV1gaL/r1SGvrFe7jo35iQ47nTmo=";
fetchSubmodules = true;
};
+3 -3
View File
@@ -10,16 +10,16 @@
buildGoModule (finalAttrs: {
pname = "buf";
version = "1.66.1";
version = "1.67.0";
src = fetchFromGitHub {
owner = "bufbuild";
repo = "buf";
tag = "v${finalAttrs.version}";
hash = "sha256-bBQSQ/ZLLSEYVmfpgh5OKapSHdBOFjrjAaMT/0js1Ts=";
hash = "sha256-lipptVcjSRYh1EP1hOQwnJrnZScrua/ViXw8eBAvzio=";
};
vendorHash = "sha256-JFuH/NXWhw/Myzk2ct5xzKGuMM4ma0og2YT7ZIq3kKg=";
vendorHash = "sha256-stzZSzM8volS26qLsDll1errJe+cwpmIHnzlMEJCv8I=";
patches = [
# Skip a test that requires networking to be available to work.
+18 -18
View File
@@ -1,46 +1,46 @@
{
"version": "2.1.89",
"buildDate": "2026-03-31T23:01:10Z",
"version": "2.1.90",
"buildDate": "2026-04-01T22:59:02Z",
"platforms": {
"darwin-arm64": {
"binary": "claude",
"checksum": "f903a5e53f845b1ac5566296b713193827665f28da16300fdca7539cb0669a7f",
"size": 196886384
"checksum": "73c1a7570501ca743cd2d7467cb4699103534a2138052a4e6cab53c0e09d79c8",
"size": 197828752
},
"darwin-x64": {
"binary": "claude",
"checksum": "1322c5eecec8047e9cd7114f7d547ef6a9596563d6bbc7e594167d0f8bc8b406",
"size": 198397008
"checksum": "9934675063ea4360665b7a43f649c92e6ba5cf93257324af7af1a6b490746395",
"size": 199326928
},
"linux-arm64": {
"binary": "claude",
"checksum": "428301f56cf0139e6fbfa55e13be3f0f032ac1eb5ddb8849fbc703ee220c1cca",
"size": 228657728
"checksum": "15d5089ee7d9981faacf5463eabd427a012814d9fc02113883bb23a4f387ad4a",
"size": 230165056
},
"linux-x64": {
"binary": "claude",
"checksum": "903cb3c96b314d86856632c8702f5cdf971b804d0b19ef87446573bcd1d7df1c",
"size": 228473472
"checksum": "6074e3959989b2958a9abec60adf7b441a0f6f1c7e66401abff0fe54dad04fd6",
"size": 229902976
},
"linux-arm64-musl": {
"binary": "claude",
"checksum": "7cb5fd60f3d2366672857077f3bd0f93ab83dffebd8f93c70344afa58bdb91ec",
"size": 221776320
"checksum": "2508fa1c9c0575cf6fa26f2561ff7f0fd83be5fb4c6f9ec8281dfd5911d44371",
"size": 223218112
},
"linux-x64-musl": {
"binary": "claude",
"checksum": "60941916f0a5656a5952a0f2f54228f574f8756ea503119f858724ad43c9b28d",
"size": 223099328
"checksum": "854746d04db11f543ed8d3836b5316366d965e6b6cfa2ac6312e6f7a5c4b5cb1",
"size": 224201152
},
"win32-x64": {
"binary": "claude.exe",
"checksum": "2e312000b538f11d13f1dfc52d4131996895b9a07bd8897d8f9153635d4ea092",
"size": 238557856
"checksum": "f6be38fbdcadc373e93f751d1286845f58b032690e32be8f64799380a295a79f",
"size": 239622816
},
"win32-arm64": {
"binary": "claude.exe",
"checksum": "5f1d597c542aac3a11f557e12c92d0c49220ab77e741014b0599a572d81ca679",
"size": 235014304
"checksum": "019f7210055cd7a884d13c4e6a0b6caf1a82348ee42950b7b5247a4b0484709c",
"size": 236335776
}
}
}
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "@anthropic-ai/claude-code",
"version": "2.1.89",
"version": "2.1.90",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@anthropic-ai/claude-code",
"version": "2.1.89",
"version": "2.1.90",
"license": "SEE LICENSE IN README.md",
"bin": {
"claude": "cli.js"
+4 -3
View File
@@ -15,14 +15,14 @@
}:
buildNpmPackage (finalAttrs: {
pname = "claude-code";
version = "2.1.89";
version = "2.1.90";
src = fetchzip {
url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${finalAttrs.version}.tgz";
hash = "sha256-FoTm6KDr+8Dzhk4ibZUlU1QLPFdPm/OriUUWqAaFswg=";
hash = "sha256-4/hqWrY2fncQ8p0TxwBAI+mNH98ZDhjvFqB9us7GJK0=";
};
npmDepsHash = "sha256-NI4F5bq0lEuMjLUdkGrml2aOzGbGkdyUckgfeVFEe8o=";
npmDepsHash = "sha256-kWbbIAoNAQ/BtsICmsabkfnS/1Nta5MQ4iX9+oH7WRw=";
strictDeps = true;
@@ -84,5 +84,6 @@ buildNpmPackage (finalAttrs: {
xiaoxiangmoe
];
mainProgram = "claude";
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
};
})
+3 -3
View File
@@ -10,16 +10,16 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cook-cli";
version = "0.27.0";
version = "0.27.1";
src = fetchFromGitHub {
owner = "cooklang";
repo = "cookcli";
rev = "v${finalAttrs.version}";
hash = "sha256-lU+EgMPG7NfhI3DSfwwy39fz7lPmT3QsICZOHzUOYyU=";
hash = "sha256-18TyADsUpzuaEW3AzjhIhCW4xjSLj7sqqEPk+tdJxh8=";
};
cargoHash = "sha256-9oi0jNknMhXpyIbRurkEpn5R3SA4r12JskGEifDVvTA=";
cargoHash = "sha256-QSLj6/tu0a4Vb1Q4I/dUoMlZTB95jsEZjl1HbpchtDo=";
# Build without the self-updating feature
buildNoDefaultFeatures = true;
+3 -3
View File
@@ -16,18 +16,18 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "devcontainer";
version = "0.84.1";
version = "0.85.0";
src = fetchFromGitHub {
owner = "devcontainers";
repo = "cli";
tag = "v${finalAttrs.version}";
hash = "sha256-kQcAYachBjzSFK40L4RGDBB9xU0lUlsMHQWvAWgZ06w=";
hash = "sha256-NYRnc6yXMDspb9bXMlxDUqYaH6Dp/Kmo6VgAQ0kDh+c=";
};
yarnOfflineCache = fetchYarnDeps {
yarnLock = "${finalAttrs.src}/yarn.lock";
hash = "sha256-gPkGWRozLlNYV8WVaC8ZCIkJr09R6nGRKjCDKJWbgXY=";
hash = "sha256-py5ArB/mqWCu2bKWJB83kT+my6nn/FU9FPOSjbxwbL4=";
};
nativeBuildInputs = [
@@ -0,0 +1,25 @@
--- a/CONTRIB/picosat-965/makefile.in
+++ b/CONTRIB/picosat-965/makefile.in
@@ -49,8 +49,7 @@ config.h: makefile VERSION mkconfig.sh # and actually picosat.c
rm -f $@; ./mkconfig.sh > $@
libpicosat.a: picosat.o version.o
- ar rc $@ picosat.o version.o
- ranlib $@
+ $(AR) $@ picosat.o version.o
SONAME=-Xlinker -soname -Xlinker libpicosat.so
libpicosat.so: picosat.o version.o
--- a/Makefile.vars
+++ b/Makefile.vars
@@ -160,8 +160,8 @@ LD = $(CC) $(LDFLAGS)
# Generic
# AR = sleep 1;ar rcs
- AR = ar rcs
- CC = gcc
+# AR = ar rcs
+# CC = gcc
# Builds with link time optimization
#
+13 -3
View File
@@ -17,9 +17,11 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [ which ];
preConfigure = ''
sed -e 's/ *CC *= *gcc$//' -i Makefile.vars
'';
patches = [
./fix-cross-toolchains.patch
];
configurePlatforms = [ ];
configureFlags = [
"--exec-prefix=$(out)"
@@ -29,6 +31,14 @@ stdenv.mkDerivation (finalAttrs: {
"--enable-ho"
];
# need to directly insert into makeFlagsArray as the makefile expects the binary
# in the AR variable to already be passed the `rcs` flags, which requires us to
# specify them. As this requires spaces, we need makeFlagsArray, as makeFlags
# will just make the make script see the `rcs` as a target
preBuild = ''
makeFlagsArray+=(CC="${stdenv.cc.targetPrefix}cc" AR="${stdenv.cc.targetPrefix}ar rcs")
'';
meta = {
description = "Automated theorem prover for full first-order logic with equality";
homepage = "http://www.eprover.org/";
+2 -2
View File
@@ -33,14 +33,14 @@ let
in
python.pkgs.buildPythonApplication rec {
pname = "esphome";
version = "2026.3.1";
version = "2026.3.2";
pyproject = true;
src = fetchFromGitHub {
owner = "esphome";
repo = "esphome";
tag = version;
hash = "sha256-lAqoL0bd0ATLPkbehYLLC83ZIg0J3WtnsH+clD7HP/0=";
hash = "sha256-0v9K2zXIfp5Ka/DJarnVB4kmhgXh95Yvzm8Ts72eCZE=";
};
patches = [
+11 -4
View File
@@ -6,20 +6,22 @@
pkg-config,
openssl,
versionCheckHook,
writableTmpDirAsHomeHook,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "feedr";
version = "0.5.0";
version = "0.7.0";
src = fetchFromGitHub {
owner = "bahdotsh";
repo = "feedr";
tag = "v${finalAttrs.version}";
hash = "sha256-owdJDY61170g28Ujnwzt/8dZ+uyPHlM0iXRyfOL9gls=";
hash = "sha256-5s4QgkUX27WNrTyzyYDQjf4VjKD0Kdkicjf7hlO9OKE=";
};
cargoHash = "sha256-gl6kiDNvRzn5ZG6syuZ9Y8EgwcHpr+5lVEmn3mI5qSw=";
cargoHash = "sha256-3xSvqj2kW0lOFUzkAbBJThJx6u7f1tSk1qgFdm2tVfg=";
nativeBuildInputs = [
pkg-config
@@ -42,7 +44,12 @@ rustPlatform.buildRustPackage (finalAttrs: {
];
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
nativeInstallCheckInputs = [
versionCheckHook
writableTmpDirAsHomeHook
];
passthru.updateScript = nix-update-script { };
meta = {
changelog = "https://github.com/bahdotsh/feedr/releases/tag/${finalAttrs.src.tag}";
+5 -5
View File
@@ -65,12 +65,12 @@
let
sources = {
x86_64-linux = fetchurl {
url = "https://sf3-cn.feishucdn.com/obj/ee-appcenter/ea0aeecc/Feishu-linux_x64-7.58.14.deb";
sha256 = "sha256-Yg9QA/ugCPaY9yOHBOvmFuFQ8AzxvpP9+j9Gjtps900=";
url = "https://sf3-cn.feishucdn.com/obj/ee-appcenter/f63223d9/Feishu-linux_x64-7.62.9.deb";
sha256 = "sha256-96hOYAKsfKaZtvv+jnNCkFeeCVuwuQdwSHSPg5AGmIM=";
};
aarch64-linux = fetchurl {
url = "https://sf3-cn.feishucdn.com/obj/ee-appcenter/f8addda9/Feishu-linux_arm64-7.58.14.deb";
sha256 = "sha256-Mx09KaZ2eIuJbUxePwzZceVj7tdiq/vZN/dwFzc1uyg=";
url = "https://sf3-cn.feishucdn.com/obj/ee-appcenter/d95df105/Feishu-linux_arm64-7.62.9.deb";
sha256 = "sha256-j+fEtJd+jaHV3NB+MXg8anks6F3cd8V/Tz2PcHMQt2o=";
};
};
@@ -133,7 +133,7 @@ let
];
in
stdenv.mkDerivation {
version = "7.58.14";
version = "7.62.9";
pname = "feishu";
src =
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule (finalAttrs: {
pname = "gobgp";
version = "4.3.0";
version = "4.4.0";
src = fetchFromGitHub {
owner = "osrg";
repo = "gobgp";
rev = "v${finalAttrs.version}";
sha256 = "sha256-zUWesDBGRi7SQH0A9WXWvNQ73H1Za3uwexFN4RZ5Hl8=";
sha256 = "sha256-7Rk/Bciy4qYrLzpKGXSZbJPlOzLjfNKR+gbYIbRy7D4=";
};
vendorHash = "sha256-y8nhrKQnTXfnDDyr/xZd5b9ccXaM85rd8RKHtoDBuwI=";
vendorHash = "sha256-XZIcjBMNZbNDYmZLiH5s5kFoSi62n5JruqnsnlQFP4I=";
postConfigure = ''
export CGO_ENABLED=0
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule (finalAttrs: {
pname = "gobgpd";
version = "4.3.0";
version = "4.4.0";
src = fetchFromGitHub {
owner = "osrg";
repo = "gobgp";
tag = "v${finalAttrs.version}";
hash = "sha256-zUWesDBGRi7SQH0A9WXWvNQ73H1Za3uwexFN4RZ5Hl8=";
hash = "sha256-7Rk/Bciy4qYrLzpKGXSZbJPlOzLjfNKR+gbYIbRy7D4=";
};
vendorHash = "sha256-y8nhrKQnTXfnDDyr/xZd5b9ccXaM85rd8RKHtoDBuwI=";
vendorHash = "sha256-XZIcjBMNZbNDYmZLiH5s5kFoSi62n5JruqnsnlQFP4I=";
postConfigure = ''
export CGO_ENABLED=0
+3 -3
View File
@@ -24,7 +24,7 @@ let
in
buildGo126Module (finalAttrs: {
pname = "gotenberg";
version = "8.27.0";
version = "8.29.1";
outputs = [
"out"
@@ -35,10 +35,10 @@ buildGo126Module (finalAttrs: {
owner = "gotenberg";
repo = "gotenberg";
tag = "v${finalAttrs.version}";
hash = "sha256-TLfIsvxKrlqNTJtdnASlGCA1XrOx7huMJ11aohVyuKI=";
hash = "sha256-Sgpx4ewBe88RuXRWi7JEgCAHjtpt3+8uo1ZFcXfPYs4=";
};
vendorHash = "sha256-AzaN0xpQWw+Nfw22G7xgww8UsgpTIHpTPK3Bicf6gMY=";
vendorHash = "sha256-XhKf0Kucp6bGjw3UXXV86gsyaDyk5nS2acc4PgVs9yw=";
postPatch = ''
find ./pkg -name '*_test.go' -exec sed -i -e 's#/tests#${finalAttrs.src}#g' {} \;
+2 -2
View File
@@ -29,14 +29,14 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "gpu-viewer";
version = "3.30";
version = "3.32";
pyproject = false;
src = fetchFromGitHub {
owner = "arunsivaramanneo";
repo = "gpu-viewer";
tag = "v${finalAttrs.version}";
hash = "sha256-DlNmReKWt1rCZUp6tL5bWBYZuRrh17tdtpu4cj7mXWY=";
hash = "sha256-gtYdWNceeB4gKS7s14rM/yt0xeaFA+DVrHR/DDkJouU=";
};
nativeBuildInputs = [
@@ -0,0 +1,30 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage (finalAttrs: {
pname = "influxdb-mcp-server";
version = "0.2.0";
src = fetchFromGitHub {
owner = "idoru";
repo = "influxdb-mcp-server";
tag = "v${finalAttrs.version}";
hash = "sha256-9JDEAKCgEyhnWxYLomnYU/mazBnDsbb2va9x+cIsgOQ=";
};
npmDepsHash = "sha256-83jchkTARy4DxuQmBd5VorWrrQrQccq9lIggAQSk2yE=";
dontNpmBuild = true;
meta = {
description = "An MCP Server for querying InfluxDB";
homepage = "https://github.com/idoru/influxdb-mcp-server";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ drupol ];
mainProgram = "influxdb-mcp-server";
platforms = lib.platforms.all;
};
})
+3 -3
View File
@@ -14,16 +14,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "jujutsu";
version = "0.39.0";
version = "0.40.0";
src = fetchFromGitHub {
owner = "jj-vcs";
repo = "jj";
tag = "v${finalAttrs.version}";
hash = "sha256-rcmiBDDQaJYpESJt/gWkcitWtcvQosDY9pUbX5YpFjA=";
hash = "sha256-PBrsNHywOUEiFyyHW6J4WHDmLwVWv2JkbHCNvbE0tHE=";
};
cargoHash = "sha256-WqM9NJQIrbu+ynhh1pq9nXjoL30A56vIE2lHi7ZUQoc=";
cargoHash = "sha256-jOklgYw6mYCs/FnTczmkT7MlepNtnHXfFB4lghpLOVE=";
nativeBuildInputs = [
installShellFiles
+48 -4
View File
@@ -1,7 +1,7 @@
{
lib,
stdenv,
python3Packages,
python3,
fetchFromGitHub,
# tests
@@ -10,16 +10,32 @@
writableTmpDirAsHomeHook,
}:
let
python = python3.override {
packageOverrides = _final: prev: {
# Many tests fail with the current version of opentelemetry we have in nixpkgs
# vibe.acp.exceptions.InternalError: module '...' has no attribute 'GEN_AI_PROVIDER_NAME'
opentelemetry-api = prev.opentelemetry-api.overridePythonAttrs (old: rec {
version = "1.40.0";
src = old.src.override {
tag = "v${version}";
hash = "sha256-1KVy9s+zjlB4w7E45PMCWRxPus24bgBmmM3k2R9d+Jg=";
};
});
};
};
python3Packages = python.pkgs;
in
python3Packages.buildPythonApplication (finalAttrs: {
pname = "mistral-vibe";
version = "2.5.0";
version = "2.7.2";
pyproject = true;
src = fetchFromGitHub {
owner = "mistralai";
repo = "mistral-vibe";
tag = "v${finalAttrs.version}";
hash = "sha256-5su0Qfg3M+Yq4pkptDOJhvM8VFGCaOLeeDijeFeywP4=";
hash = "sha256-xQg7skgf0uFD8dLxESbbO1C341+I6BJXK716pX5xbNA=";
};
build-system = with python3Packages; [
@@ -33,6 +49,9 @@ python3Packages.buildPythonApplication (finalAttrs: {
"cryptography"
"gitpython"
"mistralai"
"opentelemetry-exporter-otlp-proto-http"
"opentelemetry-sdk"
"opentelemetry-semantic-conventions"
"pydantic-settings"
"zstandard"
];
@@ -46,9 +65,13 @@ python3Packages.buildPythonApplication (finalAttrs: {
google-auth
httpx
keyring
mcp
markdownify
mcp
mistralai
opentelemetry-api
opentelemetry-exporter-otlp-proto-http
opentelemetry-sdk
opentelemetry-semantic-conventions
packaging
pexpect
pydantic
@@ -89,21 +112,41 @@ python3Packages.buildPythonApplication (finalAttrs: {
"test_audio_stream_yields_chunks"
"test_auto_stops_after_max_duration"
"test_buffer_mode_audio_stream_yields_nothing"
"test_callback_feeds_audio_data"
"test_callback_pads_silence_at_end"
"test_can_play_multiple_times"
"test_can_record_multiple_times"
"test_cancel_discards_audio"
"test_creates_stream_with_correct_params"
"test_finished_callback_resets_state"
"test_manual_stop_prevents_on_expire"
"test_on_expire_receives_audio"
"test_on_finished_called_after_natural_completion"
"test_peak_clamps_to_one"
"test_peak_updates_from_callback"
"test_play_sets_playing_state"
"test_play_when_already_playing_raises"
"test_silent_audio_has_zero_peak"
"test_start_sets_recording_state"
"test_start_when_already_recording_raises"
"test_stop_closes_stream"
"test_stop_from_event_loop_does_not_block"
"test_stop_returns_empty_data_in_stream_mode"
"test_stop_returns_positive_duration"
"test_stop_returns_valid_wav"
"test_stop_triggers_on_finished_via_callback"
"test_stop_without_drain_returns_promptly"
"test_stream_audio_does_not_leak_into_buffer_recording"
"test_unsupported_format_raises"
# AssertionError: assert True is False
# + where True = VibeApp(title='VibeApp', ...)._rewind_mode
"test_rewind_confirm_edits_message_and_prefills_input"
"test_rewind_option_selection_with_number_keys"
# AssertionError: assert 3 == 1
# + where 3 = len([UserMessage(classes='user-message'), UserMessage(classes='...
"test_rewind_removes_messages_after_selected"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# AssertionError
@@ -125,6 +168,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
# ACP tests require network access
"tests/acp/test_acp.py"
"tests/acp/test_acp_entrypoint_smoke.py"
];
meta = {
+3 -3
View File
@@ -16,13 +16,13 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "opencode";
version = "1.3.10";
version = "1.3.13";
src = fetchFromGitHub {
owner = "anomalyco";
repo = "opencode";
tag = "v${finalAttrs.version}";
hash = "sha256-/pVesY9fyfeAheT1gMvoVCaO9GlRHQB0H4HIB56pwnE=";
hash = "sha256-P6Md0WzHK2/oAZ6VbpYnabVJyVcqwuYizoOqbxaf+lU=";
};
node_modules = stdenvNoCC.mkDerivation {
@@ -72,7 +72,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
# NOTE: Required else we get errors that our fixed-output derivation references store paths
dontFixup = true;
outputHash = "sha256-Q7eyK6GNYE5dBYooDHbIQSkfe4fs6L7tzCfbsIlYY7o=";
outputHash = "sha256-fWc9xVn6HbNxnJ9S8Q+hdlYQYkdGk+4RWWbYaB+L09Q=";
outputHashAlgo = "sha256";
outputHashMode = "recursive";
};
+3 -3
View File
@@ -6,16 +6,16 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "pay-respects";
version = "0.7.12";
version = "0.7.13";
src = fetchFromCodeberg {
owner = "iff";
repo = "pay-respects";
tag = "v${finalAttrs.version}";
hash = "sha256-bx5PSKWRLzU8OLOtrspI1GT+DMmzqAk+NDZgvcw/OEU=";
hash = "sha256-jKK8wc+M5U8L7D4z8aQT/VJdZE1q2Z2BTRrtw+UWoeo=";
};
cargoHash = "sha256-dCZGPIipSotcA7DT3VvTCYq8+DxWHi5cp/fwh/44Jwc=";
cargoHash = "sha256-w9BJ0S6q13udi2JWHtbCCXDjgUYo59/FRjxQGuM5r8c=";
env = {
_DEF_PR_AI_API_KEY = "";
+3 -3
View File
@@ -8,18 +8,18 @@
buildGoModule (finalAttrs: {
pname = "pv-migrate";
version = "3.0.0";
version = "3.2.0";
src = fetchFromGitHub {
owner = "utkuozdemir";
repo = "pv-migrate";
tag = "v${finalAttrs.version}";
sha256 = "sha256-6y4PC9dFTy/Pz3hu19XH7e2aIWGlGseQVL0XKkCIoKQ=";
sha256 = "sha256-zWE0jpBYauI8Xm4HcArV3I0m3LMLEz8CoThjNrjxddE=";
};
subPackages = [ "cmd/pv-migrate" ];
vendorHash = "sha256-IT44RdqcXq4sJbQtIGUaQUcEzJBmqXMjC5UuFxUkuM4=";
vendorHash = "sha256-0KO5kIAP53VGau2M78PIMn6KCGAkymV7Y0msnlDjvjg=";
ldflags = [
"-s"
@@ -1,15 +0,0 @@
diff --git a/src/pyload/core/__init__.py b/src/pyload/core/__init__.py
index 4324fc700..f7fcd66ec 100644
--- a/src/pyload/core/__init__.py
+++ b/src/pyload/core/__init__.py
@@ -46,8 +46,8 @@ class Exit(Exception):
# improve external scripts
class Core:
LOCALE_DOMAIN = APPID
- DEFAULT_USERNAME = APPID
- DEFAULT_PASSWORD = APPID
+ DEFAULT_USERNAME = os.getenv("PYLOAD_DEFAULT_USERNAME", APPID)
+ DEFAULT_PASSWORD = os.getenv("PYLOAD_DEFAULT_PASSWORD", APPID)
DEFAULT_DATADIR = os.path.join(
os.getenv("APPDATA") or USERHOMEDIR, "pyLoad" if os.name == "nt" else ".pyload"
)
@@ -1,18 +0,0 @@
diff --git a/src/pyload/core/__init__.py b/src/pyload/core/__init__.py
index 4324fc700..5d915a85e 100644
--- a/src/pyload/core/__init__.py
+++ b/src/pyload/core/__init__.py
@@ -128,6 +128,13 @@ class Core:
else:
self._debug = max(0, int(debug))
+ # Allow setting any option declaratively, for the NixOS module
+ for env, value in os.environ.items():
+ if not env.startswith("PYLOAD__"):
+ continue
+ section, opt = env.removeprefix("PYLOAD__").lower().split("__")
+ self.config.set(section, opt, value)
+
# If no argument set, read storage dir from config file,
# otherwise save setting to config dir
if storagedir is None:
-72
View File
@@ -1,72 +0,0 @@
{
lib,
fetchPypi,
nixosTests,
python3,
}:
python3.pkgs.buildPythonApplication (finalAttrs: {
version = "0.5.0b3.dev88";
pname = "pyload-ng";
pyproject = true;
src = fetchPypi {
inherit (finalAttrs) version;
# The uploaded tarball uses an underscore in recent releases
pname = "pyload_ng";
hash = "sha256-6YVYXiYxUkpQmDG/aGEgBlJy2oUGCNDkIsUt0TRcaro=";
};
patches = [
# Makes it possible to change the default username/password in the module
./declarative-default-user.patch
# Makes it possible to change the configuration through environment variables
# in the NixOS module (aimed mostly at listen address/port)
./declarative-env-config.patch
];
postPatch = ''
# relax version bounds
sed -i -E 's/([A-z0-9]*)~=[^;]*(.*)/\1\2/' setup.cfg
'';
dependencies = with python3.pkgs; [
bitmath
certifi
cheroot
cryptography
dukpy
filetype
flask
flask-babel
flask-caching
flask-compress
flask-session
flask-themes2
pycurl
semver
setuptools
];
optional-dependencies = {
plugins = with python3.pkgs; [
beautifulsoup4 # for some plugins
colorlog # colorful console logging
pillow # for some CAPTCHA plugin
send2trash # send some files to trash instead of deleting them
slixmpp # XMPP plugin
];
};
passthru.tests = {
inherit (nixosTests) pyload;
};
meta = {
description = "Free and open-source download manager with support for 1-click-hosting sites";
homepage = "https://github.com/pyload/pyload";
license = lib.licenses.agpl3Plus;
maintainers = with lib.maintainers; [ ruby0b ];
mainProgram = "pyload";
};
})
+3
View File
@@ -11,6 +11,7 @@
wasm-bindgen-cli_0_2_108,
binaryen,
lld,
rust-jemalloc-sys-unprefixed,
}:
let
version = "0.34.3";
@@ -98,6 +99,8 @@ rustPlatform.buildRustPackage (finalAttrs: {
perl
];
buildInputs = [ rust-jemalloc-sys-unprefixed ];
preBuild = ''
cp -r ${frontend}/lib/node_modules/frontend/dist/templates/html/ templates/html
cp -r ${frontend}/lib/node_modules/frontend/dist/static/ static
+29
View File
@@ -0,0 +1,29 @@
{
lib,
fetchCrate,
rustPlatform,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "starship-jj";
version = "0.7.0";
src = fetchCrate {
inherit (finalAttrs) pname version;
hash = "sha256-oisz3V3UDHvmvbA7+t5j7waN9NykMUWGOpEB5EkmYew=";
};
cargoHash = "sha256-NNeovW27YSK/fO2DjAsJqBvebd43usCw7ni47cgTth8=";
passthru.updateScript = nix-update-script { };
meta = {
description = "Starship plugin for jj";
homepage = "https://gitlab.com/lanastara_foss/starship-jj";
changelog = "https://gitlab.com/lanastara_foss/starship-jj/-/blob/${finalAttrs.version}/CHANGELOG.md";
maintainers = with lib.maintainers; [
nemith
];
license = lib.licenses.mit;
mainProgram = "starship-jj";
};
})
+3 -3
View File
@@ -7,16 +7,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "stoolap";
version = "0.3.7";
version = "0.4.0";
src = fetchFromGitHub {
owner = "stoolap";
repo = "stoolap";
tag = "v${finalAttrs.version}";
hash = "sha256-NfGs9TDyX+8hC2bCGJL0AWFd3C1joowT061vea5hxx0=";
hash = "sha256-TE16vsLzhwmqZRZrmWx8ikv2HJbB4sAXaKSPPNsMeLw=";
};
cargoHash = "sha256-tzgxffwXd331Sz1xftXNBowqud29pKvbw+Epv01xOiQ=";
cargoHash = "sha256-ZWu1uu607n3wl3k7xcpS7cHbX7mifAX9gvo8KQmCB/E=";
# On aarch64-darwin, dev target needs to set panic strategy to abort
# However this must be set while the flag `-Zpanic_abort_tests` is also set,
+3 -3
View File
@@ -12,20 +12,20 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "taze";
version = "19.10.0";
version = "19.11.0";
src = fetchFromGitHub {
owner = "antfu-collective";
repo = "taze";
tag = "v${finalAttrs.version}";
hash = "sha256-jkVbPEHSO2ZZwxfxzq6GUsAi0O/BJYv2YLghpiLM66g=";
hash = "sha256-lWCfaIZF1g8tO+QKd5igxCI44OEiLk1cNS4MMtqGL4M=";
};
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
pnpm = pnpm_9;
fetcherVersion = 1;
hash = "sha256-+kORi1CwLD567b2L0PRs+t16Qi7HegpYoc8W127rp9k=";
hash = "sha256-cLh9iiDLW3CDg8R+I3TSEMdnyv1KaHelubvF31oGrWk=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -10,16 +10,16 @@
buildGoModule (finalAttrs: {
pname = "temporal-cli";
version = "1.6.1";
version = "1.6.2";
src = fetchFromGitHub {
owner = "temporalio";
repo = "cli";
tag = "v${finalAttrs.version}";
hash = "sha256-IAhIp4j9jgQFj7bNrzyG6gLHvXjfZVR5SBhiuvpePB0=";
hash = "sha256-tTPm/2ftCz0G6ytkzsyzQiJDWp48f9nzzY/J2Z1TZjo=";
};
vendorHash = "sha256-9qNI/S3pdmiFNQeRNHze4NlrbKk/2b6cynJ7Gyv+qLs=";
vendorHash = "sha256-/3c1J0i0hr309G7iEmtnc24reqH17Q9E5dxOPufmYQc=";
overrideModAttrs = old: {
# https://gitlab.com/cznic/libc/-/merge_requests/10
+3 -3
View File
@@ -10,16 +10,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "temporal_capi";
version = "0.2.0";
version = "0.2.2";
src = fetchFromGitHub {
owner = "boa-dev";
repo = "temporal";
tag = "v${finalAttrs.version}";
hash = "sha256-RPbyl45Rl0a0c954m6c6449HQFPtbyAsDC19W8rRVnc=";
hash = "sha256-aAe8gaMAkUrVcEbe8PJfo1Mn8wEwriH4PPjbgNdcUkY=";
};
cargoHash = "sha256-i5vsQ12J1T9Pe2x7WCdrOLzsSKEDtSfDn/pqEDOd6aE=";
cargoHash = "sha256-25NBtoWc/YrBjvRT/AqMYwFVBuGuEyn3Nrq+ZlzTIXQ=";
postPatch = ''
# Force crate-type to include staticlib
+2 -2
View File
@@ -8,13 +8,13 @@
buildGo126Module (finalAttrs: {
pname = "tsgolint";
version = "0.18.1";
version = "0.19.0";
src = fetchFromGitHub {
owner = "oxc-project";
repo = "tsgolint";
tag = "v${finalAttrs.version}";
hash = "sha256-1qz4lP3kz7Njg9f513z/RS566vIN3f3Mbko7dhOjp+8=";
hash = "sha256-f7X/aOaINVLJslOowHoqIL4AmSZjaO7feCGs4df7Kfg=";
fetchSubmodules = true;
};
+3 -3
View File
@@ -10,12 +10,12 @@
stdenv.mkDerivation (finalAttrs: {
pname = "ubase";
version = "0-unstable-2024-03-07";
version = "0-unstable-2025-12-30";
src = fetchgit {
url = "https://git.suckless.org/ubase";
rev = "a570a80ed1606bed43118cb148fc83c3ac22b5c1";
hash = "sha256-afsTkctATIZ6ug9S2gIGoxtFM1h/esgsexyuxXpocs0=";
rev = "e8249b49ca3e02032dece5e0cdac3d236667a6d9";
hash = "sha256-/XwDmhIBjISUyS1hBMcfBe5i4ISKj6sJTGb4lYfJqO0=";
};
strictDeps = true;
+2 -2
View File
@@ -22,14 +22,14 @@
python3Packages.buildPythonApplication rec {
pname = "waydroid";
version = "1.6.1";
version = "1.6.2";
pyproject = false;
src = fetchFromGitHub {
owner = "waydroid";
repo = "waydroid";
tag = version;
hash = "sha256-2ywAgWYMQ7N2P4x/0maNUSn3pdaRAWyATaraRAGafxI=";
hash = "sha256-idO2eFR+OZBYce5WpCpIEWgMGDuq+vW9nT9i56trt34=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -8,7 +8,7 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "zensical";
version = "0.0.28";
version = "0.0.31";
pyproject = true;
# We fetch from PyPi, because GitHub repo does not contain all sources.
@@ -16,12 +16,12 @@ python3Packages.buildPythonApplication (finalAttrs: {
# We could combine sources, but then nix-update won't work.
src = fetchPypi {
inherit (finalAttrs) pname version;
hash = "sha256-r311obKXch38m4l/cptgHlaz5WaZCpienj43OozQTEA=";
hash = "sha256-nBLwe95wxL/bE9bK4b7fjRgGTSV6boESihUlArKKj8M=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) pname version src;
hash = "sha256-pykOMh1BsGyMWwvxvGdfQP9XwH9GDBqPig1L/MA+974=";
hash = "sha256-5lsL42TYg7AsnCxzLcg/KEewcTKLBKvRMJtu+fBkgeY=";
};
nativeBuildInputs = with rustPlatform; [
@@ -19,14 +19,14 @@
buildPythonPackage (finalAttrs: {
pname = "agent-client-protocol";
version = "0.8.1";
version = "0.9.0";
pyproject = true;
src = fetchFromGitHub {
owner = "agentclientprotocol";
repo = "python-sdk";
tag = finalAttrs.version;
hash = "sha256-pP2exnCiXPw4mPKBQVUWaCE7N132WIGU//whsJGTwgY=";
hash = "sha256-8Xf2S85yNsP/HhpCw9UqdoDdeDHdggvYcnvJbilAVuU=";
};
build-system = [
@@ -7,13 +7,13 @@
buildPythonPackage (finalAttrs: {
pname = "apify-fingerprint-datapoints";
version = "0.11.0";
version = "0.12.0";
pyproject = true;
src = fetchPypi {
pname = "apify_fingerprint_datapoints";
inherit (finalAttrs) version;
hash = "sha256-P5BcOSsRon+1nM/kCJHBZqvXN6ucYglzPxAruzswJRU=";
hash = "sha256-p0jWzyzuhT8CdkIeZh05jPcl5/RToagijhGjso2x2CU=";
};
build-system = [ hatchling ];
@@ -1,64 +0,0 @@
{
lib,
stdenv,
fetchFromGitHub,
buildPythonPackage,
setuptools,
mutf8,
webassets,
pytestCheckHook,
mock,
}:
buildPythonPackage rec {
pname = "dukpy";
version = "0.5.1";
pyproject = true;
src = fetchFromGitHub {
owner = "amol-";
repo = "dukpy";
tag = version;
hash = "sha256-ZoBkCpilqPwDy0njwXqUIVgKt16jDCdnbDk7EfxzWOM=";
};
postPatch = ''
substituteInPlace tests/test_webassets_filter.py \
--replace-fail "class PyTestTemp" "class _Temp" \
--replace-fail "PyTestTemp" "Temp"
'';
build-system = [ setuptools ];
dependencies = [ mutf8 ];
optional-dependencies = {
webassets = [ webassets ];
};
nativeCheckInputs = [
pytestCheckHook
mock
]
++ optional-dependencies.webassets;
disabledTests = [ "test_installer" ];
preCheck = ''
rm -r dukpy
'';
pythonImportsCheck = [ "dukpy" ];
meta = {
description = "Simple JavaScript interpreter for Python";
homepage = "https://github.com/amol-/dukpy";
changelog = "https://github.com/amol-/dukpy/releases/tag/${src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ ruby0b ];
mainProgram = "dukpy";
# error: 'TARGET_OS_BRIDGE' is not defined, evaluates to 0 [-Werror,-Wundef-prefix=TARGET_OS_]
# https://github.com/amol-/dukpy/issues/82
broken = stdenv.cc.isClang;
};
}
@@ -1,33 +0,0 @@
{
lib,
buildPythonPackage,
fetchPypi,
setuptools,
flask,
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "flask-themes2";
version = "1.0.1";
pyproject = true;
src = fetchPypi {
pname = "Flask-Themes2";
inherit version;
hash = "sha256-gsMgQQXjhDfQRhm7H0kBy8jKxd75WY+PhHR6Rk/PUPs=";
};
nativeBuildInputs = [ setuptools ];
propagatedBuildInputs = [ flask ];
nativeCheckInputs = [ pytestCheckHook ];
meta = {
description = "Easily theme your Flask app";
homepage = "https://github.com/sysr-q/flask-themes2";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ ruby0b ];
};
}
@@ -9,6 +9,7 @@
# dependencies
eval-type-backport,
httpx,
jsonpath-python,
opentelemetry-api,
opentelemetry-semantic-conventions,
pydantic,
@@ -29,14 +30,14 @@
buildPythonPackage (finalAttrs: {
pname = "mistralai";
version = "2.0.4";
version = "2.1.3";
pyproject = true;
src = fetchFromGitHub {
owner = "mistralai";
repo = "client-python";
tag = "v${finalAttrs.version}";
hash = "sha256-SLPLj9rp8TTOSE3ldobBFU1+MpffzH1Bpshw+7LLUvU=";
hash = "sha256-d6z8l7h8PVPV72Phbb7zPg4pyhxcXA/V5q1Ao+Jtgms=";
};
preBuild = ''
@@ -53,6 +54,7 @@ buildPythonPackage (finalAttrs: {
dependencies = [
eval-type-backport
httpx
jsonpath-python
opentelemetry-api
opentelemetry-semantic-conventions
pydantic
@@ -3,6 +3,7 @@
stdenv,
buildPythonPackage,
fetchFromGitHub,
pythonAtLeast,
# build-system
setuptools,
@@ -15,21 +16,21 @@
# tests
onnx,
pyparsing,
pytestCheckHook,
torchvision,
pythonAtLeast,
}:
buildPythonPackage (finalAttrs: {
pname = "pytorch-pfn-extras";
version = "0.8.4";
version = "0.9.0";
pyproject = true;
src = fetchFromGitHub {
owner = "pfnet";
repo = "pytorch-pfn-extras";
tag = "v${finalAttrs.version}";
hash = "sha256-OrUYO0V5fWqkIjHiYkhvjeFy0YX8CxeRqzrw3NfGK2A=";
hash = "sha256-4XS2Poa8lUQM0p3vks77e/HSlhaxbZOsORUyk4Iqvyw=";
};
build-system = [ setuptools ];
@@ -44,10 +45,13 @@ buildPythonPackage (finalAttrs: {
nativeCheckInputs = [
onnx
pytestCheckHook
pyparsing
torchvision
];
pytestFlags = [
pytestFlags = lib.optionals (pythonAtLeast "3.14") [
# DeprecationWarning: `torch.jit.script` is not supported in Python 3.14+ and may break.
# Please switch to `torch.compile` or `torch.export`.
"-Wignore::DeprecationWarning"
];
@@ -0,0 +1,88 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
setuptools,
# dependencies
dill,
jre_minimal,
joblib,
pandas,
scikit-learn,
# tests
pytestCheckHook,
statsmodels,
}:
let
jre = jre_minimal.override {
modules = [
"java.base"
"java.desktop"
"java.instrument"
"java.logging"
"java.net.http"
"java.sql"
"java.xml"
];
};
in
buildPythonPackage (finalAttrs: {
pname = "sklearn2pmml";
version = "0.129.2";
pyproject = true;
src = fetchFromGitHub {
owner = "jpmml";
repo = "sklearn2pmml";
tag = finalAttrs.version;
hash = "sha256-xntm+AUwylJuMhTAYi6o2tIxlzzeo8lkwtSvgeuQpQU=";
};
postPatch = ''
substituteInPlace sklearn2pmml/__init__.py \
--replace-fail 'result.extend(["java"])' 'result.extend(["${lib.getExe jre}"])'
# Fix deprecated dash-separated key in setup.cfg
substituteInPlace setup.cfg \
--replace-fail "description-file" "description_file"
'';
build-system = [ setuptools ];
dependencies = [
dill
joblib
pandas
scikit-learn
];
nativeCheckInputs = [
pytestCheckHook
statsmodels
];
pytestFlagsArray = [
# Only run the main test suite; subpackage tests require
# sklearn-pandas which is not available in nixpkgs
"sklearn2pmml/tests"
];
pythonImportsCheck = [ "sklearn2pmml" ];
meta = {
description = "Python library for converting Scikit-Learn pipelines to PMML";
homepage = "https://github.com/jpmml/sklearn2pmml";
changelog = "https://github.com/jpmml/sklearn2pmml/blob/${finalAttrs.version}/NEWS.md";
sourceProvenance = with lib.sourceTypes; [
fromSource
binaryBytecode # bundled JAR files
];
license = lib.licenses.agpl3Only;
maintainers = with lib.maintainers; [ b-rodrigues ];
};
})
@@ -5,29 +5,26 @@
buildPythonPackage,
dataclasses-json,
fetchFromGitHub,
hatchling,
marshmallow,
poetry-core,
pytest-asyncio,
pytestCheckHook,
pythonOlder,
websockets,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "weatherflow4py";
version = "1.4.1";
version = "1.5.2";
pyproject = true;
disabled = pythonOlder "3.12";
src = fetchFromGitHub {
owner = "jeeftor";
repo = "weatherflow4py";
tag = "v${version}";
hash = "sha256-nHpLdzO49HhX5+gtYrgche4whs7Onzp4HeRNFwLHcVI=";
tag = "v${finalAttrs.version}";
hash = "sha256-cfQWdQhjW6KjBLQWO9BSAVZ2btRCMjx1CpUifoOwPsU=";
};
build-system = [ poetry-core ];
build-system = [ hatchling ];
dependencies = [
aiohttp
@@ -54,8 +51,8 @@ buildPythonPackage rec {
meta = {
description = "Module to interact with the WeatherFlow REST API";
homepage = "https://github.com/jeeftor/weatherflow4py";
changelog = "https://github.com/jeeftor/weatherflow4py/releases/tag/${src.tag}";
changelog = "https://github.com/jeeftor/weatherflow4py/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ fab ];
};
}
})
@@ -11,14 +11,14 @@
buildPythonPackage (finalAttrs: {
pname = "yolink-api";
version = "0.6.3";
version = "0.6.4";
pyproject = true;
src = fetchFromGitHub {
owner = "YoSmart-Inc";
repo = "yolink-api";
tag = "v${finalAttrs.version}";
hash = "sha256-m/AYuGZNXGk7h0YL4p6jRnqbY/XV91u73lpdgSpstnE=";
hash = "sha256-8gzVaBne79t2Muen9QuYg8/tKwxWwDWBS98IopxiWn0=";
};
build-system = [ setuptools ];
+2 -2
View File
@@ -10,11 +10,11 @@
stdenv.mkDerivation rec {
pname = "roundcube";
version = "1.6.14";
version = "1.6.15";
src = fetchurl {
url = "https://github.com/roundcube/roundcubemail/releases/download/${version}/roundcubemail-${version}-complete.tar.gz";
sha256 = "sha256-TGdRBynBC9ML0GTofrrz+aLSYjCASGJDBYAmC4agFgk=";
sha256 = "sha256-SMnyEsd0YBMkkfZwq69EC3ZcgnYmg0mmkJE3ZNJq++8=";
};
patches = [ ./0001-Don-t-resolve-symlinks-when-trying-to-find-INSTALL_P.patch ];
+2 -2
View File
@@ -53,13 +53,13 @@
}:
let
version = "2026.1.2";
version = "2026.1.3";
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse";
rev = "v${version}";
sha256 = "sha256-iFopbpr0wr9tkpaoHkyboH22w5P9aq6utuulK4sGar8=";
sha256 = "sha256-0jbO1rJQ0AISo7h+SZfovubReCjR2zT6KWX9LxBeFtE=";
};
ruby = ruby_3_3;
+1
View File
@@ -1675,6 +1675,7 @@ mapAliases {
purple-vk-plugin = throw "'purple-vk-plugin' has been removed as upstream repository was deleted and no active forks are found."; # Added 2025-09-17
purple-xmpp-http-upload = throw "'purple-xmpp-http-upload' has been renamed to/replaced by 'pidginPackages.purple-xmpp-http-upload'"; # Converted to throw 2025-10-27
pyCA = warnAlias "'pyCA' was renamed to 'pyca'" pyca; # Added 2026-02-12
pyload-ng = throw "'pyload-ng' has been removed due to vulnerabilities and being unmaintained"; # Added 2026-03-21
pyo3-pack = throw "'pyo3-pack' has been renamed to/replaced by 'maturin'"; # Converted to throw 2025-10-27
pypolicyd-spf = throw "'pypolicyd-spf' has been renamed to/replaced by 'spf-engine'"; # Converted to throw 2025-10-27
python3Full = throw "python3Full has been removed. Bluetooth support is now enabled by default. The tkinter package is available within the package set."; # Added 2025-08-30
+2
View File
@@ -181,6 +181,7 @@ mapAliases {
docker_pycreds = throw "'docker_pycreds' has been renamed to/replaced by 'docker-pycreds'"; # Converted to throw 2025-10-29
dogpile_cache = throw "'dogpile_cache' has been renamed to/replaced by 'dogpile-cache'"; # Converted to throw 2025-10-29
duckduckgo-search = throw "duckduckgo-search was renamed to ddgs, use ddgs instead"; # added 2025-10-20
dukpy = throw "'dukpy' was removed as the only consumer pyload-ng was removed"; # added 2026-03-21
easyeda2ato = throw "easyeda2ato as been removed in favor of atopile-easyda2kicad"; # added 2025-06-08
EasyProcess = throw "'EasyProcess' has been renamed to/replaced by 'easyprocess'"; # Converted to throw 2025-10-29
editdistance-s = throw "editdistance-s has been removed since it was added solely for the identity package, which has moved on to ukkonen"; # added 2025-08-04
@@ -204,6 +205,7 @@ mapAliases {
filesplit = throw "filesplit has been removed, since it is unmaintained"; # added 2025-08-20
flask-security-too = throw "'flask-security-too' has been renamed to/replaced by 'flask-security'"; # Converted to throw 2025-10-29
flask-silk = throw "flask-silk was removed, as it is unmaintained since 2018."; # added 2025-05-25
flask-themes2 = throw "'flask-themes2' was removed as the only consumer pyload-ng was removed"; # added 2026-03-21
flask_assets = throw "'flask_assets' has been renamed to/replaced by 'flask-assets'"; # Converted to throw 2025-10-29
flask_elastic = throw "'flask_elastic' has been renamed to/replaced by 'flask-elastic'"; # Converted to throw 2025-10-29
flask_login = throw "'flask_login' has been renamed to/replaced by 'flask-login'"; # Converted to throw 2025-10-29
+2 -4
View File
@@ -4763,8 +4763,6 @@ self: super: with self; {
dufte = callPackage ../development/python-modules/dufte { };
dukpy = callPackage ../development/python-modules/dukpy { };
dulwich = callPackage ../development/python-modules/dulwich { inherit (pkgs) gnupg; };
dunamai = callPackage ../development/python-modules/dunamai { };
@@ -5727,8 +5725,6 @@ self: super: with self; {
flask-themer = callPackage ../development/python-modules/flask-themer { };
flask-themes2 = callPackage ../development/python-modules/flask-themes2 { };
flask-unsign = callPackage ../development/python-modules/flask-unsign { };
flask-versioned = callPackage ../development/python-modules/flask-versioned { };
@@ -17757,6 +17753,8 @@ self: super: with self; {
sklearn-deap = callPackage ../development/python-modules/sklearn-deap { };
sklearn2pmml = callPackage ../development/python-modules/sklearn2pmml { };
skodaconnect = callPackage ../development/python-modules/skodaconnect { };
skops = callPackage ../development/python-modules/skops { };