40 lines
1.4 KiB
Bash
Executable File
40 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# This script creates a virtualenv named 'env' and installs all pinned
|
|
# python dependencies before activating the env and running Electrum.
|
|
# If 'env' already exists, it is activated and Electrum is started
|
|
# without any installations (unless the pins have changed).
|
|
#
|
|
# By default, not all optional dependencies are installed.
|
|
# E.g. for hardware wallet support, do:
|
|
# $ source ./env/bin/activate
|
|
# $ pip install -r contrib/deterministic-build/requirements-hw.txt
|
|
# $ deactivate
|
|
|
|
set -e
|
|
|
|
cd "$(dirname "$0")"
|
|
if [ -e ./env/bin/activate ]; then # existing venv
|
|
source ./env/bin/activate
|
|
else # create new venv
|
|
echo "Creating new venv."
|
|
python3 -m venv env
|
|
source ./env/bin/activate
|
|
pip install -r contrib/deterministic-build/requirements.txt
|
|
pip install -r contrib/deterministic-build/requirements-binaries.txt
|
|
pip install --no-dependencies -e .
|
|
echo "Done creating venv."
|
|
fi
|
|
|
|
# This might be an old directory and our requirements might have changed in the meantime:
|
|
DEPS_CHANGED_TIME=$(stat --printf %Y contrib/deterministic-build/requirements.txt)
|
|
if [ "$DEPS_CHANGED_TIME" -gt "$(stat --printf %Y env)" ] ; then
|
|
echo "Detected changed requirements.txt. Updating dependencies now..."
|
|
pip install -r contrib/deterministic-build/requirements.txt
|
|
pip install -r contrib/deterministic-build/requirements-binaries.txt
|
|
touch env
|
|
echo "Done updating deps."
|
|
fi
|
|
|
|
./run_electrum "$@"
|