From f32306beec0dd8ba427f29e709ff20e1bd47b2b3 Mon Sep 17 00:00:00 2001 From: Parth Oberoi Date: Sat, 13 Jul 2019 10:20:21 +0530 Subject: [PATCH] Update travis builds update windows python to python36 update version to v3.2.1a --- .travis.yml | 48 ++++++++------- contrib/build-wine/build-electrum-git.sh | 2 +- contrib/build-wine/electrum.nsi | 6 +- contrib/zclassic/deterministic.spec | 4 +- contrib/zclassic/travis/Dockerfile-wine | 60 +++++++++---------- .../zclassic/travis/before_install-linux.sh | 2 +- contrib/zclassic/travis/before_install-osx.sh | 3 +- contrib/zclassic/travis/build_wine.sh | 16 ++--- contrib/zclassic/travis/travis-build-linux.sh | 9 ++- contrib/zclassic/travis/travis-build-osx.sh | 3 +- lib/version.py | 2 +- 11 files changed, 79 insertions(+), 76 deletions(-) diff --git a/.travis.yml b/.travis.yml index b9f98bec..a93110ff 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,35 +12,45 @@ matrix: language: ruby osx_image: xcode7.3 - os: linux - python: '3.4' + python: "3.4" services: - docker - if: NOT tag =~ .+ os: linux - python: '3.5' + python: "3.5" - if: NOT tag =~ .+ os: linux - python: '3.6' + python: "3.6" before_install: - source contrib/zclassic/travis/electrum_zclassic_version_env.sh - echo electrum-zclassic version is $ELECTRUM_ZCL_VERSION - mkdir -p build && cp contrib/zclassic/travis/* ./build/ -- if [[ -n $TRAVIS_TAG ]] && [[ $TRAVIS_OS_NAME == 'osx' ]]; then ./build/before_install-osx.sh; +- if [[ -n $TRAVIS_TAG ]] && [[ $TRAVIS_OS_NAME == 'osx' ]]; then + ./build/before_install-osx.sh; + fi +- if [[ -n $TRAVIS_TAG ]] && [[ $TRAVIS_OS_NAME == 'linux' ]] && [[ $TRAVIS_PYTHON_VERSION == '3.4' ]]; then + ./build/before_install-linux.sh; + fi +- if [[ -n $TRAVIS_TAG ]] && [[ $TRAVIS_OS_NAME == 'linux' ]] && [[ $TRAVIS_PYTHON_VERSION == '3.5' ]]; then + ./build/before_install-linux-apk.sh; fi -- if [[ -n $TRAVIS_TAG ]] && [[ $TRAVIS_OS_NAME == 'linux' ]] && [[ $TRAVIS_PYTHON_VERSION - == '3.4' ]]; then ./build/before_install-linux.sh; fi -- if [[ -n $TRAVIS_TAG ]] && [[ $TRAVIS_OS_NAME == 'linux' ]] && [[ $TRAVIS_PYTHON_VERSION - == '3.5' ]]; then ./build/before_install-linux-apk.sh; fi install: -- if [[ -z $TRAVIS_TAG ]] && [[ $TRAVIS_OS_NAME == 'linux' ]]; then pip install tox; - pip install tox-travis; fi +- if [[ -z $TRAVIS_TAG ]] && [[ $TRAVIS_OS_NAME == 'linux' ]]; then + pip install tox; pip install tox-travis; + fi script: -- if [[ -n $TRAVIS_TAG ]] && [[ $TRAVIS_OS_NAME == 'osx' ]]; then ./build/travis-build-osx.sh - ; fi -- if [[ -n $TRAVIS_TAG ]] && [[ $TRAVIS_OS_NAME == 'linux' ]] && [[ $TRAVIS_PYTHON_VERSION - == '3.4' ]]; then ./build/travis-build-linux.sh; fi -- if [[ -n $TRAVIS_TAG ]] && [[ $TRAVIS_OS_NAME == 'linux' ]] && [[ $TRAVIS_PYTHON_VERSION - == '3.5' ]]; then ./build/travis-build-linux-apk.sh; fi +- if [[ -z $TRAVIS_TAG ]] && [[ $TRAVIS_OS_NAME == 'linux' ]];then + tox; + fi +- if [[ -n $TRAVIS_TAG ]] && [[ $TRAVIS_OS_NAME == 'osx' ]]; then + ./build/travis-build-osx.sh ; + fi +- if [[ -n $TRAVIS_TAG ]] && [[ $TRAVIS_OS_NAME == 'linux' ]] && [[ $TRAVIS_PYTHON_VERSION == '3.4' ]]; then + ./build/travis-build-linux.sh; + fi +- if [[ -n $TRAVIS_TAG ]] && [[ $TRAVIS_OS_NAME == 'linux' ]] && [[ $TRAVIS_PYTHON_VERSION == '3.5' ]]; then + ./build/travis-build-linux-apk.sh; + fi deploy: - provider: releases api_key: @@ -49,9 +59,8 @@ deploy: - build/electrum-zclassic/dist/electrum-zclassic-$ELECTRUM_ZCL_VERSION-macosx.dmg on: repo: ZclassicCommunity/electrum-zclassic - tags: false + tags: true condition: "$TRAVIS_OS_NAME = osx" - draft: true - provider: releases api_key: secure: n0KT+T49e1mOIV64wpVmf4bYga4KArHQnY9ZQ3u2DImLRGmhMkpa/OC6/oboDdzdyC+IhpcdwX7uCu2lxlsFBfP2zyuprEQThxeW8gL6pFaTMoJJ201lNjppFmCpbS2VqxDJWIap3E+RHwoQZpo+b8Lt2xoOzB1VZFdxm4qVCb/I4jl5ZWouibYxMwb9IsqdakTK7ZTmCN+YMthsbgvRpjbb1s5vuE5I3AjVx3dFOR2YYvfdwjfknSY9Ej7xfUqmkraRdd4kRQrznVDdB5i9gvPTF1hxtGGusxsDHEYAe6pUdDKk6XZ6esM/MhZDHnxWMt0wUKNrdIIlL9gI767AHiP+VQ5SAfbbVZrkCVIQ4d8s7dH4AbFlW0dsj5OuLb00Mp99FPxYpmMkdz6agWQmFky83Hc++DiGaRGZQr3eQUnKUkuGsWjueXCh5AC4uYNNYnXlaz2mkrKxenWgXscAa7XlyVcdZMAilMeOVOjZdjkjhN0bPz905NOm0sCSkOiR6v0iJmFsw2KKZwGNBG/DQV4bBWzbEu3G5ehCP4WkbXh0Cfjxqi56LkZt4YXbkFIHY+qj0gE6tRQbc42lad8+aLGbi4mKnttCuLZbN70E+c1Y++VAaYAOCqF9VlDD5/4OIizeRYW9hC18wD0+T3GWK+mezpWKrWdkdIEEVvt1SyQ= @@ -62,6 +71,5 @@ deploy: - build/electrum-zclassic/bin/Electrum_Zclassic-$ELECTRUM_ZCL_APK_VERSION-release-unsigned.apk on: repo: ZclassicCommunity/electrum-zclassic - tags: false + tags: true condition: "$TRAVIS_OS_NAME = linux" - draft: true diff --git a/contrib/build-wine/build-electrum-git.sh b/contrib/build-wine/build-electrum-git.sh index 6d2836b9..c8f6b1cb 100755 --- a/contrib/build-wine/build-electrum-git.sh +++ b/contrib/build-wine/build-electrum-git.sh @@ -26,7 +26,7 @@ for repo in electrum-zclassic electrum-locale electrum-icons; do git checkout master cd .. else - URL=https://github.com/ZClassicCommunity/$repo.git + URL=https://github.com/ZclassicCommunity/$repo.git git clone -b master $URL $repo fi done diff --git a/contrib/build-wine/electrum.nsi b/contrib/build-wine/electrum.nsi index 2fb1ce63..c2b71ce9 100644 --- a/contrib/build-wine/electrum.nsi +++ b/contrib/build-wine/electrum.nsi @@ -6,9 +6,9 @@ ;-------------------------------- ;Variables - !define PRODUCT_NAME "ZClassic Electrum" - !define PRODUCT_WEB_SITE "https://github.com/ZClassicCommunity/electrum-zclassic" - !define PRODUCT_PUBLISHER "ZClassic Electrum Technologies" + !define PRODUCT_NAME "Zclassic Electrum" + !define PRODUCT_WEB_SITE "https://github.com/ZclassicCommunity/electrum-zclassic" + !define PRODUCT_PUBLISHER "Zclassic Electrum Technologies" !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" ;-------------------------------- diff --git a/contrib/zclassic/deterministic.spec b/contrib/zclassic/deterministic.spec index 4116f230..0ac603eb 100644 --- a/contrib/zclassic/deterministic.spec +++ b/contrib/zclassic/deterministic.spec @@ -50,7 +50,7 @@ datas += collect_data_files('trezorlib') datas += collect_data_files('btchip') datas += collect_data_files('keepkeylib') -binaries = [('C:/Python34/libusb-1.0.dll', '.')] +binaries = [('C:/Python36/libusb-1.0.dll', '.')] # https://github.com/pyinstaller/pyinstaller/wiki/Recipe-remove-tkinter-tcl sys.modules['FixTk'] = None @@ -136,7 +136,7 @@ conexe = EXE(pyz, 'console-%s' % cmdline_name)) # trezorctl separate executable -tctl_a = Analysis(['C:/Python34/Scripts/trezorctl'], +tctl_a = Analysis(['C:/Python36/Scripts/trezorctl'], hiddenimports=['pkgutil'], excludes=excludes, runtime_hooks=['pyi_tctl_runtimehook.py']) diff --git a/contrib/zclassic/travis/Dockerfile-wine b/contrib/zclassic/travis/Dockerfile-wine index 96630112..1986e8cb 100644 --- a/contrib/zclassic/travis/Dockerfile-wine +++ b/contrib/zclassic/travis/Dockerfile-wine @@ -1,10 +1,13 @@ -FROM debian:stretch-slim +FROM ubuntu:18.04 LABEL maintainer "Andriy Khavryuchenko " USER root WORKDIR /root RUN dpkg --add-architecture i386 \ + && apt-get update \ + && apt-get install -y --no-install-recommends software-properties-common \ + && apt-add-repository -y ppa:zebra-lucky/ed-bdeps \ && apt-get update \ && apt-get install -y --no-install-recommends \ wine-development wine32-development wine64-development libwine-development libwine-development:i386 \ @@ -13,75 +16,72 @@ RUN dpkg --add-architecture i386 \ && chmod +x winetricks && mv winetricks /usr/local/bin \ && rm -rf /var/lib/apt/lists/* -ENV WINEPATH c:/git/cmd +ENV WINEPATH c:/git/cmd;c:/Python36;c:/Python36/Scripts ENV WINEDEBUG -all ENV WINEPREFIX /root/.wine-32 ENV WINEARCH win32 -ENV PYHOME $WINEPREFIX/drive_c/Python34 +ENV PYHOME $WINEPREFIX/drive_c/Python36 -RUN echo 'download and install 32-bit Python/mingwpy/pywin32/PyQt/git/NSIS/PyInstaller' \ +RUN echo 'download and install 32-bit Python/pywin32/PyQt/git/NSIS' \ && wineboot -i \ - && xvfb-run -a winetricks -q vcrun2010 \ + && xvfb-run -a winetricks -q vcrun2015 && winetricks win10 \ \ - && wget -nv -O python.msi https://www.python.org/ftp/python/3.4.4/python-3.4.4.msi \ - && msiexec /q /i python.msi && rm python.msi \ + && wget -nv -O python.exe https://www.python.org/ftp/python/3.6.6/python-3.6.6.exe \ + && xvfb-run -a wine python.exe /quiet InstallAllUsers=1 TargetDir=$PYHOME && rm python.exe \ + && wine python -m pip install -U pip \ \ && wget -nv -O libusb.7z https://prdownloads.sourceforge.net/project/libusb/libusb-1.0/libusb-1.0.22/libusb-1.0.22.7z?download \ && 7z x -olibusb libusb.7z -aos && rm libusb.7z \ && cp libusb/MS32/dll/libusb-1.0.dll $PYHOME/ \ \ - && wine pip install -i https://pypi.anaconda.org/carlkl/simple mingwpy \ - && /bin/echo -e '[build]\ncompiler=mingw32\n' > $PYHOME/Lib/distutils/distutils.cfg \ - \ - && wget -nv -O pywin32.exe https://github.com/mhammond/pywin32/releases/download/b221/pywin32-221.win32-py3.4.exe \ + && wget -nv -O pywin32.exe https://github.com/mhammond/pywin32/releases/download/b223/pywin32-223.win32-py3.6.exe \ && unzip -qq -d pywin32 pywin32.exe; echo && rm pywin32.exe \ && cp -r pywin32/PLATLIB/* $PYHOME/Lib/site-packages/ \ && cp -r pywin32/SCRIPTS/* $PYHOME/Scripts/ && rm -rf pywin32 \ && wine python $PYHOME/Scripts/pywin32_postinstall.py -install \ \ - && wget -nv -O PyQt.exe "https://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-5.5.1/PyQt5-5.5.1-gpl-Py3.4-Qt5.5.1-x32.exe/download" \ - && wine PyQt.exe /S && rm PyQt.exe \ + && wine pip install PyQt5==5.11.2 \ \ && wget -nv -O git.zip https://github.com/git-for-windows/git/releases/download/v2.16.3.windows.1/MinGit-2.16.3-32-bit.zip \ && unzip -qq -d git git.zip && rm git.zip && mv git $WINEPREFIX/drive_c/ \ \ - && wget -nv -O nsis.exe "https://sourceforge.net/projects/nsis/files/NSIS%202/2.51/nsis-2.51-setup.exe/download" \ - && wine nsis.exe /S && rm nsis.exe \ + && wget -nv -O nsis.exe "https://prdownloads.sourceforge.net/nsis/nsis-3.03-setup.exe?download" \ + && wine nsis.exe /S \ \ - && wine pip install PyInstaller==3.2.1 \ && rm -rf /tmp/.wine-0 ENV WINEPREFIX /root/.wine-64 ENV WINEARCH win64 -ENV PYHOME $WINEPREFIX/drive_c/Python34 +ENV PYHOME $WINEPREFIX/drive_c/Python36 -RUN echo 'download and install 64-bit Python/mingwpy/pywin32/PyQt/git/NSIS/PyInstaller' \ - && wineboot -i \ - && xvfb-run -a winetricks -q vcrun2010 \ +RUN echo 'download and install 64-bit Python/pywin32/PyQt/git/NSIS' \ + && wineboot -i && winetricks win10 \ + && wget -nv https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x64.exe \ + && cabextract -d ex vc_redist.x64.exe && rm vc_redist.x64.exe \ + && cabextract -d ex/a10ex ex/a10 && cabextract -d ex/a11ex ex/a11 \ + && for f in ex/a10ex/api_ms_win_*; do mv $f $(echo "$f" | sed s/_/-/g); done \ + && cp ex/a10ex/* $WINEPREFIX/drive_c/windows/system32 \ + && cp ex/a11ex/* $WINEPREFIX/drive_c/windows/system32 \ + && rm -rf ex \ \ - && wget -nv -O python.msi https://www.python.org/ftp/python/3.4.4/python-3.4.4.amd64.msi \ - && msiexec /q /i python.msi && rm python.msi \ + && wget -nv -O python.exe https://www.python.org/ftp/python/3.6.6/python-3.6.6-amd64.exe \ + && xvfb-run -a wine python.exe /quiet InstallAllUsers=1 TargetDir=$PYHOME && rm python.exe \ + && wine python -m pip install -U pip \ \ && cp libusb/MS64/dll/libusb-1.0.dll $PYHOME/ && rm -rf libusb \ \ - && wine pip install -i https://pypi.anaconda.org/carlkl/simple mingwpy \ - && /bin/echo -e '[build]\ncompiler=mingw32\n' > $PYHOME/Lib/distutils/distutils.cfg \ - \ - && wget -nv -O pywin32.exe https://github.com/mhammond/pywin32/releases/download/b221/pywin32-221.win-amd64-py3.4.exe \ + && wget -nv -O pywin32.exe https://github.com/mhammond/pywin32/releases/download/b223/pywin32-223.win-amd64-py3.6.exe \ && unzip -qq -d pywin32 pywin32.exe; echo && rm pywin32.exe \ && cp -r pywin32/PLATLIB/* $PYHOME/Lib/site-packages/ \ && cp -r pywin32/SCRIPTS/* $PYHOME/Scripts/ && rm -rf pywin32 \ && wine python $PYHOME/Scripts/pywin32_postinstall.py -install \ \ - && wget -nv -O PyQt.exe "https://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-5.5.1/PyQt5-5.5.1-gpl-Py3.4-Qt5.5.1-x64.exe/download" \ - && wine PyQt.exe /S && rm PyQt.exe \ + && wine pip install PyQt5==5.11.2 \ \ && wget -nv -O git.zip https://github.com/git-for-windows/git/releases/download/v2.16.3.windows.1/MinGit-2.16.3-64-bit.zip \ && unzip -qq -d git git.zip && rm git.zip && mv git $WINEPREFIX/drive_c/ \ \ - && wget -nv -O nsis.exe "https://sourceforge.net/projects/nsis/files/NSIS%202/2.51/nsis-2.51-setup.exe/download" \ && wine nsis.exe /S && rm nsis.exe \ \ - && wine pip install PyInstaller==3.2.1 \ && rm -rf /tmp/.wine-0 diff --git a/contrib/zclassic/travis/before_install-linux.sh b/contrib/zclassic/travis/before_install-linux.sh index 80e502bc..5944b111 100755 --- a/contrib/zclassic/travis/before_install-linux.sh +++ b/contrib/zclassic/travis/before_install-linux.sh @@ -7,4 +7,4 @@ if [[ -z $TRAVIS_TAG ]]; then fi docker pull zebralucky/electrum-dash-winebuild:Linux -docker pull zebralucky/electrum-dash-winebuild:Wine +docker pull zebralucky/electrum-dash-winebuild:WinePy36 diff --git a/contrib/zclassic/travis/before_install-osx.sh b/contrib/zclassic/travis/before_install-osx.sh index 16d2dfd6..c2d56654 100755 --- a/contrib/zclassic/travis/before_install-osx.sh +++ b/contrib/zclassic/travis/before_install-osx.sh @@ -9,7 +9,8 @@ fi cd build brew update -brew install zebra-lucky/qt5/qt5 +brew tap zebra-lucky/qt5 +brew install zebra-lucky/qt5/qt brew install gettext curl -O https://www.python.org/ftp/python/3.6.5/python-3.6.5-macosx10.6.pkg diff --git a/contrib/zclassic/travis/build_wine.sh b/contrib/zclassic/travis/build_wine.sh index 7f9c495f..942bfa13 100755 --- a/contrib/zclassic/travis/build_wine.sh +++ b/contrib/zclassic/travis/build_wine.sh @@ -13,21 +13,17 @@ cp contrib/zclassic/deterministic.spec . cp contrib/zclassic/pyi_runtimehook.py . cp contrib/zclassic/pyi_tctl_runtimehook.py . -wine pip install --upgrade pip -export PYINSTALLER_TAG=dev180610 -wget https://github.com/zebra-lucky/pyinstaller/archive/$PYINSTALLER_TAG.tar.gz -wine pip install $PYINSTALLER_TAG.tar.gz -rm $PYINSTALLER_TAG.tar.gz - -wine pip install eth-hash==0.1.2 wine pip install -r contrib/zclassic/requirements.txt +wine pip install --upgrade pip==18.1 +wine pip install PyInstaller==3.4 -wine pip install x11_hash -wine pip install cython +wine pip install cython=0.29.3 wine pip install hidapi wine pip install pycryptodomex==3.6.0 -wine pip install btchip-python==0.1.26 +wine pip install btchip-python==0.1.28 wine pip install keepkey==4.0.2 + +wine pip install rlp==0.6.0 wine pip install trezor==0.9.1 mkdir $WINEPREFIX/drive_c/Qt diff --git a/contrib/zclassic/travis/travis-build-linux.sh b/contrib/zclassic/travis/travis-build-linux.sh index fcb68205..6e5b8728 100755 --- a/contrib/zclassic/travis/travis-build-linux.sh +++ b/contrib/zclassic/travis/travis-build-linux.sh @@ -20,10 +20,9 @@ docker run --rm \ sudo find . -name '*.po' -delete sudo find . -name '*.pot' -delete - export WINEARCH=win32 export WINEPREFIX=/root/.wine-32 -export PYHOME=$WINEPREFIX/drive_c/Python34 +export PYHOME=$WINEPREFIX/drive_c/Python36 wget https://github.com/zebra-lucky/zbarw/releases/download/20180620/zbarw-zbarcam-0.10-win32.zip unzip zbarw-zbarcam-0.10-win32.zip && rm zbarw-zbarcam-0.10-win32.zip @@ -35,11 +34,11 @@ docker run --rm \ -v $(pwd):/opt \ -v $(pwd)/electrum-zclassic/:$WINEPREFIX/drive_c/electrum-zclassic \ -w /opt/electrum-zclassic \ - -t zebralucky/electrum-dash-winebuild:Wine /opt/build_wine.sh + -t zebralucky/electrum-dash-winebuild:WinePy36 /opt/build_wine.sh export WINEARCH=win64 export WINEPREFIX=/root/.wine-64 -export PYHOME=$WINEPREFIX/drive_c/Python34 +export PYHOME=$WINEPREFIX/drive_c/Python36 wget https://github.com/zebra-lucky/zbarw/releases/download/20180620/zbarw-zbarcam-0.10-win64.zip unzip zbarw-zbarcam-0.10-win64.zip && rm zbarw-zbarcam-0.10-win64.zip @@ -51,4 +50,4 @@ docker run --rm \ -v $(pwd):/opt \ -v $(pwd)/electrum-zclassic/:$WINEPREFIX/drive_c/electrum-zclassic \ -w /opt/electrum-zclassic \ - -t zebralucky/electrum-dash-winebuild:Wine /opt/build_wine.sh + -t zebralucky/electrum-dash-winebuild:WinePy36 /opt/build_wine.sh diff --git a/contrib/zclassic/travis/travis-build-osx.sh b/contrib/zclassic/travis/travis-build-osx.sh index 0abae1cc..601bc377 100755 --- a/contrib/zclassic/travis/travis-build-osx.sh +++ b/contrib/zclassic/travis/travis-build-osx.sh @@ -22,9 +22,8 @@ echo wine build version is $ELECTRUM_ZCL_VERSION sudo pip3 install --upgrade pip sudo pip3 install -r contrib/deterministic-build/requirements.txt sudo pip3 install \ - x11_hash>=1.4 \ pycryptodomex==3.6.0 \ - btchip-python==0.1.26 \ + btchip-python==0.1.28 \ keepkey==4.0.2 \ trezor==0.9.1 diff --git a/lib/version.py b/lib/version.py index 30047f81..542ca102 100644 --- a/lib/version.py +++ b/lib/version.py @@ -1,4 +1,4 @@ -ELECTRUM_VERSION = '3.2.0' # version of the client package +ELECTRUM_VERSION = 'v3.2.1a' # version of the client package PROTOCOL_VERSION = '1.2' # protocol version requested # The hash of the mnemonic seed must begin with this