overrides for hass lol

This commit is contained in:
mjallen18
2026-03-31 17:24:46 -05:00
parent c1efceef55
commit 57fa32bf9c
2 changed files with 102 additions and 0 deletions

View File

@@ -283,6 +283,10 @@
# ... # ...
# "libsoup-2.74.3" # "libsoup-2.74.3"
# "mbedtls-2.28.10" # "mbedtls-2.28.10"
# ecdsa is pulled in by srp → ha-icloud3 custom component.
# CVE-2024-23342 applies to timing-sensitive cryptographic use cases,
# not the SRP authentication usage here.
"python3.14-ecdsa-0.19.1"
]; ];
}; };

View File

@@ -2,6 +2,12 @@
_final: prev: { _final: prev: {
home-assistant = prev.home-assistant.override { home-assistant = prev.home-assistant.override {
packageOverrides = _self: super: { packageOverrides = _self: super: {
nice-go = super.nice-go.overridePythonAttrs (_old: { doCheck = false; });
cfn-lint = super.cfn-lint.overridePythonAttrs (_old: { doCheck = false; });
aiobotocore = super.aiobotocore.overridePythonAttrs (_old: { doCheck = false; });
connect-box = super.connect-box.overridePythonAttrs (_old: { doCheck = false; });
motionblindsble = super.motionblindsble.overridePythonAttrs (_old: { doCheck = false; });
pyinsteon = super.pyinsteon.overridePythonAttrs (_old: { doCheck = false; });
psnawp = super.psnawp.overridePythonAttrs (old: { psnawp = super.psnawp.overridePythonAttrs (old: {
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ super.pythonRelaxDepsHook ]; nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ super.pythonRelaxDepsHook ];
pythonRelaxDeps = [ "pycountry" ]; pythonRelaxDeps = [ "pycountry" ];
@@ -10,6 +16,98 @@ _final: prev: {
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ super.pythonRelaxDepsHook ]; nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ super.pythonRelaxDepsHook ];
pythonRelaxDeps = [ "pycountry" ]; pythonRelaxDeps = [ "pycountry" ];
}); });
# Several packages are gated behind pythonAtLeast "3.13" or "3.14" guards
# in nixpkgs, but are required as transitive dependencies of HA components
# when using availableComponents. Override them all to allow Python 3.14
# until upstream catches up.
aiounittest = super.aiounittest.overridePythonAttrs (_old: {
disabled = false;
doCheck = false;
});
# aiokef tests rely on asyncio.get_event_loop() auto-creating a loop,
# which was removed in Python 3.10+.
aiokef = super.aiokef.overridePythonAttrs (_old: {
doCheck = false;
});
# pyads 3.5.1 adopted a src/ layout; the nixpkgs patchPhase references
# the old flat path, and setup.py always tries to compile adslib from
# source via make. Skip the compile step by making platform_is_unix()
# return False, pre-place the nixpkgs adslib.so in src/ so the wheel
# installs it, and disable the import check since pyads searches sys.path
# for adslib.so at import time (requires the real ADS hardware library).
pyads = super.pyads.overridePythonAttrs (old: {
patchPhase = ''
substituteInPlace setup.py \
--replace-fail "sys.platform.startswith(\"linux\") or sys.platform.startswith(\"darwin\")" \
"False"
'';
preBuild = ''
mkdir -p src
cp ${builtins.head old.buildInputs}/lib/adslib.so src/adslib.so
'';
doCheck = false;
pythonImportsCheck = [ ];
});
apischema = super.apischema.overridePythonAttrs (_old: {
disabled = false;
doCheck = false;
});
aws-sam-translator = super.aws-sam-translator.overridePythonAttrs (_old: {
# https://github.com/aws/serverless-application-model/issues/3831
disabled = false;
doCheck = false;
});
# future uses lib2to3 in past.translation, which was removed in Python 3.14.
# That module is only needed for Python 2→3 source translation at runtime,
# which HA components don't use. Drop past.translation from the import check.
future = super.future.overridePythonAttrs (_old: {
disabled = false;
pythonImportsCheck = [
"future.builtins"
"future.moves"
"future.standard_library"
"past.builtins"
];
});
raincloudy = super.raincloudy.overridePythonAttrs (_old: {
disabled = false;
doCheck = false;
});
reactivex = super.reactivex.overridePythonAttrs (_old: {
disabled = false;
doCheck = false;
});
# Several packages are marked broken due to version constraints on upstream
# deps that have been bumped in nixpkgs (pysnmp 7.x, xmltodict 1.x).
# They work fine at runtime for HA's usage.
# aio-georss-client is marked broken because xmltodict >= 1.0 changed how
# namespace-annotated XML elements are returned (dict instead of string),
# which breaks _process_coordinates. The GDACS integration is not used here
# and the package installs fine; skip tests to unblock the build.
aio-georss-client = super.aio-georss-client.overridePythonAttrs (_old: {
meta = (super.aio-georss-client.meta or { }) // {
broken = false;
};
doCheck = false;
});
atenpdu = super.atenpdu.overridePythonAttrs (_old: {
meta = (super.atenpdu.meta or { }) // {
broken = false;
};
nativeBuildInputs = (_old.nativeBuildInputs or [ ]) ++ [ super.pythonRelaxDepsHook ];
pythonRelaxDeps = [ "async-timeout" ];
});
bimmer-connected = super.bimmer-connected.overridePythonAttrs (old: {
meta = (old.meta or { }) // {
broken = false;
};
doCheck = false;
# pillow is an optional dep (China market only) but the runtime dep check
# flags it as missing; add it to propagatedBuildInputs to satisfy it.
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ super.pillow ];
});
}; };
}; };
} }