Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
wakiyamap committed Jul 18, 2018
2 parents 4d3eb5f + 0186f09 commit cdd546c
Show file tree
Hide file tree
Showing 334 changed files with 1,851 additions and 1,565 deletions.
3 changes: 1 addition & 2 deletions .gitignore
Expand Up @@ -5,10 +5,9 @@ build/
dist/
tmp/
*.egg/
/electrum.py
contrib/pyinstaller/
Electrum_MONA.egg-info/
gui/qt/icons_rc.py
electrum/gui/qt/icons_rc.py
locale/
.devlocaltmp/
*_trial_temp
Expand Down
255 changes: 255 additions & 0 deletions .pytest_cache/v/cache/nodeids

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion .travis.yml
Expand Up @@ -33,7 +33,7 @@ jobs:
install:
- sudo docker build --no-cache -t electrum-mona-wine-builder-img ./contrib/build-wine/docker/
script:
- sudo docker run --name electrum-mona-wine-builder-cont -v $PWD:/opt/electrum-mona --rm --workdir /opt/electrum-mona/contrib/build-wine electrum-mona-wine-builder-img ./build.sh $TRAVIS_COMMIT
- sudo docker run --name electrum-mona-wine-builder-cont -v $PWD:/opt/wine64/drive_c/electrum-mona --rm --workdir /opt/wine64/drive_c/electrum-mona/contrib/build-wine electrum-mona-wine-builder-img ./build.sh
after_success: true
- os: osx
language: c
Expand Down
8 changes: 4 additions & 4 deletions README.rst
Expand Up @@ -34,7 +34,7 @@ Electrum-mona from its root directory, without installing it on your
system; all the python dependencies are included in the 'packages'
directory. To run Electrum-mona from its root directory, just do::

./electrum-mona
./run_electrum

You can also install Electrum-mona on your system, by running this command::

Expand Down Expand Up @@ -75,12 +75,12 @@ Render the SVG icons to PNGs (optional)::
Compile the icons file for Qt::

sudo apt-get install pyqt5-dev-tools
pyrcc5 icons.qrc -o gui/qt/icons_rc.py
pyrcc5 icons.qrc -o electrum/gui/qt/icons_rc.py

Compile the protobuf description file::

sudo apt-get install protobuf-compiler
protoc --proto_path=lib/ --python_out=lib/ lib/paymentrequest.proto
protoc --proto_path=electrum --python_out=electrum electrum/paymentrequest.proto

Create translations (optional)::

Expand Down Expand Up @@ -114,4 +114,4 @@ See `contrib/build-wine/`.
Android
-------

See `gui/kivy/Readme.txt` file.
See `electrum/gui/kivy/Readme.md` file.
4 changes: 2 additions & 2 deletions contrib/build-osx/make_osx
Expand Up @@ -46,8 +46,8 @@ git submodule update
rm -rf $BUILDDIR > /dev/null 2>&1
mkdir $BUILDDIR

cp -R ./contrib/deterministic-build/electrum-locale/locale/ ./lib/locale/
cp ./contrib/deterministic-build/electrum-icons/icons_rc.py ./gui/qt/
cp -R ./contrib/deterministic-build/electrum-locale/locale/ ./electrum/locale/
cp ./contrib/deterministic-build/electrum-icons/icons_rc.py ./electrum/gui/qt/


info "Downloading libusb..."
Expand Down
194 changes: 96 additions & 98 deletions contrib/build-osx/osx.spec
@@ -1,98 +1,96 @@
# -*- mode: python -*-

from PyInstaller.utils.hooks import collect_data_files, collect_submodules, collect_dynamic_libs

import sys
import os

PACKAGE='Electrum-mona'
PYPKG='electrum_mona'
MAIN_SCRIPT='electrum-mona'
ICONS_FILE='electrum.icns'

for i, x in enumerate(sys.argv):
if x == '--name':
VERSION = sys.argv[i+1]
break
else:
raise Exception('no version')

electrum = os.path.abspath(".") + "/"
block_cipher = None

# see https://github.com/pyinstaller/pyinstaller/issues/2005
hiddenimports = []
hiddenimports += collect_submodules('trezorlib')
hiddenimports += collect_submodules('btchip')
hiddenimports += collect_submodules('keepkeylib')
hiddenimports += collect_submodules('websocket')

datas = [
(electrum+'lib/*.json', PYPKG),
(electrum+'lib/wordlist/english.txt', PYPKG + '/wordlist'),
(electrum+'lib/locale', PYPKG + '/locale'),
(electrum+'plugins', PYPKG + '_plugins'),
]
datas += collect_data_files('trezorlib')
datas += collect_data_files('btchip')
datas += collect_data_files('keepkeylib')

# Add libusb so Trezor will work
binaries = [(electrum + "contrib/build-osx/libusb-1.0.dylib", ".")]
binaries += [(electrum + "contrib/build-osx/libsecp256k1.0.dylib", ".")]

# Workaround for "Retro Look":
binaries += [b for b in collect_dynamic_libs('PyQt5') if 'macstyle' in b[0]]

