1
0
Commit Graph

150 Commits

Author SHA1 Message Date
ThomasV
2390a76d1f update locale 2024-01-18 17:01:31 +01:00
ThomasV
b21fed0142 update locale submodule 2023-12-13 16:35:05 +01:00
SomberNight
a36e7a4d28 build: partial rerun freeze_packages
just update a few key packages

trezorlib update might fix https://github.com/spesmilo/electrum/issues/8722 (untested)
2023-12-12 13:20:13 +00:00
SomberNight
80e330d365 build: update pinned aiohttp-socks (partial rerun freeze_packages)
This should fix an issue when running with python 3.11 (possibly only 3.11.5<= ).

```
 47.45 | I | exchange_rate.CoinGecko | getting fx quotes for EUR
 48.18 | E | exchange_rate.CoinGecko | failed fx quotes: ClientOSError('Cannot write to closing transport')
Traceback (most recent call last):
  File "...\electrum\env11\Lib\site-packages\aiohttp\client.py", line 599, in _request
    resp = await req.send(conn)
           ^^^^^^^^^^^^^^^^^^^^
  File "...\electrum\env11\Lib\site-packages\aiohttp\client_reqrep.py", line 712, in send
    await writer.write_headers(status_line, self.headers)
  File "...\electrum\env11\Lib\site-packages\aiohttp\http_writer.py", line 130, in write_headers
    self._write(buf)
  File "...\electrum\env11\Lib\site-packages\aiohttp\http_writer.py", line 75, in _write
    raise ConnectionResetError("Cannot write to closing transport")
ConnectionResetError: Cannot write to closing transport

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "...\electrum\electrum\exchange_rate.py", line 85, in update_safe
    self._quotes = await self.get_rates(ccy)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "...\electrum\electrum\exchange_rate.py", line 345, in get_rates
    json = await self.get_json('api.coingecko.com', '/api/v3/exchange_rates')
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "...\electrum\electrum\exchange_rate.py", line 69, in get_json
    async with session.get(url) as response:
  File "...\electrum\env11\Lib\site-packages\aiohttp\client.py", line 1187, in __aenter__
    self._resp = await self._coro
                 ^^^^^^^^^^^^^^^^
  File "...\electrum\env11\Lib\site-packages\aiohttp\client.py", line 613, in _request
    raise ClientOSError(*exc.args) from exc
aiohttp.client_exceptions.ClientOSError: Cannot write to closing transport
```

