see https://pip.pypa.io/en/stable/reference/pip_install/#controlling-setup-requires > Setuptools offers the setup_requires setup() keyword for specifying > dependencies that need to be present in order for the setup.py > script to run. Internally, Setuptools uses easy_install to > fulfill these dependencies. > pip has no way to control how these dependencies are located. > None of the package index options have an effect. With these changes, we will now instead hard fail if this were to happen. related: https://github.com/spesmilo/electrum/issues/5859#issuecomment-743621898
33 lines
900 B
Bash
Executable File
33 lines
900 B
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
PROJECT_ROOT="$(dirname "$(readlink -e "$0")")/../../.."
|
|
CONTRIB="$PROJECT_ROOT/contrib"
|
|
CONTRIB_SDIST="$CONTRIB/build-linux/sdist"
|
|
DISTDIR="$PROJECT_ROOT/dist"
|
|
|
|
. "$CONTRIB"/build_tools_util.sh
|
|
|
|
# note that at least py3.7 is needed, to have https://bugs.python.org/issue30693
|
|
python3 --version || fail "python interpreter not found"
|
|
|
|
break_legacy_easy_install
|
|
|
|
# upgrade to modern pip so that it knows the flags we need.
|
|
# we will then install a pinned version of pip as part of requirements-build-sdist
|
|
python3 -m pip install --upgrade pip
|
|
|
|
info "Installing pinned requirements."
|
|
python3 -m pip install --no-dependencies --no-warn-script-location -r "$CONTRIB"/deterministic-build/requirements-build-sdist.txt
|
|
|
|
|
|
"$CONTRIB"/make_packages || fail "make_packages failed"
|
|
|
|
"$CONTRIB_SDIST"/make_tgz || fail "make_tgz failed"
|
|
|
|
|
|
info "done."
|
|
ls -la "$DISTDIR"
|
|
sha256sum "$DISTDIR"/*
|