1
0
Commit Graph

895 Commits

Author SHA1 Message Date
SomberNight
d2155833c1 rerun freeze_packages
(new deps for ledger plugin)
2022-11-10 18:53:05 +00:00
SomberNight
9f3a39e9c9 requirements-hw: add comments to tie deps to hwd plugins 2022-11-10 16:03:34 +00:00
SomberNight
9b82eb6d06 ledger: re-add support for HW.1, and add a deprecation warning 2022-11-09 20:42:55 +00:00
Salvatore Ingala
8a3fed9bc9 Remove btchip; use ranged version for ledger_bitcoin 2022-11-08 17:44:07 +01:00
Salvatore Ingala
2d64dc13c9 Modify Ledger plugin to support the new bitcoin app v2.1.0 2022-11-08 17:44:05 +01:00
Sander van Grieken
acde8cd0b7 add apt --allow-downgrades in more places.
build sdist also from debian bullseye container
2022-11-06 10:55:10 +01:00
Sander van Grieken
c0772019f1 rerun freeze_container_distro.sh and update docker base images for debian buster and bullseye 2022-11-06 10:42:39 +01:00
SomberNight
c6a497ed39 android README: (trivial) don't need sudo anymore 2022-11-06 06:05:54 +00:00
SomberNight
bab1c6da86 rerun freeze_packages 2022-11-05 14:41:42 +00:00
SomberNight
590abec339 build requirements: colorama grew a new build-time dependency :/
or more like four:
```
$ pipdeptree
hatchling==1.11.1
  - editables [required: >=0.3, installed: 0.3]
  - packaging [required: >=21.3, installed: 21.3]
    - pyparsing [required: >=2.0.2,!=3.0.5, installed: 3.0.9]
  - pathspec [required: >=0.10.1, installed: 0.10.1]
  - pluggy [required: >=1.0.0, installed: 1.0.0]
  - tomli [required: >=1.2.2, installed: 2.0.1]
```

Let's monitor how the situation evolves, and whether other packages start requiring hatchling,
but for now I am not going to add four new packages into the trusted base set...
Pinning colorama to an older version for now.

related:
https://github.com/tartley/colorama/pull/338
https://github.com/tartley/colorama/issues/349
2022-11-05 14:41:39 +00:00
SomberNight
326f8c4fca freeze_packages: better apply version restrictions on restricted deps
hashin does not react well to package spec collisions:
```
$ touch txt
$ python3 -m hashin -r txt "colorama==0.4.5" colorama
$ cat txt
colorama==0.4.6 \
    --hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \
    --hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6
```