# We don't put these files in to actually include them in the script but to make the Analysis method scan them for imports
a = Analysis([electrum+MAIN_SCRIPT,
electrum+'gui/qt/main_window.py',
electrum+'gui/text.py',
electrum+'lib/util.py',
electrum+'lib/wallet.py',
electrum+'lib/simple_config.py',
electrum+'lib/bitcoin.py',
electrum+'lib/blockchain.py',
electrum+'lib/dnssec.py',
electrum+'lib/commands.py',
electrum+'plugins/cosigner_pool/qt.py',
electrum+'plugins/email_requests/qt.py',
electrum+'plugins/trezor/client.py',
electrum+'plugins/trezor/qt.py',
electrum+'plugins/keepkey/qt.py',
electrum+'plugins/ledger/qt.py',
],
binaries=binaries,
datas=datas,
hiddenimports=hiddenimports,
hookspath=[])

# http://stackoverflow.com/questions/19055089/pyinstaller-onefile-warning-pyconfig-h-when-importing-scipy-or-scipy-signal
for d in a.datas:
if 'pyconfig' in d[0]:
a.datas.remove(d)
break

pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)

exe = EXE(pyz,
a.scripts,
a.binaries,
a.datas,
name=PACKAGE,
debug=False,
strip=False,
upx=True,
icon=electrum+ICONS_FILE,
console=False)

app = BUNDLE(exe,
version = VERSION,
name=PACKAGE + '.app',
icon=electrum+ICONS_FILE,
bundle_identifier=None,
info_plist={
'NSHighResolutionCapable': 'True',
'NSSupportsAutomaticGraphicsSwitching': 'True'
}
)
# -*- mode: python -*-

from PyInstaller.utils.hooks import collect_data_files, collect_submodules, collect_dynamic_libs

import sys
import os

PACKAGE='Electrum-MONA'
PYPKG='electrum'
MAIN_SCRIPT='run_electrum'
ICONS_FILE='electrum.icns'

for i, x in enumerate(sys.argv):
if x == '--name':
VERSION = sys.argv[i+1]
break
else:
raise Exception('no version')

electrum = os.path.abspath(".") + "/"
block_cipher = None

# see https://github.com/pyinstaller/pyinstaller/issues/2005
hiddenimports = []
hiddenimports += collect_submodules('trezorlib')
hiddenimports += collect_submodules('btchip')
hiddenimports += collect_submodules('keepkeylib')
hiddenimports += collect_submodules('websocket')

datas = [
(electrum+'electrum/*.json', PYPKG),
(electrum+'electrum/wordlist/english.txt', PYPKG + '/wordlist'),
(electrum+'electrum/locale', PYPKG + '/locale')
]
datas += collect_data_files('trezorlib')
datas += collect_data_files('btchip')
datas += collect_data_files('keepkeylib')

# Add libusb so Trezor will work
binaries = [(electrum + "contrib/build-osx/libusb-1.0.dylib", ".")]
binaries += [(electrum + "contrib/build-osx/libsecp256k1.0.dylib", ".")]

# Workaround for "Retro Look":
binaries += [b for b in collect_dynamic_libs('PyQt5') if 'macstyle' in b[0]]

# We don't put these files in to actually include them in the script but to make the Analysis method scan them for imports
a = Analysis([electrum+ MAIN_SCRIPT,
electrum+'electrum/gui/qt/main_window.py',
electrum+'electrum/gui/text.py',
electrum+'electrum/util.py',
electrum+'electrum/wallet.py',
electrum+'electrum/simple_config.py',
electrum+'electrum/bitcoin.py',
electrum+'electrum/dnssec.py',
electrum+'electrum/commands.py',
electrum+'electrum/plugins/cosigner_pool/qt.py',
electrum+'electrum/plugins/email_requests/qt.py',
electrum+'electrum/plugins/trezor/client.py',
electrum+'electrum/plugins/trezor/qt.py',
electrum+'electrum/plugins/keepkey/qt.py',
electrum+'electrum/plugins/ledger/qt.py',
],
binaries=binaries,
datas=datas,
hiddenimports=hiddenimports,
hookspath=[])

# http://stackoverflow.com/questions/19055089/pyinstaller-onefile-warning-pyconfig-h-when-importing-scipy-or-scipy-signal
for d in a.datas:
if 'pyconfig' in d[0]:
a.datas.remove(d)
break

pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)

exe = EXE(pyz,
a.scripts,
a.binaries,
a.datas,
name=PACKAGE,
debug=False,
strip=False,
upx=True,
icon=electrum+ICONS_FILE,
console=False)

app = BUNDLE(exe,
version = VERSION,
name=PACKAGE + '.app',
icon=electrum+ICONS_FILE,
bundle_identifier=None,
info_plist={
'NSHighResolutionCapable': 'True',
'NSSupportsAutomaticGraphicsSwitching': 'True'
}
)
28 changes: 5 additions & 23 deletions contrib/build-wine/build-electrum-git-ja.sh
@@ -1,7 +1,7 @@
#!/bin/bash

NAME_ROOT=electrum-mona
PYTHON_VERSION=3.5.4
PYTHON_VERSION=3.6.6

