Browse Source
Add new requirements file for binaries in contrib
3.1
Johann Bauer
7 years ago
No known key found for this signature in database
GPG Key ID: 84F1BF925B1F484D
10 changed files with
25 additions and
45 deletions
-
.travis.yml
-
contrib/build-osx/make_osx
-
contrib/build-wine/prepare-wine.sh
-
contrib/deterministic-build/requirements-binaries.txt
-
contrib/freeze_packages.sh
-
contrib/requirements/requirements-binaries.txt
-
contrib/requirements/requirements-hw.txt
-
contrib/requirements/requirements-travis.txt
-
contrib/requirements/requirements.txt
-
setup.py
|
|
@ -4,7 +4,7 @@ python: |
|
|
|
- 3.5 |
|
|
|
- 3.6 |
|
|
|
install: |
|
|
|
- pip install -r requirements_travis.txt |
|
|
|
- pip install -r contrib/requirements/requirements-travis.txt |
|
|
|
cache: |
|
|
|
- pip |
|
|
|
script: |
|
|
|
|
|
@ -58,7 +58,7 @@ cp /tmp/electrum-build/electrum-icons/icons_rc.py ./gui/qt/ |
|
|
|
|
|
|
|
info "Installing requirements..." |
|
|
|
python3 -m pip install -Ir ./contrib/deterministic-build/requirements.txt --user && \ |
|
|
|
python3 -m pip install pyqt5 --user || \ |
|
|
|
python3 -m pip install -Ir ./contrib/deterministic-build/requirements-binaries.txt --user || \ |
|
|
|
fail "Could not install requirements" |
|
|
|
|
|
|
|
info "Installing hardware wallet requirements..." |
|
|
|
|
|
@ -73,27 +73,17 @@ done |
|
|
|
$PYTHON -m pip install pip --upgrade |
|
|
|
|
|
|
|
# Install pywin32-ctypes (needed by pyinstaller) |
|
|
|
$PYTHON -m pip install pywin32-ctypes |
|
|
|
$PYTHON -m pip install pywin32-ctypes==0.1.2 |
|
|
|
|
|
|
|
# Install PyQt |
|
|
|
$PYTHON -m pip install PyQt5 |
|
|
|
|
|
|
|
## Install pyinstaller |
|
|
|
#$PYTHON -m pip install pyinstaller==3.3 |
|
|
|
# install PySocks |
|
|
|
$PYTHON -m pip install win_inet_pton==1.0.1 |
|
|
|
|
|
|
|
$PYTHON -m pip install -r ../../deterministic-build/requirements-binaries.txt |
|
|
|
|
|
|
|
# Install ZBar |
|
|
|
#wget -q -O zbar.exe "https://sourceforge.net/projects/zbar/files/zbar/0.10/zbar-0.10-setup.exe/download" |
|
|
|
#wine zbar.exe |
|
|
|
|
|
|
|
# install Cryptodome |
|
|
|
$PYTHON -m pip install pycryptodomex |
|
|
|
|
|
|
|
# install PySocks |
|
|
|
$PYTHON -m pip install win_inet_pton |
|
|
|
|
|
|
|
# install websocket (python2) |
|
|
|
$PYTHON -m pip install websocket-client |
|
|
|
|
|
|
|
# Upgrade setuptools (so Electrum can be installed later) |
|
|
|
$PYTHON -m pip install setuptools --upgrade |
|
|
@ -111,5 +101,4 @@ wine nsis.exe /S |
|
|
|
# add dlls needed for pyinstaller: |
|
|
|
cp $WINEPREFIX/drive_c/python$PYTHON_VERSION/Lib/site-packages/PyQt5/Qt/bin/* $WINEPREFIX/drive_c/python$PYTHON_VERSION/ |
|
|
|
|
|
|
|
|
|
|
|
echo "Wine is configured. Please run prepare-pyinstaller.sh" |
|
|
|
|
|
@ -0,0 +1,5 @@ |
|
|
|
pycryptodomex==3.4.12 |
|
|
|
PyQt5==5.9 |
|
|
|
sip==4.19.7 |
|
|
|
six==1.11.0 |
|
|
|
websocket-client==0.46.0 |
|
|
@ -6,34 +6,17 @@ contrib=$(dirname "$0") |
|
|
|
|
|
|
|
which virtualenv > /dev/null 2>&1 || { echo "Please install virtualenv" && exit 1; } |
|
|
|
|
|
|
|
# standard Electrum dependencies |
|
|
|
for i in '' '-hw' '-binaries'; do |
|
|
|
rm "$venv_dir" -rf |
|
|
|
virtualenv -p $(which python3) $venv_dir |
|
|
|
|
|
|
|
rm "$venv_dir" -rf |
|
|
|
virtualenv -p $(which python3) $venv_dir |
|
|
|
source $venv_dir/bin/activate |
|
|
|
|
|
|
|
source $venv_dir/bin/activate |
|
|
|
echo "Installing $i dependencies" |
|
|
|
|
|
|
|
echo "Installing main dependencies" |
|
|
|
|
|
|
|
pushd $contrib/.. |
|
|
|
python setup.py install |
|
|
|
popd |
|
|
|
|
|
|
|
pip freeze | sed '/^Electrum/ d' > $contrib/deterministic-build/requirements.txt |
|
|
|
|
|
|
|
|
|
|
|
# hw wallet library dependencies |
|
|
|
|
|
|
|
rm "$venv_dir" -rf |
|
|
|
virtualenv -p $(which python3) $venv_dir |
|
|
|
|
|
|
|
source $venv_dir/bin/activate |
|
|
|
|
|
|
|
echo "Installing hw wallet dependencies" |
|
|
|
|
|
|
|
python -m pip install -r $contrib/../requirements-hw.txt --upgrade |
|
|
|
|
|
|
|
pip freeze | sed '/^Electrum/ d' > $contrib/deterministic-build/requirements-hw.txt |
|
|
|
python -m pip install -r $contrib/requirements/requirements${i}.txt --upgrade |
|
|
|
|
|
|
|
pip freeze | sed '/^Electrum/ d' > $contrib/deterministic-build/requirements${i}.txt |
|
|
|
done |
|
|
|
|
|
|
|
echo "Done. Updated requirements" |
|
|
|
|
|
@ -0,0 +1,3 @@ |
|
|
|
PyQt5 |
|
|
|
pycryptodomex |
|
|
|
websocket-client |
|
|
@ -9,10 +9,10 @@ import platform |
|
|
|
import imp |
|
|
|
import argparse |
|
|
|
|
|
|
|
with open('requirements.txt') as f: |
|
|
|
with open('contrib/requirements/requirements.txt') as f: |
|
|
|
requirements = f.read().splitlines() |
|
|
|
|
|
|
|
with open('requirements-hw.txt') as f: |
|
|
|
with open('contrib/requirements/requirements-hw.txt') as f: |
|
|
|
requirements_hw = f.read().splitlines() |
|
|
|
|
|
|
|
version = imp.load_source('version', 'lib/version.py') |
|
|
@ -20,7 +20,7 @@ version = imp.load_source('version', 'lib/version.py') |
|
|
|
if sys.version_info[:3] < (3, 4, 0): |
|
|
|
sys.exit("Error: Electrum requires Python version >= 3.4.0...") |
|
|
|
|
|
|
|
data_files = ['requirements.txt', 'requirements-hw.txt'] |
|
|
|
data_files = ['contrib/requirements/' + r for r in ['requirements.txt', 'requirements-hw.txt']] |
|
|
|
|
|
|
|
if platform.system() in ['Linux', 'FreeBSD', 'DragonFly']: |
|
|
|
parser = argparse.ArgumentParser() |
|
|
|