forked from spesmilo/electrum
-
Notifications
You must be signed in to change notification settings - Fork 64
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
123 changed files
with
5,414 additions
and
2,577 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
<!-- Note: This website is for bug reports, not general questions. | ||
Do not post issues about non-bitcoin versions of Electrum. --> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
FROM ubuntu:18.04 | ||
|
||
ENV VERSION 1.0.6 | ||
ENV VERSION 1.0.7 | ||
|
||
RUN set -x \ | ||
&& apt-get update \ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
Building Mac OS binaries | ||
======================== | ||
|
||
This guide explains how to build Electrum binaries for macOS systems. | ||
We build our binaries on El Capitan (10.11.6) as building it on High Sierra | ||
makes the binaries incompatible with older versions. | ||
|
||
This assumes that the Xcode command line tools (and thus git) are already installed. | ||
|
||
|
||
## 1. Run the script | ||
|
||
|
||
|
||
./make_osx | ||
|
||
## 2. Done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
#!/bin/bash | ||
RED='\033[0;31m' | ||
BLUE='\033[0,34m' | ||
NC='\033[0m' # No Color | ||
function info { | ||
printf "\r💬 ${BLUE}INFO:${NC} ${1}\n" | ||
} | ||
function fail { | ||
printf "\r🗯 ${RED}ERROR:${NC} ${1}\n" | ||
exit 1 | ||
} | ||
|
||
build_dir=$(dirname "$0") | ||
test -n "$build_dir" -a -d "$build_dir" || exit | ||
cd $build_dir/../.. | ||
|
||
export PYTHONHASHSEED=22 | ||
VERSION=`git describe --tags` | ||
|
||
# Paramterize | ||
PYTHON_VERSION=3.6.4 | ||
BUILDDIR=/tmp/electrum-build | ||
PACKAGE=Electrum-ZCL | ||
GIT_REPO=https://github.com/z-classic/electrum-zcl | ||
|
||
|
||
info "Installing Python $PYTHON_VERSION" | ||
export PATH="~/.pyenv/bin:~/.pyenv/shims:~/Library/Python/3.6/bin:$PATH" | ||
if [ -d "~/.pyenv" ]; then | ||
pyenv update | ||
else | ||
curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash > /dev/null 2>&1 | ||
fi | ||
PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install -s $PYTHON_VERSION && \ | ||
pyenv global $PYTHON_VERSION || \ | ||
fail "Unable to use Python $PYTHON_VERSION" | ||
|
||
|
||
info "Installing pyinstaller" | ||
python3 -m pip install git+https://github.com/ecdsa/pyinstaller@fix_2952 -I --user || fail "Could not install pyinstaller" | ||
|
||
info "Using these versions for building $PACKAGE:" | ||
sw_vers | ||
python3 --version | ||
echo -n "Pyinstaller " | ||
pyinstaller --version | ||
|
||
rm -rf ./dist | ||
|
||
|
||
rm -rf $BUILDDIR > /dev/null 2>&1 | ||
mkdir $BUILDDIR | ||
|
||
info "Downloading icons and locale..." | ||
for repo in icons locale; do | ||
git clone $GIT_REPO-$repo $BUILDDIR/electrum-$repo | ||
done | ||
|
||
cp -R $BUILDDIR/electrum-locale/locale/ ./lib/locale/ | ||
cp $BUILDDIR/electrum-icons/icons_rc.py ./gui/qt/ | ||
|
||
|
||
info "Downloading libusb..." | ||
curl https://homebrew.bintray.com/bottles/libusb-1.0.21.el_capitan.bottle.tar.gz | \ | ||
tar xz --directory $BUILDDIR | ||
cp $BUILDDIR/libusb/1.0.21/lib/libusb-1.0.dylib contrib/build-osx | ||
|
||
info "Installing requirements..." | ||
python3 -m pip install -Ir ./contrib/deterministic-build/requirements.txt --user && \ | ||
python3 -m pip install -Ir ./contrib/deterministic-build/requirements-binaries.txt --user || \ | ||
fail "Could not install requirements" | ||
|
||
info "Installing hardware wallet requirements..." | ||
python3 -m pip install -Ir ./contrib/deterministic-build/requirements-hw.txt --user || \ | ||
fail "Could not install hardware wallet requirements" | ||
|
||
info "Building $PACKAGE..." | ||
python3 setup.py install --user > /dev/null || fail "Could not build $PACKAGE" | ||
|
||
info "Building binary" | ||
pyinstaller --noconfirm --ascii --name $VERSION contrib/build-osx/osx.spec || fail "Could not build binary" | ||
|
||
info "Creating .DMG" | ||
hdiutil create -fs HFS+ -volname $PACKAGE -srcfolder dist/$PACKAGE.app dist/Electrum-ZCL-$VERSION.dmg || fail "Could not create .DMG" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,99 @@ | ||
# -*- mode: python -*- | ||
|
||
from PyInstaller.utils.hooks import collect_data_files, collect_submodules, collect_dynamic_libs | ||
|
||
import sys | ||
import os | ||
|
||
PACKAGE='Electrum-ZCL' | ||
PYPKG='electrum' | ||
MAIN_SCRIPT='electrum' | ||
ICONS_FILE='electrum.icns' | ||
|
||
for i, x in enumerate(sys.argv): | ||
if x == '--name': | ||
VERSION = sys.argv[i+1] | ||
break | ||
else: | ||
raise BaseException('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/currencies.json', PYPKG), | ||
(electrum+'lib/servers.json', PYPKG), | ||
(electrum+'lib/checkpoints.json', PYPKG), | ||
(electrum+'lib/servers_testnet.json', PYPKG), | ||
(electrum+'lib/checkpoints_testnet.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", ".")] | ||
|
||
# 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/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' | ||
} | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.