The "setup" Windows binary we distribute allows users to "install" Electrum
on their system. The distributable is created by NSIS. During
installation a bunch of files will get unpacked in %programfiles(x86)%/Electrum,
including an "inner" exe that will be the entrypoint for the user to start
the application. A shortcut is also created for the inner exe.
With this change, there will now be two inner EXEs. One the same as before,
the other with a "-debug" suffix in its name. The debug exe is built as a
"console" application (as opposed to a "windowed" application), so when
launched via double-click a black console window would appear; and also
importantly stdin/stdout are handled properly for it (unlike for "windowed"
programs). (see #2592)
There will not be a shortcut or similar for the debug exe; it would just
be there as a debugging option we can instruct users to use when needed.
In particular early crashes during startup are hard to debug without
stdout/stderr. (see e.g. #6601)
Traceback (most recent call last):
File "site-packages\PyInstaller\loader\rthooks\pyi_rth_pkgres.py", line 13, in <module>
File "c:\python3\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 623, in exec_module
File "site-packages\pkg_resources\__init__.py", line 86, in <module>
ModuleNotFoundError: No module named 'pkg_resources.py2_warn'
[7048] Failed to execute script pyi_rth_pkgres
so we don't need pyrcc5, which is not deterministic,
and so we don't need the submodule for the icons
based on electrumsv/electrumsv@bf8802c2eaf0bf75565b5423a95bcb85ec7eb781
When bumping pyinstaller to 3.4, binary sizes had increased drastically.
The main reason seems to be that pyinstaller is pulling in "all" of qt.
based on Electron-Cash/Electron-Cash@4b0996959420dfca3d53f178d86205616d8c568b
build-wine/deterministic.spec: add Coldcard plugin and ckcc-protocol dependancy
Require version 0.7.2 of ckcc-protocol (window fixes)
Rework import paths to new standards
Updated icons
New minimum version, for latest PSBT constants
Upgrade to final PSBT (BIP 174) standard encoding
Remove log noise
Show bootloader version number as well
Handle case where libraries are missing better
Remove noise about missing packages, for rest of world
Add reference to ckcc-protocol module/data
Remove dead code
Beef up the README more
Slightly better looking
Add version numbers and upgrade firmware feature
Split out DFU support into own file
First pass at adding Coinkite Coldcard hardware wallet to Electrum