python3: Use hash-checking mode when installing host pip packages
authorJeffery To <jeffery.to@gmail.com>
Sat, 15 Aug 2020 06:33:30 +0000 (14:33 +0800)
committerJeffery To <jeffery.to@gmail.com>
Mon, 17 Aug 2020 15:05:49 +0000 (23:05 +0800)
commit722a5b8efa19fd54728af462441dce08cd7e545b
treeb5aff4cf8a2cdd88c56ef7c6215594ae712ed4e5
parent6855683e3e1ce0c5e710c4cf67f4373aedddd6b2
python3: Use hash-checking mode when installing host pip packages

In hash-checking mode[1], pip will verify downloaded package archives
(source tarballs in our case) against known SHA256 hashes before
installing the packages.

As a consequence, this requires the use of requirements files[2] and
pinning packages to known versions.

The syntax for package Makefiles has changed slightly;
HOST_PYTHON3_PACKAGE_BUILD_DEPENDS no longer accepts requirement
specifiers like "foo>=1.0", only requirements file names (which are the
same as package names in the most common case).

This also updates affected packages, in particular:

* python-zipp: "setuptools_scm[toml]" has been split into
  "setuptools-scm toml" to reuse the requirements file for
  setuptools-scm (the extra depends installed by "setuptools_scm[toml]"
  is toml).

* python-pycparser: This previously used ply 3.10, whereas the
  requirements file will now install 3.11.

[1]: https://pip.pypa.io/en/stable/reference/pip_install/#hash-checking-mode
[2]: https://pip.pypa.io/en/stable/user_guide/#requirements-files

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
17 files changed:
lang/python/README.md
lang/python/bcrypt/Makefile
lang/python/host-pip-requirements/Cython.txt [new file with mode: 0644]
lang/python/host-pip-requirements/Django-1.11.txt [new file with mode: 0644]
lang/python/host-pip-requirements/cffi.txt [new file with mode: 0644]
lang/python/host-pip-requirements/ply.txt [new file with mode: 0644]
lang/python/host-pip-requirements/setuptools-scm.txt [new file with mode: 0644]
lang/python/host-pip-requirements/toml.txt [new file with mode: 0644]
lang/python/numpy/Makefile
lang/python/python-cryptography/Makefile
lang/python/python-jsonschema/Makefile
lang/python/python-pycparser/Makefile
lang/python/python-pynacl/Makefile
lang/python/python-zipp/Makefile
lang/python/python3-host.mk
lang/python/python3-package.mk
net/seafile-seahub/Makefile