Skip to content

Commit

Permalink
Add new requirements file for binaries in contrib
Browse files Browse the repository at this point in the history
  • Loading branch information
bauerj committed Feb 11, 2018
1 parent f9a3edc commit afa0168
Show file tree
Hide file tree
Showing 10 changed files with 25 additions and 45 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Expand Up @@ -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:
Expand Down
2 changes: 1 addition & 1 deletion contrib/build-osx/make_osx
Expand Up @@ -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..."
Expand Down
19 changes: 4 additions & 15 deletions contrib/build-wine/prepare-wine.sh
Expand Up @@ -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
Expand All @@ -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"
5 changes: 5 additions & 0 deletions contrib/deterministic-build/requirements-binaries.txt
@@ -0,0 +1,5 @@
pycryptodomex==3.4.12
PyQt5==5.9
sip==4.19.7
six==1.11.0
websocket-client==0.46.0
33 changes: 8 additions & 25 deletions contrib/freeze_packages.sh
Expand Up @@ -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"
3 changes: 3 additions & 0 deletions contrib/requirements/requirements-binaries.txt
@@ -0,0 +1,3 @@
PyQt5
pycryptodomex
websocket-client
File renamed without changes.
File renamed without changes.
File renamed without changes.
6 changes: 3 additions & 3 deletions setup.py
Expand Up @@ -9,18 +9,18 @@
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')

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()
Expand Down

0 comments on commit afa0168

Please sign in to comment.