From 18e810ebea74d39f07b143c42f2085cd74e799d0 Mon Sep 17 00:00:00 2001 From: Francesco Gazzetta Date: Fri, 14 Aug 2026 17:16:10 +0200 Subject: [PATCH 01/67] libresplit: 0-unstable-2026-02-11 -> 0-unstable-2026-08-14 --- pkgs/by-name/li/libresplit/package.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/li/libresplit/package.nix b/pkgs/by-name/li/libresplit/package.nix index adc7c021c474..7e11ec6dbb1f 100644 --- a/pkgs/by-name/li/libresplit/package.nix +++ b/pkgs/by-name/li/libresplit/package.nix @@ -7,6 +7,7 @@ luajit, meson, ninja, + openssl, pkg-config, unstableGitUpdater, wrapGAppsHook3, @@ -14,13 +15,13 @@ stdenv.mkDerivation { pname = "libresplit"; - version = "0-unstable-2026-02-11"; + version = "0-unstable-2026-08-14"; src = fetchFromGitHub { owner = "LibreSplit"; repo = "LibreSplit"; - rev = "f87a6829c9319acca907a39af4d391375a322713"; - hash = "sha256-wcv4VkuVClc+yCe/o8hIQFO/mxF4NAB7et52SLOwgpk="; + rev = "2c7f6610519cb98c3a1529ab2383ae0cd50d5dea"; + hash = "sha256-fU0ghAMXOeygKWZYPtwriw2qxGh+5pnF392+rxrIGqg="; }; nativeBuildInputs = [ @@ -34,6 +35,7 @@ stdenv.mkDerivation { gtk3 jansson luajit + openssl ]; passthru.updateScript = unstableGitUpdater { }; From 6dade6bdf66ee49f69e02daf7e9c6afead8644c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Richard=20St=C3=B6ckl?= Date: Mon, 17 Aug 2026 13:03:08 +0200 Subject: [PATCH 02/67] nixos/acme: fix missing Restart= to actually restart on failure --- nixos/modules/security/acme/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nixos/modules/security/acme/default.nix b/nixos/modules/security/acme/default.nix index 7bce714b2a0b..ecc805c3cba6 100644 --- a/nixos/modules/security/acme/default.nix +++ b/nixos/modules/security/acme/default.nix @@ -475,6 +475,8 @@ let # This avoids eating them all up if something is misconfigured upon the first try. RestartSec = 15 * 60; + Restart = "on-failure"; + # Keep in mind that these directories will be deleted if the user runs # systemctl clean --what=state # acme/.lego/${cert} is listed for this reason. From e4fa43c0d4d33fd9e76c4c9ae33cfd6f168654fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Richard=20St=C3=B6ckl?= Date: Thu, 20 Aug 2026 09:00:48 +0200 Subject: [PATCH 03/67] nixos/acme: add option to configure the failing renewal interval --- nixos/modules/security/acme/default.nix | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/nixos/modules/security/acme/default.nix b/nixos/modules/security/acme/default.nix index ecc805c3cba6..77f4b4b716db 100644 --- a/nixos/modules/security/acme/default.nix +++ b/nixos/modules/security/acme/default.nix @@ -471,9 +471,7 @@ let // { Group = data.group; - # Let's Encrypt Failed Validation Limit allows 5 retries per hour, per account, hostname and hour. - # This avoids eating them all up if something is misconfigured upon the first try. - RestartSec = 15 * 60; + RestartSec = data.renewIntervalFailed; Restart = "on-failure"; @@ -689,6 +687,18 @@ let ''; }; + renewIntervalFailed = lib.mkOption { + type = lib.types.str; + inherit (defaultAndText "renewIntervalFailed" "${toString (60 * 15)}") default defaultText; + description = '' + Systemd time-span value when to retry a renewal in case the service has failed. + See {manpage}`systemd.time(7)` + + Let's Encrypt Failed Validation Limit allows 5 retries per hour, per account, hostname and hour. + The default avoids eating them all up if something is misconfigured upon the first try. + ''; + }; + renewJitter = lib.mkOption { type = lib.types.str; inherit (defaultAndText "renewJitter" "24h") default defaultText; From 9d0fbc1408d8120602df2865ac2feed9c4ec7b7b Mon Sep 17 00:00:00 2001 From: Yongun Seong Date: Sun, 6 Sep 2026 13:58:37 +0900 Subject: [PATCH 04/67] kavita: 0.9.0.2 -> 0.9.1.4 Co-authored-by: R. RyanTM --- pkgs/by-name/ka/kavita/nuget-deps.json | 583 +++++++++++++------------ pkgs/by-name/ka/kavita/package.nix | 8 +- 2 files changed, 298 insertions(+), 293 deletions(-) diff --git a/pkgs/by-name/ka/kavita/nuget-deps.json b/pkgs/by-name/ka/kavita/nuget-deps.json index 8f6cfb2ec5b1..43d928b7fec3 100644 --- a/pkgs/by-name/ka/kavita/nuget-deps.json +++ b/pkgs/by-name/ka/kavita/nuget-deps.json @@ -16,8 +16,8 @@ }, { "pname": "Cronos", - "version": "0.12.0", - "hash": "sha256-skLfxVZjaSP3CMBxzjHR5zBYeiF/Z+MBpDz+ZBy49k4=" + "version": "0.13.0", + "hash": "sha256-ZhLGYF3D0W9hMFLaPFsiup6AwIJTzMXJG7QLTDoJOfc=" }, { "pname": "CsvHelper", @@ -46,8 +46,8 @@ }, { "pname": "ExCSS", - "version": "4.3.1", - "hash": "sha256-nNn5+YEaqKSULhtDsImNEyndU/MHna7VpZNUExmo80o=" + "version": "4.3.2", + "hash": "sha256-lbTVYhePCanRJN5u2J4bHUiwO3dQL6I3NCgQF4dnwSs=" }, { "pname": "Flurl", @@ -61,13 +61,13 @@ }, { "pname": "Hangfire", - "version": "1.8.23", - "hash": "sha256-mPKuBcAQwCvy4ch9SB4MevvYRtSX55j60lwY70kkYLE=" + "version": "1.8.24", + "hash": "sha256-Qvd4nFh2EQLiTKPs++zLXdIJMnSO3MbEXy3qajII/wM=" }, { "pname": "Hangfire.AspNetCore", - "version": "1.8.23", - "hash": "sha256-HJUrIRoJhIa3HUf7loXvAEKx3UXjqGXLSA6tAfIyIck=" + "version": "1.8.24", + "hash": "sha256-fzwIxgw/0AxqEkFOqH5qB+SNwi8sZIlGlSaHPOPRL44=" }, { "pname": "Hangfire.Core", @@ -81,8 +81,8 @@ }, { "pname": "Hangfire.Core", - "version": "1.8.23", - "hash": "sha256-yvK4/ynlKy6vkosgB9ncnoxB4vSJmp+ZDUcjDXLDZE4=" + "version": "1.8.24", + "hash": "sha256-bNWFrGyLz5n/7Ulew8f+KKWyvTHX2OZKpe7O7WQrwC8=" }, { "pname": "Hangfire.InMemory", @@ -96,13 +96,13 @@ }, { "pname": "Hangfire.NetCore", - "version": "1.8.23", - "hash": "sha256-7MxIbS0T7vh7S6PI0qV9wmonMCC9y22Q+BbGB6tblmw=" + "version": "1.8.24", + "hash": "sha256-fKEPeO6y31qfetzRcbxMFbE7RcELpR/t6lDr1MWIJ3A=" }, { "pname": "Hangfire.SqlServer", - "version": "1.8.23", - "hash": "sha256-B0nCPPjoxpx9oGgYDYFyvBVftUuE4Hjq2+we/cL3q3M=" + "version": "1.8.24", + "hash": "sha256-Q8LGel2WJgwth4Cyj+s87uthWubLEU//5Pm/GZffNbk=" }, { "pname": "HtmlAgilityPack", @@ -116,18 +116,18 @@ }, { "pname": "MailKit", - "version": "4.16.0", - "hash": "sha256-4yyFxq8pJVTIgAJkyAYcuV2+/ZirENgUSk1OSD/gKIo=" + "version": "4.17.0", + "hash": "sha256-LGruedMrHrI0AXHcXOFxsYP2awwPbrC9Q41AeQk4+9U=" }, { "pname": "Markdig", - "version": "1.1.3", - "hash": "sha256-NbAy/XovL7fFNvpxIqaBmdvNtKLghOGXcy+EoIIh/Bw=" + "version": "1.3.2", + "hash": "sha256-rlIUsV0QBtkdXHsWvJAREQr5XYNQWOGKMOgOKMJ48Zo=" }, { "pname": "Microsoft.AspNetCore.Authentication", - "version": "2.3.0", - "hash": "sha256-7i4ZrV0ktGoZe/CCkAjkhpBWF4Gf0oktySXlMEHS4Gc=" + "version": "2.3.10", + "hash": "sha256-Dc+FaTR5Zit4YUHjYIeExAXfbRMG4JIzfyd6n2JONFs=" }, { "pname": "Microsoft.AspNetCore.Authentication.Abstractions", @@ -141,23 +141,23 @@ }, { "pname": "Microsoft.AspNetCore.Authentication.Cookies", - "version": "2.3.0", - "hash": "sha256-ZxWij7uU2IxCX5jP3dZd80wsbQDGOdf+tlLxg4c0wQ8=" + "version": "2.3.11", + "hash": "sha256-k3e4HnTNtL9QYwUR6AKEd6Nw/2IAtDdQsq2DygA85tw=" }, { "pname": "Microsoft.AspNetCore.Authentication.Core", - "version": "2.3.0", - "hash": "sha256-c6LwqJeqKvQZ5HTDQZ8HK23SCcYNTWaAngt0bqhEW+g=" + "version": "2.3.9", + "hash": "sha256-AEr/H0mp2Kh41UIDg2St2zNMLOQNulxKCUEOuWAsqjY=" }, { "pname": "Microsoft.AspNetCore.Authentication.JwtBearer", - "version": "10.0.6", - "hash": "sha256-e62RIibg5uKrjli5dBDeOYlLC0XashVY2Us2SBOr+sc=" + "version": "10.0.11", + "hash": "sha256-HK+YNKX76vBkfqJaobygRjhF+juBasan8Qi6+aB6tyA=" }, { "pname": "Microsoft.AspNetCore.Authentication.OpenIdConnect", - "version": "10.0.6", - "hash": "sha256-TmsvFY7xEyqAGRrbz3hBDT1gDK/IclgIaDAMkypF9H0=" + "version": "10.0.11", + "hash": "sha256-QJT97xf0AFQFqr85zvyGJxt/68jWTFnNd7a/Ljx7TcE=" }, { "pname": "Microsoft.AspNetCore.Authorization", @@ -176,13 +176,8 @@ }, { "pname": "Microsoft.AspNetCore.Cryptography.Internal", - "version": "10.0.5", - "hash": "sha256-XYkd+UHDEfbOh+2CJ+3EzPEpfGPUbKzjrrUpYvQqXyI=" - }, - { - "pname": "Microsoft.AspNetCore.Cryptography.Internal", - "version": "10.0.6", - "hash": "sha256-sNUAC9nWGszN+lCe3sY4S8xLx4AHGn/u3y1msp/KYP8=" + "version": "10.0.11", + "hash": "sha256-WlCfhVYRIbwiN7m/ufzLAk4iLaCieosx4beEuDyl1ho=" }, { "pname": "Microsoft.AspNetCore.Cryptography.Internal", @@ -191,8 +186,8 @@ }, { "pname": "Microsoft.AspNetCore.Cryptography.KeyDerivation", - "version": "10.0.6", - "hash": "sha256-C2XT5T7fLjGU5/CS7zOZ2kw70E/JSoj2zrrJGraFRno=" + "version": "10.0.11", + "hash": "sha256-CZTS51h6cWQwXQRgddyLWM+vwXsvF8W2qRGNylJSM18=" }, { "pname": "Microsoft.AspNetCore.Cryptography.KeyDerivation", @@ -201,18 +196,18 @@ }, { "pname": "Microsoft.AspNetCore.DataProtection", - "version": "10.0.5", - "hash": "sha256-h0sm0Zckje3THdhhu92AJutVJGk16wgCg5Xm7PzqxBI=" + "version": "10.0.11", + "hash": "sha256-bRFdI7XEUBIENvpC7KiWAvZA1ap/CEoWeJCKIckX4yo=" }, { "pname": "Microsoft.AspNetCore.DataProtection", - "version": "2.3.0", - "hash": "sha256-Kca0xofKGaV9r/+SfHv2maFcWuMTj5O6Aot/YDpR6Dw=" + "version": "2.3.9", + "hash": "sha256-tu9yJ1zyy7ViYbR8J9jKrxn42HfGNZcB/m3tbMYurMM=" }, { "pname": "Microsoft.AspNetCore.DataProtection.Abstractions", - "version": "10.0.5", - "hash": "sha256-Mq2BrWyJmtUp+lEl34MIiQ3WGBhtlyQUWHlow6q8URw=" + "version": "10.0.11", + "hash": "sha256-wJKFqBW+X6ce4P164tIkrfnGjsvwltzQkq8YE8fOT1s=" }, { "pname": "Microsoft.AspNetCore.DataProtection.Abstractions", @@ -221,8 +216,8 @@ }, { "pname": "Microsoft.AspNetCore.DataProtection.EntityFrameworkCore", - "version": "10.0.5", - "hash": "sha256-AahovY88yke+c+oAVaa9bCZFY19HaBjHRGWKxeLOykA=" + "version": "10.0.11", + "hash": "sha256-K60RxOPNzvSyGbWiBIkyRbjZj38njU1vQQ62yjtkqes=" }, { "pname": "Microsoft.AspNetCore.Hosting.Abstractions", @@ -234,10 +229,15 @@ "version": "2.3.0", "hash": "sha256-gtiRMQA5kO1biIVaBLjSq0/jVVpiI8WzS136z/Ex1zs=" }, + { + "pname": "Microsoft.AspNetCore.Hosting.Abstractions", + "version": "2.3.11", + "hash": "sha256-AP3zqzVH1rQde5Q+jkFf621d9MT/t0znsp+dw1as9Z8=" + }, { "pname": "Microsoft.AspNetCore.Hosting.Server.Abstractions", - "version": "2.3.0", - "hash": "sha256-ltKZ02L3cXu2dCx1JGEt1X8gQgwTABn45QkBsREYxaw=" + "version": "2.3.10", + "hash": "sha256-5kipSlimeuvA3ZWUQTkzp3dImN8NLJUeIaXzr4ddKzw=" }, { "pname": "Microsoft.AspNetCore.Http", @@ -249,6 +249,11 @@ "version": "2.3.0", "hash": "sha256-ubPGvFwMjXbydY1gzo/m31pWq5/SsS/tGRtOotHFfBU=" }, + { + "pname": "Microsoft.AspNetCore.Http", + "version": "2.3.9", + "hash": "sha256-XuOH9M6qd6XFz15TnWNnNCVd567B5BCb0wfl0Xoz5g4=" + }, { "pname": "Microsoft.AspNetCore.Http.Abstractions", "version": "2.2.0", @@ -259,6 +264,11 @@ "version": "2.3.0", "hash": "sha256-NrAFzk5IcxmeRk3Zu+rLcq0+KKiAYfygJbAdIt2Zpfk=" }, + { + "pname": "Microsoft.AspNetCore.Http.Abstractions", + "version": "2.3.10", + "hash": "sha256-TlgQug0JPR5vsFsxU0btpa4SbLSLLKZ2T8izyZpkZtM=" + }, { "pname": "Microsoft.AspNetCore.Http.Connections", "version": "1.1.0", @@ -279,6 +289,16 @@ "version": "2.3.0", "hash": "sha256-sOVwC5wK5w85R+HbYkBlfPpmknyAEig3g0uVnTSGwhI=" }, + { + "pname": "Microsoft.AspNetCore.Http.Extensions", + "version": "2.3.11", + "hash": "sha256-MIlX/WRqRdpJky0ya8lSxp2qR3Bp8152BroMCI8qMTg=" + }, + { + "pname": "Microsoft.AspNetCore.Http.Extensions", + "version": "2.3.9", + "hash": "sha256-117nBKPITpEQrYY+nE6jaOx0R9QkkYpakCq8JnoTgN8=" + }, { "pname": "Microsoft.AspNetCore.Http.Features", "version": "2.2.0", @@ -286,18 +306,18 @@ }, { "pname": "Microsoft.AspNetCore.Http.Features", - "version": "2.3.0", - "hash": "sha256-QkNFS3ScDLyt0XppATSogbF1raSQJN+wStcnAsSoUJw=" + "version": "2.3.9", + "hash": "sha256-9VJKZ5adBKRrVp+XRWEQiazv9Q6jj7noT/X693djVgQ=" }, { "pname": "Microsoft.AspNetCore.Identity", - "version": "2.3.9", - "hash": "sha256-oULMEy4bSIu6NXo/xPywjKN2uSFQz2qto16aauCJF7g=" + "version": "2.3.12", + "hash": "sha256-1ybsrVA50zOvxqXn911iIrag42jpnamXodVXfK7Yykc=" }, { "pname": "Microsoft.AspNetCore.Identity.EntityFrameworkCore", - "version": "10.0.6", - "hash": "sha256-dzVp2wIatsqrlUva6lw1CJJXd6Y8JdxIOrED2K51Id0=" + "version": "10.0.11", + "hash": "sha256-HpnbBdRHTA7PdtlfPSozS56uelP3UubR7jWJeFLhSFM=" }, { "pname": "Microsoft.AspNetCore.Routing", @@ -331,8 +351,8 @@ }, { "pname": "Microsoft.AspNetCore.StaticFiles", - "version": "2.3.9", - "hash": "sha256-OET/mF7B/P5aC7VSNR9KQ8fM7BEvOWZOBukHzQiznI0=" + "version": "2.3.12", + "hash": "sha256-G7sIHQLPqndC3UxtZPJd3dQJo4sePiLOHxrbV2f6Ba4=" }, { "pname": "Microsoft.AspNetCore.WebSockets", @@ -349,6 +369,11 @@ "version": "2.3.0", "hash": "sha256-oJMEP44Q9ClhbyZUPtSb9jqQyJJ/dD4DHElRvkYpIOo=" }, + { + "pname": "Microsoft.Bcl.Cryptography", + "version": "10.0.2", + "hash": "sha256-+OYtcWsd1qZcEXadYeA4t6+pyADg1APQCxpKUtP002M=" + }, { "pname": "Microsoft.Build.Framework", "version": "17.11.31", @@ -391,8 +416,8 @@ }, { "pname": "Microsoft.Data.Sqlite.Core", - "version": "10.0.6", - "hash": "sha256-4mCmsk/TV3fvPsHPLPQQkSCa2v1FigO+uat+mnXuQ0Y=" + "version": "10.0.11", + "hash": "sha256-zCXkQ7XmO+2ZyEb1hPwr6S8HfLBC6qN2w5wke+qGb5c=" }, { "pname": "Microsoft.Data.Sqlite.Core", @@ -401,43 +426,38 @@ }, { "pname": "Microsoft.EntityFrameworkCore", - "version": "10.0.5", - "hash": "sha256-SR8KBOuIx9e1j/cMwYRCO62WEB+CUrGptexl9MSgp8M=" - }, - { - "pname": "Microsoft.EntityFrameworkCore", - "version": "10.0.6", - "hash": "sha256-wEA3ySJvLjAs6O9feF8vZXFM8GgyP+1ufQCaawj20dU=" + "version": "10.0.11", + "hash": "sha256-j+DNpi5fd077QGMKu09LKD3fV5qWmswsuypp+s5gH/0=" }, { "pname": "Microsoft.EntityFrameworkCore.Abstractions", - "version": "10.0.6", - "hash": "sha256-izcDKxbfeMBNxXmri20mESugr7NHxJEE4Hnvia6hVS4=" + "version": "10.0.11", + "hash": "sha256-F4Cp4dWQx3MXPu2MKaWI8H7JIoTP8J8gTfgex3N6QTU=" }, { "pname": "Microsoft.EntityFrameworkCore.Analyzers", - "version": "10.0.6", - "hash": "sha256-qTZ9ZhnPM7Nqy/ZWjloDTEUO91CymeJ07Yp1SKMJWiY=" + "version": "10.0.11", + "hash": "sha256-WX2Z7E3wYXDfQ032C33ebQpbfD8WbuFbL/yU8XBEw7c=" }, { "pname": "Microsoft.EntityFrameworkCore.Design", - "version": "10.0.6", - "hash": "sha256-9WAXxXdAM0rNbGq6j7VGubHslxzmpTYKZ9gFyxh/N74=" + "version": "10.0.11", + "hash": "sha256-4U1Ovp1F2KvfDSjxdFgz6tSuLxXblZ0Glp8NzqVOnrg=" }, { "pname": "Microsoft.EntityFrameworkCore.Relational", - "version": "10.0.6", - "hash": "sha256-gyA+zXeRaMZl9qs9WXrvc0sEnptZy1nxC6kBux5bTQ0=" + "version": "10.0.11", + "hash": "sha256-aMfOqNSXcSk9yJnzWig0+Zk8pBl2/Z9Fw6GxmfTlsMM=" }, { "pname": "Microsoft.EntityFrameworkCore.Sqlite", - "version": "10.0.6", - "hash": "sha256-EddxZvx9J8bUPNh3IGiubhN4nJDTNJaLcERkhytuPfg=" + "version": "10.0.11", + "hash": "sha256-R4xhxP4ZZuHJ4nCpt5GeflxxPCrwPtMHzWrr/kE+21M=" }, { "pname": "Microsoft.EntityFrameworkCore.Sqlite.Core", - "version": "10.0.6", - "hash": "sha256-+Enzt/LSNCkhuR9aASMS7vWMnwPVFtVxomq9de70ONg=" + "version": "10.0.11", + "hash": "sha256-V44eYx25lkySJsh3nOKYbdylei3UhJCX4d1bGf0IWRk=" }, { "pname": "Microsoft.Extensions.ApiDescription.Server", @@ -446,8 +466,8 @@ }, { "pname": "Microsoft.Extensions.Caching.Abstractions", - "version": "10.0.6", - "hash": "sha256-9yCnv7SmbNOq21W0rmnpiT4GkkE2pceU3xA1HE7zAM4=" + "version": "10.0.11", + "hash": "sha256-hhLHPCS06OOGQMlQT3KXU7x5dSp6BN48njsGY/aOFqA=" }, { "pname": "Microsoft.Extensions.Caching.Abstractions", @@ -456,13 +476,13 @@ }, { "pname": "Microsoft.Extensions.Caching.Hybrid", - "version": "10.5.0", - "hash": "sha256-Gg3Slrr6MPKRimtvpLwTeUOvicLiQyOG64wXOvejgr0=" + "version": "10.9.0", + "hash": "sha256-o3hcc3MNXpNaDZirukdblYqWtfHzo5hpd7kc6YXOz1I=" }, { "pname": "Microsoft.Extensions.Caching.Memory", - "version": "10.0.6", - "hash": "sha256-3dWBnlBfEbfC50yrB8isuAOCMeYVaVQo/JfuRvpVBlI=" + "version": "10.0.11", + "hash": "sha256-1LXlZK3RnwIxdFqG+8BH0+lc7NhKjA99xN2fe/nIq2I=" }, { "pname": "Microsoft.Extensions.Configuration", @@ -471,8 +491,8 @@ }, { "pname": "Microsoft.Extensions.Configuration", - "version": "10.0.6", - "hash": "sha256-CSd5RC5pMsmglpnE6Vm3JabMnbmziqtUGrZE5Rg7uF4=" + "version": "10.0.11", + "hash": "sha256-hhXsutV4pzMdy8CCG12Pqh4jV/emiQsuWUl1WpClZOs=" }, { "pname": "Microsoft.Extensions.Configuration.Abstractions", @@ -481,13 +501,8 @@ }, { "pname": "Microsoft.Extensions.Configuration.Abstractions", - "version": "10.0.5", - "hash": "sha256-DNK+lL2jeHFYyd43zfgVY32UskEfQ4YsTapztuQbYwo=" - }, - { - "pname": "Microsoft.Extensions.Configuration.Abstractions", - "version": "10.0.6", - "hash": "sha256-jxtne26QF7bASCRmLNwYsKruY3QhsnuzN9Us11WUdSQ=" + "version": "10.0.11", + "hash": "sha256-gx/afsc4v9zRAUPsiySt6BcZVSMc9QJE4vqJMQpiOPk=" }, { "pname": "Microsoft.Extensions.Configuration.Abstractions", @@ -511,8 +526,8 @@ }, { "pname": "Microsoft.Extensions.Configuration.Binder", - "version": "10.0.6", - "hash": "sha256-34blBlrQ3FRS7iCS7/gxPZMa9xgDW0p3iEERqwgXFMA=" + "version": "10.0.11", + "hash": "sha256-qcSKa+uJdahahMucYIIUO1pg/zrlsHlK1kg/lWHP/qo=" }, { "pname": "Microsoft.Extensions.Configuration.Binder", @@ -521,33 +536,33 @@ }, { "pname": "Microsoft.Extensions.Configuration.CommandLine", - "version": "10.0.6", - "hash": "sha256-U31ct2qLllJ+0INS4wsDhFztGpzr+7TdwpeKZsgslAw=" + "version": "10.0.11", + "hash": "sha256-9vla+fmeValSMtmZxlNv1IoOhOMCWJtvPREX4OXvPZA=" }, { "pname": "Microsoft.Extensions.Configuration.EnvironmentVariables", - "version": "10.0.6", - "hash": "sha256-/p9mbkua5XJT8vg/r06aw2ZYydlGv9s+Fk+j98h8PF0=" + "version": "10.0.11", + "hash": "sha256-3/OjBiZUrSI7Bekj+MCUmeMseCJmwS3wL1kYeEoJtB4=" }, { "pname": "Microsoft.Extensions.Configuration.FileExtensions", - "version": "10.0.6", - "hash": "sha256-N2DeLcgzjaQIk7LKvUqd2FO2bTmB65iZxpbTXb2DWz8=" + "version": "10.0.11", + "hash": "sha256-U1Sfq/12RMtjKau0bwR8emdja0JfW+N+lgIi+du4yAo=" }, { "pname": "Microsoft.Extensions.Configuration.Json", - "version": "10.0.6", - "hash": "sha256-gj55DSHQluOlZKiNOVeeHuhsz4GpqVRSlbad6jq+Olk=" + "version": "10.0.11", + "hash": "sha256-kd/4oufTKaitTqzHoZg8OQ0PZS9OOWI3tKFJiVW4KrY=" }, { "pname": "Microsoft.Extensions.Configuration.UserSecrets", - "version": "10.0.6", - "hash": "sha256-NwcoOoEiVrdQJU4GXYcNzdmYJSDefdJ1IflEHhPAQK8=" + "version": "10.0.11", + "hash": "sha256-3SDfsz/hThd6HXjVp1htZR9wsLACCQPH/ynZ8Xx37bA=" }, { "pname": "Microsoft.Extensions.DependencyInjection", - "version": "10.0.6", - "hash": "sha256-K3ODZC+Bwd3Tze5wF7BQvJJGlNObdf2PNA35F41jHTE=" + "version": "10.0.11", + "hash": "sha256-xuwGge8n7OjS+uS85QiR0LdDORIJ1gm6w3hMXtvuWj8=" }, { "pname": "Microsoft.Extensions.DependencyInjection", @@ -566,13 +581,8 @@ }, { "pname": "Microsoft.Extensions.DependencyInjection.Abstractions", - "version": "10.0.5", - "hash": "sha256-KrP+hE3gk7pATbJYZsJ1LHiXjzLA+ntHW7G/VGgHk2g=" - }, - { - "pname": "Microsoft.Extensions.DependencyInjection.Abstractions", - "version": "10.0.6", - "hash": "sha256-lFiZb81kfBJK7J0b0A2UIpydPRT73Xcs57Gzf/+1xXc=" + "version": "10.0.11", + "hash": "sha256-5PZeQgWmVo8K+7GgKEVAd6xcn+3XVNVzT4cg/DBtjqY=" }, { "pname": "Microsoft.Extensions.DependencyInjection.Abstractions", @@ -616,8 +626,8 @@ }, { "pname": "Microsoft.Extensions.DependencyModel", - "version": "10.0.6", - "hash": "sha256-WY/CGoll5mwtiG3pBN/jDpt5/g4qcQuBL62LeS8KgmM=" + "version": "10.0.11", + "hash": "sha256-hWKqLT0Ix5FibpGrr4/crZpSfKHPCe+sfWzWWu3Ykgw=" }, { "pname": "Microsoft.Extensions.DependencyModel", @@ -626,8 +636,8 @@ }, { "pname": "Microsoft.Extensions.Diagnostics", - "version": "10.0.6", - "hash": "sha256-TGJjvsztoajNzOe0KeuOvtb2ZuNDbjq2NfPs15zo3kA=" + "version": "10.0.11", + "hash": "sha256-cWitHAjZLDzvSzli/C9+BfD7PDSL4c2HzwVdvj/t6PU=" }, { "pname": "Microsoft.Extensions.Diagnostics.Abstractions", @@ -636,13 +646,8 @@ }, { "pname": "Microsoft.Extensions.Diagnostics.Abstractions", - "version": "10.0.5", - "hash": "sha256-pwQltVfaqx0jRpO0d9k/dYtyOpnGixK2MB3aHVVbo0E=" - }, - { - "pname": "Microsoft.Extensions.Diagnostics.Abstractions", - "version": "10.0.6", - "hash": "sha256-9AbUvHuHhDPjtf6vsci2r6VfSg0BlmkJkMYmIqAQ2QA=" + "version": "10.0.11", + "hash": "sha256-JSjnETAdUU/8ymeWP1OKoXu5sS5COEqwQR4OpiUnavI=" }, { "pname": "Microsoft.Extensions.Diagnostics.Abstractions", @@ -656,13 +661,8 @@ }, { "pname": "Microsoft.Extensions.FileProviders.Abstractions", - "version": "10.0.5", - "hash": "sha256-6RwvzBQTJzbypUQAM9WNRkpn3gON63DLxY3gH0ZcrH4=" - }, - { - "pname": "Microsoft.Extensions.FileProviders.Abstractions", - "version": "10.0.6", - "hash": "sha256-CzUYBtxxXV8qn72ptRs0QkP8xmrKwlfq47MojRhM1Tw=" + "version": "10.0.11", + "hash": "sha256-4NmJ1/Fgbn45wcD8iy0wV0aU//mCsrcwmLmzHpwJGqU=" }, { "pname": "Microsoft.Extensions.FileProviders.Abstractions", @@ -676,18 +676,18 @@ }, { "pname": "Microsoft.Extensions.FileProviders.Physical", - "version": "10.0.6", - "hash": "sha256-zZAyRMT9DnZYlKTW9A5ZeDAlO8EaHxgX9hHuzWDgjiY=" + "version": "10.0.11", + "hash": "sha256-XKXZuA0PDC+bNOKU9PJXs7uazkSaw0GrMShVbk6VdWA=" }, { "pname": "Microsoft.Extensions.FileSystemGlobbing", - "version": "10.0.6", - "hash": "sha256-hfoFBBqSIwZokoX3Kt+aRacLW06QbJkcecyLOhTd0T0=" + "version": "10.0.11", + "hash": "sha256-PhOghJRLqX//zef4FTRk4uKIq0v2Kx04J2FusJgOw0o=" }, { "pname": "Microsoft.Extensions.Hosting", - "version": "10.0.6", - "hash": "sha256-qTfHGGLi0OWszbcJRyhStsz3EBBl8MVAzGeqxeNneSM=" + "version": "10.0.11", + "hash": "sha256-3XEafns0atVGeWWcJg0Y93tO78gIMtYXRfzU619OWzk=" }, { "pname": "Microsoft.Extensions.Hosting.Abstractions", @@ -696,13 +696,8 @@ }, { "pname": "Microsoft.Extensions.Hosting.Abstractions", - "version": "10.0.5", - "hash": "sha256-mqxu+PvqYP/J/9UWEbLIAfSNnsABhdl6m5wkZFf1DDM=" - }, - { - "pname": "Microsoft.Extensions.Hosting.Abstractions", - "version": "10.0.6", - "hash": "sha256-ZFt1jTnkzMsDNTe+nDJvJB3fbQrLvCjYp4NIyESErvU=" + "version": "10.0.11", + "hash": "sha256-8rr3hfiZ649GUTB0t4+R8Yjo+H3ch5yyl5DICPPNv8I=" }, { "pname": "Microsoft.Extensions.Hosting.Abstractions", @@ -716,18 +711,18 @@ }, { "pname": "Microsoft.Extensions.Identity.Core", - "version": "10.0.6", - "hash": "sha256-KTF/pNQwkrAYh3qYDi2teXyIWFaxb1ofqdWutV4jb40=" + "version": "10.0.11", + "hash": "sha256-SsmQUacaO6uo91S6KRrfxhTKdM3gvPRV/ZZ9v/gZR40=" }, { "pname": "Microsoft.Extensions.Identity.Core", - "version": "2.3.0", - "hash": "sha256-fuihBY1L0w91zTUmcpspcWGv4vLqP5MEKaEi24FtsUY=" + "version": "2.3.11", + "hash": "sha256-bIRULpKXEieyr8mbpNuO9kRquDe6clewlZV/R7RhKQU=" }, { "pname": "Microsoft.Extensions.Identity.Stores", - "version": "10.0.6", - "hash": "sha256-BfQMVemXTSvc2KdhXMv33wupYgsOG7RNRbHrE2tLfG4=" + "version": "10.0.11", + "hash": "sha256-p6z0qrOh/VISAVUY2ZJY1qdAH7gE2+RYcLb53CKMasg=" }, { "pname": "Microsoft.Extensions.Logging", @@ -736,8 +731,8 @@ }, { "pname": "Microsoft.Extensions.Logging", - "version": "10.0.6", - "hash": "sha256-tskLj/WXLK35gkuJAWaAhPjMW92N1JKOTzTLupR30pE=" + "version": "10.0.11", + "hash": "sha256-K8MjBeYsxUdOyY5+QryOojGfc4AkE/FHqrx5MxSuZhU=" }, { "pname": "Microsoft.Extensions.Logging", @@ -761,13 +756,8 @@ }, { "pname": "Microsoft.Extensions.Logging.Abstractions", - "version": "10.0.5", - "hash": "sha256-e3A/l+II+n+D7/OPwjdyQM1IBtKHfHeIdlkJmuRw77w=" - }, - { - "pname": "Microsoft.Extensions.Logging.Abstractions", - "version": "10.0.6", - "hash": "sha256-4ijpXt4PoTNcmF5dl/rEZkRWBAjukB229lXtBtJhxn4=" + "version": "10.0.11", + "hash": "sha256-HdUH2q55lbAwMswMdQjX01DrgaxegtbyMo4VYezhB1o=" }, { "pname": "Microsoft.Extensions.Logging.Abstractions", @@ -801,28 +791,28 @@ }, { "pname": "Microsoft.Extensions.Logging.Configuration", - "version": "10.0.6", - "hash": "sha256-/tXp5Q6002eNA4Ff9O8eyBgYNdNcOoJ4b2NrdHh+QcQ=" + "version": "10.0.11", + "hash": "sha256-UtMmi9ZlS4hUXQurxTJ3MAZLWcp5z1UyMxkK4ab8HYA=" }, { "pname": "Microsoft.Extensions.Logging.Console", - "version": "10.0.6", - "hash": "sha256-hIwQTTJGdbqkfkzSHLG5aueueE15DrlggfmPbBZ6SOk=" + "version": "10.0.11", + "hash": "sha256-yC7fdI8lbD8FOjkHehbuPZkkkyoc4YuAhd9fnls3NDc=" }, { "pname": "Microsoft.Extensions.Logging.Debug", - "version": "10.0.6", - "hash": "sha256-ZpIjMzwB0Dugr2aQtIt7HgSGKgDjfH0LXKIXsywJbnw=" + "version": "10.0.11", + "hash": "sha256-mqyhIr7FqqaHudtyPRNV5v+RTsh3aI1/AAqLtuG+OIE=" }, { "pname": "Microsoft.Extensions.Logging.EventLog", - "version": "10.0.6", - "hash": "sha256-OrIL6QUhI8dntpTXgkrwJ443YpmJsfYNM08kYB4KQZE=" + "version": "10.0.11", + "hash": "sha256-z7oIQzJ90GemCfAptGxqiKNpyiAxGqdEExLMC4P6x/M=" }, { "pname": "Microsoft.Extensions.Logging.EventSource", - "version": "10.0.6", - "hash": "sha256-LoMQ0w2MwzKGS8QhqNTv5TgAPmgaS5HCfjkJHJHT818=" + "version": "10.0.11", + "hash": "sha256-osoraN03ksCKPYl5PBB/5snDb2s9nr3HMoP0rZHhfW4=" }, { "pname": "Microsoft.Extensions.ObjectPool", @@ -841,13 +831,8 @@ }, { "pname": "Microsoft.Extensions.Options", - "version": "10.0.5", - "hash": "sha256-nw+m6VWXjmaBqZ1aH/l9SR9Oy62N9dmiMKloJ78kxv8=" - }, - { - "pname": "Microsoft.Extensions.Options", - "version": "10.0.6", - "hash": "sha256-GJCULaUcN2FxCA9fKOLe5EDEtkKLrEuP2Kw0jRqospA=" + "version": "10.0.11", + "hash": "sha256-djBqHYNsYC427UNbkyBo9x9lAtX2Ls460ixdRrSdMa8=" }, { "pname": "Microsoft.Extensions.Options", @@ -876,8 +861,8 @@ }, { "pname": "Microsoft.Extensions.Options.ConfigurationExtensions", - "version": "10.0.6", - "hash": "sha256-T0HNAYrIsm1xzfBD1qLqziI5qwSsGXGmXSDdOgpC5s0=" + "version": "10.0.11", + "hash": "sha256-sx6aAZ3i7yZVIzqVcs+W8zT1V/nEua/ZwfnHRJX2Nxo=" }, { "pname": "Microsoft.Extensions.Options.ConfigurationExtensions", @@ -891,13 +876,8 @@ }, { "pname": "Microsoft.Extensions.Primitives", - "version": "10.0.5", - "hash": "sha256-uvrur+0dg4zAAQcpLkkhPA77ST0tA3+EpGdDlCckC+E=" - }, - { - "pname": "Microsoft.Extensions.Primitives", - "version": "10.0.6", - "hash": "sha256-/iSFDryQIl8rl+TtrzunT5LcbPsQCeC2V+9CnS1P4Cc=" + "version": "10.0.11", + "hash": "sha256-4z+bHf8r4cFzX2VwW3HdZ44yBjZpfhYzlgzkdpbS7o0=" }, { "pname": "Microsoft.Extensions.Primitives", @@ -936,38 +916,38 @@ }, { "pname": "Microsoft.IdentityModel.Abstractions", - "version": "8.17.0", - "hash": "sha256-AU+EMOZArc3rTdsnKYzAufFAtspuYQM3XYi8/VsQAio=" + "version": "8.22.0", + "hash": "sha256-7bBFHdYh/nftSX7dodUj17SB0jb2hmumyYihn53kZAw=" }, { "pname": "Microsoft.IdentityModel.JsonWebTokens", - "version": "8.17.0", - "hash": "sha256-MH7vdhCNAae32p6UTvaDtmyvFDxa/W71qTsEQ6yC9xM=" + "version": "8.22.0", + "hash": "sha256-8TW85/8cHUZaQrVb68YYzvF3m6l20acJ+JCOoAP0FRI=" }, { "pname": "Microsoft.IdentityModel.Logging", - "version": "8.17.0", - "hash": "sha256-IM6jsPMz+l9JA0cye/v2ke51xlfP0u5HtWBqc2aKDYM=" + "version": "8.22.0", + "hash": "sha256-yUuLjrNf/kqVf1W2txx2GKc0tqM6IqOlcJkno8pVhP8=" }, { "pname": "Microsoft.IdentityModel.Protocols", - "version": "8.0.1", - "hash": "sha256-v3DIpG6yfIToZBpHOjtQHRo2BhXGDoE70EVs6kBtrRg=" + "version": "8.19.2", + "hash": "sha256-soADEUQsOp1Hytt1qLo+jOOeq7uy7I7tUOWogXeQXFY=" }, { "pname": "Microsoft.IdentityModel.Protocols.OpenIdConnect", - "version": "8.0.1", - "hash": "sha256-ZHKaZxqESk+OU1SFTFGxvZ71zbdgWqv1L6ET9+fdXX0=" + "version": "8.19.2", + "hash": "sha256-uSrN5xlG+SXlxg4NACFU2FSlC3V3hYojdhU8lUc687o=" }, { "pname": "Microsoft.IdentityModel.Tokens", - "version": "8.0.1", - "hash": "sha256-beVbbVQy874HlXkTKarPTT5/r7XR1NGHA/50ywWp7YA=" + "version": "8.19.2", + "hash": "sha256-POi3SzcK3+iB3104wXYh3ooVD1GbltwTUf+KMj//UYU=" }, { "pname": "Microsoft.IdentityModel.Tokens", - "version": "8.17.0", - "hash": "sha256-XcA0KXJbqMWt0I5LuHHMRLpgVQ18KcBej1BoySHeA1A=" + "version": "8.22.0", + "hash": "sha256-cI3VoDGdlniZL4xsq03h599bDLu+8tlQE9PbbSzhq8k=" }, { "pname": "Microsoft.IO.RecyclableMemoryStream", @@ -976,8 +956,8 @@ }, { "pname": "Microsoft.Net.Http.Headers", - "version": "10.0.6", - "hash": "sha256-/4WgtVHeoYv0MJhLqWYChPKh2AOXsJfyA+wFPKrI+14=" + "version": "10.0.11", + "hash": "sha256-k6OG7wtLmNBSt0V8d++FvvBdf7b2IbyW5ebbwLYu2JY=" }, { "pname": "Microsoft.Net.Http.Headers", @@ -989,6 +969,16 @@ "version": "2.3.0", "hash": "sha256-XY3OyhKTzUVbmMnegp0IxApg8cw97RD9eXC2XenrOqE=" }, + { + "pname": "Microsoft.Net.Http.Headers", + "version": "2.3.10", + "hash": "sha256-4LG06n+vo2bFpg9dQ9NSLvVf7rQfiD+k0FEq5S6tDsE=" + }, + { + "pname": "Microsoft.Net.Http.Headers", + "version": "2.3.8", + "hash": "sha256-IgcqzFtv8NAmnb8uvr+lEKHWSehpK3eciCIZ/lcFyaI=" + }, { "pname": "Microsoft.NETCore.Platforms", "version": "1.1.0", @@ -996,8 +986,8 @@ }, { "pname": "Microsoft.OpenApi", - "version": "2.4.1", - "hash": "sha256-DXdbXq5Gpg3MJVBM0C8uF6mcLczVJAUFp6LAdFojgPs=" + "version": "2.7.5", + "hash": "sha256-oYeR/8toy23G+YbVWfJUdMHPKdbfaYU2+0sQ9TIX0yA=" }, { "pname": "Microsoft.VisualStudio.SolutionPersistence", @@ -1006,13 +996,13 @@ }, { "pname": "Microsoft.Win32.SystemEvents", - "version": "10.0.6", - "hash": "sha256-9aY12va83TDG3ATTMTPIAKsKNtcXJGyiRsIK+s7U1Fc=" + "version": "10.0.11", + "hash": "sha256-6zse+EdDZcELO+eAlTgOJpZXEs2J3j6omHBVJfW0X1A=" }, { "pname": "MimeKit", - "version": "4.16.0", - "hash": "sha256-yWGXVm+EHvBSsZlVHdWdD+rVwdf/5hHxsUfJMSd2Afo=" + "version": "4.17.0", + "hash": "sha256-GpWv+8shoprshuPNB+H+C5saffiKQ6Pek3zhLUGklRo=" }, { "pname": "MimeTypeMapOfficial", @@ -1031,13 +1021,13 @@ }, { "pname": "NeoSmart.Caching.Sqlite", - "version": "9.0.1", - "hash": "sha256-VqCqQmJRT+S8m6xaGbphI2Oq+0b9qqrtg5AptB0IqTI=" + "version": "9.0.3", + "hash": "sha256-SfJNJPjxUlUOW4wzN1Ay1FYxFUyU7RywIRH21i6PQWI=" }, { "pname": "NeoSmart.Caching.Sqlite.AspNetCore", - "version": "9.0.1", - "hash": "sha256-yD5ILqaA7ygC/ZByCwc60GA76SBC1O2vrdm7W7jvLeQ=" + "version": "9.0.3", + "hash": "sha256-0CxeY/eiOib0BWznH2nQtA/5qK3Pl6C330lzSNrbCXc=" }, { "pname": "NETStandard.Library", @@ -1051,58 +1041,58 @@ }, { "pname": "NetVips.Native", - "version": "8.18.2", - "hash": "sha256-KR6aE5I7RKneD+3WSSX7DCM3E+jlttYAlt3b9ngewF0=" + "version": "8.18.5", + "hash": "sha256-uPfjlt7/Tfl9JYmGcMucEY9I8obGPlnX+qE5XAaOA4Y=" }, { "pname": "NetVips.Native.linux-arm", - "version": "8.18.2", - "hash": "sha256-qEMu4zSSbqbJBE7BaAVoNBv8D4bX16c70sxLL+WU0fo=" + "version": "8.18.5", + "hash": "sha256-FaVvFzSIHxsM/pvpkvObRRCbNHVGXCBIxXyFdkOMjDQ=" }, { "pname": "NetVips.Native.linux-arm64", - "version": "8.18.2", - "hash": "sha256-dFLghk06fGH1w6pY+HzYorGptwB81voIGDQT9qipgVU=" + "version": "8.18.5", + "hash": "sha256-mIwUA+AWf2rq5fTBsWC4H/5cosc0o4pWQvD9dPgyb8c=" }, { "pname": "NetVips.Native.linux-musl-arm64", - "version": "8.18.2", - "hash": "sha256-6VYO0Y54+Dp6zWGjMZDJ2+1vg7wYT8+ahimQd/4NWMU=" + "version": "8.18.5", + "hash": "sha256-zlVmca0zQG1l4ZJEKO9XCJniNDHJ2e1p1/EtuIyo0Qk=" }, { "pname": "NetVips.Native.linux-musl-x64", - "version": "8.18.2", - "hash": "sha256-42iSMN2luLpSUUX5peanVT4BLoRG9Zp4s/eyafnTlRE=" + "version": "8.18.5", + "hash": "sha256-3TZHyGhxM9lDZZkEpv0OV223VstR3Bl1BJqeUfhH/DM=" }, { "pname": "NetVips.Native.linux-x64", - "version": "8.18.2", - "hash": "sha256-B9mDRhVUK0xA4u0TA+mg0wdmZuE0r9tFrCdqy7JTKT4=" + "version": "8.18.5", + "hash": "sha256-GM3s3UIApkgQ5oTln+vZe11m8yaCqEl+fs/SGiDFavk=" }, { "pname": "NetVips.Native.osx-arm64", - "version": "8.18.2", - "hash": "sha256-0Z4ebWvYJzxXEsOIj9EioDMGW13jchBvNSHWNw+H0i8=" + "version": "8.18.5", + "hash": "sha256-KG3INM4TliZ0Lw8UGsGCLaCkwjw+Z/z0PDpd4Gda8j0=" }, { "pname": "NetVips.Native.osx-x64", - "version": "8.18.2", - "hash": "sha256-k2stqKPwoC8VFZv65fLFJiUJkjFdDBSci71Rmc7W8Io=" + "version": "8.18.5", + "hash": "sha256-snJuf1o4NZMxUcaqY4QMwK0VzbJjaI9sVXyOcg7BldY=" }, { "pname": "NetVips.Native.win-arm64", - "version": "8.18.2", - "hash": "sha256-VxPcs8tiH21n2rbsVAk35xLyymAPT0/YNNnatNvCxvk=" + "version": "8.18.5", + "hash": "sha256-MjQbMz2k/FIYOLCoQdUwZap6rufoiNxYCtoiiAereig=" }, { "pname": "NetVips.Native.win-x64", - "version": "8.18.2", - "hash": "sha256-xLsrZeLS3Okk+LkrK2xkaWyP0J9TBguxNytJh1iLQN8=" + "version": "8.18.5", + "hash": "sha256-wETKatS3LoyibfQy3gA9hVjy1FvCLbq2ULnKLUYSfaU=" }, { "pname": "NetVips.Native.win-x86", - "version": "8.18.2", - "hash": "sha256-w17N008yfpgLXY54Pb/gUJ6YqCZU7OGq+je/OYozaig=" + "version": "8.18.5", + "hash": "sha256-RpBid9SbQ3pTcBHdC2Zk1S7980qNwiC57G9hfxkmI0c=" }, { "pname": "Newtonsoft.Json", @@ -1126,13 +1116,13 @@ }, { "pname": "Polly", - "version": "8.6.6", - "hash": "sha256-0BrOttCw+HQYB24Y2uMy2vo0P5/txUlhELC8FlyLKps=" + "version": "8.7.0", + "hash": "sha256-iMNusWW+4nuIvkNLUaoru23Roe9vpC140TOIHbLvewE=" }, { "pname": "Polly.Core", - "version": "8.6.6", - "hash": "sha256-y6/a4OWrUlRfe0J8qdhBRmYRDi6K2y+kwhEVCIUOjvU=" + "version": "8.7.0", + "hash": "sha256-1AT4Xym9hn2Awgul9WErwXk2bBPN58P9XfRExrIPItg=" }, { "pname": "Scrutor", @@ -1161,8 +1151,8 @@ }, { "pname": "Serilog", - "version": "4.3.1", - "hash": "sha256-TY+GaQYnyDfOGl0gi67xDyUMOuV/mjz8BU66/UsmStI=" + "version": "4.4.0", + "hash": "sha256-tP4X06ThcDVL6XXtYIhdJyxn4uL9jLL0s3DRO6HNQk8=" }, { "pname": "Serilog.AspNetCore", @@ -1199,6 +1189,11 @@ "version": "10.0.0", "hash": "sha256-WJK+wR7XPGAtD+vO+pjF5mn4qy8tO5uWIqHhovL0lAs=" }, + { + "pname": "Serilog.Settings.Configuration", + "version": "10.0.1", + "hash": "sha256-aR+zh+LH9gshorDgm3YDq/KaRNNTZMqCfvXAgQ9EYmQ=" + }, { "pname": "Serilog.Sinks.AspNetCore.SignalR", "version": "0.4.0", @@ -1226,28 +1221,23 @@ }, { "pname": "SharpCompress", - "version": "0.47.4", - "hash": "sha256-mH0R+al2GUomIYkieYudTmF1mAnIUiifQPTp13eUFg8=" - }, - { - "pname": "SixLabors.ImageSharp", - "version": "3.1.12", - "hash": "sha256-FR8v74w4P/1AZdW5ARW0y8zgDqLtvhxQmL1CKv68xR0=" + "version": "0.50.4", + "hash": "sha256-BFrEiG6q1U/LDpeFzaMSF45xQFefpL69PlI4RWzilws=" }, { "pname": "SonarAnalyzer.CSharp", - "version": "10.23.0.137933", - "hash": "sha256-phxiICdupuG9F8o/Qn7MTIWDgLo8yWmdVCPbgjwPgWA=" + "version": "10.32.0.713", + "hash": "sha256-t35nnEZ9MGFFBAvN7uAJlIbCddh8C9Ia8XxkTBIXnBQ=" }, { "pname": "SQLitePCLRaw.bundle_e_sqlite3", - "version": "2.1.11", - "hash": "sha256-kWRapMTVEfcc0DxnI9Ai1+RwAAcR2+HUu+WF+OeLJCs=" + "version": "2.1.12", + "hash": "sha256-qaBua1oxP27zZ1+RmX0BKt7/6KqeH/1p7Uak5oWwVOE=" }, { "pname": "SQLitePCLRaw.bundle_green", - "version": "2.1.10", - "hash": "sha256-IanG4p+Jb/2TYaxEEdKb/Ecs6TtJaboQYUCyC5sYC/s=" + "version": "2.1.11", + "hash": "sha256-gDSZzXICknhJmkZ1Lb++TGn55JfrbVWOLn3nOvHwdjw=" }, { "pname": "SQLitePCLRaw.core", @@ -1256,13 +1246,13 @@ }, { "pname": "SQLitePCLRaw.core", - "version": "2.1.11", - "hash": "sha256-s/fxEoYlNf9c2C4HZueMzPCBvpiViDVlSpg7epB0GXY=" + "version": "2.1.12", + "hash": "sha256-rwaQQTj/ptyVpZkTPWTSVHFtb6zHVDprO5EHk9rp3KU=" }, { - "pname": "SQLitePCLRaw.lib.e_sqlite3", - "version": "2.1.10", - "hash": "sha256-m2v2RQWol+1MNGZsx+G2N++T9BNtQGLLHXUjcwkdCnc=" + "pname": "SQLitePCLRaw.core", + "version": "3.0.5", + "hash": "sha256-dHa0uOBn2IxMtZijGJO1EQN7iOBcKNUk9LRDP+n2kEg=" }, { "pname": "SQLitePCLRaw.lib.e_sqlite3", @@ -1270,19 +1260,29 @@ "hash": "sha256-ZmffbHNgnLUdsPbikilEAihxXl1MedIBQ1Xzt9226Bw=" }, { - "pname": "SQLitePCLRaw.provider.e_sqlite3", - "version": "2.1.10", - "hash": "sha256-MLs3jiETLZ7k/TgkHynZegCWuAbgHaDQKTPB0iNv7Fg=" + "pname": "SQLitePCLRaw.lib.e_sqlite3", + "version": "2.1.12", + "hash": "sha256-SiLAL/z0iXkpA88mPe+fzidzlxaIP5ZfC17v8WN0MKw=" + }, + { + "pname": "SQLitePCLRaw.lib.e_sqlite3", + "version": "3.53.3", + "hash": "sha256-cstyR3khjgJIM6IeKQPHlanpDAv6AVIPJ5kMNkE/MtQ=" }, { "pname": "SQLitePCLRaw.provider.e_sqlite3", "version": "2.1.11", "hash": "sha256-LdfV325AmYgBOwmwP7MNZxMJZkNO6bwrHvB6C5SyItA=" }, + { + "pname": "SQLitePCLRaw.provider.e_sqlite3", + "version": "2.1.12", + "hash": "sha256-3ysycZkuXXGRhsRnHjz0+GWAl8FUy81BSUq1lMWZdZU=" + }, { "pname": "Swashbuckle.AspNetCore", - "version": "10.1.7", - "hash": "sha256-6NUOoTHcPdJAtrlMVkmgKs/sxuwV1Q78QzG+tt4j4wo=" + "version": "10.2.3", + "hash": "sha256-AztrzyU6LVUsEMaWegzdPksGisUh+wXsI02U1LOov9M=" }, { "pname": "Swashbuckle.AspNetCore.Filters", @@ -1296,8 +1296,8 @@ }, { "pname": "Swashbuckle.AspNetCore.Swagger", - "version": "10.1.7", - "hash": "sha256-jRCchEG4ESpuYtbzMDGtKkR9BkLO4Ac3PQwSmu8B6m8=" + "version": "10.2.3", + "hash": "sha256-dTqnBh1DI/K3oSngYOMrXPmXDxMQPjCAMEQTOBcaKKs=" }, { "pname": "Swashbuckle.AspNetCore.SwaggerGen", @@ -1306,13 +1306,13 @@ }, { "pname": "Swashbuckle.AspNetCore.SwaggerGen", - "version": "10.1.7", - "hash": "sha256-+6xUOc4EJS7KXQySb2wH2FF9yGM5rgzvlJz45QQyXBw=" + "version": "10.2.3", + "hash": "sha256-6qF5z995SAqq0AkwSI4mK70Boww08amhW/YTOmUuLh8=" }, { "pname": "Swashbuckle.AspNetCore.SwaggerUI", - "version": "10.1.7", - "hash": "sha256-5JYW0MKQ0ePdMHHZrDDaWuj7BX0pvA7NT/K6M49TFm4=" + "version": "10.2.3", + "hash": "sha256-7LJcUhAdEGhZ6CXIfjA1kDj+pZs3U6dgDTvX5KoXdIY=" }, { "pname": "System.CodeDom", @@ -1356,28 +1356,28 @@ }, { "pname": "System.Diagnostics.EventLog", - "version": "10.0.6", - "hash": "sha256-MpXUz1TiiFkD1ngApC7HKqW+i37zi5V2ApOmqZwDqiI=" + "version": "10.0.11", + "hash": "sha256-w/JzFTvPJr6x9srFpmeB7xPh9fkH1X9vf8izdvmxgt0=" }, { "pname": "System.Drawing.Common", - "version": "10.0.6", - "hash": "sha256-FTXHVYztZSh3PxzJDDFzDNmVBgWHyzdZ565REXSeGv4=" + "version": "10.0.11", + "hash": "sha256-PvdmsppjVK3/OnG39T0ho5UIpNFNSPdJMhlrt4/g5SM=" }, { "pname": "System.IdentityModel.Tokens.Jwt", - "version": "8.0.1", - "hash": "sha256-hW4f9zWs0afxPbcMqCA/FAGvBZbBFSkugIOurswomHg=" + "version": "8.19.2", + "hash": "sha256-kEqfEiWkotfDUDphn0MsMqhOc82qQLXlbo5XYg58/io=" }, { "pname": "System.IdentityModel.Tokens.Jwt", - "version": "8.17.0", - "hash": "sha256-DmAmWVosgwWlKGJm/0wFVbeV19YD2rT+gp8utjY0n0Q=" + "version": "8.22.0", + "hash": "sha256-f/ytqBQxSm3XxzYJTq4cLbmCBl9dffF8uonK7+k++vA=" }, { "pname": "System.IO.Abstractions", - "version": "22.1.1", - "hash": "sha256-6pdLnst5H8W2OjXEn49U+QvZ6XpzGB3A63ITqaFmW0k=" + "version": "22.2.0", + "hash": "sha256-vmH65j0eBwtGjTVJ2fqfg9vh1xLtR0eqIlv1F/JGOek=" }, { "pname": "System.Net.WebSockets.WebSocketProtocol", @@ -1391,8 +1391,8 @@ }, { "pname": "System.Security.Cryptography.Pkcs", - "version": "10.0.5", - "hash": "sha256-d7iz6dRRsxMPLtkQpD0OCbagVO/fHxSLtdoVuV/oC1k=" + "version": "10.0.11", + "hash": "sha256-+L6ZL7/9VeyMlOJDcNjV/Rb7FMxXctLekfWROU0tMIM=" }, { "pname": "System.Security.Cryptography.Pkcs", @@ -1401,28 +1401,33 @@ }, { "pname": "System.Security.Cryptography.Xml", - "version": "10.0.5", - "hash": "sha256-2EVg0Gzv0WZ/Vm8TuSbP0bcFUeHPOe00s2X6mrrhB0g=" + "version": "10.0.11", + "hash": "sha256-oHuLaMtw4Pt0bwZ8hDmM0TpLpxcPoKD+gO4nFI3AmH0=" }, { "pname": "System.Security.Cryptography.Xml", "version": "8.0.2", "hash": "sha256-9TCmVyMB4+By/ipU8vdYDtSnw1tkkebnXXVRdT78+28=" }, + { + "pname": "System.Security.Cryptography.Xml", + "version": "8.0.4", + "hash": "sha256-lB/XDngiCMTFL6iy2BtoJgPN6FYI9iXXX4Qu57Yosb8=" + }, { "pname": "TestableIO.System.IO.Abstractions", - "version": "22.1.1", - "hash": "sha256-nBLPa/4R7gHmKltK260ZX6e+aOLlVkw5+2kuhraF2ec=" + "version": "22.2.0", + "hash": "sha256-kyoEyF+j/vws2STfSMzHKrqzZJu284lszy0PufOdFBY=" }, { "pname": "TestableIO.System.IO.Abstractions.Wrappers", - "version": "22.1.1", - "hash": "sha256-1dLAGZ6XaKlxWsYljNgEsQXG8ET4mubrYxLBNpdee6I=" + "version": "22.2.0", + "hash": "sha256-YUzACGTLDZ8R5S8JoXFYXRtmytFxXE2jFuDHJw5feXw=" }, { "pname": "Testably.Abstractions.FileSystem.Interface", - "version": "10.1.0", - "hash": "sha256-zS5HAJ+iZbjsiiqPE0+M+0PMGxOH1Bsmm3vdNSKoYPU=" + "version": "10.3.0", + "hash": "sha256-uSzMsiXAKZK6NbwXa59zIbCkfI9qwuWsrm5yoLrheKU=" }, { "pname": "TimeZoneConverter", @@ -1441,7 +1446,7 @@ }, { "pname": "YamlDotNet", - "version": "17.0.1", - "hash": "sha256-z23qb/L7DcjLgVsvROjyD7gr342u3QKjcPA2mZ0xz2g=" + "version": "18.1.0", + "hash": "sha256-Wf/mWt5nrZ2IYmf4d7Y0pFA2PLgblOGducpMNkYUFvY=" } ] diff --git a/pkgs/by-name/ka/kavita/package.nix b/pkgs/by-name/ka/kavita/package.nix index ef8765729c2d..da32f4aea5af 100644 --- a/pkgs/by-name/ka/kavita/package.nix +++ b/pkgs/by-name/ka/kavita/package.nix @@ -10,13 +10,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "kavita"; - version = "0.9.0.2"; + version = "0.9.1.4"; src = fetchFromGitHub { owner = "kareadita"; repo = "kavita"; - rev = "v${finalAttrs.version}"; - hash = "sha256-Wfb/Lc+BvkiJLopH1NQx1YQWzm2Sdmvg1Xmn+8YwWus="; + rev = "d77d956b9551227d8be2ee488b08f14aa3a341e5"; # Upstream tagged the wrong commit for 0.9.1.4 + hash = "sha256-f0qGURiegUypD0XKZi43vJbA4KQ8OjZ6kWYg8fh1rPU="; }; backend = buildDotnetModule { @@ -52,7 +52,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { npmBuildScript = "prod"; npmFlags = [ "--legacy-peer-deps" ]; npmRebuildFlags = [ "--ignore-scripts" ]; # Prevent playwright from trying to install browsers - npmDepsHash = "sha256-Qa/lf0hH2KMDdRcBj8GW9cJGE3YZsP32z2kfTk6YNYc="; + npmDepsHash = "sha256-LO2LP70q18yHBfpfsMfG0QtyJIb275En25Df+fS5cr0="; }; dontBuild = true; From 5ff28a0db1efeb1dbdf9a0082ada41c428f7b850 Mon Sep 17 00:00:00 2001 From: Rachala Raj Date: Mon, 31 Aug 2026 20:36:23 +0530 Subject: [PATCH 05/67] xdg-desktop-portal-wormhole: init at 1.0.2 Assisted-by: Antigravity (Gemini 3.8 Flash) --- .../xdg-desktop-portal-wormhole/package.nix | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 pkgs/by-name/xd/xdg-desktop-portal-wormhole/package.nix diff --git a/pkgs/by-name/xd/xdg-desktop-portal-wormhole/package.nix b/pkgs/by-name/xd/xdg-desktop-portal-wormhole/package.nix new file mode 100644 index 000000000000..7171edb55b30 --- /dev/null +++ b/pkgs/by-name/xd/xdg-desktop-portal-wormhole/package.nix @@ -0,0 +1,77 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, + pkg-config, + qt6, + wayland-scanner, + glib, + pipewire, + wayland, + wayland-protocols, + nix-update-script, + testers, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "xdg-desktop-portal-wormhole"; + version = "1.0.2"; + + __structuredAttrs = true; + strictDeps = true; + + src = fetchFromGitHub { + owner = "AstraSuite"; + repo = "Wormhole"; + tag = "v${finalAttrs.version}"; + hash = "sha256-NCttrS5eXXuSYNiynu2jTlpt3brPnS8nNJEAQqcXcuI="; + }; + + postPatch = '' + substituteInPlace src/main.cpp \ + --replace-fail 'app.setApplicationVersion("1.0.0");' 'app.setApplicationVersion("${finalAttrs.version}");' + ''; + + nativeBuildInputs = [ + cmake + ninja + pkg-config + qt6.wrapQtAppsHook + wayland-scanner + ]; + + buildInputs = [ + qt6.qtbase + qt6.qtdeclarative + qt6.qtsvg + qt6.qtmultimedia + glib + pipewire + wayland + wayland-protocols + ]; + + cmakeFlags = [ + (lib.cmakeFeature "WORMHOLE_VERSION" finalAttrs.version) + (lib.cmakeFeature "INIT_SYSTEM" "systemd") + ]; + + passthru = { + updateScript = nix-update-script { }; + tests.version = testers.testVersion { + package = finalAttrs.finalPackage; + command = "QT_QPA_PLATFORM=offscreen wormhole --version"; + }; + }; + + meta = { + description = "XDG Desktop Portal for Caelestia Shell"; + homepage = "https://github.com/AstraSuite/Wormhole"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ rachalaraj ]; + mainProgram = "wormhole"; + platforms = lib.platforms.linux; + }; +}) From ed00285822d826c42152969083155126c23c1442 Mon Sep 17 00:00:00 2001 From: Rachala Raj Date: Mon, 31 Aug 2026 19:34:00 +0530 Subject: [PATCH 06/67] atlas-file-manager: init at 1.2.0 Assisted-by: Antigravity (Gemini 3.8 Flash) --- .../by-name/at/atlas-file-manager/package.nix | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 pkgs/by-name/at/atlas-file-manager/package.nix diff --git a/pkgs/by-name/at/atlas-file-manager/package.nix b/pkgs/by-name/at/atlas-file-manager/package.nix new file mode 100644 index 000000000000..f3fe0ab39784 --- /dev/null +++ b/pkgs/by-name/at/atlas-file-manager/package.nix @@ -0,0 +1,68 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, + pkg-config, + qt6, + exiv2, + nix-update-script, + testers, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "atlas-file-manager"; + version = "1.2.0"; + + __structuredAttrs = true; + strictDeps = true; + + src = fetchFromGitHub { + owner = "AstraSuite"; + repo = "Atlas"; + tag = "v${finalAttrs.version}"; + hash = "sha256-l/jdB90oPVxFG5LlylQxYskYJN+av+MGjiy4jh5Il6s="; + }; + + postPatch = '' + substituteInPlace src/main.cpp \ + --replace-fail 'app.setApplicationVersion("1.0.0");' 'app.setApplicationVersion("${finalAttrs.version}");' + ''; + + nativeBuildInputs = [ + cmake + ninja + pkg-config + qt6.wrapQtAppsHook + ]; + + buildInputs = [ + qt6.qtbase + qt6.qtdeclarative + qt6.qtsvg + qt6.qtmultimedia + exiv2 + ]; + + cmakeFlags = [ + (lib.cmakeFeature "ATLAS_VERSION" finalAttrs.version) + ]; + + passthru = { + updateScript = nix-update-script { }; + tests.version = testers.testVersion { + package = finalAttrs.finalPackage; + command = "QT_QPA_PLATFORM=offscreen atlas --version"; + }; + }; + + meta = { + description = "File manager for Caelestia"; + homepage = "https://github.com/AstraSuite/Atlas"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ rachalaraj ]; + mainProgram = "atlas"; + platforms = lib.platforms.linux; + }; +}) From 0dfb439b0e866a51741478dbe7a26b913ae934f9 Mon Sep 17 00:00:00 2001 From: Dom Rodriguez Date: Fri, 18 Sep 2026 22:45:45 +0100 Subject: [PATCH 07/67] buildstream: re-enable tests fixed upstream test_fixed_cas_import, test_random_cas_import, and test_source_pull_partial_fallback_fetch were previously disabled but now pass cleanly against buildstream 2.8.0. Confirmed via a full nix build .#buildstream -L test run. Assisted-by: Claude Code (claude-sonnet-5) --- pkgs/by-name/bu/buildstream/package.nix | 7 ------- 1 file changed, 7 deletions(-) diff --git a/pkgs/by-name/bu/buildstream/package.nix b/pkgs/by-name/bu/buildstream/package.nix index 43f55b73362e..4fac8d5fdf28 100644 --- a/pkgs/by-name/bu/buildstream/package.nix +++ b/pkgs/by-name/bu/buildstream/package.nix @@ -92,18 +92,11 @@ python3Packages.buildPythonApplication (finalAttrs: { # Error loading project: project.conf [line 37 column 2]: Failed to load source-mirror plugin 'mirror': No package metadata was found for sample-plugins "test_source_mirror_plugin" - # AssertionError: assert '1a5528cad211...0bbe5ee314c14' == '2ccfee62a657...52dbc47203a88' - "test_fixed_cas_import" - "test_random_cas_import" - # Runtime error: The FUSE stager child process unexpectedly died with exit code 2 "test_patch_sources_cached_1" "test_patch_sources_cached_2" "test_source_cache_key" "test_custom_transform_source" - - # Blob not found in the local CAS - "test_source_pull_partial_fallback_fetch" ]; disabledTestPaths = [ From 82468e01a35b4ad6624e9ceb2d96ff6f86032d2c Mon Sep 17 00:00:00 2001 From: Dom Rodriguez Date: Fri, 18 Sep 2026 22:46:05 +0100 Subject: [PATCH 08/67] buildstream: fix tests/internals/cascache.py sandbox shebang The dummy buildbox-casd scripts these tests spawn use a `#!/usr/bin/env sh` shebang. `/usr/bin/env` doesn't exist inside the Nix build sandbox (no FHS paths), so exec of the script fails with FileNotFoundError before it ever runs. Rewrite the shebang to an absolute store path via runtimeShell in postPatch, and drop the disabledTestPaths exclusion for the whole file now that all four tests pass. Assisted-by: Claude Code (claude-sonnet-5) --- pkgs/by-name/bu/buildstream/package.nix | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/bu/buildstream/package.nix b/pkgs/by-name/bu/buildstream/package.nix index 4fac8d5fdf28..686fcc2d5f73 100644 --- a/pkgs/by-name/bu/buildstream/package.nix +++ b/pkgs/by-name/bu/buildstream/package.nix @@ -3,6 +3,7 @@ python3Packages, fetchFromGitHub, gitUpdater, + runtimeShell, # buildInputs buildbox, @@ -72,6 +73,13 @@ python3Packages.buildPythonApplication (finalAttrs: { patch ]; + # The dummy buildbox-casd scripts spawned by tests/internals/cascache.py use + # an `/usr/bin/env sh` shebang, which doesn't exist in the Nix build sandbox. + postPatch = '' + substituteInPlace tests/internals/cascache.py \ + --replace-fail '#!/usr/bin/env sh' '#!${runtimeShell}' + ''; + pythonImportsCheck = [ "buildstream" ]; nativeCheckInputs = [ @@ -99,11 +107,6 @@ python3Packages.buildPythonApplication (finalAttrs: { "test_custom_transform_source" ]; - disabledTestPaths = [ - # FileNotFoundError: [Errno 2] No such file or directory: '/build/source/tmp/popen-gw1/test_report_when_cascache_exit0/buildbox-casd' - "tests/internals/cascache.py" - ]; - postInstall = '' installShellCompletion --cmd bst \ --bash src/buildstream/data/bst \ From 559968897f162beef3f61776d97bdace8b65b3c2 Mon Sep 17 00:00:00 2001 From: Dom Rodriguez Date: Fri, 18 Sep 2026 22:46:21 +0100 Subject: [PATCH 09/67] buildstream: install sample-plugins fixture for pip mirror test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit test_source_mirror_plugin[pip] loads a source-mirror plugin via a `pip` origin, which resolves the plugin package through importlib.metadata. Build the `sample-plugins` test fixture package (shipped in buildstream's own tests/plugins/sample-plugins) and add it to nativeCheckInputs so its entry-point metadata is visible. Note: pyproject = true; build-system = [ setuptools ]; is required here even though the fixture only has a setup.py — setuptools synthesizes the PEP 517 backend for legacy projects. pyproject = false without a Makefile silently no-ops the build and install phases, producing an empty package. Assisted-by: Claude Code (claude-sonnet-5) --- pkgs/by-name/bu/buildstream/package.nix | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/bu/buildstream/package.nix b/pkgs/by-name/bu/buildstream/package.nix index 686fcc2d5f73..11bc1d1e7f59 100644 --- a/pkgs/by-name/bu/buildstream/package.nix +++ b/pkgs/by-name/bu/buildstream/package.nix @@ -94,12 +94,20 @@ python3Packages.buildPythonApplication (finalAttrs: { python3Packages.pytest-xdist python3Packages.pytestCheckHook versionCheckHook + + # Test fixture plugin package used by test_source_mirror_plugin[pip]; upstream + # normally installs this via tox before running the pip-origin plugin loading test. + (python3Packages.buildPythonPackage { + pname = "sample-plugins"; + version = "1.2.3"; + pyproject = true; + build-system = [ python3Packages.setuptools ]; + src = "${finalAttrs.src}/tests/plugins/sample-plugins"; + dontCheck = true; + }) ]; disabledTests = [ - # Error loading project: project.conf [line 37 column 2]: Failed to load source-mirror plugin 'mirror': No package metadata was found for sample-plugins - "test_source_mirror_plugin" - # Runtime error: The FUSE stager child process unexpectedly died with exit code 2 "test_patch_sources_cached_1" "test_patch_sources_cached_2" From 31855cbdfa38faddced5c020a9ce343f926d9b06 Mon Sep 17 00:00:00 2001 From: Dom Rodriguez Date: Fri, 18 Sep 2026 23:03:06 +0100 Subject: [PATCH 10/67] buildstream: avoid FUSE in checkPhase, force hardlink/copy staging /dev/fuse is not available inside the Nix build sandbox, so buildbox-casd's default staging strategy (FUSE, preferred whenever the buildbox-fuse binary is present) crashes at runtime with "The FUSE stager child process unexpectedly died with exit code 2" the moment a test actually stages a CAS directory. buildbox-casd supports a BUILDBOX_STAGER environment variable (casd/buildboxcasd_server.cpp in the buildbox source) that selects the staging backend explicitly; BUILDBOX_STAGER=copy-or-link forces the always-available hardlink/copy stager and skips FUSE entirely. This is a real, supported staging mode, not a workaround. Exporting it in preCheck fixes all four previously-disabled tests (test_patch_sources_cached_1, test_patch_sources_cached_2, test_source_cache_key, test_custom_transform_source), so the disabledTests exclusion for them is removed. The full test suite now passes with zero exclusions. Assisted-by: Claude Code (claude-sonnet-5) --- pkgs/by-name/bu/buildstream/package.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/bu/buildstream/package.nix b/pkgs/by-name/bu/buildstream/package.nix index 11bc1d1e7f59..d4da8b03c5be 100644 --- a/pkgs/by-name/bu/buildstream/package.nix +++ b/pkgs/by-name/bu/buildstream/package.nix @@ -80,6 +80,14 @@ python3Packages.buildPythonApplication (finalAttrs: { --replace-fail '#!/usr/bin/env sh' '#!${runtimeShell}' ''; + # /dev/fuse is not available inside the Nix build sandbox, so buildbox-casd's + # default FUSE-based staging strategy cannot work here. Force the hardlink/copy + # stager instead (this is a real, supported buildbox-casd staging mode, not a + # workaround: https://gitlab.com/BuildGrid/buildbox/buildbox/-/blob/main/casd/buildboxcasd_server.cpp). + preCheck = '' + export BUILDBOX_STAGER=copy-or-link + ''; + pythonImportsCheck = [ "buildstream" ]; nativeCheckInputs = [ @@ -107,14 +115,6 @@ python3Packages.buildPythonApplication (finalAttrs: { }) ]; - disabledTests = [ - # Runtime error: The FUSE stager child process unexpectedly died with exit code 2 - "test_patch_sources_cached_1" - "test_patch_sources_cached_2" - "test_source_cache_key" - "test_custom_transform_source" - ]; - postInstall = '' installShellCompletion --cmd bst \ --bash src/buildstream/data/bst \ From 5f00f710c1b20030d93b727e6ddcbe011c5f18e3 Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Wed, 25 Mar 2026 19:49:20 +0530 Subject: [PATCH 11/67] python3Packages.typesense: 1.1.1 -> 2.0.0 - trap kill typesense-server in preCheck to prevent infinite loop on test failure - disable test_snapshot_async which is flaky when building python31{3,4}.pkgs.typesense in parallel - use dynamic ports in tests to prevent parallel build collisions Co-Authored-By: Fanis Tharropoulos Signed-off-by: phanirithvij --- .../typesense/0001-linux-only-metrics.patch | 62 +++ ...h.patch => 0002-generated-temp-path.patch} | 23 +- .../0003-tests-fix-endpoint-path.patch | 106 +++++ .../typesense/0004-tests-fix-rule_id.patch | 29 ++ ...e-v30-collection-schema-expectations.patch | 385 ++++++++++++++++++ ...d-types-for-stem-and-synonyms-for-Ty.patch | 194 +++++++++ .../python-modules/typesense/default.nix | 71 +++- .../typesense/linux-only-metrics.patch | 48 --- 8 files changed, 843 insertions(+), 75 deletions(-) create mode 100644 pkgs/development/python-modules/typesense/0001-linux-only-metrics.patch rename pkgs/development/python-modules/typesense/{generated-temp-path.patch => 0002-generated-temp-path.patch} (56%) create mode 100644 pkgs/development/python-modules/typesense/0003-tests-fix-endpoint-path.patch create mode 100644 pkgs/development/python-modules/typesense/0004-tests-fix-rule_id.patch create mode 100644 pkgs/development/python-modules/typesense/0005-test-gate-v30-collection-schema-expectations.patch create mode 100644 pkgs/development/python-modules/typesense/0006-feat-curation-add-types-for-stem-and-synonyms-for-Ty.patch delete mode 100644 pkgs/development/python-modules/typesense/linux-only-metrics.patch diff --git a/pkgs/development/python-modules/typesense/0001-linux-only-metrics.patch b/pkgs/development/python-modules/typesense/0001-linux-only-metrics.patch new file mode 100644 index 000000000000..528a1e38d674 --- /dev/null +++ b/pkgs/development/python-modules/typesense/0001-linux-only-metrics.patch @@ -0,0 +1,62 @@ +From 24cb4ac0fcc6bfa88432c5c6a1b061f601458baf Mon Sep 17 00:00:00 2001 +From: phanirithvij +Date: Wed, 25 Mar 2026 18:30:32 +0530 +Subject: [PATCH 1/6] linux only metrics + +Signed-off-by: phanirithvij +--- + tests/metrics_test.py | 18 ++++++++++++------ + 1 file changed, 12 insertions(+), 6 deletions(-) + +diff --git a/tests/metrics_test.py b/tests/metrics_test.py +index 12fc300..6f2295d 100644 +--- a/tests/metrics_test.py ++++ b/tests/metrics_test.py +@@ -42,18 +42,22 @@ def test_init_async(fake_async_api_call: AsyncApiCall) -> None: + ) + assert metrics.resource_path == "/metrics.json" # noqa: WPS437 + ++import platform ++ + + def test_actual_retrieve(actual_metrics: Metrics) -> None: + """Test that the Metrics object can retrieve metrics on Typesense server and verify response structure.""" + response = actual_metrics.retrieve() + +- assert "system_cpu_active_percentage" in response ++ if platform.system() == "Linux": ++ assert "system_cpu_active_percentage" in response ++ assert "system_network_received_bytes" in response ++ assert "system_network_sent_bytes" in response ++ + assert "system_disk_total_bytes" in response + assert "system_disk_used_bytes" in response + assert "system_memory_total_bytes" in response + assert "system_memory_used_bytes" in response +- assert "system_network_received_bytes" in response +- assert "system_network_sent_bytes" in response + assert "typesense_memory_active_bytes" in response + assert "typesense_memory_allocated_bytes" in response + assert "typesense_memory_fragmentation_ratio" in response +@@ -68,13 +72,15 @@ async def test_actual_retrieve_async(actual_async_metrics: AsyncMetrics) -> None + """Test that the AsyncMetrics object can retrieve metrics on Typesense server and verify response structure.""" + response = await actual_async_metrics.retrieve() + +- assert "system_cpu_active_percentage" in response ++ if platform.system() == "Linux": ++ assert "system_cpu_active_percentage" in response ++ assert "system_network_received_bytes" in response ++ assert "system_network_sent_bytes" in response ++ + assert "system_disk_total_bytes" in response + assert "system_disk_used_bytes" in response + assert "system_memory_total_bytes" in response + assert "system_memory_used_bytes" in response +- assert "system_network_received_bytes" in response +- assert "system_network_sent_bytes" in response + assert "typesense_memory_active_bytes" in response + assert "typesense_memory_allocated_bytes" in response + assert "typesense_memory_fragmentation_ratio" in response +-- +2.53.0 + diff --git a/pkgs/development/python-modules/typesense/generated-temp-path.patch b/pkgs/development/python-modules/typesense/0002-generated-temp-path.patch similarity index 56% rename from pkgs/development/python-modules/typesense/generated-temp-path.patch rename to pkgs/development/python-modules/typesense/0002-generated-temp-path.patch index ddb15e2ea64d..902d4712efb6 100644 --- a/pkgs/development/python-modules/typesense/generated-temp-path.patch +++ b/pkgs/development/python-modules/typesense/0002-generated-temp-path.patch @@ -1,11 +1,21 @@ +From ed2f6f31f74fae21cb00b6ea3da92b300fadce76 Mon Sep 17 00:00:00 2001 +From: phanirithvij +Date: Wed, 25 Mar 2026 19:05:02 +0530 +Subject: [PATCH 2/6] generated temp path + +Signed-off-by: phanirithvij +--- + tests/operations_test.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + diff --git a/tests/operations_test.py b/tests/operations_test.py -index 34bb74c..39f9265 100644 +index b48b946..71c134e 100644 --- a/tests/operations_test.py +++ b/tests/operations_test.py -@@ -51,11 +51,11 @@ def test_cache_clear(actual_operations: Operations) -> None: +@@ -69,11 +69,11 @@ def test_cache_clear(actual_operations: Operations) -> None: assert response["success"] - - + + -def test_snapshot(actual_operations: Operations) -> None: +def test_snapshot(actual_operations: Operations, tmp_path) -> None: """Test that the Operations object can perform the snapshot operation.""" @@ -14,5 +24,8 @@ index 34bb74c..39f9265 100644 - {"snapshot_path": "/tmp"}, # noqa: S108 + {"snapshot_path": str(tmp_path)}, # noqa: S108 ) - + assert response["success"] +-- +2.53.0 + diff --git a/pkgs/development/python-modules/typesense/0003-tests-fix-endpoint-path.patch b/pkgs/development/python-modules/typesense/0003-tests-fix-endpoint-path.patch new file mode 100644 index 000000000000..42c8988f074f --- /dev/null +++ b/pkgs/development/python-modules/typesense/0003-tests-fix-endpoint-path.patch @@ -0,0 +1,106 @@ +From 90047673e4191ffaa6431059f9a8c1ffb31ea3cb Mon Sep 17 00:00:00 2001 +From: phanirithvij +Date: Wed, 25 Mar 2026 19:02:46 +0530 +Subject: [PATCH 3/6] tests fix endpoint path + +_endpoint_path is not a function anymore + +Signed-off-by: phanirithvij +--- + tests/override_test.py | 4 ++-- + tests/overrides_test.py | 4 ++-- + tests/synonym_test.py | 4 ++-- + tests/synonyms_test.py | 4 ++-- + 4 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/tests/override_test.py b/tests/override_test.py +index 89526c7..47fc81b 100644 +--- a/tests/override_test.py ++++ b/tests/override_test.py +@@ -47,7 +47,7 @@ def test_init(fake_api_call: ApiCall) -> None: + fake_api_call.config.nearest_node, + ) + assert ( +- override._endpoint_path() # noqa: WPS437 ++ override._endpoint_path # noqa: WPS437 + == "/collections/companies/overrides/company_override" + ) + +@@ -104,7 +104,7 @@ def test_init_async(fake_async_api_call: AsyncApiCall) -> None: + fake_async_api_call.config.nearest_node, + ) + assert ( +- override._endpoint_path() # noqa: WPS437 ++ override._endpoint_path # noqa: WPS437 + == "/collections/companies/overrides/company_override" + ) + +diff --git a/tests/overrides_test.py b/tests/overrides_test.py +index a9376b5..de4de73 100644 +--- a/tests/overrides_test.py ++++ b/tests/overrides_test.py +@@ -61,7 +61,7 @@ def test_get_missing_override(fake_overrides: Overrides) -> None: + ) + assert override.collection_name == "companies" + assert ( +- override._endpoint_path() # noqa: WPS437 ++ override._endpoint_path # noqa: WPS437 + == "/collections/companies/overrides/company_override" + ) + +@@ -186,7 +186,7 @@ def test_get_missing_override_async(fake_async_overrides) -> None: + ) + assert override.collection_name == "companies" + assert ( +- override._endpoint_path() # noqa: WPS437 ++ override._endpoint_path # noqa: WPS437 + == "/collections/companies/overrides/company_override" + ) + +diff --git a/tests/synonym_test.py b/tests/synonym_test.py +index cfe6e51..d9affd9 100644 +--- a/tests/synonym_test.py ++++ b/tests/synonym_test.py +@@ -45,7 +45,7 @@ def test_init(fake_api_call: ApiCall) -> None: + fake_api_call.config.nearest_node, + ) + assert ( +- synonym._endpoint_path() # noqa: WPS437 ++ synonym._endpoint_path # noqa: WPS437 + == "/collections/companies/synonyms/company_synonym" + ) + +@@ -99,7 +99,7 @@ def test_init_async(fake_async_api_call: AsyncApiCall) -> None: + fake_async_api_call.config.nearest_node, + ) + assert ( +- synonym._endpoint_path() # noqa: WPS437 ++ synonym._endpoint_path # noqa: WPS437 + == "/collections/companies/synonyms/company_synonym" + ) + +diff --git a/tests/synonyms_test.py b/tests/synonyms_test.py +index 3402493..afe8638 100644 +--- a/tests/synonyms_test.py ++++ b/tests/synonyms_test.py +@@ -62,7 +62,7 @@ def test_get_missing_synonym(fake_synonyms: Synonyms) -> None: + ) + assert synonym.collection_name == "companies" + assert ( +- synonym._endpoint_path() # noqa: WPS437 ++ synonym._endpoint_path # noqa: WPS437 + == "/collections/companies/synonyms/company_synonym" + ) + +@@ -174,7 +174,7 @@ def test_get_missing_synonym_async(fake_async_synonyms) -> None: + ) + assert synonym.collection_name == "companies" + assert ( +- synonym._endpoint_path() # noqa: WPS437 ++ synonym._endpoint_path # noqa: WPS437 + == "/collections/companies/synonyms/company_synonym" + ) + +-- +2.53.0 + diff --git a/pkgs/development/python-modules/typesense/0004-tests-fix-rule_id.patch b/pkgs/development/python-modules/typesense/0004-tests-fix-rule_id.patch new file mode 100644 index 000000000000..5e6f6fae4ddf --- /dev/null +++ b/pkgs/development/python-modules/typesense/0004-tests-fix-rule_id.patch @@ -0,0 +1,29 @@ +From f6989c8e29fcb03bf76f1b143d116f081091fad1 Mon Sep 17 00:00:00 2001 +From: phanirithvij +Date: Wed, 25 Mar 2026 19:35:38 +0530 +Subject: [PATCH 4/6] tests fix rule_id + +rule_id is not found for this class but rule_name exists with the +expected value + +Signed-off-by: phanirithvij +--- + tests/analytics_rules_v1_test.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/analytics_rules_v1_test.py b/tests/analytics_rules_v1_test.py +index d222d99..d1021d8 100644 +--- a/tests/analytics_rules_v1_test.py ++++ b/tests/analytics_rules_v1_test.py +@@ -45,7 +45,7 @@ def test_get_missing_analytics_rule(fake_analytics_rules: AnalyticsRulesV1) -> N + """Test that the AnalyticsRulesV1 object can get a missing analytics_rule.""" + analytics_rule = fake_analytics_rules["company_analytics_rule"] + +- assert analytics_rule.rule_id == "company_analytics_rule" ++ assert analytics_rule.rule_name == "company_analytics_rule" + assert_match_object(analytics_rule.api_call, fake_analytics_rules.api_call) + assert_object_lists_match( + analytics_rule.api_call.node_manager.nodes, +-- +2.53.0 + diff --git a/pkgs/development/python-modules/typesense/0005-test-gate-v30-collection-schema-expectations.patch b/pkgs/development/python-modules/typesense/0005-test-gate-v30-collection-schema-expectations.patch new file mode 100644 index 000000000000..ecaad48a362b --- /dev/null +++ b/pkgs/development/python-modules/typesense/0005-test-gate-v30-collection-schema-expectations.patch @@ -0,0 +1,385 @@ +From 6eecb90897548584b8907731abf981237e032997 Mon Sep 17 00:00:00 2001 +From: Fanis Tharropoulos +Date: Thu, 7 May 2026 18:59:56 +0300 +Subject: [PATCH 5/6] test: gate v30 collection schema expectations + +- keep v29.0 and earlier tests passing +--- + tests/collection_test.py | 31 +++-- + tests/collections_test.py | 242 +++++++++++++------------------------- + 2 files changed, 106 insertions(+), 167 deletions(-) + +diff --git a/tests/collection_test.py b/tests/collection_test.py +index 7eb29fa..30093d1 100644 +--- a/tests/collection_test.py ++++ b/tests/collection_test.py +@@ -5,12 +5,24 @@ from tests.utils.object_assertions import ( + assert_object_lists_match, + assert_to_contain_object, + ) ++from tests.utils.version import is_v30_or_above + from typesense.sync.api_call import ApiCall ++from typesense.sync.client import Client + from typesense.sync.collection import Collection + from typesense.sync.collections import Collections + from typesense.types.collection import CollectionSchema + + ++is_v30_or_above_server = is_v30_or_above( ++ Client( ++ { ++ "api_key": "xyz", ++ "nodes": [{"host": "localhost", "port": 8108, "protocol": "http"}], ++ } ++ ) ++) ++ ++ + def test_init(fake_api_call: ApiCall) -> None: + """Test that the Collection object is initialized correctly.""" + collection = Collection(fake_api_call, "companies") +@@ -52,7 +64,6 @@ def test_actual_retrieve( + "infix": False, + "stem": False, + "stem_dictionary": "", +- "truncate_len": 100, + "store": True, + }, + { +@@ -66,7 +77,6 @@ def test_actual_retrieve( + "infix": False, + "stem": False, + "stem_dictionary": "", +- "truncate_len": 100, + "store": True, + }, + ], +@@ -74,9 +84,12 @@ def test_actual_retrieve( + "num_documents": 0, + "symbols_to_index": [], + "token_separators": [], +- "synonym_sets": [], +- "curation_sets": [], + } ++ if is_v30_or_above_server: ++ expected["synonym_sets"] = [] ++ expected["curation_sets"] = [] ++ expected["fields"][0]["truncate_len"] = 100 ++ expected["fields"][1]["truncate_len"] = 100 + + response.pop("created_at") + +@@ -93,10 +106,8 @@ def test_actual_update( + {"fields": [{"name": "num_locations", "type": "int32"}]}, + ) + +- expected: CollectionSchema = { +- "fields": [ +- {"name": "num_locations", "truncate_len": 100, "type": "int32"}, +- ], +- } ++ expected_field = {"name": "num_locations", "type": "int32"} ++ if is_v30_or_above_server: ++ expected_field["truncate_len"] = 100 + +- assert_to_contain_object(response.get("fields")[0], expected.get("fields")[0]) ++ assert_to_contain_object(response.get("fields")[0], expected_field) +diff --git a/tests/collections_test.py b/tests/collections_test.py +index 788e3dc..94e3c60 100644 +--- a/tests/collections_test.py ++++ b/tests/collections_test.py +@@ -1,6 +1,5 @@ + """Tests for the Collections class.""" + +- + import sys + + from typesense.async_.api_call import AsyncApiCall +@@ -13,11 +12,68 @@ else: + + from tests.utils.object_assertions import assert_match_object, assert_object_lists_match + from typesense.sync.api_call import ApiCall ++from tests.utils.version import is_v30_or_above + from typesense.sync.collections import Collections + from typesense.async_.collections import AsyncCollections ++from typesense.sync.client import Client + from typesense.types.collection import CollectionSchema + + ++IS_V30_OR_ABOVE = is_v30_or_above( ++ Client( ++ { ++ "api_key": "xyz", ++ "nodes": [{"host": "localhost", "port": 8108, "protocol": "http"}], ++ } ++ ) ++) ++ ++ ++def expected_collection_field( ++ name: str, ++ type_: str, ++ *, ++ sort: bool, ++) -> dict[str, typing.Any]: ++ field: dict[str, typing.Any] = { ++ "name": name, ++ "type": type_, ++ "facet": False, ++ "index": True, ++ "optional": False, ++ "locale": "", ++ "sort": sort, ++ "infix": False, ++ "stem": False, ++ "stem_dictionary": "", ++ "store": True, ++ } ++ if IS_V30_OR_ABOVE: ++ field["truncate_len"] = 100 ++ return field ++ ++ ++def expected_collection_schema( ++ *, ++ default_sorting_field: str, ++ fields: typing.List[dict[str, typing.Any]], ++ name: str, ++) -> CollectionSchema: ++ expected: CollectionSchema = { ++ "default_sorting_field": default_sorting_field, ++ "enable_nested_fields": False, ++ "fields": fields, ++ "name": name, ++ "num_documents": 0, ++ "symbols_to_index": [], ++ "token_separators": [], ++ } ++ if IS_V30_OR_ABOVE: ++ expected["synonym_sets"] = [] ++ expected["curation_sets"] = [] ++ return expected ++ ++ + def test_init(fake_api_call: ApiCall) -> None: + """Test that the Collections object is initialized correctly.""" + collections = Collections(fake_api_call) +@@ -98,46 +154,14 @@ def test_get_existing_collection(fake_collections: Collections) -> None: + + def test_actual_create(actual_collections: Collections, delete_all: None) -> None: + """Test that the Collections object can create a collection on Typesense Server.""" +- expected: CollectionSchema = { +- "default_sorting_field": "", +- "enable_nested_fields": False, +- "fields": [ +- { +- "name": "company_name", +- "type": "string", +- "facet": False, +- "index": True, +- "optional": False, +- "locale": "", +- "sort": False, +- "infix": False, +- "stem": False, +- "stem_dictionary": "", +- "truncate_len": 100, +- "store": True, +- }, +- { +- "name": "num_employees", +- "type": "int32", +- "facet": False, +- "index": True, +- "optional": False, +- "locale": "", +- "sort": False, +- "infix": False, +- "stem": False, +- "stem_dictionary": "", +- "truncate_len": 100, +- "store": True, +- }, ++ expected = expected_collection_schema( ++ default_sorting_field="", ++ fields=[ ++ expected_collection_field("company_name", "string", sort=False), ++ expected_collection_field("num_employees", "int32", sort=False), + ], +- "name": "companies", +- "num_documents": 0, +- "symbols_to_index": [], +- "token_separators": [], +- "synonym_sets": [], +- "curation_sets": [], +- } ++ name="companies", ++ ) + + response = actual_collections.create( + { +@@ -170,46 +194,14 @@ def test_actual_retrieve( + response = actual_collections.retrieve() + + expected: typing.List[CollectionSchema] = [ +- { +- "default_sorting_field": "num_employees", +- "enable_nested_fields": False, +- "fields": [ +- { +- "name": "company_name", +- "type": "string", +- "facet": False, +- "index": True, +- "optional": False, +- "locale": "", +- "sort": False, +- "infix": False, +- "stem": False, +- "stem_dictionary": "", +- "truncate_len": 100, +- "store": True, +- }, +- { +- "name": "num_employees", +- "type": "int32", +- "facet": False, +- "index": True, +- "optional": False, +- "locale": "", +- "sort": True, +- "infix": False, +- "stem": False, +- "stem_dictionary": "", +- "truncate_len": 100, +- "store": True, +- }, ++ expected_collection_schema( ++ default_sorting_field="num_employees", ++ fields=[ ++ expected_collection_field("company_name", "string", sort=False), ++ expected_collection_field("num_employees", "int32", sort=True), + ], +- "name": "companies", +- "num_documents": 0, +- "symbols_to_index": [], +- "token_separators": [], +- "synonym_sets": [], +- "curation_sets": [], +- }, ++ name="companies", ++ ), + ] + + response[0].pop("created_at") +@@ -235,46 +227,14 @@ async def test_actual_create_async( + actual_async_collections: AsyncCollections, delete_all: None + ) -> None: + """Test that the Collections object can create a collection on Typesense Server.""" +- expected: CollectionSchema = { +- "default_sorting_field": "", +- "enable_nested_fields": False, +- "fields": [ +- { +- "name": "company_name", +- "type": "string", +- "facet": False, +- "index": True, +- "optional": False, +- "locale": "", +- "sort": False, +- "infix": False, +- "stem": False, +- "stem_dictionary": "", +- "truncate_len": 100, +- "store": True, +- }, +- { +- "name": "num_employees", +- "type": "int32", +- "facet": False, +- "index": True, +- "optional": False, +- "locale": "", +- "sort": False, +- "infix": False, +- "stem": False, +- "stem_dictionary": "", +- "truncate_len": 100, +- "store": True, +- }, ++ expected = expected_collection_schema( ++ default_sorting_field="", ++ fields=[ ++ expected_collection_field("company_name", "string", sort=False), ++ expected_collection_field("num_employees", "int32", sort=False), + ], +- "name": "companies", +- "num_documents": 0, +- "symbols_to_index": [], +- "token_separators": [], +- "synonym_sets": [], +- "curation_sets": [], +- } ++ name="companies", ++ ) + + response = await actual_async_collections.create( + { +@@ -307,46 +267,14 @@ async def test_actual_retrieve_async( + response = await actual_async_collections.retrieve() + + expected: typing.List[CollectionSchema] = [ +- { +- "default_sorting_field": "num_employees", +- "enable_nested_fields": False, +- "fields": [ +- { +- "name": "company_name", +- "type": "string", +- "facet": False, +- "index": True, +- "optional": False, +- "locale": "", +- "sort": False, +- "infix": False, +- "stem": False, +- "stem_dictionary": "", +- "truncate_len": 100, +- "store": True, +- }, +- { +- "name": "num_employees", +- "type": "int32", +- "facet": False, +- "index": True, +- "optional": False, +- "locale": "", +- "sort": True, +- "infix": False, +- "stem": False, +- "stem_dictionary": "", +- "truncate_len": 100, +- "store": True, +- }, ++ expected_collection_schema( ++ default_sorting_field="num_employees", ++ fields=[ ++ expected_collection_field("company_name", "string", sort=False), ++ expected_collection_field("num_employees", "int32", sort=True), + ], +- "name": "companies", +- "num_documents": 0, +- "symbols_to_index": [], +- "token_separators": [], +- "synonym_sets": [], +- "curation_sets": [], +- }, ++ name="companies", ++ ), + ] + + response[0].pop("created_at") +-- +2.53.0 + diff --git a/pkgs/development/python-modules/typesense/0006-feat-curation-add-types-for-stem-and-synonyms-for-Ty.patch b/pkgs/development/python-modules/typesense/0006-feat-curation-add-types-for-stem-and-synonyms-for-Ty.patch new file mode 100644 index 000000000000..dff3a3ccb3e6 --- /dev/null +++ b/pkgs/development/python-modules/typesense/0006-feat-curation-add-types-for-stem-and-synonyms-for-Ty.patch @@ -0,0 +1,194 @@ +From a5f8ce27a246a1c0a3dd5236cffa0afeaaf166b5 Mon Sep 17 00:00:00 2001 +From: Fanis Tharropoulos +Date: Thu, 7 May 2026 19:26:14 +0300 +Subject: [PATCH 6/6] feat(curation): add types for `stem` and `synonyms` for + Typesense v30.2 + +--- + src/typesense/types/curation_set.py | 56 ++++++++++++++++++++++++++--- + tests/curation_set_test.py | 13 ++++++- + tests/curation_sets_test.py | 4 +++ + 3 files changed, 67 insertions(+), 6 deletions(-) + +diff --git a/src/typesense/types/curation_set.py b/src/typesense/types/curation_set.py +index 6468166..f99a020 100644 +--- a/src/typesense/types/curation_set.py ++++ b/src/typesense/types/curation_set.py +@@ -33,15 +33,36 @@ class CurationRuleTagsSchema(typing.TypedDict): + tags: typing.List[str] + + +-class CurationRuleQuerySchema(typing.TypedDict): ++class CurationRuleQueryBaseSchema(typing.TypedDict): + """ +- Schema for a curation rule using query and match. ++ Schema for the base of a curation rule using query and match. + """ + + query: str + match: typing.Literal["exact", "contains"] + + ++class CurationRuleQueryCreateSchema(CurationRuleQueryBaseSchema): ++ """ ++ Schema for creating a curation rule using query and match. ++ """ ++ ++ stem: typing.NotRequired[bool] ++ synonyms: typing.NotRequired[bool] ++ ++ ++class CurationRuleQuerySchema(CurationRuleQueryBaseSchema): ++ """ ++ Schema for retrieving a curation rule using query and match. ++ """ ++ ++ stem: typing.NotRequired[ ++ bool ++ ] # TODO: This is a bug in Typesense server upstream, so until 31.0 is ++ # released, this is staying as notrequired. ++ synonyms: typing.NotRequired[bool] ++ ++ + class CurationRuleFilterBySchema(typing.TypedDict): + """ + Schema for a curation rule using filter_by. +@@ -85,20 +106,45 @@ class CurationItemSchema(typing.TypedDict): + metadata: typing.NotRequired[typing.Dict[str, typing.Any]] + + ++class CurationItemUpsertSchema(typing.TypedDict): ++ """ ++ Schema for creating or updating a single curation item. ++ """ ++ ++ id: str ++ rule: typing.Union[ ++ CurationRuleTagsSchema, ++ CurationRuleQueryCreateSchema, ++ CurationRuleFilterBySchema, ++ ] ++ includes: typing.NotRequired[typing.List[CurationIncludeSchema]] ++ excludes: typing.NotRequired[typing.List[CurationExcludeSchema]] ++ filter_by: typing.NotRequired[str] ++ sort_by: typing.NotRequired[str] ++ replace_query: typing.NotRequired[str] ++ remove_matched_tokens: typing.NotRequired[bool] ++ filter_curated_hits: typing.NotRequired[bool] ++ stop_processing: typing.NotRequired[bool] ++ effective_from_ts: typing.NotRequired[int] ++ effective_to_ts: typing.NotRequired[int] ++ metadata: typing.NotRequired[typing.Dict[str, typing.Any]] ++ ++ + class CurationSetUpsertSchema(typing.TypedDict): + """ + Payload schema to create or replace a curation set. + """ + +- items: typing.List[CurationItemSchema] ++ items: typing.List[CurationItemUpsertSchema] + + +-class CurationSetSchema(CurationSetUpsertSchema, total=False): ++class CurationSetSchema(typing.TypedDict): + """ + Response schema for a curation set. + """ + +- name: typing.NotRequired[str] ++ items: typing.List[CurationItemSchema] ++ name: str + + + class CurationSetsListEntrySchema(typing.TypedDict): +diff --git a/tests/curation_set_test.py b/tests/curation_set_test.py +index a75196a..fe07278 100644 +--- a/tests/curation_set_test.py ++++ b/tests/curation_set_test.py +@@ -1,6 +1,5 @@ + """Tests for the CurationSet class including items APIs.""" + +- + import pytest + + from tests.utils.version import is_v30_or_above +@@ -62,6 +61,8 @@ def test_actual_retrieve( + "rule": { + "match": "contains", + "query": "shoe", ++ "stem": False, ++ "synonyms": False, + }, + "stop_processing": True, + }, +@@ -108,6 +109,8 @@ def test_actual_list_items( + "rule": { + "match": "contains", + "query": "shoe", ++ "stem": False, ++ "synonyms": False, + }, + "stop_processing": True, + }, +@@ -140,6 +143,8 @@ def test_actual_get_item( + "rule": { + "match": "contains", + "query": "shoe", ++ "stem": False, ++ "synonyms": False, + }, + "stop_processing": True, + } +@@ -218,6 +223,8 @@ async def test_actual_retrieve_async( + "rule": { + "match": "contains", + "query": "shoe", ++ "stem": False, ++ "synonyms": False, + }, + "stop_processing": True, + }, +@@ -263,6 +270,8 @@ async def test_actual_list_items_async( + "rule": { + "match": "contains", + "query": "shoe", ++ "stem": False, ++ "synonyms": False, + }, + "stop_processing": True, + }, +@@ -295,6 +304,8 @@ async def test_actual_get_item_async( + "rule": { + "match": "contains", + "query": "shoe", ++ "stem": False, ++ "synonyms": False, + }, + "stop_processing": True, + } +diff --git a/tests/curation_sets_test.py b/tests/curation_sets_test.py +index 0a06a05..e4a635a 100644 +--- a/tests/curation_sets_test.py ++++ b/tests/curation_sets_test.py +@@ -87,6 +87,8 @@ def test_actual_upsert( + "rule": { + "match": "contains", + "query": "shoe", ++ "stem": False, ++ "synonyms": False, + }, + "stop_processing": True, + }, +@@ -150,6 +152,8 @@ async def test_actual_upsert_async( + "rule": { + "match": "contains", + "query": "shoe", ++ "stem": False, ++ "synonyms": False, + }, + "stop_processing": True, + }, +-- +2.53.0 + diff --git a/pkgs/development/python-modules/typesense/default.nix b/pkgs/development/python-modules/typesense/default.nix index 78441621aa8d..ebcb8f64419a 100644 --- a/pkgs/development/python-modules/typesense/default.nix +++ b/pkgs/development/python-modules/typesense/default.nix @@ -7,29 +7,38 @@ pytestCheckHook, typesense, curl, - pytest-mock, - requests-mock, - python-dotenv, faker, + httpx, isort, + pytest-asyncio, + pytest-httpx, + pytest-mock, + python-dotenv, + requests-mock, + respx, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "typesense"; - version = "1.1.1"; + version = "2.0.0"; pyproject = true; src = fetchFromGitHub { owner = "typesense"; repo = "typesense-python"; - tag = "v${version}"; - hash = "sha256-vo9DW4kinb00zWW4yX8ibyelQxW3eVabn+oMddPEd18="; + tag = "v${finalAttrs.version}"; + hash = "sha256-GzapEl26FS6yMGeLC54y9ysl0mt9l6ceYHr84E6BqBo="; }; patches = [ - # See . - ./linux-only-metrics.patch - ./generated-temp-path.patch + # See . + # See . + ./0001-linux-only-metrics.patch + ./0002-generated-temp-path.patch + ./0003-tests-fix-endpoint-path.patch + ./0004-tests-fix-rule_id.patch + ./0005-test-gate-v30-collection-schema-expectations.patch + ./0006-feat-curation-add-types-for-stem-and-synonyms-for-Ty.patch ]; build-system = [ setuptools ]; @@ -40,31 +49,47 @@ buildPythonPackage rec { pytestCheckHook typesense curl - pytest-mock - requests-mock - python-dotenv faker + httpx isort + pytest-asyncio + pytest-httpx + pytest-mock + python-dotenv + requests-mock + respx ]; disabledTestMarks = [ "open_ai" ]; - disabledTests = [ "import_typing_extensions" ]; + disabledTests = [ + "import_typing_extensions" + # tests/operations_test.py::test_snapshot_async fails when tests are run + # in parallel due to writing to the shared /tmp directory on macOS + "test_snapshot_async" + ]; __darwinAllowLocalNetworking = true; + # For darwin, the nix sandbox doesn't isolate loopback interfaces like linux does. + # So nixpkgs-review builds of python3.x will collide on the hardcoded port 8108. + # So for tests patch it to use random port. preCheck = '' + export TYPESENSE_PORT=$(( 10000 + $$ % 30000 )) + export PEERING_PORT=$(( TYPESENSE_PORT - 1 )) + find tests -type f -exec sed -i "s/8108/$TYPESENSE_PORT/g" {} + + TYPESENSE_API_KEY="xyz" \ TYPESENSE_DATA_DIR="$(mktemp -d)" \ - typesense-server & + typesense-server --api-port=$TYPESENSE_PORT --peering-port=$PEERING_PORT & typesense_pid=$! + # Ensure typesense-server is killed even if tests fail + trap "kill $typesense_pid" EXIT + # Wait for typesense to finish starting. - timeout 20 bash -c ' - while ! curl -s --fail localhost:8108/health; do sleep 1; done - ' || false - ''; - postCheck = '' - kill $typesense_pid + timeout 20 bash -c " + while ! curl -s --fail localhost:$TYPESENSE_PORT/health; do sleep 1; done + " || false ''; pythonImportsCheck = [ "typesense" ]; @@ -74,5 +99,7 @@ buildPythonPackage rec { homepage = "https://github.com/typesense/typesense-python"; license = lib.licenses.asl20; teams = [ lib.teams.ngi ]; + # on x86_64-darwin the typesense server doesn't start + badPlatforms = [ "x86_64-darwin" ]; }; -} +}) diff --git a/pkgs/development/python-modules/typesense/linux-only-metrics.patch b/pkgs/development/python-modules/typesense/linux-only-metrics.patch deleted file mode 100644 index ac667a3e42f1..000000000000 --- a/pkgs/development/python-modules/typesense/linux-only-metrics.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 9f0024ae3a0377d15788256c72af7a692d250afc Mon Sep 17 00:00:00 2001 -From: dotlambda -Date: Thu, 23 Oct 2025 13:40:33 -0700 -Subject: [PATCH] test(metrics): some metrics only exists on Linux - ---- - tests/metrics_test.py | 12 ++++++++---- - 1 file changed, 8 insertions(+), 4 deletions(-) - -diff --git a/tests/metrics_test.py b/tests/metrics_test.py -index 1e1ea47..fecf3c0 100644 ---- a/tests/metrics_test.py -+++ b/tests/metrics_test.py -@@ -2,6 +2,8 @@ - - from __future__ import annotations - -+import platform -+ - from typesense.metrics import Metrics - - -@@ -9,13 +11,15 @@ def test_actual_retrieve(actual_metrics: Metrics) -> None: - """Test that the Debug object can retrieve a debug on Typesense server and verify response structure.""" - response = actual_metrics.retrieve() - -- assert "system_cpu_active_percentage" in response -+ if platform.system() == "Linux": -+ assert "system_cpu_active_percentage" in response -+ assert "system_network_received_bytes" in response -+ assert "system_network_sent_bytes" in response -+ - assert "system_disk_total_bytes" in response - assert "system_disk_used_bytes" in response - assert "system_memory_total_bytes" in response - assert "system_memory_used_bytes" in response -- assert "system_network_received_bytes" in response -- assert "system_network_sent_bytes" in response - assert "typesense_memory_active_bytes" in response - assert "typesense_memory_allocated_bytes" in response - assert "typesense_memory_fragmentation_ratio" in response -@@ -23,4 +27,4 @@ def test_actual_retrieve(actual_metrics: Metrics) -> None: - assert "typesense_memory_mapped_bytes" in response - assert "typesense_memory_metadata_bytes" in response - assert "typesense_memory_resident_bytes" in response -- assert "typesense_memory_retained_bytes" in response -\ No newline at end of file -+ assert "typesense_memory_retained_bytes" in response From 9d519d5cb0e0f45a61d3aa36242b8e6a062b8765 Mon Sep 17 00:00:00 2001 From: oddlama Date: Sun, 3 May 2026 14:37:38 +0200 Subject: [PATCH 12/67] typesense: 29.0 -> 30.2 --- pkgs/by-name/ty/typesense/sources.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/ty/typesense/sources.json b/pkgs/by-name/ty/typesense/sources.json index cb443f452229..77b5d2383b22 100644 --- a/pkgs/by-name/ty/typesense/sources.json +++ b/pkgs/by-name/ty/typesense/sources.json @@ -1,17 +1,17 @@ { - "version": "29.0", + "version": "30.2", "platforms": { "aarch64-linux": { "arch": "linux-arm64", - "hash": "sha256-ztjCyK2378tg9yT9D6ProINlMT5GyUIEH8duHivCQ2E=" + "hash": "sha256-qbnW4pJ8hjkAMGKQ6FMsF/Zr3/NO8q0EOyTtTM7Iprw=" }, "x86_64-linux": { "arch": "linux-amd64", - "hash": "sha256-BD0qE1dEVKVUPwO2fMO0SMXiwG9dD0RMnAzkVZitFKA=" + "hash": "sha256-zXkWBefGzHvkV3lPU0zUufnTYXga2xDkACDvwihA68M=" }, "aarch64-darwin": { "arch": "darwin-arm64", - "hash": "sha256-yAOR/bGYBQGp8Mllhh0yKyqmItd2+IfLib3W+lIHwr0=" + "hash": "sha256-fY1tDDOTCtIOoj3RhCUFR7FmFZRL6JGyB46KB1FS+n4=" } } } From f91f49ab6e98082de6852c82cf44856ffc735186 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 21 Sep 2026 09:50:25 +0000 Subject: [PATCH 13/67] gokrazy: 0-unstable-2026-07-23 -> 0-unstable-2026-09-13 --- pkgs/by-name/go/gokrazy/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/go/gokrazy/package.nix b/pkgs/by-name/go/gokrazy/package.nix index 7fe80b261ab2..dcb4a7c83fc3 100644 --- a/pkgs/by-name/go/gokrazy/package.nix +++ b/pkgs/by-name/go/gokrazy/package.nix @@ -7,13 +7,13 @@ }: buildGoModule (finalAttrs: { pname = "gokrazy"; - version = "0-unstable-2026-07-23"; + version = "0-unstable-2026-09-13"; src = fetchFromGitHub { owner = "gokrazy"; repo = "tools"; - rev = "3fe400c13246e09469afca86df37cdc6fe7c3ee9"; - hash = "sha256-+wLO374SJu4Sk7GKwJkg6UOxWmJ1ApIfLt3Hw89/dXU="; + rev = "64f7f697dfff1a24457b00cd93ca5c30c866f34e"; + hash = "sha256-puqXa3OpHyzPpOYuf/SicoMJTNDf0hovLE/TOhmBDSw="; }; vendorHash = "sha256-+9i4dlxcxXw0WpeuHhnxli2qhB6IWOc4babuJXIO4wA="; From 28af8beab2663d22c8b34b5c44c89ff2f6b164e5 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 21 Sep 2026 12:28:24 +0000 Subject: [PATCH 14/67] mongodb-cli: 2.0.7 -> 2.0.8 --- pkgs/by-name/mo/mongodb-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/mo/mongodb-cli/package.nix b/pkgs/by-name/mo/mongodb-cli/package.nix index 561f798fb06c..aa73ce5ca53b 100644 --- a/pkgs/by-name/mo/mongodb-cli/package.nix +++ b/pkgs/by-name/mo/mongodb-cli/package.nix @@ -9,16 +9,16 @@ buildGoModule (finalAttrs: { pname = "mongodb-cli"; - version = "2.0.7"; + version = "2.0.8"; src = fetchFromGitHub { owner = "mongodb"; repo = "mongodb-cli"; tag = "mongocli/v${finalAttrs.version}"; - hash = "sha256-vytc/e+e6JE5bwh5hny9C7LWenGctQLUso8GAXgk4j8="; + hash = "sha256-pSxIOiow1G1CQ/lJnmtyVPQdukRDczkbjajblbymcVM="; }; - vendorHash = "sha256-CswQV9uTnL58TzYaVzx6dc1aZDZQ5b2LWLE1bv+P/2c="; + vendorHash = "sha256-F+WP6/QCQTb19b8LX1CnOJuPSJMmbY3HIgyPQfjVrKE="; subPackages = [ "cmd/mongocli" ]; From faf8e8235058b88e516a4a8ad6a4dd0f9f2dd49f Mon Sep 17 00:00:00 2001 From: Harinn Date: Mon, 21 Sep 2026 21:48:15 +0700 Subject: [PATCH 15/67] keyleds: fix invalid unstable version scheme As part of https://github.com/NixOS/nixpkgs/issues/541820 --- pkgs/by-name/ke/keyleds/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/ke/keyleds/package.nix b/pkgs/by-name/ke/keyleds/package.nix index ae4321b36437..499f2e357423 100644 --- a/pkgs/by-name/ke/keyleds/package.nix +++ b/pkgs/by-name/ke/keyleds/package.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation { pname = "keyleds"; - version = "unstable-2021-04-08"; + version = "1.1.1-unstable-2021-03-27"; src = fetchFromGitHub { owner = "keyleds"; From 6762318810ddaf9fe14bca227a20363510661ccd Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Mon, 21 Sep 2026 17:26:53 +0200 Subject: [PATCH 16/67] pdns-recursor: 5.4.5 -> 5.4.6 --- pkgs/by-name/pd/pdns-recursor/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/pd/pdns-recursor/package.nix b/pkgs/by-name/pd/pdns-recursor/package.nix index 86c08c29a303..8b5564834f6e 100644 --- a/pkgs/by-name/pd/pdns-recursor/package.nix +++ b/pkgs/by-name/pd/pdns-recursor/package.nix @@ -21,17 +21,17 @@ stdenv.mkDerivation (finalAttrs: { pname = "pdns-recursor"; - version = "5.4.5"; + version = "5.4.6"; src = fetchurl { url = "https://downloads.powerdns.com/releases/pdns-recursor-${finalAttrs.version}.tar.xz"; - hash = "sha256-ExBXaNlJAGdZbyY9fTSLzAxnmFdMfZkcxAlS8YudrBE="; + hash = "sha256-DUyf6+b5TaCu1+Bex7ZUkE+9YindU79ge2P6cHuSNoo="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) pname version src; sourceRoot = "pdns-recursor-${finalAttrs.version}/rec-rust-lib/rust"; - hash = "sha256-r0fVF/N1K2rYUEuEZ4NYYbpYxILMklhwAodeAEK7SFs="; + hash = "sha256-uHcUCVtlVFAgi/rPD1lYlN81p7gcIXvHutKXYMVddv4="; }; cargoRoot = "rec-rust-lib/rust"; From 453f0604fc96a114ba8429525a758e565e240fef Mon Sep 17 00:00:00 2001 From: Andrew Prokhorenkov Date: Mon, 21 Sep 2026 13:39:32 -0500 Subject: [PATCH 17/67] pi-coding-agent: 0.86.1 -> 0.87.0 --- pkgs/by-name/pi/pi-coding-agent/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/pi/pi-coding-agent/package.nix b/pkgs/by-name/pi/pi-coding-agent/package.nix index c4be891b6856..4d9f707c8b09 100644 --- a/pkgs/by-name/pi/pi-coding-agent/package.nix +++ b/pkgs/by-name/pi/pi-coding-agent/package.nix @@ -13,16 +13,16 @@ }: buildNpmPackage (finalAttrs: { pname = "pi-coding-agent"; - version = "0.86.1"; + version = "0.87.0"; src = fetchFromGitHub { owner = "earendil-works"; repo = "pi"; tag = "v${finalAttrs.version}"; - hash = "sha256-/7+VoRfXdeOwtiNXQYOKg5OHeKuNLIHfODGDNBhWop0="; + hash = "sha256-7YkIA5IEs4U0qnoaO3IzlY+p/M7j30fSVelLeyoV+F8="; }; - npmDepsHash = "sha256-VxjYw4lN/w0sDboihHAKEhdJFzJa09qZo7vavkTkBuw="; + npmDepsHash = "sha256-fbxwpQHnrUihO9MU72m331Uwt9dv0fQtEjdJ9hU8UxA="; # The provider model catalog (packages/ai/src/providers/data/) is generated by # a network fetch (models.dev plus provider APIs) and is gitignored upstream, @@ -31,7 +31,7 @@ buildNpmPackage (finalAttrs: { # under dist/providers/data/. Bump this hash alongside version. modelData = fetchurl { url = "https://registry.npmjs.org/@earendil-works/pi-ai/-/pi-ai-${finalAttrs.version}.tgz"; - hash = "sha256-88Nb88YGsJ9iupLSx8ieY+DKGAdUcBAtVWVoTFJLfv0="; + hash = "sha256-8q353oCdA192+NrfPRSHIOvu9GBqhIqzbug02JWugS8="; }; preConfigure = '' From f9301ae02b5e6c697b18615865f221e35bfe43a1 Mon Sep 17 00:00:00 2001 From: Eric Rodrigues Pires Date: Sun, 20 Sep 2026 11:44:24 -0300 Subject: [PATCH 18/67] dvdplusrwtools: fix src and homepage --- pkgs/by-name/dv/dvdplusrwtools/package.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/dv/dvdplusrwtools/package.nix b/pkgs/by-name/dv/dvdplusrwtools/package.nix index b5971726a4c1..0211e13949e4 100644 --- a/pkgs/by-name/dv/dvdplusrwtools/package.nix +++ b/pkgs/by-name/dv/dvdplusrwtools/package.nix @@ -12,7 +12,12 @@ stdenv.mkDerivation (finalAttrs: { version = "7.1"; src = fetchurl { - url = "http://fy.chalmers.se/~appro/linux/DVD+RW/tools/dvd+rw-tools-${finalAttrs.version}.tar.gz"; + # Original source; no longer available + # url = "http://fy.chalmers.se/~appro/linux/DVD+RW/tools/dvd+rw-tools-${finalAttrs.version}.tar.gz"; + urls = [ + "https://anduin.linuxfromscratch.org/BLFS/dvd+rw-tools/dvd+rw-tools-${finalAttrs.version}.tar.gz" + "https://github.com/openeuler-mirror/dvdplusrw-tools/raw/refs/heads/master/dvd+rw-tools-${finalAttrs.version}.tar.gz" + ]; sha256 = "1jkjvvnjcyxpql97xjjx0kwvy70kxpiznr2zpjy2hhci5s10zmpq"; }; @@ -91,7 +96,7 @@ stdenv.mkDerivation (finalAttrs: { ); meta = { - homepage = "http://fy.chalmers.se/~appro/linux/DVD+RW/tools"; + homepage = "https://en.wikipedia.org/wiki/Dvd%2Brw-tools"; description = "Tools for mastering Blu-ray and DVD+-RW/+-R media"; platforms = lib.platforms.unix; license = with lib.licenses; [ From 0da7f368699e68fa05b74b973890fe212e17c90a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 21 Sep 2026 20:16:12 +0000 Subject: [PATCH 19/67] gotlsaflare: 2.8.4 -> 2.9.0 --- pkgs/by-name/go/gotlsaflare/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/go/gotlsaflare/package.nix b/pkgs/by-name/go/gotlsaflare/package.nix index ebaf3ac1ce1a..fc1378a7f523 100644 --- a/pkgs/by-name/go/gotlsaflare/package.nix +++ b/pkgs/by-name/go/gotlsaflare/package.nix @@ -8,16 +8,16 @@ buildGoModule (finalAttrs: { pname = "gotlsaflare"; - version = "2.8.4"; + version = "2.9.0"; src = fetchFromGitHub { owner = "Stenstromen"; repo = "gotlsaflare"; tag = "v${finalAttrs.version}"; - hash = "sha256-LDUrLeIgEr0IaYUHRdPtk2soYGbPAycQcroIUMrmVKg="; + hash = "sha256-98e4uNTW04CMxGyLx7HKHNfDZGotLavH2oqK7WKg9zw="; }; - vendorHash = "sha256-btvgwiYm+ccT9BPVO42bxidKfOBDrBMT3WidDlMi17k="; + vendorHash = "sha256-auULD38+Imk+OBtuJqDraXmlkqBXUrGCHOhwSR3gCtQ="; nativeBuildInputs = [ installShellFiles ]; From 6d30b1885b8890392299fee70cca918db4b6929b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Mon, 21 Sep 2026 13:17:47 -0700 Subject: [PATCH 20/67] libdeltachat: 2.60.0 -> 2.61.0 Diff: https://github.com/chatmail/core/compare/v2.60.0...v2.61.0 Changelog: https://github.com/chatmail/core/blob/v2.61.0/CHANGELOG.md --- pkgs/by-name/li/libdeltachat/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/li/libdeltachat/package.nix b/pkgs/by-name/li/libdeltachat/package.nix index b559b3558228..e0fdff5fb4e8 100644 --- a/pkgs/by-name/li/libdeltachat/package.nix +++ b/pkgs/by-name/li/libdeltachat/package.nix @@ -20,13 +20,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "libdeltachat"; - version = "2.60.0"; + version = "2.61.0"; src = fetchFromGitHub { owner = "chatmail"; repo = "core"; tag = "v${finalAttrs.version}"; - hash = "sha256-NPOK5L17cR/2OYJ/wzhvy9Mf9lGjsEOfd27YBm3X1uc="; + hash = "sha256-lePHfmq4bUxb1reQe2BOMC0WUDdH7cZ33Fu8TLkb+xs="; }; patches = [ @@ -36,7 +36,7 @@ stdenv.mkDerivation (finalAttrs: { cargoDeps = rustPlatform.fetchCargoVendor { pname = "chatmail-core"; inherit (finalAttrs) version src; - hash = "sha256-PSZzC3Z2HAjBrT2yIC3TYa8Z6FrxTuAOQO29nlbmaTI="; + hash = "sha256-VZkrewx54/M1XXs9j9asLdLNEez+XIUvFfgAjo8w09c="; }; nativeBuildInputs = [ From a03bf7620b598bc2327199866c7594548934d34b Mon Sep 17 00:00:00 2001 From: Bart Brouns Date: Mon, 21 Sep 2026 18:34:53 +0200 Subject: [PATCH 21/67] zlspectrumequalizer: init at 0.1.0 --- .../zl/zlspectrumequalizer/package.nix | 144 ++++++++++++++++++ 1 file changed, 144 insertions(+) create mode 100644 pkgs/by-name/zl/zlspectrumequalizer/package.nix diff --git a/pkgs/by-name/zl/zlspectrumequalizer/package.nix b/pkgs/by-name/zl/zlspectrumequalizer/package.nix new file mode 100644 index 000000000000..e60786db46b7 --- /dev/null +++ b/pkgs/by-name/zl/zlspectrumequalizer/package.nix @@ -0,0 +1,144 @@ +{ + lib, + clangStdenv, + fetchFromGitHub, + nix-update-script, + + # nativeBuildInputs + cmake, + darwin, + ninja, + pkg-config, + python3, + writableTmpDirAsHomeHook, + + # buildInputs + alsa-lib, + fontconfig, + freetype, + libxcursor, + libxext, + libxi, + libxinerama, + libxrandr, + lv2, + # Highway is built static-dispatch only upstream (HWY_COMPILE_ONLY_STATIC is + # forced ON), so exactly one ISA is baked in -- there is no runtime dispatch. + # Default to the portable baseline so the cached binary runs everywhere nixpkgs + # targets. Override for a faster *local* build, e.g. + # zlspectrumequalizer.override { simdTarget = "AVX2"; } + # SSE4/AVX2 map to -march=x86-64-v2/v3 and will SIGILL on CPUs lacking that ISA, + # which is why this must not be raised for the binary cache. + simdTarget ? (if clangStdenv.hostPlatform.isAarch64 then "NEON" else "SSE2"), +}: +assert lib.assertOneOf "simdTarget" simdTarget [ + "SSE2" + "SSE4" + "AVX2" + "NEON" +]; +clangStdenv.mkDerivation (finalAttrs: { + pname = "zlspectrumequalizer"; + version = "0.1.0"; + + __structuredAttrs = true; + strictDeps = true; + + src = fetchFromGitHub { + owner = "ZL-Audio"; + repo = "ZlSpectrumEqualizer"; + tag = finalAttrs.version; + hash = "sha256-h4GZlyWieE1LVDr+SC3k2uklrqh5r8KQywW0+Ksa27E="; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ + cmake + ninja + pkg-config + python3 + writableTmpDirAsHomeHook + ] + ++ lib.optionals clangStdenv.hostPlatform.isDarwin [ darwin.sigtool ]; + + buildInputs = [ + fontconfig + freetype + lv2 + ] + ++ lib.optionals clangStdenv.hostPlatform.isLinux [ + alsa-lib + libxcursor + libxext + libxi + libxinerama + libxrandr + ]; + + env = lib.optionalAttrs clangStdenv.hostPlatform.isLinux { + # JUCE dlopen's these at runtime, crashes without them + # -lXi is essential: JUCE requests the unversioned + # "libXi.so", which no host has already loaded, and when that dlopen fails + # JUCE still believes XInput2 is present (the stub for the missing + # XIQueryVersion returns 0, which equals Success), so it discards all core + # pointer events and the GUI stops responding to the mouse entirely. + NIX_LDFLAGS = toString [ + "-lX11" + "-lXcursor" + "-lXext" + "-lXi" + "-lXinerama" + "-lXrandr" + ]; + + NIX_CFLAGS_COMPILE = toString [ + # juce, compiled in this build as part of a Git submodule, uses `-flto` as + # a Link Time Optimization flag, and instructs the plugin compiled here to + # use this flag to. This breaks the build for us. Using _fat_ LTO allows + # successful linking while still providing LTO benefits. If our build of + # `juce` was used as a dependency, we could have patched that `-flto` line + # in our juce's source, but that is not possible because it is used as a + # Git Submodule. + "-ffat-lto-objects" + ]; + }; + + cmakeFlags = [ + (lib.cmakeFeature "ZL_HWY_STATIC_TARGET" simdTarget) + (lib.cmakeBool "ZL_JUCE_COPY_PLUGIN" false) + # set the version for the settings screen. + (lib.cmakeFeature "FOOBAR_VERSION" "${finalAttrs.version}") + ]; + + installPhase = '' + runHook preInstall + '' + + lib.optionalString clangStdenv.hostPlatform.isLinux '' + mkdir -p $out/lib/{lv2,vst3} + cp -r "ZLSpectrumEqualizer_artefacts/Release/LV2/ZL Spectrum Equalizer.lv2" $out/lib/lv2/ + cp -r "ZLSpectrumEqualizer_artefacts/Release/VST3/ZL Spectrum Equalizer.vst3" $out/lib/vst3/ + install -Dm755 -t $out/bin "ZLSpectrumEqualizer_artefacts/Release/Standalone/ZL Spectrum Equalizer" + '' + + lib.optionalString clangStdenv.hostPlatform.isDarwin '' + mkdir -p $out/Applications + cp -r ZLSpectrumEqualizer_artefacts/Release/{AU,VST3} $out/ + cp -r ZLSpectrumEqualizer_artefacts/Release/Standalone/* $out/Applications/ + '' + + '' + runHook postInstall + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + homepage = "https://zl-audio.github.io/plugins/zlspeceq/"; + changelog = "https://github.com/ZL-Audio/ZlSpectrumEqualizer/releases/tag/${finalAttrs.version}"; + description = "Dynamic spectrum equalizer plugin for VST3, LV2 and standalone"; + mainProgram = "ZL Spectrum Equalizer"; + license = lib.licenses.agpl3Plus; + maintainers = with lib.maintainers; [ + magnetophon + ]; + platforms = lib.platforms.linux ++ lib.platforms.darwin; + }; +}) From 60ffbe398d2c6fc213c7a2d5d22342ebd8878c26 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 21 Sep 2026 22:38:15 +0000 Subject: [PATCH 22/67] oxlint: 1.82.0 -> 1.85.0 --- pkgs/by-name/ox/oxlint/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/ox/oxlint/package.nix b/pkgs/by-name/ox/oxlint/package.nix index 28ce2ebc71a3..d6e3577358b0 100644 --- a/pkgs/by-name/ox/oxlint/package.nix +++ b/pkgs/by-name/ox/oxlint/package.nix @@ -28,25 +28,25 @@ in # runs without an external linter, which leaves `jsPlugins` configs inert. stdenv.mkDerivation (finalAttrs: { pname = "oxlint"; - version = "1.82.0"; + version = "1.85.0"; src = fetchFromGitHub { owner = "oxc-project"; repo = "oxc"; tag = "oxlint_v${finalAttrs.version}"; - hash = "sha256-jDFBK5yshhSYP/Zl5DpVOPYgRrfB0gAGg7sv6hd4qds="; + hash = "sha256-VlIDDUJC+5YDLpfLr92zOm0vjPAL0j6PCiHaukBpsdk="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) pname version src; - hash = "sha256-YiNm3jL8pDr4UUixnLVjEAEX/izi2SqBKsrtyX8SFrQ="; + hash = "sha256-iQfRPmpqG8Jbunw1iLYiIhVqCn4H+koGJROcVY5wvA0="; }; pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; inherit pnpm; fetcherVersion = 4; - hash = "sha256-CMU2VhsSeSM7zJ4YxCfJWP3ThGRpzpgOTur1wU5F28I="; + hash = "sha256-4qJcYXPWnw/WFR1NPm1cGgI3KPpnRhZRE+oUDb2ENpE="; }; dontUseCmakeConfigure = true; From 6f5e900c657426f8fc79a6a0b99aa70596871e4a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 21 Sep 2026 23:17:38 +0000 Subject: [PATCH 23/67] cyan-skillfish-governor-smu: 0.4.12 -> 0.4.13 --- pkgs/by-name/cy/cyan-skillfish-governor-smu/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/cy/cyan-skillfish-governor-smu/package.nix b/pkgs/by-name/cy/cyan-skillfish-governor-smu/package.nix index 25b1970b3c96..7c2806dd216c 100644 --- a/pkgs/by-name/cy/cyan-skillfish-governor-smu/package.nix +++ b/pkgs/by-name/cy/cyan-skillfish-governor-smu/package.nix @@ -10,7 +10,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cyan-skillfish-governor-smu"; - version = "0.4.12"; + version = "0.4.13"; __structuredAttrs = true; @@ -18,7 +18,7 @@ rustPlatform.buildRustPackage (finalAttrs: { owner = "filippor"; repo = "cyan-skillfish-governor"; tag = "v${finalAttrs.version}"; - hash = "sha256-yer2MlLnj9lx2cEBeYqAktbx0BqQEK/eFPiga5gXCr8="; + hash = "sha256-EloJJiCmwGDYSyDPQOd3T7AtQp9M2ILkWg6oqOHHJWg="; }; cargoHash = "sha256-zlAVGLGnub2Gc0Bkzb5GU9NBAJ2YWLhIG8JOa+1wHx8="; From 7b7aa7524295803f176110eb7a925f51aa4f23ec Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Sep 2026 00:01:18 +0000 Subject: [PATCH 24/67] zenroom: 5.37.2 -> 5.38.1 --- pkgs/by-name/ze/zenroom/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ze/zenroom/package.nix b/pkgs/by-name/ze/zenroom/package.nix index ad212d45432a..7982964b1d0b 100644 --- a/pkgs/by-name/ze/zenroom/package.nix +++ b/pkgs/by-name/ze/zenroom/package.nix @@ -30,13 +30,13 @@ in stdenv.mkDerivation (finalAttrs: { pname = "zenroom"; - version = "5.37.2"; + version = "5.38.1"; src = fetchFromGitHub { owner = "dyne"; repo = "Zenroom"; tag = "v${finalAttrs.version}"; - hash = "sha256-gNUclaXF7C2yBywo1TAwHOfB9Pe17g6fCLhEcFq8JL0="; + hash = "sha256-FDGIMeWzhHSLsVUAH/y3cgJbkXzzX3yiHjXeSL2xnto="; postFetch = '' # conflict on case-insensitive filesystems pushd $out/docs/examples/zencode_cookbook/cookbook_when From 0c2de6c499318b47a168c895710e3e9d296c52de Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Sep 2026 00:39:24 +0000 Subject: [PATCH 25/67] lmdbxx: 1.0.0 -> 1.0.2 --- pkgs/by-name/lm/lmdbxx/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/lm/lmdbxx/package.nix b/pkgs/by-name/lm/lmdbxx/package.nix index f36619273025..99e6e7529275 100644 --- a/pkgs/by-name/lm/lmdbxx/package.nix +++ b/pkgs/by-name/lm/lmdbxx/package.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "lmdbxx"; - version = "1.0.0"; + version = "1.0.2"; src = fetchFromGitHub { owner = "hoytech"; repo = "lmdbxx"; rev = finalAttrs.version; - sha256 = "sha256-7CxQZdgHVvmof6wVR9Mzic6tg89XJT3Z1ICGRs7PZYo="; + sha256 = "sha256-0c8Xev9Ys6beMQ9VD4S2o6N9R/w2eEz8iCxUiX7mW4E="; }; buildInputs = [ lmdb ]; From eaee4c74af1600d5bc8550aa7d6b161797a4f7ae Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Sep 2026 02:00:05 +0000 Subject: [PATCH 26/67] libretro.beetle-pce-fast: 0-unstable-2026-08-28 -> 0-unstable-2026-09-18 --- pkgs/by-name/li/libretroPackages/cores/beetle-pce-fast.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/li/libretroPackages/cores/beetle-pce-fast.nix b/pkgs/by-name/li/libretroPackages/cores/beetle-pce-fast.nix index 60e2912b3038..2308db9dfd84 100644 --- a/pkgs/by-name/li/libretroPackages/cores/beetle-pce-fast.nix +++ b/pkgs/by-name/li/libretroPackages/cores/beetle-pce-fast.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "mednafen-pce-fast"; - version = "0-unstable-2026-08-28"; + version = "0-unstable-2026-09-18"; src = fetchFromGitHub { owner = "libretro"; repo = "beetle-pce-fast-libretro"; - rev = "2f623abd033257b969370b73d9da982dcb0c3fdd"; - hash = "sha256-rGtmnfOh2IZBYS69/xtiwqNegtYV0GcKI3VB3cQ/r74="; + rev = "076a24e1b10f76f3a7a8e849d25fab89f81ce1e9"; + hash = "sha256-fWXnh++ZM7+DglB1+X4LBpWek4+PEUmxCG7BAsTE9zQ="; }; makefile = "Makefile"; From e0189fd0a3143e01838ef9c73afeae28435af518 Mon Sep 17 00:00:00 2001 From: Chris Moultrie <821688+tebriel@users.noreply.github.com> Date: Mon, 21 Sep 2026 22:27:48 -0400 Subject: [PATCH 27/67] navidrome: 0.64.0 -> 0.64.1 changelog: https://github.com/navidrome/navidrome/releases/tag/v0.64.1 --- pkgs/by-name/na/navidrome/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/na/navidrome/package.nix b/pkgs/by-name/na/navidrome/package.nix index ab47fc3cdd53..faed8d928b8f 100644 --- a/pkgs/by-name/na/navidrome/package.nix +++ b/pkgs/by-name/na/navidrome/package.nix @@ -20,16 +20,16 @@ buildGo127Module (finalAttrs: { pname = "navidrome"; - version = "0.64.0"; + version = "0.64.1"; src = fetchFromGitHub { owner = "navidrome"; repo = "navidrome"; rev = "v${finalAttrs.version}"; - hash = "sha256-2GUAGuwVE3i49g/mGN3zd1J1y9jVhF0g4hKGceSQwD8="; + hash = "sha256-zjg5JwpzcDe8LFvF/soE4IrsdpkNpO7psAoQrHlKCVI="; }; - vendorHash = "sha256-1aKih0Xl5OfV4IO/2E0S31rHhRx356zl2QPM96jcFco="; + vendorHash = "sha256-vndJx4BcXQCJewKCv3TvSrxG6sCykfBvkOQK/kVQIPk="; npmRoot = "ui"; From 31a31df57c9dc0c6163716f8e0dfd482cda719b6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Sep 2026 04:19:14 +0000 Subject: [PATCH 28/67] cosmic-ext-applet-sysinfo: 0-unstable-2026-09-08 -> 0-unstable-2026-09-20 --- pkgs/by-name/co/cosmic-ext-applet-sysinfo/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/co/cosmic-ext-applet-sysinfo/package.nix b/pkgs/by-name/co/cosmic-ext-applet-sysinfo/package.nix index 5d1191c1e9da..74e87c0734b4 100644 --- a/pkgs/by-name/co/cosmic-ext-applet-sysinfo/package.nix +++ b/pkgs/by-name/co/cosmic-ext-applet-sysinfo/package.nix @@ -9,16 +9,16 @@ }: rustPlatform.buildRustPackage { pname = "cosmic-ext-applet-sysinfo"; - version = "0-unstable-2026-09-08"; + version = "0-unstable-2026-09-20"; src = fetchFromGitHub { owner = "cosmic-utils"; repo = "cosmic-ext-applet-sysinfo"; - rev = "74265699a6d2b9803707bd1be9a4241b192f78fe"; - hash = "sha256-kSxBoRepJX0bw6xhFXNp6inzv5vMlp2c5SDHxLY4I0s="; + rev = "d7359f09963cafb54f47a049a274acd9c2c3edda"; + hash = "sha256-fv2cPisF6GapYAV9RdroaIY0JV6lwE5vTzRUHzNzBVM="; }; - cargoHash = "sha256-xCzrsLQb9k7VcNmt+pyHQk6UdxR0TjdhRz9wPZ4tsEY="; + cargoHash = "sha256-GbHRdz7RZHSCIN6wBW+cTZS8JwYB3mCW6tgnKawFPao="; nativeBuildInputs = [ libcosmicAppHook From c7896b4b5286b483ea1be37c58b22a109fcd2303 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Sep 2026 04:20:53 +0000 Subject: [PATCH 29/67] cosmic-ext-applet-weather: 0-unstable-2026-09-03 -> 0-unstable-2026-09-12 --- pkgs/by-name/co/cosmic-ext-applet-weather/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/co/cosmic-ext-applet-weather/package.nix b/pkgs/by-name/co/cosmic-ext-applet-weather/package.nix index 50950b2eb21b..2f645541dd4b 100644 --- a/pkgs/by-name/co/cosmic-ext-applet-weather/package.nix +++ b/pkgs/by-name/co/cosmic-ext-applet-weather/package.nix @@ -9,13 +9,13 @@ }: rustPlatform.buildRustPackage { pname = "cosmic-ext-applet-weather"; - version = "0-unstable-2026-09-03"; + version = "0-unstable-2026-09-12"; src = fetchFromGitHub { owner = "cosmic-utils"; repo = "cosmic-ext-applet-weather"; - rev = "52a9e3a4ac6de8d8476a3b609dcea32feae490a6"; - hash = "sha256-O7CjexYM1AWS0P+cm1ibgZRannmKpJMIDi8oRLE2piM="; + rev = "7792d617245ae990ea2460c805e515b514a14ae6"; + hash = "sha256-gBeqah4E2/KJS8nxOcFjQev73H6Hne754H4BsuhQfCs="; }; cargoHash = "sha256-IzxjV+9Z3RNwF/6h1SGvsE8F5CgbqFTZzptgyi3jOZA="; From d7f579f64d94b1aef2990ba127bddc5ab997bbcf Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Sep 2026 04:25:00 +0000 Subject: [PATCH 30/67] python3Packages.colcon-mixin: 0.3.1 -> 0.3.2 --- pkgs/development/python-modules/colcon-mixin/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/colcon-mixin/default.nix b/pkgs/development/python-modules/colcon-mixin/default.nix index bc785c002bb8..8b01d14833c7 100644 --- a/pkgs/development/python-modules/colcon-mixin/default.nix +++ b/pkgs/development/python-modules/colcon-mixin/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "colcon-mixin"; - version = "0.3.1"; + version = "0.3.2"; pyproject = true; src = fetchFromGitHub { owner = "colcon"; repo = "colcon-mixin"; tag = version; - hash = "sha256-XpUZcfKxKr6wlqFFFEP26KlRjn6v/j1/r/pAORzPeSM="; + hash = "sha256-sSfJSLZVCIQRFj9Z3au/j+W6uFU3FKhnIBMk1HYgvTM="; }; build-system = [ setuptools ]; From 3fd6035b3b8cfe1896cbcc5286ddf8b6bf6e5e22 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Sep 2026 06:05:35 +0000 Subject: [PATCH 31/67] libretro.desmume: 0-unstable-2026-08-23 -> 0-unstable-2026-09-20 --- pkgs/by-name/li/libretroPackages/cores/desmume.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/li/libretroPackages/cores/desmume.nix b/pkgs/by-name/li/libretroPackages/cores/desmume.nix index bd12fc589965..55efa34ccbf8 100644 --- a/pkgs/by-name/li/libretroPackages/cores/desmume.nix +++ b/pkgs/by-name/li/libretroPackages/cores/desmume.nix @@ -10,13 +10,13 @@ }: mkLibretroCore { core = "desmume"; - version = "0-unstable-2026-08-23"; + version = "0-unstable-2026-09-20"; src = fetchFromGitHub { owner = "libretro"; repo = "desmume"; - rev = "8f6b32cb9a5e310bd38520e7087ce7fa14765f15"; - hash = "sha256-u1YTW7thPzmcse0XDs7WOu3foL7kf+urplOufQqawW8="; + rev = "95b4d798731caa809125b6c3c11d17cc332ff6ef"; + hash = "sha256-hewHELQM+snFUDEwhzOapZbhcv0oHv1s0QHjn/FpNWg="; }; extraBuildInputs = [ From e00085f694f8cfd405df6f4414de8f21eb21f878 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Sep 2026 06:38:42 +0000 Subject: [PATCH 32/67] dataform: 3.0.69 -> 3.0.70 --- pkgs/by-name/da/dataform/package-lock.json | 56 +++++++++++----------- pkgs/by-name/da/dataform/package.nix | 6 +-- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/pkgs/by-name/da/dataform/package-lock.json b/pkgs/by-name/da/dataform/package-lock.json index cf78ffd651b2..04a03cc2f8f4 100644 --- a/pkgs/by-name/da/dataform/package-lock.json +++ b/pkgs/by-name/da/dataform/package-lock.json @@ -1,12 +1,12 @@ { "name": "@dataform/cli", - "version": "3.0.69", + "version": "3.0.70", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@dataform/cli", - "version": "3.0.69", + "version": "3.0.70", "license": "Apache-2.0", "dependencies": { "@google-cloud/bigquery": "~8.3.0", @@ -17,7 +17,7 @@ "glob": "13.0.6", "google-sql-syntax-ts": "^1.0.3", "js-beautify": "^1.10.2", - "js-yaml": "^4.2.0", + "js-yaml": "^4.3.2", "moo": "^0.5.0", "object-sizeof": "^1.6.1", "parse-duration": "^1.0.0", @@ -147,9 +147,9 @@ } }, "node_modules/@grpc/grpc-js": { - "version": "1.14.4", - "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.14.4.tgz", - "integrity": "sha512-k9Dj3DV/itK9D06Y8f190Qgop7/Ui+D0njFV3LHMPwPT75DpXLQohE9Wmz0QElrJnzsjB7KPWiKJbOl7IPDArQ==", + "version": "1.14.5", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.14.5.tgz", + "integrity": "sha512-7VZM+SVdEcUUqSQeNI3zM8Qs/BhQKZndPo2h5VkYkAM8Iz0wJIa8mKV5ekQGqG8UUsnkQ0NMxIxwkIHYvj0qOw==", "license": "Apache-2.0", "dependencies": { "@grpc/proto-loader": "^0.8.0", @@ -398,12 +398,12 @@ "license": "BSD-3-Clause" }, "node_modules/@types/node": { - "version": "22.20.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.20.2.tgz", - "integrity": "sha512-xlvWf4Vs9n1PEVYwP1n4vvG07M6y8WgvJ2t0vbrWTmijsIHp1cS+uJ2kMIRdY3nHZK0nCYKrPeD171+SzF4/zw==", + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-26.6.2.tgz", + "integrity": "sha512-X1P21scMv4zGKLYqjdGjaKa7COa0RKVYYZZN/NfvLQ1JegxFhdhpZG/Lyn8AXx6CDUavKAd11v6BvfpkDByK8g==", "license": "MIT", "dependencies": { - "undici-types": "~6.21.0" + "undici-types": "~8.9.0" } }, "node_modules/abbrev": { @@ -576,9 +576,9 @@ } }, "node_modules/brace-expansion": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.9.tgz", - "integrity": "sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==", + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.12.tgz", + "integrity": "sha512-YovQ3rzhaLMIrDjNDMkNS01tea93qhEhG5xy8f6+R0l+dw3Ki+5sCoIoI942iuLZTHWogWktgwVDhU09iNEimQ==", "license": "MIT", "dependencies": { "balanced-match": "^4.0.2" @@ -802,9 +802,9 @@ "license": "MIT" }, "node_modules/editorconfig/node_modules/brace-expansion": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.4.tgz", - "integrity": "sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg==", + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.7.tgz", + "integrity": "sha512-uZbew1NqdmPDTMJ8ah1y+b+9QEJrfkXFk3RcTQw3X0jW/xRUvFKsg1CfQdSYGdTbXZWExtU3J3ccxtnfw1Fi0g==", "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -1284,9 +1284,9 @@ "license": "MIT" }, "node_modules/js-beautify/node_modules/brace-expansion": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.4.tgz", - "integrity": "sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg==", + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.7.tgz", + "integrity": "sha512-uZbew1NqdmPDTMJ8ah1y+b+9QEJrfkXFk3RcTQw3X0jW/xRUvFKsg1CfQdSYGdTbXZWExtU3J3ccxtnfw1Fi0g==", "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -1433,9 +1433,9 @@ "license": "Apache-2.0" }, "node_modules/lru-cache": { - "version": "11.5.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.2.tgz", - "integrity": "sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==", + "version": "11.5.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.3.tgz", + "integrity": "sha512-U4N8FgzmWxc8k1VH8Kr6lQg18U7Fjvby6wXHVRX/ZZ7IwWbRMgrRbP0Wrb5q5NVinryp4SQampHKdvtecItxUg==", "license": "BlueOak-1.0.0", "engines": { "node": "20 || >=22" @@ -1801,9 +1801,9 @@ "license": "MIT" }, "node_modules/rimraf/node_modules/brace-expansion": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.4.tgz", - "integrity": "sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg==", + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.7.tgz", + "integrity": "sha512-uZbew1NqdmPDTMJ8ah1y+b+9QEJrfkXFk3RcTQw3X0jW/xRUvFKsg1CfQdSYGdTbXZWExtU3J3ccxtnfw1Fi0g==", "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -2068,9 +2068,9 @@ } }, "node_modules/undici-types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.9.0.tgz", + "integrity": "sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg==", "license": "MIT" }, "node_modules/universalify": { diff --git a/pkgs/by-name/da/dataform/package.nix b/pkgs/by-name/da/dataform/package.nix index 780b6e891854..8f0159919945 100644 --- a/pkgs/by-name/da/dataform/package.nix +++ b/pkgs/by-name/da/dataform/package.nix @@ -13,7 +13,7 @@ buildNpmPackage (finalAttrs: { pname = "dataform"; - version = "3.0.69"; + version = "3.0.70"; __structuredAttrs = true; strictDeps = true; @@ -22,7 +22,7 @@ buildNpmPackage (finalAttrs: { src = fetchurl { url = "https://registry.npmjs.org/@dataform/cli/-/cli-${finalAttrs.version}.tgz"; - hash = "sha256-1fOvQfSyl3a+pBZxJc52tSEPLxjMNcLd1SMQ4t4TqhM="; + hash = "sha256-wNw+D8oZwR9Zn7wXvZxtA5HPLsfaO+pdHo7D/ZCrSUU="; }; # Inject the locally committed lockfile into the extracted source @@ -30,7 +30,7 @@ buildNpmPackage (finalAttrs: { cp ${./package-lock.json} package-lock.json ''; - npmDepsHash = "sha256-ZWGmCk9fZX9osQTy8BCyM4Hx2xA/QLaHNqhUCpaEceQ="; + npmDepsHash = "sha256-cPBhKHy16ZB8a9U4Nad7/0wguIvJgIYlxFEhbsjY9FY="; dontNpmBuild = true; From 784842eb75453dff177f419856b5da601848e1bc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Sep 2026 07:48:18 +0000 Subject: [PATCH 33/67] opentrack: 2026.1.0-unstable-2026-07-24 -> 2026.1.0-unstable-2026-09-21 --- pkgs/by-name/op/opentrack/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/op/opentrack/package.nix b/pkgs/by-name/op/opentrack/package.nix index b0cd06fb9f99..3778dd34e441 100644 --- a/pkgs/by-name/op/opentrack/package.nix +++ b/pkgs/by-name/op/opentrack/package.nix @@ -29,13 +29,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "opentrack"; - version = "2026.1.0-unstable-2026-07-24"; + version = "2026.1.0-unstable-2026-09-21"; src = fetchFromGitHub { owner = "opentrack"; repo = "opentrack"; - rev = "f009bb52cab7bf3884b8a9b3a326aa9ce84d6299"; - hash = "sha256-tC04TjDa35MUPV23/A6tstTS1l5148end4Yrv0RN9qg="; + rev = "043bfc1be415962151217709a101422404ea36a6"; + hash = "sha256-VS6Kt5EA+TNoQ/NzVFHMoBhOoopDZafZ3MqaJQyI3MU="; }; aruco = callPackage ./aruco.nix { }; From d65929dd0e823bc18f6f2f417bafb8deb14c916c Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Tue, 22 Sep 2026 13:21:03 +0530 Subject: [PATCH 34/67] ghgrab: disable test which needs internet Signed-off-by: phanirithvij --- pkgs/by-name/gh/ghgrab/package.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/by-name/gh/ghgrab/package.nix b/pkgs/by-name/gh/ghgrab/package.nix index de7da9e6b173..16a651334427 100644 --- a/pkgs/by-name/gh/ghgrab/package.nix +++ b/pkgs/by-name/gh/ghgrab/package.nix @@ -23,6 +23,11 @@ rustPlatform.buildRustPackage (finalAttrs: { versionCheckProgramArg = "--version"; nativeInstallCheckInputs = [ versionCheckHook ]; + checkFlags = [ + # sends request to a github.com url + "--skip=test_mcp_repo_info_on_actual_repo" + ]; + meta = { changelog = "https://github.com/abhixdd/ghgrab/releases/tag/v${finalAttrs.version}"; description = "Simple, pretty terminal tool that lets you search and download files from GitHub without leaving your CLI"; From 8c27eda32350cab49f1c1caff69d5d576c67edcc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Sep 2026 09:00:28 +0000 Subject: [PATCH 35/67] vscode-extensions.shd101wyy.markdown-preview-enhanced: 0.8.35 -> 0.8.36 --- pkgs/applications/editors/vscode/extensions/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index a3fedf926196..7cb4135481e6 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -4302,8 +4302,8 @@ let mktplcRef = { publisher = "shd101wyy"; name = "markdown-preview-enhanced"; - version = "0.8.35"; - hash = "sha256-LtaRHhtjO33TRi403SZ3LAbOOVe4w4PzoGV0Avkw/BY="; + version = "0.8.36"; + hash = "sha256-acmubrmOUirHkam1CreoP7p/LR2/6A6kpBku8Den83Y="; }; meta = { description = "Provides a live preview of markdown using either markdown-it or pandoc"; From 7fab5b517750878ca9408cba2d31ce2ea60c7309 Mon Sep 17 00:00:00 2001 From: Sergei Volkov Date: Thu, 17 Sep 2026 17:16:43 +0200 Subject: [PATCH 36/67] apache-airflow: 3.3.1 -> 3.3.2 --- .../ap/apache-airflow/python-package.nix | 63 +++++++++++++++---- 1 file changed, 50 insertions(+), 13 deletions(-) diff --git a/pkgs/by-name/ap/apache-airflow/python-package.nix b/pkgs/by-name/ap/apache-airflow/python-package.nix index 514d76940a84..c746d2db8985 100644 --- a/pkgs/by-name/ap/apache-airflow/python-package.nix +++ b/pkgs/by-name/ap/apache-airflow/python-package.nix @@ -80,6 +80,7 @@ tenacity, termcolor, tomli, + tomlkit, trove-classifiers, types-requests, typing-extensions, @@ -115,7 +116,7 @@ buildPythonPackage ( pnpm = pnpm_10; sourceRoot = uiAttrs.sourceRoot; fetcherVersion = 3; - hash = "sha256-dn8DRI2uRlc5FKNiP2nL1RlZOs7NSH+66qHyUKP5KBc="; + hash = "sha256-+f/AcJSQyvu3YCT6p4wvbNXz/xM0WN8N+MWT7iLlFEk="; }; buildPhase = '' @@ -148,7 +149,7 @@ buildPythonPackage ( pnpm = pnpm_10; sourceRoot = simpleUiAttrs.sourceRoot; fetcherVersion = 3; - hash = "sha256-KcWxcWPhtoZIfa1DZdIjTDik28cTk86HQnCBg8e2xWg="; + hash = "sha256-jLCTKdBdKQufVWQ1XRzOVN4jVC0YAcP+jnz5R966zUY="; }; buildPhase = '' @@ -181,20 +182,37 @@ buildPythonPackage ( dontCheckPythonMetadata = true; + dontCheckRuntimeDeps = true; + inherit src; sourceRoot = "${src.name}/providers/${lib.replaceStrings [ "_" ] [ "/" ] provider}"; - buildInputs = [ flit-core ]; + postPatch = '' + # relax dependencies + sed -i -E 's/"flit_core==[^"]+"/"flit_core"/' pyproject.toml + sed -i -E 's/"hatchling==[^"]+"/"hatchling"/' pyproject.toml + sed -i -E 's/"packaging==[^"]+"/"packaging"/' pyproject.toml + sed -i -E 's/"pathspec==[^"]+"/"pathspec"/' pyproject.toml + sed -i -E 's/"pluggy==[^"]+"/"pluggy"/' pyproject.toml + sed -i -E 's/"tomlkit==[^"]+"/"tomlkit"/' pyproject.toml + sed -i -E 's/"trove-classifiers==[^"]+"/"trove-classifiers"/' pyproject.toml + ''; + + build-system = [ + flit-core + hatchling + packaging + pathspec + pluggy + tomlkit + trove-classifiers + ]; dependencies = map (dep: python.pkgs.${dep}) providers.${provider}.deps; pythonRemoveDeps = [ "apache-airflow" ]; - - pythonRelaxDeps = [ - "flit-core" - ]; }; taskSdk = buildPythonPackage { @@ -213,8 +231,10 @@ buildPythonPackage ( # relax dependencies sed -i -E 's/"hatchling==[^"]+"/"hatchling"/' pyproject.toml sed -i -E 's/"packaging==[^"]+"/"packaging"/' pyproject.toml - sed -i -E 's/"trove-classifiers==[^"]+"/"trove-classifiers"/' pyproject.toml sed -i -E 's/"pathspec==[^"]+"/"pathspec"/' pyproject.toml + sed -i -E 's/"pluggy==[^"]+"/"pluggy"/' pyproject.toml + sed -i -E 's/"tomlkit==[^"]+"/"tomlkit"/' pyproject.toml + sed -i -E 's/"trove-classifiers==[^"]+"/"trove-classifiers"/' pyproject.toml # task-sdk needs config.yml from core subpackage mkdir -p src/airflow/config_templates @@ -223,6 +243,11 @@ buildPythonPackage ( build-system = [ hatchling + packaging + pathspec + pluggy + tomlkit + trove-classifiers ]; dependencies = [ @@ -239,7 +264,10 @@ buildPythonPackage ( methodtools msgspec opentelemetry-api + packaging + pathspec pendulum + pluggy psutil pydantic pygtrie @@ -249,6 +277,7 @@ buildPythonPackage ( structlog tenacity types-requests + typing-extensions ]; }; @@ -269,9 +298,11 @@ buildPythonPackage ( sed -i -E 's/"hatchling==[^"]+"/"hatchling"/' pyproject.toml sed -i -E 's/"packaging==[^"]+"/"packaging"/' pyproject.toml sed -i -E 's/"GitPython==[^"]+"/"GitPython"/' pyproject.toml - sed -i -E 's/"trove-classifiers==[^"]+"/"trove-classifiers"/' pyproject.toml - sed -i -E 's/"smmap==[^"]+"/"smmap"/' pyproject.toml sed -i -E 's/"pathspec==[^"]+"/"pathspec"/' pyproject.toml + sed -i -E 's/"pluggy==[^"]+"/"pluggy"/' pyproject.toml + sed -i -E 's/"smmap==[^"]+"/"smmap"/' pyproject.toml + sed -i -E 's/"tomlkit==[^"]+"/"tomlkit"/' pyproject.toml + sed -i -E 's/"trove-classifiers==[^"]+"/"trove-classifiers"/' pyproject.toml # Copy built UI assets cp -r ${airflowUi}/share/airflow/ui/dist src/airflow/ui/ @@ -283,8 +314,11 @@ buildPythonPackage ( gitpython hatchling packaging + pathspec + pluggy smmap tomli + tomlkit trove-classifiers ]; @@ -361,7 +395,7 @@ buildPythonPackage ( in { pname = "apache-airflow"; - version = "3.3.1"; + version = "3.3.2"; strictDeps = true; __structuredAttrs = true; @@ -370,7 +404,7 @@ buildPythonPackage ( owner = "apache"; repo = "airflow"; tag = finalAttrs.version; - hash = "sha256-ezEeO14GdaD7ZAl5VCiiIqkyoccHQ76QrThA3NeGP78="; + hash = "sha256-iWr1LYq+lThZU7b7CmrIWFbg20bFy+SghrBpE6asgrg="; }; pyproject = true; @@ -379,8 +413,10 @@ buildPythonPackage ( # relax dependencies sed -i -E 's/"hatchling==[^"]+"/"hatchling"/' pyproject.toml sed -i -E 's/"packaging==[^"]+"/"packaging"/' pyproject.toml - sed -i -E 's/"trove-classifiers==[^"]+"/"trove-classifiers"/' pyproject.toml sed -i -E 's/"pathspec==[^"]+"/"pathspec"/' pyproject.toml + sed -i -E 's/"pluggy==[^"]+"/"pluggy"/' pyproject.toml + sed -i -E 's/"tomlkit==[^"]+"/"tomlkit"/' pyproject.toml + sed -i -E 's/"trove-classifiers==[^"]+"/"trove-classifiers"/' pyproject.toml ''; nativeBuildInputs = [ writableTmpDirAsHomeHook ]; @@ -394,6 +430,7 @@ buildPythonPackage ( pluggy smmap tomli + tomlkit trove-classifiers ]; From 40e06781fbc3fbc54af9117a7b611556adf1ed82 Mon Sep 17 00:00:00 2001 From: Guillaume Fournier Date: Tue, 22 Sep 2026 11:32:27 +0200 Subject: [PATCH 37/67] maintainers: remove optional fields from giomf --- maintainers/maintainer-list.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 4ff10f07d5cd..2b4f9bd90575 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -10491,10 +10491,9 @@ name = "Luis G. Torres"; }; giomf = { - email = "giomf@mailbox.org"; + name = "giomf"; github = "giomf"; githubId = 35076723; - name = "Guillaume Fournier"; }; giorgiga = { email = "giorgio.gallo@bitnic.it"; From 1bf575e8a3ed415ac5218e11fd6a4c4edf38d730 Mon Sep 17 00:00:00 2001 From: Dennis Stengele Date: Tue, 22 Sep 2026 12:10:06 +0200 Subject: [PATCH 38/67] bookorbit: 2.10.0 -> 3.0.0 --- pkgs/by-name/bo/bookorbit/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/bo/bookorbit/package.nix b/pkgs/by-name/bo/bookorbit/package.nix index 1e8dd969b48d..85973909e2ce 100644 --- a/pkgs/by-name/bo/bookorbit/package.nix +++ b/pkgs/by-name/bo/bookorbit/package.nix @@ -16,7 +16,7 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "bookorbit"; - version = "2.10.0"; + version = "3.0.0"; __structuredAttrs = true; strictDeps = true; @@ -24,7 +24,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "bookorbit"; repo = "bookorbit"; tag = "v${finalAttrs.version}"; - hash = "sha256-Hczdvkv0p17qbsg0ZKczpFFZwMLasX5QC/yZQ5BOzA4="; + hash = "sha256-+1yTDRnq8gHWHJY2q24+EpkPjvZFLgzzUkfa/XQS55g="; }; pnpmWorkspaces = [ @@ -41,7 +41,7 @@ stdenv.mkDerivation (finalAttrs: { ; inherit pnpm; fetcherVersion = 4; - hash = "sha256-v/SVAGwDyBGdHdrbk0H3cpnF+w2/TLOcVfLFXe8kr8Y="; + hash = "sha256-A+qKEHVLKn/tvYOk+h+drjWx59nVTh0wnrBxwf+uGx0="; }; nativeBuildInputs = [ From 4d2c25bb275767153ad4acdceb7900c9dbe2d48a Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 22 Sep 2026 13:12:27 +0300 Subject: [PATCH 39/67] python3Packages.scipp: 26.8.0 -> 26.9.0 Diff: https://github.com/scipp/Scipp/compare/26.8.0...26.9.0 --- pkgs/development/python-modules/scipp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/scipp/default.nix b/pkgs/development/python-modules/scipp/default.nix index 809ec3be6dbd..f285ae3a5d4f 100644 --- a/pkgs/development/python-modules/scipp/default.nix +++ b/pkgs/development/python-modules/scipp/default.nix @@ -39,14 +39,14 @@ buildPythonPackage rec { pname = "scipp"; - version = "26.8.0"; + version = "26.9.0"; pyproject = true; src = fetchFromGitHub { owner = "scipp"; repo = "Scipp"; tag = version; - hash = "sha256-D8xUq63S1mEALfrw0Qz/7Mprw1zQMj6W2j/LjkgfGvM="; + hash = "sha256-1u9KT6o83hn9x/WGXj26OsGJOQpMBu1G4FiDIVaGXoM="; }; env = { From 3abb901b8e19682db5ac08507d54ea130dca6b72 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Sep 2026 10:52:20 +0000 Subject: [PATCH 40/67] rnmon: 0.3.4 -> 0.3.6 --- pkgs/by-name/rn/rnmon/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/rn/rnmon/package.nix b/pkgs/by-name/rn/rnmon/package.nix index b14cb478278c..03a170e6d61f 100644 --- a/pkgs/by-name/rn/rnmon/package.nix +++ b/pkgs/by-name/rn/rnmon/package.nix @@ -7,7 +7,7 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "rnmon"; - version = "0.3.4"; + version = "0.3.6"; pyproject = true; __structuredAttrs = true; @@ -15,7 +15,7 @@ python3Packages.buildPythonApplication (finalAttrs: { owner = "lbatalha"; repo = "rnmon"; tag = finalAttrs.version; - hash = "sha256-3ou2F8ePKzh6g63X0l9iX1fTSVe9misGBkPlCUEWpiU="; + hash = "sha256-Pu7kd9CUoHRWnmzrF9NSeqXxN7CRDFQslS+j3M7iNGQ="; }; build-system = [ From 36f66751b0fa325b1905fa06e4bc77d541e33a18 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Sep 2026 10:56:12 +0000 Subject: [PATCH 41/67] hydralauncher: 4.1.3 -> 4.1.4 --- pkgs/by-name/hy/hydralauncher/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/hy/hydralauncher/package.nix b/pkgs/by-name/hy/hydralauncher/package.nix index 655cccbcd3a7..e3e87e72a1eb 100644 --- a/pkgs/by-name/hy/hydralauncher/package.nix +++ b/pkgs/by-name/hy/hydralauncher/package.nix @@ -6,10 +6,10 @@ }: let pname = "hydralauncher"; - version = "4.1.3"; + version = "4.1.4"; src = fetchurl { url = "https://github.com/hydralauncher/hydra/releases/download/v${version}/hydralauncher-${version}.AppImage"; - hash = "sha256-kyr5ILGB8yovz6QMNq/LTBFddjsGAzXD12cdBzG80zo="; + hash = "sha256-3OrrOdHD1/AvGWVFVvJK9dGNl90YRG6w3j+LcEFfpps="; }; appimageContents = appimageTools.extract { inherit pname src version; }; From 2e46f092f5f1d71a670384da3739dd1ca947a5e2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Sep 2026 11:08:47 +0000 Subject: [PATCH 42/67] zwave-js-ui: 11.24.0 -> 11.24.1 --- pkgs/by-name/zw/zwave-js-ui/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/zw/zwave-js-ui/package.nix b/pkgs/by-name/zw/zwave-js-ui/package.nix index f8e6c2f6ae08..44b54eae8bf5 100644 --- a/pkgs/by-name/zw/zwave-js-ui/package.nix +++ b/pkgs/by-name/zw/zwave-js-ui/package.nix @@ -7,15 +7,15 @@ buildNpmPackage rec { pname = "zwave-js-ui"; - version = "11.24.0"; + version = "11.24.1"; src = fetchFromGitHub { owner = "zwave-js"; repo = "zwave-js-ui"; tag = "v${version}"; - hash = "sha256-KX90w0J4ASGxyFbv8l8dNoNqIURXuOeNl6E3dmFzbC4="; + hash = "sha256-wHeZOMMTq0Rb8SU4pbSMcN6/DBrPbT4VnGppwa5gEiE="; }; - npmDepsHash = "sha256-ECuBLrAIfWgCLPbKOFmZvq/6MhB58o3JjTrRf5Dip2g="; + npmDepsHash = "sha256-SdmSf9LDKpQfcwA8kWMjZKdzf64/GTdLVZf5MNZtasQ="; passthru.tests.zwave-js-ui = nixosTests.zwave-js-ui; From 0cdc1a79637b45de8f8bce47e2cf4428bfb1b52f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Sep 2026 12:12:55 +0000 Subject: [PATCH 43/67] qownnotes: 26.9.4 -> 26.9.9 --- pkgs/by-name/qo/qownnotes/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/qo/qownnotes/package.nix b/pkgs/by-name/qo/qownnotes/package.nix index d61e43e8daac..db1bc1e499af 100644 --- a/pkgs/by-name/qo/qownnotes/package.nix +++ b/pkgs/by-name/qo/qownnotes/package.nix @@ -19,11 +19,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "qownnotes"; appname = "QOwnNotes"; - version = "26.9.4"; + version = "26.9.9"; src = fetchurl { url = "https://github.com/pbek/QOwnNotes/releases/download/v${finalAttrs.version}/qownnotes-${finalAttrs.version}.tar.xz"; - hash = "sha256-lJBaXNA/B9OY1qthOLgqnWPkE/QyQ86Ok+pyBc0czik="; + hash = "sha256-WtpB9VxTA+nF3r6EYorxT0kiB9nj3zGczQL1O2mu0vc="; }; nativeBuildInputs = [ From 7fc250fc544da5fd3826a1d7b055b32f646d940b Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Tue, 22 Sep 2026 08:26:50 -0400 Subject: [PATCH 44/67] beam29Packages.erlang: 29.1 -> 29.1.1 Changelog: https://github.com/erlang/otp/releases/tag/OTP-29.1.1 --- pkgs/development/interpreters/erlang/29.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/erlang/29.nix b/pkgs/development/interpreters/erlang/29.nix index a40c8cc08ea8..d0f7fcc02848 100644 --- a/pkgs/development/interpreters/erlang/29.nix +++ b/pkgs/development/interpreters/erlang/29.nix @@ -1,6 +1,6 @@ genericBuilder: genericBuilder { - version = "29.1"; - hash = "sha256-G1YZCdaicgmuZYXIi6g5bRM4nkvJoLb7fGdBCD+NIvQ="; + version = "29.1.1"; + hash = "sha256-k84hE47sKK+eROIb65p2kcV9aHgZPxEg2SWGs2MpneE="; } From d80d98aa65296cf7ad55fd2b95f4200649e91248 Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Tue, 22 Sep 2026 08:27:44 -0400 Subject: [PATCH 45/67] beam28Packages.erlang: 28.5.0.6 -> 28.5.0.7 Changelog: https://github.com/erlang/otp/releases/tag/OTP-28.5.0.7 --- pkgs/development/interpreters/erlang/28.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/erlang/28.nix b/pkgs/development/interpreters/erlang/28.nix index 3722a12eb1a9..0c8edca3151d 100644 --- a/pkgs/development/interpreters/erlang/28.nix +++ b/pkgs/development/interpreters/erlang/28.nix @@ -1,6 +1,6 @@ genericBuilder: genericBuilder { - version = "28.5.0.6"; - hash = "sha256-RjP7SmW6vH/sIf3w0ZROoQBbCTmsdGcqsm9rYU2Tfmw="; + version = "28.5.0.7"; + hash = "sha256-1XnZspWzU8gCaeJz6kFMonrY51EKL4r/6jBI6UdNu0g="; } From 4738fbb187527a339bc3a37ab4876fb9de78bdae Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Tue, 22 Sep 2026 08:29:09 -0400 Subject: [PATCH 46/67] beam27Packages.erlang: 27.3.4.17 -> 27.3.4.18 Changelog: https://github.com/erlang/otp/releases/tag/OTP-27.3.4.18 --- pkgs/development/interpreters/erlang/27.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/erlang/27.nix b/pkgs/development/interpreters/erlang/27.nix index ca19a264f12b..5ae686415e80 100644 --- a/pkgs/development/interpreters/erlang/27.nix +++ b/pkgs/development/interpreters/erlang/27.nix @@ -1,6 +1,6 @@ genericBuilder: genericBuilder { - version = "27.3.4.17"; - hash = "sha256-os1xGN+3boKGehVKtuM0Buetb56IGhn8SRuoHlJg5bA="; + version = "27.3.4.18"; + hash = "sha256-KEnZ9UL/yOERn+CjTk+7tu0yR4RHwYwJOhnDj5nKfFs="; } From 03502a97ab073a3f7a815ac54681e40be0ff8dc3 Mon Sep 17 00:00:00 2001 From: Volker Diels-Grabsch Date: Tue, 22 Sep 2026 14:34:54 +0200 Subject: [PATCH 47/67] nixos-enter: fix homepage link --- pkgs/by-name/ni/nixos-enter/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/ni/nixos-enter/package.nix b/pkgs/by-name/ni/nixos-enter/package.nix index 4839b3a34053..16c374e8a3b3 100644 --- a/pkgs/by-name/ni/nixos-enter/package.nix +++ b/pkgs/by-name/ni/nixos-enter/package.nix @@ -28,7 +28,7 @@ replaceVarsWith { meta = { description = "Run a command in a NixOS chroot environment"; - homepage = "https://github.com/NixOS/nixpkgs/tree/master/pkgs/by-name/ni/nixos-install"; + homepage = "https://github.com/NixOS/nixpkgs/tree/master/pkgs/by-name/ni/nixos-enter"; license = lib.licenses.mit; platforms = lib.platforms.linux; mainProgram = "nixos-enter"; From ddcbafd9c4b3bead2984c72d2d305fe0d55a80d0 Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Tue, 22 Sep 2026 08:35:09 -0400 Subject: [PATCH 48/67] paseo: 0.8.0 -> 0.9.0 Changelog: https://github.com/getpaseo/paseo/blob/refs/tags/v0.9.0/CHANGELOG.md --- pkgs/by-name/pa/paseo/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/pa/paseo/package.nix b/pkgs/by-name/pa/paseo/package.nix index de8ace4f86c3..8eb9f235a6f0 100644 --- a/pkgs/by-name/pa/paseo/package.nix +++ b/pkgs/by-name/pa/paseo/package.nix @@ -13,7 +13,7 @@ buildNpmPackage (finalAttrs: { pname = "paseo"; - version = "0.8.0"; + version = "0.9.0"; __structuredAttrs = true; strictDeps = true; @@ -22,12 +22,12 @@ buildNpmPackage (finalAttrs: { owner = "getpaseo"; repo = "paseo"; tag = "v${finalAttrs.version}"; - hash = "sha256-zYUj7CGz+i+w0elysbU+Sup+NACsBoIEqCu8WHA24PE="; + hash = "sha256-qCjsMOi9/vMp0AVuWeSoiS1bv4bFMKoAha/zWNb2fHE="; }; nodejs = nodejs_22; - npmDepsHash = "sha256-gDB48rHd0K1VOAblaQlPP4XnKGHI8cAt9S09aRxx6b4="; + npmDepsHash = "sha256-3cqO8DpPVDjYaSh0q5EPJuMpCgl2OJ17uLGVGuk1Wwc="; npmRebuildFlags = [ "--ignore-scripts" ]; From 40bb73107df9bddb72e2741e588dcacde5d12a11 Mon Sep 17 00:00:00 2001 From: Johannes Kirschbauer Date: Sun, 13 Sep 2026 16:26:06 +0200 Subject: [PATCH 49/67] ci: post a reminder for updated paths docs are the first example Assisted-by: Oh My Pi (Claude Opus 5) --- .github/workflows/check.yml | 50 ++++++++ .github/workflows/pull-request-target.yml | 1 + .github/workflows/test.yml | 3 +- ci/github-script/README.md | 6 + ci/github-script/reminders.ts | 111 ++++++++++++++++++ ci/github-script/reminders/docs-styleguide.md | 12 ++ ci/github-script/run | 11 ++ 7 files changed, 193 insertions(+), 1 deletion(-) create mode 100644 ci/github-script/reminders.ts create mode 100644 ci/github-script/reminders/docs-styleguide.md diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index fd3404f07a3b..04b210146b86 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -24,6 +24,10 @@ on: # not evaluate untrusted code. NIXPKGS_MANUAL_EDIT_CHECK_APP_PRIVATE_KEY: required: false + # Can be provided in pull requests because the job it is used in does + # not evaluate untrusted code. + NIXPKGS_CI_APP_PRIVATE_KEY: + required: false # Should only be provided in the merge queue, not in pull requests, # where we're evaluating untrusted code. CACHIX_AUTH_TOKEN_GHA: @@ -136,6 +140,52 @@ jobs: GH_TOKEN: ${{ steps.app-token.outputs.token || github.token }} run: gh api /rate_limit | jq + reminders: + if: inputs.baseBranch && inputs.headBranch + permissions: + pull-requests: write + runs-on: ubuntu-24.04-arm + timeout-minutes: 8 + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + with: + persist-credentials: false + path: trusted + sparse-checkout: | + ci/github-script + + - uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0 + if: github.event_name != 'pull_request' && vars.NIXPKGS_CI_CLIENT_ID + id: app-token + with: + client-id: ${{ vars.NIXPKGS_CI_CLIENT_ID }} + private-key: ${{ secrets.NIXPKGS_CI_APP_PRIVATE_KEY }} + permission-pull-requests: write + + - name: Log current API rate limits + env: + GH_TOKEN: ${{ steps.app-token.outputs.token || github.token }} + run: gh api /rate_limit | jq + + - name: Post reminders + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 + with: + github-token: ${{ steps.app-token.outputs.token || github.token }} + script: | + const { default: postReminders } = await import('${{ github.workspace }}/trusted/ci/github-script/reminders.ts') + await postReminders({ + github, + context, + core, + dry: context.eventName == 'pull_request', + repoPath: 'trusted', + }) + + - name: Log current API rate limits + env: + GH_TOKEN: ${{ steps.app-token.outputs.token || github.token }} + run: gh api /rate_limit | jq + github-script: runs-on: ubuntu-24.04-arm timeout-minutes: 5 diff --git a/.github/workflows/pull-request-target.yml b/.github/workflows/pull-request-target.yml index 48f74b6dd930..aa42175a0cc1 100644 --- a/.github/workflows/pull-request-target.yml +++ b/.github/workflows/pull-request-target.yml @@ -82,6 +82,7 @@ jobs: secrets: NIXPKGS_COMMIT_CHECK_APP_PRIVATE_KEY: ${{ secrets.NIXPKGS_COMMIT_CHECK_APP_PRIVATE_KEY }} NIXPKGS_MANUAL_EDIT_CHECK_APP_PRIVATE_KEY: ${{ secrets.NIXPKGS_MANUAL_EDIT_CHECK_APP_PRIVATE_KEY }} + NIXPKGS_CI_APP_PRIVATE_KEY: ${{ secrets.NIXPKGS_CI_APP_PRIVATE_KEY }} with: baseBranch: ${{ needs.prepare.outputs.baseBranch }} headBranch: ${{ needs.prepare.outputs.headBranch }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d8ea1194f879..1404d29785d1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -88,6 +88,7 @@ jobs: 'ci/github-script/package.json', 'ci/github-script/package-lock.json', 'ci/github-script/prepare.js', + 'ci/github-script/reminders.ts', 'ci/github-script/reviewers.js', 'ci/github-script/reviews.js', 'ci/github-script/supportedBranches.js', @@ -95,7 +96,7 @@ jobs: 'ci/github-script/withRateLimit.js', 'ci/pinned.json', 'pkgs/top-level/release-supported-systems.json', - ].includes(file))) core.setOutput('pr', true) + ].includes(file) || file.startsWith('ci/github-script/reminders/'))) core.setOutput('pr', true) merge-group: if: needs.prepare.outputs.merge-group diff --git a/ci/github-script/README.md b/ci/github-script/README.md index 52b78c79d79f..d47559081746 100644 --- a/ci/github-script/README.md +++ b/ci/github-script/README.md @@ -15,3 +15,9 @@ Run `./run commits OWNER REPO PR`, where OWNER is your username or "NixOS", REPO ## Labeler Run `./run labels OWNER REPO`, where OWNER is your username or "NixOS" and REPO the name of your fork or "nixpkgs". + +## Reminders + +Run `./run reminders OWNER REPO PR` to post the reminders that apply to the paths a pull request touches. + +To add a reminder, write the review body to `reminders/KEY.md` and list KEY with its path regexes in `reminders.js`. diff --git a/ci/github-script/reminders.ts b/ci/github-script/reminders.ts new file mode 100644 index 000000000000..49431c752149 --- /dev/null +++ b/ci/github-script/reminders.ts @@ -0,0 +1,111 @@ +import fs from 'node:fs' +import path from 'node:path' +import type * as actionsCore from '@actions/core' +import type { context as actionsContext } from '@actions/github' +import type { GitHub } from '@actions/github/lib/utils' +import { getCommitDetailsForPR } from './get-pr-commit-details.js' +import { dismissReviews, postReview } from './reviews.js' +import { classify } from './supportedBranches.js' + +/** + * Reminders to post as a non-blocking review when a pull request touches + * certain matching paths. + */ +export const reminders: { key: string; paths: RegExp[] }[] = [ + { + key: 'docs-styleguide', + paths: [/^doc\//, /^nixos\/doc\//, /^nixos\/modules\/.*\.md$/], + }, +] + +export function matchesAny(changedPaths: string[], patterns: RegExp[]) { + return changedPaths.some((changedPath) => + patterns.some((pattern) => pattern.test(changedPath)), + ) +} + +function reminderBody(key: string) { + return fs + .readFileSync(path.join(import.meta.dirname, 'reminders', `${key}.md`), { + encoding: 'utf8', + }) + .trim() +} + +export default async function postReminders({ + github, + context, + core, + repoPath, + dry, +}: { + github: InstanceType + context: typeof actionsContext + core: typeof actionsCore + repoPath?: string + dry: boolean +}) { + const pull_number = context.payload.pull_request?.number + if (!pull_number) { + core.info('This is not a pull request. Skipping reminders.') + return + } + + const pr = ( + await github.rest.pulls.get({ + ...context.repo, + pull_number, + }) + ).data + + if (pr.user.login.endsWith('[bot]')) { + core.info('This is a bot, so reminders do not apply.') + return + } + + const baseBranchType = classify( + pr.base.ref.replace(/^refs\/heads\//, ''), + ).type + const headBranchType = classify( + pr.head.ref.replace(/^refs\/heads\//, ''), + ).type + + if ( + baseBranchType.includes('development') && + headBranchType.includes('development') && + pr.base.repo.id === pr.head.repo?.id + ) { + // This matches, for example, PRs from NixOS:staging-next to NixOS:master, or vice versa. + // We ignore them, we should only care about PRs introducing new commits. + // We still want to run on PRs from, e.g., Someone:master to NixOS:master though. + core.info( + 'This PR is from one development branch to another. Skipping reminders.', + ) + return + } + + const details = await getCommitDetailsForPR({ core, pr, repoPath }) + const changedPaths = details.flatMap(({ changedPaths }) => changedPaths) + + for (const { key, paths } of reminders) { + if (matchesAny(changedPaths, paths)) { + await postReview({ + github, + context, + core, + dry, + event: 'COMMENT', + body: reminderBody(key), + reviewKey: key, + }) + } else { + await dismissReviews({ + github, + context, + core, + dry, + reviewKey: key, + }) + } + } +} diff --git a/ci/github-script/reminders/docs-styleguide.md b/ci/github-script/reminders/docs-styleguide.md new file mode 100644 index 000000000000..d42fc5265e11 --- /dev/null +++ b/ci/github-script/reminders/docs-styleguide.md @@ -0,0 +1,12 @@ +Thanks for contributing to the documentation + +Make sure you follow the [documentation styleguide](https://github.com/NixOS/nixpkgs/blob/master/doc/styleguide.md), most notably: + +- Show, don't tell: lead with a minimal working example; explanation follows the code. +- No meta-commentary: don't write "This section explains how to…", just do it. +- Imperative mood and active voice: "Run the command", not "The user should run the following command". +- Present tense: "This creates a folder", not "This will create a folder". +- Be confident: no hedging with "should", "might", "typically", "usually". +- Cut filler words: "simply", "just", "easily", "basically"; "to", not "in order to". + +For larger changes, like adding or removing whole sections, ask the NixOS documentation team for a review. diff --git a/ci/github-script/run b/ci/github-script/run index 1fbdd0c24a65..a47220f2c33a 100755 --- a/ci/github-script/run +++ b/ci/github-script/run @@ -127,4 +127,15 @@ program await run(checkManualFileEdits, owner, repo, pr, options) }) +program + .command('reminders') + .description('Post reminders for the paths a PR touches') + .argument('', 'Owner of the GitHub repository to run on (Example: NixOS)') + .argument('', 'Name of the GitHub repository to run on (Example: nixpkgs)') + .argument('', 'Number of the Pull Request to run on') + .action(async (owner, repo, pr, options) => { + const postReminders = (await import('./reminders.ts')).default + await run(postReminders, owner, repo, pr, options) + }) + await program.parse() From 2e6a903106d56eafd50bddbca57f22106ae2c126 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 14 Sep 2026 23:37:27 +0000 Subject: [PATCH 50/67] oxfmt: 0.61.0 -> 0.68.0 --- pkgs/by-name/ox/oxfmt/package.nix | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/ox/oxfmt/package.nix b/pkgs/by-name/ox/oxfmt/package.nix index 3f147de85d47..bf0fbffdb195 100644 --- a/pkgs/by-name/ox/oxfmt/package.nix +++ b/pkgs/by-name/ox/oxfmt/package.nix @@ -21,25 +21,25 @@ # A pure Rust build would lack the Prettier plugin functionality. stdenv.mkDerivation (finalAttrs: { pname = "oxfmt"; - version = "0.61.0"; + version = "0.68.0"; src = fetchFromGitHub { owner = "oxc-project"; repo = "oxc"; tag = "oxfmt_v${finalAttrs.version}"; - hash = "sha256-uXkAD4+B8ghUbti1ts1RO+Jc0wQlpovl6+JzZA1JaRk="; + hash = "sha256-BqBI+xOFDcsw4muiyh6TypA8msJfwTsQ/nC4B6AtiLE="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) pname version src; - hash = "sha256-eZAJdMDC09nE9n2Arh72ZZUQjmMFdA68rPCmH2tSx2w="; + hash = "sha256-1raDjWN2IvtschMmLgs9Twlxc4+XVIEZ+7pqkVUDOR8="; }; pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; pnpm = pnpm_10; fetcherVersion = 3; - hash = "sha256-WZ4eYwQNeDF55ax3mW5swKafCDeYG5rWPPzJk5f+H1k="; + hash = "sha256-A4HpPjyL5UTMlpQ7hT/f2zbbW3GOKBFXWpZNdPRM6/s="; }; nativeBuildInputs = [ @@ -58,6 +58,22 @@ stdenv.mkDerivation (finalAttrs: { env.OXC_VERSION = finalAttrs.version; + # @napi-rs/cli >= 3.8 reads the process start time and machine identity via + # host binaries while acquiring its filesystem reconciliation lock. The + # Darwin build sandbox denies those execs; Node raises them as synchronous + # `spawn EPERM` from execFile, which escapes napi's callback-based error + # handling. Point the lookups at a store no-op so the sandbox allows them. + # Empty output is treated as unverifiable identity and only disables stale + # lock detection. + preBuild = lib.optionalString stdenv.hostPlatform.isDarwin '' + for cli in node_modules/.pnpm/@napi-rs+cli@*/node_modules/@napi-rs/cli/dist/cli.js; do + substituteInPlace "$cli" \ + --replace-fail '"/bin/ps"' '":"' \ + --replace-fail '"/usr/sbin/ioreg"' '":"' \ + --replace-fail '"/usr/sbin/sysctl"' '":"' + done + ''; + buildPhase = '' runHook preBuild From 622aef77613e9dbbdf8494237d1b5524b7f3ffe2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Sep 2026 13:30:58 +0000 Subject: [PATCH 51/67] shader-slang: 2026.17.1 -> 2026.18 --- pkgs/by-name/sh/shader-slang/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/sh/shader-slang/package.nix b/pkgs/by-name/sh/shader-slang/package.nix index ad55d009da17..5e6f62bbd5b7 100644 --- a/pkgs/by-name/sh/shader-slang/package.nix +++ b/pkgs/by-name/sh/shader-slang/package.nix @@ -21,13 +21,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "shader-slang"; - version = "2026.17.1"; + version = "2026.18"; src = fetchFromGitHub { owner = "shader-slang"; repo = "slang"; tag = "v${finalAttrs.version}"; - hash = "sha256-o6HRIpi/pV1dNmG9b5VK0DwKxSm/Vm6LLHR8YC9DC30="; + hash = "sha256-GlXTDfC6BLENmrzBceJGZIP4FU5ItqtyoxmbnFZ5fdQ="; fetchSubmodules = true; }; From b635c2438c9a1c885e06e322da69f2bbc3526c29 Mon Sep 17 00:00:00 2001 From: Rachala Raj Date: Tue, 22 Sep 2026 19:12:53 +0530 Subject: [PATCH 52/67] caelestia-cli: 1.1.2 -> 1.1.3 Assisted-by: Antigravity (Gemini 3.8 Flash) --- pkgs/by-name/ca/caelestia-cli/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ca/caelestia-cli/package.nix b/pkgs/by-name/ca/caelestia-cli/package.nix index 039b73e2dd5e..4b75723ab8fa 100644 --- a/pkgs/by-name/ca/caelestia-cli/package.nix +++ b/pkgs/by-name/ca/caelestia-cli/package.nix @@ -20,13 +20,13 @@ python3.pkgs.buildPythonApplication rec { pname = "caelestia-cli"; __structuredAttrs = true; - version = "1.1.2"; + version = "1.1.3"; src = fetchFromGitHub { owner = "caelestia-dots"; repo = "cli"; tag = "v${version}"; - hash = "sha256-cCP6RAEh6JliKFmvtgi97uIG1dH0lIIuDNAdrdX+1U0="; + hash = "sha256-71nGzEgBK7lZVjjKC9h1zmVlloZOmSlzn0Q4VoYo6gI="; }; pyproject = true; From 7ffe60d52db20a643f2bac0c44a152944cd4b604 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Sep 2026 13:49:35 +0000 Subject: [PATCH 53/67] mcp-searxng: 2.3.0 -> 2.4.0 --- pkgs/by-name/mc/mcp-searxng/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/mc/mcp-searxng/package.nix b/pkgs/by-name/mc/mcp-searxng/package.nix index 63dd51af3c6f..e9db284baf97 100644 --- a/pkgs/by-name/mc/mcp-searxng/package.nix +++ b/pkgs/by-name/mc/mcp-searxng/package.nix @@ -6,7 +6,7 @@ buildNpmPackage (finalAttrs: { pname = "mcp-searxng"; - version = "2.3.0"; + version = "2.4.0"; __structuredAttrs = true; strictDeps = true; @@ -15,10 +15,10 @@ buildNpmPackage (finalAttrs: { owner = "ihor-sokoliuk"; repo = "mcp-searxng"; tag = "v${finalAttrs.version}"; - hash = "sha256-LMlbuPF8KuUZlD9HUjhunuHl2tmCMSeydBZiWuGWRHA="; + hash = "sha256-1ZGo6150O8cn2b4pYLqPWs+l11L+SpeH+ATKE470Hwo="; }; - npmDepsHash = "sha256-MqVn66vCbB8+3o6KB6GCU9GxsPtqeCYjTbI5A3nfTVs="; + npmDepsHash = "sha256-21mw8/qUgLuAhF9KYZU7N+K4af7OBVwBHGqnr7p6lDE="; meta = { description = "Private web search for AI assistants via SearXNG — supports Claude, Cursor, and any MCP client"; From 31660932345d5aa3aa46c02a5de8b0890103ce3e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Sep 2026 14:17:43 +0000 Subject: [PATCH 54/67] nextcloud-client: 34.0.3 -> 34.0.4 --- pkgs/by-name/ne/nextcloud-client/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ne/nextcloud-client/package.nix b/pkgs/by-name/ne/nextcloud-client/package.nix index 21423c053820..e208836ed3ac 100644 --- a/pkgs/by-name/ne/nextcloud-client/package.nix +++ b/pkgs/by-name/ne/nextcloud-client/package.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "nextcloud-client"; - version = "34.0.3"; + version = "34.0.4"; outputs = [ "out" @@ -34,7 +34,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "nextcloud-releases"; repo = "desktop"; tag = "v${finalAttrs.version}"; - hash = "sha256-sxo4AV+4AouAHuNZqc0VjFpNaB1Ubsi4zes48WhAhFY="; + hash = "sha256-5qHhhMpgmdfNCO88ZtEtE+HcqeTOgxPUXYb8cgC6YiA="; }; patches = [ From ffd033e3d627f69f9e1f2983466fdb41cfb81a56 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Sep 2026 14:32:07 +0000 Subject: [PATCH 55/67] dns-collector: 3.0.0 -> 3.1.0 --- pkgs/by-name/dn/dns-collector/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/dn/dns-collector/package.nix b/pkgs/by-name/dn/dns-collector/package.nix index a3d3596172d2..1d2dc6d816f0 100644 --- a/pkgs/by-name/dn/dns-collector/package.nix +++ b/pkgs/by-name/dn/dns-collector/package.nix @@ -8,13 +8,13 @@ buildGoModule (finalAttrs: { pname = "dns-collector"; - version = "3.0.0"; + version = "3.1.0"; src = fetchFromGitHub { owner = "dmachard"; repo = "dns-collector"; tag = "v${finalAttrs.version}"; - hash = "sha256-DUpNgnvCKTGU01Qh3L/foVUDHgXHICtOl6wFpNi1KaA="; + hash = "sha256-W0fCI/1aiSbKiFQ/DwNuc2+NSGs+QwN+Gv9OUu5rLOY="; }; subPackages = [ "." ]; @@ -28,7 +28,7 @@ buildGoModule (finalAttrs: { "-X=github.com/prometheus/common/version.Version=${finalAttrs.version}" ]; - vendorHash = "sha256-DRb/l8sXqugl8zh+QHO7a0KYF/JS4yDQ11L6MJPipd4="; + vendorHash = "sha256-6GMoyJy9HtuGjur1VwtgP3G9CXBKiJZlK/4YNPxhIgo="; passthru.updateScript = nix-update-script { }; From 69894a1ff4064a6016a189a16c9bf1dc4cee1426 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Sep 2026 14:39:37 +0000 Subject: [PATCH 56/67] xk6: 1.4.12 -> 1.4.14 --- pkgs/by-name/xk/xk6/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/xk/xk6/package.nix b/pkgs/by-name/xk/xk6/package.nix index b5072cc950c0..39d74becca27 100644 --- a/pkgs/by-name/xk/xk6/package.nix +++ b/pkgs/by-name/xk/xk6/package.nix @@ -9,13 +9,13 @@ buildGoModule rec { pname = "xk6"; - version = "1.4.12"; + version = "1.4.14"; src = fetchFromGitHub { owner = "grafana"; repo = "xk6"; tag = "v${version}"; - hash = "sha256-puptwpgCNPupUZG6/zKIRuMwaItgwcZiBREPfcSAMvs="; + hash = "sha256-sA3b1EUczciQV9jrVR2YkjuW0i1LOIHctLJWK2q8po0="; }; vendorHash = null; From 28d5480451977e7995b90e950b99d87b00bdd2e2 Mon Sep 17 00:00:00 2001 From: K900 Date: Tue, 22 Sep 2026 17:48:03 +0300 Subject: [PATCH 57/67] kdePackages.powerdevil: backport patch recommended by upstream --- pkgs/kde/plasma/powerdevil/default.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/kde/plasma/powerdevil/default.nix b/pkgs/kde/plasma/powerdevil/default.nix index ae2b56a004f2..30793431642a 100644 --- a/pkgs/kde/plasma/powerdevil/default.nix +++ b/pkgs/kde/plasma/powerdevil/default.nix @@ -3,10 +3,20 @@ pkg-config, ddcutil, qtwayland, + fetchpatch, }: mkKdeDerivation { pname = "powerdevil"; + patches = [ + # backport fix for spurious low battery notifications + # FIXME: remove in 6.7.6 + (fetchpatch { + url = "https://invent.kde.org/plasma/powerdevil/-/commit/54f8a4a848fa02d06fefc5543f35224eef73670c.diff"; + hash = "sha256-YWUyOhFRUwzi+ISM2+TGctNDSUYc851U/b5hKkTmWXY="; + }) + ]; + extraNativeBuildInputs = [ pkg-config ]; extraBuildInputs = [ ddcutil From 9a8367ae702c91b1acd8fee2b5b0ad67a30c19a5 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Sep 2026 15:12:12 +0000 Subject: [PATCH 58/67] desync: 1.1.3 -> 1.1.4 --- pkgs/by-name/de/desync/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/de/desync/package.nix b/pkgs/by-name/de/desync/package.nix index d122b225d523..ee2d7319f5b5 100644 --- a/pkgs/by-name/de/desync/package.nix +++ b/pkgs/by-name/de/desync/package.nix @@ -8,16 +8,16 @@ buildGoModule (finalAttrs: { pname = "desync"; - version = "1.1.3"; + version = "1.1.4"; src = fetchFromGitHub { owner = "folbricht"; repo = "desync"; tag = "v${finalAttrs.version}"; - hash = "sha256-xiiN+0veHRxVNsIpob7W/iRH+dABYIiWfw22DH1bTEs="; + hash = "sha256-ORFIGjQD0S7RPgWJqDwPH2wI6Dnv4LvOZ0tMHpOtvPM="; }; - vendorHash = "sha256-FRXwQUOD1UiGSlGkBLXT0RGG382RJdEGUJxaQiyzR9A="; + vendorHash = "sha256-08LGC+N0NjUAjo9b5JhKNr46CuIXMz/erw2RPRU17xo="; ldflags = [ "-X main.version=${finalAttrs.src.tag}" ]; From 51013d6b8d354dd9c3c1efad4f2d691087273914 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Sep 2026 15:15:57 +0000 Subject: [PATCH 59/67] rio: 0.5.27 -> 0.5.28 --- pkgs/by-name/ri/rio/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ri/rio/package.nix b/pkgs/by-name/ri/rio/package.nix index 31ba0981bd2b..e657b3338116 100644 --- a/pkgs/by-name/ri/rio/package.nix +++ b/pkgs/by-name/ri/rio/package.nix @@ -51,16 +51,16 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "rio"; - version = "0.5.27"; + version = "0.5.28"; src = fetchFromGitHub { owner = "raphamorim"; repo = "rio"; tag = "v${finalAttrs.version}"; - hash = "sha256-NkuuhH5ygCH45ZP71mZ4+16TSQJLlCoLuqobHX8INSI="; + hash = "sha256-Sv9G2YGG4CEWbWlrUSBs1zdzMPZbGpvBYsOIxmTrxOg="; }; - cargoHash = "sha256-iIKZTv2PdSD33Tfeg5p//00XSHAkBusEYXCi5jhP3iY="; + cargoHash = "sha256-ygX7saxVxK9NpnsO2J1zx7sWduTkhkD4RlB8SNLavGY="; nativeBuildInputs = [ rustPlatform.bindgenHook From d6a785f5fd2cbee8f3d284abfe54af4c0dddde59 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Sep 2026 15:48:11 +0000 Subject: [PATCH 60/67] thunderbird-cli: 1.0.2 -> 1.1.0 --- pkgs/by-name/th/thunderbird-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/th/thunderbird-cli/package.nix b/pkgs/by-name/th/thunderbird-cli/package.nix index 65e0b4b5e451..96c8fc1e0368 100644 --- a/pkgs/by-name/th/thunderbird-cli/package.nix +++ b/pkgs/by-name/th/thunderbird-cli/package.nix @@ -7,7 +7,7 @@ buildNpmPackage (finalAttrs: { pname = "thunderbird-cli"; - version = "1.0.2"; + version = "1.1.0"; __structuredAttrs = true; @@ -15,14 +15,14 @@ buildNpmPackage (finalAttrs: { owner = "vitalio-sh"; repo = "thunderbird-cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-jtIXOHjijFkwdh5FWrqdSfEwbEmWQud8Qr2jsTEwJts="; + hash = "sha256-WSbczKPxTyaSqYeI8WYKpo983sfJWa7QCYbElMetUqY="; }; forceEmptyCache = true; dontNpmBuild = true; npmWorkspace = "cli"; - npmDepsHash = "sha256-ixzfebmKITD1lnPNQq765S1f+i7xBTTWWdZoJOqY7qg="; + npmDepsHash = "sha256-1+VkzCrLZvL7XUxoK/AazwSR3yLqgZ4CGJwDAJ2e+5U="; # TODO: revisit this when https://github.com/NixOS/nixpkgs/pull/333759 has landed postInstall = '' From 3f4d8c0f9d45de4927da1a967bb850d747cfe4be Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Sep 2026 15:52:20 +0000 Subject: [PATCH 61/67] thunderbird-cli-mcp: 1.0.2 -> 1.1.0 --- pkgs/by-name/th/thunderbird-cli-mcp/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/th/thunderbird-cli-mcp/package.nix b/pkgs/by-name/th/thunderbird-cli-mcp/package.nix index 2f721a15fa69..608e4c2fc639 100644 --- a/pkgs/by-name/th/thunderbird-cli-mcp/package.nix +++ b/pkgs/by-name/th/thunderbird-cli-mcp/package.nix @@ -7,7 +7,7 @@ buildNpmPackage (finalAttrs: { pname = "thunderbird-cli-mcp"; - version = "1.0.2"; + version = "1.1.0"; __structuredAttrs = true; @@ -15,14 +15,14 @@ buildNpmPackage (finalAttrs: { owner = "vitalio-sh"; repo = "thunderbird-cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-jtIXOHjijFkwdh5FWrqdSfEwbEmWQud8Qr2jsTEwJts="; + hash = "sha256-WSbczKPxTyaSqYeI8WYKpo983sfJWa7QCYbElMetUqY="; }; forceEmptyCache = true; dontNpmBuild = true; npmWorkspace = "mcp"; - npmDepsHash = "sha256-ixzfebmKITD1lnPNQq765S1f+i7xBTTWWdZoJOqY7qg="; + npmDepsHash = "sha256-1+VkzCrLZvL7XUxoK/AazwSR3yLqgZ4CGJwDAJ2e+5U="; # TODO: revisit this when https://github.com/NixOS/nixpkgs/pull/333759 has landed postInstall = '' From 1a8c23373938583a12a7d5f5cf40abb81ef7e8ff Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Sep 2026 15:52:47 +0000 Subject: [PATCH 62/67] thunderbird-cli-bridge: 1.0.2 -> 1.1.0 --- pkgs/by-name/th/thunderbird-cli-bridge/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/th/thunderbird-cli-bridge/package.nix b/pkgs/by-name/th/thunderbird-cli-bridge/package.nix index ff5daca16388..bb14171d5d3d 100644 --- a/pkgs/by-name/th/thunderbird-cli-bridge/package.nix +++ b/pkgs/by-name/th/thunderbird-cli-bridge/package.nix @@ -7,7 +7,7 @@ buildNpmPackage (finalAttrs: { pname = "thunderbird-cli-bridge"; - version = "1.0.2"; + version = "1.1.0"; __structuredAttrs = true; @@ -15,14 +15,14 @@ buildNpmPackage (finalAttrs: { owner = "vitalio-sh"; repo = "thunderbird-cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-jtIXOHjijFkwdh5FWrqdSfEwbEmWQud8Qr2jsTEwJts="; + hash = "sha256-WSbczKPxTyaSqYeI8WYKpo983sfJWa7QCYbElMetUqY="; }; forceEmptyCache = true; dontNpmBuild = true; npmWorkspace = "bridge"; - npmDepsHash = "sha256-ixzfebmKITD1lnPNQq765S1f+i7xBTTWWdZoJOqY7qg="; + npmDepsHash = "sha256-1+VkzCrLZvL7XUxoK/AazwSR3yLqgZ4CGJwDAJ2e+5U="; # TODO: revisit this when https://github.com/NixOS/nixpkgs/pull/333759 has landed postInstall = '' From 3eac0cec0fab9410a998378105f5d40a85c8e458 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Sep 2026 16:51:52 +0000 Subject: [PATCH 63/67] python3Packages.caldav: 3.3.0 -> 3.3.1 --- pkgs/development/python-modules/caldav/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/caldav/default.nix b/pkgs/development/python-modules/caldav/default.nix index 2b1a391a5442..2cd2a583c192 100644 --- a/pkgs/development/python-modules/caldav/default.nix +++ b/pkgs/development/python-modules/caldav/default.nix @@ -29,14 +29,14 @@ buildPythonPackage (finalAttrs: { pname = "caldav"; - version = "3.3.0"; + version = "3.3.1"; pyproject = true; src = fetchFromGitHub { owner = "python-caldav"; repo = "caldav"; tag = "v${finalAttrs.version}"; - hash = "sha256-FV1C8RlbkNXOTtRKSCNgiGetImW0+647JgmZtf5U+pY="; + hash = "sha256-G1iZ2a81DTURIODWTXji7AU6ywPDg4XqGNoQFhPIMO4="; }; build-system = [ From b01001ac7e2065cfeff84c9675ee5538bd562b9e Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Tue, 22 Sep 2026 22:38:58 +0530 Subject: [PATCH 64/67] cudaPackages_13_3.cccl: don't patch 13.3+ This fixes the conditional added in 73e3f315263cf81076ac42d118e8012ad6c30bbd. --- pkgs/development/cuda-modules/packages/cccl.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/cuda-modules/packages/cccl.nix b/pkgs/development/cuda-modules/packages/cccl.nix index 181d073c47a9..7b86ad2e0aec 100644 --- a/pkgs/development/cuda-modules/packages/cccl.nix +++ b/pkgs/development/cuda-modules/packages/cccl.nix @@ -37,7 +37,7 @@ buildRedist { hash = "sha256-hYfMFsd7Y8CwuNGaPYG6uEB+lg1TmWSIIU5ToVMULKY="; }) ] - ++ lib.optionals (cudaAtLeast "13.2" && cudaOlder "13.4") [ + ++ lib.optionals (cudaAtLeast "13.2" && cudaOlder "13.3") [ # Fix onnxruntime compilation error: https://github.com/microsoft/onnxruntime/issues/28023 # Backport: https://github.com/NVIDIA/cccl/pull/8771 (fetchpatch { From 80053abd47c71b574d33f7bbfebf73a0dc864d75 Mon Sep 17 00:00:00 2001 From: BatteredBunny Date: Tue, 22 Sep 2026 19:41:50 +0300 Subject: [PATCH 65/67] electron-mail: 5.3.8 -> 5.3.9 --- pkgs/by-name/el/electron-mail/package.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/el/electron-mail/package.nix b/pkgs/by-name/el/electron-mail/package.nix index c394024677f8..793d7bf2064e 100644 --- a/pkgs/by-name/el/electron-mail/package.nix +++ b/pkgs/by-name/el/electron-mail/package.nix @@ -5,21 +5,21 @@ nix-update-script, stdenvNoCC, makeWrapper, - undmg, + _7zz, }: let pname = "electron-mail"; - version = "5.3.8"; + version = "5.3.9"; sources = { x86_64-linux = fetchurl { url = "https://github.com/vladimiry/ElectronMail/releases/download/v${version}/electron-mail-${version}-linux-x86_64.AppImage"; - hash = "sha256-twqB1D3zLlZJuxQWD4dGF70w57yYv6i3abGBidERsss="; + hash = "sha256-hZxcodnfQ4iyLaXE04QgIjOJs+3NJ7Ukckk71DqnRy0="; }; aarch64-darwin = fetchurl { url = "https://github.com/vladimiry/ElectronMail/releases/download/v${version}/electron-mail-${version}-mac-arm64.dmg"; - hash = "sha256-V32Wi0oCU9dLfzqxg3OdseiILX7wPiBGNz7KuG0vlZY="; + hash = "sha256-2CRUEif7UMsZgDWw3HiUEip68wXd0AUPPHdo712ZnYc="; }; }; @@ -78,7 +78,7 @@ let sourceRoot = "."; nativeBuildInputs = [ - undmg + _7zz makeWrapper ]; From efb96ca76bb679dcb3b3b362c6d5cd4b9f5d8d62 Mon Sep 17 00:00:00 2001 From: BatteredBunny Date: Tue, 22 Sep 2026 19:48:21 +0300 Subject: [PATCH 66/67] electron-mail: update script --- pkgs/by-name/el/electron-mail/package.nix | 7 +++--- pkgs/by-name/el/electron-mail/update.sh | 27 +++++++++++++++++++++++ 2 files changed, 31 insertions(+), 3 deletions(-) create mode 100755 pkgs/by-name/el/electron-mail/update.sh diff --git a/pkgs/by-name/el/electron-mail/package.nix b/pkgs/by-name/el/electron-mail/package.nix index 793d7bf2064e..06b6b0076704 100644 --- a/pkgs/by-name/el/electron-mail/package.nix +++ b/pkgs/by-name/el/electron-mail/package.nix @@ -2,7 +2,6 @@ appimageTools, lib, fetchurl, - nix-update-script, stdenvNoCC, makeWrapper, _7zz, @@ -53,6 +52,8 @@ let meta ; + passthru.updateScript = ./update.sh; + extraInstallCommands = '' install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications substituteInPlace $out/share/applications/${pname}.desktop \ @@ -64,8 +65,6 @@ let pkgs.libsecret pkgs.libappindicator ]; - - passthru.updateScript = nix-update-script { }; }; darwin = stdenvNoCC.mkDerivation { @@ -76,6 +75,8 @@ let meta ; + passthru.updateScript = ./update.sh; + sourceRoot = "."; nativeBuildInputs = [ _7zz diff --git a/pkgs/by-name/el/electron-mail/update.sh b/pkgs/by-name/el/electron-mail/update.sh new file mode 100755 index 000000000000..a2c1c4321560 --- /dev/null +++ b/pkgs/by-name/el/electron-mail/update.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env nix-shell +#! nix-shell -I nixpkgs=./. -i bash -p curl gnused jq nix + +set -eou pipefail + +ROOT="$(dirname "$(readlink -f "$0")")" + +latestVersion=$(curl --fail --silent https://api.github.com/repos/vladimiry/ElectronMail/releases/latest | jq --raw-output .tag_name | sed 's/^v//') + +currentVersion=$(nix-instantiate --eval -E "with import ./. {}; electron-mail.version" | tr -d '"') + +if [[ "$currentVersion" == "$latestVersion" ]]; then + echo "electron-mail is up-to-date: $currentVersion" + exit 0 +fi + +echo "updating electron-mail: $currentVersion -> $latestVersion" + +sed -i "s/version = \".*\"/version = \"${latestVersion}\"/" "$ROOT/package.nix" + +APPIMAGE_URL="https://github.com/vladimiry/ElectronMail/releases/download/v${latestVersion}/electron-mail-${latestVersion}-linux-x86_64.AppImage" +APPIMAGE_HASH=$(nix --extra-experimental-features nix-command hash convert --hash-algo sha256 --to sri "$(nix-prefetch-url "$APPIMAGE_URL")") +sed -i "/linux-x86_64\.AppImage/,/hash/{s|hash = \".*\"|hash = \"${APPIMAGE_HASH}\"|}" "$ROOT/package.nix" + +DMG_URL="https://github.com/vladimiry/ElectronMail/releases/download/v${latestVersion}/electron-mail-${latestVersion}-mac-arm64.dmg" +DMG_SHA=$(nix --extra-experimental-features nix-command hash convert --hash-algo sha256 --to sri "$(nix-prefetch-url "$DMG_URL")") +sed -i "/mac-arm64\.dmg/,/hash/{s|hash = \".*\"|hash = \"${DMG_SHA}\"|}" "$ROOT/package.nix" From 4edeefa71382a81e290eb9addac12b3bc071a705 Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Tue, 22 Sep 2026 13:45:17 -0400 Subject: [PATCH 67/67] infer: mark as broken on darwin --- pkgs/by-name/in/infer/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/in/infer/package.nix b/pkgs/by-name/in/infer/package.nix index eed9dec8d202..6e34ed9016f2 100644 --- a/pkgs/by-name/in/infer/package.nix +++ b/pkgs/by-name/in/infer/package.nix @@ -244,6 +244,8 @@ stdenv.mkDerivation { license = lib.licenses.mit; maintainers = [ lib.maintainers.kacper-uminski ]; platforms = lib.platforms.darwin ++ lib.platforms.linux; + # ocaml dependency is failing on darwin + badPlatforms = lib.platforms.darwin; mainProgram = "infer"; }; }