- Fix how `use_pep517` and `build_isolation` are read from the
environment -- introduce a new environment helper to detect
`<PREFIX>_<SETTING>` and `<PREFIX>_NO_<SETTING>`, check for booleans
and return appropriately boolean, str, or None types
- Check for `False` values when adding `--no-use-pep517` and
`--no-build-isolation` during resolution rather than falsey values
- Change environment variable name from `PIP_PYTHON_VERSION` to
`PIPENV_REQUESTED_PYTHON_VERSION` to avoid causing `pip` to fail due
to accidentally percieving the `python_version` flag as being set --
this is an artifact from attempting to resolve outside of the
virtualenv
- Add `pipenv` to the path of patched `notpip.__main__` to accommodate
updated import fully qualified module names
- Update `pip` and `piptools` patches
- Add test packages for each of two known failure modes: outdated
`setuptools` with a missing `build-backend` (which `pip` forces to
`build_meta:__legacy__` & which doesn't exist before `40.8`), and
`import Cython` statements in `setup.py` in packages with properly
defined `pyproject.toml` `build-backend` lines.
- Fixes#4231
- Replaces, includes, and closes#4242
Signed-off-by: Dan Ryan <dan.ryan@canonical.com>
Add integration tests for #4231
Signed-off-by: Dan Ryan <dan.ryan@canonical.com>