Merge release-26.05 into staging-nixos-26.05

This commit is contained in:
nixpkgs-ci[bot] 2026-06-23 00:51:07 +00:00 committed by GitHub
commit d282d377da
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
70 changed files with 650 additions and 371 deletions

View file

@ -13,7 +13,6 @@ For new packages please briefly describe the package or provide a link to its ho
- Built on platform:
- [ ] x86_64-linux
- [ ] aarch64-linux
- [ ] x86_64-darwin
- [ ] aarch64-darwin
- Tested, as applicable:
- [ ] [NixOS tests] in [nixos/tests].

View file

@ -34,21 +34,18 @@ jobs:
matrix:
include:
- runner: ubuntu-24.04
name: x86_64-linux
systems: x86_64-linux
system: x86_64-linux
builds: [shell, manual-nixos, lib-tests, tarball]
desc: shell, docs, lib, tarball
- runner: ubuntu-24.04-arm
name: aarch64-linux
systems: aarch64-linux
system: aarch64-linux
builds: [shell, manual-nixos, manual-nixpkgs]
desc: shell, docs
- runner: macos-14
name: darwin
systems: aarch64-darwin x86_64-darwin
system: aarch64-darwin
builds: [shell]
desc: shell
name: '${{ matrix.name }}: ${{ matrix.desc }}'
name: '${{ matrix.system }}: ${{ matrix.desc }}'
runs-on: ${{ matrix.runner }}
timeout-minutes: 60
steps:
@ -80,7 +77,9 @@ jobs:
- name: Build shell
if: contains(matrix.builds, 'shell')
run: echo "${{ matrix.systems }}" | xargs -n1 nix-build-uncached nixpkgs/untrusted/ci --arg nixpkgs ./nixpkgs/untrusted-pinned -A shell --argstr system
env:
system: ${{ matrix.system }}
run: nix-build-uncached nixpkgs/untrusted/ci --arg nixpkgs ./nixpkgs/untrusted-pinned -A shell --argstr system "$system"
- name: Build NixOS manual
if: |
@ -108,5 +107,5 @@ jobs:
contains(fromJSON(inputs.baseBranch).type, 'primary')
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: ${{ inputs.artifact-prefix }}nixos-manual-${{ matrix.name }}
name: ${{ inputs.artifact-prefix }}nixos-manual-${{ matrix.system }}
path: nixos-manual

View file

