home-assistant-chip: attempt to pin requirements so they don't shift by accident

This commit is contained in:
Luke Granger-Brown 2024-01-06 22:50:33 +00:00
parent 2ed4f57688
commit b214653182
2 changed files with 123 additions and 4 deletions

View file

@ -0,0 +1,108 @@
alabaster==0.7.13
appdirs==1.4.4
astroid==3.0.2
asttokens==2.2.1
babel==2.14.0
backcall==0.2.0
black==23.12.1
build==0.8.0
cachetools==5.3.2
certifi==2022.12.7
cffi==1.15.1
charset-normalizer==3.0.1
click==8.1.3
coloredlogs==15.0.1
coverage==7.4.0
cryptography==39.0.2
decorator==5.1.1
dill==0.3.7
diskcache==5.4.0
docutils==0.20.1
executing==1.2.0
google-api-core==2.15.0
google-auth==2.26.1
google-cloud-core==2.4.1
google-cloud-storage==2.14.0
google-crc32c==1.5.0
google-resumable-media==2.7.0
googleapis-common-protos==1.62.0
humanfriendly==10.0
idna==3.4
imagesize==1.4.1
ipython==8.11.0
isort==5.13.2
jedi==0.18.2
jinja2==3.0.3
json5==0.9.14
lark==1.1.5
lockfile==0.12.2
markupsafe==2.1.2
matplotlib-inline==0.1.6
mccabe==0.7.0
mobly==1.12.1
mypy==0.971
mypy-extensions==1.0.0
mypy-protobuf==3.5.0
packaging==23.0
parameterized==0.9.0
parso==0.8.3
pathspec==0.12.1
pep517==0.13.0
pexpect==4.8.0
pickleshare==0.7.5
pip-tools==7.0.0
platformdirs==3.0.0
portpicker==1.5.2
prompt-toolkit==3.0.43
protobuf==4.24.4
psutil==5.9.4
ptpython==3.0.25
ptyprocess==0.7.0
pure-eval==0.2.2
pyasn1==0.5.1
pyasn1-modules==0.3.0
pycparser==2.21
pyelftools==0.30
pygments==2.14.0
pylint==3.0.3
pyperclip==1.8.2
pyserial==3.5
python-daemon==3.0.1
pyyaml==6.0
requests==2.28.2
rsa==4.9
six==1.16.0
snowballstemmer==2.2.0
sphinx==7.2.6
sphinx-argparse==0.4.0
sphinx-design==0.5.0
sphinxcontrib-applehelp==1.0.7
sphinxcontrib-devhelp==1.0.5
sphinxcontrib-htmlhelp==2.0.4
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-mermaid==0.9.2
sphinxcontrib-qthelp==1.0.6
sphinxcontrib-serializinghtml==1.1.9
stack-data==0.6.2
stringcase==1.2.0
toml==0.10.2
tomlkit==0.12.3
traitlets==5.9.0
types-docutils==0.20.0.20240106
types-protobuf==4.24.0.2
types-pygments==2.17.0.20240106
types-pyserial==3.5.0.20240106
types-pyyaml==6.0.12.12
types-requests==2.31.0.6
types-setuptools==69.0.0.20240106
types-six==1.16.21.20240106
types-urllib3==1.26.25.14
typing-extensions==4.5.0
urllib3==1.26.14
watchdog==2.3.1
wcwidth==0.2.6
websockets==10.4
wheel==0.38.4 ; sys_platform == "linux"
yapf==0.32.0
pip==23.2.1
setuptools==68.0.0

View file

@ -88,7 +88,7 @@ let
};
baseline = rec {
pname = "home-assistant-chip-core";
pname = "home-assistant-chip";
version = "2023.12.0";
pyproject = false;
@ -166,6 +166,14 @@ let
src-wheels = stdenv.mkDerivation (baseline // {
pname = "${baseline.pname}-src-wheels";
gnArgs = [
''pw_build_PIP_CONSTRAINTS=["//scripts/setup/constraints.txt","//extra_constraints.txt"]''
];
preConfigure = ''
cp ${./compiled_requirements.txt} project-chip/extra_constraints.txt
'';
buildPhase = ''
runHook preBuild
@ -187,14 +195,16 @@ let
installPhase = ''
runHook preInstall
cp -R ./project-chip/out/python/gen/matter_build_venv.vendor_wheels/wheels $out
mkdir $out
cp -R ./project-chip/out/python/gen/matter_build_venv.vendor_wheels/wheels $out/wheels
sed -e 's/#.*//g' -e '/^\s*$/d' project-chip/out/python/gen/matter_build_venv/compiled_requirements.txt > $out/compiled_requirements.txt
runHook postInstall
'';
outputHashMode = "recursive";
outputHashAlgo = "sha256";
outputHash = "sha256:1gndaagj9l5a4xdh5i24dg64qd97qixym6rqc30l32fjdf9rbnhf";
outputHash = "sha256:11c0v6yc4wxnbkvya0jjf51rpbdfa9dk372ci46mhf0yzb7j5icz";
});
out-wheels = stdenv.mkDerivation (baseline // {
@ -220,7 +230,7 @@ let
pushd project-chip
ln -s ${src-wheels} wheels
ln -s ${src-wheels}/wheels wheels
export HOME=$NIX_BUILD_TOP/home
mkdir $HOME
@ -261,6 +271,7 @@ let
} // overrides);
in
rec {
inherit src-wheels;
wheels = out-wheels;
core = outputWheel "home-assistant-chip-core" {
propagatedBuildInputs = [