overrides for hass lol
This commit is contained in:
@@ -2,6 +2,12 @@
|
||||
_final: prev: {
|
||||
home-assistant = prev.home-assistant.override {
|
||||
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: {
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ super.pythonRelaxDepsHook ];
|
||||
pythonRelaxDeps = [ "pycountry" ];
|
||||
@@ -10,6 +16,98 @@ _final: prev: {
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ super.pythonRelaxDepsHook ];
|
||||
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 ];
|
||||
});
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user