Merge staging-next into staging

This commit is contained in:
nixpkgs-ci[bot] 2026-05-09 18:20:56 +00:00 committed by GitHub
commit 3ba0bab909
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
76 changed files with 580 additions and 1387 deletions

View file

@ -1,4 +1,5 @@
// @ts-check
const { classify } = require('../supportedBranches.js')
const { getCommitDetailsForPR } = require('./get-pr-commit-details')
/**
@ -32,6 +33,27 @@ async function checkManualFileEdits({ github, context, core, repoPath, dry }) {
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.
// 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 checks.',
)
return
}
const details = await getCommitDetailsForPR({ core, pr, repoPath })
if (

View file

@ -23059,6 +23059,13 @@
githubId = 4196789;
name = "Nathan Ringo";
};
remidupre = {
email = "remi+nixpkgs@dupre.io";
github = "remi-dupre";
githubId = 1173464;
name = "Rémi Dupré";
keys = [ { fingerprint = "4762 C65B F8D8 6A33 65C1 D10A 4613 02CD 1249 4653"; } ];
};
remix7531 = {
email = "remix7531@mailbox.org";
github = "remix7531";

View file

@ -150,6 +150,124 @@ let
type = "module";
}) cfg.customLovelaceModules;
};
componentsUsingBluetooth = [
# Components that require the AF_BLUETOOTH address family
"august"
"august_ble"
"airthings_ble"
"aranet"
"bluemaestro"
"bluetooth"
"bluetooth_adapters"
"bluetooth_le_tracker"
"bluetooth_tracker"
"bthome"
"default_config"
"eufylife_ble"
"esphome"
"fjaraskupan"
"gardena_bluetooth"
"govee_ble"
"homekit_controller"
"inkbird"
"improv_ble"
"keymitt_ble"
"ld2410_ble"
"leaone"
"led_ble"
"medcom_ble"
"melnor"
"moat"
"mopeka"
"motionblinds_ble"
"oralb"
"private_ble_device"
"qingping"
"rapt_ble"
"ruuvi_gateway"
"ruuvitag_ble"
"sensirion_ble"
"sensorpro"
"sensorpush"
"shelly"
"snooz"
"switchbot"
"thermobeacon"
"thermopro"
"tilt_ble"
"xiaomi_ble"
"yalexs_ble"
];
componentsUsingPacketCapture = [
"default_config" # includes dhcp
"dhcp"
];
componentsUsingPing = [
# Components that require the capset syscall for the ping wrapper
"ping"
"wake_on_lan"
];
componentsUsingSerialDevices = [
# Components that require access to serial devices (/dev/tty*)
# List generated from home-assistant documentation:
# git clone https://github.com/home-assistant/home-assistant.io/
# cd source/_integrations
# rg "/dev/tty" -l | cut -d'/' -f3 | cut -d'.' -f1 | sort
# And then extended by references found in the source code, these
# mostly the ones using config flows already.
"acer_projector"
"alarmdecoder"
"aurora_abb_powerone"
"blackbird"
"bryant_evolution"
"crownstone"
"deconz"
"dsmr"
"edl21"
"elkm1"
"elv"
"enocean"
"homeassistant_hardware"
"homeassistant_yellow"
"firmata"
"flexit"
"gpsd"
"insteon"
"kwb"
"lacrosse"
"landisgyr_heat_meter"
"modbus"
"modem_callerid"
"mysensors"
"nad"
"numato"
"nut"
"opentherm_gw"
"otbr"
"rainforst_raven"
"rflink"
"rfxtrx"
"scsgate"
"serial"
"serial_pm"
"sms"
"upb"
"usb"
"velbus"
"w800rf32"
"zha"
"zwave"
"zwave_js"
# Custom components, maintained manually.
"amshan"
"benqprojector"
];
componentsUsingInputDevices = [
# Components that require access to input devices (/dev/input/*)
"keyboard_remote"
];
in
{
imports = [
@ -808,6 +926,10 @@ in
"CAP_NET_ADMIN"
"CAP_NET_RAW"
]
++ optionals (any useComponent componentsUsingPacketCapture) [
# Raw packet capture using AF_PACKET
"CAP_NET_RAW"
]
++ optionals (useComponent "emulated_hue") [
# Alexa looks for the service on port 80
# https://www.home-assistant.io/integrations/emulated_hue
@ -820,119 +942,6 @@ in
"CAP_NET_RAW"
]
);
componentsUsingBluetooth = [
# Components that require the AF_BLUETOOTH address family
"august"
"august_ble"
"airthings_ble"
"aranet"
"bluemaestro"
"bluetooth"
"bluetooth_adapters"
"bluetooth_le_tracker"
"bluetooth_tracker"
"bthome"
"default_config"
"eufylife_ble"
"esphome"
"fjaraskupan"
"gardena_bluetooth"
"govee_ble"
"homekit_controller"
"inkbird"
"improv_ble"
"keymitt_ble"
"ld2410_ble"
"leaone"
"led_ble"
"medcom_ble"
"melnor"
"moat"
"mopeka"
"motionblinds_ble"
"oralb"
"private_ble_device"
"qingping"
"rapt_ble"
"ruuvi_gateway"
"ruuvitag_ble"
"sensirion_ble"
"sensorpro"
"sensorpush"
"shelly"
"snooz"
"switchbot"
"thermobeacon"
"thermopro"
"tilt_ble"
"xiaomi_ble"
"yalexs_ble"
];
componentsUsingPing = [
# Components that require the capset syscall for the ping wrapper
"ping"
"wake_on_lan"
];
componentsUsingSerialDevices = [
# Components that require access to serial devices (/dev/tty*)
# List generated from home-assistant documentation:
# git clone https://github.com/home-assistant/home-assistant.io/
# cd source/_integrations
# rg "/dev/tty" -l | cut -d'/' -f3 | cut -d'.' -f1 | sort
# And then extended by references found in the source code, these
# mostly the ones using config flows already.
"acer_projector"
"alarmdecoder"
"aurora_abb_powerone"
"blackbird"
"bryant_evolution"
"crownstone"
"deconz"
"dsmr"
"edl21"
"elkm1"
"elv"
"enocean"
"homeassistant_hardware"
"homeassistant_yellow"
"firmata"
"flexit"
"gpsd"
"insteon"
"kwb"
"lacrosse"
"landisgyr_heat_meter"
"modbus"
"modem_callerid"
"mysensors"
"nad"
"numato"
"nut"
"opentherm_gw"
"otbr"
"rainforst_raven"
"rflink"
"rfxtrx"
"scsgate"
"serial"
"serial_pm"
"sms"
"upb"
"usb"
"velbus"
"w800rf32"
"zha"
"zwave"
"zwave_js"
# Custom components, maintained manually.
"amshan"
"benqprojector"
];
componentsUsingInputDevices = [
# Components that require access to input devices (/dev/input/*)
"keyboard_remote"
];
in
{
ExecStart = escapeSystemdExecArgs (
@ -1009,6 +1018,9 @@ in
]
++ optionals (any useComponent componentsUsingBluetooth) [
"AF_BLUETOOTH"
]
++ optionals (any useComponent componentsUsingPacketCapture) [
"AF_PACKET"
];
RestrictNamespaces = true;
RestrictRealtime = true;
@ -1031,9 +1043,11 @@ in
];
UMask = "0077";
};
path = [
pkgs.unixtools.ping # needed for ping
];
path =
with pkgs;
lib.optionals (useComponent "go2rtc") [ pkgs.go2rtc ]
++ lib.optionals (useComponent "picotts") [ pkgs.picotts ]
++ lib.optionals (any useComponent componentsUsingPing) [ unixtools.ping ];
};
systemd.targets.home-assistant = rec {

View file

@ -11,7 +11,10 @@ in
meta.maintainers = lib.teams.home-assistant.members;
nodes.hass =
{ pkgs, ... }:
{
pkgs,
...
}:
{
services.postgresql = {
enable = true;
@ -24,6 +27,9 @@ in
];
};
# required for dbus activation in the bluetooth component
hardware.bluetooth.enable = true;
services.home-assistant = {
enable = true;
inherit configDir;
@ -77,9 +83,30 @@ in
# configure the recorder component to use the postgresql db
recorder.db_url = "postgresql://@/hass";
# without these some components that are loaded anyway fail to find
# their dependencies
default_config = { };
# this is effecitvely default_config (2026.5.0), but with components
# skipped that would cause ERRORs in the sandbox
bluetooth = { };
cloud = { };
conversation = { };
dhcp = { };
energy = { };
file = { };
# Requires go2rtc service
# go2rtc = { };
history = { };
# Requires DNS and HTTP queries
# homeassistant_alerts = { };
logbook = { };
media_source = { };
mobile_app = { };
my = { };
ssdp = { };
stream = { };
sun = { };
usage_prediction = { };
usb = { };
webhook = { };
zeroconf = { };
# include some popular integrations, that absolutely shouldn't break
knx = { };

View file

@ -871,8 +871,8 @@ let
mktplcRef = {
name = "catppuccin-vsc";
publisher = "catppuccin";
version = "3.18.1";
hash = "sha256-Kph5nQgbRSgDVqo2n2eXoQXh7ga0o8/oNkQyoSZxHZo=";
version = "3.19.0";
hash = "sha256-6/NHZkg37b6RyZIP89FMltSii+7sC5UTfHYFgyYyl4A=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/Catppuccin.catppuccin-vsc/changelog";

View file

@ -268,16 +268,6 @@ stdenv.mkDerivation (
}
'';
# Fix dcomp test for aarch64
postPatch = lib.optionalString (useStaging && stdenv.hostPlatform.isAarch64) ''
if [ -f dlls/dcomp/tests/dcomp.c ]; then
substituteInPlace dlls/dcomp/tests/dcomp.c \
--replace-fail \
'#error "Unsupported architecture"' \
'__asm__ __volatile__("mov %0, sp" : "=r"(stack_pointer));'
fi
'';
configureFlags =
prevConfigFlags
++ lib.optionals waylandSupport [ "--with-wayland" ]

View file

@ -151,9 +151,9 @@ rec {
unstable = fetchurl rec {
# NOTE: Don't forget to change the hash for staging as well.
version = "11.7";
version = "11.8";
url = "https://dl.winehq.org/wine/source/11.x/wine-${version}.tar.xz";
hash = "sha256-sBqyHHn+3mx71THUadma/Z3N9T6ymviK2sajMutDX58=";
hash = "sha256-U6qFmV1Ll/ARahxWuKahQXcw71mid4GdLT0xNk6lVrA=";
patches = [
# Also look for root certificates at $NIX_SSL_CERT_FILE
@ -163,7 +163,7 @@ rec {
# see https://gitlab.winehq.org/wine/wine-staging
staging = fetchFromGitLab {
inherit version;
hash = "sha256-EjAmwSZu/Q/8QfFERnV5iz1n5CsWPneBHflQDaD4LAc=";
hash = "sha256-lW5dfCfsB+z84mlLpfmkR7QDxmhL+RcBufSftUutHto=";
domain = "gitlab.winehq.org";
owner = "wine";
repo = "wine-staging";

View file

@ -382,11 +382,11 @@
"vendorHash": "sha256-WFlKj1IO9ylXn5frdnLcctQawjUXBTqcoMhQUQTU06A="
},
"exoscale_exoscale": {
"hash": "sha256-qjevix8bIRY3MKLlTZK/uUHS8nmKgjPk/rgqNWRdKes=",
"hash": "sha256-eK9XWu1Hh/sFWkUO5r0HIcw8tIhhP1nzkI41B0DpMZg=",
"homepage": "https://registry.terraform.io/providers/exoscale/exoscale",
"owner": "exoscale",
"repo": "terraform-provider-exoscale",
"rev": "v0.68.0",
"rev": "v0.69.2",
"spdx": "MPL-2.0",
"vendorHash": null
},
@ -941,13 +941,13 @@
"vendorHash": null
},
"nats-io_jetstream": {
"hash": "sha256-xEWUMZBGLjUK3iab0VPQfR02WYnx2KEChG2nApvwW54=",
"hash": "sha256-DRpHKfzvb5ubeTXoLis52RacvWSHjLBhC5/8oFTAS0w=",
"homepage": "https://registry.terraform.io/providers/nats-io/jetstream",
"owner": "nats-io",
"repo": "terraform-provider-jetstream",
"rev": "v0.3.0",
"rev": "v0.4.0",
"spdx": "Apache-2.0",
"vendorHash": "sha256-+ZUPqDQ/YhDVJ/ukvp/Zk6nOCa/NKDPgeGqTRnrXEtQ="
"vendorHash": "sha256-z1Qi/07jh0A8PNo87dVMAq2O5+oc33J7/SNx7rrm/Kg="
},
"nbering_ansible": {
"hash": "sha256-3nha5V4rNgVzgqliebmbC5e12Lj/zlCsyyiIVFlmUrY=",

View file

@ -6,13 +6,13 @@
buildGoModule (finalAttrs: {
pname = "cdncheck";
version = "1.2.33";
version = "1.2.34";
src = fetchFromGitHub {
owner = "projectdiscovery";
repo = "cdncheck";
tag = "v${finalAttrs.version}";
hash = "sha256-K7cLmNGTVv5Y5kxmqd2+iyj/mmGNdvq3QskDQLMgUUk=";
hash = "sha256-iCv9v8ItMbozaJpNPW7zunjeszZbQxyjUvB7Kx1Dj1E=";
};
vendorHash = "sha256-aolS1mhIM8/fOeHeLQgiS8z/zO++U+36Th7wNpKlkFU=";

View file

@ -6,16 +6,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "chainsaw";
version = "2.15.0";
version = "2.16.0";
src = fetchFromGitHub {
owner = "WithSecureLabs";
repo = "chainsaw";
tag = "v${finalAttrs.version}";
hash = "sha256-FsetcuVl1JHkVy4Haal6e16NLQz+zS9mFyqH65Qr5zU=";
hash = "sha256-ywHPDVHpw0TrzeWPzZ3cvQSxCr2Di2YjS0Not1B9vlg=";
};
cargoHash = "sha256-UumlqHRssy401iiZSMq5N5r8a2f6ZLoqPuyBoDHPxYg=";
cargoHash = "sha256-AA8JQiGukh4SRZyciuE2u4OUo7HNeb6+SWej9vlw5z8=";
ldflags = [
"-w"

View file

@ -6,13 +6,13 @@
buildGoModule (finalAttrs: {
pname = "checkip";
version = "0.53.1";
version = "0.53.3";
src = fetchFromGitHub {
owner = "jreisinger";
repo = "checkip";
tag = "v${finalAttrs.version}";
hash = "sha256-z/6r1t6CZI4Q+Xr30u3NZgVLgeB0NCnSH8tSieAOys4=";
hash = "sha256-F+0qZxtITS4RqeB8s0pTLKckSdaOPYP+AGu58Fh50tg=";
};
vendorHash = "sha256-5sUBrzo6wJfaMMvgNflcjB2QNSIeaD2TN7qBao53NFs=";

View file

@ -6,18 +6,18 @@
buildGoModule (finalAttrs: {
pname = "cnspec";
version = "13.7.0";
version = "13.8.2";
src = fetchFromGitHub {
owner = "mondoohq";
repo = "cnspec";
tag = "v${finalAttrs.version}";
hash = "sha256-YRQythakLR6dwd0vpyudcAwa7jHxBuWW+WOigVosRzM=";
hash = "sha256-z7Peg7UQnMhWHazDrHabDQ0Y2QlyTjA7XzuwVA8fdak=";
};
proxyVendor = true;
vendorHash = "sha256-mcg9jh07ZvHxi/zuDWs9t3bxPW6zuAPzKTQYMtQ08/M=";
vendorHash = "sha256-F6EpksIF8aNcQEchp08DBa5ZwUFU3YusTkNBT1VjfFw=";
subPackages = [ "apps/cnspec" ];

View file

@ -8,17 +8,17 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "codebook";
version = "0.3.38";
version = "0.3.39";
src = fetchFromGitHub {
owner = "blopker";
repo = "codebook";
tag = "v${finalAttrs.version}";
hash = "sha256-dePa6QgpyY4xyK8VSzlbo1MDi3WMXSaT9X2six8dKGU=";
hash = "sha256-u0BFbG7Vq2dIIJIlXe2rlNPD6iUVnb3uM95bLBg9CEU=";
};
buildAndTestSubdir = "crates/codebook-lsp";
cargoHash = "sha256-kR1XhVWOFKvJ9Fy8PZTQP/YwXKtpJL31BqzHBxGNbhY=";
cargoHash = "sha256-Tx2KxtUjQpJa2WDUlFQoNZItKowGv09ZTGytFuxL0yc=";
env = {
CARGO_PROFILE_RELEASE_LTO = "fat";

View file

@ -6,16 +6,16 @@
buildGoModule (finalAttrs: {
pname = "dalfox";
version = "2.12.0";
version = "2.13.0";
src = fetchFromGitHub {
owner = "hahwul";
repo = "dalfox";
tag = "v${finalAttrs.version}";
hash = "sha256-RJzvsQBsdkuhbGbfGSO/iJXUzdQ7KTeLx9Wntv4p3Hc=";
hash = "sha256-GAlLmgIs2r8VCm69MuFPuQERHSZYAE/Zz8/y4ewYJME=";
};
vendorHash = "sha256-NQBCsGB3GQ0XPoGQdGDCJs4+Bv2Gu3JZj85ESoLiFVg=";
vendorHash = "sha256-UmQGsuLOpUJpGnWBot6YjG56LLNYHjm9mCejhEzkoBk=";
ldflags = [
"-w"

View file

@ -4,6 +4,7 @@
patches,
}:
{
autoreconfHook,
stdenv,
lib,
fetchzip,
@ -64,7 +65,8 @@ stdenv.mkDerivation (finalAttrs: {
perl
pkg-config
]
++ lib.optionals (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isDarwin) [ rpcsvc-proto ];
++ lib.optionals (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isDarwin) [ rpcsvc-proto ]
++ lib.optionals (stdenv.hostPlatform.isDarwin) [ autoreconfHook ];
buildInputs = [
openssl
@ -137,6 +139,12 @@ stdenv.mkDerivation (finalAttrs: {
)
+ lib.optionalString stdenv.hostPlatform.isLinux ''
export systemdsystemunitdir=$out/etc/systemd/system
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
substituteInPlace configure.ac \
--replace-fail \
'NOPLUGIN_LDFLAGS="-no-undefined"' \
'NOPLUGIN_LDFLAGS="-undefined dynamic_lookup"'
'';
preBuild = lib.optionalString (lib.strings.versionOlder version "2.4" && stdenv.isDarwin) ''
@ -203,7 +211,6 @@ stdenv.mkDerivation (finalAttrs: {
strictDeps = true;
meta = {
broken = lib.versionAtLeast version "2.4" && stdenv.hostPlatform.isDarwin; # fails to link openssl
homepage = "https://dovecot.org/";
description = "Open source IMAP and POP3 email server written with security primarily in mind";
license = with lib.licenses; [

View file

@ -1,13 +1,19 @@
{
lib,
stdenv,
buildGoModule,
fetchFromGitHub,
installShellFiles,
}:
buildGoModule (finalAttrs: {
pname = "dstask";
version = "1.0.1";
nativeBuildInputs = [
installShellFiles
];
src = fetchFromGitHub {
owner = "naggie";
repo = "dstask";
@ -24,6 +30,13 @@ buildGoModule (finalAttrs: {
doCheck = false;
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd dstask \
--bash <($out/bin/dstask bash-completion) \
--fish <($out/bin/dstask fish-completion) \
--zsh <($out/bin/dstask zsh-completion)
'';
# The ldflags reduce the executable size by stripping some debug stuff.
# The other variables are set so that the output of dstask version shows the
# git ref and the release version from github.
@ -39,6 +52,9 @@ buildGoModule (finalAttrs: {
description = "Command line todo list with super-reliable git sync";
homepage = finalAttrs.src.meta.homepage;
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ stianlagstad ];
maintainers = with lib.maintainers; [
remidupre
stianlagstad
];
};
})

View file

@ -17,13 +17,13 @@
}:
let
version = "0.306.2";
version = "0.306.3";
src = fetchFromGitHub {
owner = "evcc-io";
repo = "evcc";
tag = version;
hash = "sha256-XlSdAOuC+nwxRVa0nnsqGDPY57q58byLgLpTqEyImJ8=";
hash = "sha256-6j4GTAgC5xvLkaNaOQQBkjINI4Wg57IHVVUoDY/rfBo=";
};
vendorHash = "sha256-JBhx1K8E2BynsgjXBno+0OUpWF15Eyo9yBzofruBEck=";
@ -97,9 +97,10 @@ buildGo126Module rec {
let
skippedTests = [
# network access
"TestOctopusConfigParse"
"TestTemplates"
"TestOcpp"
"TestOctopusConfigParse"
"TestSessionHandlerTimezoneFilter"
"TestTemplates"
];
in
[ "-skip=^${lib.concatStringsSep "$|^" skippedTests}$" ];

View file

@ -5,7 +5,6 @@
buildNpmPackage,
makeWrapper,
formats,
inter,
databaseType ? "sqlite",
environmentVariables ? { },
nixosTests,
@ -29,16 +28,16 @@ in
buildNpmPackage (finalAttrs: {
pname = "pangolin";
version = "1.17.1";
version = "1.18.3";
src = fetchFromGitHub {
owner = "fosrl";
repo = "pangolin";
tag = finalAttrs.version;
hash = "sha256-V1yOSFN2g5MHPIXF/UFymgXrfN5tE99cuIFnWpdCVCA=";
hash = "sha256-1grYW3UrQsw94xFyKj+n8styihRdW/+aW2Q5lq9b3Bg=";
};
npmDepsHash = "sha256-DyPfylne9Ku7sEUNN0LLlN0EOnCjcklsh+F6YP+rXv4=";
npmDepsHash = "sha256-+qsHvytwAIbbNYpgNT6I7lekpxY0mUWcWGA9dT6rbtc=";
nativeBuildInputs = [
esbuild
@ -48,23 +47,13 @@ buildNpmPackage (finalAttrs: {
# dependency resolution is borked
npmFlags = [ "--legacy-peer-deps" ];
# Replace the googleapis.com Inter font with a local copy from Nixpkgs.
# Based on pkgs.nextjs-ollama-llm-ui.
postPatch = ''
substituteInPlace src/app/layout.tsx --replace-fail \
"{ Inter } from \"next/font/google\"" \
"localFont from \"next/font/local\""
substituteInPlace src/app/layout.tsx --replace-fail \
"const inter = Inter({${"\n"} subsets: [\"latin\"]${"\n"}});" \
"const inter = localFont({ src: './Inter.ttf' });"
substituteInPlace server/lib/consts.ts --replace-fail \
'export const APP_VERSION = "1.17.0";' \
'export const APP_VERSION = "${finalAttrs.version}";'
cp "${inter}/share/fonts/truetype/InterVariable.ttf" src/app/Inter.ttf
'';
# upstream inconsistently updates this
# so leaving this here in case it's needed
# postPatch = ''
# substituteInPlace server/lib/consts.ts --replace-fail \
# 'export const APP_VERSION = "${lib.versions.majorMinor finalAttrs.version + ".0"}";' \
# 'export const APP_VERSION = "${finalAttrs.version}";'
# '';
preBuild = ''
npm run set:${db false}

View file

@ -12,13 +12,13 @@
}:
let
version = "0.63.7";
version = "0.63.15";
src = fetchFromGitHub {
owner = "pommee";
repo = "goaway";
tag = "v${version}";
hash = "sha256-XNjp9fSMu5AdLnFNsh7Lrf1J06sPZPjvlNFkDa1QDJQ=";
hash = "sha256-jtUAMCGdFmt89kchHdy9AnSMKu1rZeTLPcFIzqipOyw=";
};
goaway-web = stdenvNoCC.mkDerivation (finalAttrs: {
@ -29,7 +29,7 @@ let
inherit (finalAttrs) pname version src;
sourceRoot = "${finalAttrs.src.name}/client";
fetcherVersion = 3;
hash = "sha256-1YZf32lDwX3e9EC0Uixyo+yDczfU4/ZSlG+jFZwf+38=";
hash = "sha256-GM86Os1OQaagD61BEIIsqhWJNVPFA9Z5RiYWyHlQlwY=";
};
pnpmRoot = "client";
@ -66,7 +66,7 @@ buildGo126Module (finalAttrs: {
goaway-web
;
vendorHash = "sha256-QgacBw+kpGdv8fAPQyndrHTxY1JrxFRf2qCS7etjNfw=";
vendorHash = "sha256-tSTvySLBo9cM9+Ul45TrGDruTllE/HWLdYmzqMDIYEQ=";
ldflags = [
"-s"

View file

@ -6,16 +6,16 @@
buildGoModule (finalAttrs: {
pname = "golines";
version = "0.13.0";
version = "0.15.0";
src = fetchFromGitHub {
owner = "segmentio";
owner = "golangci";
repo = "golines";
rev = "v${finalAttrs.version}";
sha256 = "sha256-Y4q3xpGw8bAi87zJ48+LVbdgOc7HB1lRdYhlsF1YcVA=";
sha256 = "sha256-gjm76dGbFTisQdiM0GAQJRcAreQUWIBuqYbLU2ruCNk=";
};
vendorHash = "sha256-94IXh9iBAE0jJXovaElY8oFdXE6hxYg0Ww0ZEHLnEwc=";
vendorHash = "sha256-cLzCpjifb0lc6UaDW2JZBQABixz98EJ4syLapX7I8y8=";
subPackages = [
"."
@ -23,7 +23,7 @@ buildGoModule (finalAttrs: {
meta = {
description = "Golang formatter that fixes long lines";
homepage = "https://github.com/segmentio/golines";
homepage = "https://github.com/golangci/golines";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ meain ];
mainProgram = "golines";

View file

@ -8,10 +8,10 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "halo";
version = "2.24.0";
version = "2.24.2";
src = fetchurl {
url = "https://github.com/halo-dev/halo/releases/download/v${finalAttrs.version}/halo-${finalAttrs.version}.jar";
hash = "sha256-71br2gG8vl3EyvC+AYzqJOtgHnhdEmcRAjXSXXXqI5s=";
hash = "sha256-ONaSclpfNQtuSllndIylm759NUcfKL7dYTQYVj4jSjs=";
};
nativeBuildInputs = [

View file

@ -10,7 +10,7 @@
}:
let
version = "26.04.19";
version = "26.05.08";
in
rustPlatform.buildRustPackage {
@ -21,10 +21,10 @@ rustPlatform.buildRustPackage {
owner = "josh-project";
repo = "josh";
rev = "r${version}";
hash = "sha256-tWU7ZGs148fmCXJxUM1RiDIgJONMZnFXO7ksaqqoT9I=";
hash = "sha256-rG5ZkEH8ZL8t0sDnBnNPtVtaR1I8BoulXlFh0HCpMsw=";
};
cargoHash = "sha256-Ksl3dFeEpwhpiotNuM9/vg7aD2TUuHKvqUaZkbceCdY=";
cargoHash = "sha256-/hMn80jHDF9gh+K8IOV5zXllzJkCdcmvI/NmbKFd/uM=";
nativeBuildInputs = [
pkg-config

View file

@ -6,14 +6,14 @@
python3.pkgs.buildPythonApplication (finalAttrs: {
pname = "ldeep";
version = "2.0.0";
version = "2.0.2";
pyproject = true;
src = fetchFromGitHub {
owner = "franc-pentest";
repo = "ldeep";
tag = finalAttrs.version;
hash = "sha256-WnsW50mh5ZESdk0hlsO78cREAj1FPNHRu3ivh3qUaEg=";
hash = "sha256-YR8ywhC+t35utojlmqD6rryzPE1UzTIQek3VmbpUfQ8=";
};
pythonRelaxDeps = [

View file

@ -38,14 +38,14 @@ assert
python.pkgs.buildPythonApplication rec {
pname = "music-assistant";
version = "2.8.6";
version = "2.8.7";
pyproject = true;
src = fetchFromGitHub {
owner = "music-assistant";
repo = "server";
tag = version;
hash = "sha256-//SR7UhaDgT6zNBZ6/B0tBQ88fWkHtrr9Ds0KwH6xzs=";
hash = "sha256-m91q/8XYoZ5Azu79fKD0euRCuf29w3vj5cxdFheDsmI=";
};
patches = [
@ -176,12 +176,15 @@ python.pkgs.buildPythonApplication rec {
pytestCheckHook
]
++ lib.concatAttrValues optional-dependencies
++ (providerPackages.audible python.pkgs)
++ (providerPackages.dlna python.pkgs)
++ (providerPackages.jellyfin python.pkgs)
++ (providerPackages.opensubsonic python.pkgs)
++ (providerPackages.sendspin python.pkgs)
++ (providerPackages.tidal python.pkgs);
++ (map (provider: providerPackages.${provider} python.pkgs) [
"audible"
"dlna"
"jellyfin"
"opensubsonic"
"sendspin"
"snapcast"
"tidal"
]);
disabledTestPaths = [
# no multicast support in build sandbox:

View file

@ -1,7 +1,7 @@
# Do not edit manually, run ./update-providers.py
{
version = "2.8.6";
version = "2.8.7";
providers = {
airplay =
ps: with ps; [

View file

@ -14,6 +14,7 @@
libkrb5,
libmongocrypt,
libpq,
dart-sass,
makeWrapper,
}:
let
@ -25,20 +26,20 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "n8n";
version = "2.15.0";
version = "2.19.5";
src = fetchFromGitHub {
owner = "n8n-io";
repo = "n8n";
tag = "n8n@${finalAttrs.version}";
hash = "sha256-TOIJqLa68ibry9LSqMkHrJJ+v9t2bK2ybNPUDdiJ66Q=";
hash = "sha256-BOxSiSDDMC1OX4Otbn6DiSG4ThIsiRssKwfXh9y9JSM=";
};
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
pnpm = pnpm_10;
fetcherVersion = 3;
hash = "sha256-YGplNNvIOIY1BthWmejAzucXujq8AkgPJus774GmWCA=";
hash = "sha256-gDlTNwsLT4hW1+3agSS/eBAW/804c7ElXCEfs58gP8U=";
};
nativeBuildInputs = [
@ -47,6 +48,7 @@ stdenv.mkDerivation (finalAttrs: {
python3 # required to build sqlite3 bindings
node-gyp # required to build sqlite3 bindings
makeWrapper
dart-sass
]
++ lib.optional stdenv.hostPlatform.isDarwin [
cctools
@ -63,6 +65,10 @@ stdenv.mkDerivation (finalAttrs: {
buildPhase = ''
runHook preBuild
# Force sass-embedded npm package to use our dart-sass instead of bundled binaries
substituteInPlace node_modules/sass-embedded/dist/lib/src/compiler-path.js \
--replace-fail 'compilerCommand = (() => {' 'compilerCommand = (() => { return ["${lib.getExe dart-sass}"];'
pushd node_modules/sqlite3
node-gyp rebuild
popd

View file

@ -6,13 +6,13 @@
buildGoModule (finalAttrs: {
pname = "nerva";
version = "1.3.0";
version = "1.4.0";
src = fetchFromGitHub {
owner = "praetorian-inc";
repo = "nerva";
tag = "v${finalAttrs.version}";
hash = "sha256-ojm4we7mI02Y1MT9uWDpu1tp0QRo4VvGrvezUb+Lxcc=";
hash = "sha256-9Vb7hUyJJZ/zKv+nhoX0HX2njCqU49LhM8ihm7Or/xE=";
};
vendorHash = "sha256-j+8KZxHnYrtxwdBxpAXZ+Q5Sm1REluUEmD69tKYTCag=";

View file

@ -8,16 +8,16 @@
}:
buildGoModule (finalAttrs: {
pname = "nezha-agent";
version = "2.0.2";
version = "2.0.3";
src = fetchFromGitHub {
owner = "nezhahq";
repo = "agent";
tag = "v${finalAttrs.version}";
hash = "sha256-JuR/9q8RzSHNKJFhe9pdRS30KlXepDho+1E4bOZa4M4=";
hash = "sha256-pysEeqW/WCj+VlERl9m5pir0SfCRA92R6akIGmHTLdI=";
};
vendorHash = "sha256-O2ENDVq4Dt3f1FCZBKiz30P/xNRxx+0w3r7LzJP9URM=";
vendorHash = "sha256-GIdkbQzHAIgH7KVoxZ1DcbamWYaRdTuJKGTnOn8SPyk=";
ldflags = [
"-s"

View file

@ -35,13 +35,13 @@ let
in
maven.buildMavenPackage rec {
pname = "nzbhydra2";
version = "8.8.0";
version = "8.8.1";
src = fetchFromGitHub {
owner = "theotherp";
repo = "nzbhydra2";
tag = "v${version}";
hash = "sha256-BndOpHEcesrfequErt193F3Bapm8E4jwZ9gPxuvWDi0=";
hash = "sha256-r6vv636evAetj5Pa4Ql2vkKP36BQ16JdmbAQLatCr9c=";
};
mvnHash = "sha256-mZ/mOF9k5URheNNxmrKkCiklP26zeTGKhDGxqRiDBuk=";

File diff suppressed because it is too large Load diff

View file

@ -6,22 +6,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "pdfrip";
version = "2.0.1";
version = "3.0.0";
src = fetchFromGitHub {
owner = "mufeedvh";
repo = "pdfrip";
tag = "v${finalAttrs.version}";
hash = "sha256-9KDWd71MJ2W9Xp3uqp0iZMmkBwIay+L4gnPUt7hylS0=";
hash = "sha256-VytsSVcKx1/A9BSlmRdkD61txDvFOaSfG411565q9eY=";
};
cargoLock = {
lockFile = ./Cargo.lock;
};
postPatch = ''
ln -s ${./Cargo.lock} Cargo.lock
'';
cargoHash = "sha256-JKZ29fW/B4rJe6g6VKkgZdxlA2eaaAgjztFQ/5kDF1o=";
meta = {
description = "PDF password cracking utility";

View file

@ -31,7 +31,6 @@ python3.pkgs.buildPythonPackage rec {
description = "Command-line tool for polygon.codeforces.com";
mainProgram = "polygon-cli";
homepage = "https://github.com/kunyavskiy/polygon-cli";
changelog = "https://github.com/kunyavskiy/polygon-cli/releases/tag/${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ khaser ];
};

View file

@ -30,15 +30,17 @@ let
});
pythonPackages = python.pkgs;
in
pythonPackages.buildPythonApplication rec {
pythonPackages.buildPythonApplication (finalAttrs: {
pname = "remarshal";
version = "0.17.1"; # last version with YAML 1.1 support, do not update
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "dbohdan";
owner = "remarshal-project";
repo = "remarshal";
tag = "v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-2WxMh5P/8NvElymnMU3JzQU0P4DMXFF6j15OxLaS+VA=";
};
@ -62,11 +64,11 @@ pythonPackages.buildPythonApplication rec {
# nixpkgs-update: no auto update
meta = {
changelog = "https://github.com/remarshal-project/remarshal/releases/tag/v${version}";
changelog = "https://github.com/remarshal-project/remarshal/releases/tag/${finalAttrs.src.tag}";
description = "Convert between TOML, YAML and JSON";
license = lib.licenses.mit;
homepage = "https://github.com/dbohdan/remarshal";
homepage = "https://github.com/remarshal-project/remarshal";
maintainers = with lib.maintainers; [ hexa ];
mainProgram = "remarshal";
};
}
})

View file

@ -6,10 +6,10 @@
}:
let
pname = "remnote";
version = "1.26.0";
version = "1.26.8";
src = fetchurl {
url = "https://download2.remnote.io/remnote-desktop2/RemNote-${version}.AppImage";
hash = "sha256-9SLFc2giE0AjD88OJz0z7mn9j/pN7Fd8/xWub6FDs/U=";
hash = "sha256-enFTy+RIYrvq9ScLPExSaKDGQy+MLSbKAQTREIkJB28=";
};
appimageContents = appimageTools.extractType2 { inherit pname version src; };
in

View file

@ -7,13 +7,13 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "rime-wanxiang";
version = "15.6.1";
version = "15.9.12";
src = fetchFromGitHub {
owner = "amzxyz";
repo = "rime_wanxiang";
tag = "v" + finalAttrs.version;
hash = "sha256-h33dhVBI14JARrGIpPPy7AAXHZs4F6s5AtUm9ZafR3Y=";
hash = "sha256-qg6QyI2RHKkCfjj41IXfL2cIXt82NR9oh52A/V0O67g=";
};
installPhase = ''

View file

@ -40,13 +40,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "siril";
version = "1.4.0";
version = "1.4.2";
src = fetchFromGitLab {
owner = "free-astro";
repo = "siril";
tag = finalAttrs.version;
hash = "sha256-qE1K3/o7ubrIEWldRgus1quSVehJqjFxhsKb1HQPNLA=";
hash = "sha256-4arzjGhWr5avQKVUvF6HYmQMdbKGh75vNIahNOgsLxU=";
};
nativeBuildInputs = [

View file

@ -15,16 +15,16 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "spacetimedb";
version = "2.1.0";
version = "2.2.0";
src = fetchFromGitHub {
owner = "clockworklabs";
repo = "spacetimedb";
tag = "v${finalAttrs.version}";
hash = "sha256-wSJ1co0IpnNva6G9u5oZAjLIw5/bNxOvng2zp/YUFus=";
hash = "sha256-KlMkgxfsUoLJ4h05td62eKfqWl9fYQ61FTsA1COkQrQ=";
};
cargoHash = "sha256-O1Uug4Xny6AQnybQ978chz+2auY99MUI0o66r44gezI=";
cargoHash = "sha256-csiDZKGLcorwVemK0g8Vi0+/Zq+b2UtC047ROrC/nOI=";
nativeBuildInputs = [
pkg-config

View file

@ -2,18 +2,19 @@
lib,
python3,
fetchFromGitHub,
writableTmpDirAsHomeHook,
}:
python3.pkgs.buildPythonApplication (finalAttrs: {
pname = "taskhound";
version = "1.0.0";
version = "1.1.5";
pyproject = true;
src = fetchFromGitHub {
owner = "1r0BIT";
repo = "TaskHound";
tag = "v${finalAttrs.version}";
hash = "sha256-qQ1OpJCgMcRKGkZCRjLiUO+u4SSIA/qExzq2K7m7BD8=";
hash = "sha256-OVCHdhfMkeFUgdvVY6uMBqWpJNIHE4cHFzy1XstvnyU=";
};
build-system = with python3.pkgs; [ setuptools ];
@ -26,11 +27,20 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
neo4j
pycryptodome
requests
rich
rich-argparse
];
nativeCheckInputs = with python3.pkgs; [
pytest-cov-stub
pytestCheckHook
writableTmpDirAsHomeHook
];
disabledTests = [
# Flaky timing-dependent test
"test_rate_limit_accuracy"
"test_parallel_mode"
];
pythonImportsCheck = [ "taskhound" ];

View file

@ -7,14 +7,14 @@
python3.pkgs.buildPythonApplication (finalAttrs: {
pname = "vunnel";
version = "0.56.0";
version = "0.57.0";
pyproject = true;
src = fetchFromGitHub {
owner = "anchore";
repo = "vunnel";
tag = "v${finalAttrs.version}";
hash = "sha256-2Z+TDEQNUlRVC8lPffK7XphI2qa9xfVZ3JMMBrC7HjE=";
hash = "sha256-ofxc4Mbd5MUoIQ+iAUPF54rxWuwQEA2t3T+vjO3UUgA=";
leaveDotGit = true;
};

View file

@ -7,10 +7,10 @@
let
pname = "wootility";
version = "5.3.0";
version = "5.3.1";
src = fetchurl {
url = "https://wootility-updates.ams3.cdn.digitaloceanspaces.com/wootility-linux/Wootility-${version}.AppImage";
sha256 = "sha256-37dABMNFqW4E2oQ5Zx4ZFdiq1uAMzvPD1vt7pb5PnZY=";
sha256 = "sha256-KRqXjguylH5FjV6j+ckZwXbg6Wm2y0CE9HQaoNgfyc0=";
};
in

View file

@ -69,12 +69,12 @@ let
in
{
php82 = mkPhp {
version = "8.2.30";
hash = "sha256-EEggtsj8lZ3eSzNCE19CvavyRuhpGKFjgaF9hEfIZvo=";
version = "8.2.31";
hash = "sha256-lIGD+gTPJhybk2PAL0KJd7nd+MC/3/jo4fuoFu1XCAM=";
};
php83 = mkPhp {
version = "8.3.30";
hash = "sha256-gAt7btULc8jueETuXy98xhL6p4daCqfEUp6O1YZqUDA=";
version = "8.3.31";
hash = "sha256-5phrH9N+slQCEn/kpyeKPgO3+QJbt6S9KSonG9+TD7k=";
};
php84 = mkPhp {
version = "8.4.20";

View file

@ -14,14 +14,14 @@
buildPythonPackage (finalAttrs: {
pname = "adlfs";
version = "2026.4.0";
version = "2026.5.0";
pyproject = true;
src = fetchFromGitHub {
owner = "fsspec";
repo = "adlfs";
tag = finalAttrs.version;
hash = "sha256-lqEyREVMdo59NhDZVdOb+w2bf5JVDg/nQHYhC+hKglo=";
hash = "sha256-HscDY/DZZ9/a3NHmE8pSd3alLCJQDG6Fr2l2+DfU/os=";
};
build-system = [

View file

@ -18,7 +18,6 @@
# test dependencies
pytest-aiohttp,
pytest-cov-stub,
pytest-timeout,
pytest-xdist,
pytestCheckHook,
@ -44,6 +43,9 @@ buildPythonPackage (finalAttrs: {
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail 'version = "0.0.0"' 'version = "${finalAttrs.version}"'
# too narrow timeouts, so remove pytest-timeout
sed -i "/addopts/d" pyproject.toml
'';
build-system = [
@ -63,7 +65,6 @@ buildPythonPackage (finalAttrs: {
nativeCheckInputs = [
pytest-aiohttp
pytest-cov-stub
pytest-timeout
pytest-xdist
pytestCheckHook
];

View file

@ -18,9 +18,9 @@
uvicorn,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "aiosonic";
version = "0.30.1";
version = "0.31.1";
pyproject = true;
__darwinAllowLocalNetworking = true;
@ -28,16 +28,10 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "sonic182";
repo = "aiosonic";
tag = version;
hash = "sha256-VqtPl/dZmxjB7z9AjwBfmYmcxFae2NhWEnsw4l9+IYg=";
tag = finalAttrs.version;
hash = "sha256-f0MSUGdwq0If4LrZmMqYmdyycfTKroCfkkkX/l0v8QM=";
};
postPatch = ''
substituteInPlace pytest.ini --replace-fail \
"addopts = --black " \
"addopts = "
'';
build-system = [ poetry-core ];
dependencies = [
@ -82,6 +76,11 @@ buildPythonPackage rec {
"test_get_with_params_in_url"
"test_get_with_params_tuple"
"test_get_with_params"
"test_h2_client_level_flag"
"test_h2_connection_reused_across_requests"
"test_h2_custom_ssl_ctx_gets_alpn"
"test_h2_verify_false_applies_to_h2_ssl_context"
"test_h2_with_explicit_http2_flag"
"test_keep_alive_cyclic_pool"
"test_keep_alive_smart_pool"
"test_max_conn_idle_ms"
@ -102,6 +101,7 @@ buildPythonPackage rec {
"test_put_patch"
"test_read_chunks_by_text_method"
"test_read_timeout"
"test_stream_request_body_h2"
"test_simple_get"
"test_timeouts_overriden"
"test_wrapper_delete_http_serv"
@ -122,10 +122,10 @@ buildPythonPackage rec {
];
meta = {
changelog = "https://github.com/sonic182/aiosonic/blob/${src.tag}/CHANGELOG.md";
description = "Very fast Python asyncio http client";
license = lib.licenses.mit;
description = "Python asyncio http client";
homepage = "https://github.com/sonic182/aiosonic";
changelog = "https://github.com/sonic182/aiosonic/blob/${finalAttrs.src.tag}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ geraldog ];
};
}
})

View file

@ -15,7 +15,7 @@
buildPythonPackage (finalAttrs: {
pname = "axis";
version = "69";
version = "70";
pyproject = true;
disabled = pythonOlder "3.14";
@ -24,7 +24,7 @@ buildPythonPackage (finalAttrs: {
owner = "Kane610";
repo = "axis";
tag = "v${finalAttrs.version}";
hash = "sha256-igeDyGKG235ooe/QrHjbya9WTCzwC8GfMoCwtpaBlR8=";
hash = "sha256-LfWnqYtmQLh1ZhSnLrx40ZfilhUoi9qbd0TgWpehlAg=";
};
postPatch = ''

View file

@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "blebox-uniapi";
version = "2.5.2";
version = "2.5.3";
pyproject = true;
src = fetchFromGitHub {
owner = "blebox";
repo = "blebox_uniapi";
tag = "v${version}";
hash = "sha256-+XdUteik6VDPXWgO9vDC34n2fIIDMUI5jTYzs/qCpLU=";
hash = "sha256-DBkd8o2jOVCH3KqJ2FZ4qhJsSMb1UwqBO1ZXoTLsqEY=";
};
postPatch = ''

View file

@ -18,14 +18,14 @@
buildPythonPackage (finalAttrs: {
pname = "cf-xarray";
version = "0.10.11";
version = "0.11.0";
pyproject = true;
src = fetchFromGitHub {
owner = "xarray-contrib";
repo = "cf-xarray";
tag = "v${finalAttrs.version}";
hash = "sha256-SHVSHfB80iLz8uONwH1WoUajef/YT4k0CIzTrHTG3kI=";
hash = "sha256-EUavqGATUZ5w3XzDiPKCveJfaTQwikS4wFIbcAAwH7k=";
};
build-system = [

View file

@ -13,14 +13,14 @@
buildPythonPackage (finalAttrs: {
pname = "claude-agent-sdk";
version = "0.1.72";
version = "0.1.80";
pyproject = true;
src = fetchFromGitHub {
owner = "anthropics";
repo = "claude-agent-sdk-python";
tag = "v${finalAttrs.version}";
hash = "sha256-F8V1BUC0jeGWWFBS1GE931bycm0xJlAmoH1kPpxkk9o=";
hash = "sha256-gRTD/R3JkJDv4rlqEKSjqYdC7hWBqBDPJKsYFeCKy6Y=";
};
build-system = [ hatchling ];

View file

@ -4,42 +4,40 @@
fetchFromGitHub,
poetry-core,
pydantic,
typer,
pytestCheckHook,
typer,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "countryinfo";
version = "1.0.0";
version = "1.0.1";
pyproject = true;
src = fetchFromGitHub {
owner = "porimol";
repo = "countryinfo";
tag = "v${version}";
hash = "sha256-Y4nJnjXg8raJx2f00DFMktdcWoLO09wqTFK6Fc8RKSI=";
tag = "v${finalAttrs.version}";
hash = "sha256-PE9XiVH6XE+OSySL5Lo0MPWyIEX8xgeHQB7MttMfmz8=";
};
build-system = [ poetry-core ];
pythonRelaxDeps = [ "typer" ];
patches = [ ./fix-pyproject-file.patch ];
build-system = [ poetry-core ];
dependencies = [
pydantic
typer
];
pythonRelaxDeps = [ "typer" ];
pythonImportsCheck = [ "countryinfo" ];
nativeCheckInputs = [ pytestCheckHook ];
meta = {
homepage = "https://github.com/porimol/countryinfo";
description = "Data about countries, ISO info and states/provinces within them";
homepage = "https://github.com/porimol/countryinfo";
changelog = "https://github.com/porimol/countryinfo/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
cizniarova
];
maintainers = with lib.maintainers; [ cizniarova ];
};
}
})

View file

@ -1,11 +0,0 @@
diff --git a/pyproject.toml b/pyproject.toml
index f31c9e3..31fa9c8 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,3 +1,6 @@
+[project]
+name = "countryinfo"
+
[tool.poetry]
name = "countryinfo"
version = "1.0.0"

View file

@ -22,7 +22,7 @@
buildPythonPackage (finalAttrs: {
pname = "deebot-client";
version = "18.2.0";
version = "18.3.0";
pyproject = true;
disabled = pythonOlder "3.13";
@ -31,12 +31,12 @@ buildPythonPackage (finalAttrs: {
owner = "DeebotUniverse";
repo = "client.py";
tag = finalAttrs.version;
hash = "sha256-t9ODbQhbJvnXfdWbnmjAqO6DQnJ+MzM8TD24KAs7NZ4=";
hash = "sha256-dQh98CIEbxpRga2BbB8X1KtGZ18jvVv4DhyJ1LFNNuw=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) pname version src;
hash = "sha256-9GitKi4NEsXiKXN1cV2NDpOydUkOsAjIWo4QaL254y0=";
hash = "sha256-MNMLOF3j+bGEhDeRln5wLOG6gY+ssSQqrb8vdmyJdtA=";
};
nativeBuildInputs = [

View file

@ -3,6 +3,7 @@
buildPythonPackage,
chameleon,
fetchFromGitHub,
gitpython,
importlib-metadata,
lingva,
numpy,
@ -15,14 +16,14 @@
buildPythonPackage (finalAttrs: {
pname = "holidays";
version = "0.95";
version = "0.96";
pyproject = true;
src = fetchFromGitHub {
owner = "vacanza";
repo = "python-holidays";
tag = "v${finalAttrs.version}";
hash = "sha256-MyTOCHQw/TYvH9Xm3UcXHjza2f/2ICbb3vcTGt1Cpgg=";
hash = "sha256-tsDGtNAF69EzE4cs0j1PeLZBITvy04kG8MUKD2aNWx0=";
};
build-system = [
@ -31,6 +32,7 @@ buildPythonPackage (finalAttrs: {
# l10n
lingva
chameleon
gitpython
polib
];

View file

@ -8,14 +8,14 @@
buildPythonPackage (finalAttrs: {
pname = "iamdata";
version = "0.1.202605081";
version = "0.1.202605091";
pyproject = true;
src = fetchFromGitHub {
owner = "cloud-copilot";
repo = "iam-data-python";
tag = "v${finalAttrs.version}";
hash = "sha256-Jz52ll17IhHlPsQqXcbRxbH9aqLeKaGLXPbVl1VKix8=";
hash = "sha256-nvH4NJZcig+ofDwgSLwS2RBh8cQ0Uvj/NaEvuedUOs8=";
};
__darwinAllowLocalNetworking = true;

View file

@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "lxml-html-clean";
version = "0.4.3";
version = "0.4.4";
pyproject = true;
src = fetchFromGitHub {
owner = "fedora-python";
repo = "lxml_html_clean";
tag = version;
hash = "sha256-pMZgECts7QqddI76EHnEDhQ0IoR/yioQXTqcg1npCOA=";
hash = "sha256-mToWK2Cc2cfBmEqcL5z61WydQUb78TWZDGGLR9kNliA=";
};
build-system = [ setuptools ];

View file

@ -11,12 +11,12 @@
buildPythonPackage (finalAttrs: {
pname = "publicsuffixlist";
version = "1.0.2.20260507";
version = "1.0.2.20260508";
pyproject = true;
src = fetchPypi {
inherit (finalAttrs) pname version;
hash = "sha256-TXCX8ALOebv6anqUr3Vp+W1X77e1ZJfXipnk4L9cLf4=";
hash = "sha256-rLIVQUjoynd20AvKRxBPNMgLXb3zBZtRNEcYrZur1Ds=";
};
postPatch = ''

View file

@ -22,6 +22,7 @@ buildPythonPackage rec {
};
postPatch = ''
# install pre-compiled libtensorflowlite
python ./script/copy_lib
'';
@ -46,8 +47,12 @@ buildPythonPackage rec {
];
meta = {
# elftools.common.exceptions.ELFError: Magic number does not match
broken = stdenv.hostPlatform.isDarwin;
broken =
# elftools.common.exceptions.ELFError: Magic number does not match
stdenv.hostPlatform.isDarwin
||
# segfaults when calling into libtensorflowlite
stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64;
description = "Alternative Python library for openWakeWord";
homepage = "https://github.com/rhasspy/pyopen-wakeword";
changelog = "https://github.com/rhasspy/pyopen-wakeword/blob/${src.tag}/CHANGELOG.md";

View file

@ -15,14 +15,14 @@
buildPythonPackage (finalAttrs: {
pname = "pyoverkiz";
version = "1.20.2";
version = "1.20.3";
pyproject = true;
src = fetchFromGitHub {
owner = "iMicknl";
repo = "python-overkiz-api";
tag = "v${finalAttrs.version}";
hash = "sha256-6KcxtHO+mwyKyb2MGGY80M40o2OKwLYPBANipb3ySAY=";
hash = "sha256-pl7SL0lE/+eWTv6jmoilDVtaI2TB42YSpIbrY0fcptk=";
};
build-system = [ hatchling ];

View file

@ -19,14 +19,14 @@
buildPythonPackage (finalAttrs: {
pname = "python-bsblan";
version = "5.2.0";
version = "5.2.1";
pyproject = true;
src = fetchFromGitHub {
owner = "liudger";
repo = "python-bsblan";
tag = "v${finalAttrs.version}";
hash = "sha256-rp75cUDlciibMCpEEXn6zta6kquwCwXstRkA9A7JJYc=";
hash = "sha256-wK6r1fWXpbPVpUqLaLRjKKB2beXftdHujRL4pq3bhjc=";
};
postPatch = ''

View file

@ -12,14 +12,14 @@
buildPythonPackage (finalAttrs: {
pname = "pytibber";
version = "0.37.4";
version = "0.37.5";
pyproject = true;
src = fetchFromGitHub {
owner = "Danielhiversen";
repo = "pyTibber";
tag = finalAttrs.version;
hash = "sha256-xXZLMLPlOYCDO1+b3/lL5O5NI5UA+4HX+YOMHLwCbig=";
hash = "sha256-6b4f2IR/jkIwhdlrG8HZjIktmKLFs6iB6RZbQAOo7Yc=";
};
build-system = [ setuptools ];

View file

@ -11,7 +11,7 @@
six,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "pywebcopy";
version = "7.1";
pyproject = true;
@ -19,7 +19,7 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "rajatomar788";
repo = "pywebcopy";
tag = version;
tag = "v${finalAttrs.version}";
hash = "sha256-ee8uGg4PU1uch8cyiU7QfvdYFUVDz7obq9oC8fKkf1s=";
};
@ -37,11 +37,16 @@ buildPythonPackage rec {
pythonImportsCheck = [ "pywebcopy" ];
disabledTestPaths = [
# Segfault
"pywebcopy/tests/test_iterparser.py"
];
meta = {
changelog = "https://github.com/rajatomar788/pywebcopy/blob/master/docs/changelog.md";
description = "Python package for cloning complete webpages and websites to local storage";
homepage = "https://github.com/rajatomar788/pywebcopy/";
changelog = "https://github.com/rajatomar788/pywebcopy/releases/tag/v${finalAttrs.src.tag}";
license = lib.licenses.asl20;
maintainers = [ ];
};
}
})

View file

@ -20,14 +20,14 @@
buildPythonPackage (finalAttrs: {
pname = "serialx";
version = "1.7.0";
version = "1.7.2";
pyproject = true;
src = fetchFromGitHub {
owner = "puddly";
repo = "serialx";
tag = "v${finalAttrs.version}";
hash = "sha256-yULTP7aaA/O7cz3NBMpdIybvply3ADQZENxjuexKxo8=";
hash = "sha256-A8LdFpxnnluAlwVvNly4IfvCS8eZMDil6OmI4b9kGOA=";
};
cargoDeps = rustPlatform.fetchCargoVendor {

View file

@ -25,14 +25,14 @@
buildPythonPackage (finalAttrs: {
pname = "speechrecognition";
version = "3.16.0";
version = "3.16.1";
pyproject = true;
src = fetchFromGitHub {
owner = "Uberi";
repo = "speech_recognition";
tag = finalAttrs.version;
hash = "sha256-EIDhWx1s1B0DX4Vmd/a8hRnTBgdBx9ALOonOWFPgUOg=";
hash = "sha256-5BTwUzo2U7/VwmEqldxXddt/ByKebZKY1KhCEoIb9F8=";
};
postPatch = ''

View file

@ -2,7 +2,6 @@
lib,
buildPythonPackage,
fetchFromGitHub,
pythonOlder,
# build-system
hatchling,
@ -25,25 +24,22 @@
writableTmpDirAsHomeHook,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "sqlfmt";
version = "0.29.0";
version = "0.30.0";
pyproject = true;
disabled = pythonOlder "3.12";
src = fetchFromGitHub {
owner = "tconbeer";
repo = "sqlfmt";
tag = "v${version}";
hash = "sha256-AeG6ga+WaBVvCCkEJbIkaJQg4rEmBcyQNmgJHEYkhrI=";
tag = "v${finalAttrs.version}";
hash = "sha256-/8BTH2nuqO+du6PsTPB59L21HvvAIZKDcG1kV9XHxsg=";
};
build-system = [ hatchling ];
pythonRelaxDeps = [
"click"
];
pythonRelaxDeps = [ "click" ];
dependencies = [
click
jinja2
@ -65,7 +61,7 @@ buildPythonPackage rec {
versionCheckHook
writableTmpDirAsHomeHook
]
++ lib.concatAttrValues optional-dependencies;
++ lib.flatten (builtins.attrValues finalAttrs.passthru.optional-dependencies);
disabledTestPaths = [
# TypeError: CliRunner.__init__() got an unexpected keyword argument 'mix_stderr'
@ -74,11 +70,11 @@ buildPythonPackage rec {
];
meta = {
description = "Sqlfmt formats your dbt SQL files so you don't have to";
description = "Formatter for dbt SQL files";
homepage = "https://github.com/tconbeer/sqlfmt";
changelog = "https://github.com/tconbeer/sqlfmt/blob/${src.tag}/CHANGELOG.md";
changelog = "https://github.com/tconbeer/sqlfmt/blob/${finalAttrs.src.tag}/CHANGELOG.md";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ pcboy ];
mainProgram = "sqlfmt";
};
}
})

View file

@ -23,7 +23,7 @@
buildPythonPackage rec {
pname = "zha";
version = "1.3.0";
version = "1.3.1";
pyproject = true;
disabled = pythonOlder "3.12";
@ -32,7 +32,7 @@ buildPythonPackage rec {
owner = "zigpy";
repo = "zha";
tag = version;
hash = "sha256-oB4vxq/DJjmypmcKS6IeYEh+dTvC0Wt9X79vPbtDJgE=";
hash = "sha256-JYwTDD3YmHPgSSwFTGhoL9MY5SZ2jLBlgGqQDEnvF1k=";
};
postPatch = ''

View file

@ -24,14 +24,14 @@
buildPythonPackage rec {
pname = "zigpy";
version = "1.4.0";
version = "1.4.1";
pyproject = true;
src = fetchFromGitHub {
owner = "zigpy";
repo = "zigpy";
tag = version;
hash = "sha256-iBv7FKPeVzHc8xNvRLHDgWAuwHgTf4ByI1fA6Z134v8=";
hash = "sha256-9e+n4C2ViCAHFw2Ed+NxPSAbcVX5KJl7biIIsYr8E4c=";
};
postPatch = ''

View file

@ -2,7 +2,7 @@
# Do not edit!
{
version = "2026.5.0";
version = "2026.5.1";
components = {
"3_day_blinds" =
ps: with ps; [

View file

@ -0,0 +1,26 @@
diff --git a/custom_components/blueprints_updater/coordinator.py b/custom_components/blueprints_updater/coordinator.py
index 9cbbe32..92a5ab5 100644
--- a/custom_components/blueprints_updater/coordinator.py
+++ b/custom_components/blueprints_updater/coordinator.py
@@ -3234,21 +3234,6 @@ def scan_blueprints(
continue
full_path = os.path.join(root, file)
- real_full_path = os.path.realpath(full_path)
- try:
- if (
- os.path.commonpath([real_full_path, real_blueprint_path])
- != real_blueprint_path
- ):
- _LOGGER.warning(
- "Security alert: Ignoring blueprint symlink outside root: %s",
- full_path,
- )
- continue
- except (ValueError, OSError):
- _LOGGER.warning("Skipping blueprint with invalid path: %s", full_path)
- continue
-
if relative_path := get_blueprint_relative_path(hass, full_path):
try:
with open(full_path, encoding="utf-8") as f:

View file

@ -0,0 +1,64 @@
{
lib,
buildHomeAssistantComponent,
fetchFromGitHub,
h2,
home-assistant,
pytest-cov-stub,
pytest-homeassistant-custom-component,
pytest-asyncio,
pytestCheckHook,
}:
buildHomeAssistantComponent rec {
owner = "luuquangvu";
domain = "blueprints_updater";
version = "2.4.0";
src = fetchFromGitHub {
inherit owner;
repo = "blueprints-updater";
tag = version;
hash = "sha256-O5HGjnj9fz+RrCq6sgdYlU1r9qFJhmUdfYWdFrwFngw=";
};
patches = [
# Do not skip blueprints symlinked from the nix store.
# They cannot be updated, but users probably still want to be notified if they have an update.
./allow-symlinked-blueprints.diff
];
postPatch = ''
# avoid dependency on rather big pytest-timeout
substituteInPlace pyproject.toml \
--replace-fail '"--timeout=60"' ""
'';
dependencies = [
h2
];
nativeCheckInputs = [
home-assistant
pytest-asyncio
pytest-cov-stub
pytest-homeassistant-custom-component
pytestCheckHook
];
disabledTests = [
# pytest-homeassistant-custom-component tries to create temporary directories inside the nix store
"test_async_fetch_content_forum_invalid_json_sets_fetch_error"
"test_full_update_lifecycle"
"test_restore_blueprint_service"
"test_update_all_service"
];
meta = {
description = "Automatically update Home Assistant blueprints via native update entities";
homepage = "https://github.com/luuquangvu/blueprints-updater/";
changelog = "https://github.com/luuquangvu/blueprints-updater/releases/tag/${src.tag}";
maintainers = with lib.maintainers; [ SuperSandro2000 ];
license = lib.licenses.mit;
};
}

View file

@ -28,6 +28,10 @@ buildHomeAssistantComponent rec {
pytestCheckHook
];
pytestFlags = [
"-Wignore::pytest.PytestRemovedIn9Warning"
];
passthru.updateScript = nix-update-script { };
meta = {

View file

@ -30,6 +30,11 @@ buildHomeAssistantComponent rec {
# tests try to open sockets
"test_manual_flow_ac_device"
"test_manual_flow_cc_device"
# lingering datacoordinator timer on test teardown
"test_refresh_apply_race_condition"
"test_refresh_apply_race_condition_with_proxy"
"test_group5_entity_request_enable"
"test_energy_sensor_request_enable"
];
meta = {

View file

@ -28,6 +28,10 @@ buildHomeAssistantComponent rec {
mock
];
pytestFlags = [
"-Wignore::pytest.PytestRemovedIn9Warning"
];
disabledTestPaths = [
# Integration tests require a valid Octopus Energy API Key
# https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/blob/develop/CONTRIBUTING.md#integration-tests

View file

@ -0,0 +1,33 @@
{
lib,
fetchFromGitHub,
buildHomeAssistantComponent,
}:
buildHomeAssistantComponent rec {
owner = "bastgau";
domain = "pi_hole_v6";
version = "1.17.0";
src = fetchFromGitHub {
inherit owner;
repo = "ha-pi-hole-v6";
tag = "v${version}";
hash = "sha256-C9QqdAFe1P5bzuMuYWCy8hQINAbc/yOIxdxp2jpM2N8=";
};
# has no tests
doCheck = false;
meta = {
changelog = "https://github.com/bastgau/ha-pi-hole-v6/releases/tag/${src.tag}";
description = "Pi-hole V6 Integration for Home Assistant";
longDescription = ''
This custom integration restored compatibility between Home Assistant and Pi-hole, which was no longer supported by the native integration.
Today, this integration offers additional and complementary features.
'';
homepage = "https://github.com/bastgau/ha-pi-hole-v6";
maintainers = with lib.maintainers; [ SuperSandro2000 ];
license = lib.licenses.mit;
};
}

View file

@ -3,6 +3,7 @@
async-timeout,
buildHomeAssistantComponent,
fetchFromGitHub,
pytest-freezer,
pytest-homeassistant-custom-component,
pytestCheckHook,
}:
@ -10,13 +11,13 @@
buildHomeAssistantComponent rec {
owner = "olen";
domain = "plant";
version = "2026.3.2";
version = "2026.5.0";
src = fetchFromGitHub {
inherit owner;
repo = "homeassistant-plant";
tag = "v${version}";
hash = "sha256-na3T60v4HRmdf8NFIqnLdSQjFfg0Jlny0tse5nx21Zs=";
hash = "sha256-CuDBDVotmNqvHm63FrhaZ9i8l528wSCKHjBFcHCB8aQ=";
};
dependencies = [
@ -24,6 +25,7 @@ buildHomeAssistantComponent rec {
];
nativeCheckInputs = [
pytest-freezer
pytest-homeassistant-custom-component
pytestCheckHook
];

View file

@ -262,7 +262,7 @@ let
extraBuildInputs = extraPackages python.pkgs;
# Don't forget to run update-component-packages.py after updating
hassVersion = "2026.5.0";
hassVersion = "2026.5.1";
in
python.pkgs.buildPythonApplication rec {
@ -283,13 +283,13 @@ python.pkgs.buildPythonApplication rec {
owner = "home-assistant";
repo = "core";
tag = version;
hash = "sha256-RrXjrwl6BQzjilKluAM8oVihmZqLBpVLWN/OhaJY+1c=";
hash = "sha256-aOiJPhTaJZGbY4P9iPiIe/PrRU+IDQTNS1JFhAJyH4w=";
};
# Secondary source is pypi sdist for translations
sdist = fetchPypi {
inherit pname version;
hash = "sha256-SXsJqYETHp92ZC/I2jS2ZlerUVVTugFdbOhLCxoLJ9I=";
hash = "sha256-Hp7jYLHMQbqYmuQVH/7XPmV6tgBdhCZXpNhmchxHCUg=";
};
build-system = with python.pkgs; [

View file

@ -18,7 +18,7 @@
buildPythonPackage rec {
pname = "pytest-homeassistant-custom-component";
version = "0.13.329";
version = "0.13.330";
pyproject = true;
disabled = pythonOlder "3.13";
@ -27,7 +27,7 @@ buildPythonPackage rec {
owner = "MatthewFlamm";
repo = "pytest-homeassistant-custom-component";
tag = version;
hash = "sha256-ZE/zBXWk/GXBQAJ94pBjrW2GTburiMqlvkcjCFi4NLU=";
hash = "sha256-d+wRZPHdSIjXe6vqC8P85nuThQsiEu/qA3CuIOajsZ0=";
};
build-system = [ setuptools ];

View file

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "homeassistant-stubs";
version = "2026.5.0";
version = "2026.5.1";
pyproject = true;
disabled = python.version != home-assistant.python.version;
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "KapJI";
repo = "homeassistant-stubs";
tag = version;
hash = "sha256-awpDHL58GAO1Ijyg+wiSe/E+3XvNpN39GcSUj1cMuVY=";
hash = "sha256-ZETq0RWm5lEYTnOj7eb6u8SKol3zJBNc6ywLD3sNxmk=";
};
build-system = [