# These settings probably don't need any change
export WINEPREFIX=/opt/wine64
Expand All @@ -19,23 +19,7 @@ set -e
mkdir -p tmp
cd tmp

if [ -d ./electrum-mona ]; then
rm ./electrum-mona -rf
fi

git clone https://github.com/wakiyamap/electrum-mona -b master

pushd electrum-mona
if [ ! -z "$1" ]; then
# a commit/tag/branch was specified
if ! git cat-file -e "$1" 2> /dev/null
then # can't find target
# try pull requests
git config --local --add remote.origin.fetch '+refs/pull/*/merge:refs/remotes/origin/pr/*'
git fetch --all
fi
git checkout $1
fi
pushd $WINEPREFIX/drive_c/electrum-mona

# Load electrum-icons and electrum-locale for this release
git submodule init
Expand All @@ -59,11 +43,9 @@ popd
find -exec touch -d '2000-11-11T11:11:11+00:00' {} +
popd

rm -rf $WINEPREFIX/drive_c/electrum-mona
cp -r electrum-mona $WINEPREFIX/drive_c/electrum-mona
cp electrum-mona/LICENCE .
cp -r ./electrum-mona/contrib/deterministic-build/electrum-locale/locale $WINEPREFIX/drive_c/electrum-mona/lib/
cp ./electrum-mona/contrib/deterministic-build/electrum-icons/icons_rc.py $WINEPREFIX/drive_c/electrum-mona/gui/qt/
cp $WINEPREFIX/drive_c/electrum-mona/LICENCE .
cp -r $WINEPREFIX/drive_c/electrum-mona/contrib/deterministic-build/electrum-locale/locale $WINEPREFIX/drive_c/electrum-mona/electrum/
cp $WINEPREFIX/drive_c/electrum-mona/contrib/deterministic-build/electrum-icons/icons_rc.py $WINEPREFIX/drive_c/electrum-mona/electrum/gui/qt/

# build japanese version
cp ../default-ja.patch $WINEPREFIX/drive_c/electrum-mona/gui/qt
Expand Down
28 changes: 5 additions & 23 deletions contrib/build-wine/build-electrum-git.sh
@@ -1,7 +1,7 @@
#!/bin/bash

NAME_ROOT=electrum-mona
PYTHON_VERSION=3.5.4
PYTHON_VERSION=3.6.6

# These settings probably don't need any change
export WINEPREFIX=/opt/wine64
Expand All @@ -19,23 +19,7 @@ set -e
mkdir -p tmp
cd tmp

if [ -d ./electrum-mona ]; then
rm ./electrum-mona -rf
fi

git clone https://github.com/wakiyamap/electrum-mona -b master

pushd electrum-mona
if [ ! -z "$1" ]; then
# a commit/tag/branch was specified
if ! git cat-file -e "$1" 2> /dev/null
then # can't find target
# try pull requests
git config --local --add remote.origin.fetch '+refs/pull/*/merge:refs/remotes/origin/pr/*'
git fetch --all
fi
git checkout $1
fi
pushd $WINEPREFIX/drive_c/electrum-mona

# Load electrum-icons and electrum-locale for this release
git submodule init
Expand All @@ -59,11 +43,9 @@ popd
find -exec touch -d '2000-11-11T11:11:11+00:00' {} +
popd

rm -rf $WINEPREFIX/drive_c/electrum-mona
cp -r electrum-mona $WINEPREFIX/drive_c/electrum-mona
cp electrum-mona/LICENCE .
cp -r ./electrum-mona/contrib/deterministic-build/electrum-locale/locale $WINEPREFIX/drive_c/electrum-mona/lib/
cp ./electrum-mona/contrib/deterministic-build/electrum-icons/icons_rc.py $WINEPREFIX/drive_c/electrum-mona/gui/qt/
cp $WINEPREFIX/drive_c/electrum-mona/LICENCE .
cp -r $WINEPREFIX/drive_c/electrum-mona/contrib/deterministic-build/electrum-locale/locale $WINEPREFIX/drive_c/electrum-mona/electrum/
cp $WINEPREFIX/drive_c/electrum-mona/contrib/deterministic-build/electrum-icons/icons_rc.py $WINEPREFIX/drive_c/electrum-mona/electrum/gui/qt/

# Install frozen dependencies
$PYTHON -m pip install -r ../../deterministic-build/requirements.txt
Expand Down
6 changes: 1 addition & 5 deletions contrib/build-wine/build.sh
Expand Up @@ -2,10 +2,6 @@
# Lucky number
export PYTHONHASHSEED=22

if [ ! -z "$1" ]; then
to_build="$1"
fi

here=$(dirname "$0")
test -n "$here" -a -d "$here" || exit

Expand All @@ -28,5 +24,5 @@ find -exec touch -d '2000-11-11T11:11:11+00:00' {} +
popd
ls -l /opt/wine64/drive_c/python*

$here/build-electrum-git.sh $to_build && \
$here/build-electrum-git.sh && \
echo "Done."

0 comments on commit cdd546c

Please sign in to comment.