mac build: use a virtualenv instead of global python packages
This helps to avoid older versions of pip-installed dependencies interfering with the build.
This commit is contained in:
@@ -73,8 +73,15 @@ PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install -s $PYTHON_VERSION && \
|
||||
pyenv global $PYTHON_VERSION || \
|
||||
fail "Unable to use Python $PYTHON_VERSION"
|
||||
|
||||
# create a fresh virtualenv
|
||||
# This helps to avoid older versions of pip-installed dependencies interfering with the build.
|
||||
VENV_DIR="$CONTRIB_OSX/build-venv"
|
||||
rm -rf "$VENV_DIR"
|
||||
python3 -m venv $VENV_DIR
|
||||
source $VENV_DIR/bin/activate
|
||||
|
||||
info "Installing build dependencies"
|
||||
python3 -m pip install --no-dependencies -Ir ./contrib/deterministic-build/requirements-build-mac.txt --user \
|
||||
python3 -m pip install --no-dependencies --no-warn-script-location -Ir ./contrib/deterministic-build/requirements-build-mac.txt \
|
||||
|| fail "Could not install build dependencies"
|
||||
|
||||
info "Using these versions for building $PACKAGE:"
|
||||
@@ -128,19 +135,19 @@ DoCodeSignMaybe "CalinsQRReader.app" "${d}/build/Release/CalinsQRReader.app"
|
||||
|
||||
|
||||
info "Installing requirements..."
|
||||
python3 -m pip install --no-dependencies -Ir ./contrib/deterministic-build/requirements.txt --user \
|
||||
python3 -m pip install --no-dependencies --no-warn-script-location -Ir ./contrib/deterministic-build/requirements.txt \
|
||||
|| fail "Could not install requirements"
|
||||
|
||||
info "Installing hardware wallet requirements..."
|
||||
python3 -m pip install --no-dependencies -Ir ./contrib/deterministic-build/requirements-hw.txt --user \
|
||||
python3 -m pip install --no-dependencies --no-warn-script-location -Ir ./contrib/deterministic-build/requirements-hw.txt \
|
||||
|| fail "Could not install hardware wallet requirements"
|
||||
|
||||
info "Installing dependencies specific to binaries..."
|
||||
python3 -m pip install --no-dependencies -Ir ./contrib/deterministic-build/requirements-binaries-mac.txt --user \
|
||||
python3 -m pip install --no-dependencies --no-warn-script-location -Ir ./contrib/deterministic-build/requirements-binaries-mac.txt \
|
||||
|| fail "Could not install dependencies specific to binaries"
|
||||
|
||||
info "Building $PACKAGE..."
|
||||
python3 -m pip install --no-dependencies --user . > /dev/null || fail "Could not build $PACKAGE"
|
||||
python3 -m pip install --no-dependencies --no-warn-script-location . > /dev/null || fail "Could not build $PACKAGE"
|
||||
|
||||
info "Faking timestamps..."
|
||||
for d in ~/Library/Python/ ~/.pyenv .; do
|
||||
|
||||
Reference in New Issue
Block a user