@ -364,7 +364,7 @@ It is highly recommended to use a pinned version of pnpm (i.e., `pnpm_9` or `pnp
+let
+ # Optionally override pnpm to use a custom nodejs version
+ # Make sure that the same nodejs version is referenced in nativeBuildInputs
+ # pnpm = pnpm_10.override { nodejs = nodejs-slim_22; };
+ # pnpm = pnpm_10.override { nodejs-slim = nodejs-slim_22; };
+in
stdenv.mkDerivation (finalAttrs: {
pname = "foo";

View file

@ -24,11 +24,11 @@
# Pinned Nixpkgs archive
#
# Use `curl -I https://channels.nixos.org/nixos-26.05` to get the
# latest commit of the stable channel and `nix --extra-experimental-features nix-command store prefetch-file --unpack`
# to compute its hash.
# latest commit of the stable channel and `nix-prefetch-url --unpack`
# to compute its sha256 hash.
nixpkgs = builtins.fetchTarball {
url = "https://github.com/NixOS/nixpkgs/archive/c217913993d6.tar.gz";
hash = "sha256-D1PA3xQv/s4W3lnR9yJFSld8UOLr0a/cBWMQMXS+1Qg=";
sha256 = "026mprs324330pfazlgbw987qmsa8ligglarvqbcxzig2kgw0lqg";
};
in
import "${nixpkgs}/nixos" {

View file

@ -61,7 +61,7 @@ in
certs.ca.cert
];
networking.extraHosts = ''
${nodes.server.config.networking.primaryIPAddress} ${domain}
${nodes.server.networking.primaryIPAddress} ${domain}
'';
services.alps = {
enable = true;
@ -83,7 +83,7 @@ in
baseurl = "http://localhost:${toString config.services.alps.port}"
username = "alice"
password = "${nodes.server.config.users.users.alice.password}"
password = "${nodes.server.users.users.alice.password}"
cookiejar = CookieJar()
cookieprocessor = HTTPCookieProcessor(cookiejar)
opener = build_opener(cookieprocessor)
@ -125,7 +125,7 @@ in
client.start()
client.wait_for_unit("alps.service")
client.wait_for_open_port(${toString nodes.client.config.services.alps.port})
client.wait_for_open_port(${toString nodes.client.services.alps.port})
client.succeed("test-alps-login")
'';
}

View file

@ -29,7 +29,7 @@
testScript =
{ nodes, ... }:
let
user = nodes.machine.config.users.users.alice;
user = nodes.machine.users.users.alice;
in
''
with subtest("Wait for cage to boot up"):

View file

@ -47,7 +47,7 @@ in
testScript =
{ nodes, ... }:
let
user = nodes.machine.config.users.users.alice;
user = nodes.machine.users.users.alice;
XDG_RUNTIME_DIR = "/run/user/${toString user.uid}";
in
''

View file

@ -47,9 +47,9 @@ in
# need to distinguish because show-ip won't work for ipv6
if container == "webserver4":
ip = machine.succeed(f"nixos-container show-ip {container}").rstrip()
assert ip == "${nodes.machine.config.containers.webserver4.localAddress}"
assert ip == "${nodes.machine.containers.webserver4.localAddress}"
return ip
return "${nodes.machine.config.containers.webserver6.localAddress}"
return "${nodes.machine.containers.webserver6.localAddress}"
for container in "webserver4", "webserver6":

View file

@ -22,7 +22,7 @@
testScript =
{ nodes, ... }:
let
user = nodes.machine.config.users.users.alice;
user = nodes.machine.users.users.alice;
sudo = lib.concatStringsSep " " [
"XDG_RUNTIME_DIR=/run/user/${toString user.uid}"
"DOCKER_HOST=unix:///run/user/${toString user.uid}/docker.sock"

View file

@ -33,7 +33,7 @@
testScript =
{ nodes, ... }:
let
user = nodes.machine.config.users.users.alice;
user = nodes.machine.users.users.alice;
in
''
with subtest("Ensure x starts"):

View file

@ -126,7 +126,7 @@ in
];
environment.etc."initiator-root-disk-closure".source =
nodes.initiatorRootDisk.config.system.build.toplevel;
nodes.initiatorRootDisk.system.build.toplevel;
nix.settings = {
substituters = lib.mkForce [ ];

View file

@ -169,7 +169,7 @@ in
initiatorAuto.succeed("mkfs.xfs /dev/sda")
initiatorAuto.succeed("mkdir /mnt && mount /dev/sda /mnt")
initiatorAuto.succeed(
"nixos-install --no-bootloader --no-root-passwd --system ${nodes.initiatorRootDisk.config.system.build.toplevel}"
"nixos-install --no-bootloader --no-root-passwd --system ${nodes.initiatorRootDisk.system.build.toplevel}"
)
initiatorAuto.succeed("umount /mnt && rmdir /mnt")
initiatorAuto.shutdown()

View file

@ -169,7 +169,7 @@ import ../make-test-python.nix (
with subtest("Server: initialize host principal with keytab"):
server.send_chars("sudo ktutil get -p alice/admin host/server.foo.bar\n")
server.wait_until_tty_matches("1", "password for alice:")
server.send_chars("${nodes.server.config.users.users.alice.password}\n")
server.send_chars("${nodes.server.users.users.alice.password}\n")
server.wait_until_tty_matches("1", "alice/admin@FOO.BAR's Password:")
server.send_chars(f'{alice_krb_admin_pw}\n')
server.wait_for_file("/etc/krb5.keytab")
@ -194,7 +194,7 @@ import ../make-test-python.nix (
client.send_chars("sudo ktutil get -p alice/admin host/client.foo.bar\n")
client.wait_until_tty_matches("1", "password for alice:")
client.send_chars("${nodes.client.config.users.users.alice.password}\n")
client.send_chars("${nodes.client.users.users.alice.password}\n")
client.wait_until_tty_matches("1", "alice/admin@FOO.BAR's Password:")
client.send_chars(f"{alice_krb_admin_pw}\n")
client.wait_for_file("/etc/krb5.keytab")

View file

@ -209,11 +209,11 @@ in
testScript =
{ nodes, ... }:
let
primary4 = (lib.head nodes.primary.config.networking.interfaces.eth1.ipv4.addresses).address;
primary6 = (lib.head nodes.primary.config.networking.interfaces.eth1.ipv6.addresses).address;
primary4 = (lib.head nodes.primary.networking.interfaces.eth1.ipv4.addresses).address;
primary6 = (lib.head nodes.primary.networking.interfaces.eth1.ipv6.addresses).address;
secondary4 = (lib.head nodes.secondary.config.networking.interfaces.eth1.ipv4.addresses).address;
secondary6 = (lib.head nodes.secondary.config.networking.interfaces.eth1.ipv6.addresses).address;
secondary4 = (lib.head nodes.secondary.networking.interfaces.eth1.ipv4.addresses).address;
secondary6 = (lib.head nodes.secondary.networking.interfaces.eth1.ipv6.addresses).address;
in
''
import re

View file

@ -8,7 +8,7 @@
nodes.client =
{ nodes, ... }:
let
user = nodes.client.config.users.users.alice;
user = nodes.client.users.users.alice;
in
{
imports = [
@ -24,7 +24,7 @@
testScript =
{ nodes, ... }:
let
user = nodes.client.config.users.users.alice;
user = nodes.client.users.users.alice;
in
''
client.wait_for_x()

View file

@ -20,7 +20,7 @@
testScript =
{ nodes, ... }:
let
user = nodes.machine.config.users.users.alice;
user = nodes.machine.users.users.alice;
in
''
start_all()

View file

@ -21,7 +21,7 @@ in
{
imports = [ common ];
networking.nameservers = lib.mkForce [
(lib.head nodes.server.config.networking.interfaces.eth1.ipv4.addresses).address
(lib.head nodes.server.networking.interfaces.eth1.ipv4.addresses).address
];
networking.interfaces.eth1.ipv4.addresses = [
{
@ -36,7 +36,7 @@ in
{
imports = [ common ];
networking.nameservers = lib.mkForce [
(lib.head nodes.server.config.networking.interfaces.eth1.ipv6.addresses).address
(lib.head nodes.server.networking.interfaces.eth1.ipv6.addresses).address
];
networking.interfaces.eth1.ipv4.addresses = [
{

View file

@ -93,8 +93,8 @@ in
testScript =
{ nodes, ... }:
let
esPort = toString nodes.parsedmarc.config.services.elasticsearch.port;
valueObject = lib.optionalString (lib.versionAtLeast nodes.parsedmarc.config.services.elasticsearch.package.version "7") ".value";
esPort = toString nodes.parsedmarc.services.elasticsearch.port;
valueObject = lib.optionalString (lib.versionAtLeast nodes.parsedmarc.services.elasticsearch.package.version "7") ".value";
in
''
parsedmarc.start()
@ -143,7 +143,7 @@ in
networking.extraHosts = ''
127.0.0.1 ${parsedmarcDomain}
${nodes.mail.config.networking.primaryIPAddress} ${mailDomain}
${nodes.mail.networking.primaryIPAddress} ${mailDomain}
'';
services.parsedmarc = {
@ -170,7 +170,7 @@ in
networking.extraHosts = ''
127.0.0.1 ${mailDomain}
${nodes.parsedmarc.config.networking.primaryIPAddress} ${parsedmarcDomain}
${nodes.parsedmarc.networking.primaryIPAddress} ${parsedmarcDomain}
'';
services.dovecot2 = {
@ -204,8 +204,8 @@ in
testScript =
{ nodes, ... }:
let
esPort = toString nodes.parsedmarc.config.services.elasticsearch.port;
valueObject = lib.optionalString (lib.versionAtLeast nodes.parsedmarc.config.services.elasticsearch.package.version "7") ".value";
esPort = toString nodes.parsedmarc.services.elasticsearch.port;
valueObject = lib.optionalString (lib.versionAtLeast nodes.parsedmarc.services.elasticsearch.package.version "7") ".value";
in
''
mail.start()

View file

@ -39,7 +39,7 @@
testScript =
{ nodes, ... }:
let
user = nodes.machine.config.users.users.alice;
user = nodes.machine.users.users.alice;
gpg-uid = "alice@example.net";
gpg-pw = "foobar9000";
ready-file = "/tmp/secrets-dbus-init.done";

View file

@ -41,8 +41,8 @@ in
<Proxy balancer://cluster>
Require all granted
BalancerMember http://${nodes.backend1.config.networking.hostName} retry=0
BalancerMember http://${nodes.backend2.config.networking.hostName} retry=0
BalancerMember http://${nodes.backend1.networking.hostName} retry=0
BalancerMember http://${nodes.backend2.networking.hostName} retry=0
</Proxy>
ProxyStatus full

View file

@ -29,7 +29,7 @@
machine.succeed(
"""
mkdir -p /run/nginx /var/log/nginx /var/cache/nginx
${nodes.machine.config.systemd.services.nginx.runner} >&2 &
${nodes.machine.systemd.services.nginx.runner} >&2 &
echo $!>my-nginx.pid
"""
)

View file

@ -42,7 +42,7 @@ in
testScript =
{ nodes, ... }:
let
user = nodes.machine.config.users.users.alice;
user = nodes.machine.users.users.alice;
in
''
start_all()

View file

@ -194,7 +194,7 @@
swaymsg("exec swaylock")
machine.wait_until_succeeds("pgrep -xf swaylock")
machine.sleep(3)
machine.send_chars("${nodes.machine.config.users.users.alice.password}")
machine.send_chars("${nodes.machine.users.users.alice.password}")
machine.send_key("ret")
machine.wait_until_fails("pgrep -xf swaylock")

View file

@ -322,7 +322,7 @@ in
# and check if the blocks have the correct labels:
store.succeed(
"thanos tools bucket ls "
+ "--objstore.config-file=${nodes.store.config.services.thanos.store.objstore.config-file} "
+ "--objstore.config-file=${nodes.store.services.thanos.store.objstore.config-file} "
+ "--output=json | "
+ "jq .thanos.labels.some_label | "
+ "grep 'required by thanos'"

View file

@ -25,7 +25,7 @@
testScript =
{ nodes, ... }:
let
inherit (nodes.machine.config.services) redis;
inherit (nodes.machine.services) redis;
in
''
start_all()

View file

@ -73,7 +73,7 @@
testScript =
{ nodes, ... }:
let
user = nodes.client.config.users.users.alice;
user = nodes.client.users.users.alice;
in
''
start_all()

View file

@ -52,9 +52,9 @@ in
filterFlags = lib.map (package: "--filter=${package}") pnpmWorkspaces;
pnpm-fixup-state-db' =
if pnpm.nodejs or null != null then
if pnpm.nodejs-slim or null != null then
pnpm-fixup-state-db.override {
inherit (pnpm) nodejs;
inherit (pnpm) nodejs-slim;
}
else
pnpm-fixup-state-db;

View file

@ -37,37 +37,44 @@
attrs:
let
argsToOverride = args: {
name = "${args.name or "${args.pname}-${args.version}"}-source";
argsToOverride =
args:
{
name = "${args.name or "${args.pname}-${args.version}"}-source";
outputs = [ "out" ];
outputs = [ "out" ];
phases = [
"unpackPhase"
"patchPhase"
"installPhase"
];
separateDebugInfo = false;
phases = [
"unpackPhase"
"patchPhase"
"installPhase"
];
separateDebugInfo = false;
dontUnpack = lib.warnIf (args.dontUnpack or false
) "srcOnly: derivation has dontUnpack set, overriding" false;
dontUnpack = lib.warnIf (args.dontUnpack or false
) "srcOnly: derivation has dontUnpack set, overriding" false;
dontInstall = false;
installPhase = "cp -pr --reflink=auto -- . $out";
dontInstall = false;
installPhase = "cp -pr --reflink=auto -- . $out";
# the original derivation might've set something like outputDev = "lib", but "lib" isn't an output anymore
# some things get confused and error if one of these is set to an output that doesn't exist
# ex: pkgs/build-support/setup-hooks/multiple-outputs.sh
outputDev = "out";
outputBin = "out";
outputInclude = "out";
outputLib = "out";
outputDoc = "out";
outputDevdoc = "out";
outputMan = "out";
outputDevman = "out";
outputInfo = "out";
};
# the original derivation might've set something like outputDev = "lib", but "lib" isn't an output anymore
# some things get confused and error if one of these is set to an output that doesn't exist
# ex: pkgs/build-support/setup-hooks/multiple-outputs.sh
outputDev = "out";
outputBin = "out";
outputInclude = "out";
outputLib = "out";
outputDoc = "out";
outputDevdoc = "out";
outputMan = "out";
outputDevman = "out";
outputInfo = "out";
}
// lib.optionalAttrs (lib.isAttrs args.outputChecks or null) {
# If the original derivation includes outputChecks for output we are removing, we need to reset it to an empty check.
outputChecks = { };
};
in
# If we are passed a derivation (based on stdenv*), we can use overrideAttrs to

View file

@ -20,13 +20,13 @@
let
nodejs = nodejs_24;
version = "2025.12.5";
version = "2025.12.6";
src = fetchFromGitHub {
owner = "goauthentik";
repo = "authentik";
tag = "version/${version}";
hash = "sha256-LPGAhbtmuztDQ4CVhUXb+vBU5HjvNZ7JicI5r3lr1QQ=";
hash = "sha256-uIg47z4LaCawF/5ir4mKE6DpDnEpQ8DuObCNaq6TcYk=";
};
meta = {
@ -137,8 +137,8 @@ let
outputHash =
{
"aarch64-linux" = "sha256-smm9x29z7gOI7Wq0NvP45KHtBbT6p1lH6IjEf9LRuGs=";
"x86_64-linux" = "sha256-K86wnn50svP+QG3i0mggH8RQgfoIqEmyQTouz35xzw8=";
"aarch64-linux" = "sha256-EbLneRDCyLLLBOZ2DUDpf2TbZoTL8QMXP4WlAZEzS90=";
"x86_64-linux" = "sha256-yDjwN/+lX2i9WYDXq4yWwf9o8nA4342iHDDQH4Jt7eQ=";
}
.${stdenvNoCC.hostPlatform.system} or (throw "authentik-website-deps: unsupported host platform");

View file

@ -50,6 +50,6 @@ stdenv.mkDerivation {
platforms
;
broken = !(lib.versionAtLeast kernel.version "6.16" && lib.versionOlder kernel.version "7.1");
broken = !(lib.versionAtLeast kernel.version "6.16" && lib.versionOlder kernel.version "7.2");
};
}

View file

@ -1,13 +1,14 @@
{
"balanced_text": "sha256-U+gtC9AaUFp3gVkUzYMWAUSuUV7kYB8ZE2BsclnxwkA=",
"flutter_carplay": "sha256-0lewLQFVx+0rW2aAxWSePz/9bhNmb/mWt4RBJ++BCuM=",
"flutter_user_certificates_android": "sha256-HL1Qd0D3CLYJysWLX2jqWt1FJRGm/BE8EjVFPztOIPo=",
"isar": "sha256-Wg1m/HM7UnK+aC1DOyY41Bo4HuLrEaAxCtQw12ZrnN0=",
"isar_flutter_libs": "sha256-Z5IdfiaZ7348XwYSQb81z0YZEoIHWmsSZr6mYqqz4Oo=",
"isar_flutter_libs": "sha256-abfMKRRVJgrG5orGvXJbIJNTx8Fx0XTlvZZ9W+LcsP0=",
"isar_generator": "sha256-fM8ygT6il7TdjmeTdmk8o4exc3Z/F1tYF878eoDK37E=",
"just_audio": "sha256-I+HTDx3IpaQw3VBVO7KGzl0vDcFrNZhN5455i7TNxxs=",
"just_audio_media_kit": "sha256-dSlZETFqNQs7jxNN+8MWQzval31zA7zCs+7WiPPPZMw=",
"just_audio_media_kit": "sha256-ZdSX86xeqXZZrdHpdg8W240qtSnUTfZLN9XrM05rVTI=",
"media_kit_libs_windows_audio": "sha256-XAObjn7wcN4qA7MW+hKqjNZv/L2Ec8t/cTF+d2ZoZ+k=",
"palette_generator": "sha256-mnRJf3asu1mm9HYU8U0di+qRk3SpNFwN3S5QxChpIA0=",
"smtc_windows": "sha256-ESR6qw8ciJvo1YG3wNK7Uy/N0zzl6OX6q40Dmgsvx6A=",
"split_view": "sha256-unTJQDXUUPVDudlk0ReOPNYrsyEpbd/UMg1tHZsmg+k="
}
}

View file

@ -15,7 +15,7 @@
dart,
}:
let
version = "0.9.23-beta";
version = "0.9.24-beta";
in
flutter341.buildFlutterApplication {
inherit version;
@ -24,7 +24,7 @@ flutter341.buildFlutterApplication {
owner = "UnicornsOnLSD";
repo = "finamp";
rev = version;
hash = "sha256-N1+6rB16geFMYMbfiF7eppnXfXC/pqv90I9aY/57lKI=";
hash = "sha256-o7q7Yr47maTrt4CG3PiV9Fdhy77ToboVdd8olZFfFts=";
};
pubspecLock = lib.importJSON ./pubspec.lock.json;

File diff suppressed because it is too large Load diff

View file

@ -18,16 +18,16 @@ let
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "gitoxide";
version = "0.54.0";
version = "0.55.0";
src = fetchFromGitHub {
owner = "GitoxideLabs";
repo = "gitoxide";
tag = "v${finalAttrs.version}";
hash = "sha256-MkOmxvACroJAB1nQZT1pcJ/Fn9gWNFwKiwVNb9iUlgY=";
hash = "sha256-UtdXlIvX82UUhc4RWZZTBV5kz4YqfOTd4D/pGhDUfSI=";
};
cargoHash = "sha256-bYgGQa8Gym4dzkuTrOSu3NwUhYdZNtq7ACwVwhdKQRI=";
cargoHash = "sha256-Kv0NKA3OdHBn2M8DmcGyjcN2acGJYOdbczOb/nRsvDs=";
nativeBuildInputs = [
cmake

View file

@ -21,16 +21,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "halloy";
version = "2026.7.1";
version = "2026.7.2";
src = fetchFromGitHub {
owner = "squidowl";
repo = "halloy";
tag = finalAttrs.version;
hash = "sha256-AFDx4gmYWUMcvpJi+/2xd0s4gAygwss2XrmCFsd6uKs=";
hash = "sha256-+qFHwlwRxVN4W9DG+gY5N6um+JARD+3EiLlsD7R9Tpc=";
};
cargoHash = "sha256-hrYWF5WNhLqKMFJJlir7tumxNZqgGm+gK+RI1iDPatM=";
cargoHash = "sha256-/nFtOJXpusIlc7orGv013qzad8fdfQr32c8DAlccHIA=";
nativeBuildInputs = [
copyDesktopItems

View file

@ -17,7 +17,7 @@ let
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "irpf";
version = "2026-1.4";
version = "2026-1.5";
# https://www.gov.br/receitafederal/pt-br/centrais-de-conteudo/download/pgd/dirpf
# Para outros sistemas operacionais -> Multi
@ -27,7 +27,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
in
fetchzip {
url = "https://downloadirpf.receita.fazenda.gov.br/irpf/${year}/irpf/arquivos/IRPF${finalAttrs.version}.zip";
hash = "sha256-tPIu1nt1FtGyjM1vnzAHenjlKeAKJfqPus+XsP2CH5g=";
hash = "sha256-/y0XE+i+Sug/2TfqQuPQesYaDVn41v3hkikU/hmxxNE=";
};
nativeBuildInputs = [

View file

@ -12,6 +12,7 @@
# keep-sorted start
cpptrace,
fast-float,
fmt,
gtest,
hat-trie,
@ -83,8 +84,8 @@ let
luajit-src = fetchFromGitHub {
owner = "RocksLabs";
repo = "LuaJIT";
rev = "c0a8e68325ec261a77bde1c8eabad398168ffe74";
hash = "sha256-Wjh14d0JR5ecAwdYVBjQYIHb2vJ1I61oR0N0LMmtq4E=";
rev = "02dfcc34e93e57ac96e566d123c66ee01e650299";
hash = "sha256-HINP9nahXHTManDMAAJBOUlSSxv5JZhlHs96HHkE7qE=";
};
zlib-ng' = zlib-ng.override { withZlibCompat = true; };
@ -107,13 +108,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "kvrocks";
version = "2.15.0";
version = "2.16.0";
src = fetchFromGitHub {
owner = "apache";
repo = "kvrocks";
tag = "v${finalAttrs.version}";
hash = "sha256-s4saKuezPYvcmKSqVBVDbPJcQXr6pVfIWjff7Txg8tY=";
hash = "sha256-CAbhOX7dmyXgl0STNjzALseXUzrpTPNy9tjoPACe0Os=";
};
__structuredAttrs = true;
@ -151,6 +152,15 @@ stdenv.mkDerivation (finalAttrs: {
];
}}
${mkCmakeFile "fmt" { findPackage = "fmt"; }}
${mkCmakeFile "fast_float" {
findPackage = "FastFloat";
libraries = [
{
name = "fast_float";
target = "FastFloat::fast_float";
}
];
}}
${mkCmakeFile "spdlog" { findPackage = "spdlog"; }}
${mkCmakeFile "snappy" {
pkgConfig = {
@ -273,6 +283,7 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
# keep-sorted start
cpptrace
fast-float
fmt
gtest
hat-trie

View file

@ -1,6 +1,6 @@
{
version = "1.30.1";
hash = "sha256-Z/0Lh+2VLB3w4AHNf+imWRgHmarO1MMUmNqrcAVSQ2k=";
npmDepsHash = "sha256-eccYGPIbk98+BtNtBAq4G1z/ymj6HHwacuH6ZktuN0U=";
vendorHash = "sha256-FgwMdvND7DMrYWp9kB2IB+Gjyo1gm1LtLTeC9SfPw9U=";
version = "1.30.2";
hash = "sha256-37nJRJL1mxvUdD7L9/yO/Lzyjvn09Tu9xHTEt4pxu2s=";
npmDepsHash = "sha256-AApRrIIYC4NtKIFyGQ3lnKIOk7LZNDK8wvUUbSczTrA=";
vendorHash = "sha256-em0317Q1u5sl8gws4/qqM8e9H5F4vfBiM7tLCyufgEk=";
}

View file

@ -7,16 +7,18 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "mdns-scanner";
version = "0.27.1";
version = "0.27.2";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "CramBL";
repo = "mdns-scanner";
tag = "v${finalAttrs.version}";
hash = "sha256-90+VBCxb4bbmGCpBLmqzhUJ0/9GAH8Fnju61kq7sx+A=";
hash = "sha256-oqU7lpDD2umCBAcPYKjo+5kdsCu3gjBiP5MPNvH2fhs=";
};
cargoHash = "sha256-LTL5nlT75Y/cALKVLVBWlMZZn9DewZfCbTAO1QsAfXI=";
cargoHash = "sha256-TqTN9qXnfvP067kh+bfdXlU1lKaZistIvq1qJsgmJ8o=";
passthru.updateScript = nix-update-script { };

View file

@ -8,16 +8,16 @@
}:
buildGoModule (finalAttrs: {
pname = "nezha-agent";
version = "2.2.2";
version = "2.2.3";
src = fetchFromGitHub {
owner = "nezhahq";
repo = "agent";
tag = "v${finalAttrs.version}";
hash = "sha256-KaONvjQY204VUppt2h78IE92LP+YJQ128BCuHGgMsBk=";
hash = "sha256-DDmxeWEIEJweqDbCDDTzK99cP28tz5bQpotyDMCTVuk=";
};
vendorHash = "sha256-/pygqSThb3YQ188Ro0vjP4yDN/yfPNRJQWP5FQ7sJ8c=";
vendorHash = "sha256-kYw1XgtlzRSQ0k8XK0lCJ0s2UaevVdmPunb9e7hoc70=";
ldflags = [
"-s"

View file

@ -21,17 +21,22 @@
libsecret,
gst_all_1,
xdg-user-dirs,
gnome,
librsvg,
webp-pixbuf-loader,
libavif,
libheif,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "nocturne";
version = "1.2.1";
version = "1.3.0";
src = fetchFromGitHub {
owner = "Jeffser";
repo = "Nocturne";
tag = finalAttrs.version;
hash = "sha256-CfrPmpkjcmKMB66kdFL4HqVukaIWAkIzOkwtBqZ65k4=";
hash = "sha256-z7E4PVSp7HDarnJeQFrJ/HznxUT+b6xTF0QTm5ffvTQ=";
};
__structuredAttrs = true;
@ -78,6 +83,19 @@ stdenv.mkDerivation (finalAttrs: {
python3Packages.pillow
];
preInstall = ''
export GDK_PIXBUF_MODULE_FILE="${
gnome._gdkPixbufCacheBuilder_DO_NOT_USE {
extraLoaders = [
librsvg
webp-pixbuf-loader
libavif
libheif.lib
];
}
}"
'';
preFixup = ''
gappsWrapperArgs+=(
--prefix PATH : ${lib.makeBinPath [ xdg-user-dirs ]}

View file

@ -6,7 +6,7 @@
fetchPnpmDeps,
pnpmConfigHook,
pnpm_10,
nodejs_22,
nodejs-slim_22,
makeWrapper,
versionCheckHook,
rolldown,
@ -38,7 +38,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
nativeBuildInputs = [
pnpmConfigHook
pnpm_10
nodejs_22
nodejs-slim_22
makeWrapper
installShellFiles
];
@ -83,7 +83,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
# Remove symlinks pointing back to the build sandbox
find $libdir/dist/extensions -type l -lname "$NIX_BUILD_TOP/*" -delete
makeWrapper ${lib.getExe nodejs_22} $out/bin/openclaw \
makeWrapper ${lib.getExe nodejs-slim_22} $out/bin/openclaw \
--add-flags "$libdir/dist/index.js" \
--set NODE_PATH "$libdir/node_modules"
ln -s $out/bin/openclaw $out/bin/moltbot

View file

@ -1,7 +1,7 @@
{
buildNpmPackage,
lib,
nodejs,
nodejs-slim,
pnpm,
tests,
}:
@ -11,12 +11,13 @@ buildNpmPackage {
src = ./src;
inherit nodejs;
nodejs = nodejs-slim;
nativeBuildInputs = lib.optional (builtins.hasAttr "npm" nodejs-slim) nodejs-slim.npm;
npmDepsHash = "sha256-um6a4pEtPtdxHBRq9g5ZW20wIQAMjWJ3qF96XuxJg8o=";
postInstall = ''
makeWrapper ${lib.getExe nodejs} $out/bin/pnpm-fixup-state-db \
makeWrapper ${lib.getExe nodejs-slim} $out/bin/pnpm-fixup-state-db \
--add-flags "$out/lib/node_modules/pnpm-fixup-state-db"
'';

View file

@ -5,7 +5,7 @@
makeBinaryWrapper,
copyDesktopItems,
electron_41,
nodejs_24,
nodejs-slim_24,
pnpm_10_29_2,
fetchPnpmDeps,
pnpmConfigHook,
@ -21,8 +21,8 @@
}:
let
nodejs = nodejs_24;
pnpm = pnpm_10_29_2.override { inherit nodejs; };
nodejs-slim = nodejs-slim_24;
pnpm = pnpm_10_29_2.override { inherit nodejs-slim; };
electron = electron_41;
appName = "Podman Desktop";
in
@ -91,7 +91,8 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
makeBinaryWrapper
nodejs
nodejs-slim
nodejs-slim.npm
pnpm
pnpmConfigHook
]

View file

@ -6,7 +6,7 @@
fetchPnpmDeps,
pnpmConfigHook,
stdenvNoCC,
nodejs_22,
nodejs-slim_22,
ffmpeg,
imagemagick,
makeWrapper,
@ -37,8 +37,8 @@ let
mainProgram = "izzy";
};
};
nodejs = nodejs_22;
pnpm' = pnpm_9.override { nodejs = nodejs_22; };
nodejs-slim = nodejs-slim_22;
pnpm' = pnpm_9.override { inherit nodejs-slim; };
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "porn-vault";
@ -59,7 +59,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
};
nativeBuildInputs = [
nodejs
nodejs-slim
pnpmConfigHook
pnpm'
makeWrapper
@ -92,7 +92,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
'';
preFixup = ''
makeWrapper "${lib.getExe nodejs}" "$out/bin/porn-vault" \
makeWrapper "${lib.getExe nodejs-slim}" "$out/bin/porn-vault" \
--chdir "$out/share/porn-vault" \
--add-flags "dist/index.js" \
--set-default IZZY_PATH "${lib.getExe izzy}" \
@ -110,7 +110,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
homepage = "https://gitlab.com/porn-vault/porn-vault";
license = lib.licenses.gpl3Plus;
maintainers = [ lib.maintainers.luNeder ];
inherit (nodejs.meta) platforms;
inherit (nodejs-slim.meta) platforms;
mainProgram = "porn-vault";
};
})

View file

@ -166,6 +166,8 @@ stdenv.mkDerivation (finalAttrs: {
$opt/resources/app/ppm/bin/node
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
$opt/resources/app.asar.unpacked/node_modules/symbol-provider-ctags/vendor/ctags-linux
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
$opt/chrome_crashpad_handler
# Replace the bundled git with the one from nixpkgs
dugite=$opt/resources/app.asar.unpacked/node_modules/dugite

View file

@ -1,12 +0,0 @@
diff --git a/Cargo.lock b/Cargo.lock
index c8c39e9617888199b86fa7c0273c0edebc85df2f..ea5e7b7e633a2de582a7b013a32a6eb6b166e2db 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -2866,6 +2866,7 @@ dependencies = [
name = "rustversion"
version = "1.0.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
[[package]]
name = "ryu"

View file

@ -10,22 +10,18 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "pyrefly";
version = "1.0.0";
version = "1.1.1";
src = fetchFromGitHub {
owner = "facebook";
repo = "pyrefly";
tag = finalAttrs.version;
hash = "sha256-S3phcTwZlG9VBHdYzcbsLzj0uqBUDy4Xfy/tlp3AQZg=";
hash = "sha256-GHH+oG3oUEmGNEmtrmra321UIgRD04Eq1Ct0H7VsjxU=";
};
buildAndTestSubdir = "pyrefly";
cargoPatches = [
# https://github.com/facebook/pyrefly/issues/3383
./fix-cargo-lock.patch
];
cargoHash = "sha256-OfbPPANsAhrp2MbzDEHGRLWWmUkbMMGKR5B4R6lXdE4=";
cargoHash = "sha256-vOHcmYVKlsxueWjvCCDWwSfJt+2/71b5+NdQyW3jYH4=";
buildInputs = [ rust-jemalloc-sys ];
@ -42,9 +38,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
export TMPDIR=$(mktemp -d)
'';
# requires unstable rust features
env.RUSTC_BOOTSTRAP = 1;
passthru.updateScript = nix-update-script { };
meta = {

View file

@ -13,17 +13,17 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "reaction";
version = "2.4.1";
version = "2.5.1";
src = fetchFromGitLab {
domain = "framagit.org";
owner = "ppom";
repo = "reaction";
tag = "v${finalAttrs.version}";
hash = "sha256-1+kliU3TfXhAz/vRh/UamTdcv8UIXrcF1q+Qy1jsjD4=";
hash = "sha256-a1ioQ+1CvC22tUeyVG8A7hciP+bXvX/UcRi0++To5Ik=";
};
cargoHash = "sha256-FQCYCSKk8SLO2ddM6hklUuTvSK7+4dElaNQ3ZNnci3M=";
cargoHash = "sha256-qbhNswQW6ExkMQ+KiAr50EOLiDScwm9hILiiN9GxGWU=";
nativeBuildInputs = [ installShellFiles ];

View file

@ -1,4 +1,5 @@
{
cmake,
lib,
rustPlatform,
fetchFromGitHub,
@ -8,16 +9,21 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "realm";
version = "2.8.0";
version = "2.9.4";
src = fetchFromGitHub {
owner = "zhboner";
repo = "realm";
rev = "v${finalAttrs.version}";
hash = "sha256-7hOy+bqWoVyI2xGJ0eY7GvyIYykr6VP8d3ZYtY/jGPI=";
hash = "sha256-gnsFqWhJOMKUaSWfRmHBksw3uWFP0smRhEbPLriEmlk=";
};
cargoHash = "sha256-yR+ayseoUYpK9lUFRP0OLrp1+LUrtPnxiPRvjDFSNgo=";
cargoHash = "sha256-b/cG6fGoAdhvmZXSQv/QkY3QKiMT7YcfEGohZSbk0q8=";
nativeBuildInputs = [
cmake
rustPlatform.bindgenHook
];
env.RUSTC_BOOTSTRAP = 1;

View file

@ -6,7 +6,7 @@
fetchFromGitHub,
stdenv,
makeWrapper,
nodejs_22,
nodejs-slim_22,
python3,
python3Packages,
sqlite,
@ -15,8 +15,8 @@
}:
let
nodejs = nodejs_22;
pnpm = pnpm_10.override { inherit nodejs; };
nodejs-slim = nodejs-slim_22;
pnpm = pnpm_10.override { inherit nodejs-slim; };
in
stdenv.mkDerivation (finalAttrs: {
pname = "seerr";
@ -41,14 +41,14 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
python3
python3Packages.distutils
nodejs
nodejs-slim
makeWrapper
pnpmConfigHook
pnpm
];
preBuild = ''
export npm_config_nodedir=${nodejs}
export npm_config_nodedir=${nodejs-slim}
pushd node_modules
pnpm rebuild bcrypt sqlite3
popd
@ -77,7 +77,7 @@ stdenv.mkDerivation (finalAttrs: {
postInstall = ''
mkdir -p $out/bin
makeWrapper '${nodejs}/bin/node' "$out/bin/seerr" \
makeWrapper '${nodejs-slim}/bin/node' "$out/bin/seerr" \
--add-flags "$out/share/dist/index.js" \
--chdir "$out/share" \
--set NODE_ENV production

View file

@ -11,7 +11,7 @@
jemalloc,
makeWrapper,
nix-update-script,
nodejs_22,
nodejs-slim_22,
pango,
pixman,
pkg-config,
@ -24,7 +24,7 @@
}:
let
pnpm = pnpm_10.override { nodejs = nodejs_22; };
pnpm = pnpm_10.override { nodejs-slim = nodejs-slim_22; };
in
stdenv.mkDerivation (finalAttrs: {
pname = "sharkey";
@ -48,7 +48,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
makeWrapper
nodejs_22
nodejs-slim_22
pkg-config
pnpmConfigHook
pnpm
@ -79,7 +79,7 @@ stdenv.mkDerivation (finalAttrs: {
popd
# rebuild some node modules that have native dependencies
export npm_config_nodedir=${nodejs_22}
export npm_config_nodedir=${nodejs-slim_22}
pushd node_modules/.pnpm/node_modules/re2
pnpm rebuild
@ -105,7 +105,7 @@ stdenv.mkDerivation (finalAttrs: {
let
binPath = lib.makeBinPath [
bash
nodejs_22
nodejs-slim_22
pnpm
];
libPath = lib.makeLibraryPath [

View file

@ -6,7 +6,7 @@
pnpmConfigHook,
pnpm_10,
faketty,
nodejs_22,
nodejs-slim_22,
versionCheckHook,
makeBinaryWrapper,
nix-update-script,
@ -14,8 +14,8 @@
let
pnpm = pnpm_10;
nodejs = nodejs_22;
pnpm' = pnpm.override { inherit nodejs; };
nodejs-slim = nodejs-slim_22;
pnpm' = pnpm.override { inherit nodejs-slim; };
in
stdenv.mkDerivation (finalAttrs: {
pname = "shopify";
@ -37,7 +37,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
faketty
nodejs
nodejs-slim
pnpmConfigHook
pnpm'
makeBinaryWrapper
@ -73,7 +73,7 @@ stdenv.mkDerivation (finalAttrs: {
pnpm install --offline --prod --ignore-scripts --frozen-lockfile
mv node_modules $out/lib/node_modules/@shopify/cli/node_modules
makeWrapper ${lib.getExe nodejs} $out/bin/shopify \
makeWrapper ${lib.getExe nodejs-slim} $out/bin/shopify \
--add-flags "$out/lib/node_modules/@shopify/cli/bin/run.js"
runHook postInstall

View file

@ -19,13 +19,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "squid";
version = "7.5";
version = "7.6";
src = fetchurl {
url = "https://github.com/squid-cache/squid/releases/download/SQUID_${
builtins.replaceStrings [ "." ] [ "_" ] finalAttrs.version
}/squid-${finalAttrs.version}.tar.xz";
hash = "sha256-9gWJB9sBUNL10ihIK1qeVniSDPNorgzLzszrL/TDUQY=";
hash = "sha256-hSF4/cN8WweGqTT8mQx9L//IKs8ZsihL4gm5ZDHSWZI=";
};
nativeBuildInputs = [ pkg-config ];

View file

@ -7,7 +7,7 @@
fetchgit,
srcOnly,
removeReferencesTo,
nodejs_24,
nodejs-slim_24,
pnpm_11,
fetchPnpmDeps,
pnpmConfigHook,
@ -17,8 +17,10 @@
zip,
}:
let
nodeSources = srcOnly nodejs_24;
pnpm' = pnpm_11.override { nodejs = nodejs_24; };
nodeSources = (srcOnly nodejs-slim_24).overrideAttrs {
outputChecks = { };
};
pnpm' = pnpm_11.override { nodejs-slim = nodejs-slim_24; };
esbuild' = esbuild.override {
buildGoModule =
args:
@ -61,7 +63,8 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
customPython
nodejs_24
nodejs-slim_24
nodejs-slim_24.npm
pnpmConfigHook
pnpm'
gitMinimal
@ -70,7 +73,7 @@ stdenv.mkDerivation (finalAttrs: {
];
buildInputs = [
nodejs_24
nodejs-slim_24
];
# Make a fake git repo with a commit.

View file

@ -5,12 +5,12 @@
pnpm_10,
fetchPnpmDeps,
pnpmConfigHook,
nodejs_22,
nodejs-slim_22,
versionCheckHook,
nix-update-script,
}:
let
pnpm' = pnpm_10.override { nodejs = nodejs_22; };
pnpm' = pnpm_10.override { nodejs-slim = nodejs-slim_22; };
in
stdenv.mkDerivation (finalAttrs: {
pname = "tsx";
@ -35,13 +35,13 @@ stdenv.mkDerivation (finalAttrs: {
};
nativeBuildInputs = [
nodejs_22
nodejs-slim_22
pnpmConfigHook
pnpm'
];
buildInputs = [
nodejs_22
nodejs-slim_22
];
patchPhase = ''

View file

@ -2,7 +2,7 @@
stdenv,
lib,
fetchFromGitHub,
nodejs_22,
nodejs-slim_22,
gitMinimal,
gitSetupHook,
pnpm_8,
@ -11,7 +11,7 @@
nix-update-script,
}:
let
pnpm' = pnpm_8.override { nodejs = nodejs_22; };
pnpm' = pnpm_8.override { nodejs-slim = nodejs-slim_22; };
in
stdenv.mkDerivation (finalAttrs: {
pname = "vtsls";
@ -26,7 +26,7 @@ stdenv.mkDerivation (finalAttrs: {
};
nativeBuildInputs = [
nodejs_22
nodejs-slim_22
# patches are applied with git during build
gitMinimal
gitSetupHook
@ -34,7 +34,7 @@ stdenv.mkDerivation (finalAttrs: {
pnpm'
];
buildInputs = [ nodejs_22 ];
buildInputs = [ nodejs-slim_22 ];
pnpmWorkspaces = [ "@vtsls/language-server" ];

View file

@ -10,15 +10,15 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "youtrack";
version = "2026.1.13570";
version = "2026.1.13757";
src = dockerTools.exportImage {
diskSize = 8192;
fromImage = dockerTools.pullImage {
imageName = "jetbrains/youtrack";
arch = "amd64";
imageDigest = "sha256:2ea82348ed037f91f847dd99f196e632769dbd44a00d5659ee7a50cf9774149a";
hash = "sha256-+GVDh4ptBQggtZDWI56pEvkPonL9QG9126amtwZS0T8=";
imageDigest = "sha256:56c4d6b6cb3781e21a369857943a366931b69f22dee76c16b2173de0fd56a0a9";
hash = "sha256-vWNe/1PTLX1rNR66iOZizubH2YVda8GTfXrQikWTML0=";
};
};
unpackPhase = ''

View file

@ -31,7 +31,7 @@ let
PRISMA_FMT_BINARY = lib.getExe' prisma-engines_6 "prisma-fmt";
};
pnpm' = pnpm_10.override { nodejs = nodejs_24; };
pnpm' = pnpm_10.override { nodejs-slim = nodejs_24; };
in
stdenv.mkDerivation (finalAttrs: {

View file

@ -28,9 +28,9 @@ let
"21.1.8".officialRelease.sha256 = "sha256-pgd8g9Yfvp7abjCCKSmIn1smAROjqtfZaJkaUkBSKW0=";
"22.1.5".officialRelease.sha256 = "sha256-eunfMOH+HVpefZJ+CG7hXDoM+pi6iYvHpD3DoSAsjoE=";
"23.0.0-git".gitRelease = {
rev = "625facd4375f6bfa5de501d0559bd262062e2dc3";
rev-version = "23.0.0-unstable-2026-06-14";
sha256 = "sha256-myNSe9+nBTd28BnEmq+Ysp0kiY6KtOJSmbnGjQgGxRI=";
rev = "d1744cf76fbea0c407c5e793a380ffca4e5829be";
rev-version = "23.0.0-unstable-2026-06-21";
sha256 = "sha256-gtfU3pO3xiZtxz/iRmkWnaEx/DEomkOi9r6jsCbLOgQ=";
};
}
// llvmVersions;

View file

@ -5,14 +5,14 @@
# nix build .#legacyPackages.x86_64-darwin.mesa .#legacyPackages.aarch64-darwin.mesa
rec {
pname = "mesa";
version = "26.1.2";
version = "26.1.3";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "mesa";
repo = "mesa";
rev = "mesa-${version}";
hash = "sha256-GqIU9BL57n+ihpeXug+K9kOtvHZ+LCUQg1wi/rrYWuc=";
hash = "sha256-W2Ud9wmiIuDYMnFj8sK2SGAI1WayMCtdj7/7od/1Ql4=";
};
meta = {

View file

@ -10,11 +10,11 @@
buildOctavePackage rec {
pname = "optim";
version = "1.6.2";
version = "1.6.3";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-VUqOGLtxla6GH1BZwU8aVXhEJlwa3bW/vzq5iFUkeH4=";
sha256 = "sha256-Wfs3caLSojE0R1MsWaLgAKanu3pnfz74GD+6qrVJOhQ=";
};
buildInputs = [
@ -34,9 +34,10 @@ buildOctavePackage rec {
publicDomain
];
# Modified BSD code seems removed
maintainers = with lib.maintainers; [ ravenjoad ];
maintainers = with lib.maintainers; [
ravenjoad
lnk3
];
description = "Non-linear optimization toolkit";
# Hasn't been updated since 2022, and fails to build with octave >= 10.1.0
broken = true;
};
}

View file

@ -15,7 +15,7 @@
# web assets
zip,
nodejs_24,
nodejs-slim,
pnpm_10,
fetchPnpmDeps,
pnpmConfigHook,
@ -77,8 +77,7 @@
writableTmpDirAsHomeHook,
}:
let
nodejs = nodejs_24;
pnpm = pnpm_10.override { inherit nodejs; };
pnpm = pnpm_10;
in
buildPythonPackage (finalAttrs: {
pname = "gradio";
@ -109,7 +108,7 @@ buildPythonPackage (finalAttrs: {
nativeBuildInputs = [
zip
nodejs
nodejs-slim
pnpm
pnpmConfigHook
writableTmpDirAsHomeHook

View file

@ -25,6 +25,11 @@ buildPythonPackage rec {
hash = "sha256-R/Mr+Qv22AN7HCDGmAUVh4efU8z4gMIyhC0AuKmxgdE=";
};
patches = [
# https://github.com/laurentS/slowapi/pull/279
./starlette-1.0-compat.patch
];
nativeBuildInputs = [ poetry-core ];
propagatedBuildInputs = [

View file

@ -0,0 +1,103 @@
From 8c5f6165b7a66712f3e7e3ceab502069a5c5939a Mon Sep 17 00:00:00 2001
From: Leonardo Rayner <raynercodes@gmail.com>
Date: Wed, 10 Jun 2026 02:21:55 -0400
Subject: [PATCH 1/3] fix: Replace deprecated @app.route with app.add_route for
Starlette 1.0 compatibility
---
tests/test_starlette_extension.py | 25 ++++++++++++++++---------
2 files changed, 26 insertions(+), 15 deletions(-)
diff --git a/tests/test_starlette_extension.py b/tests/test_starlette_extension.py
index 0e26baa..c086f75 100644
--- a/tests/test_starlette_extension.py
+++ b/tests/test_starlette_extension.py
@@ -175,15 +175,17 @@ def test_headers_no_breach(self, build_starlette_app):
headers_enabled=True, key_func=get_remote_address
)
- @app.route("/t1")
@limiter.limit("10/minute")
def t1(request: Request):
return PlainTextResponse("test")
+
+ app.add_route("/t1", t1)
- @app.route("/t2")
@limiter.limit("2/second; 5 per minute; 10/hour")
def t2(request: Request):
return PlainTextResponse("test")
+
+ app.add_route("/t2", t2)
with hiro.Timeline().freeze():
with TestClient(app) as cli:
@@ -208,10 +210,11 @@ def test_headers_breach(self, build_starlette_app):
headers_enabled=True, key_func=get_remote_address
)
- @app.route("/t1")
@limiter.limit("2/second; 10 per minute; 20/hour")
def t(request: Request):
return PlainTextResponse("test")
+
+ app.add_route("/t1", t)
with hiro.Timeline().freeze() as timeline:
with TestClient(app) as cli:
@@ -233,10 +236,11 @@ def test_retry_after(self, build_starlette_app):
headers_enabled=True, key_func=get_remote_address
)
- @app.route("/t1")
@limiter.limit("1/minute")
def t(request: Request):
return PlainTextResponse("test")
+
+ app.add_route("/t1", t)
with hiro.Timeline().freeze() as timeline:
with TestClient(app) as cli:
@@ -254,9 +258,10 @@ def test_exempt_decorator(self, build_starlette_app):
default_limits=["1/minute"],
)
- @app.route("/t1")
def t1(request: Request):
return PlainTextResponse("test")
+
+ app.add_route("/t1", t1)
with TestClient(app) as cli:
resp = cli.get("/t1", headers={"X_FORWARDED_FOR": "127.0.0.10"})
@@ -264,11 +269,12 @@ def t1(request: Request):
resp2 = cli.get("/t1", headers={"X_FORWARDED_FOR": "127.0.0.10"})
assert resp2.status_code == 429
- @app.route("/t2")
- @limiter.exempt
def t2(request: Request):
"""Exempt a sync route"""
return PlainTextResponse("test")
+
+ limiter.exempt(t2)
+ app.add_route("/t2", t2)
with TestClient(app) as cli:
resp = cli.get("/t2", headers={"X_FORWARDED_FOR": "127.0.0.10"})
@@ -276,11 +282,12 @@ def t2(request: Request):
resp2 = cli.get("/t2", headers={"X_FORWARDED_FOR": "127.0.0.10"})
assert resp2.status_code == 200
- @app.route("/t3")
- @limiter.exempt
async def t3(request: Request):
"""Exempt an async route"""
return PlainTextResponse("test")
+
+ limiter.exempt(t3)
+ app.add_route("/t3", t3)
with TestClient(app) as cli:
resp = cli.get("/t3", headers={"X_FORWARDED_FOR": "127.0.0.10"})

View file

@ -31,7 +31,13 @@ let
};
};
callPnpm = variant: callPackage ./generic.nix { inherit (variant) version hash; };
callPnpm =
variant:
callPackage ./generic.nix {
inherit (variant) version hash;
#FIXME: remove this hack in a future version.
nodejs = null; # Passing null to detect out-of-tree overrides
};
mkPnpm = versionSuffix: variant: nameValuePair "pnpm_${versionSuffix}" (callPnpm variant);
in

View file

@ -6,7 +6,9 @@
pnpmConfigHook,
fetchurl,
installShellFiles,
nodejs,
#FIXME: remove this arg in a future version.
nodejs, # Should be null, unless overridden.
nodejs-slim,
testers,
buildPackages,
bashNonInteractive,
@ -18,6 +20,12 @@
}:
let
majorVersion = lib.versions.major version;
nodejs-slim' =
#FIXME: remove this hack in a future version.
if nodejs == null then
nodejs-slim
else
lib.warn "pnpm: Override nodejs-slim instead of nodejs" nodejs;
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "pnpm";
@ -30,13 +38,13 @@ stdenvNoCC.mkDerivation (finalAttrs: {
nativeBuildInputs = [
installShellFiles
nodejs
nodejs-slim'
];
buildInputs = [
bashNonInteractive # needed for node-gyp wrapper script
]
++ lib.optionals withNode [ nodejs ];
++ lib.optionals withNode [ nodejs-slim' ];
# Remove binary files from src, we don't need them, and this way we make sure
# our distribution is free of binaryNativeCode
@ -109,7 +117,10 @@ stdenvNoCC.mkDerivation (finalAttrs: {
];
})
);
inherit nodejs majorVersion;
nodejs-slim = nodejs-slim';
#FIXME: remove this in a future version.
nodejs = lib.warn "pnpm.nodejs: Use pnpm.nodejs-slim instead of pnpm.nodejs" nodejs-slim';
inherit majorVersion;
tests = {
inherit (tests) pnpm;

View file

@ -44,6 +44,10 @@
"man"
"out"
"static"
# Filter out outputs that didn't exist on 25.11
"npm"
"corepack"
])
&& !(builtins.hasAttr name nodejs)
) (builtins.attrNames nodejs-slim)

View file

@ -2,7 +2,7 @@
fetchPnpmDeps,
lib,
makeShellWrapper,
nodejs,
nodejs-slim,
pnpmConfigHook,
pnpm_11,
stdenv,
@ -26,7 +26,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
makeShellWrapper
nodejs
nodejs-slim
pnpm
pnpmConfigHook
];
@ -44,7 +44,7 @@ stdenv.mkDerivation (finalAttrs: {
install -Dm644 -t $out/lib/pnpm-11-test dist/index.js
makeWrapper ${lib.getExe nodejs} $out/bin/pnpm-11-test \
makeWrapper ${lib.getExe nodejs-slim} $out/bin/pnpm-11-test \
--add-flags "$out/lib/pnpm-11-test"
runHook postInstall

View file

@ -2,7 +2,7 @@
fetchPnpmDeps,
lib,
makeShellWrapper,
nodejs,
nodejs-slim,
pnpmConfigHook,
pnpm_11,
stdenv,
@ -26,7 +26,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
makeShellWrapper
nodejs
nodejs-slim
pnpm
pnpmConfigHook
];
@ -44,7 +44,7 @@ stdenv.mkDerivation (finalAttrs: {
install -Dm644 -t $out/lib/pnpm-11-test dist/index.js
makeWrapper ${lib.getExe nodejs} $out/bin/pnpm-11-test \
makeWrapper ${lib.getExe nodejs-slim} $out/bin/pnpm-11-test \
--add-flags "$out/lib/pnpm-11-test"
runHook postInstall