Add new requirements file for binaries in contrib

This commit is contained in:
Johann Bauer 2018-02-11 16:27:01 +01:00
parent f9a3edc2a2
commit afa0168e14
No known key found for this signature in database
GPG key ID: 84F1BF925B1F484D
10 changed files with 25 additions and 45 deletions

View file

@ -4,7 +4,7 @@ python:
- 3.5 - 3.5
- 3.6 - 3.6
install: install:
- pip install -r requirements_travis.txt - pip install -r contrib/requirements/requirements-travis.txt
cache: cache:
- pip - pip
script: script:

View file

@ -58,7 +58,7 @@ cp /tmp/electrum-build/electrum-icons/icons_rc.py ./gui/qt/
info "Installing requirements..." info "Installing requirements..."
python3 -m pip install -Ir ./contrib/deterministic-build/requirements.txt --user && \ 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" fail "Could not install requirements"
info "Installing hardware wallet requirements..." info "Installing hardware wallet requirements..."

View file

@ -73,27 +73,17 @@ done
$PYTHON -m pip install pip --upgrade $PYTHON -m pip install pip --upgrade
# Install pywin32-ctypes (needed by pyinstaller) # Install pywin32-ctypes (needed by pyinstaller)
$PYTHON -m pip install pywin32-ctypes $PYTHON -m pip install pywin32-ctypes==0.1.2
# Install PyQt # install PySocks
$PYTHON -m pip install PyQt5 $PYTHON -m pip install win_inet_pton==1.0.1
## Install pyinstaller
#$PYTHON -m pip install pyinstaller==3.3
$PYTHON -m pip install -r ../../deterministic-build/requirements-binaries.txt
# Install ZBar # Install ZBar
#wget -q -O zbar.exe "https://sourceforge.net/projects/zbar/files/zbar/0.10/zbar-0.10-setup.exe/download" #wget -q -O zbar.exe "https://sourceforge.net/projects/zbar/files/zbar/0.10/zbar-0.10-setup.exe/download"
#wine zbar.exe #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) # Upgrade setuptools (so Electrum can be installed later)
$PYTHON -m pip install setuptools --upgrade $PYTHON -m pip install setuptools --upgrade
@ -111,5 +101,4 @@ wine nsis.exe /S
# add dlls needed for pyinstaller: # add dlls needed for pyinstaller:
cp $WINEPREFIX/drive_c/python$PYTHON_VERSION/Lib/site-packages/PyQt5/Qt/bin/* $WINEPREFIX/drive_c/python$PYTHON_VERSION/ 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" echo "Wine is configured. Please run prepare-pyinstaller.sh"

View file

@ -0,0 +1,5 @@
pycryptodomex==3.4.12
PyQt5==5.9
sip==4.19.7
six==1.11.0
websocket-client==0.46.0

View file

@ -6,34 +6,17 @@ contrib=$(dirname "$0")
which virtualenv > /dev/null 2>&1 || { echo "Please install virtualenv" && exit 1; } 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 rm "$venv_dir" -rf
virtualenv -p $(which python3) $venv_dir virtualenv -p $(which python3) $venv_dir
source $venv_dir/bin/activate source $venv_dir/bin/activate
echo "Installing main dependencies" echo "Installing $i dependencies"
pushd $contrib/.. python -m pip install -r $contrib/requirements/requirements${i}.txt --upgrade
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
pip freeze | sed '/^Electrum/ d' > $contrib/deterministic-build/requirements${i}.txt
done
echo "Done. Updated requirements" echo "Done. Updated requirements"

View file

@ -0,0 +1,3 @@
PyQt5
pycryptodomex
websocket-client

View file

@ -9,10 +9,10 @@ import platform
import imp import imp
import argparse import argparse
with open('requirements.txt') as f: with open('contrib/requirements/requirements.txt') as f:
requirements = f.read().splitlines() 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() requirements_hw = f.read().splitlines()
version = imp.load_source('version', 'lib/version.py') 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): if sys.version_info[:3] < (3, 4, 0):
sys.exit("Error: Electrum requires Python version >= 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']: if platform.system() in ['Linux', 'FreeBSD', 'DragonFly']:
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser()