From b21465318221219bb5e835ae092f9548579da04b Mon Sep 17 00:00:00 2001 From: Luke Granger-Brown Date: Sat, 6 Jan 2024 22:50:33 +0000 Subject: [PATCH] home-assistant-chip: attempt to pin requirements so they don't shift by accident --- .../compiled_requirements.txt | 108 ++++++++++++++++++ nix/pkgs/home-assistant-chip/default.nix | 19 ++- 2 files changed, 123 insertions(+), 4 deletions(-) create mode 100644 nix/pkgs/home-assistant-chip/compiled_requirements.txt diff --git a/nix/pkgs/home-assistant-chip/compiled_requirements.txt b/nix/pkgs/home-assistant-chip/compiled_requirements.txt new file mode 100644 index 0000000000..8354959e66 --- /dev/null +++ b/nix/pkgs/home-assistant-chip/compiled_requirements.txt @@ -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 diff --git a/nix/pkgs/home-assistant-chip/default.nix b/nix/pkgs/home-assistant-chip/default.nix index 9c385d5cdf..01e6b0f1a4 100644 --- a/nix/pkgs/home-assistant-chip/default.nix +++ b/nix/pkgs/home-assistant-chip/default.nix @@ -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 = [