This lets pip resolve the version bounds instead.
2022-11-05 14:41:35 +00:00
SomberNight
1e404f4e30 binaries: update python and openssl
note: python 3.9.x is now in source-only mode, so could not update to latest...
it is time to investigate upgrading to python 3.10 in the win and mac binaries
2022-11-05 14:41:23 +00:00
accumulator
d51ee07a81 use debian makensis instead of windows makensis executable through wine (#8057) 2022-11-04 20:31:01 +00:00
SomberNight
54e22105b8 CI: cache more in Windows build 2022-11-04 15:49:19 +00:00
SomberNight
6f311c8930 appimage build: better caching, both locally and on CI 2022-11-04 15:49:16 +00:00
SomberNight
3b03bc9b29 CI: cache built *.dylib on macOS
note: the extra copies in make_osx.sh are needed because of the CI caching
(pyinstaller needs to see the .dylib's inside electrum/, e.g. when importing electrum during Analysis)
2022-11-04 15:49:12 +00:00
SomberNight
ee8a20f7b6 CI: rename requirements-travis.txt 2022-11-04 00:48:21 +00:00
SomberNight
08eff6faa3 android: mention in README how to install CI apks on phone 2022-11-03 13:28:51 +00:00
SomberNight
01b5e3f8e0 flake8: enable more mandatory tests 2022-10-31 16:13:22 +00:00
SomberNight
98d29cba56 wine build: build win-iconv-mingw-w64-dev, instead of using debian sid
This commit reintroduces b8240bec3e, which was previously reverted
due to making the build non-reproducible.
I have found building with "make -j1" seems to work.
see https://github.com/win-iconv/win-iconv/issues/42

closes https://github.com/spesmilo/electrum/issues/7994
related https://github.com/spesmilo/electrum/pull/7992
2022-10-24 18:08:51 +00:00
Sander van Grieken
49037ecc85 qml: handle bitcoin: and lightning: uri intents 2022-10-18 18:31:59 +02:00
SomberNight
6d01dbcc5c android build: "req..-build-android.txt" to only use source pkgs 2022-10-14 17:59:18 +00:00
SomberNight
a99c8cca1e requirements-build-android: update deps for buildozer
virtualenv does not seem to be needed given python3-venv

upstream ref: https://github.com/kivy/buildozer/pull/1515
2022-10-14 17:59:14 +00:00
SomberNight
bba1bce833 requirements-build-android: update deps for python-for-android
`six` no longer required:
1f62452375

`pep517` version bound was relaxed:
25f3a534d8
2022-10-14 16:51:11 +00:00
SomberNight
c6246a7e1c rerun freeze_packages 2022-10-14 16:22:23 +00:00
SomberNight
5f83538f05 requirements: pin protobuf "<4" also in "req..-hw.txt"
related:
52b73880f9
https://github.com/spesmilo/electrum/issues/7922
2022-10-14 16:18:55 +00:00
SomberNight
328455bc8c freeze_packages: restrict some requirements files to source-only pkgs 2022-10-14 16:18:51 +00:00
SomberNight
0efc8815a4 android build: bump targetSdkVersion from 30 to 31
The google play store will require 31, starting 2022-11 (next month).
A few commits are cherry-picked onto our forks of p4a and buildozer
from upstream, but the forks are not rebased.

Note that the compileSdkVersion is kept at 30,
only the targetSdkVersion is bumped 30->31.

closes https://github.com/spesmilo/electrum/pull/8010

I am trying to upstream some relevant p4a and buildozer changes
in e.g. https://github.com/kivy/python-for-android/pull/2686
2022-10-14 15:56:33 +00:00
SomberNight
1789778673 android build: p4a to build pyqt5 using "hostpython" instead of sys py
The current system python in the docker baseimage is py3.9, while the
targetpython and hostpython built by p4a are py3.8, and this was causing
linker issues in the pyqt5 build.
It is also cleaner IMHO to have p4a handle what is needed for a recipe
instead of assuming it is available in the system. (and I think this is
how other existing recipes work)

fixes https://github.com/spesmilo/electrum/issues/8016
2022-10-14 15:52:33 +00:00
SomberNight
34488478e6 appimage build: build and include libxcb-util1
fixes https://github.com/spesmilo/electrum/issues/8011

> Upgraded from Appimage 4.1.5 to 4.3.2 on MX-Linux 19.
> The new version fails to start with:
>
> ```
> $ electrum
> qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
> This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may > fix this problem.
>
> Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl, xcb.
>
> Aborted (core dumped)
> ```

debian 10 only distributes libxcb-util0.
debian 11 distributes libxcb-util1.
our base image atm is debian 10, so we build the package from source.
2022-10-11 18:24:02 +00:00
SomberNight
656fd1bca1 android readme: expand "Access datadir from desktop" section 2022-10-10 18:56:48 +00:00
ThomasV
dc78ba3c04 android: pass keystore password as argument to make_apk.
export does not work because it runs in a container.

also, check password using keytool
2022-09-28 09:32:01 +02:00
SomberNight
b5900eae98 contrib: reformat most shell scripts
Mostly just indentations.
For consistency, to conform to .editorconfig.
2022-09-27 14:55:22 +00:00
SomberNight
1cecd2c6e8 contrib: rename some shell scripts to have ".sh" extension
The extension gives formatting hints to some editors. (especially if they support .editorconfig)
2022-09-27 13:34:03 +00:00
SomberNight
f174b9164c build scripts: minor formatting clean-up
follow-up f8f77c14a2
2022-09-27 13:25:11 +00:00
ThomasV
ef89a695db fix typo 2022-09-27 14:57:09 +02:00
ThomasV
f8f77c14a2 release.sh: store signing password 2022-09-27 14:48:12 +02:00
ghost43
b73b35705d Merge pull request #7992 from SomberNight/202209_win_iconv
Revert "wine build: build win-iconv-mingw, instead of using debian sid"
2022-09-27 12:47:00 +00:00
SomberNight
042a323602 update locale 2022-09-27 12:42:20 +00:00
SomberNight
52b03e1f78 win build: use of debian unstable snapshots needs check-valid-until=no
see https://snapshot.debian.org/
>  To access snapshots of suites using Valid-Until that are older than a dozen days, it is necessary to ignore the Valid-Until header within Release files, in order to prevent apt from disregarding snapshot entries ("Release file expired"). Use aptitude -o Acquire::Check-Valid-Until=false update or apt-get -o Acquire::Check-Valid-Until=false update for this purpose.

(thanks to Axel Gembe for pointing this out)
2022-09-27 11:56:43 +00:00
SomberNight
846c073ee8 Revert "wine build: build win-iconv-mingw-w64-dev, instead of using debian sid"
This reverts commit b8240bec3e.

Looks like the win-iconv build is not deterministic...
Reverting this for now, will have to debug later.
2022-09-27 11:46:58 +00:00
SomberNight
10a2a846ef build: update pinned protobuf (partial rerun freeze_packages)
closes https://github.com/spesmilo/electrum/pull/7990
2022-09-26 18:21:30 +00:00
SomberNight
77c2d4ec06 mac build: note in README: pyinstaller picks up extraneous brew pkgs
ThomasV had libffi installed via brew, and this side-effected the built electrum dmg.
`('libffi.8.dylib', '/usr/local/opt/libffi/lib/libffi.8.dylib', 'BINARY')`

this was the cause of 019d213325
2022-09-26 17:58:58 +00:00
SomberNight
0abecffe6d mac build: force using source dist for most of our python dependencies
We compile from tar.gz, instead of using pre-built binary wheels from PyPI.
(or if the dep is pure-python, use tar.gz instead of "source-only" wheel)

-----
Some unorganised things below for future reference.

```
$ dsymutil -dump-debug-map dist1/hid.cpython-39-darwin.so
warning: (x86_64) /private/var/folders/1n/zc14m3td0rg4nt0ftklmm7z00000gn/T/pip-install-bm88zvc1/hidapi_cd307bc31ab34252b77d11d6d7212fc5/build/temp.macosx-10.9-x86_64-3.9/hid.o unable to open object file: No such file or directory
warning: (x86_64) /private/var/folders/1n/zc14m3td0rg4nt0ftklmm7z00000gn/T/pip-install-bm88zvc1/hidapi_cd307bc31ab34252b77d11d6d7212fc5/build/temp.macosx-10.9-x86_64-3.9/hidapi/mac/hid.o unable to open object file: No such file or directory
---
triple:          'x86_64-apple-darwin'
binary-path:     'dist1/hid.cpython-39-darwin.so'
...
```

```
$ nm -pa dist1/hid.cpython-39-darwin.so
```

- https://stackoverflow.com/questions/10044697/where-how-does-apples-gcc-store-dwarf-inside-an-executable
- https://github.com/pypa/pip/issues/6505
- https://github.com/pypa/pip/issues/7808#issuecomment-770275723
- https://github.com/NixOS/nixpkgs/pull/91272
- https://github.com/cython/cython/pull/1576
- 9d2ba1611b/Cython/Compiler/ModuleNode.py (L913)
2022-09-26 12:16:02 +00:00
SomberNight
a143d05fb9 mac build: bump pyinstaller (4.2 -> 5.3) 2022-08-29 15:22:47 +00:00
SomberNight
b3e869a5de build win/mac: do not pass custom args to pyinstaller; use envvars
custom args no longer work with pyinstaller 5.0 (see https://github.com/pyinstaller/pyinstaller/issues/6762 )

```
option(s) not allowed:
  ...
makespec options not valid when a .spec file is given
```
2022-08-29 15:22:43 +00:00
SomberNight
2d458d3b06 (trivial) contrib/build-wine: convert line-endings (CRLF -> LF)
otherwise no-op
2022-08-29 15:20:26 +00:00
SomberNight
89e1bbf4ec mac build: add message to camera permission prompt, in Info.plist
based on 0b5b5fb228

Co-authored-by: Calin Culianu <calin.culianu@gmail.com>
2022-08-29 13:46:47 +00:00
SomberNight
e39ab1623a mac build: set minimum system version to 10.13.0 in Info.plist
based on 907e5e7009

This way users get more feedback from the OS when they attempt to launch the app on old macOS.

Co-authored-by: Calin Culianu <calin.culianu@gmail.com>
2022-08-29 13:43:57 +00:00
SomberNight
859d43d0b2 mac build: let pyinstaller handle Info.plist
note: newer versions of pyinstaller (4.4+ ?) want to sign the bundle
themselves, in which case modifying the Info.plist file after
pyinstaller returns invalidates the sig.
2022-08-29 13:35:39 +00:00