diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index abe14e72f668..dd6c6b13881e 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -7749,6 +7749,13 @@ githubId = 3422442; name = "Ruben Maher"; }; + er0k = { + email = "er0k@er0k.net"; + github = "er0k"; + githubId = 916239; + name = "er0k"; + keys = [ { fingerprint = "60DE 4570 2E31 81A2 AF87 F075 B005 BA3C 8EE8 108D"; } ]; + }; eraserhd = { email = "jason.m.felice@gmail.com"; github = "eraserhd"; diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix index 7f3c0c447693..ce1c69460c0a 100644 --- a/pkgs/applications/editors/android-studio/default.nix +++ b/pkgs/applications/editors/android-studio/default.nix @@ -16,8 +16,8 @@ let inherit tiling_wm; }; stableVersion = { - version = "2025.1.4.8"; # "Android Studio Narwhal 4 Feature Drop | 2025.1.4" - sha256Hash = "sha256-znRzVtUqNrLmpLYd9a96jFh85n+EgOsdteVLqxnMvfM="; + version = "2025.2.1.7"; # "Android Studio Otter | 2025.2.1" + sha256Hash = "sha256-Fq8foC10bkwYLYhS/zhZu6XBgnaO/qz6GKi4HWXnjLE="; }; betaVersion = { version = "2025.2.1.6"; # "Android Studio Otter | 2025.2.1 RC 1" diff --git a/pkgs/applications/emulators/wine/sources.nix b/pkgs/applications/emulators/wine/sources.nix index 2b73648a294b..44eaf9aed9b5 100644 --- a/pkgs/applications/emulators/wine/sources.nix +++ b/pkgs/applications/emulators/wine/sources.nix @@ -133,9 +133,9 @@ rec { unstable = fetchurl rec { # NOTE: Don't forget to change the hash for staging as well. - version = "10.17"; + version = "10.18"; url = "https://dl.winehq.org/wine/source/10.x/wine-${version}.tar.xz"; - hash = "sha256-u/jn3jLOqf4wU2HUr4XjBJIlTEvwIDnuJtrHpmcBtOY="; + hash = "sha256-Uftyc9ZdCd6gMsSl4hl7EnJLJ8o2DhpiKyNz0e5QrXs="; patches = [ # Also look for root certificates at $NIX_SSL_CERT_FILE @@ -145,7 +145,7 @@ rec { # see https://gitlab.winehq.org/wine/wine-staging staging = fetchFromGitLab { inherit version; - hash = "sha256-fTEzj3o7A9H9jIh3yhw8SCfNsnVeJ6pyL3jERqhVbr8="; + hash = "sha256-vhIjeEbWLpcKtkBd/KeAeaLKOUZt7LAkH6GTebs3ROM="; domain = "gitlab.winehq.org"; owner = "wine"; repo = "wine-staging"; diff --git a/pkgs/applications/misc/inochi2d/generic.nix b/pkgs/applications/misc/inochi2d/generic.nix index 5817acd8b1c1..30e521755fde 100644 --- a/pkgs/applications/misc/inochi2d/generic.nix +++ b/pkgs/applications/misc/inochi2d/generic.nix @@ -92,6 +92,10 @@ buildDubPackage ( # We get around this by manually pre-fetching the submodule and copying it into the right place cp -r --no-preserve=all ${cimgui-src}/* "$cimgui_dir/deps/cimgui" + # bump cmake minimum version to a version supported by cmake 4 + substituteInPlace "$cimgui_dir/deps/cimgui/CMakeLists.txt" \ + --replace-fail "cmake_minimum_required(VERSION 3.1)" "cmake_minimum_required(VERSION 3.10)" + # Disable the original cmake fetcher script substituteInPlace "$cimgui_dir/deps/CMakeLists.txt" \ --replace-fail "PullSubmodules(" "# PullSubmodules(" \ diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index a4fe71f3b327..c979937782d0 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -1129,13 +1129,13 @@ "vendorHash": "sha256-M2lJKmIR66lQKFkInjizn68ax2Gq4sim5Y3vZKyDhZ8=" }, "rootlyhq_rootly": { - "hash": "sha256-215PagKhONN483SGvYsLWQfKnSWmUKL1vCM4mr2xuGo=", + "hash": "sha256-8UlBt9gmQflO5sB++U4Ih40+6p+U6N8PE1npQYg9D8U=", "homepage": "https://registry.terraform.io/providers/rootlyhq/rootly", "owner": "rootlyhq", "repo": "terraform-provider-rootly", - "rev": "v4.3.5", + "rev": "v4.3.7", "spdx": "MPL-2.0", - "vendorHash": "sha256-MNddgnKFdrOCfpj84McqW/8lmU/t36x2Whsl9xkmrhM=" + "vendorHash": "sha256-IpWN8hCZlXm9hbPr2VcjzU7wtqivUk2h+LOaaz4KyP4=" }, "rundeck_rundeck": { "hash": "sha256-g8unbz8+UGLiAOJju6E2bLkygvZgHkv173PdMDefmrc=", diff --git a/pkgs/by-name/aw/aws-vault/package.nix b/pkgs/by-name/aw/aws-vault/package.nix index 4a84309316c6..f571c25b9782 100644 --- a/pkgs/by-name/aw/aws-vault/package.nix +++ b/pkgs/by-name/aw/aws-vault/package.nix @@ -9,22 +9,25 @@ }: buildGoModule rec { pname = "aws-vault"; - version = "7.2.0"; + version = "7.7.5"; src = fetchFromGitHub { - owner = "99designs"; + owner = "ByteNess"; repo = "aws-vault"; rev = "v${version}"; - hash = "sha256-Qs4vxFgehWQYYECBGBSU8YI/BHLwOQUO5wBlNEUzD7c="; + hash = "sha256-K91GNyvtjDO6UMU9cC+TbUdMWdXrPlKLU8u5cbEMdRA="; }; - vendorHash = "sha256-4bJKDEZlO0DzEzTQ7m+SQuzhe+wKmL6wLueqgSz/46s="; + proxyVendor = true; + vendorHash = "sha256-3AL3vjKqzjrzgPrLLwIgWpn1hRB6soTMbaRly/fvziA="; nativeBuildInputs = [ installShellFiles makeWrapper ]; + env.CGO_ENABLED = "0"; + postInstall = '' # make xdg-open overrideable at runtime # aws-vault uses https://github.com/skratchdot/open-golang/blob/master/open/open.go to open links @@ -55,8 +58,11 @@ buildGoModule rec { meta = with lib; { description = "Vault for securely storing and accessing AWS credentials in development environments"; mainProgram = "aws-vault"; - homepage = "https://github.com/99designs/aws-vault"; + homepage = "https://github.com/ByteNess/aws-vault"; license = licenses.mit; - maintainers = with maintainers; [ zimbatm ]; + maintainers = with maintainers; [ + zimbatm + er0k + ]; }; } diff --git a/pkgs/by-name/cl/clickhouse/generic.nix b/pkgs/by-name/cl/clickhouse/generic.nix index 57dcb3ee9407..6399e1fecb17 100644 --- a/pkgs/by-name/cl/clickhouse/generic.nix +++ b/pkgs/by-name/cl/clickhouse/generic.nix @@ -27,6 +27,7 @@ cargo, rustPlatform, nix-update-script, + versionCheckHook, }: let llvmStdenv = llvmPackages_19.stdenv; @@ -183,6 +184,12 @@ llvmStdenv.mkDerivation (finalAttrs: { # https://github.com/ClickHouse/ClickHouse/issues/49988 hardeningDisable = [ "fortify" ]; + nativeInstallCheckInputs = [ versionCheckHook ]; + doInstallCheck = true; + preVersionCheck = '' + version=${builtins.head (lib.splitString "-" version)} + ''; + postInstall = '' sed -i -e '\!/var/log/clickhouse-server/clickhouse-server\.log!d' \ $out/etc/clickhouse-server/config.xml @@ -218,12 +225,16 @@ llvmStdenv.mkDerivation (finalAttrs: { homepage = "https://clickhouse.com"; description = "Column-oriented database management system"; license = licenses.asl20; - maintainers = with maintainers; [ - thevar1able - ]; + changelog = "https://github.com/ClickHouse/ClickHouse/blob/v${version}/CHANGELOG.md"; + + mainProgram = "clickhouse"; # not supposed to work on 32-bit https://github.com/ClickHouse/ClickHouse/pull/23959#issuecomment-835343685 platforms = lib.filter (x: (lib.systems.elaborate x).is64bit) (platforms.linux ++ platforms.darwin); broken = stdenv.buildPlatform != stdenv.hostPlatform; + + maintainers = with maintainers; [ + thevar1able + ]; }; }) diff --git a/pkgs/by-name/cl/clingo/package.nix b/pkgs/by-name/cl/clingo/package.nix index 28474d20c47f..af8d7f3372c8 100644 --- a/pkgs/by-name/cl/clingo/package.nix +++ b/pkgs/by-name/cl/clingo/package.nix @@ -3,6 +3,8 @@ stdenv, fetchFromGitHub, cmake, + withPython ? false, + python ? null, }: stdenv.mkDerivation (finalAttrs: { @@ -18,7 +20,26 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake ]; - cmakeFlags = [ "-DCLINGO_BUILD_WITH_PYTHON=OFF" ]; + cmakeFlags = + if withPython then + [ + "-DCLINGO_BUILD_WITH_PYTHON=ON" + "-DPYTHON_EXECUTABLE=${lib.getExe python.pythonOnBuildForHost}" + ] + else + [ "-DCLINGO_BUILD_WITH_PYTHON=OFF" ]; + + propagatedBuildInputs = lib.optionals withPython ( + with python.pkgs; + [ + python + cffi + ] + ); + + pythonImportsCheck = [ + "clingo" + ]; meta = { description = "ASP system to ground and solve logic programs"; diff --git a/pkgs/by-name/co/copilot-language-server/package.nix b/pkgs/by-name/co/copilot-language-server/package.nix index 8f1970e33872..aca6ac5877c9 100644 --- a/pkgs/by-name/co/copilot-language-server/package.nix +++ b/pkgs/by-name/co/copilot-language-server/package.nix @@ -10,11 +10,11 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "copilot-language-server"; - version = "1.389.0"; + version = "1.392.0"; src = fetchzip { url = "https://github.com/github/copilot-language-server-release/releases/download/${finalAttrs.version}/copilot-language-server-js-${finalAttrs.version}.zip"; - hash = "sha256-QX3gSKV/FABXbeu1KzrSEyxFJU/xptSVvuxqTjTI9Go="; + hash = "sha256-+stenLWQWykBKHole0wW8w8jRzhjOio/VEcMPmklI/0="; stripRoot = false; }; diff --git a/pkgs/by-name/cr/cryptoverif/package.nix b/pkgs/by-name/cr/cryptoverif/package.nix index e23707651298..7d86585df43d 100644 --- a/pkgs/by-name/cr/cryptoverif/package.nix +++ b/pkgs/by-name/cr/cryptoverif/package.nix @@ -8,11 +8,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "cryptoverif"; - version = "2.11"; + version = "2.12"; src = fetchurl { url = "http://prosecco.gforge.inria.fr/personal/bblanche/cryptoverif/cryptoverif${finalAttrs.version}.tar.gz"; - hash = "sha256-duc7t0Qpr1Z2FZEoufdQ7kcBlLbXHO+r9ivEgUxqK9s="; + hash = "sha256-d3MIYb57+95bB493hdtHiGnTOronYaQo1Qqq1TcJh1c="; }; /* diff --git a/pkgs/by-name/de/dependabot-cli/package.nix b/pkgs/by-name/de/dependabot-cli/package.nix index 8ad2bfa76477..a2a2e53d88c4 100644 --- a/pkgs/by-name/de/dependabot-cli/package.nix +++ b/pkgs/by-name/de/dependabot-cli/package.nix @@ -12,7 +12,7 @@ }: let pname = "dependabot-cli"; - version = "1.77.0"; + version = "1.78.1"; # `tag` is what `dependabot` uses to find the relevant docker images. tag = "nixpkgs-dependabot-cli-${version}"; @@ -20,12 +20,12 @@ let # Get these hashes from # nix run nixpkgs#nix-prefetch-docker -- --image-name ghcr.io/github/dependabot-update-job-proxy/dependabot-update-job-proxy --image-tag latest --final-image-name dependabot-update-job-proxy --final-image-tag ${tag} updateJobProxy.imageDigest = "sha256:53f33581efa03f1ed691b44896b231923888ba24b0e12cdc440aac2333d532c5"; - updateJobProxy.hash = "sha256-GcCci6YcbZb4DgP91KpdBzwmnk5ffUJSHLtDCPyysZ4="; + updateJobProxy.hash = "sha256-M7vf5YS4ORG0TY+iHXL6nNAJhwgtO4PZbO4EEBBT6qo="; # Get these hashes from # nix run nixpkgs#nix-prefetch-docker -- --image-name ghcr.io/dependabot/dependabot-updater-github-actions --image-tag latest --final-image-name dependabot-updater-github-actions --final-image-tag ${tag} - updaterGitHubActions.imageDigest = "sha256:c58d4bebdfcaf0664ad1025e509d4b77c35ba4999b4bfad2519b2d6e0d84603d"; - updaterGitHubActions.hash = "sha256-P2kcpbYKj29iW3ma808LyVwhEYlcr+4JJuvOD6fGNoc="; + updaterGitHubActions.imageDigest = "sha256:a719a18ffb9aa87dba253be94e137ba7561fdf59f60d9a67c3ebc840ab2058a7"; + updaterGitHubActions.hash = "sha256-nb8uX3pu+m7cu6Owi9EnWmUT4Epr4yXScSIFBR/Kb6Q="; in buildGoModule { inherit pname version; @@ -34,7 +34,7 @@ buildGoModule { owner = "dependabot"; repo = "cli"; rev = "v${version}"; - hash = "sha256-Uo5QuYOEd74EiEIkf17WsjlR81x9VbOGtZcoeqegIsc="; + hash = "sha256-Q6WZ7FrcEGfUfG/3Zx8Z4Jd+CB6pEcw1fDo3AF8ML4M="; }; vendorHash = "sha256-dD48OKpuGAJAro7qV4tqpf/uENV2X1VQ2kUvAuJLXc0="; diff --git a/pkgs/by-name/fr/frr/package.nix b/pkgs/by-name/fr/frr/package.nix index 40055508f80e..8094336da5bb 100644 --- a/pkgs/by-name/fr/frr/package.nix +++ b/pkgs/by-name/fr/frr/package.nix @@ -43,9 +43,7 @@ numMultipath ? 64, watchfrrSupport ? true, cumulusSupport ? false, - rtadvSupport ? true, irdpSupport ? true, - routeReplacementSupport ? true, mgmtdSupport ? true, # Experimental as of 10.1, reconsider if upstream changes defaults grpcSupport ? false, @@ -151,24 +149,21 @@ stdenv.mkDerivation (finalAttrs: { configureFlags = [ "--disable-silent-rules" - "--disable-exampledir" "--enable-configfile-mask=0640" "--enable-group=frr" "--enable-logfile-mask=0640" "--enable-multipath=${toString numMultipath}" "--enable-user=frr" "--enable-vty-group=frrvty" - "--localstatedir=/run/frr" + "--localstatedir=/var" "--sbindir=${placeholder "out"}/libexec/frr" - "--sysconfdir=/etc/frr" + "--sysconfdir=/etc" "--with-clippy=${finalAttrs.clippy-helper}/bin/clippy" # general options (lib.strings.enableFeature snmpSupport "snmp") (lib.strings.enableFeature rpkiSupport "rpki") (lib.strings.enableFeature watchfrrSupport "watchfrr") - (lib.strings.enableFeature rtadvSupport "rtadv") (lib.strings.enableFeature irdpSupport "irdp") - (lib.strings.enableFeature routeReplacementSupport "rr-semantics") (lib.strings.enableFeature mgmtdSupport "mgmtd") (lib.strings.enableFeature grpcSupport "grpc") diff --git a/pkgs/by-name/ge/gerrit/package.nix b/pkgs/by-name/ge/gerrit/package.nix index 58c52b04b66c..7aeadaa219a4 100644 --- a/pkgs/by-name/ge/gerrit/package.nix +++ b/pkgs/by-name/ge/gerrit/package.nix @@ -8,11 +8,11 @@ stdenv.mkDerivation rec { pname = "gerrit"; - version = "3.12.2"; + version = "3.12.3"; src = fetchurl { url = "https://gerrit-releases.storage.googleapis.com/gerrit-${version}.war"; - hash = "sha256-jQydsKixNKY0PYXysPckcxrpFhDBLQmfN+x/tlfGdEk="; + hash = "sha256-egPuxGfRk8uB+7hzdrrEOT9wfBxlkaSjRpw2z9RYXAI="; }; buildCommand = '' diff --git a/pkgs/by-name/go/golangci-lint/package.nix b/pkgs/by-name/go/golangci-lint/package.nix index 2c82d32881fc..e94de8dafb24 100644 --- a/pkgs/by-name/go/golangci-lint/package.nix +++ b/pkgs/by-name/go/golangci-lint/package.nix @@ -14,16 +14,16 @@ buildGo125Module (finalAttrs: { pname = "golangci-lint"; - version = "2.6.0"; + version = "2.6.1"; src = fetchFromGitHub { owner = "golangci"; repo = "golangci-lint"; tag = "v${finalAttrs.version}"; - hash = "sha256-lSOtFG760zkN0YYaSms42sv7OYMGymNHDVfstVau8iY="; + hash = "sha256-LpYg7zkbLlvOe9u0TyDXkd9VIPyTNGhoZIrRhdmndH4="; }; - vendorHash = "sha256-h0rAqxUJlPlCPGi0eNl8oMXicpauZZmCQzAsTDGwHc4="; + vendorHash = "sha256-8nwTMjn5OhFDK1Izv/yIIf14X5SijOYiXcXltIKNPJI="; subPackages = [ "cmd/golangci-lint" ]; diff --git a/pkgs/by-name/im/immich-cli/package.nix b/pkgs/by-name/im/immich-cli/package.nix index db841758850f..8d65760c9002 100644 --- a/pkgs/by-name/im/immich-cli/package.nix +++ b/pkgs/by-name/im/immich-cli/package.nix @@ -12,7 +12,7 @@ let in stdenv.mkDerivation rec { pname = "immich-cli"; - version = "2.2.100"; + version = "2.2.101"; inherit (immich) src pnpmDeps; postPatch = '' diff --git a/pkgs/by-name/im/immich-go/package.nix b/pkgs/by-name/im/immich-go/package.nix index fdfb91acc17c..3bf6a481767a 100644 --- a/pkgs/by-name/im/immich-go/package.nix +++ b/pkgs/by-name/im/immich-go/package.nix @@ -55,7 +55,7 @@ buildGoModule rec { ]; passthru = { - updateScript = nix-update-script { }; + updateScript = nix-update-script { extraArgs = [ "--use-github-releases" ]; }; tests.versionTest = testers.testVersion { package = immich-go; command = "immich-go --version"; diff --git a/pkgs/by-name/im/immich/package.nix b/pkgs/by-name/im/immich/package.nix index c12872da602d..aa698cf0a012 100644 --- a/pkgs/by-name/im/immich/package.nix +++ b/pkgs/by-name/im/immich/package.nix @@ -34,7 +34,7 @@ }: let pnpm = pnpm_10; - version = "2.2.2"; + version = "2.2.3"; esbuild' = buildPackages.esbuild.override { buildGoModule = @@ -108,7 +108,7 @@ let owner = "immich-app"; repo = "immich"; tag = "v${version}"; - hash = "sha256-0ibXs4c61CEp6s/gOCsIj2A7VTnA+72jTMXoo4kkt74="; + hash = "sha256-OoToTRDPXWOa7d1j1xvkZt+vKWBX4eHDiIsFs3bIlvw="; }; pnpmDeps = pnpm.fetchDeps { diff --git a/pkgs/by-name/ma/mattermost/package.nix b/pkgs/by-name/ma/mattermost/package.nix index d8b8b35c498c..57c35fb360fb 100644 --- a/pkgs/by-name/ma/mattermost/package.nix +++ b/pkgs/by-name/ma/mattermost/package.nix @@ -19,8 +19,8 @@ # # Ensure you also check ../mattermostLatest/package.nix. regex = "^v(10\\.11\\.[0-9]+)$"; - version = "10.11.5"; - srcHash = "sha256-X0YjyRrFSYI7A+VINLV3NwAmsxgTkdUdHChyl1L+iWY="; + version = "10.11.6"; + srcHash = "sha256-JBZAFyjZOteDaCVktxXtdbimNrvCpUpgK45OuFCI5xQ="; vendorHash = "sha256-Lsw/cvl98JdVmzWr85lAv/JMcTmZZZ4ALLunFLNcrro="; npmDepsHash = "sha256-p9dq31qw0EZDQIl2ysKE38JgDyLA6XvSv+VtHuRh+8A="; lockfileOverlay = '' diff --git a/pkgs/by-name/ne/necesse-server/package.nix b/pkgs/by-name/ne/necesse-server/package.nix index 53eb6208fbec..754c14f64de4 100644 --- a/pkgs/by-name/ne/necesse-server/package.nix +++ b/pkgs/by-name/ne/necesse-server/package.nix @@ -6,7 +6,7 @@ }: let - version = "1.0.2-20563267"; + version = "1.0.2-20664049"; urlVersion = lib.replaceStrings [ "." ] [ "-" ] version; in @@ -16,7 +16,7 @@ stdenvNoCC.mkDerivation { src = fetchzip { url = "https://necessegame.com/content/server/${urlVersion}/necesse-server-linux64-${urlVersion}.zip"; - hash = "sha256-oDd9ZRCEKHQDaCqrRFiNj8AhNZ+2ZRVdzlooE99Y+VA="; + hash = "sha256-VgTAFxdI4YnTG1oOwrQpqIfKO6cf7o3NmGjcp7QZFK4="; }; # removing packaged jre since we use our own diff --git a/pkgs/by-name/ph/phpunit/package.nix b/pkgs/by-name/ph/phpunit/package.nix index 14597363261f..c4a6e2838a85 100644 --- a/pkgs/by-name/ph/phpunit/package.nix +++ b/pkgs/by-name/ph/phpunit/package.nix @@ -10,16 +10,16 @@ php.buildComposerProject2 (finalAttrs: { pname = "phpunit"; - version = "12.4.1"; + version = "12.4.2"; src = fetchFromGitHub { owner = "sebastianbergmann"; repo = "phpunit"; tag = finalAttrs.version; - hash = "sha256-QDZ5vwmBv+rfXzecg7gvrT7BRnRgIzmKkRpwTwxDQ5w="; + hash = "sha256-UXPFCnsUQhq3RS/MD9jfW0YKheHjzwQoV9TqLRi05nQ="; }; - vendorHash = "sha256-zG6Q7y7EBTyPYBvCWvehy0KaZ+utUyzveEAaqsedOgE="; + vendorHash = "sha256-Fsj+pu1MYuuIpGE0QC6lSPmPwYCpF1ID/HMoYLFxwFE="; passthru = { updateScript = nix-update-script { }; diff --git a/pkgs/by-name/st/steel/package.nix b/pkgs/by-name/st/steel/package.nix index 22c890941c55..7f09db24af69 100644 --- a/pkgs/by-name/st/steel/package.nix +++ b/pkgs/by-name/st/steel/package.nix @@ -19,16 +19,16 @@ }: rustPlatform.buildRustPackage { pname = "steel"; - version = "0-unstable-2025-10-24"; + version = "0-unstable-2025-11-04"; src = fetchFromGitHub { owner = "mattwparas"; repo = "steel"; - rev = "0b89c955668a48e8aab4344d5f7d3a44360ec73e"; - hash = "sha256-hbjCJeWJi71mY+2oW8KOIuYppYL2YIhwImm8GFxD9O4="; + rev = "ee5c58b83ff46738e3fb9990138b88abe5286b07"; + hash = "sha256-eFa3R7G9GkanWMA6g7miu983tyXQVmt69tyhaftEJOU="; }; - cargoHash = "sha256-CrmQhOfh7SQ5GvBywmYkfU6wMlgZq2x61+T+mIeQ7z4="; + cargoHash = "sha256-RCFLN0+59FV2fs0zGi1uuHt7B6DZUROFxisqoEQsT7U="; nativeBuildInputs = [ curl diff --git a/pkgs/by-name/th/theme-obsidian2/package.nix b/pkgs/by-name/th/theme-obsidian2/package.nix index 25bd7ccbb554..7813f74ec001 100644 --- a/pkgs/by-name/th/theme-obsidian2/package.nix +++ b/pkgs/by-name/th/theme-obsidian2/package.nix @@ -9,11 +9,11 @@ stdenvNoCC.mkDerivation rec { pname = "theme-obsidian2"; - version = "2.24"; + version = "2.25"; src = fetchurl { url = "https://github.com/madmaxms/theme-obsidian-2/releases/download/v${version}/obsidian-2-theme.tar.xz"; - sha256 = "sha256-P+62cdYiCk8419S+u1w6EmzJL0rgHAh7G5eTuBOrAGY="; + sha256 = "sha256-Hajz2bFcsi+9kSjxuZ6Jav8t7S6trDUF5yJivw+Vypw="; }; sourceRoot = "."; diff --git a/pkgs/development/python-modules/actron-neo-api/default.nix b/pkgs/development/python-modules/actron-neo-api/default.nix new file mode 100644 index 000000000000..bd64ad0e9547 --- /dev/null +++ b/pkgs/development/python-modules/actron-neo-api/default.nix @@ -0,0 +1,58 @@ +{ + aiohttp, + buildPythonPackage, + fetchFromGitHub, + lib, + pydantic, + pytest-asyncio, + pytestCheckHook, + setuptools, + setuptools-scm, +}: + +buildPythonPackage rec { + pname = "actron-neo-api"; + version = "0.1.84"; + pyproject = true; + + src = fetchFromGitHub { + owner = "kclif9"; + repo = "actronneoapi"; + tag = "v${version}"; + hash = "sha256-ihIg264ZX0tCfRwVLkiq62ke2G125ObcrVabPCDrc4c="; + }; + + build-system = [ + setuptools + setuptools-scm + ]; + + dependencies = [ + aiohttp + pydantic + ]; + + pythonImportsCheck = [ "actron_neo_api" ]; + + nativeCheckInputs = [ + pytest-asyncio + pytestCheckHook + ]; + + disabledTests = [ + # test hangs + "test_poll_for_token_pending" + # AttributeError: property 'authorization_header' of 'ActronAirOAuth2DeviceCodeAuth' object has no setter + "test_lazy_token_refres" + # ActronAirAuthError: Refresh token is required to refresh the access token + "test_get_user_info" + ]; + + meta = { + changelog = "https://github.com/kclif9/actronneoapi/releases/tag/${src.tag}"; + description = "Communicate with Actron Air systems via the Actron Neo API"; + homepage = "https://github.com/kclif9/actronneoapi"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/aio-ownet/default.nix b/pkgs/development/python-modules/aio-ownet/default.nix new file mode 100644 index 000000000000..80b3fbbdab26 --- /dev/null +++ b/pkgs/development/python-modules/aio-ownet/default.nix @@ -0,0 +1,41 @@ +{ + buildPythonPackage, + click, + fetchFromGitHub, + lib, + poetry-core, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "aio-ownet"; + version = "0.0.4"; + pyproject = true; + + src = fetchFromGitHub { + owner = "hacf-fr"; + repo = "aio-ownet"; + tag = "v${version}"; + hash = "sha256-XaulcBrFLu8YsfaYQsZfUBHnw0H5qX6itdgsiW89Ca4="; + }; + + build-system = [ poetry-core ]; + + optional-dependencies = { + cli = [ click ]; + }; + + pythonImportsCheck = [ "aio_ownet" ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + meta = { + changelog = "https://github.com/hacf-fr/aio-ownet/releases/tag/${src.tag}"; + description = "Asynchronous OWFS (owserver network protocol) client library"; + homepage = "https://github.com/hacf-fr/aio-ownet"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/aioamazondevices/default.nix b/pkgs/development/python-modules/aioamazondevices/default.nix index b1153a351968..c6380fc0d7fe 100644 --- a/pkgs/development/python-modules/aioamazondevices/default.nix +++ b/pkgs/development/python-modules/aioamazondevices/default.nix @@ -10,19 +10,19 @@ poetry-core, pytest-cov-stub, pytestCheckHook, - yarl, + python-dateutil, }: buildPythonPackage rec { pname = "aioamazondevices"; - version = "6.4.6"; + version = "6.5.6"; pyproject = true; src = fetchFromGitHub { owner = "chemelli74"; repo = "aioamazondevices"; tag = "v${version}"; - hash = "sha256-EjgZ/zmUSCaLDUmijYMCXvwpl4dWfjmTdlO5VLuzIHg="; + hash = "sha256-OgcOsRKqSU3k4myfHmOYaXW259LDgYWj0gXPLwabVIM="; }; build-system = [ poetry-core ]; @@ -33,7 +33,7 @@ buildPythonPackage rec { colorlog langcodes orjson - yarl + python-dateutil ]; pythonImportsCheck = [ "aioamazondevices" ]; diff --git a/pkgs/development/python-modules/aioautomower/default.nix b/pkgs/development/python-modules/aioautomower/default.nix index 693f150c9d22..63559a874bda 100644 --- a/pkgs/development/python-modules/aioautomower/default.nix +++ b/pkgs/development/python-modules/aioautomower/default.nix @@ -7,6 +7,7 @@ freezegun, ical, mashumaro, + orjson, poetry-core, poetry-dynamic-versioning, pyjwt, @@ -22,7 +23,7 @@ buildPythonPackage rec { pname = "aioautomower"; - version = "2.3.1"; + version = "2.7.0"; pyproject = true; disabled = pythonOlder "3.11"; @@ -31,7 +32,7 @@ buildPythonPackage rec { owner = "Thomas55555"; repo = "aioautomower"; tag = "v${version}"; - hash = "sha256-M0BAErX5S3BjP+YSv+j2m453T4+U4uHV6N0kWmc42ls="; + hash = "sha256-qhjfnneLJjdDDP4XrecSI/psqEqKGP5ziaPd/iRiZfM="; }; postPatch = '' @@ -49,6 +50,7 @@ buildPythonPackage rec { aiohttp ical mashumaro + orjson pyjwt python-dateutil tzlocal @@ -67,23 +69,17 @@ buildPythonPackage rec { pythonImportsCheck = [ "aioautomower" ]; disabledTests = [ - # File is missing - "test_standard_mower" - # Call no found - "test_post_commands" # Timezone mismatches - "test_full_planner_event" - "test_sinlge_planner_event" "test_set_datetime" "test_message_event" "test_async_get_messages" ]; - meta = with lib; { + meta = { description = "Module to communicate with the Automower Connect API"; homepage = "https://github.com/Thomas55555/aioautomower"; changelog = "https://github.com/Thomas55555/aioautomower/releases/tag/${src.tag}"; - license = licenses.asl20; - maintainers = with maintainers; [ fab ]; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ fab ]; }; } diff --git a/pkgs/development/python-modules/aiomealie/default.nix b/pkgs/development/python-modules/aiomealie/default.nix index 13792ccd42de..30ee6d4f2316 100644 --- a/pkgs/development/python-modules/aiomealie/default.nix +++ b/pkgs/development/python-modules/aiomealie/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "aiomealie"; - version = "0.10.2"; + version = "1.0.1"; pyproject = true; disabled = pythonOlder "3.11"; @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "joostlek"; repo = "python-mealie"; tag = "v${version}"; - hash = "sha256-VOUtSHxixGpfeP4G0puB1RPgaqvell1SBO7akEnLzrg="; + hash = "sha256-J0G0vRFkYZDDVBYxd4Dc/tSZJ991H1F2Acsew0zf9Oo="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/aiovodafone/default.nix b/pkgs/development/python-modules/aiovodafone/default.nix index 58544c789d9d..1d804579bae1 100644 --- a/pkgs/development/python-modules/aiovodafone/default.nix +++ b/pkgs/development/python-modules/aiovodafone/default.nix @@ -2,9 +2,11 @@ lib, aiohttp, beautifulsoup4, - colorlog, buildPythonPackage, + colorlog, + cryptography, fetchFromGitHub, + orjson, poetry-core, pytest-cov-stub, pytestCheckHook, @@ -13,7 +15,7 @@ buildPythonPackage rec { pname = "aiovodafone"; - version = "1.2.1"; + version = "3.0.0"; pyproject = true; disabled = pythonOlder "3.12"; @@ -22,7 +24,7 @@ buildPythonPackage rec { owner = "chemelli74"; repo = "aiovodafone"; tag = "v${version}"; - hash = "sha256-i4zsOHauKPq2b9LfWd4HYe04oOambbibHfNrJLiSSYw="; + hash = "sha256-JeMB7K2NURvMPgCZRNAFt9ThIu4LDq3WlmAXsgm1CKs="; }; build-system = [ poetry-core ]; @@ -30,7 +32,9 @@ buildPythonPackage rec { dependencies = [ aiohttp beautifulsoup4 + cryptography colorlog + orjson ]; nativeCheckInputs = [ @@ -40,11 +44,11 @@ buildPythonPackage rec { pythonImportsCheck = [ "aiovodafone" ]; - meta = with lib; { + meta = { description = "Library to control Vodafon Station"; homepage = "https://github.com/chemelli74/aiovodafone"; changelog = "https://github.com/chemelli74/aiovodafone/blob/${src.tag}/CHANGELOG.md"; - license = licenses.asl20; - maintainers = with maintainers; [ fab ]; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ fab ]; }; } diff --git a/pkgs/development/python-modules/airos/default.nix b/pkgs/development/python-modules/airos/default.nix index 9a6ccbf5d0fc..7c2ecfab20be 100644 --- a/pkgs/development/python-modules/airos/default.nix +++ b/pkgs/development/python-modules/airos/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "airos"; - version = "0.5.5"; + version = "0.6.0"; pyproject = true; disabled = pythonOlder "3.13"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "CoMPaTech"; repo = "python-airos"; tag = "v${version}"; - hash = "sha256-AXzqm5UN+Z0nXqdhsmGuVfwGJuyZgR+imUzmiODnZqk="; + hash = "sha256-ako/4D1iKoKRcxxNV1CzUEqSwSEyo+Udf0z4j+mpVgA="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/bellows/default.nix b/pkgs/development/python-modules/bellows/default.nix index 8c91381b52ac..0e405eb970be 100644 --- a/pkgs/development/python-modules/bellows/default.nix +++ b/pkgs/development/python-modules/bellows/default.nix @@ -1,6 +1,5 @@ { lib, - async-timeout, buildPythonPackage, click, click-log, @@ -16,14 +15,14 @@ buildPythonPackage rec { pname = "bellows"; - version = "0.46.1"; + version = "0.47.2"; pyproject = true; src = fetchFromGitHub { owner = "zigpy"; repo = "bellows"; tag = version; - hash = "sha256-YQt9imL9poGLrkVj9LmR+XPUufRMOgVhAr+Bw+/VdI0="; + hash = "sha256-1gWmXrRCYmU0VemhW5TCn1/rnOmz07q8bQ6W3a2mXro="; }; postPatch = '' @@ -39,8 +38,7 @@ buildPythonPackage rec { click-log voluptuous zigpy - ] - ++ lib.optionals (pythonOlder "3.11") [ async-timeout ]; + ]; nativeCheckInputs = [ pytestCheckHook diff --git a/pkgs/development/python-modules/blinkpy/default.nix b/pkgs/development/python-modules/blinkpy/default.nix index 6f42ae55fbf9..f45638c7492f 100644 --- a/pkgs/development/python-modules/blinkpy/default.nix +++ b/pkgs/development/python-modules/blinkpy/default.nix @@ -2,7 +2,6 @@ lib, buildPythonPackage, fetchFromGitHub, - fetchpatch2, aiofiles, aiohttp, pytest-asyncio, @@ -17,7 +16,7 @@ buildPythonPackage rec { pname = "blinkpy"; - version = "0.23.0"; + version = "0.24.1"; pyproject = true; disabled = pythonOlder "3.9"; @@ -26,21 +25,13 @@ buildPythonPackage rec { owner = "fronzbot"; repo = "blinkpy"; tag = "v${version}"; - hash = "sha256-MWXOxE0nxBFhkAWjy7qFPhv4AO6VjGf+fAiyaWXeiX8="; + hash = "sha256-UjkVpXqGOOwtpBslQB61osaQvkuvD4A+xeUrMpyWetg="; }; - patches = [ - (fetchpatch2 { - # Fix tests with aiohttp 3.10+ - url = "https://github.com/fronzbot/blinkpy/commit/e2c747b5ad295424b08ff4fb03204129155666fc.patch"; - hash = "sha256-FapgAZcKBWqtAPjRl2uOFgnYPoWq6UU88XGLO7oCmDI="; - }) - ]; - postPatch = '' substituteInPlace pyproject.toml \ - --replace ', "wheel~=0.40.0"' "" \ - --replace "setuptools~=68.0" "setuptools" + --replace-fail "wheel~=0.40.0" wheel \ + --replace-fail "setuptools>=68,<81" setuptools ''; nativeBuildInputs = [ setuptools ]; @@ -69,11 +60,11 @@ buildPythonPackage rec { "blinkpy.sync_module" ]; - meta = with lib; { + meta = { description = "Python library for the Blink Camera system"; homepage = "https://github.com/fronzbot/blinkpy"; - changelog = "https://github.com/fronzbot/blinkpy/blob/${src.rev}/CHANGES.rst"; - license = licenses.mit; - maintainers = with maintainers; [ dotlambda ]; + changelog = "https://github.com/fronzbot/blinkpy/releases/tag/${src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ dotlambda ]; }; } diff --git a/pkgs/development/python-modules/clx-sdk-xms/default.nix b/pkgs/development/python-modules/clx-sdk-xms/default.nix index dd5a56dfbca0..b2dcaa54c0d0 100644 --- a/pkgs/development/python-modules/clx-sdk-xms/default.nix +++ b/pkgs/development/python-modules/clx-sdk-xms/default.nix @@ -10,12 +10,13 @@ buildPythonPackage { pname = "clx-sdk-xms"; - version = "0-unstable-2017-01-23"; + version = "1.0.0"; pyproject = true; src = fetchFromGitHub { owner = "clxcommunications"; repo = "sdk-xms-python"; + # https://github.com/clxcommunications/sdk-xms-python/issues/4 rev = "8d629cd7bcaf91eaafee265a825e3c52191f1425"; hash = "sha256-qMR9OT+QAKZGwDuoZVAtfKD3PQB7rEU/iTRjgACVGBs="; }; diff --git a/pkgs/development/python-modules/deebot-client/default.nix b/pkgs/development/python-modules/deebot-client/default.nix index 13bcf901bdca..72381b0567a4 100644 --- a/pkgs/development/python-modules/deebot-client/default.nix +++ b/pkgs/development/python-modules/deebot-client/default.nix @@ -15,13 +15,14 @@ pytestCheckHook, pythonOlder, rustPlatform, + syrupy, testfixtures, xz, }: buildPythonPackage rec { pname = "deebot-client"; - version = "15.1.0"; + version = "16.3.0"; pyproject = true; disabled = pythonOlder "3.13"; @@ -30,12 +31,12 @@ buildPythonPackage rec { owner = "DeebotUniverse"; repo = "client.py"; tag = version; - hash = "sha256-ey7xr9ejDFwfSNwhNBmI2/oJ6zoeAmyTsByxLQ3MQe4="; + hash = "sha256-FjUHYG0AkZ/AS1jZhPc28f8rnjuWIyRpumnRnDaoRqY="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit pname version src; - hash = "sha256-28Rkm5doYRtrH+Rc64gYxzNwVjBaGzLTynej8OwBqVg="; + hash = "sha256-jAycxAxSSWwDNhtdvSCLujMsa7dMQ1lFLtMtVsKHdvk="; }; pythonRelaxDeps = [ @@ -66,6 +67,7 @@ buildPythonPackage rec { pytest-asyncio pytest-codspeed pytestCheckHook + syrupy testfixtures ]; diff --git a/pkgs/development/python-modules/garminconnect/default.nix b/pkgs/development/python-modules/garminconnect/default.nix index c27da986a748..95a97adbf317 100644 --- a/pkgs/development/python-modules/garminconnect/default.nix +++ b/pkgs/development/python-modules/garminconnect/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "garminconnect"; - version = "0.2.30"; + version = "0.2.31"; pyproject = true; disabled = pythonOlder "3.10"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "cyberjunky"; repo = "python-garminconnect"; tag = version; - hash = "sha256-JCcQl7awYUnRWWVoKgirgn494HM9uXqT69f3XauTG5E="; + hash = "sha256-yK4p1zb3OLTpDrtVz0bA/jlhDV3AFpltN3CTDBcSTPU="; }; pythonRelaxDeps = [ diff --git a/pkgs/development/python-modules/hass-nabucasa/default.nix b/pkgs/development/python-modules/hass-nabucasa/default.nix index e231e8ab6013..16b874cc9ce8 100644 --- a/pkgs/development/python-modules/hass-nabucasa/default.nix +++ b/pkgs/development/python-modules/hass-nabucasa/default.nix @@ -9,6 +9,7 @@ cryptography, fetchFromGitHub, freezegun, + josepy, pycognito, pyjwt, pytest-aiohttp, @@ -20,13 +21,15 @@ setuptools, snitun, syrupy, + voluptuous, webrtc-models, xmltodict, + yarl, }: buildPythonPackage rec { pname = "hass-nabucasa"; - version = "1.1.1"; + version = "1.5.1"; pyproject = true; disabled = pythonOlder "3.13"; @@ -35,7 +38,7 @@ buildPythonPackage rec { owner = "nabucasa"; repo = "hass-nabucasa"; tag = version; - hash = "sha256-4wqlV3stqbraiDBp/g5XNMiUR8SsmGggqXlq6MXXgbM="; + hash = "sha256-BYRVr8YWYG+6vmCFCEJH0v2s+EpefDxmcBMHkXHRCrA="; }; postPatch = '' @@ -58,11 +61,14 @@ buildPythonPackage rec { attrs ciso8601 cryptography + josepy pycognito pyjwt sentence-stream snitun + voluptuous webrtc-models + yarl ]; nativeCheckInputs = [ @@ -75,11 +81,6 @@ buildPythonPackage rec { xmltodict ]; - disabledTests = [ - # mock time 10800s (3h) vs 43200s (12h) - "test_subscription_reconnection_handler_renews_and_starts" - ]; - pythonImportsCheck = [ "hass_nabucasa" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/hassil/default.nix b/pkgs/development/python-modules/hassil/default.nix index 7400218e1504..0f20119deaa0 100644 --- a/pkgs/development/python-modules/hassil/default.nix +++ b/pkgs/development/python-modules/hassil/default.nix @@ -16,7 +16,7 @@ let pname = "hassil"; - version = "3.2.0"; + version = "3.4.0"; in buildPythonPackage rec { inherit pname version; @@ -26,7 +26,7 @@ buildPythonPackage rec { owner = "home-assistant"; repo = "hassil"; tag = "v${version}"; - hash = "sha256-X+VOcgOFcdb29VfJCfD1xBEqY/1qbfwViS/N9PsT2y8="; + hash = "sha256-rroljEJ0xXW15iKmW6C64+h8epNB6XJzKtylA/wKyWQ="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/home-connect-async/default.nix b/pkgs/development/python-modules/home-connect-async/default.nix index dec2083d0248..283eae7a23a4 100644 --- a/pkgs/development/python-modules/home-connect-async/default.nix +++ b/pkgs/development/python-modules/home-connect-async/default.nix @@ -13,13 +13,13 @@ buildPythonPackage rec { pname = "home-connect-async"; - version = "0.8.2"; + version = "0.8.3"; pyproject = true; src = fetchPypi { pname = "home_connect_async"; inherit version; - hash = "sha256-npVMEiwclKr9HR2M03GNkyJULeLEE9BAnIw8Zoy98nQ="; + hash = "sha256-G+mHXNbqU0pgqpvGfKmn6CrwZOhRG76m57eHimgN17s="; }; build-system = [ diff --git a/pkgs/development/python-modules/librehardwaremonitor-api/default.nix b/pkgs/development/python-modules/librehardwaremonitor-api/default.nix index 8e41c7041328..fb3e23ac8e7d 100644 --- a/pkgs/development/python-modules/librehardwaremonitor-api/default.nix +++ b/pkgs/development/python-modules/librehardwaremonitor-api/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "librehardwaremonitor-api"; - version = "1.4.0"; + version = "1.5.0"; pyproject = true; src = fetchFromGitHub { owner = "Sab44"; repo = "librehardwaremonitor-api"; tag = "v${version}"; - hash = "sha256-yYJOizO6blfwRBWD9oFnaein7DK1F8Kl744ErehXU0Q="; + hash = "sha256-LWh0kZp+8OUfBohQMLFXI/kkHsVuJt99YqwSGeq4EvA="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/llm-fragments-pypi/default.nix b/pkgs/development/python-modules/llm-fragments-pypi/default.nix index c07f2cbc4f01..33f78d7a1f93 100644 --- a/pkgs/development/python-modules/llm-fragments-pypi/default.nix +++ b/pkgs/development/python-modules/llm-fragments-pypi/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "llm-fragments-pypi"; - version = "0.1.1"; + version = "0.1.2"; pyproject = true; src = fetchFromGitHub { owner = "samueldg"; repo = "llm-fragments-pypi"; tag = version; - hash = "sha256-1XqAmuZ1WMHD6JbLbLsK9K4Uf3FvvKJD4mn1G2J/3C8="; + hash = "sha256-6gG7oPughxbpG0ZgKGniTfS9pJAcmXL7unru5kE2bEY="; }; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/lunatone-rest-api-client/default.nix b/pkgs/development/python-modules/lunatone-rest-api-client/default.nix new file mode 100644 index 000000000000..f80d2d7a20a0 --- /dev/null +++ b/pkgs/development/python-modules/lunatone-rest-api-client/default.nix @@ -0,0 +1,47 @@ +{ + aiohttp, + buildPythonPackage, + fetchFromGitLab, + hatchling, + lib, + pydantic, + pytest-aioresponses, + pytest-asyncio, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "lunatone-rest-api-client"; + version = "0.5.3"; + pyproject = true; + + src = fetchFromGitLab { + owner = "lunatone-public"; + repo = "lunatone-rest-api-client"; + tag = "v${version}"; + hash = "sha256-pxoD4EAyBmNmTXrhXa+zpnkwrsC+9mervbXzgptSFVo="; + }; + + build-system = [ hatchling ]; + + dependencies = [ + aiohttp + pydantic + ]; + + pythonImportsCheck = [ "lunatone_rest_api_client" ]; + + nativeCheckInputs = [ + pytest-aioresponses + pytest-asyncio + pytestCheckHook + ]; + + meta = { + changelog = "https://gitlab.com/lunatone-public/lunatone-rest-api-client/-/blob/${src.tag}/CHANGELOG.md"; + description = "Client library for accessing the Lunatone REST API"; + homepage = "https://gitlab.com/lunatone-public/lunatone-rest-api-client"; + license = lib.licenses.gpl3Only; + maintainers = [ lib.maintainers.dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/meteo-lt-pkg/default.nix b/pkgs/development/python-modules/meteo-lt-pkg/default.nix new file mode 100644 index 000000000000..dd1639485fce --- /dev/null +++ b/pkgs/development/python-modules/meteo-lt-pkg/default.nix @@ -0,0 +1,49 @@ +{ + aiohttp, + buildPythonPackage, + fetchFromGitHub, + lib, + pytest-asyncio, + pytestCheckHook, + setuptools, +}: + +buildPythonPackage rec { + pname = "meteo-lt-pkg"; + version = "0.2.4"; + pyproject = true; + + src = fetchFromGitHub { + owner = "Brunas"; + repo = "meteo_lt-pkg"; + tag = "v${version}"; + hash = "sha256-OjIBgIOSJ65ryIF4D/UUUa1Oq0sPkKnaQEJeviimqhE="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + aiohttp + ]; + + pythonImportsCheck = [ "meteo_lt" ]; + + nativeCheckInputs = [ + pytest-asyncio + pytestCheckHook + ]; + + disabledTests = [ + # tests contact api.meteo.lt + "test_get_forecast" + "test_get_nearest_place" + ]; + + meta = { + changelog = "https://github.com/Brunas/meteo_lt-pkg/blob/${src.tag}/CHANGELOG.md"; + description = "Meteo.Lt weather forecast package"; + homepage = "https://github.com/Brunas/meteo_lt-pkg"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/midea-local/default.nix b/pkgs/development/python-modules/midea-local/default.nix index 3d438efcab5a..68bbab053129 100644 --- a/pkgs/development/python-modules/midea-local/default.nix +++ b/pkgs/development/python-modules/midea-local/default.nix @@ -16,14 +16,14 @@ buildPythonPackage rec { pname = "midea-local"; - version = "6.4.0"; + version = "6.5.0"; pyproject = true; src = fetchFromGitHub { owner = "midea-lan"; repo = "midea-local"; tag = "v${version}"; - hash = "sha256-jeQ5PXkKxVz041VJ58lJVpqIoj1Y054VADFtnutddg4="; + hash = "sha256-l5wV6W0CR3Jlir1DEpuh7/I8hGnH5+yrq0JjKcFh4sk="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/opower/default.nix b/pkgs/development/python-modules/opower/default.nix index 31cf3259a85c..e67ddad254fb 100644 --- a/pkgs/development/python-modules/opower/default.nix +++ b/pkgs/development/python-modules/opower/default.nix @@ -15,14 +15,14 @@ buildPythonPackage rec { pname = "opower"; - version = "0.15.8"; + version = "0.15.9"; pyproject = true; src = fetchFromGitHub { owner = "tronikos"; repo = "opower"; tag = "v${version}"; - hash = "sha256-JauglgXrzfznyst0UdG8KyAXyzjnUkK7TJVdGhp0PVk="; + hash = "sha256-Hqn43KFmte3/zn+f35cxNSLjQ3f7ySPQSVWwMCeQ2Go="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/plumlightpad/default.nix b/pkgs/development/python-modules/plumlightpad/default.nix deleted file mode 100644 index b6d40f5f007b..000000000000 --- a/pkgs/development/python-modules/plumlightpad/default.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchPypi, - setuptools, - requests, - standard-telnetlib, - pytestCheckHook, -}: - -buildPythonPackage rec { - pname = "plumlightpad"; - version = "0.0.11"; - pyproject = true; - - src = fetchPypi { - inherit pname version; - hash = "sha256-5J+kk/fn45v/1WIsBuq6o7hivXkCaJ1Of7BLRf10rCk="; - }; - - build-system = [ setuptools ]; - - dependencies = [ - requests - standard-telnetlib - ]; - - nativeCheckInputs = [ pytestCheckHook ]; - - # Package has no tests - doCheck = false; - - pythonImportsCheck = [ "plumlightpad" ]; - - meta = { - description = "A python package that interacts with the Plum Lightpad"; - homepage = "https://github.com/heathbar/plum-lightpad-python"; - license = lib.licenses.mit; - maintainers = [ lib.maintainers.jamiemagee ]; - }; -} diff --git a/pkgs/development/python-modules/py-melissa-climate/default.nix b/pkgs/development/python-modules/py-melissa-climate/default.nix index dc66538400e2..f1167d2b04a4 100644 --- a/pkgs/development/python-modules/py-melissa-climate/default.nix +++ b/pkgs/development/python-modules/py-melissa-climate/default.nix @@ -4,52 +4,37 @@ fetchFromGitHub, setuptools, aiohttp, - requests, - requests-futures, + pytest-asyncio, pytestCheckHook, - mock, }: buildPythonPackage rec { pname = "py-melissa-climate"; - version = "2.1.4"; + version = "3.0.2"; pyproject = true; src = fetchFromGitHub { owner = "kennedyshead"; repo = "py-melissa-climate"; - tag = version; - hash = "sha256-zYr+nKdO+lCLLYGSvY16MUs8TxbWcyaoQk9cwNQ704Y="; + tag = "v${version}"; + hash = "sha256-VSKSa7K2fF6NMLN39HzkqK7/9vGHmmmPFw6mIiJNZ84="; }; - postPatch = '' - substituteInPlace setup.py \ - --replace-fail "setup_requires=['setuptools-markdown']," "" - ''; - build-system = [ setuptools ]; dependencies = [ aiohttp - requests - requests-futures ]; nativeCheckInputs = [ - mock + pytest-asyncio pytestCheckHook ]; - disabledTests = [ - # Disable failing tests due to upstream bugs - "test_have_connection" - "test_send" - "test_send_ok" - ]; - pythonImportsCheck = [ "melissa" ]; meta = { + changelog = "https://github.com/kennedyshead/py-melissa-climate/releases/tag/${src.tag}"; description = "API wrapper for Melissa Climate"; homepage = "https://github.com/kennedyshead/py-melissa-climate"; license = lib.licenses.mit; diff --git a/pkgs/development/python-modules/pyfirefly/default.nix b/pkgs/development/python-modules/pyfirefly/default.nix new file mode 100644 index 000000000000..241af69a8e9b --- /dev/null +++ b/pkgs/development/python-modules/pyfirefly/default.nix @@ -0,0 +1,53 @@ +{ + aiohttp, + aresponses, + buildPythonPackage, + fetchFromGitHub, + lib, + mashumaro, + orjson, + poetry-core, + pytest-cov-stub, + pytestCheckHook, + syrupy, + yarl, +}: + +buildPythonPackage rec { + pname = "pyfirefly"; + version = "0.1.8"; + pyproject = true; + + src = fetchFromGitHub { + owner = "erwindouna"; + repo = "pyfirefly"; + tag = "v${version}"; + hash = "sha256-b4np7JlDCbrrMo6TGE5yL6Xg41ocGoJQY8BMH/hZ9Ls="; + }; + + build-system = [ poetry-core ]; + + dependencies = [ + aiohttp + mashumaro + orjson + yarl + ]; + + pythonImportsCheck = [ "pyfirefly" ]; + + nativeCheckInputs = [ + aresponses + pytest-cov-stub + pytestCheckHook + syrupy + ]; + + meta = { + changelog = "https://github.com/erwindouna/pyfirefly/releases/tag/${src.tag}"; + description = "Asynchronous Python client for the Firefly III API"; + homepage = "https://github.com/erwindouna/pyfirefly"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/pynintendoparental/default.nix b/pkgs/development/python-modules/pynintendoparental/default.nix new file mode 100644 index 000000000000..a3c81a46cfdf --- /dev/null +++ b/pkgs/development/python-modules/pynintendoparental/default.nix @@ -0,0 +1,40 @@ +{ + aiohttp, + buildPythonPackage, + fetchFromGitHub, + lib, + python-dotenv, + setuptools, +}: + +buildPythonPackage rec { + pname = "pynintendoparental"; + version = "1.1.3"; + pyproject = true; + + src = fetchFromGitHub { + owner = "pantherale0"; + repo = "pynintendoparental"; + tag = version; + hash = "sha256-mH34BcbK3qyB2sAmVyAQz6GhI+xWAdRHagZzLVI9gr8="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + aiohttp + ]; + + pythonImportsCheck = [ "pynintendoparental" ]; + + # test.py connects to the actual API + doCheck = false; + + meta = { + changelog = "https://github.com/pantherale0/pynintendoparental/releases/tag/${src.tag}"; + description = "Python module to interact with Nintendo Parental Controls"; + homepage = "https://github.com/pantherale0/pynintendoparental"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/pyownet/default.nix b/pkgs/development/python-modules/pyownet/default.nix deleted file mode 100644 index 2542877ef0e5..000000000000 --- a/pkgs/development/python-modules/pyownet/default.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchPypi, -}: - -buildPythonPackage rec { - pname = "pyownet"; - version = "0.10.0.post1"; - - format = "setuptools"; - - src = fetchPypi { - inherit pname version; - sha256 = "4f2fa4471c2f806b35090bdc6c092305c6eded3ff3736f8b586d35bdb157de62"; - }; - - postPatch = '' - sed -i '/use_2to3/d' setup.py - ''; - - # tests access network - doCheck = false; - - pythonImportsCheck = [ "pyownet.protocol" ]; - - meta = with lib; { - description = "Python OWFS client library (owserver protocol)"; - homepage = "https://github.com/miccoli/pyownet"; - license = licenses.lgpl3Plus; - maintainers = with maintainers; [ dotlambda ]; - }; -} diff --git a/pkgs/development/python-modules/pysma/default.nix b/pkgs/development/python-modules/pysma/default.nix index 17d120b65e74..45265af0fc3b 100644 --- a/pkgs/development/python-modules/pysma/default.nix +++ b/pkgs/development/python-modules/pysma/default.nix @@ -1,40 +1,56 @@ { lib, aiohttp, + aioresponses, attrs, buildPythonPackage, - fetchPypi, + fetchFromGitHub, jmespath, - pythonOlder, + pytest-asyncio, + pytest-cov-stub, + pytestCheckHook, + uv-build, }: buildPythonPackage rec { pname = "pysma"; - version = "0.7.5"; - format = "setuptools"; + version = "1.0.3"; + pyproject = true; - disabled = pythonOlder "3.8"; - - src = fetchPypi { - inherit pname version; - hash = "sha256-zlCGEcG5tmgEXhSMDLKj0/imT1iHBqlp1O1QhmPrJcA="; + src = fetchFromGitHub { + owner = "kellerza"; + repo = "pysma"; + tag = "v${version}"; + hash = "sha256-T9QBIuKgbKmMUN2G+sZRW4DtgIk3H9rYMTxLtkXfEBI="; }; - propagatedBuildInputs = [ + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "uv-build>=0.9,<0.10" uv-build + ''; + + build-system = [ uv-build ]; + + dependencies = [ aiohttp attrs jmespath ]; - # pypi does not contain tests and GitHub archive not available - doCheck = false; + nativeCheckInputs = [ + aioresponses + pytest-asyncio + pytest-cov-stub + pytestCheckHook + ]; pythonImportsCheck = [ "pysma" ]; - meta = with lib; { + meta = { + changelog = "https://github.com/kellerza/pysma/blob/${src.tag}/CHANGELOG.md"; description = "Python library for interacting with SMA Solar's WebConnect"; homepage = "https://github.com/kellerza/pysma"; - license = with licenses; [ mit ]; - maintainers = with maintainers; [ fab ]; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; }; } diff --git a/pkgs/development/python-modules/pysrdaligateway/default.nix b/pkgs/development/python-modules/pysrdaligateway/default.nix new file mode 100644 index 000000000000..addd6a2cb38f --- /dev/null +++ b/pkgs/development/python-modules/pysrdaligateway/default.nix @@ -0,0 +1,48 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + wheel, + cryptography, + paho-mqtt, + psutil, + pytestCheckHook, + pytest-asyncio, + pytest-cov, +}: + +buildPythonPackage rec { + pname = "pysrdaligateway"; + version = "0.15.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "maginawin"; + repo = "PySrDaliGateway"; + tag = "v${version}"; + hash = "sha256-qPZxcGDSToFkkXBJKxo9OkcTBr4TZ9cFrcQwBTwKfy8="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + cryptography + paho-mqtt + psutil + ]; + + pythonImportsCheck = [ "PySrDaliGateway" ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + meta = { + changelog = "https://github.com/maginawin/PySrDaliGateway/releases/tag/${src.tag}"; + description = "Python library for Sunricher DALI Gateway (EDA)"; + homepage = "https://github.com/maginawin/PySrDaliGateway"; + license = lib.licenses.asl20; + maintainers = [ lib.maintainers.dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/pytest-aioresponses/default.nix b/pkgs/development/python-modules/pytest-aioresponses/default.nix new file mode 100644 index 000000000000..4f0a60fa3912 --- /dev/null +++ b/pkgs/development/python-modules/pytest-aioresponses/default.nix @@ -0,0 +1,59 @@ +{ + lib, + buildPythonPackage, + fetchpatch, + fetchPypi, + poetry-core, + aioresponses, + pytest, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "pytest-aioresponses"; + version = "0.3.0"; + pyproject = true; + + # no tags on GitHub + src = fetchPypi { + pname = "pytest_aioresponses"; + inherit version; + hash = "sha256-VnezLfoaNpCLNHUktYZ6qzWsHFzh1JcCRNb2YAm8p7Y="; + }; + + patches = [ + # https://github.com/pheanex/pytest-aioresponses/pull/5 + (fetchpatch { + name = "use-poetry-core.patch"; + url = "https://github.com/pheanex/pytest-aioresponses/commit/05595c1b73a9d9b01179bd434fb7cc57230c9251.patch"; + hash = "sha256-CejYyzAYwsueI0k9O4fcTGC0O8dz0vgE057IrvC5YRo="; + }) + ]; + + build-system = [ poetry-core ]; + + dependencies = [ + aioresponses + ]; + + buildInputs = [ + pytest + ]; + + pythonImportsCheck = [ "pytest_aioresponses" ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + # test_pytest_aioresponses.py isn't distributed on PyPI + doCheck = false; + + meta = { + changelog = "https://github.com/pheanex/pytest-aioresponses/blob/main/Changelog"; + description = "Py.test integration for aioresponses"; + homepage = "https://github.com/pheanex/pytest-aioresponses"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/python-bsblan/default.nix b/pkgs/development/python-modules/python-bsblan/default.nix index fc09767f6dae..575c4be9b22a 100644 --- a/pkgs/development/python-modules/python-bsblan/default.nix +++ b/pkgs/development/python-modules/python-bsblan/default.nix @@ -19,14 +19,14 @@ buildPythonPackage rec { pname = "python-bsblan"; - version = "2.2.5"; + version = "3.1.0"; pyproject = true; src = fetchFromGitHub { owner = "liudger"; repo = "python-bsblan"; tag = "v${version}"; - hash = "sha256-kPkKgjze3ohaIaDax3h66JWw5tY+3S0N+lPqXSFFcRY="; + hash = "sha256-OIaUfrQMdFvDnONjpLRigzbHw6ZS3MA05BGatv63td4="; }; postPatch = '' diff --git a/pkgs/development/python-modules/python-citybikes/default.nix b/pkgs/development/python-modules/python-citybikes/default.nix new file mode 100644 index 000000000000..dcba98e7295f --- /dev/null +++ b/pkgs/development/python-modules/python-citybikes/default.nix @@ -0,0 +1,50 @@ +{ + aiohttp, + buildPythonPackage, + fetchFromGitHub, + lib, + pytest-aiohttp, + pytest-asyncio, + pytestCheckHook, + requests, + responses, + setuptools, +}: + +buildPythonPackage rec { + pname = "python-citybikes"; + version = "0.3.3"; + pyproject = true; + + src = fetchFromGitHub { + owner = "eskerda"; + repo = "python-citybikes"; + tag = version; + hash = "sha256-it/QCUwNc6g88IrtMTS8wr/t4Apb2ovSheufOnu4fCM="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + aiohttp + requests + ]; + + pythonImportsCheck = [ "citybikes" ]; + + nativeCheckInputs = [ + pytest-aiohttp + pytest-asyncio + pytestCheckHook + responses + ]; + + meta = { + description = "Client interface for the Citybikes API"; + homepage = "https://github.com/eskerda/python-citybikes"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/python-roborock/default.nix b/pkgs/development/python-modules/python-roborock/default.nix index fd7e9c688a4c..075331cdd475 100644 --- a/pkgs/development/python-modules/python-roborock/default.nix +++ b/pkgs/development/python-modules/python-roborock/default.nix @@ -7,70 +7,45 @@ buildPythonPackage, click, construct, - dacite, fetchFromGitHub, - fetchpatch, freezegun, + hatchling, paho-mqtt, - poetry-core, pycryptodome, pycryptodomex, pyrate-limiter, pytest-asyncio, pytestCheckHook, - pythonOlder, vacuum-map-parser-roborock, - pyshark, - pyyaml, click-shell, syrupy, }: buildPythonPackage rec { pname = "python-roborock"; - version = "2.50.2"; + version = "3.7.0"; pyproject = true; - disabled = pythonOlder "3.11"; - src = fetchFromGitHub { owner = "Python-roborock"; repo = "python-roborock"; tag = "v${version}"; - hash = "sha256-66kSNkivq6BHnqIqx1INtdoysBJfCqV76yIAJiHmfxQ="; + hash = "sha256-KgrpfcGaq84VWlcGvKMjJfz4bEkC9l1waj1ZucQa7DA="; }; - patches = [ - # https://github.com/Python-roborock/python-roborock/pull/527 - (fetchpatch { - name = "replace async-timeout with asyncio.timeout.patch"; - url = "https://github.com/Python-roborock/python-roborock/commit/f376027f5933e163441cf1815b820056731a3632.patch"; - excludes = [ "poetry.lock" ]; - hash = "sha256-53xsQ3yxh9CilC9hNS31rDXZVFG+mMhe7ffOb4L6bUE="; - }) - ]; - - postPatch = '' - substituteInPlace pyproject.toml \ - --replace-fail "poetry-core==1.8.0" "poetry-core" - ''; - pythonRelaxDeps = [ "pycryptodome" ]; - build-system = [ poetry-core ]; + build-system = [ hatchling ]; dependencies = [ aiohttp aiomqtt click construct - dacite paho-mqtt pycryptodome pyrate-limiter vacuum-map-parser-roborock - pyyaml - pyshark click-shell ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ pycryptodomex ]; @@ -85,12 +60,12 @@ buildPythonPackage rec { pythonImportsCheck = [ "roborock" ]; - meta = with lib; { + meta = { description = "Python library & console tool for controlling Roborock vacuum"; homepage = "https://github.com/Python-roborock/python-roborock"; changelog = "https://github.com/Python-roborock/python-roborock/blob/${src.tag}/CHANGELOG.md"; - license = licenses.gpl3Only; - maintainers = with maintainers; [ fab ]; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ fab ]; mainProgram = "roborock"; }; } diff --git a/pkgs/development/python-modules/pytraccar/default.nix b/pkgs/development/python-modules/pytraccar/default.nix index 47c3a7233882..0a6c9873dc10 100644 --- a/pkgs/development/python-modules/pytraccar/default.nix +++ b/pkgs/development/python-modules/pytraccar/default.nix @@ -6,7 +6,6 @@ poetry-core, pytestCheckHook, pytest-asyncio, - pythonOlder, }: buildPythonPackage rec { @@ -14,8 +13,6 @@ buildPythonPackage rec { version = "3.0.0"; pyproject = true; - disabled = pythonOlder "3.11"; - src = fetchFromGitHub { owner = "ludeeus"; repo = "pytraccar"; @@ -23,12 +20,9 @@ buildPythonPackage rec { hash = "sha256-DtxZCvLuvQpbu/1lIXz2BVbACt5Q1N2txVMyqwd4d9A="; }; - nativeBuildInputs = [ poetry-core ]; + build-system = [ poetry-core ]; - propagatedBuildInputs = [ aiohttp ]; - - # https://github.com/ludeeus/pytraccar/issues/31 - doCheck = lib.versionOlder aiohttp.version "3.9.0"; + dependencies = [ aiohttp ]; nativeCheckInputs = [ pytestCheckHook diff --git a/pkgs/development/python-modules/pyvesync/default.nix b/pkgs/development/python-modules/pyvesync/default.nix index a51d9d831cf8..540d2ef158e3 100644 --- a/pkgs/development/python-modules/pyvesync/default.nix +++ b/pkgs/development/python-modules/pyvesync/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "pyvesync"; - version = "3.1.2"; + version = "3.1.4"; pyproject = true; src = fetchFromGitHub { owner = "webdjoe"; repo = "pyvesync"; tag = version; - hash = "sha256-SZ1ZL79f1FHTnNEU9oew8JcWA20NphIX4fXr3NS7THU="; + hash = "sha256-l+b53B8Bdd/WnM2Oe9srST2T2KXaQfXtfc5+BwNte90="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/renault-api/default.nix b/pkgs/development/python-modules/renault-api/default.nix index 3326317152b9..1aa56d1a50bf 100644 --- a/pkgs/development/python-modules/renault-api/default.nix +++ b/pkgs/development/python-modules/renault-api/default.nix @@ -20,7 +20,7 @@ buildPythonPackage rec { pname = "renault-api"; - version = "0.4.1"; + version = "0.5.0"; pyproject = true; disabled = pythonOlder "3.8"; @@ -29,7 +29,7 @@ buildPythonPackage rec { owner = "hacf-fr"; repo = "renault-api"; tag = "v${version}"; - hash = "sha256-jnmfCYFtlfnFRMrNHfoiXgL8bael7IKmhuZCj+AOuz8="; + hash = "sha256-0fV7nPerG2b37KmLaDlsBnmZSHBItQbx++nxobvLCRg="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/sentence-stream/default.nix b/pkgs/development/python-modules/sentence-stream/default.nix index 76d9d6bd2e49..0695dd4d9e6f 100644 --- a/pkgs/development/python-modules/sentence-stream/default.nix +++ b/pkgs/development/python-modules/sentence-stream/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "sentence-stream"; - version = "1.2.0"; + version = "1.2.1"; pyproject = true; src = fetchFromGitHub { owner = "OHF-Voice"; repo = "sentence-stream"; tag = "v${version}"; - hash = "sha256-xGxgGOl8PM5Nc7ApeiRKdaKeoxsc/a7oBF+Ld+vtYDo="; + hash = "sha256-KCKOiY2x+gj02PR0ps2e5Ei6o17tk5ujgCTr3/fkV0Y="; }; build-system = [ @@ -28,10 +28,6 @@ buildPythonPackage rec { regex ]; - pythonRelaxDeps = [ - "regex" - ]; - nativeCheckInputs = [ pytest-asyncio pytestCheckHook @@ -42,7 +38,7 @@ buildPythonPackage rec { ]; meta = { - description = "A small sentence splitter for text streams"; + description = "Small sentence splitter for text streams"; homepage = "https://github.com/OHF-Voice/sentence-stream"; changelog = "https://github.com/OHF-Voice/sentence-stream/blob/${src.tag}/CHANGELOG.md"; license = lib.licenses.asl20; diff --git a/pkgs/development/python-modules/solaredge-web/default.nix b/pkgs/development/python-modules/solaredge-web/default.nix new file mode 100644 index 000000000000..32be69fb465a --- /dev/null +++ b/pkgs/development/python-modules/solaredge-web/default.nix @@ -0,0 +1,41 @@ +{ + aiohttp, + buildPythonPackage, + fetchFromGitHub, + lib, + pytestCheckHook, + setuptools, +}: + +buildPythonPackage rec { + pname = "solaredge-web"; + version = "0.0.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "Solarlibs"; + repo = "solaredge-web"; + tag = "v${version}"; + hash = "sha256-Vf/f5NDmjsKY8F5//8uAk+dJEaku94yjNaD2XyX7Vuk="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + aiohttp + ]; + + pythonImportsCheck = [ "solaredge_web" ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + meta = { + changelog = "https://github.com/Solarlibs/solaredge-web/releases/tag/${src.tag}"; + description = "Library for fetching SolarEdge energy data for each inverter/string/module via the web API"; + homepage = "https://github.com/Solarlibs/solaredge-web"; + license = lib.licenses.asl20; + maintainers = [ lib.maintainers.dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/tinytuya/default.nix b/pkgs/development/python-modules/tinytuya/default.nix index d666ea8b71e9..32e7e4b6ede1 100644 --- a/pkgs/development/python-modules/tinytuya/default.nix +++ b/pkgs/development/python-modules/tinytuya/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "tinytuya"; - version = "1.17.2"; + version = "1.17.4"; pyproject = true; disabled = pythonOlder "3.10"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "jasonacox"; repo = "tinytuya"; tag = "v${version}"; - hash = "sha256-x6ZfpT3ucby95uthHX4KLLZNLWxyh6+ERDd5jb7p09g="; + hash = "sha256-ojwopholSQPND246PJMmEFSdzyXEZjAIgzpIRfS3VBw="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/zha-quirks/default.nix b/pkgs/development/python-modules/zha-quirks/default.nix index 51bc73a53586..f4a8808bc500 100644 --- a/pkgs/development/python-modules/zha-quirks/default.nix +++ b/pkgs/development/python-modules/zha-quirks/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "zha-quirks"; - version = "0.0.146"; + version = "0.0.148"; pyproject = true; disabled = pythonOlder "3.12"; @@ -22,7 +22,7 @@ buildPythonPackage rec { owner = "zigpy"; repo = "zha-device-handlers"; tag = version; - hash = "sha256-eXT0intSWAYQ/DlIEIZDbv805aQCLXYXpvhWjnd3EVA="; + hash = "sha256-A2+pBLPexQLMDE/feQ7mQ1bbzGBAXs/5GktOVn2D2JM="; }; postPatch = '' diff --git a/pkgs/development/python-modules/zha/default.nix b/pkgs/development/python-modules/zha/default.nix index 9f81fac849cd..23a02f7dab2c 100644 --- a/pkgs/development/python-modules/zha/default.nix +++ b/pkgs/development/python-modules/zha/default.nix @@ -22,7 +22,7 @@ buildPythonPackage rec { pname = "zha"; - version = "0.0.73"; + version = "0.0.77"; pyproject = true; disabled = pythonOlder "3.12"; @@ -31,7 +31,7 @@ buildPythonPackage rec { owner = "zigpy"; repo = "zha"; tag = version; - hash = "sha256-ryriM4bVML81xJQYlL46rhlsc/WQh0T5LC+WB28T6AU="; + hash = "sha256-OtwfSt9KUs4oOCwnKygq/hDOXOhzhT3+KxxY/M9KAdU="; }; postPatch = '' diff --git a/pkgs/development/python-modules/zigpy-deconz/default.nix b/pkgs/development/python-modules/zigpy-deconz/default.nix index e340705e0280..17adcdbee8a1 100644 --- a/pkgs/development/python-modules/zigpy-deconz/default.nix +++ b/pkgs/development/python-modules/zigpy-deconz/default.nix @@ -2,24 +2,23 @@ lib, buildPythonPackage, fetchFromGitHub, - pyserial, - pyserial-asyncio, pytest-asyncio, pytestCheckHook, setuptools, + voluptuous, zigpy, }: buildPythonPackage rec { pname = "zigpy-deconz"; - version = "0.25.2"; + version = "0.25.5"; pyproject = true; src = fetchFromGitHub { owner = "zigpy"; repo = "zigpy-deconz"; tag = version; - hash = "sha256-9wsdL2mtT6Q6+4Z6f+Aoae7d0x7EDqkZ5n2O3Ml4PbA="; + hash = "sha256-kwQF6RY6Fxba44wa3q4Hx4MRAbWl3Ho7WYvR7jRfrW8="; }; postPatch = '' @@ -28,11 +27,10 @@ buildPythonPackage rec { --replace-fail 'dynamic = ["version"]' 'version = "${version}"' ''; - nativeBuildInputs = [ setuptools ]; + build-system = [ setuptools ]; - propagatedBuildInputs = [ - pyserial - pyserial-asyncio + dependencies = [ + voluptuous zigpy ]; diff --git a/pkgs/development/python-modules/zigpy-xbee/default.nix b/pkgs/development/python-modules/zigpy-xbee/default.nix index 409a9fa1bd11..a144dbc63a97 100644 --- a/pkgs/development/python-modules/zigpy-xbee/default.nix +++ b/pkgs/development/python-modules/zigpy-xbee/default.nix @@ -2,40 +2,33 @@ lib, buildPythonPackage, fetchFromGitHub, - pyserial, - pyserial-asyncio, pytest-asyncio, pytestCheckHook, - pythonOlder, setuptools, zigpy, }: buildPythonPackage rec { pname = "zigpy-xbee"; - version = "0.21.0"; + version = "0.21.1"; pyproject = true; - disabled = pythonOlder "3.8"; - src = fetchFromGitHub { owner = "zigpy"; repo = "zigpy-xbee"; tag = version; - hash = "sha256-Ep7pP2vcH9YpSrGPVDi3nc+WkQgBVS+NLmoQU0o0aQQ="; + hash = "sha256-ALwhl9WUDkv0POufF/G/rZrn+ITbMdh6y86lShy6ZTg="; }; postPatch = '' substituteInPlace pyproject.toml \ - --replace ', "setuptools-git-versioning<2"' "" \ - --replace 'dynamic = ["version"]' 'version = "${version}"' + --replace-fail ', "setuptools-git-versioning<2"' "" \ + --replace-fail 'dynamic = ["version"]' 'version = "${version}"' ''; - nativeBuildInputs = [ setuptools ]; + build-system = [ setuptools ]; - propagatedBuildInputs = [ - pyserial - pyserial-asyncio + dependencies = [ zigpy ]; @@ -44,11 +37,6 @@ buildPythonPackage rec { pytestCheckHook ]; - disabledTests = [ - # fixed in https://github.com/zigpy/zigpy-xbee/commit/f85233fc28ae01c08267965e99a29e43b00e1561 - "test_shutdown" - ]; - meta = with lib; { changelog = "https://github.com/zigpy/zigpy-xbee/releases/tag/${version}"; description = "Library which communicates with XBee radios for zigpy"; diff --git a/pkgs/development/python-modules/zigpy-zboss/default.nix b/pkgs/development/python-modules/zigpy-zboss/default.nix index 0a7684367172..0bb39d5ccc2e 100644 --- a/pkgs/development/python-modules/zigpy-zboss/default.nix +++ b/pkgs/development/python-modules/zigpy-zboss/default.nix @@ -33,6 +33,12 @@ buildPythonPackage rec { excludes = [ "setup.cfg" ]; hash = "sha256-aC0+FbbtuHDW3ApJDnTG3TUeNWhzecEYVuiSOik03uU="; }) + (fetchpatch { + # https://github.com/kardia-as/zigpy-zboss/pull/67 + name = "replace-pyserial-asyncio-with-pyserial-asyncio-fast.patch"; + url = "https://github.com/kardia-as/zigpy-zboss/commit/d44ceb537dc16ce020f8c60a0ff35e88672f3455.patch"; + hash = "sha256-aXWRtBLDr9NLIMNK/xtsYuy/hEB2zHU3YYcRKbguTTo="; + }) ]; pythonRemoveDeps = [ "async_timeout" ]; diff --git a/pkgs/development/python-modules/zigpy-zigate/default.nix b/pkgs/development/python-modules/zigpy-zigate/default.nix index 1d44c28c4976..2651f7a1bc86 100644 --- a/pkgs/development/python-modules/zigpy-zigate/default.nix +++ b/pkgs/development/python-modules/zigpy-zigate/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "zigpy-zigate"; - version = "0.13.3"; + version = "0.13.4"; pyproject = true; src = fetchFromGitHub { owner = "zigpy"; repo = "zigpy-zigate"; tag = version; - hash = "sha256-reOt0bPPkKDKeu8CESJtLDEmpkOmgopXk65BqBlBIhY="; + hash = "sha256-pVDqb2/7Pe9zvhNNTVQfl5EphEjOPdJwvCIoTdZm7S0="; }; postPatch = '' @@ -46,11 +46,6 @@ buildPythonPackage rec { pythonImportsCheck = [ "zigpy_zigate" ]; - disabledTestPaths = [ - # Fails in sandbox - "tests/test_application.py " - ]; - meta = with lib; { description = "Library which communicates with ZiGate radios for zigpy"; homepage = "https://github.com/zigpy/zigpy-zigate"; diff --git a/pkgs/development/python-modules/zigpy-znp/default.nix b/pkgs/development/python-modules/zigpy-znp/default.nix index 7efb2dbcdce9..cbc45c200bab 100644 --- a/pkgs/development/python-modules/zigpy-znp/default.nix +++ b/pkgs/development/python-modules/zigpy-znp/default.nix @@ -19,14 +19,14 @@ buildPythonPackage rec { pname = "zigpy-znp"; - version = "0.14.1"; + version = "0.14.2"; pyproject = true; src = fetchFromGitHub { owner = "zigpy"; repo = "zigpy-znp"; tag = "v${version}"; - hash = "sha256-V662zDUBMbr+cARxrwt8196Ml4zlGEAudR3BtvY96HM="; + hash = "sha256-B4AyCLuhKUdQ0nzwFy5xWXpzR31R50lcC5EJMIJfDKE="; }; postPatch = '' diff --git a/pkgs/development/python-modules/zigpy/default.nix b/pkgs/development/python-modules/zigpy/default.nix index 6cbe00e62e68..c82046c81f4e 100644 --- a/pkgs/development/python-modules/zigpy/default.nix +++ b/pkgs/development/python-modules/zigpy/default.nix @@ -13,7 +13,7 @@ freezegun, frozendict, jsonschema, - pyserial-asyncio, + pyserial-asyncio-fast, pytest-asyncio_0, pytest-timeout, pytestCheckHook, @@ -25,14 +25,14 @@ buildPythonPackage rec { pname = "zigpy"; - version = "0.83.0"; + version = "0.86.0"; pyproject = true; src = fetchFromGitHub { owner = "zigpy"; repo = "zigpy"; tag = version; - hash = "sha256-rgri4aga8qTlcURypCHY1YjClz5lpQpwxd3cAG2VoOo="; + hash = "sha256-PROJKC8ZxAZ8zZR4if33553qtp7i9y58LPr1d1gCXVQ="; }; postPatch = '' @@ -51,7 +51,7 @@ buildPythonPackage rec { cryptography frozendict jsonschema - pyserial-asyncio + pyserial-asyncio-fast typing-extensions voluptuous ] diff --git a/pkgs/os-specific/linux/kernel/hardened/patches.json b/pkgs/os-specific/linux/kernel/hardened/patches.json index c8661d3a0fb0..cc9aa8113806 100644 --- a/pkgs/os-specific/linux/kernel/hardened/patches.json +++ b/pkgs/os-specific/linux/kernel/hardened/patches.json @@ -2,11 +2,11 @@ "6.12": { "patch": { "extra": "-hardened1", - "name": "linux-hardened-v6.12.50-hardened1.patch", - "sha256": "0bzq364d6i7wis9sdljjkzmbvjnv45hmyqikmxagps2rdh57916p", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/v6.12.50-hardened1/linux-hardened-v6.12.50-hardened1.patch" + "name": "linux-hardened-v6.12.56-hardened1.patch", + "sha256": "1s6z7ypkrvd0da5k8wjyidbsi33mgsrj7813nsblrfcs50f65wi4", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/v6.12.56-hardened1/linux-hardened-v6.12.56-hardened1.patch" }, - "sha256": "19bjzhxasj4r6m1lhsa486a96axfigbm06kqa2lwa7y2s5sbsdf4", - "version": "6.12.50" + "sha256": "15pclwn3nbwccdfwcqd3lkmdxwpjkmadhj63acqbzxsjycm2nhsm", + "version": "6.12.56" } } diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index d8b05c3a638c..cb2af1696bc5 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -2,7 +2,7 @@ # Do not edit! { - version = "2025.10.4"; + version = "2025.11.0"; components = { "3_day_blinds" = ps: with ps; [ @@ -56,6 +56,10 @@ "actiontec" = ps: with ps; [ ]; + "actron_air" = + ps: with ps; [ + actron-neo-api + ]; "adax" = ps: with ps; [ adax @@ -907,6 +911,7 @@ ]; "citybikes" = ps: with ps; [ + python-citybikes ]; "clementine" = ps: with ps; [ @@ -1463,6 +1468,7 @@ "elevenlabs" = ps: with ps; [ elevenlabs + sentence-stream ]; "elgato" = ps: with ps; [ @@ -1542,9 +1548,6 @@ ps: with ps; [ openwebifpy ]; - "enmax" = - ps: with ps; [ - ]; "enocean" = ps: with ps; [ enocean @@ -1758,6 +1761,9 @@ psutil-home-assistant sqlalchemy ]; + "fing" = + ps: with ps; [ + ]; # missing inputs: fing_agent_api "fints" = ps: with ps; [ fints @@ -1765,6 +1771,10 @@ "fire_tv" = ps: with ps; [ ]; + "firefly_iii" = + ps: with ps; [ + pyfirefly + ]; "fireservicerota" = ps: with ps; [ pyfireservicerota @@ -2375,14 +2385,18 @@ "homeassistant_green" = ps: with ps; [ aiohasupervisor + aiousbwatcher ha-silabs-firmware-client psutil-home-assistant + pyserial universal-silabs-flasher ]; "homeassistant_hardware" = ps: with ps; [ aiohasupervisor + aiousbwatcher ha-silabs-firmware-client + pyserial universal-silabs-flasher ]; "homeassistant_sky_connect" = @@ -2397,8 +2411,10 @@ "homeassistant_yellow" = ps: with ps; [ aiohasupervisor + aiousbwatcher ha-silabs-firmware-client psutil-home-assistant + pyserial universal-silabs-flasher ]; "homee" = @@ -2709,6 +2725,11 @@ "indianamichiganpower" = ps: with ps; [ ]; + "inels" = + ps: with ps; [ + aiohasupervisor + paho-mqtt + ]; # missing inputs: elkoep-aio-mqtt "influxdb" = ps: with ps; [ influxdb @@ -3426,6 +3447,10 @@ ps: with ps; [ luftdaten ]; + "lunatone" = + ps: with ps; [ + lunatone-rest-api-client + ]; "lupusec" = ps: with ps; [ lupupy @@ -3620,6 +3645,10 @@ ps: with ps; [ meteofrance-api ]; + "meteo_lt" = + ps: with ps; [ + meteo-lt-pkg + ]; "meteoalarm" = ps: with ps; [ meteoalertapi @@ -4052,6 +4081,10 @@ ps: with ps; [ pynina ]; + "nintendo_parental_controls" = + ps: with ps; [ + pynintendoparental + ]; "nissan_leaf" = ps: with ps; [ pycarwings2 @@ -4223,7 +4256,7 @@ ]; "onewire" = ps: with ps; [ - pyownet + aio-ownet ]; "onkyo" = ps: with ps; [ @@ -4287,6 +4320,10 @@ ps: with ps; [ openhomedevice ]; + "openrgb" = + ps: with ps; [ + openrgb-python + ]; "opensensemap" = ps: with ps; [ opensensemap-api @@ -4582,7 +4619,6 @@ ]; "plum_lightpad" = ps: with ps; [ - plumlightpad ]; "pocketcasts" = ps: with ps; [ @@ -5632,6 +5668,10 @@ "solaredge" = ps: with ps; [ aiosolaredge + fnv-hash-fast + psutil-home-assistant + solaredge-web + sqlalchemy stringcase ]; "solaredge_local" = @@ -5798,6 +5838,10 @@ "sun" = ps: with ps; [ ]; + "sunricher_dali" = + ps: with ps; [ + pysrdaligateway + ]; "sunweg" = ps: with ps; [ ]; @@ -6583,10 +6627,6 @@ "volvooncall" = ps: with ps; [ ]; - "vultr" = - ps: with ps; [ - vultr - ]; "w800rf32" = ps: with ps; [ pyw800rf32 @@ -6617,10 +6657,6 @@ ps: with ps; [ watergate-local-api ]; - "watson_iot" = - ps: with ps; [ - ibmiotf - ]; "watttime" = ps: with ps; [ aiowatttime @@ -7007,6 +7043,7 @@ "acaia" "accuweather" "acmeda" + "actron_air" "adax" "adguard" "advantage_air" @@ -7246,6 +7283,7 @@ "filesize" "filter" "fints" + "firefly_iii" "fireservicerota" "firmata" "fitbit" @@ -7475,6 +7513,7 @@ "loqed" "lovelace" "luftdaten" + "lunatone" "lupusec" "lutron" "lutron_caseta" @@ -7504,6 +7543,7 @@ "met" "met_eireann" "meteo_france" + "meteo_lt" "meteoclimatic" "metoffice" "mfi" @@ -7573,6 +7613,7 @@ "nightscout" "niko_home_control" "nina" + "nintendo_parental_controls" "nmap_tracker" "nmbs" "no_ip" @@ -7614,6 +7655,7 @@ "opengarage" "openhardwaremonitor" "openhome" + "openrgb" "opensky" "opentherm_gw" "openuv" @@ -7831,6 +7873,7 @@ "subaru" "suez_water" "sun" + "sunricher_dali" "sunweg" "surepetcare" "swiss_public_transport" @@ -7950,7 +7993,6 @@ "volumio" "volvo" "volvooncall" - "vultr" "wake_on_lan" "wake_word" "wallbox" diff --git a/pkgs/servers/home-assistant/custom-components/daikin_onecta/package.nix b/pkgs/servers/home-assistant/custom-components/daikin_onecta/package.nix index 6f0f97508687..7698754f5ac2 100644 --- a/pkgs/servers/home-assistant/custom-components/daikin_onecta/package.nix +++ b/pkgs/servers/home-assistant/custom-components/daikin_onecta/package.nix @@ -7,13 +7,13 @@ buildHomeAssistantComponent rec { owner = "jwillemsen"; domain = "daikin_onecta"; - version = "4.2.8"; + version = "4.2.9"; src = fetchFromGitHub { owner = "jwillemsen"; repo = "daikin_onecta"; tag = "v${version}"; - hash = "sha256-ozOJQDoE/t2FhnsVCnP+WCrFr/l19+onr488JN2fSE0="; + hash = "sha256-bV+4nTRhtqSVBdaG3rCtIdTYhM4pqcQCtUQwsUhgcq0="; }; meta = { diff --git a/pkgs/servers/home-assistant/custom-components/elegoo_printer/package.nix b/pkgs/servers/home-assistant/custom-components/elegoo_printer/package.nix index 61489addccf4..cd074d391502 100644 --- a/pkgs/servers/home-assistant/custom-components/elegoo_printer/package.nix +++ b/pkgs/servers/home-assistant/custom-components/elegoo_printer/package.nix @@ -4,6 +4,7 @@ buildHomeAssistantComponent, # dependencies + aiomqtt, colorlog, loguru, websocket-client, @@ -18,16 +19,17 @@ buildHomeAssistantComponent rec { owner = "danielcherubini"; domain = "elegoo_printer"; - version = "2.3.5"; + version = "2.4.2"; src = fetchFromGitHub { owner = "danielcherubini"; repo = "elegoo-homeassistant"; tag = "v${version}"; - hash = "sha256-Ekt19lfn0DdedMFhJDDUkqsv7vjS96+lAhWveag6EeE="; + hash = "sha256-z55599eTJy5oQeE+BD0AYXtLTKoeKZzvNDurE0/oPYQ="; }; dependencies = [ + aiomqtt colorlog loguru websocket-client diff --git a/pkgs/servers/home-assistant/custom-components/frigate/package.nix b/pkgs/servers/home-assistant/custom-components/frigate/package.nix index 4dba06a69378..9025606067e0 100644 --- a/pkgs/servers/home-assistant/custom-components/frigate/package.nix +++ b/pkgs/servers/home-assistant/custom-components/frigate/package.nix @@ -18,13 +18,13 @@ buildHomeAssistantComponent rec { owner = "blakeblackshear"; domain = "frigate"; - version = "5.10.0"; + version = "5.11.0"; src = fetchFromGitHub { owner = "blakeblackshear"; repo = "frigate-hass-integration"; tag = "v${version}"; - hash = "sha256-rhYShAb251LfcrBjarcle041AWVSEi0wqc9/W1SlgUo="; + hash = "sha256-cXjf5e4gbkvRS43xnpmL1lSaSvhts4eMetEqTP/RCOo="; }; dependencies = [ hass-web-proxy-lib ]; diff --git a/pkgs/servers/home-assistant/custom-components/frigidaire/package.nix b/pkgs/servers/home-assistant/custom-components/frigidaire/package.nix index aa1d8c201d45..36639b8bdd23 100644 --- a/pkgs/servers/home-assistant/custom-components/frigidaire/package.nix +++ b/pkgs/servers/home-assistant/custom-components/frigidaire/package.nix @@ -7,13 +7,13 @@ buildHomeAssistantComponent rec { owner = "bm1549"; domain = "frigidaire"; - version = "0.1.2"; + version = "0.1.5"; src = fetchFromGitHub { inherit owner; repo = "home-assistant-frigidaire"; tag = version; - hash = "sha256-7SyOsB16P0O0RHEUXy79cqil+QFO2PilyWWlpv428g0="; + hash = "sha256-b8/szaZGiM1/LZFJK0gi6oStCzXcH1BN5FqjRJBY7cA="; }; dependencies = [ frigidaire ]; diff --git a/pkgs/servers/home-assistant/custom-components/garmin_connect/package.nix b/pkgs/servers/home-assistant/custom-components/garmin_connect/package.nix index 6bcc8c0e76f1..df8f306173e5 100644 --- a/pkgs/servers/home-assistant/custom-components/garmin_connect/package.nix +++ b/pkgs/servers/home-assistant/custom-components/garmin_connect/package.nix @@ -9,13 +9,13 @@ buildHomeAssistantComponent rec { owner = "cyberjunky"; domain = "garmin_connect"; - version = "0.2.30"; + version = "0.2.37"; src = fetchFromGitHub { owner = "cyberjunky"; repo = "home-assistant-garmin_connect"; tag = version; - hash = "sha256-Gxz0mKVgs2o7IlhGJkz4JlKRb448IRFqK87Kn+Gebkk="; + hash = "sha256-d6RbDplrdqvFGSDcTgoYzYLSHDYdXG3/XvFxj8IfSbY="; }; dependencies = [ @@ -24,6 +24,7 @@ buildHomeAssistantComponent rec { ]; meta = with lib; { + changelog = "https://github.com/cyberjunky/home-assistant-garmin_connect/releases/tag/${src.tag}"; description = "Garmin Connect integration allows you to expose data from Garmin Connect to Home Assistant"; homepage = "https://github.com/cyberjunky/home-assistant-garmin_connect"; maintainers = with maintainers; [ diff --git a/pkgs/servers/home-assistant/custom-components/home_connect_alt/package.nix b/pkgs/servers/home-assistant/custom-components/home_connect_alt/package.nix index 437966685e95..ad47b44e5655 100644 --- a/pkgs/servers/home-assistant/custom-components/home_connect_alt/package.nix +++ b/pkgs/servers/home-assistant/custom-components/home_connect_alt/package.nix @@ -8,18 +8,19 @@ buildHomeAssistantComponent rec { owner = "ekutner"; domain = "home_connect_alt"; - version = "1.3.0-b1"; + version = "1.3.2"; src = fetchFromGitHub { owner = "ekutner"; repo = "home-connect-hass"; tag = version; - hash = "sha256-jWrVHwMdzjG0gHWl1NS6WAzdmlmS20BUmh6HzplsGgw="; + hash = "sha256-t5Af58HgYVMZki/93t63X2JPXDJm7PPt84yGj7MJKkE="; }; dependencies = [ home-connect-async ]; meta = with lib; { + changelog = "https://github.com/ekutner/home-connect-hass/releases/tag/${src.tag}"; description = "Alternative (and improved) Home Connect integration for Home Assistant"; homepage = "https://github.com/ekutner/home-connect-hass"; maintainers = with maintainers; [ kranzes ]; diff --git a/pkgs/servers/home-assistant/custom-components/midea_ac_lan/package.nix b/pkgs/servers/home-assistant/custom-components/midea_ac_lan/package.nix index d2fa3dc53326..c8ba6fe59fef 100644 --- a/pkgs/servers/home-assistant/custom-components/midea_ac_lan/package.nix +++ b/pkgs/servers/home-assistant/custom-components/midea_ac_lan/package.nix @@ -8,13 +8,13 @@ buildHomeAssistantComponent rec { owner = "wuwentao"; domain = "midea_ac_lan"; - version = "0.6.9"; + version = "0.6.10"; src = fetchFromGitHub { inherit owner; repo = domain; tag = "v${version}"; - hash = "sha256-pPPJFs4earRbh6ovR57k9xgZtrYN0L26eupOoFuBVz8="; + hash = "sha256-xpa5xxqVEWxO4xa7ppFig09nDGfOoXpS9DDmjGU/zbc="; }; dependencies = [ midea-local ]; diff --git a/pkgs/servers/home-assistant/custom-components/sleep_as_android/package.nix b/pkgs/servers/home-assistant/custom-components/sleep_as_android_mqtt/package.nix similarity index 83% rename from pkgs/servers/home-assistant/custom-components/sleep_as_android/package.nix rename to pkgs/servers/home-assistant/custom-components/sleep_as_android_mqtt/package.nix index 373923e17a3d..f461f86da1ee 100644 --- a/pkgs/servers/home-assistant/custom-components/sleep_as_android/package.nix +++ b/pkgs/servers/home-assistant/custom-components/sleep_as_android_mqtt/package.nix @@ -11,20 +11,26 @@ paho-mqtt, }: let - version = "2.3.2"; + version = "3.0.2"; in buildHomeAssistantComponent { owner = "IATkachenko"; - domain = "sleep_as_android"; + domain = "sleep_as_android_mqtt"; inherit version; src = fetchFromGitHub { owner = "IATkachenko"; repo = "HA-SleepAsAndroid"; tag = "v${version}"; - hash = "sha256-aJKjHZcRdmiXJdtWRY4fv5oxCHTDIVpvZEwhIE9ISv8="; + hash = "sha256-vJAi63RMF7jdmLUZNmnSqNxbiJi52/PgmTQm0KB3ZP8="; }; + postPatch = '' + # Fix incomplete rename of package name + substituteInPlace tests/unit/test_instance.py \ + --replace-fail "sleep_as_android." "sleep_as_android_mqtt." + ''; + dependencies = [ pyhaversion ]; diff --git a/pkgs/servers/home-assistant/custom-components/sun2/package.nix b/pkgs/servers/home-assistant/custom-components/sun2/package.nix index e5d8b685b0ad..a937e624407c 100644 --- a/pkgs/servers/home-assistant/custom-components/sun2/package.nix +++ b/pkgs/servers/home-assistant/custom-components/sun2/package.nix @@ -7,13 +7,13 @@ buildHomeAssistantComponent rec { owner = "pnbruckner"; domain = "sun2"; - version = "3.4.2"; + version = "3.4.3"; src = fetchFromGitHub { inherit owner; repo = "ha-sun2"; tag = version; - hash = "sha256-gorjykAEQGglH7nyAHMZDeSEERPuZINHTN3IiH3RKsQ="; + hash = "sha256-UATxuKTusDkKLWwJq2CupPcF/TIKAmE5VPo3054cwKc="; }; meta = rec { diff --git a/pkgs/servers/home-assistant/custom-components/tuya_local/package.nix b/pkgs/servers/home-assistant/custom-components/tuya_local/package.nix index bdc71a79fbbc..a06fb92710f8 100644 --- a/pkgs/servers/home-assistant/custom-components/tuya_local/package.nix +++ b/pkgs/servers/home-assistant/custom-components/tuya_local/package.nix @@ -11,13 +11,13 @@ buildHomeAssistantComponent rec { owner = "make-all"; domain = "tuya_local"; - version = "2025.7.1"; + version = "2025.10.1"; src = fetchFromGitHub { inherit owner; repo = "tuya-local"; tag = version; - hash = "sha256-RIvtz6f3Jj4INvL0JdL+EsFUoLoG9vQNn5iPq2nF26I="; + hash = "sha256-Sqk6FBaEDp9KdcpKzWMeF6baqk7atbCtSRKTsQogwfo="; }; dependencies = [ diff --git a/pkgs/servers/home-assistant/custom-components/xiaomi_miot/package.nix b/pkgs/servers/home-assistant/custom-components/xiaomi_miot/package.nix index 3752430c2334..1bf1381bc89e 100644 --- a/pkgs/servers/home-assistant/custom-components/xiaomi_miot/package.nix +++ b/pkgs/servers/home-assistant/custom-components/xiaomi_miot/package.nix @@ -11,13 +11,13 @@ buildHomeAssistantComponent rec { owner = "al-one"; domain = "xiaomi_miot"; - version = "1.1.0"; + version = "1.1.1"; src = fetchFromGitHub { owner = "al-one"; repo = "hass-xiaomi-miot"; rev = "v${version}"; - hash = "sha256-nTxi8bKelHbhs1ivmr+LGHLMrnlRUQYfy+ARHdeVM0Q="; + hash = "sha256-0B+rG2h2OMb363t0529/XjqZ9ORaT7XXk4qVyEAfNx8="; }; dependencies = [ diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/bubble-card/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/bubble-card/package.nix index 3b1780f31fcb..e2be1e62ee51 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/bubble-card/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/bubble-card/package.nix @@ -6,13 +6,13 @@ buildNpmPackage rec { pname = "bubble-card"; - version = "3.0.3"; + version = "3.0.4"; src = fetchFromGitHub { owner = "Clooos"; repo = "Bubble-Card"; rev = "v${version}"; - hash = "sha256-soLeHWDp72C5KzjnkdPVneJrShFVcOHvvVyLPMVpJM0="; + hash = "sha256-444QWl3i1kYkdkUrhDi+BxN9IB6JttHtX8fn23uPcBE="; }; npmDepsHash = "sha256-NSHsw/+dmdc2+yo4/NgT0YMMrCuL8JjRR6MSJ5xQTiE="; diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/clock-weather-card/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/clock-weather-card/package.nix index 226a91bcf4bc..fd34753ff48f 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/clock-weather-card/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/clock-weather-card/package.nix @@ -9,18 +9,18 @@ }: stdenvNoCC.mkDerivation rec { pname = "clock-weather-card"; - version = "2.9.0"; + version = "2.9.1"; src = fetchFromGitHub { owner = "pkissling"; repo = "clock-weather-card"; tag = "v${version}"; - hash = "sha256-cLqHVBjsSq3t7ft9Ap6kjNSgM87+ftqlF5ZfcJKAAzQ="; + hash = "sha256-5FHGFuvMYi40+6C9NDzrOsp2gIrIgtaA8qHM+oNIilg="; }; offlineCache = fetchYarnDeps { yarnLock = src + "/yarn.lock"; - hash = "sha256-zaKrvsT1Lgcyk4a9vO97j9yHkaD+5zbnsM5+GHxb4uk="; + hash = "sha256-DhOQG9+0YOOVv3Y1qnZPuR4ZQEdT9NLIcdiBnplSBvg="; }; nativeBuildInputs = [ diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/custom-sidebar/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/custom-sidebar/package.nix index e4c888ab6c60..91d365b514d5 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/custom-sidebar/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/custom-sidebar/package.nix @@ -8,19 +8,19 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "custom-sidebar"; - version = "10.5.2"; + version = "10.7.0"; src = fetchFromGitHub { owner = "elchininet"; repo = "custom-sidebar"; tag = "v${finalAttrs.version}"; - hash = "sha256-C3zjl4KP2l56Hn7MJjoB8D6KkJ3Ef6KpVZWWdDS5Hds="; + hash = "sha256-aV4dMt79t9ZZm+Z08odSONf/ghow4U+/aryk2+GJZvw="; }; pnpmDeps = pnpm.fetchDeps { inherit (finalAttrs) pname version src; fetcherVersion = 1; - hash = "sha256-FOaR+B8UammcStvNFo7PR++VCPzY+aXvWeSRXnoPkWM="; + hash = "sha256-gfjRgq75hKxgfOn0wnWIzcFcdWVe7PZ4z8YHxLTCsjo="; }; nativeBuildInputs = [ diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/swipe-navigation/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/swipe-navigation/package.nix index 0dd65f13f9e4..a9b289c51094 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/swipe-navigation/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/swipe-navigation/package.nix @@ -6,13 +6,13 @@ buildNpmPackage rec { pname = "swipe-navigation"; - version = "1.15.6"; + version = "1.15.7"; src = fetchFromGitHub { owner = "zanna-37"; repo = "hass-swipe-navigation"; tag = "v${version}"; - hash = "sha256-4DiZ52YFgyddD299rAMzBbmFNyv0SHEFK5H7kWRdWlw="; + hash = "sha256-43Vns6RcN+QhJn5vFXtmtl0jkKqyFb0wuAZJbdg3VEo="; }; npmDepsHash = "sha256-uRH3OcPK0iWru4ULZq2NwzbWNsGl8+wFP3ZxeFzr2BM="; diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/versatile-thermostat-ui-card/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/versatile-thermostat-ui-card/package.nix index 9c8aae3b318a..36a77659ef08 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/versatile-thermostat-ui-card/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/versatile-thermostat-ui-card/package.nix @@ -6,13 +6,13 @@ buildNpmPackage rec { pname = "versatile-thermostat-ui-card"; - version = "1.1.3"; + version = "1.1.4"; src = fetchFromGitHub { owner = "jmcollin78"; repo = "versatile-thermostat-ui-card"; rev = "${version}"; - hash = "sha256-yPp478uXiRWDH4DP/d0Mloie7nPY1hWLt8X1vLhysvA="; + hash = "sha256-4v1Tl3GQagQd1H+CFBG+OuRl2zfz5vvyWRy7oBSpxfM="; }; npmFlags = [ "--legacy-peer-deps" ]; diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index 575e174a89a1..51f5b443e56a 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -259,37 +259,6 @@ let doCheck = false; }); - python-telegram-bot = super.python-telegram-bot.overridePythonAttrs (oldAttrs: rec { - version = "21.5"; - - src = fetchFromGitHub { - inherit (oldAttrs.src) owner repo; - tag = version; - hash = "sha256-i1YEcN615xeI4HcygXV9kzuXpT2yDSnlNU6bZqu1dPM="; - }; - }); - - pytraccar = super.pytraccar.overridePythonAttrs (oldAttrs: rec { - version = "2.1.1"; - - src = fetchFromGitHub { - inherit (oldAttrs.src) owner repo; - tag = version; - hash = "sha256-WTRqYw66iD4bbb1aWJfBI67+DtE1FE4oiuUKpfVqypE="; - }; - }); - - # Pinned due to API changes ~1.0 - vultr = super.vultr.overridePythonAttrs (oldAttrs: rec { - version = "0.1.2"; - src = fetchFromGitHub { - owner = "spry-group"; - repo = "python-vultr"; - rev = version; - hash = "sha256-sHCZ8Csxs5rwg1ZG++hP3MfK7ldeAdqm5ta9tEXeW+I="; - }; - }); - wolf-comm = super.wolf-comm.overridePythonAttrs rec { version = "0.0.23"; src = fetchFromGitHub { @@ -330,7 +299,7 @@ let extraBuildInputs = extraPackages python.pkgs; # Don't forget to run update-component-packages.py after updating - hassVersion = "2025.10.4"; + hassVersion = "2025.11.0"; in python.pkgs.buildPythonApplication rec { @@ -351,13 +320,13 @@ python.pkgs.buildPythonApplication rec { owner = "home-assistant"; repo = "core"; tag = version; - hash = "sha256-CaS/37Pastpoeb6fXLiChVcQXNqVJMaXV04HGnNFlL0="; + hash = "sha256-+syn/y2ukZKsnCniZxodRWVcCE3AcvUKt80L2XslKKI="; }; # Secondary source is pypi sdist for translations sdist = fetchPypi { inherit pname version; - hash = "sha256-Ue1Aat8aSEXHUSIl2ji1cQaZEnVRgY7+PBHB9mQBJ6I="; + hash = "sha256-JSWr+yGvpXYc6Bw3B+xVLpYokVM11dsJZBWYy+W4bH4="; }; build-system = with python.pkgs; [ @@ -471,7 +440,6 @@ python.pkgs.buildPythonApplication rec { pytest-asyncio pytest-aiohttp pytest-freezer - pytest-mock pytest-socket pytest-timeout pytest-unordered @@ -480,11 +448,10 @@ python.pkgs.buildPythonApplication rec { requests-mock respx syrupy - tomli - # Sneakily imported in tests/conftest.py - paho-mqtt # Used in tests/non_packaged_scripts/test_alexa_locales.py beautifulsoup4 + # Used in tests/scripts/test_check_config.py + colorlog ] ++ lib.concatMap (component: getPackages component python.pkgs) [ # some components are needed even if tests in tests/components are disabled diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix index f125e084d147..b5b26971c652 100644 --- a/pkgs/servers/home-assistant/frontend.nix +++ b/pkgs/servers/home-assistant/frontend.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { # the frontend version corresponding to a specific home-assistant version can be found here # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json pname = "home-assistant-frontend"; - version = "20251001.4"; + version = "20251105.0"; format = "wheel"; src = fetchPypi { @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "home_assistant_frontend"; dist = "py3"; python = "py3"; - hash = "sha256-yrGIgx8VgCi4G+xWFjy37lI4i1ohPV1bttJfejnkkXA="; + hash = "sha256-sQp23ibdVQHEuP016pA1E1xxXB275YNPvDqEFfI15nk="; }; # there is nothing to strip in this package diff --git a/pkgs/servers/home-assistant/intents.nix b/pkgs/servers/home-assistant/intents.nix index 12be866ba2e5..9c13d0fa3359 100644 --- a/pkgs/servers/home-assistant/intents.nix +++ b/pkgs/servers/home-assistant/intents.nix @@ -22,7 +22,7 @@ buildPythonPackage rec { pname = "home-assistant-intents"; - version = "2025.10.1"; + version = "2025.10.28"; pyproject = true; disabled = pythonOlder "3.9"; @@ -32,7 +32,7 @@ buildPythonPackage rec { repo = "intents-package"; tag = version; fetchSubmodules = true; - hash = "sha256-xYmPbiDDnznm9fl8rtnkMAswGAX+3iWwticqaOzF9Jk="; + hash = "sha256-Svnw9Jd0E4pMFfa/Do7YsFzdXLzsGmhu8amo+zYDvus="; }; build-system = [ diff --git a/pkgs/servers/home-assistant/stubs.nix b/pkgs/servers/home-assistant/stubs.nix index 734b755fc961..ebeca4ab7b43 100644 --- a/pkgs/servers/home-assistant/stubs.nix +++ b/pkgs/servers/home-assistant/stubs.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "homeassistant-stubs"; - version = "2025.10.4"; + version = "2025.11.0"; pyproject = true; disabled = python.version != home-assistant.python.version; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "KapJI"; repo = "homeassistant-stubs"; tag = version; - hash = "sha256-1ZV9lgueBKALUuvnHVGSb2C24auljdI07KkbLsaEe54="; + hash = "sha256-/A/25x0FMu4MXMHhOZ1MF9Qpw+UgA2OUc/HZaJm9bsQ="; }; build-system = [ diff --git a/pkgs/servers/home-assistant/tests.nix b/pkgs/servers/home-assistant/tests.nix index 9dcbdb0cfe95..19d31b0c774a 100644 --- a/pkgs/servers/home-assistant/tests.nix +++ b/pkgs/servers/home-assistant/tests.nix @@ -18,14 +18,9 @@ let homeassistant_hardware = getComponentDeps "otbr" ++ getComponentDeps "zha"; homeassistant_sky_connect = getComponentDeps "zha"; homeassistant_yellow = getComponentDeps "zha"; - husqvarna_automower_ble = getComponentDeps "gardena_bluetooth"; lovelace = [ pychromecast ]; - matrix = [ - pydantic - ]; - mopeka = getComponentDeps "switchbot"; onboarding = [ pymetno radios @@ -44,7 +39,6 @@ let system_log = [ isal ]; - tesla_fleet = getComponentDeps "teslemetry"; xiaomi_miio = [ arrow ]; @@ -57,34 +51,12 @@ let }; extraDisabledTestPaths = { - backup = [ - # outdated snapshot - "tests/components/backup/test_sensors.py::test_sensors" - ]; - bosch_alarm = [ - # outdated snapshots - "tests/components/bosch_alarm/test_binary_sensor.py::test_binary_sensor[None-solution_3000]" - "tests/components/bosch_alarm/test_binary_sensor.py::test_binary_sensor[None-amax_3000]" - "tests/components/bosch_alarm/test_binary_sensor.py::test_binary_sensor[None-b5512]" - ]; - bmw_connected_drive = [ - # outdated snapshot - "tests/components/bmw_connected_drive/test_binary_sensor.py::test_entity_state_attrs" - ]; - dnsip = [ - # Tries to resolve DNS entries - "tests/components/dnsip/test_config_flow.py::test_options_flow" - ]; jellyfin = [ # AssertionError: assert 'audio/x-flac' == 'audio/flac' "tests/components/jellyfin/test_media_source.py::test_resolve" "tests/components/jellyfin/test_media_source.py::test_audio_codec_resolve" "tests/components/jellyfin/test_media_source.py::test_music_library" ]; - matter = [ - # outdated snapshot in eve_weather_sensor variant - "tests/components/matter/test_number.py::test_numbers" - ]; minecraft_server = [ # FileNotFoundError: [Errno 2] No such file or directory: '/etc/resolv.conf' "tests/components/minecraft_server/test_binary_sensor.py" @@ -104,22 +76,17 @@ let "tests/components/nzbget/test_init.py::test_async_setup_raises_entry_not_ready" ]; openai_conversation = [ - # outdated snapshot - "tests/components/openai_conversation/test_conversation.py::test_function_call" # Pydantic validation error "tests/components/openai_conversation/test_conversation.py" "tests/components/openai_conversation/test_ai_task.py" - # TypeError: object ImagesResponse can't be used in 'await' expression - "tests/components/openai_conversation/test_init.py::test_generate_image_service" - "tests/components/openai_conversation/test_init.py::test_generate_image_service_error" ]; overseerr = [ # imports broken future module "tests/components/overseerr/test_event.py" ]; - technove = [ + youtube = [ # outdated snapshot - "tests/components/technove/test_switch.py::test_switches" + "tests/components/youtube/test_sensor.py::test_sensor" ]; }; @@ -128,10 +95,6 @@ let # intent fixture mismatch "test_error_no_device_on_floor" ]; - forecast_solar = [ - # language fixture mismatch - "test_enabling_disable_by_default" - ]; sensor = [ # Failed: Translation not found for sensor "test_validate_unit_change_convertible" @@ -147,14 +110,6 @@ let # tries to retrieve file from github "test_non_text_stdout_capture" ]; - smartthings = [ - # outdated snapshots - "test_all_entities" - ]; - websocket_api = [ - # AssertionError: assert 'unknown_error' == 'template_error' - "test_render_template_with_timeout" - ]; zeroconf = [ # multicast socket bind, not possible in the sandbox "test_subscribe_discovery" diff --git a/pkgs/test/overriding.nix b/pkgs/test/overriding.nix index 67ed3bd90f9a..a2221183a8a6 100644 --- a/pkgs/test/overriding.nix +++ b/pkgs/test/overriding.nix @@ -43,24 +43,24 @@ let in { repeatedOverrides-pname = { - expr = repeatedOverrides.pname == "a-better-hello-with-blackjack"; - expected = true; + expr = repeatedOverrides.pname; + expected = "a-better-hello-with-blackjack"; }; repeatedOverrides-entangled-pname = { - expr = repeatedOverrides.entangled.pname == "a-better-figlet-with-blackjack"; - expected = true; + expr = repeatedOverrides.entangled.pname; + expected = "a-better-figlet-with-blackjack"; }; overriding-using-only-attrset = { - expr = (pkgs.hello.overrideAttrs { pname = "hello-overriden"; }).pname == "hello-overriden"; - expected = true; + expr = (pkgs.hello.overrideAttrs { pname = "hello-overriden"; }).pname; + expected = "hello-overriden"; }; overriding-using-only-attrset-no-final-attrs = { name = "overriding-using-only-attrset-no-final-attrs"; expr = ((stdenvNoCC.mkDerivation { pname = "hello-no-final-attrs"; }).overrideAttrs { pname = "hello-no-final-attrs-overridden"; - }).pname == "hello-no-final-attrs-overridden"; - expected = true; + }).pname; + expected = "hello-no-final-attrs-overridden"; }; }; @@ -118,16 +118,16 @@ let expected = true; }; extendMkDerivation-helloLocal-plain-equivalence = { - expr = helloLocal.drvPath == helloLocalPlain.drvPath; - expected = true; + expr = helloLocal.drvPath; + expected = helloLocalPlain.drvPath; }; extendMkDerivation-helloLocal-finalAttrs = { - expr = helloLocal.bar == "ab"; - expected = true; + expr = helloLocal.bar; + expected = "ab"; }; extendMkDerivation-helloLocal-specialArg = { - expr = hiLocal.greeting == "Hi!"; - expected = true; + expr = hiLocal.greeting; + expected = "Hi!"; }; }; @@ -152,27 +152,35 @@ let in { hash-outputHash-equivalence = { - expr = ruamel_0_17_21-src.outputHash == ruamel_0_17_21-hash; - expected = true; + expr = ruamel_0_17_21-src.outputHash; + expected = ruamel_0_17_21-hash; }; hash-overridability-outputHash = { - expr = ruamel_0_17_21-src-by-overriding.outputHash == ruamel_0_17_21-hash; - expected = true; + expr = ruamel_0_17_21-src-by-overriding.outputHash; + expected = ruamel_0_17_21-hash; }; hash-overridability-drvPath = { - expr = - lib.isString ruamel_0_17_21-src-by-overriding.drvPath - && ruamel_0_17_21-src-by-overriding.drvPath == ruamel_0_17_21-src.drvPath; - expected = true; + expr = [ + (lib.isString ruamel_0_17_21-src-by-overriding.drvPath) + ruamel_0_17_21-src-by-overriding.drvPath + ]; + expected = [ + true + ruamel_0_17_21-src.drvPath + ]; }; hash-overridability-outPath = { - expr = - lib.isString ruamel_0_17_21-src-by-overriding.outPath - && ruamel_0_17_21-src-by-overriding.outPath == ruamel_0_17_21-src.outPath; - expected = true; + expr = [ + (lib.isString ruamel_0_17_21-src-by-overriding.outPath) + ruamel_0_17_21-src-by-overriding.outPath + ]; + expected = [ + true + ruamel_0_17_21-src.outPath + ]; }; }; @@ -249,44 +257,32 @@ let pet-vendored = pet-foo.overrideAttrs { vendorHash = null; }; in { - buildGoModule-overrideAttrs = { - expr = - lib.all - ( - attrPath: - let - attrPathPretty = lib.concatStringsSep "." attrPath; - valueNative = lib.getAttrFromPath attrPath pet_0_4_0; - valueOverridden = lib.getAttrFromPath attrPath pet_0_4_0-overridden; - in - lib.warnIfNot (valueNative == valueOverridden) - "pet_0_4_0.${attrPathPretty} (${valueNative}) does not equal pet_0_4_0-overridden.${attrPathPretty} (${valueOverridden})" - true - ) - [ - [ "drvPath" ] - [ "name" ] - [ "pname" ] - [ "version" ] - [ "vendorHash" ] - [ - "goModules" - "drvPath" - ] - [ - "goModules" - "name" - ] - [ - "goModules" - "outputHash" - ] - ]; - expected = true; - }; + buildGoModule-overrideAttrs = + let + getComparingAttrs = p: { + inherit (p) + drvPath + name + pname + version + vendorHash + ; + goModules = { + inherit (p.goModules) + drvPath + name + outPath + ; + }; + }; + in + { + expr = getComparingAttrs pet_0_4_0-overridden; + expected = getComparingAttrs pet_0_4_0; + }; buildGoModule-goModules-overrideAttrs = { - expr = pet-foo.goModules.FOO == "foo"; - expected = true; + expr = pet-foo.goModules.FOO; + expected = "foo"; }; buildGoModule-goModules-overrideAttrs-vendored = { expr = lib.isString pet-vendored.drvPath; @@ -309,14 +305,35 @@ let in -stdenvNoCC.mkDerivation { +stdenvNoCC.mkDerivation (finalAttrs: { + __structuredAttrs = true; name = "test-overriding"; - passthru = { inherit tests; }; + passthru = { + inherit tests; + failures = lib.runTests (finalAttrs.passthru.tests // { tests = lib.attrNames tests; }); + }; + testResults = lib.mapAttrs (testName: test: test.expr == test.expected) finalAttrs.passthru.tests; buildCommand = '' touch $out + for testName in "''${!testResults[@]}"; do + if [[ -n "''${testResults[$testName]}" ]]; then + echo "$testName success" + else + echo "$testName fail" + fi + done '' - + lib.concatMapAttrsStringSep "\n" ( - name: t: - "([[ ${lib.boolToString t.expr} == ${lib.boolToString t.expected} ]] && echo '${name} success') || (echo '${name} fail' && exit 1)" - ) tests; -} + + lib.optionalString (lib.any (v: !v) (lib.attrValues finalAttrs.testResults)) '' + { + echo "ERROR: tests.overriding: Encountering failed tests." + for testName in "''${!testResults[@]}"; do + if [[ -z "''${testResults[$testName]}" ]]; then + echo "- $testName" + fi + done + echo "To inspect the expected and actual result, " + echo ' evaluate `tests.overriding.tests.''${testName}`.' + } >&2 + exit 1 + ''; +}) diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index 60f6f8c60650..2182ebd76d5f 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -284,6 +284,7 @@ mapAliases { pdfminer = throw "'pdfminer' has been renamed to/replaced by 'pdfminer-six'"; # Converted to throw 2025-10-29 pep257 = throw "'pep257' has been renamed to/replaced by 'pydocstyle'"; # Converted to throw 2025-10-29 percol = throw "percol has been removed because it hasn't been updated since 2019"; # added 2025-05-25 + plumlightpad = throw "plumlightpad has been removed because the API was shut down"; # added 2025-11-04 Polygon3 = throw "'Polygon3' has been renamed to/replaced by 'polygon3'"; # Converted to throw 2025-10-29 posix_ipc = throw "'posix_ipc' has been renamed to/replaced by 'posix-ipc'"; # Converted to throw 2025-10-29 postgrest-py = postgrest; # added 2025-08-29 @@ -320,6 +321,7 @@ mapAliases { pymelcloud = throw "'pymelcloud' has been renamed to/replaced by 'python-melcloud'"; # Converted to throw 2025-10-29 PyMVGLive = throw "'PyMVGLive' has been renamed to/replaced by 'pymvglive'"; # Converted to throw 2025-10-29 pymyq = throw "'pymyq' has been renamed to/replaced by 'python-myq'"; # Converted to throw 2025-10-29 + pyownet = throw "pyownet was removed because Home Assistant switched to aio-ownet"; # added 2025-10-31 pypcap = throw "pypcap has been removed because it is broken and unmaintained upstream."; # added 2025-06-18 pyqldb = throw "pyqldb has been removed, because the underlying service is reaching end of support"; # added 2025-07-30 pyqt5_sip = throw "'pyqt5_sip' has been renamed to/replaced by 'pyqt5-sip'"; # Converted to throw 2025-10-29 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a53cc4e93d21..cf9111c735d5 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -59,6 +59,8 @@ self: super: with self; { actdiag = callPackage ../development/python-modules/actdiag { }; + actron-neo-api = callPackage ../development/python-modules/actron-neo-api { }; + acunetix = callPackage ../development/python-modules/acunetix { }; adafruit-board-toolkit = callPackage ../development/python-modules/adafruit-board-toolkit { }; @@ -178,6 +180,8 @@ self: super: with self; { aio-georss-gdacs = callPackage ../development/python-modules/aio-georss-gdacs { }; + aio-ownet = callPackage ../development/python-modules/aio-ownet { }; + aio-pika = callPackage ../development/python-modules/aio-pika { }; aioacaia = callPackage ../development/python-modules/aioacaia { }; @@ -2725,6 +2729,13 @@ self: super: with self; { clikit = callPackage ../development/python-modules/clikit { }; + clingo = toPythonModule ( + pkgs.clingo.override { + inherit python; + withPython = true; + } + ); + clint = callPackage ../development/python-modules/clint { }; clintermission = callPackage ../development/python-modules/clintermission { }; @@ -8929,6 +8940,8 @@ self: super: with self; { lunarcalendar = callPackage ../development/python-modules/lunarcalendar { }; + lunatone-rest-api-client = callPackage ../development/python-modules/lunatone-rest-api-client { }; + lupa = callPackage ../development/python-modules/lupa { }; lupupy = callPackage ../development/python-modules/lupupy { }; @@ -9335,6 +9348,8 @@ self: super: with self; { metawear = callPackage ../development/python-modules/metawear { }; + meteo-lt-pkg = callPackage ../development/python-modules/meteo-lt-pkg { }; + meteoalertapi = callPackage ../development/python-modules/meteoalertapi { }; meteocalc = callPackage ../development/python-modules/meteocalc { }; @@ -12069,8 +12084,6 @@ self: super: with self; { plumbum = callPackage ../development/python-modules/plumbum { }; - plumlightpad = callPackage ../development/python-modules/plumlightpad { }; - pluthon = callPackage ../development/python-modules/pluthon { }; plux = callPackage ../development/python-modules/plux { }; @@ -13122,6 +13135,8 @@ self: super: with self; { pyfiglet = callPackage ../development/python-modules/pyfiglet { }; + pyfirefly = callPackage ../development/python-modules/pyfirefly { }; + pyfireservicerota = callPackage ../development/python-modules/pyfireservicerota { }; pyflakes = callPackage ../development/python-modules/pyflakes { }; @@ -13717,6 +13732,8 @@ self: super: with self; { pynina = callPackage ../development/python-modules/pynina { }; + pynintendoparental = callPackage ../development/python-modules/pynintendoparental { }; + pynipap = callPackage ../development/python-modules/pynipap { }; pynisher = callPackage ../development/python-modules/pynisher { }; @@ -13839,8 +13856,6 @@ self: super: with self; { pyowm = callPackage ../development/python-modules/pyowm { }; - pyownet = callPackage ../development/python-modules/pyownet { }; - pyoxigraph = callPackage ../development/python-modules/pyoxigraph { }; pypager = callPackage ../development/python-modules/pypager { }; @@ -14433,6 +14448,8 @@ self: super: with self; { pysqueezebox = callPackage ../development/python-modules/pysqueezebox { }; + pysrdaligateway = callPackage ../development/python-modules/pysrdaligateway { }; + pysrim = callPackage ../development/python-modules/pysrim { }; pysrt = callPackage ../development/python-modules/pysrt { }; @@ -14518,6 +14535,8 @@ self: super: with self; { pytest-aiohttp = callPackage ../development/python-modules/pytest-aiohttp { }; + pytest-aioresponses = callPackage ../development/python-modules/pytest-aioresponses { }; + pytest-annotate = callPackage ../development/python-modules/pytest-annotate { }; pytest-ansible = callPackage ../development/python-modules/pytest-ansible { }; @@ -14866,6 +14885,8 @@ self: super: with self; { python-cinderclient = callPackage ../development/python-modules/python-cinderclient { }; + python-citybikes = callPackage ../development/python-modules/python-citybikes { }; + python-clementine-remote = callPackage ../development/python-modules/python-clementine-remote { }; python-codon-tables = callPackage ../development/python-modules/python-codon-tables { }; @@ -17254,6 +17275,8 @@ self: super: with self; { solaredge-local = callPackage ../development/python-modules/solaredge-local { }; + solaredge-web = callPackage ../development/python-modules/solaredge-web { }; + solarlog-cli = callPackage ../development/python-modules/solarlog-cli { }; solax = callPackage ../development/python-modules/solax { };