From 781cd72de5506fe7ea3423d1b76d8d12322a7fb8 Mon Sep 17 00:00:00 2001 From: Arjan Mossel Date: Thu, 28 Jan 2021 01:00:16 +0100 Subject: [PATCH 1/8] New package: python3-trio-0.18.0 --- srcpkgs/python3-trio/template | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 srcpkgs/python3-trio/template diff --git a/srcpkgs/python3-trio/template b/srcpkgs/python3-trio/template new file mode 100644 index 00000000000..d9a195e6fd3 --- /dev/null +++ b/srcpkgs/python3-trio/template @@ -0,0 +1,21 @@ +# Template file for 'python3-trio' +pkgname=python3-trio +version=0.18.0 +revision=1 +wrksrc="trio-${version}" +build_style=python3-module +hostmakedepends="python3-setuptools" +short_desc="Friendly Python library for async concurrency and I/O" +maintainer="Arjan Mossel " +license="Apache-2.0, MIT" +homepage="https://github.com/python-trio/trio" +distfiles="${PYPI_SITE}/t/trio/trio-${version}.tar.gz" +checksum=87a66ae61f27fe500c9024926a9ba482c07e1e0f56380b70a264d19c435ba076 + +do_check() { + : +} + +post_install() { + vlicense LICENSE +} From 73798ed60b314f180286a11ceca0166b72ca71e5 Mon Sep 17 00:00:00 2001 From: Arjan Mossel Date: Thu, 28 Jan 2021 01:01:20 +0100 Subject: [PATCH 2/8] New package: python3-curio-1.4 --- srcpkgs/python3-curio/template | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 srcpkgs/python3-curio/template diff --git a/srcpkgs/python3-curio/template b/srcpkgs/python3-curio/template new file mode 100644 index 00000000000..bf8da44e087 --- /dev/null +++ b/srcpkgs/python3-curio/template @@ -0,0 +1,21 @@ +# Template file for 'python3-curio' +pkgname=python3-curio +version=1.4 +revision=1 +wrksrc="curio-${version}" +build_style=python3-module +hostmakedepends="python3-setuptools" +short_desc="Coroutine-based library for concurrent programming using async/await" +maintainer="Arjan Mossel " +license="BSD-3-Clause" +homepage="https://github.com/dabeaz/curio" +distfiles="${PYPI_SITE}/c/curio/curio-${version}.tar.gz" +checksum=57edce81c837f3c2cf42fbb346dee26e537d1659e6605269fb13bd179e068744 + +do_check() { + : +} + +post_install() { + vlicense LICENSE +} From e41a1e227a0efb1e586ee036b2a66b101acd76f7 Mon Sep 17 00:00:00 2001 From: Arjan Mossel Date: Thu, 28 Jan 2021 01:01:37 +0100 Subject: [PATCH 3/8] New package: python3-outcome-1.1.0 --- srcpkgs/python3-outcome/template | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 srcpkgs/python3-outcome/template diff --git a/srcpkgs/python3-outcome/template b/srcpkgs/python3-outcome/template new file mode 100644 index 00000000000..43a3fdf71ad --- /dev/null +++ b/srcpkgs/python3-outcome/template @@ -0,0 +1,21 @@ +# Template file for 'python3-outcome' +pkgname=python3-outcome +version=1.1.0 +revision=1 +wrksrc="outcome-${version}" +build_style=python3-module +hostmakedepends="python3-setuptools" +short_desc="Capture the outcome of Python function calls" +maintainer="Arjan Mossel " +license="Apache-2.0, MIT" +homepage="https://github.com/python-trio/outcome" +distfiles="${PYPI_SITE}/o/outcome/outcome-${version}.tar.gz" +checksum=e862f01d4e626e63e8f92c38d1f8d5546d3f9cce989263c521b2e7990d186967 + +do_check() { + : +} + +post_install() { + vlicense LICENSE +} From 4439c53947dc8f65d85813afbce452108120e476 Mon Sep 17 00:00:00 2001 From: Arjan Mossel Date: Thu, 28 Jan 2021 01:02:03 +0100 Subject: [PATCH 4/8] New package: python3-sniffio-1.2.0 --- srcpkgs/python3-sniffio/template | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 srcpkgs/python3-sniffio/template diff --git a/srcpkgs/python3-sniffio/template b/srcpkgs/python3-sniffio/template new file mode 100644 index 00000000000..1d7876978bc --- /dev/null +++ b/srcpkgs/python3-sniffio/template @@ -0,0 +1,21 @@ +# Template file for 'python3-sniffio' +pkgname=python3-sniffio +version=1.2.0 +revision=1 +wrksrc="sniffio-${version}" +build_style=python3-module +hostmakedepends="python3-setuptools" +short_desc="Sniff out which async library your code is running under" +maintainer="Arjan Mossel " +license="Apache-2.0, MIT" +homepage="https://github.com/python-trio/sniffio" +distfiles="${PYPI_SITE}/s/sniffio/sniffio-${version}.tar.gz" +checksum=c4666eecec1d3f50960c6bdf61ab7bc350648da6c126e3cf6898d8cd4ddcd3de + +do_check() { + : +} + +post_install() { + vlicense LICENSE +} From 402548bf6b86a539ca188b5e62670e4a9db392ae Mon Sep 17 00:00:00 2001 From: Arjan Mossel Date: Thu, 28 Jan 2021 01:02:23 +0100 Subject: [PATCH 5/8] New package: python3-socks-1.2.0 --- srcpkgs/python3-socks/template | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 srcpkgs/python3-socks/template diff --git a/srcpkgs/python3-socks/template b/srcpkgs/python3-socks/template new file mode 100644 index 00000000000..afa0c84fb8c --- /dev/null +++ b/srcpkgs/python3-socks/template @@ -0,0 +1,20 @@ +# Template file for 'python3-socks' +pkgname=python3-socks +version=1.2.0 +revision=1 +wrksrc="python-socks-${version}" +build_style=python3-module +hostmakedepends="python3-setuptools" +checkdepends="python3-async-timeout python3-curio python3-trio python3-attrs + python3-async_generator python3-sniffio python3-sortedcontainers + python3-outcome python3-idna" +# Optional dependencies: +# async-timeout >= 3.0.1 +# trio >= 0.16.0 +# curio >= 1.4 +short_desc="Core proxy client functionality for Python" +maintainer="Arjan Mossel " +license="Apache-2.0" +homepage="https://github.com/romis2012/python-socks" +distfiles="${PYPI_SITE}/p/python-socks/python-socks-${version}.tar.gz" +checksum=3054a8afa984a35144198e00fed1144eeae3287cc231ac7db3908d32ab642cd4 From a9806764454413c9aa53db39059e69f76e497554 Mon Sep 17 00:00:00 2001 From: Arjan Mossel Date: Thu, 28 Jan 2021 01:14:56 +0100 Subject: [PATCH 6/8] python3-aiohttp_socks: update to 0.5.5. --- srcpkgs/python3-aiohttp_socks/template | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/srcpkgs/python3-aiohttp_socks/template b/srcpkgs/python3-aiohttp_socks/template index fa75a54302c..9bf8299b1f1 100644 --- a/srcpkgs/python3-aiohttp_socks/template +++ b/srcpkgs/python3-aiohttp_socks/template @@ -1,15 +1,15 @@ # Template file for 'python3-aiohttp_socks' pkgname=python3-aiohttp_socks -version=0.2.2 -revision=3 +version=0.5.5 +revision=1 wrksrc="aiohttp_socks-${version}" build_style=python3-module -pycompile_module="aiohttp_socks" hostmakedepends="python3-setuptools" -depends="python3-aiohttp" +depends="python3-aiohttp python3-socks>=1.0.1" +checkdepends="python3-aiohttp python3-attrs python3-socks>=1.0.1" short_desc="SOCKS proxy connector for aiohttp" maintainer="Christian Buschau " license="Apache-2.0" homepage="https://github.com/romis2012/aiohttp-socks" distfiles="${PYPI_SITE}/a/aiohttp_socks/aiohttp_socks-${version}.tar.gz" -checksum=eebd8939a7c3c1e3e7e1b2552c60039b4c65ef6b8b2351efcbdd98290538e310 +checksum=2eb2059756bde34c55bb429541cbf2eba3fd53e36ac80875b461221e2858b04a From a3f8e7388cc5062783aaffd277475495116b7a5b Mon Sep 17 00:00:00 2001 From: Arjan Mossel Date: Fri, 29 Jan 2021 17:21:17 +0100 Subject: [PATCH 7/8] New package: python3-bitstring --- srcpkgs/python3-bitstring/template | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 srcpkgs/python3-bitstring/template diff --git a/srcpkgs/python3-bitstring/template b/srcpkgs/python3-bitstring/template new file mode 100644 index 00000000000..3696935078d --- /dev/null +++ b/srcpkgs/python3-bitstring/template @@ -0,0 +1,17 @@ +# Template file for 'python3-bitstring' +pkgname=python3-bitstring +version=3.1.7 +revision=1 +wrksrc="bitstring-${version}" +build_style=python3-module +hostmakedepends="python3-setuptools" +short_desc="Python module for creation and analysis of binary data" +maintainer="Arjan Mossel " +license="MIT" +homepage="https://scott-griffiths.github.io/bitstring/" +distfiles="${PYPI_SITE}/b/bitstring/bitstring-${version}.tar.gz" +checksum=fdf3eb72b229d2864fb507f8f42b1b2c57af7ce5fec035972f9566de440a864a + +post_install() { + vlicense LICENSE +} From 281725adac3f20b83a453ec752cc92fdc55c4d86 Mon Sep 17 00:00:00 2001 From: Arjan Mossel Date: Fri, 29 Jan 2021 17:22:13 +0100 Subject: [PATCH 8/8] electrum: update to 4.0.9. --- srcpkgs/electrum/patches/no-certifi.patch | 71 ++++++++++++----------- srcpkgs/electrum/template | 13 +++-- 2 files changed, 43 insertions(+), 41 deletions(-) diff --git a/srcpkgs/electrum/patches/no-certifi.patch b/srcpkgs/electrum/patches/no-certifi.patch index eb215543b29..102636e3bc2 100644 --- a/srcpkgs/electrum/patches/no-certifi.patch +++ b/srcpkgs/electrum/patches/no-certifi.patch @@ -2,28 +2,31 @@ Upstream: No Reason: Avoid certifi dependency diff --git contrib/requirements/requirements.txt contrib/requirements/requirements.txt -index 1159a0469..9e406b56e 100644 +index b935a68..6e8fd25 100644 --- contrib/requirements/requirements.txt +++ contrib/requirements/requirements.txt -@@ -8,4 +8,3 @@ qdarkstyle<2.7 +@@ -4,7 +4,6 @@ qdarkstyle<2.9 aiorpcx>=0.18,<0.19 - aiohttp>=3.3.0 - aiohttp_socks + aiohttp>=3.3.0,<4.0.0 + aiohttp_socks>=0.3 -certifi + bitstring + attrs>=19.2.0 + diff --git electrum/interface.py electrum/interface.py -index b5eac439c..14bbd7ab9 100644 +index 810727e..4c90e0d 100644 --- electrum/interface.py +++ electrum/interface.py -@@ -40,7 +40,6 @@ from aiorpcx import RPCSession, Notification, NetAddress +@@ -42,7 +42,6 @@ from aiorpcx import RPCSession, Notification, NetAddress, NewlineFramer from aiorpcx.curio import timeout_after, TaskTimeout from aiorpcx.jsonrpc import JSONRPC, CodeMessageError from aiorpcx.rawsocket import RSClient -import certifi - from .util import ignore_exceptions, log_exceptions, bfh, SilentTaskGroup - from . import util -@@ -57,7 +56,7 @@ if TYPE_CHECKING: - from .network import Network + from .util import (ignore_exceptions, log_exceptions, bfh, SilentTaskGroup, MySocksProxy, + is_integer, is_non_negative_integer, is_hash256_str, is_hex_str, +@@ -64,7 +63,7 @@ if TYPE_CHECKING: + from .simple_config import SimpleConfig -ca_path = certifi.where() @@ -32,18 +35,18 @@ index b5eac439c..14bbd7ab9 100644 BUCKET_NAME_OF_ONION_SERVERS = 'onion' diff --git electrum/paymentrequest.py electrum/paymentrequest.py -index fedcd1b3a..cba4879c7 100644 +index 2ce0ff2..17048e0 100644 --- electrum/paymentrequest.py +++ electrum/paymentrequest.py -@@ -29,7 +29,6 @@ import traceback - import json - from typing import Optional +@@ -29,7 +29,6 @@ from typing import Optional, List, TYPE_CHECKING + import asyncio + import urllib.parse -import certifi - import urllib.parse import aiohttp -@@ -54,7 +53,7 @@ _logger = get_logger(__name__) + +@@ -58,7 +57,7 @@ _logger = get_logger(__name__) REQUEST_HEADERS = {'Accept': 'application/bitcoin-paymentrequest', 'User-Agent': 'Electrum'} ACK_HEADERS = {'Content-Type':'application/bitcoin-payment','Accept':'application/bitcoin-paymentack','User-Agent':'Electrum'} @@ -53,18 +56,18 @@ index fedcd1b3a..cba4879c7 100644 ca_keyID = None diff --git electrum/util.py electrum/util.py -index 62df080a9..9c96055ba 100644 +index 404e410..305cd9c 100644 --- electrum/util.py +++ electrum/util.py -@@ -44,7 +44,6 @@ import ssl - import aiohttp - from aiohttp_socks import SocksConnector, SocksVer +@@ -51,7 +51,6 @@ import aiohttp + from aiohttp_socks import ProxyConnector, ProxyType + import aiorpcx from aiorpcx import TaskGroup -import certifi + import dns.resolver from .i18n import _ - from .logging import get_logger, Logger -@@ -62,7 +61,7 @@ def inv_dict(d): +@@ -70,7 +69,7 @@ def inv_dict(d): return {v: k for k, v in d.items()} @@ -74,33 +77,31 @@ index 62df080a9..9c96055ba 100644 base_units = {'BTC':8, 'mBTC':5, 'bits':2, 'sat':0} diff --git electrum/x509.py electrum/x509.py -index c38edc77a..1c4065444 100644 +index 78ae26c..634f7aa 100644 --- electrum/x509.py +++ electrum/x509.py -@@ -343,7 +343,5 @@ def load_certificates(ca_path): - - +@@ -343,5 +343,5 @@ def load_certificates(ca_path): if __name__ == "__main__": -- import certifi -- + import certifi + - ca_path = certifi.where() + ca_path = '/etc/ssl/certs/ca-certificates.crt' ca_list, ca_keyID = load_certificates(ca_path) diff --git run_electrum run_electrum -index 1f5ee2f03..7891c50f0 100755 +index 3caf118..6564784 100755 --- run_electrum +++ run_electrum -@@ -58,7 +58,6 @@ def check_imports(): +@@ -57,7 +57,6 @@ def check_imports(): + # pure-python dependencies need to be imported here for pyinstaller + try: import dns - import pyaes - import ecdsa - import certifi import qrcode import google.protobuf - import jsonrpclib -@@ -72,7 +71,7 @@ def check_imports(): + import aiorpcx +@@ -69,7 +68,7 @@ def check_imports(): + from google.protobuf import reflection from google.protobuf import descriptor_pb2 - from jsonrpclib import SimpleJSONRPCServer # make sure that certificates are here - assert os.path.exists(certifi.where()) + assert os.path.exists('/etc/ssl/certs/ca-certificates.crt') diff --git a/srcpkgs/electrum/template b/srcpkgs/electrum/template index 5c3016675e5..dfbb612f0ff 100644 --- a/srcpkgs/electrum/template +++ b/srcpkgs/electrum/template @@ -1,13 +1,14 @@ # Template file for 'electrum' pkgname=electrum -version=3.3.8 -revision=2 +version=4.0.9 +revision=1 build_style=python3-module pycompile_module="electrum electrum_gui electrum_plugins" -hostmakedepends="python3-PyQt5-devel-tools python3-setuptools" -depends="python3-aiohttp python3-aiohttp_socks python3-aiorpcx>=0.18<0.19 +hostmakedepends="python3-PyQt5-devel-tools python3-setuptools git automake libtool" +depends="python3-aiohttp python3-aiohttp_socks>=0.3 python3-aiorpcx>=0.18<0.19 python3-dnspython python3-ecdsa python3-jsonrpclib python3-protobuf - python3-pyaes python3-pycryptodome python3-PyQt5 python3-qrcode" + python3-pyaes python3-pycryptodome python3-PyQt5 python3-socks>=1.0.1 + python3-qrcode libbitcoin-secp256k1" # Missing optional dependencies: # btchip - BTChip hardware wallet support # trezor - TREZOR hardware wallet support @@ -19,7 +20,7 @@ license="MIT" homepage="https://electrum.org/" # patch doesn't apply for PyPI tarball distfiles="https://github.com/spesmilo/electrum/archive/${version}.tar.gz" -checksum=52addd8c0d08d3cc7cc34015efd67f7396fe30a74ac668b8fb77f6b3b927fd8b +checksum=67e63afe6a9d8944f872500fbf6312a3840f3fa8ebd0c1aadfbba3147d8b3c24 post_install() { sed -i -e 's|electrum %u|electrum|' \