related:
https://github.com/romis2012/aiohttp-socks/issues/27
https://github.com/python/cpython/issues/109321
2023-11-30 19:16:33 +00:00
Sander van Grieken
1ea1a70099 partial-writes: add missing package pins 2023-10-02 14:11:23 +02:00
SomberNight
52817b220d update locale 2023-06-19 16:01:12 +00:00
SomberNight
22919bc15c update locale 2023-05-31 12:50:32 +00:00
ghost43
2f769d4015 Merge pull request #8459 from benma/bitbox02-6.2.0
bitbox02: update to 6.2.0 to fix a bug on macOS 13.3, and ability to display amount in sats on the device
2023-05-30 23:35:52 +00:00
SomberNight
f284b42fa8 build: update pinned bitbox02 (partial rerun freeze_packages) 2023-05-30 23:34:46 +00:00
SomberNight
1b9cb47623 dependencies: rm upper limit for hidapi
Was added in 752b37a03b,
due to upstream issue https://github.com/trezor/cython-hidapi/issues/142,
which should now be fixed in 0.14.0.
2023-05-30 22:51:06 +00:00
SomberNight
5d8dda5170 update locale 2023-05-11 15:11:45 +00:00
SomberNight
3020499199 hww: ledger: bump required ledger-bitcoin and adapt to API change 2023-05-05 15:02:34 +00:00
ThomasV
ce7abd99c1 update locale 2023-05-04 14:01:11 +02:00
SomberNight
2732a82535 build: update pinned pyqt5 (partial rerun freeze_packages)
User at https://bitcointalk.org/index.php?topic=5450976.0 reported getting
a segfault on macos using qt gui, after entering password to open wallet.
Shot in the dark, but let's try updating Qt.
2023-05-04 01:20:00 +00:00
SomberNight
4416f73592 update locale submodule 2023-04-27 11:08:05 +00:00
ThomasV
9b98d762ee update locale submodule 2023-04-18 12:49:05 +02:00
SomberNight
8a394c3e3f update locale 2023-03-30 16:38:19 +00:00
SomberNight
4f66afb8a8 refactor locale scripts
follow-up 000a3de571
2023-01-30 17:35:58 +00:00
SomberNight
8b5aa5c433 manually rerun freeze_packages, restricted to fix known CVEs only 2023-01-25 15:56:50 +00:00
SomberNight
f893a1995a update locale 2023-01-02 15:31:34 +00:00
SomberNight
d2155833c1 rerun freeze_packages
(new deps for ledger plugin)
2022-11-10 18:53:05 +00:00
SomberNight
bab1c6da86 rerun freeze_packages 2022-11-05 14:41:42 +00:00
SomberNight
6d01dbcc5c android build: "req..-build-android.txt" to only use source pkgs 2022-10-14 17:59:18 +00:00
SomberNight
c6246a7e1c rerun freeze_packages 2022-10-14 16:22:23 +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
b5900eae98 contrib: reformat most shell scripts
Mostly just indentations.
For consistency, to conform to .editorconfig.
2022-09-27 14:55:22 +00:00
SomberNight
042a323602 update locale 2022-09-27 12:42:20 +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
ThomasV
3c5465fc5c update locale 2022-08-17 14:52:26 +02:00
ThomasV
4fcc5a580a prepare release 4.3.0: update version.py and locale 2022-08-05 14:05:49 +02:00
SomberNight
752b37a03b dependencies: bundle older hidapi in binaries
closes https://github.com/spesmilo/electrum/issues/7738
2022-08-04 21:47:50 +02:00
ThomasV
3ce42edbab update locale submodule 2022-05-27 12:17:41 +02:00
Jamie C. Driver
15f108aaa5 Add support for the Blockstream Jade hww 2022-05-20 16:03:46 +01:00
SomberNight
3bae7dfd90 mac build: git clone pyinstaller to allow using custom commits
This allows more freedom than using releases from PyPI.
(atm there is no released version that fixes https://github.com/pyinstaller/pyinstaller/pull/6701 )
Also, we now build the pyinstaller bootloader, just like in the windows build:
one fewer binary blob to trust.
2022-04-06 21:01:11 +02:00
Sander van Grieken
184e122c36 rerun freeze_packages 2022-04-04 00:56:08 +02:00
SomberNight
c51655ad61 update locale 2022-03-26 03:38:13 +01:00
SomberNight
98d32f41d5 build: (reproducibility) always uses "pip install" with "--no-build-isolation"
fixes https://github.com/spesmilo/electrum/issues/7737
fixes https://github.com/spesmilo/electrum/issues/7736
related 8559d1eb72
2022-03-26 02:45:47 +01:00
SomberNight
b5951adc29 win build: update pyinstaller (from around 4.2 to around 4.10)
see https://github.com/spesmilo/electrum/pull/7721#issuecomment-1072669548

-----

pyinstaller 4.2 failed (during its runtime) to create exes (worked with cpython 3.9.10, but not with cpython 3.9.11):
```
80572 INFO: Processing module hooks...
80573 INFO: Loading module hook 'hook-certifi.py' from 'C:\\python3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
80618 INFO: Loading module hook 'hook-cryptography.py' from 'C:\\python3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
82879 INFO: Loading module hook 'hook-dns.rdata.py' from 'C:\\python3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
84147 INFO: Loading module hook 'hook-mnemonic.py' from 'C:\\python3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
84207 INFO: Loading module hook 'hook-pycparser.py' from 'C:\\python3\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks'...
84212 INFO: Loading module hook 'hook-usb1.py' from 'C:\\python3\\lib\\site-packages\\usb1\\__pyinstaller'...
84215 INFO: --- libusb1 pyinstaller hook ---
84226 INFO: Added libusb binaries: [('C:\\python3\\lib\\site-packages\\usb1\\libusb-1.0.dll', 'usb1')]
84228 INFO: Loading module hook 'hook-difflib.py' from 'C:\\python3\\lib\\site-packages\\PyInstaller\\hooks'...
84237 INFO: Excluding import of doctest from module difflib
84237 INFO: Loading module hook 'hook-distutils.py' from 'C:\\python3\\lib\\site-packages\\PyInstaller\\hooks'...
Unable to find "C:\python3\Include\pyconfig.h" when adding binary and data files.This would mean your Python installation doesn't
come with proper library files. This usually happens by missing development
package, or unsuitable build parameters of Python installation.
* On Debian/Ubuntu, you would need to install Python development packages
  * apt-get install python3-dev
  * apt-get install python-dev
* If you're building Python by yourself, please rebuild your Python with
`--enable-shared` (or, `--enable-framework` on Darwin)

🗯 ERROR: build-electrum-git failed
```

Looks like this might be fixed in pyinstaller 4.3 (we are using 4.2):
https://github.com/pyinstaller/pyinstaller/pull/5218

-----

While trying to update pyinstaller to have that fix, several issues found with versions 4.3-4.10,
now reported upstream and already fixed:
https://github.com/pyinstaller/pyinstaller/issues/6338
https://github.com/pyinstaller/pyinstaller/issues/6339
https://github.com/pyinstaller/pyinstaller/issues/6686

So the pyinstaller commit pinned here is from the stable "v4" branch, some commits after the 4.10 tag,
which has fixes for the above issues.
2022-03-20 17:28:11 +01:00
ThomasV
d10203f88e update submodule 2022-03-15 15:26:57 +01:00
SomberNight
1c297d6049 android build: add Qt/QML build-time dependencies
related 78b51b3f43 (r826140909)
2022-03-14 21:36:27 +01:00
SomberNight
338637973f frozen deps: update bitbox02 and coldcard libs 2022-03-14 17:32:04 +01:00
ThomasV
d91a4da557 Add Qt5/QML building framework to contrib/android:
- update requirements file for building PyQt5
 - use separate .buildozer directories for qml and Kivy
 - add GUI and ARCH parameters to android/build.sh
2022-03-08 17:21:31 +01:00
SomberNight
b79656e54c rerun freeze_packages 2022-02-17 17:07:06 +01:00
SomberNight
c9c094cfab requirements: bump min aiorpcx to 0.22.0
aiorpcx 0.20 changed the behaviour/API of TaskGroups.
When used as a context manager, TaskGroups no longer propagate
exceptions raised by their tasks. Instead, the calling code has
to explicitly check the results of tasks and decide whether to re-raise
any exceptions.
This is a significant change, and so this commit introduces "OldTaskGroup",
which should behave as the TaskGroup class of old aiorpcx. All existing
usages of TaskGroup are replaced with OldTaskGroup.

closes https://github.com/spesmilo/electrum/issues/7446
2022-02-15 18:22:44 +01:00
SomberNight
a3e1d2e25e follow-up prev
there must be a better way of doing this...
we should somehow automate figuring out the build-time dependencies of requirements.txt
2022-01-22 17:49:20 +01:00
SomberNight
8559d1eb72 build: android reprod: "pip install" needs "--no-build-isolation"
maybe fixes https://github.com/spesmilo/electrum/issues/7640

Looks like by default pip is ignoring the locally available setuptools and wheel,
and downloading the latest ones from the internet at build time...

https://pip.pypa.io/en/stable/reference/build-system/pyproject-toml/?highlight=no-build-isolation#disabling-build-isolation
https://stackoverflow.com/a/62889268

> When making build requirements available, pip does so in an isolated environment. That is, pip does not install those requirements into the user’s site-packages, but rather installs them in a temporary directory which it adds to the user’s sys.path for the duration of the build. This ensures that build requirements are handled independently of the user’s runtime environment. For example, a project that needs a recent version of setuptools to build can still be installed, even if the user has an older version installed (and without silently replacing that version).
>
> In certain cases, projects (or redistributors) may have workflows that explicitly manage the build environment. For such workflows, build isolation can be problematic. If this is the case, pip provides a --no-build-isolation flag to disable build isolation. Users supplying this flag are responsible for ensuring the build environment is managed appropriately (including ensuring that all required build dependencies are installed).

If only it were that easy!
If we add the "--no-build-isolation" flag, it becomes our responsibility to install *all* build time deps,
hence we now have "requirements-build-makepackages.txt".
2022-01-22 14:49:35 +01:00
SomberNight
d9b55ae5c8 build: relax dnspython version bound
The <2.1 pin had been put there as dnspython 2.1 added "poetry" as a build time dep,
which pulled in a significant number of transitive dependencies, and it was also
causing issues with our appimage build.

dnspython 2.2.0 was released since, which no longer needs full poetry, only "poetry-core":
da279dec7e

related https://github.com/spesmilo/electrum/issues/7361
2022-01-20 15:09:08 +01:00
SomberNight
1705c1999a build: rm "dataclasses" from pinned requirements-hw.txt
trezorlib requires "dataclasses ; python_version<'3.7'", and our min supported python version is 3.6,
so freeze_packages.sh pins down a version of "dataclasses". However, when creating binaries we
use newer versions of python (typically py3.9 atm), for which dataclasses is not available (it's a backport of py3.7 stuff).
Hmhm, what to do... short-term, I am manually removing the dataclasses pin, so it won't be installed in our binaries.

```
Collecting construct==2.10.67
  Downloading construct-2.10.67.tar.gz (57 kB)
     |████████████████████████████████| 57 kB 2.7 MB/s
  Preparing metadata (setup.py) ... done
Requirement already satisfied: cryptography==36.0.1 in ./build/appimage/electrum.AppDir/usr/lib/python3.9/site-packages (from -r /opt/electrum/contrib/build-linux/appimage/../../../contrib/deterministic-build/requirements-hw.txt (line 74)) (36.0.1)
ERROR: Could not find a version that satisfies the requirement dataclasses==0.8 (from versions: 0.1, 0.2, 0.3, 0.4, 0.5, 0.6)
ERROR: No matching distribution found for dataclasses==0.8
```
2022-01-20 15:09:04 +01:00
SomberNight
6421ff015d rerun freeze_packages 2022-01-20 14:11:54 +01:00
SomberNight
6a0d7dfd48 rerun freeze_packages 2021-11-02 18:38:13 +01:00