add Electron Cash

This commit is contained in:
Anders Rytter Hansen 2023-11-23 11:15:40 +01:00
commit cb83f0e4c9
6 changed files with 318 additions and 0 deletions

View file

@ -0,0 +1,17 @@
FROM ghcr.io/andersrh/containers/cachyos/base-gui:main
WORKDIR /app
COPY containers/cachyos/electron-cash/electron-cash /app/electron-cash
RUN chown -R build /app
RUN pacman -Sy --noconfirm python-btchip python-hidapi zbar python-matplotlib
USER build
RUN cd electron-cash \
&& makepkg -si --noconfirm \
&& rm -rf /app/*
USER root

View file

@ -0,0 +1,52 @@
pkgbase = electron-cash
pkgdesc = Lightweight Bitcoin Cash wallet
pkgver = 4.3.1
pkgrel = 3
url = http://www.electroncash.org/
arch = any
license = MIT
makedepends = automake
makedepends = autoconf
makedepends = git
makedepends = libtool
makedepends = protobuf
makedepends = python-requests
makedepends = python-setuptools
makedepends = python-tox
depends = hicolor-icon-theme
depends = python
depends = python-dateutil
depends = python-dnspython
depends = python-ecdsa
depends = python-jsonrpclib-pelix
depends = python-pathvalidate>=3.0.0
depends = python-protobuf
depends = python-pyaes
depends = python-pyqt5
depends = python-pysocks
depends = python-qrcode
depends = python-requests
depends = python-six
depends = python-stem
depends = qt5-base
depends = qt5-svg
depends = ttf-bitstream-vera
depends = python-certifi
optdepends = tor: Tor support
optdepends = python-btchip: Ledger hardware wallet support
optdepends = python-hidapi: Digital Bitbox hardware wallet support
optdepends = python-matplotlib: plot transaction history in graphical mode
optdepends = python-pycryptodomex: use PyCryptodome AES implementation instead of pyaes
optdepends = python-qdarkstyle: optional dark theme in graphical mode
optdepends = python-rpyc: send commands to Electrum Python console from an external script
optdepends = python-trezor: Trezor hardware wallet support
optdepends = python-keepkey: Trezor hardware wallet support
optdepends = zbar: QR code reading support
provides = electron-cash
conflicts = electron-cash
source = electron-cash-4.3.1.tar.gz::https://github.com/Electron-Cash/Electron-Cash/archive/4.3.1.tar.gz
source = secp256k1-0.20.9.tar.gz::https://github.com/Bitcoin-ABC/secp256k1/archive/v0.20.9.tar.gz
sha256sums = c85d4c0b641d4c4253ed7590224335d9144261f87e939282d17a5ddcc29f341f
sha256sums = 68e84775e57da77e19ccb6b0dde6ca0882377bdd48ecc6da0047a70201ec64c8
pkgname = electron-cash

View file

@ -0,0 +1,105 @@
# Maintainer: Matthew Tran <0e4ef622@gmail.com>
# Contributor: Marcel O'Neil <marcel at marceloneil dot com>
# Contributor: Andy Weidenbaum <archbaum@gmail.com>
# Contributor: RunningDroid <runningdroid AT zoho.com>
# Contributor: Sebastian Lindqvist <dunpin@gmail.com>
# Contributor: Dan Beste <dan.ray.beste@gmail.com>
pkgname='electron-cash'
pkgdesc='Lightweight Bitcoin Cash wallet'
pkgver=4.3.1
secp256k1ver=0.20.9
pkgrel=3
url='http://www.electroncash.org/'
arch=('any')
license=('MIT')
makedepends=(
'automake'
'autoconf'
'git'
'libtool'
'protobuf'
'python-requests'
'python-setuptools'
'python-tox'
)
depends=(
'hicolor-icon-theme'
'python'
'python-dateutil'
'python-dnspython'
'python-ecdsa'
'python-jsonrpclib-pelix'
'python-pathvalidate>=3.0.0'
'python-protobuf'
'python-pyaes'
'python-pyqt5'
'python-pysocks'
'python-qrcode'
'python-requests'
'python-six'
'python-stem'
'qt5-base'
'qt5-svg'
'ttf-bitstream-vera'
'python-certifi'
)
optdepends=(
'tor: Tor support'
'python-btchip: Ledger hardware wallet support'
'python-hidapi: Digital Bitbox hardware wallet support'
'python-matplotlib: plot transaction history in graphical mode'
'python-pycryptodomex: use PyCryptodome AES implementation instead of pyaes'
'python-qdarkstyle: optional dark theme in graphical mode'
'python-rpyc: send commands to Electrum Python console from an external script'
'python-trezor: Trezor hardware wallet support'
'python-keepkey: Trezor hardware wallet support'
'zbar: QR code reading support'
)
provides=("${pkgname}")
conflicts=("${pkgname}")
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/Electron-Cash/Electron-Cash/archive/${pkgver}.tar.gz"
"secp256k1-${secp256k1ver}.tar.gz::https://github.com/Bitcoin-ABC/secp256k1/archive/v${secp256k1ver}.tar.gz")
sha256sums=('c85d4c0b641d4c4253ed7590224335d9144261f87e939282d17a5ddcc29f341f'
'68e84775e57da77e19ccb6b0dde6ca0882377bdd48ecc6da0047a70201ec64c8')
prepare() {
rmdir "Electron-Cash-${pkgver}/contrib/secp256k1"
ln -s "${PWD}/secp256k1-${secp256k1ver}" "Electron-Cash-${pkgver}/contrib/secp256k1"
sed -i 's/py\.test/pytest/' "Electron-Cash-${pkgver}/tox.ini"
}
build() {
export GIT_SUBMODULE_SKIP=1;
cd "Electron-Cash-${pkgver}"
# python2-pyqt5 and qt5-base are needed for _only_ the icons...
# Compile the icons file for Qt:
pyrcc5 icons.qrc -o electroncash_gui/qt/icons_rc.py
# Compile the protobuf description file:
protoc --proto_path=electroncash/ --python_out=electroncash/ electroncash/paymentrequest.proto
protoc --proto_path=electroncash_plugins/fusion/protobuf/ --python_out=electroncash_plugins/fusion/ electroncash_plugins/fusion/protobuf/fusion.proto
# Create translations (optional):
python contrib/make_locale
# Use libsecp
bash contrib/make_secp
# Build
python setup.py build
}
check() {
cd "Electron-Cash-${pkgver}"
tox -e py311 -- --ignore-glob='*regtest*' --deselect='electroncash/tests/test_transaction.py::TestTransaction::test_tx_unsigned'
}
package() {
cd "Electron-Cash-${pkgver}"
python setup.py install --root="${pkgdir}" --optimize=1
}
# vim: ts=2 sw=2 et: